From 01b5395ba89cbb2ece598bf511d4dcec106acaf0 Mon Sep 17 00:00:00 2001 From: aphrody-dev Date: Fri, 16 Oct 2026 10:08:38 +0200 Subject: [PATCH] style: native bun fmt over imported packages, apps and scripts --- apps/aphrody-app/Cargo.toml | 23 +- apps/aphrody-app/README.md | 23 +- .../examples/shell_e2e/frontend/index.html | 75 +- apps/aphrody-app/tauri.drive.conf.json | 5 +- apps/aphrody-app/ui-dist/app.css | 12675 +- apps/aphrody-app/ui-dist/app.js | 291534 ++++++++++++++- apps/aphrody-app/ui-dist/index.html | 17 +- apps/aphrody-drive/Cargo.toml | 190 +- apps/aphrody-drive/README.md | 1 + .../aphrody-drive/adapters/gmail/adapter.toml | 4 +- .../adapters/macos-contacts/adapter.toml | 9 +- apps/aphrody-drive/apps/cli/Cargo.toml | 34 +- apps/aphrody-drive/core/Cargo.toml | 208 +- apps/aphrody-drive/core/benchmarks/Cargo.toml | 48 +- .../benchmarks/recipes/desktop_complex.yaml | 113 +- .../benchmarks/recipes/desktop_extreme.yaml | 190 +- .../results/shape_large-aggregation-hdd.json | 6 +- .../results/shape_large-aggregation-ssd.json | 2 +- ...hape_large-content_identification-hdd.json | 60 +- ...hape_large-content_identification-ssd.json | 2 +- .../shape_large-indexing_discovery-hdd.json | 6 +- .../shape_large-indexing_discovery-ssd.json | 2 +- .../results/shape_medium-aggregation-hdd.json | 6 +- .../results/shape_medium-aggregation-ssd.json | 2 +- ...ape_medium-content_identification-hdd.json | 6 +- ...ape_medium-content_identification-ssd.json | 2 +- .../shape_medium-indexing_discovery-hdd.json | 6 +- .../shape_medium-indexing_discovery-ssd.json | 2 +- .../results/shape_small-aggregation-hdd.json | 6 +- .../results/shape_small-aggregation-ssd.json | 2 +- ...hape_small-content_identification-hdd.json | 6 +- ...hape_small-content_identification-ssd.json | 2 +- .../shape_small-indexing_discovery-hdd.json | 6 +- .../shape_small-indexing_discovery-ssd.json | 2 +- apps/aphrody-drive/core/device.json | 2 +- apps/aphrody-drive/core/rust-toolchain.toml | 2 +- .../src/filetype/definitions/archives.toml | 2 +- .../core/src/filetype/definitions/audio.toml | 2 +- .../core/src/filetype/definitions/code.toml | 6 +- .../src/filetype/definitions/documents.toml | 14 +- .../core/src/filetype/definitions/images.toml | 2 +- .../src/filetype/definitions/packages.toml | 5 +- .../filetype/definitions/presentations.toml | 12 +- .../filetype/definitions/spreadsheets.toml | 8 +- .../core/src/filetype/definitions/video.toml | 2 +- .../core/src/ops/network/sync_setup/README.md | 62 +- .../core/tests/helpers/README.md | 7 + apps/aphrody-drive/crates/actors/Cargo.toml | 16 +- apps/aphrody-drive/crates/archive/Cargo.toml | 20 +- apps/aphrody-drive/crates/archive/README.md | 12 +- apps/aphrody-drive/crates/crypto/Cargo.toml | 59 +- apps/aphrody-drive/crates/fda/Cargo.toml | 8 +- apps/aphrody-drive/crates/ffmpeg/Cargo.toml | 31 +- .../aphrody-drive/crates/fs-watcher/README.md | 2 - apps/aphrody-drive/crates/images/Cargo.toml | 32 +- .../crates/job-derive/Cargo.toml | 6 +- .../crates/log-analyzer/Cargo.toml | 4 - .../crates/media-metadata/Cargo.toml | 22 +- .../crates/sdk-macros/Cargo.toml | 10 +- .../crates/sdk-macros/MACRO_STATUS.md | 28 +- .../aphrody-drive/crates/sdk/API_REFERENCE.md | 43 +- apps/aphrody-drive/crates/sdk/Cargo.toml | 25 +- apps/aphrody-drive/crates/sdk/README.md | 3 +- .../crates/task-system/Cargo.toml | 51 +- .../crates/task-validator/Cargo.toml | 16 +- apps/aphrody-drive/crates/utils/Cargo.toml | 2 +- apps/aphrody-drive/patches/README.md | 4 +- .../patches/ffmpeg-sys-next/Cargo.toml | 22 +- apps/aphrody-drive/xtask/Cargo.toml | 20 +- .../crystal-universe/age1000-map.js | 75 +- .../crystal-universe/avatar.js | 21 +- .../crystal-universe/engine.js | 47 +- .../crystal-universe/engine.test.js | 62 +- .../aphrody-examples/crystal-universe/game.js | 119 +- .../crystal-universe/index.html | 87 +- .../crystal-universe/lore-catalog.js | 28 +- .../crystal-universe/lore-search.js | 12 +- .../crystal-universe/multiplayer-url.js | 7 +- .../crystal-universe/serve.js | 60 +- .../runtime-rust-extension/README.md | 1 - .../workflows/sync-studio-staging-branch.yml | 7 +- apps/artcraft-web-app/app/index.html | 86 +- .../app/public/jsm/libs/ammo.wasm.js | 17684 +- .../resources/fonts/CarterOneRegular.json | 3286 +- .../app/src/BuildEnvironment.ts | 22 +- .../app/src/Classes/ApiHelpers.ts | 3 +- .../app/src/Classes/ApiManager/ApiManager.ts | 4 +- .../app/src/Classes/ApiManager/EngineApi.ts | 1 - .../app/src/Classes/ApiManager/JobsApi.ts | 2 +- .../src/Classes/ApiManager/MediaFilesApi.ts | 26 +- .../src/Classes/ApiManager/MediaUploadApi.ts | 7 +- .../src/Classes/ApiManager/StudioGen2Api.ts | 1 - .../Classes/ApiManager/UserBookmarksApi.ts | 1 - .../app/src/Classes/ApiManager/UsersApi.ts | 2 +- .../app/src/Helpers/CanvasHelpers.ts | 17 +- .../app/src/api/GetCdnOrigin.ts | 6 +- .../app/src/api/SyncStorytellerApiConfig.ts | 12 +- .../GlobalFileDropHandler.tsx | 36 +- .../experiences/ImageTo3DExperience.tsx | 153 +- .../components/experiences/ImageTo3DStore.ts | 1 - .../DesktopGenerationGallery.tsx | 15 +- .../generation-feed/desktopMediaActions.ts | 39 +- .../useDesktopGenerationFeed.ts | 17 +- .../components/reusable/ConfirmationModal.tsx | 8 +- .../UploadModalMedia/UploadFilesMedia.tsx | 8 +- .../UploadModalMedia/UploadImageMedia.tsx | 8 +- .../UploadImageMediaModal.tsx | 15 +- .../UploadModalMedia/UploadModalMedia.tsx | 15 +- .../reusable/UploadModalMedia/uploadPlane.ts | 7 +- .../src/components/signaled/ErrorDialog.tsx | 22 +- .../components/signaled/TopBar/TaskQueue.tsx | 56 +- .../src/components/signaled/TopBar/TopBar.tsx | 23 +- .../src/components/signaled/TopBar/index.tsx | 2 +- .../signaled/TopBar/taskEnqueueMeta.ts | 6 +- .../app/src/components/signaled/index.ts | 1 - .../app/src/config/appMenu.tsx | 16 +- apps/artcraft-web-app/app/src/configs.ts | 105 +- .../app/src/enums/EIntermediateFile.ts | 4 +- .../app/src/enums/FileTypes.ts | 6 +- .../app/src/flags/DevConsoleFlags.ts | 15 +- .../app/src/hoc/withProtectedRoute.tsx | 4 +- apps/artcraft-web-app/app/src/index.tsx | 4 +- .../app/src/pages/MainApp.tsx | 20 +- .../app/src/pages/PageAngles/Angles.tsx | 52 +- .../app/src/pages/PageAngles/AnglesStore.ts | 16 +- .../app/src/pages/PageApps/AppsIndexPage.tsx | 8 +- .../app/src/pages/PageAudio/CreateAudio.tsx | 30 +- .../src/pages/PageDraw/BaseImageSelector.tsx | 29 +- .../app/src/pages/PageDraw/PageDraw.tsx | 31 +- .../PageImageTo3DObject/ImageTo3DObject.tsx | 1 - .../PageImageTo3DObject/ImageTo3DStore.ts | 39 +- .../src/pages/PageImageTo3DObject/index.ts | 2 - .../PageImageTo3DWorld/ImageTo3DWorldStore.ts | 328 +- .../ImageWatermarkRemover.tsx | 4 +- .../pages/PageImageWatermarkRemover/index.ts | 1 - .../PageMoodboard/desktopMoodboardAdapter.tsx | 4 +- .../PageRemoveBackground/RemoveBackground.tsx | 35 +- .../src/pages/PageRemoveBackground/index.ts | 1 - .../app/src/pages/PageScene/index.tsx | 2 +- .../PageScene/sceneOutputAdapter.spec.ts | 25 +- .../src/pages/PageScene/sceneOutputAdapter.ts | 25 +- .../PageScene/useTauriPageSceneAdapter.tsx | 68 +- .../src/pages/PageStoryboard/Storyboard.tsx | 249 +- .../pages/PageStoryboard/StoryboardStore.ts | 9 +- .../adapters/asset-gallery-adapter.tsx | 12 +- .../adapters/export-sink-adapter.ts | 10 +- .../VideoFrameExtractor.tsx | 99 +- .../pages/PageVideoFrameExtractor/index.ts | 1 - .../VideoWatermarkRemover.tsx | 25 +- .../pages/PageVideoWatermarkRemover/index.ts | 1 - .../app/src/pages/Stores/TabState.spec.ts | 31 +- apps/artcraft-web-app/app/src/root.tsx | 8 +- .../src/signals/authentication/fetchers.ts | 4 +- .../src/signals/authentication/utilities.ts | 4 +- .../app/src/signals/canvasRenderBitmap.tsx | 10 +- .../app/src/signals/toasts.ts | 17 +- apps/artcraft-web-app/app/src/styles/base.css | 8 +- .../app/src/styles/normalize.css | 10 +- apps/artcraft-web-app/env.d.ts | 5 +- .../ApiManager/UserBookmarksApi.test.ts | 1 - apps/artcraft/Cargo.toml | 18 +- apps/artcraft/capabilities/default.json | 6 +- apps/artcraft/tauri-dev-hot-reload.conf.json | 4 +- apps/artcraft/tauri-dev-static.conf.json | 3 +- apps/artcraft/tauri-mac.conf.json | 4 +- apps/artcraft/tauri.conf.json | 4 +- apps/artcraft_native/Cargo.toml | 45 +- apps/artcraft_native/README.md | 78 +- apps/cadcraft-web/Cargo.toml | 6 +- apps/cadcraft-web/index.html | 68 +- .../ai.storyteller.cadcraft.bundle.yml | 2 +- .../linux/flatpak/ai.storyteller.cadcraft.yml | 4 +- .../packaging/macos/dmg/README.md | 12 +- apps/cadcraft-web/packaging/web/README.md | 23 +- apps/deckcraft-web/index.html | 74 +- apps/deckcraft/Cargo.toml | 9 +- .../ai.storyteller.deckcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.deckcraft.yml | 4 +- apps/deckcraft/packaging/macos/dmg/README.md | 12 +- apps/deckcraft/packaging/web/README.md | 25 +- apps/designcraft-web/index.html | 68 +- apps/designcraft/Cargo.toml | 9 +- .../ai.storyteller.designcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.designcraft.yml | 4 +- .../designcraft/packaging/macos/dmg/README.md | 12 +- apps/designcraft/packaging/web/README.md | 23 +- apps/desktop/build.ts | 31 +- apps/desktop/native.ts | 24 +- apps/desktop/server.ts | 76 +- apps/desktop/src-tauri/Cargo.toml | 4 +- apps/desktop/src-tauri/tauri.conf.json | 14 +- apps/desktop/src/app.ts | 91 +- apps/desktop/src/index.html | 49 +- apps/effectcraft-cli/Cargo.toml | 5 +- apps/effectcraft-web/js/host.js | 367 +- apps/effectcraft-web/tests/page.mjs | 19 +- apps/effectcraft-web/tests/smoke.mjs | 149 +- apps/effectcraft-web/tests/workers.mjs | 19 +- apps/effectcraft-web/web/index.html | 306 +- apps/effectcraft-web/web/sw.js | 21 +- apps/effectcraft-web/web/worker.js | 19 +- .../effectcraft/.github/workflows/freebsd.yml | 2 +- apps/effectcraft/Cargo.toml | 9 +- apps/effectcraft/examples/ae-ease-oracle.jsx | 124 +- .../examples/ae-spatial-tangents.jsx | 77 +- apps/effectcraft/examples/check-ae-ease.mjs | 36 +- .../scriptui-panels/Ease Presets.jsx | 226 +- .../ai.storyteller.effectcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.effectcraft.yml | 4 +- .../effectcraft/packaging/macos/dmg/README.md | 10 +- apps/effectcraft/packaging/web/README.md | 29 +- apps/figcraft-server/Cargo.toml | 8 +- apps/figcraft-web/index.html | 83 +- apps/figcraft/.github/actionlint.yaml | 2 +- apps/figcraft/.github/workflows/release.yml | 15 +- apps/figcraft/Cargo.toml | 26 +- .../ai.storyteller.figcraft.bundle.yml | 2 +- .../linux/flatpak/ai.storyteller.figcraft.yml | 4 +- apps/figcraft/packaging/web/README.md | 25 +- .../examples/swatch-grid/figcraft-plugin.json | 41 +- .../examples/tidy-names/figcraft-plugin.json | 15 +- apps/filmcraft-web/Cargo.toml | 90 +- apps/filmcraft-web/tests/import-bins.mjs | 15 +- apps/filmcraft-web/tests/import-collision.mjs | 45 +- apps/filmcraft-web/tests/smoke.mjs | 47 +- apps/filmcraft-web/web/audio-worklet.js | 6 +- apps/filmcraft-web/web/index.html | 279 +- apps/filmcraft/Cargo.toml | 8 +- .../ai.storyteller.filmcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.filmcraft.yml | 4 +- apps/filmcraft/packaging/macos/dmg/README.md | 12 +- apps/filmcraft/packaging/web/README.md | 21 +- apps/gridcraft-web/index.html | 74 +- apps/gridcraft/Cargo.toml | 13 +- .../ai.storyteller.gridcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.gridcraft.yml | 4 +- apps/gridcraft/packaging/macos/dmg/README.md | 12 +- apps/gridcraft/packaging/web/README.md | 15 +- apps/lightcraft-web/index.html | 132 +- apps/lightcraft-web/worker.js | 4 +- apps/lightcraft/.github/workflows/release.yml | 5 +- apps/lightcraft/Cargo.toml | 13 +- .../ai.storyteller.lightcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.lightcraft.yml | 4 +- apps/lightcraft/packaging/macos/dmg/README.md | 10 +- apps/lightcraft/packaging/web/README.md | 35 +- apps/m3-example-tauri/commands/index.html | 98 +- apps/m3-example-tauri/drag/index.html | 52 +- apps/m3-example-tauri/helloworld/index.html | 20 +- .../isolation/isolation-dist/index.js | 6 +- apps/m3-example-tauri/multiwindow/index.html | 56 +- apps/m3-example-tauri/state/index.html | 44 +- apps/m3-example-tauri/streaming/index.html | 14 +- apps/m3-showcase/scripts/browser-contract.ts | 451 +- apps/m3-showcase/scripts/icons.ts | 19 +- apps/m3-showcase/scripts/inventory.ts | 18 +- apps/m3-showcase/scripts/shots.ts | 58 +- apps/m3-showcase/scripts/tauri.ts | 117 +- apps/m3-showcase/src/App.tsx | 6 +- apps/m3-showcase/src/adaptive/dpad.ts | 71 +- apps/m3-showcase/src/adaptive/window.ts | 29 +- apps/m3-showcase/src/api/index.ts | 106 +- apps/m3-showcase/src/components/ui.tsx | 118 +- apps/m3-showcase/src/generated/inventory.json | 33 +- apps/m3-showcase/src/index.html | 10 +- apps/m3-showcase/src/inventory.ts | 3 +- apps/m3-showcase/src/pages/Adaptive.tsx | 182 +- apps/m3-showcase/src/pages/Ai.tsx | 16 +- apps/m3-showcase/src/pages/Brands.tsx | 78 +- apps/m3-showcase/src/pages/Components.tsx | 30 +- apps/m3-showcase/src/pages/Design.tsx | 41 +- apps/m3-showcase/src/pages/Explorer.tsx | 27 +- apps/m3-showcase/src/pages/Forms.tsx | 35 +- apps/m3-showcase/src/pages/Icons.tsx | 28 +- apps/m3-showcase/src/pages/Motion.tsx | 31 +- apps/m3-showcase/src/pages/Next.tsx | 23 +- apps/m3-showcase/src/pages/Overview.tsx | 32 +- apps/m3-showcase/src/pages/Primitives.tsx | 19 +- apps/m3-showcase/src/pages/Reader.tsx | 6 +- apps/m3-showcase/src/pages/System.tsx | 43 +- apps/m3-showcase/src/pages/Theme.tsx | 18 +- apps/m3-showcase/src/router.ts | 11 +- apps/m3-showcase/src/shell/Shell.tsx | 53 +- apps/m3-showcase/src/shell/nav.ts | 40 +- apps/m3-showcase/src/styles.css | 77 +- apps/m3-showcase/test-dom/dpad.test.ts | 26 +- apps/m3-showcase/test/contracts.test.ts | 31 +- apps/m3-showcase/test/host-contract.test.ts | 119 +- apps/m3-showcase/test/runtime-api.test.ts | 76 +- apps/m3-web/test/web.test.ts | 14 +- apps/pdfcraft-web/Cargo.toml | 7 +- apps/pdfcraft-web/index.html | 22 +- .../pdfcraft/.github/pull_request_template.md | 2 +- apps/pdfcraft/Cargo.toml | 16 +- .../ai.storyteller.pdfcraft.bundle.yml | 2 +- .../linux/flatpak/ai.storyteller.pdfcraft.yml | 4 +- apps/pdfcraft/packaging/macos/dmg/README.md | 12 +- apps/pdfcraft/packaging/web/README.md | 23 +- apps/pdfcraft/parity/acrobat-features.toml | 2977 +- apps/pdfcraft/vendor/README.md | 10 +- .../vendor/egui-wgpu/.cargo_vcs_info.json | 2 +- apps/pdfcraft/vendor/egui-wgpu/Cargo.toml | 53 +- .../pdfcraft/vendor/egui-wgpu/Cargo.toml.orig | 8 +- .../hayro-interpret/.cargo_vcs_info.json | 2 +- .../vendor/hayro-interpret/Cargo.toml | 16 +- .../vendor/hayro-interpret/Cargo.toml.orig | 2 +- .../pdfcraft/vendor/hayro-interpret/README.md | 5 + .../vendor/hayro-interpret/assets/README.md | 2 +- apps/pdfcraft/vendor/hayro-jbig2/Cargo.toml | 26 +- .../vendor/hayro-jbig2/Cargo.toml.orig | 8 +- apps/pdfcraft/vendor/hayro-jbig2/README.md | 3 +- apps/pdfcraft/vendor/hayro-syntax/Cargo.toml | 42 +- .../vendor/hayro-syntax/Cargo.toml.orig | 28 +- apps/pdfcraft/vendor/hayro-syntax/README.md | 12 +- .../vendor/hayro/.cargo_vcs_info.json | 2 +- apps/pdfcraft/vendor/hayro/Cargo.toml | 18 +- apps/pdfcraft/vendor/hayro/README.md | 9 +- apps/pdfcraft/vendor/lopdf/CHANGELOG.md | 1104 +- apps/pdfcraft/vendor/lopdf/Cargo.toml | 40 +- apps/pdfcraft/vendor/lopdf/Cargo.toml.orig | 9 +- apps/pdfcraft/vendor/lopdf/README.md | 123 +- .../vendor/winit/.cargo_vcs_info.json | 2 +- apps/pdfcraft/vendor/winit/Cargo.toml | 439 +- apps/pdfcraft/vendor/winit/Cargo.toml.orig | 423 +- apps/pdfcraft/vendor/winit/FEATURES.md | 191 +- apps/pdfcraft/vendor/winit/README.md | 3 +- .../vendor/winit/src/changelog/unreleased.md | 1 - .../src/platform_impl/web/web_sys/worker.js | 18 +- apps/photocraft-web/index.html | 111 +- apps/photocraft/.github/actionlint.yaml | 2 +- apps/photocraft/Cargo.toml | 8 +- .../examples/plugins/invert-rs/README.md | 4 +- .../ai.storyteller.photocraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.photocraft.yml | 4 +- apps/photocraft/packaging/macos/dmg/README.md | 10 +- apps/photocraft/packaging/web/README.md | 32 +- apps/photocraft/perf/baseline.json | 12 +- apps/photocraft/perf/budgets.toml | 52 +- apps/soundcraft-web/Cargo.toml | 14 +- apps/soundcraft-web/index.html | 125 +- apps/soundcraft/.github/workflows/freebsd.yml | 2 +- apps/soundcraft/Cargo.toml | 9 +- .../ai.storyteller.soundcraft.bundle.yml | 4 +- .../flatpak/ai.storyteller.soundcraft.yml | 6 +- apps/soundcraft/packaging/macos/dmg/README.md | 12 +- apps/soundcraft/packaging/web/README.md | 21 +- apps/vectorcraft-web/index.html | 68 +- .../.github/workflows/affinity-corpus.yml | 18 +- .../vectorcraft/.github/workflows/release.yml | 5 +- apps/vectorcraft/Cargo.toml | 6 +- .../ai.storyteller.vectorcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.vectorcraft.yml | 4 +- .../vectorcraft/packaging/macos/dmg/README.md | 12 +- apps/vectorcraft/packaging/web/README.md | 23 +- .../vectorcraft/vendor/windows-link/readme.md | 6 +- apps/wordcraft-web/index.html | 74 +- apps/wordcraft/.github/workflows/printing.yml | 22 +- apps/wordcraft/Cargo.toml | 9 +- .../ai.storyteller.wordcraft.bundle.yml | 2 +- .../flatpak/ai.storyteller.wordcraft.yml | 4 +- apps/wordcraft/packaging/macos/dmg/README.md | 12 +- apps/wordcraft/packaging/web/README.md | 21 +- packages/a2a/README.md | 15 +- packages/a2a/scripts/generate-types.ts | 19 +- packages/a2a/scripts/proto-to-ts.ts | 116 +- packages/a2a/src/card.ts | 99 +- packages/a2a/src/client.ts | 119 +- packages/a2a/src/errors.ts | 48 +- packages/a2a/src/generated/a2a.ts | 12 +- packages/a2a/src/helpers.ts | 35 +- packages/a2a/src/http.ts | 32 +- packages/a2a/src/index.ts | 7 +- packages/a2a/src/legacy.ts | 270 +- packages/a2a/src/protocol.ts | 7 +- packages/a2a/src/sse.ts | 13 +- packages/a2a/src/transport.ts | 152 +- packages/a2a/test/client.test.ts | 567 +- packages/a2a/test/fake-agent.ts | 268 +- packages/a2a/test/generated.test.ts | 75 +- packages/a2a/test/legacy.test.ts | 329 +- packages/a2a/test/rust-server.test.ts | 204 +- packages/a2a/test/sse.test.ts | 26 +- packages/admin-ui/README.md | 1 + .../admin-ui/src/app/admin/a2a/A2AViewer.tsx | 81 +- .../admin-ui/src/app/admin/a2a/a2a-view.ts | 61 +- packages/admin-ui/src/app/admin/a2a/page.tsx | 8 +- .../admin-ui/src/app/admin/account/page.tsx | 110 +- .../admin-ui/src/app/admin/activite/page.tsx | 155 +- .../src/app/admin/agents/AgentKeysManager.tsx | 52 +- .../app/admin/agents/AgentsLoadFailure.tsx | 11 +- .../admin-ui/src/app/admin/agents/_actions.ts | 36 +- .../src/app/admin/agents/agents-load.ts | 9 +- .../admin-ui/src/app/admin/agents/page.tsx | 28 +- .../src/app/admin/api-docs/StaffRoutes.tsx | 38 +- .../admin-ui/src/app/admin/api-docs/page.tsx | 111 +- .../src/app/admin/audit-internal/page.tsx | 42 +- .../admin-ui/src/app/admin/audit/page.tsx | 50 +- .../src/app/admin/banners/BannersEditor.tsx | 78 +- .../admin-ui/src/app/admin/banners/page.tsx | 4 +- .../admin-ui/src/app/admin/bot/[id]/page.tsx | 25 +- packages/admin-ui/src/app/admin/bot/page.tsx | 57 +- .../src/app/admin/campagnes-bxc/page.tsx | 92 +- .../src/app/admin/canon/CanonEditor.tsx | 392 +- .../admin-ui/src/app/admin/canvas/page.tsx | 169 +- .../app/admin/canvas/themes/ThemeForms.tsx | 135 +- .../src/app/admin/canvas/themes/page.tsx | 31 +- .../admin/chronologie/ChronologyEditor.tsx | 210 +- .../src/app/admin/commandes/CommandRunner.tsx | 89 +- .../admin-ui/src/app/admin/commandes/page.tsx | 10 +- .../admin-ui/src/app/admin/commands/page.tsx | 70 +- .../admin-ui/src/app/admin/concours/page.tsx | 65 +- .../src/app/admin/console/BotConsole.tsx | 53 +- packages/admin-ui/src/app/admin/cron/page.tsx | 46 +- .../admin-ui/src/app/admin/dashboard/page.tsx | 156 +- .../src/app/admin/database/[table]/page.tsx | 156 +- .../admin-ui/src/app/admin/database/page.tsx | 127 +- .../src/app/admin/databooks/[id]/page.tsx | 26 +- .../admin-ui/src/app/admin/databooks/page.tsx | 5 +- .../src/app/admin/db-universe/_Header.tsx | 8 +- .../src/app/admin/db-universe/_lib.ts | 3 +- .../src/app/admin/db-universe/assets/page.tsx | 68 +- .../app/admin/db-universe/databooks/page.tsx | 59 +- .../app/admin/db-universe/episodes/page.tsx | 34 +- .../src/app/admin/db-universe/films/page.tsx | 29 +- .../src/app/admin/db-universe/games/page.tsx | 33 +- .../src/app/admin/db-universe/sagas/page.tsx | 32 +- .../app/admin/db-universe/sources/page.tsx | 22 +- .../app/admin/design/DesignEditor.module.css | 13 +- .../src/app/admin/design/DesignEditor.tsx | 129 +- .../admin-ui/src/app/admin/discord/page.tsx | 70 +- .../admin-ui/src/app/admin/economy/page.tsx | 116 +- .../src/app/admin/events/events-stream.tsx | 19 +- .../admin-ui/src/app/admin/events/page.tsx | 11 +- .../admin-ui/src/app/admin/giveaways/page.tsx | 86 +- .../admin-ui/src/app/admin/hierarchy/page.tsx | 37 +- .../src/app/admin/home/HomeEditor.tsx | 279 +- .../src/app/admin/home/home-config-client.ts | 5 +- packages/admin-ui/src/app/admin/ia/error.tsx | 5 +- packages/admin-ui/src/app/admin/ia/page.tsx | 3 +- .../src/app/admin/lancement/LaunchManager.tsx | 60 +- .../admin-ui/src/app/admin/lancement/page.tsx | 10 +- packages/admin-ui/src/app/admin/layout.tsx | 6 +- .../src/app/admin/leaderboards/page.tsx | 54 +- .../admin-ui/src/app/admin/levels/page.tsx | 327 +- .../src/app/admin/live/LiveEventsStream.tsx | 17 +- packages/admin-ui/src/app/admin/live/page.tsx | 14 +- packages/admin-ui/src/app/admin/logs/page.tsx | 24 +- .../admin-ui/src/app/admin/messages/page.tsx | 119 +- .../commentaires/ModerationQueue.tsx | 13 +- .../admin/moderation/commentaires/_actions.ts | 12 +- .../admin/moderation/commentaires/page.tsx | 32 +- .../src/app/admin/moderation/page.tsx | 121 +- .../src/app/admin/posts/ArticleEditor.tsx | 121 +- .../src/app/admin/posts/[id]/page.tsx | 10 +- .../admin-ui/src/app/admin/posts/page.tsx | 42 +- .../admin-ui/src/app/admin/profile/page.tsx | 80 +- .../src/app/admin/send/SendDiscordForm.tsx | 56 +- packages/admin-ui/src/app/admin/send/page.tsx | 10 +- .../admin-ui/src/app/admin/services/page.tsx | 47 +- .../admin-ui/src/app/admin/settings/page.tsx | 190 +- packages/admin-ui/src/app/admin/shop/page.tsx | 195 +- .../src/app/admin/signalements/page.tsx | 52 +- .../admin-ui/src/app/admin/stats/page.tsx | 18 +- packages/admin-ui/src/app/admin/sync/page.tsx | 82 +- .../app/admin/tickets/TicketAccessPanel.tsx | 52 +- .../admin-ui/src/app/admin/tickets/page.tsx | 113 +- .../src/app/admin/tierlists/[id]/page.tsx | 6 +- .../src/app/admin/tierlists/_actions.ts | 14 +- .../src/app/admin/tierlists/new/page.tsx | 28 +- .../admin-ui/src/app/admin/tierlists/page.tsx | 51 +- .../admin-ui/src/app/admin/triggers/page.tsx | 84 +- .../admin-ui/src/app/admin/ursaf/page.tsx | 136 +- .../admin/visibilite/VisibilityManager.tsx | 47 +- .../src/app/admin/visibilite/page.tsx | 9 +- .../admin-ui/src/app/admin/webhooks/page.tsx | 107 +- .../src/app/admin/wiki/WikiManager.tsx | 83 +- .../admin-ui/src/app/admin/wiki/_actions.ts | 8 +- .../src/app/admin/wiki/category/[id]/page.tsx | 10 +- .../src/app/admin/wiki/category/new/page.tsx | 4 +- .../src/app/admin/wiki/contributions/page.tsx | 43 +- .../src/app/admin/wiki/history/page.tsx | 5 +- .../src/app/admin/wiki/page/[id]/page.tsx | 10 +- .../src/app/admin/wiki/page/new/page.tsx | 4 +- .../admin-ui/src/app/admin/wiki/todo/page.tsx | 94 +- packages/admin-ui/src/client.ts | 9 +- .../src/components/admin/AdminSidebar.tsx | 6 +- .../src/components/admin/BotSelector.tsx | 9 +- .../src/components/admin/ChannelSelect.tsx | 4 +- .../components/admin/CharacterStatsPanel.tsx | 26 +- .../admin/ContributionRightsPanel.tsx | 45 +- .../components/admin/DatabookAdminList.tsx | 58 +- .../components/admin/DatabookPagesPanel.tsx | 84 +- .../admin/DatabooksCatalogManager.tsx | 82 +- .../admin-ui/src/components/admin/DbCrud.tsx | 53 +- .../src/components/admin/GalerieMedias.tsx | 64 +- .../src/components/admin/GameMediaPanel.tsx | 61 +- .../src/components/admin/ImageField.tsx | 45 +- .../src/components/admin/MarkdownField.tsx | 4 +- .../src/components/admin/NativeAiPanel.tsx | 25 +- .../src/components/admin/RelationsPanel.tsx | 54 +- .../src/components/admin/RolePicker.tsx | 4 +- .../src/components/admin/RoleSelect.tsx | 15 +- .../src/components/admin/SmartField.tsx | 43 +- .../admin/TranscriptionRelecteur.tsx | 130 +- .../admin/TranscriptionsDashboard.tsx | 239 +- .../components/admin/TransformationsPanel.tsx | 38 +- .../src/components/admin/UnifiedIaCockpit.tsx | 430 +- .../src/components/admin/UserSelect.tsx | 32 +- .../src/components/admin/WikiAiAssistant.tsx | 42 +- .../components/admin/WikiEntityPreview.tsx | 29 +- .../src/components/admin/WikiHistory.tsx | 51 +- .../components/admin/WikiSectionsPanel.tsx | 150 +- .../src/components/admin/WikiStudio.tsx | 106 +- .../src/components/admin/ia-cockpit-view.ts | 42 +- packages/ag-ui/README.md | 6 +- packages/ag-ui/fixtures/null-omission.json | 220 +- packages/ag-ui/src/index.ts | 6 +- packages/ag-ui/test/registry-contract.test.ts | 9 +- packages/ag-ui/tsconfig.json | 11 +- packages/aphrody-bun/AGENT.md | 10 +- packages/aphrody-bun/benchmark-sass.ts | 21 +- packages/aphrody-bun/bindings/M3CssRequest.ts | 41 +- .../aphrody-bun/scripts/generate-symbols.ts | 5 +- packages/aphrody-bun/src/agent.ts | 32 +- packages/aphrody-bun/src/icons.ts | 16 +- packages/aphrody-bun/src/index.ts | 27 +- packages/aphrody-bun/src/inference.ts | 47 +- packages/aphrody-bun/src/n2b.ts | 5 +- packages/aphrody-bun/src/native-artifact.ts | 64 +- .../aphrody-bun/src/native-installation.ts | 20 +- packages/aphrody-bun/src/native-response.ts | 5 +- packages/aphrody-bun/src/oxc.ts | 6 +- packages/aphrody-bun/src/pc-agent.ts | 17 +- packages/aphrody-bun/src/pipeline.ts | 39 +- packages/aphrody-bun/src/render.ts | 22 +- packages/aphrody-bun/src/reproduce.ts | 14 +- packages/aphrody-bun/src/scene-types.ts | 78 +- packages/aphrody-bun/src/svg.ts | 12 +- packages/aphrody-bun/src/zerocopy.ts | 32 +- packages/aphrody-bun/test-cli-only.ts | 5 +- packages/aphrody-bun/test-ffi.ts | 52 +- packages/aphrody-bun/test-library.test.ts | 9 +- .../aphrody-bun/test-native-artifact.test.ts | 50 +- .../test-native-installation.test.ts | 218 +- packages/aphrody-bun/test-native.test.ts | 213 +- packages/aphrody-bun/test-pipeline.test.ts | 258 +- packages/aphrody-bun/test/agent.test.ts | 16 +- packages/aphrody-bun/test/export-crates.ts | 15 +- packages/aphrody-bun/test/ffi-drift.test.ts | 38 +- .../aphrody-bun/test/header-drift.test.ts | 29 +- packages/aphrody-bun/test/http.test.ts | 50 +- .../test/inference-artifact.test.ts | 6 +- .../test/inference.integration.test.ts | 25 +- packages/aphrody-bun/test/media.test.ts | 10 +- packages/aphrody-bun/test/x.test.ts | 53 +- packages/aphrody-bun/test/zerocopy.test.ts | 110 +- packages/app-ui/DESIGNPLAN.md | 1 + packages/app-ui/README.md | 14 +- packages/app-ui/TODO.md | 4 +- packages/app-ui/backend.ts | 5 +- packages/app-ui/build.ts | 100 +- packages/app-ui/public-assets-package.ts | 9 +- packages/app-ui/scripts/brand-theme.ts | 6 +- .../app-ui/scripts/material-label-icons.ts | 87 +- .../showcase/scripts/browser-contract.ts | 451 +- packages/app-ui/showcase/scripts/inventory.ts | 18 +- packages/app-ui/showcase/scripts/shots.ts | 58 +- packages/app-ui/showcase/scripts/tauri.ts | 25 +- packages/app-ui/showcase/src/App.tsx | 6 +- packages/app-ui/showcase/src/api/index.ts | 61 +- packages/app-ui/showcase/src/index.html | 10 +- packages/app-ui/showcase/src/router.ts | 11 +- packages/app-ui/showcase/src/shell/Shell.tsx | 53 +- packages/app-ui/showcase/src/styles.css | 3 +- .../app-ui/showcase/test-dom/dpad.test.ts | 32 +- packages/app-ui/showcase/test/build.test.ts | 8 +- .../app-ui/showcase/test/contracts.test.ts | 36 +- .../showcase/test/host-contract.test.ts | 48 +- .../app-ui/showcase/test/runtime-api.test.ts | 76 +- packages/app-ui/src/CommandPalette.tsx | 67 +- .../src/Settings/pages/AboutSettings.tsx | 28 +- .../src/Settings/pages/AdvancedSettings.tsx | 49 +- .../pages/AgentSettings.behavior.test.ts | 344 +- .../src/Settings/pages/AgentSettings.tsx | 66 +- .../src/Settings/pages/AppearanceSettings.tsx | 57 +- .../pages/GeneralSettings.behavior.test.ts | 47 +- .../src/Settings/pages/GeneralSettings.tsx | 79 +- .../src/Settings/pages/IndexerSettings.tsx | 82 +- .../src/Settings/pages/KeyboardSettings.tsx | 97 +- .../src/Settings/pages/LibrarySettings.tsx | 66 +- .../src/Settings/pages/ModelsSettings.tsx | 24 +- .../src/Settings/pages/PrivacySettings.tsx | 27 +- .../src/Settings/pages/ServicesSettings.tsx | 55 +- .../src/Settings/pages/SettingsLayout.tsx | 245 +- packages/app-ui/src/Settings/pages/index.ts | 22 +- packages/app-ui/src/Shell.tsx | 108 +- packages/app-ui/src/ShellLayout.tsx | 57 +- packages/app-ui/src/TopBar/Context.tsx | 360 +- packages/app-ui/src/TopBar/Item.tsx | 79 +- packages/app-ui/src/TopBar/OverflowMenu.tsx | 98 +- packages/app-ui/src/TopBar/Portal.tsx | 44 +- packages/app-ui/src/TopBar/Section.tsx | 131 +- packages/app-ui/src/TopBar/TopBar.tsx | 240 +- packages/app-ui/src/TopBar/index.ts | 2 +- .../src/TopBar/useOverflowCalculation.ts | 46 +- packages/app-ui/src/app-parity.test.ts | 16 +- packages/app-ui/src/app.css | 57 +- .../app-ui/src/appearance.behavior.test.tsx | 42 +- packages/app-ui/src/backend-contract.test.ts | 30 +- packages/app-ui/src/backend-inventory.ts | 6 +- packages/app-ui/src/brand-theme.test.ts | 76 +- packages/app-ui/src/brand-theme.ts | 53 +- packages/app-ui/src/brand-tokens.ts | 7 +- packages/app-ui/src/brand.css | 387 +- .../app-ui/src/browser-session-stream.test.ts | 13 +- .../app-ui/src/codex-chat.behavior.test.ts | 209 +- packages/app-ui/src/codex-chat.test.ts | 75 +- packages/app-ui/src/codex-ui.test.ts | 3 +- .../src/command-actions.behavior.test.tsx | 87 +- .../app-ui/src/components/DndProvider.tsx | 803 +- .../app-ui/src/components/ErrorBoundary.tsx | 111 +- .../src/components/Inspector/Inspector.tsx | 374 +- .../src/components/Inspector/LocationMap.tsx | 732 +- .../Inspector/primitives/Divider.tsx | 4 +- .../Inspector/primitives/InfoRow.tsx | 4 +- .../Inspector/primitives/Section.tsx | 3 +- .../Inspector/primitives/TabContent.tsx | 10 +- .../components/Inspector/primitives/Tabs.tsx | 16 +- .../components/Inspector/primitives/Tag.tsx | 14 +- .../Inspector/primitives/Thumbnail.tsx | 21 +- .../components/Inspector/primitives/index.ts | 2 +- .../Inspector/variants/FileInspector.tsx | 294 +- .../Inspector/variants/KnowledgeInspector.tsx | 68 +- .../Inspector/variants/LocationInspector.tsx | 127 +- .../Inspector/variants/MultiFileInspector.tsx | 35 +- .../components/Inspector/variants/README.md | 1 + .../components/Inspector/variants/index.ts | 2 +- .../JobManager/JobManagerPopover.tsx | 35 +- .../JobManager/JobsScreen/JobRow.tsx | 29 +- .../JobManager/JobsScreen/index.tsx | 23 +- .../JobManager/components/CopyJobDetails.tsx | 42 +- .../JobManager/components/JobCard.tsx | 31 +- .../JobManager/components/JobList.tsx | 26 +- .../JobManager/components/JobProgressBar.tsx | 13 +- .../components/JobStatusIndicator.tsx | 29 +- .../JobManager/components/SpeedGraph.tsx | 168 +- .../JobManager/hooks/JobsContext.tsx | 44 +- .../JobManager/hooks/useJobCount.ts | 101 +- .../JobManager/hooks/useJobsDesktop.ts | 348 +- .../JobManager/renderers/FileCopyRenderer.tsx | 382 +- .../JobManager/renderers/GenericRenderer.tsx | 283 +- .../components/JobManager/renderers/index.tsx | 52 +- .../app-ui/src/components/JobManager/types.ts | 48 +- packages/app-ui/src/components/Orb.tsx | 255 +- .../components/QuickPreview/AudioPlayer.tsx | 61 +- .../QuickPreview/ContentRenderer.tsx | 1133 +- .../components/QuickPreview/Controller.tsx | 87 +- .../QuickPreview/DirectoryPreview.tsx | 156 +- .../components/QuickPreview/MeshViewer.tsx | 176 +- .../components/QuickPreview/QuickPreview.tsx | 268 +- .../QuickPreview/QuickPreviewFullscreen.tsx | 77 +- .../QuickPreview/QuickPreviewModal.tsx | 304 +- .../QuickPreview/QuickPreviewOverlay.tsx | 266 +- .../QuickPreview/SplatShimmerEffect.tsx | 158 +- .../QuickPreview/SubtitleSettingsMenu.tsx | 240 +- .../src/components/QuickPreview/Subtitles.tsx | 235 +- .../src/components/QuickPreview/Syncer.tsx | 28 +- .../components/QuickPreview/TextViewer.tsx | 262 +- .../QuickPreview/TimelineScrubber.tsx | 10 +- .../components/QuickPreview/VideoControls.tsx | 486 +- .../components/QuickPreview/VideoPlayer.tsx | 612 +- .../src/components/QuickPreview/index.ts | 19 +- .../QuickPreview/mesh-orbit-controls.test.ts | 4 +- .../src/components/QuickPreview/one-dark.scss | 235 +- .../components/QuickPreview/one-light.scss | 219 +- .../src/components/QuickPreview/prism-lazy.ts | 11 +- .../components/QuickPreview/prism-manual.ts | 2 - .../src/components/QuickPreview/prism.tsx | 81 +- .../src/components/QuickPreview/useZoomPan.ts | 265 +- .../src/components/Sources/SourceCard.tsx | 104 +- .../src/components/Sources/SourceDataRow.tsx | 89 +- .../src/components/Sources/SourcePathBar.tsx | 49 +- .../components/Sources/SourceStatusBadge.tsx | 30 +- .../src/components/Sources/SourceTypeIcon.tsx | 64 +- .../SpacesSidebar/AddGroupButton.tsx | 20 +- .../SpacesSidebar/AddGroupModal.tsx | 121 +- .../SpacesSidebar/CreateSpaceModal.tsx | 193 +- .../components/SpacesSidebar/DevicesGroup.tsx | 275 +- .../components/SpacesSidebar/GroupHeader.tsx | 12 +- .../components/SpacesSidebar/SourcesGroup.tsx | 126 +- .../SpacesSidebar/SpaceCustomizationPanel.tsx | 31 +- .../components/SpacesSidebar/SpaceGroup.tsx | 303 +- .../components/SpacesSidebar/SpaceItem.tsx | 504 +- .../SpacesSidebar/SpaceSwitcher.tsx | 6 +- .../components/SpacesSidebar/TagsGroup.tsx | 440 +- .../components/SpacesSidebar/VolumesGroup.tsx | 208 +- .../src/components/SpacesSidebar/dnd.ts | 7 +- .../components/SpacesSidebar/hooks/index.ts | 40 +- .../SpacesSidebar/hooks/spaceItemUtils.ts | 365 +- .../SpacesSidebar/hooks/useSpaceItemActive.ts | 148 +- .../hooks/useSpaceItemContextMenu.ts | 214 +- .../hooks/useSpaceItemDropZones.ts | 152 +- .../SpacesSidebar/hooks/useSpaces.ts | 19 +- .../hooks/useVolumeContextMenu.ts | 222 +- .../src/components/SpacesSidebar/index.tsx | 168 +- .../SyncMonitor/SyncMonitorPopover.tsx | 28 +- .../SyncMonitor/components/ActivityFeed.tsx | 12 +- .../SyncMonitor/components/PeerList.tsx | 17 +- .../SyncMonitor/hooks/useSyncCount.ts | 4 +- .../SyncMonitor/hooks/useSyncMonitor.ts | 329 +- .../src/components/SyncMonitor/index.ts | 8 +- .../src/components/SyncMonitor/types.ts | 28 +- .../src/components/SyncMonitor/utils.ts | 28 +- .../src/components/TabManager/TabBar.tsx | 20 +- .../components/TabManager/TabDefaultsSync.tsx | 46 +- .../TabManager/TabKeyboardHandler.tsx | 77 +- .../TabManager/TabManagerContext.tsx | 99 +- .../TabManager/TabNavigationSync.tsx | 5 +- .../src/components/TabManager/TabView.tsx | 20 +- .../app-ui/src/components/TabManager/index.ts | 8 +- .../components/TabManager/route-title.test.ts | 16 +- .../src/components/TabManager/route-title.ts | 15 +- .../tab-navigation.behavior.test.tsx | 28 +- .../components/TabManager/useTabManager.ts | 12 +- .../app-ui/src/components/Tags/TagDot.tsx | 34 +- .../src/components/Tags/TagSelector.tsx | 38 +- packages/app-ui/src/components/Tags/index.tsx | 6 +- .../app-ui/src/components/WrappedPopover.tsx | 69 +- packages/app-ui/src/components/index.ts | 2 +- .../components/modals/CreateLibraryModal.tsx | 70 +- .../modals/FileOperationModal.README.md | 1 + .../components/modals/FileOperationModal.tsx | 747 +- .../src/components/modals/PairingModal.tsx | 121 +- .../src/components/modals/SyncSetupModal.tsx | 110 +- .../overlays/DaemonDisconnectedOverlay.tsx | 78 +- .../overlays/DaemonStartupOverlay.tsx | 171 +- .../app-ui/src/contexts/PlatformContext.tsx | 308 +- .../app-ui/src/contexts/ServerContext.tsx | 11 +- .../app-ui/src/contexts/SpacedriveContext.tsx | 24 +- packages/app-ui/src/desktop-surfaces.tsx | 47 +- packages/app-ui/src/framework-utils.d.ts | 7 +- packages/app-ui/src/gemini-layout.test.ts | 63 +- packages/app-ui/src/generated/bun-catalog.ts | 8 +- packages/app-ui/src/history-panel.tsx | 38 +- packages/app-ui/src/history.test.ts | 101 +- packages/app-ui/src/history.ts | 48 +- packages/app-ui/src/hooks/useAdapterIcons.ts | 24 +- packages/app-ui/src/hooks/useAudioRecorder.ts | 339 +- packages/app-ui/src/hooks/useClipboard.ts | 108 +- packages/app-ui/src/hooks/useContextMenu.ts | 203 +- packages/app-ui/src/hooks/useDaemonStatus.ts | 19 +- packages/app-ui/src/hooks/useEvent.ts | 38 +- packages/app-ui/src/hooks/useJobDispatch.ts | 59 +- packages/app-ui/src/hooks/useKeybind.ts | 129 +- packages/app-ui/src/hooks/useKeybindMeta.ts | 66 +- packages/app-ui/src/hooks/useKeybindScope.ts | 28 +- packages/app-ui/src/hooks/useLibraries.ts | 16 +- packages/app-ui/src/hooks/useOpenWith.ts | 4 +- packages/app-ui/src/hooks/usePopover.ts | 4 +- .../app-ui/src/hooks/useRefetchTagQueries.ts | 30 +- packages/app-ui/src/hooks/useTheme.ts | 17 +- packages/app-ui/src/i18n.ts | 6 +- packages/app-ui/src/identity-bridge.test.ts | 47 +- packages/app-ui/src/index.html | 16 +- packages/app-ui/src/index.ts | 28 +- packages/app-ui/src/jan-ui-behavior.test.ts | 24 +- .../app-ui/src/jan-ui-interaction.test.ts | 49 +- packages/app-ui/src/kit-bridge.test.ts | 41 +- .../app-ui/src/kit-surface.behavior.test.tsx | 44 +- packages/app-ui/src/material/adaptive/dpad.ts | 71 +- .../app-ui/src/material/adaptive/window.ts | 29 +- packages/app-ui/src/material/ai-fixture.ts | 26 +- .../src/material/generated/inventory.json | 33 +- packages/app-ui/src/material/inventory.ts | 3 +- packages/app-ui/src/material/nav.ts | 47 +- .../app-ui/src/material/pages/Adaptive.tsx | 62 +- packages/app-ui/src/material/pages/Ai.tsx | 19 +- packages/app-ui/src/material/pages/Brands.tsx | 61 +- .../app-ui/src/material/pages/Components.tsx | 30 +- packages/app-ui/src/material/pages/Design.tsx | 45 +- .../app-ui/src/material/pages/Explorer.tsx | 27 +- packages/app-ui/src/material/pages/Forms.tsx | 30 +- packages/app-ui/src/material/pages/Icons.tsx | 31 +- packages/app-ui/src/material/pages/Motion.tsx | 31 +- packages/app-ui/src/material/pages/Next.tsx | 27 +- .../app-ui/src/material/pages/Overview.tsx | 38 +- .../app-ui/src/material/pages/Primitives.tsx | 19 +- packages/app-ui/src/material/pages/Reader.tsx | 10 +- packages/app-ui/src/material/pages/System.tsx | 47 +- packages/app-ui/src/material/pages/Theme.tsx | 36 +- packages/app-ui/src/material/ui.tsx | 118 +- packages/app-ui/src/menu-commands.test.ts | 40 +- packages/app-ui/src/models-hub-actions.ts | 13 +- packages/app-ui/src/models-hub-state.ts | 55 +- packages/app-ui/src/models-hub.test.ts | 94 +- packages/app-ui/src/models-hub.tsx | 194 +- packages/app-ui/src/navigation-shell.test.ts | 19 +- packages/app-ui/src/open-requests.test.ts | 30 +- packages/app-ui/src/open-requests.ts | 7 +- packages/app-ui/src/pet-behavior.test.ts | 15 +- packages/app-ui/src/pet-behavior.ts | 14 +- packages/app-ui/src/pet-guide-view.tsx | 38 +- packages/app-ui/src/pet-guide.test.ts | 60 +- packages/app-ui/src/pet-guide.ts | 81 +- .../app-ui/src/public-assets-package.test.ts | 21 +- packages/app-ui/src/public-navigation.ts | 4 +- packages/app-ui/src/quickbar-input.test.ts | 15 +- packages/app-ui/src/quickbar-input.ts | 27 +- packages/app-ui/src/quickbar-suggest.test.ts | 113 +- packages/app-ui/src/quickbar-suggest.ts | 82 +- packages/app-ui/src/rail-drawer.test.tsx | 27 +- packages/app-ui/src/rail-drawer.tsx | 24 +- packages/app-ui/src/router.tsx | 6 +- .../src/routes/explorer/ExplorerView.tsx | 518 +- .../src/routes/explorer/File/FileStack.tsx | 58 +- .../src/routes/explorer/File/Metadata.tsx | 21 +- .../app-ui/src/routes/explorer/File/Thumb.tsx | 43 +- .../explorer/File/ThumbstripScrubber.tsx | 310 +- .../app-ui/src/routes/explorer/File/index.ts | 2 +- .../src/routes/explorer/KeyboardHandler.tsx | 2 +- .../src/routes/explorer/SearchToolbar.tsx | 26 +- .../src/routes/explorer/SelectionContext.tsx | 48 +- .../app-ui/src/routes/explorer/SortMenu.tsx | 50 +- .../routes/explorer/TabNavigationGuard.tsx | 13 +- .../src/routes/explorer/TagAssignmentMode.tsx | 94 +- .../src/routes/explorer/ViewModeMenu.tsx | 28 +- .../src/routes/explorer/ViewSettings.tsx | 424 +- .../app-ui/src/routes/explorer/ai-helpers.ts | 28 +- .../explorer/components/AddLocationModal.tsx | 45 +- .../explorer/components/AddStorageModal.tsx | 135 +- .../routes/explorer/components/Breadcrumb.tsx | 5 +- .../components/DragSelect/context.tsx | 46 +- .../components/DragSelect/useDragSelection.ts | 92 +- .../explorer/components/DragSelect/utils.ts | 16 +- .../components/ExpandableSearchButton.tsx | 20 +- .../components/FileSelectionAiBar.tsx | 8 +- .../explorer/components/InlineNameEdit.tsx | 35 +- .../routes/explorer/components/PathBar.tsx | 904 +- .../explorer/components/VirtualPathBar.tsx | 4 +- .../explorer/components/VolumeSizeBar.tsx | 6 +- .../app-ui/src/routes/explorer/context.tsx | 1481 +- .../explorer/explorer-ai-actions.test.ts | 313 +- .../explorer-ai-contract.behavior.test.ts | 29 +- .../routes/explorer/hooks/useAskAphrody.ts | 6 +- .../routes/explorer/hooks/useDeleteFiles.ts | 58 +- .../routes/explorer/hooks/useDraggableFile.ts | 94 +- .../hooks/useEmptySpaceContextMenu.ts | 133 +- .../routes/explorer/hooks/useExplorerFiles.ts | 507 +- .../explorer/hooks/useExplorerKeyboard.ts | 24 +- .../explorer/hooks/useFileContextMenu.ts | 58 +- .../explorer/hooks/useTypeaheadSearch.ts | 126 +- .../explorer/hooks/useVirtualListing.ts | 188 +- packages/app-ui/src/routes/explorer/index.ts | 19 +- packages/app-ui/src/routes/explorer/utils.ts | 92 +- .../explorer/views/ColumnView/Column.tsx | 18 +- .../explorer/views/ColumnView/ColumnItem.tsx | 8 +- .../explorer/views/ColumnView/ColumnView.tsx | 889 +- .../routes/explorer/views/ColumnView/index.ts | 2 +- .../src/routes/explorer/views/DragSelect.tsx | 25 +- .../src/routes/explorer/views/EmptyView.tsx | 5 +- .../explorer/views/GridView/FileCard.tsx | 469 +- .../explorer/views/GridView/GridView.tsx | 23 +- .../routes/explorer/views/GridView/index.ts | 2 +- .../routes/explorer/views/KnowledgeView.tsx | 67 +- .../explorer/views/ListView/ListView.tsx | 39 +- .../explorer/views/ListView/TableRow.tsx | 21 +- .../routes/explorer/views/ListView/index.ts | 2 +- .../explorer/views/ListView/useTable.test.tsx | 4 +- .../explorer/views/ListView/useTable.tsx | 5 +- .../explorer/views/MediaView/DateHeader.tsx | 4 +- .../explorer/views/MediaView/MediaView.tsx | 781 +- .../views/MediaView/MediaViewItem.tsx | 11 +- .../routes/explorer/views/MediaView/index.ts | 2 +- .../routes/explorer/views/MediaView/utils.ts | 60 +- .../views/RecentsView/RecentsView.tsx | 66 +- .../explorer/views/RecentsView/index.ts | 2 +- .../explorer/views/SearchView/SearchView.tsx | 84 +- .../routes/explorer/views/SearchView/index.ts | 2 +- .../explorer/views/SizeView/SizeCircle.tsx | 24 +- .../explorer/views/SizeView/SizeView.tsx | 253 +- .../routes/explorer/views/SizeView/index.ts | 2 +- .../app-ui/src/routes/file-kinds/index.tsx | 25 +- packages/app-ui/src/routes/kit/KitSurface.tsx | 108 +- .../app-ui/src/routes/kit/use-kit-visible.ts | 5 +- .../routes/product/ProductSearchHome.test.tsx | 20 +- .../src/routes/product/ProductSearchHome.tsx | 62 +- .../app-ui/src/routes/product/catalog.test.ts | 36 +- packages/app-ui/src/routes/product/catalog.ts | 35 +- packages/app-ui/src/routes/product/index.tsx | 86 +- .../routes/product/product-search-messages.ts | 5 +- .../app-ui/src/routes/redundancy/index.tsx | 135 +- .../app-ui/src/routes/sources/Adapters.tsx | 85 +- .../src/routes/sources/SourceDetail.tsx | 54 +- packages/app-ui/src/routes/sources/index.tsx | 178 +- .../app-ui/src/routes/studio/A2AStudio.tsx | 28 +- .../app-ui/src/routes/studio/DriveStudio.tsx | 15 +- .../src/routes/studio/GoogleStudio.test.tsx | 8 +- .../app-ui/src/routes/studio/GoogleStudio.tsx | 5 +- .../src/routes/studio/RuntimeStudio.tsx | 11 +- .../app-ui/src/routes/studio/StudioHeader.tsx | 4 +- packages/app-ui/src/routes/studio/index.tsx | 29 +- .../app-ui/src/routes/studio/navigation.ts | 5 +- packages/app-ui/src/routes/tag/index.tsx | 30 +- .../src/routes/terminal/TerminalRoute.tsx | 112 +- .../app-ui/src/routes/terminal/keys.test.ts | 43 +- .../src/runtime-studio.behavior.test.tsx | 14 +- packages/app-ui/src/stores/aphrodyJobStore.ts | 273 +- packages/app-ui/src/stores/chat-store.ts | 9 +- .../app-ui/src/stores/volumeIndexingStore.ts | 60 +- .../app-ui/src/studio-bridge.behavior.test.ts | 23 +- packages/app-ui/src/styles.css | 27 +- packages/app-ui/src/system-presets.ts | 11 +- packages/app-ui/src/util/keybinds/index.ts | 59 +- packages/app-ui/src/util/keybinds/listener.ts | 257 +- packages/app-ui/src/util/keybinds/platform.ts | 246 +- packages/app-ui/src/util/keybinds/registry.ts | 769 +- packages/app-ui/src/util/keybinds/types.ts | 128 +- packages/app-ui/src/windows/DemoWindow.tsx | 422 +- packages/app-ui/src/windows/Spacedrop.tsx | 302 +- packages/app-ui/test-preload.ts | 12 +- packages/app-ui/undeclared-deps.test.ts | 15 +- packages/app-ui/undeclared-deps.ts | 60 +- packages/artcraft-frontend/api_docs.html | 47 +- .../artcraft-frontend/scripts/artcraft.ts | 355 +- .../artcraft-frontend/scripts/unix-dev.mjs | 23 +- .../scripts/unix-dev.test.mjs | 115 +- .../tools/performance/benchmark-plugin.mjs | 73 +- .../tools/performance/browser-fixture.mjs | 124 +- .../tools/performance/compare.mjs | 42 +- .../tools/performance/run.mjs | 103 +- .../tools/testing/desktop-session.mjs | 164 +- .../tools/testing/globals.ts | 9 +- packages/artcraft-frontend/tsconfig.base.json | 104 +- packages/assets/README.md | 16 +- packages/assets/scripts/generate.ts | 21 +- packages/assets/svgs/brands/index.ts | 20 +- packages/assets/svgs/ext/Code/index.ts | 60 +- packages/assets/svgs/ext/Extras/index.ts | 948 +- packages/assets/svgs/ext/icons.json | 8 +- packages/assets/svgs/ext/index.ts | 8 +- packages/assets/test/util.test.ts | 12 +- packages/assets/tsconfig.json | 8 +- packages/assets/util/index.ts | 11 +- packages/bun-app-host/src/build.ts | 184 +- packages/bun-app-host/src/cli.ts | 17 +- packages/bun-app-host/src/product.ts | 53 +- packages/bun-app-host/src/server.ts | 147 +- packages/bun-app-host/src/source-portal.ts | 63 +- packages/bun-app-host/src/transport.ts | 19 +- packages/bun-app-host/src/verify.ts | 199 +- packages/bun-artifacts/src/build.ts | 351 +- packages/bun-artifacts/src/cli.ts | 82 +- packages/bun-artifacts/src/compiler.ts | 41 +- packages/bun-artifacts/src/index.ts | 31 +- packages/bun-artifacts/src/manifest.ts | 105 +- packages/bun-artifacts/src/runtime.ts | 229 +- packages/bun-artifacts/src/types.ts | 24 +- packages/bun-artifacts/src/verify.ts | 144 +- packages/bun-video-project/src/cli.ts | 31 +- packages/bun-video-project/src/errors.ts | 7 +- packages/bun-video-project/src/index.ts | 13 +- packages/bun-video-project/src/json.ts | 60 +- packages/bun-video-project/src/library.ts | 366 +- packages/bun-video-project/src/native.ts | 55 +- packages/bun-video-project/src/process.ts | 32 +- packages/bun-video-project/src/time.ts | 30 +- packages/bun-workspace/src/assets-cli.ts | 32 +- packages/bun-workspace/src/assets.ts | 159 +- packages/bun-workspace/src/capabilities.ts | 138 +- packages/bun-workspace/src/cli.ts | 82 +- packages/bun-workspace/src/coverage.ts | 88 +- packages/bun-workspace/src/hash.ts | 30 +- packages/bun-workspace/src/index.ts | 596 +- packages/bun-workspace/src/process.ts | 105 +- packages/bun-workspace/src/runtime.ts | 35 +- packages/bun-workspace/test/cargo.test.ts | 45 +- packages/canvas/README.md | 5 +- packages/canvas/index.d.ts | 37 +- packages/canvas/index.test.ts | 8 +- packages/canvas/index.ts | 60 +- packages/canvas/scene-types.d.ts | 78 +- packages/canvas/scripts/vendor-upstream.ts | 133 +- packages/canvas/site.d.ts | 12 +- packages/canvas/site.ts | 8 +- packages/canvas/types.check.ts | 18 +- packages/canvas/vendor.test.ts | 80 +- packages/canvas/vendor/UPSTREAM.md | 24 +- packages/canvas/vendor/geometry.js | 757 +- packages/canvas/vendor/index.d.ts | 1199 +- packages/canvas/vendor/index.js | 173 +- packages/canvas/vendor/js-binding.js | 427 +- packages/canvas/vendor/load-image.js | 151 +- packages/cli-wasm/src/index.ts | 26 +- packages/cli-wasm/src/wasm-glue.d.ts | 14 +- packages/cli-wasm/test/cli.test.ts | 119 +- packages/discord-kit/src/apps.ts | 30 +- packages/discord-kit/src/cache.ts | 68 +- packages/discord-kit/src/commands.ts | 86 +- packages/discord-kit/src/guards/mono-guild.ts | 59 +- packages/discord-kit/src/guards/not-bot.ts | 56 +- packages/discord-kit/src/interaction.ts | 7 +- packages/discord-kit/src/lab/ai-lab.ts | 48 +- packages/discord-kit/src/lab/assistant.ts | 26 +- packages/discord-kit/src/lab/local-ai.ts | 31 +- .../discord-kit/src/lab/local-rag.test.ts | 37 +- packages/discord-kit/src/lab/local-rag.ts | 19 +- packages/discord-kit/src/lifecycle.ts | 12 +- packages/discord-kit/src/messaging.ts | 70 +- packages/discord-kit/src/preflight.ts | 36 +- packages/discord-kit/src/rest.ts | 25 +- packages/discord-kit/src/runtime.ts | 44 +- .../discord-kit/test/apps.integration.test.ts | 35 +- packages/discord-kit/test/channel.test.ts | 53 +- packages/discord-kit/test/kit.test.ts | 58 +- packages/discord-kit/test/lab/ai-lab.test.ts | 44 +- .../discord-kit/test/lab/assistant.test.ts | 85 +- .../discord-kit/test/lab/local-ai.test.ts | 19 +- packages/discord-kit/test/rest.test.ts | 20 +- packages/discord-kit/test/runtime.test.ts | 22 +- packages/discord-kit/tsconfig.json | 38 +- packages/doc-ai/README.md | 14 +- packages/doc-ai/src/cli.ts | 64 +- packages/doc-ai/src/errors.ts | 13 +- packages/doc-ai/src/generator.ts | 42 +- packages/doc-ai/src/index.ts | 6 +- packages/doc-ai/src/llm.ts | 37 +- packages/doc-ai/src/retry.ts | 26 +- packages/doc-ai/src/translator.ts | 74 +- packages/doc-ai/src/validate.ts | 27 +- packages/doc-ai/test/cli.test.ts | 75 +- packages/doc-ai/test/errors.test.ts | 4 +- packages/doc-ai/test/generator.test.ts | 4 +- packages/doc-ai/test/llm.test.ts | 20 +- packages/doc-ai/test/retry.test.ts | 15 +- packages/doc-ai/test/translator.test.ts | 14 +- packages/doc-ai/test/validate.test.ts | 18 +- packages/drive-client/README.md | 40 +- packages/drive-client/USAGE.md | 48 +- packages/drive-client/src/bun.ts | 4 +- packages/drive-client/src/client.ts | 431 +- packages/drive-client/src/deviceIcons.ts | 170 +- packages/drive-client/src/event-filter.ts | 116 +- packages/drive-client/src/fileUtils.ts | 18 +- packages/drive-client/src/generated/types.ts | 9654 +- .../src/hooks/__tests__/eventReplay.ts | 11 +- .../drive-client/src/hooks/__tests__/setup.ts | 2 +- .../__tests__/useNormalizedQuery.test.tsx | 230 +- packages/drive-client/src/hooks/index.ts | 22 +- packages/drive-client/src/hooks/useClient.tsx | 59 +- packages/drive-client/src/hooks/useJobs.ts | 17 +- .../drive-client/src/hooks/useMutation.ts | 112 +- .../src/hooks/useNormalizedQuery.ts | 1200 +- packages/drive-client/src/hooks/useQuery.ts | 74 +- .../drive-client/src/hooks/useSearchFiles.ts | 271 +- packages/drive-client/src/index.ts | 11 +- packages/drive-client/src/socket-transport.ts | 396 +- packages/drive-client/src/stores/sidebar.ts | 96 +- .../src/stores/sortPreferences.ts | 46 +- .../src/stores/syncPreferences.ts | 34 +- .../src/stores/viewPreferences.ts | 5 +- .../drive-client/src/subscriptionManager.ts | 330 +- packages/drive-client/src/transport.ts | 22 +- packages/drive-client/src/types.ts | 1237 +- packages/drive-client/src/virtualFiles.ts | 211 +- packages/drive-client/src/volumeIcons.ts | 116 +- .../drive-client/tests/integration/README.md | 6 +- .../integration/ephemeral-streaming.test.ts | 59 +- .../tests/integration/search.test.ts | 604 +- .../drive-client/tests/integration/setup.ts | 22 +- .../useNormalizedQuery.bulk-moves.test.ts | 111 +- .../useNormalizedQuery.file-delete.test.ts | 301 +- .../useNormalizedQuery.folder-rename.test.ts | 308 +- .../integration/useNormalizedQuery.test.ts | 336 +- packages/drive-client/tsconfig.json | 36 +- packages/eslint-plugin-m3/README.md | 5 +- packages/eslint-plugin-m3/index.d.ts | 5 +- packages/eslint-plugin-m3/rules/helpers.js | 6 +- .../rules/no-hardcoded-color.js | 6 +- .../eslint-plugin-m3/rules/no-mui-import.js | 13 +- .../rules/no-mui-prop-on-md.js | 3 +- .../rules/prefer-icon-token.js | 11 +- .../rules/require-icon-button-label.js | 13 +- .../rules/valid-color-role.js | 3 +- .../eslint-plugin-m3/rules/valid-icon-name.js | 7 +- .../scripts/sync-symbol-names.ts | 8 +- .../eslint-plugin-m3/test/fixtures/bad.tsx | 12 +- .../eslint-plugin-m3/test/fixtures/good.tsx | 14 +- packages/eslint-plugin-m3/test/run.ts | 9 +- packages/identity/README.md | 18 +- .../symbols/css/aphrody-pet-symbols.css | 62 +- packages/identity/assets/symbols/index.json | 16 +- packages/identity/demo/check.ts | 58 +- packages/identity/demo/demo.ts | 4 +- packages/identity/demo/index.html | 21 +- packages/identity/demo/serve.ts | 8 +- packages/identity/scripts/generate.ts | 4 +- packages/identity/scripts/measure.ts | 39 +- packages/identity/scripts/sprite.ts | 5 +- packages/identity/src/AphrodyAvatar.tsx | 16 +- packages/identity/src/AphrodyPet.tsx | 13 +- packages/identity/src/animations.generated.ts | 140 +- packages/identity/src/element.ts | 97 +- packages/identity/src/load.test.ts | 109 +- packages/identity/src/load.ts | 165 +- packages/identity/src/pet.test.ts | 22 +- packages/identity/src/pet.ts | 25 +- packages/identity/src/public-assets.test.ts | 8 +- packages/identity/src/public-assets.ts | 15 +- packages/identity/src/render/README.md | 40 +- packages/identity/src/render/canvas2d.ts | 25 +- packages/identity/src/render/frames.test.ts | 9 +- packages/identity/src/render/frames.ts | 27 +- packages/identity/src/render/index.ts | 13 +- packages/identity/src/runtime.test.ts | 20 +- packages/identity/src/runtime.ts | 24 +- packages/libm3/package.json | 15 +- packages/libm3/src/wasm.ts | 26 +- packages/m3-ai/fixtures/null-omission.json | 220 +- packages/m3-ai/src/A2APeerInspector.tsx | 34 +- packages/m3-ai/src/A2ATaskTimeline.tsx | 29 +- packages/m3-ai/src/AgUiEventStream.ts | 50 +- packages/m3-ai/src/ChatComposer.tsx | 31 +- packages/m3-ai/src/ConversationList.tsx | 23 +- packages/m3-ai/src/GeminiAccountMenu.tsx | 36 +- .../m3-ai/src/GeminiPersonalContextEdit.tsx | 25 +- packages/m3-ai/src/InlineBranchCard.tsx | 13 +- packages/m3-ai/src/InlineWorkerCard.tsx | 23 +- packages/m3-ai/src/Markdown.tsx | 147 +- packages/m3-ai/src/McpAppCard.tsx | 29 +- packages/m3-ai/src/MemoryPanel.tsx | 5 +- packages/m3-ai/src/MessageBubble.tsx | 17 +- packages/m3-ai/src/ModelSelector.tsx | 38 +- packages/m3-ai/src/ModelUnavailable.tsx | 11 +- packages/m3-ai/src/TaskCreateForm.tsx | 28 +- packages/m3-ai/src/TaskDetail.tsx | 87 +- packages/m3-ai/src/TaskList.tsx | 21 +- packages/m3-ai/src/TaskPriorityIcon.tsx | 18 +- packages/m3-ai/src/TaskRow.tsx | 13 +- packages/m3-ai/src/TaskStatusIcon.tsx | 18 +- packages/m3-ai/src/ToolCall.tsx | 113 +- packages/m3-ai/src/ag-ui.ts | 6 +- packages/m3-ai/src/chatIcons.tsx | 15 +- packages/m3-ai/src/chatLabels.ts | 23 +- packages/m3-ai/src/citations.tsx | 68 +- packages/m3-ai/src/index.ts | 32 +- packages/m3-ai/src/internal.tsx | 15 +- packages/m3-ai/src/openaiChatStream.ts | 57 +- packages/m3-ai/src/types.ts | 24 +- packages/m3-ai/src/useOpenAIChat.ts | 19 +- packages/m3-ai/test/ag-ui-a2a-bridge.test.ts | 21 +- .../test/ag-ui-registry-contract.test.ts | 9 +- packages/m3-ai/test/ai.test.tsx | 178 +- packages/m3-ai/test/chat.test.tsx | 243 +- .../m3-ai/test/production-contract.test.tsx | 52 +- packages/m3-ai/tsconfig.build.json | 15 +- packages/m3-ai/tsconfig.json | 11 +- packages/m3-baseui/README.md | 8 +- packages/m3-baseui/css/button.css | 18 +- packages/m3-baseui/css/checkbox.css | 28 +- packages/m3-baseui/css/core.css | 51 +- packages/m3-baseui/css/dialog.css | 10 +- packages/m3-baseui/css/drawer.css | 9 +- packages/m3-baseui/css/field.css | 15 +- packages/m3-baseui/css/navigation-menu.css | 9 +- packages/m3-baseui/css/otp-field.css | 6 +- packages/m3-baseui/css/radio.css | 12 +- packages/m3-baseui/css/scroll-area.css | 9 +- packages/m3-baseui/css/select.css | 9 +- packages/m3-baseui/css/slider.css | 6 +- packages/m3-baseui/css/switch.css | 48 +- packages/m3-baseui/css/tabs.css | 3 +- packages/m3-baseui/css/toggle.css | 16 +- packages/m3-baseui/css/tooltip.css | 3 +- packages/m3-baseui/src/accordion.tsx | 5 +- packages/m3-baseui/src/button.tsx | 15 +- packages/m3-baseui/src/collapsible.tsx | 5 +- packages/m3-baseui/src/combobox.tsx | 10 +- packages/m3-baseui/src/context-menu.tsx | 15 +- packages/m3-baseui/src/index.ts | 12 +- packages/m3-baseui/src/input.tsx | 11 +- packages/m3-baseui/src/menu.tsx | 15 +- packages/m3-baseui/src/number-field.tsx | 10 +- packages/m3-baseui/src/part.tsx | 12 +- packages/m3-baseui/src/select.tsx | 5 +- packages/m3-baseui/test/css.test.ts | 4 +- packages/m3-baseui/test/render.test.tsx | 64 +- packages/m3-baseui/test/surface.test.ts | 101 +- packages/m3-bun/README.md | 39 +- packages/m3-bun/src/api.ts | 118 +- packages/m3-bun/src/build.ts | 79 +- packages/m3-bun/src/cli.ts | 116 +- packages/m3-bun/src/compile.ts | 102 +- packages/m3-bun/src/config.ts | 28 +- packages/m3-bun/src/dev-error.ts | 4 +- packages/m3-bun/src/dev-inspect.ts | 28 +- packages/m3-bun/src/entry.ts | 35 +- packages/m3-bun/src/graph.ts | 110 +- packages/m3-bun/src/icons.ts | 64 +- packages/m3-bun/src/index.ts | 185 +- packages/m3-bun/src/package.ts | 101 +- packages/m3-bun/src/plugin.ts | 40 +- packages/m3-bun/src/plugins-m3.ts | 105 +- packages/m3-bun/src/plugins.ts | 129 +- packages/m3-bun/src/runtime.ts | 42 +- packages/m3-bun/src/server-agui.ts | 37 +- packages/m3-bun/src/server-auth.ts | 144 +- packages/m3-bun/src/server-cache.ts | 42 +- packages/m3-bun/src/server-crawl.ts | 47 +- packages/m3-bun/src/server-db.ts | 15 +- packages/m3-bun/src/server-html.ts | 55 +- packages/m3-bun/src/server-m3.ts | 16 +- packages/m3-bun/src/server-markdown.ts | 32 +- packages/m3-bun/src/server-mcp.ts | 19 +- packages/m3-bun/src/server-next.ts | 4 +- packages/m3-bun/src/server-optional.ts | 38 +- packages/m3-bun/src/server-realtime.ts | 42 +- packages/m3-bun/src/server-secrets.ts | 43 +- packages/m3-bun/src/server.ts | 171 +- packages/m3-bun/src/targets/cloudflare.ts | 5 +- packages/m3-bun/src/targets/docker.ts | 13 +- packages/m3-bun/src/targets/index.ts | 31 +- packages/m3-bun/src/targets/lambda.ts | 8 +- packages/m3-bun/src/targets/linux-image.ts | 10 +- packages/m3-bun/src/targets/nginx.ts | 46 +- packages/m3-bun/src/targets/os-themes.ts | 19 +- packages/m3-bun/src/targets/release.ts | 14 +- packages/m3-bun/src/targets/systemd.ts | 9 +- packages/m3-bun/src/targets/tauri.ts | 25 +- packages/m3-bun/src/targets/types.ts | 11 +- packages/m3-bun/src/targets/vercel.ts | 19 +- packages/m3-bun/src/targets/vscode.ts | 31 +- .../m3-bun/src/targets/windows-inspect.ts | 40 +- packages/m3-bun/src/targets/windows.ts | 39 +- packages/m3-bun/src/theme-css.ts | 80 +- packages/m3-bun/src/tools-create.ts | 39 +- packages/m3-bun/src/tools-design.ts | 34 +- packages/m3-bun/src/tools-lib.ts | 22 +- packages/m3-bun/src/tools-lint.ts | 29 +- packages/m3-bun/src/tools-load.ts | 19 +- packages/m3-bun/src/tools-migrate.ts | 29 +- packages/m3-bun/src/tools-og.ts | 51 +- packages/m3-bun/src/util.ts | 26 +- packages/m3-bun/test/api.test.ts | 107 +- packages/m3-bun/test/build.test.ts | 47 +- packages/m3-bun/test/cli.test.ts | 71 +- packages/m3-bun/test/compile.test.ts | 27 +- packages/m3-bun/test/config.test.ts | 12 +- packages/m3-bun/test/dev-inspect.test.ts | 29 +- packages/m3-bun/test/entry.test.ts | 8 +- packages/m3-bun/test/fixtures/app/src/api.ts | 6 +- .../m3-bun/test/fixtures/app/src/styles.css | 4 +- packages/m3-bun/test/generated-paths.test.ts | 12 +- packages/m3-bun/test/graph.test.ts | 78 +- packages/m3-bun/test/helpers.ts | 9 +- packages/m3-bun/test/http-contract.test.ts | 31 +- packages/m3-bun/test/icons.test.ts | 119 +- packages/m3-bun/test/package.test.ts | 58 +- packages/m3-bun/test/plugin.test.ts | 114 +- packages/m3-bun/test/plugins-m3.test.ts | 134 +- packages/m3-bun/test/plugins.test.ts | 157 +- .../m3-bun/test/runtime-lifecycle.test.ts | 23 +- packages/m3-bun/test/runtime.test.ts | 33 +- packages/m3-bun/test/server-data.test.ts | 150 +- packages/m3-bun/test/server-html.test.ts | 173 +- .../m3-bun/test/server-integrations.test.ts | 347 +- packages/m3-bun/test/server.test.ts | 113 +- packages/m3-bun/test/system.test.ts | 77 +- packages/m3-bun/test/targets-cloud.test.ts | 69 +- packages/m3-bun/test/targets-desktop.test.ts | 74 +- packages/m3-bun/test/targets.test.ts | 274 +- packages/m3-bun/test/theme-css.test.ts | 90 +- packages/m3-bun/test/tools-create.test.ts | 35 +- packages/m3-bun/test/tools-design.test.ts | 51 +- packages/m3-bun/test/tools-lib.test.ts | 33 +- packages/m3-bun/test/tools-lint.test.ts | 35 +- packages/m3-bun/test/tools-migrate.test.ts | 49 +- packages/m3-bun/test/tools-og.test.ts | 68 +- .../__testfixtures__/button.output.tsx | 6 +- .../__testfixtures__/dialog.input.tsx | 8 +- .../__testfixtures__/icons-alias.input.tsx | 8 +- .../__testfixtures__/layout.input.tsx | 9 +- .../__testfixtures__/textfield.input.tsx | 6 +- .../__testfixtures__/textfield.output.tsx | 6 +- packages/m3-codemods/lib/edits.ts | 3 +- packages/m3-codemods/lib/engine.ts | 32 +- packages/m3-codemods/lib/icon-names.ts | 4 +- packages/m3-codemods/lib/imports.ts | 14 +- packages/m3-codemods/lib/jsx-helpers.ts | 35 +- packages/m3-codemods/lib/mapping.ts | 3 +- packages/m3-codemods/lib/tsx-scan.ts | 78 +- packages/m3-codemods/mui-m3-map.json | 9 +- packages/m3-codemods/scripts/codemod.ts | 16 +- .../m3-codemods/scripts/export-map-json.ts | 10 +- packages/m3-codemods/scripts/fixtures.ts | 26 +- packages/m3-codemods/src/index.ts | 17 +- packages/m3-codemods/test/fixtures.test.ts | 4 +- packages/m3-codemods/test/public-api.test.ts | 4 +- packages/m3-codemods/transforms/button.ts | 6 +- packages/m3-codemods/transforms/fields.ts | 6 +- packages/m3-codemods/transforms/icons.ts | 17 +- .../m3-codemods/transforms/mui-imports.ts | 6 +- .../m3-codemods/transforms/orchestrator.ts | 6 +- packages/m3-config/README.md | 14 +- packages/m3-config/bun-build.ts | 55 +- packages/m3-config/cache-db.ts | 11 +- packages/m3-config/test/bun-build.test.ts | 111 +- .../m3-config/test/cache-integrity.test.ts | 19 +- packages/m3-config/test/dom.ts | 4 +- packages/m3-config/tsconfig.check.json | 6 +- packages/m3-config/tsconfig.json | 11 +- packages/m3-design/README.md | 11 +- .../design-systems/material/tokens.css | 4 +- .../m3-design/src/generated-behavior.test.ts | 166 +- packages/m3-design/src/generator.test.ts | 36 +- packages/m3-design/src/generator.ts | 46 +- packages/m3-design/src/handlers.test.ts | 175 +- packages/m3-design/src/handlers.ts | 65 +- packages/m3-design/src/hct.test.ts | 90 +- packages/m3-design/src/hct.ts | 28 +- packages/m3-design/src/parser.test.ts | 45 +- packages/m3-design/src/parser.ts | 34 +- packages/m3-design/src/server.ts | 4 +- packages/m3-design/src/types.ts | 3 +- packages/m3-design/tsconfig.json | 10 +- packages/m3-explorer/README.md | 7 +- packages/m3-explorer/src/FileThumb.tsx | 4 +- packages/m3-explorer/src/GridItem.tsx | 18 +- packages/m3-explorer/src/RenameInput.tsx | 16 +- packages/m3-explorer/src/index.ts | 6 +- .../m3-explorer/test/crawlable-ssr.test.tsx | 18 +- packages/m3-explorer/test/explorer.test.tsx | 15 +- .../m3-explorer/test/file-thumb-dom.test.tsx | 4 +- .../test/production-contract.test.tsx | 37 +- packages/m3-explorer/tsconfig.build.json | 15 +- packages/m3-explorer/tsconfig.json | 11 +- packages/m3-fonts/README.md | 14 +- packages/m3-fonts/scripts/generate.ts | 5 +- packages/m3-fonts/scripts/subset.ts | 14 +- packages/m3-fonts/scripts/windows-material.ts | 68 +- packages/m3-fonts/src/fonts-jp.css | 1094 +- packages/m3-fonts/src/fonts-symbols.css | 9 +- packages/m3-fonts/src/fonts.css | 81 +- packages/m3-fonts/src/fonts.test.ts | 55 +- packages/m3-fonts/src/index.ts | 113 +- .../m3-fonts/src/material-symbols-index.json | 39400 +- packages/m3-fonts/src/public-assets.test.ts | 15 +- packages/m3-forms/README.md | 13 +- packages/m3-forms/src/CheckboxField.tsx | 18 +- packages/m3-forms/src/Form.tsx | 31 +- packages/m3-forms/src/InputField.tsx | 13 +- packages/m3-forms/src/RadioGroupField.tsx | 20 +- packages/m3-forms/src/SelectField.tsx | 17 +- packages/m3-forms/src/SwitchField.tsx | 14 +- packages/m3-forms/src/TextAreaField.tsx | 13 +- packages/m3-forms/test/crawlable-ssr.test.tsx | 29 +- packages/m3-forms/test/forms.test.tsx | 50 +- .../test/production-contract.test.tsx | 14 +- packages/m3-forms/tsconfig.build.json | 15 +- packages/m3-forms/tsconfig.json | 11 +- packages/m3-front/README.md | 4 +- packages/m3-front/src/index.ts | 25 +- packages/m3-front/src/register.ts | 10 +- packages/m3-front/src/theme-element.ts | 24 +- packages/m3-front/src/window-class.ts | 5 +- packages/m3-front/test/front.test.ts | 16 +- .../m3-front/test/production-contract.test.ts | 36 +- packages/m3-icons/README.md | 15 +- packages/m3-icons/build.config.ts | 8 +- packages/m3-icons/src/browser-lit.ts | 4 +- packages/m3-icons/src/codegen.ts | 8 +- packages/m3-icons/src/index.ts | 7 +- packages/m3-icons/src/lit.ts | 10 +- packages/m3-icons/src/plugin.ts | 8 +- packages/m3-icons/src/react.tsx | 12 +- packages/m3-icons/test/browser.test.ts | 12 +- packages/m3-icons/test/icons.test.ts | 72 +- packages/m3-mcp/README.md | 18 +- packages/m3-mcp/src/catalog.test.ts | 20 +- packages/m3-mcp/src/catalog.ts | 65 +- packages/m3-mcp/src/tools.ts | 62 +- packages/m3-mcp/test/catalog.test.ts | 28 +- packages/m3-mcp/test/tool-host.test.ts | 31 +- packages/m3-motion/README.md | 104 +- .../m3-motion/src/components/M3Collapse.tsx | 22 +- .../src/components/M3ContainerTransform.tsx | 113 +- packages/m3-motion/src/components/M3Fade.tsx | 10 +- .../src/components/M3FadeThrough.tsx | 10 +- .../src/components/M3ListStagger.tsx | 63 +- .../m3-motion/src/components/M3SharedAxis.tsx | 44 +- .../m3-motion/src/components/M3Transition.tsx | 75 +- packages/m3-motion/src/hooks/useM3Animate.ts | 34 +- .../m3-motion/src/hooks/useM3ReducedMotion.ts | 8 +- .../m3-motion/src/spring-interpolation.ts | 6 +- packages/m3-motion/test/m3-motion.test.ts | 70 +- .../test/production-contract.test.tsx | 30 +- .../test/spring-interpolation.test.ts | 55 +- packages/m3-motion/tsconfig.build.json | 9 +- packages/m3-motion/tsconfig.json | 4 +- packages/m3-next-example/README.md | 1 + packages/m3-next-migrate/README.md | 6 +- packages/m3-next-migrate/src/cli.ts | 46 +- packages/m3-next-migrate/src/codemods/cli.ts | 5 +- packages/m3-next-migrate/src/codemods/jsx.ts | 7 +- packages/m3-next-migrate/src/codemods/mui.ts | 156 +- packages/m3-next-migrate/src/dependencies.ts | 94 +- packages/m3-next-migrate/src/index.ts | 38 +- packages/m3-next-migrate/src/layout.ts | 66 +- packages/m3-next-migrate/src/migrator.ts | 76 +- packages/m3-next-migrate/src/requirements.ts | 42 +- packages/m3-next-migrate/src/scaffolder.ts | 8 +- packages/m3-next-migrate/src/scanner.ts | 8 +- .../m3-next-migrate/src/shims/dynamic.tsx | 13 +- packages/m3-next-migrate/src/shims/font.ts | 14 +- packages/m3-next-migrate/src/shims/form.tsx | 29 +- packages/m3-next-migrate/src/shims/headers.ts | 12 +- packages/m3-next-migrate/src/shims/image.tsx | 17 +- packages/m3-next-migrate/src/shims/link.tsx | 18 +- .../m3-next-migrate/src/shims/metadata.tsx | 25 +- .../m3-next-migrate/src/shims/provider.tsx | 62 +- packages/m3-next-migrate/src/shims/server.ts | 54 +- .../m3-next-migrate/src/shims/tauri-ipc.ts | 7 +- packages/m3-next-migrate/src/transform.ts | 172 +- .../test-dom/runtime-shims.test.tsx | 32 +- .../m3-next-migrate/test/cli-contract.test.ts | 12 +- .../m3-next-migrate/test/codemods.test.ts | 55 +- .../test/migration-files.test.ts | 130 +- .../m3-next-migrate/test/migrator.test.ts | 117 +- .../test/open-external.test.ts | 25 +- .../m3-next-migrate/test/requirements.test.ts | 27 +- .../test/route-contract.test.tsx | 43 +- .../test/scaffold-delegation.test.ts | 20 +- .../test/server-boundary.test.ts | 36 +- .../test/transform-boundary.test.ts | 15 +- packages/m3-next-tauri-example/README.md | 1 + packages/m3-next/README.md | 15 +- packages/m3-next/bin/m3-next.ts | 8 +- packages/m3-next/build.config.ts | 7 +- .../examples/app/app/api/health/route.ts | 5 +- .../examples/app/app/components/page.tsx | 60 +- packages/m3-next/examples/app/app/layout.tsx | 3 +- packages/m3-next/examples/app/app/page.tsx | 24 +- .../m3-next/examples/app/app/theme-toggle.tsx | 7 +- .../m3-next/examples/app/app/theme/page.tsx | 3 +- packages/m3-next/examples/app/proxy.ts | 4 +- .../m3-next/examples/app/test/example.test.ts | 8 +- .../m3-next/examples/tauri/app/about/page.tsx | 5 +- packages/m3-next/examples/tauri/app/page.tsx | 9 +- .../examples/tauri/test/example.test.ts | 8 +- packages/m3-next/scripts/browser-check.ts | 84 +- packages/m3-next/scripts/bundle-report.ts | 69 +- packages/m3-next/scripts/yolo-example.ts | 70 +- packages/m3-next/src/client.tsx | 35 +- packages/m3-next/src/constants.ts | 9 +- packages/m3-next/src/crawl.ts | 52 +- packages/m3-next/src/index.ts | 86 +- packages/m3-next/src/server.tsx | 58 +- packages/m3-next/src/theme-proxy.ts | 4 +- packages/m3-next/test-dom/client.test.tsx | 20 +- packages/m3-next/test/config.test.ts | 80 +- packages/m3-next/test/cookie-contract.test.ts | 13 +- packages/m3-next/test/crawl.test.ts | 46 +- packages/m3-next/test/m3-next.test.tsx | 58 +- packages/m3-next/test/theme-proxy.test.ts | 22 +- packages/m3-next/tsconfig.json | 8 +- packages/m3-os-themes/src/chromium.ts | 49 +- packages/m3-os-themes/src/cli.ts | 92 +- packages/m3-os-themes/src/color.ts | 53 +- packages/m3-os-themes/src/cosmic.ts | 12 +- packages/m3-os-themes/src/generate.ts | 12 +- packages/m3-os-themes/src/gnome.ts | 19 +- packages/m3-os-themes/src/png.ts | 5 +- packages/m3-os-themes/src/types.ts | 12 +- packages/m3-os-themes/src/windows.ts | 62 +- .../m3-os-themes/test/color-cache.test.ts | 44 +- packages/m3-os-themes/test/generate.test.ts | 143 +- .../test/installer-integrity.test.ts | 64 +- packages/m3-primitives/src/Accordion.tsx | 109 +- packages/m3-primitives/src/AlertDialog.tsx | 201 +- packages/m3-primitives/src/Avatar.tsx | 21 +- packages/m3-primitives/src/Badge.tsx | 31 +- packages/m3-primitives/src/Banner.tsx | 15 +- packages/m3-primitives/src/Button.tsx | 4 +- packages/m3-primitives/src/Card.tsx | 106 +- packages/m3-primitives/src/Checkbox.tsx | 27 +- packages/m3-primitives/src/CircleButton.tsx | 18 +- .../m3-primitives/src/CircleButtonGroup.tsx | 5 +- .../m3-primitives/src/CircularProgress.tsx | 27 +- packages/m3-primitives/src/Collapsible.tsx | 75 +- packages/m3-primitives/src/ContextMenu.tsx | 71 +- packages/m3-primitives/src/Dialog.tsx | 100 +- packages/m3-primitives/src/Divider.tsx | 10 +- packages/m3-primitives/src/Drawer.tsx | 33 +- packages/m3-primitives/src/Dropdown.tsx | 30 +- packages/m3-primitives/src/DropdownMenu.tsx | 135 +- packages/m3-primitives/src/Field.tsx | 27 +- packages/m3-primitives/src/Icon.tsx | 15 +- packages/m3-primitives/src/InfoBanner.tsx | 7 +- packages/m3-primitives/src/Input.tsx | 36 +- packages/m3-primitives/src/Layout.tsx | 13 +- packages/m3-primitives/src/Loader.tsx | 6 +- packages/m3-primitives/src/Meter.tsx | 33 +- packages/m3-primitives/src/NumberStepper.tsx | 28 +- packages/m3-primitives/src/OptionList.tsx | 27 +- packages/m3-primitives/src/Popover.tsx | 26 +- packages/m3-primitives/src/ProgressBar.tsx | 3 +- packages/m3-primitives/src/RadioGroup.tsx | 8 +- packages/m3-primitives/src/Resizable.tsx | 27 +- packages/m3-primitives/src/ScrollArea.tsx | 80 +- packages/m3-primitives/src/SearchBar.tsx | 16 +- packages/m3-primitives/src/Select.tsx | 116 +- packages/m3-primitives/src/SelectPill.tsx | 24 +- .../m3-primitives/src/SelectTriggerButton.tsx | 50 +- packages/m3-primitives/src/ShinyButton.tsx | 11 +- packages/m3-primitives/src/ShinyToggle.tsx | 12 +- packages/m3-primitives/src/Slider.tsx | 10 +- packages/m3-primitives/src/SpaceItem.tsx | 101 +- packages/m3-primitives/src/Switch.tsx | 8 +- packages/m3-primitives/src/TabBar.tsx | 13 +- packages/m3-primitives/src/Tabs.tsx | 6 +- packages/m3-primitives/src/Toast.tsx | 36 +- packages/m3-primitives/src/ToggleGroup.tsx | 13 +- packages/m3-primitives/src/Tooltip.tsx | 75 +- packages/m3-primitives/src/Typography.tsx | 20 +- packages/m3-primitives/src/base-ui.tsx | 20 +- packages/m3-primitives/src/forms/Form.tsx | 46 +- packages/m3-primitives/src/index.ts | 76 +- packages/m3-primitives/src/keys.ts | 5 +- .../test/actions-display.test.tsx | 143 +- packages/m3-primitives/test/base-ui.test.tsx | 76 +- .../m3-primitives/test/crawlable-ssr.test.tsx | 42 +- .../m3-primitives/test/hydration.test.tsx | 9 +- packages/m3-primitives/test/inputs.test.tsx | 37 +- packages/m3-primitives/test/overlays.test.tsx | 54 +- .../test/production-contract.test.tsx | 15 +- packages/m3-primitives/tsconfig.build.json | 15 +- packages/m3-primitives/tsconfig.json | 11 +- packages/m3-react/.manifest.json | 2 +- packages/m3-react/FRAMEWORKS.md | 8 +- packages/m3-react/README.md | 259 +- packages/m3-react/adapters/tanstack.ts | 23 +- .../adaptive/use-window-size-class.ts | 7 +- packages/m3-react/data/DataTable.tsx | 69 +- packages/m3-react/data/index.ts | 6 +- packages/m3-react/generate.ts | 38 +- packages/m3-react/index.ts | 128 +- packages/m3-react/material-web-shims.d.ts | 52 +- .../m3-react/state/use-text-field-state.ts | 18 +- packages/m3-react/test/adaptive.test.tsx | 6 +- packages/m3-react/test/bundle-size.test.ts | 8 +- packages/m3-react/test/data.test.tsx | 29 +- .../test/production-contract.test.tsx | 12 +- .../m3-react/test/tanstack-adapter.test.ts | 44 +- packages/m3-react/test/transitions.test.tsx | 5 +- packages/m3-react/test/wrappers.test.tsx | 8 +- packages/m3-react/transitions/Collapse.tsx | 14 +- .../transitions/create-transition.tsx | 25 +- .../transitions/use-transition-state.ts | 39 +- packages/m3-react/tsconfig.build.json | 11 +- packages/m3-react/tsconfig.json | 19 +- packages/m3-react/wrappers/alert.ts | 10 +- packages/m3-react/wrappers/appbar.ts | 12 +- packages/m3-react/wrappers/autocomplete.ts | 10 +- packages/m3-react/wrappers/avatar.ts | 14 +- packages/m3-react/wrappers/backdrop.ts | 8 +- packages/m3-react/wrappers/badge.ts | 8 +- packages/m3-react/wrappers/banner.ts | 10 +- packages/m3-react/wrappers/breadcrumbs.ts | 8 +- packages/m3-react/wrappers/button.ts | 24 +- packages/m3-react/wrappers/buttongroup.ts | 10 +- packages/m3-react/wrappers/canvas3d.ts | 8 +- packages/m3-react/wrappers/card.ts | 8 +- packages/m3-react/wrappers/card3d.ts | 8 +- packages/m3-react/wrappers/carousel.ts | 14 +- packages/m3-react/wrappers/charts.ts | 36 +- packages/m3-react/wrappers/checkbox.ts | 10 +- packages/m3-react/wrappers/chips.ts | 26 +- packages/m3-react/wrappers/datepicker.ts | 30 +- packages/m3-react/wrappers/dialog.ts | 16 +- packages/m3-react/wrappers/divider.ts | 8 +- packages/m3-react/wrappers/effects.ts | 8 +- packages/m3-react/wrappers/elevation.ts | 8 +- packages/m3-react/wrappers/expansion.ts | 14 +- packages/m3-react/wrappers/fab.ts | 12 +- packages/m3-react/wrappers/fabmenu.ts | 16 +- packages/m3-react/wrappers/field.ts | 12 +- packages/m3-react/wrappers/focus.ts | 8 +- packages/m3-react/wrappers/globe3d.ts | 8 +- packages/m3-react/wrappers/gridlist.ts | 12 +- packages/m3-react/wrappers/icon.ts | 8 +- packages/m3-react/wrappers/iconbutton.ts | 20 +- packages/m3-react/wrappers/labs.ts | 62 +- packages/m3-react/wrappers/layout.ts | 20 +- packages/m3-react/wrappers/link.ts | 8 +- packages/m3-react/wrappers/list.ts | 12 +- .../m3-react/wrappers/loadingindicator.ts | 8 +- packages/m3-react/wrappers/menu.ts | 32 +- packages/m3-react/wrappers/mobilestepper.ts | 8 +- packages/m3-react/wrappers/navigationrail.ts | 17 +- packages/m3-react/wrappers/paginator.ts | 10 +- packages/m3-react/wrappers/popover.ts | 10 +- packages/m3-react/wrappers/progress.ts | 12 +- packages/m3-react/wrappers/radio.ts | 10 +- packages/m3-react/wrappers/rating.ts | 10 +- packages/m3-react/wrappers/ripple.ts | 8 +- packages/m3-react/wrappers/scheduler.ts | 14 +- packages/m3-react/wrappers/search.ts | 15 +- packages/m3-react/wrappers/select.ts | 34 +- packages/m3-react/wrappers/sheet.ts | 26 +- packages/m3-react/wrappers/skeleton.ts | 8 +- packages/m3-react/wrappers/slider.ts | 10 +- packages/m3-react/wrappers/snackbar.ts | 15 +- packages/m3-react/wrappers/stepper.ts | 14 +- packages/m3-react/wrappers/surface.ts | 8 +- packages/m3-react/wrappers/switch.ts | 10 +- packages/m3-react/wrappers/table.ts | 10 +- packages/m3-react/wrappers/tabs.ts | 18 +- packages/m3-react/wrappers/textfield.ts | 16 +- packages/m3-react/wrappers/timepicker.ts | 10 +- packages/m3-react/wrappers/toolbar.ts | 8 +- packages/m3-react/wrappers/tooltip.ts | 10 +- packages/m3-react/wrappers/tree.ts | 16 +- packages/m3-react/wrappers/typography.ts | 8 +- packages/m3-react/wrappers/virtualscroll.ts | 10 +- packages/m3-reader/README.md | 1 + packages/m3-reader/src/CaptionedReader.tsx | 1508 +- packages/m3-reader/src/CollectionReader.tsx | 37 +- packages/m3-reader/src/MangaReader.tsx | 1036 +- .../src/mode-page-restoration.test.tsx | 19 +- .../m3-reader/src/reader-lifecycle.test.tsx | 83 +- packages/m3-reader/src/use-focus-trap.ts | 24 +- .../src/use-mode-page-restoration.ts | 14 +- packages/m3-reader/src/use-reader-core.ts | 18 +- packages/m3-reader/styles.css | 63 +- .../m3-reader/test/crawlable-ssr.test.tsx | 13 +- packages/m3-reader/test/manga.test.tsx | 4 +- packages/m3-reader/test/reader.test.tsx | 11 +- packages/m3-reader/test/setup.ts | 5 +- packages/m3-tailwind/preset.css | 1395 +- packages/m3-tailwind/src/index.ts | 56 +- packages/m3-tailwind/src/spring.ts | 27 +- packages/m3-tailwind/test/preset.test.ts | 124 +- .../desktop/src-tauri/tauri.conf.json | 8 +- packages/m3-templates/hono/src/alt/hono.ts | 9 +- packages/m3-templates/react/REACT.md | 12 +- packages/m3-templates/react/src/web/App.tsx | 44 +- .../m3-templates/react/test/react.test.ts | 57 +- packages/m3-templates/stack.toml | 4 +- packages/m3-templates/web/src/web/main.ts | 3 +- packages/m3-templates/web/test/web.test.ts | 29 +- packages/m3-theme/README.md | 6 +- .../m3-theme/scripts/mcu-fidelity-fixture.ts | 91 +- packages/m3-theme/scripts/mcu-fixture.ts | 160 +- .../m3-theme/scripts/mcu-image-fixture.ts | 65 +- packages/m3-theme/src/brand.ts | 9 +- packages/m3-theme/src/index.ts | 50 +- packages/m3-theme/src/react.tsx | 31 +- packages/m3-theme/src/tauri.tsx | 52 +- packages/m3-theme/tailwind.css | 184 +- .../test/production-contract.test.tsx | 96 +- packages/m3-theme/test/sheets.test.ts | 91 +- packages/m3-theme/tsconfig.build.json | 11 +- packages/m3-theme/tsconfig.json | 12 +- packages/m3-tokens/README.md | 16 +- packages/m3-tokens/build.ts | 13 +- .../m3-tokens/scripts/generate-expressive.ts | 5 +- packages/m3-tokens/src/android.ts | 7 +- packages/m3-tokens/src/breakpoints.ts | 18 +- packages/m3-tokens/src/cli.ts | 10 +- packages/m3-tokens/src/dynamic-color.ts | 55 +- packages/m3-tokens/src/expressive.css | 52 +- packages/m3-tokens/src/expressive.ts | 10 +- packages/m3-tokens/src/m3-tokens.css | 39 +- packages/m3-tokens/src/theme-to-tokens.ts | 44 +- packages/m3-tokens/test/a11y-contrast.test.ts | 161 +- packages/m3-tokens/test/breakpoints.test.ts | 40 +- .../m3-tokens/test/contrast-level.test.ts | 310 +- packages/m3-tokens/test/dynamic-color.test.ts | 147 +- packages/m3-tokens/test/expressive.test.ts | 48 +- packages/m3-tokens/test/m3-tokens-css.test.ts | 8 +- packages/m3-tokens/test/native-theme.test.ts | 53 +- .../test/production-contract.test.ts | 19 +- .../m3-tokens/test/scheme-variants.test.ts | 306 +- .../m3-tokens/test/theme-to-tokens.test.ts | 158 +- packages/m3-tokens/tsconfig.json | 14 +- packages/m3/bin/m3.ts | 4 +- packages/m3/qualification/check.test.ts | 12 +- packages/m3/src/build.ts | 48 +- packages/m3/src/cli.ts | 74 +- packages/m3/src/config.ts | 54 +- packages/m3/src/i18n.ts | 29 +- packages/m3/src/index.ts | 47 +- packages/m3/src/lit.ts | 10 +- packages/m3/src/native.ts | 13 +- packages/m3/src/new.ts | 9 +- packages/m3/src/paths.ts | 11 +- packages/m3/src/plugin.ts | 62 +- packages/m3/src/react.tsx | 51 +- packages/m3/src/server.ts | 98 +- packages/m3/src/showcase.html | 1494 +- packages/m3/src/tailwind.ts | 24 +- packages/m3/src/tokens.ts | 61 +- packages/m3/src/url-imports.ts | 17 +- packages/m3/test/build.test.ts | 38 +- packages/m3/test/cli.test.ts | 117 +- packages/m3/test/config.test.ts | 47 +- packages/m3/test/fixtures/app/prism.scss | 4 +- packages/m3/test/fixtures/pages/about.tsx | 8 +- packages/m3/test/fixtures/pages/health.tsx | 6 +- packages/m3/test/fixtures/pages/index.tsx | 8 +- packages/m3/test/fixtures/pages/rpc/echo.tsx | 6 +- .../m3/test/fixtures/pages/users/[id].tsx | 9 +- packages/m3/test/helpers.ts | 9 +- packages/m3/test/i18n.test.ts | 16 +- packages/m3/test/native.test.ts | 69 +- packages/m3/test/plugin.test.ts | 86 +- packages/m3/test/proxy-boundary.test.ts | 24 +- packages/m3/test/server.test.ts | 112 +- packages/m3/test/tailwind.test.ts | 16 +- packages/material-design-icons/README.md | 6 +- .../scripts/export-theme.ts | 32 +- .../scripts/svg-to-ico.ts | 5 +- .../scripts/sync-catalogue.ts | 64 +- packages/material-design-icons/src/index.ts | 12 +- .../test/catalogue.test.ts | 19 +- packages/package-converter/src/abi.ts | 79 +- packages/package-converter/src/alpm.ts | 58 +- packages/package-converter/src/ar.ts | 8 +- packages/package-converter/src/cli.ts | 58 +- packages/package-converter/src/compression.ts | 57 +- packages/package-converter/src/convert.ts | 197 +- packages/package-converter/src/cygwin.ts | 59 +- packages/package-converter/src/deb822.ts | 65 +- packages/package-converter/src/metadata.ts | 110 +- .../package-converter/src/native-assets.ts | 83 +- packages/package-converter/src/tar.ts | 64 +- packages/package-converter/src/types.ts | 31 +- packages/package-converter/src/zstd.ts | 42 +- packages/product/README.md | 1 + .../resources/creator/docs-challonge.md | 7 +- .../yt-subs-sorter/popup/popup.html | 29 +- .../extensions/yt-subs-sorter/popup/popup.js | 31 +- .../extensions/yt-subs-sorter/src/content.js | 149 +- .../extensions/yt-subs-sorter/src/core.js | 112 +- .../yt-subs-sorter/test/core.test.js | 148 +- .../yt-subs-sorter/tools/make-icons.ts | 18 +- .../creator/glossaries/art-streams.json | 120 +- .../creator/glossaries/fgc-common.json | 250 +- .../creator/glossaries/guilty-gear.json | 56 +- .../product/resources/creator/site/build.ts | 19 +- .../product/resources/creator/site/src/app.js | 6 +- .../resources/creator/site/src/page.css | 18 +- .../resources/creator/tools/make-ico.ts | 8 +- packages/product/src/admin/access.ts | 8 +- packages/product/src/admin/cli.ts | 54 +- packages/product/src/admin/commands/acces.ts | 13 +- .../product/src/admin/commands/access-pack.ts | 12 +- .../product/src/admin/commands/diagnostic.ts | 4 +- .../src/admin/commands/entrainement.ts | 152 +- packages/product/src/admin/commands/flotte.ts | 4 +- packages/product/src/admin/commands/guide.ts | 12 +- packages/product/src/admin/commands/index.ts | 6 +- .../product/src/admin/commands/installer.ts | 14 +- .../product/src/admin/commands/interne.ts | 14 +- .../product/src/admin/commands/mise-a-jour.ts | 11 +- packages/product/src/admin/commands/pc.ts | 42 +- .../product/src/admin/commands/verifier.ts | 3 +- packages/product/src/admin/desktop.ts | 19 +- packages/product/src/admin/lib/doctor.ts | 168 +- packages/product/src/admin/lib/downloads.ts | 73 +- .../product/src/admin/lib/fleet/artifacts.ts | 19 +- packages/product/src/admin/lib/fleet/disks.ts | 22 +- .../product/src/admin/lib/fleet/native.ts | 86 +- packages/product/src/admin/lib/log.ts | 9 +- packages/product/src/admin/lib/mcp.ts | 105 +- packages/product/src/admin/lib/paths.ts | 3 +- packages/product/src/admin/lib/profile.ts | 117 +- packages/product/src/admin/lib/ssh.ts | 50 +- packages/product/src/admin/lib/steps.ts | 172 +- packages/product/src/admin/lib/system.ts | 47 +- packages/product/src/admin/lib/tools.ts | 29 +- packages/product/src/admin/lib/train.ts | 94 +- packages/product/src/admin/lib/tunnel.ts | 102 +- packages/product/src/admin/lib/ui.ts | 23 +- packages/product/src/admin/lib/update.ts | 12 +- packages/product/src/admin/lib/wireguard.ts | 65 +- packages/product/src/admin/menu-host.ts | 4 +- packages/product/src/admin/menu.ts | 47 +- packages/product/src/build-inputs.test.ts | 8 +- packages/product/src/build-inputs.ts | 41 +- packages/product/src/cli.ts | 34 +- packages/product/src/cloudflare.ts | 16 +- packages/product/src/creator/cli.ts | 19 +- .../src/creator/commands/adobe-clean.ts | 75 +- .../product/src/creator/commands/challonge.ts | 171 +- .../commands/challonge/bot-commands.ts | 31 +- .../src/creator/commands/challonge/bot.ts | 219 +- .../src/creator/commands/challonge/client.ts | 117 +- .../src/creator/commands/challonge/config.ts | 48 +- .../src/creator/commands/challonge/discord.ts | 100 +- .../src/creator/commands/challonge/gateway.ts | 19 +- .../src/creator/commands/challonge/http.ts | 18 +- .../commands/challonge/participants.ts | 44 +- .../src/creator/commands/challonge/state.ts | 4 +- .../creator/commands/challonge/tournaments.ts | 130 +- .../src/creator/commands/disk-clean.ts | 41 +- .../creator/commands/disk-clean/catalog.ts | 65 +- .../src/creator/commands/disk-clean/scan.ts | 21 +- .../src/creator/commands/img-compress.ts | 56 +- .../product/src/creator/commands/index.ts | 9 +- .../src/creator/commands/self-update.ts | 12 +- .../src/creator/commands/video-translate.ts | 8 +- .../creator/commands/video-translate/asr.ts | 116 +- .../creator/commands/video-translate/cache.ts | 3 +- .../commands/video-translate/glossary.ts | 68 +- .../commands/video-translate/layout.ts | 70 +- .../creator/commands/video-translate/llm.ts | 60 +- .../creator/commands/video-translate/media.ts | 89 +- .../commands/video-translate/options.ts | 76 +- .../commands/video-translate/pipeline.ts | 156 +- .../commands/video-translate/prompts.ts | 6 +- .../commands/video-translate/subtitles.ts | 33 +- .../commands/video-translate/translate.ts | 142 +- .../src/creator/commands/wiki-images.ts | 84 +- .../creator/commands/wiki-images/mediawiki.ts | 67 +- packages/product/src/creator/desktop.ts | 140 +- packages/product/src/downloads/app-ui.test.ts | 143 +- .../src/downloads/public-index.test.ts | 81 +- packages/product/src/downloads/search.test.ts | 71 +- packages/product/src/downloads/server.ts | 358 +- packages/product/src/setup/cli.ts | 67 +- packages/product/src/setup/r2.ts | 120 +- packages/product/src/setup/steps.ts | 138 +- packages/product/src/shared/args.ts | 5 +- packages/product/src/shared/crash.ts | 8 +- packages/product/src/shared/desktop-launch.ts | 10 +- packages/product/src/shared/desktop.ts | 51 +- packages/product/src/shared/format.ts | 5 +- packages/product/src/shared/fsutil.ts | 19 +- packages/product/src/shared/update.ts | 88 +- packages/product/src/web-server.ts | 27 +- packages/product/src/web.ts | 34 +- packages/product/test/admin/cli.test.ts | 151 +- packages/product/test/admin/desktop.test.ts | 18 +- packages/product/test/admin/doctor.test.ts | 100 +- packages/product/test/admin/downloads.test.ts | 75 +- packages/product/test/admin/helpers.ts | 28 +- packages/product/test/admin/log.test.ts | 4 +- .../product/test/admin/make-access.test.ts | 47 +- packages/product/test/admin/mcp.test.ts | 61 +- packages/product/test/admin/pc.test.ts | 21 +- .../product/test/admin/powershell.test.ts | 7 +- packages/product/test/admin/profile.test.ts | 104 +- .../product/test/admin/remote-scripts.test.ts | 267 +- packages/product/test/admin/ssh.test.ts | 54 +- packages/product/test/admin/steps.test.ts | 203 +- packages/product/test/admin/train.test.ts | 31 +- packages/product/test/admin/tunnel.test.ts | 112 +- packages/product/test/admin/update.test.ts | 29 +- packages/product/test/admin/wireguard.test.ts | 61 +- .../product/test/creator/adobe-clean.test.ts | 4 +- .../test/creator/challonge-bot.test.ts | 327 +- .../test/creator/challonge-cli.test.ts | 154 +- .../test/creator/challonge-client.test.ts | 97 +- .../test/creator/challonge-gateway.test.ts | 53 +- .../creator/challonge-tournaments.test.ts | 212 +- packages/product/test/creator/crash.test.ts | 9 +- packages/product/test/creator/desktop.test.ts | 39 +- .../product/test/creator/disk-clean.test.ts | 18 +- packages/product/test/creator/update.test.ts | 51 +- .../creator/video-translate-media.test.ts | 233 +- .../test/creator/video-translate.test.ts | 429 +- .../product/test/creator/wiki-images.test.ts | 29 +- packages/product/test/creator/zip.test.ts | 12 +- packages/product/test/downloads/seo.test.ts | 14 +- .../product/test/downloads/server.test.ts | 155 +- packages/product/test/gpu-artifacts.test.ts | 37 +- packages/product/test/gpu-fleet.test.ts | 29 +- packages/product/test/product.test.ts | 33 +- packages/product/test/setup/r2.test.ts | 33 +- packages/product/test/setup/setup.test.ts | 112 +- packages/product/test/web-server.test.ts | 67 +- packages/product/test/web.test.ts | 8 +- packages/rag-core/README.md | 2 +- packages/rag-core/src/core.ts | 168 +- packages/rag-core/src/ffi.ts | 36 +- packages/rag-core/src/wasm.ts | 8 +- packages/rag-core/test/contract.test.ts | 79 +- packages/rag-core/test/ffi-symbols.test.ts | 4 +- packages/rag-core/test/shared-wasm.test.ts | 17 +- packages/rg-ui/README.md | 469 +- packages/rg-ui/components.json | 40 +- packages/rg-ui/scripts/generer-tokens.ts | 448 +- packages/rg-ui/src/components/accordion.tsx | 130 +- .../account/account-address-form.tsx | 364 +- .../account/account-avatar-card.tsx | 376 +- .../account/account-connections.tsx | 537 +- .../account/account-credentials.tsx | 440 +- .../account/account-danger-zone.tsx | 279 +- .../account/account-profile-form.tsx | 1104 +- .../components/account/account-sessions.tsx | 431 +- .../src/components/account/account-shell.tsx | 222 +- .../src/components/account/banner-picker.tsx | 506 +- .../rg-ui/src/components/account/index.ts | 60 +- packages/rg-ui/src/components/account/tabs.ts | 51 +- .../components/account/two-factor-card.tsx | 833 +- .../account/two-factor-challenge.tsx | 306 +- .../rg-ui/src/components/account/types.ts | 120 +- .../src/components/admin-page-header.tsx | 155 +- .../rg-ui/src/components/admin-sidebar.tsx | 437 +- packages/rg-ui/src/components/adsense.tsx | 235 +- .../rg-ui/src/components/alert-dialog.tsx | 308 +- packages/rg-ui/src/components/alert.tsx | 134 +- .../rg-ui/src/components/aspect-ratio.tsx | 20 +- packages/rg-ui/src/components/avatar.tsx | 94 +- packages/rg-ui/src/components/badge.tsx | 97 +- packages/rg-ui/src/components/brand-icons.tsx | 282 +- packages/rg-ui/src/components/breadcrumb.tsx | 211 +- .../rg-ui/src/components/button-group.tsx | 161 +- packages/rg-ui/src/components/button.tsx | 115 +- packages/rg-ui/src/components/calendar.tsx | 400 +- packages/rg-ui/src/components/card.tsx | 173 +- packages/rg-ui/src/components/carousel.tsx | 471 +- packages/rg-ui/src/components/chart.tsx | 714 +- packages/rg-ui/src/components/checkbox.tsx | 61 +- packages/rg-ui/src/components/collapsible.tsx | 54 +- packages/rg-ui/src/components/combobox.tsx | 162 +- packages/rg-ui/src/components/command.tsx | 349 +- .../rg-ui/src/components/context-menu.tsx | 476 +- .../rg-ui/src/components/dashboard-grid.tsx | 132 +- .../rg-ui/src/components/dashboard-metric.tsx | 213 +- .../src/components/dashboard-stats-card.tsx | 281 +- packages/rg-ui/src/components/data-table.tsx | 170 +- packages/rg-ui/src/components/date-picker.tsx | 102 +- packages/rg-ui/src/components/dialog.tsx | 284 +- packages/rg-ui/src/components/drawer.tsx | 265 +- .../rg-ui/src/components/dropdown-menu.tsx | 485 +- packages/rg-ui/src/components/empty.tsx | 198 +- packages/rg-ui/src/components/fab.tsx | 230 +- packages/rg-ui/src/components/field.tsx | 482 +- .../rg-ui/src/components/file-uploader.tsx | 208 +- packages/rg-ui/src/components/form.tsx | 320 +- packages/rg-ui/src/components/hover-card.tsx | 82 +- packages/rg-ui/src/components/input-group.tsx | 328 +- packages/rg-ui/src/components/input-otp.tsx | 148 +- packages/rg-ui/src/components/input.tsx | 42 +- packages/rg-ui/src/components/item.tsx | 365 +- packages/rg-ui/src/components/kbd.tsx | 56 +- packages/rg-ui/src/components/label.tsx | 45 +- packages/rg-ui/src/components/menubar.tsx | 528 +- .../rg-ui/src/components/multi-select.tsx | 253 +- .../rg-ui/src/components/native-select.tsx | 118 +- .../rg-ui/src/components/navigation-bar.tsx | 176 +- .../rg-ui/src/components/navigation-menu.tsx | 329 +- .../rg-ui/src/components/navigation-rail.tsx | 225 +- .../src/components/pagination-controls.tsx | 187 +- packages/rg-ui/src/components/pagination.tsx | 269 +- packages/rg-ui/src/components/popover.tsx | 163 +- .../src/components/profil/carte-joueur.tsx | 627 +- packages/rg-ui/src/components/progress.tsx | 59 +- packages/rg-ui/src/components/radio-group.tsx | 90 +- .../rg-ui/src/components/recent-list-card.tsx | 201 +- packages/rg-ui/src/components/resizable.tsx | 100 +- .../src/components/responsive-dialog.tsx | 181 +- packages/rg-ui/src/components/scroll-area.tsx | 114 +- packages/rg-ui/src/components/select.tsx | 355 +- packages/rg-ui/src/components/separator.tsx | 56 +- packages/rg-ui/src/components/sheet.tsx | 278 +- packages/rg-ui/src/components/sidebar.tsx | 1494 +- packages/rg-ui/src/components/skeleton.tsx | 26 +- packages/rg-ui/src/components/slider.tsx | 63 +- packages/rg-ui/src/components/sonner.tsx | 52 +- packages/rg-ui/src/components/spinner.tsx | 32 +- .../rg-ui/src/components/storage-image.tsx | 161 +- packages/rg-ui/src/components/switch.tsx | 59 +- packages/rg-ui/src/components/table.tsx | 198 +- packages/rg-ui/src/components/tabs.tsx | 111 +- packages/rg-ui/src/components/textarea.tsx | 36 +- .../rg-ui/src/components/theme-provider.tsx | 182 +- .../rg-ui/src/components/theme-toggle.tsx | 74 +- .../rg-ui/src/components/toggle-group.tsx | 165 +- packages/rg-ui/src/components/toggle.tsx | 93 +- packages/rg-ui/src/components/tooltip.tsx | 118 +- packages/rg-ui/src/hooks/use-media-query.ts | 38 +- packages/rg-ui/src/hooks/use-mobile.ts | 107 +- packages/rg-ui/src/hooks/use-swipe.ts | 256 +- packages/rg-ui/src/index.ts | 243 +- packages/rg-ui/src/lib/adsense.ts | 44 +- packages/rg-ui/src/lib/badges-profil.ts | 228 +- packages/rg-ui/src/lib/galerie-cdn.ts | 310 +- packages/rg-ui/src/lib/themes.ts | 134 +- packages/rg-ui/src/lib/utils.ts | 287 +- packages/rg-ui/src/styles.css | 1720 +- packages/rg-ui/src/tokens.ts | 758 +- packages/rg-ui/test/breakpoints.test.ts | 58 +- .../test/presentation-literals-baseline.json | 20 +- .../rg-ui/test/presentation-literals.test.ts | 561 +- packages/rg-ui/test/tokens.test.ts | 372 +- packages/rg-ui/test/utils.test.ts | 394 +- packages/rg-ui/tsconfig.json | 26 +- packages/runtime-sdk/README.md | 10 +- packages/runtime-sdk/runtime.d.ts | 5 +- packages/runtime-sdk/src/artifact.ts | 41 +- packages/runtime-sdk/src/desktop-artifact.ts | 90 +- packages/runtime-sdk/src/desktop.ts | 108 +- packages/runtime-sdk/src/ffi.ts | 40 +- packages/runtime-sdk/src/gpu.ts | 76 +- packages/runtime-sdk/src/index.ts | 208 +- packages/runtime-sdk/src/modules.ts | 12 +- packages/runtime-sdk/src/python.ts | 8 +- packages/runtime-sdk/src/release.ts | 30 +- packages/runtime-sdk/src/target.ts | 5 +- packages/runtime-sdk/src/tooling.ts | 114 +- packages/runtime-sdk/test/gpu.test.ts | 18 +- .../runtime-sdk/test/python-native.test.ts | 43 +- packages/runtime-sdk/test/runtime-ffi.test.ts | 121 +- .../runtime-sdk/test/runtime_release.test.ts | 52 +- packages/runtime-sdk/test/runtime_sdk.test.ts | 380 +- packages/shenron-ui/QUALIFICATION.md | 17 +- packages/shenron-ui/README.md | 8 +- packages/shenron-ui/components.json | 46 +- .../scripts/check-css-equivalence.ts | 850 +- .../shenron-ui/scripts/check-dashboard-css.ts | 743 +- .../shenron-ui/scripts/check-portability.ts | 29 +- .../shenron-ui/scripts/generate-tokens.ts | 429 +- .../shenron-ui/scripts/production-check.ts | 92 +- packages/shenron-ui/scripts/sync-assets.ts | 20 +- .../shenron-ui/src/admin/AdminSidebarView.tsx | 545 +- .../shenron-ui/src/admin/QueryProvider.tsx | 52 +- .../shenron-ui/src/admin/RythmeSparkline.tsx | 138 +- packages/shenron-ui/src/api-access.tsx | 112 +- packages/shenron-ui/src/barre-nav.css | 220 +- .../src/cinematic/AnimeMomentCard.tsx | 334 +- .../src/cinematic/AuraContainer.tsx | 208 +- .../shenron-ui/src/cinematic/KenBurns.tsx | 162 +- .../src/cinematic/KiAuraContainer.tsx | 183 +- .../src/cinematic/OfficialMediaCard.tsx | 203 +- packages/shenron-ui/src/cinematic/index.ts | 20 +- .../shenron-ui/src/components/accordion.tsx | 136 +- .../src/components/alert-dialog.tsx | 272 +- packages/shenron-ui/src/components/avatar.tsx | 128 +- packages/shenron-ui/src/components/badge.tsx | 101 +- packages/shenron-ui/src/components/button.tsx | 169 +- packages/shenron-ui/src/components/card.tsx | 202 +- .../shenron-ui/src/components/checkbox.tsx | 66 +- .../shenron-ui/src/components/collapsible.tsx | 49 +- packages/shenron-ui/src/components/dialog.tsx | 285 +- .../src/components/dropdown-menu.tsx | 271 +- packages/shenron-ui/src/components/input.tsx | 44 +- packages/shenron-ui/src/components/label.tsx | 34 +- .../shenron-ui/src/components/pagination.tsx | 381 +- .../shenron-ui/src/components/popover.tsx | 136 +- .../shenron-ui/src/components/progress.tsx | 85 +- .../shenron-ui/src/components/radio-group.tsx | 72 +- packages/shenron-ui/src/components/select.tsx | 275 +- .../shenron-ui/src/components/separator.tsx | 73 +- packages/shenron-ui/src/components/slider.tsx | 57 +- packages/shenron-ui/src/components/switch.tsx | 113 +- packages/shenron-ui/src/components/tabs.tsx | 107 +- .../shenron-ui/src/components/textarea.tsx | 42 +- packages/shenron-ui/src/components/toast.tsx | 210 +- packages/shenron-ui/src/components/toggle.tsx | 74 +- .../shenron-ui/src/components/tooltip.tsx | 101 +- .../src/components/toriyama-badge.tsx | 138 +- .../src/components/toriyama-panel.tsx | 128 +- .../src/components/toriyama-progress.tsx | 152 +- .../src/components/toriyama-slider.tsx | 223 +- .../src/components/toriyama-speech-bubble.tsx | 80 +- packages/shenron-ui/src/editor.css | 291 +- packages/shenron-ui/src/editorial.css | 1068 +- packages/shenron-ui/src/icones/geometries.ts | 1922 +- packages/shenron-ui/src/icones/glyphe.tsx | 121 +- packages/shenron-ui/src/icones/index.tsx | 190 +- packages/shenron-ui/src/json-ld.tsx | 18 +- packages/shenron-ui/src/layout/AdminFrame.tsx | 13 +- packages/shenron-ui/src/layout/HeroTitles.tsx | 167 +- packages/shenron-ui/src/layout/PageHeader.tsx | 80 +- packages/shenron-ui/src/layout/PageHero.tsx | 254 +- packages/shenron-ui/src/layout/PageShell.tsx | 206 +- .../shenron-ui/src/layout/SectionHeading.tsx | 180 +- .../shenron-ui/src/layout/ViewTransition.tsx | 86 +- .../shenron-ui/src/lib/page-window.test.ts | 212 +- packages/shenron-ui/src/lib/page-window.ts | 45 +- packages/shenron-ui/src/lib/utils.test.ts | 58 +- packages/shenron-ui/src/lib/utils.ts | 2 +- packages/shenron-ui/src/markdown.tsx | 106 +- .../src/navigation/DomainBarView.tsx | 52 +- .../src/navigation/FooterFabGuard.tsx | 85 +- .../shenron-ui/src/navigation/FooterFrame.tsx | 6 +- .../shenron-ui/src/navigation/HeaderFrame.tsx | 9 +- .../shenron-ui/src/navigation/LinkPager.tsx | 228 +- .../src/navigation/MobileNavFrame.tsx | 8 +- .../shenron-ui/src/navigation/NavMega.tsx | 463 +- packages/shenron-ui/src/navigation/TabNav.tsx | 157 +- packages/shenron-ui/src/public/Chip.tsx | 128 +- packages/shenron-ui/src/public/EmptyState.tsx | 150 +- .../shenron-ui/src/public/FilterDropdown.tsx | 371 +- packages/shenron-ui/src/public/MangaCard.tsx | 405 +- packages/shenron-ui/src/public/Stars.tsx | 285 +- packages/shenron-ui/src/public/StatTiles.tsx | 148 +- .../shenron-ui/src/public/StreamSkeleton.tsx | 104 +- .../shenron-ui/src/public/WikiSkeleton.tsx | 173 +- packages/shenron-ui/src/site.css | 9480 +- packages/shenron-ui/src/styles.css | 956 +- packages/shenron-ui/src/tokens.ts | 192 +- .../shenron-ui/src/toriyama-svg/couverture.ts | 691 +- .../shenron-ui/src/toriyama-svg/emblems.ts | 591 +- .../shenron-ui/src/toriyama-svg/geometry.ts | 402 +- packages/shenron-ui/src/toriyama-svg/index.ts | 18 +- .../shenron-ui/src/toriyama-svg/kinto-un.ts | 630 +- .../shenron-ui/src/toriyama-svg/palette.ts | 238 +- packages/shenron-ui/src/toriyama.css | 1095 +- .../shenron-ui/src/toriyama/DragonBall.tsx | 575 +- .../src/toriyama/DragonBallSphere.tsx | 348 +- .../src/toriyama/DragonRadarDisplay.tsx | 276 +- packages/shenron-ui/src/toriyama/KiAura.tsx | 205 +- packages/shenron-ui/src/toriyama/KintoUn.tsx | 211 +- .../shenron-ui/src/toriyama/KintoUnCloud.tsx | 234 +- packages/shenron-ui/src/toriyama/MotManga.tsx | 170 +- .../src/toriyama/MotifsCouverture.tsx | 412 +- .../src/toriyama/PotaraEarrings.tsx | 149 +- .../src/toriyama/ScouterHudOverlay.tsx | 306 +- .../shenron-ui/src/toriyama/SenzuBean.tsx | 125 +- .../src/toriyama/ShenronSilhouette.tsx | 224 +- .../src/toriyama/ToriyamaEmblem.tsx | 212 +- packages/shenron-ui/src/toriyama/index.ts | 34 +- .../shenron-ui/src/video-source-summary.tsx | 124 +- .../shenron-ui/test/dashboard-css.test.ts | 212 +- packages/shenron-ui/test/icones.test.ts | 117 +- packages/shenron-ui/test/pagination.test.ts | 158 +- packages/shenron-ui/test/portability.test.ts | 90 +- .../shenron-ui/test/portable-content.test.tsx | 53 +- packages/shenron-ui/test/purity.test.ts | 40 +- .../shenron-ui/test/reader-sharing.test.tsx | 13 +- packages/shenron-ui/test/selectors.test.ts | 126 +- packages/shenron-ui/test/styles.test.ts | 114 +- packages/shenron-ui/test/tokens.test.ts | 64 +- packages/sql/README.md | 40 +- packages/sql/src/env.ts | 262 +- packages/sql/src/postgres.ts | 204 +- packages/sql/src/redis.ts | 60 +- packages/sql/src/sqlite.ts | 119 +- packages/sql/test/env.test.ts | 275 +- packages/sql/test/postgres.test.ts | 196 +- packages/sql/test/redis.test.ts | 77 +- packages/sql/test/sqlite.test.ts | 157 +- .../common/generation/ImageGenerationMode.ts | 3 +- .../storyteller-api/src/lib/ApiManager.ts | 12 +- packages/storyteller-api/src/lib/EngineApi.ts | 1 - .../storyteller-api/src/lib/FoldersApi.ts | 5 +- .../storyteller-api/src/lib/GenerationApi.ts | 13 +- .../storyteller-api/src/lib/MediaFilesApi.ts | 14 +- .../storyteller-api/src/lib/MediaUploadApi.ts | 30 +- .../src/lib/PasswordResetApi.ts | 3 +- .../storyteller-api/src/lib/ProjectsApi.ts | 5 +- .../storyteller-api/src/lib/PromptsApi.ts | 4 +- .../src/lib/SegmentationApi.ts | 4 +- packages/storyteller-api/src/lib/TagsApi.ts | 5 +- .../storyteller-api/src/lib/UserApiKeysApi.ts | 16 +- .../src/lib/UserBookmarksApi.ts | 1 - .../src/lib/UserReferralCodesApi.ts | 10 +- packages/storyteller-api/src/lib/UsersApi.ts | 8 +- .../src/lib/config/StorytellerApiHostStore.ts | 36 +- .../src/lib/enums/EIntermediateFile.ts | 4 +- .../src/lib/enums/MediaFileType.ts | 1 - .../src/lib/assets/images/index.ts | 2 +- .../storyteller-common/src/lib/types/index.ts | 10 +- .../src/lib/types/jobcontext.ts | 3 +- .../storyteller-common/src/lib/types/queue.ts | 45 +- .../src/lib/utils/thumbnail-utils.ts | 16 +- packages/storyteller-credits/src/index.ts | 3 +- .../src/lib/state/credits-state.ts | 190 +- .../storyteller-google-analytics/src/index.ts | 7 +- .../src/lib/gtag-event.ts | 12 +- .../src/lib/gtag-login.ts | 11 +- .../src/lib/gtag-logout.ts | 11 +- .../src/lib/tag-id.ts | 2 +- packages/storyteller-icons/README.md | 4 +- packages/storyteller-icons/src/index.ts | 6 +- .../storyteller-icons/src/lib/brand-icons.tsx | 61 +- .../src/lib/custom-icons.tsx | 19 +- .../src/lib/dynamic-icon.tsx | 8 +- .../lib/cheatsheet/useCheatsheetVisibility.ts | 3 +- .../lib/components/KeybindCaptureInput.tsx | 4 +- .../storyteller-keybinds/src/lib/format.ts | 3 +- .../src/lib/keybinds-store.spec.ts | 98 +- .../src/lib/keybinds-store.ts | 4 +- .../storyteller-keybinds/src/lib/matcher.ts | 12 +- .../storyteller-keybinds/src/lib/presets.ts | 20 +- .../storyteller-keybinds/src/lib/registry.ts | 219 +- .../src/lib/settings/KeybindsSettings.tsx | 25 +- .../src/lib/settings/search.spec.ts | 43 +- .../storyteller-keybinds/src/lib/types.ts | 6 +- .../src/lib/useResolvedKeybinds.ts | 10 +- .../storyteller-markdown-content/src/index.ts | 10 +- .../lib/content/news/world-models-for-film.md | 124 +- .../src/lib/data/content.ts | 18 +- .../src/lib/markdown-content.module.css | 2 +- .../src/lib/markdown-content.spec.tsx | 10 +- .../src/lib/markdown-content.tsx | 8 +- .../src/lib/pages/NewsIndex.tsx | 20 +- .../src/lib/classes/ImageModel.ts | 28 +- .../src/lib/classes/imageModelForProvider.ts | 10 +- .../src/lib/classes/metadata/ModelCreator.ts | 75 +- .../lib/classes/metadata/ModelCreatorIcons.ts | 7 +- .../src/lib/classes/metadata/ModelMapping.ts | 5 +- .../src/lib/classes/metadata/ModelTag.ts | 1 - .../src/lib/classes/metadata/SizeOption.ts | 3 +- .../classes/properties/CommonAspectRatio.ts | 5 +- .../classes/properties/CommonResolution.ts | 5 +- .../src/lib/classes/videoOptions.ts | 20 +- .../src/lib/lists/AllModelsById.ts | 2 +- .../src/lib/lists/ImageModels.ts | 20 +- .../src/lib/lists/SplatModels.ts | 2 +- .../lib/loader/buildModelsFromListing.spec.ts | 29 +- .../src/lib/loader/buildModelsFromListing.ts | 140 +- .../src/lib/omni-gen-audio.spec.ts | 5 +- .../src/lib/omni-gen-audio.ts | 23 +- .../src/lib/omni-gen-hooks.ts | 4 +- .../src/index.ts | 3 +- .../others/GenericProviderBillingBlock.tsx | 5 +- .../src/lib/provider-billing-modal.module.css | 2 +- .../src/lib/provider-billing-modal.spec.tsx | 10 +- .../src/index.ts | 2 +- .../src/lib/provider-setup-modal.module.css | 2 +- .../src/lib/provider-setup-modal.spec.tsx | 21 +- .../src/lib/provider-setup-modal.tsx | 9 +- packages/storyteller-soundboard/src/index.ts | 4 +- .../src/lib/SoundEffect.ts | 5 +- .../src/lib/SoundManager.ts | 224 +- .../src/lib/SoundRegistry.ts | 12 +- .../storyteller-soundboard/src/test-setup.ts | 4 +- .../storyteller-subscription/src/index.ts | 7 +- .../src/lib/subscription-plans.ts | 18 +- .../src/lib/subscription-state.ts | 50 +- .../src/lib/artcraft/ArtcraftGetCredits.ts | 17 +- .../lib/artcraft/ArtcraftGetSubscription.ts | 21 +- .../lib/artcraft/task_queue/GetTaskQueue.ts | 4 +- .../task_queue/MarkTaskAsDismissed.ts | 14 +- .../lib/artcraft/task_queue/TasksNukeAll.ts | 6 +- .../src/lib/common/CommandStatus.ts | 2 - .../lib/cost_estimate/EstimateImageCost.ts | 3 +- .../lib/cost_estimate/EstimateSplatCost.ts | 3 +- .../lib/cost_estimate/EstimateVideoCost.ts | 8 +- .../lib/download/DownloadDirectoryReveal.ts | 12 +- .../src/lib/download/DownloadUrl.ts | 21 +- .../src/lib/download/LocalDownloads.ts | 14 +- .../src/lib/enqueue/EnqueueEditImage.ts | 29 +- .../enqueue/EnqueueImageBgRemovalCommand.ts | 18 +- .../src/lib/enqueue/EnqueueImageInpaint.ts | 37 +- .../src/lib/enqueue/EnqueueImageTo3dObject.ts | 5 +- .../src/lib/enqueue/EnqueueImageTo3dWorld.ts | 6 +- .../src/lib/enqueue/EnqueueImageToGaussian.ts | 5 +- .../src/lib/enqueue/EnqueueImageToVideo.ts | 23 +- .../src/lib/enqueue/EnqueueTextToImage.ts | 3 +- .../src/lib/enqueue/GenerateVideoCommand.ts | 22 +- .../src/lib/events/BasicEventWrapper.ts | 9 +- .../src/lib/events/CanvasBgRemovedEvent.ts | 38 +- .../src/lib/fal/FalBackgroundRemoval.ts | 15 +- .../src/lib/fal/FalHunyuanImageTo3d.ts | 15 +- .../src/lib/fal/FalKlingImageToVideo.ts | 15 +- .../src/lib/fal/SetFalApiKey.ts | 8 +- .../src/lib/generate/GenerateOmni.spec.ts | 42 +- .../src/lib/grok/GrokGetCredentialInfo.ts | 9 +- .../lib/media_files/MediaFileDeleteCommand.ts | 15 +- .../midjourney/MidjourneyGetCredentialInfo.ts | 9 +- .../src/lib/models/modelsStore.ts | 21 +- .../src/lib/openai/GetOpenAIApiKey.ts | 3 +- .../src/lib/openai/SetOpenAIApiKey.ts | 2 +- .../src/lib/opener/OpenUrl.ts | 10 +- .../src/lib/providers/GetProviderOrder.ts | 8 +- .../src/lib/providers/Provider.ts | 1 - .../src/lib/providers/SetProviderOrder.ts | 12 +- .../src/lib/settings/GetAppPreferences.ts | 37 +- .../src/lib/settings/UpdateAppPreference.ts | 31 +- .../src/lib/sora/SoraGetCredentialInfo.ts | 9 +- .../src/lib/sora/SoraImageRemix.ts | 24 +- .../src/lib/sora/useSoraLoginListener.ts | 4 +- .../src/lib/system/GetAppInfo.ts | 6 +- .../src/lib/util/LoadWithoutCors.ts | 4 +- .../worldlabs/WorldLabsGetCredentialInfo.ts | 9 +- .../storyteller-tauri-api/src/test-setup.ts | 4 +- .../src/lib/common/BasicEventWrapper.ts | 9 +- .../functional/CreditsBalanceChangedEvent.ts | 7 +- .../functional/ImageEditCompleteEvent.ts | 42 +- .../functional/MediaFileDeletedEvent.ts | 4 +- .../ObjectGenerationCompleteEvent.ts | 4 +- .../functional/RefreshAccountStateEvent.ts | 32 +- .../ShowProviderBillingModalEvent.ts | 34 +- .../functional/ShowProviderLoginModalEvent.ts | 34 +- .../SubscriptionPlanChangedEvent.ts | 7 +- .../TextToImageGenerationCompleteEvent.ts | 42 +- .../VideoGenerationCompleteEvent.ts | 42 +- .../src/lib/events/generation/common.ts | 1 - .../generation/useGenerationCompleteEvent.ts | 40 +- .../useGenerationEnqueueFailureEvent.ts | 44 +- .../useGenerationEnqueueSuccessEvent.ts | 42 +- .../generation/useGenerationFailedEvent.ts | 42 +- .../warning/FlashFileDownloadErrorEvent.ts | 36 +- .../warning/FlashUserInputErrorEvent.ts | 32 +- .../src/lib/FetchProxy.ts | 8 +- .../src/lib/IsDesktopApp.ts | 7 +- .../src/lib/api/GetAppPreferences.ts | 3 +- .../src/lib/api/index.ts | 3 +- .../src/lib/usePlatform.ts | 2 +- .../src/lib/useWindowControls.ts | 4 +- .../storyteller-tauri-utils/src/test-setup.ts | 4 +- .../src/lib/action-reminder-modal-signals.ts | 2 +- .../src/lib/action-reminder-modal.module.css | 2 +- .../src/lib/action-reminder-modal.spec.tsx | 10 +- .../src/lib/WaveformAudioPlayer.tsx | 7 +- packages/storyteller-ui-badge/src/index.ts | 3 +- .../src/lib/badge.module.css | 2 +- .../src/lib/badge.spec.tsx | 10 +- .../storyteller-ui-badge/src/lib/badge.tsx | 2 +- .../src/index.ts | 3 +- .../src/lib/button-dropdown.module.css | 2 +- .../src/lib/button-dropdown.spec.tsx | 10 +- .../src/index.ts | 3 +- .../src/lib/button-icon-select.module.css | 2 +- .../src/lib/button-icon-select.spec.tsx | 10 +- .../src/lib/button-icon-select.tsx | 4 +- .../storyteller-ui-button-icon/src/index.ts | 3 +- .../src/lib/button-icon.module.css | 2 +- .../src/lib/button-icon.spec.tsx | 10 +- .../src/lib/GenerateButton.tsx | 4 +- .../src/lib/GenerateIconButton.tsx | 2 +- .../src/lib/ToggleButton.tsx | 4 +- .../src/lib/button.module.css | 2 +- .../src/lib/button.spec.tsx | 10 +- .../storyteller-ui-button/src/lib/button.tsx | 4 +- .../src/index.ts | 3 +- .../src/lib/camera-settings-modal.tsx | 16 +- packages/storyteller-ui-checkbox/src/index.ts | 3 +- .../storyteller-ui-close-button/src/index.ts | 3 +- .../src/lib/close-button.module.css | 2 +- .../src/lib/close-button.spec.tsx | 10 +- .../storyteller-ui-file-uploader/src/index.ts | 3 +- .../src/lib/file-uploader.module.css | 2 +- .../src/lib/file-uploader.spec.tsx | 10 +- .../src/lib/GalleryFolderChip.tsx | 14 +- .../src/lib/folderUtils.ts | 4 +- .../src/lib/gallery-modal.module.css | 2 +- .../src/lib/gallery-modal.spec.tsx | 10 +- .../src/lib/gallery-modal.tsx | 6 +- .../src/lib/galleryDnd.ts | 5 +- .../src/lib/promptFolderDrop.tsx | 4 +- .../src/lib/GalleryRow.tsx | 4 +- .../src/lib/PendingRow.tsx | 4 +- .../src/lib/pending-video-thumbnails.spec.tsx | 38 +- .../src/lib/useGalleryData.ts | 6 +- .../src/lib/useGenerationJobs.ts | 11 +- packages/storyteller-ui-gravatar/src/index.ts | 3 +- .../src/lib/gravatar.module.css | 2 +- .../src/lib/gravatar.spec.tsx | 10 +- .../src/lib/gravatar.tsx | 2 +- .../storyteller-ui-help-menu/src/index.ts | 1 - .../src/lib/help-menu-store.ts | 2 +- .../src/lib/help-menu.spec.tsx | 10 +- .../src/lib/help-menu.tsx | 34 +- packages/storyteller-ui-input/src/index.ts | 6 +- .../src/lib/InputVector.tsx | 2 +- .../src/lib/input.module.css | 2 +- .../src/lib/input.spec.tsx | 10 +- packages/storyteller-ui-label/src/index.ts | 3 +- .../src/lib/label.module.css | 2 +- .../src/lib/label.spec.tsx | 10 +- .../src/index.ts | 7 +- .../src/lib/lightbox-modal.module.css | 2 +- .../src/lib/lightbox-modal.spec.tsx | 10 +- .../src/lib/lightbox-modal.tsx | 82 +- .../src/lib/tags/TagChipInput.tsx | 14 +- .../src/lib/tags/TagsSection.tsx | 4 +- .../storyteller-ui-list-dropdown/src/index.ts | 2 +- .../src/lib/ListDropdown.tsx | 9 +- .../src/index.ts | 3 +- .../src/lib/loading-spinner.module.css | 2 +- .../src/lib/loading-spinner.spec.tsx | 10 +- .../src/lib/loading-spinner.tsx | 8 +- packages/storyteller-ui-loading/src/index.ts | 4 +- .../src/lib/DesktopLoginBridge.spec.tsx | 84 +- .../src/lib/DesktopLoginBridge.tsx | 182 +- .../src/lib/LoginSuccess.module.css | 17 +- .../src/lib/LoginSuccess.tsx | 10 +- .../src/lib/NativeLoginBridge.ts | 50 +- .../src/lib/artcraft-signup.tsx | 7 +- .../src/lib/login-modal.module.css | 2 +- .../src/lib/login-modal.spec.tsx | 164 +- .../src/lib/login-modal.tsx | 102 +- .../src/index.ts | 3 +- .../src/lib/menu-icon-selector.module.css | 2 +- .../src/lib/menu-icon-selector.spec.tsx | 10 +- packages/storyteller-ui-modal/src/index.ts | 3 +- .../src/lib/modal.spec.tsx | 10 +- .../lib/classy-model-selector-store.spec.ts | 43 +- .../src/lib/classy-model-selector-store.ts | 24 +- .../src/lib/classy-model-selector.spec.tsx | 68 +- .../src/lib/classy-model-selector.tsx | 11 +- .../src/lib/model-selectors-for-pages.tsx | 18 +- .../src/lib/provider-icons.tsx | 10 +- .../src/lib/provider-selector.tsx | 23 +- .../src/lib/BoardPicker.tsx | 6 +- .../src/lib/MoodboardWorkspace.tsx | 21 +- .../src/lib/boards/BoardLibraryStore.spec.ts | 12 +- .../src/lib/boards/BoardLibraryStore.ts | 39 +- .../src/lib/boards/boardSelectors.ts | 6 +- .../src/lib/boards/measureMedia.ts | 8 +- .../src/lib/canvas/FloatingToolbar.tsx | 6 +- .../src/lib/canvas/MoodboardBackground.tsx | 6 +- .../src/lib/canvas/MoodboardStage.tsx | 88 +- .../src/lib/canvas/MoodboardStore.ts | 66 +- .../src/lib/canvas/MoodboardToolbar.tsx | 28 +- .../lib/canvas/interactions/useNodeDrag.ts | 3 +- .../lib/canvas/interactions/useSelection.ts | 10 +- .../canvas/interactions/useStagePointer.ts | 4 +- .../lib/canvas/interactions/useTransformer.ts | 9 +- .../canvas/layout/clusterProximity.spec.ts | 10 +- .../src/lib/canvas/layout/packCollage.spec.ts | 22 +- .../src/lib/canvas/layout/packCollage.ts | 7 +- .../lib/canvas/layout/pointInPolygon.spec.ts | 34 +- .../src/lib/canvas/layout/snapping.spec.ts | 4 +- .../src/lib/canvas/layout/snapping.ts | 12 +- .../src/lib/canvas/nodes/GroupNode.tsx | 5 +- .../src/lib/canvas/nodes/ImageNode.tsx | 5 +- .../src/lib/canvas/nodes/TextNode.tsx | 5 +- .../src/lib/canvas/nodes/VideoNode.tsx | 5 +- .../src/lib/canvas/overlays/shortcuts.ts | 10 +- .../src/lib/canvas/types.ts | 6 +- .../src/lib/grid/BoardCard.tsx | 21 +- .../src/lib/grid/BoardGridToolbar.tsx | 18 +- .../src/lib/grid/BoardGridView.tsx | 20 +- .../src/lib/grid/ColorPickerPopover.tsx | 7 +- .../src/lib/grid/Favicon.tsx | 4 +- .../src/lib/grid/ItemInspector.tsx | 22 +- .../src/lib/grid/PresentationView.tsx | 6 +- .../src/lib/grid/SectionHeader.tsx | 6 +- .../src/lib/grid/SelectionBar.tsx | 17 +- .../src/lib/grid/SmartSearchBar.tsx | 6 +- .../src/lib/grid/gridLayout.spec.ts | 32 +- .../src/lib/grid/gridLayout.ts | 14 +- .../src/lib/persistence/documents.spec.ts | 23 +- .../src/lib/persistence/documents.ts | 1 - .../src/lib/persistence/moodboardSync.ts | 11 +- .../tsconfig.spec.json | 8 +- packages/storyteller-ui-pagedraw/src/index.ts | 12 +- .../src/lib/BlankCanvasModal.tsx | 11 +- .../src/lib/HistoryStack.tsx | 33 +- .../storyteller-ui-pagedraw/src/lib/Node.ts | 14 +- .../src/lib/PaintSurface.tsx | 512 +- .../src/lib/PromptEditor/ImagePreview.tsx | 46 +- .../lib/PromptEditor/ImageStyleSelector.tsx | 20 +- .../src/lib/components/Model3DOverlay.tsx | 533 +- .../src/lib/components/ui/ContextMenu.tsx | 220 +- .../src/lib/components/ui/SideToolbar.tsx | 66 +- .../src/lib/hooks/useCenteredStage.ts | 54 +- .../src/lib/hooks/usePagedrawKeybinds.ts | 4 +- .../src/lib/stores/SceneState.ts | 63 +- .../utilities/EncodeImageBitmapToBase64.ts | 7 +- .../src/lib/utilities/canvasHelpers.ts | 12 +- .../src/lib/utilities/render3DModel.spec.ts | 16 +- .../src/lib/utilities/render3DModel.ts | 5 +- packages/storyteller-ui-pagescene/AGENTS.md | 18 +- packages/storyteller-ui-pagescene/CLAUDE.md | 18 +- .../storyteller-ui-pagescene/src/index.ts | 30 +- .../src/lib/PageSceneStore.ts | 15 +- .../src/lib/Stage3DBody.tsx | 187 +- .../src/lib/actions/setObjectColor.ts | 15 +- .../src/lib/actions/timeline.ts | 25 +- .../src/lib/actions/toggleObjectVisibility.ts | 4 +- .../src/lib/adapter.ts | 22 +- .../lib/comps/AnonHintChip/AnonHintChip.tsx | 2 +- .../comps/AspectRatioMenu/AspectRatioMenu.tsx | 18 +- .../lib/comps/AssetMenu/AnimationsModal.tsx | 16 +- .../src/lib/comps/AssetMenu/AssetModal.tsx | 229 +- .../AssetMenu/hooks/useFeaturedObjects.tsx | 5 +- .../comps/AssetMenu/hooks/useUserObjects.tsx | 5 +- .../comps/AssetMenu/shared/ItemElement.tsx | 12 +- .../comps/AssetMenu/shared/ItemElements.tsx | 4 +- .../src/lib/comps/AssetMenu/utilities/misc.ts | 6 +- .../CameraStatusPill/CameraStatusPill.tsx | 4 +- .../CompletionModal/CompletionModal.spec.tsx | 49 +- .../comps/CompletionModal/CompletionModal.tsx | 43 +- .../ControlPanelSceneObject.tsx | 23 +- .../DraggablePrecisionMutator.tsx | 142 +- .../comps/ControlPanelSceneObject/index.tsx | 2 +- .../ControlsTopButtons/ControlsTopButtons.tsx | 7 +- .../NewSceneFromTemplate.tsx | 6 +- .../src/lib/comps/EngineCanvases.tsx | 18 +- .../comps/ExitCameraView/ExitCameraView.tsx | 2 +- .../src/lib/comps/Outliner/Outliner.tsx | 18 +- .../src/lib/comps/PreviewBox/PreviewBox.tsx | 2 +- .../PreviewEngineCamera.tsx | 9 +- .../src/lib/comps/PreviewImages.tsx | 4 +- .../comps/RecordControls/RecordControls.tsx | 4 +- .../lib/comps/SceneContainer/CameraFrame.tsx | 5 +- .../src/lib/comps/Timeline/TimelineBar.tsx | 7 +- .../lib/comps/Timeline/TimelineClipRow.tsx | 4 +- .../src/lib/comps/Timeline/TimelineEditor.tsx | 33 +- .../lib/comps/Timeline/TimelineTrackRow.tsx | 3 +- .../lib/engine/KinHelpers/BoneJSONHelper.ts | 7 +- .../src/lib/engine/KinHelpers/FKBoneFilter.ts | 2 +- .../src/lib/engine/KinHelpers/FKHelper.ts | 30 +- .../src/lib/engine/TransformControls.js | 2 +- .../animation/CharacterAnimationManager.ts | 3 +- .../src/lib/engine/cameraMath.ts | 13 +- .../src/lib/engine/editor.ts | 21 +- .../src/lib/engine/editor/GizmoController.ts | 3 +- .../engine/editor/PostProcessingPipeline.ts | 4 +- .../lib/engine/editor/TimelineController.ts | 4 +- .../engine/editor/ViewportController.spec.ts | 8 +- .../lib/engine/editor/actions/CreateAction.ts | 6 +- .../lib/engine/editor/actions/DeleteAction.ts | 6 +- .../src/lib/engine/entrance/meshDrop.ts | 12 +- .../src/lib/engine/entrance/splatSettle.ts | 4 +- .../src/lib/engine/entranceAnimation.ts | 4 +- .../src/lib/engine/events/EngineEvent.ts | 5 +- .../src/lib/engine/helper.ts | 2 +- .../src/lib/engine/keybinds_controls.ts | 16 +- .../src/lib/engine/keymap.ts | 9 +- .../lib/engine/recording/TimelineRecorder.ts | 7 +- .../src/lib/engine/save_manager.ts | 5 +- .../src/lib/engine/scene.ts | 83 +- .../src/lib/engine/scene_manager_api.ts | 20 +- .../src/lib/enums/MediaFileType.ts | 1 - .../src/lib/hooks/useFreeCam.ts | 15 +- .../src/lib/hooks/useViewportKeyboard.ts | 5 +- .../src/lib/hooks/useViewportSize.ts | 11 +- .../src/lib/popover.tsx | 32 +- .../imageAspectRatioToCommonAspectRatio.ts | 12 +- .../src/lib/cost-breakdown-modal-store.ts | 5 +- .../src/lib/cost-breakdown-modal.tsx | 22 +- .../src/lib/cost-calculator-button.tsx | 4 +- .../src/lib/pricing-modal-store.ts | 14 +- .../src/lib/pricing-modal.module.css | 2 +- .../src/lib/pricing-modal.spec.tsx | 10 +- .../src/lib/useImageCostEstimate.ts | 31 +- .../src/lib/useSplatCostEstimate.ts | 4 +- .../src/lib/useVideoCostEstimate.spec.tsx | 39 +- .../src/lib/useVideoCostEstimate.ts | 91 +- .../src/lib/pricing-promo-banner.tsx | 2 +- .../src/lib/pricing-table.tsx | 9 +- .../src/lib/website-pricing-table.css | 4 +- .../src/lib/CharactersModal.tsx | 97 +- .../src/lib/ImagePromptRow.tsx | 89 +- .../src/lib/MentionChipMenu.tsx | 30 +- .../src/lib/MentionTextarea.tsx | 18 +- .../src/lib/PromptBox2D.tsx | 28 +- .../src/lib/PromptBox3D.tsx | 309 +- .../src/lib/PromptBoxAudio.tsx | 38 +- .../src/lib/PromptBoxEdit.tsx | 49 +- .../src/lib/PromptBoxErrorBoundary.tsx | 4 +- .../src/lib/PromptBoxImage.tsx | 29 +- .../src/lib/PromptBoxVideo.tsx | 106 +- .../src/lib/PromptClearAllButton.tsx | 5 +- .../src/lib/PromptFullscreenButton.tsx | 4 +- .../src/lib/common/AudioReferenceRow.tsx | 26 +- .../src/lib/common/AudioTuningPopover.tsx | 2 +- .../src/lib/common/GenerationCountPicker.tsx | 2 +- .../src/lib/common/QualityPicker.tsx | 2 +- .../src/lib/common/ResolutionPicker.tsx | 11 +- .../src/lib/common/SoundsSettingsPopover.tsx | 2 +- .../src/lib/common/StylePromptRow.tsx | 6 +- .../lib/common/VideoGenerationCountPicker.tsx | 2 +- .../src/lib/deck/DeckCard.tsx | 30 +- .../src/lib/deck/KeyframeCards.tsx | 2 +- .../src/lib/deck/useDeckMedia.tsx | 14 +- .../src/lib/deck/usePromptBoxDrop.tsx | 5 +- .../src/lib/promptStore.ts | 20 +- .../src/lib/useAutoGrowEditorHeight.ts | 4 +- packages/storyteller-ui-select/src/index.ts | 3 +- .../src/lib/select.module.css | 2 +- .../src/lib/select.spec.tsx | 10 +- .../src/index.ts | 5 +- .../src/lib/panes/AboutSettingsPane.tsx | 60 +- .../AccountSettings/ArtcraftAccountBlock.tsx | 8 +- .../AccountSettings/GrokAccountBlock.tsx | 27 +- .../MidjourneyAccountBlock.tsx | 33 +- .../panes/AccountSettings/OpenAIKeyBlock.tsx | 6 +- .../src/lib/panes/AudioSettingsPane.tsx | 9 +- .../src/lib/panes/BillingSettingsPane.tsx | 14 +- .../lib/panes/DownloadsSettingsPane.spec.tsx | 57 +- .../src/lib/panes/DownloadsSettingsPane.tsx | 51 +- .../lib/panes/ExperimentalSettingsPane.tsx | 8 +- .../src/lib/panes/MiscSettingsPane.tsx | 3 +- .../panes/ProviderPrioritySettingsPane.tsx | 41 +- .../src/lib/settings-modal.module.css | 2 +- .../src/lib/settings-modal.spec.tsx | 10 +- .../src/lib/settings-modal.tsx | 20 +- packages/storyteller-ui-sliderv2/src/index.ts | 3 +- .../src/lib/slider-v2.tsx | 12 +- packages/storyteller-ui-switch/src/index.ts | 3 +- .../src/lib/switch.module.css | 2 +- .../src/lib/switch.spec.tsx | 10 +- .../storyteller-ui-switch/src/lib/switch.tsx | 11 +- .../storyteller-ui-tab-selector/src/index.ts | 3 +- .../src/lib/tab-selector.module.css | 2 +- .../src/lib/tab-selector.spec.tsx | 10 +- packages/storyteller-ui-toaster/src/index.ts | 3 +- packages/storyteller-ui-tooltip/src/index.ts | 3 +- .../src/lib/tooltip.module.css | 2 +- .../src/lib/tooltip.spec.tsx | 10 +- .../storyteller-ui-upload-modal/src/index.ts | 2 +- .../src/lib/Types.ts | 6 +- .../src/lib/UploadModal3D/UploadFiles3D.tsx | 206 +- .../src/lib/UploadModal3D/UploadModal3D.tsx | 1 - .../utilities/loadPreviewOnCanvas.spec.ts | 5 +- .../utilities/loadPreviewOnCanvas.ts | 24 +- .../UploadModal3D/utilities/uploadAsset.ts | 6 +- .../lib/UploadModalImage/UploadFilesImage.tsx | 116 +- .../lib/UploadModalImage/UploadModalImage.tsx | 1 - .../lib/UploadModalSplat/UploadFilesSplat.tsx | 138 +- .../lib/UploadModalSplat/UploadModalSplat.tsx | 11 +- .../src/lib/UploadSuccess.tsx | 4 +- .../src/lib/PromptBoxVFX.tsx | 23 +- .../src/lib/TruchetPattern.tsx | 7 +- .../src/lib/VFXResultCard.tsx | 17 +- packages/storyteller-ui-vfx/src/lib/api.ts | 9 +- packages/storyteller-ui-vfx/src/lib/store.ts | 13 +- .../storyteller-ui-video-editor/src/index.ts | 76 +- .../src/lib/VideoEditor.tsx | 60 +- .../src/lib/actions/keybinding.ts | 60 +- .../src/lib/actions/types.ts | 7 +- .../src/lib/actions/use-editor-actions.ts | 16 +- .../default/indexeddb-project-storage.ts | 10 +- .../src/lib/animation/curve-bridge.ts | 11 +- .../src/lib/animation/effect-param-channel.ts | 5 +- .../src/lib/animation/graph-channels.ts | 9 +- .../lib/animation/graphic-param-channel.ts | 5 +- .../src/lib/animation/index.ts | 5 +- .../src/lib/animation/interpolation.ts | 9 +- .../src/lib/animation/keyframe-query.ts | 30 +- .../src/lib/animation/keyframes.ts | 54 +- .../src/lib/animation/resolve.ts | 15 +- .../src/lib/animation/types.ts | 3 +- .../src/lib/clipboard/handlers/keyframes.ts | 49 +- .../src/lib/commands/base-command.ts | 4 +- .../src/lib/commands/media/add-media-asset.ts | 3 +- .../lib/commands/media/remove-media-asset.ts | 7 +- .../src/lib/commands/scene/delete-scene.ts | 8 +- .../src/lib/commands/scene/move-bookmark.ts | 8 +- .../src/lib/commands/scene/remove-bookmark.ts | 5 +- .../src/lib/commands/scene/update-bookmark.ts | 8 +- .../lib/commands/timeline/clipboard/paste.ts | 14 +- .../timeline/element/delete-elements.ts | 11 +- .../timeline/element/duplicate-elements.ts | 11 +- .../timeline/element/insert-element.ts | 55 +- .../element/keyframes/remove-keyframe.ts | 5 +- .../element/keyframes/retime-keyframe.ts | 7 +- .../keyframes/update-scalar-keyframe-curve.ts | 5 +- .../keyframes/upsert-effect-param-keyframe.ts | 12 +- .../element/keyframes/upsert-keyframe.ts | 12 +- .../element/masks/toggle-mask-inverted.ts | 4 +- .../timeline/element/move-elements.ts | 34 +- .../timeline/element/split-elements.ts | 34 +- .../element/toggle-source-audio-separation.ts | 18 +- .../lib/commands/timeline/track/add-track.ts | 5 +- .../commands/timeline/track/remove-track.ts | 4 +- .../timeline/track/toggle-track-mute.ts | 3 +- .../src/lib/components/editable-timecode.tsx | 6 +- .../editor/editor-error-boundary.tsx | 4 +- .../lib/components/editor/editor-header.tsx | 5 +- .../lib/components/editor/export-button.tsx | 25 +- .../lib/components/editor/use-auth-user.ts | 5 +- .../src/lib/components/icons/brand.tsx | 10 +- .../src/lib/components/icons/types.ts | 2 +- .../src/lib/components/icons/ui.tsx | 44 +- .../src/lib/components/ui/color-picker.tsx | 130 +- .../src/lib/components/ui/font-picker.tsx | 27 +- .../src/lib/components/ui/input.tsx | 6 +- .../src/lib/components/ui/number-field.tsx | 10 +- .../src/lib/components/ui/resizable.tsx | 10 +- .../core/__tests__/editor-core-smoke.spec.ts | 4 +- .../src/lib/core/managers/project-manager.ts | 17 +- .../src/lib/core/managers/renderer-manager.ts | 12 +- .../src/lib/core/managers/timeline-manager.ts | 10 +- .../src/lib/data/colors/pattern-craft.ts | 88 +- .../src/lib/data/colors/solid.ts | 484 +- .../src/lib/data/colors/syntax-ui.tsx | 38 +- .../src/lib/editor/use-editor.ts | 8 +- .../src/lib/effects/definitions/blur.ts | 33 +- .../src/lib/effects/registry.ts | 5 +- .../src/lib/fps/utils.ts | 8 +- .../src/lib/gradients/canvas.ts | 3 +- .../src/lib/gradients/parser.ts | 7 +- .../src/lib/graphics/definitions/polygon.ts | 25 +- .../src/lib/graphics/definitions/rectangle.ts | 3 +- .../src/lib/graphics/definitions/star.ts | 5 +- .../src/lib/graphics/registry.ts | 5 +- .../src/lib/graphics/stroke.ts | 7 +- .../src/lib/guides/definitions/grid.tsx | 6 +- .../builtin/definitions/cinematic-bars.ts | 3 +- .../lib/masks/builtin/definitions/heart.ts | 8 +- .../lib/masks/builtin/definitions/split.ts | 14 +- .../src/lib/masks/builtin/definitions/text.ts | 5 +- .../src/lib/masks/components/masks-tab.tsx | 254 +- .../src/lib/masks/freeform/definition.ts | 9 +- .../src/lib/masks/types.ts | 5 +- .../src/lib/masks/use-mask-handles.ts | 125 +- .../src/lib/media/audio.ts | 6 +- .../src/lib/media/processing.ts | 11 +- .../src/lib/media/types.ts | 6 +- .../src/lib/media/waveform-summary.ts | 6 +- .../assets/views/settings/background.tsx | 39 +- .../panels/assets/views/settings/index.tsx | 60 +- .../components/element-params-tab.tsx | 6 +- .../components/property-param-field.tsx | 4 +- .../src/lib/panels/properties/registry.tsx | 13 +- .../src/lib/params/index.ts | 73 +- .../src/lib/params/registry.ts | 29 +- .../src/lib/preview/components/index.tsx | 38 +- .../lib/preview/components/mask-handles.tsx | 30 +- .../preview/components/preview-viewport.tsx | 4 +- .../preview/components/text-edit-overlay.tsx | 12 +- .../src/lib/preview/components/toolbar.tsx | 28 +- .../preview-interaction-controller.ts | 34 +- .../src/lib/preview/element-bounds.ts | 3 +- .../preview/hooks/use-preview-interaction.ts | 13 +- .../preview/hooks/use-transform-handles.ts | 7 +- .../src/lib/preview/overlays.ts | 5 +- .../src/lib/preview/preview-coords.ts | 9 +- .../src/lib/preview/preview-snap.ts | 68 +- .../src/lib/retime/audio-stretch.ts | 49 +- .../src/lib/ripple/diff.ts | 34 +- .../src/lib/selection/context.tsx | 11 +- .../src/lib/selection/selectable-surface.tsx | 14 +- .../src/lib/selection/state.ts | 12 +- .../src/lib/selection/types.ts | 8 +- .../lib/services/renderer/compositor/types.ts | 3 +- .../src/lib/services/renderer/resolve.ts | 13 +- .../storage/__tests__/serialization.spec.ts | 4 +- .../lib/stickers/components/assets-view.tsx | 4 +- .../src/lib/stickers/providers/index.ts | 5 +- .../src/lib/stickers/providers/shapes.ts | 9 +- .../src/lib/stickers/registry.ts | 5 +- .../src/lib/text/layout.ts | 8 +- .../src/lib/text/measure-element.ts | 11 +- .../src/lib/text/primitives.ts | 6 +- .../src/lib/timeline/animation-targets.ts | 12 +- .../bookmarks/components/bookmarks.tsx | 5 +- .../bookmarks/hooks/use-bookmark-drag.ts | 6 +- .../src/lib/timeline/bookmarks/index.ts | 1 - .../timeline/components/audio-volume-line.tsx | 5 +- .../lib/timeline/components/drop-target.ts | 43 +- .../timeline/components/expanded-layout.ts | 13 +- .../components/graph-editor/bezier-graph.tsx | 29 +- .../graph-editor/custom-presets-store.ts | 4 +- .../components/graph-editor/popover.tsx | 39 +- .../components/graph-editor/session.ts | 6 +- .../components/selection-hit-testing.ts | 14 +- .../timeline/components/timeline-element.tsx | 9 +- .../timeline/components/timeline-playhead.tsx | 14 +- .../timeline/controllers/resize-controller.ts | 8 +- .../timeline/controllers/seek-controller.ts | 7 +- .../src/lib/timeline/element-utils.ts | 5 +- .../timeline/group-resize/compute-resize.ts | 6 +- .../hooks/element/use-element-selection.ts | 2 - .../hooks/element/use-keyframe-box-select.ts | 5 +- .../lib/timeline/hooks/use-element-preview.ts | 4 +- .../hooks/use-snap-indicator-position.ts | 4 +- .../src/lib/timeline/placement/index.ts | 16 +- .../src/lib/timeline/placement/types.ts | 3 +- .../src/lib/timeline/ruler-utils.ts | 5 +- .../src/lib/timeline/snapping/types.ts | 6 +- .../src/lib/timeline/track-element-update.ts | 16 +- .../src/lib/timeline/types.ts | 9 +- .../src/lib/timeline/update-pipeline.ts | 4 +- .../src/lib/timeline/zoom-utils.ts | 5 +- .../src/lib/utils/geometry.ts | 9 +- .../src/lib/utils/math.ts | 4 +- .../storyteller-ui-viewer-3d/src/index.ts | 7 +- .../src/lib/NodeHierarchyHelper.ts | 4 +- .../src/lib/viewer-3d.module.css | 2 +- .../src/lib/viewer-3d.spec.tsx | 5 +- .../src/lib/viewer-3d.tsx | 9 +- packages/update/src/cargo.ts | 19 +- packages/update/src/cli.ts | 14 +- packages/update/src/context.ts | 19 +- packages/update/src/deps/inventory.ts | 179 +- packages/update/src/deps/sync.ts | 177 +- packages/update/src/ecosystems/bun.ts | 250 +- packages/update/src/ecosystems/rust-doctor.ts | 286 +- packages/update/src/ecosystems/rust.ts | 423 +- packages/update/src/ecosystems/uv.ts | 413 +- packages/update/src/job-hosts.ts | 171 +- packages/update/src/manifests.ts | 17 +- packages/update/src/pins.ts | 67 +- packages/update/src/process.ts | 18 +- packages/update/src/sources/drift.ts | 76 +- packages/update/src/sources/restore.ts | 182 +- packages/update/src/sources/upstream.ts | 94 +- packages/update/src/systemd.ts | 177 +- packages/update/src/tauri/apps.ts | 180 +- packages/update/src/tauri/sync.ts | 313 +- packages/update/src/tools.ts | 41 +- packages/update/test/bun.test.ts | 130 +- packages/update/test/deps.test.ts | 107 +- packages/update/test/job-hosts.test.ts | 194 +- packages/update/test/pins.test.ts | 17 +- packages/update/test/process.test.ts | 9 +- packages/update/test/rust-doctor.test.ts | 112 +- packages/update/test/rust.test.ts | 130 +- packages/update/test/sources-restore.test.ts | 48 +- packages/update/test/sources.test.ts | 20 +- packages/update/test/systemd-jobs.test.ts | 99 +- packages/update/test/systemd.test.ts | 10 +- packages/update/test/tauri-apps.test.ts | 127 +- .../update/test/tauri-crate-archive.test.ts | 17 +- packages/update/test/tauri-sync-apply.test.ts | 69 +- packages/update/test/tauri-sync.test.ts | 68 +- packages/update/test/upstream.test.ts | 7 +- packages/update/test/uv.test.ts | 163 +- .../web-to-tauri/fixtures/policy-cases.json | 11 +- packages/web-to-tauri/src/cli.ts | 53 +- packages/web-to-tauri/src/drivers.ts | 54 +- packages/web-to-tauri/src/generate.ts | 53 +- packages/web-to-tauri/src/parity.ts | 40 +- packages/web-to-tauri/src/plan.ts | 96 +- packages/web-to-tauri/src/policy.ts | 22 +- packages/web-to-tauri/src/probe.ts | 125 +- packages/web-to-tauri/src/signals.ts | 133 +- packages/web-to-tauri/test/fixtures.ts | 36 +- packages/web-to-tauri/test/generate.test.ts | 134 +- packages/web-to-tauri/test/parity.test.ts | 63 +- packages/web-to-tauri/test/plan.test.ts | 133 +- packages/web-to-tauri/test/policy.test.ts | 33 +- packages/web-to-tauri/test/probe.test.ts | 44 +- packages/web-to-tauri/test/signals.test.ts | 50 +- packages/winclean/README.md | 1 + packages/winclean/examples/observe.ts | 4 +- packages/winclean/src/bun-windows.ts | 83 +- packages/winclean/src/catalog.ts | 6853 +- packages/winclean/src/generated.ts | 429 +- packages/winclean/src/index.ts | 24 +- packages/winclean/src/result.ts | 12 +- packages/winclean/test/bun-windows.test.ts | 52 +- packages/winclean/test/winclean.test.ts | 7 +- .../src/agent-home-drive-reconcile.ts | 277 +- .../workspace/src/agent-home-drive-sync.ts | 150 +- .../workspace/src/agent-home-rag-status.ts | 41 +- packages/workspace/src/agent-home-replica.ts | 29 +- packages/workspace/src/agent-home-revision.ts | 34 +- packages/workspace/src/agent-home.ts | 95 +- packages/workspace/src/agent-live.ts | 141 +- .../workspace/src/agent-plugin-providers.ts | 198 +- packages/workspace/src/agent-plugin-store.ts | 284 +- packages/workspace/src/agent-plugin-sync.ts | 3 +- packages/workspace/src/agent-plugins.ts | 141 +- packages/workspace/src/agent-sync.ts | 49 +- packages/workspace/src/ai-release-gate.ts | 8 +- packages/workspace/src/aphrody-packages.ts | 363 +- packages/workspace/src/audit-scripts.ts | 21 +- .../workspace/src/automation-inventory.ts | 37 +- packages/workspace/src/binaries.ts | 40 +- packages/workspace/src/bridges.ts | 17 +- .../workspace/src/build-factory-cleanup.ts | 133 +- .../workspace/src/build-factory-install.ts | 199 +- packages/workspace/src/build-factory-jobs.ts | 56 +- .../workspace/src/build-factory-source.ts | 40 +- packages/workspace/src/build-factory-ui.ts | 40 +- packages/workspace/src/build-factory.ts | 404 +- packages/workspace/src/build-fleet.ts | 118 +- .../workspace/src/bun-dependency-builds.ts | 20 +- packages/workspace/src/bun-native.ts | 235 +- packages/workspace/src/bun-reference.ts | 20 +- packages/workspace/src/bun-upstream-docs.ts | 109 +- packages/workspace/src/bun-workspace.ts | 85 +- packages/workspace/src/canonical-tar.ts | 89 +- packages/workspace/src/cargo-boundaries.ts | 25 +- .../workspace/src/cargo-package-repair.ts | 29 +- packages/workspace/src/cargo-release-audit.ts | 119 +- packages/workspace/src/clean-public-ai.ts | 32 +- packages/workspace/src/cli-help.ts | 138 +- packages/workspace/src/cli.ts | 15 +- packages/workspace/src/client.ts | 7 +- packages/workspace/src/code-edit.ts | 174 +- packages/workspace/src/consolidation.ts | 549 +- packages/workspace/src/desktop-smoke.ts | 63 +- packages/workspace/src/discord.ts | 19 +- packages/workspace/src/docs-consolidation.ts | 815 +- packages/workspace/src/docs-gen.ts | 153 +- packages/workspace/src/docs-links.ts | 112 +- packages/workspace/src/docs-overlaps.ts | 22 +- packages/workspace/src/docs-site.ts | 55 +- packages/workspace/src/docs-source.ts | 41 +- packages/workspace/src/documentation.ts | 187 +- packages/workspace/src/drive-daemon.ts | 17 +- .../workspace/src/drive-upstream-audit.ts | 42 +- packages/workspace/src/ecosystem-deps.ts | 60 +- packages/workspace/src/fleet.ts | 18 +- packages/workspace/src/git-attribution.ts | 36 +- packages/workspace/src/gitignored-audit.ts | 39 +- packages/workspace/src/host-paths.ts | 140 +- packages/workspace/src/iecode-doctor.test.ts | 11 +- packages/workspace/src/iecode-doctor.ts | 69 +- packages/workspace/src/imports-exports.ts | 161 +- packages/workspace/src/index.ts | 28 +- packages/workspace/src/infra-audit.ts | 247 +- packages/workspace/src/infra-config-import.ts | 77 +- .../workspace/src/infra-scripts-import.ts | 53 +- packages/workspace/src/inline-interpreters.ts | 122 +- packages/workspace/src/jan-absorption.ts | 68 +- packages/workspace/src/mcp-environment.ts | 213 +- packages/workspace/src/monorepo-audit.ts | 49 +- packages/workspace/src/monorepo-gate.ts | 154 +- packages/workspace/src/n2b.ts | 4 +- packages/workspace/src/native-desktop.ts | 29 +- packages/workspace/src/native-runtime.test.ts | 329 +- packages/workspace/src/native-runtime.ts | 104 +- packages/workspace/src/ops-isolation.test.ts | 42 +- packages/workspace/src/ops.ts | 163 +- packages/workspace/src/optimize.ts | 25 +- packages/workspace/src/packages.ts | 12 +- packages/workspace/src/path-audit.ts | 59 +- packages/workspace/src/pipeline-catalog.ts | 33 +- packages/workspace/src/plugin-facts.ts | 32 +- packages/workspace/src/portable-fs.ts | 8 +- packages/workspace/src/powershell-syntax.ts | 19 +- packages/workspace/src/python-quality.ts | 38 +- packages/workspace/src/python-workspace.ts | 82 +- packages/workspace/src/repo-sync.ts | 153 +- packages/workspace/src/repository-health.ts | 42 +- packages/workspace/src/repository-state.ts | 78 +- packages/workspace/src/root-docs.ts | 12 +- packages/workspace/src/runtime-gate.ts | 28 +- packages/workspace/src/runtime-versions.ts | 15 +- packages/workspace/src/runtime.ts | 48 +- packages/workspace/src/shenron.ts | 53 +- .../workspace/src/source-licenses-import.ts | 91 +- packages/workspace/src/source-sync.ts | 144 +- packages/workspace/src/spaceui-icons.ts | 99 +- packages/workspace/src/spaceui-to-m3.ts | 24 +- packages/workspace/src/stack-dedup.ts | 102 +- packages/workspace/src/submodule-inventory.ts | 155 +- packages/workspace/src/system-packages.ts | 83 +- packages/workspace/src/tauri.ts | 90 +- .../workspace/src/vendor-license-audit.ts | 27 +- packages/workspace/src/web-migration.ts | 3 +- packages/workspace/src/windows-paths.ts | 40 +- packages/workspace/src/workspace-clean.ts | 57 +- packages/workspace/src/workspace-deps.ts | 16 +- packages/workspace/src/workspace-layout.ts | 46 +- packages/workspace/src/workspace-repair.ts | 13 +- packages/workspace/src/workspace-subsystem.ts | 80 +- .../test/agent-home-drive-reconcile.test.ts | 222 +- .../agent-home-drive-sync-persistence.test.ts | 171 +- .../test/agent-home-drive-sync.test.ts | 23 +- .../workspace/test/agent-home-locate.test.ts | 18 +- .../test/agent-home-rag-status.test.ts | 19 +- .../workspace/test/agent-home-replica.test.ts | 53 +- .../test/agent-home-revision.test.ts | 24 +- packages/workspace/test/agent-live.test.ts | 63 +- .../test/agent-plugin-store-metadata.test.ts | 44 +- .../test/agent-plugins.native.test.ts | 27 +- packages/workspace/test/agent-plugins.test.ts | 158 +- packages/workspace/test/agent-sync.test.ts | 25 +- .../workspace/test/aphrody-packages.test.ts | 110 +- .../test/automation-inventory.test.ts | 5 +- packages/workspace/test/binaries.test.ts | 13 +- .../test/build-factory-cleanup.test.ts | 769 +- .../test/build-factory-concurrency.test.ts | 126 +- .../test/build-factory-install.test.ts | 123 +- .../test/build-factory-jobs-cli.test.ts | 84 +- .../workspace/test/build-factory-jobs.test.ts | 230 +- .../test/build-factory-source.test.ts | 242 +- .../workspace/test/build-factory-ui.test.ts | 25 +- packages/workspace/test/build-factory.test.ts | 408 +- packages/workspace/test/build-fleet.test.ts | 155 +- .../test/bun-dependency-builds.test.ts | 41 +- packages/workspace/test/bun-native.test.ts | 156 +- .../workspace/test/bun-upstream-docs.test.ts | 63 +- packages/workspace/test/bun-workspace.test.ts | 95 +- packages/workspace/test/canonical-tar.test.ts | 47 +- .../test/cargo-release-audit.test.ts | 4 +- packages/workspace/test/cli-help.test.ts | 81 +- packages/workspace/test/code-edit.test.ts | 14 +- .../test/consolidation-python-target.test.ts | 4 +- packages/workspace/test/consolidation.test.ts | 72 +- .../workspace/test/docs-consolidation.test.ts | 594 +- packages/workspace/test/docs-gen.test.ts | 25 +- packages/workspace/test/docs-links.test.ts | 89 +- packages/workspace/test/docs-site.test.ts | 84 +- packages/workspace/test/docs-source.test.ts | 35 +- packages/workspace/test/documentation.test.ts | 80 +- .../test/downloads/install-ps1.test.ts | 60 +- .../test/downloads/install-sh.test.ts | 231 +- packages/workspace/test/drive-daemon.test.ts | 21 +- .../workspace/test/ecosystem-deps.test.ts | 11 +- .../workspace/test/fixtures/bun-command.ts | 11 +- .../test/fixtures/python-workspace.ts | 24 +- packages/workspace/test/host-paths.test.ts | 72 +- packages/workspace/test/infra-audit.test.ts | 103 +- .../workspace/test/infra-command-size.test.ts | 18 +- .../test/inline-interpreters.test.ts | 111 +- .../workspace/test/jan-absorption.test.ts | 23 +- .../workspace/test/mcp-environment.test.ts | 136 +- packages/workspace/test/monorepo-gate.test.ts | 182 +- .../test/native-consumer-imports.test.ts | 5 +- .../workspace/test/native-desktop.test.ts | 64 +- .../workspace/test/native-sdk-facade.test.ts | 20 +- packages/workspace/test/optimize.test.ts | 19 +- packages/workspace/test/packages.test.ts | 26 +- packages/workspace/test/path-audit.test.ts | 4 +- .../workspace/test/pipeline-catalog.test.ts | 14 +- packages/workspace/test/plugin-facts.test.ts | 5 +- .../workspace/test/python-quality.test.ts | 65 +- .../workspace/test/python-workspace.test.ts | 154 +- packages/workspace/test/repo-sync.test.ts | 331 +- .../workspace/test/repository-state.test.ts | 13 +- packages/workspace/test/root-docs.test.ts | 11 +- packages/workspace/test/runtime.test.ts | 75 +- packages/workspace/test/stack-dedup.test.ts | 42 +- .../workspace/test/system-packages.test.ts | 48 +- packages/workspace/test/tauri.test.ts | 30 +- .../workspace/test/workspace-clean.test.ts | 4 +- .../workspace/test/workspace-repair.test.ts | 43 +- .../test/workspace-subsystem.test.ts | 48 +- packages/yolo-cli/README.md | 20 +- packages/yolo-cli/src/ai.ts | 28 +- packages/yolo-cli/src/aphrody-delegate.ts | 8 +- packages/yolo-cli/src/bun-tools.ts | 6 +- packages/yolo-cli/src/cli/forge/glibc.ts | 42 +- packages/yolo-cli/src/cli/forge/main.ts | 21 +- packages/yolo-cli/src/cli/forge/plan.ts | 98 +- packages/yolo-cli/src/cli/forge/run.ts | 319 +- packages/yolo-cli/src/cli/plugin/command.ts | 74 +- packages/yolo-cli/src/cli/plugin/generator.ts | 31 +- packages/yolo-cli/src/distribution.ts | 155 +- packages/yolo-cli/src/host.ts | 591 +- packages/yolo-cli/src/import.ts | 5 +- packages/yolo-cli/src/index.ts | 163 +- packages/yolo-cli/src/n2b.ts | 41 +- packages/yolo-cli/src/package-commands.ts | 76 +- packages/yolo-cli/src/python.ts | 98 +- packages/yolo-cli/src/rename.ts | 16 +- packages/yolo-cli/src/scan.ts | 20 +- packages/yolo-cli/src/vu.ts | 142 +- packages/yolo-cli/test/ai-adapters.test.ts | 52 +- .../yolo-cli/test/aphrody-launcher.test.ts | 20 +- packages/yolo-cli/test/aphrody.test.ts | 80 +- packages/yolo-cli/test/api.test.ts | 4 +- packages/yolo-cli/test/bun-tools.test.ts | 35 +- packages/yolo-cli/test/cli-n2b.test.ts | 74 +- packages/yolo-cli/test/cli_app.test.ts | 251 +- .../yolo-cli/test/compiler-native.test.ts | 165 +- packages/yolo-cli/test/compiler-oxc.test.ts | 181 +- .../yolo-cli/test/desktop-artifact.test.ts | 78 +- packages/yolo-cli/test/forge/forge.test.ts | 107 +- packages/yolo-cli/test/forge/glibc.test.ts | 24 +- packages/yolo-cli/test/host-space.test.ts | 124 +- packages/yolo-cli/test/host.test.ts | 639 +- packages/yolo-cli/test/import.test.ts | 38 +- packages/yolo-cli/test/installers.test.ts | 139 +- packages/yolo-cli/test/mcp.test.ts | 15 +- .../yolo-cli/test/package-commands.test.ts | 94 +- packages/yolo-cli/test/plugins.test.ts | 35 +- .../yolo-cli/test/python-supervised.test.ts | 39 +- packages/yolo-cli/test/rename.test.ts | 59 +- .../yolo-cli/test/runtime-desktop.test.ts | 176 +- packages/yolo-cli/test/scan.test.ts | 153 +- packages/yolo-cli/test/stack.test.ts | 236 +- packages/yolo-cli/test/standalone.test.ts | 109 +- .../yolo-cli/test/startup-benchmark.test.ts | 71 +- .../yolo-cli/test/tooling-transports.test.ts | 18 +- packages/yolo-cli/test/upgrade.test.ts | 95 +- packages/yolo-cli/test/vector-owner.test.ts | 4 +- packages/yolo-cli/test/verify-python.test.ts | 91 +- packages/yolo-cli/test/verify.test.ts | 116 +- packages/yolo-cli/test/vfs-parse.test.ts | 21 +- packages/yolo-cli/test/vu.test.ts | 244 +- .../yolo-cli/test/workspace_profiles.test.ts | 232 +- packages/yolo-core/README.md | 7 +- packages/yolo-core/build-policy.ts | 4 +- packages/yolo-core/src/compiler/oxc.ts | 12 +- packages/yolo-core/src/coord/aphrody.ts | 246 +- packages/yolo-core/src/curation/awesome.ts | 176 +- .../yolo-core/src/distribution/cef-payload.ts | 39 +- .../src/distribution/desktop-package.ts | 47 +- .../src/distribution/desktop-release.ts | 40 +- packages/yolo-core/src/fleet/parse.ts | 198 +- packages/yolo-core/src/fleet/safety.ts | 117 +- packages/yolo-core/src/fleet/space.ts | 80 +- packages/yolo-core/src/gemma4/engine.ts | 55 +- packages/yolo-core/src/gemma4/inference.ts | 124 +- packages/yolo-core/src/gemma4/models.ts | 75 +- packages/yolo-core/src/gemma4/tokenizer.ts | 28 +- packages/yolo-core/src/gemma4/transport.ts | 51 +- packages/yolo-core/src/host/cli.ts | 28 +- packages/yolo-core/src/host/fiche.ts | 36 +- packages/yolo-core/src/host/index.ts | 64 +- packages/yolo-core/src/host/layout.ts | 46 +- packages/yolo-core/src/host/net-env.ts | 125 +- packages/yolo-core/src/host/net-facts.ts | 109 +- packages/yolo-core/src/host/plan.ts | 167 +- packages/yolo-core/src/host/wireguard.ts | 387 +- packages/yolo-core/src/index.ts | 13 +- packages/yolo-core/src/ledger/index.ts | 61 +- packages/yolo-core/src/math/vectors.ts | 10 +- .../yolo-core/src/monitor/agent_watcher.ts | 44 +- packages/yolo-core/src/monitor/auto_sync.ts | 84 +- packages/yolo-core/src/pm/index.ts | 46 +- packages/yolo-core/src/python/index.ts | 21 +- packages/yolo-core/src/redis/client.ts | 41 +- packages/yolo-core/src/redis/indexer.ts | 7 +- packages/yolo-core/src/redis/records.ts | 9 +- packages/yolo-core/src/redis/traindb.ts | 75 +- packages/yolo-core/src/redis/vector.ts | 79 +- packages/yolo-core/src/scaffold/create.ts | 43 +- packages/yolo-core/src/server/edge-proxy.ts | 30 +- packages/yolo-core/src/server/http.ts | 110 +- packages/yolo-core/src/server/openapi.ts | 17 +- packages/yolo-core/src/sys/benchmark.ts | 8 +- packages/yolo-core/src/sys/doctor.ts | 22 +- packages/yolo-core/src/sys/limiter.ts | 4 +- .../src/sys/supervisor-benchmark.test.ts | 71 +- .../yolo-core/src/sys/supervisor-benchmark.ts | 83 +- packages/yolo-core/src/tools/host.ts | 28 +- packages/yolo-core/src/tools/paths.ts | 21 +- packages/yolo-core/src/tools/registry.ts | 154 +- packages/yolo-core/src/units/cli.ts | 11 +- packages/yolo-core/src/units/index.ts | 15 +- packages/yolo-core/src/vendor/catalog.ts | 63 +- packages/yolo-core/src/vendor/import.ts | 271 +- packages/yolo-core/src/vendor/status.ts | 38 +- packages/yolo-core/src/verify/engine.ts | 115 +- packages/yolo-core/src/vfs/home.ts | 16 +- packages/yolo-core/src/vfs/parse.ts | 5 +- packages/yolo-core/src/vfs/portability.ts | 11 +- packages/yolo-core/src/vfs/scan.ts | 46 +- packages/yolo-core/test/cef-payload.test.ts | 72 +- .../yolo-core/test/core-transport.test.ts | 76 +- packages/yolo-core/test/core.test.ts | 17 +- packages/yolo-core/test/edge-proxy.test.ts | 52 +- .../yolo-core/test/gemma4-inference.test.ts | 135 +- packages/yolo-core/test/gemma4.test.ts | 89 +- packages/yolo-core/test/host-config.test.ts | 18 +- packages/yolo-core/test/host-fiche.test.ts | 10 +- .../yolo-core/test/host-jobs-plan.test.ts | 29 +- packages/yolo-core/test/host-layout.test.ts | 53 +- packages/yolo-core/test/host-net-env.test.ts | 41 +- packages/yolo-core/test/host-plan.test.ts | 164 +- .../yolo-core/test/host-proxy-plan.test.ts | 83 +- packages/yolo-core/test/host-root.test.ts | 4 +- .../yolo-core/test/host-upgrade-plan.test.ts | 159 +- .../yolo-core/test/host-wireguard.test.ts | 257 +- .../yolo-core/test/ledger-content.test.ts | 31 +- packages/yolo-core/test/ledger.test.ts | 35 +- packages/yolo-core/test/npm-policy.test.ts | 19 +- .../yolo-core/test/package-manager.test.ts | 187 +- packages/yolo-core/test/redis_monitor.test.ts | 15 +- packages/yolo-core/test/redis_native.test.ts | 233 +- packages/yolo-core/test/redis_vector.test.ts | 22 +- packages/yolo-core/test/startup.test.ts | 12 +- .../yolo-core/test/vendor-catalog.test.ts | 52 +- packages/yolo-core/test/vendor-status.test.ts | 29 +- .../yolo-core/test/vfs-consistency.test.ts | 26 +- packages/yolo-python/pyproject.toml | 4 +- scripts/aphrody/README.md | 1 + scripts/aphrody/audit/ai/graph-parity.test.ts | 115 +- scripts/aphrody/audit/ai/graph-parity.ts | 58 +- scripts/aphrody/audit/bench/bench-bun-data.ts | 4 +- scripts/aphrody/audit/bench/generate-ansi.ts | 17 +- scripts/aphrody/audit/bench/startup.ts | 97 +- .../compat/scripts/n2b/coverage-check.ts | 45 +- .../aphrody/audit/desktop-footprint.test.ts | 19 +- scripts/aphrody/audit/desktop-footprint.ts | 79 +- scripts/aphrody/audit/discord-verify.ts | 17 +- .../aphrody/audit/discord/fleet-membership.ts | 69 +- .../aphrody/audit/elf-glibc-imports.test.ts | 29 +- scripts/aphrody/audit/elf-glibc-imports.ts | 31 +- scripts/aphrody/audit/engine-equivalence.ts | 71 +- .../infra/db-compare/compare-rg-shenron.ts | 135 +- .../aphrody/audit/infra/db-compare/probe.ts | 184 +- scripts/aphrody/audit/infra/host-netbench.ts | 67 +- .../aphrody/audit/live-audit-report.test.ts | 14 +- scripts/aphrody/audit/live-audit-report.ts | 9 +- scripts/aphrody/audit/live-audit.ts | 143 +- .../aphrody/audit/live-cli-wasm-browser.ts | 66 +- scripts/aphrody/audit/live-domain-dns.ts | 106 +- scripts/aphrody/audit/live-domain-seo.ts | 60 +- scripts/aphrody/audit/live/_lib.ts | 72 +- .../audit/live/rosegriffon-core.test.ts | 588 +- .../os/verify-winclean-integration.test.ts | 16 +- .../audit/os/verify-winclean-integration.ts | 75 +- .../aphrody/audit/ui-browser-bundles.test.ts | 14 +- scripts/aphrody/audit/ui-browser-bundles.ts | 54 +- scripts/aphrody/audit/ui-i18n-audit.ts | 20 +- .../audit/ui/drive/scripts/.eslintrc.cjs | 138 +- scripts/aphrody/audit/ui/rust-migration.ts | 85 +- .../audit/workspace/bun-absorb.test.ts | 35 +- scripts/aphrody/audit/workspace/bun-absorb.ts | 59 +- .../aphrody/audit/workspace/env-inventory.ts | 70 +- .../audit/workspace/gh-repo-intelligence.ts | 25 +- .../audit/workspace/github-account-audit.ts | 28 +- .../audit/workspace/product-residue.ts | 28 +- .../aphrody/audit/workspace/vu-pins.test.ts | 78 +- scripts/aphrody/audit/workspace/vu-pins.ts | 121 +- .../build/container/aphrody-build.test.ts | 20 +- .../aphrody/build/container/aphrody-build.ts | 63 +- .../build/container/entrypoint.test.ts | 31 +- .../container/shenron-source-job.test.ts | 105 +- .../build/container/shenron-source-job.ts | 180 +- .../container/shenron-source-outbox.test.ts | 115 +- .../build/container/shenron-source-outbox.ts | 64 +- scripts/aphrody/build/desktop/e2e.ts | 4 +- .../build/os/build-uutils-coreutils.test.ts | 12 +- .../build/os/build-uutils-coreutils.ts | 75 +- .../build/rust/cargo-serial-windows.test.ts | 159 +- .../aphrody/build/rust/cargo-serial.test.ts | 112 +- scripts/aphrody/build/rust/cargo-serial.ts | 186 +- scripts/aphrody/build/rust/vps-cargo.test.ts | 213 +- scripts/aphrody/build/rust/vps-cargo.ts | 311 +- .../aphrody/build/rust/wasm-package.test.ts | 72 +- scripts/aphrody/build/rust/wasm-package.ts | 57 +- .../build/shell/terminal-build.test.ts | 21 +- scripts/aphrody/build/shell/terminal-build.ts | 62 +- .../build/ui/build-local-app-release.ts | 77 +- scripts/aphrody/build/ui/build-ui-packages.ts | 28 +- .../packages/icons/scripts/generate.mjs | 118 +- scripts/aphrody/dev/cli/aphrody.ts | 28 +- scripts/aphrody/dev/cloud-agent-home.ts | 48 +- scripts/aphrody/dev/cloud-doctor.ts | 35 +- scripts/aphrody/dev/cloud-quickinstall.ts | 12 +- scripts/aphrody/dev/session-start.test.ts | 32 +- scripts/aphrody/dev/session-start.ts | 5 +- scripts/aphrody/dev/ui/install-local-app.ts | 60 +- scripts/aphrody/dev/ui/serve-desktop-ui.ts | 10 +- .../aphrody/install/container-service.test.ts | 16 +- scripts/aphrody/install/container-service.ts | 89 +- scripts/aphrody/install/install.test.ts | 4 +- .../aphrody/install/mesh-supervisor.test.ts | 111 +- scripts/aphrody/install/mesh-supervisor.ts | 158 +- scripts/aphrody/install/mesh-update.test.ts | 30 +- scripts/aphrody/install/mesh-update.ts | 79 +- scripts/aphrody/install/r2-native.ts | 10 +- .../migration/migrate-packages-to-bun.ts | 118 +- scripts/aphrody/release/auto-release.test.ts | 33 +- scripts/aphrody/release/bun-packages.test.ts | 21 +- scripts/aphrody/release/bun-packages.ts | 37 +- .../release/bun-payload-copies.test.ts | 25 +- scripts/aphrody/release/cdn-optimize.test.ts | 111 +- scripts/aphrody/release/cdn-optimize.ts | 163 +- scripts/aphrody/release/container-image.ts | 41 +- .../aphrody/release/crates-io-prepare.test.ts | 18 +- scripts/aphrody/release/crates-io-prepare.ts | 45 +- scripts/aphrody/release/docker-sync.test.ts | 8 +- scripts/aphrody/release/docker-sync.ts | 43 +- .../release/install-bun-packages.test.ts | 8 +- .../aphrody/release/install-bun-packages.ts | 47 +- .../aphrody/release/publish-app-ui.test.ts | 306 +- scripts/aphrody/release/publish-app-ui.ts | 326 +- scripts/aphrody/release/publish-creator.ts | 104 +- .../aphrody/release/publish-downloads.test.ts | 344 +- scripts/aphrody/release/publish-downloads.ts | 463 +- scripts/aphrody/release/release.ts | 60 +- scripts/aphrody/release/release_merge.ts | 27 +- .../release/runtime-artifact-info.test.ts | 53 +- .../aphrody/release/runtime-artifact-info.ts | 66 +- scripts/aphrody/release/runtime_artifact.ts | 43 +- scripts/aphrody/release/runtime_release.ts | 34 +- .../release/shenron-auto-deploy.test.ts | 166 +- .../aphrody/release/shenron-auto-deploy.ts | 232 +- .../aphrody/release/shenron-auto-promote.ts | 82 +- .../release/shenron-deployment-identity.ts | 44 +- .../release/shenron-source-controller.test.ts | 34 +- .../release/shenron-source-controller.ts | 43 +- .../release/site-workspace-policy.test.ts | 26 +- .../aphrody/release/stage-cli-wasm.test.ts | 153 +- scripts/aphrody/release/stage-cli-wasm.ts | 122 +- scripts/aphrody/release/stage-setup.test.ts | 16 +- scripts/aphrody/release/stage-setup.ts | 67 +- scripts/aphrody/release/toolbox-image.ts | 50 +- scripts/aphrody/release/tooling-asset.ts | 29 +- scripts/aphrody/release/windows-exe.ts | 15 +- scripts/aphrody/test-dom.ts | 11 +- .../aphrody/tools/ai/codex-sync-upstream.ts | 4 +- scripts/aphrody/tools/bun-hygiene.test.ts | 34 +- scripts/aphrody/tools/bun-hygiene.ts | 72 +- scripts/aphrody/tools/cli-help-sync.ts | 23 +- scripts/aphrody/tools/codex-usage.ts | 53 +- .../compat/scripts/n2b/coverage-daemon.ts | 29 +- .../scripts/n2b/generate-schema-types.test.ts | 12 +- .../scripts/n2b/generate-schema-types.ts | 11 +- scripts/aphrody/tools/docker-mcp-probe.ts | 36 +- scripts/aphrody/tools/gen-third-party.ts | 81 +- scripts/aphrody/tools/infra/cdn.test.ts | 61 +- scripts/aphrody/tools/infra/cdn.ts | 136 +- scripts/aphrody/tools/infra/check-infra.ts | 39 +- .../aphrody/tools/infra/discord-sync/api.ts | 57 +- .../aphrody/tools/infra/discord-sync/cli.ts | 72 +- .../tools/infra/discord-sync/collect.ts | 52 +- .../infra/discord-sync/discord-sync.test.ts | 108 +- .../aphrody/tools/infra/discord-sync/fiche.ts | 16 +- .../tools/infra/discord-sync/protocol.ts | 66 +- .../aphrody/tools/infra/discord-sync/sync.ts | 88 +- .../tools/infra/fleet-yolo-tool-host.ts | 5 +- scripts/aphrody/tools/infra/gcp.test.ts | 84 +- scripts/aphrody/tools/infra/gcp.ts | 115 +- .../tools/infra/gen-local-ai-env.test.ts | 20 +- .../aphrody/tools/infra/gen-local-ai-env.ts | 102 +- .../tools/infra/gitea-provision-remote.ts | 91 +- .../aphrody/tools/infra/gitea-provision.ts | 63 +- .../aphrody/tools/infra/github-automation.ts | 34 +- .../aphrody/tools/infra/github-templates.ts | 4 +- scripts/aphrody/tools/infra/host-apps.ts | 59 +- scripts/aphrody/tools/infra/host-purge.ts | 151 +- .../tools/infra/hub-tunnel-service.test.ts | 13 +- .../aphrody/tools/infra/hub-tunnel-service.ts | 9 +- scripts/aphrody/tools/infra/infra-status.ts | 104 +- .../tools/infra/mcp-tools-count.test.ts | 56 +- .../aphrody/tools/infra/mcp-tools-count.ts | 51 +- .../tools/infra/native-startup.test.ts | 208 +- scripts/aphrody/tools/infra/native-startup.ts | 227 +- .../infra/prepare-shenron-manga-runtime.ts | 40 +- .../tools/infra/repair-global-paths.test.ts | 54 +- .../tools/infra/repair-global-paths.ts | 167 +- .../infra/shenron-cdn-media-cache.test.ts | 16 +- .../tools/infra/shenron-cdn-media-cache.ts | 3 +- .../infra/shenron-cdn-origin-consumer.test.ts | 25 +- .../infra/shenron-cdn-origin-consumer.ts | 59 +- .../shenron-cdn-origin-inventory.test.ts | 29 +- .../infra/shenron-cdn-origin-inventory.ts | 132 +- ...henron-cdn-publication-preparation.test.ts | 65 +- .../shenron-cdn-publication-preparation.ts | 96 +- .../infra/shenron-compute-recovery.test.ts | 24 +- .../tools/infra/shenron-compute-recovery.ts | 22 +- .../shenron-manga-editorial-backup.test.ts | 9 +- .../infra/shenron-manga-editorial-backup.ts | 38 +- .../shenron-missing-store-restore.test.ts | 17 +- .../infra/shenron-missing-store-restore.ts | 57 +- .../infra/shenron-offsite-backup.test.ts | 27 +- .../tools/infra/shenron-offsite-backup.ts | 160 +- .../infra/shenron-public-cdn-gateway.test.ts | 54 +- .../tools/infra/shenron-public-cdn-gateway.ts | 36 +- .../infra/shenron-source-cdn-consumer.test.ts | 41 +- .../infra/shenron-source-cdn-consumer.ts | 78 +- .../shenron-sqlite-sync-pipeline.test.ts | 31 +- .../infra/shenron-sqlite-sync-pipeline.ts | 93 +- .../aphrody/tools/infra/site-gateway.test.ts | 63 +- scripts/aphrody/tools/infra/site-gateway.ts | 192 +- .../aphrody/tools/infra/source-tunnel-auth.ts | 26 +- .../aphrody/tools/infra/ssh-reverse-task.ts | 83 +- .../infra/stage-shenron-video-origin.test.ts | 22 +- .../tools/infra/stage-shenron-video-origin.ts | 75 +- scripts/aphrody/tools/infra/vnc-probe.ts | 57 +- .../aphrody/tools/infra/vps-bun-cleanup.ts | 224 +- scripts/aphrody/tools/infra/win32-net.ts | 70 +- .../aphrody/tools/infra/win32-user.test.ts | 12 +- scripts/aphrody/tools/infra/win32-user.ts | 83 +- .../ghidra-headless/scripts/find-ghidra.ts | 4 +- .../scripts/ghidra-analyze.test.ts | 41 +- .../ghidra-headless/scripts/ghidra-analyze.ts | 20 +- .../os/scripts/generate-winclean-catalog.ts | 43 +- .../tools/os/scripts/kernel-session.ts | 47 +- .../tools/os/scripts/live-harness.test.ts | 40 +- .../tools/os/scripts/live-openai-inventory.ts | 74 +- .../os/scripts/live-winclean-artifacts.ts | 65 +- scripts/aphrody/tools/os/scripts/msix.ts | 53 +- scripts/aphrody/tools/os/scripts/winclean.ts | 116 +- scripts/aphrody/tools/os/usb-diagnose-z.ts | 85 +- scripts/aphrody/tools/os/windex/analyze.ts | 38 +- .../aphrody/tools/os/windex/authenticode.ts | 37 +- scripts/aphrody/tools/os/windex/cache.ts | 16 +- scripts/aphrody/tools/os/windex/catalog.ts | 21 +- scripts/aphrody/tools/os/windex/cli.ts | 43 +- scripts/aphrody/tools/os/windex/config.ts | 21 +- scripts/aphrody/tools/os/windex/containers.ts | 20 +- scripts/aphrody/tools/os/windex/ndjson.ts | 34 +- scripts/aphrody/tools/os/windex/ntfs.ts | 45 +- scripts/aphrody/tools/os/windex/pe.ts | 56 +- scripts/aphrody/tools/os/windex/pg.ts | 116 +- scripts/aphrody/tools/os/windex/pipeline.ts | 42 +- scripts/aphrody/tools/os/windex/pool.ts | 9 +- scripts/aphrody/tools/os/windex/rag.ts | 112 +- scripts/aphrody/tools/os/windex/scan.ts | 9 +- scripts/aphrody/tools/os/windex/system.ts | 64 +- scripts/aphrody/tools/os/windex/usn.ts | 19 +- scripts/aphrody/tools/os/windex/watch.ts | 152 +- scripts/aphrody/tools/os/windex/win32.ts | 67 +- scripts/aphrody/tools/os/windex/worker.ts | 8 +- .../aphrody/tools/portable/portable.test.ts | 22 +- scripts/aphrody/tools/portable/portable.ts | 92 +- scripts/aphrody/tools/secrets.test.ts | 3 +- scripts/aphrody/tools/secrets.ts | 28 +- .../tools/secure-cookie-layout.test.ts | 21 +- scripts/aphrody/tools/secure-cookie-layout.ts | 21 +- scripts/aphrody/tools/ui/generate-i18n.ts | 65 +- scripts/aphrody/tools/vendor/fetch.ts | 28 +- .../aphrody/tools/workspace/ecosystem.test.ts | 102 +- scripts/aphrody/tools/workspace/ecosystem.ts | 395 +- .../tools/workspace/repo-layering.test.ts | 29 +- .../aphrody/tools/workspace/repo-layering.ts | 47 +- scripts/aphrody/tsconfig.json | 9 +- scripts/build-apps.ts | 197 +- scripts/build-frontend.ts | 152 +- scripts/build-packages.ts | 749 +- scripts/cargo-build-proof.ts | 230 +- scripts/cargo.ts | 45 +- scripts/crate-inventory.ts | 121 +- scripts/forge-transport.ts | 141 +- scripts/m3/bench/fixtures/themes-probe.ts | 5 +- scripts/m3/bench/lib.test.ts | 17 +- scripts/m3/bench/lib.ts | 33 +- scripts/m3/bench/run.ts | 210 +- scripts/m3/bench/workspace.ts | 26 +- scripts/m3/build.test.ts | 51 +- scripts/m3/build.ts | 89 +- scripts/m3/bundle-size.ts | 78 +- scripts/m3/check-assets.test.ts | 77 +- scripts/m3/check-assets.ts | 158 +- scripts/m3/check-exports.test.ts | 68 +- scripts/m3/check-exports.ts | 168 +- scripts/m3/check-links.test.ts | 16 +- scripts/m3/check-links.ts | 111 +- scripts/m3/fonts-sync.ts | 48 +- scripts/m3/forks.test.ts | 118 +- scripts/m3/forks.ts | 176 +- scripts/m3/lib/workspace.ts | 28 +- scripts/m3/native.test.ts | 69 +- scripts/m3/native.ts | 52 +- scripts/m3/yolo.test.ts | 39 +- scripts/m3/yolo.ts | 32 +- scripts/native-worker.ts | 12 +- scripts/node-modules.ts | 325 +- scripts/setup.ts | 67 +- scripts/source-portal.ts | 105 +- scripts/vendor-cargo.ts | 174 +- scripts/workspace-manifests.ts | 34 +- 3426 files changed, 519608 insertions(+), 122443 deletions(-) diff --git a/apps/aphrody-app/Cargo.toml b/apps/aphrody-app/Cargo.toml index 98fb269956..6a9ccbabfc 100644 --- a/apps/aphrody-app/Cargo.toml +++ b/apps/aphrody-app/Cargo.toml @@ -44,7 +44,10 @@ perf = { level = "warn", priority = -1 } # it never re-executes its own exe as `__llama-daemon`. Without the feature (no libclang at build # time) the supervisor falls back to the detached daemon, which `src/llama_daemon.rs` still serves. default = ["in-process"] -in-process = ["aphrody-app-server/in-process", "aphrody-llama-server/in-process"] +in-process = [ + "aphrody-app-server/in-process", + "aphrody-llama-server/in-process", +] # Serve the bundled `frontendDist` (ui-dist) instead of `devUrl`. The Tauri CLI enables it for # `tauri build`; plain `cargo build`/`cargo run` release builds must pass it explicitly. custom-protocol = ["tauri/custom-protocol"] @@ -74,10 +77,24 @@ aphrody-subsystem = { path = "../../crates/aphrody-subsystem", version = "1.4.4" async-trait = "0.1.92" yolo-core = "=1.0.0" base64 = "0.23.1" -rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] } +rustls = { version = "0.23", default-features = false, features = [ + "ring", + "std", + "tls12", +] } tauri = { package = "aphrody-tauri", path = "../../toolchains/bun/packages/bun-tauri/crates/aphrody-tauri", version = "1.4.4", default-features = false, features = ["compression", "dynamic-acl", "image-ico", "tray-icon"] } tauri-runtime-cef = { package = "aphrody-tauri-runtime-cef", path = "../../toolchains/bun/packages/bun-tauri/crates/aphrody-tauri-runtime-cef", version = "1.4.4" } -tokio = { version = "1.53.1", features = ["process", "rt-multi-thread", "macros", "time", "signal", "sync", "fs", "io-util", "full"] } +tokio = { version = "1.53.1", features = [ + "process", + "rt-multi-thread", + "macros", + "time", + "signal", + "sync", + "fs", + "io-util", + "full", +] } serde = { version = "1.0.229", features = ["derive", "std"], default-features = false } serde_json = "1.0.151" log = "0.4.34" diff --git a/apps/aphrody-app/README.md b/apps/aphrody-app/README.md index ffb2511524..763647a523 100644 --- a/apps/aphrody-app/README.md +++ b/apps/aphrody-app/README.md @@ -1,4 +1,5 @@ + # aphrody-app — Aphrody Tauri desktop host `aphrody-app` is the Tauri 3 (`tauri-runtime-cef`: CEF + tauri-winit + GTK 4) shell in the root Aphrody OS Cargo workspace. @@ -9,11 +10,11 @@ streams. The browser version talks to the same protocol over loopback HTTP/SSE. The trusted main window's core commands include: -| Command | Returns | Use | -|---|---|---| -| `aphrody_meta()` | `{ app_version, target_os, target_arch, family }` | header / about info | -| `aphrody_rpc(request)` | JSON-RPC result | app-server sessions, turns and interruption | -| `aphrody_shell_window(action)` | native window state | main-only window controls and navigation | +| Command | Returns | Use | +| ------------------------------ | ------------------------------------------------- | ------------------------------------------- | +| `aphrody_meta()` | `{ app_version, target_os, target_arch, family }` | header / about info | +| `aphrody_rpc(request)` | JSON-RPC result | app-server sessions, turns and interruption | +| `aphrody_shell_window(action)` | native window state | main-only window controls and navigation | The shell command takes its invoking `WebviewWindow`, accepts no target label and rejects every label except `main`. Remote CEF previews have no capability and @@ -35,12 +36,12 @@ not copy or delete them during startup. ## Runtime boundary -| Surface | Owner | Contract | -|---|---|---| -| Agent sessions | `aphrody-app-server` | in-process broker; loopback HTTP/SSE for web clients | -| Web tools | Aphrody kernel | `aphrody_web` Obscura/provider subsystem | -| Web retrieval and crawl | Aphrody kernel / Obscura | backend capability; no embedded browser or crawler-management view in the public webview | -| File libraries | `aphrody-drive` + `sd-daemon` | local socket; daemon stays outside this Cargo graph | +| Surface | Owner | Contract | +| ----------------------- | ----------------------------- | ---------------------------------------------------------------------------------------- | +| Agent sessions | `aphrody-app-server` | in-process broker; loopback HTTP/SSE for web clients | +| Web tools | Aphrody kernel | `aphrody_web` Obscura/provider subsystem | +| Web retrieval and crawl | Aphrody kernel / Obscura | backend capability; no embedded browser or crawler-management view in the public webview | +| File libraries | `aphrody-drive` + `sd-daemon` | local socket; daemon stays outside this Cargo graph | ## Capability surface (default-deny) diff --git a/apps/aphrody-app/examples/shell_e2e/frontend/index.html b/apps/aphrody-app/examples/shell_e2e/frontend/index.html index 450dca2d5f..1cf294abbe 100644 --- a/apps/aphrody-app/examples/shell_e2e/frontend/index.html +++ b/apps/aphrody-app/examples/shell_e2e/frontend/index.html @@ -1,25 +1,52 @@ -
pending
- - + + +
pending
+ + + + diff --git a/apps/aphrody-app/tauri.drive.conf.json b/apps/aphrody-app/tauri.drive.conf.json index 32e1c14565..1cf96e0afc 100644 --- a/apps/aphrody-app/tauri.drive.conf.json +++ b/apps/aphrody-app/tauri.drive.conf.json @@ -1,9 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/tauri-apps/tauri/tauri-v3.0.0-alpha.4/crates/tauri-schema-generator/schemas/config.schema.json", "bundle": { - "externalBin": [ - "binaries/sd-daemon", - "binaries/aphrody" - ] + "externalBin": ["binaries/sd-daemon", "binaries/aphrody"] } } diff --git a/apps/aphrody-app/ui-dist/app.css b/apps/aphrody-app/ui-dist/app.css index 4b9eb6b531..e5a180dfd4 100644 --- a/apps/aphrody-app/ui-dist/app.css +++ b/apps/aphrody-app/ui-dist/app.css @@ -1 +1,12674 @@ -/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans:var(--md-ref-typeface-plain);--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:var(--md-ref-typeface-code);--color-red-400:oklch(70.4% .191 22.216);--color-orange-400:oklch(75% .183 55.934);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-teal-400:oklch(77.7% .152 181.912);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-zinc-900:oklch(21% .006 285.885);--color-black:#000;--color-white:#fff;--spacing:.25rem;--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;--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-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-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--drop-shadow-lg:0 4px 4px #00000026;--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;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--md-ref-typeface-plain);--default-mono-font-family:var(--md-ref-typeface-code);--color-accent:var(--md-sys-color-primary);--color-ink-dull:var(--md-sys-color-on-surface-variant);--color-app:var(--md-sys-color-surface);--color-app-box:var(--md-sys-color-surface-container);--color-app-dark-box:var(--md-sys-color-surface-container-low);--color-app-darker-box:var(--md-sys-color-surface-container-lowest);--color-app-line:var(--md-sys-color-outline-variant);--color-app-selected:var(--md-sys-color-secondary-container);--color-app-hover:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){:is(:root,:host){--color-app-hover:color-mix(in srgb,var(--md-sys-color-on-surface)8%,var(--md-sys-color-surface-container))}}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{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,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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{color:inherit;border-top-width:1px;height:0}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;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{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}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}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:-moz-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::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{text-align:inherit;min-height:1lh}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{appearance:button}input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-file-upload-button{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}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}.\!absolute{position:absolute!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-4{inset:calc(var(--spacing)*4)}.inset-8{inset:calc(var(--spacing)*8)}.inset-\[8\%\]{inset:8%}.inset-\[15\%\]{inset:15%}.inset-x-0{left:0;right:0}.inset-x-3{inset-inline:calc(var(--spacing)*3)}.inset-x-4{inset-inline:calc(var(--spacing)*4)}.inset-y-0{top:0;bottom:0}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.-top-2{top:calc(var(--spacing)*-2)}.-top-2\.5{top:calc(var(--spacing)*-2.5)}.-top-\[1px\],.-top-px{top:-1px}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-16{top:calc(var(--spacing)*16)}.top-\[55\%\]{top:55%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:0}.right-1{right:var(--spacing)}.right-1\.5{right:calc(var(--spacing)*1.5)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.-bottom-\[1px\]{bottom:-1px}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-20{bottom:calc(var(--spacing)*20)}.bottom-full{bottom:100%}.left-\(--active-tab-left\){left:var(--active-tab-left)}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\.5{left:calc(var(--spacing)*1.5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-2\.5{left:calc(var(--spacing)*2.5)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-\[4px\]{left:4px}.left-\[6px\]{left:6px}.left-\[228px\]{left:228px}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[30\]{z-index:30}.z-\[35\]{z-index:35}.z-\[37\]{z-index:37}.z-\[38\]{z-index:38}.z-\[45\]{z-index:45}.z-\[51\]{z-index:51}.z-\[60\]{z-index:60}.z-\[65\]{z-index:65}.z-\[70\]{z-index:70}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[102\]{z-index:102}.z-\[103\]{z-index:103}.z-\[1000\]{z-index:1000}.z-\[9999\]{z-index:9999}.order-6{order:6}.col-span-full{grid-column:1/-1}.float-left{float:left}.\!container{width:100%!important}@media (min-width:37.5rem){.\!container{max-width:37.5rem!important}}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:52.5rem){.\!container{max-width:52.5rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:75rem){.\!container{max-width:75rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}@media (min-width:100rem){.\!container{max-width:100rem!important}}.container{width:100%}@media (min-width:37.5rem){.container{max-width:37.5rem}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:52.5rem){.container{max-width:52.5rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:75rem){.container{max-width:75rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}@media (min-width:100rem){.container{max-width:100rem}}.m-0{margin:0}.m-4{margin:calc(var(--spacing)*4)}.m-auto{margin:auto}.mx-0{margin-inline-start:0;margin-inline-end:0}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline-start:auto;margin-inline-end:auto}.-my-2{margin-block:calc(var(--spacing)*-2)}.my-0{margin-block-start:0;margin-block-end:0}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-8{margin-block:calc(var(--spacing)*8)}.ms-0\.5{margin-inline-start:calc(var(--spacing)*.5)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.size-0{width:0;height:0}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-11{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.size-20{width:calc(var(--spacing)*20);height:calc(var(--spacing)*20)}.size-24{width:calc(var(--spacing)*24);height:calc(var(--spacing)*24)}.size-32{width:calc(var(--spacing)*32);height:calc(var(--spacing)*32)}.size-\[18px\]{width:18px;height:18px}.size-full{width:100%;height:100%}.\!h-4\/5{height:80%!important}.\!h-\[76\%\]{height:76%!important}.\!h-\[84\%\]{height:84%!important}.\!h-full{height:100%!important}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-4\.5{height:calc(var(--spacing)*4.5)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-96{height:calc(var(--spacing)*96)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[18px\]{height:18px}.h-\[52px\]{height:52px}.h-\[80vh\]{height:80vh}.h-\[84svh\]{height:84svh}.h-\[85vh\]{height:85vh}.h-\[var\(--accordion-panel-height\)\]{height:var(--accordion-panel-height)}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-20{max-height:calc(var(--spacing)*20)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-56{max-height:calc(var(--spacing)*56)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[38\%\]{max-height:38%}.max-h-\[80vh\]{max-height:80vh}.max-h-\[200px\]{max-height:200px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[400px\]{max-height:400px}.max-h-\[420px\]{max-height:420px}.max-h-\[460px\]{max-height:460px}.max-h-\[480px\]{max-height:480px}.max-h-\[520px\]{max-height:520px}.max-h-\[calc\(100vh-6rem\)\]{max-height:calc(100vh - 6rem)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-28{min-height:calc(var(--spacing)*28)}.min-h-32{min-height:calc(var(--spacing)*32)}.min-h-40{min-height:calc(var(--spacing)*40)}.min-h-\[20px\]{min-height:20px}.min-h-\[32px\]{min-height:32px}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[52\%\]{min-height:52%}.min-h-\[88px\]{min-height:88px}.min-h-\[120px\]{min-height:120px}.min-h-\[200px\]{min-height:200px}.min-h-\[400px\]{min-height:400px}.min-h-\[460px\]{min-height:460px}.min-h-\[500px\]{min-height:500px}.min-h-\[600px\]{min-height:600px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.\!w-4\/5{width:80%!important}.\!w-\[76\%\]{width:76%!important}.\!w-\[84\%\]{width:84%!important}.w-\(--active-tab-width\){width:var(--active-tab-width)}.w-0{width:0}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing)*2)}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[5\%\]{width:5%}.w-\[10\%\]{width:10%}.w-\[19rem\]{width:19rem}.w-\[20\%\]{width:20%}.w-\[22\.5rem\]{width:22.5rem}.w-\[22rem\]{width:22rem}.w-\[45\%\]{width:45%}.w-\[52px\]{width:52px}.w-\[80vw\]{width:80vw}.w-\[94\%\]{width:94%}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[210px\]{width:210px}.w-\[220px\]{width:220px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[520px\]{width:520px}.w-\[calc\(100\%-48px\)\]{width:calc(100% - 48px)}.w-\[min\(560px\,calc\(100vw-48px\)\)\]{width:min(560px,100vw - 48px)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.\!max-w-\[400px\]{max-width:400px!important}.\!max-w-\[480px\]{max-width:480px!important}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-36{max-width:calc(var(--spacing)*36)}.max-w-60{max-width:calc(var(--spacing)*60)}.max-w-\[32ch\]{max-width:32ch}.max-w-\[40ch\]{max-width:40ch}.max-w-\[75\%\]{max-width:75%}.max-w-\[80\%\]{max-width:80%}.max-w-\[80px\]{max-width:80px}.max-w-\[85\%\]{max-width:85%}.max-w-\[120px\]{max-width:120px}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[360px\]{max-width:360px}.max-w-\[560px\]{max-width:560px}.max-w-\[1800px\]{max-width:1800px}.max-w-\[calc\(100vw-3rem\)\]{max-width:calc(100vw - 3rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-screen{max-width:100vw}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.\!min-w-\[400px\]{min-width:400px!important}.\!min-w-\[480px\]{min-width:480px!important}.min-w-\(--anchor-width\){min-width:var(--anchor-width)}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-4\.5{min-width:calc(var(--spacing)*4.5)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-10{min-width:calc(var(--spacing)*10)}.min-w-12{min-width:calc(var(--spacing)*12)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12px\]{min-width:12px}.min-w-\[16px\]{min-width:16px}.min-w-\[18px\]{min-width:18px}.min-w-\[36px\]{min-width:36px}.min-w-\[50px\]{min-width:50px}.min-w-\[60px\]{min-width:60px}.min-w-\[112px\]{min-width:112px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[210px\]{min-width:210px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-\[1\.6\]{flex:1.6}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow-0{flex-grow:0}.border-collapse{border-collapse:collapse}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.rotate-\[-5deg\]{rotate:-5deg}.rotate-\[7deg\]{rotate:7deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-y{scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-proximity{--tw-scroll-snap-strictness:proximity}.snap-start{scroll-snap-align:start}.snap-always{scroll-snap-stop:always}.scrollbar-thin{scrollbar-width:thin}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.columns-2{columns:2}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(148px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items: center}.items-baseline{align-items:baseline}.items-center{align-items: center}.items-end{align-items: flex-end}.items-start{align-items: flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-3\.5{gap:calc(var(--spacing)*3.5)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:0;margin-block-end:0}:where(.space-y-0\.5>: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)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing)*var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>: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(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>: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)))}:where(.space-y-4>: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)))}:where(.space-y-5>: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)))}:where(.space-y-6>: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)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing)*2)}:where(.divide-x>: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)))}:where(.divide-y>: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)))}:where(.divide-outline>:not(:last-child)){border-color:var(--md-sys-color-outline)}:where(.divide-outline-variant>:not(:last-child)){border-color:var(--md-sys-color-outline-variant)}:where(.divide-outline-variant\/30>:not(:last-child)){border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){:where(.divide-outline-variant\/30>:not(:last-child)){border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)30%,transparent)}}.self-start{align-self: flex-start}.self-stretch{align-self:stretch}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.overscroll-y-auto{overscroll-behavior-y:auto}.scroll-smooth{scroll-behavior:smooth}.\!rounded-extra-small{border-radius:var(--md-sys-shape-corner-extra-small)!important}.\!rounded-medium{border-radius:var(--md-sys-shape-corner-medium)!important}.\!rounded-none{border-radius:var(--md-sys-shape-corner-none)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[inherit\]{border-radius:inherit}.rounded-extra-large{border-radius:var(--md-sys-shape-corner-extra-large)}.rounded-extra-small{border-radius:var(--md-sys-shape-corner-extra-small)}.rounded-extra-small\!{border-radius:var(--md-sys-shape-corner-extra-small)!important}.rounded-full{border-radius:var(--md-sys-shape-corner-full)}.rounded-large{border-radius:var(--md-sys-shape-corner-large)}.rounded-lg,.rounded-md{border-radius:var(--md-sys-shape-corner-small)}.rounded-medium{border-radius:var(--md-sys-shape-corner-medium)}.rounded-none{border-radius:var(--md-sys-shape-corner-none)}.rounded-sm{border-radius:var(--md-sys-shape-corner-extra-small)}.rounded-small{border-radius:var(--md-sys-shape-corner-small)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[3px\]{border-top-left-radius:3px;border-top-right-radius:3px}.rounded-t-extra-large{border-top-left-radius:var(--md-sys-shape-corner-extra-large);border-top-right-radius:var(--md-sys-shape-corner-extra-large)}.rounded-t-extra-small{border-top-left-radius:var(--md-sys-shape-corner-extra-small);border-top-right-radius:var(--md-sys-shape-corner-extra-small)}.rounded-t-full{border-top-left-radius:var(--md-sys-shape-corner-full);border-top-right-radius:var(--md-sys-shape-corner-full)}.rounded-t-medium{border-top-left-radius:var(--md-sys-shape-corner-medium);border-top-right-radius:var(--md-sys-shape-corner-medium)}.rounded-t-none{border-top-left-radius:var(--md-sys-shape-corner-none);border-top-right-radius:var(--md-sys-shape-corner-none)}.rounded-t-small{border-top-left-radius:var(--md-sys-shape-corner-small);border-top-right-radius:var(--md-sys-shape-corner-small)}.rounded-l-full{border-top-left-radius:var(--md-sys-shape-corner-full);border-bottom-left-radius:var(--md-sys-shape-corner-full)}.rounded-l-small{border-top-left-radius:var(--md-sys-shape-corner-small);border-bottom-left-radius:var(--md-sys-shape-corner-small)}.rounded-tl-extra-large{border-top-left-radius:var(--md-sys-shape-corner-extra-large)}.rounded-r-full{border-top-right-radius:var(--md-sys-shape-corner-full);border-bottom-right-radius:var(--md-sys-shape-corner-full)}.rounded-r-small{border-top-right-radius:var(--md-sys-shape-corner-small);border-bottom-right-radius:var(--md-sys-shape-corner-small)}.rounded-b-extra-small{border-bottom-right-radius:var(--md-sys-shape-corner-extra-small);border-bottom-left-radius:var(--md-sys-shape-corner-extra-small)}.rounded-b-medium{border-bottom-right-radius:var(--md-sys-shape-corner-medium);border-bottom-left-radius:var(--md-sys-shape-corner-medium)}.rounded-b-none{border-bottom-right-radius:var(--md-sys-shape-corner-none);border-bottom-left-radius:var(--md-sys-shape-corner-none)}.rounded-br-extra-small{border-bottom-right-radius:var(--md-sys-shape-corner-extra-small)}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-start-width:1px;border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]{border-color:var(--md-sys-color-outline-variant,#cac4d0)}.border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/30{border-color:var(--md-sys-color-outline-variant,#cac4d0)}@supports (color: color-mix(in lab, red, red)){.border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/30{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant,#cac4d0)30%,transparent)}}.border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/40{border-color:var(--md-sys-color-outline-variant,#cac4d0)}@supports (color: color-mix(in lab, red, red)){.border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/40{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant,#cac4d0)40%,transparent)}}.border-\[var\(--reader-accent\)\]{border-color:var(--reader-accent)}.border-\[var\(--reader-outline\)\]{border-color:var(--reader-outline)}.border-\[var\(--reader-outline\)\]\/40{border-color:var(--reader-outline)}@supports (color: color-mix(in lab, red, red)){.border-\[var\(--reader-outline\)\]\/40{border-color:color-mix(in oklab,var(--reader-outline)40%,transparent)}}.border-\[var\(--reader-outline\)\]\/60{border-color:var(--reader-outline)}@supports (color: color-mix(in lab, red, red)){.border-\[var\(--reader-outline\)\]\/60{border-color:color-mix(in oklab,var(--reader-outline)60%,transparent)}}.border-accent{border-color:var(--md-sys-color-primary)}.border-amber-500\/40{border-color:#f99c0066}@supports (color: color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500)40%,transparent)}}.border-app-line{border-color:var(--md-sys-color-outline-variant)}.border-app-line\/50{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-app-line\/50{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)50%,transparent)}}.border-blue-500\/30{border-color:#2b7fff4d}@supports (color: color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-current{border-color:currentColor}.border-emerald-500\/30{border-color:#00bc7d4d}@supports (color: color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500)30%,transparent)}}.border-error{border-color:var(--md-sys-color-error)}.border-error\/20{border-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.border-error\/20{border-color:color-mix(in oklab,var(--md-sys-color-error)20%,transparent)}}.border-error\/30{border-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.border-error\/30{border-color:color-mix(in oklab,var(--md-sys-color-error)30%,transparent)}}.border-error\/40{border-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.border-error\/40{border-color:color-mix(in oklab,var(--md-sys-color-error)40%,transparent)}}.border-error\/50{border-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.border-error\/50{border-color:color-mix(in oklab,var(--md-sys-color-error)50%,transparent)}}.border-inverse-primary{border-color:var(--md-sys-color-inverse-primary)}.border-on-surface-variant{border-color:var(--md-sys-color-on-surface-variant)}.border-outline{border-color:var(--md-sys-color-outline)}.border-outline-variant{border-color:var(--md-sys-color-outline-variant)}.border-outline-variant\/15{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/15{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)15%,transparent)}}.border-outline-variant\/20{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/20{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)20%,transparent)}}.border-outline-variant\/25{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/25{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)25%,transparent)}}.border-outline-variant\/30{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/30{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)30%,transparent)}}.border-outline-variant\/40{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/40{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)40%,transparent)}}.border-outline-variant\/50{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/50{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)50%,transparent)}}.border-outline-variant\/60{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/60{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)60%,transparent)}}.border-outline-variant\/70{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.border-outline-variant\/70{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)70%,transparent)}}.border-primary{border-color:var(--md-sys-color-primary)}.border-primary\/20{border-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab,var(--md-sys-color-primary)20%,transparent)}}.border-primary\/30{border-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab,var(--md-sys-color-primary)30%,transparent)}}.border-primary\/50{border-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab,var(--md-sys-color-primary)50%,transparent)}}.border-rose-500\/30{border-color:#ff20564d}@supports (color: color-mix(in lab, red, red)){.border-rose-500\/30{border-color:color-mix(in oklab,var(--color-rose-500)30%,transparent)}}.border-secondary\/50{border-color:var(--md-sys-color-secondary)}@supports (color: color-mix(in lab, red, red)){.border-secondary\/50{border-color:color-mix(in oklab,var(--md-sys-color-secondary)50%,transparent)}}.border-surface{border-color:var(--md-sys-color-surface)}.border-surface-container{border-color:var(--md-sys-color-surface-container)}.border-transparent{border-color:#0000}.border-warning\/20{border-color:var(--md-ext-color-warning)}@supports (color: color-mix(in lab, red, red)){.border-warning\/20{border-color:color-mix(in oklab,var(--md-ext-color-warning)20%,transparent)}}.border-warning\/50{border-color:var(--md-ext-color-warning)}@supports (color: color-mix(in lab, red, red)){.border-warning\/50{border-color:color-mix(in oklab,var(--md-ext-color-warning)50%,transparent)}}.border-white{border-color:var(--color-white)}.border-white\/5{border-color:#ffffff0d}@supports (color: color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color: color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color: color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-t-white\/20{border-top-color:#fff3}@supports (color: color-mix(in lab, red, red)){.border-t-white\/20{border-top-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-r-transparent{border-right-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-surface{background-color:var(--md-sys-color-surface)!important}.\!bg-surface-container{background-color:var(--md-sys-color-surface-container)!important}.\!bg-transparent{background-color:#0000!important}.bg-\[var\(--md-sys-color-primary-container\,\#eaddff\)\]{background-color:var(--md-sys-color-primary-container,#eaddff)}.bg-\[var\(--md-sys-color-surface-container\,\#f3edf7\)\]\/60{background-color:var(--md-sys-color-surface-container,#f3edf7)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--md-sys-color-surface-container\,\#f3edf7\)\]\/60{background-color:color-mix(in oklab,var(--md-sys-color-surface-container,#f3edf7)60%,transparent)}}.bg-\[var\(--md-sys-color-surface-container-high\,\#ece6f0\)\]{background-color:var(--md-sys-color-surface-container-high,#ece6f0)}.bg-\[var\(--md-sys-color-surface-container-low\,\#f7f2fa\)\]{background-color:var(--md-sys-color-surface-container-low,#f7f2fa)}.bg-\[var\(--md-sys-color-surface-container-lowest\,\#ffffff\)\]{background-color:var(--md-sys-color-surface-container-lowest,#fff)}.bg-\[var\(--reader-accent\)\]{background-color:var(--reader-accent)}.bg-\[var\(--reader-surface\)\]{background-color:var(--reader-surface)}.bg-\[var\(--reader-surface\)\]\/40{background-color:var(--reader-surface)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--reader-surface\)\]\/40{background-color:color-mix(in oklab,var(--reader-surface)40%,transparent)}}.bg-\[var\(--reader-surface\)\]\/50{background-color:var(--reader-surface)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--reader-surface\)\]\/50{background-color:color-mix(in oklab,var(--reader-surface)50%,transparent)}}.bg-\[var\(--reader-surface\)\]\/60{background-color:var(--reader-surface)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--reader-surface\)\]\/60{background-color:color-mix(in oklab,var(--reader-surface)60%,transparent)}}.bg-\[var\(--reader-surface\)\]\/70{background-color:var(--reader-surface)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--reader-surface\)\]\/70{background-color:color-mix(in oklab,var(--reader-surface)70%,transparent)}}.bg-\[var\(--reader-surface\)\]\/85{background-color:var(--reader-surface)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--reader-surface\)\]\/85{background-color:color-mix(in oklab,var(--reader-surface)85%,transparent)}}.bg-\[var\(--reader-surface\)\]\/90{background-color:var(--reader-surface)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--reader-surface\)\]\/90{background-color:color-mix(in oklab,var(--reader-surface)90%,transparent)}}.bg-\[var\(--reader-surface\)\]\/95{background-color:var(--reader-surface)}@supports (color: color-mix(in lab, red, red)){.bg-\[var\(--reader-surface\)\]\/95{background-color:color-mix(in oklab,var(--reader-surface)95%,transparent)}}.bg-accent\/5{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--md-sys-color-primary)5%,transparent)}}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500\/20{background-color:#f99c0033}@supports (color: color-mix(in lab, red, red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-app{background-color:var(--md-sys-color-surface)}.bg-app-box{background-color:var(--md-sys-color-surface-container)}.bg-app-box\/30{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-app-box\/30{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)30%,transparent)}}.bg-app-box\/40{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-app-box\/40{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)40%,transparent)}}.bg-app-input{background-color:var(--md-sys-color-surface-container-highest)}.bg-app-line{background-color:var(--md-sys-color-outline-variant)}.bg-black{background-color:var(--color-black)}.bg-black\/20{background-color:#0003}@supports (color: color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color: color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color: color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color: color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color: color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color: color-mix(in lab, red, red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-500\/15{background-color:#2b7fff26}@supports (color: color-mix(in lab, red, red)){.bg-blue-500\/15{background-color:color-mix(in oklab,var(--color-blue-500)15%,transparent)}}.bg-cyan-500\/10{background-color:#00b8db1a}@supports (color: color-mix(in lab, red, red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.bg-emerald-500\/10{background-color:#00bc7d1a}@supports (color: color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.bg-emerald-500\/15{background-color:#00bc7d26}@supports (color: color-mix(in lab, red, red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500)15%,transparent)}}.bg-error{background-color:var(--md-sys-color-error)}.bg-error-container{background-color:var(--md-sys-color-error-container)}.bg-error\/10{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab,var(--md-sys-color-error)10%,transparent)}}.bg-error\/20{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.bg-error\/20{background-color:color-mix(in oklab,var(--md-sys-color-error)20%,transparent)}}.bg-inverse-on-surface\/12{background-color:var(--md-sys-color-inverse-on-surface)}@supports (color: color-mix(in lab, red, red)){.bg-inverse-on-surface\/12{background-color:color-mix(in oklab,var(--md-sys-color-inverse-on-surface)12%,transparent)}}.bg-inverse-surface{background-color:var(--md-sys-color-inverse-surface)}.bg-inverse-surface\/80{background-color:var(--md-sys-color-inverse-surface)}@supports (color: color-mix(in lab, red, red)){.bg-inverse-surface\/80{background-color:color-mix(in oklab,var(--md-sys-color-inverse-surface)80%,transparent)}}.bg-on-primary{background-color:var(--md-sys-color-on-primary)}.bg-on-primary-fixed-variant{background-color:var(--md-sys-color-on-primary-fixed-variant,var(--md-sys-color-on-primary-container))}.bg-on-secondary-container\/12{background-color:var(--md-sys-color-on-secondary-container)}@supports (color: color-mix(in lab, red, red)){.bg-on-secondary-container\/12{background-color:color-mix(in oklab,var(--md-sys-color-on-secondary-container)12%,transparent)}}.bg-on-surface{background-color:var(--md-sys-color-on-surface)}.bg-on-surface-variant{background-color:var(--md-sys-color-on-surface-variant)}.bg-on-surface-variant\/20{background-color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.bg-on-surface-variant\/20{background-color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)20%,transparent)}}.bg-on-surface-variant\/40{background-color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.bg-on-surface-variant\/40{background-color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)40%,transparent)}}.bg-on-surface\/8{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.bg-on-surface\/8{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)8%,transparent)}}.bg-on-surface\/10{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.bg-on-surface\/10{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.bg-on-surface\/12{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.bg-on-surface\/12{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)12%,transparent)}}.bg-outline{background-color:var(--md-sys-color-outline)}.bg-outline-variant{background-color:var(--md-sys-color-outline-variant)}.bg-outline-variant\/50{background-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.bg-outline-variant\/50{background-color:color-mix(in oklab,var(--md-sys-color-outline-variant)50%,transparent)}}.bg-outline-variant\/60{background-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.bg-outline-variant\/60{background-color:color-mix(in oklab,var(--md-sys-color-outline-variant)60%,transparent)}}.bg-outline\/50{background-color:var(--md-sys-color-outline)}@supports (color: color-mix(in lab, red, red)){.bg-outline\/50{background-color:color-mix(in oklab,var(--md-sys-color-outline)50%,transparent)}}.bg-primary{background-color:var(--md-sys-color-primary)}.bg-primary-container{background-color:var(--md-sys-color-primary-container)}.bg-primary-fixed{background-color:var(--md-sys-color-primary-fixed,var(--md-sys-color-primary-container))}.bg-primary\/5{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--md-sys-color-primary)5%,transparent)}}.bg-primary\/8{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.bg-primary\/8{background-color:color-mix(in oklab,var(--md-sys-color-primary)8%,transparent)}}.bg-primary\/10{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.bg-primary\/20{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--md-sys-color-primary)20%,transparent)}}.bg-primary\/50{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.bg-primary\/50{background-color:color-mix(in oklab,var(--md-sys-color-primary)50%,transparent)}}.bg-rose-500\/10{background-color:#ff20561a}@supports (color: color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.bg-rose-500\/15{background-color:#ff205626}@supports (color: color-mix(in lab, red, red)){.bg-rose-500\/15{background-color:color-mix(in oklab,var(--color-rose-500)15%,transparent)}}.bg-scrim{background-color:var(--md-sys-color-scrim)}.bg-scrim\/32{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){.bg-scrim\/32{background-color:color-mix(in oklab,var(--md-sys-color-scrim)32%,transparent)}}.bg-scrim\/38{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){.bg-scrim\/38{background-color:color-mix(in oklab,var(--md-sys-color-scrim)38%,transparent)}}.bg-scrim\/90{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){.bg-scrim\/90{background-color:color-mix(in oklab,var(--md-sys-color-scrim)90%,transparent)}}.bg-scrim\/95{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){.bg-scrim\/95{background-color:color-mix(in oklab,var(--md-sys-color-scrim)95%,transparent)}}.bg-secondary-container{background-color:var(--md-sys-color-secondary-container)}.bg-secondary-container\/30{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.bg-secondary-container\/30{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)30%,transparent)}}.bg-secondary-container\/40{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.bg-secondary-container\/40{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)40%,transparent)}}.bg-secondary-container\/50{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.bg-secondary-container\/50{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)50%,transparent)}}.bg-secondary-container\/60{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.bg-secondary-container\/60{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)60%,transparent)}}.bg-secondary-container\/70{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.bg-secondary-container\/70{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)70%,transparent)}}.bg-success{background-color:var(--md-ext-color-success)}.bg-success-container{background-color:var(--md-ext-color-success-container)}.bg-surface{background-color:var(--md-sys-color-surface)}.bg-surface-container{background-color:var(--md-sys-color-surface-container)}.bg-surface-container-high{background-color:var(--md-sys-color-surface-container-high)}.bg-surface-container-high\/60{background-color:var(--md-sys-color-surface-container-high)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-high\/60{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-high)60%,transparent)}}.bg-surface-container-high\/80{background-color:var(--md-sys-color-surface-container-high)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-high\/80{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-high)80%,transparent)}}.bg-surface-container-high\/95{background-color:var(--md-sys-color-surface-container-high)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-high\/95{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-high)95%,transparent)}}.bg-surface-container-highest{background-color:var(--md-sys-color-surface-container-highest)}.bg-surface-container-low{background-color:var(--md-sys-color-surface-container-low)}.bg-surface-container-low\/40{background-color:var(--md-sys-color-surface-container-low)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-low\/40{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-low)40%,transparent)}}.bg-surface-container-low\/50{background-color:var(--md-sys-color-surface-container-low)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-low\/50{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-low)50%,transparent)}}.bg-surface-container-low\/65{background-color:var(--md-sys-color-surface-container-low)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-low\/65{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-low)65%,transparent)}}.bg-surface-container-low\/80{background-color:var(--md-sys-color-surface-container-low)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-low\/80{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-low)80%,transparent)}}.bg-surface-container-low\/95{background-color:var(--md-sys-color-surface-container-low)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-low\/95{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-low)95%,transparent)}}.bg-surface-container-lowest{background-color:var(--md-sys-color-surface-container-lowest)}.bg-surface-container-lowest\/60{background-color:var(--md-sys-color-surface-container-lowest)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-lowest\/60{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-lowest)60%,transparent)}}.bg-surface-container-lowest\/80{background-color:var(--md-sys-color-surface-container-lowest)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container-lowest\/80{background-color:color-mix(in oklab,var(--md-sys-color-surface-container-lowest)80%,transparent)}}.bg-surface-container\/20{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container\/20{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)20%,transparent)}}.bg-surface-container\/30{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container\/30{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)30%,transparent)}}.bg-surface-container\/40{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container\/40{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)40%,transparent)}}.bg-surface-container\/50{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container\/50{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)50%,transparent)}}.bg-surface-container\/60{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container\/60{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)60%,transparent)}}.bg-surface-container\/90{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container\/90{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)90%,transparent)}}.bg-surface-container\/95{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.bg-surface-container\/95{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)95%,transparent)}}.bg-surface\/20{background-color:var(--md-sys-color-surface)}@supports (color: color-mix(in lab, red, red)){.bg-surface\/20{background-color:color-mix(in oklab,var(--md-sys-color-surface)20%,transparent)}}.bg-surface\/80{background-color:var(--md-sys-color-surface)}@supports (color: color-mix(in lab, red, red)){.bg-surface\/80{background-color:color-mix(in oklab,var(--md-sys-color-surface)80%,transparent)}}.bg-surface\/90{background-color:var(--md-sys-color-surface)}@supports (color: color-mix(in lab, red, red)){.bg-surface\/90{background-color:color-mix(in oklab,var(--md-sys-color-surface)90%,transparent)}}.bg-surface\/95{background-color:var(--md-sys-color-surface)}@supports (color: color-mix(in lab, red, red)){.bg-surface\/95{background-color:color-mix(in oklab,var(--md-sys-color-surface)95%,transparent)}}.bg-tertiary{background-color:var(--md-sys-color-tertiary)}.bg-tertiary-container{background-color:var(--md-sys-color-tertiary-container)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--md-ext-color-warning)}.bg-warning-container{background-color:var(--md-ext-color-warning-container)}.bg-warning\/10{background-color:var(--md-ext-color-warning)}@supports (color: color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--md-ext-color-warning)10%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color: color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/80{--tw-gradient-from:#000c;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}@supports (color: color-mix(in lab, red, red)){.from-black\/80{--tw-gradient-from:color-mix(in oklab,var(--color-black)80%,transparent)}}.from-surface{--tw-gradient-from:var(--md-sys-color-surface);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-surface\/85{--tw-gradient-from:var(--md-sys-color-surface);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}@supports (color: color-mix(in lab, red, red)){.from-surface\/85{--tw-gradient-from:color-mix(in oklab,var(--md-sys-color-surface)85%,transparent)}}.via-black\/40{--tw-gradient-via:#0006;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}@supports (color: color-mix(in lab, red, red)){.via-black\/40{--tw-gradient-via:color-mix(in oklab,var(--color-black)40%,transparent)}}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-current{fill:currentcolor}.fill-on-primary{fill:var(--md-sys-color-on-primary)}.stroke-primary{stroke:var(--md-sys-color-primary)}.stroke-secondary-container{stroke:var(--md-sys-color-secondary-container)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.\!p-0{padding:0!important}.p-\(--m3-gutter\){padding:var(--m3-gutter)}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-3\.5{padding:calc(var(--spacing)*3.5)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.\!px-0{padding-inline-start:0!important;padding-inline-end:0!important}.\!px-3\.5{padding-inline:calc(var(--spacing)*3.5)!important}.px-\(--m3-gutter\){padding-inline:var(--m3-gutter)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-12{padding-inline:calc(var(--spacing)*12)}.\!py-1{padding-block:var(--spacing)!important}.\!py-2{padding-block:calc(var(--spacing)*2)!important}.py-0{padding-block-start:0;padding-block-end:0}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.py-px{padding-block-start:1px;padding-block-end:1px}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-2\.5{padding-top:calc(var(--spacing)*2.5)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-12{padding-top:calc(var(--spacing)*12)}.pt-14{padding-top:calc(var(--spacing)*14)}.pt-16{padding-top:calc(var(--spacing)*16)}.pt-20{padding-top:calc(var(--spacing)*20)}.pt-\[43px\]{padding-top:43px}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-12{padding-right:calc(var(--spacing)*12)}.pr-14{padding-right:calc(var(--spacing)*14)}.pr-20{padding-right:calc(var(--spacing)*20)}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-0{padding-left:0}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-9{padding-left:calc(var(--spacing)*9)}.pl-11{padding-left:calc(var(--spacing)*11)}.pl-14{padding-left:calc(var(--spacing)*14)}.text-center{text-align:center}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-code,.font-mono{font-family:var(--md-ref-typeface-code)}.font-plain,.font-sans{font-family:var(--md-ref-typeface-plain)}.font-serif{font-family:var(--font-serif)}.text-body-large{font-size:var(--md-sys-typescale-body-large-size);line-height:var(--tw-leading,var(--md-sys-typescale-body-large-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-body-large-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-body-large-weight))}.text-body-medium{font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--tw-leading,var(--md-sys-typescale-body-medium-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-body-medium-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-body-medium-weight))}.text-body-small{font-size:var(--md-sys-typescale-body-small-size);line-height:var(--tw-leading,var(--md-sys-typescale-body-small-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-body-small-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-body-small-weight))}.text-display-medium{font-size:var(--md-sys-typescale-display-medium-size);line-height:var(--tw-leading,var(--md-sys-typescale-display-medium-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-display-medium-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-display-medium-weight))}.text-headline-large{font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--tw-leading,var(--md-sys-typescale-headline-large-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-headline-large-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-headline-large-weight))}.text-headline-medium{font-size:var(--md-sys-typescale-headline-medium-size);line-height:var(--tw-leading,var(--md-sys-typescale-headline-medium-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-headline-medium-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-headline-medium-weight))}.text-headline-small{font-size:var(--md-sys-typescale-headline-small-size);line-height:var(--tw-leading,var(--md-sys-typescale-headline-small-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-headline-small-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-headline-small-weight))}.text-label-large{font-size:var(--md-sys-typescale-label-large-size);line-height:var(--tw-leading,var(--md-sys-typescale-label-large-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-label-large-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-label-large-weight))}.text-label-medium{font-size:var(--md-sys-typescale-label-medium-size);line-height:var(--tw-leading,var(--md-sys-typescale-label-medium-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-label-medium-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-label-medium-weight))}.text-label-small{font-size:var(--md-sys-typescale-label-small-size);line-height:var(--tw-leading,var(--md-sys-typescale-label-small-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-label-small-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-label-small-weight))}.text-title-large{font-size:var(--md-sys-typescale-title-large-size);line-height:var(--tw-leading,var(--md-sys-typescale-title-large-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-title-large-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-title-large-weight))}.text-title-medium{font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--tw-leading,var(--md-sys-typescale-title-medium-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-title-medium-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-title-medium-weight))}.text-title-small{font-size:var(--md-sys-typescale-title-small-size);line-height:var(--tw-leading,var(--md-sys-typescale-title-small-line-height));letter-spacing:var(--tw-tracking,var(--md-sys-typescale-title-small-tracking));font-weight:var(--tw-font-weight,var(--md-sys-typescale-title-small-weight))}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9em\]{font-size:.9em}.text-\[0\.75em\]{font-size:.75em}.text-\[0\.85em\]{font-size:.85em}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[28px\]{font-size:28px}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-primary{color:var(--md-sys-color-primary)!important}.text-\[\#0EBC5F\]{color:#0ebc5f}.text-\[\#9B72CB\]{color:#9b72cb}.text-\[\#4285F4\]{color:#4285f4}.text-\[\#EA4335\]{color:#ea4335}.text-\[\#FF4641\]{color:#ff4641}.text-\[\#FFCC00\]{color:#fc0}.text-\[var\(--md-sys-color-error\,\#b3261e\)\]{color:var(--md-sys-color-error,#b3261e)}.text-\[var\(--md-sys-color-on-primary-container\,\#21005d\)\]{color:var(--md-sys-color-on-primary-container,#21005d)}.text-\[var\(--md-sys-color-on-surface\,\#1d1b20\)\]{color:var(--md-sys-color-on-surface,#1d1b20)}.text-\[var\(--md-sys-color-on-surface-variant\,\#49454f\)\]{color:var(--md-sys-color-on-surface-variant,#49454f)}.text-\[var\(--md-sys-color-outline\,\#79747e\)\]{color:var(--md-sys-color-outline,#79747e)}.text-\[var\(--md-sys-color-primary\,\#6750a4\)\]{color:var(--md-sys-color-primary,#6750a4)}.text-\[var\(--reader-accent\)\]{color:var(--reader-accent)}.text-\[var\(--reader-accent\)\]\/70{color:var(--reader-accent)}@supports (color: color-mix(in lab, red, red)){.text-\[var\(--reader-accent\)\]\/70{color:color-mix(in oklab,var(--reader-accent)70%,transparent)}}.text-\[var\(--reader-on-accent\)\]{color:var(--reader-on-accent)}.text-\[var\(--reader-on-surface\)\]{color:var(--reader-on-surface)}.text-\[var\(--reader-on-surface\)\]\/50{color:var(--reader-on-surface)}@supports (color: color-mix(in lab, red, red)){.text-\[var\(--reader-on-surface\)\]\/50{color:color-mix(in oklab,var(--reader-on-surface)50%,transparent)}}.text-\[var\(--reader-on-surface\)\]\/60{color:var(--reader-on-surface)}@supports (color: color-mix(in lab, red, red)){.text-\[var\(--reader-on-surface\)\]\/60{color:color-mix(in oklab,var(--reader-on-surface)60%,transparent)}}.text-\[var\(--reader-on-surface\)\]\/70{color:var(--reader-on-surface)}@supports (color: color-mix(in lab, red, red)){.text-\[var\(--reader-on-surface\)\]\/70{color:color-mix(in oklab,var(--reader-on-surface)70%,transparent)}}.text-\[var\(--reader-on-surface\)\]\/80{color:var(--reader-on-surface)}@supports (color: color-mix(in lab, red, red)){.text-\[var\(--reader-on-surface\)\]\/80{color:color-mix(in oklab,var(--reader-on-surface)80%,transparent)}}.text-accent{color:var(--md-sys-color-primary)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-700{color:var(--color-emerald-700)}.text-error{color:var(--md-sys-color-error)}.text-error-container{color:var(--md-sys-color-error-container)}.text-ink{color:var(--md-sys-color-on-surface)}.text-ink-dull{color:var(--md-sys-color-on-surface-variant)}.text-ink-faint{color:var(--md-sys-color-outline)}.text-inverse-on-surface{color:var(--md-sys-color-inverse-on-surface)}.text-inverse-on-surface\/80{color:var(--md-sys-color-inverse-on-surface)}@supports (color: color-mix(in lab, red, red)){.text-inverse-on-surface\/80{color:color-mix(in oklab,var(--md-sys-color-inverse-on-surface)80%,transparent)}}.text-inverse-primary{color:var(--md-sys-color-inverse-primary)}.text-on-error{color:var(--md-sys-color-on-error)}.text-on-error-container{color:var(--md-sys-color-on-error-container)}.text-on-primary{color:var(--md-sys-color-on-primary)}.text-on-primary-container{color:var(--md-sys-color-on-primary-container)}.text-on-secondary-container{color:var(--md-sys-color-on-secondary-container)}.text-on-success{color:var(--md-ext-color-on-success)}.text-on-success-container{color:var(--md-ext-color-on-success-container)}.text-on-surface{color:var(--md-sys-color-on-surface)}.text-on-surface-variant{color:var(--md-sys-color-on-surface-variant)}.text-on-surface-variant\/40{color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.text-on-surface-variant\/40{color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)40%,transparent)}}.text-on-surface-variant\/50{color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.text-on-surface-variant\/50{color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)50%,transparent)}}.text-on-surface-variant\/60{color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.text-on-surface-variant\/60{color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)60%,transparent)}}.text-on-surface-variant\/70{color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.text-on-surface-variant\/70{color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)70%,transparent)}}.text-on-surface-variant\/80{color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.text-on-surface-variant\/80{color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)80%,transparent)}}.text-on-surface\/38{color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.text-on-surface\/38{color:color-mix(in oklab,var(--md-sys-color-on-surface)38%,transparent)}}.text-on-surface\/80{color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.text-on-surface\/80{color:color-mix(in oklab,var(--md-sys-color-on-surface)80%,transparent)}}.text-on-tertiary{color:var(--md-sys-color-on-tertiary)}.text-on-tertiary-container{color:var(--md-sys-color-on-tertiary-container)}.text-on-warning{color:var(--md-ext-color-on-warning)}.text-on-warning-container{color:var(--md-ext-color-on-warning-container)}.text-orange-400{color:var(--color-orange-400)}.text-outline{color:var(--md-sys-color-outline)}.text-outline\/50{color:var(--md-sys-color-outline)}@supports (color: color-mix(in lab, red, red)){.text-outline\/50{color:color-mix(in oklab,var(--md-sys-color-outline)50%,transparent)}}.text-outline\/70{color:var(--md-sys-color-outline)}@supports (color: color-mix(in lab, red, red)){.text-outline\/70{color:color-mix(in oklab,var(--md-sys-color-outline)70%,transparent)}}.text-primary{color:var(--md-sys-color-primary)}.text-red-400{color:var(--color-red-400)}.text-rose-400{color:var(--color-rose-400)}.text-secondary{color:var(--md-sys-color-secondary)}.text-success{color:var(--md-ext-color-success)}.text-success-container{color:var(--md-ext-color-success-container)}.text-teal-400{color:var(--color-teal-400)}.text-tertiary{color:var(--md-sys-color-tertiary)}.text-warning{color:var(--md-ext-color-warning)}.text-warning-container{color:var(--md-ext-color-warning-container)}.text-white{color:var(--color-white)}.text-white\/30{color:#ffffff4d}@supports (color: color-mix(in lab, red, red)){.text-white\/30{color:color-mix(in oklab,var(--color-white)30%,transparent)}}.text-white\/40{color:#fff6}@supports (color: color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color: color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\/60{color:#fff9}@supports (color: color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color: color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-on-surface-variant::placeholder{color:var(--md-sys-color-on-surface-variant)}.caret-error{caret-color:var(--md-sys-color-error)}.caret-primary{caret-color:var(--md-sys-color-primary)}.accent-error{accent-color:var(--md-sys-color-error)}.accent-primary{accent-color:var(--md-sys-color-primary)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-38{opacity:.38}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow{--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)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(255\,178\,0\,0\.4\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#ffb20066);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--reader-accent\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,var(--reader-accent));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_24px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 0 24px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[2px_2px_0px_\#000\]{--tw-shadow:2px 2px 0px var(--tw-shadow-color,#000);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[3px_3px_0px_\#000\]{--tw-shadow:3px 3px 0px var(--tw-shadow-color,#000);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.shadow-md3-1{--tw-shadow:var(--md-sys-elevation-level1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md3-2{--tw-shadow:var(--md-sys-elevation-level2);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md3-3{--tw-shadow:var(--md-sys-elevation-level3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md3-5{--tw-shadow:var(--md-sys-elevation-level5);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--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)}.shadow-xs{--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)}.ring{--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)}.ring-0{--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)}.ring-1{--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)}.ring-2{--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)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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)}.ring-4{--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)}.ring-accent,.ring-primary{--tw-ring-color:var(--md-sys-color-primary)}.ring-primary\/50{--tw-ring-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.ring-primary\/50{--tw-ring-color:color-mix(in oklab,var(--md-sys-color-primary)50%,transparent)}}.ring-secondary{--tw-ring-color:var(--md-sys-color-secondary)}.ring-surface-container-high{--tw-ring-color:var(--md-sys-color-surface-container-high)}.ring-transparent{--tw-ring-color:transparent}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-3{outline-style:var(--tw-outline-style);outline-width:3px}.-outline-offset-1{outline-offset:calc(1px*-1)}.outline-offset-0{outline-offset:0px}.outline-primary{outline-color:var(--md-sys-color-primary)}.outline-secondary{outline-color:var(--md-sys-color-secondary)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[1px_1px_0px_\#000\]{--tw-drop-shadow-size:drop-shadow(1px 1px 0px var(--tw-drop-shadow-color,#000));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{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,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-\[background-color\,border-color\,box-shadow\,color\]{transition-property:background-color,border-color,box-shadow,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,box-shadow\]{transition-property:background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,transform\]{transition-property:background-color,border-color,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\,opacity\]{transition-property:height,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,width\,height\,background-color\]{transition-property:left,width,height,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,width\]{transition-property:left,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,scale\]{transition-property:opacity,scale;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[outline-color\]{transition-property:outline-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,box-shadow\]{transition-property:transform,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-emphasized{--tw-ease:var(--md-sys-motion-easing-emphasized);transition-timing-function:var(--md-sys-motion-easing-emphasized)}.ease-emphasized-decelerate{--tw-ease:var(--md-sys-motion-easing-emphasized-decelerate);transition-timing-function:var(--md-sys-motion-easing-emphasized-decelerate)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-standard{--tw-ease:var(--md-sys-motion-easing-standard);transition-timing-function:var(--md-sys-motion-easing-standard)}.ease-standard-decelerate{--tw-ease:var(--md-sys-motion-easing-standard-decelerate);transition-timing-function:var(--md-sys-motion-easing-standard-decelerate)}.will-change-transform{will-change:transform}.\[contain\:inline-size\]{contain:inline-size}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.backface-hidden{backface-visibility:hidden}.ring-inset{--tw-ring-inset:inset}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:h-1\.5:is(:where(.group):hover *){height:calc(var(--spacing)*1.5)}.group-hover\:h-2:is(:where(.group):hover *){height:calc(var(--spacing)*2)}.group-hover\:w-20:is(:where(.group):hover *){width:calc(var(--spacing)*20)}.group-hover\:scale-\[1\.015\]:is(:where(.group):hover *){scale:1.015}.group-hover\:bg-on-surface-variant:is(:where(.group):hover *){background-color:var(--md-sys-color-on-surface-variant)}.group-hover\:text-on-surface:is(:where(.group):hover *){color:var(--md-sys-color-on-surface)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--md-sys-color-primary)}.group-hover\:opacity-95:is(:where(.group):hover *){opacity:.95}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-\[0_0_60px_rgba\(0\,0\,0\,0\.75\)\]:is(:where(.group):hover *){--tw-shadow:0 0 60px var(--tw-shadow-color,#000000bf);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.group-focus-visible\:scale-\[1\.015\]:is(:where(.group):focus-visible *){scale:1.015}.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.group-active\:left-\[0px\]:is(:where(.group):active *){left:0}.group-active\:size-5:is(:where(.group):active *){width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.group-active\:size-7:is(:where(.group):active *){width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.group-data-checked\:opacity-100:is(:where(.group)[data-checked] *){opacity:1}.group-data-indeterminate\:flex:is(:where(.group)[data-indeterminate] *){display:flex}.group-data-indeterminate\:hidden:is(:where(.group)[data-indeterminate] *){display:none}.group-data-panel-open\/item\:rotate-180:is(:where(.group\/item)[data-panel-open] *){rotate:180deg}.group-data-popup-open\:rotate-180:is(:where(.group)[data-popup-open] *){rotate:180deg}.group-data-\[disabled\]\/field\:cursor-not-allowed:is(:where(.group\/field)[data-disabled] *){cursor:not-allowed}.group-data-\[disabled\]\/field\:opacity-38:is(:where(.group\/field)[data-disabled] *){opacity:.38}.marker\:text-on-surface-variant ::marker{color:var(--md-sys-color-on-surface-variant)}.marker\:text-on-surface-variant::marker{color:var(--md-sys-color-on-surface-variant)}.marker\:text-on-surface-variant ::-webkit-details-marker{color:var(--md-sys-color-on-surface-variant)}.marker\:text-on-surface-variant::-webkit-details-marker{color:var(--md-sys-color-on-surface-variant)}.selection\:bg-primary-container ::selection,.selection\:bg-primary-container::selection{background-color:var(--md-sys-color-primary-container)}.selection\:text-on-primary-container ::selection,.selection\:text-on-primary-container::selection{color:var(--md-sys-color-on-primary-container)}.placeholder\:text-on-surface-variant::placeholder{color:var(--md-sys-color-on-surface-variant)}.placeholder\:text-on-surface-variant\/60::placeholder{color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.placeholder\:text-on-surface-variant\/60::placeholder{color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)60%,transparent)}}.placeholder\:text-on-surface-variant\/70::placeholder{color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.placeholder\:text-on-surface-variant\/70::placeholder{color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)70%,transparent)}}.placeholder\:text-outline::placeholder{color:var(--md-sys-color-outline)}.backdrop\:bg-scrim\/32::backdrop{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){.backdrop\:bg-scrim\/32::backdrop{background-color:color-mix(in oklab,var(--md-sys-color-scrim)32%,transparent)}}.backdrop\:bg-scrim\/40::backdrop{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){.backdrop\:bg-scrim\/40::backdrop{background-color:color-mix(in oklab,var(--md-sys-color-scrim)40%,transparent)}}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:left-1\/2:before{content:var(--tw-content);left:50%}.before\:-z-10:before{content:var(--tw-content);z-index:calc(10*-1)}.before\:size-8:before{content:var(--tw-content);width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.before\:size-10:before{content:var(--tw-content);width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.before\:-translate-x-1\/2:before{content:var(--tw-content);--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:-translate-y-1\/2:before{content:var(--tw-content);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:rounded-\[inherit\]:before{content:var(--tw-content);border-radius:inherit}.before\:rounded-full:before{content:var(--tw-content);border-radius:var(--md-sys-shape-corner-full)}.before\:bg-current:before{content:var(--tw-content);background-color:currentColor}.before\:bg-on-error:before{content:var(--tw-content);background-color:var(--md-sys-color-on-error)}.before\:bg-on-primary:before{content:var(--tw-content);background-color:var(--md-sys-color-on-primary)}.before\:bg-on-surface:before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:transition-colors:before{content:var(--tw-content);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))}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:duration-200:before{content:var(--tw-content);--tw-duration:.2s;transition-duration:.2s}.before\:ease-standard:before{content:var(--tw-content);--tw-ease:var(--md-sys-motion-easing-standard);transition-timing-function:var(--md-sys-motion-easing-standard)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.group-hover\:before\:bg-on-surface\/8:is(:where(.group):hover *):before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.group-hover\:before\:bg-on-surface\/8:is(:where(.group):hover *):before{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)8%,transparent)}}}.group-focus-visible\:before\:bg-on-surface\/10:is(:where(.group):focus-visible *):before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.group-focus-visible\:before\:bg-on-surface\/10:is(:where(.group):focus-visible *):before{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.group-active\:before\:bg-on-surface\/10:is(:where(.group):active *):before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.group-active\:before\:bg-on-surface\/10:is(:where(.group):active *):before{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-2:after{content:var(--tw-content);inset-inline:calc(var(--spacing)*2)}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:hidden:after{content:var(--tw-content);display:none}.after\:h-\[3px\]:after{content:var(--tw-content);height:3px}.after\:rounded-t-\[3px\]:after{content:var(--tw-content);border-top-left-radius:3px;border-top-right-radius:3px}.after\:bg-primary:after{content:var(--tw-content);background-color:var(--md-sys-color-primary)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-200:after{content:var(--tw-content);--tw-duration:.2s;transition-duration:.2s}.after\:ease-standard:after{content:var(--tw-content);--tw-ease:var(--md-sys-motion-easing-standard);transition-timing-function:var(--md-sys-motion-easing-standard)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:rounded-t-large:first-child{border-top-left-radius:var(--md-sys-shape-corner-large);border-top-right-radius:var(--md-sys-shape-corner-large)}.first\:pt-0:first-child{padding-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-b-large:last-child{border-bottom-right-radius:var(--md-sys-shape-corner-large);border-bottom-left-radius:var(--md-sys-shape-corner-large)}.last\:pb-0:last-child{padding-bottom:0}.checked\:border-error:checked{border-color:var(--md-sys-color-error)}.checked\:border-primary:checked{border-color:var(--md-sys-color-primary)}.checked\:bg-error:checked{background-color:var(--md-sys-color-error)}.checked\:bg-primary:checked{background-color:var(--md-sys-color-primary)}.checked\:after\:absolute:checked:after{content:var(--tw-content);position:absolute}.checked\:after\:top-\[0px\]:checked:after{content:var(--tw-content);top:0}.checked\:after\:left-\[4px\]:checked:after{content:var(--tw-content);left:4px}.checked\:after\:h-\[10px\]:checked:after{content:var(--tw-content);height:10px}.checked\:after\:w-\[5px\]:checked:after{content:var(--tw-content);width:5px}.checked\:after\:rotate-45:checked:after{content:var(--tw-content);rotate:45deg}.checked\:after\:border-r-2:checked:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:2px}.checked\:after\:border-b-2:checked:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.checked\:after\:border-on-error:checked:after{content:var(--tw-content);border-color:var(--md-sys-color-on-error)}.checked\:after\:border-on-primary:checked:after{content:var(--tw-content);border-color:var(--md-sys-color-on-primary)}.checked\:after\:content-\[\'\'\]:checked:after{--tw-content:"";content:var(--tw-content)}.indeterminate\:border-error:indeterminate{border-color:var(--md-sys-color-error)}.indeterminate\:border-primary:indeterminate{border-color:var(--md-sys-color-primary)}.indeterminate\:bg-error:indeterminate{background-color:var(--md-sys-color-error)}.indeterminate\:bg-primary:indeterminate{background-color:var(--md-sys-color-primary)}.indeterminate\:after\:absolute:indeterminate:after{content:var(--tw-content);position:absolute}.indeterminate\:after\:top-\[6px\]:indeterminate:after{content:var(--tw-content);top:6px}.indeterminate\:after\:left-\[2px\]:indeterminate:after{content:var(--tw-content);left:2px}.indeterminate\:after\:h-\[2px\]:indeterminate:after{content:var(--tw-content);height:2px}.indeterminate\:after\:w-\[10px\]:indeterminate:after{content:var(--tw-content);width:10px}.indeterminate\:after\:bg-on-error:indeterminate:after{content:var(--tw-content);background-color:var(--md-sys-color-on-error)}.indeterminate\:after\:bg-on-primary:indeterminate:after{content:var(--tw-content);background-color:var(--md-sys-color-on-primary)}.indeterminate\:after\:content-\[\'\'\]:indeterminate:after{--tw-content:"";content:var(--tw-content)}.focus-within\:border-error:focus-within{border-color:var(--md-sys-color-error)}.focus-within\:border-primary:focus-within{border-color:var(--md-sys-color-primary)}.focus-within\:border-transparent:focus-within{border-color:#0000}.focus-within\:bg-surface-container-highest:focus-within{background-color:var(--md-sys-color-surface-container-highest)}.focus-within\:bg-transparent:focus-within{background-color:#0000}.focus-within\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-error\)\]:focus-within{--tw-shadow:inset 0 -1px 0 0 var(--tw-shadow-color,var(--md-sys-color-error));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-primary\)\]:focus-within{--tw-shadow:inset 0 -1px 0 0 var(--tw-shadow-color,var(--md-sys-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-1:focus-within{--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)}.focus-within\:ring-2: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)}.focus-within\:ring-error:focus-within{--tw-ring-color:var(--md-sys-color-error)}.focus-within\:ring-primary:focus-within{--tw-ring-color:var(--md-sys-color-primary)}.focus-within\:ring-primary\/20:focus-within{--tw-ring-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.focus-within\:ring-primary\/20:focus-within{--tw-ring-color:color-mix(in oklab,var(--md-sys-color-primary)20%,transparent)}}.focus-within\:ring-transparent:focus-within{--tw-ring-color:transparent}.focus-within\:outline-2:focus-within{outline-style:var(--tw-outline-style);outline-width:2px}.focus-within\:outline-primary:focus-within{outline-color:var(--md-sys-color-primary)}.focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-\[var\(--reader-accent\)\]:hover{border-color:var(--reader-accent)}.hover\:border-accent\/50:hover{border-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:border-accent\/50:hover{border-color:color-mix(in oklab,var(--md-sys-color-primary)50%,transparent)}}.hover\:border-on-error-container:hover{border-color:var(--md-sys-color-on-error-container)}.hover\:border-on-surface:hover{border-color:var(--md-sys-color-on-surface)}.hover\:border-outline:hover{border-color:var(--md-sys-color-outline)}.hover\:border-outline-variant:hover,.hover\:border-outline-variant\/80:hover{border-color:var(--md-sys-color-outline-variant)}@supports (color: color-mix(in lab, red, red)){.hover\:border-outline-variant\/80:hover{border-color:color-mix(in oklab,var(--md-sys-color-outline-variant)80%,transparent)}}.hover\:border-primary:hover,.hover\:border-primary\/50:hover{border-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--md-sys-color-primary)50%,transparent)}}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color: color-mix(in lab, red, red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:border-white\/50:hover{border-color:#ffffff80}@supports (color: color-mix(in lab, red, red)){.hover\:border-white\/50:hover{border-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.hover\:bg-\[var\(--md-sys-color-surface-container-high\,\#ece6f0\)\]:hover{background-color:var(--md-sys-color-surface-container-high,#ece6f0)}.hover\:bg-\[var\(--reader-accent\)\]:hover{background-color:var(--reader-accent)}.hover\:bg-app-hover:hover{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-app-hover:hover{background-color:color-mix(in srgb,var(--md-sys-color-on-surface)8%,var(--md-sys-color-surface-container))}}.hover\:bg-current\/8:hover{background-color:currentColor}@supports (color: color-mix(in lab, red, red)){.hover\:bg-current\/8:hover{background-color:color-mix(in oklab,currentcolor 8%,transparent)}}.hover\:bg-error:hover,.hover\:bg-error\/8:hover{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-error\/8:hover{background-color:color-mix(in oklab,var(--md-sys-color-error)8%,transparent)}}.hover\:bg-error\/10:hover{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-error\/10:hover{background-color:color-mix(in oklab,var(--md-sys-color-error)10%,transparent)}}.hover\:bg-error\/20:hover{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-error\/20:hover{background-color:color-mix(in oklab,var(--md-sys-color-error)20%,transparent)}}.hover\:bg-error\/90:hover{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-error\/90:hover{background-color:color-mix(in oklab,var(--md-sys-color-error)90%,transparent)}}.hover\:bg-inverse-on-surface\/8:hover{background-color:var(--md-sys-color-inverse-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-inverse-on-surface\/8:hover{background-color:color-mix(in oklab,var(--md-sys-color-inverse-on-surface)8%,transparent)}}.hover\:bg-inverse-primary\/8:hover{background-color:var(--md-sys-color-inverse-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-inverse-primary\/8:hover{background-color:color-mix(in oklab,var(--md-sys-color-inverse-primary)8%,transparent)}}.hover\:bg-on-secondary-container\/8:hover{background-color:var(--md-sys-color-on-secondary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-secondary-container\/8:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-secondary-container)8%,transparent)}}.hover\:bg-on-secondary-container\/12:hover{background-color:var(--md-sys-color-on-secondary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-secondary-container\/12:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-secondary-container)12%,transparent)}}.hover\:bg-on-surface-variant\/8:hover{background-color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-surface-variant\/8:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)8%,transparent)}}.hover\:bg-on-surface\/2:hover{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-surface\/2:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)2%,transparent)}}.hover\:bg-on-surface\/4:hover{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-surface\/4:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)4%,transparent)}}.hover\:bg-on-surface\/5:hover{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-surface\/5:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)5%,transparent)}}.hover\:bg-on-surface\/8:hover{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-surface\/8:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)8%,transparent)}}.hover\:bg-on-surface\/10:hover{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-surface\/10:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.hover\:bg-on-surface\/38:hover{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-on-surface\/38:hover{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)38%,transparent)}}.hover\:bg-outline:hover{background-color:var(--md-sys-color-outline)}.hover\:bg-outline-variant:hover{background-color:var(--md-sys-color-outline-variant)}.hover\:bg-primary:hover,.hover\:bg-primary\/8:hover{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-primary\/8:hover{background-color:color-mix(in oklab,var(--md-sys-color-primary)8%,transparent)}}.hover\:bg-primary\/10:hover{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--md-sys-color-primary)90%,transparent)}}.hover\:bg-primary\/92:hover{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-primary\/92:hover{background-color:color-mix(in oklab,var(--md-sys-color-primary)92%,transparent)}}.hover\:bg-secondary-container\/5:hover{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-secondary-container\/5:hover{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)5%,transparent)}}.hover\:bg-secondary-container\/20:hover{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-secondary-container\/20:hover{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)20%,transparent)}}.hover\:bg-secondary-container\/30:hover{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-secondary-container\/30:hover{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)30%,transparent)}}.hover\:bg-secondary-container\/40:hover{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-secondary-container\/40:hover{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)40%,transparent)}}.hover\:bg-secondary-container\/80:hover{background-color:var(--md-sys-color-secondary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-secondary-container\/80:hover{background-color:color-mix(in oklab,var(--md-sys-color-secondary-container)80%,transparent)}}.hover\:bg-surface-container:hover{background-color:var(--md-sys-color-surface-container)}.hover\:bg-surface-container-high:hover{background-color:var(--md-sys-color-surface-container-high)}.hover\:bg-surface-container-highest:hover{background-color:var(--md-sys-color-surface-container-highest)}.hover\:bg-surface-container\/30:hover{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-surface-container\/30:hover{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)30%,transparent)}}.hover\:bg-surface-container\/40:hover{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-surface-container\/40:hover{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)40%,transparent)}}.hover\:bg-surface-container\/60:hover{background-color:var(--md-sys-color-surface-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-surface-container\/60:hover{background-color:color-mix(in oklab,var(--md-sys-color-surface-container)60%,transparent)}}.hover\:bg-tertiary-container\/80:hover{background-color:var(--md-sys-color-tertiary-container)}@supports (color: color-mix(in lab, red, red)){.hover\:bg-tertiary-container\/80:hover{background-color:color-mix(in oklab,var(--md-sys-color-tertiary-container)80%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color: color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:text-\[var\(--reader-accent\)\]:hover{color:var(--reader-accent)}.hover\:text-\[var\(--reader-on-accent\)\]:hover{color:var(--reader-on-accent)}.hover\:text-ink:hover{color:var(--md-sys-color-on-surface)}.hover\:text-on-error:hover{color:var(--md-sys-color-on-error)}.hover\:text-on-surface:hover{color:var(--md-sys-color-on-surface)}.hover\:text-on-surface-variant:hover{color:var(--md-sys-color-on-surface-variant)}.hover\:text-primary\/80:hover{color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,var(--md-sys-color-primary)80%,transparent)}}.hover\:text-white\/50:hover{color:#ffffff80}@supports (color: color-mix(in lab, red, red)){.hover\:text-white\/50:hover{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.hover\:text-white\/60:hover{color:#fff9}@supports (color: color-mix(in lab, red, red)){.hover\:text-white\/60:hover{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-2:hover{text-decoration-thickness:2px}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.hover\:shadow-md3-1:hover{--tw-shadow:var(--md-sys-elevation-level1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md3-2:hover{--tw-shadow:var(--md-sys-elevation-level2);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md3-4:hover{--tw-shadow:var(--md-sys-elevation-level4);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:before\:bg-error\/8:hover:before{content:var(--tw-content);background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.hover\:before\:bg-error\/8:hover:before{background-color:color-mix(in oklab,var(--md-sys-color-error)8%,transparent)}}.hover\:before\:bg-on-surface\/8:hover:before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.hover\:before\:bg-on-surface\/8:hover:before{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)8%,transparent)}}.hover\:before\:bg-primary\/8:hover:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.hover\:before\:bg-primary\/8:hover:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)8%,transparent)}}.hover\:before\:opacity-8:hover:before{content:var(--tw-content);opacity:.08}.checked\:hover\:before\:bg-primary\/8:checked:hover:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.checked\:hover\:before\:bg-primary\/8:checked:hover:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)8%,transparent)}}.focus-within\:hover\:border-error:focus-within:hover{border-color:var(--md-sys-color-error)}.focus-within\:hover\:border-primary:focus-within:hover{border-color:var(--md-sys-color-primary)}}.focus\:not-sr-only:focus{position:static;overflow:visible;clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0}.focus\:absolute:focus{position:absolute}.focus\:top-2:focus{top:calc(var(--spacing)*2)}.focus\:left-2:focus{left:calc(var(--spacing)*2)}.focus\:z-50:focus{z-index:50}.focus\:rounded-full:focus{border-radius:var(--md-sys-shape-corner-full)}.focus\:border-0:focus{border-style:var(--tw-border-style);border-width:0}.focus\:border-2:focus{border-style:var(--tw-border-style);border-width:2px}.focus\:border-primary:focus{border-color:var(--md-sys-color-primary)}.focus\:bg-primary:focus{background-color:var(--md-sys-color-primary)}.focus\:px-4:focus{padding-inline:calc(var(--spacing)*4)}.focus\:px-\[11px\]:focus{padding-inline-start:11px;padding-inline-end:11px}.focus\:py-2:focus{padding-block:calc(var(--spacing)*2)}.focus\:text-on-primary:focus{color:var(--md-sys-color-on-primary)}.focus\:ring-0: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)}.focus\:ring-1:focus{--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)}.focus\:ring-2: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)}.focus\:ring-primary:focus{--tw-ring-color:var(--md-sys-color-primary)}.focus\:ring-primary\/50:focus{--tw-ring-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.focus\:ring-primary\/50:focus{--tw-ring-color:color-mix(in oklab,var(--md-sys-color-primary)50%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-primary:focus-visible{border-color:var(--md-sys-color-primary)}.focus-visible\:bg-error\/10:focus-visible{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.focus-visible\:bg-error\/10:focus-visible{background-color:color-mix(in oklab,var(--md-sys-color-error)10%,transparent)}}.focus-visible\:bg-inverse-on-surface\/10:focus-visible{background-color:var(--md-sys-color-inverse-on-surface)}@supports (color: color-mix(in lab, red, red)){.focus-visible\:bg-inverse-on-surface\/10:focus-visible{background-color:color-mix(in oklab,var(--md-sys-color-inverse-on-surface)10%,transparent)}}.focus-visible\:bg-inverse-primary\/10:focus-visible{background-color:var(--md-sys-color-inverse-primary)}@supports (color: color-mix(in lab, red, red)){.focus-visible\:bg-inverse-primary\/10:focus-visible{background-color:color-mix(in oklab,var(--md-sys-color-inverse-primary)10%,transparent)}}.focus-visible\:bg-on-surface\/10:focus-visible{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.focus-visible\:bg-on-surface\/10:focus-visible{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.focus-visible\:bg-primary\/10:focus-visible{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.focus-visible\:bg-primary\/10:focus-visible{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.focus-visible\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-primary\)\]:focus-visible{--tw-shadow:inset 0 -1px 0 0 var(--tw-shadow-color,var(--md-sys-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2: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)}.focus-visible\:ring-\[var\(--reader-accent\)\]:focus-visible{--tw-ring-color:var(--reader-accent)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--md-sys-color-primary)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-3:focus-visible{outline-style:var(--tw-outline-style);outline-width:3px}.focus-visible\:-outline-offset-3:focus-visible{outline-offset:calc(3px*-1)}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-\[-3px\]:focus-visible{outline-offset:-3px}.focus-visible\:outline-primary:focus-visible{outline-color:var(--md-sys-color-primary)}.focus-visible\:outline-secondary:focus-visible{outline-color:var(--md-sys-color-secondary)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:before\:bg-on-surface\/10:focus-visible:before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.focus-visible\:before\:bg-on-surface\/10:focus-visible:before{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.focus-visible\:before\:opacity-10:focus-visible:before{content:var(--tw-content);opacity:.1}.active\:translate-y-\[calc\(-50\%\+1px\)\]:active{--tw-translate-y:calc(-50% + 1px);translate:var(--tw-translate-x)var(--tw-translate-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-error\/10:active{background-color:var(--md-sys-color-error)}@supports (color: color-mix(in lab, red, red)){.active\:bg-error\/10:active{background-color:color-mix(in oklab,var(--md-sys-color-error)10%,transparent)}}.active\:bg-inverse-on-surface\/10:active{background-color:var(--md-sys-color-inverse-on-surface)}@supports (color: color-mix(in lab, red, red)){.active\:bg-inverse-on-surface\/10:active{background-color:color-mix(in oklab,var(--md-sys-color-inverse-on-surface)10%,transparent)}}.active\:bg-inverse-primary\/10:active{background-color:var(--md-sys-color-inverse-primary)}@supports (color: color-mix(in lab, red, red)){.active\:bg-inverse-primary\/10:active{background-color:color-mix(in oklab,var(--md-sys-color-inverse-primary)10%,transparent)}}.active\:bg-on-surface-variant\/10:active{background-color:var(--md-sys-color-on-surface-variant)}@supports (color: color-mix(in lab, red, red)){.active\:bg-on-surface-variant\/10:active{background-color:color-mix(in oklab,var(--md-sys-color-on-surface-variant)10%,transparent)}}.active\:bg-on-surface\/10:active{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.active\:bg-on-surface\/10:active{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.active\:bg-on-surface\/12:active{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.active\:bg-on-surface\/12:active{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)12%,transparent)}}.active\:bg-primary\/10:active{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.active\:bg-primary\/10:active{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.active\:bg-primary\/90:active{background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.active\:bg-primary\/90:active{background-color:color-mix(in oklab,var(--md-sys-color-primary)90%,transparent)}}.active\:before\:bg-on-surface\/10:active:before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.active\:before\:bg-on-surface\/10:active:before{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)10%,transparent)}}.active\:before\:bg-primary\/10:active:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.active\:before\:bg-primary\/10:active:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.active\:before\:opacity-10:active:before{content:var(--tw-content);opacity:.1}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-on-surface\/12:disabled{border-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.disabled\:border-on-surface\/12:disabled{border-color:color-mix(in oklab,var(--md-sys-color-on-surface)12%,transparent)}}.disabled\:bg-on-surface\/12:disabled{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.disabled\:bg-on-surface\/12:disabled{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)12%,transparent)}}.disabled\:text-on-surface\/38:disabled{color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.disabled\:text-on-surface\/38:disabled{color:color-mix(in oklab,var(--md-sys-color-on-surface)38%,transparent)}}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-38:disabled{opacity:.38}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--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)}.disabled\:before\:hidden:disabled:before{content:var(--tw-content);display:none}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.has-focus-visible\:outline-3:has(:focus-visible){outline-style:var(--tw-outline-style);outline-width:3px}.has-focus-visible\:outline-offset-2:has(:focus-visible){outline-offset:2px}.has-focus-visible\:outline-secondary:has(:focus-visible){outline-color:var(--md-sys-color-secondary)}.has-focus-visible\:before\:bg-primary\/10:has(:focus-visible):before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.has-focus-visible\:before\:bg-primary\/10:has(:focus-visible):before{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-\[\:disabled\]\:opacity-38:has(:disabled){opacity:.38}.aria-disabled\:before\:hidden[aria-disabled=true]:before{content:var(--tw-content);display:none}.data-active\:text-primary[data-active]{color:var(--md-sys-color-primary)}.data-active\:after\:opacity-100[data-active]:after{content:var(--tw-content);opacity:1}@media (hover:hover){.data-active\:hover\:text-primary[data-active]:hover{color:var(--md-sys-color-primary)}.data-active\:hover\:before\:bg-primary\/8[data-active]:hover:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-active\:hover\:before\:bg-primary\/8[data-active]:hover:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)8%,transparent)}}}.data-active\:focus-visible\:before\:bg-primary\/10[data-active]:focus-visible:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-active\:focus-visible\:before\:bg-primary\/10[data-active]:focus-visible:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.data-active\:active\:before\:bg-primary\/10[data-active]:active:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-active\:active\:before\:bg-primary\/10[data-active]:active:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.data-checked\:left-\[18px\][data-checked]{left:18px}.data-checked\:left-\[22px\][data-checked]{left:22px}.data-checked\:size-4[data-checked]{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.data-checked\:size-6[data-checked]{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.data-checked\:border-error[data-checked]{border-color:var(--md-sys-color-error)}.data-checked\:border-primary[data-checked]{border-color:var(--md-sys-color-primary)}.data-checked\:bg-error[data-checked]{background-color:var(--md-sys-color-error)}.data-checked\:bg-on-primary[data-checked]{background-color:var(--md-sys-color-on-primary)}.data-checked\:bg-primary[data-checked]{background-color:var(--md-sys-color-primary)}.data-checked\:bg-secondary-container[data-checked]{background-color:var(--md-sys-color-secondary-container)}.data-checked\:text-on-secondary-container[data-checked]{color:var(--md-sys-color-on-secondary-container)}@media (hover:hover){.group-hover\:data-checked\:bg-primary-container:is(:where(.group):hover *)[data-checked]{background-color:var(--md-sys-color-primary-container)}}.data-checked\:group-active\:left-\[16px\][data-checked]:is(:where(.group):active *){left:16px}.data-checked\:group-active\:left-\[20px\][data-checked]:is(:where(.group):active *){left:20px}.data-checked\:group-active\:size-5[data-checked]:is(:where(.group):active *){width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.data-checked\:group-active\:size-7[data-checked]:is(:where(.group):active *){width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}@media (hover:hover){.data-checked\:group-hover\:before\:bg-primary\/8[data-checked]:is(:where(.group):hover *):before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-checked\:group-hover\:before\:bg-primary\/8[data-checked]:is(:where(.group):hover *):before{background-color:color-mix(in oklab,var(--md-sys-color-primary)8%,transparent)}}}.data-checked\:group-focus-visible\:before\:bg-primary\/10[data-checked]:is(:where(.group):focus-visible *):before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-checked\:group-focus-visible\:before\:bg-primary\/10[data-checked]:is(:where(.group):focus-visible *):before{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.data-checked\:group-active\:before\:bg-primary\/10[data-checked]:is(:where(.group):active *):before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-checked\:group-active\:before\:bg-primary\/10[data-checked]:is(:where(.group):active *):before{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}@media (hover:hover){.data-checked\:hover\:before\:bg-primary\/8[data-checked]:hover:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-checked\:hover\:before\:bg-primary\/8[data-checked]:hover:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)8%,transparent)}}}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:bg-on-surface[data-disabled]{background-color:var(--md-sys-color-on-surface)}.data-disabled\:opacity-38[data-disabled]{opacity:.38}.data-disabled\:shadow-none[data-disabled]{--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)}.data-dragging\:before\:bg-primary\/10[data-dragging]:before{content:var(--tw-content);background-color:var(--md-sys-color-primary)}@supports (color: color-mix(in lab, red, red)){.data-dragging\:before\:bg-primary\/10[data-dragging]:before{background-color:color-mix(in oklab,var(--md-sys-color-primary)10%,transparent)}}.data-ending-style\:scale-95[data-ending-style]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-ending-style\:opacity-0[data-ending-style]{opacity:0}.data-ending-style\:duration-150[data-ending-style]{--tw-duration:.15s;transition-duration:.15s}.data-ending-style\:duration-200[data-ending-style]{--tw-duration:.2s;transition-duration:.2s}.data-ending-style\:ease-emphasized-accelerate[data-ending-style]{--tw-ease:var(--md-sys-motion-easing-emphasized-accelerate);transition-timing-function:var(--md-sys-motion-easing-emphasized-accelerate)}.data-indeterminate\:border-error[data-indeterminate]{border-color:var(--md-sys-color-error)}.data-indeterminate\:border-primary[data-indeterminate]{border-color:var(--md-sys-color-primary)}.data-indeterminate\:bg-error[data-indeterminate]{background-color:var(--md-sys-color-error)}.data-indeterminate\:bg-primary[data-indeterminate]{background-color:var(--md-sys-color-primary)}.data-instant\:transition-none[data-instant]{transition-property:none}.data-popup-open\:border-primary[data-popup-open]{border-color:var(--md-sys-color-primary)}.data-popup-open\:bg-secondary-container[data-popup-open]{background-color:var(--md-sys-color-secondary-container)}.data-popup-open\:text-on-secondary-container[data-popup-open]{color:var(--md-sys-color-on-secondary-container)}.data-popup-open\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-primary\)\][data-popup-open]{--tw-shadow:inset 0 -1px 0 0 var(--tw-shadow-color,var(--md-sys-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-popup-open\:ring-1[data-popup-open]{--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)}.data-popup-open\:ring-primary[data-popup-open]{--tw-ring-color:var(--md-sys-color-primary)}.data-popup-open\:ring-inset[data-popup-open]{--tw-ring-inset:inset}.data-selected\:bg-secondary-container[data-selected]{background-color:var(--md-sys-color-secondary-container)}.data-selected\:text-on-secondary-container[data-selected]{color:var(--md-sys-color-on-secondary-container)}.data-starting-style\:scale-90[data-starting-style]{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-starting-style\:scale-95[data-starting-style]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:text-on-surface\/38[data-disabled]{color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.data-\[disabled\]\:text-on-surface\/38[data-disabled]{color:color-mix(in oklab,var(--md-sys-color-on-surface)38%,transparent)}}.data-\[disabled\]\:opacity-38[data-disabled]{opacity:.38}.data-\[ending-style\]\:h-0[data-ending-style]{height:0}.data-\[ending-style\]\:scale-90[data-ending-style]{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[ending-style\]\:opacity-0[data-ending-style]{opacity:0}.data-\[highlighted\]\:bg-on-surface\/8[data-highlighted]{background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-on-surface\/8[data-highlighted]{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)8%,transparent)}}.data-\[highlighted\]\:before\:bg-on-surface\/8[data-highlighted]:before{content:var(--tw-content);background-color:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.data-\[highlighted\]\:before\:bg-on-surface\/8[data-highlighted]:before{background-color:color-mix(in oklab,var(--md-sys-color-on-surface)8%,transparent)}}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal],.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-1[data-orientation=vertical]{width:var(--spacing)}.data-\[orientation\=vertical\]\:w-11[data-orientation=vertical]{width:calc(var(--spacing)*11)}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[placeholder\]\:text-on-surface-variant[data-placeholder]{color:var(--md-sys-color-on-surface-variant)}.data-\[side\=none\]\:transition-none[data-side=none]{transition-property:none}.data-\[starting-style\]\:h-0[data-starting-style]{height:0}.data-\[starting-style\]\:scale-90[data-starting-style]{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[starting-style\]\:opacity-0[data-starting-style]{opacity:0}.data-\[state\=open\]\:bg-secondary-container[data-state=open]{background-color:var(--md-sys-color-secondary-container)}.data-\[state\=open\]\:text-on-secondary-container[data-state=open]{color:var(--md-sys-color-on-secondary-container)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transform-none{transform:none}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:before\:transition-none:before{content:var(--tw-content);transition-property:none}}@media (min-width:37.5rem){.medium\:flex{display:flex}.medium\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.medium\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:40rem){.sm\:ml-0{margin-left:0}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:inline-block{display:inline-block}.sm\:max-h-\[48\%\]{max-height:48%}.sm\:w-96{width:calc(var(--spacing)*96)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items: center}.sm\:gap-2{gap:calc(var(--spacing)*2)}.sm\:self-center{align-self: center}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:py-6{padding-block:calc(var(--spacing)*6)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:max-w-\[45ch\]{max-width:45ch}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:border-2{border-style:var(--tw-border-style);border-width:2px}.md\:p-8{padding:calc(var(--spacing)*8)}}@media (min-width:52.5rem){.expanded\:inline{display:inline}.expanded\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.expanded\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.expanded\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.expanded\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:64rem){.lg\:h-full{height:100%}.lg\:max-h-none{max-height:none}.lg\:min-h-0{min-height:0}.lg\:w-\[min\(420px\,38\%\)\]{width:min(420px,38%)}.lg\:flex-\[1\.15\]{flex:1.15}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(240px\,320px\)_1fr\]{grid-template-columns:minmax(240px,320px)1fr}.lg\:flex-row{flex-direction:row}.lg\:overflow-hidden{overflow:hidden}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.lg\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:text-emerald-400{color:var(--color-emerald-400)}}.\[\&_\*\]\:\!rounded-\[3px\] *{border-radius:3px!important}.\[\&_\*\]\:\!rounded-extra-small *{border-radius:var(--md-sys-shape-corner-extra-small)!important}.\[\&_\.text-on-surface-variant\]\:text-on-error-container .text-on-surface-variant{color:var(--md-sys-color-on-error-container)}.\[\&_\.text-outline\]\:text-on-error-container\/80 .text-outline{color:var(--md-sys-color-on-error-container)}@supports (color: color-mix(in lab, red, red)){.\[\&_\.text-outline\]\:text-on-error-container\/80 .text-outline{color:color-mix(in oklab,var(--md-sys-color-on-error-container)80%,transparent)}}.\[\&_code\]\:bg-transparent code{background-color:#0000}.\[\&_code\]\:p-0 code{padding:0}.\[\&_code\]\:text-\[length\:inherit\] code{font-size:inherit}.\[\&\:\:-moz-range-thumb\]\:h-4::-moz-range-thumb{height:calc(var(--spacing)*4)}.\[\&\:\:-moz-range-thumb\]\:w-4::-moz-range-thumb{width:calc(var(--spacing)*4)}.\[\&\:\:-moz-range-thumb\]\:appearance-none::-moz-range-thumb{appearance:none}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:var(--md-sys-shape-corner-full)}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-moz-range-thumb\]\:bg-primary::-moz-range-thumb{background-color:var(--md-sys-color-primary)}.\[\&\:\:-webkit-slider-thumb\]\:size-3::-webkit-slider-thumb{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:size-3\.5::-webkit-slider-thumb{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\:\:-webkit-slider-thumb\]\:h-4::-webkit-slider-thumb{height:calc(var(--spacing)*4)}.\[\&\:\:-webkit-slider-thumb\]\:w-4::-webkit-slider-thumb{width:calc(var(--spacing)*4)}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:var(--md-sys-shape-corner-full)}.\[\&\:\:-webkit-slider-thumb\]\:bg-primary::-webkit-slider-thumb{background-color:var(--md-sys-color-primary)}.\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb{background-color:var(--color-white)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-md3-1::-webkit-slider-thumb{--tw-shadow:var(--md-sys-elevation-level1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-md3-3::-webkit-slider-thumb{--tw-shadow:var(--md-sys-elevation-level3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[\&\:\:-webkit-slider-thumb\]\:transition-transform::-webkit-slider-thumb{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.\[\&\:\:-webkit-slider-thumb\]\:hover\:scale-110::-webkit-slider-thumb:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.\[\&\:fullscreen\]\:h-screen:-webkit-full-screen{height:100vh}.\[\&\:fullscreen\]\:h-screen:fullscreen{height:100vh}.\[\&\:fullscreen\]\:min-h-screen:-webkit-full-screen{min-height:100vh}.\[\&\:fullscreen\]\:min-h-screen:fullscreen{min-height:100vh}.\[\&\:fullscreen\]\:rounded-none:-webkit-full-screen{border-radius:var(--md-sys-shape-corner-none)}.\[\&\:fullscreen\]\:rounded-none:fullscreen{border-radius:var(--md-sys-shape-corner-none)}.\[\&\>\*\]\:pointer-events-auto>*{pointer-events:auto}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-full>svg{width:100%}}@font-face{font-family:Google Sans Flex;src:url(./fonts/GoogleSansFlex-latin.woff2)format(woff2);font-weight:1 1000;font-stretch:25% 151%;font-style:oblique -10deg 0deg;font-display:swap;unicode-range:U+d,U+20-7e,U+a0-107,U+10a-113,U+116-11b,U+11e-123,U+126-12b,U+12e-133,U+136-137,U+139-148,U+14c-14d,U+150-15b,U+15e-165,U+168-17e,U+181,U+18a,U+18f,U+198-199,U+1a0-1a1,U+1af-1b0,U+1b3-1b4,U+1cd-1ce,U+218-21b,U+237,U+253,U+257,U+259,U+2bb-2bc,U+2c6-2c7,U+2d8-2dd,U+2e3,U+300-304,U+306-30c,U+312,U+31b,U+323,U+326-328,U+335,U+337,U+1e44-1e45,U+1e62-1e63,U+1e80-1e85,U+1e9e,U+1ea0-1ef9,U+2002-2006,U+2009-200b,U+2013-2014,U+2018-201a,U+201c-201e,U+2022,U+2026,U+202f,U+2039-203a,U+2044,U+2070,U+2074-2079,U+207b,U+2080-2089,U+20a9,U+20ac,U+20b9,U+20c1,U+2122,U+2212,U+221a,U+2248,U+2260,U+2264-2265,U+25cc,U+2780-2788,U+278a-2792,U+fb00-fb04}@font-face{font-family:Google Sans Code;src:url(data:font/woff2;base64,d09GMgABAAAAAWq0ABQAAAAESRgAAWo6AAcAQgAAAAAAAAAAAAAAAAAAAAAAAAAAGUganCkbhts8HI8cP0hWQVKSXD9NVkFSVwZgP1NUQVSBKACLCC+BDBEICoKqAIHrYzCHjCQBNgIkA5RcC4poAAQgBY8iByBbPiN0h6YxPAilGt32020IcElTqzXty1+J5hCPT7DVTqZrjE7YYCpq1ffNE2xjotX3eq5tVHItj7Hx////vySZyJhdArskbSkFARSnQ7ff/4PS6G6BSLkMQ8VYrKXkaCiETxO9gOF5nlIe7bKkdSvLXltjXq64pW2qCB/FODbU7lllf8fEbOK2E+7hFi6MoA1iIJrLQjnBKF3kMrj0soW4Dxqvi4uFmGfz2eaEWhpyfLIOlcn3NqZM8bhvNbZijuUCz3iuTYag8UkfQRduJE0SC51OUemUrDa6iYKSMIQhe0I0YytmcJNVuJsNbr4imJEpF44DBhMUXxkGks/t8DjvTR4PS65VOCht46oQQeUFE+cp1qRdVT4yDCTegh1bRjgeCGHKKahndmvsPST7fV33m/L9ox7WQ+n7O91Eg5mYlAX5pVio3v3S37Ng1ohN45/o0PDulDrnafx0vGBBeWBdvPudoEZtfLxX+SWzdgZC7EjiVyT7cBd9Ya8nC6oJsuH+9q4v/JX/wP+UhsNBEIcpAYLUXBpNGuJX25S3wFCuD4ASTdcN0zLmllO2K454ri8i8U91wn+d2z1JHmx9iSutYGWOp239zNtkgQWWiDLAAPuw8qxCvbbyyn8V3o/qGp7X8//cDEHFijWjVK2W6lRP6Fg6dep8bbXb4w3tf59WZJglaEi0NEgIrdWkJGiKBLGuETSJmbBbXqvV14cWRP1e3O7ef5m46ALITMZHGGR1KBwK2YoMtilbhUEYsM34VgZom902Y+nKWqQ5a2LhMIgUJBQkWoQWDLQpo1CxelZOndGLyI/efy+Njx6guf3fkRJDEEwkTNTn136R6qv2V5XzfBWFldAbG6u+223XtTXbIS2t/6oStloNM2xzcAkOkN8noPR0dvc+IN/dA+JFDDpkJ7YHGyQFAP/P/z1tnzvvG45AgczyLKFwCOMIAowiC/of2vb/v0E92frO8WCjCFLtMMQwMEgNDBEloWjj+Kp/dtzwnuWt8rYncYaHbX7Pc4Cbbm72DLCnbuaM7lkxndOeigloYyNgAWKDgYqBMyJW4eq+y3ROiGq/z977e+SZ3NVpAIgCYBVNQkZHxugIm4oCUubNtP/8N+fzax8ZzSQZYAghDQxQ6nYlA7RPRPPUvt7vnDmhfl2oCRWRK67IpY7lJ9ysf28CyzKPgeY4E2331DMTIHXESkWTzH1hv4f21DWF2hd133ea65+sKIpOjh3fHp3j8eIyXoBh50DmJUmSJEmSJEmSJEmSJEmSJEmSXJIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSSZJ9v6mpwExjVlGdFyalyC7njBI6BB22TrRUx1GEv8ZHufs+17y4m1TE6hBkSJDbMpOlduJ+E6+GBs7Ud3OZP/cZ8ZgYgxrqSVp8t47+pb6/9U9tCiybMuWggeInEsMf6TZ3sAF+sJHBMkBdsAoXJwdbIIMABBAlW2NF3cCpmhq/fdIGmmkYdBIoxGCZcuWLUMcdIA22eUsUe4eUeTxUb338RHCEmWzFF4KOImJZAugytn7rd2dlWQr1rtZKixmOXhgCAljxjD0HxDlUvfu9a4pkDRZ8fC04R7+BJyiT+siMEUEmNHgwEuCgQedzZoJK+Y46HdpW3GOHJ5FLB1SUxRd5uqCon61IBZ4Dx74nz9gf9xMdgeE5lwXeNxbYvglfRBIrwz7UkBX6AEcTs2TR4YVZdLvRsUlpIAk2xqWHCV6p8NTtv43e8BLWRnaBSCwerhUlxaw4E06sIEOJjaxYw9usrR1Q4ENONDUlg2W1RfYt9/v7UERUuKrv1DpAtrYuh0f5ZYKEX6BjlhgdYT6+grViXgBZeZKV/b5+tENYCJQeRkOAbavDyCBJDMiUIBVgPT9P1Ot0i40QTSHMoAwnCXXimulWePz5pAzj1rnw91zPqz6VY3qqkITpgEShtRQoDR0Ywhq5pakzEMDaA4IkhpqrEa3xhtqvJfmjI2si4xNnQ/Cizc8Y8MLMhul9y66ILo4uTS+OD6o6EQewgXLu0WXcC2tHVuxZy0GgyeEzz+P94y7FmEDwPBYhHsAOMCPYRhk0P9fqvZt7yOl7kfJoYqy/n/V8dWPVQ5nih23T2p/DSalzSLk1asCaRYKpFUAKHehQLeLoNUNkLK7AMrdBUidJHEs0xKc5+iHEOxJ6T1Q8hQgd/+C1IHsSNs/uyeluM67tIthOcvZLUNeTV7PYrmaM/7/T6uk+qspu+vUpnY5oDTMCw2YJtemyM0j7H3/z9wjlf7q1EpanV3AHBL0MVL4pd9fKpWmK7QTjiwBFCIzwDagRqaZMCNYVY61RmqnmV7EuIn/3sw+3c6teRGLXSrh/rIo5BgeqJSnLBcYoNlx8XEYURHbKzy6MCmUtx8Y8aKqGoMYzIDScbRPw/ZWGFYPqXke/t5pY1qnecMAn9sr+4VRmxPPJMJUA4FY46HaW7PX82r5G0jDEINCUgh1yylwGIWQFxI01CcFhUsKF7I7VilwCI+QSMrjNIUw8Hy2UPHsS4kXOQMYKTiUL8vgKhUsKMJlo6is8P++2bePby184S82yy74cLIQ09KRKL0urIniqsdIa/aUUAPftBqecm+zd+wttbpSMxiX55DfWXL5LG2pVTNIhDuVHMLAw9uy2XmXbJkEK36WgW4Uxl0rA92jbOv/t1+v9t07dwI8d5K0TVi4fOHubkCokpJvoQsvO2G0BaD5s33nZH+JXL+wJceoAJVmYer0hHfztiC3Fa78QzuBIuthINBF6cjnH0BnhvNLly9vV4fB6CNYiUWAwA4+JtNnUtQp2vivraw8u5beUFNKI4dmPL/dlOVhHOeHEJcHMQgxJURvy7UuxzltiOjEOwEwoGCXBgpmLfM/f3UHScNDFKgQFXTQwQQTLOKc2eDOr5w/oyG22d95rBKG2zhiSBqsEItoY8X0qG/4nlQN583nEpIoSMMDlqvArHAOlYveVeui9E/M6d+747JtIXJSYtYyxlCzyMKFfuIneFJFQhRxFEk69rrJ078yfQnJBGKiAoFAVCAqEBWICkQFogKBmNjd//CotveePdxaivyhbUqAy0hkWSngbT/6f0a/7+cgfojEIhIhEiESEbFERISIeEUiovfe+z4cCFKn97IdVgGHyaeyzAkrQDhM/Yk183nC4JWDNDH2ulzj0tS1hrV+Y8hlLus3rlHqZpG1hCjKyBzC5PjH/8UmwAzoBHjlzWoN8OLr7RrwFAzw2AskB1xAsBBYHAtktgRLAPK/U3GBLBBFAgC5EqIIg4H8/FBQGIqKQpliUI5cKKEQKlYMlSqDqlVDtWqhevVQo0aoWTO0WivUrgPq1gcNGIDShmhzLMokrJJVWJMrYcOCw9aJCpsUFzYnKWxJSthWWWG7yx92qKJhR2oadkHUYZdEG3ZNfcNuaWrYg5SBvWMksE/MBPa1L6F+8yjUX0NQhAMEIgAKIgLq+YtpseJcvHiWL1mrlJzVS2KtUrhOKV6vlG4dat471L9fKH1chiNKhkNqYGMy4G7g9cAHgV8DmQJMfg9Y8HlgwS8AFj4IggPwGXX7aTaXUtmuWUqbwGbPg3NNH7UcEHD/y1v2Hr/4cZKQ8lH/YJQr1lpcoUwXBCDI72wWdH924MqAAUIwX6Gqa91m4JgYS2N73LbXMU5zjgtc5Rb3ecISxDHDEFigoTEyyo0h5rLIJwqdxd5FK4b+MgDggQ1AgGDiH3uiTdPsJqNuWer4v8jmlUmcG/U70jkUqIr4nIhb+6oEQxNL8nFvSdZdnNH0J/ZhEfdp/1ukEcZe6Zc8hFnuMt7X03+RzR9D/lBZnJ0n5TZ7z+FsenrWwInFhXXDJM4tT3dxln+Dncu+NPYqCIV1q7XYUdS63BXj6uz8z18oQamu78Mi9lLR7581cHptaGK8rPl23jX8t+0Db7nnlol03ZsP9w6Zy7JKBudWqbs4q2r8oQQ3kc5dX6ipJ6zFjpqb/7VwjEX1/Ved8f/3sknVD1j61dPQP3yARVww/kchURt7SUrj3OVZA6cmwy9Y84j59ublnG/GHHbSpa4kXWEaT5yeqGv5HJu/YDvT0vrcc6vu91nbgjF9CXmk2r8LnWcPsIhX1cZesPbPAvZSFAQWI9xr1h86ugy/YN2Yw657w1BJeIVpvHwUm79lPifrncS59ep+n1E5Ykj/yCeNHfViUdiXli6mku2bRUrp1C/lot5loSd6edF2e2fJ6gnSutPdi64/cLDC5Ovrb06ierx2nelNX+9an2UNM/q8saNOisJeGL7txGVb8Kv2zYLMRb2vB+75KKEnerN1p5vxtQ+aLTN9XTyyfOQOK90sd6V79V4l7d1bupiSrQvCkujCktUTta95li/ZSB4122srP5ugLzPsNB0d23j8tjN30BFcV0m8OOsrbgyWRWHe721aHJTJVJU1nbaprO0o306lbJrBWhcjBQQQtjRNgrowBOZcA8zVxMEGSCj3+2Bj2Acb29sAbHOweR2QbhTNt3sz3sN+38trnVVJom/bTP/lpSX/Muv44+Wm3Q/0Vk8Mu9mpYTNDR3r/xy5S6fFwnRws3+/2OL2LbtivexLsnb7KdVM9+LI3w3+J8MXKmpDL9U/WTN2+8/5F7ERqvDJcl2+/PpfJ+XyVx+nDVpJsLthM/eulJR1dbgY3+v0gu3o6XJvyONLQJz5wMuGNo4gVRa72NyZ5DWfnosIiPPL10lIMXW42XRyc5G70+4l7PbEEu3q6BWnomz5ZM8XrROr+27P0ynA93YPwgdu9mQw5n2/zOP22D9cdW2glycPdc+HrpaUCutzsen/kfvHFwUnxRr9fNO75d9/riZX/Z8sZ6Rcra2Wkoe/pROqdK8P16u3eTJWcz6+82t9Qepz+QCtJ3vv6ZU+pF2zm4NdLS4PocnPtxcFJ7Ua/X7/XExv+YmVtGGnoxz5ZM7XYidSHP5bXR/987k2GN3GZ0cuL8wODP/SX/qfDMeNjlHz8CGvuetW4tKvPqE/+27r7Lcdif/e7BrE9Z5bpV/+v/RTeZ9RnP5bX90cHDiwbhL/+A1/kUA4/ZzPpunOkHrm+enrw0Lx2NHwrXr7OCZ24vDj/2tx3/qfDMeoxSn7rEdY8/apx6fT5fzffes5mMnQs9h941yD24KF57cEzy/T7f/xuHtGjB5aNhH84M7/vCZf8/r9zfSp1hDUff9W49Pj5fzc/+bd192ees5nMHIv9J981iD2NP3rv2Y+ltWcvL85/dWDZKA3+0D/7GFXXPinq5cB0NWvuaNbkrX9bN96WOJzqtJvTnk7HZmdeyCKrz359bl32/nXV3/vnd+Tc+Vdy/2Xnj/rQ63/kddfv/pV9dOLf8v++fNiFv4snEZ8BcDzlD47/++KEr/acbAt2a5lYz7Km8+pu/0jXr3qiPdvzLQcYtmM+q/PqexjODNd6bq7Oa0UyXJ0ZrfcCD8/kwDgV1rcMTla1S+2XPqzOdqwc6KV8i6n6mVK/10tLV+/NCk9v3b202Ovc35vudamApRpL318IFMD0wgG7whwt5eLRslDF1xvHgVOgZn10NWj+bdKwCnHpU/yOJzXHQc7v0moKlJHFymmRM1yhkrIpFYWqj6GqVk26uuURaXZ0QCtW+euO7sTvp4/XNduQaXNs9Z22/X/bSDvXdtB/5J4PGOy3maDpahtg6asj90NMqvqw81NPDDi1hVNgmWVSuH0IXQffOeN5E8R+15sB3/24vwFxAmu46xac4AwlvY0SgY8PQKJCSUCZlpG8f34HUA5OKbclDgMVR+w8VKpVDUuHz5WI/JhYDaaWBu7vLHiOpXahwN9ugryo8mUeWoXf3wKcCQp3pIKADqBrIBWjSXslqlRGmY76KlcBDYw8nqpRNmIUqganGon/lkDt4sUbwAS/d4+mTrOGJ7HQm8VXYNmwFae1UqtOrF0ut3W4OxD3Naf0wIIGDAOj5qn4veQypRB2Y8/trl53sSYHZxrIqiivYIRx52a9EBzfEe2g+/LSEsT2dtB7YWUNUhdvY5TN5yB222ZC6cuDkywD++YUKLOrp6C2MlyHdlUU6sSIKvNRMINV1OEjHYeZvtoba4qw/sPClf4VGkEjKCDjf7f81p7xb2y/p3X8e9c/0BQ8gO3s3v8jkA9MgSCtvW8/uHBGs76bNX8w3BGB7f9/9b+co75Y8+FI2gOA/k+VoBX7JyM1Erz9Z32HqZ1R/hfLDau1r/zTfDe10HN0RrGToEgjZJD8/LG66tISQm/FOjp1AOjXngAGB+vO62shl9VnhdMJUNYrwh6XJASEcYNw5Q1V6AOwqxZytoMZau1xduz69pIDN4SYv4qo5PUgoL4PpKzmB+HtG0EUAoY9CYStrR7wsSoDhjiLwnDsHfaphxB6q6PoyuvLuE8Pgp09nm734FFt3xyyO9d9zGCFDZefTGMCNbH1ryT35FbliGcIqdGv7gyzgNl9YAkBEITorA0dXu3w5fYohzL2db0R7mYAmv8JYfZHtKbdQ/yrhCufapAB7sjlcR5s4j2ER/kTaTdrwgdDHFfjgaI1X7zsO6DwzSn0nyduuIS/+B9swGrHDv7vaNKBnIUKtxDQIStkLRa2g3cEfHn927/2tiRIWPST58+1qAD8F/hgF4U3T1Cn9p2w7J8vgM/C/hJsvnArrvb4atM1axbQhM3jb9W/df/C8PMgw1+2wb/Pe5fLGKUdaH/s0ht7++Ysu/+6f2v9ic+v8O7cMKJnD/PTExHXNFpUxdXuf3UJW7STNdZVG+s695s8Iv300RARrcbYDG8lVon0veLmmIravYo6H6LubtWKxNkVhzjFZE2iaB03ie7YwBqvkqtH5gqzJyCJw9I+gbFsx4Zn2XfWadny2T255vkQjzofquOunW9cAXiE+N6ZiYMyHknQgKh+n9B07YhtOTZK5NwboixPSMWt4UkFzjZJJdTRowQPdJoe4UFS4tRQMLqGnBdS0wnJHeOqKRDHxKg0T1JoBXnpZiOf4Mt4RoUM0GS6Qg3yO1mi+hguX8mnD03MxzIX4UQgUZUfKYTqp37O9uEuX1NGQPhdFaHV833lm1qJrB49/2lAkIKYJAV+EPVU+0IRqj7pkt5UBhJTGJex0bhJbuZkPpkfjls6GNhUzc/aGHTN9sjAyNS77CGRIVDKSQ1zReBqWqJBd6t36J3r3HLsKd+jlgawfznauyYYFaqgnfDF/NHdPYUBgBuptfGbCYdFUlTNOlV0VzjG9nlpH5ikaTnBvFUMyw8YwvbHVWuE26bNhru9rD9M7EbB7rdwdXH2If57nXFTbT+8XvgY6cFUi3ivEEAYipsis89ZasXOAiu7NW6/rMlG2nQ4HHFMd0Z8Sy0MFL8+RYXDAQtSQCpOtFVS9CpUMho2zGydURYT5rgsWxZcSfGEVl060TXFIHvtZRNfZ7nkrrd8EohMHI6MYP8tk79ZFAU5NSRBWoSOgp6SgchIxUTNTMNCYqVlo2O/6jk62IJBilEFk0pmwyzWsVpfUjbYiLGptJk0hZjGmsGZxZrbc62PYEWwrzQ4Vhacqw6u1QT3aoNndcG7puBb8xF/PLAu7PJtfpOFxzdyoCkJVBVIxENCg7WEMChyCkoiFTUNifaJTqqvL8uVM0jGRaprrV0GS9KpPLIaHSuaSJQLp5KRaZPsHJxc6Y6kW01S58eCelF57iUjga+rCFhXd+BBCz2RWdBJZcs4IyMb26DwWk15kn6QLchiE22on3TTYCymcbR3TAAazYHaQqoIRjHXYORlMM9r0gaRYsB8eQoPYoPMCXJXcDICRGrwIqomqIrVE4NoiZSPIVuGu5aj+YloSHa4xCRJAWn4NbFPG5iWiB5lLfBpl7BRyir4E3hoBRTq2lCC0EAZBI6c+ERrcNEkIUNk2gsumITmjTrPEDl+bVBlZgc22Lrwp0DwkIIJZr+1ILpGU6QqCaIEgwGXFBf9VeKfhFH7oN/NxMgWw15YrLzkVQGtlJJIlepLijSkqtPzyCA9vmnOWxCWghDuhiFbrko1mrXp1GUg1jxLZV2NeIeJWsxm8sKiOYux/BqfXS36jncOSpznZYcwyZcXPcd6eFlW+SC8LPRTuKEwcKOb3Ow293goHml+PONZL3jJy/HK/0zkgzoYkw+hgCWBNYEtgS1RAAsCU54nKrW7UsL/Rc2vEjYpZ7GISB3Op/Cik5aRqayKq641OGHaKcv4D2WEkzE9ykWQOx3FeOXNJTA+BnN436MRPSTVM3ozoYSeWWdMcbC6760OHGVBIH+lWSn67o8gIQoS9p6BKnrkzQOrF9CyqzAS0g5H96yEjwfagD4Cc113FjjQ1B/SiUSvw7vtgv1WsPcL8nrc5qz/h923CNnd8/9wlJisbmdv8HPwcn09qE3V/leFJHfQ27rWaxvdR94h6y6kyG1k3EMaHGozbB1FGaniv93Ae6R1K1RepvAQdRllqIv1Aei2HqY7u2uXSU5UvyMgxn2n1HjcYoXb+mUXJnSfYx8Ze6Zcu9qps7gF/CItac3Ed8aaLowxwAQMz3+bRrX7NlNggW1tZi/4+D4O4VzawsIyZTa5I1ohRjVWPU4zXgeZvgNFWMXkkZZwXOu3YkdDctkqqtShUbFaq/6U0rpOBSV4kbqV6Uvfdd1hYOfCtKcOBTjQk5XyDcsJ7U9T6v77UUYoGGmYO/tSthkpSb4aDVrMUSRsZrsoh9ND6o3fd01vhjPG0vecUGlCpKwcRq+Z6wFq2YDWt0zh7pnaqex+uuat7Krvinis1eOUvW8AEO6+xw8OtO6YgXS5GYJqqzC2Kce+X8AsY8+ayZztn8phvyNIpZMBdXFq5A5KhJe5STCnsrBi+CqTeFWuWDEVrYyaRPtIp3Ff9VrTAI+Muqc0V5FHVgOVthEU7JwSijVGS9PQpdeAQWtj9DUa45iVNKLji4OZlI1lniIyH5vVudTyht4hvtTnU26i1OsUjKaYq/9F9BMkBRDAn2InNLQWlLDQTnSAdXsfQ+c7Y6SU2UZMmr76gVP7YK4cy/fESRS4LuLIGqB8Xw4H9k032zYLHX7Lp6NAXw6h7wfh7SBC4uqNto5Du4rjrf0g8luAU6IOEj52ynIyZ8FnrOb4j4XX4Ic9ysmZpWkdeIQpd0NbNq8NkoS8+grR8TRnP6Dn9GKuzUFWXA0btmMUEjDoQi/ljc2A5lt4zccHZKH4AXvhSjnTzDVrqq8V6/9zWDgcwrbypbsZWOZ7gTAEpWSvERm1Y2dbWYw9wLSRUe60NAIICNnqh3qtO6474JlBfpuKdc183Ypo3zsqPbviZev6ZuW05dddpRTqpqbpZ7XDx4OeNsN3A5RdWvja+IvqVtQhy15ZBuHaKRj5gdx0fECjL16gcujMAzQxno4bQCXMLVfB1xQWoY19sxvHsu2KZtEuixFqU9GK1hopZv1XY+QZDRfWUKgL3kG+ox/+Hkbm74RCFRAShHUKuQIgWxP6hrCIDNli4nLklcRELDyCaEQkZBQxYlHRxKFjYGJh4+DptwBx4iVIlCTFDanSpEPKkClLthwExNLyt+/jdPi5fRW299//6+Ad7/yrHx7Z0eQ5OkxqnOKPKNKIIkodOsaYlY2Tp/yERCX69FrLVZGKelqpa2BcM3d9mm1/G2r7dqpr8mDA8P2pIAhQUEEAunAQUUI3WOEGQRNHRqXUNPT1jyV2fber/gy9DKRwxSJZGfIpuVSpGt6vXRN7M+wnav7hq9j1tnWos5un9/gT+HkYABASBh4JFQMbjzCSjpyKloGJlYM7vkZQRFxKVkFZbWyqs+nvgTTKlC36tcuO6sil7rxuPv4bCDjU81gAYAIyGiYOPhHp9pnPzM3MF8xT/giJJmF2J7CVP8zZJauMdbfOMfNpT950s/+iT7eMXceHge0zX/aB8vZZL69UU3BDXKK47ZmI7CMQYrJSZk7Tn1cumKX0PmUfF+9coBOuGMk+Y+TXlLanStVo387WMzxkcnw/51rV1sHZzdP7+R+ABL6G4QQKCSZ4QUItBmy8rwhrNyCJnKlKi4GJNQ4XNz2tryYp2IpkbdwfmhquyZpN4V1SWdVWb7v5NqSO3rds1JteWIyCvmZ7d4h0tC6xdE/Tq3/zBzgmpxNiw3NaE0pc7EwEZWRJy0uZAlfi6Hy2ReXXMrLUuIoxNdPpRszLvFrX5hxOwPXU9ueEDJEeVTfRqnRXN7dhluL+jfqfCoKzXtWydbsT58Ael7hrXjPYy82qibyZaa9NnUZnwzUXyY8wAeL4HiigoQIFNAQAHc2r46qtENFtClZR6LZp1vzs50aVegpF0PRi/njKYlKUozlEn/mnZil7uOKVBKLCSYz75KgymcvPq2RNdXmpodXWem1o0s+9VW3NHSZrz0eON+VZbzc/FTyw55EAKga+I2FSqcJg7OIhvOvT5buefE6lS9omBupN+HBr/ZNUh+rW+/BNBJciRrxSk1Xoy05NU0c/ozDNgrOmcaceXfr7zOvmo/2tg5hJg4OCve2So710PdRoXMzi4BORUvRqT8cYs8RG5Ww8yZ8QJ5qV0NLJoYqqQv2uK+PnanfZDKKN22xu2bRN7efkmocCNt9vyHpMB6GgnUMAegnXIS5RjPCs9B0OllrMg3vopYJDdLGUMVP2NGZ9vg3937YING3f021XraJ7rRuYKaxVsUZPpp5hN7+qUlu3uj7PxnFNtTtTT/RhuBNyDufKtO2dhybOG/Qb6jy9/d7M+iz9Z4BXfw2AQT6PATDwSKgY2HiEJORUtAxMsU444ma+ChIRl0rWKSinJmlSdaJvVFMWWcPu+sgncPoy3L8X47X53Pp0nUzIwKFgEZDRwvQ4+ESkURhqOkbmsuGMx/ILiUpIy41FszLWQStdNqgxs1qysXfK1W9f9TfmrzYfWqAIlBqi0AoHEQV998q69XNcOSXYYUmsJRvlnMbQ5z9jyd5u40J5VWDCfQyVJLOUX1dS7RuqvdTr+mH0E645q2F7JgdaOs/mblLP5c2b3xdt8NnRYIXUMPBF8hVq/e7ajKe02W3xRkjSy819q3ZES/dtmJRp92Vt78vRDe7XvO8b7f8nJzu4RDhxGlKXSBZD4RJV3lJtOteUvpNzfXc8o5rs6Szm1iY7qmNc3L3Gj/MHAg51gwVFEDKjFRMO/u73rltLSkEdncZIZVY2c84+HvT+rNASZYmWlqsiFXUtXQNjM0ub7Pv+tJAr1UMAvv7G5IL2I1D4XlxEj5bgoohBQQ9LcQmIS4aShn77atvc0+5nl7ni5QTorydc/6bcmJtsk4mlvOtLvKl+p9vQ7nvIMGtiaT6slWxxXId66J55c/tO97n07obf1/DACyw6pP1OgGn4kGikegzs8DRCPK2kfm88+eSpRtsbcs7kl6wDjjl38CXIfcSIz6U62aFwC5SrtvtuHnVox/9S+zWSKVu09dKuy5HqYu197vXsc+XfQMCD0mCpERp5BS0nn1kc/Iiyl9qnUdTkq0sXozCzlRMPv5BoEn77Cszn8/kXqqVrUOOYWdrU3mWecfUAbL5zwe8qpgCqEIOGC9GEQgP9MnsWh4sSKPHIKHuNLz3/vUXZueINgYRZrCWTCflWalWNsR30vv6KHYJzNW+tZuvg7ObpPf5C8FdgNYVI74fBroEvUp6eGvuQQY1dvETIvaQpeaIK2jJgilXjoNEd+gRFxKVkFcYyVE2arFN9RjVlYW3n6DLeIS969rmKbiCBCxRsESCjhenCoeIjIi0Farrd33HPwxwbcz7z7Cx/CyVKLVFpfa7ri1yVqFeLroGxmWW/SXunx681RY8Cbr4xaH+90HgYIzhoariRGFNCFyzcEohYI8OgvERp9rb0++rf8VhqH9upXFnrbSpgbdgeElusZPqMHH++9nGJqto0OO0Ye/EwE8kctWrb5oA6a7f+uVTvffJLwF+E7yWBQcL0eIOEumH8asB+b16ddRC+gl8rcZGjVIuWGZopViqH5l7yDSu4pYhJPCqVZDmF+DnlVz2oajSXOnj6fn1IMrI1ncXc2mQXOVJ/cf2d62X43F2LqRZka+DtHEoG7JuJd6UEnCI/ltJyianHw6kp5Y/oU2m84THFWrWlK2NjltioOXtPx58Qi1Yi0nJzxYVUUPXOtdya7q4Mcm5sDpkdu2aJtZs+e6pT566uf/BpYPjeXVMGWqABUWhwiCjoWOH6CKiJ52RjyjmNvol35Cn7D0vZxxUvKiBhFqukZEReqaq27yYtk8ku2KTmOWS1Z83W1EGdexy3mrIn783vH5aDMeUwS0gTDPV4baQ11ClGzxa8EmqSJXm/UX3D1cNcyzHQYLpEWcfBzScoMhcfVoqsgrKapo5+P+pMLZbW22qnjp27mNzT6+ZT/AXk6eC1L1BU2CAgo4VpcMJnopKGgjq6iJGaudnKmTWeDc0vJCohXTlzxa4q1taPqRZdg/sa3wtzM6klm9q3P5lcqR4KcPMtQQO9QYBCg0NECd1ghcsETUxWykQj9P7LYvc71PNwlTcCwmIv83vPh2WGh/z3UpaWql01qq3XD42JuVVtOTi75em9b34VGBgkzA0eioSKgd14hLvr9FzJGxVHS2XQTLGiOZq7fIbg9wJ3XaJDdZ6Wqmxa4bZ4rKqNqjmd9NGPXKZUi2bNdnXk4j73Gm8+EbEXECq4QrntqpsEYSFnaFlMxYFPRBqFo+51o86YOy1z2Dh5tqdIEARB/HyC2IgzWn3XGBjPzdp+ybWpvZNrPQTAX/0C1KAFGhCFBoeIgo4Vro+ASuylP/n4AlFmaRY9+y+L3cm97Ki54qUWqLDEWLIykVdK1Who62WYNZE5ZxW2Ds5zty3tOffOm18D3gwM+wZJcxg0/CnSSUMtBuy7f/Y8TwlHErlEFbS9oYkJsaIc256u5nRzEUPkJdbFpcZsU6hy+5pNM1pnTX9oZGrx17+uD2l2WccuXUzukRd1H1y1t0D4Gh6/GoKiwpojuIF8R7+GZnomv8rPcrtcy3clWqTcKzJqWtIhRpTZ09vqqVpnV57xC/31RmNqE5bSJjmqYlTUtdINg4w5s6yltrFvJ9e5x1IBG78daPvKqbugQgduhtjvO0oM9Ev0LC6uCEA8yG6ZjcpOU3r+WWLP3tXES31AW7hibcnKTF7p8WpdhEZr6xma1DxWtg45+9xoeL56/N/q3vX/b/e7e8oe3BYshyKbHsMfX3y9b09yRR3GHNvgEZZE5EoVLfeGjom1dwT3km9ZUOSQ+P6lVLTsG71nqpCUWa0100n9taPRmmne12LPcaxr6nep43KR/h550c1n+CsI+AZ1RcIiFFloirnh7CHwS6SkpejVjo6RObbg5OGvkM++A55Lglq65YbiJd6/UtNQn5augbGZpY29U66tB+Df/44ggBHqGsEnUGhwIcq7KfVwpGexUtwREJNR0tD77y3tkn1cLrwCCetSrHnVTxtNY0blp5Sqamjr1ZCJuZWtg7Obp/fzP4AJHBhDFgY8EmoYDhuPkCRyQ0XLwFRWzcG9eyU5l2CKVFylJquQMtQ0dfSNasrC2s7Rxd1r/Mx/G8gVVHBQsAjIaJg4+ESkFNR0jBvzHoZscTJP+QmJSkjLpehToarrW5lu1EDGmVnUMjb2deJ624VmfiP1R+bvArSvQDEtEKB7nCKGwujFgjsIdrlriedkQblGg06Pu+3w/wp+rcXFjnItXhaoMLE+2bWMfJVsT8rC4rXWuxY9yZDWTNqaz8r2TX2Kb1qcueUp3pvf9y/B0xIGEgYeCRUDG4+QZHvalnvg0oaBiZUjbscnKCKelJFVSFn62liz7yD97EdaU7VQa5vd9y+PO+vi7vXJZ/X3q1aQaQVPUAxbBMhFg4mDT0RKQU3HyPwyPz9OK+fiCf4KEZWQllNMxadOc61huqgB437m+iXXRu07dxqtuW716AFcf3O/BlFBBwENF6IJJYouLMZtAuKShZKGfne65ynL2Lm2Z7hzAsJzMZMkPZ6p3711flqXpqrRt1MvQzZp86yottohZ9RNPa15r25+X9qA42QDK2Rg4JFQMW67zG3urGkjXCS8Pclh8xrjZKNlYOqthoObr4JEEndSybJCK6dGY3PT0TcytbC2G48wXjZ3r6986g+2GCFbOFSPtY1wTcbONFqYKM7wO5H/TigpCmo6xpgdGydP/CqUKEtUmlwrppLqWro1iLFZltbG3snVA3Dz3YEGCnGDhsAV0V3X54VFxypuItCzvlq9ayeTUrY0o/cfi2Hn4hWoMLEkrYy8kqqGdvUYmphvz8hut54DHXrenhuO41nT7p2b3x68x2Ex7ZFglvAuJCpqMLDDixKKhMlLhZaBKdaMg8qNbxP8xq0XqyLiSYlsCpkyVW2aOvpGphZZ++yijnJh93rZfBy+eIDsajrABwUbgiKjYTZO+FQivXQURcypF+h6ozCXDSdP81eIaEtIy1VxKqkbLV2DjNXs69+VHRxOH3YuV9o89gcgb75H0EAhoOEQt68E332kn6Vn8cDd5clREDHImpKm9F71it4cz7DHJbxzAS+cGEtWRuUpqfaNTrv1DDOB+dJqi61Df1a3pWd6dz88PIG5YIOEgd+QHkKGSj1Dix28CIWEvFTptU0MVKZ1VvOdwFFufAmqSOKcFGRbYSyfaprVoZ+Ry5SGxWUsrTfYObq0u9fw2dVv8fy3P0OywQvVhg0BRVY0mDjhG6JII4ootaZjLDM2Tp7ev6NCE5XY/o6onTfnMypz9e2ttaZ72NxAaqzN+qWxqT2nutYDcP3F5y+g/QXKEA0dHBVRo4SOxhq5F0HEsntn3uKci4vL5nKGnYt3DEDCVLHd+nuhF0am8lGaq7qna9R0aUdvaRiZUM1jZevg7NY/u/b+q78rGDLCrkgYeKQNdQ8WAxsvQo0kSq5Udie6NTFEb9LeyuUYd3wiKNLiUrJVoKymqaPfj6bbEz19bdfpunPbz6eurrfWzno9+1zdbiDgULAIyNvrd7i9JE5uHHyi7WkOt9eMk5uarjdqzNTbUM7Gw/wVIiohnZxTTCXUq+WQ7p41A1NjNdtxLGt/21Dts/bU1NXSwwSgf/R7B9V0hzYIhi4cRBT0sFy4dDyCmu7iHiLzvZIHzfdy17f/WGjOPihXD/GurAmY4wrX/h6jQ5LNJvPYPZ8pRVU313DVlh4b1oS5VbbGIef4Zvik7nR/1vuv/h5gOAbYZRYyMPBIoRoMbDzCXtKTU9Ey9CbHGgdzl2+CIuJSsgrKan1zpNP6RqZZ5PaV2+P0YzdxaXev6w+unjcQcKhgDULIjNaYOMUPUaRKQU3XjA/NtUXZGifzlJ+QqMT2WmpPT8+LWKqPtapbg4z1w2b12HOJbOg/Z/fx8HniQ67dmoeZA2Tz/f4XaHpB+/SIuhhBHw8Oux2Ib4MyQf/4sWK3H7cEI+5lhpKGvv6xxO64eAWExVpSJnlWOrS6R2OpbfRq6Agm9WLd3Kq2W3tonJduxrPe2fz+9htc0xsGEgYeCRUDG4+QhPw4VJjeWgxMc1bHwc338wVFxOdSRjYFvo/ynjW1qCadI+jXi3Uj07ULv3btskMd5+KeVwyfz+Kxz58WBHhQssF+w9ZuA8IS2YRGxRxO+FEipFEIdXTMOJo/Nk6e3j9fCi1W1FLCSB9Prh5+iry20mzqj31amS7VoG2cGWqpbezrxNUD8Mn3C/oxXygUwvGg67EvTntizFHcGvqwWMLN+xDsWCM2JWspcxya2oH+bf2P/vPfEkf4tcdjX5ce4u0PCdhn4Q/5xvLjmqzpm9nbzg8/DqWYvtWsbdi0qe9pDdtPJPOsVbLlHOKQ85Y1N1PPHc+7fvj7++39wNMPZgmZazE9fEgcKg2MS4SNjwevPuQntIPk2wc8/Mn5bamGa7RmraH/+Jhq/7NSObbktuWTICdCfTyl5rL9x6tQ+185q7a1zaY67ru/tHbkjm9a029Ra7sc1WXp3vUvPvW5+idI4NKh3OeA7QnoyPhss4Zmjo9Z05+ztXxLtCTNJYVGTaVrjFHmsXHy8CfkjiJqf1TF/jslG0sOLEaL5eAk5xemFJVLklDIqlgxp1JlXKrV8qhXz69Rp4BuA2LShiSMWKPAehsVGTWq1IQ5ZZYtq1Z2F6l3NLl0HjfBjQiVkJYkqUCKlFpS5e8YhTXtbOSou0lrU7vNjI7COg2XNWYm1Qdf4o49KfCCNGGIgBxREAUqiYrYnSHOVYit9mXKa25GdYvdGe25N6d99+N6ibI8btSUz2StXblDZ8GUHYiLsFj5OJwEHi9JRqaAQFBITi5KRUVLTc1IQ0NLIjHS0gpwcMrg54cCAjIFBZmEj+vL7XfZZwZWpp44WZ1o2YJipUtcDlZCSJJOAbdCtGJmpeTKWFSj1Dx4tZuurah4NaE0s2qhtJpP66ewNu0oHTrxuisRPWx6+fXR6ycaYJcmGjoY9oN2VlVGbbBRtlFaE6cZbXSLgJi4mHiMrgo9K4nJMRCSvNg2nhAOpkKFzHCQwBQewRJBiqFoYyDpkJOspuXDvrR/3LmWy7gq6Kf3J7nMmEywlFZw7XrjLuSqZaJ8mX+TzU6N1l3pQEhONANVTpdBqBYZ1yH31FLoXC8fdU2AOTQkmzwPOoNF13WAzGPOgc4TISDzJAGdp2wbf1ovOnmW3aw+b7D6oglR3zCpvinsvh0BmnnHDPi+/RFM+k6KTj6VRStfyKN+rah+o6R+qxn/LSve/kRQ+UvA2v8YVtqmHwFlMTaqDWFXOSIDn08AChcUibu7diauzhGqjGwrNnUAviwdQSgnglAuAl/uFhTlyYWqL8/Majg/NNEBKLIvEFtgW2jtfLywMPwLZ1txaZHoBw2OYwg2LpKNi2YnVUzY5uG4iEgjFYN9sdEQD9k9iBgDL0FVRxPUqyBoVllBirAZNwbadSPkrGc61Me2bl8459huIQ9iTTF2bE3NlcctX0ImshF52BXUqKhYct772FZJKVehEoC9VaMhAqF+TZka2Fao5UQ1A1Yd6RDUjRo0btasBViICdVZ9TLbThUfEw2BF46yGsVBy4LTSqeNklU7P78OndwCArqIAIuyswsK1enYDPgPjGN5dCztoHBf6cdEEM5vXBQVgZEo1MmL95AhVpeF8KX3QjN5efoQhCH1Y/oNMLx8iA1Kp6XQjUge5HU5N7ReykvUhXrRQZTGcKw2Lo9JE5inhwxTXZ5G1lIxss76Yw+5lAa1IWkUEBvxTANt4vPBVaN4KhxEXLTFUV5THGMhMo7T9QmurkJQpys7Jih16+mHV9TF4HguMW0GwaJwZoErzFuwKKM69pLNtthqm+1sVWSZWMw0fZgHxUiiKEIx5Rf/CF2PiYYICu9Xh/QVRUSgf99NHRoCylrz77CgEvqeAgtky9ss+6it5Nxzc6eFAwuN0ksQVIROZRFzF755FL7pAJOnzm2C0ygdKq6O+IEkNwDkNjpo4QESsx04XoYs0bHAmnnETBYpDBKgj0oizaGWACZQYFFqGvCQXDKwsFTTz+aFZhaWOYALbcLNUUDxDZZTPGAdMNgp6jKMxMxekTrCFCGIzEZEmj37U14G+rC3JlIo+LbKLhs9PKeIHDkS+tgGDjoPzeZhHi9FZnSlLDF/96pD4RAIo1tCceT4W36HThvixrmGVQhnEn48CTbLzFogQYUclU86LLCZyv0za7EyTIbyghHRzb6IX6t/HlzCsnCmy8vg0sHWbcaw0BMWzEH5NU8VdPN0yMxsH/AgAZYpchsJzVSGkekzhRxnC1s6Sp6Zu9pBEhehgzVJ8L323OAgDY50ku4fxn1XH3NCMM2sXrFz60hY4Y1CS3QQwYSfJR81x2+RE+SZtUmykCJB6jWEHquarP6YyQYN803+CugmTLNbBShmolFyIoZZ5pFbKSQ4s9QIyUMOsJRFx8pB805m371XmqWQPOiJvYa2kCTafuRjAnftQ5dQIMJ0lhtjqc9/+/M1SbWEmRsOcvYfAzssE64Jv63WodqpjSkHB1fYZOa+ZSv3TrQMQobF3yZ/tEwtcycdRBYKRglRhnmUDNtJOCoRmk5HNszMmqIj2pvu25INLmljJ32kltJRCAcKrlg07jUILOVxZbj1X8FJQZdTyO3G12nlLrsQNMYvBi3B/Ok/f49wwhqQU1xaPlA2eDQUB9wOL2/5SFCjXMt2mCz+OY6Fh2KKZISkdHtOiOU1vI/boFPA1xbU4YorQqhQRI6NM48cj8n+uVcn9hwtHFzxQPlFIGwTgSOaHII8T+07F5kTqEefTPMz2ueO7apl5tohNFdIuOX0NIOuXTMbQeaag3bRu6wv/50BNHCWPjcrE+W7LHI12Z9TDy/zt5AXgljlxPp+TEv03eaSa3e16UPBhpUTQmumZRbNsdsx4EwIkQya8/uGRpgF8+RgWZgTtFvT2GZRRKVa7GoUKX+vga2eKA+9gbcmxz6CG/OOnXPklxAx3ihUEhRHpVC5YF8ZIedhhLZoXJ6bv8rwnanGvgbugBw0VPGFJtFF2OQ+pyos5fRiEcMflScaRhN6EfJipLVnI10bLJ9sX7qC8E7gqpVCPu19LvNzClmy/Ccj29Ue7Kbz36XPZqF/jGN2LmK39kNKmq5hhdyPzlRSwXAQ7aawYqM6wsyxUNPgLsEeHvnUOUfnvq6kM525IcKi5SRGxDpPriPJpfUKbctXMJbhMl45IquNWN3VpUlzEQlOxMg0MdRzyZ6Ti5M7LSw+YtehI0SfhRLSwEc+s4bH729TiaK4dxlRSLNpC3zXtOSfIbpQrLAir8qTb1IOONjgmCcu5NP3orHDtExnSnwbEBZ6XQ6U5W/SD0CL/wJXsHYzTEHfUAFO60uF6XaZ9pVqP7qcbYkOj/VfdG209OlfRMm0Zs4c3iVIWGRm6pwtLFNduWmYi0kxJ2s1CbvsN/nGltUYjw5URcucWrMUvOZ02Lc32aYGkLUSGVtj9kUEFWdcMqeqzEJYyxajkv5+2Wy68vkrW8JMq8dgONu4iZopz61wKpu1VSzgM9M4YUn1zJvQd0qvzEFZEhudwjfabVBGNqV9srdZTfte+WF/pp7uvKFI5i6skenmJjPQAlPO8EffE0HMgjuP0ONw2QjiSmbhrIgcsdtHQdm//1hlPgK2TIHy3JAfTZYTZmLVDdEhgMS0xMcF5OZMDvfFtWOSaFzhE9nUj2iW50i+0pUG67oEkb/8kEc+yhGSyA0eWOg8K2KyxnA3h2VkWVzW5nTJMgrOlkxPnmLL3baoV5ezfr+ClgVtb0LLv42adbaFSpZXp5mz2B5g5VSO81FWOXOEDXAQwCCKh1CsYnPEsrnWD65YQVrmFJBPH38FvBtNU1IqEx9FsJi0txAheyFnYUVkHoqwJ9tDsYqtwnV/rWFhnyh7+EEYTDwuqvotyRyCKP9XkhE1RN1XtjmKjKJMOSOjFInLIWLL7znlCCf5HH9OSdyG+SAruopskleWXBM4Z3aZmun2OZoZ97sayfZjsfvItnAKX9b7RkOmWqbfzcOfTn9PSyvClOQ2VP3HhweHDotnmzI8p5BJ9BEhoyTE5hM0x8H7ttBhYrRsQuaG5Rbt4PZujCzZcpajVtLh7DlUU78BtYKqZSdx5QzWjabIQ6FBXNe03UWlU2bCZnDTSUa13GewjQMlzEtLYrHc13QISmnVTs3v/q4jwXebSIR2hF1ljUwvSODjQygJzDXnDoU2fD0HZp/lGO7/fil1G4YzFrHjIHwkLepRUkN2UYPpCELiX5lYRzmokDnh5Qi80wyzRGZeEZ4bjhKMpymbC2mHgE5TDisjn753Da1rJueUrAvAyFihLlzq5JGnqlU/amnO+OhBz5Tb4h0u25bCN8kAyitTvw3E5VmoFSSiPe5CWG3lv8g6wj0vjSdYrlQZocTRUwDTymNOaUtdTCyU6Hve+T4clDBz72XHVWihtWRfKp/N20ajU9N6U3Z/zpbzwTjH7V08PS00poCxc1IgcyGDF6McWPusLHJ0oK4+mjcN0tRlmJZD+CyM2v7t4mG4QrDDarkK19AlTK5uy1NH9XN9dpwWErO4RRH6HlrhTtcGLfHyYnBF7aAm7HH2hryp6ecPKSJ1Adx/QVrsCT6kzgyYFvLjF4zHtc23y043IDM/YukNlifqS5zqTO0/RzxNv4bIR2HJa3tB+LHqHxwvynn3W4CFocg+vOTXnSOfayQHHgXO/Dh28wcJEQ6UpOLhTrF0mVIFc4Fv5gOvYRrSK8Pq+jYLK1UlOvzxNKiebKumI+PFI9OHGuo/IyVxK5vVCpHNfzwlko9hu/FMHdY8y4EVh+97b6mgdM9x3k8EUtKtxG865dbHTAS5x/wsjfB+DScjzFGGgoAsubtZzvMNmQdZj59oJDcE52y8mNCMMJG52D5ifBMaBfaWsUk6Nawk7H8bEsAtbXqybPcG7UEaBeiHmFyqwffTFivQrd5j+jbs7CUJ2midlHNENs+PATG5YeHGVCMZZmbSvFTDZEn0DsuzXGyaWoxtIXQZ18XBUcMyaYH9I8s+I/SSt6MQAc1Pwn8aWcQmQczvBYo43sDOAkJqu9LFZ/EGXmBxhqGCz2Q7JxMK/BZyLZcUkvUO7HBF0qg3xH/nV/wE7fBIuOyzAIfUuE5LahMWk8EM+LrNyf0f0rWx68rmlep65ZW7bIT6pPoziGGvXtt1J9GuwxixNcw/ZPir1zJzhnWmQK0O00sf6ZAdnHPzVKab/J/CpJUOPoZw3kwJMJlZXio4lV3UgGgx3BkFqpXR2F6H9Zj950i7Lg/zTKfzObSLL+HQcAthr0Y1m+yJiWP4Z+mXLCgp8H8WKojt52L4JCDkk5cgy16P2QgKo/Xn/UEg0yaK0F0ocwIOFK6kiEq1yH6+Hti1Ex6SZGZF6ij2XdjVJotfO9u3DpmZxQa4RrwN+sb4EwXKS5Ap1yuUqLy2wMuULOPdZy0jQzci+jKz7MyHL79536OKffQd+JSB3CHh7sj0TTb0UPlwiPDk+5j/SgHuZPlsTOpcnOygYpiygjmzCLSiiV4z/WeeAKdMy6owiBFYxEzb2TGkiEDtmfQcbX4R3ofp+y7LPLY0fbAc515LZnKurcH0WvyGtRJMQXx7n70VTrNrNcfHJ8pgpjxcg7NYGS4IC4CqlzzVljYw4xvbk9pD2ferqsCOylmeOwiNmcYvM9wpzI2hUFZXrZX+yo2Qm5eLsK0tiH8PqENnCY6IE19mvlocyUVwLSWRA9vDkunpONIuU9t/cWHK5e0z8QUjke/+9b6xb7lKiEKOpLl551hCyHAuT3WOjPBH2E+UmV8YIIKeo4rbIy5vFIHvYRHDLOLDHLTNerns/4PMIkPmdopEQoHmUwD7SNh1D3/TDvWYVTlUKZV9d1qUVzhzjEkVVK/lZgJi/zpX7naYjtkh67jaL2IADtao2C10kBxtvzG+LJk6FAEEIrGSetWOJa/oTONLJmGnyL8YoYxzcrGXsNXyVIIXPv800R8Jcai7QKvK5y6Giwl4dsIIn2QxO59UwRtuunsg2d56KubnGb6i6AZ9GU6CuFHfhHOHEZevSJcJ0fxvNgnzgbo0A1yIluSvmbst5m+PIRbFSWRc8Dni12TCcELClcl3jhBTMuP26h24Pm/RbaiRUwPsHFNeiPNO7JWF7PxEQCif8uCL3+PV5dyDUD0oPMCqtbb+D9HbLJNpF588sm2O0vccn3kPd3ncCDjkXmrh+UVIzzJUmtwg0OnTCqoKuVjkx6WBq85O/Zo//yXcTYn2uvcZrRtq9UstG8lUesxRP7rXQtWXFF5LXUVxDB0IY6DbOda9pvjYGWqXcX3egKY6EYhye67hjidtrf6JPh8dlh8z+7AerZBaPbxdwdiefWnwyIEzPU8HEdF+Z0P5jc7ItkIrQhjRGM/gNPojtr9QxkNqa0WyL98I/ScJWkpRjQUH2H9x1uqMGjD8ZRlHZ7gSPobck0HzzLmt/d3rTFyU5rOCLQcehgcT9MgwGmRcp7QJISDhvgGoaWUdNlQZHe31F4d0163hFnuVx5tYu3uIwWktrqMCGoYNhMSQbEXEMFcZIr1pIDvY5j6RKPDsplkk3mEBPZUnOexSY6cr61GB7NZHDGPdYdPDnAtiZ1BbTDD1tYBQjBH6zs+jvKRw9+kUIXMjD9NS5YTed5AQjxFo1zYRV/E6Scv8WJpFgbqWbXQ+yV1zqwhrcfc47ZsbAZioU2xnhBoa5g9lJcfyU7Kz/LDHwA+y58uqJMS01bDH+98aIlxU6hwNdVMoVdbuGA3ocoVDDHqVTFs0fqdAN9sToX8Lv3gokkL7J5n+tB5sEmeyXHGtEpqFU01LMEYqYqw9moG+nm9px8wyV+nEFQjUlvKx7eEWWeqRd0lGUJZB101IVDcJc6VXUieUgEVSkqx0b09M3qcRNSmuhjX3OhFniw/GiNDf0wxiWJA18Ui0cRPgVHvrAZTkWTq2FU4rGGQwoKyRaNkaGZMFemAFVIc8MlsWlRgUGicxUZD7FDdtzOHcRNueqzVKeGOlXFxPJLKg9wVsyo8McrvUKTlIBZdDSe2Wfh9z3+LL02qum3fuNaIaj9m3RDPgaLPd8cHRo3mWomZsRPL5HTi56jXWDBpNxTwUsvHp958aiQlbdjRkQc6OMJWZjmzJjPSajD4D2q3wcJEeJYunwTC9S97usA0cyo4J5RpDHkKA7WQszP8ughCxYWpCiNZ/egjHrh9w47ZiF0GYHnT+NgZHlL1IHyWLEYIX7KaqNS4uYHMM6AQhv69la9wefXOCzXfuECGIQYlFehcAb2NwqmziMAMZEiMKxDElKBpWamC4ovFK0+Yx+DbZ1mzEhCyfoPz5jMKesJz+7PqrmFKlNjUHpiDfZvDM3hfBM/POXlkr7tJL5Ddr1higBZqIoVnRrWYyLCElFFQtASONaBj1SKV9+uSpUOut8cmE6bHjDwOsovY2KpDxxW0lB5NBOOlALbRNL4SFIUknTkOZ1s7yEujXy16QPi1+bJDK9fKG6s/y4W7Is703NaL6kH1/Qu0xvUeHQx2Ct01Bw2ilKTh6avbYcyHEyCGWnPegqYRTBI/+UuT5D8pSk375QdscSQbIjf5udhU/ksisqflNgQp5zlbDvIkjP1ocD/eLKmjWfhxio5SXj4sBgY0pVNMHxps9gOTEXBBFi3Ey+K9xLxG9j2OA+j5g58RAj9cPavBHA4PoomJCEOJKx6HzORjGhwbCTmJNDU6qNM6gBukA6pohvfBCQ0H0qg97SZ8A0CTflDkDhr2gRhkORkLa5AKMuKgt6XQENrJyXdwT2ax2T/nm1/GZbDDwH5Ktj7onCKSzpr7C0Vib86Tbezrwl2mfiwr1SejOnVX8HkZ4dxr0JpJwtkj2ljyZZ+2D0Jh/PqkM5za59oNh7CdPJ2Iyvh0cUAROUOe3uLoFjpOQcg2wJR5yTSUal6Hf5FiNwSBligMAp5/blzkRxHRnR5LqL2uQ6DvJEDwxVJs5lmSWzg4KT/dA518MqkNhn4BbxKzH0zCoAZufnfcY78zQ/H3Sf3jT17j8ujGfYJkQ4W1NRhi1RyoQGQBLVFGVcSnjA4Et2tKNx/iB8oQdN8on9HhNc4cFvw4bTp5w6ai/UUAs+aPbkwKsOWwP/W9ANici7slU3M6YRMrXFblDdrfK9wF+2/wSkg62Ry1TfVSv2el/VD4xJTK7utwxdry49LQGw2xQJnymgPIQqDyKj2R1dru+67pKxNkchVZrmADJUejTVpJyVZTNLXqONHKjRR9gbumDIEiCRUTF/NDhRmrH83eDyUtFVlPi4Bbml3n210xrgqn0l2t0T7nVzn1gzXrslUK9YvXEr/80jv6UdbhqQOokz3+l4xunW/2whVTdd0M4b7Ei40xzVo2Jr075gGA/QBQQ9rIzGbgJAJySG0ugRSD94IiAzFkCQHE56QAQG5AJkiX9eB8SkS5J38ZOo23xSI8yw+yYQ0NmKs480NZk3y+/RVOUIXlTjfu1CmMHlLI58a6rm69VIOHuzuB3SlTQf2tDrMuRFkPTVUm44kmu+7uIHmYsOq01tnLSJeatd+Tp8eFdgoAF8vRETM/He0bAP4Ezl3DGpvyLCzhGQ2sluAc7nIGp3Wy3YF+PMH7tvViepb06duwox+62QXt341KumBWVs2fKarf8lBO9z27rLej3Pgzvw4zXDUXS2toEsT1arWghWL8JF8424qygdNhZZlHL2seadEeSDYONYk+brhK04IE7X5iLKEuwya9BCY4K15N65w1aDh2L5PdvEs1+DxQoHmK3E9PKheVbYIkCnr+6xpUKsWPwzL7B4TKotXnY63YA7PiNtTwxqY4nv9vLPNEZOAGHkD0owmTV0/kPowgtMvGB9PSQf8wKlbumZowo5fv8P+D6jJBdDgqFN07sa/klKtxuMgujqgGIHAiFeZkUJY15ei1z7DY5g07XVZl0mPDQ2e0TknwQOB448x2wvMZzEiG5HzLCkLDsRfq4TKcSqBhHm2LfV8bMclQmKZv/EfdGvq2rJY91Mv8O6lknr8JSZt9YSPgMBCFiXXHnyVC/U3YVrp+JKJpnSAhn0Y4OsY/cscAYT3JAD26rHl4ULErsc/TMnDpCwh0XZr+VPE46EmYPiIX3a6oBZ29TnPtEGAoeGSTWl79eBD6jR4jH2Gvo8A6bX7RoKxqQ9ZtYGyQNs6zrL3exQ7uEUMshKlti2mwXNAR8XGb2KwA/Wy3YwYF98e7hDgN5H7MW9mHyuBWOAThulGAjYK4tefaF0tWpwWyKK5nbLHWjZLNi+qzYAHkh4uQI4oKdLMes4vPTZdsyzZ7a8IBUCR6Yt1Rl5r6ClatKn6rG1Ez5q452Ousgl699DI5qiY7Scl8GFxdwQRhtVc77S+xJwslegY321vDNJxb4vkQIcIAkzXdD34aQ0ODZ5rTWg3wk66jMG69R8hsC0MRSglPRooO+tNj113CI6mKGAqryY1oNJbqE8NAF3ITah9sxfWBXC4+YcucfxcGtdXSIpDbt1rG+8B0cd2jl4ASiwJJ96sRk7z54TySLTirfx9wAg8YQHzi9WC5V4HbuUNU/Ii2JZY/PVeYZm4obH1GY112zjvEFnix8kUdpQ+zzYARg/UuOM1yFhmTUOu0cXjEG4h+CO/bnls6LI4BXBZgpEs5YbxQu1468Vzb3AS5hzaPbjGuB9nobvflL5OVQwrekMyM716tkKWi++yO+Xlqb+LaXIexUojsse08gz8JLI+bfllVs6HY/Vo9drG7rHd9vqX80TPAYTEO+4EROHoUXyONwJsSXkUxUxMywhkOQLYFUHwXJu5lQSmbVkuvyfNRsQhXfNiExtXz8vxZ9QDPkQ1qnmQK+nMTCYtKEkkY9RgYvU5ivNt3vbK7xYEHpTFnE1THEX6LWxZTI+uayE6q2o/Ip0RHy0lYrqLUPVHDOOTHLrsm/lpv4SWZBhL41YS0cAghyfaDqPkBrajO/rdZxnEkuNyTH6742Q3jW0KXhDlA7SHaSNSMa+1sKVF4Se4GCXFNocz0RljE0pbV4b2MRY8U9bJhfzT6gjUOVMBnqEj35x6Zoot23x0jwgj5f2kvxk2TJz6hcPx+CQKkGKCARRCYqx7Ii/CHCKl8yV5ZGkIVXG/o+DKlTFyhuSMKRHk1n5qS5F8b2rrJj1o+SiS5IZRRDRUm0xgQK7HeBegjp8xbhkxQ6linhQEQh1EQPz1OWEq/gnn1gpac+5bKmTtQYoQlU5M244pPXOQc6vkoFUTzbFPB5WwrbBblM6s00zQ8l0kxgmnH4Bwxvb4vUevG5JYS5uEwOEZKhUv+A6tP/oD6pSIMPen4eHHeTMqMi80TLD1DoWGgUafZhHK/V+ul/eFQNauxxejq+A6N5JYP6msz3RWhEIYsWHWctfjSHA858u4/NTQ37ZCGww6SnLX2wxeuzoXVRlULTjfwwV1DMZbRXiem0HBzXJ0oPWyhmRWfrfG6AENOyInNUDciswaDl0BFDf/g+IiED6g4utkwcyTpMyev0F5ImWtAhVtz8UyqMELppxZqCscdlhv/7sfkR/5epinbU752kus8LNpC7gjKxLhqRK6tJ+d4tdQvTsLTz2JovU6xlMF+h9UbFCdJ7fQ2/e4AbNmW/n0pdou9rdO8nWJYLitMOiPyP9QHLEtuO6oP3DjkD6drHDY2qXIhdJWBYfGCBHILavm6PEI9Usg08HYBgaGKCHjAdaQYtjAKugjAE8GiAHcaVCY/aEBJon8IDQOZ6AWQPV9/LwZKyG3p/jjFv6AEZQLFrWF3+bYluA2Bam9Oc6vDw7oUfCjL6oxtX7PwnK50EVmngGyyJxO+7MWtLDXYbkIZez6493cMvhCfGpN0h9JwWZ8C4iZulpfpiWys04gNEkBUYn1sKYM/xWzDAaNjsZ4FXDOzDVRykAmQ5sFQPKzFpCmTr7dSMB2A8cUnTqYGd9PirufqnMUXzpBbZTwOvvdIoTohwmpaNvHoWFVkdLTKrob1tUmqOlnxnkW4wA8YI7KT4OqkKVrCIHu9Upl6EGy6/uvO8rNXuQXMiHp4OvE6UEbQz1aWpAlfU0aMgDLLAQp6OKZiOAWoAPE8A7VyEYC/TB5wQG/58i7qc34m9akK5DqX8MNIoEMbR+aZAgAmTXr1CnUFtL2Q9zSfAOoA46qPAVQ4eZzePEXgigR4wH0D+lE2WKKKgJNLRMzAyMbOwsrHz8onIk69Iiav6r1qdBl0GDVtrnU22F2ysIlNNM8Nic8y3Tr+YuISCVuZp0sbFFxGK0EAUUlJCIvGbVW4DhcZgcXgyAvmbOil4Oyn5iCJU8qjl0ygiKaG16sVvOdnUwayBRRerQTbD7NZyWMdpE5ftE3fBwVNs8CYKvlKDv7QQKCMEKw6hzoZwvSHS5eDaw+DW18G9b4JHr8KGfgkb24h4v0ZOf0du/0Re/0Z+/0VimwPJbQkUzOo3ERTGx587Gp/5su6whivzDEoTc2XvnrUrYzMYrNwz0FPPnkIo7EFgcn5uddcZhJhm1+JKNFXRpicPt2kcqRDkOwNcixGzpUsbM8+zawXvbMokPyGPU+yKi4r0ID4oZ61Nj8ioa86gHyqmUn72bHyQdvKvyZBltWi2zYt195mgh2WIlbV1x+P8ZFMXnsF4MoecUafgeaIun8vcFx6UL1VnWU4wgg0vbsrt6HOePy2bWSuP9GwnSmd81CivlaeZeNoW2+eU440y+WoD8j4qNrdZyEnKzXKkQvnwNdID2gZPKcxStjJflS/q12AZUynh+wRGY1Q51CmA3MDK2IllBoR1LkQt1NApCmauE9pU+ujy1AUffWPtrh/+FI3XbrPoOyfkqAdR95aie1al2ir0O3VexwvqEyPzuy+oxS4y3vJ3EdbfdyrF+jiZOREPdX+zjDfXO3dIomaVP7yy05xS/Pb+J/brVYeoi2r2ybI9aITUi/TZWmgGhCpxjeM6h/BGSk2fQFMym9/TzrEv2C2uw1gi3yTBDH/VS2IDwpLfAM/7X0KjvSVkELKU5OPTRq7cGgD5ikkEnKajS5XQbPLOFayxshpASoWi003CSMlk+bbKK2Ozyev2YYBzkgxJL8rULc0N/iGQ0Wa9abP+ZJBqOgywTfh9uWY20ElU/lq81XoDLVXg3UTH3wjCDFHU0tZBM8BFsj43zTYrJWksZtTiLOUj5m2eb04EUKaRgnE6REq5+D6jPE/mmBdxKZ9ysuXG+vEb3dH3VQ5dwyX+YM3+X6Ij5QEphtBCjEMjc6FcETl6crGdJ19yCG0m9pO5Xdv8dbAb8Fk9LwInLf93Z5R1D2XVZn8XbHQuN+EocAztWImeHY8PuXXT3z2jh7R56ebDL3DS2EId4x8u/DwE9TETA5m28yyv3eOGb/Rr/cTYjMdduqgFO8xfWRPED7FTo1iHSF0/Hmyme0Hs90XDuMnWpVUymXH8zSS6Q8bjcozPzDSU8XF5uyhkyK0SJnKlmM5XtIlb/fCMvKlClIVQAmLVeBQ2WQWoSVFMswkieINEkI+d3NBXBDIgZ2MPmbDvR4aWTjpknCZ+h42IChb1PCGLzEqEJuTBHhQ5QqTpKcQa0RiwuTZQMl0v7etC3DmS9y2iF1jJweBAddCVYdc9oCNCsgwR0hcfQXXtFoQ6ufWF0Z2/2vjC23NndsvvfB3LD1zVMcVMR5bRawRKXKAUxOJhkqdPvZv3mMSi4GUVRgUN0wPq5Xr/fCb3nv80TeBZkeYZiZiWqiV1Q3z9qXM4xkwAmLEJcJWn7CBSwckL8sGMptstgElD8wClCyTZKg5EXaRDdlds59EAOEqmFnkZYwSXQI/8HsgQBsqicy6K4cclFvjxUa/eLzgFlADVH8x1IU61ParB0HK9fe07W9NkJwmQiFQCnd3k0eovXXtAJXqc3mHll1fi+uLBfl4NqHE6Ix6ycDOMoxDaPBx0w0tdb+sk9elCuYi6piNA53dzXGyd6nY3nI/G+kX6mFC0yFFMhjifooLJ0OksCS1uvL60ovUMAXFkT1VKmuhrrv8n/1e9+oOx2/YuXHnLb5NeoMLEjiMp/hGBmczk19xwO6W5Kv3YYJHa1TtFDLvJbEwzn5Wtg7Obpzfx+Fcm1odr5YK7FlikEiWgJtsAUPSf/7APBhIwVGeu8gCrP3vJhItBuFZgPWPUDQGjxRdMRDqqSCKbqIZMF7swtoFHoM7vGo3JCpPMC+bDG2rmdLiS9vOY3qW631RW7oasykwv1YGbWIovYoaXCvkSep0KgICZLGt4aBbctUze6bjotj4W9CNCHDzj8AEPeUs2XiMqZcxi41hAnyrv01rh5aU5drh89fP767imskCyLrdzfCHE83fMYV+bT3vTgxScGcoXNgQUGY0a81MOXGIjnzvU5iArkUiva0X+RE26a2Pdya3YOqcQ+xMU8QuJSoxpDl25w7aKrco5QoGqq1YtdQ2MM3vaXO3LdqZ+Bqdci2YeqvjSA1hMBxooBDQcIkroohdXWAkBsU1PlMUjvVLYVooFWBVDzZrFwns8RXXWL6qYfg919vhhJCpSrc9klW0/nIYYrWdANfPkrZm08h92LLN0S1Zu0MyVL8pd5Mq4jxh32onE4FyuUINudyiyt3C1gFKiixWMXKYPQd6VFrse/UrC5+9RFdDdLA16Q3sQKNE7vgK80xh4Zt+mYV1XJmLaMuAIs4WomnNhK5Pu6W3neJok9qUAQffOYng3L1QC150Z0KDgLMYKulayStOTmXwnFb8lngg2hBIp94y0QiP5nF/f/sZhhrGDJSHmXIg6yIZjDORr9HEIXzp0Cn4pKBHOQIt+6NZVuQIbG5JRuHvQU7VmnhLK7shj+UJoKlPgm9DroSgwKzNcwXSfgqxTJ+VIzKJiYKcoxzrojNw/CAEO61YEenHHju4/C+IidbwBk5pSu56e3c68wtJSXA7ng2piW83mzdNEFhLMOXoiGKi/sUKhkius5toFwCaqRmiNaR5CNLI4QhRivmWbKnppHgrOFenZuBNxoGjGOACs/MU6CkFY+YFCl+Bnk0subFaX2f64iu5o1etZ8fFrx3y6mSNko+yc4T+IUZ6QZ79RhwX13pYwYWlAiHnS6vfJCZiIkif6XDVZRH8Ikp/0OBozvR0ywo506ZMpmLoBswKx51aZEWbbQ+fm9GFlP4fOvOizIg4d//8nYswCAgGX2vXDOM3Luu3Hed3P+/2ujCCgwQRkKGdeiqiVuk72vTAMeBxV00TmWb0sdF0128b2Xf84uHmK1qW1b8l5ZPfVeZ/i/wY3+Z/TDK7na3Ir8TGNiavuOZ0HEOZKaVKanLTi7qvUgkodKtzMNzwxvJZ23EaK+4SnWy1Sh+JK1J2lGRuGr0y5cNfcFuy7vfx5T4N352IYhC7VHbs6lTlb5CMFpJyqPMIgZqropdn9zufm5J/hSkUevS62xCkuW0vxteprwzMhW6hr/Dar1qVMranolutoSZa0EHaS0GbjFd6gKRYi/c62cO+Bs9SWV8l8fWaHLXQXqJKe8r+WkKktlTpmrqDe5pyOQPNKPVIhH8U5Di5XUBtDiZXV8qcUpcVtg8VMBHk6i6bCwpkU4rwMmVKl+V2uKIdTjpx608Y4v1j6Dkyjm4Sr6lOe7UwYiVzCT7wQr6Q4x+jitaRr8fyBhCjG4/r7Nptq67I698CT7dZ8fhV9XjIT3neHHhxuLbTRQMHgLkbgNa1shTFsXW7x/KvkxrxxdbS8uthwJV+TOySHxN1Ka3A7rcWZreWThVRCG028kKkdLTbsZ8oDRLINPYRmeKUo0975iUeNfhviXdCy+t3OEFh8xTh/+48SGulrMfhfwvz8cJRJNJZIlz5YflK5+27WaRQ/ezA4ZUl5HnZDBeZ8QsoDNPHpC8DiIdP/cSuERxKW3IwGzKsPxQDudXAA9+Cq7UinUg+CaMCaN7/k4DqIu8/JZKUN4rPS1QYoz20m02C9uJ6uwJLeHfKyZqYGoatawkLiqk6jBaXJRUxSoBtR6CJH1ocSRZfrQkSFnVaArMCXXiUNnxZnuKm8aq566TCty7DGFryIlZ+kbMNOLQgEj5Cwtse33by2FAZiNcazVVabOgMLFIEHBYQExSBQEGquzaalLf8LAyXy6acIfV07kAkgolkLuvrBxPSj5JKjyUa7XeQez5m2AFnMEgfBUiQBqRnBkJqEwhPporUH4lLSCY3sUCS2EdWh6WbSPLzyqPn5NDSBmoGtsTrPmQi98TKx4eKCi3Hpxgin5+c/9sZb775DdDFc450c53KRTo2HvhNGwhbchkTH2MIUd4pySCs08IkiJb+wTLkKlapWr1mHPukBMOnTpRcZWCQwwMEHKwEKnRMJmOsJpMIEquqWoJE8no4P1ggqYO8RTvd4WlwIhknYXETXkRJL6gnYpFrW+m9nJ+IFrgBqAa22u8Rz5NTpxIRCzT41xzqJmoChIDFx8BUKqSHPQCotZEedYf0s4V+aRIgEBZsOx8DEwp7OUaGSRZXq5Xb704qzb7HyxFPPPJ/9QnrpIx/7ZPqn3vtg1drU9fFcx7mNcx/nMclzeWz7LKn5s5nJ2obq1JeGLehNOm9qyvSdebHw5jPLF6LgEUTngKtC6nwNkmT+OC2wSZ9Mq8YqNmp8kem+fYtOFtS012dOTBex0Jksbs2SDa0jCivsYSQ2EWMYLFqSs8X2EiuMyFEU6AxoQh9yiHgPJONtOh98HRPwVTyAyGDP1eFJVwPZO2jsqmXIu+qZAJuecfMuBEusU6FomVavKANn/DQJ2ZvTM0YJTtNIAi/Q4tOEX7UOSSEbcER07EAfLVfHEigcV8o1IMV/6lTvD2Jp0P4j//NhgOXRwNmgVgTaWUD7KAQL/jGEZ9JpLrXRRR8G4/+Kwe8ZzD8ae82v3OMtP5l6V/0qrlD9TVql9qXj1dpVZcNarkuRdR9Vd9Vvb7zhrdHJpl8lFZu/yaq1fZW93C3HP/BB++DUG8MTs/cUvRd/wOUuflIzvfibuMLVz5d0b4ZINcZ/4/LOv5c7kTpfHBkfl3Ph08Jm9NOaNi82rZSwOr7Xq0l+vSa7X1Rt/qV5d+UrZdfQbGHdulPctOd4ckG6fM+HIKJ1fjB2pFV5VVuTB+bG4rbEsX4z3FLX9G15zWi3r+9r80e1juvFLhDjMaeAIELeCQFU51JlT3J5IPHFMZLeel9BVgcmwsnA6uS7MdCOcvTgmkPn/0UnsNtX7L00v3viksY+s3hnh6duDKfZucv33AAeMVxsJkc8i/bomy9J2vaOYM7e1xQvvXNMCgAYvn4UbTzjzMff27bH9MQtTVyQe+/sy9lXPmoeOvre5gkPAHCMf+u+jf3TfceRV8MPKPlbT1j+2wHBfueZj9wPBr/WP/pJuvTEw4jybF9K/vQTt/Ty2XHkD09U7kc/bB8DP0A9/Ik+dvPugUD/7+/tPNz/x7s+h/p3DuYb/bsHSxP9hwZ2jfdfFcXa/Yvvbwr0f6qmvc4nqzbv3KPuK5yoK28a6O4uv7G/u791YHbftLhn18mVn6Zy3d945Ja6v3XkPXmy/How8cqxqt1/OkyL3Zet04VGO3PH7uS3490L6mtNBsSAUE/GbwwyI/QAsr2msRv9jPrggQijzb29weiye3Yx6Cwwg2MUOw8zxGJ/giH5gfVObzKPMaHFvhiT8XwUfqogkExtvj/OtNZ+ueze8/+rPlAbPt8AVgyWJ+CLHabIV+/exULl5ydBe+MoCn344ZyDrOOPQiHo971+IMkijRA96O/vwoj433m5Q/9nFN+CZvFx2VDGXeA++9CQeP+dKwae/mitg1Yk59og4aPOd/DDd8+6GRQIGmgQmb+do79WmY+lfbcxSrngR+4YdOz3Rkx7f3Yzlzvuj4MeGhtrfw9t4fBP7eSz9xsXVhwnf362FbDyw0q7ytepK1AoLFAoiMbMn+R8b30dAGM3YMOfP1qGKQUc+4tvDIZNkJR00EFJSSvay2ejDrud6EQ1chzgstd5unkY+JUp4XAxG4d99uM04CjcwKpKrS5qKhusI8PKRNzsGsOCRjTKRutkdpMAyiVOd77T1YlIEqTwUozOpBd3suMwjneLuAwpKZLLnMbnctc6xxXODgKOOBQENLcJrne9Nm4xSW4irQMOAGwnqUCBQvmS8mRZIykpoVjy0NOKbu2rteM6tb9Wugy40b3uob564gFjrrHhxdeSodVMTGdqRfAt25HIUQbXvPp90YZhNQp0uwcdg4YigxpD2Y9Zrwf90qt1dvRJd/S5qScVVbqkp4DuwECaOnDyKvyvkdBQrtLdjFePyRWnf0iRk7ae7KRogmqdvd8cQscHwGNOSbQYiIuvMWu4S4YqFehODzpCwpEQKVrvMnVCYdLkNKfKt53iE+Zo8NqeV0TPdfbpTx66PRP802OFXIUhaWHRtsBFLnCWC10VDbjapvLoZ6HT5IArHavFbby8jnG0Xk6HXeoMV1HAIwi+3v7er/so5NsACLAwBLZGUP84SxTVlBsk80EB3W+QBgOGpf1uwLPYrj7BFXX9v76FGBnFEJrQFwC3ge3fAYD9Hk4MHgDGo85/8HcWWOCA6QESAPpyqxmwOgoieBSwNB7YuF1bbhTaLDuAQx5LTpYDeMG9ZIXlBKFmk6FAlVaDJiEgi2EGoAEVtdVAfQIQQJZwQ33IkjEbl6IjS8/xSIONy57GeQSJqYI4wFykoBKhh8X/brzObiwPsAiPo+x0TTCo9ZAuehso0Tg5SlRpNM8EU2Saa7l82xUtxdVG4KgxYrVSc+g0UQpKmkPjMmO3vmmPI9SRb/OmTWmYs7Ows7HD2znZbbLbYbfblezqtl9rn24ftp/BG+KN8VvxIV4hB0fHF47vOH7ueMLxguMlx1nHJsd2x05HkCqqfSlYhIvXDhe4Ltpo8Kju+hkiRaZ85Wp4b58hyzJ5ShQspq3x1bMv11RyAGqyvfs502hqdPeJKSEv5w7nblTMUaFfRt8KTuqZVwf/Zzst1PKrzJEB40tfJ/+oxhn/HDVxrC2/ZMvvA0aWIP+7dGX0jsSIAvgp4CcP2//w3/wj3086Pyn9aFbdDOCH+4AfvAH84NgfUD9AfnBj5KEffuu7re+swVE4ALvgOXgSngDf+dh3HqsKEOBVVz98t+WWORaaLMM8u4TFVLQA1OLtyz7HnPPMK5/8AKA2RmLrcvf2QQoXe+NN/1Yrebb+hEv7NzilfsD3VcNaj65DZcbsWVms2UD/Z8Ms5VbMxhVWxNiljv/pE9VonMIqilZKedF7WkZxYmkXXaJIiQpVaszYc+DISagw4SL5SZcbKnSY8jeuoNbaaq+jsVqomteoSbMWrdoMGjdh0pQlTz1z4tOvLvT5hRdZrD98gw032ni39fegbJm3DZtt2u2xPZ7Y66l99u33zDEHjnvthDeCvHXZDwk/Jf2S8ltldtzoSMGxpwNvNpwZRmQ49ylcmAvn58Slz+Dip3H7PLLmlznfAvx9t09UIYRiEgiUEamoo6beZQ3UUehopqubhU4mupiiMUNnboSzm9yNN3Ow2c+b+8Ia4ufAE8nrY236c2zZeSFC6ty4U86CiohL+6zL1j2niUpv5AmjZI5WACP7kEMPO+bwI46UMa8mWoY4GuZklAtNW7bats2O7XbtsMfHLTvd5uuOX9zl5x6C+/w9cNI7p7x32gdnfHTWJ0GfhXwR9lX1Ezg9BI+QVEoKlrQyMsrJqnBBJTnVFNS4COeSWorwlPSw1MsKg41+tgbYGWSPyQGLqwmeJnmZ4t1oYzdutombFCNuoekmm3lAH4b+HexQh8mPgcDiCEKHJX5s3IwPkMeBtjpAPkKoSGTdTwUJQA3N0g1KwccjHZng3558ghxAHR+ZoSz4ieKCKG/IEF/4J/cP+B6g3g8wnAu0Q4E13wC2egVY9E3A7CsAFAC+m51JYf5+QZLa11IdUhkhY9gFyOqPoiDHlEibU2USWYeA7A9pyP1gNBF7FG927o1ZeJIiNJQnOZlo2zQPvHWqLA49ep/xykkY5hfQ6T0UwHBD2nn/iIioRrLjY/7ct7E96s3oZxsFoYDXbamp65QprxJMIW1QDWNMByU7V260iiGOl9ylJD/AEhv3txgcLjVekHM960ruGspgoOzR5rqWPycGPNysMRAU9nkRGr0kNO4BJUivs2E8sSWkDtxAAA2SHco+6IBF2BOPkUeFOOOeGa3Z8vEIZkTlrgiFXjdg9hh3E+OlNVleld9aZ6JPJkh5pm0nCGvIhes7lc11GEfNEHdAkswsOBf8xuhtscU0b9ti2VpIP53q0FHHrrN4D3uytW/M/E4KcyT5qSd/prULjr2nJSOntiMx0POJXq9WIRvIrU3RAnRdDlclsq3RVx84LYJTgowr1a7jmiMLqBlvJkKEnDJsHFsMR1EC5dxUNBFTg98r7P+6kYK8JGXdAEaKWSEa4Yps06spXXDkfY7Jx06o+XFA0drYsLbjuuCwG+I3ua2tGKzYKPxJ+Htqw7OE48hjpY8G0hFNJxzSdVOuHbrjj5Ht0Vb2HbHpZxZL3WZCcb5M0WpdG8+f1qcJrfchhHaJJxrnzrKjmtQFwG/Zq/bBrM+uAdObiEmIAfEGC+YZ8AYJJdsCvKA9ewasljAJy12PdY1pd1WGtrkT9V/833f7F6m/Ws3WS1990Q1SSdvw4ssghg1wfkY5P1USNTr018SvZGJG6/yqNjQUas+p++SutZuJg3mLX402NLlJ6S5h2vrMy0Fb2YuLZ8kOMp7nVbutZKcuKS09gwchcLAt698V4AhDy9hhoOBV+dHtG3lX3VZaukG9ZYiro62jVlMjDW+29i1kZ0ZsCrYMy3DL9qqes7QU6igFbie/9PUUzVxZ+RqyWlRHc74BK3txeXnj/gk5qlyWhWKpZBeL43EayBj1cjRllbOjO03FBjtjwwCaqiXfTEtNrtPdxM8MfP65m/gpg6efOLFadK3wYOlWl8fig6pM3giazuN156HWWup+P6VVgBRcgh/FPM45wifgeWPWgiPuU8p4M5W8AuKIRWCuJq8RtIfEX36ogRSMM5t98XsHGlF/juyyLLwaHrvZiR84pDQm0czL6TrowO+o9osl37/RoDs9SJXf6PRsHrYHiUu9ddeNc6fb6Kol7aPe+7cnMAOiK79oCqdwEj0oG3bHSaEfY9uYUeU25qdICux0chT9tIR7kaTe2Hxh0AW0tP+l1idNHvcVt1zHTj09ihYtO4zwYbE/mEDMbn4J2isDqwuV6wME2lI/XLbnLP2AK3IZm1euwYRL6ydQYwrYgrq6egW9xxohAk8/MTV5XQKSJRmngbup9cUKHgHoJmK49xCG5izO0TTOyNkkcr3BGdQnyR7YXBWP7nmF13g2Qth0Lvr8uMiu++FA3IXYyN2wfaDmR0PtQqnG0A6DiQHFe7CLyzdRr7ffX8xSLtT37xgZTrZUz+KDiaGq63ozz9CPDFQdnSM0eb77gh34eJAjzZ8nydbkkh9sh1N9WRyPy/sVt3rN2u41qu7mbaL3qVNlz8qcT9mnmrOgN0oBRi7pi99PKXCQ8ASMtcd9kihcAiftQJ2qvMYrEk0bNdEXa/R06Gxwq4ZWBgDkQrgmTNrHjkOkKYJTHz6vfWQt3qUhb4qiuNQYqYMIeZNtuzCFZW46LOKPxvSPCzzv2FV2lEBu1d6laAY2eQLtnygRa5cl9LO2rHtAEV7oaZkD0uGz0NkxFqOe7x4pYBe9sujH6iMqHMcDfNozdZZZw7JfC+8EREAyf64MXU4AXmYA22Zw8455alkD0LmIB+v88LmcBaTaqMl8UpN8+lAEQZV8JvVkIETRenLeUD42VNd6HY7ZIKZeyfKXDbb2oid/Aff1XI/8FNYSVYzi4D5J5cAjIARQnzbAmZTBYwCVti/uVu2qb1EeLhSDHEKCcB4Uw9BRUSDUBANqT7cWD4Pfswyb8HF7fYbNmDUIQx42ct6eL7pM4Qj4HXsQN3qi/coTs61q2Mh3So93q9c55hc1eTpGPSt2+ovhw/EpLxtrd+/9uecV8zjsg/kL93llANM7D8Vn1uOc9eKjfZccYoNjjx0nX9swMFLq84sRYHmFyc8WszwiPnN/+KMElf3xQhJOdX5++0x+Nk8xePqpHdicx0Z1BR8yl6MshGqyKrY2VC7be3jQxNLIuusif88zPMezLLGd6hkUsKSh8zBzokELpJqTvbP2jEDpjXgz8e7lrLFKp2tyr8e0zOwSwDHH/pCMqTKW7KqLQsDgWK0uC1DMDWNeAFNTE1aJu1GHspGxSbtIZTmei1Kwkddm9jUlJjElQGulY9s4HWeDC3Gm+psgX43PHrRADu1N5m1Uwzgv0hXzig2n1jqLu6YPG2uj7LcxxTYnSnbMnFw/g5+KjnU0Faz3RRijvZEuW3tHx/TGfFP7emx2bmbs93kiouGb7DQVs7SDtPOrscUO+9pCTtZv1OpUrag61Cr442YFXzNDRheBvZGm7Hh6Nrq+SVVw22Tj8ev2o4acoVlVkyfbC0+jgPkDw6MzhDeHRx2lwOrONEGc4ewSoUucXSN0CY5t9IU7GwOLqvMnBpIh5lEn40k0uwG6z6HqnwCkFrZHukBilGJqSOmcIUAgAlDVWmgAGWSSS1Z24hQFR8gLehYb+EBmKbThANc1DKpAcyrkB/0x5CAp98xchiYO6t71neKThm6hFcgkxm7QmKzqnpWOQ2gz0QlTYq1YDRt9VUe6Z/apnZduDgRvDmk4PIDHtRF32Ig9vTVVCI+oXjvZoICpdBeG8KaOm1zHTS1MvHBZzEAkQaeO8kDxMRfWR8PoglceU3wCo5BsAo0EAhJ/I7pykdy4k8E4UjsYT2gnRWA75pnQVNXOio2mK4b6rjaHpvIrbEJZGFFpQQIwqjkrZQVULCZrCiMJRAZJN1CWS8N8wmDdQY3juotXtiAoZU0QTYW5sS4sBkKMtVJwZsrCzczLcqBgMVpOs2PN1R8TweoUuWDfCJM/XEa2H7/WwveIPTr40cqngbkEAToC67VpalVQ6M1y4L7bj+afjiHqjIqFnGGugpRXRqAax3lhc0xJ4JdwvmEuF/uzQ5f2IsaiIuGiR/qLSQSp5N+Y2Uv1xKvkzaBXPWbZTi5DMwx4HbbJ6AbMmTYJVXCb2+v2HYOO+dyDTnubEEZova1mGPA6bJPRDRjyGGc7I12epn2Yj1C/cKL+wpjIA1cSyTORVGKO4Bq5WoT4MdLCKsRLAjY6Yj4aAgYFkKI84z/+XpAh+Ey9hO28ksoSXojDtjuhivEkcXO2fa1PLXpuxA8IVdGN35Va1AkkYAV0OaQtdwg254F6j5Mz8fntYvyTaTiELDQogM+pyncuuSzSB/iWnZx5yICjd5gmAcRsR26qrLh4nHX/d7lbQPlp7VDGTa6KMPbtMG9PwfhplGT3iKB9joX0vY5hmm8LtZ6CVhNa+nN9kUY4stv+TJsXq00ccYH9ktYX10hKltgscoHbtkqZrWFIED4/IdcSocWwV+bKZRSVFfbtUdzfXvyUx7NLWGb9xD2nco9y95ihNX5QhwRsoPvp7lryZ4ab2sGES1t8SVjqGEHF+lhbxooRLyplIVnS91k3b307WV94sYnMWGFh5Z4pv/g95Ib1JPI1Sob7MO/x8g6GbQOorqOsu5/G9kNmMlEKxGd6k6MICmWcOxsqNYrfgGpBNInEQzxAIZyiMA54FYIKaw9xqQKi4pLDp1vPU3VWQ1Y7tOMBnr3qhsxRMAWaKZ3bT8J39KIPZrmhQI857PWzQl6NaXx1+ps8W+EpHn1EuyTm/DQevBZM+iov9xFIKuI56yDZkubDM0Ba1iJjgGTxEDJQ/a4R681TZE2z7L3lJuTPSWLU676OMIFdlGDUJHoU9ogDpPUxD6CJY17yIfcqQP/0Vy51KONg/tQ8DJ5ULQlBcebRgHqQbmYH06gfa1lBEL03f4AqxLUomaxiSutx83dbMfB5NQr7eGvdu3y4xenA4+lN+1BLNwXNX2vjcH6nhSdVA9LZ104nn4AoZJT+uWrkFT15zB3bmHDJW+dglixtkFZ6+G45hzLZ8icvsTW9Hnr1fFNzx6vJEAeMycje9ktpnvEPZCtcmr3AWRUtad399qrIyS4avpbb4mxBmYrAc5QhmHZ4+fkNLz3H3Fj+ep0uhuxNOdaG8cUw4LOxMYn4v8oXHImmgwQFw4gnLXFKqeTdlKucbWtRib7VCV6ZfazeQ5Z6hXOZXtvN6jXI69SOBkzQwAftlSvJzA67S2t9dCNs92g+IOyxR5FVdhC/x+1lAYwX7X55/kWOe8nNJZSyJnuaQtyBCaJUTm9NLmr84uPBuGvOh+j+3M+DF63Y9JmPy3qUsiG1WnvVyeP/fsch2LzpHLPCyEM/YA0wbJUjSV9ds/yaoA9kYYHjD6otOdU+PTCyt2991PuH5X643jvbS9OzqoF/8sH2Tb1/qhohfDD8aKC+E9oh4fkEqVty1sa95NcVvw3Iy+QtwayopfK0rqQt2Vunt3nJEMaRApp3K0+b00IeVD5nbNOO5wUzZyGYWqd1H4cyV6DsfNFrL1c1o7rh5CItfhDeb8GMtsc5Y9QUERD2repCsh6ZuMmiT9THVNNPDLkWdN73iiY3VZOBhnekkacbzauNl51nklY+hOukT/3Ezy03NmubUUew5s6Ct1TlRgBCUNxXaVQ5dZu02ZvzlRxRHzi2iwJFqdRiriI8Qf3NpkqpUJHGVErbKP0srkYYT2yrcskuZpmAyrP3TMQl9yRWZnG1eq6sUvtiwTDoSnmYKcz7AmvoxbIW5/2IQj1Avf9OlBIpAbbMkF1o9n8Q7tvp3kNdMf7sKkIZY7JvzN81Glt6SrzDtMgzCUUZeoj1dJhzoNPHEhEiqvVF2cuncHw2cBH//FQrJqO0BvfIg+Jr/cSGU6hGu39YDzFpamT9SScQhDTEYJPOB8onsHlh/QGetVf1vsfgUAhN5G8f5sSxF1KlW2S+qptE6JFa50/cB8ee4/e+y1XciMO+SnnWfRVM9rDhICQBngHHo3tW7q2O7V37HDXcogzgJ9FzAa8fl3CaXDNjVxe8v/fk/djcZ+oLOrozVpMPGsddjhPHGkMtfBh0rSVX98Wcda8F3adnrjt2b9ce+P8+kcKHFFzMZYLbWbZYmeVJEswmnKMPVeXJbOa2Tb8+YFAB95LdfbiV7cvrYcjjJRy61yTV19IKfsiwzZX+kUabKV9Qaipo9HkrEHd2F/9SHc1fZv06bWZotMPvdHVvPIcHUVP/Tl3s6dCUKKLkoTNK0xU7OOyUJK87DtWhtX3pe5TKtkse+QMPylRLqaYe4jyeLDMvgbMtmsaTetxxaIfiprDcKerh21d23yqc1OfraV5bMWPmPscsCB8UgDmKzIXvPyQ17T+hQyuOIZUztjITfi/SuiaZWxlCah2MzMZZ4SgcKFRs4sUT+2hbMiBzYDQNfl0CTPbVsrd8g+V13tmIzXLR2XGfVMt1jE1Nt0egOJ0ex1YIqNuhhBKhtO/pdFTO5cjohdx9Z8mPyCbJObluOc0Zh7WFxkxNR0mSj+8fbxAauxi/rd4EcFLRpf1LQLsgXF39lv4Cy/Ei8X13iJ9Hf7mAZDROzTU5ILPpyO2+cShJ7+kvnUJ9lpOtXgCN3Q4lP0MV+IyeemZzH85zXvDyu/Y0l9vOBY5a6pn1MmkjzTTw3i+J+NZIQxHv6o06DWeyMTgeK9bfg48A6vnGkEuApyiaz8OgBDwUlieAMQPX+0AFYSsJYB6n2ajxbNemiQ4WfoA9IEeTbdPffYT+laZQbDLedZFbeU46Ovaxk5uxs/+lDwFmTjzmQtzZ1yeIAGIdSJ4pZAJ89yflYDW+hrJdqFGKlyUPulyimt7U16VOC8SjKTux3gXh9UxRyTRHcTm4Dr/KJXF/Rb+MSB816rJrTdEHta3GqmpGZl4tMnF/fK5WpWxQnkwYDVVv+UnrzFjky4ZTtudkD2S42mAsayfzeVNSZ29HglWalxORTZ3UWf8XMSo+Q1wn1ToP0ETgDc++5l0yIJ48GiSR1WVKKzlLyodn1dRmUIthYNgVvet/va7wRLwwedJqKtAtpcjvFvBV3Hh+Jxl4ipXfyUj/uIzPzbs7aCJaKvuqLm4/rY9A7sfIo4uzlzJVDzF8JcgXd9JLz2NIFDQc09iMQZObMXB0EwV0IehOrhtlkAU+hQx2ET3RaYsZdjnFt+MvWvv5KgbE2zXKoeWgtZ73Dc12iaJ/x7U+4ocB8kzGo5Qn0fmjGW2WeMeUtsqMXAkSHJML0fPJnPR4e6EhXSFPQbiZMQOQoQ9jbyPTPxntDy1wgnhd1vL+u+klQVMzGkB1wKLnR3OX2I38vKy0drcTgHEQFLzpKVdETyRdUVuH7wCoP92xqjszmQWgy3AHoku3rx/+HycueLUHenK9gqlahB0jM16VO6rzSD8foT10ZqwmZ4En7ldt0WpGjcRqxhh3zTKAh0bzORgMj4tC83nA9IH20af9CsPyy/DUnZz4d21W/SaIAjYJQRRUKymXjAcNMRdrrwnIyUhXtLVyoXWqdnv9anyQajXxg3uFv3VwXCUp/Jr+ASFLXpXrmiu3sDiySp2rXlYJ6Fq+IC6IvCHO8xp5eLRC5Vp5vq1jiw8csA0aAN0AQhTd3LvZIBqv7BS52iIPlDMxoonykRV/o1fv+bT8XK2ztijXFNUaEJuukdnLterk30ESoutXf4Hl17JjGMuNXlr7m0EtOt3Ey1CWmjg8L8KhYjNp3Xff/lO3keboJybAAgjx77lNbfFaD2WVxdpsbZUzPeNzixCgAhYh4lowCiBEl974cFPvRkFv7DgwCiDEHb25bxzixmt7QT6i7093vtm3ktP5Nn/1Mdr/I+kQOmzdFRUy+ew1iTWXbKbN+ETS9rLGoXP/79xD6AOeAEKsBhBiGOsX77GicUov+O37fPw5e/Bk9GTQ/Os++wngCmL4w6hyW7eRybvbScnNTffGHtWGvBiNB+rNH0I9r+57v7KP+/eJtjJYPNYPaAzgFeN/k3D/HDrxvsAsEuVfeZNsjrShyYWm4Tq455Tj7ZB9aQ6xx/85rjOw5XCJ1g4Ed2AI8YaRjX4lq044n20uQtDXnV7Qa204tUJVtvZYAmqfUVKwdD3uZp5oXtyNpdgCzhhdX1ae5R4ylWXZvgEnuTtnenKgn8mqsy1/6TMnHl6oV7ID2Uave4Si4htYBOkDY5NhNzNK8p6Mi8fOD7OY5YH1ZFgshs2DQv2fyb00PmT9861eGW4V2wBmmMruXkdASVaXrkXGXzDx5bLwfmRJ7ADJVIVJPprW/Lqa++/d0ZL89So0yEXkPbjSdE4+fSxSqWSytBhTnSTdG5eSku87b66k2Gm7lDxxNzh/+gtZq4FujHtwkFqZxN8ZxRNLXa6bD0E7V4gcadqphyHgEKAtlwCIpWv9AeMeA2wh4LTEj8rvj21WVXVmG6uHqjbH7peXI22kgUOR74x5Xu/9Lueg0ud4T/BedWlgn8u4eRjGvG0TdLLoYvmUqn7SBnbK7YWdkDM4XR2ya9DmV9yODtBd3VE/9vIWqrBedA5y7IjWNtakfzjxyLVuEEA4bdSKx8/3Ql/Crnz3cm9VdFfFBGfSkhaopCjgbKomIrq88mwWJoDRpGrW/wH6L5NFAjAVwFx8cvwj43MB/f9+peFBXfxWSf+zaHmrg626CxC6QjugAVlZohYcODQBXAhVL43TKNrdrZxkutW4JVQokHUpRUr+dlaqOD4mm4QqZ/0dm6hPa9WmJ2fWdryfvbU3yOgiwhTjWuIBLOL6kOq0wHaMCyDMSm2oBqNHpNbNF4WvUqWao1YnCtpbUDUrDJH+6mU0umG9V6inYRPkwgkvCrPWqcJU5Nrj2OqqBZRBemOcR6yOzrL0zdEU2nsWqnyKYkGMGq4vWa9pBQMFG+PVgpg1ihQ16sNkXrayXQii24TMAQiT2w1T4veq0L0m4kaPUA9hHYXBL/UL9xFWwV+Ipv2CjLUWWQry3eM8XP58YsxjrOwJS/ipmhyrsiRKmmVomSHK6N3AD/n11Pgh0p4lA2zk6PWZnqu9YKcIYd54kidWEq/QWII7RTDu7V2NwFmv/blHRnuixtCT6u5NH4deRSjHVKP9MxnRrVfe6EpNYh1ID7gLBJSKtLyJ94Enp89nXJRqzmu2p6omL4TmZF6QaSZvpExcCMuuU5sLI/fIzQXX06jg6h7Z/TcO951ol5MlXRU5t/sAC0CYby7CMs49JQ1ujTCGcP97HEUYKQsAFH0+G3jI51MfXR8cWlC/htNHQlksKJxFg8Lj4uCRcSzgJsunH+wA5lhGkrwjJPLsdMiM5uTmI8E3BjgEzuqtL4Ey6bDhMDoDsH2nonF75DWfabKfprSntvyyAlRGxQsmZ+kRM1QVX8ULZnv6ykph4S26ynEhZ3EkECE4UAgTJsvpUdSETJvEn4Vv6VKocnXX2V+DvzxVsSAIQSG+Pfhzvhfnv1NAKNhFgelxz4mSeyb2BhlDuJykfLWuebDWB1hEKAvTN5pFqOnrriCpDetUkeb0jW+/Ex0vVvr4GeRlQdYyg7+PsgKce7UeXyiOWm2Wag5fG8nPVPeIghk2oRNhVRYMqVC9+Q2bH1hvwzoaXb3cL8KoWQF4vua1XpUf/09WqglVpbcLlYaLhVEfGkvM6iy1pQVNsAr345cwKMJ6z7+tiRvgd73PKPdPbsgYz4uPyYkMQeXX3A1Ujswoutj5f5pezXFNdjCvRr8GlCN6f1Yam1usvbijklSeKgq2PYyBUR6qlsFIYmviN1vgtn780nXN5BYcsmglQI6G2mgQ4UzHapkGuUp8plU5TAOqdsfnVleHNkemU0I0MrDQezm8ZBlvoExtay9uBP9DdLCW+yeGmtKTDMqU2uHSoFmnrmaYGqNLDvwRmheUPImwfA3b8/pBxGzxyxFgO6NzGs29e+4v633pZcLpcv+9WTZ7sozPO89IO80VhtkbbeyNJWIgyOr1+fDj95WazidYDFUYvtVqm0+TPI59BXyF1TFsTgUJOv4yFXkAy9t8iAP+NGJGzOjR5VhCuo59iJZx7WmE9Ws4YOG9PjNuO4j3/Cy0Dbg8aa7Etv4u3Ry75XhBRkjYoeOwgxYlBVFgnFap3nPMm253WL1bq4oL9BL5WYTFYYcgueACcSsrZN13vhC/O9PJSNBJZkwQ6tCyqINwT4W5ezOicA/xyLKwOirmJBOUczkZ/PQBHPaXrQRAkCiul125rP7yNZBw7jZUM6zVLcCQQ8dgXjeo1Ltv2KNVYgWEGpYb8n3bgvrBDy6L/WCHl0W+Cy7/HhGdiaXxPGFeLoqKzPGsqqrWDGIGNpbrCfd2kVdmjGdWWdpAC+JkR+rl7dydKrXBv721jdR2creXnOKePlYQx3yBZP6hspV/Pj07em9IeXj0TiOqiXC6lMp1dowQpCrNheTCFzYt+HLt6ZXsOtAiZs9mjWdJcHY3Eoj3o2HM1QYZ5x8qO3N0dffpAkZR6g5tWzmKlTaPI6PC94STkbjCa+DQdVSeTuJWeWrinSAPlRWyg1PYVSKFuz3sWOIfO7S41h3kRySoE2FmzgB4Rh5DezehvbFd0pM2SQNEa9Iy3/9Ije5vGc8X3v14S+J3J2dyOoWUNnG+kKz9/0YLgNgqeX5HTOCRnvUe7UsCN8fnP4B+MBiTE0+3S9N0jIl2fCb4U95ESB/7QOcpQAC87Fbcz1AVa/EvJD+9Ai2h6rQTq6MwNLmvQfTEoArLTy+wSSzwEjqxdj+pf8vbpVitOKsrDBwlwDW4SnH3ttLEZykgOlb4Ox4bp3A/wWg8acRJgKbMIIDOQCLp9EK0I5AMhvKq6d4WH844sbU7MJxVnC2MXVVmjAnApBnQ9ufOSpyz+Nf4lB6H4QNffEuLo3l0UHv8eoG1789yw9/E5YGrc0mLjjb4TIMqrUtf0FYzA/Vg9AoVxktG5Q918IaoH6ZyTKpBla/Y5nwRpObGk+l4is7UOtPMR62fzcXgJjr42nHjYAHujY0CB2NxQcEYXDAYE/W+crBbEZD/uzUSELj3SdBjnP3HP9123HhXQwCumzjYVtbR0wR0Mtj0NwGfiWMv7b0EWGz8NZ/5B860UfMv2Et56PJPK3OwXAhe5M7DyspDMqXyj+KZ/6cShEKuPEyKX7+ZnHTnuPW8Kfxr4Ta8EJfJK3EhW+YmToenRBM4ieh4O+LGt5kcp12v6mIVMQodwCIfVlUdGlT9oYhE/lM598lk4SouibwSH3ftd8e7hV/TTzkEYPPVg5ysz/ijPm183k8An7qfIQJyzwNi0s+5+TO29DOBKNHne4gE3cB+UsZ+5rh4ymKiavndxHH4zdPEbyOcWemwwMdqIrDjMOAXpCRlDIkxtmmq1YoE9JyCbtWZEWv0HAQ8tGrj9bJRE29u3sdQqbItVTYlRwd0qbWCet7dTcHs5pmB/e5Ogtir9aQp1hZ3vM+bAJPwA5VT6VhM9hqWhNB7oRP5pzhbQr9iZTW8UxpYGd4xxdVdH1dyQjhydeZgJW9JtdNWbkm5S+FqI3SVBw4QQhorq4JIYyUEAfHl/SNAlverANWO9MNIeiWLFZzxU6aCvXK2uDUAHQ2ftk8NtAAAHdYQ3DF/q80Cu7ppKavBNd4phHOlMsiYSt0VvWj7YKActAQUrwd+8KLJgB3loCWguDNMDXRGY5XGYLFIGwQDOQcV/GitlrLIpflbHMqGBATUgsoShkEw0AZF4NAQEmAEFFnykJgFal/EytAMEmIEFHlStMAzWuIUrXJQyZNkA+MAcPAs4YGUOSYs1BJP1xsH763lVNUIVd6Pxo8NeHgoViqbqtTqLttjKrDl/RiIvfhfdIk5+xwioYsILyVGEfx84fN4SEVPuDwbBP0rQB4GG/wogErudHAo2AA2E5u7zGz1hKBkQCUdrvlJ9UGfKqgJb0mNcGmplTmtBcT751bU1YqHbVoHIFK0M2POADZzCAfRWlCKmpNnZGsEzfqk3JGc+U1ZH3nAG4ACAS/C4ZuualDrLy8L9baw7jU11hp45vY/9inK5MfeT+UJcAeo0IcCCdK6hkcJnkVOC82DLZ1xidBhQNH/RmyROgHAjT0a5k1tMm75BvI+SPIW/+PwlqEDKzjXggJhvJIXOT8cuIi5ZfUhLVAmUsSUjFJYQmC0movrJAEzrsw/fbIgcNtfeJLavTt6wI/KoybWucz10afzAny5o8AixIuTE3+D1/hpOwjYNl/+FkZbArtnA3x5+zqwT6qI3ft6vlKWsZqJj8FQlouZkWnmZh29gmXZAa7sDLDlyFQR35+UEkCCHbDWQHE8C1NsGZAHIHyTMgFUWkyibbiEURLeYmxxgV0A6jNJJDVgpDYYyeB4gUFgnJLDoKD1YGth67tWZuvVVp9A46BXhcioacQsO+bR2xyyFEti2lKmAknp96t3Ws8nkrmuHEoDiTVJFj4K2uo7Xg+sCfwqCpynViCUZwSt04e/W+OaAMD+htGYGwmbl6GRcCYKK7AJjlIo2MJxyGmj4GffSIwPK6LQK9bJBrum6mKGQ40FQp0IwNUBTQ/HvT26AgjMAtuFMQ49lPPKUDgQITZqCwyMRnnvmhQ5g7T4+7wRAAkETi7XUjIpMYoNpO5Lc+BK2sK8o0vFuAKXjwQ9mxKzhEOXjcg+L29IuncpH4pCUtwKTy+tUmsrmWLspUoAYN1iZMiEunDhGDHBhS2mk4fYwq+OoVdcsPmkJjUZDwmMQBDTSOjFotOAcQH/xXNSzJpoqDmdGvYdr+x4NtSlv7RdPRaAEJ3pKNOa0QdFtFIaqAUQ4uH5F+NU0euqbskp2zTnMgZKNE42tOCv83XJzHRWgkTchl53ZW8H9YqQR/fYbf29wBhvZZopS+ucVpBp+pv0KTYhWeWgSdYkdQGzAE28PL+pLU7zkexgkSZbW9XJkmIKzfLL7uVlKBTbvIyWvgKFAEKc6HhDyfB55rmXcekXSofkHDLCSeKfwGnq9VAltalZIhHLdZfZd/wOewjDA7+OE2j/2WUHyAEIcRDVUeZ6/Mvsx64SuGKUQYN2muI7WBwm6rs07UPP/xYKzMe59vy792Fl9DhqSn/w4xxkCyJ6BTs5/7sApACEqMTQytw0+W4S5GIwaYBU8iRCGhzdQIrVqhLpQYH1mhPJnvlq3lkHYnjF83nbOed/JVmbWCjPUZvj2TqROEVj2xBTlxtYy4sd0DQsAQixbA5GUN5JTZl79GFLKpI7OxwCrE8EjSGRESqzhJsTL0lNtjiGeG6U1udWSu7IFv1fmLmEIc+AqLdl3pP1a0+waMjUqZ0w1IWlgAj48MGwetuAttU3qzfSmurvjj+qCn8xkUSQkVfIAMb8G6jf556o1jgNjHPiJ3/cIrs4mI89Q9lfdEn2GU9d4OkuIDudPk7av5d2GGoPjImOcpDBQG2qrteotj92GHlZ8+gfwAQfXuU7h24IPDrfp86rFg9h4ik8BnWOJyO3VXsCVir+wn832W3E8ukKsQczy0biT0HEsuyMiHGDmyv3BOgGuNc4+apiQQCdA2ev5+446ENq1B9hy7mTszsEPSvuw3cq3a/bo5OhkZFkck5fXiC8PBv/4NT3/GtlO1zsvFtxrcDObRe270pajCry2/bJveKM8CWSpWLZiHRgbJ7dOKLesd49I5LOgMFocRLExsFVkg6MDqKtwx3nk5NP2kh1vBvKs/y8CeE2L1RmntWOZFn8wuhoozHhp7X3D/L1dQ0huLQdBnlAGTyhe9QT+UptzNM0TU8QFBXCs3Z894kehzCO/vcSC0FRodk5qWyvtb1NwlVD6bBdfxs+CU2/aUkjgCei+w0jC/1KdiLX4m13i7nE7gwlJhxywhl+oy2SoFCmj+WVR9nAh9Czgs3DuVxzX3O3CIf6rhYTasuAOOxnlf9AqtgdT1oUnqGWqUna4niNRe9cVlNaEci+M8PRk1xYjZ8bXd9/+3af6fvJC43k2d2nm6LEwEvjV4FIxG84D39vKztQfesboKa9bu/pPssX6NwJow1itysjuWVW5dmHx/V/c/0JafkzHXCajxCKLHnIfTmWwny7EXL5/eiEyxgYOuzyRnTpojkAIQoAhAhm+Q/nwNEpuJ/8iryCtmK3u5dupiW+LGuBVP5Wof/PRALqcW2QHBkth4Px6DDINvl8Ry/gnI3xkkZ1A3M8spaDrk1Mya/N2dBziIGGuR3G/EyNGD4VFx7mzaPCtSdxrsa4nzHRN6Zigd6/QnsN25OPnF5CA16qxqqVRA8X2DOCGE6fWRL0D8S88KdRWV6q69/6/obeTACsEewyBrFNuk1OarN4CIJYTpkVcK8YKlfC3csgSZHBGIRrXsBhLUZFANFBhalSCLGBzMypazhX7nykqIUUU93x5bE1ZOXsW1HMUXuoEc+Q3OsTH4q4f0WdhHWllCOCsxsyE7JGZoSIXjspQToiVewNaC+YOGTD0am4pPZ5svVpeiJUmI0PxaMhZ0755Tl7v/r+MwqNHlaChFsuVJ7dfTlqpjk0YdacHrUvQK02FkxBtTkDPHnuXGHYewLKf22O57e35NYs9QkzqhdQ6Po1mlB3/TqYgf8xmRf6plmrJfCX7hyttJh3imrjPwkgzLxOmCy3QoHoSim60aPUkzefmFxwhaHUlzcndw2z/3WP2lugBzdczop5hZckXP1mPMugPisK5Nj0lwDIXXY3VFnQr0T15BHHSUIkwjg6D8+iCFMIrP/h7IruF4EtRMT5gpB3JC1K4JseVIrIzPBl27z/ze5siTv7NNkeDWnWHxe2QfEkip4hqLyoRhzRlVx4q1upO28xObXwKkOpN38BmNtSMosQ78mKZP2P8fmkMBr+eJTtvi4AYSYXQ0ViOHS7jgD0ypDLEHYFhSTMj7mNkeens4oRa3qk/7JlR5I9Lp/vJ/FK/OlH5XdHUg4Co41KGz/fYxnJx9kzmr7Kz1il/hz0kp6N2pFf1g5KpGwoBxaVAIcQoiARB73zU+gOgB+i+h4q/ecGbsKf327kFOp6NJ6s12JGRtmr8Vm8E7nwYTqQ+0v3J9env1t/Ek/oqCZOtZxsy5qorBSvjf5cccx9kCDXBNM0KVQ1jH6yEDxikRLjJSUCygnvio5/7COP8MMV/rPtkl8KmZe+IA9ssgSb2plgGEDuvmrkyJh9SerfHLk2SwEeZNYOY4UFNthFq0VA0fP7gVd8nnWh32+gsOfJwM6P49AmsCOYY1mqBSU0csdwvTj5uUefZ2J9WPPoy1tH4kx1ose7x1Lr0XS3Cm+KqE+s//OtS6mZiHZMXviSU31hmbWOltT7AXovz6097bshC0E2rbmtH/Mm0dchYJ7mn9ye+hadhgWBCqs1NckN5jT+rtdT+tX8KbucBHE9/qHuyCdAWRmPvjvZ8ma87fUkfKiV9dc4m8yJOoMa7lr72j4W+coIVUAWkE4TXHMEuRXG0E1zJFwLjqfWwLk+xCyInecR4A6ms5QK/gh3dHHlxI0FhwHjV1p/wR4CTJ3Zxo2v6ljomevtTBFk8RPzOjFJx64lHpjcO+sPWAi21Z1UYZl5TL35POn/9PVoGzGZm96cW+LKsq0K+HwGteEjAaIzVErOKPvc3Ao7xxfntO59NhMKpdE/kYcdOWRwg1A25VhfReQUtaTO7nqCSA9y/VFs9Z332Y3ceBiLqyV27Y7zr9RPdNCTwBvR2irALrUl+WWg/lp5vUiV3PliKjnW3PbnKd56r7e5mIN4oAnPlN8fEB8Kv3tFnYw7SSqHB+bUZYly+xZ46wyF+rHdoR2xsZcuiU01xViQMul6GZyC194vTF2jirTgo7pPrbYQ7gJXJbgYG0Z8EQlyRbe+TPllvVLH/yYF/x1f1YFtWuznH2xaxZaSVgf5+0mLwPPYcc0YP5hl5nlKwiKJbEbUdixBwPEle+BccYm4zeRwOYUcTgndbCWIoWXoaswCTNH1F28Xmxfai2F24SoKNRzvYyv9LMPJQxUs69VuaRANgEpjHXdmKEQr6ULicEl5QZF+ULFYZ/A75FKA86wH/BHlW+lJn1ZL83n4VedYFzwj5ZS2rAzI9ePGK6YrGuIz2KLvw/M//SX23YmavL4XC47gfbMrNbtEcoAmIUzk93/fCoe1w/2mE+8fEof8oc4xi06A0AhgLnPhMGXWoPgn8emfLdVuUUjF8fhPlMv9VcuYk+N6GjbA9qsrjjlK0zbfZO1PBVmEUMLPw9BT3oUOnmuL9cDf8F7AaV2jLQ8GbkaLknnyvO6iGHid9qhM15XId+GHqodMFRdQnruGn8FU4moSgH+s0mhyXHlUEAlFxdkTUf/bfPyy/wxp8Asie4U2Zvq6MJPzPXDnmDLS5Z3VDunO9pzL86EG76QAJOz7Z36cX5b57bh5W7j7gkYI9AavTn8bsuN6vaDrVUFwKu8frbOBoUjjV8L+Un6TMENRxAuhBZzB8N4LE6T8ZmGmpBDg7TNgI/sAaNg3jd7MDpldj5GPWDGaoGDZ95yJZHa0eQP/TL3YMDiDgUAyGXAYkw2cbv1p4E6LiIijhUfGUXNptPQ7QgDCV5qDxetIZHyuKvRwkEsmEce9DmX2xIyrSwLQvAlO9oWPOfsvSLPqAMr3/bPERYJSFwTnOXmHAcjlHUnRK3ZcNZuZVCiMSUNEMdl4H1ehBWCLiK3BgWBqNo4tCMNFBIXAYPx+F/IphS8yy760OuUq9AhSFxbFJreWAS2zT6rf5vTROYa5P10fmZyLf3f6i5TAsKHLnQB8QhCocNtKg4D4+THUoz4WvhhHsL6hKFbTWg4gWtAR7Sj7gsedIzWpx1l5s2GRwvhogrYU6gdIb0q9fmgCgHG8lFOKNOPquOO29FCGf85/1byI4LxaHrkd95OOusRJvXFp+92bW/KeUT/mvnh0OoyQBTVqJijyOUHR7kurTsJQafDm806SmKR3jAk7W1DG6cXQwn6VwtgeEaQUZYhlZToA2hrd7Ms+K93VrBegSJdIJc7f3YyN4JytxHM5r+I5r+fijEW2+uQKZ1fYfc7ZMJB7tZ0W1yTa2aLnLZXPyeTM3S06IUu+sy3spVAvn9eqJ44ck7tzGsViZTL7DNX3741ouDG5yyKSpgK51wbZgrOyXU16gZoMtUYagt2N2MjwYQ74TgSeQaXBApi6CNh+d5PzYVZaabpYVmkCP5YafmP7ublqV/cetnL4Z7of4ax45XwF+pXg6/vfRxTK+XS7dNn8dFSKsjI6EGNLHf6b3AJTJNTTX3v09/cff7SnwFFpBKuUuurETEtlslVaVSUbb1jFBhZ4wrce3je/0fo43/S1mybtATddO/T9wxFLD2J04kB2c+rFMYt5tpX7N9sOJKy0mjRPIDi6LUAVYipOeRP9sW5A1SdpTfXpjqbwwJATO01fzOnZUKmpPcZvIhPuK/QT/iwE3BApfmwdrV+5uXpXQEF0yPi49nfdo9yVHekW9cFWxQ72ccFpAEuI6WLFZYIXa8AYIrWTlacM8Sl8eX7PFfBVgiMdpHlVIzhW1ZddAsphol92lGg1EmAiWNdhSbDLHK8pL49CKv/xF4JxBGiMXRErLDVHvMBjUEUoo8szg2iC++wAraleuLHuzEVCPgVoiDwvlyxkHsuUzKf+9ww9Nu8uIL6r+/ci7UFtMn+X9R8hQGLXzpsfoyxbc/sTOy66jkzQwOfRikBFJAzEDrLRRyDDwln4Y9G9cFD2XF560UBTti0ZV8rl//IJ+job+AzULRXKZQ+FqbZTbKiYsG3Ykoz6RCIdHrFNNwoOK/bOGg6VS1rKyS+nVafaUJjqWOcdAfZiPc8me74FoEZVtr682WFi4gws/ZIkXbaV2fcBhDbJ//rxphpMWgfbSW+R+Vz5gV3+M97TyT3m9FSDiWOFwSVyYZaEbagqsNmu7U+d1zWbVQhugm2EY3dbQs67r57Sxm19+V5G6krLhtIXfKsg8nSxw7OK/+D5FXvsl5PefE9j7ErrxqOf0ZUiR2a5x5Sxf9DpTjmo4gX9oCROYIccVPYvtyv2UeVuAsRSplimUzKsUtPdbPPxBSe8SlMIv+trPKuSX6cAuXa/MHOVLE3OWH1ErareyrUoaHHyYebRBJb+CbomvWu8yreUGsio5viRDZp28PAzyd2PC7bDJLfuIbp2S9ZKhj0GPYi8V43pHg8HNtNlv22iVN8qMSyscfDiF7MkhB/HvvR86wrM53oJ1/II8y5Ww3Wz+aw5GOUUfn0CnnJlBbqiY7m3HNTOMGAod7NqpWyde5Zq9koYSjsS6UVQlsKCM0DEtMK8xIyQ25qlzsjQuKdc3efgeHfCYT8YNdZb1gfVqyXXxIVLTvC840+EJj+1aUhsA9jED+/PfLy/F/4BdvXd873VQj55PGlOu8PTHGoOUT0BIfDkRNPvKVdviGamX2mDrwu/uyBVNGPJKZOcXKt9+z4x6Qrv0SwsWkdxpqD1TUAmZS/G9K4O/g/P9+NJiW/fXcCxgBL9d/Er51gIKBdYqqFQDRoDVasCRnMQDBqqSQDX+JbujQHPDP4nMgxzfny4vRIbFt80VnAJnSA0vhkBsCyYOhz8iPd1DvN3IZAT1zXgBR6OUq/xq8cVoEIwVUnnK/tIeKpRlCiYfPnhzuSpiaTlzkuA0Wg2qPvfAIBa14GXd8xRbjoeg42lH10/leRp6oqL59cOuSY7Z35f7UNumryiiMFDYATcge+cS/0LurLVxYPeP0lH/VjtTWue844n4yCRGPzB71x44n+NLRhK9yLHEw8xk3EYHI12ZP1UsqepPV7Aqu5yBvjS7fGyH65HAmK4A61erCaBkNWogmt1XsYV1t0mStq3hEjIFJG4dfIp5OGXFUCjrnbBwmArMzIMIDQAyCD/rZMvm5xTv0LWYaqG0l3FAflRpAN+PHWKVfw2/rOVoBLBMZb4xB574FMjnBkwd3Q+QGf/iBM5TQtLjYgNFjFFXwxZN5mANy/KZFTIS3UpxDliSqlepjQZbJq+NIW8Qk4xlMqVBoNSdtBIjZ6LTn3wwsoVBqNSbihJoaxQUvQlshK/MzoEQshzZbcAqIGAh+xS8gnw8XsO3X5xdLL57yVTn9PPtQ4Szvy3IRsf8p1Q+y5dwKuYCL/8ZdC7RMr2hLsbCB946P0NHZTnr1s8IfR0ZUJ8qeBw3Cw0MyV1fybvOeXzR/GIEpD7JSmj8GloWuD4nFS204ZsGF+Wb/Hj6e/pyEjyPaK/ywtob/nU5yPuWe/zzaNAX/W4LHnpACs+U4GHl947QfaNawOvn3v1q+Qp4DEsZj7cE998uLUMxmc7bsyGHY5k/XhUIdnUvfPAnk8FR4HtX/iB42UKB3j8UcnCDkd/sGMItomgQZ9bvzasGZMAqjXeA1T6gHgj1hGaHwGgCgUG2NFXXDnA0C9GggMnHAHU7yWzmOWw+eN376Rk5BRUvfTegxXF/bCxE5NgIgcYCJJl/tnJrC7AnFVc+o6BXbFhzfZva62JzPyc2SWAzGnKNzIoVStXDpPZZszOJiWjoqAMxrgffJg2rcl/VtUZVXPUBZizisuLvZm18p34GQDOmwj5jvBqWdo6sVsA5yckmQxSMgqqYNjd4BeSurPG/NwPv6Tkc9i4hTzO8th2q3yBXXwRLlHcxYVU5B6AudvVpS5uU7IirnmJlDLWqZlMFZLoTJCSkVNQ8bhjDIT3bSx3/8CwyAwsmLOKS9/djf2hoKuvC/By2YyZChk7OFdvcnYO3vHgZWHFFvk8ZcKg2hVU2UA4sy8D1Bo8nUj0R8OVDpJRpWRUmaWoRmKTpGRUFEx5BLehQfVQK8hXVy4XzZgdu5bhP5L7WSL1Bx/BQvpfKZqFmNnHkpRMlescSgekZGPKzqShzqRy17uXfYJStZu53poAMq6OR0KZATkFVS998AOUNWokMREkK/0D1xlOC4ydyJxVXPruPrCVbjN2VF2LZsuGxA601sSxGShvE03KrqRULXgzZqOkZFQUlMM0deKRgVnNZbcYO5F5s2Jjcel7M2N/wD7gMispFy9s/4cgjfJbICWj6KkHHO93nfeNEp5EjqA8ynQiuT9D4tw6sQoIdwV5Y+hHqS/XDfgfDsDcfzFzTwudqglyUspYpyCiL73L8QlAkJKRU1DxGAz7OxrHUK9Jm70WBnrpHep9L5sA0PmF88DU+av+UsLbaZBGxryCbWfaa0H9gxT+M2ZC9SUlDAnFFBIMCfIlpWRCA/JyRuc08X9MgiFm5wGQklFRMOWR/E2yQq80eL4hWV2QPXVBMrpwtZlIWDjYsJ4mB1+Gvws9AQhSMlUedSgrICWjCtK46p+z/xm7EMo95l72C0rRR5VbgK/av2AO2KULxjf4t31ulSWKP/s64h/mKkG1Jpo6d3gUbDocip88R2/1AH6Ctj8tl2SQa6JnoLuw+iugdDkWAbc2FF8+LQ/Aib38X334cSs7crL6492Zlez8ati/4+qn058ubvn2d2vNmYeP/QPo9lINAEM0oNzo87kWnSRDHsdfSD79zfYzTeYVeHq0cRR6hay+YXYA4joFB7uCV1vyu/QGaC15TbtNCKgWyTByFwDQrk1H7rdeSmzkDEMuJYSFZgoKriZ+NjOvB1NcEwKGhxsVHORtD0MSIPbXBM+b/yWYH7yq8T5EjKPgkgEjIzHJ9kyhde0FiJv0y4yuZuWPHKWHoZYGMOo2BcRZk6c9lPhgpPGMZnGOEOA1wOcv9SB4Vcs3YjybMPDaPKSrcq9p6TJ6pu0ZmWQ1JdSjTDYBsSHR9NBdFAh0r2NvBTfrgolHPqDdE4EeClNPBruCVxvyrZFahhC4sQyKdm06UmC9FCc/gsNqqYXRR3LYl1HNkYhabjDMBXKZzzL1wQLEjXWex6ODPeRoBHONEMiGZtFNS4h7r3Bo1cNRMpKsI4P5LVfbrQ0Jg9S6SAbwQwLdPEqzOUJRyxmGObFurKCyTX3YAuKJ1INIPvzFZY/aAGukZVQwsFGbRrqAJla/sEjw5GOT52gfpQNanLLiGRxJhHthehhca4SZ5Vqh4eGRds37GVUwQ4YDFCvb1ThfvDhVFcGRxHAzsyieErv4FoYqEIqEF+yY66UjGy34rFRFg1cYYW4UW4MZ+tFoo3k/aqxChlMUy7pm7QBG550OCSqMWrzmKT+0AbFNayMrVdDwbf+/GXR3jkLLcOcb5oZKA6ISko8/PWSuZhlNvyXihycXAmIZ43CzozB5GQF3ia34/YMwVEe2HM1KFRrw1kgIRkYs86GeAY84BRH8nQJjLSHCHC1TXqJgkbh7WW8F9UhEwUNAXBoegktywIin1tBJ2dCU3IxA/Pma2yk9tDd99quL0bd60ILPJioESjfT0I4aYUZjU3SmGSh+S/DGJQQLtVtGWL9K5B2wA8TjxuG7mXj45S31+KMeILzWn+WmcDJAH2HD/2lhwCuTIXf9bgDPPSo89getREIqFRMMxq3Ch/4vapSS9Fb8xF+6WdQ2RBMTDJECpdFtNGVe2bqyqRjz+wx3ijj+pyzFfP/IZqQTWkpfTpcqNHZMHga6WXZTSA2c5BjzNTEbr/JlYcX3TXErkP0m+IAAjBagm4kHAHoNAADP7JC65n+b0VnuMbvJt4qHXCUMJUeq9r7ROGdTq/ESs9Z2WtNoa5tWzLbH2n/u8N+B3CnZdWBXJXZVF2fnatemZ7HXfm/Kvn37enlF9iv3z/C52w/zHRoHOszwfzGhChyZ1gpxCq2bpx8EH9QdfCNy5vAm0WbRn9YhR0bE3sDdj+YenYFvIZLFZY+vSHicWMXflFqT9nT9RWZeNsDDTi7Kc17e6NQnChHe7j5E3z2+et+nSmSlA+Xbp2+qDKkagWgB8oB3l9cFPlCPCHqugdUQBddontDEh5RqftoqAWaC67R2tA1C2aG9Ojxnrunq6KaEBYbd0lPro/QjwrPD69F3wZCBYoQq4r4hxjA5styww3DWcMRIwwgEZUILjBhGz425YXCYEGaCdcGuGO+bABNxeFKEcBO8C37FZN8UmIoj9P8KTEAUIc4hXpj+NpNCEpGpyHrkPPIrcxjKC0VDGVA9qOvmBxZcaH80DW1AD6EfWnyy5MOEYrgYE2YE89zyj5UUloTNxvZjH1sdWl/AxeEKcFO4b2y4oyKiVFEtUbdtXtuexvvhY/FZ+Db8Cv5LO26CPyGWUEgYINy2O7QXjY6MTo6ui74U/buDCBFDNBLPEZ85cpMiSWJSF+mh45GTI9lMvul8goKgKCnVlM+df7rwxPjG4GLEMaaY9piFmOcuv1z5YkPhxxA1nTYV9/7/mvGUoXPoNfRbnkdelxkKJoSpZQ4zv/E5zyKziljLrFXfC2wxu5X9+AqUE87J5t7xO04v5Kl43bxPAnwE7cJ3IVYio2he9D70QoIgoSnhURhMDBVniifEP4YjJAxJleRB+JuIXNkuGVqml03Lt8th8gz5mPxVlJCCoihW/B6trlQqu5Qvr3GpylRXYngT0Ym9iZ9fn459FyeTxE9qSnocfzIZlkJPfZh0QgvRJmsHtJ8n86TdTQEp2hmlGRczNlIVMoWZjZn306BZH6efzkZmZ2WPZr9CCufE5phzLiN/ZSjlSnWOumnd86xT+nD9vP5ttpSBZagy3Mg+zFE1vszlyg0wZeUVoMZQX9AK6JD8NvQtzGnM3gJjwTzmY96FvMDChryNfEh+ev5qAVvBtoLY4r6CB4VnCy1LdCVTJWolUebO0vrSXSwHllCRVTGJPSiTLQuobCzbLIeW767aV2FdZaiaqXhTpVf1X41Dw55aywZdw1TtAR6Od28CESKbOgm3iZxEQnN68zDxcZ1I3Zv6pNbh+qcNPA35DRMN3xsVG8PbOxrvNOmQbpI/Ui5QAruam127zVRA9e2pb8ltYbXebP3RXtjOan/bIdbhNJjXwepE0xRpjiNJI9W0ftou7Sv9Nv1Ht1KvYm/oeGHvcO9Bn3Cf/UQhw2IyZ3KC8bL/fL/L+YL+oQHiwNYgdNB3cHDwDVOSOcH8PrQyzD6cO3x35PTIrvns+YmRV6MiozOjP1nKrPAl5lLV2NzY75uqN6OXu2/eG+ce37uiX5kZfzshOXHlQu3EyuSNi12Tq5PfptSnvC9VTv2axtV5T5dNv5jRrI+YaZj5w6I/FzW93jAlDpzpmZmToOYfkQTO4mYHGq87lpv2OGebb8+9kyKXh9L10mOuVITw/Pgvb4MtW1tGWxM9l7zuPgEYsflDAb/O1KBFF9y9uXuo52bEN1oR29Jv2c9I3EsUJ8RyB3lIsjMF3f+tKVJqTHkQMUPQSHXafnBXegyFnnySq1gY2Z2dGw3YB4APAL8AUyAsaKODq3YArqJOdAVr0YCEpgG9u9ijCmC8jm/sPjb6bEWKBijZ2Ff06X46yGUwgIDVBALY3kEA2Mmu62DjeeStBcmh082AdbQCkB0mRmqs3eBaiLqFzUpsrt8iC6C8PH19eSEeVwD3tCTjpFpd9NDOleohbU3B7hAoJ7af2X1b6uKB4JJ+0Ukdy0Z87kl4X1Fx28g26cz9Lb7wG4cZ8fZR4aRdFnQ+XQRkw9ayNvIhnuUZH4YFrzQBTjM6LLuZlsjUSi5bqhRZhRHvqG30pth14PyR2ln9wL1Mm5OWi7L2cU4MASyczLBvUd9Nz2rtHQjOr5D9+F9UFdM36aGgHtavbiPb/mvWA2F77T9rVMza8IwwNT4VDm1zRnh+X6MzGHRslyAuhPC/8unbcd1pu7u+Wy7Ks///xSIMKZ+qRGdeHi8P2T0MYBceBGz+jLkaxHQEg7dzOT3La01vGJ3kFHekKNVso/YLKJ/PpEvGvN0kjGacxPEdtccdKD6QE5DCWWJFomQS8kuc9QWWtGnEJjneDgxLWUU8piVtW8qZsCAN1k+BEJ+xITn4MBNP9MSCP9glJ5hH8wfozrSJHn6xdLzoVlkpvxAP7fA7caE0LEtPqqIWUzX0Clp5G0k4Cif20rXdZJrn6PZ5KpoiOFouT2pzy4TjonasixUXclFVFU5kfIVdFV1UN+qA/oi0sz1Ij4P3eEWnsqDOJ+RGudc/pvfNw1EZfWByCopnD6/LBKvtKpMqt2B56dsxvnhtQktiN3iGubyvVOowz/Pe9osEA9M+S0aTCiWXGjOLuONCOrsZodqRNE2mDSkoSo0a/YAGSgMNfKRtmlNR945GnTfGT/x6dZH/8uPoYq364pi0uzzK7DN97w6Zfv8z0klFpn9KoBRed05O/igViXS8OJw+tEKq9qk2Ck+kK02dwbU2/8/xbRWSoBs2J3xX6It1AXZQtlHuK7HSyVy1WoxnImRBYW60/6UGMK8CGswWMlQQNASOPZw9aYSMrtEa38MLJP2I3bQnlTbs/XKNC0AqKZRxLpUiHXVoxnabBrtI+v/ZyT2hcOXkl837Nl2Pd8YfhxCiEBDPPfRK+LLsGrkb1OIO5LIvyYkJVRL5znaq6r6NElEwkpgK55HiBf02Ez7y7WPIQvYRLKO18QCuIuVSgUADMCmr1NL9qfwehozxWPr02fL72Hmp90YaQdJUlWdwexmPM6UoqhNnrUu2bP1Vq3uXIt1IJtXU7IB8owZsKqdpCuNAXs121uJCL7Kozx0iQseaaqnndjqtNPHx2EXzNpv7adTCu+Tb9MorwUAQKYuk1vddrkzB2lXWGpudLei7Puqf0f7p/v5I7IuR0JWFkPtEkad6+O1K+4KqrufviFVkDNs1v9p7PRjkWjT4XSMjudxLn5eYsUTUg0E8EVpu9tYq96fnpBXfurf4DnKuinJejnAgPBhi4FZQrKNoXFsqwOxWRh/zvCJk5ou1NVjXY4IZdUbBXKFksFp3hsyDwTkABNRDx0NOC48oBCLWrMUGF5ecK/Q7hPSm/os4p8+FdPih+a0fZTlLNUzPNHivoE3awP0yI8OYbCtuudqgh9XJWWH1U6cb0wbmho4XhWjFdJi+PHH+0yeyVnVHheUj9a4HhppUimeStc3oaExx+0JQEgOe5tunOjMYUhFkCidUf/FGs72/K7N/jJHw6Uk9X6H3q9NJmbn1wqdzFypNJ1OKZgsaRXNR+699sjs5wDWa+bHfPD9HDR5393Fks6xLqp/1tQ9MJrbYWmYxbYUIRziEcKPr4Xxj7wCw8sPlAChwA38DUv5eIQ2WY70Ix1J4vVS2x1nwXMaW6C4cAqRf39sRE/3or37YRkRI9NGTJ8enx5RpoOucUhhXqwAq6rYNxljT5FihAE7lC4Ptw5xEeaNQ9Uccyz1AgH+HgBN2ebThOFkXcU5mOVp6xbGRNetGimFwksA+9ObaHqs6vfIgEo1GMpCXvoypvaH4VaHoYzNyYO+7ZiqRcGjmI7MOx2wE8trfi/Mr05XzZM4lyY7TIYf8FgsJ4FYJ9gDryhABJ0kgRxIbqqIqk0NI8TyheMiLWJbl46kgZWS7J0ks2dC6aWqqAfIxVUlkp8J6gIZS0s87zx1tinaFMul0JqQBo1ssfvksvUnGJFQKpdS+dvJZFq+xNzM0ODiU0YD1V+a0uVRwb5hCQJ8JYlGPSuWC4+XFzGSvGOfq6Fw9mPe+nOWFgudkwXi6wuGMZOVTUrVXIzujJCNMhazRvxwnK9FFzkUlnNm5yuE+fGiKbrh/PbM27GTGRhTpEs/xqRVKbKunVwTO+pulm/2+m6Wry3wbF8Lbsk5m5x7LfBfHcO+wVV4fxnPCeaXSkofIkpdJAfHCwgwqGtJnVZY6T9jBbUjOkHwJNrhnW42W/Vu9Wa/9szdcGnE/svPNz5/83b//3cP9nsXv/QNfVUzDT3Zm29PMkW5OFwqtY+vY2HlhTmsKR6YYDGbcHinjLCSiiqZwS7JiU1ZaI9qCUpp2LHxSQq3+Yd5W8bAIUxlGUlS0zO7v7qPw3EjVj2lFnFK8R7vEPhvghMQMJFPayvs2iWBk6Z6bNB8bOFJHhqos/z60PL+r/dwi+NmFf1pBlShj1SONB02zeFwmmUqN7xcVabMSGzg/T9kvIouyGi3Rfh/76Vf7oS8/J3xpM/R7/w5azNiJ+gUzsiZ2m7kjHFvVO726rdolR8ZR0jIF+TisSbIAMh2+FKKCTNLKOC6kjfTwfQJ9WnWVkOmWW4QHpX6r5Lg07HQdqKYQsmBvqCO/GvuRHpXWC64aPFJ3yKwwBjl8lINGCEUiKzJ+MXCzk90H0Cpk5c+Ny1+3B/QvYVZBE3fpWNSDu17RQH9Vu2QVmrsptIDcZJo+gB6BWYaxbwTeAv15TfCeMOfwcu8Om7WUTWcQu5mqChgrGgNLajaKx5rfsUXfQlknHvMxEVhJ0ysMwkJ0iTAK4TIYhBeUJSDE6u/xfdBqJa2I0VDzr26/rw0sSj2YMuU0792kXax5sA8BlBDyY/Q/kRNA4YVXNainjr1P0YgVbxD90PxMWg6TbQ2f//8Htc6O2o+miBx/21777QUHrr46UyJseiD3FMS3V+HzofDvOl0VRfV1PAaBeI1MQiZozhFb8kmShPj+BS/UgABy3NEGnPNyxs1j1WdgAX3SZRfKkf2exZZUsAvlBwD3UvVp9rp39zSY7STftFX/M2gcG/mv7P1/vGKD8UZk21YfQVyMhMBLusHjh9n9te72d5n4nWOpYl2QL3sIux95MBey7AO9NjSqrmWg2scYLhC1XlO6WC7q8PSyi/V51rFdyr+gde8YzY5tC7jyPjDIuXgVsEkfp4PnN6tfu3b3kf9rFVroUAJlixijEIc7qSXrxBZH8KhbIf/oOpG3cqZhlGC44qyrf7le30fwVf/4sxTJhDN7nvu7yi9a+GRFsXI2Ogr8NpTmDjmxxrkq/trU2P0BZlBjXPAS2ogYjJa3TSUegAw8ypAKtN9px3Mg+bMQjVhg81cLhbCX9u5lCyVvQ+5WFCe3pKLvr8Xsa/pRGISlhGhL3kbKYGitesd5oxC1nMwG6MSSQqBCbpkMYJmC4o0jVKVhFsY8woQRAHmJ1mDrJLlPp8CXzsg8232LafripFRu5P2Tz/UqTUwkK90yjExelAo6s7HL1sd9NdFFU1n6X7CV9oZT5+7Xyzr0ZYSFHLXRSgiNvHUErRPWJYu1nTo4DpP/e5lVRkND6Nv/Vto6Z3Qo/c8LU2jBOb7SPWgt4/GhRn910pGW7Z86vYxCGo15A3Phu18APu291d63O61C7OrPnvxocRQhdYZKckolcsYSyvJ2wnLB0uYR+xnLuNFae9i7xK35LnODCnia1pl7YlOb84EZLKpQrGOp9ySTq5TW9R6z+gzUs5Ne7ycvXDO4Nt42viKm95QvD4aUQYNJ9knaKWXlcu94Rh4H79xZU5NUdfT8Q1c8fjH5xYpdxVVtjJmnZ+79bBPiev2fj3nfTqwuyJIzVsYLqmmH0BH2xN7dd0ED0ohwGWfpvlpm2VYsLEIVG6fLG9eVqh93VKhCWQMwOFOQiKhUarOuBNeTdCK0zrmUr800MOAQaoa700Ty+j6x/eJnjNAu1obRq6lBwyz1DeTSqXhUQgUua7GL4vQDJ2uiegHbd4sSXL1IP/ukbZUuazSRIcYM7AhqbmwS7vmD2Oj2J5/SCGKyslM87xmJJccxu7420FfWpSxfaVg2znpHWiUlZg+McbfPEpdi9aLDjeaP1t93Q04zJNaUfC0hjhdU4QtWjQV/UqfoNHt6z864/VKSSokMBiezJimLVay3coZldUqRtanODcgFLQCly6vKlcoJa2Fku6YrvW3eVlqNREJ72PahkK+SvqRwxVcwhPpq4SypQSif/5XNp+OZTNopqxbi0oMYXhjVRuo7p2Qbc6ZQKj0KpaRG3ZekS7RUsUDLZ7lewHrDL/4iOsot/U+kWt8Yq9OwV6ukR5IQbv7g4lt3UKC01mW5qyy4QYYep6AXn9N66/dcm43nNBKfrVl8eOC+yvW/b0gPjBluqUtWJVv2+afuQMw5naveG0X4oT9+HwJpGq1xIcOdBySF4PrBwArOuQ6QFCyYx0wS6yBHiTZibB0SWIFBFFjA1hjx653RwCLGw9cATXzqIOXLQY9/+//FO3T+f7QsRSTfBLlbCFM6xkMMgIiPxzKZzzm1Kq/Ya8dO7SqCov+z/+rdNG95h3g6hdkyTkSU6VY2tLmm7eZZydiNlswILQDl5dB8aUIEgtChYg61kRchn1EK8FGIHgC7gEm5ZbAlCoIVWA6jeGDqUjwaQYlg9i8nSYSiOqrlVvqaRFw3Sdi1X1MB8d9VOV9d0tRA9fLLjjrLiAM05owDiqhqJhSvggsWW5cA9j+c1IRU6DWLQDU0+BintzfjeF99GjNUbdfB7J9jxlWYnwsO6yFxWW7wmr6KnuLAJ49ofUDm31TepQ80OVD/lyNwnWZsgR+1xgJFhLtIMcc9RvjIW1oGlnsKiFjinDAfgZ5yChhJH0SAmMp070aOd8tSIUNq9zl8ohKHHnO8cx48jrNSLIVzOlXd198RW41kNhRInG2t5OdDwfGBrK+3efdOJN2mywyFNIbBk3V+mQOpgJ7LQxWJKB2q8EE7TXllUDI6u1NMaY+CONnt+BBLDLz7s496nj/PrmhzBW5lE7fC7inMcyp8JmgKwKpktGuxiT0L/QtUzB9Q8WWpFyhl/Kf3vVNLPSP0o+aIiftIwE55XP9dOQP/3D8mJAH/ETvC5vVfOF75rs3LSS3cW8OnK3y2PqgR0mqBitm5Tx+cu/MtpWv8zKwFLMMhXIk+wtRabFD0Pr3sKI0bN5OfRB8EhO0h4cOMBr9SWK7vRMI4hQjPdrLl8wi4mh1uBopnIqDMiITnLPQsx4HUeE2G3W6TTVJFCNDhi5lTXKX3UCYc9/+H4YymLTh84D+jNIOJ2jFZ1QlpBgG66Zrj2lDvgROO+9xTb2VChwU3I2NPETXjfVM1xR1yc6Yzf2yihW8CKKbLGujBZFDKq3GzsT7vFUZwrnwHqwFcFYT/QAU+AB2e6M+oKO5WlBiQy0HXVNAhBxYOeyNX8Sqwvt7J9v/5FbGMdmJHhAtdNFsFigR80/v+QePh2Khj7rfePv6SCXOABjvv1dldRS6dCe3a/J277qG/xbFnaPrzWQUJdsHh9G97dLgZa9jmIgAI6YpsEGjQz8hdmem98GW9t0TXW7YP3Pt9FvfvPGl8t/HWqlX3n3nT7x/9IMfImP40+4MT8ftfNwOWUNz8DrnWcu444kNFXxLvblhKu4oY77omXLtRuhYDr/r3M929Gw2la4ds/NF19rXv6mY1/YzllpwUztF4qt/JHp6yOm/x1iTQMQLugNON7iymjHlekVRPVXA2oHcZ2tZFM2Ybxuxxzop4h+eP6g3YbpMc11jVS61CkD43deJwKX27zWF993MDcg7X4siQrdd7+XvECDYhxMpJVNLoK37vsftFSzvkPEurFjCSisBM3blrVn5CUpEldAjSu3YxstPVt14ZOBL/505WxxMVZKgfcZ9MBYlU62QuRTkmHRfrT44dp3N2OJyYMpLLhz6/d9aH1h0eZUe6trsEWpuwH2Ze9mABVVQqut/HF9HjnCVRTjNCv4uuYC9nnj0GElOA63ryFHACPhMgcXB+M/shz1bv7qESt0qNEiswIFYlT1XLDogXUanWRe+qvOXtsoeaIfngHbCcc0btoyxVDPweL5e8INYglzO1zE3oH4Wqltok6XFTr6ZTMKcvfGT0gq1SqbSWMztVmbTDSqHTy+PlXWn5eLdqDTrK09Kp4HyhgVLO7almQmhxxDJrw8V0Ubpl+2hciCKDELTN5ZpiMigJbyd/wbkTLDeiFdmRVX6i1evHJMPFGD1tzr3eoGYk9+6VcVrtguz2y3T2aVXMdKl91lGepuxxuA4lfF13XW1jp0NQzo6Bo6junS/o4KIte6wTFAZ8Q5uh/GWkJybeqR9hj815OuWKIfKwm3QccKbrvUC9PD4qU5Ioc4GVFulOGxx2jqvdd2F+FLfwnNEfXvEH6oM9rna3N41R6VXlBo8YAeeQd55nD3wXnnd7FLdTBdyk3Yx6T4ArCdIEPifinwYmCI9pclDCGADdJWUQIrZaCVZIfZox1gcdgtdK09qGuJGs65j44Ml1atJY3AXwW64QHnvYiv8gp2JxYnl4vCiESWiYFrgY7nad2LUx7DCyGeBMAr5lJP80RIr6GkvhSb9cCYXjpiHRPLcL3+R/TtYi2Gx5xrBWv0dkvY0Y6mmECezmDHo/4cQjPF8K/WLMTujWSLZSoJp0hiW0MCGyeF3VZIH2uYPjXdlKKh4UdQ1UlujdTQMQPWFoSXkd+Sv4CV06i1WOCMysGU6PrcOcZLl34cbvu0uSYE+nx+3NLkK61uHGFalozkkmB0HQkDsO7O/GL0v8tSTOfM2Db+0Np0JwCVG6u5Zj/kqf/N7plOddV1V/0cRW/eh/f2meUHOX1+k5e/c63cu+Y49oxIQYr2fmhFd8lXnY6PTSRgfd6d4dLsZRTyCJrUNn3plHLEBiLI2waRlFOyqpai5nywLUz1fbdU0sBkMAxhELe69aYtbWaKCB6LvxDbEi9VwymVO0ZkLCwZOd47SNNExajodT2RT5L9KVNSZmDIjg3Bif1w5ARVTghhPWUvgm5f58Cgmkn3ftaKAv0VWrY2ZtWnvqZPPHbb2ND8c+WQsZO8w/TGudoooYB9xVRqVdXrsYio/Jy8/DCrr1UmD0bgEJ4eWwCdNluVKqjepifXzv1UR+7ILeHbLFrdXQxgFZJRUIBpWPiH7IfqqhGniLLabJBEgIoAqeq0aa9tUwlOqB3AMZry1wiajw7UJSvQVPi/iHx8aBWf+obnHvh4/qY5QzoWZUXOTzatxMzH50r2lrY+d9ZzcxCfUugUu6zcvQi1cgPMP4Xo8SmN8F0cvDjQXdf7HGukFw0tghamNfh7dfch9bFWAWpkZvhPV1KDyDmJ+NTHcIecmCiJkwlx8RBu4l8mBbejdY3k5WXPBZujG616VpTsrJySSJ+gTSaIChRaGwt0NVsLdbM9WB73uum+hJZpbIz1y79HpVvuTMTYPlIhdxdzGubO39+h1eBfLn2FKrJDNlhm9AtBn84FCVOlaM9v0+po3bSBSdPJfu4Uc/Y3/YGyogrLM8sccsq19DxXab7znJOLAuchxRj2gPdt0rkcRPlrDHF8ZRa6fB6vQF80ujPz4+xp3l7graLXnfcv7kllQu3e0YK065nXa9pRDAD4Tnb3rC7v/jX5P7bWf0bw0cefag74bV9m6ZW1Nih51TWETbm3tbTvxhs5a+cXxilvuKZExf8qdO7smlu9FYuB3tXrzOX2ZOitUZ5Q1ORzZUz9YfuhM+g0tKIVQFMsKGyUMRgZmHIVpII4o/WsU1kZCAzqU8/6j1u5o+SfhQNqJnpRIdaAgJ7upFSdVSu70t/emxsfK9Z0SEnpePKRP0CiHltBCPOVMIUHTPc3ZrGu1pdT/6XNfcDQTZYDOwiU2KZm0UCs1+wvw/uPjuOdJyw+0fanvBymB6OF/RTFjyCIG8cf6ZBK+K74nEbZ6PhQ1lsHqvBAI7C5LXEUo+2yPiZsyZI0JS3fAanIvc14WJkJuT4y8/GGF8HRur46taUtJDx3embDkovAzRwwf9swv/+C3yryQ66jckC4ih4B/jhIqP76tOagVX3dTkeOb7YDI2myrLRh1GMGx9T3omIpf6KpEJ6++hHBR7oxCaR/25zrX92+N86Y4dtRtEP3/d1fVErqd3fIMXP+B/9++/5RZCP7MPgQxFsBi1hjyvkRVCCXeTiMODjyPvBOF7lzRMoQvkL25gb8iWXjesdNGO2JBqGr22KpQKbhidwDmyjiZvFa18+nODs0D2lDbx+5H+s/LNt65obhrxydFLl/cH6JHofmDLO4Z9pcDuML+/DhbT+feaPCSjjtDj9wtbja/mlnlvhwyZspFDF3w2BQnyxOXmydZnAuWxtFQTBWhO3EpKzwH10oI92Rb7gQOnmp0WbbvyHCDwP2ujEezK7o8bmQ3sUVJ2+JaC/dazgBTOnIhD2IXfDjO6xEmJWyndfXsWj7ElLAHCsvZDRxT5iJeTKN0zztE24APl9a/N7V6c9uQf5OciGDFU+UMFlRcLDo4tJE9dMbwOOa1RTinC+RAl2BQTWgGsG18Ocxn+yDo7VHlxdXxDpGkoQW7yysXMM8VFn6pRT+/Xjma+1bdi9r9ak3938F2V07bbDQRxR/Bf/fBP0p1ZDJ/d19E4dUDB321zWrs+8s+nZiKemNn8y48VZnut+nEwn6cTAlw61dvZ97ufG9/2Gr2BHiC87qpglfae44g9S/jHqhiw8TWKoEMRCvAR3qPrqwjr1y/wYgizPDCU7DKxkXxZXvtCvk/CPrUOrVjEJXgs8Bc1I5FEKVM+XyzZFi9IEtir1mJgYyJGHJ8PqnQtdfT3qbLLZEJRs0WcVVTDAI8d7TAim9lkT8PhOFlTdq9f0bQ1enSLpSgoQXw7OQWx/oy4D/uH8N2/fbiqyin91799ZLXSSQB1Tf9aB6gvLDw94FX/L37wqZwcr/Zf+NcHqZQMBQDYOn5ihAGXYSACroL0esLh8l3JiV5wl53HHkUwUs/QjFpVDyJcqhyRrC1V9dunUKml+6+ulQVIDIMfNSBD9KaOYSsZJgKaeQAhcrOSpKtF3eE0Gnn6ZbVn+zNCoVMgxrpICKJlVOas8b8k7kTPPH1vd2PnnWdpqNfXDLqYNwPlOD7wczcy6/QWSHLtOFCF83QGa21jKRmzz9txE3cLnvFDn7E/3dHSg3f4S5F0jWhKn9ozEHCkKBE+FG/Fp7uj3s0jhTzZtkNXOSkEMWWXrHuZuyq6TvSjHMTLCwrShkxkTdITA6vUDux6ZOoMAh/CTH2rfore2782fNM9utRCf4W8HjcLBA9NXgKcqOsCfO5hm5aXvenamTJT7O69renPLzwcVY/8pkJCT7/wx6c+2wR4tbtf8L3daZMmplS9YCe9mHC470jNnqYXhbN/Z7+LsFNaWAb52qCPx7aM/HkJAZFSAr1omgMB40C1Ni6EpQWH8WjKGxA45PpABEc6YgC5qDYlobIs095B3BT4BlCuXh/gjRW0CHrqwEeEs7Yt5LzMNuLxfzo92cyplsIijG2gsNbgxra1LjhT4yYPN+CIC5KB+WmcKLjgTLUc37eXILJR67bwB/37IQZL7bYt/+mn74Vrq3c0IEa7MnVBSxfy8VCNFMrTvP1TBWOqvtVX+a3tQy1KJGfJAcZPE/DjwxrM1VNdUr07EEgI0o3Em66k1YYWKtlu7THiw/yJWOq/pPuhpB3j/Z/h//wgk5qx9VuCEo1iwJUn2EMeej+9CtB/ebwKQHU8GtB/q8jfW7w9zOkr965hMyHYGkmnCiq8pmikFjztGhkY7x6zQbhbLLUhkEYnHUawRkH21iLyJnHyPCJvhvlKR9EUur3sV2853u5qZO4ivnaC0PNQxzYYk/I4gHVL3YepC8iJ0JR8BIGLs0R9s4YpGviq3b5xfmU24fiPUghTxJw/GnG0XukshgbH9gs8jrqe975VvlNyOsAeYXFTmGZlXq2UZLh0Z1N6wlVAl9nze/esSQ9owbnpKE7MVakQ4mg01q/NyQq96ugN0oULV7Sjl+xC6cgMSI7VBZ21WC7UcdalichI9CJp0g1ti/Ur3zVtJ5SyADWa+NGdaPoOpQi/8qEmJemMjCuwQcj465caoiel61IJyxBKWDmD+OHJ/NDxnLo0In70SVcQnaDgEuQgNf/qtho5pTWZjhgCRaHMEzSNLHzO8E9sn+v9/qhqZT2xqQeSHBtnk790AtX1/eh+TX8uOSQYKA3sdnMNVx2FOJrinzIprj0/cSkIJ8gCo23Pe67TLvQdl35IgKlCKh5UlH7+FsqWCsIzVoUvgEdvRkt+b6Bfuz/XvgF+hfRr/9z1Xw2Cf1fg/pTv/MEPZ/CHimABS11PN6WiqeJmIstBKT8NyJnNPFjeIL6/lPJabyoGSMRN7G1XLNJ0jwFkXhw3Q3IajK2gBBWHwT10mgwcJFPgSi84S4NEyUlke01Dre+wjlI9GIvc/Qkv8DsiBu/fD95Pm2AcjqNcblL01NPxxBl3Jyg3Tk78vpQLu2CANxTb0LR+pzFHODbAipgH8rE+ln+W3F6619jk1o2VjiTIb95LTKzU2hK969gG3B+ZUe8kBOrpR9c7fob84fzZxyT9n5d1xXcVCF7BK6w87u5nOFHICwKwRiUAKsAjIfEWmkZr0AECJIa0jWO7LGVdIAIccAFnsmrNKbIvAQMQFoSVHZhTObUHFAEoxsbY4JYIg100jmnSjNL0REdfdTCuE8RfvpCdre2eK4h3xWKVmfRU4XfyUtby9hux2Bu2+z816NdJAAw8iXtVAElsqyaYQEnrEU+dA9bfUA3k5vo+nJv71NjEOuM/vj12mt6GP/CFV0OWdZe87qVfHnjL5MBE9sFog4A8fIS90EBHd0MPgg6U4HO8gRV4gs4BAh3v3Y1kRqL7PGMUL7LUUpyxumHCpopAP7stjNBNA31tBmBezwiFstmwiic2CbAmIjdmqJYuFLEvx1Ppej0ToWmKFjpxt6PWW4FH7IDrU5E9HgZAIZQ4l4SrEJDN9OOzfSk35YMuub1ed6dQDPG8oKxRkCZyksz5jMbZrzSNnBu+YKNu6y1cs9P5wnk8N8de07B5Do9eGkg5yet9cJm6s1zoiN+6Pz9DeOoIB7wb2zeJ+l7eKUd8IQVnlCcv52SGfRWDJfAEbgKq+M46H8ArD5wS2OPggICBH6E3NJKTkFIZLQk5KAIJNdQgRxhuJVqQ1DpKY81QgCpQsIJqTl85nLh2YU683NuIT5zXbxBXakBRdLXd5+YkCFHFt/E8bOdRsFRPYX8v+dVTELl/OqXhlZnr6g7eVMgbTKZGj7+JtrkzsL/g+eMZiLV/srD7L/ccv0TjPkWATmeFEKAr5H1Y2LHPfpl76j2wUKXM/rbx5Gl8eKyMBORlgwcKgIDi9CR5dM8Qb20AoY8A7eAL7255kQtL5+o/ATlvAPzfvd6Qlnf5Qxrem0DyrpkwW9DfAe139b78k4nLLS4qAgSpjIIgXAENgHydK2WwVhsDM7mCaPi7kCdoqlopiiYzyHw+nmETwm56Js9ITLx7oD+ZeGwXjCILioi0WaknuGdyNlj9HM4urZRtfQHg6PThyU8b/7iMFn/4eeGbwL0R0TFQGIKI26PcZmdvQrRADF5WPwotv7lXr4dmEJU9Of6ka5L7t8NI2Bseacu3JiYinekg3wxD1nSE5eM8dJrOjb4/Bxx+Wt30KBB9NQNbsBvYcXR5GLj568c+3uL+LT8BLXr6hdevdP/Fh7Hip3Qw5MKMK645bSw8HO9oIuOHKhTAH8o3svNMd892SKAoodgX2engX567qvwP3HaMxoiiEfTF3dmXYOiY5fjBwL0fE7aLYC1eG3JJBNCtSciblL+YsGr+a+JPN6cTfLqsEe1++n4f5P/O6pXVkHva7cbEOmfhK2N/3khbvHywPqnbzQ70chVyNHxl9oCsn7lTl9cYXWTPvdUPnXrsUmszUpkOQ8XH410LwyCuW6CbLU4H1kBEmGlXKfyNVMBs2Q5JmpgjJJgsodxx3hoEcFaHVUiwBmFRcE4GPITMeacvJJLIpuY1qsvep89x7ZemrSGq4j7Pt9vV9v+aHD9TS3JspCOrtYVk2X6S6uSvZA1aL8uj06q3ogYc5TyrWp4gs+dgbb0ksx7HmaMCRWf2jHQxOf3/X1jrkWL7vzFbYa/yyzu5kyRHrEhlSL9/003l5t7NeQa7u8TDo2rNf4GL7dv5QV53hD59aDxFd3ykaQuIXMGnc31fOrVw/EsGgwjssb3bb/WX/Zk+W7GKGJGwSAwFQe8WTnR+RbKiFbUZbT6bqxcU6BJFxlTWAhxFV6wQ4jDkIbXcFY6EQg+Gv+YPBnBdOWZKTwyAK7s0Zf3sQP9pRxDP65o0OtLsnFq8Gmn0xyIPXTju0ZUL6p7jNFJ/WdnYXFv7n96/tLuraY9FlpbeP8XqelqDgY7/86R+2GS3FqFGD8sHSBFO7ATQ/VJDDNPzL6lPRzV611mahZXAMyKQE5LBii2C4l1hzqHl8xk33AOZY3EYRjS0UiZwMVeX015aLjO0KHRHXS40R5oAAnX+Ag7d2pAVdQFH92szihRKWKL6ZzI1RFKmVHf2SP/tdam4MelMt1dW3mMz5uaRsgm7wAWHpBZ96ejB1yVUsRA9cGrTEBlAbncIqr9JeYc6yvjKPY+af/YsnTv9EJnu3kHPPORzkuE8qcmyPjYtjmLRX33+CUYqba/a9/3AyGuNju9+m9APzynIqOzkLTRNDoApnckNTT0y/gW93Z/lrDbggIGVkLZ2HGI/Rn2GtO7Mupqx9mhQxJ8wWNnWIghbjM4Zk9sIL+sebajYFFIvxLIYwzNR9/jOwuJifPIPtrC5QmgbuUEBxgQedkjZlYs1qWmSlH6u5u5bvTM+d++EmiOg+9Qxlg5fjsQYHp49szUl/skT9+bvrqYk5EKrYKkDLJ9FKHE8y6IoXzdJrGSPph1/QjRaNJm//awmAz0PX5erJwSN5Xg2mMYef+imjtbmBBDZ6Vy6PC2iPDoXoDS06WjoKT6/elYKyXi11tdcBCRqUyWboP2C29M5KxsrDCmansRlIPKUbMdpzHbRr2hiiznWfbf98vkprazTNpWlwS1MpBDSqikEVe0i+OWzooqCOHtQpkopXYLUzUXEpYWEHt7ZKBfc7AfRxluSpzLcX/n/7yyczzpt2PlYT3VsJGSLgiF5vpeFX31btMNSjz4jJFSRDqFxr50qbMHu8JFgxu7hjbh+VmSPs6CAeogzYU6mzOQDwKci4o1kvMdqVjASkmSbf8FJjOIoaLlwguoIA4HsAkkhqINhRGa6Zhp3cp3Q4EFFfv9r48djTmwwVSSobAH6SC831jQ91wYEX4LADSD6B2fv6qz6PEofHVVLq/Xiw3XrCNhvDArQax5IjPFGp4QAi2XWRz3dGzgT2WXX84yHV+9l6p7xlIc84knf7qgrY5/7M1GH3bGfpVhW1HWe5ZtUFwP2VOhdntYFkQ37ERvrXAhICivIFbYuBO93qzCEIoOtkZI2sVYz5iu1czowSuvYaEASAox+KopyhmYCfcWR0LklD4yrODVdTURNHKeJFpecn45aRjj20d6dklREEO8SPVjgcZSZRpxXG2K5tGPtDoxaNnXdmKhyOM5MVjHHGr1TIH3NC2YVq0ifKXcmVRNVckYr5Xq66TY8Sj5khLzjBiG0B64jQJBkQALI+XXuckBmTKYADnzRRtxbO05KfEia1I+zsChlzvcHiI3c9ltbv8Sl1elCLmuyWWR1EjbBQkHtZvUoDxZf0VTANS9Ge9Utrq1SyVL58TkjcIFrfFesfwJlzP2cVlF6q64yXph80QgNIBNfQC+oafeV2F13c3qWTKoK29z92jIXcfxKCsICq35lRhRR9Y0DRIReH7NqbU7QGwZHF+umgoLOb8+Y/KQV3VvXixq4c1KbAfxdsVve6AreeSaVc5SfOJQMFX8LX1LeH0aZ9/yCVoriu8QRCYHsgFmFCjhbvgwlWDXV9+NTnuqlt4i9L/Ezj7y46pBZ9hteSKxBmz4idK2ZipCWnhGJu2oz8FSx9b2LW72YF0yWum3CCKoBh4pnMTdAiQZ23qBZLuFmgLqpk2+E7rARNoMsAfyVsqjts78IBK3weybOd3wqDbeRPDf143Q2TVkUBT+vfLYftwnkOMJfS+Hrf4xA1jlDhs1JbxcciN8V62v2O7MZtuAVApEQsu1suo46SOSjRYaMme7dzrXRHuDM1M3AZ3sAOUAdrxpxu81MTIqP0f76/gPHq/ce9YJ8Nstjoj8F6COfF95e1jdPFhNHXiBcTaY/+qffPM//ktWYKwe1el0j1OgpwPS8Y9mzu8wza7dtGEBbOz23xD/PuPerX60WeqflmQ+n+kT8ckirCGBR+EXkfFfP6L5k3b7N8mOUp4N6Hp7nxGI8Q0gpjruWGGIK5QeNAKr8AEMndeE07xcVXTWIquvGog6qO7f9DiNAJvjwlMNef1hkj7OggGMh7g7ZOUytCbhaAKVIdOY+fLsw7LmkTZpIdJm7Qt7OkiRZVYWei4BeEIRg+RbfFyG6067vp7oCdffAU3CzZfxqen3EO32FGHKjJFCcZkMFGqDCShimYHEf0/qPXfxHP8cK0VaZJT2wOjmdXAY9PehiEz4HXLDMfxDYnvMdeIjUGh53x4hrwkd/trVGghL51Hukzb/ZBXD/6zu3kLQSPr8NcSUuSkpfLQlG/OuMiPYHb9fc/EDQ0SbqJ3IfEM8QNunffDHQvSRvanKDtXwixhlg/zcQgKpxAftA959CvRnttIzLFuM8Ze56ZbcAIwQoAWnQvMWNx5GJdGReNrObBUmFkFxxI3mVCjqVQmJpwoTMOqccehx0+hCIWkIMhWeJTWJjYBBRpSJlILItjuFwpRCYKULG+idoAggihxGWwkZ7q4VKZKpfVJfccjiEZcK8DMVIGryXbsIGvo0HAtOKKa6En5vdsYMUjUbQjF3KPuprW/l/h+2HESPd/VvdgcQlgmQ4jj8pOoqTlK90PLQLjwRndt/CbuS4beR8bqBv5MG6M28NzoA6RyqwyvrlD5j9sF0uN58nlJDdRkk3fVfKaIqoNQxqJEpOA2lacJ0wo9Gd9vUh6ePordhXhPij/mDOoRSxoGsQkH8DfBzY3xgFTgh1ttApL8+arzu/F6Mfdq/Z36MTSiiQlq9C/q08tOr+QoGndZAjtJ2egMadBcV7uUCK2oXaC7WrdUZ/DvBv8zjKK3sc4EHW7owIIISzhVBCLAB0oPEAc8V6hTKrdFS4D8WbhIZAZ7G/w4IDtBQKB0JDTMO0LLxPno2aJrDAGaz4DkU9kcQyu+R8lofT0RUk46lslpa5YnGsgByJqdyZESF3O93o5el7hA6zx7NT6Dl0DHs8O9UZ8ek12jVtbb6Cxga2iMKmgW0SMddNIbE+8SG0oQukWPGoMJQAv0/5drvsovMT//Ktj0Sz6Vy+mqlCrlAo91OIUE3vhwuEKei7rE6sj4T3saLkOp8Zg8iNjWM7/RamJtZfErfSRyZ+eXLjrFJ9cKRBUzWqHzWU+w8QstIbhFcIasVvtzqxPq+8Tw3lrvaDFSjlUjKkoaa+YHg91viRCofIrYGft1pxd2s7AM+QaiNCbMqyeNojjR+86XrSgFnN422xl8TWO5+ubiDAQCKpGF3T+K/D6Uv1jJZZZTdG+AkvzveOCvUjBU2MRqtTxl10g+KAcVWIQG/qE9OSXps4mHlFh0HqQSDKWHG5Ybp5sLsqw6eTImo0GrPDpoKonEKjpz53WcR0SQZE4pEZtwJCJbosZxjqXRcRmbQwvAQRqU5N+Mm47M5MqomU3KeYSVqBaMCT9ha7pxClKnvgItl2srIWsCrRReKA5XugjEL8XArRM9bDseiCGjVlG7lG1fYuy4OKfsdgOlYgB3BoPstJgmpsELyes51dKyodhC8eABv3RuhWDLdaDCIuFPbmNmgYayEMyh28Vo3K5xoe6ALv8d+PJxNRCqVho36K8psBr3TA+FtpAuN/P8Ojdy1pFT04om8OVv8BQyhpa10zL6km/WhdxaYzoVlyCMTnnFjbDc8QD/BLtQaOCRoBpCJwaZ62zhb1OKJJyCsnVMXGg4Vpth9JAQQrRR6QwfwPib3h8x9s7qnL9kdpRK4/DKJn8/GJvBZCf/NltWP3M67kWwTHkSKRMWw4b3P32+iZ1f/z8GpJXR+yQz+PnencO54jJ0AxjQ9K+MntbZvDdzdiRBI5x5+z0q9dsyTR+RVOUbZUBev1sjkOQbv3CvCFie1tVZUw84yxcn1vIOj3Pxj+VigSdkEvW7HnFVkcgNp62EDx0rgQSZ8BT6rv3TdY0/dtV3fjheP+trJDSUaoTHrSq912+396/7m2uVFheX+jiAS8f29E64LaZiTBz9FaSrM+mxof+NePdNXi9/aYfEVheuElj9tDuVd/LxnyAJqZxW02oN09YEQ9aKw9qvUmtSXZ9IIyFrr5jrPK+4gtS7w7RI/PyQWwv1zm/DZ2QQE++Sc7Cl+KWqIzjtWyMfAqTs5Ar4CyRdDZgIdDVlK4FBQllY/19+1XNXjuOqbmLOIfnGDw4Z4ESlyce/P/uis+pbBSEo6hR5xg6WwohX4TAG6R44Gm+SALzmwc2+6mS2O0/kbv24kC9Z8/bXfSNCAfdg47iBjkzmkuM0znGZcdEU9xSmoFNer1wzQhwXa3/eMcn/UP5UwmfXIUJQ0IgbH/b5VKbUT41gBNGVQLoZYgeorw4cM4jyQKqqJGluqgvakqX00TGctCje2wuK1UFYR+dH+RTFl+FBz6XaiU6Id+k/7UU+Yh0zAi4Uj+nliLNwYonw8SP5t16xGnMTf4ijHh/+2xJ0Pg0ifh9r9Bjsn/J621B1kpEifPi2rQmzxvlwuyNXh8CQAsn0/bYahzHgN5SXvDM0hBssVA9gEIwNppQgDEKVAwmY8fKq9rdJ49m30AZfHCkD2aSVeEoFJ7nHp8tShBLqGRm0TtyVWWrEWnAjaxEok1Uzdpz6rQPqtRAk+mQWolLTlZjZXG1hotMbYkNukwgXNqu5bySwO1wyUar58mhbtV+OKVU+zrwmCJWuuEub9+zezX9JIQ0ecFcDmN0iRoVackXhDpnQcIRgqyXFAih6exsW0ozdXobMK2RIryBYLGKy95yJ8RV1Y/8ar0upjP7ZMIC6OM8oun5/un9JJ5VtUE3nIa8btmbm9O4sWg2Pp8IJYiWTZnRG7F5z5M7VBzebFayAR53u9J3Qq1FXGLi4uK5HwiBZzCwhSCGYASCwBkiMFvP5HEBwjXGBOXNE5doHnGBpeFX+ii4UFAA1o2MSggbuxbguYgk4aAlUhx/iNLjIvbNH/k4YxxYjDAKkSyJYXwlAKa2/tXYY8F5yUkDMhmDfJcsFeQ46lTaSn3jYBOLAre7ygnc8YBzNs4wRm6CKiBGtkGNslfPKDzrNdwy/ag3h0XZMvHizadjoj2gfHPMVbt8vlrbPtkLnD9phmZaOWTCrIvrbPaCHq96R3qs1KuJ5b/rxL9ZFD54kls+mpMpkXfHA5cobZlEX7tkWvPXL4K65byo4r7+yb/v/VRQ6EYNpbHV831kAzRsCQhgiOQiLvNX9mMbTGtKrudLferlQt4R8CDJtBFLWAtpI2JGtM+AFRtCG570TfhVlAX0mOXG2QzXeJVs233OWATmZ6TriYCOm03QVc2ZshEyVQi/rUfSfqlhyoo1Mu5XW4XVNGSu1mvFNt66HJfw5+KAQQsMsUDGo0vk0p5Y+WmihJx7e2HJNgFAO9ZTzbwjaqMvlsZ1jf87YFyXg1Jl3i+bobzymnqUz2EzjhBhMC783gv8FeC3f76hfatPb/8GD0rf9xJvL1o9Q12r+KLe+v8rklMKL+wExYLFtcXlFM+KmTGVvfOCOHOKEOso27XgMLaYAHFGOI/m8kEu5GnEC/67zgNMf/v5811YgiJD0MyXZaTPdonJXtPX++GuPtrnRdK8upj8BZ34k7bbjuPjyMLA7z4guONhcbjhcYbkDMnyhmJUAKF2QijigHtmpv5pZD9aSIj7G6wXVdBtCYxduaIL5CuBwYcyAdVE49HZoJR8sA9RZNvjiyXquwZCL9fBhq3fazhj0FsSGCOWD7q1PTtdH++Q4+uiX9KNl6f+saMZYeu7pnjePb85OZ/vwlosrDIBT5WSvSQiqcUH13wTFqKLhshWd81jak5n9ImMHxpFYdorMC7eA8fYjP2YCXexqD451rbBgR8yR9DER8AkwxxMXkgPvjAgXVq2ZQTrF4rScF14CQmpakqkM8ZeMWDd76WbTLAm6QCAw4Og8RRbA0bOU+f30Rgg7MG7QsL5SPFaX9+V1vWOE/U2/R1l0tNej/Q5+F8PjMzvtiTafxFOxU8sKAULxuyBSEeipnCEiwu8wMPvjm649Dg0PFfOTEw8Sfr4XEZDlpKfajsp8yh+xX8CD3+MMF5vwoslERofH8mdXKjTWG/vatdkMBlgn88S531zihFa6/cI1gzx65U2yVUD8mdYtmM5jkuWPNFkVwF2DYEv3kt1u4XbV2oNvyXrjvtmH4fOXhR+5O0Y6je70DoNOI4AskmEh+Q3t9WO+zvZHXecnXhulnTfA/9N7//Nif591d/exX/XWpoYvjX18pSDiWTCLw1/a+OF+/mPlp1hBp6t5dgbcI0MX9SIuqeL0jKeiTaiSUQi1ys+oa4FzTeRuenOXG5v3v0NYA+f/+TtQ9z4N/6G/KdPwb9zgNvfOknePBf+j7zof/bhEAEIgli/3j93esicceAydpniQRfGWXpMcJEnBMpSUKHPWwEqeIfIm4OCqZJbq89oZYFGmJToxr2kYNdhdhbwV2GEBwJRjliOVcgWkhVXhTSpujeNyVbFvkNwqKA4VdRLyf3SiOGXVqXBUGmQwYe4k6SlJqmozsEq7HWKvJedgsWsNPamJhWkZSsNW3qUZKvoAMl8NdQ1ZOkuxC/IqQ0Gbw4iDcEH3rL4ILuGh4uq753P1mkUSxXWmJejnkstg7LxcYGkdK3Ub7ciLUeUvGiuPFCCqHjl53jHzVTseaVUwsoqDS7Vs684vKxlTiBcxlOUGRRtngz7HAMzYshydDjRdG+oQsex7dfHKH19vMhnz8UuLBiMVsoZDIwSzciiZoD4e3CO455zZP+z+EQS2/8GO7F/XjwJPnfOi/18hausutN9+KxPRqtx55du+tvGrLNLyKu0ITi9ASWPj7A4x6EwTnlua4AgUrHO8zavzxU6620JBNYBCM5lmI1UW2PVUnUgmkzHusbF8Vdf12975PSEkgL5Z+funSqfmLjhQ39KLo4BPPsdL5visbeiJECD6Afs1PLD7MgsNUjYBEo81gzzBHKvUNsWQ2BGYrorhpectl5dY0cPBh4csw/pxdeHz6F6w/XOp/pCUiHVXqIfX1DKIE/cf7kk+sA76QdpXMGDuYOAnLL/sjC99RzSjI84UzRWZeZnL7oG3pBMihjYxSYvX5UkRfaGJIo67JlXtxAhDTAO4av6ra0ZsxLtc4KAquoKc3rOFmWnFliD5vWx5iUWlSPmkO+JRxKGQWJC2mRfK2r45wrG2b0arPryiU4Ga0VKJSJsxILWnyV3W+YXX/1e/mZaH0lAY9rofbs7/dQ10t4QmX9mWj596v2y4373FtrSEsWDRL3xWw6pq6NTTVjKTjdOSHQnNLPTm/kumqJrSSMoByWBIblGaxN5qWkqCKf5Qky4Rd1z26rDD5/SVsj+YPZYjFXmPzj18MBfzjS3Gln6YQTgjDD/+tf7K4ZKvzgr7tGX7UbyqEdmqFxUkK6ry/2jD6gsqvQPjnX3anx5N/fuHbxbxptbWm7PzTJ1CoFesrhCIhofoDJ9Atsp/TRgRrJ/TaTtqKIJ0IZU5dkTaJ2sqMFzfEUHsWTqfkx0cpy3yOcf6mhKNiC9wPD48bF0ejPnJ2eOFU329xu7gfnT2p/XUG6hPIndjqm28PFEbCUt2393DWsguriR5w2q4IuqxVSRcamQ1ixdqQgaNuXdQON6DhIQtcsWVDWYqRLRAJF1Aw7NQb8nxXVb4kUgcTGwcUacwrjAjJzeruhjeNQUCCR+n4qXSZJVm8cQmRCOGjHiwOnBP9gDUkUiST8zo9hm7XsFPaQgaNPJhmEo1gI1EnuSLb922nhmNneHogcm7NIFkExGjko2giOSEX8reE7IGtFuqGx5Su8c2igPwMYjqP82d6NNBQMT8TLgRfjiIgKGkib8rnj3WHOSeWck+Xz29sSpkE/vWoPRcGNFEop6BPETN9b5bGsugz4S1Sc+cjBkMrFSxihH9DBfREMKBgPrKAc7TBP6pan04vNx+qs8TEbm92syHGb16xa1fpBEx6vpDCJ5r0HXdcO+yinvCnYzs6buDAdOEnexEvmNFFAnWbeLVG5ELOb7aLZpfhR06rUZhBcyTktMZetdSE935Au0LRBbMkFSO6wMRKE+M43TkLhYuypPeuI6S0AVYxGAg94KsCjJBW7GnJBVHJWNCZ32TZSBx4JrI/rQoDL2Qio8wgYKZyLJIMHRKHZwvz3A0qDSsxRSISX9WtJv0s7pcmEpdBns1iYyDXRJJA9U+bCooE+pcby0lIs8Y9FVlpi/ulBXft+x4yFTDm2eq2cuyY4pcmeXIqSUpJNJESTgA2hvPVtAZ2UKt0t7s2Vy0FfWXxe2A3PcLvhI8Juc0e+9shPwi4n+eED8pdD9y51uQA9UoyxKyU3cRkfA8FgxS12eVpTArhXoyo47AOq+6eFWroAOQzm2rjOJA2xMijS2piaAu95gr1IeDUUlnoz0DfB/rK71Zc0IYdArl4XlmsNSMQMvDxhMv9qvN0JX/50s0B0L7dsn35pEPrw/7/Gy5ugb/wjtHRS4WwI82wg+YDQ/ZPQAKfHr39lvvk68MtP0cy3+uKWa+tevxr6g0BAPuv58dhi7Feu/HD73/42Ymq8CwWORQH+y3+EaMItIgmXydDhztq2gyhrxLFelhvBd20ncDjI12tiyodFK6r2e0vsPL7jy+BQ3rJze+0uJlydszT8V3zf/9VtbrzDxhumXu0j714MiGL3MKe53MOMTt6nFYHHMQuepamq2lYpvmNIrf2WaAN6QVFSEbwp0CUodQ48XxKDxkIiofQmEiziV0favA/5f5Q2ciqA3PX89HvlHrvz0oSe9v3kpvgtp5NZNTCgACfrb1/1/SPSOtpqeSfc//+l8oa684nPNDIXcgJxMm8/m3y6HnpwJCroEZ4oNz8s7zhgnPHGIopFrsF8fiE8ggbJQd6Qd9+ddh7gFEzYev87MQQA3rDdAHRfA3FWbWFK69Jq/eU+BubGFf/BEwAESOFN+krACJOJf//xnWAdswjtGB8hj0PFL0BirPc1Cr1LO9gF90t9ulqbwXeR8JlNX8PLWM+xQSRpT3wLT1MRGYxXnN6Bd+lg1kSBb6Z9JocAvnzi/XTSM7aTTrPqLUwUiNOnrkpiog6xfJeDz5DWSwv+2ksvBubPbUkOaJGlxtlb3r43y45cs/BPFVSpFuwuLgTHqzRGIYeNcj3ROjh8A8wgqo3e6/eIJhLiIUUmgiwda4dDkTy3uhyO3gJmXw54Kpu2nGubXCgvFtD6OQxtuiwL2d0qBSqtDm2SuUAI5qhazn1F8pwBJKPaYjC58d4eg+nv88gDJH96sUEDFTPXjl07dtDYIMNcbTZsKcOsLcPQkVUqs2ynTNkrr8OtanJLtHhSpsY+3lLAnV6xoITFP4i3LoU7rg+iL98wYq2+LMnOx1bHJY4Oz3IzcP5g/7naN3J99XLrV8iFxXkIWhwQ7rieLk4xDFddKq5Itut67dWYzyabjuqFwYcTiZi0SpJEsmPY1YEHF81TxRmB189u+gkDRGPQ+I/ZbDZzzDm5+Cjb1Lf5trp9cuALLmxNepgdY5XXStgHbehxl0FWpaKGOCus6E2Jc8ftW5y8BYQ/bdn++Dy3oq9Pjb3rhqwbLs3m7f6fWdxyHUi+tWjrPxwdHd5jVWN422HBFZfKv9j6LzQSAm8S9nBSuOQ5V1xgP1z2mvMUEqW86HKIFWLnCmkRkHjN/rXb6ZurZotvXakFP6KrhwzatfbA+4cCpozXjG7b6j239ovi5XIqeP+NDRWb+tCGf9m1vAc+fQPSu4K92AleSlCzRjhsUO2YS3naw097ZZn1+/NZlaimrTWVZSUstATqi+88+DS3tWW5WYtPNfeP2pVD2a++DtwmOX2+rxPLXmgfNZzRLgGOJv5WQpjGHNWclChqH1NCs4P5eDVQdvmH4+Wd1cvNPTT3hu0+6hx2dmVAJ1LkPclhhOGfvo9v/aHLLXLKxCNhzksFNuXpdFbaEGs5d7ExDaWpdaMbbaAeYq61uUsTatp1ocEkHKNTN6CRZidRrOwkocDKA2KAIyzgJ1QL8zJ5JBSSzRUQ5bRtsFKNto1AW8KlarRRrwYJFTu8fSzU76hVs2WigiE0VifDUaQlacJCt6NEAflsgTuhSvVemZkXCn2bTLwz7S8fV07ujhP1wpdf7EaqRypQROjD2/cE++KutAoJWpqfCqDReQFv56q8uaMgW8tmyvhQHMXllzguIc9AUtPGM/HSFYLAPMCer454jfOaLckfxbB1yOxQd6IBifK/t46HQgkEcmJokX9f9L52XNnfgDw6P95Nrxni0FHyURBiBa862+02CsfWx3RTq4EHu1ykx7PrDznoAng6vUeSEgV3zr5B7GkPtotTpRdDRkH4kLepP3hMSMVOKuGgO4IcecGuk7z1kwgkokHh07Rp2cfEUG5P52XE+QiBg6MqkmGQb/3GPVq4+AzdqmL03QDn963G6BgE5jD4uj/24t49HjnRL5mBVq7TeGESj0CbyFGYjUVrknU4Tde0dV0FsBM0DAoXVrNMQQIyZxQT6LFJM7XM2+KqgtJOEIC+IvUWlIKHYWA15xBar8/imQHssF+5tVocQhA0gxWJeJ2f7ygpwes8BNt3aYNg9Jh12nENhdVnnWJuD8KymTVp6yOlcD0S8dwmvfquAB8N946SPlCPW07RaL3ywBUZoe7NfSRzfllDIBCKWP2zF/fTnqSmuuuaC9bcq3WBpZetEsfVBI7+QFEs7zFM2YyS3o6LI6Weyud9Sksnfr2jJcNnn9dlOuvZvB+g2bSSnzDsoldgfb89OXkwz94dsJTO0JQqXE2R+TCXtZzzIDo7/rYFjxh5t4VLSjU04BQ5GWKxskR6RYn0kSYMTE4MCMfKyzbnerlsfYVkCnH4GGm4DkD3xEZMEY4gk/tfiGkaVNvKYC1Uuk5B4o3a9moolwvx4LvfGinnwVj21ivF7KLdBWQR6o09Tl23m9YrtOrh9RXgYBZcGAaPf3GAuqf+8njc/xsymkV1Oh+y20u21zB7C8lR5vqKNbOYg9nm9eNjH1mhKm3fn3+aq6vA4S0QggHQAGQAfL0NW+dXp9VOBKLhs6fHgPxoHMKzv7yJYHb3RehSv763L73jbdieDY1pz2T+9W2Q7xxjnXZeBque/l7diQhn7WYsWATb08NwEWykCDacg5zArD1KJ4678BcBqD+f1AGQ40VkCWfJN9TLVumk1TayzFH3pxrbzlswHSCuRta2tN3tDkSQkDJfNmdkeWkL5+pLlHYJNkszuXg9oqDDjYi6cZmml1/gGx8K792Nc7y57TisI4SiAGnzCMGO6pxk+8NWxalA8Ph+EDWyU3mL3DqdJ+4F08vGsi0dqfV26xRvrg2OuzrUuk6BC0fRc4lyWJHcsWZOGeQ5aCmQC4F4oE+K+iQi3wl3pfGhmiBY9SrQ/qiEBIgB+bk7s49+f6CPeVMwvnlWAnx1Ch9FHYmBccC3oILiX/TrKCfD/NmxPGf3AltQU6WhMk9ffvuxlpK4zCebntVOdG5LVcdi6dSbdDe221IxapAvzwali0sEofNm3baVAMkfq6SpEIHZlR8Dv5idVZhCxB88+dbIsAg6bmsKi3T3/P60mZwsFMK47Ye8EGMQMEruY4DR+2cV1LJzzpU8yC5ry38VtlMMjoy00VRxlxl1kElhE6/WBCEW1cAweB9xdwuHMGwIPrkiHoXli2SSypvNeFwLyN9CAlv36AF+ntQhTsI5zB7Pu6DOkt5MF8Ix1nommvDltSsBucSVtqxJJMfs0CK5srhHQ0MOHWH6QL8cUWdlK+7QqK3UanxKQdl9NNchWmpj2/HYap08Q9F8fApUH0z1egDKDAWBTMBsVoLebJ/O5yNkey8YTBtl00V3/sQdWr2NvZnd0L71xP/FeKPql5l1l6v+laaJusDE2gF60SdVbfP6/q249Iz5Z31vmC66WSdwelqb9DfPuopGdEYMA5zK3mcPl5mDoGVz1i+75/7j5fM3K21vH86imQPhLNhpg+XLgXcYbmQZ12Nh4rPChwpTZTIJEtNvj081hn1q2z8WECoBoBKev/KKqQSASjDKqy5eiF8DWjf3zL1N/3yf63Xj5z5Pk48W5nj5kssOmxvAHkwc057r2ZhNMzH78XSFp30+Xn3BphpANYBqPH/lE6MaQDWM8hmU6qhb6t7dKWMdqCuU7GJGC83UNuoFdnoprLnq3Wyo2u6VNt86ZI8Yye9WmlGS6EIHVccDD8alalk2AXcMjBj0/lBYUSAaksgNGgIWn3BXJ0uJ9nDanyyK0NgmqRF3QJuPa/GHRtwxJYwY9N5/Uci2PDGlkWCkoWC5jI0VuKtoQd0SjX9iRI9FLosiHnWxPRws95J7nxZX2lB1k1dWGxbFhvIAAADuFgnIAwDA7hYDg7pNQpS3SQWBt6AjPHewbCqjFaXDCaiIgdgZ0aw5WhJtZAJIMuO2Q5KVtu0Q9QqTuUeo7a4vMQ4McmdU5tGC2ZryiJjAHSkLNTJ7J0guvA0HB3onocWTEzs1GTT6/CsLDXYgkCIG+wqk9slBg6WNVZpVe8V32mlKo7fVdaEPh74LPZSX6UtlqnFl/ZAfWVD1VaPxCu2p3mJcWT9sWdUthKMSeOaiRuh9yTdV7e+V97Z+NsoBSEpNC+iZ1rSAHmlda6n1xeIQAwcLPuj5Ncd2spAaYUl00W/D3jRQgH4EeIPBMFuAQixBgIKgtEAAdXSoZRJh088UydEFuSi027xy4h0hsFw3uM84GUQBYy0Bi+Ghi/UtQFFszG8R4HD1S8Gl733IcGuBUQGfkS+G0bYpgyzc6YXbtCQWGWTeVUuNxu/19aE4hJO6NoVuuEYGtET/2kIlpKbKLb89mMb2KhrbOmr3lJTfZe+AI0bQAmfYpAjSHBOm4S0ezT7oDIyNY5dXQx2pLSIVFDYRr2AAfCNYR+h96HSU0BcJr1YSD5kZjLZzCi1QaPv2jy52NTE1DAtrxrBaq1ID3FLsSNSo4uBpm+EXnZi2UDW7f3QxNGCclXU8owUHPY2yQm0z9BzwkRFjrCIJwS5Ht+BDD/zgqFiLm8UyWFukDQu0DQc2EKPzEtOV0jFX0A09XQGQdMDh4yzYdd+Wjy3rZRvZcEz3UNMKbEwXrId0YduQxiSDXL6572tnhxKbw+moyeJ6aPkEzXOojMHv6mDlPd0MjgWnXtmjGxQ6y1ItwkVMUqqGgTYmVR/lRfqE1PxAIAN5hfWqrEleai5F730MD5tjaHjcYH3IHuMAorWRFjNKCiWsVXjnsqItGUh8fmdNqfrD2crGquGDFmyWyHCkf2Lm6N2arBXNllJrgJCjBAjQmGsST4IPWG+noGk+JWFTP2ChnA7igIB8OtCJJxGX+9cDRAP2cUQbNofiobJxHxL7Dq+LFA7Fw4VCuwY3I6U6TAodFtei3QiHUgXel9QTQt/XQHCq442Rvwunob8/3Y3c9Dglc777WNvdDvkmBgHfbTwp9Gprh4DP39qoBGwLwOL5K48YFoCFUR6RcBrKJGhOe0mNpM1EM9vG0omvsqI23InGapikW1jN8aVpCSozsCTp7wWa+Or2FywxOP+LG82s0OzAxKd2INtpcqXGJJCAPsUIBUs/gDr/xY3yNfsewBgmSvOwx7BF2iwXeGNCDpAcoQFDfJ0KqoiYbZJiBnBIW1QcvyEbOI1oqCPHLsvXg0aM1Q5WQNJ0QWD42T0CDQ2wmlHLxh1+J0nODMcYWvUSKAkdnqctvh9Da608SgL4jg/A8qmZHyhuUZBGMMPXe4T/sNE66Fm9p3xFX8KAedzrGGxY/CQNM8JCWZ3dswJ9j9M0zaDpl1jl0vd+q/gk2dnFSECRBmU1Bm8NynCbX1AC3OZ78ovIVqbTpPT/Mv+jQ0jeNFjH8ZtlqMBOWM5AmJ3mj5nfaHal8S5hcMU3BjUQk6zlcszdZbuL744pTwtzXZrommJ5BGa8NLE1xfIJTL1+hVbMG6aNijqKeOhU9kOzHQk0kHF0Lvp47iteYeGM2UlGeSJkfaO5FVpCq3Vqozobb3bKHMzTvLmzfMdliU+6iNriHENJmiaZ2sIdszJREx4q2Ma82fumpB5iRxci05EJTblKCiJfEq3nwAmMuoGC+JfEr8NcoKUV97YFgRrJJIZtRrWVD3N83T9MuepXQHG6pmZ5vPlcwcBRlAQZuHdmESE6pqH52u9fa/sMHHSS+QApMcn0utF5ZXmCmlVIF0pShetMNYN0FA1Nzmi69D+L+hwFadhmsCBLwfEUt9brYtk3noLWt720FcafbuczYALlW3o458CvvXhYRZgMTIqO3IfNca2fj2JJRjElwjauQovnGr/uJKYCLyxz6ggxQPtjnwn8+5LqofPjcyo0ia8hp7lVsDU8dtEhvm7b+PFhDADtmh8wPRC288IvSi/pGX40Laf7ostGrmBLLbnoYmuwLO0YJqv0P+vVasnF9xpOk7djmGzwxgRORgfmLdNWHqxEufNCUcqWyjZb5GeSxq3/Oe4wfb+7ZfJLILslPR7tnXWrr/q6E2lfX7n2T4TydnmZksrrP7PRguR/CphmUPyXwJafEIxhAdOso9aph3sUJmcmYJpBNfMBuLfS8T8HvFNpNL319LIiI8huJ7ntcKXZ9NZ3Sl/MwSbv6tsO0G+69LD0jxzG5PVtBStAJzNuJ6kwDe2jBwA6mXH7gHAAyh39LEAHdDLj9impMA/tuY8BtGTOzfkdKtjM3G7GeDAaM/8zD4ryyPMcvV57E7hAvzIaNa908fcn9Eh700bu+BVp14a3yPMRwR2k+K/5Qafme5vda6Wrt8qxkptDdnWs54ihI8tdfWASK+f/lffBOrN+vH25emEGq/Hcm+HAXB6yOWw0L07lpemI6XAEDXRtKigoTAhPWP5/LJvW6LMt3Pqb6R8zOkckERWF/0H70vxX6JrCJdhA6sxCbwwULiNm5YUkK62icSdIUSAg7VHAAVcUDdBH87dM3/oX9vULoEFYnPqQ1+OaZqKGeZO4TRwLG/pQqiuUb8KYN+LHtkBatocnPnSbq/fYvbWzPiZvMh0e9ljY0IdS9mjFJow59YckEIRAGAwhy1QW8BTfqgGy8TRwRYBNMyFkJz60EFYH+93rV5d3mTdZdN5sx7ChD6Xs0YpNGHPqD5kgDrEwmECWqSzgKb5VA2TjaeCKAJtmEshSI/wn9RaC72Fdh/Q8BewJDXZmXnFydp8CvufBh/SReQ4dA9QqbBSAAkDg6mCu49LjwrndEtihGr+Kjzw2u34tevIGmj6YsCs3kD+bBFQFJDH9NDyASQARKY10SbN+eQnM0KAW+8gnsNGSK5RpegGOzpVSkHaoJq/iYhf1a3G/Gj15BVUfDJjIDc5Fng1cyYc0pp5GBFAp8ATzuHQNWbh+WcEIFaojF7sUNlpyhTJN8bxKsH7/6GAEty4cBWQxVVifyiZXNmHknXhcikFazo1zpe2U3cuo7ZE3qxLXZ+tWdjbZKm7oCdiMwdM741yJguSiOSzX3Sz3sa2ed8/iesC82SJtR2zdys6qP08aegI2Y/D0zjhXqkFy0REs193MXzyY3jgzN3kgBukVD5ubVyRmk8Am1T1xBZZsh6hxg3Rc+dIEmeQYinnQwNrvHSjLdllKZqQ4KGNuMmf8J2jAr5bsa8yrTlZrTK1d8tW2bTkniZmkUa0ANME3p62UdQ0F3IP1nlNv/u6XHV8pv/qf75ta2w7jT5jPr7k3qetOAr29i2DlmL9zZfWfJpqPP3znGbTMyb8FwbjFtCL54g/xffAk81NuLK2zrfR3Ri7pvrs/GnUS6MF7CWoG+UMD6jPJLluhBU9wX4z8f7Txe9pABZAYpOMAsBwUWIX38Rs+ZvYv2DAoxqvUAf5x+YX6J5QCHvR7FVBF4gjgOAj2o0MH/tDhzEzTtoVEkqJoTpsGvqUSplj/rMUw54DGPS4bfKc19gjojAqBqTGYKlXXoFTCZppXf0ebJhGAMTnS4B4UlwOOQJ1TKmKobMHXIiB+FZ6UdnQaKlNGxHwkp/D5VaUO/nN7e38LE76FampMFxjh3y9jefiW6h6iOwE+sgEQ/8qURX9FPZ38tZbAwUkQ0AIy8nVAHVAF6rnIzXyZjIsH+2tNNgAMb2as+IUL/dtt+7I8NKzff0yh9eBgTAKVMdx0vXG0YmwspflEAeyVgzB3AMKxA5Ce5X8Wj8NA//agOvwVNRp03Xy9edao4aBm86ktz2lKLCeds28ecGKAFq1YdF/K1SGDKpXivERX8cZ000zgy2S9Gq0NhFNI2/DnQaUhTnRehgSGweJJ4SoGjmU59q6XG/fNgQX1qUqGZuddcRzZzqfhwziVlPML2bSFrWUP59lw2VQs3N9evG9+nX3VA54c2dpncBatXZM7QBCmlfcTySvCR6fa5xFzUvhWBofT5XDcRKdpbHkHVlHoDh+/ZCZt5aTtiDpNZr2AIVLyxXDQkl3oN5Dh7KTJhHbfb3jQXGf86RrIntliL/B3rXX01ga04VZy50Mhn9rAF3SqhwtvyVDxml9REUzFIrX6KVhHXTdw94eEZOKDiupHm813vqLTYb4dGLT/CpBxNx7Hs3geD+Jeam/YIQkP43k8jHvRv+HF7sYyYv+l0mdFK05w2qWc/eMgb52Sb+ptG0siT/gx6PmJ7bw6Ud1fYJ4wYAZdSvMJuVfJMaXtqqGCOaS17RPhPnEkYYKyegDC5g8Mv0QcmbHHABTPCiJQMQptxpFxQhJCIpr9GWojsE3k/j2ZiD+iiCCRvjeSaiCej2y/ObPHKuzb9VWjWr8XVjkOfowfJAigURs03SB1QJaa/YBkC0xGoI4cBz7EXkAyAZM5UIuKkG947ndzAAgeJjAksLcTTIC1oGIVcBsVSM1477K9h/WkKg45KuKc/PIkoGn5ciYX9Ke4NpxYNPAZ3V14ICAQ4I5/PQP2tpNA7leGglZUrjV0IHpdOTCx8z9Iq5w6QHdDjCPen7uK7/5KVNiJnn5xKgmEvuc2J3MlWS6ZQOOT4acWtv6hBN9zT9EaSYGPdu2fdW3/YSfJy/fw/mfsT3+bk4Dw+iLHaC4RVvLdJF/yLRWzXMJHkHNClHMsQs+gE9iTmMMdIHqlK7VjiqGtywYXmxJku+SNfUZnU1Q5DeuL1E/wIsEkJJB+gSYjNvF9rDAMTVPfEFcVzbDDmVQfr+TiEQzxXKUluCVaT0yYeIMHTQ687bnclbXraJvWaJo4jywq5NdnAxEyP/G/kaF53uMNfs/55hnuu0whWXVVdi9W8rXKyO570xafrD4QVn1BcmcuiQDTvPbGf7nU9+LoHF5LvXNlw4odIknKct+wgScQ1tb9jwrn+s4fvjQJ6kdwaMVW5IDQZA624nffCoewhMOhE0mOYfL+pIMY8LEK09hmJz6mE4BAhJ5Gm/ViBQ0XEvuIM5z4RR8xybwbFB1Js1x+CpmCXcrRvRxxqT7tvqA30vvudOPDs9uAlleQkLduIhkA/MCdEpgYibEa1caS07KHXMyaCQwmS96WJbMoSMYNRTZJaus6EhlxnsEcpdFY0pFihSxpKaSbyyK+fTVQ7Loph80Knrtla6pPTvZhSMrcLENPISlaxjmW0fmOZSSboRnCCRgsXu/4uWFGcspNXSHnEzu6j5rK1NKcmDZIdJIdYI+jH0bHsYvYA60JS1cWEWZsVS3766P6V3Ui1r3SuUU9dLxcxyfqjmq+YmobDAtvL7QgmsGmD+aXoMk8n+J209Q6BDrNdOoBtg8Nqswh9qakG8d3YnxFaqX9133yIuRTbMSTMzOL4DvSzkLU0WjWZEfM5t4i0fvL2xc/TQW9vb1ExK8HPT1TZRgPp5OamTqaWUUEjjmk4X7zysspA8P98/Ir37Htgd89gPzJr7Os4W7Q+w0SR6NR2p8zmtxbDJ2d67v4ZCo49sEHiYiV//miZ/okCRbV4Gf+Dcb2tagb+hOsRrBd+MV31S3gb07cWdAo9ppqn71HmR9kfOGGuF5u4jT3Nwbcpn5m4NrA5YH/DdDTr92N6qGeRo+FoltzUtNzh5bSH/uUwUDoKs3ZARv+j6Zb1hvWysyML2rAurgOaJqdg3g86hGyBJFAsmQqhQCblUZDwW9Xc0+H2FhpH/KLvGCOpfjD6fZEZ7spzCapP3YKWm4duK4bHDkSJ0w4hnFDoYYgqw0OlkFdabTe0VH6N86b1RoCNltRPhFo/Ia2s0396vfPyn/9Zsd0uptB+8mazUkO/a1nUKurxfq3nsaA5HwKW7LZxiRplG/Tg4OFHAzlUsvpgNsINamlh/EI6P0QZvXXDfb/RnlFp9jT2BPoxw92Ent4DS/FShlsUrIysCOCjiu773eR98vpt2HcZdoO0b6k4wOK/eu4rt+5KwBESanSnZ5Mzbc3eJoqM83L/Ymt5/9YFe/p79GfHN5OxKdPabw8P98RaPSHBtMPLFtM6zk31Qw/eZMJ0IEocpwTPFxOnZLXaGu7zKIW2itf/7d/rBb79p6Qv3dzK5W/54zmr587qmuv5DcsaQyWLaYdvXs3hv/Jv7gGmAnBoKpWTPOV/0b29rVoHvRnWc1gp/DL797RF/wz9UIFjYDbJAL/zJZB+ENsCeZfa+xD/qMqun5j6t3GqPuU+3cPRH79nueiiiqxBHAOa5rL1HkKnp1Oo3qjzMaHgyYkIRE/6AkpCrLRrv308wKF7cBCAiy1SjmVg5RKTYnlT0yHxETaLzMh2DvXN9ifOqTcO31KGvOuan+lIjBMJaR470lEQbHkKokBdd+OHnpvkbYwjMuuipnx8k99PI78qYMzPjUeDtn2mVQ6FpPmco9g8uAhpw2CQWn6njthw3JxhmaaZxcxJhRSaJz9WteFAECBnLi6slWZRfiQNZjkCBg2teBofHmTQDpFC0kaFZfIhd47hPfzQkJlavk6QB2gDtBzMdAtxHpkjZ895Wb6hSqK8jT6Wbq9AH4QpSj8gVIuylQIKJPvsjBSKT+Yta4Eg1w4BUFdSz0FIKMpAJGeAV4/YauJubugiVNVhQgYWaCsFfhnOsyUKwYOD91z3yRMI0obFF3p42TAa41ENnyP6ZYEVjJjFajMclLdIKhUsOPIqkaIx+xAIwYKqpAsER8g4529c9cotLfYHTwqeU5+z5LLhdo0cVml3lB2SubvilPD/etn751S/N4oXRpocLppi90NhPgPKVev69XTD4g25kYHq5J/bvtFoVwOpJwy9TO7hB9g8d+gQEH38HOF518N4rOO4y6JbyxgDGNduxDszHdIo+dHDa02osWNtWPIx3yIefeqvQsHzbVMlveAPNAjBSx/PKy/ElVRKaKhFLeQYdE6xjk/zX52ztl5ba0T+ZlGwrbOieMzZHmgf3zZf/tEhTZxp2S+pvbo9QRYd0gggBmFPFjrRL5GArM97RdP3BOZlhj+N/gnywK8jqK+TcQBFsv+6kDtOYdfBfgA3aFOm6tR7GUFP0j3ESpg8HavDfdg7q6AgU2CZy0BbDmQjAD240l3cIsrmqiijwW4klnAXARpQQXsueZhMY0vj5y7f6blFcdrw2tWRJ5wcIq7f9sqP9A6etfkrbK8dOhvF+xd5d/OXPcz4bWivkbmt1f8RuWz8dFHkrcrdGhgIv+wejqQyn8Aj7IBRXaBiAmAfFx66XeqkLuwByXpCn7Cvuk0MLiAoBoowAHkQCUdQIMFajRvvd+fHhaxGrQtlOBhOqdmNZaOA0sl7t8lOcgG2IoiRSY2X3BNefQEPOMzr/cmfuulCwJv3/IjuMVC29j1x7XvQ26/2xQhzucebaJaX03cP388eGnrE+8De/0F/OvYB164QQvLjk4cwnCbo0unnx+WUgMthFpgzagYro8fPq+775t76Nq8kLjoJlmERLi4AHcMOr4DtpSHzcoD82EHeWDsYfVxcFhXMn8YfPMfmQb9x+qlbEweG/mXeJ3EN2PS2IS36/o1WQ02JqeBsclZYM/+4+AK2sB29m74rADvlgMtC0oP7amtVwhM3rSl210Y8PMypPSp3xFCl/QR036/E5Ed8RzUpxf3vOvm2/C+0El7cjBTweIaysTibF2wKTEDEHnvx0hTTrOJkVpLT8cuy3VntvYPfOaPmcNa3JbiyiKzlvU79pXDoMEutfPlYQedqwXRl72B4gTB0L2HWfEKGqnmdTGgRIe+y3qqxWmWVbUJ6yz3X+2Hm9G91k5WAYgQdiCGlvZV4P59ZRjbFwRjahKcOn04sz3TO+5dXIE41LwQDkWRP2ydQFVQE9oGHwGYkh6FAtwrt6e/5p9LOlijsObcxOImXjgYU+ATucpvX94HfBt+m3QM0m9YCSbWQyjw91cTHGMRs4rQ4X61a2xs0g3GzqqpEWTbqxje7AMRzNnphrxCFZYRM52WGsoy0aYTcA9Y1apL4ucBffJXfSPKljzx97LX5bOyxU1onmcJo//75oye6VvmD40Ja53dHsuHLrBQzQhjzMrOBfno3zB3kBBnvE+xRbh8pYxmjJ+O6yPKIap3xjs/f22B7sBkAL2TYugdR2XLufdu1+e7ytewb7bOI7bEmiktsSOOGdPuFvwCZs/g0Wn4LBsHAzv9XVQmOqMZAJDQe/gzM+sFL0mPyqBIfyTFgm7K2p3WhfDFDYB+CVneTF6Wgx+umd2dwbfyKccFLMeVXB02qdAHeJkV+LbbM+/rAuPlwIwk2PPvG6Msu0Z/1keR0wXaJm/UkZb8McV7eHeCye1PNnyDjaaMv/AatrwRYmdg/B7B0HX7UNRqsCeo7BDQ8FFIJB4+TqA5P9aLILJTh3tDytiyCy7NFVb3kwlCFuJ3lAAOqARjWQA0L5qmCeqCs4RYKoxiP2JIu+SDo5CGx9zF2YigZEzHIVwlOkYAdGr4XqfvlvfVvMFXjVSp+ygnjOFXrMA7lIDOgHXYi62J8YksezASR3zNEx2VAhA9fOx1E79zb5edZ6sMy3DjTjGyzR7BD4R4XsgewZ52sJA4KK/egTxso63ClwHG1JXdkTY4qvcUBW7jczWjAGQw9h1VqNsgnd1Rv071mssFySzDjma+kwFri78xe8z1+eOkJWPGKUckwV9RgP+UC5/8ekq+UvFj9P0YjtL5Qf6vnV5z/hJGB8h99OKjBicLVqkD6cK5h0lVj9zl7TeJfgm4O7bVhAm/6yc6Pl973KfW0eUcjU2/NeeHiNCbEBlawb+2Q7IiYTv4Adf7XJ9nH2UHsF1cmy6FN/ew+CoNJP1W9hpshPgbu2ATp8KljXPCbV7mIQBlxBk9BXooMmVor2cs/LF4JBT0eb1OJ7okuLUzh2BNLBjmUWbs7QQ0n4zESBxDQ15MP4F7A+FkoGpJziZOBxv1ZWjY3aAmRKgEkszEoqYfcd7a5MSbQI/SfV5t6acCtQyJu6lMudElRCEWbS7+xs+8ULFDEu7GfdKE1L31/He8PyaQrmIgR1qaxiiRvo6oc5LSMJAUDe1sDWADtFG5Dp0GBHCTVoOcDYGySYCJyEqfOqB1HR5qJKX73eFcOz8SFBKQok6pdW8xx15QXlADJmCnXChH4QWYJ+fJ3ZKZdcGvlZfer4TmFVbXyHWNRDrtBXYG2VAmiD3kGY31CyMAuuBPl2xdX+ZcNwB0sUi/9poCi48YPmoI5/Ptwem0AG6/7xR0Z8dYmUCnUwgMavrqFEH02MZuER+ZUPqC0uQBnDlSzNU/difsU3dS3tuaaSBP7Q8N6tBb8ycB4+yUp0ygm9sIy9Gh5VsJsgdty5669tyvTfRWk8cYd0v+uu1r3kcldGepzvHG1vhhaMc6rLkK/nbjQ2xFw6eNfe4PD/Q3ofwj0vgZ/nnz5XFUP+UJ1FNtML7y1smKoZtiPJXc4ANOx72frecpAhx2/VRvSFlrN1RBcFG2L0hSnFnAl8JhTAahMRgYVgli2KzD8RqTEAA6ntElCHHBrdf2t7LVQXR5eH39mIH1AQEBSLeNT7ekkCFeAe5SDBoIRYlSvFJRxOMog7TXB9/xH9TDJrQFbtneJhbr6OjPIB8Uiur1+oUJqAU1nMEYEKBdK4kDMlH5Jue78B7GJFgqz33DqEjuBC//xF8of1qFvNncNr8YHNf2x4rziu6xV6auVrB0IHG8FFdWaJdFUeIBsL+1u3fKy09gCXwcQbhXXbciCWJr6ox2MKPIxYLeOMm2ynvtMK4bByNUgX1niwUXmXJmkX7N4SSK9quvb7aKRbS5hJs9jVwmAjst+gbfYzzTC2LxfrTIHyWzZiYwHDcbKunsMpod8Di4n4dvsqoV7SjBwDz7zFz9o/87FA6vj/zN4pYx9NJ/93ytnoqdug37LdMr7YEE34aJJjaKnhaK7Juy8PSh6LHa3UY2fDAUKV+lcO0IUXV7t8LFj8PWBFCKtOMwyrM2g/b0LPDfB8V4iN6h5fR/2gIuwZ9Yiz95yL3r7rkH7pF73Bd2PhU29+NnqndDL7nacacUujf6Dd2lglJWg4nntZCEqtZAkaNRkrIHhLGJoKj6gkK5az0TRXOGPK7EVO1wI/Cdf9QVLAO5sCRQVANSKrJwJRKwQyWIA2yHwxqT0MSE2jlRnGwmhO3UBBjB2y1NALRyr5oXrBmiWhlrQ7i/PzgEHI5FhoWCThsIAfT48VUQHuoPAYfDoYE1EwK3VII4jniFREsUSVNbtrOCKjR0001nEMiEYYAV5VZ3i1CUH6R5vxZAUavF6owGHDiiM5wJvHPJVeC0LUL2Osn4JUggIF7FIC7LNfs4sYpnNlnnHUVXQfbOtxnQMX5sFlluBqeYADkIgN0VGXSa9BIlOBSDUlmQd9iXozyVYQOIgPuBSfUDfQZIjBRmkBruy6UnNIBtU5zAlJpm42xTQ9r2or1QtiliZlqk6aDAwefDSI9fIixWZds1MOCy1RmEVN0taZU3NEuZJLPG2Ujn8NkXv9CmOtPH2oedtmH9DFncdLjfASE1gbX+R1JTm1dvv1kDh9ru9Z+hkSpcp9civsBlopQi9YO6Si/932e04e7ay5ZxJ1gt7eQ6cz5w7xojCi29/1NAwhBvWzu6doDZ2kqPujpvbGgASaMYYGtI9u5aPEsby4yM62cMQStNZ/5tWwDWQJqCTBvcGP7/JTL97+KsDG/ZBwtEpdTAAeQAauY123N5jvwmPAhHyHnypMm1FJHmmIqFxB21Hm4rHQdyswsXIUELvMiulSqNUsQL8pWvPTvsyK+U7dyFV2wPPKwfX0MM0WydzipWZdO7/9S7PN0yGgYZi0MgiegdFRdpGKtV0CtooF57YkVNURwXHmm8W4lLBZyxMlvydj7ZV9wLAiLufqE2t7z94rOsKpbeG3npM8Beq5Myt70aSSPAae5mn8IGkCl3ACa7foPjGmIHjUBB6eKEm7yqOp5lK4JardMe3jJdcHa34DUKGZSIlp7Vvbx3ru8NYg3Ht62+sacBaZOG384iBFyClNm+tL395YSklgJOufV1PyTBQYjCmJ44w3zcoMsYBSG51Bk3rk4uF5mNPnG7wS7DVsJNiKLH4hko4hnKEFgGgLwXwhiEpZeCQAvEgv2SRWuw8rVofk9wwAosBLHIQhHAn5jpNKMakWmHKOxt71Bw0qEZvgfWIS4Nnabvt455moJdKeAq1H8EVAj/eBPBg8wbjXYh0gP0NbYghMP4AdIHYMRoElsusCPboUFVUcgzVrMwYaIi/M/WB6aETDhjFn5iYT5gYCaiIWfhWNop+9jwrV/9T7fb+jMctVu/qyTY7W7PcMVbPUmy0PRvO1CgOwfy2dm8Bwd09tgfR/ATEkO/2SExqVkEA9ZJuyIRZFdzI2yE10YL6IpoNFh+QLQyA/cxDOAFAZcUSS0AuVok0XJIaGYMbLa/4ZIzytdbx3iNEkoB52cJ18UQ4Zsl0lSdGKJL6Ia7T72gdYLZJ0O+k8Gh3nARI0a+lUnkRfYRA6w+pFY+HHYP4r/UEHW2n3uWpqyx846zLI12SxoLZ+Lhy+5Tm0je8++caeO23CoyxxOi/S9dLqNbYhHNG4fY2hydWa5hMS7ZFdVFbZ5BH+GCxeXvLN7q6kIUn9FSuMP7yvlcnw2S9VfPpI7vYRD0nwGqA0/Pp58whrnJgBt4y3FlvI67H3/tMViwFIuu0XtQrcGcAqj0c4IClFoGAQgVqcv66mhkAoev4E9VAIYDELEDiuR3+QW4HCoDo4bhrSkN6SbxXqbU3tK/g7UW3KsB2IFhGBaslsmA4/uXAqqKjAID2I4KFNAUsHEg2DJkbRKU/oubwIRuwAAVY7OA4XCeVYFgPECPYjIussjwDBgdM8NO8BsX0E/E1USELE0RJakvfBKpmUIMFiOHYB0OCnMGyr170gFW2oCoBBqV2LhvxMqhWq/J2xUFnVN53bZLvrjkVjUNIJnh+kOqlJq0PwEi21XwghQxYV4IC0m99YhK1A3tlYpx5ersh7K20un057sMuo7CwVSzW60ecY9qhoDtDQXE/9/nmi4TVQvUgmMC/IWPvkppp2Fj4vxYdSEgihV6At48PaZPc2993OUOEhz+5ZvR6PMPmhxRA/5jrbqiVDrhu19KWSYC/L7zPylPOg8x8/h7/Ozxuhs6lGmiLaHsV+y0SjrsvD/c9h6pVKMjNP+JHlXEhN3q5x9UmnyGDuWxl5wLWd1pzB5NmyGtKgnJZm1fEFhKkQllkXIrh6LDfkQ0hkIdK2JMLncpv6zeck4GXhoMS/NIeBy/2+nkQi99JEln7kzqhloJ1q8ywfkMdY9Gim6a7/tLNIZC4c61HlrU0ItRtSkdMPS/1umSyLJ4PP7zYlEG/cojlog+FwYu80W/o+u9st7SxW57OxxPpd7xFD7KXOjNfEHrkV5YY1iSdzLXo9hHBxGr+zFxmI9he6WscOr2O8mq44DwQdLJ1Y9+h7gL8yvwYEjbDwQI+GfgQbagyArUdIWr1t6E7OphBdNmJj/T3mFpiLMTKMqO0SBZoGPc0Eo1Kblqm5cboWS0Lrm0mc0KhKbEd+5NaMpg5e54a3y2ILLx6g580EMHG64WlTfdvQtgl5T9jS6QaPQhNxdWWp/9BL+r1C9t7pZGEYnpzU/5flulg5/uFh1bs595D1z7h9FKXvodjodYLEgEKgclh8NK6R82sVennAITG0pYumVhv0mBPXHppSSVKVooaqQiEani8Q/JGYHhRXMqndWz6htEgHWeDIrlM7J/NzGClNZBAnLTPaaTh8nCrlLzXrqEtyelUGQIKROysfWH9XihgB5Ij7ANm2/VIDJeKJA0sZRCNFMiKX4TOu0bBcp0oVNxvCbrnIXc9pqSuAnZLPA8FNYRgjEanAvK7Y4gfasdO5VuMBiuxd8nc5KRvKcUSkMTLcdNRTn/Dl6mp5WCzE6E4DdXguCJe9KgaovW8UI8OTIS5ZGDOdP8dJroiU0VaP412ly8FjEf8FeqhUSB5uPMR4yx0OgI+/WV+w2X3XNtXGBb4V4PyYU4sIfIavk2Z39aCyTRghUSATAYmRvaKu2hQmECOsmQmikHrKmb7xoTcCh2MEX3VpMx6OIl5X04RMP+Ht3mr6GrPqUN4+HduACno10QGnk+qYuyA5pn0CMRFoFiwUnUKBLkSOyQTXgE3yN86KUP1NaZqXAsV2fadcG1epH7q0fbj/eJekaTEsdRSNkaRgNjTg0JIDsWZBSPAqduNBmsuz3ycBd0T1hISnHk0e9x4TiRlnC+gwGpvfgOwSnuaj8SBdG6Lr89+9FpllYBlSEqKsYoWwqKiQmuFLPyog0igJyqjCZfEXD7IP8r5khpJ6SOpmj091dMgUg3NaJXAvheW9B8IryYcAsh+OqKmEC6nWPFr/etiM2nJrJo2qrAP3UCXE2ZP0K2PXEWAhPM2FrePMNNAL3NY+CsHqBDKcWeB6f3qmChD6/aR4GD/r7tywsA2A8MIyUDVwXnX++PGgk4mFT79Dla0Gq/RKWxGKYg4gCUvH9XVRvCekRMaIvr7x2petTV+52Z3WUBtr03VtHTHtYq4I0ChAAUKsr09ok4nN4AO8ub6SIoppOtCbpVIGRUEIqvdCrSlrYXFZdUooSfRlVBBjD3ABi9LHoAS+yEuPGCZHy66RcySS0kPkk445qIE6yaJ36zyfPBnNurPSIaHFGFfjO46K8OrESnJbOa07bkaL4DvURAqFa5LSzLFAN+5LP5cStfPiiS22CdTQuFxU/v60FuZyPXoqFm4l3NSvVPuk3YgNPfJK/f4m82m2PYD4zP5//xsbQf5Zmg50PEmmdoGtsH1IaGaEJtnRPlaBxJ0ZKdq+2LVsKBAr8PjTsVgRzn4nRuDKf7Mtf9BLMZVkJt67brCevCw2iYOsN27B3ppvBa8hwU8mfSAFiN9JC+STqCOsfee2c1JXlrRpViA2bYD1KmDTx2clayv6UJMYi7gaK3/CAeYwq35sXBSO2jk/B6ESBGi1aTRc39MFdCASW006c5pSqetMPAxgAK5OvyD+AOPCtfK/kds5ZKRMKxiEwqbSJrRducS9dWwWRDNAWlYoY+rlnGH1vogIKpr+FxaLfms9R0uW3lsFBmxpX1pIQxBmtcQBEgg5SyxoiNwcI4yfqUpiBvdW6ts52Jd6msdTDn5HBEVbF4X1IkvcEQ54BMZYmTaG3dyKiy7QyGjezB49IlqudKeASuotb0JRFFXOT3zAbHXUnobf3S7Cyiq3vUx5vdYbzObsq3dEvqh/NgSIl42bX7z02A+zJBNS63RurWoq8woNuQBuucBxKcKeKbpUKXMO5LU2K2UN9oXCYgqqEM3ZU80RpM40lJautSMlmUyHQgIPUOvSzdNA6/Nnv5bFFtqHc010t2Ex+itEn73Nm2/6G3tI1u7iMDkl0Mn9yo7w8czdHE9nhQokhiJ6XzwRmIT16ap0aHSR81iDa/EJ76XK8U/ec2hfwXHElTUCLHLRPg186Jx63lo0cuH3c7nBqpw6Dehkp5vCMRJNNxwq8aJfOvWuAYV3jNWGupcXD47QKXKOGw1xkeNQajCJzl+Hblkjtdgv1OcpdPtZnadFYZocI+ieaaw9da3jDr5qHiPMI3v35kuXAFmn1hjsneEOlBPqam1qvMcYkk1cYdnRAiLF2pD2FSpbVwuN4q5TGRidqmcc6ZCmQhBJv7cQhBw4qHEHPAIQQ/ySaodoVG5Yzd4U0sCfspJ0bIiYOltgIdWrLg05u+hYWf8oKspgFvwpzDQhD3TiJAgly4JWjBSyqBK1N1xLi4s7ANrM3EBYwh51xI3riJCYLHiPhSwAd1AcisWAloLdEk60Mi9GF065wUJpTlIZKyFFDwEDE1pHDpObHrRw4VKo/Lngl0MaKplSXjoqev60dCQqQr0rwVtQ31ALWVySiWtUH+t+2HdWIjMSn1dqkiIwyitEFvs2PgNSZEOcsh7DcJMDTqrUX8p6pAPQ228BAywA24GUtYILvFCXnJcDqkoIglOyIrnedFHF0+MmQ6/mHSh4HPCWJPH+zOTB2XSsklCTsWd4isNcjLxCQZCAVbBdNK0gCI6DyzrwvTwzBnlSATLxtZxoi2HiX40KTw0f6gSETngL2nT5YkgmY+vCNgPjtSz0UIV8J4t9Ycu80b/41mufNU2IJjlQwU/NVq5Q1M2G+ovJp9I1o7mH7vHM8DYH5AIflr5frW0+0nnD4TplP8veYsiWMKTgmXnKTNGKnLscYZfU18kGy3yZaWu6ufcOmIiB+SNL9uaEnbqsgMVRkIjZFsjTdgeacl/jXxwSStGrZuvWPvNx7/hJusJbSMwQXsJpaU0wWRblohILUV6tb0y297ww5sLtt07lDCNud+fXVQwMxMGxG8DMEGowRd8eXvDSBMSiX7ivDargF6qotEn5UWVWN4K+VYBhLKkKBgp4HH7DgwYVlYkLk3hw/QPVEcC2zs3gO9hWR6cQCvTSuOd+Gpyrzo06P4l4tKDG4tiptgwfmZFBiIrVF1RY/pKcWdcHUDBeaBHHRRGMcTHP9mlBfmhFxufG28T348CFwZM5abUaq5w0j8bBs7d/bhONERtxuaUjiaJCheys3bwrYVvHq+g0MQMwHyeF1XSrebwTFxLgKmK3lieZj1IAiPW1cshaLh8AOJuvrHXB7ZQMPi8sscJG1GdSqsp2rQG6PaIFD3R94MTzsQjXzKjrYCtFj+0Oc2hFKlinXxtqlAQPydBqclP/sGae1m++rjNFr/qtDdXFv7b4l691GlKubwRyttmbvLqaBDldH7p1jdz2idQMf/5incAW3Yww0do1DU/Je1Rwz13sKyqeKKyIM956qdt8H+e6eb2Xpc01+h3Ya7TkhGJhbPnedyzjLlyJBt0c9GZqCK5VOtB22LkMMsHuCfgEdYgyx7QMGEwHhgvQixgjr9QAZ5i01EghPyEvksHITj5QnylOWasRaVYzICr4US+UI+jyePFIqFBLmdk6aTkLUAkYJHlB44GiwOR5CYBCxnuMdYAeIGBmFA6azLRWnpPNvbMK/69OiT1AlNXs1+fhm9T9w4ls4tf6pj8tsff1t+qzksfBvoyAr4i96FJZerFhvZFdI4RFuENYVOum90TrnxwlkGj4Lu04cOiNiuI9eztN0CBSVpe8a2EAvGoOPY0YJa3Dcx2n2ij86nZ6PGRy/MmaA5jL8EHJYV5jv3zwn/eNVionwdxbj5JC5rsqrV/nRR5MHn32SlF/Q8/OxUSi16apvNBjD0o4XKfm8pGFw17dJCw4uGiMLkxMnT/SBUKTSKzYKZ29MUTXyWEzA8jufMIRN8YNgTU6e0OZeBVjLP8SWSrCYnyCKPJsmKflJlcH4MgopRSg3iRPQAl6wUFiYBIZNMiLpnp3blbEOGSLbSQAxlr7dlWNJVaqNo6kouMZE95lDI6gshXpBlJwwKYfCkB1YQb62xLBRE4zvajlwsxKXn67tJqlyv54RuzIlc59FCtZ55ZBzy8SXy8FlMYEQpSOieYMKY5hg36YE3uWisql9EmBC/b8ekhpAK7Gm9O7GYzaI/LbKzLICcHJUYi3Mas2RskmZ7nKJuPqJrElALq5dK7do5gDA4n3AigCMwD8QrerqBA5U9qLsczhD0QUPOqRO9FRUWYYY7S9XQ8FG0ATB6ZGXqw1AX4eYRj5Q4rqmm3Si1nRUBOcL4t/v43vb2KAOVADPtxP+Yih9DqKuMN7t7T8+8OztIJ9YQCJKSlWXF5S1s2xNVSp5K4v5XZngMOZmTmeNxpA4EbUUGLcQ+1wwmRLP95WUt0vz/53RiB8Au/sbf2gZfC9/73Aymb3wDOZdFOS9E6DQ+OmTPZO47BvJexKf7ayQdSZaqQntrrmGtlhy4qcvsdjbWfPUmU1Ro/Lc4i9FbDM5FbVfTjWgj8zQ8KnyWM7rGWgFMTrIAUDaH5myhcl5GdpF0nz9QKWyTqoBMqdJc1jXlbw+U85u6b5/Xprr7n/YUZP9bo8iubKQwaD0fninQ6vDFSCAtSdn9Qmf8N7mm3fjmGcmGQfeZw/T0PxDdydjc9ZztYWYLqycqwNk66vKhqBziKEuvjXe8w31Glu43QjwSHqMnYBfF+bqJDcYojo+2HhmluOefGyfS2hC7n1WL7mdKYg8+94ZkMtCDIK4sCLBDgDx0IxCCQJUochOT7E91cSye3uhLDHykj+uR2grI6rOqL9FmIVO51n/sx7FGzk0855ZLCD6IeJk/gOIwSuuoOEs6iRpxJCcYEACwN22oAGnxM9taQigKBP90CgBtXUDGubfwaKXaFTfSV8ppm6s4spNGmWmRFFaZAFTEz8LcBIluJcQ/8bAzwbrmtXUvQwWRqJzH+YZ06GHJWvy6I13WA7SzRQvdpQRthymc2MtJE2OukfKfpCyrw7CLicZ9kZzQaJm1Ec8xLzbPo4uNa8F8k3mq6DsFaQy3aoyFJ+8i0lQZ4SmsJ/L0KsnyzR0K3jJm6wX1HNr5QpTe5T2xhdxGXMqV1BaYyqFVNZ7i/srIlX0kyXYWOQEFb0rv+yzNVZV4hBWaiEVCkciA/mHI74+1Lr8YzTS7jS3fc9EvNnni+NPntK8mEssFRH0KUzke8aKSV4qEkgF0SdqBxX+N7dLIxs3//PvxPXnFtg+2XJhphp86gPpAaS7+LYjLxIiQ2zkzeVwyEvvvqbFTTW3zLjTVljpxZTNu9h2J0vQPXMS+7nYP6YHo98SJln+FLpk1RptWc01TesL9aPr6x7vX/k791C32f7DkcTg4P0pnp+2yCV4S2y4yiIIj3sgiTGq02pSGOCjxUgk+8DR/QO+0TGrdzj/gnhZOg4Q7ax9kWNHxFJP+nBIteU9YXzYZNUMT0RYNwPFx1Oo5ZkwkZBsg9UY6DQUpS4CUGus3+JKfbEkNKD5Q/ag0F4GAGAwEQETGr9TSEkcixBIahwojuqcjh8jTM8tUqQY4N4QCeu7RcAZGiNhcaiMBEhT+ag+2YpUnM+mUKyjNsbK8tILCqXTZUDcnmWzWhr+BZgipYfkyWaxPcZCku15q/aZU8U9fdwinnGp6XWRBes8mEwx+zuSVdMCLsmouROJa/DO6kOQ8sUnwQ7JP5sLRXnbxleZSHbnOIxgvi0Q0FuuhL4QjSaZxLiKNr/fTVyqisZLy01YHhl3F7Ptttv3mdAzseXtTEk9+jBrK0DRF44IeEvvJyltpkyd74N5r4JCZnWXsiNyikOMJ4E82oMQuEDYBkIlLL41ThdyFIigVEVcVxU4N+I8w5x/l3v2ITblpTnsEuPkGxAZ1VpuxGPwcnYbTRDifkkMtFVkLWyYmlXQ50F/twVp85HEqpqgOqs+tFdTkEzJgGxhaZxKZAhuKN1Um/mY8h5Y+Kjy3V2pW7nVfbGRCihbiRAFnEEg7spTs5qJ2yx7bb+OU+oarRAi3HcXKDJaov2d0BH19ZMStp+yX26BqSTX1xT89wVnjvwqsaNpXodNuqK5pk6XTilH5wTgEB263Dv6piTRNieHc0EHjn8N+Ui65qB5fTSb8ID0RKHnoPvloKUO6ZjcHIYEFLgX+XLQUpdxiSKrmE0upa8hpUg4N1lI1/MCtprNJPLuULhoXgD8XVTSUFrkZEF4WlEAGbssre/fswhZ0OJpugzZi0miDYpP0eIHnWIbxsYpK1yiMwxoemguRnmSGA3elJnPxgOm554efHDp2jaClle6FjPmILhFqpe0NMhLSmopo3/GDqFW9Em3jak1oIJbFko7JsfOOeV9AKnYs6XQPbj6hKRrSxwTzl8O4iXdGcs7XCZ/EsRYyInPWEVgF3Px+OYd2wmF/438oISPjKxc1fLyDfNejr2K9FxgbewdC21io3ZyBsWhs/viOgpIKfmXVRG6YlS50o197WWtvHHxJoHlvOqGAd/aMOJVwaZrGSlsy9wRdDrrfSg6p5DCTQSv32zvYDfK19zVwYDG3d+c5I+QFtEe+Bom8NDcVxD4ocMxpBiyPHZ8X7uOQjnSZOefhNt1gEYtWQTc1WxorKIbVkTQkdYMhFB3X34S0Oc37uqC1krt+inmt2cPYMXqxSJ+m3KgapIlkoEwbin29OxyF3/4n+nBH00WghnbDOa5FEP3aeWFwMeJ8gXQsik4zcFQpsyKJlWlN1D9RWbOi3f6TP7i9XU2XV1obY8aZEXWTZEnDD8SihRVeA3zPOsxwCKRNAtSOa73+ni2agAizycEsRu3EqAizGPW+RRPo4UA0TTKZncZwBSEj9m30Hk0x2pq89LDp7iHHTIlWwIY9vZfYX9hM2L6ivX6f1+cQ/uMRqPmxTxfuus651jfA6l9/BhH4eDGRvFt8Tj65ufCb+nKeRH7saWjeKMRgKeW+Y9f0rsrsfQIsMEZ/paipIfhaA6JpwsjqCBEke+nZx3wwbbPiPwUuck6ACxiPX84YynsQxLLzeGiIUbdyEyFuKCBIEoWfuLLLAkzdi149A/raulpYGWImBKp+NNe0KoOlFFUe5gSf4rC5u8ukeA5mTRwOoZ/kSzwneRGHQ5gTbIgXTQ4CLH3AJ/kPi/xyeLsli4S88xwzzvoxJpNfQmyBSS2xA4YUUbzkRQXICprle8CcrhC+FObcVGa/H51Fp+ScG13/cHQhMIpMsN+dJXKR7fw2Ybilro67ouzLdX2dIan1zUaG6dBdQOdlTxNtdR1/4bxyZA9IzuwK0TORPbznNLh5tMBxz9PfkUan/6J987lDs3TMf3F7kX1SOxXH7j/+LR+fstDfBFYf0rcE57PsNGw4DzsK/nqYYaTs7CxFW1Pq1vt+ZwNh4yX41N5vi3Do3LMBgvDKHb5UPcx+nWLPOEX4Bn3Yop8P9nFz4WOkW2qNP1VvudiuVMKI+MuAy/4ZWBE/+uw2S+JUeYthDHgQp7tMH4q/Lwz8DiuMFU0PD/HNf4L+zbrLOsXautffeerfcdbjB/ings8UNLPMoLdDHz0sJuFPDNyYx0oA9SdUhGqXfBVba+yz0UgkHI1ps6JNdxu2Fcqru1HWhA5zK74jq6nLHDMQOFYDUi4nT9Ip5GgicU7icdYw6+LXvx5q9vehl8/R3km4Qw45h6CgS7koLN7YCP/uBMANVcS7OHE342b+kP5UPyLrpCoVEplUIhUJpHHXFb3/aGz85++wsB2XSp0KUVTlxGr0pVy8QIQWT7oPlwAYAzQqn5txIoGkczWaxshjs58xGTmEoU8cGZpNTak3AasFcDJwLY5oqeVUSFrXp1kGgFfzyZftJsJngX004al09N0g8plVd9ePboZw++N40NsrI/PjfyYmDzZQnEz+novLvknGloODXYErm2cbnJgBnIIwwp1L4M40muOONcvBN2uaOpwBYO5g4uu21s9du+bciJ+KlNnfrGneYPYgw3Yac2pomuW8RYy5EHBUp5FJZ1juaA7VvFgi7STrpDZok02amvIoaNLx2x5q6tGZa0IR8zQicZbG7RiCNWMMU63vTqqk6femgLVKIetHm8wVBVDPzEWuJe+2E4Q9HbDDIQyHKxyialbT9xHaFMIhysKCaPgPMxaXCs2xfzYNzRSaJDRDpdD0Hxi0BiXEc+5vdTfQQu+UkFKSlyb7Y7I9NgTkq0YgYF2mCppoTvnvm7e0TEMd0jIto3BGqdv2LRV3J0AQvTYmuyQh43IVpg27bO0aPlGTRzemJnduTE2+3K4OIsMdIiPN1OdNQhJPqePIFurzgXw71crDgWEs9W1sw2z6USB7LPhrgh0YX+k2DWPqUaDzkF/5ZhBiSKLbudaektz2vyTfna5YBwBg9knw8L4y7N0XBgc/pQU8gz3Ch6Z9QcCG3QZvfSzwoinyi2aTJ9SdnJsToFjbEWqUqpsJqaa8JxrDfgrXeSz57WRND6ZrM0S7C0W7Qv/tYFNjoZTyebcbwAS5ECF1d2FZiFenZhK1AzPsuwuqXWGggl+bRksx/0VVRUTk4W1keJ6x/O8p+fZMSUeP7+8sn93IQtiKh9zkC+4TWs51yhncK1iRnilvcK9YP3351zfg+1M2EE6Snb4I1Jf8lb3x2LuKu6zbcxvIm+1kh9Bh1M12sf2RSHYUWExYTRDCQlqe4r7UTl7VOIsjKBJh1kU9J4fvnDF4/QEJU/DRbDWPvoZcM4j2vxnmLq66B1dF0Mdv2LFWB9an3gQC/mTm8959dINGPum/Z+m8aQPouIXFOPp5Gejpc3Z8p//UUdpNT8mOewdraIzaSe0vaq/UrtcV/Rmh0O/IRXp40NH+4yjfYjSOihIBGBEr84W2oDF3bVM3kvMPT/GFGY8L+J3ZOEJZ0AG+JZJPZwvSglQyncvJphYMjk9ayJTy4BmG46phrigI7DZIQ3t9qGBQUOsfHBkJp+xksn4Ody3uNgEBiWTHzzJ7vt+vJxdjAFAGDHmwpEkh+el9OhT3RYB1VkuzQjvZuQcbRfPZeexwXE3ZEGZ0OT0F9p9713G8MQ9HqabCHi8MI02eU5ZPT4n9595du30oVfzYn6XGHrdcHWiGH8z69BTZf166v1y1T1p/ZyZFlT2B/PIkjeavbp/HOxY1s4QtgUI/Ze/YERLBFJS0+WTK2bFkdrQX9I+/o6CQvDyeTXHa7Pct5ltrm2ayomvi3B2uGxzA/aQJlZwqy+Mpcxrt8aKgnRtZSlkeIP+kS23aoXew2+eIFFzKFcGyacY5rXb+LSwZvEt7fYykLlsChmIFoYXam8q4AESbuMfvSGm2n6uG95LdCCscBHFatHF1ksJTnziFn4Y3OnmYCID8O6ALbJkIXpAJtrEIlLQFztbnco2tGPoWPhfsBeyZBbOZ1c0DOLvGOUL5cdcvMNtxTYfxgVwhsdK657Mk8cClOvRq1/WykeiqjptCWyWQu2CFBheQA1fwa5HnzcY7kG/H3dJfhK+NIuqbHCncK5MxIWFVfSDSt5gmz3wFJ5pBvkA8gg0E34ucJz1MudfcJvhITQkoVG5Obd0VYMVheIyhi7TmVgvQnaM94K8thAHDd13bfF2+s4h+isK9MxkVJrlcDxvCNbQZPjoPuFvB9DeB8wJPwlybeYc0oMW15hbBU2pKQIldvakLHlxhpUAdm9DFit/Y9OlXqQhPLqV9Kgni9jtR++0kCD2bYgBdtoD9U5Njl9zfh7qGPpP9hfXYiBGMYmu/+iu+w4cw/sUP+w/84v06Y2RaE+VclE/xeNRuj2T4CLGEF8EfsCoq4pGsZApSVk8zYHlCbZoQC7WHDlifjnIqOV9wkpBRd8jaXDsPE7nEABbYozQSYEBLJTZK2Byg24J8dsDic6qopxm1PKE2LTR8TvTC2aGRsB2zdUMIBvdYtX2FbMwi/WwSmDxb3y+nNjijNHaoYrH3hLqAuqcti+3yNH1bHinIxU73z+PK63RqwvAFHs2YzxTLhVjCGB7+/nYmTHoiYSrgJgTLJLfSXoUVtLoCBMQp/ogtOEwsZBGlQOzTFm6va7qGu6mGFhRQpvvoIb1gIkXCFbBYgzz7QdxUg7449JFBOgWKdUwK3tMAABWFrQaWrUDeukC8K6EbPGWbLEzLYFoTuttAlImEQJLiCkVSDCvlAtdJAArnUauw0TyVtQiAM8o6N6zBet23fK5hvs9YgHLZ1GHgn8gQUP/nS++/LWauOyNwBW1/vWBPvsr7s6twfHrGVjrl9BI/8JukC+j+/6XXCyb1ucmrKIrxT40SOJ99DoN67XeVIU/T3dwYCQ6iyxo+0fmIQhWD0YRBkkw3dprMT0ifXU0YSisjZcuYKtilOkX2K5cYBZeBWZbCRN9sbCuMjDQQs8XiBzBiMaEIYirwe38RObf5TdXIWq2toc9ZJzrvyrUVy2UUiFu+dW1IpZBJL+1HJH+9h4br9vU6j+v3pdbX7O+H8br40u5XolB2HJfEp3qrdYJ2qMLl1XLHFJPSiJ1EDyvVOObuSKN3HgWtWF/0G5N1VhLLWqSs7eL8uIWg4GjlQK4JcF0BXnIEpqfP3oE9jluxVL6e2VkkkVB98C3SLnbVBHfhmfPf0tl0xC/YbAkcyO2BZoUQqRJvFbF6V71P4mOjOZm/OIbgEwNaCsTlJrPuI7NhcYrwQafmo01FDayWFqyP7Ico+iJ++CekZrx3SvAqPNozlI4FZ8cEWyz4HmPDqzM/oUrp2SJ1xKjOpfGdeHOy+OKHCGZXgE0Byl9EoroPJvKpBxl/dKppzyiT+Hy4uLa6sbFGABnL8Q32kj+7F2j8FXyBZ9jfXY2zKXQuZbezu9md7I6+9i92KIxHKCRqyMPqNfZV9mVA1/ZdZ99sD9mN2t7bEx9BLorxrXm78StamVKED1sEJKsNeEXSKmoTcxOuhyuULMIuvhrltr61dwshjIlW8PlIJOTzRaNJVCjq4/hSSsFvolQqGXNXAvhLJRjTHH7YuwAyjlXIiQWEs7rdpwUxfvp282yhOtEiyTyQyWXLucyAQSXBUCQmOGB3uEN+u1WTlnNC+Pf0VaCqZExKA8O7DDrwoEowGKjR4cIo1JVVrE4sqxl2hWy+w5z05JsACQNAp4vsyQfqI98JEN0UMEkS6VxF8EAwlq4Xgn6zSHAiIEeNCoz6EqQ+jns9q0/kOmZvV46pWhAHuY1onynTMIvFIw3fv+becvY4oyWOMR7TX7MJMzZhdVCG4JRYvUBhVCGLlEKnShZl5en2B7twrj85YY+HASAXirNxxhWp0gBi5YpQMIUkg9rVQC08CMfKHHECk1NdWIhqND/o5QnFMrYqLiZyuVGe95YBPiAQD/SzZNY2uTcYjakqIJzJZ3Njb6gv0pgZq0a5FtEVFPa9qNFA9J3pqnOmHfVa3kc6EkBJKY15B8Lk/stMcQatpjQ4Y9bXJwjODL4YHxbCGgnKnNFWaGDn9TAJw4e1j6H2sxe1nTMbNbTpXGSsiAnLhjubjH9vuCKRy8+96ZtVcfsBkgaCE5MKfLpaaVxgiAECks8JgqNqrHdQsFytHjB0ISAAVY8LIpCmdBQbKERs3P/B1Uxs0yRRsN5oPXF/m9Q/FBbVt1UQIEHe8zzQPNADgVA2O8juxvcAL8H1SyJ7nIVhgCOeLPZGK4MwhN5+w1qEo2hkL7RCl5qeuKMsCAYHS4q5BM2xDa3J0B04byWoOe8TtUSJBxpRmVOUp1yXsiIXSeildPg6l6O2P5TEb/FsAd0x7gU1eknOUmdrymX/Sp2N+e9Hjrw+b3rII6AbzHnR82Ewo1E64k3vUlrL7uDJqYPOB7wP1UjNcYyBga/kXUzucXkIdXXKVCpU18eoqjqgd4W9sYT7byOntocXj0sy3LH9uuP0HS7USzbscBK/zoTtdyShWuqfb+aIs2BVw9Fr8ZObDCIUmLuJPUNNomVZ6kjuL+PacTGq2AloQmsTuCXTYsxyEb5wCjpjLQ8PUStOzHSEg12T7vx0kb+1/eqbkvcv3nr7s3SHZ7nPGe2ErrYJZ3uCOiMG6uQJaaY54BjomBk3q5+ZvOUnkg3WZyrTfFm2iDX9vufjS8LDOhqgJx+T+NHcQKKDTzTKa78mFYGLbo8qaOnX1AAleR1E8yVxEmTYqMa5mEPFSJn4EaV4AVgDAu49+a7kCdpjTmWpf1X3opGI5cSY5ARciqRUB1UtRfiIdMzYWCbZqTltrCWlNKuTNdhVbQjOjzVSgbhlDlaYOqjA/GiRFalVyygL7JYSrDith8kUalM8eFKa7eIVnJEClBbfWBmGoShV5eiKIIJIEWiKJTK4mIme4/eKkuvnHomVzoBhVQwBy9qjIsC5GAtYcSLKgKBM/BDhpqUdCVZDXCmbW4xCEnTaKlJ6sJmQKJ5hWDqMUnEclYeITeTGD8sEVxaXfZCl4WwyHKfCDjT9VQGORjCEJTsBVimLhlivbNWLmt4YCSKjGGsteGXd5TVRRuqNWn+LluCNQVrZC7CovInf74tc4G6Hx7573hOpAjJc7JmSRE1XuMJxsnvqQJ/nQni7kVSMr219qjKuGWeLLAsribpiIZhHVArE87ofulDKqJCotVD611GrkcSFTqNki9Zk4mCV1HWgdFsj8HwW5sriVa7mIQhawG2FEFwjDDZeuMQJ8jS4iOse0iJSAkhzCuHBeoOlZcbk8rydxZTIQIMJa3HSk3Qa1rc/1N7ROweFQedB5wITAA0tUIAG9aBBqPP+YOtAkHM/GM97w0I60vcCPfwIwYOreTyIMc4WjwrUSeZmR7pN1DzTkU1d9Mr/97B2Wd7zTJhwHlwZH00BtNwIQEP0gQSz8UoaWBtQzNnf2m4g4YVHtPJC4A//VxQOPNZo0Soq8GJwYyksALETDBy6iVVmLwELqhO4VKjAXn8HpWuqgOFpCO/7WYafMkQRajgNOjwshQ/Zqa0Ar65/skOpD3WrlQlWrYG4wJp3A5+xBguuAdX/igZQr69agxI4nZPz70QPj5rMJoU+tC5ZUR7rYXSaHOc+Nc45gge1hm7N77PjuXImy5og6a4VSdKMcUdutQtXpMIwSMVDn6aRMwyn2kRt5zkV4n6PJkYRG8pOuzgXjaBzspTLvi/AQqpt7s5d3Ft6TX0klVWRaJDIQM1y+BdNbFBzanUU1wlckVbEO4QR/28jlw89Dz2oLPp0nGqJSsaSSb/b7ZqePrFJRqlsz+Ut3vZthhP1pY9llKRDJWhFuC5B39CNoxjDvDK2L0d6+buWMKbG3RNkAiw9Cn+hcZ3Jvao3UdITpE0dF6Mlw+6fReYPA+98UlksohSzKZQuKCrimDzfW8qIkVEwb8/lDEZ80TsZnDfb2GZ9SZFEM2zRHUKOXpTUIKriYbFSIEQdS8mKB1czPmGZBd4gEAOXjCXMY3bKpySSrJTjrJp5rlHG6GFf1CL2ysRmUwNyI0a2n60QNG2HOC26useupBkw8nQiwXQPAHdJwpi6kJyJX2NB8t4RlS/DogxVcPvjZtaouz+9O96i4k7gE4l+WAPvfgmbhYVuqe8C1sAPnFT532B+2C7mR07vsXtZ3sS0Qj7Et5bTxNPAzupJoIfvJ+S/o1AyIRlIaCMjQoR4ypuEqagYb2w6x4Q85FeBAUYOAqxrRp0YlfBUK/eQqE3j18phWmsgc2mSEIt44EwraSPBVYsiXhh6q3buSSskWDUuB2u4B3MBNgpY90ZF8Kmw4gCNA6iRvFlhSVEkveDer7FbJxOSAbG7fWG2/lpCGTRv2Up8nHTIPs9vcHR2SnS0s3vjLJFvFHxiDNsSeYLktWXcIxoIVtuv0YbXb39yIkz1bd9VKu7RIIEFSNmKXZwLnAZdadGjT1Fu+/rVt0nrbiNQp7Bvj9pZYGPElzTZYqihI3yppjOAmevh9enDhDlOkq4V4+ffK5N+C3gPAMMUIYBGG3IAWgpQa8+EJlC9OdMjVeF4cgMKsbnQmZpRwe5mkWDOqlF/nMpmfZJtcuGw66/BziXOCHurLPIM+SDT4Y/rlGAkB5+PMgW7o3rTP5Rc8dk+0d1Ki0SDAXNIIL1xKhCUgsyK7e5NMf4mvT0XjKGk4F8VywouAg0vZqstdWP6aLGFlZ9s+C0opqHBCo5O7aCbcqH7dnAu+II7OIM/pFHJ7j1a2OXKx1/EU8rTU7Y04eWm07+f18Rq7LiyrEoohLXGVILiPQxIALEE/cN8RNUCIWdFqobIgii27RVW14MGiPwCrMS6nnCWIf6DfK0dNaQDOxyZPCPsoupNJekyKPwcLGSMsgwjTj5925wByBYL4BYEcpcI4KeYqN8CQgDGKQqA6TM5RnvBWr8oD4gLs3YkzNjGPjHCvjIyxC7HPWuqXROELZ3EoJ2PWtYFy8AwCbYyM7MU0GkglekMUHY9E2gmMryPUhCVmYwShGd3gFQox0YhQgwTnvEQAdULNFKxz+pe7WS8GAO0wmQHhqd1wKvQmaWmh6DgPv8SrOA9MdAacTwu2oi4AGNsgcYChI0Mqbj0Up4wiYVCkQqCUMXjH5qXDnnaujsxw1MPvIsH5AT0O4iGkNK4bGvulV05lj2Ch6a7zmZ8Ot5TQJY9dSM8kOej1Y1E1pfjJFjfMBBXlvewL3QqNgNFBkijnc0+mm4XaZbXq7vVXqIoWjldrWcnIfi30NVnyewfQq0SaoX+fYrRsonlW5UoeyKmi1FLeR2c6QYM7112ZQIWw9tXQ68DyAG0HqD4wm3MstnqxZI0DG90VrO9q7qPAbkPKtAku0R/Z94M+Dq3U6Njos6XEJX7OAagFDkUWE7oGJmmRwdy4pzP2/qS/pDukatMVKoBhuPJ/3whAdxC5vCDCdw8Q6fHTceor+t2Ylv2H4/w31SSrEIIaTTD8UNHUIbnm+MegPVonH9y1whtTa4J6Uglkl3DKwJ/Err3xy7M7KU9nSd5jmbbfNBi4NtJbmhsEko9wdqKbFXZB1+QErrNC1yg+KNdGt2+UHvPElakzJKHwAwbI6yUfRDl9Jrwp+0qqVTm/Uxpq73wCFRnCCNbco4H2PJgeVzOz7tsQ5LWGC+0t/2CNxIjAEXkQ/59ELhyAGpvdm8nBoYdWlW9Ws++JFbpAEHIEDjLdkkoK5hZHxHyAggTxI4oRvJQRMp0t+lq/jcYteOO1Aw5udBxFpSLoHABOAmGqBcU9FW0AoM3igRR7AinwQVCgBBzpoPemGEH+D4huNro+iFiK4i2LV2qBlnd+5fgcrC/AEIYGKSMScGR1oM5fXIUMflqJAjMjNOrM8bkDHcwN7MZGs8WStTwD/zKGFpmQTYcOOIqecrfiRAqHLzUR6yEDVrMk/dmMHaeBA5wGBw1cklwvjTlXZqiSOFISTIc3J3mbQ2I4YURhGEdoMICDa6po2qbwU92bDHBzoYfq0oTFBrERCPmWfXLZXev+oa478P8e3c0oiBeR9pZD1zyOU/VSmujeVcKbAZXW9ibhcVDKMSYXcFjZCVBcDU4og4147kW0UWOuPfPZzIQdrvby0WxCKKlj+lzB1a4aYrJW6URK00QubBkLv+HR7QzQu8E/FsjKE5Ng0Khr/fI4C92cFoasFvHWvT/fWcvFG4/0LB52kGqwDbaPbGbyLAo8HK8PBHKIhDH/2F8fWGoUCqEppi2JtpfXC9BacnnQ2DEXx+KbP7s3dS20r7v8zbriPDsGsF7KVAr2C3tM/kH2wtQcWRKGZOWwZjf2WPenyGnMShtsxrQo3WH7nvgSGisY5YaANl/LBZ/erEM1+uhbBY86Kkl8sh2HXkl+fP/zLPZVrcYiAh8FzFVZDziVpvBAIIN9I7JZgNQznq5RRdRF4ZfI04qj7U/LdIjHsafFfZDGnS32dF8cI4SV87LAX9OpBd5vsPdMmKTWdoir5QfBV+ehHdNmA4X4105DyiIIUL0ORjBa5vf7roe/t/P6X1yHi6wNqDUuuIrSz21yx47VFPHzGiZywNDq0LGpBLKwMwqSAEgN0lqEESslSorRX4qEtyhk2W5M8uTLwQLrlOhuhAVlnBY6+puWrY7iWLQGsMHYzVcbbRMyHIQbf8m6GGDz44NgHuhrGR5SpccTyfgS9awU6joKuZ01MRSFQ2Nanavj19AFkKhBFETRMJhz0Hrnnff2vu5l7AcsvVs3OAzgBGUjSS3i9jMbIqrriw2qLN6jgArlcB8DhuG6VjpkziXRVGOVCqRvATl8cTPJv3AWoU4egC7hsVpx8fJIBQMhgp7rCJ4Cw87YlIbRrGTzkKB5elkVjVRvNg0IGpAMlC3w2B5a4rvQtFu1wxsBYPO2LQIC4Rut8qOuzGWy+NTK1xq/TbUchR7o7HAhpngGV3bljEX2L5RPqdVK8YJ+SJUJzAWu0WWbe1sXh1Ij3/t9cOtaP6dyMm+vanzowN9mdvKyQifRm72co52G5++4LEniUCMu3FkL3PH0IAIMlEs1o9sf0VH/HHaodh7R1EH2Ye1iNCofWbPlcfc22Nbp40E5poL7ur2hgqVy7KntbHeum31qrVsrQw0kH3RSqctkUZBe0JCieJxyAn0GQxlino96imrP/LRFXWXQcqgGLKAkavVcoZIBvpmkyBKd9ONeI4MpVKn0Yq09TRKqsvSar2F1TQlfbI7wtc0f77NyMguD862RN0g/uT89loLLftvIg/r3HT9Fq3rJJ4KqpGydw64q1pkJ89PpoLYqG/vHHC/apGrez42uUbb/yO2lg1i1jOK8eAGRjLCbYYIgg2Q1INVnIf4mWN8FpFMlKQs1dxLUoBzerID58jz2i0sJMIUo12x4Cszb79dfi7G5cRIIrDw+dwpDZz8p6/1rgfC1oed4ijrZB68VPwFJ6bLHQ0Bs2+feoIEYAxyDC5nPWL5rL8inaptE7uwWfIYsZh0Tiz8keohrGNNyoIzSxLQSFByZlHo/RCIXvL9KHtKsqPbscVurEr6FnxPHfNrPc1GaqjDxc0vRZYZ+IoEWV9YxJoQFwDWXnLtLOZ2vu909nnQnirFdKPolr7VK+ooGsft0m7+5FBt2tXIszViC1VR6gWA91baDeqA3g+AHsjJN53HGQ9pPua9183OMxHE3LxeOTnZKtSAbIpgdASFSuequ1JQYbOWS+r3yahzXr9FZc24oLdRlHW2Qq8qWow1vbaCaqYYOEyxfLRbacYUxF25lbKHlCrc9oV1fyNWHOeLQr10fsn+1pMpqvegVzdC3bfB93ZD43/Cs8w29DBRzyEttWxl3KRWsKazWuIzRx0XmpgVz3TLZhuXcA3wi5Ukc/tYNK3m7VmsWOmX35zQFYoQH8UIV/kxMSdw/YDTOFb9cswREMxO0UqWfuFD1ZjFE/ZULHsJu4RaJqDHAMnTn2yHMhGrbioVr02Ei2JfEsltrHWNU4yVhx8TFiQKYTDdgeZqEsK7j+/6jFXJG6zje63SmATT3MzWTxSojz113jAK0pEM3fQ6DZahiAzvQsGZhEVm+vS2Z4ePNhFINLUXU2SwcdZ8qd9CHB35OdPExG9S1EJhMBiqnNsqUmoLhX2JL7NhFCmxMXHKykZvt5DqLBaDlI5vU4Q137UcULPoRfj5UgVu4k8IAouXnc7mdMY9tGgGsl5YMLJ1nbaHCiUWDdCMCkWDf8dJnAsn+YljYWPt2nZvWUtecG17efMrp+9AEbbm7FgBf6dNNiqBxSXdCqjsEN7IZKAYSaUMhSVGYBaiWGlI5oN96sFDzrdXMRDt+i/NZukMYEPBjXiVBvH31esUXnqPPyzf9Gzx5Z+4Xeq47zYAFbdrPcC3dA/i62mQPuh236Sdst2KSCCEXj+AhYC4Mg+owY9EVakjbttPwBe9q1r2lZknicfls41c6j5++xncfLaR0WH2JPbwWXZ2tWkoV6ul5e7lxhSWREogHNyulBc11bDz4d257dqj03dUK1mIa/praOdIeyUS6bSlC34uDL9qDcEwLVitM/C+CytOe9U8dS7hNoy0PplKk3x/vRHNpFL0qYeV7RVODA5mYxoqpOGHrPU+X5rQaqvgqy/E6PZaCCNe+XGOdaPxAwODJiP7XL57pQMDot84j7OK6H+cJcORtRyAXqhoSQXmNoMgYy1zQ7iJBRxPvob2UZk/CMFwvxWLrdCBNbuy9wIjnX/nzfUjOeDBr09FGu1bXXq3dxscswlsKYQF/ERhMuUG/W7vsLn8mjDujN8zcLct+Gc29HhrmNNT7l3VqabugSQVtyligRFOtYbaXo/dNIY0YCsZ58z3q2fuTJPWya5thSQIXjlNFNiIgXIHb8hi4tedztV4UjaI6VpY10OJfvmJELGwTESj6PGELDoIDsTdhh6CQ76Ey2NJ5ouTBxzfipwGpRvKxGLpvn0I5OlYLBNisO1SXRAynNigjOO/nDACjvn3h9Agbk33Y2BG/99KmQH51kR/DCzV/7olIUHoDZYcM0ZPsJewT4TnZjHjrN1VFBcrmFHhWMfBgIatKVabSAku4MhrV+8+MKz9wusiWOJOh6WWGfeDqnY+Bdv79RrC0QReIJ8SqlXGHuU5CixXsPkS1onkwEk7pEsUnnQEn1jTDMELqnVcwWXDks5sMeoY8UgknqlUMnlJg/afsTXWzynpePZzw5BJZyDm+knuFtpO7FF4EAIGFfLoFLaJQvgDhVTM5GhGELxuDaJJjOBVmYerhvU7sxU7jFXy+crgpEWTl4wJ2COFqIwJfJNVYA8fhUSLnS23xWJssdAqnBrvDXugcq4Vz43bRnXAwJRyA9CyyDjt+EXQnl8hmDYtKGO0ngvG2jFk3TSNNGah+uzqmxVNYnxRwHm3I0SBweD1NIh5s7Ao2agvq9Y7/ZCyTYyyzYhpWnMx+HFrHUQ08n30QFb0VUk8Mq9NmjrvxPiVm3e7TCIoN84vRVRHnWDhYo5L7/C1oRgt2xTbt/PJZK5vUr48t07mbQ7rD9WDfhT5Eewrq0xF9Y5ACbg2SDDa2jLJQWaL/hRAPQI/8ewNW+d+NM/ou3cmNgN00961wGYAigYpuFnYvYKVtnp/yAMFeVi8PVurawLQIRXALd1iOR3M86w/6IAE9rhep4hwMEut3vJ5GN6TaHIw0P2gvLxn+H82PLDZDaXWhmo+OXAvD1sgNztQTqy4/Is5lyWQ4GfxykNRunfmkXyBKydbXqfIqV2Se3hSQPWOFNT+JDIcXVKtzQbSKtUO6URRmnOcgeZFBhXyMl7LOkvrikmb0mrZob5edLSrOwk0aNJrUgrTgaC2NHLQ7kEqwG/NnJ9Sy6JhnpQxFZ6ZAYnTCjF7KLTKdrDo27uK5cM1UY+EDbhtZWtRO5aJKhBjt9DgpZOdqNjooPaPyEK6qr565sbRns1tMhkeeiTDzNE9CE9e4Za+MEQrTTAd5eVxSxmFdBRrvM40TLRssX+iVCwPlSyI8yvhqQ+31IWpJodtjL2UIAzFXhW/EL6wSs+Ib8qe0ruH/TKs9YtMDDjgUTkI6/kKPs0SJBj1hT1LZenePmg3lhzUKO+uVqzte3mIrPzmPEvBPFiq+92WGq7LwMMuLI5J8h7Sc9Y+TiRi0XBsb1/Z4XzvJa70rR741eFRzj9MDC2AW2kcG767UPOstP3T7NbwLY+nN2fMD+qFI6RIEfCQRg3LSrT1mts953DMzM047/zbhmn3nWcXvzCWlNm21En/3F/PqZoF13uZUhNx7+yCW/T81p3zM219/7zMQyuHI1836Rp6Xhja5ogIaIMzIlY5tG9gdJW9iP2RCoyBcwzeM5wYdljARRkWbSw3pkup6rpSKorQ28yY+iLKc6rKmfBeMgkZbJWyFm0VTu57gYhvoDqeub+7ZUUtYWiJMv32vCrD+3i+dV4VaeZFXdTBzpgJISSTsOxHQ46Im61i1QP73OKvtSUAPfhd3787GRfy6DfxJ0JSn7pHv57NVyqymznIu5Jj/Wc4E1JKJjUFv6MrNFFvFW05ts9xfsgsPD0uHssaP5n4F/s1ecFI5UaUKUI6nj/BGCYmrx8C4Uzsf9Awaj6gg4luN5d1NWkFU85ZGa2HuINurFrCISj+OmNXRJSl1EtRGTMU4dbP9wDUYVFRx6ELQV/IaTLrGA4H25/KvhwfN7CSk0hxXzRHOJ0FJEdKMRruzHCXPB/HPAlzLyuqAHohaJo8YVJe4dqMKWz9l7c3LkA5HEddRaZuEdadzkKmt8Lj0kz7fqZWGIzHjf2Ju1SaJtsiqd8bwNVRIi2Lciq60b8rwqkmbS5IaaWZcYDly2bPUFg6Xcp4oRuYOaWdQYAKzx8GMPFVoCJ0c1nZEBSndKPYNFWvyETE4rAmrUnLDpRJ3NLpg1qrdhQ0lMjmRWMuzrfhzR8x03vP3uiSq+ahfPaCbR08LxPni1mtyM5bw7c82qap5knOc6uUolQMHtsD7Y5JbS2KWy4CApZ1IkKA0A6QAwHg3NyxfAa0XJmlYhhTjHmQCE6SmU2RsGnnJY3HHT3gu0+9pXWY493CO84s4oGRAKUS0sRG6yp2X+8P7mhA5P0PJYTe4ElH2l+Xsx6lkexHvU6MXlSh5yc/I6WbZ2VMrRfEZmJ4PN6Wl7rcRs2stn/4YYocd1DM+YppgMaZPRXB7gtpYEsAz7z77R3kzOrzD6uPtK77d2hm2XqmDLChh8Xw7M3T7Q7ej3M5Ci8QquB0eH172R5noQFC9SweuEGMJh3sYQW0lYqEPWoOJFkSnQIkrl4CW89QitJbEWDLpAZOaXJ+HFHZ8s3zY+5UHn670LRU3741edrXbu7ctKqGZEk8c4+WNwJJB7yzw1C9KfKZmzlPWt44BCr3Y/DrIlJYYF1d2yl8mZu+YJMssWvcF/HGIdkGbb9H5nv7yWcmrHsAFPSYx2AMdpO2J5lcSSirxxYERETnhDhWpGREJpDXGY8bdY+Kyqs8FWAz2U1H3wexkJRAFqTMdlQWL8QBcZFocE4C4M24Gw91t7i9AexbnWdpZ4ydrjBIpepys2mlXJNjuTRNMuBz4YOe2Z1Yv8hyixkkrnz5ONR7/lWBOKi8DJqVGMaVp4ssLIg8Kqe6GYrMCSuSZT2BUHjCaUfhWI6wdMfH0g6RdugvVh00jPJHdqzVZs4l64kHbVTlhrsEMmjGlg2R/WnBkIha0snyCwurm2u7d0U2VqdHyPKtWx/pas/MwjxZWOdBbP6FdGdndnZuAQMklhYedtj55tNfi0+GkFJR4a5b3pH8aRWyKqiHYDoxp8ZF+Bck39/PmhybWzEZH6WTydDi4lvKqu7u7yVDYzzs0Ye8mZnxT5N9/XQ+JKDfYoI5kXt24v5kD0IET0SKO39fJDDd0WZHZ2234TTZ9L2ir9Z2jbKgGCk4A+KBEUIae6gTkSsKBYu6rrIz+4WmZc4O7SlNG3XvqY2ZfS7fGbZkWEkxW0xtV0psJrkFP+jwHtvbLim2JFXv8KR0LXn0cEJzieE31eahM66WDH9EsjSnVBhrSo7ORjx7qRo29hjz7QTXXXEoV99iiPWxxdindz16rvo08HuCPQuPFzIVOXx78UKLIXUdnTd6n+a9yo73d3j/12G0cGrfMfcz1KVv9/1p1BH7FEZ66ImPGQJe4vftJ4hO8o/SjM7U/XfHD3z9by8/sYc67OkoXaRmymZ9IZsRAjS6Q/ux4VLaHdg4JgXmiBssVTYW5ZkAa4veFlm6x7KNDiIfIZG5MTaRaxBpe99PV7Mrbar+jeXZhFMov1knq0IInYWK3WQxEcvaKqO+niCOhxD4sjp7aiuyNqF+uuXfTw5W+rayxWOjkIHHqbvPKRQ+GOU2L4mpt0TLKxVWJxOyMlLxn8hmPxnC8siLS6i4WnDt+Fei/XQPgk+u3zjSJiSrvD09Ykh3ywOPLHV2XgTBeb0Vs1a0XqS9OhNJMg1FYcsl0ZeyBy2NI5NLBGPBgl8IEGG3AVyUaGQHqfjW0M6lFxNQ5vLCI6ErJ7OfpPPxWkJ6OpNJJa2iMy3fNuxoDxEo0m1YTKtLMnCWDBR54kXH1kjYaKMMawka+TWv6+p0694FTGD7x7lXz50wWHqg/kbQzGiDNmtDQ4P9WA1n2pQs6WceITrL/Bx66ca91MQzBM6JTlZMCg6WEpKregPhi0g0J61YcGTo8dQcFiXtUCZFlE8HTBeddrhh5HFi76hQlvHmtaq6pRSlO9SWcxF9XvFhmCuzwW7tvKqOAN5VZHA5Tf/B7hJTL2dZHwSWI3qh5/nkSUXq/Ltb05tXK5V3PL4DKM3yvW6DWR5lP2UTUbPZ/zhtK5ljgh0R082n/C+oz2/0jT3Xjlw44XyOurgxyDN4OLAFBJzXdn23qm2sFyUitE1eS7HV2ZJoHmar7cB4rJeCAKhmgEsdGCejVASRwjaAC8ah0LYI3Nb8GTjD94TrMcsP55KYdDbVrEU66WpLSuqJzAWdS0Tz9mKl7ADnzdgdse75RibjIpXWoAnPrgrqpsQ78Md3w9+Gc/q/fXXwCgXf9AXd2VgaaFp8nEts2RoYBQpus1TqYrJl62RNyIGVN1v2NbLnaMakXCKlRqEJ1wihc2GlDZ99tuXb7DoZEGjQ3EsiDv+RPK8R7y8SbIwaoJ3s3PMZqtkDvR0uUwAvhXR9RnOf63NCLfhWStKOdXdATg3q4H/y2trqwCxzUYPzkxi7VfjBZTWlbrCbvj2p9XLQ+DReup0eBeaH3h5x6jDCnwvY1sbxBWxVjxqM/w1ghIs/eRz2dxbgEWzJ003xN13568Exwv/jpT0Gy/22wWAtmb0QW9f1NTM3vYJvPjvPBgSoGqkSyeFryAWN/Hbu3dpB0ewyduZz6F2eDt+bsDTc5tlzGpU5fTE7aWnm+z58vMcjxDSEBql5LNXKRzKOZSSN5HVfK3QtVbdzHseg5fka5Q9xAFyIwFPXNiIiChXFHmMlAiiJYQGABRTquprXxVyUU21bDJtdVkrLec+Kt0MrL1OUxGFIZDPu3qCVmo413Z946lSdAGE9sxHijDU17uimbMDgEiQteZ5MtklFN3H5zs5xkhmjWENVFvQ7ro22p+xmA37HXF6W6jQLekjzzGehMuMMgtB4TMKoi6UraW7BZJp+TOxTZ8vbQFLPbMx40xRioxg1lfEEZ8DCOY73gi9L55qJK0hJK9YoxZsG93mfycs0RyQqeY5cQHzCRZ4XtW2XDNScybNMQs/P5p+2Kbx7gjUeKDg+dsasCFqEipNIYwHFubqc8uB8rn4FJnN5aa1UOvRcLv5G7nCH5n0nUZYUGxRs0fFIVFRKgFXhHvZEgWJFWpfWLgagMdvaNYGgpapxlJFqwaYHo5eEmtmqVrfqbmeh9bkELWB9NGjoeoclifddjrIG0jao/9jYi4W989HxcnrfyHGD9QwD2tPQ+xZaKnJ8wm7w4hNIMvX453Un1yEiEJstVzYMESmn11dywffS+nI3p3R6o7kzP5gI+V5JCUIfl812vOdwuhxlC4X20fm4secPeeZD2SbPTv3EkcF6mgZbB5IA1y4eklu3oFYWuh1qsedWDVoG8JA70qgMtDMQguy98uZQPlTpHhsztXXGdJz9yvjOjqonidRxczjO29ZPaf9GLbwVPpNLFUmxscqmV5MboSE9m8VjyQTYeNwcPXm+uWxIbtxihQ/9o66UZ3sOaL4v5HONnCEvQjzSfpz2FFLUX5GgJklko0jPjsLxBz/TVQGYKdCnWpIm8LB7vxuyBnsie+gJYWHnvaNKQA1jMrJMMgSixomiA3UVeZQlVUAKGs62iEyExO3gntl4UyVGPYXM9XVmV6FYkSK1FBmf0bhEzU3e05JJhQax/sUYX3kvfcWVWTTRCzqMXRNkkTOReHXqvDocIGiX/3R2lGz9rftouio2K9VurpDu0r3sTQg1135SROxgOivMN96ZI0pfcNvofNrhXtk2lR/Rt0XOROzkvYsr5lFmOtbePPYA8f+avzajQ/I5s3B5TehreIV0GRIMVAnBPibioRnj3L0G5WrMdKpRBHtr72asOSd3Sej9sdnt3RK/nHtpATpdLSPd8nU2kEnFaVrO1UGIPWWzKc0jhfVGFqF1MIldcyXPS6p2zA0AClBk1rVgfxbxXSmKkihLHDn61mZWcmJBc3eCSYhK9HZ9XY+jlgWO43RJRUGrun5Z6NBHzgRnss9bzOVShVjo6HLuRGOmz05l0vn+gZX2huzMoG3d4yZ1IZvUCTDvPzYa/q925rNZM9sSrY4MDQ3XBoWeT2LTgjBtGRVHCtHLfgUh+Ofvf5W2aaRsGPxiYi0exKPvkV3RY8N6Nwzhth1t+E+pZJ+XXfvIqUcdZu8WDQzWGnbi/bk1IaedPIUHQw5E1x9lQMsAC63aP7ubPJQ33FrcS7pcXocz3kQhGgn4BWJdm7bKK4zu5Er5IsRK7Iu29nN6NOenA5Pj4TRE0V//CMRQSXAB0Mev2LOUbhaqWN3V2wNztv3cEvCKbzOnd+wpHnI1cNd5mnq/VcL3cvKrgxCFfzql8y33FdUv8aGgFDiYvE5uEObPyieBtrlgsagvJlu8L+sKTrz0x1MQ83+y8PDfP3Lg8P/6Nyeg5mBf9Mz3LPJP6OyTwszk2J35RcivQWJHDo+/RKuCimtS8PHEkjN+sM/DL/L4Wp8Bquh61qfPEUvojYjEeDFSU2C9jkw4B7OrrtBsMrtse0lF5VjPSA6xENB2174FQDUwdFSQ7Ut6kxtc2nMrIYu02RT3mnKkpuIXrb0SbcMV40W1LOJx3wmvXRE2gZV7fkxpAxztxW3bxE1kZfx2cpktXGQ3OLkZiXgbtDPTwca4ao4K7l5dS1JNI3fbSWtMK9JqsnavKVwRNsm/aL0Noe3WErXOl+TIkojeEx8Qe8H8a2MydcqAZ+74tkXs14E1levzAwX9ncxOJzeZQ9GE2MuhwSQ4L456Xz9hqnrTmJjzxtMi2tP+/ql7Tf0DYm/oF8vXIcOukT5s/dsGtPlamWBzlAGXvX3mWXXVJ2xg/Y5rq0WjDVgAqCh0V6C/sAMYq+LIVqZlQl9gwAAXXbEvsdURr6RqGkgkvZ7m7Mk0zEzbtk1S1i0ExtYAiEhe95xZOosTOXtvEHlxPgCITUuunS3yvVyDq2bq6HmXnr27n1S/AmTOD7+uYMS0Y7uM7H9LWmbbLZ+WStw9/pZUyctmfktYc/+RRKTZrJ09oaNT8NWNbU/uOiGE0T1yMQFw1GvsDMA05a6FAljjGX7DZ3nOEHRTPN/05tq25760N+joYIWx8tPRsZRFnf18xNszmbJi69eG5K/zcKc5E2Su2W1KWcyRda2Ji6AyhFJ3HAMoE8jVqv7+c7TX/OjqQc1xc6B+BiR0HF8AMQ2Z9sGjW54XmuBt9wkcdxzwvQ006V6/BzRo3Ivd6h5EmZeHmZcrTjM3M3RZv0isIsbM9/9n6diexnRkk+beowJy0BzkYUDXQRqeQqZfeP8iSFs3HNS6ouPkngCfZ8HSY+DL7Azk6j/Tpas5feGTNzfWHGd8K/g4AHengs+CGbabIF5Kh1YcbEzuOzIwjnX1jrOO/K0zD8QUXUlQkERQ2QMLGmjwRPtkzULLHKgvAD0azHdh9lsI0HCWluOA7wiO1h05Ves0iTnKCd7bJO7dzcj295QtV8r4UULrKiLQbcA9PP1kyP7L/dX6cZp7H3gr+/6C/B9ENnBBvsUR47dDVbCswwmyE2t73JD6QnUMNF/txPr9F94lYxMf8XQic5LrpNZK109myRjP8ZIXjAD5kWuQpfzbNdpT6bTcfgNeD//w+/iUxd0IEJ6FUrM4xl4LWszaLsM+3468Y/H/6aUMRWhamxCvCvCauegj/16EJvTxmVencVtjIyp754N9dyT+bASP9JYh3gJGmE37oYTiIhJwJyQfaM/WoYoeVtxqY2EWPI4HhCbRUO4tL6heOysup6exX77KN9gkORXQoocH1fYGqZQPa9m0LVceoTi8zPunFlwirYlE8Fd5P7WsKWXryQk1Fow+hJ3QlFKazwW5bFsxb0gd1mioPA+vm1biqMIG1bV7E6Q1WLlAdW42ajTJ+NK1y5OASeyXKetEe4GEAgT3dLaCwYWjiGC+0hdT8WSQ9bwE1c4jXLFERqYVkiE14M5P06XkZLqvGpYozwf7aPgLvhPQdi5//ECg9+JW8jLVlTkRii16TyatzLwQ32wvf+4zIqgvv0jlFvLsQaqQ0V64yJcppW9ymm3fDUxPvI+JFY6y+T/Pp75VldaDA5X+hOJt7XJ/JemmMfQO7w+kRBD59u7BQp7+i6vEBCYPt4SV+b3DZDsEK8cMYLL7CerH0Z/8HHuJKy9rABEkn8hfF4KJTPIG8xcEjLhBOky7n7aYb3+mmOpq0oFewUQP8E2MryfQByf4rxFe4IUJQxokGAPvNg0cGUFR57w1hDfXH7r4PaFph2siWH3fE0NkGLnBdFYFi9a0vxMIV/iuKKLKxiDD9vER8Tg6PNPuGXOhV1x5Hv1vvaMFtvw/oz+GL378RSdkjNFiTzi2Lycvf650w9XPNgToZG9/0yvHvjy9id1FgL/0KCH3jhBrF2E3czIclL7pNxKBCB/cOhVYRJjc6nJ/3+vEoLt5ad//In/pbHKTu3rhq39XXLN69LrNBzJsjT92K5QjlrLPjnaRC42CsKAvhUniRLZAT7Lt3e4sT/6cASEsJMCqCf6x2+wPQwxTm/8FtmTL2IpCu9v2BE4JNp+Pf1+arkdRztZPGUZbifgSNbn0DCu5gd/hZgoSJY1m/jbYaFgkWv27OCNpW8qHLdHTlDGfl+wJtMlHgIhl2oRT6m1HOhi4m5n6Y21SeGJaYnLD+sq+agCSbgWbZTrLJQhdp7rFnm1QvMygxiRry/IN+Bqbxytlg3dbpW2/0vuf1YIVwhxHcEX333j5B4YOEHm8Un66eMcRT80frP9lvkRKmeOsnp77mpd/te+n2bwZoSfxf4Tsz+zrLHNk+I6BULt5XD7CmCCG0990cqbl2ZnzZ75vnGV+D2wMa5M2MmI2sjLwpEkWPMjRncUADK+1dPVQgG1jOEdCuyyVCPG8cEHxj6CK5mzohmdRHc2+Hy7PDVZxLHzqk8q6mCNYNhZaYMsHlbIABHdW2UJjgn/IMz+vlnK+2u1sr6McH9rAFaI04lst3sNxcphSxen2EftcJHjAKGWf4hW036JhB5iBhbauoevabK1o+61LwP+sjUo+UKIs7cK1ZrwDfElMke2s4KtdeuurVVJMHx0oNfVaaOk76qK1014Ws/NkCkzuofGMlUMLSt6heEv/mjynoCwobGQ5BB0vjbkZKXHTOy2l4aK6rFWRKbeLwPuEbaKjLcitHvreIqq0+9oR+1zRIKoeHElGFFrbpBBj2faqnPswtP3lpAU83QYF8RueCPRAY6IsbU6I5W4K+ITILVzCo4aYCjvrKuc9OGKfi5jtdSJC3d4UOpdf6ldpeiVDg1BVIj2smKFbjN7i9GMlXgoFB7XdpUlKbbOWUbXS5OD/0MuilSjPPd6qoOQ5HOez5mIHBihEjGGGOTn0EH6+CZUSwGSd8/4ghAulDYGDimPO/xnncRx82PGD5jtfqyJSgF2PoLg4jxfEUzd9mS64rq2V72PodfXb6v8e4Hv56LbiR+50i4taqHPPmJuCAgEUoP5Ec2IEe9/XrqkknRn6nvz61ru+YYb6bQBXx+NVEQ9FYghQHhsidNng2Ci1s71iW0fL/YekyQJIKQ4ayKYUnGGIoGTt5K2qaEexttQVrCI2lHhhnLrJe1F43Wrtm11DWtS8MnqZfH6Ru17gCsGmhg5n7NAASDoVdmAKIgQnO3Q/MWkane7fW5is3xAubogDu02tESYrjTLEXM0J9Z/R4zGOl7n/hETHVBx7RSP5yB49B4VUFpcWrsJaWuUam6/lbBWCJHZSxp4L4/EOvIfdsBN17v9ARyELPCppslP/cdACMyamT07rF2Z8fw+kHHTk8EIxhKH86OmUySxX7ylNn7LUqU8p82cGynB1hQfZKe5v2vtyztWbDdGGajKkBZwGY1tvbNl7/OTYpT0TLPe0TASO06nJ3fgziOlU3vz3hw094p3QOnKniyMjCzwqaQ8OEGCq4o/7es9pi4V/Zca9AOAXrXc3754fcsXJb2kTG9r5/wETBCDgP8tQsr/npBFh8gOvVlY3bZNcF/vdOkOQ1vbyM1G72VL3VMvQQYrOYJTTGvuATA0ZGtzFTjKohZfAPsVvwKqiXSE/QMyYNNBoUHTo6t6FrT2A0RtPFAMVxxZ5iWGPWu2Trxjl9CGoMEmVGQoSa4BnCnuANGaIumRC1yKfWBmsidMruUYYiZXYS9MpWbdY4vKqUZvQ99CvWwZj6/gTT+UAHvXKaiuoJe0HqPOehNNdA6LRJIfW4GWzVZCCMuRaEfc632pJ4JxdamLcSPL3q+2RoX9peA+YLYVskF08BVgOj3CbsgXQ7izcehRwjDiuZzu2zXSoG3WkJ2l+BYBb6t5GI4DtGXSKANxihPcpWhzR6h99BSXsCvaIuro385uTR6ELDIXBEnSOHKmjHCWoWEz0xFM6gPJTDRR/XkTlJAKsfhODRqDE/rNmNtKvQokDisb9fN0QEGM0H1Z5SeQQotSEZKwspTaCR0FVN9QlRBgL3EeJhsQKnv3q3/OCtUbuCcR97oVkN2IynhIWbhYliZ/9MBJ+C4biJ6hp0Bo7P1ezCsk1jhD/qztKaEPipUZAJlveS49gLtWPtDxPkUm8Zj9FeGrcrBQ6Pqbqm5GCiljzm4gLbOyix8A8pmFK+Wf3k/cfUMrXGZPGW6ZMWYHez3fpF2auMxxvWLNNZl3lEvt94IN+ZXgmTifSqFYuvxyuyU4m9SjRH1lnWuzNAa7yjixnMIoQ6PTQESCo93ONqEEMVKfJs34/GLj46jIAHwEq5HIHQvQGSoXP0GJ5YlhiYmWUinNGcvB0CyETG55cZDmU8dRHlLjdnGa22z8LAizcTRB0xxUBoRegIHQQodkuMt+McSxETgYO1KcLD1lnkgz4/h4BAucHcpCunRQQu45SguiNisxVcVZNV8NWiadahup8q+98G3iQGFEMI0wIw+Q3MzXXe4gajOoa1jQV5RW0cYgJJcUn5TjIEmUnMXX1U1UplXsl1bQAViqTRVyaokQq7TZh0NFmQqppElxSxfJvtiNFIK2uakG+ybY5dTXtaoTT8u7gS69uNlzeIxuevqMiqUkhhOP2IhoYp8KK3C2247smfPiMo1pt0S8bgyp218AJs2gBDltd25etrs/jbGtzkariFGWG9sVuGVVTm29rapRR1aosm4hrnhuDj5ZAMBJofDWvPh0wdfm2Ru6o/++pVDY5lF8qmAQYSVV0dSzjAl7AurNttSVLLyqqmJblkNlUUjoaZVATgrCgeRzhCk6NOm+TpYQdmq86VCQiws5KTQYeLJ+0wqrYWycVk7N6JkALDAUDt0q2SF01Iqce1sntqngqQaoXQd6i/rG0KceXg3RYEppuaUhmOzMIbf3yRfgIcCDu9eio7rwm4SVUzaPqT1eRsakO/5Jj2Kx7LhbDoXptrdjyuDaxQQgPqarlpEFF221tqkmy6STs1Hyn+VraPStkrUmi0eo5TWnJcRvDDED+5f0bLAAAAAA=)format(woff2);font-weight:300 800;font-style:normal;font-display:swap;unicode-range:U+0,U+d,U+20-7e,U+a0-ac,U+ae-107,U+10a-113,U+116-11b,U+11e-123,U+126-12b,U+12e-133,U+136-14d,U+150-155,U+158-15b,U+15e-165,U+168-16b,U+16e-17f,U+181,U+18a,U+18f,U+198-199,U+1a0-1a1,U+1af-1b0,U+1b3-1b4,U+1c4-1cc,U+1ea-1eb,U+1f8-1f9,U+1fc-1fd,U+218-21b,U+237,U+253,U+257,U+259,U+2bb-2bc,U+2c6-2c7,U+2d8-2dd,U+300-304,U+306-30c,U+312,U+31b,U+323,U+326-329,U+1e44-1e45,U+1e62-1e63,U+1e80-1e85,U+1e9e,U+1ea0-1ef9,U+2013-2014,U+2018-201a,U+201c-201e,U+2022,U+2026,U+2032-2033,U+2039-203a,U+2044,U+2074,U+20ab-20ac,U+2122,U+2190-2193,U+21d2,U+21e6-21e9,U+2212,U+2215,U+2237,U+2264-2265,U+2318,U+2325,U+2500-25a1,U+25aa-25ac,U+25b2,U+25ba,U+25bc,U+25c4,U+25c6,U+25c9-25cc,U+25cf,U+25d9,U+fffd}@font-face{font-family:Roboto Flex;src:url(./fonts/RobotoFlex-latin.woff2)format(woff2);font-weight:100 1000;font-stretch:25% 151%;font-style:normal;font-display:swap;unicode-range:U+0,U+d,U+20-7e,U+a0-17e,U+18f,U+192,U+1a0-1a1,U+1af-1b0,U+1c4-1cc,U+1e6-1e7,U+1ea-1eb,U+1fa-21b,U+22a-22d,U+230-233,U+259,U+2b9-2bc,U+2c6-2c7,U+2c9,U+2d8-2dd,U+300-304,U+306-30c,U+30f,U+311,U+31b,U+323-324,U+326-328,U+32e,U+331,U+1e80-1e85,U+1e9e,U+1ea0-1ef9,U+2002,U+2009,U+200b,U+2010,U+2013-2015,U+2018-201a,U+201c-201e,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203a,U+2044,U+2052,U+2074,U+20a1,U+20a3-20a4,U+20a6-20a7,U+20a9,U+20ab-20ad,U+20b1-20b2,U+20b4-20b5,U+20b8-20ba,U+20bc-20bd,U+2116,U+2122,U+2126,U+2190-2193,U+2206,U+2212,U+2215,U+2219,U+2248,U+2260,U+2264-2265,U+27e8-27e9,U+fb00-fb04,U+feff,U+fffd}@font-face{font-family:Roboto Mono;src:url(data:font/woff2;base64,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)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+d,U+20-7e,U+a0-17f,U+192,U+1a0-1a1,U+1af-1b0,U+1f0,U+1fa-1ff,U+218-21b,U+237,U+259,U+2bc,U+2c6-2c7,U+2c9,U+2d8-2dd,U+2f3,U+300-301,U+303,U+309,U+30f,U+323,U+1e00-1e01,U+1e3e-1e3f,U+1e80-1e85,U+1ea0-1ef9,U+2000-200b,U+2013-2015,U+2017-201e,U+2020-2022,U+2025-2026,U+2030,U+2032-2033,U+2039-203a,U+203c,U+2044,U+2074,U+207f,U+20a3-20a4,U+20a7,U+20ab-20ac,U+2105,U+2113,U+2116,U+2122,U+2126,U+212e,U+215b-215e,U+2202,U+2206,U+220f,U+2211-2212,U+2215,U+221a,U+221e,U+222b,U+2248,U+2260,U+2264-2265,U+25ca,U+feff,U+fffd}@font-face{font-family:Roboto Mono;src:url(data:font/woff2;base64,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)format(woff2);font-weight:100 700;font-style:italic;font-display:swap;unicode-range:U+d,U+20-7e,U+a0-17f,U+192,U+1a0-1a1,U+1af-1b0,U+1f0,U+1fa-1ff,U+218-21b,U+237,U+259,U+2bc,U+2c6-2c7,U+2c9,U+2d8-2dd,U+2f3,U+300-301,U+303,U+309,U+30f,U+323,U+1e00-1e01,U+1e3e-1e3f,U+1e80-1e85,U+1ea0-1ef9,U+2000-200b,U+2013-2015,U+2017-201e,U+2020-2022,U+2025-2026,U+2030,U+2032-2033,U+2039-203a,U+203c,U+2044,U+2074,U+207f,U+20a3-20a4,U+20a7,U+20ab-20ac,U+2105,U+2113,U+2116,U+2122,U+212e,U+215b-215e,U+2202,U+220f,U+2211-2212,U+2215,U+221a,U+221e,U+222b,U+2248,U+2260,U+2264-2265,U+25ca,U+feff,U+fffd}:root{--aphrody-font-brand:"Google Sans Flex","Roboto Flex","Noto Sans JP",system-ui,"Segoe UI Variable Text","Segoe UI",-apple-system,"Cantarell","Noto Sans","Ubuntu","DejaVu Sans","Yu Gothic UI","Meiryo UI","Hiragino Sans","Noto Sans CJK JP","Source Han Sans JP","IPAexGothic",sans-serif;--aphrody-font-plain:"Roboto Flex","Noto Sans JP",system-ui,"Segoe UI Variable Text","Segoe UI",-apple-system,"Cantarell","Noto Sans","Ubuntu","DejaVu Sans","Yu Gothic UI","Meiryo UI","Hiragino Sans","Noto Sans CJK JP","Source Han Sans JP","IPAexGothic",sans-serif;--aphrody-font-code:"Google Sans Code","Roboto Mono","M PLUS 1 Code",ui-monospace,"Cascadia Mono","Consolas","SF Mono","Noto Sans Mono","DejaVu Sans Mono","Liberation Mono","BIZ UDGothic","MS Gothic","Noto Sans Mono CJK JP",monospace;--aphrody-font-icon:"Material Symbols Outlined"}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-00.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+3000-303f,U+3041-3096,U+3099-30ff,U+31f0-321e,U+3220-332b,U+332d-33ff,U+ff01-ff9f,U+ffa1-ffbe,U+ffc2-ffc7,U+ffca-ffcf,U+ffd2-ffd7,U+ffda-ffdc,U+ffe0-ffe6,U+ffe8-ffee}@font-face{font-family:Noto Sans JP;src:url(data:font/woff2;base64,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)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+4e00-4e01,U+4e03,U+4e07-4e0b,U+4e0d-4e0e,U+4e10-4e11,U+4e14-4e19,U+4e1e,U+4e21,U+4e26,U+4e28,U+4e2a,U+4e2d,U+4e31-4e32,U+4e36,U+4e38-4e39,U+4e3b-4e3c,U+4e3f,U+4e42-4e43,U+4e45,U+4e4b,U+4e4d-4e4f,U+4e55-4e59,U+4e5d-4e5f,U+4e62,U+4e71,U+4e73,U+4e7e,U+4e80,U+4e82,U+4e85-4e86,U+4e88-4e8c,U+4e8e,U+4e91-4e92,U+4e94-4e95,U+4e98-4e99,U+4e9b-4e9c,U+4e9e-4ea2,U+4ea4-4ea6,U+4ea8,U+4eab-4eae,U+4eb0,U+4eb3,U+4eb6,U+4eba,U+4ec0-4ec2,U+4ec4,U+4ec6-4ec7,U+4eca-4ecb,U+4ecd-4ecf,U+4ed4-4ed9,U+4edd-4edf,U+4ee1,U+4ee3-4ee5,U+4eed-4eee,U+4ef0,U+4ef2,U+4ef6-4ef7,U+4efb-4efc,U+4f00-4f01,U+4f03,U+4f09-4f0a,U+4f0d-4f11,U+4f1a,U+4f1c-4f1d,U+4f2f-4f30,U+4f34,U+4f36,U+4f38-4f3a,U+4f3c-4f3d,U+4f43,U+4f46-4f47,U+4f4d-4f51,U+4f53,U+4f55-4f57,U+4f59-4f5e,U+4f69,U+4f6f-4f70,U+4f73,U+4f75-4f76,U+4f7b-4f7c,U+4f7f,U+4f83,U+4f86,U+4f88,U+4f8a-4f8b,U+4f8d,U+4f8f,U+4f91-4f92,U+4f94,U+4f96,U+4f98,U+4f9a-4f9b,U+4f9d,U+4fa0-4fa1,U+4fab,U+4fad-4faf,U+4fb5-4fb6,U+4fbf,U+4fc2-4fc4,U+4fc9-4fca,U+4fcd-4fce,U+4fd0-4fd1,U+4fd4,U+4fd7-4fd8,U+4fda-4fdb,U+4fdd,U+4fdf,U+4fe1,U+4fe3-4fe5,U+4fee-4fef,U+4ff3,U+4ff5-4ff6,U+4ff8,U+4ffa,U+4ffe-4fff,U+5005-5006,U+5009,U+500b,U+500d,U+500f,U+5011-5012,U+5014,U+5016,U+5019-501a,U+501e-501f,U+5021-5026,U+5028-502d,U+5036,U+5039,U+5040,U+5042-5043,U+5046-5049,U+504f-5050,U+5055-5056,U+505a,U+505c,U+5065,U+506c,U+5070,U+5072,U+5074-5076,U+5078,U+507d,U+5080,U+5085,U+508d,U+5091,U+5094,U+5098-509a,U+50ac-50ad,U+50b2-50b5,U+50b7,U+50be,U+50c2,U+50c5,U+50c9-50ca,U+50cd,U+50cf,U+50d1,U+50d5-50d6,U+50d8,U+50da,U+50de,U+50e3,U+50e5,U+50e7,U+50ed-50ee,U+50f4-50f5,U+50f9,U+50fb,U+5100-5102,U+5104,U+5109,U+5112,U+5114-5116,U+5118,U+511a,U+511f,U+5121,U+512a,U+5132,U+5137,U+513a-513c,U+513f-5141,U+5143-514e,U+5150,U+5152,U+5154,U+515a,U+515c,U+5162,U+5164-5165,U+5168-516e,U+5171,U+5175-5178,U+517c,U+5180,U+5182,U+5185-5186,U+5189-518a,U+518c-518d,U+518f-5193,U+5195-5197,U+5199,U+519d,U+51a0,U+51a2,U+51a4-51a6,U+51a8-51ac,U+51b0-51b7,U+51bd-51be,U+51c4-51c6,U+51c9,U+51cb-51cd,U+51d6,U+51db-51dd,U+51e0-51e1,U+51e6-51e7,U+51e9-51ea,U+51ec-51ed,U+51f0-51f1,U+51f5-51f6,U+51f8-51fa,U+51fd-51fe,U+5200,U+5203-5204,U+5206-5208,U+520a-520b,U+520e,U+5211,U+5214-5215,U+5217,U+521d,U+5224-5225,U+5227,U+5229-522a,U+522e,U+5230,U+5233,U+5236-523b,U+5243-5244,U+5247,U+524a-524d,U+524f,U+5254,U+5256,U+525b,U+525e,U+5263-5265,U+5269-526a,U+526f-5275,U+527d,U+527f,U+5283,U+5287-5289,U+528d,U+5291-5292,U+5294,U+529b-529c,U+529f-52a0,U+52a3,U+52a6,U+52a9-52ac}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-02.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+52ad,U+52af,U+52b1,U+52b4-52b5,U+52b9,U+52bc,U+52be,U+52c0-52c1,U+52c3,U+52c5,U+52c7,U+52c9,U+52cd,U+52d2,U+52d5,U+52d7-52d9,U+52db,U+52dd-52e0,U+52e2-52e4,U+52e6-52e7,U+52f2-52f3,U+52f5,U+52f8-52fa,U+52fe-5302,U+5305-5308,U+530d,U+530f-5310,U+5315-5317,U+5319-531a,U+531d,U+5320-5321,U+5323-5324,U+532a,U+532f,U+5331,U+5333,U+5338-533b,U+533f-5341,U+5343,U+5345-534a,U+534d,U+5351-5354,U+5357-5358,U+535a,U+535c,U+535e,U+5360,U+5366,U+5369,U+536e-5375,U+5377-5378,U+537b,U+537f,U+5382,U+5384,U+5393,U+5396,U+5398,U+539a,U+539f-53a0,U+53a5-53a6,U+53a8-53a9,U+53ad-53ae,U+53b0,U+53b2-53b3,U+53b6,U+53bb,U+53c2-53c3,U+53c8-53ce,U+53d4,U+53d6-53d7,U+53d9,U+53db,U+53dd,U+53df,U+53e1-53e5,U+53e8-53f3,U+53f6-53f8,U+53fa,U+5401,U+5403-5404,U+5408-5411,U+541b,U+541d,U+541f-5420,U+5426,U+5429,U+542b-542e,U+5436,U+5438-5439,U+543b-543e,U+5440,U+5442,U+5446,U+5448-544a,U+544e,U+5451,U+545f,U+5468,U+546a,U+5470-5471,U+5473,U+5475-5477,U+547b-547d,U+5480,U+5484,U+5486,U+548a-548c,U+548e-5490,U+5492,U+549c,U+54a2,U+54a4-54a5,U+54a8-54a9,U+54ab-54ac,U+54af,U+54b2-54b3,U+54b8,U+54bc-54be,U+54c0-54c2,U+54c4,U+54c7-54c9,U+54d8,U+54e1-54e2,U+54e5-54e6,U+54e8-54e9,U+54ed-54ee,U+54f2,U+54fa,U+54fd,U+54ff,U+5504,U+5506-5507,U+550f-5510,U+5514,U+5516,U+552e-552f,U+5531,U+5533,U+5538-5539,U+553e,U+5540,U+5544-5546,U+554c,U+554f,U+5553,U+5556-5557,U+555c-555d,U+5563,U+557b-557c,U+557e,U+5580,U+5583-5584,U+5586-5587,U+5589-558b,U+5598-559a,U+559c-559f,U+55a7-55ac,U+55ae,U+55b0,U+55b6,U+55c4-55c5,U+55c7,U+55d4,U+55da,U+55dc,U+55df,U+55e3-55e4,U+55f7,U+55f9,U+55fd-55fe,U+5606,U+5609,U+5614,U+5616-5618,U+561b,U+5629,U+562f,U+5631-5632,U+5634,U+5636,U+5638,U+5642,U+564c,U+564e,U+5650,U+565b,U+5664,U+5668,U+566a-566c,U+5674,U+5678,U+567a,U+5680,U+5686-5687,U+568a,U+568f,U+5694,U+56a0,U+56a2,U+56a5,U+56ae,U+56b4,U+56b6,U+56bc,U+56c0-56c3,U+56c8,U+56ce,U+56d1,U+56d3,U+56d7-56d8,U+56da-56db,U+56de,U+56e0,U+56e3,U+56ee,U+56f0,U+56f2-56f3,U+56f9-56fa,U+56fd,U+56ff-5700,U+5703-5704,U+5708-5709,U+570b,U+570d,U+570f,U+5712-5713,U+5716,U+5718,U+571c,U+571f,U+5726-5728,U+572d,U+5730,U+5737-5738,U+573b,U+5740,U+5742,U+5747,U+574a,U+574e-5751,U+5759,U+5761,U+5764-5766,U+5769-576a,U+577f,U+5782,U+5788-5789,U+578b,U+5793,U+57a0,U+57a2-57a4,U+57aa,U+57ac,U+57b0,U+57b3,U+57c0,U+57c3,U+57c6-57c8,U+57cb,U+57ce,U+57d2-57d4,U+57d6,U+57dc,U+57df-57e0,U+57e3,U+57f4,U+57f7,U+57f9-57fa,U+57fc,U+5800,U+5802,U+5805-5806,U+580a-580b,U+5815,U+5819,U+581d,U+5821,U+5824,U+582a,U+582f-5831,U+5834-5835,U+583a,U+583d,U+5840-5841,U+584a-584b,U+5851-5852,U+5854,U+5857-585a,U+585e,U+5862,U+5869,U+586b,U+5870,U+5872,U+5875,U+5879,U+587e,U+5883,U+5885,U+5893,U+5897,U+589c,U+589e-589f,U+58a8,U+58ab}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-03.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+58ae,U+58b2-58b3,U+58b8-58bb,U+58be,U+58c1,U+58c5,U+58c7,U+58ca,U+58cc,U+58d1,U+58d3,U+58d5,U+58d7-58d9,U+58dc,U+58de-58df,U+58e4-58e5,U+58eb-58ec,U+58ee-58f2,U+58f7,U+58f9-58fd,U+5902,U+5909-590b,U+590f-5910,U+5915-5916,U+5918-591c,U+5922,U+5925,U+5927,U+5929-592e,U+5931-5932,U+5937-5938,U+593e,U+5944,U+5947-5949,U+594e-5951,U+5953-5955,U+5957-5958,U+595a-595b,U+595d,U+5960,U+5962-5963,U+5965,U+5967-596a,U+596c,U+596e,U+5973-5974,U+5978,U+597d,U+5981-5984,U+598a,U+598d,U+5993,U+5996,U+5999,U+599b,U+599d,U+59a3-59a5,U+59a8,U+59ac,U+59b2,U+59b9-59bb,U+59be,U+59c6,U+59c9,U+59cb,U+59d0-59d1,U+59d3-59d4,U+59d9-59da,U+59dc,U+59e5-59e6,U+59e8,U+59ea-59eb,U+59f6,U+59fb,U+59ff,U+5a01,U+5a03,U+5a09,U+5a11,U+5a18,U+5a1a,U+5a1c,U+5a1f-5a20,U+5a25,U+5a29,U+5a2f,U+5a35-5a36,U+5a3c,U+5a40-5a41,U+5a46,U+5a49,U+5a5a,U+5a62,U+5a66,U+5a6a,U+5a6c,U+5a7f,U+5a92,U+5a9a-5a9b,U+5abc-5abe,U+5ac1-5ac2,U+5ac9,U+5acb-5acc,U+5ad0,U+5ad6-5ad7,U+5ae1,U+5ae3,U+5ae6,U+5ae9,U+5afa-5afb,U+5b09,U+5b0b-5b0c,U+5b16,U+5b22,U+5b2a,U+5b2c,U+5b30,U+5b32,U+5b36,U+5b3e,U+5b40,U+5b43,U+5b45,U+5b50-5b51,U+5b54-5b58,U+5b5a-5b5d,U+5b5f,U+5b63-5b66,U+5b69,U+5b6b,U+5b70-5b71,U+5b73,U+5b75,U+5b78,U+5b7a,U+5b80,U+5b83,U+5b85,U+5b87-5b89,U+5b8b-5b8d,U+5b8f,U+5b95,U+5b97-5b9d,U+5b9f,U+5ba2-5ba6,U+5bae,U+5bb0,U+5bb3-5bb6,U+5bb8-5bb9,U+5bbf-5bc0,U+5bc2-5bc7,U+5bc9,U+5bcc,U+5bd0,U+5bd2-5bd4,U+5bd8,U+5bdb,U+5bdd-5bdf,U+5be1-5be2,U+5be4-5be9,U+5beb-5bec,U+5bee,U+5bf0,U+5bf3,U+5bf5-5bf6,U+5bf8,U+5bfa,U+5bfe-5bff,U+5c01-5c02,U+5c04-5c0b,U+5c0d-5c0f,U+5c11,U+5c13,U+5c16,U+5c1a,U+5c1e,U+5c20,U+5c22,U+5c24,U+5c28,U+5c2d,U+5c31,U+5c38-5c41,U+5c45-5c46,U+5c48,U+5c4a-5c4b,U+5c4d-5c51,U+5c53,U+5c55,U+5c5e,U+5c60-5c61,U+5c64-5c65,U+5c6c,U+5c6e-5c6f,U+5c71,U+5c76,U+5c79,U+5c8c,U+5c90-5c91,U+5c94,U+5ca1,U+5ca6,U+5ca8-5ca9,U+5cab-5cac,U+5cb1,U+5cb3,U+5cb6-5cb8,U+5cba-5cbc,U+5cbe,U+5cc5,U+5cc7,U+5cd9,U+5ce0-5ce1,U+5ce8-5cea,U+5ced,U+5cef-5cf0,U+5cf5-5cf6,U+5cfa-5cfb,U+5cfd,U+5d07,U+5d0b,U+5d0e,U+5d11,U+5d14-5d1b,U+5d1f,U+5d22,U+5d27,U+5d29,U+5d42,U+5d4b-5d4c,U+5d4e,U+5d50,U+5d52-5d53,U+5d5c,U+5d69,U+5d6c-5d6d,U+5d6f,U+5d73,U+5d76,U+5d82,U+5d84,U+5d87,U+5d8b-5d8c,U+5d90,U+5d9d,U+5da2,U+5dac,U+5dae,U+5db7-5dba,U+5dbc-5dbd,U+5dc9,U+5dcc-5dcd,U+5dd0,U+5dd2-5dd3,U+5dd6,U+5ddb,U+5ddd-5dde,U+5de1,U+5de3,U+5de5-5de8,U+5deb,U+5dee,U+5df1-5df5,U+5df7,U+5dfb,U+5dfd-5dfe,U+5e02-5e03,U+5e06,U+5e0b-5e0c,U+5e11,U+5e16,U+5e19-5e1b,U+5e1d,U+5e25,U+5e2b,U+5e2d,U+5e2f-5e30,U+5e33,U+5e36-5e38,U+5e3d,U+5e40,U+5e43-5e45,U+5e47,U+5e4c,U+5e4e,U+5e54-5e55,U+5e57,U+5e5f,U+5e61-5e64,U+5e72-5e76,U+5e78-5e7f}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-04.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+5e81,U+5e83-5e84,U+5e87,U+5e8a,U+5e8f,U+5e95-5e97,U+5e9a,U+5e9c,U+5ea0,U+5ea6-5ea7,U+5eab,U+5ead,U+5eb5-5eb8,U+5ec1-5ec3,U+5ec8-5eca,U+5ecf-5ed0,U+5ed3,U+5ed6,U+5eda-5edb,U+5edd,U+5edf-5ee3,U+5ee8-5ee9,U+5eec,U+5ef0-5ef1,U+5ef3-5ef4,U+5ef6-5ef8,U+5efa-5efc,U+5efe-5eff,U+5f01,U+5f03-5f04,U+5f09-5f0d,U+5f0f-5f11,U+5f13-5f18,U+5f1b,U+5f1f,U+5f21,U+5f25-5f27,U+5f29,U+5f2d,U+5f2f,U+5f31,U+5f34-5f35,U+5f37-5f38,U+5f3c,U+5f3e,U+5f41,U+5f45,U+5f48,U+5f4a,U+5f4c,U+5f4e,U+5f51,U+5f53,U+5f56-5f57,U+5f59,U+5f5c-5f5d,U+5f61-5f62,U+5f66-5f67,U+5f69-5f6d,U+5f70-5f71,U+5f73,U+5f77,U+5f79,U+5f7c,U+5f7f-5f85,U+5f87-5f88,U+5f8a-5f8c,U+5f90-5f93,U+5f97-5f99,U+5f9e,U+5fa0-5fa1,U+5fa8-5faa,U+5fad-5fae,U+5fb3-5fb4,U+5fb7,U+5fb9,U+5fbc-5fbd,U+5fc3,U+5fc5,U+5fcc-5fcd,U+5fd6-5fd9,U+5fdc-5fde,U+5fe0,U+5fe4,U+5feb,U+5ff0-5ff1,U+5ff5,U+5ff8,U+5ffb,U+5ffd,U+5fff,U+600e-6010,U+6012,U+6015-6016,U+6019,U+601b-601d,U+6020-6021,U+6025-602b,U+602f,U+6031,U+603a,U+6041-6043,U+6046,U+604a-604b,U+604d,U+6050,U+6052,U+6055,U+6059-605a,U+605d,U+605f-6060,U+6062-6065,U+6068-606d,U+606f-6070,U+6075,U+6077,U+6081,U+6083-6085,U+6089-608d,U+6092,U+6094,U+6096-6097,U+609a-609b,U+609f-60a0,U+60a3,U+60a6-60a7,U+60a9-60aa,U+60b2-60b6,U+60b8,U+60bc-60bd,U+60c5-60c7,U+60d1,U+60d3,U+60d5,U+60d8,U+60da,U+60dc,U+60de-60e1,U+60e3,U+60e7-60e8,U+60f0-60f4,U+60f6-60f7,U+60f9-60fb,U+6100-6101,U+6103,U+6106,U+6108-6109,U+610d-610f,U+6111,U+6115,U+611a-611b,U+611f-6121,U+6127-6128,U+612c,U+6130,U+6134,U+6137,U+613c-613f,U+6142,U+6144,U+6147-6148,U+614a-614e,U+6153,U+6155,U+6158-615a,U+615d,U+615f,U+6162-6163,U+6165,U+6167-6168,U+616b,U+616e-6171,U+6173-6177,U+617e,U+6182,U+6187,U+618a,U+618e,U+6190-6191,U+6194,U+6196,U+6198-619a,U+61a4,U+61a7,U+61a9,U+61ab-61ac,U+61ae,U+61b2,U+61b6,U+61ba,U+61be,U+61c3,U+61c6-61cd,U+61d0,U+61e3,U+61e6,U+61f2,U+61f4,U+61f6-61f8,U+61fa,U+61fc-6200,U+6208-620a,U+620c-620e,U+6210-6214,U+6216,U+621a-621b,U+621d-621f,U+6221,U+6226,U+622a,U+622e-6230,U+6232-6234,U+6238,U+623b,U+623f-6241,U+6247-6249,U+624b,U+624d-624e,U+6253,U+6255,U+6258,U+625b,U+625e,U+6260,U+6263,U+6268,U+626e,U+6271,U+6276,U+6279,U+627c,U+627e-6280,U+6282-6284,U+6289-628a,U+6291-6298,U+629b-629c,U+629e,U+62a6,U+62ab-62ac,U+62b1,U+62b5,U+62b9,U+62bb-62bd,U+62c2,U+62c5-62ca,U+62cc-62cd,U+62cf-62d4,U+62d7-62d9,U+62db-62dd,U+62e0-62e1,U+62ec-62ef,U+62f1,U+62f3,U+62f5-62f7,U+62fe-62ff,U+6301-6302,U+6307-6309,U+630c,U+6311,U+6319,U+631f,U+6327-6328}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-05.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+632b,U+632f,U+633a,U+633d-633f,U+6349,U+634c-634d,U+634f-6350,U+6355,U+6357,U+635c,U+6367-6369,U+636b,U+636e,U+6372,U+6376-6377,U+637a-637b,U+6380,U+6383,U+6388-6389,U+638c,U+638e-638f,U+6392,U+6396,U+6398,U+639b,U+639f-63a3,U+63a5,U+63a7-63ac,U+63b2,U+63b4-63b5,U+63bb,U+63be,U+63c0,U+63c3-63c4,U+63c6,U+63c9,U+63cf-63d0,U+63d2,U+63d6,U+63da-63db,U+63e1,U+63e3,U+63e9,U+63ee,U+63f4-63f6,U+63fa,U+6406,U+640d,U+640f,U+6413,U+6416-6417,U+641c,U+6426,U+6428,U+642c-642d,U+6434,U+6436,U+643a,U+643e,U+6442,U+644e,U+6458,U+6460,U+6467,U+6469,U+646f,U+6476,U+6478,U+647a,U+6483,U+6488,U+6492-6493,U+6495,U+649a,U+649d-649e,U+64a4-64a5,U+64a9,U+64ab,U+64ad-64ae,U+64b0,U+64b2,U+64b9,U+64bb-64bc,U+64c1-64c2,U+64c5,U+64c7,U+64cd-64ce,U+64d2,U+64d4,U+64d8,U+64da,U+64e0-64e3,U+64e6-64e7,U+64ec,U+64ef,U+64f1-64f2,U+64f4,U+64f6,U+64fa,U+64fd-64fe,U+6500,U+6505,U+6518,U+651c-651d,U+6523-6524,U+652a-652c,U+652f,U+6534-6539,U+653b,U+653e-653f,U+6545,U+6548,U+654d-654f,U+6551,U+6555-6559,U+655d-655e,U+6562-6563,U+6566,U+656c,U+6570,U+6572,U+6574-6575,U+6577-6578,U+6582-6583,U+6587-6589,U+658c,U+658e,U+6590-6591,U+6597,U+6599,U+659b-659c,U+659f,U+65a1,U+65a4-65a5,U+65a7,U+65ab-65ad,U+65af-65b0,U+65b7,U+65b9,U+65bc-65bd,U+65c1,U+65c3-65c6,U+65cb-65cc,U+65cf,U+65d2,U+65d7,U+65d9,U+65db,U+65e0-65e2,U+65e5-65e9,U+65ec-65ed,U+65f1,U+65fa-65fb,U+6600,U+6602-6603,U+6606-6607,U+6609-660a,U+660c,U+660e-660f,U+6613-6615,U+661c,U+661e-6620,U+6624-6625,U+6627-6628,U+662d-662f,U+6631,U+6634-6636,U+663b-663c,U+663f,U+6641-6644,U+6649,U+664b,U+664f,U+6652,U+6657,U+6659,U+665d-665f,U+6662,U+6664-6669,U+666e-6670,U+6673-6674,U+6676,U+667a,U+6681,U+6683-6684,U+6687-6689,U+668e,U+6691,U+6696-6699,U+669d,U+66a0,U+66a2,U+66a6,U+66ab,U+66ae,U+66b2,U+66b4,U+66b8-66b9,U+66bc,U+66be-66bf,U+66c1,U+66c4,U+66c7,U+66c9,U+66d6,U+66d9-66da,U+66dc-66dd,U+66e0,U+66e6,U+66e9,U+66f0,U+66f2-66f5,U+66f7-6700,U+6703,U+6708-6709,U+670b,U+670d-670f,U+6714-6717,U+671b,U+671d-671f,U+6726-6728,U+672a-672e,U+6731,U+6734,U+6736-6738,U+673a,U+673d,U+673f,U+6741,U+6746,U+6749,U+674e-6751,U+6753,U+6756,U+6759,U+675c,U+675e-6766,U+676a,U+676d,U+676f-6773,U+6775,U+6777,U+677c,U+677e-677f,U+6785,U+6787,U+6789,U+678b-678c,U+6790,U+6795,U+6797,U+679a,U+679c-679d,U+67a0-67a2,U+67a6,U+67a9,U+67af,U+67b3-67b4,U+67b6-67b9,U+67bb,U+67c0-67c1,U+67c4,U+67c6,U+67ca,U+67ce-67d1,U+67d3-67d4,U+67d8,U+67da,U+67dd-67de,U+67e2,U+67e4,U+67e7,U+67e9,U+67ec,U+67ee-67ef,U+67f1,U+67f3-67f5,U+67fb,U+67fe-67ff,U+6801-6804,U+6813,U+6816-6817,U+681e,U+6821-6822,U+6829-682b,U+6832,U+6834,U+6838-6839,U+683c-683d,U+6840-6844,U+6846,U+6848,U+684d-684e,U+6850-6854,U+6859,U+685c-685d,U+685f,U+6863,U+6867}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-06.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+6874,U+6876-6877,U+687e-687f,U+6881,U+6883,U+6885,U+688d,U+688f,U+6893-6894,U+6897,U+689b,U+689d,U+689f-68a0,U+68a2,U+68a6-68a8,U+68ad,U+68af-68b1,U+68b3,U+68b5-68b6,U+68b9-68ba,U+68bc,U+68c4,U+68c6,U+68c8-68cb,U+68cd,U+68cf,U+68d2,U+68d4-68d5,U+68d7-68d8,U+68da,U+68df-68e1,U+68e3,U+68e7,U+68ee-68ef,U+68f2,U+68f9-68fa,U+6900-6901,U+6904-6905,U+6908,U+690b-690f,U+6912,U+6919-691c,U+6921-6923,U+6925-6926,U+6928,U+692a,U+6930,U+6934,U+6936,U+6939,U+693d,U+693f,U+694a,U+6953-6955,U+6959-695a,U+695c-695e,U+6960-6962,U+6968,U+696a-696b,U+696d-696f,U+6973-6975,U+6977-6979,U+697c-697e,U+6981-6982,U+698a,U+698e,U+6991,U+6994-6995,U+6998,U+699b-699c,U+69a0,U+69a7,U+69ae,U+69b1-69b2,U+69b4,U+69bb,U+69be-69bf,U+69c1,U+69c3,U+69c7,U+69ca-69ce,U+69d0,U+69d3,U+69d8-69d9,U+69dd-69de,U+69e2,U+69e7-69e8,U+69eb,U+69ed,U+69f2,U+69f9,U+69fb,U+69fd,U+69ff,U+6a02,U+6a05,U+6a0a-6a0c,U+6a12-6a14,U+6a17,U+6a19,U+6a1b,U+6a1e-6a1f,U+6a21-6a23,U+6a29-6a2b,U+6a2e,U+6a30,U+6a35-6a36,U+6a38-6a3a,U+6a3d,U+6a44,U+6a46-6a48,U+6a4b,U+6a58-6a59,U+6a5f,U+6a61-6a62,U+6a66,U+6a6b,U+6a72-6a73,U+6a78,U+6a7e-6a80,U+6a84,U+6a8d-6a8e,U+6a90,U+6a97,U+6a9c,U+6aa0,U+6aa2-6aa3,U+6aaa,U+6aac,U+6aae,U+6ab3,U+6ab8,U+6abb,U+6ac1-6ac3,U+6ad1,U+6ad3,U+6ada-6adb,U+6ade-6adf,U+6ae2,U+6ae4,U+6ae8,U+6aea,U+6afa-6afb,U+6b04-6b05,U+6b0a,U+6b12,U+6b16,U+6b1d,U+6b1f-6b21,U+6b23,U+6b27,U+6b32,U+6b37-6b3a,U+6b3d-6b3e,U+6b43,U+6b47,U+6b49,U+6b4c,U+6b4e,U+6b50,U+6b53-6b54,U+6b59,U+6b5b,U+6b5f,U+6b61-6b64,U+6b66,U+6b69-6b6a,U+6b6f,U+6b73-6b74,U+6b78-6b79,U+6b7b,U+6b7f-6b80,U+6b83-6b84,U+6b86,U+6b89-6b8b,U+6b8d,U+6b95-6b96,U+6b98,U+6b9e,U+6ba4,U+6baa-6bab,U+6baf,U+6bb1-6bb5,U+6bb7,U+6bba-6bbc,U+6bbf-6bc0,U+6bc5-6bc6,U+6bcb,U+6bcd-6bce,U+6bd2-6bd4,U+6bd6,U+6bd8,U+6bdb,U+6bdf,U+6beb-6bec,U+6bef,U+6bf3,U+6c08,U+6c0f,U+6c11,U+6c13-6c14,U+6c17,U+6c1b,U+6c23-6c24,U+6c34,U+6c37-6c38,U+6c3e-6c42,U+6c4e,U+6c50,U+6c55,U+6c57,U+6c5a,U+6c5c-6c60,U+6c62,U+6c68,U+6c6a,U+6c6f-6c70,U+6c72-6c73,U+6c7a,U+6c7d-6c7e,U+6c81-6c83,U+6c86,U+6c88,U+6c8c-6c8d,U+6c90,U+6c92-6c93,U+6c96,U+6c99-6c9b,U+6ca1-6ca2,U+6cab,U+6cae,U+6cb1,U+6cb3,U+6cb8-6cbf,U+6cc1,U+6cc4-6cc5,U+6cc9-6cca,U+6ccc,U+6cd3,U+6cd5,U+6cd7,U+6cd9-6cdb,U+6cdd,U+6ce1-6ce3,U+6ce5,U+6ce8,U+6cea,U+6cef-6cf1,U+6cf3,U+6d04,U+6d0b-6d0c,U+6d12,U+6d17,U+6d19,U+6d1b,U+6d1e-6d1f,U+6d25,U+6d29-6d2b,U+6d32-6d33,U+6d35-6d36,U+6d38,U+6d3b,U+6d3d-6d3e,U+6d41,U+6d44-6d45,U+6d59-6d5a,U+6d5c,U+6d63-6d64,U+6d66,U+6d69-6d6a,U+6d6c,U+6d6e-6d6f,U+6d74,U+6d77-6d79,U+6d85,U+6d87-6d88,U+6d8c,U+6d8e,U+6d93,U+6d95-6d96,U+6d99,U+6d9b-6d9c,U+6dac,U+6daf,U+6db2,U+6db5,U+6db8,U+6dbc,U+6dc0,U+6dc5-6dc7,U+6dcb-6dcc,U+6dcf,U+6dd1-6dd2,U+6dd5,U+6dd8-6dd9,U+6dde,U+6de1,U+6de4,U+6de6,U+6de8,U+6dea-6dec,U+6dee,U+6df1-6df3,U+6df5,U+6df7-6dfc,U+6e05,U+6e07-6e0b,U+6e13,U+6e15,U+6e19-6e1b}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-07.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+6e1d,U+6e1f-6e21,U+6e23-6e27,U+6e29,U+6e2b-6e2f,U+6e38-6e3a,U+6e3c,U+6e3e,U+6e43,U+6e4a,U+6e4d-6e4e,U+6e56,U+6e58,U+6e5b-6e5c,U+6e5f,U+6e67,U+6e6b,U+6e6e-6e6f,U+6e72,U+6e76,U+6e7e-6e80,U+6e82,U+6e8c,U+6e8f-6e90,U+6e96,U+6e98,U+6e9c-6e9d,U+6e9f,U+6ea2,U+6ea5,U+6eaa,U+6eaf,U+6eb2,U+6eb6-6eb7,U+6eba,U+6ebd,U+6ebf,U+6ec2,U+6ec4-6ec5,U+6ec9,U+6ecb-6ecc,U+6ed1,U+6ed3-6ed5,U+6edd-6ede,U+6eec,U+6eef,U+6ef2,U+6ef4,U+6ef7-6ef8,U+6efe-6eff,U+6f01-6f02,U+6f06,U+6f09,U+6f0f,U+6f11,U+6f13-6f15,U+6f20,U+6f22-6f23,U+6f2b-6f2c,U+6f31-6f32,U+6f38,U+6f3e-6f3f,U+6f41,U+6f45,U+6f54,U+6f58,U+6f5b-6f5c,U+6f5f,U+6f64,U+6f66,U+6f6d-6f70,U+6f74,U+6f78,U+6f7a,U+6f7c,U+6f80-6f82,U+6f84,U+6f86,U+6f88,U+6f8e,U+6f91,U+6f97,U+6fa1,U+6fa3-6fa4,U+6faa,U+6fb1,U+6fb3,U+6fb5,U+6fb9,U+6fc0-6fc3,U+6fc6,U+6fd4-6fd5,U+6fd8,U+6fdb,U+6fdf-6fe1,U+6fe4,U+6feb-6fec,U+6fee-6fef,U+6ff1,U+6ff3,U+6ff5-6ff6,U+6ffa,U+6ffe,U+7001,U+7005,U+7007,U+7009,U+700b,U+700f,U+7011,U+7015,U+7018,U+701a-701b,U+701d-701f,U+7026-7028,U+702c,U+7030,U+7032,U+703e,U+704c,U+7051,U+7058,U+7063,U+706b,U+706f-7070,U+7078,U+707c-707d,U+7085,U+7089-708a,U+708e,U+7092,U+7099,U+70ab-70af,U+70b3,U+70b8-70bb,U+70c8,U+70cb,U+70cf,U+70d9,U+70dd,U+70df,U+70f1,U+70f9,U+70fd,U+7104,U+7109,U+710f,U+7114,U+7119-711a,U+711c,U+7121,U+7126,U+7136,U+713c,U+7146-7147,U+7149,U+714c,U+714e,U+7155-7156,U+7159,U+715c,U+7162,U+7164-7167,U+7169,U+716c,U+716e,U+717d,U+7184,U+7188,U+718a,U+718f,U+7194-7195,U+7199,U+719f,U+71a8,U+71ac,U+71b1,U+71b9,U+71be,U+71c1,U+71c3,U+71c8-71c9,U+71ce,U+71d0,U+71d2,U+71d4-71d5,U+71d7,U+71df-71e0,U+71e5-71e7,U+71ec-71ee,U+71f5,U+71f9,U+71fb-71fc,U+71fe-71ff,U+7206,U+720d,U+7210,U+721b,U+7228,U+722a,U+722c-722d,U+7230,U+7232,U+7235-7236,U+723a-7240,U+7246-7248,U+724b-724c,U+7252,U+7258-7259,U+725b,U+725d,U+725f,U+7261-7262,U+7267,U+7269,U+7272,U+7274,U+7279,U+727d-727e,U+7280-7282,U+7287,U+7292,U+7296,U+72a0,U+72a2,U+72a7,U+72ac,U+72af,U+72b1-72b2,U+72b6,U+72b9,U+72be,U+72c2-72c4,U+72c6,U+72ce,U+72d0,U+72d2,U+72d7,U+72d9,U+72db,U+72e0-72e2,U+72e9,U+72ec-72ed,U+72f7-72f9,U+72fc-72fd,U+730a,U+7316-7317,U+731b-731d,U+731f,U+7324-7325,U+7329-732b,U+732e-732f,U+7334,U+7336-7337,U+733e-733f,U+7344-7345,U+734e-734f,U+7357,U+7363,U+7368,U+736a,U+7370,U+7372,U+7375,U+7377-7378,U+737a-737b,U+7384,U+7387,U+7389,U+738b,U+7396,U+73a9,U+73b2-73b3,U+73bb,U+73bd,U+73c0,U+73c2,U+73c8-73ca,U+73cd-73ce,U+73d2,U+73d6,U+73de,U+73e0,U+73e3,U+73e5,U+73ea,U+73ed-73ee,U+73f1,U+73f5,U+73f8,U+73fe,U+7403,U+7405-7407,U+7409,U+7422,U+7425-7426,U+7429-742a,U+742e,U+7432-7436,U+743a,U+743f,U+7441,U+7455,U+7459-745c,U+745e-7460,U+7462-7464,U+7469-746a,U+746f-7470,U+7473,U+7476,U+747e,U+7483,U+7489,U+748b,U+749e-749f,U+74a2,U+74a7,U+74b0,U+74bd,U+74ca,U+74cf,U+74d4,U+74dc,U+74e0,U+74e2-74e3,U+74e6-74e7,U+74e9,U+74ee,U+74f0-74f2,U+74f6-74f8,U+7501,U+7503-7505,U+750c-750e,U+7511,U+7513,U+7515,U+7518,U+751a,U+751c,U+751e-751f,U+7523,U+7525-7526,U+7528,U+752b-752c,U+752f}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-08.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+7530-7533,U+7537-7538,U+753a-753c,U+7544,U+7546,U+7549-754d,U+754f,U+7551,U+7554,U+7559-755d,U+7560,U+7562,U+7564-7567,U+7569-756b,U+756d,U+756f-7570,U+7573-7574,U+7576-7578,U+757f,U+7582,U+7586-7587,U+7589-758b,U+758e-758f,U+7591,U+7594,U+759a,U+759d,U+75a3,U+75a5,U+75ab,U+75b1-75b3,U+75b5,U+75b8-75b9,U+75bc-75be,U+75c2-75c3,U+75c5,U+75c7,U+75ca,U+75cd,U+75d2,U+75d4-75d5,U+75d8-75d9,U+75db,U+75de,U+75e2-75e3,U+75e9,U+75f0,U+75f2-75f4,U+75fa,U+75fc,U+75fe-75ff,U+7601,U+7609,U+760b,U+760d,U+761f-7622,U+7624,U+7627,U+7630,U+7634,U+763b,U+7642,U+7646-7648,U+764c,U+7652,U+7656,U+7658,U+765c,U+7661-7662,U+7667-766a,U+766c,U+7670,U+7672,U+7676,U+7678,U+767a-767e,U+7680,U+7682-7684,U+7686-7688,U+768b,U+768e,U+7690,U+7693,U+7696,U+7699-769c,U+769e,U+76a6,U+76ae,U+76b0,U+76b4,U+76b7-76ba,U+76bf,U+76c2-76c3,U+76c6,U+76c8,U+76ca,U+76cd,U+76d2,U+76d6-76d7,U+76db-76dc,U+76de-76df,U+76e1,U+76e3-76e5,U+76e7,U+76ea,U+76ee,U+76f2,U+76f4,U+76f8,U+76fb,U+76fe,U+7701,U+7704,U+7707-7709,U+770b-770c,U+771b,U+771e-7720,U+7724-7726,U+7729,U+7737-7738,U+773a,U+773c,U+7740,U+7746-7747,U+775a-775b,U+7761,U+7763,U+7765-7766,U+7768,U+776b,U+7779,U+777e-777f,U+778b,U+778e,U+7791,U+779e,U+77a0,U+77a5,U+77ac-77ad,U+77b0,U+77b3,U+77b6,U+77b9,U+77bb-77bd,U+77bf,U+77c7,U+77cd,U+77d7,U+77da-77dc,U+77e2-77e3,U+77e5,U+77e7,U+77e9,U+77ed-77ef,U+77f3,U+77fc,U+7802,U+780c,U+7812,U+7814-7815,U+7820-7821,U+7825-7827,U+7832,U+7834,U+783a,U+783f,U+7845,U+784e,U+785d,U+7864,U+786b-786c,U+786f,U+7872,U+7874,U+787a,U+787c,U+7881,U+7886-7887,U+788c-788e,U+7891,U+7893,U+7895,U+7897,U+789a,U+78a3,U+78a7,U+78a9-78aa,U+78af,U+78b5,U+78ba,U+78bc,U+78be,U+78c1,U+78c5-78c6,U+78ca-78cb,U+78d0-78d1,U+78d4,U+78da,U+78e7-78e8,U+78ec,U+78ef,U+78f4,U+78fd,U+7901,U+7907,U+790e,U+7911-7912,U+7919,U+7926,U+792a-792c,U+7930,U+793a,U+793c,U+793e,U+7940-7941,U+7947-7949,U+7950,U+7953,U+7955-7957,U+795a,U+795d-7960,U+7962,U+7965,U+7968,U+796d,U+7977,U+797a,U+797f-7981,U+7984-7985,U+798a,U+798d-798f,U+7994,U+799b,U+799d,U+79a6-79a7,U+79aa,U+79ae,U+79b0,U+79b3,U+79b9-79ba,U+79bd-79c1,U+79c9,U+79cb,U+79d1-79d2,U+79d5,U+79d8,U+79df,U+79e1,U+79e3-79e4,U+79e6-79e7,U+79e9,U+79ec,U+79f0,U+79fb,U+7a00,U+7a08,U+7a0b,U+7a0d-7a0e,U+7a14,U+7a17-7a1a,U+7a1c,U+7a1f-7a20,U+7a2e,U+7a31-7a32,U+7a37,U+7a3b-7a40,U+7a42-7a43,U+7a46,U+7a49,U+7a4d-7a50,U+7a57,U+7a61-7a63,U+7a69,U+7a6b,U+7a70,U+7a74,U+7a76,U+7a79-7a7a,U+7a7d,U+7a7f,U+7a81,U+7a83-7a84,U+7a88,U+7a92-7a93,U+7a95-7a98,U+7a9f,U+7aa9-7aaa,U+7aae-7ab0,U+7ab6,U+7aba,U+7abf,U+7ac3-7ac5,U+7ac7-7ac8,U+7aca-7acb,U+7acd,U+7acf,U+7ad1-7ad3,U+7ad5,U+7ad9-7ada,U+7adc-7add,U+7adf-7ae3,U+7ae5-7ae7,U+7aea-7aeb,U+7aed,U+7aef-7af0,U+7af6,U+7af8-7afa,U+7aff,U+7b02,U+7b04,U+7b06,U+7b08,U+7b0a-7b0b,U+7b0f,U+7b11,U+7b18-7b19,U+7b1b,U+7b1e,U+7b20,U+7b25-7b26,U+7b28,U+7b2c,U+7b33,U+7b35-7b36,U+7b39,U+7b45}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-09.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+7b46,U+7b48-7b49,U+7b4b-7b4d,U+7b4f-7b52,U+7b54,U+7b56,U+7b5d,U+7b65,U+7b67,U+7b6c,U+7b6e,U+7b70-7b71,U+7b74-7b75,U+7b7a,U+7b86-7b87,U+7b8b,U+7b8d,U+7b8f,U+7b92,U+7b94-7b95,U+7b97-7b9a,U+7b9c-7b9f,U+7ba1,U+7baa,U+7bad,U+7bb1,U+7bb4,U+7bb8,U+7bc0-7bc1,U+7bc4,U+7bc6-7bc7,U+7bc9,U+7bcb-7bcc,U+7bcf,U+7bdd,U+7be0,U+7be4-7be6,U+7be9,U+7bed,U+7bf3,U+7bf6-7bf7,U+7c00,U+7c07,U+7c0d,U+7c11-7c14,U+7c17,U+7c1f,U+7c21,U+7c23,U+7c27,U+7c2a-7c2b,U+7c37-7c38,U+7c3d-7c40,U+7c43,U+7c4c-7c4d,U+7c4f-7c50,U+7c54,U+7c56,U+7c58,U+7c5f-7c60,U+7c64-7c65,U+7c6c,U+7c73,U+7c75,U+7c7e,U+7c81-7c83,U+7c89,U+7c8b,U+7c8d,U+7c90,U+7c92,U+7c95,U+7c97-7c98,U+7c9b,U+7c9f,U+7ca1-7ca2,U+7ca4-7ca5,U+7ca7-7ca8,U+7cab,U+7cad-7cae,U+7cb1-7cb3,U+7cb9,U+7cbd-7cbe,U+7cc0,U+7cc2,U+7cc5,U+7cca,U+7cce,U+7cd2,U+7cd6,U+7cd8,U+7cdc,U+7cde-7ce0,U+7ce2,U+7ce7,U+7cef,U+7cf2,U+7cf4,U+7cf6,U+7cf8,U+7cfa-7cfb,U+7cfe,U+7d00,U+7d02,U+7d04-7d06,U+7d0a-7d0b,U+7d0d,U+7d10,U+7d14-7d15,U+7d17-7d1c,U+7d20-7d22,U+7d2b-7d2c,U+7d2e-7d30,U+7d32-7d33,U+7d35,U+7d39-7d3a,U+7d3f,U+7d42-7d46,U+7d48,U+7d4b-7d4c,U+7d4e-7d50,U+7d56,U+7d5b-7d5c,U+7d5e,U+7d61-7d63,U+7d66,U+7d68,U+7d6e,U+7d71-7d73,U+7d75-7d76,U+7d79,U+7d7d,U+7d89,U+7d8f,U+7d93,U+7d99-7d9c,U+7d9f-7da0,U+7da2-7da3,U+7dab-7db2,U+7db4-7db5,U+7db7-7db8,U+7dba-7dbb,U+7dbd-7dbf,U+7dc7,U+7dca-7dcb,U+7dcf,U+7dd1-7dd2,U+7dd5-7dd6,U+7dd8,U+7dda,U+7ddc-7dde,U+7de0-7de1,U+7de4,U+7de8-7de9,U+7dec,U+7def,U+7df2,U+7df4,U+7dfb,U+7e01,U+7e04-7e05,U+7e09-7e0b,U+7e12,U+7e1b,U+7e1e-7e1f,U+7e21-7e23,U+7e26,U+7e2b,U+7e2e,U+7e31-7e32,U+7e35,U+7e37,U+7e39-7e3b,U+7e3d-7e3e,U+7e41,U+7e43,U+7e46,U+7e4a-7e4b,U+7e4d,U+7e52,U+7e54-7e56,U+7e59-7e5a,U+7e5d-7e5e,U+7e66-7e67,U+7e69-7e6a,U+7e6d,U+7e70,U+7e79,U+7e7b-7e7d,U+7e7f,U+7e82-7e83,U+7e88-7e8a,U+7e8c,U+7e8e-7e90,U+7e92-7e94,U+7e96,U+7e9b-7e9c,U+7f36,U+7f38,U+7f3a,U+7f45,U+7f47,U+7f4c-7f4e,U+7f50-7f51,U+7f54-7f55,U+7f58,U+7f5f-7f60,U+7f67-7f6b,U+7f6e,U+7f70,U+7f72,U+7f75,U+7f77-7f79,U+7f82-7f83,U+7f85-7f88,U+7f8a,U+7f8c,U+7f8e,U+7f94,U+7f9a,U+7f9d-7f9e,U+7fa1,U+7fa3-7fa4,U+7fa8-7fa9,U+7fae-7faf,U+7fb2,U+7fb6,U+7fb8-7fb9,U+7fbd,U+7fc1,U+7fc5-7fc6,U+7fca,U+7fcc,U+7fd2,U+7fd4-7fd5,U+7fe0-7fe1,U+7fe6,U+7fe9,U+7feb,U+7ff0,U+7ff3,U+7ff9,U+7ffb-7ffc,U+8000-8001,U+8003-8006,U+800b-800c,U+8010,U+8012,U+8015,U+8017-8019,U+801c,U+8021,U+8028,U+8033,U+8036,U+803b,U+803d,U+803f,U+8046,U+804a,U+8052,U+8056,U+8058,U+805a,U+805e-805f,U+8061-8062,U+8068,U+806f-8070,U+8072-8074,U+8076-8077,U+8079,U+807d-807f,U+8084-8087,U+8089,U+808b-808c,U+8093,U+8096,U+8098,U+809a-809b,U+809d,U+80a1-80a2,U+80a5,U+80a9-80aa,U+80ac-80ad,U+80af,U+80b1-80b2,U+80b4,U+80ba,U+80c3-80c4,U+80c6,U+80cc,U+80ce,U+80d6,U+80d9-80db,U+80dd-80de,U+80e1,U+80e4-80e5,U+80ef,U+80f1,U+80f4,U+80f8,U+80fc-80fd,U+8102,U+8105-810a,U+811a-811b,U+8123,U+8129,U+812f,U+8131,U+8133,U+8139,U+813e,U+8146}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-10.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+814b,U+814e,U+8150-8151,U+8153-8155,U+815f,U+8165-8166,U+816b,U+816e,U+8170-8171,U+8174,U+8178-817a,U+817f-8180,U+8182-8183,U+8188,U+818a,U+818f,U+8193,U+8195,U+819a,U+819c-819d,U+81a0,U+81a3-81a4,U+81a8-81a9,U+81b0,U+81b3,U+81b5,U+81b8,U+81ba,U+81bd-81c0,U+81c2,U+81c6,U+81c8-81c9,U+81cd,U+81d1,U+81d3,U+81d8-81da,U+81df-81e0,U+81e3,U+81e5,U+81e7-81e8,U+81ea,U+81ed,U+81f3-81f4,U+81fa-81fc,U+81fe,U+8201-8202,U+8205,U+8207-820a,U+820c-820e,U+8210,U+8212,U+8216-8218,U+821b-821c,U+821e-821f,U+8229-822c,U+822e,U+8233,U+8235-8239,U+8240,U+8247,U+8258-825a,U+825d,U+825f,U+8262,U+8264,U+8266,U+8268,U+826a-826b,U+826e-826f,U+8271-8272,U+8276-8278,U+827e,U+828b,U+828d,U+8292,U+8299,U+829d,U+829f,U+82a5-82a6,U+82ab-82ad,U+82af,U+82b1,U+82b3,U+82b8-82b9,U+82bb,U+82bd,U+82c5,U+82d1-82d4,U+82d7,U+82d9,U+82db-82dc,U+82de-82df,U+82e1,U+82e3,U+82e5-82e7,U+82eb,U+82f1,U+82f3-82f4,U+82f9-82fb,U+8301-8306,U+8309,U+830e,U+8316-8318,U+831c,U+8323,U+8328,U+832b,U+832f,U+8331-8332,U+8334-8336,U+8338-8339,U+8340,U+8345,U+8349-834a,U+834f-8350,U+8352,U+8358,U+8362,U+8373,U+8375,U+8377,U+837b-837c,U+837f,U+8385,U+8387,U+8389-838a,U+838e,U+8393,U+8396,U+839a,U+839e-83a0,U+83a2,U+83a8,U+83aa-83ab,U+83b1,U+83b5,U+83bd,U+83c1,U+83c5,U+83c7,U+83ca,U+83cc,U+83ce,U+83d3,U+83d6,U+83d8,U+83dc,U+83df-83e0,U+83e9,U+83eb,U+83ef-83f2,U+83f4,U+83f6-83f7,U+83fb,U+83fd,U+8403-8404,U+8407,U+840b-840e,U+8413,U+8420,U+8422,U+8429-842a,U+842c,U+8431,U+8435,U+8438,U+843c-843d,U+8446,U+8448-8449,U+844e,U+8457,U+845b,U+8461-8463,U+8466,U+8469,U+846b-846f,U+8471,U+8475,U+8477,U+8479-847a,U+8482,U+8484,U+848b,U+8490,U+8494,U+8499,U+849c,U+849f,U+84a1,U+84ad,U+84b2,U+84b4,U+84b8-84b9,U+84bb-84bc,U+84bf,U+84c1,U+84c4,U+84c6,U+84c9-84cb,U+84cd,U+84d0-84d1,U+84d6,U+84d9-84da,U+84dc,U+84ec,U+84ee,U+84f4,U+84fc,U+84ff-8500,U+8506,U+8511,U+8513-8515,U+8517-8518,U+851a,U+851f,U+8521,U+8526,U+852c-852d,U+8535,U+853d,U+8540-8541,U+8543,U+8548-854b,U+854e,U+8553,U+8555,U+8557-855a,U+8563,U+8568-856b,U+856d,U+8577,U+857e,U+8580,U+8584,U+8587-8588,U+858a,U+8590-8591,U+8594,U+8597,U+8599,U+859b-859c,U+85a4,U+85a6,U+85a8-85ac,U+85ae-85b0,U+85b9-85ba,U+85c1,U+85c9,U+85cd,U+85cf-85d0,U+85d5,U+85dc-85dd,U+85e4-85e5,U+85e9-85ea,U+85f7,U+85f9-85fb,U+85fe,U+8602,U+8606-8607,U+860a-860b,U+8613,U+8616-8617,U+861a,U+8622,U+862d,U+862f-8630,U+863f,U+864d-864e,U+8650,U+8654-8655,U+865a,U+865c,U+865e-865f,U+8667,U+866b,U+8671,U+8679,U+867b,U+868a-868c,U+8693,U+8695,U+86a3-86a4,U+86a9-86ab,U+86af-86b0,U+86b6,U+86c4,U+86c6-86c7,U+86c9,U+86cb,U+86cd-86ce,U+86d4,U+86d9,U+86db,U+86de-86df,U+86e4,U+86e9,U+86ec-86ef,U+86f8-86f9,U+86fb,U+86fe,U+8700,U+8702-8703,U+8706,U+8708-870a,U+870d,U+8711-8712,U+8718,U+871a,U+871c,U+8725,U+8729,U+8734,U+8737,U+873b,U+873f,U+8749,U+874b-874c,U+874e,U+8753,U+8755,U+8757,U+8759,U+875f-8760,U+8763,U+8766,U+8768,U+876a,U+876e,U+8774,U+8776,U+8778,U+877f,U+8782,U+878d,U+879f,U+87a2,U+87ab,U+87af,U+87b3}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-11.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+87ba-87bb,U+87bd,U+87c0,U+87c4,U+87c6-87c7,U+87cb,U+87d0,U+87d2,U+87e0,U+87ef,U+87f2,U+87f6-87f7,U+87f9,U+87fb,U+87fe,U+8805,U+8807,U+880d-880f,U+8811,U+8815-8816,U+8821-8823,U+8827,U+8831,U+8836,U+8839,U+883b,U+8840,U+8842,U+8844,U+8846,U+884c-884d,U+8852-8853,U+8857,U+8859,U+885b,U+885d-885e,U+8861-8863,U+8868,U+886b,U+8870,U+8872,U+8875,U+8877,U+887d-887f,U+8881-8882,U+8888,U+888b,U+888d,U+8892,U+8896-8897,U+8899,U+889e,U+88a2,U+88a4,U+88ab,U+88ae,U+88b0-88b1,U+88b4-88b5,U+88b7,U+88bf,U+88c1-88c5,U+88cf,U+88d4-88d5,U+88d8-88d9,U+88dc-88dd,U+88df,U+88e1,U+88e8,U+88f2-88f5,U+88f8-88f9,U+88fc-88fe,U+8902,U+8904,U+8907,U+890a,U+890c,U+8910,U+8912-8913,U+891c-891e,U+8925,U+892a-892b,U+8936,U+8938,U+893b,U+8941,U+8943-8944,U+894c-894d,U+8956,U+895e-8960,U+8964,U+8966,U+896a,U+896d,U+896f,U+8972,U+8974,U+8977,U+897e-897f,U+8981,U+8983,U+8986-8988,U+898a-898b,U+898f,U+8993,U+8996-8998,U+899a,U+89a1,U+89a6-89a7,U+89a9-89aa,U+89ac,U+89af,U+89b2-89b3,U+89ba,U+89bd,U+89bf-89c0,U+89d2,U+89da,U+89dc-89dd,U+89e3,U+89e6-89e7,U+89f4,U+89f8,U+8a00,U+8a02-8a03,U+8a08,U+8a0a,U+8a0c,U+8a0e,U+8a10,U+8a12-8a13,U+8a16-8a18,U+8a1b,U+8a1d,U+8a1f,U+8a23,U+8a25,U+8a2a,U+8a2d,U+8a31,U+8a33-8a34,U+8a36-8a37,U+8a3a-8a3c,U+8a41,U+8a46,U+8a48,U+8a50-8a52,U+8a54-8a55,U+8a5b,U+8a5e,U+8a60,U+8a62-8a63,U+8a66,U+8a69,U+8a6b-8a6e,U+8a70-8a73,U+8a79,U+8a7c,U+8a82,U+8a84-8a85,U+8a87,U+8a89,U+8a8c-8a8d,U+8a91,U+8a93,U+8a95,U+8a98,U+8a9a,U+8a9e,U+8aa0-8aa1,U+8aa3-8aa8,U+8aac-8aad,U+8ab0,U+8ab2,U+8ab9,U+8abc,U+8abe-8abf,U+8ac2,U+8ac4,U+8ac7,U+8acb-8acd,U+8acf,U+8ad2,U+8ad6,U+8ada-8adc,U+8ade-8ae2,U+8ae4,U+8ae6-8ae7,U+8aeb,U+8aed-8aee,U+8af1,U+8af3,U+8af6-8af8,U+8afa,U+8afe,U+8b00-8b02,U+8b04,U+8b07,U+8b0c,U+8b0e,U+8b10,U+8b14,U+8b16-8b17,U+8b19-8b1b,U+8b1d,U+8b20-8b21,U+8b26,U+8b28,U+8b2b-8b2c,U+8b33,U+8b39,U+8b3e,U+8b41,U+8b49,U+8b4c,U+8b4e-8b4f,U+8b53,U+8b56,U+8b58,U+8b5a-8b5c,U+8b5f,U+8b66,U+8b6b-8b6c,U+8b6f-8b72,U+8b74,U+8b77,U+8b7d,U+8b7f-8b80,U+8b83,U+8b8a,U+8b8c,U+8b8e,U+8b90,U+8b92-8b93,U+8b96,U+8b99-8b9a,U+8c37,U+8c3a,U+8c3f,U+8c41,U+8c46,U+8c48,U+8c4a,U+8c4c,U+8c4e,U+8c50,U+8c55,U+8c5a,U+8c61-8c62,U+8c6a-8c6c,U+8c78-8c7a,U+8c7c,U+8c82,U+8c85,U+8c89-8c8a,U+8c8c-8c8e,U+8c94,U+8c98,U+8c9d-8c9e,U+8ca0-8ca2,U+8ca7-8cb0,U+8cb2-8cb4,U+8cb6-8cb8,U+8cbb-8cbd,U+8cbf-8cc4,U+8cc7-8cc8,U+8cca,U+8ccd-8cce,U+8cd1,U+8cd3,U+8cda-8cdc,U+8cde,U+8ce0,U+8ce2-8ce4,U+8ce6,U+8cea,U+8ced,U+8cf0,U+8cf4,U+8cfa-8cfd,U+8d04-8d05,U+8d07-8d08,U+8d0a-8d0b,U+8d0d,U+8d0f-8d10,U+8d12-8d14,U+8d16,U+8d64,U+8d66-8d67,U+8d6b,U+8d6d,U+8d70-8d71,U+8d73-8d74,U+8d76-8d77,U+8d81,U+8d85,U+8d8a,U+8d99,U+8da3,U+8da8,U+8db3,U+8dba,U+8dbe,U+8dc2,U+8dcb-8dcc,U+8dcf,U+8dd6,U+8dda-8ddb,U+8ddd,U+8ddf,U+8de1,U+8de3,U+8de8,U+8dea-8deb,U+8def,U+8df3,U+8df5,U+8dfc,U+8dff,U+8e08-8e0a,U+8e0f-8e10,U+8e1d-8e1f,U+8e2a,U+8e30,U+8e34-8e35,U+8e42,U+8e44,U+8e47-8e4a,U+8e4c,U+8e50}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-12.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+8e55,U+8e59,U+8e5f-8e60,U+8e63-8e64,U+8e72,U+8e74,U+8e76,U+8e7c,U+8e81,U+8e84-8e85,U+8e87,U+8e8a-8e8b,U+8e8d,U+8e91,U+8e93-8e94,U+8e99,U+8ea1,U+8eaa-8eac,U+8eaf-8eb1,U+8ebe,U+8ec5-8ec6,U+8ec8,U+8eca-8ecd,U+8ecf,U+8ed2,U+8edb,U+8edf,U+8ee2-8ee3,U+8eeb,U+8ef8,U+8efb-8efe,U+8f03,U+8f05,U+8f09-8f0a,U+8f0c,U+8f12-8f15,U+8f19,U+8f1b-8f1d,U+8f1f,U+8f26,U+8f29-8f2a,U+8f2f,U+8f33,U+8f38-8f39,U+8f3b,U+8f3e-8f3f,U+8f42,U+8f44-8f46,U+8f49,U+8f4c-8f4e,U+8f57,U+8f5c,U+8f5f,U+8f61-8f64,U+8f9b-8f9c,U+8f9e-8f9f,U+8fa3,U+8fa7-8fa8,U+8fad-8fb2,U+8fb7,U+8fba-8fbc,U+8fbf,U+8fc2,U+8fc4-8fc5,U+8fce,U+8fd1,U+8fd4,U+8fda,U+8fe2,U+8fe5-8fe6,U+8fe9-8feb,U+8fed,U+8fef-8ff0,U+8ff4,U+8ff7-8ffa,U+8ffd,U+9000-9001,U+9003,U+9005-9006,U+900b,U+900d-9011,U+9013-9017,U+9019-901a,U+901d-9023,U+9027,U+902e,U+9031-9032,U+9035-9036,U+9038-9039,U+903c,U+903e,U+9041-9042,U+9045,U+9047,U+9049-904b,U+904d-9056,U+9058-9059,U+905c,U+905e,U+9060-9061,U+9063,U+9065,U+9067-9069,U+906d-906f,U+9072,U+9075-9078,U+907a,U+907c-907d,U+907f-9084,U+9087,U+9089-908a,U+908f,U+9091,U+90a3,U+90a6,U+90a8,U+90aa,U+90af,U+90b1,U+90b5,U+90b8,U+90c1,U+90ca,U+90ce,U+90db,U+90de,U+90e1-90e2,U+90e4,U+90e8,U+90ed,U+90f5,U+90f7,U+90fd,U+9102,U+9112,U+9115,U+9119,U+9127,U+912d,U+9130,U+9132,U+9149-914e,U+9152,U+9154,U+9156,U+9158,U+9162-9163,U+9165,U+9169-916a,U+916c,U+9172-9173,U+9175,U+9177-9178,U+9182,U+9187,U+9189,U+918b,U+918d,U+9190,U+9192,U+9197,U+919c,U+91a2,U+91a4,U+91aa-91ab,U+91af,U+91b4-91b5,U+91b8,U+91ba,U+91c0-91c1,U+91c6-91c9,U+91cb-91d1,U+91d6-91d8,U+91da-91df,U+91e1,U+91e3-91e7,U+91ed-91ee,U+91f5-91f6,U+91fc,U+91ff,U+9206,U+920a,U+920d-920e,U+9210-9211,U+9214-9215,U+921e,U+9229,U+922c,U+9234,U+9237,U+9239-923a,U+923c,U+923f-9240,U+9244-9245,U+9248-9249,U+924b,U+924e,U+9250-9251,U+9257,U+9259-925b,U+925e,U+9262,U+9264,U+9266-9267,U+9271,U+9277-9278,U+927e,U+9280,U+9283,U+9285,U+9288,U+9291,U+9293,U+9295-9296,U+9298,U+929a-929c,U+92a7,U+92ad,U+92b7,U+92b9,U+92cf-92d0,U+92d2-92d3,U+92d5,U+92d7,U+92d9,U+92e0,U+92e4,U+92e7,U+92e9-92ea,U+92ed,U+92f2-92f3,U+92f8-92fc,U+92ff,U+9302,U+9306,U+930f-9310,U+9318-931a,U+931d-931e,U+9320-9323,U+9325-9326,U+9328,U+932b-932c,U+932e-932f,U+9332,U+9335,U+933a-933b,U+9344,U+9348,U+934b,U+934d,U+9354,U+9356-9357,U+935b-935c,U+9360,U+936c,U+936e,U+9370,U+9375,U+937c,U+937e,U+938c,U+9394,U+9396-9397,U+939a,U+93a4,U+93a7,U+93ac-93ae,U+93b0,U+93b9,U+93c3,U+93c6,U+93c8,U+93d0-93d1,U+93d6-93d8,U+93dd-93de,U+93e1,U+93e4-93e5,U+93e8,U+93f8,U+9403,U+9407,U+9410,U+9413-9414,U+9418-941a,U+9421,U+942b,U+9431,U+9435-9436,U+9438,U+943a,U+9441,U+9444-9445,U+9448,U+9451-9453,U+945a-945b,U+945e,U+9460,U+9462,U+946a,U+9470,U+9475,U+9477,U+947c-947f,U+9481,U+9577,U+9580,U+9582-9583,U+9587,U+9589-958a}@font-face{font-family:Noto Sans JP;src:url(./fonts/NotoSansJP-13.woff2)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+958b,U+958f,U+9591-9594,U+9596,U+9598-9599,U+95a0,U+95a2-95a5,U+95a7-95a8,U+95ad,U+95b2,U+95b9,U+95bb-95bc,U+95be,U+95c3,U+95c7,U+95ca,U+95cc-95cd,U+95d4-95d6,U+95d8,U+95dc,U+95e1-95e2,U+95e5,U+961c,U+9621,U+9628,U+962a,U+962e-962f,U+9632,U+963b,U+963f-9640,U+9642,U+9644,U+964b-964d,U+964f-9650,U+965b-965f,U+9662-9666,U+966a,U+966c,U+9670,U+9672-9673,U+9675-9678,U+967a,U+967d,U+9685-9686,U+9688,U+968a-968b,U+968d-968f,U+9694-9695,U+9697-9699,U+969b-969d,U+96a0,U+96a3,U+96a7-96a8,U+96aa,U+96af-96b2,U+96b4,U+96b6-96b9,U+96bb-96bc,U+96c0-96c1,U+96c4-96c7,U+96c9,U+96cb-96ce,U+96d1,U+96d5-96d6,U+96d9,U+96db-96dc,U+96e2-96e3,U+96e8,U+96ea-96eb,U+96f0,U+96f2,U+96f6-96f7,U+96f9,U+96fb,U+9700,U+9704,U+9706-9708,U+970a,U+970d-970f,U+9711,U+9713,U+9716,U+9719,U+971c,U+971e,U+9724,U+9727,U+972a,U+9730,U+9732-9733,U+9738-9739,U+973b,U+973d-973e,U+9742-9744,U+9746,U+9748-9749,U+974d,U+974f,U+9751-9752,U+9755-9756,U+9759,U+975c,U+975e,U+9760-9762,U+9764,U+9766,U+9768-9769,U+976b,U+976d,U+9771,U+9774,U+9779-977a,U+977c,U+9781,U+9784-9786,U+978b,U+978d,U+978f-9790,U+9798,U+979c,U+97a0,U+97a3,U+97a6,U+97a8,U+97ab,U+97ad,U+97b3-97b4,U+97c3,U+97c6,U+97c8,U+97cb,U+97d3,U+97dc,U+97ed-97ee,U+97f2-97f3,U+97f5-97f6,U+97fb,U+97ff,U+9801-9803,U+9805-9806,U+9808,U+980c,U+980f-9813,U+9817-9818,U+981a,U+9821,U+9824,U+982c-982d,U+9834,U+9837-9838,U+983b-983d,U+9846,U+984b-984f,U+9854-9855,U+9857-9858,U+985b,U+985e,U+9865,U+9867,U+986b,U+986f-9871,U+9873-9874,U+98a8,U+98aa,U+98af,U+98b1,U+98b6,U+98c3-98c4,U+98c6,U+98db-98dc,U+98df,U+98e2,U+98e9,U+98eb,U+98ed-98ef,U+98f2,U+98f4,U+98fc-98fe,U+9903,U+9905,U+9909-990a,U+990c,U+9910,U+9912-9914,U+9918,U+991d-991e,U+9920-9921,U+9924,U+9927-9928,U+992c,U+992e,U+993d-993e,U+9942,U+9945,U+9949,U+994b-994c,U+9950-9952,U+9955,U+9957,U+9996-9999,U+999e,U+99a5,U+99a8,U+99ac-99ae,U+99b3-99b4,U+99bc,U+99c1,U+99c4-99c6,U+99c8,U+99d0-99d2,U+99d5,U+99d8,U+99db,U+99dd,U+99df,U+99e2,U+99ed-99ee,U+99f1-99f2,U+99f8,U+99fb,U+99ff,U+9a01,U+9a05,U+9a0e-9a0f,U+9a12-9a13,U+9a19,U+9a28,U+9a2b,U+9a30,U+9a37,U+9a3e,U+9a40,U+9a42-9a43,U+9a45,U+9a4d-9a4e,U+9a55,U+9a57,U+9a5a-9a5b,U+9a5f,U+9a62,U+9a64-9a65,U+9a69-9a6b,U+9aa8,U+9aad,U+9ab0,U+9ab8,U+9abc,U+9ac0,U+9ac4,U+9acf,U+9ad1,U+9ad3-9ad4,U+9ad8-9ad9,U+9adc,U+9ade-9adf,U+9ae2-9ae3,U+9ae6,U+9aea-9aeb,U+9aed-9aef,U+9af1,U+9af4,U+9af7,U+9afb,U+9b06,U+9b18,U+9b1a,U+9b1f,U+9b22-9b23,U+9b25,U+9b27-9b2a,U+9b2e-9b2f,U+9b31-9b32,U+9b3b-9b3c,U+9b41-9b45,U+9b4d-9b4f,U+9b51,U+9b54,U+9b58,U+9b5a,U+9b6f,U+9b72,U+9b74-9b75,U+9b83,U+9b8e-9b8f,U+9b91-9b93,U+9b96-9b97,U+9b9f-9ba0,U+9ba8,U+9baa-9bab,U+9bad-9bae,U+9bb1,U+9bb4,U+9bb9,U+9bbb,U+9bc0,U+9bc6,U+9bc9-9bca,U+9bcf,U+9bd1-9bd2,U+9bd4,U+9bd6,U+9bdb,U+9be1-9be4,U+9be8,U+9bf0-9bf2,U+9bf5,U+9c00,U+9c04,U+9c06,U+9c08-9c0a,U+9c0c-9c0d,U+9c10,U+9c12-9c15,U+9c1b,U+9c21,U+9c24-9c25,U+9c2d-9c2f}@font-face{font-family:Noto Sans JP;src:url(data:font/woff2;base64,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)format(woff2);font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+9c30,U+9c32,U+9c39-9c3b,U+9c3e,U+9c46-9c48,U+9c52,U+9c57,U+9c5a,U+9c60,U+9c67,U+9c76,U+9c78,U+9ce5,U+9ce7,U+9ce9,U+9ceb-9cec,U+9cf0,U+9cf3-9cf4,U+9cf6,U+9d03,U+9d06-9d09,U+9d0e,U+9d12,U+9d15,U+9d1b,U+9d1f,U+9d23,U+9d26,U+9d28,U+9d2a-9d2c,U+9d3b,U+9d3e-9d3f,U+9d41,U+9d44,U+9d46,U+9d48,U+9d50-9d51,U+9d59,U+9d5c-9d5e,U+9d60-9d61,U+9d64,U+9d6b-9d6c,U+9d6f-9d70,U+9d72,U+9d7a,U+9d87,U+9d89,U+9d8f,U+9d9a,U+9da4,U+9da9,U+9dab,U+9daf,U+9db2,U+9db4,U+9db8,U+9dba-9dbb,U+9dc1-9dc2,U+9dc4,U+9dc6,U+9dcf,U+9dd3,U+9dd9,U+9de6,U+9ded,U+9def,U+9df2,U+9df8-9dfa,U+9dfd,U+9e19-9e1b,U+9e1e,U+9e75,U+9e78-9e79,U+9e7d,U+9e7f,U+9e81,U+9e88,U+9e8b-9e8c,U+9e91-9e93,U+9e95,U+9e97,U+9e9d,U+9e9f,U+9ea5-9ea6,U+9ea9-9eaa,U+9ead,U+9eb8-9ebc,U+9ebe-9ebf,U+9ec4,U+9ecc-9ed2,U+9ed4,U+9ed8-9ed9,U+9edb-9ede,U+9ee0,U+9ee5,U+9ee8,U+9eef,U+9ef4,U+9ef6-9ef7,U+9ef9,U+9efb-9efd,U+9f07-9f08,U+9f0e,U+9f13,U+9f15,U+9f20-9f21,U+9f2c,U+9f3b,U+9f3e,U+9f4a-9f4b,U+9f4e-9f4f,U+9f52,U+9f54,U+9f5f-9f63,U+9f66-9f67,U+9f6a,U+9f6c,U+9f72,U+9f76-9f77,U+9f8d,U+9f95,U+9f9c-9f9d,U+9fa0,U+f929,U+f9dc,U+fa0e-fa2d}@font-face{font-family:"M PLUS 1 Code";src:url(data:font/woff2;base64,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)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+3000-3002,U+3005-3006,U+3008-3009,U+300c-300f,U+303b,U+3041-3094,U+3099-309a,U+309d-309e,U+30a1-30fd,U+3231-3232,U+ff08-ff09}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-01.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+4e00-4e01,U+4e03,U+4e07-4e0b,U+4e0d-4e0e,U+4e10-4e11,U+4e14-4e19,U+4e1e,U+4e21,U+4e26,U+4e28,U+4e2a,U+4e2d,U+4e31-4e32,U+4e36,U+4e38-4e39,U+4e3b-4e3c,U+4e3f,U+4e42-4e43,U+4e45,U+4e4b,U+4e4d-4e4f,U+4e56-4e59,U+4e5d-4e5f,U+4e62,U+4e71,U+4e73,U+4e7e,U+4e80,U+4e82,U+4e85-4e86,U+4e88-4e8c,U+4e8e,U+4e91-4e92,U+4e94-4e95,U+4e98-4e99,U+4e9b-4e9c,U+4e9e-4ea2,U+4ea4-4ea6,U+4ea8,U+4eab-4eae,U+4eb0,U+4eb3,U+4eb6,U+4eba,U+4ec0-4ec2,U+4ec4,U+4ec6-4ec7,U+4eca-4ecb,U+4ecd-4ecf,U+4ed4-4ed9,U+4edd-4edf,U+4ee3-4ee5,U+4eed-4eee,U+4ef0,U+4ef2,U+4ef6-4ef7,U+4efb,U+4f01,U+4f09-4f0a,U+4f0d-4f11,U+4f1a,U+4f1c-4f1d,U+4f2f-4f30,U+4f34,U+4f36,U+4f38,U+4f3a,U+4f3c-4f3d,U+4f43,U+4f46-4f47,U+4f4d-4f51,U+4f53,U+4f55,U+4f57,U+4f59-4f5d,U+4f69,U+4f6f-4f70,U+4f73,U+4f75-4f76,U+4f7b-4f7c,U+4f7f,U+4f83,U+4f86,U+4f88,U+4f8b,U+4f8d,U+4f8f,U+4f91,U+4f96,U+4f98,U+4f9b,U+4f9d,U+4fa0-4fa1,U+4fad-4faf,U+4fb5-4fb6,U+4fbf,U+4fc2-4fc4,U+4fca,U+4fce,U+4fd0-4fd1,U+4fd4,U+4fd7-4fd8,U+4fda-4fdb,U+4fdd,U+4fdf,U+4fe1,U+4fe3-4fe5,U+4fee-4fef,U+4ff3,U+4ff5-4ff6,U+4ff8,U+4ffa,U+4ffe,U+5005-5006,U+5009,U+500b,U+500d,U+5011-5012,U+5014,U+5016,U+5019-501a,U+501f,U+5021,U+5023-5026,U+5028-502d,U+5036,U+5039,U+5043,U+5047-5049,U+504f-5050,U+5055-5056,U+505a,U+505c,U+5065,U+506c,U+5072,U+5074-5076,U+5078,U+507d,U+5080,U+5085,U+508d,U+5091,U+5098-509a,U+50ac-50ad,U+50b2-50b5,U+50b7,U+50be,U+50c2,U+50c5,U+50c9-50ca,U+50cd,U+50cf,U+50d1,U+50d5-50d6,U+50da,U+50de,U+50e3,U+50e5,U+50e7,U+50ed-50ee,U+50f5,U+50f9,U+50fb,U+5100-5102,U+5104,U+5109,U+5112,U+5114-5116,U+5118,U+511a,U+511f,U+5121,U+512a,U+5132,U+5137,U+513a-513c,U+513f-5141,U+5143-5149,U+514b-514e,U+5150,U+5152,U+5154,U+515a,U+515c,U+5162,U+5165,U+5168-516e,U+5171,U+5175-5178,U+517c,U+5180,U+5182,U+5185-5186,U+5189-518a,U+518c-518d,U+518f,U+5191-5193,U+5195-5197,U+5199,U+51a0,U+51a2,U+51a4-51a6,U+51a8-51ac,U+51b0-51b7,U+51bd,U+51c4-51c6,U+51c9,U+51cb-51cd,U+51d6,U+51db-51dd,U+51e0-51e1,U+51e6-51e7,U+51e9-51ea,U+51ed,U+51f0-51f1,U+51f5-51f6,U+51f8-51fa,U+51fd-51fe,U+5200,U+5203-5204,U+5206-5208,U+520a-520b,U+520e,U+5211,U+5214,U+5217,U+521d,U+5224-5225,U+5227,U+5229-522a,U+522e,U+5230,U+5233,U+5236-523b,U+5243-5244,U+5247,U+524a-524d,U+524f,U+5254,U+5256,U+525b,U+525e,U+5263-5265,U+5269-526a,U+526f-5275,U+527d,U+527f,U+5283,U+5287-5289,U+528d,U+5291-5292,U+5294,U+529b,U+529f-52a0,U+52a3,U+52a9-52ad,U+52b1,U+52b4-52b5,U+52b9,U+52bc,U+52be,U+52c1,U+52c3,U+52c5,U+52c7,U+52c9,U+52cd,U+52d2,U+52d5,U+52d7-52d9,U+52dd-52e0,U+52e2-52e4,U+52e6-52e7,U+52f2-52f3,U+52f5,U+52f8-52fa,U+52fe-52ff}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-02.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+5301-5302,U+5305-5306,U+5308,U+530d,U+530f-5310,U+5315-5317,U+5319-531a,U+531d,U+5320-5321,U+5323,U+532a,U+532f,U+5331,U+5333,U+5338-533b,U+533f-5341,U+5343,U+5345-534a,U+534d,U+5351-5354,U+5357-5358,U+535a,U+535c,U+535e,U+5360,U+5366,U+5369,U+536e-5371,U+5373-5375,U+5377-5378,U+537b,U+537f,U+5382,U+5384,U+5396,U+5398,U+539a,U+539f-53a0,U+53a5-53a6,U+53a8-53a9,U+53ad-53ae,U+53b0,U+53b3,U+53b6,U+53bb,U+53c2-53c3,U+53c8-53ce,U+53d4,U+53d6-53d7,U+53d9,U+53db,U+53df,U+53e1-53e5,U+53e8-53f3,U+53f6-53f8,U+53fa,U+5401,U+5403-5404,U+5408-5411,U+541b,U+541d,U+541f-5420,U+5426,U+5429,U+542b-542e,U+5436,U+5438-5439,U+543b-543e,U+5440,U+5442,U+5446,U+5448-544a,U+544e,U+5451,U+545f,U+5468,U+546a,U+5470-5471,U+5473,U+5475-5477,U+547b-547d,U+5480,U+5484,U+5486,U+548b-548c,U+548e-5490,U+5492,U+54a2,U+54a4-54a5,U+54a8,U+54ab-54ac,U+54af,U+54b2-54b3,U+54b8,U+54bc-54be,U+54c0-54c2,U+54c4,U+54c7-54c9,U+54d8,U+54e1-54e2,U+54e5-54e6,U+54e8-54e9,U+54ed-54ee,U+54f2,U+54fa,U+54fd,U+5504,U+5506-5507,U+550f-5510,U+5514,U+5516,U+552e-552f,U+5531,U+5533,U+5538-5539,U+553e,U+5540,U+5544-5546,U+554c,U+554f,U+5553,U+5556-5557,U+555c-555d,U+5563,U+557b-557c,U+557e,U+5580,U+5583-5584,U+5587,U+5589-558b,U+5598-559a,U+559c-559f,U+55a7-55ac,U+55ae,U+55b0,U+55b6,U+55c4-55c5,U+55c7,U+55d4,U+55da,U+55dc,U+55df,U+55e3-55e4,U+55f7,U+55f9,U+55fd-55fe,U+5606,U+5609,U+5614,U+5616-5618,U+561b,U+5629,U+562f,U+5631-5632,U+5634,U+5636,U+5638,U+5642,U+564c,U+564e,U+5650,U+565b,U+5664,U+5668,U+566a-566c,U+5674,U+5678,U+567a,U+5680,U+5686-5687,U+568a,U+568f,U+5694,U+56a0,U+56a2,U+56a5,U+56ae,U+56b4,U+56b6,U+56bc,U+56c0-56c3,U+56c8,U+56ce,U+56d1,U+56d3,U+56d7-56d8,U+56da-56db,U+56de,U+56e0,U+56e3,U+56ee,U+56f0,U+56f2-56f3,U+56f9-56fa,U+56fd,U+56ff-5700,U+5703-5704,U+5708-5709,U+570b,U+570d,U+570f,U+5712-5713,U+5716,U+5718,U+571c,U+571f,U+5726-5728,U+572d,U+5730,U+5737-5738,U+573b,U+5740,U+5742,U+5747,U+574a,U+574e-5751,U+5761,U+5764,U+5766,U+5769-576a,U+577f,U+5782,U+5788-5789,U+578b,U+5793,U+57a0,U+57a2-57a4,U+57aa,U+57b0,U+57b3,U+57c0,U+57c3,U+57c6,U+57cb,U+57ce,U+57d2-57d4,U+57d6,U+57dc,U+57df-57e0,U+57e3,U+57f4,U+57f7,U+57f9-57fa,U+57fc,U+5800,U+5802,U+5805-5806,U+580a-580b,U+5815,U+5819,U+581d,U+5821,U+5824,U+582a,U+582f-5831,U+5834-5835,U+583a,U+583d,U+5840-5841,U+584a-584b,U+5851-5852,U+5854,U+5857-585a,U+585e,U+5862,U+5869,U+586b,U+5870,U+5872,U+5875,U+5879,U+587e,U+5883,U+5885,U+5893,U+5897,U+589c,U+589f,U+58a8,U+58ab,U+58ae,U+58b3,U+58b8-58bb,U+58be,U+58c1,U+58c5,U+58c7,U+58ca,U+58cc,U+58d1,U+58d3,U+58d5,U+58d7-58d8,U+58dc,U+58de,U+58e4,U+58eb-58ec,U+58ee-58f2,U+58f7,U+58f9-58fb,U+58fd,U+5902,U+5909-590a,U+590f,U+5915-5916,U+5918-591a,U+591c,U+5922,U+5925,U+5927,U+5929-592e,U+5931,U+5937-5938,U+593e,U+5944}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-03.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+5947-5949,U+594e-5951,U+5954-5955,U+5957-5958,U+5960,U+5962,U+5965,U+5967-5968,U+596a,U+596c,U+596e,U+5973-5974,U+5978,U+597d,U+5981-5984,U+598a,U+598d,U+5993,U+5996,U+5999,U+59a3,U+59a5,U+59a8,U+59ac,U+59b2,U+59b9,U+59bb,U+59be,U+59c6,U+59c9,U+59cb,U+59d0-59d1,U+59d3-59d4,U+59da,U+59dc,U+59e5-59e6,U+59e8,U+59ea-59eb,U+59f6,U+59fb,U+59ff,U+5a01,U+5a03,U+5a09,U+5a11,U+5a18,U+5a1a,U+5a1c,U+5a1f-5a20,U+5a25,U+5a29,U+5a2f,U+5a35-5a36,U+5a3c,U+5a41,U+5a46,U+5a49,U+5a5a,U+5a62,U+5a66,U+5a6a,U+5a7f,U+5a92,U+5a9a-5a9b,U+5abc-5abd,U+5ac1-5ac2,U+5ac9,U+5acc,U+5ad0,U+5ad6-5ad7,U+5ae1,U+5ae6,U+5b09,U+5b0b-5b0c,U+5b22,U+5b2a,U+5b2c,U+5b30,U+5b32,U+5b40,U+5b43,U+5b45,U+5b50,U+5b54-5b55,U+5b57-5b58,U+5b5a,U+5b5c-5b5d,U+5b5f,U+5b63-5b64,U+5b66,U+5b69,U+5b6b,U+5b70,U+5b75,U+5b78,U+5b7a,U+5b80,U+5b83,U+5b85,U+5b87-5b89,U+5b8b-5b8d,U+5b8f,U+5b95,U+5b97-5b9d,U+5b9f,U+5ba2-5ba6,U+5bae,U+5bb0,U+5bb3-5bb6,U+5bb8-5bb9,U+5bbf,U+5bc2,U+5bc4-5bc7,U+5bcc,U+5bd2-5bd3,U+5bdb,U+5bdd,U+5bdf,U+5be1-5be2,U+5be6-5be9,U+5bee,U+5bf5,U+5bf8,U+5bfa,U+5bfe-5bff,U+5c01-5c02,U+5c04-5c0b,U+5c0d-5c0f,U+5c11,U+5c13,U+5c16,U+5c1a,U+5c20,U+5c22,U+5c24,U+5c28,U+5c2d,U+5c31,U+5c38-5c41,U+5c45,U+5c48,U+5c4a-5c4b,U+5c4d-5c4f,U+5c51,U+5c53,U+5c55,U+5c5e,U+5c60-5c61,U+5c64-5c65,U+5c6c,U+5c6e-5c6f,U+5c71,U+5c79,U+5c90-5c91,U+5ca1,U+5ca8-5ca9,U+5cab-5cac,U+5cb1,U+5cb3,U+5cb6-5cb8,U+5cba-5cbb,U+5cbe,U+5cc5,U+5cd9,U+5ce0-5ce1,U+5ce8,U+5cea,U+5ced,U+5cef-5cf0,U+5cf6,U+5cfa-5cfb,U+5cfd,U+5d07,U+5d0b,U+5d0e,U+5d11,U+5d14-5d1a,U+5d22,U+5d29,U+5d4b-5d4c,U+5d4e,U+5d50,U+5d52,U+5d69,U+5d6f,U+5d82,U+5d87,U+5d8b-5d8c,U+5d9d,U+5da2,U+5dac,U+5dae,U+5dba,U+5dbc-5dbd,U+5dcc-5dcd,U+5dd2,U+5dd6,U+5ddb,U+5ddd-5dde,U+5de1,U+5de3,U+5de5-5de8,U+5deb,U+5dee,U+5df1-5df4,U+5df7,U+5dfb,U+5dfd-5dfe,U+5e02-5e03,U+5e06,U+5e0c,U+5e16,U+5e19-5e1b,U+5e1d,U+5e25,U+5e2b,U+5e2d,U+5e2f-5e30,U+5e33,U+5e36-5e38,U+5e3d,U+5e40,U+5e45,U+5e47,U+5e4c,U+5e4e,U+5e54-5e55,U+5e57,U+5e5f,U+5e61-5e63,U+5e72-5e76,U+5e78-5e7f,U+5e81,U+5e83-5e84,U+5e87,U+5e8a,U+5e8f,U+5e95-5e97,U+5e9a,U+5e9c,U+5ea6-5ea7,U+5eab,U+5ead,U+5eb5-5eb8,U+5ec1-5ec3,U+5ec9-5eca,U+5ecf,U+5ed3,U+5eda-5edb,U+5edf-5ee0,U+5ee2-5ee3,U+5eec,U+5ef3-5ef4,U+5ef6-5ef8,U+5efa-5efc,U+5efe-5eff,U+5f01,U+5f04,U+5f09-5f0d,U+5f0f-5f11,U+5f13-5f18,U+5f1b,U+5f1f,U+5f25-5f27,U+5f29,U+5f2f,U+5f31,U+5f35,U+5f37-5f38,U+5f3c,U+5f3e,U+5f48,U+5f4a,U+5f4c,U+5f4e,U+5f51,U+5f53,U+5f56-5f57,U+5f59,U+5f61-5f62,U+5f66,U+5f69-5f6d,U+5f70-5f71,U+5f73,U+5f77,U+5f79,U+5f7c,U+5f7f-5f85,U+5f87-5f88,U+5f8a-5f8c,U+5f90-5f93,U+5f97-5f98,U+5f9e,U+5fa0-5fa1,U+5fa8-5faa,U+5fad-5fae,U+5fb3-5fb4,U+5fb7,U+5fb9,U+5fbd,U+5fc3,U+5fc5,U+5fcc-5fcd,U+5fd6-5fd9,U+5fdc-5fdd,U+5fe0,U+5fe4,U+5feb,U+5ff0-5ff1,U+5ff5}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-04.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+5ff8,U+5ffd,U+6010,U+6012,U+6015-6016,U+6019,U+601b-601d,U+6020-6021,U+6025,U+6027-602b,U+602f,U+6031,U+6042-6043,U+6046,U+604a-604b,U+604d,U+6050,U+6052,U+6055,U+6059,U+6062-6063,U+6065,U+6068-606d,U+606f-6070,U+6075,U+6081,U+6084,U+6089,U+608c-608d,U+6094,U+6097,U+609a-609b,U+609f-60a0,U+60a3,U+60a6-60a7,U+60a9-60aa,U+60b2-60b6,U+60b8,U+60bc-60bd,U+60c5-60c7,U+60d1,U+60d8,U+60da,U+60dc,U+60df-60e1,U+60e3,U+60e7-60e8,U+60f0-60f1,U+60f3-60f4,U+60f6,U+60f9-60fb,U+6100-6101,U+6103,U+6108-6109,U+610e-610f,U+6115,U+611a-611b,U+611f,U+6121,U+6127,U+6134,U+613c-613d,U+6144,U+6147-6148,U+614b-614c,U+614e,U+6153,U+6155,U+6159-615a,U+6162-6163,U+6167-6168,U+616e,U+6170-6171,U+6173,U+6175-6177,U+617e,U+6182,U+618e,U+6190-6191,U+6194,U+619a,U+61a4,U+61a7,U+61a9,U+61ab-61ac,U+61ae,U+61b2,U+61b6,U+61ba,U+61be,U+61c6-61c7,U+61c9-61ca,U+61d0,U+61e6,U+61f2,U+61f4,U+61f7-61f8,U+61fa,U+61fc-6200,U+6208-620a,U+620c-620e,U+6210-6212,U+6214,U+6216,U+621a,U+621f,U+6221,U+6226,U+622a,U+622e-6230,U+6232,U+6234,U+6238,U+623b,U+623f-6241,U+6247-6249,U+624b,U+624d-624e,U+6253,U+6255,U+6258,U+625b,U+625e,U+6263,U+6268,U+626e,U+6271,U+6276,U+6279,U+627f-6280,U+6282,U+6284,U+6289-628a,U+6291-6292,U+6294-6295,U+6297-6298,U+629b-629c,U+629e,U+62ab-62ac,U+62b1,U+62b5,U+62b9,U+62bb-62bd,U+62c2,U+62c5-62ca,U+62cc-62cd,U+62cf-62d4,U+62d7-62d9,U+62db-62dd,U+62e0-62e1,U+62ec-62ee,U+62f1,U+62f3,U+62f5-62f7,U+62fe-62ff,U+6301-6302,U+6307,U+6309,U+630c,U+6311,U+6319,U+631f,U+6328,U+632b,U+632f,U+633a,U+633d-633f,U+6349,U+634c-634d,U+634f-6350,U+6355,U+6357,U+635c,U+6367-6369,U+636e,U+6372,U+6376-6377,U+637a-637b,U+6383,U+6388-6389,U+638c,U+638e-638f,U+6392,U+6396,U+6398,U+639b,U+639f-63a2,U+63a5,U+63a7-63ac,U+63b2,U+63b4,U+63bb,U+63be,U+63c0,U+63c3-63c4,U+63c6,U+63c9,U+63cf-63d0,U+63d6,U+63da-63db,U+63e1,U+63e3,U+63e9,U+63ee,U+63f4,U+63f6,U+63fa,U+640d,U+640f,U+6413,U+6416-6417,U+641c,U+6426,U+642c-642d,U+6436,U+643a,U+643e,U+6442,U+644e,U+6458,U+6467,U+6469,U+646f,U+6476,U+6478,U+647a,U+6483,U+6488,U+6492-6493,U+649a,U+649e,U+64a4-64a5,U+64a9,U+64ab,U+64ad-64ae,U+64b0,U+64b2,U+64b9,U+64bc,U+64c1,U+64c5,U+64c7,U+64cd,U+64d2,U+64d4,U+64e2-64e3,U+64e6-64e7,U+64ec,U+64ef,U+64f2,U+64f6,U+64fd-64fe,U+6500,U+6505,U+6518,U+651d,U+6523-6524,U+652b-652c,U+652f,U+6534-6536,U+6538-6539,U+653b,U+653e-653f,U+6545,U+6548,U+654d,U+654f,U+6551,U+6555-6559,U+6562-6563,U+6566,U+656c,U+6570,U+6572,U+6574-6575,U+6577-6578,U+6582-6583,U+6587,U+6589,U+658c,U+658e,U+6590-6591,U+6597,U+6599,U+659c,U+659f,U+65a1,U+65a4-65a5,U+65a7,U+65ac-65ad,U+65af-65b0,U+65b9,U+65bc-65bd,U+65c1,U+65c3,U+65c5,U+65cb,U+65cf,U+65d7,U+65d9,U+65db,U+65e0,U+65e2,U+65e5-65e9,U+65ec-65ed,U+65f1,U+65fa-65fb,U+6602,U+6606-6607,U+660a,U+660c,U+660e-660f,U+6613-6614,U+661c,U+661f-6620,U+6625,U+6627-6628,U+662d,U+662f,U+6634-6636,U+663c,U+663f,U+6641-6644,U+664b,U+664f,U+6652,U+665d-665f,U+6662,U+6664,U+6666,U+6668-6669}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-05.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+666e-6670,U+6674,U+6676,U+667a,U+6681,U+6684,U+6687-6689,U+668e,U+6691,U+6696-6698,U+669d,U+66a2,U+66a6,U+66ab,U+66ae,U+66b4,U+66b8,U+66c4,U+66c7,U+66c9,U+66d6,U+66d9-66da,U+66dc-66dd,U+66e0,U+66f0,U+66f2-66f5,U+66f7-66f9,U+66fc-6700,U+6703,U+6708-6709,U+670b,U+670d,U+670f,U+6714-6717,U+671b,U+671d,U+671f,U+6726-6728,U+672a-672e,U+6731,U+6734,U+6738,U+673a,U+673d,U+673f,U+6741,U+6746,U+6749,U+674e-6751,U+6753,U+6756,U+675c,U+675e-6765,U+676a,U+676d,U+676f,U+6771,U+6773,U+6775,U+6777,U+677c,U+677e-677f,U+6787,U+6789,U+678b-678c,U+6790,U+6795,U+6797,U+679a,U+679c-679d,U+67a0-67a2,U+67a6,U+67af,U+67b4,U+67b6-67b9,U+67c1,U+67c4,U+67c6,U+67ca,U+67ce-67d1,U+67d3-67d4,U+67d8,U+67da,U+67dd-67de,U+67e2,U+67e4,U+67e7,U+67e9,U+67ec,U+67ee-67ef,U+67f1,U+67f3-67f5,U+67fb,U+67fe-67ff,U+6802-6804,U+6813,U+6816-6817,U+681e,U+6821-6822,U+682a-682b,U+6832,U+6834,U+6838-6839,U+683c-683d,U+6841-6843,U+6846,U+6848,U+684d-684e,U+6850-6851,U+6853-6854,U+6859,U+685c-685d,U+685f,U+6867,U+6876,U+687f,U+6881,U+6885,U+6893,U+6897,U+689b,U+689d,U+689f-68a0,U+68a2,U+68a6-68a8,U+68ad,U+68af-68b1,U+68b3,U+68b5-68b6,U+68b9-68ba,U+68bc,U+68c4,U+68c6,U+68c9,U+68cb,U+68cd,U+68d2,U+68d4-68d5,U+68d7-68d8,U+68da,U+68df-68e1,U+68ee-68ef,U+68f2,U+68f9-68fa,U+6900-6901,U+6904-6905,U+6908,U+690b-690f,U+6912,U+6919-691c,U+6922,U+6925,U+6928,U+6930,U+6934,U+6939,U+693d,U+693f,U+694a,U+6953-6955,U+695a,U+695c-695d,U+6960-6962,U+696a-696b,U+696d-696f,U+6973-6975,U+6977-6979,U+697c-697d,U+6982,U+698a,U+698e,U+6991,U+6994-6995,U+699b-699c,U+69a0,U+69ae,U+69b4,U+69be-69bf,U+69c1,U+69c3,U+69c7,U+69cb-69ce,U+69d0,U+69d3,U+69d8-69d9,U+69de,U+69e7,U+69eb,U+69ed,U+69fb,U+69fd,U+69ff,U+6a02,U+6a05,U+6a0b,U+6a13,U+6a17,U+6a19,U+6a1b,U+6a1e-6a1f,U+6a21,U+6a23,U+6a29-6a2b,U+6a35-6a36,U+6a38-6a3a,U+6a3d,U+6a44,U+6a47-6a48,U+6a4b,U+6a58-6a59,U+6a5f,U+6a61,U+6a66,U+6a72,U+6a7f-6a80,U+6a84,U+6a8d-6a8e,U+6a90,U+6a97,U+6a9c,U+6aa2,U+6aac,U+6aae,U+6ab3,U+6ab8,U+6abb,U+6ac2-6ac3,U+6ad3,U+6ada-6adb,U+6ade-6adf,U+6ae8,U+6afb,U+6b04-6b05,U+6b0a,U+6b12,U+6b1d,U+6b20-6b21,U+6b23,U+6b27,U+6b32,U+6b37,U+6b3a,U+6b3d-6b3e,U+6b4c,U+6b4e,U+6b50,U+6b53-6b54,U+6b62-6b64,U+6b66,U+6b69-6b6a,U+6b6f,U+6b73-6b74,U+6b79,U+6b7b,U+6b7f-6b80,U+6b84,U+6b86,U+6b89-6b8b,U+6b95-6b96,U+6b9e,U+6bab,U+6baf,U+6bb1-6bb5,U+6bb7,U+6bba-6bbb,U+6bbf-6bc0,U+6bc5-6bc6,U+6bcb,U+6bcd-6bce,U+6bd2,U+6bd4,U+6bd8,U+6bdb,U+6bdf,U+6beb-6bec,U+6bef,U+6bf3,U+6c0f,U+6c11,U+6c13-6c14,U+6c17,U+6c23,U+6c34,U+6c37-6c38,U+6c3e,U+6c40-6c42,U+6c4e,U+6c50,U+6c55,U+6c57,U+6c5a,U+6c5d-6c60,U+6c62,U+6c6a,U+6c70,U+6c72-6c73,U+6c7a,U+6c7d-6c7e,U+6c81,U+6c83,U+6c88,U+6c8c,U+6c90,U+6c93,U+6c96,U+6c99-6c9a,U+6ca1-6ca2,U+6cab,U+6cae,U+6cb1,U+6cb3,U+6cb8-6cbf,U+6cc1,U+6cc4,U+6cc9-6cca,U+6ccc,U+6cd3,U+6cd5,U+6cd7,U+6cd9,U+6cdb,U+6cdd,U+6ce1-6ce3,U+6ce5,U+6ce8,U+6cea,U+6cef-6cf1,U+6cf3,U+6d0b,U+6d12,U+6d17,U+6d19,U+6d1b,U+6d1e}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-06.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+6d1f,U+6d25,U+6d29-6d2a,U+6d32,U+6d35,U+6d38,U+6d3b,U+6d3d-6d3e,U+6d41,U+6d44-6d45,U+6d59-6d5a,U+6d5c,U+6d63,U+6d66,U+6d69-6d6a,U+6d6c,U+6d6e,U+6d74,U+6d77-6d79,U+6d85,U+6d88,U+6d8c,U+6d8e,U+6d93,U+6d95,U+6d99,U+6d9b-6d9c,U+6daf,U+6db2,U+6db5,U+6db8,U+6dbc,U+6dc0,U+6dc7,U+6dcb,U+6dd1-6dd2,U+6dd5,U+6dd8-6dd9,U+6de1,U+6de8,U+6dea-6dec,U+6dee,U+6df1,U+6df3,U+6df5,U+6df7,U+6df9,U+6dfb,U+6e05,U+6e07-6e0b,U+6e13,U+6e15,U+6e19-6e1b,U+6e20-6e21,U+6e23-6e26,U+6e29,U+6e2b-6e2d,U+6e2f,U+6e38,U+6e3a,U+6e3e,U+6e4a,U+6e4d-6e4e,U+6e56,U+6e58,U+6e5b-6e5c,U+6e5f,U+6e67,U+6e6b,U+6e6e-6e6f,U+6e7e-6e80,U+6e82,U+6e8c,U+6e8f-6e90,U+6e96,U+6e9c-6e9d,U+6e9f,U+6ea2,U+6ea5,U+6eaa,U+6eaf,U+6eb2,U+6eb6,U+6eba,U+6ec2,U+6ec4-6ec5,U+6ec9,U+6ecb-6ecc,U+6ed1,U+6ed3-6ed5,U+6edd-6ede,U+6eef,U+6ef2,U+6ef4,U+6ef8,U+6efe-6eff,U+6f01-6f02,U+6f06,U+6f09,U+6f0f,U+6f11,U+6f13-6f15,U+6f20,U+6f22-6f23,U+6f2b-6f2c,U+6f31,U+6f38,U+6f3f,U+6f45,U+6f54,U+6f58,U+6f5b-6f5c,U+6f5f,U+6f64,U+6f66,U+6f6d-6f6e,U+6f70,U+6f74,U+6f7c,U+6f81,U+6f84,U+6f86,U+6f8e,U+6f97,U+6fa1,U+6fa4,U+6faa,U+6fb1,U+6fb3,U+6fb9,U+6fc0-6fc1,U+6fc3,U+6fc6,U+6fd4-6fd5,U+6fd8,U+6fdb,U+6fe0-6fe1,U+6fe4,U+6feb,U+6fef,U+6ff1,U+6ffe,U+700b,U+700f,U+7011,U+7015,U+7018,U+701d-701f,U+7026-7027,U+702c,U+703e,U+704c,U+7058,U+7063,U+706b,U+706f-7070,U+7078,U+707c-707d,U+7089-708a,U+708e,U+7092,U+7099,U+70ac-70ae,U+70b8-70ba,U+70c8,U+70cf,U+70d9,U+70dd,U+70f9,U+70fd,U+7109,U+7114,U+7119-711a,U+7121,U+7126,U+7136,U+713c,U+7149,U+714c,U+714e,U+7155,U+7159,U+7164-7165,U+7167,U+7169,U+716c,U+716e,U+717d,U+7184,U+7188,U+718a,U+718f,U+7194,U+7199,U+719f,U+71a8,U+71b1,U+71b9,U+71be,U+71c1,U+71c3,U+71c8,U+71ce,U+71d0,U+71d2,U+71d4-71d5,U+71d7,U+71df-71e0,U+71e5-71e7,U+71ed-71ee,U+71f5,U+71fb-71fc,U+71ff,U+7206,U+720d,U+7210,U+721b,U+722a,U+722c-722d,U+7232,U+7235-7236,U+723a-723b,U+723d-7240,U+7246-7248,U+724c,U+7252,U+7259,U+725b,U+725d,U+725f,U+7261-7262,U+7267,U+7269,U+7272,U+7274,U+7279,U+727d-727e,U+7280,U+7282,U+7292,U+72a0,U+72ac,U+72af,U+72b6,U+72c2-72c4,U+72c6,U+72ce,U+72d0,U+72d2,U+72d7,U+72d9,U+72db,U+72e0-72e2,U+72e9,U+72ec-72ed,U+72f7-72f9,U+72fc-72fd,U+730a,U+7316-7317,U+731b-731d,U+731f,U+7325,U+7329-732b,U+732e-732f,U+7334,U+7336-7337,U+733e-733f,U+7344-7345,U+734f,U+7363,U+7368,U+736a,U+7370,U+7372,U+7375,U+7378,U+737a,U+7384,U+7387,U+7389,U+738b,U+7396,U+73a9,U+73b2,U+73bb,U+73c0,U+73c2,U+73c8-73ca,U+73cd-73ce,U+73de,U+73e0,U+73ea,U+73ed,U+73f8,U+73fe,U+7403,U+7405-7406,U+7409,U+7422,U+7425,U+7432-7436,U+743a,U+743f,U+7455,U+7459-745c,U+745e,U+7460,U+7463-7464,U+746a,U+746f-7470,U+7473,U+7476,U+747e,U+7483,U+748b,U+749e,U+74a7,U+74b0,U+74bd,U+74ca,U+74cf,U+74d4,U+74dc,U+74e2,U+74e6,U+74f6,U+750c-750d,U+7511,U+7515,U+7518,U+751a,U+751c,U+751f,U+7523,U+7525-7526,U+7528,U+752b-752c,U+7530-7533,U+7537-7538,U+753a-753b,U+7544,U+7546,U+7549,U+754b-754c,U+754f,U+7551,U+7554,U+7559,U+755b-755d,U+7560,U+7562,U+7564-7566,U+756a-756b,U+756d,U+7570,U+7573-7574,U+7576-7578,U+757f,U+7586-7587,U+758a-758b,U+758e-758f,U+7591,U+75ab,U+75b1-75b2,U+75b5,U+75b8-75b9,U+75bc-75be,U+75c5,U+75c7,U+75cd,U+75d2}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-07.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+75d4-75d5,U+75d8-75d9,U+75db,U+75e2-75e3,U+75e9,U+75f0,U+75f4,U+75fa,U+760d,U+7621-7622,U+7624,U+7634,U+7642,U+7647,U+764c,U+7652,U+7656,U+766a,U+766c,U+7672,U+7676,U+7678,U+767a-767e,U+7684,U+7686-7688,U+768e,U+7690,U+7693,U+7696,U+769a,U+76ae,U+76b0,U+76ba,U+76bf,U+76c2-76c3,U+76c6,U+76c8,U+76ca,U+76cd,U+76d2,U+76d7,U+76db-76dc,U+76df,U+76e1,U+76e3-76e5,U+76e7,U+76ea,U+76ee,U+76f2,U+76f4,U+76f8,U+76fe,U+7701,U+7707-7709,U+770b-770c,U+771b,U+771e-7720,U+7724-7725,U+7729,U+7737-7738,U+773a,U+773c,U+7740,U+7747,U+775a-775b,U+7761,U+7763,U+7765-7766,U+7768,U+776b,U+777e-777f,U+778b,U+7791,U+779e,U+77a0,U+77a5,U+77ac-77ad,U+77b0,U+77b3,U+77b6,U+77b9,U+77bb-77bc,U+77c7,U+77db-77dc,U+77e2-77e3,U+77e5,U+77e7,U+77e9,U+77ed-77ef,U+77f3,U+77fc,U+7802,U+780c,U+7812,U+7814-7815,U+7820,U+7825-7827,U+7832,U+7834,U+783a,U+783f,U+7845,U+785d,U+786b-786c,U+786f,U+7872,U+787c,U+7881,U+7887,U+788c-788e,U+7891,U+7893,U+7895,U+7897,U+789a,U+78a3,U+78a7,U+78a9-78aa,U+78b5,U+78ba,U+78bc,U+78c1,U+78c5-78c6,U+78ca-78cb,U+78d0-78d1,U+78d4,U+78da,U+78e7-78e8,U+78ec,U+78ef,U+78f4,U+78fd,U+7901,U+7907,U+790e,U+7912,U+7919,U+792a-792c,U+793a,U+793c,U+793e,U+7940-7941,U+7947-7949,U+7950,U+7953,U+7955-7957,U+795a,U+795d-7960,U+7962,U+7965,U+7968,U+796d,U+7977,U+797a,U+797f-7981,U+7984-7985,U+798a,U+798d-798f,U+79a6,U+79aa,U+79ae,U+79b0,U+79b3,U+79b9-79ba,U+79bd-79c1,U+79cb,U+79d1-79d2,U+79d5,U+79d8,U+79df,U+79e3-79e4,U+79e6,U+79e9,U+79f0,U+79fb,U+7a00,U+7a08,U+7a0b,U+7a0e,U+7a14,U+7a17-7a1a,U+7a1c,U+7a1f-7a20,U+7a2e,U+7a32,U+7a3b-7a3d,U+7a3f-7a40,U+7a42-7a43,U+7a46,U+7a4d-7a50,U+7a57,U+7a62-7a63,U+7a6b,U+7a70,U+7a74,U+7a76,U+7a79-7a7a,U+7a7d,U+7a7f,U+7a81,U+7a83-7a84,U+7a88,U+7a92-7a93,U+7a9f,U+7aa9-7aaa,U+7aae-7aaf,U+7aba,U+7ac3-7ac4,U+7ac8,U+7acb,U+7acf,U+7ad3,U+7ad5,U+7ad9-7ada,U+7adc-7add,U+7adf-7ae3,U+7ae5-7ae6,U+7aea,U+7aed,U+7aef-7af0,U+7af6,U+7af8-7afa,U+7aff,U+7b06,U+7b08,U+7b0f,U+7b11,U+7b19,U+7b1b,U+7b20,U+7b25-7b26,U+7b2c,U+7b39,U+7b45-7b46,U+7b48-7b49,U+7b4b,U+7b4d,U+7b4f-7b52,U+7b54,U+7b56,U+7b5d,U+7b67,U+7b6c,U+7b75,U+7b86-7b87,U+7b8b,U+7b92,U+7b94-7b95,U+7b97,U+7b9d,U+7b9f,U+7ba1,U+7baa,U+7bad,U+7bb1,U+7bb8,U+7bc0,U+7bc4,U+7bc6-7bc7,U+7bc9,U+7bcf,U+7bdd,U+7be0,U+7be4,U+7be9,U+7bed,U+7bf3,U+7c00,U+7c12,U+7c17,U+7c21,U+7c2a,U+7c38,U+7c3e-7c40,U+7c43,U+7c4c-7c4d,U+7c50,U+7c56,U+7c60,U+7c64,U+7c73,U+7c7e,U+7c81-7c83,U+7c89,U+7c8b,U+7c8d,U+7c90,U+7c92,U+7c95,U+7c97-7c98,U+7c9b,U+7c9f,U+7ca1,U+7ca5,U+7ca7-7ca8,U+7cad-7cae,U+7cb1-7cb3,U+7cb9,U+7cbd-7cbe,U+7cc0,U+7cc2,U+7cc5,U+7cca,U+7cce,U+7cd2,U+7cd6,U+7cd8,U+7cde-7ce0,U+7ce2,U+7ce7,U+7cef,U+7cf2,U+7cf8,U+7cfa-7cfb,U+7cfe,U+7d00,U+7d02,U+7d04-7d06,U+7d0b,U+7d0d,U+7d10,U+7d14-7d15,U+7d17-7d1b,U+7d20-7d22,U+7d2b-7d2c,U+7d2f-7d30,U+7d32-7d33,U+7d35,U+7d39-7d3a,U+7d3f,U+7d42-7d44,U+7d46,U+7d4b-7d4c,U+7d4e,U+7d50,U+7d56,U+7d5e,U+7d61-7d63,U+7d66,U+7d68,U+7d71-7d72,U+7d75-7d76,U+7d79,U+7d7d,U+7d89,U+7d8f,U+7d93,U+7d99-7d9a,U+7d9c,U+7d9f,U+7da2,U+7dac-7dad,U+7db0-7db2,U+7db4,U+7db8,U+7dba-7dbb,U+7dbd-7dbf,U+7dca-7dcb}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-08.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+7dcf,U+7dd1-7dd2,U+7dd8,U+7dda,U+7ddd-7dde,U+7de0,U+7de4,U+7de8-7de9,U+7dec,U+7def,U+7df2,U+7df4,U+7dfb,U+7e01,U+7e04,U+7e09-7e0b,U+7e12,U+7e1b,U+7e1e-7e1f,U+7e22-7e23,U+7e26,U+7e2b,U+7e2e,U+7e31-7e32,U+7e35,U+7e37,U+7e39-7e3b,U+7e3d-7e3e,U+7e41,U+7e4a-7e4b,U+7e4d,U+7e54-7e56,U+7e59-7e5a,U+7e5d-7e5e,U+7e67,U+7e6a,U+7e6d,U+7e70,U+7e79,U+7e7b-7e7d,U+7e7f,U+7e82,U+7e89,U+7e8c,U+7e8e-7e8f,U+7e93-7e94,U+7e96,U+7f36,U+7f38,U+7f3a,U+7f50-7f51,U+7f54,U+7f60,U+7f6a-7f6b,U+7f6e,U+7f70,U+7f72,U+7f75,U+7f77,U+7f79,U+7f83,U+7f85-7f86,U+7f88,U+7f8a,U+7f8c,U+7f8e,U+7f9a,U+7f9d-7f9e,U+7fa4,U+7fa8-7fa9,U+7fae-7faf,U+7fb2,U+7fb6,U+7fb9,U+7fbd,U+7fc1,U+7fc5,U+7fcc,U+7fd2,U+7fd4,U+7fe0-7fe1,U+7feb,U+7ff0,U+7ff3,U+7ffb-7ffc,U+8000-8001,U+8003-8006,U+800c,U+8010,U+8012,U+8015,U+8017,U+8033,U+8036,U+803b,U+803d,U+8046,U+804a,U+8052,U+8056,U+8058,U+805a,U+805e-805f,U+8061-8062,U+806f-8070,U+8072-8074,U+8076-8077,U+807d-807f,U+8084-8087,U+8089,U+808b-808c,U+8096,U+8098,U+809a-809b,U+809d,U+80a1-80a2,U+80a5,U+80a9-80aa,U+80af,U+80b1-80b2,U+80b4,U+80ba,U+80c3-80c4,U+80c6,U+80cc,U+80ce,U+80d6,U+80d9-80db,U+80dd-80de,U+80e1,U+80e4-80e5,U+80ef,U+80f1,U+80f4,U+80f8,U+80fc-80fd,U+8102,U+8105-8108,U+810a,U+811a-811b,U+8129,U+812f,U+8131,U+8133,U+8139,U+813e,U+814b,U+814e,U+8150-8151,U+8153-8155,U+815f,U+8165-8166,U+816b,U+816e,U+8170-8171,U+8178-817a,U+817f-8180,U+8182,U+8188,U+818a,U+818f,U+8195,U+819a,U+819c-819d,U+81a0,U+81a3,U+81a8,U+81b0,U+81b3,U+81b5,U+81bd-81c0,U+81c2,U+81c6,U+81c9,U+81cd,U+81d1,U+81d3,U+81d8-81da,U+81df-81e0,U+81e3,U+81e5,U+81e8,U+81ea,U+81ed,U+81f3-81f4,U+81fa,U+81fc,U+8201,U+8205,U+8207-8208,U+820c,U+820e,U+8210,U+8212,U+8216-8218,U+821b-821c,U+821e-821f,U+8229-822c,U+822e,U+8233,U+8235-8237,U+8239,U+8240,U+8247,U+8258-825a,U+825f,U+8264,U+8266,U+8268,U+826b,U+826e-826f,U+8271-8272,U+8276,U+8278,U+827e,U+828b,U+828d,U+8292,U+8299,U+829d,U+82a5-82a6,U+82ad,U+82af,U+82b1,U+82b3,U+82b8-82b9,U+82bb,U+82bd,U+82c5,U+82d1,U+82d3-82d4,U+82d7,U+82db,U+82df,U+82e5-82e7,U+82eb,U+82f1,U+82f4,U+82fa-82fb,U+8302,U+8304-8305,U+8309,U+830e,U+8317,U+831c,U+8328,U+832b,U+8332,U+8336,U+8338-8339,U+8340,U+8345,U+8349-834a,U+834f,U+8352,U+8358,U+8377,U+837b-837c,U+8389-838a,U+839e,U+83a2,U+83ab,U+83b1,U+83bd,U+83c5,U+83ca,U+83cc,U+83ce,U+83d3,U+83d6,U+83dc,U+83df,U+83e9,U+83eb,U+83ef-83f1,U+8403-8404,U+840c-840e,U+8413,U+8420,U+8429,U+842c,U+8431,U+843d,U+8449,U+844e,U+8457,U+845b,U+8461,U+8463,U+8466,U+846c-846d,U+8471,U+8475,U+847a,U+848b,U+8490,U+8494,U+8499,U+849c,U+849f,U+84a1,U+84b2,U+84b8,U+84bb-84bc,U+84bf,U+84c4,U+84c6,U+84c9,U+84cb,U+84d1,U+84da,U+84ec,U+84ee,U+84fc,U+8500,U+8511,U+8513,U+8517,U+851a,U+8521,U+8526,U+852d,U+8535,U+853d,U+8541,U+8543,U+8548-854a,U+854e,U+8557,U+8568-856a,U+856d,U+857e,U+8580,U+8584,U+8587,U+858a,U+8594,U+8597,U+8599,U+85a6,U+85a8-85ac,U+85ae-85af,U+85c1,U+85c9,U+85cd,U+85cf,U+85dd,U+85e4-85e5,U+85e9-85ea,U+85f7,U+85f9,U+85fb,U+8602,U+8606-8607,U+860a,U+861a,U+862d,U+864d-864e,U+8650,U+8654-8655,U+865a,U+865c,U+865e-865f,U+866b,U+8671,U+8679,U+867b,U+868a,U+8695,U+86a4,U+86a9,U+86ab,U+86af-86b0,U+86b6,U+86c4,U+86c6-86c7,U+86c9}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-09.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+86cb,U+86cd-86ce,U+86d9,U+86db,U+86de-86df,U+86e4,U+86ed-86ef,U+86f8-86f9,U+86fe,U+8700,U+8702-8703,U+8706,U+8709,U+870d,U+8718,U+871c,U+8729,U+8734,U+8737,U+873b,U+873f,U+8749,U+874b,U+874e,U+8755,U+8757,U+8759,U+875f-8760,U+8763,U+8766,U+876a,U+8774,U+8776,U+8778,U+877f,U+8782,U+878d,U+879f,U+87a2,U+87b3,U+87ba-87bb,U+87c0,U+87c4,U+87c6-87c7,U+87cb,U+87d0,U+87e0,U+87ef,U+87f2,U+87f7,U+87f9,U+87fb,U+87fe,U+8805,U+880d,U+8815-8816,U+8822-8823,U+8831,U+883b,U+8840,U+8846,U+884c-884d,U+8852-8853,U+8857,U+8859,U+885b,U+885d-885e,U+8861,U+8863,U+8868,U+886b,U+8870,U+8877,U+887d-887f,U+8881-8882,U+8888,U+888b,U+888d,U+8892,U+8896-8897,U+8899,U+88a2,U+88ab,U+88ae,U+88b1,U+88b4,U+88b7,U+88bf,U+88c1-88c5,U+88cf,U+88d4-88d5,U+88dc-88dd,U+88df,U+88e1,U+88e8,U+88f2-88f4,U+88f8,U+88fc-88fe,U+8904,U+8907,U+890a,U+890c,U+8910,U+8912-8913,U+891d,U+8925,U+892a,U+8936,U+8938,U+893b,U+8941,U+8944,U+894c,U+8956,U+895e-895f,U+8964,U+8966,U+8972,U+8974,U+8977,U+897e-897f,U+8981,U+8986-8987,U+898b,U+898f,U+8996-8997,U+899a,U+89a7,U+89aa,U+89b3,U+89ba,U+89bd,U+89bf,U+89d2,U+89da,U+89dc-89dd,U+89e3,U+89e6-89e7,U+89f8,U+8a00,U+8a02-8a03,U+8a08,U+8a0a,U+8a0c,U+8a0e,U+8a10,U+8a13,U+8a16-8a18,U+8a1b,U+8a1d,U+8a1f,U+8a23,U+8a2a,U+8a2d,U+8a31,U+8a33-8a34,U+8a36,U+8a3a-8a3c,U+8a41,U+8a46,U+8a48,U+8a50-8a52,U+8a54-8a55,U+8a5b,U+8a5e,U+8a60,U+8a62-8a63,U+8a66,U+8a69,U+8a6b,U+8a6d-8a6e,U+8a70-8a73,U+8a82,U+8a85,U+8a87,U+8a89,U+8a8c-8a8d,U+8a93,U+8a95,U+8a98,U+8a9e,U+8aa0,U+8aa3-8aa4,U+8aa6,U+8aac-8aad,U+8ab0,U+8ab2,U+8ab9,U+8abc,U+8abf,U+8ac2,U+8ac4,U+8ac7,U+8acb-8acd,U+8acf,U+8ad2,U+8ad6,U+8ada,U+8adc,U+8ade,U+8ae0-8ae2,U+8ae4,U+8ae6-8ae7,U+8aeb,U+8aed-8aee,U+8af1,U+8af7-8af8,U+8afa,U+8afe,U+8b00-8b02,U+8b04,U+8b0e,U+8b10,U+8b16-8b17,U+8b19-8b1b,U+8b1d,U+8b20-8b21,U+8b26,U+8b28,U+8b2b-8b2c,U+8b33,U+8b39,U+8b3e,U+8b41,U+8b49,U+8b4e-8b4f,U+8b56,U+8b58,U+8b5a-8b5c,U+8b5f,U+8b66,U+8b6b-8b6c,U+8b6f-8b70,U+8b72,U+8b77,U+8b80,U+8b83,U+8b8a,U+8b8c,U+8b90,U+8b92-8b93,U+8b96,U+8b99-8b9a,U+8c37,U+8c46,U+8c48,U+8c4a,U+8c4c,U+8c55,U+8c5a,U+8c61,U+8c6a-8c6b,U+8c78-8c79,U+8c8a,U+8c8c-8c8e,U+8c9d-8c9e,U+8ca0-8ca2,U+8ca7-8cac,U+8caf-8cb0,U+8cb3-8cb4,U+8cb6-8cb8,U+8cbb-8cbd,U+8cbf-8cc4,U+8cc7-8cc8,U+8cca,U+8ccd-8cce,U+8cd1,U+8cd3,U+8cdb-8cdc,U+8cde,U+8ce0,U+8ce2-8ce4,U+8ce6,U+8cea,U+8ced,U+8cfb-8cfd,U+8d04-8d05,U+8d08,U+8d0a-8d0b,U+8d0d,U+8d10,U+8d14,U+8d16,U+8d64,U+8d66,U+8d6b,U+8d70,U+8d73-8d74,U+8d77,U+8d85,U+8d8a,U+8d99,U+8da3,U+8da8,U+8db3,U+8dba,U+8dbe,U+8dc2,U+8dcb-8dcc,U+8dcf,U+8dd6,U+8dda,U+8ddd,U+8ddf,U+8de1,U+8de3,U+8de8,U+8dea,U+8def,U+8df3,U+8df5,U+8e08-8e0a,U+8e0f,U+8e1d-8e1f,U+8e2a,U+8e35,U+8e42,U+8e44,U+8e48-8e49,U+8e4c,U+8e59,U+8e5f,U+8e63-8e64,U+8e72,U+8e74,U+8e7c,U+8e81,U+8e85,U+8e87,U+8e8a,U+8e8d,U+8e91,U+8e93-8e94,U+8e99,U+8ea1,U+8eab-8eac,U+8eaf-8eb1,U+8ebe,U+8ec6,U+8eca-8ecd,U+8ed2,U+8edf,U+8ee2,U+8eeb,U+8ef8,U+8efb-8efe,U+8f03,U+8f05,U+8f09-8f0a,U+8f0c,U+8f13-8f15,U+8f19,U+8f1b-8f1d,U+8f1f,U+8f26,U+8f29-8f2a,U+8f2f,U+8f33,U+8f38,U+8f3b,U+8f3f,U+8f44,U+8f46,U+8f49,U+8f4d-8f4e,U+8f5c,U+8f5f,U+8f61-8f63}@font-face{font-family:"M PLUS 1 Code";src:url(./fonts/MPLUS1Code-10.woff2)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+8f64,U+8f9b-8f9c,U+8f9e-8f9f,U+8fa3,U+8fa7-8fa8,U+8fae,U+8fb0-8fb2,U+8fba-8fbc,U+8fbf,U+8fc2,U+8fc4-8fc5,U+8fce,U+8fd1,U+8fd4,U+8fda,U+8fe6,U+8fe9-8feb,U+8fed,U+8ff0,U+8ff7,U+8ff9,U+8ffd,U+9000-9001,U+9003,U+9005-9006,U+900d,U+900f-9010,U+9013-9014,U+9017,U+9019-901a,U+901d-9023,U+902e,U+9031-9032,U+9038,U+903c,U+9041-9042,U+9045,U+9047,U+904a-904b,U+904d-904e,U+9053-9055,U+9059,U+905c,U+9060-9061,U+9063,U+9065,U+9069,U+906d-906e,U+9075,U+9077-9078,U+907a,U+907c-907d,U+907f,U+9081-9082,U+9084,U+9087,U+9089-908a,U+908f,U+9091,U+90a3,U+90a6,U+90a8,U+90aa,U+90b1,U+90b8,U+90c1,U+90ca,U+90ce,U+90db,U+90e1,U+90e4,U+90e8,U+90ed,U+90f5,U+90f7,U+90fd,U+9102,U+9112,U+9119,U+912d,U+9132,U+9149-914e,U+9152,U+9154,U+9156,U+9158,U+9162-9163,U+9169-916a,U+916c,U+9175,U+9177-9178,U+9182,U+9187,U+9189,U+918b,U+918d,U+9190,U+9192,U+9197,U+919c,U+91a4,U+91aa-91ab,U+91b4,U+91b8,U+91ba,U+91c0,U+91c6-91c9,U+91cb-91cf,U+91d1,U+91d8,U+91db-91dd,U+91df,U+91e3,U+91e6-91e7,U+91f5-91f6,U+91fc,U+920d-920e,U+9211,U+9214-9215,U+921e,U+922c,U+9234,U+9237,U+923f,U+9244,U+9248-9249,U+924b,U+9250,U+9257,U+925a-925b,U+925e,U+9262,U+9264,U+9266,U+9271,U+927e,U+9280,U+9283,U+9285,U+9291,U+9295-9296,U+9298,U+929a-929c,U+92ad,U+92b9,U+92cf,U+92d2,U+92e4,U+92ea,U+92ed,U+92f2-92f3,U+92f8,U+92fa,U+92fc,U+9306,U+930f-9310,U+9318,U+931a,U+9320,U+9323,U+9326,U+9328,U+932b-932c,U+932e-932f,U+9332,U+933b,U+9344,U+934b,U+934d,U+9354,U+9356,U+935b-935c,U+9360,U+936c,U+936e,U+9375,U+937c,U+937e,U+938c,U+9394,U+9396-9397,U+939a,U+93a7,U+93ac-93ae,U+93b0,U+93c3,U+93c8,U+93d1,U+93d7,U+93dd,U+93e1,U+93e4,U+9403,U+9407,U+9410,U+9414,U+9418-941a,U+9421,U+9435,U+9438,U+9444,U+9451,U+9453,U+945a,U+945e,U+9460,U+946a,U+9475,U+9477,U+947c-947f,U+9577,U+9580,U+9582-9583,U+9589,U+958b,U+958f,U+9591,U+9593-9594,U+9596,U+9598,U+95a2-95a5,U+95a7,U+95b2,U+95bb,U+95be,U+95c7,U+95ca,U+95cc-95cd,U+95d5-95d6,U+95d8,U+95e2,U+961c,U+9621,U+962a,U+962e-962f,U+9632,U+963b,U+963f-9640,U+9642,U+9644,U+964b-964d,U+964f-9650,U+965b-965d,U+9662-9666,U+966a,U+966c,U+9670,U+9672-9673,U+9675-9678,U+967a,U+967d,U+9685-9686,U+9688,U+968a-968b,U+968d-968f,U+9694-9695,U+9697-9699,U+969b-969c,U+96a0,U+96a3,U+96a7,U+96aa,U+96b4,U+96b6-96b7,U+96b9,U+96bb-96bc,U+96c0-96c1,U+96c4-96c7,U+96c9,U+96cc-96ce,U+96d1,U+96d6,U+96d9,U+96db-96dc,U+96e2-96e3,U+96e8,U+96ea-96eb,U+96f0,U+96f2,U+96f6-96f7,U+96f9,U+96fb,U+9700,U+9707,U+970a,U+970d,U+9716,U+971c,U+971e,U+9727,U+9730,U+9732,U+9739,U+9742,U+9744,U+9748,U+9752,U+9756,U+9759,U+975c,U+975e,U+9761-9762,U+9768-9769,U+976d,U+9771,U+9774,U+977a,U+977c,U+9784-9786,U+978b,U+978d,U+9790,U+9798,U+979c,U+97a0,U+97a3,U+97a6,U+97a8,U+97ad,U+97b3-97b4,U+97c3,U+97cb,U+97d3,U+97dc,U+97ed-97ee,U+97f3,U+97f6,U+97fb,U+97ff,U+9801-9803,U+9805-9806,U+9808,U+980c,U+9810-9813,U+9817-9818,U+981a,U+9824,U+982c-982d,U+9834,U+9837-9838,U+983b-983d,U+9846,U+984c-984e,U+9854-9855,U+9858,U+985b,U+985e,U+9867,U+986f-9870,U+98a8,U+98aa,U+98af,U+98b1,U+98c4,U+98db-98dc,U+98df,U+98e2,U+98e9,U+98eb,U+98ed-98ef,U+98f2}@font-face{font-family:"M PLUS 1 Code";src:url(data:font/woff2;base64,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)format(woff2);font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+98f4,U+98fc-98fe,U+9903,U+9905,U+9909-990a,U+990c,U+9910,U+9913,U+9918,U+991e,U+9921,U+9928,U+9942,U+9945,U+9949,U+994b-994c,U+9952,U+9957,U+9996,U+9999,U+99a8,U+99ac-99ae,U+99b3-99b4,U+99c1,U+99c4-99c6,U+99c8,U+99d0,U+99d2,U+99d5,U+99d8,U+99dd,U+99ed-99ee,U+99f1-99f2,U+99fb,U+99ff,U+9a01,U+9a0e,U+9a12-9a13,U+9a19,U+9a28,U+9a2b,U+9a30,U+9a37,U+9a3e,U+9a43,U+9a45,U+9a4d,U+9a55,U+9a57,U+9a5a-9a5b,U+9a5f,U+9a62,U+9a64,U+9a69,U+9a6b,U+9aa8,U+9ab8,U+9ac0,U+9ac4,U+9acf,U+9ad1,U+9ad4,U+9ad8-9ad9,U+9adf,U+9aea,U+9aed-9aee,U+9af7,U+9b06,U+9b18,U+9b1a,U+9b25,U+9b28,U+9b2f,U+9b31-9b32,U+9b3c,U+9b41-9b45,U+9b4d-9b4f,U+9b51,U+9b54,U+9b5a,U+9b6f,U+9b83,U+9b8e,U+9b91-9b93,U+9b96-9b97,U+9b9f-9ba0,U+9ba8,U+9baa-9bab,U+9bad-9bae,U+9bc6,U+9bc9,U+9bd1-9bd2,U+9bd6,U+9bdb,U+9be3,U+9be8,U+9bf0-9bf1,U+9bf5,U+9c06,U+9c08-9c0a,U+9c0d,U+9c10,U+9c13-9c14,U+9c21,U+9c24,U+9c2d,U+9c2f,U+9c39-9c3b,U+9c3e,U+9c46-9c48,U+9c52,U+9c57,U+9c5a,U+9c60,U+9c67,U+9c78,U+9ce5,U+9ce9,U+9cf3-9cf4,U+9cf6,U+9d07,U+9d09,U+9d0e,U+9d1b,U+9d1f,U+9d26,U+9d28,U+9d2b-9d2c,U+9d3b,U+9d5c,U+9d5e,U+9d60-9d61,U+9d6c,U+9d6f,U+9d7a,U+9d89,U+9d8f,U+9d9a,U+9daf,U+9db2,U+9db4,U+9dc4,U+9ded,U+9df2,U+9df9-9dfa,U+9dfd,U+9e1a,U+9e1e,U+9e75,U+9e78-9e79,U+9e7f,U+9e92-9e93,U+9e97,U+9e9f,U+9ea5-9ea6,U+9ea9,U+9eb9-9ebb,U+9ebe-9ebf,U+9ec4,U+9ecd-9ece,U+9ed2,U+9ed8-9ed9,U+9edb-9edc,U+9ede,U+9ef4,U+9ef9,U+9efd,U+9f08,U+9f0e,U+9f13,U+9f20-9f21,U+9f3b,U+9f3e,U+9f4a-9f4b,U+9f4e,U+9f52,U+9f5f,U+9f61-9f62,U+9f67,U+9f6a,U+9f6c,U+9f77,U+9f8d,U+9f95,U+9f9c,U+9fa0,U+fa11}:root{--md-sys-shape-corner-none:0px;--md-sys-shape-corner-extra-small:4px;--md-sys-shape-corner-small:8px;--md-sys-shape-corner-medium:12px;--md-sys-shape-corner-large:16px;--md-sys-shape-corner-large-increased:20px;--md-sys-shape-corner-extra-large:28px;--md-sys-shape-corner-extra-large-increased:32px;--md-sys-shape-corner-extra-extra-large:48px;--md-sys-shape-corner-full:9999px;--md-sys-typescale-display-large-tracking:-.015625rem;--md-sys-typescale-display-medium-tracking:0rem;--md-sys-typescale-display-small-tracking:0rem;--md-sys-typescale-headline-large-tracking:0rem;--md-sys-typescale-headline-medium-tracking:0rem;--md-sys-typescale-headline-small-tracking:0rem;--md-sys-typescale-title-large-tracking:0rem;--md-sys-typescale-title-medium-tracking:.009375rem;--md-sys-typescale-title-small-tracking:.00625rem;--md-sys-typescale-body-large-tracking:.03125rem;--md-sys-typescale-body-medium-tracking:.015625rem;--md-sys-typescale-body-small-tracking:.025rem;--md-sys-typescale-label-large-tracking:.00625rem;--md-sys-typescale-label-medium-tracking:.03125rem;--md-sys-typescale-label-small-tracking:.03125rem;--md-ref-typeface-brand:"Google Sans Flex","Google Sans",Roboto,system-ui,sans-serif;--md-ref-typeface-plain:"Google Sans Flex","Google Sans",Roboto,system-ui,sans-serif;--md-ref-typeface-code:"Google Sans Code","JetBrains Mono",ui-monospace,monospace;--md-sys-typescale-display-large-font:var(--md-ref-typeface-brand);--md-sys-typescale-display-large-weight:400;--md-sys-typescale-display-large-size:3.5625rem;--md-sys-typescale-display-large-line-height:4rem;--md-sys-typescale-display-medium-font:var(--md-ref-typeface-brand);--md-sys-typescale-display-medium-weight:400;--md-sys-typescale-display-medium-size:2.8125rem;--md-sys-typescale-display-medium-line-height:3.25rem;--md-sys-typescale-display-small-font:var(--md-ref-typeface-brand);--md-sys-typescale-display-small-weight:400;--md-sys-typescale-display-small-size:2.25rem;--md-sys-typescale-display-small-line-height:2.75rem;--md-sys-typescale-headline-large-font:var(--md-ref-typeface-brand);--md-sys-typescale-headline-large-weight:400;--md-sys-typescale-headline-large-size:2rem;--md-sys-typescale-headline-large-line-height:2.5rem;--md-sys-typescale-headline-medium-font:var(--md-ref-typeface-brand);--md-sys-typescale-headline-medium-weight:400;--md-sys-typescale-headline-medium-size:1.75rem;--md-sys-typescale-headline-medium-line-height:2.25rem;--md-sys-typescale-headline-small-font:var(--md-ref-typeface-brand);--md-sys-typescale-headline-small-weight:400;--md-sys-typescale-headline-small-size:1.5rem;--md-sys-typescale-headline-small-line-height:2rem;--md-sys-typescale-title-large-font:var(--md-ref-typeface-brand);--md-sys-typescale-title-large-weight:400;--md-sys-typescale-title-large-size:1.375rem;--md-sys-typescale-title-large-line-height:1.75rem;--md-sys-typescale-title-medium-font:var(--md-ref-typeface-plain);--md-sys-typescale-title-medium-weight:500;--md-sys-typescale-title-medium-size:1rem;--md-sys-typescale-title-medium-line-height:1.5rem;--md-sys-typescale-title-small-font:var(--md-ref-typeface-plain);--md-sys-typescale-title-small-weight:500;--md-sys-typescale-title-small-size:.875rem;--md-sys-typescale-title-small-line-height:1.25rem;--md-sys-typescale-body-large-font:var(--md-ref-typeface-plain);--md-sys-typescale-body-large-weight:400;--md-sys-typescale-body-large-size:1rem;--md-sys-typescale-body-large-line-height:1.5rem;--md-sys-typescale-body-medium-font:var(--md-ref-typeface-plain);--md-sys-typescale-body-medium-weight:400;--md-sys-typescale-body-medium-size:.875rem;--md-sys-typescale-body-medium-line-height:1.25rem;--md-sys-typescale-body-small-font:var(--md-ref-typeface-plain);--md-sys-typescale-body-small-weight:400;--md-sys-typescale-body-small-size:.75rem;--md-sys-typescale-body-small-line-height:1rem;--md-sys-typescale-label-large-font:var(--md-ref-typeface-plain);--md-sys-typescale-label-large-weight:500;--md-sys-typescale-label-large-size:.875rem;--md-sys-typescale-label-large-line-height:1.25rem;--md-sys-typescale-label-medium-font:var(--md-ref-typeface-plain);--md-sys-typescale-label-medium-weight:500;--md-sys-typescale-label-medium-size:.75rem;--md-sys-typescale-label-medium-line-height:1rem;--md-sys-typescale-label-small-font:var(--md-ref-typeface-plain);--md-sys-typescale-label-small-weight:500;--md-sys-typescale-label-small-size:.6875rem;--md-sys-typescale-label-small-line-height:1rem;--md-sys-motion-duration-short1:50ms;--md-sys-motion-duration-short2:.1s;--md-sys-motion-duration-short3:.15s;--md-sys-motion-duration-short4:.2s;--md-sys-motion-duration-medium1:.25s;--md-sys-motion-duration-medium2:.3s;--md-sys-motion-duration-medium3:.35s;--md-sys-motion-duration-medium4:.4s;--md-sys-motion-duration-long1:.45s;--md-sys-motion-duration-long2:.5s;--md-sys-motion-duration-long3:.55s;--md-sys-motion-duration-long4:.6s;--md-sys-motion-duration-extra-long1:.7s;--md-sys-motion-duration-extra-long2:.8s;--md-sys-motion-duration-extra-long3:.9s;--md-sys-motion-duration-extra-long4:1s;--md-sys-motion-easing-linear:cubic-bezier(0,0,1,1);--md-sys-motion-easing-standard:cubic-bezier(.2,0,0,1);--md-sys-motion-easing-standard-decelerate:cubic-bezier(0,0,0,1);--md-sys-motion-easing-standard-accelerate:cubic-bezier(.3,0,1,1);--md-sys-motion-easing-emphasized:cubic-bezier(.2,0,0,1);--md-sys-motion-easing-emphasized-decelerate:cubic-bezier(.05,.7,.1,1);--md-sys-motion-easing-emphasized-accelerate:cubic-bezier(.3,0,.8,.15);--md-sys-motion-easing-legacy:cubic-bezier(.4,0,.2,1);--md-sys-motion-easing-legacy-accelerate:cubic-bezier(.4,0,1,1);--md-sys-motion-easing-legacy-decelerate:cubic-bezier(0,0,.2,1);--md-sys-motion-spring-fast-spatial-damping:.9;--md-sys-motion-spring-fast-spatial-stiffness:1400;--md-sys-motion-spring-default-spatial-damping:.9;--md-sys-motion-spring-default-spatial-stiffness:700;--md-sys-motion-spring-slow-spatial-damping:.9;--md-sys-motion-spring-slow-spatial-stiffness:300;--md-sys-motion-spring-fast-effects-damping:1;--md-sys-motion-spring-fast-effects-stiffness:3800;--md-sys-motion-spring-default-effects-damping:1;--md-sys-motion-spring-default-effects-stiffness:1600;--md-sys-motion-spring-slow-effects-damping:1;--md-sys-motion-spring-slow-effects-stiffness:800;--md-sys-elevation-shadow-color:var(--md-sys-color-shadow,#000);--md-sys-elevation-level0:none;--md-sys-elevation-level1:0px 1px 2px 0px #0000004d,0px 1px 3px 1px #00000026;--md-sys-elevation-level2:0px 1px 2px 0px #0000004d,0px 2px 6px 2px #00000026;--md-sys-elevation-level3:0px 1px 3px 0px #0000004d,0px 4px 8px 3px #00000026;--md-sys-elevation-level4:0px 2px 3px 0px #0000004d,0px 6px 10px 4px #00000026;--md-sys-elevation-level5:0px 4px 4px 0px #0000004d,0px 8px 12px 6px #00000026}@supports (color: rgb(from black r g b / 0.3)){:root{--md-sys-elevation-level1:0px 1px 2px 0px rgb(from var(--md-sys-elevation-shadow-color)r g b/.3),0px 1px 3px 1px rgb(from var(--md-sys-elevation-shadow-color)r g b/.15);--md-sys-elevation-level2:0px 1px 2px 0px rgb(from var(--md-sys-elevation-shadow-color)r g b/.3),0px 2px 6px 2px rgb(from var(--md-sys-elevation-shadow-color)r g b/.15);--md-sys-elevation-level3:0px 1px 3px 0px rgb(from var(--md-sys-elevation-shadow-color)r g b/.3),0px 4px 8px 3px rgb(from var(--md-sys-elevation-shadow-color)r g b/.15);--md-sys-elevation-level4:0px 2px 3px 0px rgb(from var(--md-sys-elevation-shadow-color)r g b/.3),0px 6px 10px 4px rgb(from var(--md-sys-elevation-shadow-color)r g b/.15);--md-sys-elevation-level5:0px 4px 4px 0px rgb(from var(--md-sys-elevation-shadow-color)r g b/.3),0px 8px 12px 6px rgb(from var(--md-sys-elevation-shadow-color)r g b/.15)}}:root{--md-sys-state-hover-state-layer-opacity:.08;--md-sys-state-focus-state-layer-opacity:.1;--md-sys-state-pressed-state-layer-opacity:.1;--md-sys-state-dragged-state-layer-opacity:.16}:root,.dark{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-primary:#a1c9ff;--md-sys-color-on-primary:#00325a;--md-sys-color-primary-container:#004880;--md-sys-color-on-primary-container:#d2e4ff;--md-sys-color-inverse-primary:#0060a8;--md-sys-color-secondary:#bbc7db;--md-sys-color-on-secondary:#263141;--md-sys-color-secondary-container:#3c4858;--md-sys-color-on-secondary-container:#d7e3f8;--md-sys-color-tertiary:#d8bde4;--md-sys-color-on-tertiary:#3c2947;--md-sys-color-tertiary-container:#533f5f;--md-sys-color-on-tertiary-container:#f4d9ff;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#12131b;--md-sys-color-on-background:#e2e1ee;--md-sys-color-surface:#12131b;--md-sys-color-on-surface:#e2e1ee;--md-sys-color-surface-variant:#444655;--md-sys-color-on-surface-variant:#c5c5d8;--md-sys-color-surface-dim:#12131b;--md-sys-color-surface-bright:#383842;--md-sys-color-surface-container-lowest:#0c0e16;--md-sys-color-surface-container-low:#1a1b24;--md-sys-color-surface-container:#1e1f28;--md-sys-color-surface-container-high:#282933;--md-sys-color-surface-container-highest:#33343e;--md-sys-color-surface-tint:#a1c9ff;--md-sys-color-outline:#8e8fa1;--md-sys-color-outline-variant:#444655;--md-sys-color-inverse-surface:#e2e1ee;--md-sys-color-inverse-on-surface:#2f3039;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-primary-fixed:#d2e4ff;--md-sys-color-primary-fixed-dim:#a1c9ff;--md-sys-color-on-primary-fixed:#001c38;--md-sys-color-on-primary-fixed-variant:#004880;--md-sys-color-secondary-fixed:#d7e3f8;--md-sys-color-secondary-fixed-dim:#bbc7db;--md-sys-color-on-secondary-fixed:#101c2b;--md-sys-color-on-secondary-fixed-variant:#3c4858;--md-sys-color-tertiary-fixed:#f4d9ff;--md-sys-color-tertiary-fixed-dim:#d8bde4;--md-sys-color-on-tertiary-fixed:#261431;--md-sys-color-on-tertiary-fixed-variant:#533f5f;--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}.light,.vanilla-theme{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--md-sys-color-primary:#0060a8;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#d2e4ff;--md-sys-color-on-primary-container:#004880;--md-sys-color-inverse-primary:#a1c9ff;--md-sys-color-secondary:#535f70;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#d7e3f8;--md-sys-color-on-secondary-container:#3c4858;--md-sys-color-tertiary:#6c5677;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#f4d9ff;--md-sys-color-on-tertiary-container:#533f5f;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#93000a;--md-sys-color-background:#f9f9fb;--md-sys-color-on-background:#1a1c1d;--md-sys-color-surface:#f9f9fb;--md-sys-color-on-surface:#1a1c1d;--md-sys-color-surface-variant:#dde3e9;--md-sys-color-on-surface-variant:#41484c;--md-sys-color-surface-dim:#d9dadc;--md-sys-color-surface-bright:#f9f9fb;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f3f3f5;--md-sys-color-surface-container:#eeeef0;--md-sys-color-surface-container-high:#e8e8ea;--md-sys-color-surface-container-highest:#e2e2e4;--md-sys-color-surface-tint:#0060a8;--md-sys-color-outline:#72787d;--md-sys-color-outline-variant:#c1c7cd;--md-sys-color-inverse-surface:#2f3132;--md-sys-color-inverse-on-surface:#f0f0f2;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-primary-fixed:#d2e4ff;--md-sys-color-primary-fixed-dim:#a1c9ff;--md-sys-color-on-primary-fixed:#001c38;--md-sys-color-on-primary-fixed-variant:#004880;--md-sys-color-secondary-fixed:#d7e3f8;--md-sys-color-secondary-fixed-dim:#bbc7db;--md-sys-color-on-secondary-fixed:#101c2b;--md-sys-color-on-secondary-fixed-variant:#3c4858;--md-sys-color-tertiary-fixed:#f4d9ff;--md-sys-color-tertiary-fixed-dim:#d8bde4;--md-sys-color-on-tertiary-fixed:#261431;--md-sys-color-on-tertiary-fixed-variant:#533f5f;--md-ext-color-success:#006c4b;--md-ext-color-on-success:#fff;--md-ext-color-success-container:#7df9c2;--md-ext-color-on-success-container:#002114;--md-ext-color-warning:#934b00;--md-ext-color-on-warning:#fff;--md-ext-color-warning-container:#ffdcc5;--md-ext-color-on-warning-container:#301400}.midnight-theme{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-primary:#a1c9ff;--md-sys-color-on-primary:#00325a;--md-sys-color-primary-container:#004880;--md-sys-color-on-primary-container:#d2e4ff;--md-sys-color-inverse-primary:#0060a8;--md-sys-color-secondary:#bbc7db;--md-sys-color-on-secondary:#263141;--md-sys-color-secondary-container:#3c4858;--md-sys-color-on-secondary-container:#d7e3f8;--md-sys-color-tertiary:#d8bde4;--md-sys-color-on-tertiary:#3c2947;--md-sys-color-tertiary-container:#533f5f;--md-sys-color-on-tertiary-container:#f4d9ff;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#12121d;--md-sys-color-on-background:#e3e0f1;--md-sys-color-surface:#12121d;--md-sys-color-on-surface:#e3e0f1;--md-sys-color-surface-variant:#454558;--md-sys-color-on-surface-variant:#c6c4db;--md-sys-color-surface-dim:#12121d;--md-sys-color-surface-bright:#383845;--md-sys-color-surface-container-lowest:#0d0d18;--md-sys-color-surface-container-low:#1b1a26;--md-sys-color-surface-container:#1f1e2a;--md-sys-color-surface-container-high:#292935;--md-sys-color-surface-container-highest:#343440;--md-sys-color-surface-tint:#a1c9ff;--md-sys-color-outline:#908fa4;--md-sys-color-outline-variant:#454558;--md-sys-color-inverse-surface:#e3e0f1;--md-sys-color-inverse-on-surface:#302f3b;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-primary-fixed:#d2e4ff;--md-sys-color-primary-fixed-dim:#a1c9ff;--md-sys-color-on-primary-fixed:#001c38;--md-sys-color-on-primary-fixed-variant:#004880;--md-sys-color-secondary-fixed:#d7e3f8;--md-sys-color-secondary-fixed-dim:#bbc7db;--md-sys-color-on-secondary-fixed:#101c2b;--md-sys-color-on-secondary-fixed-variant:#3c4858;--md-sys-color-tertiary-fixed:#f4d9ff;--md-sys-color-tertiary-fixed-dim:#d8bde4;--md-sys-color-on-tertiary-fixed:#261431;--md-sys-color-on-tertiary-fixed-variant:#533f5f;--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}.noir-theme{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-primary:#a1c9ff;--md-sys-color-on-primary:#00325a;--md-sys-color-primary-container:#004880;--md-sys-color-on-primary-container:#d2e4ff;--md-sys-color-inverse-primary:#0060a8;--md-sys-color-secondary:#bbc7db;--md-sys-color-on-secondary:#263141;--md-sys-color-secondary-container:#3c4858;--md-sys-color-on-secondary-container:#d7e3f8;--md-sys-color-tertiary:#d8bde4;--md-sys-color-on-tertiary:#3c2947;--md-sys-color-tertiary-container:#533f5f;--md-sys-color-on-tertiary-container:#f4d9ff;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#131313;--md-sys-color-on-background:#e2e2e2;--md-sys-color-surface:#131313;--md-sys-color-on-surface:#e2e2e2;--md-sys-color-surface-variant:#474747;--md-sys-color-on-surface-variant:#c6c6c6;--md-sys-color-surface-dim:#131313;--md-sys-color-surface-bright:#393939;--md-sys-color-surface-container-lowest:#0e0e0e;--md-sys-color-surface-container-low:#1b1b1b;--md-sys-color-surface-container:#1f1f1f;--md-sys-color-surface-container-high:#2a2a2a;--md-sys-color-surface-container-highest:#353535;--md-sys-color-surface-tint:#a1c9ff;--md-sys-color-outline:#919191;--md-sys-color-outline-variant:#474747;--md-sys-color-inverse-surface:#e2e2e2;--md-sys-color-inverse-on-surface:#303030;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-primary-fixed:#d2e4ff;--md-sys-color-primary-fixed-dim:#a1c9ff;--md-sys-color-on-primary-fixed:#001c38;--md-sys-color-on-primary-fixed-variant:#004880;--md-sys-color-secondary-fixed:#d7e3f8;--md-sys-color-secondary-fixed-dim:#bbc7db;--md-sys-color-on-secondary-fixed:#101c2b;--md-sys-color-on-secondary-fixed-variant:#3c4858;--md-sys-color-tertiary-fixed:#f4d9ff;--md-sys-color-tertiary-fixed-dim:#d8bde4;--md-sys-color-on-tertiary-fixed:#261431;--md-sys-color-on-tertiary-fixed-variant:#533f5f;--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}.slate-theme{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-primary:#a1c9ff;--md-sys-color-on-primary:#00325a;--md-sys-color-primary-container:#004880;--md-sys-color-on-primary-container:#d2e4ff;--md-sys-color-inverse-primary:#0060a8;--md-sys-color-secondary:#bbc7db;--md-sys-color-on-secondary:#263141;--md-sys-color-secondary-container:#3c4858;--md-sys-color-on-secondary-container:#d7e3f8;--md-sys-color-tertiary:#d8bde4;--md-sys-color-on-tertiary:#3c2947;--md-sys-color-tertiary-container:#533f5f;--md-sys-color-on-tertiary-container:#f4d9ff;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#121316;--md-sys-color-on-background:#e3e2e6;--md-sys-color-surface:#121316;--md-sys-color-on-surface:#e3e2e6;--md-sys-color-surface-variant:#44474e;--md-sys-color-on-surface-variant:#c4c6d0;--md-sys-color-surface-dim:#121316;--md-sys-color-surface-bright:#38393c;--md-sys-color-surface-container-lowest:#0d0e11;--md-sys-color-surface-container-low:#1b1b1f;--md-sys-color-surface-container:#1f1f23;--md-sys-color-surface-container-high:#292a2d;--md-sys-color-surface-container-highest:#343538;--md-sys-color-surface-tint:#a1c9ff;--md-sys-color-outline:#8e9099;--md-sys-color-outline-variant:#44474e;--md-sys-color-inverse-surface:#e3e2e6;--md-sys-color-inverse-on-surface:#2f3033;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-primary-fixed:#d2e4ff;--md-sys-color-primary-fixed-dim:#a1c9ff;--md-sys-color-on-primary-fixed:#001c38;--md-sys-color-on-primary-fixed-variant:#004880;--md-sys-color-secondary-fixed:#d7e3f8;--md-sys-color-secondary-fixed-dim:#bbc7db;--md-sys-color-on-secondary-fixed:#101c2b;--md-sys-color-on-secondary-fixed-variant:#3c4858;--md-sys-color-tertiary-fixed:#f4d9ff;--md-sys-color-tertiary-fixed-dim:#d8bde4;--md-sys-color-on-tertiary-fixed:#261431;--md-sys-color-on-tertiary-fixed-variant:#533f5f;--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}.nord-theme{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-primary:#a1c9ff;--md-sys-color-on-primary:#00325a;--md-sys-color-primary-container:#004880;--md-sys-color-on-primary-container:#d2e4ff;--md-sys-color-inverse-primary:#0060a8;--md-sys-color-secondary:#bbc7db;--md-sys-color-on-secondary:#263141;--md-sys-color-secondary-container:#3c4858;--md-sys-color-on-secondary-container:#d7e3f8;--md-sys-color-tertiary:#d8bde4;--md-sys-color-on-tertiary:#3c2947;--md-sys-color-tertiary-container:#533f5f;--md-sys-color-on-tertiary-container:#f4d9ff;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#0f141a;--md-sys-color-on-background:#dfe2ec;--md-sys-color-surface:#0f141a;--md-sys-color-on-surface:#dfe2ec;--md-sys-color-surface-variant:#404754;--md-sys-color-on-surface-variant:#c0c7d6;--md-sys-color-surface-dim:#0f141a;--md-sys-color-surface-bright:#353941;--md-sys-color-surface-container-lowest:#0a0e15;--md-sys-color-surface-container-low:#181c23;--md-sys-color-surface-container:#1c2027;--md-sys-color-surface-container-high:#262a31;--md-sys-color-surface-container-highest:#31353c;--md-sys-color-surface-tint:#a1c9ff;--md-sys-color-outline:#8a919f;--md-sys-color-outline-variant:#404754;--md-sys-color-inverse-surface:#dfe2ec;--md-sys-color-inverse-on-surface:#2d3138;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-primary-fixed:#d2e4ff;--md-sys-color-primary-fixed-dim:#a1c9ff;--md-sys-color-on-primary-fixed:#001c38;--md-sys-color-on-primary-fixed-variant:#004880;--md-sys-color-secondary-fixed:#d7e3f8;--md-sys-color-secondary-fixed-dim:#bbc7db;--md-sys-color-on-secondary-fixed:#101c2b;--md-sys-color-on-secondary-fixed-variant:#3c4858;--md-sys-color-tertiary-fixed:#f4d9ff;--md-sys-color-tertiary-fixed-dim:#d8bde4;--md-sys-color-on-tertiary-fixed:#261431;--md-sys-color-on-tertiary-fixed-variant:#533f5f;--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}.mocha-theme{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-primary:#a1c9ff;--md-sys-color-on-primary:#00325a;--md-sys-color-primary-container:#004880;--md-sys-color-on-primary-container:#d2e4ff;--md-sys-color-inverse-primary:#0060a8;--md-sys-color-secondary:#bbc7db;--md-sys-color-on-secondary:#263141;--md-sys-color-secondary-container:#3c4858;--md-sys-color-on-secondary-container:#d7e3f8;--md-sys-color-tertiary:#d8bde4;--md-sys-color-on-tertiary:#3c2947;--md-sys-color-tertiary-container:#533f5f;--md-sys-color-on-tertiary-container:#f4d9ff;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-background:#17120f;--md-sys-color-on-background:#ebe0d9;--md-sys-color-surface:#17120f;--md-sys-color-on-surface:#ebe0d9;--md-sys-color-surface-variant:#51443a;--md-sys-color-on-surface-variant:#d5c3b6;--md-sys-color-surface-dim:#17120f;--md-sys-color-surface-bright:#3e3833;--md-sys-color-surface-container-lowest:#120d0a;--md-sys-color-surface-container-low:#201b17;--md-sys-color-surface-container:#241f1a;--md-sys-color-surface-container-high:#2f2925;--md-sys-color-surface-container-highest:#3a342f;--md-sys-color-surface-tint:#a1c9ff;--md-sys-color-outline:#9e8e82;--md-sys-color-outline-variant:#51443a;--md-sys-color-inverse-surface:#ebe0d9;--md-sys-color-inverse-on-surface:#352f2b;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-primary-fixed:#d2e4ff;--md-sys-color-primary-fixed-dim:#a1c9ff;--md-sys-color-on-primary-fixed:#001c38;--md-sys-color-on-primary-fixed-variant:#004880;--md-sys-color-secondary-fixed:#d7e3f8;--md-sys-color-secondary-fixed-dim:#bbc7db;--md-sys-color-on-secondary-fixed:#101c2b;--md-sys-color-on-secondary-fixed-variant:#3c4858;--md-sys-color-tertiary-fixed:#f4d9ff;--md-sys-color-tertiary-fixed-dim:#d8bde4;--md-sys-color-on-tertiary-fixed:#261431;--md-sys-color-on-tertiary-fixed-variant:#533f5f;--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}:root.light,.light{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--md-sys-color-background:#fff7fa;--md-sys-color-on-background:#201a1e;--md-sys-color-surface:#fff7fa;--md-sys-color-surface-dim:#e3d7dd;--md-sys-color-surface-bright:#fff7fa;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#fdf0f7;--md-sys-color-surface-container:#f7ebf1;--md-sys-color-surface-container-high:#f1e5eb;--md-sys-color-surface-container-highest:#ebdfe6;--md-sys-color-on-surface:#201a1e;--md-sys-color-surface-variant:#eddee8;--md-sys-color-on-surface-variant:#4e444b;--md-sys-color-inverse-surface:#352e33;--md-sys-color-inverse-on-surface:#faedf4;--md-sys-color-outline:#7f747c;--md-sys-color-outline-variant:#d1c3cc;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-surface-tint:#7e4d7c;--md-sys-color-primary:#7e4d7c;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#ffd6f8;--md-sys-color-on-primary-container:#643663;--md-sys-color-inverse-primary:#efb4e9;--md-sys-color-secondary:#6d586a;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#f6dbf0;--md-sys-color-on-secondary-container:#544151;--md-sys-color-tertiary:#825247;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#ffdad2;--md-sys-color-on-tertiary-container:#663b31;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#93000a;--md-sys-color-primary-fixed:#ffd6f8;--md-sys-color-primary-fixed-dim:#efb4e9;--md-sys-color-on-primary-fixed:#330834;--md-sys-color-on-primary-fixed-variant:#643663;--md-sys-color-secondary-fixed:#f6dbf0;--md-sys-color-secondary-fixed-dim:#d9bfd3;--md-sys-color-on-secondary-fixed:#261625;--md-sys-color-on-secondary-fixed-variant:#544151;--md-sys-color-tertiary-fixed:#ffdad2;--md-sys-color-tertiary-fixed-dim:#f6b8a9;--md-sys-color-on-tertiary-fixed:#331109;--md-sys-color-on-tertiary-fixed-variant:#663b31}:root,.dark{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-background:#171216;--md-sys-color-on-background:#ebdfe6;--md-sys-color-surface:#171216;--md-sys-color-surface-dim:#171216;--md-sys-color-surface-bright:#3e373c;--md-sys-color-surface-container-lowest:#120d11;--md-sys-color-surface-container-low:#201a1e;--md-sys-color-surface-container:#241e22;--md-sys-color-surface-container-high:#2e282d;--md-sys-color-surface-container-highest:#3a3338;--md-sys-color-on-surface:#ebdfe6;--md-sys-color-surface-variant:#4e444b;--md-sys-color-on-surface-variant:#d1c3cc;--md-sys-color-inverse-surface:#ebdfe6;--md-sys-color-inverse-on-surface:#352e33;--md-sys-color-outline:#9a8d96;--md-sys-color-outline-variant:#4e444b;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-surface-tint:#efb4e9;--md-sys-color-primary:#efb4e9;--md-sys-color-on-primary:#4b1f4b;--md-sys-color-primary-container:#643663;--md-sys-color-on-primary-container:#ffd6f8;--md-sys-color-inverse-primary:#7e4d7c;--md-sys-color-secondary:#d9bfd3;--md-sys-color-on-secondary:#3c2b3a;--md-sys-color-secondary-container:#544151;--md-sys-color-on-secondary-container:#f6dbf0;--md-sys-color-tertiary:#f6b8a9;--md-sys-color-on-tertiary:#4c261c;--md-sys-color-tertiary-container:#663b31;--md-sys-color-on-tertiary-container:#ffdad2;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-primary-fixed:#ffd6f8;--md-sys-color-primary-fixed-dim:#efb4e9;--md-sys-color-on-primary-fixed:#330834;--md-sys-color-on-primary-fixed-variant:#643663;--md-sys-color-secondary-fixed:#f6dbf0;--md-sys-color-secondary-fixed-dim:#d9bfd3;--md-sys-color-on-secondary-fixed:#261625;--md-sys-color-on-secondary-fixed-variant:#544151;--md-sys-color-tertiary-fixed:#ffdad2;--md-sys-color-tertiary-fixed-dim:#f6b8a9;--md-sys-color-on-tertiary-fixed:#331109;--md-sys-color-on-tertiary-fixed-variant:#663b31}@media (prefers-contrast:more){:root.light,.light{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--md-sys-color-background:#fff7fa;--md-sys-color-on-background:#201a1e;--md-sys-color-surface:#fff7fa;--md-sys-color-surface-dim:#c1b6bc;--md-sys-color-surface-bright:#fff7fa;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#faedf4;--md-sys-color-surface-container:#ebdfe6;--md-sys-color-surface-container-high:#ddd1d8;--md-sys-color-surface-container-highest:#cfc3ca;--md-sys-color-on-surface:#000;--md-sys-color-surface-variant:#eddee8;--md-sys-color-on-surface-variant:#000;--md-sys-color-inverse-surface:#352e33;--md-sys-color-inverse-on-surface:#fff;--md-sys-color-outline:#322a30;--md-sys-color-outline-variant:#50464e;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-surface-tint:#7e4d7c;--md-sys-color-primary:#461b46;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#673865;--md-sys-color-on-primary-container:#fff;--md-sys-color-inverse-primary:#efb4e9;--md-sys-color-secondary:#382736;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#564354;--md-sys-color-on-secondary-container:#fff;--md-sys-color-tertiary:#472218;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#693e33;--md-sys-color-on-tertiary-container:#fff;--md-sys-color-error:#600004;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#98000a;--md-sys-color-on-error-container:#fff;--md-sys-color-primary-fixed:#673865;--md-sys-color-primary-fixed-dim:#4d224d;--md-sys-color-on-primary-fixed:#fff;--md-sys-color-on-primary-fixed-variant:#fff;--md-sys-color-secondary-fixed:#564354;--md-sys-color-secondary-fixed-dim:#3f2d3d;--md-sys-color-on-secondary-fixed:#fff;--md-sys-color-on-secondary-fixed-variant:#fff;--md-sys-color-tertiary-fixed:#693e33;--md-sys-color-tertiary-fixed-dim:#4f281e;--md-sys-color-on-tertiary-fixed:#fff;--md-sys-color-on-tertiary-fixed-variant:#fff}:root,.dark{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--md-sys-color-background:#171216;--md-sys-color-on-background:#ebdfe6;--md-sys-color-surface:#171216;--md-sys-color-surface-dim:#171216;--md-sys-color-surface-bright:#564e53;--md-sys-color-surface-container-lowest:#000;--md-sys-color-surface-container-low:#241e22;--md-sys-color-surface-container:#352e33;--md-sys-color-surface-container-high:#40393e;--md-sys-color-surface-container-highest:#4c454a;--md-sys-color-on-surface:#fff;--md-sys-color-surface-variant:#4e444b;--md-sys-color-on-surface-variant:#fff;--md-sys-color-inverse-surface:#ebdfe6;--md-sys-color-inverse-on-surface:#000;--md-sys-color-outline:#fbecf5;--md-sys-color-outline-variant:#cdbfc8;--md-sys-color-shadow:#000;--md-sys-color-scrim:#000;--md-sys-color-surface-tint:#efb4e9;--md-sys-color-primary:#ffeaf9;--md-sys-color-on-primary:#000;--md-sys-color-primary-container:#ebb0e5;--md-sys-color-on-primary-container:#1c001e;--md-sys-color-inverse-primary:#653764;--md-sys-color-secondary:#ffeaf9;--md-sys-color-on-secondary:#000;--md-sys-color-secondary-container:#d5bbcf;--md-sys-color-on-secondary-container:#140614;--md-sys-color-tertiary:#ffece8;--md-sys-color-on-tertiary:#000;--md-sys-color-tertiary-container:#f1b4a6;--md-sys-color-on-tertiary-container:#1d0301;--md-sys-color-error:#ffece9;--md-sys-color-on-error:#000;--md-sys-color-error-container:#ffaea4;--md-sys-color-on-error-container:#220001;--md-sys-color-primary-fixed:#ffd6f8;--md-sys-color-primary-fixed-dim:#efb4e9;--md-sys-color-on-primary-fixed:#000;--md-sys-color-on-primary-fixed-variant:#260028;--md-sys-color-secondary-fixed:#f6dbf0;--md-sys-color-secondary-fixed-dim:#d9bfd3;--md-sys-color-on-secondary-fixed:#000;--md-sys-color-on-secondary-fixed-variant:#1b0c1a;--md-sys-color-tertiary-fixed:#ffdad2;--md-sys-color-tertiary-fixed-dim:#f6b8a9;--md-sys-color-on-tertiary-fixed:#000;--md-sys-color-on-tertiary-fixed-variant:#250703}}:root{--aphrody-pet-hair:#dcd894;--aphrody-pet-skin:#fce0b4;--aphrody-pet-tunic:#f4f4f4;--app-title-gradient:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-secondary),var(--md-sys-color-tertiary));--app-shape-prompt-empty:40px;--app-shape-prompt-content:32px;--app-shape-prompt-docked:24px 24px 0 0;--app-shape-chip:16px;--app-reading-column:760px;--app-weight-display:280;--app-weight-headline:350;--app-weight-body:400;--app-weight-body-strong:500;--app-motion-spring-fast-spatial:linear(0,.0519,.168,.3068,.4446,.569,.6746,.7604,.8279,.8795,.9178,.9456,.9653,.9788,.9879,.9939,.9975,.9997,1.0008,1.0014,1.0015,1.0015,1.0013,1.0011,1);--app-motion-spring-fast-spatial-duration:.23s;--app-motion-spring-default-spatial:linear(0,.0518,.1678,.3065,.4442,.5685,.6741,.76,.8276,.8791,.9175,.9454,.9651,.9787,.9879,.9938,.9975,.9997,1.0008,1.0014,1.0015,1.0015,1.0013,1.0011,1);--app-motion-spring-default-spatial-duration:.325s;--app-motion-spring-slow-spatial:linear(0,.0517,.1675,.3061,.4437,.568,.6736,.7595,.8271,.8788,.9172,.9451,.9649,.9786,.9878,.9937,.9974,.9996,1.0008,1.0014,1.0015,1.0015,1.0013,1.0011,1);--app-motion-spring-slow-spatial-duration:.496s;--app-motion-spring-fast-effects:linear(0,.0576,.1807,.3214,.4558,.5737,.6718,.7508,.8128,.8606,.897,.9244,.9448,.9599,.9709,.979,.9849,.9892,.9923,.9945,.9961,.9972,.998,.9986,1);--app-motion-spring-fast-effects-duration:.15s;--app-motion-spring-default-effects:linear(0,.0576,.1805,.3211,.4555,.5733,.6714,.7504,.8125,.8604,.8968,.9242,.9446,.9597,.9708,.979,.9849,.9892,.9922,.9945,.9961,.9972,.998,.9986,1);--app-motion-spring-default-effects-duration:.231s;--app-motion-spring-slow-effects:linear(0,.0577,.1807,.3215,.456,.5738,.672,.7509,.8129,.8607,.8971,.9244,.9448,.9599,.971,.9791,.985,.9892,.9923,.9945,.9961,.9972,.998,.9986,1);--app-motion-spring-slow-effects-duration:.327s}:where(:root){--md-ext-color-success:#006c4b;--md-ext-color-on-success:#fff;--md-ext-color-success-container:#7df9c2;--md-ext-color-on-success-container:#002114;--md-ext-color-warning:#934b00;--md-ext-color-on-warning:#fff;--md-ext-color-warning-container:#ffdcc5;--md-ext-color-on-warning-container:#301400}@media (prefers-color-scheme:dark){:where(:root){--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}}:where(:root.dark,.dark){--md-ext-color-success:#5fdda8;--md-ext-color-on-success:#003825;--md-ext-color-success-container:#005137;--md-ext-color-on-success-container:#7df9c2;--md-ext-color-warning:#ffb782;--md-ext-color-on-warning:#4f2500;--md-ext-color-warning-container:#703800;--md-ext-color-on-warning-container:#ffdcc5}.m3-reader{--reader-surface:var(--md-sys-color-surface,#111318);--reader-on-surface:var(--md-sys-color-on-surface,#e2e2e9);--reader-accent:var(--md-sys-color-primary,#bdc5ff);--reader-on-accent:var(--md-sys-color-on-primary,#17227a);--reader-outline:var(--md-sys-color-outline,#8e9099);color:var(--reader-on-surface);background:var(--reader-surface);font-size:18px;line-height:1.5}.m3-reader .m3-reader-hud{color:var(--reader-on-surface);background:var(--reader-surface);border-bottom:2px solid var(--reader-outline)}.m3-reader .m3-reader-btn,.m3-reader .m3-reader-btn-active{display:inline-flex;border:2px solid var(--reader-outline);color:var(--reader-on-surface);background:var(--reader-surface);cursor:pointer;border-radius:.6rem;justify-content:center;align-items: center;gap:.375rem;min-height:44px;padding:.35rem .75rem;font-size:18px;font-weight:700}.m3-reader .m3-reader-btn-active{color:var(--reader-on-accent);background:var(--reader-accent);border-color:var(--reader-accent)}.m3-reader :-webkit-any(button,a,input):focus-visible{outline:3px solid var(--reader-accent);outline-offset:2px}.m3-reader :-moz-any(button,a,input):focus-visible{outline:3px solid var(--reader-accent);outline-offset:2px}.m3-reader :is(button,a,input):focus-visible{outline:3px solid var(--reader-accent);outline-offset:2px}.m3-reader :-webkit-any(button,a):disabled{opacity:.45;cursor:default}.m3-reader :-moz-any(button,a):disabled{opacity:.45;cursor:default}.m3-reader :is(button,a):disabled{opacity:.45;cursor:default}.m3-reader .m3-reader-scroll{scrollbar-color:var(--reader-outline)var(--reader-surface)}.m3-reader-collection{display:grid;border-radius:1rem;gap:1rem;padding:1rem}.m3-reader-collection-toolbar,.m3-reader-collection-navigation{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:.75rem}.m3-reader-collection-editions{display:flex;flex-wrap:wrap;gap:.5rem}.m3-reader-collection-contents{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));border:2px solid var(--reader-outline);border-radius:1rem;gap:.5rem;padding:1rem}.m3-reader-collection-empty{border:2px solid var(--reader-outline);border-radius:1rem;min-height:8rem;padding:2rem;font-size:18px}.m3-reader-collection-navigation{border-top:1px solid var(--reader-outline);padding-top:.75rem}@media (prefers-reduced-motion:reduce){.m3-reader *,.m3-reader *:before,.m3-reader *:after{scroll-behavior:auto!important;animation-duration:0s!important;transition-duration:0s!important}}html,body{overscroll-behavior:none;overflow:hidden}html.overlay-window,body.overlay-window,#root.overlay-window{background:0 0!important}*{scrollbar-width:auto;scrollbar-color:var(--md-sys-color-outline)transparent}@media (prefers-reduced-motion:reduce){.audio-gradient:before{animation:none}}.checkerboard{background-image:linear-gradient(45deg,var(--md-sys-color-surface-container-highest)25%,transparent 25%),linear-gradient(-45deg,var(--md-sys-color-surface-container-highest)25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--md-sys-color-surface-container-highest)75%),linear-gradient(-45deg,transparent 75%,var(--md-sys-color-surface-container-highest)75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.audio-gradient{position:relative;background:var(--md-sys-color-scrim)}.audio-gradient:before{content:"";position:absolute;background:linear-gradient(-45deg,var(--md-sys-color-tertiary),var(--md-sys-color-primary),var(--md-sys-color-secondary),var(--md-sys-color-tertiary-container));animation:audio-gradient-shift 15s var(--md-sys-motion-easing-standard)infinite;opacity:.7;background-size:400% 400%;inset:0}.audio-gradient:after{content:"";position:absolute;background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,var(--md-sys-color-scrim)100%);pointer-events:none;inset:0}@supports (color: color-mix(in lab, red, red)){.audio-gradient:after{background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,color-mix(in srgb,var(--md-sys-color-scrim)80%,transparent)100%)}}.audio-gradient.paused:before{animation-play-state:paused}@keyframes audio-gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes barber-pole{0%{background-position:0 0}to{background-position:28px 0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tsqd-open-btn-container{display:none!important}.product-showcase{--m3-gutter:24px}.product-showcase .m3-code{overflow:auto;border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-high);white-space:pre;padding:16px}.product-page{user-select:text}.drive-pane{height:100%;min-height:0;font-size:18px}.drive-pane :-webkit-any([class*=text-body-],[class*=text-label-],.text-xs,.text-sm,.text-base){font-size:18px}.drive-pane :-moz-any([class*=text-body-],[class*=text-label-],.text-xs,.text-sm,.text-base){font-size:18px}.drive-pane :is([class*=text-body-],[class*=text-label-],.text-xs,.text-sm,.text-base){font-size:18px}.drive-pane :focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:2px}:root{font-family:var(--aphrody-font-brand);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);--buncss-light:initial;--buncss-dark: ;color-scheme:light dark;interpolate-size:allow-keywords;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:var(--md-sys-color-outline)transparent}@media (prefers-color-scheme:dark){:root{--buncss-light: ;--buncss-dark:initial}}*{box-sizing:border-box}html,body,#root{min-width:320px;height:100%;min-height:420px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}#root :focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:3px}#root :where(input,textarea,select):focus-visible{outline-offset:2px}.app-shell{isolation:isolate}.app-shell :where(button,a,input,select,textarea){touch-action:manipulation}@media (forced-colors:active){#root :focus-visible{outline-color:highlight}}#root :where(button,input,select,textarea,p,span,label,li,dt,dd,td,th,summary,code,pre,small,[class*=text-body-],[class*=text-label-]){font-size:max(var(--aphrody-base-font-size,18px),1em)}h1,h2,h3,h4,h5,h6{text-wrap:balance}p,.prose{text-wrap:pretty}.journal-log-entry{content-visibility:auto;contain-intrinsic-size:auto none auto 24px}.chat-turn-item{content-visibility:auto;contain-intrinsic-size:auto none auto 48px}dialog[open]{opacity:1;transform:scale(1)}[popover]:popover-open{opacity:1;transform:scale(1)}@starting-style{[popover]:popover-open{opacity:0;transform:scale(.96)}}@starting-style{dialog[open]{opacity:0;transform:scale(.96)}}dialog,[popover]{opacity:0;transition-behavior:allow-discrete;transition-property:opacity,transform,display,overlay;transition-duration:.2s;transition-timing-function:cubic-bezier(.2,0,0,1);transform:scale(.96)}dialog::backdrop{transition:display .2s allow-discrete,overlay .2s allow-discrete,background-color .2s ease-out;background-color:#0000}[popover]::backdrop{transition:display .2s allow-discrete,overlay .2s allow-discrete,background-color .2s ease-out;background-color:#0000}dialog[open]::backdrop{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){dialog[open]::backdrop{background-color:color-mix(in srgb,var(--md-sys-color-scrim)45%,transparent)}}@starting-style{dialog[open]::backdrop{background-color:#0000}}[popover]:popover-open::backdrop{background-color:var(--md-sys-color-scrim)}@supports (color: color-mix(in lab, red, red)){[popover]:popover-open::backdrop{background-color:color-mix(in srgb,var(--md-sys-color-scrim)45%,transparent)}}@starting-style{[popover]:popover-open::backdrop{background-color:#0000}}.material-symbol{display:inline-block;direction:ltr;white-space:nowrap;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;font-family:Material Symbols Outlined;font-size:20px;line-height:1}.titlebar{user-select:none;height:40px}.window-control{color:var(--md-sys-color-on-surface-variant);width:46px;height:40px}.window-control:hover{background:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.window-control:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface)8%,transparent)}}.window-control.close:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}@media (max-width:760px){.titlebar{height:36px}.window-control{width:40px;height:36px}}@media (prefers-reduced-motion:reduce){dialog,[popover]{transition:none;transform:none}@starting-style{dialog[open]{transform:none}[popover]:popover-open{transform:none}}}.codex-chat-pane{font-weight:var(--app-weight-body)}.codex-chat-pane :-webkit-any(h1,h2,h3){font-weight:var(--app-weight-headline)}.codex-chat-pane :-moz-any(h1,h2,h3){font-weight:var(--app-weight-headline)}.codex-chat-pane :is(h1,h2,h3){font-weight:var(--app-weight-headline)}.codex-chat-pane :-webkit-any(strong,b){font-weight:var(--app-weight-body-strong)}.codex-chat-pane :-moz-any(strong,b){font-weight:var(--app-weight-body-strong)}.codex-chat-pane :is(strong,b){font-weight:var(--app-weight-body-strong)}.app-reading-column{max-width:var(--app-reading-column);width:100%;margin-inline-start:auto;margin-inline-end:auto}.app-greeting{text-align:start;font-size:clamp(2rem,4vw,2.8rem);line-height:1.15;font-weight:var(--app-weight-display);margin:0}.app-greeting .app-sparkle{display:inline-block;vertical-align:0;width:.72em;height:.72em;margin-inline-end:.3em}.app-greeting-text{font-size:1em;font-weight:var(--app-weight-display);font-variation-settings:"ROND" 100;color:var(--md-sys-color-primary);background:var(--app-title-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-sparkle{flex:none}@media (forced-colors:active){.app-greeting-text{-webkit-text-fill-color:CanvasText;background:0 0}}.app-prompt-bar{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--app-shape-prompt-empty);box-shadow:0 0 16px 0 var(--md-sys-color-on-surface),0 0 2px 0 var(--md-sys-color-on-surface);transition:border-radius var(--md-sys-motion-duration-medium2,.3s)cubic-bezier(.2,0,0,1)}@supports (color: color-mix(in lab, red, red)){.app-prompt-bar{box-shadow:0 0 16px 0 color-mix(in srgb,var(--md-sys-color-on-surface)16%,transparent),0 0 2px 0 color-mix(in srgb,var(--md-sys-color-on-surface)10%,transparent)}}.app-prompt-bar[data-shape=content]{border-radius:var(--app-shape-prompt-content)}.app-prompt-bar[data-shape=docked]{border-radius:var(--app-shape-prompt-docked)}.app-prompt-bar:focus-within{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.app-prompt-bar textarea{width:100%}@supports (field-sizing: content){.app-prompt-bar textarea{field-sizing:content;height:auto;min-block-size:1lh;max-block-size:10lh}}.app-chip{white-space:nowrap;border-radius:var(--app-shape-chip);border:1px solid var(--md-sys-color-outline-variant)}@media (max-width:839px){.app-chip-label{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px}}.app-rail{position:relative;overflow:hidden;background:var(--md-sys-color-surface-container-low);transition:width 0s linear var(--md-sys-motion-duration-medium2,.3s);width:0}.app-rail[data-expanded=true]{width:280px;transition:width}.app-rail-panel{opacity:0;transition:transform var(--md-sys-motion-duration-medium2,.3s)cubic-bezier(.2,0,0,1),opacity var(--md-sys-motion-duration-short4,.2s)cubic-bezier(.2,0,0,1);width:280px;height:100%;transform:translate(-100%)}.app-rail[data-expanded=true]>.app-rail-panel{opacity:1;transform:none}@supports (transition-timing-function: linear(0, 1)){.app-prompt-bar{transition:border-radius var(--app-motion-spring-default-spatial-duration)var(--app-motion-spring-default-spatial)}.app-rail{transition:width 0s linear var(--app-motion-spring-default-spatial-duration)}.app-rail[data-expanded=true]{transition:width}.app-rail-panel{transition:transform var(--app-motion-spring-default-spatial-duration)var(--app-motion-spring-default-spatial),opacity var(--app-motion-spring-fast-effects-duration)var(--app-motion-spring-fast-effects)}}.app-drawer{position:fixed;opacity:1;z-index:100;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;transition:none;inset:0;transform:none}.app-drawer[hidden]{display:none}.app-drawer::backdrop{background:0 0}.app-drawer-scroller{display:flex;overflow-x:auto;overscroll-behavior:contain;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--md-sys-color-scrim);height:100%}@supports (color: color-mix(in lab, red, red)){.app-drawer-scroller{background:color-mix(in srgb,var(--md-sys-color-scrim)32%,transparent)}}.app-drawer-panel{scroll-snap-align:start;background:var(--md-sys-color-surface-container-low);border-radius:0 var(--md-sys-shape-corner-large)var(--md-sys-shape-corner-large)0;display:flex;flex-direction:column;flex:none;width:min(280px,85vw);height:100%;min-height:0}.app-drawer-header{display:flex;border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items: center;gap:12px;padding:12px}.app-drawer-title{font-weight:var(--app-weight-body-strong)}.app-drawer-close{display:grid;border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface-variant);background:0 0;border:0;flex:none;place-items: center;min-width:48px;min-height:48px}.app-drawer-close:hover{background:var(--md-sys-color-on-surface)}@supports (color: color-mix(in lab, red, red)){.app-drawer-close:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface)8%,transparent)}}.app-drawer-content{overflow:auto;flex:1;min-height:0}.app-drawer-dismiss{scroll-snap-align:start;background:0 0;border:0;flex:none;width:100vw;height:100%}@supports (animation-timeline: scroll()){.app-drawer-scroller{animation:linear both app-drawer-scrim;animation-timeline:scroll(self inline)}@keyframes app-drawer-scrim{0%{background-color:color-mix(in srgb,var(--md-sys-color-scrim)32%,transparent)}to{background-color:#0000}}}.app-rail-trigger:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.app-drawer-dismiss:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.app-prompt-bar,.app-rail,.app-rail[data-expanded=true],.app-rail-panel{transition:none}.app-drawer-scroller{scroll-behavior:auto;animation:none}}:root.reduce-motion *,:root.reduce-motion *:before,:root.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}@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-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-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-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@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{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(./fonts/material-symbols-outlined.woff2)format(woff2)}.material-symbols-outlined{letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga";font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1}.maplibregl-map{overflow:hidden;position:relative;-webkit-tap-highlight-color:#0000;-webkit-touch-callout:none;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif}.maplibregl-canvas{position:absolute;top:0;left:0}.maplibregl-map:-webkit-full-screen{width:100%;height:100%}.maplibregl-map:fullscreen{width:100%;height:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{position:absolute;pointer-events:none;z-index:2}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px buttontext}}.maplibregl-ctrl-group button{display:block;outline:none;box-sizing:border-box;cursor:pointer;background-color:#0000;border:0;width:29px;height:29px;padding:0}.maplibregl-ctrl button{-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{display:block;background-position:50%;background-repeat:no-repeat;width:100%;height:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:#0000}.maplibregl-ctrl-group button+button{border-top:1px solid buttontext}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E)}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E)}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E)}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E)}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E)}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E)}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E)}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E)}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E)}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%23333%22%20viewBox%3D%220%200%2022%2022%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M17.5%2011c0%204.819-3.02%208.5-6.5%208.5S4.5%2015.819%204.5%2011%207.52%202.5%2011%202.5s6.5%203.681%206.5%208.5Z%22%2F%3E%3Cpath%20d%3D%22M13.5%2011c0%202.447-.331%204.64-.853%206.206-.262.785-.562%201.384-.872%201.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831%2015.64%208.5%2013.446%208.5%2011s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872%201.777.522%201.565.853%203.76.853%206.206Z%22%2F%3E%3Cpath%20d%3D%22M11%207.5c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138q.07-.058.224-.138c.299-.151.763-.302%201.379-.434C7.378%205.666%209.091%205.5%2011%205.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0%209c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138%201.3%201.3%200%200%201%20.224-.138c.299-.151.763-.302%201.379-.434C7.378%2014.666%209.091%2014.5%2011%2014.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138a1.3%201.3%200%200%201-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46%200-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5%201.5%200%200%201-.39-.272.3.3%200%200%201-.047-.064.3.3%200%200%201%20.048-.064c.066-.073.189-.167.389-.272.399-.21%201.009-.413%201.805-.59C6.328%209.722%208.54%209.5%2011%209.5s4.672.222%206.256.574c.795.177%201.405.38%201.804.59.2.105.323.2.39.272a.3.3%200%200%201%20.047.064.3.3%200%200%201-.048.064%201.4%201.4%200%200%201-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0%20.018v.002zm17.002.002v-.002zm0-.018v-.002z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%2333b5e5%22%20viewBox%3D%220%200%2022%2022%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M17.5%2011c0%204.819-3.02%208.5-6.5%208.5S4.5%2015.819%204.5%2011%207.52%202.5%2011%202.5s6.5%203.681%206.5%208.5Z%22%2F%3E%3Cpath%20d%3D%22M13.5%2011c0%202.447-.331%204.64-.853%206.206-.262.785-.562%201.384-.872%201.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831%2015.64%208.5%2013.446%208.5%2011s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872%201.777.522%201.565.853%203.76.853%206.206Z%22%2F%3E%3Cpath%20d%3D%22M11%207.5c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138q.07-.058.224-.138c.299-.151.763-.302%201.379-.434C7.378%205.666%209.091%205.5%2011%205.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0%209c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138%201.3%201.3%200%200%201%20.224-.138c.299-.151.763-.302%201.379-.434C7.378%2014.666%209.091%2014.5%2011%2014.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138a1.3%201.3%200%200%201-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46%200-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5%201.5%200%200%201-.39-.272.3.3%200%200%201-.047-.064.3.3%200%200%201%20.048-.064c.066-.073.189-.167.389-.272.399-.21%201.009-.413%201.805-.59C6.328%209.722%208.54%209.5%2011%209.5s4.672.222%206.256.574c.795.177%201.405.38%201.804.59.2.105.323.2.39.272a.3.3%200%200%201%20.047.064.3.3%200%200%201-.048.064%201.4%201.4%200%200%201-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0%20.018v.002zm17.002.002v-.002zm0-.018v-.002z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20d%3D%22m1.754%2013.406%204.453-4.851%203.09%203.09%203.281%203.277.969-.969-3.309-3.312%203.844-4.121%206.148%206.886h1.082v-.855l-7.207-8.07-4.84%205.187L6.169%206.57l-5.48%205.965v.871ZM.688%2016.844h20.625v1.375H.688Zm0%200%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20d%3D%22m1.754%2013.406%204.453-4.851%203.09%203.09%203.281%203.277.969-.969-3.309-3.312%203.844-4.121%206.148%206.886h1.082v-.855l-7.207-8.07-4.84%205.187L6.169%206.57l-5.48%205.965v.871ZM.688%2016.844h20.625v1.375H.688Zm0%200%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23aaa%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e58978%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e54e33%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:2s linear infinite maplibregl-spin}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23999%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e58978%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e54e33%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E)}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E)}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23666%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E)}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{display:block;cursor:pointer;overflow:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;width:88px;height:23px;margin:0 0 -4px -4px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:#0000;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{position:relative;color:#000;box-sizing:content-box;background-color:#fff;border-radius:12px;min-height:20px;margin:10px;padding:2px 24px 2px 0}.maplibregl-ctrl-attrib.maplibregl-compact-show{visibility:visible;padding:2px 28px 2px 8px}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;box-sizing:border-box;outline:none;background-color:#ffffff80;background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E);border:0;border-radius:12px;width:24px;height:24px;top:0;right:0}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E)}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E)}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{white-space:nowrap;color:#333;box-sizing:border-box;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.maplibregl-popup{position:absolute;display:flex;will-change:transform;pointer-events:none;top:0;left:0}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;align-self: center}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self: flex-start}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self: flex-end}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;align-self: center}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self: flex-start}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self: flex-end}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-left:none;border-right-color:#fff;align-self: center}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#fff;border-right:none;align-self: center}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self: flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self: flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self: flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self: flex-start}.maplibregl-popup-close-button{position:absolute;cursor:pointer;background-color:#0000;border:0;border-radius:0 3px 0 0;top:0;right:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{position:relative;pointer-events:auto;background:#fff;border-radius:3px;padding:15px 10px;box-shadow:0 1px 2px #0000001a}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{position:absolute;will-change:transform;transition:opacity .2s;top:0;left:0}.maplibregl-marker-draggable{cursor:grab}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.maplibregl-user-location-dot:before{content:"";position:absolute;animation:2s infinite maplibregl-user-location-dot-pulse}.maplibregl-user-location-dot:after{content:"";position:absolute;box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:19px;height:19px;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:0}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{position:absolute;opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;top:0;left:0}.maplibregl-cooperative-gesture-screen{position:absolute;display:flex;color:#fff;opacity:0;pointer-events:none;z-index:99999;background:#0006;justify-content:center;align-items: center;padding:1rem;transition:opacity 1s 1s;font-size:1.4em;line-height:1.2;inset:0}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 50ms}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{z-index:99999;position:fixed!important;width:100%!important;height:100%!important;top:0!important;left:0!important}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;z-index:1;margin-left:auto;margin-right:auto}.swiper{position:relative;overflow:hidden;list-style:none;z-index:1;display:block;margin-left:auto;margin-right:auto;padding:0}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;width:100%;height:100%}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{position:relative;display:block;flex-shrink:0;width:100%;height:100%;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items: flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{width:var(--swiper-centered-offset-after);height:100%;min-height:1px}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);width:100%;min-width:1px}.swiper-3d .swiper-slide-shadow{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-left{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-right{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-top{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-bottom{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-left{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-right{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-top{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow-bottom{position:absolute;pointer-events:none;z-index:10;width:100%;height:100%;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{position:absolute;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-zoom-container{display:flex;text-align:center;justify-content:center;align-items: center;width:100%;height:100%}.swiper-zoom-container>img{object-fit:contain;max-width:100%;max-height:100%}.swiper-zoom-container>svg{object-fit:contain;max-width:100%;max-height:100%}.swiper-zoom-container>canvas{object-fit:contain;max-width:100%;max-height:100%}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;pointer-events:none;top:0;left:0}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{width:var(--swiper-virtual-size);height:1px}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px} +/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ +@layer properties; +@layer theme,base,components,utilities; +@layer theme { + :root, + :host { + --font-sans: var(--md-ref-typeface-plain); + --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; + --font-mono: var(--md-ref-typeface-code); + --color-red-400: oklch(70.4% 0.191 22.216); + --color-orange-400: oklch(75% 0.183 55.934); + --color-amber-400: oklch(82.8% 0.189 84.429); + --color-amber-500: oklch(76.9% 0.188 70.08); + --color-emerald-400: oklch(76.5% 0.177 163.223); + --color-emerald-500: oklch(69.6% 0.17 162.48); + --color-emerald-700: oklch(50.8% 0.118 165.612); + --color-teal-400: oklch(77.7% 0.152 181.912); + --color-cyan-400: oklch(78.9% 0.154 211.53); + --color-cyan-500: oklch(71.5% 0.143 215.221); + --color-blue-400: oklch(70.7% 0.165 254.624); + --color-blue-500: oklch(62.3% 0.214 259.815); + --color-rose-400: oklch(71.2% 0.194 13.428); + --color-rose-500: oklch(64.5% 0.246 16.439); + --color-zinc-900: oklch(21% 0.006 285.885); + --color-black: #000; + --color-white: #fff; + --spacing: 0.25rem; + --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; + --text-xs: 0.75rem; + --text-xs--line-height: calc(1/0.75); + --text-sm: 0.875rem; + --text-sm--line-height: calc(1.25/0.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-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-normal: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + --font-weight-extrabold: 800; + --font-weight-black: 900; + --tracking-tight: -0.025em; + --tracking-wide: 0.025em; + --tracking-wider: 0.05em; + --leading-tight: 1.25; + --leading-relaxed: 1.625; + --radius-xl: 0.75rem; + --radius-2xl: 1rem; + --radius-3xl: 1.5rem; + --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a; + --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a; + --shadow-lg: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a; + --drop-shadow-lg: 0 4px 4px #00000026; + --ease-in: cubic-bezier(0.4, 0, 1, 1); + --ease-out: cubic-bezier(0, 0, 0.2, 1); + --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); + --animate-spin: spin 1s linear infinite; + --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; + --blur-xs: 4px; + --blur-sm: 8px; + --blur-md: 12px; + --blur-lg: 16px; + --blur-xl: 24px; + --blur-2xl: 40px; + --default-transition-duration: 0.15s; + --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + --default-font-family: var(--md-ref-typeface-plain); + --default-mono-font-family: var(--md-ref-typeface-code); + --color-accent: var(--md-sys-color-primary); + --color-ink-dull: var(--md-sys-color-on-surface-variant); + --color-app: var(--md-sys-color-surface); + --color-app-box: var(--md-sys-color-surface-container); + --color-app-dark-box: var(--md-sys-color-surface-container-low); + --color-app-darker-box: var(--md-sys-color-surface-container-lowest); + --color-app-line: var(--md-sys-color-outline-variant); + --color-app-selected: var(--md-sys-color-secondary-container); + --color-app-hover: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + :is(:root, :host) { + --color-app-hover: color-mix( + in srgb, + var(--md-sys-color-on-surface) 8%, + var(--md-sys-color-surface-container) + ); + } + } +} +@layer base { + *, + :after, + :before { + box-sizing: border-box; + border: 0 solid; + margin: 0; + padding: 0; + } + ::backdrop { + box-sizing: border-box; + border: 0 solid; + margin: 0; + padding: 0; + } + ::-webkit-file-upload-button { + 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, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + "Helvetica Neue", + "Noto Sans", + Arial, + 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 { + color: inherit; + border-top-width: 1px; + height: 0; + } + 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; + 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 { + position: relative; + vertical-align: baseline; + font-size: 75%; + line-height: 0; + } + sub { + bottom: -0.25em; + } + sup { + top: -0.5em; + } + table { + text-indent: 0; + border-color: inherit; + border-collapse: collapse; + } + :-moz-focusring:where(:not(iframe)) { + outline: auto; + } + progress { + vertical-align: baseline; + } + summary { + display: list-item; + } + ol, + ul, + menu { + list-style: none; + } + img, + svg, + video, + canvas, + audio, + iframe, + embed, + object { + display: block; + vertical-align: middle; + } + 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; + } + ::-webkit-file-upload-button { + 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:-webkit-any([multiple], [size])) optgroup { + font-weight: bolder; + } + :where(select:-moz-any([multiple], [size])) optgroup { + font-weight: bolder; + } + :where(select:is([multiple], [size])) optgroup { + font-weight: bolder; + } + :where(select:-webkit-any([multiple], [size])) optgroup option { + padding-inline-start: 20px; + } + :where(select:-moz-any([multiple], [size])) optgroup option { + padding-inline-start: 20px; + } + :where(select:is([multiple], [size])) optgroup option { + padding-inline-start: 20px; + } + ::-webkit-file-upload-button { + margin-inline-end: 4px; + } + ::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 { + text-align: inherit; + min-height: 1lh; + } + ::-webkit-datetime-edit { + display: inline-flex; + } + ::-webkit-datetime-edit-fields-wrapper { + padding: 0; + } + ::-webkit-datetime-edit { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-year-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-month-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-day-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-hour-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-minute-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-second-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-millisecond-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-datetime-edit-meridiem-field { + padding-block-start: 0; + padding-block-end: 0; + } + ::-webkit-calendar-picker-indicator { + line-height: 1; + } + :-moz-ui-invalid { + box-shadow: none; + } + button { + appearance: button; + } + input:where([type="button"], [type="reset"], [type="submit"]) { + appearance: button; + } + ::-webkit-file-upload-button { + 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; + } +} +@layer utilities { + .pointer-events-auto { + pointer-events: auto; + } + .pointer-events-none { + pointer-events: none; + } + .collapse { + visibility: collapse; + } + .invisible { + visibility: hidden; + } + .visible { + visibility: visible; + } + .sr-only { + position: absolute; + overflow: hidden; + clip-path: inset(50%); + white-space: nowrap; + border-width: 0; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + } + .\!absolute { + position: absolute !important; + } + .absolute { + position: absolute; + } + .fixed { + position: fixed; + } + .relative { + position: relative; + } + .static { + position: static; + } + .sticky { + position: sticky; + } + .inset-0 { + inset: 0; + } + .inset-4 { + inset: calc(var(--spacing) * 4); + } + .inset-8 { + inset: calc(var(--spacing) * 8); + } + .inset-\[8\%\] { + inset: 8%; + } + .inset-\[15\%\] { + inset: 15%; + } + .inset-x-0 { + left: 0; + right: 0; + } + .inset-x-3 { + inset-inline: calc(var(--spacing) * 3); + } + .inset-x-4 { + inset-inline: calc(var(--spacing) * 4); + } + .inset-y-0 { + top: 0; + bottom: 0; + } + .-top-1\.5 { + top: calc(var(--spacing) * -1.5); + } + .-top-2 { + top: calc(var(--spacing) * -2); + } + .-top-2\.5 { + top: calc(var(--spacing) * -2.5); + } + .-top-\[1px\], + .-top-px { + top: -1px; + } + .top-0 { + top: 0; + } + .top-1 { + top: var(--spacing); + } + .top-1\.5 { + top: calc(var(--spacing) * 1.5); + } + .top-1\/2 { + top: 50%; + } + .top-2 { + top: calc(var(--spacing) * 2); + } + .top-3 { + top: calc(var(--spacing) * 3); + } + .top-4 { + top: calc(var(--spacing) * 4); + } + .top-16 { + top: calc(var(--spacing) * 16); + } + .top-\[55\%\] { + top: 55%; + } + .top-full { + top: 100%; + } + .-right-1 { + right: calc(var(--spacing) * -1); + } + .-right-2 { + right: calc(var(--spacing) * -2); + } + .right-0 { + right: 0; + } + .right-1 { + right: var(--spacing); + } + .right-1\.5 { + right: calc(var(--spacing) * 1.5); + } + .right-2 { + right: calc(var(--spacing) * 2); + } + .right-3 { + right: calc(var(--spacing) * 3); + } + .right-4 { + right: calc(var(--spacing) * 4); + } + .right-6 { + right: calc(var(--spacing) * 6); + } + .-bottom-1 { + bottom: calc(var(--spacing) * -1); + } + .-bottom-\[1px\] { + bottom: -1px; + } + .bottom-0 { + bottom: 0; + } + .bottom-1 { + bottom: var(--spacing); + } + .bottom-2 { + bottom: calc(var(--spacing) * 2); + } + .bottom-3 { + bottom: calc(var(--spacing) * 3); + } + .bottom-4 { + bottom: calc(var(--spacing) * 4); + } + .bottom-6 { + bottom: calc(var(--spacing) * 6); + } + .bottom-16 { + bottom: calc(var(--spacing) * 16); + } + .bottom-20 { + bottom: calc(var(--spacing) * 20); + } + .bottom-full { + bottom: 100%; + } + .left-\(--active-tab-left\) { + left: var(--active-tab-left); + } + .left-0 { + left: 0; + } + .left-1 { + left: var(--spacing); + } + .left-1\.5 { + left: calc(var(--spacing) * 1.5); + } + .left-1\/2 { + left: 50%; + } + .left-2 { + left: calc(var(--spacing) * 2); + } + .left-2\.5 { + left: calc(var(--spacing) * 2.5); + } + .left-3 { + left: calc(var(--spacing) * 3); + } + .left-4 { + left: calc(var(--spacing) * 4); + } + .left-\[4px\] { + left: 4px; + } + .left-\[6px\] { + left: 6px; + } + .left-\[228px\] { + left: 228px; + } + .isolate { + isolation: isolate; + } + .z-0 { + z-index: 0; + } + .z-10 { + z-index: 10; + } + .z-20 { + z-index: 20; + } + .z-30 { + z-index: 30; + } + .z-40 { + z-index: 40; + } + .z-50 { + z-index: 50; + } + .z-\[30\] { + z-index: 30; + } + .z-\[35\] { + z-index: 35; + } + .z-\[37\] { + z-index: 37; + } + .z-\[38\] { + z-index: 38; + } + .z-\[45\] { + z-index: 45; + } + .z-\[51\] { + z-index: 51; + } + .z-\[60\] { + z-index: 60; + } + .z-\[65\] { + z-index: 65; + } + .z-\[70\] { + z-index: 70; + } + .z-\[100\] { + z-index: 100; + } + .z-\[101\] { + z-index: 101; + } + .z-\[102\] { + z-index: 102; + } + .z-\[103\] { + z-index: 103; + } + .z-\[1000\] { + z-index: 1000; + } + .z-\[9999\] { + z-index: 9999; + } + .order-6 { + order: 6; + } + .col-span-full { + grid-column: 1/-1; + } + .float-left { + float: left; + } + .\!container { + width: 100% !important; + } + @media (min-width: 37.5rem) { + .\!container { + max-width: 37.5rem !important; + } + } + @media (min-width: 40rem) { + .\!container { + max-width: 40rem !important; + } + } + @media (min-width: 48rem) { + .\!container { + max-width: 48rem !important; + } + } + @media (min-width: 52.5rem) { + .\!container { + max-width: 52.5rem !important; + } + } + @media (min-width: 64rem) { + .\!container { + max-width: 64rem !important; + } + } + @media (min-width: 75rem) { + .\!container { + max-width: 75rem !important; + } + } + @media (min-width: 80rem) { + .\!container { + max-width: 80rem !important; + } + } + @media (min-width: 96rem) { + .\!container { + max-width: 96rem !important; + } + } + @media (min-width: 100rem) { + .\!container { + max-width: 100rem !important; + } + } + .container { + width: 100%; + } + @media (min-width: 37.5rem) { + .container { + max-width: 37.5rem; + } + } + @media (min-width: 40rem) { + .container { + max-width: 40rem; + } + } + @media (min-width: 48rem) { + .container { + max-width: 48rem; + } + } + @media (min-width: 52.5rem) { + .container { + max-width: 52.5rem; + } + } + @media (min-width: 64rem) { + .container { + max-width: 64rem; + } + } + @media (min-width: 75rem) { + .container { + max-width: 75rem; + } + } + @media (min-width: 80rem) { + .container { + max-width: 80rem; + } + } + @media (min-width: 96rem) { + .container { + max-width: 96rem; + } + } + @media (min-width: 100rem) { + .container { + max-width: 100rem; + } + } + .m-0 { + margin: 0; + } + .m-4 { + margin: calc(var(--spacing) * 4); + } + .m-auto { + margin: auto; + } + .mx-0 { + margin-inline-start: 0; + margin-inline-end: 0; + } + .mx-0\.5 { + margin-inline: calc(var(--spacing) * 0.5); + } + .mx-1 { + margin-inline: var(--spacing); + } + .mx-2 { + margin-inline: calc(var(--spacing) * 2); + } + .mx-auto { + margin-inline-start: auto; + margin-inline-end: auto; + } + .-my-2 { + margin-block: calc(var(--spacing) * -2); + } + .my-0 { + margin-block-start: 0; + margin-block-end: 0; + } + .my-1 { + margin-block: var(--spacing); + } + .my-2 { + margin-block: calc(var(--spacing) * 2); + } + .my-3 { + margin-block: calc(var(--spacing) * 3); + } + .my-4 { + margin-block: calc(var(--spacing) * 4); + } + .my-8 { + margin-block: calc(var(--spacing) * 8); + } + .ms-0\.5 { + margin-inline-start: calc(var(--spacing) * 0.5); + } + .mt-0\.5 { + margin-top: calc(var(--spacing) * 0.5); + } + .mt-1 { + margin-top: var(--spacing); + } + .mt-1\.5 { + margin-top: calc(var(--spacing) * 1.5); + } + .mt-2 { + margin-top: calc(var(--spacing) * 2); + } + .mt-2\.5 { + margin-top: calc(var(--spacing) * 2.5); + } + .mt-3 { + margin-top: calc(var(--spacing) * 3); + } + .mt-4 { + margin-top: calc(var(--spacing) * 4); + } + .mt-6 { + margin-top: calc(var(--spacing) * 6); + } + .mt-auto { + margin-top: auto; + } + .mt-px { + margin-top: 1px; + } + .-mr-1 { + margin-right: calc(var(--spacing) * -1); + } + .mr-0\.5 { + margin-right: calc(var(--spacing) * 0.5); + } + .mr-1 { + margin-right: var(--spacing); + } + .mr-1\.5 { + margin-right: calc(var(--spacing) * 1.5); + } + .mr-2 { + margin-right: calc(var(--spacing) * 2); + } + .-mb-px { + margin-bottom: -1px; + } + .mb-0\.5 { + margin-bottom: calc(var(--spacing) * 0.5); + } + .mb-1 { + margin-bottom: var(--spacing); + } + .mb-1\.5 { + margin-bottom: calc(var(--spacing) * 1.5); + } + .mb-2 { + margin-bottom: calc(var(--spacing) * 2); + } + .mb-3 { + margin-bottom: calc(var(--spacing) * 3); + } + .mb-4 { + margin-bottom: calc(var(--spacing) * 4); + } + .mb-5 { + margin-bottom: calc(var(--spacing) * 5); + } + .mb-6 { + margin-bottom: calc(var(--spacing) * 6); + } + .mb-8 { + margin-bottom: calc(var(--spacing) * 8); + } + .-ml-1 { + margin-left: calc(var(--spacing) * -1); + } + .ml-0\.5 { + margin-left: calc(var(--spacing) * 0.5); + } + .ml-1 { + margin-left: var(--spacing); + } + .ml-1\.5 { + margin-left: calc(var(--spacing) * 1.5); + } + .ml-2 { + margin-left: calc(var(--spacing) * 2); + } + .ml-3 { + margin-left: calc(var(--spacing) * 3); + } + .ml-6 { + margin-left: calc(var(--spacing) * 6); + } + .ml-auto { + margin-left: auto; + } + .line-clamp-2 { + overflow: hidden; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + } + .block { + display: block; + } + .contents { + display: contents; + } + .flex { + display: flex; + } + .grid { + display: grid; + } + .hidden { + display: none; + } + .inline { + display: inline; + } + .inline-block { + display: inline-block; + } + .inline-flex { + display: inline-flex; + } + .list-item { + display: list-item; + } + .table { + display: table; + } + .table-cell { + display: table-cell; + } + .table-row { + display: table-row; + } + .aspect-square { + aspect-ratio: 1; + } + .size-0 { + width: 0; + height: 0; + } + .size-1\.5 { + width: calc(var(--spacing) * 1.5); + height: calc(var(--spacing) * 1.5); + } + .size-2 { + width: calc(var(--spacing) * 2); + height: calc(var(--spacing) * 2); + } + .size-2\.5 { + width: calc(var(--spacing) * 2.5); + height: calc(var(--spacing) * 2.5); + } + .size-3 { + width: calc(var(--spacing) * 3); + height: calc(var(--spacing) * 3); + } + .size-3\.5 { + width: calc(var(--spacing) * 3.5); + height: calc(var(--spacing) * 3.5); + } + .size-4 { + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4); + } + .size-5 { + width: calc(var(--spacing) * 5); + height: calc(var(--spacing) * 5); + } + .size-6 { + width: calc(var(--spacing) * 6); + height: calc(var(--spacing) * 6); + } + .size-7 { + width: calc(var(--spacing) * 7); + height: calc(var(--spacing) * 7); + } + .size-8 { + width: calc(var(--spacing) * 8); + height: calc(var(--spacing) * 8); + } + .size-9 { + width: calc(var(--spacing) * 9); + height: calc(var(--spacing) * 9); + } + .size-10 { + width: calc(var(--spacing) * 10); + height: calc(var(--spacing) * 10); + } + .size-11 { + width: calc(var(--spacing) * 11); + height: calc(var(--spacing) * 11); + } + .size-12 { + width: calc(var(--spacing) * 12); + height: calc(var(--spacing) * 12); + } + .size-16 { + width: calc(var(--spacing) * 16); + height: calc(var(--spacing) * 16); + } + .size-20 { + width: calc(var(--spacing) * 20); + height: calc(var(--spacing) * 20); + } + .size-24 { + width: calc(var(--spacing) * 24); + height: calc(var(--spacing) * 24); + } + .size-32 { + width: calc(var(--spacing) * 32); + height: calc(var(--spacing) * 32); + } + .size-\[18px\] { + width: 18px; + height: 18px; + } + .size-full { + width: 100%; + height: 100%; + } + .\!h-4\/5 { + height: 80% !important; + } + .\!h-\[76\%\] { + height: 76% !important; + } + .\!h-\[84\%\] { + height: 84% !important; + } + .\!h-full { + height: 100% !important; + } + .h-0\.5 { + height: calc(var(--spacing) * 0.5); + } + .h-1 { + height: var(--spacing); + } + .h-1\.5 { + height: calc(var(--spacing) * 1.5); + } + .h-2 { + height: calc(var(--spacing) * 2); + } + .h-3 { + height: calc(var(--spacing) * 3); + } + .h-4 { + height: calc(var(--spacing) * 4); + } + .h-4\.5 { + height: calc(var(--spacing) * 4.5); + } + .h-5 { + height: calc(var(--spacing) * 5); + } + .h-6 { + height: calc(var(--spacing) * 6); + } + .h-7 { + height: calc(var(--spacing) * 7); + } + .h-8 { + height: calc(var(--spacing) * 8); + } + .h-9 { + height: calc(var(--spacing) * 9); + } + .h-10 { + height: calc(var(--spacing) * 10); + } + .h-11 { + height: calc(var(--spacing) * 11); + } + .h-12 { + height: calc(var(--spacing) * 12); + } + .h-14 { + height: calc(var(--spacing) * 14); + } + .h-16 { + height: calc(var(--spacing) * 16); + } + .h-20 { + height: calc(var(--spacing) * 20); + } + .h-24 { + height: calc(var(--spacing) * 24); + } + .h-32 { + height: calc(var(--spacing) * 32); + } + .h-48 { + height: calc(var(--spacing) * 48); + } + .h-64 { + height: calc(var(--spacing) * 64); + } + .h-96 { + height: calc(var(--spacing) * 96); + } + .h-\[2px\] { + height: 2px; + } + .h-\[3px\] { + height: 3px; + } + .h-\[18px\] { + height: 18px; + } + .h-\[52px\] { + height: 52px; + } + .h-\[80vh\] { + height: 80vh; + } + .h-\[84svh\] { + height: 84svh; + } + .h-\[85vh\] { + height: 85vh; + } + .h-\[var\(--accordion-panel-height\)\] { + height: var(--accordion-panel-height); + } + .h-auto { + height: auto; + } + .h-fit { + height: -moz-fit-content; + height: fit-content; + } + .h-full { + height: 100%; + } + .h-px { + height: 1px; + } + .h-screen { + height: 100vh; + } + .max-h-\(--available-height\) { + max-height: var(--available-height); + } + .max-h-20 { + max-height: calc(var(--spacing) * 20); + } + .max-h-40 { + max-height: calc(var(--spacing) * 40); + } + .max-h-48 { + max-height: calc(var(--spacing) * 48); + } + .max-h-56 { + max-height: calc(var(--spacing) * 56); + } + .max-h-64 { + max-height: calc(var(--spacing) * 64); + } + .max-h-72 { + max-height: calc(var(--spacing) * 72); + } + .max-h-80 { + max-height: calc(var(--spacing) * 80); + } + .max-h-96 { + max-height: calc(var(--spacing) * 96); + } + .max-h-\[38\%\] { + max-height: 38%; + } + .max-h-\[80vh\] { + max-height: 80vh; + } + .max-h-\[200px\] { + max-height: 200px; + } + .max-h-\[280px\] { + max-height: 280px; + } + .max-h-\[320px\] { + max-height: 320px; + } + .max-h-\[400px\] { + max-height: 400px; + } + .max-h-\[420px\] { + max-height: 420px; + } + .max-h-\[460px\] { + max-height: 460px; + } + .max-h-\[480px\] { + max-height: 480px; + } + .max-h-\[520px\] { + max-height: 520px; + } + .max-h-\[calc\(100vh-6rem\)\] { + max-height: calc(100vh - 6rem); + } + .max-h-full { + max-height: 100%; + } + .max-h-screen { + max-height: 100vh; + } + .min-h-0 { + min-height: 0; + } + .min-h-6 { + min-height: calc(var(--spacing) * 6); + } + .min-h-8 { + min-height: calc(var(--spacing) * 8); + } + .min-h-9 { + min-height: calc(var(--spacing) * 9); + } + .min-h-10 { + min-height: calc(var(--spacing) * 10); + } + .min-h-12 { + min-height: calc(var(--spacing) * 12); + } + .min-h-14 { + min-height: calc(var(--spacing) * 14); + } + .min-h-28 { + min-height: calc(var(--spacing) * 28); + } + .min-h-32 { + min-height: calc(var(--spacing) * 32); + } + .min-h-40 { + min-height: calc(var(--spacing) * 40); + } + .min-h-\[20px\] { + min-height: 20px; + } + .min-h-\[32px\] { + min-height: 32px; + } + .min-h-\[36px\] { + min-height: 36px; + } + .min-h-\[44px\] { + min-height: 44px; + } + .min-h-\[48px\] { + min-height: 48px; + } + .min-h-\[52\%\] { + min-height: 52%; + } + .min-h-\[88px\] { + min-height: 88px; + } + .min-h-\[120px\] { + min-height: 120px; + } + .min-h-\[200px\] { + min-height: 200px; + } + .min-h-\[400px\] { + min-height: 400px; + } + .min-h-\[460px\] { + min-height: 460px; + } + .min-h-\[500px\] { + min-height: 500px; + } + .min-h-\[600px\] { + min-height: 600px; + } + .min-h-full { + min-height: 100%; + } + .min-h-screen { + min-height: 100vh; + } + .\!w-4\/5 { + width: 80% !important; + } + .\!w-\[76\%\] { + width: 76% !important; + } + .\!w-\[84\%\] { + width: 84% !important; + } + .w-\(--active-tab-width\) { + width: var(--active-tab-width); + } + .w-0 { + width: 0; + } + .w-1 { + width: var(--spacing); + } + .w-1\.5 { + width: calc(var(--spacing) * 1.5); + } + .w-1\/3 { + width: 33.3333%; + } + .w-2 { + width: calc(var(--spacing) * 2); + } + .w-2\/5 { + width: 40%; + } + .w-3 { + width: calc(var(--spacing) * 3); + } + .w-4 { + width: calc(var(--spacing) * 4); + } + .w-5 { + width: calc(var(--spacing) * 5); + } + .w-6 { + width: calc(var(--spacing) * 6); + } + .w-7 { + width: calc(var(--spacing) * 7); + } + .w-8 { + width: calc(var(--spacing) * 8); + } + .w-10 { + width: calc(var(--spacing) * 10); + } + .w-12 { + width: calc(var(--spacing) * 12); + } + .w-16 { + width: calc(var(--spacing) * 16); + } + .w-20 { + width: calc(var(--spacing) * 20); + } + .w-24 { + width: calc(var(--spacing) * 24); + } + .w-32 { + width: calc(var(--spacing) * 32); + } + .w-40 { + width: calc(var(--spacing) * 40); + } + .w-48 { + width: calc(var(--spacing) * 48); + } + .w-60 { + width: calc(var(--spacing) * 60); + } + .w-64 { + width: calc(var(--spacing) * 64); + } + .w-72 { + width: calc(var(--spacing) * 72); + } + .w-80 { + width: calc(var(--spacing) * 80); + } + .w-96 { + width: calc(var(--spacing) * 96); + } + .w-\[5\%\] { + width: 5%; + } + .w-\[10\%\] { + width: 10%; + } + .w-\[19rem\] { + width: 19rem; + } + .w-\[20\%\] { + width: 20%; + } + .w-\[22\.5rem\] { + width: 22.5rem; + } + .w-\[22rem\] { + width: 22rem; + } + .w-\[45\%\] { + width: 45%; + } + .w-\[52px\] { + width: 52px; + } + .w-\[80vw\] { + width: 80vw; + } + .w-\[94\%\] { + width: 94%; + } + .w-\[180px\] { + width: 180px; + } + .w-\[200px\] { + width: 200px; + } + .w-\[210px\] { + width: 210px; + } + .w-\[220px\] { + width: 220px; + } + .w-\[240px\] { + width: 240px; + } + .w-\[280px\] { + width: 280px; + } + .w-\[360px\] { + width: 360px; + } + .w-\[380px\] { + width: 380px; + } + .w-\[520px\] { + width: 520px; + } + .w-\[calc\(100\%-48px\)\] { + width: calc(100% - 48px); + } + .w-\[min\(560px\,calc\(100vw-48px\)\)\] { + width: min(560px, 100vw - 48px); + } + .w-auto { + width: auto; + } + .w-full { + width: 100%; + } + .w-px { + width: 1px; + } + .w-screen { + width: 100vw; + } + .\!max-w-\[400px\] { + max-width: 400px !important; + } + .\!max-w-\[480px\] { + max-width: 480px !important; + } + .max-w-2xl { + max-width: var(--container-2xl); + } + .max-w-3xl { + max-width: var(--container-3xl); + } + .max-w-4xl { + max-width: var(--container-4xl); + } + .max-w-5xl { + max-width: var(--container-5xl); + } + .max-w-6xl { + max-width: var(--container-6xl); + } + .max-w-36 { + max-width: calc(var(--spacing) * 36); + } + .max-w-60 { + max-width: calc(var(--spacing) * 60); + } + .max-w-\[32ch\] { + max-width: 32ch; + } + .max-w-\[40ch\] { + max-width: 40ch; + } + .max-w-\[75\%\] { + max-width: 75%; + } + .max-w-\[80\%\] { + max-width: 80%; + } + .max-w-\[80px\] { + max-width: 80px; + } + .max-w-\[85\%\] { + max-width: 85%; + } + .max-w-\[120px\] { + max-width: 120px; + } + .max-w-\[200px\] { + max-width: 200px; + } + .max-w-\[280px\] { + max-width: 280px; + } + .max-w-\[300px\] { + max-width: 300px; + } + .max-w-\[360px\] { + max-width: 360px; + } + .max-w-\[560px\] { + max-width: 560px; + } + .max-w-\[1800px\] { + max-width: 1800px; + } + .max-w-\[calc\(100vw-3rem\)\] { + max-width: calc(100vw - 3rem); + } + .max-w-full { + max-width: 100%; + } + .max-w-lg { + max-width: var(--container-lg); + } + .max-w-md { + max-width: var(--container-md); + } + .max-w-none { + max-width: none; + } + .max-w-prose { + max-width: 65ch; + } + .max-w-screen { + max-width: 100vw; + } + .max-w-sm { + max-width: var(--container-sm); + } + .max-w-xl { + max-width: var(--container-xl); + } + .max-w-xs { + max-width: var(--container-xs); + } + .\!min-w-\[400px\] { + min-width: 400px !important; + } + .\!min-w-\[480px\] { + min-width: 480px !important; + } + .min-w-\(--anchor-width\) { + min-width: var(--anchor-width); + } + .min-w-0 { + min-width: 0; + } + .min-w-4 { + min-width: calc(var(--spacing) * 4); + } + .min-w-4\.5 { + min-width: calc(var(--spacing) * 4.5); + } + .min-w-5 { + min-width: calc(var(--spacing) * 5); + } + .min-w-8 { + min-width: calc(var(--spacing) * 8); + } + .min-w-10 { + min-width: calc(var(--spacing) * 10); + } + .min-w-12 { + min-width: calc(var(--spacing) * 12); + } + .min-w-48 { + min-width: calc(var(--spacing) * 48); + } + .min-w-\[8rem\] { + min-width: 8rem; + } + .min-w-\[12px\] { + min-width: 12px; + } + .min-w-\[16px\] { + min-width: 16px; + } + .min-w-\[18px\] { + min-width: 18px; + } + .min-w-\[36px\] { + min-width: 36px; + } + .min-w-\[50px\] { + min-width: 50px; + } + .min-w-\[60px\] { + min-width: 60px; + } + .min-w-\[112px\] { + min-width: 112px; + } + .min-w-\[180px\] { + min-width: 180px; + } + .min-w-\[200px\] { + min-width: 200px; + } + .min-w-\[210px\] { + min-width: 210px; + } + .min-w-\[240px\] { + min-width: 240px; + } + .min-w-\[280px\] { + min-width: 280px; + } + .min-w-max { + min-width: max-content; + } + .flex-1 { + flex: 1; + } + .flex-\[1\.6\] { + flex: 1.6; + } + .flex-shrink-0 { + flex-shrink: 0; + } + .shrink { + flex-shrink: 1; + } + .shrink-0 { + flex-shrink: 0; + } + .flex-grow, + .grow { + flex-grow: 1; + } + .grow-0 { + flex-grow: 0; + } + .border-collapse { + border-collapse: collapse; + } + .origin-\(--transform-origin\) { + transform-origin: var(--transform-origin); + } + .origin-top-left { + transform-origin: 0 0; + } + .-translate-x-1\/2 { + --tw-translate-x: calc(calc(1/2 * 100%) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .-translate-y-1\/2 { + --tw-translate-y: calc(calc(1/2 * 100%) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .scale-105 { + --tw-scale-x: 105%; + --tw-scale-y: 105%; + --tw-scale-z: 105%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .scale-110 { + --tw-scale-x: 110%; + --tw-scale-y: 110%; + --tw-scale-z: 110%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .rotate-90 { + rotate: 90deg; + } + .rotate-180 { + rotate: 180deg; + } + .rotate-\[-5deg\] { + rotate: -5deg; + } + .rotate-\[7deg\] { + rotate: 7deg; + } + .transform { + transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) + var(--tw-skew-x,) var(--tw-skew-y,); + } + .animate-pulse { + animation: var(--animate-pulse); + } + .animate-spin { + animation: var(--animate-spin); + } + .cursor-col-resize { + cursor: col-resize; + } + .cursor-default { + cursor: default; + } + .cursor-grab { + cursor: grab; + } + .cursor-move { + cursor: move; + } + .cursor-not-allowed { + cursor: not-allowed; + } + .cursor-pointer { + cursor: pointer; + } + .cursor-text { + cursor: text; + } + .cursor-zoom-in { + cursor: zoom-in; + } + .touch-none { + touch-action: none; + } + .resize { + resize: both; + } + .resize-none { + resize: none; + } + .snap-y { + scroll-snap-type: y var(--tw-scroll-snap-strictness); + } + .snap-proximity { + --tw-scroll-snap-strictness: proximity; + } + .snap-start { + scroll-snap-align: start; + } + .snap-always { + scroll-snap-stop: always; + } + .scrollbar-thin { + scrollbar-width: thin; + } + .list-decimal { + list-style-type: decimal; + } + .list-disc { + list-style-type: disc; + } + .list-none { + list-style-type: none; + } + .appearance-none { + appearance: none; + } + .columns-2 { + columns: 2; + } + .grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + .grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .grid-cols-\[repeat\(auto-fill\,minmax\(148px\,1fr\)\)\] { + grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); + } + .flex-col { + flex-direction: column; + } + .flex-row { + flex-direction: row; + } + .flex-row-reverse { + flex-direction: row-reverse; + } + .flex-nowrap { + flex-wrap: nowrap; + } + .flex-wrap { + flex-wrap: wrap; + } + .place-items-center { + place-items: center; + } + .items-baseline { + align-items: baseline; + } + .items-center { + align-items: center; + } + .items-end { + align-items: flex-end; + } + .items-start { + align-items: flex-start; + } + .items-stretch { + align-items: stretch; + } + .justify-between { + justify-content: space-between; + } + .justify-center { + justify-content: center; + } + .justify-end { + justify-content: flex-end; + } + .justify-start { + justify-content: flex-start; + } + .gap-0\.5 { + gap: calc(var(--spacing) * 0.5); + } + .gap-1 { + gap: var(--spacing); + } + .gap-1\.5 { + gap: calc(var(--spacing) * 1.5); + } + .gap-2 { + gap: calc(var(--spacing) * 2); + } + .gap-2\.5 { + gap: calc(var(--spacing) * 2.5); + } + .gap-3 { + gap: calc(var(--spacing) * 3); + } + .gap-3\.5 { + gap: calc(var(--spacing) * 3.5); + } + .gap-4 { + gap: calc(var(--spacing) * 4); + } + .gap-5 { + gap: calc(var(--spacing) * 5); + } + .gap-6 { + gap: calc(var(--spacing) * 6); + } + .gap-8 { + gap: calc(var(--spacing) * 8); + } + :where(.space-y-0 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: 0; + margin-block-end: 0; + } + :where(.space-y-0\.5 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc( + calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse) + ); + margin-block-end: calc( + calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)) + ); + } + :where(.space-y-1 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse)); + margin-block-end: calc( + var(--spacing) * calc(1 - var(--tw-space-y-reverse)) + ); + } + :where(.space-y-1\.5 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc( + calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse) + ); + margin-block-end: calc( + calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)) + ); + } + :where(.space-y-2 > :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(.space-y-2\.5 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc( + calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse) + ); + margin-block-end: calc( + calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)) + ); + } + :where(.space-y-3 > :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)) + ); + } + :where(.space-y-4 > :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)) + ); + } + :where(.space-y-5 > :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)) + ); + } + :where(.space-y-6 > :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)) + ); + } + :where(.space-y-8 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc( + calc(var(--spacing) * 8) * var(--tw-space-y-reverse) + ); + margin-block-end: calc( + calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)) + ); + } + .gap-x-2 { + column-gap: calc(var(--spacing) * 2); + } + :where(.divide-x > :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))); + } + :where(.divide-y > :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))); + } + :where(.divide-outline > :not(:last-child)) { + border-color: var(--md-sys-color-outline); + } + :where(.divide-outline-variant > :not(:last-child)) { + border-color: var(--md-sys-color-outline-variant); + } + :where(.divide-outline-variant\/30 > :not(:last-child)) { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + :where(.divide-outline-variant\/30 > :not(:last-child)) { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 30%, + transparent + ); + } + } + .self-start { + align-self: flex-start; + } + .self-stretch { + align-self: stretch; + } + .truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .overflow-auto { + overflow: auto; + } + .overflow-hidden { + overflow: hidden; + } + .overflow-visible { + overflow: visible; + } + .overflow-x-auto { + overflow-x: auto; + } + .overflow-x-hidden { + overflow-x: hidden; + } + .overflow-y-auto { + overflow-y: auto; + } + .overflow-y-scroll { + overflow-y: scroll; + } + .overscroll-contain { + overscroll-behavior: contain; + } + .overscroll-y-auto { + overscroll-behavior-y: auto; + } + .scroll-smooth { + scroll-behavior: smooth; + } + .\!rounded-extra-small { + border-radius: var(--md-sys-shape-corner-extra-small) !important; + } + .\!rounded-medium { + border-radius: var(--md-sys-shape-corner-medium) !important; + } + .\!rounded-none { + border-radius: var(--md-sys-shape-corner-none) !important; + } + .rounded { + border-radius: 0.25rem; + } + .rounded-2xl { + border-radius: var(--radius-2xl); + } + .rounded-3xl { + border-radius: var(--radius-3xl); + } + .rounded-\[2px\] { + border-radius: 2px; + } + .rounded-\[24px\] { + border-radius: 24px; + } + .rounded-\[28px\] { + border-radius: 28px; + } + .rounded-\[inherit\] { + border-radius: inherit; + } + .rounded-extra-large { + border-radius: var(--md-sys-shape-corner-extra-large); + } + .rounded-extra-small { + border-radius: var(--md-sys-shape-corner-extra-small); + } + .rounded-extra-small\! { + border-radius: var(--md-sys-shape-corner-extra-small) !important; + } + .rounded-full { + border-radius: var(--md-sys-shape-corner-full); + } + .rounded-large { + border-radius: var(--md-sys-shape-corner-large); + } + .rounded-lg, + .rounded-md { + border-radius: var(--md-sys-shape-corner-small); + } + .rounded-medium { + border-radius: var(--md-sys-shape-corner-medium); + } + .rounded-none { + border-radius: var(--md-sys-shape-corner-none); + } + .rounded-sm { + border-radius: var(--md-sys-shape-corner-extra-small); + } + .rounded-small { + border-radius: var(--md-sys-shape-corner-small); + } + .rounded-xl { + border-radius: var(--radius-xl); + } + .rounded-t-\[3px\] { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + .rounded-t-extra-large { + border-top-left-radius: var(--md-sys-shape-corner-extra-large); + border-top-right-radius: var(--md-sys-shape-corner-extra-large); + } + .rounded-t-extra-small { + border-top-left-radius: var(--md-sys-shape-corner-extra-small); + border-top-right-radius: var(--md-sys-shape-corner-extra-small); + } + .rounded-t-full { + border-top-left-radius: var(--md-sys-shape-corner-full); + border-top-right-radius: var(--md-sys-shape-corner-full); + } + .rounded-t-medium { + border-top-left-radius: var(--md-sys-shape-corner-medium); + border-top-right-radius: var(--md-sys-shape-corner-medium); + } + .rounded-t-none { + border-top-left-radius: var(--md-sys-shape-corner-none); + border-top-right-radius: var(--md-sys-shape-corner-none); + } + .rounded-t-small { + border-top-left-radius: var(--md-sys-shape-corner-small); + border-top-right-radius: var(--md-sys-shape-corner-small); + } + .rounded-l-full { + border-top-left-radius: var(--md-sys-shape-corner-full); + border-bottom-left-radius: var(--md-sys-shape-corner-full); + } + .rounded-l-small { + border-top-left-radius: var(--md-sys-shape-corner-small); + border-bottom-left-radius: var(--md-sys-shape-corner-small); + } + .rounded-tl-extra-large { + border-top-left-radius: var(--md-sys-shape-corner-extra-large); + } + .rounded-r-full { + border-top-right-radius: var(--md-sys-shape-corner-full); + border-bottom-right-radius: var(--md-sys-shape-corner-full); + } + .rounded-r-small { + border-top-right-radius: var(--md-sys-shape-corner-small); + border-bottom-right-radius: var(--md-sys-shape-corner-small); + } + .rounded-b-extra-small { + border-bottom-right-radius: var(--md-sys-shape-corner-extra-small); + border-bottom-left-radius: var(--md-sys-shape-corner-extra-small); + } + .rounded-b-medium { + border-bottom-right-radius: var(--md-sys-shape-corner-medium); + border-bottom-left-radius: var(--md-sys-shape-corner-medium); + } + .rounded-b-none { + border-bottom-right-radius: var(--md-sys-shape-corner-none); + border-bottom-left-radius: var(--md-sys-shape-corner-none); + } + .rounded-br-extra-small { + border-bottom-right-radius: var(--md-sys-shape-corner-extra-small); + } + .\!border-0 { + border-style: var(--tw-border-style) !important; + border-width: 0 !important; + } + .border { + border-style: var(--tw-border-style); + border-width: 1px; + } + .border-0 { + border-style: var(--tw-border-style); + border-width: 0; + } + .border-2 { + border-style: var(--tw-border-style); + border-width: 2px; + } + .border-y { + border-block-style: var(--tw-border-style); + border-block-start-width: 1px; + border-block-end-width: 1px; + } + .border-t { + border-top-style: var(--tw-border-style); + border-top-width: 1px; + } + .border-t-0 { + border-top-style: var(--tw-border-style); + border-top-width: 0; + } + .border-t-2 { + border-top-style: var(--tw-border-style); + border-top-width: 2px; + } + .border-t-4 { + border-top-style: var(--tw-border-style); + border-top-width: 4px; + } + .border-r { + border-right-style: var(--tw-border-style); + border-right-width: 1px; + } + .border-r-4 { + border-right-style: var(--tw-border-style); + border-right-width: 4px; + } + .border-b { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 1px; + } + .border-b-0 { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 0; + } + .border-b-2 { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 2px; + } + .border-l { + border-left-style: var(--tw-border-style); + border-left-width: 1px; + } + .border-l-4 { + border-left-style: var(--tw-border-style); + border-left-width: 4px; + } + .border-dashed { + --tw-border-style: dashed; + border-style: dashed; + } + .border-none { + --tw-border-style: none; + border-style: none; + } + .border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\] { + border-color: var(--md-sys-color-outline-variant, #cac4d0); + } + .border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/30 { + border-color: var(--md-sys-color-outline-variant, #cac4d0); + } + @supports (color: color-mix(in lab, red, red)) { + .border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/30 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant, #cac4d0) 30%, + transparent + ); + } + } + .border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/40 { + border-color: var(--md-sys-color-outline-variant, #cac4d0); + } + @supports (color: color-mix(in lab, red, red)) { + .border-\[var\(--md-sys-color-outline-variant\,\#cac4d0\)\]\/40 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant, #cac4d0) 40%, + transparent + ); + } + } + .border-\[var\(--reader-accent\)\] { + border-color: var(--reader-accent); + } + .border-\[var\(--reader-outline\)\] { + border-color: var(--reader-outline); + } + .border-\[var\(--reader-outline\)\]\/40 { + border-color: var(--reader-outline); + } + @supports (color: color-mix(in lab, red, red)) { + .border-\[var\(--reader-outline\)\]\/40 { + border-color: color-mix(in oklab, var(--reader-outline) 40%, transparent); + } + } + .border-\[var\(--reader-outline\)\]\/60 { + border-color: var(--reader-outline); + } + @supports (color: color-mix(in lab, red, red)) { + .border-\[var\(--reader-outline\)\]\/60 { + border-color: color-mix(in oklab, var(--reader-outline) 60%, transparent); + } + } + .border-accent { + border-color: var(--md-sys-color-primary); + } + .border-amber-500\/40 { + border-color: #f99c0066; + } + @supports (color: color-mix(in lab, red, red)) { + .border-amber-500\/40 { + border-color: color-mix( + in oklab, + var(--color-amber-500) 40%, + transparent + ); + } + } + .border-app-line { + border-color: var(--md-sys-color-outline-variant); + } + .border-app-line\/50 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-app-line\/50 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 50%, + transparent + ); + } + } + .border-blue-500\/30 { + border-color: #2b7fff4d; + } + @supports (color: color-mix(in lab, red, red)) { + .border-blue-500\/30 { + border-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent); + } + } + .border-current { + border-color: currentColor; + } + .border-emerald-500\/30 { + border-color: #00bc7d4d; + } + @supports (color: color-mix(in lab, red, red)) { + .border-emerald-500\/30 { + border-color: color-mix( + in oklab, + var(--color-emerald-500) 30%, + transparent + ); + } + } + .border-error { + border-color: var(--md-sys-color-error); + } + .border-error\/20 { + border-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .border-error\/20 { + border-color: color-mix( + in oklab, + var(--md-sys-color-error) 20%, + transparent + ); + } + } + .border-error\/30 { + border-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .border-error\/30 { + border-color: color-mix( + in oklab, + var(--md-sys-color-error) 30%, + transparent + ); + } + } + .border-error\/40 { + border-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .border-error\/40 { + border-color: color-mix( + in oklab, + var(--md-sys-color-error) 40%, + transparent + ); + } + } + .border-error\/50 { + border-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .border-error\/50 { + border-color: color-mix( + in oklab, + var(--md-sys-color-error) 50%, + transparent + ); + } + } + .border-inverse-primary { + border-color: var(--md-sys-color-inverse-primary); + } + .border-on-surface-variant { + border-color: var(--md-sys-color-on-surface-variant); + } + .border-outline { + border-color: var(--md-sys-color-outline); + } + .border-outline-variant { + border-color: var(--md-sys-color-outline-variant); + } + .border-outline-variant\/15 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/15 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 15%, + transparent + ); + } + } + .border-outline-variant\/20 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/20 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 20%, + transparent + ); + } + } + .border-outline-variant\/25 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/25 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 25%, + transparent + ); + } + } + .border-outline-variant\/30 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/30 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 30%, + transparent + ); + } + } + .border-outline-variant\/40 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/40 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 40%, + transparent + ); + } + } + .border-outline-variant\/50 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/50 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 50%, + transparent + ); + } + } + .border-outline-variant\/60 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/60 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 60%, + transparent + ); + } + } + .border-outline-variant\/70 { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .border-outline-variant\/70 { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 70%, + transparent + ); + } + } + .border-primary { + border-color: var(--md-sys-color-primary); + } + .border-primary\/20 { + border-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .border-primary\/20 { + border-color: color-mix( + in oklab, + var(--md-sys-color-primary) 20%, + transparent + ); + } + } + .border-primary\/30 { + border-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .border-primary\/30 { + border-color: color-mix( + in oklab, + var(--md-sys-color-primary) 30%, + transparent + ); + } + } + .border-primary\/50 { + border-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .border-primary\/50 { + border-color: color-mix( + in oklab, + var(--md-sys-color-primary) 50%, + transparent + ); + } + } + .border-rose-500\/30 { + border-color: #ff20564d; + } + @supports (color: color-mix(in lab, red, red)) { + .border-rose-500\/30 { + border-color: color-mix(in oklab, var(--color-rose-500) 30%, transparent); + } + } + .border-secondary\/50 { + border-color: var(--md-sys-color-secondary); + } + @supports (color: color-mix(in lab, red, red)) { + .border-secondary\/50 { + border-color: color-mix( + in oklab, + var(--md-sys-color-secondary) 50%, + transparent + ); + } + } + .border-surface { + border-color: var(--md-sys-color-surface); + } + .border-surface-container { + border-color: var(--md-sys-color-surface-container); + } + .border-transparent { + border-color: #0000; + } + .border-warning\/20 { + border-color: var(--md-ext-color-warning); + } + @supports (color: color-mix(in lab, red, red)) { + .border-warning\/20 { + border-color: color-mix( + in oklab, + var(--md-ext-color-warning) 20%, + transparent + ); + } + } + .border-warning\/50 { + border-color: var(--md-ext-color-warning); + } + @supports (color: color-mix(in lab, red, red)) { + .border-warning\/50 { + border-color: color-mix( + in oklab, + var(--md-ext-color-warning) 50%, + transparent + ); + } + } + .border-white { + border-color: var(--color-white); + } + .border-white\/5 { + border-color: #ffffff0d; + } + @supports (color: color-mix(in lab, red, red)) { + .border-white\/5 { + border-color: color-mix(in oklab, var(--color-white) 5%, transparent); + } + } + .border-white\/10 { + border-color: #ffffff1a; + } + @supports (color: color-mix(in lab, red, red)) { + .border-white\/10 { + border-color: color-mix(in oklab, var(--color-white) 10%, transparent); + } + } + .border-white\/15 { + border-color: #ffffff26; + } + @supports (color: color-mix(in lab, red, red)) { + .border-white\/15 { + border-color: color-mix(in oklab, var(--color-white) 15%, transparent); + } + } + .border-t-transparent { + border-top-color: #0000; + } + .border-t-white\/20 { + border-top-color: #fff3; + } + @supports (color: color-mix(in lab, red, red)) { + .border-t-white\/20 { + border-top-color: color-mix( + in oklab, + var(--color-white) 20%, + transparent + ); + } + } + .border-r-transparent { + border-right-color: #0000; + } + .border-l-transparent { + border-left-color: #0000; + } + .\!bg-surface { + background-color: var(--md-sys-color-surface) !important; + } + .\!bg-surface-container { + background-color: var(--md-sys-color-surface-container) !important; + } + .\!bg-transparent { + background-color: #0000 !important; + } + .bg-\[var\(--md-sys-color-primary-container\,\#eaddff\)\] { + background-color: var(--md-sys-color-primary-container, #eaddff); + } + .bg-\[var\(--md-sys-color-surface-container\,\#f3edf7\)\]\/60 { + background-color: var(--md-sys-color-surface-container, #f3edf7); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--md-sys-color-surface-container\,\#f3edf7\)\]\/60 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container, #f3edf7) 60%, + transparent + ); + } + } + .bg-\[var\(--md-sys-color-surface-container-high\,\#ece6f0\)\] { + background-color: var(--md-sys-color-surface-container-high, #ece6f0); + } + .bg-\[var\(--md-sys-color-surface-container-low\,\#f7f2fa\)\] { + background-color: var(--md-sys-color-surface-container-low, #f7f2fa); + } + .bg-\[var\(--md-sys-color-surface-container-lowest\,\#ffffff\)\] { + background-color: var(--md-sys-color-surface-container-lowest, #fff); + } + .bg-\[var\(--reader-accent\)\] { + background-color: var(--reader-accent); + } + .bg-\[var\(--reader-surface\)\] { + background-color: var(--reader-surface); + } + .bg-\[var\(--reader-surface\)\]\/40 { + background-color: var(--reader-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--reader-surface\)\]\/40 { + background-color: color-mix( + in oklab, + var(--reader-surface) 40%, + transparent + ); + } + } + .bg-\[var\(--reader-surface\)\]\/50 { + background-color: var(--reader-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--reader-surface\)\]\/50 { + background-color: color-mix( + in oklab, + var(--reader-surface) 50%, + transparent + ); + } + } + .bg-\[var\(--reader-surface\)\]\/60 { + background-color: var(--reader-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--reader-surface\)\]\/60 { + background-color: color-mix( + in oklab, + var(--reader-surface) 60%, + transparent + ); + } + } + .bg-\[var\(--reader-surface\)\]\/70 { + background-color: var(--reader-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--reader-surface\)\]\/70 { + background-color: color-mix( + in oklab, + var(--reader-surface) 70%, + transparent + ); + } + } + .bg-\[var\(--reader-surface\)\]\/85 { + background-color: var(--reader-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--reader-surface\)\]\/85 { + background-color: color-mix( + in oklab, + var(--reader-surface) 85%, + transparent + ); + } + } + .bg-\[var\(--reader-surface\)\]\/90 { + background-color: var(--reader-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--reader-surface\)\]\/90 { + background-color: color-mix( + in oklab, + var(--reader-surface) 90%, + transparent + ); + } + } + .bg-\[var\(--reader-surface\)\]\/95 { + background-color: var(--reader-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[var\(--reader-surface\)\]\/95 { + background-color: color-mix( + in oklab, + var(--reader-surface) 95%, + transparent + ); + } + } + .bg-accent\/5 { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-accent\/5 { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 5%, + transparent + ); + } + } + .bg-amber-400 { + background-color: var(--color-amber-400); + } + .bg-amber-500\/20 { + background-color: #f99c0033; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-amber-500\/20 { + background-color: color-mix( + in oklab, + var(--color-amber-500) 20%, + transparent + ); + } + } + .bg-app { + background-color: var(--md-sys-color-surface); + } + .bg-app-box { + background-color: var(--md-sys-color-surface-container); + } + .bg-app-box\/30 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-app-box\/30 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 30%, + transparent + ); + } + } + .bg-app-box\/40 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-app-box\/40 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 40%, + transparent + ); + } + } + .bg-app-input { + background-color: var(--md-sys-color-surface-container-highest); + } + .bg-app-line { + background-color: var(--md-sys-color-outline-variant); + } + .bg-black { + background-color: var(--color-black); + } + .bg-black\/20 { + background-color: #0003; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/20 { + background-color: color-mix( + in oklab, + var(--color-black) 20%, + transparent + ); + } + } + .bg-black\/40 { + background-color: #0006; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/40 { + background-color: color-mix( + in oklab, + var(--color-black) 40%, + transparent + ); + } + } + .bg-black\/50 { + background-color: #00000080; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/50 { + background-color: color-mix( + in oklab, + var(--color-black) 50%, + transparent + ); + } + } + .bg-black\/60 { + background-color: #0009; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/60 { + background-color: color-mix( + in oklab, + var(--color-black) 60%, + transparent + ); + } + } + .bg-black\/80 { + background-color: #000c; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/80 { + background-color: color-mix( + in oklab, + var(--color-black) 80%, + transparent + ); + } + } + .bg-black\/90 { + background-color: #000000e6; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/90 { + background-color: color-mix( + in oklab, + var(--color-black) 90%, + transparent + ); + } + } + .bg-blue-500\/15 { + background-color: #2b7fff26; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-blue-500\/15 { + background-color: color-mix( + in oklab, + var(--color-blue-500) 15%, + transparent + ); + } + } + .bg-cyan-500\/10 { + background-color: #00b8db1a; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-cyan-500\/10 { + background-color: color-mix( + in oklab, + var(--color-cyan-500) 10%, + transparent + ); + } + } + .bg-emerald-500\/10 { + background-color: #00bc7d1a; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-emerald-500\/10 { + background-color: color-mix( + in oklab, + var(--color-emerald-500) 10%, + transparent + ); + } + } + .bg-emerald-500\/15 { + background-color: #00bc7d26; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-emerald-500\/15 { + background-color: color-mix( + in oklab, + var(--color-emerald-500) 15%, + transparent + ); + } + } + .bg-error { + background-color: var(--md-sys-color-error); + } + .bg-error-container { + background-color: var(--md-sys-color-error-container); + } + .bg-error\/10 { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-error\/10 { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 10%, + transparent + ); + } + } + .bg-error\/20 { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-error\/20 { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 20%, + transparent + ); + } + } + .bg-inverse-on-surface\/12 { + background-color: var(--md-sys-color-inverse-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-inverse-on-surface\/12 { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-on-surface) 12%, + transparent + ); + } + } + .bg-inverse-surface { + background-color: var(--md-sys-color-inverse-surface); + } + .bg-inverse-surface\/80 { + background-color: var(--md-sys-color-inverse-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-inverse-surface\/80 { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-surface) 80%, + transparent + ); + } + } + .bg-on-primary { + background-color: var(--md-sys-color-on-primary); + } + .bg-on-primary-fixed-variant { + background-color: var( + --md-sys-color-on-primary-fixed-variant, + var(--md-sys-color-on-primary-container) + ); + } + .bg-on-secondary-container\/12 { + background-color: var(--md-sys-color-on-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-on-secondary-container\/12 { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-secondary-container) 12%, + transparent + ); + } + } + .bg-on-surface { + background-color: var(--md-sys-color-on-surface); + } + .bg-on-surface-variant { + background-color: var(--md-sys-color-on-surface-variant); + } + .bg-on-surface-variant\/20 { + background-color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-on-surface-variant\/20 { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 20%, + transparent + ); + } + } + .bg-on-surface-variant\/40 { + background-color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-on-surface-variant\/40 { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 40%, + transparent + ); + } + } + .bg-on-surface\/8 { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-on-surface\/8 { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } + } + .bg-on-surface\/10 { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-on-surface\/10 { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .bg-on-surface\/12 { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-on-surface\/12 { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 12%, + transparent + ); + } + } + .bg-outline { + background-color: var(--md-sys-color-outline); + } + .bg-outline-variant { + background-color: var(--md-sys-color-outline-variant); + } + .bg-outline-variant\/50 { + background-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-outline-variant\/50 { + background-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 50%, + transparent + ); + } + } + .bg-outline-variant\/60 { + background-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-outline-variant\/60 { + background-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 60%, + transparent + ); + } + } + .bg-outline\/50 { + background-color: var(--md-sys-color-outline); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-outline\/50 { + background-color: color-mix( + in oklab, + var(--md-sys-color-outline) 50%, + transparent + ); + } + } + .bg-primary { + background-color: var(--md-sys-color-primary); + } + .bg-primary-container { + background-color: var(--md-sys-color-primary-container); + } + .bg-primary-fixed { + background-color: var( + --md-sys-color-primary-fixed, + var(--md-sys-color-primary-container) + ); + } + .bg-primary\/5 { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-primary\/5 { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 5%, + transparent + ); + } + } + .bg-primary\/8 { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-primary\/8 { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 8%, + transparent + ); + } + } + .bg-primary\/10 { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-primary\/10 { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .bg-primary\/20 { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-primary\/20 { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 20%, + transparent + ); + } + } + .bg-primary\/50 { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-primary\/50 { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 50%, + transparent + ); + } + } + .bg-rose-500\/10 { + background-color: #ff20561a; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-rose-500\/10 { + background-color: color-mix( + in oklab, + var(--color-rose-500) 10%, + transparent + ); + } + } + .bg-rose-500\/15 { + background-color: #ff205626; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-rose-500\/15 { + background-color: color-mix( + in oklab, + var(--color-rose-500) 15%, + transparent + ); + } + } + .bg-scrim { + background-color: var(--md-sys-color-scrim); + } + .bg-scrim\/32 { + background-color: var(--md-sys-color-scrim); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-scrim\/32 { + background-color: color-mix( + in oklab, + var(--md-sys-color-scrim) 32%, + transparent + ); + } + } + .bg-scrim\/38 { + background-color: var(--md-sys-color-scrim); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-scrim\/38 { + background-color: color-mix( + in oklab, + var(--md-sys-color-scrim) 38%, + transparent + ); + } + } + .bg-scrim\/90 { + background-color: var(--md-sys-color-scrim); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-scrim\/90 { + background-color: color-mix( + in oklab, + var(--md-sys-color-scrim) 90%, + transparent + ); + } + } + .bg-scrim\/95 { + background-color: var(--md-sys-color-scrim); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-scrim\/95 { + background-color: color-mix( + in oklab, + var(--md-sys-color-scrim) 95%, + transparent + ); + } + } + .bg-secondary-container { + background-color: var(--md-sys-color-secondary-container); + } + .bg-secondary-container\/30 { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-secondary-container\/30 { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 30%, + transparent + ); + } + } + .bg-secondary-container\/40 { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-secondary-container\/40 { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 40%, + transparent + ); + } + } + .bg-secondary-container\/50 { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-secondary-container\/50 { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 50%, + transparent + ); + } + } + .bg-secondary-container\/60 { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-secondary-container\/60 { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 60%, + transparent + ); + } + } + .bg-secondary-container\/70 { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-secondary-container\/70 { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 70%, + transparent + ); + } + } + .bg-success { + background-color: var(--md-ext-color-success); + } + .bg-success-container { + background-color: var(--md-ext-color-success-container); + } + .bg-surface { + background-color: var(--md-sys-color-surface); + } + .bg-surface-container { + background-color: var(--md-sys-color-surface-container); + } + .bg-surface-container-high { + background-color: var(--md-sys-color-surface-container-high); + } + .bg-surface-container-high\/60 { + background-color: var(--md-sys-color-surface-container-high); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-high\/60 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-high) 60%, + transparent + ); + } + } + .bg-surface-container-high\/80 { + background-color: var(--md-sys-color-surface-container-high); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-high\/80 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-high) 80%, + transparent + ); + } + } + .bg-surface-container-high\/95 { + background-color: var(--md-sys-color-surface-container-high); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-high\/95 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-high) 95%, + transparent + ); + } + } + .bg-surface-container-highest { + background-color: var(--md-sys-color-surface-container-highest); + } + .bg-surface-container-low { + background-color: var(--md-sys-color-surface-container-low); + } + .bg-surface-container-low\/40 { + background-color: var(--md-sys-color-surface-container-low); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-low\/40 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-low) 40%, + transparent + ); + } + } + .bg-surface-container-low\/50 { + background-color: var(--md-sys-color-surface-container-low); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-low\/50 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-low) 50%, + transparent + ); + } + } + .bg-surface-container-low\/65 { + background-color: var(--md-sys-color-surface-container-low); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-low\/65 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-low) 65%, + transparent + ); + } + } + .bg-surface-container-low\/80 { + background-color: var(--md-sys-color-surface-container-low); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-low\/80 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-low) 80%, + transparent + ); + } + } + .bg-surface-container-low\/95 { + background-color: var(--md-sys-color-surface-container-low); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-low\/95 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-low) 95%, + transparent + ); + } + } + .bg-surface-container-lowest { + background-color: var(--md-sys-color-surface-container-lowest); + } + .bg-surface-container-lowest\/60 { + background-color: var(--md-sys-color-surface-container-lowest); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-lowest\/60 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-lowest) 60%, + transparent + ); + } + } + .bg-surface-container-lowest\/80 { + background-color: var(--md-sys-color-surface-container-lowest); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container-lowest\/80 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container-lowest) 80%, + transparent + ); + } + } + .bg-surface-container\/20 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container\/20 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 20%, + transparent + ); + } + } + .bg-surface-container\/30 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container\/30 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 30%, + transparent + ); + } + } + .bg-surface-container\/40 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container\/40 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 40%, + transparent + ); + } + } + .bg-surface-container\/50 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container\/50 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 50%, + transparent + ); + } + } + .bg-surface-container\/60 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container\/60 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 60%, + transparent + ); + } + } + .bg-surface-container\/90 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container\/90 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 90%, + transparent + ); + } + } + .bg-surface-container\/95 { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface-container\/95 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 95%, + transparent + ); + } + } + .bg-surface\/20 { + background-color: var(--md-sys-color-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface\/20 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface) 20%, + transparent + ); + } + } + .bg-surface\/80 { + background-color: var(--md-sys-color-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface\/80 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface) 80%, + transparent + ); + } + } + .bg-surface\/90 { + background-color: var(--md-sys-color-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface\/90 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface) 90%, + transparent + ); + } + } + .bg-surface\/95 { + background-color: var(--md-sys-color-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-surface\/95 { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface) 95%, + transparent + ); + } + } + .bg-tertiary { + background-color: var(--md-sys-color-tertiary); + } + .bg-tertiary-container { + background-color: var(--md-sys-color-tertiary-container); + } + .bg-transparent { + background-color: #0000; + } + .bg-warning { + background-color: var(--md-ext-color-warning); + } + .bg-warning-container { + background-color: var(--md-ext-color-warning-container); + } + .bg-warning\/10 { + background-color: var(--md-ext-color-warning); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-warning\/10 { + background-color: color-mix( + in oklab, + var(--md-ext-color-warning) 10%, + transparent + ); + } + } + .bg-white { + background-color: var(--color-white); + } + .bg-white\/20 { + background-color: #fff3; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-white\/20 { + background-color: color-mix( + in oklab, + var(--color-white) 20%, + transparent + ); + } + } + .bg-zinc-900 { + background-color: var(--color-zinc-900); + } + .bg-gradient-to-b { + --tw-gradient-position: to bottom in oklab; + background-image: linear-gradient(var(--tw-gradient-stops)); + } + .bg-gradient-to-t { + --tw-gradient-position: to top in oklab; + background-image: linear-gradient(var(--tw-gradient-stops)); + } + .from-black\/80 { + --tw-gradient-from: #000c; + --tw-gradient-stops: var( + --tw-gradient-via-stops, + var(--tw-gradient-position), + var(--tw-gradient-from) var(--tw-gradient-from-position), + var(--tw-gradient-to) var(--tw-gradient-to-position) + ); + } + @supports (color: color-mix(in lab, red, red)) { + .from-black\/80 { + --tw-gradient-from: color-mix( + in oklab, + var(--color-black) 80%, + transparent + ); + } + } + .from-surface { + --tw-gradient-from: var(--md-sys-color-surface); + --tw-gradient-stops: var( + --tw-gradient-via-stops, + var(--tw-gradient-position), + var(--tw-gradient-from) var(--tw-gradient-from-position), + var(--tw-gradient-to) var(--tw-gradient-to-position) + ); + } + .from-surface\/85 { + --tw-gradient-from: var(--md-sys-color-surface); + --tw-gradient-stops: var( + --tw-gradient-via-stops, + var(--tw-gradient-position), + var(--tw-gradient-from) var(--tw-gradient-from-position), + var(--tw-gradient-to) var(--tw-gradient-to-position) + ); + } + @supports (color: color-mix(in lab, red, red)) { + .from-surface\/85 { + --tw-gradient-from: color-mix( + in oklab, + var(--md-sys-color-surface) 85%, + transparent + ); + } + } + .via-black\/40 { + --tw-gradient-via: #0006; + --tw-gradient-via-stops: + var(--tw-gradient-position), + var(--tw-gradient-from) var(--tw-gradient-from-position), + var(--tw-gradient-via) var(--tw-gradient-via-position), + var(--tw-gradient-to) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-via-stops); + } + @supports (color: color-mix(in lab, red, red)) { + .via-black\/40 { + --tw-gradient-via: color-mix( + in oklab, + var(--color-black) 40%, + transparent + ); + } + } + .to-transparent { + --tw-gradient-to: transparent; + --tw-gradient-stops: var( + --tw-gradient-via-stops, + var(--tw-gradient-position), + var(--tw-gradient-from) var(--tw-gradient-from-position), + var(--tw-gradient-to) var(--tw-gradient-to-position) + ); + } + .fill-current { + fill: currentcolor; + } + .fill-on-primary { + fill: var(--md-sys-color-on-primary); + } + .stroke-primary { + stroke: var(--md-sys-color-primary); + } + .stroke-secondary-container { + stroke: var(--md-sys-color-secondary-container); + } + .object-contain { + object-fit: contain; + } + .object-cover { + object-fit: cover; + } + .\!p-0 { + padding: 0 !important; + } + .p-\(--m3-gutter\) { + padding: var(--m3-gutter); + } + .p-0 { + padding: 0; + } + .p-0\.5 { + padding: calc(var(--spacing) * 0.5); + } + .p-1 { + padding: var(--spacing); + } + .p-1\.5 { + padding: calc(var(--spacing) * 1.5); + } + .p-2 { + padding: calc(var(--spacing) * 2); + } + .p-2\.5 { + padding: calc(var(--spacing) * 2.5); + } + .p-3 { + padding: calc(var(--spacing) * 3); + } + .p-3\.5 { + padding: calc(var(--spacing) * 3.5); + } + .p-4 { + padding: calc(var(--spacing) * 4); + } + .p-5 { + padding: calc(var(--spacing) * 5); + } + .p-6 { + padding: calc(var(--spacing) * 6); + } + .p-8 { + padding: calc(var(--spacing) * 8); + } + .\!px-0 { + padding-inline-start: 0 !important; + padding-inline-end: 0 !important; + } + .\!px-3\.5 { + padding-inline: calc(var(--spacing) * 3.5) !important; + } + .px-\(--m3-gutter\) { + padding-inline: var(--m3-gutter); + } + .px-0\.5 { + padding-inline: calc(var(--spacing) * 0.5); + } + .px-1 { + padding-inline: var(--spacing); + } + .px-1\.5 { + padding-inline: calc(var(--spacing) * 1.5); + } + .px-2 { + padding-inline: calc(var(--spacing) * 2); + } + .px-2\.5 { + padding-inline: calc(var(--spacing) * 2.5); + } + .px-3 { + padding-inline: calc(var(--spacing) * 3); + } + .px-3\.5 { + padding-inline: calc(var(--spacing) * 3.5); + } + .px-4 { + padding-inline: calc(var(--spacing) * 4); + } + .px-5 { + padding-inline: calc(var(--spacing) * 5); + } + .px-6 { + padding-inline: calc(var(--spacing) * 6); + } + .px-8 { + padding-inline: calc(var(--spacing) * 8); + } + .px-12 { + padding-inline: calc(var(--spacing) * 12); + } + .\!py-1 { + padding-block: var(--spacing) !important; + } + .\!py-2 { + padding-block: calc(var(--spacing) * 2) !important; + } + .py-0 { + padding-block-start: 0; + padding-block-end: 0; + } + .py-0\.5 { + padding-block: calc(var(--spacing) * 0.5); + } + .py-1 { + padding-block: var(--spacing); + } + .py-1\.5 { + padding-block: calc(var(--spacing) * 1.5); + } + .py-2 { + padding-block: calc(var(--spacing) * 2); + } + .py-2\.5 { + padding-block: calc(var(--spacing) * 2.5); + } + .py-3 { + padding-block: calc(var(--spacing) * 3); + } + .py-3\.5 { + padding-block: calc(var(--spacing) * 3.5); + } + .py-4 { + padding-block: calc(var(--spacing) * 4); + } + .py-5 { + padding-block: calc(var(--spacing) * 5); + } + .py-6 { + padding-block: calc(var(--spacing) * 6); + } + .py-8 { + padding-block: calc(var(--spacing) * 8); + } + .py-12 { + padding-block: calc(var(--spacing) * 12); + } + .py-20 { + padding-block: calc(var(--spacing) * 20); + } + .py-px { + padding-block-start: 1px; + padding-block-end: 1px; + } + .pt-0 { + padding-top: 0; + } + .pt-0\.5 { + padding-top: calc(var(--spacing) * 0.5); + } + .pt-1 { + padding-top: var(--spacing); + } + .pt-2 { + padding-top: calc(var(--spacing) * 2); + } + .pt-2\.5 { + padding-top: calc(var(--spacing) * 2.5); + } + .pt-3 { + padding-top: calc(var(--spacing) * 3); + } + .pt-4 { + padding-top: calc(var(--spacing) * 4); + } + .pt-6 { + padding-top: calc(var(--spacing) * 6); + } + .pt-12 { + padding-top: calc(var(--spacing) * 12); + } + .pt-14 { + padding-top: calc(var(--spacing) * 14); + } + .pt-16 { + padding-top: calc(var(--spacing) * 16); + } + .pt-20 { + padding-top: calc(var(--spacing) * 20); + } + .pt-\[43px\] { + padding-top: 43px; + } + .pr-0 { + padding-right: 0; + } + .pr-1 { + padding-right: var(--spacing); + } + .pr-2 { + padding-right: calc(var(--spacing) * 2); + } + .pr-3 { + padding-right: calc(var(--spacing) * 3); + } + .pr-4 { + padding-right: calc(var(--spacing) * 4); + } + .pr-12 { + padding-right: calc(var(--spacing) * 12); + } + .pr-14 { + padding-right: calc(var(--spacing) * 14); + } + .pr-20 { + padding-right: calc(var(--spacing) * 20); + } + .pb-0 { + padding-bottom: 0; + } + .pb-0\.5 { + padding-bottom: calc(var(--spacing) * 0.5); + } + .pb-1 { + padding-bottom: var(--spacing); + } + .pb-2 { + padding-bottom: calc(var(--spacing) * 2); + } + .pb-3 { + padding-bottom: calc(var(--spacing) * 3); + } + .pb-4 { + padding-bottom: calc(var(--spacing) * 4); + } + .pb-5 { + padding-bottom: calc(var(--spacing) * 5); + } + .pb-6 { + padding-bottom: calc(var(--spacing) * 6); + } + .pb-8 { + padding-bottom: calc(var(--spacing) * 8); + } + .pb-10 { + padding-bottom: calc(var(--spacing) * 10); + } + .pb-\[env\(safe-area-inset-bottom\)\] { + padding-bottom: env(safe-area-inset-bottom); + } + .pl-0 { + padding-left: 0; + } + .pl-2 { + padding-left: calc(var(--spacing) * 2); + } + .pl-3 { + padding-left: calc(var(--spacing) * 3); + } + .pl-4 { + padding-left: calc(var(--spacing) * 4); + } + .pl-6 { + padding-left: calc(var(--spacing) * 6); + } + .pl-7 { + padding-left: calc(var(--spacing) * 7); + } + .pl-9 { + padding-left: calc(var(--spacing) * 9); + } + .pl-11 { + padding-left: calc(var(--spacing) * 11); + } + .pl-14 { + padding-left: calc(var(--spacing) * 14); + } + .text-center { + text-align: center; + } + .text-justify { + text-align: justify; + } + .text-left { + text-align: left; + } + .text-right { + text-align: right; + } + .align-baseline { + vertical-align: baseline; + } + .align-middle { + vertical-align: middle; + } + .align-top { + vertical-align: top; + } + .font-code, + .font-mono { + font-family: var(--md-ref-typeface-code); + } + .font-plain, + .font-sans { + font-family: var(--md-ref-typeface-plain); + } + .font-serif { + font-family: var(--font-serif); + } + .text-body-large { + font-size: var(--md-sys-typescale-body-large-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-body-large-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-body-large-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-body-large-weight) + ); + } + .text-body-medium { + font-size: var(--md-sys-typescale-body-medium-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-body-medium-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-body-medium-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-body-medium-weight) + ); + } + .text-body-small { + font-size: var(--md-sys-typescale-body-small-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-body-small-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-body-small-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-body-small-weight) + ); + } + .text-display-medium { + font-size: var(--md-sys-typescale-display-medium-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-display-medium-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-display-medium-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-display-medium-weight) + ); + } + .text-headline-large { + font-size: var(--md-sys-typescale-headline-large-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-headline-large-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-headline-large-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-headline-large-weight) + ); + } + .text-headline-medium { + font-size: var(--md-sys-typescale-headline-medium-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-headline-medium-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-headline-medium-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-headline-medium-weight) + ); + } + .text-headline-small { + font-size: var(--md-sys-typescale-headline-small-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-headline-small-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-headline-small-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-headline-small-weight) + ); + } + .text-label-large { + font-size: var(--md-sys-typescale-label-large-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-label-large-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-label-large-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-label-large-weight) + ); + } + .text-label-medium { + font-size: var(--md-sys-typescale-label-medium-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-label-medium-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-label-medium-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-label-medium-weight) + ); + } + .text-label-small { + font-size: var(--md-sys-typescale-label-small-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-label-small-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-label-small-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-label-small-weight) + ); + } + .text-title-large { + font-size: var(--md-sys-typescale-title-large-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-title-large-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-title-large-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-title-large-weight) + ); + } + .text-title-medium { + font-size: var(--md-sys-typescale-title-medium-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-title-medium-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-title-medium-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-title-medium-weight) + ); + } + .text-title-small { + font-size: var(--md-sys-typescale-title-small-size); + line-height: var( + --tw-leading, + var(--md-sys-typescale-title-small-line-height) + ); + letter-spacing: var( + --tw-tracking, + var(--md-sys-typescale-title-small-tracking) + ); + font-weight: var( + --tw-font-weight, + var(--md-sys-typescale-title-small-weight) + ); + } + .text-2xl { + font-size: var(--text-2xl); + line-height: var(--tw-leading, var(--text-2xl--line-height)); + } + .text-3xl { + font-size: var(--text-3xl); + line-height: var(--tw-leading, var(--text-3xl--line-height)); + } + .text-base { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + } + .text-lg { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)); + } + .text-sm { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + } + .text-xs { + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + } + .text-\[0\.9em\] { + font-size: 0.9em; + } + .text-\[0\.75em\] { + font-size: 0.75em; + } + .text-\[0\.85em\] { + font-size: 0.85em; + } + .text-\[9px\] { + font-size: 9px; + } + .text-\[10px\] { + font-size: 10px; + } + .text-\[11px\] { + font-size: 11px; + } + .text-\[13px\] { + font-size: 13px; + } + .text-\[16px\] { + font-size: 16px; + } + .text-\[18px\] { + font-size: 18px; + } + .text-\[20px\] { + font-size: 20px; + } + .text-\[28px\] { + font-size: 28px; + } + .leading-5 { + --tw-leading: calc(var(--spacing) * 5); + line-height: calc(var(--spacing) * 5); + } + .leading-6 { + --tw-leading: calc(var(--spacing) * 6); + line-height: calc(var(--spacing) * 6); + } + .leading-none { + --tw-leading: 1; + line-height: 1; + } + .leading-relaxed { + --tw-leading: var(--leading-relaxed); + line-height: var(--leading-relaxed); + } + .leading-tight { + --tw-leading: var(--leading-tight); + line-height: var(--leading-tight); + } + .font-black { + --tw-font-weight: var(--font-weight-black); + font-weight: var(--font-weight-black); + } + .font-bold { + --tw-font-weight: var(--font-weight-bold); + font-weight: var(--font-weight-bold); + } + .font-extrabold { + --tw-font-weight: var(--font-weight-extrabold); + font-weight: var(--font-weight-extrabold); + } + .font-medium { + --tw-font-weight: var(--font-weight-medium); + font-weight: var(--font-weight-medium); + } + .font-normal { + --tw-font-weight: var(--font-weight-normal); + font-weight: var(--font-weight-normal); + } + .font-semibold { + --tw-font-weight: var(--font-weight-semibold); + font-weight: var(--font-weight-semibold); + } + .tracking-\[0\.2em\] { + --tw-tracking: 0.2em; + letter-spacing: 0.2em; + } + .tracking-tight { + --tw-tracking: var(--tracking-tight); + letter-spacing: var(--tracking-tight); + } + .tracking-wide { + --tw-tracking: var(--tracking-wide); + letter-spacing: var(--tracking-wide); + } + .tracking-wider { + --tw-tracking: var(--tracking-wider); + letter-spacing: var(--tracking-wider); + } + .break-words { + overflow-wrap: break-word; + } + .break-all { + word-break: break-all; + } + .whitespace-normal { + white-space: normal; + } + .whitespace-nowrap { + white-space: nowrap; + } + .whitespace-pre { + white-space: pre; + } + .whitespace-pre-wrap { + white-space: pre-wrap; + } + .\!text-primary { + color: var(--md-sys-color-primary) !important; + } + .text-\[\#0EBC5F\] { + color: #0ebc5f; + } + .text-\[\#9B72CB\] { + color: #9b72cb; + } + .text-\[\#4285F4\] { + color: #4285f4; + } + .text-\[\#EA4335\] { + color: #ea4335; + } + .text-\[\#FF4641\] { + color: #ff4641; + } + .text-\[\#FFCC00\] { + color: #fc0; + } + .text-\[var\(--md-sys-color-error\,\#b3261e\)\] { + color: var(--md-sys-color-error, #b3261e); + } + .text-\[var\(--md-sys-color-on-primary-container\,\#21005d\)\] { + color: var(--md-sys-color-on-primary-container, #21005d); + } + .text-\[var\(--md-sys-color-on-surface\,\#1d1b20\)\] { + color: var(--md-sys-color-on-surface, #1d1b20); + } + .text-\[var\(--md-sys-color-on-surface-variant\,\#49454f\)\] { + color: var(--md-sys-color-on-surface-variant, #49454f); + } + .text-\[var\(--md-sys-color-outline\,\#79747e\)\] { + color: var(--md-sys-color-outline, #79747e); + } + .text-\[var\(--md-sys-color-primary\,\#6750a4\)\] { + color: var(--md-sys-color-primary, #6750a4); + } + .text-\[var\(--reader-accent\)\] { + color: var(--reader-accent); + } + .text-\[var\(--reader-accent\)\]\/70 { + color: var(--reader-accent); + } + @supports (color: color-mix(in lab, red, red)) { + .text-\[var\(--reader-accent\)\]\/70 { + color: color-mix(in oklab, var(--reader-accent) 70%, transparent); + } + } + .text-\[var\(--reader-on-accent\)\] { + color: var(--reader-on-accent); + } + .text-\[var\(--reader-on-surface\)\] { + color: var(--reader-on-surface); + } + .text-\[var\(--reader-on-surface\)\]\/50 { + color: var(--reader-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .text-\[var\(--reader-on-surface\)\]\/50 { + color: color-mix(in oklab, var(--reader-on-surface) 50%, transparent); + } + } + .text-\[var\(--reader-on-surface\)\]\/60 { + color: var(--reader-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .text-\[var\(--reader-on-surface\)\]\/60 { + color: color-mix(in oklab, var(--reader-on-surface) 60%, transparent); + } + } + .text-\[var\(--reader-on-surface\)\]\/70 { + color: var(--reader-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .text-\[var\(--reader-on-surface\)\]\/70 { + color: color-mix(in oklab, var(--reader-on-surface) 70%, transparent); + } + } + .text-\[var\(--reader-on-surface\)\]\/80 { + color: var(--reader-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .text-\[var\(--reader-on-surface\)\]\/80 { + color: color-mix(in oklab, var(--reader-on-surface) 80%, transparent); + } + } + .text-accent { + color: var(--md-sys-color-primary); + } + .text-amber-400 { + color: var(--color-amber-400); + } + .text-amber-500 { + color: var(--color-amber-500); + } + .text-blue-400 { + color: var(--color-blue-400); + } + .text-cyan-400 { + color: var(--color-cyan-400); + } + .text-emerald-400 { + color: var(--color-emerald-400); + } + .text-emerald-700 { + color: var(--color-emerald-700); + } + .text-error { + color: var(--md-sys-color-error); + } + .text-error-container { + color: var(--md-sys-color-error-container); + } + .text-ink { + color: var(--md-sys-color-on-surface); + } + .text-ink-dull { + color: var(--md-sys-color-on-surface-variant); + } + .text-ink-faint { + color: var(--md-sys-color-outline); + } + .text-inverse-on-surface { + color: var(--md-sys-color-inverse-on-surface); + } + .text-inverse-on-surface\/80 { + color: var(--md-sys-color-inverse-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .text-inverse-on-surface\/80 { + color: color-mix( + in oklab, + var(--md-sys-color-inverse-on-surface) 80%, + transparent + ); + } + } + .text-inverse-primary { + color: var(--md-sys-color-inverse-primary); + } + .text-on-error { + color: var(--md-sys-color-on-error); + } + .text-on-error-container { + color: var(--md-sys-color-on-error-container); + } + .text-on-primary { + color: var(--md-sys-color-on-primary); + } + .text-on-primary-container { + color: var(--md-sys-color-on-primary-container); + } + .text-on-secondary-container { + color: var(--md-sys-color-on-secondary-container); + } + .text-on-success { + color: var(--md-ext-color-on-success); + } + .text-on-success-container { + color: var(--md-ext-color-on-success-container); + } + .text-on-surface { + color: var(--md-sys-color-on-surface); + } + .text-on-surface-variant { + color: var(--md-sys-color-on-surface-variant); + } + .text-on-surface-variant\/40 { + color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .text-on-surface-variant\/40 { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 40%, + transparent + ); + } + } + .text-on-surface-variant\/50 { + color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .text-on-surface-variant\/50 { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 50%, + transparent + ); + } + } + .text-on-surface-variant\/60 { + color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .text-on-surface-variant\/60 { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 60%, + transparent + ); + } + } + .text-on-surface-variant\/70 { + color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .text-on-surface-variant\/70 { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 70%, + transparent + ); + } + } + .text-on-surface-variant\/80 { + color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .text-on-surface-variant\/80 { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 80%, + transparent + ); + } + } + .text-on-surface\/38 { + color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .text-on-surface\/38 { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 38%, + transparent + ); + } + } + .text-on-surface\/80 { + color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .text-on-surface\/80 { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 80%, + transparent + ); + } + } + .text-on-tertiary { + color: var(--md-sys-color-on-tertiary); + } + .text-on-tertiary-container { + color: var(--md-sys-color-on-tertiary-container); + } + .text-on-warning { + color: var(--md-ext-color-on-warning); + } + .text-on-warning-container { + color: var(--md-ext-color-on-warning-container); + } + .text-orange-400 { + color: var(--color-orange-400); + } + .text-outline { + color: var(--md-sys-color-outline); + } + .text-outline\/50 { + color: var(--md-sys-color-outline); + } + @supports (color: color-mix(in lab, red, red)) { + .text-outline\/50 { + color: color-mix(in oklab, var(--md-sys-color-outline) 50%, transparent); + } + } + .text-outline\/70 { + color: var(--md-sys-color-outline); + } + @supports (color: color-mix(in lab, red, red)) { + .text-outline\/70 { + color: color-mix(in oklab, var(--md-sys-color-outline) 70%, transparent); + } + } + .text-primary { + color: var(--md-sys-color-primary); + } + .text-red-400 { + color: var(--color-red-400); + } + .text-rose-400 { + color: var(--color-rose-400); + } + .text-secondary { + color: var(--md-sys-color-secondary); + } + .text-success { + color: var(--md-ext-color-success); + } + .text-success-container { + color: var(--md-ext-color-success-container); + } + .text-teal-400 { + color: var(--color-teal-400); + } + .text-tertiary { + color: var(--md-sys-color-tertiary); + } + .text-warning { + color: var(--md-ext-color-warning); + } + .text-warning-container { + color: var(--md-ext-color-warning-container); + } + .text-white { + color: var(--color-white); + } + .text-white\/30 { + color: #ffffff4d; + } + @supports (color: color-mix(in lab, red, red)) { + .text-white\/30 { + color: color-mix(in oklab, var(--color-white) 30%, transparent); + } + } + .text-white\/40 { + color: #fff6; + } + @supports (color: color-mix(in lab, red, red)) { + .text-white\/40 { + color: color-mix(in oklab, var(--color-white) 40%, transparent); + } + } + .text-white\/50 { + color: #ffffff80; + } + @supports (color: color-mix(in lab, red, red)) { + .text-white\/50 { + color: color-mix(in oklab, var(--color-white) 50%, transparent); + } + } + .text-white\/60 { + color: #fff9; + } + @supports (color: color-mix(in lab, red, red)) { + .text-white\/60 { + color: color-mix(in oklab, var(--color-white) 60%, transparent); + } + } + .text-white\/70 { + color: #ffffffb3; + } + @supports (color: color-mix(in lab, red, red)) { + .text-white\/70 { + color: color-mix(in oklab, var(--color-white) 70%, transparent); + } + } + .capitalize { + text-transform: capitalize; + } + .lowercase { + text-transform: lowercase; + } + .uppercase { + text-transform: uppercase; + } + .italic { + font-style: italic; + } + .not-italic { + font-style: normal; + } + .ordinal { + --tw-ordinal: ordinal; + font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) + var(--tw-numeric-figure,) var(--tw-numeric-spacing,) + var(--tw-numeric-fraction,); + } + .tabular-nums { + --tw-numeric-spacing: tabular-nums; + font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) + var(--tw-numeric-figure,) var(--tw-numeric-spacing,) + var(--tw-numeric-fraction,); + } + .no-underline { + text-decoration-line: none; + } + .underline { + text-decoration-line: underline; + } + .underline-offset-2 { + text-underline-offset: 2px; + } + .antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .placeholder-on-surface-variant::placeholder { + color: var(--md-sys-color-on-surface-variant); + } + .caret-error { + caret-color: var(--md-sys-color-error); + } + .caret-primary { + caret-color: var(--md-sys-color-primary); + } + .accent-error { + accent-color: var(--md-sys-color-error); + } + .accent-primary { + accent-color: var(--md-sys-color-primary); + } + .opacity-0 { + opacity: 0; + } + .opacity-25 { + opacity: 0.25; + } + .opacity-38 { + opacity: 0.38; + } + .opacity-40 { + opacity: 0.4; + } + .opacity-50 { + opacity: 0.5; + } + .opacity-60 { + opacity: 0.6; + } + .opacity-75 { + opacity: 0.75; + } + .opacity-80 { + opacity: 0.8; + } + .opacity-100 { + opacity: 1; + } + .\!shadow-none { + --tw-shadow: 0 0 #0000 !important; + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important; + } + .shadow { + --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); + } + .shadow-2xl { + --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-\[0_0_10px_rgba\(255\,178\,0\,0\.4\)\] { + --tw-shadow: 0 0 10px var(--tw-shadow-color, #ffb20066); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-\[0_0_12px_var\(--reader-accent\)\] { + --tw-shadow: 0 0 12px var(--tw-shadow-color, var(--reader-accent)); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-\[0_0_24px_rgba\(0\,0\,0\,0\.45\)\] { + --tw-shadow: 0 0 24px var(--tw-shadow-color, #00000073); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.8\)\] { + --tw-shadow: 0 4px 12px var(--tw-shadow-color, #000c); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-\[2px_2px_0px_\#000\] { + --tw-shadow: 2px 2px 0px var(--tw-shadow-color, #000); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-\[3px_3px_0px_\#000\] { + --tw-shadow: 3px 3px 0px var(--tw-shadow-color, #000); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-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); + } + .shadow-md { + --tw-shadow: + 0 4px 6px -1px var(--tw-shadow-color, #0000001a), + 0 2px 4px -2px 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); + } + .shadow-md3-1 { + --tw-shadow: var(--md-sys-elevation-level1); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-md3-2 { + --tw-shadow: var(--md-sys-elevation-level2); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-md3-3 { + --tw-shadow: var(--md-sys-elevation-level3); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-md3-5 { + --tw-shadow: var(--md-sys-elevation-level5); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-sm { + --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); + } + .shadow-xs { + --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); + } + .ring { + --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); + } + .ring-0 { + --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); + } + .ring-1 { + --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); + } + .ring-2 { + --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); + } + .ring-3 { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 + calc(3px + 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); + } + .ring-4 { + --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); + } + .ring-accent, + .ring-primary { + --tw-ring-color: var(--md-sys-color-primary); + } + .ring-primary\/50 { + --tw-ring-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .ring-primary\/50 { + --tw-ring-color: color-mix( + in oklab, + var(--md-sys-color-primary) 50%, + transparent + ); + } + } + .ring-secondary { + --tw-ring-color: var(--md-sys-color-secondary); + } + .ring-surface-container-high { + --tw-ring-color: var(--md-sys-color-surface-container-high); + } + .ring-transparent { + --tw-ring-color: transparent; + } + .outline { + outline-style: var(--tw-outline-style); + outline-width: 1px; + } + .outline-2 { + outline-style: var(--tw-outline-style); + outline-width: 2px; + } + .outline-3 { + outline-style: var(--tw-outline-style); + outline-width: 3px; + } + .-outline-offset-1 { + outline-offset: calc(1px * -1); + } + .outline-offset-0 { + outline-offset: 0px; + } + .outline-primary { + outline-color: var(--md-sys-color-primary); + } + .outline-secondary { + outline-color: var(--md-sys-color-secondary); + } + .blur { + --tw-blur: blur(8px); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) + var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) + var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .drop-shadow { + --tw-drop-shadow-size: drop-shadow( + 0 1px 2px var(--tw-drop-shadow-color, #0000001a) + ) + drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f)); + --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) + drop-shadow(0 1px 1px #0000000f); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) + var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) + var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .drop-shadow-\[1px_1px_0px_\#000\] { + --tw-drop-shadow-size: drop-shadow( + 1px 1px 0px var(--tw-drop-shadow-color, #000) + ); + --tw-drop-shadow: var(--tw-drop-shadow-size); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) + var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) + var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .drop-shadow-lg { + --tw-drop-shadow-size: drop-shadow( + 0 4px 4px var(--tw-drop-shadow-color, #00000026) + ); + --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg)); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) + var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) + var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .grayscale { + --tw-grayscale: grayscale(100%); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) + var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) + var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .invert { + --tw-invert: invert(100%); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) + var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) + var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .filter { + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) + var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) + var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .backdrop-blur { + --tw-backdrop-blur: blur(8px); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .backdrop-blur-2xl { + --tw-backdrop-blur: blur(var(--blur-2xl)); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .backdrop-blur-lg { + --tw-backdrop-blur: blur(var(--blur-lg)); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .backdrop-blur-md { + --tw-backdrop-blur: blur(var(--blur-md)); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .backdrop-blur-sm { + --tw-backdrop-blur: blur(var(--blur-sm)); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .backdrop-blur-xl { + --tw-backdrop-blur: blur(var(--blur-xl)); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .backdrop-blur-xs { + --tw-backdrop-blur: blur(var(--blur-xs)); + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .backdrop-filter { + -webkit-backdrop-filter: var(--tw-backdrop-blur,) + var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) + var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) + var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) + var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); + backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) + var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) + var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) + var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) + var(--tw-backdrop-sepia,); + } + .transition { + 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, + 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-\[background-color\,border-color\,box-shadow\,color\] { + transition-property: background-color, border-color, box-shadow, color; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[background-color\,border-color\,box-shadow\] { + transition-property: background-color, border-color, box-shadow; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[background-color\,border-color\,color\,transform\] { + transition-property: background-color, border-color, color, transform; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[height\,opacity\] { + transition-property: height, opacity; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[left\,width\,height\,background-color\] { + transition-property: left, width, height, background-color; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[left\,width\] { + transition-property: left, width; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[opacity\,scale\] { + transition-property: opacity, scale; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[opacity\,transform\] { + transition-property: opacity, transform; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[outline-color\] { + transition-property: outline-color; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[transform\,box-shadow\] { + transition-property: transform, box-shadow; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[width\] { + transition-property: width; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-all { + transition-property: all; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-colors { + 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)); + } + .transition-opacity { + transition-property: opacity; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-shadow { + transition-property: box-shadow; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-transform { + transition-property: transform, translate, scale, rotate; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-none { + transition-property: none; + } + .duration-150 { + --tw-duration: 0.15s; + transition-duration: 0.15s; + } + .duration-200 { + --tw-duration: 0.2s; + transition-duration: 0.2s; + } + .duration-250 { + --tw-duration: 0.25s; + transition-duration: 0.25s; + } + .duration-300 { + --tw-duration: 0.3s; + transition-duration: 0.3s; + } + .duration-500 { + --tw-duration: 0.5s; + transition-duration: 0.5s; + } + .ease-emphasized { + --tw-ease: var(--md-sys-motion-easing-emphasized); + transition-timing-function: var(--md-sys-motion-easing-emphasized); + } + .ease-emphasized-decelerate { + --tw-ease: var(--md-sys-motion-easing-emphasized-decelerate); + transition-timing-function: var( + --md-sys-motion-easing-emphasized-decelerate + ); + } + .ease-in { + --tw-ease: var(--ease-in); + transition-timing-function: var(--ease-in); + } + .ease-in-out { + --tw-ease: var(--ease-in-out); + transition-timing-function: var(--ease-in-out); + } + .ease-out { + --tw-ease: var(--ease-out); + transition-timing-function: var(--ease-out); + } + .ease-standard { + --tw-ease: var(--md-sys-motion-easing-standard); + transition-timing-function: var(--md-sys-motion-easing-standard); + } + .ease-standard-decelerate { + --tw-ease: var(--md-sys-motion-easing-standard-decelerate); + transition-timing-function: var(--md-sys-motion-easing-standard-decelerate); + } + .will-change-transform { + will-change: transform; + } + .\[contain\:inline-size\] { + contain: inline-size; + } + .outline-none { + --tw-outline-style: none; + outline-style: none; + } + .select-all { + -webkit-user-select: all; + user-select: all; + } + .select-none { + -webkit-user-select: none; + user-select: none; + } + .select-text { + -webkit-user-select: text; + user-select: text; + } + .backface-hidden { + backface-visibility: hidden; + } + .ring-inset { + --tw-ring-inset: inset; + } + .group-focus-within\:opacity-100:is(:where(.group):focus-within *) { + opacity: 1; + } + @media (hover: hover) { + .group-hover\:h-1\.5:is(:where(.group):hover *) { + height: calc(var(--spacing) * 1.5); + } + .group-hover\:h-2:is(:where(.group):hover *) { + height: calc(var(--spacing) * 2); + } + .group-hover\:w-20:is(:where(.group):hover *) { + width: calc(var(--spacing) * 20); + } + .group-hover\:scale-\[1\.015\]:is(:where(.group):hover *) { + scale: 1.015; + } + .group-hover\:bg-on-surface-variant:is(:where(.group):hover *) { + background-color: var(--md-sys-color-on-surface-variant); + } + .group-hover\:text-on-surface:is(:where(.group):hover *) { + color: var(--md-sys-color-on-surface); + } + .group-hover\:text-primary:is(:where(.group):hover *) { + color: var(--md-sys-color-primary); + } + .group-hover\:opacity-95:is(:where(.group):hover *) { + opacity: 0.95; + } + .group-hover\:opacity-100:is(:where(.group):hover *) { + opacity: 1; + } + .group-hover\:shadow-\[0_0_60px_rgba\(0\,0\,0\,0\.75\)\]:is( + :where(.group):hover * + ) { + --tw-shadow: 0 0 60px var(--tw-shadow-color, #000000bf); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + } + .group-focus-visible\:scale-\[1\.015\]:is(:where(.group):focus-visible *) { + scale: 1.015; + } + .group-focus-visible\:opacity-100:is(:where(.group):focus-visible *) { + opacity: 1; + } + .group-active\:left-\[0px\]:is(:where(.group):active *) { + left: 0; + } + .group-active\:size-5:is(:where(.group):active *) { + width: calc(var(--spacing) * 5); + height: calc(var(--spacing) * 5); + } + .group-active\:size-7:is(:where(.group):active *) { + width: calc(var(--spacing) * 7); + height: calc(var(--spacing) * 7); + } + .group-data-checked\:opacity-100:is(:where(.group)[data-checked] *) { + opacity: 1; + } + .group-data-indeterminate\:flex:is(:where(.group)[data-indeterminate] *) { + display: flex; + } + .group-data-indeterminate\:hidden:is(:where(.group)[data-indeterminate] *) { + display: none; + } + .group-data-panel-open\/item\:rotate-180:is( + :where(.group\/item)[data-panel-open] * + ) { + rotate: 180deg; + } + .group-data-popup-open\:rotate-180:is(:where(.group)[data-popup-open] *) { + rotate: 180deg; + } + .group-data-\[disabled\]\/field\:cursor-not-allowed:is( + :where(.group\/field)[data-disabled] * + ) { + cursor: not-allowed; + } + .group-data-\[disabled\]\/field\:opacity-38:is( + :where(.group\/field)[data-disabled] * + ) { + opacity: 0.38; + } + .marker\:text-on-surface-variant ::marker { + color: var(--md-sys-color-on-surface-variant); + } + .marker\:text-on-surface-variant::marker { + color: var(--md-sys-color-on-surface-variant); + } + .marker\:text-on-surface-variant ::-webkit-details-marker { + color: var(--md-sys-color-on-surface-variant); + } + .marker\:text-on-surface-variant::-webkit-details-marker { + color: var(--md-sys-color-on-surface-variant); + } + .selection\:bg-primary-container ::selection, + .selection\:bg-primary-container::selection { + background-color: var(--md-sys-color-primary-container); + } + .selection\:text-on-primary-container ::selection, + .selection\:text-on-primary-container::selection { + color: var(--md-sys-color-on-primary-container); + } + .placeholder\:text-on-surface-variant::placeholder { + color: var(--md-sys-color-on-surface-variant); + } + .placeholder\:text-on-surface-variant\/60::placeholder { + color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .placeholder\:text-on-surface-variant\/60::placeholder { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 60%, + transparent + ); + } + } + .placeholder\:text-on-surface-variant\/70::placeholder { + color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .placeholder\:text-on-surface-variant\/70::placeholder { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 70%, + transparent + ); + } + } + .placeholder\:text-outline::placeholder { + color: var(--md-sys-color-outline); + } + .backdrop\:bg-scrim\/32::backdrop { + background-color: var(--md-sys-color-scrim); + } + @supports (color: color-mix(in lab, red, red)) { + .backdrop\:bg-scrim\/32::backdrop { + background-color: color-mix( + in oklab, + var(--md-sys-color-scrim) 32%, + transparent + ); + } + } + .backdrop\:bg-scrim\/40::backdrop { + background-color: var(--md-sys-color-scrim); + } + @supports (color: color-mix(in lab, red, red)) { + .backdrop\:bg-scrim\/40::backdrop { + background-color: color-mix( + in oklab, + var(--md-sys-color-scrim) 40%, + transparent + ); + } + } + .before\:pointer-events-none:before { + content: var(--tw-content); + pointer-events: none; + } + .before\:absolute:before { + content: var(--tw-content); + position: absolute; + } + .before\:inset-0:before { + content: var(--tw-content); + inset: 0; + } + .before\:top-1\/2:before { + content: var(--tw-content); + top: 50%; + } + .before\:left-1\/2:before { + content: var(--tw-content); + left: 50%; + } + .before\:-z-10:before { + content: var(--tw-content); + z-index: calc(10 * -1); + } + .before\:size-8:before { + content: var(--tw-content); + width: calc(var(--spacing) * 8); + height: calc(var(--spacing) * 8); + } + .before\:size-10:before { + content: var(--tw-content); + width: calc(var(--spacing) * 10); + height: calc(var(--spacing) * 10); + } + .before\:-translate-x-1\/2:before { + content: var(--tw-content); + --tw-translate-x: calc(calc(1/2 * 100%) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .before\:-translate-y-1\/2:before { + content: var(--tw-content); + --tw-translate-y: calc(calc(1/2 * 100%) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .before\:rounded-\[inherit\]:before { + content: var(--tw-content); + border-radius: inherit; + } + .before\:rounded-full:before { + content: var(--tw-content); + border-radius: var(--md-sys-shape-corner-full); + } + .before\:bg-current:before { + content: var(--tw-content); + background-color: currentColor; + } + .before\:bg-on-error:before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-error); + } + .before\:bg-on-primary:before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-primary); + } + .before\:bg-on-surface:before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + .before\:opacity-0:before { + content: var(--tw-content); + opacity: 0; + } + .before\:transition-colors:before { + content: var(--tw-content); + 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)); + } + .before\:transition-opacity:before { + content: var(--tw-content); + transition-property: opacity; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .before\:duration-200:before { + content: var(--tw-content); + --tw-duration: 0.2s; + transition-duration: 0.2s; + } + .before\:ease-standard:before { + content: var(--tw-content); + --tw-ease: var(--md-sys-motion-easing-standard); + transition-timing-function: var(--md-sys-motion-easing-standard); + } + .before\:content-\[\'\'\]:before { + --tw-content: ""; + content: var(--tw-content); + } + @media (hover: hover) { + .group-hover\:before\:bg-on-surface\/8:is(:where(.group):hover *):before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .group-hover\:before\:bg-on-surface\/8:is(:where(.group):hover *):before { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } + } + } + .group-focus-visible\:before\:bg-on-surface\/10:is( + :where(.group):focus-visible * + ):before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .group-focus-visible\:before\:bg-on-surface\/10:is( + :where(.group):focus-visible * + ):before { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .group-active\:before\:bg-on-surface\/10:is(:where(.group):active *):before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .group-active\:before\:bg-on-surface\/10:is( + :where(.group):active * + ):before { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .after\:absolute:after { + content: var(--tw-content); + position: absolute; + } + .after\:inset-x-2:after { + content: var(--tw-content); + inset-inline: calc(var(--spacing) * 2); + } + .after\:bottom-0:after { + content: var(--tw-content); + bottom: 0; + } + .after\:hidden:after { + content: var(--tw-content); + display: none; + } + .after\:h-\[3px\]:after { + content: var(--tw-content); + height: 3px; + } + .after\:rounded-t-\[3px\]:after { + content: var(--tw-content); + border-top-left-radius: 3px; + border-top-right-radius: 3px; + } + .after\:bg-primary:after { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + .after\:opacity-0:after { + content: var(--tw-content); + opacity: 0; + } + .after\:transition-opacity:after { + content: var(--tw-content); + transition-property: opacity; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .after\:duration-200:after { + content: var(--tw-content); + --tw-duration: 0.2s; + transition-duration: 0.2s; + } + .after\:ease-standard:after { + content: var(--tw-content); + --tw-ease: var(--md-sys-motion-easing-standard); + transition-timing-function: var(--md-sys-motion-easing-standard); + } + .after\:content-\[\'\'\]:after { + --tw-content: ""; + content: var(--tw-content); + } + .first\:mt-0:first-child { + margin-top: 0; + } + .first\:rounded-t-large:first-child { + border-top-left-radius: var(--md-sys-shape-corner-large); + border-top-right-radius: var(--md-sys-shape-corner-large); + } + .first\:pt-0:first-child { + padding-top: 0; + } + .last\:mb-0:last-child { + margin-bottom: 0; + } + .last\:rounded-b-large:last-child { + border-bottom-right-radius: var(--md-sys-shape-corner-large); + border-bottom-left-radius: var(--md-sys-shape-corner-large); + } + .last\:pb-0:last-child { + padding-bottom: 0; + } + .checked\:border-error:checked { + border-color: var(--md-sys-color-error); + } + .checked\:border-primary:checked { + border-color: var(--md-sys-color-primary); + } + .checked\:bg-error:checked { + background-color: var(--md-sys-color-error); + } + .checked\:bg-primary:checked { + background-color: var(--md-sys-color-primary); + } + .checked\:after\:absolute:checked:after { + content: var(--tw-content); + position: absolute; + } + .checked\:after\:top-\[0px\]:checked:after { + content: var(--tw-content); + top: 0; + } + .checked\:after\:left-\[4px\]:checked:after { + content: var(--tw-content); + left: 4px; + } + .checked\:after\:h-\[10px\]:checked:after { + content: var(--tw-content); + height: 10px; + } + .checked\:after\:w-\[5px\]:checked:after { + content: var(--tw-content); + width: 5px; + } + .checked\:after\:rotate-45:checked:after { + content: var(--tw-content); + rotate: 45deg; + } + .checked\:after\:border-r-2:checked:after { + content: var(--tw-content); + border-right-style: var(--tw-border-style); + border-right-width: 2px; + } + .checked\:after\:border-b-2:checked:after { + content: var(--tw-content); + border-bottom-style: var(--tw-border-style); + border-bottom-width: 2px; + } + .checked\:after\:border-on-error:checked:after { + content: var(--tw-content); + border-color: var(--md-sys-color-on-error); + } + .checked\:after\:border-on-primary:checked:after { + content: var(--tw-content); + border-color: var(--md-sys-color-on-primary); + } + .checked\:after\:content-\[\'\'\]:checked:after { + --tw-content: ""; + content: var(--tw-content); + } + .indeterminate\:border-error:indeterminate { + border-color: var(--md-sys-color-error); + } + .indeterminate\:border-primary:indeterminate { + border-color: var(--md-sys-color-primary); + } + .indeterminate\:bg-error:indeterminate { + background-color: var(--md-sys-color-error); + } + .indeterminate\:bg-primary:indeterminate { + background-color: var(--md-sys-color-primary); + } + .indeterminate\:after\:absolute:indeterminate:after { + content: var(--tw-content); + position: absolute; + } + .indeterminate\:after\:top-\[6px\]:indeterminate:after { + content: var(--tw-content); + top: 6px; + } + .indeterminate\:after\:left-\[2px\]:indeterminate:after { + content: var(--tw-content); + left: 2px; + } + .indeterminate\:after\:h-\[2px\]:indeterminate:after { + content: var(--tw-content); + height: 2px; + } + .indeterminate\:after\:w-\[10px\]:indeterminate:after { + content: var(--tw-content); + width: 10px; + } + .indeterminate\:after\:bg-on-error:indeterminate:after { + content: var(--tw-content); + background-color: var(--md-sys-color-on-error); + } + .indeterminate\:after\:bg-on-primary:indeterminate:after { + content: var(--tw-content); + background-color: var(--md-sys-color-on-primary); + } + .indeterminate\:after\:content-\[\'\'\]:indeterminate:after { + --tw-content: ""; + content: var(--tw-content); + } + .focus-within\:border-error:focus-within { + border-color: var(--md-sys-color-error); + } + .focus-within\:border-primary:focus-within { + border-color: var(--md-sys-color-primary); + } + .focus-within\:border-transparent:focus-within { + border-color: #0000; + } + .focus-within\:bg-surface-container-highest:focus-within { + background-color: var(--md-sys-color-surface-container-highest); + } + .focus-within\:bg-transparent:focus-within { + background-color: #0000; + } + .focus-within\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-error\)\]:focus-within { + --tw-shadow: inset 0 -1px 0 0 + var(--tw-shadow-color, var(--md-sys-color-error)); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .focus-within\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-primary\)\]:focus-within { + --tw-shadow: inset 0 -1px 0 0 + var(--tw-shadow-color, var(--md-sys-color-primary)); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .focus-within\:ring-1:focus-within { + --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); + } + .focus-within\:ring-2: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); + } + .focus-within\:ring-error:focus-within { + --tw-ring-color: var(--md-sys-color-error); + } + .focus-within\:ring-primary:focus-within { + --tw-ring-color: var(--md-sys-color-primary); + } + .focus-within\:ring-primary\/20:focus-within { + --tw-ring-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .focus-within\:ring-primary\/20:focus-within { + --tw-ring-color: color-mix( + in oklab, + var(--md-sys-color-primary) 20%, + transparent + ); + } + } + .focus-within\:ring-transparent:focus-within { + --tw-ring-color: transparent; + } + .focus-within\:outline-2:focus-within { + outline-style: var(--tw-outline-style); + outline-width: 2px; + } + .focus-within\:outline-primary:focus-within { + outline-color: var(--md-sys-color-primary); + } + .focus-within\:ring-inset:focus-within { + --tw-ring-inset: inset; + } + @media (hover: hover) { + .hover\:scale-105:hover { + --tw-scale-x: 105%; + --tw-scale-y: 105%; + --tw-scale-z: 105%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .hover\:scale-125:hover { + --tw-scale-x: 125%; + --tw-scale-y: 125%; + --tw-scale-z: 125%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .hover\:scale-\[1\.01\]:hover { + scale: 1.01; + } + .hover\:scale-\[1\.02\]:hover { + scale: 1.02; + } + .hover\:border-\[var\(--reader-accent\)\]:hover { + border-color: var(--reader-accent); + } + .hover\:border-accent\/50:hover { + border-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:border-accent\/50:hover { + border-color: color-mix( + in oklab, + var(--md-sys-color-primary) 50%, + transparent + ); + } + } + .hover\:border-on-error-container:hover { + border-color: var(--md-sys-color-on-error-container); + } + .hover\:border-on-surface:hover { + border-color: var(--md-sys-color-on-surface); + } + .hover\:border-outline:hover { + border-color: var(--md-sys-color-outline); + } + .hover\:border-outline-variant:hover, + .hover\:border-outline-variant\/80:hover { + border-color: var(--md-sys-color-outline-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:border-outline-variant\/80:hover { + border-color: color-mix( + in oklab, + var(--md-sys-color-outline-variant) 80%, + transparent + ); + } + } + .hover\:border-primary:hover, + .hover\:border-primary\/50:hover { + border-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:border-primary\/50:hover { + border-color: color-mix( + in oklab, + var(--md-sys-color-primary) 50%, + transparent + ); + } + } + .hover\:border-white\/30:hover { + border-color: #ffffff4d; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:border-white\/30:hover { + border-color: color-mix(in oklab, var(--color-white) 30%, transparent); + } + } + .hover\:border-white\/50:hover { + border-color: #ffffff80; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:border-white\/50:hover { + border-color: color-mix(in oklab, var(--color-white) 50%, transparent); + } + } + .hover\:bg-\[var\(--md-sys-color-surface-container-high\,\#ece6f0\)\]:hover { + background-color: var(--md-sys-color-surface-container-high, #ece6f0); + } + .hover\:bg-\[var\(--reader-accent\)\]:hover { + background-color: var(--reader-accent); + } + .hover\:bg-app-hover:hover { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-app-hover:hover { + background-color: color-mix( + in srgb, + var(--md-sys-color-on-surface) 8%, + var(--md-sys-color-surface-container) + ); + } + } + .hover\:bg-current\/8:hover { + background-color: currentColor; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-current\/8:hover { + background-color: color-mix(in oklab, currentcolor 8%, transparent); + } + } + .hover\:bg-error:hover, + .hover\:bg-error\/8:hover { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-error\/8:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 8%, + transparent + ); + } + } + .hover\:bg-error\/10:hover { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-error\/10:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 10%, + transparent + ); + } + } + .hover\:bg-error\/20:hover { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-error\/20:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 20%, + transparent + ); + } + } + .hover\:bg-error\/90:hover { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-error\/90:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 90%, + transparent + ); + } + } + .hover\:bg-inverse-on-surface\/8:hover { + background-color: var(--md-sys-color-inverse-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-inverse-on-surface\/8:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-on-surface) 8%, + transparent + ); + } + } + .hover\:bg-inverse-primary\/8:hover { + background-color: var(--md-sys-color-inverse-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-inverse-primary\/8:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-primary) 8%, + transparent + ); + } + } + .hover\:bg-on-secondary-container\/8:hover { + background-color: var(--md-sys-color-on-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-secondary-container\/8:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-secondary-container) 8%, + transparent + ); + } + } + .hover\:bg-on-secondary-container\/12:hover { + background-color: var(--md-sys-color-on-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-secondary-container\/12:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-secondary-container) 12%, + transparent + ); + } + } + .hover\:bg-on-surface-variant\/8:hover { + background-color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-surface-variant\/8:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 8%, + transparent + ); + } + } + .hover\:bg-on-surface\/2:hover { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-surface\/2:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 2%, + transparent + ); + } + } + .hover\:bg-on-surface\/4:hover { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-surface\/4:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 4%, + transparent + ); + } + } + .hover\:bg-on-surface\/5:hover { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-surface\/5:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 5%, + transparent + ); + } + } + .hover\:bg-on-surface\/8:hover { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-surface\/8:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } + } + .hover\:bg-on-surface\/10:hover { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-surface\/10:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .hover\:bg-on-surface\/38:hover { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-on-surface\/38:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 38%, + transparent + ); + } + } + .hover\:bg-outline:hover { + background-color: var(--md-sys-color-outline); + } + .hover\:bg-outline-variant:hover { + background-color: var(--md-sys-color-outline-variant); + } + .hover\:bg-primary:hover, + .hover\:bg-primary\/8:hover { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-primary\/8:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 8%, + transparent + ); + } + } + .hover\:bg-primary\/10:hover { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-primary\/10:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .hover\:bg-primary\/90:hover { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-primary\/90:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 90%, + transparent + ); + } + } + .hover\:bg-primary\/92:hover { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-primary\/92:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 92%, + transparent + ); + } + } + .hover\:bg-secondary-container\/5:hover { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-secondary-container\/5:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 5%, + transparent + ); + } + } + .hover\:bg-secondary-container\/20:hover { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-secondary-container\/20:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 20%, + transparent + ); + } + } + .hover\:bg-secondary-container\/30:hover { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-secondary-container\/30:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 30%, + transparent + ); + } + } + .hover\:bg-secondary-container\/40:hover { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-secondary-container\/40:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 40%, + transparent + ); + } + } + .hover\:bg-secondary-container\/80:hover { + background-color: var(--md-sys-color-secondary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-secondary-container\/80:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-secondary-container) 80%, + transparent + ); + } + } + .hover\:bg-surface-container:hover { + background-color: var(--md-sys-color-surface-container); + } + .hover\:bg-surface-container-high:hover { + background-color: var(--md-sys-color-surface-container-high); + } + .hover\:bg-surface-container-highest:hover { + background-color: var(--md-sys-color-surface-container-highest); + } + .hover\:bg-surface-container\/30:hover { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-surface-container\/30:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 30%, + transparent + ); + } + } + .hover\:bg-surface-container\/40:hover { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-surface-container\/40:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 40%, + transparent + ); + } + } + .hover\:bg-surface-container\/60:hover { + background-color: var(--md-sys-color-surface-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-surface-container\/60:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-surface-container) 60%, + transparent + ); + } + } + .hover\:bg-tertiary-container\/80:hover { + background-color: var(--md-sys-color-tertiary-container); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-tertiary-container\/80:hover { + background-color: color-mix( + in oklab, + var(--md-sys-color-tertiary-container) 80%, + transparent + ); + } + } + .hover\:bg-white\/10:hover { + background-color: #ffffff1a; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-white\/10:hover { + background-color: color-mix( + in oklab, + var(--color-white) 10%, + transparent + ); + } + } + .hover\:text-\[var\(--reader-accent\)\]:hover { + color: var(--reader-accent); + } + .hover\:text-\[var\(--reader-on-accent\)\]:hover { + color: var(--reader-on-accent); + } + .hover\:text-ink:hover { + color: var(--md-sys-color-on-surface); + } + .hover\:text-on-error:hover { + color: var(--md-sys-color-on-error); + } + .hover\:text-on-surface:hover { + color: var(--md-sys-color-on-surface); + } + .hover\:text-on-surface-variant:hover { + color: var(--md-sys-color-on-surface-variant); + } + .hover\:text-primary\/80:hover { + color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:text-primary\/80:hover { + color: color-mix( + in oklab, + var(--md-sys-color-primary) 80%, + transparent + ); + } + } + .hover\:text-white\/50:hover { + color: #ffffff80; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:text-white\/50:hover { + color: color-mix(in oklab, var(--color-white) 50%, transparent); + } + } + .hover\:text-white\/60:hover { + color: #fff9; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:text-white\/60:hover { + color: color-mix(in oklab, var(--color-white) 60%, transparent); + } + } + .hover\:underline:hover { + text-decoration-line: underline; + } + .hover\:decoration-2:hover { + text-decoration-thickness: 2px; + } + .hover\:opacity-80:hover { + opacity: 0.8; + } + .hover\:opacity-100:hover { + opacity: 1; + } + .hover\:shadow-md:hover { + --tw-shadow: + 0 4px 6px -1px var(--tw-shadow-color, #0000001a), + 0 2px 4px -2px 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); + } + .hover\:shadow-md3-1:hover { + --tw-shadow: var(--md-sys-elevation-level1); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .hover\:shadow-md3-2:hover { + --tw-shadow: var(--md-sys-elevation-level2); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .hover\:shadow-md3-4:hover { + --tw-shadow: var(--md-sys-elevation-level4); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .hover\:before\:bg-error\/8:hover:before { + content: var(--tw-content); + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:before\:bg-error\/8:hover:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 8%, + transparent + ); + } + } + .hover\:before\:bg-on-surface\/8:hover:before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:before\:bg-on-surface\/8:hover:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } + } + .hover\:before\:bg-primary\/8:hover:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:before\:bg-primary\/8:hover:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 8%, + transparent + ); + } + } + .hover\:before\:opacity-8:hover:before { + content: var(--tw-content); + opacity: 0.08; + } + .checked\:hover\:before\:bg-primary\/8:checked:hover:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .checked\:hover\:before\:bg-primary\/8:checked:hover:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 8%, + transparent + ); + } + } + .focus-within\:hover\:border-error:focus-within:hover { + border-color: var(--md-sys-color-error); + } + .focus-within\:hover\:border-primary:focus-within:hover { + border-color: var(--md-sys-color-primary); + } + } + .focus\:not-sr-only:focus { + position: static; + overflow: visible; + clip-path: none; + white-space: normal; + width: auto; + height: auto; + margin: 0; + padding: 0; + } + .focus\:absolute:focus { + position: absolute; + } + .focus\:top-2:focus { + top: calc(var(--spacing) * 2); + } + .focus\:left-2:focus { + left: calc(var(--spacing) * 2); + } + .focus\:z-50:focus { + z-index: 50; + } + .focus\:rounded-full:focus { + border-radius: var(--md-sys-shape-corner-full); + } + .focus\:border-0:focus { + border-style: var(--tw-border-style); + border-width: 0; + } + .focus\:border-2:focus { + border-style: var(--tw-border-style); + border-width: 2px; + } + .focus\:border-primary:focus { + border-color: var(--md-sys-color-primary); + } + .focus\:bg-primary:focus { + background-color: var(--md-sys-color-primary); + } + .focus\:px-4:focus { + padding-inline: calc(var(--spacing) * 4); + } + .focus\:px-\[11px\]:focus { + padding-inline-start: 11px; + padding-inline-end: 11px; + } + .focus\:py-2:focus { + padding-block: calc(var(--spacing) * 2); + } + .focus\:text-on-primary:focus { + color: var(--md-sys-color-on-primary); + } + .focus\:ring-0: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); + } + .focus\:ring-1:focus { + --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); + } + .focus\:ring-2: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); + } + .focus\:ring-primary:focus { + --tw-ring-color: var(--md-sys-color-primary); + } + .focus\:ring-primary\/50:focus { + --tw-ring-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .focus\:ring-primary\/50:focus { + --tw-ring-color: color-mix( + in oklab, + var(--md-sys-color-primary) 50%, + transparent + ); + } + } + .focus\:outline-none:focus { + --tw-outline-style: none; + outline-style: none; + } + .focus-visible\:border-primary:focus-visible { + border-color: var(--md-sys-color-primary); + } + .focus-visible\:bg-error\/10:focus-visible { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .focus-visible\:bg-error\/10:focus-visible { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 10%, + transparent + ); + } + } + .focus-visible\:bg-inverse-on-surface\/10:focus-visible { + background-color: var(--md-sys-color-inverse-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .focus-visible\:bg-inverse-on-surface\/10:focus-visible { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-on-surface) 10%, + transparent + ); + } + } + .focus-visible\:bg-inverse-primary\/10:focus-visible { + background-color: var(--md-sys-color-inverse-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .focus-visible\:bg-inverse-primary\/10:focus-visible { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-primary) 10%, + transparent + ); + } + } + .focus-visible\:bg-on-surface\/10:focus-visible { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .focus-visible\:bg-on-surface\/10:focus-visible { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .focus-visible\:bg-primary\/10:focus-visible { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .focus-visible\:bg-primary\/10:focus-visible { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .focus-visible\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-primary\)\]:focus-visible { + --tw-shadow: inset 0 -1px 0 0 + var(--tw-shadow-color, var(--md-sys-color-primary)); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .focus-visible\:ring-1:focus-visible { + --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); + } + .focus-visible\:ring-2: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); + } + .focus-visible\:ring-\[var\(--reader-accent\)\]:focus-visible { + --tw-ring-color: var(--reader-accent); + } + .focus-visible\:ring-primary:focus-visible { + --tw-ring-color: var(--md-sys-color-primary); + } + .focus-visible\:outline-2:focus-visible { + outline-style: var(--tw-outline-style); + outline-width: 2px; + } + .focus-visible\:outline-3:focus-visible { + outline-style: var(--tw-outline-style); + outline-width: 3px; + } + .focus-visible\:-outline-offset-3:focus-visible { + outline-offset: calc(3px * -1); + } + .focus-visible\:outline-offset-2:focus-visible { + outline-offset: 2px; + } + .focus-visible\:outline-offset-\[-3px\]:focus-visible { + outline-offset: -3px; + } + .focus-visible\:outline-primary:focus-visible { + outline-color: var(--md-sys-color-primary); + } + .focus-visible\:outline-secondary:focus-visible { + outline-color: var(--md-sys-color-secondary); + } + .focus-visible\:outline-none:focus-visible { + --tw-outline-style: none; + outline-style: none; + } + .focus-visible\:ring-inset:focus-visible { + --tw-ring-inset: inset; + } + .focus-visible\:before\:bg-on-surface\/10:focus-visible:before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .focus-visible\:before\:bg-on-surface\/10:focus-visible:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .focus-visible\:before\:opacity-10:focus-visible:before { + content: var(--tw-content); + opacity: 0.1; + } + .active\:translate-y-\[calc\(-50\%\+1px\)\]:active { + --tw-translate-y: calc(-50% + 1px); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .active\:scale-95:active { + --tw-scale-x: 95%; + --tw-scale-y: 95%; + --tw-scale-z: 95%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .active\:cursor-grabbing:active { + cursor: grabbing; + } + .active\:bg-error\/10:active { + background-color: var(--md-sys-color-error); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-error\/10:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-error) 10%, + transparent + ); + } + } + .active\:bg-inverse-on-surface\/10:active { + background-color: var(--md-sys-color-inverse-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-inverse-on-surface\/10:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-on-surface) 10%, + transparent + ); + } + } + .active\:bg-inverse-primary\/10:active { + background-color: var(--md-sys-color-inverse-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-inverse-primary\/10:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-inverse-primary) 10%, + transparent + ); + } + } + .active\:bg-on-surface-variant\/10:active { + background-color: var(--md-sys-color-on-surface-variant); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-on-surface-variant\/10:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface-variant) 10%, + transparent + ); + } + } + .active\:bg-on-surface\/10:active { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-on-surface\/10:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .active\:bg-on-surface\/12:active { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-on-surface\/12:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 12%, + transparent + ); + } + } + .active\:bg-primary\/10:active { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-primary\/10:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .active\:bg-primary\/90:active { + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:bg-primary\/90:active { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 90%, + transparent + ); + } + } + .active\:before\:bg-on-surface\/10:active:before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:before\:bg-on-surface\/10:active:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 10%, + transparent + ); + } + } + .active\:before\:bg-primary\/10:active:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .active\:before\:bg-primary\/10:active:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .active\:before\:opacity-10:active:before { + content: var(--tw-content); + opacity: 0.1; + } + .disabled\:pointer-events-none:disabled { + pointer-events: none; + } + .disabled\:cursor-not-allowed:disabled { + cursor: not-allowed; + } + .disabled\:border-on-surface\/12:disabled { + border-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .disabled\:border-on-surface\/12:disabled { + border-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 12%, + transparent + ); + } + } + .disabled\:bg-on-surface\/12:disabled { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .disabled\:bg-on-surface\/12:disabled { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 12%, + transparent + ); + } + } + .disabled\:text-on-surface\/38:disabled { + color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .disabled\:text-on-surface\/38:disabled { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 38%, + transparent + ); + } + } + .disabled\:opacity-30:disabled { + opacity: 0.3; + } + .disabled\:opacity-38:disabled { + opacity: 0.38; + } + .disabled\:opacity-40:disabled { + opacity: 0.4; + } + .disabled\:opacity-50:disabled { + opacity: 0.5; + } + .disabled\:shadow-none:disabled { + --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); + } + .disabled\:before\:hidden:disabled:before { + content: var(--tw-content); + display: none; + } + @media (hover: hover) { + .disabled\:hover\:bg-transparent:disabled:hover { + background-color: #0000; + } + } + .has-focus-visible\:outline-3:has(:focus-visible) { + outline-style: var(--tw-outline-style); + outline-width: 3px; + } + .has-focus-visible\:outline-offset-2:has(:focus-visible) { + outline-offset: 2px; + } + .has-focus-visible\:outline-secondary:has(:focus-visible) { + outline-color: var(--md-sys-color-secondary); + } + .has-focus-visible\:before\:bg-primary\/10:has(:focus-visible):before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .has-focus-visible\:before\:bg-primary\/10:has(:focus-visible):before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .has-\[\:disabled\]\:cursor-not-allowed:has(:disabled) { + cursor: not-allowed; + } + .has-\[\:disabled\]\:opacity-38:has(:disabled) { + opacity: 0.38; + } + .aria-disabled\:before\:hidden[aria-disabled="true"]:before { + content: var(--tw-content); + display: none; + } + .data-active\:text-primary[data-active] { + color: var(--md-sys-color-primary); + } + .data-active\:after\:opacity-100[data-active]:after { + content: var(--tw-content); + opacity: 1; + } + @media (hover: hover) { + .data-active\:hover\:text-primary[data-active]:hover { + color: var(--md-sys-color-primary); + } + .data-active\:hover\:before\:bg-primary\/8[data-active]:hover:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-active\:hover\:before\:bg-primary\/8[data-active]:hover:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 8%, + transparent + ); + } + } + } + .data-active\:focus-visible\:before\:bg-primary\/10[data-active]:focus-visible:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-active\:focus-visible\:before\:bg-primary\/10[data-active]:focus-visible:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .data-active\:active\:before\:bg-primary\/10[data-active]:active:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-active\:active\:before\:bg-primary\/10[data-active]:active:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .data-checked\:left-\[18px\][data-checked] { + left: 18px; + } + .data-checked\:left-\[22px\][data-checked] { + left: 22px; + } + .data-checked\:size-4[data-checked] { + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4); + } + .data-checked\:size-6[data-checked] { + width: calc(var(--spacing) * 6); + height: calc(var(--spacing) * 6); + } + .data-checked\:border-error[data-checked] { + border-color: var(--md-sys-color-error); + } + .data-checked\:border-primary[data-checked] { + border-color: var(--md-sys-color-primary); + } + .data-checked\:bg-error[data-checked] { + background-color: var(--md-sys-color-error); + } + .data-checked\:bg-on-primary[data-checked] { + background-color: var(--md-sys-color-on-primary); + } + .data-checked\:bg-primary[data-checked] { + background-color: var(--md-sys-color-primary); + } + .data-checked\:bg-secondary-container[data-checked] { + background-color: var(--md-sys-color-secondary-container); + } + .data-checked\:text-on-secondary-container[data-checked] { + color: var(--md-sys-color-on-secondary-container); + } + @media (hover: hover) { + .group-hover\:data-checked\:bg-primary-container:is( + :where(.group):hover * + )[data-checked] { + background-color: var(--md-sys-color-primary-container); + } + } + .data-checked\:group-active\:left-\[16px\][data-checked]:is( + :where(.group):active * + ) { + left: 16px; + } + .data-checked\:group-active\:left-\[20px\][data-checked]:is( + :where(.group):active * + ) { + left: 20px; + } + .data-checked\:group-active\:size-5[data-checked]:is( + :where(.group):active * + ) { + width: calc(var(--spacing) * 5); + height: calc(var(--spacing) * 5); + } + .data-checked\:group-active\:size-7[data-checked]:is( + :where(.group):active * + ) { + width: calc(var(--spacing) * 7); + height: calc(var(--spacing) * 7); + } + @media (hover: hover) { + .data-checked\:group-hover\:before\:bg-primary\/8[data-checked]:is( + :where(.group):hover * + ):before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-checked\:group-hover\:before\:bg-primary\/8[data-checked]:is( + :where(.group):hover * + ):before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 8%, + transparent + ); + } + } + } + .data-checked\:group-focus-visible\:before\:bg-primary\/10[data-checked]:is( + :where(.group):focus-visible * + ):before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-checked\:group-focus-visible\:before\:bg-primary\/10[data-checked]:is( + :where(.group):focus-visible * + ):before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .data-checked\:group-active\:before\:bg-primary\/10[data-checked]:is( + :where(.group):active * + ):before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-checked\:group-active\:before\:bg-primary\/10[data-checked]:is( + :where(.group):active * + ):before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + @media (hover: hover) { + .data-checked\:hover\:before\:bg-primary\/8[data-checked]:hover:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-checked\:hover\:before\:bg-primary\/8[data-checked]:hover:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 8%, + transparent + ); + } + } + } + .data-disabled\:pointer-events-none[data-disabled] { + pointer-events: none; + } + .data-disabled\:cursor-not-allowed[data-disabled] { + cursor: not-allowed; + } + .data-disabled\:bg-on-surface[data-disabled] { + background-color: var(--md-sys-color-on-surface); + } + .data-disabled\:opacity-38[data-disabled] { + opacity: 0.38; + } + .data-disabled\:shadow-none[data-disabled] { + --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); + } + .data-dragging\:before\:bg-primary\/10[data-dragging]:before { + content: var(--tw-content); + background-color: var(--md-sys-color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .data-dragging\:before\:bg-primary\/10[data-dragging]:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-primary) 10%, + transparent + ); + } + } + .data-ending-style\:scale-95[data-ending-style] { + --tw-scale-x: 95%; + --tw-scale-y: 95%; + --tw-scale-z: 95%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .data-ending-style\:opacity-0[data-ending-style] { + opacity: 0; + } + .data-ending-style\:duration-150[data-ending-style] { + --tw-duration: 0.15s; + transition-duration: 0.15s; + } + .data-ending-style\:duration-200[data-ending-style] { + --tw-duration: 0.2s; + transition-duration: 0.2s; + } + .data-ending-style\:ease-emphasized-accelerate[data-ending-style] { + --tw-ease: var(--md-sys-motion-easing-emphasized-accelerate); + transition-timing-function: var( + --md-sys-motion-easing-emphasized-accelerate + ); + } + .data-indeterminate\:border-error[data-indeterminate] { + border-color: var(--md-sys-color-error); + } + .data-indeterminate\:border-primary[data-indeterminate] { + border-color: var(--md-sys-color-primary); + } + .data-indeterminate\:bg-error[data-indeterminate] { + background-color: var(--md-sys-color-error); + } + .data-indeterminate\:bg-primary[data-indeterminate] { + background-color: var(--md-sys-color-primary); + } + .data-instant\:transition-none[data-instant] { + transition-property: none; + } + .data-popup-open\:border-primary[data-popup-open] { + border-color: var(--md-sys-color-primary); + } + .data-popup-open\:bg-secondary-container[data-popup-open] { + background-color: var(--md-sys-color-secondary-container); + } + .data-popup-open\:text-on-secondary-container[data-popup-open] { + color: var(--md-sys-color-on-secondary-container); + } + .data-popup-open\:shadow-\[inset_0_-1px_0_0_var\(--md-sys-color-primary\)\][data-popup-open] { + --tw-shadow: inset 0 -1px 0 0 + var(--tw-shadow-color, var(--md-sys-color-primary)); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .data-popup-open\:ring-1[data-popup-open] { + --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); + } + .data-popup-open\:ring-primary[data-popup-open] { + --tw-ring-color: var(--md-sys-color-primary); + } + .data-popup-open\:ring-inset[data-popup-open] { + --tw-ring-inset: inset; + } + .data-selected\:bg-secondary-container[data-selected] { + background-color: var(--md-sys-color-secondary-container); + } + .data-selected\:text-on-secondary-container[data-selected] { + color: var(--md-sys-color-on-secondary-container); + } + .data-starting-style\:scale-90[data-starting-style] { + --tw-scale-x: 90%; + --tw-scale-y: 90%; + --tw-scale-z: 90%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .data-starting-style\:scale-95[data-starting-style] { + --tw-scale-x: 95%; + --tw-scale-y: 95%; + --tw-scale-z: 95%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .data-starting-style\:opacity-0[data-starting-style] { + opacity: 0; + } + .data-\[disabled\]\:pointer-events-none[data-disabled] { + pointer-events: none; + } + .data-\[disabled\]\:text-on-surface\/38[data-disabled] { + color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .data-\[disabled\]\:text-on-surface\/38[data-disabled] { + color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 38%, + transparent + ); + } + } + .data-\[disabled\]\:opacity-38[data-disabled] { + opacity: 0.38; + } + .data-\[ending-style\]\:h-0[data-ending-style] { + height: 0; + } + .data-\[ending-style\]\:scale-90[data-ending-style] { + --tw-scale-x: 90%; + --tw-scale-y: 90%; + --tw-scale-z: 90%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .data-\[ending-style\]\:opacity-0[data-ending-style] { + opacity: 0; + } + .data-\[highlighted\]\:bg-on-surface\/8[data-highlighted] { + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .data-\[highlighted\]\:bg-on-surface\/8[data-highlighted] { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } + } + .data-\[highlighted\]\:before\:bg-on-surface\/8[data-highlighted]:before { + content: var(--tw-content); + background-color: var(--md-sys-color-on-surface); + } + @supports (color: color-mix(in lab, red, red)) { + .data-\[highlighted\]\:before\:bg-on-surface\/8[data-highlighted]:before { + background-color: color-mix( + in oklab, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } + } + .data-\[orientation\=horizontal\]\:h-full[data-orientation="horizontal"], + .data-\[orientation\=vertical\]\:h-full[data-orientation="vertical"] { + height: 100%; + } + .data-\[orientation\=vertical\]\:w-1[data-orientation="vertical"] { + width: var(--spacing); + } + .data-\[orientation\=vertical\]\:w-11[data-orientation="vertical"] { + width: calc(var(--spacing) * 11); + } + .data-\[orientation\=vertical\]\:w-full[data-orientation="vertical"] { + width: 100%; + } + .data-\[orientation\=vertical\]\:flex-col[data-orientation="vertical"] { + flex-direction: column; + } + .data-\[placeholder\]\:text-on-surface-variant[data-placeholder] { + color: var(--md-sys-color-on-surface-variant); + } + .data-\[side\=none\]\:transition-none[data-side="none"] { + transition-property: none; + } + .data-\[starting-style\]\:h-0[data-starting-style] { + height: 0; + } + .data-\[starting-style\]\:scale-90[data-starting-style] { + --tw-scale-x: 90%; + --tw-scale-y: 90%; + --tw-scale-z: 90%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .data-\[starting-style\]\:opacity-0[data-starting-style] { + opacity: 0; + } + .data-\[state\=open\]\:bg-secondary-container[data-state="open"] { + background-color: var(--md-sys-color-secondary-container); + } + .data-\[state\=open\]\:text-on-secondary-container[data-state="open"] { + color: var(--md-sys-color-on-secondary-container); + } + @media (prefers-reduced-motion: reduce) { + .motion-reduce\:transform-none { + transform: none; + } + .motion-reduce\:transition-none { + transition-property: none; + } + .motion-reduce\:before\:transition-none:before { + content: var(--tw-content); + transition-property: none; + } + } + @media (min-width: 37.5rem) { + .medium\:flex { + display: flex; + } + .medium\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .medium\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + } + @media (min-width: 40rem) { + .sm\:ml-0 { + margin-left: 0; + } + .sm\:ml-auto { + margin-left: auto; + } + .sm\:block { + display: block; + } + .sm\:flex { + display: flex; + } + .sm\:inline { + display: inline; + } + .sm\:inline-block { + display: inline-block; + } + .sm\:max-h-\[48\%\] { + max-height: 48%; + } + .sm\:w-96 { + width: calc(var(--spacing) * 96); + } + .sm\:max-w-lg { + max-width: var(--container-lg); + } + .sm\:flex-1 { + flex: 1; + } + .sm\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .sm\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .sm\:flex-row { + flex-direction: row; + } + .sm\:flex-wrap { + flex-wrap: wrap; + } + .sm\:items-center { + align-items: center; + } + .sm\:gap-2 { + gap: calc(var(--spacing) * 2); + } + .sm\:self-center { + align-self: center; + } + .sm\:p-4 { + padding: calc(var(--spacing) * 4); + } + .sm\:px-4 { + padding-inline: calc(var(--spacing) * 4); + } + .sm\:px-5 { + padding-inline: calc(var(--spacing) * 5); + } + .sm\:py-4 { + padding-block: calc(var(--spacing) * 4); + } + .sm\:py-6 { + padding-block: calc(var(--spacing) * 6); + } + } + @media (min-width: 48rem) { + .md\:col-span-2 { + grid-column: span 2 / span 2; + } + .md\:max-w-\[45ch\] { + max-width: 45ch; + } + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .md\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .md\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .md\:border-2 { + border-style: var(--tw-border-style); + border-width: 2px; + } + .md\:p-8 { + padding: calc(var(--spacing) * 8); + } + } + @media (min-width: 52.5rem) { + .expanded\:inline { + display: inline; + } + .expanded\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .expanded\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .expanded\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .expanded\:grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + } + @media (min-width: 64rem) { + .lg\:h-full { + height: 100%; + } + .lg\:max-h-none { + max-height: none; + } + .lg\:min-h-0 { + min-height: 0; + } + .lg\:w-\[min\(420px\,38\%\)\] { + width: min(420px, 38%); + } + .lg\:flex-\[1\.15\] { + flex: 1.15; + } + .lg\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .lg\:grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .lg\:grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .lg\:grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + .lg\:grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + .lg\:grid-cols-\[minmax\(240px\,320px\)_1fr\] { + grid-template-columns: minmax(240px, 320px) 1fr; + } + .lg\:flex-row { + flex-direction: row; + } + .lg\:overflow-hidden { + overflow: hidden; + } + .lg\:border-t-0 { + border-top-style: var(--tw-border-style); + border-top-width: 0; + } + .lg\:border-l { + border-left-style: var(--tw-border-style); + border-left-width: 1px; + } + .lg\:border-l-2 { + border-left-style: var(--tw-border-style); + border-left-width: 2px; + } + } + @media (min-width: 80rem) { + .xl\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + } + @media (prefers-color-scheme: dark) { + .dark\:text-emerald-400 { + color: var(--color-emerald-400); + } + } + .\[\&_\*\]\:\!rounded-\[3px\] * { + border-radius: 3px !important; + } + .\[\&_\*\]\:\!rounded-extra-small * { + border-radius: var(--md-sys-shape-corner-extra-small) !important; + } + .\[\&_\.text-on-surface-variant\]\:text-on-error-container + .text-on-surface-variant { + color: var(--md-sys-color-on-error-container); + } + .\[\&_\.text-outline\]\:text-on-error-container\/80 .text-outline { + color: var(--md-sys-color-on-error-container); + } + @supports (color: color-mix(in lab, red, red)) { + .\[\&_\.text-outline\]\:text-on-error-container\/80 .text-outline { + color: color-mix( + in oklab, + var(--md-sys-color-on-error-container) 80%, + transparent + ); + } + } + .\[\&_code\]\:bg-transparent code { + background-color: #0000; + } + .\[\&_code\]\:p-0 code { + padding: 0; + } + .\[\&_code\]\:text-\[length\:inherit\] code { + font-size: inherit; + } + .\[\&\:\:-moz-range-thumb\]\:h-4::-moz-range-thumb { + height: calc(var(--spacing) * 4); + } + .\[\&\:\:-moz-range-thumb\]\:w-4::-moz-range-thumb { + width: calc(var(--spacing) * 4); + } + .\[\&\:\:-moz-range-thumb\]\:appearance-none::-moz-range-thumb { + appearance: none; + } + .\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb { + border-radius: var(--md-sys-shape-corner-full); + } + .\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb { + border-style: var(--tw-border-style); + border-width: 0; + } + .\[\&\:\:-moz-range-thumb\]\:bg-primary::-moz-range-thumb { + background-color: var(--md-sys-color-primary); + } + .\[\&\:\:-webkit-slider-thumb\]\:size-3::-webkit-slider-thumb { + width: calc(var(--spacing) * 3); + height: calc(var(--spacing) * 3); + } + .\[\&\:\:-webkit-slider-thumb\]\:size-3\.5::-webkit-slider-thumb { + width: calc(var(--spacing) * 3.5); + height: calc(var(--spacing) * 3.5); + } + .\[\&\:\:-webkit-slider-thumb\]\:h-4::-webkit-slider-thumb { + height: calc(var(--spacing) * 4); + } + .\[\&\:\:-webkit-slider-thumb\]\:w-4::-webkit-slider-thumb { + width: calc(var(--spacing) * 4); + } + .\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb { + appearance: none; + } + .\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb { + border-radius: var(--md-sys-shape-corner-full); + } + .\[\&\:\:-webkit-slider-thumb\]\:bg-primary::-webkit-slider-thumb { + background-color: var(--md-sys-color-primary); + } + .\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb { + background-color: var(--color-white); + } + .\[\&\:\:-webkit-slider-thumb\]\:shadow-md3-1::-webkit-slider-thumb { + --tw-shadow: var(--md-sys-elevation-level1); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .\[\&\:\:-webkit-slider-thumb\]\:shadow-md3-3::-webkit-slider-thumb { + --tw-shadow: var(--md-sys-elevation-level3); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), + var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .\[\&\:\:-webkit-slider-thumb\]\:transition-transform::-webkit-slider-thumb { + transition-property: transform, translate, scale, rotate; + transition-timing-function: var( + --tw-ease, + var(--default-transition-timing-function) + ); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + @media (hover: hover) { + .\[\&\:\:-webkit-slider-thumb\]\:hover\:scale-110::-webkit-slider-thumb:hover { + --tw-scale-x: 110%; + --tw-scale-y: 110%; + --tw-scale-z: 110%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + } + .\[\&\:fullscreen\]\:h-screen:-webkit-full-screen { + height: 100vh; + } + .\[\&\:fullscreen\]\:h-screen:fullscreen { + height: 100vh; + } + .\[\&\:fullscreen\]\:min-h-screen:-webkit-full-screen { + min-height: 100vh; + } + .\[\&\:fullscreen\]\:min-h-screen:fullscreen { + min-height: 100vh; + } + .\[\&\:fullscreen\]\:rounded-none:-webkit-full-screen { + border-radius: var(--md-sys-shape-corner-none); + } + .\[\&\:fullscreen\]\:rounded-none:fullscreen { + border-radius: var(--md-sys-shape-corner-none); + } + .\[\&\>\*\]\:pointer-events-auto > * { + pointer-events: auto; + } + .\[\&\>span\]\:line-clamp-1 > span { + overflow: hidden; + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + } + .\[\&\>svg\]\:h-full > svg { + height: 100%; + } + .\[\&\>svg\]\:w-full > svg { + width: 100%; + } +} +@font-face { + font-family: Google Sans Flex; + src: url(./fonts/GoogleSansFlex-latin.woff2) format(woff2); + font-weight: 1 1000; + font-stretch: 25% 151%; + font-style: oblique -10deg 0deg; + font-display: swap; + unicode-range: + U+d, U+20-7e, U+a0-107, U+10a-113, U+116-11b, U+11e-123, U+126-12b, + U+12e-133, U+136-137, U+139-148, U+14c-14d, U+150-15b, U+15e-165, U+168-17e, + U+181, U+18a, U+18f, U+198-199, U+1a0-1a1, U+1af-1b0, U+1b3-1b4, U+1cd-1ce, + U+218-21b, U+237, U+253, U+257, U+259, U+2bb-2bc, U+2c6-2c7, U+2d8-2dd, + U+2e3, U+300-304, U+306-30c, U+312, U+31b, U+323, U+326-328, U+335, U+337, + U+1e44-1e45, U+1e62-1e63, U+1e80-1e85, U+1e9e, U+1ea0-1ef9, U+2002-2006, + U+2009-200b, U+2013-2014, U+2018-201a, U+201c-201e, U+2022, U+2026, U+202f, + U+2039-203a, U+2044, U+2070, U+2074-2079, U+207b, U+2080-2089, U+20a9, + U+20ac, U+20b9, U+20c1, U+2122, U+2212, U+221a, U+2248, U+2260, U+2264-2265, + U+25cc, U+2780-2788, U+278a-2792, U+fb00-fb04; +} +@font-face { + font-family: Google Sans Code; + src: url(data:font/woff2;base64,d09GMgABAAAAAWq0ABQAAAAESRgAAWo6AAcAQgAAAAAAAAAAAAAAAAAAAAAAAAAAGUganCkbhts8HI8cP0hWQVKSXD9NVkFSVwZgP1NUQVSBKACLCC+BDBEICoKqAIHrYzCHjCQBNgIkA5RcC4poAAQgBY8iByBbPiN0h6YxPAilGt32020IcElTqzXty1+J5hCPT7DVTqZrjE7YYCpq1ffNE2xjotX3eq5tVHItj7Hx////vySZyJhdArskbSkFARSnQ7ff/4PS6G6BSLkMQ8VYrKXkaCiETxO9gOF5nlIe7bKkdSvLXltjXq64pW2qCB/FODbU7lllf8fEbOK2E+7hFi6MoA1iIJrLQjnBKF3kMrj0soW4Dxqvi4uFmGfz2eaEWhpyfLIOlcn3NqZM8bhvNbZijuUCz3iuTYag8UkfQRduJE0SC51OUemUrDa6iYKSMIQhe0I0YytmcJNVuJsNbr4imJEpF44DBhMUXxkGks/t8DjvTR4PS65VOCht46oQQeUFE+cp1qRdVT4yDCTegh1bRjgeCGHKKahndmvsPST7fV33m/L9ox7WQ+n7O91Eg5mYlAX5pVio3v3S37Ng1ohN45/o0PDulDrnafx0vGBBeWBdvPudoEZtfLxX+SWzdgZC7EjiVyT7cBd9Ya8nC6oJsuH+9q4v/JX/wP+UhsNBEIcpAYLUXBpNGuJX25S3wFCuD4ASTdcN0zLmllO2K454ri8i8U91wn+d2z1JHmx9iSutYGWOp239zNtkgQWWiDLAAPuw8qxCvbbyyn8V3o/qGp7X8//cDEHFijWjVK2W6lRP6Fg6dep8bbXb4w3tf59WZJglaEi0NEgIrdWkJGiKBLGuETSJmbBbXqvV14cWRP1e3O7ef5m46ALITMZHGGR1KBwK2YoMtilbhUEYsM34VgZom902Y+nKWqQ5a2LhMIgUJBQkWoQWDLQpo1CxelZOndGLyI/efy+Njx6guf3fkRJDEEwkTNTn136R6qv2V5XzfBWFldAbG6u+223XtTXbIS2t/6oStloNM2xzcAkOkN8noPR0dvc+IN/dA+JFDDpkJ7YHGyQFAP/P/z1tnzvvG45AgczyLKFwCOMIAowiC/of2vb/v0E92frO8WCjCFLtMMQwMEgNDBEloWjj+Kp/dtzwnuWt8rYncYaHbX7Pc4Cbbm72DLCnbuaM7lkxndOeigloYyNgAWKDgYqBMyJW4eq+y3ROiGq/z977e+SZ3NVpAIgCYBVNQkZHxugIm4oCUubNtP/8N+fzax8ZzSQZYAghDQxQ6nYlA7RPRPPUvt7vnDmhfl2oCRWRK67IpY7lJ9ysf28CyzKPgeY4E2331DMTIHXESkWTzH1hv4f21DWF2hd133ea65+sKIpOjh3fHp3j8eIyXoBh50DmJUmSJEmSJEmSJEmSJEmSJEmSXJIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSSZJ9v6mpwExjVlGdFyalyC7njBI6BB22TrRUx1GEv8ZHufs+17y4m1TE6hBkSJDbMpOlduJ+E6+GBs7Ud3OZP/cZ8ZgYgxrqSVp8t47+pb6/9U9tCiybMuWggeInEsMf6TZ3sAF+sJHBMkBdsAoXJwdbIIMABBAlW2NF3cCpmhq/fdIGmmkYdBIoxGCZcuWLUMcdIA22eUsUe4eUeTxUb338RHCEmWzFF4KOImJZAugytn7rd2dlWQr1rtZKixmOXhgCAljxjD0HxDlUvfu9a4pkDRZ8fC04R7+BJyiT+siMEUEmNHgwEuCgQedzZoJK+Y46HdpW3GOHJ5FLB1SUxRd5uqCon61IBZ4Dx74nz9gf9xMdgeE5lwXeNxbYvglfRBIrwz7UkBX6AEcTs2TR4YVZdLvRsUlpIAk2xqWHCV6p8NTtv43e8BLWRnaBSCwerhUlxaw4E06sIEOJjaxYw9usrR1Q4ENONDUlg2W1RfYt9/v7UERUuKrv1DpAtrYuh0f5ZYKEX6BjlhgdYT6+grViXgBZeZKV/b5+tENYCJQeRkOAbavDyCBJDMiUIBVgPT9P1Ot0i40QTSHMoAwnCXXimulWePz5pAzj1rnw91zPqz6VY3qqkITpgEShtRQoDR0Ywhq5pakzEMDaA4IkhpqrEa3xhtqvJfmjI2si4xNnQ/Cizc8Y8MLMhul9y66ILo4uTS+OD6o6EQewgXLu0WXcC2tHVuxZy0GgyeEzz+P94y7FmEDwPBYhHsAOMCPYRhk0P9fqvZt7yOl7kfJoYqy/n/V8dWPVQ5nih23T2p/DSalzSLk1asCaRYKpFUAKHehQLeLoNUNkLK7AMrdBUidJHEs0xKc5+iHEOxJ6T1Q8hQgd/+C1IHsSNs/uyeluM67tIthOcvZLUNeTV7PYrmaM/7/T6uk+qspu+vUpnY5oDTMCw2YJtemyM0j7H3/z9wjlf7q1EpanV3AHBL0MVL4pd9fKpWmK7QTjiwBFCIzwDagRqaZMCNYVY61RmqnmV7EuIn/3sw+3c6teRGLXSrh/rIo5BgeqJSnLBcYoNlx8XEYURHbKzy6MCmUtx8Y8aKqGoMYzIDScbRPw/ZWGFYPqXke/t5pY1qnecMAn9sr+4VRmxPPJMJUA4FY46HaW7PX82r5G0jDEINCUgh1yylwGIWQFxI01CcFhUsKF7I7VilwCI+QSMrjNIUw8Hy2UPHsS4kXOQMYKTiUL8vgKhUsKMJlo6is8P++2bePby184S82yy74cLIQ09KRKL0urIniqsdIa/aUUAPftBqecm+zd+wttbpSMxiX55DfWXL5LG2pVTNIhDuVHMLAw9uy2XmXbJkEK36WgW4Uxl0rA92jbOv/t1+v9t07dwI8d5K0TVi4fOHubkCokpJvoQsvO2G0BaD5s33nZH+JXL+wJceoAJVmYer0hHfztiC3Fa78QzuBIuthINBF6cjnH0BnhvNLly9vV4fB6CNYiUWAwA4+JtNnUtQp2vivraw8u5beUFNKI4dmPL/dlOVhHOeHEJcHMQgxJURvy7UuxzltiOjEOwEwoGCXBgpmLfM/f3UHScNDFKgQFXTQwQQTLOKc2eDOr5w/oyG22d95rBKG2zhiSBqsEItoY8X0qG/4nlQN583nEpIoSMMDlqvArHAOlYveVeui9E/M6d+747JtIXJSYtYyxlCzyMKFfuIneFJFQhRxFEk69rrJ078yfQnJBGKiAoFAVCAqEBWICkQFogKBmNjd//CotveePdxaivyhbUqAy0hkWSngbT/6f0a/7+cgfojEIhIhEiESEbFERISIeEUiovfe+z4cCFKn97IdVgGHyaeyzAkrQDhM/Yk183nC4JWDNDH2ulzj0tS1hrV+Y8hlLus3rlHqZpG1hCjKyBzC5PjH/8UmwAzoBHjlzWoN8OLr7RrwFAzw2AskB1xAsBBYHAtktgRLAPK/U3GBLBBFAgC5EqIIg4H8/FBQGIqKQpliUI5cKKEQKlYMlSqDqlVDtWqhevVQo0aoWTO0WivUrgPq1gcNGIDShmhzLMokrJJVWJMrYcOCw9aJCpsUFzYnKWxJSthWWWG7yx92qKJhR2oadkHUYZdEG3ZNfcNuaWrYg5SBvWMksE/MBPa1L6F+8yjUX0NQhAMEIgAKIgLq+YtpseJcvHiWL1mrlJzVS2KtUrhOKV6vlG4dat471L9fKH1chiNKhkNqYGMy4G7g9cAHgV8DmQJMfg9Y8HlgwS8AFj4IggPwGXX7aTaXUtmuWUqbwGbPg3NNH7UcEHD/y1v2Hr/4cZKQ8lH/YJQr1lpcoUwXBCDI72wWdH924MqAAUIwX6Gqa91m4JgYS2N73LbXMU5zjgtc5Rb3ecISxDHDEFigoTEyyo0h5rLIJwqdxd5FK4b+MgDggQ1AgGDiH3uiTdPsJqNuWer4v8jmlUmcG/U70jkUqIr4nIhb+6oEQxNL8nFvSdZdnNH0J/ZhEfdp/1ukEcZe6Zc8hFnuMt7X03+RzR9D/lBZnJ0n5TZ7z+FsenrWwInFhXXDJM4tT3dxln+Dncu+NPYqCIV1q7XYUdS63BXj6uz8z18oQamu78Mi9lLR7581cHptaGK8rPl23jX8t+0Db7nnlol03ZsP9w6Zy7JKBudWqbs4q2r8oQQ3kc5dX6ipJ6zFjpqb/7VwjEX1/Ved8f/3sknVD1j61dPQP3yARVww/kchURt7SUrj3OVZA6cmwy9Y84j59ublnG/GHHbSpa4kXWEaT5yeqGv5HJu/YDvT0vrcc6vu91nbgjF9CXmk2r8LnWcPsIhX1cZesPbPAvZSFAQWI9xr1h86ugy/YN2Yw657w1BJeIVpvHwUm79lPifrncS59ep+n1E5Ykj/yCeNHfViUdiXli6mku2bRUrp1C/lot5loSd6edF2e2fJ6gnSutPdi64/cLDC5Ovrb06ierx2nelNX+9an2UNM/q8saNOisJeGL7txGVb8Kv2zYLMRb2vB+75KKEnerN1p5vxtQ+aLTN9XTyyfOQOK90sd6V79V4l7d1bupiSrQvCkujCktUTta95li/ZSB4122srP5ugLzPsNB0d23j8tjN30BFcV0m8OOsrbgyWRWHe721aHJTJVJU1nbaprO0o306lbJrBWhcjBQQQtjRNgrowBOZcA8zVxMEGSCj3+2Bj2Acb29sAbHOweR2QbhTNt3sz3sN+38trnVVJom/bTP/lpSX/Muv44+Wm3Q/0Vk8Mu9mpYTNDR3r/xy5S6fFwnRws3+/2OL2LbtivexLsnb7KdVM9+LI3w3+J8MXKmpDL9U/WTN2+8/5F7ERqvDJcl2+/PpfJ+XyVx+nDVpJsLthM/eulJR1dbgY3+v0gu3o6XJvyONLQJz5wMuGNo4gVRa72NyZ5DWfnosIiPPL10lIMXW42XRyc5G70+4l7PbEEu3q6BWnomz5ZM8XrROr+27P0ynA93YPwgdu9mQw5n2/zOP22D9cdW2glycPdc+HrpaUCutzsen/kfvHFwUnxRr9fNO75d9/riZX/Z8sZ6Rcra2Wkoe/pROqdK8P16u3eTJWcz6+82t9Qepz+QCtJ3vv6ZU+pF2zm4NdLS4PocnPtxcFJ7Ua/X7/XExv+YmVtGGnoxz5ZM7XYidSHP5bXR/987k2GN3GZ0cuL8wODP/SX/qfDMeNjlHz8CGvuetW4tKvPqE/+27r7Lcdif/e7BrE9Z5bpV/+v/RTeZ9RnP5bX90cHDiwbhL/+A1/kUA4/ZzPpunOkHrm+enrw0Lx2NHwrXr7OCZ24vDj/2tx3/qfDMeoxSn7rEdY8/apx6fT5fzffes5mMnQs9h941yD24KF57cEzy/T7f/xuHtGjB5aNhH84M7/vCZf8/r9zfSp1hDUff9W49Pj5fzc/+bd192ees5nMHIv9J981iD2NP3rv2Y+ltWcvL85/dWDZKA3+0D/7GFXXPinq5cB0NWvuaNbkrX9bN96WOJzqtJvTnk7HZmdeyCKrz359bl32/nXV3/vnd+Tc+Vdy/2Xnj/rQ63/kddfv/pV9dOLf8v++fNiFv4snEZ8BcDzlD47/++KEr/acbAt2a5lYz7Km8+pu/0jXr3qiPdvzLQcYtmM+q/PqexjODNd6bq7Oa0UyXJ0ZrfcCD8/kwDgV1rcMTla1S+2XPqzOdqwc6KV8i6n6mVK/10tLV+/NCk9v3b202Ovc35vudamApRpL318IFMD0wgG7whwt5eLRslDF1xvHgVOgZn10NWj+bdKwCnHpU/yOJzXHQc7v0moKlJHFymmRM1yhkrIpFYWqj6GqVk26uuURaXZ0QCtW+euO7sTvp4/XNduQaXNs9Z22/X/bSDvXdtB/5J4PGOy3maDpahtg6asj90NMqvqw81NPDDi1hVNgmWVSuH0IXQffOeN5E8R+15sB3/24vwFxAmu46xac4AwlvY0SgY8PQKJCSUCZlpG8f34HUA5OKbclDgMVR+w8VKpVDUuHz5WI/JhYDaaWBu7vLHiOpXahwN9ugryo8mUeWoXf3wKcCQp3pIKADqBrIBWjSXslqlRGmY76KlcBDYw8nqpRNmIUqganGon/lkDt4sUbwAS/d4+mTrOGJ7HQm8VXYNmwFae1UqtOrF0ut3W4OxD3Naf0wIIGDAOj5qn4veQypRB2Y8/trl53sSYHZxrIqiivYIRx52a9EBzfEe2g+/LSEsT2dtB7YWUNUhdvY5TN5yB222ZC6cuDkywD++YUKLOrp6C2MlyHdlUU6sSIKvNRMINV1OEjHYeZvtoba4qw/sPClf4VGkEjKCDjf7f81p7xb2y/p3X8e9c/0BQ8gO3s3v8jkA9MgSCtvW8/uHBGs76bNX8w3BGB7f9/9b+co75Y8+FI2gOA/k+VoBX7JyM1Erz9Z32HqZ1R/hfLDau1r/zTfDe10HN0RrGToEgjZJD8/LG66tISQm/FOjp1AOjXngAGB+vO62shl9VnhdMJUNYrwh6XJASEcYNw5Q1V6AOwqxZytoMZau1xduz69pIDN4SYv4qo5PUgoL4PpKzmB+HtG0EUAoY9CYStrR7wsSoDhjiLwnDsHfaphxB6q6PoyuvLuE8Pgp09nm734FFt3xyyO9d9zGCFDZefTGMCNbH1ryT35FbliGcIqdGv7gyzgNl9YAkBEITorA0dXu3w5fYohzL2db0R7mYAmv8JYfZHtKbdQ/yrhCufapAB7sjlcR5s4j2ER/kTaTdrwgdDHFfjgaI1X7zsO6DwzSn0nyduuIS/+B9swGrHDv7vaNKBnIUKtxDQIStkLRa2g3cEfHn927/2tiRIWPST58+1qAD8F/hgF4U3T1Cn9p2w7J8vgM/C/hJsvnArrvb4atM1axbQhM3jb9W/df/C8PMgw1+2wb/Pe5fLGKUdaH/s0ht7++Ysu/+6f2v9ic+v8O7cMKJnD/PTExHXNFpUxdXuf3UJW7STNdZVG+s695s8Iv300RARrcbYDG8lVon0veLmmIravYo6H6LubtWKxNkVhzjFZE2iaB03ie7YwBqvkqtH5gqzJyCJw9I+gbFsx4Zn2XfWadny2T255vkQjzofquOunW9cAXiE+N6ZiYMyHknQgKh+n9B07YhtOTZK5NwboixPSMWt4UkFzjZJJdTRowQPdJoe4UFS4tRQMLqGnBdS0wnJHeOqKRDHxKg0T1JoBXnpZiOf4Mt4RoUM0GS6Qg3yO1mi+hguX8mnD03MxzIX4UQgUZUfKYTqp37O9uEuX1NGQPhdFaHV833lm1qJrB49/2lAkIKYJAV+EPVU+0IRqj7pkt5UBhJTGJex0bhJbuZkPpkfjls6GNhUzc/aGHTN9sjAyNS77CGRIVDKSQ1zReBqWqJBd6t36J3r3HLsKd+jlgawfznauyYYFaqgnfDF/NHdPYUBgBuptfGbCYdFUlTNOlV0VzjG9nlpH5ikaTnBvFUMyw8YwvbHVWuE26bNhru9rD9M7EbB7rdwdXH2If57nXFTbT+8XvgY6cFUi3ivEEAYipsis89ZasXOAiu7NW6/rMlG2nQ4HHFMd0Z8Sy0MFL8+RYXDAQtSQCpOtFVS9CpUMho2zGydURYT5rgsWxZcSfGEVl060TXFIHvtZRNfZ7nkrrd8EohMHI6MYP8tk79ZFAU5NSRBWoSOgp6SgchIxUTNTMNCYqVlo2O/6jk62IJBilEFk0pmwyzWsVpfUjbYiLGptJk0hZjGmsGZxZrbc62PYEWwrzQ4Vhacqw6u1QT3aoNndcG7puBb8xF/PLAu7PJtfpOFxzdyoCkJVBVIxENCg7WEMChyCkoiFTUNifaJTqqvL8uVM0jGRaprrV0GS9KpPLIaHSuaSJQLp5KRaZPsHJxc6Y6kW01S58eCelF57iUjga+rCFhXd+BBCz2RWdBJZcs4IyMb26DwWk15kn6QLchiE22on3TTYCymcbR3TAAazYHaQqoIRjHXYORlMM9r0gaRYsB8eQoPYoPMCXJXcDICRGrwIqomqIrVE4NoiZSPIVuGu5aj+YloSHa4xCRJAWn4NbFPG5iWiB5lLfBpl7BRyir4E3hoBRTq2lCC0EAZBI6c+ERrcNEkIUNk2gsumITmjTrPEDl+bVBlZgc22Lrwp0DwkIIJZr+1ILpGU6QqCaIEgwGXFBf9VeKfhFH7oN/NxMgWw15YrLzkVQGtlJJIlepLijSkqtPzyCA9vmnOWxCWghDuhiFbrko1mrXp1GUg1jxLZV2NeIeJWsxm8sKiOYux/BqfXS36jncOSpznZYcwyZcXPcd6eFlW+SC8LPRTuKEwcKOb3Ow293goHml+PONZL3jJy/HK/0zkgzoYkw+hgCWBNYEtgS1RAAsCU54nKrW7UsL/Rc2vEjYpZ7GISB3Op/Cik5aRqayKq641OGHaKcv4D2WEkzE9ykWQOx3FeOXNJTA+BnN436MRPSTVM3ozoYSeWWdMcbC6760OHGVBIH+lWSn67o8gIQoS9p6BKnrkzQOrF9CyqzAS0g5H96yEjwfagD4Cc113FjjQ1B/SiUSvw7vtgv1WsPcL8nrc5qz/h923CNnd8/9wlJisbmdv8HPwcn09qE3V/leFJHfQ27rWaxvdR94h6y6kyG1k3EMaHGozbB1FGaniv93Ae6R1K1RepvAQdRllqIv1Aei2HqY7u2uXSU5UvyMgxn2n1HjcYoXb+mUXJnSfYx8Ze6Zcu9qps7gF/CItac3Ed8aaLowxwAQMz3+bRrX7NlNggW1tZi/4+D4O4VzawsIyZTa5I1ohRjVWPU4zXgeZvgNFWMXkkZZwXOu3YkdDctkqqtShUbFaq/6U0rpOBSV4kbqV6Uvfdd1hYOfCtKcOBTjQk5XyDcsJ7U9T6v77UUYoGGmYO/tSthkpSb4aDVrMUSRsZrsoh9ND6o3fd01vhjPG0vecUGlCpKwcRq+Z6wFq2YDWt0zh7pnaqex+uuat7Krvinis1eOUvW8AEO6+xw8OtO6YgXS5GYJqqzC2Kce+X8AsY8+ayZztn8phvyNIpZMBdXFq5A5KhJe5STCnsrBi+CqTeFWuWDEVrYyaRPtIp3Ff9VrTAI+Muqc0V5FHVgOVthEU7JwSijVGS9PQpdeAQWtj9DUa45iVNKLji4OZlI1lniIyH5vVudTyht4hvtTnU26i1OsUjKaYq/9F9BMkBRDAn2InNLQWlLDQTnSAdXsfQ+c7Y6SU2UZMmr76gVP7YK4cy/fESRS4LuLIGqB8Xw4H9k032zYLHX7Lp6NAXw6h7wfh7SBC4uqNto5Du4rjrf0g8luAU6IOEj52ynIyZ8FnrOb4j4XX4Ic9ysmZpWkdeIQpd0NbNq8NkoS8+grR8TRnP6Dn9GKuzUFWXA0btmMUEjDoQi/ljc2A5lt4zccHZKH4AXvhSjnTzDVrqq8V6/9zWDgcwrbypbsZWOZ7gTAEpWSvERm1Y2dbWYw9wLSRUe60NAIICNnqh3qtO6474JlBfpuKdc183Ypo3zsqPbviZev6ZuW05dddpRTqpqbpZ7XDx4OeNsN3A5RdWvja+IvqVtQhy15ZBuHaKRj5gdx0fECjL16gcujMAzQxno4bQCXMLVfB1xQWoY19sxvHsu2KZtEuixFqU9GK1hopZv1XY+QZDRfWUKgL3kG+ox/+Hkbm74RCFRAShHUKuQIgWxP6hrCIDNli4nLklcRELDyCaEQkZBQxYlHRxKFjYGJh4+DptwBx4iVIlCTFDanSpEPKkClLthwExNLyt+/jdPi5fRW299//6+Ad7/yrHx7Z0eQ5OkxqnOKPKNKIIkodOsaYlY2Tp/yERCX69FrLVZGKelqpa2BcM3d9mm1/G2r7dqpr8mDA8P2pIAhQUEEAunAQUUI3WOEGQRNHRqXUNPT1jyV2fber/gy9DKRwxSJZGfIpuVSpGt6vXRN7M+wnav7hq9j1tnWos5un9/gT+HkYABASBh4JFQMbjzCSjpyKloGJlYM7vkZQRFxKVkFZbWyqs+nvgTTKlC36tcuO6sil7rxuPv4bCDjU81gAYAIyGiYOPhHp9pnPzM3MF8xT/giJJmF2J7CVP8zZJauMdbfOMfNpT950s/+iT7eMXceHge0zX/aB8vZZL69UU3BDXKK47ZmI7CMQYrJSZk7Tn1cumKX0PmUfF+9coBOuGMk+Y+TXlLanStVo387WMzxkcnw/51rV1sHZzdP7+R+ABL6G4QQKCSZ4QUItBmy8rwhrNyCJnKlKi4GJNQ4XNz2tryYp2IpkbdwfmhquyZpN4V1SWdVWb7v5NqSO3rds1JteWIyCvmZ7d4h0tC6xdE/Tq3/zBzgmpxNiw3NaE0pc7EwEZWRJy0uZAlfi6Hy2ReXXMrLUuIoxNdPpRszLvFrX5hxOwPXU9ueEDJEeVTfRqnRXN7dhluL+jfqfCoKzXtWydbsT58Ael7hrXjPYy82qibyZaa9NnUZnwzUXyY8wAeL4HiigoQIFNAQAHc2r46qtENFtClZR6LZp1vzs50aVegpF0PRi/njKYlKUozlEn/mnZil7uOKVBKLCSYz75KgymcvPq2RNdXmpodXWem1o0s+9VW3NHSZrz0eON+VZbzc/FTyw55EAKga+I2FSqcJg7OIhvOvT5buefE6lS9omBupN+HBr/ZNUh+rW+/BNBJciRrxSk1Xoy05NU0c/ozDNgrOmcaceXfr7zOvmo/2tg5hJg4OCve2So710PdRoXMzi4BORUvRqT8cYs8RG5Ww8yZ8QJ5qV0NLJoYqqQv2uK+PnanfZDKKN22xu2bRN7efkmocCNt9vyHpMB6GgnUMAegnXIS5RjPCs9B0OllrMg3vopYJDdLGUMVP2NGZ9vg3937YING3f021XraJ7rRuYKaxVsUZPpp5hN7+qUlu3uj7PxnFNtTtTT/RhuBNyDufKtO2dhybOG/Qb6jy9/d7M+iz9Z4BXfw2AQT6PATDwSKgY2HiEJORUtAxMsU444ma+ChIRl0rWKSinJmlSdaJvVFMWWcPu+sgncPoy3L8X47X53Pp0nUzIwKFgEZDRwvQ4+ESkURhqOkbmsuGMx/ILiUpIy41FszLWQStdNqgxs1qysXfK1W9f9TfmrzYfWqAIlBqi0AoHEQV998q69XNcOSXYYUmsJRvlnMbQ5z9jyd5u40J5VWDCfQyVJLOUX1dS7RuqvdTr+mH0E645q2F7JgdaOs/mblLP5c2b3xdt8NnRYIXUMPBF8hVq/e7ajKe02W3xRkjSy819q3ZES/dtmJRp92Vt78vRDe7XvO8b7f8nJzu4RDhxGlKXSBZD4RJV3lJtOteUvpNzfXc8o5rs6Szm1iY7qmNc3L3Gj/MHAg51gwVFEDKjFRMO/u73rltLSkEdncZIZVY2c84+HvT+rNASZYmWlqsiFXUtXQNjM0ub7Pv+tJAr1UMAvv7G5IL2I1D4XlxEj5bgoohBQQ9LcQmIS4aShn77atvc0+5nl7ni5QTorydc/6bcmJtsk4mlvOtLvKl+p9vQ7nvIMGtiaT6slWxxXId66J55c/tO97n07obf1/DACyw6pP1OgGn4kGikegzs8DRCPK2kfm88+eSpRtsbcs7kl6wDjjl38CXIfcSIz6U62aFwC5SrtvtuHnVox/9S+zWSKVu09dKuy5HqYu197vXsc+XfQMCD0mCpERp5BS0nn1kc/Iiyl9qnUdTkq0sXozCzlRMPv5BoEn77Cszn8/kXqqVrUOOYWdrU3mWecfUAbL5zwe8qpgCqEIOGC9GEQgP9MnsWh4sSKPHIKHuNLz3/vUXZueINgYRZrCWTCflWalWNsR30vv6KHYJzNW+tZuvg7ObpPf5C8FdgNYVI74fBroEvUp6eGvuQQY1dvETIvaQpeaIK2jJgilXjoNEd+gRFxKVkFcYyVE2arFN9RjVlYW3n6DLeIS969rmKbiCBCxRsESCjhenCoeIjIi0Farrd33HPwxwbcz7z7Cx/CyVKLVFpfa7ri1yVqFeLroGxmWW/SXunx681RY8Cbr4xaH+90HgYIzhoariRGFNCFyzcEohYI8OgvERp9rb0++rf8VhqH9upXFnrbSpgbdgeElusZPqMHH++9nGJqto0OO0Ye/EwE8kctWrb5oA6a7f+uVTvffJLwF+E7yWBQcL0eIOEumH8asB+b16ddRC+gl8rcZGjVIuWGZopViqH5l7yDSu4pYhJPCqVZDmF+DnlVz2oajSXOnj6fn1IMrI1ncXc2mQXOVJ/cf2d62X43F2LqRZka+DtHEoG7JuJd6UEnCI/ltJyianHw6kp5Y/oU2m84THFWrWlK2NjltioOXtPx58Qi1Yi0nJzxYVUUPXOtdya7q4Mcm5sDpkdu2aJtZs+e6pT566uf/BpYPjeXVMGWqABUWhwiCjoWOH6CKiJ52RjyjmNvol35Cn7D0vZxxUvKiBhFqukZEReqaq27yYtk8ku2KTmOWS1Z83W1EGdexy3mrIn783vH5aDMeUwS0gTDPV4baQ11ClGzxa8EmqSJXm/UX3D1cNcyzHQYLpEWcfBzScoMhcfVoqsgrKapo5+P+pMLZbW22qnjp27mNzT6+ZT/AXk6eC1L1BU2CAgo4VpcMJnopKGgjq6iJGaudnKmTWeDc0vJCohXTlzxa4q1taPqRZdg/sa3wtzM6klm9q3P5lcqR4KcPMtQQO9QYBCg0NECd1ghcsETUxWykQj9P7LYvc71PNwlTcCwmIv83vPh2WGh/z3UpaWql01qq3XD42JuVVtOTi75em9b34VGBgkzA0eioSKgd14hLvr9FzJGxVHS2XQTLGiOZq7fIbg9wJ3XaJDdZ6Wqmxa4bZ4rKqNqjmd9NGPXKZUi2bNdnXk4j73Gm8+EbEXECq4QrntqpsEYSFnaFlMxYFPRBqFo+51o86YOy1z2Dh5tqdIEARB/HyC2IgzWn3XGBjPzdp+ybWpvZNrPQTAX/0C1KAFGhCFBoeIgo4Vro+ASuylP/n4AlFmaRY9+y+L3cm97Ki54qUWqLDEWLIykVdK1Who62WYNZE5ZxW2Ds5zty3tOffOm18D3gwM+wZJcxg0/CnSSUMtBuy7f/Y8TwlHErlEFbS9oYkJsaIc256u5nRzEUPkJdbFpcZsU6hy+5pNM1pnTX9oZGrx17+uD2l2WccuXUzukRd1H1y1t0D4Gh6/GoKiwpojuIF8R7+GZnomv8rPcrtcy3clWqTcKzJqWtIhRpTZ09vqqVpnV57xC/31RmNqE5bSJjmqYlTUtdINg4w5s6yltrFvJ9e5x1IBG78daPvKqbugQgduhtjvO0oM9Ev0LC6uCEA8yG6ZjcpOU3r+WWLP3tXES31AW7hibcnKTF7p8WpdhEZr6xma1DxWtg45+9xoeL56/N/q3vX/b/e7e8oe3BYshyKbHsMfX3y9b09yRR3GHNvgEZZE5EoVLfeGjom1dwT3km9ZUOSQ+P6lVLTsG71nqpCUWa0100n9taPRmmne12LPcaxr6nep43KR/h550c1n+CsI+AZ1RcIiFFloirnh7CHwS6SkpejVjo6RObbg5OGvkM++A55Lglq65YbiJd6/UtNQn5augbGZpY29U66tB+Df/44ggBHqGsEnUGhwIcq7KfVwpGexUtwREJNR0tD77y3tkn1cLrwCCetSrHnVTxtNY0blp5Sqamjr1ZCJuZWtg7Obp/fzP4AJHBhDFgY8EmoYDhuPkCRyQ0XLwFRWzcG9eyU5l2CKVFylJquQMtQ0dfSNasrC2s7Rxd1r/Mx/G8gVVHBQsAjIaJg4+ESkFNR0jBvzHoZscTJP+QmJSkjLpehToarrW5lu1EDGmVnUMjb2deJ624VmfiP1R+bvArSvQDEtEKB7nCKGwujFgjsIdrlriedkQblGg06Pu+3w/wp+rcXFjnItXhaoMLE+2bWMfJVsT8rC4rXWuxY9yZDWTNqaz8r2TX2Kb1qcueUp3pvf9y/B0xIGEgYeCRUDG4+QZHvalnvg0oaBiZUjbscnKCKelJFVSFn62liz7yD97EdaU7VQa5vd9y+PO+vi7vXJZ/X3q1aQaQVPUAxbBMhFg4mDT0RKQU3HyPwyPz9OK+fiCf4KEZWQllNMxadOc61huqgB437m+iXXRu07dxqtuW716AFcf3O/BlFBBwENF6IJJYouLMZtAuKShZKGfne65ynL2Lm2Z7hzAsJzMZMkPZ6p3711flqXpqrRt1MvQzZp86yottohZ9RNPa15r25+X9qA42QDK2Rg4JFQMW67zG3urGkjXCS8Pclh8xrjZKNlYOqthoObr4JEEndSybJCK6dGY3PT0TcytbC2G48wXjZ3r6986g+2GCFbOFSPtY1wTcbONFqYKM7wO5H/TigpCmo6xpgdGydP/CqUKEtUmlwrppLqWro1iLFZltbG3snVA3Dz3YEGCnGDhsAV0V3X54VFxypuItCzvlq9ayeTUrY0o/cfi2Hn4hWoMLEkrYy8kqqGdvUYmphvz8hut54DHXrenhuO41nT7p2b3x68x2Ex7ZFglvAuJCpqMLDDixKKhMlLhZaBKdaMg8qNbxP8xq0XqyLiSYlsCpkyVW2aOvpGphZZ++yijnJh93rZfBy+eIDsajrABwUbgiKjYTZO+FQivXQURcypF+h6ozCXDSdP81eIaEtIy1VxKqkbLV2DjNXs69+VHRxOH3YuV9o89gcgb75H0EAhoOEQt68E332kn6Vn8cDd5clREDHImpKm9F71it4cz7DHJbxzAS+cGEtWRuUpqfaNTrv1DDOB+dJqi61Df1a3pWd6dz88PIG5YIOEgd+QHkKGSj1Dix28CIWEvFTptU0MVKZ1VvOdwFFufAmqSOKcFGRbYSyfaprVoZ+Ry5SGxWUsrTfYObq0u9fw2dVv8fy3P0OywQvVhg0BRVY0mDjhG6JII4ootaZjLDM2Tp7ev6NCE5XY/o6onTfnMypz9e2ttaZ72NxAaqzN+qWxqT2nutYDcP3F5y+g/QXKEA0dHBVRo4SOxhq5F0HEsntn3uKci4vL5nKGnYt3DEDCVLHd+nuhF0am8lGaq7qna9R0aUdvaRiZUM1jZevg7NY/u/b+q78rGDLCrkgYeKQNdQ8WAxsvQo0kSq5Udie6NTFEb9LeyuUYd3wiKNLiUrJVoKymqaPfj6bbEz19bdfpunPbz6eurrfWzno9+1zdbiDgULAIyNvrd7i9JE5uHHyi7WkOt9eMk5uarjdqzNTbUM7Gw/wVIiohnZxTTCXUq+WQ7p41A1NjNdtxLGt/21Dts/bU1NXSwwSgf/R7B9V0hzYIhi4cRBT0sFy4dDyCmu7iHiLzvZIHzfdy17f/WGjOPihXD/GurAmY4wrX/h6jQ5LNJvPYPZ8pRVU313DVlh4b1oS5VbbGIef4Zvik7nR/1vuv/h5gOAbYZRYyMPBIoRoMbDzCXtKTU9Ey9CbHGgdzl2+CIuJSsgrKan1zpNP6RqZZ5PaV2+P0YzdxaXev6w+unjcQcKhgDULIjNaYOMUPUaRKQU3XjA/NtUXZGifzlJ+QqMT2WmpPT8+LWKqPtapbg4z1w2b12HOJbOg/Z/fx8HniQ67dmoeZA2Tz/f4XaHpB+/SIuhhBHw8Oux2Ib4MyQf/4sWK3H7cEI+5lhpKGvv6xxO64eAWExVpSJnlWOrS6R2OpbfRq6Agm9WLd3Kq2W3tonJduxrPe2fz+9htc0xsGEgYeCRUDG4+QhPw4VJjeWgxMc1bHwc338wVFxOdSRjYFvo/ynjW1qCadI+jXi3Uj07ULv3btskMd5+KeVwyfz+Kxz58WBHhQssF+w9ZuA8IS2YRGxRxO+FEipFEIdXTMOJo/Nk6e3j9fCi1W1FLCSB9Prh5+iry20mzqj31amS7VoG2cGWqpbezrxNUD8Mn3C/oxXygUwvGg67EvTntizFHcGvqwWMLN+xDsWCM2JWspcxya2oH+bf2P/vPfEkf4tcdjX5ce4u0PCdhn4Q/5xvLjmqzpm9nbzg8/DqWYvtWsbdi0qe9pDdtPJPOsVbLlHOKQ85Y1N1PPHc+7fvj7++39wNMPZgmZazE9fEgcKg2MS4SNjwevPuQntIPk2wc8/Mn5bamGa7RmraH/+Jhq/7NSObbktuWTICdCfTyl5rL9x6tQ+185q7a1zaY67ru/tHbkjm9a029Ra7sc1WXp3vUvPvW5+idI4NKh3OeA7QnoyPhss4Zmjo9Z05+ztXxLtCTNJYVGTaVrjFHmsXHy8CfkjiJqf1TF/jslG0sOLEaL5eAk5xemFJVLklDIqlgxp1JlXKrV8qhXz69Rp4BuA2LShiSMWKPAehsVGTWq1IQ5ZZYtq1Z2F6l3NLl0HjfBjQiVkJYkqUCKlFpS5e8YhTXtbOSou0lrU7vNjI7COg2XNWYm1Qdf4o49KfCCNGGIgBxREAUqiYrYnSHOVYit9mXKa25GdYvdGe25N6d99+N6ibI8btSUz2StXblDZ8GUHYiLsFj5OJwEHi9JRqaAQFBITi5KRUVLTc1IQ0NLIjHS0gpwcMrg54cCAjIFBZmEj+vL7XfZZwZWpp44WZ1o2YJipUtcDlZCSJJOAbdCtGJmpeTKWFSj1Dx4tZuurah4NaE0s2qhtJpP66ewNu0oHTrxuisRPWx6+fXR6ycaYJcmGjoY9oN2VlVGbbBRtlFaE6cZbXSLgJi4mHiMrgo9K4nJMRCSvNg2nhAOpkKFzHCQwBQewRJBiqFoYyDpkJOspuXDvrR/3LmWy7gq6Kf3J7nMmEywlFZw7XrjLuSqZaJ8mX+TzU6N1l3pQEhONANVTpdBqBYZ1yH31FLoXC8fdU2AOTQkmzwPOoNF13WAzGPOgc4TISDzJAGdp2wbf1ovOnmW3aw+b7D6oglR3zCpvinsvh0BmnnHDPi+/RFM+k6KTj6VRStfyKN+rah+o6R+qxn/LSve/kRQ+UvA2v8YVtqmHwFlMTaqDWFXOSIDn08AChcUibu7diauzhGqjGwrNnUAviwdQSgnglAuAl/uFhTlyYWqL8/Majg/NNEBKLIvEFtgW2jtfLywMPwLZ1txaZHoBw2OYwg2LpKNi2YnVUzY5uG4iEgjFYN9sdEQD9k9iBgDL0FVRxPUqyBoVllBirAZNwbadSPkrGc61Me2bl8459huIQ9iTTF2bE3NlcctX0ImshF52BXUqKhYct772FZJKVehEoC9VaMhAqF+TZka2Fao5UQ1A1Yd6RDUjRo0btasBViICdVZ9TLbThUfEw2BF46yGsVBy4LTSqeNklU7P78OndwCArqIAIuyswsK1enYDPgPjGN5dCztoHBf6cdEEM5vXBQVgZEo1MmL95AhVpeF8KX3QjN5efoQhCH1Y/oNMLx8iA1Kp6XQjUge5HU5N7ReykvUhXrRQZTGcKw2Lo9JE5inhwxTXZ5G1lIxss76Yw+5lAa1IWkUEBvxTANt4vPBVaN4KhxEXLTFUV5THGMhMo7T9QmurkJQpys7Jih16+mHV9TF4HguMW0GwaJwZoErzFuwKKM69pLNtthqm+1sVWSZWMw0fZgHxUiiKEIx5Rf/CF2PiYYICu9Xh/QVRUSgf99NHRoCylrz77CgEvqeAgtky9ss+6it5Nxzc6eFAwuN0ksQVIROZRFzF755FL7pAJOnzm2C0ygdKq6O+IEkNwDkNjpo4QESsx04XoYs0bHAmnnETBYpDBKgj0oizaGWACZQYFFqGvCQXDKwsFTTz+aFZhaWOYALbcLNUUDxDZZTPGAdMNgp6jKMxMxekTrCFCGIzEZEmj37U14G+rC3JlIo+LbKLhs9PKeIHDkS+tgGDjoPzeZhHi9FZnSlLDF/96pD4RAIo1tCceT4W36HThvixrmGVQhnEn48CTbLzFogQYUclU86LLCZyv0za7EyTIbyghHRzb6IX6t/HlzCsnCmy8vg0sHWbcaw0BMWzEH5NU8VdPN0yMxsH/AgAZYpchsJzVSGkekzhRxnC1s6Sp6Zu9pBEhehgzVJ8L323OAgDY50ku4fxn1XH3NCMM2sXrFz60hY4Y1CS3QQwYSfJR81x2+RE+SZtUmykCJB6jWEHquarP6YyQYN803+CugmTLNbBShmolFyIoZZ5pFbKSQ4s9QIyUMOsJRFx8pB805m371XmqWQPOiJvYa2kCTafuRjAnftQ5dQIMJ0lhtjqc9/+/M1SbWEmRsOcvYfAzssE64Jv63WodqpjSkHB1fYZOa+ZSv3TrQMQobF3yZ/tEwtcycdRBYKRglRhnmUDNtJOCoRmk5HNszMmqIj2pvu25INLmljJ32kltJRCAcKrlg07jUILOVxZbj1X8FJQZdTyO3G12nlLrsQNMYvBi3B/Ok/f49wwhqQU1xaPlA2eDQUB9wOL2/5SFCjXMt2mCz+OY6Fh2KKZISkdHtOiOU1vI/boFPA1xbU4YorQqhQRI6NM48cj8n+uVcn9hwtHFzxQPlFIGwTgSOaHII8T+07F5kTqEefTPMz2ueO7apl5tohNFdIuOX0NIOuXTMbQeaag3bRu6wv/50BNHCWPjcrE+W7LHI12Z9TDy/zt5AXgljlxPp+TEv03eaSa3e16UPBhpUTQmumZRbNsdsx4EwIkQya8/uGRpgF8+RgWZgTtFvT2GZRRKVa7GoUKX+vga2eKA+9gbcmxz6CG/OOnXPklxAx3ihUEhRHpVC5YF8ZIedhhLZoXJ6bv8rwnanGvgbugBw0VPGFJtFF2OQ+pyos5fRiEcMflScaRhN6EfJipLVnI10bLJ9sX7qC8E7gqpVCPu19LvNzClmy/Ccj29Ue7Kbz36XPZqF/jGN2LmK39kNKmq5hhdyPzlRSwXAQ7aawYqM6wsyxUNPgLsEeHvnUOUfnvq6kM525IcKi5SRGxDpPriPJpfUKbctXMJbhMl45IquNWN3VpUlzEQlOxMg0MdRzyZ6Ti5M7LSw+YtehI0SfhRLSwEc+s4bH729TiaK4dxlRSLNpC3zXtOSfIbpQrLAir8qTb1IOONjgmCcu5NP3orHDtExnSnwbEBZ6XQ6U5W/SD0CL/wJXsHYzTEHfUAFO60uF6XaZ9pVqP7qcbYkOj/VfdG209OlfRMm0Zs4c3iVIWGRm6pwtLFNduWmYi0kxJ2s1CbvsN/nGltUYjw5URcucWrMUvOZ02Lc32aYGkLUSGVtj9kUEFWdcMqeqzEJYyxajkv5+2Wy68vkrW8JMq8dgONu4iZopz61wKpu1VSzgM9M4YUn1zJvQd0qvzEFZEhudwjfabVBGNqV9srdZTfte+WF/pp7uvKFI5i6skenmJjPQAlPO8EffE0HMgjuP0ONw2QjiSmbhrIgcsdtHQdm//1hlPgK2TIHy3JAfTZYTZmLVDdEhgMS0xMcF5OZMDvfFtWOSaFzhE9nUj2iW50i+0pUG67oEkb/8kEc+yhGSyA0eWOg8K2KyxnA3h2VkWVzW5nTJMgrOlkxPnmLL3baoV5ezfr+ClgVtb0LLv42adbaFSpZXp5mz2B5g5VSO81FWOXOEDXAQwCCKh1CsYnPEsrnWD65YQVrmFJBPH38FvBtNU1IqEx9FsJi0txAheyFnYUVkHoqwJ9tDsYqtwnV/rWFhnyh7+EEYTDwuqvotyRyCKP9XkhE1RN1XtjmKjKJMOSOjFInLIWLL7znlCCf5HH9OSdyG+SAruopskleWXBM4Z3aZmun2OZoZ97sayfZjsfvItnAKX9b7RkOmWqbfzcOfTn9PSyvClOQ2VP3HhweHDotnmzI8p5BJ9BEhoyTE5hM0x8H7ttBhYrRsQuaG5Rbt4PZujCzZcpajVtLh7DlUU78BtYKqZSdx5QzWjabIQ6FBXNe03UWlU2bCZnDTSUa13GewjQMlzEtLYrHc13QISmnVTs3v/q4jwXebSIR2hF1ljUwvSODjQygJzDXnDoU2fD0HZp/lGO7/fil1G4YzFrHjIHwkLepRUkN2UYPpCELiX5lYRzmokDnh5Qi80wyzRGZeEZ4bjhKMpymbC2mHgE5TDisjn753Da1rJueUrAvAyFihLlzq5JGnqlU/amnO+OhBz5Tb4h0u25bCN8kAyitTvw3E5VmoFSSiPe5CWG3lv8g6wj0vjSdYrlQZocTRUwDTymNOaUtdTCyU6Hve+T4clDBz72XHVWihtWRfKp/N20ajU9N6U3Z/zpbzwTjH7V08PS00poCxc1IgcyGDF6McWPusLHJ0oK4+mjcN0tRlmJZD+CyM2v7t4mG4QrDDarkK19AlTK5uy1NH9XN9dpwWErO4RRH6HlrhTtcGLfHyYnBF7aAm7HH2hryp6ecPKSJ1Adx/QVrsCT6kzgyYFvLjF4zHtc23y043IDM/YukNlifqS5zqTO0/RzxNv4bIR2HJa3tB+LHqHxwvynn3W4CFocg+vOTXnSOfayQHHgXO/Dh28wcJEQ6UpOLhTrF0mVIFc4Fv5gOvYRrSK8Pq+jYLK1UlOvzxNKiebKumI+PFI9OHGuo/IyVxK5vVCpHNfzwlko9hu/FMHdY8y4EVh+97b6mgdM9x3k8EUtKtxG865dbHTAS5x/wsjfB+DScjzFGGgoAsubtZzvMNmQdZj59oJDcE52y8mNCMMJG52D5ifBMaBfaWsUk6Nawk7H8bEsAtbXqybPcG7UEaBeiHmFyqwffTFivQrd5j+jbs7CUJ2midlHNENs+PATG5YeHGVCMZZmbSvFTDZEn0DsuzXGyaWoxtIXQZ18XBUcMyaYH9I8s+I/SSt6MQAc1Pwn8aWcQmQczvBYo43sDOAkJqu9LFZ/EGXmBxhqGCz2Q7JxMK/BZyLZcUkvUO7HBF0qg3xH/nV/wE7fBIuOyzAIfUuE5LahMWk8EM+LrNyf0f0rWx68rmlep65ZW7bIT6pPoziGGvXtt1J9GuwxixNcw/ZPir1zJzhnWmQK0O00sf6ZAdnHPzVKab/J/CpJUOPoZw3kwJMJlZXio4lV3UgGgx3BkFqpXR2F6H9Zj950i7Lg/zTKfzObSLL+HQcAthr0Y1m+yJiWP4Z+mXLCgp8H8WKojt52L4JCDkk5cgy16P2QgKo/Xn/UEg0yaK0F0ocwIOFK6kiEq1yH6+Hti1Ex6SZGZF6ij2XdjVJotfO9u3DpmZxQa4RrwN+sb4EwXKS5Ap1yuUqLy2wMuULOPdZy0jQzci+jKz7MyHL79536OKffQd+JSB3CHh7sj0TTb0UPlwiPDk+5j/SgHuZPlsTOpcnOygYpiygjmzCLSiiV4z/WeeAKdMy6owiBFYxEzb2TGkiEDtmfQcbX4R3ofp+y7LPLY0fbAc515LZnKurcH0WvyGtRJMQXx7n70VTrNrNcfHJ8pgpjxcg7NYGS4IC4CqlzzVljYw4xvbk9pD2ferqsCOylmeOwiNmcYvM9wpzI2hUFZXrZX+yo2Qm5eLsK0tiH8PqENnCY6IE19mvlocyUVwLSWRA9vDkunpONIuU9t/cWHK5e0z8QUjke/+9b6xb7lKiEKOpLl551hCyHAuT3WOjPBH2E+UmV8YIIKeo4rbIy5vFIHvYRHDLOLDHLTNerns/4PMIkPmdopEQoHmUwD7SNh1D3/TDvWYVTlUKZV9d1qUVzhzjEkVVK/lZgJi/zpX7naYjtkh67jaL2IADtao2C10kBxtvzG+LJk6FAEEIrGSetWOJa/oTONLJmGnyL8YoYxzcrGXsNXyVIIXPv800R8Jcai7QKvK5y6Giwl4dsIIn2QxO59UwRtuunsg2d56KubnGb6i6AZ9GU6CuFHfhHOHEZevSJcJ0fxvNgnzgbo0A1yIluSvmbst5m+PIRbFSWRc8Dni12TCcELClcl3jhBTMuP26h24Pm/RbaiRUwPsHFNeiPNO7JWF7PxEQCif8uCL3+PV5dyDUD0oPMCqtbb+D9HbLJNpF588sm2O0vccn3kPd3ncCDjkXmrh+UVIzzJUmtwg0OnTCqoKuVjkx6WBq85O/Zo//yXcTYn2uvcZrRtq9UstG8lUesxRP7rXQtWXFF5LXUVxDB0IY6DbOda9pvjYGWqXcX3egKY6EYhye67hjidtrf6JPh8dlh8z+7AerZBaPbxdwdiefWnwyIEzPU8HEdF+Z0P5jc7ItkIrQhjRGM/gNPojtr9QxkNqa0WyL98I/ScJWkpRjQUH2H9x1uqMGjD8ZRlHZ7gSPobck0HzzLmt/d3rTFyU5rOCLQcehgcT9MgwGmRcp7QJISDhvgGoaWUdNlQZHe31F4d0163hFnuVx5tYu3uIwWktrqMCGoYNhMSQbEXEMFcZIr1pIDvY5j6RKPDsplkk3mEBPZUnOexSY6cr61GB7NZHDGPdYdPDnAtiZ1BbTDD1tYBQjBH6zs+jvKRw9+kUIXMjD9NS5YTed5AQjxFo1zYRV/E6Scv8WJpFgbqWbXQ+yV1zqwhrcfc47ZsbAZioU2xnhBoa5g9lJcfyU7Kz/LDHwA+y58uqJMS01bDH+98aIlxU6hwNdVMoVdbuGA3ocoVDDHqVTFs0fqdAN9sToX8Lv3gokkL7J5n+tB5sEmeyXHGtEpqFU01LMEYqYqw9moG+nm9px8wyV+nEFQjUlvKx7eEWWeqRd0lGUJZB101IVDcJc6VXUieUgEVSkqx0b09M3qcRNSmuhjX3OhFniw/GiNDf0wxiWJA18Ui0cRPgVHvrAZTkWTq2FU4rGGQwoKyRaNkaGZMFemAFVIc8MlsWlRgUGicxUZD7FDdtzOHcRNueqzVKeGOlXFxPJLKg9wVsyo8McrvUKTlIBZdDSe2Wfh9z3+LL02qum3fuNaIaj9m3RDPgaLPd8cHRo3mWomZsRPL5HTi56jXWDBpNxTwUsvHp958aiQlbdjRkQc6OMJWZjmzJjPSajD4D2q3wcJEeJYunwTC9S97usA0cyo4J5RpDHkKA7WQszP8ughCxYWpCiNZ/egjHrh9w47ZiF0GYHnT+NgZHlL1IHyWLEYIX7KaqNS4uYHMM6AQhv69la9wefXOCzXfuECGIQYlFehcAb2NwqmziMAMZEiMKxDElKBpWamC4ovFK0+Yx+DbZ1mzEhCyfoPz5jMKesJz+7PqrmFKlNjUHpiDfZvDM3hfBM/POXlkr7tJL5Ddr1higBZqIoVnRrWYyLCElFFQtASONaBj1SKV9+uSpUOut8cmE6bHjDwOsovY2KpDxxW0lB5NBOOlALbRNL4SFIUknTkOZ1s7yEujXy16QPi1+bJDK9fKG6s/y4W7Is703NaL6kH1/Qu0xvUeHQx2Ct01Bw2ilKTh6avbYcyHEyCGWnPegqYRTBI/+UuT5D8pSk375QdscSQbIjf5udhU/ksisqflNgQp5zlbDvIkjP1ocD/eLKmjWfhxio5SXj4sBgY0pVNMHxps9gOTEXBBFi3Ey+K9xLxG9j2OA+j5g58RAj9cPavBHA4PoomJCEOJKx6HzORjGhwbCTmJNDU6qNM6gBukA6pohvfBCQ0H0qg97SZ8A0CTflDkDhr2gRhkORkLa5AKMuKgt6XQENrJyXdwT2ax2T/nm1/GZbDDwH5Ktj7onCKSzpr7C0Vib86Tbezrwl2mfiwr1SejOnVX8HkZ4dxr0JpJwtkj2ljyZZ+2D0Jh/PqkM5za59oNh7CdPJ2Iyvh0cUAROUOe3uLoFjpOQcg2wJR5yTSUal6Hf5FiNwSBligMAp5/blzkRxHRnR5LqL2uQ6DvJEDwxVJs5lmSWzg4KT/dA518MqkNhn4BbxKzH0zCoAZufnfcY78zQ/H3Sf3jT17j8ujGfYJkQ4W1NRhi1RyoQGQBLVFGVcSnjA4Et2tKNx/iB8oQdN8on9HhNc4cFvw4bTp5w6ai/UUAs+aPbkwKsOWwP/W9ANici7slU3M6YRMrXFblDdrfK9wF+2/wSkg62Ry1TfVSv2el/VD4xJTK7utwxdry49LQGw2xQJnymgPIQqDyKj2R1dru+67pKxNkchVZrmADJUejTVpJyVZTNLXqONHKjRR9gbumDIEiCRUTF/NDhRmrH83eDyUtFVlPi4Bbml3n210xrgqn0l2t0T7nVzn1gzXrslUK9YvXEr/80jv6UdbhqQOokz3+l4xunW/2whVTdd0M4b7Ei40xzVo2Jr075gGA/QBQQ9rIzGbgJAJySG0ugRSD94IiAzFkCQHE56QAQG5AJkiX9eB8SkS5J38ZOo23xSI8yw+yYQ0NmKs480NZk3y+/RVOUIXlTjfu1CmMHlLI58a6rm69VIOHuzuB3SlTQf2tDrMuRFkPTVUm44kmu+7uIHmYsOq01tnLSJeatd+Tp8eFdgoAF8vRETM/He0bAP4Ezl3DGpvyLCzhGQ2sluAc7nIGp3Wy3YF+PMH7tvViepb06duwox+62QXt341KumBWVs2fKarf8lBO9z27rLej3Pgzvw4zXDUXS2toEsT1arWghWL8JF8424qygdNhZZlHL2seadEeSDYONYk+brhK04IE7X5iLKEuwya9BCY4K15N65w1aDh2L5PdvEs1+DxQoHmK3E9PKheVbYIkCnr+6xpUKsWPwzL7B4TKotXnY63YA7PiNtTwxqY4nv9vLPNEZOAGHkD0owmTV0/kPowgtMvGB9PSQf8wKlbumZowo5fv8P+D6jJBdDgqFN07sa/klKtxuMgujqgGIHAiFeZkUJY15ei1z7DY5g07XVZl0mPDQ2e0TknwQOB448x2wvMZzEiG5HzLCkLDsRfq4TKcSqBhHm2LfV8bMclQmKZv/EfdGvq2rJY91Mv8O6lknr8JSZt9YSPgMBCFiXXHnyVC/U3YVrp+JKJpnSAhn0Y4OsY/cscAYT3JAD26rHl4ULErsc/TMnDpCwh0XZr+VPE46EmYPiIX3a6oBZ29TnPtEGAoeGSTWl79eBD6jR4jH2Gvo8A6bX7RoKxqQ9ZtYGyQNs6zrL3exQ7uEUMshKlti2mwXNAR8XGb2KwA/Wy3YwYF98e7hDgN5H7MW9mHyuBWOAThulGAjYK4tefaF0tWpwWyKK5nbLHWjZLNi+qzYAHkh4uQI4oKdLMes4vPTZdsyzZ7a8IBUCR6Yt1Rl5r6ClatKn6rG1Ez5q452Ousgl699DI5qiY7Scl8GFxdwQRhtVc77S+xJwslegY321vDNJxb4vkQIcIAkzXdD34aQ0ODZ5rTWg3wk66jMG69R8hsC0MRSglPRooO+tNj113CI6mKGAqryY1oNJbqE8NAF3ITah9sxfWBXC4+YcucfxcGtdXSIpDbt1rG+8B0cd2jl4ASiwJJ96sRk7z54TySLTirfx9wAg8YQHzi9WC5V4HbuUNU/Ii2JZY/PVeYZm4obH1GY112zjvEFnix8kUdpQ+zzYARg/UuOM1yFhmTUOu0cXjEG4h+CO/bnls6LI4BXBZgpEs5YbxQu1468Vzb3AS5hzaPbjGuB9nobvflL5OVQwrekMyM716tkKWi++yO+Xlqb+LaXIexUojsse08gz8JLI+bfllVs6HY/Vo9drG7rHd9vqX80TPAYTEO+4EROHoUXyONwJsSXkUxUxMywhkOQLYFUHwXJu5lQSmbVkuvyfNRsQhXfNiExtXz8vxZ9QDPkQ1qnmQK+nMTCYtKEkkY9RgYvU5ivNt3vbK7xYEHpTFnE1THEX6LWxZTI+uayE6q2o/Ip0RHy0lYrqLUPVHDOOTHLrsm/lpv4SWZBhL41YS0cAghyfaDqPkBrajO/rdZxnEkuNyTH6742Q3jW0KXhDlA7SHaSNSMa+1sKVF4Se4GCXFNocz0RljE0pbV4b2MRY8U9bJhfzT6gjUOVMBnqEj35x6Zoot23x0jwgj5f2kvxk2TJz6hcPx+CQKkGKCARRCYqx7Ii/CHCKl8yV5ZGkIVXG/o+DKlTFyhuSMKRHk1n5qS5F8b2rrJj1o+SiS5IZRRDRUm0xgQK7HeBegjp8xbhkxQ6linhQEQh1EQPz1OWEq/gnn1gpac+5bKmTtQYoQlU5M244pPXOQc6vkoFUTzbFPB5WwrbBblM6s00zQ8l0kxgmnH4Bwxvb4vUevG5JYS5uEwOEZKhUv+A6tP/oD6pSIMPen4eHHeTMqMi80TLD1DoWGgUafZhHK/V+ul/eFQNauxxejq+A6N5JYP6msz3RWhEIYsWHWctfjSHA858u4/NTQ37ZCGww6SnLX2wxeuzoXVRlULTjfwwV1DMZbRXiem0HBzXJ0oPWyhmRWfrfG6AENOyInNUDciswaDl0BFDf/g+IiED6g4utkwcyTpMyev0F5ImWtAhVtz8UyqMELppxZqCscdlhv/7sfkR/5epinbU752kus8LNpC7gjKxLhqRK6tJ+d4tdQvTsLTz2JovU6xlMF+h9UbFCdJ7fQ2/e4AbNmW/n0pdou9rdO8nWJYLitMOiPyP9QHLEtuO6oP3DjkD6drHDY2qXIhdJWBYfGCBHILavm6PEI9Usg08HYBgaGKCHjAdaQYtjAKugjAE8GiAHcaVCY/aEBJon8IDQOZ6AWQPV9/LwZKyG3p/jjFv6AEZQLFrWF3+bYluA2Bam9Oc6vDw7oUfCjL6oxtX7PwnK50EVmngGyyJxO+7MWtLDXYbkIZez6493cMvhCfGpN0h9JwWZ8C4iZulpfpiWys04gNEkBUYn1sKYM/xWzDAaNjsZ4FXDOzDVRykAmQ5sFQPKzFpCmTr7dSMB2A8cUnTqYGd9PirufqnMUXzpBbZTwOvvdIoTohwmpaNvHoWFVkdLTKrob1tUmqOlnxnkW4wA8YI7KT4OqkKVrCIHu9Upl6EGy6/uvO8rNXuQXMiHp4OvE6UEbQz1aWpAlfU0aMgDLLAQp6OKZiOAWoAPE8A7VyEYC/TB5wQG/58i7qc34m9akK5DqX8MNIoEMbR+aZAgAmTXr1CnUFtL2Q9zSfAOoA46qPAVQ4eZzePEXgigR4wH0D+lE2WKKKgJNLRMzAyMbOwsrHz8onIk69Iiav6r1qdBl0GDVtrnU22F2ysIlNNM8Nic8y3Tr+YuISCVuZp0sbFFxGK0EAUUlJCIvGbVW4DhcZgcXgyAvmbOil4Oyn5iCJU8qjl0ygiKaG16sVvOdnUwayBRRerQTbD7NZyWMdpE5ftE3fBwVNs8CYKvlKDv7QQKCMEKw6hzoZwvSHS5eDaw+DW18G9b4JHr8KGfgkb24h4v0ZOf0du/0Re/0Z+/0VimwPJbQkUzOo3ERTGx587Gp/5su6whivzDEoTc2XvnrUrYzMYrNwz0FPPnkIo7EFgcn5uddcZhJhm1+JKNFXRpicPt2kcqRDkOwNcixGzpUsbM8+zawXvbMokPyGPU+yKi4r0ID4oZ61Nj8ioa86gHyqmUn72bHyQdvKvyZBltWi2zYt195mgh2WIlbV1x+P8ZFMXnsF4MoecUafgeaIun8vcFx6UL1VnWU4wgg0vbsrt6HOePy2bWSuP9GwnSmd81CivlaeZeNoW2+eU440y+WoD8j4qNrdZyEnKzXKkQvnwNdID2gZPKcxStjJflS/q12AZUynh+wRGY1Q51CmA3MDK2IllBoR1LkQt1NApCmauE9pU+ujy1AUffWPtrh/+FI3XbrPoOyfkqAdR95aie1al2ir0O3VexwvqEyPzuy+oxS4y3vJ3EdbfdyrF+jiZOREPdX+zjDfXO3dIomaVP7yy05xS/Pb+J/brVYeoi2r2ybI9aITUi/TZWmgGhCpxjeM6h/BGSk2fQFMym9/TzrEv2C2uw1gi3yTBDH/VS2IDwpLfAM/7X0KjvSVkELKU5OPTRq7cGgD5ikkEnKajS5XQbPLOFayxshpASoWi003CSMlk+bbKK2Ozyev2YYBzkgxJL8rULc0N/iGQ0Wa9abP+ZJBqOgywTfh9uWY20ElU/lq81XoDLVXg3UTH3wjCDFHU0tZBM8BFsj43zTYrJWksZtTiLOUj5m2eb04EUKaRgnE6REq5+D6jPE/mmBdxKZ9ysuXG+vEb3dH3VQ5dwyX+YM3+X6Ij5QEphtBCjEMjc6FcETl6crGdJ19yCG0m9pO5Xdv8dbAb8Fk9LwInLf93Z5R1D2XVZn8XbHQuN+EocAztWImeHY8PuXXT3z2jh7R56ebDL3DS2EId4x8u/DwE9TETA5m28yyv3eOGb/Rr/cTYjMdduqgFO8xfWRPED7FTo1iHSF0/Hmyme0Hs90XDuMnWpVUymXH8zSS6Q8bjcozPzDSU8XF5uyhkyK0SJnKlmM5XtIlb/fCMvKlClIVQAmLVeBQ2WQWoSVFMswkieINEkI+d3NBXBDIgZ2MPmbDvR4aWTjpknCZ+h42IChb1PCGLzEqEJuTBHhQ5QqTpKcQa0RiwuTZQMl0v7etC3DmS9y2iF1jJweBAddCVYdc9oCNCsgwR0hcfQXXtFoQ6ufWF0Z2/2vjC23NndsvvfB3LD1zVMcVMR5bRawRKXKAUxOJhkqdPvZv3mMSi4GUVRgUN0wPq5Xr/fCb3nv80TeBZkeYZiZiWqiV1Q3z9qXM4xkwAmLEJcJWn7CBSwckL8sGMptstgElD8wClCyTZKg5EXaRDdlds59EAOEqmFnkZYwSXQI/8HsgQBsqicy6K4cclFvjxUa/eLzgFlADVH8x1IU61ParB0HK9fe07W9NkJwmQiFQCnd3k0eovXXtAJXqc3mHll1fi+uLBfl4NqHE6Ix6ycDOMoxDaPBx0w0tdb+sk9elCuYi6piNA53dzXGyd6nY3nI/G+kX6mFC0yFFMhjifooLJ0OksCS1uvL60ovUMAXFkT1VKmuhrrv8n/1e9+oOx2/YuXHnLb5NeoMLEjiMp/hGBmczk19xwO6W5Kv3YYJHa1TtFDLvJbEwzn5Wtg7Obpzfx+Fcm1odr5YK7FlikEiWgJtsAUPSf/7APBhIwVGeu8gCrP3vJhItBuFZgPWPUDQGjxRdMRDqqSCKbqIZMF7swtoFHoM7vGo3JCpPMC+bDG2rmdLiS9vOY3qW631RW7oasykwv1YGbWIovYoaXCvkSep0KgICZLGt4aBbctUze6bjotj4W9CNCHDzj8AEPeUs2XiMqZcxi41hAnyrv01rh5aU5drh89fP767imskCyLrdzfCHE83fMYV+bT3vTgxScGcoXNgQUGY0a81MOXGIjnzvU5iArkUiva0X+RE26a2Pdya3YOqcQ+xMU8QuJSoxpDl25w7aKrco5QoGqq1YtdQ2MM3vaXO3LdqZ+Bqdci2YeqvjSA1hMBxooBDQcIkroohdXWAkBsU1PlMUjvVLYVooFWBVDzZrFwns8RXXWL6qYfg919vhhJCpSrc9klW0/nIYYrWdANfPkrZm08h92LLN0S1Zu0MyVL8pd5Mq4jxh32onE4FyuUINudyiyt3C1gFKiixWMXKYPQd6VFrse/UrC5+9RFdDdLA16Q3sQKNE7vgK80xh4Zt+mYV1XJmLaMuAIs4WomnNhK5Pu6W3neJok9qUAQffOYng3L1QC150Z0KDgLMYKulayStOTmXwnFb8lngg2hBIp94y0QiP5nF/f/sZhhrGDJSHmXIg6yIZjDORr9HEIXzp0Cn4pKBHOQIt+6NZVuQIbG5JRuHvQU7VmnhLK7shj+UJoKlPgm9DroSgwKzNcwXSfgqxTJ+VIzKJiYKcoxzrojNw/CAEO61YEenHHju4/C+IidbwBk5pSu56e3c68wtJSXA7ng2piW83mzdNEFhLMOXoiGKi/sUKhkius5toFwCaqRmiNaR5CNLI4QhRivmWbKnppHgrOFenZuBNxoGjGOACs/MU6CkFY+YFCl+Bnk0subFaX2f64iu5o1etZ8fFrx3y6mSNko+yc4T+IUZ6QZ79RhwX13pYwYWlAiHnS6vfJCZiIkif6XDVZRH8Ikp/0OBozvR0ywo506ZMpmLoBswKx51aZEWbbQ+fm9GFlP4fOvOizIg4d//8nYswCAgGX2vXDOM3Luu3Hed3P+/2ujCCgwQRkKGdeiqiVuk72vTAMeBxV00TmWb0sdF0128b2Xf84uHmK1qW1b8l5ZPfVeZ/i/wY3+Z/TDK7na3Ir8TGNiavuOZ0HEOZKaVKanLTi7qvUgkodKtzMNzwxvJZ23EaK+4SnWy1Sh+JK1J2lGRuGr0y5cNfcFuy7vfx5T4N352IYhC7VHbs6lTlb5CMFpJyqPMIgZqropdn9zufm5J/hSkUevS62xCkuW0vxteprwzMhW6hr/Dar1qVMranolutoSZa0EHaS0GbjFd6gKRYi/c62cO+Bs9SWV8l8fWaHLXQXqJKe8r+WkKktlTpmrqDe5pyOQPNKPVIhH8U5Di5XUBtDiZXV8qcUpcVtg8VMBHk6i6bCwpkU4rwMmVKl+V2uKIdTjpx608Y4v1j6Dkyjm4Sr6lOe7UwYiVzCT7wQr6Q4x+jitaRr8fyBhCjG4/r7Nptq67I698CT7dZ8fhV9XjIT3neHHhxuLbTRQMHgLkbgNa1shTFsXW7x/KvkxrxxdbS8uthwJV+TOySHxN1Ka3A7rcWZreWThVRCG028kKkdLTbsZ8oDRLINPYRmeKUo0975iUeNfhviXdCy+t3OEFh8xTh/+48SGulrMfhfwvz8cJRJNJZIlz5YflK5+27WaRQ/ezA4ZUl5HnZDBeZ8QsoDNPHpC8DiIdP/cSuERxKW3IwGzKsPxQDudXAA9+Cq7UinUg+CaMCaN7/k4DqIu8/JZKUN4rPS1QYoz20m02C9uJ6uwJLeHfKyZqYGoatawkLiqk6jBaXJRUxSoBtR6CJH1ocSRZfrQkSFnVaArMCXXiUNnxZnuKm8aq566TCty7DGFryIlZ+kbMNOLQgEj5Cwtse33by2FAZiNcazVVabOgMLFIEHBYQExSBQEGquzaalLf8LAyXy6acIfV07kAkgolkLuvrBxPSj5JKjyUa7XeQez5m2AFnMEgfBUiQBqRnBkJqEwhPporUH4lLSCY3sUCS2EdWh6WbSPLzyqPn5NDSBmoGtsTrPmQi98TKx4eKCi3Hpxgin5+c/9sZb775DdDFc450c53KRTo2HvhNGwhbchkTH2MIUd4pySCs08IkiJb+wTLkKlapWr1mHPukBMOnTpRcZWCQwwMEHKwEKnRMJmOsJpMIEquqWoJE8no4P1ggqYO8RTvd4WlwIhknYXETXkRJL6gnYpFrW+m9nJ+IFrgBqAa22u8Rz5NTpxIRCzT41xzqJmoChIDFx8BUKqSHPQCotZEedYf0s4V+aRIgEBZsOx8DEwp7OUaGSRZXq5Xb704qzb7HyxFPPPJ/9QnrpIx/7ZPqn3vtg1drU9fFcx7mNcx/nMclzeWz7LKn5s5nJ2obq1JeGLehNOm9qyvSdebHw5jPLF6LgEUTngKtC6nwNkmT+OC2wSZ9Mq8YqNmp8kem+fYtOFtS012dOTBex0Jksbs2SDa0jCivsYSQ2EWMYLFqSs8X2EiuMyFEU6AxoQh9yiHgPJONtOh98HRPwVTyAyGDP1eFJVwPZO2jsqmXIu+qZAJuecfMuBEusU6FomVavKANn/DQJ2ZvTM0YJTtNIAi/Q4tOEX7UOSSEbcER07EAfLVfHEigcV8o1IMV/6lTvD2Jp0P4j//NhgOXRwNmgVgTaWUD7KAQL/jGEZ9JpLrXRRR8G4/+Kwe8ZzD8ae82v3OMtP5l6V/0qrlD9TVql9qXj1dpVZcNarkuRdR9Vd9Vvb7zhrdHJpl8lFZu/yaq1fZW93C3HP/BB++DUG8MTs/cUvRd/wOUuflIzvfibuMLVz5d0b4ZINcZ/4/LOv5c7kTpfHBkfl3Ph08Jm9NOaNi82rZSwOr7Xq0l+vSa7X1Rt/qV5d+UrZdfQbGHdulPctOd4ckG6fM+HIKJ1fjB2pFV5VVuTB+bG4rbEsX4z3FLX9G15zWi3r+9r80e1juvFLhDjMaeAIELeCQFU51JlT3J5IPHFMZLeel9BVgcmwsnA6uS7MdCOcvTgmkPn/0UnsNtX7L00v3viksY+s3hnh6duDKfZucv33AAeMVxsJkc8i/bomy9J2vaOYM7e1xQvvXNMCgAYvn4UbTzjzMff27bH9MQtTVyQe+/sy9lXPmoeOvre5gkPAHCMf+u+jf3TfceRV8MPKPlbT1j+2wHBfueZj9wPBr/WP/pJuvTEw4jybF9K/vQTt/Ty2XHkD09U7kc/bB8DP0A9/Ik+dvPugUD/7+/tPNz/x7s+h/p3DuYb/bsHSxP9hwZ2jfdfFcXa/Yvvbwr0f6qmvc4nqzbv3KPuK5yoK28a6O4uv7G/u791YHbftLhn18mVn6Zy3d945Ja6v3XkPXmy/How8cqxqt1/OkyL3Zet04VGO3PH7uS3490L6mtNBsSAUE/GbwwyI/QAsr2msRv9jPrggQijzb29weiye3Yx6Cwwg2MUOw8zxGJ/giH5gfVObzKPMaHFvhiT8XwUfqogkExtvj/OtNZ+ueze8/+rPlAbPt8AVgyWJ+CLHabIV+/exULl5ydBe+MoCn344ZyDrOOPQiHo971+IMkijRA96O/vwoj433m5Q/9nFN+CZvFx2VDGXeA++9CQeP+dKwae/mitg1Yk59og4aPOd/DDd8+6GRQIGmgQmb+do79WmY+lfbcxSrngR+4YdOz3Rkx7f3Yzlzvuj4MeGhtrfw9t4fBP7eSz9xsXVhwnf362FbDyw0q7ytepK1AoLFAoiMbMn+R8b30dAGM3YMOfP1qGKQUc+4tvDIZNkJR00EFJSSvay2ejDrud6EQ1chzgstd5unkY+JUp4XAxG4d99uM04CjcwKpKrS5qKhusI8PKRNzsGsOCRjTKRutkdpMAyiVOd77T1YlIEqTwUozOpBd3suMwjneLuAwpKZLLnMbnctc6xxXODgKOOBQENLcJrne9Nm4xSW4irQMOAGwnqUCBQvmS8mRZIykpoVjy0NOKbu2rteM6tb9Wugy40b3uob564gFjrrHhxdeSodVMTGdqRfAt25HIUQbXvPp90YZhNQp0uwcdg4YigxpD2Y9Zrwf90qt1dvRJd/S5qScVVbqkp4DuwECaOnDyKvyvkdBQrtLdjFePyRWnf0iRk7ae7KRogmqdvd8cQscHwGNOSbQYiIuvMWu4S4YqFehODzpCwpEQKVrvMnVCYdLkNKfKt53iE+Zo8NqeV0TPdfbpTx66PRP802OFXIUhaWHRtsBFLnCWC10VDbjapvLoZ6HT5IArHavFbby8jnG0Xk6HXeoMV1HAIwi+3v7er/so5NsACLAwBLZGUP84SxTVlBsk80EB3W+QBgOGpf1uwLPYrj7BFXX9v76FGBnFEJrQFwC3ge3fAYD9Hk4MHgDGo85/8HcWWOCA6QESAPpyqxmwOgoieBSwNB7YuF1bbhTaLDuAQx5LTpYDeMG9ZIXlBKFmk6FAlVaDJiEgi2EGoAEVtdVAfQIQQJZwQ33IkjEbl6IjS8/xSIONy57GeQSJqYI4wFykoBKhh8X/brzObiwPsAiPo+x0TTCo9ZAuehso0Tg5SlRpNM8EU2Saa7l82xUtxdVG4KgxYrVSc+g0UQpKmkPjMmO3vmmPI9SRb/OmTWmYs7Ows7HD2znZbbLbYbfblezqtl9rn24ftp/BG+KN8VvxIV4hB0fHF47vOH7ueMLxguMlx1nHJsd2x05HkCqqfSlYhIvXDhe4Ltpo8Kju+hkiRaZ85Wp4b58hyzJ5ShQspq3x1bMv11RyAGqyvfs502hqdPeJKSEv5w7nblTMUaFfRt8KTuqZVwf/Zzst1PKrzJEB40tfJ/+oxhn/HDVxrC2/ZMvvA0aWIP+7dGX0jsSIAvgp4CcP2//w3/wj3086Pyn9aFbdDOCH+4AfvAH84NgfUD9AfnBj5KEffuu7re+swVE4ALvgOXgSngDf+dh3HqsKEOBVVz98t+WWORaaLMM8u4TFVLQA1OLtyz7HnPPMK5/8AKA2RmLrcvf2QQoXe+NN/1Yrebb+hEv7NzilfsD3VcNaj65DZcbsWVms2UD/Z8Ms5VbMxhVWxNiljv/pE9VonMIqilZKedF7WkZxYmkXXaJIiQpVaszYc+DISagw4SL5SZcbKnSY8jeuoNbaaq+jsVqomteoSbMWrdoMGjdh0pQlTz1z4tOvLvT5hRdZrD98gw032ni39fegbJm3DZtt2u2xPZ7Y66l99u33zDEHjnvthDeCvHXZDwk/Jf2S8ltldtzoSMGxpwNvNpwZRmQ49ylcmAvn58Slz+Dip3H7PLLmlznfAvx9t09UIYRiEgiUEamoo6beZQ3UUehopqubhU4mupiiMUNnboSzm9yNN3Ow2c+b+8Ia4ufAE8nrY236c2zZeSFC6ty4U86CiohL+6zL1j2niUpv5AmjZI5WACP7kEMPO+bwI46UMa8mWoY4GuZklAtNW7bats2O7XbtsMfHLTvd5uuOX9zl5x6C+/w9cNI7p7x32gdnfHTWJ0GfhXwR9lX1Ezg9BI+QVEoKlrQyMsrJqnBBJTnVFNS4COeSWorwlPSw1MsKg41+tgbYGWSPyQGLqwmeJnmZ4t1oYzdutombFCNuoekmm3lAH4b+HexQh8mPgcDiCEKHJX5s3IwPkMeBtjpAPkKoSGTdTwUJQA3N0g1KwccjHZng3558ghxAHR+ZoSz4ieKCKG/IEF/4J/cP+B6g3g8wnAu0Q4E13wC2egVY9E3A7CsAFAC+m51JYf5+QZLa11IdUhkhY9gFyOqPoiDHlEibU2USWYeA7A9pyP1gNBF7FG927o1ZeJIiNJQnOZlo2zQPvHWqLA49ep/xykkY5hfQ6T0UwHBD2nn/iIioRrLjY/7ct7E96s3oZxsFoYDXbamp65QprxJMIW1QDWNMByU7V260iiGOl9ylJD/AEhv3txgcLjVekHM960ruGspgoOzR5rqWPycGPNysMRAU9nkRGr0kNO4BJUivs2E8sSWkDtxAAA2SHco+6IBF2BOPkUeFOOOeGa3Z8vEIZkTlrgiFXjdg9hh3E+OlNVleld9aZ6JPJkh5pm0nCGvIhes7lc11GEfNEHdAkswsOBf8xuhtscU0b9ti2VpIP53q0FHHrrN4D3uytW/M/E4KcyT5qSd/prULjr2nJSOntiMx0POJXq9WIRvIrU3RAnRdDlclsq3RVx84LYJTgowr1a7jmiMLqBlvJkKEnDJsHFsMR1EC5dxUNBFTg98r7P+6kYK8JGXdAEaKWSEa4Yps06spXXDkfY7Jx06o+XFA0drYsLbjuuCwG+I3ua2tGKzYKPxJ+Htqw7OE48hjpY8G0hFNJxzSdVOuHbrjj5Ht0Vb2HbHpZxZL3WZCcb5M0WpdG8+f1qcJrfchhHaJJxrnzrKjmtQFwG/Zq/bBrM+uAdObiEmIAfEGC+YZ8AYJJdsCvKA9ewasljAJy12PdY1pd1WGtrkT9V/833f7F6m/Ws3WS1990Q1SSdvw4ssghg1wfkY5P1USNTr018SvZGJG6/yqNjQUas+p++SutZuJg3mLX402NLlJ6S5h2vrMy0Fb2YuLZ8kOMp7nVbutZKcuKS09gwchcLAt698V4AhDy9hhoOBV+dHtG3lX3VZaukG9ZYiro62jVlMjDW+29i1kZ0ZsCrYMy3DL9qqes7QU6igFbie/9PUUzVxZ+RqyWlRHc74BK3txeXnj/gk5qlyWhWKpZBeL43EayBj1cjRllbOjO03FBjtjwwCaqiXfTEtNrtPdxM8MfP65m/gpg6efOLFadK3wYOlWl8fig6pM3giazuN156HWWup+P6VVgBRcgh/FPM45wifgeWPWgiPuU8p4M5W8AuKIRWCuJq8RtIfEX36ogRSMM5t98XsHGlF/juyyLLwaHrvZiR84pDQm0czL6TrowO+o9osl37/RoDs9SJXf6PRsHrYHiUu9ddeNc6fb6Kol7aPe+7cnMAOiK79oCqdwEj0oG3bHSaEfY9uYUeU25qdICux0chT9tIR7kaTe2Hxh0AW0tP+l1idNHvcVt1zHTj09ihYtO4zwYbE/mEDMbn4J2isDqwuV6wME2lI/XLbnLP2AK3IZm1euwYRL6ydQYwrYgrq6egW9xxohAk8/MTV5XQKSJRmngbup9cUKHgHoJmK49xCG5izO0TTOyNkkcr3BGdQnyR7YXBWP7nmF13g2Qth0Lvr8uMiu++FA3IXYyN2wfaDmR0PtQqnG0A6DiQHFe7CLyzdRr7ffX8xSLtT37xgZTrZUz+KDiaGq63ozz9CPDFQdnSM0eb77gh34eJAjzZ8nydbkkh9sh1N9WRyPy/sVt3rN2u41qu7mbaL3qVNlz8qcT9mnmrOgN0oBRi7pi99PKXCQ8ASMtcd9kihcAiftQJ2qvMYrEk0bNdEXa/R06Gxwq4ZWBgDkQrgmTNrHjkOkKYJTHz6vfWQt3qUhb4qiuNQYqYMIeZNtuzCFZW46LOKPxvSPCzzv2FV2lEBu1d6laAY2eQLtnygRa5cl9LO2rHtAEV7oaZkD0uGz0NkxFqOe7x4pYBe9sujH6iMqHMcDfNozdZZZw7JfC+8EREAyf64MXU4AXmYA22Zw8455alkD0LmIB+v88LmcBaTaqMl8UpN8+lAEQZV8JvVkIETRenLeUD42VNd6HY7ZIKZeyfKXDbb2oid/Aff1XI/8FNYSVYzi4D5J5cAjIARQnzbAmZTBYwCVti/uVu2qb1EeLhSDHEKCcB4Uw9BRUSDUBANqT7cWD4Pfswyb8HF7fYbNmDUIQx42ct6eL7pM4Qj4HXsQN3qi/coTs61q2Mh3So93q9c55hc1eTpGPSt2+ovhw/EpLxtrd+/9uecV8zjsg/kL93llANM7D8Vn1uOc9eKjfZccYoNjjx0nX9swMFLq84sRYHmFyc8WszwiPnN/+KMElf3xQhJOdX5++0x+Nk8xePqpHdicx0Z1BR8yl6MshGqyKrY2VC7be3jQxNLIuusif88zPMezLLGd6hkUsKSh8zBzokELpJqTvbP2jEDpjXgz8e7lrLFKp2tyr8e0zOwSwDHH/pCMqTKW7KqLQsDgWK0uC1DMDWNeAFNTE1aJu1GHspGxSbtIZTmei1Kwkddm9jUlJjElQGulY9s4HWeDC3Gm+psgX43PHrRADu1N5m1Uwzgv0hXzig2n1jqLu6YPG2uj7LcxxTYnSnbMnFw/g5+KjnU0Faz3RRijvZEuW3tHx/TGfFP7emx2bmbs93kiouGb7DQVs7SDtPOrscUO+9pCTtZv1OpUrag61Cr442YFXzNDRheBvZGm7Hh6Nrq+SVVw22Tj8ev2o4acoVlVkyfbC0+jgPkDw6MzhDeHRx2lwOrONEGc4ewSoUucXSN0CY5t9IU7GwOLqvMnBpIh5lEn40k0uwG6z6HqnwCkFrZHukBilGJqSOmcIUAgAlDVWmgAGWSSS1Z24hQFR8gLehYb+EBmKbThANc1DKpAcyrkB/0x5CAp98xchiYO6t71neKThm6hFcgkxm7QmKzqnpWOQ2gz0QlTYq1YDRt9VUe6Z/apnZduDgRvDmk4PIDHtRF32Ig9vTVVCI+oXjvZoICpdBeG8KaOm1zHTS1MvHBZzEAkQaeO8kDxMRfWR8PoglceU3wCo5BsAo0EAhJ/I7pykdy4k8E4UjsYT2gnRWA75pnQVNXOio2mK4b6rjaHpvIrbEJZGFFpQQIwqjkrZQVULCZrCiMJRAZJN1CWS8N8wmDdQY3juotXtiAoZU0QTYW5sS4sBkKMtVJwZsrCzczLcqBgMVpOs2PN1R8TweoUuWDfCJM/XEa2H7/WwveIPTr40cqngbkEAToC67VpalVQ6M1y4L7bj+afjiHqjIqFnGGugpRXRqAax3lhc0xJ4JdwvmEuF/uzQ5f2IsaiIuGiR/qLSQSp5N+Y2Uv1xKvkzaBXPWbZTi5DMwx4HbbJ6AbMmTYJVXCb2+v2HYOO+dyDTnubEEZova1mGPA6bJPRDRjyGGc7I12epn2Yj1C/cKL+wpjIA1cSyTORVGKO4Bq5WoT4MdLCKsRLAjY6Yj4aAgYFkKI84z/+XpAh+Ey9hO28ksoSXojDtjuhivEkcXO2fa1PLXpuxA8IVdGN35Va1AkkYAV0OaQtdwg254F6j5Mz8fntYvyTaTiELDQogM+pyncuuSzSB/iWnZx5yICjd5gmAcRsR26qrLh4nHX/d7lbQPlp7VDGTa6KMPbtMG9PwfhplGT3iKB9joX0vY5hmm8LtZ6CVhNa+nN9kUY4stv+TJsXq00ccYH9ktYX10hKltgscoHbtkqZrWFIED4/IdcSocWwV+bKZRSVFfbtUdzfXvyUx7NLWGb9xD2nco9y95ihNX5QhwRsoPvp7lryZ4ab2sGES1t8SVjqGEHF+lhbxooRLyplIVnS91k3b307WV94sYnMWGFh5Z4pv/g95Ib1JPI1Sob7MO/x8g6GbQOorqOsu5/G9kNmMlEKxGd6k6MICmWcOxsqNYrfgGpBNInEQzxAIZyiMA54FYIKaw9xqQKi4pLDp1vPU3VWQ1Y7tOMBnr3qhsxRMAWaKZ3bT8J39KIPZrmhQI857PWzQl6NaXx1+ps8W+EpHn1EuyTm/DQevBZM+iov9xFIKuI56yDZkubDM0Ba1iJjgGTxEDJQ/a4R681TZE2z7L3lJuTPSWLU676OMIFdlGDUJHoU9ogDpPUxD6CJY17yIfcqQP/0Vy51KONg/tQ8DJ5ULQlBcebRgHqQbmYH06gfa1lBEL03f4AqxLUomaxiSutx83dbMfB5NQr7eGvdu3y4xenA4+lN+1BLNwXNX2vjcH6nhSdVA9LZ104nn4AoZJT+uWrkFT15zB3bmHDJW+dglixtkFZ6+G45hzLZ8icvsTW9Hnr1fFNzx6vJEAeMycje9ktpnvEPZCtcmr3AWRUtad399qrIyS4avpbb4mxBmYrAc5QhmHZ4+fkNLz3H3Fj+ep0uhuxNOdaG8cUw4LOxMYn4v8oXHImmgwQFw4gnLXFKqeTdlKucbWtRib7VCV6ZfazeQ5Z6hXOZXtvN6jXI69SOBkzQwAftlSvJzA67S2t9dCNs92g+IOyxR5FVdhC/x+1lAYwX7X55/kWOe8nNJZSyJnuaQtyBCaJUTm9NLmr84uPBuGvOh+j+3M+DF63Y9JmPy3qUsiG1WnvVyeP/fsch2LzpHLPCyEM/YA0wbJUjSV9ds/yaoA9kYYHjD6otOdU+PTCyt2991PuH5X643jvbS9OzqoF/8sH2Tb1/qhohfDD8aKC+E9oh4fkEqVty1sa95NcVvw3Iy+QtwayopfK0rqQt2Vunt3nJEMaRApp3K0+b00IeVD5nbNOO5wUzZyGYWqd1H4cyV6DsfNFrL1c1o7rh5CItfhDeb8GMtsc5Y9QUERD2repCsh6ZuMmiT9THVNNPDLkWdN73iiY3VZOBhnekkacbzauNl51nklY+hOukT/3Ezy03NmubUUew5s6Ct1TlRgBCUNxXaVQ5dZu02ZvzlRxRHzi2iwJFqdRiriI8Qf3NpkqpUJHGVErbKP0srkYYT2yrcskuZpmAyrP3TMQl9yRWZnG1eq6sUvtiwTDoSnmYKcz7AmvoxbIW5/2IQj1Avf9OlBIpAbbMkF1o9n8Q7tvp3kNdMf7sKkIZY7JvzN81Glt6SrzDtMgzCUUZeoj1dJhzoNPHEhEiqvVF2cuncHw2cBH//FQrJqO0BvfIg+Jr/cSGU6hGu39YDzFpamT9SScQhDTEYJPOB8onsHlh/QGetVf1vsfgUAhN5G8f5sSxF1KlW2S+qptE6JFa50/cB8ee4/e+y1XciMO+SnnWfRVM9rDhICQBngHHo3tW7q2O7V37HDXcogzgJ9FzAa8fl3CaXDNjVxe8v/fk/djcZ+oLOrozVpMPGsddjhPHGkMtfBh0rSVX98Wcda8F3adnrjt2b9ce+P8+kcKHFFzMZYLbWbZYmeVJEswmnKMPVeXJbOa2Tb8+YFAB95LdfbiV7cvrYcjjJRy61yTV19IKfsiwzZX+kUabKV9Qaipo9HkrEHd2F/9SHc1fZv06bWZotMPvdHVvPIcHUVP/Tl3s6dCUKKLkoTNK0xU7OOyUJK87DtWhtX3pe5TKtkse+QMPylRLqaYe4jyeLDMvgbMtmsaTetxxaIfiprDcKerh21d23yqc1OfraV5bMWPmPscsCB8UgDmKzIXvPyQ17T+hQyuOIZUztjITfi/SuiaZWxlCah2MzMZZ4SgcKFRs4sUT+2hbMiBzYDQNfl0CTPbVsrd8g+V13tmIzXLR2XGfVMt1jE1Nt0egOJ0ex1YIqNuhhBKhtO/pdFTO5cjohdx9Z8mPyCbJObluOc0Zh7WFxkxNR0mSj+8fbxAauxi/rd4EcFLRpf1LQLsgXF39lv4Cy/Ei8X13iJ9Hf7mAZDROzTU5ILPpyO2+cShJ7+kvnUJ9lpOtXgCN3Q4lP0MV+IyeemZzH85zXvDyu/Y0l9vOBY5a6pn1MmkjzTTw3i+J+NZIQxHv6o06DWeyMTgeK9bfg48A6vnGkEuApyiaz8OgBDwUlieAMQPX+0AFYSsJYB6n2ajxbNemiQ4WfoA9IEeTbdPffYT+laZQbDLedZFbeU46Ovaxk5uxs/+lDwFmTjzmQtzZ1yeIAGIdSJ4pZAJ89yflYDW+hrJdqFGKlyUPulyimt7U16VOC8SjKTux3gXh9UxRyTRHcTm4Dr/KJXF/Rb+MSB816rJrTdEHta3GqmpGZl4tMnF/fK5WpWxQnkwYDVVv+UnrzFjky4ZTtudkD2S42mAsayfzeVNSZ29HglWalxORTZ3UWf8XMSo+Q1wn1ToP0ETgDc++5l0yIJ48GiSR1WVKKzlLyodn1dRmUIthYNgVvet/va7wRLwwedJqKtAtpcjvFvBV3Hh+Jxl4ipXfyUj/uIzPzbs7aCJaKvuqLm4/rY9A7sfIo4uzlzJVDzF8JcgXd9JLz2NIFDQc09iMQZObMXB0EwV0IehOrhtlkAU+hQx2ET3RaYsZdjnFt+MvWvv5KgbE2zXKoeWgtZ73Dc12iaJ/x7U+4ocB8kzGo5Qn0fmjGW2WeMeUtsqMXAkSHJML0fPJnPR4e6EhXSFPQbiZMQOQoQ9jbyPTPxntDy1wgnhd1vL+u+klQVMzGkB1wKLnR3OX2I38vKy0drcTgHEQFLzpKVdETyRdUVuH7wCoP92xqjszmQWgy3AHoku3rx/+HycueLUHenK9gqlahB0jM16VO6rzSD8foT10ZqwmZ4En7ldt0WpGjcRqxhh3zTKAh0bzORgMj4tC83nA9IH20af9CsPyy/DUnZz4d21W/SaIAjYJQRRUKymXjAcNMRdrrwnIyUhXtLVyoXWqdnv9anyQajXxg3uFv3VwXCUp/Jr+ASFLXpXrmiu3sDiySp2rXlYJ6Fq+IC6IvCHO8xp5eLRC5Vp5vq1jiw8csA0aAN0AQhTd3LvZIBqv7BS52iIPlDMxoonykRV/o1fv+bT8XK2ztijXFNUaEJuukdnLterk30ESoutXf4Hl17JjGMuNXlr7m0EtOt3Ey1CWmjg8L8KhYjNp3Xff/lO3keboJybAAgjx77lNbfFaD2WVxdpsbZUzPeNzixCgAhYh4lowCiBEl974cFPvRkFv7DgwCiDEHb25bxzixmt7QT6i7093vtm3ktP5Nn/1Mdr/I+kQOmzdFRUy+ew1iTWXbKbN+ETS9rLGoXP/79xD6AOeAEKsBhBiGOsX77GicUov+O37fPw5e/Bk9GTQ/Os++wngCmL4w6hyW7eRybvbScnNTffGHtWGvBiNB+rNH0I9r+57v7KP+/eJtjJYPNYPaAzgFeN/k3D/HDrxvsAsEuVfeZNsjrShyYWm4Tq455Tj7ZB9aQ6xx/85rjOw5XCJ1g4Ed2AI8YaRjX4lq044n20uQtDXnV7Qa204tUJVtvZYAmqfUVKwdD3uZp5oXtyNpdgCzhhdX1ae5R4ylWXZvgEnuTtnenKgn8mqsy1/6TMnHl6oV7ID2Uave4Si4htYBOkDY5NhNzNK8p6Mi8fOD7OY5YH1ZFgshs2DQv2fyb00PmT9861eGW4V2wBmmMruXkdASVaXrkXGXzDx5bLwfmRJ7ADJVIVJPprW/Lqa++/d0ZL89So0yEXkPbjSdE4+fSxSqWSytBhTnSTdG5eSku87b66k2Gm7lDxxNzh/+gtZq4FujHtwkFqZxN8ZxRNLXa6bD0E7V4gcadqphyHgEKAtlwCIpWv9AeMeA2wh4LTEj8rvj21WVXVmG6uHqjbH7peXI22kgUOR74x5Xu/9Lueg0ud4T/BedWlgn8u4eRjGvG0TdLLoYvmUqn7SBnbK7YWdkDM4XR2ya9DmV9yODtBd3VE/9vIWqrBedA5y7IjWNtakfzjxyLVuEEA4bdSKx8/3Ql/Crnz3cm9VdFfFBGfSkhaopCjgbKomIrq88mwWJoDRpGrW/wH6L5NFAjAVwFx8cvwj43MB/f9+peFBXfxWSf+zaHmrg626CxC6QjugAVlZohYcODQBXAhVL43TKNrdrZxkutW4JVQokHUpRUr+dlaqOD4mm4QqZ/0dm6hPa9WmJ2fWdryfvbU3yOgiwhTjWuIBLOL6kOq0wHaMCyDMSm2oBqNHpNbNF4WvUqWao1YnCtpbUDUrDJH+6mU0umG9V6inYRPkwgkvCrPWqcJU5Nrj2OqqBZRBemOcR6yOzrL0zdEU2nsWqnyKYkGMGq4vWa9pBQMFG+PVgpg1ihQ16sNkXrayXQii24TMAQiT2w1T4veq0L0m4kaPUA9hHYXBL/UL9xFWwV+Ipv2CjLUWWQry3eM8XP58YsxjrOwJS/ipmhyrsiRKmmVomSHK6N3AD/n11Pgh0p4lA2zk6PWZnqu9YKcIYd54kidWEq/QWII7RTDu7V2NwFmv/blHRnuixtCT6u5NH4deRSjHVKP9MxnRrVfe6EpNYh1ID7gLBJSKtLyJ94Enp89nXJRqzmu2p6omL4TmZF6QaSZvpExcCMuuU5sLI/fIzQXX06jg6h7Z/TcO951ol5MlXRU5t/sAC0CYby7CMs49JQ1ujTCGcP97HEUYKQsAFH0+G3jI51MfXR8cWlC/htNHQlksKJxFg8Lj4uCRcSzgJsunH+wA5lhGkrwjJPLsdMiM5uTmI8E3BjgEzuqtL4Ey6bDhMDoDsH2nonF75DWfabKfprSntvyyAlRGxQsmZ+kRM1QVX8ULZnv6ykph4S26ynEhZ3EkECE4UAgTJsvpUdSETJvEn4Vv6VKocnXX2V+DvzxVsSAIQSG+Pfhzvhfnv1NAKNhFgelxz4mSeyb2BhlDuJykfLWuebDWB1hEKAvTN5pFqOnrriCpDetUkeb0jW+/Ex0vVvr4GeRlQdYyg7+PsgKce7UeXyiOWm2Wag5fG8nPVPeIghk2oRNhVRYMqVC9+Q2bH1hvwzoaXb3cL8KoWQF4vua1XpUf/09WqglVpbcLlYaLhVEfGkvM6iy1pQVNsAr345cwKMJ6z7+tiRvgd73PKPdPbsgYz4uPyYkMQeXX3A1Ujswoutj5f5pezXFNdjCvRr8GlCN6f1Yam1usvbijklSeKgq2PYyBUR6qlsFIYmviN1vgtn780nXN5BYcsmglQI6G2mgQ4UzHapkGuUp8plU5TAOqdsfnVleHNkemU0I0MrDQezm8ZBlvoExtay9uBP9DdLCW+yeGmtKTDMqU2uHSoFmnrmaYGqNLDvwRmheUPImwfA3b8/pBxGzxyxFgO6NzGs29e+4v633pZcLpcv+9WTZ7sozPO89IO80VhtkbbeyNJWIgyOr1+fDj95WazidYDFUYvtVqm0+TPI59BXyF1TFsTgUJOv4yFXkAy9t8iAP+NGJGzOjR5VhCuo59iJZx7WmE9Ws4YOG9PjNuO4j3/Cy0Dbg8aa7Etv4u3Ry75XhBRkjYoeOwgxYlBVFgnFap3nPMm253WL1bq4oL9BL5WYTFYYcgueACcSsrZN13vhC/O9PJSNBJZkwQ6tCyqINwT4W5ezOicA/xyLKwOirmJBOUczkZ/PQBHPaXrQRAkCiul125rP7yNZBw7jZUM6zVLcCQQ8dgXjeo1Ltv2KNVYgWEGpYb8n3bgvrBDy6L/WCHl0W+Cy7/HhGdiaXxPGFeLoqKzPGsqqrWDGIGNpbrCfd2kVdmjGdWWdpAC+JkR+rl7dydKrXBv721jdR2creXnOKePlYQx3yBZP6hspV/Pj07em9IeXj0TiOqiXC6lMp1dowQpCrNheTCFzYt+HLt6ZXsOtAiZs9mjWdJcHY3Eoj3o2HM1QYZ5x8qO3N0dffpAkZR6g5tWzmKlTaPI6PC94STkbjCa+DQdVSeTuJWeWrinSAPlRWyg1PYVSKFuz3sWOIfO7S41h3kRySoE2FmzgB4Rh5DezehvbFd0pM2SQNEa9Iy3/9Ije5vGc8X3v14S+J3J2dyOoWUNnG+kKz9/0YLgNgqeX5HTOCRnvUe7UsCN8fnP4B+MBiTE0+3S9N0jIl2fCb4U95ESB/7QOcpQAC87Fbcz1AVa/EvJD+9Ai2h6rQTq6MwNLmvQfTEoArLTy+wSSzwEjqxdj+pf8vbpVitOKsrDBwlwDW4SnH3ttLEZykgOlb4Ox4bp3A/wWg8acRJgKbMIIDOQCLp9EK0I5AMhvKq6d4WH844sbU7MJxVnC2MXVVmjAnApBnQ9ufOSpyz+Nf4lB6H4QNffEuLo3l0UHv8eoG1789yw9/E5YGrc0mLjjb4TIMqrUtf0FYzA/Vg9AoVxktG5Q918IaoH6ZyTKpBla/Y5nwRpObGk+l4is7UOtPMR62fzcXgJjr42nHjYAHujY0CB2NxQcEYXDAYE/W+crBbEZD/uzUSELj3SdBjnP3HP9123HhXQwCumzjYVtbR0wR0Mtj0NwGfiWMv7b0EWGz8NZ/5B860UfMv2Et56PJPK3OwXAhe5M7DyspDMqXyj+KZ/6cShEKuPEyKX7+ZnHTnuPW8Kfxr4Ta8EJfJK3EhW+YmToenRBM4ieh4O+LGt5kcp12v6mIVMQodwCIfVlUdGlT9oYhE/lM598lk4SouibwSH3ftd8e7hV/TTzkEYPPVg5ysz/ijPm183k8An7qfIQJyzwNi0s+5+TO29DOBKNHne4gE3cB+UsZ+5rh4ymKiavndxHH4zdPEbyOcWemwwMdqIrDjMOAXpCRlDIkxtmmq1YoE9JyCbtWZEWv0HAQ8tGrj9bJRE29u3sdQqbItVTYlRwd0qbWCet7dTcHs5pmB/e5Ogtir9aQp1hZ3vM+bAJPwA5VT6VhM9hqWhNB7oRP5pzhbQr9iZTW8UxpYGd4xxdVdH1dyQjhydeZgJW9JtdNWbkm5S+FqI3SVBw4QQhorq4JIYyUEAfHl/SNAlverANWO9MNIeiWLFZzxU6aCvXK2uDUAHQ2ftk8NtAAAHdYQ3DF/q80Cu7ppKavBNd4phHOlMsiYSt0VvWj7YKActAQUrwd+8KLJgB3loCWguDNMDXRGY5XGYLFIGwQDOQcV/GitlrLIpflbHMqGBATUgsoShkEw0AZF4NAQEmAEFFnykJgFal/EytAMEmIEFHlStMAzWuIUrXJQyZNkA+MAcPAs4YGUOSYs1BJP1xsH763lVNUIVd6Pxo8NeHgoViqbqtTqLttjKrDl/RiIvfhfdIk5+xwioYsILyVGEfx84fN4SEVPuDwbBP0rQB4GG/wogErudHAo2AA2E5u7zGz1hKBkQCUdrvlJ9UGfKqgJb0mNcGmplTmtBcT751bU1YqHbVoHIFK0M2POADZzCAfRWlCKmpNnZGsEzfqk3JGc+U1ZH3nAG4ACAS/C4ZuualDrLy8L9baw7jU11hp45vY/9inK5MfeT+UJcAeo0IcCCdK6hkcJnkVOC82DLZ1xidBhQNH/RmyROgHAjT0a5k1tMm75BvI+SPIW/+PwlqEDKzjXggJhvJIXOT8cuIi5ZfUhLVAmUsSUjFJYQmC0movrJAEzrsw/fbIgcNtfeJLavTt6wI/KoybWucz10afzAny5o8AixIuTE3+D1/hpOwjYNl/+FkZbArtnA3x5+zqwT6qI3ft6vlKWsZqJj8FQlouZkWnmZh29gmXZAa7sDLDlyFQR35+UEkCCHbDWQHE8C1NsGZAHIHyTMgFUWkyibbiEURLeYmxxgV0A6jNJJDVgpDYYyeB4gUFgnJLDoKD1YGth67tWZuvVVp9A46BXhcioacQsO+bR2xyyFEti2lKmAknp96t3Ws8nkrmuHEoDiTVJFj4K2uo7Xg+sCfwqCpynViCUZwSt04e/W+OaAMD+htGYGwmbl6GRcCYKK7AJjlIo2MJxyGmj4GffSIwPK6LQK9bJBrum6mKGQ40FQp0IwNUBTQ/HvT26AgjMAtuFMQ49lPPKUDgQITZqCwyMRnnvmhQ5g7T4+7wRAAkETi7XUjIpMYoNpO5Lc+BK2sK8o0vFuAKXjwQ9mxKzhEOXjcg+L29IuncpH4pCUtwKTy+tUmsrmWLspUoAYN1iZMiEunDhGDHBhS2mk4fYwq+OoVdcsPmkJjUZDwmMQBDTSOjFotOAcQH/xXNSzJpoqDmdGvYdr+x4NtSlv7RdPRaAEJ3pKNOa0QdFtFIaqAUQ4uH5F+NU0euqbskp2zTnMgZKNE42tOCv83XJzHRWgkTchl53ZW8H9YqQR/fYbf29wBhvZZopS+ucVpBp+pv0KTYhWeWgSdYkdQGzAE28PL+pLU7zkexgkSZbW9XJkmIKzfLL7uVlKBTbvIyWvgKFAEKc6HhDyfB55rmXcekXSofkHDLCSeKfwGnq9VAltalZIhHLdZfZd/wOewjDA7+OE2j/2WUHyAEIcRDVUeZ6/Mvsx64SuGKUQYN2muI7WBwm6rs07UPP/xYKzMe59vy792Fl9DhqSn/w4xxkCyJ6BTs5/7sApACEqMTQytw0+W4S5GIwaYBU8iRCGhzdQIrVqhLpQYH1mhPJnvlq3lkHYnjF83nbOed/JVmbWCjPUZvj2TqROEVj2xBTlxtYy4sd0DQsAQixbA5GUN5JTZl79GFLKpI7OxwCrE8EjSGRESqzhJsTL0lNtjiGeG6U1udWSu7IFv1fmLmEIc+AqLdl3pP1a0+waMjUqZ0w1IWlgAj48MGwetuAttU3qzfSmurvjj+qCn8xkUSQkVfIAMb8G6jf556o1jgNjHPiJ3/cIrs4mI89Q9lfdEn2GU9d4OkuIDudPk7av5d2GGoPjImOcpDBQG2qrteotj92GHlZ8+gfwAQfXuU7h24IPDrfp86rFg9h4ik8BnWOJyO3VXsCVir+wn832W3E8ukKsQczy0biT0HEsuyMiHGDmyv3BOgGuNc4+apiQQCdA2ev5+446ENq1B9hy7mTszsEPSvuw3cq3a/bo5OhkZFkck5fXiC8PBv/4NT3/GtlO1zsvFtxrcDObRe270pajCry2/bJveKM8CWSpWLZiHRgbJ7dOKLesd49I5LOgMFocRLExsFVkg6MDqKtwx3nk5NP2kh1vBvKs/y8CeE2L1RmntWOZFn8wuhoozHhp7X3D/L1dQ0huLQdBnlAGTyhe9QT+UptzNM0TU8QFBXCs3Z894kehzCO/vcSC0FRodk5qWyvtb1NwlVD6bBdfxs+CU2/aUkjgCei+w0jC/1KdiLX4m13i7nE7gwlJhxywhl+oy2SoFCmj+WVR9nAh9Czgs3DuVxzX3O3CIf6rhYTasuAOOxnlf9AqtgdT1oUnqGWqUna4niNRe9cVlNaEci+M8PRk1xYjZ8bXd9/+3af6fvJC43k2d2nm6LEwEvjV4FIxG84D39vKztQfesboKa9bu/pPssX6NwJow1itysjuWVW5dmHx/V/c/0JafkzHXCajxCKLHnIfTmWwny7EXL5/eiEyxgYOuzyRnTpojkAIQoAhAhm+Q/nwNEpuJ/8iryCtmK3u5dupiW+LGuBVP5Wof/PRALqcW2QHBkth4Px6DDINvl8Ry/gnI3xkkZ1A3M8spaDrk1Mya/N2dBziIGGuR3G/EyNGD4VFx7mzaPCtSdxrsa4nzHRN6Zigd6/QnsN25OPnF5CA16qxqqVRA8X2DOCGE6fWRL0D8S88KdRWV6q69/6/obeTACsEewyBrFNuk1OarN4CIJYTpkVcK8YKlfC3csgSZHBGIRrXsBhLUZFANFBhalSCLGBzMypazhX7nykqIUUU93x5bE1ZOXsW1HMUXuoEc+Q3OsTH4q4f0WdhHWllCOCsxsyE7JGZoSIXjspQToiVewNaC+YOGTD0am4pPZ5svVpeiJUmI0PxaMhZ0755Tl7v/r+MwqNHlaChFsuVJ7dfTlqpjk0YdacHrUvQK02FkxBtTkDPHnuXGHYewLKf22O57e35NYs9QkzqhdQ6Po1mlB3/TqYgf8xmRf6plmrJfCX7hyttJh3imrjPwkgzLxOmCy3QoHoSim60aPUkzefmFxwhaHUlzcndw2z/3WP2lugBzdczop5hZckXP1mPMugPisK5Nj0lwDIXXY3VFnQr0T15BHHSUIkwjg6D8+iCFMIrP/h7IruF4EtRMT5gpB3JC1K4JseVIrIzPBl27z/ze5siTv7NNkeDWnWHxe2QfEkip4hqLyoRhzRlVx4q1upO28xObXwKkOpN38BmNtSMosQ78mKZP2P8fmkMBr+eJTtvi4AYSYXQ0ViOHS7jgD0ypDLEHYFhSTMj7mNkeens4oRa3qk/7JlR5I9Lp/vJ/FK/OlH5XdHUg4Co41KGz/fYxnJx9kzmr7Kz1il/hz0kp6N2pFf1g5KpGwoBxaVAIcQoiARB73zU+gOgB+i+h4q/ecGbsKf327kFOp6NJ6s12JGRtmr8Vm8E7nwYTqQ+0v3J9env1t/Ek/oqCZOtZxsy5qorBSvjf5cccx9kCDXBNM0KVQ1jH6yEDxikRLjJSUCygnvio5/7COP8MMV/rPtkl8KmZe+IA9ssgSb2plgGEDuvmrkyJh9SerfHLk2SwEeZNYOY4UFNthFq0VA0fP7gVd8nnWh32+gsOfJwM6P49AmsCOYY1mqBSU0csdwvTj5uUefZ2J9WPPoy1tH4kx1ose7x1Lr0XS3Cm+KqE+s//OtS6mZiHZMXviSU31hmbWOltT7AXovz6097bshC0E2rbmtH/Mm0dchYJ7mn9ye+hadhgWBCqs1NckN5jT+rtdT+tX8KbucBHE9/qHuyCdAWRmPvjvZ8ma87fUkfKiV9dc4m8yJOoMa7lr72j4W+coIVUAWkE4TXHMEuRXG0E1zJFwLjqfWwLk+xCyInecR4A6ms5QK/gh3dHHlxI0FhwHjV1p/wR4CTJ3Zxo2v6ljomevtTBFk8RPzOjFJx64lHpjcO+sPWAi21Z1UYZl5TL35POn/9PVoGzGZm96cW+LKsq0K+HwGteEjAaIzVErOKPvc3Ao7xxfntO59NhMKpdE/kYcdOWRwg1A25VhfReQUtaTO7nqCSA9y/VFs9Z332Y3ceBiLqyV27Y7zr9RPdNCTwBvR2irALrUl+WWg/lp5vUiV3PliKjnW3PbnKd56r7e5mIN4oAnPlN8fEB8Kv3tFnYw7SSqHB+bUZYly+xZ46wyF+rHdoR2xsZcuiU01xViQMul6GZyC194vTF2jirTgo7pPrbYQ7gJXJbgYG0Z8EQlyRbe+TPllvVLH/yYF/x1f1YFtWuznH2xaxZaSVgf5+0mLwPPYcc0YP5hl5nlKwiKJbEbUdixBwPEle+BccYm4zeRwOYUcTgndbCWIoWXoaswCTNH1F28Xmxfai2F24SoKNRzvYyv9LMPJQxUs69VuaRANgEpjHXdmKEQr6ULicEl5QZF+ULFYZ/A75FKA86wH/BHlW+lJn1ZL83n4VedYFzwj5ZS2rAzI9ePGK6YrGuIz2KLvw/M//SX23YmavL4XC47gfbMrNbtEcoAmIUzk93/fCoe1w/2mE+8fEof8oc4xi06A0AhgLnPhMGXWoPgn8emfLdVuUUjF8fhPlMv9VcuYk+N6GjbA9qsrjjlK0zbfZO1PBVmEUMLPw9BT3oUOnmuL9cDf8F7AaV2jLQ8GbkaLknnyvO6iGHid9qhM15XId+GHqodMFRdQnruGn8FU4moSgH+s0mhyXHlUEAlFxdkTUf/bfPyy/wxp8Asie4U2Zvq6MJPzPXDnmDLS5Z3VDunO9pzL86EG76QAJOz7Z36cX5b57bh5W7j7gkYI9AavTn8bsuN6vaDrVUFwKu8frbOBoUjjV8L+Un6TMENRxAuhBZzB8N4LE6T8ZmGmpBDg7TNgI/sAaNg3jd7MDpldj5GPWDGaoGDZ95yJZHa0eQP/TL3YMDiDgUAyGXAYkw2cbv1p4E6LiIijhUfGUXNptPQ7QgDCV5qDxetIZHyuKvRwkEsmEce9DmX2xIyrSwLQvAlO9oWPOfsvSLPqAMr3/bPERYJSFwTnOXmHAcjlHUnRK3ZcNZuZVCiMSUNEMdl4H1ehBWCLiK3BgWBqNo4tCMNFBIXAYPx+F/IphS8yy760OuUq9AhSFxbFJreWAS2zT6rf5vTROYa5P10fmZyLf3f6i5TAsKHLnQB8QhCocNtKg4D4+THUoz4WvhhHsL6hKFbTWg4gWtAR7Sj7gsedIzWpx1l5s2GRwvhogrYU6gdIb0q9fmgCgHG8lFOKNOPquOO29FCGf85/1byI4LxaHrkd95OOusRJvXFp+92bW/KeUT/mvnh0OoyQBTVqJijyOUHR7kurTsJQafDm806SmKR3jAk7W1DG6cXQwn6VwtgeEaQUZYhlZToA2hrd7Ms+K93VrBegSJdIJc7f3YyN4JytxHM5r+I5r+fijEW2+uQKZ1fYfc7ZMJB7tZ0W1yTa2aLnLZXPyeTM3S06IUu+sy3spVAvn9eqJ44ck7tzGsViZTL7DNX3741ouDG5yyKSpgK51wbZgrOyXU16gZoMtUYagt2N2MjwYQ74TgSeQaXBApi6CNh+d5PzYVZaabpYVmkCP5YafmP7ublqV/cetnL4Z7of4ax45XwF+pXg6/vfRxTK+XS7dNn8dFSKsjI6EGNLHf6b3AJTJNTTX3v09/cff7SnwFFpBKuUuurETEtlslVaVSUbb1jFBhZ4wrce3je/0fo43/S1mybtATddO/T9wxFLD2J04kB2c+rFMYt5tpX7N9sOJKy0mjRPIDi6LUAVYipOeRP9sW5A1SdpTfXpjqbwwJATO01fzOnZUKmpPcZvIhPuK/QT/iwE3BApfmwdrV+5uXpXQEF0yPi49nfdo9yVHekW9cFWxQ72ccFpAEuI6WLFZYIXa8AYIrWTlacM8Sl8eX7PFfBVgiMdpHlVIzhW1ZddAsphol92lGg1EmAiWNdhSbDLHK8pL49CKv/xF4JxBGiMXRErLDVHvMBjUEUoo8szg2iC++wAraleuLHuzEVCPgVoiDwvlyxkHsuUzKf+9ww9Nu8uIL6r+/ci7UFtMn+X9R8hQGLXzpsfoyxbc/sTOy66jkzQwOfRikBFJAzEDrLRRyDDwln4Y9G9cFD2XF560UBTti0ZV8rl//IJ+job+AzULRXKZQ+FqbZTbKiYsG3Ykoz6RCIdHrFNNwoOK/bOGg6VS1rKyS+nVafaUJjqWOcdAfZiPc8me74FoEZVtr682WFi4gws/ZIkXbaV2fcBhDbJ//rxphpMWgfbSW+R+Vz5gV3+M97TyT3m9FSDiWOFwSVyYZaEbagqsNmu7U+d1zWbVQhugm2EY3dbQs67r57Sxm19+V5G6krLhtIXfKsg8nSxw7OK/+D5FXvsl5PefE9j7ErrxqOf0ZUiR2a5x5Sxf9DpTjmo4gX9oCROYIccVPYvtyv2UeVuAsRSplimUzKsUtPdbPPxBSe8SlMIv+trPKuSX6cAuXa/MHOVLE3OWH1ErareyrUoaHHyYebRBJb+CbomvWu8yreUGsio5viRDZp28PAzyd2PC7bDJLfuIbp2S9ZKhj0GPYi8V43pHg8HNtNlv22iVN8qMSyscfDiF7MkhB/HvvR86wrM53oJ1/II8y5Ww3Wz+aw5GOUUfn0CnnJlBbqiY7m3HNTOMGAod7NqpWyde5Zq9koYSjsS6UVQlsKCM0DEtMK8xIyQ25qlzsjQuKdc3efgeHfCYT8YNdZb1gfVqyXXxIVLTvC840+EJj+1aUhsA9jED+/PfLy/F/4BdvXd873VQj55PGlOu8PTHGoOUT0BIfDkRNPvKVdviGamX2mDrwu/uyBVNGPJKZOcXKt9+z4x6Qrv0SwsWkdxpqD1TUAmZS/G9K4O/g/P9+NJiW/fXcCxgBL9d/Er51gIKBdYqqFQDRoDVasCRnMQDBqqSQDX+JbujQHPDP4nMgxzfny4vRIbFt80VnAJnSA0vhkBsCyYOhz8iPd1DvN3IZAT1zXgBR6OUq/xq8cVoEIwVUnnK/tIeKpRlCiYfPnhzuSpiaTlzkuA0Wg2qPvfAIBa14GXd8xRbjoeg42lH10/leRp6oqL59cOuSY7Z35f7UNumryiiMFDYATcge+cS/0LurLVxYPeP0lH/VjtTWue844n4yCRGPzB71x44n+NLRhK9yLHEw8xk3EYHI12ZP1UsqepPV7Aqu5yBvjS7fGyH65HAmK4A61erCaBkNWogmt1XsYV1t0mStq3hEjIFJG4dfIp5OGXFUCjrnbBwmArMzIMIDQAyCD/rZMvm5xTv0LWYaqG0l3FAflRpAN+PHWKVfw2/rOVoBLBMZb4xB574FMjnBkwd3Q+QGf/iBM5TQtLjYgNFjFFXwxZN5mANy/KZFTIS3UpxDliSqlepjQZbJq+NIW8Qk4xlMqVBoNSdtBIjZ6LTn3wwsoVBqNSbihJoaxQUvQlshK/MzoEQshzZbcAqIGAh+xS8gnw8XsO3X5xdLL57yVTn9PPtQ4Szvy3IRsf8p1Q+y5dwKuYCL/8ZdC7RMr2hLsbCB946P0NHZTnr1s8IfR0ZUJ8qeBw3Cw0MyV1fybvOeXzR/GIEpD7JSmj8GloWuD4nFS204ZsGF+Wb/Hj6e/pyEjyPaK/ywtob/nU5yPuWe/zzaNAX/W4LHnpACs+U4GHl947QfaNawOvn3v1q+Qp4DEsZj7cE998uLUMxmc7bsyGHY5k/XhUIdnUvfPAnk8FR4HtX/iB42UKB3j8UcnCDkd/sGMItomgQZ9bvzasGZMAqjXeA1T6gHgj1hGaHwGgCgUG2NFXXDnA0C9GggMnHAHU7yWzmOWw+eN376Rk5BRUvfTegxXF/bCxE5NgIgcYCJJl/tnJrC7AnFVc+o6BXbFhzfZva62JzPyc2SWAzGnKNzIoVStXDpPZZszOJiWjoqAMxrgffJg2rcl/VtUZVXPUBZizisuLvZm18p34GQDOmwj5jvBqWdo6sVsA5yckmQxSMgqqYNjd4BeSurPG/NwPv6Tkc9i4hTzO8th2q3yBXXwRLlHcxYVU5B6AudvVpS5uU7IirnmJlDLWqZlMFZLoTJCSkVNQ8bhjDIT3bSx3/8CwyAwsmLOKS9/djf2hoKuvC/By2YyZChk7OFdvcnYO3vHgZWHFFvk8ZcKg2hVU2UA4sy8D1Bo8nUj0R8OVDpJRpWRUmaWoRmKTpGRUFEx5BLehQfVQK8hXVy4XzZgdu5bhP5L7WSL1Bx/BQvpfKZqFmNnHkpRMlescSgekZGPKzqShzqRy17uXfYJStZu53poAMq6OR0KZATkFVS998AOUNWokMREkK/0D1xlOC4ydyJxVXPruPrCVbjN2VF2LZsuGxA601sSxGShvE03KrqRULXgzZqOkZFQUlMM0deKRgVnNZbcYO5F5s2Jjcel7M2N/wD7gMispFy9s/4cgjfJbICWj6KkHHO93nfeNEp5EjqA8ynQiuT9D4tw6sQoIdwV5Y+hHqS/XDfgfDsDcfzFzTwudqglyUspYpyCiL73L8QlAkJKRU1DxGAz7OxrHUK9Jm70WBnrpHep9L5sA0PmF88DU+av+UsLbaZBGxryCbWfaa0H9gxT+M2ZC9SUlDAnFFBIMCfIlpWRCA/JyRuc08X9MgiFm5wGQklFRMOWR/E2yQq80eL4hWV2QPXVBMrpwtZlIWDjYsJ4mB1+Gvws9AQhSMlUedSgrICWjCtK46p+z/xm7EMo95l72C0rRR5VbgK/av2AO2KULxjf4t31ulSWKP/s64h/mKkG1Jpo6d3gUbDocip88R2/1AH6Ctj8tl2SQa6JnoLuw+iugdDkWAbc2FF8+LQ/Aib38X334cSs7crL6492Zlez8ati/4+qn058ubvn2d2vNmYeP/QPo9lINAEM0oNzo87kWnSRDHsdfSD79zfYzTeYVeHq0cRR6hay+YXYA4joFB7uCV1vyu/QGaC15TbtNCKgWyTByFwDQrk1H7rdeSmzkDEMuJYSFZgoKriZ+NjOvB1NcEwKGhxsVHORtD0MSIPbXBM+b/yWYH7yq8T5EjKPgkgEjIzHJ9kyhde0FiJv0y4yuZuWPHKWHoZYGMOo2BcRZk6c9lPhgpPGMZnGOEOA1wOcv9SB4Vcs3YjybMPDaPKSrcq9p6TJ6pu0ZmWQ1JdSjTDYBsSHR9NBdFAh0r2NvBTfrgolHPqDdE4EeClNPBruCVxvyrZFahhC4sQyKdm06UmC9FCc/gsNqqYXRR3LYl1HNkYhabjDMBXKZzzL1wQLEjXWex6ODPeRoBHONEMiGZtFNS4h7r3Bo1cNRMpKsI4P5LVfbrQ0Jg9S6SAbwQwLdPEqzOUJRyxmGObFurKCyTX3YAuKJ1INIPvzFZY/aAGukZVQwsFGbRrqAJla/sEjw5GOT52gfpQNanLLiGRxJhHthehhca4SZ5Vqh4eGRds37GVUwQ4YDFCvb1ThfvDhVFcGRxHAzsyieErv4FoYqEIqEF+yY66UjGy34rFRFg1cYYW4UW4MZ+tFoo3k/aqxChlMUy7pm7QBG550OCSqMWrzmKT+0AbFNayMrVdDwbf+/GXR3jkLLcOcb5oZKA6ISko8/PWSuZhlNvyXihycXAmIZ43CzozB5GQF3ia34/YMwVEe2HM1KFRrw1kgIRkYs86GeAY84BRH8nQJjLSHCHC1TXqJgkbh7WW8F9UhEwUNAXBoegktywIin1tBJ2dCU3IxA/Pma2yk9tDd99quL0bd60ILPJioESjfT0I4aYUZjU3SmGSh+S/DGJQQLtVtGWL9K5B2wA8TjxuG7mXj45S31+KMeILzWn+WmcDJAH2HD/2lhwCuTIXf9bgDPPSo89getREIqFRMMxq3Ch/4vapSS9Fb8xF+6WdQ2RBMTDJECpdFtNGVe2bqyqRjz+wx3ijj+pyzFfP/IZqQTWkpfTpcqNHZMHga6WXZTSA2c5BjzNTEbr/JlYcX3TXErkP0m+IAAjBagm4kHAHoNAADP7JC65n+b0VnuMbvJt4qHXCUMJUeq9r7ROGdTq/ESs9Z2WtNoa5tWzLbH2n/u8N+B3CnZdWBXJXZVF2fnatemZ7HXfm/Kvn37enlF9iv3z/C52w/zHRoHOszwfzGhChyZ1gpxCq2bpx8EH9QdfCNy5vAm0WbRn9YhR0bE3sDdj+YenYFvIZLFZY+vSHicWMXflFqT9nT9RWZeNsDDTi7Kc17e6NQnChHe7j5E3z2+et+nSmSlA+Xbp2+qDKkagWgB8oB3l9cFPlCPCHqugdUQBddontDEh5RqftoqAWaC67R2tA1C2aG9Ojxnrunq6KaEBYbd0lPro/QjwrPD69F3wZCBYoQq4r4hxjA5styww3DWcMRIwwgEZUILjBhGz425YXCYEGaCdcGuGO+bABNxeFKEcBO8C37FZN8UmIoj9P8KTEAUIc4hXpj+NpNCEpGpyHrkPPIrcxjKC0VDGVA9qOvmBxZcaH80DW1AD6EfWnyy5MOEYrgYE2YE89zyj5UUloTNxvZjH1sdWl/AxeEKcFO4b2y4oyKiVFEtUbdtXtuexvvhY/FZ+Db8Cv5LO26CPyGWUEgYINy2O7QXjY6MTo6ui74U/buDCBFDNBLPEZ85cpMiSWJSF+mh45GTI9lMvul8goKgKCnVlM+df7rwxPjG4GLEMaaY9piFmOcuv1z5YkPhxxA1nTYV9/7/mvGUoXPoNfRbnkdelxkKJoSpZQ4zv/E5zyKziljLrFXfC2wxu5X9+AqUE87J5t7xO04v5Kl43bxPAnwE7cJ3IVYio2he9D70QoIgoSnhURhMDBVniifEP4YjJAxJleRB+JuIXNkuGVqml03Lt8th8gz5mPxVlJCCoihW/B6trlQqu5Qvr3GpylRXYngT0Ym9iZ9fn459FyeTxE9qSnocfzIZlkJPfZh0QgvRJmsHtJ8n86TdTQEp2hmlGRczNlIVMoWZjZn306BZH6efzkZmZ2WPZr9CCufE5phzLiN/ZSjlSnWOumnd86xT+nD9vP5ttpSBZagy3Mg+zFE1vszlyg0wZeUVoMZQX9AK6JD8NvQtzGnM3gJjwTzmY96FvMDChryNfEh+ev5qAVvBtoLY4r6CB4VnCy1LdCVTJWolUebO0vrSXSwHllCRVTGJPSiTLQuobCzbLIeW767aV2FdZaiaqXhTpVf1X41Dw55aywZdw1TtAR6Od28CESKbOgm3iZxEQnN68zDxcZ1I3Zv6pNbh+qcNPA35DRMN3xsVG8PbOxrvNOmQbpI/Ui5QAruam127zVRA9e2pb8ltYbXebP3RXtjOan/bIdbhNJjXwepE0xRpjiNJI9W0ftou7Sv9Nv1Ht1KvYm/oeGHvcO9Bn3Cf/UQhw2IyZ3KC8bL/fL/L+YL+oQHiwNYgdNB3cHDwDVOSOcH8PrQyzD6cO3x35PTIrvns+YmRV6MiozOjP1nKrPAl5lLV2NzY75uqN6OXu2/eG+ce37uiX5kZfzshOXHlQu3EyuSNi12Tq5PfptSnvC9VTv2axtV5T5dNv5jRrI+YaZj5w6I/FzW93jAlDpzpmZmToOYfkQTO4mYHGq87lpv2OGebb8+9kyKXh9L10mOuVITw/Pgvb4MtW1tGWxM9l7zuPgEYsflDAb/O1KBFF9y9uXuo52bEN1oR29Jv2c9I3EsUJ8RyB3lIsjMF3f+tKVJqTHkQMUPQSHXafnBXegyFnnySq1gY2Z2dGw3YB4APAL8AUyAsaKODq3YArqJOdAVr0YCEpgG9u9ijCmC8jm/sPjb6bEWKBijZ2Ff06X46yGUwgIDVBALY3kEA2Mmu62DjeeStBcmh082AdbQCkB0mRmqs3eBaiLqFzUpsrt8iC6C8PH19eSEeVwD3tCTjpFpd9NDOleohbU3B7hAoJ7af2X1b6uKB4JJ+0Ukdy0Z87kl4X1Fx28g26cz9Lb7wG4cZ8fZR4aRdFnQ+XQRkw9ayNvIhnuUZH4YFrzQBTjM6LLuZlsjUSi5bqhRZhRHvqG30pth14PyR2ln9wL1Mm5OWi7L2cU4MASyczLBvUd9Nz2rtHQjOr5D9+F9UFdM36aGgHtavbiPb/mvWA2F77T9rVMza8IwwNT4VDm1zRnh+X6MzGHRslyAuhPC/8unbcd1pu7u+Wy7Ks///xSIMKZ+qRGdeHi8P2T0MYBceBGz+jLkaxHQEg7dzOT3La01vGJ3kFHekKNVso/YLKJ/PpEvGvN0kjGacxPEdtccdKD6QE5DCWWJFomQS8kuc9QWWtGnEJjneDgxLWUU8piVtW8qZsCAN1k+BEJ+xITn4MBNP9MSCP9glJ5hH8wfozrSJHn6xdLzoVlkpvxAP7fA7caE0LEtPqqIWUzX0Clp5G0k4Cif20rXdZJrn6PZ5KpoiOFouT2pzy4TjonasixUXclFVFU5kfIVdFV1UN+qA/oi0sz1Ij4P3eEWnsqDOJ+RGudc/pvfNw1EZfWByCopnD6/LBKvtKpMqt2B56dsxvnhtQktiN3iGubyvVOowz/Pe9osEA9M+S0aTCiWXGjOLuONCOrsZodqRNE2mDSkoSo0a/YAGSgMNfKRtmlNR945GnTfGT/x6dZH/8uPoYq364pi0uzzK7DN97w6Zfv8z0klFpn9KoBRed05O/igViXS8OJw+tEKq9qk2Ck+kK02dwbU2/8/xbRWSoBs2J3xX6It1AXZQtlHuK7HSyVy1WoxnImRBYW60/6UGMK8CGswWMlQQNASOPZw9aYSMrtEa38MLJP2I3bQnlTbs/XKNC0AqKZRxLpUiHXVoxnabBrtI+v/ZyT2hcOXkl837Nl2Pd8YfhxCiEBDPPfRK+LLsGrkb1OIO5LIvyYkJVRL5znaq6r6NElEwkpgK55HiBf02Ez7y7WPIQvYRLKO18QCuIuVSgUADMCmr1NL9qfwehozxWPr02fL72Hmp90YaQdJUlWdwexmPM6UoqhNnrUu2bP1Vq3uXIt1IJtXU7IB8owZsKqdpCuNAXs121uJCL7Kozx0iQseaaqnndjqtNPHx2EXzNpv7adTCu+Tb9MorwUAQKYuk1vddrkzB2lXWGpudLei7Puqf0f7p/v5I7IuR0JWFkPtEkad6+O1K+4KqrufviFVkDNs1v9p7PRjkWjT4XSMjudxLn5eYsUTUg0E8EVpu9tYq96fnpBXfurf4DnKuinJejnAgPBhi4FZQrKNoXFsqwOxWRh/zvCJk5ou1NVjXY4IZdUbBXKFksFp3hsyDwTkABNRDx0NOC48oBCLWrMUGF5ecK/Q7hPSm/os4p8+FdPih+a0fZTlLNUzPNHivoE3awP0yI8OYbCtuudqgh9XJWWH1U6cb0wbmho4XhWjFdJi+PHH+0yeyVnVHheUj9a4HhppUimeStc3oaExx+0JQEgOe5tunOjMYUhFkCidUf/FGs72/K7N/jJHw6Uk9X6H3q9NJmbn1wqdzFypNJ1OKZgsaRXNR+699sjs5wDWa+bHfPD9HDR5393Fks6xLqp/1tQ9MJrbYWmYxbYUIRziEcKPr4Xxj7wCw8sPlAChwA38DUv5eIQ2WY70Ix1J4vVS2x1nwXMaW6C4cAqRf39sRE/3or37YRkRI9NGTJ8enx5RpoOucUhhXqwAq6rYNxljT5FihAE7lC4Ptw5xEeaNQ9Uccyz1AgH+HgBN2ebThOFkXcU5mOVp6xbGRNetGimFwksA+9ObaHqs6vfIgEo1GMpCXvoypvaH4VaHoYzNyYO+7ZiqRcGjmI7MOx2wE8trfi/Mr05XzZM4lyY7TIYf8FgsJ4FYJ9gDryhABJ0kgRxIbqqIqk0NI8TyheMiLWJbl46kgZWS7J0ks2dC6aWqqAfIxVUlkp8J6gIZS0s87zx1tinaFMul0JqQBo1ssfvksvUnGJFQKpdS+dvJZFq+xNzM0ODiU0YD1V+a0uVRwb5hCQJ8JYlGPSuWC4+XFzGSvGOfq6Fw9mPe+nOWFgudkwXi6wuGMZOVTUrVXIzujJCNMhazRvxwnK9FFzkUlnNm5yuE+fGiKbrh/PbM27GTGRhTpEs/xqRVKbKunVwTO+pulm/2+m6Wry3wbF8Lbsk5m5x7LfBfHcO+wVV4fxnPCeaXSkofIkpdJAfHCwgwqGtJnVZY6T9jBbUjOkHwJNrhnW42W/Vu9Wa/9szdcGnE/svPNz5/83b//3cP9nsXv/QNfVUzDT3Zm29PMkW5OFwqtY+vY2HlhTmsKR6YYDGbcHinjLCSiiqZwS7JiU1ZaI9qCUpp2LHxSQq3+Yd5W8bAIUxlGUlS0zO7v7qPw3EjVj2lFnFK8R7vEPhvghMQMJFPayvs2iWBk6Z6bNB8bOFJHhqos/z60PL+r/dwi+NmFf1pBlShj1SONB02zeFwmmUqN7xcVabMSGzg/T9kvIouyGi3Rfh/76Vf7oS8/J3xpM/R7/w5azNiJ+gUzsiZ2m7kjHFvVO726rdolR8ZR0jIF+TisSbIAMh2+FKKCTNLKOC6kjfTwfQJ9WnWVkOmWW4QHpX6r5Lg07HQdqKYQsmBvqCO/GvuRHpXWC64aPFJ3yKwwBjl8lINGCEUiKzJ+MXCzk90H0Cpk5c+Ny1+3B/QvYVZBE3fpWNSDu17RQH9Vu2QVmrsptIDcZJo+gB6BWYaxbwTeAv15TfCeMOfwcu8Om7WUTWcQu5mqChgrGgNLajaKx5rfsUXfQlknHvMxEVhJ0ysMwkJ0iTAK4TIYhBeUJSDE6u/xfdBqJa2I0VDzr26/rw0sSj2YMuU0792kXax5sA8BlBDyY/Q/kRNA4YVXNainjr1P0YgVbxD90PxMWg6TbQ2f//8Htc6O2o+miBx/21777QUHrr46UyJseiD3FMS3V+HzofDvOl0VRfV1PAaBeI1MQiZozhFb8kmShPj+BS/UgABy3NEGnPNyxs1j1WdgAX3SZRfKkf2exZZUsAvlBwD3UvVp9rp39zSY7STftFX/M2gcG/mv7P1/vGKD8UZk21YfQVyMhMBLusHjh9n9te72d5n4nWOpYl2QL3sIux95MBey7AO9NjSqrmWg2scYLhC1XlO6WC7q8PSyi/V51rFdyr+gde8YzY5tC7jyPjDIuXgVsEkfp4PnN6tfu3b3kf9rFVroUAJlixijEIc7qSXrxBZH8KhbIf/oOpG3cqZhlGC44qyrf7le30fwVf/4sxTJhDN7nvu7yi9a+GRFsXI2Ogr8NpTmDjmxxrkq/trU2P0BZlBjXPAS2ogYjJa3TSUegAw8ypAKtN9px3Mg+bMQjVhg81cLhbCX9u5lCyVvQ+5WFCe3pKLvr8Xsa/pRGISlhGhL3kbKYGitesd5oxC1nMwG6MSSQqBCbpkMYJmC4o0jVKVhFsY8woQRAHmJ1mDrJLlPp8CXzsg8232LafripFRu5P2Tz/UqTUwkK90yjExelAo6s7HL1sd9NdFFU1n6X7CV9oZT5+7Xyzr0ZYSFHLXRSgiNvHUErRPWJYu1nTo4DpP/e5lVRkND6Nv/Vto6Z3Qo/c8LU2jBOb7SPWgt4/GhRn910pGW7Z86vYxCGo15A3Phu18APu291d63O61C7OrPnvxocRQhdYZKckolcsYSyvJ2wnLB0uYR+xnLuNFae9i7xK35LnODCnia1pl7YlOb84EZLKpQrGOp9ySTq5TW9R6z+gzUs5Ne7ycvXDO4Nt42viKm95QvD4aUQYNJ9knaKWXlcu94Rh4H79xZU5NUdfT8Q1c8fjH5xYpdxVVtjJmnZ+79bBPiev2fj3nfTqwuyJIzVsYLqmmH0BH2xN7dd0ED0ohwGWfpvlpm2VYsLEIVG6fLG9eVqh93VKhCWQMwOFOQiKhUarOuBNeTdCK0zrmUr800MOAQaoa700Ty+j6x/eJnjNAu1obRq6lBwyz1DeTSqXhUQgUua7GL4vQDJ2uiegHbd4sSXL1IP/ukbZUuazSRIcYM7AhqbmwS7vmD2Oj2J5/SCGKyslM87xmJJccxu7420FfWpSxfaVg2znpHWiUlZg+McbfPEpdi9aLDjeaP1t93Q04zJNaUfC0hjhdU4QtWjQV/UqfoNHt6z864/VKSSokMBiezJimLVay3coZldUqRtanODcgFLQCly6vKlcoJa2Fku6YrvW3eVlqNREJ72PahkK+SvqRwxVcwhPpq4SypQSif/5XNp+OZTNopqxbi0oMYXhjVRuo7p2Qbc6ZQKj0KpaRG3ZekS7RUsUDLZ7lewHrDL/4iOsot/U+kWt8Yq9OwV6ukR5IQbv7g4lt3UKC01mW5qyy4QYYep6AXn9N66/dcm43nNBKfrVl8eOC+yvW/b0gPjBluqUtWJVv2+afuQMw5naveG0X4oT9+HwJpGq1xIcOdBySF4PrBwArOuQ6QFCyYx0wS6yBHiTZibB0SWIFBFFjA1hjx653RwCLGw9cATXzqIOXLQY9/+//FO3T+f7QsRSTfBLlbCFM6xkMMgIiPxzKZzzm1Kq/Ya8dO7SqCov+z/+rdNG95h3g6hdkyTkSU6VY2tLmm7eZZydiNlswILQDl5dB8aUIEgtChYg61kRchn1EK8FGIHgC7gEm5ZbAlCoIVWA6jeGDqUjwaQYlg9i8nSYSiOqrlVvqaRFw3Sdi1X1MB8d9VOV9d0tRA9fLLjjrLiAM05owDiqhqJhSvggsWW5cA9j+c1IRU6DWLQDU0+BintzfjeF99GjNUbdfB7J9jxlWYnwsO6yFxWW7wmr6KnuLAJ49ofUDm31TepQ80OVD/lyNwnWZsgR+1xgJFhLtIMcc9RvjIW1oGlnsKiFjinDAfgZ5yChhJH0SAmMp070aOd8tSIUNq9zl8ohKHHnO8cx48jrNSLIVzOlXd198RW41kNhRInG2t5OdDwfGBrK+3efdOJN2mywyFNIbBk3V+mQOpgJ7LQxWJKB2q8EE7TXllUDI6u1NMaY+CONnt+BBLDLz7s496nj/PrmhzBW5lE7fC7inMcyp8JmgKwKpktGuxiT0L/QtUzB9Q8WWpFyhl/Kf3vVNLPSP0o+aIiftIwE55XP9dOQP/3D8mJAH/ETvC5vVfOF75rs3LSS3cW8OnK3y2PqgR0mqBitm5Tx+cu/MtpWv8zKwFLMMhXIk+wtRabFD0Pr3sKI0bN5OfRB8EhO0h4cOMBr9SWK7vRMI4hQjPdrLl8wi4mh1uBopnIqDMiITnLPQsx4HUeE2G3W6TTVJFCNDhi5lTXKX3UCYc9/+H4YymLTh84D+jNIOJ2jFZ1QlpBgG66Zrj2lDvgROO+9xTb2VChwU3I2NPETXjfVM1xR1yc6Yzf2yihW8CKKbLGujBZFDKq3GzsT7vFUZwrnwHqwFcFYT/QAU+AB2e6M+oKO5WlBiQy0HXVNAhBxYOeyNX8Sqwvt7J9v/5FbGMdmJHhAtdNFsFigR80/v+QePh2Khj7rfePv6SCXOABjvv1dldRS6dCe3a/J277qG/xbFnaPrzWQUJdsHh9G97dLgZa9jmIgAI6YpsEGjQz8hdmem98GW9t0TXW7YP3Pt9FvfvPGl8t/HWqlX3n3nT7x/9IMfImP40+4MT8ftfNwOWUNz8DrnWcu444kNFXxLvblhKu4oY77omXLtRuhYDr/r3M929Gw2la4ds/NF19rXv6mY1/YzllpwUztF4qt/JHp6yOm/x1iTQMQLugNON7iymjHlekVRPVXA2oHcZ2tZFM2Ybxuxxzop4h+eP6g3YbpMc11jVS61CkD43deJwKX27zWF993MDcg7X4siQrdd7+XvECDYhxMpJVNLoK37vsftFSzvkPEurFjCSisBM3blrVn5CUpEldAjSu3YxstPVt14ZOBL/505WxxMVZKgfcZ9MBYlU62QuRTkmHRfrT44dp3N2OJyYMpLLhz6/d9aH1h0eZUe6trsEWpuwH2Ze9mABVVQqut/HF9HjnCVRTjNCv4uuYC9nnj0GElOA63ryFHACPhMgcXB+M/shz1bv7qESt0qNEiswIFYlT1XLDogXUanWRe+qvOXtsoeaIfngHbCcc0btoyxVDPweL5e8INYglzO1zE3oH4Wqltok6XFTr6ZTMKcvfGT0gq1SqbSWMztVmbTDSqHTy+PlXWn5eLdqDTrK09Kp4HyhgVLO7almQmhxxDJrw8V0Ubpl+2hciCKDELTN5ZpiMigJbyd/wbkTLDeiFdmRVX6i1evHJMPFGD1tzr3eoGYk9+6VcVrtguz2y3T2aVXMdKl91lGepuxxuA4lfF13XW1jp0NQzo6Bo6junS/o4KIte6wTFAZ8Q5uh/GWkJybeqR9hj815OuWKIfKwm3QccKbrvUC9PD4qU5Ioc4GVFulOGxx2jqvdd2F+FLfwnNEfXvEH6oM9rna3N41R6VXlBo8YAeeQd55nD3wXnnd7FLdTBdyk3Yx6T4ArCdIEPifinwYmCI9pclDCGADdJWUQIrZaCVZIfZox1gcdgtdK09qGuJGs65j44Ml1atJY3AXwW64QHnvYiv8gp2JxYnl4vCiESWiYFrgY7nad2LUx7DCyGeBMAr5lJP80RIr6GkvhSb9cCYXjpiHRPLcL3+R/TtYi2Gx5xrBWv0dkvY0Y6mmECezmDHo/4cQjPF8K/WLMTujWSLZSoJp0hiW0MCGyeF3VZIH2uYPjXdlKKh4UdQ1UlujdTQMQPWFoSXkd+Sv4CV06i1WOCMysGU6PrcOcZLl34cbvu0uSYE+nx+3NLkK61uHGFalozkkmB0HQkDsO7O/GL0v8tSTOfM2Db+0Np0JwCVG6u5Zj/kqf/N7plOddV1V/0cRW/eh/f2meUHOX1+k5e/c63cu+Y49oxIQYr2fmhFd8lXnY6PTSRgfd6d4dLsZRTyCJrUNn3plHLEBiLI2waRlFOyqpai5nywLUz1fbdU0sBkMAxhELe69aYtbWaKCB6LvxDbEi9VwymVO0ZkLCwZOd47SNNExajodT2RT5L9KVNSZmDIjg3Bif1w5ARVTghhPWUvgm5f58Cgmkn3ftaKAv0VWrY2ZtWnvqZPPHbb2ND8c+WQsZO8w/TGudoooYB9xVRqVdXrsYio/Jy8/DCrr1UmD0bgEJ4eWwCdNluVKqjepifXzv1UR+7ILeHbLFrdXQxgFZJRUIBpWPiH7IfqqhGniLLabJBEgIoAqeq0aa9tUwlOqB3AMZry1wiajw7UJSvQVPi/iHx8aBWf+obnHvh4/qY5QzoWZUXOTzatxMzH50r2lrY+d9ZzcxCfUugUu6zcvQi1cgPMP4Xo8SmN8F0cvDjQXdf7HGukFw0tghamNfh7dfch9bFWAWpkZvhPV1KDyDmJ+NTHcIecmCiJkwlx8RBu4l8mBbejdY3k5WXPBZujG616VpTsrJySSJ+gTSaIChRaGwt0NVsLdbM9WB73uum+hJZpbIz1y79HpVvuTMTYPlIhdxdzGubO39+h1eBfLn2FKrJDNlhm9AtBn84FCVOlaM9v0+po3bSBSdPJfu4Uc/Y3/YGyogrLM8sccsq19DxXab7znJOLAuchxRj2gPdt0rkcRPlrDHF8ZRa6fB6vQF80ujPz4+xp3l7graLXnfcv7kllQu3e0YK065nXa9pRDAD4Tnb3rC7v/jX5P7bWf0bw0cefag74bV9m6ZW1Nih51TWETbm3tbTvxhs5a+cXxilvuKZExf8qdO7smlu9FYuB3tXrzOX2ZOitUZ5Q1ORzZUz9YfuhM+g0tKIVQFMsKGyUMRgZmHIVpII4o/WsU1kZCAzqU8/6j1u5o+SfhQNqJnpRIdaAgJ7upFSdVSu70t/emxsfK9Z0SEnpePKRP0CiHltBCPOVMIUHTPc3ZrGu1pdT/6XNfcDQTZYDOwiU2KZm0UCs1+wvw/uPjuOdJyw+0fanvBymB6OF/RTFjyCIG8cf6ZBK+K74nEbZ6PhQ1lsHqvBAI7C5LXEUo+2yPiZsyZI0JS3fAanIvc14WJkJuT4y8/GGF8HRur46taUtJDx3embDkovAzRwwf9swv/+C3yryQ66jckC4ih4B/jhIqP76tOagVX3dTkeOb7YDI2myrLRh1GMGx9T3omIpf6KpEJ6++hHBR7oxCaR/25zrX92+N86Y4dtRtEP3/d1fVErqd3fIMXP+B/9++/5RZCP7MPgQxFsBi1hjyvkRVCCXeTiMODjyPvBOF7lzRMoQvkL25gb8iWXjesdNGO2JBqGr22KpQKbhidwDmyjiZvFa18+nODs0D2lDbx+5H+s/LNt65obhrxydFLl/cH6JHofmDLO4Z9pcDuML+/DhbT+feaPCSjjtDj9wtbja/mlnlvhwyZspFDF3w2BQnyxOXmydZnAuWxtFQTBWhO3EpKzwH10oI92Rb7gQOnmp0WbbvyHCDwP2ujEezK7o8bmQ3sUVJ2+JaC/dazgBTOnIhD2IXfDjO6xEmJWyndfXsWj7ElLAHCsvZDRxT5iJeTKN0zztE24APl9a/N7V6c9uQf5OciGDFU+UMFlRcLDo4tJE9dMbwOOa1RTinC+RAl2BQTWgGsG18Ocxn+yDo7VHlxdXxDpGkoQW7yysXMM8VFn6pRT+/Xjma+1bdi9r9ak3938F2V07bbDQRxR/Bf/fBP0p1ZDJ/d19E4dUDB321zWrs+8s+nZiKemNn8y48VZnut+nEwn6cTAlw61dvZ97ufG9/2Gr2BHiC87qpglfae44g9S/jHqhiw8TWKoEMRCvAR3qPrqwjr1y/wYgizPDCU7DKxkXxZXvtCvk/CPrUOrVjEJXgs8Bc1I5FEKVM+XyzZFi9IEtir1mJgYyJGHJ8PqnQtdfT3qbLLZEJRs0WcVVTDAI8d7TAim9lkT8PhOFlTdq9f0bQ1enSLpSgoQXw7OQWx/oy4D/uH8N2/fbiqyin91799ZLXSSQB1Tf9aB6gvLDw94FX/L37wqZwcr/Zf+NcHqZQMBQDYOn5ihAGXYSACroL0esLh8l3JiV5wl53HHkUwUs/QjFpVDyJcqhyRrC1V9dunUKml+6+ulQVIDIMfNSBD9KaOYSsZJgKaeQAhcrOSpKtF3eE0Gnn6ZbVn+zNCoVMgxrpICKJlVOas8b8k7kTPPH1vd2PnnWdpqNfXDLqYNwPlOD7wczcy6/QWSHLtOFCF83QGa21jKRmzz9txE3cLnvFDn7E/3dHSg3f4S5F0jWhKn9ozEHCkKBE+FG/Fp7uj3s0jhTzZtkNXOSkEMWWXrHuZuyq6TvSjHMTLCwrShkxkTdITA6vUDux6ZOoMAh/CTH2rfore2782fNM9utRCf4W8HjcLBA9NXgKcqOsCfO5hm5aXvenamTJT7O69renPLzwcVY/8pkJCT7/wx6c+2wR4tbtf8L3daZMmplS9YCe9mHC470jNnqYXhbN/Z7+LsFNaWAb52qCPx7aM/HkJAZFSAr1omgMB40C1Ni6EpQWH8WjKGxA45PpABEc6YgC5qDYlobIs095B3BT4BlCuXh/gjRW0CHrqwEeEs7Yt5LzMNuLxfzo92cyplsIijG2gsNbgxra1LjhT4yYPN+CIC5KB+WmcKLjgTLUc37eXILJR67bwB/37IQZL7bYt/+mn74Vrq3c0IEa7MnVBSxfy8VCNFMrTvP1TBWOqvtVX+a3tQy1KJGfJAcZPE/DjwxrM1VNdUr07EEgI0o3Em66k1YYWKtlu7THiw/yJWOq/pPuhpB3j/Z/h//wgk5qx9VuCEo1iwJUn2EMeej+9CtB/ebwKQHU8GtB/q8jfW7w9zOkr965hMyHYGkmnCiq8pmikFjztGhkY7x6zQbhbLLUhkEYnHUawRkH21iLyJnHyPCJvhvlKR9EUur3sV2853u5qZO4ivnaC0PNQxzYYk/I4gHVL3YepC8iJ0JR8BIGLs0R9s4YpGviq3b5xfmU24fiPUghTxJw/GnG0XukshgbH9gs8jrqe975VvlNyOsAeYXFTmGZlXq2UZLh0Z1N6wlVAl9nze/esSQ9owbnpKE7MVakQ4mg01q/NyQq96ugN0oULV7Sjl+xC6cgMSI7VBZ21WC7UcdalichI9CJp0g1ti/Ur3zVtJ5SyADWa+NGdaPoOpQi/8qEmJemMjCuwQcj465caoiel61IJyxBKWDmD+OHJ/NDxnLo0In70SVcQnaDgEuQgNf/qtho5pTWZjhgCRaHMEzSNLHzO8E9sn+v9/qhqZT2xqQeSHBtnk790AtX1/eh+TX8uOSQYKA3sdnMNVx2FOJrinzIprj0/cSkIJ8gCo23Pe67TLvQdl35IgKlCKh5UlH7+FsqWCsIzVoUvgEdvRkt+b6Bfuz/XvgF+hfRr/9z1Xw2Cf1fg/pTv/MEPZ/CHimABS11PN6WiqeJmIstBKT8NyJnNPFjeIL6/lPJabyoGSMRN7G1XLNJ0jwFkXhw3Q3IajK2gBBWHwT10mgwcJFPgSi84S4NEyUlke01Dre+wjlI9GIvc/Qkv8DsiBu/fD95Pm2AcjqNcblL01NPxxBl3Jyg3Tk78vpQLu2CANxTb0LR+pzFHODbAipgH8rE+ln+W3F6619jk1o2VjiTIb95LTKzU2hK969gG3B+ZUe8kBOrpR9c7fob84fzZxyT9n5d1xXcVCF7BK6w87u5nOFHICwKwRiUAKsAjIfEWmkZr0AECJIa0jWO7LGVdIAIccAFnsmrNKbIvAQMQFoSVHZhTObUHFAEoxsbY4JYIg100jmnSjNL0REdfdTCuE8RfvpCdre2eK4h3xWKVmfRU4XfyUtby9hux2Bu2+z816NdJAAw8iXtVAElsqyaYQEnrEU+dA9bfUA3k5vo+nJv71NjEOuM/vj12mt6GP/CFV0OWdZe87qVfHnjL5MBE9sFog4A8fIS90EBHd0MPgg6U4HO8gRV4gs4BAh3v3Y1kRqL7PGMUL7LUUpyxumHCpopAP7stjNBNA31tBmBezwiFstmwiic2CbAmIjdmqJYuFLEvx1Ppej0ToWmKFjpxt6PWW4FH7IDrU5E9HgZAIZQ4l4SrEJDN9OOzfSk35YMuub1ed6dQDPG8oKxRkCZyksz5jMbZrzSNnBu+YKNu6y1cs9P5wnk8N8de07B5Do9eGkg5yet9cJm6s1zoiN+6Pz9DeOoIB7wb2zeJ+l7eKUd8IQVnlCcv52SGfRWDJfAEbgKq+M46H8ArD5wS2OPggICBH6E3NJKTkFIZLQk5KAIJNdQgRxhuJVqQ1DpKY81QgCpQsIJqTl85nLh2YU683NuIT5zXbxBXakBRdLXd5+YkCFHFt/E8bOdRsFRPYX8v+dVTELl/OqXhlZnr6g7eVMgbTKZGj7+JtrkzsL/g+eMZiLV/srD7L/ccv0TjPkWATmeFEKAr5H1Y2LHPfpl76j2wUKXM/rbx5Gl8eKyMBORlgwcKgIDi9CR5dM8Qb20AoY8A7eAL7255kQtL5+o/ATlvAPzfvd6Qlnf5Qxrem0DyrpkwW9DfAe139b78k4nLLS4qAgSpjIIgXAENgHydK2WwVhsDM7mCaPi7kCdoqlopiiYzyHw+nmETwm56Js9ITLx7oD+ZeGwXjCILioi0WaknuGdyNlj9HM4urZRtfQHg6PThyU8b/7iMFn/4eeGbwL0R0TFQGIKI26PcZmdvQrRADF5WPwotv7lXr4dmEJU9Of6ka5L7t8NI2Bseacu3JiYinekg3wxD1nSE5eM8dJrOjb4/Bxx+Wt30KBB9NQNbsBvYcXR5GLj568c+3uL+LT8BLXr6hdevdP/Fh7Hip3Qw5MKMK645bSw8HO9oIuOHKhTAH8o3svNMd892SKAoodgX2engX567qvwP3HaMxoiiEfTF3dmXYOiY5fjBwL0fE7aLYC1eG3JJBNCtSciblL+YsGr+a+JPN6cTfLqsEe1++n4f5P/O6pXVkHva7cbEOmfhK2N/3khbvHywPqnbzQ70chVyNHxl9oCsn7lTl9cYXWTPvdUPnXrsUmszUpkOQ8XH410LwyCuW6CbLU4H1kBEmGlXKfyNVMBs2Q5JmpgjJJgsodxx3hoEcFaHVUiwBmFRcE4GPITMeacvJJLIpuY1qsvep89x7ZemrSGq4j7Pt9vV9v+aHD9TS3JspCOrtYVk2X6S6uSvZA1aL8uj06q3ogYc5TyrWp4gs+dgbb0ksx7HmaMCRWf2jHQxOf3/X1jrkWL7vzFbYa/yyzu5kyRHrEhlSL9/003l5t7NeQa7u8TDo2rNf4GL7dv5QV53hD59aDxFd3ykaQuIXMGnc31fOrVw/EsGgwjssb3bb/WX/Zk+W7GKGJGwSAwFQe8WTnR+RbKiFbUZbT6bqxcU6BJFxlTWAhxFV6wQ4jDkIbXcFY6EQg+Gv+YPBnBdOWZKTwyAK7s0Zf3sQP9pRxDP65o0OtLsnFq8Gmn0xyIPXTju0ZUL6p7jNFJ/WdnYXFv7n96/tLuraY9FlpbeP8XqelqDgY7/86R+2GS3FqFGD8sHSBFO7ATQ/VJDDNPzL6lPRzV611mahZXAMyKQE5LBii2C4l1hzqHl8xk33AOZY3EYRjS0UiZwMVeX015aLjO0KHRHXS40R5oAAnX+Ag7d2pAVdQFH92szihRKWKL6ZzI1RFKmVHf2SP/tdam4MelMt1dW3mMz5uaRsgm7wAWHpBZ96ejB1yVUsRA9cGrTEBlAbncIqr9JeYc6yvjKPY+af/YsnTv9EJnu3kHPPORzkuE8qcmyPjYtjmLRX33+CUYqba/a9/3AyGuNju9+m9APzynIqOzkLTRNDoApnckNTT0y/gW93Z/lrDbggIGVkLZ2HGI/Rn2GtO7Mupqx9mhQxJ8wWNnWIghbjM4Zk9sIL+sebajYFFIvxLIYwzNR9/jOwuJifPIPtrC5QmgbuUEBxgQedkjZlYs1qWmSlH6u5u5bvTM+d++EmiOg+9Qxlg5fjsQYHp49szUl/skT9+bvrqYk5EKrYKkDLJ9FKHE8y6IoXzdJrGSPph1/QjRaNJm//awmAz0PX5erJwSN5Xg2mMYef+imjtbmBBDZ6Vy6PC2iPDoXoDS06WjoKT6/elYKyXi11tdcBCRqUyWboP2C29M5KxsrDCmansRlIPKUbMdpzHbRr2hiiznWfbf98vkprazTNpWlwS1MpBDSqikEVe0i+OWzooqCOHtQpkopXYLUzUXEpYWEHt7ZKBfc7AfRxluSpzLcX/n/7yyczzpt2PlYT3VsJGSLgiF5vpeFX31btMNSjz4jJFSRDqFxr50qbMHu8JFgxu7hjbh+VmSPs6CAeogzYU6mzOQDwKci4o1kvMdqVjASkmSbf8FJjOIoaLlwguoIA4HsAkkhqINhRGa6Zhp3cp3Q4EFFfv9r48djTmwwVSSobAH6SC831jQ91wYEX4LADSD6B2fv6qz6PEofHVVLq/Xiw3XrCNhvDArQax5IjPFGp4QAi2XWRz3dGzgT2WXX84yHV+9l6p7xlIc84knf7qgrY5/7M1GH3bGfpVhW1HWe5ZtUFwP2VOhdntYFkQ37ERvrXAhICivIFbYuBO93qzCEIoOtkZI2sVYz5iu1czowSuvYaEASAox+KopyhmYCfcWR0LklD4yrODVdTURNHKeJFpecn45aRjj20d6dklREEO8SPVjgcZSZRpxXG2K5tGPtDoxaNnXdmKhyOM5MVjHHGr1TIH3NC2YVq0ifKXcmVRNVckYr5Xq66TY8Sj5khLzjBiG0B64jQJBkQALI+XXuckBmTKYADnzRRtxbO05KfEia1I+zsChlzvcHiI3c9ltbv8Sl1elCLmuyWWR1EjbBQkHtZvUoDxZf0VTANS9Ge9Utrq1SyVL58TkjcIFrfFesfwJlzP2cVlF6q64yXph80QgNIBNfQC+oafeV2F13c3qWTKoK29z92jIXcfxKCsICq35lRhRR9Y0DRIReH7NqbU7QGwZHF+umgoLOb8+Y/KQV3VvXixq4c1KbAfxdsVve6AreeSaVc5SfOJQMFX8LX1LeH0aZ9/yCVoriu8QRCYHsgFmFCjhbvgwlWDXV9+NTnuqlt4i9L/Ezj7y46pBZ9hteSKxBmz4idK2ZipCWnhGJu2oz8FSx9b2LW72YF0yWum3CCKoBh4pnMTdAiQZ23qBZLuFmgLqpk2+E7rARNoMsAfyVsqjts78IBK3weybOd3wqDbeRPDf143Q2TVkUBT+vfLYftwnkOMJfS+Hrf4xA1jlDhs1JbxcciN8V62v2O7MZtuAVApEQsu1suo46SOSjRYaMme7dzrXRHuDM1M3AZ3sAOUAdrxpxu81MTIqP0f76/gPHq/ce9YJ8Nstjoj8F6COfF95e1jdPFhNHXiBcTaY/+qffPM//ktWYKwe1el0j1OgpwPS8Y9mzu8wza7dtGEBbOz23xD/PuPerX60WeqflmQ+n+kT8ckirCGBR+EXkfFfP6L5k3b7N8mOUp4N6Hp7nxGI8Q0gpjruWGGIK5QeNAKr8AEMndeE07xcVXTWIquvGog6qO7f9DiNAJvjwlMNef1hkj7OggGMh7g7ZOUytCbhaAKVIdOY+fLsw7LmkTZpIdJm7Qt7OkiRZVYWei4BeEIRg+RbfFyG6067vp7oCdffAU3CzZfxqen3EO32FGHKjJFCcZkMFGqDCShimYHEf0/qPXfxHP8cK0VaZJT2wOjmdXAY9PehiEz4HXLDMfxDYnvMdeIjUGh53x4hrwkd/trVGghL51Hukzb/ZBXD/6zu3kLQSPr8NcSUuSkpfLQlG/OuMiPYHb9fc/EDQ0SbqJ3IfEM8QNunffDHQvSRvanKDtXwixhlg/zcQgKpxAftA959CvRnttIzLFuM8Ze56ZbcAIwQoAWnQvMWNx5GJdGReNrObBUmFkFxxI3mVCjqVQmJpwoTMOqccehx0+hCIWkIMhWeJTWJjYBBRpSJlILItjuFwpRCYKULG+idoAggihxGWwkZ7q4VKZKpfVJfccjiEZcK8DMVIGryXbsIGvo0HAtOKKa6En5vdsYMUjUbQjF3KPuprW/l/h+2HESPd/VvdgcQlgmQ4jj8pOoqTlK90PLQLjwRndt/CbuS4beR8bqBv5MG6M28NzoA6RyqwyvrlD5j9sF0uN58nlJDdRkk3fVfKaIqoNQxqJEpOA2lacJ0wo9Gd9vUh6ePordhXhPij/mDOoRSxoGsQkH8DfBzY3xgFTgh1ttApL8+arzu/F6Mfdq/Z36MTSiiQlq9C/q08tOr+QoGndZAjtJ2egMadBcV7uUCK2oXaC7WrdUZ/DvBv8zjKK3sc4EHW7owIIISzhVBCLAB0oPEAc8V6hTKrdFS4D8WbhIZAZ7G/w4IDtBQKB0JDTMO0LLxPno2aJrDAGaz4DkU9kcQyu+R8lofT0RUk46lslpa5YnGsgByJqdyZESF3O93o5el7hA6zx7NT6Dl0DHs8O9UZ8ek12jVtbb6Cxga2iMKmgW0SMddNIbE+8SG0oQukWPGoMJQAv0/5drvsovMT//Ktj0Sz6Vy+mqlCrlAo91OIUE3vhwuEKei7rE6sj4T3saLkOp8Zg8iNjWM7/RamJtZfErfSRyZ+eXLjrFJ9cKRBUzWqHzWU+w8QstIbhFcIasVvtzqxPq+8Tw3lrvaDFSjlUjKkoaa+YHg91viRCofIrYGft1pxd2s7AM+QaiNCbMqyeNojjR+86XrSgFnN422xl8TWO5+ubiDAQCKpGF3T+K/D6Uv1jJZZZTdG+AkvzveOCvUjBU2MRqtTxl10g+KAcVWIQG/qE9OSXps4mHlFh0HqQSDKWHG5Ybp5sLsqw6eTImo0GrPDpoKonEKjpz53WcR0SQZE4pEZtwJCJbosZxjqXRcRmbQwvAQRqU5N+Mm47M5MqomU3KeYSVqBaMCT9ha7pxClKnvgItl2srIWsCrRReKA5XugjEL8XArRM9bDseiCGjVlG7lG1fYuy4OKfsdgOlYgB3BoPstJgmpsELyes51dKyodhC8eABv3RuhWDLdaDCIuFPbmNmgYayEMyh28Vo3K5xoe6ALv8d+PJxNRCqVho36K8psBr3TA+FtpAuN/P8Ojdy1pFT04om8OVv8BQyhpa10zL6km/WhdxaYzoVlyCMTnnFjbDc8QD/BLtQaOCRoBpCJwaZ62zhb1OKJJyCsnVMXGg4Vpth9JAQQrRR6QwfwPib3h8x9s7qnL9kdpRK4/DKJn8/GJvBZCf/NltWP3M67kWwTHkSKRMWw4b3P32+iZ1f/z8GpJXR+yQz+PnencO54jJ0AxjQ9K+MntbZvDdzdiRBI5x5+z0q9dsyTR+RVOUbZUBev1sjkOQbv3CvCFie1tVZUw84yxcn1vIOj3Pxj+VigSdkEvW7HnFVkcgNp62EDx0rgQSZ8BT6rv3TdY0/dtV3fjheP+trJDSUaoTHrSq912+396/7m2uVFheX+jiAS8f29E64LaZiTBz9FaSrM+mxof+NePdNXi9/aYfEVheuElj9tDuVd/LxnyAJqZxW02oN09YEQ9aKw9qvUmtSXZ9IIyFrr5jrPK+4gtS7w7RI/PyQWwv1zm/DZ2QQE++Sc7Cl+KWqIzjtWyMfAqTs5Ar4CyRdDZgIdDVlK4FBQllY/19+1XNXjuOqbmLOIfnGDw4Z4ESlyce/P/uis+pbBSEo6hR5xg6WwohX4TAG6R44Gm+SALzmwc2+6mS2O0/kbv24kC9Z8/bXfSNCAfdg47iBjkzmkuM0znGZcdEU9xSmoFNer1wzQhwXa3/eMcn/UP5UwmfXIUJQ0IgbH/b5VKbUT41gBNGVQLoZYgeorw4cM4jyQKqqJGluqgvakqX00TGctCje2wuK1UFYR+dH+RTFl+FBz6XaiU6Id+k/7UU+Yh0zAi4Uj+nliLNwYonw8SP5t16xGnMTf4ijHh/+2xJ0Pg0ifh9r9Bjsn/J621B1kpEifPi2rQmzxvlwuyNXh8CQAsn0/bYahzHgN5SXvDM0hBssVA9gEIwNppQgDEKVAwmY8fKq9rdJ49m30AZfHCkD2aSVeEoFJ7nHp8tShBLqGRm0TtyVWWrEWnAjaxEok1Uzdpz6rQPqtRAk+mQWolLTlZjZXG1hotMbYkNukwgXNqu5bySwO1wyUar58mhbtV+OKVU+zrwmCJWuuEub9+zezX9JIQ0ecFcDmN0iRoVackXhDpnQcIRgqyXFAih6exsW0ozdXobMK2RIryBYLGKy95yJ8RV1Y/8ar0upjP7ZMIC6OM8oun5/un9JJ5VtUE3nIa8btmbm9O4sWg2Pp8IJYiWTZnRG7F5z5M7VBzebFayAR53u9J3Qq1FXGLi4uK5HwiBZzCwhSCGYASCwBkiMFvP5HEBwjXGBOXNE5doHnGBpeFX+ii4UFAA1o2MSggbuxbguYgk4aAlUhx/iNLjIvbNH/k4YxxYjDAKkSyJYXwlAKa2/tXYY8F5yUkDMhmDfJcsFeQ46lTaSn3jYBOLAre7ygnc8YBzNs4wRm6CKiBGtkGNslfPKDzrNdwy/ag3h0XZMvHizadjoj2gfHPMVbt8vlrbPtkLnD9phmZaOWTCrIvrbPaCHq96R3qs1KuJ5b/rxL9ZFD54kls+mpMpkXfHA5cobZlEX7tkWvPXL4K65byo4r7+yb/v/VRQ6EYNpbHV831kAzRsCQhgiOQiLvNX9mMbTGtKrudLferlQt4R8CDJtBFLWAtpI2JGtM+AFRtCG570TfhVlAX0mOXG2QzXeJVs233OWATmZ6TriYCOm03QVc2ZshEyVQi/rUfSfqlhyoo1Mu5XW4XVNGSu1mvFNt66HJfw5+KAQQsMsUDGo0vk0p5Y+WmihJx7e2HJNgFAO9ZTzbwjaqMvlsZ1jf87YFyXg1Jl3i+bobzymnqUz2EzjhBhMC783gv8FeC3f76hfatPb/8GD0rf9xJvL1o9Q12r+KLe+v8rklMKL+wExYLFtcXlFM+KmTGVvfOCOHOKEOso27XgMLaYAHFGOI/m8kEu5GnEC/67zgNMf/v5811YgiJD0MyXZaTPdonJXtPX++GuPtrnRdK8upj8BZ34k7bbjuPjyMLA7z4guONhcbjhcYbkDMnyhmJUAKF2QijigHtmpv5pZD9aSIj7G6wXVdBtCYxduaIL5CuBwYcyAdVE49HZoJR8sA9RZNvjiyXquwZCL9fBhq3fazhj0FsSGCOWD7q1PTtdH++Q4+uiX9KNl6f+saMZYeu7pnjePb85OZ/vwlosrDIBT5WSvSQiqcUH13wTFqKLhshWd81jak5n9ImMHxpFYdorMC7eA8fYjP2YCXexqD451rbBgR8yR9DER8AkwxxMXkgPvjAgXVq2ZQTrF4rScF14CQmpakqkM8ZeMWDd76WbTLAm6QCAw4Og8RRbA0bOU+f30Rgg7MG7QsL5SPFaX9+V1vWOE/U2/R1l0tNej/Q5+F8PjMzvtiTafxFOxU8sKAULxuyBSEeipnCEiwu8wMPvjm649Dg0PFfOTEw8Sfr4XEZDlpKfajsp8yh+xX8CD3+MMF5vwoslERofH8mdXKjTWG/vatdkMBlgn88S531zihFa6/cI1gzx65U2yVUD8mdYtmM5jkuWPNFkVwF2DYEv3kt1u4XbV2oNvyXrjvtmH4fOXhR+5O0Y6je70DoNOI4AskmEh+Q3t9WO+zvZHXecnXhulnTfA/9N7//Nif591d/exX/XWpoYvjX18pSDiWTCLw1/a+OF+/mPlp1hBp6t5dgbcI0MX9SIuqeL0jKeiTaiSUQi1ys+oa4FzTeRuenOXG5v3v0NYA+f/+TtQ9z4N/6G/KdPwb9zgNvfOknePBf+j7zof/bhEAEIgli/3j93esicceAydpniQRfGWXpMcJEnBMpSUKHPWwEqeIfIm4OCqZJbq89oZYFGmJToxr2kYNdhdhbwV2GEBwJRjliOVcgWkhVXhTSpujeNyVbFvkNwqKA4VdRLyf3SiOGXVqXBUGmQwYe4k6SlJqmozsEq7HWKvJedgsWsNPamJhWkZSsNW3qUZKvoAMl8NdQ1ZOkuxC/IqQ0Gbw4iDcEH3rL4ILuGh4uq753P1mkUSxXWmJejnkstg7LxcYGkdK3Ub7ciLUeUvGiuPFCCqHjl53jHzVTseaVUwsoqDS7Vs684vKxlTiBcxlOUGRRtngz7HAMzYshydDjRdG+oQsex7dfHKH19vMhnz8UuLBiMVsoZDIwSzciiZoD4e3CO455zZP+z+EQS2/8GO7F/XjwJPnfOi/18hausutN9+KxPRqtx55du+tvGrLNLyKu0ITi9ASWPj7A4x6EwTnlua4AgUrHO8zavzxU6620JBNYBCM5lmI1UW2PVUnUgmkzHusbF8Vdf12975PSEkgL5Z+funSqfmLjhQ39KLo4BPPsdL5visbeiJECD6Afs1PLD7MgsNUjYBEo81gzzBHKvUNsWQ2BGYrorhpectl5dY0cPBh4csw/pxdeHz6F6w/XOp/pCUiHVXqIfX1DKIE/cf7kk+sA76QdpXMGDuYOAnLL/sjC99RzSjI84UzRWZeZnL7oG3pBMihjYxSYvX5UkRfaGJIo67JlXtxAhDTAO4av6ra0ZsxLtc4KAquoKc3rOFmWnFliD5vWx5iUWlSPmkO+JRxKGQWJC2mRfK2r45wrG2b0arPryiU4Ga0VKJSJsxILWnyV3W+YXX/1e/mZaH0lAY9rofbs7/dQ10t4QmX9mWj596v2y4373FtrSEsWDRL3xWw6pq6NTTVjKTjdOSHQnNLPTm/kumqJrSSMoByWBIblGaxN5qWkqCKf5Qky4Rd1z26rDD5/SVsj+YPZYjFXmPzj18MBfzjS3Gln6YQTgjDD/+tf7K4ZKvzgr7tGX7UbyqEdmqFxUkK6ry/2jD6gsqvQPjnX3anx5N/fuHbxbxptbWm7PzTJ1CoFesrhCIhofoDJ9Atsp/TRgRrJ/TaTtqKIJ0IZU5dkTaJ2sqMFzfEUHsWTqfkx0cpy3yOcf6mhKNiC9wPD48bF0ejPnJ2eOFU329xu7gfnT2p/XUG6hPIndjqm28PFEbCUt2393DWsguriR5w2q4IuqxVSRcamQ1ixdqQgaNuXdQON6DhIQtcsWVDWYqRLRAJF1Aw7NQb8nxXVb4kUgcTGwcUacwrjAjJzeruhjeNQUCCR+n4qXSZJVm8cQmRCOGjHiwOnBP9gDUkUiST8zo9hm7XsFPaQgaNPJhmEo1gI1EnuSLb922nhmNneHogcm7NIFkExGjko2giOSEX8reE7IGtFuqGx5Su8c2igPwMYjqP82d6NNBQMT8TLgRfjiIgKGkib8rnj3WHOSeWck+Xz29sSpkE/vWoPRcGNFEop6BPETN9b5bGsugz4S1Sc+cjBkMrFSxihH9DBfREMKBgPrKAc7TBP6pan04vNx+qs8TEbm92syHGb16xa1fpBEx6vpDCJ5r0HXdcO+yinvCnYzs6buDAdOEnexEvmNFFAnWbeLVG5ELOb7aLZpfhR06rUZhBcyTktMZetdSE935Au0LRBbMkFSO6wMRKE+M43TkLhYuypPeuI6S0AVYxGAg94KsCjJBW7GnJBVHJWNCZ32TZSBx4JrI/rQoDL2Qio8wgYKZyLJIMHRKHZwvz3A0qDSsxRSISX9WtJv0s7pcmEpdBns1iYyDXRJJA9U+bCooE+pcby0lIs8Y9FVlpi/ulBXft+x4yFTDm2eq2cuyY4pcmeXIqSUpJNJESTgA2hvPVtAZ2UKt0t7s2Vy0FfWXxe2A3PcLvhI8Juc0e+9shPwi4n+eED8pdD9y51uQA9UoyxKyU3cRkfA8FgxS12eVpTArhXoyo47AOq+6eFWroAOQzm2rjOJA2xMijS2piaAu95gr1IeDUUlnoz0DfB/rK71Zc0IYdArl4XlmsNSMQMvDxhMv9qvN0JX/50s0B0L7dsn35pEPrw/7/Gy5ugb/wjtHRS4WwI82wg+YDQ/ZPQAKfHr39lvvk68MtP0cy3+uKWa+tevxr6g0BAPuv58dhi7Feu/HD73/42Ymq8CwWORQH+y3+EaMItIgmXydDhztq2gyhrxLFelhvBd20ncDjI12tiyodFK6r2e0vsPL7jy+BQ3rJze+0uJlydszT8V3zf/9VtbrzDxhumXu0j714MiGL3MKe53MOMTt6nFYHHMQuepamq2lYpvmNIrf2WaAN6QVFSEbwp0CUodQ48XxKDxkIiofQmEiziV0favA/5f5Q2ciqA3PX89HvlHrvz0oSe9v3kpvgtp5NZNTCgACfrb1/1/SPSOtpqeSfc//+l8oa684nPNDIXcgJxMm8/m3y6HnpwJCroEZ4oNz8s7zhgnPHGIopFrsF8fiE8ggbJQd6Qd9+ddh7gFEzYev87MQQA3rDdAHRfA3FWbWFK69Jq/eU+BubGFf/BEwAESOFN+krACJOJf//xnWAdswjtGB8hj0PFL0BirPc1Cr1LO9gF90t9ulqbwXeR8JlNX8PLWM+xQSRpT3wLT1MRGYxXnN6Bd+lg1kSBb6Z9JocAvnzi/XTSM7aTTrPqLUwUiNOnrkpiog6xfJeDz5DWSwv+2ksvBubPbUkOaJGlxtlb3r43y45cs/BPFVSpFuwuLgTHqzRGIYeNcj3ROjh8A8wgqo3e6/eIJhLiIUUmgiwda4dDkTy3uhyO3gJmXw54Kpu2nGubXCgvFtD6OQxtuiwL2d0qBSqtDm2SuUAI5qhazn1F8pwBJKPaYjC58d4eg+nv88gDJH96sUEDFTPXjl07dtDYIMNcbTZsKcOsLcPQkVUqs2ynTNkrr8OtanJLtHhSpsY+3lLAnV6xoITFP4i3LoU7rg+iL98wYq2+LMnOx1bHJY4Oz3IzcP5g/7naN3J99XLrV8iFxXkIWhwQ7rieLk4xDFddKq5Itut67dWYzyabjuqFwYcTiZi0SpJEsmPY1YEHF81TxRmB189u+gkDRGPQ+I/ZbDZzzDm5+Cjb1Lf5trp9cuALLmxNepgdY5XXStgHbehxl0FWpaKGOCus6E2Jc8ftW5y8BYQ/bdn++Dy3oq9Pjb3rhqwbLs3m7f6fWdxyHUi+tWjrPxwdHd5jVWN422HBFZfKv9j6LzQSAm8S9nBSuOQ5V1xgP1z2mvMUEqW86HKIFWLnCmkRkHjN/rXb6ZurZotvXakFP6KrhwzatfbA+4cCpozXjG7b6j239ovi5XIqeP+NDRWb+tCGf9m1vAc+fQPSu4K92AleSlCzRjhsUO2YS3naw097ZZn1+/NZlaimrTWVZSUstATqi+88+DS3tWW5WYtPNfeP2pVD2a++DtwmOX2+rxPLXmgfNZzRLgGOJv5WQpjGHNWclChqH1NCs4P5eDVQdvmH4+Wd1cvNPTT3hu0+6hx2dmVAJ1LkPclhhOGfvo9v/aHLLXLKxCNhzksFNuXpdFbaEGs5d7ExDaWpdaMbbaAeYq61uUsTatp1ocEkHKNTN6CRZidRrOwkocDKA2KAIyzgJ1QL8zJ5JBSSzRUQ5bRtsFKNto1AW8KlarRRrwYJFTu8fSzU76hVs2WigiE0VifDUaQlacJCt6NEAflsgTuhSvVemZkXCn2bTLwz7S8fV07ujhP1wpdf7EaqRypQROjD2/cE++KutAoJWpqfCqDReQFv56q8uaMgW8tmyvhQHMXllzguIc9AUtPGM/HSFYLAPMCer454jfOaLckfxbB1yOxQd6IBifK/t46HQgkEcmJokX9f9L52XNnfgDw6P95Nrxni0FHyURBiBa862+02CsfWx3RTq4EHu1ykx7PrDznoAng6vUeSEgV3zr5B7GkPtotTpRdDRkH4kLepP3hMSMVOKuGgO4IcecGuk7z1kwgkokHh07Rp2cfEUG5P52XE+QiBg6MqkmGQb/3GPVq4+AzdqmL03QDn963G6BgE5jD4uj/24t49HjnRL5mBVq7TeGESj0CbyFGYjUVrknU4Tde0dV0FsBM0DAoXVrNMQQIyZxQT6LFJM7XM2+KqgtJOEIC+IvUWlIKHYWA15xBar8/imQHssF+5tVocQhA0gxWJeJ2f7ygpwes8BNt3aYNg9Jh12nENhdVnnWJuD8KymTVp6yOlcD0S8dwmvfquAB8N946SPlCPW07RaL3ywBUZoe7NfSRzfllDIBCKWP2zF/fTnqSmuuuaC9bcq3WBpZetEsfVBI7+QFEs7zFM2YyS3o6LI6Weyud9Sksnfr2jJcNnn9dlOuvZvB+g2bSSnzDsoldgfb89OXkwz94dsJTO0JQqXE2R+TCXtZzzIDo7/rYFjxh5t4VLSjU04BQ5GWKxskR6RYn0kSYMTE4MCMfKyzbnerlsfYVkCnH4GGm4DkD3xEZMEY4gk/tfiGkaVNvKYC1Uuk5B4o3a9moolwvx4LvfGinnwVj21ivF7KLdBWQR6o09Tl23m9YrtOrh9RXgYBZcGAaPf3GAuqf+8njc/xsymkV1Oh+y20u21zB7C8lR5vqKNbOYg9nm9eNjH1mhKm3fn3+aq6vA4S0QggHQAGQAfL0NW+dXp9VOBKLhs6fHgPxoHMKzv7yJYHb3RehSv763L73jbdieDY1pz2T+9W2Q7xxjnXZeBque/l7diQhn7WYsWATb08NwEWykCDacg5zArD1KJ4678BcBqD+f1AGQ40VkCWfJN9TLVumk1TayzFH3pxrbzlswHSCuRta2tN3tDkSQkDJfNmdkeWkL5+pLlHYJNkszuXg9oqDDjYi6cZmml1/gGx8K792Nc7y57TisI4SiAGnzCMGO6pxk+8NWxalA8Ph+EDWyU3mL3DqdJ+4F08vGsi0dqfV26xRvrg2OuzrUuk6BC0fRc4lyWJHcsWZOGeQ5aCmQC4F4oE+K+iQi3wl3pfGhmiBY9SrQ/qiEBIgB+bk7s49+f6CPeVMwvnlWAnx1Ch9FHYmBccC3oILiX/TrKCfD/NmxPGf3AltQU6WhMk9ffvuxlpK4zCebntVOdG5LVcdi6dSbdDe221IxapAvzwali0sEofNm3baVAMkfq6SpEIHZlR8Dv5idVZhCxB88+dbIsAg6bmsKi3T3/P60mZwsFMK47Ye8EGMQMEruY4DR+2cV1LJzzpU8yC5ry38VtlMMjoy00VRxlxl1kElhE6/WBCEW1cAweB9xdwuHMGwIPrkiHoXli2SSypvNeFwLyN9CAlv36AF+ntQhTsI5zB7Pu6DOkt5MF8Ix1nommvDltSsBucSVtqxJJMfs0CK5srhHQ0MOHWH6QL8cUWdlK+7QqK3UanxKQdl9NNchWmpj2/HYap08Q9F8fApUH0z1egDKDAWBTMBsVoLebJ/O5yNkey8YTBtl00V3/sQdWr2NvZnd0L71xP/FeKPql5l1l6v+laaJusDE2gF60SdVbfP6/q249Iz5Z31vmC66WSdwelqb9DfPuopGdEYMA5zK3mcPl5mDoGVz1i+75/7j5fM3K21vH86imQPhLNhpg+XLgXcYbmQZ12Nh4rPChwpTZTIJEtNvj081hn1q2z8WECoBoBKev/KKqQSASjDKqy5eiF8DWjf3zL1N/3yf63Xj5z5Pk48W5nj5kssOmxvAHkwc057r2ZhNMzH78XSFp30+Xn3BphpANYBqPH/lE6MaQDWM8hmU6qhb6t7dKWMdqCuU7GJGC83UNuoFdnoprLnq3Wyo2u6VNt86ZI8Yye9WmlGS6EIHVccDD8alalk2AXcMjBj0/lBYUSAaksgNGgIWn3BXJ0uJ9nDanyyK0NgmqRF3QJuPa/GHRtwxJYwY9N5/Uci2PDGlkWCkoWC5jI0VuKtoQd0SjX9iRI9FLosiHnWxPRws95J7nxZX2lB1k1dWGxbFhvIAAADuFgnIAwDA7hYDg7pNQpS3SQWBt6AjPHewbCqjFaXDCaiIgdgZ0aw5WhJtZAJIMuO2Q5KVtu0Q9QqTuUeo7a4vMQ4McmdU5tGC2ZryiJjAHSkLNTJ7J0guvA0HB3onocWTEzs1GTT6/CsLDXYgkCIG+wqk9slBg6WNVZpVe8V32mlKo7fVdaEPh74LPZSX6UtlqnFl/ZAfWVD1VaPxCu2p3mJcWT9sWdUthKMSeOaiRuh9yTdV7e+V97Z+NsoBSEpNC+iZ1rSAHmlda6n1xeIQAwcLPuj5Ncd2spAaYUl00W/D3jRQgH4EeIPBMFuAQixBgIKgtEAAdXSoZRJh088UydEFuSi027xy4h0hsFw3uM84GUQBYy0Bi+Ghi/UtQFFszG8R4HD1S8Gl733IcGuBUQGfkS+G0bYpgyzc6YXbtCQWGWTeVUuNxu/19aE4hJO6NoVuuEYGtET/2kIlpKbKLb89mMb2KhrbOmr3lJTfZe+AI0bQAmfYpAjSHBOm4S0ezT7oDIyNY5dXQx2pLSIVFDYRr2AAfCNYR+h96HSU0BcJr1YSD5kZjLZzCi1QaPv2jy52NTE1DAtrxrBaq1ID3FLsSNSo4uBpm+EXnZi2UDW7f3QxNGCclXU8owUHPY2yQm0z9BzwkRFjrCIJwS5Ht+BDD/zgqFiLm8UyWFukDQu0DQc2EKPzEtOV0jFX0A09XQGQdMDh4yzYdd+Wjy3rZRvZcEz3UNMKbEwXrId0YduQxiSDXL6572tnhxKbw+moyeJ6aPkEzXOojMHv6mDlPd0MjgWnXtmjGxQ6y1ItwkVMUqqGgTYmVR/lRfqE1PxAIAN5hfWqrEleai5F730MD5tjaHjcYH3IHuMAorWRFjNKCiWsVXjnsqItGUh8fmdNqfrD2crGquGDFmyWyHCkf2Lm6N2arBXNllJrgJCjBAjQmGsST4IPWG+noGk+JWFTP2ChnA7igIB8OtCJJxGX+9cDRAP2cUQbNofiobJxHxL7Dq+LFA7Fw4VCuwY3I6U6TAodFtei3QiHUgXel9QTQt/XQHCq442Rvwunob8/3Y3c9Dglc777WNvdDvkmBgHfbTwp9Gprh4DP39qoBGwLwOL5K48YFoCFUR6RcBrKJGhOe0mNpM1EM9vG0omvsqI23InGapikW1jN8aVpCSozsCTp7wWa+Or2FywxOP+LG82s0OzAxKd2INtpcqXGJJCAPsUIBUs/gDr/xY3yNfsewBgmSvOwx7BF2iwXeGNCDpAcoQFDfJ0KqoiYbZJiBnBIW1QcvyEbOI1oqCPHLsvXg0aM1Q5WQNJ0QWD42T0CDQ2wmlHLxh1+J0nODMcYWvUSKAkdnqctvh9Da608SgL4jg/A8qmZHyhuUZBGMMPXe4T/sNE66Fm9p3xFX8KAedzrGGxY/CQNM8JCWZ3dswJ9j9M0zaDpl1jl0vd+q/gk2dnFSECRBmU1Bm8NynCbX1AC3OZ78ovIVqbTpPT/Mv+jQ0jeNFjH8ZtlqMBOWM5AmJ3mj5nfaHal8S5hcMU3BjUQk6zlcszdZbuL744pTwtzXZrommJ5BGa8NLE1xfIJTL1+hVbMG6aNijqKeOhU9kOzHQk0kHF0Lvp47iteYeGM2UlGeSJkfaO5FVpCq3Vqozobb3bKHMzTvLmzfMdliU+6iNriHENJmiaZ2sIdszJREx4q2Ma82fumpB5iRxci05EJTblKCiJfEq3nwAmMuoGC+JfEr8NcoKUV97YFgRrJJIZtRrWVD3N83T9MuepXQHG6pmZ5vPlcwcBRlAQZuHdmESE6pqH52u9fa/sMHHSS+QApMcn0utF5ZXmCmlVIF0pShetMNYN0FA1Nzmi69D+L+hwFadhmsCBLwfEUt9brYtk3noLWt720FcafbuczYALlW3o458CvvXhYRZgMTIqO3IfNca2fj2JJRjElwjauQovnGr/uJKYCLyxz6ggxQPtjnwn8+5LqofPjcyo0ia8hp7lVsDU8dtEhvm7b+PFhDADtmh8wPRC288IvSi/pGX40Laf7ostGrmBLLbnoYmuwLO0YJqv0P+vVasnF9xpOk7djmGzwxgRORgfmLdNWHqxEufNCUcqWyjZb5GeSxq3/Oe4wfb+7ZfJLILslPR7tnXWrr/q6E2lfX7n2T4TydnmZksrrP7PRguR/CphmUPyXwJafEIxhAdOso9aph3sUJmcmYJpBNfMBuLfS8T8HvFNpNL319LIiI8huJ7ntcKXZ9NZ3Sl/MwSbv6tsO0G+69LD0jxzG5PVtBStAJzNuJ6kwDe2jBwA6mXH7gHAAyh39LEAHdDLj9impMA/tuY8BtGTOzfkdKtjM3G7GeDAaM/8zD4ryyPMcvV57E7hAvzIaNa908fcn9Eh700bu+BVp14a3yPMRwR2k+K/5Qafme5vda6Wrt8qxkptDdnWs54ihI8tdfWASK+f/lffBOrN+vH25emEGq/Hcm+HAXB6yOWw0L07lpemI6XAEDXRtKigoTAhPWP5/LJvW6LMt3Pqb6R8zOkckERWF/0H70vxX6JrCJdhA6sxCbwwULiNm5YUkK62icSdIUSAg7VHAAVcUDdBH87dM3/oX9vULoEFYnPqQ1+OaZqKGeZO4TRwLG/pQqiuUb8KYN+LHtkBatocnPnSbq/fYvbWzPiZvMh0e9ljY0IdS9mjFJow59YckEIRAGAwhy1QW8BTfqgGy8TRwRYBNMyFkJz60EFYH+93rV5d3mTdZdN5sx7ChD6Xs0YpNGHPqD5kgDrEwmECWqSzgKb5VA2TjaeCKAJtmEshSI/wn9RaC72Fdh/Q8BewJDXZmXnFydp8CvufBh/SReQ4dA9QqbBSAAkDg6mCu49LjwrndEtihGr+Kjzw2u34tevIGmj6YsCs3kD+bBFQFJDH9NDyASQARKY10SbN+eQnM0KAW+8gnsNGSK5RpegGOzpVSkHaoJq/iYhf1a3G/Gj15BVUfDJjIDc5Fng1cyYc0pp5GBFAp8ATzuHQNWbh+WcEIFaojF7sUNlpyhTJN8bxKsH7/6GAEty4cBWQxVVifyiZXNmHknXhcikFazo1zpe2U3cuo7ZE3qxLXZ+tWdjbZKm7oCdiMwdM741yJguSiOSzX3Sz3sa2ed8/iesC82SJtR2zdys6qP08aegI2Y/D0zjhXqkFy0REs193MXzyY3jgzN3kgBukVD5ubVyRmk8Am1T1xBZZsh6hxg3Rc+dIEmeQYinnQwNrvHSjLdllKZqQ4KGNuMmf8J2jAr5bsa8yrTlZrTK1d8tW2bTkniZmkUa0ANME3p62UdQ0F3IP1nlNv/u6XHV8pv/qf75ta2w7jT5jPr7k3qetOAr29i2DlmL9zZfWfJpqPP3znGbTMyb8FwbjFtCL54g/xffAk81NuLK2zrfR3Ri7pvrs/GnUS6MF7CWoG+UMD6jPJLluhBU9wX4z8f7Txe9pABZAYpOMAsBwUWIX38Rs+ZvYv2DAoxqvUAf5x+YX6J5QCHvR7FVBF4gjgOAj2o0MH/tDhzEzTtoVEkqJoTpsGvqUSplj/rMUw54DGPS4bfKc19gjojAqBqTGYKlXXoFTCZppXf0ebJhGAMTnS4B4UlwOOQJ1TKmKobMHXIiB+FZ6UdnQaKlNGxHwkp/D5VaUO/nN7e38LE76FampMFxjh3y9jefiW6h6iOwE+sgEQ/8qURX9FPZ38tZbAwUkQ0AIy8nVAHVAF6rnIzXyZjIsH+2tNNgAMb2as+IUL/dtt+7I8NKzff0yh9eBgTAKVMdx0vXG0YmwspflEAeyVgzB3AMKxA5Ce5X8Wj8NA//agOvwVNRp03Xy9edao4aBm86ktz2lKLCeds28ecGKAFq1YdF/K1SGDKpXivERX8cZ000zgy2S9Gq0NhFNI2/DnQaUhTnRehgSGweJJ4SoGjmU59q6XG/fNgQX1qUqGZuddcRzZzqfhwziVlPML2bSFrWUP59lw2VQs3N9evG9+nX3VA54c2dpncBatXZM7QBCmlfcTySvCR6fa5xFzUvhWBofT5XDcRKdpbHkHVlHoDh+/ZCZt5aTtiDpNZr2AIVLyxXDQkl3oN5Dh7KTJhHbfb3jQXGf86RrIntliL/B3rXX01ga04VZy50Mhn9rAF3SqhwtvyVDxml9REUzFIrX6KVhHXTdw94eEZOKDiupHm813vqLTYb4dGLT/CpBxNx7Hs3geD+Jeam/YIQkP43k8jHvRv+HF7sYyYv+l0mdFK05w2qWc/eMgb52Sb+ptG0siT/gx6PmJ7bw6Ud1fYJ4wYAZdSvMJuVfJMaXtqqGCOaS17RPhPnEkYYKyegDC5g8Mv0QcmbHHABTPCiJQMQptxpFxQhJCIpr9GWojsE3k/j2ZiD+iiCCRvjeSaiCej2y/ObPHKuzb9VWjWr8XVjkOfowfJAigURs03SB1QJaa/YBkC0xGoI4cBz7EXkAyAZM5UIuKkG947ndzAAgeJjAksLcTTIC1oGIVcBsVSM1477K9h/WkKg45KuKc/PIkoGn5ciYX9Ke4NpxYNPAZ3V14ICAQ4I5/PQP2tpNA7leGglZUrjV0IHpdOTCx8z9Iq5w6QHdDjCPen7uK7/5KVNiJnn5xKgmEvuc2J3MlWS6ZQOOT4acWtv6hBN9zT9EaSYGPdu2fdW3/YSfJy/fw/mfsT3+bk4Dw+iLHaC4RVvLdJF/yLRWzXMJHkHNClHMsQs+gE9iTmMMdIHqlK7VjiqGtywYXmxJku+SNfUZnU1Q5DeuL1E/wIsEkJJB+gSYjNvF9rDAMTVPfEFcVzbDDmVQfr+TiEQzxXKUluCVaT0yYeIMHTQ687bnclbXraJvWaJo4jywq5NdnAxEyP/G/kaF53uMNfs/55hnuu0whWXVVdi9W8rXKyO570xafrD4QVn1BcmcuiQDTvPbGf7nU9+LoHF5LvXNlw4odIknKct+wgScQ1tb9jwrn+s4fvjQJ6kdwaMVW5IDQZA624nffCoewhMOhE0mOYfL+pIMY8LEK09hmJz6mE4BAhJ5Gm/ViBQ0XEvuIM5z4RR8xybwbFB1Js1x+CpmCXcrRvRxxqT7tvqA30vvudOPDs9uAlleQkLduIhkA/MCdEpgYibEa1caS07KHXMyaCQwmS96WJbMoSMYNRTZJaus6EhlxnsEcpdFY0pFihSxpKaSbyyK+fTVQ7Loph80Knrtla6pPTvZhSMrcLENPISlaxjmW0fmOZSSboRnCCRgsXu/4uWFGcspNXSHnEzu6j5rK1NKcmDZIdJIdYI+jH0bHsYvYA60JS1cWEWZsVS3766P6V3Ui1r3SuUU9dLxcxyfqjmq+YmobDAtvL7QgmsGmD+aXoMk8n+J209Q6BDrNdOoBtg8Nqswh9qakG8d3YnxFaqX9133yIuRTbMSTMzOL4DvSzkLU0WjWZEfM5t4i0fvL2xc/TQW9vb1ExK8HPT1TZRgPp5OamTqaWUUEjjmk4X7zysspA8P98/Ir37Htgd89gPzJr7Os4W7Q+w0SR6NR2p8zmtxbDJ2d67v4ZCo49sEHiYiV//miZ/okCRbV4Gf+Dcb2tagb+hOsRrBd+MV31S3gb07cWdAo9ppqn71HmR9kfOGGuF5u4jT3Nwbcpn5m4NrA5YH/DdDTr92N6qGeRo+FoltzUtNzh5bSH/uUwUDoKs3ZARv+j6Zb1hvWysyML2rAurgOaJqdg3g86hGyBJFAsmQqhQCblUZDwW9Xc0+H2FhpH/KLvGCOpfjD6fZEZ7spzCapP3YKWm4duK4bHDkSJ0w4hnFDoYYgqw0OlkFdabTe0VH6N86b1RoCNltRPhFo/Ia2s0396vfPyn/9Zsd0uptB+8mazUkO/a1nUKurxfq3nsaA5HwKW7LZxiRplG/Tg4OFHAzlUsvpgNsINamlh/EI6P0QZvXXDfb/RnlFp9jT2BPoxw92Ent4DS/FShlsUrIysCOCjiu773eR98vpt2HcZdoO0b6k4wOK/eu4rt+5KwBESanSnZ5Mzbc3eJoqM83L/Ymt5/9YFe/p79GfHN5OxKdPabw8P98RaPSHBtMPLFtM6zk31Qw/eZMJ0IEocpwTPFxOnZLXaGu7zKIW2itf/7d/rBb79p6Qv3dzK5W/54zmr587qmuv5DcsaQyWLaYdvXs3hv/Jv7gGmAnBoKpWTPOV/0b29rVoHvRnWc1gp/DL797RF/wz9UIFjYDbJAL/zJZB+ENsCeZfa+xD/qMqun5j6t3GqPuU+3cPRH79nueiiiqxBHAOa5rL1HkKnp1Oo3qjzMaHgyYkIRE/6AkpCrLRrv308wKF7cBCAiy1SjmVg5RKTYnlT0yHxETaLzMh2DvXN9ifOqTcO31KGvOuan+lIjBMJaR470lEQbHkKokBdd+OHnpvkbYwjMuuipnx8k99PI78qYMzPjUeDtn2mVQ6FpPmco9g8uAhpw2CQWn6njthw3JxhmaaZxcxJhRSaJz9WteFAECBnLi6slWZRfiQNZjkCBg2teBofHmTQDpFC0kaFZfIhd47hPfzQkJlavk6QB2gDtBzMdAtxHpkjZ895Wb6hSqK8jT6Wbq9AH4QpSj8gVIuylQIKJPvsjBSKT+Yta4Eg1w4BUFdSz0FIKMpAJGeAV4/YauJubugiVNVhQgYWaCsFfhnOsyUKwYOD91z3yRMI0obFF3p42TAa41ENnyP6ZYEVjJjFajMclLdIKhUsOPIqkaIx+xAIwYKqpAsER8g4529c9cotLfYHTwqeU5+z5LLhdo0cVml3lB2SubvilPD/etn751S/N4oXRpocLppi90NhPgPKVev69XTD4g25kYHq5J/bvtFoVwOpJwy9TO7hB9g8d+gQEH38HOF518N4rOO4y6JbyxgDGNduxDszHdIo+dHDa02osWNtWPIx3yIefeqvQsHzbVMlveAPNAjBSx/PKy/ElVRKaKhFLeQYdE6xjk/zX52ztl5ba0T+ZlGwrbOieMzZHmgf3zZf/tEhTZxp2S+pvbo9QRYd0gggBmFPFjrRL5GArM97RdP3BOZlhj+N/gnywK8jqK+TcQBFsv+6kDtOYdfBfgA3aFOm6tR7GUFP0j3ESpg8HavDfdg7q6AgU2CZy0BbDmQjAD240l3cIsrmqiijwW4klnAXARpQQXsueZhMY0vj5y7f6blFcdrw2tWRJ5wcIq7f9sqP9A6etfkrbK8dOhvF+xd5d/OXPcz4bWivkbmt1f8RuWz8dFHkrcrdGhgIv+wejqQyn8Aj7IBRXaBiAmAfFx66XeqkLuwByXpCn7Cvuk0MLiAoBoowAHkQCUdQIMFajRvvd+fHhaxGrQtlOBhOqdmNZaOA0sl7t8lOcgG2IoiRSY2X3BNefQEPOMzr/cmfuulCwJv3/IjuMVC29j1x7XvQ26/2xQhzucebaJaX03cP388eGnrE+8De/0F/OvYB164QQvLjk4cwnCbo0unnx+WUgMthFpgzagYro8fPq+775t76Nq8kLjoJlmERLi4AHcMOr4DtpSHzcoD82EHeWDsYfVxcFhXMn8YfPMfmQb9x+qlbEweG/mXeJ3EN2PS2IS36/o1WQ02JqeBsclZYM/+4+AK2sB29m74rADvlgMtC0oP7amtVwhM3rSl210Y8PMypPSp3xFCl/QR036/E5Ed8RzUpxf3vOvm2/C+0El7cjBTweIaysTibF2wKTEDEHnvx0hTTrOJkVpLT8cuy3VntvYPfOaPmcNa3JbiyiKzlvU79pXDoMEutfPlYQedqwXRl72B4gTB0L2HWfEKGqnmdTGgRIe+y3qqxWmWVbUJ6yz3X+2Hm9G91k5WAYgQdiCGlvZV4P59ZRjbFwRjahKcOn04sz3TO+5dXIE41LwQDkWRP2ydQFVQE9oGHwGYkh6FAtwrt6e/5p9LOlijsObcxOImXjgYU+ATucpvX94HfBt+m3QM0m9YCSbWQyjw91cTHGMRs4rQ4X61a2xs0g3GzqqpEWTbqxje7AMRzNnphrxCFZYRM52WGsoy0aYTcA9Y1apL4ucBffJXfSPKljzx97LX5bOyxU1onmcJo//75oye6VvmD40Ja53dHsuHLrBQzQhjzMrOBfno3zB3kBBnvE+xRbh8pYxmjJ+O6yPKIap3xjs/f22B7sBkAL2TYugdR2XLufdu1+e7ytewb7bOI7bEmiktsSOOGdPuFvwCZs/g0Wn4LBsHAzv9XVQmOqMZAJDQe/gzM+sFL0mPyqBIfyTFgm7K2p3WhfDFDYB+CVneTF6Wgx+umd2dwbfyKccFLMeVXB02qdAHeJkV+LbbM+/rAuPlwIwk2PPvG6Msu0Z/1keR0wXaJm/UkZb8McV7eHeCye1PNnyDjaaMv/AatrwRYmdg/B7B0HX7UNRqsCeo7BDQ8FFIJB4+TqA5P9aLILJTh3tDytiyCy7NFVb3kwlCFuJ3lAAOqARjWQA0L5qmCeqCs4RYKoxiP2JIu+SDo5CGx9zF2YigZEzHIVwlOkYAdGr4XqfvlvfVvMFXjVSp+ygnjOFXrMA7lIDOgHXYi62J8YksezASR3zNEx2VAhA9fOx1E79zb5edZ6sMy3DjTjGyzR7BD4R4XsgewZ52sJA4KK/egTxso63ClwHG1JXdkTY4qvcUBW7jczWjAGQw9h1VqNsgnd1Rv071mssFySzDjma+kwFri78xe8z1+eOkJWPGKUckwV9RgP+UC5/8ekq+UvFj9P0YjtL5Qf6vnV5z/hJGB8h99OKjBicLVqkD6cK5h0lVj9zl7TeJfgm4O7bVhAm/6yc6Pl973KfW0eUcjU2/NeeHiNCbEBlawb+2Q7IiYTv4Adf7XJ9nH2UHsF1cmy6FN/ew+CoNJP1W9hpshPgbu2ATp8KljXPCbV7mIQBlxBk9BXooMmVor2cs/LF4JBT0eb1OJ7okuLUzh2BNLBjmUWbs7QQ0n4zESBxDQ15MP4F7A+FkoGpJziZOBxv1ZWjY3aAmRKgEkszEoqYfcd7a5MSbQI/SfV5t6acCtQyJu6lMudElRCEWbS7+xs+8ULFDEu7GfdKE1L31/He8PyaQrmIgR1qaxiiRvo6oc5LSMJAUDe1sDWADtFG5Dp0GBHCTVoOcDYGySYCJyEqfOqB1HR5qJKX73eFcOz8SFBKQok6pdW8xx15QXlADJmCnXChH4QWYJ+fJ3ZKZdcGvlZfer4TmFVbXyHWNRDrtBXYG2VAmiD3kGY31CyMAuuBPl2xdX+ZcNwB0sUi/9poCi48YPmoI5/Ptwem0AG6/7xR0Z8dYmUCnUwgMavrqFEH02MZuER+ZUPqC0uQBnDlSzNU/difsU3dS3tuaaSBP7Q8N6tBb8ycB4+yUp0ygm9sIy9Gh5VsJsgdty5669tyvTfRWk8cYd0v+uu1r3kcldGepzvHG1vhhaMc6rLkK/nbjQ2xFw6eNfe4PD/Q3ofwj0vgZ/nnz5XFUP+UJ1FNtML7y1smKoZtiPJXc4ANOx72frecpAhx2/VRvSFlrN1RBcFG2L0hSnFnAl8JhTAahMRgYVgli2KzD8RqTEAA6ntElCHHBrdf2t7LVQXR5eH39mIH1AQEBSLeNT7ekkCFeAe5SDBoIRYlSvFJRxOMog7TXB9/xH9TDJrQFbtneJhbr6OjPIB8Uiur1+oUJqAU1nMEYEKBdK4kDMlH5Jue78B7GJFgqz33DqEjuBC//xF8of1qFvNncNr8YHNf2x4rziu6xV6auVrB0IHG8FFdWaJdFUeIBsL+1u3fKy09gCXwcQbhXXbciCWJr6ox2MKPIxYLeOMm2ynvtMK4bByNUgX1niwUXmXJmkX7N4SSK9quvb7aKRbS5hJs9jVwmAjst+gbfYzzTC2LxfrTIHyWzZiYwHDcbKunsMpod8Di4n4dvsqoV7SjBwDz7zFz9o/87FA6vj/zN4pYx9NJ/93ytnoqdug37LdMr7YEE34aJJjaKnhaK7Juy8PSh6LHa3UY2fDAUKV+lcO0IUXV7t8LFj8PWBFCKtOMwyrM2g/b0LPDfB8V4iN6h5fR/2gIuwZ9Yiz95yL3r7rkH7pF73Bd2PhU29+NnqndDL7nacacUujf6Dd2lglJWg4nntZCEqtZAkaNRkrIHhLGJoKj6gkK5az0TRXOGPK7EVO1wI/Cdf9QVLAO5sCRQVANSKrJwJRKwQyWIA2yHwxqT0MSE2jlRnGwmhO3UBBjB2y1NALRyr5oXrBmiWhlrQ7i/PzgEHI5FhoWCThsIAfT48VUQHuoPAYfDoYE1EwK3VII4jniFREsUSVNbtrOCKjR0001nEMiEYYAV5VZ3i1CUH6R5vxZAUavF6owGHDiiM5wJvHPJVeC0LUL2Osn4JUggIF7FIC7LNfs4sYpnNlnnHUVXQfbOtxnQMX5sFlluBqeYADkIgN0VGXSa9BIlOBSDUlmQd9iXozyVYQOIgPuBSfUDfQZIjBRmkBruy6UnNIBtU5zAlJpm42xTQ9r2or1QtiliZlqk6aDAwefDSI9fIixWZds1MOCy1RmEVN0taZU3NEuZJLPG2Ujn8NkXv9CmOtPH2oedtmH9DFncdLjfASE1gbX+R1JTm1dvv1kDh9ru9Z+hkSpcp9civsBlopQi9YO6Si/932e04e7ay5ZxJ1gt7eQ6cz5w7xojCi29/1NAwhBvWzu6doDZ2kqPujpvbGgASaMYYGtI9u5aPEsby4yM62cMQStNZ/5tWwDWQJqCTBvcGP7/JTL97+KsDG/ZBwtEpdTAAeQAauY123N5jvwmPAhHyHnypMm1FJHmmIqFxB21Hm4rHQdyswsXIUELvMiulSqNUsQL8pWvPTvsyK+U7dyFV2wPPKwfX0MM0WydzipWZdO7/9S7PN0yGgYZi0MgiegdFRdpGKtV0CtooF57YkVNURwXHmm8W4lLBZyxMlvydj7ZV9wLAiLufqE2t7z94rOsKpbeG3npM8Beq5Myt70aSSPAae5mn8IGkCl3ACa7foPjGmIHjUBB6eKEm7yqOp5lK4JardMe3jJdcHa34DUKGZSIlp7Vvbx3ru8NYg3Ht62+sacBaZOG384iBFyClNm+tL395YSklgJOufV1PyTBQYjCmJ44w3zcoMsYBSG51Bk3rk4uF5mNPnG7wS7DVsJNiKLH4hko4hnKEFgGgLwXwhiEpZeCQAvEgv2SRWuw8rVofk9wwAosBLHIQhHAn5jpNKMakWmHKOxt71Bw0qEZvgfWIS4Nnabvt455moJdKeAq1H8EVAj/eBPBg8wbjXYh0gP0NbYghMP4AdIHYMRoElsusCPboUFVUcgzVrMwYaIi/M/WB6aETDhjFn5iYT5gYCaiIWfhWNop+9jwrV/9T7fb+jMctVu/qyTY7W7PcMVbPUmy0PRvO1CgOwfy2dm8Bwd09tgfR/ATEkO/2SExqVkEA9ZJuyIRZFdzI2yE10YL6IpoNFh+QLQyA/cxDOAFAZcUSS0AuVok0XJIaGYMbLa/4ZIzytdbx3iNEkoB52cJ18UQ4Zsl0lSdGKJL6Ia7T72gdYLZJ0O+k8Gh3nARI0a+lUnkRfYRA6w+pFY+HHYP4r/UEHW2n3uWpqyx846zLI12SxoLZ+Lhy+5Tm0je8++caeO23CoyxxOi/S9dLqNbYhHNG4fY2hydWa5hMS7ZFdVFbZ5BH+GCxeXvLN7q6kIUn9FSuMP7yvlcnw2S9VfPpI7vYRD0nwGqA0/Pp58whrnJgBt4y3FlvI67H3/tMViwFIuu0XtQrcGcAqj0c4IClFoGAQgVqcv66mhkAoev4E9VAIYDELEDiuR3+QW4HCoDo4bhrSkN6SbxXqbU3tK/g7UW3KsB2IFhGBaslsmA4/uXAqqKjAID2I4KFNAUsHEg2DJkbRKU/oubwIRuwAAVY7OA4XCeVYFgPECPYjIussjwDBgdM8NO8BsX0E/E1USELE0RJakvfBKpmUIMFiOHYB0OCnMGyr170gFW2oCoBBqV2LhvxMqhWq/J2xUFnVN53bZLvrjkVjUNIJnh+kOqlJq0PwEi21XwghQxYV4IC0m99YhK1A3tlYpx5ersh7K20un057sMuo7CwVSzW60ecY9qhoDtDQXE/9/nmi4TVQvUgmMC/IWPvkppp2Fj4vxYdSEgihV6At48PaZPc2993OUOEhz+5ZvR6PMPmhxRA/5jrbqiVDrhu19KWSYC/L7zPylPOg8x8/h7/Ozxuhs6lGmiLaHsV+y0SjrsvD/c9h6pVKMjNP+JHlXEhN3q5x9UmnyGDuWxl5wLWd1pzB5NmyGtKgnJZm1fEFhKkQllkXIrh6LDfkQ0hkIdK2JMLncpv6zeck4GXhoMS/NIeBy/2+nkQi99JEln7kzqhloJ1q8ywfkMdY9Gim6a7/tLNIZC4c61HlrU0ItRtSkdMPS/1umSyLJ4PP7zYlEG/cojlog+FwYu80W/o+u9st7SxW57OxxPpd7xFD7KXOjNfEHrkV5YY1iSdzLXo9hHBxGr+zFxmI9he6WscOr2O8mq44DwQdLJ1Y9+h7gL8yvwYEjbDwQI+GfgQbagyArUdIWr1t6E7OphBdNmJj/T3mFpiLMTKMqO0SBZoGPc0Eo1Kblqm5cboWS0Lrm0mc0KhKbEd+5NaMpg5e54a3y2ILLx6g580EMHG64WlTfdvQtgl5T9jS6QaPQhNxdWWp/9BL+r1C9t7pZGEYnpzU/5flulg5/uFh1bs595D1z7h9FKXvodjodYLEgEKgclh8NK6R82sVennAITG0pYumVhv0mBPXHppSSVKVooaqQiEani8Q/JGYHhRXMqndWz6htEgHWeDIrlM7J/NzGClNZBAnLTPaaTh8nCrlLzXrqEtyelUGQIKROysfWH9XihgB5Ij7ANm2/VIDJeKJA0sZRCNFMiKX4TOu0bBcp0oVNxvCbrnIXc9pqSuAnZLPA8FNYRgjEanAvK7Y4gfasdO5VuMBiuxd8nc5KRvKcUSkMTLcdNRTn/Dl6mp5WCzE6E4DdXguCJe9KgaovW8UI8OTIS5ZGDOdP8dJroiU0VaP412ly8FjEf8FeqhUSB5uPMR4yx0OgI+/WV+w2X3XNtXGBb4V4PyYU4sIfIavk2Z39aCyTRghUSATAYmRvaKu2hQmECOsmQmikHrKmb7xoTcCh2MEX3VpMx6OIl5X04RMP+Ht3mr6GrPqUN4+HduACno10QGnk+qYuyA5pn0CMRFoFiwUnUKBLkSOyQTXgE3yN86KUP1NaZqXAsV2fadcG1epH7q0fbj/eJekaTEsdRSNkaRgNjTg0JIDsWZBSPAqduNBmsuz3ycBd0T1hISnHk0e9x4TiRlnC+gwGpvfgOwSnuaj8SBdG6Lr89+9FpllYBlSEqKsYoWwqKiQmuFLPyog0igJyqjCZfEXD7IP8r5khpJ6SOpmj091dMgUg3NaJXAvheW9B8IryYcAsh+OqKmEC6nWPFr/etiM2nJrJo2qrAP3UCXE2ZP0K2PXEWAhPM2FrePMNNAL3NY+CsHqBDKcWeB6f3qmChD6/aR4GD/r7tywsA2A8MIyUDVwXnX++PGgk4mFT79Dla0Gq/RKWxGKYg4gCUvH9XVRvCekRMaIvr7x2petTV+52Z3WUBtr03VtHTHtYq4I0ChAAUKsr09ok4nN4AO8ub6SIoppOtCbpVIGRUEIqvdCrSlrYXFZdUooSfRlVBBjD3ABi9LHoAS+yEuPGCZHy66RcySS0kPkk445qIE6yaJ36zyfPBnNurPSIaHFGFfjO46K8OrESnJbOa07bkaL4DvURAqFa5LSzLFAN+5LP5cStfPiiS22CdTQuFxU/v60FuZyPXoqFm4l3NSvVPuk3YgNPfJK/f4m82m2PYD4zP5//xsbQf5Zmg50PEmmdoGtsH1IaGaEJtnRPlaBxJ0ZKdq+2LVsKBAr8PjTsVgRzn4nRuDKf7Mtf9BLMZVkJt67brCevCw2iYOsN27B3ppvBa8hwU8mfSAFiN9JC+STqCOsfee2c1JXlrRpViA2bYD1KmDTx2clayv6UJMYi7gaK3/CAeYwq35sXBSO2jk/B6ESBGi1aTRc39MFdCASW006c5pSqetMPAxgAK5OvyD+AOPCtfK/kds5ZKRMKxiEwqbSJrRducS9dWwWRDNAWlYoY+rlnGH1vogIKpr+FxaLfms9R0uW3lsFBmxpX1pIQxBmtcQBEgg5SyxoiNwcI4yfqUpiBvdW6ts52Jd6msdTDn5HBEVbF4X1IkvcEQ54BMZYmTaG3dyKiy7QyGjezB49IlqudKeASuotb0JRFFXOT3zAbHXUnobf3S7Cyiq3vUx5vdYbzObsq3dEvqh/NgSIl42bX7z02A+zJBNS63RurWoq8woNuQBuucBxKcKeKbpUKXMO5LU2K2UN9oXCYgqqEM3ZU80RpM40lJautSMlmUyHQgIPUOvSzdNA6/Nnv5bFFtqHc010t2Ex+itEn73Nm2/6G3tI1u7iMDkl0Mn9yo7w8czdHE9nhQokhiJ6XzwRmIT16ap0aHSR81iDa/EJ76XK8U/ec2hfwXHElTUCLHLRPg186Jx63lo0cuH3c7nBqpw6Dehkp5vCMRJNNxwq8aJfOvWuAYV3jNWGupcXD47QKXKOGw1xkeNQajCJzl+Hblkjtdgv1OcpdPtZnadFYZocI+ieaaw9da3jDr5qHiPMI3v35kuXAFmn1hjsneEOlBPqam1qvMcYkk1cYdnRAiLF2pD2FSpbVwuN4q5TGRidqmcc6ZCmQhBJv7cQhBw4qHEHPAIQQ/ySaodoVG5Yzd4U0sCfspJ0bIiYOltgIdWrLg05u+hYWf8oKspgFvwpzDQhD3TiJAgly4JWjBSyqBK1N1xLi4s7ANrM3EBYwh51xI3riJCYLHiPhSwAd1AcisWAloLdEk60Mi9GF065wUJpTlIZKyFFDwEDE1pHDpObHrRw4VKo/Lngl0MaKplSXjoqev60dCQqQr0rwVtQ31ALWVySiWtUH+t+2HdWIjMSn1dqkiIwyitEFvs2PgNSZEOcsh7DcJMDTqrUX8p6pAPQ228BAywA24GUtYILvFCXnJcDqkoIglOyIrnedFHF0+MmQ6/mHSh4HPCWJPH+zOTB2XSsklCTsWd4isNcjLxCQZCAVbBdNK0gCI6DyzrwvTwzBnlSATLxtZxoi2HiX40KTw0f6gSETngL2nT5YkgmY+vCNgPjtSz0UIV8J4t9Ycu80b/41mufNU2IJjlQwU/NVq5Q1M2G+ovJp9I1o7mH7vHM8DYH5AIflr5frW0+0nnD4TplP8veYsiWMKTgmXnKTNGKnLscYZfU18kGy3yZaWu6ufcOmIiB+SNL9uaEnbqsgMVRkIjZFsjTdgeacl/jXxwSStGrZuvWPvNx7/hJusJbSMwQXsJpaU0wWRblohILUV6tb0y297ww5sLtt07lDCNud+fXVQwMxMGxG8DMEGowRd8eXvDSBMSiX7ivDargF6qotEn5UWVWN4K+VYBhLKkKBgp4HH7DgwYVlYkLk3hw/QPVEcC2zs3gO9hWR6cQCvTSuOd+Gpyrzo06P4l4tKDG4tiptgwfmZFBiIrVF1RY/pKcWdcHUDBeaBHHRRGMcTHP9mlBfmhFxufG28T348CFwZM5abUaq5w0j8bBs7d/bhONERtxuaUjiaJCheys3bwrYVvHq+g0MQMwHyeF1XSrebwTFxLgKmK3lieZj1IAiPW1cshaLh8AOJuvrHXB7ZQMPi8sscJG1GdSqsp2rQG6PaIFD3R94MTzsQjXzKjrYCtFj+0Oc2hFKlinXxtqlAQPydBqclP/sGae1m++rjNFr/qtDdXFv7b4l691GlKubwRyttmbvLqaBDldH7p1jdz2idQMf/5incAW3Yww0do1DU/Je1Rwz13sKyqeKKyIM956qdt8H+e6eb2Xpc01+h3Ya7TkhGJhbPnedyzjLlyJBt0c9GZqCK5VOtB22LkMMsHuCfgEdYgyx7QMGEwHhgvQixgjr9QAZ5i01EghPyEvksHITj5QnylOWasRaVYzICr4US+UI+jyePFIqFBLmdk6aTkLUAkYJHlB44GiwOR5CYBCxnuMdYAeIGBmFA6azLRWnpPNvbMK/69OiT1AlNXs1+fhm9T9w4ls4tf6pj8tsff1t+qzksfBvoyAr4i96FJZerFhvZFdI4RFuENYVOum90TrnxwlkGj4Lu04cOiNiuI9eztN0CBSVpe8a2EAvGoOPY0YJa3Dcx2n2ij86nZ6PGRy/MmaA5jL8EHJYV5jv3zwn/eNVionwdxbj5JC5rsqrV/nRR5MHn32SlF/Q8/OxUSi16apvNBjD0o4XKfm8pGFw17dJCw4uGiMLkxMnT/SBUKTSKzYKZ29MUTXyWEzA8jufMIRN8YNgTU6e0OZeBVjLP8SWSrCYnyCKPJsmKflJlcH4MgopRSg3iRPQAl6wUFiYBIZNMiLpnp3blbEOGSLbSQAxlr7dlWNJVaqNo6kouMZE95lDI6gshXpBlJwwKYfCkB1YQb62xLBRE4zvajlwsxKXn67tJqlyv54RuzIlc59FCtZ55ZBzy8SXy8FlMYEQpSOieYMKY5hg36YE3uWisql9EmBC/b8ekhpAK7Gm9O7GYzaI/LbKzLICcHJUYi3Mas2RskmZ7nKJuPqJrElALq5dK7do5gDA4n3AigCMwD8QrerqBA5U9qLsczhD0QUPOqRO9FRUWYYY7S9XQ8FG0ATB6ZGXqw1AX4eYRj5Q4rqmm3Si1nRUBOcL4t/v43vb2KAOVADPtxP+Yih9DqKuMN7t7T8+8OztIJ9YQCJKSlWXF5S1s2xNVSp5K4v5XZngMOZmTmeNxpA4EbUUGLcQ+1wwmRLP95WUt0vz/53RiB8Au/sbf2gZfC9/73Aymb3wDOZdFOS9E6DQ+OmTPZO47BvJexKf7ayQdSZaqQntrrmGtlhy4qcvsdjbWfPUmU1Ro/Lc4i9FbDM5FbVfTjWgj8zQ8KnyWM7rGWgFMTrIAUDaH5myhcl5GdpF0nz9QKWyTqoBMqdJc1jXlbw+U85u6b5/Xprr7n/YUZP9bo8iubKQwaD0fninQ6vDFSCAtSdn9Qmf8N7mm3fjmGcmGQfeZw/T0PxDdydjc9ZztYWYLqycqwNk66vKhqBziKEuvjXe8w31Glu43QjwSHqMnYBfF+bqJDcYojo+2HhmluOefGyfS2hC7n1WL7mdKYg8+94ZkMtCDIK4sCLBDgDx0IxCCQJUochOT7E91cSye3uhLDHykj+uR2grI6rOqL9FmIVO51n/sx7FGzk0855ZLCD6IeJk/gOIwSuuoOEs6iRpxJCcYEACwN22oAGnxM9taQigKBP90CgBtXUDGubfwaKXaFTfSV8ppm6s4spNGmWmRFFaZAFTEz8LcBIluJcQ/8bAzwbrmtXUvQwWRqJzH+YZ06GHJWvy6I13WA7SzRQvdpQRthymc2MtJE2OukfKfpCyrw7CLicZ9kZzQaJm1Ec8xLzbPo4uNa8F8k3mq6DsFaQy3aoyFJ+8i0lQZ4SmsJ/L0KsnyzR0K3jJm6wX1HNr5QpTe5T2xhdxGXMqV1BaYyqFVNZ7i/srIlX0kyXYWOQEFb0rv+yzNVZV4hBWaiEVCkciA/mHI74+1Lr8YzTS7jS3fc9EvNnni+NPntK8mEssFRH0KUzke8aKSV4qEkgF0SdqBxX+N7dLIxs3//PvxPXnFtg+2XJhphp86gPpAaS7+LYjLxIiQ2zkzeVwyEvvvqbFTTW3zLjTVljpxZTNu9h2J0vQPXMS+7nYP6YHo98SJln+FLpk1RptWc01TesL9aPr6x7vX/k791C32f7DkcTg4P0pnp+2yCV4S2y4yiIIj3sgiTGq02pSGOCjxUgk+8DR/QO+0TGrdzj/gnhZOg4Q7ax9kWNHxFJP+nBIteU9YXzYZNUMT0RYNwPFx1Oo5ZkwkZBsg9UY6DQUpS4CUGus3+JKfbEkNKD5Q/ag0F4GAGAwEQETGr9TSEkcixBIahwojuqcjh8jTM8tUqQY4N4QCeu7RcAZGiNhcaiMBEhT+ag+2YpUnM+mUKyjNsbK8tILCqXTZUDcnmWzWhr+BZgipYfkyWaxPcZCku15q/aZU8U9fdwinnGp6XWRBes8mEwx+zuSVdMCLsmouROJa/DO6kOQ8sUnwQ7JP5sLRXnbxleZSHbnOIxgvi0Q0FuuhL4QjSaZxLiKNr/fTVyqisZLy01YHhl3F7Ptttv3mdAzseXtTEk9+jBrK0DRF44IeEvvJyltpkyd74N5r4JCZnWXsiNyikOMJ4E82oMQuEDYBkIlLL41ThdyFIigVEVcVxU4N+I8w5x/l3v2ITblpTnsEuPkGxAZ1VpuxGPwcnYbTRDifkkMtFVkLWyYmlXQ50F/twVp85HEqpqgOqs+tFdTkEzJgGxhaZxKZAhuKN1Um/mY8h5Y+Kjy3V2pW7nVfbGRCihbiRAFnEEg7spTs5qJ2yx7bb+OU+oarRAi3HcXKDJaov2d0BH19ZMStp+yX26BqSTX1xT89wVnjvwqsaNpXodNuqK5pk6XTilH5wTgEB263Dv6piTRNieHc0EHjn8N+Ui65qB5fTSb8ID0RKHnoPvloKUO6ZjcHIYEFLgX+XLQUpdxiSKrmE0upa8hpUg4N1lI1/MCtprNJPLuULhoXgD8XVTSUFrkZEF4WlEAGbssre/fswhZ0OJpugzZi0miDYpP0eIHnWIbxsYpK1yiMwxoemguRnmSGA3elJnPxgOm554efHDp2jaClle6FjPmILhFqpe0NMhLSmopo3/GDqFW9Em3jak1oIJbFko7JsfOOeV9AKnYs6XQPbj6hKRrSxwTzl8O4iXdGcs7XCZ/EsRYyInPWEVgF3Px+OYd2wmF/438oISPjKxc1fLyDfNejr2K9FxgbewdC21io3ZyBsWhs/viOgpIKfmXVRG6YlS50o197WWtvHHxJoHlvOqGAd/aMOJVwaZrGSlsy9wRdDrrfSg6p5DCTQSv32zvYDfK19zVwYDG3d+c5I+QFtEe+Bom8NDcVxD4ocMxpBiyPHZ8X7uOQjnSZOefhNt1gEYtWQTc1WxorKIbVkTQkdYMhFB3X34S0Oc37uqC1krt+inmt2cPYMXqxSJ+m3KgapIlkoEwbin29OxyF3/4n+nBH00WghnbDOa5FEP3aeWFwMeJ8gXQsik4zcFQpsyKJlWlN1D9RWbOi3f6TP7i9XU2XV1obY8aZEXWTZEnDD8SihRVeA3zPOsxwCKRNAtSOa73+ni2agAizycEsRu3EqAizGPW+RRPo4UA0TTKZncZwBSEj9m30Hk0x2pq89LDp7iHHTIlWwIY9vZfYX9hM2L6ivX6f1+cQ/uMRqPmxTxfuus651jfA6l9/BhH4eDGRvFt8Tj65ufCb+nKeRH7saWjeKMRgKeW+Y9f0rsrsfQIsMEZ/paipIfhaA6JpwsjqCBEke+nZx3wwbbPiPwUuck6ACxiPX84YynsQxLLzeGiIUbdyEyFuKCBIEoWfuLLLAkzdi149A/raulpYGWImBKp+NNe0KoOlFFUe5gSf4rC5u8ukeA5mTRwOoZ/kSzwneRGHQ5gTbIgXTQ4CLH3AJ/kPi/xyeLsli4S88xwzzvoxJpNfQmyBSS2xA4YUUbzkRQXICprle8CcrhC+FObcVGa/H51Fp+ScG13/cHQhMIpMsN+dJXKR7fw2Ybilro67ouzLdX2dIan1zUaG6dBdQOdlTxNtdR1/4bxyZA9IzuwK0TORPbznNLh5tMBxz9PfkUan/6J987lDs3TMf3F7kX1SOxXH7j/+LR+fstDfBFYf0rcE57PsNGw4DzsK/nqYYaTs7CxFW1Pq1vt+ZwNh4yX41N5vi3Do3LMBgvDKHb5UPcx+nWLPOEX4Bn3Yop8P9nFz4WOkW2qNP1VvudiuVMKI+MuAy/4ZWBE/+uw2S+JUeYthDHgQp7tMH4q/Lwz8DiuMFU0PD/HNf4L+zbrLOsXautffeerfcdbjB/ings8UNLPMoLdDHz0sJuFPDNyYx0oA9SdUhGqXfBVba+yz0UgkHI1ps6JNdxu2Fcqru1HWhA5zK74jq6nLHDMQOFYDUi4nT9Ip5GgicU7icdYw6+LXvx5q9vehl8/R3km4Qw45h6CgS7koLN7YCP/uBMANVcS7OHE342b+kP5UPyLrpCoVEplUIhUJpHHXFb3/aGz85++wsB2XSp0KUVTlxGr0pVy8QIQWT7oPlwAYAzQqn5txIoGkczWaxshjs58xGTmEoU8cGZpNTak3AasFcDJwLY5oqeVUSFrXp1kGgFfzyZftJsJngX004al09N0g8plVd9ePboZw++N40NsrI/PjfyYmDzZQnEz+novLvknGloODXYErm2cbnJgBnIIwwp1L4M40muOONcvBN2uaOpwBYO5g4uu21s9du+bciJ+KlNnfrGneYPYgw3Yac2pomuW8RYy5EHBUp5FJZ1juaA7VvFgi7STrpDZok02amvIoaNLx2x5q6tGZa0IR8zQicZbG7RiCNWMMU63vTqqk6femgLVKIetHm8wVBVDPzEWuJe+2E4Q9HbDDIQyHKxyialbT9xHaFMIhysKCaPgPMxaXCs2xfzYNzRSaJDRDpdD0Hxi0BiXEc+5vdTfQQu+UkFKSlyb7Y7I9NgTkq0YgYF2mCppoTvnvm7e0TEMd0jIto3BGqdv2LRV3J0AQvTYmuyQh43IVpg27bO0aPlGTRzemJnduTE2+3K4OIsMdIiPN1OdNQhJPqePIFurzgXw71crDgWEs9W1sw2z6USB7LPhrgh0YX+k2DWPqUaDzkF/5ZhBiSKLbudaektz2vyTfna5YBwBg9knw8L4y7N0XBgc/pQU8gz3Ch6Z9QcCG3QZvfSzwoinyi2aTJ9SdnJsToFjbEWqUqpsJqaa8JxrDfgrXeSz57WRND6ZrM0S7C0W7Qv/tYFNjoZTyebcbwAS5ECF1d2FZiFenZhK1AzPsuwuqXWGggl+bRksx/0VVRUTk4W1keJ6x/O8p+fZMSUeP7+8sn93IQtiKh9zkC+4TWs51yhncK1iRnilvcK9YP3351zfg+1M2EE6Snb4I1Jf8lb3x2LuKu6zbcxvIm+1kh9Bh1M12sf2RSHYUWExYTRDCQlqe4r7UTl7VOIsjKBJh1kU9J4fvnDF4/QEJU/DRbDWPvoZcM4j2vxnmLq66B1dF0Mdv2LFWB9an3gQC/mTm8959dINGPum/Z+m8aQPouIXFOPp5Gejpc3Z8p//UUdpNT8mOewdraIzaSe0vaq/UrtcV/Rmh0O/IRXp40NH+4yjfYjSOihIBGBEr84W2oDF3bVM3kvMPT/GFGY8L+J3ZOEJZ0AG+JZJPZwvSglQyncvJphYMjk9ayJTy4BmG46phrigI7DZIQ3t9qGBQUOsfHBkJp+xksn4Ody3uNgEBiWTHzzJ7vt+vJxdjAFAGDHmwpEkh+el9OhT3RYB1VkuzQjvZuQcbRfPZeexwXE3ZEGZ0OT0F9p9713G8MQ9HqabCHi8MI02eU5ZPT4n9595du30oVfzYn6XGHrdcHWiGH8z69BTZf166v1y1T1p/ZyZFlT2B/PIkjeavbp/HOxY1s4QtgUI/Ze/YERLBFJS0+WTK2bFkdrQX9I+/o6CQvDyeTXHa7Pct5ltrm2ayomvi3B2uGxzA/aQJlZwqy+Mpcxrt8aKgnRtZSlkeIP+kS23aoXew2+eIFFzKFcGyacY5rXb+LSwZvEt7fYykLlsChmIFoYXam8q4AESbuMfvSGm2n6uG95LdCCscBHFatHF1ksJTnziFn4Y3OnmYCID8O6ALbJkIXpAJtrEIlLQFztbnco2tGPoWPhfsBeyZBbOZ1c0DOLvGOUL5cdcvMNtxTYfxgVwhsdK657Mk8cClOvRq1/WykeiqjptCWyWQu2CFBheQA1fwa5HnzcY7kG/H3dJfhK+NIuqbHCncK5MxIWFVfSDSt5gmz3wFJ5pBvkA8gg0E34ucJz1MudfcJvhITQkoVG5Obd0VYMVheIyhi7TmVgvQnaM94K8thAHDd13bfF2+s4h+isK9MxkVJrlcDxvCNbQZPjoPuFvB9DeB8wJPwlybeYc0oMW15hbBU2pKQIldvakLHlxhpUAdm9DFit/Y9OlXqQhPLqV9Kgni9jtR++0kCD2bYgBdtoD9U5Njl9zfh7qGPpP9hfXYiBGMYmu/+iu+w4cw/sUP+w/84v06Y2RaE+VclE/xeNRuj2T4CLGEF8EfsCoq4pGsZApSVk8zYHlCbZoQC7WHDlifjnIqOV9wkpBRd8jaXDsPE7nEABbYozQSYEBLJTZK2Byg24J8dsDic6qopxm1PKE2LTR8TvTC2aGRsB2zdUMIBvdYtX2FbMwi/WwSmDxb3y+nNjijNHaoYrH3hLqAuqcti+3yNH1bHinIxU73z+PK63RqwvAFHs2YzxTLhVjCGB7+/nYmTHoiYSrgJgTLJLfSXoUVtLoCBMQp/ogtOEwsZBGlQOzTFm6va7qGu6mGFhRQpvvoIb1gIkXCFbBYgzz7QdxUg7449JFBOgWKdUwK3tMAABWFrQaWrUDeukC8K6EbPGWbLEzLYFoTuttAlImEQJLiCkVSDCvlAtdJAArnUauw0TyVtQiAM8o6N6zBet23fK5hvs9YgHLZ1GHgn8gQUP/nS++/LWauOyNwBW1/vWBPvsr7s6twfHrGVjrl9BI/8JukC+j+/6XXCyb1ucmrKIrxT40SOJ99DoN67XeVIU/T3dwYCQ6iyxo+0fmIQhWD0YRBkkw3dprMT0ifXU0YSisjZcuYKtilOkX2K5cYBZeBWZbCRN9sbCuMjDQQs8XiBzBiMaEIYirwe38RObf5TdXIWq2toc9ZJzrvyrUVy2UUiFu+dW1IpZBJL+1HJH+9h4br9vU6j+v3pdbX7O+H8br40u5XolB2HJfEp3qrdYJ2qMLl1XLHFJPSiJ1EDyvVOObuSKN3HgWtWF/0G5N1VhLLWqSs7eL8uIWg4GjlQK4JcF0BXnIEpqfP3oE9jluxVL6e2VkkkVB98C3SLnbVBHfhmfPf0tl0xC/YbAkcyO2BZoUQqRJvFbF6V71P4mOjOZm/OIbgEwNaCsTlJrPuI7NhcYrwQafmo01FDayWFqyP7Ico+iJ++CekZrx3SvAqPNozlI4FZ8cEWyz4HmPDqzM/oUrp2SJ1xKjOpfGdeHOy+OKHCGZXgE0Byl9EoroPJvKpBxl/dKppzyiT+Hy4uLa6sbFGABnL8Q32kj+7F2j8FXyBZ9jfXY2zKXQuZbezu9md7I6+9i92KIxHKCRqyMPqNfZV9mVA1/ZdZ99sD9mN2t7bEx9BLorxrXm78StamVKED1sEJKsNeEXSKmoTcxOuhyuULMIuvhrltr61dwshjIlW8PlIJOTzRaNJVCjq4/hSSsFvolQqGXNXAvhLJRjTHH7YuwAyjlXIiQWEs7rdpwUxfvp282yhOtEiyTyQyWXLucyAQSXBUCQmOGB3uEN+u1WTlnNC+Pf0VaCqZExKA8O7DDrwoEowGKjR4cIo1JVVrE4sqxl2hWy+w5z05JsACQNAp4vsyQfqI98JEN0UMEkS6VxF8EAwlq4Xgn6zSHAiIEeNCoz6EqQ+jns9q0/kOmZvV46pWhAHuY1onynTMIvFIw3fv+becvY4oyWOMR7TX7MJMzZhdVCG4JRYvUBhVCGLlEKnShZl5en2B7twrj85YY+HASAXirNxxhWp0gBi5YpQMIUkg9rVQC08CMfKHHECk1NdWIhqND/o5QnFMrYqLiZyuVGe95YBPiAQD/SzZNY2uTcYjakqIJzJZ3Njb6gv0pgZq0a5FtEVFPa9qNFA9J3pqnOmHfVa3kc6EkBJKY15B8Lk/stMcQatpjQ4Y9bXJwjODL4YHxbCGgnKnNFWaGDn9TAJw4e1j6H2sxe1nTMbNbTpXGSsiAnLhjubjH9vuCKRy8+96ZtVcfsBkgaCE5MKfLpaaVxgiAECks8JgqNqrHdQsFytHjB0ISAAVY8LIpCmdBQbKERs3P/B1Uxs0yRRsN5oPXF/m9Q/FBbVt1UQIEHe8zzQPNADgVA2O8juxvcAL8H1SyJ7nIVhgCOeLPZGK4MwhN5+w1qEo2hkL7RCl5qeuKMsCAYHS4q5BM2xDa3J0B04byWoOe8TtUSJBxpRmVOUp1yXsiIXSeildPg6l6O2P5TEb/FsAd0x7gU1eknOUmdrymX/Sp2N+e9Hjrw+b3rII6AbzHnR82Ewo1E64k3vUlrL7uDJqYPOB7wP1UjNcYyBga/kXUzucXkIdXXKVCpU18eoqjqgd4W9sYT7byOntocXj0sy3LH9uuP0HS7USzbscBK/zoTtdyShWuqfb+aIs2BVw9Fr8ZObDCIUmLuJPUNNomVZ6kjuL+PacTGq2AloQmsTuCXTYsxyEb5wCjpjLQ8PUStOzHSEg12T7vx0kb+1/eqbkvcv3nr7s3SHZ7nPGe2ErrYJZ3uCOiMG6uQJaaY54BjomBk3q5+ZvOUnkg3WZyrTfFm2iDX9vufjS8LDOhqgJx+T+NHcQKKDTzTKa78mFYGLbo8qaOnX1AAleR1E8yVxEmTYqMa5mEPFSJn4EaV4AVgDAu49+a7kCdpjTmWpf1X3opGI5cSY5ARciqRUB1UtRfiIdMzYWCbZqTltrCWlNKuTNdhVbQjOjzVSgbhlDlaYOqjA/GiRFalVyygL7JYSrDith8kUalM8eFKa7eIVnJEClBbfWBmGoShV5eiKIIJIEWiKJTK4mIme4/eKkuvnHomVzoBhVQwBy9qjIsC5GAtYcSLKgKBM/BDhpqUdCVZDXCmbW4xCEnTaKlJ6sJmQKJ5hWDqMUnEclYeITeTGD8sEVxaXfZCl4WwyHKfCDjT9VQGORjCEJTsBVimLhlivbNWLmt4YCSKjGGsteGXd5TVRRuqNWn+LluCNQVrZC7CovInf74tc4G6Hx7573hOpAjJc7JmSRE1XuMJxsnvqQJ/nQni7kVSMr219qjKuGWeLLAsribpiIZhHVArE87ofulDKqJCotVD611GrkcSFTqNki9Zk4mCV1HWgdFsj8HwW5sriVa7mIQhawG2FEFwjDDZeuMQJ8jS4iOse0iJSAkhzCuHBeoOlZcbk8rydxZTIQIMJa3HSk3Qa1rc/1N7ROweFQedB5wITAA0tUIAG9aBBqPP+YOtAkHM/GM97w0I60vcCPfwIwYOreTyIMc4WjwrUSeZmR7pN1DzTkU1d9Mr/97B2Wd7zTJhwHlwZH00BtNwIQEP0gQSz8UoaWBtQzNnf2m4g4YVHtPJC4A//VxQOPNZo0Soq8GJwYyksALETDBy6iVVmLwELqhO4VKjAXn8HpWuqgOFpCO/7WYafMkQRajgNOjwshQ/Zqa0Ar65/skOpD3WrlQlWrYG4wJp3A5+xBguuAdX/igZQr69agxI4nZPz70QPj5rMJoU+tC5ZUR7rYXSaHOc+Nc45gge1hm7N77PjuXImy5og6a4VSdKMcUdutQtXpMIwSMVDn6aRMwyn2kRt5zkV4n6PJkYRG8pOuzgXjaBzspTLvi/AQqpt7s5d3Ft6TX0klVWRaJDIQM1y+BdNbFBzanUU1wlckVbEO4QR/28jlw89Dz2oLPp0nGqJSsaSSb/b7ZqePrFJRqlsz+Ut3vZthhP1pY9llKRDJWhFuC5B39CNoxjDvDK2L0d6+buWMKbG3RNkAiw9Cn+hcZ3Jvao3UdITpE0dF6Mlw+6fReYPA+98UlksohSzKZQuKCrimDzfW8qIkVEwb8/lDEZ80TsZnDfb2GZ9SZFEM2zRHUKOXpTUIKriYbFSIEQdS8mKB1czPmGZBd4gEAOXjCXMY3bKpySSrJTjrJp5rlHG6GFf1CL2ysRmUwNyI0a2n60QNG2HOC26useupBkw8nQiwXQPAHdJwpi6kJyJX2NB8t4RlS/DogxVcPvjZtaouz+9O96i4k7gE4l+WAPvfgmbhYVuqe8C1sAPnFT532B+2C7mR07vsXtZ3sS0Qj7Et5bTxNPAzupJoIfvJ+S/o1AyIRlIaCMjQoR4ypuEqagYb2w6x4Q85FeBAUYOAqxrRp0YlfBUK/eQqE3j18phWmsgc2mSEIt44EwraSPBVYsiXhh6q3buSSskWDUuB2u4B3MBNgpY90ZF8Kmw4gCNA6iRvFlhSVEkveDer7FbJxOSAbG7fWG2/lpCGTRv2Up8nHTIPs9vcHR2SnS0s3vjLJFvFHxiDNsSeYLktWXcIxoIVtuv0YbXb39yIkz1bd9VKu7RIIEFSNmKXZwLnAZdadGjT1Fu+/rVt0nrbiNQp7Bvj9pZYGPElzTZYqihI3yppjOAmevh9enDhDlOkq4V4+ffK5N+C3gPAMMUIYBGG3IAWgpQa8+EJlC9OdMjVeF4cgMKsbnQmZpRwe5mkWDOqlF/nMpmfZJtcuGw66/BziXOCHurLPIM+SDT4Y/rlGAkB5+PMgW7o3rTP5Rc8dk+0d1Ki0SDAXNIIL1xKhCUgsyK7e5NMf4mvT0XjKGk4F8VywouAg0vZqstdWP6aLGFlZ9s+C0opqHBCo5O7aCbcqH7dnAu+II7OIM/pFHJ7j1a2OXKx1/EU8rTU7Y04eWm07+f18Rq7LiyrEoohLXGVILiPQxIALEE/cN8RNUCIWdFqobIgii27RVW14MGiPwCrMS6nnCWIf6DfK0dNaQDOxyZPCPsoupNJekyKPwcLGSMsgwjTj5925wByBYL4BYEcpcI4KeYqN8CQgDGKQqA6TM5RnvBWr8oD4gLs3YkzNjGPjHCvjIyxC7HPWuqXROELZ3EoJ2PWtYFy8AwCbYyM7MU0GkglekMUHY9E2gmMryPUhCVmYwShGd3gFQox0YhQgwTnvEQAdULNFKxz+pe7WS8GAO0wmQHhqd1wKvQmaWmh6DgPv8SrOA9MdAacTwu2oi4AGNsgcYChI0Mqbj0Up4wiYVCkQqCUMXjH5qXDnnaujsxw1MPvIsH5AT0O4iGkNK4bGvulV05lj2Ch6a7zmZ8Ot5TQJY9dSM8kOej1Y1E1pfjJFjfMBBXlvewL3QqNgNFBkijnc0+mm4XaZbXq7vVXqIoWjldrWcnIfi30NVnyewfQq0SaoX+fYrRsonlW5UoeyKmi1FLeR2c6QYM7112ZQIWw9tXQ68DyAG0HqD4wm3MstnqxZI0DG90VrO9q7qPAbkPKtAku0R/Z94M+Dq3U6Njos6XEJX7OAagFDkUWE7oGJmmRwdy4pzP2/qS/pDukatMVKoBhuPJ/3whAdxC5vCDCdw8Q6fHTceor+t2Ylv2H4/w31SSrEIIaTTD8UNHUIbnm+MegPVonH9y1whtTa4J6Uglkl3DKwJ/Err3xy7M7KU9nSd5jmbbfNBi4NtJbmhsEko9wdqKbFXZB1+QErrNC1yg+KNdGt2+UHvPElakzJKHwAwbI6yUfRDl9Jrwp+0qqVTm/Uxpq73wCFRnCCNbco4H2PJgeVzOz7tsQ5LWGC+0t/2CNxIjAEXkQ/59ELhyAGpvdm8nBoYdWlW9Ws++JFbpAEHIEDjLdkkoK5hZHxHyAggTxI4oRvJQRMp0t+lq/jcYteOO1Aw5udBxFpSLoHABOAmGqBcU9FW0AoM3igRR7AinwQVCgBBzpoPemGEH+D4huNro+iFiK4i2LV2qBlnd+5fgcrC/AEIYGKSMScGR1oM5fXIUMflqJAjMjNOrM8bkDHcwN7MZGs8WStTwD/zKGFpmQTYcOOIqecrfiRAqHLzUR6yEDVrMk/dmMHaeBA5wGBw1cklwvjTlXZqiSOFISTIc3J3mbQ2I4YURhGEdoMICDa6po2qbwU92bDHBzoYfq0oTFBrERCPmWfXLZXev+oa478P8e3c0oiBeR9pZD1zyOU/VSmujeVcKbAZXW9ibhcVDKMSYXcFjZCVBcDU4og4147kW0UWOuPfPZzIQdrvby0WxCKKlj+lzB1a4aYrJW6URK00QubBkLv+HR7QzQu8E/FsjKE5Ng0Khr/fI4C92cFoasFvHWvT/fWcvFG4/0LB52kGqwDbaPbGbyLAo8HK8PBHKIhDH/2F8fWGoUCqEppi2JtpfXC9BacnnQ2DEXx+KbP7s3dS20r7v8zbriPDsGsF7KVAr2C3tM/kH2wtQcWRKGZOWwZjf2WPenyGnMShtsxrQo3WH7nvgSGisY5YaANl/LBZ/erEM1+uhbBY86Kkl8sh2HXkl+fP/zLPZVrcYiAh8FzFVZDziVpvBAIIN9I7JZgNQznq5RRdRF4ZfI04qj7U/LdIjHsafFfZDGnS32dF8cI4SV87LAX9OpBd5vsPdMmKTWdoir5QfBV+ehHdNmA4X4105DyiIIUL0ORjBa5vf7roe/t/P6X1yHi6wNqDUuuIrSz21yx47VFPHzGiZywNDq0LGpBLKwMwqSAEgN0lqEESslSorRX4qEtyhk2W5M8uTLwQLrlOhuhAVlnBY6+puWrY7iWLQGsMHYzVcbbRMyHIQbf8m6GGDz44NgHuhrGR5SpccTyfgS9awU6joKuZ01MRSFQ2Nanavj19AFkKhBFETRMJhz0Hrnnff2vu5l7AcsvVs3OAzgBGUjSS3i9jMbIqrriw2qLN6jgArlcB8DhuG6VjpkziXRVGOVCqRvATl8cTPJv3AWoU4egC7hsVpx8fJIBQMhgp7rCJ4Cw87YlIbRrGTzkKB5elkVjVRvNg0IGpAMlC3w2B5a4rvQtFu1wxsBYPO2LQIC4Rut8qOuzGWy+NTK1xq/TbUchR7o7HAhpngGV3bljEX2L5RPqdVK8YJ+SJUJzAWu0WWbe1sXh1Ij3/t9cOtaP6dyMm+vanzowN9mdvKyQifRm72co52G5++4LEniUCMu3FkL3PH0IAIMlEs1o9sf0VH/HHaodh7R1EH2Ye1iNCofWbPlcfc22Nbp40E5poL7ur2hgqVy7KntbHeum31qrVsrQw0kH3RSqctkUZBe0JCieJxyAn0GQxlino96imrP/LRFXWXQcqgGLKAkavVcoZIBvpmkyBKd9ONeI4MpVKn0Yq09TRKqsvSar2F1TQlfbI7wtc0f77NyMguD862RN0g/uT89loLLftvIg/r3HT9Fq3rJJ4KqpGydw64q1pkJ89PpoLYqG/vHHC/apGrez42uUbb/yO2lg1i1jOK8eAGRjLCbYYIgg2Q1INVnIf4mWN8FpFMlKQs1dxLUoBzerID58jz2i0sJMIUo12x4Cszb79dfi7G5cRIIrDw+dwpDZz8p6/1rgfC1oed4ijrZB68VPwFJ6bLHQ0Bs2+feoIEYAxyDC5nPWL5rL8inaptE7uwWfIYsZh0Tiz8keohrGNNyoIzSxLQSFByZlHo/RCIXvL9KHtKsqPbscVurEr6FnxPHfNrPc1GaqjDxc0vRZYZ+IoEWV9YxJoQFwDWXnLtLOZ2vu909nnQnirFdKPolr7VK+ooGsft0m7+5FBt2tXIszViC1VR6gWA91baDeqA3g+AHsjJN53HGQ9pPua9183OMxHE3LxeOTnZKtSAbIpgdASFSuequ1JQYbOWS+r3yahzXr9FZc24oLdRlHW2Qq8qWow1vbaCaqYYOEyxfLRbacYUxF25lbKHlCrc9oV1fyNWHOeLQr10fsn+1pMpqvegVzdC3bfB93ZD43/Cs8w29DBRzyEttWxl3KRWsKazWuIzRx0XmpgVz3TLZhuXcA3wi5Ukc/tYNK3m7VmsWOmX35zQFYoQH8UIV/kxMSdw/YDTOFb9cswREMxO0UqWfuFD1ZjFE/ZULHsJu4RaJqDHAMnTn2yHMhGrbioVr02Ei2JfEsltrHWNU4yVhx8TFiQKYTDdgeZqEsK7j+/6jFXJG6zje63SmATT3MzWTxSojz113jAK0pEM3fQ6DZahiAzvQsGZhEVm+vS2Z4ePNhFINLUXU2SwcdZ8qd9CHB35OdPExG9S1EJhMBiqnNsqUmoLhX2JL7NhFCmxMXHKykZvt5DqLBaDlI5vU4Q137UcULPoRfj5UgVu4k8IAouXnc7mdMY9tGgGsl5YMLJ1nbaHCiUWDdCMCkWDf8dJnAsn+YljYWPt2nZvWUtecG17efMrp+9AEbbm7FgBf6dNNiqBxSXdCqjsEN7IZKAYSaUMhSVGYBaiWGlI5oN96sFDzrdXMRDt+i/NZukMYEPBjXiVBvH31esUXnqPPyzf9Gzx5Z+4Xeq47zYAFbdrPcC3dA/i62mQPuh236Sdst2KSCCEXj+AhYC4Mg+owY9EVakjbttPwBe9q1r2lZknicfls41c6j5++xncfLaR0WH2JPbwWXZ2tWkoV6ul5e7lxhSWREogHNyulBc11bDz4d257dqj03dUK1mIa/praOdIeyUS6bSlC34uDL9qDcEwLVitM/C+CytOe9U8dS7hNoy0PplKk3x/vRHNpFL0qYeV7RVODA5mYxoqpOGHrPU+X5rQaqvgqy/E6PZaCCNe+XGOdaPxAwODJiP7XL57pQMDot84j7OK6H+cJcORtRyAXqhoSQXmNoMgYy1zQ7iJBRxPvob2UZk/CMFwvxWLrdCBNbuy9wIjnX/nzfUjOeDBr09FGu1bXXq3dxscswlsKYQF/ERhMuUG/W7vsLn8mjDujN8zcLct+Gc29HhrmNNT7l3VqabugSQVtyligRFOtYbaXo/dNIY0YCsZ58z3q2fuTJPWya5thSQIXjlNFNiIgXIHb8hi4tedztV4UjaI6VpY10OJfvmJELGwTESj6PGELDoIDsTdhh6CQ76Ey2NJ5ouTBxzfipwGpRvKxGLpvn0I5OlYLBNisO1SXRAynNigjOO/nDACjvn3h9Agbk33Y2BG/99KmQH51kR/DCzV/7olIUHoDZYcM0ZPsJewT4TnZjHjrN1VFBcrmFHhWMfBgIatKVabSAku4MhrV+8+MKz9wusiWOJOh6WWGfeDqnY+Bdv79RrC0QReIJ8SqlXGHuU5CixXsPkS1onkwEk7pEsUnnQEn1jTDMELqnVcwWXDks5sMeoY8UgknqlUMnlJg/afsTXWzynpePZzw5BJZyDm+knuFtpO7FF4EAIGFfLoFLaJQvgDhVTM5GhGELxuDaJJjOBVmYerhvU7sxU7jFXy+crgpEWTl4wJ2COFqIwJfJNVYA8fhUSLnS23xWJssdAqnBrvDXugcq4Vz43bRnXAwJRyA9CyyDjt+EXQnl8hmDYtKGO0ngvG2jFk3TSNNGah+uzqmxVNYnxRwHm3I0SBweD1NIh5s7Ao2agvq9Y7/ZCyTYyyzYhpWnMx+HFrHUQ08n30QFb0VUk8Mq9NmjrvxPiVm3e7TCIoN84vRVRHnWDhYo5L7/C1oRgt2xTbt/PJZK5vUr48t07mbQ7rD9WDfhT5Eewrq0xF9Y5ACbg2SDDa2jLJQWaL/hRAPQI/8ewNW+d+NM/ou3cmNgN00961wGYAigYpuFnYvYKVtnp/yAMFeVi8PVurawLQIRXALd1iOR3M86w/6IAE9rhep4hwMEut3vJ5GN6TaHIw0P2gvLxn+H82PLDZDaXWhmo+OXAvD1sgNztQTqy4/Is5lyWQ4GfxykNRunfmkXyBKydbXqfIqV2Se3hSQPWOFNT+JDIcXVKtzQbSKtUO6URRmnOcgeZFBhXyMl7LOkvrikmb0mrZob5edLSrOwk0aNJrUgrTgaC2NHLQ7kEqwG/NnJ9Sy6JhnpQxFZ6ZAYnTCjF7KLTKdrDo27uK5cM1UY+EDbhtZWtRO5aJKhBjt9DgpZOdqNjooPaPyEK6qr565sbRns1tMhkeeiTDzNE9CE9e4Za+MEQrTTAd5eVxSxmFdBRrvM40TLRssX+iVCwPlSyI8yvhqQ+31IWpJodtjL2UIAzFXhW/EL6wSs+Ib8qe0ruH/TKs9YtMDDjgUTkI6/kKPs0SJBj1hT1LZenePmg3lhzUKO+uVqzte3mIrPzmPEvBPFiq+92WGq7LwMMuLI5J8h7Sc9Y+TiRi0XBsb1/Z4XzvJa70rR741eFRzj9MDC2AW2kcG767UPOstP3T7NbwLY+nN2fMD+qFI6RIEfCQRg3LSrT1mts953DMzM047/zbhmn3nWcXvzCWlNm21En/3F/PqZoF13uZUhNx7+yCW/T81p3zM219/7zMQyuHI1836Rp6Xhja5ogIaIMzIlY5tG9gdJW9iP2RCoyBcwzeM5wYdljARRkWbSw3pkup6rpSKorQ28yY+iLKc6rKmfBeMgkZbJWyFm0VTu57gYhvoDqeub+7ZUUtYWiJMv32vCrD+3i+dV4VaeZFXdTBzpgJISSTsOxHQ46Im61i1QP73OKvtSUAPfhd3787GRfy6DfxJ0JSn7pHv57NVyqymznIu5Jj/Wc4E1JKJjUFv6MrNFFvFW05ts9xfsgsPD0uHssaP5n4F/s1ecFI5UaUKUI6nj/BGCYmrx8C4Uzsf9Awaj6gg4luN5d1NWkFU85ZGa2HuINurFrCISj+OmNXRJSl1EtRGTMU4dbP9wDUYVFRx6ELQV/IaTLrGA4H25/KvhwfN7CSk0hxXzRHOJ0FJEdKMRruzHCXPB/HPAlzLyuqAHohaJo8YVJe4dqMKWz9l7c3LkA5HEddRaZuEdadzkKmt8Lj0kz7fqZWGIzHjf2Ju1SaJtsiqd8bwNVRIi2Lciq60b8rwqkmbS5IaaWZcYDly2bPUFg6Xcp4oRuYOaWdQYAKzx8GMPFVoCJ0c1nZEBSndKPYNFWvyETE4rAmrUnLDpRJ3NLpg1qrdhQ0lMjmRWMuzrfhzR8x03vP3uiSq+ahfPaCbR08LxPni1mtyM5bw7c82qap5knOc6uUolQMHtsD7Y5JbS2KWy4CApZ1IkKA0A6QAwHg3NyxfAa0XJmlYhhTjHmQCE6SmU2RsGnnJY3HHT3gu0+9pXWY493CO84s4oGRAKUS0sRG6yp2X+8P7mhA5P0PJYTe4ElH2l+Xsx6lkexHvU6MXlSh5yc/I6WbZ2VMrRfEZmJ4PN6Wl7rcRs2stn/4YYocd1DM+YppgMaZPRXB7gtpYEsAz7z77R3kzOrzD6uPtK77d2hm2XqmDLChh8Xw7M3T7Q7ej3M5Ci8QquB0eH172R5noQFC9SweuEGMJh3sYQW0lYqEPWoOJFkSnQIkrl4CW89QitJbEWDLpAZOaXJ+HFHZ8s3zY+5UHn670LRU3741edrXbu7ctKqGZEk8c4+WNwJJB7yzw1C9KfKZmzlPWt44BCr3Y/DrIlJYYF1d2yl8mZu+YJMssWvcF/HGIdkGbb9H5nv7yWcmrHsAFPSYx2AMdpO2J5lcSSirxxYERETnhDhWpGREJpDXGY8bdY+Kyqs8FWAz2U1H3wexkJRAFqTMdlQWL8QBcZFocE4C4M24Gw91t7i9AexbnWdpZ4ydrjBIpepys2mlXJNjuTRNMuBz4YOe2Z1Yv8hyixkkrnz5ONR7/lWBOKi8DJqVGMaVp4ssLIg8Kqe6GYrMCSuSZT2BUHjCaUfhWI6wdMfH0g6RdugvVh00jPJHdqzVZs4l64kHbVTlhrsEMmjGlg2R/WnBkIha0snyCwurm2u7d0U2VqdHyPKtWx/pas/MwjxZWOdBbP6FdGdndnZuAQMklhYedtj55tNfi0+GkFJR4a5b3pH8aRWyKqiHYDoxp8ZF+Bck39/PmhybWzEZH6WTydDi4lvKqu7u7yVDYzzs0Ye8mZnxT5N9/XQ+JKDfYoI5kXt24v5kD0IET0SKO39fJDDd0WZHZ2234TTZ9L2ir9Z2jbKgGCk4A+KBEUIae6gTkSsKBYu6rrIz+4WmZc4O7SlNG3XvqY2ZfS7fGbZkWEkxW0xtV0psJrkFP+jwHtvbLim2JFXv8KR0LXn0cEJzieE31eahM66WDH9EsjSnVBhrSo7ORjx7qRo29hjz7QTXXXEoV99iiPWxxdindz16rvo08HuCPQuPFzIVOXx78UKLIXUdnTd6n+a9yo73d3j/12G0cGrfMfcz1KVv9/1p1BH7FEZ66ImPGQJe4vftJ4hO8o/SjM7U/XfHD3z9by8/sYc67OkoXaRmymZ9IZsRAjS6Q/ux4VLaHdg4JgXmiBssVTYW5ZkAa4veFlm6x7KNDiIfIZG5MTaRaxBpe99PV7Mrbar+jeXZhFMov1knq0IInYWK3WQxEcvaKqO+niCOhxD4sjp7aiuyNqF+uuXfTw5W+rayxWOjkIHHqbvPKRQ+GOU2L4mpt0TLKxVWJxOyMlLxn8hmPxnC8siLS6i4WnDt+Fei/XQPgk+u3zjSJiSrvD09Ykh3ywOPLHV2XgTBeb0Vs1a0XqS9OhNJMg1FYcsl0ZeyBy2NI5NLBGPBgl8IEGG3AVyUaGQHqfjW0M6lFxNQ5vLCI6ErJ7OfpPPxWkJ6OpNJJa2iMy3fNuxoDxEo0m1YTKtLMnCWDBR54kXH1kjYaKMMawka+TWv6+p0694FTGD7x7lXz50wWHqg/kbQzGiDNmtDQ4P9WA1n2pQs6WceITrL/Bx66ca91MQzBM6JTlZMCg6WEpKregPhi0g0J61YcGTo8dQcFiXtUCZFlE8HTBeddrhh5HFi76hQlvHmtaq6pRSlO9SWcxF9XvFhmCuzwW7tvKqOAN5VZHA5Tf/B7hJTL2dZHwSWI3qh5/nkSUXq/Ltb05tXK5V3PL4DKM3yvW6DWR5lP2UTUbPZ/zhtK5ljgh0R082n/C+oz2/0jT3Xjlw44XyOurgxyDN4OLAFBJzXdn23qm2sFyUitE1eS7HV2ZJoHmar7cB4rJeCAKhmgEsdGCejVASRwjaAC8ah0LYI3Nb8GTjD94TrMcsP55KYdDbVrEU66WpLSuqJzAWdS0Tz9mKl7ADnzdgdse75RibjIpXWoAnPrgrqpsQ78Md3w9+Gc/q/fXXwCgXf9AXd2VgaaFp8nEts2RoYBQpus1TqYrJl62RNyIGVN1v2NbLnaMakXCKlRqEJ1wihc2GlDZ99tuXb7DoZEGjQ3EsiDv+RPK8R7y8SbIwaoJ3s3PMZqtkDvR0uUwAvhXR9RnOf63NCLfhWStKOdXdATg3q4H/y2trqwCxzUYPzkxi7VfjBZTWlbrCbvj2p9XLQ+DReup0eBeaH3h5x6jDCnwvY1sbxBWxVjxqM/w1ghIs/eRz2dxbgEWzJ003xN13568Exwv/jpT0Gy/22wWAtmb0QW9f1NTM3vYJvPjvPBgSoGqkSyeFryAWN/Hbu3dpB0ewyduZz6F2eDt+bsDTc5tlzGpU5fTE7aWnm+z58vMcjxDSEBql5LNXKRzKOZSSN5HVfK3QtVbdzHseg5fka5Q9xAFyIwFPXNiIiChXFHmMlAiiJYQGABRTquprXxVyUU21bDJtdVkrLec+Kt0MrL1OUxGFIZDPu3qCVmo413Z946lSdAGE9sxHijDU17uimbMDgEiQteZ5MtklFN3H5zs5xkhmjWENVFvQ7ro22p+xmA37HXF6W6jQLekjzzGehMuMMgtB4TMKoi6UraW7BZJp+TOxTZ8vbQFLPbMx40xRioxg1lfEEZ8DCOY73gi9L55qJK0hJK9YoxZsG93mfycs0RyQqeY5cQHzCRZ4XtW2XDNScybNMQs/P5p+2Kbx7gjUeKDg+dsasCFqEipNIYwHFubqc8uB8rn4FJnN5aa1UOvRcLv5G7nCH5n0nUZYUGxRs0fFIVFRKgFXhHvZEgWJFWpfWLgagMdvaNYGgpapxlJFqwaYHo5eEmtmqVrfqbmeh9bkELWB9NGjoeoclifddjrIG0jao/9jYi4W989HxcnrfyHGD9QwD2tPQ+xZaKnJ8wm7w4hNIMvX453Un1yEiEJstVzYMESmn11dywffS+nI3p3R6o7kzP5gI+V5JCUIfl812vOdwuhxlC4X20fm4secPeeZD2SbPTv3EkcF6mgZbB5IA1y4eklu3oFYWuh1qsedWDVoG8JA70qgMtDMQguy98uZQPlTpHhsztXXGdJz9yvjOjqonidRxczjO29ZPaf9GLbwVPpNLFUmxscqmV5MboSE9m8VjyQTYeNwcPXm+uWxIbtxihQ/9o66UZ3sOaL4v5HONnCEvQjzSfpz2FFLUX5GgJklko0jPjsLxBz/TVQGYKdCnWpIm8LB7vxuyBnsie+gJYWHnvaNKQA1jMrJMMgSixomiA3UVeZQlVUAKGs62iEyExO3gntl4UyVGPYXM9XVmV6FYkSK1FBmf0bhEzU3e05JJhQax/sUYX3kvfcWVWTTRCzqMXRNkkTOReHXqvDocIGiX/3R2lGz9rftouio2K9VurpDu0r3sTQg1135SROxgOivMN96ZI0pfcNvofNrhXtk2lR/Rt0XOROzkvYsr5lFmOtbePPYA8f+avzajQ/I5s3B5TehreIV0GRIMVAnBPibioRnj3L0G5WrMdKpRBHtr72asOSd3Sej9sdnt3RK/nHtpATpdLSPd8nU2kEnFaVrO1UGIPWWzKc0jhfVGFqF1MIldcyXPS6p2zA0AClBk1rVgfxbxXSmKkihLHDn61mZWcmJBc3eCSYhK9HZ9XY+jlgWO43RJRUGrun5Z6NBHzgRnss9bzOVShVjo6HLuRGOmz05l0vn+gZX2huzMoG3d4yZ1IZvUCTDvPzYa/q925rNZM9sSrY4MDQ3XBoWeT2LTgjBtGRVHCtHLfgUh+Ofvf5W2aaRsGPxiYi0exKPvkV3RY8N6Nwzhth1t+E+pZJ+XXfvIqUcdZu8WDQzWGnbi/bk1IaedPIUHQw5E1x9lQMsAC63aP7ubPJQ33FrcS7pcXocz3kQhGgn4BWJdm7bKK4zu5Er5IsRK7Iu29nN6NOenA5Pj4TRE0V//CMRQSXAB0Mev2LOUbhaqWN3V2wNztv3cEvCKbzOnd+wpHnI1cNd5mnq/VcL3cvKrgxCFfzql8y33FdUv8aGgFDiYvE5uEObPyieBtrlgsagvJlu8L+sKTrz0x1MQ83+y8PDfP3Lg8P/6Nyeg5mBf9Mz3LPJP6OyTwszk2J35RcivQWJHDo+/RKuCimtS8PHEkjN+sM/DL/L4Wp8Bquh61qfPEUvojYjEeDFSU2C9jkw4B7OrrtBsMrtse0lF5VjPSA6xENB2174FQDUwdFSQ7Ut6kxtc2nMrIYu02RT3mnKkpuIXrb0SbcMV40W1LOJx3wmvXRE2gZV7fkxpAxztxW3bxE1kZfx2cpktXGQ3OLkZiXgbtDPTwca4ao4K7l5dS1JNI3fbSWtMK9JqsnavKVwRNsm/aL0Noe3WErXOl+TIkojeEx8Qe8H8a2MydcqAZ+74tkXs14E1levzAwX9ncxOJzeZQ9GE2MuhwSQ4L456Xz9hqnrTmJjzxtMi2tP+/ql7Tf0DYm/oF8vXIcOukT5s/dsGtPlamWBzlAGXvX3mWXXVJ2xg/Y5rq0WjDVgAqCh0V6C/sAMYq+LIVqZlQl9gwAAXXbEvsdURr6RqGkgkvZ7m7Mk0zEzbtk1S1i0ExtYAiEhe95xZOosTOXtvEHlxPgCITUuunS3yvVyDq2bq6HmXnr27n1S/AmTOD7+uYMS0Y7uM7H9LWmbbLZ+WStw9/pZUyctmfktYc/+RRKTZrJ09oaNT8NWNbU/uOiGE0T1yMQFw1GvsDMA05a6FAljjGX7DZ3nOEHRTPN/05tq25760N+joYIWx8tPRsZRFnf18xNszmbJi69eG5K/zcKc5E2Su2W1KWcyRda2Ji6AyhFJ3HAMoE8jVqv7+c7TX/OjqQc1xc6B+BiR0HF8AMQ2Z9sGjW54XmuBt9wkcdxzwvQ006V6/BzRo3Ivd6h5EmZeHmZcrTjM3M3RZv0isIsbM9/9n6diexnRkk+beowJy0BzkYUDXQRqeQqZfeP8iSFs3HNS6ouPkngCfZ8HSY+DL7Azk6j/Tpas5feGTNzfWHGd8K/g4AHengs+CGbabIF5Kh1YcbEzuOzIwjnX1jrOO/K0zD8QUXUlQkERQ2QMLGmjwRPtkzULLHKgvAD0azHdh9lsI0HCWluOA7wiO1h05Ves0iTnKCd7bJO7dzcj295QtV8r4UULrKiLQbcA9PP1kyP7L/dX6cZp7H3gr+/6C/B9ENnBBvsUR47dDVbCswwmyE2t73JD6QnUMNF/txPr9F94lYxMf8XQic5LrpNZK109myRjP8ZIXjAD5kWuQpfzbNdpT6bTcfgNeD//w+/iUxd0IEJ6FUrM4xl4LWszaLsM+3468Y/H/6aUMRWhamxCvCvCauegj/16EJvTxmVencVtjIyp754N9dyT+bASP9JYh3gJGmE37oYTiIhJwJyQfaM/WoYoeVtxqY2EWPI4HhCbRUO4tL6heOysup6exX77KN9gkORXQoocH1fYGqZQPa9m0LVceoTi8zPunFlwirYlE8Fd5P7WsKWXryQk1Fow+hJ3QlFKazwW5bFsxb0gd1mioPA+vm1biqMIG1bV7E6Q1WLlAdW42ajTJ+NK1y5OASeyXKetEe4GEAgT3dLaCwYWjiGC+0hdT8WSQ9bwE1c4jXLFERqYVkiE14M5P06XkZLqvGpYozwf7aPgLvhPQdi5//ECg9+JW8jLVlTkRii16TyatzLwQ32wvf+4zIqgvv0jlFvLsQaqQ0V64yJcppW9ymm3fDUxPvI+JFY6y+T/Pp75VldaDA5X+hOJt7XJ/JemmMfQO7w+kRBD59u7BQp7+i6vEBCYPt4SV+b3DZDsEK8cMYLL7CerH0Z/8HHuJKy9rABEkn8hfF4KJTPIG8xcEjLhBOky7n7aYb3+mmOpq0oFewUQP8E2MryfQByf4rxFe4IUJQxokGAPvNg0cGUFR57w1hDfXH7r4PaFph2siWH3fE0NkGLnBdFYFi9a0vxMIV/iuKKLKxiDD9vER8Tg6PNPuGXOhV1x5Hv1vvaMFtvw/oz+GL378RSdkjNFiTzi2Lycvf650w9XPNgToZG9/0yvHvjy9id1FgL/0KCH3jhBrF2E3czIclL7pNxKBCB/cOhVYRJjc6nJ/3+vEoLt5ad//In/pbHKTu3rhq39XXLN69LrNBzJsjT92K5QjlrLPjnaRC42CsKAvhUniRLZAT7Lt3e4sT/6cASEsJMCqCf6x2+wPQwxTm/8FtmTL2IpCu9v2BE4JNp+Pf1+arkdRztZPGUZbifgSNbn0DCu5gd/hZgoSJY1m/jbYaFgkWv27OCNpW8qHLdHTlDGfl+wJtMlHgIhl2oRT6m1HOhi4m5n6Y21SeGJaYnLD+sq+agCSbgWbZTrLJQhdp7rFnm1QvMygxiRry/IN+Bqbxytlg3dbpW2/0vuf1YIVwhxHcEX333j5B4YOEHm8Un66eMcRT80frP9lvkRKmeOsnp77mpd/te+n2bwZoSfxf4Tsz+zrLHNk+I6BULt5XD7CmCCG0990cqbl2ZnzZ75vnGV+D2wMa5M2MmI2sjLwpEkWPMjRncUADK+1dPVQgG1jOEdCuyyVCPG8cEHxj6CK5mzohmdRHc2+Hy7PDVZxLHzqk8q6mCNYNhZaYMsHlbIABHdW2UJjgn/IMz+vlnK+2u1sr6McH9rAFaI04lst3sNxcphSxen2EftcJHjAKGWf4hW036JhB5iBhbauoevabK1o+61LwP+sjUo+UKIs7cK1ZrwDfElMke2s4KtdeuurVVJMHx0oNfVaaOk76qK1014Ws/NkCkzuofGMlUMLSt6heEv/mjynoCwobGQ5BB0vjbkZKXHTOy2l4aK6rFWRKbeLwPuEbaKjLcitHvreIqq0+9oR+1zRIKoeHElGFFrbpBBj2faqnPswtP3lpAU83QYF8RueCPRAY6IsbU6I5W4K+ITILVzCo4aYCjvrKuc9OGKfi5jtdSJC3d4UOpdf6ldpeiVDg1BVIj2smKFbjN7i9GMlXgoFB7XdpUlKbbOWUbXS5OD/0MuilSjPPd6qoOQ5HOez5mIHBihEjGGGOTn0EH6+CZUSwGSd8/4ghAulDYGDimPO/xnncRx82PGD5jtfqyJSgF2PoLg4jxfEUzd9mS64rq2V72PodfXb6v8e4Hv56LbiR+50i4taqHPPmJuCAgEUoP5Ec2IEe9/XrqkknRn6nvz61ru+YYb6bQBXx+NVEQ9FYghQHhsidNng2Ci1s71iW0fL/YekyQJIKQ4ayKYUnGGIoGTt5K2qaEexttQVrCI2lHhhnLrJe1F43Wrtm11DWtS8MnqZfH6Ru17gCsGmhg5n7NAASDoVdmAKIgQnO3Q/MWkane7fW5is3xAubogDu02tESYrjTLEXM0J9Z/R4zGOl7n/hETHVBx7RSP5yB49B4VUFpcWrsJaWuUam6/lbBWCJHZSxp4L4/EOvIfdsBN17v9ARyELPCppslP/cdACMyamT07rF2Z8fw+kHHTk8EIxhKH86OmUySxX7ylNn7LUqU8p82cGynB1hQfZKe5v2vtyztWbDdGGajKkBZwGY1tvbNl7/OTYpT0TLPe0TASO06nJ3fgziOlU3vz3hw094p3QOnKniyMjCzwqaQ8OEGCq4o/7es9pi4V/Zca9AOAXrXc3754fcsXJb2kTG9r5/wETBCDgP8tQsr/npBFh8gOvVlY3bZNcF/vdOkOQ1vbyM1G72VL3VMvQQYrOYJTTGvuATA0ZGtzFTjKohZfAPsVvwKqiXSE/QMyYNNBoUHTo6t6FrT2A0RtPFAMVxxZ5iWGPWu2Trxjl9CGoMEmVGQoSa4BnCnuANGaIumRC1yKfWBmsidMruUYYiZXYS9MpWbdY4vKqUZvQ99CvWwZj6/gTT+UAHvXKaiuoJe0HqPOehNNdA6LRJIfW4GWzVZCCMuRaEfc632pJ4JxdamLcSPL3q+2RoX9peA+YLYVskF08BVgOj3CbsgXQ7izcehRwjDiuZzu2zXSoG3WkJ2l+BYBb6t5GI4DtGXSKANxihPcpWhzR6h99BSXsCvaIuro385uTR6ELDIXBEnSOHKmjHCWoWEz0xFM6gPJTDRR/XkTlJAKsfhODRqDE/rNmNtKvQokDisb9fN0QEGM0H1Z5SeQQotSEZKwspTaCR0FVN9QlRBgL3EeJhsQKnv3q3/OCtUbuCcR97oVkN2IynhIWbhYliZ/9MBJ+C4biJ6hp0Bo7P1ezCsk1jhD/qztKaEPipUZAJlveS49gLtWPtDxPkUm8Zj9FeGrcrBQ6Pqbqm5GCiljzm4gLbOyix8A8pmFK+Wf3k/cfUMrXGZPGW6ZMWYHez3fpF2auMxxvWLNNZl3lEvt94IN+ZXgmTifSqFYuvxyuyU4m9SjRH1lnWuzNAa7yjixnMIoQ6PTQESCo93ONqEEMVKfJs34/GLj46jIAHwEq5HIHQvQGSoXP0GJ5YlhiYmWUinNGcvB0CyETG55cZDmU8dRHlLjdnGa22z8LAizcTRB0xxUBoRegIHQQodkuMt+McSxETgYO1KcLD1lnkgz4/h4BAucHcpCunRQQu45SguiNisxVcVZNV8NWiadahup8q+98G3iQGFEMI0wIw+Q3MzXXe4gajOoa1jQV5RW0cYgJJcUn5TjIEmUnMXX1U1UplXsl1bQAViqTRVyaokQq7TZh0NFmQqppElxSxfJvtiNFIK2uakG+ybY5dTXtaoTT8u7gS69uNlzeIxuevqMiqUkhhOP2IhoYp8KK3C2247smfPiMo1pt0S8bgyp218AJs2gBDltd25etrs/jbGtzkariFGWG9sVuGVVTm29rapRR1aosm4hrnhuDj5ZAMBJofDWvPh0wdfm2Ru6o/++pVDY5lF8qmAQYSVV0dSzjAl7AurNttSVLLyqqmJblkNlUUjoaZVATgrCgeRzhCk6NOm+TpYQdmq86VCQiws5KTQYeLJ+0wqrYWycVk7N6JkALDAUDt0q2SF01Iqce1sntqngqQaoXQd6i/rG0KceXg3RYEppuaUhmOzMIbf3yRfgIcCDu9eio7rwm4SVUzaPqT1eRsakO/5Jj2Kx7LhbDoXptrdjyuDaxQQgPqarlpEFF221tqkmy6STs1Hyn+VraPStkrUmi0eo5TWnJcRvDDED+5f0bLAAAAAA=) + format(woff2); + font-weight: 300 800; + font-style: normal; + font-display: swap; + unicode-range: + U+0, U+d, U+20-7e, U+a0-ac, U+ae-107, U+10a-113, U+116-11b, U+11e-123, + U+126-12b, U+12e-133, U+136-14d, U+150-155, U+158-15b, U+15e-165, U+168-16b, + U+16e-17f, U+181, U+18a, U+18f, U+198-199, U+1a0-1a1, U+1af-1b0, U+1b3-1b4, + U+1c4-1cc, U+1ea-1eb, U+1f8-1f9, U+1fc-1fd, U+218-21b, U+237, U+253, U+257, + U+259, U+2bb-2bc, U+2c6-2c7, U+2d8-2dd, U+300-304, U+306-30c, U+312, U+31b, + U+323, U+326-329, U+1e44-1e45, U+1e62-1e63, U+1e80-1e85, U+1e9e, + U+1ea0-1ef9, U+2013-2014, U+2018-201a, U+201c-201e, U+2022, U+2026, + U+2032-2033, U+2039-203a, U+2044, U+2074, U+20ab-20ac, U+2122, U+2190-2193, + U+21d2, U+21e6-21e9, U+2212, U+2215, U+2237, U+2264-2265, U+2318, U+2325, + U+2500-25a1, U+25aa-25ac, U+25b2, U+25ba, U+25bc, U+25c4, U+25c6, + U+25c9-25cc, U+25cf, U+25d9, U+fffd; +} +@font-face { + font-family: Roboto Flex; + src: url(./fonts/RobotoFlex-latin.woff2) format(woff2); + font-weight: 100 1000; + font-stretch: 25% 151%; + font-style: normal; + font-display: swap; + unicode-range: + U+0, U+d, U+20-7e, U+a0-17e, U+18f, U+192, U+1a0-1a1, U+1af-1b0, U+1c4-1cc, + U+1e6-1e7, U+1ea-1eb, U+1fa-21b, U+22a-22d, U+230-233, U+259, U+2b9-2bc, + U+2c6-2c7, U+2c9, U+2d8-2dd, U+300-304, U+306-30c, U+30f, U+311, U+31b, + U+323-324, U+326-328, U+32e, U+331, U+1e80-1e85, U+1e9e, U+1ea0-1ef9, + U+2002, U+2009, U+200b, U+2010, U+2013-2015, U+2018-201a, U+201c-201e, + U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203a, U+2044, U+2052, + U+2074, U+20a1, U+20a3-20a4, U+20a6-20a7, U+20a9, U+20ab-20ad, U+20b1-20b2, + U+20b4-20b5, U+20b8-20ba, U+20bc-20bd, U+2116, U+2122, U+2126, U+2190-2193, + U+2206, U+2212, U+2215, U+2219, U+2248, U+2260, U+2264-2265, U+27e8-27e9, + U+fb00-fb04, U+feff, U+fffd; +} +@font-face { + font-family: Roboto Mono; + src: url(data:font/woff2;base64,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) + format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+d, U+20-7e, U+a0-17f, U+192, U+1a0-1a1, U+1af-1b0, U+1f0, U+1fa-1ff, + U+218-21b, U+237, U+259, U+2bc, U+2c6-2c7, U+2c9, U+2d8-2dd, U+2f3, + U+300-301, U+303, U+309, U+30f, U+323, U+1e00-1e01, U+1e3e-1e3f, + U+1e80-1e85, U+1ea0-1ef9, U+2000-200b, U+2013-2015, U+2017-201e, + U+2020-2022, U+2025-2026, U+2030, U+2032-2033, U+2039-203a, U+203c, U+2044, + U+2074, U+207f, U+20a3-20a4, U+20a7, U+20ab-20ac, U+2105, U+2113, U+2116, + U+2122, U+2126, U+212e, U+215b-215e, U+2202, U+2206, U+220f, U+2211-2212, + U+2215, U+221a, U+221e, U+222b, U+2248, U+2260, U+2264-2265, U+25ca, U+feff, + U+fffd; +} +@font-face { + font-family: Roboto Mono; + src: url(data:font/woff2;base64,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) + format(woff2); + font-weight: 100 700; + font-style: italic; + font-display: swap; + unicode-range: + U+d, U+20-7e, U+a0-17f, U+192, U+1a0-1a1, U+1af-1b0, U+1f0, U+1fa-1ff, + U+218-21b, U+237, U+259, U+2bc, U+2c6-2c7, U+2c9, U+2d8-2dd, U+2f3, + U+300-301, U+303, U+309, U+30f, U+323, U+1e00-1e01, U+1e3e-1e3f, + U+1e80-1e85, U+1ea0-1ef9, U+2000-200b, U+2013-2015, U+2017-201e, + U+2020-2022, U+2025-2026, U+2030, U+2032-2033, U+2039-203a, U+203c, U+2044, + U+2074, U+207f, U+20a3-20a4, U+20a7, U+20ab-20ac, U+2105, U+2113, U+2116, + U+2122, U+212e, U+215b-215e, U+2202, U+220f, U+2211-2212, U+2215, U+221a, + U+221e, U+222b, U+2248, U+2260, U+2264-2265, U+25ca, U+feff, U+fffd; +} +:root { + --aphrody-font-brand: + "Google Sans Flex", "Roboto Flex", "Noto Sans JP", system-ui, + "Segoe UI Variable Text", "Segoe UI", -apple-system, "Cantarell", + "Noto Sans", "Ubuntu", "DejaVu Sans", "Yu Gothic UI", "Meiryo UI", + "Hiragino Sans", "Noto Sans CJK JP", "Source Han Sans JP", "IPAexGothic", + sans-serif; + --aphrody-font-plain: + "Roboto Flex", "Noto Sans JP", system-ui, "Segoe UI Variable Text", + "Segoe UI", -apple-system, "Cantarell", "Noto Sans", "Ubuntu", + "DejaVu Sans", "Yu Gothic UI", "Meiryo UI", "Hiragino Sans", + "Noto Sans CJK JP", "Source Han Sans JP", "IPAexGothic", sans-serif; + --aphrody-font-code: + "Google Sans Code", "Roboto Mono", "M PLUS 1 Code", ui-monospace, + "Cascadia Mono", "Consolas", "SF Mono", "Noto Sans Mono", + "DejaVu Sans Mono", "Liberation Mono", "BIZ UDGothic", "MS Gothic", + "Noto Sans Mono CJK JP", monospace; + --aphrody-font-icon: "Material Symbols Outlined"; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-00.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+3000-303f, U+3041-3096, U+3099-30ff, U+31f0-321e, U+3220-332b, + U+332d-33ff, U+ff01-ff9f, U+ffa1-ffbe, U+ffc2-ffc7, U+ffca-ffcf, + U+ffd2-ffd7, U+ffda-ffdc, U+ffe0-ffe6, U+ffe8-ffee; +} +@font-face { + font-family: Noto Sans JP; + src: url(data:font/woff2;base64,d09GMgABAAAAAelMABUAAAADV9AAAejZAAIBBgAAAAAAAAAAAAAAAAAAAAAAAAAAGYIKGyAchGg/SFZBUioGYD9TVEFUgR4nKgCQZC9sEQgKh8VwhfRIMIWgRAE2AiQDiCQLiCQABCAFkFAHIBckGIgkW53pckPrbA68MT23bTUWtORSiCvYNoVzt+PpjjdvSsXYlgXvdlAE030Gs////x3JROS6xCRJ0rYbxvwA+H9WVGEQR6hLlhrEHQIl0To195EzjeACk5LYDZfYH3Kej7Rsz2nTWmutRya3YGGnMytK5TAfnZafycdxXpk6yMRchu1zv95658pw92F1xTnTuRionbhV2Cq8bc/hck0jDzztRc2eb1FaqBAzUumefobRz/eXMVX7+7dHJjITKQ53c+Li7vbINEQoTHiXFPqJS+DbWBFMyrywe7FtzybfaIUwkzZBZvTsCRNSRDYwb0QES2ucdL7TBmGkNdWOL0atkJLB3OnydRhubV4R0ZacV8RbrOE0w3svUScYrfQF4rEdqaS0EUesdV/J/xdu+e/tbnLJBjxIjWMufGrC1Uy5ijhVhYopNafm1Jyan9Q/w//PWR8CCd46parjtir2+UTsa93f7LiWdpAAiV+xY3pVx1AJiMjzdBsgt0W6MxdoQ7lTgbRlCaLmZqypgICAsAVEUZw5c6Rp5c7G+rI13/r/xvpR/fe7X7tfe753av8aaTQasc2yE0MSh6CUUlq+SNCz77w/QFqguwyFhXZLEHLMQqCgXXszqaVxohFHnsDbz79dVe27INn1jKulj4Kbmpr5KxbU4pLZwflF6WWZDp3mp0zJWtrYxy0ZM4wZRv8Kq0BYuDSMbfGV5lLhwe48cNJBr7/MVkaOtfBr6b1YlvFPQfhgGjzxBTB4YQCrrKKgBegUC3OGhYm6miWBD2NHyl0Bf8+21MDS/3n+7+37/yxxgliYC46qUthund3gvWd0XwD9nv8u9V5DG6yNApyUmEpSjGzAOkNOD3vSzSonqPl0w68aeOJ3QAjmuZhj3k5iW1+XoevY19FcvyqgZ+97QjCR8/Br2r8GCCISCAkJSYiINm1T8V3/YraHL2prr91tGzFkTO4duSI+dwwGhsHgq/bL9/u65oDkaHOgIGFhI/cbl/CWD5ZHIY/qKQqZcOAYx8H5uCG69L9JcUnrAGxYYd8neV9sHd954dmdXR+TC/RSIWYVQRFrO/wdU9khNwulWqiEBtTqJt22hA4IQniBD9ghWs7/QIUqpVBHLAkRP93dW7FZ1xONgdee6DeVPhHFNOaE0hCkDgig53F/1SQkA+P1b6n5sEp9qyi9Of3U6q02iuBZYMAWO2JsTVbJL+aif91/qpp1Il2mBBK86khKTJnkYQqyVrUnAZMvGiIQ+Ut1m37YpU8pff4+pc3Gb805sKR0lX+4yxcwX8BsHDW7twOhet2a81cSbkLOSjrf81Vi1HaQcTLMgP8HAP+XWzVcm2tLaBMePNLioVUzrVX1Q8KSUEUEfERznMt1TQ08yZoMz2+zT/xPhiC8hxKKCAhSgihKGVFzBrgop+CqdBm39bnMu93qVnV3y7vddtvFqm5Rd7fdEenWIaGlkdJIMpsKgZ6QhNJCcgmlh9BaQJRSpYoIWGi2QlFfsbXXfwvq678vL+rb0P5FH0v9pqKvr19+np/bP5TKIVI7lzIAg20gJrqNqJLOQY/BGBtsjEEP2GCAlIFKfBAMFO2PFd8utP///jw/t39zbMBg1GDUzh2SBgZh5B8jUhwwoidIpQUGJmUjYRBigw1YQcWEgUQrIOMzYuIQUcr/T81fO7P+gJZoG3IV0pb/UFQhllBT0XTSfaOR5o3Gqx05SbL9Zf28nxzWJu0SYijpKP0NuQyxKKkoeiqKDv9fM+tNC93sMbLfuFTu5AoyDkc2XAWZkqx5AbzHRvUrjMjlcEVOr+E3zsEU+YFCz6jJ2W8oayOFzqa58lSZjOfma9fka/Kc1MsGWabpBtIwskQ0Afzq36JpSrN2h0mn7VJgAAviIUQenXQZTTZHfZELSpFTC7K73imAhYHSaf7/z6b1W6/sOQfLsyGzKaOJTED+nfD3s5/zWdxGNBRYlEup3TJW+zk1LYdSTWqXNFI3jXwQTNJkJmulTXmCPPLH46HGRSHZj4fRPhcgF6XUboRDW9qgs/gISRtkNqgtNjA9QS30IYbJaDf//+3x1378fu7826y1PwmSXSyHaxAtKrGaovGmOWY9i+76uSaD50S14l2HWEokM2fJoPlo5jR//Qf9l0MGEQs++JwP/vFBStp2BQtUe+XRUVd019QwFVwJDu9jpgl8ipK3JE+DuGzHWzY5h1O/VbTo+KyHNKdp2iRpdr691gmoOzJIXg/3CsEYIYQQrmaEZ4rJ347zaxb7mc/CLJaGN164ph39zlfyys/eaaMlE01V6BqBYA8NkW338XvbUKvJnfO15Ur9/900OzY2GAQSSBRnc4xp9d7qt3wpJekaRUVRUSkDzEB2E+e/xU+j3mlA1D5M2I5JZCWDa6xBUHrPuzfOzP1Pj1miohEirrjhxrXYNGWIr2Op+32vBSoxy1GMI4RPdccAkP8WHXQD8B46YCBWqtK7QXn9zxYjqljnhTOkinUxJgHl7W5MDMrbw1hNqGIgwvpNBBi4wAO5YP1B0q11YAEnhND4UYO0JS1JI2B8Mgb2dnpXv2uOr/7FhE96MR1PpK6bC4pAiXAuPZDjZIUTJiAFDU8SGeMxMMTqQNgRTDmbg697Kl5lSd6WQ1ZwAepZk4D9QkRrjXOvr2Ss3invJXv7XuKcfnmN0tZC+/ajFeXuNhMl8J5Pk1jI8w0ygkK9RtaQKiaAMIVTpENB/AbQweYKYBB7ckaSnWrR8H+C/COv4yEOw9/UIhRhRCAi/mEGDvWXMf6DyyzhRMFfiFkgemIgRrzDKfreKEgoxTZC0ECAmjbY75DjvrNxUEILUrTMRuXEcOX/V6AeXRjARmzDDCzAEuzGA6zBR4AQEWJl1ygnmy6pAiQgB4BHsrESQAwZiOE9ecAKayIwADecI+b/haNpZhVD6RtBQTiHM7eJjDK/3gRC2ROCnQnC2Ndnr8NdPJ9B8vP7/eoyFetVVRj1rTTVQMzzLRm9TSmE78xUbpbVjD3YBgoh+T1EIbCOS8/fU35VdKrcphq8+sTlto9Nhtt3p5NEfj+0FKHNohIpXygrkMGd/dU5Z2nCB1bRQBvdDNK8ZoYUlv2owPnnGR3mkRSfAzP73z+S3mXAtPlUI2k2bsqfapbMUyzSCXXTJ+gEvS4/g5f+gzp8h3JmbNrd4k7Bj+2tri0twdFSjn4xqR5Mi4lflV93Ex1WEml7MDSAw8sqqGpCZBoLUaRBVNFGD1vs8cIHS6QzuQKJXGtgZGFlY+/sLSgCkEIRSDRZeYyW0wAQ4cFRyuqaRAqLcZp5ltnilBvueeKDb/6JZBqDxeULxTKFxtTS3sNXXBIERWJwBBJNziqby5ckPfrcz294NJ7JLWxGdYWVlFRSTQ0NtdBGO5100VOfQqPTn57fPbx/D41PTIXiyXS+UmvMLrUzssmj/0bH45lgdnWr3DAs51xwzQ33PPTKW1/88CdbrDZ6o8livT04e3j/H5uI50qNdneh3R9vBQ2GQBIoAoPATK6Qa+SQxEiCpAkgiLBEJTXSJH2ikxvkFrlPHhGHDMiavCJvyAdTzDBXyFIrrbHe1h/hQYRpV9gNqFAgSeY8iyKaFMh3Dl8sU+o92hTPdlhcAoozFK6rIAQIujZIJQpkxphlkVWsnSPvkqo4SFFzbpd+i0lIWwSaiiazknTKDemVsXSQX0OK/c7ivalDHJ9dK7ExZrjXlNpUeI4o1loceKIcu0Kl3hq0e0dXb78AnplivTUz3+qOHt9GKSihUBWLNcPDTmiRgEwR1Bg54d/kipNILmNJHJblcpg0KoVEwKOQEGlJXh7ssMUGfNcKS8wxwwRjjDDEAD10aFAhR4QQATy4MKFBhQIWDGgQntvamJvyuG4izpzSdbRUVZSVCCpKirJ4KQkQwGLQKCQCDhOzjXVZgxUfcWq05IyS39+ujA1NVWSBJgkcQxE4nQCBgG/Rv18f4tmTKycOHdi3Z8uGFbOmjA0ODQ9VivnQ91zLNFRR4GlMEpuNSoZPcxBgwW0VvmyCBVlqFCcwY5uGrqmSwHMshaYSYNC7wp8fX948uCNw4cyJAzs2rJkxoE+PNi0a1MiTJU2K8HW7Hner8ajfadaqeTM7zgFCAFBjmSGBMYmlEQlDEG5oUAn7iox830WFz49Dkcs8Ui9nS4NME0Ya4Ywp5BFh7lK3tKihZx3jcQM9BOYsyYHpS7BgBldCtB5dyWpKOEEcJcDqrf1hD1mICMsSJKQ5oRwRm5OGC8Qs7CRiehn4tTP6hgwKXOqNobQmdrYhh3STB4HTc6TceCLSV7oO6Y6CrULcYB6PnatQmwV7LCOmfG6Yt8Z0neSTmi1HFBlNSXd19EjGzT0RQb7PQfJMWdamISTyVCAi2SxKI90N9dLgSfdIuyc8QhtyLphAzclnodosYkY7iziVaaearXOhfCfZzOfA8wYTAToBWZ5Kg6a92S3TcD+qj/qOrWa14cl4Lb7uQ0E4orf6Zd05XpnUmgHr8EhrNm6gzhmR3FezaJoHmAoUF4WTHKC2M+l23bXiWzSg+rhpr7PV3BzX0Rtp11Qwl7xVWrDVhlpVQ08Xk1wKHJvfUCbI3Uk0rYhFXZC2Ntgpm4dJ+Gd5Bdb4m4ED38CjISYeegwWN/jLlgE4g4geAdxuG1FvoEx2PGh6sgGljpy19zhLANletgfWsG22HyzYvwYZ5cFFd2R7+gudZnWQx0EwnyFHj1gRXbUVGac/Hh6yFH92bPzhwF0Rg/ZXwJcAgxlbpELxm0jZk59phf+FIem2hBRK0WOiTzSYzQJAmi6KXqoytjzxUcqa2AMzrpaOnC6YxOBJQmjCl7JQRzVXEqtf0XkzblvSWEqqnRrkRFjHk/lptVRz52aUkMdTN+TtOPw2PXhzrFYMewsYSv/KzXmUP+AHcRsOptPs5kyoBPbdr7PrMz84YErXzZluWJr4xFNpv0EGb/dr4N0mvVBNPwq6LaSMuyCW8KgyWHJBH6ubGenIubgjb9Vz0lzu+MvWKDhywTgfbiHQOWx49yCdqTX+MLz9XRhDsEComkSOc/PmUEcmNbGszBFDNJXsVhHqlXjU0tp58LT3KJ3fnlBb/C29iqTj1hwT5VxKxMC++L2iOL5LgalC3NEfQS9bQeDdNHb9O0qXeMqluujpyGsSQa4zqiCXj2ZdXq++qeETB/kHYNmWSlVDxyCx3JiGzfTIwMRMqHJhoM29uhaIIfykJlVO8Ulu3YjjWWamuWyVhrc2ToaTt7pO1YfW3foXaMu1dG88tSAQXaoKlA2Mk0oULsHVABAHbPPQAsUzZeFflWk16ntclEVgo61iWUlrGZvNIS/xhBgit6vA4ko2+TH7oOcb762ZMJy1LkMFX0Xb3m8cVHssYIP6pW99l9qwqnSoCnG6gL6eWmCtSg7cOga14qn6SArE1veVcKtsjWgU4GfrDWrF3PZeVXioaH/9IysOXgXMQRlFVKTi+KPIc0Q0DweCMBChiHD2SKUo8jwZl2TWDJeoxJqcimhFBednbFcxbKqjJ2GRvRLzh2Ehe0GHAkUseugo9j35iaaU2KoAc+K3xOdrC7qzq3bCmzsQAJyCfLPq5QhxbFupZagNp6JQX4IZypl1WxFkFpIv/1H3OfK4T3rpspTNLahEwNSltgloqwhY9AShM5HvFPkmdqPWOJfX4kph93qsCYTQI9SvekTsYAoYYMs0PcK/kjE4ahQ4a5CUSdt4VDFhnP4NOzxG7+IMHWbZD1kXV0VaICbeKlHOHHLfSgpBQIBoG401K1V+7g3hduyM/bu8TLCdAKdw0tkpI0Y1aSAcLdUrrGKmq7SUGgS0KsqNv4CE2tNrV62uKFEG3303r8mpDjWglNqxq6s2EDnOyK2GQsI7IFgexW+NoZRq6VeAz3KAVMEfOW4AJN30QiyHceIcGFsYuZkz076UiMrjug6qzbVSo6rHZxJciS+1XV5MACXfspQpY+WRMzp1I/BD+ED/TVujdb9ORmFrdKLx4K4nW+IXdrlWDIMBWew+UD9RGIG0yIZYuXTQTpxrMl/u+BxDc0KgFjotbJR3hXZBqEEYvahC0D0b8nirafRbTcuKwHZ99Y2dpO7EUCSODL+C2huKW8e7hyPSMvDczQzjEGUGWXQGI4QSPWCfw8A6xdZVcxLtsxLGg9C/5fURUFfd/4A4RtIP/tbKlpimtWSxQHhAqSCjWLP3Qk9Tero6gCHhIXhQRS/nzAbifxyDDuyVMoeDJL+71y1WDpv05ZiGnR5It32gf/lZhJtZZWKpx9mJueLvcXZoK5rb2/f9nb16I1o047vmo/d0DyeHu8lnjG5V6y6JNmVVvpMuGa09XerLCKN7dzUhfaRk6ZSUAZVwAuNHYXeBzSvVwN60AWEu4N/H6/TwxrxXvMeDtmibfmjgU4FIexRkfQfyo2fUHfuH79F3gx28fSMcqgINsHFbvZzBh2rVanYvB18Mfd0wJi3fG3TYP3rBGrajD/U8lIbtPuZupyNOc4NQ+t9WPGCCUmajXIC9uyx9L+YoJbB/BnEbqB/AwzMjng5NNxx0May81cAyD4Pi19GW6FFwJS5crmIYXhQP/KIqZIJjagJfEPO6xvUDv8luMIxROAFN+grVjB6X/m51QVnWSd2luOKeemb2J8W0cQAXflDN1Lkf998uKqBTttMRodIH1b5nsJbHhe8+SKa8HUPqxK/WOpjcFqdioIYiLO+QnoqQgI1Qqthx0zO00DrQChPQRfS3tlL4+xCHM8UZd0QN/NWXs0JsBzc6rjxceIXjYmt08BrvniMpGy64EfFBORyXqAA0yJ3QfA7lcKvPdlU1tbKTJHaey8CFf6q7cJxVhDlhZaSVNjtOfctyaW7gxKuD126Faf/UWNEPoJuVNfdc+1Uj7Oh1YFxpVD712F+hCerkILZ7r97TFH/C6lgCw8oG/gd8JlyolI2Q2/OkBpjNHD9wC8FrI89OhxPOx4xooVhgJKn9ibkmC2qKJYThqNJLKMwyJBuXRVrwxzd+0/FXZnT6DjocH+BU0DE0FrEpGw46whk4S6shC+zb/9aLeub9x/PL++Mbv3o4ul4PwmRJCHgceHrQ9gud2xPsu64PFM3UnMc1XN+rOFRGcbO7I/WL2AD9mL+Ve/jwKpYlOcNAWwnAIazzukp6np7coxLyz3ZmQg8KDnktWlARQQUD32L/4kquUuVtxFJuQxbIbmqzirX1waZoOI83ZwKEBRSqMxZKw2wkAzysrOnpFjLQWQvxwBIgrpVfxp6WBFQId4Uqz6NwKjmZXyVg+rKXND1KOC1f36GwlDxBCnlBKWDFt5mWrJFSuxpEb/AkOzH7eyhmCG9rPGB3uUs2VJtI/O/CVKnFRBEUgGagldM6At5jSJB4fRkv0ABJcTMZKCK3kCdDJDjaue0u+BuPhgvcnNl9db/yx3/AuGPOOLuVrow5OAc+Th8yw0bMBVTpSD0326BN20NSEuZGyMWsisR5ZAL/Xg3nJYr/AhhDi6HlZiqpCYnPf4GmQYLKEQ+PYmjx5A49GZoPwQ9fol3h9HkN6SpUGcEIkIkXOZpZfI6FnqsVUS+4RQA2GioqwldMsgcR0GvgLXyHNu24iSac0fN866WGdsfpytFQeqXumAbBeLIEgdHs7Xo8akp8ncTvgnwZeHd/MZKP29WqTnXeDJl3zjqlOOnwhf4757gOBsLaI1wNVL6OVVl/w8K1lZCWt6nD43HPtQQYk+/h/iNP9/9emFGBfOvfyLbhdqjBX5KMsmFHWwmliE7rosqAurooCJ8J2/UnYo5kRVuT5t6RpP8dIGkDQNqg3QFsXIpbL1Qt36CdbJvsYoneLDjQaiABkBG/8CH1r+LWnLt6duzbUhyPG2Ah5BJEiwNexUVqHHI5RJqLvFx0fenbzxsmv3zXeeWkbSUFJJC0J5HuOxudmE98JfdbzesMfnwIwib5Zw4VT8yFuAv278OggXohwP2hOwnlBA68CG8gWKPliiVdkYiTW62NIkAoOBOAciWlrMsg2XUO5HYBzq1lDvr8tRJEXd5qLt4HQ+NvImX058GvzGlBoeCkxl9QqyXBMqYlsWpsDRMIUeHd/vOHofz9x/9Xd6G2IuxeB/hhR/peTY327Q7qkQRma67RNF1cFJ7A1B58vPC8s7974jHumse7BrD4mGV+hu51eTrLk5G/Of907FHSoAt1Z0v4HU9sopFDx7Xx5kzvW2ceYNlSKJBvFjjxS/xyb5iIcdiWTFi9tQzQpZJnmxO0qTYrMaXF+G7LkUxQlAwyiAzmLjarEkX4gi6rhTjDc1+fsSQM0vy0zMFLae00sWmGQAJeAZrd6FacbyRdJ8tUJTHYFyc6N6/j1IqyP/N5vtuZBs0w+mTe8LN2x6hfVKay9bBTkDqOs+6KxKu3Wgdk+g3SVdGDtDqDEzoW0XwJu5u4jtaodCDk1zn2qAmrV6WjizwJzMHBYCeGuN9x4Gdl3xjjPJJ+Wwl+MmyTiZfff40rruQ/iXhFlMdY/+JKfJjuK6CUtvNCiTfbfBHwWLS+DWSAIyaSJnZsBbDC/Zut0O44TNpYdKmTHDiX2s9lHeNq9pJJ2+3Ls8hi3h3dusoJnKVEZ33+HE6cVze5BMPAx89FX4dQYbiksGo+83r3fW1/VCr1vSCURcNb4nhrVI7N0UeIGb91xEFtNmjX7EhCc3Ns2M/a/zYg2PH5FLmDMR1+eselbLbjTQA02XrLsGbPgrHGgzPyRhJXbGguyP/1EF2YPo0O2IyJSjRUupxsnQq9691L3T+IpjdvXFyEGhwoAeezhjxYZkhuMFgrRKrNGNu/dMmX0F4cRWEwEdT0QzKXyZrrsJLuL2jVzShog5imfIZKADsZFIJ1omHEiLf6hKeetVnAbVxzC7rtPZyGSFU+DkDNDxhE0lAH7e4wQMZIqHkORMGlIDKuEMSH4QyP59ulb2e37zleQ7zT0Ou/9JFvu0+eQcaspiyd6wK5nrwaPJ03rKo7Ck6M0Il44lNeRNwri1PqK6pPIOwV8QN9cjhKvJ//8w7FUwjzbIpU4eOVcRjPqnrMPReT4c2Rcj42d9ZF/dSCuInPWtIfA9jp8taKclL3+IiE08jsFmtK07WEabNzA9YjFnqOfeQNpab3IZ3Tlzwa+IBW2irCXs/bZu81Bg2Psc9NgB6IOl1T6qyR3dHCHatYLuVV5LanRX+dbdh/cmrOBredI8ygzH5tE54gUF2mLyJe//4hfc3Va6q90vg+fA2nltmwnHwFJLDLY3KO394dqYXDO7Ob6CbKlzz4GrknwI5LbgoR7J8sweD/4KuuX40h4lcLna++CqfyiGiaXgIzeNuZt/R3KmMU/hjMKIdN0CJBaBeVYWUO9bFPkVwqOvkExh7foz1E9Y6CxdfiV7NVoL0ybic9Ti6P7Ad/9+X47OH4iBJu3vpEDgw3eqYkVz91fbhzGBaT6w1DXTkR6dpS8RNeFyizqLNZ2SC95AhLv43n3KVs6h3j3q2YC29VWeWp1hm7IHqIrrE3jAv2PaHNeS1ALFwHgWF2rmZu4JbJtcEqYaObttKv5U7n79o0e43HKleleGUFp6O07BuifVSxT7iH1XlP8b7CIv/tWUz0rqsIg6146gGak0pl2+kYfSAjQYqo0JjhFmTwh1R/Y31mNEu4fOOCdLPlh5aFa60j73OsHe/8HXS0eweCjFuJh6flS66i3B1y4oJeFmD2mYmDsVvEbihm1mok9F/Q5685Re+jixS521xv9qM00R41g7c6Uo6D3yUOujdlHHj73W6fqWP6cOVpLD6DtcolKfTJ+51a/9GLO/CILCtOAM9xh4ZXCiYpcCkL9ngz0qKcPSaBDTMNBqKSxwD1RnDR2DrHaUrU9SkEBmLR8icPSgN5kK2uT2KRxvXYnHtPyGBDnv0Zr+6AY7EqMycqPjCWxxoaAdtKxCzL6F1CoJSS5bt0XNp2oKOi/U87/+f5jZD7y4QcHYBL1p3P6Khb9RQAC8YNk66WDRSOYgusoQOqn82xprFarXJ09DMvA4GSUHTLpOBGqwwb9AkmaT8dk0ZDNIm073V09FGN7zUfdvGVYndLa+luG3bOJ+ix3z3YBoJdG/7/oNY5y9rOchu/LwT9Xq6K94bxyW+ClvmurJ04VfSMr5VB+RcBxqIXhU/qACsaOn7E8S+yiJO/VUmr2siUnE/Gi0H7pbseG8dS/c3ddAainfga+U/8D85PBCgZZshzrtpjj/t2EmdkAEp07WzAHRSACsjKfo6+QiV2tRsPv8/y41Fr5JnAKvZL91XGrUM3oBBKtqDtqw0GyzxuoTzySEbgXzVnSJlw0N5yqfdZo2AARkVih3myOv4pYz1t1ENz1d7OTWGbQxjCmCKfYyxgb0knXEzmPLhoLKLMxfrKlmHUf0dJD9DSnF8NnyHnEplS33S3RlDu2RTEnGReEResVkOZbSxiCFBq8bkGw27YFWMC/gESeK8fWMkevZng436GtdnCoavvfcw51eEJn8Qdo20K8RKXatOJxqHTMliS4TERU1s/Q/nXePzD+ZDXUYACK6hg6vOhgrtPa2AgMaGGiV92WPEPnQvx1uzEMtcclFnL0IUSjrS3IPTQunYX9SvCyKP+rzF+J40+cnzZpCczp7RSALY+epwYegiBRpyazuhKrYOQSxr6rDRGlL9Gc8HLcwJg4ZmLqJSb3ooupl7qN1zKRULiXkyKywdBl279XPnVNjyKJiydLUsWsAk11NErxOePEdg7YAma/DONwEuuNh3+CskXfdx6U9F2cwY/jajWCBkiPpt4mH1a4qgJ11tNSemuDXAjHHKc1sBornLU8SpGE+XndUyw6HEC7rV72hRlglD8CRdMoSEOj8caX0/nUTYVnUah2dnU3NWXPzn8vTV41B1rzzt/+fRBuxvVOaUvGYlKPB6Xfev/BUBtQOG9Zhvo9oTiPbO6zprdnTWQL/j9xl8VJog6PTbJBDBBIY1Lf3l3Cp0QAQwohTgSP8RDeI02b+hT9rhHwS0Vx18LphFu47iGZ15zE2PVLvsufim+y3tt6qDA6fWV/F9rh3jq3lBhOxFqofQ5qe4x+IbWc8bo6cj078jE6MMWGWd3smNMU3ULoTVKi8rRk7f2xoW/BN+J6gPbSSaupjEPyO1VOq4dcSi08v6Gd9mzT+RB+SfkcacBULCTpD6Au8LOS5SxAoWS02XoOvsC7X0xSxJ7m11LEkMLim7pSoFQmgRlMM5Y26zuqlSXs1KsPCQRboy4ldOb3LwLV8mRItKPEtKjEw/n3023RFXYCS867WjQqcYSn6L0F5Dweox/e76L9gvRhCXbwxEWJcq2kcVBbs7Ulhx3fdAUUhGcZSJg7UgljwYSq58jnHXetcqWeYzkE5b1iGCDj19vDFN6Kw8CD5zzoPnEwB38HjklbgDATfULQW6tIF+UVaKxVD1VcqmoKC5XzEei0k42CIcOWXqLWULDR/sM2vZ/M5clJ5iwBxoxWxiV2OqmeuaMFopcVfyLt0pRamiqjUoqaLrfumRsshz8S731CKQo52k3vr2MBLQFHHjmeCy9rgxJZOFDcDG2W4MuyklcmP7F6n6HVrURbyrvtQFyBFlKvlix0YAsOQ7B+XmwGEeV2FQRUcG3x8+gpJK2i/XKV3YQrp1bw/sZ8kQ/k9mASDbTu+YWPJ1A8Qivly62BGUy+NbCW4z8uGeV40eSXUegnGch2r2whEaCU+ZYHgv6z6AM9BKzezfWjmuYJM3HILTlWOWMM9XxP7uNiWFmCJ7sQiRLqV8QYjYP0anuetlvebqcOab3RMzGdTwHvPZWe557fabrSSoVNzEtlX1l/vlhZg/mX0jopQYSioIvSgpDs3Ddy7NCxUyHzibHgy1iaA2pVWzlQfcyWpBzxqWJf7amvUhE7QYGUYcM51eAFSwcrP3TAk8UaDrSmkJKKO0pjldyXuHCcqytlSWCir9wGZrSF1DJKGT9IOtQmblByvMkrLnlRNF9wWm9cb7oCNQ/8mWnJQYILthl5jrzGWw3UO5yREibPTG3yZyrL2pPqAVSZkX/erljdCY0GNcyHHjDUk1aKVLU9XMgG/qRM6B9GsErlZpO5U4DS7SdDk5rfsxriEhQiUO4WWsK10epsIhKEtxyi2B31QhhQMEsdCQd6mRplvdE17XEFoNPxaJEA+e7Yzz5xREJBnzeaPN7xF/1hEsZeDwX0Ah5jt1uiFgPctPVda7A3zHN0bPvNU0/x9GXTHac0byl+yHc3tjWRL+ntlcpdtpA2gZyFqa/oJS9oZbQk7zoDRVEaXUw7IjRzfvrW4Jal3ZSjHVA6so7RdTrF/yTor8+CalHXaC4WOk5GeHJZSrniTcVU2FjzCkzpHIw4h/FIBtNAhsqMjvH6X6E0Hbor9k4nklcUD6JcIEQJfkExhxwTfBKNpjsgyBANDLnJFxeOnavX/W4m9UJIcD8uYVmj3Vl1NIuiPL/suwTwT2hO0rkiVmMjWCOWR2K1k0tT0U8iVxWqt5vY5BXXN5Wqq+PuRbnTUhnOfU1TaAHob2lNFTfibYUTc4uiShD1k6I7d9020TUtq6uRy8s25xu9l1FfTetZvgoPZKIk5xak9tvB+79vKfv7aKUTFn3Ef1KgkgbaXgp6zZM6+SnBwa3LZZX0j+vYkEt00S1acTU5yALozz0Dz+ijkr/L+y7sLNX38QZMiFCnx3JiIzNVMQMqGuVDvsUcQIL8u5iik/02oN5j6Clme0fJwm2enTE0pciFzrnw1PrEEGcol9XA+SpjxT5s2oX7KawMXe7+PaHEr1t8EjmNKkF1ym83pWSyhHExwGgLtgOPibjPiiiQqEJWWKY/NDHFAI2JQXXWYIwY93bNpciROBlmlvi0lz5qIHqsj8tWoAlRoCcBZGWrMY1d/OYVkfXL/qSjcIe4Tx0U6UNRciAqLkhcyhSprOAuSEj4IPIweyud4coKleV9cwgtgcAFh8M1WuXYmrhhfoJXo+7ccMtuNQcZ+Dl5EUm+MZMlL6xeFZustzLSm6eCVObUOeIWVJt7X8X3aQQKprjGW1Tvw6z8y7zIBmfVW5gOyOiFQp1jgm/M2anj0gneaERBbieTIR5UmUr3ced2y2wCrZhrD0aFhXNpfZnVPI/orAnQjrULWkeam4XgfoewslviilmrZRBBqEtbjMLQXkWtyHs9E0JUDLJXS1FBqKMSba32mFS0q/nVB2o43NAxCex0prZQZBpEoDV8d690Cf6jGrTPt5y8MZmZLpyLuFWmQbJLYL4yQGBHMHjYh4nb69H8fw0AHI74eZkWEhtcoHwO8P0xVIkJectz3JSe9RrTJduT4nsJo7SHsfP0TpU8wdZmYI/1ofNMpdkw8US43i2MiZMUIqoNh211bLjKgcjGHIB9yjSRWxzQHcK3yKg7nC2FsnvLwIJcxk8up+m9PuKytl/iGck0o2GuDevjUUHwZw1vC6ONR3u33JSm658CkkBN5G+XAB3AaR8D2ZiAtmAjf0CSYygQzvRfHFnD8hUWIMMx5cDV39JZGJ0xW3nksstcgnWWk2VolwvCiDXULoXTBBWUaCXOtQc/oeLw9/lCRi2JlC5LIR0SnuId+fCLhyF+aHzlUMnwlFfdCR4PjxvE/p9VQgWMvrkX4WrDjsfM6QSVwfsOmtRpDSiBQfM5Qq8iEf0EkU2miduOKM924L/4z6rWyR5xvcWdpYELmtcVNq8nbN2k9saGPfGjhoV9+aHaOsf5LLzuSDMsJkko0QS0VZEsYP5JzEg2kVRb4Bx6GBxYraHu6AbioAHfQytzxvvx6XXGiBSoriTWyTmKm3BHtFEJSbA4BlIGZwyD/B33Oy+Wh5xBheanacb1CQ17cv9T8Z96kXUmdaaUFfgd/tAqD0Maot8HDqXeqcPgldyVoGMjcNA1KTKFxcXV7ooFrsKng+sCcxsXfu6ajXjjVCe7E0/d7t56uqY91kjCK4ykZX/emjpPhaC/kfjzG5gPSu6PZICWrfJ7TE0uVppfliYS+z++uMpNVfMQK0zu087bs9rfhWNmfWRJGzCuSS4qSBePfh+dKNNtu1Z4/WnnqQ+3sQ8rcwEFv/h+nwLLWis3YaFTnvOw7kGpsgf/Wb6AqrizGbInp++rnE88cMYk5+1r9udSG6vgHI6rsl83iinfhruLVFYpZN4qr2tRAa2f8zOCT6sbdiqXIGEUbHxQZkN4aVjOpcdoNczaMGr21FPQA7yOIDb6m7R7irtHWGl0rQZVGJcZPlwirP8syIXT0o7CJNLPnwdJvLg17uuz22Wt3WNag2DiAkdgSuzP2OHsAobOq1g2a0ThhcPTakCQ4MLdx97njEIenhHuPp34t+YsShXQ1EJMSTC5QqNGK/QOue32MJZ20u85JaBw1oBbXgHxy0XGFttfsE4jvhJ7DARgw05BUBg5+oLQyqmbodyr9FBjPxyiCDp7aaOhzd4IVwwiMtIJ0skkum6a8WmbkiS7QIGcbz/Rs6Agrng3U/Bzyb1jM7Z0SmSEzJQ/8c5/iSjbdM3YZOkaFsQptyE+FSBYUwPKLN8E2wlkKKX6sbYuY7uhwcKQcSpVJjLoY08MINq0gYcr3CL6NEckAcLRvX6NbwQVpaEQyzs5zl1YUHmEb+eu63M/Pg+7PANYTqx2Hv8aaBZcOb1kiQhs7O9LMrJRJuRj1zJBdnjlF57UzbJgyeo0x2lyCmPqgRIZao8+qrtjPVxPLxVU6LxAFGUjTL1eabBRi/OiKh1f4jHKqyanwDihN8HBVEYIPUT0Nv0s0frWbrtRX3To9sDWvDDiJ02gLCQHbzzGhgVbAFTBYb737qJxKZa5BSiHVujMvTSANS6k4Vsw6CsHNW8TC/lMNwVYCeGd8NqYyj8NvxyYKLI5V4SKK2WjLqsqK66XeWc7TWUvjrxIIZjkT6M6D9vhd56/B14r5nd8vMQn+bouh137RvcWciHgzhmjsAScRmqki95MSKhqHvOJFysEqs/jDnyOE4XGSwzmzF5qqoST3tqXCbdcERZG0ofSR8DHiP9YKvtasKiHyEWJkmXPNwbDCx+BNW3i5wbJK5myqsETCSUNrS4LyAEOB2sTMeEdSWtJ2QEjHcEMLvL/qDhtmgPz5Td7Fq7QTKZ4XYQr9E/jS6OWNXnWfLTRiZa/YeLPkKI2KvjDRGRD567Hmo/4SsJ605qvqDsQlUSr32DFgAfcHxUzB3OaxJgtamjKI1p74yzB7pHVULKGhrkJ2Z00Zl03rq8mtB/NsMBmTt9CsVq/TF+eLyia+DgWwQMRLEkPdboTQkZbyrUZiTHSCNJ5V0OAVBVT2EbxlE7oPIu6rH9u0q9OEGen3j1FkxOUJWgjomylmg3I6efth56LMf/kOsh7rsDmDP95m5WQ/dnjDB2liSzpgdPau+E+2BhdYpuej0lMu9MOS1oPb7hUH86p9AMmrmUjoKhyxfXqNGsqjlGhDl+b6ChvZvQt3L4qGakBI+1MC/C8smpJP5kmrsws8A0aLBhMXoUeUotCGmmcfnuzaOUVENXJxpuRNgdF9t3zCf+xCnKcyHMNCtx0/Sy9oor02KOEcm6mvP8BLGNkkjJrErRE4t/ogy4DhEeJ1n8iaCeareLkfXC2CdoJeTVEC/Slu5nNPUI2HwLQBknHqgVLwLGbCFICe6g0A8TsWzR++6cgBDYxyrxHhnqmTDce6TWjyDurkBdMjE0UdmpWPuD6Mny2NW+uNvCP0gTrMAeRr1yFN11LNhtlzF+yu1Qu4tmnIwSubRW/0pXYHE9+XeJXOnIewbo8XnwcrpQTMVs24YxMzZulv9zjHWQedSWU7rWsZFzI8qsTIsD37EFVDTTbamtSAg+hZU1zKSLe3cRc2AXRyEuQfBHru/Z7+M0iFwuJYlJYlgtorJc4d9SzEEWB+w2BvynoGoeAOYbFMifIjZD9EVy2NZWPLA7lWyWF+tHmMGFYdgejI7dzbW5Ri7OtIuPP3/h0pxCSwxGvi38cehlK2qP9Z8YgeQjDHJSakiuBiFDM6ab45kFrnHA7nLKgNHcXTQIhh3QoTR2SMaroviwJrPXOfC1BjkjtjDGw/z7hM9CMCstuje7atDtVaxde22q8NIA9EJNb4D+k2eOL26FdFPR9PJuB4WJMxJNS40RsUVihbj0PhAYRZoC0rgLjIr1BxxlGFn2zVZiYwwi8fjO3ebHGlQIiecyNUjetTR1ghxpN/dgZ936lJqgHGwOjAvvI4QOsl2x7p4x+UVRLjicNrJrCKNA6FO8vbfnZPedF8G0y4dlnNIo7mK7SRKvST0VEiMrlUri7AgYPhaj7o0tnt52BogjSZQzuDzCUJcVl2sfexbIrLzy0G0PHT8BTX8QZrkRcwRsDvBYMQLAJIczvxZltdlE/IT3MnGgk0asBeZv9+QrFQPJYno46DJLPMcueY07X+FGQ4xW+9RkgQ/NgTxt38cTiMLlTZRiT4NhiHhvJeIqNxLC1qmVbDvygjwS2KW8MC1WEtd5zo7Cy71o1hpRBGZYn9mbBYx84Xbsf9E7pnnJ6AhOQ0FJvO7DI8pD4ED4Dh0sElAV0fCG1bIZq8kv7f32jWPHMhmF9dlbrGB2utItpvBSDnlcFImsl6/DzUYF3+YVigo4IeBZtF69w/CXbaiadRDrN8nhq1YJ37TPY74O18q6cT3OPgolhpp7TDb2mnl+xH5hp/PfiHLPELv6micAlFtJytyaURn7HFkfSa3PQbrixmZ0cQBxxfO4kr8ypR63OwGIrpLIbGGgSHYRf4GcDVQ3yiuZJX26RlBslwZzDjDywyd6WmVw2Sh8zfHYg4Q7aFZG4H1k5/FX5tJgnGFJXnAohR4XYGc2lqGPSxh6PtnW2gsMTUJaLOl/1isuMBcfzE761ckNB/izA+tgp/EeQlAvSFqWLiIpcv1LfhK7BmFvNEdXcpGnhZ6xc2mPJIlFLyl/YNt6NjxDNrEOO5Cr702mpK2N1nq4jUswtay72PEBVkCv6vSlECRyUSAhKgweYA4fqrQSEWB6wmzsMIwgA8E2OybcZXV+siv67l0xcs9+1QZr+n+IbEyxkpXnVlFr5NkdybUN7aqnsbZBFfmJcSjCjmHb/Iwgj6WdHXe3au1Rotb6LDvij99B0ElEU1+YXtTx/HwaawSkWO/6W+yXdFFTo9MZxaqa/T/OW6pGIASkijZEjUWyhtd98U3xNMf1WYgRj6fMWRTaP06pICtk3TcWdXfJC7XpcocIHYsakbG6aS2ODUTszvmuFToJWkxTdiyz9/EMjrxDQwxdLCkQo7ItYvD20uV4ki9eSpXxiLU7N0YK39JSt5fOOv3r2DGfCbtyX3hEu/AOjKYY1MEZf8WYbpiJyRwqSLfQbhowlilc0klriTcO+P3NEROa4ksuSCdaTlVPvWoKjAirmXI2pOzLOTbuxsPIihGaTqPhevSvDPoeaHQeRpFk8Mn/768jFnzC5TIDyb0y40yPa1hzPkQ2J3CIEf+Wkgpdwm5uy9vHsDKeelKtKtdgeRlJqDyK5LyK+ZFanTZOQR7qIyf8tXqWMd9kwhkVOcKJwX8qT6ixIzVMqJfWZbU3VSjk+9L8P+ot+EGTpcTkX8wXWumErS+nLngjuwBujkwVGXeweI6+E/YV3fskR5+FIYwI3EWPALFzMyZFEb835WZoWyv+B11h4DYSTl+TjUVDWT+YixrC5gRzbCbmVqU1fEj7d+ltUsUeYv1SQkrVndma+ZIPnFjFGEGGMwWXMB1xL4N+3d/i+E7h4xOZv387zD2TGy44cA5INLkQqhkvVbcqM1/omeBzgbv6bnvVldpyErxgSR8NQ33fylFKr2d/QvvHqx3TUX4En0GjIXKTNnTdFHJnxZeJwN+kvBOgNyEhv15vCGlECN5y2nXEgdoEtADhZwyEnowrZywVwsYWsy2E7W/lXKWUG9XokrQbkLjhDOt28vM4AKEszHLYlEWZ3gLgofwwXgWZB8LSWep5pFtG7vydWnQv3Y99E85uteNSMz5q+FHoSYWz/SR+uuu257V6JZpMK4k5GUssm+Xat1AEfsBYgbIn8H3nAdKHN+M17S2QcumiKfdhlm8WbvzH6HjW11PI1OP2s3+T0CJP3gyslctMeNxOqTgBgtx8JLUdwGJQkv/ubdEl8CeZ1aPbaLNgXfsDoDhQdVSK2faw8uXEgkDJK8sxEwZh8x355T/m7kuuUVnC1kiERJfMAb8wSJWs7mlp7PJDYk1t5zX2I7aToMLlJDJtIwYhzd0OilDn5npd1/0k1tVNYR13UDZv7ITD5wVXhUZmZd8GfpQx2zPERKBYs+lI484Wr0A8rnPhinny9mr5y+v1ISFZJSVmTNd6W3bVyboq/chIrCvOELWoFkbk80YpMoaz4jV5d+VwCB17QMUZCwCTDSt9UStTIdLNk43TeipCGuXRW+y1cXKFlR1D3oZPGS4SpzSN1fVp7I+GtN7zzG40T5y36B0tmfgNQNBo1Y0UURJrx7plwqMMoM1Z+HOkU7x0V4VbUQTrBHOe7VHH6LpcaJYJWiU4ZJW1tUj25iI7utSh3+Bb10BEXuEhyiCr51k3t25/Jdvme7vrQL671t2hVGwD1TKqgN7RWl11Qv19BltO22IdJI5ihdEABNfSO08TuNJiLg8oN87fcE+O0tK80YxoG2qBQ8c/EaHr8mrL5b7s+8Afu4a35f0DHtQ4o2mPJcVkPu70X6LmUXUZLJBSuhcRHQDlGcofFKVx2EGuLUOh46LOvZNrTFWyWUSl3Awcb05fnXuUKIvhBnr+19ZOuooOJ76eK9XaPB0iqEpqcB6ED/X1VY+EDQf2XFNprMh38WTKz5pvIXnj43zgRte/jdMn0XPfzI69aLTpycbUN75811G12aNQyM3+RopLHhJwvZe5Hm54aUa2Dho6JtB8znqCT4bEhQjzk7oGUNMmeCRyjIt+ufVQzBY6+r2xJiXtN00XkmUqBJpoVxHoP3tr8zSUSavdKzIXeLiiJhlcc5KsbSOQ7bF/Fx6joWipFAjCttMAHJY4FNp8Gfv6POn/8r90b6i4rSasEF5qgsA7zqlzMW/q2xMwHS6WgXbHRVISJXxzkbaH7Ls/Ghm68zl11TBNQe8lZuUiHw9Cx8zLno5+YbNysCaeVC7ltK5HMgjtzYeuVCpZkz96oei97W2vq8WcMrJRpB+cTacy3T3e6EkytLf4/HJ022L8F0iokyN50gLQ35kcWPvEK4gYA9nR5nnntBctU+9bEaYUsPIVFL8Kp2Nc0ShFX41vwA/kK3dqsJppXxF/e7Z7W9MsCq7rsdwnKwIRf+DYDBS9oDXcm+UmVI/SoKZKw0fhKZNP94Vyzh2n3oGz9MxtdK7sJYc8NQLFHk2Ye9ap5+RTeahRJikbzH/i84n0arsD8or9Ie60uGGdmObdOAUoJwloKZJ5dHwPnJrH317/09p1DZnwlf89nxc3vuhgevTlp/Y/91CZxM6cLbtLIKXEFJYCcYLFUFmmnowLT1MXNdUB0hdulxGP5GrI3GaH2VTyjJJzucV+jBFK9psFYCfk+vkY5c/VMxoiTlr0CJy8DOfndd67nuiFSPBpMzBQTY/kihyPg2ab2UtTWl+9HSuCOkGH7cYDM9/jKdomaveTk2ipXi6I2m48Czwl4UYt2FcuetspQ1ye6k6RWxyRAX2sttHBBU8X9ofCkY1SAJzRR/N8zjMLGBOFPUZrL9F3DYAkmctn/+w3rDH+JRn4tDBoLNa3M819hM6MiJZ9w9I54wspQPJgT8q2n1D7GHr3GPcdvYcl8I/v1men3P7Cxa0EbXLC164S62isIDDDKPhjfRV2QhgmyHDFr1tcKX9i+6QXqq2aNxg6NjetJ3aqFICQJY7GlhgDO0r8F/0+4noeXeyj8CTzeRhKCIHnUHywpDOl+FpcpJqN91mZe73XycLGTDbu2ooakQlGxAb8yR3rb5CNObvqvQsOD4Lsb0r2hBp1XhgsR/hxxZ7VJkMA3GvKCzP/s52FPje1ZRDacwbN+SQgXRH/OM3yvZX1Kbeo37+PRqflE7k+Dus9JriGHjVcK879RlPl0G9WP+G8BHFOvhnTWaw/Tldnvox3xblG2dq4dynpFgSl3ntwPobLheb1wItfLyactQpEDE0FGLJtuXb/N0ouQf0IbszEYHtcWirH4u9A99Q6S5T780JMWEwtvyQ2xq7INISeYYZsgRkgqvX0XQRslxT3UmP6B07aG0pV59npUKeYjDWTI6blAk9hO5zdIjpVDwut9viQkihkxzFTXdNWrkJy8IkbVFlZt80d8o55OonvcssS6hFcRD7EMKWiivH+b5eeI4I93Moi5PpR86idP9eMtYe6TG+JGeMrZw49q3hgd6N7YBc5/XdvQeivEq+FsHbJVwb6vIX4munjTPfdWo6fLUgVECuujD/NJ8V8durz1EcajUqnKdgM/hiCv0QG6iEEk38ideTTY05fop/X5trypMwtxuVSooiTCoo7xzL58dhWU41QEUlDirx6R65vBrlLKiL5fClmpVptojIuKk+DQwH2HP261G+4DZOesjTF15RGlZuyf5aUg40Iz2S5NYP0mktBnsMoK0nAlqyRDqMGyQ0AVTOyPLESFWn/4YSFBQ/x0+WY7XLWU5gI+9q8RWKzv5uW/5ARFaYqvZbier1tk7eNVMYMu8qparm34qcj9ueOxStRQ6e3XvFGvM+tcbM9iGvRTjGlxpf+BNT7cnn0HMnwNoJlP0SwkjZffkaufUH402KknufhOMAns2BQ6yku35Q+6NNBYkIicisbkFt66yJCzBreQVNBjwH7KZyhd1qjBuy1DwxgUIxM5dv7whO0b9JfIzz7Sgm32fmrMPIS/b46TyPP4WF7xdxVNGQmFBoH9/YfNJmn3VmTz59r5wGU8MaSIXhICgwS/rMM4we9D98H6eym0jVqnyD3gCVXE/Koxwc1FBpZ15WN6JleeigM6Ar51lyTPtTfGv+mT4zB6jJHyawhPCRmTXlpteMj2r3v1nRiCV0c3z/JL0Dx10IwLtbdXmCJNUl3vBSxPKFcvFR1O0nnJx8ypKcBD+/Qb5s+cNSTuxQ2nH4uLLmf8Nmb+LsGp1VZVijnV5WkL5hnGU82cnQYuMYM/rrXfiYVNcKWhsB57vQ6txSqjuPxD6M8koNbuS/elqYypLvtQjM0HjpWg5dxcoN2ZLx/RVD5lDKMEQiSsjyeWJyPbDWcF+tydTaMEhdMDt3CL4tNfKz0DklxREJmYDYbSqXwOq1j2Gns91heFFrCQEt8R+iVBfHgSoxmNSlVsVSVj7PXuVxGe1LmRDHRW0Ml9sp/cU/Z+5ZrOjQOsM4or7l+nBGLJgpyDZq2A9Y1Pd1Ro9tCvUofNUbOeYgLWffrjtImgT9JZjn5NV748TgknJlaUskHxdd067ANq6tueMqSXTUmut0BPsKhtfk/TEjdTt5rwbJpMZN2AGyUij++DUD3fvaf5hdqaxPIr2v8LTACP5MG348wYKAf+MbM1ZHaGmWuHms5VQS0TVvuiY9/7bHScKhqOldFAA3y2LX3r/4ymHzSb0kXXVAchpmnhyEJ1jHFgJXcRqSlQ4t9rwIcM0gDjej90o4hLL/05SNA0Lbm4qi8EyIXPfXCxvrVh//G2ONnxjoRB7XZ1d9N0ffknUZEEfyik5rq83z3silwicDnPh/z6PqQSAfLyu1cefp/yyBSToFfZIxrVws8u4oQ2YBSBNsFyfpXTOKEl0axvpXBnsM6qjl1MODV6/lCyezHPiedKBAezP/XmR620PYqilAq8NHgM1UbM0ranzlIStiZzCD/kyfKu6aIu/d7GeKDHnBRSrQeqcIZOmJfgMe6TPPWvlQB9+Oc073qKJX//HocLFXdaiGaOmk1aVlwxytC3iInOe+/9D2XtCZz59Lr1ytAw/LQrELKGNmiw7KR7Cv4zUgRcYu0lkqIeXywXOfzdn2KiD9Vbo3frAYQ+lL8/3KazZL28OuDhgb+Zidyj2YVX4n+dsEcTDW/34iNGVqsoP0eCifBrdljhuSL0bNRvCrI5E6NtwwsaUXAwwEv62drl4/CS+H3pbrKYQVF+CQEjeLTE9YtEJfrucy/VeLhJaXl0cohozdC0sdLkcHw6wk0fRAAIXMCNoZ5gp3d8P6lzugTumVEUoV/n1EKGuVtzVjdynvgWLBdFnBptPPyCdOAn63ciL2Be+R6u0mSrIPEg0hUuApQHQtbsXnHe83zF3Q12yphE6znuQ+G08+Lz5SuBsPo65JinWBWzllRVdqy7EpEu8uYOdNZtt1lL+E80tHzB0yGrG0Fxg6KFtAiN19kQcvwsRzwiDpMUAAQR2oD8iyGgQFwMwhRQZveIbF+5sQv36RPNtkhWdMWJPz7B8ncdH01mY+/XDhjtq2i6Imb4i7a9q65dqonajs0FEAI4nfVVren8vJ9fsO+RNinU3aAat8LQPJmdQN4vv0ZYRjHs1dITspDJn8rd1mcSFjAdvneVU1LFbR361bVRr1My91VcXVcvRSGgOvAy+cgFoYkQeTLvPPQUPKMi7hf78tAjnEnDTCM45kjpXtEvu67d1Q49eFCtNKyoHgZlF/cmQEWSSYpxXOGkBBpiK/OVOpkFy//bJRawu/AFk0VI533gzxQUc61g8fqA9Em7gJ7iNPHrh9ArRw+p48zzOhpcgfDoyj7aSO0flpDhYGUMUofoI2QJci2BvDshasi5hMmMJ0jdVR4NvUbYIWTUYgiuN0Ang/v9wSnrbo415hkDe0ZIqWaXlzZOU5MK3hmtVGzedQroiNc5yqOltVgeA/zcyH2EiHo3/zjPhglKTAB0yUeDAJJvQtRMUwaCIwA4ijYDj1rP1kLscibaBgBkgltMBly5tOhE3BC5Lcf8xCPrn7uG+i/BDyQsLWdZpyRNUOnizMloo5Po+6ObITSaEimKAvJdGd/B14sfFAKm4Q/a7RKEQNBa2s1PCTyeqQrl0YGuXT66l+LH/8PiILYioY0qq22YIfPmA8LBDB6g3so1kd3GyG0cQxXwBx8NRfpGFQHcMxuQk85Q3KtYiSaELIOG+v6CQjzCwrvcYcl9GCjrFAQKVftXcgYNd39+TsHh3qSlmGsfFNdiF8v2an0/VCZ7yYqMlWE3qTCOrKM8RFT3PpJwGmcaswj5MCCoSy8omGoeufqIMRzUT+wD6YjLdSs/gpxM+BpA1QIT7G08pFQW2MGb2lEcjFMLt2DMuBQDbJAw0EDMiA5voWgVZbUDjxOM1CD1/OQFn73qFtRf6S+fkBAtdkfH3TvPMazSdzXbLrerSJlqA6e2pgnc+WeVRk4tF7L7Bzzyub7+1NNyBo8gnwpcCLCZFT4siiiwbGt1n49tKICQ4rbNqPQpXH9LEiszQ7ZO6vnjU+x1xdwSq0WO/YrZAEhwaTkSei4IwL1xg/wZ6YvOBFhXTv/QfPUjUAB/ul1QpSPG2EJpkpgTwKuN6BgYK1iA6w1gJGpzU1YD6c95sUw0AAEai44EaVs/l8BlLN0cPe75JreDiPv9rKcb0Mfxqs71OdW1lUr5J+tbQv2qNO6VRBeLBQaSa9G1Se87W1PtcQ+tYShe9a6TmSetq8zxYdAfxAAyiL+cyFK1UoyQ4IlIXHMnaNEqQSK+JiIII9XooInp2g75qaW1FPsTBUd0vQ918bOqqdCHse9QbupOAfwLJ4Cx5S4HnmNiT6umRBC17sbM9uJ9OR1fhDHjzB5qpaxCYxs1GI8efnz72lJy6OKhWQawdKlcCIJKJCasHiQ4UYZgxVZqzzAs74Z2WGkzD6QTHROcjNJU56dEK5mh+Hc+O3xjIw8GgYaCGWRDYKh65vp3Zk1fhSCjkoP6BF73SDBzmhYQ3LN/l3yMYjhwUMkYQ+Ums+bCOO2ldcWwkJBtMHsH1HSTefHY8p+nxy9N7ZLnzj19lKupWa/EZgpvzdLHh8vwBxWWxe/MV/77jVDzXAbckbxddXRRYaU+WqsfdQGcAKFAzoucqB/anSfpCGwqaCBagf1TcE7ENWDhXyXOoeqZPv5GRhZIpDGsyY4uQL8i5NddNXdeCGJ439lOg7GLg3dS5avZ57DGH+qoCp2D6181I258iHWNoTTP/WmLLDPpfpO4nboogGind27VD3xHVlTP/z0LnbgKkTPTBNp7K6l+VOohBdYPJLmAVHWuE0H9+s+GTu2FRbuQZclPfu6UN1sD1Ya9geabf8ddaIoUnRjXi518mRnywDdYwP2gMV9474O4Ri9xYwa2pUdMUUznZVHQnt9hctl1Y7woIMdx+VnZ67Tj1x2Re/QUd7omcrdNtwfgLA17xkpu3bGzOrEtewk9lZUyTuy4heB/TtxcBpk/j4B06dPokpM7YuN27FNd45xguiGj0oRlOOv0z9wxLzZo+lg3zaLPgktPPlKxIIvzlY+S8RSpJZdYK9fMupnLonmjb7TocHTSEpK73P1q/SigiB3s0SjQFr+jqPqMhz4ArEoUY119zsTxv1ivTsSuwx3y5opaawvCvjENCSvS3gcnoMV5xWWyzFfIPLq3JeZZdXrxJO62iiqi6IzzEayLyEyn19FeMCo5hZy1zUVHn9s42PViacJpLoULbKj8jeaa8cQCCofWn3AaTvWI6zzYodrdnajzdQTWCw7hmM6rea9fuoR2jGSOz6iQCkjvEibZokEmN5lh4pxlYgtB2tdAInxtVwzH0fFqqxLaaXUQ1QIJqa5+seA8iz9BNkDH5mqqiTcoL9jizk4M7TDNTuSkeWNFohwv2EWZml46FY4CkrSeCE1N/HHmTu/Y259yfI2D6WvYcY+aoVLDCUhyd2oodD+r6EIP1hp+7fpy3iZ41EgXxBjf31BW+CvI5ABLteAA/SO5YDH8JoASbAENaAeIBwIjM51EbxYPq8hgHEMxzjTtDTtujcX7xWxXFZmhSuRrlCR26/jri9whz8QFpAsUanKyPQ67T2nh4P9lYF2wI1lQAC/zbcibYT/JRJeP/V3/1btafocKQAfWcAXE67RpjlituqFqtXc6SPDGUEAsjKEkUuOVNYOUFz+KKz2VrfTKSlZ4SBSAg/P4u5Y77GZZtrHd2aleRjt0pD0YkDAei4huupiKdRbZeKit1b+TJeOjLsxFhU+HFdufBJ8z7OBQLRZNmUBIoTUD60CwXK8zCznMkP0rvk3j11M8glpOBW/OldRzFEPZUnxvBIUH09gSHZ8vFoqozwfzV4/x1c52Hv3BMazWiEykPimrDb6aRs3ngDtHiTF6Vr7HUbBefuWuGu1yFEGgHGC50Kim05Nob2tcCIsHKXoLTccAGQU3Fy9qRcl2IE/FYFKlqLW2mXC6NaMybaCMGrFus1E/W99lbGMDAqOw5ek8gl0HmP/erlY7/ps+lKaQ3qg+kqX3tAdsChoU2WkIRYNErfUDmA3o8i7gKOYPOSv/rqf/+yhkvufNN/pkbNsMfuIYH6Ys/LZCoKZXfHKhFHUnQd/kg8nOoCLYByCZ2WbGxITk1pMolQ0jlWKspt/t9pxRaq0bAKptKRWWBId5uc98cdqjoAaGDsWgVYi0TPYAbRBF+g6dADk5IvdFYN8znj+KicvHK0lWotnMCXN66M8bLY41HW7/SrEkIQCGv+gAXkiflbeT2vPGuR5kCMGqsbbNfwCg2g3EwmUZjnZ06SjcfLJAhyr+U0rjk2T8ZGYj1WLSnPvyQi8+TWIVykE4rZq0AWEVQhXgeCbHOTh7X37SGeIdlqf6Z6POCh88/7mNvIMJ4KcWUM6x+1zJqPHDHL1g16gbmMYoabvDFIUA84qY/IyW6yrmrghxhgaoersUA1wzcLOaYjm2hoT659sofPHkgV4ZuLO1YRliXSZNztKk2aOks/8S77YsTNLr9D5NEy1aDm+b0Hdj/EyQ6b0qdenZdTkVyq3bPDGUhCXiypkrJ77mb5/0SkMmbt/gGhTsOODFGjELmKZGcuQuIw21zAh9NclRNwXIZ7JJxkQnJmtxbMZjPuAJX4WSdU9Mvh4xj56AFTAgj6g/U6GniOmt3qtzQPozDrN0j40SsKdgArsl0koT3ZTRVJ7/VvjeUNXAb6YNuqLaN0obWZmQZTnf0YZ+9v7wLW5enNFN/p4d3YCWIBMVBYpeV45X24D+im1y2dkzNPm9cVZQzs60DXmoV6fDYDXCCeZc1H5vu78H+YetO0P2FpzNKBz2m5AZ+gCqqQX3bhaukmsQ7Vo4M/FKVYnaOeHeePjcgnDaMXfXkS9yFxYrSOHo7apHxX8x64gEEZiosbW2Mo+kb8xXC3Z+g1D1PdriWIX7bpdhOrNhXL5/HN2IJUro0iKBA2Fk0oyv/TeSgkepjhUrL0m3XP+doMcU/QWT85TdEs2pteY163V9xqMs0Yrm0vXMbSezHr6JqHG9Kiwcny6+N1o4lxd4X9VO4f2pG3AXY39+JqBxY3KLrHdFuxh1DoByxrKPvtPG01GLFhLWYvpj6A1CPElVu+4YzViSTbfHPes0LE/36M5FzG8pAqSQghZnydiKfnP91ArPrwEwSRN3Fp/KhDXJXvADGxFv2ndrvLxqIuQl8fQBc6QjFKAI2HHBZzuJWJpj5SWR9QL7LkPpUfAInTSlsM6Q+jVA/16Duyp0h3K/5jQbp1uoE2U6D/mDaav05n0iWXLHaJqvp2eEG3/NdKigrMQcs+LbCKi2lSAowmc/jkSNskHviKbZS66D09nl+/sAmZa90kYu9+isz5j7nwMBenrRlPUlr58/TtKyEiFY+b6zALv8gOWp/WZVgL+v6HhZV0gSuERYnAEhNXOiktZdFrcJCO45Ym4hfc/uw/srniWH/n79k5AK669a8G6wDGXQubS1/6N0UbSQdZPeYLqnOJUHi8XV4HOsua5EPCvZFpfBoGsuy6SXW2Gd69jGe7+hgf5X2Xt9gP+vNqT4Bi2YvdpqElneEAPErLmDrFLh74XbPSaFEgynpGdspTAsi/ui2xC3z1Bw9jOpx3QMVPHAizFcV/N2inQ137CdiHUGGyaOr+GsuwC8Qr6nRRJSBtAeJfcRHqLOeOI4gFpXJfQ29w66EfTN0LyRSpkvH6oAAb1GveBe7QpBzzMv5CUAU6LRaL6mydbNS6Ju0G4gg4ZrJ3cVjqrHrl5PYxW5yaks/0BDBjvepAn9ATJmBVLbpWuT/80lEuLWXQ7Kf/84XLqfZCtwXhWO5ieoDqYQM/LYudBA51ZjAT5wE1NzO6s5D6gHIgGqQCVXKgElUjFdAhySK/FYiVN65zCHPnWIckjKvBcxbH8KRUyPtpxE4lI8u3Ao/sPyUarD3oMu7c5XhGt/Mpz2K2/KxfF6Pm7uB3s2lWokVvH7WC16W2IeroGpyWW5f8T66XchO3JJrATt0Xns7FyI2T77Q7UUXWqFAx3d9ZADbEX5PHK1cuDvM54XvNMOGnBVsrGeKMGhXomgXVILqXAf8aMIaiE40tbUUidFdYzWapHn1UG7t1i1wj4ajN6QHyVPisM7p3L9AH3KSx7OgBZHTdO0KezbzeAh/vIDj7A+F/wB5rU3c1ItkoJk2+TT/n5q13zBxle/CRvRIGnJhTj8xv0TuI4VpBjFED8y0//o4d//N/r/eu1HBDe1D8GR0Mo7YCnEPNBZj8qFZaSYRGoFkEHm8zChd/okyOzSNN1BhAKxxOmkCcombc2ZBdiNPdce4LldQop7kRG/D3iPtJZAiNPP0ovSBlbc6W5jIosWInbZQRC8tMw2l8+qnVVc8F8dgYmFETWmxcmTdOwkI2OnA2/IQHCbL1DgH/rN6gX6SNQUI32JJIqNTJSYkrUm2uE1WJ8/YRWQ/XMer20LDrAK1qpQ6Rp60F4CT4pNVoS9FUqWnZ48iFCJSnPrWJV68dPoucuADC5VkVhaUhJOJaXidSkEqmiP0QERUIMiiIvCoLmWsCy7pLBqAhb+fkt0vkvj36bsy5neUVX/qR0qWX/JT3iObFXbS0PDJvdhdnUnC2XrmqPOVL29sUKzRFtyEn41nngJdKpP1QCgGH1cSRBnRlZmaYiBe+kd0zuYxZCBp4a1ueb8gmTKKHZTk3yYniLlVslDlbSgZIBxmapU+nodhHZ+RQLmWq7WsLhCZuxFmDpPYlEaKauq9Rv3677BYezsTvwItR7jSVjF60vxqR/ekK3dq/Z6pXGkXXGPQ/GsUevqzXcW6YOaDTvIF4rvr7OsctBcxbV/bq3bnN4hmvLKDqPbvVOqvpENIn3halVgMMLtH4NDjIh86aSv/VAG646mMifwZbawDo7s8TJ+ilbaik1LiyttRQMX3cjGmyc8j7qm+eP3mWWq7UqcFzErof/tVgMmz1ZI+VTG+Oa8CB/Q6vHRe0Hy4W5evYEWvaKQQYvDjLORWOhLqdcccNFRIPswATQmugLxjGP2eLzEBPBanW65pyOhUj4UTHa8UeyNzYqm8yX8WIvwqImp/7UjoIOoGq/vCYnDhiQ6FcqUC3dj4To5/Ato7ZwWi1b9SZvCdq1gMBkDZdR85h8yFK0Q3BFplWCoyKsXtY50yKR1yN1/48uFxM+kx5EvaMPY1ArOIi+txQMXW+3QzC2Efph74ztF5Hw//XVhp3lK0OJ8MIDPM130G9WuVqrDIkn2PyvmbDJ2bwaEiaeBTwzRxnj50iks9zhNZhJqwj6Pz1DRLUrEZNWPuTN2YmwKJXFy3JgBezwzACCx6wz4jOyamb3IBqcd44Dhghd8n5U839fVTDM1GKq8IVHU7Cnsw8YeaOGGow8qfA6l3rqtXRk751FAnTh7dIIl2wCRTnLoNCYzOez0Sb+CZlWIRJNaLEOG7AJuTkk9ejPrr1mTA4xgLmLB7PxOBoEVUwD3XB3kdVzlbr5D1X28wn72tVdrF6qGxqZr2Cg8ywhv4r7IxxecRYDSdqMzNIE/vZ9+rb3rOs+MehEBeXlFkX5JWVL7KNJc0AlsRJ0zC/VaTbDS74V8tJngpG3khicH3zUw/F/wX/V5v/5Arj932A5Dw1shYimj/UflsKIemT3tJ03yQb0d9ViiLpAHmWuZCZwpHBgR30iEXsQT8gbXhIuKRzitzsW7k6QK+E3qIciWzS8zvygHOIPJrd122bvHsG3rROwSsgyBFMbJp+X+lfNG+v8OH8Yo2/tkXZxO4+qj0BqpAd69CEYgpDQOQgCZ/lBgH0g9oHNPSBXMuG8oX/5vJ4rxTX0YPyaekRdkERTNGBUSSFC5gR0Bf0GM5nn9OOph7tX0HE6UqXvbgLmfJ0ffBDqxOih30RvJPxBVegTcU1w8cwGviX2cSoLbZi1dR/vlF2zNOgMciqYUXFycOEwBlbdzWlnd19WH0HYmr8wBLdduslYr5DrWR2Mm9xDNFWPZ7HsKu30kwbLLewj7pLEhlC+Jgd5CI/Ibh7GGMzudu6PcuSdTMNNnywnYMJBpCa2tyv0YNEjaioiC4bDRJD1VX0sCzGkSJM+dxip3GJINTlWzNyQE9rvcGMDYSu0LYzBmwMzTf2shveliiFmqnoNWicoMBB9U1QbWFzcwLaEDl+IdjNqZxfs556y+/puCZiZFi5Ql+dTidxE95gVYEJ86QOrTni8bvOuxpz6hGgFRpq00K8ciQTtnFvgWDCjqI3G9bSSwrO7We0syY0SClPRt9wwlzWkx6+DVQQw+NhQk9uucjwSBgSdgbpm9Q7ibIGkPcJn1lv/fX0GlbdmB1FwKBCZWqnBdVO5/5xfYpxoMmmULzERRbG+yWOSmkDSWUo1qXF/L7N9rYtUGaz3W4Kymfw5jad2oaN+rOgZrAdDtOByrUqlzlStYa2HtYayGGpJ7YYaut4IKf71BRobeDsG47vwgJA4HpvInGTn8/G3L9VGU8U4KEnna1KEJbM9gXtMBsfLPI9VbpFFuBTy6YhJ5Yi54bHliKE8+dKWYe5hhwPfiE4bOVVOG2okuEAYI2jqlLTxZrmMNXkTCHZaP51ed7ma3EarQRRBMSLbz+NLvAbiOj1VAov8G7jDZtcEeseGPqbIjte1bSDYuU+FSj4r21mXqbMTYnTyN/VN1c+FNlk9LcaCNNtpwkVps6NPpfsjckWCSZ9/M62I8QFiUI3mH5+dSGSmbPQea5gfS00fRP1QUM+wx653pvwSfiDJq7Wc3Vu7LizJl+Lf/PGCopvpQfDX4DK+3eI0V8f14FbVl5bT62GbIw8gA+r3WusOWIUwo1U1qrl00wwBEQuLDwGD8ZOAheitxqgciVHS+OdoGPHZJrL6XXvxxrr11aVG+tfq64bbxZYy3mMfi3OkCERnvzBYDPUHKcD4eRUIuJcrwBJWXTRq7EHj/DK0MJRinA7tQ/Go5smJPa9bYoBrgvftGRxQaJf1iaLX1pQNU6FZL5S1oQTf2P7rHxlIH5R7rKzC78dyW1pScVHYKKzAOhykSMsNiCKd+Fnv2vNi34qZGo4EZwqjhX23iTp43RCh6rBk/ygw2FaLGFp07VbKNTDuqoTtFt9Zcv7u6gxyIkzzMLo0jLSSAXcSGhbqxiQa+mp8/Otb6KG0u6C0PE51l4Pybb/CdpDhEaqXcRHb6jmo15KwOqlltzheO5puhftYJcwR1qaqFM2bc6dwcy4roGLeUFeL6zGr6lt6xGHHrWI08AFw/0IgiC+FaggZogBwibhU50o+rI2UBNnFs9zIHZsCOyFkT9C1vAP13jar7UZoIJBP1LRX5frVjU8hrH9To7fVcJg4R17oCGxwG32QjCYDECxwgFAUAnacIclezwn+86qAQ2Xj2kkWPh4Pl8Ry7brDdmMfoiphR9U4hE9knFCORfcHOMqN+edwj1x/N1mC3Ese3utb865pkFlD3M7b1BBrGF5xXuJdNa3nUIa6eWJTl6SVK0JoWt+NmL612z91iIcFzVwHckStkkQZi+AKC+HrQcABfM/4W4ZOFbP6OdthV3VuOPTLazZ0ZRGZU7LkfniCBKzTli8ls89q2ts68CwrdOcAcXta7TmWbMTQ7GUEjq91cnto6LkHStTj8jBRl5MdYmSmavEcNtOKCDjd0fGbN4VGzg5j6mfNNkw/fZhssSrD/lRrYLkRtW1n+KRrQNOch/MEFxfOemNWkqZT2ntfKhdovWmG6IOxJPejkkSC9DDcTVEaO1cbysWLVLGtbwrzSQu59wRELIOKZ/TU9JcHoqHlQQxeEap2G5Smj4T+beYGXbNomjSHEs/x82kNhl/v74e9w8IhGBrGQyx7zeMlk00pNteK7FMYvdih6AbgQoSNeNakWVFmFFzeX0Zgp4oHstduC2szuiGUGZmjOKs8sOp2DZPDYfJwNNUO1U56Np/Dq6U9Yj2PUvVfOJnB2YTr6SXVqmZW5J/FSVWbFpVFR7GUCRGSSQFEKDoC+RxXkb+NH8H78BOXkx+2AzP08QT4ZHbM1Fd8b/4iQ4t8ToET4Y30Y/K/jAfr22SW+ecMrhj3QsKBzAnSnmtOhm37rry6cslkVd2JhtzeDDy7aZXo81Z/aZRYo0Cqk9QfwfWrbjXuXEso0LdzauyrktXCKUB5ew/1ZShkj5rw5FBOuikmHEDatac3M2+bHl8IlbPGrV288t7RjNT1sHAQXae5soJ71ehijMtl5nBFUPN5S6Pz9pQUk3Ug85jkrBrSKdMrNvhEFOeJxr2vGE+nwHs7xG6XAw7hcQI+C1eGFvlxnMUllnTY0jM2ae4Ut3FNslVOVFcNTnkzsmC4mawpjA5an68NBwMkAFPARrh6K2BFfcEIAImJqr+e88unsr4jW6q2qXKe05O6iW+UMYo2h9gb6HuplB3aI9KpxGIMGhRDKf/O6GrJJ+WiDhntNoY6TF0gRZbjae9syzyleap51RntCBl/ADpQQTDbS6Es2p5R973mveW8MTDTTNarF16urTy3hgUFnE5Ri0DIdSJH1PGplD2iRmG5DD5hPQjliY2AVvoNfIXM5Ps2JVCupMeBr3wQVxDuqk6kg4TZkwqp9iurQMDSJMP/MJgHlwTpfxId48Z5V/rS8vvYGxriO90qsN2G5adpF1lBpOV9SbfYJRR7dIxe3JfpK3E+3TC2LSbLB+SeZls6u2KzJhHNA8TpmPSStplp4f2JAsb8AvcOYd4ZdF4ncr85Dz+S6sEc15kBEKYcQPbIcyU7yuVoNuDXQfGFbsiyfymzc62zVB70+u1B9TzxkrxkTkR9XY0r/Ug0om7e4AuEK2qQCK4YAM2ACSOkWZjV0gZB+6IPNE3ztjASf0jbdC/HtJY0uV8uK/tQSYCDdb66sMjJymspJWDauhRVhr7sc00h/tS6Tex++G8I3GG32OKzcZVopxV3dEX0sV5pzZLC3tIpQ6gfsf1OwEvo2AISP9UZ6toc7R1mcCDrYHToWi1Do0vcbACDQgrO+N63niBKRtFJbs+tYDoe14uuW9VWScSu3WuaJKrycWTynvUtpRbwNxwrUV4sshEOJqpFpMKoB4waKmL+8A+YG6MrJBanIajgoaDBSgQnWl9eohEbMIP+zzUDLoMKRqKBivC/gPBV4g0nU/G0sE/Yza89YrgguABiYT+vk986AmL2ArwFI5PrtNi5bK+uToozhTCkxh5BF4l/Sf0QwmKCq5Ag8AxkwVqGFlg0UpJVkh0YMz9fMCWOSoNWBjEa8bnU7vqiPcio79I2DFl27kp5QgYmVIlqjn60IG/GIrffiVuGjhXTNez+Hapvp6iN1nzek+emhr4W+5aHFBPjmygjOwgGfampE8x3O27J1mF6ZprIEkLrhQ85Se3KtmlbZsaj2k8ZUJbz4ZFZYTH8cMeIxSX/3ZJQevBg6QHGcALGFhamb+8yyDBkkIVIVnst5rrYe8swx52g8UTxCRS2iAAkFKVShhfNKxY4g37f9mzJWXfxIveAJSy0BENLeLD4zkTVkNpXk/YNg2L+XeOmL0ZJA4RfxYyh1ohr6ELXNHeJOyCu4yAlFApGzAMFNbjVbn+3sERumEewek0k2cnCELU3zbb/oczdTRe97Usmcd3oC42Zuon3kl4hAupm7eyzuMIw4mRVlaJDSNt0WS1YGu4LkiRlMqo0HpWmPiK74hPrHaCj9+fniL+o6NXuDY6kuk0Xh7alWVxvdd4fCgo5akPIy6lSaV/oqK+u7isMyIVVVGAk8ftns/rW2kn9/awBbTP3Uv5RjWfswQZBL5adD7yGre55gEB1/ws0NiFG0jmSkZDsVgEvHbUF91ijKyyyivtvrYc3rhkLNBVEVJLbfbYQRZLTHlrxYRna2qSa3QlyahK5d2Fz8upb5Zqs/rr4TkBJ5u4AwTvmnwlpjModYxLt5q5pU3pkzvctMRG36UOsWFLcQNL7nBqKHfEGdnQWK6Oi7tPGv8PC8xyfzCFefp75+Tv04NheULVM+mMTz1lE2nRwWsdBwPj5Nh/47jx/BP/im+BReKiaL8c1hNHcws5vnHKuAfrIcH3JIEyRFpcJuZC5tx4lWCYB0hAnDgF/cf5jaMVcNTMYARJ0OZCpeTqCxNE6e1LWsmW0ESeaDBixnF+1H23NijSslLqUDQWxQgF9yBRJFeOLlQ0P1ZE2oLbituvaq5Ia/kTZjbR247z6s/zGvKBM9wfnEoHZwS9BDjUAAu5ugkkuoie2WJ2XVpw4lk8qpaGtSHXrpLPLUYzVDsaCNfezccA90SjI+DqgA3fKAQ5zv9AjQzsceZD3kgc8stk2T2A0MIDp9FEYtbHtCysqSKChPkAnlUKOmKRWlCMx+OIc5bAJw/jzAzKrh/2EmrQnER2pdTqLnRB+QWFzr0tXmH1etKzcpqRG0OpQV6Nc0l+vYmxlNhCkXBGOIGdqYlNHvw1zNvJ/XNFEdEqWJA++dhiI/hh5vI67kJSTDevqwnjk89OTessnRa+DX10ARlmWBaJafsacwykLPCf3PId3IfXRsvYnsHGdBdyvpI6CnPXrkHrs8wngUS68mkTlR+vBZQKAUTgRXUO7xUjiOB6ZKlR/9uCk+C7LZTFp5FpwdqITo4d2C81Z9hSwmfby4KHxU4WdfOd2sg3Oexl87iCGNMmHI8JGAhBeTAYMGA9RkAdm3/UF4oIJiniU4oRB0Np17ffAp7XM7wPvD8GVuJbcDHiMf2L8PCs4F1gGqx+1Q1C7Ag5yHrO0ihEjQeMfJmCnZd4SafyZgiKgSdaGDGzaqI78ZuA3oHFaoKFBOZpip5ri1+sXcNVhWecs388/uqV4crzKDBO6dWM1A3LW+69GQIxN5Z8JpbVi5MHrQxozgkBKRL0Kh/Vyq7jZonuRddOBgqcy7qtDhGlNglc87Vg07VZSJAlEJrg88CgKLEnDI1JkhARPND4u3nh4zbrsrLJt3jMuT4y+N6DcRmRVlkLKiVYDanmsAEhchqnADuFAMYhpSM1vLSqiWY02Y0axIOkD+VAVVWTn1aD4yMNrqDXFqRCwRo6HbBDdUPiIX5Bs4n2R5pnVPUj0L6//NlHjw63Hv9ZHD1wMtG58N/8AsfsaQKOxF5Q4WKZep++x3kh+5RQxbaCdAQTDaVvGPoidI+7+Hhzg44wLnRD4Zs9Ian9nyQ71JCOZ2k4bn3R038yDclC4chC11gnnkBi77PKuP10veMe3z9TfmKWZzNjd3WO4u/m8t2VJM7gbfb4xveYwJLq5ATxf6HBRqNdcooMkErUZz5KxroPYHtrfZJgHaiuFTkLwI/lDufmm0DFnSsb53bQ2/3NGN62N0pOLoKEatjfTmuEwqy3ZpVL7pl3gIRWoYlVOC503ksLB0Zu/sC5j0kWJRWP1JOv/Shz9U/devcY4542Odo8IsW8/pl20fYjWuvmucHVqslOk2U8bOGd+81O7Fdo9RCyte/vjYfd/zrsYqhLjdwG9oMWp/gZoF3Wij377/lxo3oJzTsNuw53XTOgqTUkG8EcRUUPV+vwlCRIqJQdPde8cJS+nc4SX/MQDsrMKo3y1pYoYZvTcMVIXGV91l/V6AjZilxsDN+xrYLZx8ZlBrV/exNhDmkO5qxYq+c2bn1ARc00vFQhZBv6i3JPDahG1sDkK3rHNZ1/schBQ+2uSnp2Xc2K+L0YrOH8RRDHYJN2crchzznE80K2MQcdFGK+JGKNgPZV6U9/H7GD35U3U6K61xI1prvOd1EGQ12r4FH5c7QWag9wR3RZX1uaLxUCDAUSNoWUotTGjmRSwZe6W8jfcKtLH9JSbNBln7ptcwzIHGQ81UHxP+VjEZu/my+e83kAN5ldztmeDphYOIEyGzyWrdwRo2RCGe40dwfKXksRqbd0eHYZn3qagETBuqg0diFJr1+dVm5gbEZ0hDD1O1rzJxWxy39lnf69df85tQ0MLXrsC83s5kjNuwiaEl3WcFuzK2iGiv6GRNEh8aDlGHbrm58TMVzSYYNz+mCua1TMhmk1Tburae8d49BsaWd3ExZQE/EhW6B00+hMIJ17RPYyvtBts3z+ujnJY/LBTxmwSa0Z/y0Nusxw5U5Tvdl+83QPFILFNWaoEmA2G1P/9hOZStw4iHlm8EQZhcjzS2J7kMBvKb8/YYLTZzTaK8z5KXT36JDorfXl2F2acez//4gGWhxWFvytQEFHu+nbmh+ado7q2YNEBrdXZ8INEUDjRZewmSf0pXNMawqy41rmeyE7WUHyE2adChIx7Pe0S+TrXnxXdgZckEjE0UkSUyVPFklz6MOEieoecDC2ckBUUDYE5M9Fulm3tKEU/stbqlEd3Ufnv0V3sHfyNpR95hcN2zcXXHcTRejDkfONHbr4XbT4CzBenBbSC4wFgdR5cj4SmSeAwqKiHTn9s7fr97AHrkOlb/2nbWjW3eWVdQgRrXTCcz7YWBN55h7T13Wy0KK/tS6er+Cn3FQ6V7gJcKPt9A1PIZy8f79L04gjOHWjPRqKlcpRYuw8Y/3McjWOMhsk3hU45MzI4Q7SU2UtrZw5dVpegv37/DXOsKyKQgU95SKU8PQitLMtq0AQq4zs65uraAhpkv68H4TdmaANaUTK8jxF5PzPPdFHOGLX5XvVW01qLfLZbTnK/hCbUpKbYhhInNRcWCKApGm4/pIfiNJwcv6X+W5Ml9F+ueSNH1SVQdLcdBSXXQ8CRMP8ScKn4IrAT3i8X5aHK/QaAxKWqQCf+WyDulqCmcHbaOJVEafHs/usj3Y1qVPjPFeQzvakrzz6GuPQFzhrbBGreckSorJiVtI1bnbBN7DzdOOl3vtW3P4P2beT4Sm9rwsxuT9ZWsoXYfwboM6q262hVFsYmxJQBonO8LLDJw2xKe+2gTaTyeuwNgypVBxvAmrEKCA5vPN3OEFMZLOi2XmJBqzd985h8FhNPLx/2Jmcz2TmDYSP//vHl+njs/J3SSL2NKApe8RDFjbl6m3XBVDOjElG56OSCw5MXliV/74gtp7oR09B+578LfJqdGPxcyd7a/CTlVJJxVxWqjfk07Xm7ZRBKAMcC5Wvk5uzqEK8GDqvMRGgjgzkUZYaeZDJv3b4MZr4EHH6nPep/VIeGhWLZxG98qBXNdaPopORwiicdA2udgv4QEsVymtpKkUFtaE+MjqA44kwdWRmJJO8Hq0uqOqL2Y0nJimiIkdo7x5XrwBOyKDOeIEDdkYFs0VlUiZZfXbYrzuszBYVXGvwE77Q71Bt0nmu5vjP2DBX4Z5V7FiUkUh6ZWz9t4Y+yBndiPlz3G5wwkl93Uye8+RBpC3TKANHBUtX7mqmvg+0m4qR6GhHPJkL2jeH25E124aoHiT2xTRDXSKiSIb23N8sK1tmJthv3LqRZFNozjw8lb8a1htBSxUhOitZEXAe4k+Ekc/zawhHtu6L3kH1SUlfiXtAFQ3MVrRHBvDRjDZCdAsesYlRg0sRo4ildADs8OwtRw7zuLCihDxnvvseM9nGKSDbJBIpdETsJ1tSnQVRJd5lLzXScCP99DFhrYpzwVpDoBwABeCNoJetfobg8PobCjCDFIbHM8VGyFIPGvyMiKPSxqJDyfaTVk+E4cxWU9z1SYyCLU78K7PZc32hQ9m3Uoqt0umHlP9q1G84XMbgboaFujKdGPXrjqa9wTDLhUcI+4Kk/8QT1e2eMb7KyfCL/EPAtJmBrIyyGJ9chW9HPtlO4TSm/0ZqUs3OxTQV4jMczaFWejJC8MVBfJ9qW5FaHxK1H2HLeEeCbbQHZhbDuXmJm3t5N+g8tkgiq1pyk7ndyv9lP01NowiL2XAvr9zgZOMbiEWAj6+4s4AWmAA0Yw9AbziCBkotE2Pr4eRVzTgd6FAOeV98AR0cbBrlE8nz/CDKEHbxjD9a4tRS66MtURa99AlAJ1F8HobVd/Q+Y/TQptmrZ7ssZQdSUmexsKagdRrgw98jdg6MNhQeQBUHM3pbc2hHTgydLXm1myw36nW1kBWxQ7UeYvmTSz8V5nQai8Xl0oC9lLtYngwB3942rpQZidda5ST5GN73JOuuW3/uvNT15fJAYW9T5Z9ymfpSucxl2vYDnB3coNfJtgk9ZZ7XrxpjalLnJF0IJw02tfqX/zR9ErY+0Rc412XP+9AO0lFXhZV2YIcF8ecxZVcDvBlZ/cKU+g6RJ0wwidxA4JRPDs0xfWZc2wqCI/9LOWGzhzQzwCnyMks+ncKlz6N/kYMLyZuJdyiuSA77VcIpnk903Z9S0nfIgJnFSEYl+2w5JIGprJHm5yIFOseqUdKqIdrmDTWTP6K3qKwrcXKzUNcl0B9qqe0zJUk+bsaEqyJ0k7cPunePlVRlqUu4/gAHLf9uBS3myFEr3AdxrUECj35g3KCVEWnmW2FfUI8vhOHR+i8oRpgoHwDzYyJ2yBZgJNYCia+WZ3WtmFEGsiDo+jtYHqsXZ8u9DzuWFDai0EuFnlyh1bKDbEc9rIeOYhIULRKlIBjUehXpYrWpUPo0KnPbEaVIy0Jr+gGfvHuWWX5ckDRLt/NaHB7pgZNoGCZD8pDijAEos5X1QA+Iy9PlQfz9AGIUTsL30b7Rsju8fV+uVWYUkE+G+/uEacpvlxJmi/LD/EmH0lz4WI8YI5lbDUaAVr4Vi79uOjJBnAEZATL3Rtl2UzlzRqwug16cjbv0gI62wlA1bRdvz/bzokdL8BLbMWSDCte54Wrd3tqXbboB2D5HsY9srM1pjduTMyBS5evLh2dxdrrVSbq12DUOQLiqlcChlFTx39BwnPeme5ZGznIpEhMIojalnPJC0eon2luB/8Mfx+w2hF7D0PCEIlQXzQJClcYhqkCEiZN6LVSZB6pYN91I2uLv7FE0yZcxL9lCaFNMS7ctythlj14dlBTG62OZGqjXDRXJZVy+TcrYcr9AhhSqQbZ794yaXQ/6MCx3zpuWcqEjI/6xuRhurr5c4CpjldjsE2XeLtADMjQa0MQq8hbKpkjNqOxWo2x5CNZSdNXxqb2SvkU/RVBUnuxHgsIjayZw2ujhcF2owECaBAqUQ8rYBg8JmV7XEZj07MUn79RcrNYj1xrxIhq6kklMQJVs5DeJvbEUSTuu5cXM6ufDBCa5VWuRQb6xtevKQD8e/0HI744Hfql9b7+fx42OKd21bv/+h/BRWeFYbYpB2O/7c0MNCM8s5MXW8yx6C6tvVvagwULFD1hFaikKn9BC+BMeDZkrAklsaySkbqct2Vq/Y/VU06Xi618EBSjxvK9UmLZVQinkOzhHE1kEeDfEfTU+RmZ306vFXOZg63cx2yu2StW5UGnjG3qMemxtcFnHywu3E8KqjcSdk4dwBFo9ZPuv1esVy3iC99s56DROthR6gWStBGd1OD1B8RyMLgaHQLgMQBv47DtWmGdBuz+hC2kXmCZ7DjyffepHZYe2oAYQHUyJLUXkQas9op19EM5SGt02hRGvI7dfQ6zmJR3aAYJXSdZGtv69No3ktUYwzI2+Bkab7kyAMvQEXPHE1LtVkUTYyrKwS4YhqTd4h4Yhj9slStvXTdYzDlcg24diq1dkGzVUmIMLHf+Uhhh7+0aoQeAnxzH0NGQDN7gcM1qbHSy9rTc7KHuoY5vVgvZgrVxk9VkwbuPFpJpDYlLI+f0H9yQ0GW92ZkE7ezeRrgfX8GfyLKKQNv0q9wF2WCkOF4mtB+UD2pRCScyOAiNfv36/jRq85kPA/OTLVg4MpSur/Nciu/c3HYbPzVeTZOOO2ypReyhvvM5+FxPiot5/V15t4n/lPqNIsingMTmoUZqp0BbJuRmJ6eFYlwijuNLmKECqy1ig8I1tUwsqN6fzUGJUFOU8G0Rh82kD8B1gNcReOQZqALF47s4vqTIzIV1LRx9Rv4dG52yZvekk73tRg47qUEmWVsGpfQOTYRnEQlqiGSu1stJ9tdsnweYWMZ4UTAbbGfQkidWwBh8CqxCUQ8gz8y1twgxU7GS4Lvy4bJ6mU0M/J/IvnNdwiPLsqtr6Hi6DjqMYwSDHO3vGOS8v/Dv+tMzezEBoN/kbglz0v5f7BCMIMK6bSuqqpPrKqNvivv2IiHv0hmLj0fnSlfbZWh3FzcKSNFj1VVuMIlw32BWAGGzuYJmS1XHFOzrsYZQHtGiA6uOl3MBoN2CfwPzcziNidsVoyensqBk7nrglFPSBEWK7ONXKoNrBXIdHhH0jAaXn7aNJArNi/SOTP0RSXXv3Wrrnd3YFf2gRuh9oI+hvQXqoKuOKdFuqqSuWWE2o80Xw8gyn7WaB30ycqepp1mjj6g1xtSPLhR0l2d21Qo9TMk++t/7lkKcFOjd/f+pcp1UBB2BozAFgTGhYDrXGfzvyMPm1T2v4oBWG2aYERdxG4RCfZoxN0rqjqvuEdbqTILDR+KPLBOqbosO6eRD9XR8uxMHOZGs7dgxZSl4lXsRDC8gDhNfI7zAl/dHlUBJtBoJbpnYQsNlNdDSxSboiJ0jglmXqzVFx436o2XacT4apTEQU/H1HKVF14FuhvEHCSJwaJ3vEj3Wt2gRI/PNoan5U/PDAm7S/2ZaeOM3rFz1saUjPdIM0H35A/NzgrSoZhutpSLMJr2U1t671XSv0a2PaNSC5KZ6gkM1JRR3AnmDh1fR3iGtHBVLjDRNduy3WPnamAe7H9Y2Mw1qT0eyd3hO/CSAvwH7rZMTGT3euOXKpaaRwOIqWywYa4WXh0egHhfOwGRsLPanxCIs1SasMr4vuT7dEAUUMEaY9+K92Fc24tTcKl0tMS756Ek/VnU0zjCFE+LttJ3ju9M7MSn7LVl4mvZKatePuk+pXGu7nWkd5RQz2up8zRFMRjTeDN+E4/hJCx28AEpgk+vsegWXyYEG7ZPUfPDvPI3ZB56v+LvkAI2Mhy9+4V1h7bdBEv5DOJndEj60mUJf3O4t0EyoYr/XmoPOIeQWSwKcBK/M9ipOe6ldfcjXm1xtczy+FeMC4IY84ksXEdWxu+kpoEGDtm1CDO+Itla/VFHRxUeFSLA3BtJZE3Gg2liS+7vMyw1JomaxWB57EQ/9W/aG7oE8z92g5l7Lk35tevIdZacDYnJwmnAqUg0baEpM3/KJWhLNqnGcYF0k3s5ClsUxjvMO/QMP8w/5A/9wz3Ml4oFi6QRSOj9Em8itJf5O/UPmJtWZ73AAOWOT+OJErUCjL9TQ2mZ+5cIEgZqJTNcBm5VoEKfjmvrHLVyAZSKKv+bD/Ti05hQscHKa2WtK99osbwmGQaq4ZNpvNZLXORCcNDNuIG1Faj7brW6sTAn6KchoI247zmk/xGV1Bm/bJfL9aDaI4KJRVuBUYdLAsdtwZnjmqTOjvSB1kepIhBKjbpoKDZpV654LyqLkEwJ6tpDYVOqroi10fSr3dd0OtVby9P/xwZXUSitFOtfS7aurc+IOFzEK9v+Dc9UKWb04zg+2XrOIkTUx1g4Z2cmjLYbEVr/UmFaaTFVkUiOgmE9uWfY+DS0NPh+wBG04OjyIkIjGl7LiKZaXvi4/0D554M7l0U0vYJ/98DYqwVGhDMraV8i+wLOlSZcXCHyTWt/dxhGeDlb/jq8wsqaJVaggAS0wTTXtwUWlt1RAbqR9wbDFVz6jf0MFo5k8iEGykngyiLnTiaRViAm2WLRv4kJvo6ElBR0iMXzk17B+cHcpMRqZgzeiU5Y8+h2DGouuYptAWmzR4E3iytzLSmYL1+O4IWQLY2JRlCCPzyRmNCv7amxFdlQQHM/bYAc/PUN68qRr/RFuQL8ani/sKoftt9uX6xjpWrLN9coBE+GbXAThJuoGH45UHC66T3mDNudg2lXuhOZbKFagpLwClcoBWaXOzMbsQsO91WGeL+oiNjddF3h9UW+OR4VXWW3quQZiLaglC1orGRaspS5bIRyozaRp0KCQ0EEdJobw1dv7aKwRTc3Ea6yg0r24ezTu4eJFJMvBUmg+rzoYzk30reR2xLw89dUfb37GzHVfeSSl2DL5PI1FE10gTgOUw8Qfv7MUw5WV1HbQWXd4AgJfcnNQj3uwDx0ASVZk3/fTpYbuB/s8RHHaAjbsFe1RNXrA1u7SnQw4QrkQ2yE8vXpiGHQKZEvjsus4uduAq1Ek9Y2RrrZMkY8VOUxQ4QkFttqb+u75uNXsuvdm3wGpF/NX2TYEDdz65/vsx6O6QN6VedFoTpLt4i1taxUR1XERd05oOxBg4iDEYqYRqF9/osVjz7QkFGZyn5gySN9371C7UUE1jk4DrINW/OIrc1NGiuwQrC6Mst4cb6/zKnJcVx7i5ABYRaBsIck+DDdv7gkRdz8HB5gfyfKIgABBRAcoGFhBQ+Fvf3ncOvBmzR6p9rGvClam+RJZB5tCjF21KI52K3pZGTgonm9DHi3i873U9FRHBTdphSk66HXE8zefmOrtvg+aehQ63cqMkOCcG9Ot0bHl6zuicjEzNhbf0QtZKzOex2TfvfW46e0xauQVRWwgKSMyUFgX8OBcEwUPEzTaE9mO+NBSyCKeACogMuAO3gdEjKv4VWDxDGxUWsEDFg/v7MiM2Ollzv+/TEHuKFhNiSpnjncLD+/Rl0nn31zVSkzVZikfVZdP4cS+lun6NV6ykyfFdroyEpltoZe8Ui3BlxwWY9RMCF9SDcaEPqKsUxKhrKTIxKYfrXfrklJTriWux+/HT6DppHeurFACieFIwYZ3tB0kRDa/9n/ZRvYosulAiL95ngCNj703XUtg5eI8ExPvC/FiHRmg8TwFOMfOyQErjZx1u0gFsr4bxRpjHOWlJFyoF2duNt1/Kr15kY9WkPbs4d3qRoBViELitg9Y08CYxF9wPdoLffpYLfIHJmrQmIXvXdxaZMF96MM2LrITKSaGSYf5/BNVedb2cGGORz5EWi6OwPnl2dvv1Sc054O5sMh4aXYKji9thMRcztK16Xf+MnkswhcnpdAQyOjSci5mgpcsMYdI12Ymy+WUesyPrcj8NM6Gp74myt3X7GKGM7+ZNnytvQAppBroha9SBHhQ7Z3psCkLCEqJ6feK/BZPhR6BZYMISRmQcvh29OvHFtu8Iyg67p17idmO4+E1ev6UMcYKvXt9ru+UluJpYqsV/LA1XV+DEYxdNKAAfhvhKU2f1PgmM7evScyjtscVeJlzSlNaHS7nRXxzU4B5SJnSPTdHRPzKPniNt8auOrXFm8bOx3uCfKOZjWvonFKUE4e9dBh6T3NiFzz8NMG2h3HynLd+D9BWwoJbVK+pX6i3a8yIvvPEw9AoyC+paf8nrgY+gs1juBeNfWQp5YoIxVu6x0tm/EahGmjYw3UBFEN5NJhUr7fxFRCBpRmclPqrv1d+63v6kBsweitL9Wvtu7/NtyJj4xnIjftIAkS6dQA5JewIK7vvKlicxGHDcNVhHCsEVqZ56fzdIUuw49ikpzgScg26sD3f95BpBgBTBr7Cdg++tgHd58TVL3Kevth7XbvkdfVeL1/Hq1Qwab0k2Y82gkNbqSGoBl9OL202uUPVnUXX2zrsZu4BPTPlhtKh2doR0YNXsZQKm8dWc5uiwmfEfL3PWzu7RCw+Icq0srXJPPEX4w222tqDC/fs2AiiElQNknbk6PStW+6ScJ3kVgRK6qIy2IlY46qHYWc0sQTYg8NRDNRAyUDtP/rwCL6vYXaOzNubPIr98c3jp50Vqindm4/J/cW2L/oQvkzfXCcuVotq1qpbpwCJKC2nzSrzSTDE4p2S5plpBK2M679SrSrBJ+dSMmuyUeNg8CZdMgUPgSgZKJhAt1Vlw+5ODpGunLZ9kgyoCvSabOiqs9gD8n7/UMpwU0BQMkTeqaA9gRfM+6SIkvh8MDeG54WjK5Xl5bg39H7qW0UQNK0tiMYII2ErsVl91SK/OPGQKOYfXgQqwEUy87YKr4Sm92vzVgA2qFMXDd/kqWrwVeWxHkFzSRd2Hn5B1tDj6eUfx+31EIVl7dBFrviEgANccCX6mUaqLdqVYIDXWi40MDMivVnJAwaJEJAeA8b4Ne9Rm+/zoIWMVs8GYY+VmCysMTYKvhTwaSfTkGW0Ez4dVnTZK0WKri7hev9H1zeenFwo2Lq7/CvjNUlQTMA31uHVTn7HoJKmZXjIC493Wrh7Gu6J5B0zCg6GvKyqB593l9poi8mPfQCqR1TBQlm6T4EiImrJv6znOPQvghI7mX6KBrW3hrFdgTpCSzBswO+NuVPJwDbOUO3C5pIKysosYBJxnTbzXGH9IlpyO6gigzPFia2/Dn3K0ZICPthLLp0cPGXI9Eno7aigemOYvxDrBXbj8rwztZ1IdKTyVe1NoKdbmlsijJXFlx1q8mDUZp8lkf1mwMVPl1nwVXEPgxGkyAzxH/7iuk4oKpFWU46ouuKKDWKPXlEwdkTUoYgA8ss/W9zBZCi6hFQwN3RP0wl72o4HRayfm9IIBPa0AFVqSWgs34061gFL6D4y8xYkjwPqRzTAd0+be2alaLiyt9zWDem26OjMhx/eo3O6vI05s4KEc9Izz55w9SP6UK14M3qY/SXSxClcJ7j4ZiV6dOjKZXKK4IKOWYss2rY6UEbUoZr0n9hA0fdr//GTRSSMuEjT51lbixtYQUbQ+bZ892ro8CQnD7FlKDR1yQEG6WwYGOaeDmMfz/X8McllclQjJH9VSALW7IAplt/AiMD67g1K/mDbhmWyVsxtx3W1Oa3/T49ts3QZAHzkAqaPLGUztJ0LKcYttm9J7QaB4gzhkrs0kN19BrvVb5LhgrHagEF9JOB2Qqz3iEWyqzpYLBFX6PdecbPJV8Ob83YgFcclfLsSmHSXTItSvwyEx7IVbCFKrIRyEWlF0/QvPPmZfxose+uV8y+uldhaix9MYskMWt2ARF3o9LXLwlZntRZaw52edc5gUjIcOF9wcT3u14t2cNHOQ8Yd7FZxYLpeCLtVJypGwqjIpKV7ZkK1rKNLzUHcaI5EYbtTTT5+eavojFDldWtRyh3aX0DHbTZNLyyulat7Yix8/5ouJRvP8gCKEIkLjzj5YMWDCrsSb5Vs/lK+x6ejp+u9DNXBHBHyfdPu2NB88diOT92SDXHz8C42OxIAOxmVAGpcPf2Yu4GxuQqs0BML2GA2e/1DuHupKVIJwvBchqss+gin+7kduSdjFD1FUhrpjF38vtzU66ZeBUOqPlFOF6ZhvlN0zhJ6Yon7RDkPfDCBJHLYeAwN0KYeDH2faFGHr88YU8S+jVzOtLD0DXJ9m1lAfKyJRycXRekiqeUrgKRzPLglEhh+O+RpDaEhQmC5RYX0NEhjVwHJ6QU0DdiF3H0P7tsCUQP5EwjryPknpj8blEzPnZXIKh5U8aaWSvw2hCJPU28cH60msklmKPD+s7o6ztxPW5jrfJbCYgvMgepN+PlgodK7XY1KOmDGnBq6T/9wzI+yku6Q6VtjOsEOEQkpFkWI47iDzs6K3LAaNSYldI2wKbvCk835Sso+p6gcCx1pnosjqVVswtRjraXB1Sc4kFb3hKllCVRRkCahW1ZmSry8PF3u7x8LDTnPnOOnjveXZaJwqE4cyxwOmxvx0YCRZBH6iuTM8ByjTEe34zXVovMhk4BcWn5aOGBtam3GyBdns5/E09JyaIY+UkyvlSIvGd1Wlq6MoIebycyD9zhBq+oRBZU99V5g3cggwls2Ocmm7bRHH5Gjo3Q7PKdh3aypMXkCSce1P3StaL3qIo8uYU7S0qedt+/6cNFqu5hYPm9BeFl7QlFTmC0TXef6mRXnhYqaB0pZnj+atXa8Y8sFK/SdeNUnl96CjPR6E0fglqvxBiasDdKB5VMu0k/iXAmAKuAqNvkWyGXvpiys7Pb3rNSfq4yQWl4yTOyGhAXbE+spyHWFkvbo4Cd4SrDJpU8lJxo7p2r0ZzN2FYVcPjOrBT3NSg2j92FhCNeYEMPCJ9NkPEJECU1VPiQlOfqquKBG7A9++70ccROH+KXsc8SFgyYUFCnT+PgpxeGaR49YcLwPW3tAJWQS0FpMS1TgLCkExgAJtb7msJkZjyxbpcgpMY5BEGb1lUn90Oqk+vQxuX9gD4G+oQ0QC9Nl01k7AGewinrJJkFqik9v14hGf/xSfK4lUUBrEW0RsyVOGOegCQcdOrUOGH87xtOR8X34WZcY6VgCCSFGPjy4e0muzWo7Ya7bLby5Prf0fXm3Lbdcc1T+XX5vlnO946EgWOqsbVwD/HkTKFAij/PIYnNNHYvMZaYo0FZ219RS1cB5yAxxnPkVKZ2HiZV4megfIznTXDx87M/SFcZsF/4kExCIl1VULIGxETEAo2HoJB9o0jN+gSdggG9GGWVFnKx07moLOAaouPqFMRCcO0OmYhd/mhqYhN2bgaxPiLcydA9fetO1LLG0ldhbNGRgPZIqjZ+HWxvad02J9dZtLRtEtfvIJ76fZTRirOcODiADmusm7s+2kmiYNxtcrCxFuZ9xtI/Sq+N3XnZysdGt19zNG8aGZ4VhWy3fmq91LL5QZklNyTu2DwpIO3X1TGcPib/IxSoXOZ78o6htIOgd1ouZ69hZFaiO9cHhJO/nVHFJQub/4LfuvV3Uq1bQ2mFh5VBMkF25qriWurvMlAthYl2X6BB40prYpL6qeaY52ertovvkhETC/W5w/3LQjVHwu0eTFNm7qz8JhwG9IdfWyZaSKzGr7jIZkZLfOJfWx5hlR055ICVxaBlyEkC2LW3R0JZSLANZhTvOxGzNiJLxXQ0/1jQLaVDV++qxCJDmcXyWc3GxXN4wME/P0fYXCUFnjlI1mg0GSpmkUaZHhZAFEV3VhAkWUpyApN3tEraGHC6ZuQqOtITdWGwK3HujcE9y+4l2msmG356jF31WUC8ZTwWyICuXNvXmXoRxbF4GwxXS0KPSiahyYvA5N36uaTUkNCrXUukp+k8XgNxTBTR4jJz0xATJbgfOZ8S4zP4hH4sPL7E4yArgKYya2gcVGGdz1fbeVWcRuBXX8PrVY77TUQGbkFlzhErlHYsJhqz90ZUB121/19947WoIGKs5ybzZhmuPQ3v4CnJaXOMuUmHHIkNEE3nnJx9s0Ja7/AHQojHpmTCZ0FrEo6hJZrKcBjWbSA1jpgFSBa/ysdiSeJQUyv6ugGkpKtIGJhpEflsDPzhzKArH0866B8Z7q3O+LT2P4NO+pm4iYGiRFpbed935LONcCPJmg9yWbb5031Jq8lTU9fUae646TUKBg5eB/1bxtBI07YumxqyoaP3FnoudezksaOYIPX994E0UA+wP5g7xCbPmbw2Z15/lmoFbg3uKM+9djqvD/YyjUl8/WFVJD4o8kKUT9adHB1BLLJSrvgnxzJm/JeF4rwqQrGrVsOexXij3rp7Kjv6Dt+G/18/FhW/DIRnUqXcL1/77+2wjAL50YrrScScfFMfPmWJC/6PpQdSTrBsG4w32AcWoy+n+23Vbjzrfy1UlnDjae+UAzo6WLzQGnK96qqdfL5bai6aPpz/mHGIghPCSPUDqFBCXZ1EEXGF8z6SKTox5O98QwAhujG1YB43jAIYckZVsLKPV2xOHVKjreA3yuPv8eAlyuF96AkUL5D1KWkl+G6ewjxuqaIEKnRsin0Gtr64dF2KGYPbZ0/pitWa3nuG82I//nsIBpcVQ5pIF6BGhC8aUH/TBQFGwJpnDqgJn/WioyHAZaXbCnHKjdvv4q7HfKpxGrbuYIvURdqeldsL4D19JOceBPaGv32aJlriNqmrdKjMohqvU3v1Gz8Y//TQutOr/eaJ/g/C1bmJwrrpveXUUawjmzsdtwxcchQnNpU8sJfI7kXdLEc1CpjdtLt0JwMwsuZZ43MbwEmntNY+gG6agYipY4rQ7irS3kHXG2Z1g1AODdORPJM1FLprFrEMmNlHjyMl/GxaVEkuuHyk4QT+bEiOZtbXhYjUC/3eLzvwgR7QJv6Y7xwEaTudaIVf9xAnb2t0OqA5y3Ub/Hna2hu7qdNSLRCBKLvVj9GoyxnUAyyBfdrPjLhRh4lMBVTGfx6e/miP/PKHiid0AZfqeZ3UYFIn5nsONtHE/Gh8+iWbThQq57CeVBZTPGigM/Y4/OGTpKdYqZVnHeSu2sJ0qoeVyGlmAdILjGGWIUpyweOZNiSGgWUmdp3wu3/w0NyAdGXI8bKW7gkRCiM5FnNSyoPiCccfGf+TPlYumg3MP1TTMV1sZkxzjiEv3KqJcZu505UUNUEyqU/gPCBMnxm5k/ZGnHFaK01s48h5mCrIuxu+jjwaGgglMMXBgrAY3W8BKH0/n609/axq9DKxeYhQev2yNSMiuIxKZ3HJp036rRalfgHqvKL+oi/UDebZoAaOzGysq6S46SESQHN2vRt1a4hUIAVZOcUx9DwHPO/lJOSGVNI3p6a9nhzIomJEj+U2bpP8Ry8k/zqV3AprcbEbPtbrn7QBj3b6+vVhWtoib5PM5rzu/wUZA/l7u3TuE0VPAJkk3PhADz3ONBz2Y8M3QqhH3J2ji6ktYkSBt9JMIeO9xDd3dZXaMcuQu81GkKYjDSJ3c30vDMcp5605rW9zuo5SpH+y8dl2LNmMMbXf2CCtiqK7GXWUxlRw1HhdavysbN4oq9Dj4ptZzj+x4fSkU8sc9lQ+1oXyB3pJ2RStB/ILEyvRq3921CLJ/Gw3GNdZZYsDz97j13qUCJjgehPdK9mDBgrcMsDDIL1IoUkTXtKfCcjZmXKNnWUoDXKXZvdGM5wrN3G0iJ1taEUnJ644PpUrrkcIGyBMInSyXQ70htISLr0xk5nKf6bVDetT9mNOk1gFElReXq5I3I9sVqVNkCijd7YWIkyKJ2glDhXtXEw1CoxzQGVe3Ob/CIh0nK1c5Vdn2xYfnJMCAnREWXyBXMeC5Vy22KNYA/KmMTmy4Ymh77NP/i+Z16otoH/cyMI4N2Kq2wI0rFpro8+NkAcIoD/0VZHk72tBio7uktMGxWVPi3yoYioTE5AxRmPeHr+9Od6z6OSeO4x/fofM5Y82srW8b8/vn+Dd5JE0GeOOdymuzAp+Xb03sP+b2W3n/UuCGn10it+xQuwwReXn7lh/mo+coBHh8FF+MbDobQNnjssKc4tVv6wSB3p0qjbzG/xzBjuuMuzklMqvwsgAmtdBlCvCQ4eby5bdehES5ls//HGfuH8rX8Wy87+tMtYpNsWEp5uzzH7nnnC4JFHTfDM0znkcY3pb5zJ99vurLjqm9VVPWcWqgbxWF/Mu0MOuHkgKJ8GYbzTtsuzcOVord/JWlyikaAeEdB95gzehviQGUZOa6Xc5thjhXMWZZjT5aRpR9lGDnGMCzWJw+ZqutntnF69krKiFDWy09YpOScNCqLeW+CaZ+tPOsseg7GLKgkVble75r32qeXNfK9sR/0pHdKN0P8IrTdh5BWqop+4Oc9YHVEbg7O0TqjeL17xg35Vpliers0eolxmMiLUSl8ihfX0R22WWqgwa9VK0coHFVpBes1yqrlMKdwIv31fjxUvNO9Wh8eJd7zQYx5s1l6cuUYeI2yZU3UJEzGGCNTSk225GOdztQ3+tjf92yP7Lnmm+XA9gyRB3bls6xEHarU2oCDZJJUhDEYZyOviOnwZ7tHC/LgaYqV/D0MqgYlvucAy53U5pmzUz38t70glkD8jS3rYtIE5uxvXy1deEa0L6Vs8sMHCYdOs0MJxWPihBXjfGPaW2Q5TVymvYeqmoVPZtI5NaYSrS+jTKfDTXsPPiiPY5uGPumXjPSGgivXS9prkaxG3hq7P9x4eH9tT/lie+2fX5GT2B6EUXjPHk0U1QGMiWxLNJYJ/mAcDaIFCMXz97k1BSMGJk5C9kwxU2r+lBOF7q3efQlbpNKCipBsuF7Xyk4ro9zv3rHTk06uOPMqRwmFxpwdJR8ya1lGxznfGcd46v38RhED5nRyef1cbwCN7sA31xWQDaeCTTtkFom9LgHHxX5jLoKLqEUEh/xRBM9sZWevnDTvpSwkk89fVVfj3D9gDk6bq+xgWBfFOUmv+hrt+F8BS2wKJoDk+DURD4i4YjQqcdxPo/PTcvwhuhdLdhyrzb3QnVALxXiNQMBXYD1MMQKcZzJYTVsQwCC4PxWMz0L6u/2rCsoSpUbbkZ/J0lB/bKpJJkIZshlomZQ12i8FulSILqxU35G8GRpqeGj2MskNSUfcJl1m6G0fG3k4dt2QMjqFjR0A2JSYlWDblTPlP/iTtTnWgYCw58v50yskTQZgjVl88E3YI8D8uhc+hKQhOg37eVJDNx23hxrd5JJaCB3iQW6A3VmMjSlq8/G2YmrJVgU6Jwbwy+js3EPDAVbiQP57mnTUlqvkcF9eDuGI5Q2kp4qs1oT8/IWNIszUDM6CNTSyxjFCZouDESnN8abRcGbC/aInUsj63NJpGrQ5i3XXc/XTB7jizcgt/gDIjoJKrMbu3goRw9wjMBYm91xsB/5XzyNtFW7yjlYLDBefx1wp3rmamTZJpKmav6U3vMwbkMPmesveXspzN8MTFzv4qt4x8OLlF7StstL1MeLg9vh/Pqlm0OR4zgsOYpemBtXn+EpypIFBMWC24zjNrsZwKo4UxJ4qi+tFHd1p/dMWSNm4gnmRYVlndOAM2VFzTi/4QuWoP3Zo7Xb9+WcFJNrPGLKin8a+6THMwSwrXXZVukn+Pb3ynEj1FGPRZ4J8I+2PwbrELeAzKBMZUYI90TsN0I1VS/awa1HTwqg9hJscabdoKre4hbovqcWLZs0tfg+KbqPwVVDBu3XjSbCRW6F/E8ZPU1bxCF0K4zuq6SnJTHPDlv6dnbqPIbpkl7iVn4gDqOpJ31OnQfYXNVBIiHEZQrZrFpXvF+x09FsmSQcvWW+gt8kw+57ajjZ88pZeomdS4dG3taoLfitluQiB/6KzRpZYnmXYlA8UVkOn7cL1F+td5gSy9zCVlGlSmMIWMz+tXiEzdNjbPAvvUsDvXOoXUmS2ks0o/EzSRMf0twA2gbkEHkAaBBJZNCtGUwJP1VodJLV1eQ1z86CnjvW0GtIdw7QSnL64sWndvrv+qv6dANIuuahKBMmwsRxOKcuwHUBrhDo0BO0ih5wP1VkA5EJvPZckZd42Tuok3ZMfY7XalVvOqlz6Pwf3RAaKjC3RZZ10C7gqRJefUm+hjITxoRxLW4J75j+5iNarn/hxmfKyiTOliZZEExIrKH4foN+hAHzVHMhgFFyHBK/tB15Uk0zstNKitjo7IPf8egZn9eEAYjFhJsZxel7IJYxbYab/L8rqImFoROrM8mSBZWfWU4qia9qt5YnRvO0FaOUXaTsvDAdRR3hXnO2nLPCcLrKDdfcQIt+t6+OLGZbL+4GLQwaJWhiWip8WEYdMsLT4gPGzvveL5r6Ez5mf6/fS+OvYHaf+EKjierdwHOTZtkRiMT2vB30NfE51wLwYiw4gJi7Ic3jxOPPUjUI/ie+YA8dMyKOTvttXMQsKFTitvNXg+uGZXuzIZDH0ZI6etPwc8AsecKCrfUg2iKAF6ZitoPNd4PbpdAenX9Tqac8vqRuAsoQ4OX0ir2wsXCNzD1cPO+fwlHvAAkQtws7ImwFadEeCA85Ps0rTPzoCljM/PfEpT+2Bu1qeVcO6u4zqZegYXu4TfEab0SDgk7JpjxtV4bCZrtQt0Dls4CZAjH1Lm8BotnCbOBHzi3VHJwaMkq8Zk8R+SzAGyhrgbuQS4ri4xIL6gXBvD6Ki/bRO8N+oj/FnnXb1H9hEtZobXLj4w6b5Lm9A9MPJ63gD+fcm51aHX0fgk0BEmI5dyazPvD7poLEm2dT6IXiulSFe8hdkarWRBuU5xWK7XME9VFDGXedY2NO8DO+4ehqxUTiLvcymnPbDKRPsHrIp0VWKc8FerN606q+ecuSCq/1JHi90nqWfJ3flVl5ZVAoqi6Db0Ja/rjmPRJb0ubLpDF4NZi99GrP6OJ/cE2v939J6hU/F4fHsmiRtnVz7AIzk5RP0JW/rlt0cUXJzgZ6zv2mTpZC/8e/PRPq/hh0JpuGap5x8aECG5bC3YRy3aP24TnCIe95S/0z9VPmLJxFixXV6rKIp7lH2nwazfgy/fPpeAy+xTM1AxKo2ghFe1Iauwg7Lq4LDar/6qxK5DOZjvI1WpdHeVKUzb7S6gS8+EgINbzwW5rrapIDuoFJjBk4/t19snQXqUHvUJ+GQ+wEft/i9QXCrJ0h5GX0FgLqwiiJBqD7RUd9Xjs9sMDaogezLDqRlt8/ApDdrnx0aQuDDz+JN9UyD7gpV9ft+PfRi4HqO/djel/pP6/MyhwR6Mf0zz+J7w68h/Vl+ImU9BLVP1zM/BIf83eByir4nerDcnEdfeL9kstZ8PmsrcqrND+AM2goNMxtl1+3qPRm/WFpoVa57Z9g82nOSlxt0wNgZUFVjwREdXRsF/WY0aksbjK44XrPrcwBfTyn9Pc4sKyMoqiPKOS5ayPtXssSPeYN4Qkg704NzpibXxkH067gUGtGC/F2jBN8UyeAva8ecwAC+7mMDswqkAo3FRAzSUj/rfdCj2UJ8SI5VPemULeSl7SFYTKI0sZ1JMP/prYha5b7BjP9mEdaR/KClMh+3THEONcV/IEqzynWTxvaBzKxyp/aR/CPml10qNDaZQE7amCO6Mcq6LBwT5Df5hXsVBfDZ1UibUNxVR5Z1rKdb4tJHMVqcW/3f3Kj7bPyeoewvWbf2yOYUoxDBs8wlDfHLyVe6RE6Kd2JupBxUqUlV0BJROdEv/DvLx9ivBUufAS9jzFSODHCjsYBZMxTS0EmxOILWf15hpQQpp9NVliZKkY3UEnGXkNZXD//Qtx4Pr9zUdaTVISHcXoS0/Td/pMdemSorapughfJbtyuwjaQZ1xlqn1L3u3RXpKS7v6JpN6wmJzzJUdCUn3SzSakxPqwkpzjNTNL4mLrc8Wl+L3ZrVkz9lqMmze37WpLmlDKeuQgLJ3PjvDvogRUC2xUXkqwj4YXItncb+TDGjOLzyePxmaE8/JSF/9+552RsFPtX4T/BG03CRBV9y7Fne/px6L1y3XZdXWQJAGdg8FBJ5JwnLs5FIQpXVmbd08JDi9B/QBdJ3pY+F8GXWf/d6X+p75+6Rsn7dHfn0U8Z8WnNh4Q82zQCLSg1AP6GMK4Mfplv2pJvTv5rpMHezH929wzAj84oc0Rb9ekniqFNj8sbCzKPvPVxu/qnthdTuVshF4EmaUoAn0gtBYXr/OUA8c8Xa0o3OjFTRTwHR4iOz1ypoMLDDC1ebpuji52TCKioRDtiWYCPiiGILDcNxKsa/bQCP+MEuGDQ1ZoDs4y/oKyorjznjWhQK9wpdFC4ciiRcUlLkmU80PI61Heqnjf/7EKrG6oGs/wsG7dL7qKGEdMgO5zK2AkkqVFfDjRDmCgb66FELY50tsa+sTIOe8Ny7jWt7b0cymjdinlhsy+oP5Qtr1lHkhKnHOca2GurXRBCBVQrsMZ2tmlGy7YwWriWvQHdLhQ65L2H2APMx7Y5Oqv5UvhXU34MOcztvhC0OLZTxFp9VH8hqI1pxCpQ6z4vtFnMZnKTz/xzl+bhn2HXnW+QB2JfAwrVjqy9JVQGMM86tN5n5DJjlmMxlkOcjeLrh+oHbhRbQ3iFScdqRx3zKXHaeVdUovEbh2qLkjXDcq9KqkLWlp668bgo+rZy+qgOfmPnOxfZFWIc1z7MaizxSOLrv9HF3nyXGwW70gzTnaiB046Ltn3nvQ7/cJDLfGYJX+oQEZ7Z+wl7qtpd16JshTNNQdX5Dt9aosxcxol7FJR5htfLb0De/TV00xMIdRHPz0GOUqmfK5ra3g5V9+3PTDzjenYvtvL/RpGdbLqrHN1xCPEK8DJTREsABf4WGyIbE+glQWgjtTLCLPGS7IWMqYCyGNjMav1waCiRAPDgByrWORkutYOJ9X32nEo/qfyh6JUb21yt/geDApqXjkuGuj8XiBfWbz9HxRY67CeqCoi39ZbPj+1v2y/ZBE30YLd1Kyi54PZIkq3GAW6k5BTdePiCayz5Ix21xAa48KQ3QKHOfgVxRq1ZY7afWEF/A0jJZRVU4ug03QflrMmrg38T0c1/lI9k2JYp/eBG4nVRaHFEyfMr5JrfyEgPYq5YAfBky7Txn213UyyPHqoQZ/CHsEUsJkY5k0UniSz9PC9pboJsCjOBXAiRJB5kwijsoB2SaNkwGJoT2ghJzBfAb0mTwBNps7vdq+dPiiuiTwherSOjO3e1BUCGTrVKtIzChFcEsCVufktd4Oho9pnZKiFKNiuz8fKCs8L2VsX+BroxbgoooeDhOVVdMUA6z1ywCb5ZVY1eqQB/cKREWAXEvBS0r6bRdiJ/avudP98SlfJpogARDOAQvYQYZO7tUA/FAVh593W3TZ7HzyAd0uqstiuJVr/MVA2dcRMtKOLOepfkqXCbqon4ywT2ngbXbGwksq2Lv9cor5ZHhqIO4bRovd4OTOXWylgrS1O9CwLHtUQJFPPt1vnxgdiHgXMeGDZfe6Lryl3tsSdaSVZwFJMR8ZqQ4EiNOd6jg76zOnkQoEUEipMHjKcoBoLxSCIlPX8Bkl4yUw1CxEYmCqcJB0AaSaQZAkLV3IfpAPe3lbrNainCL8cGfft2qaP+/Kle5lPu5Pmgpqxf+kT7+8T/8AYQhGZK5g7OgyEYThE2VMs+8D33ZtG9g7McCMBaessV7cVv5fa3P40dWtDFWeRRABYC8qfgtaBwa/7syJKYKmOS1IAMsr5FukYIvb//bOwq3/rsLv4Oy5J3nxPMT/cBPqFon4SnqBSRtAZybSVVldjcTBoXYK4SdtfjH1C/VDg/NAqHEJ8d/XsMwBIOn4Nd6do2fZ57Lu7CXTTmbRLgUezXKxI3YnwD0kMRRscEYwLeffHg1oLCfAChYfkkaTBqo3P1x8sAtu8GERSGtQcqLJxyRGnHkS2sOlRX+7nViY5U1lYs9gM8ojNiqhAXCMgeev8bmKfiBqh9WP4afIYReLk/G+QmXtZBwR5pI4xAq7bAHBICbe4XSCEUOY6N/jwLxEyYh4Nux39y9rtv+1NZT2s5LakFXWuKScWwiyq8D1NyvOlexR7JBXm1va8kl3cwDlYLPBbme6jlA7HhoK4xGXkJC1LP9SHKKmyUmqpXkIUk1PLkA2ETjH54nrCQW+fPyxk2qvp9FlV+SBbDjCliXZA60rmq0rE62GFCYUb7B8J8X+6GZ9vgIx0qQUdopmToZPhUT2WIXDAJelVBA/MzCiq7aTTVreE2Fu3zRqExbodmaYYfvuax/mplCnLyr7pvqqySq65CxW6f9uPFBInN6y5ruKRBhGQMiewIXch/RUCssePnjgIY1JfBEap8H3kYPvZA5E6zm7SFo5qYqWK0XnfKvBUgNYWnVZyI4cufc+/doxjoPtlFAStEnvtXWOtnKb3IFzR7f5EjAYxhuO7JABA5YkAgq0uWgvBh3DzWkmBlBI+1DuN+SMC+uqlVzWzPRoGqmN5raM+Gn7zLwX+yihtPjKuhHRbbkX35u2KLQ8Tx91+gPqdq6Dd15OqTDhfngyNLVSc1mxbQm5bODVhBFzQQ0846tSLK2rV3+34yTlA8ROjd/RzMtd6VmDRr5MfmIO+CY5AyMOIwQLZbmbK4ZpVUUSzu2gEsp8jKSh1lHpX2yEIQPrOJHVunK+Np1qEh4nbPpiCGaXyD1SXhbH0oSft6tenN+h+Ij6k0TZhGpwgL1tn4hHSkbtQ23Q7UXJ9t/gQdNqe3qv9VP5ZfneWeZH653B3lew9HzI9dA9Gyq6PzeN0++X8/efMts43v1HyQjMagwtH28sZsU+IjJ6TtIWg8NLcbYx6kmb9Uy7Tyx9WP6a8+HVPniJJaDlCQqF5OKWc4//xxA03OEZwCMtrlbkaTg4xdoTAZH0FzsBcQNgjOo5nUW6kVeiwFTsEuB1HDy/ZzjgC5JB4t1UMjq3Lt3cZVYjfW5N4eMJbGEckCUQmz3+S6fAX9bqp3rB7yGCn8wUgwZ6womjqg3amSx6V2ILt9/AqbJ5jMRNxoB34HiHhgFfxJQoZC56jb0XSEdAv4vz6OBWvO63Z7YEzy7b8YHyksM1cDvIPPXvWt9qHSg9L0dAOxxN65eXiddY20N4a/wl78zPaHm3ZaTey4Wfe8N599qg4NgLm0QtFYNXkLTlNQzUFM8O4F4kTFy1cB7MH5+KeKjEqlRCLGAqjEq2nG8uYAiJNR0Qh6ILs5lho6H/vlYHOMHiq28E+2N/ink3o+aocrp+Dw9eAMZ8vbWJqyKIgwwf1GiPEk/exE8S+UJhcIaLps5+ZeyVVLwGf5F+yskkeJK+APdQeNbUFZMbLKEZ2HvRuZ1YqYCYlh6fStAtNBSpksOSBChkdA6B5hQA2yAI08WtELU6uFZY9sIgbad06hv0Dy/m4qYMaNSAPD/4gT9vyiJoD8MZTPOgnF3cTwwt5MgezIi/iTgbIzAhkPsrgxkkUtOQIVdiUSOSoKPr49Oz0AX0W23VJdtxQdcA2VeY1LP/qxlFnMoSMs3C+wIXe0JvdCwijwvs1RPLtjUKrQvCg+YH0LR4BgaWzMG3w+ctFofyRnzYhUIjmeis2jpsKVR3pMnmC7MnUwKc4g5iicd9UcLl6KMKjeY3yp4OhSevB57MDVh7Xj5Dy6YBwxJoun+xxdiP8Ssragla6WbapYFTyWFpcKCQYSZdyPuqnetMJLwUGb5pnyLoK/G28TvhPcu7o17UZsMJFssQP65rTKH+NUUZ43drHX/+K5Ojw3aNmTEfrwpr2qzLRe72XI+ezlbdY9AuZ29nCt/Lf1Bu3U2jXTJ2FRk8VpU02lTHj4uJOmp+GcApYB2jJtEpS+6IfLrTUIofdWNPi6bO9I8vKtkJHhaOGwenrRGxXB7JXCBNt+Fq6cHSUAtkiYAs2jGckQtAgmIyeOl8UoyL5kE0tbdCyAJkiAJ/fSYEnzs+4BC+Ts7ka5KB3YE8LzKPcKsYFYGmEOPlpEsuHzsYyzTt2ZPVXSkn6ce5RNeZZv0Rf6jV2QJotyae0JOEjV9vTaO6l5NsC71ckJysBdwF2RXHmEN2TqgUiYOXBMobjdd5Cm225hVcW+tYJ/UBtPE3xclMG468rOVICJwf2Uy6SHk9PquW2ykknf4GuUp4PM3vgGR4Eo/YitEWrDEND5BgukCENgEAQqIN911HILVl6sTPAAueKiqCbv/tTKtBjoxQCoqv7z8uFFqJci93AoJb/5EwkVCENY1625WPla15G8YMJkDNvjiNzdI2wB0MyqmgekW33/3oLoz9ZA1GDTCB1MqMDYhM3DWmMZ5mAaFQEMDHsDnJ4NgzJcKsDyDp54yRRxDlHaz6hjLmuhxxDJLsjfvABvyBhg0Y4GYsUrC2HI1PwpQSNnNHkcvy/PdRiX8garcwVEvJKBfKC8SAHLFUJxvleqJUK34mDEqXPR+nKNm8nUxJuT+YPBz56OByhD0BXXueeDEgXL07aW8dyjCHw137dKxPkjaplYw1sgnvmMJbglXJOhdWwncKItpmuv0kM+PP6WR6MSmlfZ82oo5KcBtAns0hRSgFTRvigR0L4pQm908xPs8G41JFOMUrAzKe/KP+BCJnEmhkGEXCkdWogZs1B+IoG0Nu1X3vBIPj14vWe4KpsIfSAbYupnDkF3sBmtfLiKYNM3skNWbuHjxXORFzfmidy+8cRyqmk706fz81BteOO/B1hrDYcI4/HD7YdyKQmhNzFgNinOM+v6jygbjNi5kHtr1i3Bb0LtWtd3xXPNj4/kl6hmfdCYU10edqWpBwi5ptP2qGa8ZEuJ24SKm2c/WDAvFdhG9bEEY/AxvfWWqWR7omgtj9Rj9Qauc+E5qYwYoU+8ZQxUJFVCROpmHVB4omHP1O3t0DEmXDhuMc8NW+8ndzObFiygK/rbrlpqr6bDQNsGra1i93voJL2/2nRmWMpjcJLh9b/XnPoaJNWdM8uyuEk0r8ZJ2X4mu2KV0zX3lKfvI4vgEIDMnYVjPKizmFiBaQ2i2SRXa1EHlZJTRgUiRQkpy1cZSOD6SBift+NyKU9BqI1GoW0IMhqQnJJjhEvBiZXeZWip4ip0oXGKCUkzT0A1Ugc/rDfQWcDKywqChctLJCpwo2qOwlJimi0BhniYNhuKviP87kp7me0X5e2CSsyua7GXW0bj9KSKcILFrK1Eqla5UoDCfJB0mzr4tlN8pkimWzkeUDVErAGggkCWTWqvKGsV7mOn1R32pNXXv1jcUh/tsKxYeNzIKiO6/97y0318ZMMA8uOPYGUobJRSNnU7SZn4g5xEhqnfAMC9CHuOTZKDzRpL5SApzfIEolcKQyddiqmQDJql+LlT7phQZSipegopxFYSlgV0RFVVxokzYBdwxw9RY1izdgVkSASYnQhnr5zDRXbrIHBwbmNskiSE2rI0zJFj1n3BhoVg2G+7QZzqFsjTVLCKJ2J5fYZX2Lhlzj2a3wKf6OjFrEGDgs+UxPjYDjddG5uK4iZRA7GS6NAqFKUtDWtZTwVweikqL2obHuWnSVWFlAYxEYPfiNGDos47R7FRVK18peVUV7lCtaD3kQtKaFMPq3Fi1Qcf5JB33LUamdKO6E+0UqU8pbvhMS3ym4C+gFoQpI0oUKStTxQZ47CtYli6e/oOV86pAE1VYLLGodBQRQbs0JHCLxzqZ5ZmzN+k/twDgL0gZiWB0ZJsIlIgy6BoHlgV5ffHqq0bjcSUFvJddQivHNNEn7or9h1EM1H8VC9NjPLTrHZ+6d4amiZaqSvWuZSrEKSqHg3NmwNtHp5+uM/aeOtZR7LWlVwfHRzc1mzVCUSBua3RyczXsMDG+Ot/NbaT/Vo7YfLYyVpVspvM6yTQcLXFsK3kZg8HVowhFIaRt//J/x4mjExQtXr2TIVoVtiSejdDmx1Vl+pDySMDIL2teK045iYyjgC3bjKazAQLzcyaIsD/l6wxvBLS9G0tgMBwBYmZ5ryHNwRenJZHGIBTZ8ivNsraYP28+XRPndOUivB3oUvsgbf3vaeguwvrkA30cT3msb5KRxm0jM3GMKHKiljHpwgQk5u80YJKqZ0LcRiibGbXTUFivUADpTpDJJa4KXD2w/eThwYlNIXGSuRf5poFm5eiKK8GEPonyRosOo0rQPg5P6TyBR1AHwgokQYRXQxXrn2qjc9I6ogkL9xJ1bjtooOGHCGXBTy5T/4s+80jMENoquHxosC2LzbUkk/KzNVYqCqDp+PMv/V019DiUDGm4xvY3papRPxXl2xhRiFAIubpfTrUKmnhl7ugwM5qk/HH4dVQBTpf5Xgr2M5uzn4tP6yL86vgTysZ98o3vQbWPgDMt6hZ4qUWQn+BWobZkmp1lb78iQ7Ilw8gANv+LtHm1qkBJBucqm4gj6XoEqSgGs/R0M5tiUFn4H36rgE42xboyJZ5KMT+8rA0j5Dod5GKUCcGpIIM5ICZW7bIxeMPJeBzRPbZAkDIyGMlIVGExx6Cyno/8bgqdFBPjyhB5SyU8WLANIea4bKR8pHl0xVduozjolLozVBKg5jIvnPLhVPFAaPcgxW1j9/x8GvKr/FCLJA4d6kSumFmutMQkItyVoJaXq4r1T7HQuc1kHKJHGBCBM2iRSEzrtkTJgv/wJ73o5Gilx6dwEgTrwB8QGD7PmkooQ9RN5aIENImldTVrv9tFyUN2TkHb6V0Dxc7er15dHB2mnZHXXqsjOGgTvdMohsRz+tivlnXvIkYDFfLwLh3XRbutKc7hzMQVZ8KCYUyjbMoauG3dKPHKIO45U4ULcIXbRQtAI/MFNcSn7CZukTD82W+nxrtps4rZf5S+927rddR1KF6NeKJ0wXQvpbCstIQ1QxetJk3aSjb/MFAb805x6lC3/Xx9ZLb94lbeyP8XHnPP0EbePvtJEgnhKQYg3JqT2KG4pWQijjgyVjUx6JKKAkxClY9cJP93L1fEeznWYi53/fu6mM02W/BZyCpkW1Zdvw5YTu2W/W9M5wMN4uWEWuXXJWoS6U+aui2g+pyIiLPASihUnx6/RpMl5KnZi3gVLBhE9Ed2hKaJp7V1hfkTygwgdbsxLX1nVpgrv5vTsjhB60nOEW+Amg9ggHIwejok/sqCQe/eNb8329embf0ih/1G8P5V3CHlfx+DxGi6aQj4ennDDnMh5P9uQWaCmV5KoZmuBP4CJzKu3VEYmLT+2VHeycnxqOI7gT7y35ULwjopWhzRo40JItyaMbHqUVipsWv5saPBMyLJWajCZI45SL4DQwnRKksm04eRscPLgggJ060n+5G6UCd4AiU5bz6NCj7tQuHlk9esnW6e6t5km5Z3YuF2t2UqTZ0X0vp369utU6c2f9lMxycs82NNU/ph+6u/TuuZXQ+pfAw1O5NcxwvCdSdZKZa5LIu2I0MwJMfvgjG15PxFaKECj5tDvgzMtZrJBGTgxHQliLdo082CwU/8P3QNMh5j9YnsZTx+L+blcuvs+HykHnGOuoza5K27i/p6G2ElOLupBtVUX3gJV+EHeV8Sr/9SoV8RC6YvZbecgHeR0d+5liBivp/tjShJByPihE06XT79IuoCvitT2IoaGQ1FYSWi3aFpEwkZi1KbVCvcER0FcEm09DNJ8gIq0ejen49wUVSRSEsKy9dZ1J7eeDkVifT1opYEfcjKCaCD37/jA7+L8y3nLkL2LiFMPdz4L17HTDVkVdJr4IGns4PiLhpjvZ9r+g384q2nSBQLNbFrjb9jgf8KRIF36UIQ/oymVcQ6rlfp/J2R0U0oU+4kNrtGnWEXz9xhYiUHLZLUdcPJhSWY1pGaVlUUHV5eLymJDvcybsfgZSxoAXuo0UDXEA/i6tkPve7ttPqhX7O+1/lsxvn9a/CjU1/xlUnkC6ibzq9R9hVxD/fN6XgLRciDvwIkoQDQYI3ivsCWwrYd/MSdWYv7jBNdO1bv7twq5PMcChht7+TZDV93HsulQieGqPurLoZiMiq6kxPsMAc1uBzUVjwgf6GX2bjWVioK2P2mRvkwaRYraAv1GGrMnuhDcNDtTzHSjTglBOHCT1Enwv7eXwy6F2kIDQeO/Be+T4fvusBNcIagmYErwOptSVlHyXE04Cx/Ha1J14gSbmqo+vHksppH5HDf4cOWb/B7lb0NqR9Twr2Hj1i9sdzD9RLzjYCxAp6ewGhObBxOuKspUIWLNCRlvUUGyhCRL0Ypb6rxcBvLO6QFQSRTOp/H8xEI7GxBBqTiVzVINFVOgY/kX3vcmOvFu3hVsu0v9aG+pXEA/H8HyU6By6OZox9h+HlbW1f4K9womi4w5woeN7C2YMeis5WkbR8GMi0r1eephkU28YIY2/pi6f9DYGtNRo3qVoinSbQ189x/vo6J4pa3w3wTZb9vbLb0cunBQW2oXoxwXleApQiew1gU/8V0uTiHQEQv6rGkmrQrSOe9RZR+xuY5j5VdYk+FDWe23MUdCiEupDeW7JHvxb68/TNd25TU4qjfcXHftjx7yBT07sJLHUZPYF/IgYTYSagy/SXVC5/MWf6muEnk3HNC6Jel87O4t6QO1RO1lW6kb+T8mXRZs9TzLCNbaOWrNmO6WyyTi/oIHKz6x5iBYQAMK6GIiNYcmzD0KZ2tqlu7e5KKVcNUvlC782iqm4viLjJT7n8MDPHWs9wQ50ovkTBgLB6YvVmrgLJjH4hhMoE5TDos9jTeOafMqg5DYskWgic8j84o7gSBPOkwJXvtbYNFRUSMET2IrmlSWfD/HzDSi6vEz4M4CHHW9/UU1SDf5uzTaz5QJTWbvFrsK/P87YxBoxqQg6HRgBz0Y3QBpq+fDtB9GozE2Yp13H9L/y0yW0W5BecFvpUWDls+IrOsLUclghyVgBs0UTzAc1jDA3kl9ZiqLKLYzDDsy9Q3+/zU4/3nZUFe9TOucEl8ge9LjqhXUkjjXD67JMKxAMgNMh2EYuxT3NqBr6FBQra8lALHejcgHOlbgOoBOjIWIBPOrdHA0soinoQMLUafX1KL8Rvhetb+oVsCiTrlQzwmkGe1QZ40OJXJEIkWGlaJdj49h+FrPueuUuQAnnjum20NBGMvXR9Zj3YbS3WsOW1FDkOW4g6+3pGgt0D6ByPl/UqrHetL41R2c7In3AuwW9csIMnFOmDD436og2PkKhp63j+B6kIWzNMJ1uJs/iF8tdVe7YIUPqMAhbm8BRj025dYpTc18nYVzFpaGt2t1ZnYwcOqWti+V7ooKvNYXr3W+eENmICO39AEKi96wZsBujmtWZus/+rMKEOfIizvuXO7d/gc7jdhZmL5/T5IR9A6yJi2yQBzPdmTz+VZOHyODd7/brHqPZA9AiPCGdj4G0iAgAHHQTvq0FCShU2dIV88RPQYvNaoRSJNFx1rdGrkScpNpzyuBS7SQtWxQd6UeFZyp5D4zsp/+AARPO32ONS1+wNvglS5XjGIGldKWRB892fdGjyeAtRHmIg2pXzYaoMU0vHrI+oD0O8JBUQsqk1lOBahOFs5F4WJA6++d8beuGZ/R+krETHY0x4e3UMiUQhXjaI2X/ly4EhzOa1iNDQQRosSbMEKm9SC6bUNEcvQvePw6TZcc/muMa2CGMVKnMo5JkzMJ5eSMf1vZ/RKjAwlqSCe916jVYQYvfMtTs8zBJvJS6sxgAEnwRwIMfB+yO5e6gJ67Seo5PLlmgWIPtpf4DTprznxviKXnVgCGX8AZX43okLIoo/HkVCBNCdMKJl/4sbXk2ulg4+R41zeFVJEczb0A9tQCqABs8QIGAHyzd8P0eDC9UxgNqcASCd5sYiv5CzWrO4hFiV0cjgOzOT7UkRgXZt6FIkrROusz0wUNiQqlRB/gEIKRDtJi4T1PpxcnH8K2kXTyWbbMx1fxMDkXHszhdsUE2IdSCQrf7FNBcu73Y/YYqofpATxDtDR+D6ERTyRUQpxBAHfr8EvPYVVZr8QqJuyaokdVJNqnATxILmlc70Pyl9kG7bDsiherZaWl7fI2oe7pfDdmc4f8tCn1E4RURwrJ1Nv10gLH5hldwzTjpDHK1D+L0eU7v1BRR/lyNDkBpMi3traZuDwSHKCqyOvcOl0IRn7e+YHNGtXhAJolfAtHZIvc0XZWfmAcAOYnIB05tjbqSgslHVaM5P6kBdDijC+AihaFKACudFvJUj/DOgegFpmr+1SlE0pmhA9LkXENR4d6LahU0H2vFe5mfVNQ9nN7oPA5chmMyqIT5Cr4xmn4aH9fqASrwAVzQpA0UrhxO46rrOuL51rH4afDajDVAMCK2loENjjUyVQoqq5CNxAz76AruAw0Mk+qdEqR+IIIeuiCcNmT7SRI5fZgbcbNIuHM1HrI+QGseHy3iFUjd9rD4/Lx8Fv3UcwEGcRcqPgJXqtl1JoliuBP75PP/a9VZigz0BFeTudWlSxn6d7XKz78rPkVKtXnLjRJhn3zPd3BWpOlNFjYqJ9KapGynBeDCtltjE6YUAfkV4ildmX35F1yH3ZYi7BnNf7s0m249trAmrcMDzGxwoR6ilqfN6IMKstBPw3/wn8gao/jaN6W3RFTelnMbVUCXLCs4JorkpbhdFy9IaGSyDLYQpIuRtrsAQkTs3CZlKFf4oJbpnIfy4Kseql/DPo3vvt6KyNCERe2feg72RuDnjmvbV4uMHTp4mHITjx7nlThJVhMDTZqq8NS+Z6WjPgFeIjZPZCn6unljdI2ZPX7qpGiesizMjHvKliIH9HhrvkVMD+caQVWvcQ/b7I9e+gj69OIWxcfDAg9xx4CSq+PVUEYzusty9AtP/96DoDNNw1j5+kyckUWofDX5YA6xE5DOB9dmyVsr5UQklGmW97+WPaVKhXgsZU/jxKXpTm4CzjG4WpsZsD668kAT6GODEbDTevDru9P9L4o3sYESlwGCHoGszmMIiniWFUXBAExzuN+AZXGB9K8oHqmlGmAfRvqGN5wTEbucgHKSpryjm2FN8Ad+35SRtuajvJcQ2srQtDE+7WcZKUDw9uDnp1UxZc84yXSvR1VlFyU53dWidr5nXgn7EvGq/O31maZ5bm+SUDpc8/u5NuhgmFUXbd7K74N4K0lEjh/3yDsIyWSC2t5Ht7hzw9mIxKWrzQWZmVzYTYxfD6W1H9q+UoULsKRHQOAX5gHtEsD/alJPCG9qTFvrcKEiLVSNTL4dCgbkuIur7TImKGZCQor165g5CUkrIKT4AN60IrCpyivm/vcs6ynHM1OlbW8v8QxlCX5vzuYanTX62032W5QiORLpsK3NozpTOo2pz8CpOByEJtw6kJRh3DjvGsmbwPSK91wdo8APhQDTwk8q0FLGv6UDEM1W66iDpfbUC8xUUKjeSxsEKDCu7JIrbc/F7DN9lkDKNuJU89oFPZCKiH5zDrzbBWVG92miH7NB+QcCDGFiT2rERktJ0q20gG+naMjEV6pqVsN7qtHMnJ7k0LSTCk6TwSveRjfLDExSN7K8gdyLM45WrGzwkdRLX/L66u+B2Ceb8e81LWl0upyWvNz73831sjYD4qBvPPyKfmRWkvzNI8Mx3Vm1eFXL7LzKBQ1vHQdL7DCPlzmT7S2l6tg44W5lEoCSpgxF0JnEaFD4dAEsC4w5gGymFmQOn1IkScTEEQNEbqDr4UyR0GMDfeRn3xJF9I3X8gjEGxOpbbeX84aYVhDm6UaOG/moRLYOFLv1uuNgxT3Sl/C8YWuwi9XoPSaKnfpcnrKLf+/3cghZT8Wer/e5usXBVRKGJJJhk1bwNjrhQWbU3rRJ25i/PlfjZNrs/IzbsbzMSzj4hMA4ZguR9/+6v4w5XZUQRAidj1p+evRpXvFyBHwywS5aYbQEPERygV4cxzqGvrUQb88ilaQY3R+XLIXqDmQcmqE8Chlp8Y46yNmGt12lqdVWq9qZuzv9teQ/SCIajLd6KfpDpWx7BhOJ6r2F2DbNXeTxd7yYPkDWBsCKvkJ0byWCQ6m8smMXgs/BueLiNk25geJeKJkuJyiCiif7vBcUhHczpug7IZNVUdGmBr7Vwva6VhGr+eP1nelMNZE5EdRFQLH2SWzcmbtAg9vJmQPbttf9LJhICVZMGYDRGvJBdZBV0kt+wgmePdZNYj1Yq2BK/u/gVr8+V7otpcq9w+CqYWKlpdO8U2vdtgCoO8D9GI52qYK/qF5t9uKyEuGfm3gjnx7qlRZiy1s+TlyrRJzYQQprusln8Elt7mT+/Kf9tXHGShzJKo3NxzNPKjMDVoY9G75BQ+oxydUpzL5edrlmE+RyqHbNfwxkcSwRlryal4305nY3muy3YQwvDhugBd/uEETPs6EAgeRNxSVjdb6EDeFU1mTTNFdLb243U9kWDfZe+H9bq3bVy5k5JOaDygaaqgpbkuD92IoCjlWX4vv+HIqXH1Bn4vr9uppR84EiOXgQYsIx63F2DasaFCGeiA331ypFRfipzRB/kwkrAhrWTT9lFqOrHxnLMfRyM472EESqq/GWqS8OWsURXDQdD80LsjIzWwmJBb4nM6t67Zd48MiKMhlFmIF6OFmDNysWzV5osMUVRbQ9D8qljRp2i7nTwnKpjZ0GLTboYFAghNfFMbuR70Y14bJDldz6Zab7qZx9yK2py79K/EKl4gWvA2oZntiEvoQC4Jaqc3aCeYk6tMgYC1RfqAGRfEvNPJbjAbfcWzSNVFwFMU4kioyzqXvThRKIPrpcMgANk/DALmvy7yhRP9vb0RMRqOaZL+8COFdQguI9PIUcGj46pRzwpn9WGNJD3Zml5BWnbBPpfcdjFrD7GU5HsQUxVXEfdNuND9bw/NgFgo3hWU1yLiwVEX8d1puqICZ8QItoB9G3U5Wb2cD7F7a5ERUvA3SN+psWj6QOJ7tHKyNQE59smgSSWx5L89f9gn4Do+1WXGUpKeurnE3onaiv76tksEM/C5uTXmIM3xzcJDtbu8Y4iatcfZ1Ea+HrLdORlYGvqhiHuTCb2wvKHvcsuYdo/jJtRWo6eRr1DTtKGMdWkdzR1119QfNc/nhWUFbrYiKOdrwvIMXAmpxu+kLB0MVMj7ejVFjmQ/xLGPOIJvQ69/7BLIdv1suBYbyTD9idGt7KnA3rIFOODbpcgxIsL2jRGLFNNYMvN3Lg3J4NsjP3XmJBw3CC7iWnYSFyIv5Q4dSJXlW2Abc3527XWzgnUGMHRDcIPsEz3Pbo/cLqvwN8XG2I+xgRtGNtw6rvfcwvd47z44e1u9o3X2bklRs903C4e/BTxsNvOjHpS4zopgufuAcZ5cN2CO2v+aMafZRdqIOoRb6AqkSrImlJGTPqwlZH5Z/dH1ZkeoPUBKZF4oYLSMXTBIkZ0K2PbXHeAwSAcDB94GP0Ot5w5v1TlUE48wtoXZtf1uPwuQv6V5En48sHT3jpOa6yJFGQu9ev4b9exoMvher7bmLjtKTSH5zrkl+ByC7e6J3q9c22bTAHl4QwQjvK0fpoXxJCWjAdvhxUXc5O8+SId+AzxB6sp4R3ADOxGwmyy4h89dZoz28l/V145T84htRzLbcGV4/8NdRof/O8zHJ70Mwnp3PUIDn1PqhOcMxPilCywgwuJ8Z7Oau5h2MDCzxi2C/Yek3YXl2yWo/BiXNUD4ZO4iNq0pewD89SDODPESI0mWM2wHwTmjNXHHadtokvW69TM+maC/hQ3RLm9pPgr3Kf1j9nC+11lbSP/Uf9JaptBf8xMR078bWiAPsLnzD5deB4Fdcsq4Yi5f4cij0+o+w7+0SZ5C/JFTxRbjvvi7/C+jg+JfvytHqCkk/1lXUyC8h7FTWepAUt2jA52wdSVq0IYnfRsEkt2Ct2AAZuwBbRBRC7OF9yTsRs8JhdYkXhIgG/NiYL4ztldaG1z5Xj/6THwLTIjsdGAkayiL3xsCxu39hd36LXnzj9imEB8jbgpuBDldZQAHPNw5B3P69iAYRJaNrg+cvcODGHpLrqd++2K8PmZ1oMO0i7+Zaa8w8tKuWVNbwdGZos6f0TglSIIhuoIwk/BSRn3InP/UE0YzPhcTJRolmfqrhyC8ZwVjdISbXkkUPDisNNeGepW+5cVErmlEiMAWmHJz9vyT+pc+yI+Jp0Z3G7f02KSm+iZrc0r7EsG2FMK9MIhawwVQCRvzY2sHeGWWrO4yE2unyuTc+u4+z1xnp+KuLDic9fZ8lyzbzKXie3N6Bg7fa5sVUvOEGZ+s585v4k+f8Xjr0bx2V2qab6emsjwnxb4ZYhejGN95FoIrwpU/Dq/9MiYR+9lEREjsEIJaw/0fG5BnzAu3ckw0DKHGr11ic+XMLSEXhgCW/Ykweg8tqGXJHwB/ugAJnqnBTCChH5zdvOSD4tVZyOyQ7yYnFoTqsZJFh3e+iiCAcoTynFqABOaDP4MoK24OFAcOoigY6QfO0E8SlvDAyA4rLn1xLl5+bN5QSJp4E1RIY3FtY9JTMDy/6WP1JvO1aON761kLo7rP8BnFG/eWQXI6LjDhrCqnpboOQpJVwT6Q9mkXGpyzcn1bvr9CV3Kt0C9MsgpKHm7wzhK2kMYKLxpvB3c5CosvjtoqXeCeJXvjI+sFJNwYqZ5azDxiqqzrlBlQC6HMh5YbhH5IrTxjOJ32Vl3i/le6pcns9g6hSUMTLVXx4Sb4mvo3iLsb4ynOT/qKCd+ZhbWqSG+rBkWk2xFjx11uLlg1S0i1NJatYUpn/nz2bfWhg8n92yh33GMFP6DZ0Mx4YBYRKwEXnVUH1Fs2wOjY5TkKTbYatw51CL8W7ZqlpEiUUfPdkXR2mfjEZoX7y8Sj8vilxH9va+oNbed9aCvbTcJCDCXRYBP783nmfzfbRcWO8VwvrC/Qtht6KBI+XybS9qHxllXxUXrpYZL6Wsw1jiLLdoTzHPHZ3Df8fNhM4qJsWa5gnx/jomWXoSC3jDuDSTIGUevvsMbFXKStzWbQraHBcBbVLB61oZNSldrohW4JZfkkqUZJYbLsi3Gslt+tNhyq/J6YINeqUOG/V0UYM2MfGv0XCAbGaHxLGpeyYxhccpKD372+nsxNG4lAt4RLfHupRkFmMu1LzgfXLDKtEjwVtfuvaj8Rn8keqClhckUiCJW6TtAiTLeiC7dQ1ZGoVaPWo+eJVtdR/20gmgUrj5Yp7fwqaCv2kCWgYMdogkrKvvtpqsOZJxvjeyvbOF4mIRuNKIJsNCVNtJproLUo7vEz2l6hZrVEQ0RA5ymGbesxJKTpd1Pa0pVeu4P6LwNU8AKsCHEkSh6LEe+ZJdeJCACIrMrOlZA/9qNnSGGiewZ0HAbe6CUmxCJ1uxc1rsgHW83TjWO8dodGV8YTIVaJu4weonaxC8Qk7gqnRiTK9De9DYnMTc9bEycYQBvHpvDXh4aCffSGm9dOrJYtsrYG8qmqM6e1Q/FGEPtzF7qHFOa7ZkCH/TcbwJmMj3lzPeOBHy8sn6+tpJv4Q2hxa6ukS+i5hpM/VU2PsD2ElS+axBWv8UKOy8KB2r7jARoYPQdLULgI1aH1D560REHIlNgKjGmBj2AgWYcIiLOJiLhiAd4ZJPaIe9SdXra8bd1E83TjBE/o0Jwe860Qq152FZ2girhFEhIvntiIRJt+pseRybx0XBpDaKPvwmYIN2+88Z8E2j16AYt0wEHa7Mo2Tg0QnhlEUPmKxFXxkFI9DxD04pGA/VhIlGtjKHRcBd02SLYK0X1WSFAYYlDhx/NcUoPuYKTaGekpthcWUccnoiOsOk6BIHpiKrDlXcmIS28DGSBn97k/GQ012gLool4jT8vAxu3hv9mwIGTvx04UIj9sRUbTBhzg3Bp9k3mLgbcM4pOiPpXYwx47+kfhpt6EPVyRQ2t68RMhVoG7QDxI7mTSIoicOMcGxGT6q96GSOYa80SfmGHUMXQKdyXJ+sbFgjs146P990JiFE6vzCUbhO8l7j3uj6AQYQdVcA146VzEZcED4J8NTcxlxoLpaNm187vw+blfhavn3/HpmhJZ03ueGbNyDmQzae0sd0p6FnWUz6QH4olGcFWUCDgy7+EhsE+J61NwjBUTmgkhtNfdlNlJrHC+McIToVHiZJIMn0RvNVXBDMQjI/5gdYkSiti9jbHIeAcRRiydIvLasAGZHzOPKqifoAHUEkRQCJGQ8d8w53wbaIGEPTJQA+pU9vmwC8O/R28mOSC6Bykp7AtvtP3bYEPNxcw0NzeW1s9tE5XkjTV3+7HIxRlZQInWAQ43PINh2pNfoPwR0P9/+jf0XsDqv3Figfi3fwHN5+sJwMdJC7ytGYbhF3vJAAPr599CnWyndDAPNrmAhXBjDTTAOkU0UA9UA74NkDYqBAIhiMZBg6YfOuDnMGpGqI3YV0amV9RGNGThRPipWM8zfSPX/dr/Lt/5HIK4cp5o9kEezpsj5feOwOAGPEJInEAYSTpMSTq7+EYh7nn9A/v/LPKdZPKyYyrh1OuE2/Xd71Q62m0M/NK+O7N494Z3Xr75qoAajUeaEQQCgXIagXbBhb9R021btIgI7p3gKCL+p/pbWMrTGoV+bk2VYXdIVlvP0ZZYEpIUmw3qRp3S8hU/ESlwTtiKTDaFWJ0tKQM5vTJIKfXoUWjvh77tkPgN0L7YRTZaINrS8DbJBObvQbulOP9i38Qy6wVIYvgbIYSiI2CHGdLstdxg3Ku0E3PClocTI+MUC4qkYIgv/nuOK/cARRY9fAxDJJF1PPZAkqSzJnYD9jzuv7G9260ne5QyhOTXfkCzLwEQio6AHqbJsTdwQnA/UJ//kYrvIOo6TF7UjU/ldvT8x3FlHyQpokcPCKwYEb0RjKgMSohabae0Uzi455iIpLFOx+1L7e6rSFqHPYgnru+e6zWZM0LZi4zVsAx9fXXt5b3Gxl3VqKPyDQt+v25zmir8B+ZfCRFCkQmUYwISd6MwXPEqKVrEw50mGfpMIjyU7ZsKEbaKOMJWdPp+AyYiScxTsYdT9vRwEjZiL+CBm7b1evStPUAZRQ4dCwNVARxEyDIe66TvYyUnv7evVju6ZhmMFOGfVL0smWNu/cLx4b7o0LU987TUoc+wq+A7xtVBIjne3aEeUHl2UlMFNRJ+L4bVajKQ4ScwUh37X0ugxybHTMRVNydps6CBVkS1rLGV2oZswFbe/RfmX78Tjm0QT1Klmet5gb8p62GxWMtqSJU+AhehXWfH/8hwZR2mKROPW34+3MxJmtcUcQFHxL98okyjotA+2hug6KEVh6fQDgMyrjoVKnxyUn2cB7h86iV4QNdZWSHcgL1lcdxgGVOxB0adxpElg3AeeFWAl65UmoqRUBafi3JWvzZxnbxyvmhBWTjfePiPdE9oTx8pvezIN3SNIqctlTxuhtajbfq7k1SzyNfb0g2Zfw7o4I8FyEbMJzCzcSRkWvVspMa16LR4QIbood+A5cgAB7jXBSgPIuZDFGDYO0F0JqsvkTGDJs6HlYfQQqOuPa+Z2eVZaBvKy96yz9WXETFIeadLtUhmUHRmQQb4fOvs4bRjyMZuXV5nrexAlRFEzKmoZ/yx5e98rZ3cejoDGtpeLeTD5yD9f1oey/fPb94RCGn4ZaQo3wSCVCLzbfkVJps9R/kjwtyWVzRdHDNxrJdxWb1E22ztezXK/c7uibsi2ayscwUXSp5pxfSF9Xs7EtITX4t6pWqY3TRt4Sq55MPoSxghSuQDvss2GZAFkwEZuNBVzWVtq4kz3+OMSutSXojsJNjnv2MxwZfvYQymv7egEogsbD5wKf4Z6hCsHMiilCCtWb0V7A9+Qn75STvVnBll4gJooBMjNNeE0duovBy5S78lmJLxZNkDj4EKEwqeJP3vSO+YIeDXIKQIuh/UB+AggkkESkAQiiB+Ge7RVE/H8bFK68QoqXjW6/Sf2Ex+iGIsgYjfqyOKq4JM6arwsmCWWNjg5yryDIOq7KC9FXhHjdzkKVwxx/vlcJzm881vAOU+RiG/ibrEYnHnHSo9sl2Q2QKDhSgCNoUl5nr9PnzIMOmVlKCztruXxTOvlr9P9mTOY8xJ0gZYUexCZiknB9bdTGSrRGHU1IlQg+hczf5sBs8MFupEc2IkY3KmsdK6Tt9eVxVWb3+OV+AygLLZU1MginC5f9dvpzT5/Iszrju0qdhvHaLUwOqmj5t2hVnBelpIKuPUlqyX/Ks/3/mh4Ow6nS/G7XgZyTG+k5NTPop9dn0JRE84BIZwnCLOWMsLuHS1gcNhhrWTdvljBn5yXH1lViGQeYCqQDgahQFMo5yS7A/qKaimEbDU1Mxc9aSt3fy9TnvH/jrzHG6NU4Gw5l3ggda14Wfa4kV2Xa4fm05UfrG3SpAVw/Z3sckEWCiU9e+C7ozuDC/eiVr3dLK20OxBAirqeFudEbm4M6Bc8sIOUPdPA8gwU0zqd7hOlxxF269FHWiFggkyMLDhrmWz/6tGpbU50RyktGakEEZvWwLRcyEgJJmAjqe3s93uLEoiqPtwArTSv4cmFc98nbEnwY2+Gy33zv9h+FAgDJqCnVCQkMRbULQb6VarL/UexJa14/Ru7M87UlMs035txJ/DZCkb2IE7XzxHZlHD8Fim70Q8RtPbtW1NCKQeJmngx//BECZSjosPqgbSeThLFCU1LU84Hd3P2+80nH31HvRJF9ehjqMzUAfXYzZ1Mdu47rTlg7lvSx3oeb/MeYZxU9OWzXaudTGyVh179UjnQKxDs9tj7TCFDwnU3QWdPl1AB1l5YDlUTqwbeETomLIWYZukfXw3SmSd2d8F9QhrxAdc2923hD0umiYTFgoiMvw1BFtRPfudLpOtrvNufcV/u0jYoXOIDg8vQFvFb5VfRZCPldieJZSSg+kpJg6Qcud8d7DZa1mxQ/G3H4edyN8DM9DtCxnPs5H8aiUkA/IjBhGQEHUP6vjqz/iPwKW+GQS80UKwoFoJKG+FZzWLssfAhxpZZ7k1X7FUbJFeKUAgPDYf7RIS304Di1l/ImkjY6W/CYgoPHIJuHceQuvYH+bzPcrzQj9mXB/Gi9JhFzIl7PP8tfKj1EAUKCUepDVTDvmmW5YRiovZ/9VTtha4BdNT0spxbfEG3xOTfm2cJbQMlMG3rShXgslMRbgSQXOGU5r4WhcZMnUb6OBc45QqGUv8NSMyRqQhAK0388BAeRWArJLFovvikOu3hjWCpBwZhMGoBfya8vcGA9STVjNkk63CyxSZv7wyYH+6t+GTamuxkviT5XPy19xopsJZPHFd0dI95mMoNsJCnVlSbf0Y3HbI2dYkbkenQWUkJifE4wqFzUlJhcjEymQVkxM4dMCdrWg1e87j+VtrZWv8i8V8Z7XNyikQqsH8tw/SVRzbD4dkwls4O/sI3XD+NrJfwQC2/opYltYctFWMEng5uAJhU0YS/9LBQyp/e0AfcOYBbGMPuXbDYVVUrU9T0LrCXm7fCgi2Rs7mtMgbTjCTBojHJbGsBqLXDK3c8dV+1PB5A8luIMgtAyGOQw3gSXn4Hv2pDvgeJsvDEKLBE/05bplJlMWzlAOtWXuQgYMuXQ5kr2Z+fXm7FwNzpH9X8NFlOu3t8CvCr3Lfxgpx8beHD5IzWbgFtfLdNePi2QHdnExmtmKJkZCoHe4pfokNz0mFBYIINs+cQixeW2MzPuD6Z5039wwzI4mLBGLUCUPzE7ooByEhPR8g/h9vkCeMVU++tCPy0tgJC5yxFS3WjTXndftaG0fEpRrbKdQ+w4GqRGHg+Fe/YtTf/EicvxRl+Bd/53VEh58aUKEEc0CwhUgEnww1lc9Op5IJV/5a0JRbaner8fE1n/MNdryvFJJ8wAkobzdBJVyugTepF09evWwk3aFqDecT/civRhyWEio7TGmEtS/gFrVBWSjx/B+F8Td2/v13wrTxO0GbpAgan6NVa8EA3Fz6nLDWy2gFfND9z/3YvuFC4klXzpCB8WEHdMPnIzKHnGJcUpHAlm5nOn4P9cvjUCkEuUROJnNpppyHTLchpubJYicLYy9tZqPT6KEdha7rsbcsdut3NBf3d8YewQYvOzzDjbfA3rYEbr68qH0AW7PsgCvtf2Tqlr4IQ6OpoJhP7olzTF7So8x8sk8hrgyETscmEkS4ZcsehkTole9rvlgEJW6yukvlL2Dklwj4FBoCkZcpZvAGfjxXhssQmaqXgMaZbUcbDRnGvIvStTmOpuTNhblbxj9bgB93XmC2UaYC4Ao2PYCBB/IgOW4nlY6e4lxgBdEymii3BcVMW4z5M6LD+xO9mpz+7Q7OqKLpnSCvV5cfbfNLuKiN2Jv5WmJc1v5niNffp6Z0e/KfBnnvybwj2VAxP5ZcB/maSW2y3wn1QcrmD/aBOTfzbfTtUZXQMKLD7svPu1Hqw15c7Hrx38kdmwYCTuzaNBhQtX1zvwXvDrgh8y5UrMMrIdbSiwbkOf2e236/9C5aAQ/Rwck7/likxw4SIqzPY0hzS5R0Joo6KIbeSHzbFbMuQUZegf6vKMixqF9xlT+aPudpFYovBiFNP2AA2nzRMt5TFiULtxUr8edxjx48qJJ3RSlEwmeZYABWM2fzZgMw8WGQpA703DfnvMiGCjktea3npoc/pnXC3GI0ps4spGGiAg50GbZ7I3UsI0tZ5VGakV3NRFO6FCGnCRWQ5NMMxP13ORQByIyKO3nxtbUfuT7B78/0V3q9F/Z7eozv0n3fa2Kz8M+sfQACu1s5GcEL9bsV03vhwrtLWNj8GmSvSMqFuqk+oLtVgCbRzBakj8RurbcpEjRan/OOjNAUe0zIJPyLgE/lYii6Si0dTFZaXeLr+2i7y+e997c53/XnbmDEvbx4s3laDLEarARyA0D+e96APAdEc8Ac6flt1Oc/sBYwqo5A+JGiTNvLCT529T2LTArDGGn6dtOlEhnCtm1JIfTjFB3CxTM4wCWTT0VMqEZSBb9oVItfpa5AD3EPOe4LeGZ5O+5szohZQ9xWEKPZO0S7JI8L/vOz57rmdPNbv6gzExJ7vzKNmXgndqXh/mdwGE4chrdm+b0h7RG2CuNk9I502yhNmIidvCTWY5Y2NuGNEXvF9x1ULS4NkgfrS4Dt8yOQeaOEeSMc1y/rWtSTLk8jGJQ+UcivMy6ybXgjjnm9SRW9FdWddBZdgj+RXd6i+IVsZ7+Cqkfy9/iJBI8SQ43IWsfwyQ3PtFx8InsPw7tzK4fhnDbIz/tM+8HyKCWmcgBbfE7YYCMOu/YSCWDKHdTEzYANjYrmcOjnP1cE/UDxJ0zRR3jhe12LCIZd3R+sY23qyUDFeR4AsqqfgzNZ5Iifw0dfpM0SMcoKycpfaiOfFHpDtaPiCRJYfQAucP0N3uDrPFQO2/YD2oLjj0WnA8TqrEs4CccXneqj6JWnHtbplv2pfPLRgyO3fHtcl1xa/Rhe+SKEFsEbAGN0jwERvC+JTOj1jLpysJZho3uirHe7qNnCusVP9lBTBK6/onYS7YjLdx/HfluDdJxFJ4v9/93dmiv8IfyePkFQSnWYymTUMr6TdbdmeWXp/0OJLn158aUTpuHXqzZeWX7WE75jFxGWjDYFWJE/iXz0YJAiZPEhosN9ZQspq/kgeIJ5p1Mpqlaos0HSGDFzAcVjP64CJUeLQNB3A+mAxX/+YAI1bW9q4fgcUu4QJh9MbxXsUKfGX4DEmChPirS5gsVPOYS7wLSO0mJg3RvdbGaKvQDe4nh4pFUc4KgdVKXIDisLZklVlsoiHc9gjOw/+yzv0vMh1T9PY7bjzPCFf3YFdLXhRXdEZQGysVTKodIUh5W0BdbZgiZqHf2Etmvp+3LdBPSjslGui4J9LQYb/hno4EbNElDtuW3QfTktuc/cQR0YoAN0g0jgVyOQDs4o4D5g7eSnavs57gl2dBo03IWpEZ6Jq7WpMSvUQmtlk4HEIx5Za8cPmmzuKlkAAq5tnnKWCKGWU4L0daIxmmwBG+PEQHaeY26HOrDSxruu72exwAJ9AV1JEwEgUAdsES5TdsGlaMvRMlb41cTxYksx5ZhkVOSkpa082J6Qywou6QwzTISw1YwlG2jnrPAdu9i2TZdBrbCxd2Pxqe7Y8CGox3Bdhk8nSPHMSMhFxrPvLkOOsDmld0e/fbO0r7/kIxrfbgUJ80AaiCLmbtgj2Cibgrcx/maGopkRPS0+Pmw3QJhDQmhgUKPem5my712ah5pvNfHy18UkTp7JXtlBZ5EeE+1VL3VLVbDT+PyXIMcY5MnKVCTSUrc08b5VrUiCeqhRaaNMLHg7hoH5yaPOpdfz65vYjxjeYEVa7r0PaPbtdiSDeh1Ay+rce+a4MbHW+twzeucKtg+I0OtDDFbMJo1nHO6ylyt5Mdf53Jndhy9uUhydGoxODM+FGG2p/+Y3GOPXtzxxlRONEueuO+yOqIFwp1aaxUQuZZuT3tuVRV4hwv1sl+zLl+MTOdyy77LVykii0eEZz4N9GkiDm2OZKXPV0fT++FBXQRlymmX9276g3zDGyvwizRcZAJnxh4vQcLoaqm8UIBt4P35sNeTv7EK2eyeCW30wdr2J5zskg0cV/TVNg2OfYM7OmwjEqd/HzGH3PnAD2BzAAvNOxR/y6/Wahxou3lvqpbD/lbQ2lLamhdfufJjoodrXqdbENYn2REzdKI04e0j7/SHzbW+QsfCP7cjT3sgDeLeOIM3daH6kUVn7+CGXv2lQmhiwEowklcBA+x2BhbJO0LWJF/7ccNvUq4XQnc4HW6gRlOS3XM2tT6O2hR2WlQ15PJKdYEo8XJig3TuSdUdy0kYBPlZJ12pcNbWc9agVuFu2pG9OHdWkd3cBw3Eq+7WjeYNsd+zTkl0MxYGNQ2Sxr/RXZyKVHPbrqmquwPI60LsLoqn6d4TeRTQKpc6rJFE4dGssZH4CIXiubRqysTYKmyGG5iqTihTv37IwWFdujACIEcyVoAHLSgKrjzIgG6BBITidwd8AjHQxSLSNoq8AOVcaYEk4mqX8hRyU3YEDt7C4EOThwzPg92j0d/OJVr2sPR8U2qLh+l1qilTK0jmCaBtEZwsaH1NXK6i6mD6X68ZjTFO7uK5y1rVYLI9zoPBfMzyCxc7IqJP887xAOtBIf0VUxLElO+93G+JL8s9XQsl71eZ7EqenPf3IJd8L7uprg/Exix/Lgnmd0HuhV0sBZOCXWfKymI8DGAC7aQZAjXkxH9TMbjDhIz9DZNEbaiYXOYvxm+TMdKgeHvi1GvEO8PQ29qEBL1xnkfoesiRZydiULSpJGjVjdPdOaGcH+vfyfG714XRuphObvEfawXIU0wdisPAIcydITZk0jqpj/EWA6JQKjUcY3IpE3jAeMLAVXD+iX7S0m1cvryXNfvUL4hMdSN07RzmegUuaGvwzJxCAFX4zofWseJiTUqM0fbZrGMTuEiMZgAysWIAoQrEzT8AqHguQ5J9GaALhnAGPC5z1tPMFM/jJEnOVEJf1lmjknNybwN96H5aJqC3pxwJlcG/3OArIujeWxatfxr4v+xb5d4hZ1DU19QQn2/1mVkPOjFIyzG14QUM5M5ks+fInG6jEuHSv5oNA5sTWqFotpymyv3oQvsCrVhEkzP0J5fvfQJbF66mIapu/izphC7Qzo8CLsPwl6ARKuzf8MuUWPQJb0YY+pn+gORAi2qPOP5tBXXvbTSzSB+PtykqHq184fGcYW38GDMD5RchU9I5g60c0wnTbs3js9M4g5ffmt0Gb7+IIEm/uk0K4becDtNLLlCNmdA9JFIP1lgC9RsCe/ddRrrIYIdZVootoSRMG3TSJNKWx+vVG+KkhtHJb5A0npYkLCau9inmi2HP6HuRR5aUkhUFDYe119L1nRbaoSC+rBgXssODmtsbHNuZrWgpzX4uKjtKSQhHEb7oGPFNuuHWtsyfJ4l6Q71WXVKxl6MKsg7y0zVw1R3XCso2rpGrfrJkqMtlKMKodRgurpdr96535DNOasy6CtP9nSUAsgg8w+5sQIXRGquBYs74dziSTRWEfo7ut2ApcEofb/N069f4kyeiwDIbeputDHc1LZEbOMcfRB7Vh6VhFNGEt0OeEOwDTNPE96CvKOHirzmyaUnp8AL1H9HdwVaXULPdxEJPXEtSjhlAdCZcjb1362N5aDcyv7VtfDAbpZCF6gsoRwvXiVLKhFh5EphDpP3QXdVqv5IKuJ5oSfpp+kRVEimsi3WEVM+yIsuN99ibMEUeajFnOzdttTDPj6uLX5Y/t/hlEGPXhRzRGB4QpEMspphPDwWuekRjGKKV5aJ+YZVWBhdh4ghCmJMxQu0TSvau7/H3vWyubIlGbiFVmIKBCjau6FGBzYRl3k21vGZLBE6tKzPhySIRRYzQkUzJSE/jygpsW+qYcGkvmeONMpFJ3zs+LRiM7WtBa/VizdPrews1i283YastmVdLLROzBi2/Pg/jXC5K2fbZMtd0UMCQ0N66S6qHhcDRikX39toFe/LHJUv3yHSkD/fj5yQr1aqCD09ztzPvnBsu/YYxA3BCO1lavmBkTfo3PCY4T/8Ky19fM8eybwO0PlibYa0mbNGw2ownx9laR+Ur655lpSv4H0ZPZjgZxWMwA8k6aVzMNTts3ZwC1abQV6FUsvT6fRydQAXwVlTnCPjBYhTAmI1SSGcsk36gOc1bL7LIg4xxkxisCMRpBsmpfU4r6HVJcIPHW3vGTU2kg59dZFHkgomnkh4H2Fzc2Wu/WHK9YvBBxzHFxzHDv2TNNns8/VF4NN8jkogSk2XHGk3uIEg8fhlSTveD0mucb0MZNrwkxCebj6j7Lp/WRiOBTLXIMd6NA5c+f77LOHv8TqkLZyw46eqCBwPKFZZE+MtMxvAlBlBMkHfylbRhgI+1rdVf6C9ZOLCX1x8TEzT3sMfup8tNb4yXj+PF74+JHexmSbvzsvdnLJtcYnjmj2pRlMOUZA7q0CeWCtbqgdcGQuk/+0HD0amL2xtaUR5y9OlP8PtTk/A8vDdT7geqh15ygYtemo5OoRHLyyAWynbCOyejWgnCK5rbwYrobgx6UBulMIWswFjt9/5q8R8ZYFoBiFDw92z3XPysgdcmmBWuH6NSycKQuBmQETuIPVCpjLzfo8sF3ZGNOIhnmzXOYaNuR5BDGcepKwoVzOISMJH2vak16RrHBUlJ9xZytqCtOoy30rI6h9zZmRq8VbiuIjp9Zl/u3LC60EgWV+pEMGNRVm+vQktwdCnINc5ANEGIV5z7rAs8D+eXtCU5w+MfYOr/jPw5Oafh73i7+IOO+481tr9EFk9JETHdq90Bbih3MGEKbPb1jXh1r24kCD+YWFQJO0aoiU8gBmmAiMQIncXeNEqSyGPrKdVF+yQmYfPRDV6PUfWh8JyAjgoe1lPvUVLbTkelhguFfdAQ3pt0NoZx4m7U+wZnWT75PuPXqRxHWKnafV+H5PKHxnK2eoJfJ37iXeZxQh4QfnYGMLeLf4c83PbAEBX3vDZ8E0nLmLU4q2/XllS6OshB3GiP4PJKwJI4y/APbmtPnfAvLthzfNtchHVQ48Ta2Su8H2/HRWwFrIz4CVYZnfq6aSEc5wWF673T8CPyEXSOSviYDyKQt8wABNdz1HeLZdsCkL6lnt4nfir4kX2K6HGlEMEzDhUl8DYkYZeXbJrgulBHsFb7gr3nAxjlKRT+LrzSYIcbWEG29O3L20+cJDcge1iAaDHSEK7k73j4yYCFCtRVSyIhO4rTwPDGwk5t5zUL8i+NZKwlluJ/sdX6vLCyRKy+/yWJwm8k1g6uvVDZbDzLmtX48aNdSQlzSK5qiaH4V4/6NPOsAIe3odBI0Sqxv2MnCjOUyJyY1WG9l0aWMj5UIs4CeoLQGwXBpPDc8MxOq5wwEhRYUmCRt2PbLbMSeC3cPMq1AaOj+Z3f3CsNM3ChKtjxKWJbIeV2qyxrI8hr9skFxuq26jN1UJual7FD7chuSBNlYBaztfUYH+iz8PkD8QG4n2+72cKB60tzXdjqr6Sj5xNRpTTtOh0OyL6oLMFvM/95kPDqY3smmHu6NN0x6JUkJiSY3hHzirvn1BCqtE00d12QQYRaO+JTk13wsH8N5Cb4bG/j9R90MIjKEo8rCMjUxE3UBNwEFVZu9/O3Y5XqfgLn9eHJg+zXkf2ipHOcx65wWK3dZu3E4mfeqqGXHlkQnWj/lH0L+/a8Qgj6KrAt7Wd0stsL+Y0lH180rO+iyYNck0zdMQ2nv9oMzXjkblMi8Oen5nBlZvajOrBwPGV8zgIGVnVuFBD96x4ENJM3p6duCDt+o6cZt9fam4VHhJcMLam2rY0gzkupt80/Mzh69wFhpHAoi23ynr6+7fHaxD/pu0Lr5a7ie563/blcWYUUu7jTR0/pzyrREDj79fKJCPVndX5UZa5A7klV1tK6CME54VhVCwe7wD/YWSaLMwhP23g8YPgV99oiuUkd2ylgPKb7NmlbNbksKOlQiayYDg0bMzMb5p6fMwr1XTVpp4+nxSNDuu9DJnx9ErafOwg14VLipl9PJ96CnZdPHI9ncJMv3c0ryfWO5K2dFa70TRV+ffPlM93hsg7bHe+0IRSvcXQWChY07fZDu0VLYjkemh7XI/mV80hb/iThcIuNt2fpER2of+S7h5h+fAAuKvSGo8S/OaaZsQizaTnRIlM/FjLFP2X1BNnzhCNQUU763A9T/KJ9xfC8dqN/NoofpjPlNUv6fYIccTvZhzFL/JxwrHvjIfgBVOFX8AKlgf/KWvJmxLTRTC13YQ7RKKzjj59VDfWu51qDcoSW7XWGYhkNgYt9EMkYxhqyIidZLuUPIvf4FYdMcZKOfJJVGm0F3bqc44NhXES8d8MgXToSZJRMBNYU5OxVpcNR2dapkNCPMge3gCZp2+YGfsWzsvXHdjnkd2tU7jNFb5m2bKwZVlr+VLx135vj5rTYqdfN767SItIHWmXxcGg5OUuhiMF5fM4merXhwldVUResjcmI/ijC6ykqRsFIntBrMlCt2/1l540gqVzxjAms6Z2xE5mcNO49uLiZzw2ZWZBE5Rivdl8dGyEfgLEPorRSRk56YNneXkh+m1SboM9ZG+aam6lH3sy6q2xXW+tU9ydZhaJcmwTgzf5MXMJ0opEfHRQec1X1pw5hYdso4PMbo5QyR3mI5dMPaEq+w3i7wCkbg+/89cM+SqNfuTLZdyH+pL2GRq07384J5Xhi90IiFDywFRJrtu9BgJPdT3YysN70l0VRYzxAp2rntgP+LOkaaoGyXLf8G3hjVXn1UOpXu//wUHGDMKBWUqWnmeMHq7Stj3pn535XqRam8XnSU50N3NQJTvqxoHXvktQFTz815lzTrS3KDn7w71xyW26lE+Ufj084ku50HPm4Bv+RsNKJyzDJA5myfBfBIh5rRe2jhZ+iF43FAAfgwIvdR15IQ/YJsL53TcIwtgxPjWSm3QBvZgAhE/vpBaOWNcEAob7qD+mf0Q79NCCyBjOBrjq3w9eXJI2EAFzxRvY4YHlM7WuvEEr7KK65TuRLKMlT2SzdS/ftPJFwuBKHL6UQMvBAMaGeQTTEev9yNF6aGl4URAp4tlViKskz4F71E6R/7DKpnIy7RWol78BEF/Gr8YyqX/YwT/fK3y+N7aRcUXJv19afHN/6uexLwptsLcvgzPPzGKg2bDqeBcUYMgx2FeTrshxSSngszrP4+1PZqCB1LRpHMmd5KoVlpiWnzlgAaRBPENFatxQUxK75Db7stImZH7gwsaqgeI6ekhmcFERb+iCFMia0XDZ18GFk8q3a1byvWlUJK1eesPpBJ5q9Zgs5qf7PMdDkP3FY4pk/5pr+EavKK3mhH1OTsyLHM0iW0kU97CV+9glH7bLY8t/TX9uX3yL7sdoT2MtVyqpKXjCM3HVh5gm3iPEzJbDMNPh8B6wMVqhWmHHUnJw6uY+bOXxPZGussz6wh1ZqKtzClcRrxi+akE+uExgu3L7FlltnYXud7//X+PW/3VzcXb222rnje4gyFLkfWzoxN3waXg7jFTxNleaQMlWdq/eNlhGAiDyoOrXnXncU8BFdOt/jADiRgPQvxqXDE9fUgbFkJLAQ1JREe9KKIV0+XM/K/9E2i/9ID5GTJThTxvM6rDcgT9fZ6JNQxZ1cb3v+FfkWFjpWVgzm8NYQlHAsQOq15np1z8QrkXpyAe+n63u3s3Kgr991ZG7W/zrdf79oPmDE6ekf5xtI1lkUPuYO0r+5L6GEA+DV07U7RgCEes2yKyGqE8g0hcrNGdhhN7QdZcwSsuWS3Nfmh9ollxBLLG0kO/bVAU5aHp+XQ84iLREacz8LQ16hMiU6jVSUvjwYdt8w9sb9f2lR4H0/x+hpN7gLxYOpt8jdYVoaPJyL+QZRVQFj4c0zzjZ7Yl4nGPEOWS15kYlnrAl5uTQ2LlP8wwLVFwKvdddsmNsFg0QmfPCBKGXFHdJFHFRvodaxgcodIRaiWffu9mKCw2lDGPOOzhEvSeIVinYdMlg3ujuD+xpt/HWTnpwzpKuZmmHPDM97Ol7axf1kTrydO8ce5UnxJPm9n63GSCBO+o6ZQZqYpcPcUDTlMI+Hu0sZJ02CK8H/r/5QMggJy/JfvmdrW4MrgwtUXxduK7B3qcu+Bj/eIz5O/UkNQeAv6kFpGKSBT8Ksjlr+xYngQMCv0z9L6VUQWwEqAq2S5taOmwpXoKT0m2q1dih2ZriyN/8tu2yyVMRva0YleWd1Es0FUX7uBaf8mBP6fn6J8CRuVDDalzsaD2Vk305ZW2Wo9UPaAuPZJYBiEGEdNBpkk/iCwG5YzADeq/CLiJtrkgLFRq6GT2ft2yhgUUWiF+J7P5SvmLQ+HqO2ggaFSOHgVuUHUIvXBXHU3NM+VZsdBDazMXfDnCDnTkAE4BuTQm/4Eb/D/LnYXnWsh0X3ltG75NghJdgnewnqwQir6Jn5aZDQs5OiQhSzbT7WdRuQd5O4DITIdH3py6IP7vIDnhafM4g3rYOxlJTjun3xAXsHEtXfW3SRcEss2OJWXd8Wxo8+S4M36FzXmMZz8NRHND4MEt/VCRp+m7xR2g8m1pGlHaD8cSf8H18jyyklb4RiC1bpqorJYtifdnwV5S9kJUrW/5CM1cxTM+MqVRdi0ppTC07OGvvZOobIdqicGqtgA72qKOq0WBryTLCFBLxXJoJWAxiH8zMZHkrs82BCYl+ms2LukTy5RPrUgvgw5oJl5TsJ1eAq/a0CDM7iCVZZJdi5jLZnjf7IkNuqj07JDHooxEKvN+sfW8WDoWlCtMK631Zv7Zs+8YwsWSPh21ZZSmlkffcwt8pdxnO/L1kqDcjC/197y6Q7U7rrdtD65xfqAfrCv7Pou3dWGW/vsQcYaxt5z/TZTk/O/NYQsucRYy5mlf2Iocd3cGm4n4zJTimnmzWCeYv5jOfMnWFfYSgKHYAX7DkdJmCrsL7zBmeKaRbRz57kLPFfRQd57F2Vxlni7yzGXUb5ppDfydYGBpL9kr+C5cJU0JD0j/AVOYAzOwDRaA0fDw+iGSFnWJLsseiGWi8qN6hbflkhL3NHB6EuSb1Jv+UnZMlme4gXZE/kW5ST5O1c9VYNq0PWWm4RbZ8xNhZQiGHvNfaN6rvtHj41xEz3OeapqgppFL0WvvvHzXt+9bbTN2m99GLoXfDF9Pf0230U/84Rh5TKlx/BEpWkMGF/yh8T2xJtqI1PQ9LaGZp6oeatdbmmyPAqQCui0vhu43DbAdjtoQ9LEoJfBa+3XQnQdy0Neh9KS65PfCKM5Rztvh5PCm1KuRKhGeFJ9qXd1tq4B3ZvII7iX9GR8O/6efsFQQ1gkKhGriTeNaqQ20jXyRnI7+UGUCeUY5Vu0mbqHJkfbTLemr6QvxYUwZjFXMleztFnDWB8nstnnOBacGVxZbjn3As+Gt4J31azFXylQF7QLjgqVhKNFkLQbYgVxp/jlDCvJ9cwI6ftZLNkeuZk8JL+bI6GoVlxTuipPq/RVi9Qy6n7qtwsOVL1WaFi9pPpXkV7znvU/7c1iH92zktCa+Zp/phvph+iPG5QM/Q0vzaAYW43vzFxeO672SdkO00TTnXJz816LgmVMHbzOX+eve1xlbw1Yr1qfVW+39bPtt92pkbKn2fsc0g6Vo8Ux6Jh2PK8zcTqdd+qWXFpXiWvI9d8sJ3eee9g94tHxzK3XrM+rv1L/sMnDe8l7vVnHN9b3SvPPFo1/tP/VVsWG1oZbs0mB5sBk4HnblsYFTRpNNU2HgkrBAc35zYOaT7cYtwxrudMpE6oMXWvVoa+ki+kX6D/o8/NYFe0V7zGUGQWM/YxfC7IqhyqnK38ttFbtrnrIPMC8Ua1fXV79IsuENYt1mvWlL6pmsebf/kT2JY4Gp5zzcq1R7araa3Ur6xbXXeHqcId4srw83oF63frm+nf5W/m7GzY0HG74ILATvNmo3ljfeKNpRdOKZpnm4paklqWtm1v3t7m2fdqe0H65Y2VHScdhoZ7wQKd05+TON12crk+77bqvd//dZBGdEBuLk8TbxZd7VHpyex73bu/dK7GXHJB83Mbvs/RN9X3fntA/OyBDRrpssBiIAghBHB5Hf2UTcfQAsP1p48DxhUl5ecyGA1mGYr53sH31w5WPJeOTk1NTldqU9JvjEhKNSTEff30w8NvTe5DNajGbaw0dXJIkDrwf6ZqffyrwPWRsKmlD5P3vr/Z5Zu7Cd5mRXvjkQlX3gmSTifXiVs9pCjXxwvdqsmX5HEF4EJkLD1mGLaCl1chyf7t31TjtzuZGzswX1qp4Y5p1Zs6hTb8vUBVZUjRd16hNBvIm34x7n8siVCBHeOuScQxnNE+abYMvPY111hOW9ZWcr3wuhEVB+9KpAkOiUZvhjFU1LMeUy+eLsZOBD6dPSXkLNw47Foy/TIgi+2Orle2CX/ThUBL5/Yj3FQ9ot3Kh025WfY0nI00aT0W8i7K1oNc7myhK+/6sYLStA8eQWaoXw1EwRcyQsYnX/MDiYIvhlGRwmAbk+izTyK5TpNcY/nXpJ8jxTNepSO7Z7e/u+/bkT6+Ps1eSvq6kEQfp/gvdvRvvYbNFxzwDs8babfE0/RtXQ8O0/S8XVr2yFv/H5SuX/icm2RxDaqxtlc3RzYxnGfpefzRFf11TrDUqDqC5Eh5+EbjDMN9ZyJOkP2LsVmg4dP7tlXonsfSsh8cwdbSFgtLQ/ysL2jL5UKTdamSXmJEnSUndKqv/asF7muZzFAuvM7TLseog/VYVgUg7b/xXqq00+7eCH8dC3rfW463WRegmeQ45X7+ruWQGmwAxDMrHBJiqVDmw8AMNIIxcg2gncpQnoJkrRROSJIodf5ueD6iEpQbt1uKy9vcpFIFABEXgeE+gJV1PLnMYheEU7rbVB87XDxEPAYW2T4EQtnBS0/Zo5c7hwIS4Wy3UNDwaTcs8GyDH0uTtlantOI7rWXKCeEWqhHBiGggkcXVNFrHFu5uettntxZ7ZXfCU/3KnN8hy/MlUEowEf1dsOX6Bg/6ZIACOthYXiwe8H1lz6qXW8YhlmWuobNq2xaWscL6oy4quiaJhqrLBLFFvs1hAhigrGSvTvbfSro9M7//G9PyJh1en6V1pKIllUrs4hXUXHCPn75KZaidA50Iehyf/waCG2OqxlFzJnhjo9Y4uFJbLx8I3yfNo/aiUWXWb898sWDBztBmRi52BW0jG477eVEOVl9Sucvjg/3ksYH7ocT/8pPyu8zd/dvTzfUuHrpy9N9Yx0f5q52u6/cu9ak/82eyF4wP/X+zC3nddaZ1oXZ/vAWKMddkcpCaa0xx/4Yl+KXaL+rF0QoAhnMRCNg9ZaiHzTXWMvdI5A35G7WBX0uMJ+3AgCiJ4ZrbbqhRdetJ+XduSx3UR5ENz/NtCRMi46cpC3MNgJEHQ9MQcnyXmfiOE6cAdkXKd16shTCS7qYDEFk657m51v/AvtimrJfu+/lREY7tua+B7ruuI60/ndmrq9kUh8MveVCwKQLSU7aCaazRaQMfouR1b96rr6tOxfHOYeRK5zPNcSUYyRTTqezAQDUciP4+oTp1c7qJYpi7xB0S4PZ+BM+Q1KP6i7t+P7lOc9cy7j9Pm6Ld67zDvNjsB9EJkIt+jVsSyTkRHub36he51akL8Ps7CSZIsfaPRqNdq1UppuzmoqeSOeS+7Ho5PW/4s5OJ+aJNi0jiCn0qQes+zWZ0nOE4MB0jXC+liLTDJLGlp54rK6DRtBhB6g4ArXwkp3bP4vYszlwKTI/5m1mXiiyIHwDtujuxOnhrdsbzNZ/840d1TIx40zJ2dDsswNE3cdHO10qdcnSF1gHy0KknGU1c6J5K3qJOB24zkRG9adMz/DuCEq0QynL5QVGj6D6TUyt7HXOMrvR2TUoRp6Yl+Ec9me9D4NsJCy6qeo8u+ALObaYMf10R2c5HUSxUMylDGIluopOhI7RKT2s8e+3Y1/QSZPfG3SkgarfVqzDqBYtq/hPQXuLzsXPD402r56ev9hxay/38naBeM9SF1J5kweZoGUb23M7HaJaKvvJsR20kKKwwmdGeBqf3qcyvKdP/hBu3Ks1tnDw88ThcMHUmcuvtEn3Rw3PkmV3ovchn7ZtngifU+mgJi0WjgXO2w19vGjbFzLor+ZIlQJQpM+7Gsrw2p27GSTkN3wW5TxGT/D3/r0K8/MfHVv5Q9II5mio8GLzwbuH50+u6JMyDRhiX7/LmCZeral1owDi3se+BQXrJ973gk5FGeUDrDLEJ3GYYi8W4p2jPodDS4Gub8D5VkWCXQ1a5vCRAYJj6qx+CNPhAjM9v+0P+MnzxriwxNHgrFEX4BoaiYifNqVN3cKUFSXhjXPuXT+Bd9x6VxHVtMaTI478GZ7Ozc/50+kuEl5aDHMP2sThh+lhme3rZjuveR7QyZJbPEXKgrIs8/L1OEz0XRTRwNBF7SHA9MeP5mSEGBh32o3eLK5ZOxE4WDviGKgiE9zm6WWr2aLVJYufxGd9wDur5e82zL0FGS5mfNsFpuzCIRbtHmtfJOa66zw0EWM5z50G36W69SScH2j/iXoDW1UjkSvNQ6A35kTUvhcDdy75BX63ZfYVt5MHIMdQLnTapVip4SupYCwgGNtf9y+5A0Id43e9AJ6aTN49g+P0gtFDHMhM6TlOC2F5ouHtGjMf6JcdQ54H0oTInJAcHvDq4BEXlapBuK/b7aduVqq1tKXQP9LxmKsh7W30TkwXXkVqrqdgqp2FKUj7FKgTssWg1aZeiFRCTj0T/qpRk0vhH1vg1iVnYhQ4xAH6na6rBtylTWxq2RMK+3LAVOruiWT4EukMitGAuWLFvpR5B5QOUaBaAnsSiUlvHbCs91bPc905ZBrkJds8zUssCIgihBEbA0U10seE7kDpZjrZZd1WPhk6WDvl+ceb7ak0lKKQ6bCqzi2YhcZwYVwBmOxeE+hmxD3T4eFxQqFktLLx6mlErsSgfA1D3uKCHEiY7DD2Vl/ZZF7Zh1ZSp5PtBZNt+Hop5ANNi5Xqyk9Mr7NU1AK+j0yFbR1EIFtaoSRc1nG/01i2ecra4rtqzGq5bKrqntM44FDRiIUGZrvOdZoI9JMhkrPR0rPXulc+TXPnzeb273Y2Vnimwnnno+7Yp9KMehWbEIhmxeTEt8ot85p2sS/5nr+YprNE5Eh5nVbPSnFw8lg0ZlBnVaRZVTm295uJAfKM1LwcTcCtU8U3ALQYaL4ASKvTxW73/N4fcuRUJiJUohT/qu9Q52p7ksQlGI6PAMcXGUr+RIisRNjbS1kaYxIX7CJRO/8zgU53TbVdg4sWCUy6iamjNdtNBdjnlIA5dqEaTSgZVAIBAKRQ4pNAL9gRD84fsMp5lrgE0snCke8Xm9Pj814LqeXzTND+k16/0wGLGhu+cuG/VatVoul75nF2EWf2rQwNqrEOcW09spp3N05c8Neyvo3rFrvWO/DZEn/Nqw4YovJQlB+gX6bo7sgjgWSXFFMOyIsslTRsTO0/E4tzrgJQZBr15n+X232UeAxP53RBQ/A72preAIqz3TZYmns+N+weIBplreYRpeY1o2v/ecDsteS5ZvpgEwmdanG7VKUJ065ZmxSTMJHUALpZOnp3i+XKao8rM/fTgPKfINkdy1nGTcjJjRw2RWyuFoNEoTGlr7Uv32/vXMkabJPZJgTl0ysaiSdLkgENMrqbiOmgUkiW8nN6Pv2wvhNHOgJcc6ekGecNxys9cTToWDgWCQbBN4XhDOJjTNsv7lf+5TljWd3hIwCDZGfD8677q2scjRfSP2LB4FlMe/AbOaIAbP148UBEH7Yyb32YLj5ESeZ3ObnHhrhreKHgWnLFd6R5KoZBGdXklG/V5f+/l6hoi2aCLTyDPhtiQtIPLxOEyJysa80qr4+rINzaPO8YiqYlhb/nayzPL8a0jU37ALyEZPhcWIWZXPeS4YbFUAshvbl6Nx1yi2V8KIzmeX4MXmkeiFxglPdXH/K4bxJ0wx4U5A9/eJhFJqN4v4YmxxwOt30V00mdqK+7wgrWuZk1wKxHnf51DzgJcWkATTc2sjNF2M2Zx7NnFAPho6V7tGrp6MBH0rWkc+xwp4KhDj1VLNDF2IxKKRKHDiYiqZglFzqhqEtxcLhOReS+gm+f1nmdynJ5OxuiXr/plwHHEYe1Qiw0kfMQo138hqniUiJ32FRIjMgEiFkhy7myRxDbIziY3HlGczFXqlTyHJcUG3q0JG9+SSPCrEuppWnIeiIiI5HPG/RF6R0GSYdPpE4TRQG7mHKzkSBmGSyU+KjUrRWe7gFM9YbaVuU4r59aLXP5RGXggSRYhHNCL/RDBx5IIgzNsWVFTRsOcINJLqXmn1Z3/oBlrnGplYWYK8GIbV59Dq/Xfyx0moMuRWhw8ech+i+KssC2F/h2vCL7y//Py+5yLYKgMslPv+p3x6KM/S2KjztgflarVx0J0MHXxt1JT7ch7VfVyyKB0+cbTMCL7ItzWlou1LZRuccajoEk/Nq2r221IJyTiy0vEtQo7ljNFWlgzfAiJ4ZsvtrtC02WA47muB9PUhZZuIGlh2V/WAN40/DxxME1SGChLSYJd8aNxZPtSgowzHA3eFA2f49bdzWHMkbBw6esw9V+IvcxyE/fs1MXT6D77YOassMajhuT/RCHSd3bsKHTd3miSX//JcVvjHpv2CfAYM+eXO8ojpB6XBwaGhssXDhgyt/638nejapVpeaMWeOzyUpLeGUjJPW9YXkMPIWWJVuJPX+iZ5XjVhlDkYkFCoYwgCgh5IKxXe1/03JYxUyiVmdX0J0ARJ+auIrrVOLAhZDWJs3ozegCBHe0PXkCt23H4AR0WJThF/CMlP9HzxIJ7GDJBkjM6hWyggQQyzqLzdO1a52n1p3KiZtNBelil+sjSaOlM5nzxin6tZUPXVjxkLDqnTc8tgcFnTe5tENtnjGKuKmFFSfVleqIKgMaIXQ1EQPBmb0Q/6WnPvZDlYlEo5Qoz4E/AdiqO9rJHVqPhBzZRdc7Qr5OVFGok8HPah9yyAOEaul4p6JFGMNHBUvE3iZjUCrvRRkYaZP+EXe1eWK7y93ntJ2qsfCy7BM2fAFIJbE8WCa5t56Z2cq8gzeAkFyBa9p8JY7wVyyfwJLuRqwq+mHfplJPP/HLO+084Nk0zaig+JgM9j+n2ZgkkTp2Br8fdec8e/sgrlCuD7+vLfHw7nIIUxslFWobDsHx1M/TwA5K6Fi7FlnmXq7niiEh2KyGdyFryMsokxmmJOROORcYHjDvqDzzMZ0x+DQ6+tCAR9SK8Ht8N1FohieYfHAZZl6B7PUqV9RjAS6YSI62TS+6bVKbk1Mtp3zAjFU7A+7DmGzIHgztQW1qXhRJnqYohYE4N9cSd2zKy7ee5pCq1ZBd2R2dI5VLX3J+K0Kj8V7bvN9d16VwdogM0GljKTE42nmdX9Yj3YEtRHRm1fiX8U8AcCTAPPhK8GP21dEbYyoW4AFD8TX6nsEke8f4y/6NTHO051qLOAaNohf3+f6HFGg+ZrtGHsNws1PUV7cn6+f7sgyBqvKKJlDYNi6sjcFbS38Eyi3io10CdG972jzj3ygHxtQnwgX27fZA6bR4KU5dda6DyelG0TmV9blhUjEMSaBCaxFgthuf0UNncxFDq+z6j001zR/ktd5bMvw9UfxH92UxyuRUFQLzzEyK0AlcJWgrSu5St0kXjbHlQ3N6DJ0wuVq9kNeac6LpfboBtrztf1clOSXpGD1IK6qvJQGeV+Wfxizn0hDDN3O8DV7OBaU8nx8WEJl0TRDu9KmZOBkm1CMRxIywvAVwl7XW6PeCr3nzgEUcIzYpWOem4SiCoTU+RMVygNc6dRvjY92t2KOzI2twq87hZa0wLwHY4MvB6a7mcIiiYyMEFS/rM6ni0iJ6x18LhvRe9tFrms6Skb2bQGrRCyclAW5dPxVKzkz5TFlw6fqkIaDOfEHRCSSsbR6Bp/BDCgEQoBpMf9kYQxZ3uFJRmJrnuDmBLOlG1DjHcVSVywDLN3BZp+IfwB6VnxgITmzrILwAOgx6uZbC4Y9HtpmkkgvCLbezHoOegIKy6xASXvIpwCSpfTyTQkNJOEX6o/K7xfUStqEpOmsbTheb01M75oFWnBIb3IZjwpiBdJBPx/fVSuHriOevBejkLgnkMBAN8Oy1rSkgs86vPFQRSN/+LgPdyEMZmjNgV9OxUlBGWp1j210H0cYQ18ZulE8C0v6GYgFJK2P0xEnUiSVsemtWq5VCq+JOl1WuIRnsAaHOLpNpcIx+NAIlF/Mlb/X7W7Z4LuDpFsjvm07f91vYsWw76VSAbYNGt2lIqFfBwFfo+/W630qy9tMrgUMfYBGZIh4Wyn5hoZL9LRXqGLxZZkn9cfDG68HN/4R+PeEcMtWFJKDcX475oWlrSF3R15p1RvblShtf9HGDnlEXWJqzny6xu2+637LS3rLJDlyv6Rrio2SNIz6HtEiokexWEgAueaEBhAYZ38y2v/Hs9Vw6J2cIlxXIkmuTUi9GrRqNtKMLMWvkpGKwoSFlg9xGORcCgcbiDJ/89m2erFJlpuMi3HrhUNDltaBxJAeHSWt+Q9aH/B4qhEVGfIkM07YT7oiLpA13cPTi3TMHRV3i3cFToAJUzlztFQz9qIgoU9JiHiME3vVjUx/rEuEohYk5NTWVq9V4P3yeNHyFkU4qBv2e/zB4PZ1lzfPe5/Kc05A+RTy3Ut5EzB0A/4E8snSvX2IyHtXzjBMEMtEReaxvZ2i6ZIkqBorHdXGKSeOn7/Qe1sYr54nZJqEnliFmt7k/YWKOI5yklbty4N99VVLgSDOIpDRy61yiqeZWktIKOBQNvLz/48brLvf64WX8jloXiF7ZPAMCpTrXqtWu1Njdwdvj99Rzo0Nnntg0TSg5RDpguKcyb98Yn//21fv0/aHqdiaZa3Hr+FdxkFcHKbEInAij8QDIUKkqT9ZXq1ejiwE707lYqwrpfHJ+VSQb9/Ph93Ol/JRRVDr7wrvAQyas+evp2TbX9exiOvD2XApE/hOpTy2K0PxKyl/472owsltdpe/X3aBaz+obQq5uoVg0h+QM3ufE4WWJqyJiTDtSdJioo+2UP0VMMTo4F+pA696MNfIB9bpu1PwQiK/L6q4Pue+weComnjSuU0MFRr75bfpvWROCUqCq9k1nSb81CclBhW1hXFUDlWTYkfop9u8rz3xPvYGKb+00QSjLAH5D+gjzwNpvm58Hb+Ir63afG0TNNapNSleRD8WpG+WupdbFTTC9XW1Ugm4VRqueL3jg0zj7le7HY5M4xjUpGBXS6hIbzbClwXyv1yvf9E9Cb584SmbsgvbjU//FdrKOXF/tMO7lz7+Nzcnw7oUt+iDVKPK2tKxevj6e+qyp2tqv7TeGCRFaqD5gDD/jgWWpHmZ0U0y76cJLXKSh5aV7+BvY7HrFI5A54OLiMPhWmpMUkhuYBSLJqCOwLHMC1VtW3LOdnP6OX6fRYFsRmnvkVcS0QCUI4d+UlGDQapJ51JnH74Od9kZLSBTQWXAYHj4oNqMGNvAlF6I8spya6i6Lm9jCCJtEvQlYIsykIacBGJ1c+8ucTZ6tkFpNU6m/jQnODfVZatQeoNkNVtYIp5EHOHdftebHRFnkLqFyCMpEb2+kFaWpsW07tskaJY1rYDISWhrTwRkI5ZrN/lJ5nHN07P7cn603umWoOzV2/fuFL7st88OffQxgOkVSWp7hS4H7P6WNeLC6cOt741d+n06SNjfwjpp490V87fm7qWuzV7Jh9PETOnvzxz7f7+p1Crq4cqTSn3Dz3WDiVvCI3tos9tgpCXnvK13bvavZe40KhXguNRIBGb5zgsBfVGs1EUcCCidICiME5QzPgNPA3G/Kh+yB3SRXIXwHYA/8cG2U7mtPW0tBv/JRIEF9KD1AFvS/Yu5nznGnlQywqfK59KHdTiSJLizjLDGI93BUEgfiZbvMSzIYWWoVcWTeEDw+7egnrw2l6MzqQAOtxy8HUZdGXPFKb7lnAgaqsXrIlm2GNH2Zc3vrFz/4HZKSEH/liD51R9//2PcE1kKlJa66TSbGYTkJATwGYyBoi7NbSN3vGconYP9AVMJlazoniNaLgHsBxP2D3riDwHje742w4lGE/9M2zP46/cgydlLDneZBVdEcXv7EqA8nZrRWa8bjd3rxrKuZvhAGKVrc4Kw0wk7uv9pxt7redj9F/f2E0DH8iivlrWRaKbyUCa/rjdeRqVRUo8wMeJiBPZmN2ZrBzy9xMhoLH5uHwucNyiBRghl/JHb5EEzcH4S4nDwLsojSU7MBBIMegaz5uOOELkEE+S1Acc9HnWJNYty7DLIx1XhbnUJZYXpGy73ygpSHLiLYffu+ibum5d7z+XHKJn2MqQYPrFByKDJUp6YFLye8PX6FTIU2l4l53eo1mgyKeDarv/LgOu9FRCy2eae2c+Y7tZJL2eStM6cNVmJVtc9bFYvFw/OlPvdNoPFFUjZ5xqd5hZMTWRabiMcFZunIWTY/zD6idQVJwgGTtT1/uO0s/1PfwiomXqR4pma9ihFGHenuzu0Ogd8z4bTlwKDJ75lVcIR26SPyyKov67o9grcMQ0akhGX3Msw7J33lVGZVk1hfa4E7MEXjW6gGz6bNALGFUJirzakqRC/WAQxIdoHB+iTqdt+9N0OiKhWbO9VCoWlJc4uOFWIhVLcq6r3CmrRJJYSN3RwvbA9AN7476Fl+LC8lkIakZfV/jIMoGXgKzrLT5qiqUoNNPkEN/vWj4V/dnN8X5iXIr5RvF+Ikw21JOxHnRb86aCtl3db0r8S+qaqjSr1iMJ8b1uzYdjQib/8nzx1P6USlRLde/ogoMa1v8HXX/yKh6a4HJXYsJLFKMqms/7b5iOphgvM8QgDb1t/v9H3X90Dk9KD3ZIMmpY10/FD8yRRQ76Kv4txCpLTHN3h8PSTXRY9DaEuEGmgsvtzppTQXDygHy6LX9DuNS6wzfoYJmd25rredkOPBL/xXNnWh1FbyJl1/5UCiYD1yAHYp7OwRuiB0SCAf0J+b5Y1b2AfwKDHmA9/Zo0zvUTFPXF8coXSfgoTrUAORy9zbN02X11R9gBplEz6Hmu49iGtmlVEiW5qKQkstCN/NRJtePdd+neCqAOTEpfySeql38Q/8n1uzgNeJfsZYREf13bTC9rbeEoACxUVio3mXbgQSke2SgPM+vFRWgnen5aPduS3dBqwm9u3pTAsqp736j+Rk1Ru0EZIRYv4mfN1JLrIY/Msaw+0sqRkbVEjNtObWlHFtXW60OqBvNUfKDmMkzseODYqvsU+urhT3Q80YM+GQVt/KCqYRoRNkUARAaZwLG7MH2UxYmIjfWKqUp4gThNOGXDAflZBkGyQaredc+35XtKODoWO72r/AcuLY+nlNtOD/r0huwieNwyTOMzqPgmggTALLjOu/FQ0K+Mva60nVJVmkBSoSXruSvT6pXYAHmyF7tG3gNXqH4CBI/vRThJOpMEos2Z9/YlAmzbdSN5eo/j0HffXYGSIMDVASL+vQ8oW+WMmWZqM/qTFTufq9sWR+SMjeh3ZfissXR8K/6MITEMN9YzW+3lFTmi7uXZTQ/DPJ2UvpTeSE1+8tiH/qpxaIi+f9H27S8TCWK9OAGvwC1nUygtyPk8FBkMOFHba3fdojUhmSSmoSlspYqs61nhKrsvdm7OvdKY9Ow1tZt3ZCHNGpCXbbOve2P9lyu6d/XI52/kzL79jWghW7wze/PM+pG37SCzcujqlrllrRQaDLTfn8aDVmeAFeDIKg9HlnjyZC0o2rrIsRtLAY+mGf5AKOgisW2ZIZGU7e9uczVLIVM2jRGi39muyum+MFty07yGhLxQ4DeJJE3ReKSrUoHvAmeD4FALCGZffyyf1TSQ8zIkMbVvu6ci2sSX4YJ+pXMaaMk2jQfjyWpVco0ynL/FMKdeHbVFNM8amxAYWPQwisVP+beCH0akj8xFo+e5Q8cjxP7Oa/QAD+jy056mG0LT77J4jmN5SVYVKkH8s1qP0OgrRZZkyNGYR6ry/UKpUnfWfS4ZWISh+YLBUVi4o7BwtO7MLYL42QJSqRwOnKlUlDzOsQwGh01sG9r2weOdgxjFkScneBxP+FIgfWeXw8E6llfmhYfCUtcWS8oo0a0fFRZ0UijUtBgkCOqSTX6sc7yEU6+GHIHAcPwOy8uqIpHPhQIgIMDVVoGD4m0oHk9hFLFQW60ej5ytqnzaciW7GiVxSlDUtRypuuNaNa3XxTQbc/84NLZVZ/cshToLvkK7Q1a5USc/si7vvhkvSBR1LkUZ6/dVlSq1doVcwUpq6dZ9QTi/kJsTt8zQpF5sDbFjNJaIjMzzbtgP7RWUZlEbfchbFgllC9bGq2zjl5V+Iei+FVsZKm1vRJYleypZhLOQ+BkrJI6m06lkkmtXFZ4hAQZoSJOo5CuOdNvtvjlgRsbBrO8wGBiMXG42jy8gE2q83UhIg64tFxU0zKaEHN7T6P+Wa0t4dFENv3FXdJvEYznkS5zBP+46weQVG5/dqo3gtNAxZAgp6emPi1RRcO383/FQ0F0tM1BEMhnyX+pUDF5IrqO4nNvmOk7T/C+JtX+iA5OC4rjvE6jT1myt+RS20ZliMmprAlaxFIVXyiNaNtxUyfhiTelkrJ94j0gm6LAOXKspJ/K82Bni2N5G4RSvsJEtloMDSxf7ZxtRzW6RpLJ+T4X3Sf9DHldRtTy5LaS6JAxBCxW/Z9oVZ7NqKEzG4nlaLG83sn0On3i5ZnlaUd9PAAmySoVap1Ur6qoJekym90S0d+mZuP0H6Qzt44IVFU0XwAwuiGImigAgGgz7FwGJdd0FnGSVR+NuNNbnIDBysuRqEpexdnzQKJB5yHHXfpNCYDD4K5fXa0Vkea+eI36t5IgitGmbWRJHYq4gwK4ZDubXjUmhmLeZ1rxnkZVdHajbS9pQkomY+35KH4WljsGtbwtZbeJTd0E/IINz7SShbqYJo8PjN3Trp6VS/RjdNFk7dKlq1/ifBii2EsuSdaLoO/ZNXjU/MBSyHY2v+l61MZphvLkwLBiR0TLnknHvwqk0x8k5HA4b2xy/WLSJDmRfRTAgK2ehuF9dL8k/GM33bcQaC0d9HTk58M1iptr2da57FJ7Z5SiTsXxzs1Spjt7FSgoO/ts63OiNfOjE5Vrtjkj4VOoGRZ16VeG7piFn9UhMrliPvSFLAneJoiKJjla9ZEv0E3cDcMWYQ00dFikcSN3/QF80hmfZCEpw7cOmBOuFDsLYfWmsS1Hd5z83wQcp1TKghAdVk1kG9bJfP1lu9vdXUj7rBl9KlQXPMpWcEUspTz+Uxskwn/Jl9m41EXu7N+YBVd09Goa+kXHG1nZGmpLAl6Qxuxk1Wfjsgf4sbhGj67L7Rxo3JvJSXckKY487FE9NueR5JrJCQzy8kAmCm9UB5WziXWWCH8qLLkgfg6WuFxjoYyeIj8Spra1u65Ue47ytCH2ZzYh3SVG07kaBjm0iKWWf2W0xa4Q8HEyIx2zbKVbbQ2jTEgQ0S4xo/bfhRDTg8x31Pt8nHV4TERFJ3iKIkwvnYDgnHifGhU3vjZJi4KISjZUoNGaC0j17kO3DcDutbB8cLDAZR9M6/4xtmtGvmH72Jqb/8WFcI+dlQKBy17AlZZWJr6IFfSEHZhmBYfYHHsrnwWYiFBdXdfM5djc6MnrkxEF9QKeSiTVmIbxkmWPrupQ5MCccZ5+R4GzRdWb3YpDbTAiWRUxMfVlfLanbscCRkPirF50THpoWOjYzFqChvaECrz9GkOxmNlKTUFA0kkimYVh6RCYd8wu9g0rdAcDEcteQBDrWkan4stYxzU/5NPpbfXqmYXOsG/geu3U898p+YFjVpknASZ/YHVowRO7Z5irIPpgOysN32bPbXxl8/+d3//H8I/XKpSB4UioORVPsYiEK81ar2Tu9G+7Khmz11Oe+gUlyOPr0bPKX4LE9F7p7NhOp0RpGpLBFBqkV6XzbJuKwG34htwul24p/Wl7NXGgcDpSsS3L/7/9cxh0+29saQX0JTrG0NNrd3j2zklrBrk4Lumtk8JB/8L8mcDQgCM7JhsHlYJyl6RCOvdU1RYG0t7m+95EoG379UGmAyhgjLKXcl/zRV7dE9SAy7+enZFXM2kjBgEEZkAHiDHTDLN0EyFuOoUJ9KSeo/u3R0YMqtiNHD48WyNYw6UmTqqS2uVMh2uGw1Hdya9YJiGfL03zLJpoW2ocMETZCgNhD7Tbk0MStcxYvKJqch8DwOP4TZ8J3zPddx0Dm9nffxPtdHNH1XWL5qUg4Aqa0A9Wy7zi/jH9iDMyLRrZ4joJ5lKQh+f6mUNdVRchaQE57I2eD4PgGAI59xL954T4Dl3w1uopj5PchdkYVGXdQdRE6C8x/uF1eNFDkULdpv/3NWyz1EAN7K7mbAFOPxNXuFXRG32ekrReZzRqjvW2IoevmukVOvTMoa7od0IktEAmJyzszbdUMf7+V5aqQ0StTs9mhVvQzDtGjH0kqlQeKDEXgqVhPoWLLfQ9E8XT8JmxkVsOLpIe9U4FxACWCS5ovIqNZPPQqZn+HIm+FIWKqS8pJxan9zR10xpz8aWnJ7MOdbxz55Mc/XvOlHhycD2wn39HNbTOMJ5vzo7aS6gosCgS9lzoVUxBT6zAmulu0oxt2aK7/Z7ZZwBU/jaTe0vYmh8PpduPFxp/s/+8JrSvN16pFz9IEmkYxzi6QD8Ih31s6T96jJWIf0onY1uZlKLFsaU9flvnOrRLu/z/5wfwuE8wjHrDgLIKSuqFLbDnhU9mnhwmCpMhdsqKZ2msMr9VeP6p1sOHVVAB+Ek9JmznNwda1ccPJ/+BQ2dXHJWfVmPpcKfY0cdZaCyfYZIr2gL1RazsayAoJYUpx6CGR/ht0/+8yOZZlmMxJHI/FY1uUZcSmXkmiCAFNYh7f5Xanf4vmijsi9gAKe5/wvQyZVdeSMSavbl/9UQTD3iPMhEX6xlYqTuJRCzuGtrV/YtpcnLm+q+Psuq9jadrMGntli+5Mtbl9eDAioNSMoxuG08kWKCvEzpd8aR0aKkVmXw4QS2VR3LyJ21e+kD71izwmEpk+CoLyDrg7TIzab7/8ydfyeEWbe/j7tlNlT5f5rAUbSGaLZbt1PtzRC5liNai2el2W/Yg56h4NSZsNk0PI6ZFKJ4A51yeh1UAtFIQhvG5Q9GBwBpjaM+JsehesT37mLRq6kVvuDmRIbNSXo9KnC3dwXsXV2SJ1w3XvMFd/l86YtGIZTSWA9hJkSdIoNAxNFfMeDdAQdAPrXTRRm+SSILOfoEUXQSAIioXj8USyLf//xKTZlt/OzvoUDNtH+jWxXrddp5d0RGJK11CggmztNnK6ZFAIEPk8mY7HzlerJ3fSgf/R9PWhD264S58/Y6so7vIVFtNJrm1A45LCg+Nm9IfKivGE/wqwAMGhIY9sD7B3pAvMIwHwCrl9zpc45iBFpZLjic0Hy22ZRMF1nycSgeCpYvHIQhlBTFotc2mW5g3FKdoSjprc+lrvXPJmJ8AfSQokb3taqg9m0GiYsMQtspejEuuEUGSw+5r7QwQDx4m0XemYI9ddLDZNXZNyNlIgX/Jqu32uZpJfkXonZE3XSr5GUaxaqAnjsdAK89JD2XWbY9swzM2JusNkA8FjSeYZT5WzluY2Ok2VRvugOJPhJxySdJ78qLCYuj5Innp11PccRwcXoJL2yKZyKZ1Ko3jmULtZqwRMy5HgI3GMxfFJaeweu2J3PrWpaAitb24n+7jpmbRhFGXwBFMwKMq490UwlTuquTfhlB/zDvq+DK87q8YpLlMMxvScL/2xweGDx45v5olp/wCfVftySanUHr8H4KC0L5BkySd2VD9YRtB4hIRBXafuf6FnVRGaDL5Ru2VbgpGLtTOVVMrZSg9w6feblmlM8hxDrzc4t+Avail3/5MrnN3IZJ+LsoLwtZKT4/e2kBC7zopxH+ea1eMf20ILefhS3SvHpRJPrA9QBPCvnO3WPcOCX7C8nqtEUzjK/jwmQDqOcOJ6/9mFsvdBu7gezS6+kzdxh+dZo/PNPPuUjoTE60r/NPBQmFW2gq1yiiRThPfdd/hu6Gyi83ofLhYGuU2gx/5KDI+YvXfCu3H6hdvhJydYXhKJaY8Jfeu4+64nlexhEhyjBTSC4Xj3GBGU0XScY+Eh+kPas4EUu9l/jwx/n84IGWKShdxVgpdmndIsi3nK7OYFicMX1Ks7QlakqtsHJrueH922N+UP6BWJQRCkHn7uz2Z/Ake5Nnp0iNtP5GKBsvU5ET3o/J0ZeRxgtUiCU+FQKBCAanAMAUSejFKc0Wy1/0Ys5JEk2mKNxmlglItQKTBFu7Gi5trcwFdpKJMCf+dJY3UrjzwcS1JEtqynKQqSsSWJoYpPXf+j3AYoKnwdSGuxUwhSZhuDacRatmdfmgGTpJmlo0NKF58yAk3XSUm1hX4hfVCbpvfr75Jmlb1NLVEFXpDcVq9eEKCow8MVND79JzCTYie0ZXvy6iPJ8Iu1xlvY0ThsnqKKu2tKu4NzniWLXNqCKhbD77HsxYUqy9pvFul7NEtibY2VRDGVQwTuOHOVntEBubaaIZ6xR94qOFTXvQ+MRYOtfD2OIP6jL8O52Ufq7Jc94vHKtmjk0KDSpwnxjeDrnx42enh4fhOhNyTxpX6IrAg5Bxt0kngAwCUT+/vHiE4oxc65x8IptkIWecjQ1oYNWcADhRrdmBt5UvMqcNjg67RF4cAprqX7OptW7zzR5zUKHEvlnmPqct5BGhIIXmo0jgTXsO+sljU8tRXzxlACLr2Lw2rBZVLJha5AbA8FRwtt0NxqLBQqz/kV7UEJtn3QEGHz6U8r89pt+gxUp+1wTW7/SlwmA1RfqzdbzRhCtELe80RkRdmoFW062pN0tGzOY2xz7AMFNVKbUCQQIFo1PnYzuiIqgQSO3mNpILOdYMyP2Y4fuyKFPc0HU6/cZtlTr4qNcUPjxsQmh0WXzDacu0j0E60fDTeKxUKjrreLoY5Bsa0xJVWOXVdURV8dMhSmF1+4ThgA3AMgNsOPrUVjci0NcFjqjB7RBcQpW/gnf+LMHM6JU++IGY0kUltgwJ+S1vzokeSV8naaSLMxfl3h2ab9HB/x4ErH5W73lIsehifMc7XjkV5aL5QLWuwWxGjZMiHqyORhsUbxyw7FzLI+EMYbWjuYjHBGp54ul7W0ELGej5tUNAGjrZ7des/ZVm+7el1Jve25WHU17XPZH2tM5RVTTg9UhYyH7zBZi+Piawjl7N52cYcoCDzjss+5hwPH/eMR1RckCsH+yGaUmVRs33/GMJw/4COsWiyK2/BAJQjS6HwjIB/tGdgiDVQYW0mf+9NDDVMOY3H9IydfKThqO4nGrQC9wQyYLSls2KdDDkcQGObbZYml0CxzIm25HgpHYFD0MmIZ1227n/gTjumy6UHBsN7HnXG/VDDZh5trwwyNvVME2qoZLLRIZJkL5JjwW66GjbK16Uso+sxYfSyLCzgu3Pwq8IM4f08iQ5hRoQVXL5frjeu3EV9kfkuZ/aRqztzHHQ5cbp8BXXD6gpanhWkdC6mvkyRZnuI5hqpxDIUjJzOrEYMhH95B03Jtj/bbTz7W+WvH6qGz7GQy745z7xZZ/OHZesWR2VhHltLcB5o2vlAky1P2S3HKGkwGyFDK8VS61zsD/qR03RnqU71oCN6eqDs8vdR15Uwfa0nGHyY/0FeHhagqbK1IQWU68att4/3P3Xh4ciCjnYrnMJXTiS6MP3k2MfTk+oUP5rXMgit8cnDtcoLxSzRdin6x6GrynLmabP2s3Dh8YlsuxkFTaww/fUpZGvmPxF59vUJLsrhe5Nn+XzKbYKZNmcnTH/EQX9rpyh0MtBJI7wpJloit4+JmKrFRHq/fYs/sMVnFkjALbohezLeicfvj97VxCkmt6G8JpTWhjpddQyQIUrDL9IOw7y2TJ+839wv/5QlhPHULjweD7JAPIOZ/nXmHz2T61nqTDwY5oSTSXO3biSoj58fe+/oHg/dmnmwuITtZJD0xOPOH2ePn31sKd6uqEgm+EqNXCuPmNbXd6veP7j9SGA0CGytk2T0a2tXQlB5ifutu235dntcSWjACDB2PtY5PisgAD4b8Wsw9PrEkCoDj9l6mmx69I81NxdGY8j+b87/OU3XT0qA1ESK++OVm85QjkrRHC/2bqUyEDaPcGMRR5ACMdx/j/g9/6bUZ/yHWydPBf2/Mh7/rBzG6ONPQyhIzdKpYrh8ZwhAY/ERUfe1/q65AwUnIrPmyzC/XOtt0KYGlfQeJLG/N54ba6A9PPHgb8hfKhTBYl1IMjhQa7eZjQ5d2R6Cqa+tFlu8OYWDEirR8Qd4OKKyibNF/Qy1JdZqFhRGJH9aZHIK2y1FIInrU806U+tlS/Rs/smpf6xr54+LG52bwULOD9hCD1cueIUtQIkrcjOMYPBpvP/oimaQEv1PlI64bXxRsZTfyhMbVni2mdXT0YnPSeiWOEdd6t9hp9QYdCKTmAj3bJIpmiD8qZAkklVRGA025lXqjXnZ1YAyC1oChS9l2p1IR03DZBb3iLsdP3D/df37sT5++uVwE/cm7xENCZwPy+6tnjlKHycnfTJXD4LiU+h5o4rOgkLAMAnLprx/+H7rgXFsqz99X4ZmywCTUgE/549c6nVMydBGndzZXA7fp7x51puniVzpMzx06hu3Jrjb3E/SvooUBgiDvfAxBTGsEz8QjIEji1b6goo/0208+N7Ntj5NkEheJ98mF3Ls9ESfZ4b0Bz1tUe4oto0Wb5ffryzpzBPXN88D6cXH5sKKY8e+MlHxn1lglnry+Rc+PHnuEHDDR0wQRCPrg6Xw4hmFh8gh5Ed8Ucka1JrD5pGmycifvD2IelXorP8bevFdOSR2qN+Tjxh4VRS8ochgQRkz5a8Nv1xKs2WUxPfwCOfzWx6smTM92YSBKN3BEaDUVA3A113Yh3bbIW7GetIBIpyOBUIRuF2DnhRb+HffosKcs5GqSexpXUE3rHrIMQeVkqjdLdWhqA3ML+jehMWKpvx0pSXrPboZBQEEAGcBFeIqss0FjgL6Z75ijwHdgytyt1pSOht5VpsS66In0IwOcgoN475Fw6IMmg8I6jGHm9m3Idmo7M3Tr4/VbnY/8fLleQOkcqbvPEqssl49HxgCn9g+aC3rZ3SqnolDvc3ZbqROYjDiYkYwaTQuI530pvaFprMa2kfZafsu7PzI4cujo0UGlX2NzMX21n6oV5TOQTDx3v6VnM3eYMbY7SkzHipzPNQezvs7iM3SUTubJK5NSU601ZupFnkQBPGP0sFTgbfeVVuss81i+Ng1BajGOln7gsr0afA9mS2Lm7IjcftvkO7LEfIwpcefi6qxaHD3oU+cTZ9ka43erh1nT5IGrITyzGR7cBHpoCF7NkJqlxpNhDEX5g+cYUV/GIJoIOV4qFPD6fIVPxmv7UxrD7NXTL15puiwKbgQCg6PME1U1+HO7bsu/rTPiJJJcOTCzTTNReTuzZDLg5+470tf17BUbMbQ19Fpk4vazn5ZX7BZVhazmoV3EsB6q6490DjWNnXOr/2Cwyuxak4ksCLm5IcyBokBpvK2kaAiaflc88jGiafxIxsPW6tWKQqC/QWFH8tpr+ZFjQ0Ibi6z1s8A97U8Ri93BaRYKtuY+ZtpYUcUKcppOBJqZ6srv7kxCVpaPYA472Y4Ijh+JJaweV4fv8HoxW+v6ROxaGDihPBHId5XLzTj+G9ePX378yoRU//7RQaqfW+zW/F2GOOg7MPbqYtz3WhB8ehtLxlok7rQVR+j2LEkSbiPj940kQVBVX2R9PtftPh4GcTY3UXIkIgTeySnYjUAiZQkF+5AKN2xOdAi217yw0XXuO+myQr3kyGTQd6ldMUUp08RZq7wgR0h5mRs4eVThWfYjXg4ET5SKnqfEN2ki4TkPuSTkkmnkuA23kr4VPV1M04p8JEZosbSoQwWZpgnWavTM6VUkvpgn7zPSmY8Y43k8V6Cu46B/9XQymYa57XKC2CzL1/bEfaSpJbY2UhJX+rtpv2BYjy2VWJZhMyIsEL9Qq51KXRmSdLB/k4VEW06USqb5knyHfrBY/+uxA1EZZ0jgJHmtayvBkZoxXWy7pBZkgCNy9xZbhlZF8fdFaGIZP9roBXIQHAufrZ4BR9ijPm8oyZtr+dZQP7zQAyN7kkNniTmvZppqHrz3v65bmCq/7d13huXB4UcxGd5+hzq0u8uL52VFYhEEwrFPk9pyOg7GgivqrTOVK/YjTZLACwrfTxB50gC2rQ/GEI7bo+E57UY5aC0UVHcPJtn9Zga2aUiHBKgMiUIpfcCyVdCW5+k0jOMTZj9xLOgPwYLdIBMW1RchYe0wyJ5etw0xY+MoKvAIwj/8KprVP3EsTQOtcV/T+LdpDIWj4JrHwt7vYKXrfiGXivIFzGA/F9Loj9mt2NfHQxEUebvJLLmGTI713ZDkOrr5rh8V0W1/8B3zTYmnE2ooImHoerd7EXks8zSZwaddmSPn3yd3//coP0z026oqlYiUlKINBt/oqvqnd5E58H/eV5+I3r01RnQ6n3Dnj3iWOtCeMB+fVp5+ESxbA8uW40J0xJTpAckiUFJECryhp4o0gYR1aGpK5UgUxXG+VCpEypPzAMtu6vtTN8UrnfeI+ogL35Dv01UMq/ok6b/8Y43G0NDg/f9SRS+8Jxhx5NE9Gr64OfU3S3zKEM+gxk7+AlO30V/4yuVzySudMeJc7WyidZFCN2N2wnmeCxi2VLWoqDupXujF1d4AxTBLhuW4PNJqYypAtSGKr+WVBRZvlYkVyjw79oUeO55GYWCGDK0yZqwg8+CGGMZWVK1wjDiYX1Nu05sfW5VfDDsF78gvaJIB77Lec9ShqHticiVPJLII2h4PB3wTsnywzglsJ9vSalTg6ppe7G4TdnIHfaOc5DW3Si6PyFjfec9dVZ492SpkjGFOxatD59BstjpUzDk01rSGmZ0kx3Es/cukKVuWbXtsM/eTUaJlQOe6D02KjzXNrXAHJYmSMExSGUa9+4kzufezQhSt8ey5+xTDLWt0CmDmHs4WvoCD+NT2yg+MSg3I0mqa7vs/b/INVaQBBY725DeJJMOQaLiros8fPADgajWGhZ59LNB47zKciGRm9M/Ax7zVU6eBU/qJ6Mz/vr8c8jaX+MDqWK2g0XXUvNXH2gD5Ptkb8frCERSHkltBYPz7K33s7/MBdbpxEbJ8LS8OCWVEvjZQLvulvL/MYHKIvAwnwv7ghRofaoQrCQV8/QL2+CVyjrsYIh8+7G72k8uPZy6evXv1wZWBsCmeuO5sHV2YpnGzhP3eh+bU1mciz3FXMnln41NV0W9hnXN/xMkNvPKRQbGTT1vIdc+muqGWPnKO+4QrMb9WYvCWuT5MibK8YrRe/JQpR8cgRyaYjSdVVrS8PF/3mFSgzm7DBo9c7+wFTnhaOeewpCLJuzR9sjErYBEh8dgX4Zt+eg/8tIoc+O+NP3nlF0vJee4esdDnPzt63blJXibvsuNco9nlEL1Z1dlxfVEd09KA3KK5XzGODALhl9ahcCCANvLEbJ8ryg05a0GXu1K1RPYLNYJf+mfHIp64WxUKCzRQaoAx4+oj0akffFbLWl3yPscBXvO0fjjueAxJvi7QFYGn42rAJ1far3U6JxcQXf95FMBLm1SKJdK2z3MHfr5xXGZw5Fl2PerO2OVGc8rShHdBShTcCyjLTs6TxDLbxmGCU9VljTTPU0F2ApOBYt7uWeZAKb79iM6nJBkTUCMukYdfBLPHcNxb/ES9nM9bCShKhu3TBds0TgBp/Od+FwPorRSyG7beA6xia5BCJzq0UrykwYOhcEmEyb3Ni9DuZQpHUWFHkajU2UZOlKTXEQRunN4h4dSM4+ayNe18T1MLheYWtEjuIbe1yaPfq2c0CetfO/R5IUaWkx+zYUXC1nyRztTE7feYLBbtbAssiMm7Q5JkmJVb3BeazSuo/y77nSH6RbZBqb1p880b2DXtfAZ+oQu8ksmHR7boTBfax/AcW/3iB7GxFrGhKySwkvm9N57jkMePxPnNz0EuhL6RpvOUb+1z50Qs2jwVDVWoCRyro8lsr/EsTSIZJs6kFYDBERDs3F1oun7BocI+JALYHYq6sIDsfSfj6/nKI3Ur6HKbnqMInJxtm69ZWSNYMy/tDeLQe7dZK8lYxibMZkZAW4dd5N0KCGNZVKCXlLcDvhDIaE8+cRKSIHF9CtsPXekcSMy51V0uVBxgIBs6j1wIdJrOdhJBf5pj8SGC5sUxEkORW3i7VQRfKhyR6oeAHHai9UQknrjabg9nkOcinlpAqNyOpSH6ibHvIU8SKCTWO/Waw+WcmfktHII+pXkaQ9nDTqnWeKRIfGVdxRBuq8iQqfNjildvPW2dEOnKem7VrRVmCzrUyO3zVe0TwHK4kSFmXPQB1BuEpZgvRtiBGbYSpjPnG0OigNfwJBsGqXDlKd/vHXLnMFcc8Rwtp9Lw7NKh9x1R76VawfT9+p2i8bIUGQq+j4eUbIeVjaihmGk2ix6f0TosrtarnklnpR0N5XpxVUOWUytvSEQ/m8/AXyu+OMNntJWRlC+IIzyADDby0FK4p9RYZe3Ay+X4ABp+yO/5sx/0gcQohnFPvggW7R8wtxt4i13eRKIrqho22xgyMZCEtRSnpvXYdj/SAd45h/AWcI8zCrWNvg/Ln5j2Sz87PsI3k5Hur9NtsXjIP0htVm37Pc6lYeGCjqfoAKhwcVaZ7n94gNVdL8shUNusuLLQafvSJVBwhqacUq7aLLHzA5BfjEyrn87n7/Ab/IoZukX8P7q/fPly+8aLTI4jUoGnyunwWyDY9/7LzVrguxrgIFMkkRdt5KDgezpQWAD6ihA+UbBlnsk4JKSA6PFi8cS0YeRUfFIqV79cR/Xm0AIb+v0RaC3ftuOdRDoigbE34LkOhtXnTR7moUgwnZcUJM/jEUlBkBlYqUZ726g+oLaReskY2TpkSrA5eqUjEkoODDVTZpjOYzFhiMleeF+7lLgDGbGojCz6dAgnwYSEwFMFx9S/0vxRT7nr2pYGrbAAC4OXm80zdjdIXmPm3OORG8QVaojOiWvKrZZNEcpyZXdPNrRPOwDO1EQZzJyFYSiI8uWu4+cCg4LzgceRUEJuX7Lq5/7cURR1BIYR3jVgmcr24VhK3wZbdzmnUvJzHAQQk/L7umG5YmsUmNjSFhBy7qoWsF/gAXLK9t4d1HLnoG+bG/EdKXILYURR2L7B8wwm16l+QUrl1nNNid0CR02Fp6DujPhZUGr/IOASm32uG3v/o+z7vce4j/zwPJ34ApCUGVShiJ499YtAgsv4Ish3ynH5ycG3LVGx8Y/tOfVU+I5AX0op5B4tDn69NxWS2K7pvWNY7KQX4/0VIaA3YUD+85WfgRSAMtWEp3cOrOe4P6A/fvnh/k/KtZEjRz5Tu67I6TBqPPjSEqkBVSZSZMSC43+tanFoc8Y2C1p8wAMtl+tG4UmgPh4jU7dsoz5BRhlOl3ValwVelPNFeQemhDbP1VudXu+++NBKHUbDpjFMqAmZFUdI0r70vmr60T3uE/0MR0IgoVjm4yducTCGsFSCHmxDipM/zC+XP2ZQ/fbBuKDdLKn3swNJsf/hSu4zUuutaRhxXM/zzyVAECjfFAhCLDECIuQ7P2aHZcOoc3QGTF1Tckc0bTysj6NkT25szlV0IdGT2FTQe6kd6CyfXEMIOVspPJH6qIfK4PiIfuou/DqV7CHJSI8lNEx8T3o8d673j3oPmwcWkA/EHj23Xbc0NimTJCGWtyrpTVfCo6+KjWPhduBevtDGtIVwvCPmQUPf3dNll7LEn4EcJ512qp4GCj0kGzc+tieHBeFD+g1NE1Y2mJfHJcEueCwCAD0ZJnjl3qdMr4TUsadhj0hTtPy4Dsn7vUSc3cgkpXhbFKf02jp/EGg6Ro/KGf5p/07U/H9KbofUQVujoeQc/GGrqj4RJeyGz5UsMoNDqMGnZGt6+ML81hiVHxQM8Z4CkKoPTnsyd+IqtrPwyjiuc5znfa0UrXyo9O4i6/HrbIHneUGUVZVJg9QqBp9KLBn6MlOokKNwazy+RDvxMLrdKFs8y34lp1Kn4r/Yva5ebL5H/KF2ymaNmhEYMhapSRlAiKChiPzqzq6sHSu6oUmYGLutVjBTpbZtGgrgEh8NAtc6ndPtLAukMQy690SfSl7vP5f7wtcBDVFLIK+3L1QsRT4YBDHVMdapkNo74qWI/uLeInnAX6U/smaVCZHnZZlls23LtJz1TC6w8AfduGBYzx1Dld3eEu8ql2ZAUH/wxLQNje9F07QX96A54DdTcqF0cUZxWwMbvID4eV6FZc10oWhCLrmPztPmMRRwZV6PyBh+l6YvFj5bKKzh545YVngLN871vIKaILo9ra2ox72jsrnaRYxV9d5DQQDGBggUXd2ysFWViJ0LwYaH3aEFpWrXPNmvRH5D4nI7L9lAxfoUBecpin/+EOCt5hglWhtfKg8d2oEnQ/9H+Osqojdcovdh4b6u6voHBuoI4aagr/dDx10JybGcO6LxZDR9fYA4jYfVL5MFd64VVYoBApDW5IbbwbVrcj6PvYqVrmXGynVV+msKFHHYzuprXI6acQpJtPAVc0AEb0ru3UH2i48/shaNv0oZxMD74NHcKFeyOPvrr92nT5w7VZn3V2dO+WdtVeYzNtKi4MU6J+3JmXtwRbkxOHrtLlw4Wyz/tq5SqA3z9oGJjxda1EY3Nr4M53/QrP5g61BT4Kt5ZPaffOy1KAlYopgvC6JmSkCSl7sb3zlONI25/DO7FYZFkhTHvwwKtfr7KYuO/q2qghbt29o6Wz37iCI5RRUzMpXuoiwcR1EL6urqFTQ3dgcpvCYDuIE+lLHMGaVc1Tud08D+GZi31QEcTOm3yu1mqz0+NW46+b5hmoamFYviCNGZWi+JyijhRos2QPwv89rNHzCmgS2xCDUfunkV5z4QU7IAzawlAMp21/dWHV27LRr55iHVrtZnaKytlDsaS2ZyobZMJwN9H32GORae0Xer6UynwmyGsrOPlVW31ummcprvyn1tABXt4kNRtJBGjgQ8Kv4qYeX0LpGnkmaZA6eba2y2SMs8I/OyNEeS6+bTQ+UoUDriXpqPfX308PGXX36ExYjauAtkw3HXOUmMkw+Vk69vAV/vzImz+8ugAP1Ke4glm1vN5lu+L5LNczTRNAEFA57Qz0tqtVF8cC2TlOULxaojsCwUdoDirEaN9JyQ5UwOx/FMLA+QB7yX23d4Xg+bJ2MjLAtEpsJpnotPzCBbU9anWp1utztIERkTjfukODPBrdaxcBdiwWnjk43Ql9tjblpb0PVQ49Oe/ACSpQaH6lK3EB8YSvdY6mEAs42yG2rfN097fklayx8PXe3eYls0obIJyi0bhKqeiN5B7ku7bEJNltW87NZ8LhuqKW0LQMgZx1nb2LbT5K+4dmlMGhT1GTgATtNtiSr/Kf+tuk3cINd01qocoURNgAM8JSOtjfwgYDs5aGnICCVyNbitGjwDz1+nDhnnU+HUEXYU78WeZSKRlPaghwPTQqxKZFvG1i6PgR0ifTo7PsAh9EKgwIvkRiOVgkr+y6/8P7d30kgz49pHzNUkbnrPlPj+1B8ORWZWVeQSlGXfm+hv5Ml3BcIhwys4bd/nLjvfuwoVfjNuyk1Q6+EbAGRlu0z3W2yorSgF0/lx8atqYXg2m1u4cBvXWd/rfVtJ4mmznU6m0+HTJZMj0b5YZmEgebUdqoALrmmeiJr7ym+5wr6lSGeTkXAPemwpln3UwrwUa821VUFQrEx5WNuJW3Afg6Wkhg1DR99z94g/FC4O0ASYwinRtu9Nk7jgBUUeB1cDVn5fiw+9sovO+NHa5/Pl4YN76EzQuVYWAP5fPEr/0EBTYPI3lF71c7/SmHoni3W7czqrP1Zs6YrkyvBXgYPpmwRxWnwoVY4VO6m86y8g60VgHHH8UvkCGPF7D56MRsKhENUuBoh961k+D2Kq1QUmiX8Tr6VSMLJLAPLVzXgmT05qLOK2pqjokn9aJG8+j0IpmjseWBKz1woyFLIT36wEbPfUl9GSWXwdYflMMwIwgSYM1tEPKAKboQvt9ok/Ovjv2EaNWZsv4LlrH5rjV+paZiCaa4RYhGJhKldRkpdl6i6n6FxLhHSwYBf8euqnQaZjq6PmzNF7YNny32G+M6U8VNYZV4Y5fwizBhUdFjIMsHc52qO75heHQtm+VRTGw3OG0bbTTYjxVLV6gpyiMZqjE4nxyToYjt54yPMwldSRLOtRl+N5QeiA8gwlFjVl9iOF9m9SHSnDF1inRxfzlsvRrOoUV+9IhgJ6sAxSDx+pG3jjvrWTO4pIm0WEpPiu7b6BO6M3iGVr7GggkoDUfkMVec87n2rJHmsLO4ksb273OABYFsBVmyc+kdvBtvyR9r92vGqaJsIm1xlK0HW9nOZL2nyPREmlRjTpPrE9RDDsWmbk8FA8JTHLcVYZx8vsqgiFNkKWy7vVNzRN0RRT2bHOX/3u54+8+gmiKZDJcAwZrrefOqnrxyOlB319eNxbZSMMzf/ZlL8t5+ujePUSo4wQrnRexlsAysLEV67Cc4u6RDVlOBokDSkDPrydKxrqV2Y3Kz0gTGUqSP35gMQyjDFadKg+jndzSTHakqT1Twb4NxSFaUsnhV34bXqwvnGEEAydw0UYTagb8KmiynDw0pBKYwySGFxiV3vJN2G+kfRMQCwgbDSp0cyILDDbOF4QVoPfo1RfKnqGOiuzess66VhYUSeiQaBKDDkHOF3Fvp54/b6sZJv1gg7mxMeNA2JqGueyjrW77LE5Fw6Zzcn+rRA+7cgMTl4/FE8k0zilCKvj9SK/IZxno/C5P7n7jdEPr6hXCoXDgRPtW+xlBIrboMTOFn8Rd1A5fRNBrOroxqzpVRqbFhsjVV/n4xGCmJen0x6ZpgfyLeqH30//KP5YZPDOGMVy2db2UAZ9IUgiL9R+rrXj3DQHJaatLuqTNMsscScKXyvvksblHghj2HFdkQKzTqnq5vsKHRcHoBQNXwAg2lPpFNpleNpDAoNr+d4iAlLsiA2iCMgPQBs7l7pDLLhBcTljOdZi2e5CpWDdOOTWeoPXLYVrmM1xtlyotALR988m7rKzyuf+omHvPuaAGf00OUkgJE3EYhuQnc8ynadOlk7J06pbbwZEhjL9k0VXFbhxLbdNw6dmdF3C03FmYxkK+P3dB33heV+G09h1OTId36X51hShwvzyBzTNctlRx3G9Wu0y0tyYl7t+lmM+m31HtWb2jtHaKkH9O+ZtabAlYl2lT0ayXJozSILAkQGcXpb9WAht7L4Bksq1a72Hil0fv8qV2JgHPsQKDSyrBYax+8Xjxoszu5RSqEeiCKVQ9C57ZeIGPVFoX5ZSuBIad6wOOGBJlaTezk7n/P81BoZpmoSSqzjk+52dScZ+QjwaerpJZ2jmRNj3Ogb/l2fSbEz+PxGPfAZi8Nt7UiGJrKrO+5qmqvLpzguqOiFqM4CHQLYBQVE4R1e+c9tfPPHfVMuye1yLnX8o2VHkKgfQjLYpfcDnPZcJyKUOnggFAqDbKbBpbSQWhSob3pKkyMlS3qYitnqHmVn7qH/7wsnShcPmLy8iCAbF9Gh3jyeS7f6Bd3iQhsGqHg/lgBrCR9pzBtf1hDxs7qbfUQw31LrTsXTUm1BBV/YGU9yoVH3TV7t5dBNoT6QkjYRuwvxmNsBxf8R+/fGnR1Yz9+CrR3wWMkAEyjaCQPHpOIvl8Cswq//TS00YE6nFwTTlpxVfUnJnXzKuq3u5De236JR1tXuNBLnZnL+1YLgFF3k0j4T1/+C1E0eO1IiX8jynv1nT9OuZvPFmAXb1gzHKnr5GTr8fYSdEzfXUTR5Cb8ixr6KW7ysZJQ7iRCZJUZI1bRjHmfoYH8kDXl8wTDbTNEW6ABfizLo84VneeTO7C7YUPLWdMAJ/hcahGYpKhKSnGrIihDLlsMmzJ4p2tG3wQFG2948NTeVTpCjPE7tEIYI4fR6/KtBVgaPiA4MDl7tvk+TP6wUhnjf+S8P/ge//5qD6ZpVf37xBaNrPQHohn5yXGyIgQ4CWzviONKdan3nLsfP1k5PSLy1r+RmTZdvi8Mn3PHzwiZ+vjRRRJg9652I096X6/7HPJ/TF3mPFcIJCwe7j0IgRiD3/ghn1ROQMxG9SoG/FaDWaFDSq+urhvtNbqW4KRccKxDvpeLUoTvcFjiLkBCe9XE4k+EL1m7HSI4onY57Tjf3xyKTsQDJ5gyJzd/swDemAPRF9O8vgnRRUMAgt5srDkzO1Y4+ozlIPSzKbVEJO585jUiX4kbr+rnJlCsOUd8SMwgIDJJ7WK8mVs43X8kUPYcGMO/obH/0/9qCu5184WS66to6uS8Am4ks9F8HAp7PV86mqbdmrVSe9SfKKqjX1bUOizea5esPG9l/s7c+VbnON6bWxxS0KRXn4x2olLkbuxzwYEUQSAoqSri+8U0ELzsEYlSl+Ig6LVl8mtlLstDvmm3F8sSTL0t0Uww1SNAtmJJ5jmnbh/eynRdagN5qZFOX2b4HNcnn3y50sXUgLoHarPoWTI3Y8CPLhN9MUec8WtcqfIRQX3ZyErXpc3bgjcRSE1b7vYCq14TK8osKVrgzZoZmmALqzPm/qhiE+c3Ort64NO0U3S+bI1lA4W63LSLEq6fqilnwPQeekevNtl47qqzTW/wc3b9z0+hi9VN1qigk2L5eJFLEtebZVNmX81dWVZrsjzjBCZkLApGaWkwTyQztv0E/aAPhcJPm5oqsb+to7tnvNwzeaJsSInO7Z2und6DrQ+LuSqwdOb7f+YIpZWy39TQb64W8f/5K0x3Xj7KyT8pYP8q80YAFdHtJmm9j+IsgXAl1oQaGYDXzHPJ37Ey83cFD4jNDPHjodHJqUrmLT6uHAeoL5e1C3vVkAujyPhWnaKdtA39o2RGbE5Vuk5IFKd6Mqrr3Xg3dd2qfu4oP0vESAN7/lnRDL5cHHf/mJeW49dGkbGAbnfnUG+vm/pZtX1CxLRhEgDYKbwovHIoGg9xWFugpP3H3AGYGrJsmcQCyPYkO9d17YR7P0vFB7V5VN91AkeeKRceFkbJDRhQ7E6jsFhtlvptNjLGrGk5yFqsTRawuDtKYshqVa6hJgSV/ft6HKAmM2TpSKKsid0ps/TF0MjWSK/9dirMMIjf/tz68nqSD1vokHvD7B67Z1e7F798DB4zenLozfG3s1C8jNY2r7el1XEvo/we3t/q0AFaF0IuSLc42gYOaIzcw8NMmo9YEMlbLWg+a7dlSw00SG0Q+h6FPwbHOb45uIiAPm+gG/WFDwrNknVcfSjPvcon/ONUSWSppQw6ORk5XK8QUktqFn1uyGEXhcLjtPqVQNpxFoZHJdkA1je77b0GEqBCgmZfWPIKrrXiO7NlPBRFWVt+JFPktJ00MytXeTItOwfxE/ZY+vZwGUYDtGXA21tjuLFwjykbBw3Hr8uT9f/RWEG/Vq2c9gaQxJANS3mLbrGZgtU3H7JgRp3ryqc6fhCCiJJ4k5nuMYpv8XBWlHt/nA2BRuB7Na+8lC4YHbkFLpMtJPvCJXlXQxa7myU6vwLCep+lyHQFBcrq4afC46yB3yO851Pe5jy96rrxCtTKeEWtwK8gNrRaBrWs5WE+5bTJgFvdoU+9474+mKdJUUjPV3MILJ7cmjQIgb6ocDPyndPvfUOfK15y8LNE2R+bSRiElP16VGo0SLxXPJdB9rlivjKod2nU8xenm+W9Vwml4vHg85f1uB04kBchSfUu5LvTPUgVN8+2GdT4lO/hd18otguZ9hCInjJL8QfB0hQ0BhHUHxy43G+Kcv+VZ+Z+iBkxGJenMXxrqwB+8dPmwe9BVljvsnovNFZXw+nYw9UQC1bOrKAOmZ4IKrFrJBt9HsNPxYabWRkExBf2MBVRXkIYj3pfHux8QzXOEU4/4xv/W6/XzeD34cki3YxedYCnWqVj27ywKOIzvgFGUFi8Umwt2xjS9Vq/fWdtJvsSr4lWu+eAUdpOblW3SRISfUTLbpASWYSA8TYIYpNbYDhJrz8o6226YsVZaznZVe06bIebEzvn9D+no/gmihQHpFKGSFwtWb5AX6LuuivpAiiZWY/3vnXG8SVUPoRTOU45/0dEk4B1Ey2XeBftZKDsmDjsJ2qmCUGFwG7yAlVR6ZbyOolDfKzqYRsKDfpsfIzBl+kHvYFZ2hv3Rnz1ZOQH4+TkfFBK47Oh8bkVRNTWBEbyudTaR4ypYnbPhrRbUxxLvMzhsbjd5ghph1HYNMTW7mQRqg24/bSs4uQqNLBGhFoZXV7LhkvqPAUhGYQFH9La6XQiNX0im+YE0jpEiZmYnNFer9I7LC7I4JyPYJcAEZJG+xbeDhQD26hzsWTFpnq4/UXY53feE5yUq6Y9u3KZj0zPqJuMOwo6w3YtsrDgcBrOAtR1HcxRtAV7luMBb0P5YTPBW/CqX43KrxTm/9SlEsFvcZ1e4jde7mTcpDvgO9RBIRXz/SNUW4Lxy5SaibEkNuuAzz+50/rYp5lyyu6IemJjIQCUNzrdgYyqghaaLRclZ8y9DNZn5NCb4lnSytz6P85E5dv5PrYbqalCV7tmObIxPQa2V06KUFBUQhO/pm3sbNl74ksQJ1/C+M2Or1jPEXT7zBFz3sMYz4EEEwz35UWFUfc8pUy9eTRJZYClV1izLDX6TQaE9fS+SJu+wSOl+8MqUs6oPc18p81rYNo+wrSnWtXG6WNCLh5x/g0JGPik18GS6NE4TQv1tF/iS3DfGCeNTD4e/6I3vD2x+CVIwcQ+hIxYU1DzWftWf1gk2koag7ZDAQBOJx4nq6xtMEkuN5AadpHIyRIMjSd+vC7WgcVDVIJNHLWLKsKNl+0xA5GsuLKQwmBEXA04jy03szhkbdOxhPfOJTr3sgiYcnZMqg6Jvqe5l2m4tITcaWYXNatYTki+ypssZnncjIi4Zv6bzkND1bbnVaD6PRqNYrRUfoj4Z5oaEu89CNtRpuF17mxjQbVPM/p2hE3pcMZ0x5plQV/uFle5UhSDZ0E8rlyk6ib84162aqKgU/+0lptcCjksS1mtijd93R4wj8QgeL70z/vuxGZhJLEYKWIbjozZgJ5igSFLwXRW+stVBUFGaRJ0Yne1F5yDjklyAEp9XtLJ7XvTQModxmBgesp5pAlr+KAsgAo1j2LYbEHBokUyPLpBaaH9trv01hvommAcqjibi3CDmGORiXW67XRRNAIctSB82LNbE0K9BJYh6rR3je3jwGeQ8Kh6GS20qigzAY0WWobMChM5fbhcINOnkBs4jiQV8/sc+YmW3d2puOWeJUd8d1jZosfFiu4RmgyqYlVge2s/p6ElWy7rqYBVd69zfZy9aLuDPZxVVezRYHZSEDR/vb4QrqOLUJTOZVNeDKMjnr8HA0dKFZ1Dg+1aQ4vRDMburN/HVqrDjDrnz2JYKeKVAQMeObpqYoYwiiKP+/PWt1+9r0f63/5sh7/tNxKIhYq8yht9mkIcu8WhlRoUhLpdORKeU21w5cpo/Yd/i2/AiTcmJrLVdr1YquoeSly/QgdSG9L0Y3jUWVlrT9fSqP5P2InFXUsPLF599duXB31r3x+X+up07NF2yJIVMWIhPAhdMjxSnIbD50Zz6rXP5y0z34t3HTINO+xUbMi9cyfir6WD7fQpLZ7S+yp0LDzr21D4W6nqvqvLn+8FGvNTRGxFfW9zQOeP/k6Hv84sNZgsjw+1qj+D0wzj0SZ+QiA+sODgQFkYtKySUjse626xk/43DLAniSS6/e7nphbKWJLHIOT9kmYVUODelxZAgdLA8uD4jzNV/hkNVAklRVnuV56847ihvZPLkrJ4KBdHSEggsyldjkxZV6T8noXww56m6xc/weWMjvGBYQckVFPKPtYYBnNW0Uj2szh2IrSL02wuKBSsWk6RGTb4s6NDRzU8rhAKJuZmDQ3F0eoVN8dHaqILpbRSjcyZiKKBvdlKzO0Xjv/0lru5dUkiJ0N8rb0ItQz2c5UMl0AN2MjCa8L4Gwff7Z0r2X7WC3MD9P3Fk0Hgp5jyWr52oox47zSN3Rp9W3B7IJS5ytsZ0eSWKNNUea1UmrjLP8JdQFbHpS3pS/bZ7oT8MGL0uZOnmqfJI4Wx3rnbJ7k56dyjAeLhBpNI2BQ3UTp+7Om3gc/A/tx4Gr7e4gvY6EtHcKkoAk9dCgBy6FPXqvPu+aztoTo6AdER+ph82LUB/+BawtFbxRDEOPmApH7zZaI7s5MBFnAzWzged5OhEv00h6iHmjTKddbFfJ5DuGrmuaGr1vx7+KOtaHB4wdwlfVd3wXc0d3TPrkQvUVRa5b/qj/9uF/+vHdp4/Yp2f+0UfOo3Ou/oONcfm+HVZ8UDsNxF5TBuGZrbAUZ9SUxWYOCKAoUXzkg6LUcY55O2SY+fDSGLEQU1RDFA2F5xUVx9WgYefEt+qht5pPXrlDCsqqySGzKWGf6hDGg7Pt9m3uqHMydkA+4D1Xu4K6NSgFb6Rkywze8HehUM6fspwoSU2jBIq89Bt/Xh86VKH3EwBdcFiI9bmK4tZQtFa17eqPQo3s1bCZOFcKypr+UQih5dfDbjrtMQ3Au8vO++eAeUsRuaxLQzIm8/hCWwW/wnyp7sKWBUEX0lPKqbgB7Xi1+0BeJ5TCIJ1YDywns0bPOYssVdGM8mTNZ5IunUreFMfB9SyARZ3sFSZZlsRoGtu43pUF7q7ilDbuMPMHUVTTPuEKj19kX4silCqi0cCHwXg0EkEeCIajEjCdYV0XWz5sHgLs3+IrpHIEX6HtkWBiQCoPsLeghFT8kRw2Vz1ifwYW1VulTZno+s6u7TwHmIJocrNUIMAokTDi2CqukiBvyXUcf+vYdwP1u6rx1jt0D0d+LHUJ1gpQU1SmkB0ZtllFgpKqpyqyTN3mzWIjztF5sJ7KOT+52PvkELCm2H2UoGovc649XzweGeDpDPPu3riPTLP2qO/PJT09rWdmBcW5zawTuEIjvfZuVT6FpK6Rt6uaJKj/dO1NEyf3/jjauWVtTm0w8oWLZ84Pr3unZx8/H+05Nnvx/Tt4UakiVQ4cOXqE//WXf3zvP5cpe+r3OYq2Ztb54kAJeBU6X+XMCxdujU8EjNsrp67Pzi3OsQEQJVuPWhKkTny5YIc5gmKKrWMUhXGKwt16Tx1rm3Pz0uPGwe85KLE6noCAFpmAESGLqZwsOe/LFwOF2QsCtDeoNjK7eRHPu8mE865wsnSbGyB1XRSfu2er18hes7cdFhZEiXhpZhRRrDJsb0ts8LAyXaubuy7tNS8L+QV+9FieI/w1y/Ny792b5PRRZXIAb5Y8xzFNCgAtyzAsXZaEwodtCSlY8BJaNc9xXPaFWb85omS3pzg0tJ681msVuTxsJsKYUbRk8mB3SmVF5ToBJpHIcXiXTNMQtIWZkWets4lZdsvluSwBp5iIIVvXtncO6XKYIlMdJJUk5iXeapqreUKlco1sALQXaRde7awPIiV2tckWBwVi12JkqAIJHdSeZ01R0HJd5YZLxEzAy9KHGttqyPAFH7Zs6T0MXqin9zz9UT7wbxF4p2ny/+DXP1Ty4Lz48/sz8bmmVq9dvt2PZEOdN4Dtj26+dera5NL84/mYYPgWvvyAP4c+FM7XVfnPwNdND67e4xUF982kVxioqndxjZUK5LorsiRBKH2mAq8kZlnmmUhHVfvSXAFH6rbABLbvz92CVpaXODB8GRkXrqCUIEpSabZdlZNNkjztuVjBsYQMYw9pgttToukvkr4429reMtElF2yfPhRYCuL6pMBtRSJfiBB+/aFmyRTMrVPFnC8MWJPhSZ4ytgiyG4Rq6NOtKR0aogSzh7v1fiXpygmhvZPrzJFk73q7Xq3e5BXr2zjBErtzHPpZ2kixkXaWFIHjWIYuuMNP75QeejEOHF0VcmVXN4zLyGHzKjYIboxgmNup6DyBL1UcCBBdr30Jzhpm3uB47IbswjMOp3c8t8FmZ2rnvWOq7bkbRar3yz6H00nKF4zCzE6jWC6VhYOKBuPUEs9NGw9HF/pLZ32/Xi+XTwPHQ99H+NjxE8PcPhxMUgAsQJD/1oflG2/8IL5xKAhORG82Te3ZThgHj7kqjcOboUilQskbWO/cwkVZPh45qB0JHpApLKq7aq65Yesiz1Jp7r+9OeJpIBYDgJLlqnH4b+2doaOqpO9Oik+bye4or14jvrXjqfO3P7HVr0vhAWLNSJ8PLnIuoJ5etjfyMMyzPM8GooEjK3WVWdx6MZL30b8T55v30QfkK5O+vY1wJ98UgSPI4cC52oQ5a90TZ60r6Cg3TdvbJz/zNpTR5YDD3K2eJHFZMmHFJxof0MaY4qty/bkHHl6CLbei+TAkpSc0gWyFXj6yhIPBZL6gijndkdYkkecirb6TOw/AXdFxbX0VhISzAHS6UaGEllQqbWGWzGIg+2gqNsjcXd7KQAYEyO9iaLcLAg4cJsf6Pgen3+jt0vhrnneZvNhcUCJBds89EKo1hxEmSw048g7ZiYEbvTRdwORqtji/Tn4R3Ll8Jb18X7FhyEQWpcGwP4oEVoxnh4m77Wn15mIxQJz3fSGMCaVtw7AvkyTjDsrp1QEZe72I2BKPfAHH9WHmW8LWrriPDGNP6GGWRP4srKpFavN1y8Vb0EfI4R98ZT1vq5+/P/7xzCRGEIeOFwqea6LrMo5BNzC2NDZ2rPfB0Hq1eXfpwL6QfHLzsy9XiqTz1tuTBILzkgCloO0zAwhCEjhOXH8oXAn0sZU3LGEfnGyDXzmYjCT7WIIucbnej/NxPn9Pc3zq79TaXkvrwqiwxqun7pGMbGhSVmEAbQXm7fZ1AqdYLjdZKnquY1nnUydLV7HqPILMrdGKaW1O18p82JzgvYKeavOiSKPdS0IavY/C4Kdna2a92elOGIZl52xTUzV9tdgczulxCObR+yaRpHTjoi+S+EeCP73+IS2o+j0cGnG+/sr/0F/jYmU59XCR6UA00HUZob70tU7nQrmrVM6niJYUJakTGk91XCd4Y3O+U1XxW+dqt9qq5ZkD8ql+YqP0Sn0vhsh3Q+q997UIkgnPBaX2VsFOqMQm0D/SMjwRW8OVnQLPcfxfPfijaMNyLbG7IvLIssOmZVb9lElVWZK35QSWdHxRUrsehfIywOfmLSPPDLkyYtC0XHvNxqItGfGfDq5ToXO1o/3EY61TH+Ry9GJorSVxuYmm0rioFdLFdpGKasOuW0EL1neEQdD2h6qbK8Ww/rx6/zM6JYDPZKOe7r2n3jAfiUvmZ0y2xvPOYJHr5FNaqJvmpR8HwRU0gophQoyj58OxCQ4O8nBUExQOUmFSU2McWXINTsGUYpdyQbdER9Qeydx1PZl+JewPb5A0NSkpxpeO5awzZNVj/Mn44bXzYqp4uhmUTSnVtXRFWX0zWF8+pQJ3OTAEEhozKDp1GZnamiJynbWcsg3i0JflfL3cCLFfwM2KqEkhEB9JkpgblUVhwvyvdWOaaR7GV2ioKGv1gm18zxnXG5iX45fkPg3/6pXFO7apbH9/79eP5bz1J85jeyDm7bs5Z8DlJoeX7fJHvJsTOC7+s098y3u9HcZoTNP43BcrpWLheRwB9v31GDf48TxvN3C8MXkLf7NcL6tsb6z9Kp2lcDSTieqxAC4vNYcliohhHDaXbOlj/DjZJl2sgxqdnMOum2nmGLQ2zGuFYI7E2hh/jSxZiZ119nKtIhuubhZBMtqcVL5ayll5tWJEJUGQ2JSw9HX0n/0vgL36aNn3LwR/8cSjHzUgEUt14XhKr0T9J54j0geSUaEUQ3kCj+tnqzPfF5NjxAB5GjjmXcX2sxvaC2FU3eS0SsXJdThVV+QRaLPH262LrZIh7OSWHDtyoqBjCWiNaAqJpS91uxeOiKJta5odOwXuK6MoTX8upK0u4KvZb+h16/35O/f1CKNKtekoUds44ZZHj5ctSQSfq7yoyjEIpjjAILGbfUTAmvzQXDInpVPx4/4oPswcCR42L8FHnfOpodyWniqfAafpkTrMsHnoJOrGVL3ii9nUObVtIVBnByLiXwn9xH/98L96oY87GSbS/ND2/FBPoElSu/5Lae3hAuZIRTMsS0JyXAbDol6UTIFxIBZYVlbfohx8/ah3oFfVNvc4WNnSZvU4GPp8ZcPBG/S1ndj4xeY4OqNfGWZm2M4ZbMpypmmiaLGGMYof8pzNZrEss4xPgKWrm/P9AwRJ0Aydc8hVZvNyAjdMzwCCc17QaMYgsWmtpx2xr5EyiAl0AKbMr+RDf+fEN83YUinlsO7sxrsSx9JnEIIe55RpBKFlf/7RJ1pfhsseE/oFRZmXq9jTQ8A9z50ZDYaL0EAeucDQMltSmHxQsiSy08/sPB/Juu4RCWLrcHyYjeNwGITfuLInP4BNkwAJ0cs46zqWtXcx+bl//8GCChDPQpJnfdr2LklS1R3+xMLNrYXWMDPW6Qok2vZFqIE5kxxmvlbG4Hnshhxv1lZUgULBHEIPwAmjHq0YESdR1cq2LVujsGyFjwTLrq/D29fp8JOfQNYY4DxBVK6W/T7zy6MjlchKYRlRFIRrlwYFjoTVLIViUF5w3HK7F6Viq8SrpMLLn3jZopIUtFn/tl088uphjRhg0y8c1jo/J5rGZv9RIOx/taQeRBxPc4uF21wHuN8MhYTDRmgUZLvoGhbLDBSK5vTaqi7A6bPNUpYSlUciQ6CVczB0YhT3ZcHkiZJbNMXQdluFhuKtQJxun7LNiXqJWf8QdbEw+6HS+k1ZYW8SS5LC8tz8x5hjQ57Zv95GwaDfn26sUPG+xK8Xix66JiU6FXR2Gi9AIb31uTjgXCUPXNucND7hvmJ456YX2YvNGXbTmWGCUJV5JtOHmsgvGDiVjW9yACoyuZIGZoCRmPdy/a6Hithi2StmyooZ0l0fDWeRScvvD8y5b99R5zpVIvkfFnqzotGzzMXDBbGK49X7H5rT9C1J46kOKIH8YA+AD6hv1d2fOFwz5SYp6+nWh7pG032pAzweYTXFZyoXIfYuhgNLAYyK+6YrrsiEQNP4hsjnGNxOqMiLkeDxNGzIEXEUBO/dpi/3/BJBF9/h3rtBEOr1fcaplx+ZQlpXkA1lDD9HkvnHUpX6G76FKnR8I3ahEVh4IvZSMUyxHXu0oI1MDrg4psvtUXyQ8kdAD97pa1py3Fl5RakTnQJL4g6+/jRAOhY8X6x2azY5V1O8QQmz8VtnHLNr3A0QjH6HBQwTcJ4Y/9jQ1/XNbaX1OZbdJX7b+sTbf554dPkxk4A7VJgiFgMKJnCcnD6u6wsT1y8jRY7dPjOlHK6l1tU+/DYXDovifvY+sKy/rHVTJqZZhTzfQNTS/HXdvCpciXrnNj0xmhUqbk6c+4PlaNjgdW1Rn7ymFJZrnSF62VR5muRzVeKQBlfENBGV7vKzlmOyuSKNZOUGjSbjrJyIBoDDew0Dw04DvXtyBBoF80ANqYB/UlEOOQkcXLdQeKxdar0iNzZe5sKLtOP+rTLIEhyPrJjMSBmM9HE2+Vknnwk6zf66jLF2tbN7pW5P7Q/AKcZRzBNT5nP3XO0OP7aeJ3hb9qG+2j+oL8CVJ9nGFRqeYV4j1LXL51tbZLo1Gckhdtjyqh66QgImPiXiFDjfAuPA0YfK9tOHTV03LNvWeI6zPE/qJ8LXKAxGktGgv/Rp6A5LNofWODwJgnTnfN3MGepbQ0UP25By7Ux9kOfeAgpdfZzAOp1ZlZb+3Rc7Dkd+BCNsZ+vn+FHXKxQeyKo+GKLisskWqwVlLSh6FcMUqjY4NzTt3DrPq1SsCas5Qc8EqAVByRBYEoHNH+J/45jSvfzK8TImwfBQrisqtnwJD0UKGhdBlZHBF/s0gfa4QKDrNzVq1WBG6EztoygCx545blFrL0DJp3tXOvcOxtF45CRQ+8ZDJWyMVKOsISb79JdeH503OjiZ2fZamzmFYnhRZDGCtItFhQmfR6KxsPct8uUeW+IEgYXSHA2YSYHhOAbK8JAEYwxnejZPItFQw/F6uwmju5NupcLxRnABAcE5cZl3BU0+5zgEiCjExvb2IRr1GWD+dYPzK+quE7QTSySaTJHEc5gNvrQ0/aS5uEG8TPenJh+eCkYQMm1DrKCKD0RBkrOtCsXw3DVG0o21vCRJQheYftWAjmNVJoPwAr7SZuRW/FdG/4sEpm2R3Rze56blO5xZGnqcWPS2v8z6sQTaQjeoZHiu+AxIJ1RP3qpUy1QkzPGZoNk/uHtRC7JxrqjzzC4lDHfxj27yQ3M5ca52dkpZy425ooCuKpIYPQQGx+h3PvE2DdlNI1FXkliHKW976rW1q0q+bQgPNTtXGKJpipiwMln9Lrfc9qb6d7aCYxWEzKVRjqGORoHkSga7j08u73/cd2QRiiwBQeD5oZOVWr3l9kFbk+p2W9l8NMcuNMYy76mrgWn18AC5bNVxkcEeGe4qHVPJTuTbEBi2QKb2WBD4vue7rbMsVuRsW4kStNrYXkteRW0A2E8b1GOMfvjyfxJFAe2W5djWT2ojx18dpnfksbF5reab+tdmBJlWCmCzQneYRSKXWk/WHr7Q3e4c827NWqvZgVkSa2qeV11dfH5AURVlwrIzvqX6JhXQvwiBGG0Y4RBl/9jQ+3/IgIjEXJ7bWAm/FngNbuQOM3vOTnvl7u6Ou1doUF/2YJhwQieLJk9n8KMvhGPlkaf3wHV8vjgat2QudS/Bun62NoRNCQxzezH14uH3Ou0wGZIFguPPxv0rc9sEZ8WjpItnlF7bTCJx57MvwxW7DcvIzfS71T6aBrTVBMivRzR9CfVu70TQGwE5AmeWNhQC5dX53Hv19zanlnO+QiEkkYVqj6XpzmZJ4efuWJnGBlI8+bTIXTvm14d5Nlcp3xKMgkV9hpovNkdEDqvXbvFGrthXu7v/aeN5s9JqFqFpz113GDvEHwuPPzN1TSnP9VqepOtX0Eb8kDxhNOJd4qYChrE12+m0263GiUy2oJ+/fiaWcHMbXgtJ7fcpS9O0RrO2W7CzogZ1EeVFWdEptlewbDkWxTpN5lyDo3jH+J2cbx2OsciFISZX18BE5Jy7CNW965vmrs+o5OI5SdV4GMyXnR0wYb6QTsTjYY8Epk4VTLVfvoKzqnVIhDIvpWSpLx+bB8Mkf6JU7/bPYV38PlMQS0S5GRhs7HXodKl0hLrW67TGSCp2suh7x2NVZ6LvBG9z1SN6sYzk6XKCNk3D/WZR7vD9W+zZ6g36LD1yOAGlmIjjjKVvLw0xGjWOB1jZmMtTLe6YCW230Kt41kSWY67bWkeGsbsucBzdmaei/Ys6JHGtd5ur5gzSuwc9U3Fl1rALvq/TCC/3hRrIo9QrX1ksdYUifl79ZzcwPVfIxUdOlFrDosT0wHFnM4TfYM6GPQvoJmNBr8eXrFWg5xhs1JWwlT6OH1+5vbeVfw5ORAeINMkofg0dwQr2XDp38zZ9bUzi0ECbsVKKt49/aC5ETpWPj7Ab5UxaZBOsr5VaWzlESDDHEFmh4UlEJCHuF76NkaGeSFSnRFPFkzur9XpflZk5liKwKGQvEDcIbScTOKOQGS4Kx8s3iHObQ8x7xBd171wzRpwG7dxVLgICBc/loJAfEHAqkUzaN5FKqXgJY9Xut9h+99laJhmWrT9SOXldjfF5qcLNiaFU0A6wT4wD8nM3mz3LrLJInZAC343Sp8LWma2wLItnARCsXQo6/WAu4wJEd/3k1vvaWB+G4XPvtgC4xjvAle4WYdVgUq1p6P+z/dT3pKyQQOE6VXpqHgdcOT6YFEHorsuhGxs4kjp8HowEffJ7mu0oVI5MoAApv1yqcghXPnUs61T5JmOXiAIHpw0tZTObhRL+KX3ZrmIpN5d9WNmKf0X2Vkby6olTGwo6lqaUZ4LKo71exwfqb52eKQwsrbLY3y2Qy4f4VJi//CD24GK1UmCHeLLLQ88y61czW7vq/f01L0dsswHb+mZEBVOnEKt6UpaNjfeEHzofWbMtVT67drY2JPIoGpkOO+FXDt1rcX0eJ63RiZxloaH3aBtePl2yWAyOqKFMpoAL0E8vIDK6CZRCnuO4/qgSh7apYmG7WeoMsKh3M5x4VGuLPBbOVh8qY/xGOZvZ1KfVY+EslE6nQL5DsPi8h7dzqsasrgMpCIKv9V7melCSFNb0MB4cV8plzYvB4UJWfF98u3Mvfiis8GeC7lu+RUB2vPmFARsKMiWIayJ6a94y/XJRIHLW8BhBeMiSYaxe5/adxN6Xp5pvv/jTktPDsxm79uElExjwVefgLRJOAFStnEKJEMpxPHADSNNGvjhGK9kS5bUqJiuKF6Ee9GioRTiLDFLHI3ufTH5wDFH7VBlXwfpJWhqWJsZj00M6FQmda9osl2xS0g7IxI87b7uUymNtE04Hyaq/0+wCjCYGMYwA3D6BJtRhLMfiU6kTo7xwttwegsVYQEdrM4ZhuzOMUHiTFBS2C0oCfW6EyHU6mzVKeuFC4/gCcijClYjc63kd0liWLb8VgS0LmANyuhi3+m4278wKKpd5dR9f4sdlvMHS8JTbRE1CxwdY1SksX7mArY31iIzDxLESmz5Vg2SFfcATqTpdGVvLaraK3O0mVb+8ooCSy30oM53fe8BPKe8qs9mb5Jvd4G9MSx+CYQeOs7PvMpNrikyOW+dCcL530vqLJ17cm6ZJJAEs13gkN4j1HF3W+0TMsjH6gM/jqioAQtsKtuh706VllaGECWC9WBSsfTVNIGBoyfyamraXpVew9wOhrekG24c26mXHizw9/934YN7hSUTLIwiIQpJMvpUjMyaHLI9YvRSPR2uyLEx8bC9tfNixHLkXjIEgew1HYJOZDe8Dedvqf60PSdFRbaXVGSTfL4uydbra7N/uFMxuMutFPDnx7oKMkYbD263bu3VXLBQuIw1SxWkNZIi55Y7LYZp8vf8O30+kOaZn0biwxuR4rtvCQeKpZLYF2hFPTjWMuSp5ZoCRDeM8lE5mMiIlGI6xNVWvKmkzsLLl69E7HxgT2zuu92tfqf1+6FS5T32knPccqTtPAiY3x3/2iS0znyzH8cMwFK9tVl+D28Xdws7W1GoqX6uAZTVthcil7vfC5tVGeXBdxwJn1jd8Ux6i3iK+PhSJ/jyXpGmqXJ4wj9j3xGm1tUjHyQqeeZN+K3fDcEmWW0vvxTF0DZltjYd5ao05Wyx6Na2z/SjaP3jduQnS1uifObz10BSTyCNpgEpRj/UjIb+/PuFpinPRMjDaVuLkauCiKzn1VUVWDcd1FXjRBT+Qu5Eb9AD5UGkVrzBN3HncMJq4RWqdJ4YxuHwi4KMrl4vmkwz84nCc02BYU5O48eihMKfd5+YL7zMcR0szcCrgB+fE/PWLTZpt9+1WzXOdUrms8/lBRrd0iaEKB75hCLnAp8Kelq6awsqdO1kf4gCdUtic0b1B4i1XxNc93lp1lFSvx+pIqXSH70b26nnyaWCAXNSu+ot9m1nVt4qyXfIU8JdRHzF/RJ4bZSoUa+SYmlaebrbg6LTdvL0Yj1wwBJVKmsTRD07+OkCsuJLbVRuEXWKxTjjdEZSZD/oeSXFKVdcCmQzx3335B2HorHVnJVdXDNsyLPFA3zdQVx/ji8zE5/7SCEGwZxS1FZKEZrJgyPOxdAIAQfcWWq+S1zmjtUznOnNr8dyl7lw4LkwszRmur1bKxSlcO07TnG1oat8YxQoJgJpwPvWLyhq7xiJNqywMjBKi3U7repPvJ/wGRs4Xx3VFlN74HmsCMuo1SYCzUGN+cnd37Z//YE742fqVzjdmp/FrEcgcBP2KfujK8fPN2tW3+hYOCVUFp1aTBC17xYdAFQFBhM/w1dHH8sW/+trf2fb+7sXx9ObHTlRpRAidoweLBbquqmLOwSrkQ+4xzDnsemKPI7CfSqG0wxp0zmhPDO/vm8woN2Xz/cSd7Kz1IrmPPlOPVLJ9wlBl2W2e8E2GW8l4oJfGv12P2M6ninZjdyfyJEU+VHWtIc/iP69/QYRsb8twU78vcjSFbUsTm+nNmoZBFAVNv4TMdapikthU7tmiV7KRVQY08bRv2HKqr4qn7nROmGyMpLROW44/uQgI5iXSQyxDkRQOJWJ9du4+6MMfYI34jTrYNAbXTMzTahUmc6xp3uE7wGPh0mWGZtWdPIuELix1MLK9F8KBvhDFBC1TnaPB8pwxd4ovXOMJ+bAsJHRsXSuPloPLb10tqyl1KA+aXKSll2VrlbU8NfAJWeFzDXpd09iyNuZ6LQsKJzs5NW9B91kyxTA0mXKIm1wMzhjG4cYMnPxU/ktS6ftwom+z5ObSPV5Q7iKyyOo+fJ16Pka8YJ1jhkAR+4MAvoCo9ziG7kYpAYa3InV4taCg5rAfcDlQrG/dvVnTh1xm4juNPNd95Xz9qTPnXkjzF5t3ZmffpK8/M6Wc6ici1MBgkTSnWCemGXbsctV1i6X5s6Y+cd/CLdJ34l8M/QyMUdS+Mjikhmwkmh+aiz0ch756i67p2rupYsd/ZuO+zI7x2eri7SeAYhis7bEYQCyOhkfASy91a2w7dw9s73BZLnWnz5hzYjit3h+kXmSH6DhK3y5CdR3TymZbeAY2pzXDcrwJHQift1U1vZgpNqs6snS5L9HSe+SJsWq0lBo3VehkEJqVz36uRuWLGEW9ce3nXy1fe9PPr4lzuP589u7U7SP329UzNwYmBgrkjKgTjbxn/MY0Z8mpvkwngv6L7YrBsrGbaUIthofvCuMDxBfh4IR470PzK8rSmDL96NlCueJkOgIeipwrdl+j9vYtzLlxtp3HDPMqjJFrx7OOYVzEOGsB+UR/WCaBHd8uu7iG47Qz6Bb4LfPURVaOV27Qb8udr2OSV9mvi2nvla3Ibst0ycYjW1mJNeqKoqmTJwcYSTMupBJxtJ9RvNJjkcaUWiyXgXOvXWgMs5iWJlY3rzdNHOprgQlaN7c+i0+RJqfJ5QGLpVNpvkuXADtU1zN+f0dOBNlpCDIs41O+OCHwp/68/ga/Z2fjxiu59eVZ63IN2Gddv0Z2LfE2LlXXbZXDGdUy6KeMaK35W/J7ggos6lHRIDYMXbOUlGpeatuzvQZ4ulPxY95oBzjDppIzNrRMHdSNv55PF495FxsAYMANoZpyzfjDjpRQZGmApQZyCwujNJ2A0H0ztG4pmhNkmSNQmCLJNLG0gsLpdOLSyaB35Xxnt3o07/g7q10bFx5p13ORaVxqdtHMaQGbjkUiL9NYlibxhIWU5LL/oKoeLBFlmrQmpTEiunjcHXXuS3N3BNXKbI9XgqJnmwrPnEnAyJSiEHEgZvIMCii0NLW8OEhTFA14Dh4Y4MGnp4On6BB9pZmPivGIJGWRvDTE3BZ5RrCKnKgTMTfix/sqgENi787QIjrOniw/Uk0Reeb/gR49ZL2q04ok7WBmQYEvgjf4tbo4v3Q6OL92jGZoEjGQDAe9p3poUVZ0SyWAFC2JeAq6lnoceH2v4nfGedl0NIAmnkFlSnUbA2kqg3ysm8dr36q2stHBnx8UunUm1JKljTQ5lqs7CmkU+EzkWSLUoQyjxiTiuXx1WGYHREm6RsaP2KdaxZaVyTTisWhEIyO3f9Q2deVmPSuILEx4ZBi6vrU4T+zyEBBY3Em3+mYFJ2i77joKoy5lNTK+tb2Dw6p29PEgTA2gWSQU7WrVzXU4zS0DSTIWklQQ3duczUISqDTyLYiTeuyXbg38cqvb9g0ZDjv9W/gwixk56Hn36aREJm5grLPufGbkm+Ye143z6+pffe3xx8tsW0LiQJ7IhnLtTYGU+3dO7P3xM+iPi9/xL6ajjiXzTMS8RFxxxsBxV9CxaxxJmuUyA5qqSEKkl9O0XOtMxcXiaa1YUhc8y7FNbFq92og1uhs7HtH1XqzOr/FI1WZWLhsxiTZn2DqZ7paRRvyYnr1mRoCV/fMHj3kPFbnPt5lX8bfYa8RbY2/zUHBHLetvkWlqXLD1+wwnbQwB+wgAftXiMxQsqCiinKpymQrkWlXkshsMPH2fkj6FJJBSJaJaqL5QUsqBuwr740OC4euKZeNIblDD5MkYsXoqL+Rwz9P7CB1LKFg0ygJ65PiY90j1gn5B21/tbkmsesb083UYXecoTrPXC9X+MhXqGUO1fGlW+KLomzhu8pbFT3+8vvat138Y6ajVwNzny4X8RshuvMdR1C1sdlSrh/x/6+NbajF6+aSX7Mv1QgFHB4/i02ryrG2MPjnKna5Ht6QKnxV4H4eFSJTaeRDdrMb1FeNRrmxJOq7NY7m8RXxwrffA3I2vLE5ocxwnpoDn0wCMSKDrmjYShcPsA3nk/tnOGy7/YjqJat8rIEX3GudsZSoVeO4dloC0yh6xqaUQCzi+/NyE3exUAx0HmAF+qRm4msKE2qqZt7MaOJBM4gDPxUQgQqzzgKadvhGmKbuZvw/koY7uJLIAFJ7Pjbiu7di2tZqt4QPkV3J2VmDZrF109MyErspShEJskI3kgSgwbnkkuZ21IcR/ZNXrKB1Lh6uQCbqBAvY17M6gRO1aDEUSBkOerBCxOOAyE9+ux2zn9fmCi0ee9H9PvsxAOdYZ0UjUGzzuukfaMnD+qWkjqBaoPhWCj+hODEhW4gDr5t8mfF4Aw8QY/wS4Bq2iYsVUKherjVRc6QUqcbIyKBJ7+kSEqdfqtsB87Uty0pTAMlcJTr/ku940AQaVdOCmBLBIruP+MoCvZVmaT0oKQ6YuRdKcVRicrb6UD5sPDshhJ2P14tawi+afOtW7X5NEgefYzSqSBGM3Q+HoVCcISOKqrJlvnnljkac8yuqDku7Pq5RpX/k9WVq81VcVRUIyOBT4y3y+7PRnE8vi2yTWuysZytWqJfL7gkn2yB6tzL0nzpGT1sCiMEEHz1DY1vjiWp5Zrf9YfneuECRBoHICX+Q4gFafi4f9Ae8SBDHbOKu4C86QO8pBNXSi5vkAgWHjhsPu/cXIs0liQH6mfB2PQuD7FPH6+UardRVDFxB5FE5BsNIliqLkYUBgajnNNgtjmVUyrgOBqaalPP7cVrkxfow4IN9iD2pjxBjfCqh1T7QbRvoN0680W5qmAVhOpVBIccZ0zdsDDuQscmGkmtpWnKKyzzlFcK5IRjnON0JNZ1Lw5vH/LDXeQ/J4PG5mirJMJpNmtvy/I6t45YxBsiIAooSQxIgiMyLSGBoVVsiNws6UrJrWczdjVRYLe/WvGN69/GXuOGhXL0OsB5WmH9JG+PRlTNKFmupt2YFU0vFJNKXxYtkhvJfd0p6yj/CZDzNksF3G4b4qVXKjnxEU9YHEM334pBUKmeYgdQkOFVNGYUaAL5kYd41GSYLjVIlaMtqUE0h7G6oB55rEYRAQMalKsUhSrkvpoqhjHXsmqKpw5yNrovge7dYOjBV4gSGf3QOr6oemF3qaBCkkuOzzDyhIos92kdk1KB7w+ZL7SlikzdHu/mFyw+P587NUKlP2pHRfAssx77l7oTFhLkTtxz4cBMNkDq0WZfq6lC2QYTl9nVJdV1cKmVK7oa5uA7cReL/dDxXbHgutGRapH8NmY2vYIx5ZMu8dXU8/Eqdbhtnfun/Z+IT5Ltswb2TzZx6RmdptBvrzx97gd9u2aFoCQ+MbQVxBD8iXEdve+58hHmsgqKqlAgpBT6xCeVUKtg3Bb58s3W7CtU5oQ+pdoLXKueMvKUm4M2v7xVfYNc832u2Kq6ejQpN4/c2cKPMUqhBIKtY7ABnCLBJ1rwkazdXUXovjeuLNYNMhhgT4kuyXX93cagWWljORpamq2y1xYJ8WkzSxTojaQ/za+UXd3RsuQuehan5nVbZkn4wFwXN3H+mNiiTWDRHNwMBMlXrdisXJskgBNJlubqHxqlWrvcz9uRCxme9V+MWHsWqcwPpxgubusDhcDVZqVXj1wGTQKIhTg/e2EeQhq2S9IfpCes69zSFDq7LNY1K+BHqzosOuy0DhgxY/4Ev8mJjjP3Xj0h3i/JnDZ+EdbjhMbHLi7XRXowF7ougNsD7RdF7a354Tt3Vf5ur5rGyoXC5N4rKuqtjLWeulNso9HuXwjPX9bKL0dh4y7ok76etLl+WQouTVc9qAFmHl/jUoAObtker9pntSSMAJNRWNv+V4/iM/npIvzCdy8J37jPFZ8YNrD+TWEshCZe1hWQ9s7Uj0TXN3r9gHG2HfkwOTp6/1X+t7tXBj8sl3v3Y63BdO9csfXfvuwKdkSC3jG2hCjvakPv//a2nO6se/WFq4ccvVSzM0rXJIno+AxseDc77amD3xcO728dWDT3uj03ML95uJZ3N9SVKENBwxO/JGZHWNXpsMSYQR2179fPDzQixNp6xXC3dWjzpXf179H7rY61c1YaUzJamGcSSG1L6byXUqWAIBovSbsR0GjMjKoSPslQambesUdTwkt3qx+/YYP0W3CJeb+X6WH2JZQX6iysOPRcXcnKqXDf6ytJ3SB7JBcDXNdU/F5169FhJHJh0tpyduLi8c3yRXyptb8GPhvluPxDFwsXqgWatO2PnNm1i7syCw1UsyJEbAMBEMmtSiqrM4XX+sXemcSw7n/o6NxWl56S1HF1kSY5iMDsot9lztkH+UgyAHtgt7bwPDJ0mt1nFr8BAFwH0t5iYzrR4NLUMkNZOkbAGm3MeKRAxU+RAnSRyXQ9OXHvBXSlUSQTAkBYHL13NWc1ZCw1GKTIYkSLKB5xjMMrDziIeEVe/6TQwVazLZKOYYXnPyR/FmUHLIaGjF4FKzWr1CsDsH65792Fp//Tba6Y4ruH/G0GSJy9i4BNNNtTvL5Q4IQSM2rU7ZR50nxj76aX8nlBOJUDCaQoQaiaeJcX0OXWaxrpdHinyrKhQYIh7eqXfDrtu+rdNq9Tf1dBQpgiDJsrNqdbxhhJOd+rpBztQ5judCgHytEtZjlwlkOAqSCo+T9HJGA32t/lbexo2J2g/aCzpKiGfx3YVSycdkEuo7RtOywjBK6tOc9eIj603pU4XAHmnSvob6l0ceuieVogBg4rLlC/G3ImA5bvUt3NnxS0eduZLzMv9Y7WloTTpGUZt/TlSa2aqSbZY1J6DkpqZjnu/G4BVOyVRWwvhhJapi6SKB89c3JvTcxtWqQTmJR6QWvkAMf+enbHuzWH6WsTrkVvyzysnkof/120px/9XCu9H5+uQpmi4XHKcgwbC0FGw+c1pyL5igQmN2/50Tz0pcjsLFQjW+0mz3BAjgmC/GA2y+b2S74N7ZcfMmtKmvLC5e5kVhmZakw1dzlvXc7SfuiW3S6/CslWc8wtKFYtUXEGBTP5jfUy0XHqqG2fAaQrLjGY7FzbrFqrkSWQI1IMuzrid+mF/qlmVEJQi170NKU191K5tfOI53PwB/5dXvBff0puVaunV9SNI/kCDH/jmzMmRHVkeWpunF7Wa7Kqc8OSmWfWQR5zq/KefqL9fx1LWGpwhHYrhCoANOS/ASHdJrvefuOplIoyno7drM69EhFp2a0afYPvxWF/wyN7xMAr6PJJJ4fxXSBLaAlyPEs0gRU9t6pbV6zlSVaWbEYZZE4ce6k0eQy7fmqTAqVQezRCoBPHOH7ufpZJPWKnxSIZMfsH6e2J511t7hnkrtLvgb6/fEsOJn8HQ0xO/QosLsjzho5ubu7qDg+7NCpebmki6wV2k1fyUPxZ4wUwi27YgN1GRZpfF2BJ4yAROdEI8EX+eIX770+sLXbqo+ZDU1u3/UVuA+nNMVt3HElHX4QieMxpSedmAK6aFV1x9Xefx21v5+arc34ATzYB78WTKIUIA8yGzMpgebOYd0XmwfvH71yaFLY+cvz5wSScTSgKYc0o4EJMy/96b/IepoJ6LBlVyRhgE+8HmSvkVg6uXRMzvne7nWzbbmTuqWamo2nlj1bghpiur61lyXypezv/yzqbouG1q+p5SVZZOwtNEzqHFNXb64RbUUFgJBCOI21x+j4WvydHCuU5IgcCXdJjKMGMOYfg7iJhRZGkVioZZPRE8cazOH6cvk7UvPt+eorlIQjiTJLksRBFHeXVDlu0phb3HdeVklR0Nsj372EzHa4JSeteZlI3aV3fv/SLAOXmEGKQZKWLBqtSEzYRqGaeZyWErkYXk6752aAZZVqTmcdrZlmZecQljblHDvobwATIR9aM8iwMycONeYlzdCWSH9/Bj2hXKlUrIMTeI4DGCCzGq+qgh05gr9W3Aby9NqeoVrGs+vv9LZrc1ON4djcWtnjh9hGIFFAGyNdbshmSfDWkEISrqALFGWFg+UmPs2v1Sv18qhpSSILJ0UO9b91uBnw1eV7grhaHonhHkdOou00iOVTGUwItatFmJctB1dvnNdh04YVAmmmyiBRrSplCCad8zRmXmVFlvznCAkFfvJkXmjhpNLWf+EaluaNs3pPBfU3ExUIwlFbZl1kOUSGpjFlFM2RRLOebZlMmzSdDGR2OHQO6QNwLt+X5AVlWmJeTwaS2IqtVmBv0/p6Tz6DTog5Rz8yHp7G02DK4vkSrobe23ba+8aCq5ZdppeUbjD72cZJofiuIkCxCq1W2RLtYLgGnn8JXoxQH4hMgmH+h8qp4OnziHjrvCLI3cIif7u+SMKgiiRl4oSikooy6Lo50LClXvg/OqB7rD8aMjNK2iCXHVX3Zfmiv5dOd8/78v8BUwbkqR9Rqn1ZPDJE/1J8cevviQsqnqbG+VGcQQ1y6x1X5oQp2xBrWyNe3pBv9QAJ3YoEFk3UNsCIDasMVWDS9wMFObtlF8oUUtn2KdW1mAQMcZzYiFeHov3wFRpkrn1HpjXfhDfT8KWFRYU8iPmu/YnOu/g3XYFioSgZ16u7nWfk6v0u3i7y2R3VrhOt9usanCa9VymDLrvx0To6wX8xNKUct6yn+04ndBKWswwJHrwLmr0CPgqX9ju09RRZydNvdQR/1ZQtEdvS7pVUlrDiBJVyyEr9FuP5bFPnO/4S1PmfHV9K18Zb50vmfrZNO18ZhjWQwkpX43WOkE5JlnaHedEVTmRJP5w/YsQ1NTzdmyryc0FKpYMf70DvFOPoiEiIbChNVeoprgFKIerSSaFWrZAPxBlfaNRLujcfbKlqVSf0FWpRbiVGaSeDY5Wg/O1lCEiffx9GNpaPvUENmlGunfn4bH7dx/55ndX6nz83ctzS1es+scfnoDmfNkxm3vK2nvChaeztybn8m1rspUculty4H5z09pVukyes1AZvuQuqEuPtPkri8fCn/t3pinKm0x5lDxKUvyjFMmbCbh8IXI94AKNdKNQ0KR0YOb0Vl2DMocyw9+3qNxilf1ylUljF3Bz98Myi1XROE78Mt7G0SLVSmVs/1xZwqhsVyU4U55fMrULH8gUMcHSnc2Ceoutpdr2flajk4mZXSVlUuBa3he6rd3gRa5VoKJiPwEvDa4ZmMlYlwNXuX5mcVuGTDyz0Kwhabqp67tt0c7t8RU1zvNSV5TltZGCmY5lXWwM9G8Ak6f5Zv4yXWMB0ygHtcAw6bcfy6Ubsg5T08QGf+dCd2Ct1l0r9LFm33oteNmt7ebeEurrviOlkszG+1pG6HgfecA3X28W35oJ5kwjLKXoDl0t3Ls0fvL27I2JS33HW835iXP7kl+dRNb6gllXNwVWmoxao1eOj1odKP7csZab3PxZPPzkI3k+QzBJwlt2C1s27gieZe6BjXDaiuIsknRP6XeFK52l8riy0XsoTOTfIb21ea52Y5ZhrOhX8LVeiQMziWUOphGEB0Sx2z0SvEr8zaPP9xoyRphD4L0rvcYAFvhShOCWLUCWak9rQBMF0ek3VCxki4ZQKtDxE0f6MS7DmDBbhAtEDenodbLix/a6/dWkH0ekFGLo2yGUNuNP+VjHuIwbatmmhtVv6Lo2w1bQBuYJ0wM/SbfqRfue6rj7TgOpNLNFR2mdXe24UNFic8hiJDa2a0OBS6gZecs/KEKlwwU8zIsib72EOpkcF+ZvaV9BdxVyQ15pyyxzUzBy1MmyWA63aSM2BfsW1mrNCwpubkMGSeQV2TnzIuLWdhiGoBam5NpZUsEptst5YnlEk/qjnakYxrhOLkmyLRSeuy3CSaAOPhscYTmu/Jsw6X7iRru8Kod3QIIXX4PA6FiGpWkm7Y6oVBuyaZSczkqpgCOzfXmqNPrcnUuMnEtOKduic+4onocONInnMl0cmSXWKAONxvNpSaDSAnilvWM8GYg6MO+9By5SF5vXG3Lol9KnVZuuHPMc9zJOdTWrjrkxlut8LPPcOwoWFZSgNjPx8fr/c3soKr534XJ/YRKQmfi1oiR/WJTJ2Wqr+wo76hHDMG7zEjxCwNChEFhDGB83cRvN/IbWTyQY11B62sjwPTeYqgrcZNf9VjlsJGweD0UpVhiR6bXY3QhnksR0BzjVKvbci755hmb+PN6wqRlqq8RtVXyjvUtIXnfn08xTZK2aQkzLDIxbhlz5Hb6mbSrk+tvsb5rbNL6p6eW69XfD47mu0gtGqaQoXtLtDWE834OvvDv3Sjtb//rh1umbW9O31Dyz3y51B7b8ML8l/T7bVgTE0URw/Hj9DU3KOSo+/dKXaONdV0J0Kq9GaxgX5dpQ29c3mDpXmxoXQuDrSF0cIxqQCnhnGNmaHImCgOTZp2MF7Zl42b2Q3nAeC5rm3hdXtaxGzKBDx6JcUEURwzQcQzBuI03ljUxzT3VqSyKZmjIfa3l3hnUDYx3aPb83FJ6pE0uqcrRXn5JyeW1YJHDzfZmnKJJ8U80uNZoIbSaiHigIbSykh49JayBxw29kaxVBiFzGiaxyVZdouGJLGPbncSQrOiDr5DDtog71rT9n8qCBN03CmkHBSHcEIgmqZKl2UCZLhtbjwSWB583RVoaIbiKQWKKpZnRJ2+jjQI+HyZsSRwtmqaxsTzPRvry3+RFVkWlEGilxeZ6YkMQftDm37Cse9MUc1J5X+I01mtgcRgP/RbYn2nk6tgkluTWaXPU9B203aY5OiEyszckCEpMf5QwK/f9Q7dbvTtZ7O7Tl1gfgyyUrLzMt0jLX8m0af+i4kMbiiYyGI1EtEqaq8pfzmrNUVjTlmm2oOWFl7lCzoEuPzTU4vCrTBjuVm5bo12VJELgxhiRwzj1a5Cau0raRbYHhZcADc6yVJaKbKKRVIR0zy5FIfBBDGQD356W252sUsIUi0TdE3faKvEOHjWUi5TJZNkZ8wPO2MKeoc8icu1efMOy8jsyq1jtCllnmeKEBt8kE5Jq5NhBaFgAwx9s4KtZE0lotgS6sAYD3Fs2BjCFlBrLKJHw/r/6DY35KeeE75+VH8wWZJvYdGXYMdI2JaZjZ/9O7qoIhNsp11zT5AeB3nwy/UGo9MZDPGnjLfFnXyvfSgP+tJAXNDoFJtAjU/G2z0wLBt6ca3Y7PYH0+zeHRpcl3cZNCf0sG6O9P1VqD7FTPjfjrtSDjke6Wfc2mWV3rKtykxg8lGdJwkKtAUWCFkvCwPD1ctoo28YR8UdnBo0a4PS5IsvxYUYzVc6jgFlPhPGW/QVWOoWs0WfdxpXMhPUBulLwb1Jh2Tn8MJXptEdA4Tugv05vNVjgAWdWAoC7HYjBCy9o2wPBeRS0WWeTJPpdO3Aed+067EokSvyPlyM7RrG/q92/KozV+0B1ckmF/NtOKX8SwqC9iZQpNuWRWNff93LclGrvBivwYHweGr1gbVUsheiQ4oR5lGAIlbguqw5yo9m8XV0yFm54yMqv22YwmU/14IT3R/86WTNz/OtPsvTtcQFkg7iyu7M9hiTj7BWv0athj+0qnSvAzILTIMYw6uJ9ANkdwUqvnmfU+1n711fH6IJNV+dRA0Vng7eK4voUZ4w+z91U6nefMbfUjFe7A7SPB1vDgK9vhkOasme/UTUij5BwZjCQaGCIfuwvbP3RXaUkTozziWhqqJSLwaYs1dmXSxOr6W4A7bDaifxNTA8Tveb1Ak+uhRfWpIeUHr95ZU6o16yUHWYw1NPhaqS6U6m0vfr3hAhhajlzrrZy54jMDdiyjvo7FKQ80F8wwFzAhKG5su0wlNCyPeJYt9CeXaCyLGHm0nFgOxO9voWlxDNWoZ71LU01uRgOLPMtqw5fK5xQo7Wa2a8vR6JtTjW63YkgZ1VXI6NLtq3VHkT7kja6lc83WAHWlaRT0ipWNPHqxebitvi991clsZPJ4TcXg6MJ7/2or35uWzFy+pZaGdUWCuaXa9NFipRKjSYJelsWUsC29aPADRFLrchTdy9/UZH0f486z0qsemcVQDNyrAjh7IxxA3AYCXVhPJhdPNkdUAW2o6SiLEc9Wld546HSl3mwWkdlAAOb2nwsEUsbmWkmfpz3hufvjQnn48Las1e+Ek2ag5pkifWbOMk1zXyASX8gJgY+7DuzQ1niiXxZyaox3ffezSEaxZaNqKDJuAyZT2FPnEZ9OUFvDnMyJol6oVMzQxSgsOTB0zPFiRpy2eLjTaTXqN2hGJ1TEk5alCo9Nt3BbIKcymf4dmzggP9EUDVdTQx4RIxMFoEkfnAmShI/3YeBqD4xRq2KFXusiyO/K/XrLJeF1h2AR33dW5OT72o+POs8y13rXqUEqHzIu/PBmlAVQSYTzZEJ+Rt9f59qwxNgY8WyDakvERtfQx+QklSzCz4DgIsey6mAjAW+M0gl2I8Ww630UDd3AB3MeQ0S7osKkQl9Ff90024c/a8yJ+OQtIoc3mgWgL7PQ86MGjQvwi2TwjeTzP+eGXvFmQsZyPo9Hk4qWUNJFvu5cxNW8lhjrw9prPCzM3XmiuiuVuggJ0p7O0nDCFl7I2a5Kf7OkaW5QrVjJdVzMrunYVg24S87lfDuzEVwRSJwQH9WhQNAFIkIV0TO/BgCxe5zI9GDgmkPKMgFEz9dPhG9BZUfjo02GTkeG3vX/7OZIP/EwrKy9lYUcDbkTk9Ad6XzqiPUhi/qtvFHqUEqaFT6QtO258bRkZbO2XlI9W3Qwv5ymh2g+6oismF16J9IzEn3wNv3tafW+dDqohxNEQ0JtPsfLfBDcZKhNfA9d7+91arbEJvqyQKSjIW4i7duKSEhgsDD0h+t/eGVVksz89rrOc2O0mkIh6huA2r/expORcLjzYmk4p4OzjphrUqsl8KWm+Ql5pFq5ogbtzZqlyZiZ18+dT6QxmivMye1G4H9yoftJEn6DjrYgWmPgNuSSW8Fr6TR2hBvZdMyKdH2bsh3KE22SevynD/1tCxC2CtGN5MvwevQGXmYsLbkWWAYkhgkPapG834lHuJ1cYGY5Go3fFywTN+S8GRZ6fKL26tmfHF0N3iS/N6XkxCKRxHnsXUOmUfCyRaWZEGiCY2dpsQ0BY04kF0vaaxKdEvfVXCH7JX+NL2lHwQNsTmEoCuvTzCF4gn2qSNKcymTsvuJqvYGMtX19qjlIpTUxo7oqAZf1b1pKSDlfkaNXgaDX01cDwThnxUtUuXyNhDvXzA/4IaRx6IRNZphEYJGP+toPNzs6Ky2DO+Nd32G7smQpueC70unvb+h4vk3yHA4EglcqviXTfQ6Bp8JDP3XodPDYqUgftP+6aWSQehgU8kdzLg2HXln2hcLBulfHPj+sJkIMwDXi1VLM+xpCv9pMo30+gaq7SlqNbTCM1eXskmOBAnN3d1tAXSJcTZiBKmY7i81AY28OCW5r8D0Z8d754oEJ8XzqVLkWCiMkTlQgrwhcuSyP4hX/9bwAmDyQoaS+rTB02WFrqmsoWf7k6O/9f4PjwiCu/VGztMSqbxEQOCE8qIGyzkYkiGbqcWRuFQD8t2iBh2uBB44MB0OXWkfJOXdvwt7XiMvAKU9kP4Zh3y1Ssd80iEiZTj4UfnzUmXdf+bFmRhrJTIGH8sm31VB0u/OTRWPVl7G+XvcdE3THFFKSms04yo0R9XFC92g5SCCyHqNzVKXsyHGw8Hvqv6EARlGcLzxReHCVRNZL2G9cz7qXvDQMJzpGgyFQWunxldWPrJnGUqI7haZigTcsRctZdxp6/DAFqvUcvdbznwzf1UFZzcl8WvWyFhlaQB7cAzOhw+bRbmTJHKMyNrETBdNMc0/7j99A0ymhnZesv3rwIfobow/CfUSE4vmPmZBOJRI2T2ZwhE0xgKrSZ4/zTCwifb1q6wrRQ5ZE/s69UunvW4HQOH+TPFkPyGhv8xPu9QPypUkmnppzJw0leENTGGysAuqZGbNQLjlqWIuJ8JsMTpJY3A1tsUjw7b3LdForWxITj3Wkc4y49A5ZZmkc4BEZ1gIy4hmSnPHEm9VBdelEj8KP8Iuj7ud5Vdl4Ve58sV94A1szb+BflzjwpmuZluVkbFUszaCKsJ44a1airc3FW1vIrnjHeUdD/IaL8k96BdD9BhuNawwVkHufOwtePevYzWhHmUbXd4Otbee2xnEa8Mn4CeHThae+f/z9HMznfL4j/dlRNUrc0/jnOpklN24Set3neS98T106RNPGIpEG2QiKLsxC8UDrjVNoxULPXT7WwWEIghG5WxNzWp/RNxe2j7lmcpOiUge184Uwpw8cktMYCQw4OLQyMIxEwf1SIAkesorN7iIdwgvISnoUqOq83BG8w+9Ee7H1wtrl6cdvvSV7seJPMkMxJoOL7WFYSy6UghoOZRUyxe4IZtg1NU1C4odWbZUGmqpq2pR9WDdseAMyuKkCVRYEM806Tc/yk6kDXo/Zq5jqeqPi5rK3ugVJUTCdEKpwFMVyqqZI/3v6UF7U0TR85aEgiiys46mN4Ns2hMDh1B/UVOrDFr93MYJeKaJpH9IZHk8yajBigD2LgcAoBXpoEmJESV9V5JGBnERu36puvc2GXOaRCQxNBDzneg3PtJGXgmjkg3wMhLP9bHMfgSbKr/UOLZR+yAdwK08ffBukdZ4nhdKIDoU3JCT0srp4ETpin4zdoib4TW+G0y+2zUE2+9K52kmTZT91l/5fIjmRDomvy+nwt26H3eFYneI1IhF1ca1g4sN293X2AJcx292Y1a2ReafXs55lRacLztpd+HdOqYdic03pQeLgI/s9N59VlD78PWLK6sO7atTHtr273aRIgiS+c+uYu5hqyxzOv2JCpGhsE/bKK6KVUe29iNfq+dGVPzgDuzqN1EjlGOWA/DEbivq/CvQO2YamU7EOAnpaaQmSh+gH4UlJszxPnB9ILBJvWLaTmxX/tdJC7Gy16klYLgtu6lESjMdiXdWSHotacg3esePhslCzv9Tpf7cSMn3OvjBdCGg7/LbAHCofqilQcBhQ9zJRL7CAyLLX3WmY7M7pvrlqgMwBeZ+Rdoc1Sm2nlVZRY3X9RHRv8y5m0jzjfTDkLNJ6vagTeH+v19k1dnKi5D8VeBMuWuP8JSS61SL5giGKBtzKuNlVS+oM4sxDKU9r8fdk3OLi8iI7L5vpLvjC0zOBRmF06vpzd0sLJhlc31e+KQsCSk4PORKFF/ILhY/Z2L9WGyo44oFNUq9oyJKhfSYi6ZnNUmsgKeUDhoTjGv15KQ58bzVjSuQOxfGYTBqSLFx6l4c9+30QRCIfukGh5nX3kYhLXakoaJr1V773uEjoDy6ch6aT7CYjzjsyAbzPtFzPnxVZCm8bwmq+8cTdwtNhhLBQav+gEQtJtfR69fixOvFCUuSALQWy+NZQy8/y6oNvIL8pv0NWNZN+9gmOAD7/lZqny9J/qndSqjVnK/uT+LgQoYYWJGOyPjYokX3S7DHOD2qV5dRKbr7YnNhvVqHXyJ5EkE3+9UFyhOfkLIYmuzScSiVfOm0OjCJolvI0XV/77pHDhw7eVko+cLbd7R9MgVMsEWn7/9PxbIoD2pEl0ksxdisCwx/SQpSixcZePc7OES3ZZlnGSUxDlSr7xkbHUlSWpdEtsZ6rUhDACKo5uoC4FECs5yiaz08apspTgPq8NyHnTZEaEajUwa+PV77U6iLi92LjyB2k7HufSD7Ac6HZHuJg7JXDQcHCHLeSwnS9QR3nHgpXaaGPkTX1iaFKHXdF1bBKuXKzYtK80fAf5Ct/nCyD7YzoqcMiiSH+ES/5xS+CKeGyQVMUHvENlBj0TFAqldXFkcAQrTSOCrjPF7BDxj6je0RyKq3uY4mGzqsoqh33ewJBqsfQFFllTyRJUdtcNOGCuquObwodP9iJwfvus0Pgy8U7zJlnZfanrWMkhkL/qYXUnp4tlyo1axNairBQ8S37hivEh3q9/5H6nrrOF6JZYX+WX+ulBNV6LNL4+HmUlrSNSVTxVB15V/8P1X7t7xIvk6T+GzL+9kg+hcL/6loLtvCIRRt1cz2ynGxZnt5lr+99P7rf45ymQ0ZWeBM7xuJTmuUHTxSenrmEs4pemdPagVMOynIchJHEb3AGWgMSHj6fGr56vf/qcpm9d2KA/JXjI86icJvK1aryU4xkeTvcOGg4xcqEKgkPhXFOQSt4BQgMIwi6bpr7jExIv8ErRmZ3QWuWHWyve2uInjRGuSevEgi72fQiOiQ9tTYa56JBxCO3MuJkS3Cx1Nq9c0zZrO7ld75wrhKU95ih0D3Ydw8Hq4+GDHQb7CPsIf/WFVZU5NI0qkpJwI3U2oVcm8UkGIpiWTANI+z51Bh/NpEZ5iXhZc4dXCDK7idDJULPWspT2E1qIx07ZfiN2t/bD+HxLpgQ5kl71PjEWfwuk/vInYT/dvAeD/B2QK4RRsPlWEbI4u8z8P7d/q0sVvSAVtS/BEUxvCmyTi8FMiWpQm86FOVmbMPOlYyLXUBe0GQsT3eJhjP8OXRRRagdeB3GWnNvADXhkztRh6Wosouy2+Ge2DQd+7bhVBcJRjaKqXzVpeKv7osLeXacRXqxUq8Bi1Y0NONrQWC+dkcUx9GVWzRDjz3RDMfdrGYNRWBPHifQ9Mf25O8LbcuB4XCaCRIlvcTzLEVZ+R2wCyln+tuJdIh0fWOsF4aBeujNbF70NtRpHepj8J9fdkrdwSt4Vw8abzUKxB54aSMWCAZ1mv4qWviDTI5Dog7OD1Q0sczgGIphdv/ZWrS15viPRCzyNoX8nd3mYgNJZnuIQ2bXvL/3FqjqWCzT6vaOiBMrtULpuk46vIUss2hVNUqU0PwfZMOMxZ3INlkw+BLHUBTD8sf1qaMXGkerK1X9hJu2p9V3BlKlWDXS8dnWK3yOu/g/4U94VWXo1xaY/YSg4ksxq/UvfpCvkCkf5VwZBpZZihr9ZPb66QHrwPFTJ94eSMfYMDZG265r21bvMXNgM4k8k6hpHxhTAw8yFPOoYBGHe3/rdnWQSr82erV75U2B2gyGsUucts/hd7IgLuWqrUZ31S+K53TYX8nRpM4giZjHOrhs977rRp5SKnjoJFzzwelA5RmK8uIDcrAA4hgbYEG/3+sdn2GHn2pA01W5CKMuCUWh3nXIA+go4/k8molUNxoO+f0LiBysSKn1tTJczRCfpQS71Q0MLOawo6Aj9/FAFEtLJkVQEfhjSgY3aYokyVtNZkHJx9jukqS302DIhO52o+sn1raZyd8KrnCzH14J7MvYROvM5tlPinQ67cN8D+tcHMeyj5+MXzo2VDhx5PDowd7tnbGqRPDOylCjLfz1z3481QpGhREpf6j09qVbhDn3V46jF6/1bxEEBuPyxDASn8OiEuj6IOx76zvxZpUh1Q0wRhcpsAXF49Kq8SZ9+ptMkOOwuONZJpcMPyOtE8TjVHN0QHAePJAeoqCFLJUZdSwpvq6eenLD2xpkMo51mcYhZnWWPM/npZztwG9nsgmNzHKjH0dhwLV+VTRPKVAtqyVcyLWThw4d43/9kRnmk4kDsoXWo2Q8/BxranQ63ejgZHcShOsT12eXNjem79mzg/s0hy7Xd5Ic+A307htTNw+T+t8Pwk/Vbn9wdYaJiKjrOOx9ibpwjKD6Tpw+/Z0/6w6Hx8+eGDfG7EM7O6MuJI2veQK80+VzN4dv31m76vHs6l78MJLmVbH2ZDDLjQ8+MENPn0ve+N+9KbzbTj2CrL7RkZuTY4ev95/seGBprGxN/b2WHitxLG/MmjP+pNc5TXBAMwmj9QQbqVcE6nbf+XTl3NEbZ2a/yB+8eeDW8Njw9YMT3TVuUwHT3F5YVSqugZzX21gcWBOYcEWT5+vHI/mZcwMPlQFt/ZPE8qrQtq5iKed0vaMaAzdjgcu1WO0GH4uK8GNAZEpMxDPxD54nimPdOxU3NDMssQw2CTeiq4iDf/UE2RTQZPenXMrKEUHmd/yVPcLKXyKKIoUKpB9t/EjtxSaton7Hlv83qrKbyhFVE3gqdWVxkCIZo1HzhPUZ7nXYxNxzZ1umubvs02k1b81w4qqYjKLFoALB4+PC0WiG5tPM2NHo//riUm1pKqCaxvSpCXPq8QD5n258tjDPEi3aSEjRzqu+qYks+//zEaIB3lhbgrTX4+UfNuDwWjscgPSSvvbM6Sz8Ivv3/6S9Q3vKRbkMaF0PVSO3PdH35QE64qPsHy/mIU3k22JaV8CFWHSoaf0ixrmjMK3+EfugOXn8Bn185CJ+b+lAvZNO0V/Ddh1biLuUMNYGgr5wMBwL+xaFJx+YQbl2M2dr4sI5z3uRDQazWbNYkcPm8ciAoD5nk0oQ0uks6yPb1OStvQNn0N9ew1TFFP2IwVAMJhmWFVIbeXTsn35+bTbyu8a7qP//kyutUPDRsXcWpo9fvtM/97vV8NmYfn+OvKqayGaX5+OoD/8fTZ8Ill/lQaTSYeLaRGJFkqBK2k9nteR7LrHSCft9Xp8fbpXZ+AYYRawakpOFtVYsBs+KMPSF7Aff5EqSYrhafIOFfG9ka5Ys66ynfAFP1i7Bh4xJK8m0h2z271Txqq2qzb8FmsavTeM0VmOyQeBwNnGfExW4pkChJY5KmGg6qvS7txdhe3g7nvTXyW2PgmxZaXQqQioJzTwO1V7sfzZ/0Jw7fDJ2eOxIreHQGRYmUtiypCOBV7hE8CUNw4h6A/YEEloZkoKm0+M8LyrkvKtI83fYaCcEYxQLveRYEor/0ZLQI+NLPZwuYm7tendQVDdEzJevV0Qo999MkByDQn03SqCKCaI8a+maZmVsQ9cPN+0sD2S+yUgsRC+2Vp69FPQYZrvZAGVJjz4YiEOw2iEwUDHqsPt8MYik3FHfotPeYHtM7JazayjDkcja76AejteFfLG85lQ0WqNBkP/R7T78/7N93F/R/H4tMqS5w3fAl/CTXx+bVoVLdShM3kxR1OJyJBK62Gy1AwXN9ThZIMBwYYaGm9AVQvt/STiKEhiSNaG2JfqWJTEC1xThddz/PMy7MIsv+Ose4oT31MnBW2z3HzM52/4jv1RkQW1QAQ0td+r6tVYbYhU+5vt0+NVSrFBWxgglbzJg7ux0WdSFX5B9Uqc5ssEZ9MihL0U0CgR83hW9ewPt2BiMec5PWShRiDnqeyoWUQ+/RdbMbzcFbCcm8cizrk6zxhOXWse4gb/5XdL4jwp/dvMosihJ6spjkUGbfqZJcxz5uyQMBDK/c7mwArk1kC5sGNfuS0tai+PP1+8ER9gjD1hn25+pjKLnOoqtikHeH+UV06I5S0LaH1oqnaYy39Kzz5OJzwijpwvTS64c0iHynBicxMI2+znjQ+2KH+ejgjQwKJmvySKCOW115sCypulGT5NAR2+G/QlpUywiL2NvldCcSJ5fsjMdiQSCwQZI3kOfVs+AZVepE0k9L9I2rApu0kQPeaqVcAfAu8KFWfGV7BIjT51lPW8Eglfa3QGobfXGaLWogbkglKTzahldp7ZdoBmFdLHi0cmn0CYkZBG5NXn1+Ho+BEcmPnzPzJN/Tns8/sePr/y9uH0HXj10r8SNLD+3wd+3fLLq0ZsJO4XP7cV+7fyYd2P9M8W7L9mvDC2JovncFqlyyVlVYQFRrOo6lrXOA+FA0KNC0D5vS2iOUVvJVBJY/093zSuyI7ggrimVa1Hgy7VT1SH5pkopp0u+f5MR6IM8BDwRhuPt0a7+P93GgTUlHP0VeSCn09HGsmg1ocGhi1GOi0dNDIH7+pymzTm1f4Ag6PAzq0DSGhukE9T2SM7SlVLp9MnTHeCzTM2JOJDcjSsAm7IiNqbJy5xm+cJxSswPHBsneaMuznItQx/lTsaQCWHqsKkkkv9605KZ6fXhz4krnbHAnHsYOFs9faJwwAuG4KnykW+T8Teb8NC1GMzDMTQNUkidIeLFV4G6fLKskHR6g0FoTf/B17RPx3fkrryvyFreYYtaJ1+I1EaeMKcsXd+VZDJEtC56LrrhPJXLcdwtuWlmAwaiUboqJwo80xYmSe9SxO5PplMu0xNpLH7O6w/DbCbzHXMHBzNJSxHEh1S2XNjtB6l9nECS1wb0YtF5uTstiwx5KoEy1zolp/RAym5q+ICI+JGpljDOr+GsrYXY7B1WVbMsHh2o60EChU66Ig5jyf/EY4FwIh3b3F6USOo2b6w2Z3SBpJWHDXc5UZu7QeuVG9y8wE6mXBKGkKLaavWDsaROU5nmTw6NRNyAhWrD+cMvD5IvpJiYh1piUis2W3dFGhLvcLpfLK5NatCQyFuT/I+G3GtpQf4SssWmNUMjIj4UJVlv/L/5cDPmN4hwPFcT37R8TEdMg17p4VQpTx2dL7W3K7cAB1qzkFFs9y8bEuoKlU4dtOojfDm226eBYeYn9PNJD7q7s0vrm1J1ViHtjs9H24zVVu72D8MOog2oErF9ZpitSguH4hAy7MFOu3N0HFLsQulcIh651rJo6gJmVzyJe7NCnhk7vCtIID97rkq/x1kgiCMXgnJQuUYzgipzFH22PqQo819F+UKpNCkpmjZ5X2ruX1Cni79UOh55R5qWZnRThrNpDCiLAkVyJ8fEJdScZrri0zKNUqfjOId3p4FvNa0zLBYm9L36h+3rjqOTuXCE/a37i5W1C/fA6ZkxYubFTax/mFl2TNAVjiTP1LcYpi3F4l3hrfKEl6MHcojyIh9MIQi8C0pSic6T3BVUNMQdH3+l1R1mJ0WO5XmapE4F7WHqQ7OtLLupMAr+mZmy2E2PY7RcJvkIOwpubQ/NBBjqEUkwmSzOR0NozKF/lNvZI7ZueBOak9VPlmh8RC82z4DdpbdNbt9qknfLWmV0FhmqoplrJXkbar8tCXYohY/iy/FmvXZLUDMqn/Ytx1P+IDOcfvrmi7FX/7hojOd5GlpoAcAKdiVwOggKEpbOgBu8Ew4F/H76Ad/0YAH56lAap+g9qqokIFnEPqJFUrEzlWPhA/KX0r6WIvAMoTValYorwjHavloTmtUjhbS9aryHDlEtir6pxtN8/FCEZBdJhr0rRsTpFJhklyHNHYEboPE4MaVopnkFR/gT1e3cmaDVa33b+Ufn+Ag7/qLE8lJLRU/dBHLa97Juu8k8ZiENnat5bI4LQkEU2fpE9weDrCjyR0KR8E1EA3MPGHdt87dvIP8tCb+KSVLen3YTtbLdpCBlPXpKhg9fRg4/HyB/5/moe2MjrvsEb5CQeH1otHqDl7D40tTFoOB7oxSnqCISi0yZ7dfVk6c8XWA/BGa7IK5rnU5owvyla8J4roEvM5Io8EOLwMpmO2AIPdjPKrZzFogGJgUslzoWRjmixdDLb1DnbcVUlD+tlpxnV+X9X1Z4X0aTUkUm51yJguKR8w2LwsM30qS9/VBxmzAcJehTIhe8izKlk+fLBadrDK/sn1TxaGhMbb6uxX9x7RJ3wb+r17Qp65eUFo7yw75jC3vm5uzOSM/MSjr4bBdcAMfpZCwmTTYa9QJ+trfPtrfp5hoyxP28wPHqoQOOJ+IRW9die+2lE4WT0f+Rg6VIXOIzwIFAPBpdLJA5mkXmVmMBj84G0T4u6AUutoxc/A27vgSSJn5tDAw8N8+USzDcFmTNUtGQd0SubpMeu0iKBk3b5rZ8XE6zbyMZLw3N3f3fralKVt9kODQWhdwGgCXdU5xJsXnDKxaFIQqk0F2WtD0k30nQgf39E7Kma+dS6XQ3kufkFyMwCaUaJdk7M6bWBf/3xg9Z83232L6NxNkN8ymFR18KLAqG/PMlBYM32iCqrd9yxTNmEnec/++ccR7ws8ox70T0/5Oiqg20y5JmyDQt6F7A3Av4lrnPkrS4i4Y8lqAzcAzuMAfiWrMPf0I/lq+ufaZQqtXjAfq275tsD0ecJfL86rWVtfw5cGvthAe+wfISUy2bdgoqN/u7p24i7W6z5It5huyizYHjTkTvsrfFpe6UfbGZq4MFIaHhmNvuxGPR830Eq3lPJIY46nwHFuyKQT5T7w7gjzRNfcBkPO9h53gJrHuqwAqqsZoLuhV6Ge8rrp6KT0uP1MlTM/opvRv5leP9vAXjtO/6/k1eVCxDPpPP1odEwXX/6Oqeh0q9KSi6RzvXvowAAJ6ni0nrW3rSXD6MkDSz3zSMEo3ICA+oPTRmCnarJs7RcaOxyHEiZJShKGbmQ6VbtZ+6h0rx+2UNvP3MpPpdNdURBdX8oM18x5hTr1wfYzlRuorjhKGJvHCqEj6wlTEIVqnaULTyaVwddM2uZYY4rI28kCIXREDh8v7FTtURbPtY2DDgI5dn7HKtfpMhsSmJwsgTsZqzVorc4PCu/z/0wrjwkrpc93VN3RyhKgD1nb9BnExeh1BVsUwRWUF0WsodfanIrbYL+Y5AhqVjmYdZu0oyTTd0VWC505X+7fwvIB9XFz8+mD+LCE1ijqIeq5JwtXsVG6RyoqNf0xN3garu6dxRIDx92sZ1RVLcurJEpl8eFs1CYQyHm05f7dZK1afOmi8dlO7UJ8a0dlc4WLkInfnGDfdD86+bPpj8k9LT9+eL939HmNBbwsclw2VCzziGJGc+etk4O1PoSEWaAMexuoJiAZs7kqJZGouhB636FrZBpRV6VIiEifCkN5dz3VPlP2Jj9xtOi7CsA/LrfakQm8aevmFiLnWf/NxReEHNNtZ1NhMzCHWVH73OvsSGN0mk0ZlhaaVaaJGOcD6Fxy+3T2X6iWeGZD0Ln2iAhoWIq8l9A/rJSoHDZh2NCi9liTzLw0sjGoaS/tQJCCZLRTaTZ04FPfKjYzeVbGGQssUn+ngqtZwrGTIKbiaykPKMzXtesXRHfKFiPs261h0G9C/sBsEjwQHyl8gwvWKnETo7CcwuJRU01BdJgcjSpqowZ4AIHyWbe7yrkLuWIp1OxAzjiK5BRRlLxLExdwtm1ZqnbjKyrohuy3TZJeaeH+ZkTTuniSQuVHSWu4Sq+a53xqcEQszLVzqn3ge9DJUdIHFALCe3G7nxRsWDFyITfvUG/Ld9AHwQbOIR2/ULd0RRUCQGJ44VWqFjVPm4nV8yB8jHWhfttjrFfJuRrGKwYwmrLKHWT5ZLBjV1vX+KPubdiHjIz6MdKM2xx6Ph0LwvYvjxOF3dlHlQqde9cATtEooRosCLJ+y6e+hS65Dbiz1f/WxsCgBhlkFujfius8lrGAu1Kl++WdW4wB1WPjn4bvWr4vvF4MO/Ru4rRffPGSNZ4Yjtlp4ommAYltUu/z+RusRdAuW3CjzDLJ6EYUW5ilVpahpmxogRdjlmIkWxEKfdxNii8lhC6nfcb/sqDXXlI5UvSYuWgOtg0c9aMw0cjzWhGnkXCuyJrKFAqQ6fZJMTLzPVSrsETXusX3+A0yVd/tLo5q3TpUq7+zRjmYpEY/isUxsgfgGZvr03vZfC8dCEHkpDOF4uT9m36Q0gdQrEVNGEuJ7dVNA0dxb874zddivVVlla2c6QaL65H5eTDL1KWIuNDk1rzkwTiT0AuWp9KlOBG4PozHbnHpjohSBsMOeLbL4lSLmdeGlMKrWrbsK1CdGw4rIYDMeJaNgaO19dSf81W3D6QFg1c00p18gNyHgldSk0ZZ4tX2dZWVltlF0yfGBRyrSYrQ1TeK9ztvrA1F+yhSe/AH+P7+ERQzfNGywnKCKNQIfsaq9/Xd4gM0cfiG6KNArDfIfCrsfGbqVcoCIRnl1u9nZySM2B+9aPOf0Sh645NEV3RmFv77uouDt8E7euNl26IEItqNTdqB5wlGKlWQEKSufERT5jXvVKBwSOwnMtjgRX4IWFK4t+ofCyoIuLjDauFSrTEQlJVzr3WyEot1DwTZ5gWFZk4SwvZMBELOjgoO5VGiUk6sXSAnKyB8MJ4lAgFD2o61ZhjipN9mJbUAkGfz8kx4WuO+7bxB2d59OL7U5vYLNXFTelKX9YyAnc5CDwS58vov16f9D3C2SOxKblVGo5BU9F6r5toeE+4NL++WI1TkyymNpCUILMn+8mWJ6/ggA0yvFkdqA7q3JhUWev2DyWf1gp8JoDtCTmh2FqIcLuBs5juN8HMjfHyz4T8sYDn78Wu48dQyB1P72Oo2kwFntWIRGFQFZ7IQ9kaTpQS+ORjXSSdre8ge8ZX0AnqYTi6jljKLltXnUYWePd3fgXPBMqGCouszlj1KGyY7/hHKs2xdgr+idtWAKrQk95BodSqcVaxt5iqfA6EF6RRLG9gacTbRwVV0ESRBfVlbfhZUs9CpDmwoX+/jPg9f4IMTWkeLvJKBgMlISH+n8R+6Ji4NmgXUFX44nVNH9xYZSjCexINIG4sTL4dZbiVuoFaNqjw88OXiCMN538VOmdmMvhcX4QeVOgsRnH5fQ1ICtQ2GKYhCEYxaDVj5slKtRGWn+CUlnK4fwcydpXzom1ZOrQquaU1hZuwFxfNpnN210UtT2WoAY0LtUZJVfjPO8SHB7fwNcCvrSg1Ws+I5VHVE25LKRq9PbpoYBRCJtslW81XJmidan+mi6zBMLzhwO+4W8PN+RLHjpS1+UE1cF+5yhl/Prgcf9M06TVdGkSxZv+KvxC4ggUht9U2JpIgdFQCjE2ZGnoBumG3/AAul/CbxgoI5SY9WeW293uHbexD81fRCYtCOqRKQk/tdWwL1tcUcikj53L7Vpz2CyP4t7muqb7tqPpeolvNAZ2cmV+lXiCUJyWOp3k/nb94f3utp0IEI6eKp/4o/0qGZfgQ6cn0DWiNN92lAEsJYE2etxAN5Tz3ENFBK3wY42m3wNcvHvpOKdhCaaMrFMuoS2bj7Ssx3umA7LRfrHD4QoL6MB/JWY0Ort5h1lgb9NjlaqU5TVpRp5WD/pKwEAd2ffipUwa9Km1HaeWuicO+mcTx0E7cxG/G/V6s5DdYggoCYKeY0Vb45FYKBiryryKrJNebFmS9ckO8A/oOza8bUmkNdR658VnIJa9X0hn9mi15UeqxMt2katrdMKJ1VPlQmXQrB4iby7fPd13XMM01/nRoLlRtoj/1Rx1laUR0BK3zYBWfDOvRzqHJBKlVbl0V564OQhwO0GPzHOc9rQOyXldMEq4W641Q875U5ps+y6Pw1Hr4IcJghB5juMxypw9BboTNIr4MhRiwPlm87R9V4e2k9GS8qhvGApPEXZelSTwTtsRlZCodGh5NKfdqb/3CoSxQmG04ls6J2vRAo1A+emE1ouFH0ZSmh8QtyD62B16jdpYnbdd49qoB/IgNGl1rlBy/vKqVqtzg/1ksXQy6anxLZXH02SYZZMjvk3HHBf0yIpuXugOg4nOsdDH9h9egbg1z8rHT5aONgUgXYFYGHwJ7kaevdbcoAmcv+5RbBPypA2t9hazOIRqX+tHYGd0w1gXJ1rDd6BdNKv0Ch1Nq5PyCPsCnBlbcO77yZinSN8/uG4PNlViXwH+6OrTuugN7zCW4/+flmGuZPpXk8ujmR1ezuRJE1DzxfeIvdwl5CoOA1Lp+BDdx0MbHokgRnjIBJrHtE0DWWQZ2rxGM8dSOIbkMGVgS2YRjwIZkhw3HksZfql4mzsg7xLbJqXjHeAonq3LDElJYDZ1Mc5VmcxKs1rwrhIMx/diO8VnsfXiGIQAyortIloiOZoiMEiWndo2GWJZsPRCQAUGQ8EMTfzGtir/SNn1cDqDpOZ/Yltj705M/373W86OTo7ew3FcVpu/kJ6/87E98XWB+qeWLHek8fFj3I68t/r92tGkhCTAf7MBzF4o2MpewNqBG0IH+Fgb65vk5YLU/4N6QHedOhKMOMXiqmuw6eTOp569R69dNEeIN68d/mSqWdmvmm+4NLt/fvaF589OPW86987UgQ/K9o2O2Jeb5SMvX47+vjP8eOroQXH2bg62Dn4+PfarT/xd1qPm18da+vBbtY+G390xQV6Fh69iwxY4faXvc1e/zeI/vNOXtT3xfzhh184R2NeU26Kzfu0BoAj8Ck5zw9O0/tLRwrG19tloKRQmwAiuYgHCMRhJJ+Kx7ozh1+CtLf8QFc0XL4NvUTev99fIKeVLaRdsWXXRddU6Gmx1oycYH/o2ifQB44mMhvc2fUFRwbL5MXghfcAseJLKKqah0XCulmZQaUcYKV9xMa/1wj9x0eIDZxs4jyaMtUo8E6aaS50YxSfyZ5Jt6JFgDweHyzc54ldzB7m0r+/1Q+p/Ebu7YJyAk+sUvOK+eScmphOFwBgyEUcUjj995Cx/Ff/cjU7ING/8WgqXwLhnopsmeO6xItXqFXRC3G/iLAP3kRKfVuXYXmLIC2Yhn5oQtZc6vAyCTjloSiIAX9STtsQw3g+tg9mMDg8+XIw/ohbpcVQX7/4Gj2AOwBQld74VSjv+D2MqI1tPRrb+9DAIyFIaIygqayeaqutU8DXr8nrcXret7uol4WJvgMTbVXNhk4IiS6IinvcFbJweHQnnKjJPRQ1oqlKxPq7W6nUR7nlpRBCBomkQaijv7B/ZYkZBYwji3RaxW3FknROFMwu+lIzSCiHPJZMrAd+KaagQsDOHWIxgmDGSpOWnZ5rtbrdZMZd6dDr4lr8uoSPBszDJWTojGwqXtLCtK6uj42qtoWIYHBo82AB7r15o9YZF5RKGIGhzJlGCY6NmyPX4fipzIgI30QKdi3se0YfzsB6N6v96H89xLCeI/inwRp7/2dPu8PHxQHePWNwr7mxr5A/W7hfT2qXZGxjoq2Rfo72tN7b+nUrJbFuHJQcZl1rvn4DFAHBeFBkiaiBTkytvKpUq5KvWqFVDXJEkLIspJ6kf9mKL7BYjQca6D/m7/ydSfG5QnKSZFp+FpFzAN0l3xbekaJB0Nt/+1JJZBsJeSjxDHtJEjmGyG/5XIoQC67vxxHFFo/osaNa1VTR4la46GorX4WwWRwEhmsyGIpYPzL1e5yGPfAORnVgS4RBfa5QLvu+Ue1sopJC8mWKdVa/YEcyKlA/ktapnO2LKk4uK34idTXrn35K+cmQFWVGZDBlm1jpY7GVIAklgMJdjZh0Fqw/wFfWsXDcV9b4WQLiGRDY9AtWrsG5ouY9hi9WloNbZImLwGqYB39KTVz3Xfe3WhNIFSaTwqAlNTd480hz3VC4VLEjq2QegHvSv1yrwyrFGp1giH8va3cnH3JFDD1AOdBxTruywmASXSlx8hv+bgP7/TBEuuVzs02RiRSQxgmSYf0WJY/3f5PetAPJ1Xde4sFcD//ebuNpWvaa5MD9Afg/KEb9Cc7MxTOPXHOcTCrfpcHWfkaa6lVc3NUueLp5K00rGHwNGgTSqCCE2YTwbDr72NNc1eTCSooZkWbI5zv5/6cyviouml+1i/M+xPPErsrZnd40MDzYeyFqb+aLXlmsY2GJdRUkalHBY+Q+xCAt5s+FnmpTvVzeuXv33IEoYuQyZDH97819mTWk/KJWdmAs7DJX0QILheQAMKuJ5RlXDtnTNXCvUuxUxa4bjh3EazeZY0Xd0+XdSbnfkJ7k8MGJ9eu4tq+yJKUAYC98eBj8MHINoUFknsyGfCgT9omU9ZuC//QHZrOKquFZWQ5pYGcehEr5vCBTFvc6WxnosjlCrA2liPsJf6duAkQoM0CTgmPf/z2Q3kSLjU0Sq5sBTj3NfeaPnse9k8sBM7JqRfD7ILez3Fkz596Ug5nGeY3E04UkKnKruRzYH2A99k+2ikL6ZHCtZ/KBX0LpmXmAUVeSsBhAGiHGAL3qKFId526C0IAq0m2mrhuc6jrtYpO9mct0zm0uSohbSiIfnOYYJz8spaNhrIRELhX6dhP/OWm0Zvl8V3j6jQM0KZfpHGBJzkLs7u/As5qVcmhRERZWlUrVgwTPDDQdkNE7s63TmT2wIFE/CWopFlghnC0ZRLDv+jB//z70EX6SapyVbXOi39TduxHK0TwL1319qpIzWAOG6f/9PdxfODRBJNWP4o2w2pqFRnphUyqVioVjKNs4lO8A0S0wn1nqx2av7CpYeU53agCBN245M4eyFxi+jXoddHHLdIEKQ+HUeTKIoa5pKxwKFMxkSCLzVVb1xiwzOVQXdgYwh5a0oIwCvRkBQ+Q+791YspuEsOLRZmIlnCbBXgKEYzH7z6suTwOa/plKks8AIkkQDPJeCwE3W9+iyJAPSba+zcAXNVvNGAD9ttO2TMlK5GbAhq7/kiqMIfa2U24nPMlkShWK+loxOHWuuND/sESXFzWCv8zKbnn879unmcJn+I5Ym51xs5goIFA/v+CWw2zASR4e9WbGUlw5kfvee+cjMlzAkEUxNmcYdxTLTV61V9I70pu4Wu+pqURgmDmz0mu+Ihi7muiv9bXbGXWiA7zBnX5e5MwUOb1kGHH0tSvL9+avpDYMQvs3pTWzQ/4ce2Po/s29AKA9SELMMLOgF3n65HtS7ARa1IwEB7tcvhiAk+T0oXLejVBm00sH04qEssw/6/tP8Zi5fvQq+suWIch7bobGarTZrHp29GYvFgSS1BsV8NlQmuX6tvWfie79Kh0YznCCKRIKYs00xPfpc5AFPoU6HcbJmusm57YU7CgEEPL5T5QMWCFofWYc4STFt56leQ42Lb8N4L8YIPJ3QIy39it799ly1HEPwNiRZHqrXs+BAkcbznLvM4hrLnH5dUVXNsS0F0pI4lkJis6r+UMwZcPzpR1pRiulIsJ+YExUxUi/m8D3BcDAEzlpexHPSINNY7jYKMiE/VkWxDWLIPrTnRXwynw3amqvp/qa3YUxi0YMygyEfATX0LE/+tPNy+/Rv0yhJPxNdpKw5c/0P2sQLNhW0TN3G4/4hf50sOSb+Mi4MPd8T60EX9bGtjCiNqbJIiQI/W6oDE9fW1dLtSTiGoTiBrwAIbUWSmo+vGKqiSgJDvlP8m+bRtvx667lrvQG8XlTXAl0gUgvIb5LqmEDtLPQ+nRKklEozIUWOoW3vcAimbQVRwC308zfRn08m7kutMxiUFUl17fMOaWaDxNiQI8nc19lIvJljGQpIFB/1CKR8b0maYViWoQgcFhumofJUdi0BRnyLcJ7jsqJ9eJavfDo8fDvtAfrreevuFDgRpf95w8k5M3mtWL0Yf4tPA6+7jLz3wcNBwbZkPhsqAjM1I8USvNVavRYRratZyAq6Y+5VbKoLcImW68A2RaePDIHD23vtZv0ilErsjkOOQCacgm97wppYKNjIOhuMU5ZPU/LMpdYp38nSwWr3r7UrGo9D0NMUPB4INWeynKYKORe7Ch4b5Wk0j/hTMVi0jBBYEJ5vWEk59/UW/jECPMHitqbn9Vq1UqZ4dh71vhGFyLYoZXDmRSKZTsVDRK3X7RToTaHKqXQ8+x6AQFBTJjIgp8qX/YdtK+Npn5E+Fvd6PQH//42ScKxxMcyYL8a+Qe32AQybcy8bmmbg3cjo8iv/fldd+e9+rS8Ny721w0lZHJS+Ys9PhtjQ1xRpRISvHd1XPJ8yzWl1v3lAPAnk3Z/2H9zOwv+Lxfx7Ivbrvrz64vstp3Ovo9W6YMCw8Z8mOMEtDjgstei67kpAf9Or6NY8hAYD0XCTGWGfBavz7metvXrCgWUjHGM7ZZEhMJ7/ZRwgf7Q/5iayVKx1u9kOXhD67rNnSpJpMYz120zuD5NuzhQVtxLbyDZFGudNNwOMkZnYftslhP5rEs4Z7sXYC1vf1e6Ft/miBDRhTfccIuGB6Ipy8GiPli3sVsf1lpVXsVi1eDSSRLFbBFTyzqdRirG6UJLEnlimYG+019319GZj82/xp/di30xm8P6J6sEkgEqSdOCawDHvsNckIWTs1Phswuf38lR0KcotXSBKUYfd8X7PvTx3sT1ATnDEP1vSCC6FVWI7NBoL+L9z5P5Pm9Pu9Ngu/SOHjqsh+a3LDYKhXx9BeF0TUwOVDXxjjapwv0ReKqRzCYvM6q0OaPc21wntVsvsy0hzRrqNkYl6o0m2GZoFtxFNuShjmyH0tcDTtXOEo1tDE3apWtYWXKeMpCK4Gsms1WyXPA5OlsnwBwnoH+l0ZxdLh8gyMGCZIima9h/3D359SJY5YOs6MGDqGY3j9yHoave6U9CSqhkGXmaKhidvjF9KBJei7bqG4QTz1s6oE0tSeTeOQ1mgJrHrayPbXwwSyxWmRKzNZjVC/VPzsCxcBTSepj0I5hHFD0emfdPao2vqKU4uUM0kOpdY7bFJj2HIgBz3Lz+PxRYRc5NFPEVteBdFAAbOibtardV9QPUEEkOQvx/zl9d2/B6It+l3O3uHJbMY/0Yym7DIqhoAhVnKYnuJ0LT6eDnZErF0Wu5ScCVLAq+q9RId7pl5tqaqdrFWV9WxprGLTey8lXdQdBYyD+JN/TLbA0tiDV/bV2UhPN1HE54gjKSOKlgK/Qsa8J1tvOauAzqKtsVTCipB2SIRkOL5dAyS6enTNcHYeLTgpf6dKtFpICtobVtJ5DW1Vg9cNaP6GpNY8UuaZuQPzTWqh184k5dVmVxcDoLsGhLnCo0htkWAijgmm/29RknGIZnMZ7JsRFHG1Pba1mLJzd90XJvvQtbyVNFPAOkljyKspIaSYMAjsFCrFm1NIZqAhtLj+0qtPbCQIFQ2vMmkva8CTakMjeZ1XyMifSSUjPM/CWYvTUTO1Y5/mwsPmfIGGBJ9w6IodvD/aPrOOBtlGzsWDMVh55jL/eaiCt2haZDbhGMDIuZLd18pZsDHTjQr5Gy6KncG+8rQIJDylTjKY99OpEKsaaV6Z7U7zmjzh1xv9phXCGrN+5IoSjRKBMc0ncV8ZTe+D39RKNJ5HnidVyyJ48H9yTTDYkvAJKNdKAJmWXwqmiIFhovFLrdvuyLxYpkNDLaom6pCxQNvJFVRVct5gA9c8ixDmYZnIoGmc2OFC8F3p8+nk2EfNXAZpBB107pUUrWD4cCSpB4Q76AW1dPpNJfHfvDUXstmRWVyGE7CFhiAc7XT32VDJFN+X+BiHkCzjLI8J8vud7nSR/f7EZRiruIY9vYgppLiu04cRM64XuE2gwChQ5pVgH1lPZKx2H966U3WXGnFh583XV1TXsqh34Omd2GzZsevGcvHMdbTu2FJMN0L7QGaqcf1kAKduKAoozicaL0vmm4PkhfQTYrXux6VJ1GJSV3+juvUnerqDgQa9w4tDjIJnfMeZV2dSttW+yyo94z/YzcNIcI+eik/1WVRkAB7wZEk5mpu1GLl0XJJW0tMItjzuVCEHjxiHzTeEVgCG6VEPTgpMsxXmv95oWw6l8C3u/7D9VRoTMLbEFFMYoX8LgzHXJytN11DcbTZPbrMyljnMCgZi4p9li1Oz1XAyDPfEAwAkQoLe+m2/L1Fn0rKIU+ImTXv90LIbF1axEybV2ZhRT5GKRTm9NoqjT4aogey6DStO4LgdDy2c/kOm4K5vG+ePlM5uVgGVUVjg1U9pBH/oh7ZJxYHiZoI5x/W25OxZcbCFDmcSMK7QSDifUZehws8ecK+oIctvQwaYMz/7hxVq5+eCN+8Y6/uDwYH7Prv1RF5K1DCvl9NxBlB30zWVIHnKRKI0kLfk21yQ7s+E4JOxFjJqoo3DUkUKA5JsH0R0CrTmJS7TuLAEkDJgRm+/4gn1+qBKgmsd0YThV1QNcsyVRefkqkRdnLhrOF4GPb0pZGW2y8aqrp8hOHoZ9mi89y52hn5fW3mRY74eQppcaJbsfximb17iYOJTjotAosv8l6Cphlmh4RP1DQj8WHi72nYh3/QCnlDw8Dntpbmhoa2aYmEgNtZOfD/E0irfAlcxAZx/LE8tYAMr1KZVpaX6P1mEv61InDFOMq9m0OT4RKde2epVIQjjj7YR7Act5YXxd6tLID0IPr35bjPwHOHrNogPOAn0VsQEE8Ac5xHeog4ULQsy+4zZyqnvgz/i1wbJuf5h9yzJNbRoquxkHdR07vrGTy8ngKowVfz4+UC0OH5cEFzYrHom9BcxEOxcLg5JXGVx/Hvong6Vmr+7X+PfPlCTFEz8gA5y5cey6dmrVekLD1l1fCKLU/EQrEI1asHH+VjvSLnRJojrdheV1oDGUdAnIo+GW2et79LIT+CfzieV5DsQFHgZQsrpkAIOhcD0jD463jkd/fb5rq19aqL//H6rYq/guty14OO622TukjhuZM7uBSzpLUx1vxXixfnFIzM7hTyxzkoasPMzszFv48vFmpfHBDPJDFdkH8NxiUBQMm29qYYBwFNQlnwMLaiKbI8n9qZx+VJDg2UdChobu8pT5N+T8o60uqkD12FYz4Chm/Tl/5QNmfA6tDvxDj4WHg3rpIL3ittSnUF0gKcY+1F/epuq1AxfWdlrA92nyvy+iJdKmeQt+sb3uHIUYlBQ+A/XLGobDquUx0vdyJsbTjRYi6S6KComi5RGMJJEgA1qlFKPBrwaOrrZ2v1xtLTLBZ2Yx6HJzgkn7UjV6BwNJ16XmYWgjMx76vwQYljvlICsTn3JHCUXXmVToDM+lQSAEoAYoG16uJNzUmcpTybpQgIIETIUuWNHe3qJ6KKrov4zvRITQcBWhXF4yRUiIUO3sgOxJWOb+5MscSMWtzMFGnbkqmFBdJyk9CvkqaxG68QrJ4rZ7IlsW+Er5NbDN+l0R/BAph4KNwrql0k+FqWIJxe0tC6dblKixpJRRy7665JJOglz1A07myqe5f02/+BAze4p/0/CE0yJK+Rr4YEEAo3JFgpm1iDkvHI75aMdIzxlpZkQJuoYRT99lA5Fuh7w9Hb2PfaTJlJTiaUlgVEBRQ7pl6Z1YoKTv5ZWTeYW5dat+KHzVPjwri+/+nk7HiG1HZYYoLklso6ScjM12tFLXbTyuhyXiyQJJD0/Ec6UThcow/dsGnKBkEYv06jfxecYiDwfVptPCAW2T2QsEc/qkWfWTX++s8na+fG/Nr8Qd8MGwcBxiYf7QC5oNbMUoaMByMLobaZChEdnCpfRrbDVey/1Zt+cmGMvdy+5aWOsCLxQWHAoxFvZ4hHr5Gj1qthS1mOxHojubC0Ey2FxnieyAKdYpkGw5FQqDjLq2q2aeWeRSdN/jwcev3oF9GLhVsLuV2e9dtZKOogd9/IFZUCbbO0fVBTyi3WthsSJ6I8++elr8iJZL8ZC0hk7ey0N9DmPF4wsiJQxeKqXiZSraRdxfyHZDILyu9q9dHAKn2F2ff/7eNZBP++qaUlfNT1S6WzYDzS7KWwazzMKUpOE6CYWmClSz12lgztPXorhI4zOH4ino5McJr9gEPiy4UQeThO4IEBkIBHl9KgBr3IpdY0HecIC6ch5DIMBYMoRQkCQ5bLGPaAk42+4lXsIabix5OigozYkltrTeo8ATXkqsojEas5jWQ2JiEaF8U396SBTWljv1rADrLI0+ds42U6s8tq0P5rNFm1fDwSCfzeefPq9WvX6+qeSpLAKQoXHCCPFN7ACtqf/X7pXO3arj/GPBaKJn+XwhqOCKa7nID6vx9c7XLK7sXe6k+FWNd3Xm1NWWhX6cvyhohVdXNbgrlEhnvFYnyIfl8SrQuqacGJmz99v4IWtyp3EBMeogkwg2jltdAVsirD2209z5M/U+21Xl3jKvfn4IdsFkzAiNjYkiDsl2SRY5gHeTkUDx02f+/tbs4Mn/29BhdemNEtOav5dOBp7xAcC9PfwRAqppqj97ZRKr4Ot3J6Z98s9hNZyXUUGoEtoECFkzSnULzMcDQtEpdaY4eMyZHJATKONuwtXh7q/rAR5kSSZBTTvARBYDhsShnga71Lr4vhFcFNR5bwiPelIEFJmnFdp3GfEQM+3ZErfeCMg38t51AUx5IJI5GSK3GspkB9KNV3AuPwwIuBG+lZEhmHz3gCiSJIA+3HqU4fUmip/cThQHXof7Ek/GWulIZaxP0oGinbVRuElLjFykVhW3Jt4QnmEf2Y4zSBCRe4a3hIpBmWyJm5sFklKdrBHGBwnLF2gVizV7H1DYUj0OymJN8awQBJPJNGabAfyUtP+qOeVFSHIPhkNOhtEQZCbO2EIfCfcJLI0m9BG8DN6mmAfNHvc7Ub9F3Uo8GDcU5CRmW32nissDjbRVr+S0dsvYbNXCXJhiRmKWpFDSG5mra32QxNMdVMTNVVHJD5FEaSNBvFNfoqnfmi8S30PwLzEC06Y3DSwyK+gF8ZlSMR2SYI+/tU6uMhLhlJs3nr8Q7MrPh6TvMtDoC3vHF2fyIyCF/e7eFcUScDkgA88shR8Soo0AdCKzKEPrXQJROAWRfuKQoTyi4AsfSoxx9NpeKOynXXSdc9ZHwrlfO8qMPPbzXuit/P75abqzHqkBfUnggC3SBxdCgcSALKSmuQGJAWH/JG4pevFOPMnLoKQShJOeMF37GMUXzOhFfTqDRlc4b22OI8y25xJc04nQQDbwXJKyFDy/qcYJvnwLI7QY2qViXkaUeyQIHjUUqeJz5/pGM6YEgg/ELgOADGPlGg8ld+qkOEl2jfrCV6Dhv2vez+TysKvZEpfGmE5y+1Hn6TwdIUw5BE3qNgPchiPvlGlSQFcjSOZsrlTpmnNgh3Yt9akXp9yq6P3wd205LE8/mwDi3TXJOKBIFj2KLes6pvypKU63wBZsG8QtIMDOVP5kpQWOdTxLWViks/1ekBMF+gKo7K8BcIRalnt319A0LSRa5jaltLFr3kJ5ym1tTpKRPoy/ikig4vEpN8dM0DIdKCIIRHsc/GrJ0knTZNJT0SReq5vHpz6dUDFmVX9F+evHjit/GnD6CLDfNvvP94y56oB/rUqpvfjfd9Gv2Cnt4GdqVz1ctntDa9qGTwP5LED83oBygvPYhPiKeiPbhkW9zsUCISYHfcU3rXDz6iaSQe6cEp1iOJuzSvmXINSzG1B0aibPqJQ/5x4US0Fpu0ZHkDQNEgGMYwSOmRRXBl/+kokCZ7broTRd9QuPtqgcop2rGY7zlGUNrj7cdD2w2Bet9v+RiStKCatsoRKM0wqRjBcDqZBAJLIihQ3yO6m9Knoe4sQ9OP+8Ngc4bl5Xj9+rnAiirAX/YAp4V85hYUfC1C2Hka3xo7AvGFSB9PAIAnCowpsu56et6MpLQ/Nc4gefFhs4MQq85TaxrPJQ+bF9KnzSIDXI4iEShskUTXKru6siIfddMQMYs+c9Q504s9kBMDnFko3WaI9FbBHTle6eqniGhf3w6HNF7PpbE+WlKyTqg0Jm9n9W7B2horq6Frb6kENEKtKrabKZfRIGwQKEqKqnwGiAeWdxylfHq33iH1Sf1hEMJ19uNuoQwU6koiVvqKB6J7avUGl4maaPevDv9u4sb9po1LZ4Qb930b9oweYiOF76QymXK4PNoNnynOku/vvlz5v12PvXzo8EKICvy/HZpYvbjlX9mWd849MIhKy2oxTZZ59cXo6t1J+MdcKvVJW0Pib+sqvOPfLeu74bQ8A5xPhNYTL7q6M8Rf82veD3Mg/eB7W836HEuPfxHaF7uTljDl0JJVybyoUaVG8n9vsBr7L0hRr9X2GF5WAJmj1NjOE2Lq0DLnrK93cjqQzWSyrwvUL2fyBjIKhZ8f7Pl5S5b36G2v82QvuAwuDV7p/NYdy968z/3J9eG66GpwvnikZA2NOZAM+TJG9KCAfJxM28rROCrImUZIc3O0Od7N7QcmpHSZfkvzv5/QIwe1Q82ZK8yMnmLPqgHnSXhGm72htAe9czpDV5jq0TOEg3IRbUMNCsdMamuEYtl/aj7Qqo//h+vNzLK7pDazu9G3k1HISjS67lBo1PNwksrR1GNBSMowI32HC+k+/Gwir96jRIEFUw6xxdonqJpTLHTmkfnsojr/EXn+v9aN6+MmtTu7/pScFa2K7u0zClwOAuScYFqjaDLsMaMc8tkMYyuqqhRPJ4ovDJDHyX7i2vNn4Miq+UfWZDgLbJ5ZoAGveBb3qoUpqvSCT3i0XSHWlf9Yl/1bcLb1f/912DDkrw/J//fMhXUyrbWgV0Rh9spwNtEFn4xFudELmo66FT3+a5plzVNrPNa0zUmexv1dC4LNiyCQYKpzLHl6h0CCfBEfv5QMDjNH9sUuUR3gLN8e+FYyHZNA3z3aS27hOkSoOLPhgLxy5zcH0mrRk5cCnfCNCRwOujmtsGjpiwXqbv1mWPGkoaVDxVd6IX0YvJEbIAm0c3fuLs/xAnLaw4XjnANjoXg6elSRJUng9xkKVEP3uf8iAU92IxOVH61zOJDJmGbh/LtmGESHwGa9CwifqdD4Xsi6m21J+B2+F/se4jK4Yd/OslOr788naTGNsnxqLiulYIRIQEHOUkwMXyvTdXHqi+s5ITU9IITcmdHvYMPM1QESkSJxlk2Pa5Z2Sa2SsqtZumDelsRMgHWyquT0fJXw0cKq5nO0nC2ZqvVf74y8v+5458vH0cXdy2x+qBhiav3U76Mva2NDC9dWXV2+SrCyeia8mBia2f62ZXkYkL8fIy+3r70d5q0DhtVARWIrU1Ajv/aEudZYTTWe5NVg7DBwcFe2sGtpqVoulQJfYmhZ0xhAZjCM0zs+8LyJzGMuB1Uv31fqGtbAAf8Fg5PI6ESDK7rRZpW0TgKg3C3XR0Cw0GAMP8uE4tuo8MKz1/76hdfeFLMcFF3bZAkc4PodCG/5NoMBhChsgzmn7HNYLkQDJJQiFp5NkEZB+8tUUcQwQdjRnQiwpu9s/9OtJO0WrpG/QI5HLjTmRCNawnvQZXs+uxqUhaURRnG4XK9c4iq1MrPaHhcee9Y0K7fOVWS8D1s835zAVg+9/+agb4u8yEmiscW3XvhorTnuo2d+SqRSbWGVVJxlbVZMzr4cS/yhXcnKFf0dGJZUlmRHzlXCZt1U4A1lKpyCz6ZhBKNC3uLdeNz9ZRKOIqsRBKg2TzG4ibxlMAonaRL3OJuz5EJVy9BNUiY8rlgL03wZOCWnQEC9ruq7D8+Mu51/9eDTt5JV9FqpQaOrAstaFxrdoXsiae6VhW8n95lMtfBfhG+/cpO8AhCCre3R7Awtoh0GAhvYlq5Wlkz6UoalITHugQVA2u42A6/IqZ2VCdPh7uN88Z64ycsKnVyKhjuCC+oooNFEXOHx/q2oL7G5qJiRqiwoSbL88BW0C1YYDSr33yyJT0RRlPEhvx2bW0FosDGnnVyhZ5rZzTBtTdNxcLfU5R/kqgPrPiD5/RI85176eisu8oqkqCS12mgFNNKjK8huiSfxIYEhrTVAvtaRYjnGpRFqzCg0cYVS8CudUWd/ZyqeHBT6HBL2+GXwHZAPvnhJ7hRzwyLyjI+9FgT/bnyEpQUKC7VEMuivDQMSPhmIpXH/ArKW36uuBw8YpabC0WeSMEGS9nqaiIcjk9P35cvwrIXI6BEIRRn3lKExsDnQZIGhs8Ou/PL7C75Ow8WC6z4UWXLwJhIJpEuAziwtbHVwEs9OSjhOkg0NuEqqZ7pAVZdiTYNmOEmZeNECpx2Pr/iRBST1TLksDvcnbjYqJ0XhMU1i076UB2eQHATl1GEKR66zEtGdIf6IP0jB9LjwpfSgJny5C36P6CtZFyLH/eOdvkhkWnG9ggktYRkMH/QGSVhJA/OFp8v6Ljh52zegBSDFXw0MgX1K/FoIESrC2LFPJ6JkP6dpDxUG6qLtRmcWq4RvWj1YG1mVv44d9zerfMPUCuRKj30ACq1jdoDOY0+DNxhSVbdRtqVcAY/RG0auZFR1bTvu0jjOOvXmhMZBkQixdMMEcWDFkhqnfTzmH3ZTDRQ1DEkyylfZMtj8f7bwXmtr7vn/8Qfkv/uKPA24skYSnLE0TWBwMB6PxaMBr2MKFGdV4ufLlkkNdhSIawprYDmIRXfiPH0kFA23JhsJ5iwcwyLd6gXHuxkTSQxjiSe7uxrYcBoCastE8M79hd9I1Q+vx2e2n5KvMGcqW+nCcjLWAR7w7k+RZDeTV6UMzXZ6YiBlcWybhqpcf9mECLhln0wAl4Hy/DVeEFvvcyQhbpE0263pm08d1crU901FSVTbVQMsxWklW83yMRR4fTcfojCCyOeTCLpGU+ZL5laiqlSA5KlOcgyT27hEbdyVComkGE6SGSTHZ4VDlhvGJBxvHkXkGDlb4EXF4hZGFOhblJPwPdrjit/tJ2pfwEfrdsfXr9TrBXQR2snMCJ7lzlO6J0VwLCna5LgoN4CB+TMw/XY7ISF8xrus6n9IVhTR1IVkX2EAL9CHQhB8OJLEGGczHmbOJhzN5XNMlqFRKGwaNaW83FdUBA3LVKlOcso2M0U13JkTOwU6MsCmlKtd8Lg+6gv5sVSzyUPN2U1HAXSuPl/TXiVMzTobCUZFzOTQG7XhJH82gbRuZvmfZ7EMnBlm01zLLnQ3h+WtmMezLK8o4iUEgQBA0dDsKcPXL5d9PTvQtMR5WphejGZucoxbpf7+7ayEeUmRRuUrkCeImB8lzp+NR6MhjyIKXcc9t1DpFFNWSKbAIQIC8vHraDQMxO6MhOqtylp+uRrDCSvn66XN+6Jx9jSA/K0qoZTEHE7jaI6PireZxbVFB3B4uTK3MkAM8rHmrNlYr0w1mg48N6H0vl+xdqZwxNjtqL7A1V8Hq6u9dJ6AT4u5KOr+77+JCMnwInxYnyJcyjbgfwYFIPI05mxR6L6JlVp3K0LPB0RwUd7p1hPVMSlhKktZOiNIHJVyBUmsmp2Vap1pGByqV1yYJ8kjoYA/jKnFkjTSB9ijdNA/raUf2D1iaamNsIdHXS7uQS2cj0bppLSd2uZ00uksgmT/x9NLDEYIkmGQJJlUcZmwiWc8y7AUGvfr5kaq2FTLrTS9jYCNLXIUPsWNP4rysmIcarCtkxugXF31R4ngcOC0VQHYAs+gcGQci9XtI0GCYd6KpaK3dXsvI0lwODTE39lhsojDkOjJHtSdyO04Fe/YVWrturKHzNBcmmR5PAniSY6zAnzZUGVZIOw3rowYbkGtQRg+drnd6Q1LOt8NAGj2oWjQoKkZys9E66JJdQTnfhZnRYEmk54kwKoeCv8ERVAqF0IDdbvteiU4Ggz6B6lQ17BsrTSkbH/wLQN0ElP49KH7WaZ78enYxs0h+rfu9yhT3+WABYHnJAUSkixPU58CXohmhCLgGEarLBTLtWaJWIplJOJdarCuAvqp8nZhGeflo4E182oclTxWFJkmUoGi0Kkb2X6qvJVqjXpRH2BxfAPntahcUbfxaSHLJZ8D9gK1E5ew9Zmkk1uPSYbC4WjUd0XKo7U7QGAVDsllkgKO/AghEASHEyHvm0qvWNBpPKonWfPw9VDgfKO3TSG3zwc8iJ4pWqr4hR6BjC/CUiUC/S4dtsfomIfJQ9IGyG9l4FSSpts7t3xVHAXYWweUIREw4nCKMvu2RrG0s6tYzJsZvonELJwrgum38y7f1mvqETKUolwsN4LC4uU5lUbGOKMYZGNkohK9NGwoCocYObzxGh0A9OU3K6PVm2dOF47FirNeKhZPAikYDC6Jx6rdEjc9pDuMolCxt7OBQOa/74eQwmkaTaFDUazduZBb0QDkUFvD6vPhNbQxG81yLJqAADGMHZOvRZ7lGUzuiERS1A2NWXSZ+FtKyMqMWOVWN8j5EA+8kkgaGiOuYi7ypKQJbI0QxjjbNajV6iY1GhV9AEUBFjN9veG3irGK2nSKIVETYGSpkTxkXx+XpcouX+R2SZXx31ubzaI0nKS74mISK3t6qqJquqEz3dRm5VFoqpUdJl6gYjTNw1gDfXuXTUM6GA4Sa34Nav4df0L2UYygaBqORWlFkn0JfqvKkiSyJOoRinTd8hv9QcryIf8bYXiE/Qy8hZ0xMqWoEngeE7MLn3J9AAo8QieiZ4hpcDbPdT2q5f3zbmtlYluW7fmeLSQEglj3ZdO1q2p3mS5oc3zGNoyjocPmj+IQ/QlzxZhg6422ekdasfmmW51Uyim+GC2+bBYopJyII6JOMKykPFQl6XSBIbJGlwAouPCgtPT7Fl1PQ5Sw73HFMrMMrFA3T/+Xq9euX/7vP/5C5urldqfAUwnVs1Us8L3aKx1Q3JKBZDUvqyMeFdV6ugnTZeDpkQE/Q2d+/DmfmrXOJYeTiRG4B8eJl+fbgyx3V3K6urXPzdFLsR71MHsqzQc0YZOKw8jDrm1qO7t8QczuFCVZRKWEILDAZ2RQxaLu5Imkhtq2IxGpxIjpg28pHOpLluVQacfnVyeatYrNOWAOtJbLafqG478s0ncNiUTcBxLWuvP4QQEH8/+JAZMutwu15uWk/8XKc6HV2wfQeIbjeSxBLFSUrbzloSVdK6uIHE0KJZJB0YV4m8Vi3jdC74F2Inq+fiHdkqWoJfwSwaMBn0d/OcKwJDbp5ErqMpZpAGa0vHVN7XjkNEwqlMlzDAKGTewY+nZFfse0lDfXcy1+QICgFV/WbX29JG6huuHNMYfFHfUXiPqPnabcnCgrDMAxgigGWIxGI6FwYEXiWaqIwTD/ardcni/egK/2uo2KC82GGrX7fHj3v4/Cz4UVwUmaQdI0iVnWAazH1FVN5inM6ztsoZpqRoHMq967TWYlLGzOFzVewMiJNYljskcGSEaNYgFDptg4RZ1JHtTeI3ZSN8WhqD8EwtBqliJpxznkB1eOuo7DpWkpC6YYH5mqyK8tbdRTFct6npmGo+hsh7fs8lB7GGXWU0+L8NGbJEPnXA571REFMhm2SdKuXwlMRZ1yCtHwM+gmT2YKDpdnvRYKrfYRMcl0GTpHIilis145EONzJBIzKZSkD4x/cIwOUo/CdxiS5ACbkylog/MRiUIogpMoGIY/sKOI67PxNbzlhvgC8lAxXSw+kZ09r0tEFzx7qXs+9cuFzYxdfUQHfm8YFfUeQbKGfrWqZZfOEOOi5NiGLIkcd/m2pOq5sqx8Ump9EgefKkrtiKSJKZVKJ4F4lG2vSyLuax5kVQTBVIgFVGmcrbdqNu1y0xY+heuSpXWFr5PJUCCItI0JWd2VVtP+QI7vUyr6SOIQQx9ZUMLpq9j6hYeS6SgJGlsC5UgE9JPdb39eeH/Yx2f08ZiYPd/eohNbNiAW+1nlK8raUnG+3Xkhfa3dg0VrXMhxBEmR/S1VOms+6F2KmHUC8sZCz4cZhpdUTTe2F/rbHh1p6eM8P64OM4/GeE7zfMArdMwbNwqWpXcm4bs2o/PJHWxviOgYjiv3HmuW4yh9YJRYC34WUq104kqayNQg/ofMlUcG60aaihLrUsjx7jfkLJNCucKOwIVIN8N37zNo55Zg8B/JinqPx9LYLrHCYxj+ueuwekgQ+PvohgDYRtJ0uSAwLDs9Lnge/5TgRI6ZVl/nYVEm6whpFJGYb3fO3PnQqKLIEQo2ooRFnjA0pTZDWOebFJHY70VeYv2CGTJSShXg1+duXnx85U9/sTDxzNxbXsCAR4O6Mfuyp/fk7JMTj88+HCVZYjV/ycWJpbpmQOJq9xZTapZ++AHZ1aOGNwcXTnJ3FnY2CmlWkIAE3vPhYe/0MfE4eLjg0Fikr9vM6Nfv+xmPvBzZIMGF++B559b1yVvLU1cGTrU/Wb9Rf+vEF6kz+5P6GiZWsbaAm1OQefTG+XscCBIS+TF9frzW6fj0ZDGKJyKv1j0sRI2lXsWMVoEgEcnkJ86f1431oI+resSkbYwx5sapG1Cgoge9SMWDK/HYfiPWJTHxLQKVKmmBWWmB4AIyJ0ymgLFR22poZHtKkgCYPh03FZCGXNdzna/eyfiyULoTAhvEku5M6Ux6O9yefnfENiOHnNg0dRU6VCZfw0MR7vRi/6vl3awJ7I43xCol9GU6Hlw5jRxoYbC0lVPEvgGGha50B0hYR4HAIXiBTIbyK2UB4Ga+9sG6+EMJDxxoNjBVcXSWrwFa6TDisnj80rpwWIE/0vid/67hpFUoODLDngNzZ5q+UZDBxMOuiiZrVFUcL7O2p1/3wr+lMNfI3KhtMQwBlvuSYdFrdu007eMWvSPymY5Cs8TlJOlR7WA+fU/AwSiylhAkbPyuxPx4T/ws8lb8Et4B0dIVd8f4O8WFIphNRjH/m1AqIpY2zd0rEHuHxyfe9sT9y6Glq7pIIM1sJxHn0a70bJPpCyVSkLGXYOci2MJrR5ysk2vT6tAnOzgvEy3Tbzn8vuXItjOFEvVUoUlaUHLd9eGsnAvxG1JJQGTBkHGkdEdSKrnucWLx4p85/N8UNNrDcfFLtJsPYLa2reChArLh0SRF6TWmHslKjYvv/PoCcTbf5i+374QmpaMdoDet0ZbMsoLyhdOhPYKoQISdxNMehVSVf4+I/WuHfhSt312PD8Eww+ebQdVgNojlVO2rCX955KGTEDpHUc8yqdTzBPSzl975pLKxtth8swD5Sa9tZwyM+qPanMuis8Psm/cQeU4c20VLXzQmzruo2M731T89Au6NrQwxEKOV3OnuO9LkpSfGJbDd4Nh0V1IFXSUAfcDRQDhXqiZPHwHE/u1UthZiUnsTiN0hcZ0efs5T8RXdx/7sCvPDPAPSCQ2CKXvD+RmaQt4TG5hzaDU4k8yrt8rrPFSUyvb/Fy6/afK/hhXDdp6y1PykYtmzFPfhoRaeioXD46NrCafZRpWPjBGSdPOMt7Luz/t+96luUmTIk6tZ4RSJvfVWzVVjXkp9ZW1BzuGXIXOQ46jVd3rvBZ+6i+0KCXSvDxnFotVJ4XrceKsC6xK23MMpZzsRZfld/0kWD54kNOLxqgRWT+uSUCpNmIEPBIFIEzLLQwyb1e91EIa7LPyjzjVSJkatnaHHmnKfrPxZeIVNid2yqENrtNyTcaS+HoRiCDbn1vrRcfxMjDOPc+EgR9L0U0sV75HdJLjRSsB6OeRZty//jq0VY7L2wli/arteMfAlilYdW0TyJBVgA48EAXHHA0p5uUDl4E0UTgOM6p4i4echnJeGKBwNS42gos07hpPNyZ7ozztado698c3BgQsQWtTk6LUlkWM5LrxHBJY3IoG0UZXjeslAQJY0O7NFsBJ/Z4Gq6m5jGCLnQ2yFp+ngrIjklNw/2jA55m1UrtWcUVn9oaNOZUhYizBvTGrmj8y4nydFZRwwk8Dheo5a2j1cNojsJUK23TF+nseKpBULwmBKhvpUMsqLMilPmYZl3RHMILrDSTJ6g1bcwmxW5qiSKqV/nF/jHrs7AkjYaucj3TRIZCpEvHKHAp7sD8UwlK0J958d90VGgsY9HMmbgWfqxVZ7gMmgr0ZM9VnvApJpmSV+zH0dJPj854qRa6jjgqQaZusAWnXVcXcLjymfcPlKebtp8O0Jfxw6iVOP7dya6La5NT9Udz4AwwHk+uMXxWboioC67fMvsgU0anQ5BvK9Rb3YzEczF4/2F48dO3nym8l0iE2zPNYheWrcf8IYSOTAYiAak5FYuqYy28jJvMXK6h+TQEvAkz5R3KG9v5eH/e9NXDh+8dSpA5Py9SOPjk8eftJ7vbVfjXjYsvYqLmAY6smXdGe9FOwJxNGAEs22ngsv/PuKM1mSeWy1C6UD39XplVhtFoyJvIcIXoPfSr91izq/zjRuqvQAOcLmjtxf+9qaJHKUvl9ua4yt+Pstqk46b/HBe+JBwGMz+hia6aaSlj7Eh2+Rt5h/Z/vg5k/lN7e6PmxYpjKF1AbKY3o0+QB8xJasdzaVtDSuJmzwm9BuddzOske2ft5wkco0yRXFB57tvOXJHcmQr0s3IV9XdvtBut6LTVizMriOY1stOXmlQ8AQnadYOulUYyIW10mK2TKATVilMrh2Y3steVW4g2nocGDoPx28PAlSCIoiKSOUeYYOvqDcqBcjUEfDjdD1TncwS8z6HPC0shRUrMQqnly8z/PUf08GIxweyg8Q4JndhTYYLIErMTlsihLzOCr3JMDUlO0DMwdXnu+qKSpsiZHkthUaPr3aJYL+ZD5NwDE3nNJOillN72t6sUsxzMyxmrmtcVNvROy84XLRc9RkW+Llje99jZjfZuJE4SxqJ6xuRr5dLhJeHRJwePn+OJGhwCP+lGBTsyrEi1B16BTYlF4ukhuNatfzilaoN9Lcs0HQasIvy15LgfDbdFXb/pz2NLRR9niZd1pd2U8UCMIl27mGp6NaIiRQ6NEP0AT375jPPbUyP0VRW1XCr+/yhI/I33/wJeb9o3/7zX97U+YfmwHts9LQQyHEscmlKFAOfFMSWTgkr31BGkrBqJIhTTXqr0mk0b1WLeuUQ227qalUH1rjFHBs2hWTlYfv+d8kPisNK9BGJS+M5TyWa4p5AGMtY02woiftGo5MDXXa3RVNxFWFJgkP0/dElc0lFayi9E1yYL1dI4yqCgIq7n/KoQO3a8TKODx7zTEabG1fl1VgsUNjsXEnlQhGBAOyiAC7ZpkcnTEdhRiQy4FrxzJKkyTf9Sk7SWFqdTm7C4iDhENUYXtdbGmSvIq+I/AoJCMm7WjCokzk7sT3eCM1PhMAou+w+JXk+BjlGR5Q/QLYUWa42uhHO7B4QqxFrkM7MtsQDPEAp6+uXpFUEilVWfbkkT3fyY2PuPLRzdezAEEZpCjJtyU5iArjFOq/9KFITI0sZ73CkVpToosI62dZG2OOwnnE+9lvho3AUHkCIRFYk/n0vK8MOPPwEvUQSxHmF3a3ACPwnZZvIuOFoCcVaoLhE5OFvftKhUOmuSKNQty/S0vLiDrOR7GMh3kYac4mZSUtBb5yhj5X52UkMWxyUx3Go5Jm2VcnARamxlemxSUcM/KqKMDYTPH2c6TiW9dcdUTAabZLqi1glcdbBbUUvP5/yL4zbRwDjTrKDuv9rCgB+ukik21pfA4ISbA0EDDAsUChnMtjlg8CdGtFEMGFvpAA8wsFCTjJFWQMcXLgyOn5oEAyeyPoMUmjggGSxXXBBE5RFcwgiQMuZAJVDL6CCDpxdrhWHnHsIiqzU0EHXNzp+lIRaLibPRSMYBJvBhNJ4p1gJov4wbctxMXuHSF6LCl0xWrXK/eImnyNVmabMjk6JPlW1s8oftE2rANGvrrQ4n4MNku1+ehWQB9JGi69LGyQdmJjVCZW2J8wGqdySbhecD0w62wCcHJ0ZWrXq622LB2na7jBFySw0puXEeNGTFMINWUpq8G6TmVoATCfiyjq0tfd0sdlBWWZ5oIhbDHVOXhk5biRaSzQVOgKL44ZhhwE3eBTjxziOw15/AKE1bPVAtIJJdNwrjKsliPBhRh9mFslkIGTv7ObFkTLeX13xtTwcVIQXnULlgaPZ1nimogpQI4BfyGeAYeE2g1t17XWcM9N3cF79O2UFLYryhoxCRCQ4Qaar2b+gGIQFdcq2yx5hb0741tKUYmnjLoWWo1XaS094LSeVmXiE5t3dMyHfH3VM9UcoQJ3Z9VBKAApIKCjGzNiathuTl32z49xuyrqYo+LVKvOHc4lCVRlSZQrHQR5bvx52Ykm+ndF3D9KPHdQ7jjpVnd55bFPG8mvnaDGvQLprCo2xtQtxXBAy0VXNrzV0DP1vcHMwSrWQEBAjpB62txuW86aMjVgWdbJcJb7rsARMvREz8wHPyRFk+VanANjooJu2sioVzSy4acN2UJFy63PpdvKhqhiKbvx/ktHtNFnvg+zZuCMzh05duWSnez6XKkepVWh1YPDpptcdiXUme7W1qjUhI2bIOXLhmpNzouWA7G09VA6++SEdbJHtuy2Xccwbuout4Pk1p7ADY0CJ2zturDZGnhzh/U3lErW+PK6GrLaRDPrCBxMAh2BXvdE19Aj7Bfsqne3sHMHLLc5LE9qte5pv8u946ZH9Y234OjYdY5VlbbOdkzkzUmY9IJl6DtYrxv/w3geTc6lxZ5pzlQouuC4fXgX8L5lKn3wr/2M6KUXoLfx7sw7+TRNooFkGaeNoQgnbc3OP0PT1hsunCxLP4dstOR9MxnopXBhbHtEfKZ/oyl/B4H+a0F/KPLCa8ziS9M/AyRujMFkWaFjfxsv0j0bOBst5ZRs4tGIQkNZYRVEj5+Rxp1DTDxKIYNmDJaOWdI2yQaAseIOmUm7THM4BjpaqoskcFxETU9czsaoQSIOQL08RBHfrJ6YnMGLVeH4eVoyBcSxou4wXNYUqhexRU8psGFLMcka3GVmjxEiK3mAc4JRWGLO+FaJy/VwZYcJWUl0bFnMOfbIILvrzyhfOIAlgzhvuV1fbes7Kdpqy2Gu41vzQHaHVpAMrxTolfK5lrWNlyXvaw/Lg84qzs6zvoEJV2V2Zr04H2lqe3XDJ9ELZGvlG6gHgjjlYHf0mWdab38bgdaKPuOZ+564GP7vXw4ax9QjqFIBNdjwrrCqShl65GSgQkL4vEIAqu4kT32RklmWiGvNQrjE2YKZIoE8hTd7jBXyQjNFvbIbiPz4SZunWPWqlPP20RYTGJR5u0YEAA==) + format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+4e00-4e01, U+4e03, U+4e07-4e0b, U+4e0d-4e0e, U+4e10-4e11, U+4e14-4e19, + U+4e1e, U+4e21, U+4e26, U+4e28, U+4e2a, U+4e2d, U+4e31-4e32, U+4e36, + U+4e38-4e39, U+4e3b-4e3c, U+4e3f, U+4e42-4e43, U+4e45, U+4e4b, U+4e4d-4e4f, + U+4e55-4e59, U+4e5d-4e5f, U+4e62, U+4e71, U+4e73, U+4e7e, U+4e80, U+4e82, + U+4e85-4e86, U+4e88-4e8c, U+4e8e, U+4e91-4e92, U+4e94-4e95, U+4e98-4e99, + U+4e9b-4e9c, U+4e9e-4ea2, U+4ea4-4ea6, U+4ea8, U+4eab-4eae, U+4eb0, U+4eb3, + U+4eb6, U+4eba, U+4ec0-4ec2, U+4ec4, U+4ec6-4ec7, U+4eca-4ecb, U+4ecd-4ecf, + U+4ed4-4ed9, U+4edd-4edf, U+4ee1, U+4ee3-4ee5, U+4eed-4eee, U+4ef0, U+4ef2, + U+4ef6-4ef7, U+4efb-4efc, U+4f00-4f01, U+4f03, U+4f09-4f0a, U+4f0d-4f11, + U+4f1a, U+4f1c-4f1d, U+4f2f-4f30, U+4f34, U+4f36, U+4f38-4f3a, U+4f3c-4f3d, + U+4f43, U+4f46-4f47, U+4f4d-4f51, U+4f53, U+4f55-4f57, U+4f59-4f5e, U+4f69, + U+4f6f-4f70, U+4f73, U+4f75-4f76, U+4f7b-4f7c, U+4f7f, U+4f83, U+4f86, + U+4f88, U+4f8a-4f8b, U+4f8d, U+4f8f, U+4f91-4f92, U+4f94, U+4f96, U+4f98, + U+4f9a-4f9b, U+4f9d, U+4fa0-4fa1, U+4fab, U+4fad-4faf, U+4fb5-4fb6, U+4fbf, + U+4fc2-4fc4, U+4fc9-4fca, U+4fcd-4fce, U+4fd0-4fd1, U+4fd4, U+4fd7-4fd8, + U+4fda-4fdb, U+4fdd, U+4fdf, U+4fe1, U+4fe3-4fe5, U+4fee-4fef, U+4ff3, + U+4ff5-4ff6, U+4ff8, U+4ffa, U+4ffe-4fff, U+5005-5006, U+5009, U+500b, + U+500d, U+500f, U+5011-5012, U+5014, U+5016, U+5019-501a, U+501e-501f, + U+5021-5026, U+5028-502d, U+5036, U+5039, U+5040, U+5042-5043, U+5046-5049, + U+504f-5050, U+5055-5056, U+505a, U+505c, U+5065, U+506c, U+5070, U+5072, + U+5074-5076, U+5078, U+507d, U+5080, U+5085, U+508d, U+5091, U+5094, + U+5098-509a, U+50ac-50ad, U+50b2-50b5, U+50b7, U+50be, U+50c2, U+50c5, + U+50c9-50ca, U+50cd, U+50cf, U+50d1, U+50d5-50d6, U+50d8, U+50da, U+50de, + U+50e3, U+50e5, U+50e7, U+50ed-50ee, U+50f4-50f5, U+50f9, U+50fb, + U+5100-5102, U+5104, U+5109, U+5112, U+5114-5116, U+5118, U+511a, U+511f, + U+5121, U+512a, U+5132, U+5137, U+513a-513c, U+513f-5141, U+5143-514e, + U+5150, U+5152, U+5154, U+515a, U+515c, U+5162, U+5164-5165, U+5168-516e, + U+5171, U+5175-5178, U+517c, U+5180, U+5182, U+5185-5186, U+5189-518a, + U+518c-518d, U+518f-5193, U+5195-5197, U+5199, U+519d, U+51a0, U+51a2, + U+51a4-51a6, U+51a8-51ac, U+51b0-51b7, U+51bd-51be, U+51c4-51c6, U+51c9, + U+51cb-51cd, U+51d6, U+51db-51dd, U+51e0-51e1, U+51e6-51e7, U+51e9-51ea, + U+51ec-51ed, U+51f0-51f1, U+51f5-51f6, U+51f8-51fa, U+51fd-51fe, U+5200, + U+5203-5204, U+5206-5208, U+520a-520b, U+520e, U+5211, U+5214-5215, U+5217, + U+521d, U+5224-5225, U+5227, U+5229-522a, U+522e, U+5230, U+5233, + U+5236-523b, U+5243-5244, U+5247, U+524a-524d, U+524f, U+5254, U+5256, + U+525b, U+525e, U+5263-5265, U+5269-526a, U+526f-5275, U+527d, U+527f, + U+5283, U+5287-5289, U+528d, U+5291-5292, U+5294, U+529b-529c, U+529f-52a0, + U+52a3, U+52a6, U+52a9-52ac; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-02.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+52ad, U+52af, U+52b1, U+52b4-52b5, U+52b9, U+52bc, U+52be, U+52c0-52c1, + U+52c3, U+52c5, U+52c7, U+52c9, U+52cd, U+52d2, U+52d5, U+52d7-52d9, U+52db, + U+52dd-52e0, U+52e2-52e4, U+52e6-52e7, U+52f2-52f3, U+52f5, U+52f8-52fa, + U+52fe-5302, U+5305-5308, U+530d, U+530f-5310, U+5315-5317, U+5319-531a, + U+531d, U+5320-5321, U+5323-5324, U+532a, U+532f, U+5331, U+5333, + U+5338-533b, U+533f-5341, U+5343, U+5345-534a, U+534d, U+5351-5354, + U+5357-5358, U+535a, U+535c, U+535e, U+5360, U+5366, U+5369, U+536e-5375, + U+5377-5378, U+537b, U+537f, U+5382, U+5384, U+5393, U+5396, U+5398, U+539a, + U+539f-53a0, U+53a5-53a6, U+53a8-53a9, U+53ad-53ae, U+53b0, U+53b2-53b3, + U+53b6, U+53bb, U+53c2-53c3, U+53c8-53ce, U+53d4, U+53d6-53d7, U+53d9, + U+53db, U+53dd, U+53df, U+53e1-53e5, U+53e8-53f3, U+53f6-53f8, U+53fa, + U+5401, U+5403-5404, U+5408-5411, U+541b, U+541d, U+541f-5420, U+5426, + U+5429, U+542b-542e, U+5436, U+5438-5439, U+543b-543e, U+5440, U+5442, + U+5446, U+5448-544a, U+544e, U+5451, U+545f, U+5468, U+546a, U+5470-5471, + U+5473, U+5475-5477, U+547b-547d, U+5480, U+5484, U+5486, U+548a-548c, + U+548e-5490, U+5492, U+549c, U+54a2, U+54a4-54a5, U+54a8-54a9, U+54ab-54ac, + U+54af, U+54b2-54b3, U+54b8, U+54bc-54be, U+54c0-54c2, U+54c4, U+54c7-54c9, + U+54d8, U+54e1-54e2, U+54e5-54e6, U+54e8-54e9, U+54ed-54ee, U+54f2, U+54fa, + U+54fd, U+54ff, U+5504, U+5506-5507, U+550f-5510, U+5514, U+5516, + U+552e-552f, U+5531, U+5533, U+5538-5539, U+553e, U+5540, U+5544-5546, + U+554c, U+554f, U+5553, U+5556-5557, U+555c-555d, U+5563, U+557b-557c, + U+557e, U+5580, U+5583-5584, U+5586-5587, U+5589-558b, U+5598-559a, + U+559c-559f, U+55a7-55ac, U+55ae, U+55b0, U+55b6, U+55c4-55c5, U+55c7, + U+55d4, U+55da, U+55dc, U+55df, U+55e3-55e4, U+55f7, U+55f9, U+55fd-55fe, + U+5606, U+5609, U+5614, U+5616-5618, U+561b, U+5629, U+562f, U+5631-5632, + U+5634, U+5636, U+5638, U+5642, U+564c, U+564e, U+5650, U+565b, U+5664, + U+5668, U+566a-566c, U+5674, U+5678, U+567a, U+5680, U+5686-5687, U+568a, + U+568f, U+5694, U+56a0, U+56a2, U+56a5, U+56ae, U+56b4, U+56b6, U+56bc, + U+56c0-56c3, U+56c8, U+56ce, U+56d1, U+56d3, U+56d7-56d8, U+56da-56db, + U+56de, U+56e0, U+56e3, U+56ee, U+56f0, U+56f2-56f3, U+56f9-56fa, U+56fd, + U+56ff-5700, U+5703-5704, U+5708-5709, U+570b, U+570d, U+570f, U+5712-5713, + U+5716, U+5718, U+571c, U+571f, U+5726-5728, U+572d, U+5730, U+5737-5738, + U+573b, U+5740, U+5742, U+5747, U+574a, U+574e-5751, U+5759, U+5761, + U+5764-5766, U+5769-576a, U+577f, U+5782, U+5788-5789, U+578b, U+5793, + U+57a0, U+57a2-57a4, U+57aa, U+57ac, U+57b0, U+57b3, U+57c0, U+57c3, + U+57c6-57c8, U+57cb, U+57ce, U+57d2-57d4, U+57d6, U+57dc, U+57df-57e0, + U+57e3, U+57f4, U+57f7, U+57f9-57fa, U+57fc, U+5800, U+5802, U+5805-5806, + U+580a-580b, U+5815, U+5819, U+581d, U+5821, U+5824, U+582a, U+582f-5831, + U+5834-5835, U+583a, U+583d, U+5840-5841, U+584a-584b, U+5851-5852, U+5854, + U+5857-585a, U+585e, U+5862, U+5869, U+586b, U+5870, U+5872, U+5875, U+5879, + U+587e, U+5883, U+5885, U+5893, U+5897, U+589c, U+589e-589f, U+58a8, U+58ab; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-03.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+58ae, U+58b2-58b3, U+58b8-58bb, U+58be, U+58c1, U+58c5, U+58c7, U+58ca, + U+58cc, U+58d1, U+58d3, U+58d5, U+58d7-58d9, U+58dc, U+58de-58df, + U+58e4-58e5, U+58eb-58ec, U+58ee-58f2, U+58f7, U+58f9-58fd, U+5902, + U+5909-590b, U+590f-5910, U+5915-5916, U+5918-591c, U+5922, U+5925, U+5927, + U+5929-592e, U+5931-5932, U+5937-5938, U+593e, U+5944, U+5947-5949, + U+594e-5951, U+5953-5955, U+5957-5958, U+595a-595b, U+595d, U+5960, + U+5962-5963, U+5965, U+5967-596a, U+596c, U+596e, U+5973-5974, U+5978, + U+597d, U+5981-5984, U+598a, U+598d, U+5993, U+5996, U+5999, U+599b, U+599d, + U+59a3-59a5, U+59a8, U+59ac, U+59b2, U+59b9-59bb, U+59be, U+59c6, U+59c9, + U+59cb, U+59d0-59d1, U+59d3-59d4, U+59d9-59da, U+59dc, U+59e5-59e6, U+59e8, + U+59ea-59eb, U+59f6, U+59fb, U+59ff, U+5a01, U+5a03, U+5a09, U+5a11, U+5a18, + U+5a1a, U+5a1c, U+5a1f-5a20, U+5a25, U+5a29, U+5a2f, U+5a35-5a36, U+5a3c, + U+5a40-5a41, U+5a46, U+5a49, U+5a5a, U+5a62, U+5a66, U+5a6a, U+5a6c, U+5a7f, + U+5a92, U+5a9a-5a9b, U+5abc-5abe, U+5ac1-5ac2, U+5ac9, U+5acb-5acc, U+5ad0, + U+5ad6-5ad7, U+5ae1, U+5ae3, U+5ae6, U+5ae9, U+5afa-5afb, U+5b09, + U+5b0b-5b0c, U+5b16, U+5b22, U+5b2a, U+5b2c, U+5b30, U+5b32, U+5b36, U+5b3e, + U+5b40, U+5b43, U+5b45, U+5b50-5b51, U+5b54-5b58, U+5b5a-5b5d, U+5b5f, + U+5b63-5b66, U+5b69, U+5b6b, U+5b70-5b71, U+5b73, U+5b75, U+5b78, U+5b7a, + U+5b80, U+5b83, U+5b85, U+5b87-5b89, U+5b8b-5b8d, U+5b8f, U+5b95, + U+5b97-5b9d, U+5b9f, U+5ba2-5ba6, U+5bae, U+5bb0, U+5bb3-5bb6, U+5bb8-5bb9, + U+5bbf-5bc0, U+5bc2-5bc7, U+5bc9, U+5bcc, U+5bd0, U+5bd2-5bd4, U+5bd8, + U+5bdb, U+5bdd-5bdf, U+5be1-5be2, U+5be4-5be9, U+5beb-5bec, U+5bee, U+5bf0, + U+5bf3, U+5bf5-5bf6, U+5bf8, U+5bfa, U+5bfe-5bff, U+5c01-5c02, U+5c04-5c0b, + U+5c0d-5c0f, U+5c11, U+5c13, U+5c16, U+5c1a, U+5c1e, U+5c20, U+5c22, U+5c24, + U+5c28, U+5c2d, U+5c31, U+5c38-5c41, U+5c45-5c46, U+5c48, U+5c4a-5c4b, + U+5c4d-5c51, U+5c53, U+5c55, U+5c5e, U+5c60-5c61, U+5c64-5c65, U+5c6c, + U+5c6e-5c6f, U+5c71, U+5c76, U+5c79, U+5c8c, U+5c90-5c91, U+5c94, U+5ca1, + U+5ca6, U+5ca8-5ca9, U+5cab-5cac, U+5cb1, U+5cb3, U+5cb6-5cb8, U+5cba-5cbc, + U+5cbe, U+5cc5, U+5cc7, U+5cd9, U+5ce0-5ce1, U+5ce8-5cea, U+5ced, + U+5cef-5cf0, U+5cf5-5cf6, U+5cfa-5cfb, U+5cfd, U+5d07, U+5d0b, U+5d0e, + U+5d11, U+5d14-5d1b, U+5d1f, U+5d22, U+5d27, U+5d29, U+5d42, U+5d4b-5d4c, + U+5d4e, U+5d50, U+5d52-5d53, U+5d5c, U+5d69, U+5d6c-5d6d, U+5d6f, U+5d73, + U+5d76, U+5d82, U+5d84, U+5d87, U+5d8b-5d8c, U+5d90, U+5d9d, U+5da2, U+5dac, + U+5dae, U+5db7-5dba, U+5dbc-5dbd, U+5dc9, U+5dcc-5dcd, U+5dd0, U+5dd2-5dd3, + U+5dd6, U+5ddb, U+5ddd-5dde, U+5de1, U+5de3, U+5de5-5de8, U+5deb, U+5dee, + U+5df1-5df5, U+5df7, U+5dfb, U+5dfd-5dfe, U+5e02-5e03, U+5e06, U+5e0b-5e0c, + U+5e11, U+5e16, U+5e19-5e1b, U+5e1d, U+5e25, U+5e2b, U+5e2d, U+5e2f-5e30, + U+5e33, U+5e36-5e38, U+5e3d, U+5e40, U+5e43-5e45, U+5e47, U+5e4c, U+5e4e, + U+5e54-5e55, U+5e57, U+5e5f, U+5e61-5e64, U+5e72-5e76, U+5e78-5e7f; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-04.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+5e81, U+5e83-5e84, U+5e87, U+5e8a, U+5e8f, U+5e95-5e97, U+5e9a, U+5e9c, + U+5ea0, U+5ea6-5ea7, U+5eab, U+5ead, U+5eb5-5eb8, U+5ec1-5ec3, U+5ec8-5eca, + U+5ecf-5ed0, U+5ed3, U+5ed6, U+5eda-5edb, U+5edd, U+5edf-5ee3, U+5ee8-5ee9, + U+5eec, U+5ef0-5ef1, U+5ef3-5ef4, U+5ef6-5ef8, U+5efa-5efc, U+5efe-5eff, + U+5f01, U+5f03-5f04, U+5f09-5f0d, U+5f0f-5f11, U+5f13-5f18, U+5f1b, U+5f1f, + U+5f21, U+5f25-5f27, U+5f29, U+5f2d, U+5f2f, U+5f31, U+5f34-5f35, + U+5f37-5f38, U+5f3c, U+5f3e, U+5f41, U+5f45, U+5f48, U+5f4a, U+5f4c, U+5f4e, + U+5f51, U+5f53, U+5f56-5f57, U+5f59, U+5f5c-5f5d, U+5f61-5f62, U+5f66-5f67, + U+5f69-5f6d, U+5f70-5f71, U+5f73, U+5f77, U+5f79, U+5f7c, U+5f7f-5f85, + U+5f87-5f88, U+5f8a-5f8c, U+5f90-5f93, U+5f97-5f99, U+5f9e, U+5fa0-5fa1, + U+5fa8-5faa, U+5fad-5fae, U+5fb3-5fb4, U+5fb7, U+5fb9, U+5fbc-5fbd, U+5fc3, + U+5fc5, U+5fcc-5fcd, U+5fd6-5fd9, U+5fdc-5fde, U+5fe0, U+5fe4, U+5feb, + U+5ff0-5ff1, U+5ff5, U+5ff8, U+5ffb, U+5ffd, U+5fff, U+600e-6010, U+6012, + U+6015-6016, U+6019, U+601b-601d, U+6020-6021, U+6025-602b, U+602f, U+6031, + U+603a, U+6041-6043, U+6046, U+604a-604b, U+604d, U+6050, U+6052, U+6055, + U+6059-605a, U+605d, U+605f-6060, U+6062-6065, U+6068-606d, U+606f-6070, + U+6075, U+6077, U+6081, U+6083-6085, U+6089-608d, U+6092, U+6094, + U+6096-6097, U+609a-609b, U+609f-60a0, U+60a3, U+60a6-60a7, U+60a9-60aa, + U+60b2-60b6, U+60b8, U+60bc-60bd, U+60c5-60c7, U+60d1, U+60d3, U+60d5, + U+60d8, U+60da, U+60dc, U+60de-60e1, U+60e3, U+60e7-60e8, U+60f0-60f4, + U+60f6-60f7, U+60f9-60fb, U+6100-6101, U+6103, U+6106, U+6108-6109, + U+610d-610f, U+6111, U+6115, U+611a-611b, U+611f-6121, U+6127-6128, U+612c, + U+6130, U+6134, U+6137, U+613c-613f, U+6142, U+6144, U+6147-6148, + U+614a-614e, U+6153, U+6155, U+6158-615a, U+615d, U+615f, U+6162-6163, + U+6165, U+6167-6168, U+616b, U+616e-6171, U+6173-6177, U+617e, U+6182, + U+6187, U+618a, U+618e, U+6190-6191, U+6194, U+6196, U+6198-619a, U+61a4, + U+61a7, U+61a9, U+61ab-61ac, U+61ae, U+61b2, U+61b6, U+61ba, U+61be, U+61c3, + U+61c6-61cd, U+61d0, U+61e3, U+61e6, U+61f2, U+61f4, U+61f6-61f8, U+61fa, + U+61fc-6200, U+6208-620a, U+620c-620e, U+6210-6214, U+6216, U+621a-621b, + U+621d-621f, U+6221, U+6226, U+622a, U+622e-6230, U+6232-6234, U+6238, + U+623b, U+623f-6241, U+6247-6249, U+624b, U+624d-624e, U+6253, U+6255, + U+6258, U+625b, U+625e, U+6260, U+6263, U+6268, U+626e, U+6271, U+6276, + U+6279, U+627c, U+627e-6280, U+6282-6284, U+6289-628a, U+6291-6298, + U+629b-629c, U+629e, U+62a6, U+62ab-62ac, U+62b1, U+62b5, U+62b9, + U+62bb-62bd, U+62c2, U+62c5-62ca, U+62cc-62cd, U+62cf-62d4, U+62d7-62d9, + U+62db-62dd, U+62e0-62e1, U+62ec-62ef, U+62f1, U+62f3, U+62f5-62f7, + U+62fe-62ff, U+6301-6302, U+6307-6309, U+630c, U+6311, U+6319, U+631f, + U+6327-6328; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-05.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+632b, U+632f, U+633a, U+633d-633f, U+6349, U+634c-634d, U+634f-6350, + U+6355, U+6357, U+635c, U+6367-6369, U+636b, U+636e, U+6372, U+6376-6377, + U+637a-637b, U+6380, U+6383, U+6388-6389, U+638c, U+638e-638f, U+6392, + U+6396, U+6398, U+639b, U+639f-63a3, U+63a5, U+63a7-63ac, U+63b2, + U+63b4-63b5, U+63bb, U+63be, U+63c0, U+63c3-63c4, U+63c6, U+63c9, + U+63cf-63d0, U+63d2, U+63d6, U+63da-63db, U+63e1, U+63e3, U+63e9, U+63ee, + U+63f4-63f6, U+63fa, U+6406, U+640d, U+640f, U+6413, U+6416-6417, U+641c, + U+6426, U+6428, U+642c-642d, U+6434, U+6436, U+643a, U+643e, U+6442, U+644e, + U+6458, U+6460, U+6467, U+6469, U+646f, U+6476, U+6478, U+647a, U+6483, + U+6488, U+6492-6493, U+6495, U+649a, U+649d-649e, U+64a4-64a5, U+64a9, + U+64ab, U+64ad-64ae, U+64b0, U+64b2, U+64b9, U+64bb-64bc, U+64c1-64c2, + U+64c5, U+64c7, U+64cd-64ce, U+64d2, U+64d4, U+64d8, U+64da, U+64e0-64e3, + U+64e6-64e7, U+64ec, U+64ef, U+64f1-64f2, U+64f4, U+64f6, U+64fa, + U+64fd-64fe, U+6500, U+6505, U+6518, U+651c-651d, U+6523-6524, U+652a-652c, + U+652f, U+6534-6539, U+653b, U+653e-653f, U+6545, U+6548, U+654d-654f, + U+6551, U+6555-6559, U+655d-655e, U+6562-6563, U+6566, U+656c, U+6570, + U+6572, U+6574-6575, U+6577-6578, U+6582-6583, U+6587-6589, U+658c, U+658e, + U+6590-6591, U+6597, U+6599, U+659b-659c, U+659f, U+65a1, U+65a4-65a5, + U+65a7, U+65ab-65ad, U+65af-65b0, U+65b7, U+65b9, U+65bc-65bd, U+65c1, + U+65c3-65c6, U+65cb-65cc, U+65cf, U+65d2, U+65d7, U+65d9, U+65db, + U+65e0-65e2, U+65e5-65e9, U+65ec-65ed, U+65f1, U+65fa-65fb, U+6600, + U+6602-6603, U+6606-6607, U+6609-660a, U+660c, U+660e-660f, U+6613-6615, + U+661c, U+661e-6620, U+6624-6625, U+6627-6628, U+662d-662f, U+6631, + U+6634-6636, U+663b-663c, U+663f, U+6641-6644, U+6649, U+664b, U+664f, + U+6652, U+6657, U+6659, U+665d-665f, U+6662, U+6664-6669, U+666e-6670, + U+6673-6674, U+6676, U+667a, U+6681, U+6683-6684, U+6687-6689, U+668e, + U+6691, U+6696-6699, U+669d, U+66a0, U+66a2, U+66a6, U+66ab, U+66ae, U+66b2, + U+66b4, U+66b8-66b9, U+66bc, U+66be-66bf, U+66c1, U+66c4, U+66c7, U+66c9, + U+66d6, U+66d9-66da, U+66dc-66dd, U+66e0, U+66e6, U+66e9, U+66f0, + U+66f2-66f5, U+66f7-6700, U+6703, U+6708-6709, U+670b, U+670d-670f, + U+6714-6717, U+671b, U+671d-671f, U+6726-6728, U+672a-672e, U+6731, U+6734, + U+6736-6738, U+673a, U+673d, U+673f, U+6741, U+6746, U+6749, U+674e-6751, + U+6753, U+6756, U+6759, U+675c, U+675e-6766, U+676a, U+676d, U+676f-6773, + U+6775, U+6777, U+677c, U+677e-677f, U+6785, U+6787, U+6789, U+678b-678c, + U+6790, U+6795, U+6797, U+679a, U+679c-679d, U+67a0-67a2, U+67a6, U+67a9, + U+67af, U+67b3-67b4, U+67b6-67b9, U+67bb, U+67c0-67c1, U+67c4, U+67c6, + U+67ca, U+67ce-67d1, U+67d3-67d4, U+67d8, U+67da, U+67dd-67de, U+67e2, + U+67e4, U+67e7, U+67e9, U+67ec, U+67ee-67ef, U+67f1, U+67f3-67f5, U+67fb, + U+67fe-67ff, U+6801-6804, U+6813, U+6816-6817, U+681e, U+6821-6822, + U+6829-682b, U+6832, U+6834, U+6838-6839, U+683c-683d, U+6840-6844, U+6846, + U+6848, U+684d-684e, U+6850-6854, U+6859, U+685c-685d, U+685f, U+6863, + U+6867; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-06.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+6874, U+6876-6877, U+687e-687f, U+6881, U+6883, U+6885, U+688d, U+688f, + U+6893-6894, U+6897, U+689b, U+689d, U+689f-68a0, U+68a2, U+68a6-68a8, + U+68ad, U+68af-68b1, U+68b3, U+68b5-68b6, U+68b9-68ba, U+68bc, U+68c4, + U+68c6, U+68c8-68cb, U+68cd, U+68cf, U+68d2, U+68d4-68d5, U+68d7-68d8, + U+68da, U+68df-68e1, U+68e3, U+68e7, U+68ee-68ef, U+68f2, U+68f9-68fa, + U+6900-6901, U+6904-6905, U+6908, U+690b-690f, U+6912, U+6919-691c, + U+6921-6923, U+6925-6926, U+6928, U+692a, U+6930, U+6934, U+6936, U+6939, + U+693d, U+693f, U+694a, U+6953-6955, U+6959-695a, U+695c-695e, U+6960-6962, + U+6968, U+696a-696b, U+696d-696f, U+6973-6975, U+6977-6979, U+697c-697e, + U+6981-6982, U+698a, U+698e, U+6991, U+6994-6995, U+6998, U+699b-699c, + U+69a0, U+69a7, U+69ae, U+69b1-69b2, U+69b4, U+69bb, U+69be-69bf, U+69c1, + U+69c3, U+69c7, U+69ca-69ce, U+69d0, U+69d3, U+69d8-69d9, U+69dd-69de, + U+69e2, U+69e7-69e8, U+69eb, U+69ed, U+69f2, U+69f9, U+69fb, U+69fd, U+69ff, + U+6a02, U+6a05, U+6a0a-6a0c, U+6a12-6a14, U+6a17, U+6a19, U+6a1b, + U+6a1e-6a1f, U+6a21-6a23, U+6a29-6a2b, U+6a2e, U+6a30, U+6a35-6a36, + U+6a38-6a3a, U+6a3d, U+6a44, U+6a46-6a48, U+6a4b, U+6a58-6a59, U+6a5f, + U+6a61-6a62, U+6a66, U+6a6b, U+6a72-6a73, U+6a78, U+6a7e-6a80, U+6a84, + U+6a8d-6a8e, U+6a90, U+6a97, U+6a9c, U+6aa0, U+6aa2-6aa3, U+6aaa, U+6aac, + U+6aae, U+6ab3, U+6ab8, U+6abb, U+6ac1-6ac3, U+6ad1, U+6ad3, U+6ada-6adb, + U+6ade-6adf, U+6ae2, U+6ae4, U+6ae8, U+6aea, U+6afa-6afb, U+6b04-6b05, + U+6b0a, U+6b12, U+6b16, U+6b1d, U+6b1f-6b21, U+6b23, U+6b27, U+6b32, + U+6b37-6b3a, U+6b3d-6b3e, U+6b43, U+6b47, U+6b49, U+6b4c, U+6b4e, U+6b50, + U+6b53-6b54, U+6b59, U+6b5b, U+6b5f, U+6b61-6b64, U+6b66, U+6b69-6b6a, + U+6b6f, U+6b73-6b74, U+6b78-6b79, U+6b7b, U+6b7f-6b80, U+6b83-6b84, U+6b86, + U+6b89-6b8b, U+6b8d, U+6b95-6b96, U+6b98, U+6b9e, U+6ba4, U+6baa-6bab, + U+6baf, U+6bb1-6bb5, U+6bb7, U+6bba-6bbc, U+6bbf-6bc0, U+6bc5-6bc6, U+6bcb, + U+6bcd-6bce, U+6bd2-6bd4, U+6bd6, U+6bd8, U+6bdb, U+6bdf, U+6beb-6bec, + U+6bef, U+6bf3, U+6c08, U+6c0f, U+6c11, U+6c13-6c14, U+6c17, U+6c1b, + U+6c23-6c24, U+6c34, U+6c37-6c38, U+6c3e-6c42, U+6c4e, U+6c50, U+6c55, + U+6c57, U+6c5a, U+6c5c-6c60, U+6c62, U+6c68, U+6c6a, U+6c6f-6c70, + U+6c72-6c73, U+6c7a, U+6c7d-6c7e, U+6c81-6c83, U+6c86, U+6c88, U+6c8c-6c8d, + U+6c90, U+6c92-6c93, U+6c96, U+6c99-6c9b, U+6ca1-6ca2, U+6cab, U+6cae, + U+6cb1, U+6cb3, U+6cb8-6cbf, U+6cc1, U+6cc4-6cc5, U+6cc9-6cca, U+6ccc, + U+6cd3, U+6cd5, U+6cd7, U+6cd9-6cdb, U+6cdd, U+6ce1-6ce3, U+6ce5, U+6ce8, + U+6cea, U+6cef-6cf1, U+6cf3, U+6d04, U+6d0b-6d0c, U+6d12, U+6d17, U+6d19, + U+6d1b, U+6d1e-6d1f, U+6d25, U+6d29-6d2b, U+6d32-6d33, U+6d35-6d36, U+6d38, + U+6d3b, U+6d3d-6d3e, U+6d41, U+6d44-6d45, U+6d59-6d5a, U+6d5c, U+6d63-6d64, + U+6d66, U+6d69-6d6a, U+6d6c, U+6d6e-6d6f, U+6d74, U+6d77-6d79, U+6d85, + U+6d87-6d88, U+6d8c, U+6d8e, U+6d93, U+6d95-6d96, U+6d99, U+6d9b-6d9c, + U+6dac, U+6daf, U+6db2, U+6db5, U+6db8, U+6dbc, U+6dc0, U+6dc5-6dc7, + U+6dcb-6dcc, U+6dcf, U+6dd1-6dd2, U+6dd5, U+6dd8-6dd9, U+6dde, U+6de1, + U+6de4, U+6de6, U+6de8, U+6dea-6dec, U+6dee, U+6df1-6df3, U+6df5, + U+6df7-6dfc, U+6e05, U+6e07-6e0b, U+6e13, U+6e15, U+6e19-6e1b; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-07.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+6e1d, U+6e1f-6e21, U+6e23-6e27, U+6e29, U+6e2b-6e2f, U+6e38-6e3a, U+6e3c, + U+6e3e, U+6e43, U+6e4a, U+6e4d-6e4e, U+6e56, U+6e58, U+6e5b-6e5c, U+6e5f, + U+6e67, U+6e6b, U+6e6e-6e6f, U+6e72, U+6e76, U+6e7e-6e80, U+6e82, U+6e8c, + U+6e8f-6e90, U+6e96, U+6e98, U+6e9c-6e9d, U+6e9f, U+6ea2, U+6ea5, U+6eaa, + U+6eaf, U+6eb2, U+6eb6-6eb7, U+6eba, U+6ebd, U+6ebf, U+6ec2, U+6ec4-6ec5, + U+6ec9, U+6ecb-6ecc, U+6ed1, U+6ed3-6ed5, U+6edd-6ede, U+6eec, U+6eef, + U+6ef2, U+6ef4, U+6ef7-6ef8, U+6efe-6eff, U+6f01-6f02, U+6f06, U+6f09, + U+6f0f, U+6f11, U+6f13-6f15, U+6f20, U+6f22-6f23, U+6f2b-6f2c, U+6f31-6f32, + U+6f38, U+6f3e-6f3f, U+6f41, U+6f45, U+6f54, U+6f58, U+6f5b-6f5c, U+6f5f, + U+6f64, U+6f66, U+6f6d-6f70, U+6f74, U+6f78, U+6f7a, U+6f7c, U+6f80-6f82, + U+6f84, U+6f86, U+6f88, U+6f8e, U+6f91, U+6f97, U+6fa1, U+6fa3-6fa4, U+6faa, + U+6fb1, U+6fb3, U+6fb5, U+6fb9, U+6fc0-6fc3, U+6fc6, U+6fd4-6fd5, U+6fd8, + U+6fdb, U+6fdf-6fe1, U+6fe4, U+6feb-6fec, U+6fee-6fef, U+6ff1, U+6ff3, + U+6ff5-6ff6, U+6ffa, U+6ffe, U+7001, U+7005, U+7007, U+7009, U+700b, U+700f, + U+7011, U+7015, U+7018, U+701a-701b, U+701d-701f, U+7026-7028, U+702c, + U+7030, U+7032, U+703e, U+704c, U+7051, U+7058, U+7063, U+706b, U+706f-7070, + U+7078, U+707c-707d, U+7085, U+7089-708a, U+708e, U+7092, U+7099, + U+70ab-70af, U+70b3, U+70b8-70bb, U+70c8, U+70cb, U+70cf, U+70d9, U+70dd, + U+70df, U+70f1, U+70f9, U+70fd, U+7104, U+7109, U+710f, U+7114, U+7119-711a, + U+711c, U+7121, U+7126, U+7136, U+713c, U+7146-7147, U+7149, U+714c, U+714e, + U+7155-7156, U+7159, U+715c, U+7162, U+7164-7167, U+7169, U+716c, U+716e, + U+717d, U+7184, U+7188, U+718a, U+718f, U+7194-7195, U+7199, U+719f, U+71a8, + U+71ac, U+71b1, U+71b9, U+71be, U+71c1, U+71c3, U+71c8-71c9, U+71ce, U+71d0, + U+71d2, U+71d4-71d5, U+71d7, U+71df-71e0, U+71e5-71e7, U+71ec-71ee, U+71f5, + U+71f9, U+71fb-71fc, U+71fe-71ff, U+7206, U+720d, U+7210, U+721b, U+7228, + U+722a, U+722c-722d, U+7230, U+7232, U+7235-7236, U+723a-7240, U+7246-7248, + U+724b-724c, U+7252, U+7258-7259, U+725b, U+725d, U+725f, U+7261-7262, + U+7267, U+7269, U+7272, U+7274, U+7279, U+727d-727e, U+7280-7282, U+7287, + U+7292, U+7296, U+72a0, U+72a2, U+72a7, U+72ac, U+72af, U+72b1-72b2, U+72b6, + U+72b9, U+72be, U+72c2-72c4, U+72c6, U+72ce, U+72d0, U+72d2, U+72d7, U+72d9, + U+72db, U+72e0-72e2, U+72e9, U+72ec-72ed, U+72f7-72f9, U+72fc-72fd, U+730a, + U+7316-7317, U+731b-731d, U+731f, U+7324-7325, U+7329-732b, U+732e-732f, + U+7334, U+7336-7337, U+733e-733f, U+7344-7345, U+734e-734f, U+7357, U+7363, + U+7368, U+736a, U+7370, U+7372, U+7375, U+7377-7378, U+737a-737b, U+7384, + U+7387, U+7389, U+738b, U+7396, U+73a9, U+73b2-73b3, U+73bb, U+73bd, U+73c0, + U+73c2, U+73c8-73ca, U+73cd-73ce, U+73d2, U+73d6, U+73de, U+73e0, U+73e3, + U+73e5, U+73ea, U+73ed-73ee, U+73f1, U+73f5, U+73f8, U+73fe, U+7403, + U+7405-7407, U+7409, U+7422, U+7425-7426, U+7429-742a, U+742e, U+7432-7436, + U+743a, U+743f, U+7441, U+7455, U+7459-745c, U+745e-7460, U+7462-7464, + U+7469-746a, U+746f-7470, U+7473, U+7476, U+747e, U+7483, U+7489, U+748b, + U+749e-749f, U+74a2, U+74a7, U+74b0, U+74bd, U+74ca, U+74cf, U+74d4, U+74dc, + U+74e0, U+74e2-74e3, U+74e6-74e7, U+74e9, U+74ee, U+74f0-74f2, U+74f6-74f8, + U+7501, U+7503-7505, U+750c-750e, U+7511, U+7513, U+7515, U+7518, U+751a, + U+751c, U+751e-751f, U+7523, U+7525-7526, U+7528, U+752b-752c, U+752f; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-08.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+7530-7533, U+7537-7538, U+753a-753c, U+7544, U+7546, U+7549-754d, U+754f, + U+7551, U+7554, U+7559-755d, U+7560, U+7562, U+7564-7567, U+7569-756b, + U+756d, U+756f-7570, U+7573-7574, U+7576-7578, U+757f, U+7582, U+7586-7587, + U+7589-758b, U+758e-758f, U+7591, U+7594, U+759a, U+759d, U+75a3, U+75a5, + U+75ab, U+75b1-75b3, U+75b5, U+75b8-75b9, U+75bc-75be, U+75c2-75c3, U+75c5, + U+75c7, U+75ca, U+75cd, U+75d2, U+75d4-75d5, U+75d8-75d9, U+75db, U+75de, + U+75e2-75e3, U+75e9, U+75f0, U+75f2-75f4, U+75fa, U+75fc, U+75fe-75ff, + U+7601, U+7609, U+760b, U+760d, U+761f-7622, U+7624, U+7627, U+7630, U+7634, + U+763b, U+7642, U+7646-7648, U+764c, U+7652, U+7656, U+7658, U+765c, + U+7661-7662, U+7667-766a, U+766c, U+7670, U+7672, U+7676, U+7678, + U+767a-767e, U+7680, U+7682-7684, U+7686-7688, U+768b, U+768e, U+7690, + U+7693, U+7696, U+7699-769c, U+769e, U+76a6, U+76ae, U+76b0, U+76b4, + U+76b7-76ba, U+76bf, U+76c2-76c3, U+76c6, U+76c8, U+76ca, U+76cd, U+76d2, + U+76d6-76d7, U+76db-76dc, U+76de-76df, U+76e1, U+76e3-76e5, U+76e7, U+76ea, + U+76ee, U+76f2, U+76f4, U+76f8, U+76fb, U+76fe, U+7701, U+7704, U+7707-7709, + U+770b-770c, U+771b, U+771e-7720, U+7724-7726, U+7729, U+7737-7738, U+773a, + U+773c, U+7740, U+7746-7747, U+775a-775b, U+7761, U+7763, U+7765-7766, + U+7768, U+776b, U+7779, U+777e-777f, U+778b, U+778e, U+7791, U+779e, U+77a0, + U+77a5, U+77ac-77ad, U+77b0, U+77b3, U+77b6, U+77b9, U+77bb-77bd, U+77bf, + U+77c7, U+77cd, U+77d7, U+77da-77dc, U+77e2-77e3, U+77e5, U+77e7, U+77e9, + U+77ed-77ef, U+77f3, U+77fc, U+7802, U+780c, U+7812, U+7814-7815, + U+7820-7821, U+7825-7827, U+7832, U+7834, U+783a, U+783f, U+7845, U+784e, + U+785d, U+7864, U+786b-786c, U+786f, U+7872, U+7874, U+787a, U+787c, U+7881, + U+7886-7887, U+788c-788e, U+7891, U+7893, U+7895, U+7897, U+789a, U+78a3, + U+78a7, U+78a9-78aa, U+78af, U+78b5, U+78ba, U+78bc, U+78be, U+78c1, + U+78c5-78c6, U+78ca-78cb, U+78d0-78d1, U+78d4, U+78da, U+78e7-78e8, U+78ec, + U+78ef, U+78f4, U+78fd, U+7901, U+7907, U+790e, U+7911-7912, U+7919, U+7926, + U+792a-792c, U+7930, U+793a, U+793c, U+793e, U+7940-7941, U+7947-7949, + U+7950, U+7953, U+7955-7957, U+795a, U+795d-7960, U+7962, U+7965, U+7968, + U+796d, U+7977, U+797a, U+797f-7981, U+7984-7985, U+798a, U+798d-798f, + U+7994, U+799b, U+799d, U+79a6-79a7, U+79aa, U+79ae, U+79b0, U+79b3, + U+79b9-79ba, U+79bd-79c1, U+79c9, U+79cb, U+79d1-79d2, U+79d5, U+79d8, + U+79df, U+79e1, U+79e3-79e4, U+79e6-79e7, U+79e9, U+79ec, U+79f0, U+79fb, + U+7a00, U+7a08, U+7a0b, U+7a0d-7a0e, U+7a14, U+7a17-7a1a, U+7a1c, + U+7a1f-7a20, U+7a2e, U+7a31-7a32, U+7a37, U+7a3b-7a40, U+7a42-7a43, U+7a46, + U+7a49, U+7a4d-7a50, U+7a57, U+7a61-7a63, U+7a69, U+7a6b, U+7a70, U+7a74, + U+7a76, U+7a79-7a7a, U+7a7d, U+7a7f, U+7a81, U+7a83-7a84, U+7a88, + U+7a92-7a93, U+7a95-7a98, U+7a9f, U+7aa9-7aaa, U+7aae-7ab0, U+7ab6, U+7aba, + U+7abf, U+7ac3-7ac5, U+7ac7-7ac8, U+7aca-7acb, U+7acd, U+7acf, U+7ad1-7ad3, + U+7ad5, U+7ad9-7ada, U+7adc-7add, U+7adf-7ae3, U+7ae5-7ae7, U+7aea-7aeb, + U+7aed, U+7aef-7af0, U+7af6, U+7af8-7afa, U+7aff, U+7b02, U+7b04, U+7b06, + U+7b08, U+7b0a-7b0b, U+7b0f, U+7b11, U+7b18-7b19, U+7b1b, U+7b1e, U+7b20, + U+7b25-7b26, U+7b28, U+7b2c, U+7b33, U+7b35-7b36, U+7b39, U+7b45; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-09.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+7b46, U+7b48-7b49, U+7b4b-7b4d, U+7b4f-7b52, U+7b54, U+7b56, U+7b5d, + U+7b65, U+7b67, U+7b6c, U+7b6e, U+7b70-7b71, U+7b74-7b75, U+7b7a, + U+7b86-7b87, U+7b8b, U+7b8d, U+7b8f, U+7b92, U+7b94-7b95, U+7b97-7b9a, + U+7b9c-7b9f, U+7ba1, U+7baa, U+7bad, U+7bb1, U+7bb4, U+7bb8, U+7bc0-7bc1, + U+7bc4, U+7bc6-7bc7, U+7bc9, U+7bcb-7bcc, U+7bcf, U+7bdd, U+7be0, + U+7be4-7be6, U+7be9, U+7bed, U+7bf3, U+7bf6-7bf7, U+7c00, U+7c07, U+7c0d, + U+7c11-7c14, U+7c17, U+7c1f, U+7c21, U+7c23, U+7c27, U+7c2a-7c2b, + U+7c37-7c38, U+7c3d-7c40, U+7c43, U+7c4c-7c4d, U+7c4f-7c50, U+7c54, U+7c56, + U+7c58, U+7c5f-7c60, U+7c64-7c65, U+7c6c, U+7c73, U+7c75, U+7c7e, + U+7c81-7c83, U+7c89, U+7c8b, U+7c8d, U+7c90, U+7c92, U+7c95, U+7c97-7c98, + U+7c9b, U+7c9f, U+7ca1-7ca2, U+7ca4-7ca5, U+7ca7-7ca8, U+7cab, U+7cad-7cae, + U+7cb1-7cb3, U+7cb9, U+7cbd-7cbe, U+7cc0, U+7cc2, U+7cc5, U+7cca, U+7cce, + U+7cd2, U+7cd6, U+7cd8, U+7cdc, U+7cde-7ce0, U+7ce2, U+7ce7, U+7cef, U+7cf2, + U+7cf4, U+7cf6, U+7cf8, U+7cfa-7cfb, U+7cfe, U+7d00, U+7d02, U+7d04-7d06, + U+7d0a-7d0b, U+7d0d, U+7d10, U+7d14-7d15, U+7d17-7d1c, U+7d20-7d22, + U+7d2b-7d2c, U+7d2e-7d30, U+7d32-7d33, U+7d35, U+7d39-7d3a, U+7d3f, + U+7d42-7d46, U+7d48, U+7d4b-7d4c, U+7d4e-7d50, U+7d56, U+7d5b-7d5c, U+7d5e, + U+7d61-7d63, U+7d66, U+7d68, U+7d6e, U+7d71-7d73, U+7d75-7d76, U+7d79, + U+7d7d, U+7d89, U+7d8f, U+7d93, U+7d99-7d9c, U+7d9f-7da0, U+7da2-7da3, + U+7dab-7db2, U+7db4-7db5, U+7db7-7db8, U+7dba-7dbb, U+7dbd-7dbf, U+7dc7, + U+7dca-7dcb, U+7dcf, U+7dd1-7dd2, U+7dd5-7dd6, U+7dd8, U+7dda, U+7ddc-7dde, + U+7de0-7de1, U+7de4, U+7de8-7de9, U+7dec, U+7def, U+7df2, U+7df4, U+7dfb, + U+7e01, U+7e04-7e05, U+7e09-7e0b, U+7e12, U+7e1b, U+7e1e-7e1f, U+7e21-7e23, + U+7e26, U+7e2b, U+7e2e, U+7e31-7e32, U+7e35, U+7e37, U+7e39-7e3b, + U+7e3d-7e3e, U+7e41, U+7e43, U+7e46, U+7e4a-7e4b, U+7e4d, U+7e52, + U+7e54-7e56, U+7e59-7e5a, U+7e5d-7e5e, U+7e66-7e67, U+7e69-7e6a, U+7e6d, + U+7e70, U+7e79, U+7e7b-7e7d, U+7e7f, U+7e82-7e83, U+7e88-7e8a, U+7e8c, + U+7e8e-7e90, U+7e92-7e94, U+7e96, U+7e9b-7e9c, U+7f36, U+7f38, U+7f3a, + U+7f45, U+7f47, U+7f4c-7f4e, U+7f50-7f51, U+7f54-7f55, U+7f58, U+7f5f-7f60, + U+7f67-7f6b, U+7f6e, U+7f70, U+7f72, U+7f75, U+7f77-7f79, U+7f82-7f83, + U+7f85-7f88, U+7f8a, U+7f8c, U+7f8e, U+7f94, U+7f9a, U+7f9d-7f9e, U+7fa1, + U+7fa3-7fa4, U+7fa8-7fa9, U+7fae-7faf, U+7fb2, U+7fb6, U+7fb8-7fb9, U+7fbd, + U+7fc1, U+7fc5-7fc6, U+7fca, U+7fcc, U+7fd2, U+7fd4-7fd5, U+7fe0-7fe1, + U+7fe6, U+7fe9, U+7feb, U+7ff0, U+7ff3, U+7ff9, U+7ffb-7ffc, U+8000-8001, + U+8003-8006, U+800b-800c, U+8010, U+8012, U+8015, U+8017-8019, U+801c, + U+8021, U+8028, U+8033, U+8036, U+803b, U+803d, U+803f, U+8046, U+804a, + U+8052, U+8056, U+8058, U+805a, U+805e-805f, U+8061-8062, U+8068, + U+806f-8070, U+8072-8074, U+8076-8077, U+8079, U+807d-807f, U+8084-8087, + U+8089, U+808b-808c, U+8093, U+8096, U+8098, U+809a-809b, U+809d, + U+80a1-80a2, U+80a5, U+80a9-80aa, U+80ac-80ad, U+80af, U+80b1-80b2, U+80b4, + U+80ba, U+80c3-80c4, U+80c6, U+80cc, U+80ce, U+80d6, U+80d9-80db, + U+80dd-80de, U+80e1, U+80e4-80e5, U+80ef, U+80f1, U+80f4, U+80f8, + U+80fc-80fd, U+8102, U+8105-810a, U+811a-811b, U+8123, U+8129, U+812f, + U+8131, U+8133, U+8139, U+813e, U+8146; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-10.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+814b, U+814e, U+8150-8151, U+8153-8155, U+815f, U+8165-8166, U+816b, + U+816e, U+8170-8171, U+8174, U+8178-817a, U+817f-8180, U+8182-8183, U+8188, + U+818a, U+818f, U+8193, U+8195, U+819a, U+819c-819d, U+81a0, U+81a3-81a4, + U+81a8-81a9, U+81b0, U+81b3, U+81b5, U+81b8, U+81ba, U+81bd-81c0, U+81c2, + U+81c6, U+81c8-81c9, U+81cd, U+81d1, U+81d3, U+81d8-81da, U+81df-81e0, + U+81e3, U+81e5, U+81e7-81e8, U+81ea, U+81ed, U+81f3-81f4, U+81fa-81fc, + U+81fe, U+8201-8202, U+8205, U+8207-820a, U+820c-820e, U+8210, U+8212, + U+8216-8218, U+821b-821c, U+821e-821f, U+8229-822c, U+822e, U+8233, + U+8235-8239, U+8240, U+8247, U+8258-825a, U+825d, U+825f, U+8262, U+8264, + U+8266, U+8268, U+826a-826b, U+826e-826f, U+8271-8272, U+8276-8278, U+827e, + U+828b, U+828d, U+8292, U+8299, U+829d, U+829f, U+82a5-82a6, U+82ab-82ad, + U+82af, U+82b1, U+82b3, U+82b8-82b9, U+82bb, U+82bd, U+82c5, U+82d1-82d4, + U+82d7, U+82d9, U+82db-82dc, U+82de-82df, U+82e1, U+82e3, U+82e5-82e7, + U+82eb, U+82f1, U+82f3-82f4, U+82f9-82fb, U+8301-8306, U+8309, U+830e, + U+8316-8318, U+831c, U+8323, U+8328, U+832b, U+832f, U+8331-8332, + U+8334-8336, U+8338-8339, U+8340, U+8345, U+8349-834a, U+834f-8350, U+8352, + U+8358, U+8362, U+8373, U+8375, U+8377, U+837b-837c, U+837f, U+8385, U+8387, + U+8389-838a, U+838e, U+8393, U+8396, U+839a, U+839e-83a0, U+83a2, U+83a8, + U+83aa-83ab, U+83b1, U+83b5, U+83bd, U+83c1, U+83c5, U+83c7, U+83ca, U+83cc, + U+83ce, U+83d3, U+83d6, U+83d8, U+83dc, U+83df-83e0, U+83e9, U+83eb, + U+83ef-83f2, U+83f4, U+83f6-83f7, U+83fb, U+83fd, U+8403-8404, U+8407, + U+840b-840e, U+8413, U+8420, U+8422, U+8429-842a, U+842c, U+8431, U+8435, + U+8438, U+843c-843d, U+8446, U+8448-8449, U+844e, U+8457, U+845b, + U+8461-8463, U+8466, U+8469, U+846b-846f, U+8471, U+8475, U+8477, + U+8479-847a, U+8482, U+8484, U+848b, U+8490, U+8494, U+8499, U+849c, U+849f, + U+84a1, U+84ad, U+84b2, U+84b4, U+84b8-84b9, U+84bb-84bc, U+84bf, U+84c1, + U+84c4, U+84c6, U+84c9-84cb, U+84cd, U+84d0-84d1, U+84d6, U+84d9-84da, + U+84dc, U+84ec, U+84ee, U+84f4, U+84fc, U+84ff-8500, U+8506, U+8511, + U+8513-8515, U+8517-8518, U+851a, U+851f, U+8521, U+8526, U+852c-852d, + U+8535, U+853d, U+8540-8541, U+8543, U+8548-854b, U+854e, U+8553, U+8555, + U+8557-855a, U+8563, U+8568-856b, U+856d, U+8577, U+857e, U+8580, U+8584, + U+8587-8588, U+858a, U+8590-8591, U+8594, U+8597, U+8599, U+859b-859c, + U+85a4, U+85a6, U+85a8-85ac, U+85ae-85b0, U+85b9-85ba, U+85c1, U+85c9, + U+85cd, U+85cf-85d0, U+85d5, U+85dc-85dd, U+85e4-85e5, U+85e9-85ea, U+85f7, + U+85f9-85fb, U+85fe, U+8602, U+8606-8607, U+860a-860b, U+8613, U+8616-8617, + U+861a, U+8622, U+862d, U+862f-8630, U+863f, U+864d-864e, U+8650, + U+8654-8655, U+865a, U+865c, U+865e-865f, U+8667, U+866b, U+8671, U+8679, + U+867b, U+868a-868c, U+8693, U+8695, U+86a3-86a4, U+86a9-86ab, U+86af-86b0, + U+86b6, U+86c4, U+86c6-86c7, U+86c9, U+86cb, U+86cd-86ce, U+86d4, U+86d9, + U+86db, U+86de-86df, U+86e4, U+86e9, U+86ec-86ef, U+86f8-86f9, U+86fb, + U+86fe, U+8700, U+8702-8703, U+8706, U+8708-870a, U+870d, U+8711-8712, + U+8718, U+871a, U+871c, U+8725, U+8729, U+8734, U+8737, U+873b, U+873f, + U+8749, U+874b-874c, U+874e, U+8753, U+8755, U+8757, U+8759, U+875f-8760, + U+8763, U+8766, U+8768, U+876a, U+876e, U+8774, U+8776, U+8778, U+877f, + U+8782, U+878d, U+879f, U+87a2, U+87ab, U+87af, U+87b3; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-11.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+87ba-87bb, U+87bd, U+87c0, U+87c4, U+87c6-87c7, U+87cb, U+87d0, U+87d2, + U+87e0, U+87ef, U+87f2, U+87f6-87f7, U+87f9, U+87fb, U+87fe, U+8805, U+8807, + U+880d-880f, U+8811, U+8815-8816, U+8821-8823, U+8827, U+8831, U+8836, + U+8839, U+883b, U+8840, U+8842, U+8844, U+8846, U+884c-884d, U+8852-8853, + U+8857, U+8859, U+885b, U+885d-885e, U+8861-8863, U+8868, U+886b, U+8870, + U+8872, U+8875, U+8877, U+887d-887f, U+8881-8882, U+8888, U+888b, U+888d, + U+8892, U+8896-8897, U+8899, U+889e, U+88a2, U+88a4, U+88ab, U+88ae, + U+88b0-88b1, U+88b4-88b5, U+88b7, U+88bf, U+88c1-88c5, U+88cf, U+88d4-88d5, + U+88d8-88d9, U+88dc-88dd, U+88df, U+88e1, U+88e8, U+88f2-88f5, U+88f8-88f9, + U+88fc-88fe, U+8902, U+8904, U+8907, U+890a, U+890c, U+8910, U+8912-8913, + U+891c-891e, U+8925, U+892a-892b, U+8936, U+8938, U+893b, U+8941, + U+8943-8944, U+894c-894d, U+8956, U+895e-8960, U+8964, U+8966, U+896a, + U+896d, U+896f, U+8972, U+8974, U+8977, U+897e-897f, U+8981, U+8983, + U+8986-8988, U+898a-898b, U+898f, U+8993, U+8996-8998, U+899a, U+89a1, + U+89a6-89a7, U+89a9-89aa, U+89ac, U+89af, U+89b2-89b3, U+89ba, U+89bd, + U+89bf-89c0, U+89d2, U+89da, U+89dc-89dd, U+89e3, U+89e6-89e7, U+89f4, + U+89f8, U+8a00, U+8a02-8a03, U+8a08, U+8a0a, U+8a0c, U+8a0e, U+8a10, + U+8a12-8a13, U+8a16-8a18, U+8a1b, U+8a1d, U+8a1f, U+8a23, U+8a25, U+8a2a, + U+8a2d, U+8a31, U+8a33-8a34, U+8a36-8a37, U+8a3a-8a3c, U+8a41, U+8a46, + U+8a48, U+8a50-8a52, U+8a54-8a55, U+8a5b, U+8a5e, U+8a60, U+8a62-8a63, + U+8a66, U+8a69, U+8a6b-8a6e, U+8a70-8a73, U+8a79, U+8a7c, U+8a82, + U+8a84-8a85, U+8a87, U+8a89, U+8a8c-8a8d, U+8a91, U+8a93, U+8a95, U+8a98, + U+8a9a, U+8a9e, U+8aa0-8aa1, U+8aa3-8aa8, U+8aac-8aad, U+8ab0, U+8ab2, + U+8ab9, U+8abc, U+8abe-8abf, U+8ac2, U+8ac4, U+8ac7, U+8acb-8acd, U+8acf, + U+8ad2, U+8ad6, U+8ada-8adc, U+8ade-8ae2, U+8ae4, U+8ae6-8ae7, U+8aeb, + U+8aed-8aee, U+8af1, U+8af3, U+8af6-8af8, U+8afa, U+8afe, U+8b00-8b02, + U+8b04, U+8b07, U+8b0c, U+8b0e, U+8b10, U+8b14, U+8b16-8b17, U+8b19-8b1b, + U+8b1d, U+8b20-8b21, U+8b26, U+8b28, U+8b2b-8b2c, U+8b33, U+8b39, U+8b3e, + U+8b41, U+8b49, U+8b4c, U+8b4e-8b4f, U+8b53, U+8b56, U+8b58, U+8b5a-8b5c, + U+8b5f, U+8b66, U+8b6b-8b6c, U+8b6f-8b72, U+8b74, U+8b77, U+8b7d, + U+8b7f-8b80, U+8b83, U+8b8a, U+8b8c, U+8b8e, U+8b90, U+8b92-8b93, U+8b96, + U+8b99-8b9a, U+8c37, U+8c3a, U+8c3f, U+8c41, U+8c46, U+8c48, U+8c4a, U+8c4c, + U+8c4e, U+8c50, U+8c55, U+8c5a, U+8c61-8c62, U+8c6a-8c6c, U+8c78-8c7a, + U+8c7c, U+8c82, U+8c85, U+8c89-8c8a, U+8c8c-8c8e, U+8c94, U+8c98, + U+8c9d-8c9e, U+8ca0-8ca2, U+8ca7-8cb0, U+8cb2-8cb4, U+8cb6-8cb8, + U+8cbb-8cbd, U+8cbf-8cc4, U+8cc7-8cc8, U+8cca, U+8ccd-8cce, U+8cd1, U+8cd3, + U+8cda-8cdc, U+8cde, U+8ce0, U+8ce2-8ce4, U+8ce6, U+8cea, U+8ced, U+8cf0, + U+8cf4, U+8cfa-8cfd, U+8d04-8d05, U+8d07-8d08, U+8d0a-8d0b, U+8d0d, + U+8d0f-8d10, U+8d12-8d14, U+8d16, U+8d64, U+8d66-8d67, U+8d6b, U+8d6d, + U+8d70-8d71, U+8d73-8d74, U+8d76-8d77, U+8d81, U+8d85, U+8d8a, U+8d99, + U+8da3, U+8da8, U+8db3, U+8dba, U+8dbe, U+8dc2, U+8dcb-8dcc, U+8dcf, U+8dd6, + U+8dda-8ddb, U+8ddd, U+8ddf, U+8de1, U+8de3, U+8de8, U+8dea-8deb, U+8def, + U+8df3, U+8df5, U+8dfc, U+8dff, U+8e08-8e0a, U+8e0f-8e10, U+8e1d-8e1f, + U+8e2a, U+8e30, U+8e34-8e35, U+8e42, U+8e44, U+8e47-8e4a, U+8e4c, U+8e50; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-12.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+8e55, U+8e59, U+8e5f-8e60, U+8e63-8e64, U+8e72, U+8e74, U+8e76, U+8e7c, + U+8e81, U+8e84-8e85, U+8e87, U+8e8a-8e8b, U+8e8d, U+8e91, U+8e93-8e94, + U+8e99, U+8ea1, U+8eaa-8eac, U+8eaf-8eb1, U+8ebe, U+8ec5-8ec6, U+8ec8, + U+8eca-8ecd, U+8ecf, U+8ed2, U+8edb, U+8edf, U+8ee2-8ee3, U+8eeb, U+8ef8, + U+8efb-8efe, U+8f03, U+8f05, U+8f09-8f0a, U+8f0c, U+8f12-8f15, U+8f19, + U+8f1b-8f1d, U+8f1f, U+8f26, U+8f29-8f2a, U+8f2f, U+8f33, U+8f38-8f39, + U+8f3b, U+8f3e-8f3f, U+8f42, U+8f44-8f46, U+8f49, U+8f4c-8f4e, U+8f57, + U+8f5c, U+8f5f, U+8f61-8f64, U+8f9b-8f9c, U+8f9e-8f9f, U+8fa3, U+8fa7-8fa8, + U+8fad-8fb2, U+8fb7, U+8fba-8fbc, U+8fbf, U+8fc2, U+8fc4-8fc5, U+8fce, + U+8fd1, U+8fd4, U+8fda, U+8fe2, U+8fe5-8fe6, U+8fe9-8feb, U+8fed, + U+8fef-8ff0, U+8ff4, U+8ff7-8ffa, U+8ffd, U+9000-9001, U+9003, U+9005-9006, + U+900b, U+900d-9011, U+9013-9017, U+9019-901a, U+901d-9023, U+9027, U+902e, + U+9031-9032, U+9035-9036, U+9038-9039, U+903c, U+903e, U+9041-9042, U+9045, + U+9047, U+9049-904b, U+904d-9056, U+9058-9059, U+905c, U+905e, U+9060-9061, + U+9063, U+9065, U+9067-9069, U+906d-906f, U+9072, U+9075-9078, U+907a, + U+907c-907d, U+907f-9084, U+9087, U+9089-908a, U+908f, U+9091, U+90a3, + U+90a6, U+90a8, U+90aa, U+90af, U+90b1, U+90b5, U+90b8, U+90c1, U+90ca, + U+90ce, U+90db, U+90de, U+90e1-90e2, U+90e4, U+90e8, U+90ed, U+90f5, U+90f7, + U+90fd, U+9102, U+9112, U+9115, U+9119, U+9127, U+912d, U+9130, U+9132, + U+9149-914e, U+9152, U+9154, U+9156, U+9158, U+9162-9163, U+9165, + U+9169-916a, U+916c, U+9172-9173, U+9175, U+9177-9178, U+9182, U+9187, + U+9189, U+918b, U+918d, U+9190, U+9192, U+9197, U+919c, U+91a2, U+91a4, + U+91aa-91ab, U+91af, U+91b4-91b5, U+91b8, U+91ba, U+91c0-91c1, U+91c6-91c9, + U+91cb-91d1, U+91d6-91d8, U+91da-91df, U+91e1, U+91e3-91e7, U+91ed-91ee, + U+91f5-91f6, U+91fc, U+91ff, U+9206, U+920a, U+920d-920e, U+9210-9211, + U+9214-9215, U+921e, U+9229, U+922c, U+9234, U+9237, U+9239-923a, U+923c, + U+923f-9240, U+9244-9245, U+9248-9249, U+924b, U+924e, U+9250-9251, U+9257, + U+9259-925b, U+925e, U+9262, U+9264, U+9266-9267, U+9271, U+9277-9278, + U+927e, U+9280, U+9283, U+9285, U+9288, U+9291, U+9293, U+9295-9296, U+9298, + U+929a-929c, U+92a7, U+92ad, U+92b7, U+92b9, U+92cf-92d0, U+92d2-92d3, + U+92d5, U+92d7, U+92d9, U+92e0, U+92e4, U+92e7, U+92e9-92ea, U+92ed, + U+92f2-92f3, U+92f8-92fc, U+92ff, U+9302, U+9306, U+930f-9310, U+9318-931a, + U+931d-931e, U+9320-9323, U+9325-9326, U+9328, U+932b-932c, U+932e-932f, + U+9332, U+9335, U+933a-933b, U+9344, U+9348, U+934b, U+934d, U+9354, + U+9356-9357, U+935b-935c, U+9360, U+936c, U+936e, U+9370, U+9375, U+937c, + U+937e, U+938c, U+9394, U+9396-9397, U+939a, U+93a4, U+93a7, U+93ac-93ae, + U+93b0, U+93b9, U+93c3, U+93c6, U+93c8, U+93d0-93d1, U+93d6-93d8, + U+93dd-93de, U+93e1, U+93e4-93e5, U+93e8, U+93f8, U+9403, U+9407, U+9410, + U+9413-9414, U+9418-941a, U+9421, U+942b, U+9431, U+9435-9436, U+9438, + U+943a, U+9441, U+9444-9445, U+9448, U+9451-9453, U+945a-945b, U+945e, + U+9460, U+9462, U+946a, U+9470, U+9475, U+9477, U+947c-947f, U+9481, U+9577, + U+9580, U+9582-9583, U+9587, U+9589-958a; +} +@font-face { + font-family: Noto Sans JP; + src: url(./fonts/NotoSansJP-13.woff2) format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+958b, U+958f, U+9591-9594, U+9596, U+9598-9599, U+95a0, U+95a2-95a5, + U+95a7-95a8, U+95ad, U+95b2, U+95b9, U+95bb-95bc, U+95be, U+95c3, U+95c7, + U+95ca, U+95cc-95cd, U+95d4-95d6, U+95d8, U+95dc, U+95e1-95e2, U+95e5, + U+961c, U+9621, U+9628, U+962a, U+962e-962f, U+9632, U+963b, U+963f-9640, + U+9642, U+9644, U+964b-964d, U+964f-9650, U+965b-965f, U+9662-9666, U+966a, + U+966c, U+9670, U+9672-9673, U+9675-9678, U+967a, U+967d, U+9685-9686, + U+9688, U+968a-968b, U+968d-968f, U+9694-9695, U+9697-9699, U+969b-969d, + U+96a0, U+96a3, U+96a7-96a8, U+96aa, U+96af-96b2, U+96b4, U+96b6-96b9, + U+96bb-96bc, U+96c0-96c1, U+96c4-96c7, U+96c9, U+96cb-96ce, U+96d1, + U+96d5-96d6, U+96d9, U+96db-96dc, U+96e2-96e3, U+96e8, U+96ea-96eb, U+96f0, + U+96f2, U+96f6-96f7, U+96f9, U+96fb, U+9700, U+9704, U+9706-9708, U+970a, + U+970d-970f, U+9711, U+9713, U+9716, U+9719, U+971c, U+971e, U+9724, U+9727, + U+972a, U+9730, U+9732-9733, U+9738-9739, U+973b, U+973d-973e, U+9742-9744, + U+9746, U+9748-9749, U+974d, U+974f, U+9751-9752, U+9755-9756, U+9759, + U+975c, U+975e, U+9760-9762, U+9764, U+9766, U+9768-9769, U+976b, U+976d, + U+9771, U+9774, U+9779-977a, U+977c, U+9781, U+9784-9786, U+978b, U+978d, + U+978f-9790, U+9798, U+979c, U+97a0, U+97a3, U+97a6, U+97a8, U+97ab, U+97ad, + U+97b3-97b4, U+97c3, U+97c6, U+97c8, U+97cb, U+97d3, U+97dc, U+97ed-97ee, + U+97f2-97f3, U+97f5-97f6, U+97fb, U+97ff, U+9801-9803, U+9805-9806, U+9808, + U+980c, U+980f-9813, U+9817-9818, U+981a, U+9821, U+9824, U+982c-982d, + U+9834, U+9837-9838, U+983b-983d, U+9846, U+984b-984f, U+9854-9855, + U+9857-9858, U+985b, U+985e, U+9865, U+9867, U+986b, U+986f-9871, + U+9873-9874, U+98a8, U+98aa, U+98af, U+98b1, U+98b6, U+98c3-98c4, U+98c6, + U+98db-98dc, U+98df, U+98e2, U+98e9, U+98eb, U+98ed-98ef, U+98f2, U+98f4, + U+98fc-98fe, U+9903, U+9905, U+9909-990a, U+990c, U+9910, U+9912-9914, + U+9918, U+991d-991e, U+9920-9921, U+9924, U+9927-9928, U+992c, U+992e, + U+993d-993e, U+9942, U+9945, U+9949, U+994b-994c, U+9950-9952, U+9955, + U+9957, U+9996-9999, U+999e, U+99a5, U+99a8, U+99ac-99ae, U+99b3-99b4, + U+99bc, U+99c1, U+99c4-99c6, U+99c8, U+99d0-99d2, U+99d5, U+99d8, U+99db, + U+99dd, U+99df, U+99e2, U+99ed-99ee, U+99f1-99f2, U+99f8, U+99fb, U+99ff, + U+9a01, U+9a05, U+9a0e-9a0f, U+9a12-9a13, U+9a19, U+9a28, U+9a2b, U+9a30, + U+9a37, U+9a3e, U+9a40, U+9a42-9a43, U+9a45, U+9a4d-9a4e, U+9a55, U+9a57, + U+9a5a-9a5b, U+9a5f, U+9a62, U+9a64-9a65, U+9a69-9a6b, U+9aa8, U+9aad, + U+9ab0, U+9ab8, U+9abc, U+9ac0, U+9ac4, U+9acf, U+9ad1, U+9ad3-9ad4, + U+9ad8-9ad9, U+9adc, U+9ade-9adf, U+9ae2-9ae3, U+9ae6, U+9aea-9aeb, + U+9aed-9aef, U+9af1, U+9af4, U+9af7, U+9afb, U+9b06, U+9b18, U+9b1a, U+9b1f, + U+9b22-9b23, U+9b25, U+9b27-9b2a, U+9b2e-9b2f, U+9b31-9b32, U+9b3b-9b3c, + U+9b41-9b45, U+9b4d-9b4f, U+9b51, U+9b54, U+9b58, U+9b5a, U+9b6f, U+9b72, + U+9b74-9b75, U+9b83, U+9b8e-9b8f, U+9b91-9b93, U+9b96-9b97, U+9b9f-9ba0, + U+9ba8, U+9baa-9bab, U+9bad-9bae, U+9bb1, U+9bb4, U+9bb9, U+9bbb, U+9bc0, + U+9bc6, U+9bc9-9bca, U+9bcf, U+9bd1-9bd2, U+9bd4, U+9bd6, U+9bdb, + U+9be1-9be4, U+9be8, U+9bf0-9bf2, U+9bf5, U+9c00, U+9c04, U+9c06, + U+9c08-9c0a, U+9c0c-9c0d, U+9c10, U+9c12-9c15, U+9c1b, U+9c21, U+9c24-9c25, + U+9c2d-9c2f; +} +@font-face { + font-family: Noto Sans JP; + src: url(data:font/woff2;base64,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) + format(woff2); + font-weight: 100 900; + font-style: normal; + font-display: swap; + unicode-range: + U+9c30, U+9c32, U+9c39-9c3b, U+9c3e, U+9c46-9c48, U+9c52, U+9c57, U+9c5a, + U+9c60, U+9c67, U+9c76, U+9c78, U+9ce5, U+9ce7, U+9ce9, U+9ceb-9cec, U+9cf0, + U+9cf3-9cf4, U+9cf6, U+9d03, U+9d06-9d09, U+9d0e, U+9d12, U+9d15, U+9d1b, + U+9d1f, U+9d23, U+9d26, U+9d28, U+9d2a-9d2c, U+9d3b, U+9d3e-9d3f, U+9d41, + U+9d44, U+9d46, U+9d48, U+9d50-9d51, U+9d59, U+9d5c-9d5e, U+9d60-9d61, + U+9d64, U+9d6b-9d6c, U+9d6f-9d70, U+9d72, U+9d7a, U+9d87, U+9d89, U+9d8f, + U+9d9a, U+9da4, U+9da9, U+9dab, U+9daf, U+9db2, U+9db4, U+9db8, U+9dba-9dbb, + U+9dc1-9dc2, U+9dc4, U+9dc6, U+9dcf, U+9dd3, U+9dd9, U+9de6, U+9ded, U+9def, + U+9df2, U+9df8-9dfa, U+9dfd, U+9e19-9e1b, U+9e1e, U+9e75, U+9e78-9e79, + U+9e7d, U+9e7f, U+9e81, U+9e88, U+9e8b-9e8c, U+9e91-9e93, U+9e95, U+9e97, + U+9e9d, U+9e9f, U+9ea5-9ea6, U+9ea9-9eaa, U+9ead, U+9eb8-9ebc, U+9ebe-9ebf, + U+9ec4, U+9ecc-9ed2, U+9ed4, U+9ed8-9ed9, U+9edb-9ede, U+9ee0, U+9ee5, + U+9ee8, U+9eef, U+9ef4, U+9ef6-9ef7, U+9ef9, U+9efb-9efd, U+9f07-9f08, + U+9f0e, U+9f13, U+9f15, U+9f20-9f21, U+9f2c, U+9f3b, U+9f3e, U+9f4a-9f4b, + U+9f4e-9f4f, U+9f52, U+9f54, U+9f5f-9f63, U+9f66-9f67, U+9f6a, U+9f6c, + U+9f72, U+9f76-9f77, U+9f8d, U+9f95, U+9f9c-9f9d, U+9fa0, U+f929, U+f9dc, + U+fa0e-fa2d; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(data:font/woff2;base64,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) + format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+3000-3002, U+3005-3006, U+3008-3009, U+300c-300f, U+303b, U+3041-3094, + U+3099-309a, U+309d-309e, U+30a1-30fd, U+3231-3232, U+ff08-ff09; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-01.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+4e00-4e01, U+4e03, U+4e07-4e0b, U+4e0d-4e0e, U+4e10-4e11, U+4e14-4e19, + U+4e1e, U+4e21, U+4e26, U+4e28, U+4e2a, U+4e2d, U+4e31-4e32, U+4e36, + U+4e38-4e39, U+4e3b-4e3c, U+4e3f, U+4e42-4e43, U+4e45, U+4e4b, U+4e4d-4e4f, + U+4e56-4e59, U+4e5d-4e5f, U+4e62, U+4e71, U+4e73, U+4e7e, U+4e80, U+4e82, + U+4e85-4e86, U+4e88-4e8c, U+4e8e, U+4e91-4e92, U+4e94-4e95, U+4e98-4e99, + U+4e9b-4e9c, U+4e9e-4ea2, U+4ea4-4ea6, U+4ea8, U+4eab-4eae, U+4eb0, U+4eb3, + U+4eb6, U+4eba, U+4ec0-4ec2, U+4ec4, U+4ec6-4ec7, U+4eca-4ecb, U+4ecd-4ecf, + U+4ed4-4ed9, U+4edd-4edf, U+4ee3-4ee5, U+4eed-4eee, U+4ef0, U+4ef2, + U+4ef6-4ef7, U+4efb, U+4f01, U+4f09-4f0a, U+4f0d-4f11, U+4f1a, U+4f1c-4f1d, + U+4f2f-4f30, U+4f34, U+4f36, U+4f38, U+4f3a, U+4f3c-4f3d, U+4f43, + U+4f46-4f47, U+4f4d-4f51, U+4f53, U+4f55, U+4f57, U+4f59-4f5d, U+4f69, + U+4f6f-4f70, U+4f73, U+4f75-4f76, U+4f7b-4f7c, U+4f7f, U+4f83, U+4f86, + U+4f88, U+4f8b, U+4f8d, U+4f8f, U+4f91, U+4f96, U+4f98, U+4f9b, U+4f9d, + U+4fa0-4fa1, U+4fad-4faf, U+4fb5-4fb6, U+4fbf, U+4fc2-4fc4, U+4fca, U+4fce, + U+4fd0-4fd1, U+4fd4, U+4fd7-4fd8, U+4fda-4fdb, U+4fdd, U+4fdf, U+4fe1, + U+4fe3-4fe5, U+4fee-4fef, U+4ff3, U+4ff5-4ff6, U+4ff8, U+4ffa, U+4ffe, + U+5005-5006, U+5009, U+500b, U+500d, U+5011-5012, U+5014, U+5016, + U+5019-501a, U+501f, U+5021, U+5023-5026, U+5028-502d, U+5036, U+5039, + U+5043, U+5047-5049, U+504f-5050, U+5055-5056, U+505a, U+505c, U+5065, + U+506c, U+5072, U+5074-5076, U+5078, U+507d, U+5080, U+5085, U+508d, U+5091, + U+5098-509a, U+50ac-50ad, U+50b2-50b5, U+50b7, U+50be, U+50c2, U+50c5, + U+50c9-50ca, U+50cd, U+50cf, U+50d1, U+50d5-50d6, U+50da, U+50de, U+50e3, + U+50e5, U+50e7, U+50ed-50ee, U+50f5, U+50f9, U+50fb, U+5100-5102, U+5104, + U+5109, U+5112, U+5114-5116, U+5118, U+511a, U+511f, U+5121, U+512a, U+5132, + U+5137, U+513a-513c, U+513f-5141, U+5143-5149, U+514b-514e, U+5150, U+5152, + U+5154, U+515a, U+515c, U+5162, U+5165, U+5168-516e, U+5171, U+5175-5178, + U+517c, U+5180, U+5182, U+5185-5186, U+5189-518a, U+518c-518d, U+518f, + U+5191-5193, U+5195-5197, U+5199, U+51a0, U+51a2, U+51a4-51a6, U+51a8-51ac, + U+51b0-51b7, U+51bd, U+51c4-51c6, U+51c9, U+51cb-51cd, U+51d6, U+51db-51dd, + U+51e0-51e1, U+51e6-51e7, U+51e9-51ea, U+51ed, U+51f0-51f1, U+51f5-51f6, + U+51f8-51fa, U+51fd-51fe, U+5200, U+5203-5204, U+5206-5208, U+520a-520b, + U+520e, U+5211, U+5214, U+5217, U+521d, U+5224-5225, U+5227, U+5229-522a, + U+522e, U+5230, U+5233, U+5236-523b, U+5243-5244, U+5247, U+524a-524d, + U+524f, U+5254, U+5256, U+525b, U+525e, U+5263-5265, U+5269-526a, + U+526f-5275, U+527d, U+527f, U+5283, U+5287-5289, U+528d, U+5291-5292, + U+5294, U+529b, U+529f-52a0, U+52a3, U+52a9-52ad, U+52b1, U+52b4-52b5, + U+52b9, U+52bc, U+52be, U+52c1, U+52c3, U+52c5, U+52c7, U+52c9, U+52cd, + U+52d2, U+52d5, U+52d7-52d9, U+52dd-52e0, U+52e2-52e4, U+52e6-52e7, + U+52f2-52f3, U+52f5, U+52f8-52fa, U+52fe-52ff; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-02.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+5301-5302, U+5305-5306, U+5308, U+530d, U+530f-5310, U+5315-5317, + U+5319-531a, U+531d, U+5320-5321, U+5323, U+532a, U+532f, U+5331, U+5333, + U+5338-533b, U+533f-5341, U+5343, U+5345-534a, U+534d, U+5351-5354, + U+5357-5358, U+535a, U+535c, U+535e, U+5360, U+5366, U+5369, U+536e-5371, + U+5373-5375, U+5377-5378, U+537b, U+537f, U+5382, U+5384, U+5396, U+5398, + U+539a, U+539f-53a0, U+53a5-53a6, U+53a8-53a9, U+53ad-53ae, U+53b0, U+53b3, + U+53b6, U+53bb, U+53c2-53c3, U+53c8-53ce, U+53d4, U+53d6-53d7, U+53d9, + U+53db, U+53df, U+53e1-53e5, U+53e8-53f3, U+53f6-53f8, U+53fa, U+5401, + U+5403-5404, U+5408-5411, U+541b, U+541d, U+541f-5420, U+5426, U+5429, + U+542b-542e, U+5436, U+5438-5439, U+543b-543e, U+5440, U+5442, U+5446, + U+5448-544a, U+544e, U+5451, U+545f, U+5468, U+546a, U+5470-5471, U+5473, + U+5475-5477, U+547b-547d, U+5480, U+5484, U+5486, U+548b-548c, U+548e-5490, + U+5492, U+54a2, U+54a4-54a5, U+54a8, U+54ab-54ac, U+54af, U+54b2-54b3, + U+54b8, U+54bc-54be, U+54c0-54c2, U+54c4, U+54c7-54c9, U+54d8, U+54e1-54e2, + U+54e5-54e6, U+54e8-54e9, U+54ed-54ee, U+54f2, U+54fa, U+54fd, U+5504, + U+5506-5507, U+550f-5510, U+5514, U+5516, U+552e-552f, U+5531, U+5533, + U+5538-5539, U+553e, U+5540, U+5544-5546, U+554c, U+554f, U+5553, + U+5556-5557, U+555c-555d, U+5563, U+557b-557c, U+557e, U+5580, U+5583-5584, + U+5587, U+5589-558b, U+5598-559a, U+559c-559f, U+55a7-55ac, U+55ae, U+55b0, + U+55b6, U+55c4-55c5, U+55c7, U+55d4, U+55da, U+55dc, U+55df, U+55e3-55e4, + U+55f7, U+55f9, U+55fd-55fe, U+5606, U+5609, U+5614, U+5616-5618, U+561b, + U+5629, U+562f, U+5631-5632, U+5634, U+5636, U+5638, U+5642, U+564c, U+564e, + U+5650, U+565b, U+5664, U+5668, U+566a-566c, U+5674, U+5678, U+567a, U+5680, + U+5686-5687, U+568a, U+568f, U+5694, U+56a0, U+56a2, U+56a5, U+56ae, U+56b4, + U+56b6, U+56bc, U+56c0-56c3, U+56c8, U+56ce, U+56d1, U+56d3, U+56d7-56d8, + U+56da-56db, U+56de, U+56e0, U+56e3, U+56ee, U+56f0, U+56f2-56f3, + U+56f9-56fa, U+56fd, U+56ff-5700, U+5703-5704, U+5708-5709, U+570b, U+570d, + U+570f, U+5712-5713, U+5716, U+5718, U+571c, U+571f, U+5726-5728, U+572d, + U+5730, U+5737-5738, U+573b, U+5740, U+5742, U+5747, U+574a, U+574e-5751, + U+5761, U+5764, U+5766, U+5769-576a, U+577f, U+5782, U+5788-5789, U+578b, + U+5793, U+57a0, U+57a2-57a4, U+57aa, U+57b0, U+57b3, U+57c0, U+57c3, U+57c6, + U+57cb, U+57ce, U+57d2-57d4, U+57d6, U+57dc, U+57df-57e0, U+57e3, U+57f4, + U+57f7, U+57f9-57fa, U+57fc, U+5800, U+5802, U+5805-5806, U+580a-580b, + U+5815, U+5819, U+581d, U+5821, U+5824, U+582a, U+582f-5831, U+5834-5835, + U+583a, U+583d, U+5840-5841, U+584a-584b, U+5851-5852, U+5854, U+5857-585a, + U+585e, U+5862, U+5869, U+586b, U+5870, U+5872, U+5875, U+5879, U+587e, + U+5883, U+5885, U+5893, U+5897, U+589c, U+589f, U+58a8, U+58ab, U+58ae, + U+58b3, U+58b8-58bb, U+58be, U+58c1, U+58c5, U+58c7, U+58ca, U+58cc, U+58d1, + U+58d3, U+58d5, U+58d7-58d8, U+58dc, U+58de, U+58e4, U+58eb-58ec, + U+58ee-58f2, U+58f7, U+58f9-58fb, U+58fd, U+5902, U+5909-590a, U+590f, + U+5915-5916, U+5918-591a, U+591c, U+5922, U+5925, U+5927, U+5929-592e, + U+5931, U+5937-5938, U+593e, U+5944; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-03.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+5947-5949, U+594e-5951, U+5954-5955, U+5957-5958, U+5960, U+5962, U+5965, + U+5967-5968, U+596a, U+596c, U+596e, U+5973-5974, U+5978, U+597d, + U+5981-5984, U+598a, U+598d, U+5993, U+5996, U+5999, U+59a3, U+59a5, U+59a8, + U+59ac, U+59b2, U+59b9, U+59bb, U+59be, U+59c6, U+59c9, U+59cb, U+59d0-59d1, + U+59d3-59d4, U+59da, U+59dc, U+59e5-59e6, U+59e8, U+59ea-59eb, U+59f6, + U+59fb, U+59ff, U+5a01, U+5a03, U+5a09, U+5a11, U+5a18, U+5a1a, U+5a1c, + U+5a1f-5a20, U+5a25, U+5a29, U+5a2f, U+5a35-5a36, U+5a3c, U+5a41, U+5a46, + U+5a49, U+5a5a, U+5a62, U+5a66, U+5a6a, U+5a7f, U+5a92, U+5a9a-5a9b, + U+5abc-5abd, U+5ac1-5ac2, U+5ac9, U+5acc, U+5ad0, U+5ad6-5ad7, U+5ae1, + U+5ae6, U+5b09, U+5b0b-5b0c, U+5b22, U+5b2a, U+5b2c, U+5b30, U+5b32, U+5b40, + U+5b43, U+5b45, U+5b50, U+5b54-5b55, U+5b57-5b58, U+5b5a, U+5b5c-5b5d, + U+5b5f, U+5b63-5b64, U+5b66, U+5b69, U+5b6b, U+5b70, U+5b75, U+5b78, U+5b7a, + U+5b80, U+5b83, U+5b85, U+5b87-5b89, U+5b8b-5b8d, U+5b8f, U+5b95, + U+5b97-5b9d, U+5b9f, U+5ba2-5ba6, U+5bae, U+5bb0, U+5bb3-5bb6, U+5bb8-5bb9, + U+5bbf, U+5bc2, U+5bc4-5bc7, U+5bcc, U+5bd2-5bd3, U+5bdb, U+5bdd, U+5bdf, + U+5be1-5be2, U+5be6-5be9, U+5bee, U+5bf5, U+5bf8, U+5bfa, U+5bfe-5bff, + U+5c01-5c02, U+5c04-5c0b, U+5c0d-5c0f, U+5c11, U+5c13, U+5c16, U+5c1a, + U+5c20, U+5c22, U+5c24, U+5c28, U+5c2d, U+5c31, U+5c38-5c41, U+5c45, U+5c48, + U+5c4a-5c4b, U+5c4d-5c4f, U+5c51, U+5c53, U+5c55, U+5c5e, U+5c60-5c61, + U+5c64-5c65, U+5c6c, U+5c6e-5c6f, U+5c71, U+5c79, U+5c90-5c91, U+5ca1, + U+5ca8-5ca9, U+5cab-5cac, U+5cb1, U+5cb3, U+5cb6-5cb8, U+5cba-5cbb, U+5cbe, + U+5cc5, U+5cd9, U+5ce0-5ce1, U+5ce8, U+5cea, U+5ced, U+5cef-5cf0, U+5cf6, + U+5cfa-5cfb, U+5cfd, U+5d07, U+5d0b, U+5d0e, U+5d11, U+5d14-5d1a, U+5d22, + U+5d29, U+5d4b-5d4c, U+5d4e, U+5d50, U+5d52, U+5d69, U+5d6f, U+5d82, U+5d87, + U+5d8b-5d8c, U+5d9d, U+5da2, U+5dac, U+5dae, U+5dba, U+5dbc-5dbd, + U+5dcc-5dcd, U+5dd2, U+5dd6, U+5ddb, U+5ddd-5dde, U+5de1, U+5de3, + U+5de5-5de8, U+5deb, U+5dee, U+5df1-5df4, U+5df7, U+5dfb, U+5dfd-5dfe, + U+5e02-5e03, U+5e06, U+5e0c, U+5e16, U+5e19-5e1b, U+5e1d, U+5e25, U+5e2b, + U+5e2d, U+5e2f-5e30, U+5e33, U+5e36-5e38, U+5e3d, U+5e40, U+5e45, U+5e47, + U+5e4c, U+5e4e, U+5e54-5e55, U+5e57, U+5e5f, U+5e61-5e63, U+5e72-5e76, + U+5e78-5e7f, U+5e81, U+5e83-5e84, U+5e87, U+5e8a, U+5e8f, U+5e95-5e97, + U+5e9a, U+5e9c, U+5ea6-5ea7, U+5eab, U+5ead, U+5eb5-5eb8, U+5ec1-5ec3, + U+5ec9-5eca, U+5ecf, U+5ed3, U+5eda-5edb, U+5edf-5ee0, U+5ee2-5ee3, U+5eec, + U+5ef3-5ef4, U+5ef6-5ef8, U+5efa-5efc, U+5efe-5eff, U+5f01, U+5f04, + U+5f09-5f0d, U+5f0f-5f11, U+5f13-5f18, U+5f1b, U+5f1f, U+5f25-5f27, U+5f29, + U+5f2f, U+5f31, U+5f35, U+5f37-5f38, U+5f3c, U+5f3e, U+5f48, U+5f4a, U+5f4c, + U+5f4e, U+5f51, U+5f53, U+5f56-5f57, U+5f59, U+5f61-5f62, U+5f66, + U+5f69-5f6d, U+5f70-5f71, U+5f73, U+5f77, U+5f79, U+5f7c, U+5f7f-5f85, + U+5f87-5f88, U+5f8a-5f8c, U+5f90-5f93, U+5f97-5f98, U+5f9e, U+5fa0-5fa1, + U+5fa8-5faa, U+5fad-5fae, U+5fb3-5fb4, U+5fb7, U+5fb9, U+5fbd, U+5fc3, + U+5fc5, U+5fcc-5fcd, U+5fd6-5fd9, U+5fdc-5fdd, U+5fe0, U+5fe4, U+5feb, + U+5ff0-5ff1, U+5ff5; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-04.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+5ff8, U+5ffd, U+6010, U+6012, U+6015-6016, U+6019, U+601b-601d, + U+6020-6021, U+6025, U+6027-602b, U+602f, U+6031, U+6042-6043, U+6046, + U+604a-604b, U+604d, U+6050, U+6052, U+6055, U+6059, U+6062-6063, U+6065, + U+6068-606d, U+606f-6070, U+6075, U+6081, U+6084, U+6089, U+608c-608d, + U+6094, U+6097, U+609a-609b, U+609f-60a0, U+60a3, U+60a6-60a7, U+60a9-60aa, + U+60b2-60b6, U+60b8, U+60bc-60bd, U+60c5-60c7, U+60d1, U+60d8, U+60da, + U+60dc, U+60df-60e1, U+60e3, U+60e7-60e8, U+60f0-60f1, U+60f3-60f4, U+60f6, + U+60f9-60fb, U+6100-6101, U+6103, U+6108-6109, U+610e-610f, U+6115, + U+611a-611b, U+611f, U+6121, U+6127, U+6134, U+613c-613d, U+6144, + U+6147-6148, U+614b-614c, U+614e, U+6153, U+6155, U+6159-615a, U+6162-6163, + U+6167-6168, U+616e, U+6170-6171, U+6173, U+6175-6177, U+617e, U+6182, + U+618e, U+6190-6191, U+6194, U+619a, U+61a4, U+61a7, U+61a9, U+61ab-61ac, + U+61ae, U+61b2, U+61b6, U+61ba, U+61be, U+61c6-61c7, U+61c9-61ca, U+61d0, + U+61e6, U+61f2, U+61f4, U+61f7-61f8, U+61fa, U+61fc-6200, U+6208-620a, + U+620c-620e, U+6210-6212, U+6214, U+6216, U+621a, U+621f, U+6221, U+6226, + U+622a, U+622e-6230, U+6232, U+6234, U+6238, U+623b, U+623f-6241, + U+6247-6249, U+624b, U+624d-624e, U+6253, U+6255, U+6258, U+625b, U+625e, + U+6263, U+6268, U+626e, U+6271, U+6276, U+6279, U+627f-6280, U+6282, U+6284, + U+6289-628a, U+6291-6292, U+6294-6295, U+6297-6298, U+629b-629c, U+629e, + U+62ab-62ac, U+62b1, U+62b5, U+62b9, U+62bb-62bd, U+62c2, U+62c5-62ca, + U+62cc-62cd, U+62cf-62d4, U+62d7-62d9, U+62db-62dd, U+62e0-62e1, + U+62ec-62ee, U+62f1, U+62f3, U+62f5-62f7, U+62fe-62ff, U+6301-6302, U+6307, + U+6309, U+630c, U+6311, U+6319, U+631f, U+6328, U+632b, U+632f, U+633a, + U+633d-633f, U+6349, U+634c-634d, U+634f-6350, U+6355, U+6357, U+635c, + U+6367-6369, U+636e, U+6372, U+6376-6377, U+637a-637b, U+6383, U+6388-6389, + U+638c, U+638e-638f, U+6392, U+6396, U+6398, U+639b, U+639f-63a2, U+63a5, + U+63a7-63ac, U+63b2, U+63b4, U+63bb, U+63be, U+63c0, U+63c3-63c4, U+63c6, + U+63c9, U+63cf-63d0, U+63d6, U+63da-63db, U+63e1, U+63e3, U+63e9, U+63ee, + U+63f4, U+63f6, U+63fa, U+640d, U+640f, U+6413, U+6416-6417, U+641c, U+6426, + U+642c-642d, U+6436, U+643a, U+643e, U+6442, U+644e, U+6458, U+6467, U+6469, + U+646f, U+6476, U+6478, U+647a, U+6483, U+6488, U+6492-6493, U+649a, U+649e, + U+64a4-64a5, U+64a9, U+64ab, U+64ad-64ae, U+64b0, U+64b2, U+64b9, U+64bc, + U+64c1, U+64c5, U+64c7, U+64cd, U+64d2, U+64d4, U+64e2-64e3, U+64e6-64e7, + U+64ec, U+64ef, U+64f2, U+64f6, U+64fd-64fe, U+6500, U+6505, U+6518, U+651d, + U+6523-6524, U+652b-652c, U+652f, U+6534-6536, U+6538-6539, U+653b, + U+653e-653f, U+6545, U+6548, U+654d, U+654f, U+6551, U+6555-6559, + U+6562-6563, U+6566, U+656c, U+6570, U+6572, U+6574-6575, U+6577-6578, + U+6582-6583, U+6587, U+6589, U+658c, U+658e, U+6590-6591, U+6597, U+6599, + U+659c, U+659f, U+65a1, U+65a4-65a5, U+65a7, U+65ac-65ad, U+65af-65b0, + U+65b9, U+65bc-65bd, U+65c1, U+65c3, U+65c5, U+65cb, U+65cf, U+65d7, U+65d9, + U+65db, U+65e0, U+65e2, U+65e5-65e9, U+65ec-65ed, U+65f1, U+65fa-65fb, + U+6602, U+6606-6607, U+660a, U+660c, U+660e-660f, U+6613-6614, U+661c, + U+661f-6620, U+6625, U+6627-6628, U+662d, U+662f, U+6634-6636, U+663c, + U+663f, U+6641-6644, U+664b, U+664f, U+6652, U+665d-665f, U+6662, U+6664, + U+6666, U+6668-6669; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-05.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+666e-6670, U+6674, U+6676, U+667a, U+6681, U+6684, U+6687-6689, U+668e, + U+6691, U+6696-6698, U+669d, U+66a2, U+66a6, U+66ab, U+66ae, U+66b4, U+66b8, + U+66c4, U+66c7, U+66c9, U+66d6, U+66d9-66da, U+66dc-66dd, U+66e0, U+66f0, + U+66f2-66f5, U+66f7-66f9, U+66fc-6700, U+6703, U+6708-6709, U+670b, U+670d, + U+670f, U+6714-6717, U+671b, U+671d, U+671f, U+6726-6728, U+672a-672e, + U+6731, U+6734, U+6738, U+673a, U+673d, U+673f, U+6741, U+6746, U+6749, + U+674e-6751, U+6753, U+6756, U+675c, U+675e-6765, U+676a, U+676d, U+676f, + U+6771, U+6773, U+6775, U+6777, U+677c, U+677e-677f, U+6787, U+6789, + U+678b-678c, U+6790, U+6795, U+6797, U+679a, U+679c-679d, U+67a0-67a2, + U+67a6, U+67af, U+67b4, U+67b6-67b9, U+67c1, U+67c4, U+67c6, U+67ca, + U+67ce-67d1, U+67d3-67d4, U+67d8, U+67da, U+67dd-67de, U+67e2, U+67e4, + U+67e7, U+67e9, U+67ec, U+67ee-67ef, U+67f1, U+67f3-67f5, U+67fb, + U+67fe-67ff, U+6802-6804, U+6813, U+6816-6817, U+681e, U+6821-6822, + U+682a-682b, U+6832, U+6834, U+6838-6839, U+683c-683d, U+6841-6843, U+6846, + U+6848, U+684d-684e, U+6850-6851, U+6853-6854, U+6859, U+685c-685d, U+685f, + U+6867, U+6876, U+687f, U+6881, U+6885, U+6893, U+6897, U+689b, U+689d, + U+689f-68a0, U+68a2, U+68a6-68a8, U+68ad, U+68af-68b1, U+68b3, U+68b5-68b6, + U+68b9-68ba, U+68bc, U+68c4, U+68c6, U+68c9, U+68cb, U+68cd, U+68d2, + U+68d4-68d5, U+68d7-68d8, U+68da, U+68df-68e1, U+68ee-68ef, U+68f2, + U+68f9-68fa, U+6900-6901, U+6904-6905, U+6908, U+690b-690f, U+6912, + U+6919-691c, U+6922, U+6925, U+6928, U+6930, U+6934, U+6939, U+693d, U+693f, + U+694a, U+6953-6955, U+695a, U+695c-695d, U+6960-6962, U+696a-696b, + U+696d-696f, U+6973-6975, U+6977-6979, U+697c-697d, U+6982, U+698a, U+698e, + U+6991, U+6994-6995, U+699b-699c, U+69a0, U+69ae, U+69b4, U+69be-69bf, + U+69c1, U+69c3, U+69c7, U+69cb-69ce, U+69d0, U+69d3, U+69d8-69d9, U+69de, + U+69e7, U+69eb, U+69ed, U+69fb, U+69fd, U+69ff, U+6a02, U+6a05, U+6a0b, + U+6a13, U+6a17, U+6a19, U+6a1b, U+6a1e-6a1f, U+6a21, U+6a23, U+6a29-6a2b, + U+6a35-6a36, U+6a38-6a3a, U+6a3d, U+6a44, U+6a47-6a48, U+6a4b, U+6a58-6a59, + U+6a5f, U+6a61, U+6a66, U+6a72, U+6a7f-6a80, U+6a84, U+6a8d-6a8e, U+6a90, + U+6a97, U+6a9c, U+6aa2, U+6aac, U+6aae, U+6ab3, U+6ab8, U+6abb, U+6ac2-6ac3, + U+6ad3, U+6ada-6adb, U+6ade-6adf, U+6ae8, U+6afb, U+6b04-6b05, U+6b0a, + U+6b12, U+6b1d, U+6b20-6b21, U+6b23, U+6b27, U+6b32, U+6b37, U+6b3a, + U+6b3d-6b3e, U+6b4c, U+6b4e, U+6b50, U+6b53-6b54, U+6b62-6b64, U+6b66, + U+6b69-6b6a, U+6b6f, U+6b73-6b74, U+6b79, U+6b7b, U+6b7f-6b80, U+6b84, + U+6b86, U+6b89-6b8b, U+6b95-6b96, U+6b9e, U+6bab, U+6baf, U+6bb1-6bb5, + U+6bb7, U+6bba-6bbb, U+6bbf-6bc0, U+6bc5-6bc6, U+6bcb, U+6bcd-6bce, U+6bd2, + U+6bd4, U+6bd8, U+6bdb, U+6bdf, U+6beb-6bec, U+6bef, U+6bf3, U+6c0f, U+6c11, + U+6c13-6c14, U+6c17, U+6c23, U+6c34, U+6c37-6c38, U+6c3e, U+6c40-6c42, + U+6c4e, U+6c50, U+6c55, U+6c57, U+6c5a, U+6c5d-6c60, U+6c62, U+6c6a, U+6c70, + U+6c72-6c73, U+6c7a, U+6c7d-6c7e, U+6c81, U+6c83, U+6c88, U+6c8c, U+6c90, + U+6c93, U+6c96, U+6c99-6c9a, U+6ca1-6ca2, U+6cab, U+6cae, U+6cb1, U+6cb3, + U+6cb8-6cbf, U+6cc1, U+6cc4, U+6cc9-6cca, U+6ccc, U+6cd3, U+6cd5, U+6cd7, + U+6cd9, U+6cdb, U+6cdd, U+6ce1-6ce3, U+6ce5, U+6ce8, U+6cea, U+6cef-6cf1, + U+6cf3, U+6d0b, U+6d12, U+6d17, U+6d19, U+6d1b, U+6d1e; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-06.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+6d1f, U+6d25, U+6d29-6d2a, U+6d32, U+6d35, U+6d38, U+6d3b, U+6d3d-6d3e, + U+6d41, U+6d44-6d45, U+6d59-6d5a, U+6d5c, U+6d63, U+6d66, U+6d69-6d6a, + U+6d6c, U+6d6e, U+6d74, U+6d77-6d79, U+6d85, U+6d88, U+6d8c, U+6d8e, U+6d93, + U+6d95, U+6d99, U+6d9b-6d9c, U+6daf, U+6db2, U+6db5, U+6db8, U+6dbc, U+6dc0, + U+6dc7, U+6dcb, U+6dd1-6dd2, U+6dd5, U+6dd8-6dd9, U+6de1, U+6de8, + U+6dea-6dec, U+6dee, U+6df1, U+6df3, U+6df5, U+6df7, U+6df9, U+6dfb, U+6e05, + U+6e07-6e0b, U+6e13, U+6e15, U+6e19-6e1b, U+6e20-6e21, U+6e23-6e26, U+6e29, + U+6e2b-6e2d, U+6e2f, U+6e38, U+6e3a, U+6e3e, U+6e4a, U+6e4d-6e4e, U+6e56, + U+6e58, U+6e5b-6e5c, U+6e5f, U+6e67, U+6e6b, U+6e6e-6e6f, U+6e7e-6e80, + U+6e82, U+6e8c, U+6e8f-6e90, U+6e96, U+6e9c-6e9d, U+6e9f, U+6ea2, U+6ea5, + U+6eaa, U+6eaf, U+6eb2, U+6eb6, U+6eba, U+6ec2, U+6ec4-6ec5, U+6ec9, + U+6ecb-6ecc, U+6ed1, U+6ed3-6ed5, U+6edd-6ede, U+6eef, U+6ef2, U+6ef4, + U+6ef8, U+6efe-6eff, U+6f01-6f02, U+6f06, U+6f09, U+6f0f, U+6f11, + U+6f13-6f15, U+6f20, U+6f22-6f23, U+6f2b-6f2c, U+6f31, U+6f38, U+6f3f, + U+6f45, U+6f54, U+6f58, U+6f5b-6f5c, U+6f5f, U+6f64, U+6f66, U+6f6d-6f6e, + U+6f70, U+6f74, U+6f7c, U+6f81, U+6f84, U+6f86, U+6f8e, U+6f97, U+6fa1, + U+6fa4, U+6faa, U+6fb1, U+6fb3, U+6fb9, U+6fc0-6fc1, U+6fc3, U+6fc6, + U+6fd4-6fd5, U+6fd8, U+6fdb, U+6fe0-6fe1, U+6fe4, U+6feb, U+6fef, U+6ff1, + U+6ffe, U+700b, U+700f, U+7011, U+7015, U+7018, U+701d-701f, U+7026-7027, + U+702c, U+703e, U+704c, U+7058, U+7063, U+706b, U+706f-7070, U+7078, + U+707c-707d, U+7089-708a, U+708e, U+7092, U+7099, U+70ac-70ae, U+70b8-70ba, + U+70c8, U+70cf, U+70d9, U+70dd, U+70f9, U+70fd, U+7109, U+7114, U+7119-711a, + U+7121, U+7126, U+7136, U+713c, U+7149, U+714c, U+714e, U+7155, U+7159, + U+7164-7165, U+7167, U+7169, U+716c, U+716e, U+717d, U+7184, U+7188, U+718a, + U+718f, U+7194, U+7199, U+719f, U+71a8, U+71b1, U+71b9, U+71be, U+71c1, + U+71c3, U+71c8, U+71ce, U+71d0, U+71d2, U+71d4-71d5, U+71d7, U+71df-71e0, + U+71e5-71e7, U+71ed-71ee, U+71f5, U+71fb-71fc, U+71ff, U+7206, U+720d, + U+7210, U+721b, U+722a, U+722c-722d, U+7232, U+7235-7236, U+723a-723b, + U+723d-7240, U+7246-7248, U+724c, U+7252, U+7259, U+725b, U+725d, U+725f, + U+7261-7262, U+7267, U+7269, U+7272, U+7274, U+7279, U+727d-727e, U+7280, + U+7282, U+7292, U+72a0, U+72ac, U+72af, U+72b6, U+72c2-72c4, U+72c6, U+72ce, + U+72d0, U+72d2, U+72d7, U+72d9, U+72db, U+72e0-72e2, U+72e9, U+72ec-72ed, + U+72f7-72f9, U+72fc-72fd, U+730a, U+7316-7317, U+731b-731d, U+731f, U+7325, + U+7329-732b, U+732e-732f, U+7334, U+7336-7337, U+733e-733f, U+7344-7345, + U+734f, U+7363, U+7368, U+736a, U+7370, U+7372, U+7375, U+7378, U+737a, + U+7384, U+7387, U+7389, U+738b, U+7396, U+73a9, U+73b2, U+73bb, U+73c0, + U+73c2, U+73c8-73ca, U+73cd-73ce, U+73de, U+73e0, U+73ea, U+73ed, U+73f8, + U+73fe, U+7403, U+7405-7406, U+7409, U+7422, U+7425, U+7432-7436, U+743a, + U+743f, U+7455, U+7459-745c, U+745e, U+7460, U+7463-7464, U+746a, + U+746f-7470, U+7473, U+7476, U+747e, U+7483, U+748b, U+749e, U+74a7, U+74b0, + U+74bd, U+74ca, U+74cf, U+74d4, U+74dc, U+74e2, U+74e6, U+74f6, U+750c-750d, + U+7511, U+7515, U+7518, U+751a, U+751c, U+751f, U+7523, U+7525-7526, U+7528, + U+752b-752c, U+7530-7533, U+7537-7538, U+753a-753b, U+7544, U+7546, U+7549, + U+754b-754c, U+754f, U+7551, U+7554, U+7559, U+755b-755d, U+7560, U+7562, + U+7564-7566, U+756a-756b, U+756d, U+7570, U+7573-7574, U+7576-7578, U+757f, + U+7586-7587, U+758a-758b, U+758e-758f, U+7591, U+75ab, U+75b1-75b2, U+75b5, + U+75b8-75b9, U+75bc-75be, U+75c5, U+75c7, U+75cd, U+75d2; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-07.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+75d4-75d5, U+75d8-75d9, U+75db, U+75e2-75e3, U+75e9, U+75f0, U+75f4, + U+75fa, U+760d, U+7621-7622, U+7624, U+7634, U+7642, U+7647, U+764c, U+7652, + U+7656, U+766a, U+766c, U+7672, U+7676, U+7678, U+767a-767e, U+7684, + U+7686-7688, U+768e, U+7690, U+7693, U+7696, U+769a, U+76ae, U+76b0, U+76ba, + U+76bf, U+76c2-76c3, U+76c6, U+76c8, U+76ca, U+76cd, U+76d2, U+76d7, + U+76db-76dc, U+76df, U+76e1, U+76e3-76e5, U+76e7, U+76ea, U+76ee, U+76f2, + U+76f4, U+76f8, U+76fe, U+7701, U+7707-7709, U+770b-770c, U+771b, + U+771e-7720, U+7724-7725, U+7729, U+7737-7738, U+773a, U+773c, U+7740, + U+7747, U+775a-775b, U+7761, U+7763, U+7765-7766, U+7768, U+776b, + U+777e-777f, U+778b, U+7791, U+779e, U+77a0, U+77a5, U+77ac-77ad, U+77b0, + U+77b3, U+77b6, U+77b9, U+77bb-77bc, U+77c7, U+77db-77dc, U+77e2-77e3, + U+77e5, U+77e7, U+77e9, U+77ed-77ef, U+77f3, U+77fc, U+7802, U+780c, U+7812, + U+7814-7815, U+7820, U+7825-7827, U+7832, U+7834, U+783a, U+783f, U+7845, + U+785d, U+786b-786c, U+786f, U+7872, U+787c, U+7881, U+7887, U+788c-788e, + U+7891, U+7893, U+7895, U+7897, U+789a, U+78a3, U+78a7, U+78a9-78aa, U+78b5, + U+78ba, U+78bc, U+78c1, U+78c5-78c6, U+78ca-78cb, U+78d0-78d1, U+78d4, + U+78da, U+78e7-78e8, U+78ec, U+78ef, U+78f4, U+78fd, U+7901, U+7907, U+790e, + U+7912, U+7919, U+792a-792c, U+793a, U+793c, U+793e, U+7940-7941, + U+7947-7949, U+7950, U+7953, U+7955-7957, U+795a, U+795d-7960, U+7962, + U+7965, U+7968, U+796d, U+7977, U+797a, U+797f-7981, U+7984-7985, U+798a, + U+798d-798f, U+79a6, U+79aa, U+79ae, U+79b0, U+79b3, U+79b9-79ba, + U+79bd-79c1, U+79cb, U+79d1-79d2, U+79d5, U+79d8, U+79df, U+79e3-79e4, + U+79e6, U+79e9, U+79f0, U+79fb, U+7a00, U+7a08, U+7a0b, U+7a0e, U+7a14, + U+7a17-7a1a, U+7a1c, U+7a1f-7a20, U+7a2e, U+7a32, U+7a3b-7a3d, U+7a3f-7a40, + U+7a42-7a43, U+7a46, U+7a4d-7a50, U+7a57, U+7a62-7a63, U+7a6b, U+7a70, + U+7a74, U+7a76, U+7a79-7a7a, U+7a7d, U+7a7f, U+7a81, U+7a83-7a84, U+7a88, + U+7a92-7a93, U+7a9f, U+7aa9-7aaa, U+7aae-7aaf, U+7aba, U+7ac3-7ac4, U+7ac8, + U+7acb, U+7acf, U+7ad3, U+7ad5, U+7ad9-7ada, U+7adc-7add, U+7adf-7ae3, + U+7ae5-7ae6, U+7aea, U+7aed, U+7aef-7af0, U+7af6, U+7af8-7afa, U+7aff, + U+7b06, U+7b08, U+7b0f, U+7b11, U+7b19, U+7b1b, U+7b20, U+7b25-7b26, U+7b2c, + U+7b39, U+7b45-7b46, U+7b48-7b49, U+7b4b, U+7b4d, U+7b4f-7b52, U+7b54, + U+7b56, U+7b5d, U+7b67, U+7b6c, U+7b75, U+7b86-7b87, U+7b8b, U+7b92, + U+7b94-7b95, U+7b97, U+7b9d, U+7b9f, U+7ba1, U+7baa, U+7bad, U+7bb1, U+7bb8, + U+7bc0, U+7bc4, U+7bc6-7bc7, U+7bc9, U+7bcf, U+7bdd, U+7be0, U+7be4, U+7be9, + U+7bed, U+7bf3, U+7c00, U+7c12, U+7c17, U+7c21, U+7c2a, U+7c38, U+7c3e-7c40, + U+7c43, U+7c4c-7c4d, U+7c50, U+7c56, U+7c60, U+7c64, U+7c73, U+7c7e, + U+7c81-7c83, U+7c89, U+7c8b, U+7c8d, U+7c90, U+7c92, U+7c95, U+7c97-7c98, + U+7c9b, U+7c9f, U+7ca1, U+7ca5, U+7ca7-7ca8, U+7cad-7cae, U+7cb1-7cb3, + U+7cb9, U+7cbd-7cbe, U+7cc0, U+7cc2, U+7cc5, U+7cca, U+7cce, U+7cd2, U+7cd6, + U+7cd8, U+7cde-7ce0, U+7ce2, U+7ce7, U+7cef, U+7cf2, U+7cf8, U+7cfa-7cfb, + U+7cfe, U+7d00, U+7d02, U+7d04-7d06, U+7d0b, U+7d0d, U+7d10, U+7d14-7d15, + U+7d17-7d1b, U+7d20-7d22, U+7d2b-7d2c, U+7d2f-7d30, U+7d32-7d33, U+7d35, + U+7d39-7d3a, U+7d3f, U+7d42-7d44, U+7d46, U+7d4b-7d4c, U+7d4e, U+7d50, + U+7d56, U+7d5e, U+7d61-7d63, U+7d66, U+7d68, U+7d71-7d72, U+7d75-7d76, + U+7d79, U+7d7d, U+7d89, U+7d8f, U+7d93, U+7d99-7d9a, U+7d9c, U+7d9f, U+7da2, + U+7dac-7dad, U+7db0-7db2, U+7db4, U+7db8, U+7dba-7dbb, U+7dbd-7dbf, + U+7dca-7dcb; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-08.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+7dcf, U+7dd1-7dd2, U+7dd8, U+7dda, U+7ddd-7dde, U+7de0, U+7de4, + U+7de8-7de9, U+7dec, U+7def, U+7df2, U+7df4, U+7dfb, U+7e01, U+7e04, + U+7e09-7e0b, U+7e12, U+7e1b, U+7e1e-7e1f, U+7e22-7e23, U+7e26, U+7e2b, + U+7e2e, U+7e31-7e32, U+7e35, U+7e37, U+7e39-7e3b, U+7e3d-7e3e, U+7e41, + U+7e4a-7e4b, U+7e4d, U+7e54-7e56, U+7e59-7e5a, U+7e5d-7e5e, U+7e67, U+7e6a, + U+7e6d, U+7e70, U+7e79, U+7e7b-7e7d, U+7e7f, U+7e82, U+7e89, U+7e8c, + U+7e8e-7e8f, U+7e93-7e94, U+7e96, U+7f36, U+7f38, U+7f3a, U+7f50-7f51, + U+7f54, U+7f60, U+7f6a-7f6b, U+7f6e, U+7f70, U+7f72, U+7f75, U+7f77, U+7f79, + U+7f83, U+7f85-7f86, U+7f88, U+7f8a, U+7f8c, U+7f8e, U+7f9a, U+7f9d-7f9e, + U+7fa4, U+7fa8-7fa9, U+7fae-7faf, U+7fb2, U+7fb6, U+7fb9, U+7fbd, U+7fc1, + U+7fc5, U+7fcc, U+7fd2, U+7fd4, U+7fe0-7fe1, U+7feb, U+7ff0, U+7ff3, + U+7ffb-7ffc, U+8000-8001, U+8003-8006, U+800c, U+8010, U+8012, U+8015, + U+8017, U+8033, U+8036, U+803b, U+803d, U+8046, U+804a, U+8052, U+8056, + U+8058, U+805a, U+805e-805f, U+8061-8062, U+806f-8070, U+8072-8074, + U+8076-8077, U+807d-807f, U+8084-8087, U+8089, U+808b-808c, U+8096, U+8098, + U+809a-809b, U+809d, U+80a1-80a2, U+80a5, U+80a9-80aa, U+80af, U+80b1-80b2, + U+80b4, U+80ba, U+80c3-80c4, U+80c6, U+80cc, U+80ce, U+80d6, U+80d9-80db, + U+80dd-80de, U+80e1, U+80e4-80e5, U+80ef, U+80f1, U+80f4, U+80f8, + U+80fc-80fd, U+8102, U+8105-8108, U+810a, U+811a-811b, U+8129, U+812f, + U+8131, U+8133, U+8139, U+813e, U+814b, U+814e, U+8150-8151, U+8153-8155, + U+815f, U+8165-8166, U+816b, U+816e, U+8170-8171, U+8178-817a, U+817f-8180, + U+8182, U+8188, U+818a, U+818f, U+8195, U+819a, U+819c-819d, U+81a0, U+81a3, + U+81a8, U+81b0, U+81b3, U+81b5, U+81bd-81c0, U+81c2, U+81c6, U+81c9, U+81cd, + U+81d1, U+81d3, U+81d8-81da, U+81df-81e0, U+81e3, U+81e5, U+81e8, U+81ea, + U+81ed, U+81f3-81f4, U+81fa, U+81fc, U+8201, U+8205, U+8207-8208, U+820c, + U+820e, U+8210, U+8212, U+8216-8218, U+821b-821c, U+821e-821f, U+8229-822c, + U+822e, U+8233, U+8235-8237, U+8239, U+8240, U+8247, U+8258-825a, U+825f, + U+8264, U+8266, U+8268, U+826b, U+826e-826f, U+8271-8272, U+8276, U+8278, + U+827e, U+828b, U+828d, U+8292, U+8299, U+829d, U+82a5-82a6, U+82ad, U+82af, + U+82b1, U+82b3, U+82b8-82b9, U+82bb, U+82bd, U+82c5, U+82d1, U+82d3-82d4, + U+82d7, U+82db, U+82df, U+82e5-82e7, U+82eb, U+82f1, U+82f4, U+82fa-82fb, + U+8302, U+8304-8305, U+8309, U+830e, U+8317, U+831c, U+8328, U+832b, U+8332, + U+8336, U+8338-8339, U+8340, U+8345, U+8349-834a, U+834f, U+8352, U+8358, + U+8377, U+837b-837c, U+8389-838a, U+839e, U+83a2, U+83ab, U+83b1, U+83bd, + U+83c5, U+83ca, U+83cc, U+83ce, U+83d3, U+83d6, U+83dc, U+83df, U+83e9, + U+83eb, U+83ef-83f1, U+8403-8404, U+840c-840e, U+8413, U+8420, U+8429, + U+842c, U+8431, U+843d, U+8449, U+844e, U+8457, U+845b, U+8461, U+8463, + U+8466, U+846c-846d, U+8471, U+8475, U+847a, U+848b, U+8490, U+8494, U+8499, + U+849c, U+849f, U+84a1, U+84b2, U+84b8, U+84bb-84bc, U+84bf, U+84c4, U+84c6, + U+84c9, U+84cb, U+84d1, U+84da, U+84ec, U+84ee, U+84fc, U+8500, U+8511, + U+8513, U+8517, U+851a, U+8521, U+8526, U+852d, U+8535, U+853d, U+8541, + U+8543, U+8548-854a, U+854e, U+8557, U+8568-856a, U+856d, U+857e, U+8580, + U+8584, U+8587, U+858a, U+8594, U+8597, U+8599, U+85a6, U+85a8-85ac, + U+85ae-85af, U+85c1, U+85c9, U+85cd, U+85cf, U+85dd, U+85e4-85e5, + U+85e9-85ea, U+85f7, U+85f9, U+85fb, U+8602, U+8606-8607, U+860a, U+861a, + U+862d, U+864d-864e, U+8650, U+8654-8655, U+865a, U+865c, U+865e-865f, + U+866b, U+8671, U+8679, U+867b, U+868a, U+8695, U+86a4, U+86a9, U+86ab, + U+86af-86b0, U+86b6, U+86c4, U+86c6-86c7, U+86c9; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-09.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+86cb, U+86cd-86ce, U+86d9, U+86db, U+86de-86df, U+86e4, U+86ed-86ef, + U+86f8-86f9, U+86fe, U+8700, U+8702-8703, U+8706, U+8709, U+870d, U+8718, + U+871c, U+8729, U+8734, U+8737, U+873b, U+873f, U+8749, U+874b, U+874e, + U+8755, U+8757, U+8759, U+875f-8760, U+8763, U+8766, U+876a, U+8774, U+8776, + U+8778, U+877f, U+8782, U+878d, U+879f, U+87a2, U+87b3, U+87ba-87bb, U+87c0, + U+87c4, U+87c6-87c7, U+87cb, U+87d0, U+87e0, U+87ef, U+87f2, U+87f7, U+87f9, + U+87fb, U+87fe, U+8805, U+880d, U+8815-8816, U+8822-8823, U+8831, U+883b, + U+8840, U+8846, U+884c-884d, U+8852-8853, U+8857, U+8859, U+885b, + U+885d-885e, U+8861, U+8863, U+8868, U+886b, U+8870, U+8877, U+887d-887f, + U+8881-8882, U+8888, U+888b, U+888d, U+8892, U+8896-8897, U+8899, U+88a2, + U+88ab, U+88ae, U+88b1, U+88b4, U+88b7, U+88bf, U+88c1-88c5, U+88cf, + U+88d4-88d5, U+88dc-88dd, U+88df, U+88e1, U+88e8, U+88f2-88f4, U+88f8, + U+88fc-88fe, U+8904, U+8907, U+890a, U+890c, U+8910, U+8912-8913, U+891d, + U+8925, U+892a, U+8936, U+8938, U+893b, U+8941, U+8944, U+894c, U+8956, + U+895e-895f, U+8964, U+8966, U+8972, U+8974, U+8977, U+897e-897f, U+8981, + U+8986-8987, U+898b, U+898f, U+8996-8997, U+899a, U+89a7, U+89aa, U+89b3, + U+89ba, U+89bd, U+89bf, U+89d2, U+89da, U+89dc-89dd, U+89e3, U+89e6-89e7, + U+89f8, U+8a00, U+8a02-8a03, U+8a08, U+8a0a, U+8a0c, U+8a0e, U+8a10, U+8a13, + U+8a16-8a18, U+8a1b, U+8a1d, U+8a1f, U+8a23, U+8a2a, U+8a2d, U+8a31, + U+8a33-8a34, U+8a36, U+8a3a-8a3c, U+8a41, U+8a46, U+8a48, U+8a50-8a52, + U+8a54-8a55, U+8a5b, U+8a5e, U+8a60, U+8a62-8a63, U+8a66, U+8a69, U+8a6b, + U+8a6d-8a6e, U+8a70-8a73, U+8a82, U+8a85, U+8a87, U+8a89, U+8a8c-8a8d, + U+8a93, U+8a95, U+8a98, U+8a9e, U+8aa0, U+8aa3-8aa4, U+8aa6, U+8aac-8aad, + U+8ab0, U+8ab2, U+8ab9, U+8abc, U+8abf, U+8ac2, U+8ac4, U+8ac7, U+8acb-8acd, + U+8acf, U+8ad2, U+8ad6, U+8ada, U+8adc, U+8ade, U+8ae0-8ae2, U+8ae4, + U+8ae6-8ae7, U+8aeb, U+8aed-8aee, U+8af1, U+8af7-8af8, U+8afa, U+8afe, + U+8b00-8b02, U+8b04, U+8b0e, U+8b10, U+8b16-8b17, U+8b19-8b1b, U+8b1d, + U+8b20-8b21, U+8b26, U+8b28, U+8b2b-8b2c, U+8b33, U+8b39, U+8b3e, U+8b41, + U+8b49, U+8b4e-8b4f, U+8b56, U+8b58, U+8b5a-8b5c, U+8b5f, U+8b66, + U+8b6b-8b6c, U+8b6f-8b70, U+8b72, U+8b77, U+8b80, U+8b83, U+8b8a, U+8b8c, + U+8b90, U+8b92-8b93, U+8b96, U+8b99-8b9a, U+8c37, U+8c46, U+8c48, U+8c4a, + U+8c4c, U+8c55, U+8c5a, U+8c61, U+8c6a-8c6b, U+8c78-8c79, U+8c8a, + U+8c8c-8c8e, U+8c9d-8c9e, U+8ca0-8ca2, U+8ca7-8cac, U+8caf-8cb0, + U+8cb3-8cb4, U+8cb6-8cb8, U+8cbb-8cbd, U+8cbf-8cc4, U+8cc7-8cc8, U+8cca, + U+8ccd-8cce, U+8cd1, U+8cd3, U+8cdb-8cdc, U+8cde, U+8ce0, U+8ce2-8ce4, + U+8ce6, U+8cea, U+8ced, U+8cfb-8cfd, U+8d04-8d05, U+8d08, U+8d0a-8d0b, + U+8d0d, U+8d10, U+8d14, U+8d16, U+8d64, U+8d66, U+8d6b, U+8d70, U+8d73-8d74, + U+8d77, U+8d85, U+8d8a, U+8d99, U+8da3, U+8da8, U+8db3, U+8dba, U+8dbe, + U+8dc2, U+8dcb-8dcc, U+8dcf, U+8dd6, U+8dda, U+8ddd, U+8ddf, U+8de1, U+8de3, + U+8de8, U+8dea, U+8def, U+8df3, U+8df5, U+8e08-8e0a, U+8e0f, U+8e1d-8e1f, + U+8e2a, U+8e35, U+8e42, U+8e44, U+8e48-8e49, U+8e4c, U+8e59, U+8e5f, + U+8e63-8e64, U+8e72, U+8e74, U+8e7c, U+8e81, U+8e85, U+8e87, U+8e8a, U+8e8d, + U+8e91, U+8e93-8e94, U+8e99, U+8ea1, U+8eab-8eac, U+8eaf-8eb1, U+8ebe, + U+8ec6, U+8eca-8ecd, U+8ed2, U+8edf, U+8ee2, U+8eeb, U+8ef8, U+8efb-8efe, + U+8f03, U+8f05, U+8f09-8f0a, U+8f0c, U+8f13-8f15, U+8f19, U+8f1b-8f1d, + U+8f1f, U+8f26, U+8f29-8f2a, U+8f2f, U+8f33, U+8f38, U+8f3b, U+8f3f, U+8f44, + U+8f46, U+8f49, U+8f4d-8f4e, U+8f5c, U+8f5f, U+8f61-8f63; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(./fonts/MPLUS1Code-10.woff2) format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+8f64, U+8f9b-8f9c, U+8f9e-8f9f, U+8fa3, U+8fa7-8fa8, U+8fae, U+8fb0-8fb2, + U+8fba-8fbc, U+8fbf, U+8fc2, U+8fc4-8fc5, U+8fce, U+8fd1, U+8fd4, U+8fda, + U+8fe6, U+8fe9-8feb, U+8fed, U+8ff0, U+8ff7, U+8ff9, U+8ffd, U+9000-9001, + U+9003, U+9005-9006, U+900d, U+900f-9010, U+9013-9014, U+9017, U+9019-901a, + U+901d-9023, U+902e, U+9031-9032, U+9038, U+903c, U+9041-9042, U+9045, + U+9047, U+904a-904b, U+904d-904e, U+9053-9055, U+9059, U+905c, U+9060-9061, + U+9063, U+9065, U+9069, U+906d-906e, U+9075, U+9077-9078, U+907a, + U+907c-907d, U+907f, U+9081-9082, U+9084, U+9087, U+9089-908a, U+908f, + U+9091, U+90a3, U+90a6, U+90a8, U+90aa, U+90b1, U+90b8, U+90c1, U+90ca, + U+90ce, U+90db, U+90e1, U+90e4, U+90e8, U+90ed, U+90f5, U+90f7, U+90fd, + U+9102, U+9112, U+9119, U+912d, U+9132, U+9149-914e, U+9152, U+9154, U+9156, + U+9158, U+9162-9163, U+9169-916a, U+916c, U+9175, U+9177-9178, U+9182, + U+9187, U+9189, U+918b, U+918d, U+9190, U+9192, U+9197, U+919c, U+91a4, + U+91aa-91ab, U+91b4, U+91b8, U+91ba, U+91c0, U+91c6-91c9, U+91cb-91cf, + U+91d1, U+91d8, U+91db-91dd, U+91df, U+91e3, U+91e6-91e7, U+91f5-91f6, + U+91fc, U+920d-920e, U+9211, U+9214-9215, U+921e, U+922c, U+9234, U+9237, + U+923f, U+9244, U+9248-9249, U+924b, U+9250, U+9257, U+925a-925b, U+925e, + U+9262, U+9264, U+9266, U+9271, U+927e, U+9280, U+9283, U+9285, U+9291, + U+9295-9296, U+9298, U+929a-929c, U+92ad, U+92b9, U+92cf, U+92d2, U+92e4, + U+92ea, U+92ed, U+92f2-92f3, U+92f8, U+92fa, U+92fc, U+9306, U+930f-9310, + U+9318, U+931a, U+9320, U+9323, U+9326, U+9328, U+932b-932c, U+932e-932f, + U+9332, U+933b, U+9344, U+934b, U+934d, U+9354, U+9356, U+935b-935c, U+9360, + U+936c, U+936e, U+9375, U+937c, U+937e, U+938c, U+9394, U+9396-9397, U+939a, + U+93a7, U+93ac-93ae, U+93b0, U+93c3, U+93c8, U+93d1, U+93d7, U+93dd, U+93e1, + U+93e4, U+9403, U+9407, U+9410, U+9414, U+9418-941a, U+9421, U+9435, U+9438, + U+9444, U+9451, U+9453, U+945a, U+945e, U+9460, U+946a, U+9475, U+9477, + U+947c-947f, U+9577, U+9580, U+9582-9583, U+9589, U+958b, U+958f, U+9591, + U+9593-9594, U+9596, U+9598, U+95a2-95a5, U+95a7, U+95b2, U+95bb, U+95be, + U+95c7, U+95ca, U+95cc-95cd, U+95d5-95d6, U+95d8, U+95e2, U+961c, U+9621, + U+962a, U+962e-962f, U+9632, U+963b, U+963f-9640, U+9642, U+9644, + U+964b-964d, U+964f-9650, U+965b-965d, U+9662-9666, U+966a, U+966c, U+9670, + U+9672-9673, U+9675-9678, U+967a, U+967d, U+9685-9686, U+9688, U+968a-968b, + U+968d-968f, U+9694-9695, U+9697-9699, U+969b-969c, U+96a0, U+96a3, U+96a7, + U+96aa, U+96b4, U+96b6-96b7, U+96b9, U+96bb-96bc, U+96c0-96c1, U+96c4-96c7, + U+96c9, U+96cc-96ce, U+96d1, U+96d6, U+96d9, U+96db-96dc, U+96e2-96e3, + U+96e8, U+96ea-96eb, U+96f0, U+96f2, U+96f6-96f7, U+96f9, U+96fb, U+9700, + U+9707, U+970a, U+970d, U+9716, U+971c, U+971e, U+9727, U+9730, U+9732, + U+9739, U+9742, U+9744, U+9748, U+9752, U+9756, U+9759, U+975c, U+975e, + U+9761-9762, U+9768-9769, U+976d, U+9771, U+9774, U+977a, U+977c, + U+9784-9786, U+978b, U+978d, U+9790, U+9798, U+979c, U+97a0, U+97a3, U+97a6, + U+97a8, U+97ad, U+97b3-97b4, U+97c3, U+97cb, U+97d3, U+97dc, U+97ed-97ee, + U+97f3, U+97f6, U+97fb, U+97ff, U+9801-9803, U+9805-9806, U+9808, U+980c, + U+9810-9813, U+9817-9818, U+981a, U+9824, U+982c-982d, U+9834, U+9837-9838, + U+983b-983d, U+9846, U+984c-984e, U+9854-9855, U+9858, U+985b, U+985e, + U+9867, U+986f-9870, U+98a8, U+98aa, U+98af, U+98b1, U+98c4, U+98db-98dc, + U+98df, U+98e2, U+98e9, U+98eb, U+98ed-98ef, U+98f2; +} +@font-face { + font-family: "M PLUS 1 Code"; + src: url(data:font/woff2;base64,d09GMgABAAAAAZZEABYAAAADcYQAAZXMAAEZmgAAAAAAAAAAAAAAAAAAAAAAAAAAGYFSGyAcbj9IVkFSLwZgP1NUQVSBAj9WVkFSMyciAIwIL2oRCAqFzgiEvVQwh+Y8ATYCJAODfAuDegAEIAWLVAcgFyQYg3pb1yVzAXd2iOF2YF/Cm/9cKtixF3E7oBTZ3tYfOkAwTA/gMOI1mf3/f25SkTGTwtN22wQAEJX7k+CRpaBUNaHrMVHHvKxSBM2FGpo27DspscDngxqfqH3dCmZanrQGJjeCZIh7xfXa8E5KyKyyj6Ef85bV3AtnycyycqYpDf4d8DUlLrjm6EnTVJCr0ZspDdsqNtEllyBLrGGC8CdyQY87rPmS429z9fF83SOQSXfisDRWH5KWftx1TyRyHJ8tOGjngEMs7GgcTjnO9x8HFhyiyZ1OdlGeghCNM51OOynEVSyj0oe8HLRXvExphGK78cTbmOktwJTL1wFDEaRomsnah+Q+VfVfkv7/jzHv+2aISjJJNGvuEQ+ZRKcSmsm2SF/bWbXTzQZIzyLIHCQiQRCJBBkiY10ucyDmLIqqKjVaWjr20qVzvu9Y679rfP+/679TOtUK8LAW7NsLHosQgg+M8e3liWd5LOmtN4Uk+V9kkmVzSDGgXlH75356z+aP1O7n53YlchN+wn0YAKmSsNMFTCF/QKWsl5suWsy9utfqXRUeO5WtEloFtJ1/Yf1aflG/L8BFcBuc2lXZy+DBgbFAYDNXWastT6oka5xl+PDh5PfWzH15nheZLyFL2UGAa1ZyXIYtURbomqXrnHrh37l/KZmFJzZTjWx2hAWEI/EURfFS/BDrlG339vRGZM6UVig3scEfAAasuRpG1pBfMhpppC42U1Rf2Lf5CdEaINnS6OSaZrf5CVPEPHCeSoTpF1BIOblj5swMj8m0Ok1pHNV28L2ILvzkL6v/IvgEX0gUYKmqu6qJ503nR+8/7y8gmKjJdbx1d901bOKhpkKJS5SSEvDiTzWtr0QpBWgZJduyXdxdDZ/IO3vG43FrNYfr3i4zvDuADVyAtoUJgS+CE+L3k7HFfxzH62ksr0VDtQTpLls1Of81rShZGAoFfMCIH6yQ2JCZxd3tgSU479vLYQ9nj663JeoBaqqqZNtplGURW57/muv/HwJRIhCCaNOip/sfuU+cLzadshgN/2Ckcq5Yn3YISSql27QkqSjBJ27+dZ6GEQeShdR5/rg1/5qT5hqguTVo6ZIoJWPB1aoYPegBIzciQ2hRQomU1MZAxSywwUjs97H/el16yifn8Zc7LYg0CesIpwyMIEIGmVN0Glk52LeLlKYV3r0KZ+RB7l8/qdXtL6U13TmtQgJjK+SIZPMbGyTXN0EA5lb70xH1IZ5NEplSiDJE5YBx4yW3Y+El9ttPxEDFq4hsu3uYhdq4z+7r9ejvHuyUTI1wszvHkDDjVlW1//+9qfbT96pE9SOp1V1SJ5D28qI6ljpC/mlKsSl3zoPpD/HUfg+vqm4B4MVFCS4+SvTjBUwVH2Wr+EjJxUcSQr2qAoEiAEpQ+DIle8mU6RDpjjLpJRceIBosimiwSMlkiU4gnejQMdl0ppMcktxBSx3UP6aZhhr2ZNiT8Q/TeQ899LCHfzb4efTNdvz3txvvBnFktQ2kxClAjTlhDP773/vOZkJ3eVFv4XDEEe/mn1/3nXVT+qX1R6Cr9G5xNtEKjf+fqn2lVaTYXz2WPbPeZv9sEI21SbxBUrzlyAIeSAEkxQbFNmy1k76Vxqp7+gOgA0DKrrUuWh+lPlsfRgwVzmbZBkG4UzbTdm/1dHJAMuodNMP04Y6wT5XS1b5Ckp5Ab2a9THoTKMBP4Q6I7vSGO6Mkg2SWZJL1ZqaidOkUXcq06fIfxCpll86l033pUuW3AepTFiGwHQ9GtsfAU+x2STABCB4ZtpdADR5X9mQdMuzPkHW1337yDNMhtizNaEoZxeRw+nb78NTs5yzsO+6rZNYMKnJ/TFEnVdrk/7GZhW7tPRblUiQ/AiaLG2Vq/3KP5mbfl4S+cqs7aQHDNnjgtegty1Vl1HjtmVYIJBS8jKwofCE2+9KyJI6r2DeewunoGxOYJRBpjnybid7TicHE/RozPyjcJV3nJb+UKgIHqyKuLaWeoqZ1YndMBWxhBN81MtZbY1oi9x3vSEr9Yz+tXwxca/NaXi1fd2EYESkjoqtETd7+DZ1fInTb7927+9vuYaCCmZiQyTQnBgTAYFWhEKjhVKEBOCdcDkB+5+UeyB/iLeB8iKeA8+MNAzkYukk2mynH1gvMWlN5tYBMFGMw/w+g8aGo/xNGkD9vZ76aDbz9tYSnxuV0xDSLTlRos9GefFgVzMXJUofS6VQQ/nIExBcbtnaN0BfWA0BTOJolOECKxcRsZXq4AdyuQS5RIjCCl0NZC5FqMKeY9CR13l9EMbkxfkIkmRhEh5rj5Kmg2zIx4r6xBb+UGRgF2Cmzl9YR56ZFII4cwuuRFt2v02iSiSVK4NiCL3rgZU1lpXiL03abmGHvulEJtZuqwe4k4eouBT1eb2757SChGIcYyC231kSE9Zb553O8nCmpVeV0jTA6eyR78j/K0hfz+Z5ND4jhDhSitg8bB8SUPaPeIPNCJnye+9Z8IqEOpwunHAAeIFdJiu5TW/dt6fIoJT+z2EGJJ/dlgV8YQw41tDCCZEiDLBgDuRCEJmiDTuiHWXAenm9Cg4MgcljGeVzHTdzBCh7hA74sNAtr1BASE3S48BEiQ4uBBAUatOgxYgrWbPlz55Pf8Zmv3DIgQGCYqKGuCMWLqxSJpZZJJVVUV1dHfVRTW31NNNdKW/3rz/qmOw0FxZSI4yKYlUARI06SFCpaVn1EILTqrP9xI6KDm1Ynbx1ljrkWWOV8Dz3xzkef/XXdeOejz/61dmptl5OwMiKnPPJLP+NMs8hLPvKbT/mWQdz4GUXFmbsc0YfrI/fF9Kn6tH2O5Yzl3svDlkcuj10evzxxedbyhr72vl19/T+J/34F3JcFP0XPkSPVJrvn51Pt3cJPFVItiLejdxCt+sX0vqOno6fPx3um9Ao/EqFkKGJz/Jfwa+H6DdlswZAd7j2OC7vby+AOaZNcqn8DPLmTPNETOSF+UWKRUDA7rnKZC5znd07Sxzha+PEiiCMrlsyZMqRFgx94x1vqVAlAAAwEqHHWsEIJilEY/Af27NhYWdgldp7N2CZbZ5QNWJd1WOO7k+M0ciRHBeNJkYDnzmeffPTfnG0szUyMdLWUlRTcXBztzdHXVZOVkhAKjHwr/3sOZiA7sjIrsjQzMy0TMj69GZlF5kURZ9ppppxukthxsS79va/4nM94izc5w2P3XPGPPnPHLbuWpjatzc1M9aDXeqEHuq3rOq1t2qJVWqGlmqkZmqJJmqjRuiraaV36hxgC6Kv2dI18cc14dgBd9WxL7rmmp1fv6aQ8kdH6DKMmLzIiSD6g1ueKNLAmQ1ZPsZoceRU1BYoqZiht5d3/X7UZf6qhH1Oul/tHnz+vnSs/XZ4Z6F6oKUqw/C4REOE+GdrroT9TNPJByUDKSHHCrKsMayf1soNXHOhZrJqXVlPIpGxW84iY2Q9gXZZoooRnAaoAYyEEBnmSFKrKLr4nMtBS9sjyRMIXJGIhUovhehbJHI9mwXeXxC4nbQTy6BQdJLLXjjmukurIIIRkW11mETw5SadoJVCyoBBbwsayowTskmU8mYQEClucMw8JLRwiWa7RMwEzcl8VQvLL2+xhC/cW5uLbbsibgUL1TFpz7MbN1GIZp4dZ2zXJ/SlnbN9p+dSIZpYWrSgcjZVurfxTro3I6YuRNpSfQnKtkIZyNbFlrVl7Ok5mmNdTM7Rl1+8astZaqNlrvpbGNhoySvrYzTQyjd1uqR4Oji03eUShwZiZlzQszl2rfTKzcViqcNpDft6xUkJ9dbjT3pxtHt4Nd/Vj4UYi1ji7K+zvGM3QM8yOqTTZwo/46l2iynDsXW/hjlUrdsl5cxMMrya9jJwbwkc4UjWZqIWKokg7iNoCvSrsNLTy1UXmze67OEyjmPd0LobnS4SJdwsHO3P4szDAUNG2+vRaJYYCTPxy/95MHHTVNnh2S48Qz7w3ajYQsSLK1+Q5i2rUQTTuslSZk4aIFlp5VNCle1ArMEvsdxOrXLBR2YF2tH2jHW5hs/fw4LjnkNxffoWPezNpaHs2di2PPdFoWMz40lDkU5UcP9cAlrBgDZ1xB/fVJORpKRtCadMonCKH1u3SfUVSJao/nFDr9BCf48qdaqd4GlrfLx9xeU7D+GrlvYk43HOb44A7El1d6dlQkh5r3NvNi1sx8oXtPrcE3rZcdwmuY1S+kIxEWNhE+xha1q0SWEAriAzqKbjEQ2vb0OHVqzw2mTxBrx0xMt4VqBU8bZKeZ9LnX0IVFW9seD6JjQ33vMb2+ZnoCl152yJVaR8rfBbULiK8yo7b/XzceNc0qaanmZo3Yi8RlOQAcr2AP+pE19mQvdJsXGMYIqUwRg0Rmxpyr9gEVT2XOg4QHoDYXvRX1mVi1UY9MiuJ62TtrNlzhoUbhHbena9Lv15i3gq6jFpFsjDvLiklXn5tpmR3YUldMB7KArHJNkfUSzog9GbDJKTfAeVbAsq+oa00E8jP/GBzbfP7xe6g4pYcU5XIOtlz3udobWqE/OhL11XswFvSVkN5Bi7DB1OPYs/gwzp4oI7IO5h73cdwE+wf+sfYt+FYuSC8ixc3eLXAHoh3KzcIyVWmqSNQc/BB8UQqb63Pdm9WN33gNSYGe4RYr6LrM8iAp5q1cwVu5eNlKxRbbBIeCBcuJwpaUye0FTS6ARmKbfD2qF85idHksfHmYRREb1VB5y9O5K1xmPKutttI6o6tMZuXLLYjb4lDLE0kCiDJhelAMVydAcNTYDmc2yLFWblGrJCql9f3R4fID5x3bvaq1W8x0MZbeCnX0ZbL01/k+3jWsqoIssCvBRaxsH/W3ewzWQBfH9GLvdDunDbyob4hivL7VStGrM0x+lR9ROMTPhi5qScAhzIVAfdT5osI7dpJJ436m00iJheCz2TE9sszbIM6xUiGn5swHdyNLnfFyzGN8Pc/7PAuWW0I8xHSMYvoT4C19iGPByuMJwXpxrnesHiHhvS9VF0WTjC3/oxSrCOTEpWZnugh4tXrwBOvD45KGDmL5lmucyEmBiR0E48ys0Eo8e7ItPPdoZU6hvyfTtmLd/wyW9KPS33/ihv+X0lnPnvAEQdlERfD9eo+uSYuxSjT7oJTYw2Gpf0rIavNd+p6UH07dqmj9negZFxwWEzFvaPkPwuRuaPAqPwcf1glTrJpXm9+teDB6r/6HKslygznV0IBeJHQHnvncQGSk/JQE3ciDEcLuub+Okx0Vm/UAMgaFf8TEMN2f35lvdmQZaC4PkonVpjIu+yP8i/XJ796yqxuw4f3yvhfKhfNGteYHrn+/sAXLctiCCk1GCGbJfoxCgCm9/VZ3ZP3+u4Uxt715NqOIpqIm3XtWP72eziXyzXc5vxFIHliW3Up6Bv1oz47JxihY6BR6QMBsLCYltwnsossCyHYN5eACA36S6cAUF0FAu6T9XJ3XWZh6ngreSzLkD2v44x9Y16U1xu2/M00G/YdBrDM70HDnaIuAgKA4VnGUaIVy97CnFaQDg1aaMDeNr3eLZaaJ/f4XXteC3HZviyGwd8XfZrJREqVaUPtuf/BgtMnHAA4z4KYnANwQ7VslP7wbeVvxLQWE7gaaUncJiczmq6rIJ3QM43Wr4sN0R7X9IVjD5qu2qTuI1M1PYkSenJ460YVtNBh/jk/HEyt6rFZkiZeoaB9OdLGGgsqGutzSAsF/q4DIFEJEUSEttbdT0eP7jLRivvaaIu+iJKwiWMHouOxwJHkdeTQEiOJt9iOB06cg3gn2tC7M2R/KwWr+Lm/CN4dOTaEZXtccLeVnnEvQKcZ07i9Wgh2WEiPsfy+/cYeTySkB/lT9o/ZjWqExBRTeQxYeYXQW+Qscl9DDx2g6eCNF+wNmp55hiK6crr8LJsmEcs8Soc/bkEOdxmux0QXfBocBuebXl7j1nZ61Hg2j74dOG9TWc581wplQnNwNJRKlxx/6jJ9V35jRGHdgHaWTSkxM41MBu8FHU83zA5z06+whhCBSv8iIhW2TE3DpN4AsZRum950exHNXYf2PoHnY4wJx4K3JIJ9IcET7KBBwTDhGIK+1P0BmXDYpvBs2plusRxKfSRK161ODvR4gDc41yXnKxUYTODznCAWHVKGCBO90GPTRqcoX94XOlHXpi48RvOktk+jyO1DHgCssPi3Hn/byriQKRBAJ++9+RdmPnH8RGc8UrxcBlakVgqh/dvygDoghpZf/oCWcwoOz2obAqKkryqbi1N640HgN++DqkZ4ARaBK58uo9ceLaOhRGsbaUOfB6guDPH2j9b1Hmbv4E0VcBb/FaqwqNjilGWSnRKVaFho644Kvwp/+KaDRgHOD+r+VbsKYnLH55yLrQys9jlIz475AldAWIYUKU5gWjgFH4btqKElx3zjfx3swHrAU5MmV/FYbygqznk+ioSH3zpkxnNKqotAsIosmNlvnUJ8W8hppj1vPwpxcDoIgv/EoT99T7yjwE4hBD/wtG0UmFQLFmch6HQ18b2o69vd4WyMLbaT09Isfk2yLd4G3se6kNcRxt87BdBSCpRhGmoDsfbrRPFIQwpjrkjoFsz+qgR/9ed/7Z5SVkED3JFI4iyRiBYsmfkzd8CVt35l/zvdatwnYLiKW8zAmefrhUbYwZ4FEbrJ18RCyQuApiz3D7D/4kOuX3aF5+EIIzr3abgjScblrU8dXxaPGqOEFzSp4mYZYo3XyEfwpLqRE55+rResMMT6w2Xgrh0K9K9+harOL65wVxw7/40Lxv8o4OneTzHTOXr01mOdjqDkhm8LyVn5fwDh6EE5Q6194DJLxZhDOCA2dc3wkSSbYlp8MxBiOIlDYPcEtNN1CK0/hEITfdzKwscdpV4C9TfC/qmH66tz8gYJ6p2B8TDRZ01735BbqzrE+c1U6cjS9vgxELDdgg8aYMiOaxlP/dX50RH7c5LzWoopm7uIQYQUFt1ydnzqUPdNMqwQDA43ruOz7UxS9sVtzG6NnNqMPROy/N5X3bF32GZ2lghBEsqvQ4IT/fiGCqRuA46EMtmR0sPxmg0F3xxjq7rYceytEs7wMrdoKveFDytl/FhtMk8sHIpH9RE73KmJCAySFYkZTFYoYF505rU6E8IrcsBCKP31E1H7Nz1Q1m7TNLmjIPB0jHWFPhi4awIT44e7lAmiBiS/C/A9HxxrcPIiCq5hY0NCRQdcVEBpXHxjaTIeB8q9EOtZwBzB9x2OM8z3Fg/xPGW2+TnU3PUlYK8C/8KNMRbMJan9pFbE088CEzlfoQ0koGPuYUag+ehfjzp6sfI7t6bVVbsmt8vydvNZVSwKMw0acrt1uY+Foh1Z3qMSfsglCz2ogNsh3Nc6TEpSWgCRNyZLBlRl996lpFuObrNNtf7xoU1Wmxll8LFMd9GwZHtQtosgCfjKHOHTFR/CngIY6QmXW+RJ7MqLZ57ugflzD2FojXSqbxfpx8T6+9SkzA8fKIgxVRAEFg0POH+0I4ZsFomgQcWHBbdq/O43C0130urWsdz6/3VoRhfoDmvTIn+UiplBrf9T77sQHBlJs4ylYMpV0Wpo23djtMXVdwr1v2LKTUL1yq9zmIRuNEe6xjHafGRLLyKdXvkIL9i7krKtSp/3TexA8nuZYcpnGTsiI4ItbhN1b/u47tkz/EWWdh1CKNg8Vh9YtBFCE6WrWsPLshuHiRF03GBSHQDf0LpJ/nVrGeS8S6p1ulu5zM8qdpk4kzwaLZRJ88dEvV2frbkK2ZIEW/Zn30jMZU+aSWiLCir965TI1sNUwtU1IJZ/lcWCqy4NAR6LgHe3rKZXou4ransyPz0QAJr+maGhF6nKpiN78Y6ifphdZeEdufqkEhLQTU+cTRTSgDJC3OoOmHPbwcULZVT79S2H5fH85rsBI4BmBvvrMwwTqtdvofta4/UasxmNrvROqqgjWoMZyTH6t7schN3KmqchShlh4P697BtOCjbUJn/yG8xNqK1GO/EFL1iHjdR9YnMZj0yrPSixVtJ+i1f25js0nXDPfEHfljZ/G3oH08PqHjUkILeWirgNKsQgmEkkPYY+hyDGpFf3qCJ9RPOBkrA6MVpchWgNDkmZeK8W9fXAa8MH1mrTeFB7If4sCCIqmd44iWsvBV3XjzVttlaBSUfrfMM/X4lv2vzBezR17riJz0LsAcPC9tfq0E0KjsacNKr4lF7YjyVYyBjV/g5gkR0rBxqEWVpzbDQgz6oxOSqhhLnYCCd2vD7GiIB3ndXzQi2q/P+B9UIB4msnYkY0zrOumIyh1qC+oChMQ1AeGnoVYSr4qE0P8KLikulyTtxzUSbQs01/XRonXw0IsI9+jpDgaIb0fPat56/lOWdw5MMJ50Wg0YOJ391bueeZpqGTsfPpl3unFO9iD7ErzPpVD1uhqtYIV3AjdJE+AA4wYh+4irpQd1BUagcldHRZKG8fc1JzrChj1fxCeOhGI/Aas+reFGicr4ctiQg3NL6PSVouxi81gqTKxoNr1zW2MIhcPePZDJiX20fSOYWCoxVyUoU/rUR8Qu1aP1AI6vwbGbSqqJnvehT6GfMhExVik8z/hhr5u9W1bG5+17AQgaRtRzpKXVnufAhfabQQugdGHAgJ2AelBfWBaIXfx8037PtjEBEGUPG6qyd0YoyqnpRZ88JcaNDMssoUyqn76pfWJK2edi9PQhq0aiDhHmBOy/fa972QhUARkl4iKydhUBMel/MKaeLMVsGus55A81s5thduF7DpCnxWvV2V3+iCslt0whzBO6/w6ppcCTdjiGQ8tGIEMIEw0Bo2hAnPsZENLuCGTr+UrCDOY0dPWAzjURaUJVnFU8MrDB4jTWuoMoeSRlZClTNRQ4TLq6ad1t6sFyC+NGRzEELzIagbdq8XGjYUEd5LjY3LOyeow5DunZgGb+SKsSNRoswZsFEV7M9l+Fx+31XjEmDtco90qTgKqlnm4BKFMvRZuS6J7Ch8pT7pwVt1T3dW3eZ9GhlYhKi33M3qpZAZ+vWT9UR1M0OtGcy6soxNWmmwrmX2a54jiNot+sc8JOxk2hOjF2obJepVEm9ih1HKe8Y05elriSHDahzyweyFFjKMe5JMboNGl3rLzollyEb1FdSXg3oD7fHTGm4V1sYhhOkCmwdcSjgPEeDy1eaYI/D1jCDneoiHA3LT62nvJAIbvePnRlkgo87mRee+kLNfmH1AUZOYVOAeJv6SANcXJKZaVUZeQAif7yfoPxMcqOVSltHHk97qHl3+TD+EyhkeUpN1QRN9UgrRzNU/tACrxadWzsNr4ABD7rs3to5Lw1tw95v8BKlkw6QE56EWPmHTGeQ/4/VQIjQqlk3PxjSiIuszt0ooQrvH8YMXf+Xw2QfnMBRSPPB8H5kLr3MI/TdqvnCwogriotC9kU53/u76fldBPmFsR2SmBUOm8jx5CwKPI7B+MwlXHDSFKQhDPxeVFVd1DVDP75BHgc6VMzO70e2nzgmk1oduY47T1dFVaJ/gfE3E/5DxPLf9QIrQ8ruNB0LVmEDStdjjbM2CdPF+/OoXvY0vj1KPro5wMNRHwnIO0fZVi7BmfK2k/AdXgGBs9cVVAPP60Hq034Ad/s3nfeW+uqCo8HbmFm32zoEIg7YK2VyK8l71xtX8xq+fBYR1CmzsltU2zSN3R9Hpzw8wZovn85AqFZbixgWWnPit2fmi7ew1cAQ92F0kOoMMYsOgoF5Q1oVWkl3VjTcI6zk4TfJ3sD7RUvdy+9CZ2iwjt0Q6b16/embScO9POLq+mAYwyGA0QO1deflnNw4Pjm0K+GDLwNx6G4Rt5E2wyK1Uhlq1v+ynr1ACqPzd493qv/dtlNJKNbLT+61t8TIQHgQW4XbvpXPwhbxWHTm9WjykWYc5hBdRjFyjNg2Jn+f9QYwgfvaNCzr64PD0FB7wW1bCHxfVN5kboWv5PG1FK5xDljcc7bPWpQ758ma49PbPOHhPm2vsKcQQRe/SRImArbfZoldVSmhqyWxNrdMY0sB8kUNyWk3sFMQ/qTWqLmb4KAHuRM0gVKRkfMkn8C90ftOqrR15f8QDt9JjUGhjS1T8b/jFie270pgG4mn0yApoLY4R/Tj985fFLMauq5oGNt+yNe8UB5dwnu1xQD/qZwTEN3MiKTNqEQ/McuBvy7T0ZP9OP7TYkum2DUchznQg5FLFbMd+RQ48l5kexI7XaDbt4nU1CneAa7z4seI9DLeDUX/BHR6FMQUbUITmvkaUxVYFUPekCWSU1wrIo90LtUmJelzrEWHybQVEjBfZ6iGExbeNqdmzznjuqLPCNC9ShLEurJQt/ZBYzBHWyGzw3zuaTox33pu+hZ3jiomiIsrazNIJ/WtGoWAWqIKNWXD4vOEQTRJgLYZzU6uOZXgjdeW15Q9pk0UFxdHNF/oPeMbR6w5QFbRc2QM5pLl09+uO+eI816O3qnDjiyCEwGd4QsVbl5G+LG+9ZeThlWzQDWYbICBNASeE0Mm6ay61Wv6mteiLCZeONeJNnwzDhEqsgB4NiYCL0hCmOhfyoMR6VcP2OcGWhqBi3BqE/3bHEK71lI+K8u+S1sPVIsw3t2SG6K/TaxcrMED2QoTR45MK9RMKIWAoZucppu7vYyON8w+zLvHzN2EgqvyW5z+FQCDBVmVIcST4huJrg3KThTb6sXPpRBECtWwdUFmjG/Q8qVlfKa37zfPSyUKFIThTJQ5lCVSX4En/ynSVsJlPUOOAt4tvKmkjx2MsXqppuJ5lFNfriGcsm4GP98Du2ZfyZ+vSuexIM4n2MxU4AFSePMGWXJ2kB0vWqAZ4LiLnOs9g11zIgIjR8eeOsRcNoBmqoaRWrWp4db6Vo9HUVNwWXY2m55jky6CT69DpzUzoLwYPbDKo6CJ9ChhqPHkALM1YC0zNDvlQ5TaC82mpdOFSA7ZPARa8GrgKBPzlRNrKtKT9zTTa64ma+etWFQvPNbNTvmXgwJGu+EbV4Nfmay80hYeMbPn+o+HEisAG5HKMpmRYfIrCISErGV5ilQRpC5+KztTMbmkxMWvWpXAzG7BfS/QhcM2UNA7r46yNcae2eMH2mjDW+0+2eLmmdXJhVTMwdFpBMgfRNNOhndX5D38zTvggRitHtRIliinHa5XidvIcvWt5Aw5f5RF34YYZC3F1j7dWh0FI6TC8zEfG01bXKwVPaQORAoOii1J2M6suhTljYYXezKKKZtpmNFp+WffclmSwrMlVeYtlGUc12vKyDHisCOVM4MXRCHR34LmLfO6MDAApdYxctqjc8dlAMw3t8R8CIuYL7ge/029Q+owybenCnQkLP87tyuoiEDEwo5iGdfxKHCV3rUuEfaqoCcRjM/G3BNBVf7GDpWlaozR9nCudoqNon6X85hWBQ1qhJ/BSy1PFaM6C70oHzdUYT0aBKgkWQlEoQ8vOyoHZlebx1du8OK/uz4gP2TuITzxqEwQUGCndlgIT5IIfZVFWbowWmeEGX18BCV3HOZ2JML/olpl+veVmZC1tRiJinC3G1Ex5KmNvm1YxMUQL4M1oIFbc2FhTdLMf0CrsHpQCTfJv8L+oAB3qrZFQd0FC30+F6YtWmZRCoMjRsBlYiSV3jndsRui6K9nJUeTAHS2UVyGyqTxxbEGQdf8acBq3rcOu/wqONA+rMczfWkygGe6vSuvKaa01lCH1pTmNpZlDhpUJk/9iJBzFDMtE6gn5Zl3TUy0CLfkdYrcIsA9dv2BcaWwD/BOz3XQsG9JIiqRf+FCxWpQwi5jy2cl4X/GyU0doOr7NlEbSpn8DNkt3w6q/mSnbp18q5+DNk11TvPx1ItpvZ8a9C5jS44zkenYMCPjucwGRSGLyLJP6Ixh4MGf+gYPXc6sk15Bz+IZUN7aFZaQGgrthgufnVP8I6/f7v0BuxIb08rdeYnyRb0GjG1daVyHRTxFWImr7Co0dX6yRp96PSiqEoTC3eZZ089UL39yZKD2hAOAJYOlZSHB5dC/2XngJezroM40DtmMJWfn0W7XRmgfyyPDV4VQD+4Kv5ae0VJVOudd3y2/zXp+7OsWP4oHXy4YBH6iLpXhq9n5od7Hlc4m74eYXJppOB+vgRASc0jg1btZDUwbkCzi4fLJ0yYU7OLT0WtELY7zijJY5VZsvyfiNM0jRP85ZIuaDTPPVoEyoA4GV4VcBgG8JcFd6m7t/DzYXnbQTZIEs3spCuVlORAIOecO9jTyq2jJC/Kz9mzRAY3GaYs6ZJXln/Apv2CfpXDbzuMRdq81mE3m4qyT/OcmXzkQZbZle7eFMsidR4VlZrUuLwSWlm/rBOXfUMHOoQxsI383njhDpGlNZ3ADNvWwpc8j7LFsLvBZclhbmPCTkGt858uoAms7yQp9H6N18CXnhyCPP8slSj5mcgLKcrF+AWqk/FSYaLz3zoEYrJllI5hFU/fokkd+gSnMMm80EjG7lkVbyMojfOIIjwAP/nHHHtys6V7JCqXS5uKHjDAQutMUahQu7L+ybQhyr/YehTuVjaOw2fzbbj/IUJH2mB+EZi66rEfFnn8odCHQb2fwiRsK4AxhZsg2pTOpsgJtjiioKWnk4m3ZbsH9dHBJPyWDcnMMwu/fqvwdRuWpjnE1P3FqFDEUldteYOr7JgsoI2hH7Heck6G4AC3l8Kj4vvYiSsTZEHzfkklwhnKRmfhnpviyS/n9Bc/Bk9cBxBFNhkmm5kdhrlNzQqIczw6SknzVReA6NtrWWYkbuiqe4M1ksjLQdeBO6qMaIm9gDv9HJB0kt/s44ztrhQQvka3RR8LXNlvCyfl0QQ9Hh9SkgmedXXPEgDXsrUImH/KZ6bfzrceNintcr+4y4J3u98sgD1hMNTYTO0gcZL4x1Wo7ZMsjq084QGE5ZefYxh3njAFn24ta4p9dWdzJ6eFhwR5r77EcYzP7OY8o4j+VEx+BOAoLOiPVxkm6Phs33EYy8M21QiEe1laztxGB+n0CwQHLocVog9HJbzUYTZqerBolChr8YT9KW1okhXHpPdXTypw/Ux/XzAMH7ZImPk4WjwPZkMlJobwL46wMxakDcFBWw7QHtoANV1YRGJzgumW0NwJsF/8ELPgxt049/28c+gldldhrTdBhyxtQsd3czbYD7rOwE+wMDGfUIGatn6QglW4LDnWW3Bhzrq8KEYtktqY0r5G9FE1WgIpCfjRy3pOe9OlSOV29+/XpL1Z1p8MQ3aXZMhaoiP2XiKW2QSpqBzCTKsmwu1gjSEm57y4Y2O8IhjyBzfodlgFsAPngH3jdrkeFz5V3okb2FLleJHnTWtHRBqbD3CxXSjtVwcTNu+OhsFFiNEwBYVXF/Uk4ifA+NxE2s1JNsTVDhPow5k14XVuOgTHMAZeM9Cx6rPHtSdER2+THzMjvv7rj9T47Ukp5NrOXHdecB7qp5MRbEX6igPSvLZEOByho2lC9w8tKGPbcpSPIFopGydmBipUEZuPs8TPu23WnH2XXKpvEIzrdgXhtkFMcuD72L1AzV1bO29PPMWhY0Grk7FKlfYlijKZTBFMevZ7aL2B53Tmp7NOjRygFtZ8q1Uc3kBB41FdMd/LG4ZJwbhnC340eXwzP0J5PZkxKgK10qHoi8SO9Un5Kr7QltnNqzuQSUxJu6uE1fRC3lCdKaFZ+kKQdk16ZbnRLt5SLFyH+Z7BwzZcVGjQBepi2ENpcFdNq0LcJz/PdHGtbXNCWmP6Isl9ga9zeibMTiq0cnM4oNN0UUailbWSbV6d4sginQbgesRLhgLEOeL3LH3mOn14Uaf5aLgBdwq4Y8/7F81rbZUgVWOK+AmKA6RepqFERUvv7GOpJh/HTXg2tJUienjBEk93SGUNzoE4w+N+JttGO0YWr2IE/h2bB0KsvIAfFg9WFEwY6d8rYA4bja37S3aLoZ2twTvQ3ddqGRC3JY8cTmyy9+5/A5ZI3sa9wGQFXjPaCOI+Lg9Sipl0btLg2FXEMcymwXJwFwL6uomH1WmLkCnDCp4VjKQxmxR+kvv6kec+47Ij1gB6D0IHq0qMlDZl8zcWWxGFYwp0+Fd1tajwNAXlDpEaD59V2v5eCgWpDdFtvzOfGE453p0/AaGmCeKCVovnF+II/skd26USeUFhMwR0XgcwBPYsLC86GVqbX/mJWwyUQDT1WQGlLBsYajfXKzSDbkErQPVfdfwq9chD3pHW9S/brNNmHrBv2oNPRiGwpWHl9VfrEvrOJYymuE8yAxTduDbA6+SMUNCLZ4J6eRvUNz9seGqpoFKxgnJKsSJTaloeqOF6he/UgLSgLzrXvi1E/C9yhfAo18jfS48qbBc6hVY7gBF6E7tW3c2QZ+BGpV7+ZRZzLXBvU8nTZdqSt0vi5et+NRrlj6++EXhs1bhJvroTvZ1fR6NM8RvqY9yzu1+rEjrsoezEqVFR5wHNzksv52ltl2pDwFTgy8AzLIUCuZJibO+iUuxGQqVGkIyO4wWcNlI1RLjZVqoglacd4fW8OGnfgCYgQyCKiuFtwSsroxHDCw6apbu1ew8/rT3MzY97JyeyS9kYhRLl8VQXrIkdfzYeBbp/bL71DV6H5AWNKKn+cnkopjiJ44KUqqkS3iurmjNKeu1LRaNoetQGFMSkeSK9kRB6aHaQpqMOFlUMXK4PmWSGs2L2Y+bvrYdPPwMRtFD04erMScOcB+5dChSMAo+GNprDt8ltnbq5AHOeSpBA/uxKY+5P6Kk4XSGg68GHutM9GpvDtDxgpZP96zWtkMUfhnDfVXupiLqV2XoOUR8WC4f32o6CvjSrSTMH0oRl5osbSxJrLxVNChHF2ekcz7Va2Kqdbh+qKnI7NO+ItJZXu99COscghiJ+7ukPmgZKWI+NrUuFFzDdLsXiqxBglyrgLhv/kWMEx7UCpCGxPRb/a4Bp8Ep2AQtgPhiScLh8DWabx3+xpuEM/4KeoGJX8PIfHztULOU3aFsnHF08BfyTXzKVwt7cP/9ehH2rX/ctBlRbDxk3NolNskTiWD5PzZazDslHpXsu15v3GcE3myR4n47H0/K/Qovv0omi7eeLeOQFDxGDp7O3zi1EYtpOlu7nu7JN6dpgSR7T4hcUjod4hOsgw+wnWNNXIsKVWytuh0OzytTqnmSNp7VWzdm1o85ym6z9IBn/fDkcrdIa/QwvjHhiq6B5drEg9IFc+q/S4zMQCw1PKBm+IjCvLbJ6vrHc3LtKvnMMJEddQ5i0vIJcGwka/Un6hg9LpqPumt/I+5MJByw6TMjJguHOkJuzF+qRxiFZEJ2DauF2QRg0QEYmBxiYY0wH+ZXEsgggLg/dZUEuLMhBQJWyrGEU09RZ+0pS8gEplFI6PBpY3DiqXNjvXOP4BHYBsbgPpGIldNsH0BOBTFeRROdjMFQ8zQ4qX8sMjXE5r6lIKRGh9ZOoDkgTdmlFTwitGU2ygYrZ2mZBcIB+Gm89/Y6dBFIdooa/4liEqnc/Z/XW4bgxqT0/mmW6tGi1Jmpnpi/OUlvIVyBu20Kk1F7yOAbkV45v4sqqvhboGryvB95gHP8O9R6OJcgDl5Pwk0/lVGvHE11Pa287ek58S9L6o/CVn9zpAIlYp6c+SvNj8ITNOCVOSZOZ52i2Y3mu6qxd0A7RYQVema/wRd4ZFPahx2DBxWmJgcBFZVpSdVkUgpXBCHka6P4kCj7hE2/gHUACEJw/3A/7bWpHH8c1mqhcMiLGLG1U39rUA+6Fr5vZcmS4JDiZG8EwwjmFAoRquAOiRKq2WG/uJgDGU/NFn5QGPMmpYqbthBhgrghnr7qNXNtAUfKD7yV1zIKeNKwA83Q/YKsygGq7Tpqx1J2UFYznL4CIis+z0LBh/1YQnW24o+nQC8+ZL2RHU1Q+0fVen7ef/5AD8esS9twhQ+lnNPcuLeOn7L+ihUHqsWWm9ppW2j3cy+Zz++a6pcs27MsAxzssnqtEAgjJCaUApIty17vAhhyI7l3tfGZ4MgChbFWyd5pjOU9mECFFOxAqx2kysnKn/Weatt9Bd/aYkCR8wPHrrrpHTB4ZOsUhIpeUPwWWPt5MfIp+rs3IreSMyUBZQO9viCxx03PUTnoHWTYA1BVfY14jBp+nFQl4nDtsN8tX4eAmm5VfugnvryhnrpZJpkINfVMiRibj1HN157mVl8zEbGU9Xpj2px1ABT6NuxEa9YnwUchY4nlL7uS5pIO8t1NeT+Tfzss6eKB14xF+qgS6sGFHB/e1xtIwbHyxfZB26+rDdTRfm7sr4bjqI9FYnZVx72ykKksnJkvfNNl6vzV8C1U3jZp/xCL+R7gwgjc7i/4Duv9ScntB+5A66iDkM74S0oJ0l54D/eKZPckqjAHdVFDYFBvGLyVyOAy7jBqOlsDj+vJ1oKzqhF998QGCMksecyl3Lcd25ub+cguxZycYCEF8koVTHADm/3GnUohih0av3Sm7jVEv4OqRb28Y7T+q4IG6g4aT4iZjroLQkdoqKV0cpEjSnT1WWJkD8zCTuz36Rns1tZzumDoz+4I1mojuEnyfOdXepIfpPMF0yicNNRyJanoL+8CXQmyq2i8gyqpE3If2jmjQt8fqovzMGumnsF4QYqLCgTyg7sleNGDJAaFmiAGbRxdiuYDYqtVGTEm1IuFnkGjCEncQzXEnp/mYo6MFnhwxccyxlT0cDHCFHHqTwouOKKihxdPirsYNBgttFw2RSrtUR8jGKbvrBC+AcHMt+TLPEj7w8r6dk7yUY6hNJkn3XbdrPnlf/cBODljJcFIutxAlQZs3i2nyMwMZGJvVl80/Nu/k1ie4oMUETdrwnhBxcJjur0KUYRS8Iove/EHPWnQvqW3imaVBpEfEXUxKTgGXfiC+D4M8GgPR6ABFjvM1ob2jeIISUhD2lJJBl9A/lJRLuJoO9UztKDzHjugEo1GzGEt65J5neAUUnCuDoN8ShvYLxQYCy/bbrtugLcdnZUiU1irLigtJU5w5kLbu9lqRp12+vEAk7gPK6hgUFeG+W5nzhqaGN/R51p6nYDlQA1ghoHZhU1KTJmXzdy4SI/kkuU2KMfFlJmFVxebgHvoFoXLU32C9kZIFPDNmZ5CjJnoZ8z0FVHx14rvuZ5K/8akJHUgoNOYyrO9gYY0qA41RlmveXIfP+RRc2xLoAIgFx1W33wpK0eqOvb9oFQpyuHY5xH+0UOz8S6cI+WSpKw4cL3ULJhTyB0e90QoR9vx7mTvr6a3dHURzysGmNDKFCTWxWFGq1wELoWZJx1iih1ZIm0H7wJGs+Fm4NbkEvYZnkJpL9YnHiNFL7Qk2Qahz9buqfTypsbECMzcCXIOOAgRXou10+vEy+RMKmSGdooYqWymp7gPR1/tGMn1Wivo2FvFN/wvJN/A+hIw4Eky2+M3moyZbuXhF/zvcj1UaBXjWRCW62CuALjfQQy8kHToOsyMOisq2KYGFhGAVxSHwhElTlLSi3dur4mqkGee1p8/Qzf2kluKzLQSGDx/PL244NJ6n8py8166wVenRRa6M+uyKiod0zTD7aRdTL1owNFIx2+GOmCTZGZwx5+YsEl3S2OfXktnDpO4LDasO+GW5melpcw5AeNvS4AIumEWFhzeboGP4h3/OFryixxlVhN1j+G0ocgeihpMf5CynNde8BxqUzvdIvRvzOyIg2hY66VPGbONVxxqhFMOd12DxR6N1nC0pKZtt1OZOKiKDKJisdKyiB4f9bUPwqiL8heyBJ8gpPlN0Tf/0Cut79Fg52yfHudxoe+/stQnDlLFGGvoQnXuPop+buPKVSprD/JJ039rpNAv7OoCmqCYqEFIQuyVRlsxKNPthFvdGmZUR+dholBi69+ngaVoT8KdT2ti1kUBzvmR2ToISpqkRUCWUqeRTp7U7cg1eSDkuVU2pVRF4zF9F2wL7QCEm2M6peIunA9R7agqpL/JA2xqOQr8oySEqCFeFnXm/mkb+Qkwkm3fJID5Q9DRLYycnpbgaZ/E7ZXzpBptmItS1u8IlkPyHs1vHd2DXYLmbrUUP2rgGuswGI/DDziV1VmC7CLbISkZX/sePk+SOqM3I7bmJWFtzUr025X2iqVyH1EopcGCdOspHb4SlPLX3qmaGlGq2p1Mxf5OQLTEuOx94rveT7Iv4e1V4SCTZjNhJxwUbA1/Dtn2xvCScozAa2utTnfcSBc0Q7dA8yjhQ80j6Y9qLZXy5HHQaHU6ODxY6yd5C9ML1xfAS8cndWpJoiLnB0waBjme0JWuCjIa//K2cdz+yhL1jTa7R3gd4djnRrVrwmud4SrSaspq2UnLEPq4auMNIrcMMq9yFfIJvQF1c6cPd35k8mHnAQoVyj4To9iynyT6HfPYJ7C80VonyyCs1/GMmIJndIwsxykhFdnrIHeLE0apQj2wCN8Pz4SoHbWBXuOIDxH8EBvCSWwM/Z+boXEUFnxodBS72x6Up+iL2lEuvRgKnd5dhr/rXXwtrJKs9NE5jS184082gVH/xt5S25phjWoPYLclj8sHO4kriav8lYtJywExVDJENjdnTeZeMjBK+EkOKHfAjxdubiuPcpy/1vkPQWnKKSY/GCxi2ZhF0dH7IPO/VsBq/wJqm8iymIHE/RnVxgqrpCu5BjaZlhBtw88RaOAdGq/hpWI9vOHgG8sQ6N+VO/kE3DUpnB28ciAI1BRZ5R05y/07C5eiO2m/BiUMXgpXWm6WAAazIljj5WEr0RD8bqnUX1Go2qnm1LkqNDPvJrYfJbNz1md1j2NRLgYhNUJN8L09tgWKf2MWIwqiQRQ4kXjpQjSjhAyIaJy3ZO7RMiEL+Jt60wsETRVVCQGTdndY8XNgFTZMHPDoEjJUxnCKa4+7CX4snoBVAv2Vd8H70ryQbpbHsa5R6V45y/XyZ1h8AttqndqiMnTF6UkkQ0sxDapcHsfqc8Aid1gIra0zCY52aUgtwyzy1SNbllJp5quore3x/dRirHlw1LW4x5ZQJk28suMM+Oj+q9Y4c158d58b6+lWdyC9HPCpSiJRYpoLaFXXfLizQBAlnOlAO/k4UCEu2eZgYY50fBqNDHRfLPrQy/tyVApya/ifGlH28WlczkOS424CsFwwKVgXqoiWAvMUpc6fy39M8b+7u5/cABm6+kzUrdwlY6nkLjqkBuevUHZrFc0WAzT+OU9uNIRuoxuXMmw+V7Pzjv5XvxLMJmqo6eKNEViIwuCF2SPZSQpEq1KNw2LUvFZD3cYY4aFGkruXh2+FaFklzc6urerMD3BqsHAbDhYk1B7VcrI/WWwB4VjspZ3oqJ92wPhyqrfp/5Od8l2SN+q3m54TfurzAlDwzE+MRp7u/i250r+baArLWaltETHD1LYeqa56xVB4CDZFOIcq0s+EB34FBRuMT+ez3JnXXhqX4brhYxRQrcl7KGYUBtonbXC4EMoCZI9jayyCP7ID5n2uR4C9jlvUSFNSCxSLV18SL71QZeNhu4pOIy9o6VFy4uyVcohRN1z9wuyJetAnN2CtIEyorWI9AOTVIrrFeSoAm1vT+PmV12mrlBPICyAU7hf/xo2zLXaPY3qtKqmVfqyiV4buq9V++UPn5aWeDO9esgBb6B322PEaUSX1Ems6LkJ6DxkrBL4ZTzhuaRdUa0oa+W1FZN2k2/cEnZ/c514nlZi6Ca7bAWGgqHz7O/dsC9tiJ7q3qB8qHqoXVYuG38CcvvITBj+ngy0Jhssw3IXCCXw15FcRNVQ86wpF4Y6DJKzFI1xRZ266xGTI1UAbZeBlql8lKrS1Qx52ff658kLPaliqoQqAq0zqDR+tue7+AZZMzgjx7rnjpKpvL3H3jYNmuZWG/9B2e2s64/6j/k/zZ9cpljHe76Hvs5PDiyx4Femz6lciPW1ipfGLJZR+1lgWAglpKfGoIELbAXlGl5NK7DS2enm2ShNsC/aVqEZPjoM4dB6uvqwzR5SRqz54nHOT391niNHR7iClRHHVSqUmD6QF8mqgPpZYGJxVeNdNASmObnxZTQcSbttJMMlna5eOtNDwhJiidB3fj3iGGVDFFFtaMyO8Bgv9BwrVHKcyiNgJ9TWREan+71KPhU6lr9IpYLUPXWdwp4xeUy5XXQ99ULtSQoL3+bkqT5JcLzDWxWscleTljhB9YjViDSqzDDKPUb8GsateKPX5/hZ6MtpsA9pG6+sWVdTMRx5IbXbeeRF8yTMYV4y8r/Kb5nqAPeQhUi7f/6fFvoFTXh8kKIbeov+aWc+tFXwDZU9Z53f38JJeRVZuSNHV8EwE9YLlKi/nVTVyrTZbORwpC9xb4A8GPE0CC3buZV/afVsktDg/lULQVxjOJhI/uNnyb2JvYJeXq9ISrUy0vV67dDbZsbyk3jaby9ZWFuJBWnz7VCYE8CxP+OT6e5EymeUSeHBRigpHK6SyvvOLuA+O3hfVVdenxwi2xNy+CefRSx6shXVu/VN8hvmm6Q38bElNmTiEnsKnLm1u1oeDTY6G88KPXxrQJAqQAsaBBhBrcAWqXZhf4RzZ9ExquX9HI6lU28igYVIFh8PdunZahZi+l+0n614sW0uyBX+w1n6WU206aKZh22dc0bb6HwFJa4Y547LxwX2B4XBk13Pd2qRa4jresNNTbMmoDvvWo+2yKsbpx1VwcANYVgX9doianY4am0xylI3S9Kid+oLmc4S5WahRJAUSLJ1RHcP7N1Sy7pg/FJjSr6dnr+DwC6jx7oFFbviJdt9hT4Nu4jEikjc4nDEiK/GtfTKU/FeT2fE3Uo3JcePdlAwspUvxVP8s5KzfDr7zLdPLPMXMF/zoC21dmOKrjeFKSqOvJWvT6vrOMkaQbs0VzwozhF3g0jbiPAKZBRV9S+Zrj7UdELZdUvTig+K7nHi1olGiMMKF50cPB8MxwIhKoSlTJl871Hr56BtA3PDn9KR6qyKkZqs6iMuIZgcBnL/KgRkDvMSk2GqAX/4Vh0WMfZ3AH2PxPeN156kBeCf4CNyFxfrv4yiKVp5Rs4XqE9hAtiknTw7lKi+0UHQ2tked+Qu1bj+P0phKD4rFKFUgmwtxPD88CREOi3bhQ3tkW7BhrllPgTKvDfzCLR0SD91nixiGOuDl5mrCkrINsPqgL5KSl9ytggtyuHDvghUCBHVJMJteUiTZf3FWpTmBhtBbXnJt0X7+bpHA6ZBPMRphotBh85CITEUpEE9TpaugvglqgbAv2e6Zp7P+6T6XPhJ/bkkMQpeQ/S/tOdT2KaIkrFFL8BAt5G0a9MPeMJUj6jhF2HMtajcrnAnTM3E+wuxCZKw6Hwid/uV7STu1I33fzmqT07k1GhjCd/XhdNe7ntJo81F3TGafbCKg+ZX7Yc1CIuW5JaSE6/hLjURK05Gh/fJeMOOhoWikAVdJ46chebyNZe1FBemJYbJBUakj0ZH53ANW0KyyFc4Hr3FeNlIBrGnJjizYmWlHPzvSl56SDeSi2k441pKWorqcyLqR2SWng71dQ/dZeulk+KRFZl1lkkp5H3x5XO1/pr+L9L5WQOQ5u6MJNYuMYYLExqbKleYJFipli2N23qKVLYdzrMbug5rhMfE7bdaHYdn+9gxXaWdI7a9FMDjivvjpYZe0wR+p+/Ti7UO70S+3ySY0T7rTDCFXw8wipJj9fHbBEACa7rHOHOpdiZ9jlRK/Kr+eMCSjFSzrGXASdN79SA0jnlSPuGdaflURLxGhBi7DfHK9Bp8PqyzMCpvDN0A3Xz+Xyv+ZMzuB64zze8Fn3esdDmGibJiZYKEE5ZFx1EXPJ638PL6vfBq7MWYEW9gYTYVcLhSWoyFVCnuumkx/3XM1HR8P6n1L7ys2SILSsOTrAQaxpLHhmeHokNzSJ7PxMjhdUTCy1cLlnxs2O57VjPWStJtyL2Rvud+lGNe5cKUCbBRChsbJ0YvcAiC3JcSFeedb7imvAWUBQe6Ei2yYoT0Y66MJ4geUkUuYLtSDH+UstsoFuEnFJYTB8tLn4g/L77NsO3uKdNV/OG7GwwbxJdNrcfA2GIxkTgN4kvFpPhWO/oO7FFYllme87UNaDG+HA7DQxnBRlATOSJYH03DWtC1yPWQ9Wr8RLF5xD/fSIgqfhROK64GVimybfATvAJpMsRhhT+cFWQfoj/+KVx5Aaodc6L8uSfpo+fj/8lZkiweMt5xF5a3795FlJ4+xmMlw0STwlmUANH7IIh6QOJk9SjspRFhG6F06+oy2Y9Y3SqdwYf+S/VgLNPHFngd+YKqosoP6uogNCJqVqxMiFvtQfvrhoI4iEgtvRn1u/WnAPOw6+ERbGp6+KapnimaVAIM/RpaU/ZPsLE05AEtmbTlmvHpiOYKUw6RWdoswJ0LCF54/B47efdPlmOXX2R2bdVbmFdHRYoz0NGjzlJg62YKPidqMD/bMDnYuD1y8Pbdy+We8mv3nfO481BlTgd0HV6+puFK1gFNfeQ+XjYGjcnBoYgpV4z9xszAq40NOpdowKXR0w0z252DRsgjluw5ll0Tl1tQsODCiOzs+URPMNPlNfG+OPwWr+PTi6cRUKf82mlgzDPr1LVbUe83bKXVaJ9bO9/kGF4keGpfwgJuoeJdbQikswrs+aXGsdp+Jqpevn1q9NAJPvNMA2NrMirrHdN0uTaydoauMLuozZEeI5IZD6Z7hx16xoSLeppcLPRZ7d9a//EPc2C/G0LhFIfxrvGoImc4u4XMhVxvVqzM35vvkurrmKeZmOYyKn65y911hjZHmGPOxMZDgrIdnPnhE40pFlwOUOcsva4ckbC3YlI5lvO3mNLaMic0j7PTAVQDkFAEubAiNQKtYynpCWhCDlwm1bE+h687NYvDocWjKwONtkkp9H3icrWun0KK7IBRc+EsRs8Gp0ByRFjkPrPD4RHkyJxQZ4QN4RaVQ42gbUO5jDmFxKf8fQ+3mS5pYuc9062Ui/Cf8OmUO/g78+GoipvREzGYPLWnOqC2sKowLUBH+jB0WA5SZx8V5tWMGspoeusINslE2Z4+qfJwqGPvbbvFpfC5hifq6Eu82Vs/9AlurQHqLrmEHWwus/6dX2dnMBuC/UwI8YjiSaYZWoY22mbHPVML51GxHWrhLHwwOAT6mpiKFYzAvSJqX5ZKv4k6b9muiPbR1cDlLsp/xtbV/Es+dM0xSgxGGDtbr6Iy5DoiVYEmQtIHFPQR+yKzf6l+5TAEKiJ4NMNriMhuHWY8cDbdSXzNjKTHTKEhG2l8Jo9ZjC/RB98IAlfNGcmj7h1GAVke7Qg8jJi6MHVxFBAOELIrrnkxdLcqNmCC8/IVwZkT3jhfVcf3tdHAmiE60rGWcS2Yuz9vwv9J1LpPBOl7HJQoIRam/SpDKmwWWJVaJ9T+t7yZmb6ygT7EtKqodoZRcwU4RP29JixRGac/InXM8MNgExqzzBSF6qAfqVlERivxI803yk7YMFpPEYqSdZZpS5vEpHjSvtQOewdb7CRjmgA7cODrgaUaPcyEyD3u5ioO+M6W0p263a82upL3aoo7a6TJfamoe9uLf8GzEGTRw4CckfGZskRgYeZDJOKIfZQW0Obaj+gUq9xWj1hItE4sER5GieknhH7VOyI3UX90QYNpAhHUOtcNyfREykbibKlp1XLYmG93+Iyf8WZRZqMUkSEjGyHLysC8yBLMrrKrN54tVrNqVbUszQgIdDj31AqPGxaUmZ04B03THRFPWb95SkSaBMl8oKaP0BeZjUQjc9BYUaTHcEQNERnsgZ5c1Rhb/DVWYgBriyoJkXcmtUViIptVgjSBUiDj6coQz2heCB2kqX2d/8YtnaRH+EzS7bAUCK7v2XKNT40qB+AFqQSaz2NmVTjWIDFUFZoWqgyVsbQqFdIUWPbQeD+iG+xO7caWDPUMHYstaxqrxymwLn+x/ELJn8ifvdMsNZuyEKiJCulxaFwOrkVRI/k6dttsywroaX6JAUmRZIPEvCyQFnCrTnIIHQmfEAap8FQrUX6pR+M8/jlc4z0Wu5fMTKMnGo9PO7l+4y0/hG98Y1gmLTRtFQVEDPDAOJCkwbds0Q4jAgMg5iYJKuqR6Zn/57L8gs0itHDQTkkXBKTaLhpRpMkRe+a80LeYIzO4deS3NPF77nuXExf5QnROeI7P4E8Jp/h7g2iieFrQXAd1Ds26Zyyy3YV2aoNCcVsZVjeG4DWPqaN597EgLoCfHHFMb+AKHq20Kng1ma7T/+ufOCOc4Q883qc8ojzw+I0VGVyW8UJyb6ye9czJ/VF0PfP8bZIvmh9SkV347aa14+31YQpPg6DILGVpzCBNf2ACOOFgnH7IhjhTPWaYUT7P0wFr7TvcIUcCLahk1uzSGbtkC7Kn/GzEufTFT7KYsDsub6J5MOIFmWV3BJOI9JuSgrqFM5Htuljdo6mGZFKDiRKeSDIeMAAMANQpX9y81TTOFWqY0zyREtf91UAo45OCCDhlgS0sEQv53U1CEpq0MrXaXk0/JXs0GeyGAw8OLNxJjVcGOpJEto53rLLZ6+eiE1l7As3DOMQfyazu/O2htexA1kBOnzC5TR8439Bt82M751RGEO+KpiEYqUqbli5mhqQ/BMC6RdwG0Dq/39k3NxNGg+k/0H0k2tilRhluDwvIcLH/N94iesquZ5idt9oG7hfIhzusegZFvyEvUHXmilcT/rXRr7F/ZkkL7f3YlxZqidCr/qd6K7rxg+VDU265kpdXngi5/bFOr+gn+yeTLzKytzqrinqilmZitUfSWv7Q48AH3Qn7GU9wP+2BFmylPePNjxTwMvgs+3mT0WB0GwUQEVqFzHg+oBI2+hq1AN2YZjPqeHFdMLTv0CJ02P6YWAQvI/rVOv98oKoa5xfHzsVmqT03Kl8siJ2/q8VnWa+s3zzTdDcsnEQpnQTVnUGw4bpcPZGwkgyg3ENg9g/Vrxxci6BhL6UUSwsNJsS2SktqeP4LXNqFreDuF07rDp/jFCobZgF5kexr/DFhNJIz59SeyMBFavfEhy9jaDSttKCdLZ8dUULFIpid4dVtV+55PpZQWzMZHfCnK6+4rn9Q0F+s0kXq/nSdxV40eoxnsBdcL7w0HILgZeHjt7uAripHlSRWsJwo/PLOCqRrMeGfVgXDJDZS8TZHd3eRJGzvhoEdW2wYicOboYoM99QuqWsU+k70/D+SGef2og3vtQbasDNsgnQDfo9HA1BuQ4suyENx2Ztle6gAbgtYTv0ZHhsC2Lb8fKm9R54AEFUCvpk1Hhd1UXK1BLDy3udb7bJiNP4Ta6y6Vc4o3LPfz+Vo/vYzaiWqVc1ez342H7Ua1Xk3HywXa15rUmx0kjEtbXgqkpGGbx5ukmpbrfLCTjlFTuocnUQqr3kZCj2hfZ5KusG88TcxS5DF233ecSM2cOediyg9bZBH5EFEbb5ri743kbgHRN0lkf098vumfXr/aduyJ8n5n4WcfSDsWloEYHktoVylVH/Tc2PRzzH7rPKS84Z3Ed102C8Tqw1Mu4pgX0xEQUf02mthXKrGTExNSyWkxq7IhQRhmlDtdWYBqQIIFDUYEQau8mFzKNljfedBlbkGuJWjtfx2QFipJjwzoftjhnV4KoMUddUzUokqRP+uHiDPeG7hKKZG9HTjecxl6z2MovqZ9QrmRuMmuddxHLOJQCx192015f/dYpZDT6aJOTOE6nX97x7ngJUeBRXZFUqAyuMy6J7YvUuAdwDqn2Gc869vnEtMwYLyvJbYnqHl0mtsQBKhqvi4f4hpsdyOd0WJ3BCPTO7foivSk8tGuCdoEWLDHJ1l9QudaxXlXcS39leFRAJFusclkj1h0aleWFgpiVHEiGPSYpLBZD0gCqAnkSUKUspXGyVddT65MRuuGQ+mRwtnKvOMEVqNnSsZJOBPADJl/vA5PAabCWsruro4m5HyVvk2UV5zbbAJOxXZ1MlTwk/Y/diQFgUBPD44VJqkTdJgJFCd1ON6dJkpcBr1x6I/MpLlUjEJmOTyifiJUXuDAYmzwGCt1SDQd+30KnuPtCV5TLxj05TgCBJs29GyjBCMwTqp83cPblw33YFjQ5IH2ctm03r89D72jwPOAydNFNDPyLRN63zZHRjcZaSl5wXaqIQvLmtVpfvrUvm1b2eLEvvfHej1rPrX/u+4FKxEI3Sl0kUUUUFqgTBZkpxSo5TnbH+9fZVDqLtw9Mmq3DqHMHfR6PJLWFONip/pyYRwnKS9fhBxOE5m9pEcyTxgSAFsykhjYlA4rBaQ5UjV5IKPIZaBu2qkkRQmk+DPaopHHJlJyBhxoSNcc4nLPdW5QdsgaQA2GB1STClKXR3W7uOH/njy7cmEJqqqbM3fEhuKwrhhR+oZ8vkO7T4Nr6p8ze9XNrFAlZqp3oeOYoDKJGbSviSU8HgbnQwZMIqu0wzoLxjHKGsK/DbGtn+OZm56NG9Hjqpl7bdxr68C/4dDc6hztIhO6nYkWIFMR8GJMpY7fa9nfLV8iBIcvLA3KQ2DJ91o5LDHKMopNuMCiS3JjQfIB1LiXBPSqCA3Ldav2+LLj8kQfmhkWDYOABH9k5RhknIieGclokHWq77vFc46N1ggOKHHPXEW7txTO0CbrjH7U86r4QClfXKKMp/sHI5+gl6zsDDkJVa2OkH/BUSf+uigk06z90VpVE66gieDgx8wlp9fTip8uKeNndnzjacKBN2EgH4wSIWuVytKoAqoHepJhj7IcevVPcYs6K2/pXsWsy8bv5KWCrIX68qvIoqApUFbFFzDwfWeIxbeMYwVjH8gIbmtQE+j55lDlp/en9wHlqVKu8Wzk2pDCiZcqMjOng+6gplOj5EnqvJb3PZPHx5FQKPl10/rx9yyTH12K+KWoOGTn3vcQ/vHYDQsdmx3t0MuL1jqS+LbUrJyp9VGOdZ8X7MZF9pSqA4dPqkxIa1pZPbFXy9kewTVi3Vl/U9EQPC4NKCMPZ6lFq7XMTe5bV6Dt8vdtRhePP1nzj20FbCqStuVg4egnwm/4x8Yl75eiuW7iIYx5u00wsloAiSQ+8uMP1J8AI3Sd3HG5+MG3zKVRbMg+h2lcppVVOaBWUJTZyAbyAHUpVZuUSAs6L7A6BUqRt7UAo0PvCIM0tVlvu2zVhARrpXhyuZJW4oPhT0eBCgGRt+TtepIahgtsfXTconfuXPnxH7bpP6w3mmzEpuwYZZQ+XDhQByCehVPSrMG90CQA5zha7yCtAJJwRBbGR/Hr7TVNkXkBQq6Il+eL8mvdVYm4ZLKnEMCeVo+7846R+Mkz9q0iLRy7xtXCvFaOX+FU/Rt+APGUVUx8BNTVl/uIHushq+gWVvNJ+HnHLjGxFaVN2/doWe+K+mKJzrQxIVeO1BdZOeXaq20EGmji/bsWpAh/bma9LFVyAh4b3DGBOiy2DLUdVynZl6ECqZy5P/PlNDnhJxjRofXVtHPxVwqo6wu1wVF2tbkraGlJDD+cvOL5eEFxSeBnysK7AULrwJzO7RRu+Prl8FX1knKEIg8m5KsiyZuPkA9OKjMqMyo1Mb4K3WQrEAdP5lc5Da7vcgaY7szzd/gMChhJ48soYFK6Hl3gFnvB7HkTdQ7LGvCubfxqAs07qSnCUgMohDpQqd9XcPXk8yjco8imJmYkEDLgaNHBEoTc2xx43MvWR0k07IeY8pvyj5trgRAbwQZ/Z/QdKMp8tWKylqB6Olbo9WuhWlnp26/6b8qptqVv6vzEdIwI8CbPQPe5XlthsFj2IXsQtM/ngvmWXCjYTo8gt1QwgBaI87CfLqijP3vdPr5pyDtTNPbOO8QiDEadB/pgd3pSowyoMQqc2pBKCMYqoI946SwJIGmqBcJeCdeA+T1E3ydcOVs7p5U7lbyzO0QE22dse95UUvi/Ah3QJg4omg8RajrqUroHaIj6hDnakH9t5Qw9s78/Xb/VhhyNB2bhz6d0J6abMh6f2x36H8Gkgasxd97CdvkQSgWzn0WL7CRQrmEUDJBg2OeYqdbBL2Nr8Fq12BvEe13HG5XeaUYc6/K5PeY7jm3Epp3u1vLxZAKdaH6iqtRb3v3/j/APPp9vob0T6/CPS4uOS6Wa9qZqjUtMp10UMri1KYnHJKmT8WkEaeFBFatLXpfSs5ESg1+mgfTc0wRkzxU6oOd2K+M8XHCOI6EegRhbRdkcYuy0SP0pshEbfClkx+OyJESnGbCKDgAuY6SCaFcEoyM0+RYpzjpFAXfJsfjtWoItyhkdDFoe7/xn942/WAPhhiC3kt2c9K3qOK3J9hJxs3EEEOTCYRGN+L2ntwsUr80MOFobsJgasZvukDdd2Yk3JwyZjFOCiGq+9LTwpxptaYs9i/V+God4D2qta4OegkvVncdY0ITGwYKMtIDCSDeg1xasjHnyfHdEf8Zd83T+3xHL8MVaq9MoHHIs/FvbGBisrErN9HppwTTqjQWjILluriJmsSMJT5OHsV91ynnqcfnrtPJXxNofyBT+3WZfRYwbECPBpyBCehqwwdHC8CoCm6OghCAKtJZwFdyO/I7R02gZuQJ27XJ0J+kfEzeaNxPEns3qOGrP4oQqsSlFMiO1DCmVob5CTnptvizPcsvjf26zlHVo3LAOc4coFu4xi1fXQy9qeZW/eMOPKzVHtBXV/rmnEU3ERdSmXFVfs5+acYYdApxXzKBVW2NmhLmddgkYWR1ImC2dbLEF8aZ+LpE58VvFkuu8P+LSl1kK5psXR0deo12Km4vv7NXtTP+aNR1anyI/fFvNqyL+IcDIYdvL2zIb8CbnYg/Ek/hPaE9W6hcDL1FjMO41RBuUyW2rl0cSuIYMFhxrAjW6B8bNhO12i/pBM3Eq/RU0okKoTs9LiEuIo4bR3fyjYptTeiDcXR6ljdiIS6rwjYMMxODD4u1hk/G5FUqEtD7omAy30SZZKF6CXr4yFMpWfFZPP6Zi5P1afLQwwG0Sv3Ux1emWwun1vqGVanUDw+ZDm26tNGJq+DtD1uelOhnqvWRisV/HkBT3FVmOLDBXCiYBlPnmnqtXYuCb5Hj8bQa0i26ffeXzF5LPGHMRqzkOX/YNxNy4sAIBdA540mJkvSsQurOjkuMi47jx8XYhWl/O1ALqiwHIktjGS/xSErk9CbiAQmds9PLWZBmd9iHEadT8FE11uiplLyRynj8NB+KyDUxJhNRko9mwloTFGKX4NTjEph/up5bRco7xUrwGldN9H6gpbVCFd00FIyF6psqVTGtI4FooLG1SBXWVLV9XZqb6lSJrZ1AA+1ZCS7mTqwl+BE1yflTFO+qYZp9SNffBb4HdArfm7Ult+23O7IdKqrJbqpVJWR34wKFni05FWnRgaFaE219oDItJmek0lDZmFOUFhaokg+J5kBdWmJOpxKVY75AndbbSL1QOzNhiigHVb5LT87zNwHZ/KIRElg4IgjCbsxTUWBonLPdR6oPmd/Vl4N9Gv0wMS3Cq5/DkJNmvTOkfnPAIPGvN8vfQek3eygkke0NhmrYZ2rWlnmSot1tG2ouNy0zjjHuiFvLzow5E4gZS98VX2XCX3/9b9kkv96f/lGcvjnH3Rsk8fu+WYcI3ZIl1zLcuSGP71JLnVVY5volBc4IfT+FRoS7vx8sDFXJHZuAPMmKCf9SGXYmyvQBrpCxyEjCV7RHhTCORyYSLPj3pNP521weFAnpkjKTJULVSKu0+KW2bIqf1pqPuPxiYYk6GU//svsIibIczRc31mT7heW+sig6Y19kcBQtMDUmrE+LT8JbhXtBmszHdkW22WouUIR/tJjGe9C/YJ+paHs2P7cXUXdrV74CvH4dd1IVjViUpHMlqTiFci5fRUmL7RDnAybxN3EcUA1aJaWo83Hn9k61JJ1ePcdjURb+XawNKpKXA6UJMR+LFSFmq7lVkfexFh1SJyz3ZxtrQlAxlp52+nXIl6hzmil/viKa9ZtChpmhcT9RM/2UiUVGUInmaXGQvZARF++3zzvhdVV3dp4LMgj4Ma9gV9cjhLHRaB5uD3IWeCqUHKr1EiuzFY06CBpcIUmbNS1StCECp0C8LUPj05JR49n8ZXOCFNarUmQvvJIoUxiPRzkh9XPtA0JmcRqGPqu6jXmuENGWjReHZtafrCLhcbvM2GqKA0AM4SQM4lGb3OQFpFDr7LLzvKTAMLkcB2kmFa+jE4BUPETLlFkBU4bQBXM1/DgoLnYEEUtsIkaYVu3ck0NQ9MEpUHyrMSPoV10TDQklYkivntWGcKzYpI/GLUVWaGv2xSWP6zqfhK3VxFLian8yE9ftPbxV2OjcaxJAsY9jZ/3Oq3bgWTzCLwf2MxdPlYTDA2EwKNWbzLE/nX+aYY8LLL1Lv9vzjcQ0XZm/4jWRUf/tkpx5u5jmekg7JyAJ5tr6sZMt/fH2zdDmTxSVBok1/5mlkkhGicEYKuhBOEYH4KATOcbyIV8OUCeifxrRakWcR/hmI0qpOf7RlqmzhqnsFAhAFoltik7dntXY6Ynil0qqcywI0baJ11peQGyoanro81gSvd1VRZkYA2Gh3TH3/jAT1kOwC1HJlca9Jn5xS1TTwOm0EgdBibeTiKUZtU1AY7ukw/XNd9R6LUiNrd1f7uS92NQvMj7d4hRK5edHKNXZDzku2YTJ7a5VOgkG4tYpPaeGGI72gCdAk7L+N/j78Ff9lJ5vP9Q/IfxGv7GlV7yNBiueRhs2t0/4TdFZC0n+iP2cV3XbUS/C2VMoyIZwNiNoP8zbayF6FbeDCb/XZ+ROzl2IYwe7YW/vPG5u/ChudIhjyC7cwvjjuJPLVuVY7CWLtvrjt9qK+vB6yHOTpxC29pFu3aIJjwPjwkcEYYOagiIMqyr21Cgop9/BBwH9SGaQtE9lMhyKu/vpQ3wwtBDPNW7945AQkU7r+b2FBWMDScfbLwSSIzQbEYm9MRt0Bfn29QZ+X7Y9ZwXs1eTZCEAC4QMZu8YhXHF3tjO3HvQHOlWeqs5AjnKyEmd78xPTOhxzbfj/jW8O9XhkJCiKSPynPoRcGUlLnrrF+6YznHmycJcGa0EQPuyaJnNS0mRNJuR51zFx33oEQvBJVGaLM5M0UHoimQKnZ6LzyHhSECYwylaOLiDjd5w/Kptm3o1l7/I7jX2guRDYtZGUWBAuXzogpTwTIR1F1t7aYQ+WE51WyaxVD5EVPXVk+qEvEQjeJ1E5RpxRN6CaBACaYfMv4HGU8KMrJf1CT7hrh7ZWgBfUtGVrAlqyayybX2++T1EpIm+LH5vgR8SjRGE0lU1C2H/E1/tJhc70oSRYT1J3lHRN517FkgrjQhgUuftIGsWKMKmXhhwSxq0M2YDr1LI0dvkpYf3FCFSkrel8W0XUaWe1NVXT7BnhhB1biesbRxnXhGs5lAaxcRfWFW/2zc0N5hVcjybZtGuiycQp8rq165f3s5Kv2oRkwabp3sTLLuIM/Ubb78Z+cRFUk6zf3T3hATwzeQo0dqa8tpDMDiI9bn8QTB5wBTjXtBBErQvj7bNy8IetZ7Nx5aU5m0XMx44KV7jqR84FSSriKVdjJ4Kz/WOfM7bmX5SoOI/YoD4HfEI/RoWNS35knoQUIs2GvhdKdPmTiv/jvhlOKp02fmHYT64rLhwk3Y0ZUhlZlW9Be0YUmEdUbUavq7R4+e58CMe3xUK3kCREVrglWVm+rHEAxNSMqaTlxPD/62wLK87FgBakUuaCzM1KWEuI1QZKB9T53nz7/IepIsIgSdA5+/9z//9/FAotPcZznjUzi4Kgnc/VBGBht9kVdkf1kEZX7sRB27kRKFdB1gh0Vz1v+8XJkQBXwYIvP0Mm49TurI0ZGJmWpSapS9JKVt6f/DtHgw1Pu71j0wOD1EJCMUlkUhzaELfht/E3mW4geWCia42arN6Vtmtli2xHQe7HF+dz3atRKw4Pnl8zSmvb9q3N0fYa/bbJ0fStKZnXQl5pMFaggBigZXtYBiHhLAV1mJSUsUlS3LJmAYFSzUukRH5jkgKGcaMWgQ6sjiF7YlbXdeA5Ut13Z7yp5lnNe2AisKQna5w32e3X9b4f0h7wet4aeLFkLDVLOdTr4Rvwp0Mo08w6NYBBcTtfytVwLpspj2y1PY5axoyUshYeYEfP5VSOLPxYh+7oJ1B377F2GaH6rhpVBVlz04JMiNPOk5L/n9ofR7P9AbBbLfqgxR/ANmBp2uymaKqDnvnOr0YtzfHeJdytvWx4AZ+tvW++z5or/pGr3dK1L4ye7+JJIIQdf+YhU6jlHlzM7pV1+BhhSwc1+OH4A2po3eIra3LXaOBcHCzH1XELc6/+Fk9t3JkIm1eq+5pQ7wW58rRV2ru1Fo4rd5/yGDNTgHPAMoo+0lPdHQmH2ah6a1VcdUUSEqan7laiEIH3OxYxJ66Znlw+/d6lkzdizbEb/4H/goGdZmfx1FmDdYjYFnSKlWsPxbZUFxZ8sRasH3EzBknaMA6eE9oGRUOboDygsjylvZEsAoWtcxkrDs3hDgBZdqcXwh9eUnxyf9q8fQL8J/X7oRifSzAUJwGCIb70y/kLGYzPhR3CE8KwwnnQGVZDCAadwZ26q409cT41i1+LITkQCkzhTmVFI0zDCHUIMj5dI2x52I/whzcGx2cZ1rzQXwau2boDlVrsIoNvejD1Bd2BUzwrMKX8MP2Y7pzuiBerpQTQHsKPJFFfiDLKqG3DGxncFVWftp7JMov+0W2brUeo1rmaxFHm98p1dpSMP3s3FR6/aJwJ8Q88pxqOwwn78TD+GB6Pf+eDiwT3wAV4CM7B2pPOeYJtt9D3mghs/HLrD7Gf47xqoh2lMdz7CMX2/U51f7BRMhW+YUg/SrUw3Qo8dsSsHb+AXkcWhSe17lGKKfqQTwv5X60YXjC1+9qa+jXbcRkcgOPT8RLzuv4lC71Fe+rE5acJjCXfrK4D9QRDz0jvFKdprMCB1L3tmQsoS/y78T9MkH6ElqEgpsk6NDO9Ek+gOhROaj2Req1zupZmS/0EQXj+KwmYML8yD5ZGfZkiW9lL6pPhC1/mE4O3uu8jhuaXXhw0rhHFgRwcB2w7gV5qOsETsmkJnNuyJKK8qZ54X5HAdSn5kWxhBJZq+OpR7xNzpKmrNHdHmTqPHbwWR0u4BMZWq/DhWsBU2yrr6V/AXqDy0PhCeCcbb8VXGKr9BQ/MU0XzQyeXeDJPOhI7mtfzhgmHA8AwANJqiQBKqTtslfWGxSp8K15vftOFE5033ECT7peQEOZl5cHTQlujgyz3SjRfV5ZPCD5iWbWP6VcHVYPftV4cFUfXth99uGk/T2HymUNQd1F99ag/3OzUFElktcs+KWkCy8o6Zmc2+mYIPfbfkE6WievyyLV42uX9bQLA3OfaQfWzIdDI1zmnedkRjsgQQeL+19Xu6teH7W1TciAzXoAPR/KJGYi6rIky4LGsatJUfEdXOkQoCWCgnVPRZ1GhSHRDPjFgk9YEMSjffXpQM/ifFgrJBrYdRZ9oOsqT984LNBpYpq7LndfiaB/6AEcouNpgxhDMR+cyToWpGJ5t5Q3HSR9ughGTZ7JIsIVomxRXCwf4lBAvpK9wNznUKpYIHASKvolw+ooN+lwrSgXQlqS3hm87zvELP3A51cV3LxPgAJBVz5VrV1x8Z31qRioutSG18Qr+Y+RLWWDlOjCXQSS26gMKMQCIhKMW2tEzoqvWmOD8HC+Ov+MZ5ln9M2sVbPQULmNxGQuMtF4BMn/6CkKmT7JE3G+UwHU35O7moLyIiDBqqDnStCG1KERl9cURxLsiATupIeahGPUpktOVuqMYWMZIFTDpJycxjhClpAchYM9nHOmKQLGQceoVLjwqLeuIx38r6oFXaES7Q01XTftV+AvkQZDJJxRNHqIKnQWlxm5dXzNVP885LbZ+su9OBxiDndEQis/doLNqvm0dR6pKpJaWZ7MrM8rrnW9Lws4uavXqhDL6KDFscmTGsPdrUUjJmA6HvrwRYYlvUwK4Ji8Pym5IoVNHNgGbsjwjNwObjyyDaUJedgvW25gA7t87CKzJ9LSsBFbuPQZCjgZeXjCdGRmABnpPwL/Be3vHoI0jp0zHX29Ks1sVfcDoxPljiXi1eB+6gULCBsb7vSRhXnP8IRPpCx7m/qX/K92e/lX/Nfeh9jbv13A99JXtnpJihPwCR/fRLNAOzsquVyb3JquSXw6jwqbPVKZBsu2MFQJ7AZHImcs3lv129TTkoBR6XH1Ne6u1B8eexFaxx5aSXNaeSurgq8ELrXdwqxP+AGXNPPsSOMlito/PtIQsoiUT9+LWsEge/Ebdp3Xy4mD4Gj2cWy4/o+M+5mH9/RzrtHdrzc2IxWXMDSZyEYB0BzK6EkjVgxxn+qUfsYRPf0fKzRSjDAPKspgBhtK+Xp95UihMKNpKNtHiLt2un2ALUXPpp09rl8r89hUS0x44ybAcTuAXTjX8M7LIOQBJhwr3ERcY+It73POwDDrJTW/T7HbnSFCb01dJ2ydv26ajUlrihoaj5Vo5eo0jVBkTeLdtn0+zOOfzelDPlnVns8HJMe1Z4B/mdSAJChrxJoYpafLK9zFseSwAuWq78LA6JrPpD0tF31UU2A3htUUCvNCoRAxGBfI8UKefpgQxdbOR2KfAbvR+4DrutsFnuIq7CRxDnwQeYVEXbRNIEzgkXFpNmHBB+7AkJrP0N3PlYU9RYHckXpOtwhcaT4KSTcA8M+5BHzDewN0xeCvMaGjjIwxqVzqYukLyQceGlGfXYR/zvWluURgxEQpCU5DK17n6S+f51qoSmkapceq2phpVfOZc+jD0CL10pGFbD0faIKDln3HKqxooeByKlqvo8+8V6pEsos9+9zGib3b24UHPwX+1KqnkaNp2o/c37ZbSjWUf0mETdc8oy9eWq6eIcjF+bISyWwjsBiCLS1L+TFmEphY7KCrPIZr+cZSm1aa4nicRKsxvsSy4nEBAnyw/+i6oiuRcswVnanBz2xn0haYzvNwDiv/lFFiLbevCnbUF5YOH3VxEv1TdFzS0DsLQRWpyeFWB/AtJQKk3ryPsX53TayxIDf9v1+M0vqXCFzgpF34iRgQYUFYlVL+VqvEHxwK7HBIwdQzGNp/WpVtNnJetFEyUfRiAtHpIDqVB8PEB3Gs2TcRP27XoQZW4A7gGHFlP9EZY5mXTJWDzReSYGzU3STHe47ww2m+0G+r08jOpO4mdNPwf2mRn78HZSLNqP3TMVqJjbOV0NbnbkCRZvw5cBKyJEAsS2w9xD4FUB2lbrOKCOsDo00JddU6pltUqrmmx2I2W3vRxHeXVBgM6C8eeoFWN51h0+5faZOMRkKhgFZW2/zYoHPyoxXCUHHXbAHquaYDHVUlddyBTNO5YaWh04Wqk2Vgqh0XE2KLNBASxO80GBoxnymeLfupCoQ2Avm2oOpj8/ymgpPgtwHyUWkIFEg8bXsHTLlzkIAVX8Iz/bNVce1AGQQbMYExzLI+agWwtPXJshC67rbot/QLumPJF14ZnxvPr7MslyrkgjJYPGA6oAulXhyXVdLlWHHuBezWOY83fP8hcI4szc7CsFhoR3K8KPJ3vthXFFFkzXshRYMswoj4kZktSl2otDiKxcxsZsmaJ3OvkNfs1LZNgMjFucpSMOUSEDg/IPmsnBgVOAns0PVWpCuMGl/nz7fS79uPygj8gUbxrhgIaAtuG1idR4JiFc70UB7afiYYgcG7xhVgvMYkerdcK+T//12vEdDIIH3YQVtMzjHCO6WkAwLGSGvZcft9EOuAwypYN8qOe7Ms2Q3M+4R2b0miALye2mg4u615BOf1agDo41zSMiUcqge7ulGGGSQABQF8EOcJ6DphmXVK8dI8NSI7jcQl4vAO/YCpJGwN9Tk0n0FuIzyjRCbctDeJNMXHoNdSyCcYEW3YHuHT7odBYZ5BkgvCie0fsjHqthDEpy6YEu//F5+A98BWufBdfkf9UkUHEHwaqElVXz6Y7rau9lDrKj7r8cYSVqkFmmHZz+X5IrmtQb6hFpwJ0AJIfYH81/GW7jMYZtN5OfwFzFNO9XX6HwTFAH2hKm+71YKDg2x7wD/JXw1d2NjwUjnYoYhicKytoHiq0tk2pmDkXGIWzNPbpdndFauZlWZGjkzqb82Qu0MHgeNC1Xwm9j9iLPph7FfdDu5p7DH2y5A0ks48bvLSkGrDqVuxET88CpbsyW2kx2+xCvmtbzkA0T0S1B9KX4/ZcWoWlOF/5/K//P8OZ8Uv/K+MVzY51HoC2L70FpQE+GSCy97mPEDlZ2ftwGfVIP6LgTE1erwXpjSVjXMvY/TXRpvogcGzLNsYPDunb7H4a56cHLvPGl55DWzmKwwqDjAd7aPVmlveyO8tj/CFXA8pwQ/Eh0qEgQ67yXNGFbWTmWQQZMU/gJpoi0fmEkMNaU8SwfPulwejBJ1o3jk3y2taih5rW8r6ptxuFTO0A0T9eqVY9U0Bh9FnLdCma1mhiRSzRNN0AwT1ZOjTyXrS5eR42mldGGRnyn/W/SaIPOXtF3Kr8e20/TDL0mVwxLzB1lb4hE+lDoVwALxkaMWFNPA7C6pkQhfa8mXW19AcViepDBOgJ0rnRQ0GjdAXClazchxcTQEY8hXiHERIW1uZAyULc9sfTFjPUlXAcNLBDDPZ/7kHL3F00EUoG+qSCcYnmj5ZRRYdiAxARelWnPaO9P/bd83fLFNy2vIHzlbFKDtQs+zHNk5d0vXqrfkVlJbpyjPmibuzSfoINEFkbtEaI3gFt+zVRGYGkJym5pA3NW/JO6c/0FyDmCtn/d6pEt6xnDY3ei424vylCuDBalIjxphKQqINkmnnF3AzdHGs0da27oldqBEkTE/7BhMWNFCJkr9NEGiZGoQtDBqr+TYZfvGxCHaTsKLeNFtmiukgwMbEsyBO4iPRQik6mfKxWOjpGR84lBBza7CcG5mmX1yQOvta6c1QcRVs/erKpH6Ric5aKBvU8H7pW0LUkA3inIcrUeXz0uut8nBDYBxDEMMM5SXULQ+9rtbygtVS/bd94SBv6EzpFiHTVi6rj74SZHTXd1rGPPxIbgBQh+UKIyRBVzIPlhfHY69xtbnAhnMjgolb4Np/ApIe2V85Ft5c7yueg2yrngM7NdL6Q34chP2dFPjFkiwcAd7kgzjX5UpHcq0vlgwIN1FI1xPtn4JVrcRjLm+y4ZTL0JCRSFitfF/KRl5EB0Dm89Ctbcq07XPYGRZlCRDO1i110OQkYBKX7kdL9YyQig1hPkWSRalgN2lu+ARFuz7JJVgF6Sl+BETB29aUv2u64r5UiK5oVhIAlobJpYXoFqeT/HPuGZDJNKOyk/1+bjQA1q+M1SbuSwP4IndVQ3c1xagYDuelBQA5QaG1meC6ZCqkaNTUt9kL9ylpXmlVG39R8d+QOUYrJfUPrPtW5+P5Kf0eWDK/EsoJsjTS1gp4V3LBJK8rhxNL7ml3RQNCV5XxyKPbZYH7ol4Ld4Zh5HpdBzIs4wpWerLroXObRq3fp53t0OiVoyLMkcogsTGoOJW5MPYagv2zLJaQvXQK+ahbdTwAa5d4BeX2lu6QLveMvvWHsVxxivFeKAa8I4W3AfQudjNyPiSM2GGHnaosLh9X8/vKTUTW9ZRABeJfqeuD+oTm9aA6wG2DDCLnZWDYEOmmigDgyV4oBqwjhbcb9qHEBHLN7IM0UIgOTmmHElal7keAv/bmE9Mo15xcvB1bW3oOoDkP1C4Gemi8cS7GmzDbJTSaHXeJfhS61LfJpn+RWgJ+cIW61NfirLqaud24fR/gThSbIFKkcBionkU6IYdraIIufrqFg/1nJ5AGSI4WgOfeB+yyP9w5wJ+cXKJvhyTmkzSb6btQaI/pnu486/lrO9NMqSjq9FxgEPHqPRVGZ2edO9FoqzmAviB6G+MAJN3klYKRRc+tJqlaO3B/QJB/ULDMyjWa2nEoPgLhCeMTQCVhwhsJTp195P0P7xiPfPp0xxt/EAC2Yg2owadgsOqkf2XPFj2gWMDN9s+3dvIOfgAuQ0b5GVLV9gRBFfSPBdO8BUcssZg7KyxyX5ivxlDR5zfFMe0Jh7vyRorzW6S0Gflfar7ACZnP+xUhJ7gYB6swTUzgQT6CSiBpc+8lXb9h0Gl2PWo5i1o7H8YIeYYej0MPRj/AtzwdjAj/3PWNzd3ntO2vOdxxEE/POorptGh6uT5CrCrL9PKmwsOoKdf/22/aNI50rGU44Bc7nyr+GpmsEoh3cULzDWZ20bkP91XtBz40YSu+iwx6Hv0invZVeHavCC0DSa/kY8R6xWuov1rqS+J9HTVj8fLHRYswxekE7uBNZ8vy+qruxoFHPiwJszN+c9z3ND3go1PvU5d8c+NAnu/PGLON/KLL+OZ2YVqR/9Urwn3uH9k82xMNCpzfqsQLz5A+4MxjO4kvAbqBqGfiPHlKR1fUT/CkvVdP0TjlNTfvkSH6WfF7+P/hv1zjJG1rdxcODKpvMCRCjOznA+dDMS6WTrgc++dy+d8DSLjDSzR4dbCFvTcmB9PqOjiiFo9NDa33ib1merNfgDWy6Kv12umsOOKeC2GsKxlUf/MRlo7QZONJKKFRSglK4Ldf7tFE1dpshhmaZTYBX4LIp/ALZhb3Xtv00T/ry3kuDvKwqJJ+ZPywmLckeWKExIwSSrB1TJdbWO4fV2DqKHpJMjTklJOdZxy9ZgoFEvJbXWPvUR7VkSFXRPyu3Ud+8V98G/wMfYd6/cWwb+N5zBO0af6/ij4IbOHM823yrcZ8mrimifg+IiyvKUuVtG7AXWLyqKFXUNChLlMUNihIFakD7IMs+vc+ZlIpPZWp52iupk9NxzkVAkZ9DoxKjlc1QEZR+Zou86l/xOq7lwHJnsrxWVptWOxDLV/VItNKkBeztF1hRBTljyLvP4abDnP800Wn+pLwSUw3+XOzCq68W7JtXD/qxBJzMmwNm9JE3bycbICKA2u/NQLA8agD/QEtpXupIEpPFV5T+Skg83qx1LFKH2VImhyYqskRCfscOeZVncdrgQky3mJxWm1IrrV0TG6e8fEDXXJob634vMko8GfLut/nn0AV9iHdo/8nPV2uBrG32ajXB/9OScwpuNfuy+oHLBWWea33V+iCx9FGi4l8KpLXm0v+670e9Rzd1Py9lnilBFukY2tWGqOgqdXUo65FENrhA0GxbOPrs6tjrgHj0AnR1JKk5CkTfSAnV+dYJAOv9ihHmpFpjFrAbiDKhdx4EdD2GxcDiMlx+qbPUrqUs9gEyOl8v/jpJaai8fVAEzEkPezpHTXi39r+KsCZWGCn6QD847F35R12UJHdcOPVOTfQBURFaKqQqFfdO8w/8ZfPZyktI807rCs5RckRw1aCfoR6+j9YnN+PkjFySSh+1Pc4E/zdTFB4daU5WyVNtuyHfkDrw7hCc9PYDkLX9xyUC5SQbasveurZ1ljNsNXRARguqPlV5uBwFx5ku4zjSU0Yh5w3u332wEfXwyLR4Qtjd7ASThOeKhT2YA6g3+FHmyZyRQHyx/UcCAfNVpa3aaaSBXl5VDpDGXAgrsj1cdYM/saUMVC3oUWuQiZPJ1W67O91tc0+y3Z+WYkg3qHlUCQdUQw/RsPd97HwqvunxRBr3NPL8I4tF6zyZefGFLZnYAAiSXFkvOxoRWmVdjgN3D0z2BCxAt8yh/Np80qt05jpIn3mLoU4lIQPemHP1+mxPyjvlu0QFzcvBJsJUbFNG7lkn95wGCUvGhbODUmRBeUwpcbnEgH4OIbAWTCca/KhVSTVH2bYDPdu0I0pIA3y+cah1KAztq5ngemNZLKBQSQLqxVyNy0+iA7IvtvxRlbxVFJVAjqET8ROTnn2bNEng5KzV4aG/YnInz+A4z8KRxGOGZ4YAWFNJr3JKCYWokqb+i3ACm237dWy5mIP4wcMa7HlKe0Y9Hu2LETKAu1fRIGtvYiwNpqjqBUk71GXzaNEG3GlSeGGv6iiNgwaIvyK8FxZRn8UgcQdTDU3PbXs88EUSMI4JKyeDEBevi3I6VtRA4nxCouQOwBmGE3ZPdC1yvN0kw1tNilvaW9oT0QHolHAg51OwnqrKrD4NYg6zBMboq3XslLAm9P5hjymP8zFn6bsSimbb49CF4wBUKzZc82ttPHotL/kqkTHMtMQgMrQos54xBckNifmFTphaTWT3/+knerea2MVU4MS1E1RgzNFWJmw3ASj3wHgEABKQeZwTxSbxEQ0lle9ngn/CN8Cjh3uDRIJKYYhiJoSFj67YqayBD7PgsuGzwZ+X54LFqJYwQWxAW+wIzcB/aGbRwL+SYYJ2TqirlqWlEtECIrgreacy1GhGTlU/BB7kbiFR5sl6Y9PxslqH2vDHj179OVbiKZrp+dPOtHn+EReK15Z1U+CEVQTFO0MSgiRtZQgZJHW7i3xaImpgw59QGL1BuNtwxe6DbkDuY8+Q+VgzFOvaILiK13JFA4YEiz1PNai68/5sdHKyTLDMmSPGFlXmkQAOHRM27nCZQrjLT88iefc3HFPjVLljmsOAE4Kr6uCKs3NIeL+zP+YPg6CcYGgACNbET04eQQ+fmve/Rbwp2UzZTN38clR6ImnIhYv5wTsL04ePJwawQbJqYt4mwwAi5xyEfkjiZHei2+iUvwGcpLZtTWH8G9K2GzyVVxp1N6zs20hPaNb3Ma4U18sCO+/A9gR2mibenRHIc6CcTJaAPlfMjjSA778y1kBWMMzvPP7LLnPXh3vY5LIQ6QwXnRq8N5wYDIRooOWCuSHQIruTujS5hT3BLcGa4LFWG3XaWYouDCM4t2xRXm1YXcuYtBNepJwbejZWr/r0w/0sQTWDgQ5tPlAmF64hhVtEk5qaVPGufjSvAKC/J4ZZO9By1l+ERrzr5mYhHiYOY2lsEuLFjBlqJMkNjDmfVmAjVCRR2b+d7NqUVZcb1oAHygvgSRGaQSVAcTxgNYyZco4plqeNP2Y5uU5Nr2rf5QNMwU5jpavdUFjMxqh8URm2dm8ijH2IDGMzKvL53nT3j3CDl3eiTC5ce6+K4N3fMKnsXb2yWRU8EXZC7bbf7W2DMw4qASte0xY3huJa4VuC42cXTW4J+Ibq88azm5+NLfEdvKlDdMC2EzouvidYp3rf5f0MYWu8S7kxPBmDYLwmorDoonET5XLhrpnlaYvJa1yP4yIMZOUa9UXnlmY18wzHFO8OzG8JmDHaPsmU9fx6NoEtkOiJIjJwUnDyddvRaxnXBX6nz4wEIUaqoGM0I5xtXUnHA0vyZsKmYJO7ee5EyonYIZDEYSkfg32bkYhwAapWomWTZihrVo+5kRzWCe2Z8PsXZsHmwpAfURY3uEovZ6+5UkffmZFVPxqkSJlLuzZHdmdKOLzwtSnpPCcRdA7IiS79g4AxBEa0qs64kXO8Sg+8yoYTxVI1L54CzhDaXrVPNThJculZcyVR9Mgr9gpk8WK+9LXFKLTpiZXbwLZUFh5hd3N+AEYk5WS7g7p4hZ4t0i3SGukxT2u21f2tExYLBgxZ1Qhoa0rySYThsoCfsqRDTLd6w64xXWF6BBZdNLaeUHXjxyrtbyyQBDfSzCoCe2nIISXv6kJDRFVUELUbvbZ4aepSy9hePOOJJOwQCtS0hKSLIhtiisjgSeZJFWD6mxEUUJmHT4tcjwCupjML8WosmoHrFHFTcstLqh8obN8kvBO84747ty/lUGxvpc627crIVPWZQGCCeKQnSDx+yMor9XQJD2I+qVrmEKs1N2rVVzLCfByTJ+sS1UrrJuudLJCDAPP1ettokhkKn4vFlJnxgae7GTBVlMYjf98B70zcWeFYgayg6E3yTVawERrZ4eQG9riBPSTSh0ZirC/IZbuN6zxse3JTFlvS3qHJl25fD65XGukwH7MWeQ6Mk2rXFxdmx/wp6YFT4/+XO76SvEl5k/rmywHpkaT+SvJ9u9TaWm9ghZcANXeNZcBKv1d6QmLRTabrvOusOWfn5C51s3IWg8yIJJp8moaEDSZTY/FU0xQHxOWyi0YObg2Cn92myhYKlGPsZnSxcl07w41hZXhM05pOi0tRhWEEgX1x8PdYSNtDZYB0dR+wGpRIGez0RjBaRi9qMgzsHFbVqd5nzrKTq9NYrsG13/wuKedWvIB5upUuBHNN/5j8wWZLqgnsJUn9St7VsdGfrNbhzDSb9TNHMF0FOOl1mgxM72yj6wrLsMFFLRY52OT2s2+72fnI9ezUJ9EccGyRtr9GN7MzHF1ClDrVWgpcZqw6yNepAMZGBBeiyHFvq9M6xAR6ynvcWKafIG7vwRZvxcNl6YSdIQxeWdYNNwPIMEEQHsIEIUBTfx5NAUd9qmZQn/KYiHvKpA6mYQhY1e51WUVA72HR/CH+RqE67dtYykTRios+vhg7mCFHTPDuU0lnmOMORuD66+s9FPfx4XESz0hBGHYu5iVFZpobOcur8MCqbJ3akqbgswQ/tKEPfYWolkS8KrL83IPXmUcuOS07b3fZG2SCuToXF9wldPSpHnfFSiw8HbjhpG2JoMvgfEEpNMAVRItNllKXPkMT/900oAgeVVGV2jgl01pIHLyv1kD8CToyE8TgBo8PpprAUoiwICJvqPAZZyJqgvGdKKYZIesdt4vumSMmBXvK4N8Pt+nb6u31nfrO/bVwdvFGunDYQzPlF2T/oACjRQLid6DoMZhxnXSo0A9E2+/Q71Pz52NLLTSJ/NR0LjVXahQXb5gMmE/Zm5Y3PWGt++gOr9mm5/i5MOZj3TwnypcIGzIM2FD3AXPENRbVBHZ/EqCmeM4S3g7zJKl0ega5BD0NezzRulZqA70CG3ZbEkoq6EiNDgEIviVrYyAeNZ4owGgRNB48D25xUeNYkkI1Zub45TgXU98V4gqDgjkQeLWzCkmLzPTVpfTp/OQydpQbyoryGKW1DiOxDFlIIfAdt8OjtilSkFHBjRW1R9fSUrvo8rN8IcjTzwh0GU1/oFRfuhcAgc2AvSJ0BzqezFyz1fyvCP4G7BhDkM7IdFCvwao4nG0KFGRUSGNF7ZG1tMhp2vI9JcHI0zUEuhXRQGQvSDehk4WJJzEn6frj2Vv+OCH2RPbOpztJwOgJbQxYPR4k/ozD1SgGOf3e8L7Q0dViaNmWFxK3hJkRwUo96lkKFM60sLOLpvmXWdbkr3HBfWz5qP40PGtacuJn2gB6OYbZ+8dji5guF+4Tg7CNim1m4I/KkrsyjUbBiUjlcFuevnW/YckydY6mJKOshVzYMMTbp6ByGIBr3pyZKH03mprMMO9Vjf6Ic/OKLi1OKFh00ojzzPdmC8uRxDDvVov7iPclljCAd1V1Cy8kpP3qvNcggoaH+ZE6epjv4u5qDy+FDkM/hXGuIXPUNpTj7Q7qEuUGdpYby8rymK01mwqm7q4g9R6RiB7KJildT9Df7zpqESqLvTOdXBmyHkbB6l/Qb6HtPuxV2EpRN6uHxu345VBXbammad7+r4uBl3j5Ws01Y88HRQ+6GQuk97vjnk7toHZDEOEumaQ2KzVOlFv20JlYKfjQJlJedLpnPnWuphUFgeVlzbwU7h7I+LMlLNCTltIFLABC5A8M3fiXz9fJDiDKJFfoqnX0qst63BcA+TUz+PLGCxHhbsmXnw5GcK4B5Fsl7aEnjwNHY15s+bYmKeXZlz+s0/O2iyPGoBpccbgQCwVol5kylDQiRbOel/4vN+PP0oOpYaMsCBkovn1Nv+wcKQIKk0pJ0uhXByaCl4EYyRxcooVUZvOFnrGC9kOVZqILlZzTZmq/b6O40gfNN06861ZAbeDAjBjdjvBfTnFjFWCbfiBxBStDoTklN7+k+IHI9lnCM8Ez7rNz21NmYjsq1Yft/NyDg1Ald82To4sogTmmGAo3qHPkt8kFvE6mBZwoPEGa9GGS5zhMFtiSXfYVaREyWXb/U9ef13hljGe2weR/TlRbNyOY7J9r4kw0bSOJCiZyuk1r8nuZjkRmq1Y+dQGkUzYnpSxM2aEjyn/Zf8h+WX8oErRmE8K07FwM6twzi3N52wPlGUWote6oCKIk1owUMRu4K2TW7Ru+oT5ld0U5/3KmHzyZMgXtWCZjJnBhTQeu5c7bcI3zxWfF/9oiOGVzpfy9kL7hvo1Xcl5UHwg+gQtBhxShTxBjDQQsp/a7DaXLrX8n4rqqb6UsZauo7XObkBzJY53HsK0gfZ8yzaWoc+nqzTXwUZHGZxiXTMLe+Wv6mTTz1szo8DGUb6tmo9nlbE92VdOKZgyiFqwIA8LgtCiqqjRRRM2reqlRY4UplwG77TktpG1AYIRhTfDz1vXwM2HUCRCsi0rjWu+dPw4PwWeuUi4Gpe/MSiMObSTmx6Q6HeEOiQgcN2viBYZHIP3FjlmCibMxXWrxF6osNdMfRtC8aFf7AfKzCl9QY3Hdt1Vd6b1+f8KIC/89SG5xV/YvljEAquD0zX/9W0XJ5p82waJqsXXev++x1++/vPfq/pOnJj9vRq8+G8ITOIlnw4PmCT5YOcCO7iWwoVdjApJklIl2zYSLR3XcEPi7VCOs6o5jQvuLVhD4d1UPKu65PShx/6f745ZL8nW6qOQGq+xJkZqcV+Bk4R6tLKy+xxyhcU5eP0n3Pvj9FSQNb2GBdzyE3SHfmcOHoINHkAP7ob3DzbRI21i3rj16Qw9qfVdND7ZOFAcr9qn7UGUAL3UxTBrVT/vG8LeCV88tWH/+F4XQJFqLB/X24SbO7zUTZ5DKGTi3dME6dz3DMXrk6KleFujJsqKYGxOCMusRVIPzfXADcf6x5JxELFLv0t/DvrfGMJocBbYCrVW9J/OhfPK6U9QhS6+M5UeSKjjNBAUGicePCgt84z4opzIz/hzSHbjZC/H5HqjrFZFTkRUuWw/V6+jUiGnM6PLw7Ji4wlQgvJmHJEAkLb5lsUYo7hSIPpUcNjSkZ8FvACfXvfmoke5HIvXT9nC9B6YOefVmT9M3zHe8Q1o6z6IjMk+n5MXcqEl4Q7C4xlV6SZz50/ZnY6C2JyB7BQNhcK4flT/OptuN6P1Y4oGnQvaMGBXEzC12Ii6EyFHFS8zi35LTWuJaojn13o2XkpeS9208ZHvohQM5F1R22B/Kgsgv8AZkmWXZll/I1/DYKUk06m6kkKjcSLzD9Ey6CNmAfg5sCEh+Ln5e7JiRNaPWpEpUlXFcq358PdrqvfxDWe6DI//40q68v15gcY59PC/8jHlpJSRd9asNO2kXHVlSjl24aOoMz25LoadAluwsGnNRZPWM/Yw3Wcyz3dttZpgdZ06V7obg8HScQp3wojB70aIl+R/bXxNqS3d37SZ1vM9HZXzbXU/Y+P5jKHH8/H9uHjm6UNE+TEbkbUaL26lF5vEDDRUsdyusMY0TsvVo/nYnToQqUE4EWguEF4UYJ0Tm7WrVt7ctwmvCNEIJpmTorOWP7Y/dnlofe7C0ZguxtgqBphRhm425FXiIqGSra1vLIW793sxNZ0IYRJVMhx0o46ScA3R8DY/CyP04rS3r0PlDk5kN2vdaefSAr1JJ7JVfo1kisx3myWlDQdDYlWXY33XEP1XQcFMw35Ur5oq4EkCq0Hv3ulJ0zQNyyrJgxUM0PlM4xmdMn3yRQxZL7qaeALo2piA0pNk3Y/t3sOPFWMEEVszg5acEZyLGDZGstdfgQMTUEhMwTO3oZnUu7Ioe9yicOxrSOePHx68rNtw+VPBIWl8hUjW5DkIHrxz+m2Z6PU7qj9MASRcftH1F0vFpgQ0XbSaOtRhUQ7sOQKqMCLQLOZCW4YFVyqMuSmWXZB2FH0XmjuXO2Ep/d/P/aOaMFysQwx9rpu92uqsq/Ny1f3uxoDgg70z8kvgZPBg48H7QsgdJvklPqn4JwgUhIO8Lb0fNQfDg8S4VPXyQYT9AxB9L3K5C8B641GJUDT1dB6oy1EH/ZhdnXYIfRXURmwH9v6d/o9hf1z1W1wSVVXAr/TeWrlnbbG2+RRf0Assse+fstApxip2ERkk45OEHt1thKkpTkzlGqqRSfGhyx5BjQJEwcMH4ydkzzaMCmyv6+Rl8FaUYqtlaxcv6zqW6RVC0t2gq8cFLLUliKrTwyDqUquBU1W2XcROwyWdeFybgM+0L8Ma6rvbc/ltHgj33BzacigDvd78TbZ7Yeuy9sar8kWGBJ7ak6lWq1mtYzWZ7cLs9MmQjMAzNPqELnu+6zwBPHD6zr1/23N5zbgDpHZ3fYH7HhdsogB/9ECH9ISHuwzoFKufVzT70aT+UoSc45zRSR/ARqIKQ/qp/ifD5l03Ig6QdD9iX1t6ae2vP+f71JyPBtzVvI8ErBsceGqvLHm0twBn1VLxO0uGaqjfbQWPskOpNXqncy6e6btONM4AZPuO7PAMeaj0Gblg/jLnBBO7/Y/e78Pu53bfW3d5zjhlddETP46FtBVkLGiC71/kmlS4Muq+x45/w1op3DRumdKB70D4CwwlIqYq7TbU4ZrytaR97JDoAIeLuCyWyQKqoD8OjctjriHg3O1Bi7kagMnxL1XULyanISpckI8uX1QYQAt99/aqaHb2uyEn36Rh90eNqjiNnXeB8UwKmPDyHzRdL6StQ1+ISIkSAuohzcW35jtw7mNXBNQluf92rDYccHDn+F6Fhwk5ZpggPk8Bj6DEE+MLFgIvUIKFzulzxzRKU33OmAhuKSAupdEvms1xZm4CanIq/pqu8R8uK1EUquptqBT/HkKMK3G1KCC1HZxP5J6WBs8EsDageFsAqKzIVEc6rg9VRd0wtNrNsDSTFyG6M/OmyKJlAkoQpyt+TkNdVkn6HjuXnPjjn14Mipx0Gs1gTai/JzvwrszjT8XSfvmjYHcxqPaS1d5acJ2zh5ABn9h2agASWLKlBiG9gampMEDHFdDsjmZ2cLVNUv937NW3OvY7h5IHARaerapp6WN111hCWzYvZkVcBv8ZIIGPqSBcYMz8c5lvO97oR24/o+dzsK3e1aYIx2df7NWGPHb/JCZ5HG3J3AuOdEDjv/nYCbH7CWSemIY4eYeaK2BH/5cjuUc9RHV1Xr6zfHS9WcOvy/QtZqlAoT0hLTMn19VSmljbE7l/jOTj+iLqjvLP7qPiuHGdtw+iWPHciyhdYmhbDJQr05/g6lq5EIZv2butX6ZxpPd5hWod3mi46X02jpQ2ndR2Aqdm8qEt5FfDL9ASyXC3pDL33Xztwx211zFo9t8+vyolrzlMyVSLrhAF3oxaBh93UIoZaOt+ofd/9D+XdJ2Jfw3JizaP4x1euuDB1bDoNdtOaY2on4Jq1385O4QeM7Jg5+NO+2d+ACQRZWf7+41oOTFKhZUeCqqXVIYzT4jmqrrJm5aApMiIuIslnsc7iGI9CDP6MosswS129czqQ1qPu4fZ0alPL7GUKnGKxATB0mnoxO9Xr2mmvQFghd3GPBTfFiPBbLy8TISNYtpcO6xaPUo6e0Z25tA1ilwia44D0sPgqhzDl8olLYgLxFcnZAblU7OwD+whecwm8aAtkLzVwpypleBpafyyn6YUK1I4+l9RtaMwKmGkuGfsKkezv0PzkxexDzFz2gbzo094T/rkChyASQz/F6nr5l9uIZrVxlO0pWRY+W5ljg2tUDl3bq/vHKvF9Gu2Q6sdylReV4bHNKauNRs3Kl8u8KVaGk3zTXON2kjFGE2fOq2fmP+s40VaYBXGYoO3K8qiZnmaw2ZxhDnxP99/jshbgXD4hLg1JGetSEl9gmfsakn4QkdVqkum/ZeiIp/CuO6W0kGUaxYTP7gsCi6HApDta+ZQwGt8ahI3UQC4mGwGuuMQaeZljz0F4b4Kndge84wBu2yhn/ZDcSwPnvPTK9LL6SyDF2DKsc1a4ddrFW+aqbBPit5ir9RZlq/RVHelnkdgQ6ytGUGSWZqJurUpeQhBgKFzWEiDz8SoEsV346A+igHSdYrwrLrR8fRE3fqdOUMmzqC1Wa89M3MisIMarEKsx9ld0HubBZvW4lqqdUE/eQ4yWdlAboqi18zNjA7WQpr/5evoz5pFbST55WkFMjppkTS7NGvrnPRZ8EYY4egEKS4Qb9hGH972/BQzNDj0WXN0I7BMdgb1CziF4rx6xt5/3wMzIys9upRNAioG7cmIZH1h+5Zm5T40C0F+mJGrCU/K1P7R6zrpVqjn8ALO+mo4fYKaFuIA6Tjsx+hcUgPe1WOTRo5lEExdXn1G6WcZruXsipsY9G5zNdHh6wB7GEHWce6LXwQzJoHrwkenRkHpIEl8mwLuHl6QVZtSnIIJPKLaP3Ek28v2YL7rXrSsjwhaEhs+9RK1sQiaf+6L4dWIIZB7o/L7LUFQJvOaPE0uhVnW2e6qXlkf6TNqrvR80PEvuX49oFbgfd/jW/txteP2/NZSEHSQy6mzofCILGwxCIQjbt4XOjCQLERV+dn6uL3cE+A+xXfjxXiJJG5gxoBG6QI4p7AQncg/pZIOtvdTeTLAlIhRuYnRP3gYG97l7bFWe/ZM+dMgFg4R3ZiW1d6Nm2E3g9FG7D1qu0zbSUF5yWy/lL8W5CQdftaiTtxSm2Rezzc+TmWraBEMNXXTaIcG9+Gmm2b9Egic4eJMm2hMt56oAUmBbkP4WJRkLnj/UXhT8sjw+EfIQdZbojT6bjr5CeIIiZR6q9ajUO/WtivxDIsWqYpDLVAe31jfrtuOOdSpy9Q79Mo89hxIh5l5arjwIa4JEV6iUYLSG5/+JV4+jkn4s+OaJ/6n+mfv94OtbLvz1BAZucnjuF1+F3Vn1mkk1CH20z7rvh2zcualM7cLct0dqjLmhce8MUi1xiFnyk8hJeZwNXj/CCHNnMtpfF+kcc1s09TttRM3Z+Hblp+olwN83mTd/e0kYkt1j/x1zzvs3sIT/sVjgLigQ2PWcfVgUOeoIhAf0s86Z3FntzI05UhDzQfY35NxA11SvhgZvQ2lHu/r/m+qi7DJZ+KtmwYBl7e6/JlkAPt6StkHfQJd2i0D+EpTS1WTlVJfYdIiht6W3od72Uu2bbiNwNWPpFTt/p9EefsQeNmC2810g/dtaHO606UHwiC7ojU7ZXO+0W4yGit6WRj7Ltqfa/GI6ZFt+myG5OcIILHx3rnaKrdPxWDHDTWFYJ1VWv0gjKxwFzpmqt7vaBGqC9JprTSnH1CyXO6NqQDFHJb7BRRVzuFcsgn7buv53ZqGBzSB9SJuEFrgSlSpcaAGaJP7VEzV0LFkt98/bE7tNrJunDljsgr3Vz+Y0c232tpnYHc/kz59WmcV6eAwpFUW1ezKrsMvZ/vFFd+j5sON0LgmdSTzHOBKZgPMKiEPOgLjHUr6heHLskVF3eorPb1TU29RwTQD+FbXk8vKVSspY3RdEFcQfAwaq4LV436leKP1yYAqpQBNya0OxEXAGIOWYespP8UaozXPe3fMqa50CSJT++j3XmPP5MjZ6h98TqLRvQy6RIgr7peQtCnrw5NLEcOZhwoYxr/tAMb7oLepXvnUKc0aRocj72M7D1x5LMPCqVR8Un1KfqntvDOGd6ZVDvuXQktJjFRG8EQCyAhEdRaZQ8IHbfm7DB9kLj3pRg/eg9uCoSDkash/fj+HuyKSyTh+7TWVV+YLHGGyeQKHr31iqmJ4VQZlaU8jwXiH4qQQCe2wedd6h35Euizohn3RNw9k/dE52n2AtVRrG2DzO3HltaxhhHUEXddGN/Srlm5T5EBW07Ls5NaRT0JG3mrGEw2/JHouorhgUkQt1fCMCqxff4Y7IDLaz9/ihGCZtj3/h8MN3EtooJLSlEd1K2UVe/zs6SBQFklt44cyjlPhdHguqSEVkbqksMtudXVCq3CsVY2vxivAN6CnFVA3PjCawQFX4brjcsBbWkTKSgJVtAy/6coibV9si8pf7J72VvE19m0KBZz2QZYjn7FfI4ScNgkRRi9apcSMQS1N5WfSsbybDDV02ETpFhp0mIiVbJFFcw1g8to0LEw5jbxjAnr1lBOPl55kr6SsfsfOyWd05e6pA7UTZJtmkcllIwYB7WmKM296Ag53I09pAnyEj3hi3/uJPMmAVnJT48sLzuzk8BLLFM5EYGpe+NsgcFlbiKCkMI+Wu4wwJJU0k6fR133AA3plW2fYqjpbkZm9FlI14pdHYIYonPnfrRWCPGQluQ7Xh8LHikS34FgyRzf69XqGR2Mt1A5g5RYwi6eNQHlS7JEHPq1Z9dcfV43VdaWORbF4TT8+/MKO3UfMPohx4X72IOfGx6eErg71nSRhDzUM3wqUgBA6nzAciXE2SFtYp2Bg9VLo25qa8P7PzFdyPxJK//v4zjnbc/L397WoIB+Od8G48xse8DqftbjK4lEHrcRFpgUjT06kpF9y9CeCOSyuJsD9rFtZnrlgbjB0i4R3ahmgLxXUsi7xTeqZsGVw+UjsUtD+6Bv7KusflQGySMKsna8Brbd0T3VztjoSJsful+62na1mkDdzyeKD9GeC3mS5ef7JTGJAc71XsTx1OFW8hk5sljVH7kekATCqOMZhUCtY9vjNrtN1YVuWsKjPaRyd/2M1EhAfx8SbkFgKrkVuBrTfdwUP4lqTo0RO8bKdYpwgJBGy9Joyu2GEpSCCxVK6wUfrSYXiVUEtkMmPVfkd3w5J7+KU0rTyeFM+IEMiZb6JqvIxSqxKIL5rFeZ/GJrLXklz5jpKfpUlUedFfI2cz09lMd3Strffmqn/HCWhkIFxV4ITsdmfXQ38O8qNzBmMG3ZeHDHou62gHVP4ONA54/n2tfGXM/peUR/L0+e7j9qHUfiB5k1p5W2GQn94P/eCvj0E54GIAhv3h29BQ1NK8QH3Q9wfZ5K2DPNoXMyQZo1c7KgtjGDuYuBy/TJvjziX97Uv8pJRvM+kGyXaQ89OvLjfsI+s9mPwRBRAfMD3ou6cOpuwJQe95/1891JyTIdzqKO+simbMGUU9cQsvvXgQkFqhYg61OlsPrTCn7jLlZq7QAi9L4QYilSa3PyY8zv1TzHtAX8eXqH9A2DsHL3i9eA5B8Jrs8sJCiRIBWvP0+UiILCSIsjsaFZRFlQQ1XwkjRzjeYhrwMIpV6DCWYRATqlPJadQF06Ff2hQthBPYZLXDccESydTx3lDfDL+hyHQiYEtsgIiq3lbrCjxUeJOp8zVyrzhmWo0/eDyD3XxH0axulnC10yEr1ihwnce9O9IhY9i2UaP37i832wYDXciWiE42JzymywhvZ+eg1Cj3liH7i4X2XzT7ZpkcT9vJDfviJEkklacd/bP3TxX607BP/aKBlGBuX2f3oE2kgW4RGD67JTXA9fAHAf1BB8GD3m7/PnBfUD9ADdHv7Txn+D3XM+ocfK5zLwiJ2+voh9wTTQrTBABSRQQRgcGoMfY2OxaDtcQAjRbJHFoGqKUsCpe3Dh4V79pP2392XK9fQuHtpkxOu+QTWj+CclkIhfWCYVfFwYYxfquRnB68h7znbHevb0Ljy9G9E4v/CX/R9YWia5aayAhcAnyul1IRXAfz6yyGilUgyMG0y+KlYQINKjt3h72dlRmGLcvDjE8Tv4yYivI/3C8u5t8AR1SnQqtoCVkRGpQ1pDB0W+jt6a+WUADKrlgg9rn3uQKA2xUChOx6+CIXXxkdK2VN7KOn+PfBkZXCgIKVWmEp3PFIZLWQW7RQGx/+Li0oz0TlyriQ8oLOdCBd+DTVYo53joXTspRece9p9//Kv4eEa8CTArqEkYtn0ZT6Hg3Twg73Wdr/sT0kT3XCJKqTuX75ahwj2o05D0xmIOoNkOe+E2OmjVKDpg7TJKk205ylvcQPDc+4zEqtqXbUevr62mAZY9T7Ly++LEutGk9YnGx8JhU8aK2q3qqOkmgl0AQ86IQsojKR1U/yPPDgpyihMHOXpRe3KBqItvMcX8G8GyOrKx3HGJcMrM2seQTGkBqhMIiQ9sufPI1CE72PXVAr0VvOTXGFbqoAKBce/9el3CPkI7F70dvnT+mUovlu+fcJaCmyiKHhtKf4p/VD0xhqfOaGHB394ywdS3dNkOCtndRLT+ROkQ4E4WIES4OeHbKvmrNUfQ25uIIgQKJEhMyQP7/svz69d2diTMelT5gtArFnUWYNRy7xH0VW8B4m/lNUwaKEq+6krQdBacjt+7dlEfpt/bJKMLGpJspYL+YeIh+K3W05tVOaev7jBeGj2ni9V3/JJsZbOamNzudOrjwey11Ml9Cj8cSi6Owbsbtn3N1/2X5NNZE1HG7XrwdOxZcRTbyDYeW1/Pm5Sw2JbRAN/AZ8agoSg8QhbN6t31fec10fQcyOh2HSSEHjdhE13xgz5RKs/O9a1qbcK8gC90Eda4W02efETHWx6cmdpevi3+LTKyAVpObXkUNrSKQ9SRPsoJDq3fjdfnexTM01PtPnmYR3xXAbEAQQ5mrO1kcETRjyXaJ0ldpdjk2Go7JK2lz43p/L1L23XFWD/F6+Z9dUnquYCuLUgZyGrZapuSpJcWmKr/VjZ7OzOBTCqQG5Da3Y+jEogXjLF2E9gWJlKT7WEtifMiSgA5RAvNNWyw2UEH7ZbVg2Rt84cdqnpRi5ZSIMeWcwlP/+Hny7RD2feHveii/GuxskJ0vR3qwgf3J+Av+FMeFRcVa/aigj8ju8nmOJvyysUmBLtlox5mcMJuaWOtvAV+GH7d7B4vqSYon70xj/qASEcRkSK0mOXE4RwuQ9oG7csAk8iWjb7VladoIQTHETN7erY9+KwVuasZ7fm9GL3ytp5X95L0J21g4JpOm4FH4hQf/4ohkDLRB2qeYYDfHwUGr2YjhTzb3JTqMPHwcDGgQYMdGd+U0dCqZDMAWNavGYEHUjKFATEJe2Tscm2gAypMk55WZs02Y+5LzFxsciu+GgYk3xYNryaE1REM8cYmaL2h9lZqXGhg0JTRwnTl2Lo4eLRFIP68YMG8HfEF2IbN0B52mz0bJGgRn3G0AyJZi4YsAP8S/rdMX29vY699a47uSJdS3XRbkkep8zc8EtmuU5sXJ5li1+kN6odfBU3Qj6LVrpop7p0ubCyH02wVy5guPb3m9R8GDXiSkYiybMNZKQgxvjqbJy6yPDVL0ml2lzui+Ckkrh1igmZ2imuSEU+nFxWl6a7br/NoLw4rl6j9r1SZ+BTmjKsBsShS7ve3kiUaxHi7Q0YlUXYWiuYt2+QmRWGLAQdRN6rAegX6bL2d1bGAuaeqFlH8dHW98ErHDdwDDwiNYx3WakXLn4A51tIb+kqP4WaI/0AzSCcM42VYo0wikXhrEjRYxK4047HVGxF3kreC6BlBZ+AG7K7u30sMyg+2CZ3HAaeAR64m64pj0V17MfDUGkzFLwe1goVgCry0plzJcNROMyrkZNS8TuY7WON/TfCar7FLA0rl2dl+/M78VUDFkNKLw7oOpluMNlgu6i0vF5bkIvdcu1+/TwGQBuIIJ3im8UCxrbGyWCjBkXtLVa1B23xRfq029xGeQRiaBYfqeWZt7AIbPOU6eHluMJwEivyP3kQHsCDUHGgQ9DEI9CfnbPN45hI1EKV0oh0NMStNongaLlA+ajq+nV+WGRTsKZFTi+O+PD8Gc4uMPafXuAfmDUpnfVcdxLEGmdE7agL8s1ErKabfEFJy3SUgJZ0BpWIk1Mm8SaQKaXQActswA+gJImD09zkF09Os+IBmOErhTAHgmK3zMOy03x7BVBN1ZiVD9xtjA+8j/FNr3HffpJDfheIQdIpEzG6Vj7w8J9Q8ST4t+RZJdNkflPpuS+Cfe+8tCRdsZcMad9okPluCPynfIydf0IznJmoYRf0Q19i9aPSlgpLJXd0dx2IP15vuqgA4ezyTUbXcck31fePfWPfCxj4102F4x/+f5P2VOj3fgo5ItkJPG89HziiORb4NGDt9n8EXHP9Ti3BZVrzAyi6/1Bdz11HCVPMHrP+3d10NFZcn7JpcO67NjGQFFzzvfr7vEFWSfuvygtyGdq+KwHdI9l2sPsUpV9yqIhtyQNiq4XC0EZqskzT9SVs5tpSJjpg0LHn6Lwcymqb5dUL8Hs2kDZALQ4VNsLHb8nOO/EjddXNir4xdUL74ecmxTxxTULd/3VDGoqZbpAC+9sQZGS/z90Rd/op0gb/25VmeaOZuHjL9+yOQ8l2m6n7vgM1Z8AiaoUGTPnLFxgsGTyI62t/8H+0JfK101P3SL16z7p7JNLrI9HV43i3rPeG2CX3sZkcBCyO3vku1UyQo2KzTxExF6Nz90yDfEhqzDNOxxSWDPgQSfOEA7102prTfrYd7+loBioXjBa7HrItNBQmA7sHHwdgo54jLyCOoV+ijmEPYFrwgP4b4QzxBwSgRxBCacOh70P9w0/T3tDL44gRPxh/Ig8zOxhFUUxo42j38YcYg/H1sTFxQdy/BLoXAxPmojguwQBSVHJ2SlFwhpRn3hccjD1b5qLrEherkhQzqjeauS1Th0f2AUR4XLjKoLRvJ7YTTLaiu2tjgW0HtoberbrNeM35nHWGvYI/yzOYp/9vsm+b/0OBlTmhATuD1rFnR+8JqQ3tC/sRIQmcmjZzeio6OMxPbH51aw4bbw2AZFwN/FW0nkBQggT/jfs36YraQfTT2WszDyWdTb7as6j3A/5xIKwQs/o1cUXui/2PB17cdybPmZVSrVnYt6kw3W3pgY3Dpu+PuP7rMbZRXPG2qc6lbrw3cMWXVmSslvbm7+8sv/Vyil7SvYWD2KH4oZjRgij5NEvmzgTokncZMqe2wsOXMFzfVf/3cC54EbY3hDl8sym/MJEKHlMJ1faq7fzZN7wu61n5xXqTx3vRe/PN3rN/8cDV/tdYoaeT7/F3Vwafu7od+8nwoq4yq9e5qXFw233uvzcwBYqIwZogTK4/wWNe18ylE7PH1j28Fg4dc8ftX9D/lC5Z+8xiQBiQrJJNv1fPG75XwQovsn/ew2Orf03R0ERdFwENbQvP3bYULd4Hb8a/MU7oXxBec6WOnmeSgteg8x07ZR93Pn1Dh9GRaWbYhhjOlDI1JTKdg4BN/5FM0Loa+C+btSSeEIZiAWmrb3XuiNG9nn6Wn96suudIBFPKVCuq5yyUUpWvim9PwnfdUsvBmZqjKzIgesHcVPcH9wzts/FukpAhLVuK8HYg00YW4DxVuzRg7+M/9GF8nugSid09SIQE3Pfr7AJ7ZhXg+cpRLZAt2xbvbi11N47a/XhIWCG490pKs25H30c+iHYtoyCPumYFDolS1ISZ2Aqf+wVxzOJK5cy3nIuZIYJ1SHONKUz9evd/HUbljkXYC4RpijQR9wRfKhVJbatQkystK1xgmxr+1rHtmCbiy55X9jvbn96A/xKgqSUip60JZjz0LiW/BRS/VAarWsqDwgF/JAzf6uvkiP8JbIzl/FGcb1S9Y6fzoIf1QZ2agyU4knkB1Fd3B9c36iiS5TG9En19z7wCwmSTHWBVj+8FTghOSNbcixgZeFixgurD/hMi9bv2ia7FQtzi8ryTpbEDZ/r8sPb7mq7c9tA49w05aQSFHr66ECX6ri1Dk2Clj8eFSsIJWTVhkUbOSkU8Q+HySviu6JLhXSjevnRJrHxnM1V+omssL8MUztofVl79dP0kpZ+97efTbEiUZ1yYKv0R6jjdRmFoXoyzSvujCbqUkLu+ko3kmmvO6Pnr5/O263hT6zSV1D8OBzk7R9l2h80zm8rKIkCZ9674dEaLANiXJMtXwE98w9DU4wwQoc8S/aT3/vImRKACVmIVlLt5+BAn5lwTClLcw1CVXziuoc61D6HDdcoLjEiM2nzY2IYZUKmCOPExfM3R0phPCG/nloT7Z9DWneGaM9wg77Rs/qTIEVxaIaURP/8M2N59uaUe8DMm+2o1urMKQPlCMQvyCRP0y+Q1L7dwab9tR/yhUu4cmv+Tzrc7nGWzIFzoRb0veU5Afj1D7o+SKfbyPcU7Uc0sz0zuvOhxY98kp+lH8GMcawlhZXvPn0Xiozi6kDGvrueJHMWxm4Q9jACl6J//WspM3p1ymPXxItN5A56Va2B1ZTjF5aSP6Rf6DkB0UkE0R61OCLBMVqByHcHvZ4xNWO0JH0oZSpxnP/xUw6v3EZD/WF5gcdNPmF8X5kGIz+6Sn6WfpRUYzzFZYGQk3dhFDUKG1C6/r5s3VYljkJaUs+r5w+bJLnFRzJJLL8QW5ESwl1vXXnSS5qtZrOhrr7YRep8EuAy+8XV4xEU4jIs8nfeX7xzz9s+7yhroJGfGPVwWuiTTqux1Aua3/5gWCkP0jmDnH0/TrTVWca+ybghebWk5Ee3LP04NixDiRlTblPSOvem1QIVj8MwNlOvRkvf6fMBtFFfAJCSpmzzijGaZxgVhhOCEQSfiu9ieaEYqwunTDqEe2fO/L/dnJwTLZQ2H9tVOK3mWx/hDuyh//PjiGn9NqhbyNmjSsGZFnB+EUeZ0KWv2ueetgBjQtjXQ1XriTL86xxCqdc+viyamETRsRHUk6ETGxn2At3ddQjOoPTfCgWTMKwltSkuKFj50pSUSeCtiMsiXkkdGRBC8D99G5LsaLMpSQ2vXXTk+cGSC7HhJ+5luLSNRaB5G9DEJQ1kO7vX1B3Exktvg1bDj9K2jx1mRIoVunWdZ6v9bUPvx1XlVWsaX+DZs54pJjrtwdiE1GqPHGdAmE+ytSgJ2MH6pyeigRArQav4mAFUAiVoYbTgDO5FAuqdUrwRDI4FeRZSbVlQSt3wcz9HW5CqcBVJm+SlTSj/igp23q4tMjrl/bhhhvycUYLLWRSravW6rmr9wo8E84erMDRut0FRROCW3tRb6u28/f/yPwlsyuUqq9zkCk3PU10nvsbF3uDr71qJ9oaiRs32rzbPW+sbGEdJmEyoo9hSrnONmOSPo6TaF/Ka9gVPbaub+EHO3j7tagCZ8nKJIsByPjABYdJ1NMXIeK95kz7rJ/HeXpw2PYek+HEtrD/PCV1K4JZxIerKLXh8MKxSwotlyhOEpq/BTCVOtEMqiGsNTvJxxlt4o5k5jBvMxaFglFyBKGpj2kMcc4vOl554TRO1yV72p5Ic+/e0QMQU/OErUh6Xxhaa38BNdhyM+UWlQpsj752vn5SjDqrGF2Nk9eNW7dhkWJZpikVXyoIneCMelG5wWK7q5HxNbkAeXu42fWOrBaJSz+JiNXFR+rtMl6Ol+L6UMrIoPIi8kD80D6YWqVOnTn2Nk2AWP/m9V0tthShsNdXJSJonLiGTP1ddUqdOnfptx7rcvF3clu9KN/Ogw3UO1w2XdNdH65C6VPequzK3AU0idMAlKN9QftJoif/7T9M6I/zd7ZMYZ4zYYSztThalisANJsEYmFDhmIz+v99/f4JWEvt29yjjX33vutMdk+2sFYrQ0e6HSDyJDXkYa9kMSudgK9DmQf1GYT+Al/W97VrbBJVK+cT39a8y1hE0p5+Ulvm9n/lvLtvai8iVEXQL4Yvl4MldqpVk+crhc0SmHGFNa6g62/1HL4+joZLiIoy/n/eapTGWOrsq+Fa9JhmF2L781eGHFaXbGEKOS3SoPiUoJoYQ378GSjnOixqO3aZQRAFT06aJ0U3sBEBHKxcuWW7p/3fZKruJPlXVlo+v8LS8EB9AznkQRvdE9de1Vli11NCO1btT5Thfw/C6GDEWvf1G2/Q2ah5e8LCetUdAJifU/mgqAt6tnwXVjhVihI+WOwCeZECrQ+mJkT1x13IeLmEeruXUHdlDSTTafold2ulUg7fdSBYQJ0fUZmUo0x65wvjEJSRJPns4dnttGhhZWSeDyp5gDZSaAadoH5eI/ZsA7elR+GYtbxG+woN1BhtqJi4xgofScRZCSEk2eAfqYv0GE3Lmqd6FF6LQeM1csZNTeQNX/IhD886kP1V4xgswxMEgI6hQk9q32KVNAXYSyZIYqA268JoOMuVLXBJ3J0+xCUlFyv4gwMOA6bFO4U6lLiYFbqfVjaGNK+v1v92gVwUKC1Do9uGQ2jhf/vvXEDV9g3z2rL29fZ5ivKk1ioOSobHtxKw4uE/alRM8D1fiMo4ltSlpL7QFu3HcriUQC9XDDpoOdMKuQrc2qJOQxTYowFNcrscr920HvTYqplqHEParbO199CLlaEbbRmc+ALXaHUGQRpnUSkDOusRyDlfyLOeTLTA72fQXqCTO4TpGa7j2BcHvqhtiZhUj632M/PWrNjLUMSB7ZqgvAOsvcYsm1UGXzp8ETdrB0WffEF+fEOtF/W/luaooK2rjr9+o+Z5SIThIplRotAqZeLFPzPeJ3Z76+Kja9uroYHOxnpfWBxrjYrEzJbJrctz9GxaJjcL6+NN36lzbQId578NL1ZYlyoT+LnAiWZtvionmT5+u1BMbe+pGmHhs8bZ4Na+eAWv94DnjUj9U/7K/rjYhY0rdIGOGw1cN/BzZBI0JxwAaaPWNI0Z0VU9UMC35v1ba1W2cutsjkRx3D2Eu/h/8aay++1iMjIZ/rUbIuBAZKuXzVutI1OF9UnU7T1Rlqh158VKiJOxX5wI9CJueHRI0RudBUXx+tm2fAADrxtmY2FBosoHNMdFBAqw2Z+SlJqQxsLOm33AocY6+2Ll90ti4gBCE6lHdd/262hmlGDuWOzOzm34Kjh7p841v2J0oCFdiwLeiJtt6oujjEP8P415BXdp6qUC44OM6r7hkUWJQtdG//uzCjarixXsV3vXXkSU/Ln+x58fRHvMCneJKYLQOwlLr54OGo9Q5jIlY5R1ODFjg26Amo9da6z7JEN2iGFX2ob4VI/Y22JzPHMkXjPNKp1LXqiE3fcNRppSzSkWEw/KQlHNepaBQ/UWBzOBFkVTO+Yi/HoYoHNoiF8KYCU3546hEflwn8qpEM75EmFTg/bUwcD8Yt49RTTOP9f+gWH3/4acltHWZm3qPAPtOmIhEYEaP5Wu9G+3yrw5KFSEl65Ob+dvr1h7UyEaVL5xp3g95n9zMx/pnesFPwje6nkP5FsthNp1QxqbABzMRK1qcnwhO9/5qVObOhSrh8Tye73HoYjzlP+tndDvM/zp44wEMPA235+DOGOMqZsp1XEzxGaXpKprKBiJIVEFCpRGLOlKvvxsKW7cp/uTyal2/3uE29OWUuxRnDPUDz85IxrKAt5M01k+VAs1OcsOUXoZ8kkYIIKb8tdABTGqwrnaquUYNaParLOgYa48C36cZEuf+yM41efV9nhozvPKiZhzgvEiOahtIfnLS6cJHdrmN3f75LYvZVaiis3PwDd5zouaVU3KfrCugVdv7wz9P2JkwW938TjPy/9/cqPWi5ja6wjG/UKTYJJZemvC/ZYSgCaK2sn/NBwE5DyuGCTkQxV6UjHgw5doswqcxtqbEeZD0dz2JcRvgHJiirqn2SebZmOlGZ6cmz0wKmfzYmOCLyEXFyhqtJLQZmGlFGi5twq2cmkg8CQXqQWIOnV3iMngN7InsHJRzRtiYrHEpLNKlxChtDnmv1+nCS2KZqDi4lNTWR4CIGPBIVYTuMGLIz+4HpeytE5qMrlxHbdAy8lsNL0PVgS91KWh5SC04gbx8r8eqQWu/iBRDT6qthfUxGBMzEXxvEUeYpviY82QEIYk75SeVlk2I7yhd2t2L6PwI9mPfGcZClmvQkNckVWHlnWGLcZ945zJuErAnsSG0KSFTPgsPk4bzgwm7Ffftg+xyFK+/fKzUDctsQSZfydgYvgw6+TXP90QP55XkKFcUROIlQbNNBtBiWTIhI6Awh0F4Ur0jOKNiTkr+EvreA4qVEk8jdM6rT4QwDPQBOJwX7MK1oI4IE7p/RUXmYeD4En+DXAvfMpApn4WDcsboQMPJ2FVFAXdEyKtVlz6LfKtgHIJp2OGFU+HcdKNxzilX5lJhiMDp7Na6ldpdizGfc6Ijr9lp1dKBmbeaSro/+1F1JbKJ0uKI6OKPNz7IQ5RzV1g11+vtRjV50rNmwxVSBfESGl/0Ajp3kfGLAxnrs1v2hE6iDQEYn4xhtZq5oPJNMHRebgOY/jrL7cE6P4wDQfPSx/oRTvQImEoJirRmG7fXvdOHoW6gFoHqDsJ6agObiprwQru1Z8aoCS5xQv92gRcoDCPQRhW8Ypz9borKmilbDNwgNeFXxzW/WCWVmki0KjEECHWIyXIQnGHUtVWLKXcpx+qTZiB6o9psxk+FVuQ6qQhrlBhrDOCMcNdOhWuGmFEa/qqcPKZMWW84g3PHFHNGpVQ2ZLxb9g3hDKvsX4A8Equ2P/eB1BZw3a6rt0O3qi6Be5OTj7/5jbU0ve0cvNiZyR8afJwjTQh67t2KOsWalKP5xYbny/nlmgrJZ2fgLLXmppk6frV9cnLwjHFhFsN2pqz+uJlEUzJT9xSy90FtZ9o6hroVlJxYfwFZBq3m+EdvaeqCImAhRHAA9TDYZJSmS0hJBO0+TSkwTUT3++/tQNP7wUMtNugoEQ0+pk4DgJ6SBDDxmsR0eDcv859m5gfA5XkcBXkpNctzDL3+XXcdW2s19H1oCM5fuRBW4IZ3yCOvwHFQ5HNACHz0giuzLs9hOu5Ikg2XV8JidVzrAS4upCYipdH7qKYrirCHqrtDu/Fz7a+/vu1gx+hhfQcYyds6Ofxw96YFM73beNeplPAPH5FJNdYMENvZKjWsn5ANdQ0S/LD+H79c01Rq3Z2zX7zTYFKOX9FlUInZNmR88LtNTCQZKUlCH1aM3naTmoUju7Q4O9Dz4GQoPewo+hpgV8xvvR1QZUYre8B1/bS2ZcBM9Db+QFIffVRFel9kTUkA3AU08+r6Ep+qsvpX5123h+51yyL/+fY/+NFQOiH/6M6njPzHlYwey5qM0/h3F2Vr3E4+ZohWNHZ+9fDcXZOjeFAbmn322Svy///j0jKmVNeO8A93T2LMmSlfp9fl5H9J/L6VPtJ+kQ/Ut2+PAt6JC4/ACfg/b/ZPwh0IjbGRaTp69fEP4TSLivPWmLRUP4XnfnloOtECvete61/1BoszSQYG0A/ulXyj39eXB9mdnBHTwdOHXtXSJeP+d40CVAQQxZkN2ZjsJt70dMZdGFT9K+dJbNtcmzFJcZv+YPCru2Ikst7y4H6a1aVYE7skUwKRfGiJGRHZejQnS7CpYlR5wx/otJJzr9njOasseX/zMuHhHdnFwVc+N/pMMP6r59xHKKlJ+dDyFzSxTb0XCGgl1I0N9B+iCnfFK3GpbwUljE+YeM/Q7ZR17Z3cxQs+U0YfIvngoPnILLeoalpqK1A1vqQZ7IQXXQb1/W5Z3euaTjFrIe6kS1JulKPef/vDBwfXoKeIpBo9lrCwJLfEZPKgHcz8SMppBr/wsmdU5BfTEC9lU44J3hkJXTuHDGY8Io82n7YOHxgZUvg4WN5364P9webg/z3RoWrh/ztfnt0u7oajJx/j3KOXyctle/TdE3WUXhZdvFXMqI1lPdrvrnee9ked8WfE2NvVW6NFdR4bjdPxZLT/tHPd5EWebne5uSx1BSA3x5+Kg0/Ud9pgY1AafD/7tDi4/+y2dnlU6CaVk9PLp8a+vZ/jWGfBAojLynyy/4at+9PevH2V26JY5g3uBnoJq9q8N+0vD2bbMNe1rM5ULn3dTvpKuPDV6xCIGNir0FOaZgIXK5H0XJMXcKkruDsX//Bjue/p9M+Hf15MLydPb94dneT/m6r94Nzf298v+TOi40MC7YTJocSgqu8BR/HT7vz08AAue7f75v2saLT6jXmwcf6n/+N0UpFqvJRi4I/5yS2tTBzZaikIsg29d6fw/d/K29Nuvht/VLi50E6Pri70Hys8VDq5ZB+Xb1VMKsFrLe0f6px3ZvHDcjVuZp2h7gmXoU7WvE9/1c7sOPTppaRnCndnMvCRPcT4gGK0YEJYW+g3Vaua5oBdhm0z2dsx+uwtDGz1bOBlf/XlWRVtIqp+uQFZY61ab66lCPrlM/rfYA4IYwtFfG/fwbQPlXfXOdbJEQVWzJ0ZWsEoOSsG6uoUtOLiilQ4dswtcFobQvoGJ+6UjOAt6Fnb0M5SXVPBP5Mk+cTo3+zYq49so28xXOKgndiz8Volbb3aTxb7U27PQIghAEOb0raW8ix3OJvEo7NC3EspYzvjub4T+kxk56ioGU0JpVvDc33L9/RpJSsKem5xSvEhA5UrYdKSkaptioOPc/swfm5Vg/v28zzgTgwak0GTCkphoZBKvW9s4vHZM43nmd7+immnPLF5NGLEuwvlJGjZf1absl11y1/CStXm/aedbndjbL1AkbT47u7VO7sjdDl9N5vsJp/zuyYm2vsch2YwvQ90J9G8HRvGyvxyfTlivh+SLOBgjD4nOjkipv97xDQbj8SueB45eu5ERvNq24f/vftfj2+TNAfQzfAZHQzsyemL/OwdbJiQs1LUdJu+sA0qSU4rRgflGtXL4sOptlH0o3Q01zuHh7v2TB/YC8ouMhXZEWLaOKSrzMWRo5OZ0QoYM0e2uneIDUypaDwUg38+Tms0GA7z0XhwTxdqbxg9/vvn9LAXEgRnjKAQap0ZRav/vMUp7RkXphjjJIKOf315Z2PrImToeJ8yMa6Sv/3NcvXtl98lKiyjXMh1w8W4L9i5y8CtSNiE7O1COgOZ5roVeS8cMU03uicayyV+9+2O33lsJg8W2EHYiwHfSea6fl/s2+Pm/4Pwjm3Ng82k6ntn4UJs2BiZEldsi1shuIeE4EeHkEv5tICrR/U4iOtHUy5Ug5F4K4Xse28HiouasXhGOasP/a6RIjPWRlOW8jtZt1M2glk5hyNRigdKJTp0HcyFIziwI8OaGA6p/4JvzaRgPBWgkPTpCoQNPmnwipsLYKlQUKCKgPNzB4I8qYOw6g0rq5shfKLzFTv2mhpSTrmINGak1G1MH0QKJ9RQE1rXm95nD9Vn01nKt3yq5Xngqlrs2Z1XNC0fF5UvdZ94iNYMwRgbQpf/xizJxnwfA3OIKRtioNGlVNJOyStH5UhKm/rGRmg9CN4fryMpxEebAB+HmOJwTQqGV7ae1JjguQCagdZTThJjtGGcZbY+tEJC6q7NTUuVLuWZrrO2nlBNByE4SVEKlGDKMKVcAqX87Wj+44n8HTdMuCAc0mTK7XKfKGWZVhr3y3C7rSvZ2OpXsngSp7VnrZp2mLBBWKTJlN3ltpRySyu1/Q2T5jy+fUHPLeUQWPCCnZmQUqUfaSO18XaYsEFYpMmU3eV6Srmllcb+Muyu++Kwx66jIPjMou0wYYOwSJMpu8tdK+WWVlr746uFyMDm7MonzCIi3Zy3TYx1hAmXgpFs6oYaGkXEQrHtvnie9gIwOMCZd4OPHVfd4XtuWa7U7an7c9U3hK7tAZiIGT4De3RoHgUr8bBe2hLwQO1IVxRxHZDuQB2Vca1FTWTf3op9xjUUwFK3iDs4wEfO6KF05FY3RPeeMn7iOj37xGAQ8ka2bq9ZkZeXaE60TxRegvIBcFzlHTKY+oADqc1/oxaoBU6glK59i+dA7JFB6r86/IdIJrUiCJwr/cKjcWaHmyV+a65via+SJYwgZJnJTdm/dyTXrEPGaOqWPtk7wTvNxnGDVmbC2Yu5/HkY9YI7nANNJ66u/6oZ7bmX/VeNxjLBynMWygRc8qeJBGs24jm/C3tBfAYmewiy3Mgy+Ee1IcBA1YHMf9jgylTk9Z2X+o7i9KqFttoofagboe5VLP8/Xi4lH3f+fouqxcRNGxWrX7YiKDFnyy74A1swGDtNndymHXoVXO6A8p9c0wo7YVnRdE9X/nAm4nZsB5tTtMYbvkX7qeTWEvJDxcZSDnsLdadar2+0jZzqtL6nfHF51zQxHqTDTE0yJTYNPto9ujOnXulphjEZ8dha6AQxHIEJPvXQAOPW2t76YFs557WYgxJHJWd0D8/ZsCaZ8rBHxRuzbLexIaWKebnY4oONOtSGmEsh3oae7nwAqMy0963KW2MPOatAX1G6oibhXdlXvhq8rKPqHq98J2fidEqQGm+pw1mht8FazpTykb1hzdxhmNdWPw3tEb6BC0LsA36xx10UnuPxXXD27FkV71vKDFTZ+1ugUpLJSE5zKUuc1WwT9AdSDgO8Hpqxd2EONUDGXFCjT9/AVC7J/PkUKCmZlzZ4EeSmshv0VkAale0mUWovubx87zGTcokbYsY7owQJY8oGR6pvECdMKKuBqjgi04YYB8FrAOgMVG7oCE5MTgjMG0uM1an/3EfUherCabIS1ifaNZhX63QgHJrb21aYyAYwgTUZg+c1m7KbcNjBCN6ofnziMPooTPxJO8nvblzE+3St80eLq61QFpMSOQ+f9VKfpjN/Sihf/4euhEZysAFrAICg5bhQukuhLcBFyBQMZSZRfTKgpAReKeT1BzEao2ZzRh/UEELSdOKs3lrSQrSZGigTTzBCV5DwLcXZT3fDzaOVA7qAc0ZPgzAMFdhteMNdoG3ATN7Lr2hVDdQ2eCTcjnFIEWBOy5gwwSlZC5sCQwWWSTI1EueLnNWL9WezEfbbJytgdL1lYzSuRNM7c29Y0+PF6Foqdb8a+jmutLcKbMtPa8328bFhl/Lf3l8Z397kgMRMgaYWDQIA+eKhePnfq1csjP6Rn3QacYANqI3zCebeSlZFEkBKcZjFjGImSO18VS+Imy2M7TP/niLmrJp5h+TP430KLettM6lSa/7OfTLBlz0ma3bXv6nomBantDL3ARsiyurK+8LYxGilllSoEalMxoVkpeEUgSga8wxetLPkiarq+gmSRSeEZJhwji9iZQOlAH3IPDInG0gTAS5CqJ0mVFhngIFU2lqtcLEy3hnGYsUFWdqXeBfTejqXyh7hPez9m5QTtgs9lWab8bdWODeDelA9aLEzY5hUJ3OTVrejwQj/658L5M9fJgMYy6hH6pdb7cbxXpTwrqJ9fOUPOIGGHjgXz6sk9BdC62MOrVNi/ub70+OCtMGJSeydsECchiD7Mr6nUBGnnoEpf+HlTe+tG6ItmdqG9whrrMFYLVkZUJbYjYpCFlfbCoOpDVMLJGLS9Ek5KTXgkodOfzCVg/Dl29f6464d8LoyrDFK7i12vlPWiRJbQVA/Zs/K2KqScAo6t/ShsnrFTDpF4K+3AzetOHNyxqQrdKw8V5OQfBfDN+hk1/SjzbqKK0Y57bmGKLGcQcAw0kZ5CUFaLWBnOxOugOJbakddWa9UTIFVQtNqFkq5HUuxlVf7HoLEd7pxrdGYM5C1uvGCbNEK3nYrrg4VRSUt2itqdqaVrZhKmMLmdEYv2Y04SeuKLB05NAY63PL74trseyMqZcyahOs3PoflYYuHFMpHJLmEUPbTt686ZC8/+9F5GA81KxkhubVmASMIL8y0XW6QNh7DEGxZAzRvek9uPMKMB3Vj5ebzjNJ5KQMgFd+qduC57vS4LfWsfpG7l03jXwxrByl3QeBhIRnBhK5Hw60xaGEI6GjiOhLdqVDBUo5oCfTSSG7Y1XC8rPSD8BO53jv3pNXW7cfmzQenBo+ZtN6nlPIss3qKnxaxxboLWyRldYSr3rcxJpSrt32IT9z+5u3zdIIXkXaKd4MLj2oe+8Rm5Yh1I1PDUmby/2vQp/vyk6W6wNSRkp0Jpa65ySNXZGM0gnekFTxLGZe31A6w9VjtfV8QUztrp5RLmcGSHYxLr755cLx9uL/svhIL5T9KbVuuJa7Q3gzQmIdpMhdAp77H4CCzXmljIed+4v5bHNukQTC0132ex1du+4bFwEaU0wroCD9zEAJ0wm/uJ25ltNL8kFO0Vag4kZbxoxxD3HDO3zGqk7EppdZX+MlxIufCZkWpTULuoFjUzXB8iE1jRqiyYyEo2mOO6+KnvntwvH+gwW374wBTPt8lpD5mQ5chpVLrHdPYEE5CyG36TDKmwYXc+4tnypMlA5Behjx3Silrk4hzzEgFF8qQZRC+nLOHKvzdJEIn5FhgIA+WF0yRcx+ejeiUq3fAZ75DLJebjnkd/ui+YokgnTIO1aNYQQ2EYIxkpLAqliEDiNw4+Fy37xb3OHyoGxVUlDuHyr7r/kXX3U0/BGwrqEX2Ptm3uaXkX7uBTBer4bhQwv+akkeNjbpKBtPE4DSSkY+rFdoSlMogI+U1sznYwTuyrSPgLfDEq1XDaHBIjzGud2Umrn5e97HVBw0RZtGx6d4MnbGecp1SCSHhkgvlKzZe01iGdeIibNS7obt5By/EP/5+KumlWhFlc1oGJMeyDW0/xIQccQyX0rq4UqAbNiXcUcoOS/kfH9bxL0/+kZLvIWHUQEzNX/y364lzG3377TquNf/y1o3ANW3bxqe5QbtYxyQMqhIYbwBvlguKhHaD2mM19wbdpfJNwGZJbNDKJmnSymbbwedr6hrgizfwmp1zjGoiF0LbpuB8pbRJOaMzUCbGtRM6ZEgBKqVgLMEpf1p7rbfjoGK2g7IiWdIILf7rjOTG2wOv+VPGUOWeJYqxHjAEfptXHhq9hKUqpHNGidG0FbrU2qj9iZg7Rnco3vZZMS8yG7Eid29XaavxJopUr4Suyp3JwIBmv/E7xNfpTLGoLUftZ68ArHa64OZ+Me+/Gab4VTJBbP2m7VTZm2KEyb04jL54RPb8abfZ28HQ+DotilRqy1unKlK6kIqEodzX5elFZDpjsmQjOkumtrxlNRPcNHzw/hRi9KBeI/rFO5UT5OcUdupmCUEHL+Ubf8Te1I7+y62s286WBbnWHqlQLrRk/RAguLrxnYGMkKCfutlUYbwkO3ztCWWMYBeYN+XvvMCPaQ0gUdBVGInZPRE+bCCEyX3wJBuh7UwwmrAbftUCq1lYRhFv54rC24LYMJI9T/HYnJ1fqtHz4GtQ068GRQ6ZksZNZwWJ/JprSjtRfzwofmCSF8JKfdT+5HJE7wcrmzi3jqjwo7TZ7nZXglFCKJhvLz63/Mt+705LC+2tLmMW3tBqdxheU3jnDSUw623/SOFaKu7bWltoq1yz4fbqTMmUZ0SkM0eBQqWcZEsk2MyhdYj7VOVZrcQd4cfOBATe0Gk4463z3sL6Wgj5KA2VHkOf5YMQpfnypUPmVM4ROs4C0rHRH1/vKciSYkx324aQpMBsWn1LQOk2gclMwgTBTvXh+97cND3Vswl/vuUcd58RdOaPw1L72aT0s26tunmyD9l4kAiQhKNgZs6qXPuR49c6p2eGXQghVdeOSR5Yz2gIf2InQJHf3g525iLaKORrveX3WcqgLAFGnCPSNK3Bt1EAEFKSESskxHcIqkiXMm9MdHg4aTfc+mRn1bGAprShJth3g4cxyeAkvAi1Phmpo5KXVmN/kMH7BlqtC4O3crX7rK2VIRQSTcHD831ub1QyhNqqYROpEFi8o5HrOMuOaiBZpnvuWf2TC9y7LEqPdMPVuJnt5Ca71+uYE3vvEKrrEQ7xHCFGrZOsmiCMCaWE7pSNKa40FSahzVHBddMrcjjRtJoIEIdVILWKrWg4sgIhNVSPOWCPfIqg+upB8co6hVLjGb0JsTtrrHZyMpWmXsvmapcLOYXVXYZ0v2LO5rdHkYMzr3jVELdwsDXhTtIaL+1ltZlbYuhxQU2Ya1Mc1dRRf1X8hZ2ZmVqI8oVVhnxNkPiTgr/2aJ52U9Vsd+ZscVYDYiLFnckaYkNdRbeY3thcGC6kg/reaUFabLKJxlXpBsga2WoY5+mfemb5RJX9mOhsLu37vdjCspTBqPIFn3Ni1Cde16jpMnAGAzfrYFE7JuwAlQX5hdC2/CSumNfO6yamoc8ZlYOtV9+KrUSFEVfgQB3B10GbQ6qhZy5OO8Zy/GnH5H2U5ixDWVC+1sI0XIMKJwRxgjH51z+v/A93SkHC6sYmzKYKqR+Ui6XctWSg6x9nnSa1eCKcuIgUNm/0SBkcSZ/eUYvbttHvgoU5Ep+9mVqAcHH+kPpWHXD/bSAm+kBQCOxOrGVrfMQJEwsHwUaX8r65GzmpLrjY9cLJijwHNe8hTcRxJnClBOcJbgg+kAkMi6brpKaLlUnFN7yUqV+rmcxWiuV8G0DrkVO5rXF9GmEznoAyxTzTrNqjZjymQhxz95Gn3JO4KPAuzjRSv1YzRU6lRastlzHBa3+adpwHISXbpJSx+ZzlsiVW3lR78Gdh0wuBWRpQg60eoB5+F/mwiO5PVsGzEgxVwDhvf3WAHMndhk7QLZV7gqK+ngjGrD2Wl+GL8Fc1O2+hmQasQRAwjPMeQKWeCjr9N0uT6qf1dhLGicZmZ346321lhnf4F/c7D48KukNRMwLALq1klF14zAJh56SKR9B8VMbWLSitKb3hZ96L8C9eDnAVsArSpY0xBUoIKmdhWE+qXxpQ61eeCyAtK6/w29puG7ovqkuVwOb9ZKlIh089bb0Qn53+5av4pJ21WvXmKKXs1aZL2aUfhPchU9ElNLlQqrIoY2tfIMtowp+xrPrDQwgX6C/eaRsPaTMJA+WEW6+UTxuRl7RqKstKtL2Ys3kPpu8nSx0uSH2mSK6O+fXuxzPhFOsy8OXm62+uSSHOAl/ddSt6QE0BGDdF0f06bURZlgh/xmT1ysL4gP3tZrrsGFmJICbhBhaCVkVEQ8enKxeH1k3dXiCrRpUjO7YB2KgQBXJ/DFHuKfxdzvtmzFxfymMdDMcTqdyN4ceOI9hCKM8D/qyHHKWctXGCcWIz6zf89dqdK2JySV5bylQhNYGx6VCTkTEzMddY9PmJPnYxuG7JIiV1vM4F87AowGjKGhbKOV4LUiopO0FE6LWaT7H1yQooSKcUI3YnW2FqwKNkZPVBl82s6fAvXfzYpYbSa8Su11FmKtGyJKWdBsRqkitNR5+f6GMeg0QebzPbcji2j+US4Cuxw3QMF29aev7fb74/gc2s2/Aey6QRCGwjIJUQWvA8llf0ULyyrWzba/jSXpINSrN1rPWWXxR/2cG39Vfv/tHdzFoLX1ryheOnhTBlMuU7O+VdO+N7eIwa4oqO5y9u9R/9a/j8NVutYb+dTkipwSYTgv+lO4yq3poT8ZC9XQvP6gu+ihHGX9asj369/TKSKiClFf2O7wRSBl47byUqqqZbq8EX4meJch5kwvvhcC+ofQyTZiN0kdG5C+XYnY6UV9KkapELt/Cbm3Fb5/MlzCtAc2lrkd66zR2EyoqvHRWE3E7Pf38sUuEboLwDuVRGe+vw9Wu2W9XzNWiFyI622tX4w6pLXkDKU7jP1jPJ+6gsm5YPYXtGSnWq/BJllY+IWKDtcV9KuzksVVAKRsvvgFl5Q01yxGzdq592PRNnnjnfIJHAuq45MlOU87wCUVyvB6u5KmtW1cFPdU+0T4HjHB07Uk5wNZXq5BA71/dJ+3cF0HmthJTa1wCckVBlC7HoSEjlR5Fd+S8/Tz0v+wsDgNu7ptKdwn8K+LoeEkI/De9uXKUaYKB9SlW9e/bu4AmmwnOudQbr7jqOf/VlB2Ffg2PH5Rrad1kyGP4x+IxgS+kIMqVrY4XC3aHGCkzzo06WSGN05FyaY6IUqA2xz8B3yMRRmX1sLYCVmlNUap3giOxGB3/mFzigLV1TgVxM+E/sYzeyPHJZrbdenFe9WpKdIJHbvyuQEAGDKSVlboKCXYbdja4iAeUXuWxzWXwd/lO1pTYpAEE5zRXF2czz/Gm51uSVe++0ALitwMWkpYQA4SfO0BT55T3hKHhCiM38Ztaf7F/v/ulPzG56T2SHlLteDGEmdmZ1XR+hKnncMOvuNeDx0PYhEISy/3/I1nqX8I+5Xeeu6F9+N3eGkEsFgCwRRdSz6oLnP+QN6+0JXOj9dqhDjIUfrnhBoosJjhbDf2qS8lgScsHn4W1zKi04wqHFZox5SYSkoQS8xfE4WIBUKhVSjqpuZq8U/tO+q4no2t96E5Erm1FGZx8khw/MIQOgGneYqrmT5xxxXhlB0Kbwbeem4S4IofoHifdY0wQltRSKP0wEvWUpn7p/v60A5Ife4rcdPpV8ukJNQ79eXTJcrovYvIyVUNEKwDNV777zAWo5G6ySRV3KspGura5nQgtva2Jnn65ovkP2we44UIfYjbXs1r3IjsncAx1QjFhdY+SckZhNha3v5ONokPAMmx+Kv+C4pwdcgwYp5aLCfs06gxDEFJcNJlh7mgNgM1ewCWGYKeON4MmMK2EJemCiaZPNIXZ2J5enzKjZSiUg0RLO4qZ3X3BubrWKQijbXwW2Jftf/Xmm5rwxStiRPxGDeNuRog+LFZif0KT+g5Gx1hjf+JEvp2KzCq2/IHose1ArXl7Tee2P+o1WK44BAYDGQKbkO7PaQQItV3oe7t+Q6/CNCylj1uyNc/goJ0oJtGWHfpzEfu9iUNaLQvbT5II5sOkzfeJosJ/cIEn7UJFB6LKQVEP6UR24lALgxLEFuNri6oACHTIbUlGqwL3ImueOA+FFXNEBkEzJi3y1gyphvFw93D/QCb3yDgox6u9Vr1oOhJA2glchQCAkgkpV5j4eNDX9A0brzLvuv5L2y4fevmr4lMxpWbhesoN/FIILYWxfqVne+uqv/+OiJJ1ggJOjFK7QazBvnOpr0o9ZYAHJ/+/fgFeFexdKnsP80daC6e1s0LQ5f97Kko+7OdMJgqQ6A2EIPxJgDEGBoWM4qc1zxP5OgigMIf2r7y3/w8+6Bu/GBM96REO2TgaabObXu1cap1bVjYAlUNxzfHVlGpzx5U6liRBZCiT+rgEi3ig6mUFJMmcBKTDuVjV4RiVBbMkREK9p/nhqrneyQCa0rQ9lyvvkhYos0Uy98Zf2p36pKjDGYObCEH4kQUToJAehAZ5zLaDsRDpSkg9OGPAFOcClm1a4ufYjAyI6RKsydejVL0/pHH7qG8aSP6h+F6ZReMeECnU/9P0BQtuoQnIsLlnSU6WKbwgg6m0nz754E2uMXuKmER15T/12G0EX/UaRJddqcwhGT+Y72NKuJU4hpfeJ83Xz1iXKkmtVqviGpIy6iu7dT/1YY/HFNxK1hdhqzvjzH+d/9t52KKGQMJagl+FN2J8uhSI9wikOhQGGgB/EzPzc7TsdZLm3fgTAgYqr44Jc0+yIB1ZVb90OeZLn/sRMCQRYeMDQ5hNwKEqOZCTaTZSRjAu+bOcBWYDPygJL/PwGI31u0Zgz/1HwyOfv0a8BJSzR7DWnwCljQKvSj31K0RQHX1fNTUKOGAJP0ib7Kgi4I4VBM+LNrTd8F6+lv729ZS4xZO1QpKblXW0PD2NODfbZpVyfAgUrtm/75fSw0DYuMKNB1EFMCFUMFnMAsn67Y/l9emmBEgMABVYXM/vTlkvobeTsM4q/QYQfB8oZ6JSaHkPt8+y9kNln3Xp1bWqm9Rc9pypH4aHX4N7xHEpAkzt7FxS07+GCRUrAiIyJAR2XyJl8NbFf6yY9iSEAXuRZAvk13Qw2ymHCnPVtAiylfeQwYIKO8FkOqYNZUWkkXYfZlkNEvJ1piNwc8ovc1H2thYBCXPTB8ic8PesmRLvPdEDnY5OQzg1YzhaYQEX9QUYfN3MU1pvR+6kdnremf63bWpCc73LvLEhYPWxq697BHTFs/rU79B8KYJ73+OjS1sJDjySENXRd0EKwDYKZndBHaR3THflP4ikEmQllygOHXBkzlacqc42Q9xueA0tXnpbmxgCtMoYQrMGWFibeNFTq7tyGHnxFbx2hYkpxIeiVrOvD2kdol+beJUHGR3s7z9qrroMy3wdcaFfpCH/cdk8K9e+GejU1qbRPpfTqZ2dZ8n//+d6RWwviZ0itP3xwyA2OXm0wbU+9oVfR3ssv0dftqUQYa33cKzWE63lL7MQnV/zCcz2/jaB9xQR/Ggf+Smr763enx2Xj48cHFmMrwujDsHfbd5C1s9mmqZx/2Rv0ppKxTjDi//mmJstjKcU3jK+XXesoI0Vh3ZW48BMn8vbpgp/5awn5LiQRMPwhiUwsZ9+4iDOQw3rSdL4u4Gm+61SN7NNEdgoPmFUNgqApf01QbLoQu97bO1xxMQmHmVMBJvW8ocC01twxmtqW08zGotUX+1XPYoJOCm35tJWPVB+KMSlYBMLBzc3K/+yN6dAAOIIXd6+K0PFxUUiWH2cR6BERfC2AS01mrY/ljOK4l8koLoM3PXNOlaUcMY79cukao6+Y1A+V0T8O/CCpBNvPlqWYAKVXcVoXQgBQ3CgWRsnLOEk0MGYONf+mi7TOkzL6xJW9urlpdmmnxPsbf4ZFRKCECCreeRUz6rzi690NjiWxXKzrKoOoQudeX+K+2AbXANrMGXHOphZtDmOEFEQpbziCSqkTykipwqKonh3XNcb9KV+qLTPIwNaCVRYNwfg1HlmtW7BQNha01kRUP3twfcaYS2PKJpPex5UH9Qs5qwfzKGykzPnTaGnBx/ZlIti92OVz4aNVCh2UdYxShFzil3XRlCUh0Lo9S60bSkVUhSZHRS/VOPY7LoVWStwg0asCz3R/1iak0hec2pdLY97EyeTa/33aMTJpWxYyW3K8QzXrLSr9Iigb6xzu7Fj2NcU4ye5IVkRdmzogYG1F0Ko9Sb7vHRTnIuPGVy2F5zsqtLG7fYJJZlvR3kjhfUivWLf6pPJ+LvdbFoDwufv9Vrtxkp95Rzc6c4IdcCnmnJKHXrn4t56eLGtKqUtCUFlqPGqilyHU34BEZjAmvZ9vlwT8VcMQmzm3G+69fsdL13J7qqS13JqyszhU6sXXJKFOoItKH716BWPCxcEB64UWZ8DOXcySORubSbxmlJQqoVzvt2xKwtfu81U+uFm2XXbq20hjN0LpiuDsDZylX9ZBaWNozNtnLn/11rhufqfm4Z4yxUp1jNuLh6ZDvgZPYrGZc7/hw3qJFoTiag6g76pwCSAhV4F3TnsYnPO3q5DJYSmVuYCgOlasbFgLVm6Zh6ZdUXGvdVWd5lqqW1t9m07h72rmVRf8nTXWJtoH4Dxxslut1HtNAlibIPBsUxzTGQchOfJIXjRiItHo+eHuafKsDziFEuVmNqZwd8KDMQv4s1gY1tkh4az/rntR51Bv86ZtiaheQlH1cqsfqgs5Dy9OV+DtdVGeqQW/n8JWVkQK/5K3ck0SOKUiaAGrOd5QQaOXaMUknByUEB2rfWFbCoB3yBl91oi5BIBL/iRnwFnxncnNbEbh64B8p5LT/7jBY/6YJh1Z8XFYINQ+1lZ8h+8+jUw3eazATYZhCCEa7gpMhuXmPYHWbK68+rH1Y5VPmZsvPoky83+FdJs7Z5XeqrwbiPH/eY7r0+wfEOKLTxdh0rL/19P4+1hjdc362pHLsOm5WUmykk0oq3h2Hukm86a1X2ZVa4zKKoYP7Kc3sIdzOgLiWn16Mr3AjzBzG6JSR+VVlJQ2GiWJMKzpjAqRBOS7d0NjtrZ0z208r82M8q6SZKUWJarEh+cx3fRu0MalrXo+iSOtMe6Yd15SwHbrdF5lYUzeAEtIPBa8LDljYeD+WadPLovC2HtFq0ryW6lk01tzkzOHDLXJN6ZGZbl7drr3vNsKq6kWXGwBysfEdezW1//aWCCHVTasoy8LkLSJqJU/YBe5+V/8HNLPSgmX+VOE8pWbmSkuFiJeP4wOmsTUqMUyEba4areK5ZMLpj/y04S7ybP+MWWy07BpBkYFO3we3Ku7QBpRM1xpsUqCxKbpYn4eGBCLVzSjyMskpy7gc5A6JhjPQMhn3dpXMQWrJYz2Rd8pM7XEa2TB1batk+mAYoaWIIpKkpPSW5swavsOLwxNezRHsUjWrnLyzNO1iDosrdnKG+FV2ZEO5DglLxUMX/ddh4yrYEeNmoVqyVfLHaq/TNLMT2T6YEqisJAfpzgahIeTH1Pno4KoIRqCAqeJsu2ehOqXW/1L7xQGHsYS9tnp//d7Ia52sZeq+yxCxExlNW12urL+9Xtj5z8R/DLko1zV9BymaH/a4qqlVNd5R2Nxr8bcBqvSTsnKBj7slCDQ/uWXPJs1z7CuJ6khM/ZVVP9COsD6XdfYXTBtgTd3G9IVBd4RG3U/FeFyfzlv1EL/JCwIktvZBCNM5l6fFR4i8pcxXtb0pnWx24sGVnBSTfCOUhSZ5usmypFc2kdVASE4+K59Ur2nyItWQwwObsPQKde189qfiajku2bv1VFSvNc70szNaKPzUE/7iMyp76k+xew3w9HbmuVEqezWRyDFeA35cb1F6ftCM3vq+hD57N74lN22QvDuiov6QQ+SDU43/XzLx/iO84pr8AXb4XQIEb4X+1zWxsip1/6H3z2Jaba0Wn/x6W3n0xIxisjtNIhE+XVk8wQXklVM7oD652wax9iMEMF9wUnzjM3+euxmEK7p6gLq6GnW8tc/hGcAD39KQT5GqWnl9MOwI/xQCf4WvL9VjM4cseaFLJKgurZKirmS6jltqYTwMaMkeJ4tIM8g4Fj7KUecwzPa2nQsXQZcmsDaDmAqLZEJoLiK96mQs6n4uwGjOYYV1x3mepq6/emGn9cnJfHenPAy7zfpeEOOEeIEUr8b9F0GUyNhyY9kouOsIb7ZhxyYhL4u+zVXPQn4mKZYtVOcJS/5d22mNVapXwuT+CJGiDCprxJdA/hl+yqaCGCV1hBvEr2ZTtGax0fENq8G5L7XwtaFzBWOstmxKDKHqPI21EVuHu4MHXl2jHAkbqcZ2TbOUzBNCDhb9lS/IyixQ4xTxgQXft3hBFVsTMpzEsCsMmV7rXyR/rG05rzW4nm0tetCrKUB846E6zrGrcy8dK4e3XypK6lrFyIRpdzKcyYf65PzVGXJj5IqeKWg8WuKs4M1XuJTiL3HS7FiEwQUPe2zV22rSEEQhFfxUJYJDAWLaLZHR/bMKytAct0LYcYrd6jDAw+NUmEeNVR2ujXplGjCWatUv5uZyiv0Bn0w6xgjP8UpzY0XGDPqnGS5UH1J1bxc20QYNQg5qBBc/bKjkDV7hzO6e3DekgTy+5V3VkYLHszdWaQ5h3lj4txLjMdQK7UimO4KBEuBx6hSXCaqmbJBBQbEU5tqq1LZfY1yiM8sT+hy6Uy9tPwsyc3b4C83qtVxSC37chhBuMsdNRD4of4zQv7We1FbCoH2gxKI/8bWmH8qFsZ15Tf3k52ZqTmDTJlTUtp5uXlu4jDlMgZgD2P0rOv2ip55kDLqnq8S97qNXqJj+SWS8oYGYFQjmo15yruyKOQtNSmBR9YZcBAcLLaWf0GIi9CopE0of62T+POE1t1iV4OuLHCnla8/gHV8RSsAmZLNMbjG1NrXi6C0GlN+FZpBQEp2DRTAA41gDYKA2EtGNkD9h1v9H0b94fNq/tivNzVJVwdOncEcK898AuBAMEJOBQJglHCla0wlSIF+FYSPp8Wb1idXsPIF0kZx2MQQ/dRhLdkwUzXazdODIzGtfOR/YvtH0Sh4HuJgjEy9F/mGUlJ90mm1jZByIXdQ4LAztCmbCnpa1hH56TsjxcmcnTh7W5OENmc1Dd9KztBd9/QpjfVOJH9nswX/C5HfmJMtf0AJ+BW7IuvIveGpEGOqfH8qXEga0DKaM1p7X7Ouxgo5JAN1nDgjHeRrzdjgMRnhORthPSBZ8JIIe5oeGAnAa/xUFFY/hlbsIp1dMzkSUornru+PSCU5K8hYqknPgrhT8fO5INXX7sjaphwTf3bYyXWMtmVqjgoSDEed9ae2VbIlMdKFFlem/lPqP7kG921gWiJBFgBE50RcMb1UEuoybspDPlc1zqFS/+8l99Ejb6O/3VDgrppKayvy/76IvRLZ3/svy+qR/8HuorEwRkn5/43+/oOnNtbTZnsJDCN85HrBitPFbrx2mcOPto4wQSCEYofCdl2aY/mUTuhfabzSNwjsZ6sPVw1SrIHS0T7CH3dNVNPWd+3nvu95ytUCZjJkHJT4juc2On7DtFLtRbXebn8pBWKmcNPRqUFVr+K0XGhY1LgX2XNVlIx1OqorxLTghh2wgEtG5OnpGAm4ZJAdCFdiEKpHUr+qpxvi7AOKopqxPiQzXMrKMm+9qspWEES5ECHIEX/CnMPQcdkaEEM/J7k4cdA1+wCP6cq1VKWZqdU0nasvSeFZ9j2Z7e5LFytCGF9AVcp4NMM5AxBv5GZcyRvgOVP1bx8k/+hhDKHrIqqU7drH62+wmKwV74WEoBsSS/F8Hugw4D71es4Da3qM0QjR512wJ984/ZlKmL0Of1GjWYFM2TffXtbl0ipldfFAcKjB7RNERRuYS0LkGHpZtiNkQO3WnNIdiM4PPuZ7kecuuMo654CtxCHnQvpw9h39x7PgU1gUMUSxGADPWTGyh8vTVgOnupD2NAVilY9JTIIG87nDxdwmK0EJ34MVofYKKMGDhn+EL5DRlj8boNX1Qx/UdC2LonTqOm1k8y4qHdOVzxqZo0KYox4QHWs+HDFkPyQ0u9owHNguFxgxrVGNJsSOO1pHaHJtld05sc4cGmLKfiAnLk/aHMRgsQbPZDB49FHQava0OdcEVb9VvqOojhFMxipGlDtORD3aDx9WPq016LHi+HpdMxGcoG3datkojt8bHU0H2/7ZlEkls7KAP//xpn/n27L846cRA8qeV4OpzA3nXZlC/Psv37WZ7KahOf1/Pm+y3Hzz7cczjGshp2/xUmECuiYzeEy4KoOU5TS1f58tAE1EkLjJ25LWU+acDwRU+4BPCeRDanqZllWK++KnN7hiDatD9TN2cLGI71stGDDvzCfE08P4huKVmkUpcAM2OkiP8G6kAQD22uKoMCV/1Vio3DjXUiALK/XkUiyVvX5tMIyqLgXwB5ogjcJgqz89MSyAOgOQUpA5Q/oMNyXiMmcZsu7pzxgPqLKvogJB7tEnSSZLkClNE4wpQ5QTXrJXUa08SOOS4WCux8QdY89KjdF6vNBWCF2ypritCrwZmowJF1Q/Y+0L44anNKUw74pybtBO/e8IvWwQqEzCPZ96nY7lsUPsmv7pxgacgJQgopdVHaFJydvQdkNM6ImkZK2MfVCNgnyvqLQPzkREul611UKf51996X22vaIx34XydIMbN4j6w13qBs88aloNd0qbPVKHYMYA3BhkX3DhRlTzNWQcFAgTGkwE1bR7bfRv769GX38dMWC5e16Vp9XAH2MuPu0sASsTsj5jRIhPfDWsh9XqEqauYcGUKnQ9Aa7o+hLlAXJhtQkxMARomWDbgbHGc3RP18pCCp8kh+q1NschACwS5CuiJNGEVprY0oF+/y3sUUh46AU/p/VcZZ/EYSCUcn5gP8jjuRd4inOprflKMICY7NFimJRQWQUGg4yOUbe7hCcthGCbzke1vsoAi4V9TAgLa++2UpuZ5CHcmCbXIykaYY9kheLA925XATecBxc1gJtumeFqnEVaZSbizxKBrdBccKkajJJH+3LKvDP6jjDWdMZcEqE4GtfK1cipW9FFIraTtn7RvhjdhiWYymB6FAJcEQT/dDf0bwFULFh61zGEpFFhzO9exXusJwgFpoxE35izaQFhzQWDNH5NxgVcL9ifFZyPEGnVlEaJ4qGOFMH946rxH7Wg7PvtcqJlvRIlP6f1Wq2oEkwHKfwD+0GKnZpblVNWBlTY1oXy681ROzzdgOhMdf8mTIzSKE4jDW1Z+w/nyef9fvrx3/f7QiZtYyNIEarWPojs+eBsMDmMlebLg32/uCu6QD3ZlQjvT843D5X7wxO0q3QuZvWvz97v3USPnvbMVy/7+8zGc4J2ynhPy1quNqjg24oD+rAxCdd2ixc1oRjb4+x+42rtVlhDj6tv2jqSasEZb+uFIjqU0Sa0grje7Pr1DrKqDtK7xYCrrRdNf3N3mC0zE49qzVp1poPsKgkFHmbSeZGZmD7yrDwRhNwzRb47OfW+wevpFUi4LUIuF91Q6BPFLoAvwq1eWZz3cceSj/ZRgJgpBpKnhMeWZVeWrnMie+E7rtrehrFWdARxZuar6HB4YlHtFJbtWCvE9kC1EbLhD1gNpeZMXQf8QKzlEhbx4sK2a0a7Voj5dw0PORUtYOqNE1C9BaQ0yUrSsk1JxQ1sym7Mx+KM3Wb/lXrWtUPkUudOijOssxGeEMzsnhYmcOUNzNy1UhDNDvdbUeTO0QYt7fdXKLFmXxmrKpKP6IBRdpyXtAh10rKrF5m74tBXGm/0vW0g42CRVP9U1R8eGz5l7F+tTf/13V13NL6VKcinJpZekLRaH7Iqu7u995Pn9f2rSjvK1lw9/tjfJ/TD3xlnbBSQLXs0uDyanGVNZPlahMSGerNMk3TZn98vUadOPVke/ZhpOdR/hz84XpR8RlG1Yy0FI+TJofP8a0seRAT3d7xAw4cLqyW/ThjWyu7Th+nknvZkUTarcnvSFufH6VCbp0l6PmxbtKqvssHkcLR19TDNdVZj1KnnepVZ9m6etgTaU0+S0U5kAqQErk9tutHg17vnKdikYHTNLYuudlXE6YfYlk5tl2jbcpSfJI2mut4P4FXbwOhpp0ReSdjPnSsapllKyR0VAg5G0LX7yWVYgf3kKmqFOSj1uPlxeCIdOdA2/rBJMOF/+Rro0hQtl5axxR415Zth3a7DzBmom1Cn01mU/MOz/of3BTL0tYQfPnxw1gyer7tjlIbgFckl2xEAQMsPeZfvGpwwbbJfnMZlqkxzr1v1gfusT3oodR7cU+A3IQXxUpIrQfCGfqizL3zRQgzVV4ZVWl2tgEajldDXmcoc9sW9m5DQXGFMJ9iOnJqhpyxuxI2YiG3QjODuG8zUsfPAhdoBtrNTWaP642O3IihXGFvbp5/p82Bv92kqLLsBNIvIF2dvnvWTdlF4b52MnLrcF1OMzTff7p2xm4paMJ3ckm77ZFc+7/IO71TGe5bR7EHkgBIv10GAs7yNOOI56OgOhJkBWTdCWMyL8dqnaCfPC4Td20/+VVu6sn6d6Xx8GUtHsyp262Py6OOrP3f+vIt/POM4CyJ0i9ygblC0PviPPZB8WzYp/fjN7w9wpa634/EYiWFC9ycK789weYjOdmt7rFbHq5kMAB9P4ygQU59Zq62xzrWHWsB2ntSudqSw48WD/zFXE/GiyFmpN4y2/pOjwYv5g9ewXp9r8Pj+6L7FQ6/H1u1x/+nsijjOG3wcXZFWlTqQsbeUUeQc1xU2n76Q6rRGJr9zvKa97Ly1ADRwctYTbtZ0YQiiNY9G1eYoeUyCysdzdMjNSmrOgNGTKUIRU6G5CrnQJdF0hmeuop5V1jqG5G0L7AGqwPzmtkju/w62g6k6hN4SSqZmI6LCqLpBlU0IKy6potzT3AdcCZp39y8dosq7VjVa6mTd/xZRra2H1ZPRQdFNfxwAujb98sXw8Ev1T5eG9ezG84P6fi+c6sjYSXu4vUXrBJrxjAGnaDQ1KlVmrfX48JRoDW2ve7gc7T89UIj5vH99VrZZWjH/nZZ/tOBVaZVyXhr/fOHRQeiKsdrKSgvBSz5EwKYtQybZCOWeOMG5kCaelg23mPxx0jcU+Ufu7HhF97MXtWBrNy0+8WUSqkNnY1Cf7b3MksTb9kOFC6PbqmKF5PYCaW56ZTMHlC94ahlK6Xm/TMqSm/V741NXPi3B+sPG3S4o4FKj7dakNyhT2bG6/Cfc94tMT2tQgCl6I6itVHxI9Qrt2/Zl8tPFsPOt+rJ63hle/E4ob8a5S9EXwNXavPOw94pNsHYWVu+/Pv/Lkl2vfH9W9n5/zupqS1oIeRNXNtUcz8mbplt8FFVxFTAwUm4sn6rp6X9tD6IMnBSLLExxp7q7qjM/sjcG5fn4aOMoWTYHpxRxXvv5XTKTnWGYKdTJ2OsOVycqWo/bX787dHsa7s/KO5M59fUQFpSQqYmi37Tt2zMC2KeLi3YGwkC+eqcqN2vHSjcNDb6BWlEm/Pl1msSutWrvuOhmioGdqjSptTqdv1eW3777287o7s2vta3r/MKo13lq1kCEvLsVq7c43v7BzXcmH4nnWXHqqUzPxj8yO1A/6TnLH3RaYgBc58VF4dHvr8bDuXd5e6pvzN3hbpFI8sx+PfxBwtm3fFoUTnRLhBRE7fGjHBmdqR1nPNHnFzp7Vvzrm/Lx9Hn1j10U+q1N9fPrJ0Yx219szzezZ/c9y3Fdj72B/Xn+xt2wc/8Xxc/aWX5he4bSs0fl7eisIwJVPVnv5tSf+9Vq3a9cta5WZwmvah9V93e8BP+VOrd1zrM5zyJiaDoxoXsqY95JzRx6vYsJ++w627a1b1w/YBXfkQvAW1uPORtzjHqhgbL3UOkXzqekrk/3VbISc2drwmsg7CmHmcx3GwIXqPtfZSUhWHIDhdkBAKihjcttKmtrwVGUuHEPKXNV03sxNCurTBnrbObyWWrGL6JooIw9dR0hNnRNaiY04LwSatsI0ZzmttCw4t7Zhy1j7Wl0FftA/+Pihm+Zs2SmqH0pk1izeSFTv2GUTqXU6FgS+8EmeLUNAZwW3CspE41X0fXBcersz6osbvtDFfpkK7TI78MoOJKJWdUTlBVZEqYCzmptvr7DKV0GggTunZsKaL0LmSrLRo3s7cshNKaaSpKJMkFkChRKEzcsURa5WdC/oLaQv2q7KbfTgV0ziR00pRhrreNHkfApR1bkdH7wrfkavSurj+uv9TM7xDCLS304NC9WYqZe667cmX26Eod0YHL3IORilIC+Ch02iimbKd5jvxR0vgZt7IfOAu/U08gP++5lF1G4lbW0TiJwiWCfdnxgGpOgrW6Ia2GTc4/TrS5fDDfofgK/9dmUaN+XAo+IDoLiVZHZOCmLPvQAa0WOvEhmdA+8sjJjWiutndWoY5QYGJvhbeTQLE3Z5wS/Du7d24yCsM562MM1DUa4rqcsIguRsHnVtoEcY6VbDvg5lqrlrb3hUWxbWtNye8uSbFxyGsUX/47PxZEltDGa0MaoV54ex1yXGHwFXI1cAyh/dn/t4TRu+qlhjYcpQ9HhILxXFsHPHiv9dQNhjR5YHSC0L3AJYzTBo433qp8M078s1AEj4NC11VFfHBYxZcIZiPtC2w6Glo/s2jv9azs4q7X3A8EoxpiqaQLautAaxYSfK050+n2Evgy2t9S61AqNgYdiRUH5urRSxCDcbhRdgPM4P2VCLwJBDZqnSjxVd6cmzWOMuRrBOxPGuWUJQTru7kke1NfxIPN0CGrJ5T0hz6gpPsl4GWAyFRTY18IkyZQld230NDdaSaU0D9nXKiG0wSlBUqpvePXwFucMlUolGcHFNjD1BZWiZXn1KuKyYSQ9gVzrPhWj95DHGRdf3MCUtdS+tuuraT8rxXnQG/FjqZ1/H3lDa71ndn0zbJSLXeTv9PWqHZvOHkVikkVpQEy7vWltbx9YKs4DWwLWUE/mgktpsXuwtY6sL05CaErThrdJgghPP2vFeWBLvABBMrKugsBq75kYFwQkptPkk5FV0iIheJ9UUFz4UKX2e1Owjs8sFueBTwS2wTtS5pRabvvtTUR6IBzZrSHFA7Pq54ciUWuwoMEf+WrRT4PXevi4q2UtHwvhvXbJBET4NWCbV0kZOz/crvXrhZOFLbOxQQHZvqdHcqQkaKJi/Javzvz0da2TqIN1y5guJaUW0yZAt2vANq/oFCk/lL5OvTtg18YeJtgpMmeTzWo5hKGua4IXOXfeVuOoVqIlxJyLByW5zYjSDAod9frDzGf256/vdXVKf16Nz0WfuBcKGW8iYXTXB16Wc1pmS3mDMhZyQSZSuJ4VKBQqFhiyJtoL38Mg8Yjat3pdrwlHHb/5+Q8eLdYZ8eXympKa7LXEzCfAco2eUrioe/kUQQ1IjblSGu4jG9GTsNE4eLGtX9BYnQs7fdIjee4yWqzpyIlDjS1G4cVNeI1F6Q/GyjecmuAq2UuXUPuEGX33+q5Iluxh+63eT2mNdXH5fOR4Nyx3jxIKzKAPvCzv7aKWcsMx44x2vq8Dn4IJgoKqQQemk0CDjyz5xZ9vtrXZjnGCA/f2G1aLeHkeeu5SGIXIAmFRl02N45ROeryXERKUCYgzghtLH9mIIrfD4TrWjcUEaugTS/HQUvyS2bjRaj53oKxKQsTa9gwDv+4JWsNxx7obEpRPZmCcpu9OXSm+BGErjHAiIKIvej7fZ/mmlRVZUarCCPxxgq/guhsXnqDXRMWkec1XBcHIGIjpO4GHIKOGyct8rBb0b2RqM9ehtrXd17pr+Zg4XpksK8FrWksppNZK8bCVOnEm17s748Mm46Tw+0KDZAlOnrU52Xi7S5KS5oLP9E0HP4K4Nt9XS2nqg8izhNJ4tTM/Z8BPlNOjMWEkx1ErEh5dwiBkWglSNjVn4DbvqJCPQn+CByFJMZrt9+TYGahbW+njxu6kJuSPdrhO627cUB1PJbIIUm/0aqzvac+mXAeRDlWemijRF2SunpM1YD0lA/MtowHQNc3Mpca5OWNCGC2VgwCcHEyYROGI1I5RDOaPO2ixpmndAcTGHKQWPaf1wSNFRK7VFkWZI7xjylZaDr3TNu1Is+O+BzUKtW+BkDl77b3rwszNh8gJD1abIXb9g9duAk075doNcRAf6vzmUeD73yAqtghJrlc+7m5yf/iRn3mcXSPhRHJXfv0k8r2aQ3fgSqBbFCNjTm2If2GTpiZ3FXuMOQcIDy/9I75g6prtZx3TMSTunHGYMFm5pMp2kLG3VfdfhTIoMoaRwcxcM6lLUluf0pFhuCw4W/xmpcToSU7lsawY0fCCj0yrGWbCbh78KRvYWfBhLPmYSHMVOnIFYZ36Dr8z2Lpf6bceOIVRydkW6sCHORVlysl9zFjXcDIsMKkw0b11jzxynK2swbpeCSlWmk3h/Huu7ZnLkIHczhFuXCNCjzgdowyMZbZyuiNJyNNZmYllMSyd0hq2gnTF4m6Gw1HPGzkDtisLTie4HA285gOb3j1gTMYFu3c+wASh6HurZBO0lqIITop+Ykz4XRZZxQHTYELreiljWvmWKigXti4VRxEZwgSW0VeRsZGtxbVK6UU82nZjZhrCY+O5tEdimvz7Na8Ea03kpI3WBMvBr175pHy0+Hb27TJ5Xnpe2FvOl1dRafOdi9Ro25h251f7+XS+v1peni9Kq5lBhpZPWyYfmj+ZMYZ3FDhKq35Z4gfBy+zltPCs+CxXvpm/WdyUL8qnz+gymXe5G2ClpY1xZ9Z8v3HVuNp4Xz4/G5+lOkU5+fXa/FJk9w1DJx8G/e7z/6TcVnWIprho/foyjcICBzU7/vZoff5Yu2lcmPP8ci9pjqly5y6fd3dC33/1VrPm9GzVXJzNz24OFrPpbHF4UzvjfS68ZAaYO8gr51Rp/Usp9vbesR+K8eRBX6rCodF7POxXb3c3e4sLvKi/vzeUdVrfErk120C4airIsqvNLLmqXO1OW4PGoDreW571y67eJHTnBFKlNQdqEZmYUN6v7/h0kti2F177OSOFtJOlkWbiChBsIDIfEJdVyfC1sPEXejG319013wxeBTbJb+U4ti0MrZmw/kxJ9lIz0We8llKJcca6VpxUpmuvQ4G4FUgDaaZrzKTSnYHSxp4InoOIrPkWV3xTHjTala74xcDGKaWCg3HOo6c2WiU2muMVKMiIrNgGDSfiUYBEmlOoWKWV1KcNBVwr+Y7AKOxQSkClaSdAQ8W6amtqYg2HL7UP7gQP7BnI7gwhXAVu8yMex3qD6QV9QCMhUEy4NE2OTJ8KqZ1gj652ATXlM37AHeVXS11m3gWhLitNb284c6dtseYkUQnP1QzHMmbbCQ6BaXLnbFBqKYcAYqrzQrVDxyuRFW+YhvQd6v8Q+u81w2KezC5SF7yUX739IPa9zWq94Z/RiGBG6WBaxkOISZ5hTLmEpeRsBO+Tg0f2r3C5clQG4mY8BAlVLkfESiW00FjoOEVZ+BphXBm6DEEN0ebE1fWW3xeAfw3XFMNDJgVOhRJDhlEa9lNorzI4jY5knol0bh7HCj8qViyH5VDrzLo1YBovYA9flA8Y8lDQHW6s9JKlcsGiHf8uqWnGshFWDkU0t4uGNbpmOmMgDwkuWx9wbRQaglMGSrynBSF8D6Bvhl+t4p3Mx7wFK0wonWtgjZe+Go+hGRKcp5XtngHMms6gMkSPSpAbyRRv1Tp6LztcdwaCokYE+YwpM3V5hkgir0AuUAVuBVQoaaS1CGpHqfG08cM7puw2hP9SW0N5vRgtcr9/7VCyowOtKJScgmvbfzZ8G0+XgTvcss4qIzUQE4OtEsLXKDy0nUu5lEPUMTM+BMNZIrxCcr+CJ9hFASN0CZdSLcma5jKmh40MjOlkaymGgD3JHFZ0G1zQcysT0GAAfKal7psQbfFrJyaNpeyYe33vhEg5Zx2i/iVkIAdKiLIAVRhjWlSICX1WXrEB0i9wlemusKCPa8r4SR0OaJw5AeGgO64sJQc+FEERxWURUwEEdyPvBJd6LLSjNidE4/R6B4x7H5Kx89Yw4EFlVMSkyk6FhvwUCC5YWx/M9pDtxgyC4FhNCHJja6Pt8E5dzlM3qGoXpqhkBVzoO8zWKPUuwUZIDMKGiJLGg8lR5BkNnHMxHNpajlD1L7U5xTNSLoSOl0VRV89eOnGsl/0d6OSZFUmIjJYj4zCpNaT8voFD86idJN4V1Jnn3iQb4hL/Q2P/TnCkqnFRvpUSD6atzSTu4bw4GmPD+RypZ3YRKakFSl1GYZ7nKuOrd2VFyngMFl/CS+YlaXi7jfIzTyXp3qd+s+d+ejQsfgbFpHg/WEKW3v40GQ9Vu7I0cocx8B4HBr4LYOKq3bMqFscFgX22b/YJcuog41Paej22A+f8LGivDP9D6p8Ztb9BiHIerB2PYbf2TjbeDwZYELSOC+Kn1f0EVOp2I0wTiV/vUFXMXU3hsUkI1S9NbludKK03lsCFDlgzODtbab9z7m4g1/KmwF2Kvgx7dYWrr2+9AFwEgX8ZV9PTtRoYsTZ9JgIh5mQMDPhNK1jvODdOUiWQFSfUvUH3Lkrx0a+9QX8d42mu5O5TTKhSWm+44A1ghXQh9DHoDgIAnlVv0Kn65D6rCgyLSWoMpNPVDoW+VzOmxEVFbm4qnDSBg8SY1DVW7G2mQfoagXleC5T6tmMJ/fpxkgvjLR6pEMDiJmOtQyw7FnJZuItbKNlpW7ogdimOEBV6czfyO8zwhIlhIUwf4HEbGE2lTYBUEPupnwnQmaYaFb34+wH2N3iqDCFreqCC9sfDqfetdpik9eUsVulRp0lgIa0fgWm1PvcP8t1zTP79/R8JAuDnn3/zW3DuO4M1CjC/15nS+lZK8TTpi0dBFGYpIX0GwdvhWJzDv4XHXzvztCGaNywYpOZCIq8pH5cnC9E1r0i9RvAjl3JX815NKzvGpjZGq8NpXTvFC2lD5Y/AjplIf8u3ZKWUb5hULkoUXBNVA7LyxFmCqwgZAukKJwMeaRKyLChMtuvng5KcEj2rINzSZtcPwjCOolPR5ch63jmRru+9OTvpOt8QhMdSAoOwGQPR0UofB7v4gTJeONoq4r8htVL7WD5yUGdkGjr6vsmYclE5HGq4hEAPwhgdk42GW71CDkkcJNtRF2F4Mtv/HKW0mtRabVoLfq4mnGxwPXb8rFB7XGZHG4kboan+D/1fYXXilPj3n2ZE8CCFSG3ukuvnsLazJIka7c4ShEnLmIIipHzTihC+BsGbeuSKR/WridB8X9ZOT/f1sikJqSJKcB34pqz8+0bMZJ+hY47RPZfmro0g/K3f61ffuVE8cdLRkJaxWWvB0Uyadz4kLW8WVUKoNfLKR0U8Mz8vpcw8xaOgaqaA3tO9ykmIuunVe3N2uSSogkbYWCmtEEGoj3ie7iMrionyvj+Z4Kn72TOEPMLOUQ68bsooXYMwqBnN67r0Qlhbr01QaQ6E/ApEyqfiLSzLZE2WnreBXaYjEm9yAHjru5CwJ7qiqEqQaNr5J9XQT56UlE+Tql0q8usJoU1EZCGOcJa4sCwHx9euvop9dwGq10DAkmBWpmbS6kYB12yCSoXTxZhM3Wm45Sl1MQzP6/a8kRCCEAQGNWmdoz9IVnXc7Ha7GJfZ//Yt6YeXeX/8OXH9Nv+qTx/5gfuxDozBy37EY8T5AdboEbSxJS8UjC2O8ZrwDc2OZcp/fh+cquBt1/NxdmpFeTI0JxXt3INWyrYX4zzzlmr1/uFz1fgJ5CZbceb5gfSOVyZEeJVIZHmlhtiGuwrZ1r4Y57X9hfsqUL6UPVG4hmC1J8AdyzlNIi9d834H3s+UFP0QA/tXXz/iXgvvUTkM0HJoafWJx818x5eP9BQNHxltvuEh8uop++Funz2wCLsXJUy39cSHzXz3Qq0ly8GGUghKmU4ZAByFPaAd+dDvb3x4ZK37VsrvKSH7jFv4N9z3DnTthloqA3frNicU2MwxKqcbdzb9NjAJ59oliiFp1xpSxGYXi/jbXje5rtFN5Ng3XLzFIAh4tEH8OeiFs2+U8rkrc4tWrMdl5xgRPbJstmgnOR3SFzMFmZLGF+bF0MBLVDBsy4v4qVdSwJUbEc+mxVrGrIUwDmYMHcwL8Vi33EFIyla8iJ965SeuYECvrZllPjHwKm0qigahzF9CNuQ1+KS0OHb169A3K6SrXAjZsp/ki5ohsnW7UrnyTZ51D+1OWF2j9mcr417rdHZO0LvhhkkFrx96WbA3NGwaRm50xrfP0lp9ZGS5xLndPHofmEYk/mfV/9sP0Th2kaU5H2Eslakp2JQwGXD3Yfj3flUy8jbA1O4y6awAU8N50ILCyiZyZE6d0jRHpOrC7ArtKIjCCsic788oE0InjLOCadlBhwenVYj3k72Vq+Y+q3/xh4OeqgwKGElCqonXWXX1QyM9D56qTWYTahlODOXatojRZ8WV/5zcZ1MSGkWGAI8ZbCp/TpDpqpCTXHBWUwoEJXyWB8HKRc7IythApaVevtBNHW1sxK2mqNQX3x1uA5TxrPd+Di21Lcys5afyHjdckF8KZTeJTlCCI9oYix1M6Es/DJ+4r6GALke2XHBcrRNuVslu6h82IFBniCRrzsQbxWZEyYmNpm7anuWcNQpjxDgXotOgiCjnaeIbFPLqt8Eu5WuFb7ASsuFcpKVxR/WkmqYsTXz+yEulIkiomq7CSokqEUvH1P+ceIBRLrsZqwgUmdCNR1mra7QO4jouj5U1R1eRN8jOQJElNWn+cpR6gnVqewSJ1N2Hz2641wvGIXONzoPvlt8xW31gG+v9jNtUmuQirl3xr042SQHmpw60DAVQI6ogBHbn9MiaWAlzAtFso24SY365s/UPd12NdTcMH0fQuCMLs31yK9dg9h89sEw2W9IwvFaEUj2VMTYUPqScay0JJrPYmZhGeq+IWbM7ArYehWGkrrEPmB2IOvhjiXHWUhKXOvNZrfkpFmi7Mj7AWEpWO0K/NOWlrw1AEOSAQVtjnFGCYgztndTYWxtHJCTIzobF+df+OpknSVVNSeDcreKPkwLvFFHyf9TiaNXnoQ9WQJXWuT4Oj+QDew5hNf24Ws1smgS5hhkXtlmNaPPHtwUL1eenDd/xqtVn1GOFHigray8eGmdnGWuk+6GtdImZSyJ8/J/OK3Anz0WF3ZlcNTSQ2gXsuhVRPtS8mZhVsEDD10OGySjG5N2pct0rEPGpMIii0yyF1i8AewqmE69To3qbQNu72Ag1sOry8W2WfGQeowKTDbP5Ta1aT+sBSpKNslapqwSFUb3JcJnr4CtALQjCiDI47n/ywgfuN0hCv484C0oCSAwgQpMhEAyb9NYWBVlFQTCEd0zrGV85w4U09SUiQvEorMcS5no7KTk/Lk1+6q9cF0WkFAlbIQLB4TRH9f2VWoRBgkVWhAklKMLJPsB1L5xjEmEVgUy+9X4vDjx+6aIDIfIkZXOxw2cH+HUVDAYoeRGymAGiWAWVe7p7vrTPRzP52hrdpMW+VZCXDjAIlQSlQlwgw2gUmlj7YDF30b8Y92O49Z+3LQ2XTG6BisWPp6n/auhfveaOcqiLtda4TTWQ5Zv1Xl67Wxa1bRD3CUhEbSsG5VUGo2XC3vMS7RrWdz2pv3sHJbChxShzw98jjIbfN90OG0Oiutu/8KrAq8GZ96z/xJcn1aPF86d4W9yE825ulDoSX/yOlB3xAhtj6oiN9z/xiTFHf/dS3/XPvAJdSeMTYQ1IJowVtDiUQSeUApqUYz5iH/E7uyUGaWzXcZm59aCIfHgyZ9Od92bBWrjPxVrni0JI10oKvZfNREOFuarx2LXtGTorYpEu5ZhtWy3XWQkCo1Bn5wjzSEk65ZGUAnN1w6cfHwa6gM4Vd68A26oZlfEoL0BnMI75OteqEQ5B5Q+sbrPWTU0J/p6yUl1/wDU+JLKnlStN7ukahbdkK2jHqbU1wJhKJmj39pHLhJOVcVM5UXscBp3jXerirFRz104BZR5dxJiTWf17ob/nXG+Z0OCexTzeWUQkDIINR3bi3MHBsjnGJ//v3zQ9X3syBKId6Kvxe1TeXIvT8zoObYP6xYjX5F6EEIU0I+vo01hF4rjX7xBK3/uk8ktM05+/YNxIUxXimz4WGdqwLzeD0/fBRAXkCqOmJ44y2GvtJhmhb++wuWb8yVVz+ECaDWChfWE/cpBxxqYRWG/tI7iZ5qRGwKoAmwC0k+yDpBiqGWLp9TYB6zU3tpRUfbhnFlR15awCGVBenjhTPuNSlp/W8izwif4ElDPjrBDAT8NGi4HCxlE81a0kUuxPBLokTLkxL685XEaqJEFmLHTtWz6Z63gGu8MHbpQrOKGSv/9lwZmykiGkBgkq+MHrYb3YwfDya7NuWGxbhmAfOZw6uASx04Qmx62gPkaVfV6r29nQ1PSiLWX9GTfmnZokmCq/24xViLK4VG3jWjjRdBHpenqLOkS1KtH7oKsIFc1WWVHKpBfIRAGN+YznC0kIlwJCqdRICaQgRwVycUK2bYRrXoJKr5BMUgCHHh8tPRgn26IgyrmSvLY2uXdFJwk99zi3CNFXIGkiqt+7dkMCD/HRbF1tFDnyAfsTmwC+DaAuKL6srg2tqSrE0Pj+i9oNOnFNUGgvajMYNkOD3YdP4sC/50K8qPrunbCxG6SEfXLgeB44oq8TmgHBT/ZeLBEKV7IQlAu2p+IiFAiHhlib2GMs7WRN0aQws95HIEcI/ubFSRuJtRMAKdsbBZdLuGyXYmQ7vxc1emx4GyV5h45Ogc5OSQ5yxmjHdt0HxoXTVn3XiKtTSZAzLbV4XKv6t1RqUn6xlhF56zmKRIzOPKsv3l7ZuWr690TMX8dv3UCVtjSv85xRyuiXQR1yHKRUelOgkh225S6tlHzAXF7U9MXQ2JSRW+QXrNTThF6k73OENaHUT43DqknZNwD2KTB+c4IwT5V1f/0yUG/rvnNFbYqhAd9qiOzt0e2Z92jo3Ff+ox4Ja19746uIQ/jZV9c0C7vhDrooEwEJQsykfF5gyq6pquFjrElGXqylsD5MqhUbIV0x2smzjpjgiyiNrYyc4FZb1NPQ07Xg+ytx1eacMLhnDbM8fjDAmGswM8mSl3LfjfsqYfcTX9V2UrBP3p61PofCPnKQecMP+MwGkTgSAO48X0Ii9pChcHBy9BOkMmKJeuj31XWvH+r3BF20cUr1do3UDqNyJiiVygeDkgSKSVbNJWNy/oZhE4s+Z2nfR0em7BpxYW3ifIivK3ANCghZLtf8SAHqk9ATkC5DgOcCnymYa0dnnYU+G0J5CkDUgeQFoQyQS/aVTeQY4pULq21cgUWpHUBYsTa8G7qBaNugjnxSXdXrtTrV+oLcPfeg9cYX2cJNP+pstRqOIFN6C7LULgTGZxIbI1M1r5CUIKYkfFh5VB8GbX0SfgRrYj5GrkN/mqe5CWgUphDZSRwmTT5PlKTx20ooQAWWkbLPioaREHSx15yy2jFGxzfWCNMlCDmGEG1y9QhYfsJbYM9IMWU91yBree9NQSQetNr+hhN8rHyfbW2Id0NnpDqccI1uQcW0r+XUzH2k913zfLDJTsItA5ly3QW4MFds0xWX0tpw+JSTULSIF0AK/CyHcYQqwr7FV2vXkWyWvsHqQOyiuEwrRGBP2a9daE5XzFjDaMa1wUs9EzojLb/p2R9AzP/05O+3bFhnVU8Db4NR8mrgDLYrs6dm50ryKRMKxUhgrZF503Ie9IeIY1aF7ELdvBmCHIp1HTbdCoBKAw9tBFw+gRdhCafT5zAtlyRcPbRekqkHYv4v3bedFmxCTOyhNHfJePaFIwKi68qgzScYUb31uNpCvKlPLGRdXcXq4K+SXqh7TogmTY4OPQb3CcOc43H6HGSaJYmWWERdC3VXHFEu2P/fh3+fQduBU3/4dCcWrfW0fXy6FlJZb0VADMJpft1q1dSGpt3CpSpF2HwX2z6gv9x4tEBtwmiY1pqd4xPt0yXJQfnMYKThGYHcwHffyNNaOdrDZdhY2pv4zyIjUVj54dl/dsMwp3Vaqcpao42VfRH99RuZBf8spjyp0/xyHQy6NxWlJK1a4/ydsS62YfWJOpnKFnqqFNEIGsWUw+NGSLMow4UhAISBN6y8XvlcYuYCV7SYwxdo2kVEGdSoGLXYxdLELUrOBZI7eIsxCye6VGVIVjMsmIgoP67VhbItjNk8O2BTERtNixz8t+LmK/DTjeGIbRhbmdre5LYdk88+kSuJFmkXvQUAxh5sniZbb5OfzeG8YayVV0opcvPytVOmCVanaAX1Hn0IUqjT0+8Flz0YFwwXCIStk58qjCkyOxAclJRokYN/EpRX/7BOC6qAwb0DlPGD5fQqCRwqZC/l/DZlLgmE/c674jY50y5lz/rRbasOrKaLm8HdkuDSFillV09DQ6L4fUAYPjIUYW63sY4Q//Y+wVCg8fnHYRjMP4UIP+SKK9NXDsV3FBN9WLpI/vnTL9du8/gGcqMeNYgzy3Xf51sx5UDudlHS4w6ndgmJkwEFupt/QCmb3yQIgWWpr0UP5UwF4TtO0YHDe3mt1kFE7h/Xl/2r+Xe3bvx8q03wptKKVQgP9U7ojtAg1XFg7tNMxUQjUa4KnzwKW5adIC6OiMHP+Uh+aYUFdKBZ+bYrPG+amQNi+gsk6A8fNVsd2vx0MxyKK6nUwmpKeeT3OMysBYiE5IqUAts2CS4Ur8PjsP0uuVb1GtFER6vo+iiZkiviPyyk01tml5gFqDRNMCbVgyYG1lzWtAUrULWYihmNmEkBscQXzcAcnJ0pSidWtnCrVT5OfG4cyoboW9q5+dXwtAXIhEAKDdJTokPCbBSlWs+QVq9PZXjqMgPP4qx7FTbcyeFnAqepjJw4GSaMfsCQtm4YWpPW+Z5SUjdaXTEpd4BpBybGbd1dtDbSzn2IXz4Fob7VkVnwTT22428R5FEVmHjnBlXtQiHA+9ce3lTW/9ZzUTUSXryQ3stCG3Otfn5EpGvQuHHyBjEm+pHGkJAAh5GU/2xKKCuLouGIeuFQovB7Xa9MQFrtFEIzjqO41mi191rU4CF1s6QwIay3G+1Oo7xbVjQXIVM9nVLjpe+3rDF+CYw2lb1TSnbITBtr6CZrzkut5hBxUNsoPNIQ//Ygg2K28rXUBy+iUnvCi9ydreudyNspTkKpD7vzEK0oQReRSw+SVWrHEkQkyA599dOWIiuCbvxBv+2dpRWNCAmLYjy8g1Ej5u7jfY2ymquJB3jDQX+N8pv9QdtdqznH2XrgDXpu9fzexiac1/T5LKM9jUoqYoJfEyZRn3YFpLjACLW8s3fKmGNJ6VJq84XYs2Kf+SSSIVys4vcBhvlvYNfmpV4ylfKbKnBx5EVmnxACPw6p0F1XJaVSTjF6d07E0+5/+Hytuschn3aakQMNxENS5kul07fZDaO0lkKCsD4rcVvWqq2WlQhXDo2k4BJGHu+1Nh03ZJdsZ28/Lpi6Anci5XtxoU+/kGjH5LFgCO3ESpruxgoVtHPEuoQCjiYt5WIlrHwpIGYw2LCrcdlm0nuy05AkCJiqtZLWnLgSj+LSJveSBT9xLkqkprD+69TgeEMnVbHLkGvzPMR23JaFlCTHUVYLJSW5CNK1tnPdYHW42GVoS/kuTCNdwtUGvEgXWwq5Cnqof1l0LaWWW37pAxdl6NDXOV8a1vkgsVJO+wM8pKnBDMB3wCnqwSbkzJM7VyO/L3BvA6k7OdYuufzCKh7pINKwoM4itFZZ7x+UwzJZzVFSJHUnjJJas/3/aozff8az3m775HTjPta4rj3bv2bNBmVfvQCbE4EsfwbZJjsD187o2c6CAiv1oBbGipBB5Pg86sK0C8uSHWypjUkBeNusyRkhKiQWEPLAqVstDrvdPuHZkfvsS4j0WDbLON9ODiHce2UC7DaDslag90Kve5DHcw6dEpiMpAHKYNAVSJDLVG2BEFMuVcowmihdCVpCW0cti7VLzlGwYafqZG+D6thhWSqkkGhxJNvqCefYKKVguNQ/xT9OT5u8uLjznH5JSinojB8zGa9YIU6jOIK3VKf0zBMv7szvOVUbasgOQrzzwgAro8Ia5q1WKq02JuGC40KYpgRFf9Y47+UQM8+YXdocFu77/TZXXqK68zq4IpBglDa36nECitVRQTdTIeOyaypYTV87F1WEOCB4Vz7t/tsPYPJpSL09l5jgDkZgiIk6cwWbA7ohf+WG/SSfpyYG/hiPNdN7qGLPAKeTNbJJpfw/gR9uyaS5Xu8en6zEhzwRMsLF45xfu+0bUjD2UtHzpKUDqYYoIrXyuRqyxfAWkVRbKTmT+tUwmbSxTSjjg+Kd6KCyh7WkD10/nAKjSwVriMi0Ikd2BAebZD89U650Jii2HqeCSQYAvsTAvwniLLyU0iTGyXKzFVZZJ+XzsU+bXFsth71ut6K0yT2VpOimpOeCcwAITSiNree1kwvDGAEZgg8pjiBcQshYBmx/UrAyZzAwJak1KaWQO9gSZhR9fbQmxIUR358I2kZUqmAVW2tc5ARh/fjk+3IY2Yj8RSofNB0aQsj/7wOYKXIN1nZOM0pd7gn+jq4yW4WOflyCCO5APWRP4hy2S4IqnTmTWqjmjndmZ6ti+ajxj65Y2gqGLSvO1lF4BULnLnaxnERsRL5K0IPKC+OM/OStVxS0GQJ2mBIpmSxL/UJk6VKWMTb78OxIPqMQ31cK0V+shRxuW0buv/KGtMI95ahJKH6r+quctLtpY4Z3oK9VUM3f7I1KyKu2bxrWcMV+Xuqnu4CNtIZrmqr25ijix34QrIVSYyASfrhK37y7tNL1qsvFouAu1AoQDkxXuqGfVFPlpfWM1AY0ldzLVlB6WhJlSZqdnZkbtErKtl8Jz07RUptTJ3nlAi136KNLj96B5uB+1QTnj9aT5FnfvDO1knQbuePxNmjO5HnSgjtYK0CZwWLWznwZgkW78Sw3O05mq+uC6xBew5nKlv4AjpjQPrLyjkgvzKIx87+0Fm7fA97ui00GmbK0gTfPnmtJpppKyV0u684WXvbr9jVfGMiUVrF/7NTEr8DYuus6K4osah9ZeS6gOr/Svfsvnb5LZ6rTihfXcSmHOWPh5zuwFvfTjq8VOJkmM8utfgl9EVLWmDj451jg8akEz/ol082OL6WKepqJUHfQHZAz1xFXAF9HzZttH4q+sAEwNVEpN3NyvoMqFORr4TJfCklw3uvpeEmgrWPYfYCAjcC1X3Cs8InyF/UNlOB7Qkp6z4Q6kaIX6TWDmketiF280afU9uiDYY4nEGVPKihtKIACQmk1CeSwA4svo4QPKIIg3QiBZKHfSdIUdNBz+L/9YAP8Gf7wfq/8mT3W9EFto4B/+MWD1/SpouwJlhIy5YqHZTtYFsHbInyOSD890TW7XpIfdw/+fmrx/MpBLUr5J/i47QEurfClb4c+tDlakYMUj0CKxGOKghDfJIsVRhBcM/iTliFG//6E7Q/vc+XP8kERF3QpHtR3Jw7oQVd8WisQZMpLx4U5xncDk8th+ZduDuzGXP/YK5DjoKVXHiT9i1L+yb7eSWf1hhXlvsXC1eeh59S1qUvM/49f3nXFNXgQZWncEjMVsGr65+nUjFYXCKM9VLmSMT5TFPSMfrgPbQ4w+vAncUDE23pE7gLnJKRVxWVO75abBqpDxJH8WusLw7vRhtlRFx2Mi6S2trnGLoY9fy16DMxagfAXtY8g7AM+Ru56cYfdot/iHrjVDsk5WxM2CTl6bkib2N4yi9bWYAkEC26IuHV7yFo/O5sHIge5C3vQKd50WqeNBqoChxGigTccxqTvoczycpGlTLfD8vUrNZxOAUzthjrC8+YjmulzfdZigI4Q2FomJPA7pSflZeeG2LPbN8usU5t8crxoGAgbxpJZvw+e4Csew4HWgMB8SCA5Qdb0WQVTFMI5zxLjK+M2rgSAfbl/83XxNvxmJY+2oMA02Ky5057rbmzUo8yzMIZjjsrGehGjJ04JNj+DCgXlg6G3BilWBxEjK5TTkE96Ut4A3hCftucXmVuKnB44HEJbtG2li8djDFk4oyfIhLuficXIVIL30d93R6wmjLNhFoxW4Rl3+PMRnmf04i37zfpU5ksh8F00X31p5bW9CrxbPfQsuCRqwhhtkC7CabLw8Dn6rmORJvqbIDnVYUPG7S7zFt/gBFCG8YzMP3X8nn2oy9c+5m+tDtSP3chZSyCLZl/rPHHfiXBx9mKZPqxfqM/PmKhBFGn85fmOPe2aEjkZGlCbAU1daYlqxEl9GmAgwfRqFRxe5hQwn0y/64I4kqyMyzCTEXji+JWO51GP5b1Ikrd2IOmKrSGrKBv1EEqFBTBz+GwiF5dPow36W2+mdvw5jIlxsOgy7Ljr9wx8ppai5AymNh1OpFDBBQw221JxK6aDvv+sSZoNpCubSDdpdTqdkwnllUVH4PcMHK6SPEvQDh7ZLBHaiAVN5YL+St1lib0bEPZJ5UQQH0lMVtgvD9cqjZbdNzAJTgA7fmOHk7AgZse/lT28Xwx4ZY6JAFZxx2FS149nUF55dAT+mJILDdI/MYJOYxKeqJg/0AMD56SSUVyFx9J2j3YWA5rECGcl0uJexOElca8pxI2jTpKNn1a8WXA6QZb88dPr5je4R0lxtkxCUE1cJu0yyfA9cjnpasfSSDT8BKzxDBhlCbRQwmv1JKbDiGBlsaFxPDMFrrAwZPvPxKNGhKj0gpvGZ0GhOuWZxPdIrzg1rjdPQfiJnrfBOoZLVv7EyI0jdTBneIcwuEFGMSKhSiiQuk+fBqn8XNTWA6GqkFr2j5IcSARZRkJ3DzDAJVGSxsYw5tflPYk/OMfO14DE32TddsN5RFwRCpQcfgYBuDxRwwnmaTkmHL6WL4fbwPmSDBEfQ4Dfov0//fzPIzRGm06Zc4Dr9nzt/JrhFRAxzlOSL9oRrPBqCUG1w5T45DhfBIJMSeN27RiC0YL2EiqyJYyIariLZVl5KWVmy78/yZcNjCBz1dnOKEnpOJotCp3sPmOckUEmzQcKrF6NLC3sXloDbxKlba6Ns63t7dzqR5OijGsBp7D7pcBNIEPExwVExUgNtQ8OQwot96EgC36YQc10jWxFuSu2WFmQuqt45t0qngLkVH7fTSOJICO67naTQsfBaPuwABD5wOMI3eHFsiytFA3a8v//oy4F9I1L1c3Qmigrkq/09yfAIjJKcU3TImF8iEDsu5xrLtUh34HNNDYP2mtPe5JkiBNy+WmdRSpYsl0kWinANwCJyWkQ1xsvRqvtNvEbp6dFVrKiJhnYsB6nrbJT4DsqQbrEu2U8IY+8sMiP/Gu7Sqnoixv6RJ6HMBB1sQvIR4p/XDy4EMEebHtfvdD07EczcplZ48iKZNAAXUfXWXs7iXP7dNM0dexIBNDd63Tti/Y/uuABS45x2wZNkez74BuDPbS9GzRfC6NJvwCxarfUnTTEMT4nO43uogei4mTPC7nL3CB/w1DorwJC3QQt3e5Nwkykc2fl9WQZKiqlk7El1wGorD4XVp84fBK2ejYOMULae9omG2YSjS6q+SJ0NzhODgveRB2TqWs/Ki0rRg1JVpVonQm/IgI7rqS5unWkz093A6BI4hMjX6iSSg47oz0WlyX9kMEGf9dFFvmUYTyPKkdeJ7KLjI+o1Ng2sOyNNMn7rfgXP5qTFTP1nLIyfemb0QYVATFIeInCaWujXw/u1jDAMwH/9GRGvLebuR3FalTgIy6AZJySgwCUmVkLRK5OCYkwnUQL6ZJ8DZxvGIi9Yxy/1d2QwBDg+PgYcvhvPcBZHr6eo1LT20Rm3FgmCO/QWLyNiLUNubwFBZEyWLXtuVfz4CCA+kYWHwrs6RHvjdR5FS8+YNyeU/zWK5Wb2P6xUYkxgiT8xynzva/r22wZ3LFlwKt6VOn5tjlKaftQ3fWYpKmNHusD7TEmQp+/J82jsKmuYCzTlahZVY6OTKgI0gA/rjNOfur26GIpnD06uhwFBkBkRwQhLOUvvIcGvbT/0U9//NMosaTsaW6xjanYKmDPXPBNk1arHQATFNskd/xha0pRwlZqobM/DxNj0POvtWaYeGA8+t3yZQNp1D09JWsbVd2EOBd9eXuC6MIVut3f5U5k5iOhep9e+1CHazS4fcbciwdhSjKsMttgz9GRqTYbgQWg8p7VI8nwB3TqmrJMBC5cMTqy0rqW4HwnYzJ75odLSNjMYzWsCBqHyC1ygv/AU3nbVVqcvuvd3mBVLqEe6RZfrLYtpe0zL/+GCK1ryYOcvMmsYKTBbYDYfs/qa/bY0zn3u435DkAgStGRN9i+Jcg6UmVeh5NSdTnYjrmtf+bGvmtwpv64qEJqJcBLPZ+pQHk1tJ1nuPXZZ7WIvY49vl6eWPONE2XLmt4wW/3b0N/Kbx1QeYxEiy1DIeC9Zg38qNk51wSW5T0MNVi+aLfy4XYgYUtOiPbCyZ4/69fNB8Qa3SxKhHhODEkDk9chIPfGLn8BSdEFzoD9X27aTINqvX6zhA2LpVv79snfW2FZ1+hM/H/yfrxFadIO4uQO3A3szFfevDQD92hl24E9hjzJNWuF4kKeLqzXQ+rdPguZvxPyZR2WiD04daI7ah5Y33T6L8h2PdbuTJBYW5Osawd4CaoXmtwk1vtnba/bW0Yf3OWxhXUdyVXPQdXbXguUFCLWpIC9MO4xe3HWqNBHFNNtgBMnkQ8apNU2Pr4ERlrUZuyFJN9mRMxkzKvJLPh1M+fFiVNcMrMzU2Gz2vaojueHYmeDauY5R0uZE+cK9nAZcUJw12hgLAuquPmNV98Vh4MwlBcbtlIH5KaFFEtYE+6t2LC2c/2o2odHyyDSgNIIKPefx3EQOoPQPNEsTW/YJN8gc0N4Fc266h4EVd25Yyo3xOtFy2LixNrcNWZ80KKrVyKdV0Dpw3aZpRvLl1znFspoPa+Z6OZ4iaYNcHdaH63eRi5F1Z3QVhHPVkqmNnIV8PzMRfMYDMzU0gMmLluvccgEm1LkCR/OTHRMp7QcZxSbhpT3mJhrINPtkwYu+Eg+r9qmcwe9iTGRYZQun9QDf2gneiEKpuXMr7xCes+FOSTYI/Y2epc4hjNuvfJob9E8/iix21pAPFMh0rVMA6CXPwhqAbGnIDjbqoQ7xbN3fhDWNIBjOV2asVvg+0rJ+UbmqpaoomQerRcpEH1kwmhSRxaDkcRcqWYPByuWc4AowBY1K81p4FHp331AqbWbMkMcbHjBD9xY46K0PlCvHYh3QEn0hS9UKWfO5hXKfYrsW6X7zA2yGbf1BYvfJP8hPfO5LFUvYNp67nNAS+E6YRVa8h34GKCYd5TWpkVtTaVenoe+WgpBbWq7SMd9EWu5nzdNJ2m2oDtHWE/tdDf97/5++64rxJxd/fOAPTPVUgPIpL1l1in6Z3ekM5hDyhdvn82ze5HXJNNxaKnoXL+1JrED/eT0ab3+g4ASPcl286kD3OJtX5rU1p6/D/ee9V4zcvdwDG9C3NwnsgUyxdM9o5f1+m89IbbM1X8IsN6iWMpn7Xm4tw2RSzDBZ1VDLOVk8T65Ifrmzbln4arBC7IjA8JZzXnfF95S1mcC+w//SVO3D88he8i74SPfxSi/bzIdhDGakLFDUV3IAdKbaBKi8uKPn6hf5OPogc0vZDxww25oU4ko576sHudBPfECfU7GTT8QgN2bb6pUasG+ddS8S46xajXXXdYV8O2+0kxB0z4rcPHB+UJ88UHzsSgvFnUNavB6j/WarvoHIdcWljUjcN12mFrVymFqUIoRuGVElcfN1/qDxpM8dq4UTSP7rEor2hBlZbInfJk9zoOuxQu0Uy5xtWUjhm++qbINBd8PcWkWHWPV0kuCUod0ia5UFAAvRSRATzMt8tjZavaqW5wHVIMm3N6Tz/Gu9KA2G5Yz08+TF8Azi72w5bQ06rfQNzGyPcCo5iJeOOJaTGWh0EcO8XuB4sOQlaoB1e46XPlXgXMd9J+jRDCsxggyZXkFw1g937F+g15Q8SHvbXeJCVpblzGs6DnVqLF+ilFD6lpoMHLoI7cAxKwhknHo+eHn9wOoVRspSk79pBfQE2fOME8MgbQ5yhlB9JOLZbF5SvrA2Tq5TXlF59q4kOHablZiC/FvP7xBRBVIRxx802U4U64cPu58g5/CovZeILdwbee7LB/cepCteLN+g63gJ09Ou13NnQqCb3qA0FLEonQnQoiRpip/WN+Jva1rMVP1TkkjrZG+6tBKE4DnkMrVsIza5fizeHCf1hybfzjo1E7MeuvVo7nNKqrk0JyKjEaxo/eBcUBUXH7wC4RRRIZHPN8G0FK05RfILfRa/C6jDC/EqlZN9KpWZstFsa6urU3UloPtuJhBIdeZ7aORSsRpxEgLgeZwJIb9Co20xup9SHNGFXp9c3gVrsWrP/I5OeCvB6z1f/lkPfia+MmUc7YOdVaLvEHm8T3gByRWX4ReGPMIUCoUYcYPiU0xuk2SNQUyMrLcRZYHscUGVLwNkvvhF6Ehdn25f0651CUhCIKh5YKX8rQsbulKFMmbexm7D99S8F1UuV3ucsd53hmKRSrqeJpnuyM/qS45WpgLsWDPQC7NWCIgxA0QxuXf9ncvgVAvfvqnD3fa6bRNr8EFfuvjpHCNss3mHtBxy975vsK9XnMpBCTCbkwYozPlg70RkErbZ0lmakk6T2Y2m84UUvJkGxYbsgUgLP6Rfx0VFMSNnE75ozXEFTP+5biUJtVmw6zwAmtCIHi2zcHYyJsQqzCClFKOHGoPKcVUOUCsMbughLbjsqaZDqosriT7s0na2vdN/dqrQKYzcGkEijBgNyCUkH/bXz3UpV3fvX841w/CMRP6lZ7eS4SdRkWxi14up4RG7SjCvFqdNQFkJtmq5Zy/oiRJJahCMnqpJmSKlJPKGpVk/0Id1y3/9Ol9P8N6F4RFBrtYxMqP652zt3eEUK2CLEcJpejZNGvtf3v/NAEvs198elk/OhVlOWUVJnvvCW6B9In/NvGnFt85iNuLbPN56xBkMMh6JChyHDE0h6XG23QGzrz4+Wr6jCqVNT654RcZMlp/1Dnrjdj1hRXSIDs1lcEbiiNv0Dt2rMh2MCplC0HIZFNqbeEzCl5mN9QYhaeijKasEuUV3xBmc8HQ7VtYIbfSvVmv/8a1Z2+DAikXBX4Lic048QiOdd+A1dyA+bkvuanFhLqiJPOtwCjE33UNUWIjlibX2dqNXhelkq+Gbolh8jLjKC6IsmuYCRDkQHevbx/iavfsTRYTghmEdIE3eFa9cv4ijcMp02aR9Jvs+3PogAyfKPKQLA70Hv1RbAvuthpkbSISU9KgaUxvDXDGCrqCgGSpSfO16DXIW+kQffk9h2KVFoR0NEWOwiahW4sPGhZYpk2BZTVUserkaxMBCxijULn4fCUa5YJxsaMPPkFS7nkSz0LBm15XQvgm+ro0wJvgg1wwT2tfQ8qapmX6CW0oNh382+xnvWU8pIzfiFdo0npBL32zcsqRoomK3jdYwqkntG1X1/MptNpI4D2ZkQP/+B0/YlvtiY/IsPyhpr0dqQehA/bvIZSYYhCIPLLFN9hwnDuOyxJzCUm+ugBupNZxKOWYcvGIGS2gjH5RCpCwFhSQ/7+/I+D/ePV8Sws4CYAd8Vi8ZlNHDq01U5YJ5IQ2A/dU5bFWLrU2/JExiXjsvKC/+yTmC2evGLky/7DR2W5Yq/vle5HiXr21Mq07pCwojyndsKIB3/7+p6/BzMTaWI3QQo7EvlX3Ldp2BG7uzGPLb8Q//rH64urBt//rQE922dLFyn/fBUer1pPTnoi/wDuRntu3qqnRiM5KpbZbCmDWrBNShHRRpFil5hkRIENQabsmgEhFSBfR0M/f0o327sQVM3rihLosOJ9QpiAscDQmD6P0kEOt8oS7x3PaMc5KnAUm6jYU6znIwJbm7Rg+8qjnlNsxfKNosNnOpuXGclzSEJukqApKB5qZ2EC3ldLjw8kmKLeyW6mT95vsNKOzfujbTRa20oambDeVUYa1ohuzCFmNq8zVb0Pfekz3yfGvd2ee4HckIcQS/FvKamRXskgq2FJxrItgCALftNoZU7N3N7ff17HxBkzD9421eoMvoWpaXMZ8I0yaneMAd1C3XbOfFMbtvkAjQdaWAEpgSFLKzi6VVZxG2zqhTt9Moy8aQWnCuXiUuDK3GfhCc9Y0+8eTLGYehxCTWwwA4NNhHE9J4BIEewhBsSCetUD5+RBG/yVlCa6SBVZBZUXuBqiURv8fSTme4diuV6v9WPszF+i2ILfooCTUGJt6xZcIwigMHmqttSSrRaJ9XeG8yjdoEGRshaGAKTvrVFbBG63tjcV2LZZ9O0TzrlHwLiJs+V03kqNdFMlDB67QDtAYlepAuq5LtPENbDg8LY1ER01DKWwxxJZhqNu9Ujtpi0xV6WIpvSitp2lN13yg0utbviZxChR1K9njL+tor5uU+K6AKtcAB4U2Y9vLX9N83rJDUBkoHm87bwdeghP9qgx6GwYlVqmw32/wpHUNXjW2mn4LWDDQ0lAKE+k+lbVS4FsBPFbQ7VwMV5YLvDNGsFXoyFTjckdczjiIQEuoA2WDMxpT6JkkvRwy2fI4dcm19N6fAbC2sGzCT2YaHUtzCe6LV6BevUIf/cJJsCcbyN3N4hIvzjz1Pc7tV2XQ0jBiwubZPlCXb4YHfH80dNosYK9NMq5CyWrOLuqHoQ/fDuwH1sZkpHQumnxx6hzBQ3jlz9785SsU0ER21UopkT7AzaGmvrdZa7TmBBGxsnqktnj72yZrDwA4ZsLxfrE7SL3nuSX3IaRcqcXmVO2aaVPiQx2Wd0Z+kUNRLp4+qlvaaTRUoVdfC2V3bRt7FtkTbAzwNGI7MahuBQyXquEtCCNfnLpG8Ape+ecv37WhQDitOFqRivL80KuejSc3njOoO+9lB1NLNRzgraW6KN7c+62UY9zf5bu2AXiMK8WHrLn3TQW5iqMB+dCMoAzvb01HuLL7hk5FNsn1UdlzIIZE0CGY0UHgPITJQwtrqf9W6N/K/PtNqujPTo/wSn3Vz+x1sJdZFfsO1hmTRtukWm+0j0/OznomPNnGhxtK0F1NaCIZUAoNFbnMtJ82vxo1EUKZnThttLunp7rHKBDafVu02FfvVL6J71XjiFO8tQHu2w1eg5EVqqfrmFXoz1V+0R9dkFL2qVFPhJJIzbquxmLWcB3aecLERpIy8Wz9E/EY76JE33dB6yzlnj6v66PmCHFnI2l1zf0jZND33QIB2I+rUQPnB1VgqiZhbZUWNJcMwyjwKiAWd7tOjkIAxwyjRLXmi6RbynTOP10c8hxBiMwHgErFEIiChtPGaMX3DpCaiTdhO0H0OQCIT5ZrYRsTaD04yPmuYzul3rXtPSd7qmbtaozhk+5WWJjt5DYoZQxjCbgsgguJbdufSru/7LljkFOelnJPn9clBS31q2lha/XfDf27RRi1LNa+SaQiwciVe+Tvok2dpFH1SCEafIp2ITaR9DjSadrn27el67LSsqj76cov7+iYlStckr+pfgtH0ScRbEE/6BFIzYCnaI/hFI/9owD3tY6pehR7vnQ1C6i1LPq+CSm6pebK1+TvYinJGmKRF6LBPyCGDzhnGypWTO2z/m2pV/5aFns/nZ27ekXPFc7J31Tsw0zyE8pa0A86ZVo14GO0RzqxyeIVtlXQjq1HyeKlFuZW41AssiS8mDBaiV2nCyO6h3JefBFlybORLy2iyNnkErhqC3NHdqwQjkmmN5XEb28geVj5Br9IKI2vPDTheSnsGolNeGJw43Mrzp6QUw8DGzpGcUULNwbc6SGVZbEXwnYDlqe35dcob+7IipbWAAwV9w5hUSuK67TAhexQLgsmYqu5zPMcBa4seN24IhmsgznKCrljKJ7s6SooKRYwbi6sTV0jyaWgLE2mIm6FNvC6KGg+hK20UaLIY7wTIB1HEKWuFP/Ob72d391M99cnRxbPbol1lEP9j0b+P1ZU+ZssE6HFVMh3KdbCmCKuzEx5R0leXShS+HBOrGLfrjEbXXp3Ix/59IpkIsKVUXCEy1/m30YiVq5GYR3oH+q+Ka78gVMOrTvozX2g8MHdl8rW52KMDfwcF32dS4WWr35LuDpg9F23e9eQqQ6yG32dmwuPtUUBMvirYurIPKGgnRbprV3XGj/gXafWqrmBR3EJPkXkLutlEsrAO/8szp5wgbnqIHAMHjS9HQ6RLXFepPLPa74o8MU2UAJCpIZNiNW2UdEEg0oNl7MAfDu1f/9c6u5RrdU+EwatgUy5IaoQM6Fyn8K6gJZgBBlM2NMNoPw0SOnLbM0GEclTnHFQ8QR83EJlfgqV3cNlqSADxHaKzzDvejICFTkwcdW0tLz+Rk37BmyhXwV3Ut3XpRIMTHUMXwHq2Blx6AOubS6dweg2+QXzxDCaMvopy87B+JAhe2AShIVywXzr2kjGpqjbUakQgrf3+y4mYae6giruLeu0nanKfj10HpLEikVDLESXWfpZ1hDiy8/vQrdDA6/p3lWWbuRAXPlaeT9h83WdhWNTyNDpuuGQFAq44yDdYwpbRsSdTGK+WkW+zv3fj9Zp86nWdEP1Kcpw1ypsBp1p6WfMKMcRdBY4Nhywsd9oqzvm4+77AVy5p3ynsLk61TKCruDYdsORBQYViMTCcCtscUwMIajuhZ5Q9MTwi+/cpFyzHA7jRQxUwWe86bOsaordWW70ihouGE1felLCfcRsnJkWvC2RbmNluYHduE3NFDzbDCe025nDQpjzvShd1taKZmzMQvE0Eosa+GgSftrKfyYoTyxcxKhBIblwBFxxjDsBf0my0DUTLVG3v+V7m2VtVHevcHn94pPYMOnCfO84LhlaY539UAN0K5ME1znI3hwyJjA2vUj92d+k7wJcXqXFhWqnaDp4kZPixoT7J72mfuHOTU2zixTDWxRxVAyhURuo51/+6U0L6NI0Jm98oh8U+Yb59104rAuh/dbzfV0WxJF4zTVetxrkSxBcJ9lBuhIqUOxdgnhYJ21CR6aNYWqKfMM+NOGdvKy1zZTR43vals96YZjgqDQHnXHRx3M2PX/1/QcHoI7T4pjoh5p8w1Dtd5WhZ8Y4XEZRyHkCbwevWewu0vCUQS+RIKnA6xYDlVsMHMIIWtHGMKc1+YZ9aLsrZ0oCGBneu9Y8VXf5wbJtRO7dfFD/+dA/b/9l7pJGwoyAYC+je2N+GdI0Z1LCPy6YpVrXNZMuAkSgrRiQ+KAd6t9e/qVxRRGe8+4Zpm6PH9R6k5b6p9cfw0jFZwNF6/ocidGBJFUb0TsHX7P3yCfR6sOYOxcpQBR48WP2R+2DXwgyrZy7SdOaKvW2w2QBaPoiKMWU4scJ+5GIYIOLIpu1U96dUoARkcIJE42VhhcxlumEk694zr8LDvKcCXWQ+D2OXlI4IMGOXWhQ4Lx2wMWxMy5xABDeZ7vEDHfEcsrg0koe8qERicexQ3F4rlphxFtfxPG7R5lsUt1HaUlo+6QZeV7+gOvk6Gy41IAvpxcaUPsRUT3QPs4tky1dM4Y4jRbe/N4BWz2CprUgPDEKsdBDkBIJJMGfUqc3f5wMBPzxpGlGsb4JTnXNCDEsRBC4zhikEmEZJcjszFwzwm36lmWRM1zfEtEXYEhIxv78RzbrIs/wlkDBR3O/KSRX+lGE0akrz6Brys7QA3DCVS6Ec2LjRZg9b0GYJckgpmkat5bWe4XuHicW35c+Cha8yc+MCgrnslXgzx/ICdyQAI182s3RUkMl5+uuCw7N/aaKXOkR/6KTto7pBtFlDDfzvDgpn5Xm4VWOkemE0w/VLRq7EOpFkClp3Fqz3inYXLNv9Gq8vCQyQQa3OdQ6bJ/wQO4KV21v1H8u9M+5rb98LcsEbbMhCej59mbEQqwUrHSiI+ESyl03onDjeQZQoyESH5QZQmEb2j0rypJEJO7/q1bLbZlUWmzhQ4mEPGBcQMsvA0eyLU9g+bfh59/QZbfPmc/5SUxdISb4qo2R+9SbupbzVejEiag+83z64SsEGxCxofGAEjXt0Avd+jI2T0uGSQZo6ctebrmF21SVlq6xNaxZSu2zFtUy+yq8X+TFvbHnBu7A1/oQfW/asEF5ciNo0EIQ2exSFLrEOja4ii++SOwoY0FtFmvP+4ivIVynvXbjGwDw3hqHfcVWSsk2eF9sH/app1w1kFKcuOqow6qntFwujgs9U89kaa5O0VqBXzEiwZ7uBl3SRejQYkBnF47fF0u5xyL2gzBOLNfCVpL7lY/J23LBI3+d+XjyLC0BkakIeeTi/VLQCTDEq1jGqDQ4sK/6T6j/RDiPHHJzivyQiAzxKG2n+Cwpw69/8JE7Bz2+oDbecg/J8yiJ1RjFkc+MHZ0atrUGGJNJmWl9LXIT/uT8/9+TrF940pJSg6c1IS640oj0xNKblHXFBULmEjJNIxsZENqn3t5+bucqyaUcPB7lLu1ucYM0a7tJrUgW5HzHHncq+YHrhv7T4wJB96Icv7bVPqdyRZsePQwwbfEoDYr4G4YwqhWC4/mT6JhdoxLQ34XvGKKVc/WgB0hH0wM7jDpmFMFKzZVF6wN8gkrdy/soRpR+AEIszBXGs2XnsNQFkEXouOqA+hnGehHi0nCi3kcJOJ+otEPxk6GUBnt2NHSXgXIAMGUrEbhb1g23DK1XTqLxyTWcsBD5YhdHtyB2I1wyin6ujLtHp6NzUTvuZFnF78WeewiYXB0wrobK5hQJ9qz4Ael/keH/D5vCRPPX9EzBTKwmNohbM/84ddgtz3Q3UmGe5PBiqxkm0wpem6Nys8XSSkBGGFbD3ZPdezLfc1s1Vul6SS2LBBs9ZZFvIIRp0tXKkufxz0EC+FY8qImmvR0jPNDaW2o9MKkqthVuBXjBanu4zG8YRtUpKFbAeAmNAIEj13FXVsDdo+X6er4BqCpd62NA1VKWYnOMclrWWpyIlQgEQmq+ZCD+8dd6pmSv+7gBxyd7G4PoGf5TH7IDVEQRw1UFlH6+52vcFtWeCRtuTxB5hPOqt3syG8HcAw4ineMSwwei/Xmh0gzhLaJMV7Dyb9HfWZeLW+SgAGG4/oIHWot5HmfbKljOY8TbBKXuzcT1bKx3DlpJjGnfJCEwO3E01rrreqYqJeBOa9YcjVNtr2ehJJ8jYaiXV1Xg5PHa3A+fGEhoUx9WqXvtl2t3ODmUT4AlJOUId2jTknVtoQBWHEtKrCg1SWqZocmSIL7UmyusuxDQm0Uk6G4oqNAq9cF350uL0cfndV0UlRFiRn3/xZuWiNMYPgErHysMaA32BjiNG09LCjvcn5JBMDTAnWnQc/OyTC2PEwKZslxFhEUtL9R1XQPheqfRvHH3V1XPli2QHKoivZiMD8qqnA7FZC6K/ij3CwOa4Iqy8hfv/sNneEBUWXm2DVK+DHW8bkUAuD00b1rVY3d4nGTxvEYCV5lpq3tVznwbWF97F25La6W8x3r9s7C3nxyX1ew2MBv1Yxe/SgOK5RI+OxX3VNfI6tg5ITXgLeE0nlJpjCToMgn9MOmhePKAqLgKXMhQrjEDchMRJC/0ZvLMVZZkTWa2gXGm2zlfw31YEngC2gWi78rKTiWlGVwzEoIHw1SNLtgwvwfYWH0wBgCIWogAYGd8B+86X8S+N1mgboD8dtGYsxAiGDoS5CrJNecGLf5hGwrmJwhCAR4wgT9qGqN71RLL+4d0TjyPfUmvibYNM85Y3kHNNehNWNO5e9EHxPVg1Un/Id1dd0G2EN6DyIDjggkPW4mrZIha6f+QBDFNtuT9o12cwvRoqcEbyVQw2EDFcK5kz5uSUwtzcHeH664wLIQvOOE0DcGLI/BHTQ1xK0rcFjCkc/KmXCNlTzgwD1UjsXOSLUel25QYhORqiYItA+K1xs6KmAwMELmBUDLhYXV9zYa4qBYYUoPo5l4m6sYnh7s4tVHRcJHRed6YitG/RDFfvNwW5y78z2a25K8PNUrFJp1iS+0yOXytrm+3Cuew1kADQr/DPgf1tJzRnpIRI5yfg/Vw+UDjBeEZDgH4T3cTHibkLf7fXzIpgJwnTksFqudUXMb8xzvsS5E1//K1QB4Ins6d2ZD8oftvOpBfvoE4XU+brSUwQqp96XrdLi/0uB+bMNfQvp9V0f2NsddxnMoKlNINA+1/gn0/POB5Rhwe6Uo4tyAhNG4HLF1/UBl0p4LQNmo+/PRilSlpSrI9RzuiEr0z/Z41BwhPtRpFP/wwZ8oo/rQ2IgDa4ny3AdbdEa7vvLgQVQ+9BT8PlELol1+mRLDHxeLTAx+YNTSgUr65h393ErP8I0Gwbn0E8YJWuubinq4aUMhQT/t+VmAvQSf7OHUWqLIbZtqv8Wl2hAGy/5CG1sdCbvGn/eMLTEyDOgo9Sb+oQTqHZhbVgO/AKwDgucYdk+ZdK40rcxXQo3q8/tfAv+0JB416Wz5TYIADiynhHAg8t1dvNyHQSA+2pglnnEJNW7vhEKRpFzkMWgbZylsLSJkAngSQ+WgL3K4J2ZAdjcGnyeHuQMd7NQRBSJv7167rb1UmVs3vKaMj42jobBakZAkjm/Ugo6Qu+j7tptpTksGsUDHHEUNEgUpL7pGckq1JmARUMpNBJ5ekHHEVcobEJks1stRF3OFUuHHr5ERV3/O3r5KewpxvCk5gk7ytR0w+0XCwqVPHl/KwAofD43fy3z5wIdb8ZhyRPLuXqY1UNJ+X7pqJWF1FnjNMOPz8pJ6sbQK/7NjO/eXrzcXGxQFJdycsBpE/6wCALk6v/LXstwU24hxmEKyPPvp6GcythVbDNg0ErC9LoI33FvkX4bMOg/0KpO53mVWlQ6EtlQ3eSKFHL7xTOPex7qPEDvkeIAh6/dvuBjXm+59+68GcoqCoRqvDvWa4G9HQGY7yUA4ndf3wSZnk52UQfB9kQBHnHkTqtVSpfnz/G6cdFH2NML23Snz1reeklWBPn6TWL9Iqest8afkppP5k7BVE9JwO59hOchHzal5XXmlK7lVJvm5TqleYicJk/OdbSTGlPIquwTZYx2WVYsXleHh3MbrVMVNAKqYz0ALnKRMBO4qRqkKZ/FT1TR3tL9CBSnViItvH3POXIH075SqIojh+YIxA/8NY+ej13ee6AXEKCbnwXTkHY3/94/cnnbJNiOPGtc5p5/Tsx39iNIaolP//x3/4A2hPYs8ORETcPQ7zVmJ4qTJ5zxjc6IeYW2Pyo41Htk0fWFTzYyevPPv8DwSBm1HHMj2kBjJdF8YySBQlsbREBmCOh1bkYNePU88hyI/SeqA4DcNqLe4vWo1eud3i0z2XfnmQFkVy6423z84K/Fm9JCMCjU1fMYKZ29bgRY/5ileSK+ukYghm1cmB0UwJxHHJYOAOnWPVcr0gNDXFKfdmTOoFirwgUvPBP8pf/6XreFriSCsM3IE/HHz7+P79Bh2Tz8/+39+B9tnDHjHJav8KLDWZWENNfg2ZCpMix7mtN7/84ecf1PzHdy3fACRo1If3//3eaXR4fkBsDIKgIkGFVlIbY4XkXCmt//oxWwqmmk/HEPFafLqiCd5JX16RkrJNAJN26kiZ8DtEpbWKghH7cP3UN761lWRMla8c5SU2HlDT02ZE+YCjtCtRLi3x0e+BYGRgjD6IQs9ZCKl/ftpMM7ZxdhzJY245LwMTEbfrEEoNDCxQxrY5BZYA62316zD5BVpscRACMHahkF0DaIIIFJyWvQnK+Yawd392kkwwv3d65FJtUILbX0OElxrgm5vBMC4YeTVGhHzUatqj10qOGNE9Ry98kFfRPDcxAU7wYV/bVHBScWNz5ykK77ZrD6BsYiaEeqmfEi/rwhSTMlG/rvsGuwPDI8HZvV6X7HU9iaYU5O++PzvuZGyw18/r7c5Q87JegU1cVMGrv/7oJklCmBNEE6Tigpb/7fngR10sDSdBtQKxuQ2TfT9EayZMZOBKOXNpZNukyCh2PmLYtkK5sOVAC2zCSmD9R3lSu4gL3VXk3pKcYUZ1lxG4+6EjuYhttoW3WBZ1WB5vrmGYo1zcrwn0PJ1l6PZ5jV2uBsre7HPvizRZQ+8t4/tj1/7L5w/vNzgsIdM0Z1RE6u+IKXwlpRIUtuISFhH7z/XyNze6aOOZH8hy4QEiA2mCipXqiSID1pNUHcywdVt3i5Q2w/tajG1lTDirNBUxffR+sKLXTbCr6fuauIgiLEf1ymQpF9LJxcsViRYmwIfS2O0oa238YC3wOeFBvdst8JKM0z+cAh7YJGEe+0iUJMbmJeyXu4yar7qfqlqyt34Y/rXkGJSVk4VaKJDyF+/NgOXZWlJvLLbqgk87SbB1qXqXQMAGLBruU9J85tzUa+x9G1s3S6EhN72bLyS3lzwn5kqc27/1iczama0LK7VCkf//r3S5qYvAWF95ePoEMLmPLGeh1i5UfbwrKUCE09CpGy1MBp+d/u0G5mgQrYDd8KkUZ94mLaBqGUG7Kl5rn/C92f7bB2HiCJeuiQRQHgXUI6Kt1qE3rMgj7vCvAz8coR2/AAYuhswLHpgQT+PIRoeoJF9W9UK9olvVkNvnHhRzJs7tv/aNnSO2jKpbNIRb97wXtwUpBWc+85QtzhRHo0wRKmpGK7hH+/JRrzvfVK1wx/L3mfDRq+7HVYiY0DGKyLLOqbyKFia91HeOm5N3rZInpw50vkBCJLfCX71tpkfcJ/r+KTf7Mg87UqEcciC4cB0EGWL9Q457uJtF0Bub6AbRENYRUpkOkxQG3v2Ic8PRXlf0PvWtHC5tL8JHyKZIM4oKpX4YHAp33W6MM9hlxmptLpSZ2fi+UNkkqKx56QM8JoXUcMDNHi7XK4Jje3P1ozMb95GleOwz7SK/QcCXrbvFllT3SB5ebM3XcQddKUdWha8VyHwumb31eXhbw60/KOagAUPyifr9U7swGHsUrjObWKqu239QqGfq+A51/sBB+9tannuSHZTmUPrftf6gYkRNf8So8z9FBY7710Oax9RIMiJN/bf/TqHuqeM7tIN+I4D6+hHy2ioPnQK1LdRzeGSateDG98eHc5Di71hl0tqqLdG7D/fPRt68dF3Pe9NI431N6A8/nHZKJqEa9yY5TGVkBnk7oSHolg1k6/KPQ4vvXv+GF1kHFSsZNVvf5cvt7e8PsR2kNMEbZSjG1yMejeQPRKD/G1P//3jxgQm1jhF9VPmwmFVsG7u1nZK2bhNg+VOA6VwC/Nh3/QzthD5bkYuWTPecrsCZUV3Ylf6LS3G634zo0XSX2FRUld9dxGl6wnA0MxpFEvSMakCpjyKt3Re4SlRMguNnzUqVP9/yKVWchwp2R2ZPSOaHt6e1wV7ZLUc4fXuWZQV/HOPKtV2Tj63UDR+x/DKwJv4sZGzTPQ+N3eNJbZXaqC5JbLsx88IYxujz+3R43lxP0tqcUcIWhfbSrQSQu9SVF6d7mAcNMu0xKpn9PLWB0IESRkPwDQxtbYztcowMFyPJENCMj+K1qLXbCTw/iOutIqvtyer3a2F83CwKRjCmfGcl5pZ3xtilDI3f4oo9s/N2VN7ZDjLRAKyn1JNIUddgvzdxsH83LxUahGwBMdC252THd9ln57Un4s7116rrFRuNS+/zt5VLw5/usKqS0a4xyinYFejdThvz83ffzaj3bSQ5SLQOAFm8CkIXFCZoi6Jo5+o1b8z05dJznC2mkcaNf3QccNbRhCYqC/s0xIJATxQxRdvF/s7Bvcen4ZLHasaqhFl1tLQw2RYYRU7d80xsvIOsZmSNgL6qAG9PazeXnhgeb3YVuJtKaf6qDGihDt0ALT1yj3s5etZl7bdZHFovIrnWgxaOEPsLCG0h0j+eQRyhoKfDxUwKUJK9LjCpLyJ3B1r2ikvxTxr89dtc0/049KTNe8dIB1wZ80t3CFXGlLXm+67663fdZlEnZJaJ2tYDyizf+MY/ON/gQO0xvgY75lugRo98yENi81CQPw5SEveue3BIALcYU+vNd39oltXs1ZcPNhpgOHLtYAUI21nVMsIBskCU/DBQyXGytkFhlHFSKi+jWGtE5FiG0YSd2+nyPCPolnAxlwJSWjWXOs4Dl1oKBDkc7hPt9TAAWPKB1YUJKY4osbbvB5ivOfmGx2iSqTt2jxJun6sJEkZLlWbzEHT/iZhuXDyoyTCsVM9hFw7JVKbd+sk7bXRS8w0y31hRk0I99yYvxIVO4ahmhQhOQ8i81AAth3JnyjPB070KdF+HbPbjHoHLYb1uKD44rlvvwHMwaSLuudG8pG54SexEa5N4xqWy3ojGYGewR8u4JZ5/B1qSDEsacgi4kSGqtKUM0HRd7kl5WNMgXBJ0GtjF/YHU6jkyGthVA47lHbCuucrwAbYjq1cejhkfclQR3OKh0RKmMYbmTGim23SOqkUcUs5RU+8T/eHxTQ4njh2mdJiJyRCAEko8fXRdhsmdKU0O14++3uRrTLLjAkUQiAtXXMYD1fjTwc/2UiLnk9/sVy9vcjPsamR6DmsiQTgrMYIJWZiZtJnS5Gb96N9NHhbrhDE+DGmEQrNY4wn82T5P0Pzzl3H7Kjx4eDyDNcfzvwkrYeIkapp7Aw60CgJ5dt+ox7/eYbRZ8tJZdQaexCDDJVx/jFIy2LUVQv5ZrdPxOsb8/o+/9YACAicTI9cSnNunwQ0QP1ZLOORRHOPTv/kt823PTH2DOw3E9VLTjS+m6JSTYVbfV36f6RKG1SumfzwDPJR3CrXBoz7wS0RFt02E88npucVonxzb5y6BWxnCYX8u+8EjxQNdoRfYVUI2s6w09CSkBmGx1l3dRxC6511OSrSQCYQ8lzYI6d/7UL4IfQdzqnPiCPY2kxXr6fEbFxOkyIhsjN4hP/JdqfqM4H3uDHOFPgowifItUZmmMFg6WMyHoLTTU54Tpl1L4JobH0tcFYWCFypLGMeQeLV2J2GUnn/43ZsWaFOZmOhnhRTvmhGE1xGIibDaeP7TOhFwFjhFIeHLWwRAw2m4IIy2QmEBXjinriBjKuQYIzQ0Rv9Yqhxx639peed/in5wkDl+RAlpFKtzRz0A22Vog3LF2NvcvMwEyWJ78dDZnudEyN4Ru9FShBsFhXjJK6uUQP4RUlDn3/9kA+ZoIBXwzawjE1N5sW2EYtQV/vs1c2nrSsufU+64X4IIRWdC3SDXx98zfPYjMBWcCaCk62P028ALc4bKNxPM+NNOy4FOSTtKm1ziVQcD+A2SIGaNFaHsV2Vm0pR1t6gVaL+3U2gSnpy6s5YvqWuta75vB3oRdWPZeqqKiXbyzCssk7R9cvLm7bt3NkfBATftx0uImJhWUu3nys3LYb93Hy0+Ow1UqZOgUULJvThQGxvgb952myWTkIMYU272QMQjPwyfROU2rO0P7INesY0PpGFDch0czI2Is4hXl59n1tnknC0Du5dwMTsyUBqiH2fNO+lgYEtIkMFA76SCCqmkOBemBj96PqCQecmJrrlwjZzS+bJIxucJMTKlqnuBJ87M1AO1lJEhQhSbFZwk5SVmIoe0l/1tCPGYEfJDzw2sYkRKpToEY/jIKG0FiIPd8mniInNj+DXagRJ28o8sx1y+BptnFP+37ZoyTOP3Ei49YhBaHOE46/ZNsI3Dqp0shMIFXJE6y8ijfjvou7iX+81j8VL8Nacm8NXa56qBoUtvIfo/ikzK/1Gr5HzCSlVgjYko5jpnfftk4+kqezViNhM9G5EZo/22H/EgTPosdu0GEZ6/lGkDWPZOJ2xhBMpO2lpzXedZYAkYW4yDRfq160WRMsPRjtbclFS3hj+2BrjHhEMmm9LjX2+lTF0sYXwj32vyOqb5UzIK1qCWYsJgcaU0rzjGOJPNGGME7DETIrC+McR3xk2GLl5rvYNXctdElio+H4sP7bPTsw0lBZ+FNRMc5UYyjPa9j/SYiXutZMViKY1uGjrZQnBwDYJdBosZZbhQNai2JiETZJtI3DJR7BPLF+KMmLJiysQOOEdwKK5dzw982lG0rlKgmAptFA8i2+jC1nfOKkkB320gu5LvQyxUctzRrOQgSiPVwWjZEIwK470HvsLlTNvaW636RwwuO3LHptB+7b1pYWbuzHxd7x+32lC6D9TN0QmAhE6Jpmtw1Ri9QHJ253th8UOYFS7//qTgl8ymV4bKXHmr+iPW4GNi7AaJTLmk0y+NnIjmxYMJDeSfXMwMnpm36304OxwSUrVJrg75a2H2t0/VRYPRDz53d74XlnmGD/Hy3/uLLJ7Z9MpCXJFUKkdiqQNOPj5HCMolg75ocOOkod/EZkdzEV3i1953HmoRm2/+zXvXZZznRZ855bJ9VpgzfXlgoEUcU+87D7WIzTf/xt4PQtHp8DSLXO3RA8gPUov5FtqZDXV3RLaylZ5QkEJIE2YMs7QCvwm6W9WUH7s9z7vE7hUg7MPqOHE4GVMQERnhDVeJdDFk7W/9AOr3iMyOxXc33SH66bRRzQobGMtNjBR8UfvLwM1u3olwAoQ5l3CT8pXfw5lKh4PHfrA53jw6NVc+0l6bhhB/+p/0kFlimv3ffv7c3X369EW9vw143hYqEus4dpruVmjpSq3VSKVFPZWykWQIXcAMl22DXnNB8dS4CTyHNv7nnpQvtBTvAKY5p6Sut3zTaYa01pdx4HKMIDAVbPguhx/cEKRoJ+5dyhNM2Xf6V29O06hTnykCbnmcVT7jI9w5KR5k3m31Bt/sxT69snzHee/n//jw3gaNvESJqldAygsNFecPIJ/kKVwujXRDK0rSsfq70I/OSqUmguvtqHcmGmNkiJYIF3lbBanXjx092vkIZ2HAII3JnZILP/rgPBDGaXnAMpqvuaDo1HPE1nr3poBxf3IPokJazXSWYl4sDxCRgfUNOf+B9IYv0ijIcYCv3hy3rZjLXxdXDT87XX/1oz2WUpLg6DpyPaRHDEc+VMZ2PA0JZ4Kv09SR+k20OXJcclRHQn5b+r1MnFyLZR0Cs7pNkantYwh3VjFYYExry2mV5DiMJuCer797P4A5GkgFwsL3xCjpmIxgZHNSMIpK65XEw+VwBw4bMimbRqPACY4Q3RpbW2NUepDqlO6YWgEoCyTXkhM956AP8fHlWpuRORMqJoeVNTd2CpTcH2hrX9ZThrtae4FrrhDmaBZGgUCGNRVdgpmdl3rQI2+F3jVgxpeXmKBkVa5FUzuV/JZ+LxMnT8KUDPdwOxY5qNNkoUHF5Qsze0I0oOmzx7lZSDZzxzl/2+9AO5b4rRc8QrM48wR4cLaL4rJZTBanZ3l4XId+GOkDUszte9+Ey/u9eauXKdny8bUwgtM/aRO83WzMYGXirdBLmoGPNZ9CYAUO7AkuzIHgYJVo22hKufSlkd/nx6x1GXoYg5ExRGJfDEdS8MZ1ac2bEJEt863w9JZycRH4XEkfX2LujPfdAhDi3t8u9ixW1VcUMhSBvWJk+X1u92GOaE5olxJpE4VLnpyp+yOxL4Kg4pn+HkfmlUi1/UqujpJl5Y0T25bPVhVgbPkKnw/Oapm4+BaFvhQqHlsMfYQ64TYiz5TkCbfHxqj/BM99oaxYk9s1lSOT94P6W9g4aNXRyfNsj1dPGz/X7Tg6FTm1P+qnnXa1LnhBrnVq9Xarc/uKF/n8ovqEeQ4yEek/UQPv3ntqdoVZprVNggIK8ortHAxZ4XXMPy1VQV0KGUfSApdFUyS1Y+z8MXUETCtQTh8AwUmUjsTiujvgwuW+UI/VdkcjvF43U7G8VNOXPSf+qa1N0CpAl3dTWPbFygfni46+QCvA1cpsh5+/DbysoECEeHv37ke6bUb3GZ4aHCXOTmqkxoOLJ9oFOLwTA7Sp1CNvQriNKiakpU5DCboHNkk4qW1AKIdB4E9vMibsO7GTIGzg9WPovu/LXeC4A05cOf02BPBXlT8rDOzL/nMgLnM+uReZuvIIqnAblATdK7zYOzdzA85j+cpjIm/zWdUSMwi/ATF+PDpvUbui58u37wegaaCjMQprOOYUVYbyqB6PlQrrA4IrP9wpYG0bTWW91bAwfzkoSimC4Itm70bfIL48Bw5b2KDdCmpDE+MnzXqUpEInL4akNqWOLhktO0jnp1iVw1S5q8AlmEpr7v6a/EhvVaX1fcWJ8DmX2cXDhhCuNSE6UndGZKdKOpvXE6Gk3L74hGhrH0WBOvigFqLy5aVwvHDFClGQ7t3pA4rAFaTsTbMW73xE1x1O75gyuaePAu86TlRd811RQ+07vGS+HK9ee4wy55uyCIRiNkriwNtaJUpzjiOTSeT+Wl6xsl5ZlgjmtosoPzySopK8952rWtouNdf7Utmt0dxzVZxSi1662FElACDMzRPrBLHChvEq7fU5RgsXXmDKV84aYyLyEFM+wcA8DiGaAmcIczggyM5zfRR4tGE7VrGNHcgamzwypDTvZYETolNc15RUzjF8S7kqcqlu6/Z2z2QalJbday4qMxIumNOho1R32h37iHmMQ3bS1GizTzGshAtKkzK1OSLNzIz4sR7GIl/2epum2QAbRX6cNrtnbyUMK3+xMQH3ATydKXJWVtUICxvkeGW/cJ5VMcWOOKzsbQ6/COnHtM0t7whuK2kjNb7R3NBcnPR0W4sK35ushChHJgv1OTXnfS5cd06kdOTOnJLSVpr7RaF9VJH5nZck8t2qCuEr26koQ0a1bbTVPcd5cKCCJs9B1Go7xROMyX3kVaXnkg0m+jHTA8ojdTLwZqijFvzY/HrJeEYI35sUhHhHJuX0OY3P4xdGIQ2WUT+u9IkKhFaS2ocPBmg5lIuUXrX3+4LdczrtmHUpt+2xPBgqQsQQ2uc2BGCQOvm6keA7EsniWI5R447fkYb679eTXkToVHj+oc3FIyfqEjXWhDJjVPuaTsKVmtrWReAPlnPBKa1DEwKWbYiWeIkWpU3DykqE7vyQe71s4E/1Nsix2Lazum6F1mgYoOm6XKRcV+vdCdWwji10LuXAtj5d8ov7k5PTBe+YPaM8nBUHMbEobO8F7HO3fEMIrUiQC1hJbb/fN3OgZFihtrvCeEx4Daw3QC14J0Hn+6xYNEQpBcUUpJJMd0ymAbTTwJuuI8veacpAR7d2DdHRopFc8JdnN0yb6xcI6QSz+l8RflltLc+0Lz4ZoE2ljjwNnyopuLFbnTKsttp8HTJlVcgVGOF7MHf62pUq1SkENnMuJULFCSkJVPi/JEDF1XkYV/Ok9ilElgbyrF6N8wKk1BwX0v8u+2vF+Pij0/uuVatq2rmHmovBA9e7oMx/6gdR1nwPxBZMyhsmtKyx/DMPvBxC0Eb68SfRAxWDvqlAyHnBrj1fjgU/89XN6TiTaqfPDGym3qf2JyFETfeDWVBufYzLlPuUnQc1gjEWZV7q3E5VSt6KsXInvhEoV6favdM+PTFA00BHgUtWYkJZxgnIXACTHJrOkVGcS3Y9XgtlxmEBhbWxcdqHhaAMh65ZeheQNL51VMji49ptWn//GRifAPHV2ZJV6sj10/nrb9MZQbhv5fyx9ioULN2fQmM85xwKApOn446bF7UqdlVNS9jV/tcuI3isczJDyFlvvaLkFHd7Zcrvlb05XY5zBPSZgc2cwdRy6ki+lr9bp1YzhDXNFVQ1+9jUU1pNdcRrl6C5hKgJ5IQ0RqP0UBUjIhJpMJhOaw2iQBhO2l+/YpyYnVnvYp7tMSou8vzvf/4UBn64id7ohxIo/WbYG/iYHv4V9ufbt+xByr0frvH0wn7VuACU4l3RkETscWuppHbdD3/q1MNNs/dJNeQA8hDhf1+05SM5er9W3q8zoRcRQsCzZIcdutQcB+qIQddkj+m+Yemn3/34/Y+nfpKcejI0naw1FlzhJQ74zNzPFflZ+AAeakRZSpnsd16BgEBZls/Dg64zcq7X5apmNDOLLnGHgoZuKJKKBaYVoJKGYir11X9yhP7JwoAaUx0fRoywY+XwjTIaU02dI9A2PO4QEjJjuFgw5T9kph1fDX/pbYJProJh0WDq2KT1D0MqDhm0TqB48ZRL+Cj17xUdkkpFt1pRNDigtj1FUucU6sSJVoqUVi47H7UaaY4TVHGCrT9SPeLSJ6yuNNpHF6U/+DRXjhwDbSxYSZ1P2WlqRiuHMIOYCbkA8mCS6XOxOcZVHEFaui4uviowz+7fIgTbnMd3XIThFDExCM5jqqlLJHOdcHyulS3tXGFiyk9NucRj0fAzmqGJcAsUUxMI2Ia09GPM5SEFNTNv8VHm6UagItGJA2Uj+WQy2EeGyl84x8SQontPqgv6yo/g0vhgNAgjdE1dE2lO0MZSeuU+QZA2raEV5hsZHTEeRbUd0yfcnPfsLEhCap9w9VQ/EQVNuEG4BiZGLIAp3V5EOGda9ZMR+UTqgeAL15PWF/95KrDwIdfT7+fnYbWWQZlXErzkF5FvybjP693cl/xJp3wfmm5E2+chWW4c2XqvF2nsb11IeFrNi20inJFhZUsrr6hRgYxQjrRK47PBqRlA1mSChhZ5a+9zM4h3hE0jykQZ5IEIlDnIUq6RX0FvmjMIFbWykPV5GVmfCFq5zSntIxjKRGCRhAPJMzUypJG8X9cFey2hbaPyqjL3Ne+zeoVLWLFASfFU+zqyxRCVpsabvle2JbI19zaCsUGEt9wlVDqhIBmhmLTqocFgL23YjEHQ0CKj7X29ZeIImTynOBz3H+LMVuEi4C5iuzv8xUcYcsVFScmYU28ljEcxXzbczdEIYTL1n9ua/7zaysZvmt3j784L5abQQnXDwiluk4h4tm3wtx2QUVFirfak8CLf1hVHA0LuO8DyzfZW/c1EyjBKhKvMauW3j/0cOm1tVOv1tQBpnuUA9m1ef+9gociywM1jStvbRZlEXik+/g2HZAESPM1HRsjzPHuYJT6ylRBgOLgohwTv3uv6iox+G+rkkYWoUUz54XDHTvZ4C1OSnTITrZFY6AsdgRWxdDFXbdl4bZZ7/cuXOCniUK3iXcSRKBVBsh9HX3yQzXMiVXulqAPjqbzwCCizB+UsZP09fnwppXV2Io5yUI6qcIvnKBe8osQ4VNdPxmu7CA8CrOyiayfac51BnfehGnuCcbUINaYUzvi30IV1dFHEHrTrUtaajdzZpufyhlM9qDaxYk8oajJz10jKCZPVBwdHpuG1c6znplzFIPCSLcKXkfOhJLVPAikqiJRAalu9/p+yHrB++fpex+v5Gkbgdb0aN9jgttUqwlwmb07mLC0ZKfj4f+bHzNNvChQMeELsn/3xp++LKqRHOKM+nJ/9Hswv1yaz7WYR+vb3t++H/jJa3h9OF99CKl+v1a7X6KHX5/BnxLmen+7d+4wO/RU8ba0jf51kyn/Jw6uORM74B2v8+dQNV8CBzZmtgONTBKzmGdWmEFRsnLEb3OzKHPW+8nv4PEc7Ym8HofIuFLpDgdVyPQYh9sk2cEigCf/uJBXvTFXnk01gGlTGtSSpEssDdLg4wmks2Gd+nkEG0mJ1iCnGPWY7zXEpHLDsUtPtREAUnFlGsIPGyePf+JnvqUdpk54BMcWVlQyRoNvdMiH8/fidwb/Sf8zEYQMnDGXW4J+6Q38GqNhkX74NLV6ox4206rh+a1Jp9bzWPAscRv8zUPFdu3NC6X9ixEb7RAgSKu+e987x/GhaZ/7mj3/kxx+KDWv867mTBkY8ocYqzSlFmLK2F1XYlHEap1vrtbLNDnyyMtcLvucLUwiE1uCg5NEq953X9fx1saY7JSnGwM8sRSAtfVVE54wBmYph4jzuLg+GE0Epq3qaMUneMi6VVEJpPXLx1nwqPJHZ5wV/dy44PcZBJXUg/wFw4cU+4/JoiE/DHASK9KMtSToc0YwJu4V8nsiWYz2mVDuXDfSECPG6PB65uIOVm2co/shKDtTLR5aq9ZcgBZmIG7Z7uoao54gEP0QUEKdkxhRKffjYjt+a7V0zKMFVsEtZ8taUDcQgkj244K+XInCaQGUoOc7m94TSR2E0NE+TTy4YCY0xoMSLO7QH7ePw93f2GOXyUMJCCRvajAwtGF6OYckBRIDbXaZBiLi/5HS97kcW8AnXdfwStaBZwk8E4Cp76tz7YCcsMLJvdQdbPm9xVGyUcwtuM+nTzGsHL1zUKWSpYnLE8hVKcchUvEB2ZoQHU4IIaq41RGbrlNnjWivYdAhnj4z+WrJ/JfQgrupVO0uGLzd/jdK/asWFHM7Z0N3a6gP4rNOXtaD6HgArf+qosgQFQ+2rGt0grmJMo8dYKKcQK6zF9MW/FytJoIxvfVismDyxfHVSidD9lAzBRACGNyWJbF8IpZWQag9bklWxbJhl2N4VwV9L2JUwjbiij85DHVlDPwDqk/5VBWtxlkG2tkjYwnSM1xws6Fq3khS4/UyL8I5gyqMZZziyQFHCWhOw4zOl4N+LCGfvj28NllP/5Yr/klRR21vtn/9ogDaVOpoB22GmhW8Ij0cYQ0CD6D66+aWvJu8akXMezAtkB29uyZdzj9NtR7xO0TtT8y1nWsAtU7p34fMUjEr9xItGvhyDt3wkyw+RygsQc/rAsv4uqpgtvxyxlj/Do4jGjEJkSVJLFWqVBROC7BUxap+NzVD+rrmdP9vhnOZbu5AWroizVX1fuGS7gONLwTIK5uFWVG6YeNFwIPY8J2XKC4vcrsQ6AD2fnX7xQdNAR68iNvOK8CPGrFoygtFWPorqrQBV4jXg62FJRzvTlEe9RgnICTJU+SBYwEvSCa3Urm+S4qEBU07Yq0qk3oMVKR/EXSDAVvsAq+3mIHu8gSlXTvgqogc4N6OFkMnGjLSt87COpNLWzUMue4W8zj+s4zMVAeRKujJCYMoDPbYBkpchXgbqbEy31EKVsdXIBRMftV5jkCbBdVAiWOR28UjHyv9IFIjPG+N12omy0RAr5FLMY/xVLRaedb3FZiS/5JpZ8+9+eHPyGoFljIsNV/JuN0bbOo/I22+2KX+dRLeJCtZQHXBBN0bedSM0xbMSl50AO2xC4CUEWxbN6NwKVuSbZDyWKHtiZq07YrZ5LzMWcwkLAHZXNQ022nmmrRDckFD6blO46BZF14y9/D3ZNUMbbb63PSeGIJtCxEEgR9ugoxzGLh8SYLucP0SbjcBjueCU0d67Xt6YbWI70DZEE753foyd0iCbVDozWpmaBQSmljQ3zsWEJLDEC98EvJRCauvbTosc4YQe8nLrggNy8BNDgdbemWSrx5U5dFiHV4vAPzqTZIq5eF7s8VIJ6cO5h4Cb4+d6ub0guaiKp5p5GF8CRdeh5oVa1bz3rOv2L92h91BuloSzJhbZs1LG0HFqTOhHcoOGPu60wVZUugR+Qhm0pOBuwUpZMa7XmkSLDR54CeHRmRSiIRWlKH4JX9rjW+ScZSYSXWoaSupaam262VryfgzYztg6srxvvVrBhphyfV0yzjLwp+mVGviEAxjhEl6KgSklFRgouZCiSSGWEhDTDJUjrvd1nQAhUzgeObQth8ATQzC8qoI7JoILwk1dlzIZNxzK+JhYe6xaQKK0HsX10pJVmKTXeoZUEbkvXi9aI2If4tXj1c4V4nRR7PFSjLQorKtLQ0t7IPR9Jy0M55ghTsQhqYhBouvE4vhK5ublvNEQZIwL+ExZpLgVWSC7uMzuElOL1Nb8bpT7cvrBaOxKhrkY6RGcmDIWEZ7jVTQymb2lg5vpTyBvp+3IqlXaqjY1MrsbHAa1pi4r2UhkXCsUmNjFcP6F6ALAeRHPIDG1kaVUJ858ZJBqXkFRlXW071zxPJQdXK4Ek5Fs2LxuzFXAIh33kV3LeYPMlmIpvZIDbtA0rTgNmNOg3XeazHVD/YlTmmwHcBRb/Bi5I5W2ovEOhjZRvpHRLRmblgFQRmsezVowA9auwSvq43AXGuoxFfKQM3Zw3i+LfsN/cXhGSvWNmkcYY/QT1Mub/G4urG9p7YW4Fp/HfZ0//xHzdee7Liriozindc0WhlidDPhV/g3OTFGY3LsqjfKYmfpeRL524JpuGAuTxm6xrnAj4q4uSm0C5X6XQVqGIK6MgMf5ByiulUY5mh3Suh7KX5z7GVBJb0EkNnZM6qqu24USV2vEX8ahXkdH8xAT7L3zDzZjB1mEfQYzsQdx2PG4efNcqW8zyxVddVTEQ3GW7JjJEZb0YkwU1TT/CZAxUrIm0nCSiQRCChTaoU3ahJoWE9dJDwqXy1qY2gL7/c4nIgBxZYQ7rpTwxKk76rbDXzc4dNXMmDxXjX63DXT5mArVcz7g0Na93HQbQRZFp6RQ3OhlCrDuXoOl7W461fBz9S9g0FFjjFG1hy0z5toWOjMN7f/7feD/9uJVzbY8b0IockN1lG/4RqrHL6GZxFr5pgomnUebwMfeK/7HmzTqs5ezHa79xvK05jHEORNw4aME0eBBJZWFfcZOoaoIEyUvU5rQdnNMQjPBuUAPDl33jS9ibdchT7rz7qcQ25061XF2B2aXzWXzywNijqElAr8bV9Z3teRLoXRTUJrkcoye0b4dxaYLjxZSwvGLPOv62ggTznmwsx5rmMmUkl0pQ6ZJh3N+r0pdP3vj6yIndJQiIiHM0cIqDFn6NQOKVUOQMm+b8i4gFWj3YeqQHshwvTdMmjmnYIVqqCgabiuaNNUzznPbadBZ8jw9VuJy4VPVjnAu0IADrDe+ztJtYxuFeHAHxQPd3HFm0smrqvZZaqJYBbwptAHsVgloow0To2HVAw//QNdHIqXaQr7y9/VEzrTmYr0g5Y/Olzs8au4aDNtMBxus5zZi40qUZ2lmbrp+RDPSrux6HAHeDsTRYz8QoPzGD8KGNfOufTD7bNnWINcLzNprHE38hhXreo7iGxtdXp4HXu/qD/5JKDW48H1ONIKvRKk3An5u/Y27BlIIQc7MNZS7On487W/cnj6eeUHgO8TUjKj46Ovi1yVcKK2fdju87xUlNMqIuj79w/gqwkWzlVPny0315IW2vNElT8dAXoS+mlIIk1FtDkJZF6bK84pIwKqi4BLTGFBOaDi+YFDOe/gaSBzivkvfIvVTBD4i/ZfvzHr2tbJ+nhyE94ubRfJkenLfYuFk97MSbjvYSM3r5Xr6z59myj1zvv4KkiCWyhuZSeY166wOgpdZhvcpY1MInv39WaZedWc5mlazGxuxc0jYPXXqeKHt5zWxH0L7DMdzFxuPZp94l7IxmNIaKhE+i/8e0Z2OxxAyuVCnAiCERwR3BkeT2e3p86yQb1z7f8iO1ZYjY0k/4ITjv4jfxRdZPbzuq4dPPhwWdgslymaDwtlZtkEowcBQgnq+r4q8jKBDzlY8FVyIcO8DAx6k/sEdIzxYm/SsQh9evMjMLZvfUttaVOwNn8WooOnhtRmTmeOI5zh0yUiZhIYqhUXES6WSY26ba2FUVSnd6cukFKweOf56/Fy5PL/dLnbk1Fz4qx+EPkh87Tw0hPyacGzZIK4Cgx3EV8f2kQCOO+o35a6v0ZrlS/uPvyc8rJYEcb732m9bcLMezZtrSb0VDCA2Kbcel/JpMhcatiHiIFoOZcyl+ErkDTOu/B24HxQjOD5DrYM9fxOIfMHwS5iINdQ23hFENFm51feqYAYjqBsqCTQSlzu2L6gOax2wfe8hUbbVA4bVsMFBGG5MNJGTCJT1bu2d85dReERPAf0Xxd6P2o6ryrwygyGRboLh9SU26bYhftGtITtd8UoIBwniMd2ag1CORoQUj5y1OSVBppI41yPDYF2nRi0h2AAty8ifXO/Xe1yoZWtczzZPhFtUMllNHTZMrLFr3KAPxKHOyClTDgc0+LmJR0XZrC94HGhwEXbNxT2o+b2Q6YpqO7RVe88zjbwVK88elGzCGSt/ZPGSJeyQUTRGNM5NW88hnnUNrdT1jDsXgDG9mNBpE1AsFHDGq03O2J0y6wNVt1JCNv3e128IRim4YNZWtMKYbS9pkcvOEPaJsZlMZeePFTY7mV4+CCeqhL93KXqo/9P3B9C7DGaiqL7el4oODeJfJ7dqcXZzcnm4O7psnFWHLmAxM367/Kf844RGjP1/Hz6HabrXWHF2P3L542y0fPyJJqOZ9VUrnyuGbkbtx2e/FUfXlVdDOc7LSn6EwteffaahzsERT1T0GaJsx2Cr2b6tJGOXJhg5D1zpBprBO6EhbsI4H+e5eDqdnafsZNqrjSjLESsBzQ49hBQ4o6BIN/JklCizR3nU7sVlluXMpDn67Q8aGKNG+sz1/tO4QcerFDsQeEoCnhs1EhOoca624JTFeKux+jF1zQl4SJQ7ZpaeA4h+fcfOzgxQ8T78foy0eKul1Lp3X640D/VxAFTSEmKZQlJ52m0NMY+njEahM55boimu5xtJUL9JoNV25dZZWR/BUeRSGgqgEg/1gXqQbrPhBlfHlm1odgH+L9QH2w6bEIIgCIIgCIIgCIIgdKKT1JgQBBHDrv/A13HQ7Y8ZKJc1h0zgV/eNVhgsBbo9k9BamFjcllRoPXOBUIMdQxHbgF/aJf4tngiARmE6vicJ+j+98jG4IimcOBcda7pBE7GqBsosYu/nZddRz9y/3kiVmQERoZi1mLzwUT2I/eEXGQzOA9FZ8IMFmQpUwlj81E/MqSvMO/XQiVt1bnRVFL8YIGf7UNgIeAORXfy7/QgSxCrLB5eYsc20DBFDbsE4aVMjVCbXFKPKHIRIuexvrAiCIAiCIAiCIAiCIGKYJCEhCIJQMLv+irgM1EkuYGOG7xuxLuzrZFaYGsTehJk6Mhkq+eok7UNeoNBlGG8sSnecRdIaAKR/08CZT0VUOsF2NOWmfDBXjkniMleLrZQUTb73kz1sSSP2ehtEw3k1cQ51ZGCEYAKV+C27mSHbOLFN3MNdx2M7xEhcQwifVtHQEIhXCs+V25ZhzD6AwEzugDec6hqfb9Saomqssot/eEWIgMzMLTvQdsvVgAXDdkGNMpSaPnbZAh/BI8WByHcKfICqYUouXkerPQLhx2jcWqMirCXDEbeB36x3BMo+wnk/cd2d88tqM23OaH4WpvUsktOlTs9HQyi/JCZ9X+Zc/qV7iA24trlYMPJ9w2XIvwAhuDNrpkOw/sbns36nnnAzxk5cfTUsZ80jXojaVXZ4GfCYWd9TpHodspPByyP8zGpV2yB74++PK53owdJF5N2w+y2sA6aMo1b2XtvkfqgvV5qHQ19vPvMovhl0hV2NVGFUYLyJSXu5vvu2ycI1Dr1VINYrEzpGO18XUxfbG5sR+nbi51i5Y1RWfdCGj35N/kUYy2OYyRADOFMwO1pFSI0qqzibudTFm0t2wK9QGu57BkLtqajpfigpvVr59zNy6yb+IH7atgCJosoOj6/SdjcW1HHqOKYzRuUQolke2xZCs/au5eBHFV6/Y/PalWk3mKBdGkoX2Vd8pAflsRZ6vgV+9JwdibQNE9KUmVnC3Dgi83DTpdY7kKbuIBLATFSja4rJjfd8b+/3dI2nYzRqJMLDCQ2A46trPGQ2bIE8nmaw4IOI2rXClS0rSuwcBqGvb4r8ihb5nfQAEdlYfqnPR2csX36AKjt3K0v0KmAxKZE/HJnOevBpaU0KPX3rki9T02rZCYDDb4Yzyc8mz590TRrVlkBpUTcxvQqgKPI52EHwbqnd1HMIwHKGIPQ96c7Fqt6K04OtTpXnGVYpRiVMCMZTQgP7xqVTuYyad1Mb4DfDfg1qvY2FCpXM6BBWFskABHSCBfyf/jRQ5tyfdAoyipn7BQbdM7oYe61U2gdr30kw8dJWjj7H/Vj7PcLskLrp6Q8OzETry2sAWtGujqSnMCDSmVOU7zKCDxpvy/uuUhybikf6pcY2jmUqsfWo47eGmOVjTqravTG8+4c/0uzl9piX2CKXKHK5jm741v9BjqOwNJXo1q9pZ/yM7GiHIjs3bV1RQllQl31eWUW3Ra1IdZ3zBtSsomQdeTPOZYMxTihGRZx3dzJGUt7hY0eDCFBKsrWz+5RsbchTYJgRobQ9JleJtDSA1n06335fo+gGtQKlIVygNrKtmR6T/AOOoMx2TZUxSgoRLe37+MAWZITKBBc07N3qUeja50qpiempWmlQDO/kfUDlsIxxJEJrvSWc1y2l1t5wIqbVemWUJuWCbcnMNZyxPtZThHjrpx+fD8UzE4W2f6HpEmGMfcvx42q90dBgSgkFk8y7Ya15fHCSF/UkTJacoKasvAqFMqk7q2JunGKi3NOTpK3hJW2p/cSwMG+grqTiRFXgWX2jgPFDzNjP2nFk+oicnTTrryGY8w23m07QRuyKMNmr6lpZ6/23N7G15J2vS+UCH7dUOe9s9wTPRqqVSmtnLDpJLa0mrQue2CGVcfsUlvPKjzJBJ+y+yYWxeyvRYOhqD9TSQkbDoXXqMhDKfBAgz+zOpJsVuNdRt8CVLjSn4j+7ZuGNCqfSBkrSPqBrUhmGS/YwIgx0WK9X7zQr0ykUoVMgQpoZugMVBSrTERG40JLs1jgndSgMRPQg1pGZhGYp3wYjBk1tdJHTCjzqCL/zrtaIBUk0fEJtIkUl7gZeuJC0OluiNWkTaUxKAhe11AJKSp7WIwHIqmfnZu+lpuQXjv30VOQHoePzdNOEeQUxJs69e5HgggTdryKtTUNKOTHXoSisnAEIJogoyzFoTo7CtjoWy4qXOPWYoH51FKc7xAs0rO21YNbHnHaYbhgmuExIoUHaRY+g6oOKIV2UwjzFWETZ8k12xp6NpC66CIWw5+xe1bws1x566nB2Cchib9TFfHUXZ4prdniy8rFeAulz+hzqkUlpwIa7I2CwKnNNPWEqhquxlNj2i9OkbMoWMdupy64cE0BSCKQnSsbxSzBeRKJzpuSLGxd8V08psVhaXOkL+WHzYqiBtTfoSZgGTFy8jpkLlywnDfc+ltRV6qoL+l+9xwipQWbEnivI/yzsPLiFbveqNWY3//pnhMhdr4B93w821lraphsT3V2Jpg/OiLk7lVK9RqMF9aNR6gLfMVHU6qZ+42k0DJPG2Vnpo451B0GuWkp4tQ218epkLF486sc/HONkKyZbCxstdVhec7yVHCOlVzRgqVbgd+LeSte0E9MA0fTVO87zjdASrXrkeZOzIg2R4C8Q2avEULbd7tz3k8TX+wa6CpAGkSrYdM9A6KnBIVjc+s6XL/Mfe1dyRa9annpOSveOxo3ovoLf997/rnu1mtv5rdfthtNJC/MhOVc718J8Bt+vVZ2hRO98ZReyHVOKpfy+4SBMoiioNVuTbtJ40hulsajrKfeurW9F0/96Z63jVOA0corKhQlCIOjAJcaofJbs22AUg5SLtwqili3nR/EQY2pTZ33g2ey4ZoiFl6b10JMrcWx5ZYposSMK0wdXkLNGAoJQPp49d2OMtWe+UqLZzDPvGfuwKWSayvsXXk5KiJtufdCbLeKE57quI3scO84JWiigbTia3jXBgQixwPIRKMGKVTaW8mDyNAD56c2w36tbZySqiuZYegrHFOdZk66PJkPI9zVYc3yd4z8cT2SJi6ERDSm8dq67UxiFVa1DTCVFsvk36Ppz+zjrq4r8EWvNcQSAA6C6Is9o3qWiNCZsVONVSFbZhBCarxlGKbmQci2C1kzmkv7TQPrgq8izq0lRHICFrzcqBdpQSuhapr4c0ksmEQWS56j48x9FrfcVCf/vh18GGfPhgAe/b+y3WFqaekXeJyUVI5++9fr/75MsmEd+a2GpPsyw0Jpl29GUgqFZyC28V4Ww61pea+/v5Hdty9pDyhqX/RsbQb1BbYbKb8LQbST+NTouw1VS8Vof7ab4y+9ErXdbbX7x7q1vaoyKhu7vG/st9o+mGsSGxFXfb4fCoMaMSrd91+5RvQZ8J8DgNTU5twmtBW2Te+iEerJaXidhF2jCrBRljy77H62xP4QsE1Uhy5EP+TU69nNgVO2022OiMzWCI0Lk8CY5htusPzzV9x8Orc7n9HV++/zj84/TocEebN5JSAbwud4aHw2WeQc+HB6OH2Q/Z+AbTk84tta8Of7w9ObRz4Pt/n50m7/de8p2j81dff3r46+PC0Puh/acV3rN+u1lWb2pU/vQoO6hflO9mj83yTGrXIm0pKjalB9HfUzohdY5JanN1IT3QyodjdOd0PfGHBEAkKtMhjxjlDix5t6PZJiUFNesdCsuEnsfcuncMW43EQYUfdgE524oKBRSvQ6prdhHtiTvzDWD/28n3taQp7bje2FHZw7B0DT3MaFe90dFy2vrjVpTdndharIVxFbT91c8R4/TmTbWGk0v4tAPYzYnpdxyaRQHfrY2/HIaifmAjeycudaK4hBe8ZaQEah3UGdTVpFLNQJXOqf9E4zBUZ6M1pG/kKPXHMC65DY5mOwYPRLUriKCyF9u6RLUwkbGBb4XCHvJhjwfdmEP/MJ5qOdQ1z60hBwyULnV8ZZTXiCUzzjjYwxyV+Vr6x45WvJNjSHKBRvlGFdtIm+3DckIYdJeIsop4gV8WF8xzplQq4Dpi4brXxI0mnHoySb7kfT9a8S+bGOF7Z6g2x4bJkLjZqTvW8qQ+bqFXTJ+OR5M/mfBN1gS5zAs6pSMFGqEGGdETivGSV8hv97BThjNSMHoHuNCfAkgqUElE7dp7gVR2mgcfIlQEdb/5JBIpSSrnrTr1XobP8qYnzkMAYujwhU7t0Pq3hvzUH/YadntIFjz4vKutRutpbUd/ReX3ZgRVDZD0kkdMlch745SLs6Va4+ISmQELL++tcbomtoW50I+a9m4k3ba3VAj+xBxyXtEozVGp0rEn0EDuyfUW6R2QVngZnrCSpaJyCvlmmDn1kARcWFF95+ENk92POfbxM9YoJuO5285czJL8u0FLSjZcgkDAyWFOOQMLUUoCnrTOEYUAbDyPecdVAteFkolpXLRG8ePfCc5IKZ6LywmbB0xTCtzByq73q5U7K09B+kOgrKKzsVsRYeJz8lu732N3BiOEBU5A8B7wDI30maZIktOCOO7SvUScLyspBRil1CzSWFxtmbbIDveCinWlKmEOZUQaQjHJKaAkws0+3B1oYFbi5WS17wCG7zzzj33lhD6ourJW67Nk0jJ55jxBe0jX2qHg6kT576AtzvBXzsryPPol+BatGRCj7TgFBdWOdMMjlDBQ4jBCiQsoPQOxwjtUYBDFiYjB1iaacFxMRJ1mW5zinOx5z5ydapc5xpLHUM26Bvmch/bvl/FdoXykG9UqcQQ9V/JnjvcHMuNOuRruYcnKAWGh5zYAH4QCiCUMGuUIhihlAkxopURWET7/eCAQwuyp+SPHNCIE7xXka3eDQfl14bR7zzf2waWO4UIbQqRE8aZSTv8Z4IehIkPiC5OkU23bRFEe4XeFXTDdd1rIIQU5IwjCOE14CPtvbX7hPGRsfaa1pozJUdiRuehEC/JlHhGW5myqPT/LYaKgdJKUUJQUReiMgje6kuTslNXcIx/Zsz2xnCZcFvVNlm5zDcsSG+wmYJSACYNTcxJpQIwZIleLeFRQVm34JW8ZklyWJI2WvAxWkIGD2bLPJhjp2LWHGerpDrgcmesO5GOszXOn0jO9lqnwRrHS6F+t3cHBNgTUbMW0FgoRaVXIWy+yIJSeqosHyHxoFPG+Uwxg2NM6Yigqu6C7yNLU1UT2tZXNKM9N6ErWtMT2lIPZgrOO8UUcMaYkFIRQjDlnG9b3gC7IEzY+HdDE2NCwopWMQsooXiBEfhqF1eEFkJrnuHCSj2OtBauIz/W9Ju1nOO2azijkoSeZYdt7MShPATYiTgoFLFBHzrCFzwEJ5IHVwybVrnI4+CJLw6tS17Gls+nw4AvqD+wH07pB/xx6ARhfmuQlYDYA3FRAgi7Znyv1wwzi+zK+EO4nfwzryFujRk36asYzNylxI6+O5fI7WCr87LZjTqr+3+wxRVn/q8JHMQUK/UuvpF3+WAlHuy3BdVupRfUhSMpewG2UvezsLKNta510DviSegjwfmaQ6CVVDVfymQqrBZJUPBU+kCwl0duDAGHNuzHIz/CyFsidTfEsa++dBMw9kRS2MuKjl2DbQiK3Zqa3n387QdwJqTVQ92lsmWB1O8QUylTYaWV3ooNeq9LYqAKXomFtZKA7QsB4yibd1fEm5RvSuKNZ+32mpKLaYdLl5WPD7v+fgvYEiKeuQlagr0T8VMjNK6DATG55wZT+jzxnbIknGenief0JPRStojxPCOjRC7lUg42kkDKy8gWGo4XhnPZaGOd/9QD5JpTObgcmrrd2gNMDmVvEmSMPHAsNcKeGXhq5yZKgRXbwTpnkSLeu4at/8wK8Yu1+mijjkhfpTBEVAxZOwwVLZVy9VjUcnXLCxsxteeuFfokjDQnwSZg87vy1eDcB80OXg02p2i7J1RkV2QzhNDx3DOH4m8/3K5ARgaNd83sFG9J0/I1khXDFcRklI2g7HCDIayK1Urm6knqiR50Qo5wiymsENgAWBPqxi8aocjSWqxGg8xIQEtEKCEM3u8k7ZlwS/YkE4R9fbiFwGR2IsTTLuLZoZMNF3am3YdOcanO7v/+SGOXaDYnPRy7Dv7ff9ln/+sTNOPpCgKNr/2mtQRoizkpyp117Lv8yH9oTWeI5duXBWWC26SBz4B1xbXZcR+IxE6gUGrtIiKM7Tj17ZOKPEEmvdmKhbMg22vahKT7hbj3BoApDq316TEy+TE1Ey3azz2jJQt1X14NVAaYU5EnIP5e00A1HLiB4mNlHAzfGhHKfiDviAux1dY5Q8m+3W7itDKsAPn5zu5jYPkBEe84YYRFEK4Dxjaf8WdQsyYoseQoI9hcbQbAx4Z9jAZgiKa1Pn1GJvf9TEYXjed+/lyyCPflzL4jCXYVuJmCdg6fnlwhyo5VE49YExW147js2DTxiDWRMIYRYFoDu47FPzsWZceiiUfsNSrq5HHZsWfiEX2NNPyPCZxeR39P69hPG1vFdj5pRZg9MbIDPw5b3urjCIJxzE0MhjZhqIhZ31l7CiCyVP8Qt3LkGj0AEXpSQuxarHqLbBbEW6OJOy3inhqjkXISFSIbxyqlr8eg+P0aNOUWtoPM8/sTSc8PZ4cvw/ybhQMUDkyxOmqG4N64PpiIut67emdynjUj/QS72C50BB1syRAOB1Lz4vWhvttIG9YPWmffW430O5chZLqYulPKOBwJ6ZxXFWemT5ypalhWkbyyO09w6E8C4CUFJZ4dp22gdS9RzA5cV052sY4Mm2fX7LlmQ8uvpiHJhHdhwVE+gjxBdLCyntkoCqbxw+pX8rAzQbTndeneCN71CUpinRPCYWg7w0rDEO5Yq7XV3CLoaAfBh9IFXFmjWH29kRLa1vmVCVgwgjqJAk8YghaECOMOhZ8Hhdi7XopCbUmhoiIpTCLsTXlgL7krmqskJICwkAZBPVI9qm/j4Iy9SiLf8kL0oWestNzFsJkxapJE4LqIqcZYYwpCK8H/rShJHbwd9m5y/OaTUAl7pdJUtcK6O3G4uryh0kw4Kou01DWRprS2YzC2dqVCzBjGK9W1GBtTWFecu7DyIIUufYD3Ndonq5Y62FC8Ba4T6Qe3Fry2dVcWeFfqul6XCMpnKMuDLXN8LZwsT9vhewRyP6NaHDG7x2XKR7QKRUS81FkzAPfbXzY7TSkLu/R57dvdWkkyD2UcK/qbHL/gPQCGOcKpfDO9p07MZEAnhSHfAOiXl1WLZs+fBukC1OWOGW9tTSMkyI4R9hc6ZGuufxhLdJggU69cyLaCMM4jzoZ5kqum8roDY2QPLDOMjVrSFmQFrmuCoFL0yK7FAR8D7ba5WEopBbstst4NumUV7uSRUhwW/PV5d28zeaVM2J4SjE49vwfTAeHQzQyAXuj6UWGl09NFFBoVH6/07coLXJoEo8Irk1ztiFd4OBoWRkyZhJb2VYjx1KVyZlzEayu+fLXf40yIzjRqZhTESixvUynJ+tDuMHJiH75JtscOGg5evBdUeGskN7QbQa11mnG75R5bg8tMrY8n9w0xOxt2ppPh+aJ31RlP++el1QYCABHPbSSte5q+gSHSl9Z/UnUdDHEUPX2RP4wurkw7uHxE8nOwycb2mFfs3e23L18q6mBGGdtUpwcb27isPTQeapel1cG8dbN9WzCplMJCaYstxab6L4b+xRy7m9QbdWH1nEP8Gi3eLfiFAVhg2oPBixrmLwjRCq306EXkO0nr/Pjs3bu1AGGbb9aFDXc0zLohxVNMp55Pl/t7bSaYDCR4i0FkwERbcNs5zqc0hTAqHK7eYZl8b/LYt70BA/6gu4YJuv/x820bVEC/HERmtBWe2MVgFBy85xwToXaV4DRrOMBhkSXWAwSZElpp+DWKvU1tgcZVa7KjxOGLy2noippKbW0XWCGWgpdvlU27SoWFsBbRNODe3QgPjUlhWX7mY8wJtLlJGTBI/uS15ey44vBgBjqAEEHCpZtlOK+Ja9sRi2qeXVTiYgnzHixHzMBYBBuSI6Erp+OFBgjtIsQCnQfBSwLX9GcP2KRGj5nXFd8Fvcu/f/3ypQIgaX5YZoVp6tScksqWQY9wac68TmsnAoayQOuwkMLnhyfokM9EJNuoRJ7vrIs2JMGdEsloztvMCWp8wrX7qFVVc+mcmkcu1FtM1yRmjH9l1XXuB+6WRSpEiAMBYeFrUyolZOg1wZ6FFiiToJtrLXCVAKd7uUWxgUgXXgL4ATqMp1Z7yLa5czhenJlxNK80RZGVrF6zJP5kJk5VWsfaP8nWTvdDyh6qolYUkYpTGk1NwHCJ74xilIos8sl9Ba7CtXeekWZde7/FXdnC3eXzxYej9+E2r52s5fpl4Zn+k7Y7//MNEu2Hg9f5T0sfrOreLPstqn+a/3CwLsf747354XpKH92f3JWt8U+1/cJ6/6k3z/1uUTc/L17njwAY/9nfRtGWSmPcOp3fWdl3ZLRNxPvqcFLJesVwn02DwTKIcAT65Es8KCVBbc5xsS44UkpqWz+t+s4NM/HNkev7k6Vj2FEVUAWu/FsXJSBjh+i82TeSCnVousGpzRSeqMoq/SOQdzaEbcP1je27TtXYcJ/WYlZFzvqYCJkywueQ8iP/VBV8M65Ftl7d+c0z0CH3dKYO7mmHXIPmxsha4EGm9Jz2GO/xjZc+ljxoGwQlC4qYWYx3LDC0rzBCbWDrjxEaGbC7cLGrqmtrKTqE94S5RbHuFnieYxBGcYBXTJkxMne1+UplgI8Ew/a10HFL1qZpm2IeUi4LDSamubn3DFyQPBiGKTQ74eydgmu01SLkPY2arbbBk4QOj0yJ9lNYRbGR5Q2tcuk3urXfdS0P7ANYukoMMq1K8cdhywBTf1tZBAvcabeWQcfY+7nLMdi4WPxyfCdpNDbJk4NNtHXtKFxK3+zTnspNL3xHjGwiVgQZ9prBbXeCdHwq0aYpV4ebijIx25oXLUyoRR1TYZDt968xL7GaPnAbzZF3H/7fs8Ny/94HWa9lKTpd4OOE+p6p8CbWMgobAWvFGRVWgh0iF9HM7YeWZDNSUk4Xj5chcemd3jGTxDgTvxy6A+6AorMBYIiclZxnEi8XQNdYe06lrsCoS9CEpV7wnBxTAy6YLWW6se8uKPirbXJRxpXRv0zw7a70gJiXQF+Kw5XKdg/efP+DLn3X9I1yUoHUvepeNx+rYEIiC54ssw2fYkSkFyy56f7lUXXCQeulyxIgtzIAdsJBg8GxYPSqfY3J1gf4ba5gT3jh4IiHJuvdMSUHP4/Y61//twf7DqvZ0VOf+mzS9M7OT/+tXwvcacCVSvKf/JzGsGpsUC3Ha+AN0HohGInmQpsmp30uVpyicsSXtua1YcErGMuALnHJMpgEzBsDHnqLSyJxISXS7QSVyOH0MAEbOvcdGU8KivdF0IOcOJz5TcOud3/4+UfmItHfd2JYWtGNd1Hvpg9hTcOV5vpfbq1ilDojb5ZoSiMyRhGSYtpitAdKp619MkmjNWyIuSLhuGvDi/wPpN79/fz61e/tINpDL3/984NeSx5Y8GlndPt2rwHwOKnV+xy/ipejyZPJafY51OLlZd5M3fA/woZUjo+3B/ujw7HUFauNDcTT9LkVkn/wkK+f35x+fF4OYtiO9N0/ZefLYI/6p+Nh/f1eA+61N+ykN+V5crM5tJvcQvPiHlyNUYlIK3rjcBbrTomQoSAfXh2izPnMpp3CNl3F0mz6Ue5HYn60UW/u07rdSoQj8+MfWic4qNzfdK6f/u2L1wYHHf1zIfdYfvbct+n8ano1v18yD1nQbmUa5Z+3hGHaq09W58VP+HS6PzgcZSq5Ol25ULyOMD6sp/JdSWwXt1trvGX8vvdsduqE63EyP7h/Gg9ZTlpXPLjXfc5F0Pm6ddI42TqeQ4Nlu6B4fP82kGOvG/elmS/mvXm8DBfBDECFglTjyWL3WYxwsOfc0/5WJKR8adBdDNppbWVdU0nOdFSt1Rqt7rHlM2NsNFwGPUtCbwrGVt9NgNcDlzxhP92gujPqZHsuxsRkXGeRMfXaYYlJKnCksJMF7f0k1VwctNXZ7TDK80Bj0/TW1DdrCS0H+LPr+z2L55NM76T1RlUnKCWEagKjQi/uhLJ7yKyasjorcc4bzFUTPNtYq/ZYUg+sB/y2JIX8uNPupGzHOwRtn611wNMl2TXCaDDJhGvH2ajqTEhrJL0JQRT4fkYTzmktvT7aOypMAxgJLwxQBOV06a4SuGBM7iM4owYVvI4yjJQPUmHzMtbEp1DvX8Art0COg012CJB+0+CVT1mBjsDID4CZSiFgmHPL4EF5NfrOnfnHJyFyRQjWNuXQt8AGMQvnEO58klprEPq44S5LlIphCTzPtjqfchDwYui6vdRi6BEnbgmmEMvuqRuTiWv1Dr9t2rb7iIcxugtPGy69N7M6Zrd4TvoTGWruOEBgoE8asTs7YZusl41PFFex/KKIJ/0QWi4AxPbq8V73vEvw2yw0KGWhkNHf89lDvDE6XTTFQYRgoUCGWHbAkxjHvm/0SnMFKZsNP+Z34W1kxnsmzhlgi5ek/1AaKGKDPTTCZQwmmF3YTdcpwTnXPGGGnTPJiYwRU6g2dUnCoK4/38RUiZJRzDZGIaH3izNSN0Nb3PMmA+Q99estIvFNAmgZSdCDVM+TQGnGh4Cym/xPP//Tn6Ce+ZDX6itrLkscuE79er05ACj5Q3y86SlKalum3N28kt41vNenpKHIpp9QvnaixBtITZGopIB6lOvx4qz9rM7nDmwlDeqgOMTcpfaK2fQQG8q3xBytYQdCV1qAKRds+Q8axLiJOx3PsVJ0Zpekm8fw8nnrRbskndOcGcNCBGCRYZR7z4RqaNXVBOcJOUSkCpvo3WUtdP2a4vpw8yxLKH9WO3pS7WFgmTzg0aqhJI4lfHSU/Swc+fg7YVMFBHfMUv7yu3/7Aep5wevhcKOqe1tlrCTLCIbjh5I2sXorwBmaN1WvFSxogkGnC8blIWo/YkYRNbEL42g3Gb0L2jkDoCEFGjC8cSjgQqlGM6/CV6oe3jUC39qRoDl7oCasKKWpJmznKL1oucobG5M7TJLrwwolM03y6QfQiFxCK85VIpYwsXhlGwQbUXFnwzbWjhWWMrqv6fsNNcZ4TXDWtsntVCq5m0kVrluxdEFoZYjRA8ed/YWZXPzr+/ctZ2AwYriXuN7Q2Mt2/hdvT7tQyBt00hLBEwP7dmE2wLhkQdaVEzJF1j1pNdX0B1ck2gDTIT3zvv2/iX2LUxWz+rI172Ntb7FTUyeoZdk5fdZT6ZcOnA/dZWuBUMAHhNFXR8Ivd4qgGmGwVrYOCviSbGhZiMt29jVCdFLZG1JT0hLBRAAtC55yCAIbcCaPuA1STjI2216ZHQSgVNZMvrV8303/36Sc0lLJwFy25ovEqBO7NeWiluXszZaREsFYETBk01Gn079f7uCftP7yFaBXa9iYm5GJ5TVBdcUzH9F55lvOTotzJayYsog34mkigJbxBJx88W+LmgELsRa9HZO+E68G2Av0DKEKlHAD/ikrs++91DbZSgTsNOh++REOB5Tj0luS/lNLVm+I/v8KpG65G+r1o3C7ZTBPPNkQYgduStkmi/Wu79ogdkat+FJHFYmwH6KtCQlCFxYSFatnaqdiiguTUe/e4ulDvQbHzh1ntUUOGUOnH63/crHHTZa8SrAGYTpJnwGVc2vdfJpj5BV9LCt5IKPa/+FywHaVv3hzzT9daDdjpYoybVlVD22FwjR7U9OcIyhNKBU5WMUDbhxa94mhsnCRGwb1SLbTKcmp8AR7nhuk8EkQpq1Rp2TFAorug+Kx6lt+cl+9zWU/CMEKtmDlUS1jVReJ2UGXRJ+kVSeft0JcmQNZ0ZOKpTjHnnF+VJD9zedjY1rLu3AbB77HKv1FvM4alHDDLFYNBnPdYUuk9bEb8BLvjsJRG44egKvI42t5YXBAND5jCQTaNnCfVU61DAopwg6Dzskm2xdOWTaKS1c/wyoBn1ScMwriz0+aTiWucK7UWjApIgD7oOsJ0TDZp+6dedz8GvB1SEiuZpcOMhem4ZrUYhozFDHlHrTsmAlJ+zEXL1bQynDOyBlXzUgkoxYUEShTWsi3Go5bdar8DVv1OjC/ajZcWHpw2JN4o+ysyFM/FHVMy7wQ6cqlkNiKKSp/TSKbQ9OnsyZ2dlpQeAPttGXmRAr0mEtx6JfOW/fERdQQtZXL3pupb9BlNWJ9P2WworGBRxiXCYZpjgfLZyZggOFskTMump8rJKGI+JiGJKFn0upp7PDsdJf6VoE2sRpX+Q2CDSDIUx+8GlJNbQLIo7kk3K7sLfyS4MBD+3QFpUcLkqnLrRa8LaJiJ638k+S5H3nuLx1s2UHcfJfvPO7F0n3W5q+/f3MKCBdnRTCqqo2+1DdZllfxPSsHxby1V4NDY9tIw1BVvI81yhmTpqG8uNk9nixEBSTtFPt/IM7SuLoOQY++7WM1Zl5A/aB8H7j98U8eT7QCrqxfosi7qfclHSXSnCt2q+zByDY9OLJbpETsHFQy0/VXMO+NyJbd5rUoDFAlY4jgqAVONiLprDiT6VmRFMC5Q6AjPA/j1XYjU+tTKeYVzptm6ncBwBOK0OcbxSCo5+JS31RAr+PogC54iG9Nt8BnxnhZQdhGEGb81RwFBUbEBtBUuqxifQCaHXxhyfeNOWAMegAFI0wqICSmykxbdF4pkzFc6Hsfi5t696YdxdBPaW/VuvMyOZwFsS/LvXfjlE3LIn+4d8CwY4blDtiWRnq/Hqp2nlXDR3qXF7eoAlml2UuNQj6NUIk1ZNfI5Zfot6wG1UqXaJd+KduUfQsH93FNVUAoWwk/CSlmhuu0xmkQphJRoDOgtAgq32OX8YZqpR7ape09uIYXkBJxtUKEMXzKVhO+BrU2Tyx36emtSqOXBuTiRq8nJSQ2IxBkSuR0XlHgs5YHzFqwOQrD7vAW0NraBs+qsAZaMr9BM284kBL2iJUyKlQrXSMw099eTp3NsOguJOaYokkdT4MmCRKLL30N4dvqMgNznu9FWQ1o4i9fhW+qRVp7VHMiFjvvOOZxt7+ZUyzn+VtWDT9ExN5tvmmVsygtKWGCrJ0q6g+C/ezJrBD3uvK1864rfGNdUvoIXcdF7H0KnspjpEF65Dw/6f05Ijn7bX5wphmQC80u7n0OozvfMr0lmO7q3wv9HXZPR63v9hz+tkPnREwAaH/xiuGds4tRu4cwiiCjzRRVNDQ7vEU0A1LBjzMby9d3n88caN/IjBPSPrzjX4PEOwZw6+Br/JQKE4+IkGvVs3IyrImDZtgeDSy0ik3K4Ur+ud89oVNHlFYmkZGpGpYRU2Wj/Y266m27S6WUlPJx85P7uqlBizEK8z2zEE3/T5GIDrY3oxYFdXkbwMJVxNJE/vbHVdWCeEKtP6CmtsRK2ae6kGXErNZCXNGavuGhTyzfuVYPF7mkBbNDPlD80AEwIhVnFPgSqS2r1Z1UkyYv1c7mecZtV7D63ZV4LIrUmezBE7VYEVLh26I8YqhptNHlQtm8QeL/1u8VjLVfGH/O+7Al1fe13/zobC3NcG+DoME01PHph9Pra4+5aqgFrzJNsoe1ajIHHe73Ly0rV9X+vjqa7g3a/e2HZkGWIMTTGqwv7hohFlUiz/pq97CobEAI/GC+az2eaHOwYWQALtK/H4OEhA4VF2PByKVI5U4l8k7W3DH29eip3oUBqW58Mxz06t4qPI4pRaFQUMJu9+nphD1rwUvglw5qekkorwJhx7vns0CYcRweKrPBYrQebxPbZsQCBIJRGq9taUHbsfy4gGH5bvNqoRiKhY4mg7tpW1EUsGgRl24qhprZgnbein/xhj67ViJtLXQa83W7xaK33eicSEeZw7EJtsanjIFJHb9+Tj/Y9cEBeewEYUIPoqrSpReEAJN5svtpEj3b1B3SMAUZ0YcDyiEJq59CXRo6cXZSvYuY3Uryyh9yOsOeE+cI932MY9kDeXA3qySz3naZCblujd2MLQNd4UQYLejF9TiMG//Jm6M7oaW0sfT+gJBPOlfgDxWkEGPCGeU5v6ed1pPYWl+JqTdlyhjFGuNTX4n5mMWMnZBuOJ5YKgPOAKDTDo781sKF2QfnrlszVpMRjusvo4G3bAGBe7lF6nqawATPitESWLeUPQTjANw8+UvKeU1xeE340xCIUc0SfQOOeM2J9s4FWx1odruVUaqOr+MKPebBo3iAlaRu91oKL1KVIjp2t9nOaqCah3FE5SdZXNNl8NI87djwug+ClTYW1fWwuHeF1z3uFc4rgQijSlH6rFWaDIV4mDet5FxaP5DaaDkFpnP0PNsM4iQWv8Ug/U6bsecpGNfF0EzNcG3PieE/1eMrZErfZfbDv5hA6bS27aRz+lYp6i6YZDlIKf/ihFaU3GacR+G5sNRI1A1kb8NthpBe++71Rc0mPK3V/Dwgtm2derwYhz5OFzoTSJEKPOLlPDzCO8AHxTfNeLI2sKGiD7v3bEdqOcXqaWVA+qByHyEvIurDoI4gjAv5GnibWv44bo5zCnuB1+t2TSWlL+AKpzBf5O+lVwNN2luUFCK0fWM66K5t3rUrth+n6Mvky1j+Wt1wUPLaa9RmBliejgopLhLPSvPvp3ZUuZ7WDioBZ9UV5+gsrp4331cWxdv7Yu16tS0OTGGwObAPg9V20TyXi/VsmfvthvOeZ1gN6WUuD7GO60AhGmUIJRNS2dX/ycU3iTdGbZQNEWJ4l2IVLBYmQ6S7xdiIUrYBEguU0brOsqDR6t9n+OJy/9f9y4tfa8Xr15/Lq5fPPxZzO4RB9VNk44QxhDaZ//j0t7/XWRbrTg+nHNIaoXizOi8XbfVkdaEzeyyOnPkpvZNk/evuyJ5QgboC/6/E8dUyUuz1sm9szfKX0gi0JO72/RBvT8b3xtPbZ7PQ3tSzRjJs71I2WndbbTzduteeH36/DFlFCT5xlYLfSkNZFK10vnpBm++zIycb2EMyz27QECMthdRX9JkUwp2umAQtTjJfr0F7JR6r9A3waQHARIAE8XC6FTIx3eO9m5OhU/jjX/z7zT+2oW1fDf3grmoj+NlLxeT37+u7Hs9Ivdo8eihZP34ze5P2Zfzw9xDZVDeUBZVsLG0rUWR8thefn76eeJ+npZ/o17wxPnvhFOFSYNTWGoTYYjaY7W3H6mj/89OXJxMqzaM0CpMlyeWRExZh8Pw02AevPPix9OagPKW9zeKmOdHl1v9vhF6JHKcygrxBFxXW0/5llEE5beY1ihYpZe3Hv9nfDOafR6zk+0L6cwfw4eeh+tr/O/rnBTxQYEmPMP6zGZx/H2jsDlP7zm7D6It0ChZ50Sho02dU4Y6YBK0Lmk+j41TbSPHE8zhTnATMts70aXBHsOItescZizDx2yu2SH9Qiogz6oEfAvYv+DgD1GmZLYZ08CtNMh69lFws1+QWgQUZEqjo0kbImF2d8U7amAm/3i9PhEEOYs/CN9fyYFDKgiuXR6x1bKREMmqP4BvRyRNhukzEFB96xIJBmUcouBI1SfZ8k4ohzIVWvCH21ItwqbyDG/+UiyTFlhI0pYTgBseDOXwWJ7Y3qpbUdyS7lhS6C6r8ySefeoUube8m0XK3TikIfiCsXXTmLhTfDlyDIeEVjj7nCTQHRqI4Qgq1sYfJehalmcWjI1v3IFJ10FMJXQ2pIpQqFwICH0cwfBZDeUsfn80xBJo7h4TjryhU9vTo9FqP4d6aReCfOVT3C4/MhQmoH0eEEaNHfsr3tfD4yXhftuvNzUaTUAuq0tjYshSDpUmVSzfqkcq072I3iDm8RO8rm617XPvw4XjG6Aoi7Nl6G/SZZgbnmaMj9+wTnv9rsVJo1sc0+L1JWxk2TmLM4kYNj7/eD9OLCwRSkec+pxKluh1xkoo5JVzuF/00W0krKTm2I7D26Q5O4bEpJZKOUqtqSRoaiWnJpkcRlzS2gnuyC9co2SamcnaLePaAEpjI52IFtuXkTV6dPsXr1ImvThT1aqv0ZKQEu0EOK/MerF7+XthwveXbhSCWFFaPyYDtRD1ZiLbQXmJp0Lmw9qbsMSnTB94kG7Mib35eQAqI8lm0OvetoV0vt3xil1fFLhQBhbqCdcTep3rQpn8LdRI7D74keoEm+brdBtNxP2pv8J6gA7V2hnQqbXuOI2xnkHqzI7EBh7w3eFfAQYA9PfuNuu9q9MfBrvr/4+hr6j1mzK6VJwD7K6YMVdBlfMovc4yFLWWkXOEpR61nir5MjAJLwtKYiUM2aomMg0qDRC5VaIa0C2GADtla+VEMwd5RuMJLNYS+p1T62VthkAaJ8bkdydEtKrn+TCEuodMD2rdLbhdHay7DAWn8ngmTPq2pId/eCpwlRUwiPZZ08UxRaKscsMiTIsGLyBLQllihSTKLkxgUKTpVsS3vC+M3c2Gd1AmE1iAtTMNEYgAA) + format(woff2); + font-weight: 100 700; + font-style: normal; + font-display: swap; + unicode-range: + U+98f4, U+98fc-98fe, U+9903, U+9905, U+9909-990a, U+990c, U+9910, U+9913, + U+9918, U+991e, U+9921, U+9928, U+9942, U+9945, U+9949, U+994b-994c, U+9952, + U+9957, U+9996, U+9999, U+99a8, U+99ac-99ae, U+99b3-99b4, U+99c1, + U+99c4-99c6, U+99c8, U+99d0, U+99d2, U+99d5, U+99d8, U+99dd, U+99ed-99ee, + U+99f1-99f2, U+99fb, U+99ff, U+9a01, U+9a0e, U+9a12-9a13, U+9a19, U+9a28, + U+9a2b, U+9a30, U+9a37, U+9a3e, U+9a43, U+9a45, U+9a4d, U+9a55, U+9a57, + U+9a5a-9a5b, U+9a5f, U+9a62, U+9a64, U+9a69, U+9a6b, U+9aa8, U+9ab8, U+9ac0, + U+9ac4, U+9acf, U+9ad1, U+9ad4, U+9ad8-9ad9, U+9adf, U+9aea, U+9aed-9aee, + U+9af7, U+9b06, U+9b18, U+9b1a, U+9b25, U+9b28, U+9b2f, U+9b31-9b32, U+9b3c, + U+9b41-9b45, U+9b4d-9b4f, U+9b51, U+9b54, U+9b5a, U+9b6f, U+9b83, U+9b8e, + U+9b91-9b93, U+9b96-9b97, U+9b9f-9ba0, U+9ba8, U+9baa-9bab, U+9bad-9bae, + U+9bc6, U+9bc9, U+9bd1-9bd2, U+9bd6, U+9bdb, U+9be3, U+9be8, U+9bf0-9bf1, + U+9bf5, U+9c06, U+9c08-9c0a, U+9c0d, U+9c10, U+9c13-9c14, U+9c21, U+9c24, + U+9c2d, U+9c2f, U+9c39-9c3b, U+9c3e, U+9c46-9c48, U+9c52, U+9c57, U+9c5a, + U+9c60, U+9c67, U+9c78, U+9ce5, U+9ce9, U+9cf3-9cf4, U+9cf6, U+9d07, U+9d09, + U+9d0e, U+9d1b, U+9d1f, U+9d26, U+9d28, U+9d2b-9d2c, U+9d3b, U+9d5c, U+9d5e, + U+9d60-9d61, U+9d6c, U+9d6f, U+9d7a, U+9d89, U+9d8f, U+9d9a, U+9daf, U+9db2, + U+9db4, U+9dc4, U+9ded, U+9df2, U+9df9-9dfa, U+9dfd, U+9e1a, U+9e1e, U+9e75, + U+9e78-9e79, U+9e7f, U+9e92-9e93, U+9e97, U+9e9f, U+9ea5-9ea6, U+9ea9, + U+9eb9-9ebb, U+9ebe-9ebf, U+9ec4, U+9ecd-9ece, U+9ed2, U+9ed8-9ed9, + U+9edb-9edc, U+9ede, U+9ef4, U+9ef9, U+9efd, U+9f08, U+9f0e, U+9f13, + U+9f20-9f21, U+9f3b, U+9f3e, U+9f4a-9f4b, U+9f4e, U+9f52, U+9f5f, + U+9f61-9f62, U+9f67, U+9f6a, U+9f6c, U+9f77, U+9f8d, U+9f95, U+9f9c, U+9fa0, + U+fa11; +} +:root { + --md-sys-shape-corner-none: 0px; + --md-sys-shape-corner-extra-small: 4px; + --md-sys-shape-corner-small: 8px; + --md-sys-shape-corner-medium: 12px; + --md-sys-shape-corner-large: 16px; + --md-sys-shape-corner-large-increased: 20px; + --md-sys-shape-corner-extra-large: 28px; + --md-sys-shape-corner-extra-large-increased: 32px; + --md-sys-shape-corner-extra-extra-large: 48px; + --md-sys-shape-corner-full: 9999px; + --md-sys-typescale-display-large-tracking: -0.015625rem; + --md-sys-typescale-display-medium-tracking: 0rem; + --md-sys-typescale-display-small-tracking: 0rem; + --md-sys-typescale-headline-large-tracking: 0rem; + --md-sys-typescale-headline-medium-tracking: 0rem; + --md-sys-typescale-headline-small-tracking: 0rem; + --md-sys-typescale-title-large-tracking: 0rem; + --md-sys-typescale-title-medium-tracking: 0.009375rem; + --md-sys-typescale-title-small-tracking: 0.00625rem; + --md-sys-typescale-body-large-tracking: 0.03125rem; + --md-sys-typescale-body-medium-tracking: 0.015625rem; + --md-sys-typescale-body-small-tracking: 0.025rem; + --md-sys-typescale-label-large-tracking: 0.00625rem; + --md-sys-typescale-label-medium-tracking: 0.03125rem; + --md-sys-typescale-label-small-tracking: 0.03125rem; + --md-ref-typeface-brand: + "Google Sans Flex", "Google Sans", Roboto, system-ui, sans-serif; + --md-ref-typeface-plain: + "Google Sans Flex", "Google Sans", Roboto, system-ui, sans-serif; + --md-ref-typeface-code: + "Google Sans Code", "JetBrains Mono", ui-monospace, monospace; + --md-sys-typescale-display-large-font: var(--md-ref-typeface-brand); + --md-sys-typescale-display-large-weight: 400; + --md-sys-typescale-display-large-size: 3.5625rem; + --md-sys-typescale-display-large-line-height: 4rem; + --md-sys-typescale-display-medium-font: var(--md-ref-typeface-brand); + --md-sys-typescale-display-medium-weight: 400; + --md-sys-typescale-display-medium-size: 2.8125rem; + --md-sys-typescale-display-medium-line-height: 3.25rem; + --md-sys-typescale-display-small-font: var(--md-ref-typeface-brand); + --md-sys-typescale-display-small-weight: 400; + --md-sys-typescale-display-small-size: 2.25rem; + --md-sys-typescale-display-small-line-height: 2.75rem; + --md-sys-typescale-headline-large-font: var(--md-ref-typeface-brand); + --md-sys-typescale-headline-large-weight: 400; + --md-sys-typescale-headline-large-size: 2rem; + --md-sys-typescale-headline-large-line-height: 2.5rem; + --md-sys-typescale-headline-medium-font: var(--md-ref-typeface-brand); + --md-sys-typescale-headline-medium-weight: 400; + --md-sys-typescale-headline-medium-size: 1.75rem; + --md-sys-typescale-headline-medium-line-height: 2.25rem; + --md-sys-typescale-headline-small-font: var(--md-ref-typeface-brand); + --md-sys-typescale-headline-small-weight: 400; + --md-sys-typescale-headline-small-size: 1.5rem; + --md-sys-typescale-headline-small-line-height: 2rem; + --md-sys-typescale-title-large-font: var(--md-ref-typeface-brand); + --md-sys-typescale-title-large-weight: 400; + --md-sys-typescale-title-large-size: 1.375rem; + --md-sys-typescale-title-large-line-height: 1.75rem; + --md-sys-typescale-title-medium-font: var(--md-ref-typeface-plain); + --md-sys-typescale-title-medium-weight: 500; + --md-sys-typescale-title-medium-size: 1rem; + --md-sys-typescale-title-medium-line-height: 1.5rem; + --md-sys-typescale-title-small-font: var(--md-ref-typeface-plain); + --md-sys-typescale-title-small-weight: 500; + --md-sys-typescale-title-small-size: 0.875rem; + --md-sys-typescale-title-small-line-height: 1.25rem; + --md-sys-typescale-body-large-font: var(--md-ref-typeface-plain); + --md-sys-typescale-body-large-weight: 400; + --md-sys-typescale-body-large-size: 1rem; + --md-sys-typescale-body-large-line-height: 1.5rem; + --md-sys-typescale-body-medium-font: var(--md-ref-typeface-plain); + --md-sys-typescale-body-medium-weight: 400; + --md-sys-typescale-body-medium-size: 0.875rem; + --md-sys-typescale-body-medium-line-height: 1.25rem; + --md-sys-typescale-body-small-font: var(--md-ref-typeface-plain); + --md-sys-typescale-body-small-weight: 400; + --md-sys-typescale-body-small-size: 0.75rem; + --md-sys-typescale-body-small-line-height: 1rem; + --md-sys-typescale-label-large-font: var(--md-ref-typeface-plain); + --md-sys-typescale-label-large-weight: 500; + --md-sys-typescale-label-large-size: 0.875rem; + --md-sys-typescale-label-large-line-height: 1.25rem; + --md-sys-typescale-label-medium-font: var(--md-ref-typeface-plain); + --md-sys-typescale-label-medium-weight: 500; + --md-sys-typescale-label-medium-size: 0.75rem; + --md-sys-typescale-label-medium-line-height: 1rem; + --md-sys-typescale-label-small-font: var(--md-ref-typeface-plain); + --md-sys-typescale-label-small-weight: 500; + --md-sys-typescale-label-small-size: 0.6875rem; + --md-sys-typescale-label-small-line-height: 1rem; + --md-sys-motion-duration-short1: 50ms; + --md-sys-motion-duration-short2: 0.1s; + --md-sys-motion-duration-short3: 0.15s; + --md-sys-motion-duration-short4: 0.2s; + --md-sys-motion-duration-medium1: 0.25s; + --md-sys-motion-duration-medium2: 0.3s; + --md-sys-motion-duration-medium3: 0.35s; + --md-sys-motion-duration-medium4: 0.4s; + --md-sys-motion-duration-long1: 0.45s; + --md-sys-motion-duration-long2: 0.5s; + --md-sys-motion-duration-long3: 0.55s; + --md-sys-motion-duration-long4: 0.6s; + --md-sys-motion-duration-extra-long1: 0.7s; + --md-sys-motion-duration-extra-long2: 0.8s; + --md-sys-motion-duration-extra-long3: 0.9s; + --md-sys-motion-duration-extra-long4: 1s; + --md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1); + --md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1); + --md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1); + --md-sys-motion-easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1); + --md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1); + --md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1); + --md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15); + --md-sys-motion-easing-legacy: cubic-bezier(0.4, 0, 0.2, 1); + --md-sys-motion-easing-legacy-accelerate: cubic-bezier(0.4, 0, 1, 1); + --md-sys-motion-easing-legacy-decelerate: cubic-bezier(0, 0, 0.2, 1); + --md-sys-motion-spring-fast-spatial-damping: 0.9; + --md-sys-motion-spring-fast-spatial-stiffness: 1400; + --md-sys-motion-spring-default-spatial-damping: 0.9; + --md-sys-motion-spring-default-spatial-stiffness: 700; + --md-sys-motion-spring-slow-spatial-damping: 0.9; + --md-sys-motion-spring-slow-spatial-stiffness: 300; + --md-sys-motion-spring-fast-effects-damping: 1; + --md-sys-motion-spring-fast-effects-stiffness: 3800; + --md-sys-motion-spring-default-effects-damping: 1; + --md-sys-motion-spring-default-effects-stiffness: 1600; + --md-sys-motion-spring-slow-effects-damping: 1; + --md-sys-motion-spring-slow-effects-stiffness: 800; + --md-sys-elevation-shadow-color: var(--md-sys-color-shadow, #000); + --md-sys-elevation-level0: none; + --md-sys-elevation-level1: + 0px 1px 2px 0px #0000004d, 0px 1px 3px 1px #00000026; + --md-sys-elevation-level2: + 0px 1px 2px 0px #0000004d, 0px 2px 6px 2px #00000026; + --md-sys-elevation-level3: + 0px 1px 3px 0px #0000004d, 0px 4px 8px 3px #00000026; + --md-sys-elevation-level4: + 0px 2px 3px 0px #0000004d, 0px 6px 10px 4px #00000026; + --md-sys-elevation-level5: + 0px 4px 4px 0px #0000004d, 0px 8px 12px 6px #00000026; +} +@supports (color: rgb(from black r g b / 0.3)) { + :root { + --md-sys-elevation-level1: + 0px 1px 2px 0px rgb(from var(--md-sys-elevation-shadow-color) r g b/.3), + 0px 1px 3px 1px rgb(from var(--md-sys-elevation-shadow-color) r g b/.15); + --md-sys-elevation-level2: + 0px 1px 2px 0px rgb(from var(--md-sys-elevation-shadow-color) r g b/.3), + 0px 2px 6px 2px rgb(from var(--md-sys-elevation-shadow-color) r g b/.15); + --md-sys-elevation-level3: + 0px 1px 3px 0px rgb(from var(--md-sys-elevation-shadow-color) r g b/.3), + 0px 4px 8px 3px rgb(from var(--md-sys-elevation-shadow-color) r g b/.15); + --md-sys-elevation-level4: + 0px 2px 3px 0px rgb(from var(--md-sys-elevation-shadow-color) r g b/.3), + 0px 6px 10px 4px rgb(from var(--md-sys-elevation-shadow-color) r g b/.15); + --md-sys-elevation-level5: + 0px 4px 4px 0px rgb(from var(--md-sys-elevation-shadow-color) r g b/.3), + 0px 8px 12px 6px rgb(from var(--md-sys-elevation-shadow-color) r g b/.15); + } +} +:root { + --md-sys-state-hover-state-layer-opacity: 0.08; + --md-sys-state-focus-state-layer-opacity: 0.1; + --md-sys-state-pressed-state-layer-opacity: 0.1; + --md-sys-state-dragged-state-layer-opacity: 0.16; +} +:root, +.dark { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-primary: #a1c9ff; + --md-sys-color-on-primary: #00325a; + --md-sys-color-primary-container: #004880; + --md-sys-color-on-primary-container: #d2e4ff; + --md-sys-color-inverse-primary: #0060a8; + --md-sys-color-secondary: #bbc7db; + --md-sys-color-on-secondary: #263141; + --md-sys-color-secondary-container: #3c4858; + --md-sys-color-on-secondary-container: #d7e3f8; + --md-sys-color-tertiary: #d8bde4; + --md-sys-color-on-tertiary: #3c2947; + --md-sys-color-tertiary-container: #533f5f; + --md-sys-color-on-tertiary-container: #f4d9ff; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; + --md-sys-color-background: #12131b; + --md-sys-color-on-background: #e2e1ee; + --md-sys-color-surface: #12131b; + --md-sys-color-on-surface: #e2e1ee; + --md-sys-color-surface-variant: #444655; + --md-sys-color-on-surface-variant: #c5c5d8; + --md-sys-color-surface-dim: #12131b; + --md-sys-color-surface-bright: #383842; + --md-sys-color-surface-container-lowest: #0c0e16; + --md-sys-color-surface-container-low: #1a1b24; + --md-sys-color-surface-container: #1e1f28; + --md-sys-color-surface-container-high: #282933; + --md-sys-color-surface-container-highest: #33343e; + --md-sys-color-surface-tint: #a1c9ff; + --md-sys-color-outline: #8e8fa1; + --md-sys-color-outline-variant: #444655; + --md-sys-color-inverse-surface: #e2e1ee; + --md-sys-color-inverse-on-surface: #2f3039; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-primary-fixed: #d2e4ff; + --md-sys-color-primary-fixed-dim: #a1c9ff; + --md-sys-color-on-primary-fixed: #001c38; + --md-sys-color-on-primary-fixed-variant: #004880; + --md-sys-color-secondary-fixed: #d7e3f8; + --md-sys-color-secondary-fixed-dim: #bbc7db; + --md-sys-color-on-secondary-fixed: #101c2b; + --md-sys-color-on-secondary-fixed-variant: #3c4858; + --md-sys-color-tertiary-fixed: #f4d9ff; + --md-sys-color-tertiary-fixed-dim: #d8bde4; + --md-sys-color-on-tertiary-fixed: #261431; + --md-sys-color-on-tertiary-fixed-variant: #533f5f; + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; +} +.light, +.vanilla-theme { + --buncss-light: initial; + --buncss-dark: ; + color-scheme: light; + --md-sys-color-primary: #0060a8; + --md-sys-color-on-primary: #fff; + --md-sys-color-primary-container: #d2e4ff; + --md-sys-color-on-primary-container: #004880; + --md-sys-color-inverse-primary: #a1c9ff; + --md-sys-color-secondary: #535f70; + --md-sys-color-on-secondary: #fff; + --md-sys-color-secondary-container: #d7e3f8; + --md-sys-color-on-secondary-container: #3c4858; + --md-sys-color-tertiary: #6c5677; + --md-sys-color-on-tertiary: #fff; + --md-sys-color-tertiary-container: #f4d9ff; + --md-sys-color-on-tertiary-container: #533f5f; + --md-sys-color-error: #ba1a1a; + --md-sys-color-on-error: #fff; + --md-sys-color-error-container: #ffdad6; + --md-sys-color-on-error-container: #93000a; + --md-sys-color-background: #f9f9fb; + --md-sys-color-on-background: #1a1c1d; + --md-sys-color-surface: #f9f9fb; + --md-sys-color-on-surface: #1a1c1d; + --md-sys-color-surface-variant: #dde3e9; + --md-sys-color-on-surface-variant: #41484c; + --md-sys-color-surface-dim: #d9dadc; + --md-sys-color-surface-bright: #f9f9fb; + --md-sys-color-surface-container-lowest: #fff; + --md-sys-color-surface-container-low: #f3f3f5; + --md-sys-color-surface-container: #eeeef0; + --md-sys-color-surface-container-high: #e8e8ea; + --md-sys-color-surface-container-highest: #e2e2e4; + --md-sys-color-surface-tint: #0060a8; + --md-sys-color-outline: #72787d; + --md-sys-color-outline-variant: #c1c7cd; + --md-sys-color-inverse-surface: #2f3132; + --md-sys-color-inverse-on-surface: #f0f0f2; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-primary-fixed: #d2e4ff; + --md-sys-color-primary-fixed-dim: #a1c9ff; + --md-sys-color-on-primary-fixed: #001c38; + --md-sys-color-on-primary-fixed-variant: #004880; + --md-sys-color-secondary-fixed: #d7e3f8; + --md-sys-color-secondary-fixed-dim: #bbc7db; + --md-sys-color-on-secondary-fixed: #101c2b; + --md-sys-color-on-secondary-fixed-variant: #3c4858; + --md-sys-color-tertiary-fixed: #f4d9ff; + --md-sys-color-tertiary-fixed-dim: #d8bde4; + --md-sys-color-on-tertiary-fixed: #261431; + --md-sys-color-on-tertiary-fixed-variant: #533f5f; + --md-ext-color-success: #006c4b; + --md-ext-color-on-success: #fff; + --md-ext-color-success-container: #7df9c2; + --md-ext-color-on-success-container: #002114; + --md-ext-color-warning: #934b00; + --md-ext-color-on-warning: #fff; + --md-ext-color-warning-container: #ffdcc5; + --md-ext-color-on-warning-container: #301400; +} +.midnight-theme { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-primary: #a1c9ff; + --md-sys-color-on-primary: #00325a; + --md-sys-color-primary-container: #004880; + --md-sys-color-on-primary-container: #d2e4ff; + --md-sys-color-inverse-primary: #0060a8; + --md-sys-color-secondary: #bbc7db; + --md-sys-color-on-secondary: #263141; + --md-sys-color-secondary-container: #3c4858; + --md-sys-color-on-secondary-container: #d7e3f8; + --md-sys-color-tertiary: #d8bde4; + --md-sys-color-on-tertiary: #3c2947; + --md-sys-color-tertiary-container: #533f5f; + --md-sys-color-on-tertiary-container: #f4d9ff; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; + --md-sys-color-background: #12121d; + --md-sys-color-on-background: #e3e0f1; + --md-sys-color-surface: #12121d; + --md-sys-color-on-surface: #e3e0f1; + --md-sys-color-surface-variant: #454558; + --md-sys-color-on-surface-variant: #c6c4db; + --md-sys-color-surface-dim: #12121d; + --md-sys-color-surface-bright: #383845; + --md-sys-color-surface-container-lowest: #0d0d18; + --md-sys-color-surface-container-low: #1b1a26; + --md-sys-color-surface-container: #1f1e2a; + --md-sys-color-surface-container-high: #292935; + --md-sys-color-surface-container-highest: #343440; + --md-sys-color-surface-tint: #a1c9ff; + --md-sys-color-outline: #908fa4; + --md-sys-color-outline-variant: #454558; + --md-sys-color-inverse-surface: #e3e0f1; + --md-sys-color-inverse-on-surface: #302f3b; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-primary-fixed: #d2e4ff; + --md-sys-color-primary-fixed-dim: #a1c9ff; + --md-sys-color-on-primary-fixed: #001c38; + --md-sys-color-on-primary-fixed-variant: #004880; + --md-sys-color-secondary-fixed: #d7e3f8; + --md-sys-color-secondary-fixed-dim: #bbc7db; + --md-sys-color-on-secondary-fixed: #101c2b; + --md-sys-color-on-secondary-fixed-variant: #3c4858; + --md-sys-color-tertiary-fixed: #f4d9ff; + --md-sys-color-tertiary-fixed-dim: #d8bde4; + --md-sys-color-on-tertiary-fixed: #261431; + --md-sys-color-on-tertiary-fixed-variant: #533f5f; + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; +} +.noir-theme { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-primary: #a1c9ff; + --md-sys-color-on-primary: #00325a; + --md-sys-color-primary-container: #004880; + --md-sys-color-on-primary-container: #d2e4ff; + --md-sys-color-inverse-primary: #0060a8; + --md-sys-color-secondary: #bbc7db; + --md-sys-color-on-secondary: #263141; + --md-sys-color-secondary-container: #3c4858; + --md-sys-color-on-secondary-container: #d7e3f8; + --md-sys-color-tertiary: #d8bde4; + --md-sys-color-on-tertiary: #3c2947; + --md-sys-color-tertiary-container: #533f5f; + --md-sys-color-on-tertiary-container: #f4d9ff; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; + --md-sys-color-background: #131313; + --md-sys-color-on-background: #e2e2e2; + --md-sys-color-surface: #131313; + --md-sys-color-on-surface: #e2e2e2; + --md-sys-color-surface-variant: #474747; + --md-sys-color-on-surface-variant: #c6c6c6; + --md-sys-color-surface-dim: #131313; + --md-sys-color-surface-bright: #393939; + --md-sys-color-surface-container-lowest: #0e0e0e; + --md-sys-color-surface-container-low: #1b1b1b; + --md-sys-color-surface-container: #1f1f1f; + --md-sys-color-surface-container-high: #2a2a2a; + --md-sys-color-surface-container-highest: #353535; + --md-sys-color-surface-tint: #a1c9ff; + --md-sys-color-outline: #919191; + --md-sys-color-outline-variant: #474747; + --md-sys-color-inverse-surface: #e2e2e2; + --md-sys-color-inverse-on-surface: #303030; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-primary-fixed: #d2e4ff; + --md-sys-color-primary-fixed-dim: #a1c9ff; + --md-sys-color-on-primary-fixed: #001c38; + --md-sys-color-on-primary-fixed-variant: #004880; + --md-sys-color-secondary-fixed: #d7e3f8; + --md-sys-color-secondary-fixed-dim: #bbc7db; + --md-sys-color-on-secondary-fixed: #101c2b; + --md-sys-color-on-secondary-fixed-variant: #3c4858; + --md-sys-color-tertiary-fixed: #f4d9ff; + --md-sys-color-tertiary-fixed-dim: #d8bde4; + --md-sys-color-on-tertiary-fixed: #261431; + --md-sys-color-on-tertiary-fixed-variant: #533f5f; + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; +} +.slate-theme { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-primary: #a1c9ff; + --md-sys-color-on-primary: #00325a; + --md-sys-color-primary-container: #004880; + --md-sys-color-on-primary-container: #d2e4ff; + --md-sys-color-inverse-primary: #0060a8; + --md-sys-color-secondary: #bbc7db; + --md-sys-color-on-secondary: #263141; + --md-sys-color-secondary-container: #3c4858; + --md-sys-color-on-secondary-container: #d7e3f8; + --md-sys-color-tertiary: #d8bde4; + --md-sys-color-on-tertiary: #3c2947; + --md-sys-color-tertiary-container: #533f5f; + --md-sys-color-on-tertiary-container: #f4d9ff; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; + --md-sys-color-background: #121316; + --md-sys-color-on-background: #e3e2e6; + --md-sys-color-surface: #121316; + --md-sys-color-on-surface: #e3e2e6; + --md-sys-color-surface-variant: #44474e; + --md-sys-color-on-surface-variant: #c4c6d0; + --md-sys-color-surface-dim: #121316; + --md-sys-color-surface-bright: #38393c; + --md-sys-color-surface-container-lowest: #0d0e11; + --md-sys-color-surface-container-low: #1b1b1f; + --md-sys-color-surface-container: #1f1f23; + --md-sys-color-surface-container-high: #292a2d; + --md-sys-color-surface-container-highest: #343538; + --md-sys-color-surface-tint: #a1c9ff; + --md-sys-color-outline: #8e9099; + --md-sys-color-outline-variant: #44474e; + --md-sys-color-inverse-surface: #e3e2e6; + --md-sys-color-inverse-on-surface: #2f3033; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-primary-fixed: #d2e4ff; + --md-sys-color-primary-fixed-dim: #a1c9ff; + --md-sys-color-on-primary-fixed: #001c38; + --md-sys-color-on-primary-fixed-variant: #004880; + --md-sys-color-secondary-fixed: #d7e3f8; + --md-sys-color-secondary-fixed-dim: #bbc7db; + --md-sys-color-on-secondary-fixed: #101c2b; + --md-sys-color-on-secondary-fixed-variant: #3c4858; + --md-sys-color-tertiary-fixed: #f4d9ff; + --md-sys-color-tertiary-fixed-dim: #d8bde4; + --md-sys-color-on-tertiary-fixed: #261431; + --md-sys-color-on-tertiary-fixed-variant: #533f5f; + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; +} +.nord-theme { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-primary: #a1c9ff; + --md-sys-color-on-primary: #00325a; + --md-sys-color-primary-container: #004880; + --md-sys-color-on-primary-container: #d2e4ff; + --md-sys-color-inverse-primary: #0060a8; + --md-sys-color-secondary: #bbc7db; + --md-sys-color-on-secondary: #263141; + --md-sys-color-secondary-container: #3c4858; + --md-sys-color-on-secondary-container: #d7e3f8; + --md-sys-color-tertiary: #d8bde4; + --md-sys-color-on-tertiary: #3c2947; + --md-sys-color-tertiary-container: #533f5f; + --md-sys-color-on-tertiary-container: #f4d9ff; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; + --md-sys-color-background: #0f141a; + --md-sys-color-on-background: #dfe2ec; + --md-sys-color-surface: #0f141a; + --md-sys-color-on-surface: #dfe2ec; + --md-sys-color-surface-variant: #404754; + --md-sys-color-on-surface-variant: #c0c7d6; + --md-sys-color-surface-dim: #0f141a; + --md-sys-color-surface-bright: #353941; + --md-sys-color-surface-container-lowest: #0a0e15; + --md-sys-color-surface-container-low: #181c23; + --md-sys-color-surface-container: #1c2027; + --md-sys-color-surface-container-high: #262a31; + --md-sys-color-surface-container-highest: #31353c; + --md-sys-color-surface-tint: #a1c9ff; + --md-sys-color-outline: #8a919f; + --md-sys-color-outline-variant: #404754; + --md-sys-color-inverse-surface: #dfe2ec; + --md-sys-color-inverse-on-surface: #2d3138; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-primary-fixed: #d2e4ff; + --md-sys-color-primary-fixed-dim: #a1c9ff; + --md-sys-color-on-primary-fixed: #001c38; + --md-sys-color-on-primary-fixed-variant: #004880; + --md-sys-color-secondary-fixed: #d7e3f8; + --md-sys-color-secondary-fixed-dim: #bbc7db; + --md-sys-color-on-secondary-fixed: #101c2b; + --md-sys-color-on-secondary-fixed-variant: #3c4858; + --md-sys-color-tertiary-fixed: #f4d9ff; + --md-sys-color-tertiary-fixed-dim: #d8bde4; + --md-sys-color-on-tertiary-fixed: #261431; + --md-sys-color-on-tertiary-fixed-variant: #533f5f; + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; +} +.mocha-theme { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-primary: #a1c9ff; + --md-sys-color-on-primary: #00325a; + --md-sys-color-primary-container: #004880; + --md-sys-color-on-primary-container: #d2e4ff; + --md-sys-color-inverse-primary: #0060a8; + --md-sys-color-secondary: #bbc7db; + --md-sys-color-on-secondary: #263141; + --md-sys-color-secondary-container: #3c4858; + --md-sys-color-on-secondary-container: #d7e3f8; + --md-sys-color-tertiary: #d8bde4; + --md-sys-color-on-tertiary: #3c2947; + --md-sys-color-tertiary-container: #533f5f; + --md-sys-color-on-tertiary-container: #f4d9ff; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; + --md-sys-color-background: #17120f; + --md-sys-color-on-background: #ebe0d9; + --md-sys-color-surface: #17120f; + --md-sys-color-on-surface: #ebe0d9; + --md-sys-color-surface-variant: #51443a; + --md-sys-color-on-surface-variant: #d5c3b6; + --md-sys-color-surface-dim: #17120f; + --md-sys-color-surface-bright: #3e3833; + --md-sys-color-surface-container-lowest: #120d0a; + --md-sys-color-surface-container-low: #201b17; + --md-sys-color-surface-container: #241f1a; + --md-sys-color-surface-container-high: #2f2925; + --md-sys-color-surface-container-highest: #3a342f; + --md-sys-color-surface-tint: #a1c9ff; + --md-sys-color-outline: #9e8e82; + --md-sys-color-outline-variant: #51443a; + --md-sys-color-inverse-surface: #ebe0d9; + --md-sys-color-inverse-on-surface: #352f2b; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-primary-fixed: #d2e4ff; + --md-sys-color-primary-fixed-dim: #a1c9ff; + --md-sys-color-on-primary-fixed: #001c38; + --md-sys-color-on-primary-fixed-variant: #004880; + --md-sys-color-secondary-fixed: #d7e3f8; + --md-sys-color-secondary-fixed-dim: #bbc7db; + --md-sys-color-on-secondary-fixed: #101c2b; + --md-sys-color-on-secondary-fixed-variant: #3c4858; + --md-sys-color-tertiary-fixed: #f4d9ff; + --md-sys-color-tertiary-fixed-dim: #d8bde4; + --md-sys-color-on-tertiary-fixed: #261431; + --md-sys-color-on-tertiary-fixed-variant: #533f5f; + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; +} +:root.light, +.light { + --buncss-light: initial; + --buncss-dark: ; + color-scheme: light; + --md-sys-color-background: #fff7fa; + --md-sys-color-on-background: #201a1e; + --md-sys-color-surface: #fff7fa; + --md-sys-color-surface-dim: #e3d7dd; + --md-sys-color-surface-bright: #fff7fa; + --md-sys-color-surface-container-lowest: #fff; + --md-sys-color-surface-container-low: #fdf0f7; + --md-sys-color-surface-container: #f7ebf1; + --md-sys-color-surface-container-high: #f1e5eb; + --md-sys-color-surface-container-highest: #ebdfe6; + --md-sys-color-on-surface: #201a1e; + --md-sys-color-surface-variant: #eddee8; + --md-sys-color-on-surface-variant: #4e444b; + --md-sys-color-inverse-surface: #352e33; + --md-sys-color-inverse-on-surface: #faedf4; + --md-sys-color-outline: #7f747c; + --md-sys-color-outline-variant: #d1c3cc; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-surface-tint: #7e4d7c; + --md-sys-color-primary: #7e4d7c; + --md-sys-color-on-primary: #fff; + --md-sys-color-primary-container: #ffd6f8; + --md-sys-color-on-primary-container: #643663; + --md-sys-color-inverse-primary: #efb4e9; + --md-sys-color-secondary: #6d586a; + --md-sys-color-on-secondary: #fff; + --md-sys-color-secondary-container: #f6dbf0; + --md-sys-color-on-secondary-container: #544151; + --md-sys-color-tertiary: #825247; + --md-sys-color-on-tertiary: #fff; + --md-sys-color-tertiary-container: #ffdad2; + --md-sys-color-on-tertiary-container: #663b31; + --md-sys-color-error: #ba1a1a; + --md-sys-color-on-error: #fff; + --md-sys-color-error-container: #ffdad6; + --md-sys-color-on-error-container: #93000a; + --md-sys-color-primary-fixed: #ffd6f8; + --md-sys-color-primary-fixed-dim: #efb4e9; + --md-sys-color-on-primary-fixed: #330834; + --md-sys-color-on-primary-fixed-variant: #643663; + --md-sys-color-secondary-fixed: #f6dbf0; + --md-sys-color-secondary-fixed-dim: #d9bfd3; + --md-sys-color-on-secondary-fixed: #261625; + --md-sys-color-on-secondary-fixed-variant: #544151; + --md-sys-color-tertiary-fixed: #ffdad2; + --md-sys-color-tertiary-fixed-dim: #f6b8a9; + --md-sys-color-on-tertiary-fixed: #331109; + --md-sys-color-on-tertiary-fixed-variant: #663b31; +} +:root, +.dark { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-background: #171216; + --md-sys-color-on-background: #ebdfe6; + --md-sys-color-surface: #171216; + --md-sys-color-surface-dim: #171216; + --md-sys-color-surface-bright: #3e373c; + --md-sys-color-surface-container-lowest: #120d11; + --md-sys-color-surface-container-low: #201a1e; + --md-sys-color-surface-container: #241e22; + --md-sys-color-surface-container-high: #2e282d; + --md-sys-color-surface-container-highest: #3a3338; + --md-sys-color-on-surface: #ebdfe6; + --md-sys-color-surface-variant: #4e444b; + --md-sys-color-on-surface-variant: #d1c3cc; + --md-sys-color-inverse-surface: #ebdfe6; + --md-sys-color-inverse-on-surface: #352e33; + --md-sys-color-outline: #9a8d96; + --md-sys-color-outline-variant: #4e444b; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-surface-tint: #efb4e9; + --md-sys-color-primary: #efb4e9; + --md-sys-color-on-primary: #4b1f4b; + --md-sys-color-primary-container: #643663; + --md-sys-color-on-primary-container: #ffd6f8; + --md-sys-color-inverse-primary: #7e4d7c; + --md-sys-color-secondary: #d9bfd3; + --md-sys-color-on-secondary: #3c2b3a; + --md-sys-color-secondary-container: #544151; + --md-sys-color-on-secondary-container: #f6dbf0; + --md-sys-color-tertiary: #f6b8a9; + --md-sys-color-on-tertiary: #4c261c; + --md-sys-color-tertiary-container: #663b31; + --md-sys-color-on-tertiary-container: #ffdad2; + --md-sys-color-error: #ffb4ab; + --md-sys-color-on-error: #690005; + --md-sys-color-error-container: #93000a; + --md-sys-color-on-error-container: #ffdad6; + --md-sys-color-primary-fixed: #ffd6f8; + --md-sys-color-primary-fixed-dim: #efb4e9; + --md-sys-color-on-primary-fixed: #330834; + --md-sys-color-on-primary-fixed-variant: #643663; + --md-sys-color-secondary-fixed: #f6dbf0; + --md-sys-color-secondary-fixed-dim: #d9bfd3; + --md-sys-color-on-secondary-fixed: #261625; + --md-sys-color-on-secondary-fixed-variant: #544151; + --md-sys-color-tertiary-fixed: #ffdad2; + --md-sys-color-tertiary-fixed-dim: #f6b8a9; + --md-sys-color-on-tertiary-fixed: #331109; + --md-sys-color-on-tertiary-fixed-variant: #663b31; +} +@media (prefers-contrast: more) { + :root.light, + .light { + --buncss-light: initial; + --buncss-dark: ; + color-scheme: light; + --md-sys-color-background: #fff7fa; + --md-sys-color-on-background: #201a1e; + --md-sys-color-surface: #fff7fa; + --md-sys-color-surface-dim: #c1b6bc; + --md-sys-color-surface-bright: #fff7fa; + --md-sys-color-surface-container-lowest: #fff; + --md-sys-color-surface-container-low: #faedf4; + --md-sys-color-surface-container: #ebdfe6; + --md-sys-color-surface-container-high: #ddd1d8; + --md-sys-color-surface-container-highest: #cfc3ca; + --md-sys-color-on-surface: #000; + --md-sys-color-surface-variant: #eddee8; + --md-sys-color-on-surface-variant: #000; + --md-sys-color-inverse-surface: #352e33; + --md-sys-color-inverse-on-surface: #fff; + --md-sys-color-outline: #322a30; + --md-sys-color-outline-variant: #50464e; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-surface-tint: #7e4d7c; + --md-sys-color-primary: #461b46; + --md-sys-color-on-primary: #fff; + --md-sys-color-primary-container: #673865; + --md-sys-color-on-primary-container: #fff; + --md-sys-color-inverse-primary: #efb4e9; + --md-sys-color-secondary: #382736; + --md-sys-color-on-secondary: #fff; + --md-sys-color-secondary-container: #564354; + --md-sys-color-on-secondary-container: #fff; + --md-sys-color-tertiary: #472218; + --md-sys-color-on-tertiary: #fff; + --md-sys-color-tertiary-container: #693e33; + --md-sys-color-on-tertiary-container: #fff; + --md-sys-color-error: #600004; + --md-sys-color-on-error: #fff; + --md-sys-color-error-container: #98000a; + --md-sys-color-on-error-container: #fff; + --md-sys-color-primary-fixed: #673865; + --md-sys-color-primary-fixed-dim: #4d224d; + --md-sys-color-on-primary-fixed: #fff; + --md-sys-color-on-primary-fixed-variant: #fff; + --md-sys-color-secondary-fixed: #564354; + --md-sys-color-secondary-fixed-dim: #3f2d3d; + --md-sys-color-on-secondary-fixed: #fff; + --md-sys-color-on-secondary-fixed-variant: #fff; + --md-sys-color-tertiary-fixed: #693e33; + --md-sys-color-tertiary-fixed-dim: #4f281e; + --md-sys-color-on-tertiary-fixed: #fff; + --md-sys-color-on-tertiary-fixed-variant: #fff; + } + :root, + .dark { + --buncss-light: ; + --buncss-dark: initial; + color-scheme: dark; + --md-sys-color-background: #171216; + --md-sys-color-on-background: #ebdfe6; + --md-sys-color-surface: #171216; + --md-sys-color-surface-dim: #171216; + --md-sys-color-surface-bright: #564e53; + --md-sys-color-surface-container-lowest: #000; + --md-sys-color-surface-container-low: #241e22; + --md-sys-color-surface-container: #352e33; + --md-sys-color-surface-container-high: #40393e; + --md-sys-color-surface-container-highest: #4c454a; + --md-sys-color-on-surface: #fff; + --md-sys-color-surface-variant: #4e444b; + --md-sys-color-on-surface-variant: #fff; + --md-sys-color-inverse-surface: #ebdfe6; + --md-sys-color-inverse-on-surface: #000; + --md-sys-color-outline: #fbecf5; + --md-sys-color-outline-variant: #cdbfc8; + --md-sys-color-shadow: #000; + --md-sys-color-scrim: #000; + --md-sys-color-surface-tint: #efb4e9; + --md-sys-color-primary: #ffeaf9; + --md-sys-color-on-primary: #000; + --md-sys-color-primary-container: #ebb0e5; + --md-sys-color-on-primary-container: #1c001e; + --md-sys-color-inverse-primary: #653764; + --md-sys-color-secondary: #ffeaf9; + --md-sys-color-on-secondary: #000; + --md-sys-color-secondary-container: #d5bbcf; + --md-sys-color-on-secondary-container: #140614; + --md-sys-color-tertiary: #ffece8; + --md-sys-color-on-tertiary: #000; + --md-sys-color-tertiary-container: #f1b4a6; + --md-sys-color-on-tertiary-container: #1d0301; + --md-sys-color-error: #ffece9; + --md-sys-color-on-error: #000; + --md-sys-color-error-container: #ffaea4; + --md-sys-color-on-error-container: #220001; + --md-sys-color-primary-fixed: #ffd6f8; + --md-sys-color-primary-fixed-dim: #efb4e9; + --md-sys-color-on-primary-fixed: #000; + --md-sys-color-on-primary-fixed-variant: #260028; + --md-sys-color-secondary-fixed: #f6dbf0; + --md-sys-color-secondary-fixed-dim: #d9bfd3; + --md-sys-color-on-secondary-fixed: #000; + --md-sys-color-on-secondary-fixed-variant: #1b0c1a; + --md-sys-color-tertiary-fixed: #ffdad2; + --md-sys-color-tertiary-fixed-dim: #f6b8a9; + --md-sys-color-on-tertiary-fixed: #000; + --md-sys-color-on-tertiary-fixed-variant: #250703; + } +} +:root { + --aphrody-pet-hair: #dcd894; + --aphrody-pet-skin: #fce0b4; + --aphrody-pet-tunic: #f4f4f4; + --app-title-gradient: linear-gradient( + 90deg, + var(--md-sys-color-primary), + var(--md-sys-color-secondary), + var(--md-sys-color-tertiary) + ); + --app-shape-prompt-empty: 40px; + --app-shape-prompt-content: 32px; + --app-shape-prompt-docked: 24px 24px 0 0; + --app-shape-chip: 16px; + --app-reading-column: 760px; + --app-weight-display: 280; + --app-weight-headline: 350; + --app-weight-body: 400; + --app-weight-body-strong: 500; + --app-motion-spring-fast-spatial: linear( + 0, + 0.0519, + 0.168, + 0.3068, + 0.4446, + 0.569, + 0.6746, + 0.7604, + 0.8279, + 0.8795, + 0.9178, + 0.9456, + 0.9653, + 0.9788, + 0.9879, + 0.9939, + 0.9975, + 0.9997, + 1.0008, + 1.0014, + 1.0015, + 1.0015, + 1.0013, + 1.0011, + 1 + ); + --app-motion-spring-fast-spatial-duration: 0.23s; + --app-motion-spring-default-spatial: linear( + 0, + 0.0518, + 0.1678, + 0.3065, + 0.4442, + 0.5685, + 0.6741, + 0.76, + 0.8276, + 0.8791, + 0.9175, + 0.9454, + 0.9651, + 0.9787, + 0.9879, + 0.9938, + 0.9975, + 0.9997, + 1.0008, + 1.0014, + 1.0015, + 1.0015, + 1.0013, + 1.0011, + 1 + ); + --app-motion-spring-default-spatial-duration: 0.325s; + --app-motion-spring-slow-spatial: linear( + 0, + 0.0517, + 0.1675, + 0.3061, + 0.4437, + 0.568, + 0.6736, + 0.7595, + 0.8271, + 0.8788, + 0.9172, + 0.9451, + 0.9649, + 0.9786, + 0.9878, + 0.9937, + 0.9974, + 0.9996, + 1.0008, + 1.0014, + 1.0015, + 1.0015, + 1.0013, + 1.0011, + 1 + ); + --app-motion-spring-slow-spatial-duration: 0.496s; + --app-motion-spring-fast-effects: linear( + 0, + 0.0576, + 0.1807, + 0.3214, + 0.4558, + 0.5737, + 0.6718, + 0.7508, + 0.8128, + 0.8606, + 0.897, + 0.9244, + 0.9448, + 0.9599, + 0.9709, + 0.979, + 0.9849, + 0.9892, + 0.9923, + 0.9945, + 0.9961, + 0.9972, + 0.998, + 0.9986, + 1 + ); + --app-motion-spring-fast-effects-duration: 0.15s; + --app-motion-spring-default-effects: linear( + 0, + 0.0576, + 0.1805, + 0.3211, + 0.4555, + 0.5733, + 0.6714, + 0.7504, + 0.8125, + 0.8604, + 0.8968, + 0.9242, + 0.9446, + 0.9597, + 0.9708, + 0.979, + 0.9849, + 0.9892, + 0.9922, + 0.9945, + 0.9961, + 0.9972, + 0.998, + 0.9986, + 1 + ); + --app-motion-spring-default-effects-duration: 0.231s; + --app-motion-spring-slow-effects: linear( + 0, + 0.0577, + 0.1807, + 0.3215, + 0.456, + 0.5738, + 0.672, + 0.7509, + 0.8129, + 0.8607, + 0.8971, + 0.9244, + 0.9448, + 0.9599, + 0.971, + 0.9791, + 0.985, + 0.9892, + 0.9923, + 0.9945, + 0.9961, + 0.9972, + 0.998, + 0.9986, + 1 + ); + --app-motion-spring-slow-effects-duration: 0.327s; +} +:where(:root) { + --md-ext-color-success: #006c4b; + --md-ext-color-on-success: #fff; + --md-ext-color-success-container: #7df9c2; + --md-ext-color-on-success-container: #002114; + --md-ext-color-warning: #934b00; + --md-ext-color-on-warning: #fff; + --md-ext-color-warning-container: #ffdcc5; + --md-ext-color-on-warning-container: #301400; +} +@media (prefers-color-scheme: dark) { + :where(:root) { + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; + } +} +:where(:root.dark, .dark) { + --md-ext-color-success: #5fdda8; + --md-ext-color-on-success: #003825; + --md-ext-color-success-container: #005137; + --md-ext-color-on-success-container: #7df9c2; + --md-ext-color-warning: #ffb782; + --md-ext-color-on-warning: #4f2500; + --md-ext-color-warning-container: #703800; + --md-ext-color-on-warning-container: #ffdcc5; +} +.m3-reader { + --reader-surface: var(--md-sys-color-surface, #111318); + --reader-on-surface: var(--md-sys-color-on-surface, #e2e2e9); + --reader-accent: var(--md-sys-color-primary, #bdc5ff); + --reader-on-accent: var(--md-sys-color-on-primary, #17227a); + --reader-outline: var(--md-sys-color-outline, #8e9099); + color: var(--reader-on-surface); + background: var(--reader-surface); + font-size: 18px; + line-height: 1.5; +} +.m3-reader .m3-reader-hud { + color: var(--reader-on-surface); + background: var(--reader-surface); + border-bottom: 2px solid var(--reader-outline); +} +.m3-reader .m3-reader-btn, +.m3-reader .m3-reader-btn-active { + display: inline-flex; + border: 2px solid var(--reader-outline); + color: var(--reader-on-surface); + background: var(--reader-surface); + cursor: pointer; + border-radius: 0.6rem; + justify-content: center; + align-items: center; + gap: 0.375rem; + min-height: 44px; + padding: 0.35rem 0.75rem; + font-size: 18px; + font-weight: 700; +} +.m3-reader .m3-reader-btn-active { + color: var(--reader-on-accent); + background: var(--reader-accent); + border-color: var(--reader-accent); +} +.m3-reader :-webkit-any(button, a, input):focus-visible { + outline: 3px solid var(--reader-accent); + outline-offset: 2px; +} +.m3-reader :-moz-any(button, a, input):focus-visible { + outline: 3px solid var(--reader-accent); + outline-offset: 2px; +} +.m3-reader :is(button, a, input):focus-visible { + outline: 3px solid var(--reader-accent); + outline-offset: 2px; +} +.m3-reader :-webkit-any(button, a):disabled { + opacity: 0.45; + cursor: default; +} +.m3-reader :-moz-any(button, a):disabled { + opacity: 0.45; + cursor: default; +} +.m3-reader :is(button, a):disabled { + opacity: 0.45; + cursor: default; +} +.m3-reader .m3-reader-scroll { + scrollbar-color: var(--reader-outline) var(--reader-surface); +} +.m3-reader-collection { + display: grid; + border-radius: 1rem; + gap: 1rem; + padding: 1rem; +} +.m3-reader-collection-toolbar, +.m3-reader-collection-navigation { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + gap: 0.75rem; +} +.m3-reader-collection-editions { + display: flex; + flex-wrap: wrap; + gap: 0.5rem; +} +.m3-reader-collection-contents { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); + border: 2px solid var(--reader-outline); + border-radius: 1rem; + gap: 0.5rem; + padding: 1rem; +} +.m3-reader-collection-empty { + border: 2px solid var(--reader-outline); + border-radius: 1rem; + min-height: 8rem; + padding: 2rem; + font-size: 18px; +} +.m3-reader-collection-navigation { + border-top: 1px solid var(--reader-outline); + padding-top: 0.75rem; +} +@media (prefers-reduced-motion: reduce) { + .m3-reader *, + .m3-reader *:before, + .m3-reader *:after { + scroll-behavior: auto !important; + animation-duration: 0s !important; + transition-duration: 0s !important; + } +} +html, +body { + overscroll-behavior: none; + overflow: hidden; +} +html.overlay-window, +body.overlay-window, +#root.overlay-window { + background: 0 0 !important; +} +* { + scrollbar-width: auto; + scrollbar-color: var(--md-sys-color-outline) transparent; +} +@media (prefers-reduced-motion: reduce) { + .audio-gradient:before { + animation: none; + } +} +.checkerboard { + background-image: + linear-gradient( + 45deg, + var(--md-sys-color-surface-container-highest) 25%, + transparent 25% + ), + linear-gradient( + -45deg, + var(--md-sys-color-surface-container-highest) 25%, + transparent 25% + ), + linear-gradient( + 45deg, + transparent 75%, + var(--md-sys-color-surface-container-highest) 75% + ), + linear-gradient( + -45deg, + transparent 75%, + var(--md-sys-color-surface-container-highest) 75% + ); + background-position: + 0 0, + 0 10px, + 10px -10px, + -10px 0; + background-size: 20px 20px; +} +.audio-gradient { + position: relative; + background: var(--md-sys-color-scrim); +} +.audio-gradient:before { + content: ""; + position: absolute; + background: linear-gradient( + -45deg, + var(--md-sys-color-tertiary), + var(--md-sys-color-primary), + var(--md-sys-color-secondary), + var(--md-sys-color-tertiary-container) + ); + animation: audio-gradient-shift 15s var(--md-sys-motion-easing-standard) + infinite; + opacity: 0.7; + background-size: 400% 400%; + inset: 0; +} +.audio-gradient:after { + content: ""; + position: absolute; + background: radial-gradient( + ellipse at center, + transparent 0%, + transparent 40%, + var(--md-sys-color-scrim) 100% + ); + pointer-events: none; + inset: 0; +} +@supports (color: color-mix(in lab, red, red)) { + .audio-gradient:after { + background: radial-gradient( + ellipse at center, + transparent 0%, + transparent 40%, + color-mix(in srgb, var(--md-sys-color-scrim) 80%, transparent) 100% + ); + } +} +.audio-gradient.paused:before { + animation-play-state: paused; +} +@keyframes audio-gradient-shift { + 0% { + background-position: 0%; + } + 50% { + background-position: 100%; + } + to { + background-position: 0%; + } +} +@keyframes barber-pole { + 0% { + background-position: 0 0; + } + to { + background-position: 28px 0; + } +} +@keyframes shimmer { + 0% { + background-position: -200% 0; + } + to { + background-position: 200% 0; + } +} +.tsqd-open-btn-container { + display: none !important; +} +.product-showcase { + --m3-gutter: 24px; +} +.product-showcase .m3-code { + overflow: auto; + border-radius: var(--md-sys-shape-corner-medium); + background: var(--md-sys-color-surface-container-high); + white-space: pre; + padding: 16px; +} +.product-page { + user-select: text; +} +.drive-pane { + height: 100%; + min-height: 0; + font-size: 18px; +} +.drive-pane + :-webkit-any( + [class*="text-body-"], + [class*="text-label-"], + .text-xs, + .text-sm, + .text-base + ) { + font-size: 18px; +} +.drive-pane + :-moz-any( + [class*="text-body-"], + [class*="text-label-"], + .text-xs, + .text-sm, + .text-base + ) { + font-size: 18px; +} +.drive-pane + :is( + [class*="text-body-"], + [class*="text-label-"], + .text-xs, + .text-sm, + .text-base + ) { + font-size: 18px; +} +.drive-pane :focus-visible { + outline: 3px solid var(--md-sys-color-primary); + outline-offset: 2px; +} +:root { + font-family: var(--aphrody-font-brand); + background: var(--md-sys-color-surface); + color: var(--md-sys-color-on-surface); + --buncss-light: initial; + --buncss-dark: ; + color-scheme: light dark; + interpolate-size: allow-keywords; + scrollbar-gutter: stable; + scrollbar-width: auto; + scrollbar-color: var(--md-sys-color-outline) transparent; +} +@media (prefers-color-scheme: dark) { + :root { + --buncss-light: ; + --buncss-dark: initial; + } +} +* { + box-sizing: border-box; +} +html, +body, +#root { + min-width: 320px; + height: 100%; + min-height: 420px; + margin: 0; +} +button, +input, +select, +textarea { + font: inherit; +} +button { + cursor: pointer; +} +button:disabled { + cursor: default; + opacity: 0.45; +} +#root :focus-visible { + outline: 3px solid var(--md-sys-color-primary); + outline-offset: 3px; +} +#root :where(input, textarea, select):focus-visible { + outline-offset: 2px; +} +.app-shell { + isolation: isolate; +} +.app-shell :where(button, a, input, select, textarea) { + touch-action: manipulation; +} +@media (forced-colors: active) { + #root :focus-visible { + outline-color: highlight; + } +} +#root + :where( + button, + input, + select, + textarea, + p, + span, + label, + li, + dt, + dd, + td, + th, + summary, + code, + pre, + small, + [class*="text-body-"], + [class*="text-label-"] + ) { + font-size: max(var(--aphrody-base-font-size, 18px), 1em); +} +h1, +h2, +h3, +h4, +h5, +h6 { + text-wrap: balance; +} +p, +.prose { + text-wrap: pretty; +} +.journal-log-entry { + content-visibility: auto; + contain-intrinsic-size: auto none auto 24px; +} +.chat-turn-item { + content-visibility: auto; + contain-intrinsic-size: auto none auto 48px; +} +dialog[open] { + opacity: 1; + transform: scale(1); +} +[popover]:popover-open { + opacity: 1; + transform: scale(1); +} +@starting-style { + [popover]:popover-open { + opacity: 0; + transform: scale(0.96); + } +} +@starting-style { + dialog[open] { + opacity: 0; + transform: scale(0.96); + } +} +dialog, +[popover] { + opacity: 0; + transition-behavior: allow-discrete; + transition-property: opacity, transform, display, overlay; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.2, 0, 0, 1); + transform: scale(0.96); +} +dialog::backdrop { + transition: + display 0.2s allow-discrete, + overlay 0.2s allow-discrete, + background-color 0.2s ease-out; + background-color: #0000; +} +[popover]::backdrop { + transition: + display 0.2s allow-discrete, + overlay 0.2s allow-discrete, + background-color 0.2s ease-out; + background-color: #0000; +} +dialog[open]::backdrop { + background-color: var(--md-sys-color-scrim); +} +@supports (color: color-mix(in lab, red, red)) { + dialog[open]::backdrop { + background-color: color-mix( + in srgb, + var(--md-sys-color-scrim) 45%, + transparent + ); + } +} +@starting-style { + dialog[open]::backdrop { + background-color: #0000; + } +} +[popover]:popover-open::backdrop { + background-color: var(--md-sys-color-scrim); +} +@supports (color: color-mix(in lab, red, red)) { + [popover]:popover-open::backdrop { + background-color: color-mix( + in srgb, + var(--md-sys-color-scrim) 45%, + transparent + ); + } +} +@starting-style { + [popover]:popover-open::backdrop { + background-color: #0000; + } +} +.material-symbol { + display: inline-block; + direction: ltr; + white-space: nowrap; + font-variation-settings: + "FILL" 0, + "wght" 500, + "GRAD" 0, + "opsz" 24; + font-family: Material Symbols Outlined; + font-size: 20px; + line-height: 1; +} +.titlebar { + user-select: none; + height: 40px; +} +.window-control { + color: var(--md-sys-color-on-surface-variant); + width: 46px; + height: 40px; +} +.window-control:hover { + background: var(--md-sys-color-on-surface); +} +@supports (color: color-mix(in lab, red, red)) { + .window-control:hover { + background: color-mix( + in srgb, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } +} +.window-control.close:hover { + background: var(--md-sys-color-error); + color: var(--md-sys-color-on-error); +} +@media (max-width: 760px) { + .titlebar { + height: 36px; + } + .window-control { + width: 40px; + height: 36px; + } +} +@media (prefers-reduced-motion: reduce) { + dialog, + [popover] { + transition: none; + transform: none; + } + @starting-style { + dialog[open] { + transform: none; + } + [popover]:popover-open { + transform: none; + } + } +} +.codex-chat-pane { + font-weight: var(--app-weight-body); +} +.codex-chat-pane :-webkit-any(h1, h2, h3) { + font-weight: var(--app-weight-headline); +} +.codex-chat-pane :-moz-any(h1, h2, h3) { + font-weight: var(--app-weight-headline); +} +.codex-chat-pane :is(h1, h2, h3) { + font-weight: var(--app-weight-headline); +} +.codex-chat-pane :-webkit-any(strong, b) { + font-weight: var(--app-weight-body-strong); +} +.codex-chat-pane :-moz-any(strong, b) { + font-weight: var(--app-weight-body-strong); +} +.codex-chat-pane :is(strong, b) { + font-weight: var(--app-weight-body-strong); +} +.app-reading-column { + max-width: var(--app-reading-column); + width: 100%; + margin-inline-start: auto; + margin-inline-end: auto; +} +.app-greeting { + text-align: start; + font-size: clamp(2rem, 4vw, 2.8rem); + line-height: 1.15; + font-weight: var(--app-weight-display); + margin: 0; +} +.app-greeting .app-sparkle { + display: inline-block; + vertical-align: 0; + width: 0.72em; + height: 0.72em; + margin-inline-end: 0.3em; +} +.app-greeting-text { + font-size: 1em; + font-weight: var(--app-weight-display); + font-variation-settings: "ROND" 100; + color: var(--md-sys-color-primary); + background: var(--app-title-gradient); + -webkit-text-fill-color: transparent; + -webkit-background-clip: text; + background-clip: text; +} +.app-sparkle { + flex: none; +} +@media (forced-colors: active) { + .app-greeting-text { + -webkit-text-fill-color: CanvasText; + background: 0 0; + } +} +.app-prompt-bar { + background: var(--md-sys-color-surface); + border: 1px solid var(--md-sys-color-outline-variant); + border-radius: var(--app-shape-prompt-empty); + box-shadow: + 0 0 16px 0 var(--md-sys-color-on-surface), + 0 0 2px 0 var(--md-sys-color-on-surface); + transition: border-radius var(--md-sys-motion-duration-medium2, 0.3s) + cubic-bezier(0.2, 0, 0, 1); +} +@supports (color: color-mix(in lab, red, red)) { + .app-prompt-bar { + box-shadow: + 0 0 16px 0 + color-mix(in srgb, var(--md-sys-color-on-surface) 16%, transparent), + 0 0 2px 0 + color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent); + } +} +.app-prompt-bar[data-shape="content"] { + border-radius: var(--app-shape-prompt-content); +} +.app-prompt-bar[data-shape="docked"] { + border-radius: var(--app-shape-prompt-docked); +} +.app-prompt-bar:focus-within { + outline: 2px solid var(--md-sys-color-primary); + outline-offset: 2px; +} +.app-prompt-bar textarea { + width: 100%; +} +@supports (field-sizing: content) { + .app-prompt-bar textarea { + field-sizing: content; + height: auto; + min-block-size: 1lh; + max-block-size: 10lh; + } +} +.app-chip { + white-space: nowrap; + border-radius: var(--app-shape-chip); + border: 1px solid var(--md-sys-color-outline-variant); +} +@media (max-width: 839px) { + .app-chip-label { + position: absolute; + overflow: hidden; + clip-path: inset(50%); + white-space: nowrap; + width: 1px; + height: 1px; + } +} +.app-rail { + position: relative; + overflow: hidden; + background: var(--md-sys-color-surface-container-low); + transition: width 0s linear var(--md-sys-motion-duration-medium2, 0.3s); + width: 0; +} +.app-rail[data-expanded="true"] { + width: 280px; + transition: width; +} +.app-rail-panel { + opacity: 0; + transition: + transform var(--md-sys-motion-duration-medium2, 0.3s) + cubic-bezier(0.2, 0, 0, 1), + opacity var(--md-sys-motion-duration-short4, 0.2s) + cubic-bezier(0.2, 0, 0, 1); + width: 280px; + height: 100%; + transform: translate(-100%); +} +.app-rail[data-expanded="true"] > .app-rail-panel { + opacity: 1; + transform: none; +} +@supports (transition-timing-function: linear(0, 1)) { + .app-prompt-bar { + transition: border-radius var(--app-motion-spring-default-spatial-duration) + var(--app-motion-spring-default-spatial); + } + .app-rail { + transition: width 0s linear + var(--app-motion-spring-default-spatial-duration); + } + .app-rail[data-expanded="true"] { + transition: width; + } + .app-rail-panel { + transition: + transform var(--app-motion-spring-default-spatial-duration) + var(--app-motion-spring-default-spatial), + opacity var(--app-motion-spring-fast-effects-duration) + var(--app-motion-spring-fast-effects); + } +} +.app-drawer { + position: fixed; + opacity: 1; + z-index: 100; + background: 0 0; + border: 0; + width: 100%; + max-width: none; + height: 100%; + max-height: none; + margin: 0; + padding: 0; + transition: none; + inset: 0; + transform: none; +} +.app-drawer[hidden] { + display: none; +} +.app-drawer::backdrop { + background: 0 0; +} +.app-drawer-scroller { + display: flex; + overflow-x: auto; + overscroll-behavior: contain; + scroll-snap-type: x mandatory; + scrollbar-width: none; + background: var(--md-sys-color-scrim); + height: 100%; +} +@supports (color: color-mix(in lab, red, red)) { + .app-drawer-scroller { + background: color-mix(in srgb, var(--md-sys-color-scrim) 32%, transparent); + } +} +.app-drawer-panel { + scroll-snap-align: start; + background: var(--md-sys-color-surface-container-low); + border-radius: 0 var(--md-sys-shape-corner-large) + var(--md-sys-shape-corner-large) 0; + display: flex; + flex-direction: column; + flex: none; + width: min(280px, 85vw); + height: 100%; + min-height: 0; +} +.app-drawer-header { + display: flex; + border-bottom: 1px solid var(--md-sys-color-outline-variant); + justify-content: space-between; + align-items: center; + gap: 12px; + padding: 12px; +} +.app-drawer-title { + font-weight: var(--app-weight-body-strong); +} +.app-drawer-close { + display: grid; + border-radius: var(--md-sys-shape-corner-full); + color: var(--md-sys-color-on-surface-variant); + background: 0 0; + border: 0; + flex: none; + place-items: center; + min-width: 48px; + min-height: 48px; +} +.app-drawer-close:hover { + background: var(--md-sys-color-on-surface); +} +@supports (color: color-mix(in lab, red, red)) { + .app-drawer-close:hover { + background: color-mix( + in srgb, + var(--md-sys-color-on-surface) 8%, + transparent + ); + } +} +.app-drawer-content { + overflow: auto; + flex: 1; + min-height: 0; +} +.app-drawer-dismiss { + scroll-snap-align: start; + background: 0 0; + border: 0; + flex: none; + width: 100vw; + height: 100%; +} +@supports (animation-timeline: scroll()) { + .app-drawer-scroller { + animation: linear both app-drawer-scrim; + animation-timeline: scroll(self inline); + } + @keyframes app-drawer-scrim { + 0% { + background-color: color-mix( + in srgb, + var(--md-sys-color-scrim) 32%, + transparent + ); + } + to { + background-color: #0000; + } + } +} +.app-rail-trigger:focus-visible { + outline: 2px solid var(--md-sys-color-primary); + outline-offset: 2px; +} +.app-drawer-dismiss:focus-visible { + outline: 2px solid var(--md-sys-color-primary); + outline-offset: 2px; +} +@media (prefers-reduced-motion: reduce) { + .app-prompt-bar, + .app-rail, + .app-rail[data-expanded="true"], + .app-rail-panel { + transition: none; + } + .app-drawer-scroller { + scroll-behavior: auto; + animation: none; + } +} +:root.reduce-motion *, +:root.reduce-motion *:before, +:root.reduce-motion *:after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + scroll-behavior: auto !important; + transition-duration: 0.01ms !important; +} +@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-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-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-scroll-snap-strictness { + syntax: "*"; + inherits: false; + initial-value: proximity; +} +@property --tw-space-y-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-divide-x-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-border-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@property --tw-divide-y-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-gradient-position { + syntax: "*"; + inherits: false; +} +@property --tw-gradient-from { + syntax: ""; + inherits: false; + initial-value: #0000; +} +@property --tw-gradient-via { + syntax: ""; + inherits: false; + initial-value: #0000; +} +@property --tw-gradient-to { + syntax: ""; + inherits: false; + initial-value: #0000; +} +@property --tw-gradient-stops { + syntax: "*"; + inherits: false; +} +@property --tw-gradient-via-stops { + syntax: "*"; + inherits: false; +} +@property --tw-gradient-from-position { + syntax: ""; + inherits: false; + initial-value: 0%; +} +@property --tw-gradient-via-position { + syntax: ""; + inherits: false; + initial-value: 50%; +} +@property --tw-gradient-to-position { + syntax: ""; + inherits: false; + initial-value: 100%; +} +@property --tw-leading { + syntax: "*"; + inherits: false; +} +@property --tw-font-weight { + syntax: "*"; + inherits: false; +} +@property --tw-tracking { + syntax: "*"; + inherits: false; +} +@property --tw-ordinal { + syntax: "*"; + inherits: false; +} +@property --tw-slashed-zero { + syntax: "*"; + inherits: false; +} +@property --tw-numeric-figure { + syntax: "*"; + inherits: false; +} +@property --tw-numeric-spacing { + syntax: "*"; + inherits: false; +} +@property --tw-numeric-fraction { + 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-outline-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@property --tw-blur { + syntax: "*"; + inherits: false; +} +@property --tw-brightness { + syntax: "*"; + inherits: false; +} +@property --tw-contrast { + syntax: "*"; + inherits: false; +} +@property --tw-grayscale { + syntax: "*"; + inherits: false; +} +@property --tw-hue-rotate { + syntax: "*"; + inherits: false; +} +@property --tw-invert { + syntax: "*"; + inherits: false; +} +@property --tw-opacity { + syntax: "*"; + inherits: false; +} +@property --tw-saturate { + syntax: "*"; + inherits: false; +} +@property --tw-sepia { + syntax: "*"; + inherits: false; +} +@property --tw-drop-shadow { + syntax: "*"; + inherits: false; +} +@property --tw-drop-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-drop-shadow-alpha { + syntax: ""; + inherits: false; + initial-value: 100%; +} +@property --tw-drop-shadow-size { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-blur { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-brightness { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-contrast { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-grayscale { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-hue-rotate { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-invert { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-opacity { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-saturate { + syntax: "*"; + inherits: false; +} +@property --tw-backdrop-sepia { + syntax: "*"; + inherits: false; +} +@property --tw-duration { + syntax: "*"; + inherits: false; +} +@property --tw-ease { + syntax: "*"; + inherits: false; +} +@property --tw-content { + syntax: "*"; + inherits: false; + initial-value: ""; +} +@keyframes spin { + to { + transform: rotate(360deg); + } +} +@keyframes pulse { + 50% { + opacity: 0.5; + } +} +@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 { + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-translate-z: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-scale-z: 1; + --tw-rotate-x: initial; + --tw-rotate-y: initial; + --tw-rotate-z: initial; + --tw-skew-x: initial; + --tw-skew-y: initial; + --tw-scroll-snap-strictness: proximity; + --tw-space-y-reverse: 0; + --tw-divide-x-reverse: 0; + --tw-border-style: solid; + --tw-divide-y-reverse: 0; + --tw-gradient-position: initial; + --tw-gradient-from: #0000; + --tw-gradient-via: #0000; + --tw-gradient-to: #0000; + --tw-gradient-stops: initial; + --tw-gradient-via-stops: initial; + --tw-gradient-from-position: 0%; + --tw-gradient-via-position: 50%; + --tw-gradient-to-position: 100%; + --tw-leading: initial; + --tw-font-weight: initial; + --tw-tracking: initial; + --tw-ordinal: initial; + --tw-slashed-zero: initial; + --tw-numeric-figure: initial; + --tw-numeric-spacing: initial; + --tw-numeric-fraction: 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-outline-style: solid; + --tw-blur: initial; + --tw-brightness: initial; + --tw-contrast: initial; + --tw-grayscale: initial; + --tw-hue-rotate: initial; + --tw-invert: initial; + --tw-opacity: initial; + --tw-saturate: initial; + --tw-sepia: initial; + --tw-drop-shadow: initial; + --tw-drop-shadow-color: initial; + --tw-drop-shadow-alpha: 100%; + --tw-drop-shadow-size: initial; + --tw-backdrop-blur: initial; + --tw-backdrop-brightness: initial; + --tw-backdrop-contrast: initial; + --tw-backdrop-grayscale: initial; + --tw-backdrop-hue-rotate: initial; + --tw-backdrop-invert: initial; + --tw-backdrop-opacity: initial; + --tw-backdrop-saturate: initial; + --tw-backdrop-sepia: initial; + --tw-duration: initial; + --tw-ease: initial; + --tw-content: ""; + } + ::backdrop { + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-translate-z: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-scale-z: 1; + --tw-rotate-x: initial; + --tw-rotate-y: initial; + --tw-rotate-z: initial; + --tw-skew-x: initial; + --tw-skew-y: initial; + --tw-scroll-snap-strictness: proximity; + --tw-space-y-reverse: 0; + --tw-divide-x-reverse: 0; + --tw-border-style: solid; + --tw-divide-y-reverse: 0; + --tw-gradient-position: initial; + --tw-gradient-from: #0000; + --tw-gradient-via: #0000; + --tw-gradient-to: #0000; + --tw-gradient-stops: initial; + --tw-gradient-via-stops: initial; + --tw-gradient-from-position: 0%; + --tw-gradient-via-position: 50%; + --tw-gradient-to-position: 100%; + --tw-leading: initial; + --tw-font-weight: initial; + --tw-tracking: initial; + --tw-ordinal: initial; + --tw-slashed-zero: initial; + --tw-numeric-figure: initial; + --tw-numeric-spacing: initial; + --tw-numeric-fraction: 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-outline-style: solid; + --tw-blur: initial; + --tw-brightness: initial; + --tw-contrast: initial; + --tw-grayscale: initial; + --tw-hue-rotate: initial; + --tw-invert: initial; + --tw-opacity: initial; + --tw-saturate: initial; + --tw-sepia: initial; + --tw-drop-shadow: initial; + --tw-drop-shadow-color: initial; + --tw-drop-shadow-alpha: 100%; + --tw-drop-shadow-size: initial; + --tw-backdrop-blur: initial; + --tw-backdrop-brightness: initial; + --tw-backdrop-contrast: initial; + --tw-backdrop-grayscale: initial; + --tw-backdrop-hue-rotate: initial; + --tw-backdrop-invert: initial; + --tw-backdrop-opacity: initial; + --tw-backdrop-saturate: initial; + --tw-backdrop-sepia: initial; + --tw-duration: initial; + --tw-ease: initial; + --tw-content: ""; + } + } +} +@font-face { + font-family: Material Symbols Outlined; + font-style: normal; + font-weight: 100 700; + font-display: block; + src: url(./fonts/material-symbols-outlined.woff2) format(woff2); +} +.material-symbols-outlined { + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; + font-feature-settings: "liga"; + font-family: Material Symbols Outlined; + font-size: 24px; + font-style: normal; + font-weight: 400; + line-height: 1; +} +.maplibregl-map { + overflow: hidden; + position: relative; + -webkit-tap-highlight-color: #0000; + -webkit-touch-callout: none; + font: + 12px/20px Helvetica Neue, + Arial, + Helvetica, + sans-serif; +} +.maplibregl-canvas { + position: absolute; + top: 0; + left: 0; +} +.maplibregl-map:-webkit-full-screen { + width: 100%; + height: 100%; +} +.maplibregl-map:fullscreen { + width: 100%; + height: 100%; +} +.maplibregl-ctrl-group button.maplibregl-ctrl-compass { + touch-action: none; +} +.maplibregl-canvas-container.maplibregl-interactive, +.maplibregl-ctrl-group button.maplibregl-ctrl-compass { + cursor: grab; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer { + cursor: pointer; +} +.maplibregl-canvas-container.maplibregl-interactive:active, +.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active { + cursor: grabbing; +} +.maplibregl-canvas-container.maplibregl-touch-zoom-rotate, +.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas { + touch-action: pan-x pan-y; +} +.maplibregl-canvas-container.maplibregl-touch-drag-pan, +.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas { + touch-action: pinch-zoom; +} +.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan, +.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan + .maplibregl-canvas { + touch-action: none; +} +.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures, +.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures + .maplibregl-canvas { + touch-action: pan-x pan-y; +} +.maplibregl-ctrl-bottom-left, +.maplibregl-ctrl-bottom-right, +.maplibregl-ctrl-top-left, +.maplibregl-ctrl-top-right { + position: absolute; + pointer-events: none; + z-index: 2; +} +.maplibregl-ctrl-top-left { + top: 0; + left: 0; +} +.maplibregl-ctrl-top-right { + top: 0; + right: 0; +} +.maplibregl-ctrl-bottom-left { + bottom: 0; + left: 0; +} +.maplibregl-ctrl-bottom-right { + bottom: 0; + right: 0; +} +.maplibregl-ctrl { + clear: both; + pointer-events: auto; + transform: translate(0); +} +.maplibregl-ctrl-top-left .maplibregl-ctrl { + float: left; + margin: 10px 0 0 10px; +} +.maplibregl-ctrl-top-right .maplibregl-ctrl { + float: right; + margin: 10px 10px 0 0; +} +.maplibregl-ctrl-bottom-left .maplibregl-ctrl { + float: left; + margin: 0 0 10px 10px; +} +.maplibregl-ctrl-bottom-right .maplibregl-ctrl { + float: right; + margin: 0 10px 10px 0; +} +.maplibregl-ctrl-group { + background: #fff; + border-radius: 4px; +} +.maplibregl-ctrl-group:not(:empty) { + box-shadow: 0 0 0 2px #0000001a; +} +@media (forced-colors: active) { + .maplibregl-ctrl-group:not(:empty) { + box-shadow: 0 0 0 2px buttontext; + } +} +.maplibregl-ctrl-group button { + display: block; + outline: none; + box-sizing: border-box; + cursor: pointer; + background-color: #0000; + border: 0; + width: 29px; + height: 29px; + padding: 0; +} +.maplibregl-ctrl button { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.maplibregl-ctrl-group button + button { + border-top: 1px solid #ddd; +} +.maplibregl-ctrl button .maplibregl-ctrl-icon { + display: block; + background-position: 50%; + background-repeat: no-repeat; + width: 100%; + height: 100%; +} +@media (forced-colors: active) { + .maplibregl-ctrl-icon { + background-color: #0000; + } + .maplibregl-ctrl-group button + button { + border-top: 1px solid buttontext; + } +} +.maplibregl-ctrl button::-moz-focus-inner { + border: 0; + padding: 0; +} +.maplibregl-ctrl-attrib-button:focus, +.maplibregl-ctrl-group button:focus { + box-shadow: 0 0 2px 2px #0096ff; +} +.maplibregl-ctrl button:disabled { + cursor: not-allowed; +} +.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon { + opacity: 0.25; +} +@media (hover: hover) { + .maplibregl-ctrl button:not(:disabled):hover { + background-color: #0000000d; + } +} +.maplibregl-ctrl button:not(:disabled):active { + background-color: #0000000d; +} +.maplibregl-ctrl-group button:focus:focus-visible { + box-shadow: 0 0 2px 2px #0096ff; +} +.maplibregl-ctrl-group button:focus:not(:focus-visible) { + box-shadow: none; +} +.maplibregl-ctrl-group button:focus:first-child { + border-radius: 4px 4px 0 0; +} +.maplibregl-ctrl-group button:focus:last-child { + border-radius: 0 0 4px 4px; +} +.maplibregl-ctrl-group button:focus:only-child { + border-radius: inherit; +} +.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E); +} +@media (forced-colors: active) { + .maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E); + } +} +@media (forced-colors: active) and (prefers-color-scheme: light) { + .maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E); + } +} +.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E); +} +@media (forced-colors: active) { + .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E); + } +} +@media (forced-colors: active) and (prefers-color-scheme: light) { + .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E); + } +} +.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E); +} +@media (forced-colors: active) { + .maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E); + } +} +@media (forced-colors: active) and (prefers-color-scheme: light) { + .maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E); + } +} +.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%23333%22%20viewBox%3D%220%200%2022%2022%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M17.5%2011c0%204.819-3.02%208.5-6.5%208.5S4.5%2015.819%204.5%2011%207.52%202.5%2011%202.5s6.5%203.681%206.5%208.5Z%22%2F%3E%3Cpath%20d%3D%22M13.5%2011c0%202.447-.331%204.64-.853%206.206-.262.785-.562%201.384-.872%201.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831%2015.64%208.5%2013.446%208.5%2011s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872%201.777.522%201.565.853%203.76.853%206.206Z%22%2F%3E%3Cpath%20d%3D%22M11%207.5c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138q.07-.058.224-.138c.299-.151.763-.302%201.379-.434C7.378%205.666%209.091%205.5%2011%205.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0%209c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138%201.3%201.3%200%200%201%20.224-.138c.299-.151.763-.302%201.379-.434C7.378%2014.666%209.091%2014.5%2011%2014.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138a1.3%201.3%200%200%201-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46%200-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5%201.5%200%200%201-.39-.272.3.3%200%200%201-.047-.064.3.3%200%200%201%20.048-.064c.066-.073.189-.167.389-.272.399-.21%201.009-.413%201.805-.59C6.328%209.722%208.54%209.5%2011%209.5s4.672.222%206.256.574c.795.177%201.405.38%201.804.59.2.105.323.2.39.272a.3.3%200%200%201%20.047.064.3.3%200%200%201-.048.064%201.4%201.4%200%200%201-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0%20.018v.002zm17.002.002v-.002zm0-.018v-.002z%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%2333b5e5%22%20viewBox%3D%220%200%2022%2022%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M17.5%2011c0%204.819-3.02%208.5-6.5%208.5S4.5%2015.819%204.5%2011%207.52%202.5%2011%202.5s6.5%203.681%206.5%208.5Z%22%2F%3E%3Cpath%20d%3D%22M13.5%2011c0%202.447-.331%204.64-.853%206.206-.262.785-.562%201.384-.872%201.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831%2015.64%208.5%2013.446%208.5%2011s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872%201.777.522%201.565.853%203.76.853%206.206Z%22%2F%3E%3Cpath%20d%3D%22M11%207.5c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138q.07-.058.224-.138c.299-.151.763-.302%201.379-.434C7.378%205.666%209.091%205.5%2011%205.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0%209c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138%201.3%201.3%200%200%201%20.224-.138c.299-.151.763-.302%201.379-.434C7.378%2014.666%209.091%2014.5%2011%2014.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138a1.3%201.3%200%200%201-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46%200-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5%201.5%200%200%201-.39-.272.3.3%200%200%201-.047-.064.3.3%200%200%201%20.048-.064c.066-.073.189-.167.389-.272.399-.21%201.009-.413%201.805-.59C6.328%209.722%208.54%209.5%2011%209.5s4.672.222%206.256.574c.795.177%201.405.38%201.804.59.2.105.323.2.39.272a.3.3%200%200%201%20.047.064.3.3%200%200%201-.048.064%201.4%201.4%200%200%201-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0%20.018v.002zm17.002.002v-.002zm0-.018v-.002z%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20d%3D%22m1.754%2013.406%204.453-4.851%203.09%203.09%203.281%203.277.969-.969-3.309-3.312%203.844-4.121%206.148%206.886h1.082v-.855l-7.207-8.07-4.84%205.187L6.169%206.57l-5.48%205.965v.871ZM.688%2016.844h20.625v1.375H.688Zm0%200%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20d%3D%22m1.754%2013.406%204.453-4.851%203.09%203.09%203.281%203.277.969-.969-3.309-3.312%203.844-4.121%206.148%206.886h1.082v-.855l-7.207-8.07-4.84%205.187L6.169%206.57l-5.48%205.965v.871ZM.688%2016.844h20.625v1.375H.688Zm0%200%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl + button.maplibregl-ctrl-geolocate:disabled + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23aaa%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e58978%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e54e33%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E); +} +.maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting + .maplibregl-ctrl-icon { + animation: 2s linear infinite maplibregl-spin; +} +@media (forced-colors: active) { + .maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl + button.maplibregl-ctrl-geolocate:disabled + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23999%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e58978%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl + button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e54e33%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E); + } +} +@media (forced-colors: active) and (prefers-color-scheme: light) { + .maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E); + } + .maplibregl-ctrl + button.maplibregl-ctrl-geolocate:disabled + .maplibregl-ctrl-icon { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23666%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E); + } +} +@keyframes maplibregl-spin { + 0% { + transform: rotate(0); + } + to { + transform: rotate(1turn); + } +} +a.maplibregl-ctrl-logo { + display: block; + cursor: pointer; + overflow: hidden; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + background-repeat: no-repeat; + width: 88px; + height: 23px; + margin: 0 0 -4px -4px; +} +a.maplibregl-ctrl-logo.maplibregl-compact { + width: 14px; +} +@media (forced-colors: active) { + a.maplibregl-ctrl-logo { + background-color: #0000; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + } +} +@media (forced-colors: active) and (prefers-color-scheme: light) { + a.maplibregl-ctrl-logo { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + } +} +.maplibregl-ctrl.maplibregl-ctrl-attrib { + background-color: #ffffff80; + margin: 0; + padding: 0 5px; +} +@media screen { + .maplibregl-ctrl-attrib.maplibregl-compact { + position: relative; + color: #000; + box-sizing: content-box; + background-color: #fff; + border-radius: 12px; + min-height: 20px; + margin: 10px; + padding: 2px 24px 2px 0; + } + .maplibregl-ctrl-attrib.maplibregl-compact-show { + visibility: visible; + padding: 2px 28px 2px 8px; + } + .maplibregl-ctrl-bottom-left + > .maplibregl-ctrl-attrib.maplibregl-compact-show, + .maplibregl-ctrl-top-left > .maplibregl-ctrl-attrib.maplibregl-compact-show { + border-radius: 12px; + padding: 2px 8px 2px 28px; + } + .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner { + display: none; + } + .maplibregl-ctrl-attrib-button { + display: none; + cursor: pointer; + position: absolute; + box-sizing: border-box; + outline: none; + background-color: #ffffff80; + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E); + border: 0; + border-radius: 12px; + width: 24px; + height: 24px; + top: 0; + right: 0; + } + .maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + list-style: none; + } + .maplibregl-ctrl-attrib + summary.maplibregl-ctrl-attrib-button::-webkit-details-marker { + display: none; + } + .maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button, + .maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button { + left: 0; + } + .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button, + .maplibregl-ctrl-attrib.maplibregl-compact-show + .maplibregl-ctrl-attrib-inner { + display: block; + } + .maplibregl-ctrl-attrib.maplibregl-compact-show + .maplibregl-ctrl-attrib-button { + background-color: #0000000d; + } + .maplibregl-ctrl-bottom-right + > .maplibregl-ctrl-attrib.maplibregl-compact:after { + bottom: 0; + right: 0; + } + .maplibregl-ctrl-top-right + > .maplibregl-ctrl-attrib.maplibregl-compact:after { + top: 0; + right: 0; + } + .maplibregl-ctrl-top-left > .maplibregl-ctrl-attrib.maplibregl-compact:after { + top: 0; + left: 0; + } + .maplibregl-ctrl-bottom-left + > .maplibregl-ctrl-attrib.maplibregl-compact:after { + bottom: 0; + left: 0; + } +} +@media screen and (forced-colors: active) { + .maplibregl-ctrl-attrib.maplibregl-compact:after { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E); + } +} +@media screen and (forced-colors: active) and (prefers-color-scheme: light) { + .maplibregl-ctrl-attrib.maplibregl-compact:after { + background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E); + } +} +.maplibregl-ctrl-attrib a { + color: #000000bf; + text-decoration: none; +} +.maplibregl-ctrl-attrib a:hover { + color: inherit; + text-decoration: underline; +} +.maplibregl-attrib-empty { + display: none; +} +.maplibregl-ctrl-scale { + white-space: nowrap; + color: #333; + box-sizing: border-box; + background-color: #ffffffbf; + border: 2px solid #333; + border-top: #333; + padding: 0 5px; + font-size: 10px; +} +.maplibregl-popup { + position: absolute; + display: flex; + will-change: transform; + pointer-events: none; + top: 0; + left: 0; +} +.maplibregl-popup-anchor-top, +.maplibregl-popup-anchor-top-left, +.maplibregl-popup-anchor-top-right { + flex-direction: column; +} +.maplibregl-popup-anchor-bottom, +.maplibregl-popup-anchor-bottom-left, +.maplibregl-popup-anchor-bottom-right { + flex-direction: column-reverse; +} +.maplibregl-popup-anchor-left { + flex-direction: row; +} +.maplibregl-popup-anchor-right { + flex-direction: row-reverse; +} +.maplibregl-popup-tip { + z-index: 1; + border: 10px solid #0000; + width: 0; + height: 0; +} +.maplibregl-popup-anchor-top .maplibregl-popup-tip { + border-top: none; + border-bottom-color: #fff; + align-self: center; +} +.maplibregl-popup-anchor-top-left .maplibregl-popup-tip { + border-top: none; + border-bottom-color: #fff; + border-left: none; + align-self: flex-start; +} +.maplibregl-popup-anchor-top-right .maplibregl-popup-tip { + border-top: none; + border-bottom-color: #fff; + border-right: none; + align-self: flex-end; +} +.maplibregl-popup-anchor-bottom .maplibregl-popup-tip { + border-top-color: #fff; + border-bottom: none; + align-self: center; +} +.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip { + border-top-color: #fff; + border-bottom: none; + border-left: none; + align-self: flex-start; +} +.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip { + border-top-color: #fff; + border-bottom: none; + border-right: none; + align-self: flex-end; +} +.maplibregl-popup-anchor-left .maplibregl-popup-tip { + border-left: none; + border-right-color: #fff; + align-self: center; +} +.maplibregl-popup-anchor-right .maplibregl-popup-tip { + border-left-color: #fff; + border-right: none; + align-self: center; +} +[dir="rtl"] .maplibregl-popup-anchor-left { + flex-direction: row-reverse; +} +[dir="rtl"] .maplibregl-popup-anchor-right { + flex-direction: row; +} +[dir="rtl"] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip { + align-self: flex-end; +} +[dir="rtl"] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip { + align-self: flex-start; +} +[dir="rtl"] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip { + align-self: flex-end; +} +[dir="rtl"] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip { + align-self: flex-start; +} +.maplibregl-popup-close-button { + position: absolute; + cursor: pointer; + background-color: #0000; + border: 0; + border-radius: 0 3px 0 0; + top: 0; + right: 0; +} +.maplibregl-popup-close-button:hover { + background-color: #0000000d; +} +.maplibregl-popup-content { + position: relative; + pointer-events: auto; + background: #fff; + border-radius: 3px; + padding: 15px 10px; + box-shadow: 0 1px 2px #0000001a; +} +.maplibregl-popup-anchor-top-left .maplibregl-popup-content { + border-top-left-radius: 0; +} +.maplibregl-popup-anchor-top-right .maplibregl-popup-content { + border-top-right-radius: 0; +} +.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content { + border-bottom-left-radius: 0; +} +.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content { + border-bottom-right-radius: 0; +} +.maplibregl-popup-track-pointer { + display: none; +} +.maplibregl-popup-track-pointer * { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.maplibregl-map:hover .maplibregl-popup-track-pointer { + display: flex; +} +.maplibregl-map:active .maplibregl-popup-track-pointer { + display: none; +} +.maplibregl-marker { + position: absolute; + will-change: transform; + transition: opacity 0.2s; + top: 0; + left: 0; +} +.maplibregl-marker-draggable { + cursor: grab; +} +.maplibregl-user-location-dot, +.maplibregl-user-location-dot:before { + background-color: #1da1f2; + border-radius: 50%; + width: 15px; + height: 15px; +} +.maplibregl-user-location-dot:before { + content: ""; + position: absolute; + animation: 2s infinite maplibregl-user-location-dot-pulse; +} +.maplibregl-user-location-dot:after { + content: ""; + position: absolute; + box-sizing: border-box; + border: 2px solid #fff; + border-radius: 50%; + width: 19px; + height: 19px; + top: -2px; + left: -2px; + box-shadow: 0 0 3px #00000059; +} +@media (prefers-reduced-motion: reduce) { + .maplibregl-user-location-dot:before { + animation: none; + } +} +@keyframes maplibregl-user-location-dot-pulse { + 0% { + transform: scale(1); + opacity: 1; + } + 70% { + transform: scale(3); + opacity: 0; + } + to { + transform: scale(1); + opacity: 0; + } +} +.maplibregl-user-location-dot-stale { + background-color: #aaa; +} +.maplibregl-user-location-dot-stale:after { + display: none; +} +.maplibregl-user-location-accuracy-circle { + background-color: #1da1f233; + border-radius: 100%; + width: 1px; + height: 1px; +} +.maplibregl-crosshair, +.maplibregl-crosshair .maplibregl-interactive, +.maplibregl-crosshair .maplibregl-interactive:active { + cursor: crosshair; +} +.maplibregl-boxzoom { + position: absolute; + opacity: 0.5; + background: #fff; + border: 2px dotted #202020; + width: 0; + height: 0; + top: 0; + left: 0; +} +.maplibregl-cooperative-gesture-screen { + position: absolute; + display: flex; + color: #fff; + opacity: 0; + pointer-events: none; + z-index: 99999; + background: #0006; + justify-content: center; + align-items: center; + padding: 1rem; + transition: opacity 1s 1s; + font-size: 1.4em; + line-height: 1.2; + inset: 0; +} +.maplibregl-cooperative-gesture-screen.maplibregl-show { + opacity: 1; + transition: opacity 50ms; +} +.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message { + display: none; +} +@media (hover: none), (pointer: coarse) { + .maplibregl-cooperative-gesture-screen .maplibregl-desktop-message { + display: none; + } + .maplibregl-cooperative-gesture-screen .maplibregl-mobile-message { + display: block; + } +} +.maplibregl-pseudo-fullscreen { + z-index: 99999; + position: fixed !important; + width: 100% !important; + height: 100% !important; + top: 0 !important; + left: 0 !important; +} +:root { + --swiper-theme-color: #007aff; +} +:host { + position: relative; + display: block; + z-index: 1; + margin-left: auto; + margin-right: auto; +} +.swiper { + position: relative; + overflow: hidden; + list-style: none; + z-index: 1; + display: block; + margin-left: auto; + margin-right: auto; + padding: 0; +} +.swiper-vertical > .swiper-wrapper { + flex-direction: column; +} +.swiper-wrapper { + position: relative; + z-index: 1; + display: flex; + transition-property: transform; + transition-timing-function: var( + --swiper-wrapper-transition-timing-function, + initial + ); + box-sizing: content-box; + width: 100%; + height: 100%; +} +.swiper-android .swiper-slide, +.swiper-ios .swiper-slide, +.swiper-wrapper { + transform: translate(0, 0); +} +.swiper-horizontal { + touch-action: pan-y; +} +.swiper-vertical { + touch-action: pan-x; +} +.swiper-slide { + position: relative; + display: block; + flex-shrink: 0; + width: 100%; + height: 100%; + transition-property: transform; +} +.swiper-slide-invisible-blank { + visibility: hidden; +} +.swiper-autoheight, +.swiper-autoheight .swiper-slide { + height: auto; +} +.swiper-autoheight .swiper-wrapper { + align-items: flex-start; + transition-property: transform, height; +} +.swiper-backface-hidden .swiper-slide { + backface-visibility: hidden; + transform: translateZ(0); +} +.swiper-3d.swiper-css-mode .swiper-wrapper { + perspective: 1200px; +} +.swiper-3d .swiper-wrapper { + transform-style: preserve-3d; +} +.swiper-3d { + perspective: 1200px; +} +.swiper-3d .swiper-slide { + transform-style: preserve-3d; +} +.swiper-3d .swiper-cube-shadow { + transform-style: preserve-3d; +} +.swiper-css-mode > .swiper-wrapper { + overflow: auto; + scrollbar-width: none; + -ms-overflow-style: none; +} +.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar { + display: none; +} +.swiper-css-mode > .swiper-wrapper > .swiper-slide { + scroll-snap-align: start start; +} +.swiper-css-mode.swiper-horizontal > .swiper-wrapper { + scroll-snap-type: x mandatory; +} +.swiper-css-mode.swiper-horizontal + > .swiper-wrapper + > .swiper-slide:first-child { + margin-inline-start: var(--swiper-slides-offset-before); + scroll-margin-inline-start: var(--swiper-slides-offset-before); +} +.swiper-css-mode.swiper-horizontal + > .swiper-wrapper + > .swiper-slide:last-child { + margin-inline-end: var(--swiper-slides-offset-after); +} +.swiper-css-mode.swiper-vertical > .swiper-wrapper { + scroll-snap-type: y mandatory; +} +.swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child { + margin-block-start: var(--swiper-slides-offset-before); + scroll-margin-block-start: var(--swiper-slides-offset-before); +} +.swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:last-child { + margin-block-end: var(--swiper-slides-offset-after); +} +.swiper-css-mode.swiper-free-mode > .swiper-wrapper { + scroll-snap-type: none; +} +.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide { + scroll-snap-align: none; +} +.swiper-css-mode.swiper-centered > .swiper-wrapper:before { + content: ""; + flex-shrink: 0; + order: 9999; +} +.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide { + scroll-snap-align: center center; + scroll-snap-stop: always; +} +.swiper-css-mode.swiper-centered.swiper-horizontal + > .swiper-wrapper + > .swiper-slide:first-child { + margin-inline-start: var(--swiper-centered-offset-before); +} +.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before { + width: var(--swiper-centered-offset-after); + height: 100%; + min-height: 1px; +} +.swiper-css-mode.swiper-centered.swiper-vertical + > .swiper-wrapper + > .swiper-slide:first-child { + margin-block-start: var(--swiper-centered-offset-before); +} +.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before { + height: var(--swiper-centered-offset-after); + width: 100%; + min-width: 1px; +} +.swiper-3d .swiper-slide-shadow { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-left { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-right { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-top { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-bottom { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-left { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-right { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-top { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow-bottom { + position: absolute; + pointer-events: none; + z-index: 10; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.swiper-3d .swiper-slide-shadow { + background: #00000026; +} +.swiper-3d .swiper-slide-shadow-left { + background-image: linear-gradient(270deg, #00000080, #0000); +} +.swiper-3d .swiper-slide-shadow-right { + background-image: linear-gradient(90deg, #00000080, #0000); +} +.swiper-3d .swiper-slide-shadow-top { + background-image: linear-gradient(#0000, #00000080); +} +.swiper-3d .swiper-slide-shadow-bottom { + background-image: linear-gradient(#00000080, #0000); +} +.swiper-lazy-preloader { + position: absolute; + z-index: 10; + transform-origin: 50%; + box-sizing: border-box; + border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color)); + border-top-color: #0000; + border-radius: 50%; + width: 42px; + height: 42px; + margin-top: -21px; + margin-left: -21px; + top: 50%; + left: 50%; +} +:is( + .swiper:not(.swiper-watch-progress), + .swiper-watch-progress .swiper-slide-visible + ) + .swiper-lazy-preloader { + animation: 1s linear infinite swiper-preloader-spin; +} +.swiper-lazy-preloader-white { + --swiper-preloader-color: #fff; +} +.swiper-lazy-preloader-black { + --swiper-preloader-color: #000; +} +@keyframes swiper-preloader-spin { + 0% { + transform: rotate(0); + } + to { + transform: rotate(360deg); + } +} +.swiper-zoom-container { + display: flex; + text-align: center; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; +} +.swiper-zoom-container > img { + object-fit: contain; + max-width: 100%; + max-height: 100%; +} +.swiper-zoom-container > svg { + object-fit: contain; + max-width: 100%; + max-height: 100%; +} +.swiper-zoom-container > canvas { + object-fit: contain; + max-width: 100%; + max-height: 100%; +} +.swiper-slide-zoomed { + cursor: move; + touch-action: none; +} +.swiper-virtual .swiper-slide { + -webkit-backface-visibility: hidden; + transform: translateZ(0); +} +.swiper-virtual.swiper-css-mode .swiper-wrapper:after { + content: ""; + position: absolute; + pointer-events: none; + top: 0; + left: 0; +} +.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after { + width: var(--swiper-virtual-size); + height: 1px; +} +.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after { + height: var(--swiper-virtual-size); + width: 1px; +} diff --git a/apps/aphrody-app/ui-dist/app.js b/apps/aphrody-app/ui-dist/app.js index 5a7c24da30..f927aeba9a 100644 --- a/apps/aphrody-app/ui-dist/app.js +++ b/apps/aphrody-app/ui-dist/app.js @@ -1,4 +1,22862 @@ -var ACn=Object.create;var{getPrototypeOf:wCn,defineProperty:NK,getOwnPropertyNames:SCn}=Object;var $We=Object.prototype.hasOwnProperty;function CCn(e){return this[e]}var ECn,ICn,z=(e,t,n)=>{var r=e!=null&&typeof e==="object";if(r){var o=t?ECn??=new WeakMap:ICn??=new WeakMap,a=o.get(e);if(a)return a}n=e!=null?ACn(wCn(e)):{};let i=t||!e||!e.__esModule||!$We.call(e,"default")?NK(n,"default",{value:e,enumerable:!0}):n;if(e&&typeof e==="object"||typeof e==="function"){for(let s of SCn(e))if(!$We.call(i,s))NK(i,s,{get:CCn.bind(e,s),enumerable:!0})}if(r)o.set(e,i);return i};var me=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var TCn=(e)=>e;function kCn(e,t){this[e]=TCn.bind(null,t)}var Xs=(e,t)=>{for(var n in t)NK(e,n,{get:t[n],enumerable:!0,configurable:!0,set:kCn.bind(t,n)})};var P=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};var RCn=(e,t,n)=>{for(var r in t)NK(e,r,{get:t[r],set:n[r],enumerable:!0,configurable:!0})};var re=me(function(XCn){var hve=Symbol.for("react.transitional.element"),PCn=Symbol.for("react.portal"),MCn=Symbol.for("react.fragment"),DCn=Symbol.for("react.strict_mode"),LCn=Symbol.for("react.profiler"),BCn=Symbol.for("react.consumer"),OCn=Symbol.for("react.context"),FCn=Symbol.for("react.forward_ref"),UCn=Symbol.for("react.suspense"),NCn=Symbol.for("react.memo"),oYe=Symbol.for("react.lazy"),zCn=Symbol.for("react.activity"),_Cn=Symbol.for("react.view_transition"),eYe=Symbol.iterator;function HCn(e){if(e===null||typeof e!=="object")return null;return e=eYe&&e[eYe]||e["@@iterator"],typeof e==="function"?e:null}var aYe={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},iYe=Object.assign,sYe={};function Xk(e,t,n){this.props=e,this.context=t,this.refs=sYe,this.updater=n||aYe}Xk.prototype.isReactComponent={};Xk.prototype.setState=function(e,t){if(typeof e!=="object"&&typeof e!=="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Xk.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function lYe(){}lYe.prototype=Xk.prototype;function gve(e,t,n){this.props=e,this.context=t,this.refs=sYe,this.updater=n||aYe}var yve=gve.prototype=new lYe;yve.constructor=gve;iYe(yve,Xk.prototype);yve.isPureReactComponent=!0;var tYe=Array.isArray;function mve(){}var Is={H:null,A:null,T:null,S:null},cYe=Object.prototype.hasOwnProperty;function vve(e,t,n){var r=n.ref;return{$$typeof:hve,type:e,key:t,ref:r!==void 0?r:null,props:n}}function VCn(e,t){return vve(e.type,t,e.props)}function bve(e){return typeof e==="object"&&e!==null&&e.$$typeof===hve}function GCn(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var nYe=/\/+/g;function fve(e,t){return typeof e==="object"&&e!==null&&e.key!=null?GCn(""+e.key):t.toString(36)}function qCn(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status==="string"?e.then(mve,mve):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Qk(e,t,n,r,o){var a=typeof e;if(a==="undefined"||a==="boolean")e=null;var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case hve:case PCn:i=!0;break;case oYe:return i=e._init,Qk(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+fve(e,0):r,tYe(o)?(n="",i!=null&&(n=i.replace(nYe,"$&/")+"/"),Qk(o,t,n,"",function(c){return c})):o!=null&&(bve(o)&&(o=VCn(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(nYe,"$&/")+"/")+i)),t.push(o)),1;i=0;var s=r===""?".":r+":";if(tYe(e))for(var l=0;l>>1,o=e[r];if(0<_K(o,t))e[r]=t,e[n]=o,n=r;else break e}}function jv(e){return e.length===0?null:e[0]}function qK(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r_K(s,n))l_K(c,s)?(e[r]=c,e[l]=n,r=l):(e[r]=s,e[i]=n,r=i);else if(l_K(c,n))e[r]=c,e[l]=n,r=l;else break e}}return t}function _K(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Kk.unstable_now=void 0;if(typeof performance==="object"&&typeof performance.now==="function")wve=performance,Kk.unstable_now=function(){return wve.now()};else HK=Date,Sve=HK.now(),Kk.unstable_now=function(){return HK.now()-Sve};var wve,HK,Sve,RA=[],QS=[],N5n=1,x1=null,tm=3,Cve=!1,EF=!1,IF=!1,Ive=!1,fYe=typeof setTimeout==="function"?setTimeout:null,mYe=typeof clearTimeout==="function"?clearTimeout:null,pYe=typeof setImmediate<"u"?setImmediate:null;function VK(e){for(var t=jv(QS);t!==null;){if(t.callback===null)qK(QS);else if(t.startTime<=e)qK(QS),t.sortIndex=t.expirationTime,Ave(RA,t);else break;t=jv(QS)}}function Tve(e){if(IF=!1,VK(e),!EF)if(jv(RA)!==null)EF=!0,Yk||(Yk=!0,Wk());else{var t=jv(QS);t!==null&&kve(Tve,t.startTime-e)}}var Yk=!1,TF=-1,hYe=5,gYe=-1;function yYe(){return Ive?!0:Kk.unstable_now()-gYee&&yYe());){var r=x1.callback;if(typeof r==="function"){x1.callback=null,tm=x1.priorityLevel;var o=r(x1.expirationTime<=e);if(e=Kk.unstable_now(),typeof o==="function"){x1.callback=o,VK(e),t=!0;break t}x1===jv(RA)&&qK(RA),VK(e)}else qK(RA);x1=jv(RA)}if(x1!==null)t=!0;else{var a=jv(QS);a!==null&&kve(Tve,a.startTime-e),t=!1}}break e}finally{x1=null,tm=n,Cve=!1}t=void 0}}finally{t?Wk():Yk=!1}}}var Wk;if(typeof pYe==="function")Wk=function(){pYe(xve)};else if(typeof MessageChannel<"u")GK=new MessageChannel,Eve=GK.port2,GK.port1.onmessage=xve,Wk=function(){Eve.postMessage(null)};else Wk=function(){fYe(xve,0)};var GK,Eve;function kve(e,t){TF=fYe(function(){e(Kk.unstable_now())},t)}Kk.unstable_IdlePriority=5;Kk.unstable_ImmediatePriority=1;Kk.unstable_LowPriority=4;Kk.unstable_NormalPriority=3;Kk.unstable_Profiling=null;Kk.unstable_UserBlockingPriority=2;Kk.unstable_cancelCallback=function(e){e.callback=null};Kk.unstable_forceFrameRate=function(e){0>e||125r?(e.sortIndex=n,Ave(QS,e),jv(RA)===null&&e===jv(QS)&&(IF?(mYe(TF),TF=-1):IF=!0,kve(Tve,n-r))):(e.sortIndex=o,Ave(RA,e),EF||Cve||(EF=!0,Yk||(Yk=!0,Wk()))),e};Kk.unstable_shouldYield=yYe;Kk.unstable_wrapCallback=function(e){var t=tm;return function(){var n=tm;tm=t;try{return e.apply(this,arguments)}finally{tm=n}}}});function xYe(e){var t="https://react.dev/errors/"+e;if(1{bYe=z(re());kF={d:{f:WS,r:function(){throw Error(xYe(522))},D:WS,C:WS,L:WS,m:WS,X:WS,S:WS,M:WS},p:0,findDOMNode:null},e8n=Symbol.for("react.portal"),vYe=Symbol.for("react.optimistic_key");Rve=bYe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;Pve=kF});function wYe(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=="function")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(wYe)}catch(e){console.error(e)}}var bd=P(()=>{AYe();wYe()});function pTn(e,t){this[e]=dTn.bind(null,t)}function AAe(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}class Cj{plugin;event;channelId;constructor(e,t,n){this.plugin=e,this.event=t,this.channelId=n}async unregister(){return m2(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}}async function hTn(e,t,n){let r=new wAe(n);try{return await m2(`plugin:${e}|register_listener`,{event:t,handler:r}),new Cj(e,t,r.id)}catch{return await m2(`plugin:${e}|registerListener`,{event:t,handler:r}),new Cj(e,t,r.id)}}async function gTn(e){return m2(`plugin:${e}|check_permissions`)}async function yTn(e){return m2(`plugin:${e}|request_permissions`)}async function m2(e,t={},n){return window.__TAURI_INTERNALS__.invoke(e,t,n)}function vTn(e,t="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,t)}function bTn(){return!!(globalThis||window).isTauri}async function oet(e,t){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,t),await m2("plugin:event|unlisten",{event:e,eventId:t})}async function pb(e,t,n){let r=typeof n?.target==="string"?{kind:"AnyLabel",label:n.target}:n?.target??{kind:"Any"};return m2("plugin:event|listen",{event:e,target:r,handler:AAe(t)}).then((o)=>async()=>oet(e,o))}async function xTn(e,t,n){return pb(e,(r)=>{oet(e,r.id),t(r)},n)}async function ATn(e,t){await m2("plugin:event|emit",{event:e,payload:t})}async function SAe(e,t,n){await m2("plugin:event|emit_to",{target:typeof e==="string"?{kind:"AnyLabel",label:e}:e,event:t,payload:n})}var uTn,dTn=(e)=>e,tet=(e,t)=>{for(var n in t)uTn(e,n,{get:t[n],enumerable:!0,configurable:!0,set:pTn.bind(t,n)})},fTn,mTn,xAe="__TAURI_TO_IPC_KEY__",wAe,net,ret;var ZR=P(()=>{uTn=Object.defineProperty;fTn={};tet(fTn,{TauriEvent:()=>ret,emit:()=>ATn,emitTo:()=>SAe,listen:()=>pb,once:()=>xTn});mTn={};tet(mTn,{Channel:()=>wAe,PluginListener:()=>Cj,Resource:()=>net,SERIALIZE_TO_IPC_FN:()=>xAe,addPluginListener:()=>hTn,checkPermissions:()=>gTn,convertFileSrc:()=>vTn,invoke:()=>m2,isTauri:()=>bTn,requestPermissions:()=>yTn,transformCallback:()=>AAe});wAe=class wAe{id;#e;#t=0;#n=[];#r;constructor(e){this.#e=e||(()=>{}),this.id=AAe((t)=>{let n=t.index;if("end"in t){if(n==this.#t)this.cleanupCallback();else this.#r=n;return}let r=t.message;if(n==this.#t){this.#e(r),this.#t+=1;while(this.#t in this.#n){let o=this.#n[this.#t];this.#e(o),delete this.#n[this.#t],this.#t+=1}if(this.#t===this.#r)this.cleanupCallback()}else this.#n[n]=r})}cleanupCallback(){window.__TAURI_INTERNALS__.unregisterCallback(this.id)}set onmessage(e){this.#e=e}get onmessage(){return this.#e}[xAe](){return`__CHANNEL__:${this.id}`}toJSON(){return this[xAe]()}};net=class net{#e;get rid(){return this.#e}constructor(e){this.#e=e}async close(){return m2("plugin:resources|close",{rid:this.rid})}async[Symbol.asyncDispose](){await this.close()}};((e)=>{e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WINDOW_SUSPENDED="tauri://suspended",e.WINDOW_RESUMED="tauri://resumed",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"})(ret||={})});var CAe;var EAe=P(()=>{CAe=["CoreStarted","CoreShutdown","LibraryCreated","LibraryOpened","LibraryClosed","LibraryDeleted","LibraryStatisticsUpdated","EntryCreated","EntryModified","EntryDeleted","EntryMoved","FsRawChange","VolumeAdded","VolumeRemoved","VolumeUpdated","VolumeSpeedTested","VolumeMountChanged","VolumeError","JobQueued","JobStarted","JobProgress","JobCompleted","JobFailed","JobCancelled","JobPaused","JobResumed","IndexingStarted","IndexingCompleted","IndexingFailed","DeviceConnected","DeviceDisconnected","ResourceChanged","ResourceChangedBatch","ResourceDeleted","LocationAdded","LocationRemoved","FilesIndexed","ThumbnailsGenerated","FileOperationCompleted","FilesModified"]});class Ej{eventName;scopedEvents;invoke;listen;constructor(e,t,n="core-event",r=!1){this.eventName=n;this.scopedEvents=r;this.invoke=e,this.listen=t}async sendRequest(e){return await this.invoke("daemon_request",{request:e})}async subscribe(e,t){let n={eventTypes:t?.event_types??CAe,filter:t?.filter??null},r,o=[],a=await this.listen(this.eventName,(i)=>{let s=i.payload;if(!this.scopedEvents){e(s);return}if(r===void 0){o.push(s);return}if(s?.subscription_id===r)e(s.event)});try{if(r=await this.invoke("subscribe_to_events",n),this.scopedEvents){for(let i of o)if(i?.subscription_id===r)e(i.event);o.length=0}}catch(i){throw a(),i}return async()=>{a();try{await this.invoke("unsubscribe_from_events",{subscriptionId:r})}catch(i){console.warn("[TauriTransport] Failed to unsubscribe:",i)}}}}class Ij{baseUrl;sharedSource=null;sharedCallbacks=new Set;constructor(e=""){this.baseUrl=e.replace(/\/$/,"")}async sendRequest(e){let t=await fetch(`${this.baseUrl}/rpc`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){let n=await t.text().catch(()=>"");throw Error(`RPC ${t.status} ${t.statusText}${n?`: ${n}`:""}`)}return await t.json()}async subscribe(e,t){return this.sharedCallbacks.add(e),this.ensureSharedSource(),()=>{if(this.sharedCallbacks.delete(e),this.sharedCallbacks.size===0&&this.sharedSource)this.sharedSource.close(),this.sharedSource=null}}ensureSharedSource(){if(this.sharedSource)return;let t=new globalThis.EventSource(`${this.baseUrl}/events`);t.onmessage=(n)=>{let r;try{r=JSON.parse(n.data)}catch(a){console.error("[HttpTransport] Failed to parse SSE event:",a);return}if(!r||typeof r!=="object")return;let o;if(r.Event!==void 0)o=r.Event;else if(r.LogMessage!==void 0)o=r.LogMessage;else return;for(let a of this.sharedCallbacks)try{a(o)}catch(i){console.error("[HttpTransport] Subscriber callback threw:",i)}},t.onerror=(n)=>{console.warn("[HttpTransport] SSE connection error",n)},this.sharedSource=t}}var IAe=P(()=>{EAe()});class Tj{subscriptions=new Map;pendingSubscriptions=new Map;transport;constructor(e){this.transport=e}getFilterKey(e){return JSON.stringify({library_id:e.library_id??null,resource_type:e.resource_type??null,path_scope:e.path_scope??null,include_descendants:e.include_descendants??!1,event_types:e.event_types??[]})}async subscribe(e,t){let n=this.getFilterKey(e),r=this.subscriptions.get(n);if(r)return console.log(`[SubscriptionManager] Reusing existing subscription for key: ${n}, refCount: ${r.refCount} -> ${r.refCount+1}`),r.listeners.add(t),r.refCount++,this.createCleanup(n,t);let o=this.pendingSubscriptions.get(n);if(o)return console.log(`[SubscriptionManager] Waiting for pending subscription: ${n}`),r=await o,r.listeners.add(t),r.refCount++,this.createCleanup(n,t);console.log(`[SubscriptionManager] Creating new subscription for key: ${n}`);let a=this.createSubscription(n,e,t);this.pendingSubscriptions.set(n,a);try{return r=await a,r.refCount++,console.log(`[SubscriptionManager] New subscription created, refCount: ${r.refCount}`),this.createCleanup(n,t)}finally{this.pendingSubscriptions.delete(n)}}async createSubscription(e,t,n){let r=t.event_types??["ResourceChanged","ResourceChangedBatch","ResourceDeleted","Refresh"],o={unsubscribe:()=>{},listeners:new Set([n]),refCount:0};this.subscriptions.set(e,o);let a=await this.transport.subscribe((i)=>{let s=this.subscriptions.get(e);if(s)s.listeners.forEach((l)=>l(i))},{event_types:r,filter:{resource_type:t.resource_type,path_scope:t.path_scope,library_id:t.library_id,include_descendants:t.include_descendants}});return o.unsubscribe=a,o}createCleanup(e,t){return()=>{let n=this.subscriptions.get(e);if(!n){console.log(`[SubscriptionManager] Cleanup called but entry not found for key: ${e}`);return}if(n.listeners.delete(t),n.refCount--,console.log(`[SubscriptionManager] Cleanup called for key: ${e}, refCount: ${n.refCount+1} -> ${n.refCount}`),n.refCount===0)console.log(`[SubscriptionManager] RefCount reached 0, unsubscribing from key: ${e}`),n.unsubscribe(),this.subscriptions.delete(e)}}getStats(){return{activeSubscriptions:this.subscriptions.size,subscriptions:Array.from(this.subscriptions.entries()).map(([e,t])=>({key:e,refCount:t.refCount,listenerCount:t.listeners.size}))}}destroy(){console.log(`[SubscriptionManager] Destroying ${this.subscriptions.size} subscriptions`),this.subscriptions.forEach((e)=>e.unsubscribe()),this.subscriptions.clear()}}var QR;var PU=P(()=>{QR={coreActions:{"config.app.update":"action:config.app.update.input","core.ephemeral_reset":"action:core.ephemeral_reset.input","core.reset":"action:core.reset.input","device.update":"action:device.update.input","libraries.create":"action:libraries.create.input","libraries.delete":"action:libraries.delete.input","libraries.open":"action:libraries.open.input","models.whisper.delete":"action:models.whisper.delete.input","models.whisper.download":"action:models.whisper.download.input","network.device.revoke":"action:network.device.revoke.input","network.pair.cancel":"action:network.pair.cancel.input","network.pair.confirmProxy":"action:network.pair.confirmProxy.input","network.pair.generate":"action:network.pair.generate.input","network.pair.join":"action:network.pair.join.input","network.pair.vouch":"action:network.pair.vouch.input","network.spacedrop.send":"action:network.spacedrop.send.input","network.start":"action:network.start.input","network.stop":"action:network.stop.input","network.sync_setup":"action:network.sync_setup.input"},libraryActions:{"adapters.update":"action:adapters.update.input","config.library.update":"action:config.library.update.input","files.copy":"action:files.copy.input","files.createFolder":"action:files.createFolder.input","files.delete":"action:files.delete.input","files.rename":"action:files.rename.input","indexing.start":"action:indexing.start.input","indexing.verify":"action:indexing.verify.input","jobs.cancel":"action:jobs.cancel.input","jobs.pause":"action:jobs.pause.input","jobs.resume":"action:jobs.resume.input","libraries.export":"action:libraries.export.input","libraries.rename":"action:libraries.rename.input","locations.add":"action:locations.add.input","locations.enable_indexing":"action:locations.enable_indexing.input","locations.export":"action:locations.export.input","locations.import":"action:locations.import.input","locations.remove":"action:locations.remove.input","locations.rescan":"action:locations.rescan.input","locations.triggerJob":"action:locations.triggerJob.input","locations.update":"action:locations.update.input","media.ocr.extract":"action:media.ocr.extract.input","media.proxy.generate":"action:media.proxy.generate.input","media.speech.transcribe":"action:media.speech.transcribe.input","media.splat.generate":"action:media.splat.generate.input","media.thumbnail":"action:media.thumbnail.input","media.thumbnail.regenerate":"action:media.thumbnail.regenerate.input","media.thumbstrip.generate":"action:media.thumbstrip.generate.input","sources.create":"action:sources.create.input","sources.delete":"action:sources.delete.input","sources.sync":"action:sources.sync.input","spaces.add_group":"action:spaces.add_group.input","spaces.add_item":"action:spaces.add_item.input","spaces.create":"action:spaces.create.input","spaces.delete":"action:spaces.delete.input","spaces.delete_group":"action:spaces.delete_group.input","spaces.delete_item":"action:spaces.delete_item.input","spaces.reorder_groups":"action:spaces.reorder_groups.input","spaces.reorder_items":"action:spaces.reorder_items.input","spaces.update":"action:spaces.update.input","spaces.update_group":"action:spaces.update_group.input","tags.apply":"action:tags.apply.input","tags.create":"action:tags.create.input","tags.delete":"action:tags.delete.input","tags.unapply":"action:tags.unapply.input","volumes.add_cloud":"action:volumes.add_cloud.input","volumes.eject":"action:volumes.eject.input","volumes.index":"action:volumes.index.input","volumes.refresh":"action:volumes.refresh.input","volumes.remove_cloud":"action:volumes.remove_cloud.input","volumes.speed_test":"action:volumes.speed_test.input","volumes.track":"action:volumes.track.input","volumes.untrack":"action:volumes.untrack.input"},coreQueries:{"config.app.get":"query:config.app.get","core.ephemeral_status":"query:core.ephemeral_status","core.events.list":"query:core.events.list","core.status":"query:core.status","jobs.remote.all_devices":"query:jobs.remote.all_devices","jobs.remote.for_device":"query:jobs.remote.for_device","libraries.list":"query:libraries.list","models.whisper.list":"query:models.whisper.list","network.devices.list":"query:network.devices.list","network.pair.status":"query:network.pair.status","network.pair.vouching_session":"query:network.pair.vouching_session","network.status":"query:network.status","network.sync_setup.discover":"query:network.sync_setup.discover"},libraryQueries:{"adapters.config":"query:adapters.config","adapters.list":"query:adapters.list","config.library.get":"query:config.library.get","devices.list":"query:devices.list","files.alternate_instances":"query:files.alternate_instances","files.by_id":"query:files.by_id","files.by_path":"query:files.by_path","files.by_tag":"query:files.by_tag","files.content_kind_stats":"query:files.content_kind_stats","files.directory_listing":"query:files.directory_listing","files.media_listing":"query:files.media_listing","files.unique_to_location":"query:files.unique_to_location","jobs.active":"query:jobs.active","jobs.get_copy_metadata":"query:jobs.get_copy_metadata","jobs.info":"query:jobs.info","jobs.list":"query:jobs.list","libraries.info":"query:libraries.info","locations.list":"query:locations.list","locations.suggested":"query:locations.suggested","locations.validate_path":"query:locations.validate_path","redundancy.summary":"query:redundancy.summary","search.files":"query:search.files","sources.get":"query:sources.get","sources.list":"query:sources.list","sources.list_items":"query:sources.list_items","spaces.get":"query:spaces.get","spaces.get_layout":"query:spaces.get_layout","spaces.list":"query:spaces.list","sync.activity":"query:sync.activity","sync.eventLog":"query:sync.eventLog","sync.metrics":"query:sync.metrics","sync.partners":"query:sync.partners","tags.ancestors":"query:tags.ancestors","tags.by_id":"query:tags.by_id","tags.children":"query:tags.children","tags.search":"query:tags.search","test.ping":"query:test.ping","volumes.list":"query:volumes.list"}}});class aet{listeners=new Map;on(e,t){if(!this.listeners.has(e))this.listeners.set(e,new Set);this.listeners.get(e).add(t)}emit(e,...t){let n=this.listeners.get(e);if(n)n.forEach((r)=>r(...t))}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};this.on(e,n)}off(e,t){let n=this.listeners.get(e);if(n)n.delete(t)}}var XR;var iet=P(()=>{IAe();PU();XR=class XR extends aet{transport;currentLibraryId=null;subscriptionManager;constructor(e){super();this.transport=e,this.subscriptionManager=new Tj(e)}static fromTauri(e,t){let n=new XR(new Ej(e,t));return n.setupEventLogging(),n}setupEventLogging(){}getCurrentLibraryId(){return this.currentLibraryId}setCurrentLibrary(e,t=!0){if(this.currentLibraryId=e,t)this.emit("library-changed",e)}clearCurrentLibrary(){this.currentLibraryId=null}async switchToLibrary(e){if(!(await this.execute("query:libraries.list",{})).some((r)=>r.id===e))throw Error(`Library with ID '${e}' not found`);this.setCurrentLibrary(e)}async getCurrentLibraryInfo(){let e=this.getCurrentLibraryId();if(!e)return null;return(await this.execute("query:libraries.list",{})).find((n)=>n.id===e)??null}requireCurrentLibrary(){let e=this.getCurrentLibraryId();if(!e)throw Error("This operation requires an active library. Use switchToLibrary() first.");return e}async execute(e,t,n={}){let r=e.startsWith("query:"),o=e.startsWith("action:");if(!r&&!o)throw Error(`Invalid wire method: ${e}`);let a=r?{Query:{method:e,library_id:n.libraryContext===!1?null:this.currentLibraryId,payload:t}}:{Action:{method:e,library_id:n.libraryContext===!1?null:this.currentLibraryId,payload:t}},i=await this.transport.sendRequest(a);if("JsonOk"in i)return i.JsonOk;else if("json"in i)return i.json;else if("Error"in i||"error"in i){let s=i.Error||i.error;throw Error(`${r?"Query":"Action"} failed: ${JSON.stringify(s)}`)}else throw Error(`Unexpected response: ${JSON.stringify(i)}`)}async subscribe(e){return await this.transport.subscribe((n)=>{if(e)e(n)})}async subscribeFiltered(e,t){return this.subscriptionManager.subscribe(e,t)}getSubscriptionStats(){return this.subscriptionManager.getStats()}destroy(){this.subscriptionManager.destroy(),this.transport.destroy?.()}async ping(){let e=await this.transport.sendRequest("Ping");if(e==="Pong")console.log("Ping successful!");else throw Error(`Unexpected ping response: ${JSON.stringify(e)}`)}}});function set(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:wTn,type:e,key:r,ref:t!==void 0?t:null,props:n}}var wTn,STn,Ht,h,M;var le=P(()=>{wTn=Symbol.for("react.transitional.element"),STn=Symbol.for("react.fragment");Ht=STn,h=set,M=set});var WR,TAe,th=(e)=>{let t=WR.useContext(TAe);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},kAe=({client:e,children:t})=>(WR.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),h(TAe.Provider,{value:e,children:t}));var kj=P(()=>{le();WR=z(re(),1),TAe=WR.createContext(void 0)});var Rj,cet,uet=()=>Rj.useContext(cet),EGr;var det=P(()=>{Rj=z(re(),1),cet=Rj.createContext(!1),EGr=cet.Provider});function CTn(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var MU,ETn,pet=()=>MU.useContext(ETn);var fet=P(()=>{le();MU=z(re(),1);ETn=MU.createContext(CTn())});function met(e){setTimeout(e,0)}var ITn,TTn=class{#e=ITn;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}},fb;var DU=P(()=>{ITn={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:(e)=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:(e)=>clearInterval(e)},fb=new TTn});function Nl(){}function yet(e,t){return typeof e==="function"?e(t):e}function Pj(e){return typeof e==="number"&&e>=0&&e!==1/0}function Mj(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ys(e,t){return typeof e==="function"?e(t):e}function Dj(e,t){let{type:n="all",exact:r,fetchStatus:o,predicate:a,queryKey:i,stale:s}=e;if(i){if(r){if(t.queryHash!==LU(i,t.options))return!1}else if(!w4(t.queryKey,i))return!1}if(n!=="all"){let l=t.isActive();if(n==="active"&&!l)return!1;if(n==="inactive"&&l)return!1}if(typeof s==="boolean"&&t.isStale()!==s)return!1;if(o&&o!==t.state.fetchStatus)return!1;if(a&&!a(t))return!1;return!0}function Lj(e,t){let{exact:n,status:r,predicate:o,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(mb(t.options.mutationKey)!==mb(a))return!1}else if(!w4(t.options.mutationKey,a))return!1}if(r&&t.state.status!==r)return!1;if(o&&!o(t))return!1;return!0}function LU(e,t){return(t?.queryKeyHashFn||mb)(e)}function mb(e){return JSON.stringify(e,(t,n)=>RAe(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function w4(e,t){if(e===t)return!0;if(typeof e!==typeof t)return!1;if(e&&t&&typeof e==="object"&&typeof t==="object"){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let r=0;r500)return t;let r=het(e)&&het(t);if(!r&&!(RAe(e)&&RAe(t)))return t;let o=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),i=a.length,s=r?Array(i):{},l=0;for(let c=0;c{fb.setTimeout(t,e)})}function BU(e,t,n){if(typeof n.structuralSharing==="function")return n.structuralSharing(e,t);else if(n.structuralSharing!==!1)return MAe(e,t);return t}function bet(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function xet(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}function Bj(e,t){if(!e.queryFn&&t?.initialPromise)return()=>t.initialPromise;if(!e.queryFn||e.queryFn===KR)return()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`));return e.queryFn}function JR(e,t){if(typeof e==="function")return e(...t);return!!e}function Aet(e,t,n){let r=!1,o;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>{if(o??=t(),r)return o;if(r=!0,o.aborted)n();else o.addEventListener("abort",n,{once:!0});return o}}),e}var PAe,kTn,KR;var M1=P(()=>{DU();PAe=typeof window>"u"||"Deno"in globalThis;kTn=Object.prototype.hasOwnProperty;KR=Symbol()});var RTn=()=>PAe,jR=()=>RTn();var Oj=P(()=>{M1()});var D1=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var B8=()=>{};var PTn,$R;var Fj=P(()=>{B8();PTn=class extends D1{#e;#t;#n;constructor(){super();this.#n=(e)=>{if(typeof window<"u"&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){if(!this.#t)this.setEventListener(this.#n)}onUnsubscribe(){if(!this.hasListeners())this.#t?.(),this.#t=void 0}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e((t)=>{if(typeof t==="boolean")this.setFocused(t);else this.onFocus()})}setFocused(e){if(this.#e!==e)this.#e=e,this.onFocus()}onFocus(){let e=this.isFocused();this.listeners.forEach((t)=>{t(e)})}isFocused(){if(typeof this.#e==="boolean")return this.#e;return globalThis.document?.visibilityState!=="hidden"}},$R=new PTn});function MTn(){let e=[],t=0,n=(s)=>{s()},r=(s)=>{s()},o=wet,a=(s)=>{if(t)e.push(s);else o(()=>{n(s)})},i=()=>{let s=e;if(e=[],s.length)o(()=>{r(()=>{s.forEach((l)=>{n(l)})})})};return{batch:(s)=>{let l;t++;try{l=s()}finally{if(t--,!t)i()}return l},batchCalls:(s)=>(...l)=>{a(()=>{s(...l)})},schedule:a,setNotifyFunction:(s)=>{n=s},setBatchNotifyFunction:(s)=>{r=s},setScheduler:(s)=>{o=s}}}var wet,qi;var QA=P(()=>{DU();wet=met;qi=MTn()});var DTn,eP;var DAe=P(()=>{B8();DTn=class extends D1{#e=!0;#t;#n;constructor(){super();this.#n=(e)=>{if(typeof window<"u"&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}}}}onSubscribe(){if(!this.#t)this.setEventListener(this.#n)}onUnsubscribe(){if(!this.hasListeners())this.#t?.(),this.#t=void 0}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){if(this.#e!==e)this.#e=e,this.listeners.forEach((t)=>{t(e)})}isOnline(){return this.#e}},eP=new DTn});function LTn(e){return Math.min(1000*2**e,30000)}function LAe(e){return(e??"online")==="online"?eP.isOnline():!0}function Nj(e){let t=!1,n=0,r,o="pending",a,i,s=new Promise((x,A)=>{a=x,i=A});s.catch(Nl);let l=()=>o!=="pending",c=(x)=>{if(!l()){let A=new Uj(x);g(A),e.onCancel?.(A)}},u=()=>{t=!0},d=()=>{t=!1},p=()=>$R.isFocused()&&(e.networkMode==="always"||eP.isOnline())&&e.canRun(),f=()=>LAe(e.networkMode)&&e.canRun(),m=(x)=>{if(!l())r?.(),o="resolved",a(x)},g=(x)=>{if(!l())r?.(),o="rejected",i(x)},v=()=>new Promise((x)=>{r=(A)=>{if(l()||p())x(A)},e.onPause?.()}).then(()=>{if(r=void 0,!l())e.onContinue?.()}),y=()=>{if(l())return;let x,A=n===0?e.initialPromise:void 0;try{x=A??e.fn()}catch(w){x=Promise.reject(w)}Promise.resolve(x).then(m).catch((w)=>{if(l())return;let C=e.retry??(jR()?0:3),E=e.retryDelay??LTn,T=typeof E==="function"?E(n,w):E,I=C===!0||typeof C==="number"&&np()?void 0:v()).then(()=>{if(t)g(w);else y()})})};return{promise:s,status:()=>o,cancel:c,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:f,start:()=>{if(f())y();else v().then(y);return s}}}var Uj;var BAe=P(()=>{M1();Oj();Fj();DAe();Uj=class extends Error{constructor(e){super("CancelledError");this.revert=e?.revert,this.silent=e?.silent}}});var zj=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){if(this.clearGcTimeout(),Pj(this.gcTime))this.#e=fb.setTimeout(()=>{this.optionalRemove()},this.gcTime)}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(jR()?1/0:300000))}clearGcTimeout(){if(this.#e!==void 0)fb.clearTimeout(this.#e),this.#e=void 0}};var OAe=P(()=>{DU();M1();Oj()});function Eet(e){return{onFetch:(t,n)=>{let r=t.options,o=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],i=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},l=0,c=async()=>{let u=!1,d=(m)=>{Aet(m,()=>t.signal,()=>u=!0)},p=Bj(t.options,t.fetchOptions),f=async(m,g,v)=>{if(u)return Promise.reject(t.signal.reason);if(g==null&&m.pages.length)return Promise.resolve(m);let x=(()=>{let E={client:t.client,queryKey:t.queryKey,pageParam:g,direction:v?"backward":"forward",meta:t.options.meta};return d(E),E})(),A=await p(x),{maxPages:w}=t.options,C=v?xet:bet;return{pages:C(m.pages,A,w),pageParams:C(m.pageParams,g,w)}};if(o&&a.length){let m=o==="backward",g=m?BTn:Cet,v={pages:a,pageParams:i};s=await f(v,g(r,v),m)}else{let m=e??a.length;do{let g=l===0?i[0]??r.initialPageParam:Cet(r,s);if(l>0&&g==null)break;s=await f(s,g),l++}while(lt.options.persister?.(c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n);else t.fetchFn=c}}}function Cet(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function BTn(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Iet=P(()=>{M1()});function FAe(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:LAe(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Tet(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function ket(e){let t=typeof e.initialData==="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Ret;var UAe=P(()=>{M1();QA();BAe();OAe();Iet();Ret=class extends zj{#e;#t;#n;#r;#a;#o;#i;#l;constructor(e){super();this.#l=!1,this.#i=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#a=e.client,this.#r=this.#a.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=ket(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#o?.promise}setOptions(e){if(this.options={...this.#i,...e},e?._type)this.#e=e._type;if(this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let t=ket(this.options);if(t.data!==void 0)this.setState(Tet(t.data,t.dataUpdatedAt)),this.#t=t}}optionalRemove(){if(!this.observers.length&&this.state.fetchStatus==="idle")this.#r.remove(this)}setData(e,t){let n=BU(this.state.data,e,this.options);return this.#s({data:n,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#s({type:"setState",state:e})}cancel(e){let t=this.#o?.promise;return this.#o?.cancel(e),t?t.then(Nl).catch(Nl):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some((e)=>ys(e.options.enabled,this)!==!1)}isDisabled(){if(this.getObserversCount()>0)return!this.isActive();return this.options.queryFn===KR||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){if(this.getObserversCount()>0)return this.observers.some((e)=>ys(e.options.staleTime,this)==="static");return!1}isStale(){if(this.getObserversCount()>0)return this.observers.some((e)=>e.getCurrentResult().isStale);return this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){if(this.state.data===void 0)return!0;if(e==="static")return!1;if(this.state.isInvalidated)return!0;return!Mj(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find((e)=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#o?.continue()}onOnline(){this.observers.find((e)=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#o?.continue()}addObserver(e){if(!this.observers.includes(e))this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e})}removeObserver(e){let t=this.observers.indexOf(e);if(t!==-1){if(this.observers.splice(t,1),!this.observers.length){if(this.#o)if(this.#l||this.state.fetchStatus==="paused"&&this.state.status==="pending")this.#o.cancel({revert:!0});else this.#o.cancelRetry();this.scheduleGc()}this.#r.notify({type:"observerRemoved",query:this,observer:e})}}getObserversCount(){return this.observers.length}invalidate(){if(!this.state.isInvalidated)this.#s({type:"invalidate"})}async fetch(e,t){if(this.state.fetchStatus!=="idle"&&this.#o?.status()!=="rejected"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#o)return this.#o.continueRetry(),this.#o.promise}if(e)this.setOptions(e);if(!this.options.queryFn){let l=this.observers.find((c)=>c.options.queryFn);if(l)this.setOptions(l.options)}let n=new AbortController,r=(l)=>{Object.defineProperty(l,"signal",{enumerable:!0,get:()=>(this.#l=!0,n.signal)})},o=()=>{let l=Bj(this.options,t),u=(()=>{let d={client:this.#a,queryKey:this.queryKey,meta:this.meta};return r(d),d})();if(this.#l=!1,this.options.persister)return this.options.persister(l,u,this);return l(u)},i=(()=>{let l={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#a,state:this.state,fetchFn:o};return r(l),l})();if((this.#e==="infinite"?Eet(this.options.pages):this.options.behavior)?.onFetch(i,this),this.#n=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==i.fetchOptions?.meta)this.#s({type:"fetch",meta:i.fetchOptions?.meta});let s=this.#o=Nj({initialPromise:t?.initialPromise,fn:i.fetchFn,onCancel:(l)=>{if(l instanceof Uj&&l.revert)this.setState({...this.#n,fetchStatus:"idle"});n.abort()},onFail:(l,c)=>{this.#s({type:"failed",failureCount:l,error:c})},onPause:()=>{this.#s({type:"pause"})},onContinue:()=>{this.#s({type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0});try{let l=await s.start();if(l===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(l),this.#r.config.onSuccess?.(l,this),this.#r.config.onSettled?.(l,this.state.error,this),l}catch(l){if(l instanceof Uj){if(l.silent)return this.#o.promise;else if(l.revert){if(this.state.data===void 0)throw l;return this.state.data}}throw this.#s({type:"error",error:l}),this.#r.config.onError?.(l,this),this.#r.config.onSettled?.(this.state.data,l,this),l}finally{if(this.#o===s)this.#o=void 0;this.scheduleGc()}}#s(e){let t=(n)=>{switch(e.type){case"failed":return{...n,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...FAe(n.data,this.options),fetchMeta:e.meta??null};case"success":let r={...n,...Tet(e.data,e.dataUpdatedAt),dataUpdateCount:n.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?r:void 0,r;case"error":let o=e.error;return{...n,error:o,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...e.state}}};this.state=t(this.state),qi.batch(()=>{this.observers.slice().forEach((n)=>{n.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}}});function OTn(e,t){return ys(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&ys(t.retryOnMount,e)===!1)}function Pet(e,t){return OTn(e,t)||e.state.data!==void 0&&NAe(e,t,t.refetchOnMount)}function NAe(e,t,n){if(ys(t.enabled,e)!==!1&&ys(t.staleTime,e)!=="static"){let r=ys(n,e);return r==="always"||r!==!1&&_Ae(e,t)}return!1}function Met(e,t,n,r){return(e!==t||ys(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&_Ae(e,n)}function _Ae(e,t){return ys(t.enabled,e)!==!1&&e.isStaleByTime(ys(t.staleTime,e))}var zAe;var Det=P(()=>{DU();M1();Oj();B8();Fj();QA();UAe();zAe=class extends D1{#e;#t=void 0;#n=void 0;#r=void 0;#a;#o;#i;#l;#s;#f;#u;#d;#c;#m=new Set;constructor(e,t){super();this.options=t,this.#e=e,this.#i=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){if(this.listeners.size===1){if(this.#t.addObserver(this),Pet(this.#t,this.options))this.#p();else this.updateResult();this.#b()}}onUnsubscribe(){if(!this.hasListeners())this.destroy()}shouldFetchOnReconnect(){return NAe(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return NAe(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#A(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=="boolean"&&typeof this.options.enabled!=="function"&&typeof ys(this.options.enabled,this.#t)!=="boolean")throw Error("Expected enabled to be a boolean or a callback that returns a boolean");if(this.#w(),this.#t.setOptions(this.options),t._defaulted&&!YR(this.options,t))this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});let r=this.hasListeners();if(r&&Met(this.#t,n,this.options,t))this.#p();if(this.updateResult(),r&&(this.#t!==n||ys(this.options.enabled,this.#t)!==ys(t.enabled,this.#t)||ys(this.options.staleTime,this.#t)!==ys(t.staleTime,this.#t)))this.#g();let o=this.#y();if(r&&(this.#t!==n||ys(this.options.enabled,this.#t)!==ys(t.enabled,this.#t)||o!==this.#c))this.#v(o)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);if(!YR(this.getCurrentResult(),n))this.#r=n,this.#o=this.options,this.#a=this.#t.state;return n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(n,r)=>(this.trackProp(r),t?.(r),Reflect.get(n,r))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},o,a=new Promise((i)=>{o=i,r=this.#e.getQueryCache().subscribe((s)=>{if(s.type==="updated"&&s.query.queryHash===n.queryHash&&n.state.data!==void 0)r(),i(this.createResult(n,t))})});return Promise.race([n.fetch().then(()=>{let i=this.createResult(n,t);return o?.(i),i}).finally(()=>{r()}),a])}fetch(e){return this.#p({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#p(e){this.#w();let t=this.#t.fetch(this.options,e);if(!e?.throwOnError)t=t.catch(Nl);return t}#h(e){return!jR()&&ys(this.options.enabled,this.#t)!==!1&&Pj(e)}#g(){this.#x();let e=ys(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=Mj(this.#r.dataUpdatedAt,e)+1;this.#u=fb.setTimeout(()=>{if(!this.#r.isStale)this.updateResult()},t)}#y(){return ys(this.options.refetchInterval,this.#t)??!1}#v(e){if(this.#A(),this.#c=e,this.#c===0||!this.#h(this.#c))return;this.#d=fb.setInterval(()=>{if(this.options.refetchIntervalInBackground||$R.isFocused())this.#p()},this.#c)}#b(){this.#g(),this.#v(this.#y())}#x(){if(this.#u!==void 0)fb.clearTimeout(this.#u),this.#u=void 0}#A(){if(this.#d!==void 0)fb.clearInterval(this.#d),this.#d=void 0}createResult(e,t){let n=this.#t,r=this.options,o=this.#r,a=this.#a,i=this.#o,s=e!==n?e.state:this.#n,{state:l}=e,c={...l},u=!1,d;if(t._optimisticResults){let C=this.hasListeners(),E=!C&&Pet(e,t),T=C&&Met(e,n,t,r);if(E||T)c={...c,...FAe(l.data,e.options)};if(t._optimisticResults==="isRestoring")c.fetchStatus="idle"}let{error:p,errorUpdatedAt:f,status:m}=c;d=c.data;let g=!1;if(t.placeholderData!==void 0&&d===void 0&&m==="pending"){let C;if(o?.isPlaceholderData&&t.placeholderData===i?.placeholderData)C=o.data,g=!0;else C=typeof t.placeholderData==="function"?t.placeholderData(this.#f?.state.data,this.#f):t.placeholderData;if(C!==void 0)m="success",d=BU(o?.data,C,t),u=!0}if(t.select&&d!==void 0&&!g)if(o&&d===a?.data&&t.select===this.#l)d=this.#s;else try{this.#l=t.select,d=t.select(d),d=BU(o?.data,d,t),this.#s=d,this.#i=null}catch(C){this.#i=C}else if(d===void 0)this.#i=null;if(this.#i)p=this.#i,d=this.#s,f=Date.now(),m="error",u=!1;let v=c.fetchStatus==="fetching",y=m==="pending",x=m==="error",A=y&&v,w=d!==void 0;return{status:m,fetchStatus:c.fetchStatus,isPending:y,isSuccess:m==="success",isError:x,isInitialLoading:A,isLoading:A,data:d,dataUpdatedAt:c.dataUpdatedAt,error:p,errorUpdatedAt:f,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:c.dataUpdateCount>s.dataUpdateCount||c.errorUpdateCount>s.errorUpdateCount,isFetching:v,isRefetching:v&&!y,isLoadingError:x&&!w,isPaused:c.fetchStatus==="paused",isPlaceholderData:u,isRefetchError:x&&w,isStale:_Ae(e,t),refetch:this.refetch,isEnabled:ys(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#o=this.options,this.#a.data!==void 0)this.#f=this.#t;if(YR(t,e))return;this.#r=t;let r=(()=>{if(!e)return!0;let{notifyOnChangeProps:o}=this.options,a=typeof o==="function"?o():o;if(a==="all"||!a&&!this.#m.size)return!0;let i=new Set(a??this.#m);if(this.options.throwOnError)i.add("error");return Object.keys(this.#r).some((s)=>{let l=s;return this.#r[l]!==e[l]&&i.has(l)})})();qi.batch(()=>{if(r)this.listeners.forEach((o)=>{o(this.#r)});this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}#w(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;if(this.#t=e,this.#n=e.state,this.hasListeners())t?.removeObserver(this),e.addObserver(this)}onQueryUpdate(){if(this.updateResult(),this.hasListeners())this.#b()}}});function HAe(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Let;var VAe=P(()=>{QA();BAe();OAe();Let=class extends zj{#e;#t;#n;#r;constructor(e){super();this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||HAe(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){if(!this.#t.includes(e))this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",mutation:this,observer:e})}removeObserver(e){this.#t=this.#t.filter((t)=>t!==e),this.scheduleGc(),this.#n.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){if(!this.#t.length)if(this.state.status==="pending")this.scheduleGc();else this.#n.remove(this)}continue(){return this.#r?.continue()??(this.state.status==="pending"?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#a({type:"continue"})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=Nj({fn:()=>{if(!this.options.mutationFn)return Promise.reject(Error("No mutationFn found"));return this.options.mutationFn(e,n)},onFail:(i,s)=>{this.#a({type:"failed",failureCount:i,error:s})},onPause:()=>{this.#a({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),o=this.state.status==="pending",a=!r.canStart();try{if(o)t();else{if(this.#a({type:"pending",variables:e,isPaused:a}),this.#n.config.onMutate)await this.#n.config.onMutate(e,this,n);let s=await this.options.onMutate?.(e,n);if(s!==this.state.context)this.#a({type:"pending",context:s,variables:e,isPaused:a})}let i=await r.start();return await this.#n.config.onSuccess?.(i,e,this.state.context,this,n),await this.options.onSuccess?.(i,e,this.state.context,n),await this.#n.config.onSettled?.(i,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(i,null,e,this.state.context,n),this.#a({type:"success",data:i}),i}catch(i){try{await this.#n.config.onError?.(i,e,this.state.context,this,n)}catch(s){Promise.reject(s)}try{await this.options.onError?.(i,e,this.state.context,n)}catch(s){Promise.reject(s)}try{await this.#n.config.onSettled?.(void 0,i,this.state.variables,this.state.context,this,n)}catch(s){Promise.reject(s)}try{await this.options.onSettled?.(void 0,i,e,this.state.context,n)}catch(s){Promise.reject(s)}throw this.#a({type:"error",error:i}),i}finally{if(this.#r===r)this.#r=void 0;this.#n.runNext(this)}}#a(e){let t=(n)=>{switch(e.type){case"failed":return{...n,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...n,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:e.error,failureCount:n.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),qi.batch(()=>{this.#t.forEach((n)=>{n.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:"updated",action:e})})}}});function _j(e){return e.options.scope?.id}var Bet;var Oet=P(()=>{M1();B8();QA();VAe();Bet=class extends D1{#e;#t;#n;constructor(e={}){super();this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new Let({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=_j(e);if(typeof t==="string"){let n=this.#t.get(t);if(n)n.push(e);else this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){let t=_j(e);if(typeof t==="string"){let n=this.#t.get(t);if(n){if(n.length>1){let r=n.indexOf(e);if(r!==-1)n.splice(r,1)}else if(n[0]===e)this.#t.delete(t)}}}this.notify({type:"removed",mutation:e})}canRun(e){let t=_j(e);if(typeof t==="string"){let n=this.#t.get(t)?.find((r)=>r.state.status==="pending");return!n||n===e}else return!0}runNext(e){let t=_j(e);if(typeof t==="string")return this.#t.get(t)?.find((n)=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve();else return Promise.resolve()}clear(){qi.batch(()=>{this.#e.forEach((e)=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find((n)=>Lj(t,n))}findAll(e={}){return this.getAll().filter((t)=>Lj(e,t))}notify(e){qi.batch(()=>{this.listeners.forEach((t)=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter((t)=>t.state.isPaused);return qi.batch(()=>Promise.all(e.map((t)=>t.continue().catch(Nl))))}}});var GAe;var Fet=P(()=>{M1();B8();QA();VAe();GAe=class extends D1{#e;#t=void 0;#n;#r;constructor(e,t){super();this.#e=e,this.setOptions(t),this.bindMethods(),this.#a()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;if(this.options=this.#e.defaultMutationOptions(e),!YR(this.options,t))this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this});if(t?.mutationKey&&this.options.mutationKey&&mb(t.mutationKey)!==mb(this.options.mutationKey))this.reset();else if(this.#n?.state.status==="pending")this.#n.setOptions(this.options)}onSubscribe(){if(this.listeners.size===1&&this.#n)this.#n.addObserver(this),this.#a()}onUnsubscribe(){if(!this.hasListeners())this.#n?.removeObserver(this)}onMutationUpdate(e){this.#a(),this.#o(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#a(),this.#o()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#a(){let e=this.#n?.state??HAe();this.#t={...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset}}#o(e){qi.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(o){Promise.reject(o)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(o){Promise.reject(o)}}else if(e?.type==="error"){try{this.#r.onError?.(e.error,t,n,r)}catch(o){Promise.reject(o)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(o){Promise.reject(o)}}}this.listeners.forEach((t)=>{t(this.#t)})})}}});var Uet;var Net=P(()=>{M1();B8();QA();UAe();Uet=class extends D1{#e;constructor(e={}){super();this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,o=t.queryHash??LU(r,t),a=this.get(o);if(!a)a=new Ret({client:e,queryKey:r,queryHash:o,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a);return a}add(e){if(!this.#e.has(e.queryHash))this.#e.set(e.queryHash,e),this.notify({type:"added",query:e})}remove(e){if(this.#e.get(e.queryHash)===e)e.destroy(),this.#e.delete(e.queryHash),this.notify({type:"removed",query:e})}clear(){qi.batch(()=>{this.getAll().forEach((e)=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find((n)=>Dj(t,n))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter((n)=>Dj(e,n)):t}notify(e){qi.batch(()=>{this.listeners.forEach((t)=>{t(e)})})}onFocus(){qi.batch(()=>{this.getAll().forEach((e)=>{e.onFocus()})})}onOnline(){qi.batch(()=>{this.getAll().forEach((e)=>{e.onOnline()})})}}});var qAe=class{#e;#t;#n;#r;#a;#o;#i;#l;constructor(e={}){this.#e=e.queryCache||new Uet,this.#t=e.mutationCache||new Bet,this.#n=e.defaultOptions||{},this.#r=new Map,this.#a=new Map,this.#o=0}mount(){if(this.#o++,this.#o!==1)return;this.#i=$R.subscribe(async(e)=>{if(e)await this.resumePausedMutations(),this.#e.onFocus()}),this.#l=eP.subscribe(async(e)=>{if(e)await this.resumePausedMutations(),this.#e.onOnline()})}unmount(){if(this.#o--,this.#o!==0)return;this.#i?.(),this.#i=void 0,this.#l?.(),this.#l=void 0}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;if(r===void 0)return this.fetchQuery(e);if(e.revalidateIfStale&&n.isStaleByTime(ys(t.staleTime,n)))this.prefetchQuery(t);return Promise.resolve(r)}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:n})=>[t,n.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),o=this.#e.get(r.queryHash)?.state.data,a=yet(t,o);if(a===void 0)return;return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return qi.batch(()=>this.#e.findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;qi.batch(()=>{t.findAll(e).forEach((n)=>{t.remove(n)})})}resetQueries(e,t){let n=this.#e;return qi.batch(()=>{let r=n.findAll(e),o=new Set(r);return r.forEach((a)=>{a.reset()}),this.refetchQueries({type:"active",predicate:(a)=>o.has(a)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=qi.batch(()=>this.#e.findAll(e).map((o)=>o.cancel(n)));return Promise.all(r).then(Nl).catch(Nl)}invalidateQueries(e,t={}){return qi.batch(()=>{if(this.#e.findAll(e).forEach((n)=>{n.invalidate()}),e?.refetchType==="none")return Promise.resolve();return this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)})}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=qi.batch(()=>this.#e.findAll(e).filter((o)=>!o.isDisabled()&&!o.isStatic()).map((o)=>{let a=o.fetch(void 0,n);if(!n.throwOnError)a=a.catch(Nl);return o.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(r).then(Nl)}async query(e){let t=this.defaultQueryOptions(e);if(t.retry===void 0)t.retry=!1;let n=this.#e.build(this,t),r=n.isStaleByTime(ys(t.staleTime,n))?await n.fetch(t):n.state.data,o=t.select;if(o)return o(r);return r}fetchQuery(e){let t=this.defaultQueryOptions(e);if(t.retry===void 0)t.retry=!1;let n=this.#e.build(this,t);return n.isStaleByTime(ys(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Nl).catch(Nl)}infiniteQuery(e){return e._type="infinite",this.query(e)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Nl).catch(Nl)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){if(eP.isOnline())return this.#t.resumePausedMutations();return Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(mb(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach((r)=>{if(w4(e,r.queryKey))Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){this.#a.set(mb(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#a.values()],n={};return t.forEach((r)=>{if(w4(e,r.mutationKey))Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};if(!t.queryHash)t.queryHash=LU(t.queryKey,t);if(t.refetchOnReconnect===void 0)t.refetchOnReconnect=t.networkMode!=="always";if(t.throwOnError===void 0)t.throwOnError=!!t.suspense;if(!t.networkMode&&t.persister)t.networkMode="offlineFirst";if(t.queryFn===KR)t.enabled=!1;return t}defaultMutationOptions(e){if(e?._defaulted)return e;return{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};var zet=P(()=>{M1();Fj();QA();DAe();Oet();Net()});var tP=P(()=>{M1();QA();Det();Fet();zet()});var _et,Het=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==="function"?JR(e.throwOnError,[n.state.error,n]):e.throwOnError;if(e.suspense||r){if(!t.isReset())e.retryOnMount=!1}},Vet=(e)=>{_et.useEffect(()=>{e.clearReset()},[e])},Get=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:o})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(o&&e.data===void 0||JR(n,[e.error,r]));var qet=P(()=>{tP();_et=z(re(),1)});var Zet=(e)=>{if(e.suspense){let n=(o)=>o==="static"?o:Math.max(o??1000,1000),r=e.staleTime;if(e.staleTime=typeof r==="function"?(...o)=>n(r(...o)):n(r),typeof e.gcTime==="number")e.gcTime=Math.max(e.gcTime,1000)}},Qet=(e,t)=>e?.suspense&&t.isPending,Xet=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});var Wet=()=>{};function Yet(e,t,n){let r=uet(),o=pet(),a=th(n),i=a.defaultQueryOptions(e),s=a.getQueryCache().get(i.queryHash),l=e.subscribed!==!1;i._optimisticResults=r?"isRestoring":l?"optimistic":void 0,Zet(i),Het(i,o,s),Vet(o);let[c]=S4.useState(()=>new t(a,i)),u=c.getOptimisticResult(i),d=!r&&l;if(S4.useSyncExternalStore(S4.useCallback((p)=>{let f=d?c.subscribe(qi.batchCalls(p)):Nl;return c.updateResult(),f},[c,d]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),S4.useEffect(()=>{c.setOptions(i)},[i,c]),Qet(i,u))throw Xet(i,c,o);if(Get({result:u,errorResetBoundary:o,throwOnError:i.throwOnError,query:s,suspense:i.suspense}))throw u.error;return!i.notifyOnChangeProps?c.trackResult(u):u}var S4;var Ket=P(()=>{kj();det();fet();qet();Wet();tP();S4=z(re(),1)});function C4(e,t){return Yet(e,zAe,t)}var Jet=P(()=>{Ket();tP()});function Hj(e,t){let n=th(t),[r]=XA.useState(()=>new GAe(n,e));XA.useEffect(()=>{r.setOptions(e)},[r,e]);let o=XA.useSyncExternalStore(XA.useCallback((i)=>r.subscribe(qi.batchCalls(i)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=XA.useCallback((...i)=>{r.mutate(i[0],i[1]).catch(Nl)},[r]);if(o.error&&JR(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:a,mutateAsync:o.mutate}}var XA;var jet=P(()=>{kj();tP();XA=z(re(),1)});var hb=P(()=>{kj();Jet();jet();tP()});function Gj({client:e,children:t}){return h(kAe,{client:ett,children:h($et.Provider,{value:e,children:t})})}function Ws(){let e=Vj.useContext($et);if(!e)throw Error("useSpacedriveClient must be used within SpacedriveProvider");return e}function qj(){return Ws()}var Vj,$et,ett;var nP=P(()=>{hb();le();Vj=z(re(),1),$et=Vj.createContext(null),ett=new qAe({defaultOptions:{queries:{staleTime:30000,gcTime:300000,retry:1,refetchOnWindowFocus:!0,refetchOnReconnect:!0}}})});function O8(e,t){let n=Ws(),r=QR.coreQueries[e.type];return C4({queryKey:[e.type,e.input],queryFn:()=>n.execute(r,e.input),...t})}function ua(e,t){let n=Ws(),r=QR.libraryQueries[e.type],o=n.getCurrentLibraryId();return C4({queryKey:[e.type,o,e.input],queryFn:()=>{if(!o)throw Error("No library selected. Use client.switchToLibrary() first.");return n.execute(r,e.input)},enabled:!!o&&(t?.enabled??!0),...t})}var ZAe=P(()=>{hb();nP();PU()});function F8(e,t){let n=Ws(),r=QR.coreActions[e];return Hj({mutationFn:(o)=>n.execute(r,o),...t})}function En(e,t){let n=Ws(),r=QR.libraryActions[e];return Hj({mutationFn:(o)=>{if(!n.getCurrentLibraryId())throw Error("No library selected. Use client.switchToLibrary() first.");return n.execute(r,o)},...t})}var QAe=P(()=>{hb();nP();PU()});function ttt(e){if(!e&&!Zj)return FTn;return{lang:e?.lang??Zj?.lang,message:e?.message,abortEarly:e?.abortEarly??Zj?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Zj?.abortPipeEarly}}function NTn(e){return UTn?.get(e)}function _Tn(e){return zTn?.get(e)}function VTn(e,t){return HTn?.get(e)?.get(t)}function GTn(e){let t=typeof e;if(t==="string")return`"${e}"`;if(t==="number"||t==="bigint"||t==="boolean")return`${e}`;if(t==="object"||t==="function")return(e&&Object.getPrototypeOf(e)?.constructor?.name)??"null";return t}function Qj(e,t,n,r,o){let a=o&&"input"in o?o.input:n.value,i=o?.expected??e.expects??null,s=o?.received??GTn(a),l={kind:e.kind,type:e.type,input:a,expected:i,received:s,message:`Invalid ${t}: ${i?`Expected ${i} but r`:"R"}eceived ${s}`,requirement:e.requirement,path:o?.path,issues:o?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},c=e.kind==="schema",u=o?.message??e.message??VTn(e.reference,l.lang)??(c?_Tn(l.lang):null)??r.message??NTn(l.lang);if(u!==void 0)l.message=typeof u==="function"?u(l):u;if(c)n.typed=!1;if(n.issues)n.issues.push(l);else n.issues=[l]}function rP(e){return e["~standard"]={version:1,vendor:"valibot",validate:(t)=>e["~run"]({value:t},ttt())},e}function qTn(e,t,n){return typeof e.fallback==="function"?e.fallback(t,n):e.fallback}function XAe(e,t,n){return typeof e.default==="function"?e.default(t,n):e.default}function E4(){return rP({kind:"schema",type:"any",reference:E4,expects:"any",async:!1,"~run"(e){return e.typed=!0,e}})}function WA(e,t){return rP({kind:"schema",type:"array",reference:WA,expects:"Array",async:!1,item:e,message:t,"~run"(n,r){let o=n.value;if(Array.isArray(o)){n.typed=!0,n.value=[];for(let a=0;a{FTn={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0}});function WAe(e,t){if(e)return;let n="Invariant failed",r=typeof t==="function"?t():t;throw Error(r?`${n}: ${r}`:n)}function mr(e){let t=Ws(),n=th(),[r,o]=pg.useState(t.getCurrentLibraryId());pg.useEffect(()=>{let d=(p)=>{o(p)};return t.on("library-changed",d),()=>{t.off("library-changed",d)}},[t]);let a=pg.useMemo(()=>YAe(e.query),[e.query]),i=pg.useMemo(()=>[a,r,e.input],[a,r,JSON.stringify(e.input)]),s=C4({queryKey:i,queryFn:async()=>(WAe(r,"Library ID must be set before querying"),await t.execute(a,e.input)),enabled:(e.enabled??!0)&&!!r,select:e.select}),l=pg.useRef(e),c=pg.useRef(i);pg.useEffect(()=>{l.current=e,c.current=i});let u=pg.useMemo(()=>JSON.stringify(e.pathScope),[e.pathScope]);return pg.useEffect(()=>{if(!r)return;if(e.resourceType==="file"&&!e.pathScope)return;let d,p=!1,f=e.pathScope,m=i,g=(v)=>{let y=l.current.debug;if(y)console.log("[useNormalizedQuery] RAW EVENT received:",typeof v,v);if(JSON.stringify(l.current.pathScope)!==JSON.stringify(f)){if(y)console.log("[useNormalizedQuery] STALE pathScope, skipping event");return}YTn(v,l.current,m,n,l.current.debug)};if(e.debug)console.log(`[useNormalizedQuery] SUBSCRIBING: resourceType=${e.resourceType}, pathScope=`,JSON.stringify(e.pathScope),`includeDescendants=${e.includeDescendants??!1}`);return t.subscribeFiltered({resource_type:e.resourceType,path_scope:e.pathScope,library_id:r,include_descendants:e.includeDescendants??!1},g).then((v)=>{if(p){if(e.debug)console.log("[useNormalizedQuery] Subscription created but already cancelled");v()}else{if(e.debug)console.log("[useNormalizedQuery] Subscription ACTIVE");d=v}}).catch((v)=>{if(!p&&e.debug)console.error("[useNormalizedQuery] Subscription failed",v)}),()=>{if(e.debug)console.log("[useNormalizedQuery] UNSUBSCRIBING");p=!0,d?.()}},[t,n,e.resourceType,e.resourceId,u,e.includeDescendants,r]),s}function YTn(e,t,n,r,o){let a=YAe(t.query);if(typeof e==="string")return;if("Refresh"in e){if(o)console.log(`[useNormalizedQuery] ${a} processing Refresh`,e);r.invalidateQueries();return}if("ResourceChanged"in e){let i=Wj(QTn,e);if(!i.success)return;let{resource_type:s,resource:l,metadata:c}=i.output.ResourceChanged;if(s===t.resourceType){if(o)console.log(`[useNormalizedQuery] ${a} processing ResourceChanged`,e);KTn(l,c,n,r,t)}}else if("ResourceChangedBatch"in e){let i=Wj(XTn,e);if(!i.success)return;let{resource_type:s,resources:l,metadata:c}=i.output.ResourceChangedBatch;if(s===t.resourceType&&Array.isArray(l)){if(o)console.log(`[useNormalizedQuery] ${a} processing ResourceChangedBatch`,e);JTn(l,c,t,n,r)}}else if("ResourceDeleted"in e){let i=Wj(WTn,e);if(!i.success)return;let{resource_type:s,resource_id:l}=i.output.ResourceDeleted;if(s===t.resourceType){if(o)console.log(`[useNormalizedQuery] ${a} processing ResourceDeleted`,e);KAe(l,n,r)}}}function YAe(e){if(WAe(e,"useNormalizedQuery requires a query method"),e.startsWith("query:"))return e;return WAe(!e.startsWith("action:"),"useNormalizedQuery only supports queries, remove the action prefix"),`query:${e}`}function rtt(e,t){let n=e;if(t.resourceId)n=n.filter((r)=>r.id===t.resourceId);if(t.pathScope&&t.resourceType==="file"&&!t.includeDescendants)n=n.filter((r)=>{let o=t.pathScope.Physical?.path;if(!o)return!1;let a=String(o).replace(/\\/g,"/").replace(/\/+$/,""),i=/^[a-zA-Z]:\//.test(a)||a.startsWith("//?/"),s=i?a.toLowerCase():a,c=(r.alternate_paths||[]).find((v)=>v.Physical),u=r.sd_path?.Physical,d=c?.Physical||u;if(!d?.path)return!1;let p=String(d.path).replace(/\\/g,"/"),f=i?p.toLowerCase():p,m=f.lastIndexOf("/");if(m===-1)return!1;return f.substring(0,m)===s});return n}function KTn(e,t,n,r,o){let a=t?.no_merge_fields||[],i=[e];if(o){if(i=rtt(i,o),i.length===0){if(e.id)KAe(e.id,n,r);return}}r.setQueryData(n,(s)=>{if(!s)return;if(Array.isArray(s))return ott(s,i,a);if(s&&typeof s==="object")return att(s,i,a);return s})}function JTn(e,t,n,r,o){let a=t?.no_merge_fields||[],i=rtt(e,n),s=YAe(n.query);if(n.debug){if(console.log(`[useNormalizedQuery] ${s} BATCH: ${e.length} total, ${i.length} after filter`),i.length===0&&e.length>0)console.log(`[useNormalizedQuery] ${s} ALL FILTERED OUT! First resource:`,JSON.stringify(e[0]?.sd_path),"pathScope:",JSON.stringify(n.pathScope))}if(i.length===0){for(let l of e)if(l.id)KAe(l.id,r,o);return}o.setQueryData(r,(l)=>{if(n.debug)console.log(`[useNormalizedQuery] ${s} setQueryData: oldData has`,Array.isArray(l)?l.length:Object.keys(l||{}).join(","),`adding ${i.length} resources`);if(!l)return{files:i,total_count:i.length,has_more:!1};if(Array.isArray(l))return ott(l,i,a);if(l&&typeof l==="object")return att(l,i,a);return l})}function KAe(e,t,n){n.setQueryData(t,(r)=>{if(!r)return r;if(Array.isArray(r))return r.filter((o)=>o.id!==e);if(r&&typeof r==="object"){let o=Object.keys(r).find((a)=>Array.isArray(r[a]));if(o)return{...r,[o]:r[o].filter((a)=>a.id!==e)}}return r})}function ott(e,t,n){let r=[...e],o=new Set;for(let a=0;al.id===i.id);if(s)r[a]=oP(i,s,n),o.add(s.id)}for(let a of t)if(!o.has(a.id)&&a.sd_path?.Content){let i=a.alternate_paths?.find((s)=>s.Physical)?.Physical?.path;if(i){let s=r.findIndex((l)=>(l.sd_path?.Physical?.path||l.alternate_paths?.find((u)=>u.Physical)?.Physical?.path)===i);if(s!==-1)r[s]=oP(r[s],a,n),o.add(a.id)}}for(let a of t)if(!o.has(a.id)){if(a.sd_path?.Content){if(!a.alternate_paths||a.alternate_paths.length===0)continue}r.push(a)}return r}function att(e,t,n){let r=t.find((a)=>a.id===e.id);if(r)return oP(e,r,n);let o=Object.keys(e).find((a)=>Array.isArray(e[a]));if(o){let a=[...e[o]],i=new Set;for(let s=0;su.id===l.id);if(c)a[s]=oP(l,c,n),i.add(c.id)}for(let s of t)if(!i.has(s.id)&&s.sd_path?.Content){let l=s.alternate_paths?.find((c)=>c.Physical)?.Physical?.path;if(l){let c=a.findIndex((u)=>(u.sd_path?.Physical?.path||u.alternate_paths?.find((p)=>p.Physical)?.Physical?.path)===l);if(c!==-1)a[c]=oP(a[c],s,n),i.add(s.id)}}for(let s of t)if(!i.has(s.id)){if(s.sd_path?.Content){if(!s.alternate_paths||s.alternate_paths.length===0)continue}if(a.some((c)=>c.id===s.id))continue;a.push(s)}return{...e,[o]:a}}return e}function oP(e,t,n=[]){if(t===null||t===void 0)return e!==null&&e!==void 0?e:t;let r={...e};for(let o of Object.keys(t)){let a=t[o],i=e[o];if(n.includes(o))r[o]=a;else if(Array.isArray(a))r[o]=a;else if(a!==null&&typeof a==="object"&&i!==null&&typeof i==="object"&&!Array.isArray(i))r[o]=oP(i,a,n);else r[o]=a}return r}var pg,QTn,XTn,WTn;var Yj=P(()=>{hb();nP();ntt();pg=z(re(),1);QTn=gb({ResourceChanged:gb({resource_type:T4(),resource:E4(),metadata:Xj(gb({no_merge_fields:I4(WA(T4())),affected_paths:I4(WA(E4())),alternate_ids:I4(WA(E4()))}))})}),XTn=gb({ResourceChangedBatch:gb({resource_type:T4(),resources:WA(E4()),metadata:Xj(gb({no_merge_fields:I4(WA(T4())),affected_paths:I4(WA(E4())),alternate_ids:I4(WA(E4()))}))})}),WTn=gb({ResourceDeleted:gb({resource_type:T4(),resource_id:T4()})})});function jTn(e){if(e.length<=100)return e;let t=Math.ceil(e.length/100),n=[];for(let r=0;ri+s.bytesPerSecond,0)/o.length;n.push({timestamp:o[0].timestamp,bytesPerSecond:a})}return n}function JAe(e={}){let{onJobCompleted:t,onJobFailed:n,onJobCancelled:r}=e,[o,a]=nh.useState([]),i=Ws(),s=nh.useRef(new Map),l=nh.useMemo(()=>({status:null}),[]),{data:c,isLoading:u,error:d,refetch:p}=ua({type:"jobs.list",input:l}),f=En("jobs.pause"),m=En("jobs.resume"),g=En("jobs.cancel"),v=nh.useRef(p);nh.useEffect(()=>{v.current=p},[p]);let y=nh.useRef([]);nh.useEffect(()=>{y.current=o},[o]),nh.useEffect(()=>{if(c?.jobs)a(c.jobs)},[c]),nh.useEffect(()=>{if(!i)return;let I,k=!1,L=(B)=>{if("JobStarted"in B)v.current();else if("JobQueued"in B||"JobCompleted"in B||"JobFailed"in B||"JobPaused"in B||"JobResumed"in B||"JobCancelled"in B){if("JobCompleted"in B||"JobFailed"in B||"JobCancelled"in B){let U=B.JobCompleted?.job_id||B.JobFailed?.job_id||B.JobCancelled?.job_id;if(U){if("JobCompleted"in B)a((D)=>D.map((N)=>N.id===U?{...N,progress:1}:N));if(s.current.delete(U),"JobCompleted"in B){let D=B.JobCompleted?.job_type||"";t?.(U,D)}else if("JobFailed"in B)n?.(U);else if("JobCancelled"in B)r?.(U)}}v.current()}else if("JobProgress"in B){let U=B.JobProgress;if(!U)return;if(U.generic_progress?.performance?.rate){let D=U.job_id,N=U.generic_progress.performance.rate,_=s.current.get(D)||[];if(_.push({timestamp:Date.now(),bytesPerSecond:N}),_.length>100)s.current.set(D,jTn(_));else s.current.set(D,_)}a((D)=>D.map((N)=>{if(N.id!==U.job_id)return N;let _=U.generic_progress;return{...N,progress:U.progress,..._&&{current_phase:_.phase,current_path:_.current_path,status_message:_.message,generic_progress:_}}}))}},O={event_types:["JobQueued","JobStarted","JobProgress","JobCompleted","JobFailed","JobPaused","JobResumed","JobCancelled"]};return i.subscribeFiltered(O,L).then((B)=>{if(k)B();else I=B}),()=>{k=!0,I?.()}},[i,t,n,r]);let x=async(I)=>{try{if(!(await f.mutateAsync({job_id:I})).success)console.error("Failed to pause job:",I)}catch(k){console.error("Failed to pause job:",k)}},A=async(I)=>{try{if(!(await m.mutateAsync({job_id:I})).success)console.error("Failed to resume job:",I)}catch(k){console.error("Failed to resume job:",k)}},w=async(I)=>{try{if(!(await g.mutateAsync({job_id:I})).success)console.error("Failed to cancel job:",I)}catch(k){console.error("Failed to cancel job:",k)}},C=o.filter((I)=>I.status==="running").length,E=o.filter((I)=>I.status==="paused").length,T=nh.useCallback((I)=>s.current.get(I)||[],[]);return{jobs:o,activeJobCount:C+E,hasRunningJobs:C>0,pause:x,resume:A,cancel:w,isLoading:u,error:d,getSpeedHistory:T}}var nh;var itt=P(()=>{QAe();ZAe();nP();nh=z(re(),1)});var $Tn;var stt=P(()=>{Yj();$Tn=z(re(),1)});var jAe=P(()=>{nP();ZAe();QAe();Yj();Yj();itt();stt()});var ltt=(e)=>{let t,n=new Set,r=(c,u)=>{let d=typeof c==="function"?c(t):c;if(!Object.is(d,t)){let p=t;t=(u!=null?u:typeof d!=="object"||d===null)?d:Object.assign({},t,d),n.forEach((f)=>f(t,p))}},o=()=>t,s={setState:r,getState:o,getInitialState:()=>l,subscribe:(c)=>(n.add(c),()=>n.delete(c))},l=t=e(r,o,s);return s},Kj=(e)=>e?ltt(e):ltt;var Jj=()=>{};function t7n(e,t=e7n){let n=OU.default.useSyncExternalStore(e.subscribe,OU.default.useCallback(()=>t(e.getState()),[e,t]),OU.default.useCallback(()=>t(e.getInitialState()),[e,t]));return OU.default.useDebugValue(n),n}var OU,e7n=(e)=>e,ctt=(e)=>{let t=Kj(e),n=(r)=>t7n(t,r);return Object.assign(n,t),n},wp=(e)=>e?ctt(e):ctt;var utt=P(()=>{Jj();OU=z(re(),1)});var yb=P(()=>{Jj();utt()});function n7n(e,t){let n;try{n=e()}catch(o){return}return{getItem:(o)=>{var a;let i=(l)=>{if(l===null)return null;return JSON.parse(l,t==null?void 0:t.reviver)},s=(a=n.getItem(o))!=null?a:null;if(s instanceof Promise)return s.then(i);return i(s)},setItem:(o,a)=>n.setItem(o,JSON.stringify(a,t==null?void 0:t.replacer)),removeItem:(o)=>n.removeItem(o)}}var $Ae=(e)=>(t)=>{try{let n=e(t);if(n instanceof Promise)return n;return{then(r){return $Ae(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return $Ae(r)(n)}}}},r7n=(e,t)=>(n,r,o)=>{let a={storage:n7n(()=>window.localStorage),partialize:(v)=>v,version:0,merge:(v,y)=>({...y,...v}),...t},i=!1,s=0,l=new Set,c=new Set,u=a.storage;if(!u)return e((...v)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...v)},r,o);let d=()=>{let v=a.partialize({...r()});return u.setItem(a.name,{state:v,version:a.version})},p=o.setState;o.setState=(v,y)=>(p(v,y),d());let f=e((...v)=>(n(...v),d()),r,o);o.getInitialState=()=>f;let m,g=()=>{var v,y;if(!u)return;let x=++s;i=!1,l.forEach((w)=>{var C;return w((C=r())!=null?C:f)});let A=((y=a.onRehydrateStorage)==null?void 0:y.call(a,(v=r())!=null?v:f))||void 0;return $Ae(u.getItem.bind(u))(a.name).then((w)=>{if(w)if(typeof w.version==="number"&&w.version!==a.version){if(a.migrate){let C=a.migrate(w.state,w.version);if(C instanceof Promise)return C.then((E)=>[!0,E]);return[!0,C]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,w.state];return[!1,void 0]}).then((w)=>{var C;if(x!==s)return;let[E,T]=w;if(m=a.merge(T,(C=r())!=null?C:f),n(m,!0),E)return d()}).then(()=>{if(x!==s)return;A==null||A(r(),void 0),m=r(),i=!0,c.forEach((w)=>w(m))}).catch((w)=>{if(x!==s)return;A==null||A(void 0,w)})};if(o.persist={setOptions:(v)=>{if(a={...a,...v},v.storage)u=v.storage},clearStorage:()=>{++s,u==null||u.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>g(),hasHydrated:()=>i,onHydrate:(v)=>(l.add(v),()=>{l.delete(v)}),onFinishHydration:(v)=>(c.add(v),()=>{c.delete(v)})},!a.skipHydration)g();return m||f},k4;var FU=P(()=>{k4=r7n});var aP;var dtt=P(()=>{yb();FU();aP=wp()(k4((e)=>({currentSpaceId:null,setCurrentSpace:(t)=>e({currentSpaceId:t}),collapsedGroups:new Set,toggleGroup:(t)=>e((n)=>{let r=new Set(n.collapsedGroups);if(r.has(t))r.delete(t);else r.add(t);return{collapsedGroups:r}}),collapseAll:(t)=>e({collapsedGroups:new Set(t)}),expandAll:()=>e({collapsedGroups:new Set}),draggedItem:null,setDraggedItem:(t)=>e({draggedItem:t})}),{name:"spacedrive-sidebar",partialize:(e)=>({currentSpaceId:e.currentSpaceId})}))});var ptt,o7n,ftt;var mtt=P(()=>{yb();FU();ptt={gridSize:120,gapSize:16,showFileSize:!0,columnWidth:256},o7n={viewMode:"grid",viewSettings:ptt},ftt=wp()(k4((e,t)=>({preferences:{},getPreferences:(n)=>t().preferences[n],setPreferences:(n,r)=>e((o)=>({preferences:{...o.preferences,[n]:{...o7n,...o.preferences[n],...r,viewSettings:{...ptt,...o.preferences[n]?.viewSettings,...r.viewSettings}}}}))}),{name:"spacedrive-view-preferences"}))});var htt;var gtt=P(()=>{yb();FU();htt=wp()(k4((e,t)=>({preferences:{},getPreferences:(n)=>t().preferences[n],setPreferences:(n,r)=>e((o)=>({preferences:{...o.preferences,[n]:r}}))}),{name:"spacedrive-sort-preferences"}))});var jQr;var ytt=P(()=>{yb();FU();jQr=wp()(k4((e)=>({autoSwitchOnSync:!0,setAutoSwitchOnSync:(t)=>e({autoSwitchOnSync:t})}),{name:"spacedrive-sync-preferences"}))});var h2="./fonts/Laptop.png";var UU=()=>{};var jj="./fonts/Mobile.png";var e3e=()=>{};var NU="./fonts/Mobile-Android.png";var t3e=()=>{};var zU="./fonts/Tablet.png";var n3e=()=>{};var $j="./fonts/SilverBox.png";var r3e=()=>{};var e$="./fonts/MiniSilverBox.png";var o3e=()=>{};var iP="./fonts/PC.png";var a3e=()=>{};var sP="./fonts/Server.png";var t$=()=>{};function g2(e){if(e.hardware_model){let n=e.hardware_model.toLowerCase();if(n.match(/mac1[34],(1|2|8|13|14)/))return $j;if(n.match(/mac1[45],(3|12|13)/))return e$;if(n.includes("ipad")||n.includes("tablet")||n.includes("surface"))return zU;if(n.includes("iphone")||n.includes("mobile")||n.includes("phone"))return e.os.toLowerCase()==="android"?NU:jj;if(n.includes("macbook")||n.includes("laptop")||n.includes("notebook"))return h2;if(n.includes("imac")||n.includes("desktop")||n.includes("pc"))return iP}switch(e.os.toLowerCase()){case"ios":return zU;case"android":return NU;case"macos":return h2;case"windows":return iP;case"linux":if(e.name.toLowerCase().includes("server"))return sP;return iP;default:return h2}}var vtt=P(()=>{UU();e3e();t3e();n3e();r3e();o3e();a3e();t$()});var y2="./fonts/AmazonS3.png";var n$=()=>{};var lP="./fonts/GoogleDrive.png";var i3e=()=>{};var _U="./fonts/Dropbox.png";var s3e=()=>{};var r$="./fonts/Drive-OneDrive.png";var l3e=()=>{};var HU="./fonts/BackBlaze.png";var c3e=()=>{};var VU="./fonts/PCloud.png";var u3e=()=>{};var GU="./fonts/Box.png";var d3e=()=>{};var U8="./fonts/HDD.png";var o$=()=>{};var N8="./fonts/Drive.png";var a$=()=>{};var i$="./fonts/Database.png";var p3e=()=>{};function C7n(e){if(!e)return null;let t=e.match(/^(\w+):\/\//);if(!t)return null;let n=t[1];if(["s3","gdrive","dropbox","onedrive","gcs","azblob","b2","wasabi","spaces","cloud"].includes(n))return n;return null}function qU(e){let t=C7n(e.mount_point);if(t)return S7n[t]||N8;if(e.volume_type==="Network")return sP;if(e.volume_type==="Virtual")return i$;if(e.volume_type==="External"||e.volume_type==="Removable")return U8;return N8}var S7n;var btt=P(()=>{n$();i3e();s3e();l3e();c3e();u3e();d3e();o$();a$();p3e();t$();S7n={s3:y2,gdrive:lP,dropbox:_U,onedrive:r$,gcs:lP,azblob:GU,b2:HU,wasabi:y2,spaces:y2,cloud:VU}});function xtt(e,t){return{id:`virtual:location:${e.id}`,kind:"Directory",name:e.name,sd_path:e.sd_path,extension:null,size:0,content_identity:null,alternate_paths:[],tags:[],sidecars:[],image_media_data:null,video_media_data:null,audio_media_data:null,created_at:new Date().toISOString(),modified_at:new Date().toISOString(),accessed_at:null,content_kind:"unknown",is_local:!0,duration_seconds:null,_virtual:{type:"location",data:e,iconUrl:typeof t==="string"?t:void 0,iconAsset:typeof t==="number"?t:void 0}}}function Att(e,t,n){let r={Physical:{device_slug:t,path:e.mount_point||"/"}};return{id:`virtual:volume:${e.fingerprint}`,kind:"Directory",name:e.display_name||e.name,sd_path:r,extension:null,size:e.total_capacity?Number(e.total_capacity):0,content_identity:null,alternate_paths:[],tags:[],sidecars:[],image_media_data:null,video_media_data:null,audio_media_data:null,created_at:new Date().toISOString(),modified_at:new Date().toISOString(),accessed_at:null,content_kind:"unknown",is_local:!0,duration_seconds:null,_virtual:{type:"volume",data:e,iconUrl:typeof n==="string"?n:void 0,iconAsset:typeof n==="number"?n:void 0}}}function wtt(e,t){let n={Physical:{device_slug:e.slug,path:"/"}};return{id:`virtual:device:${e.id}`,kind:"Directory",name:e.name,sd_path:n,extension:null,size:0,content_identity:null,alternate_paths:[],tags:[],sidecars:[],image_media_data:null,video_media_data:null,audio_media_data:null,created_at:new Date().toISOString(),modified_at:new Date().toISOString(),accessed_at:null,content_kind:"unknown",is_local:!0,duration_seconds:null,_virtual:{type:"device",data:e,iconUrl:typeof t==="string"?t:void 0,iconAsset:typeof t==="number"?t:void 0}}}function rh(e){return e!=null&&e._virtual!==void 0}function Stt(e){return e?e._virtual||null:null}function Zi(e){return e?.content_identity?.kind??e?.content_kind??"unknown"}function Ctt(e){let t=Zi(e),n=t&&t!=="unknown"?t:e?.kind==="File"?e.extension||"File":e?.kind||"File";return n.charAt(0).toUpperCase()+n.slice(1)}var Li=P(()=>{iet();IAe();EAe();jAe();dtt();mtt();gtt();ytt();vtt();btt();PU()});function Qo(){let e=s$.useContext(Ett);if(!e)throw Error("usePlatform must be used within a PlatformProvider. Make sure PlatformProvider is mounted above this component.");return e}function Itt({platform:e,children:t}){return h(Ett.Provider,{value:e,children:t})}var s$,Ett;var Tc=P(()=>{le();s$=z(re(),1),Ett=s$.createContext(void 0)});var Fr=P(()=>{jAe();Li()});function ktt({children:e}){let t=Qo(),n=qj(),[r,o]=fg.useState(null),[a,i]=fg.useState(()=>n.getCurrentLibraryId());fg.useEffect(()=>{if(t.getDaemonStatus)t.getDaemonStatus().then((c)=>{if(c.server_url)o(c.server_url)}).catch((c)=>{console.warn("[ServerContext] Failed to get daemon status:",c)})},[t]),fg.useEffect(()=>{if(t.getCurrentLibraryId)t.getCurrentLibraryId().then((c)=>{if(c)i(c)}).catch(()=>{})},[t]),fg.useEffect(()=>{if(t.onLibraryIdChanged){let c=t.onLibraryIdChanged((u)=>{i(u)});return()=>{c.then((u)=>u())}}},[t]),fg.useEffect(()=>{let c=(u)=>{i(u)};return n.on("library-changed",c),()=>{n.off("library-changed",c)}},[n]),fg.useEffect(()=>{if(t.onDaemonConnected&&t.getDaemonStatus){let c=t.onDaemonConnected(()=>{t.getDaemonStatus().then((u)=>{if(u.server_url)o(u.server_url)})});return()=>{c.then((u)=>u())}}},[t]);let l={serverUrl:r,libraryId:a,isReady:r!==null&&a!==null,buildSidecarUrl:(c,u,d,p)=>{if(!r||!a)return null;return`${r}/sidecar/${a}/${c}/${u}/${d}.${p}`}};return h(Ttt.Provider,{value:l,children:e})}function e0(){let e=fg.useContext(Ttt);if(!e)throw Error("useServer must be used within a ServerProvider. Make sure ServerProvider is mounted above this component.");return e}var fg,Ttt;var YA=P(()=>{Tc();Fr();le();fg=z(re(),1),Ttt=fg.createContext(null)});function ert(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t{pt=Ve});var trt=(e)=>typeof e==="boolean"?`${e}`:e===0?"0":e,nN,kc=(e,t)=>(n)=>{var r;if((t===null||t===void 0?void 0:t.variants)==null)return nN(e,n===null||n===void 0?void 0:n.class,n===null||n===void 0?void 0:n.className);let{variants:o,defaultVariants:a}=t,i=Object.keys(o).map((c)=>{let u=n===null||n===void 0?void 0:n[c],d=a===null||a===void 0?void 0:a[c];if(u===null)return null;let p=trt(u)||trt(d);return o[c][p]}),s=n&&Object.entries(n).reduce((c,u)=>{let[d,p]=u;if(p===void 0)return c;return c[d]=p,c},{}),l=t===null||t===void 0?void 0:(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,u)=>{let{class:d,className:p,...f}=u;return Object.entries(f).every((m)=>{let[g,v]=m;return Array.isArray(v)?v.includes({...a,...s}[g]):{...a,...s}[g]===v})?[...c,d,p]:c},[]);return nN(e,i,l,n===null||n===void 0?void 0:n.class,n===null||n===void 0?void 0:n.className)};var x2=P(()=>{rn();nN=Ve});var J3e,nrt=(e)=>([t])=>J3e.default.forwardRef(({className:n,...r},o)=>J3e.default.createElement(e,{...r,className:Ve(t,n),ref:o})),UYr,Ta,Yn="outline-none focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2";var AP=P(()=>{rn();J3e=z(re(),1),UYr=new Proxy(()=>{},{get:(e,t)=>nrt(t),apply:(e,t,[n])=>nrt(n)}),Ta=["relative","before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-current before:opacity-0","before:transition-opacity before:duration-200 before:ease-standard","motion-reduce:before:transition-none","hover:before:opacity-8 focus-visible:before:opacity-10 active:before:opacity-10","disabled:before:hidden aria-disabled:before:hidden"].join(" ")});var art,qRn=(e)=>("href"in e),rrt,j3e,$3e,ort,ZRn,ewe,Vt;var twe=P(()=>{x2();AP();le();art=z(re(),1),rrt=["border-transparent bg-primary text-on-primary hover:shadow-md3-1","disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none",Ta],j3e=["border-transparent bg-secondary-container text-on-secondary-container hover:shadow-md3-1","disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none",Ta],$3e=["border-outline-variant bg-transparent text-on-surface-variant","disabled:border-on-surface/12 disabled:text-on-surface/38",Ta],ort=["border-transparent bg-transparent text-primary","disabled:text-on-surface/38",Ta],ZRn=["border-transparent bg-surface-container-low text-primary shadow-md3-1 hover:shadow-md3-2","disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none",Ta],ewe=kc(["inline-flex cursor-pointer select-none items-center justify-center gap-2 whitespace-nowrap border font-plain","transition-[background-color,border-color,box-shadow,color] duration-200 ease-standard","disabled:pointer-events-none disabled:cursor-not-allowed",Yn],{variants:{size:{icon:"size-8 !p-0",lg:"h-10 px-6 text-label-large",md:"h-9 px-5 text-label-large",sm:"h-8 px-4 text-label-large",xs:"h-7 px-3 text-label-medium"},variant:{filled:rrt,tonal:j3e,outlined:$3e,text:ort,elevated:ZRn,default:j3e,gray:j3e,accent:rrt,outline:$3e,subtle:ort,dotted:[...$3e,"border-dashed"],colored:["border-transparent text-on-primary shadow-md3-1","disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none",Ta],bare:""},rounding:{none:"rounded-none",left:"rounded-l-full rounded-r-small",right:"rounded-l-small rounded-r-full",both:"rounded-full",full:"rounded-full",square:"rounded-medium"}},defaultVariants:{size:"sm",variant:"default",rounding:"both"}}),Vt=art.forwardRef(({className:e,loading:t,...n},r)=>{let o=qRn(n);if(t&&!o)n.disabled=!0;let{size:a,variant:i,rounding:s,children:l,...c}=n;return e=nN(ewe({size:a,variant:i,rounding:s}),t&&o&&"pointer-events-none opacity-38",e),o?h("a",{"data-m3-component":"Button",...c,"aria-busy":t||void 0,"aria-disabled":t||void 0,ref:r,className:nN(e,"no-underline"),children:l}):h("button",{type:"button","data-m3-component":"Button",...c,"aria-busy":t||void 0,ref:r,className:e,children:l})});Vt.displayName="Button"});function Gd(e,t={}){if(e===null||e===void 0||e===!1)return null;if(typeof e==="string")return h(at,{name:e,...t});if(T$.isValidElement(e))return e;if(typeof e==="function"||typeof e==="object"&&e!==null&&"$$typeof"in e)return h(e,{...t});return e}var T$,at;var n0=P(()=>{rn();le();T$=z(re(),1),at=T$.forwardRef(({name:e,size:t,filled:n,weight:r,grade:o,label:a,className:i,style:s,...l},c)=>{let u={};if(t!==void 0)u["--md-icon-size"]=`${t}px`;if(n!==void 0)u["--md-icon-fill"]=n?1:0;if(r!==void 0)u["--md-icon-wght"]=r;if(o!==void 0)u["--md-icon-grad"]=o;return h("span",{ref:c,role:a?"img":void 0,"aria-label":a,"aria-hidden":a?void 0:!0,translate:"no","data-m3-component":"Icon",className:Ve("m3-icon",i),style:{fontFamily:"var(--md-icon-font, 'Material Symbols Outlined')",fontSize:"var(--md-icon-size, 24px)",width:"1em",height:"1em",lineHeight:1,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,overflow:"hidden",fontWeight:"normal",fontStyle:"normal",letterSpacing:"normal",textTransform:"none",whiteSpace:"nowrap",direction:"ltr",userSelect:"none",fontFeatureSettings:"'liga'",WebkitFontSmoothing:"antialiased",fontVariationSettings:"'FILL' var(--md-icon-fill, 0), 'wght' var(--md-icon-wght, 400), 'GRAD' var(--md-icon-grad, 0), 'opsz' var(--md-icon-opsz, 24)",...u,...s},...l,children:e})});at.displayName="Icon"});function lrt({error:e,children:t}){return h("p",{className:Ve("px-4 text-body-small",e?"text-error":"text-on-surface-variant"),children:t})}function qd({slug:e,children:t,className:n,...r}){return h("label",{"data-m3-component":"Label",htmlFor:e,className:Ve("text-label-large text-on-surface",n),...r,children:t})}var q8,srt,nwe=(e)=>e==="xs"||e==="sm",irt,QRn,rwe,Ps,crt,k$,urt;var drt=P(()=>{x2();rn();n0();le();q8=z(re(),1),srt={xs:"h-8 text-body-medium",sm:"h-9 text-body-medium",md:"h-10 text-body-large",lg:"h-12 text-body-large",xl:"h-14 text-body-large"},irt=["rounded-extra-small border border-outline bg-transparent","hover:border-on-surface","focus-within:border-primary focus-within:ring-1 focus-within:ring-inset focus-within:ring-primary focus-within:hover:border-primary"],QRn=["rounded-t-extra-small rounded-b-none border-0 border-b border-on-surface-variant bg-surface-container-highest","hover:border-on-surface","before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-on-surface before:opacity-0 before:transition-opacity before:content-[''] hover:before:opacity-8","focus-within:border-primary focus-within:shadow-[inset_0_-1px_0_0_var(--md-sys-color-primary)] focus-within:hover:border-primary"],rwe=kc(["relative text-on-surface caret-primary","outline-none transition-[background-color,border-color,box-shadow] duration-200 ease-standard","has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-38"],{variants:{variant:{default:irt,outlined:irt,filled:QRn,transparent:["border border-transparent bg-transparent placeholder-on-surface-variant focus-within:bg-transparent","focus-within:border-transparent focus-within:ring-transparent"]},error:{true:"caret-error"},size:srt},compoundVariants:[{variant:["default","outlined"],error:!0,className:"border-error hover:border-on-error-container focus-within:border-error focus-within:ring-error focus-within:hover:border-error"},{variant:"filled",error:!0,className:"border-error hover:border-on-error-container focus-within:border-error focus-within:shadow-[inset_0_-1px_0_0_var(--md-sys-color-error)] focus-within:hover:border-error"}],defaultVariants:{variant:"default",size:"xl"}});Ps=q8.forwardRef(({variant:e,size:t,right:n,icon:r,iconPosition:o="left",className:a,error:i,inputElementClassName:s,supportingText:l,...c},u)=>{let d=t??"xl",p=nwe(d),f=M("div",{"data-m3-component":"Input",className:Ve("group flex",rwe({variant:e,size:d,error:i,className:a})),children:[M("div",{className:Ve("flex h-full flex-1 overflow-hidden",o==="right"&&"flex-row-reverse"),children:[r&&h("div",{className:Ve("flex h-full items-center text-on-surface-variant",o==="left"?p?"pl-2 pr-2":"pl-3 pr-4":p?"pl-2 pr-2":"pl-4 pr-3"),children:Gd(r,{size:p?20:24,className:"text-on-surface-variant"})}),h("input",{className:Ve("h-full min-w-0 flex-1 truncate border-none bg-transparent text-on-surface outline-none","placeholder:text-on-surface-variant focus:ring-0 disabled:cursor-not-allowed",p?"px-3 text-body-medium":"px-4 text-body-large",(n||r&&o==="right")&&"pr-0",r&&o==="left"&&"pl-0",d==="xs"&&"py-0",s),onKeyDown:(m)=>{m.stopPropagation()},ref:u,autoComplete:c.autoComplete||"off","aria-invalid":i?!0:void 0,...c})]}),n&&h("div",{className:Ve("flex h-full min-w-[12px] items-center text-on-surface-variant",p?"px-0.5":"px-1"),children:n})]});if(l===void 0||l===null)return f;return M("div",{className:"flex flex-col gap-1",children:[f,h(lrt,{error:i,children:l})]})});Ps.displayName="Input";crt=q8.forwardRef((e,t)=>h(Ps,{...e,ref:t,icon:"search"}));crt.displayName="SearchInput";k$=q8.forwardRef(({size:e,variant:t,error:n,className:r,icon:o,iconPosition:a,inputElementClassName:i,right:s,supportingText:l,...c},u)=>{let d=nwe(e),p=h("textarea",{"data-m3-component":"TextArea",...c,ref:u,"aria-invalid":n?!0:void 0,onKeyDown:(f)=>{f.stopPropagation()},className:Ve("h-auto placeholder:text-on-surface-variant",d?"min-h-9 px-3 py-2 text-body-medium":"min-h-14 px-4 py-4 text-body-large",rwe({size:null,variant:t,error:n}),"disabled:cursor-not-allowed disabled:opacity-38",r)});if(l===void 0||l===null)return p;return M("div",{className:"flex flex-col gap-1",children:[p,h(lrt,{error:n,children:l})]})});k$.displayName="TextArea";urt=q8.forwardRef(({buttonClassnames:e,...t},n)=>{let[r,o]=q8.useState(!1),a=nwe(t.size);return h(Ps,{...t,type:r?"text":"password",ref:n,onKeyDown:(i)=>{i.stopPropagation()},right:h("button",{type:"button",tabIndex:0,onClick:()=>o(!r),"aria-label":r?"Hide Password":"Show Password","aria-pressed":r,disabled:t.disabled,className:Ve("inline-flex shrink-0 items-center justify-center rounded-full text-on-surface-variant outline-none","transition-colors duration-200 ease-standard hover:bg-on-surface-variant/8 active:bg-on-surface-variant/10","focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary","disabled:pointer-events-none disabled:opacity-38",a?"size-8":"size-10",e),children:h(at,{name:r?"visibility_off":"visibility",size:a?20:24,className:"pointer-events-none"})})})});urt.displayName="PasswordInput"});function oa(){}var Rc,$r;var Ci=P(()=>{Rc=Object.freeze([]),$r=Object.freeze({})});function Zd({controlled:e,default:t,name:n,state:r="value"}){let{current:o}=Z8.useRef(e!==void 0),[a,i]=Z8.useState(t),s=o&&e!==void 0?e:a,l=Z8.useCallback((c)=>{if(!o)i(c)},[]);return[s,l]}var Z8;var xb=P(()=>{Z8=z(re(),1)});var prt,XRn=()=>{},Ct;var Nr=P(()=>{prt=z(re(),1),Ct=typeof document<"u"?prt.useLayoutEffect:XRn});function qa(e,t){let n=mrt.useRef(frt);if(n.current===frt)n.current=e(t);return n}var mrt,frt;var om=P(()=>{mrt=z(re(),1),frt={}});function cl(e,t,n,r){let o=qa(grt).current;if(WRn(o,e,t,n,r))yrt(o,[e,t,n,r]);return o.callback}function hrt(e){let t=qa(grt).current;if(YRn(t,e))yrt(t,e);return t.callback}function grt(){return{callback:null,cleanup:null,refs:[]}}function WRn(e,t,n,r,o){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==o}function YRn(e,t){return e.refs.length!==t.length||e.refs.some((n,r)=>n!==t[r])}function yrt(e,t){if(e.refs=t,t.every((n)=>n==null)){e.callback=null;return}e.callback=(n)=>{if(e.cleanup)e.cleanup(),e.cleanup=null;if(n!=null){let r=Array(t.length).fill(null);for(let o=0;o{for(let o=0;o{om()});var vrt,xg,wP;var Q8=P(()=>{vrt={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},xg={...vrt,position:"fixed",top:0,left:0},wP={...vrt,position:"absolute"}});function R$(){return typeof window<"u"}function Pc(e){if(P$(e))return(e.nodeName||"").toLowerCase();return"#document"}function Io(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function wb(e){var t;return(t=(P$(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function P$(e){if(!R$())return!1;return e instanceof Node||e instanceof Io(e).Node}function Dr(e){if(!R$())return!1;return e instanceof Element||e instanceof Io(e).Element}function Xo(e){if(!R$())return!1;return e instanceof HTMLElement||e instanceof Io(e).HTMLElement}function Ab(e){if(!R$()||typeof ShadowRoot>"u")return!1;return e instanceof ShadowRoot||e instanceof Io(e).ShadowRoot}function W8(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=Sf(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function brt(e){return/^(table|td|th)$/.test(Pc(e))}function rN(e){try{if(e.matches(":popover-open"))return!0}catch(t){}try{return e.matches(":modal")}catch(t){return!1}}function M$(e){let t=Dr(e)?Sf(e):e;return X8(t.transform)||X8(t.translate)||X8(t.scale)||X8(t.rotate)||X8(t.perspective)||!D$()&&(X8(t.backdropFilter)||X8(t.filter))||KRn.test(t.willChange||"")||JRn.test(t.contain||"")}function xrt(e){let t=N1(e);while(Xo(t)&&!z1(t)){if(M$(t))return t;else if(rN(t))return null;t=N1(t)}return null}function D$(){if(owe==null)owe=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none");return owe}function z1(e){return/^(html|body|#document)$/.test(Pc(e))}function Sf(e){return Io(e).getComputedStyle(e)}function oN(e){if(Dr(e))return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop};return{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function N1(e){if(Pc(e)==="html")return e;let t=e.assignedSlot||e.parentNode||Ab(e)&&e.host||wb(e);return Ab(t)?t.host:t}function Art(e){let t=N1(e);if(z1(t))return(e.ownerDocument||e).body;if(Xo(t)&&W8(t))return t;return Art(t)}function L4(e,t,n){var r;if(t===void 0)t=[];if(n===void 0)n=!0;let o=Art(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=Io(o);if(a){let s=L$(i);return t.concat(i,i.visualViewport||[],W8(o)?o:[],s&&n?L4(s):[])}else return t.concat(o,L4(o,[],n))}function L$(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var KRn,JRn,X8=(e)=>!!e&&e!=="none",owe;var vs=P(()=>{KRn=/transform|translate|scale|rotate|perspective|filter/,JRn=/paint|layout|strict|content/});function yr(e){return e?.ownerDocument||document}var ul=P(()=>{vs()});function wrt(e){if(!e)return null;for(let t of e.elements){let n=t.tagName;if(n==="BUTTON"||n==="INPUT"){let r=t;if(r.type==="submit")return r}}return null}var Srt="data-valid",Crt="data-invalid";var Ert,$Rn,Irt,B4;var SP=P(()=>{Ert={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},$Rn={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},Irt={disabled:!1,...$Rn},B4={valid(e){if(e===null)return null;if(e)return{[Srt]:""};return{[Crt]:""}}}});var Trt="data-checked",krt="data-unchecked";function B$(e){return{checked(t){if(e.indeterminate)return{};if(t)return{[Trt]:""};return{[krt]:""}},...B4}}var awe=P(()=>{SP()});function Sb(e,t,{detail:n=0}={}){e.dispatchEvent(new(Io(e)).PointerEvent("click",{bubbles:!0,cancelable:!0,composed:!0,detail:n,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey}))}var aN=P(()=>{ul()});function tPn(e,t){return function(r,...o){let a=new URL(e);return a.searchParams.set("code",r.toString()),o.forEach((i)=>a.searchParams.append("args[]",i)),`${t} error #${r}; visit ${a} for the full message.`}}var nPn,Dn;var zo=P(()=>{nPn=tPn("https://base-ui.com/production-error","Base UI"),Dn=nPn});function CP(e){return rPn>=e}var Rrt,rPn;var O$=P(()=>{Rrt=z(re(),1),rPn=parseInt(Rrt.version,10)});function iwe(e){if(!Prt.isValidElement(e))return null;let t=e,n=t.props;return(CP(19)?n?.ref:t.ref)??null}var Prt;var Mrt=P(()=>{O$();Prt=z(re(),1)});function iN(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t};return}function Drt(e,t){let n={};for(let r in e){let o=e[r];if(t?.hasOwnProperty(r)){let a=t[r](o);if(a!=null)Object.assign(n,a);continue}if(o===!0)n[`data-${r.toLowerCase()}`]="";else if(o)n[`data-${r.toLowerCase()}`]=o.toString()}return n}function Lrt(e,t){return typeof e==="function"?e(t):e}function F$(e,t){return typeof e==="function"?e(t):e}function dl(e,t,n,r,o){if(!n&&!r&&!o&&!e)return U$(t);let a=U$(e);if(t)a=sN(a,t);if(n)a=sN(a,n);if(r)a=sN(a,r);if(o)a=sN(a,o);return a}function Brt(e){if(e.length===0)return swe;if(e.length===1)return U$(e[0]);let t=U$(e[0]);for(let n=1;n=65&&o<=90&&(typeof t==="function"||typeof t>"u")}function lwe(e){return typeof e==="function"}function Frt(e,t){if(lwe(e))return e(t);return e??swe}function iPn(e,t){if(!t)return e;if(!e)return Urt(t);return(...n)=>{let r=n[0];if(Nrt(r)){let a=r;lN(a);let i=t(...n);if(!a.baseUIHandlerPrevented)e?.(...n);return i}let o=t(...n);return e?.(...n),o}}function Urt(e){if(!e)return e;return(...t)=>{let n=t[0];if(Nrt(n))lN(n);return e(...t)}}function lN(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function cwe(e,t){if(t){if(e)return t+" "+e;return t}return e}function Nrt(e){return e!=null&&typeof e==="object"&&"nativeEvent"in e}var swe;var zrt=P(()=>{swe={}});var A2=P(()=>{zrt()});function Zt(e,t,n={}){let r=t.render;if(n.enabled!==!1)r=uPn(r);let o=sPn(t,n,r);if(n.enabled===!1)return null;let a=n.state??$r;return dPn(e,r,o,a)}function sPn(e,t,n){let{className:r,style:o}=e,{state:a=$r,ref:i,props:s,stateAttributesMapping:l,enabled:c=!0}=t,u=c?Lrt(r,a):void 0,d=c?F$(o,a):void 0,p=c?Drt(a,l):$r,f=c&&s?lPn(s):void 0,m=c?iN(p,f)??{}:$r;if(typeof document<"u")if(!c)cl(null,null);else if(Array.isArray(i))m.ref=hrt([m.ref,iwe(n),...i]);else m.ref=cl(m.ref,iwe(n),i);if(!c)return $r;if(u!==void 0)m.className=cwe(m.className,u);if(d!==void 0)m.style=iN(m.style,d);return m}function lPn(e){if(Array.isArray(e))return Brt(e);return dl(void 0,e)}function uPn(e){if(e?.$$typeof!==cPn)return e;let t=O4.Children.toArray(e)[0];return O4.isValidElement(t)?t:e}function dPn(e,t,n,r){if(t){if(typeof t==="function")return t(n,r);let o=dl(n,t.props);return o.ref=n.ref,O4.cloneElement(t,o)}if(e){if(typeof e==="string")return pPn(e,n)}throw Error(Dn(8))}function pPn(e,t){if(e==="button")return uwe.createElement("button",{type:"button",...t,key:t.key});if(e==="img")return uwe.createElement("img",{alt:"",...t,key:t.key});return O4.createElement(e,t)}var O4,uwe,cPn;var vr=P(()=>{zo();U1();Mrt();Ci();A2();O4=z(re(),1),uwe=z(re(),1);cPn=Symbol.for("react.lazy")});var fPn,cN;var dwe=P(()=>{fPn=z(re(),1),cN={...fPn}});function mPn(e,t="mui"){let[n,r]=N$.useState(e),o=e||n;return N$.useEffect(()=>{if(n==null)_rt+=1,r(`${t}-${_rt}`)},[n,t]),o}function Ag(e,t){if(Hrt!==void 0){let n=Hrt();return e??(t?`${t}-${n}`:n)}return mPn(e,t)}var N$,_rt=0,Hrt;var Y8=P(()=>{dwe();N$=z(re(),1);Hrt=cN.useId});function go(e){return Ag(e,"base-ui")}var _l=P(()=>{Y8()});function Ot(e){let t=qa(gPn).current;return t.next=e,hPn(t.effect),t.trampoline}function gPn(){let e={next:void 0,callback:yPn,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function yPn(){}var pwe,hPn;var da=P(()=>{dwe();om();pwe=cN.useInsertionEffect,hPn=pwe&&pwe!==cN.useLayoutEffect?pwe:(e)=>e()});function F4(e=!1){let t=z$.useContext(fwe);if(t===void 0&&!e)throw Error(Dn(16));return t}var z$,fwe;var EP=P(()=>{zo();z$=z(re(),1),fwe=z$.createContext(void 0)});function Grt(e){let{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:o=0,isNativeButton:a}=e,i=r&&t!==!1,s=r&&t===!1;return{props:Vrt.useMemo(()=>{let c={onKeyDown(u){if(n&&t&&u.key!=="Tab")u.preventDefault()}};if(!r){if(c.tabIndex=o,!a&&n)c.tabIndex=t?o:-1}if(a&&(t||i)||!a&&n)c["aria-disabled"]=n;if(a&&(!t||s))c.disabled=n;return c},[r,n,t,i,s,a,o])}}var Vrt;var qrt=P(()=>{Vrt=z(re(),1)});function Ys(e={}){let{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:o=!0,composite:a}=e,i=IP.useRef(null),s=F4(!0),l=a??s!==void 0,{props:c}=Grt({focusableWhenDisabled:n,disabled:t,composite:l,tabIndex:r,isNativeButton:o}),u=IP.useCallback(()=>{let f=i.current;if(!mwe(f))return;if(l&&t&&c.disabled===void 0&&f.disabled)f.disabled=!1},[t,c.disabled,l]);Ct(u,[u]);let d=IP.useCallback((f={})=>{let{onClick:m,onMouseDown:g,onKeyUp:v,onKeyDown:y,onPointerDown:x,...A}=f;return dl({onClick(w){if(t){w.preventDefault();return}m?.(w)},onMouseDown(w){if(!t)g?.(w)},onKeyDown(w){if(t)return;if(lN(w),y?.(w),w.baseUIHandlerPrevented)return;let C=w.target===w.currentTarget,E=w.currentTarget,T=mwe(E),I=!o&&vPn(E),k=C&&(o?T:!I),L=w.key==="Enter",O=w.key===" ",B=E.getAttribute("role"),U=B?.startsWith("menuitem")||B==="option"||B==="gridcell";if(C&&l&&O){if(w.defaultPrevented&&U)return;if(w.preventDefault(),!o||T)w.preventBaseUIHandler(),Sb(E,w);return}if(!k||o||!O&&!L){if(C&&I&&O)w.preventDefault();return}if(w.defaultPrevented)return;if(w.preventDefault(),L)w.preventBaseUIHandler(),Sb(E,w)},onKeyUp(w){if(t)return;if(lN(w),v?.(w),w.target===w.currentTarget&&o&&l&&mwe(w.currentTarget)&&w.key===" "){w.preventDefault();return}if(w.baseUIHandlerPrevented)return;if(w.target===w.currentTarget&&!o&&!l&&!w.defaultPrevented&&w.key===" ")w.preventBaseUIHandler(),Sb(w.currentTarget,w)},onPointerDown(w){if(t){w.preventDefault();return}x?.(w)}},o?{type:"button"}:{role:"button"},c,A)},[t,c,l,o]),p=Ot((f)=>{i.current=f,u()});return{getButtonProps:d,buttonRef:p}}function mwe(e){return Xo(e)&&e.tagName==="BUTTON"}function vPn(e){return Xo(e)&&e.tagName==="A"&&Boolean(e.href)}var IP;var TP=P(()=>{vs();da();Nr();A2();EP();qrt();aN();IP=z(re(),1)});var K8=P(()=>{Ci()});function r0(e=!0){let t=_$.useContext(xPn);if(t.setValidityData===oa&&!e)throw Error(Dn(28));return t}var _$,bPn,xPn;var U4=P(()=>{zo();Ci();K8();SP();_$=z(re(),1),bPn={invalid:void 0,name:void 0,validityData:{state:Ert,errors:[],error:"",value:"",initialValue:null},setValidityData:oa,disabled:void 0,setTouched:oa,setDirty:oa,setFilled:oa,setFocused:oa,validationMode:"onSubmit",shouldValidateOnChange:()=>!1,state:Irt,registerFieldControl:oa,validation:{getValidationProps:(e,t=$r)=>t,inputRef:{current:null},registeredInputs:new Map,registerInput:oa,getInputControl:()=>null,commit:async()=>{},change:oa}},xPn=_$.createContext(bPn)});function N4(e,t,n,r,o=!0,a){let{registerFieldControl:i}=r0(),s=qa(()=>Symbol());Ct(()=>{let l=s.current;if(!o){i(l,void 0);return}i(l,{controlRef:e,getValue:r,id:t,name:a,value:n})},[e,o,r,t,a,i,s,n]),Ct(()=>{let l=s.current;return()=>{i(l,void 0)}},[i,s])}var uN=P(()=>{Nr();om();U4()});function Zrt(){return H$.useContext(APn)}var H$,APn;var Qrt=P(()=>{H$=z(re(),1),APn=H$.createContext({disabled:!1})});function z4(){return V$.useContext(wPn)}var V$,wPn;var dN=P(()=>{K8();V$=z(re(),1),wPn=V$.createContext({elementRef:{current:null},formRef:{current:{fields:new Map}},errors:{},clearErrors:oa,validationMode:"onSubmit",submitCountRef:{current:0}})});function Cb(){return G$.useContext(SPn)}var G$,SPn;var kP=P(()=>{K8();G$=z(re(),1),SPn=G$.createContext({controlId:void 0,registerControlId:oa,resetControlId:oa,labelId:void 0,setLabelId:oa,messageIds:[],setMessageIds:oa,getDescriptionProps:(e)=>e})});function q$(e,t,n,r=!0,o){let[a,i]=Xrt.useState(),s=go(o?`${o}-label`:void 0),l=e??t??a;return Ct(()=>{let c=e||t||!r?void 0:CPn(n.current,s);if(a!==c)i(c)}),l}function CPn(e,t){let n=EPn(e);if(!n)return;if(!n.id&&t)n.id=t;return n.id||void 0}function EPn(e){if(!e)return;let t=e.parentElement;if(t&&t.tagName==="LABEL")return t;let n=e.id;if(n){let o=e.nextElementSibling;if(o&&o.htmlFor===n)return o}let r=e.labels;return r&&r[0]}var Xrt;var hwe=P(()=>{Nr();_l();Xrt=z(re(),1)});function Eb(e={}){let{id:t,enabled:n=!0}=e,{controlId:r,registerControlId:o,resetControlId:a}=Cb(),i=go(),s=qa(()=>Symbol()),l=gwe.useRef(!1),c=gwe.useRef(!1),u=Ot(()=>{if(!l.current||o===oa)return;l.current=!1,o(s.current,void 0)});return Ct(()=>{if(!n||o===oa){u();return}let d;if(t!==void 0)c.current=!0,d=t;else if(c.current)d=i;else{a();return}if(d===void 0){u();return}l.current=!0,o(s.current,d);return},[t,n,o,a,i,s,u]),Ct(()=>u,[u]),(n?r:void 0)??t??i}var gwe;var RP=P(()=>{Nr();da();om();K8();_l();kP();gwe=z(re(),1)});function Wrt(){return Z$.useContext(IPn)}var Z$,IPn;var Yrt=P(()=>{Z$=z(re(),1),IPn=Z$.createContext(void 0)});function Krt(){let e=Q$.useContext(ywe);if(e===void 0)throw Error(Dn(14));return e}var Q$,ywe;var vwe=P(()=>{zo();Q$=z(re(),1),ywe=Q$.createContext(void 0)});var _1="none",Ib="trigger-press",sc="trigger-hover",PP="trigger-focus",X$="outside-press",J8="item-press",bwe="close-press",Jrt="track-press",TPn="input-change",_4="focus-out",pN="escape-key",W$="list-navigation",kPn="keyboard",RPn="drag",jrt="cancel-open",fN="sibling-open",$rt="disabled",eot="missing",tot="initial",Y$="imperative-action",PPn="window-resize";var ko=()=>{};function un(e,t,n,r){let o=!1,a=!1,i=r??$r;return{reason:e,event:t??new Event("base-ui"),cancel(){o=!0},allowPropagation(){a=!0},get isCanceled(){return o},get isPropagationAllowed(){return a},trigger:n,...i}}function K$(e,t,n){let r=n??$r;return{reason:e,event:t??new Event("base-ui"),...r}}var ka=P(()=>{Ci()});function Tb(e,t){let n=not.useRef(e),r=Ot(t);Ct(()=>{if(n.current!==e)r(n.current);n.current=e},[e,r])}var not;var MP=P(()=>{Nr();da();not=z(re(),1)});var w2,MPn="data-parent",rot;var oot=P(()=>{Ci();xb();Nr();U1();Q8();ul();awe();aN();vr();_l();A2();TP();U4();uN();Qrt();dN();kP();hwe();RP();Yrt();vwe();ka();ko();MP();le();w2=z(re(),1),rot=w2.forwardRef(function(t,n){let{checked:r,className:o,defaultChecked:a=!1,"aria-labelledby":i,disabled:s=!1,form:l,id:c,indeterminate:u=!1,inputRef:d,name:p,onCheckedChange:f,parent:m=!1,readOnly:g=!1,render:v,required:y=!1,uncheckedValue:x,value:A,nativeButton:w=!1,style:C,...E}=t,{clearErrors:T}=z4(),{disabled:I,name:k,setDirty:L,setFilled:O,setFocused:B,setTouched:U,state:D,validationMode:N,validityData:_,validation:G}=r0(),Z=Zrt(),{labelId:q,registerControlId:H,getDescriptionProps:te}=Cb(),ie=Wrt(),j=ie?.allValues===void 0?void 0:ie.parent,oe=j!==void 0,J=I||Z.disabled||ie?.disabled||s,Y=k??p,ae=A??Y,ne=go(),Se=ie?.registerControlId!==H,fe=Eb({id:c||void 0,enabled:Se}),Ae=w?fe:ne,Ee={};if(oe){if(m)Ee=j.getParentProps();else if(ae!==void 0)Ee=j.getChildProps(ae)}let{checked:pe=r,indeterminate:Re=u,onCheckedChange:Le,...Ne}=Ee,be=ie?.value,ye=w2.useRef(null),{getButtonProps:ce,buttonRef:ue}=Ys({disabled:J,native:w}),ke=ie?.validation??G,[se,qe]=Zd({controlled:ae!==void 0&&be!==void 0&&!m?be.includes(ae):pe,default:a,name:"Checkbox",state:"checked"}),Me=oe?Boolean(pe):se,Qe=oe?Re||u:u;N4(ye,ne,se,void 0,!ie&&!J,p);let ee=j?.registerChildId,K=w2.useRef(null),we=ke.registerInput,ze=ie?ae:void 0,tt=w2.useCallback((ge)=>we(ge,{controlRef:ye,value:ze}),[we,ze]),Pe=cl(d,K,m?void 0:tt),Ke=q$(i,q,K,!w,fe);Ct(()=>{if(K.current)K.current.indeterminate=Qe;if(!ie)O(se)},[se,Qe,ie,O]),Tb(se,()=>{if(ie)return;T(Y),L(se!==_.initialValue),ke.change(se)});let Ue=dl({checked:se,disabled:J,form:l,name:m?void 0:Y,id:w?void 0:fe,required:y,ref:Pe,style:Y?wP:xg,tabIndex:-1,type:"checkbox","aria-hidden":!0,onChange(ge){if(ge.nativeEvent.defaultPrevented)return;if(g){ge.preventDefault();return}let Oe=ge.currentTarget.checked,Xe=un(_1,ge.nativeEvent);if(f?.(Oe,Xe),Xe.isCanceled)return;if(Le?.(Oe,Xe),Xe.isCanceled)return;if(qe(Oe),ae!==void 0&&ie!==void 0&&!m&&!oe){let $e=Oe?[...ie.value,ae]:ie.value.filter((Ie)=>Ie!==ae);ie.setValue($e,Xe)}},onClick(ge){ge.stopPropagation()},onFocus(){ye.current?.focus()}},A!==void 0?{value:(ie?se&&A:A)||""}:$r,te,(ge)=>ke.getValidationProps(J,ge));w2.useEffect(()=>{if(!j||ae===void 0)return;let ge=j.disabledStatesRef.current;return ge.set(ae,J),()=>{ge.delete(ae)}},[j,J,ae]);let Ze=w2.useMemo(()=>({...D,checked:Me,disabled:J,readOnly:g,required:y,indeterminate:Qe}),[D,Me,J,g,y,Qe]),ct=B$(Ze),Rt=Zt("span",t,{state:Ze,ref:[ue,ye,n],props:[{id:Ae,role:"checkbox","aria-checked":Qe?"mixed":Me,"aria-readonly":g||void 0,"aria-required":y||void 0,"aria-labelledby":Ke,[MPn]:m?"":void 0,onFocus(){if(!J)B(!0)},onBlur(){let ge=K.current;if(!ge)return;if(U(!0),B(!1),N==="onBlur")ke.commit(ie?be:ge.checked)},onKeyDown(ge){if(ge.key!=="Enter")return;if(ge.preventBaseUIHandler(),ge.defaultPrevented)return;let Oe=K.current?.form??null,{currentTarget:Xe,nativeEvent:$e,preventDefault:Ie}=ge,Ge=$e.preventDefault,_e=!1;ge.preventDefault=()=>{_e=!0,Ie.call(ge)},$e.preventDefault=()=>{_e=!0,Ge.call($e)},Ge.call($e),Io(Xe).queueMicrotask(()=>{if(ge.preventDefault=Ie,$e.preventDefault=Ge,!_e)wrt(Oe)?.click()})},onClick(ge){if(g||J)return;ge.preventDefault();let Oe=K.current;if(!Oe)return;Sb(Oe,ge)}},E,Ne,ce,te,(ge)=>ke.getValidationProps(J,ge)],stateAttributesMapping:ct}),de=Rt.props.id;return Ct(()=>{if(!ee||m||ae===void 0||de===void 0)return;return ee(ae,de)},[ee,m,ae,de]),M(ywe.Provider,{value:Ze,children:[Rt,!se&&!ie&&Y&&!m&&x!==void 0&&h("input",{type:"hidden",form:l,name:Y,value:x,disabled:J}),h("input",{...Ue,suppressHydrationWarning:!0})]})})});function DP(e){aot.useEffect(e,Rc)}var aot;var J$=P(()=>{Ci();aot=z(re(),1)});class iot{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=(e)=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let r=0;r=this.callbacks.length)return;if(this.callbacks[t]===null)return;this.callbacks[t]=null,this.callbacksCount-=1}}class Cf{static create(){return new Cf}static request(e){return $$.request(e)}static cancel(e){return $$.cancel(e)}currentId=j$;request(e){this.cancel(),this.currentId=$$.request(()=>{this.currentId=j$,e()})}cancel=()=>{if(this.currentId!==j$)$$.cancel(this.currentId),this.currentId=j$};disposeEffect=()=>this.cancel}function wg(){let e=qa(Cf.create).current;return DP(e.disposeEffect),e}var j$=null,pjr,$$;var kb=P(()=>{om();J$();pjr=globalThis.requestAnimationFrame;$$=new iot});function S2(e){if(e==null)return e;return"current"in e?e.current:e}var H4="data-starting-style",LP="data-ending-style";function DPn(e){if(!eee){let t=[];eee=t,queueMicrotask(()=>{eee=null,Ec(()=>{for(let n of t)n()})})}eee.push(e)}function Rb(e,t=!1,n=!1){let r=wg();return Ot((o,a=null)=>{r.cancel();let i=S2(e);if(i==null)return;let s=i,l=()=>{if(!n){Ec(o);return}DPn(()=>{if(!a?.aborted)o()})};if(typeof s.getAnimations!=="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED){o();return}function c(){Promise.all(s.getAnimations().map((u)=>u.finished)).then(()=>{if(!a?.aborted)l()},()=>{if(a?.aborted)return;if(s.getAnimations().some((d)=>d.pending||d.playState!=="finished")){c();return}l()})}if(t){let u=H4;if(!s.hasAttribute(u)){r.request(c);return}let d=new MutationObserver(()=>{if(!s.hasAttribute(u))d.disconnect(),c()});d.observe(s,{attributes:!0,attributeFilter:[u]}),a?.addEventListener("abort",()=>d.disconnect(),{once:!0});return}r.request(c)})}var eee=null;var BP=P(()=>{bd();kb();da()});function ji(e){let{enabled:t=!0,open:n,ref:r,batch:o=!1,onComplete:a}=e,i=Ot(a),s=Rb(r,n,o);sot.useEffect(()=>{if(!t)return;let l=new AbortController;return s(i,l.signal),()=>{l.abort()}},[t,n,i,s])}var sot;var oh=P(()=>{da();BP();sot=z(re(),1)});function Sp(e,t=!1,n=!1,r=!1){let[o,a]=xwe.useState(e&&t?"idle":void 0),[i,s]=xwe.useState(e&&!r);if(e&&!i)s(!0),a("starting");if(!e&&i&&o!=="ending"&&!n)a("ending");if(!e&&!i&&o==="ending")a(void 0);return Ct(()=>{if(!e&&i&&o!=="ending"&&n){let l=Cf.request(()=>{a("ending")});return()=>{Cf.cancel(l)}}return},[e,i,o,n]),Ct(()=>{if(!e||t)return;let l=Cf.request(()=>{a(void 0)});return()=>{Cf.cancel(l)}},[t,e]),Ct(()=>{if(!e||!t)return;if(e&&i&&o!=="idle")a("starting");let l=Cf.request(()=>{a("idle")});return()=>{Cf.cancel(l)}},[t,e,i,o]),{mounted:i,setMounted:s,transitionStatus:o}}var xwe;var Pb=P(()=>{Nr();kb();xwe=z(re(),1)});var LPn,BPn,Cp;var H1=P(()=>{LPn={[H4]:""},BPn={[LP]:""},Cp={transitionStatus(e){if(e==="starting")return LPn;if(e==="ending")return BPn;return null}}});var tee,lot;var cot=P(()=>{vwe();vr();awe();oh();Pb();H1();tee=z(re(),1),lot=tee.forwardRef(function(t,n){let{render:r,className:o,style:a,keepMounted:i=!1,...s}=t,l=Krt(),c=l.checked||l.indeterminate,{mounted:u,transitionStatus:d,setMounted:p}=Sp(c),f=tee.useRef(null),m={...l,transitionStatus:d};ji({batch:!0,enabled:!c,open:c,ref:f,onComplete(){if(!c)p(!1)}});let v={...B$(l),...Cp},y=i||u,x=Zt("span",t,{ref:[n,f],state:m,stateAttributesMapping:v,props:s});if(!y)return null;return x})});var dot=P(()=>{oot();cot()});var pot=P(()=>{dot()});function io(e,t){if(typeof t==="function")return(n)=>Ve(e,t(n));return Ve(e,t)}function am(e,t){if(!e||!OP.isValidElement(t))return{children:t};let n=t.type;return{render:t,nativeButton:typeof n==="string"?n==="button":void 0}}function V4(e,t){let n=OP.createContext(!1),r=({forceMount:a,...i})=>h(n.Provider,{value:!0,children:h(e,{...i,keepMounted:i.keepMounted??a})});return r.displayName=t,{Portal:r,EnsurePortal:({children:a,keepMounted:i})=>{if(OP.useContext(n))return h(Ht,{children:a});return h(r,{keepMounted:i,children:a})}}}var OP;var V1=P(()=>{rn();le();OP=z(re(),1)});function NPn({checked:e,defaultChecked:t,indeterminate:n}){return{checked:e===void 0?void 0:e===!0,defaultChecked:t===void 0?void 0:t===!0,indeterminate:n??(e==="indeterminate"||t==="indeterminate")}}var nee,fot,mot="outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary",OPn,FP,FPn=(e)=>Ve("group relative flex size-[18px] shrink-0 cursor-pointer items-center justify-center rounded-[2px] border-2 border-on-surface-variant bg-transparent text-on-primary","transition-colors duration-200 ease-standard",fot,mot,"data-checked:border-primary data-checked:bg-primary data-checked:hover:before:bg-primary/8","data-indeterminate:border-primary data-indeterminate:bg-primary","data-disabled:cursor-not-allowed data-disabled:opacity-38",e&&"border-error text-on-error hover:before:bg-error/8 data-checked:border-error data-checked:bg-error data-indeterminate:border-error data-indeterminate:bg-error"),UPn=()=>M(Ht,{children:[h("span",{className:"flex group-data-indeterminate:hidden",children:h(at,{name:"check",size:18,weight:700})}),h("span",{className:"hidden group-data-indeterminate:flex",children:h(at,{name:"remove",size:18,weight:700})})]}),zPn,_Pn;var hot=P(()=>{pot();x2();rn();V1();n0();le();nee=z(re(),1),fot=["before:pointer-events-none before:absolute before:left-1/2 before:top-1/2 before:size-10 before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-full before:content-['']","before:transition-colors before:duration-200 before:ease-standard","hover:before:bg-on-surface/8 focus-visible:before:bg-on-surface/10 active:before:bg-primary/10"],OPn=kc(["relative float-left mr-2 mt-1 size-[18px] shrink-0 cursor-pointer appearance-none rounded-[2px] border-2 border-on-surface-variant bg-transparent align-top","transition-colors duration-200 ease-standard",fot,mot,"checked:border-primary checked:bg-primary checked:hover:before:bg-primary/8","indeterminate:border-primary indeterminate:bg-primary","checked:after:absolute checked:after:left-[4px] checked:after:top-[0px] checked:after:h-[10px] checked:after:w-[5px] checked:after:rotate-45 checked:after:border-b-2 checked:after:border-r-2 checked:after:border-on-primary checked:after:content-['']","indeterminate:after:absolute indeterminate:after:left-[2px] indeterminate:after:top-[6px] indeterminate:after:h-[2px] indeterminate:after:w-[10px] indeterminate:after:bg-on-primary indeterminate:after:content-['']","disabled:cursor-not-allowed disabled:opacity-38"],{variants:{error:{true:"border-error checked:border-error checked:bg-error checked:after:border-on-error indeterminate:border-error indeterminate:bg-error indeterminate:after:bg-on-error hover:before:bg-error/8"}}}),FP=nee.forwardRef(({className:e,error:t,...n},r)=>h("input",{...n,type:"checkbox","data-m3-component":"CheckBox",ref:r,"aria-invalid":t?!0:void 0,className:OPn({error:t,className:e})}));FP.displayName="CheckBox";zPn=nee.forwardRef(({className:e,error:t,checked:n,defaultChecked:r,indeterminate:o,...a},i)=>h(rot,{ref:i,nativeButton:!0,render:h("button",{type:"button"}),"aria-invalid":t?!0:void 0,"data-m3-component":"CheckboxRoot",className:io(FPn(t),e),...a,...NPn({checked:n,defaultChecked:r,indeterminate:o})}));zPn.displayName="CheckboxRoot";_Pn=nee.forwardRef(({className:e,children:t,...n},r)=>h(lot,{ref:r,className:io("flex items-center justify-center",e),...n,children:t??h(UPn,{})}));_Pn.displayName="CheckboxIndicator"});var KA=P(()=>{TP()});function got(){let e=ree.useContext(Awe);if(e===void 0)throw Error(Dn(63));return e}var ree,Awe;var wwe=P(()=>{zo();ree=z(re(),1),Awe=ree.createContext(void 0)});var yot="data-checked",vot="data-unchecked";var oee;var Swe=P(()=>{SP();oee={...B4,checked(e){if(e)return{[yot]:""};return{[vot]:""}}}});var j8,bot;var xot=P(()=>{xb();U1();Nr();Q8();Ci();vr();_l();KA();wwe();Swe();aN();U4();uN();dN();kP();hwe();RP();ka();ko();MP();le();j8=z(re(),1),bot=j8.forwardRef(function(t,n){let{checked:r,className:o,defaultChecked:a,"aria-labelledby":i,form:s,id:l,inputRef:c,name:u,nativeButton:d=!1,onCheckedChange:p,readOnly:f=!1,required:m=!1,disabled:g=!1,render:v,uncheckedValue:y,value:x,style:A,...w}=t,{clearErrors:C}=z4(),{state:E,setTouched:T,setDirty:I,validityData:k,setFilled:L,setFocused:O,validationMode:B,disabled:U,name:D,validation:N}=r0(),{labelId:_}=Cb(),G=U||g,Z=D??u,q=j8.useRef(null),H=cl(q,c,N.inputRef),te=j8.useRef(null),ie=go(),j=Eb({id:l}),oe=d?void 0:j,[J,Y]=Zd({controlled:r,default:Boolean(a),name:"Switch",state:"checked"});N4(te,ie,J,void 0,!G,u),Ct(()=>{L(J)},[J,L]),Tb(J,()=>{C(Z),I(J!==k.initialValue),N.change(J)});let{getButtonProps:ae,buttonRef:ne}=Ys({disabled:G,native:d}),Se=q$(i,_,q,!d,oe),fe={id:d?j:ie,role:"switch","aria-checked":J,"aria-readonly":f||void 0,"aria-required":m||void 0,"aria-labelledby":Se,onFocus(){if(!G)O(!0)},onBlur(){let Re=q.current;if(!Re||G)return;if(T(!0),O(!1),B==="onBlur")N.commit(Re.checked)},onClick(Re){if(f||G)return;Re.preventDefault();let Le=q.current;if(!Le)return;Sb(Le,Re)}},Ae={...N.getValidationProps(G),checked:J,disabled:G,form:s,id:oe,name:Z,required:m,style:Z?wP:xg,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:H,onChange(Re){if(Re.nativeEvent.defaultPrevented)return;if(f){Re.preventDefault();return}let Le=Re.currentTarget.checked,Ne=un(_1,Re.nativeEvent);if(p?.(Le,Ne),Ne.isCanceled)return;Y(Le)},onClick(Re){Re.stopPropagation()},onFocus(){te.current?.focus()},...x!==void 0?{value:x}:$r},Ee=j8.useMemo(()=>({...E,checked:J,disabled:G,readOnly:f,required:m}),[E,J,G,f,m]),pe=Zt("span",t,{state:Ee,ref:[n,te,ne],props:[fe,w,ae,(Re)=>N.getValidationProps(G,Re)],stateAttributesMapping:oee});return M(Awe.Provider,{value:Ee,children:[pe,!J&&Z&&y!==void 0&&h("input",{type:"hidden",form:s,name:Z,value:y,disabled:G}),h("input",{...Ae,suppressHydrationWarning:!0})]})})});var Aot,wot;var Sot=P(()=>{wwe();vr();Swe();Aot=z(re(),1),wot=Aot.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,s=got();return Zt("span",t,{state:s,ref:n,stateAttributesMapping:oee,props:i})})});var Eot=P(()=>{xot();Sot()});var Iot=P(()=>{Eot()});var Tot,VPn,GPn,G1;var kot=P(()=>{Iot();x2();V1();n0();le();Tot=z(re(),1),VPn=kc(["group relative inline-flex shrink-0 cursor-pointer items-center rounded-full border-2","transition-colors duration-200 ease-standard","border-outline bg-surface-container-highest","data-checked:border-primary data-checked:bg-primary","outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary","data-disabled:cursor-not-allowed data-disabled:opacity-38"],{variants:{size:{sm:"h-6 w-10",md:"h-8 w-[52px]",lg:"h-8 w-[52px]"}},defaultVariants:{size:"md"}}),GPn=kc(["pointer-events-none absolute top-1/2 flex -translate-y-1/2 items-center justify-center rounded-full","transition-[left,width,height,background-color] duration-200 ease-standard","bg-outline group-hover:bg-on-surface-variant","data-checked:bg-on-primary group-hover:data-checked:bg-primary-container","before:absolute before:left-1/2 before:top-1/2 before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-full before:content-['']","before:transition-colors before:duration-200 before:ease-standard","group-hover:before:bg-on-surface/8 group-focus-visible:before:bg-on-surface/10 group-active:before:bg-on-surface/10","data-checked:group-hover:before:bg-primary/8 data-checked:group-focus-visible:before:bg-primary/10 data-checked:group-active:before:bg-primary/10"],{variants:{size:{sm:["left-[4px] size-3 before:size-8","data-checked:left-[18px] data-checked:size-4","group-active:left-[0px] group-active:size-5 data-checked:group-active:left-[16px] data-checked:group-active:size-5"],md:["left-[6px] size-4 before:size-10","data-checked:left-[22px] data-checked:size-6","group-active:left-[0px] group-active:size-7 data-checked:group-active:left-[20px] data-checked:group-active:size-7"],lg:["left-[6px] size-4 before:size-10","data-checked:left-[22px] data-checked:size-6","group-active:left-[0px] group-active:size-7 data-checked:group-active:left-[20px] data-checked:group-active:size-7"]}},defaultVariants:{size:"md"}}),G1=Tot.forwardRef(({size:e,className:t,thumbClassName:n,icons:r,...o},a)=>h(bot,{nativeButton:!0,render:h("button",{type:"button"}),"data-m3-component":"Switch",...o,ref:a,className:io(VPn({size:e}),t),children:h(wot,{className:GPn({size:e,className:n}),children:r&&h(at,{name:"check",size:e==="sm"?12:16,className:"relative text-on-primary-container opacity-0 transition-opacity duration-200 ease-standard group-data-checked:opacity-100"})})}));G1.displayName="Switch"});function $i(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}function hN(e,t,n=Object.is){let{length:r}=e;if(r!==t.length)return!1;for(let o=0;o"u")return{userAgent:"",platform:"",maxTouchPoints:0};return{userAgent:navigator.userAgent,platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??0}}var ZPn,QPn,Rot,$8,eE;var aee=P(()=>{({userAgent:ZPn,platform:QPn,maxTouchPoints:Rot}=qPn()),$8=ZPn.toLowerCase(),eE=QPn.toLowerCase()});var JA={};Xs(JA,{android:()=>Mot,apple:()=>Ewe,ios:()=>Cwe,linux:()=>WPn,mac:()=>Dot,windows:()=>XPn});var Cwe,Pot="android",Mot,Dot,XPn,WPn,Ewe;var Iwe=P(()=>{aee();Cwe=/^i(os$|p)/.test(eE)||eE==="macintel"&&Rot>1,Mot=eE===Pot||$8.includes(Pot),Dot=!Cwe&&eE.startsWith("mac"),XPn=eE.startsWith("win"),WPn=!Mot&&/^(linux|chrome os)/.test(eE),Ewe=Dot||Cwe});var jA={};Xs(jA,{blink:()=>KPn,gecko:()=>YPn,webkit:()=>Twe});var Twe,YPn,KPn;var Lot=P(()=>{aee();Twe=typeof CSS<"u"&&!!CSS.supports?.("-webkit-backdrop-filter:none"),YPn=!Twe&&$8.includes("firefox"),KPn=!Twe&&$8.includes("chrom")});var iee={};Xs(iee,{voiceOver:()=>JPn});var JPn;var Bot=P(()=>{Iwe();JPn=Ewe});var gN={};Xs(gN,{jsdom:()=>jPn});var jPn;var Oot=P(()=>{aee();jPn=/jsdom|happydom/.test($8)});var Fot=P(()=>{Iwe();Lot();Bot();Oot()});var a0=P(()=>{Fot()});function Ks(e){let t=e.activeElement;while(t?.shadowRoot?.activeElement!=null)t=t.shadowRoot.activeElement;return t}function Ln(e,t){if(!e||!t)return!1;let n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&Ab(n)){let r=t;while(r){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function fi(e){if("composedPath"in e)return e.composedPath()[0]??e.target;return e.target}var Uot=P(()=>{vs()});var yN="data-base-ui-focusable",kwe="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])",vN="ArrowLeft",bN="ArrowRight",Rwe="ArrowUp",see="ArrowDown";var Pwe="data-open",Mwe="data-closed",$Pn,e9n,Not="data-anchor-hidden";var _ot=P(()=>{$Pn=H4,e9n=LP});var xN="data-popup-open",Dwe="data-pressed";var t9n,n9n,r9n,o9n,a9n,Mb,tE,nE,G4;var Ep=P(()=>{H1();_ot();t9n={[xN]:""},n9n={[xN]:"",[Dwe]:""},r9n={[Pwe]:""},o9n={[Mwe]:""},a9n={[Not]:""},Mb={open(e){if(e)return t9n;return null}},tE={open(e){if(e)return n9n;return null}},nE={open(e){if(e)return r9n;return o9n},anchorHidden(e){if(e)return a9n;return null}},G4={...nE,...Cp}});var W$r,AN="data-trigger-disabled";var Bwe=P(()=>{Ep();W$r=xN});function q4(e,t){if(!Dr(e))return!1;let n=e;if(t.hasElement(n))return!n.hasAttribute(AN);for(let[,r]of t.entries())if(Ln(r,n))return!r.hasAttribute(AN);return!1}function lee(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function Vot(e){return e.matches("html,body")}function rE(e){return Xo(e)&&e.matches(kwe)}function Owe(e){return e?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${kwe}`)!=null}function wN(e){if(!e)return!1;return e.getAttribute("role")==="combobox"&&rE(e)}function cee(e){if(!e||gN.jsdom)return!0;try{return e.matches(":focus-visible")}catch(t){return!0}}function oE(e){if(!e)return null;return e.hasAttribute(yN)?e:e.querySelector(`[${yN}]`)||e}var im=P(()=>{vs();a0();Uot();Bwe()});function q1(e,t,n=!0){return e.filter((o)=>o.parentId===t).flatMap((o)=>[...!n||o.context?.open?[o]:[],...q1(e,o.id,n)])}function Fwe(e,t){let n=[],r=e.find((o)=>o.id===t)?.parentId;while(r){let o=e.find((a)=>a.id===r);if(r=o?.parentId,o)n=n.concat(o)}return n}function i0(e){e.preventDefault(),e.stopPropagation()}function Got(e){return"nativeEvent"in e}function Z4(e){if(e.pointerType===""&&e.isTrusted)return!0;if(JA.android&&e.pointerType)return e.type==="click"&&e.buttons===1;return e.detail===0&&!e.pointerType}function UP(e){if(gN.jsdom)return!1;return!JA.android&&e.width===0&&e.height===0||JA.android&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function Sg(e,t){let n=["mouse","pen"];if(!t)n.push("",void 0);return n.includes(e)}function qot(e){let t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}var Z1=P(()=>{a0()});function dee(e,t,n){return C2(e,Q4(t,n))}function Lb(e,t){return typeof e==="function"?e(t):e}function s0(e){return e.split("-")[0]}function Q1(e){return e.split("-")[1]}function pee(e){return e==="x"?"y":"x"}function IN(e){return e==="y"?"height":"width"}function l0(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function TN(e){return pee(l0(e))}function Xot(e,t,n){if(n===void 0)n=!1;let r=Q1(e),o=TN(e),a=IN(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";if(t.reference[a]>t.floating[a])i=SN(i);return[i,SN(i)]}function Wot(e){let t=SN(e);return[uee(e),t,uee(t)]}function uee(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}function c9n(e,t,n){switch(e){case"top":case"bottom":if(n)return t?Qot:Zot;return t?Zot:Qot;case"left":case"right":return t?s9n:l9n;default:return[]}}function Yot(e,t,n,r){let o=Q1(e),a=c9n(s0(e),n==="start",r);if(o){if(a=a.map((i)=>i+"-"+o),t)a=a.concat(a.map(uee))}return a}function SN(e){let t=s0(e);return i9n[t]+e.slice(t.length)}function u9n(e){var t,n,r,o;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(r=e.bottom)!=null?r:0,left:(o=e.left)!=null?o:0}}function fee(e){return typeof e!=="number"?u9n(e):{top:e,right:e,bottom:e,left:e}}function $A(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}var Q4,C2,CN,EN,Db=(e)=>({x:e,y:e}),i9n,Zot,Qot,s9n,l9n;var aE=P(()=>{Q4=Math.min,C2=Math.max,CN=Math.round,EN=Math.floor,i9n={left:"right",right:"left",bottom:"top",top:"bottom"};Zot=["left","right"],Qot=["right","left"],s9n=["top","bottom"],l9n=["bottom","top"]});function X4(e,t){return t<0||t>=e.length}function iE(e,t){return X1(e.current,{disabledIndices:t})}function NP(e,t){return X1(e.current,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function X1(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:o=1}={}){let a=t;do a+=n?-o:o;while(a>=0&&a<=e.length-1&&e3(e,a,r));return a}function e3(e,t,n){if(typeof n==="function"?n(t):n?.includes(t)??!1)return!0;let o=e[t];if(!o)return!1;if(!sE(o))return!0;if(o.matches(":disabled"))return!0;return!n&&(o.hasAttribute("disabled")||o.getAttribute("aria-disabled")==="true")}function d9n(e){return e.visibility==="hidden"||e.visibility==="collapse"}function sE(e,t=e?Sf(e):null){if(!e||!e.isConnected||!t||d9n(t))return!1;if(typeof e.checkVisibility==="function")return e.checkVisibility();return t.display!=="none"&&t.display!=="contents"}var zP=P(()=>{vs()});function f9n(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let n=e.getRootNode();return Ab(n)?n.host:null}function Nwe(e){for(let t of Array.from(e.children))if(Pc(t)==="summary")return t;return null}function m9n(e,t){let n=Nwe(t);return!!n&&(e===n||Ln(n,e))}function Kot(e){let t=e?Pc(e):"";return e!=null&&e.matches(p9n)&&(t!=="summary"||e.parentElement!=null&&Pc(e.parentElement)==="details"&&Nwe(e.parentElement)===e)&&(t!=="details"||Nwe(e)==null)&&(t!=="input"||e.type!=="hidden")}function Jot(e){if(!Kot(e)||!e.isConnected||e.matches(":disabled"))return!1;for(let t=e;t;t=f9n(t)){let n=t!==e,r=Pc(t)==="slot";if(t.hasAttribute("inert"))return!1;if(n&&Pc(t)==="details"&&!t.open&&!m9n(e,t)||t.hasAttribute("hidden")||!r&&!h9n(t,n))return!1}return!0}function h9n(e,t){let n=Sf(e);if(!t)return sE(e,n);return n.display!=="none"}function jot(e){let t=e.tabIndex;if(t<0){let n=Pc(e);if(n==="details"||n==="audio"||n==="video"||Xo(e)&&e.isContentEditable)return 0}return t}function Uwe(e){if(Pc(e)!=="input")return null;let t=e;return t.type==="radio"&&t.name!==""?t:null}function g9n(e,t){let n=Uwe(e);if(!n)return!0;let r=t.find((o)=>{let a=Uwe(o);return a?.name===n.name&&a.form===n.form&&a.checked});if(r)return r===n;return t.find((o)=>{let a=Uwe(o);return a?.name===n.name&&a.form===n.form})===n}function $ot(e){if(Xo(e)&&Pc(e)==="slot"){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}if(Xo(e)&&e.shadowRoot)return Array.from(e.shadowRoot.children);return Array.from(e.children)}function eat(e,t){$ot(e).forEach((n)=>{if(Kot(n))t.push(n);eat(n,t)})}function tat(e,t,n){$ot(e).forEach((r)=>{if(Xo(r)&&r.matches(t))n.push(r);tat(r,t,n)})}function mee(e){return Jot(e)&&jot(e)>=0}function zwe(e){let t=[];return eat(e,t),t.filter(Jot)}function _P(e){let t=zwe(e);return t.filter((n)=>jot(n)>=0&&g9n(n,t))}function nat(e,t){let n=_P(e),r=n.length;if(r===0)return;let o=Ks(yr(e)),a=n.indexOf(o),i=a===-1?t===1?0:r-1:a+t;return n[i]}function HP(e){return nat(yr(e).body,1)||e}function hee(e){return nat(yr(e).body,-1)||e}function rat(e,t){if(!e)return null;let n=_P(yr(e).body),r=n.length;if(r===0)return null;let o=n.indexOf(e);if(o===-1)return null;let a=(o+t+r)%r;return n[a]}function oat(e){return rat(e,1)}function aat(e){return rat(e,-1)}function t3(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!Ln(n,r)}function iat(e){_P(e).forEach((n)=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function _we(e){let t=[];tat(e,"[data-tabindex]",t),t.forEach((n)=>{let r=n.dataset.tabindex;if(delete n.dataset.tabindex,r)n.setAttribute("tabindex",r);else n.removeAttribute("tabindex")})}var p9n='a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';var gee=P(()=>{vs();ul();im();zP()});var Cg=P(()=>{im();Z1();zP();gee()});function sat(){return yee.useContext(Hwe)}var yee,Hwe;var Vwe=P(()=>{yee=z(re(),1),Hwe=yee.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}})});function W1(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:o}=e,a=Ot(o),[,i]=n3.useState(!1),s=qa(v9n).current,l=qa(y9n).current,c=n3.useRef(0),u=n3.useRef(!0),d=n3.useRef(null),p=n3.useRef(null),f=Ot(()=>{if(u.current)return;u.current=!0,i((C)=>!C)}),m=Ot((C,E)=>{l.set(C,E),f()}),g=Ot((C)=>{l.delete(C),f()}),v=Ot((C)=>{let E=new Map;if(n.current.length=0,r)r.current.length=0;return C.forEach((T)=>{if(E.set(T.element,{...T.registration.metadata??{},index:T.index}),n.current[T.index]=T.element,r)r.current[T.index]=T.registration.label!==void 0?T.registration.label:T.registration.textRef?.current?.textContent??T.element.textContent}),c.current=n.current.length,E});function y(C){if(p.current?.disconnect(),p.current=null,typeof MutationObserver!=="function"||C.length<2)return;let E=new MutationObserver((I)=>{if(!A9n(I))return;let k=null;for(let L of C){if(!L.isConnected)continue;if(k&&lat(k,L)>0){E.disconnect(),f();return}k=L}});p.current=E;let T=new Set;for(let I=1;IE.observe(I,{childList:!0}))}let x=Ot(()=>{let[C,E]=b9n(l),T=v(C),I=d.current,k=!I||I.length!==C.length||C.some((L,O)=>{let B=I[O];return L.index!==B.index||L.element!==B.element||L.registration.index!==B.registration.index||L.registration.metadata!==B.registration.metadata});if(y(E),d.current=C,u.current=!1,!k)return;s.forEach((L)=>L(T)),a(T)});Ct(()=>{if(!u.current&&d.current)v(d.current);return()=>{if(n.current=[],r)r.current=[]}},[n,r,v]),Ct(()=>{if(u.current)x()}),Ct(()=>()=>{p.current?.disconnect(),u.current=!0},[]);let A=Ot((C)=>(s.add(C),()=>{s.delete(C)})),w=n3.useMemo(()=>({register:m,unregister:g,subscribeMapChange:A,nextIndexRef:c}),[m,g,A,c]);return h(Hwe.Provider,{value:w,children:t})}function y9n(){return new Map}function v9n(){return new Set}function b9n(e){let t=new Set,n=[],r=[];e.forEach((a,i)=>{if(!i.isConnected)return;let s=a.index,l={index:s??-1,element:i,registration:a};if(s===null)r.push(l);else if(s>=0)t.add(s),n.push(l)});let o=0;if(r.sort((a,i)=>lat(a.element,i.element)),r.forEach((a)=>{while(t.has(o))o+=1;a.index=o,n.push(a),o+=1}),t.size>0)n.sort((a,i)=>a.index-i.index);return[n,r.map((a)=>a.element)]}function x9n(e,t){let n=e.parentElement;while(n&&!n.contains(t))n=n.parentElement;return n}function A9n(e){for(let t of e)for(let n=0;n{om();da();Nr();Vwe();le();n3=z(re(),1)});function cat(e){return e==null?void 0:`${e}-label`}function vee(e,t){return e??t}function bee(e,t){return e-t}function xee(e,t,n,r,o,a){let i=$i(e,n,r);if(!o)return i;let s=a.slice();return s[t]=$i(i,a[t-1]??-1/0,a[t+1]??1/0),s.sort(bee)}var Gwe=()=>{};function Aee(e,t,n){if(!Array.isArray(e))return!0;let r=t*n;for(let o=0;o=r))return!1;return!0}var VP=()=>null,Bb;var GP=P(()=>{SP();Bb={activeThumbIndex:VP,max:VP,min:VP,minStepsBetweenValues:VP,step:VP,values:VP,...B4}});function W4(){let e=wee.useContext(qwe);if(e===void 0)throw Error(Dn(62));return e}var wee,qwe;var qP=P(()=>{zo();wee=z(re(),1),qwe=wee.createContext(void 0)});function w9n(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&hN(e,t)}var Mc,uat;var dat=P(()=>{ul();xb();da();Nr();ka();MP();_l();vr();Cg();lE();U4();uN();dN();kP();Gwe();GP();qP();ko();le();Mc=z(re(),1);uat=Mc.forwardRef(function(t,n){let{"aria-labelledby":r,className:o,defaultValue:a,disabled:i=!1,id:s,format:l,largeStep:c=10,locale:u,render:d,max:p=100,min:f=0,minStepsBetweenValues:m=0,form:g,name:v,onValueChange:y,onValueCommitted:x,orientation:A="horizontal",step:w=1,thumbCollisionBehavior:C="push",thumbAlignment:E="center",value:T,style:I,...k}=t,L=go(s),O=cat(L),B=Ot(y),U=Ot(x),{clearErrors:D}=z4(),{state:N,disabled:_,name:G,setTouched:Z,setDirty:q,validityData:H,validation:te}=r0(),{labelId:ie}=Cb(),[j,oe]=Mc.useState(),J=r??vee(ie,j),Y=_||i,ae=G??v,[ne,Se]=Zd({controlled:T,default:a??f,name:"Slider"}),fe=Mc.useRef(null),Ae=Mc.useRef(null),Ee=Mc.useRef([]),pe=Mc.useRef(null),Re=Mc.useRef(-1),Le=Mc.useRef(null),Ne=Mc.useRef(_1),[be,ye]=Mc.useState(-1),[ce,ue]=Mc.useState(-1),[ke,se]=Mc.useState(!1),[qe,Me]=Mc.useState(()=>new Map),[Qe,ee]=Mc.useState([void 0,void 0]),K=Ot((de)=>{if(ye(de),de!==-1)ue(de)}),we=Ot((de)=>{if(de)Ae.current=de}),ze=Array.isArray(ne),tt=Mc.useMemo(()=>{if(!ze)return[$i(ne,f,p)];return ne.map((de)=>$i(de,f,p)).sort(bee)},[p,f,ze,ne]),Pe=ze?tt:tt[0];N4(te.inputRef,L,Pe,void 0,!Y,v),Tb(Pe,()=>{D(ae),te.change(Pe);let de=H.initialValue,ge;if(Array.isArray(Pe)&&Array.isArray(de))ge=!hN(Pe,de);else ge=Pe!==de;q(ge)});let Ke=Ot((de,ge)=>{if(Number.isNaN(de)||w9n(de,ne))return!1;let Oe=ge.event,$e=new Oe.constructor(Oe.type,Oe);if(Object.defineProperty($e,"target",{writable:!0,value:{value:de,name:ae}}),ge.event=$e,B(de,ge),ge.isCanceled)return!1;return Ne.current=ge.reason,Se(de),!0}),Ue=Ot((de,ge,Oe)=>{let Xe=xee(de,ge,f,p,ze,tt);if(Aee(Xe,w,m)){let $e="key"in Oe?kPn:TPn,Ie=Ke(Xe,un($e,Oe.nativeEvent,void 0,{activeThumbIndex:ge}));if(Z(!0),Ie)U(Xe,K$($e,Oe.nativeEvent))}});Ct(()=>{if(!Y)return;let de=Ks(yr(fe.current));if(Ln(fe.current,de))de.blur();if(be!==-1)K(-1)},[be,Y,K]);let Ze=Mc.useMemo(()=>({...N,activeThumbIndex:be,disabled:Y,dragging:ke,orientation:A,max:p,min:f,minStepsBetweenValues:m,step:w,values:tt}),[N,be,Y,ke,p,f,m,A,w,tt]),ct=Mc.useMemo(()=>({active:be,controlRef:Ae,disabled:Y,dragging:ke,validation:te,format:l,handleInputChange:Ue,indicatorPosition:Qe,inset:E!=="center",labelId:J,rootLabelId:O,largeStep:c,lastUsedThumbIndex:ce,lastChangeReasonRef:Ne,form:g,locale:u,max:p,min:f,minStepsBetweenValues:m,name:ae,onValueCommitted:U,orientation:A,pressedThumbCenterOffsetRef:pe,pressedThumbIndexRef:Re,pressedValuesRef:Le,registerFieldControlRef:we,renderBeforeHydration:E==="edge",setActive:K,setDragging:se,setIndicatorPosition:ee,setLabelId:oe,setValue:Ke,state:Ze,step:w,thumbCollisionBehavior:C,thumbMap:qe,thumbRefs:Ee,values:tt}),[be,J,O,Y,ke,te,l,Ue,Qe,c,ce,g,u,p,f,m,ae,U,A,we,K,Ke,Ze,w,C,E,qe,tt]),Rt=Zt("div",t,{state:Ze,ref:[n,fe],props:[{"aria-labelledby":J,id:L,role:"group"},k,(de)=>te.getValidationProps(Y,de)],stateAttributesMapping:Bb});return h(qwe.Provider,{value:ct,children:h(W1,{elementsRef:Ee,onMapChange:Me,children:Rt})})})});function Zwe(e){if(Array.isArray(e))return e.map((t)=>Zwe(t)).join(",");if(e==null)return"";return String(e)}function S9n(e,t){let n=JSON.stringify({locale:Zwe(e),options:t}),r=pat.get(n);if(r)return r;let o=new Intl.NumberFormat(e,t);return pat.set(n,o),o}function cE(e,t,n){if(e==null)return"";return S9n(t,n).format(e)}var pat;var Qwe=P(()=>{pat=new Map});function zr(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function ti(e){let t=qa(C9n,e).current;return t.next=e,Ct(t.effect),t}function C9n(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var Ob=P(()=>{Nr();om()});function Y1(){return See.useContext(E9n)?.direction??"ltr"}var See,E9n;var uE=P(()=>{See=z(re(),1),E9n=See.createContext(void 0)});function Cee(e,t){let n=e.getBoundingClientRect();return t?(n.top+n.bottom)/2:(n.left+n.right)/2}function ZP(e){if(e===0)return 0;if(Math.abs(e)<1){let n=e.toExponential().split("e-"),r=n[0].split(".")[1];return(r?r.length:0)+parseInt(n[1],10)}let t=e.toString().split(".")[1];return t?t.length:0}function Eee(e,t,n){let r=Math.round((e-n)/t)*t+n;return Number(r.toFixed(Math.max(ZP(t),ZP(n))))}function Xwe(e,t,n,r,o,a,i,s){let l=e.slice(),c=a*i,u=l.length-1,d=s??e,p=r+t*c,f=o-(u-t)*c;l[t]=$i(n,p,f);for(let m=t+1;m<=u;m+=1){let g=l[m-1]+c,v=o-(u-m)*c,y=d[m],x=Math.max(l[m],g);if(y=0;m-=1){let g=l[m+1]-c,v=r+m*c,y=d[m],x=Math.min(l[m],g);if(y>x)x=Math.min(y,g);l[m]=$i(x,v,g)}for(let m=0;m<=u;m+=1)l[m]=Number(l[m].toFixed(12));return l}var fat=()=>{};function mat(e,t,n,r,o,a,i,s,l,c){let u=n??t,d=r??t;if(!(u.length>1))return{value:a,thumbIndex:0,didSwap:!1};let f=l*c;if(e==="push")return{value:Xwe(u,o,a,i,s,l,c),thumbIndex:o,didSwap:!1};let m=u.slice(),g=m[o-1],v=m[o+1],y=g!=null?g+f:i,x=v!=null?v-f:s,A=Number($i(a,y,x).toFixed(12));switch(m[o]=A,e){case"swap":{let w=u[o],C=0.0000001,E=a>w,T=a=v-0.0000001,k=T&&g!=null&&a<=g+0.0000001;if(!I&&!k)return{value:m,thumbIndex:o,didSwap:!1};let L=I?o+1:o-1,O=m.map((H,te)=>{if(te===o)return A;let ie=d[te];if(ie!=null)return ie;return u[te]}),B=a;if(I)B=Math.max(a,m[L]);else B=Math.min(a,m[L]);let U=Xwe(m,L,B,i,s,l,c,O),D=I?L-1:L+1,N=U[D-1],_=U[D+1],G=N!=null?N+f:i;G=Math.max(G,i+D*f);let Z=_!=null?_-f:s;Z=Math.min(Z,s-(U.length-1-D)*f);let q=$i(A,G,Z);return U[D]=Number(q.toFixed(12)),{value:U,thumbIndex:L,didSwap:!0}}case"none":default:return{value:m,thumbIndex:o,didSwap:!1}}}var hat=P(()=>{fat()});function T9n(e,t){if(!e)return{start:0,end:0};function n(a){let i=a!=null?parseFloat(a):0;return Number.isNaN(i)?0:i}let r=!t?"InlineStart":"Top",o=!t?"InlineEnd":"Bottom";return{start:n(e[`border${r}Width`])+n(e[`padding${r}`]),end:n(e[`border${o}Width`])+n(e[`padding${o}`])}}function k9n(e,t){if(t.current!=null&&e.changedTouches){let n=e;for(let r=0;r{vs();ul();kb();da();Ob();Cg();ka();ko();vr();uE();qP();GP();hat();K1=z(re(),1);gat=K1.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,{disabled:s,dragging:l,inset:c,lastChangeReasonRef:u,max:d,min:p,minStepsBetweenValues:f,onValueCommitted:m,orientation:g,pressedThumbCenterOffsetRef:v,pressedThumbIndexRef:y,pressedValuesRef:x,registerFieldControlRef:A,renderBeforeHydration:w,setActive:C,setDragging:E,setValue:T,state:I,step:k,thumbCollisionBehavior:L,thumbRefs:O,values:B}=W4(),U=Y1(),D=B.length>1,N=g==="vertical",_=K1.useRef(null),G=K1.useRef(null),Z=Ot((ye)=>{if(ye&&G.current==null)G.current=Io(ye).getComputedStyle(ye)}),q=K1.useRef(null),H=K1.useRef(0),te=K1.useRef(0),ie=K1.useRef(null),j=ti(B);function oe(ye){return ye?.querySelector('input[type="range"]')}function J(ye){if(y.current=ye,!O.current[ye])v.current=null}function Y(){y.current=-1,v.current=null}function ae(ye){if(!Dr(ye))return!1;return O.current.some((ce)=>{if(!Dr(ce)||!Ln(ce,ye))return!1;return oe(ce)?.disabled===!0})}function ne(ye){let ce=_.current,ue=y.current;if(!ce||ue<0||ue>=B.length){if(ue>=B.length)ie.current=null;return null}let{width:ke,height:se,bottom:qe,left:Me,right:Qe}=ce.getBoundingClientRect(),ee=T9n(G.current,N),K=te.current,we=(N?se:ke)-ee.start-ee.end-K*2,ze=v.current??0,tt=ye.x-ze,Pe=ye.y-ze,Ke=N?qe-Pe-ee.end:(U==="rtl"?Qe-tt:tt-Me)-ee.start,Ue=$i((Ke-K)/we,0,1),Ze=(d-p)*Ue+p;if(Ze=Eee(Ze,k,p),Ze=$i(Ze,p,d),!D)return{value:Ze,thumbIndex:ue,didSwap:!1};return mat(L,B,j.current,x.current,ue,Ze,p,d,k,f)}function Se(ye){x.current=D?B.slice():null,ie.current=null,j.current=B;let ce=y.current,ue=ce;if(ce>-1&&ce0&&B[ke-1]===d)ke-=1;ue=ke}}else{let ke=!N?"x":"y",se;ue=-1;for(let qe=0;qe-1&&ue!==ce)J(ue);if(c){let ke=O.current[ue];if(Dr(ke)){let se=ke.getBoundingClientRect(),qe=!N?"width":"height";te.current=se[qe]/2}}}function fe(ye){let ce=oe(O.current?.[ye]);if(!ce)return;ce.focus({preventScroll:!0,focusVisible:!1})}function Ae(ye,ce,ue){let ke=T(ye.value,un(ce,ue,void 0,{activeThumbIndex:ye.thumbIndex}));if(ke){if(ie.current=ye.value,j.current=Array.isArray(ye.value)?ye.value:[ye.value],ye.didSwap)J(ye.thumbIndex),fe(ye.thumbIndex)}return ke}let Ee=Ot((ye)=>{let ce=k9n(ye,q);if(ce==null)return;if(H.current+=1,ye.type==="pointermove"&&ye.buttons===0){pe(ye);return}let ue=ne(ce);if(ue==null)return;if(Aee(ue.value,k,f)){if(!l&&H.current>I9n)E(!0);Ae(ue,RPn,ye)}}),pe=Ot((ye)=>{C(-1),E(!1),v.current=null;let ce=ie.current;if(Array.isArray(ce)&&ce.length!==B.length)ie.current=null;if(ie.current!=null){let ue=u.current;m(ie.current,K$(ue,ye))}if("pointerType"in ye&&_.current?.hasPointerCapture(ye.pointerId))_.current?.releasePointerCapture(ye.pointerId);y.current=-1,q.current=null,Le()}),Re=Ot((ye)=>{if(s)return;if(ae(fi(ye))){Y();return}let ce=ye.changedTouches[0];if(ce==null)return;q.current=ce.identifier;let ue={x:ce.clientX,y:ce.clientY};Se(ue);let ke=ne(ue);if(ke==null)return;fe(ke.thumbIndex),Ae(ke,Jrt,ye),H.current=0;let se=yr(_.current);se.addEventListener("touchmove",Ee,{passive:!0}),se.addEventListener("touchend",pe,{passive:!0})}),Le=Ot(()=>{let ye=yr(_.current);ye.removeEventListener("pointermove",Ee),ye.removeEventListener("pointerup",pe),ye.removeEventListener("touchmove",Ee),ye.removeEventListener("touchend",pe),x.current=null,ie.current=null}),Ne=wg();return K1.useEffect(()=>{let ye=_.current;if(!ye)return()=>Le();let ce=zr(ye,"touchstart",Re,{passive:!0});return()=>{ce(),Ne.cancel(),Le()}},[Le,Re,_,Ne]),K1.useEffect(()=>{if(s)Le()},[s,Le]),Zt("div",t,{state:I,ref:[n,A,_,Z],props:[{["data-base-ui-slider-control"]:w?"":void 0,onPointerDown(ye){let ce=_.current,ue=fi(ye.nativeEvent);if(!ce||s||ye.defaultPrevented||!Dr(ue)||ye.button!==0)return;if(ae(ue)){Y();return}let ke={x:ye.clientX,y:ye.clientY};Se(ke);let se=ne(ke);if(se==null)return;if(Ln(O.current[se.thumbIndex],Ks(yr(ce))))ye.preventDefault();else Ne.request(()=>{fe(se.thumbIndex)});if(E(!0),v.current==null)Ae(se,Jrt,ye.nativeEvent);if(ye.nativeEvent.pointerId)ce.setPointerCapture(ye.nativeEvent.pointerId);H.current=0;let Qe=yr(ce);Qe.addEventListener("pointermove",Ee,{passive:!0}),Qe.addEventListener("pointerup",pe,{once:!0})}},i],stateAttributesMapping:Bb})})});var vat,bat;var xat=P(()=>{vr();qP();GP();vat=z(re(),1),bat=vat.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,{state:s}=W4();return Zt("div",t,{state:s,ref:n,props:[{style:{position:"relative"}},i],stateAttributesMapping:Bb})})});var Aat="";var QP=me(function(N9n){var E2=z(re());function R9n(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var P9n=typeof Object.is==="function"?Object.is:R9n,M9n=E2.useState,D9n=E2.useEffect,L9n=E2.useLayoutEffect,B9n=E2.useDebugValue;function O9n(e,t){var n=t(),r=M9n({inst:{value:n,getSnapshot:t}}),o=r[0].inst,a=r[1];return L9n(function(){o.value=n,o.getSnapshot=t,Wwe(o)&&a({inst:o})},[e,n,t]),D9n(function(){return Wwe(o)&&a({inst:o}),e(function(){Wwe(o)&&a({inst:o})})},[e]),B9n(n),n}function Wwe(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!P9n(e,n)}catch(r){return!0}}function F9n(e,t){return t()}var U9n=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?F9n:O9n;N9n.useSyncExternalStore=E2.useSyncExternalStore!==void 0?E2.useSyncExternalStore:U9n});function _9n(){return oa}function H9n(){return!1}function V9n(){return!0}function XP(){return wat.useSyncExternalStore(_9n,H9n,V9n)}var wat;var Iee=P(()=>{K8();wat=z(QP(),1)});function dE(e,t,n){return(e-t)*100/(n-t)}function q9n(e){return Xo(e)&&e.tagName==="INPUT"}function Jwe(e){if(q9n(e)&&e.selectionStart!=null)return!0;if(Xo(e)&&e.tagName==="TEXTAREA")return!0;return!1}function jwe(e,t,n,r){if(!e||!t||!t.scrollTo)return;let{scrollLeft:o,scrollTop:a}=e,i=e.clientWidthe.scrollLeft+e.clientWidth-c.scrollPaddingRight)o=l+t.offsetWidth+u.scrollMarginRight-e.clientWidth+c.scrollPaddingRight;else if(l-u.scrollMarginLefte.scrollLeft+e.clientWidth-c.scrollPaddingRight)o=l+t.offsetWidth+u.scrollMarginRight-e.clientWidth+c.scrollPaddingRight}}if(s&&r!=="horizontal"){let l=Sat(e,t,"top"),c=Tee(e),u=Tee(t);if(l-u.scrollMarginTope.scrollTop+e.clientHeight-c.scrollPaddingBottom)a=l+t.offsetHeight+u.scrollMarginBottom-e.clientHeight+c.scrollPaddingBottom}e.scrollTo({left:o,top:a,behavior:"auto"})}function Sat(e,t,n){let r=n==="left"?"offsetLeft":"offsetTop",o=0;while(t.offsetParent){if(o+=t[r],t.offsetParent===e)break;t=t.offsetParent}return o}function Tee(e){let t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}var WP="ArrowUp",YP="ArrowDown",KP="ArrowLeft",JP="ArrowRight",jP="Home",$P="End",Ywe="PageUp",Kwe="PageDown",Eg,G9n="Shift",Cat;var pE=P(()=>{vs();Cg();Eg=new Set([WP,YP,KP,JP,jP,$P]),Cat=[G9n,"Control","Alt","Meta"]});function Ip(e={}){let{guess:t,label:n,metadata:r,textRef:o,index:a}=e,{register:i,unregister:s,subscribeMapChange:l,nextIndexRef:c}=sat(),u=fE.useRef(-1),[d,p]=fE.useState(a==null&&t?()=>{if(u.current===-1){let v=c.current;c.current+=1,u.current=v}return u.current}:-1),f=a??d,m=fE.useRef(null),g=fE.useCallback((v)=>{let y=m.current;if(y)s(y);if(m.current=v,v)i(v,{metadata:r??null,index:a??null,label:n,textRef:o})},[a,i,s,r,n,o]);return Ct(()=>{if(a!=null)return;return l((v)=>{let y=m.current?v.get(m.current)?.index:null;if(y!=null)p(y)})},[a,l]),{ref:g,index:f}}var fE;var Fb=P(()=>{Nr();Vwe();fE=z(re(),1)});function Ree(){return kee.useContext(Z9n)??Q9n}var kee,Z9n,Q9n;var $we=P(()=>{kee=z(re(),1),Z9n=kee.createContext(void 0),Q9n={disableStyleElements:!1}});function Eat(e){let{script:t}=e,{nonce:n}=Ree();if(!XP())return null;return h("script",{nonce:n,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}var tno;var Iat=P(()=>{Iee();$we();le();tno=z(re(),1)});var Tat="data-index";function Y9n(e,t,n,r){if(t<0)return;if(e.length===2)return`${cE(e[t],r,n)} ${t===0?"start":"end"} range`;return n?cE(e[t],r,n):void 0}function K9n(e,t,n,r,o){let a=e+t*n,i=Number(a.toFixed(Math.max(ZP(e),ZP(t),ZP(r))));return $i(i,r,o)}var J1,kat,W9n,Rat;var Pat=P(()=>{da();Nr();U1();Q8();ul();Qwe();A2();_l();Iee();vr();pE();Fb();uE();Iat();U4();Cg();im();RP();Gwe();qP();GP();le();J1=z(re(),1),W9n=new Set([...Eg,Ywe,Kwe]);Rat=J1.forwardRef(function(t,n){let{render:r,children:o,className:a,"aria-describedby":i,"aria-label":s,"aria-labelledby":l,"aria-valuetext":c,disabled:u=!1,getAriaLabel:d,getAriaValueText:p,id:f,index:m,inputRef:g,onBlur:v,onFocus:y,onKeyDown:x,tabIndex:A,style:w,...C}=t,E=go(f),{active:T,lastUsedThumbIndex:I,controlRef:k,disabled:L,validation:O,format:B,handleInputChange:U,inset:D,labelId:N,largeStep:_,locale:G,max:Z,min:q,minStepsBetweenValues:H,form:te,name:ie,orientation:j,pressedThumbCenterOffsetRef:oe,pressedThumbIndexRef:J,renderBeforeHydration:Y,setActive:ae,setIndicatorPosition:ne,state:Se,step:fe,thumbRefs:Ae,values:Ee}=W4(),pe=Y1(),Re=u||L,Le=Ee.length>1,Ne=j==="vertical",be=pe==="rtl",{setTouched:ye,setFocused:ce,validationMode:ue}=r0(),ke=J1.useRef(null),se=J1.useRef(null),qe=J1.useRef(!1),Me=Ot((Gt)=>{if(qe.current)return;y?.(Gt)}),Qe=Ot((Gt)=>{if(qe.current)return;v?.(Gt)}),ee=go(),K=Eb(),we=Le?ee:K,ze=J1.useMemo(()=>({inputId:we}),[we]),{ref:tt,index:Pe}=Ip({metadata:ze}),Ke=!Le?0:m??Pe,Ue=Ke===Ee.length-1,Ze=Ee[Ke],ct=dE(Ze,q,Z),[Rt,de]=J1.useState(),ge=XP(),Oe=I>=0&&I{let Gt=k.current,tn=ke.current;if(!Gt||!tn)return;let Yt=tn.getBoundingClientRect(),Be=Gt.getBoundingClientRect(),Je=Ne?"height":"width",it=Be[Je]-Yt[Je],Mt=(Yt[Je]/2+it*ct/100)/Be[Je]*100,An=Number.isFinite(Mt)?Mt:void 0;if(de(An),Ke===0)ne((Nn)=>[An,Nn[1]]);else if(Ue)ne((Nn)=>[Nn[0],An])});Ct(()=>{if(D)queueMicrotask(Xe)},[Xe,D]),Ct(()=>{if(D)Xe()},[Xe,D,ct]),Ct(()=>{if(!D)return;let Gt=k.current,tn=ke.current;if(!Gt||!tn)return;let Yt=Io(Gt).ResizeObserver;if(typeof Yt!=="function")return;let Be=new Yt(Xe);return Be.observe(Gt),Be.observe(tn),()=>{Be.disconnect()}},[k,Xe,D]);let $e=Ne?"bottom":"insetInlineStart",Ie=Ne?"left":"top",Ge;if(Le){if(T===Ke)Ge=2;else if(Oe===Ke)Ge=1}else if(T===Ke)Ge=1;let _e;if(!D&&!Number.isFinite(ct))_e=xg;else _e={position:"absolute",[$e]:D?"var(--position)":`${ct}%`,[Ie]:"50%",translate:`${(Ne||!be?-1:1)*50}% ${(Ne?1:-1)*50}%`,zIndex:Ge,...D&&{["--position"]:`${Rt??0}%`,visibility:Y&&ge||Rt===void 0?"hidden":void 0}};let nt;if(Ne)nt=be?"vertical-rl":"vertical-lr";let rt=typeof d==="function"?d(Ke):s,ot=dl({"aria-label":rt,"aria-labelledby":l??(rt==null?N:void 0),"aria-describedby":i,"aria-orientation":j,"aria-valuenow":Ze,"aria-valuetext":typeof p==="function"?p(cE(Ze,G,B),Ze,Ke):c??Y9n(Ee,Ke,B,G),disabled:Re,form:te,id:we,max:Z,min:q,name:ie,onChange(Gt){U(Gt.currentTarget.valueAsNumber,Ke,Gt)},onFocus(Gt){let tn=qe.current;if(qe.current=!1,ae(Ke),ce(!0),tn)Gt.stopPropagation()},onBlur(Gt){if(qe.current){Gt.stopPropagation();return}if(ae(-1),Ae.current.some((tn)=>Ln(tn,Gt.relatedTarget)))return;if(ye(!0),ce(!1),ue==="onBlur")O.commit(xee(Ze,Ke,q,Z,Le,Ee))},onKeyDown(Gt){if(Gt.defaultPrevented)return;if(!W9n.has(Gt.key))return;if(Eg.has(Gt.key))Gt.stopPropagation();let tn=null,Yt=0,Be=Gt.shiftKey?_:fe,Je=Eee(Ze,fe,q);switch(Gt.key){case WP:Yt=1;break;case JP:Yt=be?-1:1;break;case YP:Yt=-1;break;case KP:Yt=be?1:-1;break;case Ywe:Be=_,Yt=1;break;case Kwe:Be=_,Yt=-1;break;case $P:tn=Le&&Number.isFinite(Ee[Ke+1])?Ee[Ke+1]-fe*H:Z;break;case jP:tn=Le&&Number.isFinite(Ee[Ke-1])?Ee[Ke-1]+fe*H:q;break;default:break}if(Yt!==0)tn=K9n(Je,Be,Yt,q,Z);if(tn!==null){let it=Gt.currentTarget;if(!cee(it))qe.current=!0,it.blur(),it.focus({preventScroll:!0,focusVisible:!0});U(tn,Ke,Gt),Gt.preventDefault()}},step:fe,style:{...xg,width:"100%",height:"100%",writingMode:nt},tabIndex:A,type:"range",value:Ze??""},(Gt)=>O.getValidationProps(Re,Gt),{onFocus:Me,onBlur:Qe,onKeyDown:x}),At=cl(se,O.inputRef,g);return Zt("div",t,{state:Se,ref:[n,tt,ke],props:[{[Tat]:Ke,children:M(J1.Fragment,{children:[o,h("input",{ref:At,...ot,suppressHydrationWarning:!0}),D&&Ue&&Y&&(kat||(kat=h(Eat,{script:Aat})))]}),id:E,onPointerDown(Gt){if(Re)return;J.current=Ke;let tn=Cee(Gt.currentTarget,Ne);oe.current=(Ne?Gt.clientY:Gt.clientX)-tn},style:_e,suppressHydrationWarning:Y||void 0},C],stateAttributesMapping:Bb})})});function J9n(e,t,n,r,o,a){let i={visibility:a||n&&(r===void 0||t&&o===void 0)?"hidden":void 0,position:e?"absolute":"relative",[e?"width":"height"]:"inherit"},s=`${r??0}%`,l=`${(o??0)-(r??0)}%`;if(n){if(i["--start-position"]=s,s="var(--start-position)",t)i["--relative-size"]=l,l="var(--relative-size)"}return i[e?"bottom":"insetInlineStart"]=t?s:0,i[e?"height":"width"]=t?l:s,i}var Mat,Dat;var Lat=P(()=>{Iee();vr();qP();GP();Mat=z(re(),1);Dat=Mat.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,{indicatorPosition:s,inset:l,max:c,min:u,orientation:d,renderBeforeHydration:p,state:f,values:m}=W4(),g=XP(),v=d==="vertical",y=m.length>1,x=J9n(v,y,l,l?s[0]:dE(m[0],u,c),l?s[1]:dE(m[m.length-1],u,c),l&&p&&g);return Zt("div",t,{state:f,ref:n,props:[{["data-base-ui-slider-indicator"]:p?"":void 0,style:x,suppressHydrationWarning:p||void 0},i],stateAttributesMapping:Bb})})});var Oat=P(()=>{dat();yat();xat();Pat();Lat()});var Fat=P(()=>{Oat()});var eSe=(e)=>typeof e==="number"?[e]:[...e],r3=({className:e,onValueChange:t,onValueCommitted:n,onValueCommit:r,getAriaLabel:o,...a})=>{let i=(a.value??a.defaultValue??[0]).length||1;return h(uat,{"data-m3-component":"Slider",...a,onValueChange:t&&((s,l)=>t(eSe(s),l)),onValueCommitted:n||r?(s,l)=>{n?.(eSe(s),l),r?.(eSe(s))}:void 0,className:io(Ve("relative flex h-11 w-full touch-none select-none items-center","data-[orientation=vertical]:h-full data-[orientation=vertical]:w-11 data-[orientation=vertical]:flex-col","data-disabled:cursor-not-allowed data-disabled:opacity-38"),e),children:h(gat,{className:Ve("flex h-full w-full grow items-center","data-[orientation=vertical]:flex-col"),children:M(bat,{className:Ve("relative h-1 grow rounded-full bg-secondary-container outline-none","data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1"),children:[h(Dat,{className:Ve("rounded-full bg-primary outline-none","data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")}),Array.from({length:i},(s,l)=>h(Rat,{index:l,getAriaLabel:o,className:Ve("z-10 block size-5 cursor-grab rounded-full bg-primary shadow-md3-1 outline-none active:cursor-grabbing","transition-shadow duration-200 ease-standard","before:pointer-events-none before:absolute before:left-1/2 before:top-1/2 before:size-10 before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-full before:content-['']","before:transition-colors before:duration-200 before:ease-standard","hover:before:bg-primary/8 has-focus-visible:before:bg-primary/10 active:before:bg-primary/10 data-dragging:before:bg-primary/10","has-focus-visible:outline-3 has-focus-visible:outline-offset-2 has-focus-visible:outline-secondary","data-disabled:bg-on-surface data-disabled:shadow-none")},l))]})})})};var Uat=P(()=>{Fat();rn();V1();le()});function Tp(e){let t=Pee.useContext(tSe);if(!e&&t===void 0)throw Error(Dn(27));return t}var Pee,tSe;var Ub=P(()=>{zo();Pee=z(re(),1),tSe=Pee.createContext(void 0)});var Nat,kN;var nSe=P(()=>{Ub();vr();Ep();Nat=z(re(),1),kN=Nat.forwardRef(function(t,n){let{render:r,className:o,style:a,forceRender:i=!1,...s}=t,l=Tp(),c=l.useState("open"),u=l.useState("nested"),d=l.useState("mounted"),p=l.useState("transitionStatus");return Zt("div",t,{state:{open:c,transitionStatus:p},ref:[l.context.backdropRef,n],stateAttributesMapping:G4,props:[{role:"presentation",hidden:!d,style:{userSelect:"none",WebkitUserSelect:"none"}},s],enabled:i||!u})})});var zat,RN;var rSe=P(()=>{Ub();vr();KA();ka();ko();zat=z(re(),1),RN=zat.forwardRef(function(t,n){let{render:r,className:o,style:a,disabled:i=!1,nativeButton:s=!0,...l}=t,c=Tp(),u=c.useState("open"),{getButtonProps:d,buttonRef:p}=Ys({disabled:i,native:s}),f={disabled:i};function m(g){if(u)c.setOpen(!1,un(bwe,g.nativeEvent))}return Zt("button",t,{state:f,ref:[n,p],props:[{onClick:m},l,d]})})});var _at,PN;var oSe=P(()=>{Ub();vr();_l();_at=z(re(),1),PN=_at.forwardRef(function(t,n){let{render:r,className:o,style:a,id:i,...s}=t,l=Tp(),c=go(i);return l.useSyncedValueWithCleanup("descriptionElementId",c),Zt("p",t,{ref:n,props:[{id:c},s]})})});class kp{static create(){return new kp}currentId=MN;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=MN,t()},e)}isStarted(){return this.currentId!==MN}clear=()=>{if(this.currentId!==MN)clearTimeout(this.currentId),this.currentId=MN};disposeEffect=()=>this.clear}function mi(){let e=qa(kp.create).current;return DP(e.disposeEffect),e}var MN=0;var Rp=P(()=>{om();J$()});function j9n(e,t){if(t!=null&&!Sg(t))return 0;if(typeof e==="function")return e();return e}function I2(e,t,n){let r=j9n(e,n);if(typeof r==="number")return r;return r?.[t]}function aSe(e){if(typeof e==="function")return e();return e}function Mee(e,t){return t||e==="click"||e==="mousedown"}function Hat(e){return e?.includes("mouse")&&e!=="mousedown"}var DN=P(()=>{Z1();im()});function $9n(e,t){e.current=t.current}function iSe(e){let{children:t,delay:n,timeoutMs:r=0}=e,o=ah.useRef(n),a=ah.useRef(n),i=ah.useRef(null),s=ah.useRef(null),l=mi();return Ct(()=>{if(a.current=n,!i.current){o.current=n;return}o.current={open:I2(o.current,"open"),close:I2(n,"close")}},[n,i,o,a]),h(Vat.Provider,{value:ah.useMemo(()=>({hasProvider:!0,delayRef:o,initialDelayRef:a,currentIdRef:i,timeoutMs:r,currentContextRef:s,timeout:l}),[r,l]),children:t})}function sSe(e,t={open:!1}){let{open:n}=t,r="rootStore"in e?e.rootStore:e,o=r.useState("floatingId"),a=ah.useContext(Vat),{currentIdRef:i,delayRef:s,timeoutMs:l,initialDelayRef:c,currentContextRef:u,hasProvider:d,timeout:p}=a,[f,m]=ah.useState(!1),g=ah.useRef(n);return Ct(()=>{g.current=n},[n]),Ct(()=>{function v(){u.current?.setIsInstantPhase(!1),i.current=null,u.current=null,s.current=c.current,p.clear()}if(!i.current)return;if(!n&&i.current===o){if(m(!1),l){let y=o;return p.start(l,()=>{if(r.select("open")||i.current&&i.current!==y)return;v()}),()=>{if(g.current||i.current!==y)p.clear()}}v()}return},[n,o,i,s,l,c,u,p,r]),Ct(()=>{if(!n)return;let v=u.current,y=i.current;if(p.clear(),u.current={onOpenChange:r.setOpen,setIsInstantPhase:m},i.current=o,s.current={open:0,close:I2(c.current,"close")},y!==null&&y!==o)m(!0),v?.setIsInstantPhase(!0),v?.onOpenChange(!1,un(_1));else m(!1),v?.setIsInstantPhase(!1)},[n,o,r,i,s,c,u,p]),Ct(()=>()=>{if(i.current===o){if(u.current=null,!g.current)return;i.current=null,$9n(s,c),p.clear()}},[u,i,s,o,c,p]),ah.useMemo(()=>({activeIdRef:i,hasProvider:d,delayRef:s,isInstantPhase:f}),[i,d,s,f])}var ah,Vat;var Gat=P(()=>{Rp();Nr();DN();ka();ko();le();ah=z(re(),1),Vat=ah.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new kp,currentIdRef:{current:null},currentContextRef:{current:null}})});function sm(...e){return()=>{for(let t=0;t{Nr();a0();Q8();le();Dee=z(re(),1),j1=Dee.forwardRef(function(t,n){let[r,o]=Dee.useState();return Ct(()=>{if(iee.voiceOver&&jA.webkit)o("button")},[]),h("span",{...t,ref:n,style:xg,"aria-hidden":r?void 0:!0,...{tabIndex:0,role:r},"data-base-ui-focus-guard":""})})});function o3(e){return`data-base-ui-${e}`}function e9(e,t={}){let{preventScroll:n=!1,sync:r=!1,shouldFocus:o}=t;cancelAnimationFrame(Lee);function a(){if(o&&!o())return;e?.focus({preventScroll:n})}if(r)return a(),oa;let i=requestAnimationFrame(a);return Lee=i,()=>{if(Lee===i)cancelAnimationFrame(i),Lee=0}}var Lee=0;var lSe=P(()=>{Ci()});function eMn(e){return dSe[e]}function Wat(e){if(!e)return null;return Ab(e)?e.host:Wat(e.parentNode)}function tMn(e,t,n,r,{mark:o=!0}){let a=null;if(r)a="inert";else if(n)a="aria-hidden";let i=null,s=null,l=Zat(t,e),c=o?Xat(t,Qat(l),new Set(l)):[],u=[],d=[];if(a){let p=cSe[a],f=eMn(a);s=f,i=p;let m=Zat(t,Array.from(t.querySelectorAll("[aria-live]"))),g=l.concat(m);Xat(t,Qat(g),new Set(g)).forEach((y)=>{let x=y.getAttribute(a),A=x!==null&&x!=="false",w=(p.get(y)||0)+1;if(p.set(y,w),u.push(y),w===1&&A)f.add(y);if(!A)y.setAttribute(a,a==="inert"?"":"true")})}if(o)c.forEach((p)=>{let f=(BN.get(p)||0)+1;if(BN.set(p,f),d.push(p),f===1)p.setAttribute(qat,"")});return uSe+=1,()=>{if(i)u.forEach((p)=>{let m=(i.get(p)||0)-1;if(i.set(p,m),!m){if(!s?.has(p)&&a)p.removeAttribute(a);s?.delete(p)}});if(o)d.forEach((p)=>{let f=(BN.get(p)||0)-1;if(BN.set(p,f),!f)p.removeAttribute(qat)});if(uSe-=1,!uSe)cSe.inert=new WeakMap,cSe["aria-hidden"]=new WeakMap,dSe.inert=new WeakSet,dSe["aria-hidden"]=new WeakSet,BN=new WeakMap}}function pSe(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:o=!0}=t,a=yr(e[0]).body;return tMn(e,a,n,r,{mark:o})}var cSe,qat="data-base-ui-inert",dSe,BN,uSe=0,Zat=(e,t)=>t.map((n)=>{if(e.contains(n))return n;let r=Wat(n);if(e.contains(r))return r;return null}).filter((n)=>n!=null),Qat=(e)=>{let t=new Set;return e.forEach((n)=>{let r=n;while(r&&!t.has(r))t.add(r),r=r.parentNode}),t},Xat=(e,t,n)=>{let r=[],o=(a)=>{if(!a||n.has(a))return;Array.from(a.children).forEach((i)=>{if(Pc(i)==="script")return;if(t.has(i))o(i);else r.push(i)})};return o(e),r};var Yat=P(()=>{vs();ul();cSe={inert:new WeakMap,"aria-hidden":new WeakMap},dSe={inert:new WeakSet,"aria-hidden":new WeakSet},BN=new WeakMap});var Kat=500,Bee=500,Jat,t9="data-base-ui-click-trigger",Oee,n9,jat;var Ig=P(()=>{Jat={style:{transition:"none"}},Oee={fallbackAxisSide:"none"},n9={fallbackAxisSide:"end"},jat={clipPath:"inset(50%)",position:"fixed",top:0,left:0}});function Fee(e={}){let{ref:t,container:n,componentProps:r=$r,elementProps:o}=e,a=Ag(),s=fSe()?.portalNode,[l,c]=Js.useState(null),[u,d]=Js.useState(null),p=Ot((v)=>{if(v!==null)d(v)}),f=Js.useRef(null);Ct(()=>{if(n===null){if(f.current)f.current=null,d(null),c(null);return}let v=(n&&(P$(n)?n:n.current))??s??document.body;if(v==null){if(f.current)f.current=null,d(null),c(null);return}if(f.current!==v)f.current=v,d(null),c(v)},[n,s]);let m=Zt("div",r,{ref:[t,p],props:[{id:a,[nMn]:""},o]}),g=l&&m?mf(m,l):null;return{node:u,nodeId:Js.isValidElement(m)?m.props.id:void 0,subtree:g}}var Js,$at,fSe=()=>Js.useContext($at),nMn,a3;var Uee=P(()=>{bd();vs();Y8();Nr();da();Ci();LN();gee();ka();ko();vr();Ig();le();Js=z(re(),1),$at=Js.createContext(null),nMn=o3("portal");a3=Js.forwardRef(function(t,n){let{render:r,className:o,style:a,children:i,container:s,portalOwnerRole:l,...c}=t,{node:u,nodeId:d,subtree:p}=Fee({container:s,ref:n,componentProps:t,elementProps:c}),f=Js.useRef(null),m=Js.useRef(null),g=Js.useRef(null),v=Js.useRef(null),[y,x]=Js.useState(null),A=Js.useRef(!1),w=y?.modal,C=y?.open,E=!!y&&!y.modal&&y.open&&!!u;Js.useEffect(()=>{if(!u||w)return;function I(k){if(u&&k.relatedTarget&&t3(k))if(k.type==="focusin"){if(A.current)_we(u),A.current=!1}else iat(u),A.current=!0}return sm(zr(u,"focusin",I,!0),zr(u,"focusout",I,!0))},[u,w]),Ct(()=>{if(!u||C!==!0||!A.current)return;_we(u),A.current=!1},[C,u]);let T=Js.useMemo(()=>({beforeOutsideRef:f,afterOutsideRef:m,beforeInsideRef:g,afterInsideRef:v,portalNode:u,setFocusManagerState:x}),[u]);return M(Js.Fragment,{children:[p,M($at.Provider,{value:T,children:[E&&u&&h(j1,{"data-type":"outside",ref:f,onFocus:(I)=>{if(t3(I,u))g.current?.focus();else{let k=y?y.domReference:null;hee(k)?.focus()}}}),E&&u&&h("span",{role:l,"aria-owns":d,style:jat}),u&&mf(i,u),E&&u&&h(j1,{"data-type":"outside",ref:m,onFocus:(I)=>{if(t3(I,u))v.current?.focus();else{let k=y?y.domReference:null;if(HP(k)?.focus(),y?.closeOnFocusOut)y?.onOpenChange(!1,un(_4,I.nativeEvent))}}})]})]})})});function Nee(){let e=new Map;return{emit(t,n){e.get(t)?.forEach((r)=>r(n))},on(t,n){if(!e.has(t))e.set(t,new Set);e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}class mE{nodesRef={current:[]};events=Nee();addNode(e){this.nodesRef.current.push(e)}removeNode(e){let t=this.nodesRef.current.findIndex((n)=>n===e);if(t!==-1)this.nodesRef.current.splice(t,1)}}var zee=()=>{};function hE(e){let t=Ag(),n=lm(e),r=ih();return Ct(()=>{if(!t)return;let o={id:t,parentId:r};return n?.addNode(o),()=>{n?.removeNode(o)}},[n,t,r]),t}function ON(e){let{children:t,id:n}=e,r=ih();return h(eit.Provider,{value:Y4.useMemo(()=>({id:n,parentId:r}),[n,r]),children:t})}function FN(e){let{children:t,externalTree:n}=e,r=qa(()=>n??new mE).current;return h(tit.Provider,{value:r,children:t})}var Y4,eit,tit,ih=()=>Y4.useContext(eit)?.id||null,lm=(e)=>{let t=Y4.useContext(tit);return e??t};var Nb=P(()=>{Y8();Nr();om();zee();le();Y4=z(re(),1),eit=Y4.createContext(null),tit=Y4.createContext(null)});function rMn(e,t){let n=Io(fi(e));if(e instanceof n.KeyboardEvent)return"keyboard";if(e instanceof n.FocusEvent)return t||"keyboard";if("pointerType"in e)return e.pointerType||"keyboard";if("touches"in e)return"touch";if(e instanceof n.MouseEvent)return t||(e.detail===0?"keyboard":"mouse");return""}function mSe(){K4=K4.filter((e)=>e.deref()?.isConnected)}function rit(e){if(mSe(),e&&Pc(e)!=="body"){if(K4.push(new WeakRef(e)),K4.length>nit)K4=K4.slice(-nit)}}function oit(){return mSe(),K4[K4.length-1]?.deref()}function oMn(e){if(!e)return null;if(mee(e))return e;return _P(e)[0]||e}function ait(e){if(e.hasAttribute("tabindex")&&!e.hasAttribute("data-tabindex"))return;if(!e.getAttribute("role")?.includes("dialog"))return;let n=zwe(e).filter((o)=>{let a=o.getAttribute("data-tabindex")||"";return mee(o)||o.hasAttribute("data-tabindex")&&!a.startsWith("-")}),r=e.getAttribute("tabindex");if(n.length===0){if(r!=="0")e.setAttribute("tabindex","0"),e.setAttribute("data-tabindex","0")}else if(r!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1")}function i3(e){let{context:t,children:n,disabled:r=!1,initialFocus:o=!0,returnFocus:a=!0,restoreFocus:i=!1,modal:s=!0,closeOnFocusOut:l=!0,openInteractionType:c="",nextFocusableElement:u,previousFocusableElement:d,beforeContentFocusGuardRef:p,externalTree:f,getInsideElements:m}=e,g="rootStore"in t?t.rootStore:t,v=g.useState("open"),y=g.useState("domReferenceElement"),x=g.useState("floatingElement"),{events:A,dataRef:w}=g.context,C=Ot(()=>w.current.floatingContext?.nodeId),E=o===!1,T=wN(y)&&E,I=ti(o),k=ti(a),L=ti(c),O=ti(v),B=lm(f),U=fSe(),D=cm.useRef(!1),N=cm.useRef(!1),_=cm.useRef(!1),G=cm.useRef(null),Z=cm.useRef(""),q=cm.useRef(""),H=cm.useRef(null),te=cm.useRef(null),ie=cl(H,p,U?.beforeInsideRef),j=cl(te,U?.afterInsideRef),oe=mi(),J=mi(),Y=wg(),ae=U!=null,ne=oE(x),Se=Ot((Ee=ne)=>Ee?_P(Ee):[]),fe=Ot(()=>m?.().filter((Ee)=>Ee!=null)??[]);cm.useEffect(()=>{if(r||!s)return;function Ee(Re){if(Re.key==="Tab"){if(Ln(ne,Ks(yr(ne)))&&Se().length===0&&!T)i0(Re)}}let pe=yr(ne);return zr(pe,"keydown",Ee)},[r,ne,s,T,Se]),cm.useEffect(()=>{if(r||!v)return;let Ee=yr(ne);function pe(){_.current=!1}function Re(Ne){let be=fi(Ne),ye=fe(),ce=Ln(x,be)||Ln(y,be)||Ln(U?.portalNode,be)||ye.some((ue)=>ue===be||Ln(ue,be));if(_.current=!ce,q.current=Ne.pointerType||"keyboard",be?.closest(`[${t9}]`))N.current=!0,J.start(0,()=>{N.current=!1})}function Le(){q.current="keyboard"}return sm(zr(Ee,"pointerdown",Re,!0),zr(Ee,"pointerup",pe,!0),zr(Ee,"pointercancel",pe,!0),zr(Ee,"keydown",Le,!0),pe)},[r,x,y,ne,v,U,J,fe]),cm.useEffect(()=>{if(r||!l)return;let Ee=yr(ne);function pe(){N.current=!0,J.start(0,()=>{N.current=!1})}function Re(ye){let ce=fi(ye);if(mee(ce))G.current=ce}function Le(ye){let{relatedTarget:ce,currentTarget:ue}=ye,ke=fi(ye);if(s&&ce==null&&ke!=null&&Ln(x,ke))rit(ke);queueMicrotask(()=>{let se=C(),qe=g.context.triggerElements,Me=fe(),Qe=ce?.hasAttribute(o3("focus-guard"))&&[H.current,te.current,U?.beforeInsideRef.current,U?.afterInsideRef.current,U?.beforeOutsideRef.current,U?.afterOutsideRef.current,S2(d),S2(u)].includes(ce),ee=!(Ln(y,ce)||Ln(x,ce)||Ln(ce,x)||Ln(U?.portalNode,ce)||Me.some((K)=>K===ce||Ln(K,ce))||qe.hasMatchingElement((K)=>Ln(K,ce))||Qe||B&&(q1(B.nodesRef.current,se).find((K)=>Ln(K.context?.elements.floating,ce)||Ln(K.context?.elements.domReference,ce))||Fwe(B.nodesRef.current,se).find((K)=>[K.context?.elements.floating,oE(K.context?.elements.floating)].includes(ce)||K.context?.elements.domReference===ce)));if(ue===y&&ne)ait(ne);if(i&&ue!==y&&!sE(ke)&&Ks(Ee)===Ee.body){if(Xo(ne)){if(ne.focus(),i==="popup"){Y.request(()=>{ne.focus()});return}}let K=Se(),we=G.current,ze=(we&&K.includes(we)?we:null)||K[K.length-1]||ne;if(Xo(ze))ze.focus()}if(w.current.insideReactTree){w.current.insideReactTree=!1;return}if((T?!0:!s)&&ce&&ee&&!N.current&&(T||ce!==oit()))D.current=!0,g.setOpen(!1,un(_4,ye))})}function Ne(){if(_.current)return;w.current.insideReactTree=!0,oe.start(0,()=>{w.current.insideReactTree=!1})}let be=Xo(y)?y:null;if(!x&&!be)return;return sm(be&&zr(be,"focusout",Le),be&&zr(be,"pointerdown",pe),x&&zr(x,"focusin",Re),x&&zr(x,"focusout",Le),x&&U&&zr(x,"focusout",Ne,!0))},[r,y,x,ne,s,B,U,g,l,i,Se,T,C,w,oe,J,Y,u,d,fe]),cm.useEffect(()=>{if(r||!x||!v)return;let Ee=Array.from(U?.portalNode?.querySelectorAll(`[${o3("portal")}]`)||[]),Re=(B?Fwe(B.nodesRef.current,C()):[]).find((ue)=>wN(ue.context?.elements.domReference||null))?.context?.elements.domReference,Ne=[...[x,...Ee,H.current,te.current,U?.beforeOutsideRef.current,U?.afterOutsideRef.current,...fe()],Re,S2(d),S2(u),T?y:null].filter((ue)=>ue!=null),be=pSe(Ne,{ariaHidden:s||T,mark:!1}),ye=[x,...Ee].filter((ue)=>ue!=null),ce=pSe(ye);return()=>{ce(),be()}},[v,r,y,x,s,U,T,B,C,u,d,fe]),Ct(()=>{if(!v||r||!Xo(ne))return;Z.current="",q.current="";let Ee=yr(ne),pe=Ks(Ee);queueMicrotask(()=>{let Re=I.current,Le=typeof Re==="function"?Re(L.current||""):Re;if(Le===void 0||Le===!1)return;if(Ln(ne,pe))return;let be=null,ye=()=>{if(be==null)be=Se(ne);return be[0]||ne},ce;if(Le===!0||Le===null)ce=ye();else ce=S2(Le);ce=ce||ye();let ue=Ln(ne,Ks(Ee));e9(ce,{preventScroll:ce===ne,shouldFocus(){if(!O.current)return!1;if(ue)return!0;let ke=Ks(Ee);return!(ke!==ce&&Ln(ne,ke))}})})},[r,v,ne,Se,I,L,O]),Ct(()=>{if(r||!ne)return;let Ee=yr(ne),pe=Ks(Ee),Re=L.current==null;rit(pe);function Le(be){if(!be.open)Z.current=rMn(be.nativeEvent,q.current);if(be.reason===sc&&be.nativeEvent.type==="mouseleave")D.current=!0;if(be.reason!==X$)return;if(be.nested)D.current=!1;else if(Z4(be.nativeEvent)||UP(be.nativeEvent))D.current=!1;else{let ye=!1;if(yr(ne).createElement("div").focus({get preventScroll(){return ye=!0,!1}}),ye)D.current=!1;else D.current=!0}}A.on("openchange",Le);function Ne(be){let ye=k.current,ce=typeof ye==="function"?ye(be):ye;if(ce===void 0||ce===!1)return null;if(ce===null)ce=!0;let ue=y?.isConnected?y:null,ke=pe?.isConnected&&Pc(pe)!=="body"?pe:null,se=Re?ke||ue:ue||ke;if(!se)se=oit()||null;if(typeof ce==="boolean")return se;return S2(ce)||se||null}return()=>{A.off("openchange",Le);let be=Ks(Ee),ye=fe(),ce=Ln(x,be)||ye.some((qe)=>qe===be||Ln(qe,be))||B&&q1(B.nodesRef.current,C(),!1).some((qe)=>Ln(qe.context?.elements.floating,be)),ue=k.current,ke=Z.current,se=Ne(ke);queueMicrotask(()=>{let qe=oMn(se),Me=typeof ue!=="boolean";if(ue&&!D.current&&Xo(qe)&&(!Me&&qe!==be&&be!==Ee.body?ce:!0)){let Qe={preventScroll:!0};if(ke==="keyboard")Qe.focusVisible=!0;qe.focus(Qe)}D.current=!1})}},[r,x,ne,k,L,A,B,y,C,fe]),Ct(()=>{if(!jA.webkit||v||!x)return;let Ee=Ks(yr(x));if(!Xo(Ee)||!rE(Ee))return;if(Ln(x,Ee))Ee.blur()},[v,x]),Ct(()=>{if(r||!U)return;return U.setFocusManagerState({modal:s,closeOnFocusOut:l,open:v,onOpenChange:g.setOpen,domReference:y}),()=>{U.setFocusManagerState(null)}},[r,U,s,v,g,l,y]),Ct(()=>{if(r||!ne)return;return ait(ne),()=>{queueMicrotask(mSe)}},[r,ne]);let Ae=!r&&(s?!T:!0)&&(ae||s);return M(cm.Fragment,{children:[Ae&&h(j1,{"data-type":"inside",ref:ie,onFocus:(Ee)=>{if(s){let pe=Se();e9(pe[pe.length-1])}else if(U?.portalNode)if(D.current=!1,t3(Ee,U.portalNode))HP(y)?.focus();else S2(d??U.beforeOutsideRef)?.focus()}}),n,Ae&&h(j1,{"data-type":"inside",ref:j,onFocus:(Ee)=>{if(s)e9(Se()[0]);else if(U?.portalNode){if(l)D.current=!0;if(t3(Ee,U.portalNode))hee(y)?.focus();else S2(u??U.afterOutsideRef)?.focus()}}})]})}var cm,nit=20,K4;var iit=P(()=>{vs();U1();Ob();da();Nr();Rp();a0();kb();ul();LN();im();Z1();gee();zP();ka();ko();lSe();Yat();Uee();Nb();Ig();le();cm=z(re(),1);K4=[]});function T2(e,t={}){let{enabled:n=!0,event:r="click",toggle:o=!0,ignoreMouse:a=!1,stickIfOpen:i=!0,touchOpenDelay:s=0,reason:l=Ib}=t,c="rootStore"in e?e.rootStore:e,u=c.context.dataRef,d=UN.useRef(void 0),p=wg(),f=mi(),m=UN.useMemo(()=>{function g(y,x,A,w){let C=un(l,x,A);if(y&&w==="touch"&&s>0)f.start(s,()=>{c.setOpen(!0,C)});else c.setOpen(y,C)}function v(y,x,A){let w=u.current.openEvent,C=c.select("domReferenceElement")!==x;if(y&&C)return!0;if(!y)return!0;if(!o)return!0;if(w&&i)return!A(w.type);return!1}return{onPointerDown(y){d.current=Sg(y.pointerType,!0)&&UP(y.nativeEvent)?"virtual":y.pointerType},onMouseDown(y){let x=d.current,A=y.nativeEvent,w=c.select("open");if(y.button!==0||r==="click"||Sg(x,!0)&&a)return;let C=v(w,y.currentTarget,(I)=>I==="click"||I==="mousedown"),E=fi(A);if(rE(E)){g(C,A,E,x);return}let T=y.currentTarget;p.request(()=>{g(C,A,T,x)})},onClick(y){if(r==="mousedown-only")return;let x=d.current;if(r==="mousedown"&&x){d.current=void 0;return}if(Sg(x,!0)&&a)return;let A=c.select("open"),w=v(A,y.currentTarget,(C)=>C==="click"||C==="mousedown"||C==="keydown"||C==="keyup");g(w,y.nativeEvent,y.currentTarget,x)},onKeyDown(){d.current=void 0}}},[u,r,a,l,c,i,o,p,f,s]);return UN.useMemo(()=>n?{reference:m}:$r,[n,m])}var UN;var sit=P(()=>{kb();Rp();Ci();im();Z1();ka();ko();UN=z(re(),1)});function aMn(e,t){let n=null,r=null,o=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},i=t.axis==="x"||t.axis==="both",s=t.axis==="y"||t.axis==="both",l=["mouseenter","mousemove"].includes(t.dataRef.current.openEvent?.type||"")&&t.pointerType!=="touch",{width:c,height:u,x:d,y:p}=a;if(n==null&&t.x&&i)n=a.x-t.x;if(r==null&&t.y&&s)r=a.y-t.y;if(d-=n||0,p-=r||0,c=0,u=0,!o||l)c=t.axis==="y"?a.width:0,u=t.axis==="x"?a.height:0,d=i&&t.x!=null?t.x:d,p=s&&t.y!=null?t.y:p;else if(o&&!l)u=t.axis==="x"?a.height:u,c=t.axis==="y"?a.width:c;return o=!0,{width:c,height:u,x:d,y:p,top:p,right:d+c,bottom:p+u,left:d}}}}function lit(e){return e!=null&&e.clientX!=null}function hSe(e,t={}){let{enabled:n=!0,axis:r="both"}=t,o="rootStore"in e?e.rootStore:e,a=o.useState("open"),i=o.useState("floatingElement"),s=o.useState("domReferenceElement"),l=o.context.dataRef,c=c0.useRef(!1),u=c0.useRef(null),[d,p]=c0.useState(),[f,m]=c0.useState([]),g=Ot((w)=>{o.set("positionReference",w)}),v=Ot((w,C,E)=>{if(c.current)return;if(l.current.openEvent&&!lit(l.current.openEvent))return;o.set("positionReference",aMn(E??s,{x:w,y:C,axis:r,dataRef:l,pointerType:d}))}),y=Ot((w)=>{if(!a)v(w.clientX,w.clientY,w.currentTarget);else if(!u.current)v(w.clientX,w.clientY,w.currentTarget),m([])}),x=Sg(d)?i:a;c0.useEffect(()=>{if(!n){g(s);return}if(!x)return;function w(){u.current?.(),u.current=null}let C=Io(i);function E(T){let I=fi(T);if(!Ln(i,I))v(T.clientX,T.clientY);else w()}if(!l.current.openEvent||lit(l.current.openEvent))u.current=zr(C,"mousemove",E);else g(s);return w},[x,n,i,l,s,o,v,g,f]),c0.useEffect(()=>()=>{o.set("positionReference",null)},[o]),c0.useEffect(()=>{if(n&&!i)c.current=!1},[n,i]),c0.useEffect(()=>{if(!n&&a)c.current=!0},[n,a]);let A=c0.useMemo(()=>{function w(C){p(C.pointerType)}return{onPointerDown:w,onPointerEnter:w,onMouseMove:y,onMouseEnter:y}},[y]);return c0.useMemo(()=>n?{reference:A,trigger:A}:{},[n,A])}var c0;var cit=P(()=>{da();vs();im();Z1();c0=z(re(),1)});function iMn(){return!1}function sMn(e){return{escapeKey:typeof e==="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e==="boolean"?e:e?.outsidePress??!0}}function k2(e,t={}){let{enabled:n=!0,escapeKey:r=!0,outsidePress:o=!0,outsidePressEvent:a="sloppy",referencePress:i=iMn,bubbles:s,externalTree:l}=t,c="rootStore"in e?e.rootStore:e,u=c.useState("open"),d=c.useState("floatingElement"),{dataRef:p,events:f}=c.context,m=lm(l),g=Ot(typeof o==="function"?o:()=>!1),v=typeof o==="function"?g:o,y=v!==!1,x=Ot(()=>a),{escapeKey:A,outsidePress:w}=sMn(s),C=sh.useRef(!1),E=sh.useRef(!1),T=sh.useRef(!1),I=sh.useRef(!1),k=sh.useRef(!1),L=sh.useRef(""),O=sh.useRef(null),B=mi(),U=mi(),D=Ot(()=>{U.clear(),p.current.insideReactTree=!1}),N=Ot((oe)=>{let J=p.current.floatingContext?.nodeId;return(m?q1(m.nodesRef.current,J):[]).some((ae)=>ae.context?.open&&!ae.context.dataRef.current[oe])}),_=Ot((oe)=>lee(oe,c.select("floatingElement"))||lee(oe,c.select("domReferenceElement"))),G=Ot((oe)=>{if(!i())return;c.setOpen(!1,un(Ib,oe.nativeEvent))}),Z=Ot((oe)=>{if(!u||!n||!r||oe.key!=="Escape")return;if(k.current)return;if(!A&&N("__escapeKeyBubbles"))return;let J=Got(oe)?oe.nativeEvent:oe,Y=un(pN,J);if(c.setOpen(!1,Y),!Y.isCanceled)oe.preventDefault();if(!A&&!Y.isPropagationAllowed)oe.stopPropagation()}),q=Ot(()=>{p.current.insideReactTree=!0,U.start(0,D)}),H=Ot((oe)=>{if(!u||!n||oe.button!==0)return;let J=fi(oe.nativeEvent);if(!Ln(c.select("floatingElement"),J))return;if(!C.current)C.current=!0,E.current=!1}),te=Ot((oe)=>{if(!u||!n)return;if(!(oe.defaultPrevented||oe.nativeEvent.defaultPrevented))return;if(C.current)E.current=!0});sh.useEffect(()=>{function oe(J){if(!J.open)I.current=!1}return f.on("openchange",oe),()=>{f.off("openchange",oe)}},[f]),sh.useEffect(()=>{if(!u||!n){if(!u)I.current=!1;return D}p.current.__escapeKeyBubbles=A,p.current.__outsidePressBubbles=w;let oe=new kp,J=new kp,Y=yr(d);function ae(){oe.clear(),k.current=!0}function ne(){oe.start(jA.webkit?5:0,()=>{k.current=!1})}function Se(){T.current=!0,J.start(0,()=>{T.current=!1})}function fe(){C.current=!1,E.current=!1}function Ae(){let ee=L.current,K=ee==="pen"||!ee?"mouse":ee,we=x(),ze=typeof we==="function"?we():we;if(typeof ze==="string")return ze;return ze[K]}function Ee(ee){let K=Ae();return K==="intentional"&&ee.type!=="click"||K==="sloppy"&&ee.type==="click"}function pe(ee){let K=p.current.floatingContext?.nodeId,we=m&&q1(m.nodesRef.current,K).some((ze)=>lee(ee,ze.context?.elements.floating));return _(ee)||we}function Re(ee){if(Ee(ee)){if(ee.type!=="click"&&!_(ee))J.clear(),T.current=!1;D();return}if(p.current.insideReactTree){D();return}let K=fi(ee),we=`[${o3("inert")}]`,ze=Dr(K)?K.getRootNode():null,tt=Array.from((Ab(ze)?ze:yr(c.select("floatingElement"))).querySelectorAll(we)),Pe=c.context.triggerElements;if(K&&(Pe.hasElement(K)||Pe.hasMatchingElement((Ue)=>Ln(Ue,K))))return;let Ke=Dr(K)?K:null;while(Ke&&!z1(Ke)){let Ue=N1(Ke);if(z1(Ue)||!Dr(Ue))break;Ke=Ue}if(tt.length&&Dr(K)&&!Vot(K)&&!Ln(K,c.select("floatingElement"))&&tt.every((Ue)=>!Ln(Ke,Ue)))return;if(Xo(K)&&!("touches"in ee)){let Ue=z1(K),Ze=Sf(K),ct=/auto|scroll/,Rt=Ue||ct.test(Ze.overflowX),de=Ue||ct.test(Ze.overflowY),ge=Rt&&K.clientWidth>0&&K.scrollWidth>K.clientWidth,Oe=de&&K.clientHeight>0&&K.scrollHeight>K.clientHeight,Xe=Ze.direction==="rtl",$e=Oe&&(Xe?ee.offsetX<=K.offsetWidth-K.clientWidth:ee.offsetX>K.clientWidth),Ie=ge&&ee.offsetY>K.clientHeight;if($e||Ie)return}if(pe(ee))return;if(Ae()==="intentional"){if(ee.detail!==0&&!Z4(ee)&&!I.current)return;if(T.current){J.clear(),T.current=!1;return}}if(typeof v==="function"&&!v(ee))return;if(N("__outsidePressBubbles"))return;c.setOpen(!1,un(X$,ee)),D()}function Le(ee){if(Ae()!=="sloppy"||ee.pointerType==="touch"||!c.select("open")||!n||_(ee))return;Re(ee)}function Ne(ee){if(Ae()!=="sloppy"||!c.select("open")||!n||_(ee))return;let K=ee.touches[0];if(K)O.current={startTime:Date.now(),startX:K.clientX,startY:K.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},B.start(1000,()=>{if(O.current)O.current.dismissOnTouchEnd=!1,O.current.dismissOnMouseDown=!1})}function be(ee,K){let we=fi(ee);if(!we)return;let ze=zr(we,ee.type,()=>{K(ee),ze()})}function ye(ee){L.current="touch",be(ee,Ne)}function ce(ee){if(B.clear(),ee.type==="pointerdown"){if(ee.button===0)I.current=!0;L.current=ee.pointerType}if(ee.type==="mousedown"&&O.current&&!O.current.dismissOnMouseDown)return;be(ee,(K)=>{if(K.type==="pointerdown")Le(K);else Re(K)})}function ue(ee){if(ee.type==="pointercancel")I.current=!1;if(!C.current)return;let K=E.current;if(fe(),Ae()!=="intentional")return;if(ee.type==="pointercancel"){if(K)Se();return}if(pe(ee))return;if(K){Se();return}if(typeof v==="function"&&!v(ee))return;J.clear(),T.current=!0,D()}function ke(ee){if(Ae()!=="sloppy"||!O.current||_(ee))return;let K=ee.touches[0];if(!K)return;let we=Math.abs(K.clientX-O.current.startX),ze=Math.abs(K.clientY-O.current.startY),tt=Math.sqrt(we*we+ze*ze);if(tt>5)O.current.dismissOnTouchEnd=!0;if(tt>10)Re(ee),B.clear(),O.current=null}function se(ee){be(ee,ke)}function qe(ee){if(Ae()!=="sloppy"||!O.current||_(ee))return;if(O.current.dismissOnTouchEnd)Re(ee);B.clear(),O.current=null}function Me(ee){be(ee,qe)}let Qe=sm(r&&sm(zr(Y,"keydown",Z),zr(Y,"compositionstart",ae),zr(Y,"compositionend",ne)),y&&sm(zr(Y,"click",ce,!0),zr(Y,"pointerdown",ce,!0),zr(Y,"pointerup",ue,!0),zr(Y,"pointercancel",ue,!0),zr(Y,"mousedown",ce,!0),zr(Y,"mouseup",ue,!0),zr(Y,"touchstart",ye,{capture:!0,passive:!0}),zr(Y,"touchmove",se,{capture:!0,passive:!0}),zr(Y,"touchend",Me,{capture:!0,passive:!0})));return()=>{Qe(),oe.clear(),J.clear(),fe(),T.current=!1,D()}},[p,d,r,y,v,u,n,A,w,Z,D,x,N,_,m,c,B]);let ie=sh.useMemo(()=>({onKeyDown:Z,onPointerDown:G,onClick:G}),[Z,G]),j=sh.useMemo(()=>({onKeyDown:Z,onPointerDown:te,onMouseDown:te,onClickCapture:q,onMouseDownCapture(oe){q(),H(oe)},onPointerDownCapture(oe){q(),H(oe)},onMouseUpCapture:q,onTouchEndCapture:q,onTouchMoveCapture:q}),[Z,q,H,te]);return sh.useMemo(()=>n?{reference:ie,floating:j,trigger:ie}:{},[n,ie,j])}var sh;var uit=P(()=>{ul();da();Rp();vs();a0();Nb();ka();ko();im();Z1();sh=z(re(),1)});var dit=()=>{};var pit=()=>{};var fit=()=>{};function NN(){return{s:uMn,v:void 0,o:null,p:null}}function dMn(e){if(e instanceof hit)return e.deref();return e}function pMn(e,t={}){let n=NN(),{resultEqualityCheck:r,maxSize:o}=t,a=o!==void 0;if(a&&(!Number.isInteger(o)||o<1))throw TypeError(`maxSize must be a positive integer, received: ${o}`);let i=null,s=0,l,c=0,u=!1;function d(){if(s>=o)i=n,n=NN(),s=0}function p(){let f=n,{length:m}=arguments;for(let y=0,x=m;y{n=NN(),i=null,s=0,p.resetResultsCount()},p.resultsCount=()=>c,p.resetResultsCount=()=>{c=0},p}function fMn(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=="function")throw TypeError(t)}function mMn(e,t="expected all items to be functions, instead received the following types: "){if(!e.every((n)=>typeof n==="function")){let n=e.map((r)=>typeof r==="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw TypeError(`${t}[${n}]`)}}function hMn(e){let t=Array.isArray(e[0])?e[0]:e;return mMn(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function git(e,...t){let n=typeof e==="function"?{memoize:e,memoizeOptions:t}:e,r=(...o)=>{let a=0,i=0,s,l={},c=o.pop();if(typeof c==="object")l=c,c=o.pop();fMn(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);let u={...n,...l},{memoize:d,memoizeOptions:p=[],argsMemoize:f=pMn,argsMemoizeOptions:m=[]}=u,g=mit(p),v=mit(m),y=hMn(o),x=d(function(){return a++,c.apply(null,arguments)},...g),A=!0,w=f(function(){i++;let{length:E}=y,T=Array(E);for(let I=0;Ii,resetDependencyRecomputations:()=>{i=0},lastResult:()=>s,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:d,argsMemoize:f})};return Object.assign(r,{withTypes:()=>r}),r}function gMn(e){let t;return{get(n){if(t&&e(t.key,n))return t.value;return gSe},put(n,r){t={key:n,value:r}},findMatchingEntry(n,r){let o=t;return o!==void 0&&r(o.value,n)?o:void 0},clear(){t=void 0}}}function yMn(e,t){let n=[];function r(s){let l=n.findIndex((c)=>t(c.key,s));if(l>-1){let c=n[l];if(l>0)n.splice(l,1),n.unshift(c);return c.value}return gSe}function o(s,l){if(n.unshift({key:s,value:l}),n.length>e)n.pop()}function a(s,l){let c=n,{length:u}=c;for(let d=0;d{l.clear(),c.resetResultsCount()},c.resultsCount=()=>s,c.resetResultsCount=()=>{s=0},c}var lMn=class{constructor(e){this.value=e}deref(){return this.value}},cMn=()=>typeof WeakRef>"u"?lMn:WeakRef,hit,uMn=0,_ee=1,gSe,mit=(e)=>Array.isArray(e)?e:[e],vMn=(e,t)=>e===t;var vit=P(()=>{hit=cMn();gSe=Symbol("NOT_FOUND")});var bit,xMn,AMn=(e)=>{let t=e?.memoizeOptions,n=e;if(e!==void 0){if(e.memoize!==void 0){if(t===void 0)n={...e,memoizeOptions:void 0}}else if(typeof t==="object"&&t!==null&&!Array.isArray(t))n={...e,memoizeOptions:{...bit,...t}}}return(...r)=>{let o=new WeakMap,a=1,i=r[r.length-1],s=r.length===1?[(d)=>d,i]:r,l=s.length-1,c=i.length===0?0:i.length-l;if(c<0||c>3)throw Error(Dn(2));return(d,p,f,m)=>{let g=d.__cacheKey__;if(!g)g={id:a},d.__cacheKey__=g,a+=1;let v=o.get(g);if(!v){let y=s,x=[void 0,void 0,void 0];switch(c){case 0:break;case 1:{y=[...s.slice(0,-1),()=>x[0],i];break}case 2:{y=[...s.slice(0,-1),()=>x[0],()=>x[1],i];break}default:{y=[...s.slice(0,-1),()=>x[0],()=>x[1],()=>x[2],i];break}}if(n)y=[...y,n];v=xMn(...y),v.selectorArgs=x,o.set(g,v)}switch(c){case 3:v.selectorArgs[2]=m;case 2:v.selectorArgs[1]=f;case 1:v.selectorArgs[0]=p;case 0:default:}switch(c){case 0:return v(d);case 1:return v(d,p);case 2:return v(d,p,f);default:return v(d,p,f,m)}}}},xao;var xit=P(()=>{zo();vit();bit={maxSize:1,equalityCheck:Object.is},xMn=git({memoize:yit,memoizeOptions:bit}),xao=AMn()});var ySe={};RCn(ySe,{useSyncExternalStoreWithSelector:()=>r9},{useSyncExternalStoreWithSelector:(wao)=>r9=wao});function SMn(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var J4,wMn,CMn,EMn,IMn,TMn,kMn,RMn,r9=function(e,t,n,r,o){var a=IMn(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=kMn(function(){function l(f){if(!c){if(c=!0,u=f,f=r(f),o!==void 0&&i.hasValue){var m=i.value;if(o(m,f))return d=m}return d=f}if(m=d,CMn(u,f))return m;var g=r(f);if(o!==void 0&&o(m,g))return u=f,m;return u=f,d=g}var c=!1,u,d,p=n===void 0?null:n;return[function(){return l(t())},p===null?void 0:function(){return l(p())}]},[t,n,r,o]);var s=EMn(e,a[0],a[1]);return TMn(function(){i.hasValue=!0,i.value=s},[s]),RMn(s),s};var Hee=P(()=>{J4=z(re()),wMn=QP();CMn=typeof Object.is==="function"?Object.is:SMn,EMn=wMn.useSyncExternalStore,IMn=J4.useRef,TMn=J4.useEffect,kMn=J4.useMemo,RMn=J4.useDebugValue});function wit(){return bSe}function Sit(e){vSe.push(e)}function s3(e){let t=(n,r)=>{let o=qa(PMn).current,a;try{bSe=o;for(let i of vSe)i.before(o);a=e(n,r);for(let i of vSe)i.after(o);o.didInitialize=!0}finally{bSe=void 0}return a};return t.displayName=e.displayName||e.name,t}function j4(e){return Ait.forwardRef(s3(e))}function PMn(){return{didInitialize:!1}}var Ait,vSe,bSe=void 0;var zb=P(()=>{om();Ait=z(re(),1),vSe=[]});function Vee(e,t,n,r,o){return DMn(e,t,n,r,o)}function LMn(e,t,n,r,o){let a=Cit.useCallback(()=>t(e.getSnapshot(),n,r,o),[e,t,n,r,o]);return xSe.useSyncExternalStore(e.subscribe,a,a)}function BMn(e,t,n,r,o){let a=wit();if(!a)return LMn(e,t,n,r,o);let i=a.syncIndex;a.syncIndex+=1;let s;if(!a.didInitialize)s={store:e,selector:t,a1:n,a2:r,a3:o,value:t(e.getSnapshot(),n,r,o)},a.syncHooks.push(s);else if(s=a.syncHooks[i],s.store!==e||s.selector!==t||!Object.is(s.a1,n)||!Object.is(s.a2,r)||!Object.is(s.a3,o)){if(s.store!==e)a.didChangeStore=!0;s.store=e,s.selector=t,s.a1=n,s.a2=r,s.a3=o,s.value=t(e.getSnapshot(),n,r,o)}return s.value}function OMn(e,t,n,r,o){return r9(e.subscribe,e.getSnapshot,e.getSnapshot,(a)=>t(a,n,r,o))}var Cit,xSe,MMn,DMn;var Gee=P(()=>{Hee();O$();zb();Cit=z(re(),1),xSe=z(QP(),1),MMn=CP(19),DMn=MMn?BMn:OMn;Sit({before(e){if(e.syncIndex=0,!e.didInitialize)e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n0){if(e.didChangeStore)e.didChangeStore=!1,e.subscribe=(t)=>{let n=new Set;for(let o of e.syncHooks)n.add(o.store);let r=[];for(let o of n)r.push(o.subscribe(t));return()=>{for(let o of r)o()}};xSe.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getSnapshot)}}})});class ASe{static create(e){return new this(e)}constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=(e)=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t])){this.setState({...this.state,...e});return}}set(e,t){if(!Object.is(this.state[e],t))this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return Vee(this,e,t,n,r)}}var wSe=P(()=>{Gee()});var gE,Tg;var Eit=P(()=>{wSe();Gee();da();Nr();Ci();gE=z(re(),1);Tg=class Tg extends ASe{constructor(e,t={},n){super(e);this.context=t,this.selectors=n}useSyncedValue(e,t){gE.useDebugValue(e);let n=this;Ct(()=>{if(n.state[e]!==t)n.set(e,t)},[n,e,t])}useSyncedValueWithCleanup(e,t){let n=this;Ct(()=>{if(n.state[e]!==t)n.set(e,t);return()=>{n.set(e,void 0)}},[n,e,t])}useSyncedValues(e){let t=this,n=Object.values(e);Ct(()=>{t.update(e)},[t,...n])}useControlledProp(e,t){gE.useDebugValue(e);let n=this,r=t!==void 0;Ct(()=>{if(r&&!Object.is(n.state[e],t))n.setState({...n.state,[e]:t})},[n,e,t,r])}select(e,t,n,r){let o=this.selectors[e];return o(this.state,t,n,r)}useState(e,t,n,r){return gE.useDebugValue(e),Vee(this,this.selectors[e],t,n,r)}useContextCallback(e,t){gE.useDebugValue(e);let n=Ot(t??oa);this.context[e]=n}useStateSetter(e){let t=gE.useRef(void 0);if(t.current===void 0)t.current=(n)=>{this.set(e,n)};return t.current}observe(e,t){let n;if(typeof e==="function")n=e;else n=this.selectors[e];let r=n(this.state);return t(r,r,this),this.subscribe((o)=>{let a=n(o);if(!Object.is(r,a)){let i=r;r=a,t(a,i,this)}})}}});var qee,FMn;var Iit=P(()=>{bd();le();qee=z(re(),1),FMn=z(QP(),1)});var yE=P(()=>{fit();xit();Gee();wSe();Eit();Iit()});var UMn,vE;var Zee=P(()=>{yE();Cg();UMn={open:(e)=>e.open,transitionStatus:(e)=>e.transitionStatus,domReferenceElement:(e)=>e.domReferenceElement,referenceElement:(e)=>e.positionReference??e.referenceElement,floatingElement:(e)=>e.floatingElement,floatingId:(e)=>e.floatingId};vE=class vE extends Tg{constructor(e){let{syncOnly:t,nested:n,onOpenChange:r,triggerElements:o,...a}=e;super({...a,positionReference:a.referenceElement,domReferenceElement:a.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:Nee(),nested:n,triggerElements:o},UMn);this.syncOnly=t}syncOpenEvent=(e,t)=>{if(!e||!this.state.open||t!=null&&qot(t))this.context.dataRef.current.openEvent=e?t:void 0};dispatchOpenChange=(e,t)=>{this.syncOpenEvent(e,t.event);let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit("openchange",n)};setOpen=(e,t)=>{if(this.syncOnly){this.context.onOpenChange?.(e,t);return}this.dispatchOpenChange(e,t),this.context.onOpenChange?.(e,t)}}});function zN(e){let{popupStore:t,treatPopupAsFloatingElement:n=!1,floatingRootContext:r,floatingId:o,nested:a,onOpenChange:i}=e,s=t.useState("open"),l=t.useState("activeTriggerElement"),c=t.useState(n?"popupElement":"positionerElement"),u=t.context.triggerElements,d=i,p=Tit.useRef(null);if(r===void 0&&p.current===null)p.current=new vE({open:s,transitionStatus:void 0,referenceElement:l,floatingElement:c,triggerElements:u,onOpenChange:d,floatingId:o,syncOnly:!0,nested:a});let f=r??p.current;return t.useSyncedValue("floatingId",o),Ct(()=>{let m={open:s,floatingId:o,referenceElement:l,floatingElement:c};if(Dr(l))m.domReferenceElement=l;if(f.state.positionReference===f.state.referenceElement)m.positionReference=l;f.update(m)},[s,o,l,c,f]),f.context.onOpenChange=d,f.context.nested=a,f}var Tit;var SSe=P(()=>{Nr();vs();Zee();Tit=z(re(),1)});function Qee(e){return(t)=>t==="touch"?e.current:!0}function o9(e,t=!1){let n=Ag(),r=ih()!=null,o=qa(()=>e(n,r)).current;return zN({popupStore:o,treatPopupAsFloatingElement:t,floatingRootContext:o.state.floatingRootContext,floatingId:n,nested:r,onOpenChange:o.setOpen}),o}function $4({handle:e,store:t}){return Ct(()=>e.attachStore(t),[e,t]),null}function kit(e){let t=e.context.triggerElements.size;if(e.select("open")&&e.state.triggerCount!==t)e.set("triggerCount",t)}function ESe(e,t){let n=CSe.useRef(null);return Ot((r)=>{let o=n.current;if(o!==null){if(o.element===r&&o.store===t&&o.id===e)return;n.current=null;let a=o.store;if(a.context.triggerElements.getById(o.id)===o.element)a.context.triggerElements.delete(o.id),kit(a)}if(r!==null&&e!==void 0)n.current={store:t,id:e,element:r},t.context.triggerElements.add(e,r),kit(t)})}function bE(e,t,n,r=!1){let o=e.preventUnmountingOnClose;if(t)o=!1;else if(r)o=!0;let a=n?.id??null,{activeTriggerId:i,activeTriggerElement:s}=e;if(a||t)i=a,s=n??null;return{open:t,preventUnmountingOnClose:o,activeTriggerId:i,activeTriggerElement:s}}function _N(e){let t=!1;return e.preventUnmountOnClose=()=>{t=!0},()=>t}function Rit(e,t,n,r={}){let o=n.reason,a=o===sc,i=t&&o===PP,s=!t&&(o===Ib||o===pN),l=_N(n);if(e.context.onOpenChange?.(t,n),n.isCanceled)return;r.onBeforeDispatch?.(),e.state.floatingRootContext.dispatchOpenChange(t,n);let c=()=>{let u=bE(e.state,t,n.trigger,l()),d={...r.extraState,...u};if(i)d.instantType="focus";else if(s)d.instantType="dismiss";else if(a)d.instantType=void 0;e.update(d)};if(a)Ec(c);else c()}function e6(e,t,n,r){let o=n.useState("isMountedByTrigger",e),a=ESe(e,n),i=Ot((l)=>{let c=n.select("open"),u=n.select("activeTriggerId");if(u===e){let d={activeTriggerElement:l,...c?r:null};n.update(d);return}if(u==null&&c){let d={activeTriggerId:e??null,activeTriggerElement:l,...r};n.update(d)}}),s=Ot((l)=>{if(a(l),l)i(l)});return Ct(()=>(s(t.current),()=>s(null)),[s,t,n,e]),Ct(()=>{if(o){let l={activeTriggerElement:t.current,...r};n.update(l)}},[o,n,t,...Object.values(r)]),{registerTrigger:s,isMountedByThisTrigger:o}}function t6(e,t={}){let{closeOnActiveTriggerUnmount:n=!1}=t,r=CSe.useRef(null),o=e.useState("open"),a=e.useState("triggerCount"),i=e.useState("activeTriggerId"),s=e.useState("activeTriggerElement");Ct(()=>{if(!o){if(r.current=null,e.state.triggerCount!==0)e.set("triggerCount",0);return}let l=e.context.triggerElements.size,c={};if(e.state.triggerCount!==l)c.triggerCount=l;let u=e.select("activeTriggerId"),d=null;if(u){let p=e.context.triggerElements.getById(u);if(!p){for(let[f,m]of e.context.triggerElements.entries())if(m===e.state.activeTriggerElement){c.activeTriggerId=f,c.activeTriggerElement=m,r.current=f;break}if(c.activeTriggerId===void 0)if(r.current===u)d=u;else r.current=null}else if(r.current=u,p!==e.state.activeTriggerElement)c.activeTriggerElement=p}else r.current=null;if(!d&&!u&&l===1){let p=e.context.triggerElements.entries().next();if(!p.done){let[f,m]=p.value;c.activeTriggerId=f,c.activeTriggerElement=m,r.current=f}}if(c.triggerCount!==void 0||c.activeTriggerId!==void 0||c.activeTriggerElement!==void 0)e.update(c);if(d){if(n)queueMicrotask(()=>{if(e.select("open")&&e.select("activeTriggerId")===d&&!e.context.triggerElements.getById(d)){let p=un(_1);if(e.setOpen(!1,p),!p.isCanceled)e.update({activeTriggerId:null,activeTriggerElement:null})}})}},[o,e,a,i,s,n])}function n6(e,t,n,r){let{mounted:o,setMounted:a,transitionStatus:i}=Sp(e,!1,!1,r),s=t.useState("preventUnmountingOnClose"),l=e?!1:s;t.useSyncedValues({mounted:o,transitionStatus:i,preventUnmountingOnClose:l});let c=Ot(()=>{a(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)});return ji({enabled:o&&!e&&!l,open:e,ref:t.context.popupRef,onComplete(){if(!e)c()}}),{forceUnmount:c,transitionStatus:i}}function r6(e,t){e.useSyncedValues(t),Ct(()=>()=>{e.update({activeTriggerProps:$r,inactiveTriggerProps:$r,popupProps:$r})},[e])}function Xee(e,t){Ct(()=>{if(!t&&e.state.openMethod!==null)e.set("openMethod",null)},[t,e]),Ct(()=>()=>{if(e.state.openMethod!==null)e.set("openMethod",null)},[e])}var CSe,_b;var Pit=P(()=>{bd();Ci();Y8();da();Nr();om();Nb();SSe();Pb();oh();ka();ko();CSe=z(re(),1),_b={tabIndex:-1,[yN]:""}});class R2{constructor(){this.idMap=new Map}add(e,t){this.idMap.set(e,t)}delete(e){this.idMap.delete(e)}hasElement(e){for(let t of this.idMap.values())if(t===e)return!0;return!1}hasMatchingElement(e){for(let t of this.idMap.values())if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.idMap.values()}get size(){return this.idMap.size}}function o6(e,t,n=!1){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:new vE({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:n,onOpenChange:void 0}),floatingId:t,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:$r,inactiveTriggerProps:$r,popupProps:$r}}function Dit(e,t){return t!==void 0&&ISe(e)&&HN(e)===t}function NMn(e,t){if(Dit(e,t))return!0;return t!==void 0&&ISe(e)&&HN(e)==null&&e.triggerCount===1}var HN=(e)=>e.triggerIdProp??e.activeTriggerId,ISe=(e)=>e.openProp??e.open,Mit=(e)=>(e.popupElement?.id??e.floatingId)||void 0,a6;var Lit=P(()=>{Ci();Zee();a6={open:ISe,mounted:(e)=>e.mounted,transitionStatus:(e)=>e.transitionStatus,floatingRootContext:(e)=>e.floatingRootContext,triggerCount:(e)=>e.triggerCount,preventUnmountingOnClose:(e)=>e.preventUnmountingOnClose,payload:(e)=>e.payload,activeTriggerId:HN,activeTriggerElement:(e)=>e.mounted?e.activeTriggerElement:null,popupId:Mit,isTriggerActive:(e,t)=>t!==void 0&&HN(e)===t,isOpenedByTrigger:(e,t)=>Dit(e,t),isMountedByTrigger:(e,t)=>t!==void 0&&HN(e)===t&&e.mounted,triggerProps:(e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps,triggerPopupId:(e,t)=>NMn(e,t)?Mit(e):void 0,popupProps:(e)=>e.popupProps,popupElement:(e)=>e.popupElement,positionerElement:(e)=>e.positionerElement}});function i6(e){let t=TSe.useCallback((r)=>{if(e===void 0)return oa;return e.subscribeStore(r)},[e]),n=TSe.useCallback(()=>e===void 0?void 0:e.store,[e]);return Bit.useSyncExternalStore(t,n,()=>e?.serverStore)}var TSe,Bit;var Oit=P(()=>{Ci();TSe=z(re(),1),Bit=z(QP(),1)});var Sd=P(()=>{dit();pit();Pit();Lit();Oit()});function kSe(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,o=Ag(),a=ih()!=null,i=qa(()=>new vE({open:t,transitionStatus:void 0,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new R2,floatingId:o,syncOnly:!1,nested:a})).current;return Ct(()=>{let s={open:t,floatingId:o};if(r.reference!==void 0)s.referenceElement=r.reference,s.domReferenceElement=Dr(r.reference)?r.reference:null;if(r.floating!==void 0)s.floatingElement=r.floating;i.update(s)},[t,o,r.reference,r.floating,i]),i.context.onOpenChange=n,i.context.nested=a,i}var Fit=P(()=>{vs();Y8();Nr();om();Sd();Nb();Zee()});function VN(e,t={}){let{enabled:n=!0,delay:r}=t,o="rootStore"in e?e.rootStore:e,{events:a,dataRef:i}=o.context,s=Hb.useRef(!1),l=Hb.useRef(null),c=Hb.useRef(!0),u=mi();Hb.useEffect(()=>{let p=o.select("domReferenceElement");if(!n)return;let f=Io(p);function m(){let y=o.select("domReferenceElement");if(!o.select("open")&&Xo(y)&&y===Ks(yr(y)))s.current=!0,l.current=y}function g(){c.current=!0}function v(){c.current=!1}return sm(zr(f,"blur",m),RSe&&zr(f,"keydown",g,!0),RSe&&zr(f,"pointerdown",v,!0))},[o,n]),Hb.useEffect(()=>{if(!n)return;function p(f){if(f.reason===Ib||f.reason===pN){let m=o.select("domReferenceElement");if(Dr(m))l.current=m,s.current=!0}}return a.on("openchange",p),()=>{a.off("openchange",p)}},[a,n,o]);let d=Hb.useMemo(()=>{function p(){s.current=!1,l.current=null}return{onMouseLeave(){p()},onFocus(f){let m=f.currentTarget;if(s.current){if(l.current===m)return;p()}let g=fi(f.nativeEvent);if(Dr(g)){if(RSe&&!f.relatedTarget){if(!c.current&&!rE(g))return}else if(!cee(g))return}let v=q4(f.relatedTarget,o.context.triggerElements),{nativeEvent:y,currentTarget:x}=f,A=typeof r==="function"?r():r;if(o.select("open")&&v||A===0||A===void 0){o.setOpen(!0,un(PP,y,x));return}u.start(A,()=>{if(s.current)return;o.setOpen(!0,un(PP,y,x))})},onBlur(f){p();let{relatedTarget:m,nativeEvent:g}=f,v=Dr(m)&&m.hasAttribute(o3("focus-guard"))&&m.getAttribute("data-type")==="outside";u.start(0,()=>{let y=o.select("domReferenceElement"),x=Ks(yr(y));if(!m&&x===y)return;if(Ln(i.current.floatingContext?.refs.floating.current,x)||Ln(y,x)||v)return;if(q4(m??x,o.context.triggerElements))return;o.setOpen(!1,un(PP,g))})}}},[i,r,o,u]);return Hb.useMemo(()=>n?{reference:d,trigger:d}:{},[n,d])}var Hb,RSe;var Uit=P(()=>{a0();ul();Rp();vs();im();ka();ko();Hb=z(re(),1),RSe=JA.mac&&jA.webkit});class PSe{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new kp,this.restTimeout=new kp,this.handleCloseOptions=void 0}static create(){return new PSe}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose}function a9(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;if(t&&Wee.get(t)===e)e.pointerEventsScopeElement?.style.removeProperty("pointer-events"),e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),Wee.delete(t);e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function Yee(e,t){let{scopeElement:n,referenceElement:r,floatingElement:o}=t,a=Wee.get(n);if(a&&a!==e)a9(a);a9(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=o,Wee.set(n,e),n.style.pointerEvents="none",r.style.pointerEvents="auto",o.style.pointerEvents="auto"}function i9(e){let t=e.context.dataRef.current,n=qa(()=>t.hoverInteractionState??PSe.create()).current;if(!t.hoverInteractionState)t.hoverInteractionState=n;return DP(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}var Wee;var Kee=P(()=>{J$();om();Rp();Cg();Wee=new WeakMap});function xE(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:o}=t,a="rootStore"in e?e.rootStore:e,i=a.useState("open"),s=a.useState("floatingElement"),l=a.useState("domReferenceElement"),{dataRef:c}=a.context,u=lm(),d=ih(),p=i9(a),f=mi(),m=Ot(()=>Mee(c.current.openEvent?.type,p.interactedInside)),g=Ot(()=>Hat(c.current.openEvent?.type)),v=Ot(()=>{a9(p)});Ct(()=>{if(!i)p.pointerType=void 0,p.restTimeoutPending=!1,p.interactedInside=!1,v()},[i,p,v]),MSe.useEffect(()=>v,[v]),Ct(()=>{if(!n)return;if(i&&p.handleCloseOptions?.blockPointerEvents&&g()&&Dr(l)&&s){let y=l,x=s,A=yr(s),w=u?.nodesRef.current.find((I)=>I.id===d)?.context?.elements.floating;if(w)w.style.pointerEvents="";let C=p.pointerEventsScopeElement!==x?p.pointerEventsScopeElement:null,E=w!==x?w:null,T=p.handleCloseOptions?.getScope?.()??C??E??y.closest("[data-rootownerid]")??A.body;return Yee(p,{scopeElement:T,referenceElement:y,floatingElement:x}),()=>{v()}}return},[n,i,l,s,p,g,u,d,v]),MSe.useEffect(()=>{if(!n)return;function y(){return!!(u&&d&&q1(u.nodesRef.current,d).length>0)}function x(I){let k=I2(r,"close",p.pointerType),L=()=>{a.setOpen(!1,un(sc,I)),u?.events.emit("floating.closed",I)};if(k)p.openChangeTimeout.start(k,L);else p.openChangeTimeout.clear(),L()}function A(I){let k=fi(I);if(!Owe(k)){p.interactedInside=!1;return}p.interactedInside=k?.closest("[aria-haspopup]")!=null}function w(){p.openChangeTimeout.clear(),f.clear(),u?.events.off("floating.closed",E),v()}function C(I){if(y()&&u){u.events.on("floating.closed",E);return}if(q4(I.relatedTarget,a.context.triggerElements))return;let k=c.current.floatingContext?.nodeId??o,L=I.relatedTarget;if(u&&k&&Dr(L)&&q1(u.nodesRef.current,k,!1).some((B)=>Ln(B.context?.elements.floating,L)))return;if(p.handler){p.handler(I);return}if(v(),g()&&!m())x(I)}function E(I){if(!u||!d||y())return;f.start(0,()=>{u.events.off("floating.closed",E),a.setOpen(!1,un(sc,I)),u.events.emit("floating.closed",I)})}let T=s;return sm(T&&zr(T,"mouseenter",w),T&&zr(T,"mouseleave",C),T&&zr(T,"pointerdown",A,!0),()=>{u?.events.off("floating.closed",E)})},[n,s,a,c,r,o,g,m,v,p,u,d,f])}var MSe;var Nit=P(()=>{Nr();ul();da();Rp();vs();ka();ko();Nb();im();Kee();DN();MSe=z(re(),1)});function l3(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:o=null,mouseOnly:a=!1,restMs:i=0,move:s=!0,triggerElementRef:l=zMn,externalTree:c,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:p,shouldOpen:f,guardStaleOpen:m=!1}=t,g="rootStore"in e?e.rootStore:e,{dataRef:v,events:y}=g.context,x=lm(c),A=i9(g),w=s6.useRef(!1),C=ti(o),E=ti(r),T=ti(i),I=ti(n),k=ti(f),L=ti(p),O=Ot(()=>Mee(v.current.openEvent?.type,A.interactedInside)),B=Ot(()=>k.current?.()!==!1),U=Ot((_,G,Z)=>{let q=g.context.triggerElements;if(q.hasElement(G))return!_||!Ln(_,G);if(!Dr(Z))return!1;let H=Z;return q.hasMatchingElement((te)=>Ln(te,H))&&(!_||!Ln(_,H))}),D=Ot(()=>{if(!A.handler)return;yr(g.select("domReferenceElement")).removeEventListener("mousemove",A.handler),A.handler=void 0}),N=Ot(()=>{a9(A)});if(u)A.handleCloseOptions=o?.__options;return s6.useEffect(()=>D,[D]),s6.useEffect(()=>{if(!n)return;function _(G){if(!G.open)w.current=G.reason===sc,D(),A.openChangeTimeout.clear(),A.restTimeout.clear(),A.blockMouseMove=!0,A.restTimeoutPending=!1;else w.current=!1}return y.on("openchange",_),()=>{y.off("openchange",_)}},[n,y,A,D]),s6.useEffect(()=>{if(!n)return;function _(ie,j=!0){let oe=I2(E.current,"close",A.pointerType);if(oe)A.openChangeTimeout.start(oe,()=>{g.setOpen(!1,un(sc,ie)),x?.events.emit("floating.closed",ie)});else if(j)A.openChangeTimeout.clear(),g.setOpen(!1,un(sc,ie)),x?.events.emit("floating.closed",ie)}let G=l.current??(u?g.select("domReferenceElement"):null);if(!Dr(G))return;function Z(ie){if(A.openChangeTimeout.clear(),A.blockMouseMove=!1,a&&!Sg(A.pointerType))return;let j=aSe(T.current),oe=I2(E.current,"open",A.pointerType),J=fi(ie),Y=ie.currentTarget??null,ae=g.select("domReferenceElement"),ne=Y;if(Dr(J)&&!g.context.triggerElements.hasElement(J)){for(let be of g.context.triggerElements.elements())if(Ln(be,J)){ne=be;break}}if(Dr(Y)&&Dr(ae)&&!g.context.triggerElements.hasElement(Y)&&Ln(Y,ae))ne=ae;let Se=ne==null?!1:U(ae,ne,J),fe=g.select("open"),Ae=L.current?.()??g.select("transitionStatus")==="ending",Ee=!fe&&Ae&&w.current,pe=!Se&&Dr(ne)&&Dr(ae)&&Ln(ae,ne)&&Ee,Re=j>0&&!oe,Le=Se&&(fe||Ee)||pe,Ne=!fe||Se;if(Le){if(B())g.setOpen(!0,un(sc,ie,ne));return}if(Re)return;if(oe)A.openChangeTimeout.start(oe,()=>{if(Ne&&B())g.setOpen(!0,un(sc,ie,ne))});else if(Ne){if(B())g.setOpen(!0,un(sc,ie,ne))}}function q(ie){if(O()){N();return}D();let j=g.select("domReferenceElement"),oe=yr(j);A.restTimeout.clear(),A.restTimeoutPending=!1;let J=v.current.floatingContext??d?.();if(q4(ie.relatedTarget,g.context.triggerElements))return;if(C.current&&J){if(!g.select("open"))A.openChangeTimeout.clear();let ae=l.current;A.handler=C.current({...J,tree:x,x:ie.clientX,y:ie.clientY,onClose(){if(N(),D(),I.current&&!O()&&ae===g.select("domReferenceElement"))_(ie,!0)}}),oe.addEventListener("mousemove",A.handler),A.handler(ie);return}if(A.pointerType==="touch"?!Ln(g.select("floatingElement"),ie.relatedTarget):!0)_(ie)}function H(ie){if(Ln(G,ie.relatedTarget))return;A.openChangeTimeout.clear(),A.restTimeout.clear(),A.restTimeoutPending=!1}let te=m?zr(G,"mouseout",H):void 0;if(s)return sm(zr(G,"mousemove",Z,{once:!0}),zr(G,"mouseenter",Z),zr(G,"mouseleave",q),te);return sm(zr(G,"mouseenter",Z),zr(G,"mouseleave",q),te)},[D,N,v,E,g,n,C,A,u,U,O,a,s,T,l,x,I,d,L,B,m]),s6.useMemo(()=>{if(!n)return;function _(G){A.pointerType=G.pointerType}return{onPointerDown:_,onPointerEnter:_,onMouseMove(G){let{nativeEvent:Z}=G,q=G.currentTarget,H=g.select("domReferenceElement"),te=g.select("open"),ie=U(H,q,G.target);if(a&&!Sg(A.pointerType))return;if(te&&ie&&A.handleCloseOptions?.blockPointerEvents){let J=g.select("floatingElement");if(J){let Y=A.handleCloseOptions?.getScope?.()??q.ownerDocument.body;Yee(A,{scopeElement:Y,referenceElement:q,floatingElement:J})}}let j=aSe(T.current);if(te&&!ie||j===0)return;if(!ie&&A.restTimeoutPending&&G.movementX**2+G.movementY**2<2)return;A.restTimeout.clear();function oe(){if(A.restTimeoutPending=!1,O())return;let J=g.select("open");if(!A.blockMouseMove&&(!J||ie)&&B())g.setOpen(!0,un(sc,Z,q))}if(A.pointerType==="touch")Ec(()=>{oe()});else if(ie&&te)oe();else A.restTimeoutPending=!0,A.restTimeout.start(j,oe)}}},[n,A,O,U,a,g,T,B])}var s6,zMn;var zit=P(()=>{bd();ul();da();Ob();vs();ka();ko();Nb();im();Z1();Kee();DN();s6=z(re(),1),zMn={current:null}});function _it(e){return jA.webkit&&e.movementX===0&&e.movementY===0}function jee(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function Jee(e,t){return jee(t,e===Rwe||e===see,e===vN||e===bN)}function DSe(e,t,n){return jee(t,e===see,n?e===vN:e===bN)||e==="Enter"||e===" "||e===""}function HMn(e,t,n){return jee(t,n?e===vN:e===bN,e===see)}function VMn(e,t,n,r){let o=n?e===bN:e===vN,a=e===Rwe;if(t==="both"||t==="horizontal"&&r)return e===_Mn;return jee(t,o,a)}function GN(e,t){let{listRef:n,activeIndex:r,onNavigate:o=()=>{},enabled:a=!0,selectedIndex:i=null,allowEscape:s=!1,loopFocus:l=!1,nested:c=!1,rtl:u=!1,virtual:d=!1,focusItemOnOpen:p="auto",focusItemOnHover:f=!0,openOnArrowKeyDown:m=!0,disabledIndices:g=void 0,orientation:v="vertical",parentOrientation:y,id:x,resetOnPointerLeave:A=!0,externalTree:w,grid:C}=t,E=C!=null,T="rootStore"in e?e.rootStore:e,I=T.useState("open"),k=T.useState("floatingElement"),L=T.useState("domReferenceElement"),O=T.context.dataRef,B=oE(k),U=wN(L),D=ti(B),N=ih(),_=lm(w),G=Ef.useRef(p),Z=Ef.useRef(i??-1),q=Ef.useRef(null),H=Ef.useRef(!0),te=Ot((Me)=>{o(Z.current===-1?null:Z.current,Me)}),ie=Ef.useRef(!!k),j=Ef.useRef(I),oe=Ef.useRef(!1),J=Ef.useRef(!1),Y=Ef.useRef(null),ae=ti(g),ne=ti(I),Se=ti(i),fe=ti(A),Ae=wg(),Ee=wg(),pe=Ot(()=>{function Me(we){if(d)_?.events.emit("virtualfocus",we);else Y.current=e9(we,{sync:oe.current,preventScroll:!0})}let Qe=n.current[Z.current],ee=J.current;if(Qe)Me(Qe);(oe.current?(we)=>we():(we)=>Ae.request(we))(()=>{let we=n.current[Z.current]||Qe;if(!we)return;if(!Qe)Me(we);if(ce&&(ee||!H.current))we.scrollIntoView?.({block:"nearest",inline:"nearest"})})});Ct(()=>{O.current.orientation=v},[O,v]),Ct(()=>{if(!a)return;if(I&&k){if(Z.current=i??-1,G.current&&i!=null)J.current=!0,te()}else if(ie.current)Z.current=-1,te()},[a,I,k,i,te]),Ct(()=>{if(!a)return;if(!I){oe.current=!1;return}if(!k)return;if(r==null){if(oe.current=!1,Se.current!=null)return;if(ie.current)Z.current=-1,pe();if((!j.current||!ie.current)&&G.current&&(q.current!=null||G.current===!0&&q.current==null)){let Me=0,Qe=()=>{if(n.current[0]==null){if(Me<2)(Me?(K)=>Ee.request(K):queueMicrotask)(Qe);Me+=1}else Z.current=q.current==null||DSe(q.current,v,u)||c?iE(n):NP(n),q.current=null,te()};Qe()}}else if(!X4(n.current,r))Z.current=r,pe(),J.current=!1},[a,I,k,r,Se,c,n,v,u,te,pe,Ee]),Ct(()=>{if(!a||k||!_||d||!ie.current)return;let Me=_.nodesRef.current,Qe=Me.find((we)=>we.id===N)?.context?.elements.floating,ee=Ks(yr(L??Qe??null)),K=Me.some((we)=>we.context&&Ln(we.context.elements.floating,ee));if(Qe&&!K&&H.current)Qe.focus({preventScroll:!0})},[a,k,L,_,N,d]),Ct(()=>{j.current=I,ie.current=!!k}),Ct(()=>{if(!I)q.current=null,G.current=p},[I,p]);let Re=r!=null,Le=Ot((Me)=>{if(!ne.current)return;let Qe=n.current.indexOf(Me.currentTarget);if(Qe!==-1&&(Z.current!==Qe||r!==Qe))Z.current=Qe,te(Me)}),Ne=Ot(()=>y??_?.nodesRef.current.find((Me)=>Me.id===N)?.context?.dataRef?.current.orientation),be=Ot(()=>iE(n,ae.current)),ye=Ot((Me)=>{if(H.current=!1,oe.current=!0,Me.which===229)return;if(!ne.current&&Me.currentTarget===D.current)return;if(c&&VMn(Me.key,v,u,E)){if(!Jee(Me.key,Ne()))i0(Me);if(T.setOpen(!1,un(W$,Me.nativeEvent)),Xo(L))if(d)_?.events.emit("virtualfocus",L);else L.focus();return}let Qe=Z.current,ee=iE(n,g),K=NP(n,g);if(!U){if(Me.key==="Home")i0(Me),Z.current=ee,te(Me);if(Me.key==="End")i0(Me),Z.current=K,te(Me)}if(C!=null){let we=C(Me,Z.current,n,v,l,u,g,ee,K);if(we!=null)Z.current=we,te(Me);if(v==="both")return}if(Jee(Me.key,v)){if(i0(Me),I&&!d&&Ks(Me.currentTarget.ownerDocument)===Me.currentTarget){Z.current=DSe(Me.key,v,u)?ee:K,te(Me);return}if(DSe(Me.key,v,u))if(l)if(Qe>=K)if(s&&Qe!==n.current.length)Z.current=-1;else oe.current=!1,Z.current=ee;else Z.current=X1(n.current,{startingIndex:Qe,disabledIndices:g});else Z.current=Math.min(K,X1(n.current,{startingIndex:Qe,disabledIndices:g}));else if(l)if(Qe<=ee)if(s&&Qe!==-1)Z.current=n.current.length;else oe.current=!1,Z.current=K;else Z.current=X1(n.current,{startingIndex:Qe,decrement:!0,disabledIndices:g});else Z.current=Math.max(ee,X1(n.current,{startingIndex:Qe,decrement:!0,disabledIndices:g}));if(X4(n.current,Z.current))Z.current=-1;te(Me)}}),ce=Ef.useMemo(()=>({onFocus(Qe){oe.current=!0,Le(Qe)},onClick:({currentTarget:Qe})=>Qe.focus({preventScroll:!0}),onMouseMove(Qe){if(_it(Qe))return;if(oe.current=!0,J.current=!1,f)Le(Qe)},onPointerLeave(Qe){if(!ne.current||!H.current||Qe.pointerType==="touch")return;oe.current=!0;let ee=Qe.relatedTarget;if(!f||n.current.includes(ee))return;if(!fe.current)return;if(Y.current?.(),Y.current=null,Z.current=-1,te(Qe),!d){let K=D.current,we=Ks(yr(K));if(K&&Ln(K,we))K.focus({preventScroll:!0})}}}),[Le,ne,D,f,n,te,fe,d]),ue=Ef.useMemo(()=>d&&I&&Re&&{"aria-activedescendant":`${x}-${r}`},[d,I,Re,x,r]),ke=Ef.useMemo(()=>({...!U?ue:{},onKeyDown(Me){if(Me.key==="Tab"&&Me.shiftKey&&I&&!d){let Qe=fi(Me.nativeEvent);if(Qe&&!Ln(D.current,Qe))return;if(i0(Me),T.setOpen(!1,un(_4,Me.nativeEvent)),Xo(L))L.focus();return}ye(Me)},onPointerMove(Me){if(_it(Me))return;H.current=!0}}),[ue,ye,D,U,T,I,d,L]),se=Ef.useMemo(()=>{function Me(K){T.setOpen(!0,un(W$,K.nativeEvent,K.currentTarget))}function Qe(K){if(p==="auto"&&Z4(K.nativeEvent))G.current=!d}function ee(K){if(G.current=p,p==="auto"&&UP(K.nativeEvent))G.current=!0}return{onKeyDown(K){let we=T.select("open");H.current=!1;let ze=K.key.startsWith("Arrow"),tt=HMn(K.key,Ne(),u),Pe=Jee(K.key,v),Ke=(c?tt:Pe)||K.key==="Enter"||K.key.trim()==="";if(d&&we)return ye(K);if(!we&&!m&&ze)return;if(Ke){let Ue=Jee(K.key,Ne());q.current=c&&Ue?null:K.key}if(c){if(tt)if(i0(K),we)Z.current=be(),te(K);else Me(K);return}if(Pe){if(Se.current!=null)Z.current=Se.current;if(i0(K),!we&&m)Me(K);else ye(K);if(we)te(K)}return},onFocus(K){if(T.select("open")&&!d)Z.current=-1,te(K)},onPointerDown:ee,onPointerEnter:ee,onMouseDown:Qe,onClick:Qe}},[ye,p,be,c,te,T,m,v,Ne,u,Se,d]),qe=Ef.useMemo(()=>({...ue,...se}),[ue,se]);return Ef.useMemo(()=>a?{reference:qe,floating:ke,item:ce,trigger:se}:{},[a,qe,ke,se,ce])}var Ef,_Mn="Escape";var Hit=P(()=>{kb();Nr();ul();da();Ob();a0();vs();ka();ko();Nb();zP();im();lSe();Z1();Ef=z(re(),1)});function qN(e,t){let{listRef:n,elementsRef:r,activeIndex:o,onMatch:a,disabledIndices:i,onTyping:s,enabled:l=!0,resetMs:c=750,selectedIndex:u=null}=t,d="rootStore"in e?e.rootStore:e,p=d.useState("open"),f=mi(),m=AE.useRef(""),g=AE.useRef(u??o??-1),v=AE.useRef(null),y=Ot((w)=>{function C(D){return r?.current[D]}function E(D){let N=C(D);if(N&&!sE(N)||N?.matches(":disabled"))return!1;return i==null||!e3(Rc,D,i)}function T(D,N,_=0){if(D.length===0)return-1;let G=(_%D.length+D.length)%D.length,Z=N.toLowerCase();for(let q=0;q0&&w.key===" ")i0(w),s?.(!0);if(m.current.length>0&&m.current[0]!==" "){if(T(I,m.current)===-1&&w.key!==" ")s?.(!1)}if(I==null||w.key.length!==1||w.ctrlKey||w.metaKey||w.altKey)return;if(p&&w.key!==" ")i0(w),s?.(!0);let k=m.current==="";if(k)g.current=u??o??-1;if(I.every((D,N)=>D&&E(N)?D[0]?.toLowerCase()!==D[1]?.toLowerCase():!0)&&m.current===w.key)m.current="",g.current=v.current;m.current+=w.key,f.start(c,()=>{m.current="",g.current=v.current,s?.(!1)});let B=((k?u??o??-1:g.current)??0)+1,U=T(I,m.current,B);if(U!==-1)a?.(U),v.current=U;else if(w.key!==" ")m.current="",s?.(!1)}),x=Ot((w)=>{let C=w.relatedTarget,E=d.select("domReferenceElement"),T=d.select("floatingElement");if(Ln(E,C)||Ln(T,C))return;f.clear(),m.current="",g.current=v.current,s?.(!1)});Ct(()=>{if(!p&&u!==null)return;if(f.clear(),v.current=null,m.current!=="")m.current=""},[p,u,f]);let A=AE.useMemo(()=>({onKeyDown:y,onBlur:x}),[y,x]);return AE.useMemo(()=>l?{reference:A,floating:A}:{},[l,A])}var AE;var Vit=P(()=>{Nr();da();Rp();Ci();zP();im();Z1();AE=z(re(),1)});function $ee(e,t,n,r,o,a){return r>=t!==a>=t&&e<=(o-n)*(t-r)/(a-r)+n}function ete(e,t,n,r,o,a,i,s,l,c){let u=!1;if($ee(e,t,n,r,o,a))u=!u;if($ee(e,t,o,a,i,s))u=!u;if($ee(e,t,i,s,l,c))u=!u;if($ee(e,t,l,c,n,r))u=!u;return u}function qMn(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function tte(e,t,n,r,o,a){let i=Math.min(n,o),s=Math.max(n,o),l=Math.min(r,a),c=Math.max(r,a);return e>=i&&e<=s&&t>=l&&t<=c}function c3(e={}){let{blockPointerEvents:t=!1}=e,n=new kp,r=({x:o,y:a,placement:i,elements:s,onClose:l,nodeId:c,tree:u})=>{let d=i?.split("-")[0],p=!1,f=null,m=null,g=typeof performance<"u"?performance.now():0;function v(x,A){let w=performance.now(),C=w-g;if(f===null||m===null||C===0)return f=x,m=A,g=w,!1;let E=x-f,T=A-m,I=E*E+T*T,k=C*C*GMn;return f=x,m=A,g=w,I0)}function U(){if(!B())y()}if(B())return;let D=w.getBoundingClientRect(),N=C.getBoundingClientRect(),_=o>N.right-N.width/2,G=a>N.bottom-N.height/2,Z=N.width>D.width,q=N.height>D.height,H=(Z?D:N).left,te=(Z?D:N).right,ie=(q?D:N).top,j=(q?D:N).bottom;if(d==="top"&&a>=D.bottom-1||d==="bottom"&&a<=D.top+1||d==="left"&&o>=D.right-1||d==="right"&&o<=D.left+1){U();return}let oe=!1;switch(d){case"top":oe=tte(E,T,H,D.top+1,te,N.bottom-1);break;case"bottom":oe=tte(E,T,H,N.top+1,te,D.bottom-1);break;case"left":oe=tte(E,T,N.right-1,j,D.left+1,ie);break;case"right":oe=tte(E,T,D.right-1,j,N.left+1,ie);break;default:}if(oe)return;if(p&&!qMn(E,T,D)){U();return}if(!k&&v(E,T)){U();return}let J=!1;switch(d){case"top":{let Y=Z?es/2:es*4,ae=Z?o+Y:_?o+Y:o-Y,ne=Z?o-Y:_?o+Y:o-Y,Se=a+es+1,fe=_?N.bottom-es:Z?N.bottom-es:N.top,Ae=_?Z?N.bottom-es:N.top:N.bottom-es;J=ete(E,T,ae,Se,ne,Se,N.left,fe,N.right,Ae);break}case"bottom":{let Y=Z?es/2:es*4,ae=Z?o+Y:_?o+Y:o-Y,ne=Z?o-Y:_?o+Y:o-Y,Se=a-es,fe=_?N.top+es:Z?N.top+es:N.bottom,Ae=_?Z?N.top+es:N.bottom:N.top+es;J=ete(E,T,ae,Se,ne,Se,N.left,fe,N.right,Ae);break}case"left":{let Y=q?es/2:es*4,ae=q?a+Y:G?a+Y:a-Y,ne=q?a-Y:G?a+Y:a-Y,Se=o+es+1,fe=G?N.right-es:q?N.right-es:N.left,Ae=G?q?N.right-es:N.left:N.right-es;J=ete(E,T,fe,N.top,Ae,N.bottom,Se,ae,Se,ne);break}case"right":{let Y=q?es/2:es*4,ae=q?a+Y:G?a+Y:a-Y,ne=q?a-Y:G?a+Y:a-Y,Se=o-es,fe=G?N.left+es:q?N.left+es:N.right,Ae=G?q?N.left+es:N.right:N.left+es;J=ete(E,T,Se,ae,Se,ne,fe,N.top,Ae,N.bottom);break}default:}if(!J)U();else if(!p)n.start(40,U);return}};return r.__options={...e,blockPointerEvents:t},r}var Git=0.1,GMn,es=0.5;var qit=P(()=>{vs();Rp();im();GMn=Git*Git});function Zit(e,t,n){let{reference:r,floating:o}=e,a=l0(t),i=TN(t),s=IN(i),l=s0(t),c=a==="y",u=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,p=r[s]/2-o[s]/2,f;switch(l){case"top":f={x:u,y:r.y-o.height};break;case"bottom":f={x:u,y:r.y+r.height};break;case"right":f={x:r.x+r.width,y:d};break;case"left":f={x:r.x-o.width,y:d};break;default:f={x:r.x,y:r.y}}let m=Q1(t);if(m)f[i]+=p*(m==="end"?1:-1)*(n&&c?-1:1);return f}async function Qit(e,t){var n;if(t===void 0)t={};let{x:r,y:o,platform:a,rects:i,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:p=!1,padding:f=0}=Lb(t,e),m=fee(f),v=s[p?d==="floating"?"reference":"floating":d],y=$A(await a.getClippingRect({element:((n=await(a.isElement==null?void 0:a.isElement(v)))!=null?n:!0)?v:v.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),x=d==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,A=await(a.getOffsetParent==null?void 0:a.getOffsetParent(s.floating)),w=await(a.isElement==null?void 0:a.isElement(A))&&await(a.getScale==null?void 0:a.getScale(A))||{x:1,y:1},C=$A(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:x,offsetParent:A,strategy:l}):x);return{top:(y.top-C.top+m.top)/w.y,bottom:(C.bottom-y.bottom+m.bottom)/w.y,left:(y.left-C.left+m.left)/w.x,right:(C.right-y.right+m.right)/w.x}}async function QMn(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=s0(n),s=Q1(n),l=l0(n)==="y",c=Yit.has(i)?-1:1,u=a&&l?-1:1,d=Lb(t,e),{mainAxis:p,crossAxis:f,alignmentAxis:m}=typeof d==="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};if(s&&typeof m==="number")f=s==="end"?m*-1:m;return l?{x:f*u,y:p*c}:{x:p*c,y:f*u}}var ZMn=50,Xit=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,s=i.detectOverflow?i:{...i,detectOverflow:Qit},l=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=Zit(c,r,l),p=r,f=0,m={};for(let g=0;gD<=0)){var O,B;let D=(((O=a.flip)==null?void 0:O.index)||0)+1,N=T[D];if(N){if(!(d==="alignment"?x!==l0(N):!1)||L.every((Z)=>l0(Z.placement)===x?Z.overflows[0]>0:!0))return{data:{index:D,overflows:L},reset:{placement:N}}}let _=(B=L.filter((G)=>G.overflows[0]<=0).sort((G,Z)=>G.overflows[1]-Z.overflows[1])[0])==null?void 0:B.placement;if(!_)switch(f){case"bestFit":{var U;let G=(U=L.filter((Z)=>{if(E){let q=l0(Z.placement);return q===x||q==="y"}return!0}).map((Z)=>[Z.placement,Z.overflows.filter((q)=>q>0).reduce((q,H)=>q+H,0)]).sort((Z,q)=>Z[1]-q[1])[0])==null?void 0:U[0];if(G)_=G;break}case"initialPlacement":_=s;break}if(o!==_)return{reset:{placement:_}}}return{}}}},Yit,Kit=function(e){if(e===void 0)e=0;return{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:a,placement:i,middlewareData:s}=t,l=await QMn(t,e);if(i===((n=s.offset)==null?void 0:n.placement)&&(r=s.arrow)!=null&&r.alignmentOffset)return{};return{x:o+l.x,y:a+l.y,data:{...l,placement:i}}}}},Jit=function(e){if(e===void 0)e={};return{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:a}=t,{mainAxis:i=!0,crossAxis:s=!1,limiter:l={fn:(x)=>{let{x:A,y:w}=x;return{x:A,y:w}}},...c}=Lb(e,t),u={x:n,y:r},d=await a.detectOverflow(t,c),p=l0(o),f=pee(p),m=u[f],g=u[p],v=(x,A)=>dee(A+d[x==="y"?"top":"left"],A,A-d[x==="y"?"bottom":"right"]);if(i)m=v(f,m);if(s)g=v(p,g);let y=l.fn({...t,[f]:m,[p]:g});return{...y,data:{x:y.x-n,y:y.y-r,enabled:{[f]:i,[p]:s}}}}}},jit=function(e){if(e===void 0)e={};return{options:e,fn(t){var n,r;let{x:o,y:a,placement:i,rects:s,middlewareData:l}=t,{offset:c=0,mainAxis:u=!0,crossAxis:d=!0}=Lb(e,t),p={x:o,y:a},f=l0(i),m=pee(f),g=p[m],v=p[f],y=Lb(c,t),x=typeof y==="number"?{mainAxis:y,crossAxis:0}:{mainAxis:(n=y.mainAxis)!=null?n:0,crossAxis:(r=y.crossAxis)!=null?r:0};if(u){let C=m==="y"?"height":"width",E=s.reference[m]-s.floating[C]+x.mainAxis,T=s.reference[m]+s.reference[C]-x.mainAxis;if(gT)g=T}if(d){var A,w;let C=m==="y"?"width":"height",E=Yit.has(s0(i)),T=s.reference[f]-s.floating[C]+(E?((A=l.offset)==null?void 0:A[f])||0:0)+(E?0:x.crossAxis),I=s.reference[f]+s.reference[C]+(E?0:((w=l.offset)==null?void 0:w[f])||0)-(E?x.crossAxis:0);if(vI)v=I}return{[m]:g,[f]:v}}}},$it=function(e){if(e===void 0)e={};return{name:"size",options:e,async fn(t){let{placement:n,rects:r,platform:o,elements:a}=t,{apply:i=()=>{},...s}=Lb(e,t),l=await o.detectOverflow(t,s),c=s0(n),u=Q1(n),d=l0(n)==="y",{width:p,height:f}=r.floating,m,g;if(c==="top"||c==="bottom")m=c,g=u===(await(o.isRTL==null?void 0:o.isRTL(a.floating))?"start":"end")?"left":"right";else g=c,m=u==="end"?"top":"bottom";let v=f-l.top-l.bottom,y=p-l.left-l.right,x=Q4(f-l[m],v),A=Q4(p-l[g],y),w=t.middlewareData.shift,C=!w,E=x,T=A;if(w!=null&&w.enabled.x)T=y;if(w!=null&&w.enabled.y)E=v;if(C&&!u)if(d)T=p-2*C2(l.left,l.right);else E=f-2*C2(l.top,l.bottom);await i({...t,availableWidth:T,availableHeight:E});let I=await o.getDimensions(a.floating);if(p!==I.width||f!==I.height)return{reset:{rects:!0}};return{}}}};var est=P(()=>{aE();aE();Yit=new Set(["left","top"])});function rst(e){let t=Sf(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Xo(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,s=CN(n)!==a||CN(r)!==i;if(s)n=a,r=i;return{width:n,height:r,$:s}}function BSe(e){return!Dr(e)?e.contextElement:e}function s9(e){let t=BSe(e);if(!Xo(t))return Db(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=rst(t),i=(a?CN(n.width):n.width)/r,s=(a?CN(n.height):n.height)/o;if(!i||!Number.isFinite(i))i=1;if(!s||!Number.isFinite(s))s=1;return{x:i,y:s}}function ost(e){let t=Io(e);if(!D$()||!t.visualViewport)return XMn;return{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function WMn(e,t,n){if(t===void 0)t=!1;return!!n&&t&&n===Io(e)}function wE(e,t,n,r){if(t===void 0)t=!1;if(n===void 0)n=!1;let o=e.getBoundingClientRect(),a=BSe(e),i=Db(1);if(t)if(r){if(Dr(r))i=s9(r)}else i=s9(e);let s=WMn(a,n,r)?ost(a):Db(0),l=(o.left+s.x)/i.x,c=(o.top+s.y)/i.y,u=o.width/i.x,d=o.height/i.y;if(a&&r){let p=Io(a),f=Dr(r)?Io(r):r,m=p,g=L$(m);while(g&&f!==m){let v=s9(g),y=g.getBoundingClientRect(),x=Sf(g),A=y.left+(g.clientLeft+parseFloat(x.paddingLeft))*v.x,w=y.top+(g.clientTop+parseFloat(x.paddingTop))*v.y;l*=v.x,c*=v.y,u*=v.x,d*=v.y,l+=A,c+=w,m=Io(g),g=L$(m)}}return $A({width:u,height:d,x:l,y:c})}function nte(e,t){let n=oN(e).scrollLeft;if(!t)return wE(wb(e)).left+n;return t.left+n}function ast(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-nte(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function YMn(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=wb(r),s=t?rN(t.floating):!1;if(r===i||s&&a)return n;let l={scrollLeft:0,scrollTop:0},c=Db(1),u=Db(0),d=Xo(r);if(d||!a){if(Pc(r)!=="body"||W8(i))l=oN(r);if(d){let f=wE(r);c=s9(r),u.x=f.x+r.clientLeft,u.y=f.y+r.clientTop}}let p=i&&!d&&!a?ast(i,l):Db(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+p.x,y:n.y*c.y-l.scrollTop*c.y+u.y+p.y}}function KMn(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function JMn(e){let t=oN(e),n=e.ownerDocument.body,r=C2(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),o=C2(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+nte(e),i=-t.scrollTop;if(Sf(n).direction==="rtl")a+=C2(e.clientWidth,n.clientWidth)-r;return{width:r,height:o,x:a,y:i}}function $Mn(e,t,n){if(n===void 0)n="viewport";let r=n==="layoutViewport",o=Io(e),a=wb(e),i=o.visualViewport,{clientWidth:s,clientHeight:l}=a,c=0,u=0;if(i){let p=!D$()||t==="fixed";if(r){if(!p)c=-i.offsetLeft,u=-i.offsetTop}else if(s=i.width,l=i.height,p)c=i.offsetLeft,u=i.offsetTop}if(nte(a)<=0){let p=a.ownerDocument,f=p.body,m=getComputedStyle(f),g=p.compatMode==="CSS1Compat"?parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0:0,v=Math.abs(a.clientWidth-f.clientWidth-g),y=getComputedStyle(a).scrollbarGutter==="stable both-edges"?v/2:v;if(y<=jMn)s-=y}return{width:s,height:l,x:c,y:u}}function eDn(e,t){let n=wE(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=s9(e),i=e.clientWidth*a.x,s=e.clientHeight*a.y,l=o*a.x,c=r*a.y;return{width:i,height:s,x:l,y:c}}function tst(e,t,n){let r;if(t==="viewport"||t==="layoutViewport")r=$Mn(e,n,t);else if(t==="document")r=JMn(wb(e));else if(Dr(t))r=eDn(t,n);else{let o=ost(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return $A(r)}function tDn(e,t){let n=t.get(e);if(n)return n;let r=L4(e,[],!1).filter((s)=>Dr(s)&&Pc(s)!=="body"),o=null,a=Sf(e).position==="fixed",i=a?N1(e):e;while(Dr(i)&&!z1(i)){let s=Sf(i),l=M$(i),c=o?o.position:a?"fixed":"";if(!l&&(c==="fixed"||c==="absolute"&&s.position==="static"))r=r.filter((d)=>d!==i);else o=s;i=N1(i)}return t.set(e,r),r}function nDn(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?rN(t)?[]:tDn(t,this._c):[].concat(n),r],s=tst(t,i[0],o),{top:l,right:c,bottom:u,left:d}=s;for(let p=1;p{s(!1,0.0000001)},1000);else s(!1,L)}T=!1}try{r=new IntersectionObserver(I,{...E,root:a.ownerDocument})}catch(k){r=new IntersectionObserver(I,E)}r.observe(e)}let l=Io(e),c=()=>s(n);return l.addEventListener("resize",c),s(!0),()=>{l.removeEventListener("resize",c),i()}}function QN(e,t,n,r){if(r===void 0)r={};let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver==="function",layoutShift:s=typeof IntersectionObserver==="function",animationFrame:l=!1}=r,c=BSe(e),u=o||a?[...c?L4(c):[],...t?L4(t):[]]:[];u.forEach((y)=>{o&&y.addEventListener("scroll",n),a&&y.addEventListener("resize",n)});let d=c&&s?sDn(c,n,a):null,p=-1,f=null;if(i){if(f=new ResizeObserver((y)=>{let[x]=y;if(x&&x.target===c&&f&&t)f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var A;(A=f)==null||A.observe(t)});n()}),c&&!l)f.observe(c);if(t)f.observe(t)}let m,g=l?wE(e):null;if(l)v();function v(){let y=wE(e);if(g&&!sst(g,y))n();g=y,m=requestAnimationFrame(v)}return n(),()=>{var y;if(u.forEach((x)=>{o&&x.removeEventListener("scroll",n),a&&x.removeEventListener("resize",n)}),d==null||d(),(y=f)==null||y.disconnect(),f=null,l)cancelAnimationFrame(m)}}var XMn,jMn=25,aDn=async function(e){let t=this.getOffsetParent||ist,n=this.getDimensions,r=await n(e.floating);return{reference:oDn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},ZN,lst,cst,ust,dst,pst,rte=(e,t,n)=>{let r=new Map,o=n!=null?n:{},a={...ZN,...o.platform,_c:r};return Xit(e,t,{...o,platform:a})};var OSe=P(()=>{est();aE();vs();XMn=Db(0);ZN={convertOffsetParentRelativeRectToViewportRelativeRect:YMn,getDocumentElement:wb,getClippingRect:nDn,getOffsetParent:ist,getElementRects:aDn,getClientRects:KMn,getDimensions:rDn,getScale:s9,isElement:Dr,isRTL:iDn};lst=Kit,cst=Jit,ust=Wit,dst=$it,pst=jit});function ate(e,t){if(e===t)return!0;if(typeof e!==typeof t)return!1;if(typeof e==="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e==="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ate(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let a=o[r];if(a==="_owner"&&e.$$typeof)continue;if(!ate(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function hst(e){if(typeof window>"u")return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function fst(e,t){let n=hst(e);return Math.round(t*n)/n}function FSe(e){let t=Cd.useRef(e);return ote(()=>{t.current=e}),t}function gst(e){if(e===void 0)e={};let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:s=!0,whileElementsMounted:l,open:c}=e,[u,d]=Cd.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,f]=Cd.useState(r);if(!ate(p,r))f(r);let[m,g]=Cd.useState(null),[v,y]=Cd.useState(null),x=Cd.useCallback((Z)=>{if(Z!==E.current)E.current=Z,g(Z)},[]),A=Cd.useCallback((Z)=>{if(Z!==T.current)T.current=Z,y(Z)},[]),w=a||m,C=i||v,E=Cd.useRef(null),T=Cd.useRef(null),I=Cd.useRef(u),k=l!=null,L=FSe(l),O=FSe(o),B=FSe(c),U=Cd.useCallback(()=>{if(!E.current||!T.current)return;let Z={placement:t,strategy:n,middleware:p};if(O.current)Z.platform=O.current;rte(E.current,T.current,Z).then((q)=>{let H={...q,isPositioned:B.current!==!1};if(D.current&&!ate(I.current,H))I.current=H,Ec(()=>{d(H)})})},[p,t,n,O,B]);ote(()=>{if(c===!1&&I.current.isPositioned)I.current.isPositioned=!1,d((Z)=>({...Z,isPositioned:!1}))},[c]);let D=Cd.useRef(!1);ote(()=>(D.current=!0,()=>{D.current=!1}),[]),ote(()=>{if(w)E.current=w;if(C)T.current=C;if(w&&C){if(L.current)return L.current(w,C,U);U()}},[w,C,U,L,k]);let N=Cd.useMemo(()=>({reference:E,floating:T,setReference:x,setFloating:A}),[x,A]),_=Cd.useMemo(()=>({reference:w,floating:C}),[w,C]),G=Cd.useMemo(()=>{let Z={position:n,left:0,top:0};if(!_.floating)return Z;let q=fst(_.floating,u.x),H=fst(_.floating,u.y);if(s)return{...Z,transform:"translate("+q+"px, "+H+"px)",...hst(_.floating)>=1.5&&{willChange:"transform"}};return{position:n,left:q,top:H}},[n,s,_.floating,u.x,u.y]);return Cd.useMemo(()=>({...u,update:U,refs:N,elements:_,floatingStyles:G}),[u,U,N,_,G])}var Cd,mst,cDn,uDn=function(){},ote,USe=(e,t)=>{let n=lst(e);return{name:n.name,fn:n.fn,options:[e,t]}},NSe=(e,t)=>{let n=cst(e);return{name:n.name,fn:n.fn,options:[e,t]}},zSe=(e,t)=>({fn:pst(e).fn,options:[e,t]}),_Se=(e,t)=>{let n=ust(e);return{name:n.name,fn:n.fn,options:[e,t]}},HSe=(e,t)=>{let n=dst(e);return{name:n.name,fn:n.fn,options:[e,t]}};var VSe=P(()=>{OSe();OSe();bd();Cd=z(re(),1),mst=z(re(),1),cDn=typeof document<"u",ote=cDn?mst.useLayoutEffect:uDn});var pl=P(()=>{Gat();iit();Uee();Nb();sit();cit();uit();Fit();SSe();Uit();Nit();zit();Hit();Vit();qit();VSe()});function ste(){let e=ite.useContext(GSe);if(e===void 0)throw Error(Dn(26));return e}var ite,GSe;var lte=P(()=>{zo();ite=z(re(),1),GSe=ite.createContext(void 0)});var yst="--nested-dialogs";var Klo,Jlo,jlo,$lo,vst="data-nested-dialog-open";var bst=P(()=>{Ep();Klo=Pwe,Jlo=Mwe,jlo=$Pn,$lo=e9n});var cte;var qSe=P(()=>{H1();Ep();bst();cte={...nE,...Cp,nestedDialogOpen(e){return e?{[vst]:""}:null}}});var xst,XN;var ZSe=P(()=>{pl();Ub();vr();lte();oh();pE();Sd();qSe();le();xst=z(re(),1),XN=xst.forwardRef(function(t,n){let{render:r,className:o,style:a,finalFocus:i,initialFocus:s,...l}=t,c=Tp(),u=c.useState("descriptionElementId"),d=c.useState("disablePointerDismissal"),p=c.useState("floatingRootContext"),f=c.useState("popupProps"),m=c.useState("modal"),g=c.useState("mounted"),v=c.useState("nested"),y=c.useState("nestedOpenDialogCount"),x=c.useState("open"),A=c.useState("openMethod"),w=c.useState("titleElementId"),C=c.useState("transitionStatus"),E=c.useState("role"),T=p.useState("floatingId");ste(),ji({open:x,ref:c.context.popupRef,onComplete(){if(x)c.context.onOpenChangeComplete?.(!0)}});let I=s===void 0?Qee(c.context.popupRef):s,k=y>0,L=c.useStateSetter("popupElement"),B=Zt("div",t,{state:{open:x,nested:v,transitionStatus:C,nestedDialogOpen:k},props:[f,{id:T,"aria-labelledby":w,"aria-describedby":u,role:E,..._b,hidden:!g,onKeyDown(U){if(Eg.has(U.key))U.stopPropagation()},style:{[yst]:y}},l],ref:[n,c.context.popupRef,L],stateAttributesMapping:cte});return h(i3,{context:p,openInteractionType:A,disabled:!g,closeOnFocusOut:!d,initialFocus:I,returnFocus:i,modal:m!==!1,restoreFocus:"popup",children:B})})});function Vb(e){if(CP(19))return e;return e?"true":void 0}var l9=P(()=>{O$()});var Ast,l6;var WN=P(()=>{le();Ast=z(re(),1),l6=Ast.forwardRef(function(t,n){let{cutout:r,...o}=t,a;if(r){let i=r.getBoundingClientRect();a=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${i.left}px ${i.top}px,${i.left}px ${i.bottom}px,${i.right}px ${i.bottom}px,${i.right}px ${i.top}px,${i.left}px ${i.top}px)`}return h("div",{ref:n,role:"presentation","data-base-ui-inert":"",...o,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:a}})})});var wst,YN;var QSe=P(()=>{l9();pl();Ub();lte();WN();le();wst=z(re(),1),YN=wst.forwardRef(function(t,n){let{keepMounted:r=!1,...o}=t,a=Tp(),i=a.useState("mounted"),s=a.useState("modal"),l=a.useState("open");if(!(i||r))return null;return h(GSe.Provider,{value:r,children:M(a3,{ref:n,...o,children:[i&&s===!0&&h(l6,{ref:a.context.internalBackdropRef,inert:Vb(!l)}),t.children]})})})});function ute(e,t){return W8(e)?e:t}function Ist(e,t,n){return/hidden|clip/.test(e.getComputedStyle(ute(t,n)).overflowY)}function fDn(e){if(typeof document>"u")return!1;let t=yr(e);return Io(t).innerWidth-t.documentElement.clientWidth>0}function mDn(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;let n=yr(e),{documentElement:r,body:o}=n,a=ute(r,o),i=a.style.overflowY,s=r.style.scrollbarGutter;r.style.scrollbarGutter="stable",a.style.overflowY="scroll";let l=a.offsetWidth;a.style.overflowY="hidden";let c=a.offsetWidth;return a.style.overflowY=i,r.style.scrollbarGutter=s,l===c}function hDn(e){let t=yr(e),{documentElement:n,body:r}=t,o=ute(n,r),a={overflowY:o.style.overflowY,overflowX:o.style.overflowX};return Object.assign(o.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(o.style,a)}}function gDn(e){let t=yr(e),{documentElement:n,body:r}=t,o=Io(n),a=0,i=0,s=!1,l=Cf.create();if(jA.webkit&&(o.visualViewport?.scale??1)!==1)return()=>{};function c(){let f=o.getComputedStyle(n),m=o.getComputedStyle(r),y=(f.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";a=n.scrollTop,i=n.scrollLeft,Sst={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},Est=n.style.scrollBehavior,Cst={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let x=n.scrollHeight>n.clientHeight,A=n.scrollWidth>n.clientWidth,w=f.overflowY==="scroll"||m.overflowY==="scroll",C=f.overflowX==="scroll"||m.overflowX==="scroll",E=Math.max(0,o.innerWidth-r.clientWidth),T=Math.max(0,o.innerHeight-r.clientHeight),I=parseFloat(m.marginTop)+parseFloat(m.marginBottom),k=parseFloat(m.marginLeft)+parseFloat(m.marginRight),L=ute(n,r);if(s=mDn(e),s){n.style.scrollbarGutter=y,L.style.overflowY="hidden",L.style.overflowX="hidden";return}if(Object.assign(n.style,{scrollbarGutter:y,overflowY:"hidden",overflowX:"hidden"}),x||w)n.style.overflowY="scroll";if(A||C)n.style.overflowX="scroll";Object.assign(r.style,{position:"relative",height:I||T?`calc(100dvh - ${I+T}px)`:"100dvh",width:k||E?`calc(100vw - ${k+E}px)`:"100vw",boxSizing:"border-box",overflowY:"hidden",overflowX:"hidden",scrollBehavior:"unset"}),r.scrollTop=a,r.scrollLeft=i,n.setAttribute("data-base-ui-scroll-locked",""),n.style.scrollBehavior="unset"}function u(){if(Object.assign(n.style,Sst),Object.assign(r.style,Cst),!s)n.scrollTop=a,n.scrollLeft=i,n.removeAttribute("data-base-ui-scroll-locked"),n.style.scrollBehavior=Est}function d(){u(),l.request(c)}c();let p=zr(o,"resize",d);return()=>{if(l.cancel(),u(),typeof o.removeEventListener==="function")p()}}class Tst{lockCount=0;restore=null;timeoutLock=kp.create();timeoutUnlock=kp.create();acquire(e){if(this.lockCount+=1,this.lockCount===1&&this.restore===null)this.timeoutLock.start(0,()=>this.lock(e));return this.release}release=()=>{if(this.lockCount-=1,this.lockCount===0&&this.restore)this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{if(this.lockCount===0&&this.restore)this.restore?.(),this.restore=null};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=yr(e),{documentElement:n,body:r}=t,o=Io(n);if(Ist(o,n,r)){let i=new o.MutationObserver(()=>{if(Ist(o,n,r))return;i.disconnect(),this.restore=null,this.lock(e)}),s={attributes:!0};i.observe(n,s),i.observe(r,s),this.restore=()=>i.disconnect();return}let a=JA.ios||!fDn(e);this.restore=a?hDn(e):gDn(e)}}function dte(e=!0,t=null){Ct(()=>{if(!e)return;return yDn.acquire(t)},[e,t])}var Sst,Cst,Est="",yDn;var XSe=P(()=>{vs();a0();ul();Nr();Rp();kb();Sst={},Cst={};yDn=new Tst});function kst({store:e,parentContext:t,isDrawer:n}){let r=e.useState("open"),o=e.useState("disablePointerDismissal"),a=e.useState("modal"),i=e.useState("popupElement"),s=e.useState("floatingRootContext"),[l,c]=WSe.useState(0),[u,d]=WSe.useState(0),p=l===0,f=k2(s,{outsidePressEvent(){if(e.context.internalBackdropRef.current||e.context.backdropRef.current)return"intentional";return{mouse:a==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(m){if(!e.context.outsidePressEnabledRef.current)return!1;if("button"in m&&m.button!==0)return!1;if("touches"in m){if(m.type==="touchend"){if(m.changedTouches.length!==1||m.touches.length!==0)return!1}else if(m.touches.length!==1)return!1}let g=fi(m);if(p&&!o){if(a){let v=e.context.internalBackdropRef.current,y=e.context.backdropRef.current;return v||y?v===g||y===g||Ln(g,i)&&!g?.hasAttribute("data-base-ui-portal"):!0}return!0}return!1},escapeKey:p});return dte(r&&a===!0,i),e.useContextCallback("onNestedDialogOpen",(m,g)=>{c(m),d(g)}),Ct(()=>{if(t?.onNestedDialogOpen)if(r)t.onNestedDialogOpen(l+1,u+(n?1:0));else t.onNestedDialogOpen(0,0);return()=>{if(t?.onNestedDialogOpen&&r)t.onNestedDialogOpen(0,0)}},[n,r,l,u,t]),r6(e,{activeTriggerProps:f.reference,inactiveTriggerProps:f.trigger,popupProps:f.floating,nestedOpenDialogCount:l,nestedOpenDrawerCount:u}),null}var WSe;var Rst=P(()=>{Nr();XSe();pl();Cg();Sd();WSe=z(re(),1)});function bDn(e,t,n,r=!1){return{...o6(t,n,r),modal:!0,disablePointerDismissal:!1,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...e}}function xDn(e){return{popupRef:pte.createRef(),backdropRef:pte.createRef(),internalBackdropRef:pte.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:e,onOpenChange:void 0,onOpenChangeComplete:void 0}}var pte,vDn,YSe;var Pst=P(()=>{yE();Sd();pte=z(re(),1),vDn={...a6,modal:(e)=>e.modal,nested:(e)=>e.nested,nestedOpenDialogCount:(e)=>e.nestedOpenDialogCount,nestedOpenDrawerCount:(e)=>e.nestedOpenDrawerCount,disablePointerDismissal:(e)=>e.disablePointerDismissal,openMethod:(e)=>e.openMethod,descriptionElementId:(e)=>e.descriptionElementId,titleElementId:(e)=>e.titleElementId,viewportElement:(e)=>e.viewportElement,role:(e)=>e.role};YSe=class YSe extends Tg{constructor(e,t,n){let r=new R2,o=bDn(e,r,t,n);super(o,xDn(r),vDn)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null)t.trigger=this.state.activeTriggerElement??void 0;if(this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t),this.update(bE(this.state,e,t.trigger))}}});function fte(e,t){let{children:n,open:r,defaultOpen:o=!1,onOpenChange:a,onOpenChangeComplete:i,disablePointerDismissal:s=!1,modal:l=!0,actionsRef:c,handle:u,triggerId:d,defaultTriggerId:p=null}=t,f=e==="drawer",m=e==="alert-dialog",g=m?!0:l,v=m||s,y=m?"alertdialog":"dialog",x=Tp(!0),A=x!=null,w={modal:g,disablePointerDismissal:v,nested:A,role:y},C=o9((O,B)=>new YSe({open:o,openProp:r,activeTriggerId:p,triggerIdProp:d,...w},O,B),!0);C.useControlledProp("openProp",r),C.useControlledProp("triggerIdProp",d),C.useSyncedValues(w),C.useContextCallback("onOpenChange",a),C.useContextCallback("onOpenChangeComplete",i);let E=C.useState("open"),T=C.useState("mounted"),I=C.useState("payload");Xee(C,E),t6(C);let{forceUnmount:k}=n6(E,C);Mst.useImperativeHandle(c,()=>({unmount:k,close:()=>C.setOpen(!1,un(Y$))}),[k,C]);let L=E||T;return M(tSe.Provider,{value:C,children:[u&&h($4,{handle:u,store:C}),L&&h(kst,{store:C,parentContext:x?.context,isDrawer:f}),typeof n==="function"?n({payload:I}):n]})}var Mst;var KSe=P(()=>{Rst();Ub();Pst();ka();ko();Sd();le();Mst=z(re(),1)});var JSe;var Dst=P(()=>{zb();KSe();JSe=s3(function(t){return fte("dialog",t)})});var Lst,Bst;var Ost=P(()=>{vr();Ub();lte();qSe();Lst=z(re(),1),Bst=Lst.forwardRef(function(t,n){let{render:r,className:o,style:a,children:i,...s}=t,l=ste(),c=Tp(),u=c.useState("open"),d=c.useState("nested"),p=c.useState("transitionStatus"),f=c.useState("nestedOpenDialogCount"),m=c.useState("mounted"),g=c.useStateSetter("viewportElement"),v=f>0;return Zt("div",t,{enabled:l||m,state:{open:u,nested:d,transitionStatus:p,nestedDialogOpen:v},ref:[n,g],stateAttributesMapping:cte,props:[{role:"presentation",hidden:!m,style:{pointerEvents:!u?"none":void 0},children:i},s]})})});var Fst,KN;var jSe=P(()=>{Ub();vr();_l();Fst=z(re(),1),KN=Fst.forwardRef(function(t,n){let{render:r,className:o,style:a,id:i,...s}=t,l=Tp(),c=go(i);return l.useSyncedValueWithCleanup("titleElementId",c),Zt("h2",t,{ref:n,props:[{id:c},s]})})});function Ust(e){let t=JN.useRef(""),n=JN.useCallback((o)=>{if(o.defaultPrevented)return;t.current=o.pointerType,e(o,o.pointerType)},[e]);return{onClick:JN.useCallback((o)=>{if(o.detail===0){e(o,"keyboard");return}if("pointerType"in o)e(o,o.pointerType);else e(o,t.current);t.current=""},[e]),onPointerDown:n}}var JN;var Nst=P(()=>{JN=z(re(),1)});function $N(e,t){let n=Ot((a,i)=>{if(!(typeof e==="function"?e():e))t(i||(JA.ios?"touch":""))}),{onClick:r,onPointerDown:o}=Ust(n);return jN.useMemo(()=>({onClick:r,onPointerDown:o}),[r,o])}function mte(e){let[t,n]=jN.useState(null),r=$N(e,n);return Tb(e,(o)=>{if(o&&!e)n(null)}),jN.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}var jN;var ez=P(()=>{da();Nst();a0();MP();jN=z(re(),1)});var zst,hte;var $Se=P(()=>{zo();zb();Ub();TP();vr();Ep();Ig();Sd();_l();pl();ez();zst=z(re(),1),hte=j4(function(t,n){let{render:r,className:o,style:a,disabled:i=!1,nativeButton:s=!0,id:l,payload:c,handle:u,...d}=t,p=Tp(!0),m=i6(u)??p;if(!m)throw Error(Dn(79));let g=go(l),v=m.useState("floatingRootContext"),y=m.useState("isOpenedByTrigger",g),x=m.useState("triggerPopupId",g),A=zst.useRef(null),{registerTrigger:w,isMountedByThisTrigger:C}=e6(g,A,m,{payload:c}),{getButtonProps:E,buttonRef:T}=Ys({disabled:i,native:s}),I=T2(v),k=$N(()=>m.select("open"),(B)=>{m.set("openMethod",B)}),L={disabled:i,open:y},O=m.useState("triggerProps",C);return Zt("button",t,{state:L,ref:[T,n,w,A],props:[I.reference,O,k,{[t9]:"",id:g,"aria-haspopup":"dialog","aria-expanded":y,"aria-controls":x},d,E],stateAttributesMapping:Mb})})});var Hst=P(()=>{nSe();rSe();oSe();ZSe();QSe();Dst();Ost();jSe();$Se()});var Vst=P(()=>{Hst()});var Gst;var e4e=P(()=>{Gst={fast:{spatial:{type:"spring",stiffness:400,damping:24,mass:0.8},effects:{type:"spring",stiffness:350,damping:37,mass:0.8}},default:{spatial:{type:"spring",stiffness:220,damping:17,mass:1},effects:{type:"spring",stiffness:180,damping:26,mass:1}},slow:{spatial:{type:"spring",stiffness:80,damping:12,mass:1.2},effects:{type:"spring",stiffness:70,damping:16,mass:1.2}}}});var Kt,mn;var Gb=P(()=>{Kt={emphasized:[0.2,0,0,1],emphasizedDecelerate:[0.05,0.7,0.1,1],emphasizedAccelerate:[0.3,0,0.8,0.15],standard:[0.2,0,0,1],standardDecelerate:[0,0,0,1],standardAccelerate:[0.3,0,1,1],linear:[0,0,1,1],legacy:[0.4,0,0.2,1],legacyDecelerate:[0,0,0.2,1],legacyAccelerate:[0.4,0,1,1]},mn={short1:0.05,short2:0.1,short3:0.15,short4:0.2,medium1:0.25,medium2:0.3,medium3:0.35,medium4:0.4,long1:0.45,long2:0.5,long3:0.55,long4:0.6,extraLong1:0.7,extraLong2:0.8,extraLong3:0.9,extraLong4:1}});var qst,u3;var tz=P(()=>{qst=z(re(),1),u3=qst.createContext({})});function c9(e){let t=Zst.useRef(null);if(t.current===null)t.current=e();return t.current}var Zst;var gte=P(()=>{Zst=z(re(),1)});var Qst;var Xst=P(()=>{Qst=typeof window<"u"});var yte,qb;var nz=P(()=>{Xst();yte=z(re(),1),qb=Qst?yte.useLayoutEffect:yte.useEffect});var Wst,d3;var rz=P(()=>{Wst=z(re(),1),d3=Wst.createContext(null)});function SE(e,t){if(e.indexOf(t)===-1)e.push(t)}function c6(e,t){let n=e.indexOf(t);if(n>-1)e.splice(n,1)}var t4e=()=>{};var Dc=(e,t,n)=>{if(n>t)return t;if(n{};var p3=()=>{},lh=()=>{};var n4e=()=>{};var If;var Kst=P(()=>{If={}});var CE=(e)=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);var Jst=()=>{};var oz=(e)=>typeof e==="object"&&e!==null;var jst=()=>{};var EE=(e)=>/^0[^.\s]+$/u.test(e);var $st=()=>{};function az(e){let t;return()=>{if(t===void 0)t=e();return t}}var elt=()=>{};var Lc=(e)=>e;var vte=()=>{};var P2=(...e)=>e.reduce((t,n)=>(r)=>n(t(r)));var tlt=()=>{};var Zb=(e,t,n)=>{let r=t-e;return r?(n-e)/r:1};var nlt=()=>{};class f3{constructor(){this.subscriptions=[]}add(e){return SE(this.subscriptions,e),()=>this.remove(e)}remove(e){c6(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(!r)return;if(r===1)this.subscriptions[0](e,t,n);else for(let o=0;o{t4e()});var Ed=(e)=>e*1000,Qd=(e)=>e/1000;var olt=()=>{};var iz=(e,t)=>t?e*(1000/t):0;var alt=()=>{};function SDn(e,t,n,r,o){let a,i,s=0;do if(i=t+(n-t)/2,a=ilt(i,r,o)-e,a>0)n=i;else t=i;while(Math.abs(a)>ADn&&++sSDn(a,0,1,e,n);return(a)=>a===0||a===1?a:ilt(o(a),t,r)}var ilt=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,ADn=0.0000001,wDn=12;var bte=P(()=>{vte()});var xte=(e)=>(t)=>t<=0.5?e(2*t)/2:(2-e(2*(1-t)))/2;var r4e=()=>{};var Ate=(e)=>(t)=>1-e(1-t);var o4e=()=>{};var wte,u9,sz;var Ste=P(()=>{bte();r4e();o4e();wte=u6(0.33,1.53,0.69,0.99),u9=Ate(wte),sz=xte(u9)});var lz=(e)=>e>=1?1:(e*=2)<1?0.5*u9(e):0.5*(2-Math.pow(2,-10*(e-1)));var a4e=P(()=>{Ste()});var cz=(e)=>1-Math.sin(Math.acos(e)),uz,dz;var i4e=P(()=>{r4e();o4e();uz=Ate(cz),dz=xte(cz)});var s4e,l4e,d9;var c4e=P(()=>{bte();s4e=u6(0.42,0,1,1),l4e=u6(0,0,0.58,1),d9=u6(0.42,0,0.58,1)});var u4e=(e)=>Array.isArray(e)&&typeof e[0]!=="number";var slt=()=>{};var pz=(e)=>Array.isArray(e)&&typeof e[0]==="number";var d4e=()=>{};var llt,CDn=(e)=>typeof e==="string",Cte=(e)=>{if(pz(e)){lh(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[t,n,r,o]=e;return u6(t,n,r,o)}else if(CDn(e))return lh(llt[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),llt[e];return e};var clt=P(()=>{n4e();vte();a4e();Ste();i4e();bte();c4e();d4e();llt={linear:Lc,easeIn:s4e,easeInOut:d9,easeOut:l4e,circIn:cz,circInOut:dz,circOut:uz,backIn:u9,backInOut:sz,backOut:wte,anticipate:lz}});var Ro=P(()=>{t4e();Yst();n4e();Kst();Jst();jst();$st();elt();vte();tlt();nlt();rlt();olt();alt();a4e();Ste();i4e();c4e();d4e();slt();clt()});var fz;var ult=P(()=>{fz=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"]});function dlt(e){let t=new Set,n=new Set,r=!1,o=!1,a=new Set,i={delta:0,timestamp:0,isProcessing:!1};function s(c){if(a.has(c))n.add(c),e();c(i)}let l={schedule:(c,u=!1,d=!1)=>{let f=d&&r?t:n;if(u)a.add(c);return f.add(c),c},cancel:(c)=>{n.delete(c),a.delete(c)},process:(c)=>{if(i=c,r){o=!0;return}r=!0;let u=t;if(t=n,n=u,t.forEach(s),t.clear(),r=!1,o)o=!1,l.process(c)}};return l}var plt=()=>{};function Ete(e,t){let n=!1,r=!0,o={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,i=fz.reduce((A,w)=>(A[w]=dlt(a),A),{}),{setup:s,read:l,resolveKeyframes:c,preUpdate:u,update:d,preRender:p,render:f,postRender:m}=i,g=()=>{let A=If.useManualTiming,w=A?o.timestamp:performance.now();if(n=!1,!A)o.delta=r?16.666666666666668:Math.max(Math.min(w-o.timestamp,EDn),1);if(o.timestamp=w,o.isProcessing=!0,s.process(o),l.process(o),c.process(o),u.process(o),d.process(o),p.process(o),f.process(o),m.process(o),o.isProcessing=!1,n&&t)r=!1,e(g)},v=()=>{if(n=!0,r=!0,!o.isProcessing)e(g)};return{schedule:fz.reduce((A,w)=>{let C=i[w];return A[w]=(E,T=!1,I=!1)=>{if(!n)v();return C.schedule(E,T,I)},A},{}),cancel:(A)=>{for(let w=0;w{Ro();ult();plt()});var Po,u0,fl,mz;var $1=P(()=>{Ro();p4e();({schedule:Po,cancel:u0,state:fl,steps:mz}=Ete(typeof requestAnimationFrame<"u"?requestAnimationFrame:Lc,!0))});function IDn(){Ite=void 0}var Ite,ts;var M2=P(()=>{Ro();$1();ts={now:()=>{if(Ite===void 0)ts.set(fl.isProcessing||If.useManualTiming?fl.timestamp:performance.now());return Ite},set:(e)=>{Ite=e,queueMicrotask(IDn)}}});var Qb=(e)=>Math.round(e*1e5)/1e5;var hz=()=>{};function f4e(e){if(typeof e!=="string")return!1;return e.split("/*")[0].includes("var(--")}var flt=(e)=>(t)=>typeof t==="string"&&t.startsWith(e),Tte,TDn,p9=(e)=>{if(!TDn(e))return!1;return kDn.test(e.split("/*")[0].trim())},kDn;var f9=P(()=>{Tte=flt("--"),TDn=flt("var(--"),kDn=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu});var Xb,m3,gz;var d6=P(()=>{Ro();Xb={test:(e)=>typeof e==="number",parse:parseFloat,transform:(e)=>e},m3={...Xb,transform:(e)=>Dc(0,1,e)},gz={...Xb,default:1}});var m9;var kte=P(()=>{m9=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu});function mlt(e){return e==null}var hlt=()=>{};var glt;var ylt=P(()=>{glt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu});var h9=(e,t)=>(n)=>Boolean(typeof n==="string"&&glt.test(n)&&n.startsWith(e)||t&&!mlt(n)&&Object.prototype.hasOwnProperty.call(n,t)),Rte=(e,t,n)=>(r)=>{if(typeof r!=="string")return r;let[o,a,i,s]=r.match(m9);return{[e]:parseFloat(o),[t]:parseFloat(a),[n]:parseFloat(i),alpha:s!==void 0?parseFloat(s):1}};var Pte=P(()=>{kte();hlt();ylt()});var RDn=(e)=>Dc(0,255,e),m4e,Wb;var Mte=P(()=>{Ro();d6();hz();Pte();m4e={...Xb,transform:(e)=>Math.round(RDn(e))},Wb={test:h9("rgb","red"),parse:Rte("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+m4e.transform(e)+", "+m4e.transform(t)+", "+m4e.transform(n)+", "+Qb(m3.transform(r))+")"}});function PDn(e){let t="",n="",r="",o="";if(e.length>5)t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),o=e.substring(7,9);else t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),o=e.substring(4,5),t+=t,n+=n,r+=r,o+=o;return{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:o?parseInt(o,16)/255:1}}var yz;var h4e=P(()=>{Mte();Pte();yz={test:h9("#"),parse:PDn,transform:Wb.transform}});var vz=(e)=>({test:(t)=>typeof t==="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:(t)=>`${t}${e}`}),ey,um,Kn,g4e,y4e,Dte;var Yb=P(()=>{ey=vz("deg"),um=vz("%"),Kn=vz("px"),g4e=vz("vh"),y4e=vz("vw"),Dte=(()=>({...um,parse:(e)=>um.parse(e)/100,transform:(e)=>um.transform(e*100)}))()});var p6;var v4e=P(()=>{d6();Yb();hz();Pte();p6={test:h9("hsl","hue"),parse:Rte("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+um.transform(Qb(t))+", "+um.transform(Qb(n))+", "+Qb(m3.transform(r))+")"}});var lc;var Lte=P(()=>{h4e();v4e();Mte();lc={test:(e)=>Wb.test(e)||yz.test(e)||p6.test(e),parse:(e)=>{if(Wb.test(e))return Wb.parse(e);else if(p6.test(e))return p6.parse(e);else return yz.parse(e)},transform:(e)=>typeof e==="string"?e:e.hasOwnProperty("red")?Wb.transform(e):p6.transform(e),getAnimatableNone:(e)=>{let t=lc.parse(e);return t.alpha=0,lc.transform(t)}}});var vlt;var blt=P(()=>{vlt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu});function MDn(e){return isNaN(e)&&typeof e==="string"&&(Alt.test(e)||wlt.test(e))}function Elt(e){let t=e.toString();return Alt.test(t)||wlt.test(t)}function g9(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},o=[],a=0,s=t.replace(BDn,(l)=>{if(lc.test(l))r.color.push(a),o.push(Clt),n.push(lc.parse(l));else if(l.startsWith(LDn))r.var.push(a),o.push(DDn),n.push(l);else r.number.push(a),o.push(Slt),n.push(parseFloat(l));return++a,xlt}).split(xlt);return{values:n,split:s,indexes:r,types:o}}function ODn(e){return g9(e).values}function Ilt({split:e,types:t}){let n=e.length;return(r)=>{let o="";for(let a=0;aNDn(r,t.split[o])))}var Alt,wlt,Slt="number",Clt="color",DDn="var",LDn="var(",xlt="${}",BDn,UDn=(e)=>typeof e==="number"?0:lc.test(e)?lc.getAnimatableNone(e):e,NDn=(e,t)=>{if(typeof e==="number")return t?.trim().endsWith("/")?e:0;return UDn(e)},Bc;var Kb=P(()=>{Lte();blt();kte();hz();Alt=new RegExp(m9.source),wlt=new RegExp(vlt.source,"i");BDn=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;Bc={test:MDn,parse:ODn,createTransformer:FDn,getAnimatableNone:zDn}});function b4e(e,t,n){if(n<0)n+=1;if(n>1)n-=1;if(n<0.16666666666666666)return e+(t-e)*6*n;if(n<0.5)return t;if(n<0.6666666666666666)return e+(t-e)*(0.6666666666666666-n)*6;return e}function Tlt({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let o=0,a=0,i=0;if(!t)o=a=i=n;else{let s=n<0.5?n*(1+t):n+t-n*t,l=2*n-s;o=b4e(l,s,e+0.3333333333333333),a=b4e(l,s,e),i=b4e(l,s,e-0.3333333333333333)}return{red:Math.round(o*255),green:Math.round(a*255),blue:Math.round(i*255),alpha:r}}var klt=()=>{};function y9(e,t){return(n)=>n>0?t:e}var x4e=()=>{};var _o=(e,t,n)=>e+(t-e)*n;var ty=()=>{};function Rlt(e){let t=HDn(e);if(!t)return p3(!1,`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!1;let n=t.parse(e);if(t===p6)n=Tlt(n);return n}var A4e=(e,t,n)=>{let r=e*e,o=n*(t*t-r)+r;return o<0?0:Math.sqrt(o)},_Dn,HDn=(e)=>_Dn.find((t)=>t.test(e)),w4e=(e,t)=>{let n=Rlt(e),r=Rlt(t);if(!n||!r)return y9(e,t);let o={...n};return(a)=>(o.red=A4e(n.red,r.red,a),o.green=A4e(n.green,r.green,a),o.blue=A4e(n.blue,r.blue,a),o.alpha=_o(n.alpha,r.alpha,a),Wb.transform(o))};var Plt=P(()=>{Ro();h4e();v4e();klt();Mte();x4e();ty();_Dn=[yz,Wb,p6]});function Mlt(e,t){if(Bte.has(e))return(n)=>n<=0?e:t;else return(n)=>n>=1?t:e}var Bte;var Dlt=P(()=>{Bte=new Set(["none","hidden"])});function VDn(e,t){return(n)=>_o(e,t,n)}function Ote(e){if(typeof e==="number")return VDn;else if(typeof e==="string")return p9(e)?y9:lc.test(e)?w4e:ZDn;else if(Array.isArray(e))return Llt;else if(typeof e==="object")return lc.test(e)?w4e:GDn;return y9}function Llt(e,t){let n=[...e],r=n.length,o=e.map((a,i)=>Ote(a)(a,t[i]));return(a)=>{for(let i=0;i{for(let a in r)n[a]=r[a](o);return n}}function qDn(e,t){let n=[],r={color:0,var:0,number:0};for(let o=0;o{let n=Bc.createTransformer(t),r=g9(e),o=g9(t);if(r.indexes.var.length===o.indexes.var.length&&r.indexes.color.length===o.indexes.color.length&&r.indexes.number.length>=o.indexes.number.length){if(Bte.has(e)&&!o.values.length||Bte.has(t)&&!r.values.length)return Mlt(e,t);return P2(Llt(qDn(r,o),o.values),n)}else return p3(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),y9(e,t)};var Blt=P(()=>{Ro();f9();Lte();Kb();Plt();x4e();ty();Dlt()});function QDn(e,t){let n=Olt.exec(e);if(!n)return;let r=Olt.exec(t);if(!r||n[2]!==r[2])return;let o=n[2],a=parseFloat(n[1]),i=parseFloat(r[1]);return(s)=>Qb(_o(a,i,s))+o}function v9(e,t,n){if(typeof e==="number"&&typeof t==="number"&&typeof n==="number")return _o(e,t,n);if(typeof e==="string"&&typeof t==="string"){let o=QDn(e,t);if(o)return o}return Ote(e)(e,t)}var Olt;var Fte=P(()=>{hz();Blt();ty();Olt=/^(-?(?:\d+(?:\.\d*)?|\.\d+))([a-z%]*)$/iu});var Flt=(e)=>{let t=({timestamp:n})=>e(n);return{start:(n=!0)=>Po.update(t,n),stop:()=>u0(t),now:()=>fl.isProcessing?fl.timestamp:ts.now()}};var Ult=P(()=>{M2();$1()});var Ute=(e,t,n=10)=>{let r="",o=Math.max(Math.round(t/n),2);for(let a=0;a{};function b9(e,t=50,n=20000,r){let o=0,a=e.next(o);r?.push(a.value);while(!a.done&&o=n?1/0:o}var Nte=20000;var zte=()=>{};function Nlt(e,t=100,n){let r=n({...e,keyframes:[0,t]}),o=Math.min(b9(r),Nte);return{type:"keyframes",ease:(a)=>r.next(o*a).value/t,duration:Qd(o)}}var zlt=P(()=>{Ro();zte()});function I4e(e,t){return e*Math.sqrt(1-t*t)}function WDn(e,t,n){let r=n;for(let o=1;o{let u=c*i,d=u*e,p=u-n,f=I4e(c,i),m=Math.exp(-d);return C4e-p/f*m},a=(c)=>{let d=c*i*e,p=d*n+n,f=i*i*c*c*e,m=Math.exp(-d),g=I4e(c*c,i);return(-o(c)+C4e>0?-1:1)*((p-f)*m)/g};else o=(c)=>{let u=Math.exp(-c*e),d=(c-n)*e+1;return-C4e+u*d},a=(c)=>{let u=Math.exp(-c*e),d=(n-c)*(e*e);return u*d};let s=5/e,l=WDn(o,a,s);if(e=Ed(e),isNaN(l))return{stiffness:ml.stiffness,damping:ml.damping,duration:e};else{let c=l*l*r;return{stiffness:c,damping:i*2*Math.sqrt(r*c),duration:e}}}function JDn(e,t){return t.some((n)=>e[n]!==void 0)}function E4e(e,t){if(T4e(e,t))return e;return}function jDn(e){let t=E4e(e.stiffness),n=E4e(e.damping,!0),r=E4e(e.mass),o={...e,stiffness:t??ml.stiffness,damping:n??ml.damping,mass:r??ml.mass,isResolvedFromDuration:!1,isTimeDefined:(t??n??r)===void 0&&JDn(e,KDn)};if(o.isTimeDefined){if(o.velocity=0,e.visualDuration){let a=e.visualDuration,i=2*Math.PI/(a*1.2),s=i*i,l=2*Dc(0.05,1,1-(e.bounce||0))*Math.sqrt(s);o={...o,mass:ml.mass,stiffness:s,damping:l}}else{let a=YDn(o);o={...o,...a,mass:ml.mass},o.isResolvedFromDuration=!0}if(!T4e(o.stiffness)||!T4e(o.damping,!0))o.stiffness=ml.stiffness,o.damping=ml.damping}return o}function x9(e=ml.visualDuration,t=ml.bounce){let n=typeof e!=="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e,r=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],a={done:!1,value:r},{stiffness:i,damping:s,mass:l,duration:c,velocity:u,isResolvedFromDuration:d,isTimeDefined:p}=jDn({...n,velocity:-Qd(n.velocity||0)}),f=s/(2*Math.sqrt(i*l)),m=Qd(Math.sqrt(i/l)),g=f*m,v={target:o,delta:o-r,velocity:u||0,restSpeed:0,restDelta:0},y=()=>{let T=Math.abs(v.delta)<5;v.restSpeed=n.restSpeed||(T?ml.restSpeed.granular:ml.restSpeed.default),v.restDelta=n.restDelta||(T?ml.restDelta.granular:ml.restDelta.default)};y();let x,A,w;if(f<1){let T=I4e(m,f),I={A:0,sinC:0,cosC:0,t:-1,env:0,sin:0,cos:0};w=()=>{I.A=(v.velocity+g*v.delta)/T,I.sinC=g*I.A+v.delta*T,I.cosC=g*v.delta-I.A*T};let k=(L)=>{if(L!==I.t)I.t=L,I.env=Math.exp(-g*L),I.sin=Math.sin(T*L),I.cos=Math.cos(T*L)};x=(L)=>(k(L),v.target-I.env*(I.A*I.sin+v.delta*I.cos)),A=(L)=>(k(L),I.env*(I.sinC*I.sin+I.cosC*I.cos))}else if(f===1){x=(I)=>v.target-Math.exp(-m*I)*(v.delta+(v.velocity+m*v.delta)*I);let T={C:0};w=()=>{T.C=v.velocity+m*v.delta},A=(I)=>Math.exp(-m*I)*(m*T.C*I-v.velocity)}else{let T=m*Math.sqrt(f*f-1);x=(k)=>{let L=Math.exp(-g*k),O=Math.min(T*k,300);return v.target-L*((v.velocity+g*v.delta)*Math.sinh(O)+T*v.delta*Math.cosh(O))/T};let I={P:0,sinh:0,cosh:0};w=()=>{I.P=(v.velocity+g*v.delta)/T,I.sinh=g*I.P-v.delta*T,I.cosh=g*v.delta-I.P*T},A=(k)=>{let L=Math.exp(-g*k),O=Math.min(T*k,300);return L*(I.sinh*Math.sinh(O)+I.cosh*Math.cosh(O))}}w();let C=d?c||null:null,E={calculatedDuration:C,retarget:(T,I)=>{if(v.target=T[T.length-1],v.delta=v.target-T[0],v.velocity=p?0:-Qd(I),!(n.restSpeed&&n.restDelta))y();E.calculatedDuration=C,a.done=!1,w()},velocity:(T)=>Ed(A(T)),next:(T)=>{let I=x(T);if(!d){let k=Ed(A(T));a.done=Math.abs(k)<=v.restSpeed&&Math.abs(v.target-I)<=v.restDelta}else a.done=T>=c;return a.value=a.done?v.target:I,a},toString:()=>{let T=Math.min(b9(E),Nte),I=Ute((k)=>E.next(T*k).value,T,30);return T+"ms "+I},toTransition:()=>{}};return E}var ml,XDn=12,C4e=0.001,KDn,T4e=(e,t)=>(t?e>=0:e>0)&&e<1/0;var k4e=P(()=>{Ro();S4e();zte();zlt();ml={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:0.3,visualDuration:0.3,restSpeed:{granular:0.01,default:2},restDelta:{granular:0.005,default:0.5},minDuration:0.01,maxDuration:10,minDamping:0.05,maxDamping:1};KDn=["duration","bounce"];x9.applyToOptions=(e)=>{let t=Nlt(e,100,x9);return e.ease=t.ease,e.duration=Ed(t.duration),e.type="keyframes",e}});function bz({keyframes:e,velocity:t=0,power:n=0.8,timeConstant:r=325,bounceDamping:o=10,bounceStiffness:a=500,modifyTarget:i,min:s,max:l,restDelta:c=0.5,restSpeed:u}){let d=e[0],p={done:!1,value:d},f=(T)=>Tl,m=(T)=>{if(s===void 0)return l;if(l===void 0)return s;return Math.abs(s-T)-g*Math.exp(-T/r),A=(T)=>{let I=x(T);p.done=Math.abs(I)<=c,p.value=p.done?y:y+I},w,C,E=(T)=>{if(!f(p.value))return;w=T,C=x9({keyframes:[p.value,m(p.value)],velocity:-x(T)/r*1000,damping:o,stiffness:a,restDelta:c,restSpeed:u})};return E(0),{calculatedDuration:null,next:(T)=>{let I=!1;if(!C&&w===void 0)I=!0,A(T),E(T);if(w!==void 0&&T>=w)return C.next(T-w);else return!I&&A(T),p}}}var R4e=P(()=>{k4e()});function $Dn(e,t,n){let r=[],o=n||If.mix||v9,a=e.length-1;for(let i=0;it[0];if(a===2&&t[0]===t[1])return()=>t[1];let i=e[0]===e[1];if(e[0]>e[a-1])e=[...e].reverse(),t=[...t].reverse();let s=$Dn(t,r,o),l=s.length,c=(u)=>{if(i&&u1){for(;dc(Dc(e[0],e[a-1],u)):c}var Hlt=P(()=>{Ro();Fte()});function Vlt(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let o=Zb(0,t,r);e.push(_o(n,1,o))}}var Glt=P(()=>{Ro();ty()});function qlt(e){let t=[0];return Vlt(t,e.length-1),t}var Zlt=P(()=>{Glt()});function Qlt(e,t){return e.map((n)=>n*t)}var Xlt=()=>{};function eLn(e,t){return e.map(()=>t||d9).splice(0,e.length-1)}function IE({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){let o=u4e(r)?r.map(Cte):Cte(r)||d9,a={done:!1,value:t[0]};if(t.length===2&&!Array.isArray(o)&&(!n||n.length!==2||n[0]===0&&n[1]===1)){let[l,c]=t,u=l===c?void 0:(If.mix||v9)(l,c);return{calculatedDuration:e,next:(d)=>(a.value=u?u(o(e>0?Dc(0,1,d/e):1)):c,a.done=d>=e,a)}}let i=Qlt(n&&n.length===t.length?n:qlt(t),e),s=_lt(i,t,{ease:Array.isArray(o)?o:eLn(t,o)});return{calculatedDuration:e,next:(l)=>(a.value=s(l),a.done=l>=e,a)}}var P4e=P(()=>{Ro();Hlt();Fte();Zlt();Xlt()});function nLn(e,t,n){let r=Math.max(t-tLn,0);return iz(n-e(r),t-r)}function Wlt(e,t,n=0){if(t<=0)return n;return e.velocity?e.velocity(t):nLn((r)=>e.next(r).value,t,e.next(t).value)}var tLn=5;var Ylt=P(()=>{Ro()});function f6(e,{repeat:t,repeatType:n="loop"},r,o=1){let a=e.filter(rLn),s=o<0||t&&n!=="loop"&&t%2===1?0:a.length-1;return!s||r===void 0?a[s]:r}var rLn=(e)=>e!==null;var xz=()=>{};function _te(e){if(typeof e.type==="string")e.type=oLn[e.type]}var oLn;var M4e=P(()=>{R4e();P4e();k4e();oLn={decay:bz,inertia:bz,tween:IE,keyframes:IE,spring:x9}});function Klt(e,t){return{kind:e,animation:t,timestamp:ts.now(),frameTimestamp:fl.timestamp,frameIsProcessing:fl.isProcessing}}function Hte(e,t,n){let r=globalThis.__MOTION_INSPECT__;if(!r)return;try{r({...Klt("animation-start",e),options:n?{...t,...n}:t})}catch{}}function Jlt(e,t){let n=globalThis.__MOTION_INSPECT__;if(!n)return;try{n({...Klt("layout-animation-start",e),node:t})}catch{}}var Vte=P(()=>{$1();M2()});class TE{constructor(){this.isResolved=!1}get finished(){if(!this._finished)this._finished=this.isResolved?Promise.resolve():new Promise((e)=>{this._resolve=e});return this._finished}updateFinished(){this._finished=this._resolve=void 0,this.isResolved=!1}notifyFinished(){this.isResolved=!0,this._resolve?.()}then(e,t){return this.finished.then(e,t)}}var Gte=()=>{};var aLn=(e)=>e/100,m6;var qte=P(()=>{Ro();M2();Fte();Ult();R4e();P4e();zte();Ylt();xz();M4e();Vte();Gte();m6=class m6 extends TE{constructor(e){super();if(this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:t}=this.options;if(t&&t.updatedAt!==ts.now())this.tick(ts.now());if(this.isStopped=!0,this.state==="idle")return;this.teardown(),this.options.onStop?.()},this.options=e,this.initAnimation(),this.play(),e.autoplay===!1)this.pause();Hte(this,this.options)}initAnimation(){let{options:e}=this;_te(e);let{type:t=IE,repeat:n=0,repeatDelay:r=0,repeatType:o,velocity:a=0}=e,{keyframes:i}=e,s=t||IE;if(s!==IE&&typeof i[0]!=="number")this.mixKeyframes=P2(aLn,v9(i[0],i[1])),i=[0,100];let l=s(i===e.keyframes?e:{...e,keyframes:i});if(o==="mirror")this.mirroredGenerator=s({...e,keyframes:[...i].reverse(),velocity:-a});if(l.calculatedDuration===null)l.calculatedDuration=b9(l);let{calculatedDuration:c}=l;this.calculatedDuration=c,this.resolvedDuration=c+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=l}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;if(this.holdTime!==null)this.currentTime=this.holdTime;else this.currentTime=t}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:o,mirroredGenerator:a,resolvedDuration:i,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:l=0,keyframes:c,repeat:u,repeatType:d,repeatDelay:p,type:f,onUpdate:m,finalKeyframe:g}=this.options;if(this.speed>0)this.startTime=Math.min(this.startTime,e);else if(this.speed<0)this.startTime=Math.min(e-r/this.speed,this.startTime);if(t)this.currentTime=e;else this.updateTime(e);let v=this.currentTime-l*(this.playbackSpeed>=0?1:-1),y=this.playbackSpeed>=0?v<0:v>r;if(this.currentTime=Math.max(v,0),this.state==="finished"&&this.holdTime===null)this.currentTime=r;let x=this.currentTime,A=n;if(u){let T=Math.min(this.currentTime,r)/i,I=Math.floor(T),k=T%1;if(!k&&T>=1)k=1;if(k===1&&I--,I=Math.min(I,u+1),Boolean(I%2)){if(d==="reverse"){if(k=1-k,p)k-=p/i}else if(d==="mirror")A=a}x=Dc(0,1,k)*i}let w;if(y)this.delayState.value=c[0],w=this.delayState;else w=A.next(x);if(o&&!y)w.value=o(w.value);let{done:C}=w;if(!y&&s!==null)C=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0;let E=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&C);if(E&&f!==bz)w.value=f6(c,this.options,g,this.speed);if(m)m(w.value);if(E)this.finish();return w}then(e,t){return this.finished.then(e,t)}get duration(){return Qd(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Qd(e)}get time(){return Qd(this.currentTime)}set time(e){if(e=Ed(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0)this.holdTime=e;else if(this.driver)this.startTime=this.driver.now()-e/this.playbackSpeed;if(this.driver)this.driver.start(!1);else this.startTime=0,this.state="paused",this.holdTime=e,this.tick(e)}getGeneratorVelocity(){return Wlt(this.generator,this.currentTime,this.options.velocity)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;if(t&&this.driver)this.updateTime(ts.now());if(this.playbackSpeed=e,t&&this.driver)this.time=Qd(this.currentTime)}play(){if(this.isStopped)return;let{driver:e=Flt,startTime:t}=this.options;if(!this.driver)this.driver=e((r)=>this.tick(r));this.options.onPlay?.();let n=this.driver.now();if(this.state==="finished")this.updateFinished(),this.startTime=n;else if(this.holdTime!==null)this.startTime=n-this.holdTime;else if(!this.startTime)this.startTime=t??n;if(this.state==="finished"&&this.speed<0)this.startTime+=this.calculatedDuration;this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(ts.now()),this.holdTime=this.currentTime}complete(){if(this.state!=="running")this.play();this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){if(!this.driver)return;this.driver.stop(),this.driver=void 0}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){if(this.options.allowFlatten)this.options.type="keyframes",this.options.ease="linear",this.initAnimation();return this.driver?.stop(),e.observe(this)}}});function sLn(e){let[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;let[r]=n.match(m9)||[];if(!r)return e;let o=n.replace(r,""),a=iLn.has(t)?1:0;if(r!==n)a*=100;return t+"("+a+o+")"}var iLn,lLn,Az;var D4e=P(()=>{Kb();kte();iLn=new Set(["brightness","contrast","saturate","opacity"]);lLn=/\b([a-z-]*)\(.*?\)/gu,Az={...Bc,getAnimatableNone:(e)=>{let t=e.match(lLn);return t?t.map(sLn).join(" "):e}}});var wz;var L4e=P(()=>{Kb();wz={...Bc,getAnimatableNone:(e)=>{let t=Bc.parse(e);return Bc.createTransformer(e)(t.map((r)=>typeof r==="number"?0:typeof r==="object"?{...r,alpha:1}:r))}}});var B4e;var jlt=P(()=>{d6();B4e={...Xb,transform:Math.round}});var $lt;var ect=P(()=>{d6();Yb();$lt={rotate:ey,pathRotation:ey,rotateX:ey,rotateY:ey,rotateZ:ey,scale:gz,scaleX:gz,scaleY:gz,scaleZ:gz,skew:ey,skewX:ey,skewY:ey,distance:Kn,translateX:Kn,translateY:Kn,translateZ:Kn,x:Kn,y:Kn,z:Kn,perspective:Kn,transformPerspective:Kn,opacity:m3,originX:Dte,originY:Dte,originZ:Kn}});var kE;var Zte=P(()=>{jlt();d6();Yb();ect();kE={borderWidth:Kn,borderTopWidth:Kn,borderRightWidth:Kn,borderBottomWidth:Kn,borderLeftWidth:Kn,borderRadius:Kn,borderTopLeftRadius:Kn,borderTopRightRadius:Kn,borderBottomRightRadius:Kn,borderBottomLeftRadius:Kn,width:Kn,maxWidth:Kn,height:Kn,maxHeight:Kn,top:Kn,right:Kn,bottom:Kn,left:Kn,inset:Kn,insetBlock:Kn,insetBlockStart:Kn,insetBlockEnd:Kn,insetInline:Kn,insetInlineStart:Kn,insetInlineEnd:Kn,padding:Kn,paddingTop:Kn,paddingRight:Kn,paddingBottom:Kn,paddingLeft:Kn,paddingBlock:Kn,paddingBlockStart:Kn,paddingBlockEnd:Kn,paddingInline:Kn,paddingInlineStart:Kn,paddingInlineEnd:Kn,margin:Kn,marginTop:Kn,marginRight:Kn,marginBottom:Kn,marginLeft:Kn,marginBlock:Kn,marginBlockStart:Kn,marginBlockEnd:Kn,marginInline:Kn,marginInlineStart:Kn,marginInlineEnd:Kn,fontSize:Kn,backgroundPositionX:Kn,backgroundPositionY:Kn,...$lt,zIndex:B4e,fillOpacity:m3,strokeOpacity:m3,numOctaves:B4e}});var cLn,Qte=(e)=>cLn[e];var O4e=P(()=>{Lte();D4e();L4e();Zte();cLn={...kE,color:lc,backgroundColor:lc,outlineColor:lc,fill:lc,stroke:lc,borderColor:lc,borderTopColor:lc,borderRightColor:lc,borderBottomColor:lc,borderLeftColor:lc,filter:Az,WebkitFilter:Az,mask:wz,WebkitMask:wz}});function A9(e,t){let n=Qte(e);if(!uLn.has(n))n=Bc;return n.getAnimatableNone?n.getAnimatableNone(t):void 0}var uLn;var Xte=P(()=>{Kb();D4e();L4e();O4e();uLn=new Set([Az,wz])});function tct(e){for(let t=1;t{};function Wte(e){return e.includes("scale")?1:0}function Yte(e,t){if(!e||e==="none")return Wte(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,o;if(n)r=pLn,o=n;else{let s=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=dLn,o=s}if(!o)return Wte(t);let a=r[t],i=o[1].split(",").map(fLn);return typeof a==="function"?a(i):i[a]}function fLn(e){return parseFloat(e.trim())}var RE=(e)=>e*180/Math.PI,F4e=(e)=>{let t=RE(Math.atan2(e[1],e[0]));return U4e(t)},dLn,U4e=(e)=>{if(e=e%360,e<0)e+=360;return e},rct,oct=(e)=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),act=(e)=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),pLn,ict=(e,t)=>{let{transform:n="none"}=getComputedStyle(e);return Yte(n,t)};var N4e=P(()=>{dLn={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:(e)=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:F4e,rotateZ:F4e,skewX:(e)=>RE(Math.atan(e[1])),skewY:(e)=>RE(Math.atan(e[2])),skew:(e)=>(Math.abs(e[1])+Math.abs(e[2]))/2},rct=F4e,pLn={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:oct,scaleY:act,scale:(e)=>(oct(e)+act(e))/2,rotateX:(e)=>U4e(RE(Math.atan2(e[6],e[5]))),rotateY:(e)=>U4e(RE(Math.atan2(-e[2],e[0]))),rotateZ:rct,rotate:rct,skewX:(e)=>RE(Math.atan(e[4])),skewY:(e)=>RE(Math.atan(e[1])),skew:(e)=>(Math.abs(e[1])+Math.abs(e[4]))/2}});var Jb,ny;var D2=P(()=>{Jb=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ny=(()=>new Set([...Jb,"pathRotation"]))()});function lct(e){let t=[];return hLn.forEach((n)=>{let r=e.getValue(n);if(r!==void 0){let o=r.get(),a=n.startsWith("scale")?1:0;if(o===a)return;t.push([n,o]),r.set(a)}}),t}function sct(e,t,n,r,o,a){let i=parseFloat(e);if(!isNaN(i))return i;let{min:s,max:l}=t()[n],c=l-s;return a==="border-box"?c:c-parseFloat(r)-parseFloat(o)}var z4e=(e)=>e===Xb||e===Kn,mLn,hLn,cct,h6;var _4e=P(()=>{N4e();D2();d6();Yb();mLn=new Set(["x","y","z"]),hLn=Jb.filter((e)=>!mLn.has(e));cct=new Set(["bottom","right"]);h6={width:({width:e,paddingLeft:t="0",paddingRight:n="0",boxSizing:r},o)=>sct(e,o,"x",t,n,r),height:({height:e,paddingTop:t="0",paddingBottom:n="0",boxSizing:r},o)=>sct(e,o,"y",t,n,r),top:({top:e})=>parseFloat(e),left:({left:e})=>parseFloat(e),bottom:({top:e},t)=>{let{y:n}=t();return parseFloat(e)+(n.max-n.min)},right:({left:e},t)=>{let{x:n}=t();return parseFloat(e)+(n.max-n.min)},x:({transform:e})=>Yte(e,"x"),y:({transform:e})=>Yte(e,"y")};h6.translateX=h6.x;h6.translateY=h6.y});function uct(){if(V4e){let e=[],t=new Set,n=new Set;PE.forEach((o)=>{if(!o.needsMeasurement)return;if(e.push(o),t.add(o.element),cct.has(o.name))n.add(o.element)});let r=new Map;n.forEach((o)=>{let a=lct(o);if(!a.length)return;r.set(o,a),o.render()}),e.forEach((o)=>o.measureInitialState()),t.forEach((o)=>{o.render();let a=r.get(o);if(a)a.forEach(([i,s])=>{o.getValue(i)?.set(s)})}),e.forEach((o)=>o.measureEndState()),e.forEach((o)=>{if(o.suspendedScrollY!==void 0)window.scrollTo(0,o.suspendedScrollY)})}V4e=!1,H4e=!1,PE.forEach((e)=>e.complete(G4e)),PE.clear()}function dct(){PE.forEach((e)=>{if(e.readKeyframes(),e.needsMeasurement)V4e=!0})}function pct(){G4e=!0,dct(),uct(),G4e=!1}function gLn(e,t,n){if(typeof e==="string"){if(CE(e)||EE(e))return parseFloat(e);else if(!Bc.test(e)&&Bc.test(n))return A9(t,n)}return e??void 0}class ME{constructor(e,t,n,r,o,a=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=o,this.isAsync=a}scheduleResolve(){if(this.state="scheduled",this.isAsync){if(PE.add(this),!H4e)H4e=!0,Po.read(dct),Po.resolveKeyframes(uct)}else this.readKeyframes(),this.complete()}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let o=r?.get(),a=e[e.length-1];if(o!==void 0)e[0]=o;else if(n&&t){let i=gLn(n.readValue(t,a),t,a);if(i!==void 0)e[0]=i}if(e[0]===void 0)e[0]=a;if(r&&o===void 0)r.set(e[0])}tct(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),PE.delete(this)}cancel(){if(this.state==="scheduled")PE.delete(this),this.state="pending"}resume(){if(this.state==="pending")this.scheduleResolve()}}var PE,H4e=!1,V4e=!1,G4e=!1;var Kte=P(()=>{Ro();Kb();Xte();nct();_4e();$1();PE=new Set});var fct=(e)=>e.startsWith("--");var mct=()=>{};function Jte(e,t,n){fct(t)?e.style.setProperty(t,n):e.style[t]=n}var q4e=P(()=>{mct()});var hct;var gct=P(()=>{hct={}});function jte(e,t){let n=az(e);return()=>hct[t]??n()}var Z4e=P(()=>{Ro();gct()});var yct;var vct=P(()=>{Z4e();yct=jte(()=>window.ScrollTimeline!==void 0,"scrollTimeline")});var $te;var Q4e=P(()=>{Z4e();$te=jte(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(e){return!1}return!0},"linearEasing")});var DE=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`;var X4e=()=>{};var W4e;var bct=P(()=>{X4e();W4e={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:DE([0,0.65,0.55,1]),circOut:DE([0.55,0,1,0.45]),backIn:DE([0.31,0.01,0.66,-0.59]),backOut:DE([0.33,1.53,0.69,0.99])}});function Y4e(e,t){if(!e)return;else if(typeof e==="function")return $te()?Ute(e,t):"ease-out";else if(pz(e))return DE(e);else if(Array.isArray(e))return e.map((n)=>Y4e(n,t)||W4e.easeOut);else return W4e[e]}var xct=P(()=>{Ro();Q4e();S4e();X4e();bct()});function Act(e,t,n,{delay:r=0,duration:o=300,repeat:a=0,repeatType:i="loop",ease:s="easeOut",times:l}={},c=void 0){let u={[t]:n};if(l)u.offset=l;let d=Y4e(s,o);if(Array.isArray(d))u.easing=d;let p={delay:r,duration:o,easing:!Array.isArray(d)?d:"linear",fill:"both",iterations:a+1,direction:i==="reverse"?"alternate":"normal"};if(c)p.pseudoElement=c;return e.animate(u,p)}var wct=P(()=>{xct()});function ene(e){return typeof e==="function"&&"applyToOptions"in e}var K4e=()=>{};function Sct({type:e,...t}){if(ene(e)&&$te())return e.applyToOptions(t);else t.duration??(t.duration=300),t.ease??(t.ease="easeOut");return t}var Cct=P(()=>{Q4e();K4e()});var Sz;var J4e=P(()=>{Ro();q4e();vct();xz();Gte();Vte();wct();Cct();Sz=class Sz extends TE{constructor(e){super();if(this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:o,allowFlatten:a=!1,finalKeyframe:i,onComplete:s}=e;this.isPseudoElement=Boolean(o),this.allowFlatten=a,this.options=e,lh(typeof e.type!=="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");let l=Sct(e);if(this.animation=Act(t,n,r,l,o),l.autoplay===!1)this.animation.pause();this.animation.onfinish=()=>{if(this.finishedTime=this.time,!o){let c=f6(r,this.options,i,this.speed);if(this.updateMotionValue)this.updateMotionValue(c);Jte(t,n,c),this.animation.cancel()}s?.(),this.notifyFinished()},Hte(this,e,l)}play(){if(this.isStopped)return;if(this.manualStartTime=null,this.animation.play(),this.state==="finished")this.updateFinished()}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(e){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;if(e==="idle"||e==="finished")return;if(this.updateMotionValue)this.updateMotionValue();else this.commitStyles();if(!this.isPseudoElement)this.cancel()}commitStyles(){let e=this.options?.element;if(!this.isPseudoElement&&e?.isConnected)this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Qd(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Qd(e)}get time(){return Qd(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;if(this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Ed(e),t)this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){if(e<0)this.finishedTime=null;this.animation.playbackRate=e}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){if(this.allowFlatten)this.animation.effect?.updateTiming({easing:"linear"});if(this.animation.onfinish=null,e&&yct()){if(this.animation.timeline=e,t)this.animation.rangeStart=t;if(n)this.animation.rangeEnd=n;return Lc}else return r(this)}}});function yLn(e){return e in Ect}function Ict(e){if(typeof e.ease==="string"&&yLn(e.ease))e.ease=Ect[e.ease]}var Ect;var Tct=P(()=>{Ro();Ect={anticipate:lz,backInOut:sz,circInOut:dz}});var j4e=10,$4e;var kct=P(()=>{Ro();M2();q4e();qte();J4e();M4e();Tct();$4e=class $4e extends Sz{constructor(e){Ict(e),_te(e);super(e);if(e.startTime!==void 0&&e.autoplay!==!1)this.startTime=e.startTime;this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:o,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let i=new m6({...a,autoplay:!1}),s=Math.max(j4e,ts.now()-this.startTime),l=Dc(0,j4e,s-j4e),c=i.sample(s).value,{name:u}=this.options;if(o&&u)Jte(o,u,c);t.setWithVelocity(i.sample(Math.max(0,s-l)).value,c,l),i.stop()}}});var e6e=(e,t)=>{if(t==="zIndex")return!1;if(typeof e==="number"||Array.isArray(e))return!0;if(typeof e==="string"&&(Bc.test(e)||e==="0")&&!e.startsWith("url("))return!0;return!1};var Rct=P(()=>{Kb()});function vLn(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n{Ro();K4e();Rct()});function Cz(e){e.duration=0,e.type="keyframes"}var t6e=()=>{};var Ez;var n6e=P(()=>{Ez=new Set(["opacity","clipPath","filter","transform","backgroundColor"])});function Dct(e){for(let t=0;t{bLn=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/});function Oct(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:o,damping:a,type:i,keyframes:s}=e;if(!n||!(Ez.has(n)||Bct.has(n)))return!1;let l=t?.owner?.current;if(!(l instanceof HTMLElement)&&!(l instanceof SVGElement))return!1;let{onUpdate:c,transformTemplate:u}=t.owner.getProps();return xLn()&&(Ez.has(n)||Bct.has(n)&&Dct(s))&&(n!=="transform"||!u)&&!c&&!r&&o!=="mirror"&&a!==0&&i!=="inertia"}var Bct,xLn;var Fct=P(()=>{Ro();n6e();Lct();Bct=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),xLn=az(()=>Object.hasOwnProperty.call(Element.prototype,"animate"))});var ALn=40,r6e;var Uct=P(()=>{Ro();M2();qte();xz();Kte();kct();Mct();t6e();Gte();Fct();r6e=class r6e extends TE{constructor(e){super();this.stop=()=>{if(this._animation)this._animation.stop(),this.stopTimeline?.();this.keyframeResolver?.cancel()},this.createdAt=ts.now();let{keyframes:t,name:n,motionValue:r,element:o}=e,a=e;a.autoplay??(a.autoplay=!0),a.delay??(a.delay=0),a.type??(a.type="keyframes"),a.repeat??(a.repeat=0),a.repeatDelay??(a.repeatDelay=0),a.repeatType??(a.repeatType="loop");let i=o?.KeyframeResolver||ME;this.keyframeResolver=new i(t,(s,l,c)=>this.onKeyframesResolved(s,l,a,!c),n,r,o),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:o,type:a,velocity:i,delay:s,isHandoff:l,onUpdate:c}=n;this.resolvedAt=ts.now();let u=!0;if(!Pct(e,o,a,i)){if(u=!1,If.instantAnimations||!s)c?.(f6(e,n,t));e[0]=e[e.length-1],Cz(n),n.repeat=0}let d=r?!this.resolvedAt?this.createdAt:this.resolvedAt-this.createdAt>ALn?this.resolvedAt:this.createdAt:void 0,{onComplete:p}=n;n.startTime??(n.startTime=d),n.finalKeyframe=t,n.keyframes=e,n.onComplete=()=>{p?.(),this.notifyFinished()};let f=u&&!l&&Oct(n),m;if(f){n.element=n.motionValue?.owner?.current;try{m=new $4e(n)}catch{m=new m6(n)}}else m=new m6(n);if(this.pendingTimeline)this.stopTimeline=m.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0;this._animation=m}get finished(){return this._animation?this._animation.finished:super.finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){if(!this._animation)this.keyframeResolver?.resume(),pct();return this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){if(this._animation)this.stopTimeline=this.animation.attachTimeline(e);else this.pendingTimeline=e;return()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){if(this._animation)this.animation.cancel();this.keyframeResolver?.cancel()}}});function tne(e,t,n,r=0,o=1){let a=Array.from(e).sort((c,u)=>c.sortNodePosition(u)).indexOf(t),i=e.size,s=(i-1)*r;return typeof n==="function"?n(a,i):o===1?a*r:s-a*r}var o6e=()=>{};class _ct{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=(n)=>{let r=ts.now();if(this.updatedAt!==r)this.setPrevFrameValue();if(this.prev=this.current,this.setCurrent(n),this.current!==this.prev){if(this.notifyChange(),this.dependents)for(let o of this.dependents)o.dirty()}},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){if(this.current=e,this.updatedAt=ts.now(),this.canTrackVelocity===null&&e!==void 0)this.canTrackVelocity=SLn(this.current)}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,t){var n;if(e==="change")return this.onChangeSubscribe(t);return((n=this.events)[e]||(n[e]=new f3)).add(t)}onChangeSubscribe(e){let{events:t}=this;if(!t.change&&!this.changeSubscriber)this.changeSubscriber=e;else{if(!t.change)t.change=new f3,t.change.add(this.changeSubscriber),this.changeSubscriber=void 0;t.change.add(e)}return()=>{if(this.changeSubscriber===e)this.changeSubscriber=void 0;else t.change?.remove(e);this.stopIfUnobserved()}}stopIfUnobserved(){Po.read(()=>{if(!this.changeSubscriber&&!this.events.change?.getSize())this.stop()})}clearListeners(){this.changeSubscriber=void 0;for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){if(!this.passiveEffect)this.updateAndNotify(e);else this.passiveEffect(e,this.updateAndNotify)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){if(this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect)this.stopPassiveEffect()}dirty(){this.notifyChange()}notifyChange(){let{current:e,changeSubscriber:t}=this;if(t)t(e);else this.events.change?.notify(e)}addDependent(e){if(!this.dependents)this.dependents=new Set;this.dependents.add(e)}removeDependent(e){if(this.dependents)this.dependents.delete(e)}get(){if(zct.current)zct.current.push(this);return this.current}getPrevious(){return this.prev}getVelocity(){let e=ts.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Nct)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Nct);return iz(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise((t)=>{this.hasAnimated=!0;let n=!1,r;if(r=e(()=>{if(n=!0,this.events.animationComplete?.notify(),this.animation===r)this.clearAnimation();t()}),!n)this.animation=r;this.events.animationStart?.notify()})}stop(){if(this.animation){if(this.animation.stop(),this.events.animationCancel)this.events.animationCancel.notify()}this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){this.animation=void 0}destroy(){if(this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect)this.stopPassiveEffect()}}function L2(e,t){return new _ct(e,t)}var Nct=30,SLn=(e)=>!isNaN(parseFloat(e)),zct;var w9=P(()=>{Ro();M2();$1();zct={current:void 0}});function nne(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}var a6e=()=>{};function S9(e,t){let n=e?.[t]??e?.default??e;if(n!==e)return nne(n,e);return n}var rne=P(()=>{a6e()});var CLn,ELn=(e)=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),ILn,TLn,Hct=(e,{keyframes:t})=>{if(t.length>2)return ILn;else if(ny.has(e))return e.startsWith("scale")?ELn(t[1]):CLn;return TLn};var Vct=P(()=>{D2();CLn={type:"spring",stiffness:500,damping:25,restSpeed:10},ILn={type:"keyframes",duration:0.8},TLn={type:"keyframes",ease:[0.25,0.1,0.35,1],duration:0.3}});function Gct(e){for(let t in e)if(!kLn.has(t))return!0;return!1}var kLn;var qct=P(()=>{kLn=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"])});var LE=(e,t,n,r={},o,a)=>(i)=>{let s=S9(r,e)||{},l=s.delay||r.delay||0,{elapsed:c=0}=r;c=c-Ed(l);let u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...s,delay:-c,onUpdate:(p)=>{t.set(p),s.onUpdate&&s.onUpdate(p)},onComplete:()=>{i(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:o};if(!Gct(s))Object.assign(u,Hct(e,u));if(u.duration&&(u.duration=Ed(u.duration)),u.repeatDelay&&(u.repeatDelay=Ed(u.repeatDelay)),u.from!==void 0)u.keyframes[0]=u.from;let d=!1;if(u.type===!1||u.duration===0&&!u.repeatDelay){if(Cz(u),u.delay===0)d=!0}if(If.instantAnimations||If.skipAnimations||o?.shouldSkipAnimations||s.skipAnimations)d=!0,Cz(u),u.delay=0;if(u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let p=f6(u.keyframes,s);if(p!==void 0){Po.update(()=>{u.onUpdate(p),u.onComplete()});return}}return s.isSync?new m6(u):new r6e(u)};var one=P(()=>{Ro();Uct();qte();rne();t6e();Vct();xz();qct();$1()});function PLn(e){let t=RLn.exec(e);if(!t)return[,];let[,n,r,o]=t;return[`--${n??r}`,o]}function i6e(e,t,n=1){lh(n<=MLn,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");let[r,o]=PLn(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let i=a.trim();return CE(i)?parseFloat(i):i}return p9(o)?i6e(o,t,n+1):o}var RLn,MLn=4;var Zct=P(()=>{Ro();f9();RLn=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u});function Qct(e){let t=[{},{}];return e?.values.forEach((n,r)=>{t[0][r]=n.get(),t[1][r]=n.getVelocity()}),t}function BE(e,t,n,r){if(typeof t==="function"){let[o,a]=Qct(r);t=t(n!==void 0?n:e.custom,o,a)}if(typeof t==="string")t=e.variants&&e.variants[t];if(typeof t==="function"){let[o,a]=Qct(r);t=t(n!==void 0?n:e.custom,o,a)}return t}var ane=()=>{};function kg(e,t,n){let r=e.getProps();return BE(r,t,n!==void 0?n:r.custom,e)}var C9=P(()=>{ane()});var ine;var s6e=P(()=>{D2();ine=new Set(["width","height","top","left","right","bottom",...Jb])});var Iz=(e)=>Array.isArray(e);var l6e=()=>{};function DLn(e,t,n){if(e.hasValue(t))e.getValue(t).set(n);else e.addValue(t,L2(n))}function LLn(e){return Iz(e)?e[e.length-1]||0:e}function Xct(e,t){let n=kg(e,t),{transitionEnd:r={},transition:o={},...a}=n||{};a={...a,...r};for(let i in a){let s=LLn(a[i]);DLn(e,i,s)}}var Wct=P(()=>{w9();C9();l6e()});var Qi=(e)=>Boolean(e&&e.getVelocity);var jb=()=>{};function Yct(e){return Boolean(Qi(e)&&e.add)}var Kct=P(()=>{jb()});function E9(e,t){let n=e.getValue("willChange");if(Yct(n))return n.add(t);else if(!n&&If.WillChange){let r=new If.WillChange("auto");e.addValue("willChange",r),r.add(t)}}var c6e=P(()=>{Ro();Kct()});function I9(e){return e.replace(/([A-Z])/g,(t)=>`-${t.toLowerCase()}`)}var sne=()=>{};var Jct="framerAppearId",Tz;var u6e=P(()=>{sne();Tz="data-"+I9(Jct)});function lne(e){return e.props[Tz]}var d6e=P(()=>{u6e()});function OLn({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function cne(e,t,{delay:n=0,transitionOverride:r,type:o}={}){let{transition:a,transitionEnd:i,...s}=t,l=e.getDefaultTransition();a=a?nne(a,l):l;let c=a?.reduceMotion,u=a?.skipAnimations;if(r)a=r;let d=[],p=o&&e.animationState&&e.animationState.getState()[o],f=a?.path;if(f)f.animateVisualElement(e,s,a,n,d);for(let m in s){let g=e.getValue(m,e.latestValues[m]??null),v=s[m];if(v===void 0||p&&OLn(p,m))continue;let y={delay:n,...S9(a||{},m)};if(u)y.skipAnimations=!0;let x=g.get();if(x!==void 0&&!g.isAnimating()&&!Array.isArray(v)&&v===x&&!y.velocity){Po.update(()=>g.set(v));continue}let A=!1;if(BLn&&window.MotionHandoffAnimation){let E=lne(e);if(E){let T=window.MotionHandoffAnimation(E,m,Po);if(T!==null)y.startTime=T,A=!0}}E9(e,m);let w=c??e.shouldReduceMotion;g.start(LE(m,g,v,w&&ine.has(m)?{type:!1}:y,e,A));let C=g.animation;if(C)d.push(C)}if(i){let m=()=>Po.update(()=>{i&&Xct(e,i)});if(d.length)Promise.all(d).then(m);else m()}return d}var BLn;var p6e=P(()=>{rne();a6e();s6e();Wct();c6e();d6e();one();$1();BLn=typeof window<"u"});function une(e,t,n={}){let r=kg(e,t,n.type==="exit"?e.presenceContext?.custom:void 0),{transition:o=e.getDefaultTransition()||{}}=r||{};if(n.transitionOverride)o=n.transitionOverride;let a=r?()=>Promise.all(cne(e,r,n)):()=>Promise.resolve(),i=e.variantChildren&&e.variantChildren.size?(l=0)=>{let{delayChildren:c=0,staggerChildren:u,staggerDirection:d}=o;return FLn(e,t,l,c,u,d,n)}:()=>Promise.resolve(),{when:s}=o;if(s){let[l,c]=s==="beforeChildren"?[a,i]:[i,a];return l().then(()=>c())}else return Promise.all([a(),i(n.delay)])}function FLn(e,t,n=0,r=0,o=0,a=1,i){let s=[];for(let l of e.variantChildren)l.notify("AnimationStart",t),s.push(une(l,t,{...i,delay:n+(typeof r==="function"?0:r)+tne(e.variantChildren,l,r,o,a)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(s)}var jct=P(()=>{C9();o6e();p6e()});function $ct(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){let o=t.map((a)=>une(e,a,n));r=Promise.all(o)}else if(typeof t==="string")r=une(e,t,n);else{let o=typeof t==="function"?kg(e,t,n.custom):t;r=Promise.all(cne(e,o,n))}return r.then(()=>{e.notify("AnimationComplete",t)})}var eut=P(()=>{C9();p6e();jct()});var tut;var nut=P(()=>{tut={test:(e)=>e==="auto",parse:(e)=>e}});var rut=(e)=>(t)=>t.test(e);var out=()=>{};var ULn,f6e=(e)=>ULn.find(rut(e));var aut=P(()=>{nut();d6();Yb();out();ULn=[Xb,Kn,um,ey,y4e,g4e,tut]});function iut(e){if(typeof e==="number")return e===0;else if(e!==null)return e==="none"||e==="0"||EE(e);else return!0}var sut=P(()=>{Ro()});function lut(e,t,n){let r=0,o=void 0;while(r{Kb();Xte();NLn=new Set(["auto","none","0"])});var m6e;var uut=P(()=>{s6e();aut();Zct();f9();Kte();sut();cut();_4e();m6e=class m6e extends ME{constructor(e,t,n,r,o){super(e,t,n,r,o,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let c=0;ce.measureViewportBox())}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;if(n==="height")this.suspendedScrollY=window.pageYOffset;this.measuredOrigin=this.measure(),t[0]=this.measuredOrigin;let r=t[t.length-1];if(r!==void 0)this.motionValue?.jump(r,!1)}measureEndState(){let{element:e,unresolvedKeyframes:t}=this;if(!e||!e.current)return;this.motionValue?.jump(this.measuredOrigin,!1);let n=t.length-1,r=t[n];if(t[n]=this.measure(),r!==null&&this.finalKeyframe===void 0)this.finalKeyframe=r;if(this.removedTransforms?.length)this.removedTransforms.forEach(([o,a])=>{e.getValue(o).set(a)});this.resolveNoneKeyframes()}}});var kz;var h6e=P(()=>{kz=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"]});function OE(e){return oz(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}var g6e=P(()=>{Ro()});function T9(e){return oz(e)&&"ownerSVGElement"in e}var dne=P(()=>{Ro()});var Rz=(e,t)=>t&&typeof e==="number"?t.transform(e):e;var y6e=()=>{};function pne(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];else if(typeof e==="string"){let r=document;if(t)r=t.current;let o=n?.[e]??r.querySelectorAll(e);return o?Array.from(o):[]}return Array.from(e).filter((r)=>r!=null)}var v6e=()=>{};function dut(e,t,n){let r="",o=!0;for(let i=0;i<_Ln;i++){let s=Jb[i],l=e[s];if(l===void 0)continue;let c=!0;if(typeof l==="number")c=l===(s.startsWith("scale")?1:0);else{let u=parseFloat(l);c=s.startsWith("scale")?u===1:u===0}if(!c||n){let u=Rz(l,kE[s]);if(!c){o=!1;let d=zLn[s]||s;r+=`${d}(${u}) `}if(n)t[s]=u}}let a=e.pathRotation;if(a)o=!1,r+=`rotate(${Rz(a,kE.pathRotation)}) `;if(r=r.trim(),n)r=n(t,o?"":r);else if(o)r="none";return r}var zLn,_Ln;var put=P(()=>{y6e();Zte();D2();zLn={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},_Ln=Jb.length});function FE(e,t,n){let{style:r,vars:o,transformOrigin:a}=e,i=!1,s=!1;for(let l in t){let c=t[l];if(ny.has(l)){i=!0;continue}else if(Tte(l)){o[l]=c;continue}else{let u=Rz(c,kE[l]);if(l.startsWith("origin"))s=!0,a[l]=u;else r[l]=u}}if(!t.transform){if(i||n)r.transform=dut(t,e.transform,n);else if(r.transform)r.transform="none"}if(s){let{originX:l="50%",originY:c="50%",originZ:u=0}=a;r.transformOrigin=`${l} ${c} ${u}`}}var fne=P(()=>{y6e();Zte();D2();f9();put()});function fut(e,t,n=1,r=0,o=!0){e.pathLength=1;let a=o?HLn:VLn;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var HLn,VLn;var mut=P(()=>{HLn={offset:"stroke-dashoffset",array:"stroke-dasharray"},VLn={offset:"strokeDashoffset",array:"strokeDasharray"}});function Pz(e,{attrX:t,attrY:n,attrScale:r,pathLength:o,pathSpacing:a=1,pathOffset:i=0,...s},l,c,u){if(FE(e,s,c),l){if(e.style.viewBox)e.attrs.viewBox=e.style.viewBox;return}e.attrs=e.style,e.style={};let{attrs:d,style:p}=e;for(let f of b6e)if(d[f]!==void 0)p[f]=d[f],delete d[f];if(p.transform||d.transformOrigin)p.transformOrigin=d.transformOrigin??"50% 50%",delete d.transformOrigin;if(p.transform)p.transformBox=u?.transformBox??"fill-box",delete d.transformBox;if(t!==void 0)d.x=t;if(n!==void 0)d.y=n;if(r!==void 0)d.scale=r;if(o!==void 0)fut(d,o,a,i,!1)}var b6e;var x6e=P(()=>{fne();mut();b6e=["transform","opacity","offsetDistance","offsetPath","offsetRotate","offsetAnchor"]});function Mz({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function A6e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function w6e(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}var S6e=()=>{};function C6e(e){return e===void 0||e===1}function mne({scale:e,scaleX:t,scaleY:n}){return!C6e(e)||!C6e(t)||!C6e(n)}function h3(e){return mne(e)||E6e(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function E6e(e){return hut(e.x)||hut(e.y)}function hut(e){return e&&e!=="0%"}var I6e=()=>{};function Dz(e,t,n){let r=e-n,o=t*r;return n+o}function gut(e,t,n,r,o){if(o!==void 0)e=Dz(e,o,r);return Dz(e,n,r)+t}function T6e(e,t=0,n=1,r,o){e.min=gut(e.min,t,n,r,o),e.max=gut(e.max,t,n,r,o)}function k6e(e,{x:t,y:n}){T6e(e.x,t.translate,t.scale,t.originPoint),T6e(e.y,n.translate,n.scale,n.originPoint)}function Aut(e,t,n,r=!1){let o=n.length;if(!o)return;t.x=t.y=1;let a,i;for(let s=0;syut)t.x=1;if(t.yyut)t.y=1}function ry(e,t){e.min+=t,e.max+=t}function but(e,t,n,r,o=0.5){let a=_o(e.min,e.max,o);T6e(e,t,n,a,r)}function xut(e,t){if(typeof e==="string")return parseFloat(e)/100*(t.max-t.min);return e}function Lz(e,t,n){let r=n??e;but(e.x,xut(t.x,r.x),t.scaleX,t.scale,t.originX),but(e.y,xut(t.y,r.y),t.scaleY,t.scale,t.originY)}var yut=0.999999999999,vut=1.0000000000001;var hne=P(()=>{ty();I6e()});function gne(e,t){return Mz(w6e(e.getBoundingClientRect(),t))}function R6e(e,t,n){let r=gne(e,n),{scroll:o}=t;if(o)ry(r.x,o.offset.x),ry(r.y,o.offset.y);return r}var P6e=P(()=>{S6e();hne()});var UE,GLn;var yne=P(()=>{p4e();({schedule:UE,cancel:GLn}=Ete(queueMicrotask,!1))});function vne(){return oy.x||oy.y}var oy;var bne=P(()=>{oy={x:!1,y:!1}});function M6e(e){if(e==="x"||e==="y")if(oy[e])return null;else return oy[e]=!0,()=>{oy[e]=!1};else if(oy.x||oy.y)return null;else return oy.x=oy.y=!0,()=>{oy.x=oy.y=!1}}var wut=P(()=>{bne()});function xne(e,t){let n=pne(e),r=new AbortController,o={passive:!0,...t,signal:r.signal};return[n,o,()=>r.abort()]}var D6e=P(()=>{v6e()});function qLn(e){return!(e.pointerType==="touch"||vne())}function L6e(e,t,n={}){let[r,o,a]=xne(e,n);return r.forEach((i)=>{let s=!1,l=!1,c,u=()=>{i.removeEventListener("pointerleave",m)},d=(v)=>{if(c)c(v),c=void 0;u()},p=(v)=>{if(s=!1,window.removeEventListener("pointerup",p),window.removeEventListener("pointercancel",p),l)l=!1,d(v)},f=()=>{s=!0,window.addEventListener("pointerup",p,o),window.addEventListener("pointercancel",p,o)},m=(v)=>{if(v.pointerType==="touch")return;if(s){l=!0;return}d(v)},g=(v)=>{if(!qLn(v))return;l=!1;let y=t(i,v);if(typeof y!=="function")return;c=y,i.addEventListener("pointerleave",m,o)};i.addEventListener("pointerenter",g,o),i.addEventListener("pointerdown",f,o)}),a}var Sut=P(()=>{bne();D6e()});var B6e=(e,t)=>{if(!t)return!1;else if(e===t)return!0;else return B6e(e,t.parentElement)};var Cut=()=>{};var NE=(e)=>{if(e.pointerType==="mouse")return typeof e.button!=="number"||e.button<=0;else return e.isPrimary!==!1};var O6e=()=>{};function F6e(e){return ZLn.has(e.tagName)||e.isContentEditable===!0}function U6e(e){return QLn.has(e.tagName)||e.isContentEditable===!0}var ZLn,QLn;var N6e=P(()=>{ZLn=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);QLn=new Set(["INPUT","SELECT","TEXTAREA"])});var k9;var z6e=P(()=>{k9=new WeakSet});function Eut(e){return(t)=>{if(t.key!=="Enter")return;e(t)}}function _6e(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}var Iut=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Eut(()=>{if(k9.has(n))return;_6e(n,"down");let o=Eut(()=>{_6e(n,"up")}),a=()=>_6e(n,"cancel");n.addEventListener("keyup",o,t),n.addEventListener("blur",a,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};var Tut=P(()=>{z6e()});function kut(e){return NE(e)&&!vne()}function H6e(e,t,n={}){let[r,o,a]=xne(e,n),i=(s)=>{let l=s.currentTarget;if(!kut(s))return;if(Rut.has(s))return;if(k9.add(l),n.stopPropagation)Rut.add(s);let c=t(l,s),u={...o,capture:!0},d=(m,g)=>{if(window.removeEventListener("pointerup",p,u),window.removeEventListener("pointercancel",f,u),k9.has(l))k9.delete(l);if(!kut(m))return;if(typeof c==="function")c(m,{success:g})},p=(m)=>{d(m,l===window||l===document||n.useGlobalTarget||B6e(l,m.target))},f=(m)=>{d(m,!1)};window.addEventListener("pointerup",p,u),window.addEventListener("pointercancel",f,u)};return r.forEach((s)=>{if((n.useGlobalTarget?window:s).addEventListener("pointerdown",i,o),OE(s)){if(s.addEventListener("focus",(c)=>Iut(c,o)),!F6e(s)&&!s.hasAttribute("tabindex"))s.tabIndex=0}}),a}var Rut;var Put=P(()=>{g6e();bne();Cut();O6e();D6e();N6e();Tut();z6e();Rut=new WeakSet});function YLn({target:e,borderBoxSize:t}){Ane.get(e)?.forEach((n)=>{n(e,{get width(){return XLn(e,t)},get height(){return WLn(e,t)}})})}function KLn(e){e.forEach(YLn)}function JLn(){if(typeof ResizeObserver>"u")return;wne=new ResizeObserver(KLn)}function Dut(e,t){if(!wne)JLn();let n=pne(e);return n.forEach((r)=>{let o=Ane.get(r);if(!o)o=new Set,Ane.set(r,o);o.add(t),wne?.observe(r)}),()=>{n.forEach((r)=>{let o=Ane.get(r);if(o?.delete(t),!o?.size)wne?.unobserve(r)})}}var Ane,wne,Mut=(e,t,n)=>(r,o)=>{if(o&&o[0])return o[0][e+"Size"];else if(T9(r)&&"getBBox"in r)return r.getBBox()[t];else return r[n]},XLn,WLn;var Lut=P(()=>{dne();v6e();Ane=new WeakMap,XLn=Mut("inline","width","offsetWidth"),WLn=Mut("block","height","offsetHeight")});function jLn(){R9=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Sne.forEach((t)=>t(e))},window.addEventListener("resize",R9)}function But(e){if(Sne.add(e),!R9)jLn();return()=>{if(Sne.delete(e),!Sne.size&&typeof R9==="function")window.removeEventListener("resize",R9),R9=void 0}}var Sne,R9;var Out=P(()=>{Sne=new Set});function Cne(e,t){return typeof e==="function"?But(e):Dut(e,t)}var Fut=P(()=>{Lut();Out()});var zE;var Uut=P(()=>{zE={value:null,addProjectionMetrics:null}});function Nut(e){return T9(e)&&e.tagName==="svg"}var zut=P(()=>{dne()});var V6e=()=>({translate:0,scale:1,origin:0,originPoint:0}),g6=()=>({x:V6e(),y:V6e()}),G6e=()=>({min:0,max:0}),hl=()=>({x:G6e(),y:G6e()});var Bz=()=>{};var _ut;var Hut=P(()=>{_ut=new WeakMap});function g3(e){return e!==null&&typeof e==="object"&&typeof e.start==="function"}var Ene=()=>{};function $b(e){return typeof e==="string"||Array.isArray(e)}var Oz=()=>{};var Ine,P9;var Tne=P(()=>{Ine=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],P9=["initial",...Ine]});function y6(e){if(g3(e.animate))return!0;for(let t=0;t{Ene();Oz();Tne()});function Vut(e,t,n){for(let r in t){let o=t[r],a=n[r];if(Qi(o))e.addValue(r,o);else if(Qi(a))e.addValue(r,L2(o,{owner:e}));else if(a!==o)if(e.hasValue(r)){let i=e.getValue(r);if(i.liveStyle===!0)i.jump(o);else if(!i.hasAnimated)i.set(o)}else{let i=e.getStaticValue(r);e.addValue(r,L2(i!==void 0?i:o,{owner:e}))}}for(let r in n)if(t[r]===void 0)e.removeValue(r);return t}var Gut=P(()=>{w9();jb()});var Uz,kne;var Z6e=P(()=>{Uz={current:null},kne={current:!1}});function qut(){if(kne.current=!0,!$Ln)return;if(window.matchMedia){let e=window.matchMedia("(prefers-reduced-motion)"),t=()=>Uz.current=e.matches;e.addEventListener("change",t),t()}else Uz.current=!1}var $Ln;var Zut=P(()=>{Z6e();$Ln=typeof window<"u"});function Nz(e){Rne=e}function Q6e(){return Rne}class Pne{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:o,blockInitialAnimation:a,visualState:i},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=ME,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{if(!this.current)return;this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection)},this.renderScheduledAt=0,this.scheduleRender=()=>{let p=ts.now();if(this.renderScheduledAtthis.bindToMotionValue(n,t)),this.reducedMotionConfig==="never")this.shouldReduceMotion=!1;else if(this.reducedMotionConfig==="always")this.shouldReduceMotion=!0;else{if(!kne.current)qut();this.shouldReduceMotion=Uz.current}this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),u0(this.notifyUpdate),u0(this.render),this.valueSubscriptions.forEach((e)=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];if(t)t.unmount(),t.isMounted=!1}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e))this.valueSubscriptions.get(e)();if(t.accelerate&&Ez.has(e)&&this.current instanceof HTMLElement){let{factory:a,keyframes:i,times:s,ease:l,duration:c}=t.accelerate,u=new Sz({element:this.current,name:e,keyframes:i,times:s,ease:l,duration:Ed(c)}),d=a(u);this.valueSubscriptions.set(e,()=>{d(),u.cancel()});return}let n=ny.has(e);if(n&&this.onBindTransform)this.onBindTransform();let r=t.on("change",(a)=>{if(this.latestValues[e]=a,this.props.onUpdate&&Po.preRender(this.notifyUpdate),n&&this.projection)this.projection.isTransformDirty=!0;this.scheduleRender()}),o;if(typeof window<"u"&&window.MotionCheckAppearSync)o=window.MotionCheckAppearSync(this,e,t);this.valueSubscriptions.set(e,()=>{if(r(),o)o()})}sortNodePosition(e){if(!this.current||!this.sortInstanceNodePosition||this.type!==e.type)return 0;return this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in Rne){let t=Rne[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props))this.features[e]=new r(this);if(this.features[e]){let o=this.features[e];if(o.isMounted)o.update();else o.mount(),o.isMounted=!0}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):hl()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){if(e.transformTemplate||this.props.transformTemplate)this.scheduleRender();this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let n=0;nt.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);if(t!==n){if(n)this.removeValue(e);this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get()}}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);if(t)t(),this.valueSubscriptions.delete(e);delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);if(n===void 0&&t!==void 0)n=L2(t===null?void 0:t,{owner:this}),this.addValue(e,n);return n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);if(n!==void 0&&n!==null){if(typeof n==="string"&&(CE(n)||EE(n)))n=parseFloat(n);else if(typeof n!=="number"&&!Bc.test(n)&&Bc.test(t))n=A9(e,t);this.setBaseTarget(e,Qi(n)?n.get():n)}return Qi(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==="string"||typeof t==="object"){let o=BE(this.props,t,this.presenceContext?.custom);if(o)n=o[e]}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);if(r!==void 0&&!Qi(r))return r;return this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){if(!this.events[e])this.events[e]=new f3;return this.events[e].add(t)}notify(e,...t){if(this.events[e])this.events[e].notify(...t)}scheduleRenderMicrotask(){UE.render(this.render)}}var Qut,Rne;var X6e=P(()=>{Ro();Kte();J4e();n6e();yne();M2();Bz();w9();Kb();Xte();jb();Hut();q6e();D2();Gut();Zut();ane();Z6e();$1();Qut=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Rne={}});var zz;var W6e=P(()=>{jb();uut();X6e();zz=class zz extends Pne{constructor(){super(...arguments);this.KeyframeResolver=m6e}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){if(this.childSubscription)this.childSubscription(),delete this.childSubscription;let{children:e}=this.props;if(Qi(e))this.childSubscription=e.on("change",(t)=>{if(this.current)this.current.textContent=`${t}`})}}});class Pp{constructor(e){this.isMounted=!1,this.node=e}update(){}}var Xut=()=>{};function Mne(e,{style:t,vars:n},r,o){let a=e.style,i;for(i in t)a[i]=t[i];o?.applyProjectionStyles(a,r);for(i in n)a.setProperty(i,n[i])}var Y6e=()=>{};function Wut(e,t){if(t.max===t.min)return 0;return e/(t.max-t.min)*100}var M9;var Yut=P(()=>{Yb();M9={correct:(e,t)=>{if(!t.target)return e;if(typeof e==="string")if(Kn.test(e))e=parseFloat(e);else return e;let n=Wut(e,t.target.x),r=Wut(e,t.target.y);return`${n}% ${r}%`}}});var Kut;var Jut=P(()=>{Kb();ty();Kut={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,o=Bc.parse(e);if(o.length>5)return r;let a=Bc.createTransformer(e),i=typeof o[0]!=="number"?1:0,s=n.x.scale*t.x,l=n.y.scale*t.y;o[0+i]/=s,o[1+i]/=l;let c=_o(s,l,0.5);if(typeof o[2+i]==="number")o[2+i]/=c;if(typeof o[3+i]==="number")o[3+i]/=c;return a(o)}}});var _z;var K6e=P(()=>{h6e();Yut();Jut();_z={borderRadius:{...M9,applyTo:[...kz]},borderTopLeftRadius:M9,borderTopRightRadius:M9,borderBottomLeftRadius:M9,borderBottomRightRadius:M9,boxShadow:Kut}});function Hz(e,{layout:t,layoutId:n}){return ny.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!_z[e]||e==="opacity")}var J6e=P(()=>{D2();K6e()});function _E(e,t,n){let r=e.style,o=t?.style,a={};if(!r)return a;for(let i in r)if(Qi(r[i])||o&&Qi(o[i])||Hz(i,e)||n?.getValue(i)?.liveStyle!==void 0)a[i]=r[i];return a}var Dne=P(()=>{jb();J6e()});function eBn(e){return window.getComputedStyle(e)}var Lne;var jut=P(()=>{Ro();f9();D2();N4e();P6e();W6e();fne();Y6e();Dne();Lne=class Lne extends zz{constructor(){super(...arguments);this.type="html",this.renderInstance=Mne}mount(e){lh(Boolean(e.style),"motion.create() components must forward their ref to a HTML or SVG element","custom-component-ref"),super.mount(e)}readValueFromInstance(e,t){if(ny.has(t))return this.projection?.isProjecting?Wte(t):ict(e,t);else{let n=eBn(e),r=(Tte(t)?n.getPropertyValue(t):n[t])||0;return typeof r==="string"?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return gne(e,t)}build(e,t,n){FE(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return _E(e,t,n)}}});var Bne;var j6e=P(()=>{Bne=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"])});var Vz=(e)=>typeof e==="string"&&e.toLowerCase()==="svg";var $6e=()=>{};function $ut(e,t,n,r){Mne(e,t,void 0,r);for(let o in t.attrs)e.setAttribute(!Bne.has(o)?I9(o):o,t.attrs[o])}var edt=P(()=>{sne();Y6e();j6e()});function Gz(e,t,n){let r=_E(e,t,n);for(let o in e)if(Qi(e[o])||Qi(t[o])){let a=Jb.indexOf(o)!==-1?"attr"+o.charAt(0).toUpperCase()+o.substring(1):o;r[a]=e[o]}return r}var eCe=P(()=>{jb();D2();Dne()});var One;var tdt=P(()=>{D2();O4e();Bz();W6e();sne();x6e();j6e();$6e();edt();eCe();One=class One extends zz{constructor(){super(...arguments);this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=hl}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(ny.has(t)){let n=Qte(t);return n?n.default||0:0}if(b6e.includes(t)){let r=getComputedStyle(e)[t];if(typeof r==="string"&&r)return r.trim()}return t=!Bne.has(t)?I9(t):t,e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return Gz(e,t,n)}build(e,t,n){Pz(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){$ut(e,t,n,r)}mount(e){this.isSVGTag=Vz(e.tagName),super.mount(e)}}});function tCe(e){if(!e)return;if(!e.isControllingVariants){let n=e.parent?tCe(e.parent)||{}:{};if(e.props.initial!==void 0)n.initial=e.props.initial;return n}let t={};for(let n=0;n{Oz();Tne();tBn=P9.length});function nCe(e,t){if(!Array.isArray(t))return!1;let n=t.length;if(n!==e.length)return!1;for(let r=0;r{};function oBn(e){return(t)=>Promise.all(t.map(({animation:n,options:r})=>$ct(e,n,r)))}function rCe(e){let t=oBn(e),n=odt(),r=!0,o=!1,a=(c)=>(u,d)=>{let p=kg(e,d,c==="exit"?e.presenceContext?.custom:void 0);if(p){let{transition:f,transitionEnd:m,...g}=p;u={...u,...g,...m}}return u};function i(c){t=c(e)}function s(c){let{props:u}=e,d=tCe(e.parent)||{},p=[],f=new Set,m={},g=1/0;for(let y=0;yg&&C,L=!1,O=Array.isArray(w)?w:[w],B=O.reduce(a(x),{});if(E===!1)B={};let{prevResolvedValues:U={}}=A,D={...U,...B},N=(Z)=>{if(k=!0,f.has(Z))L=!0,f.delete(Z);A.needsAnimating[Z]=!0;let q=e.getValue(Z);if(q)q.liveStyle=!1};for(let Z in D){let q=B[Z],H=U[Z];if(m.hasOwnProperty(Z))continue;let te=!1;if(Iz(q)&&Iz(H))te=!nCe(q,H)||I;else te=q!==H;if(te)if(q!==void 0&&q!==null)N(Z);else f.add(Z);else if(q!==void 0&&f.has(Z))N(Z);else A.protectedKeys[Z]=!0}if(A.prevProp=w,A.prevResolvedValues=B,A.isActive)m={...m,...B};if((r||o)&&e.blockInitialAnimation)k=!1;let _=T&&I;if(k&&(!_||L))p.push(...O.map((Z)=>{let q={type:x};if(typeof Z==="string"&&(r||o)&&!_&&e.manuallyAnimateOnMount&&e.parent){let{parent:H}=e,te=kg(H,Z);if(H.enteringChildren&&te){let{delayChildren:ie}=te.transition||{};q.delay=tne(H.enteringChildren,e,ie)}}return{animation:Z,options:q}}))}if(f.size){let y={};if(typeof u.initial!=="boolean"){let x=kg(e,Array.isArray(u.initial)?u.initial[0]:u.initial);if(x&&x.transition)y.transition=x.transition}f.forEach((x)=>{let A=e.getBaseTarget(x),w=e.getValue(x);if(w)w.liveStyle=!0;y[x]=A??null}),p.push({animation:y})}let v=Boolean(p.length);if(r&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount)v=!1;return r=!1,o=!1,v?t(p):Promise.resolve()}function l(c,u){if(n[c].isActive===u)return Promise.resolve();e.variantChildren?.forEach((p)=>p.animationState?.setActive(c,u)),n[c].isActive=u;let d=s(c);for(let p in n)n[p].protectedKeys={};return d}return{animateChanges:s,setActive:l,setAnimateFunction:i,getState:()=>n,reset:()=>{n=odt(),o=!0}}}function adt(e,t){if(typeof t==="string")return t!==e;else if(Array.isArray(t))return!nCe(t,e);return!1}function HE(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function odt(){return{animate:HE(!0),whileInView:HE(),whileHover:HE(),whileTap:HE(),whileDrag:HE(),whileFocus:HE(),exit:HE()}}var nBn,rBn;var idt=P(()=>{eut();o6e();ndt();Ene();l6e();Oz();C9();rdt();Tne();nBn=[...Ine].reverse(),rBn=Ine.length});function Fne(e,t){e.min=t.min,e.max=t.max}function ay(e,t){Fne(e.x,t.x),Fne(e.y,t.y)}function oCe(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var sdt=()=>{};function Id(e){return e.max-e.min}function lCe(e,t,n){return Math.abs(e-t)<=n}function aCe(e,t,n,r=0.5){if(e.origin=r,e.originPoint=_o(t.min,t.max,e.origin),e.scale=Id(n)/Id(t),e.translate=_o(n.min,n.max,e.origin)-e.originPoint,e.scale>=aBn&&e.scale<=iBn||isNaN(e.scale))e.scale=1;if(e.translate>=sBn&&e.translate<=lBn||isNaN(e.translate))e.translate=0}function VE(e,t,n,r){aCe(e.x,t.x,n.x,r?r.originX:void 0),aCe(e.y,t.y,n.y,r?r.originY:void 0)}function iCe(e,t,n,r=0){let o=r?_o(n.min,n.max,r):n.min;e.min=o+t.min,e.max=e.min+Id(t)}function cCe(e,t,n,r){iCe(e.x,t.x,n.x,r?.x),iCe(e.y,t.y,n.y,r?.y)}function sCe(e,t,n,r=0){let o=r?_o(n.min,n.max,r):n.min;e.min=t.min-o,e.max=e.min+Id(t)}function D9(e,t,n,r){sCe(e.x,t.x,n.x,r?.x),sCe(e.y,t.y,n.y,r?.y)}var ldt=0.0001,aBn,iBn,cdt=0.01,sBn,lBn;var Une=P(()=>{ty();aBn=1-ldt,iBn=1+ldt,sBn=0-cdt,lBn=0+cdt});function udt(e,t,n,r,o){if(e-=t,e=Dz(e,1/n,r),o!==void 0)e=Dz(e,1/o,r);return e}function cBn(e,t=0,n=1,r=0.5,o,a=e,i=e){if(um.test(t))t=parseFloat(t),t=_o(i.min,i.max,t/100)-i.min;if(typeof t!=="number")return;let s=_o(a.min,a.max,r);if(e===a)s-=t;e.min=udt(e.min,t,n,s,o),e.max=udt(e.max,t,n,s,o)}function ddt(e,t,[n,r,o],a,i){cBn(e,t[n],t[r],t[o],t.scale,a,i)}function uCe(e,t,n,r){ddt(e.x,t,uBn,n?n.x:void 0,r?r.x:void 0),ddt(e.y,t,dBn,n?n.y:void 0,r?r.y:void 0)}var uBn,dBn;var pdt=P(()=>{ty();Yb();hne();uBn=["x","scaleX","originX"],dBn=["y","scaleY","originY"]});function fdt(e){return e.translate===0&&e.scale===1}function dCe(e){return fdt(e.x)&&fdt(e.y)}function mdt(e,t){return e.min===t.min&&e.max===t.max}function gdt(e,t){return mdt(e.x,t.x)&&mdt(e.y,t.y)}function hdt(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function pCe(e,t){return hdt(e.x,t.x)&&hdt(e.y,t.y)}function fCe(e){return Id(e.x)/Id(e.y)}function mCe(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}var ydt=P(()=>{Une()});function Rg(e){return[e("x"),e("y")]}var hCe=()=>{};function vdt(e,t,n){let r="",o=e.x.translate/t.x,a=e.y.translate/t.y,i=n?.z||0;if(o||a||i)r=`translate3d(${o}px, ${a}px, ${i}px) `;if(t.x!==1||t.y!==1)r+=`scale(${1/t.x}, ${1/t.y}) `;if(n){let{transformPerspective:c,rotate:u,pathRotation:d,rotateX:p,rotateY:f,skewX:m,skewY:g}=n;if(c)r=`perspective(${c}px) ${r}`;if(u)r+=`rotate(${u}deg) `;if(d)r+=`rotate(${d}deg) `;if(p)r+=`rotateX(${p}deg) `;if(f)r+=`rotateY(${f}deg) `;if(m)r+=`skewX(${m}deg) `;if(g)r+=`skewY(${g}deg) `}let s=e.x.scale*t.x,l=e.y.scale*t.y;if(s!==1||l!==1)r+=`scale(${s}, ${l})`;return r||"none"}var bdt=()=>{};function Sdt(e,t,n,r,o,a){if(o)e.opacity=_o(0,n.opacity??1,fBn(r)),e.opacityExit=_o(t.opacity??1,0,mBn(r));else if(a)e.opacity=_o(t.opacity??1,n.opacity??1,r);for(let i=0;i{if(rt)return 1;return n(Zb(e,t,r))}}var pBn,xdt=(e)=>typeof e==="string"?parseFloat(e):e,Adt=(e)=>typeof e==="number"||Kn.test(e),fBn,mBn;var Edt=P(()=>{ty();Yb();Ro();h6e();pBn=kz.length;fBn=Cdt(0,0.5,uz),mBn=Cdt(0.5,0.95,Lc)});function Idt(e,t,n){let r=Qi(e)?e:L2(e);return r.start(LE("",r,t,n)),r.animation}var Tdt=P(()=>{one();w9();jb()});function ex(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}var gCe=()=>{};var kdt=(e,t)=>e.depth-t.depth;var Rdt=()=>{};class yCe{constructor(){this.children=[],this.isDirty=!1}add(e){SE(this.children,e),this.isDirty=!0}remove(e){c6(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(kdt),this.isDirty=!1,this.children.forEach(e)}}var Pdt=P(()=>{Ro();Rdt()});function Mdt(e,t){let n=ts.now(),r=({timestamp:o})=>{let a=o-n;if(a>=t)u0(r),e(a-t)};return Po.setup(r,!0),()=>u0(r)}var Ddt=P(()=>{M2();$1()});function GE(e){return Qi(e)?e.get():e}var vCe=P(()=>{jb()});class bCe{constructor(){this.members=[]}add(e){SE(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;if((!r||r.isConnected===!1)&&!n.snapshot)c6(this.members,n),n.unmount()}e.scheduleRender()}remove(e){if(c6(this.members,e),e===this.prevLead)this.prevLead=void 0;if(e===this.lead){let t=this.members[this.members.length-1];if(t)this.promote(t)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let n=this.members[t];if(n.isPresent!==!1&&n.instance?.isConnected!==!1)return this.promote(n),!0}return!1}promote(e,t){let n=this.lead;if(e===n)return;if(this.prevLead=n,this.lead=e,e.show(),n){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:o}=e.options;if(r===void 0||r!==o){if(e.resumeFrom=n,t)n.preserveOpacity=!0;if(n.snapshot)e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues;if(e.root?.isUpdating)e.isLayoutDirty=!0}if(e.options.crossfade===!1)n.hide()}}exitAnimationComplete(){this.members.forEach((e)=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach((e)=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){if(this.lead?.snapshot)this.lead.snapshot=void 0}}var Ldt=P(()=>{Ro()});var qE;var xCe=P(()=>{qE={hasAnimatedSinceResize:!0,hasEverUpdated:!1}});function wCe(e,t,n,r){let{latestValues:o}=t;if(o[e]){if(n[e]=o[e],t.setStaticValue(e,0),r)r[e]=0}}function Vdt(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=lne(t);if(window.MotionHasOptimisedAnimation(n,"transform")){let{layout:o,layoutId:a}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Po,!(o||a))}let{parent:r}=e;if(r&&!r.hasCheckedOptimisedAppear)Vdt(r)}function Nne({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:o}){return class{constructor(i={},s=t?.()){this.id=gBn++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{if(this.isUpdating)this.isUpdating=!1,this.clearAllSnapshots()},this.updateProjection=()=>{if(this.projectionUpdateScheduled=!1,zE.value)ZE.nodes=ZE.calculatedTargetDeltas=ZE.calculatedProjections=0;if(this.nodes.forEach(bBn),this.nodes.forEach(EBn),this.nodes.forEach(IBn),this.nodes.forEach(xBn),zE.addProjectionMetrics)zE.addProjectionMetrics(ZE)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=i,this.root=s?s.root||s:this,this.path=s?[...s.path,s]:[],this.parent=s,this.depth=s?s.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;Po.read(()=>{d=window.innerWidth}),e(i,()=>{let f=window.innerWidth;if(f===d)return;if(d=f,this.root.updateBlockedByResize=!0,u&&u(),u=Mdt(p,250),qE.hasAnimatedSinceResize)qE.hasAnimatedSinceResize=!1,this.nodes.forEach(Fdt)})}if(s)this.root.registerSharedNode(s,this);if(this.options.animate!==!1&&c&&(s||l))this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:d,hasRelativeLayoutChanged:p,layout:f})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let m=this.options.transition||c.getDefaultTransition()||MBn,{onLayoutAnimationStart:g,onLayoutAnimationComplete:v}=c.getProps(),y=!this.targetLayout||!pCe(this.targetLayout,f),x=!d&&p;if(this.options.layoutRoot||this.resumeFrom||x||d&&(y||!this.currentAnimation)){if(this.resumeFrom)this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0;let A={...S9(m,"layout"),onPlay:g,onComplete:v};if(c.shouldReduceMotion||this.options.layoutRoot)A.delay=0,A.type=!1;this.startAnimation(A),this.setAnimationOrigin(u,x,A.path)}else{if(!d)Fdt(this);if(this.isLead()&&this.options.onExitComplete)this.options.onExitComplete()}this.targetLayout=f})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let i=this.getStack();i&&i.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),u0(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){if(this.isUpdateBlocked())return;this.isUpdating=!0,this.nodes&&this.nodes.forEach(TBn),this.animationId++}getTransformTemplate(){let{visualElement:i}=this.options;return i&&i.getProps().transformTemplate}willUpdate(i=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear)Vdt(this);if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u{if(this.isLayoutDirty)this.root.didUpdate();else this.root.checkUpdateFailed()})}updateSnapshot(){if(this.snapshot||!this.instance)return;if(this.snapshot=this.measure(),this.snapshot&&!Id(this.snapshot.measuredBox.x)&&!Id(this.snapshot.measuredBox.y))this.snapshot=void 0}updateLayout(){if(!this.instance)return;if(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty)return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{let T=E/1000,I=C?.(T);if(I)p.x.translate=I.x,p.x.scale=_o(i.x.scale,1,T),p.x.origin=i.x.origin,p.x.originPoint=i.x.originPoint,p.y.translate=I.y,p.y.scale=_o(i.y.scale,1,T),p.y.origin=i.y.origin,p.y.originPoint=i.y.originPoint;else Udt(p.x,i.x,T),Udt(p.y,i.y,T);if(this.setTargetDelta(p),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){if(D9(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),RBn(this.relativeTarget,this.relativeTargetOrigin,f,T),w&&gdt(this.relativeTarget,w))this.isProjectionDirty=!1;if(!w)w=hl();ay(w,this.relativeTarget)}if(v)this.animationValues=d,Sdt(d,u,this.latestValues,T,A,x);if(I&&I.rotate!==void 0){if(!this.animationValues)this.animationValues=d;this.animationValues.pathRotation=I.rotate}this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=T},this.mixTargetDelta(this.options.layoutRoot?1000:0)}startAnimation(i){if(this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation)u0(this.pendingAnimation),this.pendingAnimation=void 0;this.pendingAnimation=Po.update(()=>{if(qE.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=L2(0)),this.motionValue.jump(0,!1),this.currentAnimation=Idt(this.motionValue,[0,1000],{...i,velocity:0,isSync:!0,onUpdate:(s)=>{this.mixTargetDelta(s),i.onUpdate&&i.onUpdate(s)},onComplete:()=>{i.onComplete&&i.onComplete(),this.completeAnimation()}}),Jlt(this.currentAnimation,this),this.resumingFrom)this.resumingFrom.currentAnimation=this.currentAnimation;this.pendingAnimation=void 0})}completeAnimation(){if(this.resumingFrom)this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0;let i=this.getStack();i&&i.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){if(this.currentAnimation)this.mixTargetDelta&&this.mixTargetDelta(hBn),this.currentAnimation.stop();this.completeAnimation()}applyTransformsToTarget(){let i=this.getLead(),{targetWithTransforms:s,layout:l,latestValues:c}=i,{target:u}=i;if(!s||!u||!l)return;if(this!==i&&this.layout&&l&&Gdt(this.options.animationType,this.layout.layoutBox,l.layoutBox)){u=this.target||hl();let d=Id(this.layout.layoutBox.x);u.x.min=i.target.x.min,u.x.max=u.x.min+d;let p=Id(this.layout.layoutBox.y);u.y.min=i.target.y.min,u.y.max=u.y.min+p}ay(s,u),Lz(s,c),VE(this.projectionDeltaWithTransform,this.layoutCorrected,s,c)}registerSharedNode(i,s){if(!this.sharedNodes.has(i))this.sharedNodes.set(i,new bCe);this.sharedNodes.get(i).add(s);let c=s.options.initialPromotionConfig;s.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(s):void 0})}isLead(){let i=this.getStack();return i?i.lead===this:!0}getLead(){let{layoutId:i}=this.options;return i?this.getStack()?.lead||this:this}getPrevLead(){let{layoutId:i}=this.options;return i?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:i}=this.options;if(i)return this.root.sharedNodes.get(i)}promote({needsReset:i,transition:s,preserveFollowOpacity:l}={}){let c=this.getStack();if(c)c.promote(this,l);if(i)this.projectionDelta=void 0,this.needsReset=!0;if(s)this.setOptions({transition:s})}relegate(){let i=this.getStack();if(i)return i.relegate(this);else return!1}resetSkewAndRotation(){let{visualElement:i}=this.options;if(!i)return;let s=!1,{latestValues:l}=i;if(l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)s=!0;if(!s)return;let c={};if(l.z)wCe("z",i,c,this.animationValues);for(let u=0;ui.currentAnimation?.stop()),this.root.nodes.forEach(Bdt),this.root.sharedNodes.clear()}}}function yBn(e){e.updateLayout()}function vBn(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:o}=e.options,a=t.source!==e.layout.source;if(o==="size")Rg((u)=>{let d=a?t.measuredBox[u]:t.layoutBox[u],p=Id(d);d.min=n[u].min,d.max=d.min+p});else if(o==="x"||o==="y"){let u=o==="x"?"y":"x";Fne(a?t.measuredBox[u]:t.layoutBox[u],n[u])}else if(Gdt(o,t.layoutBox,n))Rg((u)=>{let d=a?t.measuredBox[u]:t.layoutBox[u],p=Id(n[u]);if(d.max=d.min+p,e.relativeTarget&&!e.currentAnimation)e.isProjectionDirty=!0,e.relativeTarget[u].max=e.relativeTarget[u].min+p});let i=g6();VE(i,n,t.layoutBox);let s=g6();if(a)VE(s,e.applyTransform(r,!0),t.measuredBox);else VE(s,n,t.layoutBox);let l=!dCe(i),c=!1;if(!e.resumeFrom){let u=e.getClosestProjectingParent();if(u&&!u.resumeFrom){let{snapshot:d,layout:p}=u;if(d&&p){let f=e.options.layoutAnchor||void 0,m=hl();D9(m,t.layoutBox,d.layoutBox,f);let g=hl();if(D9(g,n,p.layoutBox,f),!pCe(m,g))c=!0;if(u.options.layoutRoot)e.relativeTarget=g,e.relativeTargetOrigin=m,e.relativeParent=u}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:s,layoutDelta:i,hasLayoutChanged:l,hasRelativeLayoutChanged:c})}else if(e.isLead()){let{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function bBn(e){if(zE.value)ZE.nodes++;if(!e.parent)return;if(!e.isProjecting())e.isProjectionDirty=e.parent.isProjectionDirty;e.isSharedProjectionDirty||(e.isSharedProjectionDirty=Boolean(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty)}function xBn(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function ABn(e){e.clearSnapshot()}function Bdt(e){e.clearMeasurements()}function wBn(e){e.isLayoutDirty=!0,e.updateLayout()}function Odt(e){e.isLayoutDirty=!1}function SBn(e){if(e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty)e.snapshot=e.layout,e.isLayoutDirty=!0}function CBn(e){let{visualElement:t}=e.options;if(t&&t.getProps().onBeforeLayoutMeasure)t.notify("BeforeLayoutMeasure");e.resetTransform()}function Fdt(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function EBn(e){e.resolveTargetDelta()}function IBn(e){e.calcProjection()}function TBn(e){e.resetSkewAndRotation()}function kBn(e){e.removeLeadSnapshot()}function Udt(e,t,n){e.translate=_o(t.translate,0,n),e.scale=_o(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Ndt(e,t,n,r){e.min=_o(t.min,n.min,r),e.max=_o(t.max,n.max,r)}function RBn(e,t,n,r){Ndt(e.x,t.x,n.x,r),Ndt(e.y,t.y,n.y,r)}function PBn(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}function Hdt(e){e.min=_dt(e.min),e.max=_dt(e.max)}function DBn(e){Hdt(e.x),Hdt(e.y)}function Gdt(e,t,n){return e==="position"||e==="preserve-aspect"&&!lCe(fCe(t),fCe(n),0.2)}function LBn(e){return e!==e.root&&e.scroll?.wasRoot}var ZE,ACe,hBn=1000,gBn=0,MBn,zdt=(e)=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),_dt;var SCe=P(()=>{Ro();Tdt();Vte();d6e();rne();yne();M2();K6e();Uut();Ddt();dne();zut();ty();w9();vCe();Edt();sdt();hne();Une();pdt();Bz();ydt();Ldt();bdt();hCe();Pdt();I6e();xCe();$1();ZE={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},ACe=["","X","Y","Z"];MBn={duration:0.45,ease:[0.4,0,0.1,1]},_dt=zdt("applewebkit/")&&!zdt("chrome/")?Math.round:Lc});var qdt;var Zdt=P(()=>{gCe();SCe();qdt=Nne({attachResizeListener:(e,t)=>ex(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0})});function zne(){let e=new Set,t=new WeakMap,n=()=>e.forEach(BBn);return{add:(r)=>{e.add(r),t.set(r,r.addEventListener("willUpdate",n))},remove:(r)=>{e.delete(r);let o=t.get(r);if(o)o(),t.delete(r);n()},dirty:n}}var BBn=(e)=>!e.isLayoutDirty&&e.willUpdate(!1);var Qdt=()=>{};var _ne,qz;var Xdt=P(()=>{SCe();Zdt();_ne={current:void 0},qz=Nne({measureScroll:(e)=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!_ne.current){let e=new qdt({});e.mount(window),e.setOptions({layoutScroll:!0}),_ne.current=e}return _ne.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:(e)=>Boolean(window.getComputedStyle(e).position==="fixed")})});var ni=P(()=>{one();u6e();yne();M2();wut();Sut();Put();N6e();O6e();Fut();g6e();ty();Yb();jb();c6e();Xut();jut();tdt();X6e();idt();Ene();q6e();J6e();Oz();C9();ane();S6e();Une();Bz();hCe();P6e();gCe();vCe();Qdt();Xdt();xCe();fne();Dne();x6e();$6e();eCe();$1()});var Wdt,L9;var Hne=P(()=>{Wdt=z(re(),1),L9=Wdt.createContext({transformPagePoint:(e)=>e,isStatic:!1,reducedMotion:"never"})});function Ydt(e,t){if(typeof e==="function")return e(t);else if(e!==null&&e!==void 0)e.current=t}function OBn(...e){return(t)=>{let n=!1,r=e.map((o)=>{let a=Ydt(o,t);if(!n&&typeof a==="function")n=!0;return a});if(n)return()=>{for(let o=0;o{Kdt=z(re(),1)});function ept({children:e,isPresent:t,anchorX:n,anchorY:r,root:o,pop:a}){let i=y3.useId(),s=y3.useRef(null),l=y3.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:c}=y3.useContext(L9),u=a!==!1?e.props?.ref??e?.ref:void 0,d=Jdt(s,u);return y3.useInsertionEffect(()=>{let{width:p,height:f,top:m,left:g,right:v,bottom:y,direction:x}=l.current;if(t||a===!1||!s.current||!p||!f)return;let A=x==="rtl",w=n==="left"?A?`right: ${v}`:`left: ${g}`:A?`left: ${g}`:`right: ${v}`,C=r==="bottom"?`bottom: ${y}`:`top: ${m}`;s.current.dataset.motionPopId=i;let E=document.createElement("style");if(c)E.nonce=c;let T=o??document.head;if(T.appendChild(E),E.sheet)E.sheet.insertRule(` +var ACn = Object.create; +var { + getPrototypeOf: wCn, + defineProperty: NK, + getOwnPropertyNames: SCn, +} = Object; +var $We = Object.prototype.hasOwnProperty; +function CCn(e) { + return this[e]; +} +var ECn, + ICn, + z = (e, t, n) => { + var r = e != null && typeof e === "object"; + if (r) { + var o = t ? (ECn ??= new WeakMap()) : (ICn ??= new WeakMap()), + a = o.get(e); + if (a) return a; + } + n = e != null ? ACn(wCn(e)) : {}; + let i = + t || !e || !e.__esModule || !$We.call(e, "default") + ? NK(n, "default", { value: e, enumerable: !0 }) + : n; + if ((e && typeof e === "object") || typeof e === "function") { + for (let s of SCn(e)) + if (!$We.call(i, s)) NK(i, s, { get: CCn.bind(e, s), enumerable: !0 }); + } + if (r) o.set(e, i); + return i; + }; +var me = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports); +var TCn = (e) => e; +function kCn(e, t) { + this[e] = TCn.bind(null, t); +} +var Xs = (e, t) => { + for (var n in t) + NK(e, n, { + get: t[n], + enumerable: !0, + configurable: !0, + set: kCn.bind(t, n), + }); +}; +var P = (e, t, n) => () => { + if (e) + try { + t = e((e = 0)); + } catch (r) { + n = [r]; + } + if (n) throw n[0]; + return t; +}; +var RCn = (e, t, n) => { + for (var r in t) + NK(e, r, { get: t[r], set: n[r], enumerable: !0, configurable: !0 }); +}; +var re = me(function (XCn) { + var hve = Symbol.for("react.transitional.element"), + PCn = Symbol.for("react.portal"), + MCn = Symbol.for("react.fragment"), + DCn = Symbol.for("react.strict_mode"), + LCn = Symbol.for("react.profiler"), + BCn = Symbol.for("react.consumer"), + OCn = Symbol.for("react.context"), + FCn = Symbol.for("react.forward_ref"), + UCn = Symbol.for("react.suspense"), + NCn = Symbol.for("react.memo"), + oYe = Symbol.for("react.lazy"), + zCn = Symbol.for("react.activity"), + _Cn = Symbol.for("react.view_transition"), + eYe = Symbol.iterator; + function HCn(e) { + if (e === null || typeof e !== "object") return null; + return ( + (e = (eYe && e[eYe]) || e["@@iterator"]), + typeof e === "function" ? e : null + ); + } + var aYe = { + isMounted: function () { + return !1; + }, + enqueueForceUpdate: function () {}, + enqueueReplaceState: function () {}, + enqueueSetState: function () {}, + }, + iYe = Object.assign, + sYe = {}; + function Xk(e, t, n) { + ((this.props = e), + (this.context = t), + (this.refs = sYe), + (this.updater = n || aYe)); + } + Xk.prototype.isReactComponent = {}; + Xk.prototype.setState = function (e, t) { + if (typeof e !== "object" && typeof e !== "function" && e != null) + throw Error( + "takes an object of state variables to update or a function which returns an object of state variables.", + ); + this.updater.enqueueSetState(this, e, t, "setState"); + }; + Xk.prototype.forceUpdate = function (e) { + this.updater.enqueueForceUpdate(this, e, "forceUpdate"); + }; + function lYe() {} + lYe.prototype = Xk.prototype; + function gve(e, t, n) { + ((this.props = e), + (this.context = t), + (this.refs = sYe), + (this.updater = n || aYe)); + } + var yve = (gve.prototype = new lYe()); + yve.constructor = gve; + iYe(yve, Xk.prototype); + yve.isPureReactComponent = !0; + var tYe = Array.isArray; + function mve() {} + var Is = { H: null, A: null, T: null, S: null }, + cYe = Object.prototype.hasOwnProperty; + function vve(e, t, n) { + var r = n.ref; + return { + $$typeof: hve, + type: e, + key: t, + ref: r !== void 0 ? r : null, + props: n, + }; + } + function VCn(e, t) { + return vve(e.type, t, e.props); + } + function bve(e) { + return typeof e === "object" && e !== null && e.$$typeof === hve; + } + function GCn(e) { + var t = { "=": "=0", ":": "=2" }; + return ( + "$" + + e.replace(/[=:]/g, function (n) { + return t[n]; + }) + ); + } + var nYe = /\/+/g; + function fve(e, t) { + return typeof e === "object" && e !== null && e.key != null + ? GCn("" + e.key) + : t.toString(36); + } + function qCn(e) { + switch (e.status) { + case "fulfilled": + return e.value; + case "rejected": + throw e.reason; + default: + switch ( + (typeof e.status === "string" + ? e.then(mve, mve) + : ((e.status = "pending"), + e.then( + function (t) { + e.status === "pending" && + ((e.status = "fulfilled"), (e.value = t)); + }, + function (t) { + e.status === "pending" && + ((e.status = "rejected"), (e.reason = t)); + }, + )), + e.status) + ) { + case "fulfilled": + return e.value; + case "rejected": + throw e.reason; + } + } + throw e; + } + function Qk(e, t, n, r, o) { + var a = typeof e; + if (a === "undefined" || a === "boolean") e = null; + var i = !1; + if (e === null) i = !0; + else + switch (a) { + case "bigint": + case "string": + case "number": + i = !0; + break; + case "object": + switch (e.$$typeof) { + case hve: + case PCn: + i = !0; + break; + case oYe: + return ((i = e._init), Qk(i(e._payload), t, n, r, o)); + } + } + if (i) + return ( + (o = o(e)), + (i = r === "" ? "." + fve(e, 0) : r), + tYe(o) + ? ((n = ""), + i != null && (n = i.replace(nYe, "$&/") + "/"), + Qk(o, t, n, "", function (c) { + return c; + })) + : o != null && + (bve(o) && + (o = VCn( + o, + n + + (o.key == null || (e && e.key === o.key) + ? "" + : ("" + o.key).replace(nYe, "$&/") + "/") + + i, + )), + t.push(o)), + 1 + ); + i = 0; + var s = r === "" ? "." : r + ":"; + if (tYe(e)) + for (var l = 0; l < e.length; l++) + ((r = e[l]), (a = s + fve(r, l)), (i += Qk(r, t, n, a, o))); + else if (((l = HCn(e)), typeof l === "function")) + for (e = l.call(e), l = 0; !(r = e.next()).done;) + ((r = r.value), (a = s + fve(r, l++)), (i += Qk(r, t, n, a, o))); + else if (a === "object") { + if (typeof e.then === "function") return Qk(qCn(e), t, n, r, o); + throw ( + (t = String(e)), + Error( + "Objects are not valid as a React child (found: " + + (t === "[object Object]" + ? "object with keys {" + Object.keys(e).join(", ") + "}" + : t) + + "). If you meant to render a collection of children, use an array instead.", + ) + ); + } + return i; + } + function zK(e, t, n) { + if (e == null) return e; + var r = [], + o = 0; + return ( + Qk(e, r, "", "", function (a) { + return t.call(n, a, o++); + }), + r + ); + } + function ZCn(e) { + if (e._status === -1) { + var t = e._result, + n = t(); + (n.then( + function (r) { + if (e._status === 0 || e._status === -1) + ((e._status = 1), + (e._result = r), + n.status === void 0 && ((n.status = "fulfilled"), (n.value = r))); + }, + function (r) { + if (e._status === 0 || e._status === -1) + ((e._status = 2), + (e._result = r), + n.status === void 0 && ((n.status = "rejected"), (n.reason = r))); + }, + ), + e._status === -1 && ((e._status = 0), (e._result = n))); + } + if (e._status === 1) return e._result.default; + throw e._result; + } + var rYe = + typeof reportError === "function" + ? reportError + : function (e) { + if ( + typeof window === "object" && + typeof window.ErrorEvent === "function" + ) { + var t = new window.ErrorEvent("error", { + bubbles: !0, + cancelable: !0, + message: + typeof e === "object" && + e !== null && + typeof e.message === "string" + ? String(e.message) + : String(e), + error: e, + }); + if (!window.dispatchEvent(t)) return; + } else if ( + typeof process === "object" && + typeof process.emit === "function" + ) { + process.emit("uncaughtException", e); + return; + } + console.error(e); + }; + function uYe(e) { + var t = Is.T, + n = {}; + ((n.types = t !== null ? t.types : null), (Is.T = n)); + try { + var r = e(), + o = Is.S; + (o !== null && o(n, r), + typeof r === "object" && + r !== null && + typeof r.then === "function" && + r.then(mve, rYe)); + } catch (a) { + rYe(a); + } finally { + (t !== null && n.types !== null && (t.types = n.types), (Is.T = t)); + } + } + function dYe(e) { + var t = Is.T; + if (t !== null) { + var n = t.types; + n === null ? (t.types = [e]) : n.indexOf(e) === -1 && n.push(e); + } else uYe(dYe.bind(null, e)); + } + var QCn = { + map: zK, + forEach: function (e, t, n) { + zK( + e, + function () { + t.apply(this, arguments); + }, + n, + ); + }, + count: function (e) { + var t = 0; + return ( + zK(e, function () { + t++; + }), + t + ); + }, + toArray: function (e) { + return ( + zK(e, function (t) { + return t; + }) || [] + ); + }, + only: function (e) { + if (!bve(e)) + throw Error( + "React.Children.only expected to receive a single React element child.", + ); + return e; + }, + }; + XCn.Activity = zCn; + XCn.Children = QCn; + XCn.Component = Xk; + XCn.Fragment = MCn; + XCn.Profiler = LCn; + XCn.PureComponent = gve; + XCn.StrictMode = DCn; + XCn.Suspense = UCn; + XCn.ViewTransition = _Cn; + XCn.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Is; + XCn.__COMPILER_RUNTIME = { + __proto__: null, + c: function (e) { + return Is.H.useMemoCache(e); + }, + }; + XCn.addTransitionType = dYe; + XCn.cache = function (e) { + return function () { + return e.apply(null, arguments); + }; + }; + XCn.cacheSignal = function () { + return null; + }; + XCn.cloneElement = function (e, t, n) { + if (e === null || e === void 0) + throw Error( + "The argument must be a React element, but you passed " + e + ".", + ); + var r = iYe({}, e.props), + o = e.key; + if (t != null) + for (a in (t.key !== void 0 && (o = "" + t.key), t)) + !cYe.call(t, a) || + a === "key" || + a === "__self" || + a === "__source" || + (a === "ref" && t.ref === void 0) || + (r[a] = t[a]); + var a = arguments.length - 2; + if (a === 1) r.children = n; + else if (1 < a) { + for (var i = Array(a), s = 0; s < a; s++) i[s] = arguments[s + 2]; + r.children = i; + } + return vve(e.type, o, r); + }; + XCn.createContext = function (e) { + return ( + (e = { + $$typeof: OCn, + _currentValue: e, + _currentValue2: e, + _threadCount: 0, + Provider: null, + Consumer: null, + }), + (e.Provider = e), + (e.Consumer = { $$typeof: BCn, _context: e }), + e + ); + }; + XCn.createElement = function (e, t, n) { + var r, + o = {}, + a = null; + if (t != null) + for (r in (t.key !== void 0 && (a = "" + t.key), t)) + cYe.call(t, r) && + r !== "key" && + r !== "__self" && + r !== "__source" && + (o[r] = t[r]); + var i = arguments.length - 2; + if (i === 1) o.children = n; + else if (1 < i) { + for (var s = Array(i), l = 0; l < i; l++) s[l] = arguments[l + 2]; + o.children = s; + } + if (e && e.defaultProps) + for (r in ((i = e.defaultProps), i)) o[r] === void 0 && (o[r] = i[r]); + return vve(e, a, o); + }; + XCn.createRef = function () { + return { current: null }; + }; + XCn.forwardRef = function (e) { + return { $$typeof: FCn, render: e }; + }; + XCn.isValidElement = bve; + XCn.lazy = function (e) { + return { $$typeof: oYe, _payload: { _status: -1, _result: e }, _init: ZCn }; + }; + XCn.memo = function (e, t) { + return { $$typeof: NCn, type: e, compare: t === void 0 ? null : t }; + }; + XCn.startTransition = uYe; + XCn.unstable_useCacheRefresh = function () { + return Is.H.useCacheRefresh(); + }; + XCn.use = function (e) { + return Is.H.use(e); + }; + XCn.useActionState = function (e, t, n) { + return Is.H.useActionState(e, t, n); + }; + XCn.useCallback = function (e, t) { + return Is.H.useCallback(e, t); + }; + XCn.useContext = function (e) { + return Is.H.useContext(e); + }; + XCn.useDebugValue = function () {}; + XCn.useDeferredValue = function (e, t) { + return Is.H.useDeferredValue(e, t); + }; + XCn.useEffect = function (e, t) { + return Is.H.useEffect(e, t); + }; + XCn.useEffectEvent = function (e) { + return Is.H.useEffectEvent(e); + }; + XCn.useId = function () { + return Is.H.useId(); + }; + XCn.useImperativeHandle = function (e, t, n) { + return Is.H.useImperativeHandle(e, t, n); + }; + XCn.useInsertionEffect = function (e, t) { + return Is.H.useInsertionEffect(e, t); + }; + XCn.useLayoutEffect = function (e, t) { + return Is.H.useLayoutEffect(e, t); + }; + XCn.useMemo = function (e, t) { + return Is.H.useMemo(e, t); + }; + XCn.useOptimistic = function (e, t) { + return Is.H.useOptimistic(e, t); + }; + XCn.useReducer = function (e, t, n) { + return Is.H.useReducer(e, t, n); + }; + XCn.useRef = function (e) { + return Is.H.useRef(e); + }; + XCn.useState = function (e) { + return Is.H.useState(e); + }; + XCn.useSyncExternalStore = function (e, t, n) { + return Is.H.useSyncExternalStore(e, t, n); + }; + XCn.useTransition = function () { + return Is.H.useTransition(); + }; + XCn.version = "19.3.0"; +}); +var ZK = me(function (Kk) { + function Ave(e, t) { + var n = e.length; + e.push(t); + e: for (; 0 < n;) { + var r = (n - 1) >>> 1, + o = e[r]; + if (0 < _K(o, t)) ((e[r] = t), (e[n] = o), (n = r)); + else break e; + } + } + function jv(e) { + return e.length === 0 ? null : e[0]; + } + function qK(e) { + if (e.length === 0) return null; + var t = e[0], + n = e.pop(); + if (n !== t) { + e[0] = n; + e: for (var r = 0, o = e.length, a = o >>> 1; r < a;) { + var i = 2 * (r + 1) - 1, + s = e[i], + l = i + 1, + c = e[l]; + if (0 > _K(s, n)) + l < o && 0 > _K(c, s) + ? ((e[r] = c), (e[l] = n), (r = l)) + : ((e[r] = s), (e[i] = n), (r = i)); + else if (l < o && 0 > _K(c, n)) ((e[r] = c), (e[l] = n), (r = l)); + else break e; + } + } + return t; + } + function _K(e, t) { + var n = e.sortIndex - t.sortIndex; + return n !== 0 ? n : e.id - t.id; + } + Kk.unstable_now = void 0; + if (typeof performance === "object" && typeof performance.now === "function") + ((wve = performance), + (Kk.unstable_now = function () { + return wve.now(); + })); + else + ((HK = Date), + (Sve = HK.now()), + (Kk.unstable_now = function () { + return HK.now() - Sve; + })); + var wve, + HK, + Sve, + RA = [], + QS = [], + N5n = 1, + x1 = null, + tm = 3, + Cve = !1, + EF = !1, + IF = !1, + Ive = !1, + fYe = typeof setTimeout === "function" ? setTimeout : null, + mYe = typeof clearTimeout === "function" ? clearTimeout : null, + pYe = typeof setImmediate < "u" ? setImmediate : null; + function VK(e) { + for (var t = jv(QS); t !== null;) { + if (t.callback === null) qK(QS); + else if (t.startTime <= e) + (qK(QS), (t.sortIndex = t.expirationTime), Ave(RA, t)); + else break; + t = jv(QS); + } + } + function Tve(e) { + if (((IF = !1), VK(e), !EF)) + if (jv(RA) !== null) ((EF = !0), Yk || ((Yk = !0), Wk())); + else { + var t = jv(QS); + t !== null && kve(Tve, t.startTime - e); + } + } + var Yk = !1, + TF = -1, + hYe = 5, + gYe = -1; + function yYe() { + return Ive ? !0 : Kk.unstable_now() - gYe < hYe ? !1 : !0; + } + function xve() { + if (((Ive = !1), Yk)) { + var e = Kk.unstable_now(); + gYe = e; + var t = !0; + try { + e: { + ((EF = !1), IF && ((IF = !1), mYe(TF), (TF = -1)), (Cve = !0)); + var n = tm; + try { + t: { + VK(e); + for ( + x1 = jv(RA); + x1 !== null && !(x1.expirationTime > e && yYe()); + ) { + var r = x1.callback; + if (typeof r === "function") { + ((x1.callback = null), (tm = x1.priorityLevel)); + var o = r(x1.expirationTime <= e); + if (((e = Kk.unstable_now()), typeof o === "function")) { + ((x1.callback = o), VK(e), (t = !0)); + break t; + } + (x1 === jv(RA) && qK(RA), VK(e)); + } else qK(RA); + x1 = jv(RA); + } + if (x1 !== null) t = !0; + else { + var a = jv(QS); + (a !== null && kve(Tve, a.startTime - e), (t = !1)); + } + } + break e; + } finally { + ((x1 = null), (tm = n), (Cve = !1)); + } + t = void 0; + } + } finally { + t ? Wk() : (Yk = !1); + } + } + } + var Wk; + if (typeof pYe === "function") + Wk = function () { + pYe(xve); + }; + else if (typeof MessageChannel < "u") + ((GK = new MessageChannel()), + (Eve = GK.port2), + (GK.port1.onmessage = xve), + (Wk = function () { + Eve.postMessage(null); + })); + else + Wk = function () { + fYe(xve, 0); + }; + var GK, Eve; + function kve(e, t) { + TF = fYe(function () { + e(Kk.unstable_now()); + }, t); + } + Kk.unstable_IdlePriority = 5; + Kk.unstable_ImmediatePriority = 1; + Kk.unstable_LowPriority = 4; + Kk.unstable_NormalPriority = 3; + Kk.unstable_Profiling = null; + Kk.unstable_UserBlockingPriority = 2; + Kk.unstable_cancelCallback = function (e) { + e.callback = null; + }; + Kk.unstable_forceFrameRate = function (e) { + 0 > e || 125 < e + ? console.error( + "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported", + ) + : (hYe = 0 < e ? Math.floor(1000 / e) : 5); + }; + Kk.unstable_getCurrentPriorityLevel = function () { + return tm; + }; + Kk.unstable_next = function (e) { + switch (tm) { + case 1: + case 2: + case 3: + var t = 3; + break; + default: + t = tm; + } + var n = tm; + tm = t; + try { + return e(); + } finally { + tm = n; + } + }; + Kk.unstable_requestPaint = function () { + Ive = !0; + }; + Kk.unstable_runWithPriority = function (e, t) { + switch (e) { + case 1: + case 2: + case 3: + case 4: + case 5: + break; + default: + e = 3; + } + var n = tm; + tm = e; + try { + return t(); + } finally { + tm = n; + } + }; + Kk.unstable_scheduleCallback = function (e, t, n) { + var r = Kk.unstable_now(); + switch ( + (typeof n === "object" && n !== null + ? ((n = n.delay), (n = typeof n === "number" && 0 < n ? r + n : r)) + : (n = r), + e) + ) { + case 1: + var o = -1; + break; + case 2: + o = 250; + break; + case 5: + o = 1073741823; + break; + case 4: + o = 1e4; + break; + default: + o = 5000; + } + return ( + (o = n + o), + (e = { + id: N5n++, + callback: t, + priorityLevel: e, + startTime: n, + expirationTime: o, + sortIndex: -1, + }), + n > r + ? ((e.sortIndex = n), + Ave(QS, e), + jv(RA) === null && + e === jv(QS) && + (IF ? (mYe(TF), (TF = -1)) : (IF = !0), kve(Tve, n - r))) + : ((e.sortIndex = o), + Ave(RA, e), + EF || Cve || ((EF = !0), Yk || ((Yk = !0), Wk()))), + e + ); + }; + Kk.unstable_shouldYield = yYe; + Kk.unstable_wrapCallback = function (e) { + var t = tm; + return function () { + var n = tm; + tm = t; + try { + return e.apply(this, arguments); + } finally { + tm = n; + } + }; + }; +}); +function xYe(e) { + var t = "https://react.dev/errors/" + e; + if (1 < arguments.length) { + t += "?args[]=" + encodeURIComponent(arguments[1]); + for (var n = 2; n < arguments.length; n++) + t += "&args[]=" + encodeURIComponent(arguments[n]); + } + return ( + "Minified React error #" + + e + + "; visit " + + t + + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." + ); +} +function WS() {} +function t8n(e, t, n) { + var r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null; + return { + $$typeof: e8n, + key: r == null ? null : r === vYe ? vYe : "" + r, + children: e, + containerInfo: t, + implementation: n, + }; +} +var bYe, + kF, + e8n, + vYe, + Rve, + Pve, + mf = function (e, t) { + var n = + 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null; + if (!t || (t.nodeType !== 1 && t.nodeType !== 9 && t.nodeType !== 11)) + throw Error(xYe(299)); + return t8n(e, t, null, n); + }, + Ec = function (e) { + var t = Rve.T, + n = kF.p; + try { + if (((Rve.T = null), (kF.p = 2), e)) return e(); + } finally { + ((Rve.T = t), (kF.p = n), kF.d.f()); + } + }, + Jk = function (e, t) { + return e(t); + }; +var AYe = P(() => { + bYe = z(re()); + ((kF = { + d: { + f: WS, + r: function () { + throw Error(xYe(522)); + }, + D: WS, + C: WS, + L: WS, + m: WS, + X: WS, + S: WS, + M: WS, + }, + p: 0, + findDOMNode: null, + }), + (e8n = Symbol.for("react.portal")), + (vYe = Symbol.for("react.optimistic_key"))); + Rve = bYe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; + Pve = kF; +}); +function wYe() { + if ( + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== "function" + ) + return; + try { + __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(wYe); + } catch (e) { + console.error(e); + } +} +var bd = P(() => { + AYe(); + wYe(); +}); +function pTn(e, t) { + this[e] = dTn.bind(null, t); +} +function AAe(e, t = !1) { + return window.__TAURI_INTERNALS__.transformCallback(e, t); +} +class Cj { + plugin; + event; + channelId; + constructor(e, t, n) { + ((this.plugin = e), (this.event = t), (this.channelId = n)); + } + async unregister() { + return m2(`plugin:${this.plugin}|remove_listener`, { + event: this.event, + channelId: this.channelId, + }); + } +} +async function hTn(e, t, n) { + let r = new wAe(n); + try { + return ( + await m2(`plugin:${e}|register_listener`, { event: t, handler: r }), + new Cj(e, t, r.id) + ); + } catch { + return ( + await m2(`plugin:${e}|registerListener`, { event: t, handler: r }), + new Cj(e, t, r.id) + ); + } +} +async function gTn(e) { + return m2(`plugin:${e}|check_permissions`); +} +async function yTn(e) { + return m2(`plugin:${e}|request_permissions`); +} +async function m2(e, t = {}, n) { + return window.__TAURI_INTERNALS__.invoke(e, t, n); +} +function vTn(e, t = "asset") { + return window.__TAURI_INTERNALS__.convertFileSrc(e, t); +} +function bTn() { + return !!(globalThis || window).isTauri; +} +async function oet(e, t) { + (window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e, t), + await m2("plugin:event|unlisten", { event: e, eventId: t })); +} +async function pb(e, t, n) { + let r = + typeof n?.target === "string" + ? { kind: "AnyLabel", label: n.target } + : (n?.target ?? { kind: "Any" }); + return m2("plugin:event|listen", { + event: e, + target: r, + handler: AAe(t), + }).then((o) => async () => oet(e, o)); +} +async function xTn(e, t, n) { + return pb( + e, + (r) => { + (oet(e, r.id), t(r)); + }, + n, + ); +} +async function ATn(e, t) { + await m2("plugin:event|emit", { event: e, payload: t }); +} +async function SAe(e, t, n) { + await m2("plugin:event|emit_to", { + target: typeof e === "string" ? { kind: "AnyLabel", label: e } : e, + event: t, + payload: n, + }); +} +var uTn, + dTn = (e) => e, + tet = (e, t) => { + for (var n in t) + uTn(e, n, { + get: t[n], + enumerable: !0, + configurable: !0, + set: pTn.bind(t, n), + }); + }, + fTn, + mTn, + xAe = "__TAURI_TO_IPC_KEY__", + wAe, + net, + ret; +var ZR = P(() => { + uTn = Object.defineProperty; + fTn = {}; + tet(fTn, { + TauriEvent: () => ret, + emit: () => ATn, + emitTo: () => SAe, + listen: () => pb, + once: () => xTn, + }); + mTn = {}; + tet(mTn, { + Channel: () => wAe, + PluginListener: () => Cj, + Resource: () => net, + SERIALIZE_TO_IPC_FN: () => xAe, + addPluginListener: () => hTn, + checkPermissions: () => gTn, + convertFileSrc: () => vTn, + invoke: () => m2, + isTauri: () => bTn, + requestPermissions: () => yTn, + transformCallback: () => AAe, + }); + wAe = class wAe { + id; + #e; + #t = 0; + #n = []; + #r; + constructor(e) { + ((this.#e = e || (() => {})), + (this.id = AAe((t) => { + let n = t.index; + if ("end" in t) { + if (n == this.#t) this.cleanupCallback(); + else this.#r = n; + return; + } + let r = t.message; + if (n == this.#t) { + (this.#e(r), (this.#t += 1)); + while (this.#t in this.#n) { + let o = this.#n[this.#t]; + (this.#e(o), delete this.#n[this.#t], (this.#t += 1)); + } + if (this.#t === this.#r) this.cleanupCallback(); + } else this.#n[n] = r; + }))); + } + cleanupCallback() { + window.__TAURI_INTERNALS__.unregisterCallback(this.id); + } + set onmessage(e) { + this.#e = e; + } + get onmessage() { + return this.#e; + } + [xAe]() { + return `__CHANNEL__:${this.id}`; + } + toJSON() { + return this[xAe](); + } + }; + net = class net { + #e; + get rid() { + return this.#e; + } + constructor(e) { + this.#e = e; + } + async close() { + return m2("plugin:resources|close", { rid: this.rid }); + } + async [Symbol.asyncDispose]() { + await this.close(); + } + }; + ((e) => { + ((e.WINDOW_RESIZED = "tauri://resize"), + (e.WINDOW_MOVED = "tauri://move"), + (e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested"), + (e.WINDOW_DESTROYED = "tauri://destroyed"), + (e.WINDOW_FOCUS = "tauri://focus"), + (e.WINDOW_BLUR = "tauri://blur"), + (e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change"), + (e.WINDOW_THEME_CHANGED = "tauri://theme-changed"), + (e.WINDOW_CREATED = "tauri://window-created"), + (e.WINDOW_SUSPENDED = "tauri://suspended"), + (e.WINDOW_RESUMED = "tauri://resumed"), + (e.WEBVIEW_CREATED = "tauri://webview-created"), + (e.DRAG_ENTER = "tauri://drag-enter"), + (e.DRAG_OVER = "tauri://drag-over"), + (e.DRAG_DROP = "tauri://drag-drop"), + (e.DRAG_LEAVE = "tauri://drag-leave")); + })((ret ||= {})); +}); +var CAe; +var EAe = P(() => { + CAe = [ + "CoreStarted", + "CoreShutdown", + "LibraryCreated", + "LibraryOpened", + "LibraryClosed", + "LibraryDeleted", + "LibraryStatisticsUpdated", + "EntryCreated", + "EntryModified", + "EntryDeleted", + "EntryMoved", + "FsRawChange", + "VolumeAdded", + "VolumeRemoved", + "VolumeUpdated", + "VolumeSpeedTested", + "VolumeMountChanged", + "VolumeError", + "JobQueued", + "JobStarted", + "JobProgress", + "JobCompleted", + "JobFailed", + "JobCancelled", + "JobPaused", + "JobResumed", + "IndexingStarted", + "IndexingCompleted", + "IndexingFailed", + "DeviceConnected", + "DeviceDisconnected", + "ResourceChanged", + "ResourceChangedBatch", + "ResourceDeleted", + "LocationAdded", + "LocationRemoved", + "FilesIndexed", + "ThumbnailsGenerated", + "FileOperationCompleted", + "FilesModified", + ]; +}); +class Ej { + eventName; + scopedEvents; + invoke; + listen; + constructor(e, t, n = "core-event", r = !1) { + this.eventName = n; + this.scopedEvents = r; + ((this.invoke = e), (this.listen = t)); + } + async sendRequest(e) { + return await this.invoke("daemon_request", { request: e }); + } + async subscribe(e, t) { + let n = { eventTypes: t?.event_types ?? CAe, filter: t?.filter ?? null }, + r, + o = [], + a = await this.listen(this.eventName, (i) => { + let s = i.payload; + if (!this.scopedEvents) { + e(s); + return; + } + if (r === void 0) { + o.push(s); + return; + } + if (s?.subscription_id === r) e(s.event); + }); + try { + if ( + ((r = await this.invoke("subscribe_to_events", n)), this.scopedEvents) + ) { + for (let i of o) if (i?.subscription_id === r) e(i.event); + o.length = 0; + } + } catch (i) { + throw (a(), i); + } + return async () => { + a(); + try { + await this.invoke("unsubscribe_from_events", { subscriptionId: r }); + } catch (i) { + console.warn("[TauriTransport] Failed to unsubscribe:", i); + } + }; + } +} +class Ij { + baseUrl; + sharedSource = null; + sharedCallbacks = new Set(); + constructor(e = "") { + this.baseUrl = e.replace(/\/$/, ""); + } + async sendRequest(e) { + let t = await fetch(`${this.baseUrl}/rpc`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(e), + }); + if (!t.ok) { + let n = await t.text().catch(() => ""); + throw Error(`RPC ${t.status} ${t.statusText}${n ? `: ${n}` : ""}`); + } + return await t.json(); + } + async subscribe(e, t) { + return ( + this.sharedCallbacks.add(e), + this.ensureSharedSource(), + () => { + if ( + (this.sharedCallbacks.delete(e), + this.sharedCallbacks.size === 0 && this.sharedSource) + ) + (this.sharedSource.close(), (this.sharedSource = null)); + } + ); + } + ensureSharedSource() { + if (this.sharedSource) return; + let t = new globalThis.EventSource(`${this.baseUrl}/events`); + ((t.onmessage = (n) => { + let r; + try { + r = JSON.parse(n.data); + } catch (a) { + console.error("[HttpTransport] Failed to parse SSE event:", a); + return; + } + if (!r || typeof r !== "object") return; + let o; + if (r.Event !== void 0) o = r.Event; + else if (r.LogMessage !== void 0) o = r.LogMessage; + else return; + for (let a of this.sharedCallbacks) + try { + a(o); + } catch (i) { + console.error("[HttpTransport] Subscriber callback threw:", i); + } + }), + (t.onerror = (n) => { + console.warn("[HttpTransport] SSE connection error", n); + }), + (this.sharedSource = t)); + } +} +var IAe = P(() => { + EAe(); +}); +class Tj { + subscriptions = new Map(); + pendingSubscriptions = new Map(); + transport; + constructor(e) { + this.transport = e; + } + getFilterKey(e) { + return JSON.stringify({ + library_id: e.library_id ?? null, + resource_type: e.resource_type ?? null, + path_scope: e.path_scope ?? null, + include_descendants: e.include_descendants ?? !1, + event_types: e.event_types ?? [], + }); + } + async subscribe(e, t) { + let n = this.getFilterKey(e), + r = this.subscriptions.get(n); + if (r) + return ( + console.log( + `[SubscriptionManager] Reusing existing subscription for key: ${n}, refCount: ${r.refCount} -> ${r.refCount + 1}`, + ), + r.listeners.add(t), + r.refCount++, + this.createCleanup(n, t) + ); + let o = this.pendingSubscriptions.get(n); + if (o) + return ( + console.log( + `[SubscriptionManager] Waiting for pending subscription: ${n}`, + ), + (r = await o), + r.listeners.add(t), + r.refCount++, + this.createCleanup(n, t) + ); + console.log( + `[SubscriptionManager] Creating new subscription for key: ${n}`, + ); + let a = this.createSubscription(n, e, t); + this.pendingSubscriptions.set(n, a); + try { + return ( + (r = await a), + r.refCount++, + console.log( + `[SubscriptionManager] New subscription created, refCount: ${r.refCount}`, + ), + this.createCleanup(n, t) + ); + } finally { + this.pendingSubscriptions.delete(n); + } + } + async createSubscription(e, t, n) { + let r = t.event_types ?? [ + "ResourceChanged", + "ResourceChangedBatch", + "ResourceDeleted", + "Refresh", + ], + o = { unsubscribe: () => {}, listeners: new Set([n]), refCount: 0 }; + this.subscriptions.set(e, o); + let a = await this.transport.subscribe( + (i) => { + let s = this.subscriptions.get(e); + if (s) s.listeners.forEach((l) => l(i)); + }, + { + event_types: r, + filter: { + resource_type: t.resource_type, + path_scope: t.path_scope, + library_id: t.library_id, + include_descendants: t.include_descendants, + }, + }, + ); + return ((o.unsubscribe = a), o); + } + createCleanup(e, t) { + return () => { + let n = this.subscriptions.get(e); + if (!n) { + console.log( + `[SubscriptionManager] Cleanup called but entry not found for key: ${e}`, + ); + return; + } + if ( + (n.listeners.delete(t), + n.refCount--, + console.log( + `[SubscriptionManager] Cleanup called for key: ${e}, refCount: ${n.refCount + 1} -> ${n.refCount}`, + ), + n.refCount === 0) + ) + (console.log( + `[SubscriptionManager] RefCount reached 0, unsubscribing from key: ${e}`, + ), + n.unsubscribe(), + this.subscriptions.delete(e)); + }; + } + getStats() { + return { + activeSubscriptions: this.subscriptions.size, + subscriptions: Array.from(this.subscriptions.entries()).map(([e, t]) => ({ + key: e, + refCount: t.refCount, + listenerCount: t.listeners.size, + })), + }; + } + destroy() { + (console.log( + `[SubscriptionManager] Destroying ${this.subscriptions.size} subscriptions`, + ), + this.subscriptions.forEach((e) => e.unsubscribe()), + this.subscriptions.clear()); + } +} +var QR; +var PU = P(() => { + QR = { + coreActions: { + "config.app.update": "action:config.app.update.input", + "core.ephemeral_reset": "action:core.ephemeral_reset.input", + "core.reset": "action:core.reset.input", + "device.update": "action:device.update.input", + "libraries.create": "action:libraries.create.input", + "libraries.delete": "action:libraries.delete.input", + "libraries.open": "action:libraries.open.input", + "models.whisper.delete": "action:models.whisper.delete.input", + "models.whisper.download": "action:models.whisper.download.input", + "network.device.revoke": "action:network.device.revoke.input", + "network.pair.cancel": "action:network.pair.cancel.input", + "network.pair.confirmProxy": "action:network.pair.confirmProxy.input", + "network.pair.generate": "action:network.pair.generate.input", + "network.pair.join": "action:network.pair.join.input", + "network.pair.vouch": "action:network.pair.vouch.input", + "network.spacedrop.send": "action:network.spacedrop.send.input", + "network.start": "action:network.start.input", + "network.stop": "action:network.stop.input", + "network.sync_setup": "action:network.sync_setup.input", + }, + libraryActions: { + "adapters.update": "action:adapters.update.input", + "config.library.update": "action:config.library.update.input", + "files.copy": "action:files.copy.input", + "files.createFolder": "action:files.createFolder.input", + "files.delete": "action:files.delete.input", + "files.rename": "action:files.rename.input", + "indexing.start": "action:indexing.start.input", + "indexing.verify": "action:indexing.verify.input", + "jobs.cancel": "action:jobs.cancel.input", + "jobs.pause": "action:jobs.pause.input", + "jobs.resume": "action:jobs.resume.input", + "libraries.export": "action:libraries.export.input", + "libraries.rename": "action:libraries.rename.input", + "locations.add": "action:locations.add.input", + "locations.enable_indexing": "action:locations.enable_indexing.input", + "locations.export": "action:locations.export.input", + "locations.import": "action:locations.import.input", + "locations.remove": "action:locations.remove.input", + "locations.rescan": "action:locations.rescan.input", + "locations.triggerJob": "action:locations.triggerJob.input", + "locations.update": "action:locations.update.input", + "media.ocr.extract": "action:media.ocr.extract.input", + "media.proxy.generate": "action:media.proxy.generate.input", + "media.speech.transcribe": "action:media.speech.transcribe.input", + "media.splat.generate": "action:media.splat.generate.input", + "media.thumbnail": "action:media.thumbnail.input", + "media.thumbnail.regenerate": "action:media.thumbnail.regenerate.input", + "media.thumbstrip.generate": "action:media.thumbstrip.generate.input", + "sources.create": "action:sources.create.input", + "sources.delete": "action:sources.delete.input", + "sources.sync": "action:sources.sync.input", + "spaces.add_group": "action:spaces.add_group.input", + "spaces.add_item": "action:spaces.add_item.input", + "spaces.create": "action:spaces.create.input", + "spaces.delete": "action:spaces.delete.input", + "spaces.delete_group": "action:spaces.delete_group.input", + "spaces.delete_item": "action:spaces.delete_item.input", + "spaces.reorder_groups": "action:spaces.reorder_groups.input", + "spaces.reorder_items": "action:spaces.reorder_items.input", + "spaces.update": "action:spaces.update.input", + "spaces.update_group": "action:spaces.update_group.input", + "tags.apply": "action:tags.apply.input", + "tags.create": "action:tags.create.input", + "tags.delete": "action:tags.delete.input", + "tags.unapply": "action:tags.unapply.input", + "volumes.add_cloud": "action:volumes.add_cloud.input", + "volumes.eject": "action:volumes.eject.input", + "volumes.index": "action:volumes.index.input", + "volumes.refresh": "action:volumes.refresh.input", + "volumes.remove_cloud": "action:volumes.remove_cloud.input", + "volumes.speed_test": "action:volumes.speed_test.input", + "volumes.track": "action:volumes.track.input", + "volumes.untrack": "action:volumes.untrack.input", + }, + coreQueries: { + "config.app.get": "query:config.app.get", + "core.ephemeral_status": "query:core.ephemeral_status", + "core.events.list": "query:core.events.list", + "core.status": "query:core.status", + "jobs.remote.all_devices": "query:jobs.remote.all_devices", + "jobs.remote.for_device": "query:jobs.remote.for_device", + "libraries.list": "query:libraries.list", + "models.whisper.list": "query:models.whisper.list", + "network.devices.list": "query:network.devices.list", + "network.pair.status": "query:network.pair.status", + "network.pair.vouching_session": "query:network.pair.vouching_session", + "network.status": "query:network.status", + "network.sync_setup.discover": "query:network.sync_setup.discover", + }, + libraryQueries: { + "adapters.config": "query:adapters.config", + "adapters.list": "query:adapters.list", + "config.library.get": "query:config.library.get", + "devices.list": "query:devices.list", + "files.alternate_instances": "query:files.alternate_instances", + "files.by_id": "query:files.by_id", + "files.by_path": "query:files.by_path", + "files.by_tag": "query:files.by_tag", + "files.content_kind_stats": "query:files.content_kind_stats", + "files.directory_listing": "query:files.directory_listing", + "files.media_listing": "query:files.media_listing", + "files.unique_to_location": "query:files.unique_to_location", + "jobs.active": "query:jobs.active", + "jobs.get_copy_metadata": "query:jobs.get_copy_metadata", + "jobs.info": "query:jobs.info", + "jobs.list": "query:jobs.list", + "libraries.info": "query:libraries.info", + "locations.list": "query:locations.list", + "locations.suggested": "query:locations.suggested", + "locations.validate_path": "query:locations.validate_path", + "redundancy.summary": "query:redundancy.summary", + "search.files": "query:search.files", + "sources.get": "query:sources.get", + "sources.list": "query:sources.list", + "sources.list_items": "query:sources.list_items", + "spaces.get": "query:spaces.get", + "spaces.get_layout": "query:spaces.get_layout", + "spaces.list": "query:spaces.list", + "sync.activity": "query:sync.activity", + "sync.eventLog": "query:sync.eventLog", + "sync.metrics": "query:sync.metrics", + "sync.partners": "query:sync.partners", + "tags.ancestors": "query:tags.ancestors", + "tags.by_id": "query:tags.by_id", + "tags.children": "query:tags.children", + "tags.search": "query:tags.search", + "test.ping": "query:test.ping", + "volumes.list": "query:volumes.list", + }, + }; +}); +class aet { + listeners = new Map(); + on(e, t) { + if (!this.listeners.has(e)) this.listeners.set(e, new Set()); + this.listeners.get(e).add(t); + } + emit(e, ...t) { + let n = this.listeners.get(e); + if (n) n.forEach((r) => r(...t)); + } + once(e, t) { + let n = (...r) => { + (t(...r), this.off(e, n)); + }; + this.on(e, n); + } + off(e, t) { + let n = this.listeners.get(e); + if (n) n.delete(t); + } +} +var XR; +var iet = P(() => { + IAe(); + PU(); + XR = class XR extends aet { + transport; + currentLibraryId = null; + subscriptionManager; + constructor(e) { + super(); + ((this.transport = e), (this.subscriptionManager = new Tj(e))); + } + static fromTauri(e, t) { + let n = new XR(new Ej(e, t)); + return (n.setupEventLogging(), n); + } + setupEventLogging() {} + getCurrentLibraryId() { + return this.currentLibraryId; + } + setCurrentLibrary(e, t = !0) { + if (((this.currentLibraryId = e), t)) this.emit("library-changed", e); + } + clearCurrentLibrary() { + this.currentLibraryId = null; + } + async switchToLibrary(e) { + if ( + !(await this.execute("query:libraries.list", {})).some( + (r) => r.id === e, + ) + ) + throw Error(`Library with ID '${e}' not found`); + this.setCurrentLibrary(e); + } + async getCurrentLibraryInfo() { + let e = this.getCurrentLibraryId(); + if (!e) return null; + return ( + (await this.execute("query:libraries.list", {})).find( + (n) => n.id === e, + ) ?? null + ); + } + requireCurrentLibrary() { + let e = this.getCurrentLibraryId(); + if (!e) + throw Error( + "This operation requires an active library. Use switchToLibrary() first.", + ); + return e; + } + async execute(e, t, n = {}) { + let r = e.startsWith("query:"), + o = e.startsWith("action:"); + if (!r && !o) throw Error(`Invalid wire method: ${e}`); + let a = r + ? { + Query: { + method: e, + library_id: + n.libraryContext === !1 ? null : this.currentLibraryId, + payload: t, + }, + } + : { + Action: { + method: e, + library_id: + n.libraryContext === !1 ? null : this.currentLibraryId, + payload: t, + }, + }, + i = await this.transport.sendRequest(a); + if ("JsonOk" in i) return i.JsonOk; + else if ("json" in i) return i.json; + else if ("Error" in i || "error" in i) { + let s = i.Error || i.error; + throw Error(`${r ? "Query" : "Action"} failed: ${JSON.stringify(s)}`); + } else throw Error(`Unexpected response: ${JSON.stringify(i)}`); + } + async subscribe(e) { + return await this.transport.subscribe((n) => { + if (e) e(n); + }); + } + async subscribeFiltered(e, t) { + return this.subscriptionManager.subscribe(e, t); + } + getSubscriptionStats() { + return this.subscriptionManager.getStats(); + } + destroy() { + (this.subscriptionManager.destroy(), this.transport.destroy?.()); + } + async ping() { + let e = await this.transport.sendRequest("Ping"); + if (e === "Pong") console.log("Ping successful!"); + else throw Error(`Unexpected ping response: ${JSON.stringify(e)}`); + } + }; +}); +function set(e, t, n) { + var r = null; + if ( + (n !== void 0 && (r = "" + n), + t.key !== void 0 && (r = "" + t.key), + "key" in t) + ) { + n = {}; + for (var o in t) o !== "key" && (n[o] = t[o]); + } else n = t; + return ( + (t = n.ref), + { $$typeof: wTn, type: e, key: r, ref: t !== void 0 ? t : null, props: n } + ); +} +var wTn, STn, Ht, h, M; +var le = P(() => { + ((wTn = Symbol.for("react.transitional.element")), + (STn = Symbol.for("react.fragment"))); + ((Ht = STn), (h = set), (M = set)); +}); +var WR, + TAe, + th = (e) => { + let t = WR.useContext(TAe); + if (e) return e; + if (!t) + throw Error("No QueryClient set, use QueryClientProvider to set one"); + return t; + }, + kAe = ({ client: e, children: t }) => ( + WR.useEffect( + () => ( + e.mount(), + () => { + e.unmount(); + } + ), + [e], + ), + h(TAe.Provider, { value: e, children: t }) + ); +var kj = P(() => { + le(); + ((WR = z(re(), 1)), (TAe = WR.createContext(void 0))); +}); +var Rj, + cet, + uet = () => Rj.useContext(cet), + EGr; +var det = P(() => { + ((Rj = z(re(), 1)), (cet = Rj.createContext(!1)), (EGr = cet.Provider)); +}); +function CTn() { + let e = !1; + return { + clearReset: () => { + e = !1; + }, + reset: () => { + e = !0; + }, + isReset: () => e, + }; +} +var MU, + ETn, + pet = () => MU.useContext(ETn); +var fet = P(() => { + le(); + MU = z(re(), 1); + ETn = MU.createContext(CTn()); +}); +function met(e) { + setTimeout(e, 0); +} +var ITn, + TTn = class { + #e = ITn; + #t = !1; + setTimeoutProvider(e) { + this.#e = e; + } + setTimeout(e, t) { + return this.#e.setTimeout(e, t); + } + clearTimeout(e) { + this.#e.clearTimeout(e); + } + setInterval(e, t) { + return this.#e.setInterval(e, t); + } + clearInterval(e) { + this.#e.clearInterval(e); + } + }, + fb; +var DU = P(() => { + ((ITn = { + setTimeout: (e, t) => setTimeout(e, t), + clearTimeout: (e) => clearTimeout(e), + setInterval: (e, t) => setInterval(e, t), + clearInterval: (e) => clearInterval(e), + }), + (fb = new TTn())); +}); +function Nl() {} +function yet(e, t) { + return typeof e === "function" ? e(t) : e; +} +function Pj(e) { + return typeof e === "number" && e >= 0 && e !== 1 / 0; +} +function Mj(e, t) { + return Math.max(e + (t || 0) - Date.now(), 0); +} +function ys(e, t) { + return typeof e === "function" ? e(t) : e; +} +function Dj(e, t) { + let { + type: n = "all", + exact: r, + fetchStatus: o, + predicate: a, + queryKey: i, + stale: s, + } = e; + if (i) { + if (r) { + if (t.queryHash !== LU(i, t.options)) return !1; + } else if (!w4(t.queryKey, i)) return !1; + } + if (n !== "all") { + let l = t.isActive(); + if (n === "active" && !l) return !1; + if (n === "inactive" && l) return !1; + } + if (typeof s === "boolean" && t.isStale() !== s) return !1; + if (o && o !== t.state.fetchStatus) return !1; + if (a && !a(t)) return !1; + return !0; +} +function Lj(e, t) { + let { exact: n, status: r, predicate: o, mutationKey: a } = e; + if (a) { + if (!t.options.mutationKey) return !1; + if (n) { + if (mb(t.options.mutationKey) !== mb(a)) return !1; + } else if (!w4(t.options.mutationKey, a)) return !1; + } + if (r && t.state.status !== r) return !1; + if (o && !o(t)) return !1; + return !0; +} +function LU(e, t) { + return (t?.queryKeyHashFn || mb)(e); +} +function mb(e) { + return JSON.stringify(e, (t, n) => + RAe(n) + ? Object.keys(n) + .sort() + .reduce((r, o) => ((r[o] = n[o]), r), {}) + : n, + ); +} +function w4(e, t) { + if (e === t) return !0; + if (typeof e !== typeof t) return !1; + if (e && t && typeof e === "object" && typeof t === "object") { + if (Array.isArray(e) && Array.isArray(t)) { + if (t.length > e.length) return !1; + for (let r = 0; r < t.length; r++) if (!w4(e[r], t[r])) return !1; + return !0; + } + let n = Object.keys(t); + for (let r of n) if (!w4(e[r], t[r])) return !1; + return !0; + } + return !1; +} +function MAe(e, t, n = 0) { + if (e === t) return e; + if (n > 500) return t; + let r = het(e) && het(t); + if (!r && !(RAe(e) && RAe(t))) return t; + let o = (r ? e : Object.keys(e)).length, + a = r ? t : Object.keys(t), + i = a.length, + s = r ? Array(i) : {}, + l = 0; + for (let c = 0; c < i; c++) { + let u = r ? c : a[c], + d = e[u], + p = t[u]; + if (d === p) { + if (((s[u] = d), r ? c < o : kTn.call(e, u))) l++; + continue; + } + if ( + d === null || + p === null || + typeof d !== "object" || + typeof p !== "object" + ) { + s[u] = p; + continue; + } + let f = MAe(d, p, n + 1); + if (((s[u] = f), f === d)) l++; + } + return o === i && l === o ? e : s; +} +function YR(e, t) { + if (!t || Object.keys(e).length !== Object.keys(t).length) return !1; + for (let n in e) if (e[n] !== t[n]) return !1; + return !0; +} +function het(e) { + return Array.isArray(e) && e.length === Object.keys(e).length; +} +function RAe(e) { + if (!get(e)) return !1; + let t = Object.getPrototypeOf(e), + n = t?.constructor; + if (n === void 0) return !0; + if (typeof n !== "function") return !1; + let r = n.prototype; + if (!get(r)) return !1; + if (!r.hasOwnProperty("isPrototypeOf")) return !1; + if (t !== Object.prototype) return !1; + return !0; +} +function get(e) { + return Object.prototype.toString.call(e) === "[object Object]"; +} +function vet(e) { + return new Promise((t) => { + fb.setTimeout(t, e); + }); +} +function BU(e, t, n) { + if (typeof n.structuralSharing === "function") + return n.structuralSharing(e, t); + else if (n.structuralSharing !== !1) return MAe(e, t); + return t; +} +function bet(e, t, n = 0) { + let r = [...e, t]; + return n && r.length > n ? r.slice(1) : r; +} +function xet(e, t, n = 0) { + let r = [t, ...e]; + return n && r.length > n ? r.slice(0, -1) : r; +} +function Bj(e, t) { + if (!e.queryFn && t?.initialPromise) return () => t.initialPromise; + if (!e.queryFn || e.queryFn === KR) + return () => Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)); + return e.queryFn; +} +function JR(e, t) { + if (typeof e === "function") return e(...t); + return !!e; +} +function Aet(e, t, n) { + let r = !1, + o; + return ( + Object.defineProperty(e, "signal", { + enumerable: !0, + get: () => { + if (((o ??= t()), r)) return o; + if (((r = !0), o.aborted)) n(); + else o.addEventListener("abort", n, { once: !0 }); + return o; + }, + }), + e + ); +} +var PAe, kTn, KR; +var M1 = P(() => { + DU(); + PAe = typeof window > "u" || "Deno" in globalThis; + kTn = Object.prototype.hasOwnProperty; + KR = Symbol(); +}); +var RTn = () => PAe, + jR = () => RTn(); +var Oj = P(() => { + M1(); +}); +var D1 = class { + constructor() { + ((this.listeners = new Set()), + (this.subscribe = this.subscribe.bind(this))); + } + subscribe(e) { + return ( + this.listeners.add(e), + this.onSubscribe(), + () => { + (this.listeners.delete(e), this.onUnsubscribe()); + } + ); + } + hasListeners() { + return this.listeners.size > 0; + } + onSubscribe() {} + onUnsubscribe() {} +}; +var B8 = () => {}; +var PTn, $R; +var Fj = P(() => { + B8(); + ((PTn = class extends D1 { + #e; + #t; + #n; + constructor() { + super(); + this.#n = (e) => { + if (typeof window < "u" && window.addEventListener) { + let t = () => e(); + return ( + window.addEventListener("visibilitychange", t, !1), + () => { + window.removeEventListener("visibilitychange", t); + } + ); + } + }; + } + onSubscribe() { + if (!this.#t) this.setEventListener(this.#n); + } + onUnsubscribe() { + if (!this.hasListeners()) (this.#t?.(), (this.#t = void 0)); + } + setEventListener(e) { + ((this.#n = e), + this.#t?.(), + (this.#t = e((t) => { + if (typeof t === "boolean") this.setFocused(t); + else this.onFocus(); + }))); + } + setFocused(e) { + if (this.#e !== e) ((this.#e = e), this.onFocus()); + } + onFocus() { + let e = this.isFocused(); + this.listeners.forEach((t) => { + t(e); + }); + } + isFocused() { + if (typeof this.#e === "boolean") return this.#e; + return globalThis.document?.visibilityState !== "hidden"; + } + }), + ($R = new PTn())); +}); +function MTn() { + let e = [], + t = 0, + n = (s) => { + s(); + }, + r = (s) => { + s(); + }, + o = wet, + a = (s) => { + if (t) e.push(s); + else + o(() => { + n(s); + }); + }, + i = () => { + let s = e; + if (((e = []), s.length)) + o(() => { + r(() => { + s.forEach((l) => { + n(l); + }); + }); + }); + }; + return { + batch: (s) => { + let l; + t++; + try { + l = s(); + } finally { + if ((t--, !t)) i(); + } + return l; + }, + batchCalls: + (s) => + (...l) => { + a(() => { + s(...l); + }); + }, + schedule: a, + setNotifyFunction: (s) => { + n = s; + }, + setBatchNotifyFunction: (s) => { + r = s; + }, + setScheduler: (s) => { + o = s; + }, + }; +} +var wet, qi; +var QA = P(() => { + DU(); + wet = met; + qi = MTn(); +}); +var DTn, eP; +var DAe = P(() => { + B8(); + ((DTn = class extends D1 { + #e = !0; + #t; + #n; + constructor() { + super(); + this.#n = (e) => { + if (typeof window < "u" && window.addEventListener) { + let t = () => e(!0), + n = () => e(!1); + return ( + window.addEventListener("online", t, !1), + window.addEventListener("offline", n, !1), + () => { + (window.removeEventListener("online", t), + window.removeEventListener("offline", n)); + } + ); + } + }; + } + onSubscribe() { + if (!this.#t) this.setEventListener(this.#n); + } + onUnsubscribe() { + if (!this.hasListeners()) (this.#t?.(), (this.#t = void 0)); + } + setEventListener(e) { + ((this.#n = e), this.#t?.(), (this.#t = e(this.setOnline.bind(this)))); + } + setOnline(e) { + if (this.#e !== e) + ((this.#e = e), + this.listeners.forEach((t) => { + t(e); + })); + } + isOnline() { + return this.#e; + } + }), + (eP = new DTn())); +}); +function LTn(e) { + return Math.min(1000 * 2 ** e, 30000); +} +function LAe(e) { + return (e ?? "online") === "online" ? eP.isOnline() : !0; +} +function Nj(e) { + let t = !1, + n = 0, + r, + o = "pending", + a, + i, + s = new Promise((x, A) => { + ((a = x), (i = A)); + }); + s.catch(Nl); + let l = () => o !== "pending", + c = (x) => { + if (!l()) { + let A = new Uj(x); + (g(A), e.onCancel?.(A)); + } + }, + u = () => { + t = !0; + }, + d = () => { + t = !1; + }, + p = () => + $R.isFocused() && + (e.networkMode === "always" || eP.isOnline()) && + e.canRun(), + f = () => LAe(e.networkMode) && e.canRun(), + m = (x) => { + if (!l()) (r?.(), (o = "resolved"), a(x)); + }, + g = (x) => { + if (!l()) (r?.(), (o = "rejected"), i(x)); + }, + v = () => + new Promise((x) => { + ((r = (A) => { + if (l() || p()) x(A); + }), + e.onPause?.()); + }).then(() => { + if (((r = void 0), !l())) e.onContinue?.(); + }), + y = () => { + if (l()) return; + let x, + A = n === 0 ? e.initialPromise : void 0; + try { + x = A ?? e.fn(); + } catch (w) { + x = Promise.reject(w); + } + Promise.resolve(x) + .then(m) + .catch((w) => { + if (l()) return; + let C = e.retry ?? (jR() ? 0 : 3), + E = e.retryDelay ?? LTn, + T = typeof E === "function" ? E(n, w) : E, + I = + C === !0 || + (typeof C === "number" && n < C) || + (typeof C === "function" && C(n, w)); + if (t || !I) { + g(w); + return; + } + (n++, + e.onFail?.(n, w), + vet(T) + .then(() => (p() ? void 0 : v())) + .then(() => { + if (t) g(w); + else y(); + })); + }); + }; + return { + promise: s, + status: () => o, + cancel: c, + continue: () => (r?.(), s), + cancelRetry: u, + continueRetry: d, + canStart: f, + start: () => { + if (f()) y(); + else v().then(y); + return s; + }, + }; +} +var Uj; +var BAe = P(() => { + M1(); + Oj(); + Fj(); + DAe(); + Uj = class extends Error { + constructor(e) { + super("CancelledError"); + ((this.revert = e?.revert), (this.silent = e?.silent)); + } + }; +}); +var zj = class { + #e; + destroy() { + this.clearGcTimeout(); + } + scheduleGc() { + if ((this.clearGcTimeout(), Pj(this.gcTime))) + this.#e = fb.setTimeout(() => { + this.optionalRemove(); + }, this.gcTime); + } + updateGcTime(e) { + this.gcTime = Math.max(this.gcTime || 0, e ?? (jR() ? 1 / 0 : 300000)); + } + clearGcTimeout() { + if (this.#e !== void 0) (fb.clearTimeout(this.#e), (this.#e = void 0)); + } +}; +var OAe = P(() => { + DU(); + M1(); + Oj(); +}); +function Eet(e) { + return { + onFetch: (t, n) => { + let r = t.options, + o = t.fetchOptions?.meta?.fetchMore?.direction, + a = t.state.data?.pages || [], + i = t.state.data?.pageParams || [], + s = { pages: [], pageParams: [] }, + l = 0, + c = async () => { + let u = !1, + d = (m) => { + Aet( + m, + () => t.signal, + () => (u = !0), + ); + }, + p = Bj(t.options, t.fetchOptions), + f = async (m, g, v) => { + if (u) return Promise.reject(t.signal.reason); + if (g == null && m.pages.length) return Promise.resolve(m); + let x = (() => { + let E = { + client: t.client, + queryKey: t.queryKey, + pageParam: g, + direction: v ? "backward" : "forward", + meta: t.options.meta, + }; + return (d(E), E); + })(), + A = await p(x), + { maxPages: w } = t.options, + C = v ? xet : bet; + return { + pages: C(m.pages, A, w), + pageParams: C(m.pageParams, g, w), + }; + }; + if (o && a.length) { + let m = o === "backward", + g = m ? BTn : Cet, + v = { pages: a, pageParams: i }; + s = await f(v, g(r, v), m); + } else { + let m = e ?? a.length; + do { + let g = l === 0 ? (i[0] ?? r.initialPageParam) : Cet(r, s); + if (l > 0 && g == null) break; + ((s = await f(s, g)), l++); + } while (l < m); + } + return s; + }; + if (t.options.persister) + t.fetchFn = () => + t.options.persister?.( + c, + { + client: t.client, + queryKey: t.queryKey, + meta: t.options.meta, + signal: t.signal, + }, + n, + ); + else t.fetchFn = c; + }, + }; +} +function Cet(e, { pages: t, pageParams: n }) { + let r = t.length - 1; + return t.length > 0 ? e.getNextPageParam(t[r], t, n[r], n) : void 0; +} +function BTn(e, { pages: t, pageParams: n }) { + return t.length > 0 ? e.getPreviousPageParam?.(t[0], t, n[0], n) : void 0; +} +var Iet = P(() => { + M1(); +}); +function FAe(e, t) { + return { + fetchFailureCount: 0, + fetchFailureReason: null, + fetchStatus: LAe(t.networkMode) ? "fetching" : "paused", + ...(e === void 0 && { error: null, status: "pending" }), + }; +} +function Tet(e, t) { + return { + data: e, + dataUpdatedAt: t ?? Date.now(), + error: null, + isInvalidated: !1, + status: "success", + }; +} +function ket(e) { + let t = typeof e.initialData === "function" ? e.initialData() : e.initialData, + n = t !== void 0, + r = n + ? typeof e.initialDataUpdatedAt === "function" + ? e.initialDataUpdatedAt() + : e.initialDataUpdatedAt + : 0; + return { + data: t, + dataUpdateCount: 0, + dataUpdatedAt: n ? (r ?? Date.now()) : 0, + error: null, + errorUpdateCount: 0, + errorUpdatedAt: 0, + fetchFailureCount: 0, + fetchFailureReason: null, + fetchMeta: null, + isInvalidated: !1, + status: n ? "success" : "pending", + fetchStatus: "idle", + }; +} +var Ret; +var UAe = P(() => { + M1(); + QA(); + BAe(); + OAe(); + Iet(); + Ret = class extends zj { + #e; + #t; + #n; + #r; + #a; + #o; + #i; + #l; + constructor(e) { + super(); + ((this.#l = !1), + (this.#i = e.defaultOptions), + this.setOptions(e.options), + (this.observers = []), + (this.#a = e.client), + (this.#r = this.#a.getQueryCache()), + (this.queryKey = e.queryKey), + (this.queryHash = e.queryHash), + (this.#t = ket(this.options)), + (this.state = e.state ?? this.#t), + this.scheduleGc()); + } + get meta() { + return this.options.meta; + } + get queryType() { + return this.#e; + } + get promise() { + return this.#o?.promise; + } + setOptions(e) { + if (((this.options = { ...this.#i, ...e }), e?._type)) this.#e = e._type; + if ( + (this.updateGcTime(this.options.gcTime), + this.state && this.state.data === void 0) + ) { + let t = ket(this.options); + if (t.data !== void 0) + (this.setState(Tet(t.data, t.dataUpdatedAt)), (this.#t = t)); + } + } + optionalRemove() { + if (!this.observers.length && this.state.fetchStatus === "idle") + this.#r.remove(this); + } + setData(e, t) { + let n = BU(this.state.data, e, this.options); + return ( + this.#s({ + data: n, + type: "success", + dataUpdatedAt: t?.updatedAt, + manual: t?.manual, + }), + n + ); + } + setState(e) { + this.#s({ type: "setState", state: e }); + } + cancel(e) { + let t = this.#o?.promise; + return (this.#o?.cancel(e), t ? t.then(Nl).catch(Nl) : Promise.resolve()); + } + destroy() { + (super.destroy(), this.cancel({ silent: !0 })); + } + get resetState() { + return this.#t; + } + reset() { + (this.destroy(), this.setState(this.resetState)); + } + isActive() { + return this.observers.some((e) => ys(e.options.enabled, this) !== !1); + } + isDisabled() { + if (this.getObserversCount() > 0) return !this.isActive(); + return this.options.queryFn === KR || !this.isFetched(); + } + isFetched() { + return this.state.dataUpdateCount + this.state.errorUpdateCount > 0; + } + isStatic() { + if (this.getObserversCount() > 0) + return this.observers.some( + (e) => ys(e.options.staleTime, this) === "static", + ); + return !1; + } + isStale() { + if (this.getObserversCount() > 0) + return this.observers.some((e) => e.getCurrentResult().isStale); + return this.state.data === void 0 || this.state.isInvalidated; + } + isStaleByTime(e = 0) { + if (this.state.data === void 0) return !0; + if (e === "static") return !1; + if (this.state.isInvalidated) return !0; + return !Mj(this.state.dataUpdatedAt, e); + } + onFocus() { + (this.observers + .find((e) => e.shouldFetchOnWindowFocus()) + ?.refetch({ cancelRefetch: !1 }), + this.#o?.continue()); + } + onOnline() { + (this.observers + .find((e) => e.shouldFetchOnReconnect()) + ?.refetch({ cancelRefetch: !1 }), + this.#o?.continue()); + } + addObserver(e) { + if (!this.observers.includes(e)) + (this.observers.push(e), + this.clearGcTimeout(), + this.#r.notify({ type: "observerAdded", query: this, observer: e })); + } + removeObserver(e) { + let t = this.observers.indexOf(e); + if (t !== -1) { + if ((this.observers.splice(t, 1), !this.observers.length)) { + if (this.#o) + if ( + this.#l || + (this.state.fetchStatus === "paused" && + this.state.status === "pending") + ) + this.#o.cancel({ revert: !0 }); + else this.#o.cancelRetry(); + this.scheduleGc(); + } + this.#r.notify({ type: "observerRemoved", query: this, observer: e }); + } + } + getObserversCount() { + return this.observers.length; + } + invalidate() { + if (!this.state.isInvalidated) this.#s({ type: "invalidate" }); + } + async fetch(e, t) { + if ( + this.state.fetchStatus !== "idle" && + this.#o?.status() !== "rejected" + ) { + if (this.state.data !== void 0 && t?.cancelRefetch) + this.cancel({ silent: !0 }); + else if (this.#o) return (this.#o.continueRetry(), this.#o.promise); + } + if (e) this.setOptions(e); + if (!this.options.queryFn) { + let l = this.observers.find((c) => c.options.queryFn); + if (l) this.setOptions(l.options); + } + let n = new AbortController(), + r = (l) => { + Object.defineProperty(l, "signal", { + enumerable: !0, + get: () => ((this.#l = !0), n.signal), + }); + }, + o = () => { + let l = Bj(this.options, t), + u = (() => { + let d = { + client: this.#a, + queryKey: this.queryKey, + meta: this.meta, + }; + return (r(d), d); + })(); + if (((this.#l = !1), this.options.persister)) + return this.options.persister(l, u, this); + return l(u); + }, + i = (() => { + let l = { + fetchOptions: t, + options: this.options, + queryKey: this.queryKey, + client: this.#a, + state: this.state, + fetchFn: o, + }; + return (r(l), l); + })(); + if ( + ((this.#e === "infinite" + ? Eet(this.options.pages) + : this.options.behavior + )?.onFetch(i, this), + (this.#n = this.state), + this.state.fetchStatus === "idle" || + this.state.fetchMeta !== i.fetchOptions?.meta) + ) + this.#s({ type: "fetch", meta: i.fetchOptions?.meta }); + let s = (this.#o = Nj({ + initialPromise: t?.initialPromise, + fn: i.fetchFn, + onCancel: (l) => { + if (l instanceof Uj && l.revert) + this.setState({ ...this.#n, fetchStatus: "idle" }); + n.abort(); + }, + onFail: (l, c) => { + this.#s({ type: "failed", failureCount: l, error: c }); + }, + onPause: () => { + this.#s({ type: "pause" }); + }, + onContinue: () => { + this.#s({ type: "continue" }); + }, + retry: i.options.retry, + retryDelay: i.options.retryDelay, + networkMode: i.options.networkMode, + canRun: () => !0, + })); + try { + let l = await s.start(); + if (l === void 0) throw Error(`${this.queryHash} data is undefined`); + return ( + this.setData(l), + this.#r.config.onSuccess?.(l, this), + this.#r.config.onSettled?.(l, this.state.error, this), + l + ); + } catch (l) { + if (l instanceof Uj) { + if (l.silent) return this.#o.promise; + else if (l.revert) { + if (this.state.data === void 0) throw l; + return this.state.data; + } + } + throw ( + this.#s({ type: "error", error: l }), + this.#r.config.onError?.(l, this), + this.#r.config.onSettled?.(this.state.data, l, this), + l + ); + } finally { + if (this.#o === s) this.#o = void 0; + this.scheduleGc(); + } + } + #s(e) { + let t = (n) => { + switch (e.type) { + case "failed": + return { + ...n, + fetchFailureCount: e.failureCount, + fetchFailureReason: e.error, + }; + case "pause": + return { ...n, fetchStatus: "paused" }; + case "continue": + return { ...n, fetchStatus: "fetching" }; + case "fetch": + return { + ...n, + ...FAe(n.data, this.options), + fetchMeta: e.meta ?? null, + }; + case "success": + let r = { + ...n, + ...Tet(e.data, e.dataUpdatedAt), + dataUpdateCount: n.dataUpdateCount + 1, + ...(!e.manual && { + fetchStatus: "idle", + fetchFailureCount: 0, + fetchFailureReason: null, + }), + }; + return ((this.#n = e.manual ? r : void 0), r); + case "error": + let o = e.error; + return { + ...n, + error: o, + errorUpdateCount: n.errorUpdateCount + 1, + errorUpdatedAt: Date.now(), + fetchFailureCount: n.fetchFailureCount + 1, + fetchFailureReason: o, + fetchStatus: "idle", + status: "error", + isInvalidated: !0, + }; + case "invalidate": + return { ...n, isInvalidated: !0 }; + case "setState": + return { ...n, ...e.state }; + } + }; + ((this.state = t(this.state)), + qi.batch(() => { + (this.observers.slice().forEach((n) => { + n.onQueryUpdate(); + }), + this.#r.notify({ query: this, type: "updated", action: e })); + })); + } + }; +}); +function OTn(e, t) { + return ( + ys(t.enabled, e) !== !1 && + e.state.data === void 0 && + !(e.state.status === "error" && ys(t.retryOnMount, e) === !1) + ); +} +function Pet(e, t) { + return OTn(e, t) || (e.state.data !== void 0 && NAe(e, t, t.refetchOnMount)); +} +function NAe(e, t, n) { + if (ys(t.enabled, e) !== !1 && ys(t.staleTime, e) !== "static") { + let r = ys(n, e); + return r === "always" || (r !== !1 && _Ae(e, t)); + } + return !1; +} +function Met(e, t, n, r) { + return ( + (e !== t || ys(r.enabled, e) === !1) && + (!n.suspense || e.state.status !== "error") && + _Ae(e, n) + ); +} +function _Ae(e, t) { + return ys(t.enabled, e) !== !1 && e.isStaleByTime(ys(t.staleTime, e)); +} +var zAe; +var Det = P(() => { + DU(); + M1(); + Oj(); + B8(); + Fj(); + QA(); + UAe(); + zAe = class extends D1 { + #e; + #t = void 0; + #n = void 0; + #r = void 0; + #a; + #o; + #i; + #l; + #s; + #f; + #u; + #d; + #c; + #m = new Set(); + constructor(e, t) { + super(); + ((this.options = t), + (this.#e = e), + (this.#i = null), + this.bindMethods(), + this.setOptions(t)); + } + bindMethods() { + this.refetch = this.refetch.bind(this); + } + onSubscribe() { + if (this.listeners.size === 1) { + if ((this.#t.addObserver(this), Pet(this.#t, this.options))) this.#p(); + else this.updateResult(); + this.#b(); + } + } + onUnsubscribe() { + if (!this.hasListeners()) this.destroy(); + } + shouldFetchOnReconnect() { + return NAe(this.#t, this.options, this.options.refetchOnReconnect); + } + shouldFetchOnWindowFocus() { + return NAe(this.#t, this.options, this.options.refetchOnWindowFocus); + } + destroy() { + ((this.listeners = new Set()), + this.#x(), + this.#A(), + this.#t.removeObserver(this)); + } + setOptions(e) { + let t = this.options, + n = this.#t; + if ( + ((this.options = this.#e.defaultQueryOptions(e)), + this.options.enabled !== void 0 && + typeof this.options.enabled !== "boolean" && + typeof this.options.enabled !== "function" && + typeof ys(this.options.enabled, this.#t) !== "boolean") + ) + throw Error( + "Expected enabled to be a boolean or a callback that returns a boolean", + ); + if ( + (this.#w(), + this.#t.setOptions(this.options), + t._defaulted && !YR(this.options, t)) + ) + this.#e + .getQueryCache() + .notify({ + type: "observerOptionsUpdated", + query: this.#t, + observer: this, + }); + let r = this.hasListeners(); + if (r && Met(this.#t, n, this.options, t)) this.#p(); + if ( + (this.updateResult(), + r && + (this.#t !== n || + ys(this.options.enabled, this.#t) !== ys(t.enabled, this.#t) || + ys(this.options.staleTime, this.#t) !== ys(t.staleTime, this.#t))) + ) + this.#g(); + let o = this.#y(); + if ( + r && + (this.#t !== n || + ys(this.options.enabled, this.#t) !== ys(t.enabled, this.#t) || + o !== this.#c) + ) + this.#v(o); + } + getOptimisticResult(e) { + let t = this.#e.getQueryCache().build(this.#e, e), + n = this.createResult(t, e); + if (!YR(this.getCurrentResult(), n)) + ((this.#r = n), (this.#o = this.options), (this.#a = this.#t.state)); + return n; + } + getCurrentResult() { + return this.#r; + } + trackResult(e, t) { + return new Proxy(e, { + get: (n, r) => (this.trackProp(r), t?.(r), Reflect.get(n, r)), + }); + } + trackProp(e) { + this.#m.add(e); + } + getCurrentQuery() { + return this.#t; + } + refetch({ ...e } = {}) { + return this.fetch({ ...e }); + } + fetchOptimistic(e) { + let t = this.#e.defaultQueryOptions(e), + n = this.#e.getQueryCache().build(this.#e, t), + r = () => {}, + o, + a = new Promise((i) => { + ((o = i), + (r = this.#e.getQueryCache().subscribe((s) => { + if ( + s.type === "updated" && + s.query.queryHash === n.queryHash && + n.state.data !== void 0 + ) + (r(), i(this.createResult(n, t))); + }))); + }); + return Promise.race([ + n + .fetch() + .then(() => { + let i = this.createResult(n, t); + return (o?.(i), i); + }) + .finally(() => { + r(); + }), + a, + ]); + } + fetch(e) { + return this.#p({ ...e, cancelRefetch: e.cancelRefetch ?? !0 }).then( + () => (this.updateResult(), this.#r), + ); + } + #p(e) { + this.#w(); + let t = this.#t.fetch(this.options, e); + if (!e?.throwOnError) t = t.catch(Nl); + return t; + } + #h(e) { + return !jR() && ys(this.options.enabled, this.#t) !== !1 && Pj(e); + } + #g() { + this.#x(); + let e = ys(this.options.staleTime, this.#t); + if (this.#r.isStale || !this.#h(e)) return; + let t = Mj(this.#r.dataUpdatedAt, e) + 1; + this.#u = fb.setTimeout(() => { + if (!this.#r.isStale) this.updateResult(); + }, t); + } + #y() { + return ys(this.options.refetchInterval, this.#t) ?? !1; + } + #v(e) { + if ((this.#A(), (this.#c = e), this.#c === 0 || !this.#h(this.#c))) + return; + this.#d = fb.setInterval(() => { + if (this.options.refetchIntervalInBackground || $R.isFocused()) + this.#p(); + }, this.#c); + } + #b() { + (this.#g(), this.#v(this.#y())); + } + #x() { + if (this.#u !== void 0) (fb.clearTimeout(this.#u), (this.#u = void 0)); + } + #A() { + if (this.#d !== void 0) (fb.clearInterval(this.#d), (this.#d = void 0)); + } + createResult(e, t) { + let n = this.#t, + r = this.options, + o = this.#r, + a = this.#a, + i = this.#o, + s = e !== n ? e.state : this.#n, + { state: l } = e, + c = { ...l }, + u = !1, + d; + if (t._optimisticResults) { + let C = this.hasListeners(), + E = !C && Pet(e, t), + T = C && Met(e, n, t, r); + if (E || T) c = { ...c, ...FAe(l.data, e.options) }; + if (t._optimisticResults === "isRestoring") c.fetchStatus = "idle"; + } + let { error: p, errorUpdatedAt: f, status: m } = c; + d = c.data; + let g = !1; + if (t.placeholderData !== void 0 && d === void 0 && m === "pending") { + let C; + if (o?.isPlaceholderData && t.placeholderData === i?.placeholderData) + ((C = o.data), (g = !0)); + else + C = + typeof t.placeholderData === "function" + ? t.placeholderData(this.#f?.state.data, this.#f) + : t.placeholderData; + if (C !== void 0) ((m = "success"), (d = BU(o?.data, C, t)), (u = !0)); + } + if (t.select && d !== void 0 && !g) + if (o && d === a?.data && t.select === this.#l) d = this.#s; + else + try { + ((this.#l = t.select), + (d = t.select(d)), + (d = BU(o?.data, d, t)), + (this.#s = d), + (this.#i = null)); + } catch (C) { + this.#i = C; + } + else if (d === void 0) this.#i = null; + if (this.#i) + ((p = this.#i), + (d = this.#s), + (f = Date.now()), + (m = "error"), + (u = !1)); + let v = c.fetchStatus === "fetching", + y = m === "pending", + x = m === "error", + A = y && v, + w = d !== void 0; + return { + status: m, + fetchStatus: c.fetchStatus, + isPending: y, + isSuccess: m === "success", + isError: x, + isInitialLoading: A, + isLoading: A, + data: d, + dataUpdatedAt: c.dataUpdatedAt, + error: p, + errorUpdatedAt: f, + failureCount: c.fetchFailureCount, + failureReason: c.fetchFailureReason, + errorUpdateCount: c.errorUpdateCount, + isFetched: e.isFetched(), + isFetchedAfterMount: + c.dataUpdateCount > s.dataUpdateCount || + c.errorUpdateCount > s.errorUpdateCount, + isFetching: v, + isRefetching: v && !y, + isLoadingError: x && !w, + isPaused: c.fetchStatus === "paused", + isPlaceholderData: u, + isRefetchError: x && w, + isStale: _Ae(e, t), + refetch: this.refetch, + isEnabled: ys(t.enabled, e) !== !1, + }; + } + updateResult() { + let e = this.#r, + t = this.createResult(this.#t, this.options); + if ( + ((this.#a = this.#t.state), + (this.#o = this.options), + this.#a.data !== void 0) + ) + this.#f = this.#t; + if (YR(t, e)) return; + this.#r = t; + let r = (() => { + if (!e) return !0; + let { notifyOnChangeProps: o } = this.options, + a = typeof o === "function" ? o() : o; + if (a === "all" || (!a && !this.#m.size)) return !0; + let i = new Set(a ?? this.#m); + if (this.options.throwOnError) i.add("error"); + return Object.keys(this.#r).some((s) => { + let l = s; + return this.#r[l] !== e[l] && i.has(l); + }); + })(); + qi.batch(() => { + if (r) + this.listeners.forEach((o) => { + o(this.#r); + }); + this.#e + .getQueryCache() + .notify({ query: this.#t, type: "observerResultsUpdated" }); + }); + } + #w() { + let e = this.#e.getQueryCache().build(this.#e, this.options); + if (e === this.#t) return; + let t = this.#t; + if (((this.#t = e), (this.#n = e.state), this.hasListeners())) + (t?.removeObserver(this), e.addObserver(this)); + } + onQueryUpdate() { + if ((this.updateResult(), this.hasListeners())) this.#b(); + } + }; +}); +function HAe() { + return { + context: void 0, + data: void 0, + error: null, + failureCount: 0, + failureReason: null, + isPaused: !1, + status: "idle", + variables: void 0, + submittedAt: 0, + }; +} +var Let; +var VAe = P(() => { + QA(); + BAe(); + OAe(); + Let = class extends zj { + #e; + #t; + #n; + #r; + constructor(e) { + super(); + ((this.#e = e.client), + (this.mutationId = e.mutationId), + (this.#n = e.mutationCache), + (this.#t = []), + (this.state = e.state || HAe()), + this.setOptions(e.options), + this.scheduleGc()); + } + setOptions(e) { + ((this.options = e), this.updateGcTime(this.options.gcTime)); + } + get meta() { + return this.options.meta; + } + addObserver(e) { + if (!this.#t.includes(e)) + (this.#t.push(e), + this.clearGcTimeout(), + this.#n.notify({ + type: "observerAdded", + mutation: this, + observer: e, + })); + } + removeObserver(e) { + ((this.#t = this.#t.filter((t) => t !== e)), + this.scheduleGc(), + this.#n.notify({ + type: "observerRemoved", + mutation: this, + observer: e, + })); + } + optionalRemove() { + if (!this.#t.length) + if (this.state.status === "pending") this.scheduleGc(); + else this.#n.remove(this); + } + continue() { + return ( + this.#r?.continue() ?? + (this.state.status === "pending" + ? this.execute(this.state.variables) + : Promise.resolve()) + ); + } + async execute(e) { + let t = () => { + this.#a({ type: "continue" }); + }, + n = { + client: this.#e, + meta: this.options.meta, + mutationKey: this.options.mutationKey, + }, + r = (this.#r = Nj({ + fn: () => { + if (!this.options.mutationFn) + return Promise.reject(Error("No mutationFn found")); + return this.options.mutationFn(e, n); + }, + onFail: (i, s) => { + this.#a({ type: "failed", failureCount: i, error: s }); + }, + onPause: () => { + this.#a({ type: "pause" }); + }, + onContinue: t, + retry: this.options.retry ?? 0, + retryDelay: this.options.retryDelay, + networkMode: this.options.networkMode, + canRun: () => this.#n.canRun(this), + })), + o = this.state.status === "pending", + a = !r.canStart(); + try { + if (o) t(); + else { + if ( + (this.#a({ type: "pending", variables: e, isPaused: a }), + this.#n.config.onMutate) + ) + await this.#n.config.onMutate(e, this, n); + let s = await this.options.onMutate?.(e, n); + if (s !== this.state.context) + this.#a({ type: "pending", context: s, variables: e, isPaused: a }); + } + let i = await r.start(); + return ( + await this.#n.config.onSuccess?.(i, e, this.state.context, this, n), + await this.options.onSuccess?.(i, e, this.state.context, n), + await this.#n.config.onSettled?.( + i, + null, + this.state.variables, + this.state.context, + this, + n, + ), + await this.options.onSettled?.(i, null, e, this.state.context, n), + this.#a({ type: "success", data: i }), + i + ); + } catch (i) { + try { + await this.#n.config.onError?.(i, e, this.state.context, this, n); + } catch (s) { + Promise.reject(s); + } + try { + await this.options.onError?.(i, e, this.state.context, n); + } catch (s) { + Promise.reject(s); + } + try { + await this.#n.config.onSettled?.( + void 0, + i, + this.state.variables, + this.state.context, + this, + n, + ); + } catch (s) { + Promise.reject(s); + } + try { + await this.options.onSettled?.(void 0, i, e, this.state.context, n); + } catch (s) { + Promise.reject(s); + } + throw (this.#a({ type: "error", error: i }), i); + } finally { + if (this.#r === r) this.#r = void 0; + this.#n.runNext(this); + } + } + #a(e) { + let t = (n) => { + switch (e.type) { + case "failed": + return { + ...n, + failureCount: e.failureCount, + failureReason: e.error, + }; + case "pause": + return { ...n, isPaused: !0 }; + case "continue": + return { ...n, isPaused: !1 }; + case "pending": + return { + ...n, + context: e.context, + data: void 0, + failureCount: 0, + failureReason: null, + error: null, + isPaused: e.isPaused, + status: "pending", + variables: e.variables, + submittedAt: Date.now(), + }; + case "success": + return { + ...n, + data: e.data, + failureCount: 0, + failureReason: null, + error: null, + status: "success", + isPaused: !1, + }; + case "error": + return { + ...n, + data: void 0, + error: e.error, + failureCount: n.failureCount + 1, + failureReason: e.error, + isPaused: !1, + status: "error", + }; + } + }; + ((this.state = t(this.state)), + qi.batch(() => { + (this.#t.forEach((n) => { + n.onMutationUpdate(e); + }), + this.#n.notify({ mutation: this, type: "updated", action: e })); + })); + } + }; +}); +function _j(e) { + return e.options.scope?.id; +} +var Bet; +var Oet = P(() => { + M1(); + B8(); + QA(); + VAe(); + Bet = class extends D1 { + #e; + #t; + #n; + constructor(e = {}) { + super(); + ((this.config = e), + (this.#e = new Set()), + (this.#t = new Map()), + (this.#n = 0)); + } + build(e, t, n) { + let r = new Let({ + client: e, + mutationCache: this, + mutationId: ++this.#n, + options: e.defaultMutationOptions(t), + state: n, + }); + return (this.add(r), r); + } + add(e) { + this.#e.add(e); + let t = _j(e); + if (typeof t === "string") { + let n = this.#t.get(t); + if (n) n.push(e); + else this.#t.set(t, [e]); + } + this.notify({ type: "added", mutation: e }); + } + remove(e) { + if (this.#e.delete(e)) { + let t = _j(e); + if (typeof t === "string") { + let n = this.#t.get(t); + if (n) { + if (n.length > 1) { + let r = n.indexOf(e); + if (r !== -1) n.splice(r, 1); + } else if (n[0] === e) this.#t.delete(t); + } + } + } + this.notify({ type: "removed", mutation: e }); + } + canRun(e) { + let t = _j(e); + if (typeof t === "string") { + let n = this.#t.get(t)?.find((r) => r.state.status === "pending"); + return !n || n === e; + } else return !0; + } + runNext(e) { + let t = _j(e); + if (typeof t === "string") + return ( + this.#t + .get(t) + ?.find((n) => n !== e && n.state.isPaused) + ?.continue() ?? Promise.resolve() + ); + else return Promise.resolve(); + } + clear() { + qi.batch(() => { + (this.#e.forEach((e) => { + this.notify({ type: "removed", mutation: e }); + }), + this.#e.clear(), + this.#t.clear()); + }); + } + getAll() { + return Array.from(this.#e); + } + find(e) { + let t = { exact: !0, ...e }; + return this.getAll().find((n) => Lj(t, n)); + } + findAll(e = {}) { + return this.getAll().filter((t) => Lj(e, t)); + } + notify(e) { + qi.batch(() => { + this.listeners.forEach((t) => { + t(e); + }); + }); + } + resumePausedMutations() { + let e = this.getAll().filter((t) => t.state.isPaused); + return qi.batch(() => Promise.all(e.map((t) => t.continue().catch(Nl)))); + } + }; +}); +var GAe; +var Fet = P(() => { + M1(); + B8(); + QA(); + VAe(); + GAe = class extends D1 { + #e; + #t = void 0; + #n; + #r; + constructor(e, t) { + super(); + ((this.#e = e), this.setOptions(t), this.bindMethods(), this.#a()); + } + bindMethods() { + ((this.mutate = this.mutate.bind(this)), + (this.reset = this.reset.bind(this))); + } + setOptions(e) { + let t = this.options; + if ( + ((this.options = this.#e.defaultMutationOptions(e)), + !YR(this.options, t)) + ) + this.#e + .getMutationCache() + .notify({ + type: "observerOptionsUpdated", + mutation: this.#n, + observer: this, + }); + if ( + t?.mutationKey && + this.options.mutationKey && + mb(t.mutationKey) !== mb(this.options.mutationKey) + ) + this.reset(); + else if (this.#n?.state.status === "pending") + this.#n.setOptions(this.options); + } + onSubscribe() { + if (this.listeners.size === 1 && this.#n) + (this.#n.addObserver(this), this.#a()); + } + onUnsubscribe() { + if (!this.hasListeners()) this.#n?.removeObserver(this); + } + onMutationUpdate(e) { + (this.#a(), this.#o(e)); + } + getCurrentResult() { + return this.#t; + } + reset() { + (this.#n?.removeObserver(this), (this.#n = void 0), this.#a(), this.#o()); + } + mutate(e, t) { + return ( + (this.#r = t), + this.#n?.removeObserver(this), + (this.#n = this.#e.getMutationCache().build(this.#e, this.options)), + this.#n.addObserver(this), + this.#n.execute(e) + ); + } + #a() { + let e = this.#n?.state ?? HAe(); + this.#t = { + ...e, + isPending: e.status === "pending", + isSuccess: e.status === "success", + isError: e.status === "error", + isIdle: e.status === "idle", + mutate: this.mutate, + reset: this.reset, + }; + } + #o(e) { + qi.batch(() => { + if (this.#r && this.hasListeners()) { + let t = this.#t.variables, + n = this.#t.context, + r = { + client: this.#e, + meta: this.options.meta, + mutationKey: this.options.mutationKey, + }; + if (e?.type === "success") { + try { + this.#r.onSuccess?.(e.data, t, n, r); + } catch (o) { + Promise.reject(o); + } + try { + this.#r.onSettled?.(e.data, null, t, n, r); + } catch (o) { + Promise.reject(o); + } + } else if (e?.type === "error") { + try { + this.#r.onError?.(e.error, t, n, r); + } catch (o) { + Promise.reject(o); + } + try { + this.#r.onSettled?.(void 0, e.error, t, n, r); + } catch (o) { + Promise.reject(o); + } + } + } + this.listeners.forEach((t) => { + t(this.#t); + }); + }); + } + }; +}); +var Uet; +var Net = P(() => { + M1(); + B8(); + QA(); + UAe(); + Uet = class extends D1 { + #e; + constructor(e = {}) { + super(); + ((this.config = e), (this.#e = new Map())); + } + build(e, t, n) { + let r = t.queryKey, + o = t.queryHash ?? LU(r, t), + a = this.get(o); + if (!a) + ((a = new Ret({ + client: e, + queryKey: r, + queryHash: o, + options: e.defaultQueryOptions(t), + state: n, + defaultOptions: e.getQueryDefaults(r), + })), + this.add(a)); + return a; + } + add(e) { + if (!this.#e.has(e.queryHash)) + (this.#e.set(e.queryHash, e), this.notify({ type: "added", query: e })); + } + remove(e) { + if (this.#e.get(e.queryHash) === e) + (e.destroy(), + this.#e.delete(e.queryHash), + this.notify({ type: "removed", query: e })); + } + clear() { + qi.batch(() => { + this.getAll().forEach((e) => { + this.remove(e); + }); + }); + } + get(e) { + return this.#e.get(e); + } + getAll() { + return [...this.#e.values()]; + } + find(e) { + let t = { exact: !0, ...e }; + return this.getAll().find((n) => Dj(t, n)); + } + findAll(e = {}) { + let t = this.getAll(); + return Object.keys(e).length > 0 ? t.filter((n) => Dj(e, n)) : t; + } + notify(e) { + qi.batch(() => { + this.listeners.forEach((t) => { + t(e); + }); + }); + } + onFocus() { + qi.batch(() => { + this.getAll().forEach((e) => { + e.onFocus(); + }); + }); + } + onOnline() { + qi.batch(() => { + this.getAll().forEach((e) => { + e.onOnline(); + }); + }); + } + }; +}); +var qAe = class { + #e; + #t; + #n; + #r; + #a; + #o; + #i; + #l; + constructor(e = {}) { + ((this.#e = e.queryCache || new Uet()), + (this.#t = e.mutationCache || new Bet()), + (this.#n = e.defaultOptions || {}), + (this.#r = new Map()), + (this.#a = new Map()), + (this.#o = 0)); + } + mount() { + if ((this.#o++, this.#o !== 1)) return; + ((this.#i = $R.subscribe(async (e) => { + if (e) (await this.resumePausedMutations(), this.#e.onFocus()); + })), + (this.#l = eP.subscribe(async (e) => { + if (e) (await this.resumePausedMutations(), this.#e.onOnline()); + }))); + } + unmount() { + if ((this.#o--, this.#o !== 0)) return; + (this.#i?.(), (this.#i = void 0), this.#l?.(), (this.#l = void 0)); + } + isFetching(e) { + return this.#e.findAll({ ...e, fetchStatus: "fetching" }).length; + } + isMutating(e) { + return this.#t.findAll({ ...e, status: "pending" }).length; + } + getQueryData(e) { + let t = this.defaultQueryOptions({ queryKey: e }); + return this.#e.get(t.queryHash)?.state.data; + } + ensureQueryData(e) { + let t = this.defaultQueryOptions(e), + n = this.#e.build(this, t), + r = n.state.data; + if (r === void 0) return this.fetchQuery(e); + if (e.revalidateIfStale && n.isStaleByTime(ys(t.staleTime, n))) + this.prefetchQuery(t); + return Promise.resolve(r); + } + getQueriesData(e) { + return this.#e.findAll(e).map(({ queryKey: t, state: n }) => [t, n.data]); + } + setQueryData(e, t, n) { + let r = this.defaultQueryOptions({ queryKey: e }), + o = this.#e.get(r.queryHash)?.state.data, + a = yet(t, o); + if (a === void 0) return; + return this.#e.build(this, r).setData(a, { ...n, manual: !0 }); + } + setQueriesData(e, t, n) { + return qi.batch(() => + this.#e + .findAll(e) + .map(({ queryKey: r }) => [r, this.setQueryData(r, t, n)]), + ); + } + getQueryState(e) { + let t = this.defaultQueryOptions({ queryKey: e }); + return this.#e.get(t.queryHash)?.state; + } + removeQueries(e) { + let t = this.#e; + qi.batch(() => { + t.findAll(e).forEach((n) => { + t.remove(n); + }); + }); + } + resetQueries(e, t) { + let n = this.#e; + return qi.batch(() => { + let r = n.findAll(e), + o = new Set(r); + return ( + r.forEach((a) => { + a.reset(); + }), + this.refetchQueries({ type: "active", predicate: (a) => o.has(a) }, t) + ); + }); + } + cancelQueries(e, t = {}) { + let n = { revert: !0, ...t }, + r = qi.batch(() => this.#e.findAll(e).map((o) => o.cancel(n))); + return Promise.all(r).then(Nl).catch(Nl); + } + invalidateQueries(e, t = {}) { + return qi.batch(() => { + if ( + (this.#e.findAll(e).forEach((n) => { + n.invalidate(); + }), + e?.refetchType === "none") + ) + return Promise.resolve(); + return this.refetchQueries( + { ...e, type: e?.refetchType ?? e?.type ?? "active" }, + t, + ); + }); + } + refetchQueries(e, t = {}) { + let n = { ...t, cancelRefetch: t.cancelRefetch ?? !0 }, + r = qi.batch(() => + this.#e + .findAll(e) + .filter((o) => !o.isDisabled() && !o.isStatic()) + .map((o) => { + let a = o.fetch(void 0, n); + if (!n.throwOnError) a = a.catch(Nl); + return o.state.fetchStatus === "paused" ? Promise.resolve() : a; + }), + ); + return Promise.all(r).then(Nl); + } + async query(e) { + let t = this.defaultQueryOptions(e); + if (t.retry === void 0) t.retry = !1; + let n = this.#e.build(this, t), + r = n.isStaleByTime(ys(t.staleTime, n)) ? await n.fetch(t) : n.state.data, + o = t.select; + if (o) return o(r); + return r; + } + fetchQuery(e) { + let t = this.defaultQueryOptions(e); + if (t.retry === void 0) t.retry = !1; + let n = this.#e.build(this, t); + return n.isStaleByTime(ys(t.staleTime, n)) + ? n.fetch(t) + : Promise.resolve(n.state.data); + } + prefetchQuery(e) { + return this.fetchQuery(e).then(Nl).catch(Nl); + } + infiniteQuery(e) { + return ((e._type = "infinite"), this.query(e)); + } + fetchInfiniteQuery(e) { + return ((e._type = "infinite"), this.fetchQuery(e)); + } + prefetchInfiniteQuery(e) { + return this.fetchInfiniteQuery(e).then(Nl).catch(Nl); + } + ensureInfiniteQueryData(e) { + return ((e._type = "infinite"), this.ensureQueryData(e)); + } + resumePausedMutations() { + if (eP.isOnline()) return this.#t.resumePausedMutations(); + return Promise.resolve(); + } + getQueryCache() { + return this.#e; + } + getMutationCache() { + return this.#t; + } + getDefaultOptions() { + return this.#n; + } + setDefaultOptions(e) { + this.#n = e; + } + setQueryDefaults(e, t) { + this.#r.set(mb(e), { queryKey: e, defaultOptions: t }); + } + getQueryDefaults(e) { + let t = [...this.#r.values()], + n = {}; + return ( + t.forEach((r) => { + if (w4(e, r.queryKey)) Object.assign(n, r.defaultOptions); + }), + n + ); + } + setMutationDefaults(e, t) { + this.#a.set(mb(e), { mutationKey: e, defaultOptions: t }); + } + getMutationDefaults(e) { + let t = [...this.#a.values()], + n = {}; + return ( + t.forEach((r) => { + if (w4(e, r.mutationKey)) Object.assign(n, r.defaultOptions); + }), + n + ); + } + defaultQueryOptions(e) { + if (e._defaulted) return e; + let t = { + ...this.#n.queries, + ...this.getQueryDefaults(e.queryKey), + ...e, + _defaulted: !0, + }; + if (!t.queryHash) t.queryHash = LU(t.queryKey, t); + if (t.refetchOnReconnect === void 0) + t.refetchOnReconnect = t.networkMode !== "always"; + if (t.throwOnError === void 0) t.throwOnError = !!t.suspense; + if (!t.networkMode && t.persister) t.networkMode = "offlineFirst"; + if (t.queryFn === KR) t.enabled = !1; + return t; + } + defaultMutationOptions(e) { + if (e?._defaulted) return e; + return { + ...this.#n.mutations, + ...(e?.mutationKey && this.getMutationDefaults(e.mutationKey)), + ...e, + _defaulted: !0, + }; + } + clear() { + (this.#e.clear(), this.#t.clear()); + } +}; +var zet = P(() => { + M1(); + Fj(); + QA(); + DAe(); + Oet(); + Net(); +}); +var tP = P(() => { + M1(); + QA(); + Det(); + Fet(); + zet(); +}); +var _et, + Het = (e, t, n) => { + let r = + n?.state.error && typeof e.throwOnError === "function" + ? JR(e.throwOnError, [n.state.error, n]) + : e.throwOnError; + if (e.suspense || r) { + if (!t.isReset()) e.retryOnMount = !1; + } + }, + Vet = (e) => { + _et.useEffect(() => { + e.clearReset(); + }, [e]); + }, + Get = ({ + result: e, + errorResetBoundary: t, + throwOnError: n, + query: r, + suspense: o, + }) => + e.isError && + !t.isReset() && + !e.isFetching && + r && + ((o && e.data === void 0) || JR(n, [e.error, r])); +var qet = P(() => { + tP(); + _et = z(re(), 1); +}); +var Zet = (e) => { + if (e.suspense) { + let n = (o) => (o === "static" ? o : Math.max(o ?? 1000, 1000)), + r = e.staleTime; + if ( + ((e.staleTime = typeof r === "function" ? (...o) => n(r(...o)) : n(r)), + typeof e.gcTime === "number") + ) + e.gcTime = Math.max(e.gcTime, 1000); + } + }, + Qet = (e, t) => e?.suspense && t.isPending, + Xet = (e, t, n) => + t.fetchOptimistic(e).catch(() => { + n.clearReset(); + }); +var Wet = () => {}; +function Yet(e, t, n) { + let r = uet(), + o = pet(), + a = th(n), + i = a.defaultQueryOptions(e), + s = a.getQueryCache().get(i.queryHash), + l = e.subscribed !== !1; + ((i._optimisticResults = r ? "isRestoring" : l ? "optimistic" : void 0), + Zet(i), + Het(i, o, s), + Vet(o)); + let [c] = S4.useState(() => new t(a, i)), + u = c.getOptimisticResult(i), + d = !r && l; + if ( + (S4.useSyncExternalStore( + S4.useCallback( + (p) => { + let f = d ? c.subscribe(qi.batchCalls(p)) : Nl; + return (c.updateResult(), f); + }, + [c, d], + ), + () => c.getCurrentResult(), + () => c.getCurrentResult(), + ), + S4.useEffect(() => { + c.setOptions(i); + }, [i, c]), + Qet(i, u)) + ) + throw Xet(i, c, o); + if ( + Get({ + result: u, + errorResetBoundary: o, + throwOnError: i.throwOnError, + query: s, + suspense: i.suspense, + }) + ) + throw u.error; + return !i.notifyOnChangeProps ? c.trackResult(u) : u; +} +var S4; +var Ket = P(() => { + kj(); + det(); + fet(); + qet(); + Wet(); + tP(); + S4 = z(re(), 1); +}); +function C4(e, t) { + return Yet(e, zAe, t); +} +var Jet = P(() => { + Ket(); + tP(); +}); +function Hj(e, t) { + let n = th(t), + [r] = XA.useState(() => new GAe(n, e)); + XA.useEffect(() => { + r.setOptions(e); + }, [r, e]); + let o = XA.useSyncExternalStore( + XA.useCallback((i) => r.subscribe(qi.batchCalls(i)), [r]), + () => r.getCurrentResult(), + () => r.getCurrentResult(), + ), + a = XA.useCallback( + (...i) => { + r.mutate(i[0], i[1]).catch(Nl); + }, + [r], + ); + if (o.error && JR(r.options.throwOnError, [o.error])) throw o.error; + return { ...o, mutate: a, mutateAsync: o.mutate }; +} +var XA; +var jet = P(() => { + kj(); + tP(); + XA = z(re(), 1); +}); +var hb = P(() => { + kj(); + Jet(); + jet(); + tP(); +}); +function Gj({ client: e, children: t }) { + return h(kAe, { + client: ett, + children: h($et.Provider, { value: e, children: t }), + }); +} +function Ws() { + let e = Vj.useContext($et); + if (!e) + throw Error("useSpacedriveClient must be used within SpacedriveProvider"); + return e; +} +function qj() { + return Ws(); +} +var Vj, $et, ett; +var nP = P(() => { + hb(); + le(); + ((Vj = z(re(), 1)), + ($et = Vj.createContext(null)), + (ett = new qAe({ + defaultOptions: { + queries: { + staleTime: 30000, + gcTime: 300000, + retry: 1, + refetchOnWindowFocus: !0, + refetchOnReconnect: !0, + }, + }, + }))); +}); +function O8(e, t) { + let n = Ws(), + r = QR.coreQueries[e.type]; + return C4({ + queryKey: [e.type, e.input], + queryFn: () => n.execute(r, e.input), + ...t, + }); +} +function ua(e, t) { + let n = Ws(), + r = QR.libraryQueries[e.type], + o = n.getCurrentLibraryId(); + return C4({ + queryKey: [e.type, o, e.input], + queryFn: () => { + if (!o) + throw Error("No library selected. Use client.switchToLibrary() first."); + return n.execute(r, e.input); + }, + enabled: !!o && (t?.enabled ?? !0), + ...t, + }); +} +var ZAe = P(() => { + hb(); + nP(); + PU(); +}); +function F8(e, t) { + let n = Ws(), + r = QR.coreActions[e]; + return Hj({ mutationFn: (o) => n.execute(r, o), ...t }); +} +function En(e, t) { + let n = Ws(), + r = QR.libraryActions[e]; + return Hj({ + mutationFn: (o) => { + if (!n.getCurrentLibraryId()) + throw Error("No library selected. Use client.switchToLibrary() first."); + return n.execute(r, o); + }, + ...t, + }); +} +var QAe = P(() => { + hb(); + nP(); + PU(); +}); +function ttt(e) { + if (!e && !Zj) return FTn; + return { + lang: e?.lang ?? Zj?.lang, + message: e?.message, + abortEarly: e?.abortEarly ?? Zj?.abortEarly, + abortPipeEarly: e?.abortPipeEarly ?? Zj?.abortPipeEarly, + }; +} +function NTn(e) { + return UTn?.get(e); +} +function _Tn(e) { + return zTn?.get(e); +} +function VTn(e, t) { + return HTn?.get(e)?.get(t); +} +function GTn(e) { + let t = typeof e; + if (t === "string") return `"${e}"`; + if (t === "number" || t === "bigint" || t === "boolean") return `${e}`; + if (t === "object" || t === "function") + return (e && Object.getPrototypeOf(e)?.constructor?.name) ?? "null"; + return t; +} +function Qj(e, t, n, r, o) { + let a = o && "input" in o ? o.input : n.value, + i = o?.expected ?? e.expects ?? null, + s = o?.received ?? GTn(a), + l = { + kind: e.kind, + type: e.type, + input: a, + expected: i, + received: s, + message: `Invalid ${t}: ${i ? `Expected ${i} but r` : "R"}eceived ${s}`, + requirement: e.requirement, + path: o?.path, + issues: o?.issues, + lang: r.lang, + abortEarly: r.abortEarly, + abortPipeEarly: r.abortPipeEarly, + }, + c = e.kind === "schema", + u = + o?.message ?? + e.message ?? + VTn(e.reference, l.lang) ?? + (c ? _Tn(l.lang) : null) ?? + r.message ?? + NTn(l.lang); + if (u !== void 0) l.message = typeof u === "function" ? u(l) : u; + if (c) n.typed = !1; + if (n.issues) n.issues.push(l); + else n.issues = [l]; +} +function rP(e) { + return ( + (e["~standard"] = { + version: 1, + vendor: "valibot", + validate: (t) => e["~run"]({ value: t }, ttt()), + }), + e + ); +} +function qTn(e, t, n) { + return typeof e.fallback === "function" ? e.fallback(t, n) : e.fallback; +} +function XAe(e, t, n) { + return typeof e.default === "function" ? e.default(t, n) : e.default; +} +function E4() { + return rP({ + kind: "schema", + type: "any", + reference: E4, + expects: "any", + async: !1, + "~run"(e) { + return ((e.typed = !0), e); + }, + }); +} +function WA(e, t) { + return rP({ + kind: "schema", + type: "array", + reference: WA, + expects: "Array", + async: !1, + item: e, + message: t, + "~run"(n, r) { + let o = n.value; + if (Array.isArray(o)) { + ((n.typed = !0), (n.value = [])); + for (let a = 0; a < o.length; a++) { + let i = o[a], + s = this.item["~run"]({ value: i }, r); + if (s.issues) { + let l = { + type: "array", + origin: "value", + input: o, + key: a, + value: i, + }; + for (let c of s.issues) { + if (c.path) c.path.unshift(l); + else c.path = [l]; + n.issues?.push(c); + } + if (!n.issues) n.issues = s.issues; + if (r.abortEarly) { + n.typed = !1; + break; + } + } + if (!s.typed) n.typed = !1; + n.value.push(s.value); + } + } else Qj(this, "type", n, r); + return n; + }, + }); +} +function Xj(e, t) { + return rP({ + kind: "schema", + type: "nullish", + reference: Xj, + expects: `(${e.expects} | null | undefined)`, + async: !1, + wrapped: e, + default: t, + "~run"(n, r) { + if (n.value === null || n.value === void 0) { + if (this.default !== void 0) n.value = XAe(this, n, r); + if (n.value === null || n.value === void 0) return ((n.typed = !0), n); + } + return this.wrapped["~run"](n, r); + }, + }); +} +function gb(e, t) { + return rP({ + kind: "schema", + type: "object", + reference: gb, + expects: "Object", + async: !1, + entries: e, + message: t, + "~run"(n, r) { + let o = n.value; + if (o && typeof o === "object") { + ((n.typed = !0), (n.value = {})); + for (let a in this.entries) { + let i = this.entries[a]; + if ( + a in o || + ((i.type === "exact_optional" || + i.type === "optional" || + i.type === "nullish") && + i.default !== void 0) + ) { + let s = a in o ? o[a] : XAe(i), + l = i["~run"]({ value: s }, r); + if (l.issues) { + let c = { + type: "object", + origin: "value", + input: o, + key: a, + value: s, + }; + for (let u of l.issues) { + if (u.path) u.path.unshift(c); + else u.path = [c]; + n.issues?.push(u); + } + if (!n.issues) n.issues = l.issues; + if (r.abortEarly) { + n.typed = !1; + break; + } + } + if (!l.typed) n.typed = !1; + n.value[a] = l.value; + } else if (i.fallback !== void 0) n.value[a] = qTn(i); + else if ( + i.type !== "exact_optional" && + i.type !== "optional" && + i.type !== "nullish" + ) { + if ( + (Qj(this, "key", n, r, { + input: void 0, + expected: `"${a}"`, + path: [ + { + type: "object", + origin: "key", + input: o, + key: a, + value: o[a], + }, + ], + }), + r.abortEarly) + ) + break; + } + } + } else Qj(this, "type", n, r); + return n; + }, + }); +} +function I4(e, t) { + return rP({ + kind: "schema", + type: "optional", + reference: I4, + expects: `(${e.expects} | undefined)`, + async: !1, + wrapped: e, + default: t, + "~run"(n, r) { + if (n.value === void 0) { + if (this.default !== void 0) n.value = XAe(this, n, r); + if (n.value === void 0) return ((n.typed = !0), n); + } + return this.wrapped["~run"](n, r); + }, + }); +} +function T4(e) { + return rP({ + kind: "schema", + type: "string", + reference: T4, + expects: "string", + async: !1, + message: e, + "~run"(t, n) { + if (typeof t.value === "string") t.typed = !0; + else Qj(this, "type", t, n); + return t; + }, + }); +} +function Wj(e, t, n) { + let r = e["~run"]({ value: t }, ttt(n)); + return { + typed: r.typed, + success: !r.issues, + output: r.value, + issues: r.issues, + }; +} +var Zj, FTn, UTn, zTn, HTn; +var ntt = P(() => { + FTn = { + lang: void 0, + message: void 0, + abortEarly: void 0, + abortPipeEarly: void 0, + }; +}); +function WAe(e, t) { + if (e) return; + let n = "Invariant failed", + r = typeof t === "function" ? t() : t; + throw Error(r ? `${n}: ${r}` : n); +} +function mr(e) { + let t = Ws(), + n = th(), + [r, o] = pg.useState(t.getCurrentLibraryId()); + pg.useEffect(() => { + let d = (p) => { + o(p); + }; + return ( + t.on("library-changed", d), + () => { + t.off("library-changed", d); + } + ); + }, [t]); + let a = pg.useMemo(() => YAe(e.query), [e.query]), + i = pg.useMemo(() => [a, r, e.input], [a, r, JSON.stringify(e.input)]), + s = C4({ + queryKey: i, + queryFn: async () => ( + WAe(r, "Library ID must be set before querying"), + await t.execute(a, e.input) + ), + enabled: (e.enabled ?? !0) && !!r, + select: e.select, + }), + l = pg.useRef(e), + c = pg.useRef(i); + pg.useEffect(() => { + ((l.current = e), (c.current = i)); + }); + let u = pg.useMemo(() => JSON.stringify(e.pathScope), [e.pathScope]); + return ( + pg.useEffect(() => { + if (!r) return; + if (e.resourceType === "file" && !e.pathScope) return; + let d, + p = !1, + f = e.pathScope, + m = i, + g = (v) => { + let y = l.current.debug; + if (y) + console.log( + "[useNormalizedQuery] RAW EVENT received:", + typeof v, + v, + ); + if (JSON.stringify(l.current.pathScope) !== JSON.stringify(f)) { + if (y) + console.log( + "[useNormalizedQuery] STALE pathScope, skipping event", + ); + return; + } + YTn(v, l.current, m, n, l.current.debug); + }; + if (e.debug) + console.log( + `[useNormalizedQuery] SUBSCRIBING: resourceType=${e.resourceType}, pathScope=`, + JSON.stringify(e.pathScope), + `includeDescendants=${e.includeDescendants ?? !1}`, + ); + return ( + t + .subscribeFiltered( + { + resource_type: e.resourceType, + path_scope: e.pathScope, + library_id: r, + include_descendants: e.includeDescendants ?? !1, + }, + g, + ) + .then((v) => { + if (p) { + if (e.debug) + console.log( + "[useNormalizedQuery] Subscription created but already cancelled", + ); + v(); + } else { + if (e.debug) + console.log("[useNormalizedQuery] Subscription ACTIVE"); + d = v; + } + }) + .catch((v) => { + if (!p && e.debug) + console.error("[useNormalizedQuery] Subscription failed", v); + }), + () => { + if (e.debug) console.log("[useNormalizedQuery] UNSUBSCRIBING"); + ((p = !0), d?.()); + } + ); + }, [t, n, e.resourceType, e.resourceId, u, e.includeDescendants, r]), + s + ); +} +function YTn(e, t, n, r, o) { + let a = YAe(t.query); + if (typeof e === "string") return; + if ("Refresh" in e) { + if (o) console.log(`[useNormalizedQuery] ${a} processing Refresh`, e); + r.invalidateQueries(); + return; + } + if ("ResourceChanged" in e) { + let i = Wj(QTn, e); + if (!i.success) return; + let { + resource_type: s, + resource: l, + metadata: c, + } = i.output.ResourceChanged; + if (s === t.resourceType) { + if (o) + console.log(`[useNormalizedQuery] ${a} processing ResourceChanged`, e); + KTn(l, c, n, r, t); + } + } else if ("ResourceChangedBatch" in e) { + let i = Wj(XTn, e); + if (!i.success) return; + let { + resource_type: s, + resources: l, + metadata: c, + } = i.output.ResourceChangedBatch; + if (s === t.resourceType && Array.isArray(l)) { + if (o) + console.log( + `[useNormalizedQuery] ${a} processing ResourceChangedBatch`, + e, + ); + JTn(l, c, t, n, r); + } + } else if ("ResourceDeleted" in e) { + let i = Wj(WTn, e); + if (!i.success) return; + let { resource_type: s, resource_id: l } = i.output.ResourceDeleted; + if (s === t.resourceType) { + if (o) + console.log(`[useNormalizedQuery] ${a} processing ResourceDeleted`, e); + KAe(l, n, r); + } + } +} +function YAe(e) { + if ( + (WAe(e, "useNormalizedQuery requires a query method"), + e.startsWith("query:")) + ) + return e; + return ( + WAe( + !e.startsWith("action:"), + "useNormalizedQuery only supports queries, remove the action prefix", + ), + `query:${e}` + ); +} +function rtt(e, t) { + let n = e; + if (t.resourceId) n = n.filter((r) => r.id === t.resourceId); + if (t.pathScope && t.resourceType === "file" && !t.includeDescendants) + n = n.filter((r) => { + let o = t.pathScope.Physical?.path; + if (!o) return !1; + let a = String(o).replace(/\\/g, "/").replace(/\/+$/, ""), + i = /^[a-zA-Z]:\//.test(a) || a.startsWith("//?/"), + s = i ? a.toLowerCase() : a, + c = (r.alternate_paths || []).find((v) => v.Physical), + u = r.sd_path?.Physical, + d = c?.Physical || u; + if (!d?.path) return !1; + let p = String(d.path).replace(/\\/g, "/"), + f = i ? p.toLowerCase() : p, + m = f.lastIndexOf("/"); + if (m === -1) return !1; + return f.substring(0, m) === s; + }); + return n; +} +function KTn(e, t, n, r, o) { + let a = t?.no_merge_fields || [], + i = [e]; + if (o) { + if (((i = rtt(i, o)), i.length === 0)) { + if (e.id) KAe(e.id, n, r); + return; + } + } + r.setQueryData(n, (s) => { + if (!s) return; + if (Array.isArray(s)) return ott(s, i, a); + if (s && typeof s === "object") return att(s, i, a); + return s; + }); +} +function JTn(e, t, n, r, o) { + let a = t?.no_merge_fields || [], + i = rtt(e, n), + s = YAe(n.query); + if (n.debug) { + if ( + (console.log( + `[useNormalizedQuery] ${s} BATCH: ${e.length} total, ${i.length} after filter`, + ), + i.length === 0 && e.length > 0) + ) + console.log( + `[useNormalizedQuery] ${s} ALL FILTERED OUT! First resource:`, + JSON.stringify(e[0]?.sd_path), + "pathScope:", + JSON.stringify(n.pathScope), + ); + } + if (i.length === 0) { + for (let l of e) if (l.id) KAe(l.id, r, o); + return; + } + o.setQueryData(r, (l) => { + if (n.debug) + console.log( + `[useNormalizedQuery] ${s} setQueryData: oldData has`, + Array.isArray(l) ? l.length : Object.keys(l || {}).join(","), + `adding ${i.length} resources`, + ); + if (!l) return { files: i, total_count: i.length, has_more: !1 }; + if (Array.isArray(l)) return ott(l, i, a); + if (l && typeof l === "object") return att(l, i, a); + return l; + }); +} +function KAe(e, t, n) { + n.setQueryData(t, (r) => { + if (!r) return r; + if (Array.isArray(r)) return r.filter((o) => o.id !== e); + if (r && typeof r === "object") { + let o = Object.keys(r).find((a) => Array.isArray(r[a])); + if (o) return { ...r, [o]: r[o].filter((a) => a.id !== e) }; + } + return r; + }); +} +function ott(e, t, n) { + let r = [...e], + o = new Set(); + for (let a = 0; a < r.length; a++) { + let i = r[a], + s = t.find((l) => l.id === i.id); + if (s) ((r[a] = oP(i, s, n)), o.add(s.id)); + } + for (let a of t) + if (!o.has(a.id) && a.sd_path?.Content) { + let i = a.alternate_paths?.find((s) => s.Physical)?.Physical?.path; + if (i) { + let s = r.findIndex( + (l) => + (l.sd_path?.Physical?.path || + l.alternate_paths?.find((u) => u.Physical)?.Physical?.path) === i, + ); + if (s !== -1) ((r[s] = oP(r[s], a, n)), o.add(a.id)); + } + } + for (let a of t) + if (!o.has(a.id)) { + if (a.sd_path?.Content) { + if (!a.alternate_paths || a.alternate_paths.length === 0) continue; + } + r.push(a); + } + return r; +} +function att(e, t, n) { + let r = t.find((a) => a.id === e.id); + if (r) return oP(e, r, n); + let o = Object.keys(e).find((a) => Array.isArray(e[a])); + if (o) { + let a = [...e[o]], + i = new Set(); + for (let s = 0; s < a.length; s++) { + let l = a[s], + c = t.find((u) => u.id === l.id); + if (c) ((a[s] = oP(l, c, n)), i.add(c.id)); + } + for (let s of t) + if (!i.has(s.id) && s.sd_path?.Content) { + let l = s.alternate_paths?.find((c) => c.Physical)?.Physical?.path; + if (l) { + let c = a.findIndex( + (u) => + (u.sd_path?.Physical?.path || + u.alternate_paths?.find((p) => p.Physical)?.Physical?.path) === + l, + ); + if (c !== -1) ((a[c] = oP(a[c], s, n)), i.add(s.id)); + } + } + for (let s of t) + if (!i.has(s.id)) { + if (s.sd_path?.Content) { + if (!s.alternate_paths || s.alternate_paths.length === 0) continue; + } + if (a.some((c) => c.id === s.id)) continue; + a.push(s); + } + return { ...e, [o]: a }; + } + return e; +} +function oP(e, t, n = []) { + if (t === null || t === void 0) return e !== null && e !== void 0 ? e : t; + let r = { ...e }; + for (let o of Object.keys(t)) { + let a = t[o], + i = e[o]; + if (n.includes(o)) r[o] = a; + else if (Array.isArray(a)) r[o] = a; + else if ( + a !== null && + typeof a === "object" && + i !== null && + typeof i === "object" && + !Array.isArray(i) + ) + r[o] = oP(i, a, n); + else r[o] = a; + } + return r; +} +var pg, QTn, XTn, WTn; +var Yj = P(() => { + hb(); + nP(); + ntt(); + pg = z(re(), 1); + ((QTn = gb({ + ResourceChanged: gb({ + resource_type: T4(), + resource: E4(), + metadata: Xj( + gb({ + no_merge_fields: I4(WA(T4())), + affected_paths: I4(WA(E4())), + alternate_ids: I4(WA(E4())), + }), + ), + }), + })), + (XTn = gb({ + ResourceChangedBatch: gb({ + resource_type: T4(), + resources: WA(E4()), + metadata: Xj( + gb({ + no_merge_fields: I4(WA(T4())), + affected_paths: I4(WA(E4())), + alternate_ids: I4(WA(E4())), + }), + ), + }), + })), + (WTn = gb({ + ResourceDeleted: gb({ resource_type: T4(), resource_id: T4() }), + }))); +}); +function jTn(e) { + if (e.length <= 100) return e; + let t = Math.ceil(e.length / 100), + n = []; + for (let r = 0; r < e.length; r += t) { + let o = e.slice(r, r + t), + a = o.reduce((i, s) => i + s.bytesPerSecond, 0) / o.length; + n.push({ timestamp: o[0].timestamp, bytesPerSecond: a }); + } + return n; +} +function JAe(e = {}) { + let { onJobCompleted: t, onJobFailed: n, onJobCancelled: r } = e, + [o, a] = nh.useState([]), + i = Ws(), + s = nh.useRef(new Map()), + l = nh.useMemo(() => ({ status: null }), []), + { + data: c, + isLoading: u, + error: d, + refetch: p, + } = ua({ type: "jobs.list", input: l }), + f = En("jobs.pause"), + m = En("jobs.resume"), + g = En("jobs.cancel"), + v = nh.useRef(p); + nh.useEffect(() => { + v.current = p; + }, [p]); + let y = nh.useRef([]); + (nh.useEffect(() => { + y.current = o; + }, [o]), + nh.useEffect(() => { + if (c?.jobs) a(c.jobs); + }, [c]), + nh.useEffect(() => { + if (!i) return; + let I, + k = !1, + L = (B) => { + if ("JobStarted" in B) v.current(); + else if ( + "JobQueued" in B || + "JobCompleted" in B || + "JobFailed" in B || + "JobPaused" in B || + "JobResumed" in B || + "JobCancelled" in B + ) { + if ( + "JobCompleted" in B || + "JobFailed" in B || + "JobCancelled" in B + ) { + let U = + B.JobCompleted?.job_id || + B.JobFailed?.job_id || + B.JobCancelled?.job_id; + if (U) { + if ("JobCompleted" in B) + a((D) => + D.map((N) => (N.id === U ? { ...N, progress: 1 } : N)), + ); + if ((s.current.delete(U), "JobCompleted" in B)) { + let D = B.JobCompleted?.job_type || ""; + t?.(U, D); + } else if ("JobFailed" in B) n?.(U); + else if ("JobCancelled" in B) r?.(U); + } + } + v.current(); + } else if ("JobProgress" in B) { + let U = B.JobProgress; + if (!U) return; + if (U.generic_progress?.performance?.rate) { + let D = U.job_id, + N = U.generic_progress.performance.rate, + _ = s.current.get(D) || []; + if ( + (_.push({ timestamp: Date.now(), bytesPerSecond: N }), + _.length > 100) + ) + s.current.set(D, jTn(_)); + else s.current.set(D, _); + } + a((D) => + D.map((N) => { + if (N.id !== U.job_id) return N; + let _ = U.generic_progress; + return { + ...N, + progress: U.progress, + ...(_ && { + current_phase: _.phase, + current_path: _.current_path, + status_message: _.message, + generic_progress: _, + }), + }; + }), + ); + } + }, + O = { + event_types: [ + "JobQueued", + "JobStarted", + "JobProgress", + "JobCompleted", + "JobFailed", + "JobPaused", + "JobResumed", + "JobCancelled", + ], + }; + return ( + i.subscribeFiltered(O, L).then((B) => { + if (k) B(); + else I = B; + }), + () => { + ((k = !0), I?.()); + } + ); + }, [i, t, n, r])); + let x = async (I) => { + try { + if (!(await f.mutateAsync({ job_id: I })).success) + console.error("Failed to pause job:", I); + } catch (k) { + console.error("Failed to pause job:", k); + } + }, + A = async (I) => { + try { + if (!(await m.mutateAsync({ job_id: I })).success) + console.error("Failed to resume job:", I); + } catch (k) { + console.error("Failed to resume job:", k); + } + }, + w = async (I) => { + try { + if (!(await g.mutateAsync({ job_id: I })).success) + console.error("Failed to cancel job:", I); + } catch (k) { + console.error("Failed to cancel job:", k); + } + }, + C = o.filter((I) => I.status === "running").length, + E = o.filter((I) => I.status === "paused").length, + T = nh.useCallback((I) => s.current.get(I) || [], []); + return { + jobs: o, + activeJobCount: C + E, + hasRunningJobs: C > 0, + pause: x, + resume: A, + cancel: w, + isLoading: u, + error: d, + getSpeedHistory: T, + }; +} +var nh; +var itt = P(() => { + QAe(); + ZAe(); + nP(); + nh = z(re(), 1); +}); +var $Tn; +var stt = P(() => { + Yj(); + $Tn = z(re(), 1); +}); +var jAe = P(() => { + nP(); + ZAe(); + QAe(); + Yj(); + Yj(); + itt(); + stt(); +}); +var ltt = (e) => { + let t, + n = new Set(), + r = (c, u) => { + let d = typeof c === "function" ? c(t) : c; + if (!Object.is(d, t)) { + let p = t; + ((t = (u != null ? u : typeof d !== "object" || d === null) + ? d + : Object.assign({}, t, d)), + n.forEach((f) => f(t, p))); + } + }, + o = () => t, + s = { + setState: r, + getState: o, + getInitialState: () => l, + subscribe: (c) => (n.add(c), () => n.delete(c)), + }, + l = (t = e(r, o, s)); + return s; + }, + Kj = (e) => (e ? ltt(e) : ltt); +var Jj = () => {}; +function t7n(e, t = e7n) { + let n = OU.default.useSyncExternalStore( + e.subscribe, + OU.default.useCallback(() => t(e.getState()), [e, t]), + OU.default.useCallback(() => t(e.getInitialState()), [e, t]), + ); + return (OU.default.useDebugValue(n), n); +} +var OU, + e7n = (e) => e, + ctt = (e) => { + let t = Kj(e), + n = (r) => t7n(t, r); + return (Object.assign(n, t), n); + }, + wp = (e) => (e ? ctt(e) : ctt); +var utt = P(() => { + Jj(); + OU = z(re(), 1); +}); +var yb = P(() => { + Jj(); + utt(); +}); +function n7n(e, t) { + let n; + try { + n = e(); + } catch (o) { + return; + } + return { + getItem: (o) => { + var a; + let i = (l) => { + if (l === null) return null; + return JSON.parse(l, t == null ? void 0 : t.reviver); + }, + s = (a = n.getItem(o)) != null ? a : null; + if (s instanceof Promise) return s.then(i); + return i(s); + }, + setItem: (o, a) => + n.setItem(o, JSON.stringify(a, t == null ? void 0 : t.replacer)), + removeItem: (o) => n.removeItem(o), + }; +} +var $Ae = (e) => (t) => { + try { + let n = e(t); + if (n instanceof Promise) return n; + return { + then(r) { + return $Ae(r)(n); + }, + catch(r) { + return this; + }, + }; + } catch (n) { + return { + then(r) { + return this; + }, + catch(r) { + return $Ae(r)(n); + }, + }; + } + }, + r7n = (e, t) => (n, r, o) => { + let a = { + storage: n7n(() => window.localStorage), + partialize: (v) => v, + version: 0, + merge: (v, y) => ({ ...y, ...v }), + ...t, + }, + i = !1, + s = 0, + l = new Set(), + c = new Set(), + u = a.storage; + if (!u) + return e( + (...v) => { + (console.warn( + `[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`, + ), + n(...v)); + }, + r, + o, + ); + let d = () => { + let v = a.partialize({ ...r() }); + return u.setItem(a.name, { state: v, version: a.version }); + }, + p = o.setState; + o.setState = (v, y) => (p(v, y), d()); + let f = e((...v) => (n(...v), d()), r, o); + o.getInitialState = () => f; + let m, + g = () => { + var v, y; + if (!u) return; + let x = ++s; + ((i = !1), + l.forEach((w) => { + var C; + return w((C = r()) != null ? C : f); + })); + let A = + ((y = a.onRehydrateStorage) == null + ? void 0 + : y.call(a, (v = r()) != null ? v : f)) || void 0; + return $Ae(u.getItem.bind(u))(a.name) + .then((w) => { + if (w) + if (typeof w.version === "number" && w.version !== a.version) { + if (a.migrate) { + let C = a.migrate(w.state, w.version); + if (C instanceof Promise) return C.then((E) => [!0, E]); + return [!0, C]; + } + console.error( + "State loaded from storage couldn't be migrated since no migrate function was provided", + ); + } else return [!1, w.state]; + return [!1, void 0]; + }) + .then((w) => { + var C; + if (x !== s) return; + let [E, T] = w; + if (((m = a.merge(T, (C = r()) != null ? C : f)), n(m, !0), E)) + return d(); + }) + .then(() => { + if (x !== s) return; + (A == null || A(r(), void 0), + (m = r()), + (i = !0), + c.forEach((w) => w(m))); + }) + .catch((w) => { + if (x !== s) return; + A == null || A(void 0, w); + }); + }; + if ( + ((o.persist = { + setOptions: (v) => { + if (((a = { ...a, ...v }), v.storage)) u = v.storage; + }, + clearStorage: () => { + (++s, u == null || u.removeItem(a.name)); + }, + getOptions: () => a, + rehydrate: () => g(), + hasHydrated: () => i, + onHydrate: (v) => ( + l.add(v), + () => { + l.delete(v); + } + ), + onFinishHydration: (v) => ( + c.add(v), + () => { + c.delete(v); + } + ), + }), + !a.skipHydration) + ) + g(); + return m || f; + }, + k4; +var FU = P(() => { + k4 = r7n; +}); +var aP; +var dtt = P(() => { + yb(); + FU(); + aP = wp()( + k4( + (e) => ({ + currentSpaceId: null, + setCurrentSpace: (t) => e({ currentSpaceId: t }), + collapsedGroups: new Set(), + toggleGroup: (t) => + e((n) => { + let r = new Set(n.collapsedGroups); + if (r.has(t)) r.delete(t); + else r.add(t); + return { collapsedGroups: r }; + }), + collapseAll: (t) => e({ collapsedGroups: new Set(t) }), + expandAll: () => e({ collapsedGroups: new Set() }), + draggedItem: null, + setDraggedItem: (t) => e({ draggedItem: t }), + }), + { + name: "spacedrive-sidebar", + partialize: (e) => ({ currentSpaceId: e.currentSpaceId }), + }, + ), + ); +}); +var ptt, o7n, ftt; +var mtt = P(() => { + yb(); + FU(); + ((ptt = { gridSize: 120, gapSize: 16, showFileSize: !0, columnWidth: 256 }), + (o7n = { viewMode: "grid", viewSettings: ptt }), + (ftt = wp()( + k4( + (e, t) => ({ + preferences: {}, + getPreferences: (n) => t().preferences[n], + setPreferences: (n, r) => + e((o) => ({ + preferences: { + ...o.preferences, + [n]: { + ...o7n, + ...o.preferences[n], + ...r, + viewSettings: { + ...ptt, + ...o.preferences[n]?.viewSettings, + ...r.viewSettings, + }, + }, + }, + })), + }), + { name: "spacedrive-view-preferences" }, + ), + ))); +}); +var htt; +var gtt = P(() => { + yb(); + FU(); + htt = wp()( + k4( + (e, t) => ({ + preferences: {}, + getPreferences: (n) => t().preferences[n], + setPreferences: (n, r) => + e((o) => ({ preferences: { ...o.preferences, [n]: r } })), + }), + { name: "spacedrive-sort-preferences" }, + ), + ); +}); +var jQr; +var ytt = P(() => { + yb(); + FU(); + jQr = wp()( + k4( + (e) => ({ + autoSwitchOnSync: !0, + setAutoSwitchOnSync: (t) => e({ autoSwitchOnSync: t }), + }), + { name: "spacedrive-sync-preferences" }, + ), + ); +}); +var h2 = "./fonts/Laptop.png"; +var UU = () => {}; +var jj = "./fonts/Mobile.png"; +var e3e = () => {}; +var NU = "./fonts/Mobile-Android.png"; +var t3e = () => {}; +var zU = "./fonts/Tablet.png"; +var n3e = () => {}; +var $j = "./fonts/SilverBox.png"; +var r3e = () => {}; +var e$ = "./fonts/MiniSilverBox.png"; +var o3e = () => {}; +var iP = "./fonts/PC.png"; +var a3e = () => {}; +var sP = "./fonts/Server.png"; +var t$ = () => {}; +function g2(e) { + if (e.hardware_model) { + let n = e.hardware_model.toLowerCase(); + if (n.match(/mac1[34],(1|2|8|13|14)/)) return $j; + if (n.match(/mac1[45],(3|12|13)/)) return e$; + if (n.includes("ipad") || n.includes("tablet") || n.includes("surface")) + return zU; + if (n.includes("iphone") || n.includes("mobile") || n.includes("phone")) + return e.os.toLowerCase() === "android" ? NU : jj; + if (n.includes("macbook") || n.includes("laptop") || n.includes("notebook")) + return h2; + if (n.includes("imac") || n.includes("desktop") || n.includes("pc")) + return iP; + } + switch (e.os.toLowerCase()) { + case "ios": + return zU; + case "android": + return NU; + case "macos": + return h2; + case "windows": + return iP; + case "linux": + if (e.name.toLowerCase().includes("server")) return sP; + return iP; + default: + return h2; + } +} +var vtt = P(() => { + UU(); + e3e(); + t3e(); + n3e(); + r3e(); + o3e(); + a3e(); + t$(); +}); +var y2 = "./fonts/AmazonS3.png"; +var n$ = () => {}; +var lP = "./fonts/GoogleDrive.png"; +var i3e = () => {}; +var _U = "./fonts/Dropbox.png"; +var s3e = () => {}; +var r$ = "./fonts/Drive-OneDrive.png"; +var l3e = () => {}; +var HU = "./fonts/BackBlaze.png"; +var c3e = () => {}; +var VU = "./fonts/PCloud.png"; +var u3e = () => {}; +var GU = "./fonts/Box.png"; +var d3e = () => {}; +var U8 = "./fonts/HDD.png"; +var o$ = () => {}; +var N8 = "./fonts/Drive.png"; +var a$ = () => {}; +var i$ = "./fonts/Database.png"; +var p3e = () => {}; +function C7n(e) { + if (!e) return null; + let t = e.match(/^(\w+):\/\//); + if (!t) return null; + let n = t[1]; + if ( + [ + "s3", + "gdrive", + "dropbox", + "onedrive", + "gcs", + "azblob", + "b2", + "wasabi", + "spaces", + "cloud", + ].includes(n) + ) + return n; + return null; +} +function qU(e) { + let t = C7n(e.mount_point); + if (t) return S7n[t] || N8; + if (e.volume_type === "Network") return sP; + if (e.volume_type === "Virtual") return i$; + if (e.volume_type === "External" || e.volume_type === "Removable") return U8; + return N8; +} +var S7n; +var btt = P(() => { + n$(); + i3e(); + s3e(); + l3e(); + c3e(); + u3e(); + d3e(); + o$(); + a$(); + p3e(); + t$(); + S7n = { + s3: y2, + gdrive: lP, + dropbox: _U, + onedrive: r$, + gcs: lP, + azblob: GU, + b2: HU, + wasabi: y2, + spaces: y2, + cloud: VU, + }; +}); +function xtt(e, t) { + return { + id: `virtual:location:${e.id}`, + kind: "Directory", + name: e.name, + sd_path: e.sd_path, + extension: null, + size: 0, + content_identity: null, + alternate_paths: [], + tags: [], + sidecars: [], + image_media_data: null, + video_media_data: null, + audio_media_data: null, + created_at: new Date().toISOString(), + modified_at: new Date().toISOString(), + accessed_at: null, + content_kind: "unknown", + is_local: !0, + duration_seconds: null, + _virtual: { + type: "location", + data: e, + iconUrl: typeof t === "string" ? t : void 0, + iconAsset: typeof t === "number" ? t : void 0, + }, + }; +} +function Att(e, t, n) { + let r = { Physical: { device_slug: t, path: e.mount_point || "/" } }; + return { + id: `virtual:volume:${e.fingerprint}`, + kind: "Directory", + name: e.display_name || e.name, + sd_path: r, + extension: null, + size: e.total_capacity ? Number(e.total_capacity) : 0, + content_identity: null, + alternate_paths: [], + tags: [], + sidecars: [], + image_media_data: null, + video_media_data: null, + audio_media_data: null, + created_at: new Date().toISOString(), + modified_at: new Date().toISOString(), + accessed_at: null, + content_kind: "unknown", + is_local: !0, + duration_seconds: null, + _virtual: { + type: "volume", + data: e, + iconUrl: typeof n === "string" ? n : void 0, + iconAsset: typeof n === "number" ? n : void 0, + }, + }; +} +function wtt(e, t) { + let n = { Physical: { device_slug: e.slug, path: "/" } }; + return { + id: `virtual:device:${e.id}`, + kind: "Directory", + name: e.name, + sd_path: n, + extension: null, + size: 0, + content_identity: null, + alternate_paths: [], + tags: [], + sidecars: [], + image_media_data: null, + video_media_data: null, + audio_media_data: null, + created_at: new Date().toISOString(), + modified_at: new Date().toISOString(), + accessed_at: null, + content_kind: "unknown", + is_local: !0, + duration_seconds: null, + _virtual: { + type: "device", + data: e, + iconUrl: typeof t === "string" ? t : void 0, + iconAsset: typeof t === "number" ? t : void 0, + }, + }; +} +function rh(e) { + return e != null && e._virtual !== void 0; +} +function Stt(e) { + return e ? e._virtual || null : null; +} +function Zi(e) { + return e?.content_identity?.kind ?? e?.content_kind ?? "unknown"; +} +function Ctt(e) { + let t = Zi(e), + n = + t && t !== "unknown" + ? t + : e?.kind === "File" + ? e.extension || "File" + : e?.kind || "File"; + return n.charAt(0).toUpperCase() + n.slice(1); +} +var Li = P(() => { + iet(); + IAe(); + EAe(); + jAe(); + dtt(); + mtt(); + gtt(); + ytt(); + vtt(); + btt(); + PU(); +}); +function Qo() { + let e = s$.useContext(Ett); + if (!e) + throw Error( + "usePlatform must be used within a PlatformProvider. Make sure PlatformProvider is mounted above this component.", + ); + return e; +} +function Itt({ platform: e, children: t }) { + return h(Ett.Provider, { value: e, children: t }); +} +var s$, Ett; +var Tc = P(() => { + le(); + ((s$ = z(re(), 1)), (Ett = s$.createContext(void 0))); +}); +var Fr = P(() => { + jAe(); + Li(); +}); +function ktt({ children: e }) { + let t = Qo(), + n = qj(), + [r, o] = fg.useState(null), + [a, i] = fg.useState(() => n.getCurrentLibraryId()); + (fg.useEffect(() => { + if (t.getDaemonStatus) + t.getDaemonStatus() + .then((c) => { + if (c.server_url) o(c.server_url); + }) + .catch((c) => { + console.warn("[ServerContext] Failed to get daemon status:", c); + }); + }, [t]), + fg.useEffect(() => { + if (t.getCurrentLibraryId) + t.getCurrentLibraryId() + .then((c) => { + if (c) i(c); + }) + .catch(() => {}); + }, [t]), + fg.useEffect(() => { + if (t.onLibraryIdChanged) { + let c = t.onLibraryIdChanged((u) => { + i(u); + }); + return () => { + c.then((u) => u()); + }; + } + }, [t]), + fg.useEffect(() => { + let c = (u) => { + i(u); + }; + return ( + n.on("library-changed", c), + () => { + n.off("library-changed", c); + } + ); + }, [n]), + fg.useEffect(() => { + if (t.onDaemonConnected && t.getDaemonStatus) { + let c = t.onDaemonConnected(() => { + t.getDaemonStatus().then((u) => { + if (u.server_url) o(u.server_url); + }); + }); + return () => { + c.then((u) => u()); + }; + } + }, [t])); + let l = { + serverUrl: r, + libraryId: a, + isReady: r !== null && a !== null, + buildSidecarUrl: (c, u, d, p) => { + if (!r || !a) return null; + return `${r}/sidecar/${a}/${c}/${u}/${d}.${p}`; + }, + }; + return h(Ttt.Provider, { value: l, children: e }); +} +function e0() { + let e = fg.useContext(Ttt); + if (!e) + throw Error( + "useServer must be used within a ServerProvider. Make sure ServerProvider is mounted above this component.", + ); + return e; +} +var fg, Ttt; +var YA = P(() => { + Tc(); + Fr(); + le(); + ((fg = z(re(), 1)), (Ttt = fg.createContext(null))); +}); +function ert(e) { + var t, + n, + r = ""; + if (typeof e == "string" || typeof e == "number") r += e; + else if (typeof e == "object") + if (Array.isArray(e)) { + var o = e.length; + for (t = 0; t < o; t++) + e[t] && (n = ert(e[t])) && (r && (r += " "), (r += n)); + } else for (n in e) e[n] && (r && (r += " "), (r += n)); + return r; +} +function Ve() { + for (var e, t, n = 0, r = "", o = arguments.length; n < o; n++) + (e = arguments[n]) && (t = ert(e)) && (r && (r += " "), (r += t)); + return r; +} +var pt; +var rn = P(() => { + pt = Ve; +}); +var trt = (e) => (typeof e === "boolean" ? `${e}` : e === 0 ? "0" : e), + nN, + kc = (e, t) => (n) => { + var r; + if ((t === null || t === void 0 ? void 0 : t.variants) == null) + return nN( + e, + n === null || n === void 0 ? void 0 : n.class, + n === null || n === void 0 ? void 0 : n.className, + ); + let { variants: o, defaultVariants: a } = t, + i = Object.keys(o).map((c) => { + let u = n === null || n === void 0 ? void 0 : n[c], + d = a === null || a === void 0 ? void 0 : a[c]; + if (u === null) return null; + let p = trt(u) || trt(d); + return o[c][p]; + }), + s = + n && + Object.entries(n).reduce((c, u) => { + let [d, p] = u; + if (p === void 0) return c; + return ((c[d] = p), c); + }, {}), + l = + t === null || t === void 0 + ? void 0 + : (r = t.compoundVariants) === null || r === void 0 + ? void 0 + : r.reduce((c, u) => { + let { class: d, className: p, ...f } = u; + return Object.entries(f).every((m) => { + let [g, v] = m; + return Array.isArray(v) + ? v.includes({ ...a, ...s }[g]) + : { ...a, ...s }[g] === v; + }) + ? [...c, d, p] + : c; + }, []); + return nN( + e, + i, + l, + n === null || n === void 0 ? void 0 : n.class, + n === null || n === void 0 ? void 0 : n.className, + ); + }; +var x2 = P(() => { + rn(); + nN = Ve; +}); +var J3e, + nrt = + (e) => + ([t]) => + J3e.default.forwardRef(({ className: n, ...r }, o) => + J3e.default.createElement(e, { ...r, className: Ve(t, n), ref: o }), + ), + UYr, + Ta, + Yn = + "outline-none focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2"; +var AP = P(() => { + rn(); + ((J3e = z(re(), 1)), + (UYr = new Proxy(() => {}, { + get: (e, t) => nrt(t), + apply: (e, t, [n]) => nrt(n), + })), + (Ta = [ + "relative", + "before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-current before:opacity-0", + "before:transition-opacity before:duration-200 before:ease-standard", + "motion-reduce:before:transition-none", + "hover:before:opacity-8 focus-visible:before:opacity-10 active:before:opacity-10", + "disabled:before:hidden aria-disabled:before:hidden", + ].join(" "))); +}); +var art, + qRn = (e) => "href" in e, + rrt, + j3e, + $3e, + ort, + ZRn, + ewe, + Vt; +var twe = P(() => { + x2(); + AP(); + le(); + ((art = z(re(), 1)), + (rrt = [ + "border-transparent bg-primary text-on-primary hover:shadow-md3-1", + "disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none", + Ta, + ]), + (j3e = [ + "border-transparent bg-secondary-container text-on-secondary-container hover:shadow-md3-1", + "disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none", + Ta, + ]), + ($3e = [ + "border-outline-variant bg-transparent text-on-surface-variant", + "disabled:border-on-surface/12 disabled:text-on-surface/38", + Ta, + ]), + (ort = [ + "border-transparent bg-transparent text-primary", + "disabled:text-on-surface/38", + Ta, + ]), + (ZRn = [ + "border-transparent bg-surface-container-low text-primary shadow-md3-1 hover:shadow-md3-2", + "disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none", + Ta, + ]), + (ewe = kc( + [ + "inline-flex cursor-pointer select-none items-center justify-center gap-2 whitespace-nowrap border font-plain", + "transition-[background-color,border-color,box-shadow,color] duration-200 ease-standard", + "disabled:pointer-events-none disabled:cursor-not-allowed", + Yn, + ], + { + variants: { + size: { + icon: "size-8 !p-0", + lg: "h-10 px-6 text-label-large", + md: "h-9 px-5 text-label-large", + sm: "h-8 px-4 text-label-large", + xs: "h-7 px-3 text-label-medium", + }, + variant: { + filled: rrt, + tonal: j3e, + outlined: $3e, + text: ort, + elevated: ZRn, + default: j3e, + gray: j3e, + accent: rrt, + outline: $3e, + subtle: ort, + dotted: [...$3e, "border-dashed"], + colored: [ + "border-transparent text-on-primary shadow-md3-1", + "disabled:bg-on-surface/12 disabled:text-on-surface/38 disabled:shadow-none", + Ta, + ], + bare: "", + }, + rounding: { + none: "rounded-none", + left: "rounded-l-full rounded-r-small", + right: "rounded-l-small rounded-r-full", + both: "rounded-full", + full: "rounded-full", + square: "rounded-medium", + }, + }, + defaultVariants: { size: "sm", variant: "default", rounding: "both" }, + }, + )), + (Vt = art.forwardRef(({ className: e, loading: t, ...n }, r) => { + let o = qRn(n); + if (t && !o) n.disabled = !0; + let { size: a, variant: i, rounding: s, children: l, ...c } = n; + return ( + (e = nN( + ewe({ size: a, variant: i, rounding: s }), + t && o && "pointer-events-none opacity-38", + e, + )), + o + ? h("a", { + "data-m3-component": "Button", + ...c, + "aria-busy": t || void 0, + "aria-disabled": t || void 0, + ref: r, + className: nN(e, "no-underline"), + children: l, + }) + : h("button", { + type: "button", + "data-m3-component": "Button", + ...c, + "aria-busy": t || void 0, + ref: r, + className: e, + children: l, + }) + ); + }))); + Vt.displayName = "Button"; +}); +function Gd(e, t = {}) { + if (e === null || e === void 0 || e === !1) return null; + if (typeof e === "string") return h(at, { name: e, ...t }); + if (T$.isValidElement(e)) return e; + if ( + typeof e === "function" || + (typeof e === "object" && e !== null && "$$typeof" in e) + ) + return h(e, { ...t }); + return e; +} +var T$, at; +var n0 = P(() => { + rn(); + le(); + ((T$ = z(re(), 1)), + (at = T$.forwardRef( + ( + { + name: e, + size: t, + filled: n, + weight: r, + grade: o, + label: a, + className: i, + style: s, + ...l + }, + c, + ) => { + let u = {}; + if (t !== void 0) u["--md-icon-size"] = `${t}px`; + if (n !== void 0) u["--md-icon-fill"] = n ? 1 : 0; + if (r !== void 0) u["--md-icon-wght"] = r; + if (o !== void 0) u["--md-icon-grad"] = o; + return h("span", { + ref: c, + role: a ? "img" : void 0, + "aria-label": a, + "aria-hidden": a ? void 0 : !0, + translate: "no", + "data-m3-component": "Icon", + className: Ve("m3-icon", i), + style: { + fontFamily: "var(--md-icon-font, 'Material Symbols Outlined')", + fontSize: "var(--md-icon-size, 24px)", + width: "1em", + height: "1em", + lineHeight: 1, + display: "inline-flex", + alignItems: "center", + justifyContent: "center", + flexShrink: 0, + overflow: "hidden", + fontWeight: "normal", + fontStyle: "normal", + letterSpacing: "normal", + textTransform: "none", + whiteSpace: "nowrap", + direction: "ltr", + userSelect: "none", + fontFeatureSettings: "'liga'", + WebkitFontSmoothing: "antialiased", + fontVariationSettings: + "'FILL' var(--md-icon-fill, 0), 'wght' var(--md-icon-wght, 400), 'GRAD' var(--md-icon-grad, 0), 'opsz' var(--md-icon-opsz, 24)", + ...u, + ...s, + }, + ...l, + children: e, + }); + }, + ))); + at.displayName = "Icon"; +}); +function lrt({ error: e, children: t }) { + return h("p", { + className: Ve( + "px-4 text-body-small", + e ? "text-error" : "text-on-surface-variant", + ), + children: t, + }); +} +function qd({ slug: e, children: t, className: n, ...r }) { + return h("label", { + "data-m3-component": "Label", + htmlFor: e, + className: Ve("text-label-large text-on-surface", n), + ...r, + children: t, + }); +} +var q8, + srt, + nwe = (e) => e === "xs" || e === "sm", + irt, + QRn, + rwe, + Ps, + crt, + k$, + urt; +var drt = P(() => { + x2(); + rn(); + n0(); + le(); + ((q8 = z(re(), 1)), + (srt = { + xs: "h-8 text-body-medium", + sm: "h-9 text-body-medium", + md: "h-10 text-body-large", + lg: "h-12 text-body-large", + xl: "h-14 text-body-large", + }), + (irt = [ + "rounded-extra-small border border-outline bg-transparent", + "hover:border-on-surface", + "focus-within:border-primary focus-within:ring-1 focus-within:ring-inset focus-within:ring-primary focus-within:hover:border-primary", + ]), + (QRn = [ + "rounded-t-extra-small rounded-b-none border-0 border-b border-on-surface-variant bg-surface-container-highest", + "hover:border-on-surface", + "before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-on-surface before:opacity-0 before:transition-opacity before:content-[''] hover:before:opacity-8", + "focus-within:border-primary focus-within:shadow-[inset_0_-1px_0_0_var(--md-sys-color-primary)] focus-within:hover:border-primary", + ]), + (rwe = kc( + [ + "relative text-on-surface caret-primary", + "outline-none transition-[background-color,border-color,box-shadow] duration-200 ease-standard", + "has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-38", + ], + { + variants: { + variant: { + default: irt, + outlined: irt, + filled: QRn, + transparent: [ + "border border-transparent bg-transparent placeholder-on-surface-variant focus-within:bg-transparent", + "focus-within:border-transparent focus-within:ring-transparent", + ], + }, + error: { true: "caret-error" }, + size: srt, + }, + compoundVariants: [ + { + variant: ["default", "outlined"], + error: !0, + className: + "border-error hover:border-on-error-container focus-within:border-error focus-within:ring-error focus-within:hover:border-error", + }, + { + variant: "filled", + error: !0, + className: + "border-error hover:border-on-error-container focus-within:border-error focus-within:shadow-[inset_0_-1px_0_0_var(--md-sys-color-error)] focus-within:hover:border-error", + }, + ], + defaultVariants: { variant: "default", size: "xl" }, + }, + ))); + Ps = q8.forwardRef( + ( + { + variant: e, + size: t, + right: n, + icon: r, + iconPosition: o = "left", + className: a, + error: i, + inputElementClassName: s, + supportingText: l, + ...c + }, + u, + ) => { + let d = t ?? "xl", + p = nwe(d), + f = M("div", { + "data-m3-component": "Input", + className: Ve( + "group flex", + rwe({ variant: e, size: d, error: i, className: a }), + ), + children: [ + M("div", { + className: Ve( + "flex h-full flex-1 overflow-hidden", + o === "right" && "flex-row-reverse", + ), + children: [ + r && + h("div", { + className: Ve( + "flex h-full items-center text-on-surface-variant", + o === "left" + ? p + ? "pl-2 pr-2" + : "pl-3 pr-4" + : p + ? "pl-2 pr-2" + : "pl-4 pr-3", + ), + children: Gd(r, { + size: p ? 20 : 24, + className: "text-on-surface-variant", + }), + }), + h("input", { + className: Ve( + "h-full min-w-0 flex-1 truncate border-none bg-transparent text-on-surface outline-none", + "placeholder:text-on-surface-variant focus:ring-0 disabled:cursor-not-allowed", + p ? "px-3 text-body-medium" : "px-4 text-body-large", + (n || (r && o === "right")) && "pr-0", + r && o === "left" && "pl-0", + d === "xs" && "py-0", + s, + ), + onKeyDown: (m) => { + m.stopPropagation(); + }, + ref: u, + autoComplete: c.autoComplete || "off", + "aria-invalid": i ? !0 : void 0, + ...c, + }), + ], + }), + n && + h("div", { + className: Ve( + "flex h-full min-w-[12px] items-center text-on-surface-variant", + p ? "px-0.5" : "px-1", + ), + children: n, + }), + ], + }); + if (l === void 0 || l === null) return f; + return M("div", { + className: "flex flex-col gap-1", + children: [f, h(lrt, { error: i, children: l })], + }); + }, + ); + Ps.displayName = "Input"; + crt = q8.forwardRef((e, t) => h(Ps, { ...e, ref: t, icon: "search" })); + crt.displayName = "SearchInput"; + k$ = q8.forwardRef( + ( + { + size: e, + variant: t, + error: n, + className: r, + icon: o, + iconPosition: a, + inputElementClassName: i, + right: s, + supportingText: l, + ...c + }, + u, + ) => { + let d = nwe(e), + p = h("textarea", { + "data-m3-component": "TextArea", + ...c, + ref: u, + "aria-invalid": n ? !0 : void 0, + onKeyDown: (f) => { + f.stopPropagation(); + }, + className: Ve( + "h-auto placeholder:text-on-surface-variant", + d + ? "min-h-9 px-3 py-2 text-body-medium" + : "min-h-14 px-4 py-4 text-body-large", + rwe({ size: null, variant: t, error: n }), + "disabled:cursor-not-allowed disabled:opacity-38", + r, + ), + }); + if (l === void 0 || l === null) return p; + return M("div", { + className: "flex flex-col gap-1", + children: [p, h(lrt, { error: n, children: l })], + }); + }, + ); + k$.displayName = "TextArea"; + urt = q8.forwardRef(({ buttonClassnames: e, ...t }, n) => { + let [r, o] = q8.useState(!1), + a = nwe(t.size); + return h(Ps, { + ...t, + type: r ? "text" : "password", + ref: n, + onKeyDown: (i) => { + i.stopPropagation(); + }, + right: h("button", { + type: "button", + tabIndex: 0, + onClick: () => o(!r), + "aria-label": r ? "Hide Password" : "Show Password", + "aria-pressed": r, + disabled: t.disabled, + className: Ve( + "inline-flex shrink-0 items-center justify-center rounded-full text-on-surface-variant outline-none", + "transition-colors duration-200 ease-standard hover:bg-on-surface-variant/8 active:bg-on-surface-variant/10", + "focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary", + "disabled:pointer-events-none disabled:opacity-38", + a ? "size-8" : "size-10", + e, + ), + children: h(at, { + name: r ? "visibility_off" : "visibility", + size: a ? 20 : 24, + className: "pointer-events-none", + }), + }), + }); + }); + urt.displayName = "PasswordInput"; +}); +function oa() {} +var Rc, $r; +var Ci = P(() => { + ((Rc = Object.freeze([])), ($r = Object.freeze({}))); +}); +function Zd({ controlled: e, default: t, name: n, state: r = "value" }) { + let { current: o } = Z8.useRef(e !== void 0), + [a, i] = Z8.useState(t), + s = o && e !== void 0 ? e : a, + l = Z8.useCallback((c) => { + if (!o) i(c); + }, []); + return [s, l]; +} +var Z8; +var xb = P(() => { + Z8 = z(re(), 1); +}); +var prt, + XRn = () => {}, + Ct; +var Nr = P(() => { + ((prt = z(re(), 1)), + (Ct = typeof document < "u" ? prt.useLayoutEffect : XRn)); +}); +function qa(e, t) { + let n = mrt.useRef(frt); + if (n.current === frt) n.current = e(t); + return n; +} +var mrt, frt; +var om = P(() => { + ((mrt = z(re(), 1)), (frt = {})); +}); +function cl(e, t, n, r) { + let o = qa(grt).current; + if (WRn(o, e, t, n, r)) yrt(o, [e, t, n, r]); + return o.callback; +} +function hrt(e) { + let t = qa(grt).current; + if (YRn(t, e)) yrt(t, e); + return t.callback; +} +function grt() { + return { callback: null, cleanup: null, refs: [] }; +} +function WRn(e, t, n, r, o) { + return ( + e.refs[0] !== t || e.refs[1] !== n || e.refs[2] !== r || e.refs[3] !== o + ); +} +function YRn(e, t) { + return e.refs.length !== t.length || e.refs.some((n, r) => n !== t[r]); +} +function yrt(e, t) { + if (((e.refs = t), t.every((n) => n == null))) { + e.callback = null; + return; + } + e.callback = (n) => { + if (e.cleanup) (e.cleanup(), (e.cleanup = null)); + if (n != null) { + let r = Array(t.length).fill(null); + for (let o = 0; o < t.length; o += 1) { + let a = t[o]; + if (a == null) continue; + switch (typeof a) { + case "function": { + let i = a(n); + if (typeof i === "function") r[o] = i; + break; + } + case "object": { + a.current = n; + break; + } + default: + } + } + e.cleanup = () => { + for (let o = 0; o < t.length; o += 1) { + let a = t[o]; + if (a == null) continue; + switch (typeof a) { + case "function": { + let i = r[o]; + if (typeof i === "function") i(); + else a(null); + break; + } + case "object": { + a.current = null; + break; + } + default: + } + } + }; + } + }; +} +var U1 = P(() => { + om(); +}); +var vrt, xg, wP; +var Q8 = P(() => { + ((vrt = { + clipPath: "inset(50%)", + overflow: "hidden", + whiteSpace: "nowrap", + border: 0, + padding: 0, + width: 1, + height: 1, + margin: -1, + }), + (xg = { ...vrt, position: "fixed", top: 0, left: 0 }), + (wP = { ...vrt, position: "absolute" })); +}); +function R$() { + return typeof window < "u"; +} +function Pc(e) { + if (P$(e)) return (e.nodeName || "").toLowerCase(); + return "#document"; +} +function Io(e) { + var t; + return ( + (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || + window + ); +} +function wb(e) { + var t; + return (t = (P$(e) ? e.ownerDocument : e.document) || window.document) == null + ? void 0 + : t.documentElement; +} +function P$(e) { + if (!R$()) return !1; + return e instanceof Node || e instanceof Io(e).Node; +} +function Dr(e) { + if (!R$()) return !1; + return e instanceof Element || e instanceof Io(e).Element; +} +function Xo(e) { + if (!R$()) return !1; + return e instanceof HTMLElement || e instanceof Io(e).HTMLElement; +} +function Ab(e) { + if (!R$() || typeof ShadowRoot > "u") return !1; + return e instanceof ShadowRoot || e instanceof Io(e).ShadowRoot; +} +function W8(e) { + let { overflow: t, overflowX: n, overflowY: r, display: o } = Sf(e); + return ( + /auto|scroll|overlay|hidden|clip/.test(t + r + n) && + o !== "inline" && + o !== "contents" + ); +} +function brt(e) { + return /^(table|td|th)$/.test(Pc(e)); +} +function rN(e) { + try { + if (e.matches(":popover-open")) return !0; + } catch (t) {} + try { + return e.matches(":modal"); + } catch (t) { + return !1; + } +} +function M$(e) { + let t = Dr(e) ? Sf(e) : e; + return ( + X8(t.transform) || + X8(t.translate) || + X8(t.scale) || + X8(t.rotate) || + X8(t.perspective) || + (!D$() && (X8(t.backdropFilter) || X8(t.filter))) || + KRn.test(t.willChange || "") || + JRn.test(t.contain || "") + ); +} +function xrt(e) { + let t = N1(e); + while (Xo(t) && !z1(t)) { + if (M$(t)) return t; + else if (rN(t)) return null; + t = N1(t); + } + return null; +} +function D$() { + if (owe == null) + owe = + typeof CSS < "u" && + CSS.supports && + CSS.supports("-webkit-backdrop-filter", "none"); + return owe; +} +function z1(e) { + return /^(html|body|#document)$/.test(Pc(e)); +} +function Sf(e) { + return Io(e).getComputedStyle(e); +} +function oN(e) { + if (Dr(e)) return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop }; + return { scrollLeft: e.scrollX, scrollTop: e.scrollY }; +} +function N1(e) { + if (Pc(e) === "html") return e; + let t = e.assignedSlot || e.parentNode || (Ab(e) && e.host) || wb(e); + return Ab(t) ? t.host : t; +} +function Art(e) { + let t = N1(e); + if (z1(t)) return (e.ownerDocument || e).body; + if (Xo(t) && W8(t)) return t; + return Art(t); +} +function L4(e, t, n) { + var r; + if (t === void 0) t = []; + if (n === void 0) n = !0; + let o = Art(e), + a = o === ((r = e.ownerDocument) == null ? void 0 : r.body), + i = Io(o); + if (a) { + let s = L$(i); + return t.concat( + i, + i.visualViewport || [], + W8(o) ? o : [], + s && n ? L4(s) : [], + ); + } else return t.concat(o, L4(o, [], n)); +} +function L$(e) { + return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null; +} +var KRn, + JRn, + X8 = (e) => !!e && e !== "none", + owe; +var vs = P(() => { + ((KRn = /transform|translate|scale|rotate|perspective|filter/), + (JRn = /paint|layout|strict|content/)); +}); +function yr(e) { + return e?.ownerDocument || document; +} +var ul = P(() => { + vs(); +}); +function wrt(e) { + if (!e) return null; + for (let t of e.elements) { + let n = t.tagName; + if (n === "BUTTON" || n === "INPUT") { + let r = t; + if (r.type === "submit") return r; + } + } + return null; +} +var Srt = "data-valid", + Crt = "data-invalid"; +var Ert, $Rn, Irt, B4; +var SP = P(() => { + ((Ert = { + badInput: !1, + customError: !1, + patternMismatch: !1, + rangeOverflow: !1, + rangeUnderflow: !1, + stepMismatch: !1, + tooLong: !1, + tooShort: !1, + typeMismatch: !1, + valid: null, + valueMissing: !1, + }), + ($Rn = { valid: null, touched: !1, dirty: !1, filled: !1, focused: !1 }), + (Irt = { disabled: !1, ...$Rn }), + (B4 = { + valid(e) { + if (e === null) return null; + if (e) return { [Srt]: "" }; + return { [Crt]: "" }; + }, + })); +}); +var Trt = "data-checked", + krt = "data-unchecked"; +function B$(e) { + return { + checked(t) { + if (e.indeterminate) return {}; + if (t) return { [Trt]: "" }; + return { [krt]: "" }; + }, + ...B4, + }; +} +var awe = P(() => { + SP(); +}); +function Sb(e, t, { detail: n = 0 } = {}) { + e.dispatchEvent( + new (Io(e).PointerEvent)("click", { + bubbles: !0, + cancelable: !0, + composed: !0, + detail: n, + shiftKey: t.shiftKey, + ctrlKey: t.ctrlKey, + altKey: t.altKey, + metaKey: t.metaKey, + }), + ); +} +var aN = P(() => { + ul(); +}); +function tPn(e, t) { + return function (r, ...o) { + let a = new URL(e); + return ( + a.searchParams.set("code", r.toString()), + o.forEach((i) => a.searchParams.append("args[]", i)), + `${t} error #${r}; visit ${a} for the full message.` + ); + }; +} +var nPn, Dn; +var zo = P(() => { + ((nPn = tPn("https://base-ui.com/production-error", "Base UI")), (Dn = nPn)); +}); +function CP(e) { + return rPn >= e; +} +var Rrt, rPn; +var O$ = P(() => { + ((Rrt = z(re(), 1)), (rPn = parseInt(Rrt.version, 10))); +}); +function iwe(e) { + if (!Prt.isValidElement(e)) return null; + let t = e, + n = t.props; + return (CP(19) ? n?.ref : t.ref) ?? null; +} +var Prt; +var Mrt = P(() => { + O$(); + Prt = z(re(), 1); +}); +function iN(e, t) { + if (e && !t) return e; + if (!e && t) return t; + if (e || t) return { ...e, ...t }; + return; +} +function Drt(e, t) { + let n = {}; + for (let r in e) { + let o = e[r]; + if (t?.hasOwnProperty(r)) { + let a = t[r](o); + if (a != null) Object.assign(n, a); + continue; + } + if (o === !0) n[`data-${r.toLowerCase()}`] = ""; + else if (o) n[`data-${r.toLowerCase()}`] = o.toString(); + } + return n; +} +function Lrt(e, t) { + return typeof e === "function" ? e(t) : e; +} +function F$(e, t) { + return typeof e === "function" ? e(t) : e; +} +function dl(e, t, n, r, o) { + if (!n && !r && !o && !e) return U$(t); + let a = U$(e); + if (t) a = sN(a, t); + if (n) a = sN(a, n); + if (r) a = sN(a, r); + if (o) a = sN(a, o); + return a; +} +function Brt(e) { + if (e.length === 0) return swe; + if (e.length === 1) return U$(e[0]); + let t = U$(e[0]); + for (let n = 1; n < e.length; n += 1) t = sN(t, e[n]); + return t; +} +function U$(e) { + if (lwe(e)) return { ...Frt(e, swe) }; + return oPn(e); +} +function sN(e, t) { + if (lwe(t)) return Frt(t, e); + return aPn(e, t); +} +function oPn(e) { + let t = { ...e }; + for (let n in t) { + let r = t[n]; + if (Ort(n, r)) t[n] = Urt(r); + } + return t; +} +function aPn(e, t) { + if (!t) return e; + for (let n in t) { + let r = t[n]; + switch (n) { + case "style": { + e[n] = iN(e.style, r); + break; + } + case "className": { + e[n] = cwe(e.className, r); + break; + } + default: + if (Ort(n, r)) e[n] = iPn(e[n], r); + else e[n] = r; + } + } + return e; +} +function Ort(e, t) { + let n = e.charCodeAt(0), + r = e.charCodeAt(1), + o = e.charCodeAt(2); + return ( + n === 111 && + r === 110 && + o >= 65 && + o <= 90 && + (typeof t === "function" || typeof t > "u") + ); +} +function lwe(e) { + return typeof e === "function"; +} +function Frt(e, t) { + if (lwe(e)) return e(t); + return e ?? swe; +} +function iPn(e, t) { + if (!t) return e; + if (!e) return Urt(t); + return (...n) => { + let r = n[0]; + if (Nrt(r)) { + let a = r; + lN(a); + let i = t(...n); + if (!a.baseUIHandlerPrevented) e?.(...n); + return i; + } + let o = t(...n); + return (e?.(...n), o); + }; +} +function Urt(e) { + if (!e) return e; + return (...t) => { + let n = t[0]; + if (Nrt(n)) lN(n); + return e(...t); + }; +} +function lN(e) { + return ( + (e.preventBaseUIHandler = () => { + e.baseUIHandlerPrevented = !0; + }), + e + ); +} +function cwe(e, t) { + if (t) { + if (e) return t + " " + e; + return t; + } + return e; +} +function Nrt(e) { + return e != null && typeof e === "object" && "nativeEvent" in e; +} +var swe; +var zrt = P(() => { + swe = {}; +}); +var A2 = P(() => { + zrt(); +}); +function Zt(e, t, n = {}) { + let r = t.render; + if (n.enabled !== !1) r = uPn(r); + let o = sPn(t, n, r); + if (n.enabled === !1) return null; + let a = n.state ?? $r; + return dPn(e, r, o, a); +} +function sPn(e, t, n) { + let { className: r, style: o } = e, + { + state: a = $r, + ref: i, + props: s, + stateAttributesMapping: l, + enabled: c = !0, + } = t, + u = c ? Lrt(r, a) : void 0, + d = c ? F$(o, a) : void 0, + p = c ? Drt(a, l) : $r, + f = c && s ? lPn(s) : void 0, + m = c ? (iN(p, f) ?? {}) : $r; + if (typeof document < "u") + if (!c) cl(null, null); + else if (Array.isArray(i)) m.ref = hrt([m.ref, iwe(n), ...i]); + else m.ref = cl(m.ref, iwe(n), i); + if (!c) return $r; + if (u !== void 0) m.className = cwe(m.className, u); + if (d !== void 0) m.style = iN(m.style, d); + return m; +} +function lPn(e) { + if (Array.isArray(e)) return Brt(e); + return dl(void 0, e); +} +function uPn(e) { + if (e?.$$typeof !== cPn) return e; + let t = O4.Children.toArray(e)[0]; + return O4.isValidElement(t) ? t : e; +} +function dPn(e, t, n, r) { + if (t) { + if (typeof t === "function") return t(n, r); + let o = dl(n, t.props); + return ((o.ref = n.ref), O4.cloneElement(t, o)); + } + if (e) { + if (typeof e === "string") return pPn(e, n); + } + throw Error(Dn(8)); +} +function pPn(e, t) { + if (e === "button") + return uwe.createElement("button", { type: "button", ...t, key: t.key }); + if (e === "img") + return uwe.createElement("img", { alt: "", ...t, key: t.key }); + return O4.createElement(e, t); +} +var O4, uwe, cPn; +var vr = P(() => { + zo(); + U1(); + Mrt(); + Ci(); + A2(); + ((O4 = z(re(), 1)), (uwe = z(re(), 1))); + cPn = Symbol.for("react.lazy"); +}); +var fPn, cN; +var dwe = P(() => { + ((fPn = z(re(), 1)), (cN = { ...fPn })); +}); +function mPn(e, t = "mui") { + let [n, r] = N$.useState(e), + o = e || n; + return ( + N$.useEffect(() => { + if (n == null) ((_rt += 1), r(`${t}-${_rt}`)); + }, [n, t]), + o + ); +} +function Ag(e, t) { + if (Hrt !== void 0) { + let n = Hrt(); + return e ?? (t ? `${t}-${n}` : n); + } + return mPn(e, t); +} +var N$, + _rt = 0, + Hrt; +var Y8 = P(() => { + dwe(); + N$ = z(re(), 1); + Hrt = cN.useId; +}); +function go(e) { + return Ag(e, "base-ui"); +} +var _l = P(() => { + Y8(); +}); +function Ot(e) { + let t = qa(gPn).current; + return ((t.next = e), hPn(t.effect), t.trampoline); +} +function gPn() { + let e = { + next: void 0, + callback: yPn, + trampoline: (...t) => e.callback?.(...t), + effect: () => { + e.callback = e.next; + }, + }; + return e; +} +function yPn() {} +var pwe, hPn; +var da = P(() => { + dwe(); + om(); + ((pwe = cN.useInsertionEffect), + (hPn = pwe && pwe !== cN.useLayoutEffect ? pwe : (e) => e())); +}); +function F4(e = !1) { + let t = z$.useContext(fwe); + if (t === void 0 && !e) throw Error(Dn(16)); + return t; +} +var z$, fwe; +var EP = P(() => { + zo(); + ((z$ = z(re(), 1)), (fwe = z$.createContext(void 0))); +}); +function Grt(e) { + let { + focusableWhenDisabled: t, + disabled: n, + composite: r = !1, + tabIndex: o = 0, + isNativeButton: a, + } = e, + i = r && t !== !1, + s = r && t === !1; + return { + props: Vrt.useMemo(() => { + let c = { + onKeyDown(u) { + if (n && t && u.key !== "Tab") u.preventDefault(); + }, + }; + if (!r) { + if (((c.tabIndex = o), !a && n)) c.tabIndex = t ? o : -1; + } + if ((a && (t || i)) || (!a && n)) c["aria-disabled"] = n; + if (a && (!t || s)) c.disabled = n; + return c; + }, [r, n, t, i, s, a, o]), + }; +} +var Vrt; +var qrt = P(() => { + Vrt = z(re(), 1); +}); +function Ys(e = {}) { + let { + disabled: t = !1, + focusableWhenDisabled: n, + tabIndex: r = 0, + native: o = !0, + composite: a, + } = e, + i = IP.useRef(null), + s = F4(!0), + l = a ?? s !== void 0, + { props: c } = Grt({ + focusableWhenDisabled: n, + disabled: t, + composite: l, + tabIndex: r, + isNativeButton: o, + }), + u = IP.useCallback(() => { + let f = i.current; + if (!mwe(f)) return; + if (l && t && c.disabled === void 0 && f.disabled) f.disabled = !1; + }, [t, c.disabled, l]); + Ct(u, [u]); + let d = IP.useCallback( + (f = {}) => { + let { + onClick: m, + onMouseDown: g, + onKeyUp: v, + onKeyDown: y, + onPointerDown: x, + ...A + } = f; + return dl( + { + onClick(w) { + if (t) { + w.preventDefault(); + return; + } + m?.(w); + }, + onMouseDown(w) { + if (!t) g?.(w); + }, + onKeyDown(w) { + if (t) return; + if ((lN(w), y?.(w), w.baseUIHandlerPrevented)) return; + let C = w.target === w.currentTarget, + E = w.currentTarget, + T = mwe(E), + I = !o && vPn(E), + k = C && (o ? T : !I), + L = w.key === "Enter", + O = w.key === " ", + B = E.getAttribute("role"), + U = + B?.startsWith("menuitem") || + B === "option" || + B === "gridcell"; + if (C && l && O) { + if (w.defaultPrevented && U) return; + if ((w.preventDefault(), !o || T)) + (w.preventBaseUIHandler(), Sb(E, w)); + return; + } + if (!k || o || (!O && !L)) { + if (C && I && O) w.preventDefault(); + return; + } + if (w.defaultPrevented) return; + if ((w.preventDefault(), L)) (w.preventBaseUIHandler(), Sb(E, w)); + }, + onKeyUp(w) { + if (t) return; + if ( + (lN(w), + v?.(w), + w.target === w.currentTarget && + o && + l && + mwe(w.currentTarget) && + w.key === " ") + ) { + w.preventDefault(); + return; + } + if (w.baseUIHandlerPrevented) return; + if ( + w.target === w.currentTarget && + !o && + !l && + !w.defaultPrevented && + w.key === " " + ) + (w.preventBaseUIHandler(), Sb(w.currentTarget, w)); + }, + onPointerDown(w) { + if (t) { + w.preventDefault(); + return; + } + x?.(w); + }, + }, + o ? { type: "button" } : { role: "button" }, + c, + A, + ); + }, + [t, c, l, o], + ), + p = Ot((f) => { + ((i.current = f), u()); + }); + return { getButtonProps: d, buttonRef: p }; +} +function mwe(e) { + return Xo(e) && e.tagName === "BUTTON"; +} +function vPn(e) { + return Xo(e) && e.tagName === "A" && Boolean(e.href); +} +var IP; +var TP = P(() => { + vs(); + da(); + Nr(); + A2(); + EP(); + qrt(); + aN(); + IP = z(re(), 1); +}); +var K8 = P(() => { + Ci(); +}); +function r0(e = !0) { + let t = _$.useContext(xPn); + if (t.setValidityData === oa && !e) throw Error(Dn(28)); + return t; +} +var _$, bPn, xPn; +var U4 = P(() => { + zo(); + Ci(); + K8(); + SP(); + ((_$ = z(re(), 1)), + (bPn = { + invalid: void 0, + name: void 0, + validityData: { + state: Ert, + errors: [], + error: "", + value: "", + initialValue: null, + }, + setValidityData: oa, + disabled: void 0, + setTouched: oa, + setDirty: oa, + setFilled: oa, + setFocused: oa, + validationMode: "onSubmit", + shouldValidateOnChange: () => !1, + state: Irt, + registerFieldControl: oa, + validation: { + getValidationProps: (e, t = $r) => t, + inputRef: { current: null }, + registeredInputs: new Map(), + registerInput: oa, + getInputControl: () => null, + commit: async () => {}, + change: oa, + }, + }), + (xPn = _$.createContext(bPn))); +}); +function N4(e, t, n, r, o = !0, a) { + let { registerFieldControl: i } = r0(), + s = qa(() => Symbol()); + (Ct(() => { + let l = s.current; + if (!o) { + i(l, void 0); + return; + } + i(l, { controlRef: e, getValue: r, id: t, name: a, value: n }); + }, [e, o, r, t, a, i, s, n]), + Ct(() => { + let l = s.current; + return () => { + i(l, void 0); + }; + }, [i, s])); +} +var uN = P(() => { + Nr(); + om(); + U4(); +}); +function Zrt() { + return H$.useContext(APn); +} +var H$, APn; +var Qrt = P(() => { + ((H$ = z(re(), 1)), (APn = H$.createContext({ disabled: !1 }))); +}); +function z4() { + return V$.useContext(wPn); +} +var V$, wPn; +var dN = P(() => { + K8(); + ((V$ = z(re(), 1)), + (wPn = V$.createContext({ + elementRef: { current: null }, + formRef: { current: { fields: new Map() } }, + errors: {}, + clearErrors: oa, + validationMode: "onSubmit", + submitCountRef: { current: 0 }, + }))); +}); +function Cb() { + return G$.useContext(SPn); +} +var G$, SPn; +var kP = P(() => { + K8(); + ((G$ = z(re(), 1)), + (SPn = G$.createContext({ + controlId: void 0, + registerControlId: oa, + resetControlId: oa, + labelId: void 0, + setLabelId: oa, + messageIds: [], + setMessageIds: oa, + getDescriptionProps: (e) => e, + }))); +}); +function q$(e, t, n, r = !0, o) { + let [a, i] = Xrt.useState(), + s = go(o ? `${o}-label` : void 0), + l = e ?? t ?? a; + return ( + Ct(() => { + let c = e || t || !r ? void 0 : CPn(n.current, s); + if (a !== c) i(c); + }), + l + ); +} +function CPn(e, t) { + let n = EPn(e); + if (!n) return; + if (!n.id && t) n.id = t; + return n.id || void 0; +} +function EPn(e) { + if (!e) return; + let t = e.parentElement; + if (t && t.tagName === "LABEL") return t; + let n = e.id; + if (n) { + let o = e.nextElementSibling; + if (o && o.htmlFor === n) return o; + } + let r = e.labels; + return r && r[0]; +} +var Xrt; +var hwe = P(() => { + Nr(); + _l(); + Xrt = z(re(), 1); +}); +function Eb(e = {}) { + let { id: t, enabled: n = !0 } = e, + { controlId: r, registerControlId: o, resetControlId: a } = Cb(), + i = go(), + s = qa(() => Symbol()), + l = gwe.useRef(!1), + c = gwe.useRef(!1), + u = Ot(() => { + if (!l.current || o === oa) return; + ((l.current = !1), o(s.current, void 0)); + }); + return ( + Ct(() => { + if (!n || o === oa) { + u(); + return; + } + let d; + if (t !== void 0) ((c.current = !0), (d = t)); + else if (c.current) d = i; + else { + a(); + return; + } + if (d === void 0) { + u(); + return; + } + ((l.current = !0), o(s.current, d)); + return; + }, [t, n, o, a, i, s, u]), + Ct(() => u, [u]), + (n ? r : void 0) ?? t ?? i + ); +} +var gwe; +var RP = P(() => { + Nr(); + da(); + om(); + K8(); + _l(); + kP(); + gwe = z(re(), 1); +}); +function Wrt() { + return Z$.useContext(IPn); +} +var Z$, IPn; +var Yrt = P(() => { + ((Z$ = z(re(), 1)), (IPn = Z$.createContext(void 0))); +}); +function Krt() { + let e = Q$.useContext(ywe); + if (e === void 0) throw Error(Dn(14)); + return e; +} +var Q$, ywe; +var vwe = P(() => { + zo(); + ((Q$ = z(re(), 1)), (ywe = Q$.createContext(void 0))); +}); +var _1 = "none", + Ib = "trigger-press", + sc = "trigger-hover", + PP = "trigger-focus", + X$ = "outside-press", + J8 = "item-press", + bwe = "close-press", + Jrt = "track-press", + TPn = "input-change", + _4 = "focus-out", + pN = "escape-key", + W$ = "list-navigation", + kPn = "keyboard", + RPn = "drag", + jrt = "cancel-open", + fN = "sibling-open", + $rt = "disabled", + eot = "missing", + tot = "initial", + Y$ = "imperative-action", + PPn = "window-resize"; +var ko = () => {}; +function un(e, t, n, r) { + let o = !1, + a = !1, + i = r ?? $r; + return { + reason: e, + event: t ?? new Event("base-ui"), + cancel() { + o = !0; + }, + allowPropagation() { + a = !0; + }, + get isCanceled() { + return o; + }, + get isPropagationAllowed() { + return a; + }, + trigger: n, + ...i, + }; +} +function K$(e, t, n) { + let r = n ?? $r; + return { reason: e, event: t ?? new Event("base-ui"), ...r }; +} +var ka = P(() => { + Ci(); +}); +function Tb(e, t) { + let n = not.useRef(e), + r = Ot(t); + Ct(() => { + if (n.current !== e) r(n.current); + n.current = e; + }, [e, r]); +} +var not; +var MP = P(() => { + Nr(); + da(); + not = z(re(), 1); +}); +var w2, + MPn = "data-parent", + rot; +var oot = P(() => { + Ci(); + xb(); + Nr(); + U1(); + Q8(); + ul(); + awe(); + aN(); + vr(); + _l(); + A2(); + TP(); + U4(); + uN(); + Qrt(); + dN(); + kP(); + hwe(); + RP(); + Yrt(); + vwe(); + ka(); + ko(); + MP(); + le(); + ((w2 = z(re(), 1)), + (rot = w2.forwardRef(function (t, n) { + let { + checked: r, + className: o, + defaultChecked: a = !1, + "aria-labelledby": i, + disabled: s = !1, + form: l, + id: c, + indeterminate: u = !1, + inputRef: d, + name: p, + onCheckedChange: f, + parent: m = !1, + readOnly: g = !1, + render: v, + required: y = !1, + uncheckedValue: x, + value: A, + nativeButton: w = !1, + style: C, + ...E + } = t, + { clearErrors: T } = z4(), + { + disabled: I, + name: k, + setDirty: L, + setFilled: O, + setFocused: B, + setTouched: U, + state: D, + validationMode: N, + validityData: _, + validation: G, + } = r0(), + Z = Zrt(), + { labelId: q, registerControlId: H, getDescriptionProps: te } = Cb(), + ie = Wrt(), + j = ie?.allValues === void 0 ? void 0 : ie.parent, + oe = j !== void 0, + J = I || Z.disabled || ie?.disabled || s, + Y = k ?? p, + ae = A ?? Y, + ne = go(), + Se = ie?.registerControlId !== H, + fe = Eb({ id: c || void 0, enabled: Se }), + Ae = w ? fe : ne, + Ee = {}; + if (oe) { + if (m) Ee = j.getParentProps(); + else if (ae !== void 0) Ee = j.getChildProps(ae); + } + let { + checked: pe = r, + indeterminate: Re = u, + onCheckedChange: Le, + ...Ne + } = Ee, + be = ie?.value, + ye = w2.useRef(null), + { getButtonProps: ce, buttonRef: ue } = Ys({ disabled: J, native: w }), + ke = ie?.validation ?? G, + [se, qe] = Zd({ + controlled: + ae !== void 0 && be !== void 0 && !m ? be.includes(ae) : pe, + default: a, + name: "Checkbox", + state: "checked", + }), + Me = oe ? Boolean(pe) : se, + Qe = oe ? Re || u : u; + N4(ye, ne, se, void 0, !ie && !J, p); + let ee = j?.registerChildId, + K = w2.useRef(null), + we = ke.registerInput, + ze = ie ? ae : void 0, + tt = w2.useCallback( + (ge) => we(ge, { controlRef: ye, value: ze }), + [we, ze], + ), + Pe = cl(d, K, m ? void 0 : tt), + Ke = q$(i, q, K, !w, fe); + (Ct(() => { + if (K.current) K.current.indeterminate = Qe; + if (!ie) O(se); + }, [se, Qe, ie, O]), + Tb(se, () => { + if (ie) return; + (T(Y), L(se !== _.initialValue), ke.change(se)); + })); + let Ue = dl( + { + checked: se, + disabled: J, + form: l, + name: m ? void 0 : Y, + id: w ? void 0 : fe, + required: y, + ref: Pe, + style: Y ? wP : xg, + tabIndex: -1, + type: "checkbox", + "aria-hidden": !0, + onChange(ge) { + if (ge.nativeEvent.defaultPrevented) return; + if (g) { + ge.preventDefault(); + return; + } + let Oe = ge.currentTarget.checked, + Xe = un(_1, ge.nativeEvent); + if ((f?.(Oe, Xe), Xe.isCanceled)) return; + if ((Le?.(Oe, Xe), Xe.isCanceled)) return; + if ((qe(Oe), ae !== void 0 && ie !== void 0 && !m && !oe)) { + let $e = Oe + ? [...ie.value, ae] + : ie.value.filter((Ie) => Ie !== ae); + ie.setValue($e, Xe); + } + }, + onClick(ge) { + ge.stopPropagation(); + }, + onFocus() { + ye.current?.focus(); + }, + }, + A !== void 0 ? { value: (ie ? se && A : A) || "" } : $r, + te, + (ge) => ke.getValidationProps(J, ge), + ); + w2.useEffect(() => { + if (!j || ae === void 0) return; + let ge = j.disabledStatesRef.current; + return ( + ge.set(ae, J), + () => { + ge.delete(ae); + } + ); + }, [j, J, ae]); + let Ze = w2.useMemo( + () => ({ + ...D, + checked: Me, + disabled: J, + readOnly: g, + required: y, + indeterminate: Qe, + }), + [D, Me, J, g, y, Qe], + ), + ct = B$(Ze), + Rt = Zt("span", t, { + state: Ze, + ref: [ue, ye, n], + props: [ + { + id: Ae, + role: "checkbox", + "aria-checked": Qe ? "mixed" : Me, + "aria-readonly": g || void 0, + "aria-required": y || void 0, + "aria-labelledby": Ke, + [MPn]: m ? "" : void 0, + onFocus() { + if (!J) B(!0); + }, + onBlur() { + let ge = K.current; + if (!ge) return; + if ((U(!0), B(!1), N === "onBlur")) + ke.commit(ie ? be : ge.checked); + }, + onKeyDown(ge) { + if (ge.key !== "Enter") return; + if ((ge.preventBaseUIHandler(), ge.defaultPrevented)) return; + let Oe = K.current?.form ?? null, + { + currentTarget: Xe, + nativeEvent: $e, + preventDefault: Ie, + } = ge, + Ge = $e.preventDefault, + _e = !1; + ((ge.preventDefault = () => { + ((_e = !0), Ie.call(ge)); + }), + ($e.preventDefault = () => { + ((_e = !0), Ge.call($e)); + }), + Ge.call($e), + Io(Xe).queueMicrotask(() => { + if ( + ((ge.preventDefault = Ie), ($e.preventDefault = Ge), !_e) + ) + wrt(Oe)?.click(); + })); + }, + onClick(ge) { + if (g || J) return; + ge.preventDefault(); + let Oe = K.current; + if (!Oe) return; + Sb(Oe, ge); + }, + }, + E, + Ne, + ce, + te, + (ge) => ke.getValidationProps(J, ge), + ], + stateAttributesMapping: ct, + }), + de = Rt.props.id; + return ( + Ct(() => { + if (!ee || m || ae === void 0 || de === void 0) return; + return ee(ae, de); + }, [ee, m, ae, de]), + M(ywe.Provider, { + value: Ze, + children: [ + Rt, + !se && + !ie && + Y && + !m && + x !== void 0 && + h("input", { + type: "hidden", + form: l, + name: Y, + value: x, + disabled: J, + }), + h("input", { ...Ue, suppressHydrationWarning: !0 }), + ], + }) + ); + }))); +}); +function DP(e) { + aot.useEffect(e, Rc); +} +var aot; +var J$ = P(() => { + Ci(); + aot = z(re(), 1); +}); +class iot { + callbacks = []; + callbacksCount = 0; + nextId = 1; + startId = 1; + isScheduled = !1; + tick = (e) => { + this.isScheduled = !1; + let t = this.callbacks, + n = this.callbacksCount; + if ( + ((this.callbacks = []), + (this.callbacksCount = 0), + (this.startId = this.nextId), + n > 0) + ) + for (let r = 0; r < t.length; r += 1) t[r]?.(e); + }; + request(e) { + let t = this.nextId; + ((this.nextId += 1), this.callbacks.push(e), (this.callbacksCount += 1)); + let n = !1; + if (!this.isScheduled || n) + (requestAnimationFrame(this.tick), (this.isScheduled = !0)); + return t; + } + cancel(e) { + let t = e - this.startId; + if (t < 0 || t >= this.callbacks.length) return; + if (this.callbacks[t] === null) return; + ((this.callbacks[t] = null), (this.callbacksCount -= 1)); + } +} +class Cf { + static create() { + return new Cf(); + } + static request(e) { + return $$.request(e); + } + static cancel(e) { + return $$.cancel(e); + } + currentId = j$; + request(e) { + (this.cancel(), + (this.currentId = $$.request(() => { + ((this.currentId = j$), e()); + }))); + } + cancel = () => { + if (this.currentId !== j$) + ($$.cancel(this.currentId), (this.currentId = j$)); + }; + disposeEffect = () => this.cancel; +} +function wg() { + let e = qa(Cf.create).current; + return (DP(e.disposeEffect), e); +} +var j$ = null, + pjr, + $$; +var kb = P(() => { + om(); + J$(); + pjr = globalThis.requestAnimationFrame; + $$ = new iot(); +}); +function S2(e) { + if (e == null) return e; + return "current" in e ? e.current : e; +} +var H4 = "data-starting-style", + LP = "data-ending-style"; +function DPn(e) { + if (!eee) { + let t = []; + ((eee = t), + queueMicrotask(() => { + ((eee = null), + Ec(() => { + for (let n of t) n(); + })); + })); + } + eee.push(e); +} +function Rb(e, t = !1, n = !1) { + let r = wg(); + return Ot((o, a = null) => { + r.cancel(); + let i = S2(e); + if (i == null) return; + let s = i, + l = () => { + if (!n) { + Ec(o); + return; + } + DPn(() => { + if (!a?.aborted) o(); + }); + }; + if ( + typeof s.getAnimations !== "function" || + globalThis.BASE_UI_ANIMATIONS_DISABLED + ) { + o(); + return; + } + function c() { + Promise.all(s.getAnimations().map((u) => u.finished)).then( + () => { + if (!a?.aborted) l(); + }, + () => { + if (a?.aborted) return; + if ( + s + .getAnimations() + .some((d) => d.pending || d.playState !== "finished") + ) { + c(); + return; + } + l(); + }, + ); + } + if (t) { + let u = H4; + if (!s.hasAttribute(u)) { + r.request(c); + return; + } + let d = new MutationObserver(() => { + if (!s.hasAttribute(u)) (d.disconnect(), c()); + }); + (d.observe(s, { attributes: !0, attributeFilter: [u] }), + a?.addEventListener("abort", () => d.disconnect(), { once: !0 })); + return; + } + r.request(c); + }); +} +var eee = null; +var BP = P(() => { + bd(); + kb(); + da(); +}); +function ji(e) { + let { enabled: t = !0, open: n, ref: r, batch: o = !1, onComplete: a } = e, + i = Ot(a), + s = Rb(r, n, o); + sot.useEffect(() => { + if (!t) return; + let l = new AbortController(); + return ( + s(i, l.signal), + () => { + l.abort(); + } + ); + }, [t, n, i, s]); +} +var sot; +var oh = P(() => { + da(); + BP(); + sot = z(re(), 1); +}); +function Sp(e, t = !1, n = !1, r = !1) { + let [o, a] = xwe.useState(e && t ? "idle" : void 0), + [i, s] = xwe.useState(e && !r); + if (e && !i) (s(!0), a("starting")); + if (!e && i && o !== "ending" && !n) a("ending"); + if (!e && !i && o === "ending") a(void 0); + return ( + Ct(() => { + if (!e && i && o !== "ending" && n) { + let l = Cf.request(() => { + a("ending"); + }); + return () => { + Cf.cancel(l); + }; + } + return; + }, [e, i, o, n]), + Ct(() => { + if (!e || t) return; + let l = Cf.request(() => { + a(void 0); + }); + return () => { + Cf.cancel(l); + }; + }, [t, e]), + Ct(() => { + if (!e || !t) return; + if (e && i && o !== "idle") a("starting"); + let l = Cf.request(() => { + a("idle"); + }); + return () => { + Cf.cancel(l); + }; + }, [t, e, i, o]), + { mounted: i, setMounted: s, transitionStatus: o } + ); +} +var xwe; +var Pb = P(() => { + Nr(); + kb(); + xwe = z(re(), 1); +}); +var LPn, BPn, Cp; +var H1 = P(() => { + ((LPn = { [H4]: "" }), + (BPn = { [LP]: "" }), + (Cp = { + transitionStatus(e) { + if (e === "starting") return LPn; + if (e === "ending") return BPn; + return null; + }, + })); +}); +var tee, lot; +var cot = P(() => { + vwe(); + vr(); + awe(); + oh(); + Pb(); + H1(); + ((tee = z(re(), 1)), + (lot = tee.forwardRef(function (t, n) { + let { render: r, className: o, style: a, keepMounted: i = !1, ...s } = t, + l = Krt(), + c = l.checked || l.indeterminate, + { mounted: u, transitionStatus: d, setMounted: p } = Sp(c), + f = tee.useRef(null), + m = { ...l, transitionStatus: d }; + ji({ + batch: !0, + enabled: !c, + open: c, + ref: f, + onComplete() { + if (!c) p(!1); + }, + }); + let v = { ...B$(l), ...Cp }, + y = i || u, + x = Zt("span", t, { + ref: [n, f], + state: m, + stateAttributesMapping: v, + props: s, + }); + if (!y) return null; + return x; + }))); +}); +var dot = P(() => { + oot(); + cot(); +}); +var pot = P(() => { + dot(); +}); +function io(e, t) { + if (typeof t === "function") return (n) => Ve(e, t(n)); + return Ve(e, t); +} +function am(e, t) { + if (!e || !OP.isValidElement(t)) return { children: t }; + let n = t.type; + return { + render: t, + nativeButton: typeof n === "string" ? n === "button" : void 0, + }; +} +function V4(e, t) { + let n = OP.createContext(!1), + r = ({ forceMount: a, ...i }) => + h(n.Provider, { + value: !0, + children: h(e, { ...i, keepMounted: i.keepMounted ?? a }), + }); + return ( + (r.displayName = t), + { + Portal: r, + EnsurePortal: ({ children: a, keepMounted: i }) => { + if (OP.useContext(n)) return h(Ht, { children: a }); + return h(r, { keepMounted: i, children: a }); + }, + } + ); +} +var OP; +var V1 = P(() => { + rn(); + le(); + OP = z(re(), 1); +}); +function NPn({ checked: e, defaultChecked: t, indeterminate: n }) { + return { + checked: e === void 0 ? void 0 : e === !0, + defaultChecked: t === void 0 ? void 0 : t === !0, + indeterminate: n ?? (e === "indeterminate" || t === "indeterminate"), + }; +} +var nee, + fot, + mot = + "outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary", + OPn, + FP, + FPn = (e) => + Ve( + "group relative flex size-[18px] shrink-0 cursor-pointer items-center justify-center rounded-[2px] border-2 border-on-surface-variant bg-transparent text-on-primary", + "transition-colors duration-200 ease-standard", + fot, + mot, + "data-checked:border-primary data-checked:bg-primary data-checked:hover:before:bg-primary/8", + "data-indeterminate:border-primary data-indeterminate:bg-primary", + "data-disabled:cursor-not-allowed data-disabled:opacity-38", + e && + "border-error text-on-error hover:before:bg-error/8 data-checked:border-error data-checked:bg-error data-indeterminate:border-error data-indeterminate:bg-error", + ), + UPn = () => + M(Ht, { + children: [ + h("span", { + className: "flex group-data-indeterminate:hidden", + children: h(at, { name: "check", size: 18, weight: 700 }), + }), + h("span", { + className: "hidden group-data-indeterminate:flex", + children: h(at, { name: "remove", size: 18, weight: 700 }), + }), + ], + }), + zPn, + _Pn; +var hot = P(() => { + pot(); + x2(); + rn(); + V1(); + n0(); + le(); + ((nee = z(re(), 1)), + (fot = [ + "before:pointer-events-none before:absolute before:left-1/2 before:top-1/2 before:size-10 before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-full before:content-['']", + "before:transition-colors before:duration-200 before:ease-standard", + "hover:before:bg-on-surface/8 focus-visible:before:bg-on-surface/10 active:before:bg-primary/10", + ]), + (OPn = kc( + [ + "relative float-left mr-2 mt-1 size-[18px] shrink-0 cursor-pointer appearance-none rounded-[2px] border-2 border-on-surface-variant bg-transparent align-top", + "transition-colors duration-200 ease-standard", + fot, + mot, + "checked:border-primary checked:bg-primary checked:hover:before:bg-primary/8", + "indeterminate:border-primary indeterminate:bg-primary", + "checked:after:absolute checked:after:left-[4px] checked:after:top-[0px] checked:after:h-[10px] checked:after:w-[5px] checked:after:rotate-45 checked:after:border-b-2 checked:after:border-r-2 checked:after:border-on-primary checked:after:content-['']", + "indeterminate:after:absolute indeterminate:after:left-[2px] indeterminate:after:top-[6px] indeterminate:after:h-[2px] indeterminate:after:w-[10px] indeterminate:after:bg-on-primary indeterminate:after:content-['']", + "disabled:cursor-not-allowed disabled:opacity-38", + ], + { + variants: { + error: { + true: "border-error checked:border-error checked:bg-error checked:after:border-on-error indeterminate:border-error indeterminate:bg-error indeterminate:after:bg-on-error hover:before:bg-error/8", + }, + }, + }, + )), + (FP = nee.forwardRef(({ className: e, error: t, ...n }, r) => + h("input", { + ...n, + type: "checkbox", + "data-m3-component": "CheckBox", + ref: r, + "aria-invalid": t ? !0 : void 0, + className: OPn({ error: t, className: e }), + }), + ))); + FP.displayName = "CheckBox"; + zPn = nee.forwardRef( + ( + { + className: e, + error: t, + checked: n, + defaultChecked: r, + indeterminate: o, + ...a + }, + i, + ) => + h(rot, { + ref: i, + nativeButton: !0, + render: h("button", { type: "button" }), + "aria-invalid": t ? !0 : void 0, + "data-m3-component": "CheckboxRoot", + className: io(FPn(t), e), + ...a, + ...NPn({ checked: n, defaultChecked: r, indeterminate: o }), + }), + ); + zPn.displayName = "CheckboxRoot"; + _Pn = nee.forwardRef(({ className: e, children: t, ...n }, r) => + h(lot, { + ref: r, + className: io("flex items-center justify-center", e), + ...n, + children: t ?? h(UPn, {}), + }), + ); + _Pn.displayName = "CheckboxIndicator"; +}); +var KA = P(() => { + TP(); +}); +function got() { + let e = ree.useContext(Awe); + if (e === void 0) throw Error(Dn(63)); + return e; +} +var ree, Awe; +var wwe = P(() => { + zo(); + ((ree = z(re(), 1)), (Awe = ree.createContext(void 0))); +}); +var yot = "data-checked", + vot = "data-unchecked"; +var oee; +var Swe = P(() => { + SP(); + oee = { + ...B4, + checked(e) { + if (e) return { [yot]: "" }; + return { [vot]: "" }; + }, + }; +}); +var j8, bot; +var xot = P(() => { + xb(); + U1(); + Nr(); + Q8(); + Ci(); + vr(); + _l(); + KA(); + wwe(); + Swe(); + aN(); + U4(); + uN(); + dN(); + kP(); + hwe(); + RP(); + ka(); + ko(); + MP(); + le(); + ((j8 = z(re(), 1)), + (bot = j8.forwardRef(function (t, n) { + let { + checked: r, + className: o, + defaultChecked: a, + "aria-labelledby": i, + form: s, + id: l, + inputRef: c, + name: u, + nativeButton: d = !1, + onCheckedChange: p, + readOnly: f = !1, + required: m = !1, + disabled: g = !1, + render: v, + uncheckedValue: y, + value: x, + style: A, + ...w + } = t, + { clearErrors: C } = z4(), + { + state: E, + setTouched: T, + setDirty: I, + validityData: k, + setFilled: L, + setFocused: O, + validationMode: B, + disabled: U, + name: D, + validation: N, + } = r0(), + { labelId: _ } = Cb(), + G = U || g, + Z = D ?? u, + q = j8.useRef(null), + H = cl(q, c, N.inputRef), + te = j8.useRef(null), + ie = go(), + j = Eb({ id: l }), + oe = d ? void 0 : j, + [J, Y] = Zd({ + controlled: r, + default: Boolean(a), + name: "Switch", + state: "checked", + }); + (N4(te, ie, J, void 0, !G, u), + Ct(() => { + L(J); + }, [J, L]), + Tb(J, () => { + (C(Z), I(J !== k.initialValue), N.change(J)); + })); + let { getButtonProps: ae, buttonRef: ne } = Ys({ + disabled: G, + native: d, + }), + Se = q$(i, _, q, !d, oe), + fe = { + id: d ? j : ie, + role: "switch", + "aria-checked": J, + "aria-readonly": f || void 0, + "aria-required": m || void 0, + "aria-labelledby": Se, + onFocus() { + if (!G) O(!0); + }, + onBlur() { + let Re = q.current; + if (!Re || G) return; + if ((T(!0), O(!1), B === "onBlur")) N.commit(Re.checked); + }, + onClick(Re) { + if (f || G) return; + Re.preventDefault(); + let Le = q.current; + if (!Le) return; + Sb(Le, Re); + }, + }, + Ae = { + ...N.getValidationProps(G), + checked: J, + disabled: G, + form: s, + id: oe, + name: Z, + required: m, + style: Z ? wP : xg, + tabIndex: -1, + type: "checkbox", + "aria-hidden": !0, + ref: H, + onChange(Re) { + if (Re.nativeEvent.defaultPrevented) return; + if (f) { + Re.preventDefault(); + return; + } + let Le = Re.currentTarget.checked, + Ne = un(_1, Re.nativeEvent); + if ((p?.(Le, Ne), Ne.isCanceled)) return; + Y(Le); + }, + onClick(Re) { + Re.stopPropagation(); + }, + onFocus() { + te.current?.focus(); + }, + ...(x !== void 0 ? { value: x } : $r), + }, + Ee = j8.useMemo( + () => ({ ...E, checked: J, disabled: G, readOnly: f, required: m }), + [E, J, G, f, m], + ), + pe = Zt("span", t, { + state: Ee, + ref: [n, te, ne], + props: [fe, w, ae, (Re) => N.getValidationProps(G, Re)], + stateAttributesMapping: oee, + }); + return M(Awe.Provider, { + value: Ee, + children: [ + pe, + !J && + Z && + y !== void 0 && + h("input", { + type: "hidden", + form: s, + name: Z, + value: y, + disabled: G, + }), + h("input", { ...Ae, suppressHydrationWarning: !0 }), + ], + }); + }))); +}); +var Aot, wot; +var Sot = P(() => { + wwe(); + vr(); + Swe(); + ((Aot = z(re(), 1)), + (wot = Aot.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + s = got(); + return Zt("span", t, { + state: s, + ref: n, + stateAttributesMapping: oee, + props: i, + }); + }))); +}); +var Eot = P(() => { + xot(); + Sot(); +}); +var Iot = P(() => { + Eot(); +}); +var Tot, VPn, GPn, G1; +var kot = P(() => { + Iot(); + x2(); + V1(); + n0(); + le(); + ((Tot = z(re(), 1)), + (VPn = kc( + [ + "group relative inline-flex shrink-0 cursor-pointer items-center rounded-full border-2", + "transition-colors duration-200 ease-standard", + "border-outline bg-surface-container-highest", + "data-checked:border-primary data-checked:bg-primary", + "outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary", + "data-disabled:cursor-not-allowed data-disabled:opacity-38", + ], + { + variants: { + size: { sm: "h-6 w-10", md: "h-8 w-[52px]", lg: "h-8 w-[52px]" }, + }, + defaultVariants: { size: "md" }, + }, + )), + (GPn = kc( + [ + "pointer-events-none absolute top-1/2 flex -translate-y-1/2 items-center justify-center rounded-full", + "transition-[left,width,height,background-color] duration-200 ease-standard", + "bg-outline group-hover:bg-on-surface-variant", + "data-checked:bg-on-primary group-hover:data-checked:bg-primary-container", + "before:absolute before:left-1/2 before:top-1/2 before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-full before:content-['']", + "before:transition-colors before:duration-200 before:ease-standard", + "group-hover:before:bg-on-surface/8 group-focus-visible:before:bg-on-surface/10 group-active:before:bg-on-surface/10", + "data-checked:group-hover:before:bg-primary/8 data-checked:group-focus-visible:before:bg-primary/10 data-checked:group-active:before:bg-primary/10", + ], + { + variants: { + size: { + sm: [ + "left-[4px] size-3 before:size-8", + "data-checked:left-[18px] data-checked:size-4", + "group-active:left-[0px] group-active:size-5 data-checked:group-active:left-[16px] data-checked:group-active:size-5", + ], + md: [ + "left-[6px] size-4 before:size-10", + "data-checked:left-[22px] data-checked:size-6", + "group-active:left-[0px] group-active:size-7 data-checked:group-active:left-[20px] data-checked:group-active:size-7", + ], + lg: [ + "left-[6px] size-4 before:size-10", + "data-checked:left-[22px] data-checked:size-6", + "group-active:left-[0px] group-active:size-7 data-checked:group-active:left-[20px] data-checked:group-active:size-7", + ], + }, + }, + defaultVariants: { size: "md" }, + }, + )), + (G1 = Tot.forwardRef( + ({ size: e, className: t, thumbClassName: n, icons: r, ...o }, a) => + h(bot, { + nativeButton: !0, + render: h("button", { type: "button" }), + "data-m3-component": "Switch", + ...o, + ref: a, + className: io(VPn({ size: e }), t), + children: h(wot, { + className: GPn({ size: e, className: n }), + children: + r && + h(at, { + name: "check", + size: e === "sm" ? 12 : 16, + className: + "relative text-on-primary-container opacity-0 transition-opacity duration-200 ease-standard group-data-checked:opacity-100", + }), + }), + }), + ))); + G1.displayName = "Switch"; +}); +function $i(e, t = Number.MIN_SAFE_INTEGER, n = Number.MAX_SAFE_INTEGER) { + return Math.max(t, Math.min(e, n)); +} +function hN(e, t, n = Object.is) { + let { length: r } = e; + if (r !== t.length) return !1; + for (let o = 0; o < r; o += 1) if (!n(e[o], t[o])) return !1; + return !0; +} +function qPn() { + if (typeof navigator > "u") + return { userAgent: "", platform: "", maxTouchPoints: 0 }; + return { + userAgent: navigator.userAgent, + platform: navigator.platform ?? "", + maxTouchPoints: navigator.maxTouchPoints ?? 0, + }; +} +var ZPn, QPn, Rot, $8, eE; +var aee = P(() => { + (({ userAgent: ZPn, platform: QPn, maxTouchPoints: Rot } = qPn()), + ($8 = ZPn.toLowerCase()), + (eE = QPn.toLowerCase())); +}); +var JA = {}; +Xs(JA, { + android: () => Mot, + apple: () => Ewe, + ios: () => Cwe, + linux: () => WPn, + mac: () => Dot, + windows: () => XPn, +}); +var Cwe, + Pot = "android", + Mot, + Dot, + XPn, + WPn, + Ewe; +var Iwe = P(() => { + aee(); + ((Cwe = /^i(os$|p)/.test(eE) || (eE === "macintel" && Rot > 1)), + (Mot = eE === Pot || $8.includes(Pot)), + (Dot = !Cwe && eE.startsWith("mac")), + (XPn = eE.startsWith("win")), + (WPn = !Mot && /^(linux|chrome os)/.test(eE)), + (Ewe = Dot || Cwe)); +}); +var jA = {}; +Xs(jA, { blink: () => KPn, gecko: () => YPn, webkit: () => Twe }); +var Twe, YPn, KPn; +var Lot = P(() => { + aee(); + ((Twe = typeof CSS < "u" && !!CSS.supports?.("-webkit-backdrop-filter:none")), + (YPn = !Twe && $8.includes("firefox")), + (KPn = !Twe && $8.includes("chrom"))); +}); +var iee = {}; +Xs(iee, { voiceOver: () => JPn }); +var JPn; +var Bot = P(() => { + Iwe(); + JPn = Ewe; +}); +var gN = {}; +Xs(gN, { jsdom: () => jPn }); +var jPn; +var Oot = P(() => { + aee(); + jPn = /jsdom|happydom/.test($8); +}); +var Fot = P(() => { + Iwe(); + Lot(); + Bot(); + Oot(); +}); +var a0 = P(() => { + Fot(); +}); +function Ks(e) { + let t = e.activeElement; + while (t?.shadowRoot?.activeElement != null) t = t.shadowRoot.activeElement; + return t; +} +function Ln(e, t) { + if (!e || !t) return !1; + let n = t.getRootNode?.(); + if (e.contains(t)) return !0; + if (n && Ab(n)) { + let r = t; + while (r) { + if (e === r) return !0; + r = r.parentNode || r.host; + } + } + return !1; +} +function fi(e) { + if ("composedPath" in e) return e.composedPath()[0] ?? e.target; + return e.target; +} +var Uot = P(() => { + vs(); +}); +var yN = "data-base-ui-focusable", + kwe = + "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])", + vN = "ArrowLeft", + bN = "ArrowRight", + Rwe = "ArrowUp", + see = "ArrowDown"; +var Pwe = "data-open", + Mwe = "data-closed", + $Pn, + e9n, + Not = "data-anchor-hidden"; +var _ot = P(() => { + (($Pn = H4), (e9n = LP)); +}); +var xN = "data-popup-open", + Dwe = "data-pressed"; +var t9n, n9n, r9n, o9n, a9n, Mb, tE, nE, G4; +var Ep = P(() => { + H1(); + _ot(); + ((t9n = { [xN]: "" }), + (n9n = { [xN]: "", [Dwe]: "" }), + (r9n = { [Pwe]: "" }), + (o9n = { [Mwe]: "" }), + (a9n = { [Not]: "" }), + (Mb = { + open(e) { + if (e) return t9n; + return null; + }, + }), + (tE = { + open(e) { + if (e) return n9n; + return null; + }, + }), + (nE = { + open(e) { + if (e) return r9n; + return o9n; + }, + anchorHidden(e) { + if (e) return a9n; + return null; + }, + }), + (G4 = { ...nE, ...Cp })); +}); +var W$r, + AN = "data-trigger-disabled"; +var Bwe = P(() => { + Ep(); + W$r = xN; +}); +function q4(e, t) { + if (!Dr(e)) return !1; + let n = e; + if (t.hasElement(n)) return !n.hasAttribute(AN); + for (let [, r] of t.entries()) if (Ln(r, n)) return !r.hasAttribute(AN); + return !1; +} +function lee(e, t) { + if (t == null) return !1; + if ("composedPath" in e) return e.composedPath().includes(t); + let n = e; + return n.target != null && t.contains(n.target); +} +function Vot(e) { + return e.matches("html,body"); +} +function rE(e) { + return Xo(e) && e.matches(kwe); +} +function Owe(e) { + return ( + e?.closest( + `button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${kwe}`, + ) != null + ); +} +function wN(e) { + if (!e) return !1; + return e.getAttribute("role") === "combobox" && rE(e); +} +function cee(e) { + if (!e || gN.jsdom) return !0; + try { + return e.matches(":focus-visible"); + } catch (t) { + return !0; + } +} +function oE(e) { + if (!e) return null; + return e.hasAttribute(yN) ? e : e.querySelector(`[${yN}]`) || e; +} +var im = P(() => { + vs(); + a0(); + Uot(); + Bwe(); +}); +function q1(e, t, n = !0) { + return e + .filter((o) => o.parentId === t) + .flatMap((o) => [...(!n || o.context?.open ? [o] : []), ...q1(e, o.id, n)]); +} +function Fwe(e, t) { + let n = [], + r = e.find((o) => o.id === t)?.parentId; + while (r) { + let o = e.find((a) => a.id === r); + if (((r = o?.parentId), o)) n = n.concat(o); + } + return n; +} +function i0(e) { + (e.preventDefault(), e.stopPropagation()); +} +function Got(e) { + return "nativeEvent" in e; +} +function Z4(e) { + if (e.pointerType === "" && e.isTrusted) return !0; + if (JA.android && e.pointerType) return e.type === "click" && e.buttons === 1; + return e.detail === 0 && !e.pointerType; +} +function UP(e) { + if (gN.jsdom) return !1; + return ( + (!JA.android && e.width === 0 && e.height === 0) || + (JA.android && + e.width === 1 && + e.height === 1 && + e.pressure === 0 && + e.detail === 0 && + e.pointerType === "mouse") || + (e.width < 1 && + e.height < 1 && + e.pressure === 0 && + e.detail === 0 && + e.pointerType === "touch") + ); +} +function Sg(e, t) { + let n = ["mouse", "pen"]; + if (!t) n.push("", void 0); + return n.includes(e); +} +function qot(e) { + let t = e.type; + return t === "click" || t === "mousedown" || t === "keydown" || t === "keyup"; +} +var Z1 = P(() => { + a0(); +}); +function dee(e, t, n) { + return C2(e, Q4(t, n)); +} +function Lb(e, t) { + return typeof e === "function" ? e(t) : e; +} +function s0(e) { + return e.split("-")[0]; +} +function Q1(e) { + return e.split("-")[1]; +} +function pee(e) { + return e === "x" ? "y" : "x"; +} +function IN(e) { + return e === "y" ? "height" : "width"; +} +function l0(e) { + let t = e[0]; + return t === "t" || t === "b" ? "y" : "x"; +} +function TN(e) { + return pee(l0(e)); +} +function Xot(e, t, n) { + if (n === void 0) n = !1; + let r = Q1(e), + o = TN(e), + a = IN(o), + i = + o === "x" + ? r === (n ? "end" : "start") + ? "right" + : "left" + : r === "start" + ? "bottom" + : "top"; + if (t.reference[a] > t.floating[a]) i = SN(i); + return [i, SN(i)]; +} +function Wot(e) { + let t = SN(e); + return [uee(e), t, uee(t)]; +} +function uee(e) { + return e.includes("start") + ? e.replace("start", "end") + : e.replace("end", "start"); +} +function c9n(e, t, n) { + switch (e) { + case "top": + case "bottom": + if (n) return t ? Qot : Zot; + return t ? Zot : Qot; + case "left": + case "right": + return t ? s9n : l9n; + default: + return []; + } +} +function Yot(e, t, n, r) { + let o = Q1(e), + a = c9n(s0(e), n === "start", r); + if (o) { + if (((a = a.map((i) => i + "-" + o)), t)) a = a.concat(a.map(uee)); + } + return a; +} +function SN(e) { + let t = s0(e); + return i9n[t] + e.slice(t.length); +} +function u9n(e) { + var t, n, r, o; + return { + top: (t = e.top) != null ? t : 0, + right: (n = e.right) != null ? n : 0, + bottom: (r = e.bottom) != null ? r : 0, + left: (o = e.left) != null ? o : 0, + }; +} +function fee(e) { + return typeof e !== "number" + ? u9n(e) + : { top: e, right: e, bottom: e, left: e }; +} +function $A(e) { + let { x: t, y: n, width: r, height: o } = e; + return { + width: r, + height: o, + top: n, + left: t, + right: t + r, + bottom: n + o, + x: t, + y: n, + }; +} +var Q4, + C2, + CN, + EN, + Db = (e) => ({ x: e, y: e }), + i9n, + Zot, + Qot, + s9n, + l9n; +var aE = P(() => { + ((Q4 = Math.min), + (C2 = Math.max), + (CN = Math.round), + (EN = Math.floor), + (i9n = { left: "right", right: "left", bottom: "top", top: "bottom" })); + ((Zot = ["left", "right"]), + (Qot = ["right", "left"]), + (s9n = ["top", "bottom"]), + (l9n = ["bottom", "top"])); +}); +function X4(e, t) { + return t < 0 || t >= e.length; +} +function iE(e, t) { + return X1(e.current, { disabledIndices: t }); +} +function NP(e, t) { + return X1(e.current, { + decrement: !0, + startingIndex: e.current.length, + disabledIndices: t, + }); +} +function X1( + e, + { + startingIndex: t = -1, + decrement: n = !1, + disabledIndices: r, + amount: o = 1, + } = {}, +) { + let a = t; + do a += n ? -o : o; + while (a >= 0 && a <= e.length - 1 && e3(e, a, r)); + return a; +} +function e3(e, t, n) { + if (typeof n === "function" ? n(t) : (n?.includes(t) ?? !1)) return !0; + let o = e[t]; + if (!o) return !1; + if (!sE(o)) return !0; + if (o.matches(":disabled")) return !0; + return ( + !n && + (o.hasAttribute("disabled") || o.getAttribute("aria-disabled") === "true") + ); +} +function d9n(e) { + return e.visibility === "hidden" || e.visibility === "collapse"; +} +function sE(e, t = e ? Sf(e) : null) { + if (!e || !e.isConnected || !t || d9n(t)) return !1; + if (typeof e.checkVisibility === "function") return e.checkVisibility(); + return t.display !== "none" && t.display !== "contents"; +} +var zP = P(() => { + vs(); +}); +function f9n(e) { + let t = e.assignedSlot; + if (t) return t; + if (e.parentElement) return e.parentElement; + let n = e.getRootNode(); + return Ab(n) ? n.host : null; +} +function Nwe(e) { + for (let t of Array.from(e.children)) if (Pc(t) === "summary") return t; + return null; +} +function m9n(e, t) { + let n = Nwe(t); + return !!n && (e === n || Ln(n, e)); +} +function Kot(e) { + let t = e ? Pc(e) : ""; + return ( + e != null && + e.matches(p9n) && + (t !== "summary" || + (e.parentElement != null && + Pc(e.parentElement) === "details" && + Nwe(e.parentElement) === e)) && + (t !== "details" || Nwe(e) == null) && + (t !== "input" || e.type !== "hidden") + ); +} +function Jot(e) { + if (!Kot(e) || !e.isConnected || e.matches(":disabled")) return !1; + for (let t = e; t; t = f9n(t)) { + let n = t !== e, + r = Pc(t) === "slot"; + if (t.hasAttribute("inert")) return !1; + if ( + (n && Pc(t) === "details" && !t.open && !m9n(e, t)) || + t.hasAttribute("hidden") || + (!r && !h9n(t, n)) + ) + return !1; + } + return !0; +} +function h9n(e, t) { + let n = Sf(e); + if (!t) return sE(e, n); + return n.display !== "none"; +} +function jot(e) { + let t = e.tabIndex; + if (t < 0) { + let n = Pc(e); + if ( + n === "details" || + n === "audio" || + n === "video" || + (Xo(e) && e.isContentEditable) + ) + return 0; + } + return t; +} +function Uwe(e) { + if (Pc(e) !== "input") return null; + let t = e; + return t.type === "radio" && t.name !== "" ? t : null; +} +function g9n(e, t) { + let n = Uwe(e); + if (!n) return !0; + let r = t.find((o) => { + let a = Uwe(o); + return a?.name === n.name && a.form === n.form && a.checked; + }); + if (r) return r === n; + return ( + t.find((o) => { + let a = Uwe(o); + return a?.name === n.name && a.form === n.form; + }) === n + ); +} +function $ot(e) { + if (Xo(e) && Pc(e) === "slot") { + let t = e.assignedElements({ flatten: !0 }); + if (t.length > 0) return t; + } + if (Xo(e) && e.shadowRoot) return Array.from(e.shadowRoot.children); + return Array.from(e.children); +} +function eat(e, t) { + $ot(e).forEach((n) => { + if (Kot(n)) t.push(n); + eat(n, t); + }); +} +function tat(e, t, n) { + $ot(e).forEach((r) => { + if (Xo(r) && r.matches(t)) n.push(r); + tat(r, t, n); + }); +} +function mee(e) { + return Jot(e) && jot(e) >= 0; +} +function zwe(e) { + let t = []; + return (eat(e, t), t.filter(Jot)); +} +function _P(e) { + let t = zwe(e); + return t.filter((n) => jot(n) >= 0 && g9n(n, t)); +} +function nat(e, t) { + let n = _P(e), + r = n.length; + if (r === 0) return; + let o = Ks(yr(e)), + a = n.indexOf(o), + i = a === -1 ? (t === 1 ? 0 : r - 1) : a + t; + return n[i]; +} +function HP(e) { + return nat(yr(e).body, 1) || e; +} +function hee(e) { + return nat(yr(e).body, -1) || e; +} +function rat(e, t) { + if (!e) return null; + let n = _P(yr(e).body), + r = n.length; + if (r === 0) return null; + let o = n.indexOf(e); + if (o === -1) return null; + let a = (o + t + r) % r; + return n[a]; +} +function oat(e) { + return rat(e, 1); +} +function aat(e) { + return rat(e, -1); +} +function t3(e, t) { + let n = t || e.currentTarget, + r = e.relatedTarget; + return !r || !Ln(n, r); +} +function iat(e) { + _P(e).forEach((n) => { + ((n.dataset.tabindex = n.getAttribute("tabindex") || ""), + n.setAttribute("tabindex", "-1")); + }); +} +function _we(e) { + let t = []; + (tat(e, "[data-tabindex]", t), + t.forEach((n) => { + let r = n.dataset.tabindex; + if ((delete n.dataset.tabindex, r)) n.setAttribute("tabindex", r); + else n.removeAttribute("tabindex"); + })); +} +var p9n = + 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]'; +var gee = P(() => { + vs(); + ul(); + im(); + zP(); +}); +var Cg = P(() => { + im(); + Z1(); + zP(); + gee(); +}); +function sat() { + return yee.useContext(Hwe); +} +var yee, Hwe; +var Vwe = P(() => { + ((yee = z(re(), 1)), + (Hwe = yee.createContext({ + register: () => {}, + unregister: () => {}, + subscribeMapChange: () => () => {}, + nextIndexRef: { current: 0 }, + }))); +}); +function W1(e) { + let { children: t, elementsRef: n, labelsRef: r, onMapChange: o } = e, + a = Ot(o), + [, i] = n3.useState(!1), + s = qa(v9n).current, + l = qa(y9n).current, + c = n3.useRef(0), + u = n3.useRef(!0), + d = n3.useRef(null), + p = n3.useRef(null), + f = Ot(() => { + if (u.current) return; + ((u.current = !0), i((C) => !C)); + }), + m = Ot((C, E) => { + (l.set(C, E), f()); + }), + g = Ot((C) => { + (l.delete(C), f()); + }), + v = Ot((C) => { + let E = new Map(); + if (((n.current.length = 0), r)) r.current.length = 0; + return ( + C.forEach((T) => { + if ( + (E.set(T.element, { + ...(T.registration.metadata ?? {}), + index: T.index, + }), + (n.current[T.index] = T.element), + r) + ) + r.current[T.index] = + T.registration.label !== void 0 + ? T.registration.label + : (T.registration.textRef?.current?.textContent ?? + T.element.textContent); + }), + (c.current = n.current.length), + E + ); + }); + function y(C) { + if ( + (p.current?.disconnect(), + (p.current = null), + typeof MutationObserver !== "function" || C.length < 2) + ) + return; + let E = new MutationObserver((I) => { + if (!A9n(I)) return; + let k = null; + for (let L of C) { + if (!L.isConnected) continue; + if (k && lat(k, L) > 0) { + (E.disconnect(), f()); + return; + } + k = L; + } + }); + p.current = E; + let T = new Set(); + for (let I = 1; I < C.length; I += 1) { + let k = x9n(C[I - 1], C[I]); + if (k) T.add(k); + } + T.forEach((I) => E.observe(I, { childList: !0 })); + } + let x = Ot(() => { + let [C, E] = b9n(l), + T = v(C), + I = d.current, + k = + !I || + I.length !== C.length || + C.some((L, O) => { + let B = I[O]; + return ( + L.index !== B.index || + L.element !== B.element || + L.registration.index !== B.registration.index || + L.registration.metadata !== B.registration.metadata + ); + }); + if ((y(E), (d.current = C), (u.current = !1), !k)) return; + (s.forEach((L) => L(T)), a(T)); + }); + (Ct(() => { + if (!u.current && d.current) v(d.current); + return () => { + if (((n.current = []), r)) r.current = []; + }; + }, [n, r, v]), + Ct(() => { + if (u.current) x(); + }), + Ct( + () => () => { + (p.current?.disconnect(), (u.current = !0)); + }, + [], + )); + let A = Ot( + (C) => ( + s.add(C), + () => { + s.delete(C); + } + ), + ), + w = n3.useMemo( + () => ({ + register: m, + unregister: g, + subscribeMapChange: A, + nextIndexRef: c, + }), + [m, g, A, c], + ); + return h(Hwe.Provider, { value: w, children: t }); +} +function y9n() { + return new Map(); +} +function v9n() { + return new Set(); +} +function b9n(e) { + let t = new Set(), + n = [], + r = []; + e.forEach((a, i) => { + if (!i.isConnected) return; + let s = a.index, + l = { index: s ?? -1, element: i, registration: a }; + if (s === null) r.push(l); + else if (s >= 0) (t.add(s), n.push(l)); + }); + let o = 0; + if ( + (r.sort((a, i) => lat(a.element, i.element)), + r.forEach((a) => { + while (t.has(o)) o += 1; + ((a.index = o), n.push(a), (o += 1)); + }), + t.size > 0) + ) + n.sort((a, i) => a.index - i.index); + return [n, r.map((a) => a.element)]; +} +function x9n(e, t) { + let n = e.parentElement; + while (n && !n.contains(t)) n = n.parentElement; + return n; +} +function A9n(e) { + for (let t of e) + for (let n = 0; n < t.removedNodes.length; n += 1) + if (t.removedNodes[n].isConnected) return !0; + return !1; +} +function lat(e, t) { + return e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING + ? -1 + : 1; +} +var n3; +var lE = P(() => { + om(); + da(); + Nr(); + Vwe(); + le(); + n3 = z(re(), 1); +}); +function cat(e) { + return e == null ? void 0 : `${e}-label`; +} +function vee(e, t) { + return e ?? t; +} +function bee(e, t) { + return e - t; +} +function xee(e, t, n, r, o, a) { + let i = $i(e, n, r); + if (!o) return i; + let s = a.slice(); + return ((s[t] = $i(i, a[t - 1] ?? -1 / 0, a[t + 1] ?? 1 / 0)), s.sort(bee)); +} +var Gwe = () => {}; +function Aee(e, t, n) { + if (!Array.isArray(e)) return !0; + let r = t * n; + for (let o = 0; o < e.length - 1; o += 1) + if (!(Math.abs(e[o] - e[o + 1]) >= r)) return !1; + return !0; +} +var VP = () => null, + Bb; +var GP = P(() => { + SP(); + Bb = { + activeThumbIndex: VP, + max: VP, + min: VP, + minStepsBetweenValues: VP, + step: VP, + values: VP, + ...B4, + }; +}); +function W4() { + let e = wee.useContext(qwe); + if (e === void 0) throw Error(Dn(62)); + return e; +} +var wee, qwe; +var qP = P(() => { + zo(); + ((wee = z(re(), 1)), (qwe = wee.createContext(void 0))); +}); +function w9n(e, t) { + return e === t || (Array.isArray(e) && Array.isArray(t) && hN(e, t)); +} +var Mc, uat; +var dat = P(() => { + ul(); + xb(); + da(); + Nr(); + ka(); + MP(); + _l(); + vr(); + Cg(); + lE(); + U4(); + uN(); + dN(); + kP(); + Gwe(); + GP(); + qP(); + ko(); + le(); + Mc = z(re(), 1); + uat = Mc.forwardRef(function (t, n) { + let { + "aria-labelledby": r, + className: o, + defaultValue: a, + disabled: i = !1, + id: s, + format: l, + largeStep: c = 10, + locale: u, + render: d, + max: p = 100, + min: f = 0, + minStepsBetweenValues: m = 0, + form: g, + name: v, + onValueChange: y, + onValueCommitted: x, + orientation: A = "horizontal", + step: w = 1, + thumbCollisionBehavior: C = "push", + thumbAlignment: E = "center", + value: T, + style: I, + ...k + } = t, + L = go(s), + O = cat(L), + B = Ot(y), + U = Ot(x), + { clearErrors: D } = z4(), + { + state: N, + disabled: _, + name: G, + setTouched: Z, + setDirty: q, + validityData: H, + validation: te, + } = r0(), + { labelId: ie } = Cb(), + [j, oe] = Mc.useState(), + J = r ?? vee(ie, j), + Y = _ || i, + ae = G ?? v, + [ne, Se] = Zd({ controlled: T, default: a ?? f, name: "Slider" }), + fe = Mc.useRef(null), + Ae = Mc.useRef(null), + Ee = Mc.useRef([]), + pe = Mc.useRef(null), + Re = Mc.useRef(-1), + Le = Mc.useRef(null), + Ne = Mc.useRef(_1), + [be, ye] = Mc.useState(-1), + [ce, ue] = Mc.useState(-1), + [ke, se] = Mc.useState(!1), + [qe, Me] = Mc.useState(() => new Map()), + [Qe, ee] = Mc.useState([void 0, void 0]), + K = Ot((de) => { + if ((ye(de), de !== -1)) ue(de); + }), + we = Ot((de) => { + if (de) Ae.current = de; + }), + ze = Array.isArray(ne), + tt = Mc.useMemo(() => { + if (!ze) return [$i(ne, f, p)]; + return ne.map((de) => $i(de, f, p)).sort(bee); + }, [p, f, ze, ne]), + Pe = ze ? tt : tt[0]; + (N4(te.inputRef, L, Pe, void 0, !Y, v), + Tb(Pe, () => { + (D(ae), te.change(Pe)); + let de = H.initialValue, + ge; + if (Array.isArray(Pe) && Array.isArray(de)) ge = !hN(Pe, de); + else ge = Pe !== de; + q(ge); + })); + let Ke = Ot((de, ge) => { + if (Number.isNaN(de) || w9n(de, ne)) return !1; + let Oe = ge.event, + $e = new Oe.constructor(Oe.type, Oe); + if ( + (Object.defineProperty($e, "target", { + writable: !0, + value: { value: de, name: ae }, + }), + (ge.event = $e), + B(de, ge), + ge.isCanceled) + ) + return !1; + return ((Ne.current = ge.reason), Se(de), !0); + }), + Ue = Ot((de, ge, Oe) => { + let Xe = xee(de, ge, f, p, ze, tt); + if (Aee(Xe, w, m)) { + let $e = "key" in Oe ? kPn : TPn, + Ie = Ke( + Xe, + un($e, Oe.nativeEvent, void 0, { activeThumbIndex: ge }), + ); + if ((Z(!0), Ie)) U(Xe, K$($e, Oe.nativeEvent)); + } + }); + Ct(() => { + if (!Y) return; + let de = Ks(yr(fe.current)); + if (Ln(fe.current, de)) de.blur(); + if (be !== -1) K(-1); + }, [be, Y, K]); + let Ze = Mc.useMemo( + () => ({ + ...N, + activeThumbIndex: be, + disabled: Y, + dragging: ke, + orientation: A, + max: p, + min: f, + minStepsBetweenValues: m, + step: w, + values: tt, + }), + [N, be, Y, ke, p, f, m, A, w, tt], + ), + ct = Mc.useMemo( + () => ({ + active: be, + controlRef: Ae, + disabled: Y, + dragging: ke, + validation: te, + format: l, + handleInputChange: Ue, + indicatorPosition: Qe, + inset: E !== "center", + labelId: J, + rootLabelId: O, + largeStep: c, + lastUsedThumbIndex: ce, + lastChangeReasonRef: Ne, + form: g, + locale: u, + max: p, + min: f, + minStepsBetweenValues: m, + name: ae, + onValueCommitted: U, + orientation: A, + pressedThumbCenterOffsetRef: pe, + pressedThumbIndexRef: Re, + pressedValuesRef: Le, + registerFieldControlRef: we, + renderBeforeHydration: E === "edge", + setActive: K, + setDragging: se, + setIndicatorPosition: ee, + setLabelId: oe, + setValue: Ke, + state: Ze, + step: w, + thumbCollisionBehavior: C, + thumbMap: qe, + thumbRefs: Ee, + values: tt, + }), + [ + be, + J, + O, + Y, + ke, + te, + l, + Ue, + Qe, + c, + ce, + g, + u, + p, + f, + m, + ae, + U, + A, + we, + K, + Ke, + Ze, + w, + C, + E, + qe, + tt, + ], + ), + Rt = Zt("div", t, { + state: Ze, + ref: [n, fe], + props: [ + { "aria-labelledby": J, id: L, role: "group" }, + k, + (de) => te.getValidationProps(Y, de), + ], + stateAttributesMapping: Bb, + }); + return h(qwe.Provider, { + value: ct, + children: h(W1, { elementsRef: Ee, onMapChange: Me, children: Rt }), + }); + }); +}); +function Zwe(e) { + if (Array.isArray(e)) return e.map((t) => Zwe(t)).join(","); + if (e == null) return ""; + return String(e); +} +function S9n(e, t) { + let n = JSON.stringify({ locale: Zwe(e), options: t }), + r = pat.get(n); + if (r) return r; + let o = new Intl.NumberFormat(e, t); + return (pat.set(n, o), o); +} +function cE(e, t, n) { + if (e == null) return ""; + return S9n(t, n).format(e); +} +var pat; +var Qwe = P(() => { + pat = new Map(); +}); +function zr(e, t, n, r) { + return ( + e.addEventListener(t, n, r), + () => { + e.removeEventListener(t, n, r); + } + ); +} +function ti(e) { + let t = qa(C9n, e).current; + return ((t.next = e), Ct(t.effect), t); +} +function C9n(e) { + let t = { + current: e, + next: e, + effect: () => { + t.current = t.next; + }, + }; + return t; +} +var Ob = P(() => { + Nr(); + om(); +}); +function Y1() { + return See.useContext(E9n)?.direction ?? "ltr"; +} +var See, E9n; +var uE = P(() => { + ((See = z(re(), 1)), (E9n = See.createContext(void 0))); +}); +function Cee(e, t) { + let n = e.getBoundingClientRect(); + return t ? (n.top + n.bottom) / 2 : (n.left + n.right) / 2; +} +function ZP(e) { + if (e === 0) return 0; + if (Math.abs(e) < 1) { + let n = e.toExponential().split("e-"), + r = n[0].split(".")[1]; + return (r ? r.length : 0) + parseInt(n[1], 10); + } + let t = e.toString().split(".")[1]; + return t ? t.length : 0; +} +function Eee(e, t, n) { + let r = Math.round((e - n) / t) * t + n; + return Number(r.toFixed(Math.max(ZP(t), ZP(n)))); +} +function Xwe(e, t, n, r, o, a, i, s) { + let l = e.slice(), + c = a * i, + u = l.length - 1, + d = s ?? e, + p = r + t * c, + f = o - (u - t) * c; + l[t] = $i(n, p, f); + for (let m = t + 1; m <= u; m += 1) { + let g = l[m - 1] + c, + v = o - (u - m) * c, + y = d[m], + x = Math.max(l[m], g); + if (y < x) x = Math.max(y, g); + l[m] = $i(x, g, v); + } + for (let m = t - 1; m >= 0; m -= 1) { + let g = l[m + 1] - c, + v = r + m * c, + y = d[m], + x = Math.min(l[m], g); + if (y > x) x = Math.min(y, g); + l[m] = $i(x, v, g); + } + for (let m = 0; m <= u; m += 1) l[m] = Number(l[m].toFixed(12)); + return l; +} +var fat = () => {}; +function mat(e, t, n, r, o, a, i, s, l, c) { + let u = n ?? t, + d = r ?? t; + if (!(u.length > 1)) return { value: a, thumbIndex: 0, didSwap: !1 }; + let f = l * c; + if (e === "push") + return { value: Xwe(u, o, a, i, s, l, c), thumbIndex: o, didSwap: !1 }; + let m = u.slice(), + g = m[o - 1], + v = m[o + 1], + y = g != null ? g + f : i, + x = v != null ? v - f : s, + A = Number($i(a, y, x).toFixed(12)); + switch (((m[o] = A), e)) { + case "swap": { + let w = u[o], + C = 0.0000001, + E = a > w, + T = a < w, + I = E && v != null && a >= v - 0.0000001, + k = T && g != null && a <= g + 0.0000001; + if (!I && !k) return { value: m, thumbIndex: o, didSwap: !1 }; + let L = I ? o + 1 : o - 1, + O = m.map((H, te) => { + if (te === o) return A; + let ie = d[te]; + if (ie != null) return ie; + return u[te]; + }), + B = a; + if (I) B = Math.max(a, m[L]); + else B = Math.min(a, m[L]); + let U = Xwe(m, L, B, i, s, l, c, O), + D = I ? L - 1 : L + 1, + N = U[D - 1], + _ = U[D + 1], + G = N != null ? N + f : i; + G = Math.max(G, i + D * f); + let Z = _ != null ? _ - f : s; + Z = Math.min(Z, s - (U.length - 1 - D) * f); + let q = $i(A, G, Z); + return ( + (U[D] = Number(q.toFixed(12))), + { value: U, thumbIndex: L, didSwap: !0 } + ); + } + case "none": + default: + return { value: m, thumbIndex: o, didSwap: !1 }; + } +} +var hat = P(() => { + fat(); +}); +function T9n(e, t) { + if (!e) return { start: 0, end: 0 }; + function n(a) { + let i = a != null ? parseFloat(a) : 0; + return Number.isNaN(i) ? 0 : i; + } + let r = !t ? "InlineStart" : "Top", + o = !t ? "InlineEnd" : "Bottom"; + return { + start: n(e[`border${r}Width`]) + n(e[`padding${r}`]), + end: n(e[`border${o}Width`]) + n(e[`padding${o}`]), + }; +} +function k9n(e, t) { + if (t.current != null && e.changedTouches) { + let n = e; + for (let r = 0; r < n.changedTouches.length; r += 1) { + let o = n.changedTouches[r]; + if (o.identifier === t.current) return { x: o.clientX, y: o.clientY }; + } + return null; + } + return { x: e.clientX, y: e.clientY }; +} +var K1, + I9n = 2, + gat; +var yat = P(() => { + vs(); + ul(); + kb(); + da(); + Ob(); + Cg(); + ka(); + ko(); + vr(); + uE(); + qP(); + GP(); + hat(); + K1 = z(re(), 1); + gat = K1.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + { + disabled: s, + dragging: l, + inset: c, + lastChangeReasonRef: u, + max: d, + min: p, + minStepsBetweenValues: f, + onValueCommitted: m, + orientation: g, + pressedThumbCenterOffsetRef: v, + pressedThumbIndexRef: y, + pressedValuesRef: x, + registerFieldControlRef: A, + renderBeforeHydration: w, + setActive: C, + setDragging: E, + setValue: T, + state: I, + step: k, + thumbCollisionBehavior: L, + thumbRefs: O, + values: B, + } = W4(), + U = Y1(), + D = B.length > 1, + N = g === "vertical", + _ = K1.useRef(null), + G = K1.useRef(null), + Z = Ot((ye) => { + if (ye && G.current == null) G.current = Io(ye).getComputedStyle(ye); + }), + q = K1.useRef(null), + H = K1.useRef(0), + te = K1.useRef(0), + ie = K1.useRef(null), + j = ti(B); + function oe(ye) { + return ye?.querySelector('input[type="range"]'); + } + function J(ye) { + if (((y.current = ye), !O.current[ye])) v.current = null; + } + function Y() { + ((y.current = -1), (v.current = null)); + } + function ae(ye) { + if (!Dr(ye)) return !1; + return O.current.some((ce) => { + if (!Dr(ce) || !Ln(ce, ye)) return !1; + return oe(ce)?.disabled === !0; + }); + } + function ne(ye) { + let ce = _.current, + ue = y.current; + if (!ce || ue < 0 || ue >= B.length) { + if (ue >= B.length) ie.current = null; + return null; + } + let { + width: ke, + height: se, + bottom: qe, + left: Me, + right: Qe, + } = ce.getBoundingClientRect(), + ee = T9n(G.current, N), + K = te.current, + we = (N ? se : ke) - ee.start - ee.end - K * 2, + ze = v.current ?? 0, + tt = ye.x - ze, + Pe = ye.y - ze, + Ke = N + ? qe - Pe - ee.end + : (U === "rtl" ? Qe - tt : tt - Me) - ee.start, + Ue = $i((Ke - K) / we, 0, 1), + Ze = (d - p) * Ue + p; + if (((Ze = Eee(Ze, k, p)), (Ze = $i(Ze, p, d)), !D)) + return { value: Ze, thumbIndex: ue, didSwap: !1 }; + return mat(L, B, j.current, x.current, ue, Ze, p, d, k, f); + } + function Se(ye) { + ((x.current = D ? B.slice() : null), + (ie.current = null), + (j.current = B)); + let ce = y.current, + ue = ce; + if (ce > -1 && ce < B.length) { + if (B[ce] === d) { + let ke = ce; + while (ke > 0 && B[ke - 1] === d) ke -= 1; + ue = ke; + } + } else { + let ke = !N ? "x" : "y", + se; + ue = -1; + for (let qe = 0; qe < O.current.length; qe += 1) { + let Me = O.current[qe]; + if (Dr(Me) && !oe(Me)?.disabled) { + let Qe = Cee(Me, N), + ee = Math.abs(ye[ke] - Qe); + if (se === void 0 || ee <= se) ((ue = qe), (se = ee)); + } + } + } + if (ue > -1 && ue !== ce) J(ue); + if (c) { + let ke = O.current[ue]; + if (Dr(ke)) { + let se = ke.getBoundingClientRect(), + qe = !N ? "width" : "height"; + te.current = se[qe] / 2; + } + } + } + function fe(ye) { + let ce = oe(O.current?.[ye]); + if (!ce) return; + ce.focus({ preventScroll: !0, focusVisible: !1 }); + } + function Ae(ye, ce, ue) { + let ke = T( + ye.value, + un(ce, ue, void 0, { activeThumbIndex: ye.thumbIndex }), + ); + if (ke) { + if ( + ((ie.current = ye.value), + (j.current = Array.isArray(ye.value) ? ye.value : [ye.value]), + ye.didSwap) + ) + (J(ye.thumbIndex), fe(ye.thumbIndex)); + } + return ke; + } + let Ee = Ot((ye) => { + let ce = k9n(ye, q); + if (ce == null) return; + if (((H.current += 1), ye.type === "pointermove" && ye.buttons === 0)) { + pe(ye); + return; + } + let ue = ne(ce); + if (ue == null) return; + if (Aee(ue.value, k, f)) { + if (!l && H.current > I9n) E(!0); + Ae(ue, RPn, ye); + } + }), + pe = Ot((ye) => { + (C(-1), E(!1), (v.current = null)); + let ce = ie.current; + if (Array.isArray(ce) && ce.length !== B.length) ie.current = null; + if (ie.current != null) { + let ue = u.current; + m(ie.current, K$(ue, ye)); + } + if ("pointerType" in ye && _.current?.hasPointerCapture(ye.pointerId)) + _.current?.releasePointerCapture(ye.pointerId); + ((y.current = -1), (q.current = null), Le()); + }), + Re = Ot((ye) => { + if (s) return; + if (ae(fi(ye))) { + Y(); + return; + } + let ce = ye.changedTouches[0]; + if (ce == null) return; + q.current = ce.identifier; + let ue = { x: ce.clientX, y: ce.clientY }; + Se(ue); + let ke = ne(ue); + if (ke == null) return; + (fe(ke.thumbIndex), Ae(ke, Jrt, ye), (H.current = 0)); + let se = yr(_.current); + (se.addEventListener("touchmove", Ee, { passive: !0 }), + se.addEventListener("touchend", pe, { passive: !0 })); + }), + Le = Ot(() => { + let ye = yr(_.current); + (ye.removeEventListener("pointermove", Ee), + ye.removeEventListener("pointerup", pe), + ye.removeEventListener("touchmove", Ee), + ye.removeEventListener("touchend", pe), + (x.current = null), + (ie.current = null)); + }), + Ne = wg(); + return ( + K1.useEffect(() => { + let ye = _.current; + if (!ye) return () => Le(); + let ce = zr(ye, "touchstart", Re, { passive: !0 }); + return () => { + (ce(), Ne.cancel(), Le()); + }; + }, [Le, Re, _, Ne]), + K1.useEffect(() => { + if (s) Le(); + }, [s, Le]), + Zt("div", t, { + state: I, + ref: [n, A, _, Z], + props: [ + { + ["data-base-ui-slider-control"]: w ? "" : void 0, + onPointerDown(ye) { + let ce = _.current, + ue = fi(ye.nativeEvent); + if (!ce || s || ye.defaultPrevented || !Dr(ue) || ye.button !== 0) + return; + if (ae(ue)) { + Y(); + return; + } + let ke = { x: ye.clientX, y: ye.clientY }; + Se(ke); + let se = ne(ke); + if (se == null) return; + if (Ln(O.current[se.thumbIndex], Ks(yr(ce)))) ye.preventDefault(); + else + Ne.request(() => { + fe(se.thumbIndex); + }); + if ((E(!0), v.current == null)) Ae(se, Jrt, ye.nativeEvent); + if (ye.nativeEvent.pointerId) + ce.setPointerCapture(ye.nativeEvent.pointerId); + H.current = 0; + let Qe = yr(ce); + (Qe.addEventListener("pointermove", Ee, { passive: !0 }), + Qe.addEventListener("pointerup", pe, { once: !0 })); + }, + }, + i, + ], + stateAttributesMapping: Bb, + }) + ); + }); +}); +var vat, bat; +var xat = P(() => { + vr(); + qP(); + GP(); + ((vat = z(re(), 1)), + (bat = vat.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + { state: s } = W4(); + return Zt("div", t, { + state: s, + ref: n, + props: [{ style: { position: "relative" } }, i], + stateAttributesMapping: Bb, + }); + }))); +}); +var Aat = ""; +var QP = me(function (N9n) { + var E2 = z(re()); + function R9n(e, t) { + return (e === t && (e !== 0 || 1 / e === 1 / t)) || (e !== e && t !== t); + } + var P9n = typeof Object.is === "function" ? Object.is : R9n, + M9n = E2.useState, + D9n = E2.useEffect, + L9n = E2.useLayoutEffect, + B9n = E2.useDebugValue; + function O9n(e, t) { + var n = t(), + r = M9n({ inst: { value: n, getSnapshot: t } }), + o = r[0].inst, + a = r[1]; + return ( + L9n( + function () { + ((o.value = n), (o.getSnapshot = t), Wwe(o) && a({ inst: o })); + }, + [e, n, t], + ), + D9n( + function () { + return ( + Wwe(o) && a({ inst: o }), + e(function () { + Wwe(o) && a({ inst: o }); + }) + ); + }, + [e], + ), + B9n(n), + n + ); + } + function Wwe(e) { + var t = e.getSnapshot; + e = e.value; + try { + var n = t(); + return !P9n(e, n); + } catch (r) { + return !0; + } + } + function F9n(e, t) { + return t(); + } + var U9n = + typeof window > "u" || + typeof window.document > "u" || + typeof window.document.createElement > "u" + ? F9n + : O9n; + N9n.useSyncExternalStore = + E2.useSyncExternalStore !== void 0 ? E2.useSyncExternalStore : U9n; +}); +function _9n() { + return oa; +} +function H9n() { + return !1; +} +function V9n() { + return !0; +} +function XP() { + return wat.useSyncExternalStore(_9n, H9n, V9n); +} +var wat; +var Iee = P(() => { + K8(); + wat = z(QP(), 1); +}); +function dE(e, t, n) { + return ((e - t) * 100) / (n - t); +} +function q9n(e) { + return Xo(e) && e.tagName === "INPUT"; +} +function Jwe(e) { + if (q9n(e) && e.selectionStart != null) return !0; + if (Xo(e) && e.tagName === "TEXTAREA") return !0; + return !1; +} +function jwe(e, t, n, r) { + if (!e || !t || !t.scrollTo) return; + let { scrollLeft: o, scrollTop: a } = e, + i = e.clientWidth < e.scrollWidth, + s = e.clientHeight < e.scrollHeight; + if (i && r !== "vertical") { + let l = Sat(e, t, "left"), + c = Tee(e), + u = Tee(t); + if (n === "ltr") { + if ( + l + t.offsetWidth + u.scrollMarginRight > + e.scrollLeft + e.clientWidth - c.scrollPaddingRight + ) + o = + l + + t.offsetWidth + + u.scrollMarginRight - + e.clientWidth + + c.scrollPaddingRight; + else if (l - u.scrollMarginLeft < e.scrollLeft + c.scrollPaddingLeft) + o = l - u.scrollMarginLeft - c.scrollPaddingLeft; + } + if (n === "rtl") { + if (l - u.scrollMarginLeft < e.scrollLeft + c.scrollPaddingLeft) + o = l - u.scrollMarginLeft - c.scrollPaddingLeft; + else if ( + l + t.offsetWidth + u.scrollMarginRight > + e.scrollLeft + e.clientWidth - c.scrollPaddingRight + ) + o = + l + + t.offsetWidth + + u.scrollMarginRight - + e.clientWidth + + c.scrollPaddingRight; + } + } + if (s && r !== "horizontal") { + let l = Sat(e, t, "top"), + c = Tee(e), + u = Tee(t); + if (l - u.scrollMarginTop < e.scrollTop + c.scrollPaddingTop) + a = l - u.scrollMarginTop - c.scrollPaddingTop; + else if ( + l + t.offsetHeight + u.scrollMarginBottom > + e.scrollTop + e.clientHeight - c.scrollPaddingBottom + ) + a = + l + + t.offsetHeight + + u.scrollMarginBottom - + e.clientHeight + + c.scrollPaddingBottom; + } + e.scrollTo({ left: o, top: a, behavior: "auto" }); +} +function Sat(e, t, n) { + let r = n === "left" ? "offsetLeft" : "offsetTop", + o = 0; + while (t.offsetParent) { + if (((o += t[r]), t.offsetParent === e)) break; + t = t.offsetParent; + } + return o; +} +function Tee(e) { + let t = getComputedStyle(e); + return { + scrollMarginTop: parseFloat(t.scrollMarginTop) || 0, + scrollMarginRight: parseFloat(t.scrollMarginRight) || 0, + scrollMarginBottom: parseFloat(t.scrollMarginBottom) || 0, + scrollMarginLeft: parseFloat(t.scrollMarginLeft) || 0, + scrollPaddingTop: parseFloat(t.scrollPaddingTop) || 0, + scrollPaddingRight: parseFloat(t.scrollPaddingRight) || 0, + scrollPaddingBottom: parseFloat(t.scrollPaddingBottom) || 0, + scrollPaddingLeft: parseFloat(t.scrollPaddingLeft) || 0, + }; +} +var WP = "ArrowUp", + YP = "ArrowDown", + KP = "ArrowLeft", + JP = "ArrowRight", + jP = "Home", + $P = "End", + Ywe = "PageUp", + Kwe = "PageDown", + Eg, + G9n = "Shift", + Cat; +var pE = P(() => { + vs(); + Cg(); + ((Eg = new Set([WP, YP, KP, JP, jP, $P])), + (Cat = [G9n, "Control", "Alt", "Meta"])); +}); +function Ip(e = {}) { + let { guess: t, label: n, metadata: r, textRef: o, index: a } = e, + { + register: i, + unregister: s, + subscribeMapChange: l, + nextIndexRef: c, + } = sat(), + u = fE.useRef(-1), + [d, p] = fE.useState( + a == null && t + ? () => { + if (u.current === -1) { + let v = c.current; + ((c.current += 1), (u.current = v)); + } + return u.current; + } + : -1, + ), + f = a ?? d, + m = fE.useRef(null), + g = fE.useCallback( + (v) => { + let y = m.current; + if (y) s(y); + if (((m.current = v), v)) + i(v, { metadata: r ?? null, index: a ?? null, label: n, textRef: o }); + }, + [a, i, s, r, n, o], + ); + return ( + Ct(() => { + if (a != null) return; + return l((v) => { + let y = m.current ? v.get(m.current)?.index : null; + if (y != null) p(y); + }); + }, [a, l]), + { ref: g, index: f } + ); +} +var fE; +var Fb = P(() => { + Nr(); + Vwe(); + fE = z(re(), 1); +}); +function Ree() { + return kee.useContext(Z9n) ?? Q9n; +} +var kee, Z9n, Q9n; +var $we = P(() => { + ((kee = z(re(), 1)), + (Z9n = kee.createContext(void 0)), + (Q9n = { disableStyleElements: !1 })); +}); +function Eat(e) { + let { script: t } = e, + { nonce: n } = Ree(); + if (!XP()) return null; + return h("script", { + nonce: n, + dangerouslySetInnerHTML: { __html: t }, + suppressHydrationWarning: !0, + }); +} +var tno; +var Iat = P(() => { + Iee(); + $we(); + le(); + tno = z(re(), 1); +}); +var Tat = "data-index"; +function Y9n(e, t, n, r) { + if (t < 0) return; + if (e.length === 2) + return `${cE(e[t], r, n)} ${t === 0 ? "start" : "end"} range`; + return n ? cE(e[t], r, n) : void 0; +} +function K9n(e, t, n, r, o) { + let a = e + t * n, + i = Number(a.toFixed(Math.max(ZP(e), ZP(t), ZP(r)))); + return $i(i, r, o); +} +var J1, kat, W9n, Rat; +var Pat = P(() => { + da(); + Nr(); + U1(); + Q8(); + ul(); + Qwe(); + A2(); + _l(); + Iee(); + vr(); + pE(); + Fb(); + uE(); + Iat(); + U4(); + Cg(); + im(); + RP(); + Gwe(); + qP(); + GP(); + le(); + ((J1 = z(re(), 1)), (W9n = new Set([...Eg, Ywe, Kwe]))); + Rat = J1.forwardRef(function (t, n) { + let { + render: r, + children: o, + className: a, + "aria-describedby": i, + "aria-label": s, + "aria-labelledby": l, + "aria-valuetext": c, + disabled: u = !1, + getAriaLabel: d, + getAriaValueText: p, + id: f, + index: m, + inputRef: g, + onBlur: v, + onFocus: y, + onKeyDown: x, + tabIndex: A, + style: w, + ...C + } = t, + E = go(f), + { + active: T, + lastUsedThumbIndex: I, + controlRef: k, + disabled: L, + validation: O, + format: B, + handleInputChange: U, + inset: D, + labelId: N, + largeStep: _, + locale: G, + max: Z, + min: q, + minStepsBetweenValues: H, + form: te, + name: ie, + orientation: j, + pressedThumbCenterOffsetRef: oe, + pressedThumbIndexRef: J, + renderBeforeHydration: Y, + setActive: ae, + setIndicatorPosition: ne, + state: Se, + step: fe, + thumbRefs: Ae, + values: Ee, + } = W4(), + pe = Y1(), + Re = u || L, + Le = Ee.length > 1, + Ne = j === "vertical", + be = pe === "rtl", + { setTouched: ye, setFocused: ce, validationMode: ue } = r0(), + ke = J1.useRef(null), + se = J1.useRef(null), + qe = J1.useRef(!1), + Me = Ot((Gt) => { + if (qe.current) return; + y?.(Gt); + }), + Qe = Ot((Gt) => { + if (qe.current) return; + v?.(Gt); + }), + ee = go(), + K = Eb(), + we = Le ? ee : K, + ze = J1.useMemo(() => ({ inputId: we }), [we]), + { ref: tt, index: Pe } = Ip({ metadata: ze }), + Ke = !Le ? 0 : (m ?? Pe), + Ue = Ke === Ee.length - 1, + Ze = Ee[Ke], + ct = dE(Ze, q, Z), + [Rt, de] = J1.useState(), + ge = XP(), + Oe = I >= 0 && I < Ee.length ? I : -1, + Xe = Ot(() => { + let Gt = k.current, + tn = ke.current; + if (!Gt || !tn) return; + let Yt = tn.getBoundingClientRect(), + Be = Gt.getBoundingClientRect(), + Je = Ne ? "height" : "width", + it = Be[Je] - Yt[Je], + Mt = ((Yt[Je] / 2 + (it * ct) / 100) / Be[Je]) * 100, + An = Number.isFinite(Mt) ? Mt : void 0; + if ((de(An), Ke === 0)) ne((Nn) => [An, Nn[1]]); + else if (Ue) ne((Nn) => [Nn[0], An]); + }); + (Ct(() => { + if (D) queueMicrotask(Xe); + }, [Xe, D]), + Ct(() => { + if (D) Xe(); + }, [Xe, D, ct]), + Ct(() => { + if (!D) return; + let Gt = k.current, + tn = ke.current; + if (!Gt || !tn) return; + let Yt = Io(Gt).ResizeObserver; + if (typeof Yt !== "function") return; + let Be = new Yt(Xe); + return ( + Be.observe(Gt), + Be.observe(tn), + () => { + Be.disconnect(); + } + ); + }, [k, Xe, D])); + let $e = Ne ? "bottom" : "insetInlineStart", + Ie = Ne ? "left" : "top", + Ge; + if (Le) { + if (T === Ke) Ge = 2; + else if (Oe === Ke) Ge = 1; + } else if (T === Ke) Ge = 1; + let _e; + if (!D && !Number.isFinite(ct)) _e = xg; + else + _e = { + position: "absolute", + [$e]: D ? "var(--position)" : `${ct}%`, + [Ie]: "50%", + translate: `${(Ne || !be ? -1 : 1) * 50}% ${(Ne ? 1 : -1) * 50}%`, + zIndex: Ge, + ...(D && { + ["--position"]: `${Rt ?? 0}%`, + visibility: (Y && ge) || Rt === void 0 ? "hidden" : void 0, + }), + }; + let nt; + if (Ne) nt = be ? "vertical-rl" : "vertical-lr"; + let rt = typeof d === "function" ? d(Ke) : s, + ot = dl( + { + "aria-label": rt, + "aria-labelledby": l ?? (rt == null ? N : void 0), + "aria-describedby": i, + "aria-orientation": j, + "aria-valuenow": Ze, + "aria-valuetext": + typeof p === "function" + ? p(cE(Ze, G, B), Ze, Ke) + : (c ?? Y9n(Ee, Ke, B, G)), + disabled: Re, + form: te, + id: we, + max: Z, + min: q, + name: ie, + onChange(Gt) { + U(Gt.currentTarget.valueAsNumber, Ke, Gt); + }, + onFocus(Gt) { + let tn = qe.current; + if (((qe.current = !1), ae(Ke), ce(!0), tn)) Gt.stopPropagation(); + }, + onBlur(Gt) { + if (qe.current) { + Gt.stopPropagation(); + return; + } + if ((ae(-1), Ae.current.some((tn) => Ln(tn, Gt.relatedTarget)))) + return; + if ((ye(!0), ce(!1), ue === "onBlur")) + O.commit(xee(Ze, Ke, q, Z, Le, Ee)); + }, + onKeyDown(Gt) { + if (Gt.defaultPrevented) return; + if (!W9n.has(Gt.key)) return; + if (Eg.has(Gt.key)) Gt.stopPropagation(); + let tn = null, + Yt = 0, + Be = Gt.shiftKey ? _ : fe, + Je = Eee(Ze, fe, q); + switch (Gt.key) { + case WP: + Yt = 1; + break; + case JP: + Yt = be ? -1 : 1; + break; + case YP: + Yt = -1; + break; + case KP: + Yt = be ? 1 : -1; + break; + case Ywe: + ((Be = _), (Yt = 1)); + break; + case Kwe: + ((Be = _), (Yt = -1)); + break; + case $P: + tn = + Le && Number.isFinite(Ee[Ke + 1]) ? Ee[Ke + 1] - fe * H : Z; + break; + case jP: + tn = + Le && Number.isFinite(Ee[Ke - 1]) ? Ee[Ke - 1] + fe * H : q; + break; + default: + break; + } + if (Yt !== 0) tn = K9n(Je, Be, Yt, q, Z); + if (tn !== null) { + let it = Gt.currentTarget; + if (!cee(it)) + ((qe.current = !0), + it.blur(), + it.focus({ preventScroll: !0, focusVisible: !0 })); + (U(tn, Ke, Gt), Gt.preventDefault()); + } + }, + step: fe, + style: { ...xg, width: "100%", height: "100%", writingMode: nt }, + tabIndex: A, + type: "range", + value: Ze ?? "", + }, + (Gt) => O.getValidationProps(Re, Gt), + { onFocus: Me, onBlur: Qe, onKeyDown: x }, + ), + At = cl(se, O.inputRef, g); + return Zt("div", t, { + state: Se, + ref: [n, tt, ke], + props: [ + { + [Tat]: Ke, + children: M(J1.Fragment, { + children: [ + o, + h("input", { ref: At, ...ot, suppressHydrationWarning: !0 }), + D && Ue && Y && (kat || (kat = h(Eat, { script: Aat }))), + ], + }), + id: E, + onPointerDown(Gt) { + if (Re) return; + J.current = Ke; + let tn = Cee(Gt.currentTarget, Ne); + oe.current = (Ne ? Gt.clientY : Gt.clientX) - tn; + }, + style: _e, + suppressHydrationWarning: Y || void 0, + }, + C, + ], + stateAttributesMapping: Bb, + }); + }); +}); +function J9n(e, t, n, r, o, a) { + let i = { + visibility: + a || (n && (r === void 0 || (t && o === void 0))) ? "hidden" : void 0, + position: e ? "absolute" : "relative", + [e ? "width" : "height"]: "inherit", + }, + s = `${r ?? 0}%`, + l = `${(o ?? 0) - (r ?? 0)}%`; + if (n) { + if (((i["--start-position"] = s), (s = "var(--start-position)"), t)) + ((i["--relative-size"] = l), (l = "var(--relative-size)")); + } + return ( + (i[e ? "bottom" : "insetInlineStart"] = t ? s : 0), + (i[e ? "height" : "width"] = t ? l : s), + i + ); +} +var Mat, Dat; +var Lat = P(() => { + Iee(); + vr(); + qP(); + GP(); + Mat = z(re(), 1); + Dat = Mat.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + { + indicatorPosition: s, + inset: l, + max: c, + min: u, + orientation: d, + renderBeforeHydration: p, + state: f, + values: m, + } = W4(), + g = XP(), + v = d === "vertical", + y = m.length > 1, + x = J9n( + v, + y, + l, + l ? s[0] : dE(m[0], u, c), + l ? s[1] : dE(m[m.length - 1], u, c), + l && p && g, + ); + return Zt("div", t, { + state: f, + ref: n, + props: [ + { + ["data-base-ui-slider-indicator"]: p ? "" : void 0, + style: x, + suppressHydrationWarning: p || void 0, + }, + i, + ], + stateAttributesMapping: Bb, + }); + }); +}); +var Oat = P(() => { + dat(); + yat(); + xat(); + Pat(); + Lat(); +}); +var Fat = P(() => { + Oat(); +}); +var eSe = (e) => (typeof e === "number" ? [e] : [...e]), + r3 = ({ + className: e, + onValueChange: t, + onValueCommitted: n, + onValueCommit: r, + getAriaLabel: o, + ...a + }) => { + let i = (a.value ?? a.defaultValue ?? [0]).length || 1; + return h(uat, { + "data-m3-component": "Slider", + ...a, + onValueChange: t && ((s, l) => t(eSe(s), l)), + onValueCommitted: + n || r + ? (s, l) => { + (n?.(eSe(s), l), r?.(eSe(s))); + } + : void 0, + className: io( + Ve( + "relative flex h-11 w-full touch-none select-none items-center", + "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-11 data-[orientation=vertical]:flex-col", + "data-disabled:cursor-not-allowed data-disabled:opacity-38", + ), + e, + ), + children: h(gat, { + className: Ve( + "flex h-full w-full grow items-center", + "data-[orientation=vertical]:flex-col", + ), + children: M(bat, { + className: Ve( + "relative h-1 grow rounded-full bg-secondary-container outline-none", + "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1", + ), + children: [ + h(Dat, { + className: Ve( + "rounded-full bg-primary outline-none", + "data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full", + ), + }), + Array.from({ length: i }, (s, l) => + h( + Rat, + { + index: l, + getAriaLabel: o, + className: Ve( + "z-10 block size-5 cursor-grab rounded-full bg-primary shadow-md3-1 outline-none active:cursor-grabbing", + "transition-shadow duration-200 ease-standard", + "before:pointer-events-none before:absolute before:left-1/2 before:top-1/2 before:size-10 before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-full before:content-['']", + "before:transition-colors before:duration-200 before:ease-standard", + "hover:before:bg-primary/8 has-focus-visible:before:bg-primary/10 active:before:bg-primary/10 data-dragging:before:bg-primary/10", + "has-focus-visible:outline-3 has-focus-visible:outline-offset-2 has-focus-visible:outline-secondary", + "data-disabled:bg-on-surface data-disabled:shadow-none", + ), + }, + l, + ), + ), + ], + }), + }), + }); + }; +var Uat = P(() => { + Fat(); + rn(); + V1(); + le(); +}); +function Tp(e) { + let t = Pee.useContext(tSe); + if (!e && t === void 0) throw Error(Dn(27)); + return t; +} +var Pee, tSe; +var Ub = P(() => { + zo(); + ((Pee = z(re(), 1)), (tSe = Pee.createContext(void 0))); +}); +var Nat, kN; +var nSe = P(() => { + Ub(); + vr(); + Ep(); + ((Nat = z(re(), 1)), + (kN = Nat.forwardRef(function (t, n) { + let { render: r, className: o, style: a, forceRender: i = !1, ...s } = t, + l = Tp(), + c = l.useState("open"), + u = l.useState("nested"), + d = l.useState("mounted"), + p = l.useState("transitionStatus"); + return Zt("div", t, { + state: { open: c, transitionStatus: p }, + ref: [l.context.backdropRef, n], + stateAttributesMapping: G4, + props: [ + { + role: "presentation", + hidden: !d, + style: { userSelect: "none", WebkitUserSelect: "none" }, + }, + s, + ], + enabled: i || !u, + }); + }))); +}); +var zat, RN; +var rSe = P(() => { + Ub(); + vr(); + KA(); + ka(); + ko(); + ((zat = z(re(), 1)), + (RN = zat.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + disabled: i = !1, + nativeButton: s = !0, + ...l + } = t, + c = Tp(), + u = c.useState("open"), + { getButtonProps: d, buttonRef: p } = Ys({ disabled: i, native: s }), + f = { disabled: i }; + function m(g) { + if (u) c.setOpen(!1, un(bwe, g.nativeEvent)); + } + return Zt("button", t, { + state: f, + ref: [n, p], + props: [{ onClick: m }, l, d], + }); + }))); +}); +var _at, PN; +var oSe = P(() => { + Ub(); + vr(); + _l(); + ((_at = z(re(), 1)), + (PN = _at.forwardRef(function (t, n) { + let { render: r, className: o, style: a, id: i, ...s } = t, + l = Tp(), + c = go(i); + return ( + l.useSyncedValueWithCleanup("descriptionElementId", c), + Zt("p", t, { ref: n, props: [{ id: c }, s] }) + ); + }))); +}); +class kp { + static create() { + return new kp(); + } + currentId = MN; + start(e, t) { + (this.clear(), + (this.currentId = setTimeout(() => { + ((this.currentId = MN), t()); + }, e))); + } + isStarted() { + return this.currentId !== MN; + } + clear = () => { + if (this.currentId !== MN) + (clearTimeout(this.currentId), (this.currentId = MN)); + }; + disposeEffect = () => this.clear; +} +function mi() { + let e = qa(kp.create).current; + return (DP(e.disposeEffect), e); +} +var MN = 0; +var Rp = P(() => { + om(); + J$(); +}); +function j9n(e, t) { + if (t != null && !Sg(t)) return 0; + if (typeof e === "function") return e(); + return e; +} +function I2(e, t, n) { + let r = j9n(e, n); + if (typeof r === "number") return r; + return r?.[t]; +} +function aSe(e) { + if (typeof e === "function") return e(); + return e; +} +function Mee(e, t) { + return t || e === "click" || e === "mousedown"; +} +function Hat(e) { + return e?.includes("mouse") && e !== "mousedown"; +} +var DN = P(() => { + Z1(); + im(); +}); +function $9n(e, t) { + e.current = t.current; +} +function iSe(e) { + let { children: t, delay: n, timeoutMs: r = 0 } = e, + o = ah.useRef(n), + a = ah.useRef(n), + i = ah.useRef(null), + s = ah.useRef(null), + l = mi(); + return ( + Ct(() => { + if (((a.current = n), !i.current)) { + o.current = n; + return; + } + o.current = { open: I2(o.current, "open"), close: I2(n, "close") }; + }, [n, i, o, a]), + h(Vat.Provider, { + value: ah.useMemo( + () => ({ + hasProvider: !0, + delayRef: o, + initialDelayRef: a, + currentIdRef: i, + timeoutMs: r, + currentContextRef: s, + timeout: l, + }), + [r, l], + ), + children: t, + }) + ); +} +function sSe(e, t = { open: !1 }) { + let { open: n } = t, + r = "rootStore" in e ? e.rootStore : e, + o = r.useState("floatingId"), + a = ah.useContext(Vat), + { + currentIdRef: i, + delayRef: s, + timeoutMs: l, + initialDelayRef: c, + currentContextRef: u, + hasProvider: d, + timeout: p, + } = a, + [f, m] = ah.useState(!1), + g = ah.useRef(n); + return ( + Ct(() => { + g.current = n; + }, [n]), + Ct(() => { + function v() { + (u.current?.setIsInstantPhase(!1), + (i.current = null), + (u.current = null), + (s.current = c.current), + p.clear()); + } + if (!i.current) return; + if (!n && i.current === o) { + if ((m(!1), l)) { + let y = o; + return ( + p.start(l, () => { + if (r.select("open") || (i.current && i.current !== y)) return; + v(); + }), + () => { + if (g.current || i.current !== y) p.clear(); + } + ); + } + v(); + } + return; + }, [n, o, i, s, l, c, u, p, r]), + Ct(() => { + if (!n) return; + let v = u.current, + y = i.current; + if ( + (p.clear(), + (u.current = { onOpenChange: r.setOpen, setIsInstantPhase: m }), + (i.current = o), + (s.current = { open: 0, close: I2(c.current, "close") }), + y !== null && y !== o) + ) + (m(!0), v?.setIsInstantPhase(!0), v?.onOpenChange(!1, un(_1))); + else (m(!1), v?.setIsInstantPhase(!1)); + }, [n, o, r, i, s, c, u, p]), + Ct( + () => () => { + if (i.current === o) { + if (((u.current = null), !g.current)) return; + ((i.current = null), $9n(s, c), p.clear()); + } + }, + [u, i, s, o, c, p], + ), + ah.useMemo( + () => ({ + activeIdRef: i, + hasProvider: d, + delayRef: s, + isInstantPhase: f, + }), + [i, d, s, f], + ) + ); +} +var ah, Vat; +var Gat = P(() => { + Rp(); + Nr(); + DN(); + ka(); + ko(); + le(); + ((ah = z(re(), 1)), + (Vat = ah.createContext({ + hasProvider: !1, + timeoutMs: 0, + delayRef: { current: 0 }, + initialDelayRef: { current: 0 }, + timeout: new kp(), + currentIdRef: { current: null }, + currentContextRef: { current: null }, + }))); +}); +function sm(...e) { + return () => { + for (let t = 0; t < e.length; t += 1) { + let n = e[t]; + if (n) n(); + } + }; +} +var Dee, j1; +var LN = P(() => { + Nr(); + a0(); + Q8(); + le(); + ((Dee = z(re(), 1)), + (j1 = Dee.forwardRef(function (t, n) { + let [r, o] = Dee.useState(); + return ( + Ct(() => { + if (iee.voiceOver && jA.webkit) o("button"); + }, []), + h("span", { + ...t, + ref: n, + style: xg, + "aria-hidden": r ? void 0 : !0, + ...{ tabIndex: 0, role: r }, + "data-base-ui-focus-guard": "", + }) + ); + }))); +}); +function o3(e) { + return `data-base-ui-${e}`; +} +function e9(e, t = {}) { + let { preventScroll: n = !1, sync: r = !1, shouldFocus: o } = t; + cancelAnimationFrame(Lee); + function a() { + if (o && !o()) return; + e?.focus({ preventScroll: n }); + } + if (r) return (a(), oa); + let i = requestAnimationFrame(a); + return ( + (Lee = i), + () => { + if (Lee === i) (cancelAnimationFrame(i), (Lee = 0)); + } + ); +} +var Lee = 0; +var lSe = P(() => { + Ci(); +}); +function eMn(e) { + return dSe[e]; +} +function Wat(e) { + if (!e) return null; + return Ab(e) ? e.host : Wat(e.parentNode); +} +function tMn(e, t, n, r, { mark: o = !0 }) { + let a = null; + if (r) a = "inert"; + else if (n) a = "aria-hidden"; + let i = null, + s = null, + l = Zat(t, e), + c = o ? Xat(t, Qat(l), new Set(l)) : [], + u = [], + d = []; + if (a) { + let p = cSe[a], + f = eMn(a); + ((s = f), (i = p)); + let m = Zat(t, Array.from(t.querySelectorAll("[aria-live]"))), + g = l.concat(m); + Xat(t, Qat(g), new Set(g)).forEach((y) => { + let x = y.getAttribute(a), + A = x !== null && x !== "false", + w = (p.get(y) || 0) + 1; + if ((p.set(y, w), u.push(y), w === 1 && A)) f.add(y); + if (!A) y.setAttribute(a, a === "inert" ? "" : "true"); + }); + } + if (o) + c.forEach((p) => { + let f = (BN.get(p) || 0) + 1; + if ((BN.set(p, f), d.push(p), f === 1)) p.setAttribute(qat, ""); + }); + return ( + (uSe += 1), + () => { + if (i) + u.forEach((p) => { + let m = (i.get(p) || 0) - 1; + if ((i.set(p, m), !m)) { + if (!s?.has(p) && a) p.removeAttribute(a); + s?.delete(p); + } + }); + if (o) + d.forEach((p) => { + let f = (BN.get(p) || 0) - 1; + if ((BN.set(p, f), !f)) p.removeAttribute(qat); + }); + if (((uSe -= 1), !uSe)) + ((cSe.inert = new WeakMap()), + (cSe["aria-hidden"] = new WeakMap()), + (dSe.inert = new WeakSet()), + (dSe["aria-hidden"] = new WeakSet()), + (BN = new WeakMap())); + } + ); +} +function pSe(e, t = {}) { + let { ariaHidden: n = !1, inert: r = !1, mark: o = !0 } = t, + a = yr(e[0]).body; + return tMn(e, a, n, r, { mark: o }); +} +var cSe, + qat = "data-base-ui-inert", + dSe, + BN, + uSe = 0, + Zat = (e, t) => + t + .map((n) => { + if (e.contains(n)) return n; + let r = Wat(n); + if (e.contains(r)) return r; + return null; + }) + .filter((n) => n != null), + Qat = (e) => { + let t = new Set(); + return ( + e.forEach((n) => { + let r = n; + while (r && !t.has(r)) (t.add(r), (r = r.parentNode)); + }), + t + ); + }, + Xat = (e, t, n) => { + let r = [], + o = (a) => { + if (!a || n.has(a)) return; + Array.from(a.children).forEach((i) => { + if (Pc(i) === "script") return; + if (t.has(i)) o(i); + else r.push(i); + }); + }; + return (o(e), r); + }; +var Yat = P(() => { + vs(); + ul(); + ((cSe = { inert: new WeakMap(), "aria-hidden": new WeakMap() }), + (dSe = { inert: new WeakSet(), "aria-hidden": new WeakSet() }), + (BN = new WeakMap())); +}); +var Kat = 500, + Bee = 500, + Jat, + t9 = "data-base-ui-click-trigger", + Oee, + n9, + jat; +var Ig = P(() => { + ((Jat = { style: { transition: "none" } }), + (Oee = { fallbackAxisSide: "none" }), + (n9 = { fallbackAxisSide: "end" }), + (jat = { clipPath: "inset(50%)", position: "fixed", top: 0, left: 0 })); +}); +function Fee(e = {}) { + let { ref: t, container: n, componentProps: r = $r, elementProps: o } = e, + a = Ag(), + s = fSe()?.portalNode, + [l, c] = Js.useState(null), + [u, d] = Js.useState(null), + p = Ot((v) => { + if (v !== null) d(v); + }), + f = Js.useRef(null); + Ct(() => { + if (n === null) { + if (f.current) ((f.current = null), d(null), c(null)); + return; + } + let v = (n && (P$(n) ? n : n.current)) ?? s ?? document.body; + if (v == null) { + if (f.current) ((f.current = null), d(null), c(null)); + return; + } + if (f.current !== v) ((f.current = v), d(null), c(v)); + }, [n, s]); + let m = Zt("div", r, { ref: [t, p], props: [{ id: a, [nMn]: "" }, o] }), + g = l && m ? mf(m, l) : null; + return { + node: u, + nodeId: Js.isValidElement(m) ? m.props.id : void 0, + subtree: g, + }; +} +var Js, + $at, + fSe = () => Js.useContext($at), + nMn, + a3; +var Uee = P(() => { + bd(); + vs(); + Y8(); + Nr(); + da(); + Ci(); + LN(); + gee(); + ka(); + ko(); + vr(); + Ig(); + le(); + ((Js = z(re(), 1)), ($at = Js.createContext(null)), (nMn = o3("portal"))); + a3 = Js.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + children: i, + container: s, + portalOwnerRole: l, + ...c + } = t, + { + node: u, + nodeId: d, + subtree: p, + } = Fee({ container: s, ref: n, componentProps: t, elementProps: c }), + f = Js.useRef(null), + m = Js.useRef(null), + g = Js.useRef(null), + v = Js.useRef(null), + [y, x] = Js.useState(null), + A = Js.useRef(!1), + w = y?.modal, + C = y?.open, + E = !!y && !y.modal && y.open && !!u; + (Js.useEffect(() => { + if (!u || w) return; + function I(k) { + if (u && k.relatedTarget && t3(k)) + if (k.type === "focusin") { + if (A.current) (_we(u), (A.current = !1)); + } else (iat(u), (A.current = !0)); + } + return sm(zr(u, "focusin", I, !0), zr(u, "focusout", I, !0)); + }, [u, w]), + Ct(() => { + if (!u || C !== !0 || !A.current) return; + (_we(u), (A.current = !1)); + }, [C, u])); + let T = Js.useMemo( + () => ({ + beforeOutsideRef: f, + afterOutsideRef: m, + beforeInsideRef: g, + afterInsideRef: v, + portalNode: u, + setFocusManagerState: x, + }), + [u], + ); + return M(Js.Fragment, { + children: [ + p, + M($at.Provider, { + value: T, + children: [ + E && + u && + h(j1, { + "data-type": "outside", + ref: f, + onFocus: (I) => { + if (t3(I, u)) g.current?.focus(); + else { + let k = y ? y.domReference : null; + hee(k)?.focus(); + } + }, + }), + E && u && h("span", { role: l, "aria-owns": d, style: jat }), + u && mf(i, u), + E && + u && + h(j1, { + "data-type": "outside", + ref: m, + onFocus: (I) => { + if (t3(I, u)) v.current?.focus(); + else { + let k = y ? y.domReference : null; + if ((HP(k)?.focus(), y?.closeOnFocusOut)) + y?.onOpenChange(!1, un(_4, I.nativeEvent)); + } + }, + }), + ], + }), + ], + }); + }); +}); +function Nee() { + let e = new Map(); + return { + emit(t, n) { + e.get(t)?.forEach((r) => r(n)); + }, + on(t, n) { + if (!e.has(t)) e.set(t, new Set()); + e.get(t).add(n); + }, + off(t, n) { + e.get(t)?.delete(n); + }, + }; +} +class mE { + nodesRef = { current: [] }; + events = Nee(); + addNode(e) { + this.nodesRef.current.push(e); + } + removeNode(e) { + let t = this.nodesRef.current.findIndex((n) => n === e); + if (t !== -1) this.nodesRef.current.splice(t, 1); + } +} +var zee = () => {}; +function hE(e) { + let t = Ag(), + n = lm(e), + r = ih(); + return ( + Ct(() => { + if (!t) return; + let o = { id: t, parentId: r }; + return ( + n?.addNode(o), + () => { + n?.removeNode(o); + } + ); + }, [n, t, r]), + t + ); +} +function ON(e) { + let { children: t, id: n } = e, + r = ih(); + return h(eit.Provider, { + value: Y4.useMemo(() => ({ id: n, parentId: r }), [n, r]), + children: t, + }); +} +function FN(e) { + let { children: t, externalTree: n } = e, + r = qa(() => n ?? new mE()).current; + return h(tit.Provider, { value: r, children: t }); +} +var Y4, + eit, + tit, + ih = () => Y4.useContext(eit)?.id || null, + lm = (e) => { + let t = Y4.useContext(tit); + return e ?? t; + }; +var Nb = P(() => { + Y8(); + Nr(); + om(); + zee(); + le(); + ((Y4 = z(re(), 1)), + (eit = Y4.createContext(null)), + (tit = Y4.createContext(null))); +}); +function rMn(e, t) { + let n = Io(fi(e)); + if (e instanceof n.KeyboardEvent) return "keyboard"; + if (e instanceof n.FocusEvent) return t || "keyboard"; + if ("pointerType" in e) return e.pointerType || "keyboard"; + if ("touches" in e) return "touch"; + if (e instanceof n.MouseEvent) + return t || (e.detail === 0 ? "keyboard" : "mouse"); + return ""; +} +function mSe() { + K4 = K4.filter((e) => e.deref()?.isConnected); +} +function rit(e) { + if ((mSe(), e && Pc(e) !== "body")) { + if ((K4.push(new WeakRef(e)), K4.length > nit)) K4 = K4.slice(-nit); + } +} +function oit() { + return (mSe(), K4[K4.length - 1]?.deref()); +} +function oMn(e) { + if (!e) return null; + if (mee(e)) return e; + return _P(e)[0] || e; +} +function ait(e) { + if (e.hasAttribute("tabindex") && !e.hasAttribute("data-tabindex")) return; + if (!e.getAttribute("role")?.includes("dialog")) return; + let n = zwe(e).filter((o) => { + let a = o.getAttribute("data-tabindex") || ""; + return mee(o) || (o.hasAttribute("data-tabindex") && !a.startsWith("-")); + }), + r = e.getAttribute("tabindex"); + if (n.length === 0) { + if (r !== "0") + (e.setAttribute("tabindex", "0"), e.setAttribute("data-tabindex", "0")); + } else if ( + r !== "-1" || + (e.hasAttribute("data-tabindex") && + e.getAttribute("data-tabindex") !== "-1") + ) + (e.setAttribute("tabindex", "-1"), e.setAttribute("data-tabindex", "-1")); +} +function i3(e) { + let { + context: t, + children: n, + disabled: r = !1, + initialFocus: o = !0, + returnFocus: a = !0, + restoreFocus: i = !1, + modal: s = !0, + closeOnFocusOut: l = !0, + openInteractionType: c = "", + nextFocusableElement: u, + previousFocusableElement: d, + beforeContentFocusGuardRef: p, + externalTree: f, + getInsideElements: m, + } = e, + g = "rootStore" in t ? t.rootStore : t, + v = g.useState("open"), + y = g.useState("domReferenceElement"), + x = g.useState("floatingElement"), + { events: A, dataRef: w } = g.context, + C = Ot(() => w.current.floatingContext?.nodeId), + E = o === !1, + T = wN(y) && E, + I = ti(o), + k = ti(a), + L = ti(c), + O = ti(v), + B = lm(f), + U = fSe(), + D = cm.useRef(!1), + N = cm.useRef(!1), + _ = cm.useRef(!1), + G = cm.useRef(null), + Z = cm.useRef(""), + q = cm.useRef(""), + H = cm.useRef(null), + te = cm.useRef(null), + ie = cl(H, p, U?.beforeInsideRef), + j = cl(te, U?.afterInsideRef), + oe = mi(), + J = mi(), + Y = wg(), + ae = U != null, + ne = oE(x), + Se = Ot((Ee = ne) => (Ee ? _P(Ee) : [])), + fe = Ot(() => m?.().filter((Ee) => Ee != null) ?? []); + (cm.useEffect(() => { + if (r || !s) return; + function Ee(Re) { + if (Re.key === "Tab") { + if (Ln(ne, Ks(yr(ne))) && Se().length === 0 && !T) i0(Re); + } + } + let pe = yr(ne); + return zr(pe, "keydown", Ee); + }, [r, ne, s, T, Se]), + cm.useEffect(() => { + if (r || !v) return; + let Ee = yr(ne); + function pe() { + _.current = !1; + } + function Re(Ne) { + let be = fi(Ne), + ye = fe(), + ce = + Ln(x, be) || + Ln(y, be) || + Ln(U?.portalNode, be) || + ye.some((ue) => ue === be || Ln(ue, be)); + if ( + ((_.current = !ce), + (q.current = Ne.pointerType || "keyboard"), + be?.closest(`[${t9}]`)) + ) + ((N.current = !0), + J.start(0, () => { + N.current = !1; + })); + } + function Le() { + q.current = "keyboard"; + } + return sm( + zr(Ee, "pointerdown", Re, !0), + zr(Ee, "pointerup", pe, !0), + zr(Ee, "pointercancel", pe, !0), + zr(Ee, "keydown", Le, !0), + pe, + ); + }, [r, x, y, ne, v, U, J, fe]), + cm.useEffect(() => { + if (r || !l) return; + let Ee = yr(ne); + function pe() { + ((N.current = !0), + J.start(0, () => { + N.current = !1; + })); + } + function Re(ye) { + let ce = fi(ye); + if (mee(ce)) G.current = ce; + } + function Le(ye) { + let { relatedTarget: ce, currentTarget: ue } = ye, + ke = fi(ye); + if (s && ce == null && ke != null && Ln(x, ke)) rit(ke); + queueMicrotask(() => { + let se = C(), + qe = g.context.triggerElements, + Me = fe(), + Qe = + ce?.hasAttribute(o3("focus-guard")) && + [ + H.current, + te.current, + U?.beforeInsideRef.current, + U?.afterInsideRef.current, + U?.beforeOutsideRef.current, + U?.afterOutsideRef.current, + S2(d), + S2(u), + ].includes(ce), + ee = !( + Ln(y, ce) || + Ln(x, ce) || + Ln(ce, x) || + Ln(U?.portalNode, ce) || + Me.some((K) => K === ce || Ln(K, ce)) || + qe.hasMatchingElement((K) => Ln(K, ce)) || + Qe || + (B && + (q1(B.nodesRef.current, se).find( + (K) => + Ln(K.context?.elements.floating, ce) || + Ln(K.context?.elements.domReference, ce), + ) || + Fwe(B.nodesRef.current, se).find( + (K) => + [ + K.context?.elements.floating, + oE(K.context?.elements.floating), + ].includes(ce) || K.context?.elements.domReference === ce, + ))) + ); + if (ue === y && ne) ait(ne); + if (i && ue !== y && !sE(ke) && Ks(Ee) === Ee.body) { + if (Xo(ne)) { + if ((ne.focus(), i === "popup")) { + Y.request(() => { + ne.focus(); + }); + return; + } + } + let K = Se(), + we = G.current, + ze = (we && K.includes(we) ? we : null) || K[K.length - 1] || ne; + if (Xo(ze)) ze.focus(); + } + if (w.current.insideReactTree) { + w.current.insideReactTree = !1; + return; + } + if ((T ? !0 : !s) && ce && ee && !N.current && (T || ce !== oit())) + ((D.current = !0), g.setOpen(!1, un(_4, ye))); + }); + } + function Ne() { + if (_.current) return; + ((w.current.insideReactTree = !0), + oe.start(0, () => { + w.current.insideReactTree = !1; + })); + } + let be = Xo(y) ? y : null; + if (!x && !be) return; + return sm( + be && zr(be, "focusout", Le), + be && zr(be, "pointerdown", pe), + x && zr(x, "focusin", Re), + x && zr(x, "focusout", Le), + x && U && zr(x, "focusout", Ne, !0), + ); + }, [r, y, x, ne, s, B, U, g, l, i, Se, T, C, w, oe, J, Y, u, d, fe]), + cm.useEffect(() => { + if (r || !x || !v) return; + let Ee = Array.from( + U?.portalNode?.querySelectorAll(`[${o3("portal")}]`) || [], + ), + Re = (B ? Fwe(B.nodesRef.current, C()) : []).find((ue) => + wN(ue.context?.elements.domReference || null), + )?.context?.elements.domReference, + Ne = [ + ...[ + x, + ...Ee, + H.current, + te.current, + U?.beforeOutsideRef.current, + U?.afterOutsideRef.current, + ...fe(), + ], + Re, + S2(d), + S2(u), + T ? y : null, + ].filter((ue) => ue != null), + be = pSe(Ne, { ariaHidden: s || T, mark: !1 }), + ye = [x, ...Ee].filter((ue) => ue != null), + ce = pSe(ye); + return () => { + (ce(), be()); + }; + }, [v, r, y, x, s, U, T, B, C, u, d, fe]), + Ct(() => { + if (!v || r || !Xo(ne)) return; + ((Z.current = ""), (q.current = "")); + let Ee = yr(ne), + pe = Ks(Ee); + queueMicrotask(() => { + let Re = I.current, + Le = typeof Re === "function" ? Re(L.current || "") : Re; + if (Le === void 0 || Le === !1) return; + if (Ln(ne, pe)) return; + let be = null, + ye = () => { + if (be == null) be = Se(ne); + return be[0] || ne; + }, + ce; + if (Le === !0 || Le === null) ce = ye(); + else ce = S2(Le); + ce = ce || ye(); + let ue = Ln(ne, Ks(Ee)); + e9(ce, { + preventScroll: ce === ne, + shouldFocus() { + if (!O.current) return !1; + if (ue) return !0; + let ke = Ks(Ee); + return !(ke !== ce && Ln(ne, ke)); + }, + }); + }); + }, [r, v, ne, Se, I, L, O]), + Ct(() => { + if (r || !ne) return; + let Ee = yr(ne), + pe = Ks(Ee), + Re = L.current == null; + rit(pe); + function Le(be) { + if (!be.open) Z.current = rMn(be.nativeEvent, q.current); + if (be.reason === sc && be.nativeEvent.type === "mouseleave") + D.current = !0; + if (be.reason !== X$) return; + if (be.nested) D.current = !1; + else if (Z4(be.nativeEvent) || UP(be.nativeEvent)) D.current = !1; + else { + let ye = !1; + if ( + (yr(ne) + .createElement("div") + .focus({ + get preventScroll() { + return ((ye = !0), !1); + }, + }), + ye) + ) + D.current = !1; + else D.current = !0; + } + } + A.on("openchange", Le); + function Ne(be) { + let ye = k.current, + ce = typeof ye === "function" ? ye(be) : ye; + if (ce === void 0 || ce === !1) return null; + if (ce === null) ce = !0; + let ue = y?.isConnected ? y : null, + ke = pe?.isConnected && Pc(pe) !== "body" ? pe : null, + se = Re ? ke || ue : ue || ke; + if (!se) se = oit() || null; + if (typeof ce === "boolean") return se; + return S2(ce) || se || null; + } + return () => { + A.off("openchange", Le); + let be = Ks(Ee), + ye = fe(), + ce = + Ln(x, be) || + ye.some((qe) => qe === be || Ln(qe, be)) || + (B && + q1(B.nodesRef.current, C(), !1).some((qe) => + Ln(qe.context?.elements.floating, be), + )), + ue = k.current, + ke = Z.current, + se = Ne(ke); + queueMicrotask(() => { + let qe = oMn(se), + Me = typeof ue !== "boolean"; + if ( + ue && + !D.current && + Xo(qe) && + (!Me && qe !== be && be !== Ee.body ? ce : !0) + ) { + let Qe = { preventScroll: !0 }; + if (ke === "keyboard") Qe.focusVisible = !0; + qe.focus(Qe); + } + D.current = !1; + }); + }; + }, [r, x, ne, k, L, A, B, y, C, fe]), + Ct(() => { + if (!jA.webkit || v || !x) return; + let Ee = Ks(yr(x)); + if (!Xo(Ee) || !rE(Ee)) return; + if (Ln(x, Ee)) Ee.blur(); + }, [v, x]), + Ct(() => { + if (r || !U) return; + return ( + U.setFocusManagerState({ + modal: s, + closeOnFocusOut: l, + open: v, + onOpenChange: g.setOpen, + domReference: y, + }), + () => { + U.setFocusManagerState(null); + } + ); + }, [r, U, s, v, g, l, y]), + Ct(() => { + if (r || !ne) return; + return ( + ait(ne), + () => { + queueMicrotask(mSe); + } + ); + }, [r, ne])); + let Ae = !r && (s ? !T : !0) && (ae || s); + return M(cm.Fragment, { + children: [ + Ae && + h(j1, { + "data-type": "inside", + ref: ie, + onFocus: (Ee) => { + if (s) { + let pe = Se(); + e9(pe[pe.length - 1]); + } else if (U?.portalNode) + if (((D.current = !1), t3(Ee, U.portalNode))) HP(y)?.focus(); + else S2(d ?? U.beforeOutsideRef)?.focus(); + }, + }), + n, + Ae && + h(j1, { + "data-type": "inside", + ref: j, + onFocus: (Ee) => { + if (s) e9(Se()[0]); + else if (U?.portalNode) { + if (l) D.current = !0; + if (t3(Ee, U.portalNode)) hee(y)?.focus(); + else S2(u ?? U.afterOutsideRef)?.focus(); + } + }, + }), + ], + }); +} +var cm, + nit = 20, + K4; +var iit = P(() => { + vs(); + U1(); + Ob(); + da(); + Nr(); + Rp(); + a0(); + kb(); + ul(); + LN(); + im(); + Z1(); + gee(); + zP(); + ka(); + ko(); + lSe(); + Yat(); + Uee(); + Nb(); + Ig(); + le(); + cm = z(re(), 1); + K4 = []; +}); +function T2(e, t = {}) { + let { + enabled: n = !0, + event: r = "click", + toggle: o = !0, + ignoreMouse: a = !1, + stickIfOpen: i = !0, + touchOpenDelay: s = 0, + reason: l = Ib, + } = t, + c = "rootStore" in e ? e.rootStore : e, + u = c.context.dataRef, + d = UN.useRef(void 0), + p = wg(), + f = mi(), + m = UN.useMemo(() => { + function g(y, x, A, w) { + let C = un(l, x, A); + if (y && w === "touch" && s > 0) + f.start(s, () => { + c.setOpen(!0, C); + }); + else c.setOpen(y, C); + } + function v(y, x, A) { + let w = u.current.openEvent, + C = c.select("domReferenceElement") !== x; + if (y && C) return !0; + if (!y) return !0; + if (!o) return !0; + if (w && i) return !A(w.type); + return !1; + } + return { + onPointerDown(y) { + d.current = + Sg(y.pointerType, !0) && UP(y.nativeEvent) + ? "virtual" + : y.pointerType; + }, + onMouseDown(y) { + let x = d.current, + A = y.nativeEvent, + w = c.select("open"); + if (y.button !== 0 || r === "click" || (Sg(x, !0) && a)) return; + let C = v( + w, + y.currentTarget, + (I) => I === "click" || I === "mousedown", + ), + E = fi(A); + if (rE(E)) { + g(C, A, E, x); + return; + } + let T = y.currentTarget; + p.request(() => { + g(C, A, T, x); + }); + }, + onClick(y) { + if (r === "mousedown-only") return; + let x = d.current; + if (r === "mousedown" && x) { + d.current = void 0; + return; + } + if (Sg(x, !0) && a) return; + let A = c.select("open"), + w = v( + A, + y.currentTarget, + (C) => + C === "click" || + C === "mousedown" || + C === "keydown" || + C === "keyup", + ); + g(w, y.nativeEvent, y.currentTarget, x); + }, + onKeyDown() { + d.current = void 0; + }, + }; + }, [u, r, a, l, c, i, o, p, f, s]); + return UN.useMemo(() => (n ? { reference: m } : $r), [n, m]); +} +var UN; +var sit = P(() => { + kb(); + Rp(); + Ci(); + im(); + Z1(); + ka(); + ko(); + UN = z(re(), 1); +}); +function aMn(e, t) { + let n = null, + r = null, + o = !1; + return { + contextElement: e || void 0, + getBoundingClientRect() { + let a = e?.getBoundingClientRect() || { width: 0, height: 0, x: 0, y: 0 }, + i = t.axis === "x" || t.axis === "both", + s = t.axis === "y" || t.axis === "both", + l = + ["mouseenter", "mousemove"].includes( + t.dataRef.current.openEvent?.type || "", + ) && t.pointerType !== "touch", + { width: c, height: u, x: d, y: p } = a; + if (n == null && t.x && i) n = a.x - t.x; + if (r == null && t.y && s) r = a.y - t.y; + if (((d -= n || 0), (p -= r || 0), (c = 0), (u = 0), !o || l)) + ((c = t.axis === "y" ? a.width : 0), + (u = t.axis === "x" ? a.height : 0), + (d = i && t.x != null ? t.x : d), + (p = s && t.y != null ? t.y : p)); + else if (o && !l) + ((u = t.axis === "x" ? a.height : u), + (c = t.axis === "y" ? a.width : c)); + return ( + (o = !0), + { + width: c, + height: u, + x: d, + y: p, + top: p, + right: d + c, + bottom: p + u, + left: d, + } + ); + }, + }; +} +function lit(e) { + return e != null && e.clientX != null; +} +function hSe(e, t = {}) { + let { enabled: n = !0, axis: r = "both" } = t, + o = "rootStore" in e ? e.rootStore : e, + a = o.useState("open"), + i = o.useState("floatingElement"), + s = o.useState("domReferenceElement"), + l = o.context.dataRef, + c = c0.useRef(!1), + u = c0.useRef(null), + [d, p] = c0.useState(), + [f, m] = c0.useState([]), + g = Ot((w) => { + o.set("positionReference", w); + }), + v = Ot((w, C, E) => { + if (c.current) return; + if (l.current.openEvent && !lit(l.current.openEvent)) return; + o.set( + "positionReference", + aMn(E ?? s, { x: w, y: C, axis: r, dataRef: l, pointerType: d }), + ); + }), + y = Ot((w) => { + if (!a) v(w.clientX, w.clientY, w.currentTarget); + else if (!u.current) (v(w.clientX, w.clientY, w.currentTarget), m([])); + }), + x = Sg(d) ? i : a; + (c0.useEffect(() => { + if (!n) { + g(s); + return; + } + if (!x) return; + function w() { + (u.current?.(), (u.current = null)); + } + let C = Io(i); + function E(T) { + let I = fi(T); + if (!Ln(i, I)) v(T.clientX, T.clientY); + else w(); + } + if (!l.current.openEvent || lit(l.current.openEvent)) + u.current = zr(C, "mousemove", E); + else g(s); + return w; + }, [x, n, i, l, s, o, v, g, f]), + c0.useEffect( + () => () => { + o.set("positionReference", null); + }, + [o], + ), + c0.useEffect(() => { + if (n && !i) c.current = !1; + }, [n, i]), + c0.useEffect(() => { + if (!n && a) c.current = !0; + }, [n, a])); + let A = c0.useMemo(() => { + function w(C) { + p(C.pointerType); + } + return { + onPointerDown: w, + onPointerEnter: w, + onMouseMove: y, + onMouseEnter: y, + }; + }, [y]); + return c0.useMemo(() => (n ? { reference: A, trigger: A } : {}), [n, A]); +} +var c0; +var cit = P(() => { + da(); + vs(); + im(); + Z1(); + c0 = z(re(), 1); +}); +function iMn() { + return !1; +} +function sMn(e) { + return { + escapeKey: typeof e === "boolean" ? e : (e?.escapeKey ?? !1), + outsidePress: typeof e === "boolean" ? e : (e?.outsidePress ?? !0), + }; +} +function k2(e, t = {}) { + let { + enabled: n = !0, + escapeKey: r = !0, + outsidePress: o = !0, + outsidePressEvent: a = "sloppy", + referencePress: i = iMn, + bubbles: s, + externalTree: l, + } = t, + c = "rootStore" in e ? e.rootStore : e, + u = c.useState("open"), + d = c.useState("floatingElement"), + { dataRef: p, events: f } = c.context, + m = lm(l), + g = Ot(typeof o === "function" ? o : () => !1), + v = typeof o === "function" ? g : o, + y = v !== !1, + x = Ot(() => a), + { escapeKey: A, outsidePress: w } = sMn(s), + C = sh.useRef(!1), + E = sh.useRef(!1), + T = sh.useRef(!1), + I = sh.useRef(!1), + k = sh.useRef(!1), + L = sh.useRef(""), + O = sh.useRef(null), + B = mi(), + U = mi(), + D = Ot(() => { + (U.clear(), (p.current.insideReactTree = !1)); + }), + N = Ot((oe) => { + let J = p.current.floatingContext?.nodeId; + return (m ? q1(m.nodesRef.current, J) : []).some( + (ae) => ae.context?.open && !ae.context.dataRef.current[oe], + ); + }), + _ = Ot( + (oe) => + lee(oe, c.select("floatingElement")) || + lee(oe, c.select("domReferenceElement")), + ), + G = Ot((oe) => { + if (!i()) return; + c.setOpen(!1, un(Ib, oe.nativeEvent)); + }), + Z = Ot((oe) => { + if (!u || !n || !r || oe.key !== "Escape") return; + if (k.current) return; + if (!A && N("__escapeKeyBubbles")) return; + let J = Got(oe) ? oe.nativeEvent : oe, + Y = un(pN, J); + if ((c.setOpen(!1, Y), !Y.isCanceled)) oe.preventDefault(); + if (!A && !Y.isPropagationAllowed) oe.stopPropagation(); + }), + q = Ot(() => { + ((p.current.insideReactTree = !0), U.start(0, D)); + }), + H = Ot((oe) => { + if (!u || !n || oe.button !== 0) return; + let J = fi(oe.nativeEvent); + if (!Ln(c.select("floatingElement"), J)) return; + if (!C.current) ((C.current = !0), (E.current = !1)); + }), + te = Ot((oe) => { + if (!u || !n) return; + if (!(oe.defaultPrevented || oe.nativeEvent.defaultPrevented)) return; + if (C.current) E.current = !0; + }); + (sh.useEffect(() => { + function oe(J) { + if (!J.open) I.current = !1; + } + return ( + f.on("openchange", oe), + () => { + f.off("openchange", oe); + } + ); + }, [f]), + sh.useEffect(() => { + if (!u || !n) { + if (!u) I.current = !1; + return D; + } + ((p.current.__escapeKeyBubbles = A), + (p.current.__outsidePressBubbles = w)); + let oe = new kp(), + J = new kp(), + Y = yr(d); + function ae() { + (oe.clear(), (k.current = !0)); + } + function ne() { + oe.start(jA.webkit ? 5 : 0, () => { + k.current = !1; + }); + } + function Se() { + ((T.current = !0), + J.start(0, () => { + T.current = !1; + })); + } + function fe() { + ((C.current = !1), (E.current = !1)); + } + function Ae() { + let ee = L.current, + K = ee === "pen" || !ee ? "mouse" : ee, + we = x(), + ze = typeof we === "function" ? we() : we; + if (typeof ze === "string") return ze; + return ze[K]; + } + function Ee(ee) { + let K = Ae(); + return ( + (K === "intentional" && ee.type !== "click") || + (K === "sloppy" && ee.type === "click") + ); + } + function pe(ee) { + let K = p.current.floatingContext?.nodeId, + we = + m && + q1(m.nodesRef.current, K).some((ze) => + lee(ee, ze.context?.elements.floating), + ); + return _(ee) || we; + } + function Re(ee) { + if (Ee(ee)) { + if (ee.type !== "click" && !_(ee)) (J.clear(), (T.current = !1)); + D(); + return; + } + if (p.current.insideReactTree) { + D(); + return; + } + let K = fi(ee), + we = `[${o3("inert")}]`, + ze = Dr(K) ? K.getRootNode() : null, + tt = Array.from( + (Ab(ze) ? ze : yr(c.select("floatingElement"))).querySelectorAll( + we, + ), + ), + Pe = c.context.triggerElements; + if (K && (Pe.hasElement(K) || Pe.hasMatchingElement((Ue) => Ln(Ue, K)))) + return; + let Ke = Dr(K) ? K : null; + while (Ke && !z1(Ke)) { + let Ue = N1(Ke); + if (z1(Ue) || !Dr(Ue)) break; + Ke = Ue; + } + if ( + tt.length && + Dr(K) && + !Vot(K) && + !Ln(K, c.select("floatingElement")) && + tt.every((Ue) => !Ln(Ke, Ue)) + ) + return; + if (Xo(K) && !("touches" in ee)) { + let Ue = z1(K), + Ze = Sf(K), + ct = /auto|scroll/, + Rt = Ue || ct.test(Ze.overflowX), + de = Ue || ct.test(Ze.overflowY), + ge = Rt && K.clientWidth > 0 && K.scrollWidth > K.clientWidth, + Oe = de && K.clientHeight > 0 && K.scrollHeight > K.clientHeight, + Xe = Ze.direction === "rtl", + $e = + Oe && + (Xe + ? ee.offsetX <= K.offsetWidth - K.clientWidth + : ee.offsetX > K.clientWidth), + Ie = ge && ee.offsetY > K.clientHeight; + if ($e || Ie) return; + } + if (pe(ee)) return; + if (Ae() === "intentional") { + if (ee.detail !== 0 && !Z4(ee) && !I.current) return; + if (T.current) { + (J.clear(), (T.current = !1)); + return; + } + } + if (typeof v === "function" && !v(ee)) return; + if (N("__outsidePressBubbles")) return; + (c.setOpen(!1, un(X$, ee)), D()); + } + function Le(ee) { + if ( + Ae() !== "sloppy" || + ee.pointerType === "touch" || + !c.select("open") || + !n || + _(ee) + ) + return; + Re(ee); + } + function Ne(ee) { + if (Ae() !== "sloppy" || !c.select("open") || !n || _(ee)) return; + let K = ee.touches[0]; + if (K) + ((O.current = { + startTime: Date.now(), + startX: K.clientX, + startY: K.clientY, + dismissOnTouchEnd: !1, + dismissOnMouseDown: !0, + }), + B.start(1000, () => { + if (O.current) + ((O.current.dismissOnTouchEnd = !1), + (O.current.dismissOnMouseDown = !1)); + })); + } + function be(ee, K) { + let we = fi(ee); + if (!we) return; + let ze = zr(we, ee.type, () => { + (K(ee), ze()); + }); + } + function ye(ee) { + ((L.current = "touch"), be(ee, Ne)); + } + function ce(ee) { + if ((B.clear(), ee.type === "pointerdown")) { + if (ee.button === 0) I.current = !0; + L.current = ee.pointerType; + } + if ( + ee.type === "mousedown" && + O.current && + !O.current.dismissOnMouseDown + ) + return; + be(ee, (K) => { + if (K.type === "pointerdown") Le(K); + else Re(K); + }); + } + function ue(ee) { + if (ee.type === "pointercancel") I.current = !1; + if (!C.current) return; + let K = E.current; + if ((fe(), Ae() !== "intentional")) return; + if (ee.type === "pointercancel") { + if (K) Se(); + return; + } + if (pe(ee)) return; + if (K) { + Se(); + return; + } + if (typeof v === "function" && !v(ee)) return; + (J.clear(), (T.current = !0), D()); + } + function ke(ee) { + if (Ae() !== "sloppy" || !O.current || _(ee)) return; + let K = ee.touches[0]; + if (!K) return; + let we = Math.abs(K.clientX - O.current.startX), + ze = Math.abs(K.clientY - O.current.startY), + tt = Math.sqrt(we * we + ze * ze); + if (tt > 5) O.current.dismissOnTouchEnd = !0; + if (tt > 10) (Re(ee), B.clear(), (O.current = null)); + } + function se(ee) { + be(ee, ke); + } + function qe(ee) { + if (Ae() !== "sloppy" || !O.current || _(ee)) return; + if (O.current.dismissOnTouchEnd) Re(ee); + (B.clear(), (O.current = null)); + } + function Me(ee) { + be(ee, qe); + } + let Qe = sm( + r && + sm( + zr(Y, "keydown", Z), + zr(Y, "compositionstart", ae), + zr(Y, "compositionend", ne), + ), + y && + sm( + zr(Y, "click", ce, !0), + zr(Y, "pointerdown", ce, !0), + zr(Y, "pointerup", ue, !0), + zr(Y, "pointercancel", ue, !0), + zr(Y, "mousedown", ce, !0), + zr(Y, "mouseup", ue, !0), + zr(Y, "touchstart", ye, { capture: !0, passive: !0 }), + zr(Y, "touchmove", se, { capture: !0, passive: !0 }), + zr(Y, "touchend", Me, { capture: !0, passive: !0 }), + ), + ); + return () => { + (Qe(), oe.clear(), J.clear(), fe(), (T.current = !1), D()); + }; + }, [p, d, r, y, v, u, n, A, w, Z, D, x, N, _, m, c, B])); + let ie = sh.useMemo( + () => ({ onKeyDown: Z, onPointerDown: G, onClick: G }), + [Z, G], + ), + j = sh.useMemo( + () => ({ + onKeyDown: Z, + onPointerDown: te, + onMouseDown: te, + onClickCapture: q, + onMouseDownCapture(oe) { + (q(), H(oe)); + }, + onPointerDownCapture(oe) { + (q(), H(oe)); + }, + onMouseUpCapture: q, + onTouchEndCapture: q, + onTouchMoveCapture: q, + }), + [Z, q, H, te], + ); + return sh.useMemo( + () => (n ? { reference: ie, floating: j, trigger: ie } : {}), + [n, ie, j], + ); +} +var sh; +var uit = P(() => { + ul(); + da(); + Rp(); + vs(); + a0(); + Nb(); + ka(); + ko(); + im(); + Z1(); + sh = z(re(), 1); +}); +var dit = () => {}; +var pit = () => {}; +var fit = () => {}; +function NN() { + return { s: uMn, v: void 0, o: null, p: null }; +} +function dMn(e) { + if (e instanceof hit) return e.deref(); + return e; +} +function pMn(e, t = {}) { + let n = NN(), + { resultEqualityCheck: r, maxSize: o } = t, + a = o !== void 0; + if (a && (!Number.isInteger(o) || o < 1)) + throw TypeError(`maxSize must be a positive integer, received: ${o}`); + let i = null, + s = 0, + l, + c = 0, + u = !1; + function d() { + if (s >= o) ((i = n), (n = NN()), (s = 0)); + } + function p() { + let f = n, + { length: m } = arguments; + for (let y = 0, x = m; y < x; y++) { + let A = arguments[y]; + if (typeof A === "function" || (typeof A === "object" && A !== null)) { + let w = f.o; + if (w === null) f.o = w = new WeakMap(); + let C = w.get(A); + if (C === void 0) ((f = NN()), w.set(A, f)); + else f = C; + } else { + let w = f.p; + if (w === null) f.p = w = new Map(); + let C = w.get(A); + if (C === void 0) ((f = NN()), w.set(A, f), s++); + else f = C; + } + } + if (f.s === _ee) return f.v; + if (i !== null) { + let y = i; + for (let x = 0, A = m; x < A; x++) { + let w = arguments[x], + C; + if (typeof w === "function" || (typeof w === "object" && w !== null)) { + let E = y.o; + C = E !== null ? E.get(w) : void 0; + } else { + let E = y.p; + C = E !== null ? E.get(w) : void 0; + } + if (C === void 0) { + y = null; + break; + } + y = C; + } + if (y !== null && y.s === _ee) { + let x = f; + return ((x.s = _ee), (x.v = y.v), d(), y.v); + } + } + let g = f, + v = e.apply(null, arguments); + if ((c++, r)) { + let y = dMn(l); + if (y != null && r(y, v)) ((v = y), c !== 0 && c--); + l = + (typeof v === "object" && v !== null) || typeof v === "function" + ? new hit(v) + : v; + } + if (((g.s = _ee), (g.v = v), a)) d(); + return v; + } + return ( + (p.clearCache = () => { + ((n = NN()), (i = null), (s = 0), p.resetResultsCount()); + }), + (p.resultsCount = () => c), + (p.resetResultsCount = () => { + c = 0; + }), + p + ); +} +function fMn(e, t = `expected a function, instead received ${typeof e}`) { + if (typeof e !== "function") throw TypeError(t); +} +function mMn( + e, + t = "expected all items to be functions, instead received the following types: ", +) { + if (!e.every((n) => typeof n === "function")) { + let n = e + .map((r) => + typeof r === "function" + ? `function ${r.name || "unnamed"}()` + : typeof r, + ) + .join(", "); + throw TypeError(`${t}[${n}]`); + } +} +function hMn(e) { + let t = Array.isArray(e[0]) ? e[0] : e; + return ( + mMn( + t, + "createSelector expects all input-selectors to be functions, but received the following types: ", + ), + t + ); +} +function git(e, ...t) { + let n = typeof e === "function" ? { memoize: e, memoizeOptions: t } : e, + r = (...o) => { + let a = 0, + i = 0, + s, + l = {}, + c = o.pop(); + if (typeof c === "object") ((l = c), (c = o.pop())); + fMn( + c, + `createSelector expects an output function after the inputs, but received: [${typeof c}]`, + ); + let u = { ...n, ...l }, + { + memoize: d, + memoizeOptions: p = [], + argsMemoize: f = pMn, + argsMemoizeOptions: m = [], + } = u, + g = mit(p), + v = mit(m), + y = hMn(o), + x = d( + function () { + return (a++, c.apply(null, arguments)); + }, + ...g, + ), + A = !0, + w = f( + function () { + i++; + let { length: E } = y, + T = Array(E); + for (let I = 0; I < E; I++) T[I] = y[I].apply(null, arguments); + return ((s = x.apply(null, T)), s); + }, + ...v, + ); + return Object.assign(w, { + resultFunc: c, + memoizedResultFunc: x, + dependencies: y, + dependencyRecomputations: () => i, + resetDependencyRecomputations: () => { + i = 0; + }, + lastResult: () => s, + recomputations: () => a, + resetRecomputations: () => { + a = 0; + }, + memoize: d, + argsMemoize: f, + }); + }; + return (Object.assign(r, { withTypes: () => r }), r); +} +function gMn(e) { + let t; + return { + get(n) { + if (t && e(t.key, n)) return t.value; + return gSe; + }, + put(n, r) { + t = { key: n, value: r }; + }, + findMatchingEntry(n, r) { + let o = t; + return o !== void 0 && r(o.value, n) ? o : void 0; + }, + clear() { + t = void 0; + }, + }; +} +function yMn(e, t) { + let n = []; + function r(s) { + let l = n.findIndex((c) => t(c.key, s)); + if (l > -1) { + let c = n[l]; + if (l > 0) (n.splice(l, 1), n.unshift(c)); + return c.value; + } + return gSe; + } + function o(s, l) { + if ((n.unshift({ key: s, value: l }), n.length > e)) n.pop(); + } + function a(s, l) { + let c = n, + { length: u } = c; + for (let d = 0; d < u; d++) { + let p = c[d]; + if (l(p.value, s)) return p; + } + return; + } + function i() { + n = []; + } + return { get: r, put: o, findMatchingEntry: a, clear: i }; +} +function bMn(e) { + return function (n, r) { + if (n === null || r === null || n.length !== r.length) return !1; + let { length: o } = n; + for (let a = 0; a < o; a++) if (!e(n[a], r[a])) return !1; + return !0; + }; +} +function yit(e, t) { + let n = typeof t === "object" ? t : { equalityCheck: t }, + { equalityCheck: r = vMn, maxSize: o = 1, resultEqualityCheck: a } = n, + i = bMn(r), + s = 0, + l = o <= 1 ? gMn(i) : yMn(o, i); + function c() { + let u = l.get(arguments); + if (u === gSe) { + if (((u = e.apply(null, arguments)), s++, a)) { + let d = l.findMatchingEntry(u, a); + if (d) ((u = d.value), s !== 0 && s--); + } + l.put(arguments, u); + } + return u; + } + return ( + (c.clearCache = () => { + (l.clear(), c.resetResultsCount()); + }), + (c.resultsCount = () => s), + (c.resetResultsCount = () => { + s = 0; + }), + c + ); +} +var lMn = class { + constructor(e) { + this.value = e; + } + deref() { + return this.value; + } + }, + cMn = () => (typeof WeakRef > "u" ? lMn : WeakRef), + hit, + uMn = 0, + _ee = 1, + gSe, + mit = (e) => (Array.isArray(e) ? e : [e]), + vMn = (e, t) => e === t; +var vit = P(() => { + hit = cMn(); + gSe = Symbol("NOT_FOUND"); +}); +var bit, + xMn, + AMn = (e) => { + let t = e?.memoizeOptions, + n = e; + if (e !== void 0) { + if (e.memoize !== void 0) { + if (t === void 0) n = { ...e, memoizeOptions: void 0 }; + } else if (typeof t === "object" && t !== null && !Array.isArray(t)) + n = { ...e, memoizeOptions: { ...bit, ...t } }; + } + return (...r) => { + let o = new WeakMap(), + a = 1, + i = r[r.length - 1], + s = r.length === 1 ? [(d) => d, i] : r, + l = s.length - 1, + c = i.length === 0 ? 0 : i.length - l; + if (c < 0 || c > 3) throw Error(Dn(2)); + return (d, p, f, m) => { + let g = d.__cacheKey__; + if (!g) ((g = { id: a }), (d.__cacheKey__ = g), (a += 1)); + let v = o.get(g); + if (!v) { + let y = s, + x = [void 0, void 0, void 0]; + switch (c) { + case 0: + break; + case 1: { + y = [...s.slice(0, -1), () => x[0], i]; + break; + } + case 2: { + y = [...s.slice(0, -1), () => x[0], () => x[1], i]; + break; + } + default: { + y = [...s.slice(0, -1), () => x[0], () => x[1], () => x[2], i]; + break; + } + } + if (n) y = [...y, n]; + ((v = xMn(...y)), (v.selectorArgs = x), o.set(g, v)); + } + switch (c) { + case 3: + v.selectorArgs[2] = m; + case 2: + v.selectorArgs[1] = f; + case 1: + v.selectorArgs[0] = p; + case 0: + default: + } + switch (c) { + case 0: + return v(d); + case 1: + return v(d, p); + case 2: + return v(d, p, f); + default: + return v(d, p, f, m); + } + }; + }; + }, + xao; +var xit = P(() => { + zo(); + vit(); + ((bit = { maxSize: 1, equalityCheck: Object.is }), + (xMn = git({ memoize: yit, memoizeOptions: bit })), + (xao = AMn())); +}); +var ySe = {}; +RCn( + ySe, + { useSyncExternalStoreWithSelector: () => r9 }, + { useSyncExternalStoreWithSelector: (wao) => (r9 = wao) }, +); +function SMn(e, t) { + return (e === t && (e !== 0 || 1 / e === 1 / t)) || (e !== e && t !== t); +} +var J4, + wMn, + CMn, + EMn, + IMn, + TMn, + kMn, + RMn, + r9 = function (e, t, n, r, o) { + var a = IMn(null); + if (a.current === null) { + var i = { hasValue: !1, value: null }; + a.current = i; + } else i = a.current; + a = kMn( + function () { + function l(f) { + if (!c) { + if (((c = !0), (u = f), (f = r(f)), o !== void 0 && i.hasValue)) { + var m = i.value; + if (o(m, f)) return (d = m); + } + return (d = f); + } + if (((m = d), CMn(u, f))) return m; + var g = r(f); + if (o !== void 0 && o(m, g)) return ((u = f), m); + return ((u = f), (d = g)); + } + var c = !1, + u, + d, + p = n === void 0 ? null : n; + return [ + function () { + return l(t()); + }, + p === null + ? void 0 + : function () { + return l(p()); + }, + ]; + }, + [t, n, r, o], + ); + var s = EMn(e, a[0], a[1]); + return ( + TMn( + function () { + ((i.hasValue = !0), (i.value = s)); + }, + [s], + ), + RMn(s), + s + ); + }; +var Hee = P(() => { + ((J4 = z(re())), (wMn = QP())); + ((CMn = typeof Object.is === "function" ? Object.is : SMn), + (EMn = wMn.useSyncExternalStore), + (IMn = J4.useRef), + (TMn = J4.useEffect), + (kMn = J4.useMemo), + (RMn = J4.useDebugValue)); +}); +function wit() { + return bSe; +} +function Sit(e) { + vSe.push(e); +} +function s3(e) { + let t = (n, r) => { + let o = qa(PMn).current, + a; + try { + bSe = o; + for (let i of vSe) i.before(o); + a = e(n, r); + for (let i of vSe) i.after(o); + o.didInitialize = !0; + } finally { + bSe = void 0; + } + return a; + }; + return ((t.displayName = e.displayName || e.name), t); +} +function j4(e) { + return Ait.forwardRef(s3(e)); +} +function PMn() { + return { didInitialize: !1 }; +} +var Ait, + vSe, + bSe = void 0; +var zb = P(() => { + om(); + ((Ait = z(re(), 1)), (vSe = [])); +}); +function Vee(e, t, n, r, o) { + return DMn(e, t, n, r, o); +} +function LMn(e, t, n, r, o) { + let a = Cit.useCallback(() => t(e.getSnapshot(), n, r, o), [e, t, n, r, o]); + return xSe.useSyncExternalStore(e.subscribe, a, a); +} +function BMn(e, t, n, r, o) { + let a = wit(); + if (!a) return LMn(e, t, n, r, o); + let i = a.syncIndex; + a.syncIndex += 1; + let s; + if (!a.didInitialize) + ((s = { + store: e, + selector: t, + a1: n, + a2: r, + a3: o, + value: t(e.getSnapshot(), n, r, o), + }), + a.syncHooks.push(s)); + else if ( + ((s = a.syncHooks[i]), + s.store !== e || + s.selector !== t || + !Object.is(s.a1, n) || + !Object.is(s.a2, r) || + !Object.is(s.a3, o)) + ) { + if (s.store !== e) a.didChangeStore = !0; + ((s.store = e), + (s.selector = t), + (s.a1 = n), + (s.a2 = r), + (s.a3 = o), + (s.value = t(e.getSnapshot(), n, r, o))); + } + return s.value; +} +function OMn(e, t, n, r, o) { + return r9(e.subscribe, e.getSnapshot, e.getSnapshot, (a) => t(a, n, r, o)); +} +var Cit, xSe, MMn, DMn; +var Gee = P(() => { + Hee(); + O$(); + zb(); + ((Cit = z(re(), 1)), + (xSe = z(QP(), 1)), + (MMn = CP(19)), + (DMn = MMn ? BMn : OMn)); + Sit({ + before(e) { + if (((e.syncIndex = 0), !e.didInitialize)) + ((e.syncTick = 1), + (e.syncHooks = []), + (e.didChangeStore = !0), + (e.getSnapshot = () => { + let t = !1; + for (let n = 0; n < e.syncHooks.length; n += 1) { + let r = e.syncHooks[n], + o = r.selector(r.store.state, r.a1, r.a2, r.a3); + if (!Object.is(r.value, o)) ((t = !0), (r.value = o)); + } + if (t) e.syncTick += 1; + return e.syncTick; + })); + }, + after(e) { + if (e.syncHooks.length > 0) { + if (e.didChangeStore) + ((e.didChangeStore = !1), + (e.subscribe = (t) => { + let n = new Set(); + for (let o of e.syncHooks) n.add(o.store); + let r = []; + for (let o of n) r.push(o.subscribe(t)); + return () => { + for (let o of r) o(); + }; + })); + xSe.useSyncExternalStore(e.subscribe, e.getSnapshot, e.getSnapshot); + } + }, + }); +}); +class ASe { + static create(e) { + return new this(e); + } + constructor(e) { + ((this.state = e), (this.listeners = new Set()), (this.updateTick = 0)); + } + subscribe = (e) => ( + this.listeners.add(e), + () => { + this.listeners.delete(e); + } + ); + getSnapshot = () => this.state; + setState(e) { + if (this.state === e) return; + ((this.state = e), (this.updateTick += 1)); + let t = this.updateTick; + for (let n of this.listeners) { + if (t !== this.updateTick) return; + n(e); + } + } + update(e) { + for (let t in e) + if (!Object.is(this.state[t], e[t])) { + this.setState({ ...this.state, ...e }); + return; + } + } + set(e, t) { + if (!Object.is(this.state[e], t)) this.setState({ ...this.state, [e]: t }); + } + notifyAll() { + let e = { ...this.state }; + this.setState(e); + } + use(e, t, n, r) { + return Vee(this, e, t, n, r); + } +} +var wSe = P(() => { + Gee(); +}); +var gE, Tg; +var Eit = P(() => { + wSe(); + Gee(); + da(); + Nr(); + Ci(); + gE = z(re(), 1); + Tg = class Tg extends ASe { + constructor(e, t = {}, n) { + super(e); + ((this.context = t), (this.selectors = n)); + } + useSyncedValue(e, t) { + gE.useDebugValue(e); + let n = this; + Ct(() => { + if (n.state[e] !== t) n.set(e, t); + }, [n, e, t]); + } + useSyncedValueWithCleanup(e, t) { + let n = this; + Ct(() => { + if (n.state[e] !== t) n.set(e, t); + return () => { + n.set(e, void 0); + }; + }, [n, e, t]); + } + useSyncedValues(e) { + let t = this, + n = Object.values(e); + Ct(() => { + t.update(e); + }, [t, ...n]); + } + useControlledProp(e, t) { + gE.useDebugValue(e); + let n = this, + r = t !== void 0; + Ct(() => { + if (r && !Object.is(n.state[e], t)) n.setState({ ...n.state, [e]: t }); + }, [n, e, t, r]); + } + select(e, t, n, r) { + let o = this.selectors[e]; + return o(this.state, t, n, r); + } + useState(e, t, n, r) { + return (gE.useDebugValue(e), Vee(this, this.selectors[e], t, n, r)); + } + useContextCallback(e, t) { + gE.useDebugValue(e); + let n = Ot(t ?? oa); + this.context[e] = n; + } + useStateSetter(e) { + let t = gE.useRef(void 0); + if (t.current === void 0) + t.current = (n) => { + this.set(e, n); + }; + return t.current; + } + observe(e, t) { + let n; + if (typeof e === "function") n = e; + else n = this.selectors[e]; + let r = n(this.state); + return ( + t(r, r, this), + this.subscribe((o) => { + let a = n(o); + if (!Object.is(r, a)) { + let i = r; + ((r = a), t(a, i, this)); + } + }) + ); + } + }; +}); +var qee, FMn; +var Iit = P(() => { + bd(); + le(); + ((qee = z(re(), 1)), (FMn = z(QP(), 1))); +}); +var yE = P(() => { + fit(); + xit(); + Gee(); + wSe(); + Eit(); + Iit(); +}); +var UMn, vE; +var Zee = P(() => { + yE(); + Cg(); + UMn = { + open: (e) => e.open, + transitionStatus: (e) => e.transitionStatus, + domReferenceElement: (e) => e.domReferenceElement, + referenceElement: (e) => e.positionReference ?? e.referenceElement, + floatingElement: (e) => e.floatingElement, + floatingId: (e) => e.floatingId, + }; + vE = class vE extends Tg { + constructor(e) { + let { + syncOnly: t, + nested: n, + onOpenChange: r, + triggerElements: o, + ...a + } = e; + super( + { + ...a, + positionReference: a.referenceElement, + domReferenceElement: a.referenceElement, + }, + { + onOpenChange: r, + dataRef: { current: {} }, + events: Nee(), + nested: n, + triggerElements: o, + }, + UMn, + ); + this.syncOnly = t; + } + syncOpenEvent = (e, t) => { + if (!e || !this.state.open || (t != null && qot(t))) + this.context.dataRef.current.openEvent = e ? t : void 0; + }; + dispatchOpenChange = (e, t) => { + this.syncOpenEvent(e, t.event); + let n = { + open: e, + reason: t.reason, + nativeEvent: t.event, + nested: this.context.nested, + triggerElement: t.trigger, + }; + this.context.events.emit("openchange", n); + }; + setOpen = (e, t) => { + if (this.syncOnly) { + this.context.onOpenChange?.(e, t); + return; + } + (this.dispatchOpenChange(e, t), this.context.onOpenChange?.(e, t)); + }; + }; +}); +function zN(e) { + let { + popupStore: t, + treatPopupAsFloatingElement: n = !1, + floatingRootContext: r, + floatingId: o, + nested: a, + onOpenChange: i, + } = e, + s = t.useState("open"), + l = t.useState("activeTriggerElement"), + c = t.useState(n ? "popupElement" : "positionerElement"), + u = t.context.triggerElements, + d = i, + p = Tit.useRef(null); + if (r === void 0 && p.current === null) + p.current = new vE({ + open: s, + transitionStatus: void 0, + referenceElement: l, + floatingElement: c, + triggerElements: u, + onOpenChange: d, + floatingId: o, + syncOnly: !0, + nested: a, + }); + let f = r ?? p.current; + return ( + t.useSyncedValue("floatingId", o), + Ct(() => { + let m = { + open: s, + floatingId: o, + referenceElement: l, + floatingElement: c, + }; + if (Dr(l)) m.domReferenceElement = l; + if (f.state.positionReference === f.state.referenceElement) + m.positionReference = l; + f.update(m); + }, [s, o, l, c, f]), + (f.context.onOpenChange = d), + (f.context.nested = a), + f + ); +} +var Tit; +var SSe = P(() => { + Nr(); + vs(); + Zee(); + Tit = z(re(), 1); +}); +function Qee(e) { + return (t) => (t === "touch" ? e.current : !0); +} +function o9(e, t = !1) { + let n = Ag(), + r = ih() != null, + o = qa(() => e(n, r)).current; + return ( + zN({ + popupStore: o, + treatPopupAsFloatingElement: t, + floatingRootContext: o.state.floatingRootContext, + floatingId: n, + nested: r, + onOpenChange: o.setOpen, + }), + o + ); +} +function $4({ handle: e, store: t }) { + return (Ct(() => e.attachStore(t), [e, t]), null); +} +function kit(e) { + let t = e.context.triggerElements.size; + if (e.select("open") && e.state.triggerCount !== t) e.set("triggerCount", t); +} +function ESe(e, t) { + let n = CSe.useRef(null); + return Ot((r) => { + let o = n.current; + if (o !== null) { + if (o.element === r && o.store === t && o.id === e) return; + n.current = null; + let a = o.store; + if (a.context.triggerElements.getById(o.id) === o.element) + (a.context.triggerElements.delete(o.id), kit(a)); + } + if (r !== null && e !== void 0) + ((n.current = { store: t, id: e, element: r }), + t.context.triggerElements.add(e, r), + kit(t)); + }); +} +function bE(e, t, n, r = !1) { + let o = e.preventUnmountingOnClose; + if (t) o = !1; + else if (r) o = !0; + let a = n?.id ?? null, + { activeTriggerId: i, activeTriggerElement: s } = e; + if (a || t) ((i = a), (s = n ?? null)); + return { + open: t, + preventUnmountingOnClose: o, + activeTriggerId: i, + activeTriggerElement: s, + }; +} +function _N(e) { + let t = !1; + return ( + (e.preventUnmountOnClose = () => { + t = !0; + }), + () => t + ); +} +function Rit(e, t, n, r = {}) { + let o = n.reason, + a = o === sc, + i = t && o === PP, + s = !t && (o === Ib || o === pN), + l = _N(n); + if ((e.context.onOpenChange?.(t, n), n.isCanceled)) return; + (r.onBeforeDispatch?.(), + e.state.floatingRootContext.dispatchOpenChange(t, n)); + let c = () => { + let u = bE(e.state, t, n.trigger, l()), + d = { ...r.extraState, ...u }; + if (i) d.instantType = "focus"; + else if (s) d.instantType = "dismiss"; + else if (a) d.instantType = void 0; + e.update(d); + }; + if (a) Ec(c); + else c(); +} +function e6(e, t, n, r) { + let o = n.useState("isMountedByTrigger", e), + a = ESe(e, n), + i = Ot((l) => { + let c = n.select("open"), + u = n.select("activeTriggerId"); + if (u === e) { + let d = { activeTriggerElement: l, ...(c ? r : null) }; + n.update(d); + return; + } + if (u == null && c) { + let d = { activeTriggerId: e ?? null, activeTriggerElement: l, ...r }; + n.update(d); + } + }), + s = Ot((l) => { + if ((a(l), l)) i(l); + }); + return ( + Ct(() => (s(t.current), () => s(null)), [s, t, n, e]), + Ct(() => { + if (o) { + let l = { activeTriggerElement: t.current, ...r }; + n.update(l); + } + }, [o, n, t, ...Object.values(r)]), + { registerTrigger: s, isMountedByThisTrigger: o } + ); +} +function t6(e, t = {}) { + let { closeOnActiveTriggerUnmount: n = !1 } = t, + r = CSe.useRef(null), + o = e.useState("open"), + a = e.useState("triggerCount"), + i = e.useState("activeTriggerId"), + s = e.useState("activeTriggerElement"); + Ct(() => { + if (!o) { + if (((r.current = null), e.state.triggerCount !== 0)) + e.set("triggerCount", 0); + return; + } + let l = e.context.triggerElements.size, + c = {}; + if (e.state.triggerCount !== l) c.triggerCount = l; + let u = e.select("activeTriggerId"), + d = null; + if (u) { + let p = e.context.triggerElements.getById(u); + if (!p) { + for (let [f, m] of e.context.triggerElements.entries()) + if (m === e.state.activeTriggerElement) { + ((c.activeTriggerId = f), + (c.activeTriggerElement = m), + (r.current = f)); + break; + } + if (c.activeTriggerId === void 0) + if (r.current === u) d = u; + else r.current = null; + } else if (((r.current = u), p !== e.state.activeTriggerElement)) + c.activeTriggerElement = p; + } else r.current = null; + if (!d && !u && l === 1) { + let p = e.context.triggerElements.entries().next(); + if (!p.done) { + let [f, m] = p.value; + ((c.activeTriggerId = f), + (c.activeTriggerElement = m), + (r.current = f)); + } + } + if ( + c.triggerCount !== void 0 || + c.activeTriggerId !== void 0 || + c.activeTriggerElement !== void 0 + ) + e.update(c); + if (d) { + if (n) + queueMicrotask(() => { + if ( + e.select("open") && + e.select("activeTriggerId") === d && + !e.context.triggerElements.getById(d) + ) { + let p = un(_1); + if ((e.setOpen(!1, p), !p.isCanceled)) + e.update({ activeTriggerId: null, activeTriggerElement: null }); + } + }); + } + }, [o, e, a, i, s, n]); +} +function n6(e, t, n, r) { + let { mounted: o, setMounted: a, transitionStatus: i } = Sp(e, !1, !1, r), + s = t.useState("preventUnmountingOnClose"), + l = e ? !1 : s; + t.useSyncedValues({ + mounted: o, + transitionStatus: i, + preventUnmountingOnClose: l, + }); + let c = Ot(() => { + (a(!1), + t.update({ + activeTriggerId: null, + activeTriggerElement: null, + mounted: !1, + preventUnmountingOnClose: !1, + }), + n?.(), + t.context.onOpenChangeComplete?.(!1)); + }); + return ( + ji({ + enabled: o && !e && !l, + open: e, + ref: t.context.popupRef, + onComplete() { + if (!e) c(); + }, + }), + { forceUnmount: c, transitionStatus: i } + ); +} +function r6(e, t) { + (e.useSyncedValues(t), + Ct( + () => () => { + e.update({ + activeTriggerProps: $r, + inactiveTriggerProps: $r, + popupProps: $r, + }); + }, + [e], + )); +} +function Xee(e, t) { + (Ct(() => { + if (!t && e.state.openMethod !== null) e.set("openMethod", null); + }, [t, e]), + Ct( + () => () => { + if (e.state.openMethod !== null) e.set("openMethod", null); + }, + [e], + )); +} +var CSe, _b; +var Pit = P(() => { + bd(); + Ci(); + Y8(); + da(); + Nr(); + om(); + Nb(); + SSe(); + Pb(); + oh(); + ka(); + ko(); + ((CSe = z(re(), 1)), (_b = { tabIndex: -1, [yN]: "" })); +}); +class R2 { + constructor() { + this.idMap = new Map(); + } + add(e, t) { + this.idMap.set(e, t); + } + delete(e) { + this.idMap.delete(e); + } + hasElement(e) { + for (let t of this.idMap.values()) if (t === e) return !0; + return !1; + } + hasMatchingElement(e) { + for (let t of this.idMap.values()) if (e(t)) return !0; + return !1; + } + getById(e) { + return this.idMap.get(e); + } + entries() { + return this.idMap.entries(); + } + elements() { + return this.idMap.values(); + } + get size() { + return this.idMap.size; + } +} +function o6(e, t, n = !1) { + return { + open: !1, + openProp: void 0, + mounted: !1, + transitionStatus: void 0, + floatingRootContext: new vE({ + open: !1, + transitionStatus: void 0, + floatingElement: null, + referenceElement: null, + triggerElements: e, + floatingId: t, + syncOnly: !0, + nested: n, + onOpenChange: void 0, + }), + floatingId: t, + triggerCount: 0, + preventUnmountingOnClose: !1, + payload: void 0, + activeTriggerId: null, + activeTriggerElement: null, + triggerIdProp: void 0, + popupElement: null, + positionerElement: null, + activeTriggerProps: $r, + inactiveTriggerProps: $r, + popupProps: $r, + }; +} +function Dit(e, t) { + return t !== void 0 && ISe(e) && HN(e) === t; +} +function NMn(e, t) { + if (Dit(e, t)) return !0; + return t !== void 0 && ISe(e) && HN(e) == null && e.triggerCount === 1; +} +var HN = (e) => e.triggerIdProp ?? e.activeTriggerId, + ISe = (e) => e.openProp ?? e.open, + Mit = (e) => (e.popupElement?.id ?? e.floatingId) || void 0, + a6; +var Lit = P(() => { + Ci(); + Zee(); + a6 = { + open: ISe, + mounted: (e) => e.mounted, + transitionStatus: (e) => e.transitionStatus, + floatingRootContext: (e) => e.floatingRootContext, + triggerCount: (e) => e.triggerCount, + preventUnmountingOnClose: (e) => e.preventUnmountingOnClose, + payload: (e) => e.payload, + activeTriggerId: HN, + activeTriggerElement: (e) => (e.mounted ? e.activeTriggerElement : null), + popupId: Mit, + isTriggerActive: (e, t) => t !== void 0 && HN(e) === t, + isOpenedByTrigger: (e, t) => Dit(e, t), + isMountedByTrigger: (e, t) => t !== void 0 && HN(e) === t && e.mounted, + triggerProps: (e, t) => (t ? e.activeTriggerProps : e.inactiveTriggerProps), + triggerPopupId: (e, t) => (NMn(e, t) ? Mit(e) : void 0), + popupProps: (e) => e.popupProps, + popupElement: (e) => e.popupElement, + positionerElement: (e) => e.positionerElement, + }; +}); +function i6(e) { + let t = TSe.useCallback( + (r) => { + if (e === void 0) return oa; + return e.subscribeStore(r); + }, + [e], + ), + n = TSe.useCallback(() => (e === void 0 ? void 0 : e.store), [e]); + return Bit.useSyncExternalStore(t, n, () => e?.serverStore); +} +var TSe, Bit; +var Oit = P(() => { + Ci(); + ((TSe = z(re(), 1)), (Bit = z(QP(), 1))); +}); +var Sd = P(() => { + dit(); + pit(); + Pit(); + Lit(); + Oit(); +}); +function kSe(e) { + let { open: t = !1, onOpenChange: n, elements: r = {} } = e, + o = Ag(), + a = ih() != null, + i = qa( + () => + new vE({ + open: t, + transitionStatus: void 0, + onOpenChange: n, + referenceElement: r.reference ?? null, + floatingElement: r.floating ?? null, + triggerElements: new R2(), + floatingId: o, + syncOnly: !1, + nested: a, + }), + ).current; + return ( + Ct(() => { + let s = { open: t, floatingId: o }; + if (r.reference !== void 0) + ((s.referenceElement = r.reference), + (s.domReferenceElement = Dr(r.reference) ? r.reference : null)); + if (r.floating !== void 0) s.floatingElement = r.floating; + i.update(s); + }, [t, o, r.reference, r.floating, i]), + (i.context.onOpenChange = n), + (i.context.nested = a), + i + ); +} +var Fit = P(() => { + vs(); + Y8(); + Nr(); + om(); + Sd(); + Nb(); + Zee(); +}); +function VN(e, t = {}) { + let { enabled: n = !0, delay: r } = t, + o = "rootStore" in e ? e.rootStore : e, + { events: a, dataRef: i } = o.context, + s = Hb.useRef(!1), + l = Hb.useRef(null), + c = Hb.useRef(!0), + u = mi(); + (Hb.useEffect(() => { + let p = o.select("domReferenceElement"); + if (!n) return; + let f = Io(p); + function m() { + let y = o.select("domReferenceElement"); + if (!o.select("open") && Xo(y) && y === Ks(yr(y))) + ((s.current = !0), (l.current = y)); + } + function g() { + c.current = !0; + } + function v() { + c.current = !1; + } + return sm( + zr(f, "blur", m), + RSe && zr(f, "keydown", g, !0), + RSe && zr(f, "pointerdown", v, !0), + ); + }, [o, n]), + Hb.useEffect(() => { + if (!n) return; + function p(f) { + if (f.reason === Ib || f.reason === pN) { + let m = o.select("domReferenceElement"); + if (Dr(m)) ((l.current = m), (s.current = !0)); + } + } + return ( + a.on("openchange", p), + () => { + a.off("openchange", p); + } + ); + }, [a, n, o])); + let d = Hb.useMemo(() => { + function p() { + ((s.current = !1), (l.current = null)); + } + return { + onMouseLeave() { + p(); + }, + onFocus(f) { + let m = f.currentTarget; + if (s.current) { + if (l.current === m) return; + p(); + } + let g = fi(f.nativeEvent); + if (Dr(g)) { + if (RSe && !f.relatedTarget) { + if (!c.current && !rE(g)) return; + } else if (!cee(g)) return; + } + let v = q4(f.relatedTarget, o.context.triggerElements), + { nativeEvent: y, currentTarget: x } = f, + A = typeof r === "function" ? r() : r; + if ((o.select("open") && v) || A === 0 || A === void 0) { + o.setOpen(!0, un(PP, y, x)); + return; + } + u.start(A, () => { + if (s.current) return; + o.setOpen(!0, un(PP, y, x)); + }); + }, + onBlur(f) { + p(); + let { relatedTarget: m, nativeEvent: g } = f, + v = + Dr(m) && + m.hasAttribute(o3("focus-guard")) && + m.getAttribute("data-type") === "outside"; + u.start(0, () => { + let y = o.select("domReferenceElement"), + x = Ks(yr(y)); + if (!m && x === y) return; + if ( + Ln(i.current.floatingContext?.refs.floating.current, x) || + Ln(y, x) || + v + ) + return; + if (q4(m ?? x, o.context.triggerElements)) return; + o.setOpen(!1, un(PP, g)); + }); + }, + }; + }, [i, r, o, u]); + return Hb.useMemo(() => (n ? { reference: d, trigger: d } : {}), [n, d]); +} +var Hb, RSe; +var Uit = P(() => { + a0(); + ul(); + Rp(); + vs(); + im(); + ka(); + ko(); + ((Hb = z(re(), 1)), (RSe = JA.mac && jA.webkit)); +}); +class PSe { + constructor() { + ((this.pointerType = void 0), + (this.interactedInside = !1), + (this.handler = void 0), + (this.blockMouseMove = !0), + (this.performedPointerEventsMutation = !1), + (this.pointerEventsScopeElement = null), + (this.pointerEventsReferenceElement = null), + (this.pointerEventsFloatingElement = null), + (this.restTimeoutPending = !1), + (this.openChangeTimeout = new kp()), + (this.restTimeout = new kp()), + (this.handleCloseOptions = void 0)); + } + static create() { + return new PSe(); + } + dispose = () => { + (this.openChangeTimeout.clear(), this.restTimeout.clear()); + }; + disposeEffect = () => this.dispose; +} +function a9(e) { + if (!e.performedPointerEventsMutation) return; + let t = e.pointerEventsScopeElement; + if (t && Wee.get(t) === e) + (e.pointerEventsScopeElement?.style.removeProperty("pointer-events"), + e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"), + e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"), + Wee.delete(t)); + ((e.performedPointerEventsMutation = !1), + (e.pointerEventsScopeElement = null), + (e.pointerEventsReferenceElement = null), + (e.pointerEventsFloatingElement = null)); +} +function Yee(e, t) { + let { scopeElement: n, referenceElement: r, floatingElement: o } = t, + a = Wee.get(n); + if (a && a !== e) a9(a); + (a9(e), + (e.performedPointerEventsMutation = !0), + (e.pointerEventsScopeElement = n), + (e.pointerEventsReferenceElement = r), + (e.pointerEventsFloatingElement = o), + Wee.set(n, e), + (n.style.pointerEvents = "none"), + (r.style.pointerEvents = "auto"), + (o.style.pointerEvents = "auto")); +} +function i9(e) { + let t = e.context.dataRef.current, + n = qa(() => t.hoverInteractionState ?? PSe.create()).current; + if (!t.hoverInteractionState) t.hoverInteractionState = n; + return (DP(t.hoverInteractionState.disposeEffect), t.hoverInteractionState); +} +var Wee; +var Kee = P(() => { + J$(); + om(); + Rp(); + Cg(); + Wee = new WeakMap(); +}); +function xE(e, t = {}) { + let { enabled: n = !0, closeDelay: r = 0, nodeId: o } = t, + a = "rootStore" in e ? e.rootStore : e, + i = a.useState("open"), + s = a.useState("floatingElement"), + l = a.useState("domReferenceElement"), + { dataRef: c } = a.context, + u = lm(), + d = ih(), + p = i9(a), + f = mi(), + m = Ot(() => Mee(c.current.openEvent?.type, p.interactedInside)), + g = Ot(() => Hat(c.current.openEvent?.type)), + v = Ot(() => { + a9(p); + }); + (Ct(() => { + if (!i) + ((p.pointerType = void 0), + (p.restTimeoutPending = !1), + (p.interactedInside = !1), + v()); + }, [i, p, v]), + MSe.useEffect(() => v, [v]), + Ct(() => { + if (!n) return; + if (i && p.handleCloseOptions?.blockPointerEvents && g() && Dr(l) && s) { + let y = l, + x = s, + A = yr(s), + w = u?.nodesRef.current.find((I) => I.id === d)?.context?.elements + .floating; + if (w) w.style.pointerEvents = ""; + let C = + p.pointerEventsScopeElement !== x + ? p.pointerEventsScopeElement + : null, + E = w !== x ? w : null, + T = + p.handleCloseOptions?.getScope?.() ?? + C ?? + E ?? + y.closest("[data-rootownerid]") ?? + A.body; + return ( + Yee(p, { scopeElement: T, referenceElement: y, floatingElement: x }), + () => { + v(); + } + ); + } + return; + }, [n, i, l, s, p, g, u, d, v]), + MSe.useEffect(() => { + if (!n) return; + function y() { + return !!(u && d && q1(u.nodesRef.current, d).length > 0); + } + function x(I) { + let k = I2(r, "close", p.pointerType), + L = () => { + (a.setOpen(!1, un(sc, I)), u?.events.emit("floating.closed", I)); + }; + if (k) p.openChangeTimeout.start(k, L); + else (p.openChangeTimeout.clear(), L()); + } + function A(I) { + let k = fi(I); + if (!Owe(k)) { + p.interactedInside = !1; + return; + } + p.interactedInside = k?.closest("[aria-haspopup]") != null; + } + function w() { + (p.openChangeTimeout.clear(), + f.clear(), + u?.events.off("floating.closed", E), + v()); + } + function C(I) { + if (y() && u) { + u.events.on("floating.closed", E); + return; + } + if (q4(I.relatedTarget, a.context.triggerElements)) return; + let k = c.current.floatingContext?.nodeId ?? o, + L = I.relatedTarget; + if ( + u && + k && + Dr(L) && + q1(u.nodesRef.current, k, !1).some((B) => + Ln(B.context?.elements.floating, L), + ) + ) + return; + if (p.handler) { + p.handler(I); + return; + } + if ((v(), g() && !m())) x(I); + } + function E(I) { + if (!u || !d || y()) return; + f.start(0, () => { + (u.events.off("floating.closed", E), + a.setOpen(!1, un(sc, I)), + u.events.emit("floating.closed", I)); + }); + } + let T = s; + return sm( + T && zr(T, "mouseenter", w), + T && zr(T, "mouseleave", C), + T && zr(T, "pointerdown", A, !0), + () => { + u?.events.off("floating.closed", E); + }, + ); + }, [n, s, a, c, r, o, g, m, v, p, u, d, f])); +} +var MSe; +var Nit = P(() => { + Nr(); + ul(); + da(); + Rp(); + vs(); + ka(); + ko(); + Nb(); + im(); + Kee(); + DN(); + MSe = z(re(), 1); +}); +function l3(e, t = {}) { + let { + enabled: n = !0, + delay: r = 0, + handleClose: o = null, + mouseOnly: a = !1, + restMs: i = 0, + move: s = !0, + triggerElementRef: l = zMn, + externalTree: c, + isActiveTrigger: u = !0, + getHandleCloseContext: d, + isClosing: p, + shouldOpen: f, + guardStaleOpen: m = !1, + } = t, + g = "rootStore" in e ? e.rootStore : e, + { dataRef: v, events: y } = g.context, + x = lm(c), + A = i9(g), + w = s6.useRef(!1), + C = ti(o), + E = ti(r), + T = ti(i), + I = ti(n), + k = ti(f), + L = ti(p), + O = Ot(() => Mee(v.current.openEvent?.type, A.interactedInside)), + B = Ot(() => k.current?.() !== !1), + U = Ot((_, G, Z) => { + let q = g.context.triggerElements; + if (q.hasElement(G)) return !_ || !Ln(_, G); + if (!Dr(Z)) return !1; + let H = Z; + return q.hasMatchingElement((te) => Ln(te, H)) && (!_ || !Ln(_, H)); + }), + D = Ot(() => { + if (!A.handler) return; + (yr(g.select("domReferenceElement")).removeEventListener( + "mousemove", + A.handler, + ), + (A.handler = void 0)); + }), + N = Ot(() => { + a9(A); + }); + if (u) A.handleCloseOptions = o?.__options; + return ( + s6.useEffect(() => D, [D]), + s6.useEffect(() => { + if (!n) return; + function _(G) { + if (!G.open) + ((w.current = G.reason === sc), + D(), + A.openChangeTimeout.clear(), + A.restTimeout.clear(), + (A.blockMouseMove = !0), + (A.restTimeoutPending = !1)); + else w.current = !1; + } + return ( + y.on("openchange", _), + () => { + y.off("openchange", _); + } + ); + }, [n, y, A, D]), + s6.useEffect(() => { + if (!n) return; + function _(ie, j = !0) { + let oe = I2(E.current, "close", A.pointerType); + if (oe) + A.openChangeTimeout.start(oe, () => { + (g.setOpen(!1, un(sc, ie)), x?.events.emit("floating.closed", ie)); + }); + else if (j) + (A.openChangeTimeout.clear(), + g.setOpen(!1, un(sc, ie)), + x?.events.emit("floating.closed", ie)); + } + let G = l.current ?? (u ? g.select("domReferenceElement") : null); + if (!Dr(G)) return; + function Z(ie) { + if ( + (A.openChangeTimeout.clear(), + (A.blockMouseMove = !1), + a && !Sg(A.pointerType)) + ) + return; + let j = aSe(T.current), + oe = I2(E.current, "open", A.pointerType), + J = fi(ie), + Y = ie.currentTarget ?? null, + ae = g.select("domReferenceElement"), + ne = Y; + if (Dr(J) && !g.context.triggerElements.hasElement(J)) { + for (let be of g.context.triggerElements.elements()) + if (Ln(be, J)) { + ne = be; + break; + } + } + if ( + Dr(Y) && + Dr(ae) && + !g.context.triggerElements.hasElement(Y) && + Ln(Y, ae) + ) + ne = ae; + let Se = ne == null ? !1 : U(ae, ne, J), + fe = g.select("open"), + Ae = L.current?.() ?? g.select("transitionStatus") === "ending", + Ee = !fe && Ae && w.current, + pe = !Se && Dr(ne) && Dr(ae) && Ln(ae, ne) && Ee, + Re = j > 0 && !oe, + Le = (Se && (fe || Ee)) || pe, + Ne = !fe || Se; + if (Le) { + if (B()) g.setOpen(!0, un(sc, ie, ne)); + return; + } + if (Re) return; + if (oe) + A.openChangeTimeout.start(oe, () => { + if (Ne && B()) g.setOpen(!0, un(sc, ie, ne)); + }); + else if (Ne) { + if (B()) g.setOpen(!0, un(sc, ie, ne)); + } + } + function q(ie) { + if (O()) { + N(); + return; + } + D(); + let j = g.select("domReferenceElement"), + oe = yr(j); + (A.restTimeout.clear(), (A.restTimeoutPending = !1)); + let J = v.current.floatingContext ?? d?.(); + if (q4(ie.relatedTarget, g.context.triggerElements)) return; + if (C.current && J) { + if (!g.select("open")) A.openChangeTimeout.clear(); + let ae = l.current; + ((A.handler = C.current({ + ...J, + tree: x, + x: ie.clientX, + y: ie.clientY, + onClose() { + if ( + (N(), + D(), + I.current && !O() && ae === g.select("domReferenceElement")) + ) + _(ie, !0); + }, + })), + oe.addEventListener("mousemove", A.handler), + A.handler(ie)); + return; + } + if ( + A.pointerType === "touch" + ? !Ln(g.select("floatingElement"), ie.relatedTarget) + : !0 + ) + _(ie); + } + function H(ie) { + if (Ln(G, ie.relatedTarget)) return; + (A.openChangeTimeout.clear(), + A.restTimeout.clear(), + (A.restTimeoutPending = !1)); + } + let te = m ? zr(G, "mouseout", H) : void 0; + if (s) + return sm( + zr(G, "mousemove", Z, { once: !0 }), + zr(G, "mouseenter", Z), + zr(G, "mouseleave", q), + te, + ); + return sm(zr(G, "mouseenter", Z), zr(G, "mouseleave", q), te); + }, [D, N, v, E, g, n, C, A, u, U, O, a, s, T, l, x, I, d, L, B, m]), + s6.useMemo(() => { + if (!n) return; + function _(G) { + A.pointerType = G.pointerType; + } + return { + onPointerDown: _, + onPointerEnter: _, + onMouseMove(G) { + let { nativeEvent: Z } = G, + q = G.currentTarget, + H = g.select("domReferenceElement"), + te = g.select("open"), + ie = U(H, q, G.target); + if (a && !Sg(A.pointerType)) return; + if (te && ie && A.handleCloseOptions?.blockPointerEvents) { + let J = g.select("floatingElement"); + if (J) { + let Y = + A.handleCloseOptions?.getScope?.() ?? q.ownerDocument.body; + Yee(A, { + scopeElement: Y, + referenceElement: q, + floatingElement: J, + }); + } + } + let j = aSe(T.current); + if ((te && !ie) || j === 0) return; + if ( + !ie && + A.restTimeoutPending && + G.movementX ** 2 + G.movementY ** 2 < 2 + ) + return; + A.restTimeout.clear(); + function oe() { + if (((A.restTimeoutPending = !1), O())) return; + let J = g.select("open"); + if (!A.blockMouseMove && (!J || ie) && B()) + g.setOpen(!0, un(sc, Z, q)); + } + if (A.pointerType === "touch") + Ec(() => { + oe(); + }); + else if (ie && te) oe(); + else ((A.restTimeoutPending = !0), A.restTimeout.start(j, oe)); + }, + }; + }, [n, A, O, U, a, g, T, B]) + ); +} +var s6, zMn; +var zit = P(() => { + bd(); + ul(); + da(); + Ob(); + vs(); + ka(); + ko(); + Nb(); + im(); + Z1(); + Kee(); + DN(); + ((s6 = z(re(), 1)), (zMn = { current: null })); +}); +function _it(e) { + return jA.webkit && e.movementX === 0 && e.movementY === 0; +} +function jee(e, t, n) { + switch (e) { + case "vertical": + return t; + case "horizontal": + return n; + default: + return t || n; + } +} +function Jee(e, t) { + return jee(t, e === Rwe || e === see, e === vN || e === bN); +} +function DSe(e, t, n) { + return ( + jee(t, e === see, n ? e === vN : e === bN) || + e === "Enter" || + e === " " || + e === "" + ); +} +function HMn(e, t, n) { + return jee(t, n ? e === vN : e === bN, e === see); +} +function VMn(e, t, n, r) { + let o = n ? e === bN : e === vN, + a = e === Rwe; + if (t === "both" || (t === "horizontal" && r)) return e === _Mn; + return jee(t, o, a); +} +function GN(e, t) { + let { + listRef: n, + activeIndex: r, + onNavigate: o = () => {}, + enabled: a = !0, + selectedIndex: i = null, + allowEscape: s = !1, + loopFocus: l = !1, + nested: c = !1, + rtl: u = !1, + virtual: d = !1, + focusItemOnOpen: p = "auto", + focusItemOnHover: f = !0, + openOnArrowKeyDown: m = !0, + disabledIndices: g = void 0, + orientation: v = "vertical", + parentOrientation: y, + id: x, + resetOnPointerLeave: A = !0, + externalTree: w, + grid: C, + } = t, + E = C != null, + T = "rootStore" in e ? e.rootStore : e, + I = T.useState("open"), + k = T.useState("floatingElement"), + L = T.useState("domReferenceElement"), + O = T.context.dataRef, + B = oE(k), + U = wN(L), + D = ti(B), + N = ih(), + _ = lm(w), + G = Ef.useRef(p), + Z = Ef.useRef(i ?? -1), + q = Ef.useRef(null), + H = Ef.useRef(!0), + te = Ot((Me) => { + o(Z.current === -1 ? null : Z.current, Me); + }), + ie = Ef.useRef(!!k), + j = Ef.useRef(I), + oe = Ef.useRef(!1), + J = Ef.useRef(!1), + Y = Ef.useRef(null), + ae = ti(g), + ne = ti(I), + Se = ti(i), + fe = ti(A), + Ae = wg(), + Ee = wg(), + pe = Ot(() => { + function Me(we) { + if (d) _?.events.emit("virtualfocus", we); + else Y.current = e9(we, { sync: oe.current, preventScroll: !0 }); + } + let Qe = n.current[Z.current], + ee = J.current; + if (Qe) Me(Qe); + (oe.current ? (we) => we() : (we) => Ae.request(we))(() => { + let we = n.current[Z.current] || Qe; + if (!we) return; + if (!Qe) Me(we); + if (ce && (ee || !H.current)) + we.scrollIntoView?.({ block: "nearest", inline: "nearest" }); + }); + }); + (Ct(() => { + O.current.orientation = v; + }, [O, v]), + Ct(() => { + if (!a) return; + if (I && k) { + if (((Z.current = i ?? -1), G.current && i != null)) + ((J.current = !0), te()); + } else if (ie.current) ((Z.current = -1), te()); + }, [a, I, k, i, te]), + Ct(() => { + if (!a) return; + if (!I) { + oe.current = !1; + return; + } + if (!k) return; + if (r == null) { + if (((oe.current = !1), Se.current != null)) return; + if (ie.current) ((Z.current = -1), pe()); + if ( + (!j.current || !ie.current) && + G.current && + (q.current != null || (G.current === !0 && q.current == null)) + ) { + let Me = 0, + Qe = () => { + if (n.current[0] == null) { + if (Me < 2) (Me ? (K) => Ee.request(K) : queueMicrotask)(Qe); + Me += 1; + } else + ((Z.current = + q.current == null || DSe(q.current, v, u) || c + ? iE(n) + : NP(n)), + (q.current = null), + te()); + }; + Qe(); + } + } else if (!X4(n.current, r)) ((Z.current = r), pe(), (J.current = !1)); + }, [a, I, k, r, Se, c, n, v, u, te, pe, Ee]), + Ct(() => { + if (!a || k || !_ || d || !ie.current) return; + let Me = _.nodesRef.current, + Qe = Me.find((we) => we.id === N)?.context?.elements.floating, + ee = Ks(yr(L ?? Qe ?? null)), + K = Me.some((we) => we.context && Ln(we.context.elements.floating, ee)); + if (Qe && !K && H.current) Qe.focus({ preventScroll: !0 }); + }, [a, k, L, _, N, d]), + Ct(() => { + ((j.current = I), (ie.current = !!k)); + }), + Ct(() => { + if (!I) ((q.current = null), (G.current = p)); + }, [I, p])); + let Re = r != null, + Le = Ot((Me) => { + if (!ne.current) return; + let Qe = n.current.indexOf(Me.currentTarget); + if (Qe !== -1 && (Z.current !== Qe || r !== Qe)) + ((Z.current = Qe), te(Me)); + }), + Ne = Ot( + () => + y ?? + _?.nodesRef.current.find((Me) => Me.id === N)?.context?.dataRef?.current + .orientation, + ), + be = Ot(() => iE(n, ae.current)), + ye = Ot((Me) => { + if (((H.current = !1), (oe.current = !0), Me.which === 229)) return; + if (!ne.current && Me.currentTarget === D.current) return; + if (c && VMn(Me.key, v, u, E)) { + if (!Jee(Me.key, Ne())) i0(Me); + if ((T.setOpen(!1, un(W$, Me.nativeEvent)), Xo(L))) + if (d) _?.events.emit("virtualfocus", L); + else L.focus(); + return; + } + let Qe = Z.current, + ee = iE(n, g), + K = NP(n, g); + if (!U) { + if (Me.key === "Home") (i0(Me), (Z.current = ee), te(Me)); + if (Me.key === "End") (i0(Me), (Z.current = K), te(Me)); + } + if (C != null) { + let we = C(Me, Z.current, n, v, l, u, g, ee, K); + if (we != null) ((Z.current = we), te(Me)); + if (v === "both") return; + } + if (Jee(Me.key, v)) { + if ( + (i0(Me), + I && !d && Ks(Me.currentTarget.ownerDocument) === Me.currentTarget) + ) { + ((Z.current = DSe(Me.key, v, u) ? ee : K), te(Me)); + return; + } + if (DSe(Me.key, v, u)) + if (l) + if (Qe >= K) + if (s && Qe !== n.current.length) Z.current = -1; + else ((oe.current = !1), (Z.current = ee)); + else + Z.current = X1(n.current, { + startingIndex: Qe, + disabledIndices: g, + }); + else + Z.current = Math.min( + K, + X1(n.current, { startingIndex: Qe, disabledIndices: g }), + ); + else if (l) + if (Qe <= ee) + if (s && Qe !== -1) Z.current = n.current.length; + else ((oe.current = !1), (Z.current = K)); + else + Z.current = X1(n.current, { + startingIndex: Qe, + decrement: !0, + disabledIndices: g, + }); + else + Z.current = Math.max( + ee, + X1(n.current, { + startingIndex: Qe, + decrement: !0, + disabledIndices: g, + }), + ); + if (X4(n.current, Z.current)) Z.current = -1; + te(Me); + } + }), + ce = Ef.useMemo( + () => ({ + onFocus(Qe) { + ((oe.current = !0), Le(Qe)); + }, + onClick: ({ currentTarget: Qe }) => Qe.focus({ preventScroll: !0 }), + onMouseMove(Qe) { + if (_it(Qe)) return; + if (((oe.current = !0), (J.current = !1), f)) Le(Qe); + }, + onPointerLeave(Qe) { + if (!ne.current || !H.current || Qe.pointerType === "touch") return; + oe.current = !0; + let ee = Qe.relatedTarget; + if (!f || n.current.includes(ee)) return; + if (!fe.current) return; + if ( + (Y.current?.(), (Y.current = null), (Z.current = -1), te(Qe), !d) + ) { + let K = D.current, + we = Ks(yr(K)); + if (K && Ln(K, we)) K.focus({ preventScroll: !0 }); + } + }, + }), + [Le, ne, D, f, n, te, fe, d], + ), + ue = Ef.useMemo( + () => d && I && Re && { "aria-activedescendant": `${x}-${r}` }, + [d, I, Re, x, r], + ), + ke = Ef.useMemo( + () => ({ + ...(!U ? ue : {}), + onKeyDown(Me) { + if (Me.key === "Tab" && Me.shiftKey && I && !d) { + let Qe = fi(Me.nativeEvent); + if (Qe && !Ln(D.current, Qe)) return; + if ((i0(Me), T.setOpen(!1, un(_4, Me.nativeEvent)), Xo(L))) + L.focus(); + return; + } + ye(Me); + }, + onPointerMove(Me) { + if (_it(Me)) return; + H.current = !0; + }, + }), + [ue, ye, D, U, T, I, d, L], + ), + se = Ef.useMemo(() => { + function Me(K) { + T.setOpen(!0, un(W$, K.nativeEvent, K.currentTarget)); + } + function Qe(K) { + if (p === "auto" && Z4(K.nativeEvent)) G.current = !d; + } + function ee(K) { + if (((G.current = p), p === "auto" && UP(K.nativeEvent))) + G.current = !0; + } + return { + onKeyDown(K) { + let we = T.select("open"); + H.current = !1; + let ze = K.key.startsWith("Arrow"), + tt = HMn(K.key, Ne(), u), + Pe = Jee(K.key, v), + Ke = (c ? tt : Pe) || K.key === "Enter" || K.key.trim() === ""; + if (d && we) return ye(K); + if (!we && !m && ze) return; + if (Ke) { + let Ue = Jee(K.key, Ne()); + q.current = c && Ue ? null : K.key; + } + if (c) { + if (tt) + if ((i0(K), we)) ((Z.current = be()), te(K)); + else Me(K); + return; + } + if (Pe) { + if (Se.current != null) Z.current = Se.current; + if ((i0(K), !we && m)) Me(K); + else ye(K); + if (we) te(K); + } + return; + }, + onFocus(K) { + if (T.select("open") && !d) ((Z.current = -1), te(K)); + }, + onPointerDown: ee, + onPointerEnter: ee, + onMouseDown: Qe, + onClick: Qe, + }; + }, [ye, p, be, c, te, T, m, v, Ne, u, Se, d]), + qe = Ef.useMemo(() => ({ ...ue, ...se }), [ue, se]); + return Ef.useMemo( + () => (a ? { reference: qe, floating: ke, item: ce, trigger: se } : {}), + [a, qe, ke, se, ce], + ); +} +var Ef, + _Mn = "Escape"; +var Hit = P(() => { + kb(); + Nr(); + ul(); + da(); + Ob(); + a0(); + vs(); + ka(); + ko(); + Nb(); + zP(); + im(); + lSe(); + Z1(); + Ef = z(re(), 1); +}); +function qN(e, t) { + let { + listRef: n, + elementsRef: r, + activeIndex: o, + onMatch: a, + disabledIndices: i, + onTyping: s, + enabled: l = !0, + resetMs: c = 750, + selectedIndex: u = null, + } = t, + d = "rootStore" in e ? e.rootStore : e, + p = d.useState("open"), + f = mi(), + m = AE.useRef(""), + g = AE.useRef(u ?? o ?? -1), + v = AE.useRef(null), + y = Ot((w) => { + function C(D) { + return r?.current[D]; + } + function E(D) { + let N = C(D); + if ((N && !sE(N)) || N?.matches(":disabled")) return !1; + return i == null || !e3(Rc, D, i); + } + function T(D, N, _ = 0) { + if (D.length === 0) return -1; + let G = ((_ % D.length) + D.length) % D.length, + Z = N.toLowerCase(); + for (let q = 0; q < D.length; q += 1) { + let H = (G + q) % D.length; + if (!D[H]?.toLowerCase().startsWith(Z) || !E(H)) continue; + return H; + } + return -1; + } + let I = n.current; + if (m.current.length > 0 && w.key === " ") (i0(w), s?.(!0)); + if (m.current.length > 0 && m.current[0] !== " ") { + if (T(I, m.current) === -1 && w.key !== " ") s?.(!1); + } + if (I == null || w.key.length !== 1 || w.ctrlKey || w.metaKey || w.altKey) + return; + if (p && w.key !== " ") (i0(w), s?.(!0)); + let k = m.current === ""; + if (k) g.current = u ?? o ?? -1; + if ( + I.every((D, N) => + D && E(N) ? D[0]?.toLowerCase() !== D[1]?.toLowerCase() : !0, + ) && + m.current === w.key + ) + ((m.current = ""), (g.current = v.current)); + ((m.current += w.key), + f.start(c, () => { + ((m.current = ""), (g.current = v.current), s?.(!1)); + })); + let B = ((k ? (u ?? o ?? -1) : g.current) ?? 0) + 1, + U = T(I, m.current, B); + if (U !== -1) (a?.(U), (v.current = U)); + else if (w.key !== " ") ((m.current = ""), s?.(!1)); + }), + x = Ot((w) => { + let C = w.relatedTarget, + E = d.select("domReferenceElement"), + T = d.select("floatingElement"); + if (Ln(E, C) || Ln(T, C)) return; + (f.clear(), (m.current = ""), (g.current = v.current), s?.(!1)); + }); + Ct(() => { + if (!p && u !== null) return; + if ((f.clear(), (v.current = null), m.current !== "")) m.current = ""; + }, [p, u, f]); + let A = AE.useMemo(() => ({ onKeyDown: y, onBlur: x }), [y, x]); + return AE.useMemo(() => (l ? { reference: A, floating: A } : {}), [l, A]); +} +var AE; +var Vit = P(() => { + Nr(); + da(); + Rp(); + Ci(); + zP(); + im(); + Z1(); + AE = z(re(), 1); +}); +function $ee(e, t, n, r, o, a) { + return r >= t !== a >= t && e <= ((o - n) * (t - r)) / (a - r) + n; +} +function ete(e, t, n, r, o, a, i, s, l, c) { + let u = !1; + if ($ee(e, t, n, r, o, a)) u = !u; + if ($ee(e, t, o, a, i, s)) u = !u; + if ($ee(e, t, i, s, l, c)) u = !u; + if ($ee(e, t, l, c, n, r)) u = !u; + return u; +} +function qMn(e, t, n) { + return e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height; +} +function tte(e, t, n, r, o, a) { + let i = Math.min(n, o), + s = Math.max(n, o), + l = Math.min(r, a), + c = Math.max(r, a); + return e >= i && e <= s && t >= l && t <= c; +} +function c3(e = {}) { + let { blockPointerEvents: t = !1 } = e, + n = new kp(), + r = ({ + x: o, + y: a, + placement: i, + elements: s, + onClose: l, + nodeId: c, + tree: u, + }) => { + let d = i?.split("-")[0], + p = !1, + f = null, + m = null, + g = typeof performance < "u" ? performance.now() : 0; + function v(x, A) { + let w = performance.now(), + C = w - g; + if (f === null || m === null || C === 0) + return ((f = x), (m = A), (g = w), !1); + let E = x - f, + T = A - m, + I = E * E + T * T, + k = C * C * GMn; + return ((f = x), (m = A), (g = w), I < k); + } + function y() { + (n.clear(), l()); + } + return function (A) { + n.clear(); + let { domReference: w, floating: C } = s; + if (!w || !C || d == null || o == null || a == null) return; + let { clientX: E, clientY: T } = A, + I = fi(A), + k = A.type === "mouseleave", + L = Ln(C, I), + O = Ln(w, I); + if (L) { + if (((p = !0), !k)) return; + } + if (O) { + if (((p = !1), !k)) { + p = !0; + return; + } + } + if (k && Dr(A.relatedTarget) && Ln(C, A.relatedTarget)) return; + function B() { + return Boolean(u && q1(u.nodesRef.current, c).length > 0); + } + function U() { + if (!B()) y(); + } + if (B()) return; + let D = w.getBoundingClientRect(), + N = C.getBoundingClientRect(), + _ = o > N.right - N.width / 2, + G = a > N.bottom - N.height / 2, + Z = N.width > D.width, + q = N.height > D.height, + H = (Z ? D : N).left, + te = (Z ? D : N).right, + ie = (q ? D : N).top, + j = (q ? D : N).bottom; + if ( + (d === "top" && a >= D.bottom - 1) || + (d === "bottom" && a <= D.top + 1) || + (d === "left" && o >= D.right - 1) || + (d === "right" && o <= D.left + 1) + ) { + U(); + return; + } + let oe = !1; + switch (d) { + case "top": + oe = tte(E, T, H, D.top + 1, te, N.bottom - 1); + break; + case "bottom": + oe = tte(E, T, H, N.top + 1, te, D.bottom - 1); + break; + case "left": + oe = tte(E, T, N.right - 1, j, D.left + 1, ie); + break; + case "right": + oe = tte(E, T, D.right - 1, j, N.left + 1, ie); + break; + default: + } + if (oe) return; + if (p && !qMn(E, T, D)) { + U(); + return; + } + if (!k && v(E, T)) { + U(); + return; + } + let J = !1; + switch (d) { + case "top": { + let Y = Z ? es / 2 : es * 4, + ae = Z ? o + Y : _ ? o + Y : o - Y, + ne = Z ? o - Y : _ ? o + Y : o - Y, + Se = a + es + 1, + fe = _ ? N.bottom - es : Z ? N.bottom - es : N.top, + Ae = _ ? (Z ? N.bottom - es : N.top) : N.bottom - es; + J = ete(E, T, ae, Se, ne, Se, N.left, fe, N.right, Ae); + break; + } + case "bottom": { + let Y = Z ? es / 2 : es * 4, + ae = Z ? o + Y : _ ? o + Y : o - Y, + ne = Z ? o - Y : _ ? o + Y : o - Y, + Se = a - es, + fe = _ ? N.top + es : Z ? N.top + es : N.bottom, + Ae = _ ? (Z ? N.top + es : N.bottom) : N.top + es; + J = ete(E, T, ae, Se, ne, Se, N.left, fe, N.right, Ae); + break; + } + case "left": { + let Y = q ? es / 2 : es * 4, + ae = q ? a + Y : G ? a + Y : a - Y, + ne = q ? a - Y : G ? a + Y : a - Y, + Se = o + es + 1, + fe = G ? N.right - es : q ? N.right - es : N.left, + Ae = G ? (q ? N.right - es : N.left) : N.right - es; + J = ete(E, T, fe, N.top, Ae, N.bottom, Se, ae, Se, ne); + break; + } + case "right": { + let Y = q ? es / 2 : es * 4, + ae = q ? a + Y : G ? a + Y : a - Y, + ne = q ? a - Y : G ? a + Y : a - Y, + Se = o - es, + fe = G ? N.left + es : q ? N.left + es : N.right, + Ae = G ? (q ? N.left + es : N.right) : N.left + es; + J = ete(E, T, Se, ae, Se, ne, fe, N.top, Ae, N.bottom); + break; + } + default: + } + if (!J) U(); + else if (!p) n.start(40, U); + return; + }; + }; + return ((r.__options = { ...e, blockPointerEvents: t }), r); +} +var Git = 0.1, + GMn, + es = 0.5; +var qit = P(() => { + vs(); + Rp(); + im(); + GMn = Git * Git; +}); +function Zit(e, t, n) { + let { reference: r, floating: o } = e, + a = l0(t), + i = TN(t), + s = IN(i), + l = s0(t), + c = a === "y", + u = r.x + r.width / 2 - o.width / 2, + d = r.y + r.height / 2 - o.height / 2, + p = r[s] / 2 - o[s] / 2, + f; + switch (l) { + case "top": + f = { x: u, y: r.y - o.height }; + break; + case "bottom": + f = { x: u, y: r.y + r.height }; + break; + case "right": + f = { x: r.x + r.width, y: d }; + break; + case "left": + f = { x: r.x - o.width, y: d }; + break; + default: + f = { x: r.x, y: r.y }; + } + let m = Q1(t); + if (m) f[i] += p * (m === "end" ? 1 : -1) * (n && c ? -1 : 1); + return f; +} +async function Qit(e, t) { + var n; + if (t === void 0) t = {}; + let { x: r, y: o, platform: a, rects: i, elements: s, strategy: l } = e, + { + boundary: c = "clippingAncestors", + rootBoundary: u = "viewport", + elementContext: d = "floating", + altBoundary: p = !1, + padding: f = 0, + } = Lb(t, e), + m = fee(f), + v = s[p ? (d === "floating" ? "reference" : "floating") : d], + y = $A( + await a.getClippingRect({ + element: ( + (n = await (a.isElement == null ? void 0 : a.isElement(v))) != null + ? n + : !0 + ) + ? v + : v.contextElement || + (await (a.getDocumentElement == null + ? void 0 + : a.getDocumentElement(s.floating))), + boundary: c, + rootBoundary: u, + strategy: l, + }), + ), + x = + d === "floating" + ? { x: r, y: o, width: i.floating.width, height: i.floating.height } + : i.reference, + A = await (a.getOffsetParent == null + ? void 0 + : a.getOffsetParent(s.floating)), + w = ((await (a.isElement == null ? void 0 : a.isElement(A))) && + (await (a.getScale == null ? void 0 : a.getScale(A)))) || { x: 1, y: 1 }, + C = $A( + a.convertOffsetParentRelativeRectToViewportRelativeRect + ? await a.convertOffsetParentRelativeRectToViewportRelativeRect({ + elements: s, + rect: x, + offsetParent: A, + strategy: l, + }) + : x, + ); + return { + top: (y.top - C.top + m.top) / w.y, + bottom: (C.bottom - y.bottom + m.bottom) / w.y, + left: (y.left - C.left + m.left) / w.x, + right: (C.right - y.right + m.right) / w.x, + }; +} +async function QMn(e, t) { + let { placement: n, platform: r, elements: o } = e, + a = await (r.isRTL == null ? void 0 : r.isRTL(o.floating)), + i = s0(n), + s = Q1(n), + l = l0(n) === "y", + c = Yit.has(i) ? -1 : 1, + u = a && l ? -1 : 1, + d = Lb(t, e), + { + mainAxis: p, + crossAxis: f, + alignmentAxis: m, + } = typeof d === "number" + ? { mainAxis: d, crossAxis: 0, alignmentAxis: null } + : { + mainAxis: d.mainAxis || 0, + crossAxis: d.crossAxis || 0, + alignmentAxis: d.alignmentAxis, + }; + if (s && typeof m === "number") f = s === "end" ? m * -1 : m; + return l ? { x: f * u, y: p * c } : { x: p * c, y: f * u }; +} +var ZMn = 50, + Xit = async (e, t, n) => { + let { + placement: r = "bottom", + strategy: o = "absolute", + middleware: a = [], + platform: i, + } = n, + s = i.detectOverflow ? i : { ...i, detectOverflow: Qit }, + l = await (i.isRTL == null ? void 0 : i.isRTL(t)), + c = await i.getElementRects({ reference: e, floating: t, strategy: o }), + { x: u, y: d } = Zit(c, r, l), + p = r, + f = 0, + m = {}; + for (let g = 0; g < a.length; g++) { + let v = a[g]; + if (!v) continue; + let { name: y, fn: x } = v, + { + x: A, + y: w, + data: C, + reset: E, + } = await x({ + x: u, + y: d, + initialPlacement: r, + placement: p, + strategy: o, + middlewareData: m, + rects: c, + platform: s, + elements: { reference: e, floating: t }, + }); + if ( + ((u = A != null ? A : u), + (d = w != null ? w : d), + (m[y] = { ...m[y], ...C }), + E && f < ZMn) + ) { + if ((f++, typeof E === "object")) { + if (E.placement) p = E.placement; + if (E.rects) + c = + E.rects === !0 + ? await i.getElementRects({ + reference: e, + floating: t, + strategy: o, + }) + : E.rects; + ({ x: u, y: d } = Zit(c, p, l)); + } + g = -1; + } + } + return { x: u, y: d, placement: p, strategy: o, middlewareData: m }; + }, + Wit = function (e) { + if (e === void 0) e = {}; + return { + name: "flip", + options: e, + async fn(t) { + var n, r; + let { + placement: o, + middlewareData: a, + rects: i, + initialPlacement: s, + platform: l, + elements: c, + } = t, + { + mainAxis: u = !0, + crossAxis: d = !0, + fallbackPlacements: p, + fallbackStrategy: f = "bestFit", + fallbackAxisSideDirection: m = "none", + flipAlignment: g = !0, + ...v + } = Lb(e, t); + if ((n = a.arrow) != null && n.alignmentOffset) return {}; + let y = s0(o), + x = l0(s), + A = s0(s) === s, + w = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), + C = p || (A || !g ? [SN(s)] : Wot(s)), + E = m !== "none"; + if (!p && E) C.push(...Yot(s, g, m, w)); + let T = [s, ...C], + I = await l.detectOverflow(t, v), + k = [], + L = ((r = a.flip) == null ? void 0 : r.overflows) || []; + if (u) k.push(I[y]); + if (d) { + let D = Xot(o, i, w); + k.push(I[D[0]], I[D[1]]); + } + if ( + ((L = [...L, { placement: o, overflows: k }]), + !k.every((D) => D <= 0)) + ) { + var O, B; + let D = (((O = a.flip) == null ? void 0 : O.index) || 0) + 1, + N = T[D]; + if (N) { + if ( + !(d === "alignment" ? x !== l0(N) : !1) || + L.every((Z) => (l0(Z.placement) === x ? Z.overflows[0] > 0 : !0)) + ) + return { + data: { index: D, overflows: L }, + reset: { placement: N }, + }; + } + let _ = + (B = L.filter((G) => G.overflows[0] <= 0).sort( + (G, Z) => G.overflows[1] - Z.overflows[1], + )[0]) == null + ? void 0 + : B.placement; + if (!_) + switch (f) { + case "bestFit": { + var U; + let G = + (U = L.filter((Z) => { + if (E) { + let q = l0(Z.placement); + return q === x || q === "y"; + } + return !0; + }) + .map((Z) => [ + Z.placement, + Z.overflows + .filter((q) => q > 0) + .reduce((q, H) => q + H, 0), + ]) + .sort((Z, q) => Z[1] - q[1])[0]) == null + ? void 0 + : U[0]; + if (G) _ = G; + break; + } + case "initialPlacement": + _ = s; + break; + } + if (o !== _) return { reset: { placement: _ } }; + } + return {}; + }, + }; + }, + Yit, + Kit = function (e) { + if (e === void 0) e = 0; + return { + name: "offset", + options: e, + async fn(t) { + var n, r; + let { x: o, y: a, placement: i, middlewareData: s } = t, + l = await QMn(t, e); + if ( + i === ((n = s.offset) == null ? void 0 : n.placement) && + (r = s.arrow) != null && + r.alignmentOffset + ) + return {}; + return { x: o + l.x, y: a + l.y, data: { ...l, placement: i } }; + }, + }; + }, + Jit = function (e) { + if (e === void 0) e = {}; + return { + name: "shift", + options: e, + async fn(t) { + let { x: n, y: r, placement: o, platform: a } = t, + { + mainAxis: i = !0, + crossAxis: s = !1, + limiter: l = { + fn: (x) => { + let { x: A, y: w } = x; + return { x: A, y: w }; + }, + }, + ...c + } = Lb(e, t), + u = { x: n, y: r }, + d = await a.detectOverflow(t, c), + p = l0(o), + f = pee(p), + m = u[f], + g = u[p], + v = (x, A) => + dee( + A + d[x === "y" ? "top" : "left"], + A, + A - d[x === "y" ? "bottom" : "right"], + ); + if (i) m = v(f, m); + if (s) g = v(p, g); + let y = l.fn({ ...t, [f]: m, [p]: g }); + return { + ...y, + data: { x: y.x - n, y: y.y - r, enabled: { [f]: i, [p]: s } }, + }; + }, + }; + }, + jit = function (e) { + if (e === void 0) e = {}; + return { + options: e, + fn(t) { + var n, r; + let { x: o, y: a, placement: i, rects: s, middlewareData: l } = t, + { offset: c = 0, mainAxis: u = !0, crossAxis: d = !0 } = Lb(e, t), + p = { x: o, y: a }, + f = l0(i), + m = pee(f), + g = p[m], + v = p[f], + y = Lb(c, t), + x = + typeof y === "number" + ? { mainAxis: y, crossAxis: 0 } + : { + mainAxis: (n = y.mainAxis) != null ? n : 0, + crossAxis: (r = y.crossAxis) != null ? r : 0, + }; + if (u) { + let C = m === "y" ? "height" : "width", + E = s.reference[m] - s.floating[C] + x.mainAxis, + T = s.reference[m] + s.reference[C] - x.mainAxis; + if (g < E) g = E; + else if (g > T) g = T; + } + if (d) { + var A, w; + let C = m === "y" ? "width" : "height", + E = Yit.has(s0(i)), + T = + s.reference[f] - + s.floating[C] + + (E ? ((A = l.offset) == null ? void 0 : A[f]) || 0 : 0) + + (E ? 0 : x.crossAxis), + I = + s.reference[f] + + s.reference[C] + + (E ? 0 : ((w = l.offset) == null ? void 0 : w[f]) || 0) - + (E ? x.crossAxis : 0); + if (v < T) v = T; + else if (v > I) v = I; + } + return { [m]: g, [f]: v }; + }, + }; + }, + $it = function (e) { + if (e === void 0) e = {}; + return { + name: "size", + options: e, + async fn(t) { + let { placement: n, rects: r, platform: o, elements: a } = t, + { apply: i = () => {}, ...s } = Lb(e, t), + l = await o.detectOverflow(t, s), + c = s0(n), + u = Q1(n), + d = l0(n) === "y", + { width: p, height: f } = r.floating, + m, + g; + if (c === "top" || c === "bottom") + ((m = c), + (g = + u === + ((await (o.isRTL == null ? void 0 : o.isRTL(a.floating))) + ? "start" + : "end") + ? "left" + : "right")); + else ((g = c), (m = u === "end" ? "top" : "bottom")); + let v = f - l.top - l.bottom, + y = p - l.left - l.right, + x = Q4(f - l[m], v), + A = Q4(p - l[g], y), + w = t.middlewareData.shift, + C = !w, + E = x, + T = A; + if (w != null && w.enabled.x) T = y; + if (w != null && w.enabled.y) E = v; + if (C && !u) + if (d) T = p - 2 * C2(l.left, l.right); + else E = f - 2 * C2(l.top, l.bottom); + await i({ ...t, availableWidth: T, availableHeight: E }); + let I = await o.getDimensions(a.floating); + if (p !== I.width || f !== I.height) return { reset: { rects: !0 } }; + return {}; + }, + }; + }; +var est = P(() => { + aE(); + aE(); + Yit = new Set(["left", "top"]); +}); +function rst(e) { + let t = Sf(e), + n = parseFloat(t.width) || 0, + r = parseFloat(t.height) || 0, + o = Xo(e), + a = o ? e.offsetWidth : n, + i = o ? e.offsetHeight : r, + s = CN(n) !== a || CN(r) !== i; + if (s) ((n = a), (r = i)); + return { width: n, height: r, $: s }; +} +function BSe(e) { + return !Dr(e) ? e.contextElement : e; +} +function s9(e) { + let t = BSe(e); + if (!Xo(t)) return Db(1); + let n = t.getBoundingClientRect(), + { width: r, height: o, $: a } = rst(t), + i = (a ? CN(n.width) : n.width) / r, + s = (a ? CN(n.height) : n.height) / o; + if (!i || !Number.isFinite(i)) i = 1; + if (!s || !Number.isFinite(s)) s = 1; + return { x: i, y: s }; +} +function ost(e) { + let t = Io(e); + if (!D$() || !t.visualViewport) return XMn; + return { x: t.visualViewport.offsetLeft, y: t.visualViewport.offsetTop }; +} +function WMn(e, t, n) { + if (t === void 0) t = !1; + return !!n && t && n === Io(e); +} +function wE(e, t, n, r) { + if (t === void 0) t = !1; + if (n === void 0) n = !1; + let o = e.getBoundingClientRect(), + a = BSe(e), + i = Db(1); + if (t) + if (r) { + if (Dr(r)) i = s9(r); + } else i = s9(e); + let s = WMn(a, n, r) ? ost(a) : Db(0), + l = (o.left + s.x) / i.x, + c = (o.top + s.y) / i.y, + u = o.width / i.x, + d = o.height / i.y; + if (a && r) { + let p = Io(a), + f = Dr(r) ? Io(r) : r, + m = p, + g = L$(m); + while (g && f !== m) { + let v = s9(g), + y = g.getBoundingClientRect(), + x = Sf(g), + A = y.left + (g.clientLeft + parseFloat(x.paddingLeft)) * v.x, + w = y.top + (g.clientTop + parseFloat(x.paddingTop)) * v.y; + ((l *= v.x), + (c *= v.y), + (u *= v.x), + (d *= v.y), + (l += A), + (c += w), + (m = Io(g)), + (g = L$(m))); + } + } + return $A({ width: u, height: d, x: l, y: c }); +} +function nte(e, t) { + let n = oN(e).scrollLeft; + if (!t) return wE(wb(e)).left + n; + return t.left + n; +} +function ast(e, t) { + let n = e.getBoundingClientRect(), + r = n.left + t.scrollLeft - nte(e, n), + o = n.top + t.scrollTop; + return { x: r, y: o }; +} +function YMn(e) { + let { elements: t, rect: n, offsetParent: r, strategy: o } = e, + a = o === "fixed", + i = wb(r), + s = t ? rN(t.floating) : !1; + if (r === i || (s && a)) return n; + let l = { scrollLeft: 0, scrollTop: 0 }, + c = Db(1), + u = Db(0), + d = Xo(r); + if (d || !a) { + if (Pc(r) !== "body" || W8(i)) l = oN(r); + if (d) { + let f = wE(r); + ((c = s9(r)), (u.x = f.x + r.clientLeft), (u.y = f.y + r.clientTop)); + } + } + let p = i && !d && !a ? ast(i, l) : Db(0); + return { + width: n.width * c.x, + height: n.height * c.y, + x: n.x * c.x - l.scrollLeft * c.x + u.x + p.x, + y: n.y * c.y - l.scrollTop * c.y + u.y + p.y, + }; +} +function KMn(e) { + return e.getClientRects ? Array.from(e.getClientRects()) : []; +} +function JMn(e) { + let t = oN(e), + n = e.ownerDocument.body, + r = C2(e.scrollWidth, e.clientWidth, n.scrollWidth, n.clientWidth), + o = C2(e.scrollHeight, e.clientHeight, n.scrollHeight, n.clientHeight), + a = -t.scrollLeft + nte(e), + i = -t.scrollTop; + if (Sf(n).direction === "rtl") a += C2(e.clientWidth, n.clientWidth) - r; + return { width: r, height: o, x: a, y: i }; +} +function $Mn(e, t, n) { + if (n === void 0) n = "viewport"; + let r = n === "layoutViewport", + o = Io(e), + a = wb(e), + i = o.visualViewport, + { clientWidth: s, clientHeight: l } = a, + c = 0, + u = 0; + if (i) { + let p = !D$() || t === "fixed"; + if (r) { + if (!p) ((c = -i.offsetLeft), (u = -i.offsetTop)); + } else if (((s = i.width), (l = i.height), p)) + ((c = i.offsetLeft), (u = i.offsetTop)); + } + if (nte(a) <= 0) { + let p = a.ownerDocument, + f = p.body, + m = getComputedStyle(f), + g = + p.compatMode === "CSS1Compat" + ? parseFloat(m.marginLeft) + parseFloat(m.marginRight) || 0 + : 0, + v = Math.abs(a.clientWidth - f.clientWidth - g), + y = + getComputedStyle(a).scrollbarGutter === "stable both-edges" ? v / 2 : v; + if (y <= jMn) s -= y; + } + return { width: s, height: l, x: c, y: u }; +} +function eDn(e, t) { + let n = wE(e, !0, t === "fixed"), + r = n.top + e.clientTop, + o = n.left + e.clientLeft, + a = s9(e), + i = e.clientWidth * a.x, + s = e.clientHeight * a.y, + l = o * a.x, + c = r * a.y; + return { width: i, height: s, x: l, y: c }; +} +function tst(e, t, n) { + let r; + if (t === "viewport" || t === "layoutViewport") r = $Mn(e, n, t); + else if (t === "document") r = JMn(wb(e)); + else if (Dr(t)) r = eDn(t, n); + else { + let o = ost(e); + r = { x: t.x - o.x, y: t.y - o.y, width: t.width, height: t.height }; + } + return $A(r); +} +function tDn(e, t) { + let n = t.get(e); + if (n) return n; + let r = L4(e, [], !1).filter((s) => Dr(s) && Pc(s) !== "body"), + o = null, + a = Sf(e).position === "fixed", + i = a ? N1(e) : e; + while (Dr(i) && !z1(i)) { + let s = Sf(i), + l = M$(i), + c = o ? o.position : a ? "fixed" : ""; + if (!l && (c === "fixed" || (c === "absolute" && s.position === "static"))) + r = r.filter((d) => d !== i); + else o = s; + i = N1(i); + } + return (t.set(e, r), r); +} +function nDn(e) { + let { element: t, boundary: n, rootBoundary: r, strategy: o } = e, + i = [ + ...(n === "clippingAncestors" + ? rN(t) + ? [] + : tDn(t, this._c) + : [].concat(n)), + r, + ], + s = tst(t, i[0], o), + { top: l, right: c, bottom: u, left: d } = s; + for (let p = 1; p < i.length; p++) { + let f = tst(t, i[p], o); + ((l = C2(f.top, l)), + (c = Q4(f.right, c)), + (u = Q4(f.bottom, u)), + (d = C2(f.left, d))); + } + return { width: c - d, height: u - l, x: d, y: l }; +} +function rDn(e) { + let { width: t, height: n } = rst(e); + return { width: t, height: n }; +} +function oDn(e, t, n) { + let r = Xo(t), + o = wb(t), + a = n === "fixed", + i = wE(e, !0, a, t), + s = { scrollLeft: 0, scrollTop: 0 }, + l = Db(0); + if (r || !a) { + if (Pc(t) !== "body" || W8(o)) s = oN(t); + if (r) { + let p = wE(t, !0, a, t); + ((l.x = p.x + t.clientLeft), (l.y = p.y + t.clientTop)); + } + } + if (!r && o) l.x = nte(o); + let c = o && !r && !a ? ast(o, s) : Db(0), + u = i.left + s.scrollLeft - l.x - c.x, + d = i.top + s.scrollTop - l.y - c.y; + return { x: u, y: d, width: i.width, height: i.height }; +} +function LSe(e) { + return Sf(e).position === "static"; +} +function nst(e, t) { + if (!Xo(e) || Sf(e).position === "fixed") return null; + if (t) return t(e); + let n = e.offsetParent; + if (wb(e) === n) n = n.ownerDocument.body; + return n; +} +function ist(e, t) { + let n = Io(e); + if (rN(e)) return n; + if (!Xo(e)) { + let o = N1(e); + while (o && !z1(o)) { + if (Dr(o) && !LSe(o)) return o; + o = N1(o); + } + return n; + } + let r = nst(e, t); + while (r && brt(r) && LSe(r)) r = nst(r, t); + if (r && z1(r) && LSe(r) && !M$(r)) return n; + return r || xrt(e) || n; +} +function iDn(e) { + return Sf(e).direction === "rtl"; +} +function sst(e, t) { + return ( + e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height + ); +} +function sDn(e, t, n) { + let r = null, + o, + a = wb(e); + function i() { + var u; + (clearTimeout(o), (u = r) == null || u.disconnect(), (r = null)); + } + function s(u, d) { + if (u === void 0) u = !1; + if (d === void 0) d = 1; + i(); + let p = e.getBoundingClientRect(), + { left: f, top: m, width: g, height: v } = p; + if (!u) t(); + if (!g || !v) return; + let y = EN(m), + x = EN(a.clientWidth - (f + g)), + A = EN(a.clientHeight - (m + v)), + w = EN(f), + E = { + rootMargin: -y + "px " + -x + "px " + -A + "px " + -w + "px", + threshold: C2(0, Q4(1, d)) || 1, + }, + T = !0; + function I(k) { + let L = k[0].intersectionRatio; + if (!sst(p, e.getBoundingClientRect())) return s(); + if (L !== d) { + if (!T) return s(); + if (!L) + o = setTimeout(() => { + s(!1, 0.0000001); + }, 1000); + else s(!1, L); + } + T = !1; + } + try { + r = new IntersectionObserver(I, { ...E, root: a.ownerDocument }); + } catch (k) { + r = new IntersectionObserver(I, E); + } + r.observe(e); + } + let l = Io(e), + c = () => s(n); + return ( + l.addEventListener("resize", c), + s(!0), + () => { + (l.removeEventListener("resize", c), i()); + } + ); +} +function QN(e, t, n, r) { + if (r === void 0) r = {}; + let { + ancestorScroll: o = !0, + ancestorResize: a = !0, + elementResize: i = typeof ResizeObserver === "function", + layoutShift: s = typeof IntersectionObserver === "function", + animationFrame: l = !1, + } = r, + c = BSe(e), + u = o || a ? [...(c ? L4(c) : []), ...(t ? L4(t) : [])] : []; + u.forEach((y) => { + (o && y.addEventListener("scroll", n), + a && y.addEventListener("resize", n)); + }); + let d = c && s ? sDn(c, n, a) : null, + p = -1, + f = null; + if (i) { + if ( + ((f = new ResizeObserver((y) => { + let [x] = y; + if (x && x.target === c && f && t) + (f.unobserve(t), + cancelAnimationFrame(p), + (p = requestAnimationFrame(() => { + var A; + (A = f) == null || A.observe(t); + }))); + n(); + })), + c && !l) + ) + f.observe(c); + if (t) f.observe(t); + } + let m, + g = l ? wE(e) : null; + if (l) v(); + function v() { + let y = wE(e); + if (g && !sst(g, y)) n(); + ((g = y), (m = requestAnimationFrame(v))); + } + return ( + n(), + () => { + var y; + if ( + (u.forEach((x) => { + (o && x.removeEventListener("scroll", n), + a && x.removeEventListener("resize", n)); + }), + d == null || d(), + (y = f) == null || y.disconnect(), + (f = null), + l) + ) + cancelAnimationFrame(m); + } + ); +} +var XMn, + jMn = 25, + aDn = async function (e) { + let t = this.getOffsetParent || ist, + n = this.getDimensions, + r = await n(e.floating); + return { + reference: oDn(e.reference, await t(e.floating), e.strategy), + floating: { x: 0, y: 0, width: r.width, height: r.height }, + }; + }, + ZN, + lst, + cst, + ust, + dst, + pst, + rte = (e, t, n) => { + let r = new Map(), + o = n != null ? n : {}, + a = { ...ZN, ...o.platform, _c: r }; + return Xit(e, t, { ...o, platform: a }); + }; +var OSe = P(() => { + est(); + aE(); + vs(); + XMn = Db(0); + ZN = { + convertOffsetParentRelativeRectToViewportRelativeRect: YMn, + getDocumentElement: wb, + getClippingRect: nDn, + getOffsetParent: ist, + getElementRects: aDn, + getClientRects: KMn, + getDimensions: rDn, + getScale: s9, + isElement: Dr, + isRTL: iDn, + }; + ((lst = Kit), (cst = Jit), (ust = Wit), (dst = $it), (pst = jit)); +}); +function ate(e, t) { + if (e === t) return !0; + if (typeof e !== typeof t) return !1; + if (typeof e === "function" && e.toString() === t.toString()) return !0; + let n, r, o; + if (e && t && typeof e === "object") { + if (Array.isArray(e)) { + if (((n = e.length), n !== t.length)) return !1; + for (r = n; r-- !== 0;) if (!ate(e[r], t[r])) return !1; + return !0; + } + if (((o = Object.keys(e)), (n = o.length), n !== Object.keys(t).length)) + return !1; + for (r = n; r-- !== 0;) if (!{}.hasOwnProperty.call(t, o[r])) return !1; + for (r = n; r-- !== 0;) { + let a = o[r]; + if (a === "_owner" && e.$$typeof) continue; + if (!ate(e[a], t[a])) return !1; + } + return !0; + } + return e !== e && t !== t; +} +function hst(e) { + if (typeof window > "u") return 1; + return (e.ownerDocument.defaultView || window).devicePixelRatio || 1; +} +function fst(e, t) { + let n = hst(e); + return Math.round(t * n) / n; +} +function FSe(e) { + let t = Cd.useRef(e); + return ( + ote(() => { + t.current = e; + }), + t + ); +} +function gst(e) { + if (e === void 0) e = {}; + let { + placement: t = "bottom", + strategy: n = "absolute", + middleware: r = [], + platform: o, + elements: { reference: a, floating: i } = {}, + transform: s = !0, + whileElementsMounted: l, + open: c, + } = e, + [u, d] = Cd.useState({ + x: 0, + y: 0, + strategy: n, + placement: t, + middlewareData: {}, + isPositioned: !1, + }), + [p, f] = Cd.useState(r); + if (!ate(p, r)) f(r); + let [m, g] = Cd.useState(null), + [v, y] = Cd.useState(null), + x = Cd.useCallback((Z) => { + if (Z !== E.current) ((E.current = Z), g(Z)); + }, []), + A = Cd.useCallback((Z) => { + if (Z !== T.current) ((T.current = Z), y(Z)); + }, []), + w = a || m, + C = i || v, + E = Cd.useRef(null), + T = Cd.useRef(null), + I = Cd.useRef(u), + k = l != null, + L = FSe(l), + O = FSe(o), + B = FSe(c), + U = Cd.useCallback(() => { + if (!E.current || !T.current) return; + let Z = { placement: t, strategy: n, middleware: p }; + if (O.current) Z.platform = O.current; + rte(E.current, T.current, Z).then((q) => { + let H = { ...q, isPositioned: B.current !== !1 }; + if (D.current && !ate(I.current, H)) + ((I.current = H), + Ec(() => { + d(H); + })); + }); + }, [p, t, n, O, B]); + ote(() => { + if (c === !1 && I.current.isPositioned) + ((I.current.isPositioned = !1), d((Z) => ({ ...Z, isPositioned: !1 }))); + }, [c]); + let D = Cd.useRef(!1); + (ote( + () => ( + (D.current = !0), + () => { + D.current = !1; + } + ), + [], + ), + ote(() => { + if (w) E.current = w; + if (C) T.current = C; + if (w && C) { + if (L.current) return L.current(w, C, U); + U(); + } + }, [w, C, U, L, k])); + let N = Cd.useMemo( + () => ({ reference: E, floating: T, setReference: x, setFloating: A }), + [x, A], + ), + _ = Cd.useMemo(() => ({ reference: w, floating: C }), [w, C]), + G = Cd.useMemo(() => { + let Z = { position: n, left: 0, top: 0 }; + if (!_.floating) return Z; + let q = fst(_.floating, u.x), + H = fst(_.floating, u.y); + if (s) + return { + ...Z, + transform: "translate(" + q + "px, " + H + "px)", + ...(hst(_.floating) >= 1.5 && { willChange: "transform" }), + }; + return { position: n, left: q, top: H }; + }, [n, s, _.floating, u.x, u.y]); + return Cd.useMemo( + () => ({ ...u, update: U, refs: N, elements: _, floatingStyles: G }), + [u, U, N, _, G], + ); +} +var Cd, + mst, + cDn, + uDn = function () {}, + ote, + USe = (e, t) => { + let n = lst(e); + return { name: n.name, fn: n.fn, options: [e, t] }; + }, + NSe = (e, t) => { + let n = cst(e); + return { name: n.name, fn: n.fn, options: [e, t] }; + }, + zSe = (e, t) => ({ fn: pst(e).fn, options: [e, t] }), + _Se = (e, t) => { + let n = ust(e); + return { name: n.name, fn: n.fn, options: [e, t] }; + }, + HSe = (e, t) => { + let n = dst(e); + return { name: n.name, fn: n.fn, options: [e, t] }; + }; +var VSe = P(() => { + OSe(); + OSe(); + bd(); + ((Cd = z(re(), 1)), + (mst = z(re(), 1)), + (cDn = typeof document < "u"), + (ote = cDn ? mst.useLayoutEffect : uDn)); +}); +var pl = P(() => { + Gat(); + iit(); + Uee(); + Nb(); + sit(); + cit(); + uit(); + Fit(); + SSe(); + Uit(); + Nit(); + zit(); + Hit(); + Vit(); + qit(); + VSe(); +}); +function ste() { + let e = ite.useContext(GSe); + if (e === void 0) throw Error(Dn(26)); + return e; +} +var ite, GSe; +var lte = P(() => { + zo(); + ((ite = z(re(), 1)), (GSe = ite.createContext(void 0))); +}); +var yst = "--nested-dialogs"; +var Klo, + Jlo, + jlo, + $lo, + vst = "data-nested-dialog-open"; +var bst = P(() => { + Ep(); + ((Klo = Pwe), (Jlo = Mwe), (jlo = $Pn), ($lo = e9n)); +}); +var cte; +var qSe = P(() => { + H1(); + Ep(); + bst(); + cte = { + ...nE, + ...Cp, + nestedDialogOpen(e) { + return e ? { [vst]: "" } : null; + }, + }; +}); +var xst, XN; +var ZSe = P(() => { + pl(); + Ub(); + vr(); + lte(); + oh(); + pE(); + Sd(); + qSe(); + le(); + ((xst = z(re(), 1)), + (XN = xst.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + finalFocus: i, + initialFocus: s, + ...l + } = t, + c = Tp(), + u = c.useState("descriptionElementId"), + d = c.useState("disablePointerDismissal"), + p = c.useState("floatingRootContext"), + f = c.useState("popupProps"), + m = c.useState("modal"), + g = c.useState("mounted"), + v = c.useState("nested"), + y = c.useState("nestedOpenDialogCount"), + x = c.useState("open"), + A = c.useState("openMethod"), + w = c.useState("titleElementId"), + C = c.useState("transitionStatus"), + E = c.useState("role"), + T = p.useState("floatingId"); + (ste(), + ji({ + open: x, + ref: c.context.popupRef, + onComplete() { + if (x) c.context.onOpenChangeComplete?.(!0); + }, + })); + let I = s === void 0 ? Qee(c.context.popupRef) : s, + k = y > 0, + L = c.useStateSetter("popupElement"), + B = Zt("div", t, { + state: { + open: x, + nested: v, + transitionStatus: C, + nestedDialogOpen: k, + }, + props: [ + f, + { + id: T, + "aria-labelledby": w, + "aria-describedby": u, + role: E, + ..._b, + hidden: !g, + onKeyDown(U) { + if (Eg.has(U.key)) U.stopPropagation(); + }, + style: { [yst]: y }, + }, + l, + ], + ref: [n, c.context.popupRef, L], + stateAttributesMapping: cte, + }); + return h(i3, { + context: p, + openInteractionType: A, + disabled: !g, + closeOnFocusOut: !d, + initialFocus: I, + returnFocus: i, + modal: m !== !1, + restoreFocus: "popup", + children: B, + }); + }))); +}); +function Vb(e) { + if (CP(19)) return e; + return e ? "true" : void 0; +} +var l9 = P(() => { + O$(); +}); +var Ast, l6; +var WN = P(() => { + le(); + ((Ast = z(re(), 1)), + (l6 = Ast.forwardRef(function (t, n) { + let { cutout: r, ...o } = t, + a; + if (r) { + let i = r.getBoundingClientRect(); + a = `polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${i.left}px ${i.top}px,${i.left}px ${i.bottom}px,${i.right}px ${i.bottom}px,${i.right}px ${i.top}px,${i.left}px ${i.top}px)`; + } + return h("div", { + ref: n, + role: "presentation", + "data-base-ui-inert": "", + ...o, + style: { + position: "fixed", + inset: 0, + userSelect: "none", + WebkitUserSelect: "none", + clipPath: a, + }, + }); + }))); +}); +var wst, YN; +var QSe = P(() => { + l9(); + pl(); + Ub(); + lte(); + WN(); + le(); + ((wst = z(re(), 1)), + (YN = wst.forwardRef(function (t, n) { + let { keepMounted: r = !1, ...o } = t, + a = Tp(), + i = a.useState("mounted"), + s = a.useState("modal"), + l = a.useState("open"); + if (!(i || r)) return null; + return h(GSe.Provider, { + value: r, + children: M(a3, { + ref: n, + ...o, + children: [ + i && + s === !0 && + h(l6, { ref: a.context.internalBackdropRef, inert: Vb(!l) }), + t.children, + ], + }), + }); + }))); +}); +function ute(e, t) { + return W8(e) ? e : t; +} +function Ist(e, t, n) { + return /hidden|clip/.test(e.getComputedStyle(ute(t, n)).overflowY); +} +function fDn(e) { + if (typeof document > "u") return !1; + let t = yr(e); + return Io(t).innerWidth - t.documentElement.clientWidth > 0; +} +function mDn(e) { + if ( + !( + typeof CSS < "u" && + CSS.supports && + CSS.supports("scrollbar-gutter", "stable") + ) || + typeof document > "u" + ) + return !1; + let n = yr(e), + { documentElement: r, body: o } = n, + a = ute(r, o), + i = a.style.overflowY, + s = r.style.scrollbarGutter; + ((r.style.scrollbarGutter = "stable"), (a.style.overflowY = "scroll")); + let l = a.offsetWidth; + a.style.overflowY = "hidden"; + let c = a.offsetWidth; + return ((a.style.overflowY = i), (r.style.scrollbarGutter = s), l === c); +} +function hDn(e) { + let t = yr(e), + { documentElement: n, body: r } = t, + o = ute(n, r), + a = { overflowY: o.style.overflowY, overflowX: o.style.overflowX }; + return ( + Object.assign(o.style, { overflowY: "hidden", overflowX: "hidden" }), + () => { + Object.assign(o.style, a); + } + ); +} +function gDn(e) { + let t = yr(e), + { documentElement: n, body: r } = t, + o = Io(n), + a = 0, + i = 0, + s = !1, + l = Cf.create(); + if (jA.webkit && (o.visualViewport?.scale ?? 1) !== 1) return () => {}; + function c() { + let f = o.getComputedStyle(n), + m = o.getComputedStyle(r), + y = (f.scrollbarGutter || "").includes("both-edges") + ? "stable both-edges" + : "stable"; + ((a = n.scrollTop), + (i = n.scrollLeft), + (Sst = { + scrollbarGutter: n.style.scrollbarGutter, + overflowY: n.style.overflowY, + overflowX: n.style.overflowX, + }), + (Est = n.style.scrollBehavior), + (Cst = { + position: r.style.position, + height: r.style.height, + width: r.style.width, + boxSizing: r.style.boxSizing, + overflowY: r.style.overflowY, + overflowX: r.style.overflowX, + scrollBehavior: r.style.scrollBehavior, + })); + let x = n.scrollHeight > n.clientHeight, + A = n.scrollWidth > n.clientWidth, + w = f.overflowY === "scroll" || m.overflowY === "scroll", + C = f.overflowX === "scroll" || m.overflowX === "scroll", + E = Math.max(0, o.innerWidth - r.clientWidth), + T = Math.max(0, o.innerHeight - r.clientHeight), + I = parseFloat(m.marginTop) + parseFloat(m.marginBottom), + k = parseFloat(m.marginLeft) + parseFloat(m.marginRight), + L = ute(n, r); + if (((s = mDn(e)), s)) { + ((n.style.scrollbarGutter = y), + (L.style.overflowY = "hidden"), + (L.style.overflowX = "hidden")); + return; + } + if ( + (Object.assign(n.style, { + scrollbarGutter: y, + overflowY: "hidden", + overflowX: "hidden", + }), + x || w) + ) + n.style.overflowY = "scroll"; + if (A || C) n.style.overflowX = "scroll"; + (Object.assign(r.style, { + position: "relative", + height: I || T ? `calc(100dvh - ${I + T}px)` : "100dvh", + width: k || E ? `calc(100vw - ${k + E}px)` : "100vw", + boxSizing: "border-box", + overflowY: "hidden", + overflowX: "hidden", + scrollBehavior: "unset", + }), + (r.scrollTop = a), + (r.scrollLeft = i), + n.setAttribute("data-base-ui-scroll-locked", ""), + (n.style.scrollBehavior = "unset")); + } + function u() { + if ((Object.assign(n.style, Sst), Object.assign(r.style, Cst), !s)) + ((n.scrollTop = a), + (n.scrollLeft = i), + n.removeAttribute("data-base-ui-scroll-locked"), + (n.style.scrollBehavior = Est)); + } + function d() { + (u(), l.request(c)); + } + c(); + let p = zr(o, "resize", d); + return () => { + if ((l.cancel(), u(), typeof o.removeEventListener === "function")) p(); + }; +} +class Tst { + lockCount = 0; + restore = null; + timeoutLock = kp.create(); + timeoutUnlock = kp.create(); + acquire(e) { + if (((this.lockCount += 1), this.lockCount === 1 && this.restore === null)) + this.timeoutLock.start(0, () => this.lock(e)); + return this.release; + } + release = () => { + if (((this.lockCount -= 1), this.lockCount === 0 && this.restore)) + this.timeoutUnlock.start(0, this.unlock); + }; + unlock = () => { + if (this.lockCount === 0 && this.restore) + (this.restore?.(), (this.restore = null)); + }; + lock(e) { + if (this.lockCount === 0 || this.restore !== null) return; + let t = yr(e), + { documentElement: n, body: r } = t, + o = Io(n); + if (Ist(o, n, r)) { + let i = new o.MutationObserver(() => { + if (Ist(o, n, r)) return; + (i.disconnect(), (this.restore = null), this.lock(e)); + }), + s = { attributes: !0 }; + (i.observe(n, s), i.observe(r, s), (this.restore = () => i.disconnect())); + return; + } + let a = JA.ios || !fDn(e); + this.restore = a ? hDn(e) : gDn(e); + } +} +function dte(e = !0, t = null) { + Ct(() => { + if (!e) return; + return yDn.acquire(t); + }, [e, t]); +} +var Sst, + Cst, + Est = "", + yDn; +var XSe = P(() => { + vs(); + a0(); + ul(); + Nr(); + Rp(); + kb(); + ((Sst = {}), (Cst = {})); + yDn = new Tst(); +}); +function kst({ store: e, parentContext: t, isDrawer: n }) { + let r = e.useState("open"), + o = e.useState("disablePointerDismissal"), + a = e.useState("modal"), + i = e.useState("popupElement"), + s = e.useState("floatingRootContext"), + [l, c] = WSe.useState(0), + [u, d] = WSe.useState(0), + p = l === 0, + f = k2(s, { + outsidePressEvent() { + if ( + e.context.internalBackdropRef.current || + e.context.backdropRef.current + ) + return "intentional"; + return { + mouse: a === "trap-focus" ? "sloppy" : "intentional", + touch: "sloppy", + }; + }, + outsidePress(m) { + if (!e.context.outsidePressEnabledRef.current) return !1; + if ("button" in m && m.button !== 0) return !1; + if ("touches" in m) { + if (m.type === "touchend") { + if (m.changedTouches.length !== 1 || m.touches.length !== 0) + return !1; + } else if (m.touches.length !== 1) return !1; + } + let g = fi(m); + if (p && !o) { + if (a) { + let v = e.context.internalBackdropRef.current, + y = e.context.backdropRef.current; + return v || y + ? v === g || + y === g || + (Ln(g, i) && !g?.hasAttribute("data-base-ui-portal")) + : !0; + } + return !0; + } + return !1; + }, + escapeKey: p, + }); + return ( + dte(r && a === !0, i), + e.useContextCallback("onNestedDialogOpen", (m, g) => { + (c(m), d(g)); + }), + Ct(() => { + if (t?.onNestedDialogOpen) + if (r) t.onNestedDialogOpen(l + 1, u + (n ? 1 : 0)); + else t.onNestedDialogOpen(0, 0); + return () => { + if (t?.onNestedDialogOpen && r) t.onNestedDialogOpen(0, 0); + }; + }, [n, r, l, u, t]), + r6(e, { + activeTriggerProps: f.reference, + inactiveTriggerProps: f.trigger, + popupProps: f.floating, + nestedOpenDialogCount: l, + nestedOpenDrawerCount: u, + }), + null + ); +} +var WSe; +var Rst = P(() => { + Nr(); + XSe(); + pl(); + Cg(); + Sd(); + WSe = z(re(), 1); +}); +function bDn(e, t, n, r = !1) { + return { + ...o6(t, n, r), + modal: !0, + disablePointerDismissal: !1, + viewportElement: null, + descriptionElementId: void 0, + titleElementId: void 0, + openMethod: null, + nested: !1, + nestedOpenDialogCount: 0, + nestedOpenDrawerCount: 0, + role: "dialog", + ...e, + }; +} +function xDn(e) { + return { + popupRef: pte.createRef(), + backdropRef: pte.createRef(), + internalBackdropRef: pte.createRef(), + outsidePressEnabledRef: { current: !0 }, + triggerElements: e, + onOpenChange: void 0, + onOpenChangeComplete: void 0, + }; +} +var pte, vDn, YSe; +var Pst = P(() => { + yE(); + Sd(); + ((pte = z(re(), 1)), + (vDn = { + ...a6, + modal: (e) => e.modal, + nested: (e) => e.nested, + nestedOpenDialogCount: (e) => e.nestedOpenDialogCount, + nestedOpenDrawerCount: (e) => e.nestedOpenDrawerCount, + disablePointerDismissal: (e) => e.disablePointerDismissal, + openMethod: (e) => e.openMethod, + descriptionElementId: (e) => e.descriptionElementId, + titleElementId: (e) => e.titleElementId, + viewportElement: (e) => e.viewportElement, + role: (e) => e.role, + })); + YSe = class YSe extends Tg { + constructor(e, t, n) { + let r = new R2(), + o = bDn(e, r, t, n); + super(o, xDn(r), vDn); + } + setOpen = (e, t) => { + if ( + ((t.preventUnmountOnClose = () => { + this.set("preventUnmountingOnClose", !0); + }), + !e && t.trigger == null && this.state.activeTriggerId != null) + ) + t.trigger = this.state.activeTriggerElement ?? void 0; + if ((this.context.onOpenChange?.(e, t), t.isCanceled)) return; + (this.state.floatingRootContext.dispatchOpenChange(e, t), + this.update(bE(this.state, e, t.trigger))); + }; + }; +}); +function fte(e, t) { + let { + children: n, + open: r, + defaultOpen: o = !1, + onOpenChange: a, + onOpenChangeComplete: i, + disablePointerDismissal: s = !1, + modal: l = !0, + actionsRef: c, + handle: u, + triggerId: d, + defaultTriggerId: p = null, + } = t, + f = e === "drawer", + m = e === "alert-dialog", + g = m ? !0 : l, + v = m || s, + y = m ? "alertdialog" : "dialog", + x = Tp(!0), + A = x != null, + w = { modal: g, disablePointerDismissal: v, nested: A, role: y }, + C = o9( + (O, B) => + new YSe( + { open: o, openProp: r, activeTriggerId: p, triggerIdProp: d, ...w }, + O, + B, + ), + !0, + ); + (C.useControlledProp("openProp", r), + C.useControlledProp("triggerIdProp", d), + C.useSyncedValues(w), + C.useContextCallback("onOpenChange", a), + C.useContextCallback("onOpenChangeComplete", i)); + let E = C.useState("open"), + T = C.useState("mounted"), + I = C.useState("payload"); + (Xee(C, E), t6(C)); + let { forceUnmount: k } = n6(E, C); + Mst.useImperativeHandle( + c, + () => ({ unmount: k, close: () => C.setOpen(!1, un(Y$)) }), + [k, C], + ); + let L = E || T; + return M(tSe.Provider, { + value: C, + children: [ + u && h($4, { handle: u, store: C }), + L && h(kst, { store: C, parentContext: x?.context, isDrawer: f }), + typeof n === "function" ? n({ payload: I }) : n, + ], + }); +} +var Mst; +var KSe = P(() => { + Rst(); + Ub(); + Pst(); + ka(); + ko(); + Sd(); + le(); + Mst = z(re(), 1); +}); +var JSe; +var Dst = P(() => { + zb(); + KSe(); + JSe = s3(function (t) { + return fte("dialog", t); + }); +}); +var Lst, Bst; +var Ost = P(() => { + vr(); + Ub(); + lte(); + qSe(); + ((Lst = z(re(), 1)), + (Bst = Lst.forwardRef(function (t, n) { + let { render: r, className: o, style: a, children: i, ...s } = t, + l = ste(), + c = Tp(), + u = c.useState("open"), + d = c.useState("nested"), + p = c.useState("transitionStatus"), + f = c.useState("nestedOpenDialogCount"), + m = c.useState("mounted"), + g = c.useStateSetter("viewportElement"), + v = f > 0; + return Zt("div", t, { + enabled: l || m, + state: { open: u, nested: d, transitionStatus: p, nestedDialogOpen: v }, + ref: [n, g], + stateAttributesMapping: cte, + props: [ + { + role: "presentation", + hidden: !m, + style: { pointerEvents: !u ? "none" : void 0 }, + children: i, + }, + s, + ], + }); + }))); +}); +var Fst, KN; +var jSe = P(() => { + Ub(); + vr(); + _l(); + ((Fst = z(re(), 1)), + (KN = Fst.forwardRef(function (t, n) { + let { render: r, className: o, style: a, id: i, ...s } = t, + l = Tp(), + c = go(i); + return ( + l.useSyncedValueWithCleanup("titleElementId", c), + Zt("h2", t, { ref: n, props: [{ id: c }, s] }) + ); + }))); +}); +function Ust(e) { + let t = JN.useRef(""), + n = JN.useCallback( + (o) => { + if (o.defaultPrevented) return; + ((t.current = o.pointerType), e(o, o.pointerType)); + }, + [e], + ); + return { + onClick: JN.useCallback( + (o) => { + if (o.detail === 0) { + e(o, "keyboard"); + return; + } + if ("pointerType" in o) e(o, o.pointerType); + else e(o, t.current); + t.current = ""; + }, + [e], + ), + onPointerDown: n, + }; +} +var JN; +var Nst = P(() => { + JN = z(re(), 1); +}); +function $N(e, t) { + let n = Ot((a, i) => { + if (!(typeof e === "function" ? e() : e)) t(i || (JA.ios ? "touch" : "")); + }), + { onClick: r, onPointerDown: o } = Ust(n); + return jN.useMemo(() => ({ onClick: r, onPointerDown: o }), [r, o]); +} +function mte(e) { + let [t, n] = jN.useState(null), + r = $N(e, n); + return ( + Tb(e, (o) => { + if (o && !e) n(null); + }), + jN.useMemo(() => ({ openMethod: t, triggerProps: r }), [t, r]) + ); +} +var jN; +var ez = P(() => { + da(); + Nst(); + a0(); + MP(); + jN = z(re(), 1); +}); +var zst, hte; +var $Se = P(() => { + zo(); + zb(); + Ub(); + TP(); + vr(); + Ep(); + Ig(); + Sd(); + _l(); + pl(); + ez(); + ((zst = z(re(), 1)), + (hte = j4(function (t, n) { + let { + render: r, + className: o, + style: a, + disabled: i = !1, + nativeButton: s = !0, + id: l, + payload: c, + handle: u, + ...d + } = t, + p = Tp(!0), + m = i6(u) ?? p; + if (!m) throw Error(Dn(79)); + let g = go(l), + v = m.useState("floatingRootContext"), + y = m.useState("isOpenedByTrigger", g), + x = m.useState("triggerPopupId", g), + A = zst.useRef(null), + { registerTrigger: w, isMountedByThisTrigger: C } = e6(g, A, m, { + payload: c, + }), + { getButtonProps: E, buttonRef: T } = Ys({ disabled: i, native: s }), + I = T2(v), + k = $N( + () => m.select("open"), + (B) => { + m.set("openMethod", B); + }, + ), + L = { disabled: i, open: y }, + O = m.useState("triggerProps", C); + return Zt("button", t, { + state: L, + ref: [T, n, w, A], + props: [ + I.reference, + O, + k, + { + [t9]: "", + id: g, + "aria-haspopup": "dialog", + "aria-expanded": y, + "aria-controls": x, + }, + d, + E, + ], + stateAttributesMapping: Mb, + }); + }))); +}); +var Hst = P(() => { + nSe(); + rSe(); + oSe(); + ZSe(); + QSe(); + Dst(); + Ost(); + jSe(); + $Se(); +}); +var Vst = P(() => { + Hst(); +}); +var Gst; +var e4e = P(() => { + Gst = { + fast: { + spatial: { type: "spring", stiffness: 400, damping: 24, mass: 0.8 }, + effects: { type: "spring", stiffness: 350, damping: 37, mass: 0.8 }, + }, + default: { + spatial: { type: "spring", stiffness: 220, damping: 17, mass: 1 }, + effects: { type: "spring", stiffness: 180, damping: 26, mass: 1 }, + }, + slow: { + spatial: { type: "spring", stiffness: 80, damping: 12, mass: 1.2 }, + effects: { type: "spring", stiffness: 70, damping: 16, mass: 1.2 }, + }, + }; +}); +var Kt, mn; +var Gb = P(() => { + ((Kt = { + emphasized: [0.2, 0, 0, 1], + emphasizedDecelerate: [0.05, 0.7, 0.1, 1], + emphasizedAccelerate: [0.3, 0, 0.8, 0.15], + standard: [0.2, 0, 0, 1], + standardDecelerate: [0, 0, 0, 1], + standardAccelerate: [0.3, 0, 1, 1], + linear: [0, 0, 1, 1], + legacy: [0.4, 0, 0.2, 1], + legacyDecelerate: [0, 0, 0.2, 1], + legacyAccelerate: [0.4, 0, 1, 1], + }), + (mn = { + short1: 0.05, + short2: 0.1, + short3: 0.15, + short4: 0.2, + medium1: 0.25, + medium2: 0.3, + medium3: 0.35, + medium4: 0.4, + long1: 0.45, + long2: 0.5, + long3: 0.55, + long4: 0.6, + extraLong1: 0.7, + extraLong2: 0.8, + extraLong3: 0.9, + extraLong4: 1, + })); +}); +var qst, u3; +var tz = P(() => { + ((qst = z(re(), 1)), (u3 = qst.createContext({}))); +}); +function c9(e) { + let t = Zst.useRef(null); + if (t.current === null) t.current = e(); + return t.current; +} +var Zst; +var gte = P(() => { + Zst = z(re(), 1); +}); +var Qst; +var Xst = P(() => { + Qst = typeof window < "u"; +}); +var yte, qb; +var nz = P(() => { + Xst(); + ((yte = z(re(), 1)), (qb = Qst ? yte.useLayoutEffect : yte.useEffect)); +}); +var Wst, d3; +var rz = P(() => { + ((Wst = z(re(), 1)), (d3 = Wst.createContext(null))); +}); +function SE(e, t) { + if (e.indexOf(t) === -1) e.push(t); +} +function c6(e, t) { + let n = e.indexOf(t); + if (n > -1) e.splice(n, 1); +} +var t4e = () => {}; +var Dc = (e, t, n) => { + if (n > t) return t; + if (n < e) return e; + return n; +}; +var Yst = () => {}; +var p3 = () => {}, + lh = () => {}; +var n4e = () => {}; +var If; +var Kst = P(() => { + If = {}; +}); +var CE = (e) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e); +var Jst = () => {}; +var oz = (e) => typeof e === "object" && e !== null; +var jst = () => {}; +var EE = (e) => /^0[^.\s]+$/u.test(e); +var $st = () => {}; +function az(e) { + let t; + return () => { + if (t === void 0) t = e(); + return t; + }; +} +var elt = () => {}; +var Lc = (e) => e; +var vte = () => {}; +var P2 = (...e) => e.reduce((t, n) => (r) => n(t(r))); +var tlt = () => {}; +var Zb = (e, t, n) => { + let r = t - e; + return r ? (n - e) / r : 1; +}; +var nlt = () => {}; +class f3 { + constructor() { + this.subscriptions = []; + } + add(e) { + return (SE(this.subscriptions, e), () => this.remove(e)); + } + remove(e) { + c6(this.subscriptions, e); + } + notify(e, t, n) { + let r = this.subscriptions.length; + if (!r) return; + if (r === 1) this.subscriptions[0](e, t, n); + else + for (let o = 0; o < r; o++) { + let a = this.subscriptions[o]; + a && a(e, t, n); + } + } + getSize() { + return this.subscriptions.length; + } + clear() { + this.subscriptions.length = 0; + } +} +var rlt = P(() => { + t4e(); +}); +var Ed = (e) => e * 1000, + Qd = (e) => e / 1000; +var olt = () => {}; +var iz = (e, t) => (t ? e * (1000 / t) : 0); +var alt = () => {}; +function SDn(e, t, n, r, o) { + let a, + i, + s = 0; + do + if (((i = t + (n - t) / 2), (a = ilt(i, r, o) - e), a > 0)) n = i; + else t = i; + while (Math.abs(a) > ADn && ++s < wDn); + return i; +} +function u6(e, t, n, r) { + if (e === t && n === r) return Lc; + let o = (a) => SDn(a, 0, 1, e, n); + return (a) => (a === 0 || a === 1 ? a : ilt(o(a), t, r)); +} +var ilt = (e, t, n) => + (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e, + ADn = 0.0000001, + wDn = 12; +var bte = P(() => { + vte(); +}); +var xte = (e) => (t) => (t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2); +var r4e = () => {}; +var Ate = (e) => (t) => 1 - e(1 - t); +var o4e = () => {}; +var wte, u9, sz; +var Ste = P(() => { + bte(); + r4e(); + o4e(); + ((wte = u6(0.33, 1.53, 0.69, 0.99)), (u9 = Ate(wte)), (sz = xte(u9))); +}); +var lz = (e) => + e >= 1 + ? 1 + : (e *= 2) < 1 + ? 0.5 * u9(e) + : 0.5 * (2 - Math.pow(2, -10 * (e - 1))); +var a4e = P(() => { + Ste(); +}); +var cz = (e) => 1 - Math.sin(Math.acos(e)), + uz, + dz; +var i4e = P(() => { + r4e(); + o4e(); + ((uz = Ate(cz)), (dz = xte(cz))); +}); +var s4e, l4e, d9; +var c4e = P(() => { + bte(); + ((s4e = u6(0.42, 0, 1, 1)), + (l4e = u6(0, 0, 0.58, 1)), + (d9 = u6(0.42, 0, 0.58, 1))); +}); +var u4e = (e) => Array.isArray(e) && typeof e[0] !== "number"; +var slt = () => {}; +var pz = (e) => Array.isArray(e) && typeof e[0] === "number"; +var d4e = () => {}; +var llt, + CDn = (e) => typeof e === "string", + Cte = (e) => { + if (pz(e)) { + lh( + e.length === 4, + "Cubic bezier arrays must contain four numerical values.", + "cubic-bezier-length", + ); + let [t, n, r, o] = e; + return u6(t, n, r, o); + } else if (CDn(e)) + return ( + lh( + llt[e] !== void 0, + `Invalid easing type '${e}'`, + "invalid-easing-type", + ), + llt[e] + ); + return e; + }; +var clt = P(() => { + n4e(); + vte(); + a4e(); + Ste(); + i4e(); + bte(); + c4e(); + d4e(); + llt = { + linear: Lc, + easeIn: s4e, + easeInOut: d9, + easeOut: l4e, + circIn: cz, + circInOut: dz, + circOut: uz, + backIn: u9, + backInOut: sz, + backOut: wte, + anticipate: lz, + }; +}); +var Ro = P(() => { + t4e(); + Yst(); + n4e(); + Kst(); + Jst(); + jst(); + $st(); + elt(); + vte(); + tlt(); + nlt(); + rlt(); + olt(); + alt(); + a4e(); + Ste(); + i4e(); + c4e(); + d4e(); + slt(); + clt(); +}); +var fz; +var ult = P(() => { + fz = [ + "setup", + "read", + "resolveKeyframes", + "preUpdate", + "update", + "preRender", + "render", + "postRender", + ]; +}); +function dlt(e) { + let t = new Set(), + n = new Set(), + r = !1, + o = !1, + a = new Set(), + i = { delta: 0, timestamp: 0, isProcessing: !1 }; + function s(c) { + if (a.has(c)) (n.add(c), e()); + c(i); + } + let l = { + schedule: (c, u = !1, d = !1) => { + let f = d && r ? t : n; + if (u) a.add(c); + return (f.add(c), c); + }, + cancel: (c) => { + (n.delete(c), a.delete(c)); + }, + process: (c) => { + if (((i = c), r)) { + o = !0; + return; + } + r = !0; + let u = t; + if (((t = n), (n = u), t.forEach(s), t.clear(), (r = !1), o)) + ((o = !1), l.process(c)); + }, + }; + return l; +} +var plt = () => {}; +function Ete(e, t) { + let n = !1, + r = !0, + o = { delta: 0, timestamp: 0, isProcessing: !1 }, + a = () => (n = !0), + i = fz.reduce((A, w) => ((A[w] = dlt(a)), A), {}), + { + setup: s, + read: l, + resolveKeyframes: c, + preUpdate: u, + update: d, + preRender: p, + render: f, + postRender: m, + } = i, + g = () => { + let A = If.useManualTiming, + w = A ? o.timestamp : performance.now(); + if (((n = !1), !A)) + o.delta = r + ? 16.666666666666668 + : Math.max(Math.min(w - o.timestamp, EDn), 1); + if ( + ((o.timestamp = w), + (o.isProcessing = !0), + s.process(o), + l.process(o), + c.process(o), + u.process(o), + d.process(o), + p.process(o), + f.process(o), + m.process(o), + (o.isProcessing = !1), + n && t) + ) + ((r = !1), e(g)); + }, + v = () => { + if (((n = !0), (r = !0), !o.isProcessing)) e(g); + }; + return { + schedule: fz.reduce((A, w) => { + let C = i[w]; + return ( + (A[w] = (E, T = !1, I = !1) => { + if (!n) v(); + return C.schedule(E, T, I); + }), + A + ); + }, {}), + cancel: (A) => { + for (let w = 0; w < fz.length; w++) i[fz[w]].cancel(A); + }, + state: o, + steps: i, + }; +} +var EDn = 40; +var p4e = P(() => { + Ro(); + ult(); + plt(); +}); +var Po, u0, fl, mz; +var $1 = P(() => { + Ro(); + p4e(); + ({ + schedule: Po, + cancel: u0, + state: fl, + steps: mz, + } = Ete(typeof requestAnimationFrame < "u" ? requestAnimationFrame : Lc, !0)); +}); +function IDn() { + Ite = void 0; +} +var Ite, ts; +var M2 = P(() => { + Ro(); + $1(); + ts = { + now: () => { + if (Ite === void 0) + ts.set( + fl.isProcessing || If.useManualTiming + ? fl.timestamp + : performance.now(), + ); + return Ite; + }, + set: (e) => { + ((Ite = e), queueMicrotask(IDn)); + }, + }; +}); +var Qb = (e) => Math.round(e * 1e5) / 1e5; +var hz = () => {}; +function f4e(e) { + if (typeof e !== "string") return !1; + return e.split("/*")[0].includes("var(--"); +} +var flt = (e) => (t) => typeof t === "string" && t.startsWith(e), + Tte, + TDn, + p9 = (e) => { + if (!TDn(e)) return !1; + return kDn.test(e.split("/*")[0].trim()); + }, + kDn; +var f9 = P(() => { + ((Tte = flt("--")), + (TDn = flt("var(--")), + (kDn = + /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu)); +}); +var Xb, m3, gz; +var d6 = P(() => { + Ro(); + ((Xb = { + test: (e) => typeof e === "number", + parse: parseFloat, + transform: (e) => e, + }), + (m3 = { ...Xb, transform: (e) => Dc(0, 1, e) }), + (gz = { ...Xb, default: 1 })); +}); +var m9; +var kte = P(() => { + m9 = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu; +}); +function mlt(e) { + return e == null; +} +var hlt = () => {}; +var glt; +var ylt = P(() => { + glt = + /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu; +}); +var h9 = (e, t) => (n) => + Boolean( + (typeof n === "string" && glt.test(n) && n.startsWith(e)) || + (t && !mlt(n) && Object.prototype.hasOwnProperty.call(n, t)), + ), + Rte = (e, t, n) => (r) => { + if (typeof r !== "string") return r; + let [o, a, i, s] = r.match(m9); + return { + [e]: parseFloat(o), + [t]: parseFloat(a), + [n]: parseFloat(i), + alpha: s !== void 0 ? parseFloat(s) : 1, + }; + }; +var Pte = P(() => { + kte(); + hlt(); + ylt(); +}); +var RDn = (e) => Dc(0, 255, e), + m4e, + Wb; +var Mte = P(() => { + Ro(); + d6(); + hz(); + Pte(); + ((m4e = { ...Xb, transform: (e) => Math.round(RDn(e)) }), + (Wb = { + test: h9("rgb", "red"), + parse: Rte("red", "green", "blue"), + transform: ({ red: e, green: t, blue: n, alpha: r = 1 }) => + "rgba(" + + m4e.transform(e) + + ", " + + m4e.transform(t) + + ", " + + m4e.transform(n) + + ", " + + Qb(m3.transform(r)) + + ")", + })); +}); +function PDn(e) { + let t = "", + n = "", + r = "", + o = ""; + if (e.length > 5) + ((t = e.substring(1, 3)), + (n = e.substring(3, 5)), + (r = e.substring(5, 7)), + (o = e.substring(7, 9))); + else + ((t = e.substring(1, 2)), + (n = e.substring(2, 3)), + (r = e.substring(3, 4)), + (o = e.substring(4, 5)), + (t += t), + (n += n), + (r += r), + (o += o)); + return { + red: parseInt(t, 16), + green: parseInt(n, 16), + blue: parseInt(r, 16), + alpha: o ? parseInt(o, 16) / 255 : 1, + }; +} +var yz; +var h4e = P(() => { + Mte(); + Pte(); + yz = { test: h9("#"), parse: PDn, transform: Wb.transform }; +}); +var vz = (e) => ({ + test: (t) => + typeof t === "string" && t.endsWith(e) && t.split(" ").length === 1, + parse: parseFloat, + transform: (t) => `${t}${e}`, + }), + ey, + um, + Kn, + g4e, + y4e, + Dte; +var Yb = P(() => { + ((ey = vz("deg")), + (um = vz("%")), + (Kn = vz("px")), + (g4e = vz("vh")), + (y4e = vz("vw")), + (Dte = (() => ({ + ...um, + parse: (e) => um.parse(e) / 100, + transform: (e) => um.transform(e * 100), + }))())); +}); +var p6; +var v4e = P(() => { + d6(); + Yb(); + hz(); + Pte(); + p6 = { + test: h9("hsl", "hue"), + parse: Rte("hue", "saturation", "lightness"), + transform: ({ hue: e, saturation: t, lightness: n, alpha: r = 1 }) => + "hsla(" + + Math.round(e) + + ", " + + um.transform(Qb(t)) + + ", " + + um.transform(Qb(n)) + + ", " + + Qb(m3.transform(r)) + + ")", + }; +}); +var lc; +var Lte = P(() => { + h4e(); + v4e(); + Mte(); + lc = { + test: (e) => Wb.test(e) || yz.test(e) || p6.test(e), + parse: (e) => { + if (Wb.test(e)) return Wb.parse(e); + else if (p6.test(e)) return p6.parse(e); + else return yz.parse(e); + }, + transform: (e) => + typeof e === "string" + ? e + : e.hasOwnProperty("red") + ? Wb.transform(e) + : p6.transform(e), + getAnimatableNone: (e) => { + let t = lc.parse(e); + return ((t.alpha = 0), lc.transform(t)); + }, + }; +}); +var vlt; +var blt = P(() => { + vlt = + /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu; +}); +function MDn(e) { + return isNaN(e) && typeof e === "string" && (Alt.test(e) || wlt.test(e)); +} +function Elt(e) { + let t = e.toString(); + return Alt.test(t) || wlt.test(t); +} +function g9(e) { + let t = e.toString(), + n = [], + r = { color: [], number: [], var: [] }, + o = [], + a = 0, + s = t + .replace(BDn, (l) => { + if (lc.test(l)) (r.color.push(a), o.push(Clt), n.push(lc.parse(l))); + else if (l.startsWith(LDn)) (r.var.push(a), o.push(DDn), n.push(l)); + else (r.number.push(a), o.push(Slt), n.push(parseFloat(l))); + return (++a, xlt); + }) + .split(xlt); + return { values: n, split: s, indexes: r, types: o }; +} +function ODn(e) { + return g9(e).values; +} +function Ilt({ split: e, types: t }) { + let n = e.length; + return (r) => { + let o = ""; + for (let a = 0; a < n; a++) + if (((o += e[a]), r[a] !== void 0)) { + let i = t[a]; + if (i === Slt) o += Qb(r[a]); + else if (i === Clt) o += lc.transform(r[a]); + else o += r[a]; + } + return o; + }; +} +function FDn(e) { + return Ilt(g9(e)); +} +function zDn(e) { + let t = g9(e); + return Ilt(t)(t.values.map((r, o) => NDn(r, t.split[o]))); +} +var Alt, + wlt, + Slt = "number", + Clt = "color", + DDn = "var", + LDn = "var(", + xlt = "${}", + BDn, + UDn = (e) => + typeof e === "number" ? 0 : lc.test(e) ? lc.getAnimatableNone(e) : e, + NDn = (e, t) => { + if (typeof e === "number") return t?.trim().endsWith("/") ? e : 0; + return UDn(e); + }, + Bc; +var Kb = P(() => { + Lte(); + blt(); + kte(); + hz(); + ((Alt = new RegExp(m9.source)), (wlt = new RegExp(vlt.source, "i"))); + BDn = + /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu; + Bc = { + test: MDn, + parse: ODn, + createTransformer: FDn, + getAnimatableNone: zDn, + }; +}); +function b4e(e, t, n) { + if (n < 0) n += 1; + if (n > 1) n -= 1; + if (n < 0.16666666666666666) return e + (t - e) * 6 * n; + if (n < 0.5) return t; + if (n < 0.6666666666666666) return e + (t - e) * (0.6666666666666666 - n) * 6; + return e; +} +function Tlt({ hue: e, saturation: t, lightness: n, alpha: r }) { + ((e /= 360), (t /= 100), (n /= 100)); + let o = 0, + a = 0, + i = 0; + if (!t) o = a = i = n; + else { + let s = n < 0.5 ? n * (1 + t) : n + t - n * t, + l = 2 * n - s; + ((o = b4e(l, s, e + 0.3333333333333333)), + (a = b4e(l, s, e)), + (i = b4e(l, s, e - 0.3333333333333333))); + } + return { + red: Math.round(o * 255), + green: Math.round(a * 255), + blue: Math.round(i * 255), + alpha: r, + }; +} +var klt = () => {}; +function y9(e, t) { + return (n) => (n > 0 ? t : e); +} +var x4e = () => {}; +var _o = (e, t, n) => e + (t - e) * n; +var ty = () => {}; +function Rlt(e) { + let t = HDn(e); + if (!t) + return ( + p3( + !1, + `'${e}' is not an animatable color. Use the equivalent color code instead.`, + "color-not-animatable", + ), + !1 + ); + let n = t.parse(e); + if (t === p6) n = Tlt(n); + return n; +} +var A4e = (e, t, n) => { + let r = e * e, + o = n * (t * t - r) + r; + return o < 0 ? 0 : Math.sqrt(o); + }, + _Dn, + HDn = (e) => _Dn.find((t) => t.test(e)), + w4e = (e, t) => { + let n = Rlt(e), + r = Rlt(t); + if (!n || !r) return y9(e, t); + let o = { ...n }; + return (a) => ( + (o.red = A4e(n.red, r.red, a)), + (o.green = A4e(n.green, r.green, a)), + (o.blue = A4e(n.blue, r.blue, a)), + (o.alpha = _o(n.alpha, r.alpha, a)), + Wb.transform(o) + ); + }; +var Plt = P(() => { + Ro(); + h4e(); + v4e(); + klt(); + Mte(); + x4e(); + ty(); + _Dn = [yz, Wb, p6]; +}); +function Mlt(e, t) { + if (Bte.has(e)) return (n) => (n <= 0 ? e : t); + else return (n) => (n >= 1 ? t : e); +} +var Bte; +var Dlt = P(() => { + Bte = new Set(["none", "hidden"]); +}); +function VDn(e, t) { + return (n) => _o(e, t, n); +} +function Ote(e) { + if (typeof e === "number") return VDn; + else if (typeof e === "string") return p9(e) ? y9 : lc.test(e) ? w4e : ZDn; + else if (Array.isArray(e)) return Llt; + else if (typeof e === "object") return lc.test(e) ? w4e : GDn; + return y9; +} +function Llt(e, t) { + let n = [...e], + r = n.length, + o = e.map((a, i) => Ote(a)(a, t[i])); + return (a) => { + for (let i = 0; i < r; i++) n[i] = o[i](a); + return n; + }; +} +function GDn(e, t) { + let n = { ...e, ...t }, + r = {}; + for (let o in n) + if (e[o] !== void 0 && t[o] !== void 0) r[o] = Ote(e[o])(e[o], t[o]); + return (o) => { + for (let a in r) n[a] = r[a](o); + return n; + }; +} +function qDn(e, t) { + let n = [], + r = { color: 0, var: 0, number: 0 }; + for (let o = 0; o < t.values.length; o++) { + let a = t.types[o], + i = e.indexes[a][r[a]], + s = e.values[i] ?? 0; + ((n[o] = s), r[a]++); + } + return n; +} +var ZDn = (e, t) => { + let n = Bc.createTransformer(t), + r = g9(e), + o = g9(t); + if ( + r.indexes.var.length === o.indexes.var.length && + r.indexes.color.length === o.indexes.color.length && + r.indexes.number.length >= o.indexes.number.length + ) { + if ((Bte.has(e) && !o.values.length) || (Bte.has(t) && !r.values.length)) + return Mlt(e, t); + return P2(Llt(qDn(r, o), o.values), n); + } else + return ( + p3( + !0, + `Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, + "complex-values-different", + ), + y9(e, t) + ); +}; +var Blt = P(() => { + Ro(); + f9(); + Lte(); + Kb(); + Plt(); + x4e(); + ty(); + Dlt(); +}); +function QDn(e, t) { + let n = Olt.exec(e); + if (!n) return; + let r = Olt.exec(t); + if (!r || n[2] !== r[2]) return; + let o = n[2], + a = parseFloat(n[1]), + i = parseFloat(r[1]); + return (s) => Qb(_o(a, i, s)) + o; +} +function v9(e, t, n) { + if (typeof e === "number" && typeof t === "number" && typeof n === "number") + return _o(e, t, n); + if (typeof e === "string" && typeof t === "string") { + let o = QDn(e, t); + if (o) return o; + } + return Ote(e)(e, t); +} +var Olt; +var Fte = P(() => { + hz(); + Blt(); + ty(); + Olt = /^(-?(?:\d+(?:\.\d*)?|\.\d+))([a-z%]*)$/iu; +}); +var Flt = (e) => { + let t = ({ timestamp: n }) => e(n); + return { + start: (n = !0) => Po.update(t, n), + stop: () => u0(t), + now: () => (fl.isProcessing ? fl.timestamp : ts.now()), + }; +}; +var Ult = P(() => { + M2(); + $1(); +}); +var Ute = (e, t, n = 10) => { + let r = "", + o = Math.max(Math.round(t / n), 2); + for (let a = 0; a < o; a++) + r += Math.round(e(a / (o - 1)) * 1e4) / 1e4 + ", "; + return `linear(${r.substring(0, r.length - 2)})`; +}; +var S4e = () => {}; +function b9(e, t = 50, n = 20000, r) { + let o = 0, + a = e.next(o); + r?.push(a.value); + while (!a.done && o < n) ((o += t), (a = e.next(o)), r?.push(a.value)); + return o >= n ? 1 / 0 : o; +} +var Nte = 20000; +var zte = () => {}; +function Nlt(e, t = 100, n) { + let r = n({ ...e, keyframes: [0, t] }), + o = Math.min(b9(r), Nte); + return { + type: "keyframes", + ease: (a) => r.next(o * a).value / t, + duration: Qd(o), + }; +} +var zlt = P(() => { + Ro(); + zte(); +}); +function I4e(e, t) { + return e * Math.sqrt(1 - t * t); +} +function WDn(e, t, n) { + let r = n; + for (let o = 1; o < XDn; o++) r = r - e(r) / t(r); + return r; +} +function YDn({ + duration: e = ml.duration, + bounce: t = ml.bounce, + velocity: n = ml.velocity, + mass: r = ml.mass, +}) { + let o, a; + p3( + e <= Ed(ml.maxDuration), + "Spring duration must be 10 seconds or less", + "spring-duration-limit", + ); + let i = 1 - t; + if ( + ((i = Dc(ml.minDamping, ml.maxDamping, i)), + (e = Dc(ml.minDuration, ml.maxDuration, Qd(e))), + i < 1) + ) + ((o = (c) => { + let u = c * i, + d = u * e, + p = u - n, + f = I4e(c, i), + m = Math.exp(-d); + return C4e - (p / f) * m; + }), + (a = (c) => { + let d = c * i * e, + p = d * n + n, + f = i * i * c * c * e, + m = Math.exp(-d), + g = I4e(c * c, i); + return ((-o(c) + C4e > 0 ? -1 : 1) * ((p - f) * m)) / g; + })); + else + ((o = (c) => { + let u = Math.exp(-c * e), + d = (c - n) * e + 1; + return -C4e + u * d; + }), + (a = (c) => { + let u = Math.exp(-c * e), + d = (n - c) * (e * e); + return u * d; + })); + let s = 5 / e, + l = WDn(o, a, s); + if (((e = Ed(e)), isNaN(l))) + return { stiffness: ml.stiffness, damping: ml.damping, duration: e }; + else { + let c = l * l * r; + return { stiffness: c, damping: i * 2 * Math.sqrt(r * c), duration: e }; + } +} +function JDn(e, t) { + return t.some((n) => e[n] !== void 0); +} +function E4e(e, t) { + if (T4e(e, t)) return e; + return; +} +function jDn(e) { + let t = E4e(e.stiffness), + n = E4e(e.damping, !0), + r = E4e(e.mass), + o = { + ...e, + stiffness: t ?? ml.stiffness, + damping: n ?? ml.damping, + mass: r ?? ml.mass, + isResolvedFromDuration: !1, + isTimeDefined: (t ?? n ?? r) === void 0 && JDn(e, KDn), + }; + if (o.isTimeDefined) { + if (((o.velocity = 0), e.visualDuration)) { + let a = e.visualDuration, + i = (2 * Math.PI) / (a * 1.2), + s = i * i, + l = 2 * Dc(0.05, 1, 1 - (e.bounce || 0)) * Math.sqrt(s); + o = { ...o, mass: ml.mass, stiffness: s, damping: l }; + } else { + let a = YDn(o); + ((o = { ...o, ...a, mass: ml.mass }), (o.isResolvedFromDuration = !0)); + } + if (!T4e(o.stiffness) || !T4e(o.damping, !0)) + ((o.stiffness = ml.stiffness), (o.damping = ml.damping)); + } + return o; +} +function x9(e = ml.visualDuration, t = ml.bounce) { + let n = + typeof e !== "object" + ? { visualDuration: e, keyframes: [0, 1], bounce: t } + : e, + r = n.keyframes[0], + o = n.keyframes[n.keyframes.length - 1], + a = { done: !1, value: r }, + { + stiffness: i, + damping: s, + mass: l, + duration: c, + velocity: u, + isResolvedFromDuration: d, + isTimeDefined: p, + } = jDn({ ...n, velocity: -Qd(n.velocity || 0) }), + f = s / (2 * Math.sqrt(i * l)), + m = Qd(Math.sqrt(i / l)), + g = f * m, + v = { + target: o, + delta: o - r, + velocity: u || 0, + restSpeed: 0, + restDelta: 0, + }, + y = () => { + let T = Math.abs(v.delta) < 5; + ((v.restSpeed = + n.restSpeed || (T ? ml.restSpeed.granular : ml.restSpeed.default)), + (v.restDelta = + n.restDelta || (T ? ml.restDelta.granular : ml.restDelta.default))); + }; + y(); + let x, A, w; + if (f < 1) { + let T = I4e(m, f), + I = { A: 0, sinC: 0, cosC: 0, t: -1, env: 0, sin: 0, cos: 0 }; + w = () => { + ((I.A = (v.velocity + g * v.delta) / T), + (I.sinC = g * I.A + v.delta * T), + (I.cosC = g * v.delta - I.A * T)); + }; + let k = (L) => { + if (L !== I.t) + ((I.t = L), + (I.env = Math.exp(-g * L)), + (I.sin = Math.sin(T * L)), + (I.cos = Math.cos(T * L))); + }; + ((x = (L) => (k(L), v.target - I.env * (I.A * I.sin + v.delta * I.cos))), + (A = (L) => (k(L), I.env * (I.sinC * I.sin + I.cosC * I.cos)))); + } else if (f === 1) { + x = (I) => + v.target - Math.exp(-m * I) * (v.delta + (v.velocity + m * v.delta) * I); + let T = { C: 0 }; + ((w = () => { + T.C = v.velocity + m * v.delta; + }), + (A = (I) => Math.exp(-m * I) * (m * T.C * I - v.velocity))); + } else { + let T = m * Math.sqrt(f * f - 1); + x = (k) => { + let L = Math.exp(-g * k), + O = Math.min(T * k, 300); + return ( + v.target - + (L * + ((v.velocity + g * v.delta) * Math.sinh(O) + + T * v.delta * Math.cosh(O))) / + T + ); + }; + let I = { P: 0, sinh: 0, cosh: 0 }; + ((w = () => { + ((I.P = (v.velocity + g * v.delta) / T), + (I.sinh = g * I.P - v.delta * T), + (I.cosh = g * v.delta - I.P * T)); + }), + (A = (k) => { + let L = Math.exp(-g * k), + O = Math.min(T * k, 300); + return L * (I.sinh * Math.sinh(O) + I.cosh * Math.cosh(O)); + })); + } + w(); + let C = d ? c || null : null, + E = { + calculatedDuration: C, + retarget: (T, I) => { + if ( + ((v.target = T[T.length - 1]), + (v.delta = v.target - T[0]), + (v.velocity = p ? 0 : -Qd(I)), + !(n.restSpeed && n.restDelta)) + ) + y(); + ((E.calculatedDuration = C), (a.done = !1), w()); + }, + velocity: (T) => Ed(A(T)), + next: (T) => { + let I = x(T); + if (!d) { + let k = Ed(A(T)); + a.done = + Math.abs(k) <= v.restSpeed && Math.abs(v.target - I) <= v.restDelta; + } else a.done = T >= c; + return ((a.value = a.done ? v.target : I), a); + }, + toString: () => { + let T = Math.min(b9(E), Nte), + I = Ute((k) => E.next(T * k).value, T, 30); + return T + "ms " + I; + }, + toTransition: () => {}, + }; + return E; +} +var ml, + XDn = 12, + C4e = 0.001, + KDn, + T4e = (e, t) => (t ? e >= 0 : e > 0) && e < 1 / 0; +var k4e = P(() => { + Ro(); + S4e(); + zte(); + zlt(); + ml = { + stiffness: 100, + damping: 10, + mass: 1, + velocity: 0, + duration: 800, + bounce: 0.3, + visualDuration: 0.3, + restSpeed: { granular: 0.01, default: 2 }, + restDelta: { granular: 0.005, default: 0.5 }, + minDuration: 0.01, + maxDuration: 10, + minDamping: 0.05, + maxDamping: 1, + }; + KDn = ["duration", "bounce"]; + x9.applyToOptions = (e) => { + let t = Nlt(e, 100, x9); + return ( + (e.ease = t.ease), + (e.duration = Ed(t.duration)), + (e.type = "keyframes"), + e + ); + }; +}); +function bz({ + keyframes: e, + velocity: t = 0, + power: n = 0.8, + timeConstant: r = 325, + bounceDamping: o = 10, + bounceStiffness: a = 500, + modifyTarget: i, + min: s, + max: l, + restDelta: c = 0.5, + restSpeed: u, +}) { + let d = e[0], + p = { done: !1, value: d }, + f = (T) => T < s || T > l, + m = (T) => { + if (s === void 0) return l; + if (l === void 0) return s; + return Math.abs(s - T) < Math.abs(l - T) ? s : l; + }, + g = n * t, + v = d + g, + y = i === void 0 ? v : i(v); + if (y !== v) g = y - d; + let x = (T) => -g * Math.exp(-T / r), + A = (T) => { + let I = x(T); + ((p.done = Math.abs(I) <= c), (p.value = p.done ? y : y + I)); + }, + w, + C, + E = (T) => { + if (!f(p.value)) return; + ((w = T), + (C = x9({ + keyframes: [p.value, m(p.value)], + velocity: (-x(T) / r) * 1000, + damping: o, + stiffness: a, + restDelta: c, + restSpeed: u, + }))); + }; + return ( + E(0), + { + calculatedDuration: null, + next: (T) => { + let I = !1; + if (!C && w === void 0) ((I = !0), A(T), E(T)); + if (w !== void 0 && T >= w) return C.next(T - w); + else return (!I && A(T), p); + }, + } + ); +} +var R4e = P(() => { + k4e(); +}); +function $Dn(e, t, n) { + let r = [], + o = n || If.mix || v9, + a = e.length - 1; + for (let i = 0; i < a; i++) { + let s = o(e[i], e[i + 1]); + if (t) { + let l = Array.isArray(t) ? t[i] || Lc : t; + s = P2(l, s); + } + r.push(s); + } + return r; +} +function _lt(e, t, { clamp: n = !0, ease: r, mixer: o } = {}) { + let a = e.length; + if ( + (lh( + a === t.length, + "Both input and output ranges must be the same length", + "range-length", + ), + a === 1) + ) + return () => t[0]; + if (a === 2 && t[0] === t[1]) return () => t[1]; + let i = e[0] === e[1]; + if (e[0] > e[a - 1]) ((e = [...e].reverse()), (t = [...t].reverse())); + let s = $Dn(t, r, o), + l = s.length, + c = (u) => { + if (i && u < e[0]) return t[0]; + let d = 0; + if (l > 1) { + for (; d < e.length - 2; d++) if (u < e[d + 1]) break; + } + let p = Zb(e[d], e[d + 1], u); + return s[d](p); + }; + return n ? (u) => c(Dc(e[0], e[a - 1], u)) : c; +} +var Hlt = P(() => { + Ro(); + Fte(); +}); +function Vlt(e, t) { + let n = e[e.length - 1]; + for (let r = 1; r <= t; r++) { + let o = Zb(0, t, r); + e.push(_o(n, 1, o)); + } +} +var Glt = P(() => { + Ro(); + ty(); +}); +function qlt(e) { + let t = [0]; + return (Vlt(t, e.length - 1), t); +} +var Zlt = P(() => { + Glt(); +}); +function Qlt(e, t) { + return e.map((n) => n * t); +} +var Xlt = () => {}; +function eLn(e, t) { + return e.map(() => t || d9).splice(0, e.length - 1); +} +function IE({ + duration: e = 300, + keyframes: t, + times: n, + ease: r = "easeInOut", +}) { + let o = u4e(r) ? r.map(Cte) : Cte(r) || d9, + a = { done: !1, value: t[0] }; + if ( + t.length === 2 && + !Array.isArray(o) && + (!n || n.length !== 2 || (n[0] === 0 && n[1] === 1)) + ) { + let [l, c] = t, + u = l === c ? void 0 : (If.mix || v9)(l, c); + return { + calculatedDuration: e, + next: (d) => ( + (a.value = u ? u(o(e > 0 ? Dc(0, 1, d / e) : 1)) : c), + (a.done = d >= e), + a + ), + }; + } + let i = Qlt(n && n.length === t.length ? n : qlt(t), e), + s = _lt(i, t, { ease: Array.isArray(o) ? o : eLn(t, o) }); + return { + calculatedDuration: e, + next: (l) => ((a.value = s(l)), (a.done = l >= e), a), + }; +} +var P4e = P(() => { + Ro(); + Hlt(); + Fte(); + Zlt(); + Xlt(); +}); +function nLn(e, t, n) { + let r = Math.max(t - tLn, 0); + return iz(n - e(r), t - r); +} +function Wlt(e, t, n = 0) { + if (t <= 0) return n; + return e.velocity + ? e.velocity(t) + : nLn((r) => e.next(r).value, t, e.next(t).value); +} +var tLn = 5; +var Ylt = P(() => { + Ro(); +}); +function f6(e, { repeat: t, repeatType: n = "loop" }, r, o = 1) { + let a = e.filter(rLn), + s = o < 0 || (t && n !== "loop" && t % 2 === 1) ? 0 : a.length - 1; + return !s || r === void 0 ? a[s] : r; +} +var rLn = (e) => e !== null; +var xz = () => {}; +function _te(e) { + if (typeof e.type === "string") e.type = oLn[e.type]; +} +var oLn; +var M4e = P(() => { + R4e(); + P4e(); + k4e(); + oLn = { decay: bz, inertia: bz, tween: IE, keyframes: IE, spring: x9 }; +}); +function Klt(e, t) { + return { + kind: e, + animation: t, + timestamp: ts.now(), + frameTimestamp: fl.timestamp, + frameIsProcessing: fl.isProcessing, + }; +} +function Hte(e, t, n) { + let r = globalThis.__MOTION_INSPECT__; + if (!r) return; + try { + r({ ...Klt("animation-start", e), options: n ? { ...t, ...n } : t }); + } catch {} +} +function Jlt(e, t) { + let n = globalThis.__MOTION_INSPECT__; + if (!n) return; + try { + n({ ...Klt("layout-animation-start", e), node: t }); + } catch {} +} +var Vte = P(() => { + $1(); + M2(); +}); +class TE { + constructor() { + this.isResolved = !1; + } + get finished() { + if (!this._finished) + this._finished = this.isResolved + ? Promise.resolve() + : new Promise((e) => { + this._resolve = e; + }); + return this._finished; + } + updateFinished() { + ((this._finished = this._resolve = void 0), (this.isResolved = !1)); + } + notifyFinished() { + ((this.isResolved = !0), this._resolve?.()); + } + then(e, t) { + return this.finished.then(e, t); + } +} +var Gte = () => {}; +var aLn = (e) => e / 100, + m6; +var qte = P(() => { + Ro(); + M2(); + Fte(); + Ult(); + R4e(); + P4e(); + zte(); + Ylt(); + xz(); + M4e(); + Vte(); + Gte(); + m6 = class m6 extends TE { + constructor(e) { + super(); + if ( + ((this.state = "idle"), + (this.startTime = null), + (this.isStopped = !1), + (this.currentTime = 0), + (this.holdTime = null), + (this.playbackSpeed = 1), + (this.delayState = { done: !1, value: void 0 }), + (this.stop = () => { + let { motionValue: t } = this.options; + if (t && t.updatedAt !== ts.now()) this.tick(ts.now()); + if (((this.isStopped = !0), this.state === "idle")) return; + (this.teardown(), this.options.onStop?.()); + }), + (this.options = e), + this.initAnimation(), + this.play(), + e.autoplay === !1) + ) + this.pause(); + Hte(this, this.options); + } + initAnimation() { + let { options: e } = this; + _te(e); + let { + type: t = IE, + repeat: n = 0, + repeatDelay: r = 0, + repeatType: o, + velocity: a = 0, + } = e, + { keyframes: i } = e, + s = t || IE; + if (s !== IE && typeof i[0] !== "number") + ((this.mixKeyframes = P2(aLn, v9(i[0], i[1]))), (i = [0, 100])); + let l = s(i === e.keyframes ? e : { ...e, keyframes: i }); + if (o === "mirror") + this.mirroredGenerator = s({ + ...e, + keyframes: [...i].reverse(), + velocity: -a, + }); + if (l.calculatedDuration === null) l.calculatedDuration = b9(l); + let { calculatedDuration: c } = l; + ((this.calculatedDuration = c), + (this.resolvedDuration = c + r), + (this.totalDuration = this.resolvedDuration * (n + 1) - r), + (this.generator = l)); + } + updateTime(e) { + let t = Math.round(e - this.startTime) * this.playbackSpeed; + if (this.holdTime !== null) this.currentTime = this.holdTime; + else this.currentTime = t; + } + tick(e, t = !1) { + let { + generator: n, + totalDuration: r, + mixKeyframes: o, + mirroredGenerator: a, + resolvedDuration: i, + calculatedDuration: s, + } = this; + if (this.startTime === null) return n.next(0); + let { + delay: l = 0, + keyframes: c, + repeat: u, + repeatType: d, + repeatDelay: p, + type: f, + onUpdate: m, + finalKeyframe: g, + } = this.options; + if (this.speed > 0) this.startTime = Math.min(this.startTime, e); + else if (this.speed < 0) + this.startTime = Math.min(e - r / this.speed, this.startTime); + if (t) this.currentTime = e; + else this.updateTime(e); + let v = this.currentTime - l * (this.playbackSpeed >= 0 ? 1 : -1), + y = this.playbackSpeed >= 0 ? v < 0 : v > r; + if ( + ((this.currentTime = Math.max(v, 0)), + this.state === "finished" && this.holdTime === null) + ) + this.currentTime = r; + let x = this.currentTime, + A = n; + if (u) { + let T = Math.min(this.currentTime, r) / i, + I = Math.floor(T), + k = T % 1; + if (!k && T >= 1) k = 1; + if ((k === 1 && I--, (I = Math.min(I, u + 1)), Boolean(I % 2))) { + if (d === "reverse") { + if (((k = 1 - k), p)) k -= p / i; + } else if (d === "mirror") A = a; + } + x = Dc(0, 1, k) * i; + } + let w; + if (y) ((this.delayState.value = c[0]), (w = this.delayState)); + else w = A.next(x); + if (o && !y) w.value = o(w.value); + let { done: C } = w; + if (!y && s !== null) + C = + this.playbackSpeed >= 0 + ? this.currentTime >= r + : this.currentTime <= 0; + let E = + this.holdTime === null && + (this.state === "finished" || (this.state === "running" && C)); + if (E && f !== bz) w.value = f6(c, this.options, g, this.speed); + if (m) m(w.value); + if (E) this.finish(); + return w; + } + then(e, t) { + return this.finished.then(e, t); + } + get duration() { + return Qd(this.calculatedDuration); + } + get iterationDuration() { + let { delay: e = 0 } = this.options || {}; + return this.duration + Qd(e); + } + get time() { + return Qd(this.currentTime); + } + set time(e) { + if ( + ((e = Ed(e)), + (this.currentTime = e), + this.startTime === null || + this.holdTime !== null || + this.playbackSpeed === 0) + ) + this.holdTime = e; + else if (this.driver) + this.startTime = this.driver.now() - e / this.playbackSpeed; + if (this.driver) this.driver.start(!1); + else + ((this.startTime = 0), + (this.state = "paused"), + (this.holdTime = e), + this.tick(e)); + } + getGeneratorVelocity() { + return Wlt(this.generator, this.currentTime, this.options.velocity); + } + get speed() { + return this.playbackSpeed; + } + set speed(e) { + let t = this.playbackSpeed !== e; + if (t && this.driver) this.updateTime(ts.now()); + if (((this.playbackSpeed = e), t && this.driver)) + this.time = Qd(this.currentTime); + } + play() { + if (this.isStopped) return; + let { driver: e = Flt, startTime: t } = this.options; + if (!this.driver) this.driver = e((r) => this.tick(r)); + this.options.onPlay?.(); + let n = this.driver.now(); + if (this.state === "finished") + (this.updateFinished(), (this.startTime = n)); + else if (this.holdTime !== null) this.startTime = n - this.holdTime; + else if (!this.startTime) this.startTime = t ?? n; + if (this.state === "finished" && this.speed < 0) + this.startTime += this.calculatedDuration; + ((this.holdTime = null), (this.state = "running"), this.driver.start()); + } + pause() { + ((this.state = "paused"), + this.updateTime(ts.now()), + (this.holdTime = this.currentTime)); + } + complete() { + if (this.state !== "running") this.play(); + ((this.state = "finished"), (this.holdTime = null)); + } + finish() { + (this.notifyFinished(), + this.teardown(), + (this.state = "finished"), + this.options.onComplete?.()); + } + cancel() { + ((this.holdTime = null), + (this.startTime = 0), + this.tick(0), + this.teardown(), + this.options.onCancel?.()); + } + teardown() { + ((this.state = "idle"), + this.stopDriver(), + (this.startTime = this.holdTime = null)); + } + stopDriver() { + if (!this.driver) return; + (this.driver.stop(), (this.driver = void 0)); + } + sample(e) { + return ((this.startTime = 0), this.tick(e, !0)); + } + attachTimeline(e) { + if (this.options.allowFlatten) + ((this.options.type = "keyframes"), + (this.options.ease = "linear"), + this.initAnimation()); + return (this.driver?.stop(), e.observe(this)); + } + }; +}); +function sLn(e) { + let [t, n] = e.slice(0, -1).split("("); + if (t === "drop-shadow") return e; + let [r] = n.match(m9) || []; + if (!r) return e; + let o = n.replace(r, ""), + a = iLn.has(t) ? 1 : 0; + if (r !== n) a *= 100; + return t + "(" + a + o + ")"; +} +var iLn, lLn, Az; +var D4e = P(() => { + Kb(); + kte(); + iLn = new Set(["brightness", "contrast", "saturate", "opacity"]); + ((lLn = /\b([a-z-]*)\(.*?\)/gu), + (Az = { + ...Bc, + getAnimatableNone: (e) => { + let t = e.match(lLn); + return t ? t.map(sLn).join(" ") : e; + }, + })); +}); +var wz; +var L4e = P(() => { + Kb(); + wz = { + ...Bc, + getAnimatableNone: (e) => { + let t = Bc.parse(e); + return Bc.createTransformer(e)( + t.map((r) => + typeof r === "number" + ? 0 + : typeof r === "object" + ? { ...r, alpha: 1 } + : r, + ), + ); + }, + }; +}); +var B4e; +var jlt = P(() => { + d6(); + B4e = { ...Xb, transform: Math.round }; +}); +var $lt; +var ect = P(() => { + d6(); + Yb(); + $lt = { + rotate: ey, + pathRotation: ey, + rotateX: ey, + rotateY: ey, + rotateZ: ey, + scale: gz, + scaleX: gz, + scaleY: gz, + scaleZ: gz, + skew: ey, + skewX: ey, + skewY: ey, + distance: Kn, + translateX: Kn, + translateY: Kn, + translateZ: Kn, + x: Kn, + y: Kn, + z: Kn, + perspective: Kn, + transformPerspective: Kn, + opacity: m3, + originX: Dte, + originY: Dte, + originZ: Kn, + }; +}); +var kE; +var Zte = P(() => { + jlt(); + d6(); + Yb(); + ect(); + kE = { + borderWidth: Kn, + borderTopWidth: Kn, + borderRightWidth: Kn, + borderBottomWidth: Kn, + borderLeftWidth: Kn, + borderRadius: Kn, + borderTopLeftRadius: Kn, + borderTopRightRadius: Kn, + borderBottomRightRadius: Kn, + borderBottomLeftRadius: Kn, + width: Kn, + maxWidth: Kn, + height: Kn, + maxHeight: Kn, + top: Kn, + right: Kn, + bottom: Kn, + left: Kn, + inset: Kn, + insetBlock: Kn, + insetBlockStart: Kn, + insetBlockEnd: Kn, + insetInline: Kn, + insetInlineStart: Kn, + insetInlineEnd: Kn, + padding: Kn, + paddingTop: Kn, + paddingRight: Kn, + paddingBottom: Kn, + paddingLeft: Kn, + paddingBlock: Kn, + paddingBlockStart: Kn, + paddingBlockEnd: Kn, + paddingInline: Kn, + paddingInlineStart: Kn, + paddingInlineEnd: Kn, + margin: Kn, + marginTop: Kn, + marginRight: Kn, + marginBottom: Kn, + marginLeft: Kn, + marginBlock: Kn, + marginBlockStart: Kn, + marginBlockEnd: Kn, + marginInline: Kn, + marginInlineStart: Kn, + marginInlineEnd: Kn, + fontSize: Kn, + backgroundPositionX: Kn, + backgroundPositionY: Kn, + ...$lt, + zIndex: B4e, + fillOpacity: m3, + strokeOpacity: m3, + numOctaves: B4e, + }; +}); +var cLn, + Qte = (e) => cLn[e]; +var O4e = P(() => { + Lte(); + D4e(); + L4e(); + Zte(); + cLn = { + ...kE, + color: lc, + backgroundColor: lc, + outlineColor: lc, + fill: lc, + stroke: lc, + borderColor: lc, + borderTopColor: lc, + borderRightColor: lc, + borderBottomColor: lc, + borderLeftColor: lc, + filter: Az, + WebkitFilter: Az, + mask: wz, + WebkitMask: wz, + }; +}); +function A9(e, t) { + let n = Qte(e); + if (!uLn.has(n)) n = Bc; + return n.getAnimatableNone ? n.getAnimatableNone(t) : void 0; +} +var uLn; +var Xte = P(() => { + Kb(); + D4e(); + L4e(); + O4e(); + uLn = new Set([Az, wz]); +}); +function tct(e) { + for (let t = 1; t < e.length; t++) e[t] ?? (e[t] = e[t - 1]); +} +var nct = () => {}; +function Wte(e) { + return e.includes("scale") ? 1 : 0; +} +function Yte(e, t) { + if (!e || e === "none") return Wte(t); + let n = e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u), + r, + o; + if (n) ((r = pLn), (o = n)); + else { + let s = e.match(/^matrix\(([-\d.e\s,]+)\)$/u); + ((r = dLn), (o = s)); + } + if (!o) return Wte(t); + let a = r[t], + i = o[1].split(",").map(fLn); + return typeof a === "function" ? a(i) : i[a]; +} +function fLn(e) { + return parseFloat(e.trim()); +} +var RE = (e) => (e * 180) / Math.PI, + F4e = (e) => { + let t = RE(Math.atan2(e[1], e[0])); + return U4e(t); + }, + dLn, + U4e = (e) => { + if (((e = e % 360), e < 0)) e += 360; + return e; + }, + rct, + oct = (e) => Math.sqrt(e[0] * e[0] + e[1] * e[1]), + act = (e) => Math.sqrt(e[4] * e[4] + e[5] * e[5]), + pLn, + ict = (e, t) => { + let { transform: n = "none" } = getComputedStyle(e); + return Yte(n, t); + }; +var N4e = P(() => { + ((dLn = { + x: 4, + y: 5, + translateX: 4, + translateY: 5, + scaleX: 0, + scaleY: 3, + scale: (e) => (Math.abs(e[0]) + Math.abs(e[3])) / 2, + rotate: F4e, + rotateZ: F4e, + skewX: (e) => RE(Math.atan(e[1])), + skewY: (e) => RE(Math.atan(e[2])), + skew: (e) => (Math.abs(e[1]) + Math.abs(e[2])) / 2, + }), + (rct = F4e), + (pLn = { + x: 12, + y: 13, + z: 14, + translateX: 12, + translateY: 13, + translateZ: 14, + scaleX: oct, + scaleY: act, + scale: (e) => (oct(e) + act(e)) / 2, + rotateX: (e) => U4e(RE(Math.atan2(e[6], e[5]))), + rotateY: (e) => U4e(RE(Math.atan2(-e[2], e[0]))), + rotateZ: rct, + rotate: rct, + skewX: (e) => RE(Math.atan(e[4])), + skewY: (e) => RE(Math.atan(e[1])), + skew: (e) => (Math.abs(e[1]) + Math.abs(e[4])) / 2, + })); +}); +var Jb, ny; +var D2 = P(() => { + ((Jb = [ + "transformPerspective", + "x", + "y", + "z", + "translateX", + "translateY", + "translateZ", + "scale", + "scaleX", + "scaleY", + "rotate", + "rotateX", + "rotateY", + "rotateZ", + "skew", + "skewX", + "skewY", + ]), + (ny = (() => new Set([...Jb, "pathRotation"]))())); +}); +function lct(e) { + let t = []; + return ( + hLn.forEach((n) => { + let r = e.getValue(n); + if (r !== void 0) { + let o = r.get(), + a = n.startsWith("scale") ? 1 : 0; + if (o === a) return; + (t.push([n, o]), r.set(a)); + } + }), + t + ); +} +function sct(e, t, n, r, o, a) { + let i = parseFloat(e); + if (!isNaN(i)) return i; + let { min: s, max: l } = t()[n], + c = l - s; + return a === "border-box" ? c : c - parseFloat(r) - parseFloat(o); +} +var z4e = (e) => e === Xb || e === Kn, + mLn, + hLn, + cct, + h6; +var _4e = P(() => { + N4e(); + D2(); + d6(); + Yb(); + ((mLn = new Set(["x", "y", "z"])), (hLn = Jb.filter((e) => !mLn.has(e)))); + cct = new Set(["bottom", "right"]); + h6 = { + width: ( + { width: e, paddingLeft: t = "0", paddingRight: n = "0", boxSizing: r }, + o, + ) => sct(e, o, "x", t, n, r), + height: ( + { height: e, paddingTop: t = "0", paddingBottom: n = "0", boxSizing: r }, + o, + ) => sct(e, o, "y", t, n, r), + top: ({ top: e }) => parseFloat(e), + left: ({ left: e }) => parseFloat(e), + bottom: ({ top: e }, t) => { + let { y: n } = t(); + return parseFloat(e) + (n.max - n.min); + }, + right: ({ left: e }, t) => { + let { x: n } = t(); + return parseFloat(e) + (n.max - n.min); + }, + x: ({ transform: e }) => Yte(e, "x"), + y: ({ transform: e }) => Yte(e, "y"), + }; + h6.translateX = h6.x; + h6.translateY = h6.y; +}); +function uct() { + if (V4e) { + let e = [], + t = new Set(), + n = new Set(); + PE.forEach((o) => { + if (!o.needsMeasurement) return; + if ((e.push(o), t.add(o.element), cct.has(o.name))) n.add(o.element); + }); + let r = new Map(); + (n.forEach((o) => { + let a = lct(o); + if (!a.length) return; + (r.set(o, a), o.render()); + }), + e.forEach((o) => o.measureInitialState()), + t.forEach((o) => { + o.render(); + let a = r.get(o); + if (a) + a.forEach(([i, s]) => { + o.getValue(i)?.set(s); + }); + }), + e.forEach((o) => o.measureEndState()), + e.forEach((o) => { + if (o.suspendedScrollY !== void 0) + window.scrollTo(0, o.suspendedScrollY); + })); + } + ((V4e = !1), (H4e = !1), PE.forEach((e) => e.complete(G4e)), PE.clear()); +} +function dct() { + PE.forEach((e) => { + if ((e.readKeyframes(), e.needsMeasurement)) V4e = !0; + }); +} +function pct() { + ((G4e = !0), dct(), uct(), (G4e = !1)); +} +function gLn(e, t, n) { + if (typeof e === "string") { + if (CE(e) || EE(e)) return parseFloat(e); + else if (!Bc.test(e) && Bc.test(n)) return A9(t, n); + } + return e ?? void 0; +} +class ME { + constructor(e, t, n, r, o, a = !1) { + ((this.state = "pending"), + (this.isAsync = !1), + (this.needsMeasurement = !1), + (this.unresolvedKeyframes = [...e]), + (this.onComplete = t), + (this.name = n), + (this.motionValue = r), + (this.element = o), + (this.isAsync = a)); + } + scheduleResolve() { + if (((this.state = "scheduled"), this.isAsync)) { + if ((PE.add(this), !H4e)) + ((H4e = !0), Po.read(dct), Po.resolveKeyframes(uct)); + } else (this.readKeyframes(), this.complete()); + } + readKeyframes() { + let { unresolvedKeyframes: e, name: t, element: n, motionValue: r } = this; + if (e[0] === null) { + let o = r?.get(), + a = e[e.length - 1]; + if (o !== void 0) e[0] = o; + else if (n && t) { + let i = gLn(n.readValue(t, a), t, a); + if (i !== void 0) e[0] = i; + } + if (e[0] === void 0) e[0] = a; + if (r && o === void 0) r.set(e[0]); + } + tct(e); + } + setFinalKeyframe() {} + measureInitialState() {} + renderEndStyles() {} + measureEndState() {} + complete(e = !1) { + ((this.state = "complete"), + this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, e), + PE.delete(this)); + } + cancel() { + if (this.state === "scheduled") (PE.delete(this), (this.state = "pending")); + } + resume() { + if (this.state === "pending") this.scheduleResolve(); + } +} +var PE, + H4e = !1, + V4e = !1, + G4e = !1; +var Kte = P(() => { + Ro(); + Kb(); + Xte(); + nct(); + _4e(); + $1(); + PE = new Set(); +}); +var fct = (e) => e.startsWith("--"); +var mct = () => {}; +function Jte(e, t, n) { + fct(t) ? e.style.setProperty(t, n) : (e.style[t] = n); +} +var q4e = P(() => { + mct(); +}); +var hct; +var gct = P(() => { + hct = {}; +}); +function jte(e, t) { + let n = az(e); + return () => hct[t] ?? n(); +} +var Z4e = P(() => { + Ro(); + gct(); +}); +var yct; +var vct = P(() => { + Z4e(); + yct = jte(() => window.ScrollTimeline !== void 0, "scrollTimeline"); +}); +var $te; +var Q4e = P(() => { + Z4e(); + $te = jte(() => { + try { + document + .createElement("div") + .animate({ opacity: 0 }, { easing: "linear(0, 1)" }); + } catch (e) { + return !1; + } + return !0; + }, "linearEasing"); +}); +var DE = ([e, t, n, r]) => `cubic-bezier(${e}, ${t}, ${n}, ${r})`; +var X4e = () => {}; +var W4e; +var bct = P(() => { + X4e(); + W4e = { + linear: "linear", + ease: "ease", + easeIn: "ease-in", + easeOut: "ease-out", + easeInOut: "ease-in-out", + circIn: DE([0, 0.65, 0.55, 1]), + circOut: DE([0.55, 0, 1, 0.45]), + backIn: DE([0.31, 0.01, 0.66, -0.59]), + backOut: DE([0.33, 1.53, 0.69, 0.99]), + }; +}); +function Y4e(e, t) { + if (!e) return; + else if (typeof e === "function") return $te() ? Ute(e, t) : "ease-out"; + else if (pz(e)) return DE(e); + else if (Array.isArray(e)) return e.map((n) => Y4e(n, t) || W4e.easeOut); + else return W4e[e]; +} +var xct = P(() => { + Ro(); + Q4e(); + S4e(); + X4e(); + bct(); +}); +function Act( + e, + t, + n, + { + delay: r = 0, + duration: o = 300, + repeat: a = 0, + repeatType: i = "loop", + ease: s = "easeOut", + times: l, + } = {}, + c = void 0, +) { + let u = { [t]: n }; + if (l) u.offset = l; + let d = Y4e(s, o); + if (Array.isArray(d)) u.easing = d; + let p = { + delay: r, + duration: o, + easing: !Array.isArray(d) ? d : "linear", + fill: "both", + iterations: a + 1, + direction: i === "reverse" ? "alternate" : "normal", + }; + if (c) p.pseudoElement = c; + return e.animate(u, p); +} +var wct = P(() => { + xct(); +}); +function ene(e) { + return typeof e === "function" && "applyToOptions" in e; +} +var K4e = () => {}; +function Sct({ type: e, ...t }) { + if (ene(e) && $te()) return e.applyToOptions(t); + else (t.duration ?? (t.duration = 300), t.ease ?? (t.ease = "easeOut")); + return t; +} +var Cct = P(() => { + Q4e(); + K4e(); +}); +var Sz; +var J4e = P(() => { + Ro(); + q4e(); + vct(); + xz(); + Gte(); + Vte(); + wct(); + Cct(); + Sz = class Sz extends TE { + constructor(e) { + super(); + if ( + ((this.finishedTime = null), + (this.isStopped = !1), + (this.manualStartTime = null), + !e) + ) + return; + let { + element: t, + name: n, + keyframes: r, + pseudoElement: o, + allowFlatten: a = !1, + finalKeyframe: i, + onComplete: s, + } = e; + ((this.isPseudoElement = Boolean(o)), + (this.allowFlatten = a), + (this.options = e), + lh( + typeof e.type !== "string", + `Mini animate() doesn't support "type" as a string.`, + "mini-spring", + )); + let l = Sct(e); + if (((this.animation = Act(t, n, r, l, o)), l.autoplay === !1)) + this.animation.pause(); + ((this.animation.onfinish = () => { + if (((this.finishedTime = this.time), !o)) { + let c = f6(r, this.options, i, this.speed); + if (this.updateMotionValue) this.updateMotionValue(c); + (Jte(t, n, c), this.animation.cancel()); + } + (s?.(), this.notifyFinished()); + }), + Hte(this, e, l)); + } + play() { + if (this.isStopped) return; + if ( + ((this.manualStartTime = null), + this.animation.play(), + this.state === "finished") + ) + this.updateFinished(); + } + pause() { + this.animation.pause(); + } + complete() { + this.animation.finish?.(); + } + cancel() { + try { + this.animation.cancel(); + } catch (e) {} + } + stop() { + if (this.isStopped) return; + this.isStopped = !0; + let { state: e } = this; + if (e === "idle" || e === "finished") return; + if (this.updateMotionValue) this.updateMotionValue(); + else this.commitStyles(); + if (!this.isPseudoElement) this.cancel(); + } + commitStyles() { + let e = this.options?.element; + if (!this.isPseudoElement && e?.isConnected) + this.animation.commitStyles?.(); + } + get duration() { + let e = this.animation.effect?.getComputedTiming?.().duration || 0; + return Qd(Number(e)); + } + get iterationDuration() { + let { delay: e = 0 } = this.options || {}; + return this.duration + Qd(e); + } + get time() { + return Qd(Number(this.animation.currentTime) || 0); + } + set time(e) { + let t = this.finishedTime !== null; + if ( + ((this.manualStartTime = null), + (this.finishedTime = null), + (this.animation.currentTime = Ed(e)), + t) + ) + this.animation.pause(); + } + get speed() { + return this.animation.playbackRate; + } + set speed(e) { + if (e < 0) this.finishedTime = null; + this.animation.playbackRate = e; + } + get state() { + return this.finishedTime !== null ? "finished" : this.animation.playState; + } + get startTime() { + return this.manualStartTime ?? Number(this.animation.startTime); + } + set startTime(e) { + this.manualStartTime = this.animation.startTime = e; + } + attachTimeline({ timeline: e, rangeStart: t, rangeEnd: n, observe: r }) { + if (this.allowFlatten) + this.animation.effect?.updateTiming({ easing: "linear" }); + if (((this.animation.onfinish = null), e && yct())) { + if (((this.animation.timeline = e), t)) this.animation.rangeStart = t; + if (n) this.animation.rangeEnd = n; + return Lc; + } else return r(this); + } + }; +}); +function yLn(e) { + return e in Ect; +} +function Ict(e) { + if (typeof e.ease === "string" && yLn(e.ease)) e.ease = Ect[e.ease]; +} +var Ect; +var Tct = P(() => { + Ro(); + Ect = { anticipate: lz, backInOut: sz, circInOut: dz }; +}); +var j4e = 10, + $4e; +var kct = P(() => { + Ro(); + M2(); + q4e(); + qte(); + J4e(); + M4e(); + Tct(); + $4e = class $4e extends Sz { + constructor(e) { + (Ict(e), _te(e)); + super(e); + if (e.startTime !== void 0 && e.autoplay !== !1) + this.startTime = e.startTime; + this.options = e; + } + updateMotionValue(e) { + let { + motionValue: t, + onUpdate: n, + onComplete: r, + element: o, + ...a + } = this.options; + if (!t) return; + if (e !== void 0) { + t.set(e); + return; + } + let i = new m6({ ...a, autoplay: !1 }), + s = Math.max(j4e, ts.now() - this.startTime), + l = Dc(0, j4e, s - j4e), + c = i.sample(s).value, + { name: u } = this.options; + if (o && u) Jte(o, u, c); + (t.setWithVelocity(i.sample(Math.max(0, s - l)).value, c, l), i.stop()); + } + }; +}); +var e6e = (e, t) => { + if (t === "zIndex") return !1; + if (typeof e === "number" || Array.isArray(e)) return !0; + if ( + typeof e === "string" && + (Bc.test(e) || e === "0") && + !e.startsWith("url(") + ) + return !0; + return !1; +}; +var Rct = P(() => { + Kb(); +}); +function vLn(e) { + let t = e[0]; + if (e.length === 1) return !0; + for (let n = 0; n < e.length; n++) if (e[n] !== t) return !0; +} +function Pct(e, t, n, r) { + let o = e[0]; + if (o === null) return !1; + if (t === "display" || t === "visibility") return !0; + let a = e[e.length - 1], + i = e6e(o, t), + s = e6e(a, t); + if (!i || !s) + return ( + i !== s && + p3( + !1, + `You are trying to animate ${t} from "${o}" to "${a}". "${i ? a : o}" is not an animatable value.`, + "value-not-animatable", + ), + !1 + ); + return vLn(e) || ((n === "spring" || ene(n)) && r); +} +var Mct = P(() => { + Ro(); + K4e(); + Rct(); +}); +function Cz(e) { + ((e.duration = 0), (e.type = "keyframes")); +} +var t6e = () => {}; +var Ez; +var n6e = P(() => { + Ez = new Set([ + "opacity", + "clipPath", + "filter", + "transform", + "backgroundColor", + ]); +}); +function Dct(e) { + for (let t = 0; t < e.length; t++) + if (typeof e[t] === "string" && bLn.test(e[t])) return !0; + return !1; +} +var bLn; +var Lct = P(() => { + bLn = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/; +}); +function Oct(e) { + let { + motionValue: t, + name: n, + repeatDelay: r, + repeatType: o, + damping: a, + type: i, + keyframes: s, + } = e; + if (!n || !(Ez.has(n) || Bct.has(n))) return !1; + let l = t?.owner?.current; + if (!(l instanceof HTMLElement) && !(l instanceof SVGElement)) return !1; + let { onUpdate: c, transformTemplate: u } = t.owner.getProps(); + return ( + xLn() && + (Ez.has(n) || (Bct.has(n) && Dct(s))) && + (n !== "transform" || !u) && + !c && + !r && + o !== "mirror" && + a !== 0 && + i !== "inertia" + ); +} +var Bct, xLn; +var Fct = P(() => { + Ro(); + n6e(); + Lct(); + ((Bct = new Set([ + "color", + "backgroundColor", + "outlineColor", + "fill", + "stroke", + "borderColor", + "borderTopColor", + "borderRightColor", + "borderBottomColor", + "borderLeftColor", + ])), + (xLn = az(() => Object.hasOwnProperty.call(Element.prototype, "animate")))); +}); +var ALn = 40, + r6e; +var Uct = P(() => { + Ro(); + M2(); + qte(); + xz(); + Kte(); + kct(); + Mct(); + t6e(); + Gte(); + Fct(); + r6e = class r6e extends TE { + constructor(e) { + super(); + ((this.stop = () => { + if (this._animation) (this._animation.stop(), this.stopTimeline?.()); + this.keyframeResolver?.cancel(); + }), + (this.createdAt = ts.now())); + let { keyframes: t, name: n, motionValue: r, element: o } = e, + a = e; + (a.autoplay ?? (a.autoplay = !0), + a.delay ?? (a.delay = 0), + a.type ?? (a.type = "keyframes"), + a.repeat ?? (a.repeat = 0), + a.repeatDelay ?? (a.repeatDelay = 0), + a.repeatType ?? (a.repeatType = "loop")); + let i = o?.KeyframeResolver || ME; + ((this.keyframeResolver = new i( + t, + (s, l, c) => this.onKeyframesResolved(s, l, a, !c), + n, + r, + o, + )), + this.keyframeResolver?.scheduleResolve()); + } + onKeyframesResolved(e, t, n, r) { + this.keyframeResolver = void 0; + let { + name: o, + type: a, + velocity: i, + delay: s, + isHandoff: l, + onUpdate: c, + } = n; + this.resolvedAt = ts.now(); + let u = !0; + if (!Pct(e, o, a, i)) { + if (((u = !1), If.instantAnimations || !s)) c?.(f6(e, n, t)); + ((e[0] = e[e.length - 1]), Cz(n), (n.repeat = 0)); + } + let d = r + ? !this.resolvedAt + ? this.createdAt + : this.resolvedAt - this.createdAt > ALn + ? this.resolvedAt + : this.createdAt + : void 0, + { onComplete: p } = n; + (n.startTime ?? (n.startTime = d), + (n.finalKeyframe = t), + (n.keyframes = e), + (n.onComplete = () => { + (p?.(), this.notifyFinished()); + })); + let f = u && !l && Oct(n), + m; + if (f) { + n.element = n.motionValue?.owner?.current; + try { + m = new $4e(n); + } catch { + m = new m6(n); + } + } else m = new m6(n); + if (this.pendingTimeline) + ((this.stopTimeline = m.attachTimeline(this.pendingTimeline)), + (this.pendingTimeline = void 0)); + this._animation = m; + } + get finished() { + return this._animation ? this._animation.finished : super.finished; + } + then(e, t) { + return this.finished.finally(e).then(() => {}); + } + get animation() { + if (!this._animation) (this.keyframeResolver?.resume(), pct()); + return this._animation; + } + get duration() { + return this.animation.duration; + } + get iterationDuration() { + return this.animation.iterationDuration; + } + get time() { + return this.animation.time; + } + set time(e) { + this.animation.time = e; + } + get speed() { + return this.animation.speed; + } + get state() { + return this.animation.state; + } + set speed(e) { + this.animation.speed = e; + } + get startTime() { + return this.animation.startTime; + } + attachTimeline(e) { + if (this._animation) this.stopTimeline = this.animation.attachTimeline(e); + else this.pendingTimeline = e; + return () => this.stop(); + } + play() { + this.animation.play(); + } + pause() { + this.animation.pause(); + } + complete() { + this.animation.complete(); + } + cancel() { + if (this._animation) this.animation.cancel(); + this.keyframeResolver?.cancel(); + } + }; +}); +function tne(e, t, n, r = 0, o = 1) { + let a = Array.from(e) + .sort((c, u) => c.sortNodePosition(u)) + .indexOf(t), + i = e.size, + s = (i - 1) * r; + return typeof n === "function" ? n(a, i) : o === 1 ? a * r : s - a * r; +} +var o6e = () => {}; +class _ct { + constructor(e, t = {}) { + ((this.canTrackVelocity = null), + (this.events = {}), + (this.updateAndNotify = (n) => { + let r = ts.now(); + if (this.updatedAt !== r) this.setPrevFrameValue(); + if ( + ((this.prev = this.current), + this.setCurrent(n), + this.current !== this.prev) + ) { + if ((this.notifyChange(), this.dependents)) + for (let o of this.dependents) o.dirty(); + } + }), + (this.hasAnimated = !1), + this.setCurrent(e), + (this.owner = t.owner)); + } + setCurrent(e) { + if ( + ((this.current = e), + (this.updatedAt = ts.now()), + this.canTrackVelocity === null && e !== void 0) + ) + this.canTrackVelocity = SLn(this.current); + } + setPrevFrameValue(e = this.current) { + ((this.prevFrameValue = e), (this.prevUpdatedAt = this.updatedAt)); + } + onChange(e) { + return this.on("change", e); + } + on(e, t) { + var n; + if (e === "change") return this.onChangeSubscribe(t); + return ((n = this.events)[e] || (n[e] = new f3())).add(t); + } + onChangeSubscribe(e) { + let { events: t } = this; + if (!t.change && !this.changeSubscriber) this.changeSubscriber = e; + else { + if (!t.change) + ((t.change = new f3()), + t.change.add(this.changeSubscriber), + (this.changeSubscriber = void 0)); + t.change.add(e); + } + return () => { + if (this.changeSubscriber === e) this.changeSubscriber = void 0; + else t.change?.remove(e); + this.stopIfUnobserved(); + }; + } + stopIfUnobserved() { + Po.read(() => { + if (!this.changeSubscriber && !this.events.change?.getSize()) this.stop(); + }); + } + clearListeners() { + this.changeSubscriber = void 0; + for (let e in this.events) this.events[e].clear(); + } + attach(e, t) { + ((this.passiveEffect = e), (this.stopPassiveEffect = t)); + } + set(e) { + if (!this.passiveEffect) this.updateAndNotify(e); + else this.passiveEffect(e, this.updateAndNotify); + } + setWithVelocity(e, t, n) { + (this.set(t), + (this.prev = void 0), + (this.prevFrameValue = e), + (this.prevUpdatedAt = this.updatedAt - n)); + } + jump(e, t = !0) { + if ( + (this.updateAndNotify(e), + (this.prev = e), + (this.prevUpdatedAt = this.prevFrameValue = void 0), + t && this.stop(), + this.stopPassiveEffect) + ) + this.stopPassiveEffect(); + } + dirty() { + this.notifyChange(); + } + notifyChange() { + let { current: e, changeSubscriber: t } = this; + if (t) t(e); + else this.events.change?.notify(e); + } + addDependent(e) { + if (!this.dependents) this.dependents = new Set(); + this.dependents.add(e); + } + removeDependent(e) { + if (this.dependents) this.dependents.delete(e); + } + get() { + if (zct.current) zct.current.push(this); + return this.current; + } + getPrevious() { + return this.prev; + } + getVelocity() { + let e = ts.now(); + if ( + !this.canTrackVelocity || + this.prevFrameValue === void 0 || + e - this.updatedAt > Nct + ) + return 0; + let t = Math.min(this.updatedAt - this.prevUpdatedAt, Nct); + return iz(parseFloat(this.current) - parseFloat(this.prevFrameValue), t); + } + start(e) { + return ( + this.stop(), + new Promise((t) => { + this.hasAnimated = !0; + let n = !1, + r; + if ( + ((r = e(() => { + if ( + ((n = !0), + this.events.animationComplete?.notify(), + this.animation === r) + ) + this.clearAnimation(); + t(); + })), + !n) + ) + this.animation = r; + this.events.animationStart?.notify(); + }) + ); + } + stop() { + if (this.animation) { + if ((this.animation.stop(), this.events.animationCancel)) + this.events.animationCancel.notify(); + } + this.clearAnimation(); + } + isAnimating() { + return !!this.animation; + } + clearAnimation() { + this.animation = void 0; + } + destroy() { + if ( + (this.dependents?.clear(), + this.events.destroy?.notify(), + this.clearListeners(), + this.stop(), + this.stopPassiveEffect) + ) + this.stopPassiveEffect(); + } +} +function L2(e, t) { + return new _ct(e, t); +} +var Nct = 30, + SLn = (e) => !isNaN(parseFloat(e)), + zct; +var w9 = P(() => { + Ro(); + M2(); + $1(); + zct = { current: void 0 }; +}); +function nne(e, t) { + if (e?.inherit && t) { + let { inherit: n, ...r } = e; + return { ...t, ...r }; + } + return e; +} +var a6e = () => {}; +function S9(e, t) { + let n = e?.[t] ?? e?.default ?? e; + if (n !== e) return nne(n, e); + return n; +} +var rne = P(() => { + a6e(); +}); +var CLn, + ELn = (e) => ({ + type: "spring", + stiffness: 550, + damping: e === 0 ? 2 * Math.sqrt(550) : 30, + restSpeed: 10, + }), + ILn, + TLn, + Hct = (e, { keyframes: t }) => { + if (t.length > 2) return ILn; + else if (ny.has(e)) return e.startsWith("scale") ? ELn(t[1]) : CLn; + return TLn; + }; +var Vct = P(() => { + D2(); + ((CLn = { type: "spring", stiffness: 500, damping: 25, restSpeed: 10 }), + (ILn = { type: "keyframes", duration: 0.8 }), + (TLn = { type: "keyframes", ease: [0.25, 0.1, 0.35, 1], duration: 0.3 })); +}); +function Gct(e) { + for (let t in e) if (!kLn.has(t)) return !0; + return !1; +} +var kLn; +var qct = P(() => { + kLn = new Set([ + "when", + "delay", + "delayChildren", + "staggerChildren", + "staggerDirection", + "repeat", + "repeatType", + "repeatDelay", + "from", + "elapsed", + ]); +}); +var LE = + (e, t, n, r = {}, o, a) => + (i) => { + let s = S9(r, e) || {}, + l = s.delay || r.delay || 0, + { elapsed: c = 0 } = r; + c = c - Ed(l); + let u = { + keyframes: Array.isArray(n) ? n : [null, n], + ease: "easeOut", + velocity: t.getVelocity(), + ...s, + delay: -c, + onUpdate: (p) => { + (t.set(p), s.onUpdate && s.onUpdate(p)); + }, + onComplete: () => { + (i(), s.onComplete && s.onComplete()); + }, + name: e, + motionValue: t, + element: a ? void 0 : o, + }; + if (!Gct(s)) Object.assign(u, Hct(e, u)); + if ( + (u.duration && (u.duration = Ed(u.duration)), + u.repeatDelay && (u.repeatDelay = Ed(u.repeatDelay)), + u.from !== void 0) + ) + u.keyframes[0] = u.from; + let d = !1; + if (u.type === !1 || (u.duration === 0 && !u.repeatDelay)) { + if ((Cz(u), u.delay === 0)) d = !0; + } + if ( + If.instantAnimations || + If.skipAnimations || + o?.shouldSkipAnimations || + s.skipAnimations + ) + ((d = !0), Cz(u), (u.delay = 0)); + if ( + ((u.allowFlatten = !s.type && !s.ease), d && !a && t.get() !== void 0) + ) { + let p = f6(u.keyframes, s); + if (p !== void 0) { + Po.update(() => { + (u.onUpdate(p), u.onComplete()); + }); + return; + } + } + return s.isSync ? new m6(u) : new r6e(u); + }; +var one = P(() => { + Ro(); + Uct(); + qte(); + rne(); + t6e(); + Vct(); + xz(); + qct(); + $1(); +}); +function PLn(e) { + let t = RLn.exec(e); + if (!t) return [,]; + let [, n, r, o] = t; + return [`--${n ?? r}`, o]; +} +function i6e(e, t, n = 1) { + lh( + n <= MLn, + `Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`, + "max-css-var-depth", + ); + let [r, o] = PLn(e); + if (!r) return; + let a = window.getComputedStyle(t).getPropertyValue(r); + if (a) { + let i = a.trim(); + return CE(i) ? parseFloat(i) : i; + } + return p9(o) ? i6e(o, t, n + 1) : o; +} +var RLn, + MLn = 4; +var Zct = P(() => { + Ro(); + f9(); + RLn = /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u; +}); +function Qct(e) { + let t = [{}, {}]; + return ( + e?.values.forEach((n, r) => { + ((t[0][r] = n.get()), (t[1][r] = n.getVelocity())); + }), + t + ); +} +function BE(e, t, n, r) { + if (typeof t === "function") { + let [o, a] = Qct(r); + t = t(n !== void 0 ? n : e.custom, o, a); + } + if (typeof t === "string") t = e.variants && e.variants[t]; + if (typeof t === "function") { + let [o, a] = Qct(r); + t = t(n !== void 0 ? n : e.custom, o, a); + } + return t; +} +var ane = () => {}; +function kg(e, t, n) { + let r = e.getProps(); + return BE(r, t, n !== void 0 ? n : r.custom, e); +} +var C9 = P(() => { + ane(); +}); +var ine; +var s6e = P(() => { + D2(); + ine = new Set(["width", "height", "top", "left", "right", "bottom", ...Jb]); +}); +var Iz = (e) => Array.isArray(e); +var l6e = () => {}; +function DLn(e, t, n) { + if (e.hasValue(t)) e.getValue(t).set(n); + else e.addValue(t, L2(n)); +} +function LLn(e) { + return Iz(e) ? e[e.length - 1] || 0 : e; +} +function Xct(e, t) { + let n = kg(e, t), + { transitionEnd: r = {}, transition: o = {}, ...a } = n || {}; + a = { ...a, ...r }; + for (let i in a) { + let s = LLn(a[i]); + DLn(e, i, s); + } +} +var Wct = P(() => { + w9(); + C9(); + l6e(); +}); +var Qi = (e) => Boolean(e && e.getVelocity); +var jb = () => {}; +function Yct(e) { + return Boolean(Qi(e) && e.add); +} +var Kct = P(() => { + jb(); +}); +function E9(e, t) { + let n = e.getValue("willChange"); + if (Yct(n)) return n.add(t); + else if (!n && If.WillChange) { + let r = new If.WillChange("auto"); + (e.addValue("willChange", r), r.add(t)); + } +} +var c6e = P(() => { + Ro(); + Kct(); +}); +function I9(e) { + return e.replace(/([A-Z])/g, (t) => `-${t.toLowerCase()}`); +} +var sne = () => {}; +var Jct = "framerAppearId", + Tz; +var u6e = P(() => { + sne(); + Tz = "data-" + I9(Jct); +}); +function lne(e) { + return e.props[Tz]; +} +var d6e = P(() => { + u6e(); +}); +function OLn({ protectedKeys: e, needsAnimating: t }, n) { + let r = e.hasOwnProperty(n) && t[n] !== !0; + return ((t[n] = !1), r); +} +function cne(e, t, { delay: n = 0, transitionOverride: r, type: o } = {}) { + let { transition: a, transitionEnd: i, ...s } = t, + l = e.getDefaultTransition(); + a = a ? nne(a, l) : l; + let c = a?.reduceMotion, + u = a?.skipAnimations; + if (r) a = r; + let d = [], + p = o && e.animationState && e.animationState.getState()[o], + f = a?.path; + if (f) f.animateVisualElement(e, s, a, n, d); + for (let m in s) { + let g = e.getValue(m, e.latestValues[m] ?? null), + v = s[m]; + if (v === void 0 || (p && OLn(p, m))) continue; + let y = { delay: n, ...S9(a || {}, m) }; + if (u) y.skipAnimations = !0; + let x = g.get(); + if ( + x !== void 0 && + !g.isAnimating() && + !Array.isArray(v) && + v === x && + !y.velocity + ) { + Po.update(() => g.set(v)); + continue; + } + let A = !1; + if (BLn && window.MotionHandoffAnimation) { + let E = lne(e); + if (E) { + let T = window.MotionHandoffAnimation(E, m, Po); + if (T !== null) ((y.startTime = T), (A = !0)); + } + } + E9(e, m); + let w = c ?? e.shouldReduceMotion; + g.start(LE(m, g, v, w && ine.has(m) ? { type: !1 } : y, e, A)); + let C = g.animation; + if (C) d.push(C); + } + if (i) { + let m = () => + Po.update(() => { + i && Xct(e, i); + }); + if (d.length) Promise.all(d).then(m); + else m(); + } + return d; +} +var BLn; +var p6e = P(() => { + rne(); + a6e(); + s6e(); + Wct(); + c6e(); + d6e(); + one(); + $1(); + BLn = typeof window < "u"; +}); +function une(e, t, n = {}) { + let r = kg(e, t, n.type === "exit" ? e.presenceContext?.custom : void 0), + { transition: o = e.getDefaultTransition() || {} } = r || {}; + if (n.transitionOverride) o = n.transitionOverride; + let a = r ? () => Promise.all(cne(e, r, n)) : () => Promise.resolve(), + i = + e.variantChildren && e.variantChildren.size + ? (l = 0) => { + let { + delayChildren: c = 0, + staggerChildren: u, + staggerDirection: d, + } = o; + return FLn(e, t, l, c, u, d, n); + } + : () => Promise.resolve(), + { when: s } = o; + if (s) { + let [l, c] = s === "beforeChildren" ? [a, i] : [i, a]; + return l().then(() => c()); + } else return Promise.all([a(), i(n.delay)]); +} +function FLn(e, t, n = 0, r = 0, o = 0, a = 1, i) { + let s = []; + for (let l of e.variantChildren) + (l.notify("AnimationStart", t), + s.push( + une(l, t, { + ...i, + delay: + n + + (typeof r === "function" ? 0 : r) + + tne(e.variantChildren, l, r, o, a), + }).then(() => l.notify("AnimationComplete", t)), + )); + return Promise.all(s); +} +var jct = P(() => { + C9(); + o6e(); + p6e(); +}); +function $ct(e, t, n = {}) { + e.notify("AnimationStart", t); + let r; + if (Array.isArray(t)) { + let o = t.map((a) => une(e, a, n)); + r = Promise.all(o); + } else if (typeof t === "string") r = une(e, t, n); + else { + let o = typeof t === "function" ? kg(e, t, n.custom) : t; + r = Promise.all(cne(e, o, n)); + } + return r.then(() => { + e.notify("AnimationComplete", t); + }); +} +var eut = P(() => { + C9(); + p6e(); + jct(); +}); +var tut; +var nut = P(() => { + tut = { test: (e) => e === "auto", parse: (e) => e }; +}); +var rut = (e) => (t) => t.test(e); +var out = () => {}; +var ULn, + f6e = (e) => ULn.find(rut(e)); +var aut = P(() => { + nut(); + d6(); + Yb(); + out(); + ULn = [Xb, Kn, um, ey, y4e, g4e, tut]; +}); +function iut(e) { + if (typeof e === "number") return e === 0; + else if (e !== null) return e === "none" || e === "0" || EE(e); + else return !0; +} +var sut = P(() => { + Ro(); +}); +function lut(e, t, n) { + let r = 0, + o = void 0; + while (r < e.length && !o) { + let a = e[r]; + if (typeof a === "string" && !NLn.has(a) && Elt(a)) o = e[r]; + r++; + } + if (o && n) + for (let a of t) { + if (e[a] === o) continue; + e[a] = A9(n, o); + } +} +var NLn; +var cut = P(() => { + Kb(); + Xte(); + NLn = new Set(["auto", "none", "0"]); +}); +var m6e; +var uut = P(() => { + s6e(); + aut(); + Zct(); + f9(); + Kte(); + sut(); + cut(); + _4e(); + m6e = class m6e extends ME { + constructor(e, t, n, r, o) { + super(e, t, n, r, o, !0); + } + readKeyframes() { + let { unresolvedKeyframes: e, element: t, name: n } = this; + if (!t || !t.current) return; + super.readKeyframes(); + for (let c = 0; c < e.length; c++) { + let u = e[c]; + if (typeof u === "string") { + if (((u = u.trim()), p9(u))) { + let d = i6e(u, t.current); + if (d !== void 0) e[c] = d; + if (c === e.length - 1) this.finalKeyframe = u; + } + } + } + if ((this.resolveNoneKeyframes(), !ine.has(n) || e.length !== 2)) return; + let [r, o] = e; + if (typeof r === "number" && typeof o === "number") return; + let a = f6e(r), + i = f6e(o), + s = f4e(r), + l = f4e(o); + if (s !== l && h6[n]) { + this.needsMeasurement = !0; + return; + } + if (a === i) return; + if (z4e(a) && z4e(i)) + for (let c = 0; c < e.length; c++) { + let u = e[c]; + if (typeof u === "string") e[c] = parseFloat(u); + } + else if (h6[n]) this.needsMeasurement = !0; + } + resolveNoneKeyframes() { + let { unresolvedKeyframes: e, name: t } = this, + n = []; + for (let r = 0; r < e.length; r++) + if (e[r] === null || iut(e[r])) n.push(r); + if (n.length) lut(e, n, t); + } + measure() { + let { element: e, name: t } = this; + return h6[t](window.getComputedStyle(e.current), () => + e.measureViewportBox(), + ); + } + measureInitialState() { + let { element: e, unresolvedKeyframes: t, name: n } = this; + if (!e || !e.current) return; + if (n === "height") this.suspendedScrollY = window.pageYOffset; + ((this.measuredOrigin = this.measure()), (t[0] = this.measuredOrigin)); + let r = t[t.length - 1]; + if (r !== void 0) this.motionValue?.jump(r, !1); + } + measureEndState() { + let { element: e, unresolvedKeyframes: t } = this; + if (!e || !e.current) return; + this.motionValue?.jump(this.measuredOrigin, !1); + let n = t.length - 1, + r = t[n]; + if ( + ((t[n] = this.measure()), r !== null && this.finalKeyframe === void 0) + ) + this.finalKeyframe = r; + if (this.removedTransforms?.length) + this.removedTransforms.forEach(([o, a]) => { + e.getValue(o).set(a); + }); + this.resolveNoneKeyframes(); + } + }; +}); +var kz; +var h6e = P(() => { + kz = [ + "borderTopLeftRadius", + "borderTopRightRadius", + "borderBottomRightRadius", + "borderBottomLeftRadius", + ]; +}); +function OE(e) { + return oz(e) && "offsetHeight" in e && !("ownerSVGElement" in e); +} +var g6e = P(() => { + Ro(); +}); +function T9(e) { + return oz(e) && "ownerSVGElement" in e; +} +var dne = P(() => { + Ro(); +}); +var Rz = (e, t) => (t && typeof e === "number" ? t.transform(e) : e); +var y6e = () => {}; +function pne(e, t, n) { + if (e == null) return []; + if (e instanceof EventTarget) return [e]; + else if (typeof e === "string") { + let r = document; + if (t) r = t.current; + let o = n?.[e] ?? r.querySelectorAll(e); + return o ? Array.from(o) : []; + } + return Array.from(e).filter((r) => r != null); +} +var v6e = () => {}; +function dut(e, t, n) { + let r = "", + o = !0; + for (let i = 0; i < _Ln; i++) { + let s = Jb[i], + l = e[s]; + if (l === void 0) continue; + let c = !0; + if (typeof l === "number") c = l === (s.startsWith("scale") ? 1 : 0); + else { + let u = parseFloat(l); + c = s.startsWith("scale") ? u === 1 : u === 0; + } + if (!c || n) { + let u = Rz(l, kE[s]); + if (!c) { + o = !1; + let d = zLn[s] || s; + r += `${d}(${u}) `; + } + if (n) t[s] = u; + } + } + let a = e.pathRotation; + if (a) ((o = !1), (r += `rotate(${Rz(a, kE.pathRotation)}) `)); + if (((r = r.trim()), n)) r = n(t, o ? "" : r); + else if (o) r = "none"; + return r; +} +var zLn, _Ln; +var put = P(() => { + y6e(); + Zte(); + D2(); + ((zLn = { + x: "translateX", + y: "translateY", + z: "translateZ", + transformPerspective: "perspective", + }), + (_Ln = Jb.length)); +}); +function FE(e, t, n) { + let { style: r, vars: o, transformOrigin: a } = e, + i = !1, + s = !1; + for (let l in t) { + let c = t[l]; + if (ny.has(l)) { + i = !0; + continue; + } else if (Tte(l)) { + o[l] = c; + continue; + } else { + let u = Rz(c, kE[l]); + if (l.startsWith("origin")) ((s = !0), (a[l] = u)); + else r[l] = u; + } + } + if (!t.transform) { + if (i || n) r.transform = dut(t, e.transform, n); + else if (r.transform) r.transform = "none"; + } + if (s) { + let { originX: l = "50%", originY: c = "50%", originZ: u = 0 } = a; + r.transformOrigin = `${l} ${c} ${u}`; + } +} +var fne = P(() => { + y6e(); + Zte(); + D2(); + f9(); + put(); +}); +function fut(e, t, n = 1, r = 0, o = !0) { + e.pathLength = 1; + let a = o ? HLn : VLn; + ((e[a.offset] = `${-r}`), (e[a.array] = `${t} ${n}`)); +} +var HLn, VLn; +var mut = P(() => { + ((HLn = { offset: "stroke-dashoffset", array: "stroke-dasharray" }), + (VLn = { offset: "strokeDashoffset", array: "strokeDasharray" })); +}); +function Pz( + e, + { + attrX: t, + attrY: n, + attrScale: r, + pathLength: o, + pathSpacing: a = 1, + pathOffset: i = 0, + ...s + }, + l, + c, + u, +) { + if ((FE(e, s, c), l)) { + if (e.style.viewBox) e.attrs.viewBox = e.style.viewBox; + return; + } + ((e.attrs = e.style), (e.style = {})); + let { attrs: d, style: p } = e; + for (let f of b6e) if (d[f] !== void 0) ((p[f] = d[f]), delete d[f]); + if (p.transform || d.transformOrigin) + ((p.transformOrigin = d.transformOrigin ?? "50% 50%"), + delete d.transformOrigin); + if (p.transform) + ((p.transformBox = u?.transformBox ?? "fill-box"), delete d.transformBox); + if (t !== void 0) d.x = t; + if (n !== void 0) d.y = n; + if (r !== void 0) d.scale = r; + if (o !== void 0) fut(d, o, a, i, !1); +} +var b6e; +var x6e = P(() => { + fne(); + mut(); + b6e = [ + "transform", + "opacity", + "offsetDistance", + "offsetPath", + "offsetRotate", + "offsetAnchor", + ]; +}); +function Mz({ top: e, left: t, right: n, bottom: r }) { + return { x: { min: t, max: n }, y: { min: e, max: r } }; +} +function A6e({ x: e, y: t }) { + return { top: t.min, right: e.max, bottom: t.max, left: e.min }; +} +function w6e(e, t) { + if (!t) return e; + let n = t({ x: e.left, y: e.top }), + r = t({ x: e.right, y: e.bottom }); + return { top: n.y, left: n.x, bottom: r.y, right: r.x }; +} +var S6e = () => {}; +function C6e(e) { + return e === void 0 || e === 1; +} +function mne({ scale: e, scaleX: t, scaleY: n }) { + return !C6e(e) || !C6e(t) || !C6e(n); +} +function h3(e) { + return ( + mne(e) || + E6e(e) || + e.z || + e.rotate || + e.rotateX || + e.rotateY || + e.skewX || + e.skewY + ); +} +function E6e(e) { + return hut(e.x) || hut(e.y); +} +function hut(e) { + return e && e !== "0%"; +} +var I6e = () => {}; +function Dz(e, t, n) { + let r = e - n, + o = t * r; + return n + o; +} +function gut(e, t, n, r, o) { + if (o !== void 0) e = Dz(e, o, r); + return Dz(e, n, r) + t; +} +function T6e(e, t = 0, n = 1, r, o) { + ((e.min = gut(e.min, t, n, r, o)), (e.max = gut(e.max, t, n, r, o))); +} +function k6e(e, { x: t, y: n }) { + (T6e(e.x, t.translate, t.scale, t.originPoint), + T6e(e.y, n.translate, n.scale, n.originPoint)); +} +function Aut(e, t, n, r = !1) { + let o = n.length; + if (!o) return; + t.x = t.y = 1; + let a, i; + for (let s = 0; s < o; s++) { + ((a = n[s]), (i = a.projectionDelta)); + let { visualElement: l } = a.options; + if (l && l.props.style && l.props.style.display === "contents") continue; + if (r && a.options.layoutScroll && a.scroll && a !== a.root) + (ry(e.x, -a.scroll.offset.x), ry(e.y, -a.scroll.offset.y)); + if (i) ((t.x *= i.x.scale), (t.y *= i.y.scale), k6e(e, i)); + if (r && h3(a.latestValues)) Lz(e, a.latestValues, a.layout?.layoutBox); + } + if (t.x < vut && t.x > yut) t.x = 1; + if (t.y < vut && t.y > yut) t.y = 1; +} +function ry(e, t) { + ((e.min += t), (e.max += t)); +} +function but(e, t, n, r, o = 0.5) { + let a = _o(e.min, e.max, o); + T6e(e, t, n, a, r); +} +function xut(e, t) { + if (typeof e === "string") return (parseFloat(e) / 100) * (t.max - t.min); + return e; +} +function Lz(e, t, n) { + let r = n ?? e; + (but(e.x, xut(t.x, r.x), t.scaleX, t.scale, t.originX), + but(e.y, xut(t.y, r.y), t.scaleY, t.scale, t.originY)); +} +var yut = 0.999999999999, + vut = 1.0000000000001; +var hne = P(() => { + ty(); + I6e(); +}); +function gne(e, t) { + return Mz(w6e(e.getBoundingClientRect(), t)); +} +function R6e(e, t, n) { + let r = gne(e, n), + { scroll: o } = t; + if (o) (ry(r.x, o.offset.x), ry(r.y, o.offset.y)); + return r; +} +var P6e = P(() => { + S6e(); + hne(); +}); +var UE, GLn; +var yne = P(() => { + p4e(); + ({ schedule: UE, cancel: GLn } = Ete(queueMicrotask, !1)); +}); +function vne() { + return oy.x || oy.y; +} +var oy; +var bne = P(() => { + oy = { x: !1, y: !1 }; +}); +function M6e(e) { + if (e === "x" || e === "y") + if (oy[e]) return null; + else + return ( + (oy[e] = !0), + () => { + oy[e] = !1; + } + ); + else if (oy.x || oy.y) return null; + else + return ( + (oy.x = oy.y = !0), + () => { + oy.x = oy.y = !1; + } + ); +} +var wut = P(() => { + bne(); +}); +function xne(e, t) { + let n = pne(e), + r = new AbortController(), + o = { passive: !0, ...t, signal: r.signal }; + return [n, o, () => r.abort()]; +} +var D6e = P(() => { + v6e(); +}); +function qLn(e) { + return !(e.pointerType === "touch" || vne()); +} +function L6e(e, t, n = {}) { + let [r, o, a] = xne(e, n); + return ( + r.forEach((i) => { + let s = !1, + l = !1, + c, + u = () => { + i.removeEventListener("pointerleave", m); + }, + d = (v) => { + if (c) (c(v), (c = void 0)); + u(); + }, + p = (v) => { + if ( + ((s = !1), + window.removeEventListener("pointerup", p), + window.removeEventListener("pointercancel", p), + l) + ) + ((l = !1), d(v)); + }, + f = () => { + ((s = !0), + window.addEventListener("pointerup", p, o), + window.addEventListener("pointercancel", p, o)); + }, + m = (v) => { + if (v.pointerType === "touch") return; + if (s) { + l = !0; + return; + } + d(v); + }, + g = (v) => { + if (!qLn(v)) return; + l = !1; + let y = t(i, v); + if (typeof y !== "function") return; + ((c = y), i.addEventListener("pointerleave", m, o)); + }; + (i.addEventListener("pointerenter", g, o), + i.addEventListener("pointerdown", f, o)); + }), + a + ); +} +var Sut = P(() => { + bne(); + D6e(); +}); +var B6e = (e, t) => { + if (!t) return !1; + else if (e === t) return !0; + else return B6e(e, t.parentElement); +}; +var Cut = () => {}; +var NE = (e) => { + if (e.pointerType === "mouse") + return typeof e.button !== "number" || e.button <= 0; + else return e.isPrimary !== !1; +}; +var O6e = () => {}; +function F6e(e) { + return ZLn.has(e.tagName) || e.isContentEditable === !0; +} +function U6e(e) { + return QLn.has(e.tagName) || e.isContentEditable === !0; +} +var ZLn, QLn; +var N6e = P(() => { + ZLn = new Set(["BUTTON", "INPUT", "SELECT", "TEXTAREA", "A"]); + QLn = new Set(["INPUT", "SELECT", "TEXTAREA"]); +}); +var k9; +var z6e = P(() => { + k9 = new WeakSet(); +}); +function Eut(e) { + return (t) => { + if (t.key !== "Enter") return; + e(t); + }; +} +function _6e(e, t) { + e.dispatchEvent( + new PointerEvent("pointer" + t, { isPrimary: !0, bubbles: !0 }), + ); +} +var Iut = (e, t) => { + let n = e.currentTarget; + if (!n) return; + let r = Eut(() => { + if (k9.has(n)) return; + _6e(n, "down"); + let o = Eut(() => { + _6e(n, "up"); + }), + a = () => _6e(n, "cancel"); + (n.addEventListener("keyup", o, t), n.addEventListener("blur", a, t)); + }); + (n.addEventListener("keydown", r, t), + n.addEventListener("blur", () => n.removeEventListener("keydown", r), t)); +}; +var Tut = P(() => { + z6e(); +}); +function kut(e) { + return NE(e) && !vne(); +} +function H6e(e, t, n = {}) { + let [r, o, a] = xne(e, n), + i = (s) => { + let l = s.currentTarget; + if (!kut(s)) return; + if (Rut.has(s)) return; + if ((k9.add(l), n.stopPropagation)) Rut.add(s); + let c = t(l, s), + u = { ...o, capture: !0 }, + d = (m, g) => { + if ( + (window.removeEventListener("pointerup", p, u), + window.removeEventListener("pointercancel", f, u), + k9.has(l)) + ) + k9.delete(l); + if (!kut(m)) return; + if (typeof c === "function") c(m, { success: g }); + }, + p = (m) => { + d( + m, + l === window || + l === document || + n.useGlobalTarget || + B6e(l, m.target), + ); + }, + f = (m) => { + d(m, !1); + }; + (window.addEventListener("pointerup", p, u), + window.addEventListener("pointercancel", f, u)); + }; + return ( + r.forEach((s) => { + if ( + ((n.useGlobalTarget ? window : s).addEventListener("pointerdown", i, o), + OE(s)) + ) { + if ( + (s.addEventListener("focus", (c) => Iut(c, o)), + !F6e(s) && !s.hasAttribute("tabindex")) + ) + s.tabIndex = 0; + } + }), + a + ); +} +var Rut; +var Put = P(() => { + g6e(); + bne(); + Cut(); + O6e(); + D6e(); + N6e(); + Tut(); + z6e(); + Rut = new WeakSet(); +}); +function YLn({ target: e, borderBoxSize: t }) { + Ane.get(e)?.forEach((n) => { + n(e, { + get width() { + return XLn(e, t); + }, + get height() { + return WLn(e, t); + }, + }); + }); +} +function KLn(e) { + e.forEach(YLn); +} +function JLn() { + if (typeof ResizeObserver > "u") return; + wne = new ResizeObserver(KLn); +} +function Dut(e, t) { + if (!wne) JLn(); + let n = pne(e); + return ( + n.forEach((r) => { + let o = Ane.get(r); + if (!o) ((o = new Set()), Ane.set(r, o)); + (o.add(t), wne?.observe(r)); + }), + () => { + n.forEach((r) => { + let o = Ane.get(r); + if ((o?.delete(t), !o?.size)) wne?.unobserve(r); + }); + } + ); +} +var Ane, + wne, + Mut = (e, t, n) => (r, o) => { + if (o && o[0]) return o[0][e + "Size"]; + else if (T9(r) && "getBBox" in r) return r.getBBox()[t]; + else return r[n]; + }, + XLn, + WLn; +var Lut = P(() => { + dne(); + v6e(); + ((Ane = new WeakMap()), + (XLn = Mut("inline", "width", "offsetWidth")), + (WLn = Mut("block", "height", "offsetHeight"))); +}); +function jLn() { + ((R9 = () => { + let e = { + get width() { + return window.innerWidth; + }, + get height() { + return window.innerHeight; + }, + }; + Sne.forEach((t) => t(e)); + }), + window.addEventListener("resize", R9)); +} +function But(e) { + if ((Sne.add(e), !R9)) jLn(); + return () => { + if ((Sne.delete(e), !Sne.size && typeof R9 === "function")) + (window.removeEventListener("resize", R9), (R9 = void 0)); + }; +} +var Sne, R9; +var Out = P(() => { + Sne = new Set(); +}); +function Cne(e, t) { + return typeof e === "function" ? But(e) : Dut(e, t); +} +var Fut = P(() => { + Lut(); + Out(); +}); +var zE; +var Uut = P(() => { + zE = { value: null, addProjectionMetrics: null }; +}); +function Nut(e) { + return T9(e) && e.tagName === "svg"; +} +var zut = P(() => { + dne(); +}); +var V6e = () => ({ translate: 0, scale: 1, origin: 0, originPoint: 0 }), + g6 = () => ({ x: V6e(), y: V6e() }), + G6e = () => ({ min: 0, max: 0 }), + hl = () => ({ x: G6e(), y: G6e() }); +var Bz = () => {}; +var _ut; +var Hut = P(() => { + _ut = new WeakMap(); +}); +function g3(e) { + return e !== null && typeof e === "object" && typeof e.start === "function"; +} +var Ene = () => {}; +function $b(e) { + return typeof e === "string" || Array.isArray(e); +} +var Oz = () => {}; +var Ine, P9; +var Tne = P(() => { + ((Ine = [ + "animate", + "whileInView", + "whileFocus", + "whileHover", + "whileTap", + "whileDrag", + "exit", + ]), + (P9 = ["initial", ...Ine])); +}); +function y6(e) { + if (g3(e.animate)) return !0; + for (let t = 0; t < P9.length; t++) if ($b(e[P9[t]])) return !0; + return !1; +} +function Fz(e) { + return Boolean(y6(e) || e.variants); +} +var q6e = P(() => { + Ene(); + Oz(); + Tne(); +}); +function Vut(e, t, n) { + for (let r in t) { + let o = t[r], + a = n[r]; + if (Qi(o)) e.addValue(r, o); + else if (Qi(a)) e.addValue(r, L2(o, { owner: e })); + else if (a !== o) + if (e.hasValue(r)) { + let i = e.getValue(r); + if (i.liveStyle === !0) i.jump(o); + else if (!i.hasAnimated) i.set(o); + } else { + let i = e.getStaticValue(r); + e.addValue(r, L2(i !== void 0 ? i : o, { owner: e })); + } + } + for (let r in n) if (t[r] === void 0) e.removeValue(r); + return t; +} +var Gut = P(() => { + w9(); + jb(); +}); +var Uz, kne; +var Z6e = P(() => { + ((Uz = { current: null }), (kne = { current: !1 })); +}); +function qut() { + if (((kne.current = !0), !$Ln)) return; + if (window.matchMedia) { + let e = window.matchMedia("(prefers-reduced-motion)"), + t = () => (Uz.current = e.matches); + (e.addEventListener("change", t), t()); + } else Uz.current = !1; +} +var $Ln; +var Zut = P(() => { + Z6e(); + $Ln = typeof window < "u"; +}); +function Nz(e) { + Rne = e; +} +function Q6e() { + return Rne; +} +class Pne { + scrapeMotionValuesFromProps(e, t, n) { + return {}; + } + constructor( + { + parent: e, + props: t, + presenceContext: n, + reducedMotionConfig: r, + skipAnimations: o, + blockInitialAnimation: a, + visualState: i, + }, + s = {}, + ) { + ((this.current = null), + (this.children = new Set()), + (this.isVariantNode = !1), + (this.isControllingVariants = !1), + (this.shouldReduceMotion = null), + (this.shouldSkipAnimations = !1), + (this.values = new Map()), + (this.KeyframeResolver = ME), + (this.features = {}), + (this.valueSubscriptions = new Map()), + (this.prevMotionValues = {}), + (this.hasBeenMounted = !1), + (this.events = {}), + (this.propEventSubscriptions = {}), + (this.notifyUpdate = () => this.notify("Update", this.latestValues)), + (this.render = () => { + if (!this.current) return; + (this.triggerBuild(), + this.renderInstance( + this.current, + this.renderState, + this.props.style, + this.projection, + )); + }), + (this.renderScheduledAt = 0), + (this.scheduleRender = () => { + let p = ts.now(); + if (this.renderScheduledAt < p) + ((this.renderScheduledAt = p), Po.render(this.render, !1, !0)); + })); + let { latestValues: l, renderState: c } = i; + if ( + ((this.latestValues = l), + (this.baseTarget = { ...l }), + (this.initialValues = t.initial ? { ...l } : {}), + (this.renderState = c), + (this.parent = e), + (this.props = t), + (this.presenceContext = n), + (this.depth = e ? e.depth + 1 : 0), + (this.reducedMotionConfig = r), + (this.skipAnimationsConfig = o), + (this.options = s), + (this.blockInitialAnimation = Boolean(a)), + (this.isControllingVariants = y6(t)), + (this.isVariantNode = Fz(t)), + this.isVariantNode) + ) + this.variantChildren = new Set(); + this.manuallyAnimateOnMount = Boolean(e && e.current); + let { willChange: u, ...d } = this.scrapeMotionValuesFromProps(t, {}, this); + for (let p in d) { + let f = d[p]; + if (l[p] !== void 0 && Qi(f)) f.set(l[p]); + } + } + mount(e) { + if (this.hasBeenMounted) + for (let t in this.initialValues) + (this.values.get(t)?.jump(this.initialValues[t]), + (this.latestValues[t] = this.initialValues[t])); + if ( + ((this.current = e), + _ut.set(e, this), + this.projection && !this.projection.instance) + ) + this.projection.mount(e); + if (this.parent && this.isVariantNode && !this.isControllingVariants) + this.removeFromVariantTree = this.parent.addVariantChild(this); + if ( + (this.values.forEach((t, n) => this.bindToMotionValue(n, t)), + this.reducedMotionConfig === "never") + ) + this.shouldReduceMotion = !1; + else if (this.reducedMotionConfig === "always") + this.shouldReduceMotion = !0; + else { + if (!kne.current) qut(); + this.shouldReduceMotion = Uz.current; + } + ((this.shouldSkipAnimations = this.skipAnimationsConfig ?? !1), + this.parent?.addChild(this), + this.update(this.props, this.presenceContext), + (this.hasBeenMounted = !0)); + } + unmount() { + (this.projection && this.projection.unmount(), + u0(this.notifyUpdate), + u0(this.render), + this.valueSubscriptions.forEach((e) => e()), + this.valueSubscriptions.clear(), + this.removeFromVariantTree && this.removeFromVariantTree(), + this.parent?.removeChild(this)); + for (let e in this.events) this.events[e].clear(); + for (let e in this.features) { + let t = this.features[e]; + if (t) (t.unmount(), (t.isMounted = !1)); + } + this.current = null; + } + addChild(e) { + (this.children.add(e), + this.enteringChildren ?? (this.enteringChildren = new Set()), + this.enteringChildren.add(e)); + } + removeChild(e) { + (this.children.delete(e), + this.enteringChildren && this.enteringChildren.delete(e)); + } + bindToMotionValue(e, t) { + if (this.valueSubscriptions.has(e)) this.valueSubscriptions.get(e)(); + if (t.accelerate && Ez.has(e) && this.current instanceof HTMLElement) { + let { + factory: a, + keyframes: i, + times: s, + ease: l, + duration: c, + } = t.accelerate, + u = new Sz({ + element: this.current, + name: e, + keyframes: i, + times: s, + ease: l, + duration: Ed(c), + }), + d = a(u); + this.valueSubscriptions.set(e, () => { + (d(), u.cancel()); + }); + return; + } + let n = ny.has(e); + if (n && this.onBindTransform) this.onBindTransform(); + let r = t.on("change", (a) => { + if ( + ((this.latestValues[e] = a), + this.props.onUpdate && Po.preRender(this.notifyUpdate), + n && this.projection) + ) + this.projection.isTransformDirty = !0; + this.scheduleRender(); + }), + o; + if (typeof window < "u" && window.MotionCheckAppearSync) + o = window.MotionCheckAppearSync(this, e, t); + this.valueSubscriptions.set(e, () => { + if ((r(), o)) o(); + }); + } + sortNodePosition(e) { + if (!this.current || !this.sortInstanceNodePosition || this.type !== e.type) + return 0; + return this.sortInstanceNodePosition(this.current, e.current); + } + updateFeatures() { + let e = "animation"; + for (e in Rne) { + let t = Rne[e]; + if (!t) continue; + let { isEnabled: n, Feature: r } = t; + if (!this.features[e] && r && n(this.props)) + this.features[e] = new r(this); + if (this.features[e]) { + let o = this.features[e]; + if (o.isMounted) o.update(); + else (o.mount(), (o.isMounted = !0)); + } + } + } + triggerBuild() { + this.build(this.renderState, this.latestValues, this.props); + } + measureViewportBox() { + return this.current + ? this.measureInstanceViewportBox(this.current, this.props) + : hl(); + } + getStaticValue(e) { + return this.latestValues[e]; + } + setStaticValue(e, t) { + this.latestValues[e] = t; + } + update(e, t) { + if (e.transformTemplate || this.props.transformTemplate) + this.scheduleRender(); + ((this.prevProps = this.props), + (this.props = e), + (this.prevPresenceContext = this.presenceContext), + (this.presenceContext = t)); + for (let n = 0; n < Qut.length; n++) { + let r = Qut[n]; + if (this.propEventSubscriptions[r]) + (this.propEventSubscriptions[r](), + delete this.propEventSubscriptions[r]); + let o = "on" + r, + a = e[o]; + if (a) this.propEventSubscriptions[r] = this.on(r, a); + } + if ( + ((this.prevMotionValues = Vut( + this, + this.scrapeMotionValuesFromProps(e, this.prevProps || {}, this), + this.prevMotionValues, + )), + this.handleChildMotionValue) + ) + this.handleChildMotionValue(); + } + getProps() { + return this.props; + } + getVariant(e) { + return this.props.variants ? this.props.variants[e] : void 0; + } + getDefaultTransition() { + return this.props.transition; + } + getTransformPagePoint() { + return this.props.transformPagePoint; + } + getClosestVariantNode() { + return this.isVariantNode + ? this + : this.parent + ? this.parent.getClosestVariantNode() + : void 0; + } + addVariantChild(e) { + let t = this.getClosestVariantNode(); + if (t) + return ( + t.variantChildren && t.variantChildren.add(e), + () => t.variantChildren.delete(e) + ); + } + addValue(e, t) { + let n = this.values.get(e); + if (t !== n) { + if (n) this.removeValue(e); + (this.bindToMotionValue(e, t), + this.values.set(e, t), + (this.latestValues[e] = t.get())); + } + } + removeValue(e) { + this.values.delete(e); + let t = this.valueSubscriptions.get(e); + if (t) (t(), this.valueSubscriptions.delete(e)); + (delete this.latestValues[e], + this.removeValueFromRenderState(e, this.renderState)); + } + hasValue(e) { + return this.values.has(e); + } + getValue(e, t) { + if (this.props.values && this.props.values[e]) return this.props.values[e]; + let n = this.values.get(e); + if (n === void 0 && t !== void 0) + ((n = L2(t === null ? void 0 : t, { owner: this })), this.addValue(e, n)); + return n; + } + readValue(e, t) { + let n = + this.latestValues[e] !== void 0 || !this.current + ? this.latestValues[e] + : (this.getBaseTargetFromProps(this.props, e) ?? + this.readValueFromInstance(this.current, e, this.options)); + if (n !== void 0 && n !== null) { + if (typeof n === "string" && (CE(n) || EE(n))) n = parseFloat(n); + else if (typeof n !== "number" && !Bc.test(n) && Bc.test(t)) n = A9(e, t); + this.setBaseTarget(e, Qi(n) ? n.get() : n); + } + return Qi(n) ? n.get() : n; + } + setBaseTarget(e, t) { + this.baseTarget[e] = t; + } + getBaseTarget(e) { + let { initial: t } = this.props, + n; + if (typeof t === "string" || typeof t === "object") { + let o = BE(this.props, t, this.presenceContext?.custom); + if (o) n = o[e]; + } + if (t && n !== void 0) return n; + let r = this.getBaseTargetFromProps(this.props, e); + if (r !== void 0 && !Qi(r)) return r; + return this.initialValues[e] !== void 0 && n === void 0 + ? void 0 + : this.baseTarget[e]; + } + on(e, t) { + if (!this.events[e]) this.events[e] = new f3(); + return this.events[e].add(t); + } + notify(e, ...t) { + if (this.events[e]) this.events[e].notify(...t); + } + scheduleRenderMicrotask() { + UE.render(this.render); + } +} +var Qut, Rne; +var X6e = P(() => { + Ro(); + Kte(); + J4e(); + n6e(); + yne(); + M2(); + Bz(); + w9(); + Kb(); + Xte(); + jb(); + Hut(); + q6e(); + D2(); + Gut(); + Zut(); + ane(); + Z6e(); + $1(); + ((Qut = [ + "AnimationStart", + "AnimationComplete", + "Update", + "BeforeLayoutMeasure", + "LayoutMeasure", + "LayoutAnimationStart", + "LayoutAnimationComplete", + ]), + (Rne = {})); +}); +var zz; +var W6e = P(() => { + jb(); + uut(); + X6e(); + zz = class zz extends Pne { + constructor() { + super(...arguments); + this.KeyframeResolver = m6e; + } + sortInstanceNodePosition(e, t) { + return e.compareDocumentPosition(t) & 2 ? 1 : -1; + } + getBaseTargetFromProps(e, t) { + let n = e.style; + return n ? n[t] : void 0; + } + removeValueFromRenderState(e, { vars: t, style: n }) { + (delete t[e], delete n[e]); + } + handleChildMotionValue() { + if (this.childSubscription) + (this.childSubscription(), delete this.childSubscription); + let { children: e } = this.props; + if (Qi(e)) + this.childSubscription = e.on("change", (t) => { + if (this.current) this.current.textContent = `${t}`; + }); + } + }; +}); +class Pp { + constructor(e) { + ((this.isMounted = !1), (this.node = e)); + } + update() {} +} +var Xut = () => {}; +function Mne(e, { style: t, vars: n }, r, o) { + let a = e.style, + i; + for (i in t) a[i] = t[i]; + o?.applyProjectionStyles(a, r); + for (i in n) a.setProperty(i, n[i]); +} +var Y6e = () => {}; +function Wut(e, t) { + if (t.max === t.min) return 0; + return (e / (t.max - t.min)) * 100; +} +var M9; +var Yut = P(() => { + Yb(); + M9 = { + correct: (e, t) => { + if (!t.target) return e; + if (typeof e === "string") + if (Kn.test(e)) e = parseFloat(e); + else return e; + let n = Wut(e, t.target.x), + r = Wut(e, t.target.y); + return `${n}% ${r}%`; + }, + }; +}); +var Kut; +var Jut = P(() => { + Kb(); + ty(); + Kut = { + correct: (e, { treeScale: t, projectionDelta: n }) => { + let r = e, + o = Bc.parse(e); + if (o.length > 5) return r; + let a = Bc.createTransformer(e), + i = typeof o[0] !== "number" ? 1 : 0, + s = n.x.scale * t.x, + l = n.y.scale * t.y; + ((o[0 + i] /= s), (o[1 + i] /= l)); + let c = _o(s, l, 0.5); + if (typeof o[2 + i] === "number") o[2 + i] /= c; + if (typeof o[3 + i] === "number") o[3 + i] /= c; + return a(o); + }, + }; +}); +var _z; +var K6e = P(() => { + h6e(); + Yut(); + Jut(); + _z = { + borderRadius: { ...M9, applyTo: [...kz] }, + borderTopLeftRadius: M9, + borderTopRightRadius: M9, + borderBottomLeftRadius: M9, + borderBottomRightRadius: M9, + boxShadow: Kut, + }; +}); +function Hz(e, { layout: t, layoutId: n }) { + return ( + ny.has(e) || + e.startsWith("origin") || + ((t || n !== void 0) && (!!_z[e] || e === "opacity")) + ); +} +var J6e = P(() => { + D2(); + K6e(); +}); +function _E(e, t, n) { + let r = e.style, + o = t?.style, + a = {}; + if (!r) return a; + for (let i in r) + if ( + Qi(r[i]) || + (o && Qi(o[i])) || + Hz(i, e) || + n?.getValue(i)?.liveStyle !== void 0 + ) + a[i] = r[i]; + return a; +} +var Dne = P(() => { + jb(); + J6e(); +}); +function eBn(e) { + return window.getComputedStyle(e); +} +var Lne; +var jut = P(() => { + Ro(); + f9(); + D2(); + N4e(); + P6e(); + W6e(); + fne(); + Y6e(); + Dne(); + Lne = class Lne extends zz { + constructor() { + super(...arguments); + ((this.type = "html"), (this.renderInstance = Mne)); + } + mount(e) { + (lh( + Boolean(e.style), + "motion.create() components must forward their ref to a HTML or SVG element", + "custom-component-ref", + ), + super.mount(e)); + } + readValueFromInstance(e, t) { + if (ny.has(t)) return this.projection?.isProjecting ? Wte(t) : ict(e, t); + else { + let n = eBn(e), + r = (Tte(t) ? n.getPropertyValue(t) : n[t]) || 0; + return typeof r === "string" ? r.trim() : r; + } + } + measureInstanceViewportBox(e, { transformPagePoint: t }) { + return gne(e, t); + } + build(e, t, n) { + FE(e, t, n.transformTemplate); + } + scrapeMotionValuesFromProps(e, t, n) { + return _E(e, t, n); + } + }; +}); +var Bne; +var j6e = P(() => { + Bne = new Set([ + "baseFrequency", + "diffuseConstant", + "kernelMatrix", + "kernelUnitLength", + "keySplines", + "keyTimes", + "limitingConeAngle", + "markerHeight", + "markerWidth", + "numOctaves", + "targetX", + "targetY", + "surfaceScale", + "specularConstant", + "specularExponent", + "stdDeviation", + "tableValues", + "viewBox", + "gradientTransform", + "pathLength", + "startOffset", + "textLength", + "lengthAdjust", + ]); +}); +var Vz = (e) => typeof e === "string" && e.toLowerCase() === "svg"; +var $6e = () => {}; +function $ut(e, t, n, r) { + Mne(e, t, void 0, r); + for (let o in t.attrs) e.setAttribute(!Bne.has(o) ? I9(o) : o, t.attrs[o]); +} +var edt = P(() => { + sne(); + Y6e(); + j6e(); +}); +function Gz(e, t, n) { + let r = _E(e, t, n); + for (let o in e) + if (Qi(e[o]) || Qi(t[o])) { + let a = + Jb.indexOf(o) !== -1 + ? "attr" + o.charAt(0).toUpperCase() + o.substring(1) + : o; + r[a] = e[o]; + } + return r; +} +var eCe = P(() => { + jb(); + D2(); + Dne(); +}); +var One; +var tdt = P(() => { + D2(); + O4e(); + Bz(); + W6e(); + sne(); + x6e(); + j6e(); + $6e(); + edt(); + eCe(); + One = class One extends zz { + constructor() { + super(...arguments); + ((this.type = "svg"), + (this.isSVGTag = !1), + (this.measureInstanceViewportBox = hl)); + } + getBaseTargetFromProps(e, t) { + return e[t]; + } + readValueFromInstance(e, t) { + if (ny.has(t)) { + let n = Qte(t); + return n ? n.default || 0 : 0; + } + if (b6e.includes(t)) { + let r = getComputedStyle(e)[t]; + if (typeof r === "string" && r) return r.trim(); + } + return ((t = !Bne.has(t) ? I9(t) : t), e.getAttribute(t)); + } + scrapeMotionValuesFromProps(e, t, n) { + return Gz(e, t, n); + } + build(e, t, n) { + Pz(e, t, this.isSVGTag, n.transformTemplate, n.style); + } + renderInstance(e, t, n, r) { + $ut(e, t, n, r); + } + mount(e) { + ((this.isSVGTag = Vz(e.tagName)), super.mount(e)); + } + }; +}); +function tCe(e) { + if (!e) return; + if (!e.isControllingVariants) { + let n = e.parent ? tCe(e.parent) || {} : {}; + if (e.props.initial !== void 0) n.initial = e.props.initial; + return n; + } + let t = {}; + for (let n = 0; n < tBn; n++) { + let r = P9[n], + o = e.props[r]; + if ($b(o) || o === !1) t[r] = o; + } + return t; +} +var tBn; +var ndt = P(() => { + Oz(); + Tne(); + tBn = P9.length; +}); +function nCe(e, t) { + if (!Array.isArray(t)) return !1; + let n = t.length; + if (n !== e.length) return !1; + for (let r = 0; r < n; r++) if (t[r] !== e[r]) return !1; + return !0; +} +var rdt = () => {}; +function oBn(e) { + return (t) => + Promise.all(t.map(({ animation: n, options: r }) => $ct(e, n, r))); +} +function rCe(e) { + let t = oBn(e), + n = odt(), + r = !0, + o = !1, + a = (c) => (u, d) => { + let p = kg(e, d, c === "exit" ? e.presenceContext?.custom : void 0); + if (p) { + let { transition: f, transitionEnd: m, ...g } = p; + u = { ...u, ...g, ...m }; + } + return u; + }; + function i(c) { + t = c(e); + } + function s(c) { + let { props: u } = e, + d = tCe(e.parent) || {}, + p = [], + f = new Set(), + m = {}, + g = 1 / 0; + for (let y = 0; y < rBn; y++) { + let x = nBn[y], + A = n[x], + w = u[x] !== void 0 ? u[x] : d[x], + C = $b(w), + E = x === c ? A.isActive : null; + if (E === !1) g = y; + let T = w === d[x] && w !== u[x] && C; + if (T && (r || o) && e.manuallyAnimateOnMount) T = !1; + if ( + ((A.protectedKeys = { ...m }), + (!A.isActive && E === null) || + (!w && !A.prevProp) || + g3(w) || + typeof w === "boolean") + ) + continue; + if (x === "exit" && A.isActive && E !== !0) { + if (A.prevResolvedValues) m = { ...m, ...A.prevResolvedValues }; + continue; + } + let I = adt(A.prevProp, w), + k = I || (x === c && A.isActive && !T && C) || (y > g && C), + L = !1, + O = Array.isArray(w) ? w : [w], + B = O.reduce(a(x), {}); + if (E === !1) B = {}; + let { prevResolvedValues: U = {} } = A, + D = { ...U, ...B }, + N = (Z) => { + if (((k = !0), f.has(Z))) ((L = !0), f.delete(Z)); + A.needsAnimating[Z] = !0; + let q = e.getValue(Z); + if (q) q.liveStyle = !1; + }; + for (let Z in D) { + let q = B[Z], + H = U[Z]; + if (m.hasOwnProperty(Z)) continue; + let te = !1; + if (Iz(q) && Iz(H)) te = !nCe(q, H) || I; + else te = q !== H; + if (te) + if (q !== void 0 && q !== null) N(Z); + else f.add(Z); + else if (q !== void 0 && f.has(Z)) N(Z); + else A.protectedKeys[Z] = !0; + } + if (((A.prevProp = w), (A.prevResolvedValues = B), A.isActive)) + m = { ...m, ...B }; + if ((r || o) && e.blockInitialAnimation) k = !1; + let _ = T && I; + if (k && (!_ || L)) + p.push( + ...O.map((Z) => { + let q = { type: x }; + if ( + typeof Z === "string" && + (r || o) && + !_ && + e.manuallyAnimateOnMount && + e.parent + ) { + let { parent: H } = e, + te = kg(H, Z); + if (H.enteringChildren && te) { + let { delayChildren: ie } = te.transition || {}; + q.delay = tne(H.enteringChildren, e, ie); + } + } + return { animation: Z, options: q }; + }), + ); + } + if (f.size) { + let y = {}; + if (typeof u.initial !== "boolean") { + let x = kg(e, Array.isArray(u.initial) ? u.initial[0] : u.initial); + if (x && x.transition) y.transition = x.transition; + } + (f.forEach((x) => { + let A = e.getBaseTarget(x), + w = e.getValue(x); + if (w) w.liveStyle = !0; + y[x] = A ?? null; + }), + p.push({ animation: y })); + } + let v = Boolean(p.length); + if ( + r && + (u.initial === !1 || u.initial === u.animate) && + !e.manuallyAnimateOnMount + ) + v = !1; + return ((r = !1), (o = !1), v ? t(p) : Promise.resolve()); + } + function l(c, u) { + if (n[c].isActive === u) return Promise.resolve(); + (e.variantChildren?.forEach((p) => p.animationState?.setActive(c, u)), + (n[c].isActive = u)); + let d = s(c); + for (let p in n) n[p].protectedKeys = {}; + return d; + } + return { + animateChanges: s, + setActive: l, + setAnimateFunction: i, + getState: () => n, + reset: () => { + ((n = odt()), (o = !0)); + }, + }; +} +function adt(e, t) { + if (typeof t === "string") return t !== e; + else if (Array.isArray(t)) return !nCe(t, e); + return !1; +} +function HE(e = !1) { + return { + isActive: e, + protectedKeys: {}, + needsAnimating: {}, + prevResolvedValues: {}, + }; +} +function odt() { + return { + animate: HE(!0), + whileInView: HE(), + whileHover: HE(), + whileTap: HE(), + whileDrag: HE(), + whileFocus: HE(), + exit: HE(), + }; +} +var nBn, rBn; +var idt = P(() => { + eut(); + o6e(); + ndt(); + Ene(); + l6e(); + Oz(); + C9(); + rdt(); + Tne(); + ((nBn = [...Ine].reverse()), (rBn = Ine.length)); +}); +function Fne(e, t) { + ((e.min = t.min), (e.max = t.max)); +} +function ay(e, t) { + (Fne(e.x, t.x), Fne(e.y, t.y)); +} +function oCe(e, t) { + ((e.translate = t.translate), + (e.scale = t.scale), + (e.originPoint = t.originPoint), + (e.origin = t.origin)); +} +var sdt = () => {}; +function Id(e) { + return e.max - e.min; +} +function lCe(e, t, n) { + return Math.abs(e - t) <= n; +} +function aCe(e, t, n, r = 0.5) { + if ( + ((e.origin = r), + (e.originPoint = _o(t.min, t.max, e.origin)), + (e.scale = Id(n) / Id(t)), + (e.translate = _o(n.min, n.max, e.origin) - e.originPoint), + (e.scale >= aBn && e.scale <= iBn) || isNaN(e.scale)) + ) + e.scale = 1; + if ((e.translate >= sBn && e.translate <= lBn) || isNaN(e.translate)) + e.translate = 0; +} +function VE(e, t, n, r) { + (aCe(e.x, t.x, n.x, r ? r.originX : void 0), + aCe(e.y, t.y, n.y, r ? r.originY : void 0)); +} +function iCe(e, t, n, r = 0) { + let o = r ? _o(n.min, n.max, r) : n.min; + ((e.min = o + t.min), (e.max = e.min + Id(t))); +} +function cCe(e, t, n, r) { + (iCe(e.x, t.x, n.x, r?.x), iCe(e.y, t.y, n.y, r?.y)); +} +function sCe(e, t, n, r = 0) { + let o = r ? _o(n.min, n.max, r) : n.min; + ((e.min = t.min - o), (e.max = e.min + Id(t))); +} +function D9(e, t, n, r) { + (sCe(e.x, t.x, n.x, r?.x), sCe(e.y, t.y, n.y, r?.y)); +} +var ldt = 0.0001, + aBn, + iBn, + cdt = 0.01, + sBn, + lBn; +var Une = P(() => { + ty(); + ((aBn = 1 - ldt), (iBn = 1 + ldt), (sBn = 0 - cdt), (lBn = 0 + cdt)); +}); +function udt(e, t, n, r, o) { + if (((e -= t), (e = Dz(e, 1 / n, r)), o !== void 0)) e = Dz(e, 1 / o, r); + return e; +} +function cBn(e, t = 0, n = 1, r = 0.5, o, a = e, i = e) { + if (um.test(t)) + ((t = parseFloat(t)), (t = _o(i.min, i.max, t / 100) - i.min)); + if (typeof t !== "number") return; + let s = _o(a.min, a.max, r); + if (e === a) s -= t; + ((e.min = udt(e.min, t, n, s, o)), (e.max = udt(e.max, t, n, s, o))); +} +function ddt(e, t, [n, r, o], a, i) { + cBn(e, t[n], t[r], t[o], t.scale, a, i); +} +function uCe(e, t, n, r) { + (ddt(e.x, t, uBn, n ? n.x : void 0, r ? r.x : void 0), + ddt(e.y, t, dBn, n ? n.y : void 0, r ? r.y : void 0)); +} +var uBn, dBn; +var pdt = P(() => { + ty(); + Yb(); + hne(); + ((uBn = ["x", "scaleX", "originX"]), (dBn = ["y", "scaleY", "originY"])); +}); +function fdt(e) { + return e.translate === 0 && e.scale === 1; +} +function dCe(e) { + return fdt(e.x) && fdt(e.y); +} +function mdt(e, t) { + return e.min === t.min && e.max === t.max; +} +function gdt(e, t) { + return mdt(e.x, t.x) && mdt(e.y, t.y); +} +function hdt(e, t) { + return ( + Math.round(e.min) === Math.round(t.min) && + Math.round(e.max) === Math.round(t.max) + ); +} +function pCe(e, t) { + return hdt(e.x, t.x) && hdt(e.y, t.y); +} +function fCe(e) { + return Id(e.x) / Id(e.y); +} +function mCe(e, t) { + return ( + e.translate === t.translate && + e.scale === t.scale && + e.originPoint === t.originPoint + ); +} +var ydt = P(() => { + Une(); +}); +function Rg(e) { + return [e("x"), e("y")]; +} +var hCe = () => {}; +function vdt(e, t, n) { + let r = "", + o = e.x.translate / t.x, + a = e.y.translate / t.y, + i = n?.z || 0; + if (o || a || i) r = `translate3d(${o}px, ${a}px, ${i}px) `; + if (t.x !== 1 || t.y !== 1) r += `scale(${1 / t.x}, ${1 / t.y}) `; + if (n) { + let { + transformPerspective: c, + rotate: u, + pathRotation: d, + rotateX: p, + rotateY: f, + skewX: m, + skewY: g, + } = n; + if (c) r = `perspective(${c}px) ${r}`; + if (u) r += `rotate(${u}deg) `; + if (d) r += `rotate(${d}deg) `; + if (p) r += `rotateX(${p}deg) `; + if (f) r += `rotateY(${f}deg) `; + if (m) r += `skewX(${m}deg) `; + if (g) r += `skewY(${g}deg) `; + } + let s = e.x.scale * t.x, + l = e.y.scale * t.y; + if (s !== 1 || l !== 1) r += `scale(${s}, ${l})`; + return r || "none"; +} +var bdt = () => {}; +function Sdt(e, t, n, r, o, a) { + if (o) + ((e.opacity = _o(0, n.opacity ?? 1, fBn(r))), + (e.opacityExit = _o(t.opacity ?? 1, 0, mBn(r)))); + else if (a) e.opacity = _o(t.opacity ?? 1, n.opacity ?? 1, r); + for (let i = 0; i < pBn; i++) { + let s = kz[i], + l = wdt(t, s), + c = wdt(n, s); + if (l === void 0 && c === void 0) continue; + if ((l || (l = 0), c || (c = 0), l === 0 || c === 0 || Adt(l) === Adt(c))) { + if ( + ((e[s] = Math.max(_o(xdt(l), xdt(c), r), 0)), um.test(c) || um.test(l)) + ) + e[s] += "%"; + } else e[s] = c; + } + if (t.rotate || n.rotate) e.rotate = _o(t.rotate || 0, n.rotate || 0, r); +} +function wdt(e, t) { + return e[t] !== void 0 ? e[t] : e.borderRadius; +} +function Cdt(e, t, n) { + return (r) => { + if (r < e) return 0; + if (r > t) return 1; + return n(Zb(e, t, r)); + }; +} +var pBn, + xdt = (e) => (typeof e === "string" ? parseFloat(e) : e), + Adt = (e) => typeof e === "number" || Kn.test(e), + fBn, + mBn; +var Edt = P(() => { + ty(); + Yb(); + Ro(); + h6e(); + pBn = kz.length; + ((fBn = Cdt(0, 0.5, uz)), (mBn = Cdt(0.5, 0.95, Lc))); +}); +function Idt(e, t, n) { + let r = Qi(e) ? e : L2(e); + return (r.start(LE("", r, t, n)), r.animation); +} +var Tdt = P(() => { + one(); + w9(); + jb(); +}); +function ex(e, t, n, r = { passive: !0 }) { + return (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)); +} +var gCe = () => {}; +var kdt = (e, t) => e.depth - t.depth; +var Rdt = () => {}; +class yCe { + constructor() { + ((this.children = []), (this.isDirty = !1)); + } + add(e) { + (SE(this.children, e), (this.isDirty = !0)); + } + remove(e) { + (c6(this.children, e), (this.isDirty = !0)); + } + forEach(e) { + (this.isDirty && this.children.sort(kdt), + (this.isDirty = !1), + this.children.forEach(e)); + } +} +var Pdt = P(() => { + Ro(); + Rdt(); +}); +function Mdt(e, t) { + let n = ts.now(), + r = ({ timestamp: o }) => { + let a = o - n; + if (a >= t) (u0(r), e(a - t)); + }; + return (Po.setup(r, !0), () => u0(r)); +} +var Ddt = P(() => { + M2(); + $1(); +}); +function GE(e) { + return Qi(e) ? e.get() : e; +} +var vCe = P(() => { + jb(); +}); +class bCe { + constructor() { + this.members = []; + } + add(e) { + SE(this.members, e); + for (let t = this.members.length - 1; t >= 0; t--) { + let n = this.members[t]; + if (n === e || n === this.lead || n === this.prevLead) continue; + let r = n.instance; + if ((!r || r.isConnected === !1) && !n.snapshot) + (c6(this.members, n), n.unmount()); + } + e.scheduleRender(); + } + remove(e) { + if ((c6(this.members, e), e === this.prevLead)) this.prevLead = void 0; + if (e === this.lead) { + let t = this.members[this.members.length - 1]; + if (t) this.promote(t); + } + } + relegate(e) { + for (let t = this.members.indexOf(e) - 1; t >= 0; t--) { + let n = this.members[t]; + if (n.isPresent !== !1 && n.instance?.isConnected !== !1) + return (this.promote(n), !0); + } + return !1; + } + promote(e, t) { + let n = this.lead; + if (e === n) return; + if (((this.prevLead = n), (this.lead = e), e.show(), n)) { + (n.updateSnapshot(), e.scheduleRender()); + let { layoutDependency: r } = n.options, + { layoutDependency: o } = e.options; + if (r === void 0 || r !== o) { + if (((e.resumeFrom = n), t)) n.preserveOpacity = !0; + if (n.snapshot) + ((e.snapshot = n.snapshot), + (e.snapshot.latestValues = n.animationValues || n.latestValues)); + if (e.root?.isUpdating) e.isLayoutDirty = !0; + } + if (e.options.crossfade === !1) n.hide(); + } + } + exitAnimationComplete() { + this.members.forEach((e) => { + (e.options.onExitComplete?.(), + e.resumingFrom?.options.onExitComplete?.()); + }); + } + scheduleRender() { + this.members.forEach((e) => e.instance && e.scheduleRender(!1)); + } + removeLeadSnapshot() { + if (this.lead?.snapshot) this.lead.snapshot = void 0; + } +} +var Ldt = P(() => { + Ro(); +}); +var qE; +var xCe = P(() => { + qE = { hasAnimatedSinceResize: !0, hasEverUpdated: !1 }; +}); +function wCe(e, t, n, r) { + let { latestValues: o } = t; + if (o[e]) { + if (((n[e] = o[e]), t.setStaticValue(e, 0), r)) r[e] = 0; + } +} +function Vdt(e) { + if (((e.hasCheckedOptimisedAppear = !0), e.root === e)) return; + let { visualElement: t } = e.options; + if (!t) return; + let n = lne(t); + if (window.MotionHasOptimisedAnimation(n, "transform")) { + let { layout: o, layoutId: a } = e.options; + window.MotionCancelOptimisedAnimation(n, "transform", Po, !(o || a)); + } + let { parent: r } = e; + if (r && !r.hasCheckedOptimisedAppear) Vdt(r); +} +function Nne({ + attachResizeListener: e, + defaultParent: t, + measureScroll: n, + checkIsScrollRoot: r, + resetTransform: o, +}) { + return class { + constructor(i = {}, s = t?.()) { + ((this.id = gBn++), + (this.animationId = 0), + (this.animationCommitId = 0), + (this.children = new Set()), + (this.options = {}), + (this.isTreeAnimating = !1), + (this.isAnimationBlocked = !1), + (this.isLayoutDirty = !1), + (this.isProjectionDirty = !1), + (this.isSharedProjectionDirty = !1), + (this.isTransformDirty = !1), + (this.updateManuallyBlocked = !1), + (this.updateBlockedByResize = !1), + (this.isUpdating = !1), + (this.isSVG = !1), + (this.needsReset = !1), + (this.shouldResetTransform = !1), + (this.hasCheckedOptimisedAppear = !1), + (this.treeScale = { x: 1, y: 1 }), + (this.eventHandlers = new Map()), + (this.hasTreeAnimated = !1), + (this.layoutVersion = 0), + (this.updateScheduled = !1), + (this.scheduleUpdate = () => this.update()), + (this.projectionUpdateScheduled = !1), + (this.checkUpdateFailed = () => { + if (this.isUpdating) + ((this.isUpdating = !1), this.clearAllSnapshots()); + }), + (this.updateProjection = () => { + if (((this.projectionUpdateScheduled = !1), zE.value)) + ZE.nodes = ZE.calculatedTargetDeltas = ZE.calculatedProjections = 0; + if ( + (this.nodes.forEach(bBn), + this.nodes.forEach(EBn), + this.nodes.forEach(IBn), + this.nodes.forEach(xBn), + zE.addProjectionMetrics) + ) + zE.addProjectionMetrics(ZE); + }), + (this.resolvedRelativeTargetAt = 0), + (this.linkedParentVersion = 0), + (this.hasProjected = !1), + (this.isVisible = !0), + (this.animationProgress = 0), + (this.sharedNodes = new Map()), + (this.latestValues = i), + (this.root = s ? s.root || s : this), + (this.path = s ? [...s.path, s] : []), + (this.parent = s), + (this.depth = s ? s.depth + 1 : 0)); + for (let l = 0; l < this.path.length; l++) + this.path[l].shouldResetTransform = !0; + if (this.root === this) this.nodes = new yCe(); + } + addEventListener(i, s) { + if (!this.eventHandlers.has(i)) this.eventHandlers.set(i, new f3()); + return this.eventHandlers.get(i).add(s); + } + notifyListeners(i, ...s) { + let l = this.eventHandlers.get(i); + l && l.notify(...s); + } + hasListeners(i) { + return this.eventHandlers.has(i); + } + mount(i) { + if (this.instance) return; + ((this.isSVG = T9(i) && !Nut(i)), (this.instance = i)); + let { layoutId: s, layout: l, visualElement: c } = this.options; + if (c && !c.current) c.mount(i); + if ( + (this.root.nodes.add(this), + this.parent && this.parent.children.add(this), + this.root.hasTreeAnimated && (l || s)) + ) + this.isLayoutDirty = !0; + if (e) { + let u, + d = 0, + p = () => (this.root.updateBlockedByResize = !1); + (Po.read(() => { + d = window.innerWidth; + }), + e(i, () => { + let f = window.innerWidth; + if (f === d) return; + if ( + ((d = f), + (this.root.updateBlockedByResize = !0), + u && u(), + (u = Mdt(p, 250)), + qE.hasAnimatedSinceResize) + ) + ((qE.hasAnimatedSinceResize = !1), this.nodes.forEach(Fdt)); + })); + } + if (s) this.root.registerSharedNode(s, this); + if (this.options.animate !== !1 && c && (s || l)) + this.addEventListener( + "didUpdate", + ({ + delta: u, + hasLayoutChanged: d, + hasRelativeLayoutChanged: p, + layout: f, + }) => { + if (this.isTreeAnimationBlocked()) { + ((this.target = void 0), (this.relativeTarget = void 0)); + return; + } + let m = this.options.transition || c.getDefaultTransition() || MBn, + { onLayoutAnimationStart: g, onLayoutAnimationComplete: v } = + c.getProps(), + y = !this.targetLayout || !pCe(this.targetLayout, f), + x = !d && p; + if ( + this.options.layoutRoot || + this.resumeFrom || + x || + (d && (y || !this.currentAnimation)) + ) { + if (this.resumeFrom) + ((this.resumingFrom = this.resumeFrom), + (this.resumingFrom.resumingFrom = void 0)); + let A = { ...S9(m, "layout"), onPlay: g, onComplete: v }; + if (c.shouldReduceMotion || this.options.layoutRoot) + ((A.delay = 0), (A.type = !1)); + (this.startAnimation(A), this.setAnimationOrigin(u, x, A.path)); + } else { + if (!d) Fdt(this); + if (this.isLead() && this.options.onExitComplete) + this.options.onExitComplete(); + } + this.targetLayout = f; + }, + ); + } + unmount() { + (this.options.layoutId && this.willUpdate(), + this.root.nodes.remove(this)); + let i = this.getStack(); + (i && i.remove(this), + this.parent && this.parent.children.delete(this), + (this.instance = void 0), + this.eventHandlers.clear(), + u0(this.updateProjection)); + } + blockUpdate() { + this.updateManuallyBlocked = !0; + } + unblockUpdate() { + this.updateManuallyBlocked = !1; + } + isUpdateBlocked() { + return this.updateManuallyBlocked || this.updateBlockedByResize; + } + isTreeAnimationBlocked() { + return ( + this.isAnimationBlocked || + (this.parent && this.parent.isTreeAnimationBlocked()) || + !1 + ); + } + startUpdate() { + if (this.isUpdateBlocked()) return; + ((this.isUpdating = !0), + this.nodes && this.nodes.forEach(TBn), + this.animationId++); + } + getTransformTemplate() { + let { visualElement: i } = this.options; + return i && i.getProps().transformTemplate; + } + willUpdate(i = !0) { + if (((this.root.hasTreeAnimated = !0), this.root.isUpdateBlocked())) { + this.options.onExitComplete && this.options.onExitComplete(); + return; + } + if ( + window.MotionCancelOptimisedAnimation && + !this.hasCheckedOptimisedAppear + ) + Vdt(this); + if ( + (!this.root.isUpdating && this.root.startUpdate(), this.isLayoutDirty) + ) + return; + this.isLayoutDirty = !0; + for (let u = 0; u < this.path.length; u++) { + let d = this.path[u]; + if ( + ((d.shouldResetTransform = !0), + typeof d.latestValues.x === "string" || + typeof d.latestValues.y === "string") + ) + d.isLayoutDirty = !0; + if ((d.updateScroll("snapshot"), d.options.layoutRoot)) + d.willUpdate(!1); + } + let { layoutId: s, layout: l } = this.options; + if (s === void 0 && !l) return; + let c = this.getTransformTemplate(); + ((this.prevTransformTemplateValue = c + ? c(this.latestValues, "") + : void 0), + this.updateSnapshot(), + i && this.notifyListeners("willUpdate")); + } + update() { + if (((this.updateScheduled = !1), this.isUpdateBlocked())) { + let l = this.updateBlockedByResize; + if ( + (this.unblockUpdate(), + (this.updateBlockedByResize = !1), + this.clearAllSnapshots(), + l) + ) + this.nodes.forEach(wBn); + this.nodes.forEach(Bdt); + return; + } + if (this.animationId <= this.animationCommitId) { + this.nodes.forEach(Odt); + return; + } + if (((this.animationCommitId = this.animationId), !this.isUpdating)) + this.nodes.forEach(Odt); + else + ((this.isUpdating = !1), + this.nodes.forEach(SBn), + this.nodes.forEach(CBn), + this.nodes.forEach(yBn), + this.nodes.forEach(vBn)); + this.clearAllSnapshots(); + let s = ts.now(); + ((fl.delta = Dc(0, 16.666666666666668, s - fl.timestamp)), + (fl.timestamp = s), + (fl.isProcessing = !0), + mz.update.process(fl), + mz.preRender.process(fl), + mz.render.process(fl), + (fl.isProcessing = !1)); + } + didUpdate() { + if (!this.updateScheduled) + ((this.updateScheduled = !0), UE.read(this.scheduleUpdate)); + } + clearAllSnapshots() { + (this.nodes.forEach(ABn), this.sharedNodes.forEach(kBn)); + } + scheduleUpdateProjection() { + if (!this.projectionUpdateScheduled) + ((this.projectionUpdateScheduled = !0), + Po.preRender(this.updateProjection, !1, !0)); + } + scheduleCheckAfterUnmount() { + Po.postRender(() => { + if (this.isLayoutDirty) this.root.didUpdate(); + else this.root.checkUpdateFailed(); + }); + } + updateSnapshot() { + if (this.snapshot || !this.instance) return; + if ( + ((this.snapshot = this.measure()), + this.snapshot && + !Id(this.snapshot.measuredBox.x) && + !Id(this.snapshot.measuredBox.y)) + ) + this.snapshot = void 0; + } + updateLayout() { + if (!this.instance) return; + if ( + (this.updateScroll(), + !(this.options.alwaysMeasureLayout && this.isLead()) && + !this.isLayoutDirty) + ) + return; + if (this.resumeFrom && !this.resumeFrom.instance) + for (let l = 0; l < this.path.length; l++) this.path[l].updateScroll(); + let i = this.layout; + if ( + ((this.layout = this.measure(!1)), + this.layoutVersion++, + !this.layoutCorrected) + ) + this.layoutCorrected = hl(); + ((this.isLayoutDirty = !1), + (this.projectionDelta = void 0), + this.notifyListeners("measure", this.layout.layoutBox)); + let { visualElement: s } = this.options; + s && + s.notify( + "LayoutMeasure", + this.layout.layoutBox, + i ? i.layoutBox : void 0, + ); + } + updateScroll(i = "measure") { + let s = Boolean(this.options.layoutScroll && this.instance); + if ( + this.scroll && + this.scroll.animationId === this.root.animationId && + this.scroll.phase === i + ) + s = !1; + if (s && this.instance) { + let l = r(this.instance); + this.scroll = { + animationId: this.root.animationId, + phase: i, + isRoot: l, + offset: n(this.instance), + wasRoot: this.scroll ? this.scroll.isRoot : l, + }; + } + } + resetTransform() { + if (!o) return; + let i = + this.isLayoutDirty || + this.shouldResetTransform || + this.options.alwaysMeasureLayout, + s = this.projectionDelta && !dCe(this.projectionDelta), + l = this.getTransformTemplate(), + c = l ? l(this.latestValues, "") : void 0, + u = c !== this.prevTransformTemplateValue; + if (i && this.instance && (s || h3(this.latestValues) || u)) + (o(this.instance, c), + (this.shouldResetTransform = !1), + this.scheduleRender()); + } + measure(i = !0) { + let s = this.measurePageBox(), + l = this.removeElementScroll(s); + if (i) l = this.removeTransform(l); + return ( + DBn(l), + { + animationId: this.root.animationId, + measuredBox: s, + layoutBox: l, + latestValues: {}, + source: this.id, + } + ); + } + measurePageBox() { + let { visualElement: i } = this.options; + if (!i) return hl(); + let s = i.measureViewportBox(); + if (!(this.scroll?.wasRoot || this.path.some(LBn))) { + let { scroll: c } = this.root; + if (c) (ry(s.x, c.offset.x), ry(s.y, c.offset.y)); + } + return s; + } + removeElementScroll(i) { + let s = hl(); + if ((ay(s, i), this.scroll?.wasRoot)) return s; + for (let l = 0; l < this.path.length; l++) { + let c = this.path[l], + { scroll: u, options: d } = c; + if (c !== this.root && u && d.layoutScroll) { + if (u.wasRoot) ay(s, i); + (ry(s.x, u.offset.x), ry(s.y, u.offset.y)); + } + } + return s; + } + applyTransform(i, s = !1, l) { + let c = l || hl(); + ay(c, i); + for (let u = 0; u < this.path.length; u++) { + let d = this.path[u]; + if (!s && d.options.layoutScroll && d.scroll && d !== d.root) + (ry(c.x, -d.scroll.offset.x), ry(c.y, -d.scroll.offset.y)); + if (!h3(d.latestValues)) continue; + Lz(c, d.latestValues, d.layout?.layoutBox); + } + if (h3(this.latestValues)) + Lz(c, this.latestValues, this.layout?.layoutBox); + return c; + } + removeTransform(i) { + let s = hl(); + ay(s, i); + for (let l = 0; l < this.path.length; l++) { + let c = this.path[l]; + if (!h3(c.latestValues)) continue; + let u; + if (c.instance) + (mne(c.latestValues) && c.updateSnapshot(), + (u = hl()), + ay(u, c.measurePageBox())); + uCe(s, c.latestValues, c.snapshot?.layoutBox, u); + } + if (h3(this.latestValues)) uCe(s, this.latestValues); + return s; + } + setTargetDelta(i) { + ((this.targetDelta = i), + this.root.scheduleUpdateProjection(), + (this.isProjectionDirty = !0)); + } + setOptions(i) { + this.options = { + ...this.options, + ...i, + crossfade: i.crossfade !== void 0 ? i.crossfade : !0, + }; + } + clearMeasurements() { + ((this.scroll = void 0), + (this.layout = void 0), + (this.snapshot = void 0), + (this.prevTransformTemplateValue = void 0), + (this.targetDelta = void 0), + (this.target = void 0), + (this.isLayoutDirty = !1)); + } + forceRelativeParentToResolveTarget() { + if (!this.relativeParent) return; + if (this.relativeParent.resolvedRelativeTargetAt !== fl.timestamp) + this.relativeParent.resolveTargetDelta(!0); + } + resolveTargetDelta(i = !1) { + let s = this.getLead(); + (this.isProjectionDirty || (this.isProjectionDirty = s.isProjectionDirty), + this.isTransformDirty || (this.isTransformDirty = s.isTransformDirty), + this.isSharedProjectionDirty || + (this.isSharedProjectionDirty = s.isSharedProjectionDirty)); + let l = Boolean(this.resumingFrom) || this !== s; + if (!( + i || + (l && this.isSharedProjectionDirty) || + this.isProjectionDirty || + this.parent?.isProjectionDirty || + this.attemptToResolveRelativeTarget || + this.root.updateBlockedByResize + )) + return; + let { layout: u, layoutId: d } = this.options; + if (!this.layout || !(u || d)) return; + this.resolvedRelativeTargetAt = fl.timestamp; + let p = this.getClosestProjectingParent(); + if ( + p && + this.linkedParentVersion !== p.layoutVersion && + !p.options.layoutRoot + ) + this.removeRelativeTarget(); + if (!this.targetDelta && !this.relativeTarget) + if (this.options.layoutAnchor !== !1 && p && p.layout) + this.createRelativeTarget( + p, + this.layout.layoutBox, + p.layout.layoutBox, + ); + else this.removeRelativeTarget(); + if (!this.relativeTarget && !this.targetDelta) return; + if (!this.target) + ((this.target = hl()), (this.targetWithTransforms = hl())); + if ( + this.relativeTarget && + this.relativeTargetOrigin && + this.relativeParent && + this.relativeParent.target + ) + (this.forceRelativeParentToResolveTarget(), + cCe( + this.target, + this.relativeTarget, + this.relativeParent.target, + this.options.layoutAnchor || void 0, + )); + else if (this.targetDelta) { + if (Boolean(this.resumingFrom)) + this.applyTransform(this.layout.layoutBox, !1, this.target); + else ay(this.target, this.layout.layoutBox); + k6e(this.target, this.targetDelta); + } else ay(this.target, this.layout.layoutBox); + if (this.attemptToResolveRelativeTarget) + if ( + ((this.attemptToResolveRelativeTarget = !1), + this.options.layoutAnchor !== !1 && + p && + Boolean(p.resumingFrom) === Boolean(this.resumingFrom) && + !p.options.layoutScroll && + p.target && + this.animationProgress !== 1) + ) + this.createRelativeTarget(p, this.target, p.target); + else this.relativeParent = this.relativeTarget = void 0; + if (zE.value) ZE.calculatedTargetDeltas++; + } + getClosestProjectingParent() { + if ( + !this.parent || + mne(this.parent.latestValues) || + E6e(this.parent.latestValues) + ) + return; + if (this.parent.isProjecting()) return this.parent; + else return this.parent.getClosestProjectingParent(); + } + isProjecting() { + return Boolean( + (this.relativeTarget || this.targetDelta || this.options.layoutRoot) && + this.layout, + ); + } + createRelativeTarget(i, s, l) { + ((this.relativeParent = i), + (this.linkedParentVersion = i.layoutVersion), + this.forceRelativeParentToResolveTarget(), + (this.relativeTarget = hl()), + (this.relativeTargetOrigin = hl()), + D9( + this.relativeTargetOrigin, + s, + l, + this.options.layoutAnchor || void 0, + ), + ay(this.relativeTarget, this.relativeTargetOrigin)); + } + removeRelativeTarget() { + this.relativeParent = this.relativeTarget = void 0; + } + calcProjection() { + let i = this.getLead(), + s = Boolean(this.resumingFrom) || this !== i, + l = !0; + if (this.isProjectionDirty || this.parent?.isProjectionDirty) l = !1; + if (s && (this.isSharedProjectionDirty || this.isTransformDirty)) l = !1; + if (this.resolvedRelativeTargetAt === fl.timestamp) l = !1; + if (l) return; + let { layout: c, layoutId: u } = this.options; + if ( + ((this.isTreeAnimating = Boolean( + (this.parent && this.parent.isTreeAnimating) || + this.currentAnimation || + this.pendingAnimation, + )), + !this.isTreeAnimating) + ) + this.targetDelta = this.relativeTarget = void 0; + if (!this.layout || !(c || u)) return; + ay(this.layoutCorrected, this.layout.layoutBox); + let d = this.treeScale.x, + p = this.treeScale.y; + if ( + (Aut(this.layoutCorrected, this.treeScale, this.path, s), + i.layout && + !i.target && + (this.treeScale.x !== 1 || this.treeScale.y !== 1)) + ) + ((i.target = i.layout.layoutBox), (i.targetWithTransforms = hl())); + let { target: f } = i; + if (!f) { + if (this.prevProjectionDelta) + (this.createProjectionDeltas(), this.scheduleRender()); + return; + } + if (!this.projectionDelta || !this.prevProjectionDelta) + this.createProjectionDeltas(); + else + (oCe(this.prevProjectionDelta.x, this.projectionDelta.x), + oCe(this.prevProjectionDelta.y, this.projectionDelta.y)); + if ( + (VE(this.projectionDelta, this.layoutCorrected, f, this.latestValues), + this.treeScale.x !== d || + this.treeScale.y !== p || + !mCe(this.projectionDelta.x, this.prevProjectionDelta.x) || + !mCe(this.projectionDelta.y, this.prevProjectionDelta.y)) + ) + ((this.hasProjected = !0), + this.scheduleRender(), + this.notifyListeners("projectionUpdate", f)); + if (zE.value) ZE.calculatedProjections++; + } + hide() { + this.isVisible = !1; + } + show() { + this.isVisible = !0; + } + scheduleRender(i = !0) { + if ((this.options.visualElement?.scheduleRender(), i)) { + let s = this.getStack(); + s && s.scheduleRender(); + } + if (this.resumingFrom && !this.resumingFrom.instance) + this.resumingFrom = void 0; + } + createProjectionDeltas() { + ((this.prevProjectionDelta = g6()), + (this.projectionDelta = g6()), + (this.projectionDeltaWithTransform = g6())); + } + setAnimationOrigin(i, s = !1, l) { + let c = this.snapshot, + u = c ? c.latestValues : {}, + d = { ...this.latestValues }, + p = g6(); + if (!this.relativeParent || !this.relativeParent.options.layoutRoot) + this.relativeTarget = this.relativeTargetOrigin = void 0; + this.attemptToResolveRelativeTarget = !s; + let f = hl(), + m = c ? c.source : void 0, + g = this.layout ? this.layout.source : void 0, + v = m !== g, + y = this.getStack(), + x = !y || y.members.length <= 1, + A = Boolean( + v && !x && this.options.crossfade === !0 && !this.path.some(PBn), + ); + this.animationProgress = 0; + let w, + C = l?.interpolateProjection(i); + ((this.mixTargetDelta = (E) => { + let T = E / 1000, + I = C?.(T); + if (I) + ((p.x.translate = I.x), + (p.x.scale = _o(i.x.scale, 1, T)), + (p.x.origin = i.x.origin), + (p.x.originPoint = i.x.originPoint), + (p.y.translate = I.y), + (p.y.scale = _o(i.y.scale, 1, T)), + (p.y.origin = i.y.origin), + (p.y.originPoint = i.y.originPoint)); + else (Udt(p.x, i.x, T), Udt(p.y, i.y, T)); + if ( + (this.setTargetDelta(p), + this.relativeTarget && + this.relativeTargetOrigin && + this.layout && + this.relativeParent && + this.relativeParent.layout) + ) { + if ( + (D9( + f, + this.layout.layoutBox, + this.relativeParent.layout.layoutBox, + this.options.layoutAnchor || void 0, + ), + RBn(this.relativeTarget, this.relativeTargetOrigin, f, T), + w && gdt(this.relativeTarget, w)) + ) + this.isProjectionDirty = !1; + if (!w) w = hl(); + ay(w, this.relativeTarget); + } + if (v) + ((this.animationValues = d), Sdt(d, u, this.latestValues, T, A, x)); + if (I && I.rotate !== void 0) { + if (!this.animationValues) this.animationValues = d; + this.animationValues.pathRotation = I.rotate; + } + (this.root.scheduleUpdateProjection(), + this.scheduleRender(), + (this.animationProgress = T)); + }), + this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0)); + } + startAnimation(i) { + if ( + (this.notifyListeners("animationStart"), + this.currentAnimation?.stop(), + this.resumingFrom?.currentAnimation?.stop(), + this.pendingAnimation) + ) + (u0(this.pendingAnimation), (this.pendingAnimation = void 0)); + this.pendingAnimation = Po.update(() => { + if ( + ((qE.hasAnimatedSinceResize = !0), + this.motionValue || (this.motionValue = L2(0)), + this.motionValue.jump(0, !1), + (this.currentAnimation = Idt(this.motionValue, [0, 1000], { + ...i, + velocity: 0, + isSync: !0, + onUpdate: (s) => { + (this.mixTargetDelta(s), i.onUpdate && i.onUpdate(s)); + }, + onComplete: () => { + (i.onComplete && i.onComplete(), this.completeAnimation()); + }, + })), + Jlt(this.currentAnimation, this), + this.resumingFrom) + ) + this.resumingFrom.currentAnimation = this.currentAnimation; + this.pendingAnimation = void 0; + }); + } + completeAnimation() { + if (this.resumingFrom) + ((this.resumingFrom.currentAnimation = void 0), + (this.resumingFrom.preserveOpacity = void 0)); + let i = this.getStack(); + (i && i.exitAnimationComplete(), + (this.resumingFrom = + this.currentAnimation = + this.animationValues = + void 0), + this.notifyListeners("animationComplete")); + } + finishAnimation() { + if (this.currentAnimation) + (this.mixTargetDelta && this.mixTargetDelta(hBn), + this.currentAnimation.stop()); + this.completeAnimation(); + } + applyTransformsToTarget() { + let i = this.getLead(), + { targetWithTransforms: s, layout: l, latestValues: c } = i, + { target: u } = i; + if (!s || !u || !l) return; + if ( + this !== i && + this.layout && + l && + Gdt(this.options.animationType, this.layout.layoutBox, l.layoutBox) + ) { + u = this.target || hl(); + let d = Id(this.layout.layoutBox.x); + ((u.x.min = i.target.x.min), (u.x.max = u.x.min + d)); + let p = Id(this.layout.layoutBox.y); + ((u.y.min = i.target.y.min), (u.y.max = u.y.min + p)); + } + (ay(s, u), + Lz(s, c), + VE(this.projectionDeltaWithTransform, this.layoutCorrected, s, c)); + } + registerSharedNode(i, s) { + if (!this.sharedNodes.has(i)) this.sharedNodes.set(i, new bCe()); + this.sharedNodes.get(i).add(s); + let c = s.options.initialPromotionConfig; + s.promote({ + transition: c ? c.transition : void 0, + preserveFollowOpacity: + c && c.shouldPreserveFollowOpacity + ? c.shouldPreserveFollowOpacity(s) + : void 0, + }); + } + isLead() { + let i = this.getStack(); + return i ? i.lead === this : !0; + } + getLead() { + let { layoutId: i } = this.options; + return i ? this.getStack()?.lead || this : this; + } + getPrevLead() { + let { layoutId: i } = this.options; + return i ? this.getStack()?.prevLead : void 0; + } + getStack() { + let { layoutId: i } = this.options; + if (i) return this.root.sharedNodes.get(i); + } + promote({ needsReset: i, transition: s, preserveFollowOpacity: l } = {}) { + let c = this.getStack(); + if (c) c.promote(this, l); + if (i) ((this.projectionDelta = void 0), (this.needsReset = !0)); + if (s) this.setOptions({ transition: s }); + } + relegate() { + let i = this.getStack(); + if (i) return i.relegate(this); + else return !1; + } + resetSkewAndRotation() { + let { visualElement: i } = this.options; + if (!i) return; + let s = !1, + { latestValues: l } = i; + if ( + l.z || + l.rotate || + l.rotateX || + l.rotateY || + l.rotateZ || + l.skewX || + l.skewY + ) + s = !0; + if (!s) return; + let c = {}; + if (l.z) wCe("z", i, c, this.animationValues); + for (let u = 0; u < ACe.length; u++) + (wCe(`rotate${ACe[u]}`, i, c, this.animationValues), + wCe(`skew${ACe[u]}`, i, c, this.animationValues)); + i.render(); + for (let u in c) + if ((i.setStaticValue(u, c[u]), this.animationValues)) + this.animationValues[u] = c[u]; + i.scheduleRender(); + } + applyProjectionStyles(i, s) { + if (!this.instance || this.isSVG) return; + if (!this.isVisible) { + i.visibility = "hidden"; + return; + } + let l = this.getTransformTemplate(); + if (this.needsReset) { + ((this.needsReset = !1), + (i.visibility = ""), + (i.opacity = ""), + (i.pointerEvents = GE(s?.pointerEvents) || ""), + (i.transform = l ? l(this.latestValues, "") : "none")); + return; + } + let c = this.getLead(); + if (!this.projectionDelta || !this.layout || !c.target) { + if (this.options.layoutId) + ((i.opacity = + this.latestValues.opacity !== void 0 + ? this.latestValues.opacity + : 1), + (i.pointerEvents = GE(s?.pointerEvents) || "")); + if (this.hasProjected && !h3(this.latestValues)) + ((i.transform = l ? l({}, "") : "none"), (this.hasProjected = !1)); + return; + } + i.visibility = ""; + let u = c.animationValues || c.latestValues; + this.applyTransformsToTarget(); + let d = vdt(this.projectionDeltaWithTransform, this.treeScale, u); + if (l) d = l(u, d); + i.transform = d; + let { x: p, y: f } = this.projectionDelta; + if ( + ((i.transformOrigin = `${p.origin * 100}% ${f.origin * 100}% 0`), + c.animationValues) + ) + i.opacity = + c === this + ? (u.opacity ?? this.latestValues.opacity ?? 1) + : this.preserveOpacity + ? this.latestValues.opacity + : u.opacityExit; + else + i.opacity = + c === this + ? u.opacity !== void 0 + ? u.opacity + : "" + : u.opacityExit !== void 0 + ? u.opacityExit + : 0; + for (let m in _z) { + if (u[m] === void 0) continue; + let { correct: g, applyTo: v, isCSSVariable: y } = _z[m], + x = d === "none" ? u[m] : g(u[m], c); + if (v) { + let A = v.length; + for (let w = 0; w < A; w++) i[v[w]] = x; + } else if (y) this.options.visualElement.renderState.vars[m] = x; + else i[m] = x; + } + if (this.options.layoutId) + i.pointerEvents = c === this ? GE(s?.pointerEvents) || "" : "none"; + } + clearSnapshot() { + this.resumeFrom = this.snapshot = void 0; + } + resetTree() { + (this.root.nodes.forEach((i) => i.currentAnimation?.stop()), + this.root.nodes.forEach(Bdt), + this.root.sharedNodes.clear()); + } + }; +} +function yBn(e) { + e.updateLayout(); +} +function vBn(e) { + let t = e.resumeFrom?.snapshot || e.snapshot; + if (e.isLead() && e.layout && t && e.hasListeners("didUpdate")) { + let { layoutBox: n, measuredBox: r } = e.layout, + { animationType: o } = e.options, + a = t.source !== e.layout.source; + if (o === "size") + Rg((u) => { + let d = a ? t.measuredBox[u] : t.layoutBox[u], + p = Id(d); + ((d.min = n[u].min), (d.max = d.min + p)); + }); + else if (o === "x" || o === "y") { + let u = o === "x" ? "y" : "x"; + Fne(a ? t.measuredBox[u] : t.layoutBox[u], n[u]); + } else if (Gdt(o, t.layoutBox, n)) + Rg((u) => { + let d = a ? t.measuredBox[u] : t.layoutBox[u], + p = Id(n[u]); + if (((d.max = d.min + p), e.relativeTarget && !e.currentAnimation)) + ((e.isProjectionDirty = !0), + (e.relativeTarget[u].max = e.relativeTarget[u].min + p)); + }); + let i = g6(); + VE(i, n, t.layoutBox); + let s = g6(); + if (a) VE(s, e.applyTransform(r, !0), t.measuredBox); + else VE(s, n, t.layoutBox); + let l = !dCe(i), + c = !1; + if (!e.resumeFrom) { + let u = e.getClosestProjectingParent(); + if (u && !u.resumeFrom) { + let { snapshot: d, layout: p } = u; + if (d && p) { + let f = e.options.layoutAnchor || void 0, + m = hl(); + D9(m, t.layoutBox, d.layoutBox, f); + let g = hl(); + if ((D9(g, n, p.layoutBox, f), !pCe(m, g))) c = !0; + if (u.options.layoutRoot) + ((e.relativeTarget = g), + (e.relativeTargetOrigin = m), + (e.relativeParent = u)); + } + } + } + e.notifyListeners("didUpdate", { + layout: n, + snapshot: t, + delta: s, + layoutDelta: i, + hasLayoutChanged: l, + hasRelativeLayoutChanged: c, + }); + } else if (e.isLead()) { + let { onExitComplete: n } = e.options; + n && n(); + } + e.options.transition = void 0; +} +function bBn(e) { + if (zE.value) ZE.nodes++; + if (!e.parent) return; + if (!e.isProjecting()) e.isProjectionDirty = e.parent.isProjectionDirty; + (e.isSharedProjectionDirty || + (e.isSharedProjectionDirty = Boolean( + e.isProjectionDirty || + e.parent.isProjectionDirty || + e.parent.isSharedProjectionDirty, + )), + e.isTransformDirty || (e.isTransformDirty = e.parent.isTransformDirty)); +} +function xBn(e) { + e.isProjectionDirty = e.isSharedProjectionDirty = e.isTransformDirty = !1; +} +function ABn(e) { + e.clearSnapshot(); +} +function Bdt(e) { + e.clearMeasurements(); +} +function wBn(e) { + ((e.isLayoutDirty = !0), e.updateLayout()); +} +function Odt(e) { + e.isLayoutDirty = !1; +} +function SBn(e) { + if (e.isAnimationBlocked && e.layout && !e.isLayoutDirty) + ((e.snapshot = e.layout), (e.isLayoutDirty = !0)); +} +function CBn(e) { + let { visualElement: t } = e.options; + if (t && t.getProps().onBeforeLayoutMeasure) t.notify("BeforeLayoutMeasure"); + e.resetTransform(); +} +function Fdt(e) { + (e.finishAnimation(), + (e.targetDelta = e.relativeTarget = e.target = void 0), + (e.isProjectionDirty = !0)); +} +function EBn(e) { + e.resolveTargetDelta(); +} +function IBn(e) { + e.calcProjection(); +} +function TBn(e) { + e.resetSkewAndRotation(); +} +function kBn(e) { + e.removeLeadSnapshot(); +} +function Udt(e, t, n) { + ((e.translate = _o(t.translate, 0, n)), + (e.scale = _o(t.scale, 1, n)), + (e.origin = t.origin), + (e.originPoint = t.originPoint)); +} +function Ndt(e, t, n, r) { + ((e.min = _o(t.min, n.min, r)), (e.max = _o(t.max, n.max, r))); +} +function RBn(e, t, n, r) { + (Ndt(e.x, t.x, n.x, r), Ndt(e.y, t.y, n.y, r)); +} +function PBn(e) { + return e.animationValues && e.animationValues.opacityExit !== void 0; +} +function Hdt(e) { + ((e.min = _dt(e.min)), (e.max = _dt(e.max))); +} +function DBn(e) { + (Hdt(e.x), Hdt(e.y)); +} +function Gdt(e, t, n) { + return ( + e === "position" || (e === "preserve-aspect" && !lCe(fCe(t), fCe(n), 0.2)) + ); +} +function LBn(e) { + return e !== e.root && e.scroll?.wasRoot; +} +var ZE, + ACe, + hBn = 1000, + gBn = 0, + MBn, + zdt = (e) => + typeof navigator < "u" && + navigator.userAgent && + navigator.userAgent.toLowerCase().includes(e), + _dt; +var SCe = P(() => { + Ro(); + Tdt(); + Vte(); + d6e(); + rne(); + yne(); + M2(); + K6e(); + Uut(); + Ddt(); + dne(); + zut(); + ty(); + w9(); + vCe(); + Edt(); + sdt(); + hne(); + Une(); + pdt(); + Bz(); + ydt(); + Ldt(); + bdt(); + hCe(); + Pdt(); + I6e(); + xCe(); + $1(); + ((ZE = { nodes: 0, calculatedTargetDeltas: 0, calculatedProjections: 0 }), + (ACe = ["", "X", "Y", "Z"])); + ((MBn = { duration: 0.45, ease: [0.4, 0, 0.1, 1] }), + (_dt = zdt("applewebkit/") && !zdt("chrome/") ? Math.round : Lc)); +}); +var qdt; +var Zdt = P(() => { + gCe(); + SCe(); + qdt = Nne({ + attachResizeListener: (e, t) => ex(e, "resize", t), + measureScroll: () => ({ + x: document.documentElement.scrollLeft || document.body?.scrollLeft || 0, + y: document.documentElement.scrollTop || document.body?.scrollTop || 0, + }), + checkIsScrollRoot: () => !0, + }); +}); +function zne() { + let e = new Set(), + t = new WeakMap(), + n = () => e.forEach(BBn); + return { + add: (r) => { + (e.add(r), t.set(r, r.addEventListener("willUpdate", n))); + }, + remove: (r) => { + e.delete(r); + let o = t.get(r); + if (o) (o(), t.delete(r)); + n(); + }, + dirty: n, + }; +} +var BBn = (e) => !e.isLayoutDirty && e.willUpdate(!1); +var Qdt = () => {}; +var _ne, qz; +var Xdt = P(() => { + SCe(); + Zdt(); + ((_ne = { current: void 0 }), + (qz = Nne({ + measureScroll: (e) => ({ x: e.scrollLeft, y: e.scrollTop }), + defaultParent: () => { + if (!_ne.current) { + let e = new qdt({}); + (e.mount(window), + e.setOptions({ layoutScroll: !0 }), + (_ne.current = e)); + } + return _ne.current; + }, + resetTransform: (e, t) => { + e.style.transform = t !== void 0 ? t : "none"; + }, + checkIsScrollRoot: (e) => + Boolean(window.getComputedStyle(e).position === "fixed"), + }))); +}); +var ni = P(() => { + one(); + u6e(); + yne(); + M2(); + wut(); + Sut(); + Put(); + N6e(); + O6e(); + Fut(); + g6e(); + ty(); + Yb(); + jb(); + c6e(); + Xut(); + jut(); + tdt(); + X6e(); + idt(); + Ene(); + q6e(); + J6e(); + Oz(); + C9(); + ane(); + S6e(); + Une(); + Bz(); + hCe(); + P6e(); + gCe(); + vCe(); + Qdt(); + Xdt(); + xCe(); + fne(); + Dne(); + x6e(); + $6e(); + eCe(); + $1(); +}); +var Wdt, L9; +var Hne = P(() => { + ((Wdt = z(re(), 1)), + (L9 = Wdt.createContext({ + transformPagePoint: (e) => e, + isStatic: !1, + reducedMotion: "never", + }))); +}); +function Ydt(e, t) { + if (typeof e === "function") return e(t); + else if (e !== null && e !== void 0) e.current = t; +} +function OBn(...e) { + return (t) => { + let n = !1, + r = e.map((o) => { + let a = Ydt(o, t); + if (!n && typeof a === "function") n = !0; + return a; + }); + if (n) + return () => { + for (let o = 0; o < r.length; o++) { + let a = r[o]; + if (typeof a === "function") a(); + else Ydt(e[o], null); + } + }; + }; +} +function Jdt(...e) { + return Kdt.useCallback(OBn(...e), e); +} +var Kdt; +var jdt = P(() => { + Kdt = z(re(), 1); +}); +function ept({ + children: e, + isPresent: t, + anchorX: n, + anchorY: r, + root: o, + pop: a, +}) { + let i = y3.useId(), + s = y3.useRef(null), + l = y3.useRef({ + width: 0, + height: 0, + top: 0, + left: 0, + right: 0, + bottom: 0, + direction: "ltr", + }), + { nonce: c } = y3.useContext(L9), + u = a !== !1 ? (e.props?.ref ?? e?.ref) : void 0, + d = Jdt(s, u); + return ( + y3.useInsertionEffect(() => { + let { + width: p, + height: f, + top: m, + left: g, + right: v, + bottom: y, + direction: x, + } = l.current; + if (t || a === !1 || !s.current || !p || !f) return; + let A = x === "rtl", + w = + n === "left" + ? A + ? `right: ${v}` + : `left: ${g}` + : A + ? `left: ${g}` + : `right: ${v}`, + C = r === "bottom" ? `bottom: ${y}` : `top: ${m}`; + s.current.dataset.motionPopId = i; + let E = document.createElement("style"); + if (c) E.nonce = c; + let T = o ?? document.head; + if ((T.appendChild(E), E.sheet)) + E.sheet.insertRule(` [data-motion-pop-id="${i}"] { position: absolute !important; width: ${p}px !important; @@ -6,11 +22864,7268 @@ var ACn=Object.create;var{getPrototypeOf:wCn,defineProperty:NK,getOwnPropertyNam ${w}px !important; ${C}px !important; } - `);return()=>{if(s.current?.removeAttribute("data-motion-pop-id"),T.contains(E))T.removeChild(E)}},[t]),h($dt,{isPresent:t,childRef:s,sizeRef:l,pop:a,children:a===!1?e:Vne.cloneElement(e,{ref:d})})}var Vne,y3,$dt;var tpt=P(()=>{le();ni();Hne();jdt();Vne=z(re(),1),y3=z(re(),1);$dt=class $dt extends Vne.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(OE(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let n=t.offsetParent,r=OE(n)?n.offsetWidth||0:0,o=OE(n)?n.offsetHeight||0:0,a=getComputedStyle(t),i=this.props.sizeRef.current;i.height=parseFloat(a.height),i.width=parseFloat(a.width),i.top=t.offsetTop,i.left=t.offsetLeft,i.right=r-i.width-i.left,i.bottom=o-i.height-i.top,i.direction=a.direction}return null}componentDidUpdate(){}render(){return this.props.children}}});function FBn(){return new Map}var npt,v6,rpt=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:o,presenceAffectsLayout:a,mode:i,anchorX:s,anchorY:l,root:c})=>{let u=c9(FBn),d=v6.useId(),p=v6.useRef(n),f=v6.useRef(r);qb(()=>{p.current=n,f.current=r});let m=!0,g=v6.useMemo(()=>(m=!1,{id:d,initial:t,isPresent:n,custom:o,onExitComplete:(v)=>{u.set(v,!0);for(let y of u.values())if(!y)return;r&&r()},register:(v)=>(u.set(v,!1),()=>{u.delete(v),!p.current&&!u.size&&f.current?.()})}),[n,u,r]);if(a&&m)g={...g};return v6.useMemo(()=>{u.forEach((v,y)=>u.set(y,!1))},[n]),npt.useEffect(()=>{!n&&!u.size&&r&&r()},[n]),e=h(ept,{pop:i==="popLayout",isPresent:n,anchorX:s,anchorY:l,root:c,children:e}),h(d3.Provider,{value:g,children:e})};var opt=P(()=>{le();rz();gte();nz();tpt();npt=z(re(),1),v6=z(re(),1)});function Zz(e=!0){let t=v3.useContext(d3);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:o}=t,a=v3.useId();v3.useEffect(()=>{if(e)return o(a)},[e]);let i=v3.useCallback(()=>e&&r&&r(a),[a,r,e]);return!n&&r?[!1,i]:[!0]}function CCe(){return UBn(v3.useContext(d3))}function UBn(e){return e===null?!0:e.isPresent}var v3;var Gne=P(()=>{rz();v3=z(re(),1)});function ECe(e){let t=[];return qne.Children.forEach(e,(n)=>{if(qne.isValidElement(n))t.push(n)}),t}var qne,Qz=(e)=>e.key||"";var apt=P(()=>{qne=z(re(),1)});var B2,Do=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:o=!0,mode:a="sync",propagate:i=!1,anchorX:s="left",anchorY:l="top",root:c})=>{let[u,d]=Zz(i),p=B2.useMemo(()=>ECe(e),[e]),f=i&&!u?[]:p.map(Qz),m=B2.useRef(!0),g=B2.useRef(p),v=c9(()=>new Map),y=B2.useRef(new Set),[x,A]=B2.useState(p),[w,C]=B2.useState(p);qb(()=>{if(i&&!u&&!w.length)d?.()},[u,i,w.length,d]),qb(()=>{m.current=!1,g.current=p;for(let I=0;I{let k=Qz(I),L=i&&!u?!1:p===w||f.includes(k),O=()=>{if(y.current.has(k))return;if(v.has(k))y.current.add(k),v.set(k,!0);else return;let B=!0;if(v.forEach((U)=>{if(!U)B=!1}),B)T?.(),C(g.current),i&&d?.(),r&&r()};return h(rpt,{isPresent:L,initial:!m.current||n?void 0:!1,custom:t,presenceAffectsLayout:o,mode:a,root:c,onExitComplete:L?void 0:O,anchorX:s,anchorY:l,children:I},k)})})};var ipt=P(()=>{le();tz();gte();nz();opt();Gne();apt();B2=z(re(),1)});var spt,lpt;var cpt=P(()=>{spt=z(re(),1),lpt=spt.createContext(null)});function dpt(){let e=upt.useRef(!1);return qb(()=>(e.current=!0,()=>{e.current=!1}),[]),e}var upt;var ppt=P(()=>{nz();upt=z(re(),1)});function fpt(){let e=dpt(),[t,n]=Xz.useState(0),r=Xz.useCallback(()=>{e.current&&n(t+1)},[t]);return[Xz.useCallback(()=>Po.postRender(r),[r]),t]}var Xz;var mpt=P(()=>{ni();ppt();Xz=z(re(),1)});var QE,hpt=(e)=>e===!0,NBn=(e)=>hpt(e===!0)||e==="id",ICe=({children:e,id:t,inherit:n=!0})=>{let r=QE.useContext(u3),o=QE.useContext(lpt),[a,i]=fpt(),s=QE.useRef(null),l=r.id||o;if(s.current===null){if(NBn(n)&&l)t=t?l+"-"+t:l;s.current={id:t,group:hpt(n)?r.group||zne():zne()}}let c=QE.useMemo(()=>({...s.current,forceRender:a}),[i]);return h(u3.Provider,{value:c,children:e})};var gpt=P(()=>{le();tz();cpt();mpt();ni();QE=z(re(),1)});var ypt,Zne;var TCe=P(()=>{ypt=z(re(),1),Zne=ypt.createContext({strict:!1})});function zBn(){if(bpt)return;let e={};for(let t in vpt)e[t]={isEnabled:(n)=>vpt[t].some((r)=>!!n[r])};Nz(e),bpt=!0}function Qne(){return zBn(),Q6e()}var vpt,bpt=!1;var kCe=P(()=>{ni();vpt={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]}});function xpt(e){let t=Qne();for(let n in e)t[n]={...t[n],...e[n]};Nz(t)}var Apt=P(()=>{ni();kCe()});var wpt,b6;var Wz=P(()=>{wpt=z(re(),1),b6=wpt.createContext({})});function Spt(e,t){if(y6(e)){let{initial:n,animate:r}=e;return{initial:n===!1||$b(n)?n:void 0,animate:$b(r)?r:void 0}}return e.inherit!==!1?t:{}}var Cpt=P(()=>{ni()});function Ipt(e){let{initial:t,animate:n}=Spt(e,Xne.useContext(b6));return Xne.useMemo(()=>({initial:t,animate:n}),[Ept(t),Ept(n)])}function Ept(e){return Array.isArray(e)?e.join(" "):e}var Xne;var Tpt=P(()=>{Wz();Cpt();Xne=z(re(),1)});var B9=()=>({style:{},transform:{},transformOrigin:{},vars:{}});var Wne=()=>{};function RCe(e,t,n){for(let r in t)if(!Qi(t[r])&&!Hz(r,n))e[r]=t[r]}function _Bn({transformTemplate:e},t){return kpt.useMemo(()=>{let n=B9();return FE(n,t,e),Object.assign({},n.vars,n.style)},[t])}function HBn(e,t){let n=e.style||{},r={};return RCe(r,n,e),Object.assign(r,_Bn(e,t)),r}function Rpt(e,t){let n={},r=HBn(e,t);if(e.drag&&e.dragListener!==!1)n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`;if(e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap))n.tabIndex=0;return n.style=r,n}var kpt;var PCe=P(()=>{ni();Wne();kpt=z(re(),1)});var Yne=()=>({...B9(),attrs:{}});var MCe=P(()=>{Wne()});function Mpt(e,t,n,r){let o=Ppt.useMemo(()=>{let a=Yne();return Pz(a,t,Vz(r),e.transformTemplate,e.style),{...a.attrs,style:{...a.style}}},[t]);if(e.style){let a={};RCe(a,e.style,e),o.style={...a,...o.style}}return o}var Ppt;var Dpt=P(()=>{ni();PCe();MCe();Ppt=z(re(),1)});function Yz(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||VBn.has(e)}var VBn;var Lpt=P(()=>{VBn=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"])});function GBn(e,t){return e.startsWith("on")?!Yz(e):t?.(e)??!Yz(e)}function Bpt(e,t,n,r){let o={};for(let a in e){if(a==="values"&&typeof e.values==="object")continue;if(Qi(e[a]))continue;if(GBn(a,r)||n===!0&&Yz(a)||!t&&!Yz(a)||e.draggable&&a.startsWith("onDrag"))o[a]=e[a]}return o}var Opt=P(()=>{ni();Lpt()});var Fpt;var Upt=P(()=>{Fpt=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"]});function O9(e){if(typeof e!=="string"||e.includes("-"))return!1;else if(Fpt.indexOf(e)>-1||/[A-Z]/u.test(e))return!0;return!1}var Kne=P(()=>{Upt()});function Npt(e,t,n,{latestValues:r},o,a=!1,i,s){let c=(i??O9(e)?Mpt:Rpt)(t,r,o,e),u=Bpt(t,typeof e==="string",a,s),d=e!==F9.Fragment?{...u,...c,ref:n}:{},{children:p}=t,f=F9.useMemo(()=>Qi(p)?p.get():p,[p]);return F9.createElement(e,{...d,children:f})}var F9;var zpt=P(()=>{ni();PCe();Dpt();Opt();Kne();F9=z(re(),1)});function qBn({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,o){return{latestValues:ZBn(n,r,o,e),renderState:t()}}function ZBn(e,t,n,r){let o={},a=r(e,{});for(let p in a)o[p]=GE(a[p]);let{initial:i,animate:s}=e,l=y6(e),c=Fz(e);if(t&&c&&!l&&e.inherit!==!1){if(i===void 0)i=t.initial;if(s===void 0)s=t.animate}let u=n?n.initial===!1:!1;u=u||i===!1;let d=u?s:i;if(d&&typeof d!=="boolean"&&!g3(d)){let p=Array.isArray(d)?d:[d];for(let f=0;f(t,n)=>{let r=DCe.useContext(b6),o=DCe.useContext(d3),a=()=>qBn(e,t,r,o);return n?a():c9(a)};var LCe=P(()=>{ni();Wz();rz();gte();DCe=z(re(),1)});var _pt;var Hpt=P(()=>{ni();LCe();Wne();_pt=Jne({scrapeMotionValuesFromProps:_E,createRenderState:B9})});var Vpt;var Gpt=P(()=>{ni();LCe();MCe();Vpt=Jne({scrapeMotionValuesFromProps:Gz,createRenderState:Yne})});var qpt;var Zpt=P(()=>{qpt=Symbol.for("motionComponentSymbol")});function Qpt(e,t,n){let r=XE.useRef(n);XE.useInsertionEffect(()=>{r.current=n});let o=XE.useRef(null);return XE.useCallback((a)=>{if(a)e.onMount?.(a);if(t)a?t.mount(a):t.unmount();let i=r.current;if(typeof i==="function")if(a){let s=i(a);if(typeof s==="function")o.current=s}else if(o.current)o.current(),o.current=null;else i(a);else if(i)i.current=a},[t])}var XE;var Xpt=P(()=>{XE=z(re(),1)});var Wpt,jne;var BCe=P(()=>{Wpt=z(re(),1),jne=Wpt.createContext({})});function x6(e){return e&&typeof e==="object"&&Object.prototype.hasOwnProperty.call(e,"current")}var OCe=()=>{};function Ypt(e,t,n,r,o,a){let{visualElement:i}=ch.useContext(b6),s=ch.useContext(Zne),l=ch.useContext(d3),c=ch.useContext(L9),{reducedMotion:u,skipAnimations:d}=c,p=ch.useRef(null),f=ch.useRef(!1);if(r=r||s.renderer,!p.current&&r){if(p.current=r(e,{visualState:t,parent:i,props:n,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:u,skipAnimations:d,isSVG:a}),f.current&&p.current)p.current.manuallyAnimateOnMount=!0}let m=p.current,g=ch.useContext(jne);if(m&&!m.projection&&o&&(m.type==="html"||m.type==="svg"))QBn(p.current,n,o,g);let v=ch.useRef(!1);ch.useInsertionEffect(()=>{if(m&&v.current)m.update(n,l)});let y=n[Tz],x=ch.useRef(Boolean(y)&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(y)&&window.MotionHasOptimisedAnimation?.(y));return qb(()=>{if(!f.current||!m)return;m.animationState?.animateChanges(),m.enteringChildren=void 0},[]),qb(()=>{if(f.current=!0,!m)return;if(v.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),x.current&&m.animationState)m.animationState.animateChanges()}),ch.useEffect(()=>{if(!m)return;if(!x.current&&m.animationState)m.animationState.animateChanges();if(x.current)queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(y)}),x.current=!1;m.enteringChildren=void 0}),m}function QBn(e,t,n,r){let{layoutId:o,layout:a,drag:i,dragConstraints:s,layoutScroll:l,layoutRoot:c,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:Kpt(e.parent)),e.projection.setOptions({layoutId:o,layout:a,alwaysMeasureLayout:Boolean(i)||s&&x6(s),visualElement:e,animationType:typeof a==="string"?a:"both",initialPromotionConfig:r,crossfade:d,layoutScroll:l,layoutRoot:c,layoutAnchor:u})}function Kpt(e){if(!e)return;return e.options.allowProjection!==!1?e.projection:Kpt(e.parent)}var ch;var Jpt=P(()=>{ni();TCe();Hne();Wz();rz();BCe();OCe();nz();ch=z(re(),1)});function $ne(e,{forwardMotionProps:t=!1,type:n}={},r,o){r&&xpt(r);let a=n?n==="svg":O9(e),i=a?Vpt:_pt;function s(c,u){let d,p={...U9.useContext(L9),...c,layoutId:XBn(c)},{isStatic:f,isValidProp:m}=p,g=Ipt(c),v=i(c,f);if(!f&&typeof window<"u"){WBn(p,r);let y=YBn(p);d=y.MeasureLayout,g.visualElement=Ypt(e,v,p,o,y.ProjectionNode,a)}return M(b6.Provider,{value:g,children:[d&&g.visualElement?h(d,{visualElement:g.visualElement,...p}):null,Npt(e,c,Qpt(v,g.visualElement,u),v,f,t,a,m)]})}s.displayName=`motion.${typeof e==="string"?e:`create(${e.displayName??e.name??""})`}`;let l=U9.forwardRef(s);return l[qpt]=e,l}function XBn({layoutId:e}){let t=U9.useContext(u3).id;return t&&e!==void 0?t+"-"+e:e}function WBn(e,t){let n=U9.useContext(Zne).strict}function YBn(e){let t=Qne(),{drag:n,layout:r}=t;if(!n&&!r)return{};let o={...n,...r};return{MeasureLayout:n?.isEnabled(e)||r?.isEnabled(e)?o.MeasureLayout:void 0,ProjectionNode:o.ProjectionNode}}var U9;var jpt=P(()=>{le();tz();TCe();Hne();Wz();Tpt();zpt();Kne();Hpt();Gpt();kCe();Apt();Zpt();Xpt();Jpt();U9=z(re(),1)});function $pt(e,t){if(typeof Proxy>"u")return $ne;let n=new Map,r=(a,i)=>$ne(a,i,e,t);return new Proxy((a,i)=>r(a,i),{get:(a,i)=>{if(i==="create")return r;if(!n.has(i))n.set(i,$ne(i,void 0,e,t));return n.get(i)}})}var eft=P(()=>{jpt()});var tft,nft=(e,t)=>t.isSVG??O9(e)?new One(t):new Lne(t,{allowProjection:e!==tft.Fragment});var rft=P(()=>{ni();Kne();tft=z(re(),1)});var FCe;var oft=P(()=>{ni();FCe=class FCe extends Pp{constructor(e){super(e);e.animationState||(e.animationState=rCe(e))}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();if(g3(e))this.unmountControls=e.subscribe(this.node)}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};if(e!==t)this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}});var KBn=0,UCe;var aft=P(()=>{ni();UCe=class UCe extends Pp{constructor(){super(...arguments);this.id=KBn++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:o,custom:a}=this.node.getProps();if(typeof o==="string"||typeof o==="object"&&o!==null&&!Array.isArray(o)){let i=kg(this.node,o,a);if(i){let{transition:s,transitionEnd:l,...c}=i;for(let u in c)this.node.getValue(u)?.jump(c[u])}}this.node.blockInitialAnimation=!1,this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1,this.exitAnimation=void 0;return}let r=this.exitAnimation=this.node.animationState.setActive("exit",!e);if(t&&!e)r.then(()=>{if(this.exitAnimation!==r)return;this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};if(t)t(this.id);if(e)this.unmount=e(this.id)}unmount(){}}});var ift;var sft=P(()=>{oft();aft();ift={animation:{Feature:FCe},exit:{Feature:UCe}}});function WE(e){return{point:{x:e.pageX,y:e.pageY}}}var lft=(e)=>(t)=>NE(t)&&e(t,WE(t));var Kz=P(()=>{ni()});function A6(e,t,n,r){return ex(e,t,lft(n),r)}var ere=P(()=>{ni();Kz()});var tre=({current:e})=>e?e.ownerDocument.defaultView:null;var NCe=()=>{};function uft(e,t){let n=cft(e.x,t.x),r=cft(e.y,t.y);return Math.sqrt(n**2+r**2)}var cft=(e,t)=>Math.abs(e-t);var dft=()=>{};class Jz{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:o=!1,distanceThreshold:a=3,element:i}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=(f)=>{this.handleScroll(f.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;if(this.hasPendingMove=!1,this.lastRawMoveEventInfo)this.lastMoveEventInfo=nre(this.lastRawMoveEventInfo,this.transformPagePoint);let f=zCe(this.lastMoveEventInfo,this.history),m=this.startEvent!==null,g=uft(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!m&&!g)return;let{point:v}=f;this.history.push({...v,timestamp:ts.now()});let{onStart:y,onMove:x}=this.handlers;if(!m)y&&y(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent;x&&x(this.lastMoveEvent,f)},this.handlePointerMove=(f,m)=>{this.lastMoveEvent=f,this.lastRawMoveEventInfo=m,this.lastMoveEventInfo=nre(m,this.transformPagePoint),this.hasPendingMove=!0,Po.update(this.updatePoint,!0)},this.handlePointerUp=(f,m)=>{this.hasPendingMove&&this.updatePoint(),this.end();let{onEnd:g,onSessionEnd:v,resumeAnimation:y}=this.handlers;if(this.dragSnapToOrigin||!this.startEvent)y&&y();if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let x=zCe(f.type==="pointercancel"?this.lastMoveEventInfo:nre(m,this.transformPagePoint),this.history);if(this.startEvent&&g)g(f,x);v&&v(f,x)},!NE(e))return;this.dragSnapToOrigin=o,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=WE(e),l=nre(s,this.transformPagePoint),{point:c}=l,{timestamp:u}=fl;this.history=[{...c,timestamp:u}];let{onSessionStart:d}=t;d&&d(e,zCe(l,this.history));let p={passive:!0,capture:!0};if(this.removeListeners=P2(A6(this.contextWindow,"pointermove",this.handlePointerMove,p),A6(this.contextWindow,"pointerup",this.handlePointerUp,p),A6(this.contextWindow,"pointercancel",this.handlePointerUp,p)),i)this.startScrollTracking(i)}startScrollTracking(e){let t=e.parentElement;while(t){let n=getComputedStyle(t);if(pft.has(n.overflowX)||pft.has(n.overflowY))this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop});t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},o={x:r.x-t.x,y:r.y-t.y};if(o.x===0&&o.y===0)return;if(n){if(this.lastMoveEventInfo)this.lastMoveEventInfo.point.x+=o.x,this.lastMoveEventInfo.point.y+=o.y}else if(this.history.length>0)this.history[0].x-=o.x,this.history[0].y-=o.y;this.scrollPositions.set(e,r),Po.update(this.updatePoint,!0)}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),u0(this.updatePoint)}}function nre(e,t){return t?{point:t(e.point)}:e}function fft(e,t){return{x:e.x-t.x,y:e.y-t.y}}function zCe({point:e},t){return{point:e,delta:fft(e,mft(t)),offset:fft(e,JBn(t)),velocity:jBn(t,0.1)}}function JBn(e){return e[0]}function mft(e){return e[e.length-1]}function jBn(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,o=mft(e);while(n>=0){if(r=e[n],o.timestamp-r.timestamp>Ed(t))break;n--}if(!r)return{x:0,y:0};if(r===e[0]&&e.length>2&&o.timestamp-r.timestamp>Ed(t)*2)r=e[1];let a=Qd(o.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let i={x:(o.x-r.x)/a,y:(o.y-r.y)/a};if(i.x===1/0)i.x=0;if(i.y===1/0)i.y=0;return i}var pft;var _Ce=P(()=>{ni();Ro();ere();Kz();dft();pft=new Set(["auto","scroll"])});function bft(e,{min:t,max:n},r){if(t!==void 0&&en)e=r?_o(n,e,r.max):Math.min(e,n);return e}function hft(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function xft(e,{top:t,left:n,bottom:r,right:o}){return{x:hft(e.x,n,o),y:hft(e.y,t,r)}}function gft(e,t){let n=t.min-e.min,r=t.max-e.max;if(t.max-t.minr)n=Zb(t.min,t.max-r,e.min);else if(r>o)n=Zb(e.min,e.max-o,t.min);return Dc(0,1,n)}function Sft(e,t){let n={};if(t.min!==void 0)n.min=t.min-e.min;if(t.max!==void 0)n.max=t.max-e.min;return n}function Cft(e=rre){if(e===!1)e=0;else if(e===!0)e=rre;return{x:yft(e,"left","right"),y:yft(e,"top","bottom")}}function yft(e,t,n){return{min:vft(e,t),max:vft(e,n)}}function vft(e,t){return typeof e==="number"?e:e[t]||0}var rre=0.35;var Eft=P(()=>{ni();Ro()});class HCe{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=hl(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let o=(u)=>{if(t)this.snapToCursor(u);this.stopAnimation()},a=(u,d)=>{let{drag:p,dragPropagation:f,onDragStart:m}=this.getProps();if(p&&!f){if(this.openDragLock)this.openDragLock();if(this.openDragLock=M6e(p),!this.openDragLock)return}if(this.latestPointerEvent=u,this.latestPanInfo=d,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection)this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0;if(Rg((v)=>{let y=this.getAxisMotionValue(v).get()||0;if(um.test(y)){let{projection:x}=this.visualElement;if(x&&x.layout){let A=x.layout.layoutBox[v];if(A)y=Id(A)*(parseFloat(y)/100)}}this.originPoint[v]=y}),m)Po.update(()=>m(u,d),!1,!0);E9(this.visualElement,"transform");let{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},i=(u,d)=>{this.latestPointerEvent=u,this.latestPanInfo=d;let{dragPropagation:p,dragDirectionLock:f,onDirectionLock:m,onDrag:g}=this.getProps();if(!p&&!this.openDragLock)return;let{offset:v}=d;if(f&&this.currentDirection===null){if(this.currentDirection=tOn(v),this.currentDirection!==null)m&&m(this.currentDirection);return}if(this.updateAxis("x",d.point,v),this.updateAxis("y",d.point,v),this.visualElement.render(),g)Po.update(()=>g(u,d),!1,!0)},s=(u,d)=>{this.latestPointerEvent=u,this.latestPanInfo=d,this.stop(u,d),this.latestPointerEvent=null,this.latestPanInfo=null},l=()=>{let{dragSnapToOrigin:u}=this.getProps();if(u||this.constraints)this.startAnimation({x:0,y:0})},{dragSnapToOrigin:c}=this.getProps();this.panSession=new Jz(e,{onSessionStart:o,onStart:a,onMove:i,onSessionEnd:s,resumeAnimation:l},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:c,distanceThreshold:n,contextWindow:tre(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,o=this.isDragging;if(this.cancel(),!o||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:i}=this.getProps();if(i)Po.postRender(()=>i(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;if(e)e.isAnimationBlocked=!1;this.endPanSession();let{dragPropagation:n}=this.getProps();if(!n&&this.openDragLock)this.openDragLock(),this.openDragLock=null;t&&t.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!ore(e,r,this.currentDirection))return;let o=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];if(this.constraints&&this.constraints[e])a=bft(a,this.constraints[e],this.elastic[e]);o.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;if(e&&x6(e)){if(!this.constraints)this.constraints=this.resolveRefConstraints()}else if(e&&n)this.constraints=xft(n.layoutBox,e);else this.constraints=!1;if(this.elastic=Cft(t),r!==this.constraints&&!x6(e)&&n&&this.constraints&&!this.hasMutatedConstraints)Rg((o)=>{if(this.constraints!==!1&&this.getAxisMotionValue(o))this.constraints[o]=Sft(n.layoutBox[o],this.constraints[o])})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!x6(e))return!1;let n=e.current;lh(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;if(r.root)r.root.scroll=void 0,r.root.updateScroll();let o=R6e(n,r.root,this.visualElement.getTransformPagePoint()),a=Aft(r.layout.layoutBox,o);if(t){let i=t(A6e(a));if(this.hasMutatedConstraints=!!i,i)a=Mz(i)}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:o,dragSnapToOrigin:a,onDragTransitionEnd:i}=this.getProps(),s=this.constraints||{},l=Rg((c)=>{if(!ore(c,t,this.currentDirection))return;let u=s&&s[c]||{};if(a===!0||a===c)u={min:0,max:0};let d=r?200:1e6,p=r?40:1e7,f={type:"inertia",velocity:n?e[c]:0,bounceStiffness:d,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...o,...u};return this.startAxisValueAnimation(c,f)});return Promise.all(l).then(i)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return E9(this.visualElement,e),n.start(LE(e,n,0,t,this.visualElement,!1))}stopAnimation(){Rg((e)=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,r=this.visualElement.getProps()[t];return r?r:this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor({clientX:e,clientY:t}){let{drag:n}=this.getProps(),r={x:e,y:t},o=this.visualElement.getTransformPagePoint()?.(r)||r,a=this.visualElement.measureViewportBox();Rg((i)=>{if(!ore(i,n,this.currentDirection))return;let s=this.getAxisMotionValue(i),{min:l,max:c}=a[i];s.set((s.get()||0)+o[i]-_o(l,c,0.5))})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!x6(t)||!n||!this.constraints)return;this.stopAnimation();let r=this.constraints,o={x:0,y:0};Rg((i)=>{let s=this.getAxisMotionValue(i).get();o[i]=wft({min:s,max:s},r[i])});let{transformTemplate:a}=this.visualElement.getProps();this.visualElement.current.style.transform=a?a({},""):"none",n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),Rg((i)=>{let s=this.getAxisMotionValue(i);if(!ore(i,e,null)||!s.get())return;let{min:l,max:c}=this.constraints[i];s.set(_o(l,c,o[i]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;$Bn.set(this.visualElement,this);let e=this.visualElement.current,t=A6(e,"pointerdown",(l)=>{let{drag:c,dragListener:u=!0}=this.getProps(),d=l.target,p=d!==e&&U6e(d);if(c&&u&&!p)this.start(l)}),n,r=()=>{let{dragConstraints:l}=this.getProps();if(x6(l)&&l.current){if(this.constraints=this.resolveRefConstraints(),!n)n=eOn(e,l.current,()=>this.scalePositionWithinConstraints())}},{projection:o}=this.visualElement,a=o.addEventListener("measure",r);if(o&&!o.layout)o.root&&o.root.updateScroll(),o.updateLayout();Po.read(r);let i=ex(window,"resize",()=>this.scalePositionWithinConstraints()),s=o.addEventListener("didUpdate",({delta:l,hasLayoutChanged:c})=>{if(this.isDragging&&c)Rg((u)=>{let d=this.getAxisMotionValue(u);if(!d)return;this.originPoint[u]+=l[u].translate,d.set(d.get()+l[u].translate)}),this.visualElement.render()});return()=>{i(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:o=!1,dragElastic:a=rre,dragMomentum:i=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:o,dragElastic:a,dragMomentum:i}}}function Ift(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function eOn(e,t,n){let r=Cne(e,Ift(n)),o=Cne(t,Ift(n));return()=>{r(),o()}}function ore(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function tOn(e,t=10){let n=null;if(Math.abs(e.y)>t)n="y";else if(Math.abs(e.x)>t)n="x";return n}var $Bn;var Tft=P(()=>{ni();Ro();ere();NCe();OCe();_Ce();Eft();$Bn=new WeakMap});var VCe;var kft=P(()=>{ni();Ro();Tft();VCe=class VCe extends Pp{constructor(e){super(e);this.removeGroupControls=Lc,this.removeListeners=Lc,this.controls=new HCe(e)}mount(){let{dragControls:e}=this.node.getProps();if(e)this.removeGroupControls=e.subscribe(this.controls);this.removeListeners=this.controls.addListeners()||Lc}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};if(e!==t){if(this.removeGroupControls(),e)this.removeGroupControls=e.subscribe(this.controls)}}unmount(){if(this.removeGroupControls(),this.removeListeners(),!this.controls.isDragging)this.controls.endPanSession()}}});var GCe=(e)=>(t,n)=>{if(e)Po.update(()=>e(t,n),!1,!0)},qCe;var Rft=P(()=>{ni();Ro();ere();NCe();_Ce();qCe=class qCe extends Pp{constructor(){super(...arguments);this.removePointerDownListener=Lc}onPointerDown(e){this.session=new Jz(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:tre(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:GCe(e),onStart:GCe(t),onMove:GCe(n),onEnd:(o,a)=>{if(delete this.session,r)Po.postRender(()=>r(o,a))}}}mount(){this.removePointerDownListener=A6(this.node.current,"pointerdown",(e)=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}});function are(e){let[t,n]=Zz(),r=jz.useContext(u3);return h(Pft,{...e,layoutGroup:r,switchLayoutGroup:jz.useContext(jne),isPresent:t,safeToRemove:n})}var jz,ZCe=!1,Pft;var QCe=P(()=>{le();ni();Gne();tz();BCe();jz=z(re(),1);Pft=class Pft extends jz.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:o}=e;if(o){if(t.group)t.group.add(o);if(n&&n.register&&r)n.register(o);if(ZCe)o.root.didUpdate();o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})}qE.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:o}=this.props,{projection:a}=n;if(!a)return null;if(a.isPresent=o,e.layoutDependency!==t)a.setOptions({...a.options,layoutDependency:t});if(ZCe=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==o)a.willUpdate();else this.safeToRemove();if(e.isPresent!==o){if(o)a.promote();else if(!a.relegate())Po.postRender(()=>{let i=a.getStack();if(!i||!i.members.length)this.safeToRemove()})}return null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;if(n)n.options.layoutAnchor=t,n.root.didUpdate(),UE.postRender(()=>{if(!n.currentAnimation&&n.isLead())this.safeToRemove()})}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;if(ZCe=!0,r){if(r.scheduleCheckAfterUnmount(),t&&t.group)t.group.remove(r);if(n&&n.deregister)n.deregister(r)}}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}}});var Mft;var Dft=P(()=>{kft();Rft();QCe();ni();Mft={pan:{Feature:qCe},drag:{Feature:VCe,ProjectionNode:qz,MeasureLayout:are}}});function Lft(e,t,n){let{props:r}=e;if(e.animationState&&r.whileHover)e.animationState.setActive("whileHover",n==="Start");let o="onHover"+n,a=r[o];if(a)Po.postRender(()=>a(t,WE(t)))}var XCe;var Bft=P(()=>{ni();Kz();XCe=class XCe extends Pp{mount(){let{current:e}=this.node;if(!e)return;this.unmount=L6e(e,(t,n)=>(Lft(this.node,n,"Start"),(r)=>Lft(this.node,r,"End")))}unmount(){}}});var WCe;var Oft=P(()=>{ni();Ro();WCe=class WCe extends Pp{constructor(){super(...arguments);this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch(t){e=!0}if(!e||!this.node.animationState)return;this.node.animationState.setActive("whileFocus",!0),this.isActive=!0}onBlur(){if(!this.isActive||!this.node.animationState)return;this.node.animationState.setActive("whileFocus",!1),this.isActive=!1}mount(){this.unmount=P2(ex(this.node.current,"focus",()=>this.onFocus()),ex(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}});function Fft(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;if(e.animationState&&r.whileTap)e.animationState.setActive("whileTap",n==="Start");let o="onTap"+(n==="End"?"":n),a=r[o];if(a)Po.postRender(()=>a(t,WE(t)))}var YCe;var Uft=P(()=>{ni();Kz();YCe=class YCe extends Pp{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=H6e(e,(r,o)=>(Fft(this.node,o,"Start"),(a,{success:i})=>Fft(this.node,a,i?"End":"Cancel")),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}}});function oOn({root:e,...t}){let n=e||document;if(!KCe.has(n))KCe.set(n,{});let r=KCe.get(n),o=JSON.stringify(t);if(!r[o])r[o]=new IntersectionObserver(rOn,{root:e,...t});return r[o]}function Nft(e,t,n){let r=oOn(t);return JCe.set(e,n),r.observe(e),()=>{JCe.delete(e),r.unobserve(e)}}var JCe,KCe,nOn=(e)=>{let t=JCe.get(e.target);t&&t(e)},rOn=(e)=>{e.forEach(nOn)};var zft=P(()=>{JCe=new WeakMap,KCe=new WeakMap});function iOn({viewport:e={}},{viewport:t={}}={}){return(n)=>e[n]!==t[n]}var aOn,jCe;var _ft=P(()=>{ni();zft();aOn={some:0,all:1};jCe=class jCe extends Pp{constructor(){super(...arguments);this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r="some",once:o}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==="number"?r:aOn[r]},i=(s)=>{let{isIntersecting:l}=s;if(this.isInView===l)return;if(this.isInView=l,o&&!l&&this.hasEnteredView)return;else if(l)this.hasEnteredView=!0;if(this.node.animationState)this.node.animationState.setActive("whileInView",l);let{onViewportEnter:c,onViewportLeave:u}=this.node.getProps(),d=l?c:u;d&&d(s)};this.stopObserver=Nft(this.node.current,a,i)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;let{props:e,prevProps:t}=this.node;if(["amount","margin","root"].some(iOn(e,t)))this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}});var Hft;var Vft=P(()=>{Bft();Oft();Uft();_ft();Hft={inView:{Feature:jCe},tap:{Feature:YCe},focus:{Feature:WCe},hover:{Feature:XCe}}});var Gft;var qft=P(()=>{ni();QCe();Gft={layout:{ProjectionNode:qz,MeasureLayout:are}}});var Zft;var Qft=P(()=>{sft();Dft();Vft();qft();Zft={...ift,...Hft,...Mft,...Gft}});var $Ce;var Xft=P(()=>{rft();eft();Qft();$Ce=$pt(Zft,nft)});var e5e=P(()=>{ipt();gpt();Xft();Gne();ni();Ro()});var Zn;var ri=P(()=>{e5e();e5e();Zn=$Ce});function lOn(e){if(typeof window>"u"||!window.matchMedia)return()=>{};let t=window.matchMedia(Kft);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function ns(){return Yft.useSyncExternalStore(lOn,()=>typeof window<"u"&&!!window.matchMedia?.(Kft).matches,()=>!1)}function Wft(e){if(typeof e==="string")return e;return{...e,transition:{type:"tween",duration:0,delay:0}}}function Pg(e,t){if(!t)return e;return Object.fromEntries(Object.entries(e).map(([n,r])=>[n,typeof r==="function"?(...o)=>Wft(r(...o)):Wft(r)]))}var Yft,Kft="(prefers-reduced-motion: reduce)";var tx=P(()=>{Yft=z(re(),1)});var Jft,t5e;var jft=P(()=>{ri();Gb();tx();le();Jft=z(re(),1),t5e=Jft.forwardRef(({in:e,appear:t=!0,children:n,variants:r,...o},a)=>{let i=ns(),s={initial:{opacity:0},animate:{opacity:1,transition:{ease:Kt.emphasizedDecelerate,duration:mn.medium2}},exit:{opacity:0,transition:{ease:Kt.emphasizedAccelerate,duration:mn.short4}}},l=h(Zn.div,{ref:a,variants:Pg(r??s,i),initial:t&&!i?"initial":!1,animate:"animate",exit:"exit",style:{willChange:"opacity"},...o,children:n});if(e!==void 0)return h(Do,{children:e?l:null});return l});t5e.displayName="M3Fade"});var $ft,cOn;var emt=P(()=>{ri();Gb();tx();le();$ft=z(re(),1),cOn=$ft.forwardRef(({in:e,axis:t="x",forward:n=!0,appear:r=!0,transition:o,variants:a,children:i,...s},l)=>{let c=ns(),u=30,d=0.08,p={initial:{opacity:0,x:t==="x"?n?30:-30:0,y:t==="y"?n?30:-30:0,scale:t==="z"?n?0.92:1.08:1},animate:{opacity:1,x:0,y:0,scale:1,transition:o||{x:{ease:Kt.emphasizedDecelerate,duration:mn.medium2},y:{ease:Kt.emphasizedDecelerate,duration:mn.medium2},scale:{ease:Kt.emphasizedDecelerate,duration:mn.medium2},opacity:{ease:Kt.standard,duration:mn.medium2}}},exit:{opacity:0,x:t==="x"?n?-30:30:0,y:t==="y"?n?-30:30:0,scale:t==="z"?n?1.08:0.92:1,transition:o||{x:{ease:Kt.emphasizedAccelerate,duration:mn.short4},y:{ease:Kt.emphasizedAccelerate,duration:mn.short4},scale:{ease:Kt.emphasizedAccelerate,duration:mn.short4},opacity:{ease:Kt.standard,duration:mn.short4}}}},f=Pg(a??p,c),m=h(Zn.div,{ref:l,variants:f,initial:r&&!c?"initial":!1,animate:"animate",exit:"exit",style:{willChange:"opacity, transform"},...s,children:i});if(e!==void 0)return h(Do,{mode:"wait",children:e?m:null});return m});cOn.displayName="M3SharedAxis"});var uOn=({stateKey:e,transition:t,variants:n,children:r,...o})=>{let a=ns(),i={initial:{opacity:0,scale:0.92},animate:{opacity:1,scale:1,transition:t||{opacity:{ease:Kt.emphasizedDecelerate,duration:0.21},scale:{ease:Kt.emphasizedDecelerate,duration:0.21}}},exit:{opacity:0,transition:t||{opacity:{ease:Kt.emphasizedAccelerate,duration:0.09}}}},s=Pg(n??i,a);return h(Do,{mode:"wait",children:h(Zn.div,{variants:s,initial:a?!1:"initial",animate:"animate",exit:"exit",style:{willChange:"opacity, transform"},...o,children:r},e)})};var tmt=P(()=>{ri();Gb();tx();le();uOn.displayName="M3FadeThrough"});var nmt,n5e;var rmt=P(()=>{ri();Gb();tx();le();nmt=z(re(),1),n5e=nmt.forwardRef(({in:e,appear:t=!1,children:n,variants:r,...o},a)=>{let i=ns(),s={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1,transition:{height:{ease:Kt.emphasized,duration:mn.medium4},opacity:{ease:Kt.standard,duration:mn.medium2}}},exit:{height:0,opacity:0,transition:{height:{ease:Kt.emphasized,duration:mn.medium4},opacity:{ease:Kt.standard,duration:mn.medium2}}}},l=h(Zn.div,{ref:a,variants:Pg(r??s,i),initial:t&&!i?"initial":!1,animate:"animate",exit:"exit",style:{overflow:"hidden",willChange:"height, opacity"},...o,children:n});if(e!==void 0)return h(Do,{initial:t,children:e?l:null});return l});n5e.displayName="M3Collapse"});function dOn(e,t){if(t==="fast")return e?{delay:0.05,duration:0.15,ease:Kt.emphasizedDecelerate}:{duration:0.08,ease:Kt.emphasizedAccelerate};if(t==="slow")return e?{delay:0.2,duration:0.6,ease:Kt.emphasizedDecelerate}:{duration:0.25,ease:Kt.emphasizedAccelerate};return e?{delay:0.1,duration:0.35,ease:Kt.emphasizedDecelerate}:{duration:0.15,ease:Kt.emphasizedAccelerate}}var O2,omt,r5e,amt,o5e,a5e;var imt=P(()=>{ri();e4e();Gb();tx();le();O2=z(re(),1),omt=O2.createContext(null);r5e=O2.forwardRef(({layoutId:e,speed:t="default",isExpanded:n=!1,children:r,transition:o,style:a,...i},s)=>{let l=ns(),c=Gst[t].spatial,u=O2.useMemo(()=>({isExpanded:n,speed:t}),[n,t]);return h(omt.Provider,{value:u,children:h(Zn.div,{ref:s,layoutId:l?void 0:e,layout:!l,transition:l?{type:"tween",duration:0,delay:0}:o||c,style:{position:"relative",willChange:"transform, border-radius",overflow:"hidden",...a},...i,children:r})})});r5e.displayName="M3ContainerTransform";amt=O2.forwardRef(({layer:e,active:t,children:n,style:r,transition:o,layout:a="position",...i},s)=>{let l=ns(),c=O2.useContext(omt),u=t??(c?c.isExpanded===(e==="end"):!0),d=c?.speed??"default",p={width:"100%",height:"100%",boxSizing:"border-box",pointerEvents:u?"auto":"none",...!u&&{position:"absolute",top:0,left:0},...r};return h(Zn.div,{ref:s,layout:l?!1:a,...e==="end"?{initial:l?!1:{opacity:0}}:{},animate:{opacity:u?1:0},transition:l?{type:"tween",duration:0,delay:0}:o||dOn(u,d),style:p,...i,inert:!u||i.inert,"aria-hidden":!u||i["aria-hidden"],children:n})}),o5e=O2.forwardRef((e,t)=>h(amt,{layer:"start",ref:t,...e}));o5e.displayName="M3ContainerTransformStart";a5e=O2.forwardRef((e,t)=>h(amt,{layer:"end",ref:t,...e}));a5e.displayName="M3ContainerTransformEnd"});function pOn(e,t){let n={ease:Kt.emphasizedDecelerate,duration:mn.medium2},r={ease:Kt.emphasizedAccelerate,duration:mn.short4};switch(e){case"fade-through":return{initial:{opacity:0,scale:0.92},animate:{opacity:1,scale:1,transition:{opacity:{ease:Kt.emphasizedDecelerate,duration:0.21},scale:{ease:Kt.emphasizedDecelerate,duration:0.21}}},exit:{opacity:0,transition:{opacity:{ease:Kt.emphasizedAccelerate,duration:0.09}}}};case"shared-axis-x":return{initial:{opacity:0,x:t?w6:-w6},animate:{opacity:1,x:0,transition:{x:n,opacity:{ease:Kt.standard,duration:mn.medium2}}},exit:{opacity:0,x:t?-w6:w6,transition:{x:r,opacity:{ease:Kt.standard,duration:mn.short4}}}};case"shared-axis-y":return{initial:{opacity:0,y:t?w6:-w6},animate:{opacity:1,y:0,transition:{y:n,opacity:{ease:Kt.standard,duration:mn.medium2}}},exit:{opacity:0,y:t?-w6:w6,transition:{y:r,opacity:{ease:Kt.standard,duration:mn.short4}}}};case"shared-axis-z":return{initial:{opacity:0,scale:t?1-ire:1+ire},animate:{opacity:1,scale:1,transition:{scale:n,opacity:{ease:Kt.standard,duration:mn.medium2}}},exit:{opacity:0,scale:t?1+ire:1-ire,transition:{scale:r,opacity:{ease:Kt.standard,duration:mn.short4}}}};case"collapse":return{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1,transition:{height:{ease:Kt.emphasized,duration:mn.medium4},opacity:{ease:Kt.standard,duration:mn.medium2}}},exit:{height:0,opacity:0,transition:{height:{ease:Kt.emphasized,duration:mn.medium4},opacity:{ease:Kt.standard,duration:mn.medium2}}}};case"fade":default:return{initial:{opacity:0},animate:{opacity:1,transition:n},exit:{opacity:0,transition:r}}}}var smt,w6=30,ire=0.08,i5e;var lmt=P(()=>{ri();Gb();tx();le();smt=z(re(),1);i5e=smt.forwardRef(({stateKey:e,pattern:t="fade",forward:n=!0,mode:r="wait",variants:o,children:a,style:i,...s},l)=>{let c=ns(),u=Pg(o??pOn(t,n),c),p={...t==="collapse"?{overflow:"hidden"}:{willChange:"opacity, transform"},...i};return h(Do,{mode:r,children:h(Zn.div,{ref:l,variants:u,initial:c?!1:"initial",animate:"animate",exit:"exit",style:p,...s,children:a},e)})});i5e.displayName="M3Transition"});var s5e,fOn,mOn,l5e,c5e;var cmt=P(()=>{ri();Gb();tx();le();s5e=z(re(),1),fOn={hidden:{},visible:(e)=>({transition:{staggerChildren:e.staggerDelay,delayChildren:e.delayChildren}}),exit:{}},mOn={hidden:{opacity:0,y:8},visible:{opacity:1,y:0,transition:{ease:Kt.emphasizedDecelerate,duration:mn.medium2}},exit:{opacity:0,y:4,transition:{ease:Kt.emphasizedAccelerate,duration:mn.short3}}},l5e=s5e.forwardRef(({staggerDelay:e=0.05,delayChildren:t=0,appear:n=!0,children:r,className:o,style:a},i)=>{let s=ns();return h(Zn.div,{ref:i,className:o,style:a,variants:Pg(fOn,s),initial:n&&!s?"hidden":!1,animate:"visible",exit:"exit",custom:{staggerDelay:e,delayChildren:t},children:h(Do,{initial:n&&!s,children:r})})});l5e.displayName="M3ListStagger";c5e=s5e.forwardRef(({children:e,style:t,...n},r)=>{let o=CCe(),a=ns();return h(Zn.div,{ref:r,variants:Pg(mOn,a),style:{willChange:"opacity, transform",...t},...n,inert:!o||n.inert,"aria-hidden":!o||n["aria-hidden"],children:e})});c5e.displayName="M3ListStaggerItem"});var umt=P(()=>{Gb();tx()});var rs=P(()=>{tx();e4e();Gb();jft();emt();tmt();rmt();imt();lmt();cmt();umt()});function fmt(e){let t=ns();return h("svg",{role:"progressbar","aria-label":"Loading",viewBox:"0 0 48 48",fill:"none",className:Ve("size-7",e.color===void 0&&"text-primary",e.className),children:M("g",{children:[h("circle",{cx:24,cy:24,r:pmt,stroke:e.color??"currentColor",strokeWidth:4,strokeLinecap:"round",strokeDasharray:`${t?S6*0.5:1} ${S6}`,transform:"rotate(-90 24 24)",children:!t&&M(Ht,{children:[h("animate",{attributeName:"stroke-dasharray",dur:dmt,repeatCount:"indefinite",calcMode:"spline",keyTimes:"0;0.5;1",keySplines:`${sre};${sre}`,values:`1 ${S6};${S6*0.75} ${S6};1 ${S6}`}),h("animate",{attributeName:"stroke-dashoffset",dur:dmt,repeatCount:"indefinite",calcMode:"spline",keyTimes:"0;0.5;1",keySplines:`${sre};${sre}`,values:`0;${-S6*0.25};${-S6}`})]})}),!t&&h("animateTransform",{attributeName:"transform",type:"rotate",from:"0 24 24",to:"360 24 24",dur:hOn,repeatCount:"indefinite"})]})})}var pmt=20,S6,dmt="1.333s",hOn="1.568s",sre="0.2 0 0 1";var mmt=P(()=>{rn();rs();le();S6=2*Math.PI*pmt});function yOn(e,t){let n=YE(t),{_formValues:r,_defaultValues:o}=e;for(let a=0;a{if(s&&(t.current||n.current&&o.current>1)){let u=l();if(!p0(r.current,u))c(u)}t.current=!0},[]),i=Ir.default.useCallback((s,l)=>{if(s)r.current=Ms(l())},[]);return{resyncIfNeeded:a,snapshot:i}}function AOn(e){let t=A5e(),{control:n=t,disabled:r,name:o,exact:a}=e||{},i=()=>({...n._formState,defaultValues:n._defaultValues}),[s,l]=Ir.default.useState(i),c=Ir.default.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),{resyncIfNeeded:u,snapshot:d}=S5e(i);return w5e(()=>{u(!r,i,l);let p=n._subscribe({name:o,formState:c.current,exact:a,callback:(f)=>{!r&&l({...n._formState,...f,defaultValues:n._defaultValues})}});return()=>{p(),d(!r,i)}},[n,o,r,a,u,d]),Ir.default.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),Ir.default.useMemo(()=>Pmt(s,n,c.current,!1),[s,n])}function C5e(e){let t=A5e(),{control:n=t,name:r,defaultValue:o,disabled:a,exact:i,compute:s}=e||{},l=Ir.default.useRef(o),c=Ir.default.useRef(s),u=Ir.default.useRef(n),d=Ir.default.useRef(r);c.current=s;let p=()=>{let k=n._getWatch(r,l.current);return c.current?c.current(k):k},[f,m]=Ir.default.useState(p),g=Ir.default.useRef(f),v=Ir.default.useCallback((k)=>{let L=m5e(r,n._names,k||n._formValues,!1,l.current);return c.current?c.current(L):L},[n._formValues,n._names,r]),y=Ir.default.useCallback((k)=>{if(!a){let L=m5e(r,n._names,k||n._formValues,!1,l.current);if(c.current){let O=c.current(L);if(!p0(O,g.current))m(O),g.current=O}else m(L)}},[n._formValues,n._names,a,r]),{resyncIfNeeded:x,snapshot:A}=S5e(p),w=Ir.default.useRef(y);w.current=y;let C=Ir.default.useRef(v);C.current=v,w5e(()=>{if(u.current!==n||!p0(d.current,r))u.current=n,d.current=r,w.current();else x(!a,()=>C.current(),(L)=>{m(L),g.current=L});let k=n._subscribe({name:r,formState:{values:!0},exact:i,callback:(L)=>{w.current(L.values)}});return()=>{k(),A(!a,()=>C.current())}},[n,i,r,a,x,A]),Ir.default.useEffect(()=>n._removeUnmounted());let E=u.current!==n,T=d.current;return Ir.default.useMemo(()=>{if(a)return!1;let k=!E&&!p0(T,r);return E||k},[a,E,r,T])?v():f}function wOn(e){let t=A5e(),{name:n,disabled:r,control:o=t,shouldUnregister:a,defaultValue:i,exact:s=!0}=e,l=kmt(o._names.array,n),c=Ir.default.useMemo(()=>{let w=vn(o._formValues,n,vn(o._defaultValues,n,i));return hi(w)?yOn(o,n):w},[o,n,i]),u=C5e({control:o,name:n,defaultValue:c,exact:s}),d=AOn({control:o,name:n,exact:s}),p=Ir.default.useRef(e),f=Ir.default.useRef(null),m=Ir.default.useRef(o.register(n,{...e.rules,value:u,...d0(e.disabled)?{disabled:e.disabled}:{}}));p.current=e;let g=Ir.default.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!vn(d.errors,n)},isDirty:{enumerable:!0,get:()=>!!vn(d.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!vn(d.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!vn(d.validatingFields,n)},error:{enumerable:!0,get:()=>vn(d.errors,n)}}),[d,n]),v=Ir.default.useCallback((w)=>{let C=p5e(w);if(!vn(o._fields,n))m.current=o.register(n,{...p.current.rules,value:C});return m.current.onChange({target:{value:p5e(w),name:n},type:E6.CHANGE})},[n,o]),y=Ir.default.useCallback(()=>m.current.onBlur({target:{value:vn(o._formValues,n),name:n},type:E6.BLUR}),[n,o._formValues]),x=Ir.default.useCallback((w)=>{if(w)f.current={focus:()=>Tf(w.focus)&&w.focus(),select:()=>Tf(w.select)&&w.select(),setCustomValidity:(E)=>Tf(w.setCustomValidity)&&w.setCustomValidity(E),reportValidity:()=>Tf(w.reportValidity)&&w.reportValidity()};let C=vn(o._fields,n);if(C&&C._f&&w)C._f.ref=f.current,C._f._c=!0},[o._fields,n]),A=Ir.default.useMemo(()=>({name:n,value:u,...d0(r)||d.disabled?{disabled:d.disabled||r}:{},onChange:v,onBlur:y,ref:x}),[n,r,d.disabled,v,y,x,u]);return Ir.default.useEffect(()=>{let w=o._options.shouldUnregister||a;m.current=o.register(n,{...p.current.rules,...d0(p.current.disabled)?{disabled:p.current.disabled}:{}});let C=(E,T)=>{let I=vn(o._fields,E);if(I&&I._f)I._f.mount=T,I._f._c=T};if(C(n,!0),w){let E=Ms(vn(a?o._defaultValues:o._options.values||o._defaultValues,n,vn(o._options.defaultValues,n,p.current.defaultValue)));if(Xi(o._defaultValues,n,E),hi(vn(o._formValues,n)))Xi(o._formValues,n,E)}if(!l&&o.register(n,{...p.current.rules,...d0(p.current.disabled)?{disabled:p.current.disabled}:{}}),f.current){let E=vn(o._fields,n);if(E&&E._f)E._f.ref=f.current}return()=>{(l?w&&!o._state.action:w)?o.unregister(n):C(n,!1)}},[n,o,l,a]),Ir.default.useEffect(()=>{o._setDisabledField({disabled:r,name:n})},[r,n,o]),Ir.default.useMemo(()=>({field:A,formState:d,fieldState:g}),[A,d,g])}function xmt(e,t,n="validate"){if(Lp(e)||Array.isArray(e)&&e.every(Lp)||d0(e)&&!e)return{type:n,message:Lp(e)?e:"",ref:t}}function COn(e,t){let n=t.length-1,r=0;while(rb5e.includes(String(i))))return e;let r=n.length===1?e:COn(e,n),o=n.length-1,a=n[o];if(r)delete r[a];if(o!==0&&(Hl(r)&&Oc(r)||Array.isArray(r)&&EOn(r)))cc(e,n.slice(0,-1));return e}function Omt(e,t){let n=Array.isArray(e)?[]:{};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r],a=t[r];if(o&&(Hl(o)||Array.isArray(o))&&a)n[r]=Omt(o,a);else if(e[r])n[r]=a}return n}function Cmt(e){return Array.isArray(e)||Hl(e)}function Umt(e,t,n="",r=[]){for(let o in e){let a=n?`${n}.${o}`:o,i=e[o];if(Cmt(i)&&Cmt(vn(t,a)))Umt(i,t,a,r);else r.push(a)}return r}function Nmt(e){return Array.isArray(e)||Hl(e)&&!kOn(e)}function zmt(e){return!!(e&&("_f"in e))}function _mt(e){return Array.isArray(e)?!e.some((t)=>!hi(t)):!Object.keys(e).length}function h5e(e,t){if(Array.isArray(e))e[t]=void 0;else delete e[t]}function g5e(e,t={},n){for(let r in e){let o=e[r],a=n&&n[r];if(Nmt(o)&&(!Array.isArray(o)||!zmt(a))){if(t[r]=Array.isArray(o)?[]:{},g5e(o,t[r],a),_mt(t[r]))h5e(t,r)}else if(!hi(o))t[r]=!0}return t}function C6(e,t,n,r){if(!n)n=g5e(t,{},r);for(let o in e){let a=e[o],i=r&&r[o];if(Nmt(a)&&(!Array.isArray(a)||!zmt(i))){if(hi(t)||f5e(n[o]))n[o]=g5e(a,Array.isArray(a)?[]:{},i);else C6(a,Dp(t)?{}:t[o],n[o],i);if(_mt(n[o]))h5e(n,o)}else if(p0(a,t[o]))h5e(n,o);else n[o]=!0}return n}function Emt(e){let t=e.ref;if(pre(t))return t.files;if(E5e(t))return Lmt(e.refs).value;if(Fmt(t))return[...t.selectedOptions].map(({value:n})=>n);if(n_(t))return Dmt(e.refs).value;return y5e(t.value,e)}function Tmt(e,t,n){let r=vn(e,n);if((r===null||r===void 0?void 0:r.type)||(r===null||r===void 0?void 0:r.message)||Array.isArray(r))return{error:r,name:n};let o=n.split(".");while(o.length){let a=o.join("."),i=vn(t,a),s=vn(e,a);if(i&&!Array.isArray(i)&&n!==a)return{name:n};if(s&&s.type)return{name:a,error:s};if(s&&s.root&&s.root.type)return{name:`${a}.root`,error:s.root};o.pop()}return{name:n}}function zOn(e={}){let t={...UOn,...e},n={...Ms(Hmt),isLoading:Tf(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},r={},o=Hl(t.defaultValues)||Hl(t.values)?Ms(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:Ms(o),i={action:!1,actionArrayLengths:new Map,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},l={},c={},u=0,d=lre(t.mode),p=lre(t.reValidateMode),f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={...f},g={...m},v=(...de)=>de.some((ge)=>m[ge]||g[ge]),y={array:wmt(),state:wmt()},x=0,A=0,w=t.criteriaMode===iy.all,C=(de,ge)=>(Oe)=>{clearTimeout(c[de]),c[de]=setTimeout(ge,Oe)},E=(de)=>{clearTimeout(c[de]),delete c[de],delete l[de]},T=(de)=>{E(de);let ge=`${de}.`;for(let Oe of Object.keys(l))Oe.startsWith(ge)&&E(Oe)},I=async(de)=>{if(i.keepIsValid)return;if(!t.disabled&&(v("isValid")||de)){let ge=++x,Oe;if(t.resolver)Oe=Oc((await q()).errors),ge===x&&k();else Oe=await ie({fields:r,onlyCheckValid:!0,eventType:E6.VALID});if(ge===x&&Oe!==n.isValid)y.state.next({isValid:Oe})}},k=(de,ge)=>{if(!t.disabled&&v("isValidating","validatingFields"))(de||s.mount).forEach((Oe)=>{if(Oe)ge?Xi(n.validatingFields,Oe,ge):cc(n.validatingFields,Oe)}),y.state.next({validatingFields:n.validatingFields,isValidating:!Oc(n.validatingFields)})},L=()=>{n.dirtyFields=C6(o,a,void 0,r)},O=(de,ge=[],Oe,Xe,$e=!0,Ie=!0)=>{if(Xe&&Oe&&!t.disabled){i.action=!0;let Ge=vn(r,de);if(!i.actionArrayLengths.has(de))i.actionArrayLengths.set(de,Array.isArray(Ge)?Ge.length:0);if(Ie&&Array.isArray(Ge)){let At=Oe(Ge,Xe.argA,Xe.argB);$e&&Xi(r,de,At)}let _e=vn(n.errors,de);if(Ie&&Array.isArray(_e)){let At=_e.root,en=Oe(_e,Xe.argA,Xe.argB)||_e;if(At)en.root=At;$e&&Xi(n.errors,de,en),FOn(n.errors,de)}let nt=vn(n.touchedFields,de),rt=Ie&&Array.isArray(nt);if(rt){let At=Oe(nt,Xe.argA,Xe.argB);$e&&Xi(n.touchedFields,de,At)}let ot=vn(n.dirtyFields,de);if(Ie&&Array.isArray(ot)){let At=Oe(ot,Xe.argA,Xe.argB)||ot;$e&&Xi(n.dirtyFields,de,At)}if(v("dirtyFields"))L();y.state.next({name:de,isDirty:oe(de,ge),dirtyFields:n.dirtyFields,...rt&&{touchedFields:n.touchedFields},errors:n.errors,isValid:n.isValid})}else Xi(a,de,ge)},B=(de,ge)=>{Xi(n.errors,de,ge),n.errors={...n.errors},y.state.next({errors:n.errors})},U=(de)=>{Object.keys(l).forEach(E);let ge=!Oc(de);n.errors=de,y.state.next({errors:n.errors,...ge?{isValid:!1}:{}}),!ge&&i.mount&&I()},D=(de)=>{let ge=z9(de)?[de]:YE(de),Oe=a,Xe=o;for(let $e=0;$e{if(!i.actionArrayLengths.size)return!1;let ge=z9(de)?[de]:YE(de),Oe=a,Xe="",$e=-1,Ie=0;for(let Ge=0;Ge=Oe.length)return $e===-1?!1:Ge===$e?+_e$e&&+ge[$e]{let $e=vn(r,de);if($e){if(D(de)||N(de))return;let Ie=hi(vn(a,de)),Ge=vn(a,de,hi(Oe)?vn(o,de):Oe);if(hi(Ge)||Xe&&Xe.defaultChecked||ge?Xi(a,de,ge?Ge:Emt($e._f)):ae(de,Ge),i.mount&&!i.action){if(t.resolver&&v("isValidating","validatingFields"))Promise.resolve().then(()=>I());else I();if(Ie&&n.isDirty&&v("isDirty")){if(!oe())n.isDirty=!1,y.state.next({...n})}if(e.shouldUnregister&&Ie&&!hi(vn(a,de))&&u5e(de,s))i.watch=!0}}},G=(de,ge,Oe,Xe,$e)=>{let Ie=!1,Ge=!1,_e={name:de};if(!t.disabled||Xe===!0){if(!Oe||Xe){let nt=p0(vn(o,de),ge);if(v("isDirty"))Ge=n.isDirty,n.isDirty=_e.isDirty=!nt||oe(),Ie=Ge!==_e.isDirty;if(Ge=!!vn(n.dirtyFields,de),nt!==n.isDirty)NOn(n.dirtyFields,C6(o,a,void 0,r));else nt?cc(n.dirtyFields,de):Xi(n.dirtyFields,de,!0);_e.dirtyFields=n.dirtyFields,Ie=Ie||v("dirtyFields")&&Ge!==!nt}if(Oe){let nt=vn(n.touchedFields,de);if(!nt)Xi(n.touchedFields,de,Oe),_e.touchedFields=n.touchedFields,Ie=Ie||v("touchedFields")&&nt!==Oe}Ie&&$e&&y.state.next(_e)}return Ie?_e:{}},Z=(de,ge,Oe,Xe)=>{let $e=vn(n.errors,de),Ie=v("isValid")&&d0(ge)&&n.isValid!==ge;if(t.delayError&&Oe)l[de]=C(de,()=>B(de,Oe)),l[de](t.delayError);else E(de),Oe?Xi(n.errors,de,Oe):cc(n.errors,de),n.errors={...n.errors};if((Oe?!p0($e,Oe):$e)||!Oc(Xe)||Ie){let Ge={...Xe,...Ie&&d0(ge)?{isValid:ge}:{},errors:n.errors,name:de};y.state.next(Ge)}},q=async(de)=>(k(de,!0),await t.resolver(a,t.context,POn(de||s.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),H=async(de)=>{let ge=A,{errors:Oe}=await q(de);if(ge!==A)return Oe;if(k(de),de){for(let Xe of de){let $e=vn(Oe,Xe);T(Xe);let Ie=s.array.has(Xe)&&Hl($e)&&!Object.keys($e).some((nt)=>!Number.isNaN(Number(nt))),Ge=vn(r,Xe),_e=Hl(Ge)&&Object.keys(Ge).some((nt)=>nt!=="_f");Ie?gmt(n.errors,{[Xe]:$e},Xe):($e===null||$e===void 0?void 0:$e.type)||($e===null||$e===void 0?void 0:$e.message)||Array.isArray($e)||Hl($e)&&_e?Xi(n.errors,Xe,$e):cc(n.errors,Xe)}n.errors={...n.errors}}else Object.keys(l).forEach(E),n.errors=Oe;return Oe},te=async({name:de,eventType:ge})=>{if(t.validate){let Oe=A,Xe=await t.validate({formValues:a,formState:n,name:de,eventType:ge});if(Oe!==A)return!0;if(Hl(Xe)){let $e=!0;ye(e_);for(let Ie in Xe){let Ge=Xe[Ie];if(Ge)$e=!1,ce(`${e_}.${Ie}`,{message:Lp(Ge.message)?Ge.message:"",type:Ge.type||Mp.validate})}return $e}else if(Lp(Xe)||!Xe)return ce(e_,{message:Xe||"",type:Mp.validate}),!1;else return ye(e_),!0}return!0},ie=async({fields:de,onlyCheckValid:ge,name:Oe,eventType:Xe,context:$e={valid:!0,runRootValidation:!1}})=>{let Ie=A;if(t.validate&&!$e.runRootValidation){if($e.runRootValidation=!0,!await te({name:Oe,eventType:Xe})){if($e.valid=!1,ge)return $e.valid}}for(let Ge in de){let _e=de[Ge];if(_e){let{_f:nt,...rt}=_e;if(nt){let ot=s.array.has(nt.name),At=_e._f&&MOn(_e._f),en=v("isValidating","validatingFields");if(At&&en)k([nt.name],!0);let Gt=await Amt(_e,s.disabled,a,w,t.shouldUseNativeValidation&&!ge,ot);if(Ie!==A)return $e.valid;if(At&&en)k([nt.name]);if(Gt[nt.name]){if($e.valid=!1,ge)break}if(!ge)E(nt.name),vn(Gt,nt.name)?ot?gmt(n.errors,Gt,nt.name):Xi(n.errors,nt.name,Gt[nt.name]):cc(n.errors,nt.name);if(e.shouldUseNativeValidation&&Gt[nt.name])break}!Oc(rt)&&await ie({context:$e,onlyCheckValid:ge,fields:rt,name:Ge,eventType:Xe})}}return $e.valid},j=()=>{for(let de of s.unMount){let ge=vn(r,de);ge&&(ge._f.refs?ge._f.refs.every((Oe)=>!d5e(Oe)):!d5e(ge._f.ref))&&qe(de)}s.unMount=new Set},oe=(de,ge)=>(de&&ge&&Xi(a,de,ge),!p0(i.mount?a:o,o)),J=(de,ge,Oe)=>m5e(de,s,{...i.mount?a:hi(ge)||Lp(de)?o:ge},Oe,ge),Y=(de)=>Bmt(vn(i.mount?a:o,de,t.shouldUnregister?vn(o,de,[]):[])),ae=(de,ge,Oe={},Xe=!1,$e=!1,Ie=!1)=>{let Ge=vn(r,de),_e=ge;if(Ge){let nt=Ge._f;if(nt){if(!nt.disabled&&Xi(a,de,y5e(ge,nt)),_e=ure(nt.ref)&&Dp(ge)?"":ge,Fmt(nt.ref))[...nt.ref.options].forEach((rt)=>rt.selected=_e.includes(rt.value));else if(nt.refs)if(n_(nt.ref))nt.refs.forEach((rt)=>{if(!rt.defaultChecked||!rt.disabled)if(Array.isArray(_e))rt.checked=!!_e.find((ot)=>ot===rt.value);else rt.checked=_e===rt.value||!!_e});else nt.refs.forEach((rt)=>rt.checked=rt.value===_e);else if(pre(nt.ref))nt.ref.value="";else if(nt.ref.value=_e,!nt.ref.type&&!$e&&!Ie)y.state.next({name:de,values:Xe?a:Ms(a)})}}if((Oe.shouldDirty||Oe.shouldTouch)&&G(de,Ge&&Ge._f&&!Ge._f.disabled&&(Ge._f.valueAsNumber||Ge._f.valueAsDate||Ge._f.setValueAs)?y5e(ge,Ge._f):_e,Oe.shouldTouch,Oe.shouldDirty,!$e),Oe.shouldValidate&&Re(de,{delayError:Oe.delayError}),Oe.shouldValidate&&Ge&&Ge._f&&Ge._f.deps&&(!Array.isArray(Ge._f.deps)||Ge._f.deps.length>0))Re(Ge._f.deps)},ne=(de,ge,Oe,Xe=!1,$e=!1,Ie=!1)=>{if(s.array.has(de))y.array.next({name:de,values:Xe?a:Ms(a)});for(let Ge in ge){if(!ge.hasOwnProperty(Ge))continue;let _e=ge[Ge],nt=de+"."+Ge,rt=vn(r,nt);(s.array.has(de)||Hl(_e)||rt&&!rt._f)&&!I6(_e)?ne(nt,_e,Oe,Xe,$e,Ie):ae(nt,_e,Oe,Xe,$e,Ie)}},Se=(de,ge,Oe,Xe,$e=!1)=>{let Ie=vn(r,de),Ge=s.array.has(de),_e=Xe?ge:Ms(ge),nt=vn(a,de),rt=p0(nt,_e);if(!rt)Xi(a,de,_e);if(Ge){if(y.array.next({name:de,values:Xe?a:Ms(a)}),v("isDirty","dirtyFields")&&Oe.shouldDirty){if(L(),!$e)y.state.next({name:de,dirtyFields:n.dirtyFields,isDirty:oe(de,_e)})}Oe.shouldValidate&&Re(de,{delayError:Oe.delayError})}else{let ot=Array.isArray(_e)&&!_e.length||Oc(_e),At=!rt&&!$e;if(!Ie||Ie._f||Dp(_e)||ot)ae(de,_e,Oe,Xe,$e,At);else ne(de,_e,Oe,Xe,$e,At)}if(!rt&&!$e){let ot=u5e(de,s),At=Xe?a:Ms(a);if(y.state.next({...ot&&n,name:i.mount||ot?de:void 0,values:At}),!Ge)for(let en of ROn(s.array,de))y.state.next({name:en,values:At})}},fe=(de,ge,Oe={})=>Se(de,ge,Oe,!1),Ae=(de,ge={})=>{let Oe=Tf(de)?de(a):de;if(!p0(a,Oe)){a={...a,...Oe};for(let Xe of s.mount)if(IOn(Oe,Xe))Se(Xe,vn(Oe,Xe),ge,!0,!0);if(y.state.next({...n,name:void 0,type:void 0,...u?{values:a}:{}}),ge.shouldValidate)I()}},Ee=async(de)=>{i.mount=!0;let ge=de.target,Oe=ge.name,Xe=!0,$e=vn(r,Oe),Ie=(Ge)=>{Xe=Number.isNaN(Ge)||I6(Ge)&&isNaN(Ge.getTime())||p0(Ge,vn(a,Oe,Ge))};if($e){let Ge,_e,nt=ge.type?Emt($e._f):p5e(de),rt=de.type===E6.BLUR||de.type===E6.FOCUS_OUT,ot=!DOn($e._f)&&!t.validate&&!t.resolver&&!vn(n.errors,Oe)&&!$e._f.deps,At=ot||OOn(rt,vn(n.touchedFields,Oe),n.isSubmitted,p,d),en=u5e(Oe,s,rt);if(Xi(a,Oe,Ms(nt)),rt){if(!ge||!ge.readOnly){$e._f.onBlur&&$e._f.onBlur(de);let Yt=l[Oe];Yt&&Yt(0)}}else if($e._f.onChange)$e._f.onChange(de);let Gt=G(Oe,nt,rt),tn=!Oc(Gt)||en;if(!rt&&y.state.next({name:Oe,type:de.type,...u?{values:Ms(a)}:{}}),At){if((!ot||!n.isValid)&&v("isValid")){if(t.mode==="onBlur"){if(rt)I()}else if(!rt)I()}return tn&&y.state.next({name:Oe,...en?{}:Gt})}if(!t.resolver&&t.validate)await te({name:Oe,eventType:de.type});if(!rt&&en&&y.state.next({...n}),t.resolver){let Yt=A,{errors:Be}=await q([Oe]);if(Yt!==A)return;if(k([Oe]),Ie(nt),!Xe){!Oc(Gt)&&y.state.next(Gt);return}let Je=Tmt(n.errors,r,Oe),it=Tmt(Be,r,Je.name||Oe);Ge=it.error,Oe=it.name,_e=Oc(Be)}else{let Yt=A;if(k([Oe],!0),Ge=(await Amt($e,s.disabled,a,w,t.shouldUseNativeValidation))[Oe],Yt!==A)return;if(k([Oe]),Ie(nt),Xe){if(Ge)_e=!1;else if(v("isValid")){if(_e=await ie({fields:r,onlyCheckValid:!0,name:Oe,eventType:de.type}),Yt!==A)return}}}if(Xe)$e._f.deps&&(!Array.isArray($e._f.deps)||$e._f.deps.length>0)&&Re($e._f.deps),Z(Oe,_e,Ge,Gt)}},pe=(de,ge)=>{if(vn(n.errors,ge)&&de.focus)return de.focus(),1;return},Re=async(de,ge={})=>{let Oe,Xe,$e=cre(de);if(t.resolver){let Ie=A,Ge=await H(hi(de)?de:$e);if(Oe=Oc(Ge),Xe=de?!$e.some((_e)=>vn(Ge,_e)):Oe,Ie!==A)return Xe}else if(de)Xe=(await Promise.all($e.map(async(Ie)=>{let Ge=vn(r,Ie);return await ie({fields:Ge&&Ge._f?{[Ie]:Ge}:Ge,eventType:E6.TRIGGER})}))).every(Boolean),!(!Xe&&!n.isValid)&&I();else Xe=Oe=await ie({fields:r,name:de,eventType:E6.TRIGGER});if(ge.delayError&&t.delayError&&Lp(de)){let Ie=vn(n.errors,de);if(Ie)cc(n.errors,de),l[de]=C(de,()=>B(de,Ie)),l[de](t.delayError);else E(de)}if(ge.shouldTouch)for(let Ie of de?$e:s.mount)!s.array.has(Ie)&&Xi(n.touchedFields,Ie,!0);return y.state.next({...!Lp(de)||v("isValid")&&Oe!==n.isValid?{}:{name:de},...t.resolver||!de?{isValid:Oe}:{},...ge.shouldTouch&&v("touchedFields")?{touchedFields:n.touchedFields}:{},errors:n.errors}),ge.shouldFocus&&!Xe&&t_(r,pe,de?$e:s.mount),Xe},Le=(de,ge)=>{let Oe={...i.mount?a:o};if(ge)Oe=Omt(ge.dirtyFields?n.dirtyFields:n.touchedFields,Oe);return hi(de)?Oe:Lp(de)?vn(Oe,de):de.map((Xe)=>vn(Oe,Xe))},Ne=(de)=>hi(de)?{...n.errors}:Lp(de)?vn(n.errors,de):de.map((ge)=>vn(n.errors,ge)),be=(de,ge)=>{let Oe=ge||n,Xe=vn(Oe.errors,de);return{invalid:!!Xe,isDirty:!!vn(Oe.dirtyFields,de),error:Xe,isValidating:!!vn(Oe.validatingFields,de),isTouched:!!vn(Oe.touchedFields,de)}},ye=(de)=>{let ge=de?cre(de):void 0;if(ge)ge.forEach((Oe)=>{T(Oe),cc(n.errors,Oe),y.state.next({name:Oe,errors:n.errors})});else Object.keys(l).forEach(E),n.errors={},y.state.next({errors:n.errors})},ce=(de,ge,Oe)=>{T(de);let Xe=(vn(r,de,{_f:{}})._f||{}).ref,$e=vn(n.errors,de)||{},{ref:Ie,message:Ge,type:_e,types:nt,...rt}=$e;Xi(n.errors,de,{...rt,...ge,ref:Xe}),y.state.next({name:de,errors:n.errors,isValid:!1}),Oe&&Oe.shouldFocus&&Xe&&Xe.focus&&Xe.focus()},ue=(de,ge)=>{if(Tf(de)){u++;let{unsubscribe:Oe}=y.state.subscribe({next:($e)=>("values"in $e)&&de($e.values||J(void 0,ge),$e)}),Xe=!1;return{unsubscribe:()=>{if(Xe)return;Xe=!0,u--,Oe()}}}return J(de,ge,!0)},ke=(de)=>{var ge;let Oe=!!((ge=de.formState)===null||ge===void 0?void 0:ge.values);if(Oe)u++;let{unsubscribe:Xe}=y.state.subscribe({next:(Ie)=>{if(BOn(de.name,Ie.name,de.exact)&&LOn(Ie,de.formState||m,Ue,de.reRenderRoot)){let Ge={...a};de.callback({values:Ge,...n,...Ie,defaultValues:o})}}});if(!Oe)return Xe;let $e=!1;return()=>{if($e)return;$e=!0,u--,Xe()}},se=(de)=>(i.mount=!0,g={...g,...de.formState},ke({...de,formState:{...f,...de.formState}})),qe=(de,ge={})=>{for(let Oe of de?cre(de):s.mount){if(s.mount.delete(Oe),s.array.delete(Oe),s.disabled.delete(Oe),!ge.keepValue)cc(r,Oe),cc(a,Oe);if(!ge.keepError)T(Oe),cc(n.errors,Oe);!ge.keepDirty&&cc(n.dirtyFields,Oe),!ge.keepTouched&&cc(n.touchedFields,Oe),!ge.keepIsValidating&&cc(n.validatingFields,Oe),!t.shouldUnregister&&!ge.keepDefaultValue&&cc(o,Oe)}u&&y.state.next({values:Ms(a)}),y.state.next({...n,...ge.keepDirty?{}:{isDirty:oe()},...ge.keepIsValidating?{}:{isValidating:!Oc(n.validatingFields)}}),!ge.keepIsValid&&I()},Me=({disabled:de,name:ge})=>{if(d0(de)&&i.mount||!!de||s.disabled.has(ge)){let $e=s.disabled.has(ge)!==!!de;de?s.disabled.add(ge):s.disabled.delete(ge),$e&&i.mount&&!i.action&&I()}},Qe=(de,ge={})=>{let Oe=vn(r,de),Xe=d0(ge.disabled)||d0(t.disabled),$e=!s.registerName.has(de)&&Oe&&Oe._f&&!Oe._f.mount;if(Xi(r,de,{...Oe||{},_f:{...Oe&&Oe._f?Oe._f:{ref:{name:de}},name:de,mount:!0,...ge}}),s.mount.add(de),Oe&&Oe._f){let Ie=vn(r,de);for(let Ge of vOn)if(!(Ge in ge))delete Ie._f[Ge]}if(Oe&&!$e)Me({disabled:d0(ge.disabled)?ge.disabled:t.disabled,name:de});else _(de,!0,ge.value);return{...Xe?{disabled:ge.disabled||t.disabled}:{},...t.progressive?{required:!!ge.required,min:$z(ge.min),max:$z(ge.max),minLength:$z(ge.minLength),maxLength:$z(ge.maxLength),pattern:$z(ge.pattern)}:{},name:de,onChange:Ee,onBlur:Ee,ref:(Ie)=>{if(Ie){s.registerName.add(de),Qe(de,ge),s.registerName.delete(de),Oe=vn(r,de);let Ge=hi(Ie.value)?Ie.querySelectorAll?Ie.querySelectorAll("input,select,textarea")[0]||Ie:Ie:Ie,_e=TOn(Ge),nt=Oe._f.refs||[];if(_e?nt.find((ot)=>ot===Ge):Ge===Oe._f.ref)return;let rt={...Oe._f};if(_e)rt.refs=[...nt.filter(d5e),Ge,...Array.isArray(vn(o,de))?[{}]:[]],rt.ref={type:Ge.type,name:de};else rt.ref=Ge,delete rt.refs;Xi(r,de,{_f:rt}),_(de,!1,void 0,Ge)}else{if(Oe=vn(r,de,{}),Oe._f)Oe._f.mount=!1;(t.shouldUnregister||ge.shouldUnregister)&&!(kmt(s.array,de)&&i.action)&&s.unMount.add(de)}}}},ee=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&t_(r,pe,s.mount),K=(de)=>{if(d0(de))y.state.next({disabled:de}),t_(r,(ge,Oe)=>{let Xe=vn(r,Oe);if(Xe){if(ge.disabled=Xe._f.disabled||de,Array.isArray(Xe._f.refs))Xe._f.refs.forEach(($e)=>{$e.disabled=Xe._f.disabled||de})}},0)},we=(de,ge)=>async(Oe)=>{let Xe=void 0,$e=void 0;if(Oe)Oe.preventDefault&&Oe.preventDefault(),Oe.persist&&Oe.persist();let Ie=Ms(a);if(y.state.next({isSubmitting:!0}),t.resolver){let Ge=A,{errors:_e,values:nt}=await q();if(Ge!==A)return;k(),Object.keys(l).forEach(E),n.errors=_e,Ie=Ms(nt)}else{let Ge=A;if(await ie({fields:r,eventType:E6.SUBMIT}),Ge!==A)return;cc(n.errors,Rmt)}if(s.disabled.size)for(let Ge of s.disabled)cc(Ie,Ge);if(Oc(n.errors)){y.state.next({errors:{}});try{Xe=await de(Ie,Oe)}catch(Ge){$e=Ge}}else{if(ge)await ge({...n.errors},Oe);ee(),setTimeout(ee)}if(y.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Oc(n.errors)&&!$e,submitCount:n.submitCount+1,errors:n.errors}),$e)throw $e;return Xe},ze=(de,ge={})=>{if(vn(r,de)){if(cc(n.validatingFields,de),hi(ge.defaultValue))fe(de,Ms(vn(o,de)));else fe(de,ge.defaultValue),Xi(o,de,Ms(ge.defaultValue));if(!ge.keepTouched)cc(n.touchedFields,de);if(!ge.keepDirty)cc(n.dirtyFields,de),n.isDirty=ge.defaultValue?oe(de,Ms(vn(o,de))):oe();if(!ge.keepError)T(de),cc(n.errors,de),I();y.state.next({...n,isValidating:!Oc(n.validatingFields)})}},tt=(de,ge={})=>{A++;let Oe=de?Ms(de):o,Xe=Ms(Oe),$e=Oc(de),Ie=Xe,Ge=r;if(Object.keys(l).forEach(E),!ge.keepDefaultValues)o=Oe;if(!ge.keepValues){if(ge.keepDirtyValues){let _e=new Set([...s.mount,...Umt(C6(o,a,void 0,Ge),n.dirtyFields)]);for(let nt of _e){let rt=vn(n.dirtyFields,nt),ot=vn(a,nt),At=vn(Ie,nt);if(rt&&!hi(ot))Xi(Ie,nt,ot);else if(!rt&&!hi(At))fe(nt,At)}}else{if(fre&&hi(de))for(let _e of s.mount){let nt=vn(r,_e);if(nt&&nt._f){let rt=Array.isArray(nt._f.refs)?nt._f.refs[0]:nt._f.ref;if(ure(rt)){let ot=rt.closest("form");if(ot){ot.reset();break}}}}if(ge.keepFieldsRef)for(let _e of s.mount)fe(_e,vn(Ie,_e));else r={}}if(t.shouldUnregister){if(a=ge.keepDefaultValues?Ms(o):{},ge.keepFieldsRef)for(let _e of s.mount)Xi(a,_e,vn(Ie,_e))}else a=Ms(Ie);y.array.next({values:{...Ie}}),y.state.next({name:void 0,type:void 0,values:{...Ie}})}if(s={mount:ge.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},i.mount=!m.isValid||!!ge.keepIsValid||!!ge.keepDirtyValues||!t.shouldUnregister&&!Oc(Ie),i.watch=!!t.shouldUnregister,i.keepIsValid=!!ge.keepIsValid,i.action=!1,i.actionArrayLengths.clear(),!ge.keepErrors)n.errors={};y.state.next({submitCount:ge.keepSubmitCount?n.submitCount:0,isDirty:$e?!1:ge.keepDirty?n.isDirty:ge.keepValues?oe():!!(ge.keepDefaultValues&&!p0(de,o)),isSubmitted:ge.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:$e?{}:ge.keepDirtyValues?ge.keepDefaultValues&&a?C6(o,a,void 0,Ge):n.dirtyFields:ge.keepDefaultValues&&de?C6(o,de,void 0,Ge):ge.keepDirty?n.dirtyFields:ge.keepValues?C6(o,a,void 0,Ge):{},touchedFields:ge.keepTouched?n.touchedFields:{},...!ge.keepIsValidating&&(n.isValidating||!Oc(n.validatingFields))?{validatingFields:{},isValidating:!1}:null,errors:ge.keepErrors?n.errors:{},isSubmitSuccessful:ge.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},Pe=(de,ge)=>tt(Tf(de)?de(a):de,{...t.resetOptions,...ge}),Ke=(de,ge={})=>{let Oe=vn(r,de),Xe=Oe&&Oe._f;if(Xe){let $e=Xe.refs?Xe.refs[0]:Xe.ref;if($e.focus)setTimeout(()=>{$e.focus(),ge.shouldSelect&&Tf($e.select)&&$e.select()})}},Ue=(de)=>{let{name:ge,type:Oe,values:Xe,...$e}=de;n={...n,...$e}};y.state.subscribe({next:Ue});let Rt={control:{register:Qe,unregister:qe,getFieldState:be,handleSubmit:we,setError:ce,_subscribe:ke,_runSchema:q,_updateIsValidating:k,_focusError:ee,_getWatch:J,_getDirty:oe,_setValid:I,_setFieldArray:O,_setDisabledField:Me,_setErrors:U,_getFieldArray:Y,_reset:tt,_resetDefaultValues:()=>Tf(t.defaultValues)&&t.defaultValues().then((de)=>{Pe(de,t.resetOptions),y.state.next({isLoading:!1})}),_removeUnmounted:j,_disableForm:K,_subjects:y,_proxyFormState:m,get _fields(){return r},get _formValues(){return a},get _state(){return i},set _state(de){i=de},get _defaultValues(){return o},get _names(){return s},set _names(de){s=de},get _formState(){return n},get _options(){return t},set _options(de){t={...t,...de},d=lre(t.mode),p=lre(t.reValidateMode),w=t.criteriaMode===iy.all}},subscribe:se,trigger:Re,register:Qe,handleSubmit:we,watch:ue,setValue:fe,setValues:Ae,getValues:Le,getErrors:Ne,reset:Pe,resetField:ze,resetDefaultValues:(de,ge={})=>{if(o=Ms(de),!ge.keepDirty){let Oe=C6(o,a,void 0,r);n.dirtyFields=Oe,n.isDirty=!Oc(Oe)}if(!ge.keepIsValid)I();y.state.next({...n,defaultValues:o})},clearErrors:ye,unregister:qe,setError:ce,setFocus:Ke,getFieldState:be};return{...Rt,formControl:Rt}}function f0(e={}){let t=Ir.default.useRef(void 0),n=Ir.default.useRef(void 0),r=Ir.default.useRef(e.formControl),o=Ir.default.useRef(!!e.validate),[a,i]=Ir.default.useState(()=>({...Ms(Hmt),isLoading:Tf(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Tf(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&r.current!==e.formControl)if(r.current=e.formControl,e.formControl){if(t.current={...e.formControl,formState:a},e.defaultValues&&!Tf(e.defaultValues))e.formControl.reset(e.defaultValues,e.resetOptions)}else{let{formControl:d,...p}=zOn(e);t.current={...p,formState:a}}let s=t.current.control;s._options={...e,validate:e.validate};let l=()=>({...s._formState,defaultValues:s._defaultValues}),{resyncIfNeeded:c,snapshot:u}=S5e(l);return w5e(()=>{c(!0,l,i);let d=s._subscribe({formState:s._proxyFormState,callback:()=>i({...s._formState,defaultValues:s._defaultValues}),reRenderRoot:!0});return i((p)=>({...p,isReady:!0})),s._formState.isReady=!0,()=>{d(),u(!0,l)}},[s,c,u]),Ir.default.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),Ir.default.useEffect(()=>{if(e.mode)s._options.mode=e.mode;if(e.reValidateMode)s._options.reValidateMode=e.reValidateMode},[s,e.mode,e.reValidateMode]),Ir.default.useEffect(()=>{if(e.errors)s._setErrors(e.errors),s._focusError()},[s,e.errors]),Ir.default.useEffect(()=>{var d;if(o.current&&!e.validate)(d=t.current)===null||d===void 0||d.clearErrors(e_);o.current=!!e.validate},[e.validate]),Ir.default.useEffect(()=>{e.shouldUnregister&&s._subjects.state.next({values:s._getWatch()})},[s,e.shouldUnregister]),Ir.default.useEffect(()=>{if(s._proxyFormState.isDirty){let d=s._getDirty();if(d!==a.isDirty)s._subjects.state.next({isDirty:d})}},[s,a.isDirty]),Ir.default.useEffect(()=>{var d;if(e.values&&!p0(e.values,n.current)){if(s._reset(e.values,{keepFieldsRef:!0,...s._options.resetOptions}),!((d=s._options.resetOptions)===null||d===void 0?void 0:d.keepIsValid))s._setValid();n.current=e.values,i((p)=>({...p}))}else s._resetDefaultValues()},[s,e.values]),Ir.default.useEffect(()=>{if(!s._state.mount)s._setValid(),s._state.mount=!0;if(s._state.watch)s._state.watch=!1,s._subjects.state.next({...s._formState});s._removeUnmounted()}),t.current.formState=Ir.default.useMemo(()=>Pmt(a,s),[s,a]),t.current}var Ir,n_=(e)=>e.type==="checkbox",pre=(e)=>e.type==="file",I6=(e)=>e instanceof Date,Dp=(e)=>e==null,v5e=(e)=>typeof e==="object",Hl=(e)=>!Dp(e)&&!Array.isArray(e)&&v5e(e)&&!I6(e),p5e=(e)=>Hl(e)&&e.target?n_(e.target)?e.target.checked:pre(e.target)?e.target.files:e.target.value:e,gOn,YE=(e)=>e.split(gOn).filter(Boolean),kmt=(e,t)=>t.split(".").some((n,r,o)=>!isNaN(Number(n))&&e.has(o.slice(0,r).join("."))),fre,E6,iy,Mp,vOn,e_="form",Rmt="root",b5e,bOn,z9=(e)=>bOn.test(e),hi=(e)=>e===void 0,vn=(e,t,n)=>{if(!t||!Hl(e))return n;let r=z9(t)?[t]:YE(t);if(r.some((a)=>b5e.includes(a)))return n;let o=r.reduce((a,i)=>Dp(a)?void 0:a[i],e);return hi(o)||o===e?hi(e[t])?n:e[t]:o},d0=(e)=>typeof e==="boolean",Tf=(e)=>typeof e==="function",Xi=(e,t,n)=>{let r=-1,o=z9(t)?[t]:YE(t),a=o.length,i=a-1;while(++rIr.default.useContext(x5e),Pmt=(e,t,n,r=!0)=>{let o={};for(let a in e)Object.defineProperty(o,a,{get:()=>{let i=a;if(t._proxyFormState[i]!==iy.all)t._proxyFormState[i]=!r||iy.all;return n&&(n[i]=!0),e[i]}});return o},w5e,xOn=(e)=>{let t=e.constructor&&e.constructor.prototype;return Hl(t)&&t.hasOwnProperty("isPrototypeOf")},f5e=(e)=>Dp(e)||!v5e(e),hmt=(e,t)=>t.length===0&&!Array.isArray(e)&&!xOn(e),Lp=(e)=>typeof e==="string",m5e=(e,t,n,r,o)=>{if(Lp(e))return r&&t.watch.add(e),vn(n,e,o);if(Array.isArray(e))return e.map((a)=>(r&&t.watch.add(a),vn(n,a,vn(o,a))));return r&&(t.watchAll=!0),n},Mmt=(e)=>e.render(wOn(e)),lre=(e)=>({isOnSubmit:!e||e===iy.onSubmit,isOnBlur:e===iy.onBlur,isOnChange:e===iy.onChange,isOnAll:e===iy.all,isOnTouch:e===iy.onTouched}),u5e=(e,t,n)=>{if(n)return!1;if(t.watchAll||t.watch.has(e))return!0;for(let r of t.watch)if(e.startsWith(r)&&e.charAt(r.length)===".")return!0;return!1},t_=(e,t,n)=>{for(let r of n||Object.keys(e)){if(r==="_f")continue;let o=n?vn(e,r):e[r];if(o){let{_f:a}=o;if(a){if(a.refs&&a.refs[0]&&t(a.refs[0],a.name))return!0;else if(a.ref&&t(a.ref,a.name))return!0;else if(t_(o,t))return!0}else if(Hl(o)||Array.isArray(o)){if(t_(o,t))return!0}}}return},gmt=(e,t,n)=>{let r=vn(e,n),o=Array.isArray(r)?r:[];return Xi(o,Rmt,t[n]),Xi(e,n,o),e},Oc=(e)=>Hl(e)&&!Object.keys(e).length,ure=(e)=>{if(!fre)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},E5e=(e)=>e.type==="radio",dre=(e)=>e instanceof RegExp,SOn=(e,t,n,r,o)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:o||!0}}:{},ymt,vmt,Dmt=(e)=>{if(!Array.isArray(e))return ymt;if(e.length>1){let n=e.filter((r)=>r&&r.checked&&!r.disabled).map((r)=>r.value);return{value:n,isValid:!!n.length}}let t=e[0];if(!t||!t.checked||t.disabled)return ymt;if(!t.attributes||!("value"in t.attributes))return vmt;return hi(t.value)||t.value===""?vmt:{value:t.value,isValid:!0}},bmt,Lmt=(e)=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,bmt):bmt,N9=(e)=>Hl(e)&&!dre(e)?e:{value:e,message:""},Amt=async(e,t,n,r,o,a)=>{let{ref:i,refs:s,required:l,maxLength:c,minLength:u,min:d,max:p,pattern:f,validate:m,name:g,valueAsNumber:v,mount:y,_c:x}=e._f,A=vn(n,g);if(!y||t.has(g))return{};let w=s?s[0]:i,C=(D)=>{if(o&&w.reportValidity){let N=d0(D)?"":D||"";if(s)s.forEach((_)=>Tf(_.setCustomValidity)&&_.setCustomValidity(N));else w.setCustomValidity(N);w.reportValidity()}},E={},T=E5e(i),I=n_(i),k=T||I,L=(v||pre(i))&&hi(i.value)&&hi(A)||ure(i)&&i.value===""&&!x||A===""||Array.isArray(A)&&!A.length,O=SOn.bind(null,g,r,E),B=(D,N,_,G=Mp.maxLength,Z=Mp.minLength)=>{let q=D?N:_;E[g]={type:D?G:Z,message:q,ref:i,...O(D?G:Z,q)}};if(a?!Array.isArray(A)||!A.length:l&&(!k&&(L||Dp(A))||d0(A)&&!A||I&&!Dmt(s).isValid||T&&!Lmt(s).isValid)){let{value:D,message:N}=Lp(l)?{value:!!l,message:l}:N9(l);if(D){if(E[g]={type:Mp.required,message:N,ref:w,...O(Mp.required,N)},!r)return C(N),E}}if(!L&&(!Dp(d)||!Dp(p))){let D,N,_=N9(p),G=N9(d);if(!Dp(A)&&!I6(A)&&!isNaN(A)){let Z=i.valueAsNumber||(A?+A:A);if(!Dp(_.value))D=Z>_.value;if(!Dp(G.value))N=Znew Date(new Date().toDateString()+" "+ie),H=i.type=="time",te=i.type=="week";if(Lp(_.value)&&A)D=H?q(A)>q(_.value):te?A>_.value:Z>new Date(_.value);if(Lp(G.value)&&A)N=H?q(A)+D.value,G=!Dp(N.value)&&A.length<+N.value;if(_||G){if(B(_,D.message,N.message),!r)return C(E[g].message),E}}if(f&&!L&&Lp(A)){let{value:D,message:N}=N9(f);if(dre(D)&&!A.match(D)){if(E[g]={type:Mp.pattern,message:N,ref:i,...O(Mp.pattern,N)},!r)return C(N),E}}if(m){if(Tf(m)){let D=await m(A,n),N=xmt(D,w);if(N){if(E[g]={...N,...O(Mp.validate,N.message)},!r)return C(N.message),E}}else if(Hl(m)){let D={};for(let N in m){if(!Oc(D)&&!r)break;let _=xmt(await m[N](A,n),w,N);if(_){if(D={..._,...O(N,_.message)},!r)C(_.message);if(r)E[g]=D}}if(!Oc(D)){if(E[g]={ref:w,...D},!r)return E}}}let U=E[g];return C(U?U.message:!0),E},cre=(e)=>Array.isArray(e)?e:[e],Bmt=(e)=>Array.isArray(e)?e.filter(Boolean):[],I5e,T5e=()=>Ir.default.useContext(I5e),mre=({children:e,watch:t,getValues:n,getErrors:r,getFieldState:o,setError:a,clearErrors:i,setValue:s,setValues:l,trigger:c,formState:u,resetField:d,reset:p,resetDefaultValues:f,handleSubmit:m,unregister:g,control:v,register:y,setFocus:x,subscribe:A})=>{let w=Ir.default.useMemo(()=>({watch:t,getValues:n,getErrors:r,getFieldState:o,setError:a,clearErrors:i,setValue:s,setValues:l,trigger:c,formState:u,resetField:d,reset:p,resetDefaultValues:f,handleSubmit:m,unregister:g,control:v,register:y,setFocus:x,subscribe:A}),[i,v,u,r,o,n,m,y,p,f,d,a,x,s,l,A,c,g,t]);return Ir.default.createElement(I5e.Provider,{value:w},Ir.default.createElement(x5e.Provider,{value:w.control},e))},wmt=()=>{let e=[];return{get observers(){return e},next:(o)=>{for(let a of e)a.next&&a.next(o)},subscribe:(o)=>(e.push(o),{unsubscribe:()=>{e=e.filter((a)=>a!==o)}}),unsubscribe:()=>{e=[]}}},Smt=(e,t)=>e!==null&&v5e(e)&&Object.prototype.hasOwnProperty.call(e,t),IOn=(e,t)=>{if(!t)return!1;let n=e;for(let r of z9(t)?[t]:YE(t)){if(!Smt(n,r))return Smt(e,t);n=n[r]}return!0},Fmt=(e)=>e.type==="select-multiple",TOn=(e)=>E5e(e)||n_(e),d5e=(e)=>ure(e)&&e.isConnected,kOn=(e)=>{for(let t in e)if(Tf(e[t]))return!0;return!1},ROn=(e,t)=>{let n=t.split("."),r=[],o=n[0];for(let a=1;ahi(e)?e:t?e===""?NaN:e?+e:e:n&&Lp(e)?new Date(e):r?r(e):e,POn=(e,t,n,r)=>{let o={};for(let a of e){let i=vn(t,a);i&&Xi(o,a,i._f)}return{criteriaMode:n,names:[...e],fields:o,shouldUseNativeValidation:r}},$z=(e)=>hi(e)?e:dre(e)?e.source:Hl(e)?dre(e.value)?e.value.source:e.value:e,Imt="AsyncFunction",MOn=(e)=>{if(!e||!e.validate)return!1;if(Tf(e.validate))return e.validate.constructor.name===Imt;if(Hl(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===Imt)return!0}return!1},DOn=(e)=>e.mount&&(e.required||!hi(e.required)&&e.required!==!1||!hi(e.min)||!hi(e.max)||!hi(e.maxLength)||!hi(e.minLength)||e.pattern||e.validate),LOn=(e,t,n,r)=>{n(e);let o=Object.keys(e).filter((a)=>a!=="name");return!o.length||r&&o.length>=Object.keys(t).length||o.find((a)=>t[a]===(!r||iy.all))},BOn=(e,t,n)=>!e||!t||e===t||cre(e).some((r)=>r&&(n?r===t||r.startsWith(t+"."):r.startsWith(t)||t.startsWith(r))),OOn=(e,t,n,r,o)=>{if(o.isOnAll)return!1;else if(!n&&o.isOnTouch)return!(t||e);else if(n?r.isOnBlur:o.isOnBlur)return!e;else if(n?r.isOnChange:o.isOnChange)return e;return!0},FOn=(e,t)=>{let n=vn(e,t);!Bmt(n).length&&!(n===null||n===void 0?void 0:n.root)&&cc(e,t)},UOn,NOn=(e,t)=>{for(let n in e)if(!(n in t))delete e[n];Object.assign(e,t)},Hmt;var b3=P(()=>{Ir=z(re(),1),gOn=/[.[\]'"]/;fre=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";E6={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},iy={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Mp={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},vOn=[Mp.required,Mp.min,Mp.max,Mp.minLength,Mp.maxLength,Mp.pattern,Mp.validate],b5e=["__proto__","constructor","prototype"],bOn=/^\w*$/,x5e=Ir.default.createContext(null);x5e.displayName="HookFormControlContext";w5e=fre?Ir.default.useLayoutEffect:Ir.default.useEffect;ymt={value:!1,isValid:!1},vmt={value:!0,isValid:!0},bmt={isValid:!1,value:null};I5e=Ir.default.createContext(null);I5e.displayName="HookFormContext";UOn={mode:iy.onSubmit,reValidateMode:iy.onChange,shouldFocusError:!0},Hmt={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}}});function o_(e){let t=Object.values(e).filter((r)=>typeof r==="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function R5e(e,t="|"){return e.map((n)=>D5e(n)).join(t)}function a_(e,t){if(typeof t==="bigint")return t.toString();return t}class Gmt{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;if(e!==void 0)this._value=e(),this._getter=void 0;return this._value}}function i_(e){return new Gmt(e)}function qmt(e){return e===null||e===void 0}function hre(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Zmt(e,t){let n=e/t,r=Math.round(n),o=4*Number.EPSILON*Math.max(Math.abs(n),1);if(Math.abs(n-r){let s=t._zod.def.shape[a];return r?r(s,a):s});else Wmt(e,a,r?r(i.value,a):i.value)}}function _On(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);if(!r.enumerable)continue;if(r.get)Xmt(e,n,()=>t[n]);else Wmt(e,n,r.value)}}function Dg(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Ymt(e){return JSON.stringify(e)}function Kmt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function _9(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function JE(e){if(_9(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if(_9(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function M5e(e){if(JE(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}function k6(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function F2(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function or(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function D5e(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function $mt(e){return Object.keys(e).filter((t)=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function HOn(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let a={};return KE(a,e,yre(e,t)),F2(e,Dg(n,{shape:a,checks:[]}))}function yre(e,t){let n=x3(e),r=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,o)?.enumerable)throw Error(`Unrecognized key: "${String(o)}"`);if(t[o])r.push(o)}return r}function VOn(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let a=new Set(yre(e,t)),i={};return KE(i,e,Reflect.ownKeys(x3(e)).filter((s)=>!a.has(s))),F2(e,Dg(n,{shape:i,checks:[]}))}function GOn(e,t){if(!JE(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=x3(e);for(let a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return F2(e,Dg(e._zod.def,{shape:eht(e,t)}))}function eht(e,t){let n={};return KE(n,e,Reflect.ownKeys(x3(e))),_On(n,t),n}function qOn(e,t){if(!JE(t))throw Error("Invalid input to safeExtend: expected a plain object");return F2(e,Dg(e._zod.def,{shape:eht(e,t)}))}function ZOn(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n={};KE(n,e,Reflect.ownKeys(x3(e))),KE(n,t,Reflect.ownKeys(x3(t)));let r=Dg(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return F2(e,r)}function tht(e,t,n,r="partial"){let a=t._zod.def.checks;if(a&&a.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let s=n?new Set(yre(t,n)):void 0,l={};return KE(l,t,Reflect.ownKeys(x3(t)),e&&((c,u)=>s&&!s.has(u)?c:new e({type:"optional",innerType:c}))),F2(t,Dg(t._zod.def,{shape:l,checks:[]}))}function QOn(e,t,n){let r=n?new Set(yre(t,n)):void 0,o={};return KE(o,t,Reflect.ownKeys(x3(t)),(a,i)=>r&&!r.has(i)?a:new e({type:"nonoptional",innerType:a})),F2(t,Dg(t._zod.def,{shape:o}))}function nx(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function r_(e){return typeof e==="string"?e:e?.message}function B5e(e,t,n){var r;for(let o=t;oe;return t[jOn]=!0,t}var Vmt,P5e,Jmt,jmt,gre,L5e,XOn,k5e,T6=!1,KOn,jOn="~constantCatch";var m0=P(()=>{$E();Vmt=Symbol("evaluating");P5e="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};Jmt=i_(()=>{if(h0.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});jmt=new Set(["string","number","symbol"]);gre=(()=>({safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}))(),L5e={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};XOn=/[\uD800-\uDBFF]/;KOn={configurable:!0,get(){T6=!0;return}}});function $On(e){let t=lht;if(t){let n=t.stackTraceLimit;if(typeof n==="number"){try{t.stackTraceLimit=0}catch{return lht=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function Lt(e,t,n,r){let o={};function a(p){this.def=p,this.constr=d,this.traits=new Set}a.prototype=o;let i=n,s=i&&new WeakSet;function l(p,f){if(!p._zod){O5e.value=new a(f);try{Object.defineProperty(p,"_zod",O5e)}finally{O5e.value=void 0}}else if(p._zod.traits.has(e))return;if(p._zod.traits.add(e),t(p,f),s){let g=Object.getPrototypeOf(p),v=p._zod.constr.prototype,y=g;while(y&&y!==v)y=Object.getPrototypeOf(y);let x=y??g;if(!s.has(x))s.add(x),oht(x,i)}let m=d.prototype;for(let g in m){if(!Object.prototype.hasOwnProperty.call(m,g))continue;if(!(g in p))p[g]=m[g].bind(p)}}let c=r?.Parent??Object;class u extends c{}Object.defineProperty(u,"name",{value:e});function d(p){let f=r?.Parent?$On(u):this;l(f,p);let m=f._zod.deferred;if(m){for(let v of m)v();f._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;if(g)g(f);return f}return Object.defineProperty(d,"init",{value:l}),Object.defineProperty(d,Symbol.hasInstance,{value:(p)=>{if(r?.Parent&&p instanceof r.Parent)return!0;return p?._zod?.traits?.has(e)}}),Object.defineProperty(d,"name",{value:e}),d}function g0(e){if(e)Object.assign(h0,e);return h0}var sht,F5e,O5e,lht,ox,l_,h0;var $E=P(()=>{m0();F5e=Object.freeze({status:"aborted"}),O5e={value:void 0,enumerable:!1},lht="captureStackTrace"in Error?Error:null;ox=class ox extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};l_=class l_ extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(sht=globalThis).__zod_globalConfig??(sht.__zod_globalConfig={});h0=globalThis.__zod_globalConfig});function eFn(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,a_,2)),e.message}function tFn(e){this._zod.message=e}function rFn(e,t,n){if(!Object.prototype.hasOwnProperty.call(e,t))if(t==="__proto__")Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0});else e[t]=n();return e[t]}function z5e(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)rFn(n,o.path[0],()=>[]).push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function _5e(e,t=(n)=>n.message){let n={_errors:[]},r=(o,a=[])=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((s)=>r({issues:s},[...a,...i.path]));else if(i.code==="invalid_key")r({issues:i.issues},[...a,...i.path]);else if(i.code==="invalid_element")r({issues:i.issues},[...a,...i.path]);else{let s=[...a,...i.path];if(s.length===0)n._errors.push(t(i));else{let l=n,c=0;while(c{e.name="$ZodError",N5e.value=t,Object.defineProperty(e,"issues",N5e),N5e.value=void 0,Object.defineProperty(e,"message",nFn);let n=Object.getPrototypeOf(e);if(!cht.has(n))cht.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let r=()=>this.message;return Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0})}})},dht,n4o;var pht=P(()=>{$E();m0();nFn={get:eFn,set:tFn,enumerable:!0,configurable:!0},N5e={value:void 0,enumerable:!1},cht=new WeakSet([Object.prototype,Error.prototype]),dht=Lt("$ZodError",uht),n4o=Lt("$ZodError",uht,void 0,{Parent:Error})});function Are(e,t){return{callee:t?.callee??e,Err:t?.Err}}function fht(e,t,n){let r;return{success:!1,get error(){if(!r)r=new e(t.map((o)=>rx(o,n,g0()))),t=void 0,n=void 0;return r},set error(o){r=o,t=void 0,n=void 0}}}function iFn(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,a;if(o)r[aFn]=!0,a=o({value:t,issues:[]},r);else a=e._zod.run({value:t,issues:[]},r);if(a instanceof Promise)throw new ox;return a.issues.length===0}var wre=(e)=>{let t=(n,r,o,a)=>{let i=o?{...o,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new ox;if(s.issues.length){let l=new(a?.Err??e)(s.issues.map((c)=>rx(c,i,g0())));throw P5e(l,a?.callee??t),l}return s.value};return t},Sre=(e)=>{let t=async(n,r,o,a)=>{let i=o?{...o,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},i);if(s instanceof Promise)s=await s;if(s.issues.length){let l=new(a?.Err??e)(s.issues.map((c)=>rx(c,i,g0())));throw P5e(l,a?.callee??t),l}return s.value};return t},Cre=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)throw new ox;return a.issues.length?fht(e,a.issues,o):{success:!0,data:a.value}},Ere=(e)=>async(t,n,r)=>{let o=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)a=await a;return a.issues.length?fht(e,a.issues,o):{success:!0,data:a.value}},oFn,aFn,H5e=(e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==oFn)return!0;if(r.definite===!0&&n===void 0)return!1}return iFn(e,t,n)},V5e=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise)o=await o;return o.issues.length===0},mht=(e)=>{let t=wre(e),n=(r,o,a,i)=>{let s=a?{...a,direction:"backward"}:{direction:"backward"};return t(r,o,s,Are(n,i))};return n},hht=(e)=>{let t=wre(e),n=(r,o,a,i)=>t(r,o,a,Are(n,i));return n},ght=(e)=>{let t=Sre(e),n=async(r,o,a,i)=>{let s=a?{...a,direction:"backward"}:{direction:"backward"};return await t(r,o,s,Are(n,i))};return n},yht=(e)=>{let t=Sre(e),n=async(r,o,a,i)=>await t(r,o,a,Are(n,i));return n},vht=(e)=>(t,n,r)=>{let o=r?{...r,direction:"backward"}:{direction:"backward"};return Cre(e)(t,n,o)},bht=(e)=>(t,n,r)=>Cre(e)(t,n,r),xht=(e)=>async(t,n,r)=>{let o=r?{...r,direction:"backward"}:{direction:"backward"};return Ere(e)(t,n,o)},Aht=(e)=>async(t,n,r)=>Ere(e)(t,n,r);var wht=P(()=>{$E();m0();oFn=Symbol.for("zod.compile.invalid"),aFn=Symbol.for("zod.compile.fallback")});function Rht(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}function Lht(){return new RegExp(sFn,"u")}function lFn(e){return new RegExp(`^${e}$`)}function G5e(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function qht(e){return new RegExp(`^${G5e(e)}$`)}function Zht(e){let t=["Z"];if(e.offset)t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${G5e({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,r=e.local?`${n}|${G5e({precision:e.precision})}`:n;return new RegExp(`^${Vht}T(?:${r})$`)}var Sht,Cht,Eht,Iht,Tht,kht,Pht,Mht,q5e=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},Dht,sFn="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$",Bht,Oht,Fht,Uht,Nht,zht,_ht,Hht,Vht="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ght,Qht,Z5e,c_,Xht,Wht,Yht,Kht,Jht;var u_=P(()=>{Sht=/^[cC][0-9a-z]{6,}$/,Cht=/^[0-9a-z]+$/,Eht=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Iht=/^[0-9a-vA-V]{20}$/,Tht=/^[A-Za-z0-9]{27}$/,kht=/^[a-zA-Z0-9_-]{21}$/;Pht=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Mht=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Dht=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;Bht=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Oht=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Fht=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Uht=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Nht=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zht=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,_ht=/^https?$/,Hht=/^\+[1-9]\d{6,14}$/;Ght=lFn(Vht);Qht=/^[\s\S]{0,}$/,Z5e=/^-?\d+$/,c_=/^-?\d+(?:\.\d+)?$/,Xht=/^(?:true|false)$/i,Wht=/^null$/i,Yht=/^undefined$/i,Kht=/^[^A-Z]*$/,Jht=/^[^a-z]*$/});var kf,Q5e=(e)=>{let t=e.value;return!qmt(t)&&t.length!==void 0},Ire,X5e,W5e,jht,$ht,e0t,t0t,n0t,d_,r0t,o0t,a0t,i0t,s0t,l0t,c0t;var Tre=P(()=>{$E();u_();m0();kf=Lt("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ire={number:"number",bigint:"bigint",object:"date"},X5e=Lt("$ZodCheckLessThan",(e,t)=>{kf.init(e,t);let n=Ire[typeof t.value];e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value{kf.init(e,t);let n=Ire[typeof t.value];e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:Ire[typeof r.value]??n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),jht=Lt("$ZodCheckMultipleOf",(e,t)=>{kf.init(e,t),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):Zmt(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),$ht=Lt("$ZodCheckNumberFormat",(e,t)=>{kf.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,a]=gre[t.format];e._zod.check=(i)=>{let s=i.value;if(n){if(!Number.isInteger(s)){i.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){if(s>0)i.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});else i.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}if(sa)i.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),e0t=Lt("$ZodCheckMaxLength",(e,t)=>{var n;kf.init(e,t),(n=e._zod.def).when??(n.when=Q5e),e._zod.check=(r)=>{let o=r.value,a=o.length;if((typeof o==="string"&&a>t.maximum?vre(o):a)<=t.maximum)return;let s=bre(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),t0t=Lt("$ZodCheckMinLength",(e,t)=>{var n;kf.init(e,t),(n=e._zod.def).when??(n.when=Q5e),e._zod.check=(r)=>{let o=r.value,a=o.length;if((typeof o==="string"&&a>=t.minimum&&a=t.minimum)return;let s=bre(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),n0t=Lt("$ZodCheckLengthEquals",(e,t)=>{var n;kf.init(e,t),(n=e._zod.def).when??(n.when=Q5e),e._zod.check=(r)=>{let o=r.value,a=o.length,i=typeof o==="string"&&a>=t.length&&a<=t.length*2?vre(o):a;if(i===t.length)return;let s=bre(o),l=i>t.length;r.issues.push({origin:s,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),d_=Lt("$ZodCheckStringFormat",(e,t)=>{var n,r;if(kf.init(e,t),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),r0t=Lt("$ZodCheckRegex",(e,t)=>{d_.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),o0t=Lt("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Kht),d_.init(e,t)}),a0t=Lt("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Jht),d_.init(e,t)}),i0t=Lt("$ZodCheckIncludes",(e,t)=>{kf.init(e,t);let n=k6(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position},}${n}`:n);t.pattern=r,e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),s0t=Lt("$ZodCheckStartsWith",(e,t)=>{kf.init(e,t);let n=new RegExp(`^${k6(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),l0t=Lt("$ZodCheckEndsWith",(e,t)=>{kf.init(e,t);let n=new RegExp(`.*${k6(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),c0t=Lt("$ZodCheckOverwrite",(e,t)=>{kf.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}})});class Y5e{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{this.indent-=1}}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` -`).filter((a)=>a),r=Math.min(...n.map((a)=>a.length-a.trimStart().length)),o=n.map((a)=>a.slice(r)).map((a)=>" ".repeat(this.indent*2)+a);for(let a of o)this.content.push(a)}compile(){let e=Function,t=this?.content??[""];return new e(...Object.keys(this.closed),`return function (${this.args.join(", ")}) { + `); + return () => { + if ((s.current?.removeAttribute("data-motion-pop-id"), T.contains(E))) + T.removeChild(E); + }; + }, [t]), + h($dt, { + isPresent: t, + childRef: s, + sizeRef: l, + pop: a, + children: a === !1 ? e : Vne.cloneElement(e, { ref: d }), + }) + ); +} +var Vne, y3, $dt; +var tpt = P(() => { + le(); + ni(); + Hne(); + jdt(); + ((Vne = z(re(), 1)), (y3 = z(re(), 1))); + $dt = class $dt extends Vne.Component { + getSnapshotBeforeUpdate(e) { + let t = this.props.childRef.current; + if ( + OE(t) && + e.isPresent && + !this.props.isPresent && + this.props.pop !== !1 + ) { + let n = t.offsetParent, + r = OE(n) ? n.offsetWidth || 0 : 0, + o = OE(n) ? n.offsetHeight || 0 : 0, + a = getComputedStyle(t), + i = this.props.sizeRef.current; + ((i.height = parseFloat(a.height)), + (i.width = parseFloat(a.width)), + (i.top = t.offsetTop), + (i.left = t.offsetLeft), + (i.right = r - i.width - i.left), + (i.bottom = o - i.height - i.top), + (i.direction = a.direction)); + } + return null; + } + componentDidUpdate() {} + render() { + return this.props.children; + } + }; +}); +function FBn() { + return new Map(); +} +var npt, + v6, + rpt = ({ + children: e, + initial: t, + isPresent: n, + onExitComplete: r, + custom: o, + presenceAffectsLayout: a, + mode: i, + anchorX: s, + anchorY: l, + root: c, + }) => { + let u = c9(FBn), + d = v6.useId(), + p = v6.useRef(n), + f = v6.useRef(r); + qb(() => { + ((p.current = n), (f.current = r)); + }); + let m = !0, + g = v6.useMemo( + () => ( + (m = !1), + { + id: d, + initial: t, + isPresent: n, + custom: o, + onExitComplete: (v) => { + u.set(v, !0); + for (let y of u.values()) if (!y) return; + r && r(); + }, + register: (v) => ( + u.set(v, !1), + () => { + (u.delete(v), !p.current && !u.size && f.current?.()); + } + ), + } + ), + [n, u, r], + ); + if (a && m) g = { ...g }; + return ( + v6.useMemo(() => { + u.forEach((v, y) => u.set(y, !1)); + }, [n]), + npt.useEffect(() => { + !n && !u.size && r && r(); + }, [n]), + (e = h(ept, { + pop: i === "popLayout", + isPresent: n, + anchorX: s, + anchorY: l, + root: c, + children: e, + })), + h(d3.Provider, { value: g, children: e }) + ); + }; +var opt = P(() => { + le(); + rz(); + gte(); + nz(); + tpt(); + ((npt = z(re(), 1)), (v6 = z(re(), 1))); +}); +function Zz(e = !0) { + let t = v3.useContext(d3); + if (t === null) return [!0, null]; + let { isPresent: n, onExitComplete: r, register: o } = t, + a = v3.useId(); + v3.useEffect(() => { + if (e) return o(a); + }, [e]); + let i = v3.useCallback(() => e && r && r(a), [a, r, e]); + return !n && r ? [!1, i] : [!0]; +} +function CCe() { + return UBn(v3.useContext(d3)); +} +function UBn(e) { + return e === null ? !0 : e.isPresent; +} +var v3; +var Gne = P(() => { + rz(); + v3 = z(re(), 1); +}); +function ECe(e) { + let t = []; + return ( + qne.Children.forEach(e, (n) => { + if (qne.isValidElement(n)) t.push(n); + }), + t + ); +} +var qne, + Qz = (e) => e.key || ""; +var apt = P(() => { + qne = z(re(), 1); +}); +var B2, + Do = ({ + children: e, + custom: t, + initial: n = !0, + onExitComplete: r, + presenceAffectsLayout: o = !0, + mode: a = "sync", + propagate: i = !1, + anchorX: s = "left", + anchorY: l = "top", + root: c, + }) => { + let [u, d] = Zz(i), + p = B2.useMemo(() => ECe(e), [e]), + f = i && !u ? [] : p.map(Qz), + m = B2.useRef(!0), + g = B2.useRef(p), + v = c9(() => new Map()), + y = B2.useRef(new Set()), + [x, A] = B2.useState(p), + [w, C] = B2.useState(p); + (qb(() => { + if (i && !u && !w.length) d?.(); + }, [u, i, w.length, d]), + qb(() => { + ((m.current = !1), (g.current = p)); + for (let I = 0; I < w.length; I++) { + let k = Qz(w[I]); + if (!f.includes(k)) { + if (v.get(k) !== !0) v.set(k, !1); + } else (v.delete(k), y.current.delete(k)); + } + }, [w, f.length, f.join("-")])); + let E = []; + if (p !== x) { + let I = [...p], + k = 0; + for (let L of w) { + let O = f.indexOf(Qz(L)); + if (O === -1) (I.splice(k++, 0, L), E.push(L)); + else k = O + E.length + 1; + } + if (a === "wait" && E.length) I = E; + return (C(ECe(I)), A(p), null); + } + let { forceRender: T } = B2.useContext(u3); + return h(Ht, { + children: w.map((I) => { + let k = Qz(I), + L = i && !u ? !1 : p === w || f.includes(k), + O = () => { + if (y.current.has(k)) return; + if (v.has(k)) (y.current.add(k), v.set(k, !0)); + else return; + let B = !0; + if ( + (v.forEach((U) => { + if (!U) B = !1; + }), + B) + ) + (T?.(), C(g.current), i && d?.(), r && r()); + }; + return h( + rpt, + { + isPresent: L, + initial: !m.current || n ? void 0 : !1, + custom: t, + presenceAffectsLayout: o, + mode: a, + root: c, + onExitComplete: L ? void 0 : O, + anchorX: s, + anchorY: l, + children: I, + }, + k, + ); + }), + }); + }; +var ipt = P(() => { + le(); + tz(); + gte(); + nz(); + opt(); + Gne(); + apt(); + B2 = z(re(), 1); +}); +var spt, lpt; +var cpt = P(() => { + ((spt = z(re(), 1)), (lpt = spt.createContext(null))); +}); +function dpt() { + let e = upt.useRef(!1); + return ( + qb( + () => ( + (e.current = !0), + () => { + e.current = !1; + } + ), + [], + ), + e + ); +} +var upt; +var ppt = P(() => { + nz(); + upt = z(re(), 1); +}); +function fpt() { + let e = dpt(), + [t, n] = Xz.useState(0), + r = Xz.useCallback(() => { + e.current && n(t + 1); + }, [t]); + return [Xz.useCallback(() => Po.postRender(r), [r]), t]; +} +var Xz; +var mpt = P(() => { + ni(); + ppt(); + Xz = z(re(), 1); +}); +var QE, + hpt = (e) => e === !0, + NBn = (e) => hpt(e === !0) || e === "id", + ICe = ({ children: e, id: t, inherit: n = !0 }) => { + let r = QE.useContext(u3), + o = QE.useContext(lpt), + [a, i] = fpt(), + s = QE.useRef(null), + l = r.id || o; + if (s.current === null) { + if (NBn(n) && l) t = t ? l + "-" + t : l; + s.current = { id: t, group: hpt(n) ? r.group || zne() : zne() }; + } + let c = QE.useMemo(() => ({ ...s.current, forceRender: a }), [i]); + return h(u3.Provider, { value: c, children: e }); + }; +var gpt = P(() => { + le(); + tz(); + cpt(); + mpt(); + ni(); + QE = z(re(), 1); +}); +var ypt, Zne; +var TCe = P(() => { + ((ypt = z(re(), 1)), (Zne = ypt.createContext({ strict: !1 }))); +}); +function zBn() { + if (bpt) return; + let e = {}; + for (let t in vpt) e[t] = { isEnabled: (n) => vpt[t].some((r) => !!n[r]) }; + (Nz(e), (bpt = !0)); +} +function Qne() { + return (zBn(), Q6e()); +} +var vpt, + bpt = !1; +var kCe = P(() => { + ni(); + vpt = { + animation: [ + "animate", + "variants", + "whileHover", + "whileTap", + "exit", + "whileInView", + "whileFocus", + "whileDrag", + ], + exit: ["exit"], + drag: ["drag", "dragControls"], + focus: ["whileFocus"], + hover: ["whileHover", "onHoverStart", "onHoverEnd"], + tap: ["whileTap", "onTap", "onTapStart", "onTapCancel"], + pan: ["onPan", "onPanStart", "onPanSessionStart", "onPanEnd"], + inView: ["whileInView", "onViewportEnter", "onViewportLeave"], + layout: ["layout", "layoutId"], + }; +}); +function xpt(e) { + let t = Qne(); + for (let n in e) t[n] = { ...t[n], ...e[n] }; + Nz(t); +} +var Apt = P(() => { + ni(); + kCe(); +}); +var wpt, b6; +var Wz = P(() => { + ((wpt = z(re(), 1)), (b6 = wpt.createContext({}))); +}); +function Spt(e, t) { + if (y6(e)) { + let { initial: n, animate: r } = e; + return { + initial: n === !1 || $b(n) ? n : void 0, + animate: $b(r) ? r : void 0, + }; + } + return e.inherit !== !1 ? t : {}; +} +var Cpt = P(() => { + ni(); +}); +function Ipt(e) { + let { initial: t, animate: n } = Spt(e, Xne.useContext(b6)); + return Xne.useMemo(() => ({ initial: t, animate: n }), [Ept(t), Ept(n)]); +} +function Ept(e) { + return Array.isArray(e) ? e.join(" ") : e; +} +var Xne; +var Tpt = P(() => { + Wz(); + Cpt(); + Xne = z(re(), 1); +}); +var B9 = () => ({ style: {}, transform: {}, transformOrigin: {}, vars: {} }); +var Wne = () => {}; +function RCe(e, t, n) { + for (let r in t) if (!Qi(t[r]) && !Hz(r, n)) e[r] = t[r]; +} +function _Bn({ transformTemplate: e }, t) { + return kpt.useMemo(() => { + let n = B9(); + return (FE(n, t, e), Object.assign({}, n.vars, n.style)); + }, [t]); +} +function HBn(e, t) { + let n = e.style || {}, + r = {}; + return (RCe(r, n, e), Object.assign(r, _Bn(e, t)), r); +} +function Rpt(e, t) { + let n = {}, + r = HBn(e, t); + if (e.drag && e.dragListener !== !1) + ((n.draggable = !1), + (r.userSelect = r.WebkitUserSelect = r.WebkitTouchCallout = "none"), + (r.touchAction = + e.drag === !0 ? "none" : `pan-${e.drag === "x" ? "y" : "x"}`)); + if (e.tabIndex === void 0 && (e.onTap || e.onTapStart || e.whileTap)) + n.tabIndex = 0; + return ((n.style = r), n); +} +var kpt; +var PCe = P(() => { + ni(); + Wne(); + kpt = z(re(), 1); +}); +var Yne = () => ({ ...B9(), attrs: {} }); +var MCe = P(() => { + Wne(); +}); +function Mpt(e, t, n, r) { + let o = Ppt.useMemo(() => { + let a = Yne(); + return ( + Pz(a, t, Vz(r), e.transformTemplate, e.style), + { ...a.attrs, style: { ...a.style } } + ); + }, [t]); + if (e.style) { + let a = {}; + (RCe(a, e.style, e), (o.style = { ...a, ...o.style })); + } + return o; +} +var Ppt; +var Dpt = P(() => { + ni(); + PCe(); + MCe(); + Ppt = z(re(), 1); +}); +function Yz(e) { + return ( + e.startsWith("while") || + (e.startsWith("drag") && e !== "draggable") || + e.startsWith("layout") || + e.startsWith("onTap") || + e.startsWith("onPan") || + e.startsWith("onLayout") || + VBn.has(e) + ); +} +var VBn; +var Lpt = P(() => { + VBn = new Set([ + "animate", + "exit", + "variants", + "initial", + "style", + "values", + "variants", + "transition", + "transformTemplate", + "custom", + "inherit", + "onBeforeLayoutMeasure", + "onAnimationStart", + "onAnimationComplete", + "onUpdate", + "onDragStart", + "onDrag", + "onDragEnd", + "onMeasureDragConstraints", + "onDirectionLock", + "onDragTransitionEnd", + "_dragX", + "_dragY", + "onHoverStart", + "onHoverEnd", + "onViewportEnter", + "onViewportLeave", + "globalTapTarget", + "propagate", + "ignoreStrict", + "viewport", + ]); +}); +function GBn(e, t) { + return e.startsWith("on") ? !Yz(e) : (t?.(e) ?? !Yz(e)); +} +function Bpt(e, t, n, r) { + let o = {}; + for (let a in e) { + if (a === "values" && typeof e.values === "object") continue; + if (Qi(e[a])) continue; + if ( + GBn(a, r) || + (n === !0 && Yz(a)) || + (!t && !Yz(a)) || + (e.draggable && a.startsWith("onDrag")) + ) + o[a] = e[a]; + } + return o; +} +var Opt = P(() => { + ni(); + Lpt(); +}); +var Fpt; +var Upt = P(() => { + Fpt = [ + "animate", + "circle", + "defs", + "desc", + "ellipse", + "g", + "image", + "line", + "filter", + "marker", + "mask", + "metadata", + "path", + "pattern", + "polygon", + "polyline", + "rect", + "stop", + "switch", + "symbol", + "svg", + "text", + "tspan", + "use", + "view", + ]; +}); +function O9(e) { + if (typeof e !== "string" || e.includes("-")) return !1; + else if (Fpt.indexOf(e) > -1 || /[A-Z]/u.test(e)) return !0; + return !1; +} +var Kne = P(() => { + Upt(); +}); +function Npt(e, t, n, { latestValues: r }, o, a = !1, i, s) { + let c = ((i ?? O9(e)) ? Mpt : Rpt)(t, r, o, e), + u = Bpt(t, typeof e === "string", a, s), + d = e !== F9.Fragment ? { ...u, ...c, ref: n } : {}, + { children: p } = t, + f = F9.useMemo(() => (Qi(p) ? p.get() : p), [p]); + return F9.createElement(e, { ...d, children: f }); +} +var F9; +var zpt = P(() => { + ni(); + PCe(); + Dpt(); + Opt(); + Kne(); + F9 = z(re(), 1); +}); +function qBn( + { scrapeMotionValuesFromProps: e, createRenderState: t }, + n, + r, + o, +) { + return { latestValues: ZBn(n, r, o, e), renderState: t() }; +} +function ZBn(e, t, n, r) { + let o = {}, + a = r(e, {}); + for (let p in a) o[p] = GE(a[p]); + let { initial: i, animate: s } = e, + l = y6(e), + c = Fz(e); + if (t && c && !l && e.inherit !== !1) { + if (i === void 0) i = t.initial; + if (s === void 0) s = t.animate; + } + let u = n ? n.initial === !1 : !1; + u = u || i === !1; + let d = u ? s : i; + if (d && typeof d !== "boolean" && !g3(d)) { + let p = Array.isArray(d) ? d : [d]; + for (let f = 0; f < p.length; f++) { + let m = BE(e, p[f]); + if (m) { + let { transitionEnd: g, transition: v, ...y } = m; + for (let x in y) { + let A = y[x]; + if (Array.isArray(A)) { + let w = u ? A.length - 1 : 0; + A = A[w]; + } + if (A !== null) o[x] = A; + } + for (let x in g) o[x] = g[x]; + } + } + } + return o; +} +var DCe, + Jne = (e) => (t, n) => { + let r = DCe.useContext(b6), + o = DCe.useContext(d3), + a = () => qBn(e, t, r, o); + return n ? a() : c9(a); + }; +var LCe = P(() => { + ni(); + Wz(); + rz(); + gte(); + DCe = z(re(), 1); +}); +var _pt; +var Hpt = P(() => { + ni(); + LCe(); + Wne(); + _pt = Jne({ scrapeMotionValuesFromProps: _E, createRenderState: B9 }); +}); +var Vpt; +var Gpt = P(() => { + ni(); + LCe(); + MCe(); + Vpt = Jne({ scrapeMotionValuesFromProps: Gz, createRenderState: Yne }); +}); +var qpt; +var Zpt = P(() => { + qpt = Symbol.for("motionComponentSymbol"); +}); +function Qpt(e, t, n) { + let r = XE.useRef(n); + XE.useInsertionEffect(() => { + r.current = n; + }); + let o = XE.useRef(null); + return XE.useCallback( + (a) => { + if (a) e.onMount?.(a); + if (t) a ? t.mount(a) : t.unmount(); + let i = r.current; + if (typeof i === "function") + if (a) { + let s = i(a); + if (typeof s === "function") o.current = s; + } else if (o.current) (o.current(), (o.current = null)); + else i(a); + else if (i) i.current = a; + }, + [t], + ); +} +var XE; +var Xpt = P(() => { + XE = z(re(), 1); +}); +var Wpt, jne; +var BCe = P(() => { + ((Wpt = z(re(), 1)), (jne = Wpt.createContext({}))); +}); +function x6(e) { + return ( + e && + typeof e === "object" && + Object.prototype.hasOwnProperty.call(e, "current") + ); +} +var OCe = () => {}; +function Ypt(e, t, n, r, o, a) { + let { visualElement: i } = ch.useContext(b6), + s = ch.useContext(Zne), + l = ch.useContext(d3), + c = ch.useContext(L9), + { reducedMotion: u, skipAnimations: d } = c, + p = ch.useRef(null), + f = ch.useRef(!1); + if (((r = r || s.renderer), !p.current && r)) { + if ( + ((p.current = r(e, { + visualState: t, + parent: i, + props: n, + presenceContext: l, + blockInitialAnimation: l ? l.initial === !1 : !1, + reducedMotionConfig: u, + skipAnimations: d, + isSVG: a, + })), + f.current && p.current) + ) + p.current.manuallyAnimateOnMount = !0; + } + let m = p.current, + g = ch.useContext(jne); + if (m && !m.projection && o && (m.type === "html" || m.type === "svg")) + QBn(p.current, n, o, g); + let v = ch.useRef(!1); + ch.useInsertionEffect(() => { + if (m && v.current) m.update(n, l); + }); + let y = n[Tz], + x = ch.useRef( + Boolean(y) && + typeof window < "u" && + !window.MotionHandoffIsComplete?.(y) && + window.MotionHasOptimisedAnimation?.(y), + ); + return ( + qb(() => { + if (!f.current || !m) return; + (m.animationState?.animateChanges(), (m.enteringChildren = void 0)); + }, []), + qb(() => { + if (((f.current = !0), !m)) return; + if ( + ((v.current = !0), + (window.MotionIsMounted = !0), + m.updateFeatures(), + m.scheduleRenderMicrotask(), + x.current && m.animationState) + ) + m.animationState.animateChanges(); + }), + ch.useEffect(() => { + if (!m) return; + if (!x.current && m.animationState) m.animationState.animateChanges(); + if (x.current) + (queueMicrotask(() => { + window.MotionHandoffMarkAsComplete?.(y); + }), + (x.current = !1)); + m.enteringChildren = void 0; + }), + m + ); +} +function QBn(e, t, n, r) { + let { + layoutId: o, + layout: a, + drag: i, + dragConstraints: s, + layoutScroll: l, + layoutRoot: c, + layoutAnchor: u, + layoutCrossfade: d, + } = t; + ((e.projection = new n( + e.latestValues, + t["data-framer-portal-id"] ? void 0 : Kpt(e.parent), + )), + e.projection.setOptions({ + layoutId: o, + layout: a, + alwaysMeasureLayout: Boolean(i) || (s && x6(s)), + visualElement: e, + animationType: typeof a === "string" ? a : "both", + initialPromotionConfig: r, + crossfade: d, + layoutScroll: l, + layoutRoot: c, + layoutAnchor: u, + })); +} +function Kpt(e) { + if (!e) return; + return e.options.allowProjection !== !1 ? e.projection : Kpt(e.parent); +} +var ch; +var Jpt = P(() => { + ni(); + TCe(); + Hne(); + Wz(); + rz(); + BCe(); + OCe(); + nz(); + ch = z(re(), 1); +}); +function $ne(e, { forwardMotionProps: t = !1, type: n } = {}, r, o) { + r && xpt(r); + let a = n ? n === "svg" : O9(e), + i = a ? Vpt : _pt; + function s(c, u) { + let d, + p = { ...U9.useContext(L9), ...c, layoutId: XBn(c) }, + { isStatic: f, isValidProp: m } = p, + g = Ipt(c), + v = i(c, f); + if (!f && typeof window < "u") { + WBn(p, r); + let y = YBn(p); + ((d = y.MeasureLayout), + (g.visualElement = Ypt(e, v, p, o, y.ProjectionNode, a))); + } + return M(b6.Provider, { + value: g, + children: [ + d && g.visualElement + ? h(d, { visualElement: g.visualElement, ...p }) + : null, + Npt(e, c, Qpt(v, g.visualElement, u), v, f, t, a, m), + ], + }); + } + s.displayName = `motion.${typeof e === "string" ? e : `create(${e.displayName ?? e.name ?? ""})`}`; + let l = U9.forwardRef(s); + return ((l[qpt] = e), l); +} +function XBn({ layoutId: e }) { + let t = U9.useContext(u3).id; + return t && e !== void 0 ? t + "-" + e : e; +} +function WBn(e, t) { + let n = U9.useContext(Zne).strict; +} +function YBn(e) { + let t = Qne(), + { drag: n, layout: r } = t; + if (!n && !r) return {}; + let o = { ...n, ...r }; + return { + MeasureLayout: + n?.isEnabled(e) || r?.isEnabled(e) ? o.MeasureLayout : void 0, + ProjectionNode: o.ProjectionNode, + }; +} +var U9; +var jpt = P(() => { + le(); + tz(); + TCe(); + Hne(); + Wz(); + Tpt(); + zpt(); + Kne(); + Hpt(); + Gpt(); + kCe(); + Apt(); + Zpt(); + Xpt(); + Jpt(); + U9 = z(re(), 1); +}); +function $pt(e, t) { + if (typeof Proxy > "u") return $ne; + let n = new Map(), + r = (a, i) => $ne(a, i, e, t); + return new Proxy((a, i) => r(a, i), { + get: (a, i) => { + if (i === "create") return r; + if (!n.has(i)) n.set(i, $ne(i, void 0, e, t)); + return n.get(i); + }, + }); +} +var eft = P(() => { + jpt(); +}); +var tft, + nft = (e, t) => + (t.isSVG ?? O9(e)) + ? new One(t) + : new Lne(t, { allowProjection: e !== tft.Fragment }); +var rft = P(() => { + ni(); + Kne(); + tft = z(re(), 1); +}); +var FCe; +var oft = P(() => { + ni(); + FCe = class FCe extends Pp { + constructor(e) { + super(e); + e.animationState || (e.animationState = rCe(e)); + } + updateAnimationControlsSubscription() { + let { animate: e } = this.node.getProps(); + if (g3(e)) this.unmountControls = e.subscribe(this.node); + } + mount() { + this.updateAnimationControlsSubscription(); + } + update() { + let { animate: e } = this.node.getProps(), + { animate: t } = this.node.prevProps || {}; + if (e !== t) this.updateAnimationControlsSubscription(); + } + unmount() { + (this.node.animationState.reset(), this.unmountControls?.()); + } + }; +}); +var KBn = 0, + UCe; +var aft = P(() => { + ni(); + UCe = class UCe extends Pp { + constructor() { + super(...arguments); + ((this.id = KBn++), (this.isExitComplete = !1)); + } + update() { + if (!this.node.presenceContext) return; + let { isPresent: e, onExitComplete: t } = this.node.presenceContext, + { isPresent: n } = this.node.prevPresenceContext || {}; + if (!this.node.animationState || e === n) return; + if (e && n === !1) { + if (this.isExitComplete) { + let { initial: o, custom: a } = this.node.getProps(); + if ( + typeof o === "string" || + (typeof o === "object" && o !== null && !Array.isArray(o)) + ) { + let i = kg(this.node, o, a); + if (i) { + let { transition: s, transitionEnd: l, ...c } = i; + for (let u in c) this.node.getValue(u)?.jump(c[u]); + } + } + ((this.node.blockInitialAnimation = !1), + this.node.animationState.reset(), + this.node.animationState.animateChanges()); + } else this.node.animationState.setActive("exit", !1); + ((this.isExitComplete = !1), (this.exitAnimation = void 0)); + return; + } + let r = (this.exitAnimation = this.node.animationState.setActive( + "exit", + !e, + )); + if (t && !e) + r.then(() => { + if (this.exitAnimation !== r) return; + ((this.isExitComplete = !0), t(this.id)); + }); + } + mount() { + let { register: e, onExitComplete: t } = this.node.presenceContext || {}; + if (t) t(this.id); + if (e) this.unmount = e(this.id); + } + unmount() {} + }; +}); +var ift; +var sft = P(() => { + oft(); + aft(); + ift = { animation: { Feature: FCe }, exit: { Feature: UCe } }; +}); +function WE(e) { + return { point: { x: e.pageX, y: e.pageY } }; +} +var lft = (e) => (t) => NE(t) && e(t, WE(t)); +var Kz = P(() => { + ni(); +}); +function A6(e, t, n, r) { + return ex(e, t, lft(n), r); +} +var ere = P(() => { + ni(); + Kz(); +}); +var tre = ({ current: e }) => (e ? e.ownerDocument.defaultView : null); +var NCe = () => {}; +function uft(e, t) { + let n = cft(e.x, t.x), + r = cft(e.y, t.y); + return Math.sqrt(n ** 2 + r ** 2); +} +var cft = (e, t) => Math.abs(e - t); +var dft = () => {}; +class Jz { + constructor( + e, + t, + { + transformPagePoint: n, + contextWindow: r = window, + dragSnapToOrigin: o = !1, + distanceThreshold: a = 3, + element: i, + } = {}, + ) { + if ( + ((this.startEvent = null), + (this.lastMoveEvent = null), + (this.lastMoveEventInfo = null), + (this.lastRawMoveEventInfo = null), + (this.handlers = {}), + (this.contextWindow = window), + (this.scrollPositions = new Map()), + (this.removeScrollListeners = null), + (this.onElementScroll = (f) => { + this.handleScroll(f.target); + }), + (this.onWindowScroll = () => { + this.handleScroll(window); + }), + (this.updatePoint = () => { + if (!(this.lastMoveEvent && this.lastMoveEventInfo)) return; + if (((this.hasPendingMove = !1), this.lastRawMoveEventInfo)) + this.lastMoveEventInfo = nre( + this.lastRawMoveEventInfo, + this.transformPagePoint, + ); + let f = zCe(this.lastMoveEventInfo, this.history), + m = this.startEvent !== null, + g = uft(f.offset, { x: 0, y: 0 }) >= this.distanceThreshold; + if (!m && !g) return; + let { point: v } = f; + this.history.push({ ...v, timestamp: ts.now() }); + let { onStart: y, onMove: x } = this.handlers; + if (!m) + (y && y(this.lastMoveEvent, f), + (this.startEvent = this.lastMoveEvent)); + x && x(this.lastMoveEvent, f); + }), + (this.handlePointerMove = (f, m) => { + ((this.lastMoveEvent = f), + (this.lastRawMoveEventInfo = m), + (this.lastMoveEventInfo = nre(m, this.transformPagePoint)), + (this.hasPendingMove = !0), + Po.update(this.updatePoint, !0)); + }), + (this.handlePointerUp = (f, m) => { + (this.hasPendingMove && this.updatePoint(), this.end()); + let { onEnd: g, onSessionEnd: v, resumeAnimation: y } = this.handlers; + if (this.dragSnapToOrigin || !this.startEvent) y && y(); + if (!(this.lastMoveEvent && this.lastMoveEventInfo)) return; + let x = zCe( + f.type === "pointercancel" + ? this.lastMoveEventInfo + : nre(m, this.transformPagePoint), + this.history, + ); + if (this.startEvent && g) g(f, x); + v && v(f, x); + }), + !NE(e)) + ) + return; + ((this.dragSnapToOrigin = o), + (this.handlers = t), + (this.transformPagePoint = n), + (this.distanceThreshold = a), + (this.contextWindow = r || window)); + let s = WE(e), + l = nre(s, this.transformPagePoint), + { point: c } = l, + { timestamp: u } = fl; + this.history = [{ ...c, timestamp: u }]; + let { onSessionStart: d } = t; + d && d(e, zCe(l, this.history)); + let p = { passive: !0, capture: !0 }; + if ( + ((this.removeListeners = P2( + A6(this.contextWindow, "pointermove", this.handlePointerMove, p), + A6(this.contextWindow, "pointerup", this.handlePointerUp, p), + A6(this.contextWindow, "pointercancel", this.handlePointerUp, p), + )), + i) + ) + this.startScrollTracking(i); + } + startScrollTracking(e) { + let t = e.parentElement; + while (t) { + let n = getComputedStyle(t); + if (pft.has(n.overflowX) || pft.has(n.overflowY)) + this.scrollPositions.set(t, { x: t.scrollLeft, y: t.scrollTop }); + t = t.parentElement; + } + (this.scrollPositions.set(window, { x: window.scrollX, y: window.scrollY }), + window.addEventListener("scroll", this.onElementScroll, { capture: !0 }), + window.addEventListener("scroll", this.onWindowScroll), + (this.removeScrollListeners = () => { + (window.removeEventListener("scroll", this.onElementScroll, { + capture: !0, + }), + window.removeEventListener("scroll", this.onWindowScroll)); + })); + } + handleScroll(e) { + let t = this.scrollPositions.get(e); + if (!t) return; + let n = e === window, + r = n + ? { x: window.scrollX, y: window.scrollY } + : { x: e.scrollLeft, y: e.scrollTop }, + o = { x: r.x - t.x, y: r.y - t.y }; + if (o.x === 0 && o.y === 0) return; + if (n) { + if (this.lastMoveEventInfo) + ((this.lastMoveEventInfo.point.x += o.x), + (this.lastMoveEventInfo.point.y += o.y)); + } else if (this.history.length > 0) + ((this.history[0].x -= o.x), (this.history[0].y -= o.y)); + (this.scrollPositions.set(e, r), Po.update(this.updatePoint, !0)); + } + updateHandlers(e) { + this.handlers = e; + } + end() { + (this.removeListeners && this.removeListeners(), + this.removeScrollListeners && this.removeScrollListeners(), + this.scrollPositions.clear(), + u0(this.updatePoint)); + } +} +function nre(e, t) { + return t ? { point: t(e.point) } : e; +} +function fft(e, t) { + return { x: e.x - t.x, y: e.y - t.y }; +} +function zCe({ point: e }, t) { + return { + point: e, + delta: fft(e, mft(t)), + offset: fft(e, JBn(t)), + velocity: jBn(t, 0.1), + }; +} +function JBn(e) { + return e[0]; +} +function mft(e) { + return e[e.length - 1]; +} +function jBn(e, t) { + if (e.length < 2) return { x: 0, y: 0 }; + let n = e.length - 1, + r = null, + o = mft(e); + while (n >= 0) { + if (((r = e[n]), o.timestamp - r.timestamp > Ed(t))) break; + n--; + } + if (!r) return { x: 0, y: 0 }; + if (r === e[0] && e.length > 2 && o.timestamp - r.timestamp > Ed(t) * 2) + r = e[1]; + let a = Qd(o.timestamp - r.timestamp); + if (a === 0) return { x: 0, y: 0 }; + let i = { x: (o.x - r.x) / a, y: (o.y - r.y) / a }; + if (i.x === 1 / 0) i.x = 0; + if (i.y === 1 / 0) i.y = 0; + return i; +} +var pft; +var _Ce = P(() => { + ni(); + Ro(); + ere(); + Kz(); + dft(); + pft = new Set(["auto", "scroll"]); +}); +function bft(e, { min: t, max: n }, r) { + if (t !== void 0 && e < t) e = r ? _o(t, e, r.min) : Math.max(e, t); + else if (n !== void 0 && e > n) e = r ? _o(n, e, r.max) : Math.min(e, n); + return e; +} +function hft(e, t, n) { + return { + min: t !== void 0 ? e.min + t : void 0, + max: n !== void 0 ? e.max + n - (e.max - e.min) : void 0, + }; +} +function xft(e, { top: t, left: n, bottom: r, right: o }) { + return { x: hft(e.x, n, o), y: hft(e.y, t, r) }; +} +function gft(e, t) { + let n = t.min - e.min, + r = t.max - e.max; + if (t.max - t.min < e.max - e.min) [n, r] = [r, n]; + return { min: n, max: r }; +} +function Aft(e, t) { + return { x: gft(e.x, t.x), y: gft(e.y, t.y) }; +} +function wft(e, t) { + let n = 0.5, + r = Id(e), + o = Id(t); + if (o > r) n = Zb(t.min, t.max - r, e.min); + else if (r > o) n = Zb(e.min, e.max - o, t.min); + return Dc(0, 1, n); +} +function Sft(e, t) { + let n = {}; + if (t.min !== void 0) n.min = t.min - e.min; + if (t.max !== void 0) n.max = t.max - e.min; + return n; +} +function Cft(e = rre) { + if (e === !1) e = 0; + else if (e === !0) e = rre; + return { x: yft(e, "left", "right"), y: yft(e, "top", "bottom") }; +} +function yft(e, t, n) { + return { min: vft(e, t), max: vft(e, n) }; +} +function vft(e, t) { + return typeof e === "number" ? e : e[t] || 0; +} +var rre = 0.35; +var Eft = P(() => { + ni(); + Ro(); +}); +class HCe { + constructor(e) { + ((this.openDragLock = null), + (this.isDragging = !1), + (this.currentDirection = null), + (this.originPoint = { x: 0, y: 0 }), + (this.constraints = !1), + (this.hasMutatedConstraints = !1), + (this.elastic = hl()), + (this.latestPointerEvent = null), + (this.latestPanInfo = null), + (this.visualElement = e)); + } + start(e, { snapToCursor: t = !1, distanceThreshold: n } = {}) { + let { presenceContext: r } = this.visualElement; + if (r && r.isPresent === !1) return; + let o = (u) => { + if (t) this.snapToCursor(u); + this.stopAnimation(); + }, + a = (u, d) => { + let { drag: p, dragPropagation: f, onDragStart: m } = this.getProps(); + if (p && !f) { + if (this.openDragLock) this.openDragLock(); + if (((this.openDragLock = M6e(p)), !this.openDragLock)) return; + } + if ( + ((this.latestPointerEvent = u), + (this.latestPanInfo = d), + (this.isDragging = !0), + (this.currentDirection = null), + this.resolveConstraints(), + this.visualElement.projection) + ) + ((this.visualElement.projection.isAnimationBlocked = !0), + (this.visualElement.projection.target = void 0)); + if ( + (Rg((v) => { + let y = this.getAxisMotionValue(v).get() || 0; + if (um.test(y)) { + let { projection: x } = this.visualElement; + if (x && x.layout) { + let A = x.layout.layoutBox[v]; + if (A) y = Id(A) * (parseFloat(y) / 100); + } + } + this.originPoint[v] = y; + }), + m) + ) + Po.update(() => m(u, d), !1, !0); + E9(this.visualElement, "transform"); + let { animationState: g } = this.visualElement; + g && g.setActive("whileDrag", !0); + }, + i = (u, d) => { + ((this.latestPointerEvent = u), (this.latestPanInfo = d)); + let { + dragPropagation: p, + dragDirectionLock: f, + onDirectionLock: m, + onDrag: g, + } = this.getProps(); + if (!p && !this.openDragLock) return; + let { offset: v } = d; + if (f && this.currentDirection === null) { + if ( + ((this.currentDirection = tOn(v)), this.currentDirection !== null) + ) + m && m(this.currentDirection); + return; + } + if ( + (this.updateAxis("x", d.point, v), + this.updateAxis("y", d.point, v), + this.visualElement.render(), + g) + ) + Po.update(() => g(u, d), !1, !0); + }, + s = (u, d) => { + ((this.latestPointerEvent = u), + (this.latestPanInfo = d), + this.stop(u, d), + (this.latestPointerEvent = null), + (this.latestPanInfo = null)); + }, + l = () => { + let { dragSnapToOrigin: u } = this.getProps(); + if (u || this.constraints) this.startAnimation({ x: 0, y: 0 }); + }, + { dragSnapToOrigin: c } = this.getProps(); + this.panSession = new Jz( + e, + { + onSessionStart: o, + onStart: a, + onMove: i, + onSessionEnd: s, + resumeAnimation: l, + }, + { + transformPagePoint: this.visualElement.getTransformPagePoint(), + dragSnapToOrigin: c, + distanceThreshold: n, + contextWindow: tre(this.visualElement), + element: this.visualElement.current, + }, + ); + } + stop(e, t) { + let n = e || this.latestPointerEvent, + r = t || this.latestPanInfo, + o = this.isDragging; + if ((this.cancel(), !o || !r || !n)) return; + let { velocity: a } = r; + this.startAnimation(a); + let { onDragEnd: i } = this.getProps(); + if (i) Po.postRender(() => i(n, r)); + } + cancel() { + this.isDragging = !1; + let { projection: e, animationState: t } = this.visualElement; + if (e) e.isAnimationBlocked = !1; + this.endPanSession(); + let { dragPropagation: n } = this.getProps(); + if (!n && this.openDragLock) + (this.openDragLock(), (this.openDragLock = null)); + t && t.setActive("whileDrag", !1); + } + endPanSession() { + (this.panSession && this.panSession.end(), (this.panSession = void 0)); + } + updateAxis(e, t, n) { + let { drag: r } = this.getProps(); + if (!n || !ore(e, r, this.currentDirection)) return; + let o = this.getAxisMotionValue(e), + a = this.originPoint[e] + n[e]; + if (this.constraints && this.constraints[e]) + a = bft(a, this.constraints[e], this.elastic[e]); + o.set(a); + } + resolveConstraints() { + let { dragConstraints: e, dragElastic: t } = this.getProps(), + n = + this.visualElement.projection && !this.visualElement.projection.layout + ? this.visualElement.projection.measure(!1) + : this.visualElement.projection?.layout, + r = this.constraints; + if (e && x6(e)) { + if (!this.constraints) this.constraints = this.resolveRefConstraints(); + } else if (e && n) this.constraints = xft(n.layoutBox, e); + else this.constraints = !1; + if ( + ((this.elastic = Cft(t)), + r !== this.constraints && + !x6(e) && + n && + this.constraints && + !this.hasMutatedConstraints) + ) + Rg((o) => { + if (this.constraints !== !1 && this.getAxisMotionValue(o)) + this.constraints[o] = Sft(n.layoutBox[o], this.constraints[o]); + }); + } + resolveRefConstraints() { + let { dragConstraints: e, onMeasureDragConstraints: t } = this.getProps(); + if (!e || !x6(e)) return !1; + let n = e.current; + lh( + n !== null, + "If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.", + "drag-constraints-ref", + ); + let { projection: r } = this.visualElement; + if (!r || !r.layout) return !1; + if (r.root) ((r.root.scroll = void 0), r.root.updateScroll()); + let o = R6e(n, r.root, this.visualElement.getTransformPagePoint()), + a = Aft(r.layout.layoutBox, o); + if (t) { + let i = t(A6e(a)); + if (((this.hasMutatedConstraints = !!i), i)) a = Mz(i); + } + return a; + } + startAnimation(e) { + let { + drag: t, + dragMomentum: n, + dragElastic: r, + dragTransition: o, + dragSnapToOrigin: a, + onDragTransitionEnd: i, + } = this.getProps(), + s = this.constraints || {}, + l = Rg((c) => { + if (!ore(c, t, this.currentDirection)) return; + let u = (s && s[c]) || {}; + if (a === !0 || a === c) u = { min: 0, max: 0 }; + let d = r ? 200 : 1e6, + p = r ? 40 : 1e7, + f = { + type: "inertia", + velocity: n ? e[c] : 0, + bounceStiffness: d, + bounceDamping: p, + timeConstant: 750, + restDelta: 1, + restSpeed: 10, + ...o, + ...u, + }; + return this.startAxisValueAnimation(c, f); + }); + return Promise.all(l).then(i); + } + startAxisValueAnimation(e, t) { + let n = this.getAxisMotionValue(e); + return ( + E9(this.visualElement, e), + n.start(LE(e, n, 0, t, this.visualElement, !1)) + ); + } + stopAnimation() { + Rg((e) => this.getAxisMotionValue(e).stop()); + } + getAxisMotionValue(e) { + let t = `_drag${e.toUpperCase()}`, + r = this.visualElement.getProps()[t]; + return r + ? r + : this.visualElement.getValue(e, this.visualElement.latestValues[e] ?? 0); + } + snapToCursor({ clientX: e, clientY: t }) { + let { drag: n } = this.getProps(), + r = { x: e, y: t }, + o = this.visualElement.getTransformPagePoint()?.(r) || r, + a = this.visualElement.measureViewportBox(); + Rg((i) => { + if (!ore(i, n, this.currentDirection)) return; + let s = this.getAxisMotionValue(i), + { min: l, max: c } = a[i]; + s.set((s.get() || 0) + o[i] - _o(l, c, 0.5)); + }); + } + scalePositionWithinConstraints() { + if (!this.visualElement.current) return; + let { drag: e, dragConstraints: t } = this.getProps(), + { projection: n } = this.visualElement; + if (!x6(t) || !n || !this.constraints) return; + this.stopAnimation(); + let r = this.constraints, + o = { x: 0, y: 0 }; + Rg((i) => { + let s = this.getAxisMotionValue(i).get(); + o[i] = wft({ min: s, max: s }, r[i]); + }); + let { transformTemplate: a } = this.visualElement.getProps(); + ((this.visualElement.current.style.transform = a ? a({}, "") : "none"), + n.root && n.root.updateScroll(), + n.updateLayout(), + (this.constraints = !1), + this.resolveConstraints(), + Rg((i) => { + let s = this.getAxisMotionValue(i); + if (!ore(i, e, null) || !s.get()) return; + let { min: l, max: c } = this.constraints[i]; + s.set(_o(l, c, o[i])); + }), + this.visualElement.render()); + } + addListeners() { + if (!this.visualElement.current) return; + $Bn.set(this.visualElement, this); + let e = this.visualElement.current, + t = A6(e, "pointerdown", (l) => { + let { drag: c, dragListener: u = !0 } = this.getProps(), + d = l.target, + p = d !== e && U6e(d); + if (c && u && !p) this.start(l); + }), + n, + r = () => { + let { dragConstraints: l } = this.getProps(); + if (x6(l) && l.current) { + if (((this.constraints = this.resolveRefConstraints()), !n)) + n = eOn(e, l.current, () => this.scalePositionWithinConstraints()); + } + }, + { projection: o } = this.visualElement, + a = o.addEventListener("measure", r); + if (o && !o.layout) (o.root && o.root.updateScroll(), o.updateLayout()); + Po.read(r); + let i = ex(window, "resize", () => this.scalePositionWithinConstraints()), + s = o.addEventListener( + "didUpdate", + ({ delta: l, hasLayoutChanged: c }) => { + if (this.isDragging && c) + (Rg((u) => { + let d = this.getAxisMotionValue(u); + if (!d) return; + ((this.originPoint[u] += l[u].translate), + d.set(d.get() + l[u].translate)); + }), + this.visualElement.render()); + }, + ); + return () => { + (i(), t(), a(), s && s(), n && n()); + }; + } + getProps() { + let e = this.visualElement.getProps(), + { + drag: t = !1, + dragDirectionLock: n = !1, + dragPropagation: r = !1, + dragConstraints: o = !1, + dragElastic: a = rre, + dragMomentum: i = !0, + } = e; + return { + ...e, + drag: t, + dragDirectionLock: n, + dragPropagation: r, + dragConstraints: o, + dragElastic: a, + dragMomentum: i, + }; + } +} +function Ift(e) { + let t = !0; + return () => { + if (t) { + t = !1; + return; + } + e(); + }; +} +function eOn(e, t, n) { + let r = Cne(e, Ift(n)), + o = Cne(t, Ift(n)); + return () => { + (r(), o()); + }; +} +function ore(e, t, n) { + return (t === !0 || t === e) && (n === null || n === e); +} +function tOn(e, t = 10) { + let n = null; + if (Math.abs(e.y) > t) n = "y"; + else if (Math.abs(e.x) > t) n = "x"; + return n; +} +var $Bn; +var Tft = P(() => { + ni(); + Ro(); + ere(); + NCe(); + OCe(); + _Ce(); + Eft(); + $Bn = new WeakMap(); +}); +var VCe; +var kft = P(() => { + ni(); + Ro(); + Tft(); + VCe = class VCe extends Pp { + constructor(e) { + super(e); + ((this.removeGroupControls = Lc), + (this.removeListeners = Lc), + (this.controls = new HCe(e))); + } + mount() { + let { dragControls: e } = this.node.getProps(); + if (e) this.removeGroupControls = e.subscribe(this.controls); + this.removeListeners = this.controls.addListeners() || Lc; + } + update() { + let { dragControls: e } = this.node.getProps(), + { dragControls: t } = this.node.prevProps || {}; + if (e !== t) { + if ((this.removeGroupControls(), e)) + this.removeGroupControls = e.subscribe(this.controls); + } + } + unmount() { + if ( + (this.removeGroupControls(), + this.removeListeners(), + !this.controls.isDragging) + ) + this.controls.endPanSession(); + } + }; +}); +var GCe = (e) => (t, n) => { + if (e) Po.update(() => e(t, n), !1, !0); + }, + qCe; +var Rft = P(() => { + ni(); + Ro(); + ere(); + NCe(); + _Ce(); + qCe = class qCe extends Pp { + constructor() { + super(...arguments); + this.removePointerDownListener = Lc; + } + onPointerDown(e) { + this.session = new Jz(e, this.createPanHandlers(), { + transformPagePoint: this.node.getTransformPagePoint(), + contextWindow: tre(this.node), + }); + } + createPanHandlers() { + let { + onPanSessionStart: e, + onPanStart: t, + onPan: n, + onPanEnd: r, + } = this.node.getProps(); + return { + onSessionStart: GCe(e), + onStart: GCe(t), + onMove: GCe(n), + onEnd: (o, a) => { + if ((delete this.session, r)) Po.postRender(() => r(o, a)); + }, + }; + } + mount() { + this.removePointerDownListener = A6( + this.node.current, + "pointerdown", + (e) => this.onPointerDown(e), + ); + } + update() { + this.session && this.session.updateHandlers(this.createPanHandlers()); + } + unmount() { + (this.removePointerDownListener(), this.session && this.session.end()); + } + }; +}); +function are(e) { + let [t, n] = Zz(), + r = jz.useContext(u3); + return h(Pft, { + ...e, + layoutGroup: r, + switchLayoutGroup: jz.useContext(jne), + isPresent: t, + safeToRemove: n, + }); +} +var jz, + ZCe = !1, + Pft; +var QCe = P(() => { + le(); + ni(); + Gne(); + tz(); + BCe(); + jz = z(re(), 1); + Pft = class Pft extends jz.Component { + componentDidMount() { + let { + visualElement: e, + layoutGroup: t, + switchLayoutGroup: n, + layoutId: r, + } = this.props, + { projection: o } = e; + if (o) { + if (t.group) t.group.add(o); + if (n && n.register && r) n.register(o); + if (ZCe) o.root.didUpdate(); + (o.addEventListener("animationComplete", () => { + this.safeToRemove(); + }), + o.setOptions({ + ...o.options, + layoutDependency: this.props.layoutDependency, + onExitComplete: () => this.safeToRemove(), + })); + } + qE.hasEverUpdated = !0; + } + getSnapshotBeforeUpdate(e) { + let { + layoutDependency: t, + visualElement: n, + drag: r, + isPresent: o, + } = this.props, + { projection: a } = n; + if (!a) return null; + if (((a.isPresent = o), e.layoutDependency !== t)) + a.setOptions({ ...a.options, layoutDependency: t }); + if ( + ((ZCe = !0), + r || e.layoutDependency !== t || t === void 0 || e.isPresent !== o) + ) + a.willUpdate(); + else this.safeToRemove(); + if (e.isPresent !== o) { + if (o) a.promote(); + else if (!a.relegate()) + Po.postRender(() => { + let i = a.getStack(); + if (!i || !i.members.length) this.safeToRemove(); + }); + } + return null; + } + componentDidUpdate() { + let { visualElement: e, layoutAnchor: t } = this.props, + { projection: n } = e; + if (n) + ((n.options.layoutAnchor = t), + n.root.didUpdate(), + UE.postRender(() => { + if (!n.currentAnimation && n.isLead()) this.safeToRemove(); + })); + } + componentWillUnmount() { + let { + visualElement: e, + layoutGroup: t, + switchLayoutGroup: n, + } = this.props, + { projection: r } = e; + if (((ZCe = !0), r)) { + if ((r.scheduleCheckAfterUnmount(), t && t.group)) t.group.remove(r); + if (n && n.deregister) n.deregister(r); + } + } + safeToRemove() { + let { safeToRemove: e } = this.props; + e && e(); + } + render() { + return null; + } + }; +}); +var Mft; +var Dft = P(() => { + kft(); + Rft(); + QCe(); + ni(); + Mft = { + pan: { Feature: qCe }, + drag: { Feature: VCe, ProjectionNode: qz, MeasureLayout: are }, + }; +}); +function Lft(e, t, n) { + let { props: r } = e; + if (e.animationState && r.whileHover) + e.animationState.setActive("whileHover", n === "Start"); + let o = "onHover" + n, + a = r[o]; + if (a) Po.postRender(() => a(t, WE(t))); +} +var XCe; +var Bft = P(() => { + ni(); + Kz(); + XCe = class XCe extends Pp { + mount() { + let { current: e } = this.node; + if (!e) return; + this.unmount = L6e( + e, + (t, n) => (Lft(this.node, n, "Start"), (r) => Lft(this.node, r, "End")), + ); + } + unmount() {} + }; +}); +var WCe; +var Oft = P(() => { + ni(); + Ro(); + WCe = class WCe extends Pp { + constructor() { + super(...arguments); + this.isActive = !1; + } + onFocus() { + let e = !1; + try { + e = this.node.current.matches(":focus-visible"); + } catch (t) { + e = !0; + } + if (!e || !this.node.animationState) return; + (this.node.animationState.setActive("whileFocus", !0), + (this.isActive = !0)); + } + onBlur() { + if (!this.isActive || !this.node.animationState) return; + (this.node.animationState.setActive("whileFocus", !1), + (this.isActive = !1)); + } + mount() { + this.unmount = P2( + ex(this.node.current, "focus", () => this.onFocus()), + ex(this.node.current, "blur", () => this.onBlur()), + ); + } + unmount() {} + }; +}); +function Fft(e, t, n) { + let { props: r } = e; + if (e.current instanceof HTMLButtonElement && e.current.disabled) return; + if (e.animationState && r.whileTap) + e.animationState.setActive("whileTap", n === "Start"); + let o = "onTap" + (n === "End" ? "" : n), + a = r[o]; + if (a) Po.postRender(() => a(t, WE(t))); +} +var YCe; +var Uft = P(() => { + ni(); + Kz(); + YCe = class YCe extends Pp { + mount() { + let { current: e } = this.node; + if (!e) return; + let { globalTapTarget: t, propagate: n } = this.node.props; + this.unmount = H6e( + e, + (r, o) => ( + Fft(this.node, o, "Start"), + (a, { success: i }) => Fft(this.node, a, i ? "End" : "Cancel") + ), + { useGlobalTarget: t, stopPropagation: n?.tap === !1 }, + ); + } + unmount() {} + }; +}); +function oOn({ root: e, ...t }) { + let n = e || document; + if (!KCe.has(n)) KCe.set(n, {}); + let r = KCe.get(n), + o = JSON.stringify(t); + if (!r[o]) r[o] = new IntersectionObserver(rOn, { root: e, ...t }); + return r[o]; +} +function Nft(e, t, n) { + let r = oOn(t); + return ( + JCe.set(e, n), + r.observe(e), + () => { + (JCe.delete(e), r.unobserve(e)); + } + ); +} +var JCe, + KCe, + nOn = (e) => { + let t = JCe.get(e.target); + t && t(e); + }, + rOn = (e) => { + e.forEach(nOn); + }; +var zft = P(() => { + ((JCe = new WeakMap()), (KCe = new WeakMap())); +}); +function iOn({ viewport: e = {} }, { viewport: t = {} } = {}) { + return (n) => e[n] !== t[n]; +} +var aOn, jCe; +var _ft = P(() => { + ni(); + zft(); + aOn = { some: 0, all: 1 }; + jCe = class jCe extends Pp { + constructor() { + super(...arguments); + ((this.hasEnteredView = !1), (this.isInView = !1)); + } + startObserver() { + this.stopObserver?.(); + let { viewport: e = {} } = this.node.getProps(), + { root: t, margin: n, amount: r = "some", once: o } = e, + a = { + root: t ? t.current : void 0, + rootMargin: n, + threshold: typeof r === "number" ? r : aOn[r], + }, + i = (s) => { + let { isIntersecting: l } = s; + if (this.isInView === l) return; + if (((this.isInView = l), o && !l && this.hasEnteredView)) return; + else if (l) this.hasEnteredView = !0; + if (this.node.animationState) + this.node.animationState.setActive("whileInView", l); + let { onViewportEnter: c, onViewportLeave: u } = this.node.getProps(), + d = l ? c : u; + d && d(s); + }; + this.stopObserver = Nft(this.node.current, a, i); + } + mount() { + this.startObserver(); + } + update() { + if (typeof IntersectionObserver > "u") return; + let { props: e, prevProps: t } = this.node; + if (["amount", "margin", "root"].some(iOn(e, t))) this.startObserver(); + } + unmount() { + (this.stopObserver?.(), (this.hasEnteredView = !1), (this.isInView = !1)); + } + }; +}); +var Hft; +var Vft = P(() => { + Bft(); + Oft(); + Uft(); + _ft(); + Hft = { + inView: { Feature: jCe }, + tap: { Feature: YCe }, + focus: { Feature: WCe }, + hover: { Feature: XCe }, + }; +}); +var Gft; +var qft = P(() => { + ni(); + QCe(); + Gft = { layout: { ProjectionNode: qz, MeasureLayout: are } }; +}); +var Zft; +var Qft = P(() => { + sft(); + Dft(); + Vft(); + qft(); + Zft = { ...ift, ...Hft, ...Mft, ...Gft }; +}); +var $Ce; +var Xft = P(() => { + rft(); + eft(); + Qft(); + $Ce = $pt(Zft, nft); +}); +var e5e = P(() => { + ipt(); + gpt(); + Xft(); + Gne(); + ni(); + Ro(); +}); +var Zn; +var ri = P(() => { + e5e(); + e5e(); + Zn = $Ce; +}); +function lOn(e) { + if (typeof window > "u" || !window.matchMedia) return () => {}; + let t = window.matchMedia(Kft); + return ( + t.addEventListener("change", e), + () => t.removeEventListener("change", e) + ); +} +function ns() { + return Yft.useSyncExternalStore( + lOn, + () => typeof window < "u" && !!window.matchMedia?.(Kft).matches, + () => !1, + ); +} +function Wft(e) { + if (typeof e === "string") return e; + return { ...e, transition: { type: "tween", duration: 0, delay: 0 } }; +} +function Pg(e, t) { + if (!t) return e; + return Object.fromEntries( + Object.entries(e).map(([n, r]) => [ + n, + typeof r === "function" ? (...o) => Wft(r(...o)) : Wft(r), + ]), + ); +} +var Yft, + Kft = "(prefers-reduced-motion: reduce)"; +var tx = P(() => { + Yft = z(re(), 1); +}); +var Jft, t5e; +var jft = P(() => { + ri(); + Gb(); + tx(); + le(); + ((Jft = z(re(), 1)), + (t5e = Jft.forwardRef( + ({ in: e, appear: t = !0, children: n, variants: r, ...o }, a) => { + let i = ns(), + s = { + initial: { opacity: 0 }, + animate: { + opacity: 1, + transition: { + ease: Kt.emphasizedDecelerate, + duration: mn.medium2, + }, + }, + exit: { + opacity: 0, + transition: { + ease: Kt.emphasizedAccelerate, + duration: mn.short4, + }, + }, + }, + l = h(Zn.div, { + ref: a, + variants: Pg(r ?? s, i), + initial: t && !i ? "initial" : !1, + animate: "animate", + exit: "exit", + style: { willChange: "opacity" }, + ...o, + children: n, + }); + if (e !== void 0) return h(Do, { children: e ? l : null }); + return l; + }, + ))); + t5e.displayName = "M3Fade"; +}); +var $ft, cOn; +var emt = P(() => { + ri(); + Gb(); + tx(); + le(); + (($ft = z(re(), 1)), + (cOn = $ft.forwardRef( + ( + { + in: e, + axis: t = "x", + forward: n = !0, + appear: r = !0, + transition: o, + variants: a, + children: i, + ...s + }, + l, + ) => { + let c = ns(), + u = 30, + d = 0.08, + p = { + initial: { + opacity: 0, + x: t === "x" ? (n ? 30 : -30) : 0, + y: t === "y" ? (n ? 30 : -30) : 0, + scale: t === "z" ? (n ? 0.92 : 1.08) : 1, + }, + animate: { + opacity: 1, + x: 0, + y: 0, + scale: 1, + transition: o || { + x: { ease: Kt.emphasizedDecelerate, duration: mn.medium2 }, + y: { ease: Kt.emphasizedDecelerate, duration: mn.medium2 }, + scale: { ease: Kt.emphasizedDecelerate, duration: mn.medium2 }, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + exit: { + opacity: 0, + x: t === "x" ? (n ? -30 : 30) : 0, + y: t === "y" ? (n ? -30 : 30) : 0, + scale: t === "z" ? (n ? 1.08 : 0.92) : 1, + transition: o || { + x: { ease: Kt.emphasizedAccelerate, duration: mn.short4 }, + y: { ease: Kt.emphasizedAccelerate, duration: mn.short4 }, + scale: { ease: Kt.emphasizedAccelerate, duration: mn.short4 }, + opacity: { ease: Kt.standard, duration: mn.short4 }, + }, + }, + }, + f = Pg(a ?? p, c), + m = h(Zn.div, { + ref: l, + variants: f, + initial: r && !c ? "initial" : !1, + animate: "animate", + exit: "exit", + style: { willChange: "opacity, transform" }, + ...s, + children: i, + }); + if (e !== void 0) + return h(Do, { mode: "wait", children: e ? m : null }); + return m; + }, + ))); + cOn.displayName = "M3SharedAxis"; +}); +var uOn = ({ stateKey: e, transition: t, variants: n, children: r, ...o }) => { + let a = ns(), + i = { + initial: { opacity: 0, scale: 0.92 }, + animate: { + opacity: 1, + scale: 1, + transition: t || { + opacity: { ease: Kt.emphasizedDecelerate, duration: 0.21 }, + scale: { ease: Kt.emphasizedDecelerate, duration: 0.21 }, + }, + }, + exit: { + opacity: 0, + transition: t || { + opacity: { ease: Kt.emphasizedAccelerate, duration: 0.09 }, + }, + }, + }, + s = Pg(n ?? i, a); + return h(Do, { + mode: "wait", + children: h( + Zn.div, + { + variants: s, + initial: a ? !1 : "initial", + animate: "animate", + exit: "exit", + style: { willChange: "opacity, transform" }, + ...o, + children: r, + }, + e, + ), + }); +}; +var tmt = P(() => { + ri(); + Gb(); + tx(); + le(); + uOn.displayName = "M3FadeThrough"; +}); +var nmt, n5e; +var rmt = P(() => { + ri(); + Gb(); + tx(); + le(); + ((nmt = z(re(), 1)), + (n5e = nmt.forwardRef( + ({ in: e, appear: t = !1, children: n, variants: r, ...o }, a) => { + let i = ns(), + s = { + initial: { height: 0, opacity: 0 }, + animate: { + height: "auto", + opacity: 1, + transition: { + height: { ease: Kt.emphasized, duration: mn.medium4 }, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + exit: { + height: 0, + opacity: 0, + transition: { + height: { ease: Kt.emphasized, duration: mn.medium4 }, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + }, + l = h(Zn.div, { + ref: a, + variants: Pg(r ?? s, i), + initial: t && !i ? "initial" : !1, + animate: "animate", + exit: "exit", + style: { overflow: "hidden", willChange: "height, opacity" }, + ...o, + children: n, + }); + if (e !== void 0) return h(Do, { initial: t, children: e ? l : null }); + return l; + }, + ))); + n5e.displayName = "M3Collapse"; +}); +function dOn(e, t) { + if (t === "fast") + return e + ? { delay: 0.05, duration: 0.15, ease: Kt.emphasizedDecelerate } + : { duration: 0.08, ease: Kt.emphasizedAccelerate }; + if (t === "slow") + return e + ? { delay: 0.2, duration: 0.6, ease: Kt.emphasizedDecelerate } + : { duration: 0.25, ease: Kt.emphasizedAccelerate }; + return e + ? { delay: 0.1, duration: 0.35, ease: Kt.emphasizedDecelerate } + : { duration: 0.15, ease: Kt.emphasizedAccelerate }; +} +var O2, omt, r5e, amt, o5e, a5e; +var imt = P(() => { + ri(); + e4e(); + Gb(); + tx(); + le(); + ((O2 = z(re(), 1)), (omt = O2.createContext(null))); + r5e = O2.forwardRef( + ( + { + layoutId: e, + speed: t = "default", + isExpanded: n = !1, + children: r, + transition: o, + style: a, + ...i + }, + s, + ) => { + let l = ns(), + c = Gst[t].spatial, + u = O2.useMemo(() => ({ isExpanded: n, speed: t }), [n, t]); + return h(omt.Provider, { + value: u, + children: h(Zn.div, { + ref: s, + layoutId: l ? void 0 : e, + layout: !l, + transition: l ? { type: "tween", duration: 0, delay: 0 } : o || c, + style: { + position: "relative", + willChange: "transform, border-radius", + overflow: "hidden", + ...a, + }, + ...i, + children: r, + }), + }); + }, + ); + r5e.displayName = "M3ContainerTransform"; + ((amt = O2.forwardRef( + ( + { + layer: e, + active: t, + children: n, + style: r, + transition: o, + layout: a = "position", + ...i + }, + s, + ) => { + let l = ns(), + c = O2.useContext(omt), + u = t ?? (c ? c.isExpanded === (e === "end") : !0), + d = c?.speed ?? "default", + p = { + width: "100%", + height: "100%", + boxSizing: "border-box", + pointerEvents: u ? "auto" : "none", + ...(!u && { position: "absolute", top: 0, left: 0 }), + ...r, + }; + return h(Zn.div, { + ref: s, + layout: l ? !1 : a, + ...(e === "end" ? { initial: l ? !1 : { opacity: 0 } } : {}), + animate: { opacity: u ? 1 : 0 }, + transition: l + ? { type: "tween", duration: 0, delay: 0 } + : o || dOn(u, d), + style: p, + ...i, + inert: !u || i.inert, + "aria-hidden": !u || i["aria-hidden"], + children: n, + }); + }, + )), + (o5e = O2.forwardRef((e, t) => h(amt, { layer: "start", ref: t, ...e })))); + o5e.displayName = "M3ContainerTransformStart"; + a5e = O2.forwardRef((e, t) => h(amt, { layer: "end", ref: t, ...e })); + a5e.displayName = "M3ContainerTransformEnd"; +}); +function pOn(e, t) { + let n = { ease: Kt.emphasizedDecelerate, duration: mn.medium2 }, + r = { ease: Kt.emphasizedAccelerate, duration: mn.short4 }; + switch (e) { + case "fade-through": + return { + initial: { opacity: 0, scale: 0.92 }, + animate: { + opacity: 1, + scale: 1, + transition: { + opacity: { ease: Kt.emphasizedDecelerate, duration: 0.21 }, + scale: { ease: Kt.emphasizedDecelerate, duration: 0.21 }, + }, + }, + exit: { + opacity: 0, + transition: { + opacity: { ease: Kt.emphasizedAccelerate, duration: 0.09 }, + }, + }, + }; + case "shared-axis-x": + return { + initial: { opacity: 0, x: t ? w6 : -w6 }, + animate: { + opacity: 1, + x: 0, + transition: { + x: n, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + exit: { + opacity: 0, + x: t ? -w6 : w6, + transition: { + x: r, + opacity: { ease: Kt.standard, duration: mn.short4 }, + }, + }, + }; + case "shared-axis-y": + return { + initial: { opacity: 0, y: t ? w6 : -w6 }, + animate: { + opacity: 1, + y: 0, + transition: { + y: n, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + exit: { + opacity: 0, + y: t ? -w6 : w6, + transition: { + y: r, + opacity: { ease: Kt.standard, duration: mn.short4 }, + }, + }, + }; + case "shared-axis-z": + return { + initial: { opacity: 0, scale: t ? 1 - ire : 1 + ire }, + animate: { + opacity: 1, + scale: 1, + transition: { + scale: n, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + exit: { + opacity: 0, + scale: t ? 1 + ire : 1 - ire, + transition: { + scale: r, + opacity: { ease: Kt.standard, duration: mn.short4 }, + }, + }, + }; + case "collapse": + return { + initial: { height: 0, opacity: 0 }, + animate: { + height: "auto", + opacity: 1, + transition: { + height: { ease: Kt.emphasized, duration: mn.medium4 }, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + exit: { + height: 0, + opacity: 0, + transition: { + height: { ease: Kt.emphasized, duration: mn.medium4 }, + opacity: { ease: Kt.standard, duration: mn.medium2 }, + }, + }, + }; + case "fade": + default: + return { + initial: { opacity: 0 }, + animate: { opacity: 1, transition: n }, + exit: { opacity: 0, transition: r }, + }; + } +} +var smt, + w6 = 30, + ire = 0.08, + i5e; +var lmt = P(() => { + ri(); + Gb(); + tx(); + le(); + smt = z(re(), 1); + i5e = smt.forwardRef( + ( + { + stateKey: e, + pattern: t = "fade", + forward: n = !0, + mode: r = "wait", + variants: o, + children: a, + style: i, + ...s + }, + l, + ) => { + let c = ns(), + u = Pg(o ?? pOn(t, n), c), + p = { + ...(t === "collapse" + ? { overflow: "hidden" } + : { willChange: "opacity, transform" }), + ...i, + }; + return h(Do, { + mode: r, + children: h( + Zn.div, + { + ref: l, + variants: u, + initial: c ? !1 : "initial", + animate: "animate", + exit: "exit", + style: p, + ...s, + children: a, + }, + e, + ), + }); + }, + ); + i5e.displayName = "M3Transition"; +}); +var s5e, fOn, mOn, l5e, c5e; +var cmt = P(() => { + ri(); + Gb(); + tx(); + le(); + ((s5e = z(re(), 1)), + (fOn = { + hidden: {}, + visible: (e) => ({ + transition: { + staggerChildren: e.staggerDelay, + delayChildren: e.delayChildren, + }, + }), + exit: {}, + }), + (mOn = { + hidden: { opacity: 0, y: 8 }, + visible: { + opacity: 1, + y: 0, + transition: { ease: Kt.emphasizedDecelerate, duration: mn.medium2 }, + }, + exit: { + opacity: 0, + y: 4, + transition: { ease: Kt.emphasizedAccelerate, duration: mn.short3 }, + }, + }), + (l5e = s5e.forwardRef( + ( + { + staggerDelay: e = 0.05, + delayChildren: t = 0, + appear: n = !0, + children: r, + className: o, + style: a, + }, + i, + ) => { + let s = ns(); + return h(Zn.div, { + ref: i, + className: o, + style: a, + variants: Pg(fOn, s), + initial: n && !s ? "hidden" : !1, + animate: "visible", + exit: "exit", + custom: { staggerDelay: e, delayChildren: t }, + children: h(Do, { initial: n && !s, children: r }), + }); + }, + ))); + l5e.displayName = "M3ListStagger"; + c5e = s5e.forwardRef(({ children: e, style: t, ...n }, r) => { + let o = CCe(), + a = ns(); + return h(Zn.div, { + ref: r, + variants: Pg(mOn, a), + style: { willChange: "opacity, transform", ...t }, + ...n, + inert: !o || n.inert, + "aria-hidden": !o || n["aria-hidden"], + children: e, + }); + }); + c5e.displayName = "M3ListStaggerItem"; +}); +var umt = P(() => { + Gb(); + tx(); +}); +var rs = P(() => { + tx(); + e4e(); + Gb(); + jft(); + emt(); + tmt(); + rmt(); + imt(); + lmt(); + cmt(); + umt(); +}); +function fmt(e) { + let t = ns(); + return h("svg", { + role: "progressbar", + "aria-label": "Loading", + viewBox: "0 0 48 48", + fill: "none", + className: Ve("size-7", e.color === void 0 && "text-primary", e.className), + children: M("g", { + children: [ + h("circle", { + cx: 24, + cy: 24, + r: pmt, + stroke: e.color ?? "currentColor", + strokeWidth: 4, + strokeLinecap: "round", + strokeDasharray: `${t ? S6 * 0.5 : 1} ${S6}`, + transform: "rotate(-90 24 24)", + children: + !t && + M(Ht, { + children: [ + h("animate", { + attributeName: "stroke-dasharray", + dur: dmt, + repeatCount: "indefinite", + calcMode: "spline", + keyTimes: "0;0.5;1", + keySplines: `${sre};${sre}`, + values: `1 ${S6};${S6 * 0.75} ${S6};1 ${S6}`, + }), + h("animate", { + attributeName: "stroke-dashoffset", + dur: dmt, + repeatCount: "indefinite", + calcMode: "spline", + keyTimes: "0;0.5;1", + keySplines: `${sre};${sre}`, + values: `0;${-S6 * 0.25};${-S6}`, + }), + ], + }), + }), + !t && + h("animateTransform", { + attributeName: "transform", + type: "rotate", + from: "0 24 24", + to: "360 24 24", + dur: hOn, + repeatCount: "indefinite", + }), + ], + }), + }); +} +var pmt = 20, + S6, + dmt = "1.333s", + hOn = "1.568s", + sre = "0.2 0 0 1"; +var mmt = P(() => { + rn(); + rs(); + le(); + S6 = 2 * Math.PI * pmt; +}); +function yOn(e, t) { + let n = YE(t), + { _formValues: r, _defaultValues: o } = e; + for (let a = 0; a < n.length - 1; a++) { + let i = n[a]; + if ( + ((r = r == null ? r : r[i]), + (o = o == null ? o : o[i]), + r === null || o === null) + ) + return null; + } + return; +} +function Ms(e) { + if (e === null || typeof e !== "object") return e; + if (e instanceof Date) return new Date(e); + let t = typeof Blob < "u" && e instanceof Blob, + n = typeof FileList < "u" && e instanceof FileList; + if (fre && (t || n)) return e; + let r = Array.isArray(e); + if (!r && e.constructor !== Object) return e; + let o = r ? [] : Object.create(Object.getPrototypeOf(e)); + for (let a in e) + if (Object.prototype.hasOwnProperty.call(e, a)) o[a] = Ms(e[a]); + return o; +} +function p0(e, t, n = new WeakMap()) { + if (e === t) return !0; + if (f5e(e) || f5e(t)) return Object.is(e, t); + if (I6(e) && I6(t)) return Object.is(e.getTime(), t.getTime()); + let r = Object.keys(e), + o = Object.keys(t); + if (r.length !== o.length) return !1; + if (hmt(e, r) || hmt(t, o)) return Object.is(e, t); + if (!r.length && Array.isArray(e) !== Array.isArray(t)) return !1; + let a = n.get(e); + if (a && a.has(t)) return !0; + if (a) a.add(t); + else { + let i = new WeakSet(); + (i.add(t), n.set(e, i)); + } + for (let i of r) { + let s = e[i]; + if (!(i in t)) return !1; + if (i !== "ref") { + let l = t[i]; + if ( + (I6(s) && I6(l)) || + ((Hl(s) || Array.isArray(s)) && (Hl(l) || Array.isArray(l))) + ? !p0(s, l, n) + : !Object.is(s, l) + ) + return !1; + } + } + return !0; +} +function S5e(e) { + let t = Ir.default.useRef(!1), + n = Ir.default.useRef(!1), + r = Ir.default.useRef(void 0), + o = Ir.default.useRef(0); + if ((o.current++, !n.current && e)) ((n.current = !0), (r.current = Ms(e()))); + let a = Ir.default.useCallback((s, l, c) => { + if (s && (t.current || (n.current && o.current > 1))) { + let u = l(); + if (!p0(r.current, u)) c(u); + } + t.current = !0; + }, []), + i = Ir.default.useCallback((s, l) => { + if (s) r.current = Ms(l()); + }, []); + return { resyncIfNeeded: a, snapshot: i }; +} +function AOn(e) { + let t = A5e(), + { control: n = t, disabled: r, name: o, exact: a } = e || {}, + i = () => ({ ...n._formState, defaultValues: n._defaultValues }), + [s, l] = Ir.default.useState(i), + c = Ir.default.useRef({ + isDirty: !1, + isLoading: !1, + dirtyFields: !1, + touchedFields: !1, + validatingFields: !1, + isValidating: !1, + isValid: !1, + errors: !1, + }), + { resyncIfNeeded: u, snapshot: d } = S5e(i); + return ( + w5e(() => { + u(!r, i, l); + let p = n._subscribe({ + name: o, + formState: c.current, + exact: a, + callback: (f) => { + !r && l({ ...n._formState, ...f, defaultValues: n._defaultValues }); + }, + }); + return () => { + (p(), d(!r, i)); + }; + }, [n, o, r, a, u, d]), + Ir.default.useEffect(() => { + c.current.isValid && n._setValid(!0); + }, [n]), + Ir.default.useMemo(() => Pmt(s, n, c.current, !1), [s, n]) + ); +} +function C5e(e) { + let t = A5e(), + { + control: n = t, + name: r, + defaultValue: o, + disabled: a, + exact: i, + compute: s, + } = e || {}, + l = Ir.default.useRef(o), + c = Ir.default.useRef(s), + u = Ir.default.useRef(n), + d = Ir.default.useRef(r); + c.current = s; + let p = () => { + let k = n._getWatch(r, l.current); + return c.current ? c.current(k) : k; + }, + [f, m] = Ir.default.useState(p), + g = Ir.default.useRef(f), + v = Ir.default.useCallback( + (k) => { + let L = m5e(r, n._names, k || n._formValues, !1, l.current); + return c.current ? c.current(L) : L; + }, + [n._formValues, n._names, r], + ), + y = Ir.default.useCallback( + (k) => { + if (!a) { + let L = m5e(r, n._names, k || n._formValues, !1, l.current); + if (c.current) { + let O = c.current(L); + if (!p0(O, g.current)) (m(O), (g.current = O)); + } else m(L); + } + }, + [n._formValues, n._names, a, r], + ), + { resyncIfNeeded: x, snapshot: A } = S5e(p), + w = Ir.default.useRef(y); + w.current = y; + let C = Ir.default.useRef(v); + ((C.current = v), + w5e(() => { + if (u.current !== n || !p0(d.current, r)) + ((u.current = n), (d.current = r), w.current()); + else + x( + !a, + () => C.current(), + (L) => { + (m(L), (g.current = L)); + }, + ); + let k = n._subscribe({ + name: r, + formState: { values: !0 }, + exact: i, + callback: (L) => { + w.current(L.values); + }, + }); + return () => { + (k(), A(!a, () => C.current())); + }; + }, [n, i, r, a, x, A]), + Ir.default.useEffect(() => n._removeUnmounted())); + let E = u.current !== n, + T = d.current; + return Ir.default.useMemo(() => { + if (a) return !1; + let k = !E && !p0(T, r); + return E || k; + }, [a, E, r, T]) + ? v() + : f; +} +function wOn(e) { + let t = A5e(), + { + name: n, + disabled: r, + control: o = t, + shouldUnregister: a, + defaultValue: i, + exact: s = !0, + } = e, + l = kmt(o._names.array, n), + c = Ir.default.useMemo(() => { + let w = vn(o._formValues, n, vn(o._defaultValues, n, i)); + return hi(w) ? yOn(o, n) : w; + }, [o, n, i]), + u = C5e({ control: o, name: n, defaultValue: c, exact: s }), + d = AOn({ control: o, name: n, exact: s }), + p = Ir.default.useRef(e), + f = Ir.default.useRef(null), + m = Ir.default.useRef( + o.register(n, { + ...e.rules, + value: u, + ...(d0(e.disabled) ? { disabled: e.disabled } : {}), + }), + ); + p.current = e; + let g = Ir.default.useMemo( + () => + Object.defineProperties( + {}, + { + invalid: { enumerable: !0, get: () => !!vn(d.errors, n) }, + isDirty: { enumerable: !0, get: () => !!vn(d.dirtyFields, n) }, + isTouched: { enumerable: !0, get: () => !!vn(d.touchedFields, n) }, + isValidating: { + enumerable: !0, + get: () => !!vn(d.validatingFields, n), + }, + error: { enumerable: !0, get: () => vn(d.errors, n) }, + }, + ), + [d, n], + ), + v = Ir.default.useCallback( + (w) => { + let C = p5e(w); + if (!vn(o._fields, n)) + m.current = o.register(n, { ...p.current.rules, value: C }); + return m.current.onChange({ + target: { value: p5e(w), name: n }, + type: E6.CHANGE, + }); + }, + [n, o], + ), + y = Ir.default.useCallback( + () => + m.current.onBlur({ + target: { value: vn(o._formValues, n), name: n }, + type: E6.BLUR, + }), + [n, o._formValues], + ), + x = Ir.default.useCallback( + (w) => { + if (w) + f.current = { + focus: () => Tf(w.focus) && w.focus(), + select: () => Tf(w.select) && w.select(), + setCustomValidity: (E) => + Tf(w.setCustomValidity) && w.setCustomValidity(E), + reportValidity: () => Tf(w.reportValidity) && w.reportValidity(), + }; + let C = vn(o._fields, n); + if (C && C._f && w) ((C._f.ref = f.current), (C._f._c = !0)); + }, + [o._fields, n], + ), + A = Ir.default.useMemo( + () => ({ + name: n, + value: u, + ...(d0(r) || d.disabled ? { disabled: d.disabled || r } : {}), + onChange: v, + onBlur: y, + ref: x, + }), + [n, r, d.disabled, v, y, x, u], + ); + return ( + Ir.default.useEffect(() => { + let w = o._options.shouldUnregister || a; + m.current = o.register(n, { + ...p.current.rules, + ...(d0(p.current.disabled) ? { disabled: p.current.disabled } : {}), + }); + let C = (E, T) => { + let I = vn(o._fields, E); + if (I && I._f) ((I._f.mount = T), (I._f._c = T)); + }; + if ((C(n, !0), w)) { + let E = Ms( + vn( + a ? o._defaultValues : o._options.values || o._defaultValues, + n, + vn(o._options.defaultValues, n, p.current.defaultValue), + ), + ); + if ((Xi(o._defaultValues, n, E), hi(vn(o._formValues, n)))) + Xi(o._formValues, n, E); + } + if ( + (!l && + o.register(n, { + ...p.current.rules, + ...(d0(p.current.disabled) ? { disabled: p.current.disabled } : {}), + }), + f.current) + ) { + let E = vn(o._fields, n); + if (E && E._f) E._f.ref = f.current; + } + return () => { + (l ? w && !o._state.action : w) ? o.unregister(n) : C(n, !1); + }; + }, [n, o, l, a]), + Ir.default.useEffect(() => { + o._setDisabledField({ disabled: r, name: n }); + }, [r, n, o]), + Ir.default.useMemo( + () => ({ field: A, formState: d, fieldState: g }), + [A, d, g], + ) + ); +} +function xmt(e, t, n = "validate") { + if (Lp(e) || (Array.isArray(e) && e.every(Lp)) || (d0(e) && !e)) + return { type: n, message: Lp(e) ? e : "", ref: t }; +} +function COn(e, t) { + let n = t.length - 1, + r = 0; + while (r < n) { + if (Dp(e)) { + e = void 0; + break; + } + ((e = e[t[r]]), r++); + } + return e; +} +function EOn(e) { + for (let t in e) if (e.hasOwnProperty(t) && !hi(e[t])) return !1; + return !0; +} +function cc(e, t) { + if (Lp(t) && Object.prototype.hasOwnProperty.call(e, t)) + return (delete e[t], e); + let n = Array.isArray(t) ? t : z9(t) ? [t] : YE(t); + if (n.some((i) => b5e.includes(String(i)))) return e; + let r = n.length === 1 ? e : COn(e, n), + o = n.length - 1, + a = n[o]; + if (r) delete r[a]; + if (o !== 0 && ((Hl(r) && Oc(r)) || (Array.isArray(r) && EOn(r)))) + cc(e, n.slice(0, -1)); + return e; +} +function Omt(e, t) { + let n = Array.isArray(e) ? [] : {}; + for (let r in e) + if (e.hasOwnProperty(r)) { + let o = e[r], + a = t[r]; + if (o && (Hl(o) || Array.isArray(o)) && a) n[r] = Omt(o, a); + else if (e[r]) n[r] = a; + } + return n; +} +function Cmt(e) { + return Array.isArray(e) || Hl(e); +} +function Umt(e, t, n = "", r = []) { + for (let o in e) { + let a = n ? `${n}.${o}` : o, + i = e[o]; + if (Cmt(i) && Cmt(vn(t, a))) Umt(i, t, a, r); + else r.push(a); + } + return r; +} +function Nmt(e) { + return Array.isArray(e) || (Hl(e) && !kOn(e)); +} +function zmt(e) { + return !!(e && "_f" in e); +} +function _mt(e) { + return Array.isArray(e) ? !e.some((t) => !hi(t)) : !Object.keys(e).length; +} +function h5e(e, t) { + if (Array.isArray(e)) e[t] = void 0; + else delete e[t]; +} +function g5e(e, t = {}, n) { + for (let r in e) { + let o = e[r], + a = n && n[r]; + if (Nmt(o) && (!Array.isArray(o) || !zmt(a))) { + if (((t[r] = Array.isArray(o) ? [] : {}), g5e(o, t[r], a), _mt(t[r]))) + h5e(t, r); + } else if (!hi(o)) t[r] = !0; + } + return t; +} +function C6(e, t, n, r) { + if (!n) n = g5e(t, {}, r); + for (let o in e) { + let a = e[o], + i = r && r[o]; + if (Nmt(a) && (!Array.isArray(a) || !zmt(i))) { + if (hi(t) || f5e(n[o])) n[o] = g5e(a, Array.isArray(a) ? [] : {}, i); + else C6(a, Dp(t) ? {} : t[o], n[o], i); + if (_mt(n[o])) h5e(n, o); + } else if (p0(a, t[o])) h5e(n, o); + else n[o] = !0; + } + return n; +} +function Emt(e) { + let t = e.ref; + if (pre(t)) return t.files; + if (E5e(t)) return Lmt(e.refs).value; + if (Fmt(t)) return [...t.selectedOptions].map(({ value: n }) => n); + if (n_(t)) return Dmt(e.refs).value; + return y5e(t.value, e); +} +function Tmt(e, t, n) { + let r = vn(e, n); + if ( + (r === null || r === void 0 ? void 0 : r.type) || + (r === null || r === void 0 ? void 0 : r.message) || + Array.isArray(r) + ) + return { error: r, name: n }; + let o = n.split("."); + while (o.length) { + let a = o.join("."), + i = vn(t, a), + s = vn(e, a); + if (i && !Array.isArray(i) && n !== a) return { name: n }; + if (s && s.type) return { name: a, error: s }; + if (s && s.root && s.root.type) return { name: `${a}.root`, error: s.root }; + o.pop(); + } + return { name: n }; +} +function zOn(e = {}) { + let t = { ...UOn, ...e }, + n = { + ...Ms(Hmt), + isLoading: Tf(t.defaultValues), + errors: t.errors || {}, + disabled: t.disabled || !1, + }, + r = {}, + o = + Hl(t.defaultValues) || Hl(t.values) + ? Ms(t.defaultValues || t.values) || {} + : {}, + a = t.shouldUnregister ? {} : Ms(o), + i = { + action: !1, + actionArrayLengths: new Map(), + mount: !1, + watch: !1, + keepIsValid: !1, + }, + s = { + mount: new Set(), + disabled: new Set(), + unMount: new Set(), + array: new Set(), + watch: new Set(), + registerName: new Set(), + }, + l = {}, + c = {}, + u = 0, + d = lre(t.mode), + p = lre(t.reValidateMode), + f = { + isDirty: !1, + dirtyFields: !1, + validatingFields: !1, + touchedFields: !1, + isValidating: !1, + isValid: !1, + errors: !1, + }, + m = { ...f }, + g = { ...m }, + v = (...de) => de.some((ge) => m[ge] || g[ge]), + y = { array: wmt(), state: wmt() }, + x = 0, + A = 0, + w = t.criteriaMode === iy.all, + C = (de, ge) => (Oe) => { + (clearTimeout(c[de]), (c[de] = setTimeout(ge, Oe))); + }, + E = (de) => { + (clearTimeout(c[de]), delete c[de], delete l[de]); + }, + T = (de) => { + E(de); + let ge = `${de}.`; + for (let Oe of Object.keys(l)) Oe.startsWith(ge) && E(Oe); + }, + I = async (de) => { + if (i.keepIsValid) return; + if (!t.disabled && (v("isValid") || de)) { + let ge = ++x, + Oe; + if (t.resolver) ((Oe = Oc((await q()).errors)), ge === x && k()); + else + Oe = await ie({ fields: r, onlyCheckValid: !0, eventType: E6.VALID }); + if (ge === x && Oe !== n.isValid) y.state.next({ isValid: Oe }); + } + }, + k = (de, ge) => { + if (!t.disabled && v("isValidating", "validatingFields")) + ((de || s.mount).forEach((Oe) => { + if (Oe) + ge ? Xi(n.validatingFields, Oe, ge) : cc(n.validatingFields, Oe); + }), + y.state.next({ + validatingFields: n.validatingFields, + isValidating: !Oc(n.validatingFields), + })); + }, + L = () => { + n.dirtyFields = C6(o, a, void 0, r); + }, + O = (de, ge = [], Oe, Xe, $e = !0, Ie = !0) => { + if (Xe && Oe && !t.disabled) { + i.action = !0; + let Ge = vn(r, de); + if (!i.actionArrayLengths.has(de)) + i.actionArrayLengths.set(de, Array.isArray(Ge) ? Ge.length : 0); + if (Ie && Array.isArray(Ge)) { + let At = Oe(Ge, Xe.argA, Xe.argB); + $e && Xi(r, de, At); + } + let _e = vn(n.errors, de); + if (Ie && Array.isArray(_e)) { + let At = _e.root, + en = Oe(_e, Xe.argA, Xe.argB) || _e; + if (At) en.root = At; + ($e && Xi(n.errors, de, en), FOn(n.errors, de)); + } + let nt = vn(n.touchedFields, de), + rt = Ie && Array.isArray(nt); + if (rt) { + let At = Oe(nt, Xe.argA, Xe.argB); + $e && Xi(n.touchedFields, de, At); + } + let ot = vn(n.dirtyFields, de); + if (Ie && Array.isArray(ot)) { + let At = Oe(ot, Xe.argA, Xe.argB) || ot; + $e && Xi(n.dirtyFields, de, At); + } + if (v("dirtyFields")) L(); + y.state.next({ + name: de, + isDirty: oe(de, ge), + dirtyFields: n.dirtyFields, + ...(rt && { touchedFields: n.touchedFields }), + errors: n.errors, + isValid: n.isValid, + }); + } else Xi(a, de, ge); + }, + B = (de, ge) => { + (Xi(n.errors, de, ge), + (n.errors = { ...n.errors }), + y.state.next({ errors: n.errors })); + }, + U = (de) => { + Object.keys(l).forEach(E); + let ge = !Oc(de); + ((n.errors = de), + y.state.next({ errors: n.errors, ...(ge ? { isValid: !1 } : {}) }), + !ge && i.mount && I()); + }, + D = (de) => { + let ge = z9(de) ? [de] : YE(de), + Oe = a, + Xe = o; + for (let $e = 0; $e < ge.length - 1; $e++) { + let Ie = ge[$e]; + if ( + ((Oe = Dp(Oe) ? Oe : Oe[Ie]), + (Xe = Dp(Xe) ? Xe : Xe[Ie]), + Oe === null && Xe !== null) + ) + return !0; + } + return !1; + }, + N = (de) => { + if (!i.actionArrayLengths.size) return !1; + let ge = z9(de) ? [de] : YE(de), + Oe = a, + Xe = "", + $e = -1, + Ie = 0; + for (let Ge = 0; Ge < ge.length; Ge++) { + if (Dp(Oe)) return !1; + let _e = ge[Ge]; + if ( + ((Xe = Xe ? `${Xe}.${_e}` : _e), + Array.isArray(Oe) && +_e >= Oe.length) + ) + return $e === -1 ? !1 : Ge === $e ? +_e < Ie : !0; + if (i.actionArrayLengths.has(Xe)) + (($e = Ge + 1), (Ie = i.actionArrayLengths.get(Xe))); + if (((Oe = Oe[_e]), hi(Oe) && $e !== -1 && Ge > $e && +ge[$e] < Ie)) + return !0; + } + return !1; + }, + _ = (de, ge, Oe, Xe) => { + let $e = vn(r, de); + if ($e) { + if (D(de) || N(de)) return; + let Ie = hi(vn(a, de)), + Ge = vn(a, de, hi(Oe) ? vn(o, de) : Oe); + if ( + (hi(Ge) || (Xe && Xe.defaultChecked) || ge + ? Xi(a, de, ge ? Ge : Emt($e._f)) + : ae(de, Ge), + i.mount && !i.action) + ) { + if (t.resolver && v("isValidating", "validatingFields")) + Promise.resolve().then(() => I()); + else I(); + if (Ie && n.isDirty && v("isDirty")) { + if (!oe()) ((n.isDirty = !1), y.state.next({ ...n })); + } + if (e.shouldUnregister && Ie && !hi(vn(a, de)) && u5e(de, s)) + i.watch = !0; + } + } + }, + G = (de, ge, Oe, Xe, $e) => { + let Ie = !1, + Ge = !1, + _e = { name: de }; + if (!t.disabled || Xe === !0) { + if (!Oe || Xe) { + let nt = p0(vn(o, de), ge); + if (v("isDirty")) + ((Ge = n.isDirty), + (n.isDirty = _e.isDirty = !nt || oe()), + (Ie = Ge !== _e.isDirty)); + if (((Ge = !!vn(n.dirtyFields, de)), nt !== n.isDirty)) + NOn(n.dirtyFields, C6(o, a, void 0, r)); + else nt ? cc(n.dirtyFields, de) : Xi(n.dirtyFields, de, !0); + ((_e.dirtyFields = n.dirtyFields), + (Ie = Ie || (v("dirtyFields") && Ge !== !nt))); + } + if (Oe) { + let nt = vn(n.touchedFields, de); + if (!nt) + (Xi(n.touchedFields, de, Oe), + (_e.touchedFields = n.touchedFields), + (Ie = Ie || (v("touchedFields") && nt !== Oe))); + } + Ie && $e && y.state.next(_e); + } + return Ie ? _e : {}; + }, + Z = (de, ge, Oe, Xe) => { + let $e = vn(n.errors, de), + Ie = v("isValid") && d0(ge) && n.isValid !== ge; + if (t.delayError && Oe) + ((l[de] = C(de, () => B(de, Oe))), l[de](t.delayError)); + else + (E(de), + Oe ? Xi(n.errors, de, Oe) : cc(n.errors, de), + (n.errors = { ...n.errors })); + if ((Oe ? !p0($e, Oe) : $e) || !Oc(Xe) || Ie) { + let Ge = { + ...Xe, + ...(Ie && d0(ge) ? { isValid: ge } : {}), + errors: n.errors, + name: de, + }; + y.state.next(Ge); + } + }, + q = async (de) => ( + k(de, !0), + await t.resolver( + a, + t.context, + POn(de || s.mount, r, t.criteriaMode, t.shouldUseNativeValidation), + ) + ), + H = async (de) => { + let ge = A, + { errors: Oe } = await q(de); + if (ge !== A) return Oe; + if ((k(de), de)) { + for (let Xe of de) { + let $e = vn(Oe, Xe); + T(Xe); + let Ie = + s.array.has(Xe) && + Hl($e) && + !Object.keys($e).some((nt) => !Number.isNaN(Number(nt))), + Ge = vn(r, Xe), + _e = Hl(Ge) && Object.keys(Ge).some((nt) => nt !== "_f"); + Ie + ? gmt(n.errors, { [Xe]: $e }, Xe) + : ($e === null || $e === void 0 ? void 0 : $e.type) || + ($e === null || $e === void 0 ? void 0 : $e.message) || + Array.isArray($e) || + (Hl($e) && _e) + ? Xi(n.errors, Xe, $e) + : cc(n.errors, Xe); + } + n.errors = { ...n.errors }; + } else (Object.keys(l).forEach(E), (n.errors = Oe)); + return Oe; + }, + te = async ({ name: de, eventType: ge }) => { + if (t.validate) { + let Oe = A, + Xe = await t.validate({ + formValues: a, + formState: n, + name: de, + eventType: ge, + }); + if (Oe !== A) return !0; + if (Hl(Xe)) { + let $e = !0; + ye(e_); + for (let Ie in Xe) { + let Ge = Xe[Ie]; + if (Ge) + (($e = !1), + ce(`${e_}.${Ie}`, { + message: Lp(Ge.message) ? Ge.message : "", + type: Ge.type || Mp.validate, + })); + } + return $e; + } else if (Lp(Xe) || !Xe) + return (ce(e_, { message: Xe || "", type: Mp.validate }), !1); + else return (ye(e_), !0); + } + return !0; + }, + ie = async ({ + fields: de, + onlyCheckValid: ge, + name: Oe, + eventType: Xe, + context: $e = { valid: !0, runRootValidation: !1 }, + }) => { + let Ie = A; + if (t.validate && !$e.runRootValidation) { + if ( + (($e.runRootValidation = !0), + !(await te({ name: Oe, eventType: Xe }))) + ) { + if ((($e.valid = !1), ge)) return $e.valid; + } + } + for (let Ge in de) { + let _e = de[Ge]; + if (_e) { + let { _f: nt, ...rt } = _e; + if (nt) { + let ot = s.array.has(nt.name), + At = _e._f && MOn(_e._f), + en = v("isValidating", "validatingFields"); + if (At && en) k([nt.name], !0); + let Gt = await Amt( + _e, + s.disabled, + a, + w, + t.shouldUseNativeValidation && !ge, + ot, + ); + if (Ie !== A) return $e.valid; + if (At && en) k([nt.name]); + if (Gt[nt.name]) { + if ((($e.valid = !1), ge)) break; + } + if (!ge) + (E(nt.name), + vn(Gt, nt.name) + ? ot + ? gmt(n.errors, Gt, nt.name) + : Xi(n.errors, nt.name, Gt[nt.name]) + : cc(n.errors, nt.name)); + if (e.shouldUseNativeValidation && Gt[nt.name]) break; + } + !Oc(rt) && + (await ie({ + context: $e, + onlyCheckValid: ge, + fields: rt, + name: Ge, + eventType: Xe, + })); + } + } + return $e.valid; + }, + j = () => { + for (let de of s.unMount) { + let ge = vn(r, de); + ge && + (ge._f.refs ? ge._f.refs.every((Oe) => !d5e(Oe)) : !d5e(ge._f.ref)) && + qe(de); + } + s.unMount = new Set(); + }, + oe = (de, ge) => (de && ge && Xi(a, de, ge), !p0(i.mount ? a : o, o)), + J = (de, ge, Oe) => + m5e(de, s, { ...(i.mount ? a : hi(ge) || Lp(de) ? o : ge) }, Oe, ge), + Y = (de) => + Bmt(vn(i.mount ? a : o, de, t.shouldUnregister ? vn(o, de, []) : [])), + ae = (de, ge, Oe = {}, Xe = !1, $e = !1, Ie = !1) => { + let Ge = vn(r, de), + _e = ge; + if (Ge) { + let nt = Ge._f; + if (nt) { + if ( + (!nt.disabled && Xi(a, de, y5e(ge, nt)), + (_e = ure(nt.ref) && Dp(ge) ? "" : ge), + Fmt(nt.ref)) + ) + [...nt.ref.options].forEach( + (rt) => (rt.selected = _e.includes(rt.value)), + ); + else if (nt.refs) + if (n_(nt.ref)) + nt.refs.forEach((rt) => { + if (!rt.defaultChecked || !rt.disabled) + if (Array.isArray(_e)) + rt.checked = !!_e.find((ot) => ot === rt.value); + else rt.checked = _e === rt.value || !!_e; + }); + else nt.refs.forEach((rt) => (rt.checked = rt.value === _e)); + else if (pre(nt.ref)) nt.ref.value = ""; + else if (((nt.ref.value = _e), !nt.ref.type && !$e && !Ie)) + y.state.next({ name: de, values: Xe ? a : Ms(a) }); + } + } + if ( + ((Oe.shouldDirty || Oe.shouldTouch) && + G( + de, + Ge && + Ge._f && + !Ge._f.disabled && + (Ge._f.valueAsNumber || Ge._f.valueAsDate || Ge._f.setValueAs) + ? y5e(ge, Ge._f) + : _e, + Oe.shouldTouch, + Oe.shouldDirty, + !$e, + ), + Oe.shouldValidate && Re(de, { delayError: Oe.delayError }), + Oe.shouldValidate && + Ge && + Ge._f && + Ge._f.deps && + (!Array.isArray(Ge._f.deps) || Ge._f.deps.length > 0)) + ) + Re(Ge._f.deps); + }, + ne = (de, ge, Oe, Xe = !1, $e = !1, Ie = !1) => { + if (s.array.has(de)) y.array.next({ name: de, values: Xe ? a : Ms(a) }); + for (let Ge in ge) { + if (!ge.hasOwnProperty(Ge)) continue; + let _e = ge[Ge], + nt = de + "." + Ge, + rt = vn(r, nt); + (s.array.has(de) || Hl(_e) || (rt && !rt._f)) && !I6(_e) + ? ne(nt, _e, Oe, Xe, $e, Ie) + : ae(nt, _e, Oe, Xe, $e, Ie); + } + }, + Se = (de, ge, Oe, Xe, $e = !1) => { + let Ie = vn(r, de), + Ge = s.array.has(de), + _e = Xe ? ge : Ms(ge), + nt = vn(a, de), + rt = p0(nt, _e); + if (!rt) Xi(a, de, _e); + if (Ge) { + if ( + (y.array.next({ name: de, values: Xe ? a : Ms(a) }), + v("isDirty", "dirtyFields") && Oe.shouldDirty) + ) { + if ((L(), !$e)) + y.state.next({ + name: de, + dirtyFields: n.dirtyFields, + isDirty: oe(de, _e), + }); + } + Oe.shouldValidate && Re(de, { delayError: Oe.delayError }); + } else { + let ot = (Array.isArray(_e) && !_e.length) || Oc(_e), + At = !rt && !$e; + if (!Ie || Ie._f || Dp(_e) || ot) ae(de, _e, Oe, Xe, $e, At); + else ne(de, _e, Oe, Xe, $e, At); + } + if (!rt && !$e) { + let ot = u5e(de, s), + At = Xe ? a : Ms(a); + if ( + (y.state.next({ + ...(ot && n), + name: i.mount || ot ? de : void 0, + values: At, + }), + !Ge) + ) + for (let en of ROn(s.array, de)) + y.state.next({ name: en, values: At }); + } + }, + fe = (de, ge, Oe = {}) => Se(de, ge, Oe, !1), + Ae = (de, ge = {}) => { + let Oe = Tf(de) ? de(a) : de; + if (!p0(a, Oe)) { + a = { ...a, ...Oe }; + for (let Xe of s.mount) if (IOn(Oe, Xe)) Se(Xe, vn(Oe, Xe), ge, !0, !0); + if ( + (y.state.next({ + ...n, + name: void 0, + type: void 0, + ...(u ? { values: a } : {}), + }), + ge.shouldValidate) + ) + I(); + } + }, + Ee = async (de) => { + i.mount = !0; + let ge = de.target, + Oe = ge.name, + Xe = !0, + $e = vn(r, Oe), + Ie = (Ge) => { + Xe = + Number.isNaN(Ge) || + (I6(Ge) && isNaN(Ge.getTime())) || + p0(Ge, vn(a, Oe, Ge)); + }; + if ($e) { + let Ge, + _e, + nt = ge.type ? Emt($e._f) : p5e(de), + rt = de.type === E6.BLUR || de.type === E6.FOCUS_OUT, + ot = + !DOn($e._f) && + !t.validate && + !t.resolver && + !vn(n.errors, Oe) && + !$e._f.deps, + At = ot || OOn(rt, vn(n.touchedFields, Oe), n.isSubmitted, p, d), + en = u5e(Oe, s, rt); + if ((Xi(a, Oe, Ms(nt)), rt)) { + if (!ge || !ge.readOnly) { + $e._f.onBlur && $e._f.onBlur(de); + let Yt = l[Oe]; + Yt && Yt(0); + } + } else if ($e._f.onChange) $e._f.onChange(de); + let Gt = G(Oe, nt, rt), + tn = !Oc(Gt) || en; + if ( + (!rt && + y.state.next({ + name: Oe, + type: de.type, + ...(u ? { values: Ms(a) } : {}), + }), + At) + ) { + if ((!ot || !n.isValid) && v("isValid")) { + if (t.mode === "onBlur") { + if (rt) I(); + } else if (!rt) I(); + } + return tn && y.state.next({ name: Oe, ...(en ? {} : Gt) }); + } + if (!t.resolver && t.validate) + await te({ name: Oe, eventType: de.type }); + if ((!rt && en && y.state.next({ ...n }), t.resolver)) { + let Yt = A, + { errors: Be } = await q([Oe]); + if (Yt !== A) return; + if ((k([Oe]), Ie(nt), !Xe)) { + !Oc(Gt) && y.state.next(Gt); + return; + } + let Je = Tmt(n.errors, r, Oe), + it = Tmt(Be, r, Je.name || Oe); + ((Ge = it.error), (Oe = it.name), (_e = Oc(Be))); + } else { + let Yt = A; + if ( + (k([Oe], !0), + (Ge = ( + await Amt($e, s.disabled, a, w, t.shouldUseNativeValidation) + )[Oe]), + Yt !== A) + ) + return; + if ((k([Oe]), Ie(nt), Xe)) { + if (Ge) _e = !1; + else if (v("isValid")) { + if ( + ((_e = await ie({ + fields: r, + onlyCheckValid: !0, + name: Oe, + eventType: de.type, + })), + Yt !== A) + ) + return; + } + } + } + if (Xe) + ($e._f.deps && + (!Array.isArray($e._f.deps) || $e._f.deps.length > 0) && + Re($e._f.deps), + Z(Oe, _e, Ge, Gt)); + } + }, + pe = (de, ge) => { + if (vn(n.errors, ge) && de.focus) return (de.focus(), 1); + return; + }, + Re = async (de, ge = {}) => { + let Oe, + Xe, + $e = cre(de); + if (t.resolver) { + let Ie = A, + Ge = await H(hi(de) ? de : $e); + if ( + ((Oe = Oc(Ge)), + (Xe = de ? !$e.some((_e) => vn(Ge, _e)) : Oe), + Ie !== A) + ) + return Xe; + } else if (de) + ((Xe = ( + await Promise.all( + $e.map(async (Ie) => { + let Ge = vn(r, Ie); + return await ie({ + fields: Ge && Ge._f ? { [Ie]: Ge } : Ge, + eventType: E6.TRIGGER, + }); + }), + ) + ).every(Boolean)), + !(!Xe && !n.isValid) && I()); + else Xe = Oe = await ie({ fields: r, name: de, eventType: E6.TRIGGER }); + if (ge.delayError && t.delayError && Lp(de)) { + let Ie = vn(n.errors, de); + if (Ie) + (cc(n.errors, de), + (l[de] = C(de, () => B(de, Ie))), + l[de](t.delayError)); + else E(de); + } + if (ge.shouldTouch) + for (let Ie of de ? $e : s.mount) + !s.array.has(Ie) && Xi(n.touchedFields, Ie, !0); + return ( + y.state.next({ + ...(!Lp(de) || (v("isValid") && Oe !== n.isValid) + ? {} + : { name: de }), + ...(t.resolver || !de ? { isValid: Oe } : {}), + ...(ge.shouldTouch && v("touchedFields") + ? { touchedFields: n.touchedFields } + : {}), + errors: n.errors, + }), + ge.shouldFocus && !Xe && t_(r, pe, de ? $e : s.mount), + Xe + ); + }, + Le = (de, ge) => { + let Oe = { ...(i.mount ? a : o) }; + if (ge) Oe = Omt(ge.dirtyFields ? n.dirtyFields : n.touchedFields, Oe); + return hi(de) ? Oe : Lp(de) ? vn(Oe, de) : de.map((Xe) => vn(Oe, Xe)); + }, + Ne = (de) => + hi(de) + ? { ...n.errors } + : Lp(de) + ? vn(n.errors, de) + : de.map((ge) => vn(n.errors, ge)), + be = (de, ge) => { + let Oe = ge || n, + Xe = vn(Oe.errors, de); + return { + invalid: !!Xe, + isDirty: !!vn(Oe.dirtyFields, de), + error: Xe, + isValidating: !!vn(Oe.validatingFields, de), + isTouched: !!vn(Oe.touchedFields, de), + }; + }, + ye = (de) => { + let ge = de ? cre(de) : void 0; + if (ge) + ge.forEach((Oe) => { + (T(Oe), + cc(n.errors, Oe), + y.state.next({ name: Oe, errors: n.errors })); + }); + else + (Object.keys(l).forEach(E), + (n.errors = {}), + y.state.next({ errors: n.errors })); + }, + ce = (de, ge, Oe) => { + T(de); + let Xe = (vn(r, de, { _f: {} })._f || {}).ref, + $e = vn(n.errors, de) || {}, + { ref: Ie, message: Ge, type: _e, types: nt, ...rt } = $e; + (Xi(n.errors, de, { ...rt, ...ge, ref: Xe }), + y.state.next({ name: de, errors: n.errors, isValid: !1 }), + Oe && Oe.shouldFocus && Xe && Xe.focus && Xe.focus()); + }, + ue = (de, ge) => { + if (Tf(de)) { + u++; + let { unsubscribe: Oe } = y.state.subscribe({ + next: ($e) => "values" in $e && de($e.values || J(void 0, ge), $e), + }), + Xe = !1; + return { + unsubscribe: () => { + if (Xe) return; + ((Xe = !0), u--, Oe()); + }, + }; + } + return J(de, ge, !0); + }, + ke = (de) => { + var ge; + let Oe = !!((ge = de.formState) === null || ge === void 0 + ? void 0 + : ge.values); + if (Oe) u++; + let { unsubscribe: Xe } = y.state.subscribe({ + next: (Ie) => { + if ( + BOn(de.name, Ie.name, de.exact) && + LOn(Ie, de.formState || m, Ue, de.reRenderRoot) + ) { + let Ge = { ...a }; + de.callback({ values: Ge, ...n, ...Ie, defaultValues: o }); + } + }, + }); + if (!Oe) return Xe; + let $e = !1; + return () => { + if ($e) return; + (($e = !0), u--, Xe()); + }; + }, + se = (de) => ( + (i.mount = !0), + (g = { ...g, ...de.formState }), + ke({ ...de, formState: { ...f, ...de.formState } }) + ), + qe = (de, ge = {}) => { + for (let Oe of de ? cre(de) : s.mount) { + if ( + (s.mount.delete(Oe), + s.array.delete(Oe), + s.disabled.delete(Oe), + !ge.keepValue) + ) + (cc(r, Oe), cc(a, Oe)); + if (!ge.keepError) (T(Oe), cc(n.errors, Oe)); + (!ge.keepDirty && cc(n.dirtyFields, Oe), + !ge.keepTouched && cc(n.touchedFields, Oe), + !ge.keepIsValidating && cc(n.validatingFields, Oe), + !t.shouldUnregister && !ge.keepDefaultValue && cc(o, Oe)); + } + (u && y.state.next({ values: Ms(a) }), + y.state.next({ + ...n, + ...(ge.keepDirty ? {} : { isDirty: oe() }), + ...(ge.keepIsValidating + ? {} + : { isValidating: !Oc(n.validatingFields) }), + }), + !ge.keepIsValid && I()); + }, + Me = ({ disabled: de, name: ge }) => { + if ((d0(de) && i.mount) || !!de || s.disabled.has(ge)) { + let $e = s.disabled.has(ge) !== !!de; + (de ? s.disabled.add(ge) : s.disabled.delete(ge), + $e && i.mount && !i.action && I()); + } + }, + Qe = (de, ge = {}) => { + let Oe = vn(r, de), + Xe = d0(ge.disabled) || d0(t.disabled), + $e = !s.registerName.has(de) && Oe && Oe._f && !Oe._f.mount; + if ( + (Xi(r, de, { + ...(Oe || {}), + _f: { + ...(Oe && Oe._f ? Oe._f : { ref: { name: de } }), + name: de, + mount: !0, + ...ge, + }, + }), + s.mount.add(de), + Oe && Oe._f) + ) { + let Ie = vn(r, de); + for (let Ge of vOn) if (!(Ge in ge)) delete Ie._f[Ge]; + } + if (Oe && !$e) + Me({ disabled: d0(ge.disabled) ? ge.disabled : t.disabled, name: de }); + else _(de, !0, ge.value); + return { + ...(Xe ? { disabled: ge.disabled || t.disabled } : {}), + ...(t.progressive + ? { + required: !!ge.required, + min: $z(ge.min), + max: $z(ge.max), + minLength: $z(ge.minLength), + maxLength: $z(ge.maxLength), + pattern: $z(ge.pattern), + } + : {}), + name: de, + onChange: Ee, + onBlur: Ee, + ref: (Ie) => { + if (Ie) { + (s.registerName.add(de), + Qe(de, ge), + s.registerName.delete(de), + (Oe = vn(r, de))); + let Ge = hi(Ie.value) + ? Ie.querySelectorAll + ? Ie.querySelectorAll("input,select,textarea")[0] || Ie + : Ie + : Ie, + _e = TOn(Ge), + nt = Oe._f.refs || []; + if (_e ? nt.find((ot) => ot === Ge) : Ge === Oe._f.ref) return; + let rt = { ...Oe._f }; + if (_e) + ((rt.refs = [ + ...nt.filter(d5e), + Ge, + ...(Array.isArray(vn(o, de)) ? [{}] : []), + ]), + (rt.ref = { type: Ge.type, name: de })); + else ((rt.ref = Ge), delete rt.refs); + (Xi(r, de, { _f: rt }), _(de, !1, void 0, Ge)); + } else { + if (((Oe = vn(r, de, {})), Oe._f)) Oe._f.mount = !1; + (t.shouldUnregister || ge.shouldUnregister) && + !(kmt(s.array, de) && i.action) && + s.unMount.add(de); + } + }, + }; + }, + ee = () => + t.shouldFocusError && !t.shouldUseNativeValidation && t_(r, pe, s.mount), + K = (de) => { + if (d0(de)) + (y.state.next({ disabled: de }), + t_( + r, + (ge, Oe) => { + let Xe = vn(r, Oe); + if (Xe) { + if ( + ((ge.disabled = Xe._f.disabled || de), + Array.isArray(Xe._f.refs)) + ) + Xe._f.refs.forEach(($e) => { + $e.disabled = Xe._f.disabled || de; + }); + } + }, + 0, + )); + }, + we = (de, ge) => async (Oe) => { + let Xe = void 0, + $e = void 0; + if (Oe) + (Oe.preventDefault && Oe.preventDefault(), Oe.persist && Oe.persist()); + let Ie = Ms(a); + if ((y.state.next({ isSubmitting: !0 }), t.resolver)) { + let Ge = A, + { errors: _e, values: nt } = await q(); + if (Ge !== A) return; + (k(), Object.keys(l).forEach(E), (n.errors = _e), (Ie = Ms(nt))); + } else { + let Ge = A; + if ((await ie({ fields: r, eventType: E6.SUBMIT }), Ge !== A)) return; + cc(n.errors, Rmt); + } + if (s.disabled.size) for (let Ge of s.disabled) cc(Ie, Ge); + if (Oc(n.errors)) { + y.state.next({ errors: {} }); + try { + Xe = await de(Ie, Oe); + } catch (Ge) { + $e = Ge; + } + } else { + if (ge) await ge({ ...n.errors }, Oe); + (ee(), setTimeout(ee)); + } + if ( + (y.state.next({ + isSubmitted: !0, + isSubmitting: !1, + isSubmitSuccessful: Oc(n.errors) && !$e, + submitCount: n.submitCount + 1, + errors: n.errors, + }), + $e) + ) + throw $e; + return Xe; + }, + ze = (de, ge = {}) => { + if (vn(r, de)) { + if ((cc(n.validatingFields, de), hi(ge.defaultValue))) + fe(de, Ms(vn(o, de))); + else (fe(de, ge.defaultValue), Xi(o, de, Ms(ge.defaultValue))); + if (!ge.keepTouched) cc(n.touchedFields, de); + if (!ge.keepDirty) + (cc(n.dirtyFields, de), + (n.isDirty = ge.defaultValue ? oe(de, Ms(vn(o, de))) : oe())); + if (!ge.keepError) (T(de), cc(n.errors, de), I()); + y.state.next({ ...n, isValidating: !Oc(n.validatingFields) }); + } + }, + tt = (de, ge = {}) => { + A++; + let Oe = de ? Ms(de) : o, + Xe = Ms(Oe), + $e = Oc(de), + Ie = Xe, + Ge = r; + if ((Object.keys(l).forEach(E), !ge.keepDefaultValues)) o = Oe; + if (!ge.keepValues) { + if (ge.keepDirtyValues) { + let _e = new Set([ + ...s.mount, + ...Umt(C6(o, a, void 0, Ge), n.dirtyFields), + ]); + for (let nt of _e) { + let rt = vn(n.dirtyFields, nt), + ot = vn(a, nt), + At = vn(Ie, nt); + if (rt && !hi(ot)) Xi(Ie, nt, ot); + else if (!rt && !hi(At)) fe(nt, At); + } + } else { + if (fre && hi(de)) + for (let _e of s.mount) { + let nt = vn(r, _e); + if (nt && nt._f) { + let rt = Array.isArray(nt._f.refs) ? nt._f.refs[0] : nt._f.ref; + if (ure(rt)) { + let ot = rt.closest("form"); + if (ot) { + ot.reset(); + break; + } + } + } + } + if (ge.keepFieldsRef) for (let _e of s.mount) fe(_e, vn(Ie, _e)); + else r = {}; + } + if (t.shouldUnregister) { + if (((a = ge.keepDefaultValues ? Ms(o) : {}), ge.keepFieldsRef)) + for (let _e of s.mount) Xi(a, _e, vn(Ie, _e)); + } else a = Ms(Ie); + (y.array.next({ values: { ...Ie } }), + y.state.next({ name: void 0, type: void 0, values: { ...Ie } })); + } + if ( + ((s = { + mount: ge.keepDirtyValues ? s.mount : new Set(), + unMount: new Set(), + array: new Set(), + registerName: new Set(), + disabled: new Set(), + watch: new Set(), + watchAll: !1, + focus: "", + }), + (i.mount = + !m.isValid || + !!ge.keepIsValid || + !!ge.keepDirtyValues || + (!t.shouldUnregister && !Oc(Ie))), + (i.watch = !!t.shouldUnregister), + (i.keepIsValid = !!ge.keepIsValid), + (i.action = !1), + i.actionArrayLengths.clear(), + !ge.keepErrors) + ) + n.errors = {}; + y.state.next({ + submitCount: ge.keepSubmitCount ? n.submitCount : 0, + isDirty: $e + ? !1 + : ge.keepDirty + ? n.isDirty + : ge.keepValues + ? oe() + : !!(ge.keepDefaultValues && !p0(de, o)), + isSubmitted: ge.keepIsSubmitted ? n.isSubmitted : !1, + dirtyFields: $e + ? {} + : ge.keepDirtyValues + ? ge.keepDefaultValues && a + ? C6(o, a, void 0, Ge) + : n.dirtyFields + : ge.keepDefaultValues && de + ? C6(o, de, void 0, Ge) + : ge.keepDirty + ? n.dirtyFields + : ge.keepValues + ? C6(o, a, void 0, Ge) + : {}, + touchedFields: ge.keepTouched ? n.touchedFields : {}, + ...(!ge.keepIsValidating && (n.isValidating || !Oc(n.validatingFields)) + ? { validatingFields: {}, isValidating: !1 } + : null), + errors: ge.keepErrors ? n.errors : {}, + isSubmitSuccessful: ge.keepIsSubmitSuccessful + ? n.isSubmitSuccessful + : !1, + isSubmitting: !1, + defaultValues: o, + }); + }, + Pe = (de, ge) => tt(Tf(de) ? de(a) : de, { ...t.resetOptions, ...ge }), + Ke = (de, ge = {}) => { + let Oe = vn(r, de), + Xe = Oe && Oe._f; + if (Xe) { + let $e = Xe.refs ? Xe.refs[0] : Xe.ref; + if ($e.focus) + setTimeout(() => { + ($e.focus(), ge.shouldSelect && Tf($e.select) && $e.select()); + }); + } + }, + Ue = (de) => { + let { name: ge, type: Oe, values: Xe, ...$e } = de; + n = { ...n, ...$e }; + }; + y.state.subscribe({ next: Ue }); + let Rt = { + control: { + register: Qe, + unregister: qe, + getFieldState: be, + handleSubmit: we, + setError: ce, + _subscribe: ke, + _runSchema: q, + _updateIsValidating: k, + _focusError: ee, + _getWatch: J, + _getDirty: oe, + _setValid: I, + _setFieldArray: O, + _setDisabledField: Me, + _setErrors: U, + _getFieldArray: Y, + _reset: tt, + _resetDefaultValues: () => + Tf(t.defaultValues) && + t.defaultValues().then((de) => { + (Pe(de, t.resetOptions), y.state.next({ isLoading: !1 })); + }), + _removeUnmounted: j, + _disableForm: K, + _subjects: y, + _proxyFormState: m, + get _fields() { + return r; + }, + get _formValues() { + return a; + }, + get _state() { + return i; + }, + set _state(de) { + i = de; + }, + get _defaultValues() { + return o; + }, + get _names() { + return s; + }, + set _names(de) { + s = de; + }, + get _formState() { + return n; + }, + get _options() { + return t; + }, + set _options(de) { + ((t = { ...t, ...de }), + (d = lre(t.mode)), + (p = lre(t.reValidateMode)), + (w = t.criteriaMode === iy.all)); + }, + }, + subscribe: se, + trigger: Re, + register: Qe, + handleSubmit: we, + watch: ue, + setValue: fe, + setValues: Ae, + getValues: Le, + getErrors: Ne, + reset: Pe, + resetField: ze, + resetDefaultValues: (de, ge = {}) => { + if (((o = Ms(de)), !ge.keepDirty)) { + let Oe = C6(o, a, void 0, r); + ((n.dirtyFields = Oe), (n.isDirty = !Oc(Oe))); + } + if (!ge.keepIsValid) I(); + y.state.next({ ...n, defaultValues: o }); + }, + clearErrors: ye, + unregister: qe, + setError: ce, + setFocus: Ke, + getFieldState: be, + }; + return { ...Rt, formControl: Rt }; +} +function f0(e = {}) { + let t = Ir.default.useRef(void 0), + n = Ir.default.useRef(void 0), + r = Ir.default.useRef(e.formControl), + o = Ir.default.useRef(!!e.validate), + [a, i] = Ir.default.useState(() => ({ + ...Ms(Hmt), + isLoading: Tf(e.defaultValues), + errors: e.errors || {}, + disabled: e.disabled || !1, + defaultValues: Tf(e.defaultValues) ? void 0 : e.defaultValues, + })); + if (!t.current || (e.formControl && r.current !== e.formControl)) + if (((r.current = e.formControl), e.formControl)) { + if ( + ((t.current = { ...e.formControl, formState: a }), + e.defaultValues && !Tf(e.defaultValues)) + ) + e.formControl.reset(e.defaultValues, e.resetOptions); + } else { + let { formControl: d, ...p } = zOn(e); + t.current = { ...p, formState: a }; + } + let s = t.current.control; + s._options = { ...e, validate: e.validate }; + let l = () => ({ ...s._formState, defaultValues: s._defaultValues }), + { resyncIfNeeded: c, snapshot: u } = S5e(l); + return ( + w5e(() => { + c(!0, l, i); + let d = s._subscribe({ + formState: s._proxyFormState, + callback: () => i({ ...s._formState, defaultValues: s._defaultValues }), + reRenderRoot: !0, + }); + return ( + i((p) => ({ ...p, isReady: !0 })), + (s._formState.isReady = !0), + () => { + (d(), u(!0, l)); + } + ); + }, [s, c, u]), + Ir.default.useEffect(() => s._disableForm(e.disabled), [s, e.disabled]), + Ir.default.useEffect(() => { + if (e.mode) s._options.mode = e.mode; + if (e.reValidateMode) s._options.reValidateMode = e.reValidateMode; + }, [s, e.mode, e.reValidateMode]), + Ir.default.useEffect(() => { + if (e.errors) (s._setErrors(e.errors), s._focusError()); + }, [s, e.errors]), + Ir.default.useEffect(() => { + var d; + if (o.current && !e.validate) + (d = t.current) === null || d === void 0 || d.clearErrors(e_); + o.current = !!e.validate; + }, [e.validate]), + Ir.default.useEffect(() => { + e.shouldUnregister && s._subjects.state.next({ values: s._getWatch() }); + }, [s, e.shouldUnregister]), + Ir.default.useEffect(() => { + if (s._proxyFormState.isDirty) { + let d = s._getDirty(); + if (d !== a.isDirty) s._subjects.state.next({ isDirty: d }); + } + }, [s, a.isDirty]), + Ir.default.useEffect(() => { + var d; + if (e.values && !p0(e.values, n.current)) { + if ( + (s._reset(e.values, { + keepFieldsRef: !0, + ...s._options.resetOptions, + }), + !((d = s._options.resetOptions) === null || d === void 0 + ? void 0 + : d.keepIsValid)) + ) + s._setValid(); + ((n.current = e.values), i((p) => ({ ...p }))); + } else s._resetDefaultValues(); + }, [s, e.values]), + Ir.default.useEffect(() => { + if (!s._state.mount) (s._setValid(), (s._state.mount = !0)); + if (s._state.watch) + ((s._state.watch = !1), s._subjects.state.next({ ...s._formState })); + s._removeUnmounted(); + }), + (t.current.formState = Ir.default.useMemo(() => Pmt(a, s), [s, a])), + t.current + ); +} +var Ir, + n_ = (e) => e.type === "checkbox", + pre = (e) => e.type === "file", + I6 = (e) => e instanceof Date, + Dp = (e) => e == null, + v5e = (e) => typeof e === "object", + Hl = (e) => !Dp(e) && !Array.isArray(e) && v5e(e) && !I6(e), + p5e = (e) => + Hl(e) && e.target + ? n_(e.target) + ? e.target.checked + : pre(e.target) + ? e.target.files + : e.target.value + : e, + gOn, + YE = (e) => e.split(gOn).filter(Boolean), + kmt = (e, t) => + t + .split(".") + .some((n, r, o) => !isNaN(Number(n)) && e.has(o.slice(0, r).join("."))), + fre, + E6, + iy, + Mp, + vOn, + e_ = "form", + Rmt = "root", + b5e, + bOn, + z9 = (e) => bOn.test(e), + hi = (e) => e === void 0, + vn = (e, t, n) => { + if (!t || !Hl(e)) return n; + let r = z9(t) ? [t] : YE(t); + if (r.some((a) => b5e.includes(a))) return n; + let o = r.reduce((a, i) => (Dp(a) ? void 0 : a[i]), e); + return hi(o) || o === e ? (hi(e[t]) ? n : e[t]) : o; + }, + d0 = (e) => typeof e === "boolean", + Tf = (e) => typeof e === "function", + Xi = (e, t, n) => { + let r = -1, + o = z9(t) ? [t] : YE(t), + a = o.length, + i = a - 1; + while (++r < a) { + let s = o[r], + l = n; + if (r !== i) { + let c = e[s]; + l = Hl(c) || Array.isArray(c) ? c : !isNaN(+o[r + 1]) ? [] : {}; + } + if (b5e.includes(s)) return; + ((e[s] = l), (e = e[s])); + } + }, + x5e, + A5e = () => Ir.default.useContext(x5e), + Pmt = (e, t, n, r = !0) => { + let o = {}; + for (let a in e) + Object.defineProperty(o, a, { + get: () => { + let i = a; + if (t._proxyFormState[i] !== iy.all) + t._proxyFormState[i] = !r || iy.all; + return (n && (n[i] = !0), e[i]); + }, + }); + return o; + }, + w5e, + xOn = (e) => { + let t = e.constructor && e.constructor.prototype; + return Hl(t) && t.hasOwnProperty("isPrototypeOf"); + }, + f5e = (e) => Dp(e) || !v5e(e), + hmt = (e, t) => t.length === 0 && !Array.isArray(e) && !xOn(e), + Lp = (e) => typeof e === "string", + m5e = (e, t, n, r, o) => { + if (Lp(e)) return (r && t.watch.add(e), vn(n, e, o)); + if (Array.isArray(e)) + return e.map((a) => (r && t.watch.add(a), vn(n, a, vn(o, a)))); + return (r && (t.watchAll = !0), n); + }, + Mmt = (e) => e.render(wOn(e)), + lre = (e) => ({ + isOnSubmit: !e || e === iy.onSubmit, + isOnBlur: e === iy.onBlur, + isOnChange: e === iy.onChange, + isOnAll: e === iy.all, + isOnTouch: e === iy.onTouched, + }), + u5e = (e, t, n) => { + if (n) return !1; + if (t.watchAll || t.watch.has(e)) return !0; + for (let r of t.watch) + if (e.startsWith(r) && e.charAt(r.length) === ".") return !0; + return !1; + }, + t_ = (e, t, n) => { + for (let r of n || Object.keys(e)) { + if (r === "_f") continue; + let o = n ? vn(e, r) : e[r]; + if (o) { + let { _f: a } = o; + if (a) { + if (a.refs && a.refs[0] && t(a.refs[0], a.name)) return !0; + else if (a.ref && t(a.ref, a.name)) return !0; + else if (t_(o, t)) return !0; + } else if (Hl(o) || Array.isArray(o)) { + if (t_(o, t)) return !0; + } + } + } + return; + }, + gmt = (e, t, n) => { + let r = vn(e, n), + o = Array.isArray(r) ? r : []; + return (Xi(o, Rmt, t[n]), Xi(e, n, o), e); + }, + Oc = (e) => Hl(e) && !Object.keys(e).length, + ure = (e) => { + if (!fre) return !1; + let t = e ? e.ownerDocument : 0; + return ( + e instanceof + (t && t.defaultView ? t.defaultView.HTMLElement : HTMLElement) + ); + }, + E5e = (e) => e.type === "radio", + dre = (e) => e instanceof RegExp, + SOn = (e, t, n, r, o) => + t + ? { + ...n[e], + types: { ...(n[e] && n[e].types ? n[e].types : {}), [r]: o || !0 }, + } + : {}, + ymt, + vmt, + Dmt = (e) => { + if (!Array.isArray(e)) return ymt; + if (e.length > 1) { + let n = e + .filter((r) => r && r.checked && !r.disabled) + .map((r) => r.value); + return { value: n, isValid: !!n.length }; + } + let t = e[0]; + if (!t || !t.checked || t.disabled) return ymt; + if (!t.attributes || !("value" in t.attributes)) return vmt; + return hi(t.value) || t.value === "" + ? vmt + : { value: t.value, isValid: !0 }; + }, + bmt, + Lmt = (e) => + Array.isArray(e) + ? e.reduce( + (t, n) => + n && n.checked && !n.disabled ? { isValid: !0, value: n.value } : t, + bmt, + ) + : bmt, + N9 = (e) => (Hl(e) && !dre(e) ? e : { value: e, message: "" }), + Amt = async (e, t, n, r, o, a) => { + let { + ref: i, + refs: s, + required: l, + maxLength: c, + minLength: u, + min: d, + max: p, + pattern: f, + validate: m, + name: g, + valueAsNumber: v, + mount: y, + _c: x, + } = e._f, + A = vn(n, g); + if (!y || t.has(g)) return {}; + let w = s ? s[0] : i, + C = (D) => { + if (o && w.reportValidity) { + let N = d0(D) ? "" : D || ""; + if (s) + s.forEach((_) => Tf(_.setCustomValidity) && _.setCustomValidity(N)); + else w.setCustomValidity(N); + w.reportValidity(); + } + }, + E = {}, + T = E5e(i), + I = n_(i), + k = T || I, + L = + ((v || pre(i)) && hi(i.value) && hi(A)) || + (ure(i) && i.value === "" && !x) || + A === "" || + (Array.isArray(A) && !A.length), + O = SOn.bind(null, g, r, E), + B = (D, N, _, G = Mp.maxLength, Z = Mp.minLength) => { + let q = D ? N : _; + E[g] = { type: D ? G : Z, message: q, ref: i, ...O(D ? G : Z, q) }; + }; + if ( + a + ? !Array.isArray(A) || !A.length + : l && + ((!k && (L || Dp(A))) || + (d0(A) && !A) || + (I && !Dmt(s).isValid) || + (T && !Lmt(s).isValid)) + ) { + let { value: D, message: N } = Lp(l) ? { value: !!l, message: l } : N9(l); + if (D) { + if ( + ((E[g] = { + type: Mp.required, + message: N, + ref: w, + ...O(Mp.required, N), + }), + !r) + ) + return (C(N), E); + } + } + if (!L && (!Dp(d) || !Dp(p))) { + let D, + N, + _ = N9(p), + G = N9(d); + if (!Dp(A) && !I6(A) && !isNaN(A)) { + let Z = i.valueAsNumber || (A ? +A : A); + if (!Dp(_.value)) D = Z > _.value; + if (!Dp(G.value)) N = Z < G.value; + } else { + let Z = i.valueAsDate || new Date(A), + q = (ie) => new Date(new Date().toDateString() + " " + ie), + H = i.type == "time", + te = i.type == "week"; + if (Lp(_.value) && A) + D = H ? q(A) > q(_.value) : te ? A > _.value : Z > new Date(_.value); + if (Lp(G.value) && A) + N = H ? q(A) < q(G.value) : te ? A < G.value : Z < new Date(G.value); + } + if (D || N) { + if ((B(!!D, _.message, G.message, Mp.max, Mp.min), !r)) + return (C(E[g].message), E); + } + } + if ((c || u) && !L && (Lp(A) || (a && Array.isArray(A)))) { + let D = N9(c), + N = N9(u), + _ = !Dp(D.value) && A.length > +D.value, + G = !Dp(N.value) && A.length < +N.value; + if (_ || G) { + if ((B(_, D.message, N.message), !r)) return (C(E[g].message), E); + } + } + if (f && !L && Lp(A)) { + let { value: D, message: N } = N9(f); + if (dre(D) && !A.match(D)) { + if ( + ((E[g] = { + type: Mp.pattern, + message: N, + ref: i, + ...O(Mp.pattern, N), + }), + !r) + ) + return (C(N), E); + } + } + if (m) { + if (Tf(m)) { + let D = await m(A, n), + N = xmt(D, w); + if (N) { + if (((E[g] = { ...N, ...O(Mp.validate, N.message) }), !r)) + return (C(N.message), E); + } + } else if (Hl(m)) { + let D = {}; + for (let N in m) { + if (!Oc(D) && !r) break; + let _ = xmt(await m[N](A, n), w, N); + if (_) { + if (((D = { ..._, ...O(N, _.message) }), !r)) C(_.message); + if (r) E[g] = D; + } + } + if (!Oc(D)) { + if (((E[g] = { ref: w, ...D }), !r)) return E; + } + } + } + let U = E[g]; + return (C(U ? U.message : !0), E); + }, + cre = (e) => (Array.isArray(e) ? e : [e]), + Bmt = (e) => (Array.isArray(e) ? e.filter(Boolean) : []), + I5e, + T5e = () => Ir.default.useContext(I5e), + mre = ({ + children: e, + watch: t, + getValues: n, + getErrors: r, + getFieldState: o, + setError: a, + clearErrors: i, + setValue: s, + setValues: l, + trigger: c, + formState: u, + resetField: d, + reset: p, + resetDefaultValues: f, + handleSubmit: m, + unregister: g, + control: v, + register: y, + setFocus: x, + subscribe: A, + }) => { + let w = Ir.default.useMemo( + () => ({ + watch: t, + getValues: n, + getErrors: r, + getFieldState: o, + setError: a, + clearErrors: i, + setValue: s, + setValues: l, + trigger: c, + formState: u, + resetField: d, + reset: p, + resetDefaultValues: f, + handleSubmit: m, + unregister: g, + control: v, + register: y, + setFocus: x, + subscribe: A, + }), + [i, v, u, r, o, n, m, y, p, f, d, a, x, s, l, A, c, g, t], + ); + return Ir.default.createElement( + I5e.Provider, + { value: w }, + Ir.default.createElement(x5e.Provider, { value: w.control }, e), + ); + }, + wmt = () => { + let e = []; + return { + get observers() { + return e; + }, + next: (o) => { + for (let a of e) a.next && a.next(o); + }, + subscribe: (o) => ( + e.push(o), + { + unsubscribe: () => { + e = e.filter((a) => a !== o); + }, + } + ), + unsubscribe: () => { + e = []; + }, + }; + }, + Smt = (e, t) => + e !== null && v5e(e) && Object.prototype.hasOwnProperty.call(e, t), + IOn = (e, t) => { + if (!t) return !1; + let n = e; + for (let r of z9(t) ? [t] : YE(t)) { + if (!Smt(n, r)) return Smt(e, t); + n = n[r]; + } + return !0; + }, + Fmt = (e) => e.type === "select-multiple", + TOn = (e) => E5e(e) || n_(e), + d5e = (e) => ure(e) && e.isConnected, + kOn = (e) => { + for (let t in e) if (Tf(e[t])) return !0; + return !1; + }, + ROn = (e, t) => { + let n = t.split("."), + r = [], + o = n[0]; + for (let a = 1; a < n.length; o += "." + n[a++]) + if (!isNaN(+n[a]) && e.has(o)) r.push(`${o}.${n[a]}`); + return r; + }, + y5e = (e, { valueAsNumber: t, valueAsDate: n, setValueAs: r }) => + hi(e) + ? e + : t + ? e === "" + ? NaN + : e + ? +e + : e + : n && Lp(e) + ? new Date(e) + : r + ? r(e) + : e, + POn = (e, t, n, r) => { + let o = {}; + for (let a of e) { + let i = vn(t, a); + i && Xi(o, a, i._f); + } + return { + criteriaMode: n, + names: [...e], + fields: o, + shouldUseNativeValidation: r, + }; + }, + $z = (e) => + hi(e) + ? e + : dre(e) + ? e.source + : Hl(e) + ? dre(e.value) + ? e.value.source + : e.value + : e, + Imt = "AsyncFunction", + MOn = (e) => { + if (!e || !e.validate) return !1; + if (Tf(e.validate)) return e.validate.constructor.name === Imt; + if (Hl(e.validate)) { + for (let t in e.validate) + if (e.validate[t].constructor.name === Imt) return !0; + } + return !1; + }, + DOn = (e) => + e.mount && + (e.required || + (!hi(e.required) && e.required !== !1) || + !hi(e.min) || + !hi(e.max) || + !hi(e.maxLength) || + !hi(e.minLength) || + e.pattern || + e.validate), + LOn = (e, t, n, r) => { + n(e); + let o = Object.keys(e).filter((a) => a !== "name"); + return ( + !o.length || + (r && o.length >= Object.keys(t).length) || + o.find((a) => t[a] === (!r || iy.all)) + ); + }, + BOn = (e, t, n) => + !e || + !t || + e === t || + cre(e).some( + (r) => + r && + (n + ? r === t || r.startsWith(t + ".") + : r.startsWith(t) || t.startsWith(r)), + ), + OOn = (e, t, n, r, o) => { + if (o.isOnAll) return !1; + else if (!n && o.isOnTouch) return !(t || e); + else if (n ? r.isOnBlur : o.isOnBlur) return !e; + else if (n ? r.isOnChange : o.isOnChange) return e; + return !0; + }, + FOn = (e, t) => { + let n = vn(e, t); + !Bmt(n).length && + !(n === null || n === void 0 ? void 0 : n.root) && + cc(e, t); + }, + UOn, + NOn = (e, t) => { + for (let n in e) if (!(n in t)) delete e[n]; + Object.assign(e, t); + }, + Hmt; +var b3 = P(() => { + ((Ir = z(re(), 1)), (gOn = /[.[\]'"]/)); + fre = + typeof window < "u" && + typeof window.HTMLElement < "u" && + typeof document < "u"; + ((E6 = { + BLUR: "blur", + FOCUS_OUT: "focusout", + CHANGE: "change", + SUBMIT: "submit", + TRIGGER: "trigger", + VALID: "valid", + }), + (iy = { + onBlur: "onBlur", + onChange: "onChange", + onSubmit: "onSubmit", + onTouched: "onTouched", + all: "all", + }), + (Mp = { + max: "max", + min: "min", + maxLength: "maxLength", + minLength: "minLength", + pattern: "pattern", + required: "required", + validate: "validate", + }), + (vOn = [ + Mp.required, + Mp.min, + Mp.max, + Mp.minLength, + Mp.maxLength, + Mp.pattern, + Mp.validate, + ]), + (b5e = ["__proto__", "constructor", "prototype"]), + (bOn = /^\w*$/), + (x5e = Ir.default.createContext(null))); + x5e.displayName = "HookFormControlContext"; + w5e = fre ? Ir.default.useLayoutEffect : Ir.default.useEffect; + ((ymt = { value: !1, isValid: !1 }), + (vmt = { value: !0, isValid: !0 }), + (bmt = { isValid: !1, value: null })); + I5e = Ir.default.createContext(null); + I5e.displayName = "HookFormContext"; + ((UOn = { + mode: iy.onSubmit, + reValidateMode: iy.onChange, + shouldFocusError: !0, + }), + (Hmt = { + submitCount: 0, + isDirty: !1, + isReady: !1, + isValidating: !1, + isSubmitted: !1, + isSubmitting: !1, + isSubmitSuccessful: !1, + isValid: !1, + touchedFields: {}, + dirtyFields: {}, + validatingFields: {}, + })); +}); +function o_(e) { + let t = Object.values(e).filter((r) => typeof r === "number"); + return Object.entries(e) + .filter(([r, o]) => t.indexOf(+r) === -1) + .map(([r, o]) => o); +} +function R5e(e, t = "|") { + return e.map((n) => D5e(n)).join(t); +} +function a_(e, t) { + if (typeof t === "bigint") return t.toString(); + return t; +} +class Gmt { + constructor(e) { + ((this._getter = e), (this._value = void 0)); + } + get value() { + let e = this._getter; + if (e !== void 0) ((this._value = e()), (this._getter = void 0)); + return this._value; + } +} +function i_(e) { + return new Gmt(e); +} +function qmt(e) { + return e === null || e === void 0; +} +function hre(e) { + let t = e.startsWith("^") ? 1 : 0, + n = e.endsWith("$") ? e.length - 1 : e.length; + return e.slice(t, n); +} +function Zmt(e, t) { + let n = e / t, + r = Math.round(n), + o = 4 * Number.EPSILON * Math.max(Math.abs(n), 1); + if (Math.abs(n - r) < o) return 0; + return n - r; +} +function Qmt(e, t, n) { + let r = void 0; + Object.defineProperty(e, t, { + get() { + if (r === Vmt) return; + if (r === void 0) ((r = Vmt), (r = n())); + return r; + }, + set(o) { + Object.defineProperty(e, t, { value: o }); + }, + configurable: !0, + }); +} +function Mg(e, t, n) { + Object.defineProperty(e, t, { + value: n, + writable: !0, + enumerable: !0, + configurable: !0, + }); +} +function s_(e) { + let t = Object.getOwnPropertyDescriptor(e, "shape"); + return t?.get ? t.get.raw : t?.value; +} +function x3(e) { + return s_(e._zod.def) ?? e._zod.def.shape; +} +function Xmt(e, t, n) { + Object.defineProperty(e, t, { + get() { + let r = n(); + return (Mg(this, t, r), r); + }, + enumerable: !0, + configurable: !0, + }); +} +function Wmt(e, t, n) { + if (t in e) Mg(e, t, n); + else e[t] = n; +} +function KE(e, t, n, r) { + let o = x3(t); + for (let a of n) { + let i = Object.getOwnPropertyDescriptor(o, a); + if (!i.enumerable) continue; + if (i.get) + Xmt(e, a, () => { + let s = t._zod.def.shape[a]; + return r ? r(s, a) : s; + }); + else Wmt(e, a, r ? r(i.value, a) : i.value); + } +} +function _On(e, t) { + for (let n of Reflect.ownKeys(t)) { + let r = Object.getOwnPropertyDescriptor(t, n); + if (!r.enumerable) continue; + if (r.get) Xmt(e, n, () => t[n]); + else Wmt(e, n, r.value); + } +} +function Dg(...e) { + let t = {}; + for (let n of e) { + let r = Object.getOwnPropertyDescriptors(n); + Object.assign(t, r); + } + return Object.defineProperties({}, t); +} +function Ymt(e) { + return JSON.stringify(e); +} +function Kmt(e) { + return e + .toLowerCase() + .trim() + .replace(/[^\w\s-]/g, "") + .replace(/[\s_-]+/g, "-") + .replace(/^-+|-+$/g, ""); +} +function _9(e) { + return typeof e === "object" && e !== null && !Array.isArray(e); +} +function JE(e) { + if (_9(e) === !1) return !1; + let t = e.constructor; + if (t === void 0) return !0; + if (typeof t !== "function") return !0; + let n = t.prototype; + if (_9(n) === !1) return !1; + if (Object.prototype.hasOwnProperty.call(n, "isPrototypeOf") === !1) + return !1; + return !0; +} +function M5e(e) { + if (JE(e)) return { ...e }; + if (Array.isArray(e)) return [...e]; + if (e instanceof Map) return new Map(e); + if (e instanceof Set) return new Set(e); + return e; +} +function k6(e) { + return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +} +function F2(e, t, n) { + let r = new e._zod.constr(t ?? e._zod.def); + if (!t || n?.parent) r._zod.parent = e; + return r; +} +function or(e) { + let t = e; + if (!t) return {}; + if (typeof t === "string") return { error: () => t }; + if (t?.message !== void 0) { + if (t?.error !== void 0) + throw Error("Cannot specify both `message` and `error` params"); + t.error = t.message; + } + if ((delete t.message, typeof t.error === "string")) + return { ...t, error: () => t.error }; + return t; +} +function D5e(e) { + if (typeof e === "bigint") return e.toString() + "n"; + if (typeof e === "string") return `"${e}"`; + return `${e}`; +} +function $mt(e) { + return Object.keys(e).filter( + (t) => e[t]._zod.optin !== void 0 && e[t]._zod.optout === "optional", + ); +} +function HOn(e, t) { + let n = e._zod.def, + r = n.checks; + if (r && r.length > 0) + throw Error( + ".pick() cannot be used on object schemas containing refinements", + ); + let a = {}; + return (KE(a, e, yre(e, t)), F2(e, Dg(n, { shape: a, checks: [] }))); +} +function yre(e, t) { + let n = x3(e), + r = []; + for (let o of Reflect.ownKeys(t)) { + if (!Object.getOwnPropertyDescriptor(n, o)?.enumerable) + throw Error(`Unrecognized key: "${String(o)}"`); + if (t[o]) r.push(o); + } + return r; +} +function VOn(e, t) { + let n = e._zod.def, + r = n.checks; + if (r && r.length > 0) + throw Error( + ".omit() cannot be used on object schemas containing refinements", + ); + let a = new Set(yre(e, t)), + i = {}; + return ( + KE( + i, + e, + Reflect.ownKeys(x3(e)).filter((s) => !a.has(s)), + ), + F2(e, Dg(n, { shape: i, checks: [] })) + ); +} +function GOn(e, t) { + if (!JE(t)) throw Error("Invalid input to extend: expected a plain object"); + let n = e._zod.def.checks; + if (n && n.length > 0) { + let o = x3(e); + for (let a of Reflect.ownKeys(t)) + if (Object.getOwnPropertyDescriptor(o, a) !== void 0) + throw Error( + "Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.", + ); + } + return F2(e, Dg(e._zod.def, { shape: eht(e, t) })); +} +function eht(e, t) { + let n = {}; + return (KE(n, e, Reflect.ownKeys(x3(e))), _On(n, t), n); +} +function qOn(e, t) { + if (!JE(t)) + throw Error("Invalid input to safeExtend: expected a plain object"); + return F2(e, Dg(e._zod.def, { shape: eht(e, t) })); +} +function ZOn(e, t) { + if (!t?._zod?.def) + throw Error( + "Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.", + ); + if (e._zod.def.checks?.length) + throw Error( + ".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.", + ); + let n = {}; + (KE(n, e, Reflect.ownKeys(x3(e))), KE(n, t, Reflect.ownKeys(x3(t)))); + let r = Dg(e._zod.def, { + shape: n, + get catchall() { + return t._zod.def.catchall; + }, + checks: t._zod.def.checks ?? [], + }); + return F2(e, r); +} +function tht(e, t, n, r = "partial") { + let a = t._zod.def.checks; + if (a && a.length > 0) + throw Error( + `.${r}() cannot be used on object schemas containing refinements`, + ); + let s = n ? new Set(yre(t, n)) : void 0, + l = {}; + return ( + KE( + l, + t, + Reflect.ownKeys(x3(t)), + e && + ((c, u) => + s && !s.has(u) ? c : new e({ type: "optional", innerType: c })), + ), + F2(t, Dg(t._zod.def, { shape: l, checks: [] })) + ); +} +function QOn(e, t, n) { + let r = n ? new Set(yre(t, n)) : void 0, + o = {}; + return ( + KE(o, t, Reflect.ownKeys(x3(t)), (a, i) => + r && !r.has(i) ? a : new e({ type: "nonoptional", innerType: a }), + ), + F2(t, Dg(t._zod.def, { shape: o })) + ); +} +function nx(e, t = 0) { + if (e.aborted === !0) return !0; + for (let n = t; n < e.issues.length; n++) + if (e.issues[n]?.continue !== !0) return !0; + return !1; +} +function nht(e, t = 0) { + if (e.aborted === !0) return !0; + for (let n = t; n < e.issues.length; n++) + if (e.issues[n]?.continue === !1) return !0; + return !1; +} +function R6(e, t) { + return t.map((n) => { + var r; + return ((r = n).path ?? (r.path = []), n.path.unshift(e), n); + }); +} +function r_(e) { + return typeof e === "string" ? e : e?.message; +} +function B5e(e, t, n) { + var r; + for (let o = t; o < e.length; o++) (r = e[o]).schema ?? (r.schema = n); +} +function rx(e, t, n) { + var r; + let o = e.inst?._zod?.traits; + if (o?.has("$ZodType")) + if (o.has("$ZodCheck")) (r = e).schema ?? (r.schema = e.inst); + else e.schema = e.inst; + let a = e.schema !== e.inst ? e.schema?._zod.def?.error : void 0, + i = e.message + ? e.message + : (r_(e.inst?._zod.def?.error?.(e)) ?? + r_(a?.(e)) ?? + r_(t?.error?.(e)) ?? + r_(n.customError?.(e)) ?? + r_(n.localeError?.(e)) ?? + "Invalid input"), + s = {}; + for (let l of Object.keys(e)) { + if ( + l === "inst" || + l === "schema" || + l === "continue" || + l === "input" || + l === "__proto__" + ) + continue; + s[l] = e[l]; + } + if ((s.path ?? (s.path = []), (s.message = i), t?.reportInput)) + s.input = e.input; + return s; +} +function vre(e) { + let t = e.length; + if (!XOn.test(e)) return t; + let n = t; + for (let r = 0; r < t - 1; r++) + if ( + (e.charCodeAt(r) & 64512) === 55296 && + (e.charCodeAt(r + 1) & 64512) === 56320 + ) + (n--, r++); + return n; +} +function bre(e) { + if (Array.isArray(e)) return "array"; + if (typeof e === "string") return "string"; + return "unknown"; +} +function rht(e) { + let t = typeof e; + switch (t) { + case "number": + return Number.isNaN(e) ? "nan" : "number"; + case "object": { + if (e === null) return "null"; + if (Array.isArray(e)) return "array"; + let n = e; + if ( + n && + Object.getPrototypeOf(n) !== Object.prototype && + "constructor" in n && + n.constructor + ) + return n.constructor.name; + } + } + return t; +} +function jE(...e) { + let [t, n, r] = e; + if (typeof t === "string") + return { message: t, code: "custom", input: n, inst: r }; + return { ...t }; +} +function oht(e, t) { + for (let n in t) { + let r = Object.getOwnPropertyDescriptor(t, n); + if (r.get) Object.defineProperty(e, n, { ...r, enumerable: !1 }); + else WOn(e, n, r.value); + } +} +function A3(e, t, n, r = !0) { + return ( + Object.defineProperty(e, t, { + configurable: !0, + writable: !0, + enumerable: r, + value: n, + }), + n + ); +} +function xre(e, t, n) { + return A3(e, t, n, !1); +} +function aht(e, t) { + for (let n in e) { + let r = e[n]; + Object.defineProperty(t, n, { + configurable: !0, + enumerable: !0, + get() { + return A3(this, n, r(this)); + }, + set(o) { + A3(this, n, o); + }, + }); + } + return t; +} +function WOn(e, t, n) { + Object.defineProperty(e, t, { + configurable: !0, + get() { + return this == null ? n : A3(this, t, n.bind(this)); + }, + set(r) { + A3(this, t, r); + }, + }); +} +function YOn(e, t) { + let n = Object.getPrototypeOf(e); + return t in n ? void 0 : n; +} +function Da(e, t, n) { + let r = Object.getPrototypeOf(e._zod); + if (t in r && k5e !== e._zod) { + k5e = void 0; + return; + } + ((k5e = e._zod), + Object.defineProperty(r, t, { + configurable: !0, + get() { + Object.defineProperty(this, t, KOn); + let o = T6; + T6 = !1; + try { + let a = n(this); + if (T6) delete this[t]; + else + Object.defineProperty(this, t, { + configurable: !0, + writable: !0, + value: a, + }); + return ((T6 = T6 || o), a); + } catch (a) { + throw (delete this[t], (T6 = T6 || o), a); + } + }, + set(o) { + Object.defineProperty(this, t, { + configurable: !0, + writable: !0, + value: o, + }); + }, + })); +} +function JOn(e, t, n, r) { + let o = YOn(e, t); + if (!o) return; + Object.defineProperty(o, t, { + configurable: !0, + get() { + let a = { configurable: !0, writable: !0, enumerable: r, value: void 0 }; + return ( + Object.defineProperty(this, t, a), + (a.value = n(this)), + Object.defineProperty(this, t, a), + a.value + ); + }, + set(a) { + Object.defineProperty(this, t, { + configurable: !0, + writable: !0, + enumerable: r, + value: a, + }); + }, + }); +} +function iht(e) { + let t = () => e; + return ((t[jOn] = !0), t); +} +var Vmt, + P5e, + Jmt, + jmt, + gre, + L5e, + XOn, + k5e, + T6 = !1, + KOn, + jOn = "~constantCatch"; +var m0 = P(() => { + $E(); + Vmt = Symbol("evaluating"); + P5e = "captureStackTrace" in Error ? Error.captureStackTrace : (...e) => {}; + Jmt = i_(() => { + if (h0.jitless) return !1; + if (typeof navigator < "u" && navigator?.userAgent?.includes("Cloudflare")) + return !1; + try { + return (new Function(""), !0); + } catch (e) { + return !1; + } + }); + jmt = new Set(["string", "number", "symbol"]); + ((gre = (() => ({ + safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER], + int32: [-2147483648, 2147483647], + uint32: [0, 4294967295], + float32: [ + -340282346638528860000000000000000000000, + 340282346638528860000000000000000000000, + ], + float64: [-Number.MAX_VALUE, Number.MAX_VALUE], + }))()), + (L5e = { + int64: [BigInt("-9223372036854775808"), BigInt("9223372036854775807")], + uint64: [BigInt(0), BigInt("18446744073709551615")], + })); + XOn = /[\uD800-\uDBFF]/; + KOn = { + configurable: !0, + get() { + T6 = !0; + return; + }, + }; +}); +function $On(e) { + let t = lht; + if (t) { + let n = t.stackTraceLimit; + if (typeof n === "number") { + try { + t.stackTraceLimit = 0; + } catch { + return ((lht = null), new e()); + } + try { + return new e(); + } finally { + t.stackTraceLimit = n; + } + } + } + return new e(); +} +function Lt(e, t, n, r) { + let o = {}; + function a(p) { + ((this.def = p), (this.constr = d), (this.traits = new Set())); + } + a.prototype = o; + let i = n, + s = i && new WeakSet(); + function l(p, f) { + if (!p._zod) { + O5e.value = new a(f); + try { + Object.defineProperty(p, "_zod", O5e); + } finally { + O5e.value = void 0; + } + } else if (p._zod.traits.has(e)) return; + if ((p._zod.traits.add(e), t(p, f), s)) { + let g = Object.getPrototypeOf(p), + v = p._zod.constr.prototype, + y = g; + while (y && y !== v) y = Object.getPrototypeOf(y); + let x = y ?? g; + if (!s.has(x)) (s.add(x), oht(x, i)); + } + let m = d.prototype; + for (let g in m) { + if (!Object.prototype.hasOwnProperty.call(m, g)) continue; + if (!(g in p)) p[g] = m[g].bind(p); + } + } + let c = r?.Parent ?? Object; + class u extends c {} + Object.defineProperty(u, "name", { value: e }); + function d(p) { + let f = r?.Parent ? $On(u) : this; + l(f, p); + let m = f._zod.deferred; + if (m) { + for (let v of m) v(); + f._zod.deferred = void 0; + } + let g = globalThis.__zod_globalConfig?.postProcessor; + if (g) g(f); + return f; + } + return ( + Object.defineProperty(d, "init", { value: l }), + Object.defineProperty(d, Symbol.hasInstance, { + value: (p) => { + if (r?.Parent && p instanceof r.Parent) return !0; + return p?._zod?.traits?.has(e); + }, + }), + Object.defineProperty(d, "name", { value: e }), + d + ); +} +function g0(e) { + if (e) Object.assign(h0, e); + return h0; +} +var sht, F5e, O5e, lht, ox, l_, h0; +var $E = P(() => { + m0(); + ((F5e = Object.freeze({ status: "aborted" })), + (O5e = { value: void 0, enumerable: !1 }), + (lht = "captureStackTrace" in Error ? Error : null)); + ox = class ox extends Error { + constructor() { + super( + "Encountered Promise during synchronous parse. Use .parseAsync() instead.", + ); + } + }; + l_ = class l_ extends Error { + constructor(e) { + super(`Encountered unidirectional transform during encode: ${e}`); + this.name = "ZodEncodeError"; + } + }; + (sht = globalThis).__zod_globalConfig ?? (sht.__zod_globalConfig = {}); + h0 = globalThis.__zod_globalConfig; +}); +function eFn() { + let e = this._zod; + return (e.message ?? (e.message = JSON.stringify(e.def, a_, 2)), e.message); +} +function tFn(e) { + this._zod.message = e; +} +function rFn(e, t, n) { + if (!Object.prototype.hasOwnProperty.call(e, t)) + if (t === "__proto__") + Object.defineProperty(e, t, { + value: n(), + writable: !0, + enumerable: !0, + configurable: !0, + }); + else e[t] = n(); + return e[t]; +} +function z5e(e, t = (n) => n.message) { + let n = {}, + r = []; + for (let o of e.issues) + if (o.path.length > 0) rFn(n, o.path[0], () => []).push(t(o)); + else r.push(t(o)); + return { formErrors: r, fieldErrors: n }; +} +function _5e(e, t = (n) => n.message) { + let n = { _errors: [] }, + r = (o, a = []) => { + for (let i of o.issues) + if (i.code === "invalid_union" && i.errors.length) + i.errors.map((s) => r({ issues: s }, [...a, ...i.path])); + else if (i.code === "invalid_key") + r({ issues: i.issues }, [...a, ...i.path]); + else if (i.code === "invalid_element") + r({ issues: i.issues }, [...a, ...i.path]); + else { + let s = [...a, ...i.path]; + if (s.length === 0) n._errors.push(t(i)); + else { + let l = n, + c = 0; + while (c < s.length) { + let u = s[c], + d = c === s.length - 1; + if (u === "_errors") { + if (d) l._errors.push(t(i)); + c++; + continue; + } + if (!Object.prototype.hasOwnProperty.call(l, u)) + Object.defineProperty(l, u, { + value: { _errors: [] }, + enumerable: !0, + writable: !0, + configurable: !0, + }); + let p = l[u]; + if (d) p._errors.push(t(i)); + ((l = p), c++); + } + } + } + }; + return (r(e), n); +} +var nFn, + N5e, + cht, + uht = (e, t) => { + ((e.name = "$ZodError"), + (N5e.value = t), + Object.defineProperty(e, "issues", N5e), + (N5e.value = void 0), + Object.defineProperty(e, "message", nFn)); + let n = Object.getPrototypeOf(e); + if (!cht.has(n)) + (cht.add(n), + Object.defineProperty(n, "toString", { + configurable: !0, + enumerable: !1, + get() { + let r = () => this.message; + return ( + Object.defineProperty(this, "toString", { + value: r, + configurable: !0, + writable: !0, + }), + r + ); + }, + set(r) { + Object.defineProperty(this, "toString", { + value: r, + configurable: !0, + writable: !0, + }); + }, + })); + }, + dht, + n4o; +var pht = P(() => { + $E(); + m0(); + ((nFn = { get: eFn, set: tFn, enumerable: !0, configurable: !0 }), + (N5e = { value: void 0, enumerable: !1 }), + (cht = new WeakSet([Object.prototype, Error.prototype])), + (dht = Lt("$ZodError", uht)), + (n4o = Lt("$ZodError", uht, void 0, { Parent: Error }))); +}); +function Are(e, t) { + return { callee: t?.callee ?? e, Err: t?.Err }; +} +function fht(e, t, n) { + let r; + return { + success: !1, + get error() { + if (!r) + ((r = new e(t.map((o) => rx(o, n, g0())))), (t = void 0), (n = void 0)); + return r; + }, + set error(o) { + ((r = o), (t = void 0), (n = void 0)); + }, + }; +} +function iFn(e, t, n) { + let r = n + ? { ...n, async: !1, abortEarly: !0 } + : { async: !1, abortEarly: !0 }, + o = e._zod.bag.fallbackRun, + a; + if (o) ((r[aFn] = !0), (a = o({ value: t, issues: [] }, r))); + else a = e._zod.run({ value: t, issues: [] }, r); + if (a instanceof Promise) throw new ox(); + return a.issues.length === 0; +} +var wre = (e) => { + let t = (n, r, o, a) => { + let i = o ? { ...o, async: !1 } : { async: !1 }, + s = n._zod.run({ value: r, issues: [] }, i); + if (s instanceof Promise) throw new ox(); + if (s.issues.length) { + let l = new (a?.Err ?? e)(s.issues.map((c) => rx(c, i, g0()))); + throw (P5e(l, a?.callee ?? t), l); + } + return s.value; + }; + return t; + }, + Sre = (e) => { + let t = async (n, r, o, a) => { + let i = o ? { ...o, async: !0 } : { async: !0 }, + s = n._zod.run({ value: r, issues: [] }, i); + if (s instanceof Promise) s = await s; + if (s.issues.length) { + let l = new (a?.Err ?? e)(s.issues.map((c) => rx(c, i, g0()))); + throw (P5e(l, a?.callee ?? t), l); + } + return s.value; + }; + return t; + }, + Cre = (e) => (t, n, r) => { + let o = r ? { ...r, async: !1 } : { async: !1 }, + a = t._zod.run({ value: n, issues: [] }, o); + if (a instanceof Promise) throw new ox(); + return a.issues.length + ? fht(e, a.issues, o) + : { success: !0, data: a.value }; + }, + Ere = (e) => async (t, n, r) => { + let o = r ? { ...r, async: !0 } : { async: !0 }, + a = t._zod.run({ value: n, issues: [] }, o); + if (a instanceof Promise) a = await a; + return a.issues.length + ? fht(e, a.issues, o) + : { success: !0, data: a.value }; + }, + oFn, + aFn, + H5e = (e, t, n) => { + let r = e._zod.bag.validator; + if (r !== void 0) { + if (r(t) !== oFn) return !0; + if (r.definite === !0 && n === void 0) return !1; + } + return iFn(e, t, n); + }, + V5e = async (e, t, n) => { + let r = n + ? { ...n, async: !0, abortEarly: !0 } + : { async: !0, abortEarly: !0 }, + o = e._zod.run({ value: t, issues: [] }, r); + if (o instanceof Promise) o = await o; + return o.issues.length === 0; + }, + mht = (e) => { + let t = wre(e), + n = (r, o, a, i) => { + let s = a ? { ...a, direction: "backward" } : { direction: "backward" }; + return t(r, o, s, Are(n, i)); + }; + return n; + }, + hht = (e) => { + let t = wre(e), + n = (r, o, a, i) => t(r, o, a, Are(n, i)); + return n; + }, + ght = (e) => { + let t = Sre(e), + n = async (r, o, a, i) => { + let s = a ? { ...a, direction: "backward" } : { direction: "backward" }; + return await t(r, o, s, Are(n, i)); + }; + return n; + }, + yht = (e) => { + let t = Sre(e), + n = async (r, o, a, i) => await t(r, o, a, Are(n, i)); + return n; + }, + vht = (e) => (t, n, r) => { + let o = r ? { ...r, direction: "backward" } : { direction: "backward" }; + return Cre(e)(t, n, o); + }, + bht = (e) => (t, n, r) => Cre(e)(t, n, r), + xht = (e) => async (t, n, r) => { + let o = r ? { ...r, direction: "backward" } : { direction: "backward" }; + return Ere(e)(t, n, o); + }, + Aht = (e) => async (t, n, r) => Ere(e)(t, n, r); +var wht = P(() => { + $E(); + m0(); + ((oFn = Symbol.for("zod.compile.invalid")), + (aFn = Symbol.for("zod.compile.fallback"))); +}); +function Rht(e) { + return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`); +} +function Lht() { + return new RegExp(sFn, "u"); +} +function lFn(e) { + return new RegExp(`^${e}$`); +} +function G5e(e) { + return typeof e.precision === "number" + ? e.precision === -1 + ? "(?:[01]\\d|2[0-3]):[0-5]\\d" + : e.precision === 0 + ? "(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d" + : `(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}` + : e.seconds + ? "(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?" + : "(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"; +} +function qht(e) { + return new RegExp(`^${G5e(e)}$`); +} +function Zht(e) { + let t = ["Z"]; + if (e.offset) t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)"); + let n = `${G5e({ precision: e.precision, seconds: !0 })}(?:${t.join("|")})`, + r = e.local ? `${n}|${G5e({ precision: e.precision })}` : n; + return new RegExp(`^${Vht}T(?:${r})$`); +} +var Sht, + Cht, + Eht, + Iht, + Tht, + kht, + Pht, + Mht, + q5e = (e) => { + if (!e) + return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/; + return new RegExp( + `^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`, + ); + }, + Dht, + sFn = + "^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$", + Bht, + Oht, + Fht, + Uht, + Nht, + zht, + _ht, + Hht, + Vht = + "(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))", + Ght, + Qht, + Z5e, + c_, + Xht, + Wht, + Yht, + Kht, + Jht; +var u_ = P(() => { + ((Sht = /^[cC][0-9a-z]{6,}$/), + (Cht = /^[0-9a-z]+$/), + (Eht = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/), + (Iht = /^[0-9a-vA-V]{20}$/), + (Tht = /^[A-Za-z0-9]{27}$/), + (kht = /^[a-zA-Z0-9_-]{21}$/)); + ((Pht = + /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/), + (Mht = + /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/), + (Dht = + /^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/)); + ((Bht = + /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/), + (Oht = + /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/), + (Fht = + /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/), + (Uht = + /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/), + (Nht = + /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/), + (zht = /^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/), + (_ht = /^https?$/), + (Hht = /^\+[1-9]\d{6,14}$/)); + Ght = lFn(Vht); + ((Qht = /^[\s\S]{0,}$/), + (Z5e = /^-?\d+$/), + (c_ = /^-?\d+(?:\.\d+)?$/), + (Xht = /^(?:true|false)$/i), + (Wht = /^null$/i), + (Yht = /^undefined$/i), + (Kht = /^[^A-Z]*$/), + (Jht = /^[^a-z]*$/)); +}); +var kf, + Q5e = (e) => { + let t = e.value; + return !qmt(t) && t.length !== void 0; + }, + Ire, + X5e, + W5e, + jht, + $ht, + e0t, + t0t, + n0t, + d_, + r0t, + o0t, + a0t, + i0t, + s0t, + l0t, + c0t; +var Tre = P(() => { + $E(); + u_(); + m0(); + ((kf = Lt("$ZodCheck", (e, t) => { + var n; + (e._zod ?? (e._zod = {}), + (e._zod.def = t), + (n = e._zod).onattach ?? (n.onattach = [])); + })), + (Ire = { number: "number", bigint: "bigint", object: "date" }), + (X5e = Lt("$ZodCheckLessThan", (e, t) => { + kf.init(e, t); + let n = Ire[typeof t.value]; + e._zod.check = (r) => { + if (t.inclusive ? r.value <= t.value : r.value < t.value) return; + r.issues.push({ + origin: Ire[typeof r.value] ?? n, + code: "too_big", + maximum: typeof t.value === "object" ? t.value.getTime() : t.value, + input: r.value, + inclusive: t.inclusive, + inst: e, + continue: !t.abort, + }); + }; + })), + (W5e = Lt("$ZodCheckGreaterThan", (e, t) => { + kf.init(e, t); + let n = Ire[typeof t.value]; + e._zod.check = (r) => { + if (t.inclusive ? r.value >= t.value : r.value > t.value) return; + r.issues.push({ + origin: Ire[typeof r.value] ?? n, + code: "too_small", + minimum: typeof t.value === "object" ? t.value.getTime() : t.value, + input: r.value, + inclusive: t.inclusive, + inst: e, + continue: !t.abort, + }); + }; + })), + (jht = Lt("$ZodCheckMultipleOf", (e, t) => { + (kf.init(e, t), + (e._zod.check = (n) => { + if (typeof n.value !== typeof t.value) + throw Error("Cannot mix number and bigint in multiple_of check."); + if ( + typeof n.value === "bigint" + ? t.value !== BigInt(0) && n.value % t.value === BigInt(0) + : Zmt(n.value, t.value) === 0 + ) + return; + n.issues.push({ + origin: typeof n.value, + code: "not_multiple_of", + divisor: t.value, + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + ($ht = Lt("$ZodCheckNumberFormat", (e, t) => { + (kf.init(e, t), (t.format = t.format || "float64")); + let n = t.format?.includes("int"), + r = n ? "int" : "number", + [o, a] = gre[t.format]; + e._zod.check = (i) => { + let s = i.value; + if (n) { + if (!Number.isInteger(s)) { + i.issues.push({ + expected: r, + format: t.format, + code: "invalid_type", + continue: !1, + input: s, + inst: e, + }); + return; + } + if (!Number.isSafeInteger(s)) { + if (s > 0) + i.issues.push({ + input: s, + code: "too_big", + maximum: Number.MAX_SAFE_INTEGER, + note: "Integers must be within the safe integer range.", + inst: e, + origin: r, + inclusive: !0, + continue: !t.abort, + }); + else + i.issues.push({ + input: s, + code: "too_small", + minimum: Number.MIN_SAFE_INTEGER, + note: "Integers must be within the safe integer range.", + inst: e, + origin: r, + inclusive: !0, + continue: !t.abort, + }); + return; + } + } + if (s < o) + i.issues.push({ + origin: "number", + input: s, + code: "too_small", + minimum: o, + inclusive: !0, + inst: e, + continue: !t.abort, + }); + if (s > a) + i.issues.push({ + origin: "number", + input: s, + code: "too_big", + maximum: a, + inclusive: !0, + inst: e, + continue: !t.abort, + }); + }; + })), + (e0t = Lt("$ZodCheckMaxLength", (e, t) => { + var n; + (kf.init(e, t), + (n = e._zod.def).when ?? (n.when = Q5e), + (e._zod.check = (r) => { + let o = r.value, + a = o.length; + if ( + (typeof o === "string" && a > t.maximum ? vre(o) : a) <= t.maximum + ) + return; + let s = bre(o); + r.issues.push({ + origin: s, + code: "too_big", + maximum: t.maximum, + inclusive: !0, + input: o, + inst: e, + continue: !t.abort, + }); + })); + })), + (t0t = Lt("$ZodCheckMinLength", (e, t) => { + var n; + (kf.init(e, t), + (n = e._zod.def).when ?? (n.when = Q5e), + (e._zod.check = (r) => { + let o = r.value, + a = o.length; + if ( + (typeof o === "string" && a >= t.minimum && a < t.minimum * 2 + ? vre(o) + : a) >= t.minimum + ) + return; + let s = bre(o); + r.issues.push({ + origin: s, + code: "too_small", + minimum: t.minimum, + inclusive: !0, + input: o, + inst: e, + continue: !t.abort, + }); + })); + })), + (n0t = Lt("$ZodCheckLengthEquals", (e, t) => { + var n; + (kf.init(e, t), + (n = e._zod.def).when ?? (n.when = Q5e), + (e._zod.check = (r) => { + let o = r.value, + a = o.length, + i = + typeof o === "string" && a >= t.length && a <= t.length * 2 + ? vre(o) + : a; + if (i === t.length) return; + let s = bre(o), + l = i > t.length; + r.issues.push({ + origin: s, + ...(l + ? { code: "too_big", maximum: t.length } + : { code: "too_small", minimum: t.length }), + inclusive: !0, + exact: !0, + input: r.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (d_ = Lt("$ZodCheckStringFormat", (e, t) => { + var n, r; + if ((kf.init(e, t), t.pattern)) + (n = e._zod).check ?? + (n.check = (o) => { + if (((t.pattern.lastIndex = 0), t.pattern.test(o.value))) return; + o.issues.push({ + origin: "string", + code: "invalid_format", + format: t.format, + input: o.value, + ...(t.pattern ? { pattern: t.pattern.toString() } : {}), + inst: e, + continue: !t.abort, + }); + }); + else (r = e._zod).check ?? (r.check = () => {}); + })), + (r0t = Lt("$ZodCheckRegex", (e, t) => { + (d_.init(e, t), + (e._zod.check = (n) => { + if (((t.pattern.lastIndex = 0), t.pattern.test(n.value))) return; + n.issues.push({ + origin: "string", + code: "invalid_format", + format: "regex", + input: n.value, + pattern: t.pattern.toString(), + inst: e, + continue: !t.abort, + }); + })); + })), + (o0t = Lt("$ZodCheckLowerCase", (e, t) => { + (t.pattern ?? (t.pattern = Kht), d_.init(e, t)); + })), + (a0t = Lt("$ZodCheckUpperCase", (e, t) => { + (t.pattern ?? (t.pattern = Jht), d_.init(e, t)); + })), + (i0t = Lt("$ZodCheckIncludes", (e, t) => { + kf.init(e, t); + let n = k6(t.includes), + r = new RegExp( + typeof t.position === "number" ? `^.{${t.position},}${n}` : n, + ); + ((t.pattern = r), + (e._zod.check = (o) => { + if (o.value.includes(t.includes, t.position)) return; + o.issues.push({ + origin: "string", + code: "invalid_format", + format: "includes", + includes: t.includes, + input: o.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (s0t = Lt("$ZodCheckStartsWith", (e, t) => { + kf.init(e, t); + let n = new RegExp(`^${k6(t.prefix)}.*`); + (t.pattern ?? (t.pattern = n), + (e._zod.check = (r) => { + if (r.value.startsWith(t.prefix)) return; + r.issues.push({ + origin: "string", + code: "invalid_format", + format: "starts_with", + prefix: t.prefix, + input: r.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (l0t = Lt("$ZodCheckEndsWith", (e, t) => { + kf.init(e, t); + let n = new RegExp(`.*${k6(t.suffix)}$`); + (t.pattern ?? (t.pattern = n), + (e._zod.check = (r) => { + if (r.value.endsWith(t.suffix)) return; + r.issues.push({ + origin: "string", + code: "invalid_format", + format: "ends_with", + suffix: t.suffix, + input: r.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (c0t = Lt("$ZodCheckOverwrite", (e, t) => { + (kf.init(e, t), + (e._zod.check = (n) => { + n.value = t.tx(n.value); + })); + }))); +}); +class Y5e { + constructor(e = [], t = {}) { + ((this.content = []), + (this.indent = 0), + (this.args = e), + (this.closed = t)); + } + indented(e) { + this.indent += 1; + try { + e(this); + } finally { + this.indent -= 1; + } + } + write(e) { + if (typeof e === "function") { + (e(this, { execution: "sync" }), e(this, { execution: "async" })); + return; + } + let n = e + .split( + ` +`, + ) + .filter((a) => a), + r = Math.min(...n.map((a) => a.length - a.trimStart().length)), + o = n.map((a) => a.slice(r)).map((a) => " ".repeat(this.indent * 2) + a); + for (let a of o) this.content.push(a); + } + compile() { + let e = Function, + t = this?.content ?? [""]; + return new e( + ...Object.keys(this.closed), + `return function (${this.args.join(", ")}) { ${t.join(` `)} -};`)(...Object.values(this.closed))}}var d0t;var K5e=P(()=>{d0t={major:4,minor:6,patch:5}});async function cFn(e,t){let n={async:!0};return w0t(await e._zod.run({value:t,issues:[]},n),n)}function j5e(e){return{validate:(t)=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return w0t(r,n)}catch(r){}return cFn(e,t)},vendor:"zod",version:1}}function T0t(e){try{if(typeof URL<"u"&&typeof URL.canParse==="function")return URL.canParse(e);return new URL(e),!0}catch{return!1}}function uFn(e,t){if(!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t))return T0t(e)||Rre;return dFn(e,t)}function dFn(e,t){if(!t.normalize&&t.protocol?.source===_ht.source&&!/^https?:\/\//i.test(e))return I0t;try{if(typeof URL<"u"){let n=URL;if(typeof n.parse==="function")return n.parse(e)??Rre}return new URL(e)}catch{return Rre}}function p0t(e){return e.replace(pFn,"")}function fFn(e,t){return t.lastIndex=0,t.test(e.hostname)}function mFn(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}function H0t(e){if(!hFn.test(e))return!1;return T0t(`http://[${e}]`)}function gFn(e){let t=e.split("/");if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let o=Number(r);if(`${o}`!==r)return!1;if(o<0||o>128)return!1;return H0t(n)}function Z0t(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function yFn(e){if(!Dre.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Z0t(n)}function vFn(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}function f0t(e,t,n){if(e.issues.length)t.issues.push(...R6(n,e.issues));t.value[n]=e.value}function Pre(e,t,n,r,o,a){let i=n in r,s=a==="optional";if(!i&&s&&o==="optional")return;if(e.issues.length){if(o!==void 0&&s&&!i)return;t.issues.push(...R6(n,e.issues))}if(!i&&o===void 0){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}if(e.value===void 0){if(i||o==="defaulted"&&!s)t.value[n]=void 0}else t.value[n]=e.value}function ogt(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:bFn,o=r.length?[...t,...r]:t;for(let i of o)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${String(i)}": expected a Zod schema`);let a=$mt(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function agt(e,t,n,r,o,a,i){let s=[],l=o.keySet,c=o.catchall._zod,u=c.def.type,{optin:d,optout:p}=c,f=0;for(let m in t){if(i&&n.issues.length!==f){if(nx(n,f))break;f=n.issues.length}if(l.has(m))continue;if(m==="__proto__"){if(u==="never")s.push(m);continue}if(u==="never"){s.push(m);continue}let g=c.run({value:t[m],issues:[]},r);if(g instanceof Promise)e.push(g.then((v)=>Pre(v,n,m,t,d,p)));else Pre(g,n,m,t,d,p)}if(s.length)n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:a,continue:!0});if(!e.length)return n;return Promise.all(e).then(()=>n)}function m0t(e,t,n,r){for(let a of e)if(a.issues.length===0)return t.value=a.value,t;let o=e.filter((a)=>!nx(a));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((a)=>a.issues.map((i)=>rx(i,r,g0())))}),t}function AFn(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let o of r)if(t.has(o)){if(o!==void 0)throw Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,n)}return t}function J5e(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(JE(e)&&JE(t)){let n=Object.keys(t),r=Object.keys(e).filter((a)=>n.indexOf(a)!==-1),o={...e,...t};if(Object.prototype.hasOwnProperty.call(o,"__proto__"))delete o.__proto__;for(let a of r){if(a==="__proto__")continue;let i=J5e(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};o[a]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r{let d;if(c.code==="unrecognized_keys"&&!c.path?.length)o??(o=c),d=c.keys;else if(c.code==="invalid_key"&&c.origin==="record"&&c.path?.length===1){let p=String(c.path[0]);if(!a.has(p))a.set(p,c);d=[p]}else return!1;for(let p of d){if(!r.has(p))r.set(p,{});r.get(p)[u]=!0}return!0};for(let c of t.issues)if(!i(c,"l"))e.issues.push(c);for(let c of n.issues)if(!i(c,"r"))e.issues.push(c);let s=[...r].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(s.length){let c=o?s.filter((u)=>o.keys.includes(u)):[];if(c.length)e.issues.push({...o,keys:c});for(let u of s)if(!c.includes(u)&&a.has(u))e.issues.push(a.get(u))}let l=J5e(t.value,n.value);if(!l.valid){if(nx(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(l.mergeErrorPath)}`)}return e.value=l.data,e}function g0t(e,t){return e.value=t.issues.length?void 0:t.value,e}function y0t(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function v0t(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function b0t(e,t,n,r){if(!t.issues.length){if(e.value=t.value,t.memo)e.memo=!0;return e}return e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map((o)=>rx(o,r,g0()))},input:e.value}),e}function kre(e,t,n){if(e.issues.some((r)=>r.code!=="unrecognized_keys"))return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}function x0t(e){if(!e.memo)e.value=Object.freeze(e.value);return e}function A0t(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};if(r._zod.def.params)o.params=r._zod.def.params;t.issues.push(jE(o))}}var os,w0t=(e,t)=>e.issues.length?{issues:e.issues.map((n)=>rx(n,t,g0()))}:{value:e.value},Mre,js,S0t,C0t,E0t,I0t=1,Rre=2,pFn,k0t,R0t,P0t,M0t,D0t,L0t,B0t,O0t,F0t,U0t,N0t,z0t,_0t,hFn,V0t,G0t,q0t,$5e,Q0t,Dre,X0t,W0t,Y0t,e8e,K0t,J0t,j0t,$0t,egt,tgt,ngt,rgt,bFn,xFn,igt,t8e,sgt,lgt,cgt,ugt,dgt,pgt,n8e,fgt,mgt,hgt,ggt,ygt,vgt,r8e,bgt,xgt,Agt,wgt;var o8e=P(()=>{Tre();$E();u_();m0();K5e();m0();os=Lt("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=d0t;let r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r?.length?[...r]:[];for(let a of o)for(let i of a._zod.onattach)i(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let a=(s,l,c)=>{if(s.memo)return s;let u=nx(s),d;for(let p of l){if(p._zod.def.when){if(nht(s))continue;if(!p._zod.def.when(s))continue}else if(u)continue;let f=s.issues.length,m=p._zod.check(s);if(m instanceof Promise&&c?.async===!1)throw new ox;if(d||m instanceof Promise)d=(d??Promise.resolve()).then(async()=>{if(await m,s.issues.length===f)return;if(B5e(s.issues,f,e),!u)u=nx(s,f)});else{if(s.issues.length===f)continue;if(B5e(s.issues,f,e),!u)u=nx(s,f)}}if(d)return d.then(()=>s);return s},i=(s,l,c)=>{if(nx(s))return s.aborted=!0,s;let u=a(l,o,c);if(u instanceof Promise){if(c.async===!1)throw new ox;return u.then((d)=>e._zod.parse(d,c))}return e._zod.parse(u,c)};e._zod.run=(s,l)=>{if(l.skipChecks)return e._zod.parse(s,l);if(l.direction==="backward"){let u=e._zod.parse({value:s.value,issues:[]},{...l,skipChecks:!0});if(u instanceof Promise)return u.then((d)=>i(d,s,l));return i(u,s,l)}let c=e._zod.parse(s,l);if(c instanceof Promise){if(l.async===!1)throw new ox;return c.then((u)=>a(u,o,l))}return a(c,o,l)}}},{get "~standard"(){return xre(this,"~standard",j5e(this))},set "~standard"(e){A3(this,"~standard",e)}});Mre=Lt("$ZodString",(e,t)=>{os.init(e,t),e._zod.pattern=t.pattern??Qht,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),js=Lt("$ZodStringFormat",(e,t)=>{d_.init(e,t),Mre.init(e,t)}),S0t=Lt("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Mht),js.init(e,t)}),C0t=Lt("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=q5e(r))}else t.pattern??(t.pattern=q5e());js.init(e,t)}),E0t=Lt("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Dht),js.init(e,t)});pFn=/[\t\n\r]/g;k0t=Lt("$ZodURL",(e,t)=>{js.init(e,t),e._zod.check=(n)=>{try{let r=n.value.trim(),o=uFn(r,t);if(o===I0t){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}if(o===Rre){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort});return}if(o===!0){n.value=p0t(r);return}if(t.hostname&&!fFn(o,t.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort});if(t.protocol&&!mFn(o,t.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort});n.value=t.normalize?o.href:p0t(r);return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),R0t=Lt("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Lht()),js.init(e,t)}),P0t=Lt("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?kht:Rht(t.length)),js.init(e,t)}),M0t=Lt("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Sht),js.init(e,t)}),D0t=Lt("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Cht),js.init(e,t)}),L0t=Lt("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Eht),js.init(e,t)}),B0t=Lt("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Iht),js.init(e,t)}),O0t=Lt("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Tht),js.init(e,t)}),F0t=Lt("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Zht(t)),js.init(e,t)}),U0t=Lt("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ght),js.init(e,t)}),N0t=Lt("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=qht(t)),js.init(e,t)}),z0t=Lt("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Pht),js.init(e,t)}),_0t=Lt("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Bht),js.init(e,t)}),hFn=/^[0-9a-fA-F:.]+$/;V0t=Lt("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Oht),js.init(e,t),e._zod.check=(n)=>{if(!H0t(n.value))n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}),G0t=Lt("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Fht),js.init(e,t)});q0t=Lt("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Uht),js.init(e,t),e._zod.check=(n)=>{if(!gFn(n.value))n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}});$5e=/^[0-9a-zA-Z+/]*={0,2}$/,Q0t=Lt("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=$5e),js.init(e,t),e._zod.check=(n)=>{if(Z0t(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}}),Dre=/^[A-Za-z0-9_-]*$/;X0t=Lt("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Dre),js.init(e,t),e._zod.check=(n)=>{if(yFn(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),W0t=Lt("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Hht),js.init(e,t)});Y0t=Lt("$ZodJWT",(e,t)=>{js.init(e,t),e._zod.check=(n)=>{if(vFn(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),e8e=Lt("$ZodNumber",(e,t)=>{os.init(e,t),e._zod.pattern=c_,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(i){}let o=n.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let a=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?String(o):void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...a?{received:a}:{}}),n}}),K0t=Lt("$ZodNumberFormat",(e,t)=>{$ht.init(e,t),e8e.init(e,t)}),J0t=Lt("$ZodBoolean",(e,t)=>{os.init(e,t),e._zod.pattern=Xht,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(a){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),j0t=Lt("$ZodUndefined",(e,t)=>{os.init(e,t),e._zod.pattern=Yht,e._zod.values=new Set([void 0]),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),n}}),$0t=Lt("$ZodNull",(e,t)=>{os.init(e,t),e._zod.pattern=Wht,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;if(o===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),egt=Lt("$ZodAny",(e,t)=>{os.init(e,t),e._zod.parse=(n)=>n}),tgt=Lt("$ZodUnknown",(e,t)=>{os.init(e,t),e._zod.parse=(n)=>n}),ngt=Lt("$ZodNever",(e,t)=>{os.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});rgt=Lt("$ZodArray",(e,t)=>{os.init(e,t);let n=h0.memoizer;n?.attach(e),e._zod.parse=(r,o)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),o):Array(a.length);let i=[],s=o?.abortEarly;for(let l=0;lf0t(d,r,l)));else if(f0t(u,r,l),s&&u.issues.length!==0&&nx(u))break}if(i.length)return Promise.all(i).then(()=>r);return r}});bFn=[];xFn=Lt("$ZodObject",(e,t)=>{os.init(e,t);let n=Object.getOwnPropertyDescriptor(t,"shape"),r=n?.get?n.get.raw:t.shape??{};if(r){let c=()=>{let u={...r};return Object.defineProperty(t,"shape",{value:u}),c.raw=u,u};c.raw=r,Object.defineProperty(t,"shape",{get:c})}let o=i_(()=>ogt(t));Da(e,"propValues",(c)=>{let u=c.def.shape,d={};for(let p in u){let f=u[p]._zod;if(f.values){if(!Object.prototype.hasOwnProperty.call(d,p))Mg(d,p,new Set);for(let m of f.values)d[p].add(m);if(f.optin!==void 0)d[p].add(void 0)}}return d});let a=_9,i=t.catchall,s,l=h0.memoizer;l?.attach(e),e._zod.parse=(c,u)=>{s??(s=o.value);let d=c.value;if(!a(d))return c.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),c;c.value=l?l.alloc(e,c,{},u):{};let p=[],f=s.shape,m=u?.abortEarly,g=c.issues.length;for(let v of s.allKeys){if(m&&c.issues.length!==g){if(nx(c,g))break;g=c.issues.length}if(v==="__proto__")continue;let y=f[v],x=y._zod.optin,A=y._zod.optout,w=y._zod.run({value:d[v],issues:[]},u);if(w instanceof Promise)p.push(w.then((C)=>Pre(C,c,v,d,x,A)));else Pre(w,c,v,d,x,A)}if(!i)return p.length?Promise.all(p).then(()=>c):c;return agt(p,d,c,u,o.value,e,m===!0)}}),igt=Lt("$ZodObjectJIT",(e,t)=>{xFn.init(e,t);let n=e._zod.parse,r=i_(()=>ogt(t)),o=h0.memoizer,a=(f)=>{let m=r.value,g=m.symbolKeys,v=new Y5e(["payload","ctx"],{shape:f,inst:e,memo:o,syms:g}),y=(C)=>`shape[${C}]._zod.run({ value: input[${C}], issues: [] }, ctx)`,x=(C,E)=>` +};`, + )(...Object.values(this.closed)); + } +} +var d0t; +var K5e = P(() => { + d0t = { major: 4, minor: 6, patch: 5 }; +}); +async function cFn(e, t) { + let n = { async: !0 }; + return w0t(await e._zod.run({ value: t, issues: [] }, n), n); +} +function j5e(e) { + return { + validate: (t) => { + let n = { async: !1 }; + try { + let r = e._zod.run({ value: t, issues: [] }, n); + if (!(r instanceof Promise)) return w0t(r, n); + } catch (r) {} + return cFn(e, t); + }, + vendor: "zod", + version: 1, + }; +} +function T0t(e) { + try { + if (typeof URL < "u" && typeof URL.canParse === "function") + return URL.canParse(e); + return (new URL(e), !0); + } catch { + return !1; + } +} +function uFn(e, t) { + if (!("normalize" in t) && !("hostname" in t) && !("protocol" in t)) + return T0t(e) || Rre; + return dFn(e, t); +} +function dFn(e, t) { + if ( + !t.normalize && + t.protocol?.source === _ht.source && + !/^https?:\/\//i.test(e) + ) + return I0t; + try { + if (typeof URL < "u") { + let n = URL; + if (typeof n.parse === "function") return n.parse(e) ?? Rre; + } + return new URL(e); + } catch { + return Rre; + } +} +function p0t(e) { + return e.replace(pFn, ""); +} +function fFn(e, t) { + return ((t.lastIndex = 0), t.test(e.hostname)); +} +function mFn(e, t) { + return ( + (t.lastIndex = 0), + t.test(e.protocol.endsWith(":") ? e.protocol.slice(0, -1) : e.protocol) + ); +} +function H0t(e) { + if (!hFn.test(e)) return !1; + return T0t(`http://[${e}]`); +} +function gFn(e) { + let t = e.split("/"); + if (t.length !== 2) return !1; + let [n, r] = t; + if (!r) return !1; + let o = Number(r); + if (`${o}` !== r) return !1; + if (o < 0 || o > 128) return !1; + return H0t(n); +} +function Z0t(e) { + if (e === "") return !0; + if (/\s/.test(e)) return !1; + if (e.length % 4 !== 0) return !1; + try { + return (atob(e), !0); + } catch { + return !1; + } +} +function yFn(e) { + if (!Dre.test(e)) return !1; + let t = e.replace(/[-_]/g, (r) => (r === "-" ? "+" : "/")), + n = t.padEnd(Math.ceil(t.length / 4) * 4, "="); + return Z0t(n); +} +function vFn(e, t = null) { + try { + let n = e.split("."); + if (n.length !== 3) return !1; + let [r] = n; + if (!r) return !1; + let o = JSON.parse(atob(r)); + if ("typ" in o && o?.typ !== "JWT") return !1; + if (!o.alg) return !1; + if (t && (!("alg" in o) || o.alg !== t)) return !1; + return !0; + } catch { + return !1; + } +} +function f0t(e, t, n) { + if (e.issues.length) t.issues.push(...R6(n, e.issues)); + t.value[n] = e.value; +} +function Pre(e, t, n, r, o, a) { + let i = n in r, + s = a === "optional"; + if (!i && s && o === "optional") return; + if (e.issues.length) { + if (o !== void 0 && s && !i) return; + t.issues.push(...R6(n, e.issues)); + } + if (!i && o === void 0) { + if (!e.issues.length) + t.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: void 0, + path: [n], + }); + return; + } + if (e.value === void 0) { + if (i || (o === "defaulted" && !s)) t.value[n] = void 0; + } else t.value[n] = e.value; +} +function ogt(e) { + let t = Object.keys(e.shape), + n = Object.getOwnPropertySymbols(e.shape), + r = n.length ? n : bFn, + o = r.length ? [...t, ...r] : t; + for (let i of o) + if (!e.shape?.[i]?._zod?.traits?.has("$ZodType")) + throw Error( + `Invalid element at key "${String(i)}": expected a Zod schema`, + ); + let a = $mt(e.shape); + return { + ...e, + allKeys: o, + symbolKeys: r, + keySet: new Set(t), + numKeys: t.length, + optionalKeys: new Set(a), + }; +} +function agt(e, t, n, r, o, a, i) { + let s = [], + l = o.keySet, + c = o.catchall._zod, + u = c.def.type, + { optin: d, optout: p } = c, + f = 0; + for (let m in t) { + if (i && n.issues.length !== f) { + if (nx(n, f)) break; + f = n.issues.length; + } + if (l.has(m)) continue; + if (m === "__proto__") { + if (u === "never") s.push(m); + continue; + } + if (u === "never") { + s.push(m); + continue; + } + let g = c.run({ value: t[m], issues: [] }, r); + if (g instanceof Promise) e.push(g.then((v) => Pre(v, n, m, t, d, p))); + else Pre(g, n, m, t, d, p); + } + if (s.length) + n.issues.push({ + code: "unrecognized_keys", + keys: s, + input: t, + inst: a, + continue: !0, + }); + if (!e.length) return n; + return Promise.all(e).then(() => n); +} +function m0t(e, t, n, r) { + for (let a of e) if (a.issues.length === 0) return ((t.value = a.value), t); + let o = e.filter((a) => !nx(a)); + if (o.length === 1) return ((t.value = o[0].value), o[0]); + return ( + t.issues.push({ + code: "invalid_union", + input: t.value, + inst: n, + errors: e.map((a) => a.issues.map((i) => rx(i, r, g0()))), + }), + t + ); +} +function AFn(e) { + let t = new Map(); + for (let n of e.options) { + let r = n._zod.propValues?.[e.discriminator]; + if (!r || r.size === 0) + throw Error( + `Invalid discriminated union option at index "${e.options.indexOf(n)}"`, + ); + for (let o of r) + if (t.has(o)) { + if (o !== void 0) + throw Error(`Duplicate discriminator value "${String(o)}"`); + t.set(o, null); + } else t.set(o, n); + } + return t; +} +function J5e(e, t) { + if (e === t) return { valid: !0, data: e }; + if (e instanceof Date && t instanceof Date && +e === +t) + return { valid: !0, data: e }; + if (JE(e) && JE(t)) { + let n = Object.keys(t), + r = Object.keys(e).filter((a) => n.indexOf(a) !== -1), + o = { ...e, ...t }; + if (Object.prototype.hasOwnProperty.call(o, "__proto__")) + delete o.__proto__; + for (let a of r) { + if (a === "__proto__") continue; + let i = J5e(e[a], t[a]); + if (!i.valid) + return { valid: !1, mergeErrorPath: [a, ...i.mergeErrorPath] }; + o[a] = i.data; + } + return { valid: !0, data: o }; + } + if (Array.isArray(e) && Array.isArray(t)) { + if (e.length !== t.length) return { valid: !1, mergeErrorPath: [] }; + let n = []; + for (let r = 0; r < e.length; r++) { + let o = e[r], + a = t[r], + i = J5e(o, a); + if (!i.valid) + return { valid: !1, mergeErrorPath: [r, ...i.mergeErrorPath] }; + n.push(i.data); + } + return { valid: !0, data: n }; + } + return { valid: !1, mergeErrorPath: [] }; +} +function h0t(e, t, n) { + let r = new Map(), + o, + a = new Map(), + i = (c, u) => { + let d; + if (c.code === "unrecognized_keys" && !c.path?.length) + (o ?? (o = c), (d = c.keys)); + else if ( + c.code === "invalid_key" && + c.origin === "record" && + c.path?.length === 1 + ) { + let p = String(c.path[0]); + if (!a.has(p)) a.set(p, c); + d = [p]; + } else return !1; + for (let p of d) { + if (!r.has(p)) r.set(p, {}); + r.get(p)[u] = !0; + } + return !0; + }; + for (let c of t.issues) if (!i(c, "l")) e.issues.push(c); + for (let c of n.issues) if (!i(c, "r")) e.issues.push(c); + let s = [...r].filter(([, c]) => c.l && c.r).map(([c]) => c); + if (s.length) { + let c = o ? s.filter((u) => o.keys.includes(u)) : []; + if (c.length) e.issues.push({ ...o, keys: c }); + for (let u of s) if (!c.includes(u) && a.has(u)) e.issues.push(a.get(u)); + } + let l = J5e(t.value, n.value); + if (!l.valid) { + if (nx(e)) return e; + throw Error( + `Unmergable intersection. Error path: ${JSON.stringify(l.mergeErrorPath)}`, + ); + } + return ((e.value = l.data), e); +} +function g0t(e, t) { + return ((e.value = t.issues.length ? void 0 : t.value), e); +} +function y0t(e, t) { + if (e.value === void 0) e.value = t.defaultValue; + return e; +} +function v0t(e, t) { + if (!e.issues.length && e.value === void 0) + e.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: e.value, + inst: t, + }); + return e; +} +function b0t(e, t, n, r) { + if (!t.issues.length) { + if (((e.value = t.value), t.memo)) e.memo = !0; + return e; + } + return ( + (e.value = n.catchValue({ + ...t, + value: e.value, + error: { issues: t.issues.map((o) => rx(o, r, g0())) }, + input: e.value, + })), + e + ); +} +function kre(e, t, n) { + if (e.issues.some((r) => r.code !== "unrecognized_keys")) + return ((e.aborted = !0), e); + return t._zod.run({ value: e.value, issues: e.issues }, n); +} +function x0t(e) { + if (!e.memo) e.value = Object.freeze(e.value); + return e; +} +function A0t(e, t, n, r) { + if (!e) { + let o = { + code: "custom", + input: n, + inst: r, + path: [...(r._zod.def.path ?? [])], + continue: !r._zod.def.abort, + }; + if (r._zod.def.params) o.params = r._zod.def.params; + t.issues.push(jE(o)); + } +} +var os, + w0t = (e, t) => + e.issues.length + ? { issues: e.issues.map((n) => rx(n, t, g0())) } + : { value: e.value }, + Mre, + js, + S0t, + C0t, + E0t, + I0t = 1, + Rre = 2, + pFn, + k0t, + R0t, + P0t, + M0t, + D0t, + L0t, + B0t, + O0t, + F0t, + U0t, + N0t, + z0t, + _0t, + hFn, + V0t, + G0t, + q0t, + $5e, + Q0t, + Dre, + X0t, + W0t, + Y0t, + e8e, + K0t, + J0t, + j0t, + $0t, + egt, + tgt, + ngt, + rgt, + bFn, + xFn, + igt, + t8e, + sgt, + lgt, + cgt, + ugt, + dgt, + pgt, + n8e, + fgt, + mgt, + hgt, + ggt, + ygt, + vgt, + r8e, + bgt, + xgt, + Agt, + wgt; +var o8e = P(() => { + Tre(); + $E(); + u_(); + m0(); + K5e(); + m0(); + os = Lt( + "$ZodType", + (e, t) => { + var n; + (e ?? (e = {}), + (e._zod.def = t), + (e._zod.bag = e._zod.bag || {}), + (e._zod.version = d0t)); + let r = e._zod.def.checks, + o = e._zod.traits.has("$ZodCheck") + ? [e, ...(r ?? [])] + : r?.length + ? [...r] + : []; + for (let a of o) for (let i of a._zod.onattach) i(e); + if (o.length === 0) + ((n = e._zod).deferred ?? (n.deferred = []), + e._zod.deferred?.push(() => { + e._zod.run = e._zod.parse; + })); + else { + let a = (s, l, c) => { + if (s.memo) return s; + let u = nx(s), + d; + for (let p of l) { + if (p._zod.def.when) { + if (nht(s)) continue; + if (!p._zod.def.when(s)) continue; + } else if (u) continue; + let f = s.issues.length, + m = p._zod.check(s); + if (m instanceof Promise && c?.async === !1) throw new ox(); + if (d || m instanceof Promise) + d = (d ?? Promise.resolve()).then(async () => { + if ((await m, s.issues.length === f)) return; + if ((B5e(s.issues, f, e), !u)) u = nx(s, f); + }); + else { + if (s.issues.length === f) continue; + if ((B5e(s.issues, f, e), !u)) u = nx(s, f); + } + } + if (d) return d.then(() => s); + return s; + }, + i = (s, l, c) => { + if (nx(s)) return ((s.aborted = !0), s); + let u = a(l, o, c); + if (u instanceof Promise) { + if (c.async === !1) throw new ox(); + return u.then((d) => e._zod.parse(d, c)); + } + return e._zod.parse(u, c); + }; + e._zod.run = (s, l) => { + if (l.skipChecks) return e._zod.parse(s, l); + if (l.direction === "backward") { + let u = e._zod.parse( + { value: s.value, issues: [] }, + { ...l, skipChecks: !0 }, + ); + if (u instanceof Promise) return u.then((d) => i(d, s, l)); + return i(u, s, l); + } + let c = e._zod.parse(s, l); + if (c instanceof Promise) { + if (l.async === !1) throw new ox(); + return c.then((u) => a(u, o, l)); + } + return a(c, o, l); + }; + } + }, + { + get "~standard"() { + return xre(this, "~standard", j5e(this)); + }, + set "~standard"(e) { + A3(this, "~standard", e); + }, + }, + ); + ((Mre = Lt("$ZodString", (e, t) => { + (os.init(e, t), + (e._zod.pattern = t.pattern ?? Qht), + (e._zod.parse = (n, r) => { + if (t.coerce) + try { + n.value = String(n.value); + } catch (o) {} + if (typeof n.value === "string") return n; + return ( + n.issues.push({ + expected: "string", + code: "invalid_type", + input: n.value, + inst: e, + }), + n + ); + })); + })), + (js = Lt("$ZodStringFormat", (e, t) => { + (d_.init(e, t), Mre.init(e, t)); + })), + (S0t = Lt("$ZodGUID", (e, t) => { + (t.pattern ?? (t.pattern = Mht), js.init(e, t)); + })), + (C0t = Lt("$ZodUUID", (e, t) => { + if (t.version) { + let r = { v1: 1, v2: 2, v3: 3, v4: 4, v5: 5, v6: 6, v7: 7, v8: 8 }[ + t.version + ]; + if (r === void 0) throw Error(`Invalid UUID version: "${t.version}"`); + t.pattern ?? (t.pattern = q5e(r)); + } else t.pattern ?? (t.pattern = q5e()); + js.init(e, t); + })), + (E0t = Lt("$ZodEmail", (e, t) => { + (t.pattern ?? (t.pattern = Dht), js.init(e, t)); + }))); + pFn = /[\t\n\r]/g; + ((k0t = Lt("$ZodURL", (e, t) => { + (js.init(e, t), + (e._zod.check = (n) => { + try { + let r = n.value.trim(), + o = uFn(r, t); + if (o === I0t) { + n.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid URL format", + input: n.value, + inst: e, + continue: !t.abort, + }); + return; + } + if (o === Rre) { + n.issues.push({ + code: "invalid_format", + format: "url", + input: n.value, + inst: e, + continue: !t.abort, + }); + return; + } + if (o === !0) { + n.value = p0t(r); + return; + } + if (t.hostname && !fFn(o, t.hostname)) + n.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid hostname", + pattern: t.hostname.source, + input: n.value, + inst: e, + continue: !t.abort, + }); + if (t.protocol && !mFn(o, t.protocol)) + n.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid protocol", + pattern: t.protocol.source, + input: n.value, + inst: e, + continue: !t.abort, + }); + n.value = t.normalize ? o.href : p0t(r); + return; + } catch (r) { + n.issues.push({ + code: "invalid_format", + format: "url", + input: n.value, + inst: e, + continue: !t.abort, + }); + } + })); + })), + (R0t = Lt("$ZodEmoji", (e, t) => { + (t.pattern ?? (t.pattern = Lht()), js.init(e, t)); + })), + (P0t = Lt("$ZodNanoID", (e, t) => { + if (t.length !== void 0 && (!Number.isInteger(t.length) || t.length < 1)) + throw Error(`Invalid nanoid length: ${t.length}`); + (t.pattern ?? (t.pattern = t.length === void 0 ? kht : Rht(t.length)), + js.init(e, t)); + })), + (M0t = Lt("$ZodCUID", (e, t) => { + (t.pattern ?? (t.pattern = Sht), js.init(e, t)); + })), + (D0t = Lt("$ZodCUID2", (e, t) => { + (t.pattern ?? (t.pattern = Cht), js.init(e, t)); + })), + (L0t = Lt("$ZodULID", (e, t) => { + (t.pattern ?? (t.pattern = Eht), js.init(e, t)); + })), + (B0t = Lt("$ZodXID", (e, t) => { + (t.pattern ?? (t.pattern = Iht), js.init(e, t)); + })), + (O0t = Lt("$ZodKSUID", (e, t) => { + (t.pattern ?? (t.pattern = Tht), js.init(e, t)); + })), + (F0t = Lt("$ZodISODateTime", (e, t) => { + (t.pattern ?? (t.pattern = Zht(t)), js.init(e, t)); + })), + (U0t = Lt("$ZodISODate", (e, t) => { + (t.pattern ?? (t.pattern = Ght), js.init(e, t)); + })), + (N0t = Lt("$ZodISOTime", (e, t) => { + (t.pattern ?? (t.pattern = qht(t)), js.init(e, t)); + })), + (z0t = Lt("$ZodISODuration", (e, t) => { + (t.pattern ?? (t.pattern = Pht), js.init(e, t)); + })), + (_0t = Lt("$ZodIPv4", (e, t) => { + (t.pattern ?? (t.pattern = Bht), js.init(e, t)); + })), + (hFn = /^[0-9a-fA-F:.]+$/)); + ((V0t = Lt("$ZodIPv6", (e, t) => { + (t.pattern ?? (t.pattern = Oht), + js.init(e, t), + (e._zod.check = (n) => { + if (!H0t(n.value)) + n.issues.push({ + code: "invalid_format", + format: "ipv6", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (G0t = Lt("$ZodCIDRv4", (e, t) => { + (t.pattern ?? (t.pattern = Fht), js.init(e, t)); + }))); + q0t = Lt("$ZodCIDRv6", (e, t) => { + (t.pattern ?? (t.pattern = Uht), + js.init(e, t), + (e._zod.check = (n) => { + if (!gFn(n.value)) + n.issues.push({ + code: "invalid_format", + format: "cidrv6", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + }); + (($5e = /^[0-9a-zA-Z+/]*={0,2}$/), + (Q0t = Lt("$ZodBase64", (e, t) => { + (t.pattern ?? (t.pattern = $5e), + js.init(e, t), + (e._zod.check = (n) => { + if (Z0t(n.value)) return; + n.issues.push({ + code: "invalid_format", + format: "base64", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (Dre = /^[A-Za-z0-9_-]*$/)); + ((X0t = Lt("$ZodBase64URL", (e, t) => { + (t.pattern ?? (t.pattern = Dre), + js.init(e, t), + (e._zod.check = (n) => { + if (yFn(n.value)) return; + n.issues.push({ + code: "invalid_format", + format: "base64url", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (W0t = Lt("$ZodE164", (e, t) => { + (t.pattern ?? (t.pattern = Hht), js.init(e, t)); + }))); + ((Y0t = Lt("$ZodJWT", (e, t) => { + (js.init(e, t), + (e._zod.check = (n) => { + if (vFn(n.value, t.alg)) return; + n.issues.push({ + code: "invalid_format", + format: "jwt", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (e8e = Lt("$ZodNumber", (e, t) => { + (os.init(e, t), + (e._zod.pattern = c_), + (e._zod.parse = (n, r) => { + if (t.coerce) + try { + n.value = Number(n.value); + } catch (i) {} + let o = n.value; + if (typeof o === "number" && !Number.isNaN(o) && Number.isFinite(o)) + return n; + let a = + typeof o === "number" + ? Number.isNaN(o) + ? "NaN" + : !Number.isFinite(o) + ? String(o) + : void 0 + : void 0; + return ( + n.issues.push({ + expected: "number", + code: "invalid_type", + input: o, + inst: e, + ...(a ? { received: a } : {}), + }), + n + ); + })); + })), + (K0t = Lt("$ZodNumberFormat", (e, t) => { + ($ht.init(e, t), e8e.init(e, t)); + })), + (J0t = Lt("$ZodBoolean", (e, t) => { + (os.init(e, t), + (e._zod.pattern = Xht), + (e._zod.parse = (n, r) => { + if (t.coerce) + try { + n.value = Boolean(n.value); + } catch (a) {} + let o = n.value; + if (typeof o === "boolean") return n; + return ( + n.issues.push({ + expected: "boolean", + code: "invalid_type", + input: o, + inst: e, + }), + n + ); + })); + })), + (j0t = Lt("$ZodUndefined", (e, t) => { + (os.init(e, t), + (e._zod.pattern = Yht), + (e._zod.values = new Set([void 0])), + (e._zod.parse = (n, r) => { + let o = n.value; + if (typeof o > "u") return n; + return ( + n.issues.push({ + expected: "undefined", + code: "invalid_type", + input: o, + inst: e, + }), + n + ); + })); + })), + ($0t = Lt("$ZodNull", (e, t) => { + (os.init(e, t), + (e._zod.pattern = Wht), + (e._zod.values = new Set([null])), + (e._zod.parse = (n, r) => { + let o = n.value; + if (o === null) return n; + return ( + n.issues.push({ + expected: "null", + code: "invalid_type", + input: o, + inst: e, + }), + n + ); + })); + })), + (egt = Lt("$ZodAny", (e, t) => { + (os.init(e, t), (e._zod.parse = (n) => n)); + })), + (tgt = Lt("$ZodUnknown", (e, t) => { + (os.init(e, t), (e._zod.parse = (n) => n)); + })), + (ngt = Lt("$ZodNever", (e, t) => { + (os.init(e, t), + (e._zod.parse = (n, r) => ( + n.issues.push({ + expected: "never", + code: "invalid_type", + input: n.value, + inst: e, + }), + n + ))); + }))); + rgt = Lt("$ZodArray", (e, t) => { + os.init(e, t); + let n = h0.memoizer; + (n?.attach(e), + (e._zod.parse = (r, o) => { + let a = r.value; + if (!Array.isArray(a)) + return ( + r.issues.push({ + expected: "array", + code: "invalid_type", + input: a, + inst: e, + }), + r + ); + r.value = n ? n.alloc(e, r, Array(a.length), o) : Array(a.length); + let i = [], + s = o?.abortEarly; + for (let l = 0; l < a.length; l++) { + let c = a[l], + u = t.element._zod.run({ value: c, issues: [] }, o); + if (u instanceof Promise) i.push(u.then((d) => f0t(d, r, l))); + else if ((f0t(u, r, l), s && u.issues.length !== 0 && nx(u))) break; + } + if (i.length) return Promise.all(i).then(() => r); + return r; + })); + }); + bFn = []; + ((xFn = Lt("$ZodObject", (e, t) => { + os.init(e, t); + let n = Object.getOwnPropertyDescriptor(t, "shape"), + r = n?.get ? n.get.raw : (t.shape ?? {}); + if (r) { + let c = () => { + let u = { ...r }; + return ( + Object.defineProperty(t, "shape", { value: u }), + (c.raw = u), + u + ); + }; + ((c.raw = r), Object.defineProperty(t, "shape", { get: c })); + } + let o = i_(() => ogt(t)); + Da(e, "propValues", (c) => { + let u = c.def.shape, + d = {}; + for (let p in u) { + let f = u[p]._zod; + if (f.values) { + if (!Object.prototype.hasOwnProperty.call(d, p)) Mg(d, p, new Set()); + for (let m of f.values) d[p].add(m); + if (f.optin !== void 0) d[p].add(void 0); + } + } + return d; + }); + let a = _9, + i = t.catchall, + s, + l = h0.memoizer; + (l?.attach(e), + (e._zod.parse = (c, u) => { + s ?? (s = o.value); + let d = c.value; + if (!a(d)) + return ( + c.issues.push({ + expected: "object", + code: "invalid_type", + input: d, + inst: e, + }), + c + ); + c.value = l ? l.alloc(e, c, {}, u) : {}; + let p = [], + f = s.shape, + m = u?.abortEarly, + g = c.issues.length; + for (let v of s.allKeys) { + if (m && c.issues.length !== g) { + if (nx(c, g)) break; + g = c.issues.length; + } + if (v === "__proto__") continue; + let y = f[v], + x = y._zod.optin, + A = y._zod.optout, + w = y._zod.run({ value: d[v], issues: [] }, u); + if (w instanceof Promise) + p.push(w.then((C) => Pre(C, c, v, d, x, A))); + else Pre(w, c, v, d, x, A); + } + if (!i) return p.length ? Promise.all(p).then(() => c) : c; + return agt(p, d, c, u, o.value, e, m === !0); + })); + })), + (igt = Lt("$ZodObjectJIT", (e, t) => { + xFn.init(e, t); + let n = e._zod.parse, + r = i_(() => ogt(t)), + o = h0.memoizer, + a = (f) => { + let m = r.value, + g = m.symbolKeys, + v = new Y5e(["payload", "ctx"], { + shape: f, + inst: e, + memo: o, + syms: g, + }), + y = (C) => + `shape[${C}]._zod.run({ value: input[${C}], issues: [] }, ctx)`, + x = (C, E) => ` let ${C}_ab = false; for (let i = 0; i < ${C}.issues.length; i++) { const iss = ${C}.issues[i]; @@ -21,10 +30136,34 @@ ${t.join(` if (${C}_ab && ctx && ctx.abortEarly) { payload.value = newResult; return payload; - }`;v.write("const input = payload.value;");let A=Object.create(null),w=0;for(let C of m.allKeys)A[C]=`key_${w++}`;v.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let C of m.allKeys){if(C==="__proto__")continue;let E=A[C],T=typeof C==="symbol"?`syms[${g.indexOf(C)}]`:Ymt(C),I=`${T} in input`,k=f[C],L=k?._zod?.optin,O=L!==void 0,B=k?._zod?.optout==="optional";if(v.write(`const ${E} = ${y(T)};`),O&&B){let U=L==="optional"?`${E}_present`:`${E}.value !== undefined || ${E}_present`;v.write(` + }`; + v.write("const input = payload.value;"); + let A = Object.create(null), + w = 0; + for (let C of m.allKeys) A[C] = `key_${w++}`; + v.write( + o + ? "const newResult = memo.alloc(inst, payload, {}, ctx);" + : "const newResult = {};", + ); + for (let C of m.allKeys) { + if (C === "__proto__") continue; + let E = A[C], + T = typeof C === "symbol" ? `syms[${g.indexOf(C)}]` : Ymt(C), + I = `${T} in input`, + k = f[C], + L = k?._zod?.optin, + O = L !== void 0, + B = k?._zod?.optout === "optional"; + if ((v.write(`const ${E} = ${y(T)};`), O && B)) { + let U = + L === "optional" + ? `${E}_present` + : `${E}.value !== undefined || ${E}_present`; + v.write(` const ${E}_present = ${I}; if (!${E}.issues.length || ${E}_present) { - if (${E}.issues.length) {${x(E,T)} + if (${E}.issues.length) {${x(E, T)} } if (${U}) { @@ -32,9 +30171,11 @@ ${t.join(` } } - `)}else if(!O)v.write(` + `); + } else if (!O) + v.write(` const ${E}_present = ${I}; - if (${E}.issues.length) {${x(E,T)} + if (${E}.issues.length) {${x(E, T)} } if (!${E}_present && !${E}.issues.length) { payload.issues.push({ @@ -53,41 +30194,28414 @@ ${t.join(` newResult[${T}] = ${E}.value; } - `);else if(v.write(` - if (${E}.issues.length) {${x(E,T)} + `); + else if ( + (v.write(` + if (${E}.issues.length) {${x(E, T)} } - `),L==="defaulted")v.write(`newResult[${T}] = ${E}.value;`);else v.write(` + `), + L === "defaulted") + ) + v.write(`newResult[${T}] = ${E}.value;`); + else + v.write(` if (${E}.value !== undefined || ${I}) { newResult[${T}] = ${E}.value; } - `)}return v.write("payload.value = newResult;"),v.write("return payload;"),v.compile()},i,s=_9,l=!h0.jitless,u=l&&Jmt.value,d=t.catchall,p;e._zod.parse=(f,m)=>{p??(p=r.value);let g=f.value;if(!s(g))return f.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),f;if(l&&u&&m?.async===!1&&m.jitless!==!0){if(!i)i=a(t.shape);if(f=i(f,m),!d)return f;return agt([],g,f,m,p,e,m?.abortEarly===!0)}return n(f,m)}});t8e=Lt("$ZodUnion",(e,t)=>{os.init(e,t),Da(e,"optin",(r)=>r.def.options.some((o)=>o._zod.optin==="defaulted")?"defaulted":r.def.options.some((o)=>o._zod.optin!==void 0)?"optional":void 0),Da(e,"optout",(r)=>r.def.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),Da(e,"values",(r)=>{if(r.def.options.every((o)=>o._zod.values))return new Set(r.def.options.flatMap((o)=>Array.from(o._zod.values)));return}),Da(e,"pattern",(r)=>{if(r.def.options.every((o)=>o._zod.pattern)){let o=r.def.options.map((a)=>a._zod.pattern);return new RegExp(`^(${o.map((a)=>hre(a.source)).join("|")})$`)}return});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let a=!1,i=[];for(let s of t.options){let l=s._zod.run({value:r.value,issues:[]},o);if(l instanceof Promise)i.push(l),a=!0;else{if(l.issues.length===0)return l;i.push(l)}}if(!a)return m0t(i,r,e,o);return Promise.all(i).then((s)=>m0t(s,r,e,o))}});sgt=Lt("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,t8e.init(e,t);let n=e._zod.parse;Da(e,"propValues",(o)=>{let a={},i=0;for(let s of o.def.options){let l=s._zod.propValues;if(!l||Object.keys(l).length===0)throw Error(`Invalid discriminated union option at index "${o.def.options.indexOf(s)}"`);if(l[o.def.discriminator]?.has(void 0))i++;for(let[c,u]of Object.entries(l)){if(!Object.prototype.hasOwnProperty.call(a,c))Mg(a,c,new Set);for(let d of u)a[c].add(d)}}if(!o.def.unionFallback&&i>1)a[o.def.discriminator]?.delete(void 0);return a}),t.options.forEach((o,a)=>{let i=s_(o._zod.def);if(i&&!Object.prototype.hasOwnProperty.call(i,t.discriminator))throw Error(`Invalid discriminated union option at index "${a}"`)});let r=i_(()=>AFn(t));e._zod.parse=(o,a)=>{let i=o.value;if(!_9(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let s=i?.[t.discriminator],l=r.value.get(s);if(l&&(s!==void 0||a.direction!=="backward"))return l._zod.run(o,a);if(t.unionFallback||a.direction==="backward")return n(o,a);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()).filter((c)=>r.value.get(c)!==null),input:i,path:[t.discriminator],inst:e}),o}}),lgt=Lt("$ZodIntersection",(e,t)=>{os.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,a=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);if(a instanceof Promise||i instanceof Promise)return Promise.all([a,i]).then(([l,c])=>h0t(n,l,c));return h0t(n,a,i)}});cgt=Lt("$ZodRecord",(e,t)=>{os.init(e,t);let n=h0.memoizer;n?.attach(e),e._zod.parse=(r,o)=>{let a=r.value;if(!JE(a))return r.issues.push({expected:"record",code:"invalid_type",input:a,inst:e}),r;let i=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},o):{};let l=new Set;for(let u of s)if(typeof u==="string"||typeof u==="number"||typeof u==="symbol"){if(l.add(typeof u==="number"?u.toString():u),u==="__proto__")continue;let d=t.keyType._zod.run({value:u,issues:[]},o);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length){r.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map((m)=>rx(m,o,g0())),input:u,path:[u],inst:e});continue}let p=d.value;if(p==="__proto__")continue;let f=t.valueType._zod.run({value:a[u],issues:[]},o);if(f instanceof Promise)i.push(f.then((m)=>{if(m.issues.length)r.issues.push(...R6(u,m.issues));r.value[p]=m.value}));else{if(f.issues.length)r.issues.push(...R6(u,f.issues));r.value[p]=f.value}}let c;for(let u in a)if(!l.has(u))if(t.mode==="loose"){if(u==="__proto__")continue;r.value[u]=a[u]}else c=c??[],c.push(u);if(c&&c.length>0)r.issues.push({code:"unrecognized_keys",input:a,inst:e,keys:c,continue:!0})}else{r.value=n?n.alloc(e,r,{},o):{};let l;for(let c of Reflect.ownKeys(a)){if(c==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(a,c))continue;let u=t.keyType._zod.run({value:c,issues:[]},o);if(u instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof c==="string"&&c_.test(c)&&u.issues.length){let m=t.keyType._zod.run({value:Number(c),issues:[]},o);if(m instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(m.issues.length===0)u=m}if(u.issues.length){if(t.mode==="loose")r.value[c]=a[c];else if(s)l=l??[],l.push(c);else r.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map((m)=>rx(m,o,g0())),input:c,path:[c],inst:e});continue}let p=u.value;if(p==="__proto__")continue;let f=t.valueType._zod.run({value:a[c],issues:[]},o);if(f instanceof Promise)i.push(f.then((m)=>{if(m.issues.length)r.issues.push(...R6(c,m.issues));r.value[p]=m.value}));else{if(f.issues.length)r.issues.push(...R6(c,f.issues));r.value[p]=f.value}}if(l&&l.length>0)r.issues.push({code:"unrecognized_keys",input:a,inst:e,keys:l,continue:!0})}if(i.length)return Promise.all(i).then(()=>r);return r}}),ugt=Lt("$ZodEnum",(e,t)=>{os.init(e,t);let n=o_(t.entries),r=new Set(n);e._zod.values=r,Da(e,"pattern",(o)=>{let a=o_(o.def.entries).filter((i)=>jmt.has(typeof i));return new RegExp(a.length?`^(${a.map((i)=>k6(i.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,a)=>{let i=o.value;if(r.has(i))return o;return o.issues.push({code:"invalid_value",values:n,input:i,inst:e}),o}}),dgt=Lt("$ZodLiteral",(e,t)=>{os.init(e,t);let n=new Set(t.values);e._zod.values=n,Da(e,"pattern",(r)=>{let o=r.def.values;return new RegExp(o.length?`^(${o.map((a)=>typeof a==="string"?k6(a):a?k6(a.toString()):String(a)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(r,o)=>{let a=r.value;if(n.has(a))return r;return r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),pgt=Lt("$ZodTransform",(e,t)=>{os.init(e,t),e._zod.optin="optional",h0.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new l_(e.constructor.name);let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((i)=>(n.value=i,n));if(o instanceof Promise)throw new ox;return n.value=o,n}});n8e=Lt("$ZodOptional",(e,t)=>{os.init(e,t),Da(e,"optin",(n)=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",Da(e,"values",(n)=>{let r=n.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),Da(e,"pattern",(n)=>{let r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${hre(r.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(n.value===void 0){if(t.innerType._zod.optin!=="defaulted")return n;let o=t.innerType._zod.run({value:n.value,issues:[]},r);if(o instanceof Promise)return o.then((a)=>g0t(n,a));return g0t(n,o)}return t.innerType._zod.run(n,r)}}),fgt=Lt("$ZodExactOptional",(e,t)=>{n8e.init(e,t),Da(e,"values",(n)=>n.def.innerType._zod.values),Da(e,"pattern",(n)=>n.def.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),mgt=Lt("$ZodNullable",(e,t)=>{os.init(e,t),Da(e,"optin",(n)=>n.def.innerType._zod.optin),Da(e,"optout",(n)=>n.def.innerType._zod.optout),Da(e,"pattern",(n)=>{let r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${hre(r.source)}|null)$`):void 0}),Da(e,"values",(n)=>n.def.innerType._zod.values?new Set([...n.def.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),hgt=Lt("$ZodDefault",(e,t)=>{os.init(e,t),e._zod.optin="defaulted",Da(e,"values",(n)=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((a)=>y0t(a,t));return y0t(o,t)}});ggt=Lt("$ZodPrefault",(e,t)=>{os.init(e,t),e._zod.optin="defaulted",Da(e,"values",(n)=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),ygt=Lt("$ZodNonOptional",(e,t)=>{os.init(e,t),Da(e,"values",(n)=>{let r=n.def.innerType._zod.values;return r?new Set([...r].filter((o)=>o!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((a)=>v0t(a,e));return v0t(o,e)}});vgt=Lt("$ZodCatch",(e,t)=>{os.init(e,t),Da(e,"optin",(n)=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),Da(e,"optout",(n)=>n.def.innerType._zod.optout),Da(e,"values",(n)=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run({value:n.value,issues:[]},r);if(o instanceof Promise)return o.then((a)=>b0t(n,a,t,r));return b0t(n,o,t,r)}}),r8e=Lt("$ZodPipe",(e,t)=>{os.init(e,t),Da(e,"values",(n)=>n.def.in._zod.values),Da(e,"optin",(n)=>n.def.in._zod.optin),Da(e,"optout",(n)=>n.def.out._zod.optout),Da(e,"propValues",(n)=>n.def.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let a=t.out._zod.run(n,r);if(a instanceof Promise)return a.then((i)=>kre(i,t.in,r));return kre(a,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((a)=>kre(a,t.out,r));return kre(o,t.out,r)}});bgt=Lt("$ZodPreprocess",(e,t)=>{r8e.init(e,t)}),xgt=Lt("$ZodReadonly",(e,t)=>{os.init(e,t),Da(e,"propValues",(n)=>n.def.innerType._zod.propValues),Da(e,"values",(n)=>n.def.innerType._zod.values),Da(e,"optin",(n)=>n.def.innerType?._zod?.optin),Da(e,"optout",(n)=>n.def.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(x0t);return x0t(o)}});Agt=Lt("$ZodLazy",(e,t)=>{os.init(e,t),Qmt(e._zod,"innerType",()=>{let n=t;if(!n._cachedInner)n._cachedInner=t.getter();return n._cachedInner}),Da(e,"pattern",(n)=>n.innerType?._zod?.pattern),Da(e,"propValues",(n)=>n.innerType?._zod?.propValues),Da(e,"optin",(n)=>n.innerType?._zod?.optin??void 0),Da(e,"optout",(n)=>n.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),wgt=Lt("$ZodCustom",(e,t)=>{kf.init(e,t),os.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((a)=>A0t(a,n,r,e));A0t(o,n,r,e);return}})});function Egt(e){return e!==null&&typeof e==="object"}function a8e(e){return e.map((t)=>t.path?{...t,path:t.path.slice()}:{...t})}function Fre(e,t,n){let r=Igt.get(e);if(r!==void 0)return r?f_:p_;if(t.has(e))return f_;t.add(e);let o=p_,a=(u)=>{if(o!==f_&&u?._zod){let d=Fre(u,t,n);if(d>o)o=d}},i=(u,d)=>{let p=p_;for(let f of Reflect.ownKeys(u)){let m=Object.getOwnPropertyDescriptor(u,f);if(d&&!m.enumerable)continue;let g=m.get?Ore:m.value?._zod?Fre(m.value,t,n):p_;if(g>p)p=g}return p},s=(u)=>{if(u>o)o=u},l=e._zod.def,c=l.type;switch(c){case"object":{let u=s_(l);s(u?i(u,!0):Ore),a(l.catchall);break}case"array":a(l.element);break;case"tuple":for(let u of l.items)a(u);a(l.rest);break;case"record":case"map":a(l.keyType),a(l.valueType);break;case"set":a(l.valueType);break;case"union":for(let u of l.options)a(u);break;case"intersection":a(l.left),a(l.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":a(l.innerType);break;case"pipe":a(l.in),a(l.out);break;case"function":a(l.input),a(l.output);break;case"lazy":{let u=l._cachedInner??(n?e._zod.innerType:void 0);s(u?Fre(u,t,!1):Ore);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let u in l){let d=Object.getOwnPropertyDescriptor(l,u);if(!d||d.get)continue;let p=d.value;if(!p||typeof p!=="object")continue;if(p._zod)a(p);else if(Array.isArray(p))for(let f of p)a(f)}}return t.delete(e),wFn(e,o)}function wFn(e,t){if(t!==Ore)Igt.set(e,t===f_);return t}function SFn(e,t){let n=e.buckets.get(t);if(!n)n=new WeakMap,e.buckets.set(t,n);return n}function s8e(){return CFn}function EFn(e,t){let n=e[i8e]?.backEdges;return n!==void 0&&Egt(t)&&n.has(t)}var Cgt,i8e="~memo",Sgt,Igt,p_=0,Ore=1,f_=2,Lre,Bre,CFn;var Tgt=P(()=>{m0();Cgt=class Cgt extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform");this.name="ZodCyclicError"}};Sgt=[];Igt=new WeakMap;Bre=[],CFn={alloc(e,t,n){let r=Lre;if(!r)return n;Lre=void 0;let o={value:n,issues:null};return r.set(t.value,o),Bre.push(o),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let n=e._zod.parse,r=(o,a)=>{if(a.direction!=="backward"&&EFn(a,o.value))throw new Cgt;return n(o,a)};if(e._zod.parse=r,e._zod.run===n)e._zod.run=r})},attach(e){var t;let n,r=!1,o,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let i=e._zod.parse,s=(l,c)=>{if(n===void 0){let y=Fre(e,new Set,!1);if(y===p_){if(e._zod.parse=i,e._zod.run===s)e._zod.run=i;return i(l,c)}if(y===f_||r)n=!0;else r=!0}let u=l.value;if(!Egt(u))return i(l,c);let d=c[i8e];if(!d)d={buckets:new WeakMap,backEdges:void 0},c[i8e]=d;let p;if(o===c)p=a;else p=SFn(d,e),o=c,a=p;let f=p.get(u);if(f){if(l.value=f.value,f.issues){if(f.issues.length)l.issues.push(...a8e(f.issues))}else l.memo=!0,d.backEdges??(d.backEdges=new WeakSet),d.backEdges.add(f.value);return l}Lre=p;let m=Bre.length,g=i(l,c);Lre=void 0;let v=Bre.length>m?Bre.pop():void 0;if(g instanceof Promise)return g.then((y)=>{if(v)v.issues=y.issues.length?a8e(y.issues):Sgt;return y});if(v)v.issues=g.issues.length?a8e(g.issues):Sgt;return g};if(e._zod.parse=s,e._zod.run===i)e._zod.run=s})}}});function l8e(){return{localeError:IFn()}}var IFn=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(a){return e[a]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};function o(a,i){if(a==="number"&&typeof i==="number"&&!Number.isFinite(i))return String(i);return r[a]??a}return(a)=>{switch(a.code){case"invalid_type":{let i=o(a.expected),s=rht(a.input),l=o(s,a.input);return`Invalid input: expected ${i}, received ${l}`}case"invalid_value":if(a.values.length===1)return`Invalid input: expected ${D5e(a.values[0])}`;return`Invalid option: expected one of ${R5e(a.values,"|")}`;case"too_big":{let i=a.exact?"exactly ":a.inclusive?"<=":"<",s=t(a.origin);if(s)return`Too big: expected ${a.origin??"value"} to have ${i}${a.maximum.toString()} ${s.unit??"elements"}`;return`Too big: expected ${a.origin??"value"} to be ${i}${a.maximum.toString()}`}case"too_small":{let i=a.exact?"exactly ":a.inclusive?">=":">",s=t(a.origin);if(s)return`Too small: expected ${a.origin} to have ${i}${a.minimum.toString()} ${s.unit}`;return`Too small: expected ${a.origin} to be ${i}${a.minimum.toString()}`}case"invalid_format":{let i=a;if(i.format==="starts_with")return`Invalid string: must start with "${i.prefix}"`;if(i.format==="ends_with")return`Invalid string: must end with "${i.suffix}"`;if(i.format==="includes")return`Invalid string: must include "${i.includes}"`;if(i.format==="regex")return`Invalid string: must match pattern ${i.pattern}`;return`Invalid ${n[i.format]??a.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${a.divisor}`;case"unrecognized_keys":return`Unrecognized key${a.keys.length>1?"s":""}: ${R5e(a.keys,", ")}`;case"invalid_key":return`Invalid key in ${a.origin}`;case"invalid_union":if(a.options&&Array.isArray(a.options)&&a.options.length>0)return`Invalid discriminator value. Expected ${a.options.map((s)=>`'${s}'`).join(" | ")}`;if(a.inclusive===!1)return"Invalid input: more than one option matched";return"Invalid input";case"invalid_element":return`Invalid value in ${a.origin}`;default:return"Invalid input"}}};var kgt=P(()=>{m0()});var c8e=()=>{};class Mgt{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n)this._idmap.set(n.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Dgt(){return new Mgt}var Pgt,P6;var u8e=P(()=>{(Pgt=globalThis).__zod_globalRegistry??(Pgt.__zod_globalRegistry=Dgt());P6=globalThis.__zod_globalRegistry});var Lgt=()=>{};function d8e(e){if(e.checks)e.checks=[...e.checks];return e}function Bgt(e,t){return new e(d8e({type:"string",...or(t)}))}function p8e(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...or(t)})}function Ogt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...or(t)})}function Fgt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...or(t)})}function Ugt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...or(t)})}function Ngt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...or(t)})}function zgt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...or(t)})}function f8e(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...or(t)})}function _gt(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...or(t)})}function Hgt(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...or(t)})}function Vgt(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...or(t)})}function Ggt(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...or(t)})}function qgt(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...or(t)})}function Zgt(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...or(t)})}function Qgt(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...or(t)})}function Xgt(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...or(t)})}function Wgt(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...or(t)})}function Ygt(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...or(t)})}function Kgt(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...or(t)})}function Jgt(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...or(t)})}function jgt(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...or(t)})}function $gt(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...or(t)})}function e1t(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...or(t)})}function Ure(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...or(t)})}function Nre(e,t){return new e({type:"string",format:"date",check:"string_format",...or(t)})}function m8e(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...or(t)})}function h8e(e,t){return new e({type:"string",format:"duration",check:"string_format",...or(t)})}function t1t(e,t){return new e(d8e({type:"number",checks:[],...or(t)}))}function n1t(e,t){return new e(d8e({type:"number",coerce:!0,checks:[],...or(t)}))}function r1t(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...or(t)})}function o1t(e,t){return new e({type:"boolean",...or(t)})}function a1t(e,t){return new e({type:"undefined",...or(t)})}function i1t(e,t){return new e({type:"null",...or(t)})}function s1t(e){return new e({type:"any"})}function l1t(e){return new e({type:"unknown"})}function c1t(e,t){return new e({type:"never",...or(t)})}function zre(e,t){return new X5e({check:"less_than",...or(t),value:e,inclusive:!1})}function m_(e,t){return new X5e({check:"less_than",...or(t),value:e,inclusive:!0})}function _re(e,t){return new W5e({check:"greater_than",...or(t),value:e,inclusive:!1})}function h_(e,t){return new W5e({check:"greater_than",...or(t),value:e,inclusive:!0})}function Hre(e,t){return new jht({check:"multiple_of",...or(t),value:e})}function Vre(e,t){return new e0t({check:"max_length",...or(t),maximum:e})}function V9(e,t){return new t0t({check:"min_length",...or(t),minimum:e})}function Gre(e,t){return new n0t({check:"length_equals",...or(t),length:e})}function g8e(e,t){return new r0t({check:"string_format",format:"regex",...or(t),pattern:e})}function y8e(e){return new o0t({check:"string_format",format:"lowercase",...or(e)})}function v8e(e){return new a0t({check:"string_format",format:"uppercase",...or(e)})}function b8e(e,t){return new i0t({check:"string_format",format:"includes",...or(t),includes:e})}function x8e(e,t){return new s0t({check:"string_format",format:"starts_with",...or(t),prefix:e})}function A8e(e,t){return new l0t({check:"string_format",format:"ends_with",...or(t),suffix:e})}function M6(e){return new c0t({check:"overwrite",tx:e})}function w8e(e){return M6((t)=>t.normalize(e))}function S8e(){return M6((e)=>e.trim())}function C8e(){return M6((e)=>e.toLowerCase())}function E8e(){return M6((e)=>e.toUpperCase())}function I8e(){return M6((e)=>Kmt(e))}function u1t(e,t,n){return new e({type:"array",element:t,...or(n)})}function d1t(e,t,n){let r=or(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function p1t(e,t,n){return new e({type:"custom",check:"custom",fn:t,...or(n)})}function f1t(e,t){let n=TFn((r)=>(r.addIssue=(o)=>{if(typeof o==="string")r.issues.push(jE(o,r.value,n._zod.def));else{let a=o;if(a.fatal)a.continue=!1;if(a.code??(a.code="custom"),!("input"in a))a.input=r.value;a.inst??(a.inst=n),a.continue??(a.continue=!n._zod.def.abort),r.issues.push(jE(a))}},e(r.value,r)),t);return n}function TFn(e,t){let n=new kf({check:"custom",...or(t)});return n._zod.check=e,n}var m1t=P(()=>{Tre();m0()});function g_(e,...t){for(let n of t)for(let r of Reflect.ownKeys(n))if(Object.prototype.propertyIsEnumerable.call(n,r))Mg(e,r,n[r]);return e}function v_(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";return{processors:e.processors??{},metadataRegistry:e?.metadata??P6,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function Bp(e,t,n,r,o){let a=typeof t.unrepresentable==="function"?t.unrepresentable({zodSchema:e,path:r.path,message:o}):t.unrepresentable;if(a==="any")return!1;if(a===void 0||a==="throw")throw Error(o);return Object.assign(n,a),!0}function bs(e,t,n={path:[],schemaPath:[]}){var r;let o=e._zod.def,a=t.seen.get(e);if(a){if(a.count++,n.schemaPath.includes(e))a.cycle=n.path;return a.schema}let i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)i.schema=s;else{let u={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,u);else{let p=i.schema,f=t.processors[o.type];if(!f)throw Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);f(e,t,p,u)}let d=e._zod.parent;if(d){if(!i.ref)i.ref=d;bs(d,t,u),t.seen.get(d).isParent=!0}}let l=t.metadataRegistry.get(e);if(l)g_(i.schema,l);if(t.io==="input"&&uh(e))delete i.schema.examples,delete i.schema.default;if(t.io==="input"&&"_prefault"in i.schema)(r=i.schema).default??(r.default=i.schema._prefault);return delete i.schema._prefault,t.seen.get(e).schema}function h1t(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function b_(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let i of e.seen.entries()){let s=e.metadataRegistry.get(i[0])?.id;if(s){let l=r.get(s);if(l&&l!==i[0])throw Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(s,i[0])}}let o=(i)=>{let s=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let d=e.external.registry.get(i[0])?.id,p=e.external.uri??((m)=>m);if(d)return{ref:p(d)};let f=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=f,{defId:f,ref:`${p("__shared")}#/${s}/${h1t(f)}`}}let l="#",c=`${l}/${s}/`;if(i[1]===n&&!i[1].schema.id)return{ref:l};let u=i[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+h1t(u)}},a=(i)=>{if(i[1].schema.$ref)return;let s=i[1],{ref:l,defId:c}=o(i);if(s.def={...s.schema},c)s.defId=c;let u=s.schema;for(let d in u)delete u[d];u.$ref=l};if(e.cycles==="throw")for(let i of e.seen.entries()){let s=i[1];if(s.cycle)throw Error(`Cycle detected: #/${s.cycle?.join("/")}/ + `); + } + return ( + v.write("payload.value = newResult;"), + v.write("return payload;"), + v.compile() + ); + }, + i, + s = _9, + l = !h0.jitless, + u = l && Jmt.value, + d = t.catchall, + p; + e._zod.parse = (f, m) => { + p ?? (p = r.value); + let g = f.value; + if (!s(g)) + return ( + f.issues.push({ + expected: "object", + code: "invalid_type", + input: g, + inst: e, + }), + f + ); + if (l && u && m?.async === !1 && m.jitless !== !0) { + if (!i) i = a(t.shape); + if (((f = i(f, m)), !d)) return f; + return agt([], g, f, m, p, e, m?.abortEarly === !0); + } + return n(f, m); + }; + }))); + t8e = Lt("$ZodUnion", (e, t) => { + (os.init(e, t), + Da(e, "optin", (r) => + r.def.options.some((o) => o._zod.optin === "defaulted") + ? "defaulted" + : r.def.options.some((o) => o._zod.optin !== void 0) + ? "optional" + : void 0, + ), + Da(e, "optout", (r) => + r.def.options.some((o) => o._zod.optout === "optional") + ? "optional" + : void 0, + ), + Da(e, "values", (r) => { + if (r.def.options.every((o) => o._zod.values)) + return new Set( + r.def.options.flatMap((o) => Array.from(o._zod.values)), + ); + return; + }), + Da(e, "pattern", (r) => { + if (r.def.options.every((o) => o._zod.pattern)) { + let o = r.def.options.map((a) => a._zod.pattern); + return new RegExp(`^(${o.map((a) => hre(a.source)).join("|")})$`); + } + return; + })); + let n = t.options.length === 1 ? t.options[0]._zod.run : null; + e._zod.parse = (r, o) => { + if (n) return n(r, o); + let a = !1, + i = []; + for (let s of t.options) { + let l = s._zod.run({ value: r.value, issues: [] }, o); + if (l instanceof Promise) (i.push(l), (a = !0)); + else { + if (l.issues.length === 0) return l; + i.push(l); + } + } + if (!a) return m0t(i, r, e, o); + return Promise.all(i).then((s) => m0t(s, r, e, o)); + }; + }); + ((sgt = Lt("$ZodDiscriminatedUnion", (e, t) => { + ((t.inclusive = !1), t8e.init(e, t)); + let n = e._zod.parse; + (Da(e, "propValues", (o) => { + let a = {}, + i = 0; + for (let s of o.def.options) { + let l = s._zod.propValues; + if (!l || Object.keys(l).length === 0) + throw Error( + `Invalid discriminated union option at index "${o.def.options.indexOf(s)}"`, + ); + if (l[o.def.discriminator]?.has(void 0)) i++; + for (let [c, u] of Object.entries(l)) { + if (!Object.prototype.hasOwnProperty.call(a, c)) Mg(a, c, new Set()); + for (let d of u) a[c].add(d); + } + } + if (!o.def.unionFallback && i > 1) a[o.def.discriminator]?.delete(void 0); + return a; + }), + t.options.forEach((o, a) => { + let i = s_(o._zod.def); + if (i && !Object.prototype.hasOwnProperty.call(i, t.discriminator)) + throw Error(`Invalid discriminated union option at index "${a}"`); + })); + let r = i_(() => AFn(t)); + e._zod.parse = (o, a) => { + let i = o.value; + if (!_9(i)) + return ( + o.issues.push({ + code: "invalid_type", + expected: "object", + input: i, + inst: e, + }), + o + ); + let s = i?.[t.discriminator], + l = r.value.get(s); + if (l && (s !== void 0 || a.direction !== "backward")) + return l._zod.run(o, a); + if (t.unionFallback || a.direction === "backward") return n(o, a); + return ( + o.issues.push({ + code: "invalid_union", + errors: [], + note: "No matching discriminator", + discriminator: t.discriminator, + options: Array.from(r.value.keys()).filter( + (c) => r.value.get(c) !== null, + ), + input: i, + path: [t.discriminator], + inst: e, + }), + o + ); + }; + })), + (lgt = Lt("$ZodIntersection", (e, t) => { + (os.init(e, t), + (e._zod.parse = (n, r) => { + let o = n.value, + a = t.left._zod.run({ value: o, issues: [] }, r), + i = t.right._zod.run({ value: o, issues: [] }, r); + if (a instanceof Promise || i instanceof Promise) + return Promise.all([a, i]).then(([l, c]) => h0t(n, l, c)); + return h0t(n, a, i); + })); + }))); + ((cgt = Lt("$ZodRecord", (e, t) => { + os.init(e, t); + let n = h0.memoizer; + (n?.attach(e), + (e._zod.parse = (r, o) => { + let a = r.value; + if (!JE(a)) + return ( + r.issues.push({ + expected: "record", + code: "invalid_type", + input: a, + inst: e, + }), + r + ); + let i = [], + s = t.keyType._zod.values; + if (s && !t.partial) { + r.value = n ? n.alloc(e, r, {}, o) : {}; + let l = new Set(); + for (let u of s) + if ( + typeof u === "string" || + typeof u === "number" || + typeof u === "symbol" + ) { + if ( + (l.add(typeof u === "number" ? u.toString() : u), + u === "__proto__") + ) + continue; + let d = t.keyType._zod.run({ value: u, issues: [] }, o); + if (d instanceof Promise) + throw Error( + "Async schemas not supported in object keys currently", + ); + if (d.issues.length) { + r.issues.push({ + code: "invalid_key", + origin: "record", + issues: d.issues.map((m) => rx(m, o, g0())), + input: u, + path: [u], + inst: e, + }); + continue; + } + let p = d.value; + if (p === "__proto__") continue; + let f = t.valueType._zod.run({ value: a[u], issues: [] }, o); + if (f instanceof Promise) + i.push( + f.then((m) => { + if (m.issues.length) r.issues.push(...R6(u, m.issues)); + r.value[p] = m.value; + }), + ); + else { + if (f.issues.length) r.issues.push(...R6(u, f.issues)); + r.value[p] = f.value; + } + } + let c; + for (let u in a) + if (!l.has(u)) + if (t.mode === "loose") { + if (u === "__proto__") continue; + r.value[u] = a[u]; + } else ((c = c ?? []), c.push(u)); + if (c && c.length > 0) + r.issues.push({ + code: "unrecognized_keys", + input: a, + inst: e, + keys: c, + continue: !0, + }); + } else { + r.value = n ? n.alloc(e, r, {}, o) : {}; + let l; + for (let c of Reflect.ownKeys(a)) { + if (c === "__proto__") continue; + if (!Object.prototype.propertyIsEnumerable.call(a, c)) continue; + let u = t.keyType._zod.run({ value: c, issues: [] }, o); + if (u instanceof Promise) + throw Error( + "Async schemas not supported in object keys currently", + ); + if (typeof c === "string" && c_.test(c) && u.issues.length) { + let m = t.keyType._zod.run({ value: Number(c), issues: [] }, o); + if (m instanceof Promise) + throw Error( + "Async schemas not supported in object keys currently", + ); + if (m.issues.length === 0) u = m; + } + if (u.issues.length) { + if (t.mode === "loose") r.value[c] = a[c]; + else if (s) ((l = l ?? []), l.push(c)); + else + r.issues.push({ + code: "invalid_key", + origin: "record", + issues: u.issues.map((m) => rx(m, o, g0())), + input: c, + path: [c], + inst: e, + }); + continue; + } + let p = u.value; + if (p === "__proto__") continue; + let f = t.valueType._zod.run({ value: a[c], issues: [] }, o); + if (f instanceof Promise) + i.push( + f.then((m) => { + if (m.issues.length) r.issues.push(...R6(c, m.issues)); + r.value[p] = m.value; + }), + ); + else { + if (f.issues.length) r.issues.push(...R6(c, f.issues)); + r.value[p] = f.value; + } + } + if (l && l.length > 0) + r.issues.push({ + code: "unrecognized_keys", + input: a, + inst: e, + keys: l, + continue: !0, + }); + } + if (i.length) return Promise.all(i).then(() => r); + return r; + })); + })), + (ugt = Lt("$ZodEnum", (e, t) => { + os.init(e, t); + let n = o_(t.entries), + r = new Set(n); + ((e._zod.values = r), + Da(e, "pattern", (o) => { + let a = o_(o.def.entries).filter((i) => jmt.has(typeof i)); + return new RegExp( + a.length + ? `^(${a.map((i) => k6(i.toString())).join("|")})$` + : "^[^\\s\\S]$", + ); + }), + (e._zod.parse = (o, a) => { + let i = o.value; + if (r.has(i)) return o; + return ( + o.issues.push({ + code: "invalid_value", + values: n, + input: i, + inst: e, + }), + o + ); + })); + })), + (dgt = Lt("$ZodLiteral", (e, t) => { + os.init(e, t); + let n = new Set(t.values); + ((e._zod.values = n), + Da(e, "pattern", (r) => { + let o = r.def.values; + return new RegExp( + o.length + ? `^(${o.map((a) => (typeof a === "string" ? k6(a) : a ? k6(a.toString()) : String(a))).join("|")})$` + : "^[^\\s\\S]$", + ); + }), + (e._zod.parse = (r, o) => { + let a = r.value; + if (n.has(a)) return r; + return ( + r.issues.push({ + code: "invalid_value", + values: t.values, + input: a, + inst: e, + }), + r + ); + })); + })), + (pgt = Lt("$ZodTransform", (e, t) => { + (os.init(e, t), + (e._zod.optin = "optional"), + h0.memoizer?.guard(e), + (e._zod.parse = (n, r) => { + if (r.direction === "backward") throw new l_(e.constructor.name); + let o = t.transform(n.value, n); + if (r.async) + return (o instanceof Promise ? o : Promise.resolve(o)).then( + (i) => ((n.value = i), n), + ); + if (o instanceof Promise) throw new ox(); + return ((n.value = o), n); + })); + }))); + ((n8e = Lt("$ZodOptional", (e, t) => { + (os.init(e, t), + Da(e, "optin", (n) => + n.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional", + ), + (e._zod.optout = "optional"), + Da(e, "values", (n) => { + let r = n.def.innerType._zod.values; + return r ? new Set([...r, void 0]) : void 0; + }), + Da(e, "pattern", (n) => { + let r = n.def.innerType._zod.pattern; + return r ? new RegExp(`^(${hre(r.source)})?$`) : void 0; + }), + (e._zod.parse = (n, r) => { + if (n.value === void 0) { + if (t.innerType._zod.optin !== "defaulted") return n; + let o = t.innerType._zod.run({ value: n.value, issues: [] }, r); + if (o instanceof Promise) return o.then((a) => g0t(n, a)); + return g0t(n, o); + } + return t.innerType._zod.run(n, r); + })); + })), + (fgt = Lt("$ZodExactOptional", (e, t) => { + (n8e.init(e, t), + Da(e, "values", (n) => n.def.innerType._zod.values), + Da(e, "pattern", (n) => n.def.innerType._zod.pattern), + (e._zod.parse = (n, r) => t.innerType._zod.run(n, r))); + })), + (mgt = Lt("$ZodNullable", (e, t) => { + (os.init(e, t), + Da(e, "optin", (n) => n.def.innerType._zod.optin), + Da(e, "optout", (n) => n.def.innerType._zod.optout), + Da(e, "pattern", (n) => { + let r = n.def.innerType._zod.pattern; + return r ? new RegExp(`^(${hre(r.source)}|null)$`) : void 0; + }), + Da(e, "values", (n) => + n.def.innerType._zod.values + ? new Set([...n.def.innerType._zod.values, null]) + : void 0, + ), + (e._zod.parse = (n, r) => { + if (n.value === null) return n; + return t.innerType._zod.run(n, r); + })); + })), + (hgt = Lt("$ZodDefault", (e, t) => { + (os.init(e, t), + (e._zod.optin = "defaulted"), + Da(e, "values", (n) => n.def.innerType._zod.values), + (e._zod.parse = (n, r) => { + if (r.direction === "backward") return t.innerType._zod.run(n, r); + if (n.value === void 0) return ((n.value = t.defaultValue), n); + let o = t.innerType._zod.run(n, r); + if (o instanceof Promise) return o.then((a) => y0t(a, t)); + return y0t(o, t); + })); + }))); + ((ggt = Lt("$ZodPrefault", (e, t) => { + (os.init(e, t), + (e._zod.optin = "defaulted"), + Da(e, "values", (n) => n.def.innerType._zod.values), + (e._zod.parse = (n, r) => { + if (r.direction === "backward") return t.innerType._zod.run(n, r); + if (n.value === void 0) n.value = t.defaultValue; + return t.innerType._zod.run(n, r); + })); + })), + (ygt = Lt("$ZodNonOptional", (e, t) => { + (os.init(e, t), + Da(e, "values", (n) => { + let r = n.def.innerType._zod.values; + return r ? new Set([...r].filter((o) => o !== void 0)) : void 0; + }), + (e._zod.parse = (n, r) => { + let o = t.innerType._zod.run(n, r); + if (o instanceof Promise) return o.then((a) => v0t(a, e)); + return v0t(o, e); + })); + }))); + ((vgt = Lt("$ZodCatch", (e, t) => { + (os.init(e, t), + Da(e, "optin", (n) => + n.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional", + ), + Da(e, "optout", (n) => n.def.innerType._zod.optout), + Da(e, "values", (n) => n.def.innerType._zod.values), + (e._zod.parse = (n, r) => { + if (r.direction === "backward") return t.innerType._zod.run(n, r); + let o = t.innerType._zod.run({ value: n.value, issues: [] }, r); + if (o instanceof Promise) return o.then((a) => b0t(n, a, t, r)); + return b0t(n, o, t, r); + })); + })), + (r8e = Lt("$ZodPipe", (e, t) => { + (os.init(e, t), + Da(e, "values", (n) => n.def.in._zod.values), + Da(e, "optin", (n) => n.def.in._zod.optin), + Da(e, "optout", (n) => n.def.out._zod.optout), + Da(e, "propValues", (n) => n.def.in._zod.propValues), + (e._zod.parse = (n, r) => { + if (r.direction === "backward") { + let a = t.out._zod.run(n, r); + if (a instanceof Promise) return a.then((i) => kre(i, t.in, r)); + return kre(a, t.in, r); + } + let o = t.in._zod.run(n, r); + if (o instanceof Promise) return o.then((a) => kre(a, t.out, r)); + return kre(o, t.out, r); + })); + }))); + ((bgt = Lt("$ZodPreprocess", (e, t) => { + r8e.init(e, t); + })), + (xgt = Lt("$ZodReadonly", (e, t) => { + (os.init(e, t), + Da(e, "propValues", (n) => n.def.innerType._zod.propValues), + Da(e, "values", (n) => n.def.innerType._zod.values), + Da(e, "optin", (n) => n.def.innerType?._zod?.optin), + Da(e, "optout", (n) => n.def.innerType?._zod?.optout), + (e._zod.parse = (n, r) => { + if (r.direction === "backward") return t.innerType._zod.run(n, r); + let o = t.innerType._zod.run(n, r); + if (o instanceof Promise) return o.then(x0t); + return x0t(o); + })); + }))); + ((Agt = Lt("$ZodLazy", (e, t) => { + (os.init(e, t), + Qmt(e._zod, "innerType", () => { + let n = t; + if (!n._cachedInner) n._cachedInner = t.getter(); + return n._cachedInner; + }), + Da(e, "pattern", (n) => n.innerType?._zod?.pattern), + Da(e, "propValues", (n) => n.innerType?._zod?.propValues), + Da(e, "optin", (n) => n.innerType?._zod?.optin ?? void 0), + Da(e, "optout", (n) => n.innerType?._zod?.optout ?? void 0), + (e._zod.parse = (n, r) => e._zod.innerType._zod.run(n, r))); + })), + (wgt = Lt("$ZodCustom", (e, t) => { + (kf.init(e, t), + os.init(e, t), + (e._zod.parse = (n, r) => n), + (e._zod.check = (n) => { + let r = n.value, + o = t.fn(r); + if (o instanceof Promise) return o.then((a) => A0t(a, n, r, e)); + A0t(o, n, r, e); + return; + })); + }))); +}); +function Egt(e) { + return e !== null && typeof e === "object"; +} +function a8e(e) { + return e.map((t) => (t.path ? { ...t, path: t.path.slice() } : { ...t })); +} +function Fre(e, t, n) { + let r = Igt.get(e); + if (r !== void 0) return r ? f_ : p_; + if (t.has(e)) return f_; + t.add(e); + let o = p_, + a = (u) => { + if (o !== f_ && u?._zod) { + let d = Fre(u, t, n); + if (d > o) o = d; + } + }, + i = (u, d) => { + let p = p_; + for (let f of Reflect.ownKeys(u)) { + let m = Object.getOwnPropertyDescriptor(u, f); + if (d && !m.enumerable) continue; + let g = m.get ? Ore : m.value?._zod ? Fre(m.value, t, n) : p_; + if (g > p) p = g; + } + return p; + }, + s = (u) => { + if (u > o) o = u; + }, + l = e._zod.def, + c = l.type; + switch (c) { + case "object": { + let u = s_(l); + (s(u ? i(u, !0) : Ore), a(l.catchall)); + break; + } + case "array": + a(l.element); + break; + case "tuple": + for (let u of l.items) a(u); + a(l.rest); + break; + case "record": + case "map": + (a(l.keyType), a(l.valueType)); + break; + case "set": + a(l.valueType); + break; + case "union": + for (let u of l.options) a(u); + break; + case "intersection": + (a(l.left), a(l.right)); + break; + case "optional": + case "nullable": + case "default": + case "prefault": + case "catch": + case "readonly": + case "nonoptional": + case "promise": + case "success": + a(l.innerType); + break; + case "pipe": + (a(l.in), a(l.out)); + break; + case "function": + (a(l.input), a(l.output)); + break; + case "lazy": { + let u = l._cachedInner ?? (n ? e._zod.innerType : void 0); + s(u ? Fre(u, t, !1) : Ore); + break; + } + case "template_literal": + case "string": + case "number": + case "int": + case "boolean": + case "bigint": + case "symbol": + case "undefined": + case "null": + case "void": + case "never": + case "any": + case "unknown": + case "date": + case "nan": + case "enum": + case "literal": + case "file": + case "transform": + case "custom": + break; + default: + for (let u in l) { + let d = Object.getOwnPropertyDescriptor(l, u); + if (!d || d.get) continue; + let p = d.value; + if (!p || typeof p !== "object") continue; + if (p._zod) a(p); + else if (Array.isArray(p)) for (let f of p) a(f); + } + } + return (t.delete(e), wFn(e, o)); +} +function wFn(e, t) { + if (t !== Ore) Igt.set(e, t === f_); + return t; +} +function SFn(e, t) { + let n = e.buckets.get(t); + if (!n) ((n = new WeakMap()), e.buckets.set(t, n)); + return n; +} +function s8e() { + return CFn; +} +function EFn(e, t) { + let n = e[i8e]?.backEdges; + return n !== void 0 && Egt(t) && n.has(t); +} +var Cgt, + i8e = "~memo", + Sgt, + Igt, + p_ = 0, + Ore = 1, + f_ = 2, + Lre, + Bre, + CFn; +var Tgt = P(() => { + m0(); + Cgt = class Cgt extends Error { + constructor() { + super("Cannot parse a reference cycle that closes through a transform"); + this.name = "ZodCyclicError"; + } + }; + Sgt = []; + Igt = new WeakMap(); + ((Bre = []), + (CFn = { + alloc(e, t, n) { + let r = Lre; + if (!r) return n; + Lre = void 0; + let o = { value: n, issues: null }; + return (r.set(t.value, o), Bre.push(o), n); + }, + guard(e) { + var t; + ((t = e._zod).deferred ?? (t.deferred = []), + e._zod.deferred.push(() => { + let n = e._zod.parse, + r = (o, a) => { + if (a.direction !== "backward" && EFn(a, o.value)) + throw new Cgt(); + return n(o, a); + }; + if (((e._zod.parse = r), e._zod.run === n)) e._zod.run = r; + })); + }, + attach(e) { + var t; + let n, + r = !1, + o, + a; + ((t = e._zod).deferred ?? (t.deferred = []), + e._zod.deferred.push(() => { + let i = e._zod.parse, + s = (l, c) => { + if (n === void 0) { + let y = Fre(e, new Set(), !1); + if (y === p_) { + if (((e._zod.parse = i), e._zod.run === s)) e._zod.run = i; + return i(l, c); + } + if (y === f_ || r) n = !0; + else r = !0; + } + let u = l.value; + if (!Egt(u)) return i(l, c); + let d = c[i8e]; + if (!d) + ((d = { buckets: new WeakMap(), backEdges: void 0 }), + (c[i8e] = d)); + let p; + if (o === c) p = a; + else ((p = SFn(d, e)), (o = c), (a = p)); + let f = p.get(u); + if (f) { + if (((l.value = f.value), f.issues)) { + if (f.issues.length) l.issues.push(...a8e(f.issues)); + } else + ((l.memo = !0), + d.backEdges ?? (d.backEdges = new WeakSet()), + d.backEdges.add(f.value)); + return l; + } + Lre = p; + let m = Bre.length, + g = i(l, c); + Lre = void 0; + let v = Bre.length > m ? Bre.pop() : void 0; + if (g instanceof Promise) + return g.then((y) => { + if (v) v.issues = y.issues.length ? a8e(y.issues) : Sgt; + return y; + }); + if (v) v.issues = g.issues.length ? a8e(g.issues) : Sgt; + return g; + }; + if (((e._zod.parse = s), e._zod.run === i)) e._zod.run = s; + })); + }, + })); +}); +function l8e() { + return { localeError: IFn() }; +} +var IFn = () => { + let e = { + string: { unit: "characters", verb: "to have" }, + file: { unit: "bytes", verb: "to have" }, + array: { unit: "items", verb: "to have" }, + set: { unit: "items", verb: "to have" }, + map: { unit: "entries", verb: "to have" }, + }; + function t(a) { + return e[a] ?? null; + } + let n = { + regex: "input", + email: "email address", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO datetime", + date: "ISO date", + time: "ISO time", + duration: "ISO duration", + ipv4: "IPv4 address", + ipv6: "IPv6 address", + mac: "MAC address", + cidrv4: "IPv4 range", + cidrv6: "IPv6 range", + base64: "base64-encoded string", + base64url: "base64url-encoded string", + json_string: "JSON string", + e164: "E.164 number", + currency_code: "currency code", + credit_card: "credit card number", + iban: "IBAN", + jwt: "JWT", + template_literal: "input", + }, + r = { nan: "NaN" }; + function o(a, i) { + if (a === "number" && typeof i === "number" && !Number.isFinite(i)) + return String(i); + return r[a] ?? a; + } + return (a) => { + switch (a.code) { + case "invalid_type": { + let i = o(a.expected), + s = rht(a.input), + l = o(s, a.input); + return `Invalid input: expected ${i}, received ${l}`; + } + case "invalid_value": + if (a.values.length === 1) + return `Invalid input: expected ${D5e(a.values[0])}`; + return `Invalid option: expected one of ${R5e(a.values, "|")}`; + case "too_big": { + let i = a.exact ? "exactly " : a.inclusive ? "<=" : "<", + s = t(a.origin); + if (s) + return `Too big: expected ${a.origin ?? "value"} to have ${i}${a.maximum.toString()} ${s.unit ?? "elements"}`; + return `Too big: expected ${a.origin ?? "value"} to be ${i}${a.maximum.toString()}`; + } + case "too_small": { + let i = a.exact ? "exactly " : a.inclusive ? ">=" : ">", + s = t(a.origin); + if (s) + return `Too small: expected ${a.origin} to have ${i}${a.minimum.toString()} ${s.unit}`; + return `Too small: expected ${a.origin} to be ${i}${a.minimum.toString()}`; + } + case "invalid_format": { + let i = a; + if (i.format === "starts_with") + return `Invalid string: must start with "${i.prefix}"`; + if (i.format === "ends_with") + return `Invalid string: must end with "${i.suffix}"`; + if (i.format === "includes") + return `Invalid string: must include "${i.includes}"`; + if (i.format === "regex") + return `Invalid string: must match pattern ${i.pattern}`; + return `Invalid ${n[i.format] ?? a.format}`; + } + case "not_multiple_of": + return `Invalid number: must be a multiple of ${a.divisor}`; + case "unrecognized_keys": + return `Unrecognized key${a.keys.length > 1 ? "s" : ""}: ${R5e(a.keys, ", ")}`; + case "invalid_key": + return `Invalid key in ${a.origin}`; + case "invalid_union": + if (a.options && Array.isArray(a.options) && a.options.length > 0) + return `Invalid discriminator value. Expected ${a.options.map((s) => `'${s}'`).join(" | ")}`; + if (a.inclusive === !1) + return "Invalid input: more than one option matched"; + return "Invalid input"; + case "invalid_element": + return `Invalid value in ${a.origin}`; + default: + return "Invalid input"; + } + }; +}; +var kgt = P(() => { + m0(); +}); +var c8e = () => {}; +class Mgt { + constructor() { + ((this._map = new WeakMap()), (this._idmap = new Map())); + } + add(e, ...t) { + let n = t[0]; + if ((this._map.set(e, n), n && typeof n === "object" && "id" in n)) + this._idmap.set(n.id, e); + return this; + } + clear() { + return ((this._map = new WeakMap()), (this._idmap = new Map()), this); + } + remove(e) { + let t = this._map.get(e); + if (t && typeof t === "object" && "id" in t) this._idmap.delete(t.id); + return (this._map.delete(e), this); + } + get(e) { + let t = e._zod.parent; + if (t) { + let n = { ...(this.get(t) ?? {}) }; + delete n.id; + let r = { ...n, ...this._map.get(e) }; + return Object.keys(r).length ? r : void 0; + } + return this._map.get(e); + } + has(e) { + return this._map.has(e); + } +} +function Dgt() { + return new Mgt(); +} +var Pgt, P6; +var u8e = P(() => { + (Pgt = globalThis).__zod_globalRegistry ?? (Pgt.__zod_globalRegistry = Dgt()); + P6 = globalThis.__zod_globalRegistry; +}); +var Lgt = () => {}; +function d8e(e) { + if (e.checks) e.checks = [...e.checks]; + return e; +} +function Bgt(e, t) { + return new e(d8e({ type: "string", ...or(t) })); +} +function p8e(e, t) { + return new e({ + type: "string", + format: "email", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Ogt(e, t) { + return new e({ + type: "string", + format: "guid", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Fgt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Ugt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + version: "v4", + ...or(t), + }); +} +function Ngt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + version: "v6", + ...or(t), + }); +} +function zgt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + version: "v7", + ...or(t), + }); +} +function f8e(e, t) { + return new e({ + type: "string", + format: "url", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function _gt(e, t) { + return new e({ + type: "string", + format: "emoji", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Hgt(e, t) { + return new e({ + type: "string", + format: "nanoid", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Vgt(e, t) { + return new e({ + type: "string", + format: "cuid", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Ggt(e, t) { + return new e({ + type: "string", + format: "cuid2", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function qgt(e, t) { + return new e({ + type: "string", + format: "ulid", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Zgt(e, t) { + return new e({ + type: "string", + format: "xid", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Qgt(e, t) { + return new e({ + type: "string", + format: "ksuid", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Xgt(e, t) { + return new e({ + type: "string", + format: "ipv4", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Wgt(e, t) { + return new e({ + type: "string", + format: "ipv6", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Ygt(e, t) { + return new e({ + type: "string", + format: "cidrv4", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Kgt(e, t) { + return new e({ + type: "string", + format: "cidrv6", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Jgt(e, t) { + return new e({ + type: "string", + format: "base64", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function jgt(e, t) { + return new e({ + type: "string", + format: "base64url", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function $gt(e, t) { + return new e({ + type: "string", + format: "e164", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function e1t(e, t) { + return new e({ + type: "string", + format: "jwt", + check: "string_format", + abort: !1, + ...or(t), + }); +} +function Ure(e, t) { + return new e({ + type: "string", + format: "datetime", + check: "string_format", + offset: !1, + local: !1, + precision: null, + ...or(t), + }); +} +function Nre(e, t) { + return new e({ + type: "string", + format: "date", + check: "string_format", + ...or(t), + }); +} +function m8e(e, t) { + return new e({ + type: "string", + format: "time", + check: "string_format", + precision: null, + ...or(t), + }); +} +function h8e(e, t) { + return new e({ + type: "string", + format: "duration", + check: "string_format", + ...or(t), + }); +} +function t1t(e, t) { + return new e(d8e({ type: "number", checks: [], ...or(t) })); +} +function n1t(e, t) { + return new e(d8e({ type: "number", coerce: !0, checks: [], ...or(t) })); +} +function r1t(e, t) { + return new e({ + type: "number", + check: "number_format", + abort: !1, + format: "safeint", + ...or(t), + }); +} +function o1t(e, t) { + return new e({ type: "boolean", ...or(t) }); +} +function a1t(e, t) { + return new e({ type: "undefined", ...or(t) }); +} +function i1t(e, t) { + return new e({ type: "null", ...or(t) }); +} +function s1t(e) { + return new e({ type: "any" }); +} +function l1t(e) { + return new e({ type: "unknown" }); +} +function c1t(e, t) { + return new e({ type: "never", ...or(t) }); +} +function zre(e, t) { + return new X5e({ check: "less_than", ...or(t), value: e, inclusive: !1 }); +} +function m_(e, t) { + return new X5e({ check: "less_than", ...or(t), value: e, inclusive: !0 }); +} +function _re(e, t) { + return new W5e({ check: "greater_than", ...or(t), value: e, inclusive: !1 }); +} +function h_(e, t) { + return new W5e({ check: "greater_than", ...or(t), value: e, inclusive: !0 }); +} +function Hre(e, t) { + return new jht({ check: "multiple_of", ...or(t), value: e }); +} +function Vre(e, t) { + return new e0t({ check: "max_length", ...or(t), maximum: e }); +} +function V9(e, t) { + return new t0t({ check: "min_length", ...or(t), minimum: e }); +} +function Gre(e, t) { + return new n0t({ check: "length_equals", ...or(t), length: e }); +} +function g8e(e, t) { + return new r0t({ + check: "string_format", + format: "regex", + ...or(t), + pattern: e, + }); +} +function y8e(e) { + return new o0t({ check: "string_format", format: "lowercase", ...or(e) }); +} +function v8e(e) { + return new a0t({ check: "string_format", format: "uppercase", ...or(e) }); +} +function b8e(e, t) { + return new i0t({ + check: "string_format", + format: "includes", + ...or(t), + includes: e, + }); +} +function x8e(e, t) { + return new s0t({ + check: "string_format", + format: "starts_with", + ...or(t), + prefix: e, + }); +} +function A8e(e, t) { + return new l0t({ + check: "string_format", + format: "ends_with", + ...or(t), + suffix: e, + }); +} +function M6(e) { + return new c0t({ check: "overwrite", tx: e }); +} +function w8e(e) { + return M6((t) => t.normalize(e)); +} +function S8e() { + return M6((e) => e.trim()); +} +function C8e() { + return M6((e) => e.toLowerCase()); +} +function E8e() { + return M6((e) => e.toUpperCase()); +} +function I8e() { + return M6((e) => Kmt(e)); +} +function u1t(e, t, n) { + return new e({ type: "array", element: t, ...or(n) }); +} +function d1t(e, t, n) { + let r = or(n); + return ( + r.abort ?? (r.abort = !0), + new e({ type: "custom", check: "custom", fn: t, ...r }) + ); +} +function p1t(e, t, n) { + return new e({ type: "custom", check: "custom", fn: t, ...or(n) }); +} +function f1t(e, t) { + let n = TFn( + (r) => ( + (r.addIssue = (o) => { + if (typeof o === "string") r.issues.push(jE(o, r.value, n._zod.def)); + else { + let a = o; + if (a.fatal) a.continue = !1; + if ((a.code ?? (a.code = "custom"), !("input" in a))) + a.input = r.value; + (a.inst ?? (a.inst = n), + a.continue ?? (a.continue = !n._zod.def.abort), + r.issues.push(jE(a))); + } + }), + e(r.value, r) + ), + t, + ); + return n; +} +function TFn(e, t) { + let n = new kf({ check: "custom", ...or(t) }); + return ((n._zod.check = e), n); +} +var m1t = P(() => { + Tre(); + m0(); +}); +function g_(e, ...t) { + for (let n of t) + for (let r of Reflect.ownKeys(n)) + if (Object.prototype.propertyIsEnumerable.call(n, r)) Mg(e, r, n[r]); + return e; +} +function v_(e) { + let t = e?.target ?? "draft-2020-12"; + if (t === "draft-4") t = "draft-04"; + if (t === "draft-7") t = "draft-07"; + return { + processors: e.processors ?? {}, + metadataRegistry: e?.metadata ?? P6, + target: t, + unrepresentable: e?.unrepresentable ?? "throw", + override: e?.override ?? (() => {}), + io: e?.io ?? "output", + counter: 0, + seen: new Map(), + sharedDefsExtractedFor: void 0, + sharedEmitDoneFor: void 0, + cycles: e?.cycles ?? "ref", + reused: e?.reused ?? "inline", + intersections: [], + deferred: [], + external: e?.external ?? void 0, + }; +} +function Bp(e, t, n, r, o) { + let a = + typeof t.unrepresentable === "function" + ? t.unrepresentable({ zodSchema: e, path: r.path, message: o }) + : t.unrepresentable; + if (a === "any") return !1; + if (a === void 0 || a === "throw") throw Error(o); + return (Object.assign(n, a), !0); +} +function bs(e, t, n = { path: [], schemaPath: [] }) { + var r; + let o = e._zod.def, + a = t.seen.get(e); + if (a) { + if ((a.count++, n.schemaPath.includes(e))) a.cycle = n.path; + return a.schema; + } + let i = { schema: {}, count: 1, cycle: void 0, path: n.path }; + (t.seen.set(e, i), + (t.sharedDefsExtractedFor = void 0), + (t.sharedEmitDoneFor = void 0)); + let s = e._zod.toJSONSchema?.(); + if (s) i.schema = s; + else { + let u = { ...n, schemaPath: [...n.schemaPath, e], path: n.path }; + if (e._zod.processJSONSchema) e._zod.processJSONSchema(t, i.schema, u); + else { + let p = i.schema, + f = t.processors[o.type]; + if (!f) + throw Error( + `[toJSONSchema]: Non-representable type encountered: ${o.type}`, + ); + f(e, t, p, u); + } + let d = e._zod.parent; + if (d) { + if (!i.ref) i.ref = d; + (bs(d, t, u), (t.seen.get(d).isParent = !0)); + } + } + let l = t.metadataRegistry.get(e); + if (l) g_(i.schema, l); + if (t.io === "input" && uh(e)) + (delete i.schema.examples, delete i.schema.default); + if (t.io === "input" && "_prefault" in i.schema) + (r = i.schema).default ?? (r.default = i.schema._prefault); + return (delete i.schema._prefault, t.seen.get(e).schema); +} +function h1t(e) { + return e.replace(/~/g, "~0").replace(/\//g, "~1"); +} +function b_(e, t) { + let n = e.seen.get(t); + if (!n) throw Error("Unprocessed schema. This is a bug in Zod."); + if (e.external && e.sharedDefsExtractedFor === e.external) return; + let r = new Map(); + for (let i of e.seen.entries()) { + let s = e.metadataRegistry.get(i[0])?.id; + if (s) { + let l = r.get(s); + if (l && l !== i[0]) + throw Error( + `Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`, + ); + r.set(s, i[0]); + } + } + let o = (i) => { + let s = e.target === "draft-2020-12" ? "$defs" : "definitions"; + if (e.external) { + let d = e.external.registry.get(i[0])?.id, + p = e.external.uri ?? ((m) => m); + if (d) return { ref: p(d) }; + let f = i[1].defId ?? i[1].schema.id ?? `schema${e.counter++}`; + return ( + (i[1].defId = f), + { defId: f, ref: `${p("__shared")}#/${s}/${h1t(f)}` } + ); + } + let l = "#", + c = `${l}/${s}/`; + if (i[1] === n && !i[1].schema.id) return { ref: l }; + let u = i[1].schema.id ?? `__schema${e.counter++}`; + return { defId: u, ref: c + h1t(u) }; + }, + a = (i) => { + if (i[1].schema.$ref) return; + let s = i[1], + { ref: l, defId: c } = o(i); + if (((s.def = { ...s.schema }), c)) s.defId = c; + let u = s.schema; + for (let d in u) delete u[d]; + u.$ref = l; + }; + if (e.cycles === "throw") + for (let i of e.seen.entries()) { + let s = i[1]; + if (s.cycle) + throw Error(`Cycle detected: #/${s.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let s=i[1];if(t===i[0]){a(i);continue}if(e.external){let c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(s.cycle){a(i);continue}if(s.count>1){if(e.reused==="ref")a(i)}}if(e.external)e.sharedDefsExtractedFor=e.external}function v1t(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let r of t){if(!r||typeof r!=="object")return;v1t(r);let o=Object.keys(r);if(o.length!==1||o[0]!=="type")return;let a=r.type;for(let i of Array.isArray(a)?a:[a]){if(typeof i!=="string")return;if(!n.includes(i))n.push(i)}}delete e.anyOf,e.type=n.length===1?n[0]:n}function y1t(e){let t=e.additionalProperties;if(t===void 0||t===!1||typeof t!=="object"||t===null)return null;return Object.keys(t).length?t:null}function T8e(e){let t=[];for(let a of e){if(typeof a!=="object"||a.type!=="object")return null;for(let i in a)if(!b1t.has(i))return null;t.push(a)}let n={},r=new Set;for(let a of t){for(let i in a.properties){if(Object.prototype.hasOwnProperty.call(n,i))continue;let s=[];for(let c of t){let u=c.properties?.[i]??y1t(c);if(u===null||u===void 0)continue;if(!s.some((d)=>JSON.stringify(d)===JSON.stringify(u)))s.push(u)}let l=s.length===1?s[0]:T8e(s)??{allOf:s};Mg(n,i,l)}for(let i of a.required??[])r.add(i)}let o={type:"object",properties:n};if(r.size)o.required=[...r];if(t.every((a)=>a.additionalProperties===!1))o.additionalProperties=!1;else{let a=[];for(let i of t){let s=y1t(i);if(s&&!a.some((l)=>JSON.stringify(l)===JSON.stringify(s)))a.push(s)}if(a.length===1)o.additionalProperties=a[0];else if(a.length>1)o.additionalProperties={allOf:a}}return o}function kFn(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of b1t)if(o in e)return;let n=t.filter((o)=>g1t.some((a)=>Array.isArray(o[a]))),r=null;if(!n.length)r=T8e(t);else{let o=n[0],a=g1t.find((l)=>Array.isArray(o[l]));if(Object.keys(o).length!==1)return;let i=t.filter((l)=>l!==o),s=o[a].map((l)=>T8e([...i,l]));if(s.some((l)=>!l))return;r={[a]:s}}if(!r)return;delete e.allOf,g_(e,r)}function x_(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");let r=(s)=>{let l=e.seen.get(s);if(l.ref===null)return;let c=l.def??l.schema,u={...c},d=l.ref;if(l.ref=null,d){r(d);let f=e.seen.get(d),m=f.schema;if(m.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"))c.allOf=c.allOf??[],c.allOf.push(m);else g_(c,m);if(g_(c,u),s._zod.parent===d)for(let v in c){if(v==="$ref"||v==="allOf")continue;if(!(v in u))delete c[v]}if(m.$ref&&f.def)for(let v in c){if(v==="$ref"||v==="allOf")continue;if(v in f.def&&JSON.stringify(c[v])===JSON.stringify(f.def[v]))delete c[v]}}let p=s._zod.parent;if(p&&p!==d){r(p);let f=e.seen.get(p);if(f?.schema.$ref){if(c.$ref=f.schema.$ref,f.def)for(let m in c){if(m==="$ref"||m==="allOf")continue;if(m in f.def&&JSON.stringify(c[m])===JSON.stringify(f.def[m]))delete c[m]}}}e.override({zodSchema:s,jsonSchema:c,path:l.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let s of[...e.seen.entries()].reverse())r(s[0]);if(e.target!=="openapi-3.0")for(let s of e.seen.entries())v1t(s[1].def??s[1].schema);for(let s of e.deferred)s();if(e.intersections.length){let s=new Map;for(let l of e.seen.values())for(let c of[l.schema,l.def]){let u=c?.allOf;if(!Array.isArray(u))continue;let d=s.get(u);if(d)d.push(c);else s.set(u,[c])}for(let l of e.intersections)for(let c of s.get(l)??[])kFn(c)}}let o={};if(e.target==="draft-2020-12")o.$schema="https://json-schema.org/draft/2020-12/schema";else if(e.target==="draft-07")o.$schema="http://json-schema.org/draft-07/schema#";else if(e.target==="draft-04")o.$schema="http://json-schema.org/draft-04/schema#";else if(e.target==="openapi-3.0");if(e.external?.uri){let s=e.external.registry.get(t)?.id;if(!s)throw Error("Schema is missing an `id` property");o.$id=e.external.uri(s)}g_(o,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;if(a!==void 0&&o.id===a)delete o.id;let i=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let s of e.seen.entries()){let l=s[1];if(l.def&&l.defId){if(l.def.id===l.defId)delete l.def.id;Mg(i,l.defId,l.def)}}if(e.external)e.sharedEmitDoneFor=e.external;if(e.external);else if(Object.keys(i).length>0)if(e.target==="draft-2020-12")o.$defs=i;else o.definitions=i;try{let s=JSON.parse(JSON.stringify(o));return Object.defineProperty(s,"~standard",{value:{...t["~standard"],jsonSchema:{input:y_(t,"input",e.processors),output:y_(t,"output",e.processors)}},enumerable:!1,writable:!1}),s}catch(s){throw Error("Error converting schema to JSON.")}}function uh(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return uh(r.element,n);if(r.type==="set")return uh(r.valueType,n);if(r.type==="lazy")return uh(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault"||r.type==="catch")return uh(r.innerType,n);if(r.type==="intersection")return uh(r.left,n)||uh(r.right,n);if(r.type==="record"||r.type==="map")return uh(r.keyType,n)||uh(r.valueType,n);if(r.type==="pipe"){if(e._zod.traits.has("$ZodCodec"))return!0;return uh(r.in,n)||uh(r.out,n)}if(r.type==="object"){for(let o in r.shape)if(uh(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(let o of r.options)if(uh(o,n))return!0;return!1}if(r.type==="tuple"){for(let o of r.items)if(uh(o,n))return!0;if(r.rest&&uh(r.rest,n))return!0;return!1}return!1}var b1t,g1t,x1t=(e,t={})=>(n)=>{let r=v_({...n,processors:t});return bs(e,r),b_(r,e),x_(r,e)},y_=(e,t,n={})=>(r)=>{let{libraryOptions:o,target:a}=r??{},i=v_({...o??{},target:a,io:t,processors:n});return bs(e,i),b_(i,e),x_(i,e)};var qre=P(()=>{u8e();m0();b1t=new Set(["type","properties","required","additionalProperties"]),g1t=["oneOf","anyOf"]});function y0(e){let t={},n=e._zod.def,r=e._zod.traits.has("$ZodCheck")?[e,...n.checks??[]]:n.checks??[];for(let a of r)RFn[a._zod.def.check]?.(t,a._zod.def);let o=e._zod.bag;if(o.minimum!==void 0)G9(t,"minimum",o.minimum);if(o.exclusiveMinimum!==void 0)G9(t,"exclusiveMinimum",o.exclusiveMinimum);if(o.maximum!==void 0)q9(t,"maximum",o.maximum);if(o.exclusiveMaximum!==void 0)q9(t,"exclusiveMaximum",o.exclusiveMaximum);if(o.multipleOf!==void 0)I1t(t,o.multipleOf);if(o.format!==void 0){if(t.format??(t.format=o.format),o.format.includes("int"))t.isInt=!0}if(o.mime)k1t(t,o.mime);for(let a of o.patterns??[])T1t(t,a);return t}function A_(e){let t=e._zod.def;if(t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform"))return A_(t.out);if(t.type==="catch")return A_(t.innerType);return e._zod.optin}function k8e(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let m=e.get(t)?.def;if(!m)return t;let g=k8e(e,m,n);return g===m?t:g}for(let m of["anyOf","oneOf"]){let g=t[m];if(!Array.isArray(g))continue;let v=g.map((y)=>k8e(e,y,n));if(v.some((y,x)=>y!==g[x]))t={...t,[m]:v}}let r=Array.isArray(t.type)?t.type:[t.type],o=!r.includes("string")&&r.some((m)=>m==="number"||m==="integer"),a=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!a?.some((m)=>typeof m==="number"))return t;let{minimum:i,maximum:s,exclusiveMinimum:l,exclusiveMaximum:c,multipleOf:u,format:d,id:p,...f}=t;if(f.enum)f.enum=f.enum.map((m)=>typeof m==="number"?String(m):m);else if(typeof f.const==="number")f.const=String(f.const);if(!o)return f;if(f.type="string",!a)f.pattern=(r.includes("number")?c_:Z5e).source;return f}function DFn(e){let t=new Map;for(let r of e.seen.values())if(r.def&&!t.has(r.schema))t.set(r.schema,r);let n=new Map;for(let r of R8e.get(e)??[]){let o=e.seen.get(r),a=(o?.def??o?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let i=k8e(t,a,new Set);if(i!==a)n.set(a,i)}if(!n.size)return;for(let r of e.seen.values())for(let o of[r.schema,r.def]){let a=o&&n.get(o.propertyNames);if(a)o.propertyNames=a}}function G1t(e,t,n,r,o){let a=!1,i=JSON.stringify(e,(s,l)=>{if(typeof l!=="bigint")return l;return a=!0,null});if(!a)return JSON.parse(i);return Bp(t,n,r,o,"BigInt defaults cannot be represented in JSON Schema"),Y8e}function Qre(e,t){if("_idmap"in e){let r=e,o=v_({...t,processors:E1t}),a={};for(let l of r._idmap.entries()){let[c,u]=l;bs(u,o)}let i={},s={registry:r,uri:t?.uri,defs:a};o.external=s;for(let l of r._idmap.entries()){let[c,u]=l;b_(o,u),Mg(i,c,x_(o,u))}if(Object.keys(a).length>0){let l=o.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[l]:a}}return{schemas:i}}let n=v_({...t,processors:E1t});return bs(e,n),b_(n,e),x_(n,e)}var G9=(e,t,n)=>{if(e[t]===void 0||n>e[t])e[t]=n},q9=(e,t,n)=>{if(e[t]===void 0||n{G9(e,"minimum",t),q9(e,"maximum",t)},I1t=(e,t)=>{if(e.multipleOf??(e.multipleOf=[]),!e.multipleOf.includes(t))e.multipleOf.push(t)},T1t=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},k1t=(e,t)=>{e.mime=e.mime?e.mime.filter((n)=>t.includes(n)):[...t]},R1t=(e,t)=>{if(e.format=t,t.includes("int"))e.isInt=!0},w1t=(e,t)=>G9(e,"minimum",t.minimum),S1t=(e,t)=>q9(e,"maximum",t.maximum),C1t=(e)=>(t,n)=>{R1t(t,n.format);let[r,o]=e[n.format];G9(t,"minimum",r),q9(t,"maximum",o)},RFn,PFn,MFn,P1t=(e)=>MFn.get(e)??e,P8e=(e,t,n,r)=>{let o=n;o.type="string";let{minimum:a,maximum:i,format:s,patterns:l,contentEncoding:c,laxFormat:u}=y0(e);if(typeof a==="number")o.minLength=a;if(typeof i==="number")o.maxLength=i;if(s){if(o.format=PFn[s]??s,o.format==="")delete o.format;if(s==="time"||u)delete o.format}if(c)o.contentEncoding=c;if(l&&l.size>0){let d=[...l].map(P1t);if(d.length===1)o.pattern=d[0].source;else if(d.length>1)o.allOf=[...d.map((p)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))]}},M8e=(e,t,n,r)=>{let o=n,{minimum:a,maximum:i,multipleOf:s,exclusiveMaximum:l,exclusiveMinimum:c,isInt:u}=y0(e);o.type=u?"integer":"number";let d=typeof c==="number"&&c>=(a??Number.NEGATIVE_INFINITY),p=typeof l==="number"&&l<=(i??Number.POSITIVE_INFINITY),f=t.target==="draft-04"||t.target==="openapi-3.0";if(d)if(f)o.minimum=c,o.exclusiveMinimum=!0;else o.exclusiveMinimum=c;else if(typeof a==="number")o.minimum=a;if(p)if(f)o.maximum=l,o.exclusiveMaximum=!0;else o.exclusiveMaximum=l;else if(typeof i==="number")o.maximum=i;if(s){let m=new Set;for(let y of s)if(Number.isFinite(y)&&y!==0)m.add(Math.abs(y));else Bp(e,t,o,r,`A multipleOf divisor of ${y} cannot be represented in JSON Schema`);let[g,...v]=m;if(g!==void 0)o.multipleOf=g;if(v.length)o.allOf=[...o.allOf??[],...v.map((y)=>({multipleOf:y}))]}},D8e=(e,t,n,r)=>{n.type="boolean"},M1t=(e,t,n,r)=>{Bp(e,t,n,r,"BigInt cannot be represented in JSON Schema")},D1t=(e,t,n,r)=>{Bp(e,t,n,r,"Symbols cannot be represented in JSON Schema")},L8e=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},B8e=(e,t,n,r)=>{Bp(e,t,n,r,"Undefined cannot be represented in JSON Schema")},L1t=(e,t,n,r)=>{Bp(e,t,n,r,"Void cannot be represented in JSON Schema")},O8e=(e,t,n,r)=>{n.not={}},F8e=(e,t,n,r)=>{},U8e=(e,t,n,r)=>{},B1t=(e,t,n,r)=>{Bp(e,t,n,r,"Date cannot be represented in JSON Schema")},N8e=(e,t,n,r)=>{let o=e._zod.def,a=o_(o.entries);if(a.length===0){n.not={};return}if(a.every((i)=>typeof i==="number"))n.type="number";if(a.every((i)=>typeof i==="string"))n.type="string";n.enum=a},z8e=(e,t,n,r)=>{let o=e._zod.def;if(o.values.length===0){n.not={};return}let a=[];for(let i of o.values)if(i===void 0){if(Bp(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof i==="bigint"){if(Bp(e,t,n,r,"BigInt literals cannot be represented in JSON Schema"))return;a.push(Number(i))}else a.push(i);if(a.length===0);else if(a.length===1){let i=a[0];if(n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0")n.enum=[i];else n.const=i}else{if(a.every((i)=>typeof i==="number"))n.type="number";if(a.every((i)=>typeof i==="string"))n.type="string";if(a.every((i)=>typeof i==="boolean"))n.type="boolean";if(a.every((i)=>i===null))n.type="null";n.enum=a}},O1t=(e,t,n,r)=>{Bp(e,t,n,r,"NaN cannot be represented in JSON Schema")},F1t=(e,t,n,r)=>{let o=n,a=e._zod.pattern;if(!a)throw Error("Pattern not found in template literal");o.type="string",o.pattern=a.source},U1t=(e,t,n,r)=>{let o=n;o.type="string",o.format="binary",o.contentEncoding="binary";let{minimum:a,maximum:i,mime:s}=y0(e);if(a!==void 0)o.minLength=a;if(i!==void 0)o.maxLength=i;if(!s)return;if(s.length===0)o.not={};else if(s.length===1)o.contentMediaType=s[0];else o.anyOf=s.map((l)=>({contentMediaType:l}))},N1t=(e,t,n,r)=>{n.type="boolean"},_8e=(e,t,n,r)=>{Bp(e,t,n,r,"Custom types cannot be represented in JSON Schema")},z1t=(e,t,n,r)=>{Bp(e,t,n,r,"Function types cannot be represented in JSON Schema")},H8e=(e,t,n,r)=>{Bp(e,t,n,r,"Transforms cannot be represented in JSON Schema")},_1t=(e,t,n,r)=>{Bp(e,t,n,r,"Map cannot be represented in JSON Schema")},H1t=(e,t,n,r)=>{Bp(e,t,n,r,"Set cannot be represented in JSON Schema")},V8e=(e,t,n,r)=>{let o=n,a=e._zod.def,{minimum:i,maximum:s}=y0(e);if(typeof i==="number")o.minItems=i;if(typeof s==="number")o.maxItems=s;o.type="array",o.items=bs(a.element,t,{...r,path:[...r.path,"items"]})},G8e=(e,t,n,r)=>{let o=n,a=e._zod.def,i=a.shape;if(Object.getOwnPropertySymbols(i).length&&Bp(e,t,o,r,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(let c in i)Mg(o.properties,c,bs(i[c],t,{...r,path:[...r.path,"properties",c]}));let l=[];for(let c of Object.keys(i)){let u=a.shape[c];if(t.io==="input"?A_(u)===void 0:u._zod.optout===void 0)l.push(c)}if(l.length>0)o.required=l;if(a.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!a.catchall){if(t.io==="output")o.additionalProperties=!1}else if(a.catchall)o.additionalProperties=bs(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})},q8e=(e,t,n,r)=>{let o=e._zod.def,a=o.inclusive===!1,i=o.options.map((s,l)=>bs(s,t,{...r,path:[...r.path,a?"oneOf":"anyOf",l]}));if(a)n.oneOf=i;else n.anyOf=i},Z8e=(e,t,n,r)=>{let o=e._zod.def,a=bs(o.left,t,{...r,path:[...r.path,"allOf",0]}),i=bs(o.right,t,{...r,path:[...r.path,"allOf",1]}),s=(c)=>("allOf"in c)&&Object.keys(c).length===1,l=[...s(a)?a.allOf:[a],...s(i)?i.allOf:[i]];n.allOf=l,t.intersections.push(l)},V1t=(e,t,n,r)=>{let o=n,a=e._zod.def;o.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",s=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",l=a.items.map((g,v)=>bs(g,t,{...r,path:[...r.path,i,v]})),c=a.rest?bs(a.rest,t,{...r,path:[...r.path,s,...t.target==="openapi-3.0"?[a.items.length]:[]]}):null,u=a.items.length;while(u>0){let g=a.items[u-1];if(!(t.io==="input"?A_(g)!==void 0:g._zod.optout==="optional"))break;u--}let d=a.items.length,p=!a.rest;if(t.target==="draft-2020-12"){if(o.prefixItems=l,p)o.items=!1;else if(c)o.items=c;if(u>0)o.minItems=u;if(p)o.maxItems=d}else if(t.target==="openapi-3.0"){if(o.items={anyOf:l},c)o.items.anyOf.push(c);if(u>0)o.minItems=u;if(p)o.maxItems=d}else{if(o.items=l,p)o.additionalItems=!1;else if(c)o.additionalItems=c;if(u>0)o.minItems=u;if(p)o.maxItems=d}let{minimum:f,maximum:m}=y0(e);if(typeof f==="number")o.minItems=f;if(typeof m==="number")o.maxItems=m},R8e,Q8e=(e,t,n,r)=>{let o=n,a=e._zod.def;o.type="object";let i=a.keyType,s=y0(i).patterns;if(a.mode==="loose"&&s&&s.size>0){let u=bs(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(let d of s)Mg(o.patternProperties,P1t(d).source,u)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=bs(a.keyType,t,{...r,path:[...r.path,"propertyNames"]});let u=R8e.get(t);if(!u)u=[],R8e.set(t,u),t.deferred.push(()=>DFn(t));u.push(e)}o.additionalProperties=bs(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}let l=i._zod.values,c=t.io==="input"&&A_(a.valueType)!==void 0;if(l&&!a.partial&&!c){let u=[...l].filter((d)=>typeof d==="string"||typeof d==="number");if(u.length>0)o.required=u.map(String)}},X8e=(e,t,n,r)=>{let o=e._zod.def,a=bs(o.innerType,t,r),i=t.seen.get(e);if(t.target==="openapi-3.0")i.ref=o.innerType,n.nullable=!0;else n.anyOf=[a,{type:"null"}]},W8e=(e,t,n,r)=>{let o=e._zod.def;bs(o.innerType,t,r);let a=t.seen.get(e);a.ref=o.innerType},Y8e,K8e=(e,t,n,r)=>{let o=e._zod.def;bs(o.innerType,t,r);let a=t.seen.get(e);a.ref=o.innerType;let i=G1t(o.defaultValue,e,t,n,r);if(i!==Y8e)n.default=i},J8e=(e,t,n,r)=>{let o=e._zod.def;bs(o.innerType,t,r);let a=t.seen.get(e);if(a.ref=o.innerType,t.io!=="input")return;let i=G1t(o.defaultValue,e,t,n,r);if(i!==Y8e)n._prefault=i},j8e=(e,t,n,r)=>{let o=e._zod.def;bs(o.innerType,t,r);let a=t.seen.get(e);a.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{Bp(e,t,n,r,"Dynamic catch values are not supported in JSON Schema");return}n.default=i},$8e=(e,t,n,r)=>{let o=e._zod.def,a=o.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?a?o.out:o.in:o.out;bs(i,t,r);let s=t.seen.get(e);s.ref=i},eEe=(e,t,n,r)=>{let o=e._zod.def;bs(o.innerType,t,r);let a=t.seen.get(e);a.ref=o.innerType,n.readOnly=!0},q1t=(e,t,n,r)=>{let o=e._zod.def;bs(o.innerType,t,r);let a=t.seen.get(e);a.ref=o.innerType},Zre=(e,t,n,r)=>{let o=e._zod.def;bs(o.innerType,t,r);let a=t.seen.get(e);a.ref=o.innerType},tEe=(e,t,n,r)=>{let o=e._zod.innerType;bs(o,t,r);let a=t.seen.get(e);a.ref=o},E1t;var nEe=P(()=>{u_();o8e();qre();m0();RFn={greater_than:(e,t)=>G9(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>q9(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>I1t(e,t.value),number_format:C1t(gre),bigint_format:C1t(L5e),min_length:w1t,max_length:S1t,length_equals:(e,t)=>A1t(e,t.length),min_size:w1t,max_size:S1t,size_equals:(e,t)=>A1t(e,t.size),string_format:(e,t)=>{if(R1t(e,t.format),t.pattern)T1t(e,t.pattern);if(t.format==="base64"||t.format==="base64url")e.contentEncoding=t.format;if(t.local||t.precision===-1)e.laxFormat=!0},mime_type:(e,t)=>k1t(e,t.mime)};PFn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},MFn=new Map([[$5e,Nht],[Dre,zht]]);R8e=new WeakMap;Y8e=Symbol();E1t={string:P8e,number:M8e,boolean:D8e,bigint:M1t,symbol:D1t,null:L8e,undefined:B8e,void:L1t,never:O8e,any:F8e,unknown:U8e,date:B1t,enum:N8e,literal:z8e,nan:O1t,template_literal:F1t,file:U1t,success:N1t,custom:_8e,function:z1t,transform:H8e,map:_1t,set:H1t,array:V8e,object:G8e,union:q8e,intersection:Z8e,tuple:V1t,record:Q8e,nullable:X8e,nonoptional:W8e,default:K8e,prefault:J8e,catch:j8e,pipe:$8e,readonly:eEe,promise:q1t,optional:Zre,lazy:tEe}});var Z1t=()=>{};var ly=P(()=>{m0();u_();c8e();Z1t();$E();wht();pht();o8e();Tgt();Tre();K5e();u8e();Lgt();m1t();qre()});var rEe=P(()=>{ly()});function Xre(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let r=n(this);return Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0})}})}var Q1t,_Fn=(e,t)=>{dht.init(e,t),e.name="ZodError";let n=Object.getPrototypeOf(e);if(Q1t.has(n))return;Q1t.add(n),Xre(n,"format",(r)=>(o)=>_5e(r,o)),Xre(n,"flatten",(r)=>(o)=>z5e(r,o)),Xre(n,"addIssue",(r)=>(o)=>{r.issues.push(o),r.message=JSON.stringify(r.issues,a_,2)}),Xre(n,"addIssues",(r)=>(o)=>{r.issues.push(...o),r.message=JSON.stringify(r.issues,a_,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}})},Lg;var oEe=P(()=>{ly();ly();m0();Q1t=new WeakSet([Object.prototype,Error.prototype]);Lg=Lt("ZodError",_Fn,void 0,{Parent:Error})});var X1t,W1t,Wre,Y1t,K1t,J1t,j1t,$1t,eyt,tyt,nyt,ryt;var aEe=P(()=>{ly();oEe();ly();X1t=wre(Lg),W1t=Sre(Lg),Wre=Cre(Lg),Y1t=Ere(Lg),K1t=mht(Lg),J1t=hht(Lg),j1t=ght(Lg),$1t=yht(Lg),eyt=vht(Lg),tyt=bht(Lg),nyt=xht(Lg),ryt=Aht(Lg)});function VFn(){if(!h0.localeError)g0(l8e())}function Kre(){if(!h0.memoizer)g0({memoizer:s8e()})}function Q(e){return Bgt(lyt,e)}function pyt(e){return p8e(dyt,e)}function Jre(e){return f8e(fyt,e)}function Pt(e){return t1t(jre,e)}function Oo(e){return r1t(aUn,e)}function Bt(e){return o1t(myt,e)}function cEe(e){return a1t(iUn,e)}function w3(e){return i1t(sUn,e)}function Gr(){return s1t(lUn)}function Sn(){return l1t(cUn)}function uEe(e){return c1t(uUn,e)}function je(e,t){return u1t(dUn,e,t)}function Te(e,t){let n={type:"object",shape:e??{},...or(t)};return new hyt(n)}function wt(e,t){return new hyt({type:"object",shape:e,catchall:Sn(),...or(t)})}function Jt(e,t){return new gyt({type:"union",options:e,...or(t)})}function dm(e,t,n){return new pUn({type:"union",options:t,discriminator:e,...or(n)})}function cy(e,t){return new fUn({type:"intersection",left:e,right:t})}function Wt(e,t,n){if(!t||!t._zod)return new oyt({type:"record",keyType:Q(),valueType:e,...or(t)});return new oyt({type:"record",keyType:e,valueType:t,...or(n)})}function tr(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new iEe({type:"enum",entries:n,...or(t)})}function Ce(e,t){return new mUn({type:"literal",values:Array.isArray(e)?e:[e],...or(t)})}function yyt(e){return new hUn({type:"transform",transform:e})}function Rn(e){return new vyt({type:"optional",innerType:e})}function gUn(e){return new byt({type:"optional",innerType:e})}function ayt(e){return new yUn({type:"nullable",innerType:e})}function bUn(e,t){return new vUn({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():M5e(t)}})}function AUn(e,t){return new xUn({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():M5e(t)}})}function wUn(e,t){return new xyt({type:"nonoptional",innerType:e,...or(t)})}function CUn(e,t){return new SUn({type:"catch",innerType:e,catchValue:typeof t==="function"?t:iht(t)})}function iyt(e,t){return new Ayt({type:"pipe",in:e,out:t})}function TUn(e){return new IUn({type:"readonly",innerType:e})}function w_(e){return new kUn({type:"lazy",getter:e})}function eI(e,t){return d1t(wyt,e??(()=>!0),t)}function RUn(e,t={}){return p1t(wyt,e,t)}function PUn(e,t){return f1t(e,t)}function ax(e,t){return new EUn({type:"pipe",in:yyt(e),out:t})}var xs,syt,lyt,Vl,sEe,lEe,cyt,uyt,dyt,GFn,Yre,fyt,qFn,ZFn,QFn,XFn,WFn,YFn,KFn,JFn,jFn,$Fn,eUn,tUn,nUn,rUn,oUn,jre,aUn,myt,iUn,sUn,lUn,cUn,uUn,dUn,hyt,gyt,pUn,fUn,oyt,iEe,mUn,hUn,vyt,byt,yUn,vUn,xUn,xyt,SUn,Ayt,EUn,IUn,kUn,wyt;var $re=P(()=>{ly();ly();nEe();qre();kgt();rEe();aEe();xs=Lt("ZodType",(e,t)=>(VFn(),os.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(Dg(t,{checks:[...t.checks??[],...e.map((n)=>typeof n==="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return F2(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(RUn(e,t))},superRefine(e,t){return this.check(PUn(e,t))},overwrite(e){return this.check(M6(e))},optional(){return Rn(this)},exactOptional(){return gUn(this)},nullable(){return ayt(this)},nullish(){return Rn(ayt(this))},nonoptional(e){return wUn(this,e)},array(){return je(this)},or(e){return Jt([this,e])},and(e){return cy(this,e)},transform(e){return iyt(this,yyt(e))},default(e){return bUn(this,e)},prefault(e){return AUn(this,e)},catch(e){return CUn(this,e)},pipe(e){return iyt(this,e)},readonly(){return TUn(this)},describe(e){let t=this.clone();return P6.add(t,{description:e}),t},meta(...e){if(e.length===0)return P6.get(this);let t=this.clone();return P6.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get "~standard"(){return xre(this,"~standard",{...j5e(this),jsonSchema:{input:y_(this,"input"),output:y_(this,"output")}})},set "~standard"(e){A3(this,"~standard",e)},parse:function e(t,n){return X1t(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await W1t(this,t,n,{callee:e})},safeParse(e,t){return Wre(this,e,t)},async safeParseAsync(e,t){return Y1t(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){A3(this,"spa",e)},validate(e,t){return H5e(this,e,t)},validateAsync(e,t){return V5e(this,e,t)},encode:function e(t,n){return K1t(this,t,n,{callee:e})},decode:function e(t,n){return J1t(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await j1t(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await $1t(this,t,n,{callee:e})},safeEncode(e,t){return eyt(this,e,t)},safeDecode(e,t){return tyt(this,e,t)},async safeEncodeAsync(e,t){return nyt(this,e,t)},async safeDecodeAsync(e,t){return ryt(this,e,t)},toJSONSchema(e){return x1t(this,{})(e)},get description(){return P6.get(this)?.description},get _def(){return this._zod.def}}),syt=Lt("_ZodString",(e,t)=>{Mre.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>P8e(e,n,r,o)},aht({format:(e)=>y0(e).format??null,minLength:(e)=>y0(e).minimum??null,maxLength:(e)=>y0(e).maximum??null},{regex(...e){return this.check(g8e(...e))},includes(...e){return this.check(b8e(...e))},startsWith(...e){return this.check(x8e(...e))},endsWith(...e){return this.check(A8e(...e))},min(...e){return this.check(V9(...e))},max(...e){return this.check(Vre(...e))},length(...e){return this.check(Gre(...e))},nonempty(...e){return this.check(V9(1,...e))},lowercase(e){return this.check(y8e(e))},uppercase(e){return this.check(v8e(e))},trim(){return this.check(S8e())},normalize(...e){return this.check(w8e(...e))},toLowerCase(){return this.check(C8e())},toUpperCase(){return this.check(E8e())},slugify(){return this.check(I8e())}})),lyt=Lt("ZodString",(e,t)=>{Mre.init(e,t),syt.init(e,t)},{email(e){return this.check(p8e(dyt,e))},url(e){return this.check(f8e(fyt,e))},jwt(e){return this.check(e1t(oUn,e))},emoji(e){return this.check(_gt(qFn,e))},guid(e){return this.check(Ogt(GFn,e))},uuid(e){return this.check(Fgt(Yre,e))},uuidv4(e){return this.check(Ugt(Yre,e))},uuidv6(e){return this.check(Ngt(Yre,e))},uuidv7(e){return this.check(zgt(Yre,e))},nanoid(e){return this.check(Hgt(ZFn,e))},cuid(e){return this.check(Vgt(QFn,e))},cuid2(e){return this.check(Ggt(XFn,e))},ulid(e){return this.check(qgt(WFn,e))},base64(e){return this.check(Jgt(tUn,e))},base64url(e){return this.check(jgt(nUn,e))},xid(e){return this.check(Zgt(YFn,e))},ksuid(e){return this.check(Qgt(KFn,e))},ipv4(e){return this.check(Xgt(JFn,e))},ipv6(e){return this.check(Wgt(jFn,e))},cidrv4(e){return this.check(Ygt($Fn,e))},cidrv6(e){return this.check(Kgt(eUn,e))},e164(e){return this.check($gt(rUn,e))},datetime(e){return this.check(Ure(sEe,e))},date(e){return this.check(Nre(lEe,e))},time(e){return this.check(m8e(cyt,e))},duration(e){return this.check(h8e(uyt,e))}});Vl=Lt("ZodStringFormat",(e,t)=>{js.init(e,t),syt.init(e,t)}),sEe=Lt("ZodISODateTime",(e,t)=>{F0t.init(e,t),Vl.init(e,t)}),lEe=Lt("ZodISODate",(e,t)=>{U0t.init(e,t),Vl.init(e,t)}),cyt=Lt("ZodISOTime",(e,t)=>{N0t.init(e,t),Vl.init(e,t)}),uyt=Lt("ZodISODuration",(e,t)=>{z0t.init(e,t),Vl.init(e,t)}),dyt=Lt("ZodEmail",(e,t)=>{E0t.init(e,t),Vl.init(e,t)});GFn=Lt("ZodGUID",(e,t)=>{S0t.init(e,t),Vl.init(e,t)}),Yre=Lt("ZodUUID",(e,t)=>{C0t.init(e,t),Vl.init(e,t)}),fyt=Lt("ZodURL",(e,t)=>{k0t.init(e,t),Vl.init(e,t)});qFn=Lt("ZodEmoji",(e,t)=>{R0t.init(e,t),Vl.init(e,t)}),ZFn=Lt("ZodNanoID",(e,t)=>{P0t.init(e,t),Vl.init(e,t)}),QFn=Lt("ZodCUID",(e,t)=>{M0t.init(e,t),Vl.init(e,t)}),XFn=Lt("ZodCUID2",(e,t)=>{D0t.init(e,t),Vl.init(e,t)}),WFn=Lt("ZodULID",(e,t)=>{L0t.init(e,t),Vl.init(e,t)}),YFn=Lt("ZodXID",(e,t)=>{B0t.init(e,t),Vl.init(e,t)}),KFn=Lt("ZodKSUID",(e,t)=>{O0t.init(e,t),Vl.init(e,t)}),JFn=Lt("ZodIPv4",(e,t)=>{_0t.init(e,t),Vl.init(e,t)}),jFn=Lt("ZodIPv6",(e,t)=>{V0t.init(e,t),Vl.init(e,t)}),$Fn=Lt("ZodCIDRv4",(e,t)=>{G0t.init(e,t),Vl.init(e,t)}),eUn=Lt("ZodCIDRv6",(e,t)=>{q0t.init(e,t),Vl.init(e,t)}),tUn=Lt("ZodBase64",(e,t)=>{Q0t.init(e,t),Vl.init(e,t)}),nUn=Lt("ZodBase64URL",(e,t)=>{X0t.init(e,t),Vl.init(e,t)}),rUn=Lt("ZodE164",(e,t)=>{W0t.init(e,t),Vl.init(e,t)}),oUn=Lt("ZodJWT",(e,t)=>{Y0t.init(e,t),Vl.init(e,t)}),jre=Lt("ZodNumber",(e,t)=>{e8e.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>M8e(e,n,r,o),e.isFinite=!0},aht({minValue:(e)=>{let{minimum:t,exclusiveMinimum:n}=y0(e);return Math.max(t??Number.NEGATIVE_INFINITY,n??Number.NEGATIVE_INFINITY)},maxValue:(e)=>{let{maximum:t,exclusiveMaximum:n}=y0(e);return Math.min(t??Number.POSITIVE_INFINITY,n??Number.POSITIVE_INFINITY)},isInt:(e)=>{let{isInt:t,multipleOf:n}=y0(e);return!!t||!!n?.some(Number.isSafeInteger)},format:(e)=>y0(e).format??null},{gt(e,t){return this.check(_re(e,t))},gte(e,t){return this.check(h_(e,t))},min(e,t){return this.check(h_(e,t))},lt(e,t){return this.check(zre(e,t))},lte(e,t){return this.check(m_(e,t))},max(e,t){return this.check(m_(e,t))},int(e){return this.check(Oo(e))},safe(e){return this.check(Oo(e))},positive(e){return this.check(_re(0,e))},nonnegative(e){return this.check(h_(0,e))},negative(e){return this.check(zre(0,e))},nonpositive(e){return this.check(m_(0,e))},multipleOf(e,t){return this.check(Hre(e,t))},step(e,t){return this.check(Hre(e,t))},finite(){return this}}));aUn=Lt("ZodNumberFormat",(e,t)=>{K0t.init(e,t),jre.init(e,t)});myt=Lt("ZodBoolean",(e,t)=>{J0t.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>D8e(e,n,r,o)});iUn=Lt("ZodUndefined",(e,t)=>{j0t.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>B8e(e,n,r,o)});sUn=Lt("ZodNull",(e,t)=>{$0t.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>L8e(e,n,r,o)});lUn=Lt("ZodAny",(e,t)=>{egt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>F8e(e,n,r,o)});cUn=Lt("ZodUnknown",(e,t)=>{tgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>U8e(e,n,r,o)});uUn=Lt("ZodNever",(e,t)=>{ngt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>O8e(e,n,r,o)});dUn=Lt("ZodArray",(e,t)=>{Kre(),rgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>V8e(e,n,r,o),e.element=t.element},{min(e,t){return this.check(V9(e,t))},nonempty(e){return this.check(V9(1,e))},max(e,t){return this.check(Vre(e,t))},length(e,t){return this.check(Gre(e,t))},unwrap(){return this.element}});hyt=Lt("ZodObject",(e,t)=>{Kre(),igt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>G8e(e,n,r,o),JOn(e,"shape",(n)=>n._zod.def.shape,!1)},{keyof(){return tr(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(Dg(this._zod.def,{catchall:e}))},passthrough(){return this.clone(Dg(this._zod.def,{catchall:Sn()}))},loose(){return this.clone(Dg(this._zod.def,{catchall:Sn()}))},strict(){return this.clone(Dg(this._zod.def,{catchall:uEe()}))},strip(){return this.clone(Dg(this._zod.def,{catchall:void 0}))},extend(e){return GOn(this,e)},safeExtend(e){return qOn(this,e)},merge(e){return ZOn(this,e)},pick(e){return HOn(this,e)},omit(e){return VOn(this,e)},partial(...e){return tht(vyt,this,e[0])},exactPartial(...e){return tht(byt,this,e[0],"exactPartial")},required(...e){return QOn(xyt,this,e[0])}});gyt=Lt("ZodUnion",(e,t)=>{t8e.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>q8e(e,n,r,o),e.options=t.options});pUn=Lt("ZodDiscriminatedUnion",(e,t)=>{gyt.init(e,t),sgt.init(e,t)});fUn=Lt("ZodIntersection",(e,t)=>{lgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Z8e(e,n,r,o)});oyt=Lt("ZodRecord",(e,t)=>{Kre(),cgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Q8e(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});iEe=Lt("ZodEnum",(e,t)=>{ugt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(r,o,a)=>N8e(e,r,o,a),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let a={};for(let i of r)if(n.has(i))a[i]=t.entries[i];else throw Error(`Key ${i} not found in enum`);return new iEe({...t,checks:[],...or(o),entries:a})},e.exclude=(r,o)=>{let a={...t.entries};for(let i of r)if(n.has(i))delete a[i];else throw Error(`Key ${i} not found in enum`);return new iEe({...t,checks:[],...or(o),entries:a})}});mUn=Lt("ZodLiteral",(e,t)=>{dgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>z8e(e,n,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});hUn=Lt("ZodTransform",(e,t)=>{Kre(),pgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>H8e(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new l_(e.constructor.name);n.addIssue=(a)=>{if(typeof a==="string")n.issues.push(jE(a,n.value,t));else{let i=a;if(i.fatal)i.continue=!1;if(i.code??(i.code="custom"),!("input"in i))i.input=n.value;i.inst??(i.inst=e),n.issues.push(jE(i))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((a)=>(n.value=a,n));return n.value=o,n}});vyt=Lt("ZodOptional",(e,t)=>{n8e.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zre(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});byt=Lt("ZodExactOptional",(e,t)=>{fgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zre(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});yUn=Lt("ZodNullable",(e,t)=>{mgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>X8e(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});vUn=Lt("ZodDefault",(e,t)=>{hgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>K8e(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});xUn=Lt("ZodPrefault",(e,t)=>{ggt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>J8e(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});xyt=Lt("ZodNonOptional",(e,t)=>{ygt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>W8e(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});SUn=Lt("ZodCatch",(e,t)=>{vgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>j8e(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});Ayt=Lt("ZodPipe",(e,t)=>{r8e.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$8e(e,n,r,o),e.in=t.in,e.out=t.out});EUn=Lt("ZodPreprocess",(e,t)=>{Ayt.init(e,t),bgt.init(e,t)}),IUn=Lt("ZodReadonly",(e,t)=>{xgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eEe(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});kUn=Lt("ZodLazy",(e,t)=>{Agt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tEe(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});wyt=Lt("ZodCustom",(e,t)=>{wgt.init(e,t),xs.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_8e(e,n,r,o)})});var Cyt,Syt;var Eyt=P(()=>{Cyt={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function(e){})(Syt||(Syt={}))});function S_(e){return Ure(sEe,e)}function DUn(e){return Nre(lEe,e)}var Iyt=P(()=>{ly();$re()});function LUn(e){return n1t(jre,e)}var kyt=P(()=>{ly();$re()});var pEe=P(()=>{ly();ly();nEe();c8e();Iyt();kyt();$re();rEe();oEe();aEe();Eyt()});var Ryt=({form:e,disabled:t,onSubmit:n,children:r,...o})=>h(mre,{...e,children:h("form",{onSubmit:(a)=>(a.stopPropagation(),a.preventDefault(),n?.(a)),...o,children:h("fieldset",{disabled:t||e.formState.isSubmitting,className:"min-w-0",children:r})})}),CCo;var Pyt=P(()=>{rs();x2();b3();le();CCo=kc("flex items-start gap-1 whitespace-normal break-words text-error",{variants:{variant:{none:"",default:"w-full px-4 text-body-small",large:"gap-2 text-left text-body-medium"}},defaultVariants:{variant:"default"}})});class Myt{idGenerator=0;listeners=new Map;states=new Map;components=new Map;create(e,t){let n=this.getId();return this.components.set(n,()=>e({id:n,...t})),this.states.set(n,{open:!0}),this.listeners.set(n,new Set),this.notifyGlobalListeners(),new Promise((r)=>{let o=setInterval(()=>{if(!this.components.has(n))clearInterval(o),r()},100)})}getId(){return++this.idGenerator}getState(e){return this.states.get(e)}setState(e,t){let n=this.states.get(e);if(!n)return;let r={...n,...t};this.states.set(e,r);let o=this.listeners.get(e);if(o)o.forEach((a)=>a(r))}subscribe(e,t){let n=this.listeners.get(e);if(n)n.add(t);return()=>{let r=this.listeners.get(e);if(r)r.delete(t)}}globalListeners=new Set;subscribeGlobal(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notifyGlobalListeners(){this.globalListeners.forEach((e)=>e())}getComponents(){return Array.from(this.components.entries())}isAnyDialogOpen(){return Array.from(this.states.values()).some((e)=>e.open)}remove(e){let t=this.getState(e);if(!t)console.error(Error(`Dialog ${e} not registered!`));else if(t.open===!1)this.components.delete(e),this.states.delete(e),this.listeners.delete(e),this.notifyGlobalListeners()}}function BUn({id:e}){return U2.useEffect(()=>()=>{Fc.remove(e)},[e]),null}function N2(e){let[t,n]=U2.useState(()=>{let r=Fc.getState(e.id);if(!r)throw Error(`Dialog ${e.id} does not exist!`);return r});return U2.useEffect(()=>Fc.subscribe(e.id,n),[e.id]),{...e,state:t}}function toe(){let[,e]=U2.useState({});U2.useEffect(()=>Fc.subscribeGlobal(()=>{e({})}),[]);let t=Fc.getComponents();return h(Ht,{children:t.map(([n,r])=>h(r,{},n))})}function Bg({form:e,dialog:t,onSubmit:n,onSubmitSecond:r,onCancelled:o=!0,invertButtonFocus:a,...i}){let s=(m)=>Fc.setState(t.id,{open:m}),l=h(X9,{asChild:!0,children:h(Q9,{danger:i.cancelDanger,onClick:typeof o==="function"?o:void 0,children:i.cancelLabel||"Cancel"})}),c=h(X9,{asChild:!0,children:h(Q9,{disabled:i.loading,onClick:typeof o==="function"?o:void 0,children:i.closeLabel||"Close"})}),u=i.errorMessageException?!e.formState.isValid&&!e.formState.errors.root?.serverError?.message?.startsWith(i.errorMessageException):!e.formState.isValid,d=e.formState.isSubmitting||i.submitDisabled||u,p=i.ctaLabel?!i.ctaSecondLabel?h(Q9,{type:"submit",disabled:d,danger:i.ctaDanger,onClick:async(m)=>{m.preventDefault(),await n?.(m),t.onSubmit?.()},children:i.ctaLabel}):M("div",{className:"flex flex-row gap-x-2",children:[h(Q9,{type:"submit",disabled:d,danger:i.ctaDanger,onClick:async(m)=>{m.preventDefault(),await n?.(m),t.onSubmit?.()},children:i.ctaLabel}),h(Q9,{type:"submit",disabled:d,onClick:async(m)=>{m.preventDefault(),await r?.(m),t.onSubmit?.()},children:i.ctaSecondLabel})]}):null,f=i.buttonsSideContent||!i.hideButtons&&(p||i.cancelBtn||o);return M(JSe,{open:t.state.open,onOpenChange:(m)=>s(m),disablePointerDismissal:i.ignoreClickOutside,children:[i.trigger&&h(C_,{asChild:!0,children:i.trigger}),M(YN,{children:[h(kN,{className:Ve("fixed inset-0 z-[102] bg-scrim/32",Dyt)}),h(Bst,{className:"fixed inset-0 z-[103] grid place-items-center overflow-y-auto",children:M(XN,{className:Ve("my-8 outline-none",Lyt),style:{transformOrigin:i.transformOrigin||"center"},children:[M(Ryt,{form:e,onSubmit:async(m)=>{if(m?.preventDefault(),n)await n(m)},className:Ve(Byt,i.formClassName),children:[!i.hideHeader&&M("div",{className:Ve("mb-4 flex flex-col gap-4",i.icon?"items-center text-center":"items-start"),children:[i.icon&&h("span",{className:"flex text-secondary",children:Gd(i.icon,{size:24})}),h(KN,{className:"text-headline-small text-on-surface",children:i.title})]}),M("div",{className:"flex-1 overflow-auto text-body-medium text-on-surface-variant",children:[i.description&&h(PN,{className:"mb-4 text-body-medium text-on-surface-variant",children:i.description}),i.children]}),f&&M("div",{className:"mt-6 flex items-center justify-end gap-2",children:[e.formState.isSubmitting&&h(fmt,{}),i.buttonsSideContent&&h("div",{children:i.buttonsSideContent}),h("div",{className:"grow"}),!i.hideButtons&&h("div",{className:Ve(a?"flex-row-reverse":"flex-row","flex gap-2"),children:a?M(Ht,{children:[p,i.cancelBtn&&l,o&&c]}):M(Ht,{children:[o&&c,i.cancelBtn&&l,p]})})]})]}),h(BUn,{id:t.id})]})})]})]})}var U2,Fc,Dyt,Lyt,Byt,OUn,Q9,fEe,C_,FUn,UUn,X9,mEe=({className:e,...t})=>h(kN,{className:io(Ve("fixed inset-0 z-50 bg-scrim/32",Dyt),e),...t}),noe=({className:e,children:t,forceMount:n,...r})=>M(UUn,{keepMounted:n,children:[h(mEe,{}),M(XN,{className:io(Ve("fixed left-1/2 top-1/2 z-50 w-[calc(100%-48px)] -translate-x-1/2 -translate-y-1/2 gap-4 outline-none",Byt,Lyt),e),...r,children:[t,M(RN,{className:Ve("absolute right-3 top-3 inline-flex size-10 items-center justify-center rounded-full outline-none","text-on-surface-variant transition-colors duration-200 ease-standard","hover:bg-on-surface-variant/8 active:bg-on-surface-variant/10","focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary","disabled:pointer-events-none"),children:[h(at,{name:"close",size:24}),h("span",{className:"sr-only",children:"Close"})]})]})]}),Oyt=({className:e,...t})=>h("div",{className:Ve("flex flex-col gap-4 text-left",e),...t}),Fyt=({className:e,...t})=>h("div",{className:Ve("flex flex-row flex-wrap items-center justify-end gap-2 pt-2",e),...t}),roe=({className:e,...t})=>h(KN,{className:io("text-headline-small text-on-surface",e),...t}),ooe=({className:e,...t})=>h(PN,{className:io("text-body-medium text-on-surface-variant",e),...t});var hEe=P(()=>{Vst();x2();rn();V1();n0();mmt();Pyt();le();U2=z(re(),1);Fc=new Myt;Dyt=Ve("transition-opacity duration-300 ease-emphasized-decelerate","data-starting-style:opacity-0","data-ending-style:opacity-0 data-ending-style:duration-200 data-ending-style:ease-emphasized-accelerate"),Lyt=Ve("transition-[opacity,scale] duration-300 ease-emphasized-decelerate","data-starting-style:scale-95 data-starting-style:opacity-0","data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-200 data-ending-style:ease-emphasized-accelerate"),Byt=Ve("flex min-w-[280px] max-w-[560px] flex-col p-6","rounded-extra-large bg-surface-container-high text-on-surface shadow-md3-3"),OUn=kc(["inline-flex h-10 shrink-0 items-center justify-center gap-2 rounded-full px-3 outline-none","text-label-large transition-colors duration-200 ease-standard","focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary","disabled:pointer-events-none disabled:text-on-surface/38"],{variants:{tone:{primary:"text-primary hover:bg-primary/8 active:bg-primary/10 focus-visible:bg-primary/10",danger:"text-error hover:bg-error/8 active:bg-error/10 focus-visible:bg-error/10"}},defaultVariants:{tone:"primary"}}),Q9=U2.forwardRef(({danger:e,className:t,type:n="button",...r},o)=>h("button",{ref:o,type:n,className:Ve(OUn({tone:e?"danger":"primary"}),t),...r}));Q9.displayName="DialogAction";fEe=JSe,C_=U2.forwardRef(({asChild:e,children:t,...n},r)=>h(hte,{ref:r,...am(e,t),...n}));C_.displayName="DialogTrigger";({Portal:FUn,EnsurePortal:UUn}=V4(YN,"DialogPortal")),X9=U2.forwardRef(({asChild:e,children:t,...n},r)=>h(RN,{ref:r,...am(e,t),...n}));X9.displayName="DialogClose";mEe.displayName="DialogOverlay";noe.displayName="DialogContent";Oyt.displayName="DialogHeader";Fyt.displayName="DialogFooter";roe.displayName="DialogTitle";ooe.displayName="DialogDescription"});function uy(e){let t=aoe.useContext(gEe);if(t===void 0&&!e)throw Error(Dn(47));return t}var aoe,gEe;var tI=P(()=>{zo();aoe=z(re(),1),gEe=aoe.createContext(void 0)});function zUn(e,t,n,r=!1){let o={...o6(t,n,r),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};if(o.open&&e?.mounted===void 0)o.mounted=!0;return o}function _Un(e){return{popupRef:ioe.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:ioe.createRef(),beforeContentFocusGuardRef:ioe.createRef(),stickIfOpenTimeout:new kp,triggerElements:e}}var ioe,NUn,yEe;var Uyt=P(()=>{bd();yE();Rp();ko();Sd();Ig();ioe=z(re(),1),NUn={...a6,disabled:(e)=>e.disabled,instantType:(e)=>e.instantType,openMethod:(e)=>e.openMethod,openChangeReason:(e)=>e.openChangeReason,modal:(e)=>e.modal,focusManagerModal:(e)=>e.focusManagerModal,stickIfOpen:(e)=>e.stickIfOpen,titleElementId:(e)=>e.titleElementId,descriptionElementId:(e)=>e.descriptionElementId,openOnHover:(e)=>e.openOnHover,closeDelay:(e)=>e.closeDelay,adaptiveOrigin:(e)=>e.adaptiveOrigin};yEe=class yEe extends Tg{constructor(e,t,n){let r=new R2;super(zUn(e,r,t,n),_Un(r),NUn)}setOpen=(e,t)=>{let n=t.reason===sc,r=t.reason===Ib&&t.event.detail===0,o=!e&&(t.reason===pN||t.reason==null),a=_N(t),i=this.select("activeTriggerId");if(!e&&t.reason===bwe&&t.trigger==null&&i!=null)t.trigger=this.context.triggerElements.getById(i)??this.select("activeTriggerElement")??void 0;if(this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let c=bE(this.state,e,t.trigger,a());c.openChangeReason=t.reason,this.update(c)};if(n)this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(Bee,()=>{this.set("stickIfOpen",!1)}),Ec(s);else s();let l;if(r)l="click";else if(o)l="dismiss";else if(t.reason===_4)l="focus";this.set("instantType",l)}}});function zyt(e){if(uy(!0))return h(Nyt,{props:e});return h(FN,{children:h(Nyt,{props:e})})}function HUn(e,t){let n=o9((r,o)=>new yEe(t,r,o));return E_.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function VUn({store:e,modal:t}){let n=e.useState("floatingRootContext"),r=k2(n,{outsidePressEvent:{mouse:t==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}}),{reference:o,floating:a}=r;return r6(e,{activeTriggerProps:o,inactiveTriggerProps:o,popupProps:a}),null}var E_,Nyt;var _yt=P(()=>{zb();pl();tI();Uyt();ka();ko();Sd();le();E_=z(re(),1),Nyt=s3(function({props:t}){let{children:n,open:r,defaultOpen:o=!1,onOpenChange:a,onOpenChangeComplete:i,modal:s=!1,handle:l,triggerId:c,defaultTriggerId:u=null}=t,d=HUn(l,{modal:s,open:o,openProp:r,activeTriggerId:u,triggerIdProp:c});d.useControlledProp("openProp",r),d.useControlledProp("triggerIdProp",c);let p=d.useState("open"),f=d.useState("mounted"),m=d.useState("payload");d.useContextCallback("onOpenChange",a),d.useContextCallback("onOpenChangeComplete",i),Xee(d,p),t6(d);let{forceUnmount:g}=n6(p,d,()=>{d.update({stickIfOpen:!0,openChangeReason:null})});d.useSyncedValues({modal:s}),E_.useEffect(()=>{if(!p)d.context.stickIfOpenTimeout.clear()},[d,p]),E_.useImperativeHandle(t.actionsRef,()=>({unmount:g,close:()=>d.setOpen(!1,un(Y$))}),[g,d]);let v=p||f;return M(gEe.Provider,{value:d,children:[l&&h($4,{handle:l,store:d}),v&&h(VUn,{store:d,modal:s}),typeof n==="function"?n({payload:m}):n]})})});var Hyt=300;function soe(e,t){let n=Vyt.useRef(null);function r(a){Ec(()=>{e.setOpen(!1,un(_4,a.nativeEvent,a.currentTarget))}),aat(n.current)?.focus()}function o(a){let i=e.select("positionerElement");if(i&&t3(a,i))e.context.beforeContentFocusGuardRef.current?.focus();else{Ec(()=>{e.setOpen(!1,un(_4,a.nativeEvent,a.currentTarget))});let s=oat(e.context.triggerFocusTargetRef.current||t.current);while(s!==null&&Ln(i,s)){let l=s;if(s=HP(s),s===l)break}s?.focus()}}return{preFocusGuardRef:n,handlePreFocusGuardFocus:r,handleFocusTargetFocus:o}}var Vyt;var vEe=P(()=>{bd();Cg();ka();ko();Vyt=z(re(),1)});var I_,Gyt;var qyt=P(()=>{zo();zb();tI();TP();Ep();vr();Ig();pl();_l();LN();ko();Sd();vEe();ez();le();I_=z(re(),1),Gyt=j4(function(t,n){let{render:r,className:o,style:a,disabled:i=!1,nativeButton:s=!0,handle:l,payload:c,openOnHover:u=!1,delay:d=Hyt,closeDelay:p=0,id:f,...m}=t,g=uy(!0),y=i6(l)??g;if(!y)throw Error(Dn(74));let x=go(f),A=y.useState("isTriggerActive",x),w=y.useState("floatingRootContext"),C=y.useState("isOpenedByTrigger",x),E=y.useState("triggerPopupId",x),T=I_.useRef(null),{registerTrigger:I,isMountedByThisTrigger:k}=e6(x,T,y,{payload:c,disabled:i,openOnHover:u,closeDelay:p}),L=y.useState("openChangeReason"),O=y.useState("stickIfOpen"),B=y.useState("openMethod"),U=y.useState("focusManagerModal"),D=l3(w,{enabled:!i&&u&&(B!=="touch"||L!==Ib),mouseOnly:!0,move:!1,handleClose:c3(),restMs:d,delay:{close:p},triggerElementRef:T,isActiveTrigger:A,isClosing:()=>y.select("transitionStatus")==="ending"}),N=T2(w,{stickIfOpen:O}),_=$N(()=>y.select("open"),(ae)=>{y.set("openMethod",ae)}),G=y.useState("triggerProps",k),{getButtonProps:Z,buttonRef:q}=Ys({disabled:i,native:s}),H={open(ae){if(ae&&L===Ib)return tE.open(ae);return Mb.open(ae)}},{preFocusGuardRef:te,handlePreFocusGuardFocus:ie,handleFocusTargetFocus:j}=soe(y,T),J=Zt("button",t,{state:{disabled:i,open:C},ref:[q,n,I,T],props:[N.reference,D,G,_,{[t9]:"",id:x,"aria-haspopup":"dialog","aria-expanded":C,"aria-controls":E},m,Z],stateAttributesMapping:H}),Y=h(I_.Fragment,{children:J},x);if(k&&!U)return M(I_.Fragment,{children:[h(j1,{ref:te,onFocus:ie}),Y,h(j1,{ref:y.context.triggerFocusTargetRef,onFocus:j})]});return Y})});function Zyt(){let e=loe.useContext(bEe);if(e===void 0)throw Error(Dn(45));return e}var loe,bEe;var xEe=P(()=>{zo();loe=z(re(),1),bEe=loe.createContext(void 0)});var Qyt,Xyt;var Wyt=P(()=>{pl();tI();xEe();le();Qyt=z(re(),1),Xyt=Qyt.forwardRef(function(t,n){let{keepMounted:r=!1,...o}=t;if(!(uy().useState("mounted")||r))return null;return h(bEe.Provider,{value:r,children:h(a3,{ref:n,...o})})})});function Yyt(){let e=coe.useContext(AEe);if(!e)throw Error(Dn(46));return e}var coe,AEe;var wEe=P(()=>{zo();coe=z(re(),1),AEe=coe.createContext(void 0)});function Kyt(e){return GUn(e,e.rootContext)}function GUn(e,t){let{nodeId:n,externalTree:r}=e,o=t.useState("referenceElement"),a=t.useState("floatingElement"),i=t.useState("domReferenceElement"),s=t.useState("open"),l=t.useState("floatingId"),[c,u]=pm.useState(null),[d,p]=pm.useState(void 0),[f,m]=pm.useState(void 0),g=pm.useRef(null),v=lm(r),y=pm.useMemo(()=>({reference:o,floating:a,domReference:i}),[o,a,i]),x=gst({...e,elements:{...y,...c&&{reference:c}}}),A=Dr(d)?d:null,w=f===void 0?t.state.floatingElement:f;t.useSyncedValue("referenceElement",d??null),t.useSyncedValue("domReferenceElement",d===void 0?i:A),t.useSyncedValue("floatingElement",w);let C=pm.useCallback((O)=>{let B=Dr(O)?{getBoundingClientRect:()=>O.getBoundingClientRect(),getClientRects:()=>O.getClientRects(),contextElement:O}:O;u(B),x.refs.setReference(B)},[x.refs]),E=pm.useCallback((O)=>{if(Dr(O)||O===null)g.current=O,p(O);if(Dr(x.refs.reference.current)||x.refs.reference.current===null||O!==null&&!Dr(O))x.refs.setReference(O)},[x.refs,p]),T=pm.useCallback((O)=>{m(O),x.refs.setFloating(O)},[x.refs]),I=pm.useMemo(()=>({...x.refs,setReference:E,setFloating:T,setPositionReference:C,domReference:g}),[x.refs,E,T,C]),k=pm.useMemo(()=>({...x.elements,domReference:i}),[x.elements,i]),L=pm.useMemo(()=>({...x,dataRef:t.context.dataRef,open:s,onOpenChange:t.setOpen,events:t.context.events,floatingId:l,refs:I,elements:k,nodeId:n,rootStore:t}),[x,I,k,n,t,s,l]);return Ct(()=>{if(i)g.current=i},[i]),Ct(()=>{t.context.dataRef.current.floatingContext=L;let O=v?.nodesRef.current.find((B)=>B.id===n);if(O)O.context=L}),pm.useMemo(()=>({...x,context:L,refs:I,elements:k,rootStore:t}),[x,I,k,L,t])}var pm;var Jyt=P(()=>{Nr();VSe();vs();Nb();pm=z(re(),1)});var qUn=(e)=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:i,elements:s,middlewareData:l}=t,{element:c,padding:u=0,offsetParent:d="real"}=Lb(e,t)||{};if(c==null)return{};let p=fee(u),f={x:n,y:r},m=TN(o),g=IN(m),v=await i.getDimensions(c),y=m==="y",x=y?"top":"left",A=y?"bottom":"right",w=y?"clientHeight":"clientWidth",C=a.reference[g]+a.reference[m]-f[m]-a.floating[g],E=f[m]-a.reference[m],T=d==="real"?await i.getOffsetParent?.(c):s.floating,I=s.floating[w]||a.floating[g];if(!I||!await i.isElement?.(T))I=s.floating[w]||a.floating[g];let k=C/2-E/2,L=I/2-v[g]/2-1,O=Math.min(p[x],L),B=Math.min(p[A],L),U=O,D=I-v[g]-B,N=I/2-v[g]/2+k,_=dee(U,N,D),G=!l.arrow&&Q1(o)!=null&&N!==_&&a.reference[g]/2-(N{let{name:n,fn:r}=qUn(e);return{name:n,fn:r,options:[e,t]}};var $yt=P(()=>{aE()});var e2t;var t2t=P(()=>{e2t={name:"hide",async fn(e){let{width:t,height:n,x:r,y:o}=e.rects.reference,a=t===0&&n===0&&r===0&&o===0,i=await e.platform.detectOverflow(e,{elementContext:"reference"});return{data:{referenceHidden:i.top-n>=0||i.right-t>=0||i.bottom-n>=0||i.left-t>=0||a}}}}});var n2t;var r2t=P(()=>{n2t={sideX:"left",sideY:"top"}});var o2t="--available-width",a2t="--available-height",i2t="--anchor-width",s2t="--anchor-height",l2t="--transform-origin";function f2t(e,t,n){let r=e==="inline-start"||e==="inline-end";return{top:"top",right:r?n?"inline-start":"inline-end":"right",bottom:"bottom",left:r?n?"inline-end":"inline-start":"left"}[t]}function d2t(e,t,n){let{rects:r,placement:o}=e;return{side:f2t(t,s0(o),n),align:Q1(o)||"center",anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function D6(e){return QUn(e,Kyt)}function QUn(e,t){let{anchor:n,positionMethod:r="absolute",side:o="bottom",sideOffset:a=0,align:i="center",alignOffset:s=0,collisionBoundary:l,collisionPadding:c=5,sticky:u=!1,arrowPadding:d=5,disableAnchorTracking:p=!1,inline:f,keepMounted:m=!1,floatingRootContext:g,mounted:v,collisionAvoidance:y,shift:x,nodeId:A,adaptiveOrigin:w,lazyFlip:C=!1,externalTree:E}=e,[T,I]=Og.useState(null);if(!v&&T!==null)I(null);let k=y.side||"flip",L=y.align||"flip",O=y.fallbackAxisSide||"end",B=x?.crossAxis??!1,U=x?.rootBoundary,D=typeof n==="function"?n:void 0,N=Ot(D),_=D?N:n,G=ti(n),Z=ti(v),H=Y1()==="rtl",te=T||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":H?"left":"right","inline-start":H?"right":"left"}[o],ie=i==="center"?te:`${te}-${i}`,j=c;if(typeof j==="number")j={top:j,right:j,bottom:j,left:j};else if(j)j={top:j.top||0,right:j.right||0,bottom:j.bottom||0,left:j.left||0};let oe=1,J=o==="bottom"?oe:0,Y=o==="top"?oe:0,ae=o==="right"?oe:0,ne=o==="left"?oe:0,Se={boundary:l==="clipping-ancestors"?"clippingAncestors":l,padding:j},fe=Og.useRef(null),Ae=ti(a),Ee=ti(s),pe=typeof a!=="function"?a:0,Re=typeof s!=="function"?s:0,Le=[];if(f)Le.push(f);Le.push(USe((Ie)=>{let Ge=d2t(Ie,o,H),_e=typeof Ae.current==="function"?Ae.current(Ge):Ae.current,nt=typeof Ee.current==="function"?Ee.current(Ge):Ee.current;return{mainAxis:_e,crossAxis:nt,alignmentAxis:nt}},[pe,Re,H,o]));let Ne=L==="none"&&k!=="shift",be=!Ne&&(u||B||k==="shift"),ye=k==="none"?null:_Se({...Se,padding:{top:j.top+oe+J,right:j.right+oe+ne,bottom:j.bottom+oe+Y,left:j.left+oe+ae},mainAxis:!B&&k==="flip",crossAxis:L==="flip"?"alignment":!1,fallbackAxisSideDirection:O}),ce=Ne?null:NSe({...Se,rootBoundary:U,mainAxis:L!=="none",crossAxis:be,limiter:u||B?void 0:zSe((Ie)=>{if(!fe.current)return{};let{width:Ge,height:_e}=fe.current.getBoundingClientRect(),nt=l0(s0(Ie.placement)),rt=nt==="y"?Ge:_e,ot=nt==="y"?j.left+j.right:j.top+j.bottom;return{offset:rt/2+ot/2}})},[Se,u,B,U,j,L]);if(k==="shift"||L==="shift"||i==="center")Le.push(ce,ye);else Le.push(ye,ce);Le.push(HSe({...Se,apply({elements:{floating:Ie},availableWidth:Ge,availableHeight:_e,rects:nt}){if(!Z.current)return;let rt=Ie.style;rt.setProperty(c2t,`${Ge}px`),rt.setProperty(u2t,`${_e}px`);let ot=Io(Ie).devicePixelRatio||1,{x:At,y:en,width:Gt,height:tn}=nt.reference,Yt=(Math.round((At+Gt)*ot)-Math.round(At*ot))/ot,Be=(Math.round((en+tn)*ot)-Math.round(en*ot))/ot;rt.setProperty(i2t,`${Yt}px`),rt.setProperty(s2t,`${Be}px`)}}),jyt((Ie)=>({element:fe.current||yr(Ie.elements.floating).createElement("div"),padding:fe.current?d:0,offsetParent:"floating"}),[d]),{name:"transformOrigin",fn(Ie){let{elements:{floating:Ge},middlewareData:_e,placement:nt,platform:rt,rects:ot,y:At}=Ie,en=s0(nt),Gt=Q1(nt),tn=l0(en)==="y",Yt=fe.current,Be=typeof a==="function"?a(d2t(Ie,o,H)):a,Je;if(!Yt&&Gt&&Math.abs(tn?_e.shift?.x||0:_e.shift?.y||0)<=1)Je=Gt==="start"===(tn&&rt.isRTL?.(Ge)===!0)?"100%":"0%";else{let Et=tn?_e.arrow?.x||0:_e.arrow?.y||0,Mt=tn?Yt?.clientWidth||0:Yt?.clientHeight||0;Je=`${Et+Mt/2}px`}let it=en==="top"||en==="left"?`calc(100% + ${Be}px)`:`${-Be}px`;if(be&&tn&&Math.abs(_e.shift?.y||0)>Be)it=`${ot.reference.y+ot.reference.height/2-At}px`;return Ge.style.setProperty(l2t,tn?`${Je} ${it}`:`${it} ${Je}`),{}}},e2t,w),Ct(()=>{if(!v&&g)g.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[v,g]);let ue=Og.useMemo(()=>({ancestorScroll:!p,elementResize:!p&&typeof ResizeObserver<"u",layoutShift:!p&&typeof IntersectionObserver<"u"}),[p]),{refs:ke,elements:se,x:qe,y:Me,middlewareData:Qe,update:ee,placement:K,context:we,isPositioned:ze,floatingStyles:tt}=t({rootContext:g,open:m?v:void 0,placement:ie,middleware:Le,strategy:r,whileElementsMounted:m?void 0:(...Ie)=>QN(...Ie,ue),nodeId:A,externalTree:E}),{sideX:Pe,sideY:Ke}=Qe.adaptiveOrigin||n2t,Ue=ze?r:"fixed",Ze=Og.useMemo(()=>{let Ie;if(!ze)Ie={position:Ue,top:0,left:0};else if(w)Ie={position:Ue,[Pe]:qe,[Ke]:Me};else Ie={...tt,position:Ue};if(Ie[c2t]="100vw",Ie[u2t]="100vh",!ze)Ie.opacity=0;return Ie},[w,Ue,Pe,qe,Ke,Me,tt,ze]),ct=Og.useRef(null);Ct(()=>{if(!v)return;let Ie=G.current,Ge=typeof Ie==="function"?Ie():Ie,nt=(p2t(Ge)?Ge.current:Ge)||null||null;if(nt!==ct.current)ke.setPositionReference(nt),ct.current=nt},[v,ke,_,G]),Og.useEffect(()=>{if(!v)return;let Ie=G.current;if(typeof Ie==="function")return;if(p2t(Ie)&&Ie.current!==ct.current)ke.setPositionReference(Ie.current),ct.current=Ie.current},[v,ke,_,G]),Og.useEffect(()=>{if(m&&v&&se.reference&&se.floating)return QN(se.reference,se.floating,ee,ue);return},[m,v,se,ee,ue]);let Rt=s0(K),de=f2t(o,Rt,H),ge=Q1(K)||"center",Oe=Boolean(Qe.hide?.referenceHidden);Ct(()=>{if(C&&v&&ze&&Rt!==te)I(Rt)},[C,v,ze,Rt,te]);let Xe=Og.useMemo(()=>({position:"absolute",top:Qe.arrow?.y,left:Qe.arrow?.x}),[Qe.arrow]),$e=Qe.arrow?.centerOffset!==0;return Og.useMemo(()=>({positionerStyles:Ze,arrowStyles:Xe,arrowRef:fe,arrowUncentered:$e,side:de,align:ge,physicalSide:Rt,anchorHidden:Oe,refs:ke,context:we,isPositioned:ze,update:ee}),[Ze,Xe,fe,$e,de,ge,Rt,Oe,ke,we,ze,ee])}function p2t(e){return e!=null&&"current"in e}var Og,c2t,u2t;var T_=P(()=>{aE();ul();Nr();Ob();da();pl();Jyt();uE();$yt();t2t();r2t();Og=z(re(),1),c2t=o2t,u2t=a2t});function ix(e){return e==="starting"?Jat:$r}var W9=P(()=>{Ci();Ig()});function L6(e,t,{styles:n,transitionStatus:r,props:o,refs:a,hidden:i,inert:s=!1}){let l={...n};if(s)l.pointerEvents="none";return Zt("div",e,{state:t,ref:a,props:[{role:"presentation",hidden:i,style:l},ix(r),o],stateAttributesMapping:nE})}var k_=P(()=>{Ep();vr();W9()});function Y9(e,t,n,r){let[o,a]=m2t.useState(!1);Ct(()=>{if(!e||!t||n==null){a(!1);return}let i=yr(n).documentElement.clientWidth,s=n.offsetWidth;a(i>0&&s>0&&s>=i-XUn)},[e,t,n]),dte(e&&(!t||o),r)}var m2t,XUn=20;var uoe=P(()=>{ul();XSe();Nr();m2t=z(re(),1)});var doe,h2t;var g2t=P(()=>{l9();Nr();pl();tI();wEe();T_();xEe();WN();ko();Ig();BP();k_();uoe();le();doe=z(re(),1),h2t=doe.forwardRef(function(t,n){let{render:r,className:o,style:a,anchor:i,positionMethod:s,side:l,align:c,sideOffset:u,alignOffset:d,collisionBoundary:p="clipping-ancestors",collisionPadding:f,arrowPadding:m,sticky:g,disableAnchorTracking:v=!1,collisionAvoidance:y=n9,...x}=t,A=uy(),w=Zyt(),C=hE(),E=A.useState("floatingRootContext"),T=A.useState("mounted"),I=A.useState("open"),k=A.useState("openChangeReason"),L=A.useState("activeTriggerElement"),O=A.useState("modal"),B=A.useState("openMethod"),U=A.useState("positionerElement"),D=A.useState("instantType"),N=A.useState("transitionStatus"),_=A.useState("adaptiveOrigin"),G=doe.useRef(null),Z=Rb(U),q=D6({anchor:i,floatingRootContext:E,positionMethod:s,mounted:T,side:l,sideOffset:u,align:c,alignOffset:d,arrowPadding:m,collisionBoundary:p,collisionPadding:f,sticky:g,disableAnchorTracking:v,keepMounted:w,nodeId:C,collisionAvoidance:y,adaptiveOrigin:_}),H=E.useState("domReferenceElement");Ct(()=>{let J=H,Y=G.current;if(J)G.current=J;if(Y&&J&&J!==Y){A.set("instantType",void 0);let ae=new AbortController;return Z(()=>{A.set("instantType","trigger-change")},ae.signal),()=>{ae.abort()}}return},[H,Z,A]);let te=O===!0&&k!==sc;Y9(I&&te,B==="touch",U,L);let ie=A.useStateSetter("positionerElement"),j={open:I,side:q.side,align:q.align,anchorHidden:q.anchorHidden,instant:D},oe=L6(t,j,{styles:q.positionerStyles,transitionStatus:N,props:x,refs:[n,ie],hidden:!T,inert:!I});return M(AEe.Provider,{value:q,children:[T&&te&&h(l6,{inert:Vb(!I),cutout:L}),h(ON,{id:C,children:oe})]})})});function K9(e){let t=poe.useContext(WUn);if(t===void 0&&!e)throw Error(Dn(69));return t}var poe,WUn;var foe=P(()=>{zo();poe=z(re(),1),WUn=poe.createContext(void 0)});function y2t(){let[e,t]=B6.useState(0),n=Ot(()=>(t((o)=>o+1),()=>{t((o)=>Math.max(0,o-1))}));return{context:B6.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}function v2t(){let e=B6.useContext(SEe);Ct(()=>e?.register(),[e])}var B6,SEe;var CEe=P(()=>{Nr();da();B6=z(re(),1),SEe=B6.createContext(void 0)});var b2t,x2t;var A2t=P(()=>{vs();pl();tI();wEe();Ep();oh();vr();ko();pE();foe();W9();CEe();Sd();le();b2t=z(re(),1),x2t=b2t.forwardRef(function(t,n){let{render:r,className:o,style:a,initialFocus:i,finalFocus:s,...l}=t,c=uy(),u=Yyt(),d=K9(!0)!=null,{context:p,hasClosePart:f}=y2t(),m=c.useState("open"),g=c.useState("openMethod"),v=c.useState("instantType"),y=c.useState("transitionStatus"),x=c.useState("popupProps"),A=c.useState("titleElementId"),w=c.useState("descriptionElementId"),C=c.useState("modal"),E=c.useState("mounted"),T=c.useState("openChangeReason"),I=c.useState("activeTriggerElement"),k=c.useState("floatingRootContext"),L=k.useState("floatingId"),O=c.useState("disabled"),B=c.useState("openOnHover"),U=c.useState("closeDelay");ji({open:m,ref:c.context.popupRef,onComplete(){if(m)c.context.onOpenChangeComplete?.(!0)}}),xE(k,{enabled:B&&!O,closeDelay:U});let D=i===void 0?Qee(c.context.popupRef):i,N=C!==!1&&f;c.useSyncedValue("focusManagerModal",N);let _=c.useStateSetter("popupElement"),G={open:m,side:u.side,align:u.align,instant:v,transitionStatus:y},Z=Zt("div",t,{state:G,ref:[n,c.context.popupRef,_],props:[x,{id:L,role:"dialog",..._b,"aria-labelledby":A,"aria-describedby":w,onKeyDown(q){if(d&&Eg.has(q.key))q.stopPropagation()}},ix(y),l],stateAttributesMapping:G4});return h(i3,{context:k,openInteractionType:g,modal:N,disabled:!E||T===sc,initialFocus:D,returnFocus:s,restoreFocus:"popup",previousFocusableElement:Xo(I)?I:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:h(SEe.Provider,{value:p,children:Z})})})});var w2t,S2t;var C2t=P(()=>{tI();vr();KA();ka();ko();CEe();w2t=z(re(),1),S2t=w2t.forwardRef(function(t,n){let{render:r,className:o,style:a,disabled:i=!1,nativeButton:s=!0,...l}=t,{buttonRef:c,getButtonProps:u}=Ys({disabled:i,focusableWhenDisabled:!1,native:s}),d=uy();return v2t(),Zt("button",t,{ref:[n,c],props:[{onClick(f){d.setOpen(!1,un(bwe,f.nativeEvent))}},l,u]})})});function I2t(e){let[t,n]=E2t.useState({current:e,previous:null});if(!Object.is(e,t.current))n({current:e,previous:t.current});return t.previous}var E2t;var T2t=P(()=>{E2t=z(re(),1)});var R2t=P(()=>{_yt();qyt();Wyt();g2t();A2t();C2t()});var P2t=P(()=>{R2t()});function mm(){let[e,t]=fm.useState(!1);return{open:e,setOpen:t}}var fm,EEe,IEe=(e)=>{let[t,n]=fm.useState(null),r=fm.useMemo(()=>({anchor:t,setAnchor:n}),[t]);return h(EEe.Provider,{value:r,children:h(zyt,{...e})})},TEe,kEe,REe=({asChild:e,children:t,...n})=>{let r=fm.useContext(EEe),o=am(e,t);if(o.render)return fm.cloneElement(o.render,{...n,ref:r?.setAnchor});return h("div",{ref:r?.setAnchor,...n,children:t})},M2t,YUn,KUn,PEe,pa;var D2t=P(()=>{P2t();rn();V1();le();fm=z(re(),1);EEe=fm.createContext(null);IEe.displayName="PopoverRoot";TEe=fm.forwardRef(({asChild:e,children:t,...n},r)=>{let o=am(e,t);return h(Gyt,{ref:r,...o,...n})});TEe.displayName="PopoverTrigger";kEe=fm.forwardRef(({asChild:e,children:t,...n},r)=>{let o=am(e,t);return h(S2t,{ref:r,...o,...n})});kEe.displayName="PopoverClose";REe.displayName="PopoverAnchor";({Portal:M2t,EnsurePortal:YUn}=V4(Xyt,"PopoverPortal")),KUn=Ve("flex flex-col","cursor-default select-none rounded-medium","text-left text-body-medium text-on-surface","bg-surface-container","shadow-md3-2","origin-(--transform-origin) outline-none","transition-[opacity,scale] duration-250 ease-emphasized-decelerate","data-starting-style:scale-95 data-starting-style:opacity-0","data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-150 data-ending-style:ease-emphasized-accelerate"),PEe=fm.forwardRef(({className:e,side:t,sideOffset:n=8,align:r,alignOffset:o,collisionPadding:a,collisionBoundary:i,collisionAvoidance:s,sticky:l,anchor:c,positionMethod:u,arrowPadding:d,forceMount:p,initialFocus:f=!1,finalFocus:m=!1,...g},v)=>{let y=fm.useContext(EEe);return h(YUn,{keepMounted:p,children:h(h2t,{className:"z-[9999]",side:t,sideOffset:n,align:r,alignOffset:o,collisionPadding:a,collisionBoundary:i,collisionAvoidance:s,sticky:l,anchor:c??y?.anchor??void 0,positionMethod:u,arrowPadding:d,children:h(x2t,{ref:v,initialFocus:f,finalFocus:m,className:io(KUn,e),...g})})})});PEe.displayName="PopoverContent";pa={Root:IEe,Trigger:TEe,Content:PEe,Anchor:REe,Close:kEe,Portal:M2t}});function O6(e){let t=moe.useContext(MEe);if(t===void 0&&!e)throw Error(Dn(72));return t}var moe,MEe;var J9=P(()=>{zo();moe=z(re(),1),MEe=moe.createContext(void 0)});function jUn(e,t,n,r=!1){return{...o6(t,n,r),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...e}}function $Un(e){return{popupRef:L2t.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:e}}var L2t,JUn,DEe;var B2t=P(()=>{yE();ka();ko();Sd();L2t=z(re(),1),JUn={...a6,disabled:(e)=>e.disabled,instantType:(e)=>e.instantType,isInstantPhase:(e)=>e.isInstantPhase,trackCursorAxis:(e)=>e.trackCursorAxis,disableHoverablePopup:(e)=>e.disableHoverablePopup,lastOpenChangeReason:(e)=>e.openChangeReason,closeOnClick:(e)=>e.closeOnClick,closeDelay:(e)=>e.closeDelay,adaptiveOrigin:(e)=>e.adaptiveOrigin};DEe=class DEe extends Tg{constructor(e,t,n){let r=new R2;super(jUn(e,r,t,n),$Un(r),JUn)}setOpen=(e,t)=>{Rit(this,e,t,{extraState:{openChangeReason:t.reason}})};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,un(Ib,e))}}});function eNn({store:e,disabled:t,trackCursorAxis:n}){let r=e.useState("floatingRootContext"),o=k2(r,{enabled:!t,referencePress:()=>e.select("closeOnClick")}),a=hSe(r,{enabled:!t&&n!=="none",axis:n==="none"?void 0:n}),i=j9.useMemo(()=>dl(a.reference,o.reference),[a.reference,o.reference]);return r6(e,{activeTriggerProps:i,inactiveTriggerProps:i,popupProps:o.floating??$r}),null}var j9,LEe;var O2t=P(()=>{zb();Ci();Nr();J9();pl();ka();Sd();A2();B2t();ko();le();j9=z(re(),1),LEe=s3(function(t){let{disabled:n=!1,defaultOpen:r=!1,open:o,disableHoverablePopup:a=!1,trackCursorAxis:i="none",actionsRef:s,onOpenChange:l,onOpenChangeComplete:c,handle:u,triggerId:d,defaultTriggerId:p=null,children:f}=t,m=o9((O,B)=>new DEe({open:r,openProp:o,activeTriggerId:p,triggerIdProp:d},O,B));m.useControlledProp("openProp",o),m.useControlledProp("triggerIdProp",d),m.useContextCallback("onOpenChange",l),m.useContextCallback("onOpenChangeComplete",c);let g=m.useState("open"),v=!n&&g,y=m.useState("activeTriggerId"),x=m.useState("mounted"),A=m.useState("payload");m.useSyncedValues({trackCursorAxis:i,disableHoverablePopup:a,disabled:n}),t6(m,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:w,transitionStatus:C}=n6(v,m),E=m.useState("isInstantPhase"),T=m.useState("instantType"),I=m.useState("lastOpenChangeReason"),k=j9.useRef(null);Ct(()=>{if(g&&n)m.setOpen(!1,un($rt))},[g,n,m]),Ct(()=>{if(C==="ending"&&I===_1||C!=="ending"&&E){if(T!=="delay")k.current=T;m.set("instantType","delay")}else if(k.current!==null)m.set("instantType",k.current),k.current=null},[C,E,I,T,m]),Ct(()=>{if(v){if(y==null)m.set("payload",void 0)}},[m,y,v]),j9.useImperativeHandle(s,()=>({unmount:w,close:()=>m.setOpen(!1,un(Y$))}),[w,m]);let L=v||x||!n&&i!=="none";return M(MEe.Provider,{value:m,children:[u&&h($4,{handle:u,store:m}),L&&h(eNn,{store:m,disabled:n,trackCursorAxis:i}),typeof f==="function"?f({payload:A}):f]})})});function F2t(){return hoe.useContext(BEe)}var hoe,BEe;var OEe=P(()=>{hoe=z(re(),1),BEe=hoe.createContext(void 0)});var U2t=600;function N2t(e){if("composedPath"in e){let n=e.composedPath();for(let r=0;r{zo();vs();zb();Rp();Ob();J9();Ep();vr();Sd();_l();OEe();pl();im();Z1();ka();ko();Kee();DN();Bwe();goe=z(re(),1);FEe=j4(function(t,n){let{render:r,className:o,style:a,handle:i,payload:s,disabled:l,delay:c,closeOnClick:u=!0,closeDelay:d,id:p,...f}=t,m=O6(!0),v=i6(i)??m;if(!v)throw Error(Dn(82));let y=go(p),x=v.useState("isTriggerActive",y),A=v.useState("isOpenedByTrigger",y),w=v.useState("floatingRootContext"),C=goe.useRef(null),E=d??0,{registerTrigger:T,isMountedByThisTrigger:I}=e6(y,C,v,{payload:s,closeOnClick:u,closeDelay:E}),k=F2t(),{activeIdRef:L,delayRef:O,isInstantPhase:B,hasProvider:U}=sSe(w,{open:A}),D=i9(w);v.useSyncedValue("isInstantPhase",B);let N=v.useState("disabled"),_=l??N,G=ti(_),Z=v.useState("trackCursorAxis"),q=v.useState("disableHoverablePopup"),H=goe.useRef(!1),te=mi(),ie=goe.useRef(void 0);function j(){if(U&&L.current!=null)return 0;return c??k??U2t}function oe(pe){let Re=C.current;if(!Re||!pe)return!1;let Le=tNn(pe);return Le!==null&&Le!==Re&&Ln(Re,Le)}function J(pe){let Re=oe(pe);if(H.current=Re,Re)D.openChangeTimeout.clear(),D.restTimeout.clear(),D.restTimeoutPending=!1,te.clear();return Re}let Y=l3(w,{enabled:!_,mouseOnly:!0,move:!1,handleClose:!q&&Z!=="both"?c3():null,restMs:j,delay(){if(d==null&&U)return{close:I2(O.current,"close")};return{close:E}},triggerElementRef:C,isActiveTrigger:x,isClosing:()=>v.select("transitionStatus")==="ending",shouldOpen(){return!H.current}}),ae=VN(w,{enabled:!_}).reference,ne=(pe)=>{let Re=H.current,Le=N2t(pe),Ne=J(Le),be=C.current,ye=be&&Le&&Ln(be,Le);if(Ne&&v.select("open")&&v.select("lastOpenChangeReason")===sc){v.setOpen(!1,un(sc,pe));return}if(Re&&!Ne&&ye&&!G.current&&!v.select("open")&&be&&Sg(ie.current)){let ce=()=>{if(!H.current&&!G.current&&!v.select("open"))v.setOpen(!0,un(sc,pe,be))},ue=j();if(ue===0)te.clear(),ce();else te.start(ue,ce)}},Se=v.useState("triggerProps",I);return Zt("button",t,{state:{open:A},ref:[n,T,C],props:[Y,ae,I||Z!=="none"?Se:void 0,{onMouseOver(pe){ne(pe.nativeEvent)},onFocus(pe){if(oe(N2t(pe.nativeEvent)))pe.preventBaseUIHandler()},onMouseLeave(){H.current=!1,te.clear(),ie.current=void 0},onPointerEnter(pe){ie.current=pe.pointerType},onPointerDown(pe){if(ie.current=pe.pointerType,v.set("closeOnClick",u),u&&!v.select("open"))v.cancelPendingOpen(pe.nativeEvent)},onClick(pe){if(u&&!v.select("open"))v.cancelPendingOpen(pe.nativeEvent)},id:y,[AN]:_?"":void 0,[z2t]:_?void 0:""},f],stateAttributesMapping:Mb})})});function H2t(){let e=yoe.useContext(UEe);if(e===void 0)throw Error(Dn(70));return e}var yoe,UEe;var NEe=P(()=>{zo();yoe=z(re(),1),UEe=yoe.createContext(void 0)});var voe,V2t;var G2t=P(()=>{bd();Uee();le();voe=z(re(),1),V2t=voe.forwardRef(function(t,n){let{children:r,container:o,className:a,render:i,style:s,...l}=t,{node:c,subtree:u}=Fee({container:o,ref:n,componentProps:t,elementProps:l});if(!u&&!c)return null;return M(voe.Fragment,{children:[u,c&&mf(r,c)]})})});var q2t,zEe;var Z2t=P(()=>{J9();NEe();G2t();le();q2t=z(re(),1),zEe=q2t.forwardRef(function(t,n){let{keepMounted:r=!1,...o}=t;if(!(O6().useState("mounted")||r))return null;return h(UEe.Provider,{value:r,children:h(V2t,{ref:n,...o})})})});function Q2t(){let e=boe.useContext(_Ee);if(e===void 0)throw Error(Dn(71));return e}var boe,_Ee;var HEe=P(()=>{zo();boe=z(re(),1),_Ee=boe.createContext(void 0)});var xoe,VEe;var X2t=P(()=>{J9();HEe();T_();NEe();Ig();k_();le();xoe=z(re(),1),VEe=xoe.forwardRef(function(t,n){let{render:r,className:o,anchor:a,positionMethod:i="absolute",side:s="top",align:l="center",sideOffset:c=0,alignOffset:u=0,collisionBoundary:d="clipping-ancestors",collisionPadding:p=5,arrowPadding:f=5,sticky:m=!1,disableAnchorTracking:g=!1,collisionAvoidance:v=n9,style:y,...x}=t,A=O6(),w=H2t(),C=A.useState("open"),E=A.useState("mounted"),T=A.useState("trackCursorAxis"),I=A.useState("disableHoverablePopup"),k=A.useState("floatingRootContext"),L=A.useState("instantType"),O=A.useState("transitionStatus"),B=A.useState("adaptiveOrigin"),U=D6({anchor:a,positionMethod:i,floatingRootContext:k,mounted:E,side:s,sideOffset:c,align:l,alignOffset:u,collisionBoundary:d,collisionPadding:p,sticky:m,arrowPadding:f,disableAnchorTracking:g,keepMounted:w,collisionAvoidance:v,adaptiveOrigin:B}),D=xoe.useMemo(()=>({open:C,side:U.side,align:U.align,anchorHidden:U.anchorHidden,instant:T!=="none"?"tracking-cursor":L}),[C,U.side,U.align,U.anchorHidden,T,L]),N=L6(t,D,{styles:U.positionerStyles,transitionStatus:O,props:x,refs:[n,A.useStateSetter("positionerElement")],hidden:!E,inert:!C||T==="both"||I});return h(_Ee.Provider,{value:U,children:N})})});var W2t,GEe;var Y2t=P(()=>{J9();HEe();Ep();oh();vr();W9();pl();Sd();W2t=z(re(),1),GEe=W2t.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,s=O6(),{side:l,align:c}=Q2t(),u=s.useState("open"),d=s.useState("instantType"),p=s.useState("transitionStatus"),f=s.useState("popupProps"),m=s.useState("floatingRootContext"),g=s.useState("disabled"),v=s.useState("closeDelay");ji({open:u,ref:s.context.popupRef,onComplete(){if(u)s.context.onOpenChangeComplete?.(!0)}}),xE(m,{enabled:!g,closeDelay:v});let y=s.useStateSetter("popupElement");return Zt("div",t,{state:{open:u,side:l,align:c,instant:d,transitionStatus:p},ref:[n,s.context.popupRef,y],props:[_b,f,ix(p),i],stateAttributesMapping:G4})})});var K2t,J2t=function(t){let{delay:n,closeDelay:r,timeout:o=400}=t,a=K2t.useMemo(()=>({open:n,close:r}),[n,r]);return h(BEe.Provider,{value:n,children:h(iSe,{delay:a,timeoutMs:o,children:t.children})})};var j2t=P(()=>{pl();OEe();le();K2t=z(re(),1)});var evt=P(()=>{O2t();_2t();Z2t();X2t();Y2t();j2t()});var tvt=P(()=>{evt()});var R_,Rf=({children:e,className:t})=>h("kbd",{className:Ve("flex h-4.5 min-w-4.5 items-center justify-center rounded-extra-small px-1 font-plain text-label-small","bg-inverse-on-surface/12 text-inverse-on-surface/80",t),children:e}),nvt,nNn=(e)=>{if(!e)return;let t=[];for(let n of e){if(n.length>=2){t.push(n);continue}for(let r of n)t.push(r)}return t},zIo,rNn,P_=({position:e="bottom",sideOffset:t=4,...n})=>{let r=n.asChild&&R_.isValidElement(n.children)?n.children:h("span",{className:n.className,children:n.children});return M(LEe,{disableHoverablePopup:n.disableHoverableContent,open:n.open,defaultOpen:n.defaultOpen,onOpenChange:n.onOpenChange&&((o)=>n.onOpenChange?.(o)),disabled:n.disabled,children:[h(FEe,{delay:n.delay??n.delayDuration,render:r}),h(zEe,{children:h(VEe,{side:e,align:n.align,sideOffset:t,alignOffset:n.alignOffset,className:"z-[101]",children:M(GEe,{className:Ve("TooltipContent",nvt,n.tooltipClassName,!n.label&&"hidden"),children:[h("div",{className:n.labelClassName,children:n.label}),n.keybinds&&h("div",{className:"flex items-center justify-center gap-1",children:nNn(n.keybinds)?.map((o)=>h(Rf,{children:h("p",{children:o})},o.toString()))})]})})})]})},qEe=({delayDuration:e,skipDelayDuration:t,delay:n,timeout:r,...o})=>h(J2t,{delay:n??e,timeout:r??t,...o}),_Io,oNn,aNn;var rvt=P(()=>{tvt();rn();V1();le();R_=z(re(),1),nvt=Ve("z-[101] flex min-h-6 max-w-[200px] select-text items-center gap-2 break-words","rounded-extra-small bg-inverse-surface px-2 py-1 text-center text-body-small text-inverse-on-surface","origin-(--transform-origin)","transition-[opacity,scale] duration-150 ease-standard","data-starting-style:scale-90 data-starting-style:opacity-0 data-ending-style:opacity-0","data-instant:transition-none"),{Portal:zIo,EnsurePortal:rNn}=V4(zEe,"TooltipPortal"),_Io=LEe,oNn=R_.forwardRef(({asChild:e,children:t,...n},r)=>{let o=am(e,t);return h(FEe,{ref:r,render:o.render,...n,children:o.children})});oNn.displayName="TooltipTrigger";aNn=R_.forwardRef(({className:e,side:t,sideOffset:n=4,align:r,alignOffset:o,collisionPadding:a,collisionAvoidance:i,sticky:s,anchor:l,...c},u)=>h(rNn,{children:h(VEe,{className:"z-[101]",side:t,sideOffset:n,align:r,alignOffset:o,collisionPadding:a,collisionAvoidance:i,sticky:s,anchor:l,children:h(GEe,{ref:u,className:io(Ve("overflow-hidden",nvt),e),...c})})}));aNn.displayName="TooltipContent"});function $9(){let e=Aoe.useContext(ZEe);if(e===void 0)throw Error(Dn(64));return e}var Aoe,ZEe;var M_=P(()=>{zo();Aoe=z(re(),1),ZEe=Aoe.createContext(void 0)});var ovt="data-activation-direction";var F6;var D_=P(()=>{F6={tabActivationDirection:(e)=>({[ovt]:e})}});function QEe(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function avt(e,t,n,r){if(e==null||t==null)return"none";let[o,a,i]=n==="horizontal"?["left","left","right"]:["top","up","down"],s=QEe(r,e),l=QEe(r,t);if(s==null||l==null){if(s!==l&&(typeof e==="number"||typeof e==="string")&&typeof e===typeof t)return t>e?i:a;return"none"}let c=s.getBoundingClientRect()[o],u=l.getBoundingClientRect()[o];if(uc)return i;return"none"}var Uc,ivt;var svt=P(()=>{xb();Nr();da();vr();lE();M_();D_();ka();ko();le();Uc=z(re(),1),ivt=Uc.forwardRef(function(t,n){let{className:r,defaultValue:o=0,onValueChange:a,orientation:i="horizontal",render:s,value:l,style:c,...u}=t,d=t.defaultValue!==void 0,p=Uc.useRef([]),[f,m]=Uc.useState(()=>new Map),[g,v]=Zd({controlled:l,default:o,name:"Tabs",state:"value"}),y=l!==void 0,[x,A]=Uc.useState(()=>new Map),w=Uc.useRef(void 0),C=Uc.useCallback((ne)=>QEe(x,ne),[x]),[E,T]=Uc.useState(()=>({previousValue:g,tabActivationDirection:"none"})),{previousValue:I,tabActivationDirection:k}=E,L=k,O=!1;if(I!==g)L=avt(I,g,i,x),O=I!=null&&g!=null&&C(g)==null;let B=O?I:g,U=I!==B||k!==L;Ct(()=>{if(!U)return;T({previousValue:B,tabActivationDirection:L})},[B,U,L]);let D=Ot((ne,Se)=>{let fe=avt(g,ne,i,x);if(Se.activationDirection=fe,a?.(ne,Se),Se.isCanceled)return;v(ne)}),N=Ot((ne,Se)=>{a?.(ne,un(Se,void 0,void 0,{activationDirection:"none"}))}),_=Ot((ne,Se)=>(m((fe)=>{let Ae=new Map(fe);return Ae.set(ne,Se),Ae}),()=>{m((fe)=>{if(fe.get(ne)!==Se)return fe;let Ae=new Map(fe);return Ae.delete(ne),Ae})})),G=Uc.useCallback((ne)=>f.get(ne),[f]),Z=Uc.useCallback((ne)=>{for(let Se of x.values())if(ne===Se.value)return Se.id;return},[x]),q=Uc.useMemo(()=>({getTabElementBySelectedValue:C,getTabIdByPanelValue:Z,getTabPanelIdByValue:G,onValueChange:D,orientation:i,registerMountedTabPanel:_,setTabMap:A,tabActivationDirection:L,value:g}),[C,Z,G,D,i,_,A,L,g]),H=Uc.useMemo(()=>{for(let ne of x.values())if(ne.value===g)return ne;return},[x,g]),te=Uc.useMemo(()=>{for(let ne of x.values())if(!ne.disabled)return ne.value;return},[x]),ie=Uc.useRef(!d),j=Uc.useRef(o),oe=Uc.useRef(d),J=Uc.useRef(!1);Ct(()=>{if(y)return;function ne(Ee,pe){v(Ee),T({previousValue:Ee,tabActivationDirection:"none"}),N(Ee,pe),ie.current=!1}if(x.size===0){if(J.current&&g!==null&&!w.current?.isConnected)ne(null,eot);return}J.current=!0,w.current=x.keys().next().value;let Se=H?.disabled,fe=H==null&&g!==null;if(!Se&&g===j.current)oe.current=!1;if(oe.current&&Se&&g===j.current)return;let Ae=ie.current;if(Se||fe){let Ee=te??null;if(g===Ee){ie.current=!1;return}let pe=eot;if(Ae)pe=tot;else if(Se)pe=$rt;ne(Ee,pe);return}if(Ae&&H!=null)N(g,tot),ie.current=!1},[te,y,N,H,v,x,g]);let ae=Zt("div",t,{state:{orientation:i,tabActivationDirection:L},ref:n,props:u,stateAttributesMapping:F6});return h(ZEe.Provider,{value:q,children:h(W1,{elementsRef:p,children:ae})})})});var L_="data-composite-item-active";function woe(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=F4(),{ref:o,index:a}=Ip(e),i=n===a,s=lvt.useRef(null),l=cl(o,s);return{compositeProps:{tabIndex:i?0:-1,onFocus(){r(a)},onMouseMove(){let u=s.current;if(!t||!u)return;let d=u.hasAttribute("disabled")||u.ariaDisabled==="true";if(!i&&!d)u.focus()}},compositeRef:l,index:a}}var lvt;var XEe=P(()=>{U1();EP();Fb();lvt=z(re(),1)});function cvt(){let e=Soe.useContext(WEe);if(e===void 0)throw Error(Dn(65));return e}var Soe,WEe;var YEe=P(()=>{zo();Soe=z(re(),1),WEe=Soe.createContext(void 0)});var S3,uvt;var dvt=P(()=>{ul();Nr();da();_l();vr();KA();XEe();EP();M_();D_();YEe();ka();ko();Cg();S3=z(re(),1),uvt=S3.forwardRef(function(t,n){let{className:r,disabled:o=!1,render:a,value:i,id:s,nativeButton:l=!0,style:c,...u}=t,{value:d,getTabPanelIdByValue:p,onValueChange:f,orientation:m,tabActivationDirection:g}=$9(),{activateOnFocus:v,registerTabResizeObserverElement:y,tabsListElement:x}=cvt(),{highlightedIndex:A,onHighlightedIndexChange:w}=F4(),C=go(s),E=S3.useMemo(()=>({disabled:o,id:C,value:i}),[o,C,i]),{compositeProps:T,compositeRef:I,index:k}=woe({metadata:E}),L=i===d,O=S3.useRef(!1),B=S3.useRef(null),U=Ot((J)=>{B.current?.(),B.current=J?y(J):null});Ct(()=>{if(O.current){O.current=!1;return}if(!(L&&k>-1&&A!==k))return;let J=x;if(J!=null){let Y=Ks(yr(J));if(Y&&Ln(J,Y))return}if(!o)w(k)},[L,k,A,w,o,x]);let{getButtonProps:D,buttonRef:N}=Ys({disabled:o,native:l,focusableWhenDisabled:!0}),_=p(i),G=S3.useRef(!1),Z=S3.useRef(!1);function q(J){f(i,un(_1,J.nativeEvent,void 0,{activationDirection:"none"}))}function H(J){if(L||o)return;q(J)}function te(J){if(L||o)return;if(v&&(!G.current||Z.current))q(J)}function ie(J){if(L||o)return;G.current=!0,Z.current=J.button===0;let Y=yr(J.currentTarget);function ae(){G.current=!1,Z.current=!1,Y.removeEventListener("pointerup",ae),Y.removeEventListener("pointercancel",ae)}Y.addEventListener("pointerup",ae),Y.addEventListener("pointercancel",ae)}return Zt("button",t,{state:{disabled:o,active:L,orientation:m,tabActivationDirection:g},ref:[n,N,I,U],props:[T,{role:"tab","aria-controls":_,"aria-selected":L,id:C,onClick:H,onFocus:te,onPointerDown:ie,[L_]:L?"":void 0,onKeyDownCapture(){O.current=!0}},u,D],stateAttributesMapping:F6})})});var pvt="data-index",TTo,kTo;var fvt=P(()=>{H1();TTo=H4,kTo=LP});var Coe,lNn,mvt;var hvt=P(()=>{l9();Nr();_l();H1();oh();Pb();vr();Fb();D_();M_();fvt();Coe=z(re(),1),lNn={...F6,...Cp},mvt=Coe.forwardRef(function(t,n){let{className:r,value:o,render:a,keepMounted:i=!1,style:s,...l}=t,{value:c,getTabIdByPanelValue:u,orientation:d,tabActivationDirection:p,registerMountedTabPanel:f}=$9(),m=go(),{ref:g,index:v}=Ip(),y=o===c,{mounted:x,transitionStatus:A,setMounted:w}=Sp(y),C=!x,E=u(o),T={hidden:C,orientation:d,tabActivationDirection:p,transitionStatus:A},I=Coe.useRef(null),k=Zt("div",t,{state:T,ref:[n,g,I],props:[{"aria-labelledby":E,hidden:C,id:m,role:"tabpanel",tabIndex:y?0:-1,inert:Vb(!y),[pvt]:v},l],stateAttributesMapping:lNn});if(ji({open:y,ref:I,onComplete(){if(!y)w(!1)}}),Ct(()=>{if(m==null||C&&!i)return;return f(o,m)},[C,i,o,m,f]),!(i||x))return null;return k})});function Eoe(e){return e==null||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true"}function gvt(e){let{loopFocus:t=!0,orientation:n="both",grid:r,onLoop:o,direction:a,highlightedIndex:i,onHighlightedIndexChange:s,rootRef:l,enableHomeAndEndKeys:c=!1,stopEventPropagation:u,disabledIndices:d,modifierKeys:p=Rc}=e,[f,m]=nI.useState(0),g=r!=null,v=nI.useRef(null),y=cl(v,l),x=nI.useRef([]),A=nI.useRef(!1),w=nI.useRef(null),C=i??f,E=Ot((O,B=!1)=>{if(w.current=x.current[O]??null,(s??m)(O),B){let U=x.current[O];jwe(v.current,U,a,n)}}),T=Ot((O)=>{if(O.size===0)return;if(A.current){let N=x.current,_=N.indexOf(w.current);if(_===-1){let G=N[C];if(!G||e3(N,C,d))E(cNn(N,d));else w.current=G}else if(_!==C)E(_);return}A.current=!0;let B=Array.from(O.keys()),U=B.find((N)=>N?.hasAttribute(L_))??null,D=U?O.get(U)?.index??-1:-1;if(D!==-1)E(D);else if(e3(B,C,d)){let N=X1(B,{disabledIndices:d});if(!X4(B,N))E(N)}jwe(v.current,U,a,n)});Ct(()=>{if(d==null||i!=null||!A.current)return;let O=x.current;if(e3(O,C,d)){let B=X1(O,{disabledIndices:d});if(!X4(O,B))E(B)}},[d,i,C,x,E]);let I=Ot((O,B,U)=>{if(!o)return U;return o(O,B,U,x)}),k=Ot((O)=>{let B=O.key===jP||O.key===$P;if(!Eg.has(O.key)||!c&&B)return;if(uNn(O,p))return;if(!v.current)return;let D=a==="rtl",N=D?KP:JP,_=D?JP:KP,G=n==="vertical"?YP:N,Z=n==="vertical"?WP:_,q=fi(O.nativeEvent);if(q!=null&&Jwe(q)&&!Eoe(q)){let{selectionStart:J,selectionEnd:Y,value:ae}=q;if(J==null||O.shiftKey||J!==Y)return;if(O.key!==Z&&J0)return}let H=C,te=iE(x,d),ie=NP(x,d);if(r!=null)H=r({disabledIndices:d,elementsRef:x,event:O,highlightedIndex:C,loopFocus:t,maxIndex:ie,minIndex:te,onLoop:I,orientation:n,rtl:D});let j=n!=="vertical"&&O.key===N||n!=="horizontal"&&O.key===YP,oe=n!=="vertical"&&O.key===_||n!=="horizontal"&&O.key===WP;if(c){if(O.key===jP)H=te;else if(O.key===$P)H=ie}if(H===C&&(j||oe))if(t&&H===ie&&j){if(H=te,o)H=o(O,C,H,x)}else if(t&&H===te&&oe){if(H=ie,o)H=o(O,C,H,x)}else H=X1(x.current,{startingIndex:H,decrement:oe,disabledIndices:d});if(H!==C&&!X4(x.current,H)){if(u)O.stopPropagation();if(g||B||j||oe)O.preventDefault();E(H,!0),queueMicrotask(()=>{x.current[H]?.focus()})}});return{props:{ref:y,onFocus(O){let B=v.current,U=fi(O.nativeEvent);if(!B||U==null||!Jwe(U))return;U.setSelectionRange(0,U.value.length)},onKeyDown:k},highlightedIndex:C,onHighlightedIndexChange:E,elementsRef:x,onMapChange:T,relayKeyboardEvent:k}}function cNn(e,t){let n=-1;for(let r=0;r{da();U1();Nr();Ci();pE();Cg();nI=z(re(),1)});function bvt(e){let{render:t,className:n,style:r,refs:o=Rc,props:a=Rc,state:i=$r,stateAttributesMapping:s,highlightedIndex:l,onHighlightedIndexChange:c,orientation:u,grid:d,loopFocus:p,onLoop:f,enableHomeAndEndKeys:m,onMapChange:g,stopEventPropagation:v=!0,rootRef:y,disabledIndices:x,modifierKeys:A,highlightItemOnHover:w=!1,tag:C="div",...E}=e,T=Y1(),{props:I,highlightedIndex:k,onHighlightedIndexChange:L,elementsRef:O,onMapChange:B,relayKeyboardEvent:U}=gvt({grid:d,loopFocus:p,onLoop:f,orientation:u,highlightedIndex:l,onHighlightedIndexChange:c,rootRef:y,stopEventPropagation:v,enableHomeAndEndKeys:m,direction:T,disabledIndices:x,modifierKeys:A}),D=Zt(C,e,{state:i,ref:o,props:[I,...a,E],stateAttributesMapping:s}),N=vvt.useMemo(()=>({highlightedIndex:k,onHighlightedIndexChange:L,highlightItemOnHover:w,relayKeyboardEvent:U}),[k,L,w,U]);return h(fwe.Provider,{value:N,children:h(W1,{elementsRef:O,onMapChange:(_)=>{g?.(_),B(_)},children:D})})}var vvt;var xvt=P(()=>{Ci();lE();yvt();EP();vr();uE();le();vvt=z(re(),1)});var z2,Avt;var wvt=P(()=>{da();Nr();Ci();xvt();D_();M_();YEe();le();z2=z(re(),1),Avt=z2.forwardRef(function(t,n){let{activateOnFocus:r=!1,className:o,loopFocus:a=!0,render:i,style:s,...l}=t,{orientation:c,setTabMap:u,tabActivationDirection:d}=$9(),[p,f]=z2.useState(0),[m,g]=z2.useState(null),v=z2.useRef(new Set),y=z2.useRef(new Set),x=z2.useRef(null);Ct(()=>{if(typeof ResizeObserver>"u")return;let I=new ResizeObserver(()=>{v.current.forEach((k)=>{k()})});if(x.current=I,m)I.observe(m);return y.current.forEach((k)=>{I.observe(k)}),()=>{I.disconnect(),x.current=null}},[m]);let A=Ot((I)=>(v.current.add(I),()=>{v.current.delete(I)})),w=Ot((I)=>(y.current.add(I),x.current?.observe(I),()=>{y.current.delete(I),x.current?.unobserve(I)})),C={orientation:c,tabActivationDirection:d},E={"aria-orientation":c==="vertical"?"vertical":void 0,role:"tablist"},T=z2.useMemo(()=>({activateOnFocus:r,registerIndicatorUpdateListener:A,registerTabResizeObserverElement:w,tabsListElement:m}),[r,A,w,m]);return h(WEe.Provider,{value:T,children:h(bvt,{render:i,className:o,style:s,state:C,refs:[n,g],props:[E,l],stateAttributesMapping:F6,highlightedIndex:p,enableHomeAndEndKeys:!0,loopFocus:a,orientation:c,onHighlightedIndexChange:f,onMapChange:u,disabledIndices:Rc})})})});var Cvt=P(()=>{svt();dvt();hvt();wvt()});var Evt=P(()=>{Cvt()});var B_=({className:e,...t})=>h(ivt,{className:io("flex flex-col",e),"data-m3-component":"Tabs",...t}),rI=({className:e,...t})=>h(mvt,{className:io("outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary",e),"data-m3-component":"TabsContent",...t}),O_=({className:e,activateOnFocus:t=!0,...n})=>h(Avt,{activateOnFocus:t,className:io("relative flex flex-row items-center border-b border-outline-variant",e),"data-m3-component":"TabsList",...n}),oI=({className:e,size:t="md",...n})=>h(uvt,{className:io(Ve("relative -mb-px inline-flex items-center justify-center gap-2 whitespace-nowrap",t==="sm"?"h-8 px-3":"h-12 px-4","text-label-large text-on-surface-variant outline-none","transition-colors duration-200 ease-standard hover:text-on-surface","data-active:text-primary data-active:hover:text-primary","before:pointer-events-none before:absolute before:inset-0 before:content-['']","before:transition-colors before:duration-200 before:ease-standard","hover:before:bg-on-surface/8 focus-visible:before:bg-on-surface/10 active:before:bg-on-surface/10","data-active:hover:before:bg-primary/8 data-active:focus-visible:before:bg-primary/10 data-active:active:before:bg-primary/10","after:absolute after:inset-x-2 after:bottom-0 after:h-[3px] after:rounded-t-[3px] after:bg-primary after:opacity-0 after:content-['']","after:transition-opacity after:duration-200 after:ease-standard data-active:after:opacity-100","focus-visible:outline-3 focus-visible:-outline-offset-3 focus-visible:outline-secondary","data-disabled:pointer-events-none data-disabled:opacity-38"),e),"data-m3-component":"TabsTrigger",...n});var Ivt=P(()=>{Evt();rn();V1();le()});function sx(e){let t=Ioe.useContext(KEe);if(t===void 0&&!e)throw Error(Dn(33));return t}var Ioe,KEe;var aI=P(()=>{zo();Ioe=z(re(),1),KEe=Ioe.createContext(void 0)});function Td(e){let t=Toe.useContext(JEe);if(t===void 0&&!e)throw Error(Dn(36));return t}var Toe,JEe;var _2=P(()=>{zo();Toe=z(re(),1),JEe=Toe.createContext(void 0)});function eM(e=!0){let t=koe.useContext(dNn);if(t===void 0&&!e)throw Error(Dn(25));return t}var koe,dNn;var Roe=P(()=>{zo();koe=z(re(),1),dNn=koe.createContext(void 0)});function Tvt(){let e=Poe.useContext(jEe);if(e===void 0)throw Error(Dn(30));return e}var Poe,jEe;var $Ee=P(()=>{zo();Poe=z(re(),1),jEe=Poe.createContext(void 0)});function Rvt(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:o,store:a,typingRef:i,itemRef:s,itemMetadata:l}=e,{events:c}=a.useState("floatingTreeRoot"),u=a.useState("open"),d=eM(!0),p=d!==void 0;return kvt.useMemo(()=>({id:r,role:"menuitem",tabIndex:u&&n?0:-1,onKeyDown(f){if(f.key===" "&&i?.current)f.preventDefault()},onMouseMove(f){if(!o)return;c.emit("itemhover",{nodeId:o,target:f.currentTarget})},onClick(f){if(t)c.emit("close",{domEvent:f,reason:J8})},onMouseUp(f){if(d){let m=d.initialCursorPointRef.current;if(d.initialCursorPointRef.current=null,p&&m&&Math.abs(f.clientX-m.x)<=1&&Math.abs(f.clientY-m.y)<=1)return;if(p&&!JA.mac&&f.button===2)return}if(s.current&&a.context.allowMouseUpTriggerRef.current&&(!p||f.button===2)){if(l.type==="regular-item")Sb(s.current,f,{detail:1})}}}),[t,n,r,c,o,u,a,i,s,d,p,l])}var kvt;var Pvt=P(()=>{a0();ko();Roe();aN();kvt=z(re(),1)});function U6(e){let{closeOnClick:t,disabled:n,highlighted:r,id:o,store:a,typingRef:i=a.context.typingRef,nativeButton:s,itemMetadata:l,nodeId:c}=e,u=tM.useRef(null),{getButtonProps:d,buttonRef:p}=Ys({disabled:n,focusableWhenDisabled:!0,native:s,composite:!0}),f=Rvt({closeOnClick:t,highlighted:r,id:o,nodeId:c,store:a,typingRef:i,itemRef:u,itemMetadata:l}),m=tM.useCallback((v)=>dl(f,{onMouseEnter(){if(l.type!=="submenu-trigger")return;l.setActive()}},v,d),[f,d,l]),g=cl(u,p);return tM.useMemo(()=>({getItemProps:m,itemRef:g}),[m,g])}var tM,nM;var F_=P(()=>{U1();KA();A2();Pvt();tM=z(re(),1),nM={type:"regular-item"}});var Mvt="data-checked",Dvt="data-unchecked";var N6;var U_=P(()=>{H1();N6={checked(e){if(e)return{[Mvt]:""};return{[Dvt]:""}},...Cp}});var Moe,Lvt;var Bvt=P(()=>{xb();Ci();$Ee();F_();Fb();_2();vr();_l();U_();aI();ka();ko();le();Moe=z(re(),1),Lvt=Moe.forwardRef(function(t,n){let{render:r,className:o,id:a,label:i,nativeButton:s=!1,disabled:l=!1,closeOnClick:c=!1,checked:u,defaultChecked:d,onCheckedChange:p,style:f,...m}=t,g=Ip({guess:!0,label:i}),v=sx(!0),y=go(a),{store:x}=Td(),A=x.useState("disabled"),w=l||A,C=x.useState("isActive",g.index),E=x.useState("itemProps"),[T,I]=Zd({controlled:u,default:d??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:k,itemRef:L}=U6({closeOnClick:c,disabled:w,highlighted:C,id:y,store:x,nativeButton:s,nodeId:v?.context.nodeId,itemMetadata:nM}),O=Moe.useMemo(()=>({disabled:w,highlighted:C,checked:T}),[w,C,T]);function B(D){let N=un(J8,D.nativeEvent,void 0,{preventUnmountOnClose:oa});if(p?.(!T,N),N.isCanceled)return;I((_)=>!_)}let U=Zt("div",t,{state:O,stateAttributesMapping:N6,props:[E,{role:"menuitemcheckbox","aria-checked":T,onClick:B},m,k],ref:[L,n,g.ref]});return h(jEe.Provider,{value:O,children:U})})});var Doe,Ovt;var Fvt=P(()=>{$Ee();vr();U_();Pb();oh();Doe=z(re(),1),Ovt=Doe.forwardRef(function(t,n){let{render:r,className:o,style:a,keepMounted:i=!1,...s}=t,l=Tvt(),c=Doe.useRef(null),{transitionStatus:u,mounted:d,setMounted:p}=Sp(l.checked);ji({batch:!0,enabled:!l.checked,open:l.checked,ref:c,onComplete(){if(!l.checked)p(!1)}});let f={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:u};return Zt("span",t,{state:f,ref:[n,c],stateAttributesMapping:N6,props:{"aria-hidden":!0,...s},enabled:i||d})})});function Uvt(){let e=Loe.useContext(N_);if(e===void 0)throw Error(Dn(31));return e}var Loe,N_;var Boe=P(()=>{zo();Loe=z(re(),1),N_=Loe.createContext(void 0)});var Ooe,Nvt;var zvt=P(()=>{vr();Boe();le();Ooe=z(re(),1),Nvt=Ooe.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,[s,l]=Ooe.useState(void 0),c=Zt("div",t,{ref:n,props:{role:"group","aria-labelledby":s,...i}});return h(N_.Provider,{value:l,children:c})})});var _vt,Hvt;var Vvt=P(()=>{Nr();vr();_l();Boe();_vt=z(re(),1),Hvt=_vt.forwardRef(function(t,n){let{render:r,className:o,style:a,id:i,...s}=t,l=go(i),c=Uvt();return Ct(()=>(c(l),()=>{c((u)=>u===l?void 0:u)}),[c,l]),Zt("div",t,{ref:n,props:{id:l,"aria-hidden":!0,...s}})})});var Gvt,qvt;var Zvt=P(()=>{F_();_2();vr();_l();Fb();aI();Gvt=z(re(),1),qvt=Gvt.forwardRef(function(t,n){let{render:r,className:o,id:a,label:i,nativeButton:s=!1,disabled:l=!1,closeOnClick:c=!0,style:u,...d}=t,p=Ip({guess:!0,label:i}),f=sx(!0),m=go(a),{store:g}=Td(),v=g.useState("disabled"),y=l||v,x=g.useState("isActive",p.index),A=g.useState("itemProps"),{getItemProps:w,itemRef:C}=U6({closeOnClick:c,disabled:y,highlighted:x,id:m,store:g,nativeButton:s,nodeId:f?.context.nodeId,itemMetadata:nM});return Zt("div",t,{state:{disabled:y,highlighted:x},props:[A,d,w],ref:[C,n,p.ref]})})});var Foe,Qvt;var Xvt=P(()=>{pl();_2();aI();vr();Ep();oh();ka();ko();foe();pE();W9();le();Foe=z(re(),1),Qvt=Foe.forwardRef(function(t,n){let{render:r,className:o,style:a,finalFocus:i,...s}=t,{store:l}=Td(),{side:c,align:u}=sx(),d=K9(!0)!=null,p=l.useState("open"),f=l.useState("transitionStatus"),m=l.useState("popupProps"),g=l.useState("mounted"),v=l.useState("instantType"),y=l.useState("activeTriggerElement"),x=l.useState("parent"),A=l.useState("lastOpenChangeReason"),w=l.useState("rootId"),C=l.useState("floatingRootContext"),E=l.useState("floatingTreeRoot"),T=l.useState("closeDelay"),I=l.useState("hoverEnabled"),k=l.useState("disabled"),L=l.useState("openMethod"),O=x.type==="context-menu";ji({open:p,ref:l.context.popupRef,onComplete(){if(p)l.context.onOpenChangeComplete?.(!0)}}),Foe.useEffect(()=>{function _(G){l.setOpen(!1,un(G.reason,G.domEvent))}return E.events.on("close",_),()=>{E.events.off("close",_)}},[E.events,l]),xE(C,{enabled:I&&!k&&!O&&x.type!=="menubar",closeDelay:T});let B=l.useStateSetter("popupElement"),U={transitionStatus:f,side:c,align:u,open:p,nested:x.type==="menu",instant:v},D=Zt("div",t,{state:U,ref:[n,l.context.popupRef,B],stateAttributesMapping:G4,props:[m,{onKeyDown(_){if(d&&Eg.has(_.key))_.stopPropagation()}},ix(f),s,{"data-rootownerid":w}]}),N=x.type===void 0||O;if(y||x.type==="menubar"&&A!==X$)N=!0;return h(i3,{context:C,openInteractionType:L,modal:O,disabled:!g,returnFocus:i===void 0?N:i,initialFocus:x.type!=="menu",restoreFocus:!0,externalTree:x.type!=="menubar"?E:void 0,previousFocusableElement:y,nextFocusableElement:x.type===void 0?l.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:x.type===void 0?l.context.beforeContentFocusGuardRef:void 0,children:D})})});function Wvt(){let e=Uoe.useContext(eIe);if(e===void 0)throw Error(Dn(32));return e}var Uoe,eIe;var tIe=P(()=>{zo();Uoe=z(re(),1),eIe=Uoe.createContext(void 0)});var Yvt,Kvt;var Jvt=P(()=>{pl();_2();tIe();le();Yvt=z(re(),1),Kvt=Yvt.forwardRef(function(t,n){let{keepMounted:r=!1,...o}=t,{store:a,parent:i}=Td();if(!(a.useState("mounted")||r))return null;let c=i.type==="menu"||i.type==="menubar"?"group":void 0;return h(eIe.Provider,{value:r,children:h(a3,{ref:n,...o,portalOwnerRole:c})})})});var lx,jvt;var $vt=P(()=>{l9();Nr();Rp();pl();aI();_2();T_();lE();WN();tIe();Ig();Roe();ka();ko();BP();k_();uoe();le();lx=z(re(),1),jvt=lx.forwardRef(function(t,n){let{anchor:r,positionMethod:o="absolute",className:a,render:i,side:s,align:l,sideOffset:c=0,alignOffset:u=0,collisionBoundary:d="clipping-ancestors",collisionPadding:p=5,arrowPadding:f=5,sticky:m=!1,disableAnchorTracking:g=!1,collisionAvoidance:v=Oee,style:y,...x}=t,{store:A}=Td(),w=Wvt(),C=eM(!0),E=A.useState("parent"),T=A.useState("floatingRootContext"),I=A.useState("floatingTreeRoot"),k=A.useState("mounted"),L=A.useState("open"),O=A.useState("modal"),B=A.useState("openMethod"),U=A.useState("activeTriggerElement"),D=A.useState("transitionStatus"),N=A.useState("positionerElement"),_=A.useState("instantType"),G=A.useState("adaptiveOrigin"),Z=A.useState("lastOpenChangeReason"),q=A.useState("floatingNodeId"),H=A.useState("floatingParentNodeId"),te=T.useState("domReferenceElement"),ie=lx.useRef(null),j=Rb(N),oe=r,J=c,Y=u,ae=l,ne=v;if(E.type==="context-menu"){if(oe=r??E.context?.anchor,ae=ae??"start",!s&&ae!=="center")Y=t.alignOffset??2,J=t.sideOffset??-5}let Se=s,fe=ae;if(E.type==="menu")Se=Se??"inline-end",fe=fe??"start",ne=t.collisionAvoidance??n9;else if(E.type==="menubar")Se=Se??(E.context.orientation==="vertical"?"inline-end":"bottom"),fe=fe??"start";let Ae=E.type==="context-menu",Ee=D6({anchor:oe,floatingRootContext:T,positionMethod:C?"fixed":o,mounted:k,side:Se,sideOffset:J,align:fe,alignOffset:Y,arrowPadding:Ae?0:f,collisionBoundary:d,collisionPadding:p,sticky:m,nodeId:q,keepMounted:w,disableAnchorTracking:g,collisionAvoidance:ne,shift:Ae?{crossAxis:!(("side"in ne)&&ne.side==="flip"),rootBoundary:"layoutViewport"}:void 0,externalTree:I,adaptiveOrigin:G});lx.useEffect(()=>{function ue(ke){if(ke.open){if(ke.parentNodeId===q)A.set("hoverEnabled",!1);if(ke.nodeId!==q&&ke.parentNodeId===A.select("floatingParentNodeId"))A.setOpen(!1,un(fN))}}return I.events.on("menuopenchange",ue),()=>{I.events.off("menuopenchange",ue)}},[A,I.events,q]),lx.useEffect(()=>{if(A.select("floatingParentNodeId")==null)return;function ue(ke){if(ke.open||ke.nodeId!==A.select("floatingParentNodeId"))return;let se=ke.reason??fN;A.setOpen(!1,un(se))}return I.events.on("menuopenchange",ue),()=>{I.events.off("menuopenchange",ue)}},[I.events,A]);let pe=mi();lx.useEffect(()=>{if(!L)pe.clear()},[L,pe]),lx.useEffect(()=>{function ue(ke){if(!L||ke.nodeId!==A.select("floatingParentNodeId"))return;if(ke.target&&U&&U!==ke.target){let se=A.select("closeDelay");if(se>0){if(!pe.isStarted())pe.start(se,()=>{A.setOpen(!1,un(fN))})}else A.setOpen(!1,un(fN))}else pe.clear()}return I.events.on("itemhover",ue),()=>{I.events.off("itemhover",ue)}},[I.events,L,U,A,pe]),lx.useEffect(()=>{let ue={open:L,nodeId:q,parentNodeId:H,reason:A.select("lastOpenChangeReason")};I.events.emit("menuopenchange",ue)},[I.events,L,A,q,H]),Ct(()=>{let ue=te,ke=ie.current;if(ue)ie.current=ue;if(ke&&ue&&ue!==ke){A.set("instantType",void 0);let se=new AbortController;return j(()=>{A.set("instantType","trigger-change")},se.signal),()=>{se.abort()}}return},[te,j,A]);let Re={open:L,side:Ee.side,align:Ee.align,anchorHidden:Ee.anchorHidden,nested:E.type==="menu",instant:_},Le=E.type==="menubar"&&E.context.modal,Ne=O&&Z!==sc;Y9(L&&(Le||Ne),B==="touch",N,U);let be=L6(t,Re,{styles:Ee.positionerStyles,transitionStatus:D,props:x,refs:[n,A.useStateSetter("positionerElement")],hidden:!k,inert:!L}),ye=k&&E.type!=="menu"&&(E.type!=="menubar"&&O&&Z!==sc||E.type==="menubar"&&E.context.modal),ce=null;if(E.type==="menubar")ce=E.context.contentElement;else if(E.type===void 0)ce=U;return M(KEe.Provider,{value:Ee,children:[ye&&h(l6,{ref:E.type==="context-menu"||E.type==="nested-context-menu"?E.context.internalBackdropRef:null,inert:Vb(!L),cutout:ce}),h(ON,{id:q,children:h(W1,{elementsRef:A.context.itemDomElements,labelsRef:A.context.itemLabels,children:be})})]})})});function ebt(){let e=Noe.useContext(nIe);if(e===void 0)throw Error(Dn(34));return e}var Noe,nIe;var rIe=P(()=>{zo();Noe=z(re(),1),nIe=Noe.createContext(void 0)});var z6,tbt;var nbt=P(()=>{xb();da();rIe();Boe();vr();le();z6=z(re(),1),tbt=z6.memo(z6.forwardRef(function(t,n){let{render:r,className:o,value:a,defaultValue:i,onValueChange:s,disabled:l=!1,style:c,"aria-labelledby":u,...d}=t,[p,f]=z6.useState(void 0),[m,g]=Zd({controlled:a,default:i,name:"MenuRadioGroup"}),v=Ot((w,C)=>{if(s?.(w,C),C.isCanceled)return;g(w)}),x=Zt("div",t,{state:{disabled:l},ref:n,props:{role:"group","aria-labelledby":u??p,"aria-disabled":l||void 0,...d}}),A=z6.useMemo(()=>({value:m,setValue:v,disabled:l}),[m,v,l]);return h(N_.Provider,{value:f,children:h(nIe.Provider,{value:A,children:x})})}))});function rbt(){let e=zoe.useContext(oIe);if(e===void 0)throw Error(Dn(35));return e}var zoe,oIe;var aIe=P(()=>{zo();zoe=z(re(),1),oIe=zoe.createContext(void 0)});var _oe,obt;var abt=P(()=>{Ci();_2();vr();_l();rIe();aIe();U_();Fb();F_();aI();ka();ko();le();_oe=z(re(),1),obt=_oe.forwardRef(function(t,n){let{render:r,className:o,id:a,label:i,nativeButton:s=!1,disabled:l=!1,closeOnClick:c=!1,value:u,style:d,...p}=t,f=Ip({guess:!0,label:i}),m=sx(!0),g=go(a),{store:v}=Td(),y=v.useState("isActive",f.index),x=v.useState("itemProps"),{value:A,setValue:w,disabled:C}=ebt(),E=v.useState("disabled"),T=l||C||E,I=A===u,{getItemProps:k,itemRef:L}=U6({closeOnClick:c,disabled:T,highlighted:y,id:g,store:v,nativeButton:s,nodeId:m?.context.nodeId,itemMetadata:nM}),O=_oe.useMemo(()=>({disabled:T,highlighted:y,checked:I}),[T,y,I]);function B(D){let N=un(J8,D.nativeEvent,void 0,{preventUnmountOnClose:oa});w(u,N)}let U=Zt("div",t,{state:O,stateAttributesMapping:N6,props:[x,{role:"menuitemradio","aria-checked":I,onClick:B},p,k],ref:[L,n,f.ref]});return h(oIe.Provider,{value:O,children:U})})});var Hoe,ibt;var sbt=P(()=>{aIe();vr();U_();Pb();oh();Hoe=z(re(),1),ibt=Hoe.forwardRef(function(t,n){let{render:r,className:o,style:a,keepMounted:i=!1,...s}=t,l=rbt(),c=Hoe.useRef(null),{transitionStatus:u,mounted:d,setMounted:p}=Sp(l.checked);ji({batch:!0,enabled:!l.checked,open:l.checked,ref:c,onComplete(){if(!l.checked)p(!1)}});let f={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:u};return Zt("span",t,{state:f,stateAttributesMapping:N6,ref:[n,c],props:{"aria-hidden":!0,...s},enabled:i||d})})});function Goe(e){let t=Voe.useContext(fNn);if(t===null&&!e)throw Error(Dn(5));return t}var Voe,fNn;var iIe=P(()=>{zo();Voe=z(re(),1),fNn=Voe.createContext(null)});function hNn(e){return{positionerRef:z_.createRef(),popupRef:z_.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:z_.createRef(),beforeContentFocusGuardRef:z_.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function gNn(e,t,n=!1,r){return{...o6(e,t,n),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new mE,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:$r,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...r}}var z_,mNn,sIe;var lbt=P(()=>{yE();Ci();zee();Sd();z_=z(re(),1),mNn={...a6,disabled:(e)=>e.parent.type==="menubar"?e.parent.context.disabled||e.disabled:e.disabled,modal:(e)=>(e.parent.type===void 0||e.parent.type==="context-menu")&&(e.modal??!0),openMethod:(e)=>e.openMethod,allowMouseEnter:(e)=>e.allowMouseEnter,highlightItemOnHover:(e)=>e.highlightItemOnHover,parent:(e)=>e.parent,rootId:(e)=>{if(e.parent.type==="menu")return e.parent.store.select("rootId");return e.parent.type!==void 0?e.parent.context.rootId:e.rootId},activeIndex:(e)=>e.activeIndex,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:(e)=>e.hoverEnabled,instantType:(e)=>e.instantType,lastOpenChangeReason:(e)=>e.openChangeReason,floatingTreeRoot:(e)=>{if(e.parent.type==="menu")return e.parent.store.select("floatingTreeRoot");return e.floatingTreeRoot},floatingNodeId:(e)=>e.floatingNodeId,floatingParentNodeId:(e)=>e.floatingParentNodeId,itemProps:(e)=>e.itemProps,closeDelay:(e)=>e.closeDelay,adaptiveOrigin:(e)=>e.adaptiveOrigin,keyboardEventRelay:(e)=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type==="menu")return e.parent.store.select("keyboardEventRelay");return}};sIe=class sIe extends Tg{constructor(e,t,n=!1){let r=new R2,o=gNn(r,t,n,e);super(o,hNn(r),mNn);this.unsubscribeParentListener=this.observe("parent",(a)=>{if(this.unsubscribeParentListener?.(),a.type==="menu"){let i=a.store.select("rootId"),s=a.store.select("floatingTreeRoot"),l=a.store.select("keyboardEventRelay");this.unsubscribeParentListener=a.store.subscribe(()=>{let c=a.store.select("rootId"),u=a.store.select("floatingTreeRoot"),d=a.store.select("keyboardEventRelay");if(i===c&&s===u&&l===d)return;i=c,s=u,l=d,this.notifyAll()}),this.context.allowMouseUpTriggerRef=a.store.context.allowMouseUpTriggerRef;return}if(a.type!==void 0)this.context.allowMouseUpTriggerRef=a.context.allowMouseUpTriggerRef;this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:t})}unsubscribeParentListener=null}});function Zoe(){return qoe.useContext(lIe)}var qoe,lIe;var Qoe=P(()=>{qoe=z(re(),1),lIe=qoe.createContext(void 0)});function yNn(e,t,n){return qa(()=>new sIe(e,t,n)).current}var Nc,Xoe;var cIe=P(()=>{Rp();da();Y8();Nr();om();Ci();zb();pl();_2();iIe();Ig();uE();ez();ka();ko();Roe();A2();BP();lbt();Sd();Qoe();le();Nc=z(re(),1),Xoe=s3(function(t){let{children:n,open:r,onOpenChange:o,onOpenChangeComplete:a,defaultOpen:i=!1,disabled:s=!1,modal:l,loopFocus:c=!0,orientation:u="vertical",actionsRef:d,closeParentOnEsc:p=!1,handle:f,triggerId:m,defaultTriggerId:g=null,highlightItemOnHover:v=!0}=t,y=eM(!0),x=Td(!0),A=Goe(!0),w=Zoe(),C=Nc.useMemo(()=>{if(w&&x)return{type:"menu",store:x.store};if(A)return{type:"menubar",context:A};if(y&&!x)return{type:"context-menu",context:y};return{type:void 0}},[y,x,A,w]),E=Ag(),T=Ag(),I=ih(),k=C.type==="menu"?C.store:void 0,L=(r??i)&&k?.state.transitionStatus==="starting",O=qa(()=>L?k?.state.instantType:void 0).current,B=yNn({open:i,openProp:r,activeTriggerId:g,triggerIdProp:m,parent:C,disabled:s,highlightItemOnHover:v,modal:C.type===void 0?l:void 0,rootId:E,instantType:O},T,I!=null);B.useControlledProp("openProp",r),B.useControlledProp("triggerIdProp",m),B.useContextCallback("onOpenChangeComplete",a);let U=B.useState("floatingTreeRoot"),D=hE(U),N=B.useState("open"),_=B.useState("activeTriggerElement"),G=B.useState("positionerElement"),Z=B.useState("hoverEnabled"),q=B.useState("disabled"),H=B.useState("lastOpenChangeReason"),te=B.useState("parent"),ie=B.useState("activeIndex"),j=B.useState("payload"),oe=B.useState("floatingParentNodeId"),J=Nc.useRef(null),Y=Nc.useRef(te.type!=="context-menu"),ae=mi(),ne=Nc.useRef(!0),Se=mi(),fe=oe!=null,{openMethod:Ae,triggerProps:Ee}=mte(N);B.useSyncedValues({disabled:s,highlightItemOnHover:v,modal:te.type===void 0?l:void 0,openMethod:Ae,rootId:E}),t6(B);let{forceUnmount:pe,transitionStatus:Re}=n6(N,B,()=>{B.set("allowMouseEnter",!1)},L),Le=Rb(B.context.popupRef);Nc.useEffect(()=>{if(O===void 0)return;let Ue=()=>{if(B.state.instantType===O)B.set("instantType",void 0)};if(!N){Ue();return}if(Re!==void 0)return;if(B.context.popupRef.current==null){Ue();return}let Ze=new AbortController;return Le(Ue,Ze.signal),()=>{Ze.abort()}},[O,N,Re,Le,B]),Ct(()=>{if(y&&!x)B.update({parent:{type:"context-menu",context:y},floatingNodeId:D,floatingParentNodeId:I});else if(x)B.update({floatingNodeId:D,floatingParentNodeId:I})},[y,x,D,I,B]),Nc.useEffect(()=>{if(!N)J.current=null;if(te.type!=="context-menu")return;if(!N){ae.clear(),Y.current=!1;return}ae.start(500,()=>{Y.current=!0})},[ae,N,te.type]),Ct(()=>{if(!N&&!Z)B.set("hoverEnabled",!0)},[N,Z,B]);let Ne=Ot((Ue,Ze)=>{let ct=Ze.reason;if(!Ue&&!B.select("open"))return;if(N===Ue&&Ze.trigger===_&&H===ct)return;let Rt=_N(Ze);if(!Ue&&Ze.trigger==null)Ze.trigger=_??void 0;if(o?.(Ue,Ze),Ze.isCanceled)return;B.state.floatingRootContext.dispatchOpenChange(Ue,Ze);let de=Ze.event;if(Ue===!1&&de?.type==="click"&&de.pointerType==="touch"&&!ne.current)return;if(Ue&&ct===PP)ne.current=!1,Se.start(300,()=>{ne.current=!0});else ne.current=!0,Se.clear();let ge=(ct===Ib||ct===J8)&&de.detail===0,Oe=!Ue&&(ct===pN||ct==null);J.current=Ze.event;let Xe=bE(B.state,Ue,Ze.trigger,Rt());if(Xe.openChangeReason=ct,te.type==="menubar"&&(ct===PP||ct===_4||ct===sc||ct===W$||ct===fN))Xe.instantType="group";else if(ge||Oe)Xe.instantType=ge?"click":"dismiss";else Xe.instantType=void 0;B.update(Xe)}),be=zN({popupStore:B,floatingRootContext:B.state.floatingRootContext,floatingId:T,nested:I!=null,onOpenChange:Ne}),ye=be.context.events;Ct(()=>{let Ue=({open:Ze,eventDetails:ct})=>Ne(Ze,ct);return ye.on("setOpen",Ue),()=>{ye?.off("setOpen",Ue)}},[ye,Ne]);let ce=Nc.useCallback(()=>{B.setOpen(!1,un(Y$))},[B]);Nc.useImperativeHandle(d,()=>({unmount:pe,close:ce}),[pe,ce]);let ue;if(te.type==="context-menu")ue=te.context;Nc.useImperativeHandle(ue?.positionerRef,()=>G,[G]),Nc.useImperativeHandle(ue?.actionsRef,()=>({setOpen:Ne}),[Ne]);let ke=k2(be,{enabled:!q,bubbles:{escapeKey:p&&te.type==="menu"},outsidePress(){if(te.type!=="context-menu"||J.current?.type==="contextmenu")return!0;return Y.current},externalTree:fe?U:void 0}),se=Y1(),qe=Nc.useCallback((Ue)=>{if(B.select("activeIndex")===Ue)return;B.set("activeIndex",Ue)},[B]),Me=GN(be,{enabled:!q,listRef:B.context.itemDomElements,activeIndex:ie,nested:te.type!==void 0,loopFocus:c,orientation:u,parentOrientation:te.type==="menubar"?te.context.orientation:void 0,rtl:se==="rtl",disabledIndices:Rc,onNavigate:qe,openOnArrowKeyDown:te.type!=="context-menu",externalTree:fe?U:void 0,focusItemOnHover:v}),Qe=Nc.useCallback((Ue)=>{B.context.typingRef.current=Ue},[B]),ee=qN(be,{enabled:!q,listRef:B.context.itemLabels,elementsRef:B.context.itemDomElements,activeIndex:ie,resetMs:Kat,onMatch:(Ue)=>{if(N&&Ue!==ie)B.set("activeIndex",Ue)},onTyping:Qe}),K=Nc.useMemo(()=>{let Ue=dl(ee.reference,Me.reference,ke.reference,{onMouseMove(){B.set("allowMouseEnter",!0)}},Ee);return Ue["aria-haspopup"]="menu",Ue["aria-expanded"]=N,Ue},[B,ee.reference,Me.reference,ke.reference,Ee,N]),we=Nc.useMemo(()=>{let Ue=dl(Me.trigger,ke.trigger,Ee);return Ue["aria-haspopup"]="menu",Ue["aria-expanded"]=!1,Ue},[Me.trigger,ke.trigger,Ee]);qa(()=>(B.update({inactiveTriggerProps:we}),null));let ze=Nc.useMemo(()=>dl(_b,{id:T,role:"menu","aria-orientation":u==="horizontal"?"horizontal":void 0,"aria-labelledby":_?.id,onMouseMove(){if(B.set("allowMouseEnter",!0),te.type==="menu")B.set("hoverEnabled",!1)},onClick(){if(B.select("hoverEnabled"))B.set("hoverEnabled",!1)},onKeyDown(Ue){let Ze=B.select("keyboardEventRelay");if(Ze&&!Ue.isPropagationStopped())Ze(Ue)}},ee.floating,Me.floating,ke.floating),[_,T,u,te.type,B,ee.floating,Me.floating,ke.floating]),tt=Me.item??$r;r6(B,{floatingRootContext:be,activeTriggerProps:K,inactiveTriggerProps:we,popupProps:ze,itemProps:tt});let Pe=Nc.useMemo(()=>({store:B,parent:C}),[B,C]),Ke=M(JEe.Provider,{value:Pe,children:[f&&h($4,{handle:f,store:B}),typeof n==="function"?n({payload:j}):n]});if(te.type===void 0||te.type==="context-menu")return h(FN,{externalTree:U,children:Ke});return Ke})});function ubt(e){let t=Td().store,n=cbt.useMemo(()=>({parentMenu:t}),[t]);return h(lIe.Provider,{value:n,children:h(Xoe,{...e})})}var cbt;var dbt=P(()=>{cIe();_2();Qoe();le();cbt=z(re(),1)});function Yoe(e,t){let n=vNn(t);return e.clientX>=n.left-Woe&&e.clientX<=n.right+Woe&&e.clientY>=n.top-Woe&&e.clientY<=n.bottom+Woe}function vNn(e){let t=e.getBoundingClientRect(),n=Io(e);if(gN.jsdom)return t;let r=n.getComputedStyle(e,"::before"),o=n.getComputedStyle(e,"::after");if(!(r.content!=="none"||o.content!=="none"))return t;let i=parseFloat(r.width)||0,s=parseFloat(r.height)||0,l=parseFloat(o.width)||0,c=parseFloat(o.height)||0,u=Math.max(t.width,i,l),d=Math.max(t.height,s,c),p=u-t.width,f=d-t.height;return{left:t.left-p/2,right:t.right+p/2,top:t.top-f/2,bottom:t.bottom+f/2}}var Woe=5;var uIe=P(()=>{ul();a0()});function pbt(e){let{render:t,className:n,style:r,state:o=$r,props:a=Rc,refs:i=Rc,metadata:s,stateAttributesMapping:l,tag:c="div",...u}=e,{compositeProps:d,compositeRef:p}=woe({metadata:s});return Zt(c,e,{state:o,ref:[p,...i],props:[d,...a,u],stateAttributesMapping:l})}var fbt=P(()=>{Ci();vr();XEe()});function dIe(e){if(Xo(e)&&e.hasAttribute("data-rootownerid"))return e.getAttribute("data-rootownerid");if(z1(e))return;return dIe(N1(e))}var mbt=P(()=>{vs()});function hbt(e){let{enabled:t=!0,mouseDownAction:n,open:r}=e,o=Koe.useRef(!1);return Koe.useMemo(()=>{if(!t)return $r;return{onMouseDown:(a)=>{if(n==="open"&&!r||n==="close"&&r)o.current=!0,yr(a.currentTarget).addEventListener("click",()=>{o.current=!1},{once:!0})},onClick:(a)=>{if(o.current)o.current=!1,a.preventBaseUIHandler()}}},[t,n,r])}var Koe;var gbt=P(()=>{ul();Ci();Koe=z(re(),1)});function bNn(e,t){let n=mi(),[r,o]=hm.useState(!1);return Ct(()=>{if(e&&t===sc)o(!0),n.start(Bee,()=>{o(!1)});else if(!e)n.clear(),o(!1)},[e,t,n]),r}function xNn(){let e=Goe(!0);return hm.useMemo(()=>{if(e)return{type:"menubar",context:e};return{type:void 0}},[e])}var hm,ybt;var vbt=P(()=>{zo();Rp();ul();zb();da();Nr();Ci();pl();zee();Cg();_2();Ep();vr();TP();uIe();fbt();EP();mbt();Sd();vEe();_l();ko();gbt();iIe();Ig();LN();A2();le();hm=z(re(),1),ybt=j4(function(t,n){let{render:r,className:o,style:a,disabled:i=!1,nativeButton:s=!0,id:l,openOnHover:c,delay:u=100,closeDelay:d=0,handle:p,payload:f,...m}=t,g=Td(!0),y=i6(p)??g?.store;if(!y)throw Error(Dn(85));let x=go(l),A=y.useState("isTriggerActive",x),w=y.useState("floatingRootContext"),C=y.useState("isOpenedByTrigger",x),E=y.useState("triggerPopupId",x),T=hm.useRef(null),I=xNn(),k=F4(!0),L=lm(),O=hm.useMemo(()=>L??new mE,[L]),B=hE(O),U=ih(),{registerTrigger:D,isMountedByThisTrigger:N}=e6(x,T,y,{payload:f,closeDelay:d,parent:I,floatingTreeRoot:O,floatingNodeId:B,floatingParentNodeId:U,keyboardEventRelay:k?.relayKeyboardEvent}),_=I.type==="menubar",G=y.useState("disabled"),Z=i||G||_&&I.context.disabled,{getButtonProps:q,buttonRef:H}=Ys({disabled:Z,native:s});hm.useEffect(()=>{if(!C&&I.type===void 0)y.context.allowMouseUpTriggerRef.current=!1},[y,C,I.type]);let te=hm.useRef(null),ie=mi(),j=Ot((ue)=>{if(!te.current)return;ie.clear(),y.context.allowMouseUpTriggerRef.current=!1;let ke=ue.target;if(Ln(te.current,ke)||Ln(y.select("positionerElement"),ke)||ke===te.current)return;if(ke!=null&&dIe(ke)===y.select("rootId"))return;if(Yoe(ue,te.current))return;O.events.emit("close",{domEvent:ue,reason:jrt})});hm.useEffect(()=>{if(C&&y.select("lastOpenChangeReason")===sc)yr(te.current).addEventListener("mouseup",j,{once:!0})},[C,j,y]);let oe=_&&I.context.hasSubmenuOpen,Y=l3(w,{enabled:(c??oe)&&!Z&&(!_||oe&&!N),handleClose:c3({blockPointerEvents:!_}),mouseOnly:!0,move:!1,restMs:I.type===void 0?u:void 0,delay:{close:d},triggerElementRef:T,externalTree:O,isActiveTrigger:A,isClosing:()=>y.select("transitionStatus")==="ending"}),ae=bNn(C,y.select("lastOpenChangeReason")),ne=T2(w,{enabled:!Z,event:C&&_?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:I.type===void 0?ae:!1}),Se=VN(w,{enabled:!Z&&oe}),fe=hbt({open:C,enabled:_,mouseDownAction:"open"}),Ae=hm.useMemo(()=>dl(Se.reference,ne.reference),[Se.reference,ne.reference]),Ee=y.useState("triggerProps",N),{preFocusGuardRef:pe,handlePreFocusGuardFocus:Re,handleFocusTargetFocus:Le}=soe(y,T),Ne={disabled:Z,open:C},be=[te,n,H,D,T],ye=[Ae,Y??$r,Ee,{"aria-haspopup":"menu","aria-controls":E,id:x,onMouseDown:(ue)=>{if(y.select("open"))return;ie.start(200,()=>{y.context.allowMouseUpTriggerRef.current=!0}),yr(ue.currentTarget).addEventListener("mouseup",j,{once:!0})}},_?{role:"menuitem"}:{},fe,m,q],ce=Zt("button",t,{enabled:!_,stateAttributesMapping:tE,state:Ne,ref:be,props:ye});if(_)return h(pbt,{tag:"button",render:r,className:o,style:a,state:Ne,refs:be,props:ye,stateAttributesMapping:tE});if(C)return M(hm.Fragment,{children:[h(j1,{ref:pe,onFocus:Re},`${x}-pre-focus-guard`),h(hm.Fragment,{children:ce},x),h(j1,{ref:y.context.triggerFocusTargetRef,onFocus:Le},`${x}-post-focus-guard`)]});return h(hm.Fragment,{children:ce},x)})});var bbt,xbt;var Abt=P(()=>{vr();bbt=z(re(),1),xbt=bbt.forwardRef(function(t,n){let{className:r,render:o,orientation:a="horizontal",style:i,...s}=t;return Zt("div",t,{state:{orientation:a},ref:n,props:[{role:"separator","aria-orientation":a},s]})})});var C3,ANn,wbt;var Sbt=P(()=>{zo();Ci();a0();da();Nr();pl();_2();_l();Ep();Fb();F_();vr();aI();Sd();Qoe();ko();C3=z(re(),1),ANn={"aria-expanded":void 0},wbt=C3.forwardRef(function(t,n){let{render:r,className:o,style:a,label:i,id:s,nativeButton:l=!1,openOnHover:c=!0,delay:u=100,closeDelay:d=0,disabled:p=!1,...f}=t,m=Zoe();if(!m?.parentMenu)throw Error(Dn(37));let g=Ip({guess:!0,label:i}),v=sx(),{store:y}=Td(),x=go(s),A=y.useState("open"),w=y.useState("floatingRootContext"),C=y.useState("floatingTreeRoot"),E=y.useState("triggerPopupId",x),T=ESe(x,y),I=Ot((Ae)=>{if(T(Ae),Ae!==null&&y.select("open")&&y.select("activeTriggerId")==null)y.update({activeTriggerId:x??null,activeTriggerElement:Ae,closeDelay:d})}),k=C3.useRef(null),L=C3.useCallback((Ae)=>{k.current=Ae,y.set("activeTriggerElement",Ae)},[y]);Ct(()=>(I(k.current),()=>I(null)),[I,x,y]),y.useSyncedValue("closeDelay",d);let O=m.parentMenu,B=y.useState("disabled"),U=O.useState("disabled"),D=p||B||U,N=O.useState("itemProps"),_=O.useState("isActive",g.index),G=C3.useMemo(()=>({type:"submenu-trigger",setActive(){if(O.select("highlightItemOnHover"))O.set("activeIndex",g.index)}}),[O,g.index]),{getItemProps:Z,itemRef:q}=U6({closeOnClick:!1,disabled:D,highlighted:_,id:x,store:y,typingRef:O.context.typingRef,nativeButton:l,itemMetadata:G,nodeId:v?.context.nodeId}),H=y.useState("hoverEnabled"),te=l3(w,{enabled:H&&c&&!D,handleClose:c3({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:u,delay:{open:u,close:d},shouldOpen:u>0?()=>O.select("allowMouseEnter"):void 0,triggerElementRef:k,externalTree:C,isClosing:()=>y.select("transitionStatus")==="ending",guardStaleOpen:!0}),j=T2(w,{enabled:!D,event:"mousedown",toggle:!c,ignoreMouse:c,stickIfOpen:!1}).reference??$r,oe=y.useState("triggerProps",!0);delete oe.id;let J={disabled:D,highlighted:_,open:A},Y=y.useState("openMethod"),ne=y.useState("lastOpenChangeReason")===W$||Y==="keyboard",Se=A&&ne&&iee.voiceOver;return Zt("div",t,{state:J,stateAttributesMapping:Mb,props:[j,te,oe,N,Se?ANn:void 0,{"aria-controls":E,tabIndex:A||_?0:-1,onBlur(){if(_)O.set("activeIndex",null)}},f,Z],ref:[n,g.ref,q,I,L]})})});var Ebt=P(()=>{Bvt();Fvt();zvt();Vvt();Zvt();Xvt();Jvt();$vt();nbt();abt();sbt();cIe();dbt();vbt();Abt();Sbt()});var Ibt=P(()=>{Ebt()});function kbt(e,t){let n=dh.forwardRef(({className:r,side:o,sideOffset:a=e,align:i,alignOffset:s,collisionPadding:l,collisionAvoidance:c,sticky:u,anchor:d,positionMethod:p,forceMount:f,...m},g)=>h(CNn,{keepMounted:f,children:h(jvt,{className:"z-50 outline-none",side:o,sideOffset:a,align:i,alignOffset:s,collisionPadding:l,collisionAvoidance:c,sticky:u,anchor:d,positionMethod:p,children:h(Qvt,{ref:g,className:io(Ve(SNn,wNn),r),...m})})}));return n.displayName=t,n}var dh,wNn,SNn,Joe,__=(e)=>h(Xoe,{...e}),H_,pIe,fIe,V_,Tbt,CNn,joe,mIe,hIe,G_,ENn="px-3 py-2 text-title-small text-on-surface-variant",gIe,yIe,vIe=(e)=>h(ubt,{...e}),bIe,Rbt,Bi;var Pbt=P(()=>{Ibt();rn();V1();n0();le();dh=z(re(),1),wNn=Ve("transition-[opacity,scale] duration-250 ease-emphasized-decelerate","data-starting-style:scale-95 data-starting-style:opacity-0","data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-150 data-ending-style:ease-emphasized-accelerate"),SNn=Ve("z-50 min-w-[112px] max-w-[280px] overflow-hidden py-2 outline-none","rounded-extra-small bg-surface-container shadow-md3-2","text-label-large text-on-surface","origin-(--transform-origin)"),Joe=Ve("relative flex min-h-8 cursor-default select-none items-center gap-3 px-3 outline-none","text-label-large text-on-surface transition-colors duration-200 ease-standard","data-[highlighted]:bg-on-surface/8 focus-visible:bg-on-surface/10 active:bg-on-surface/10","data-[disabled]:pointer-events-none data-[disabled]:text-on-surface/38");__.displayName="DropdownMenuRoot";H_=dh.forwardRef(({asChild:e,children:t,...n},r)=>h(ybt,{ref:r,...am(e,t),...n}));H_.displayName="DropdownMenuTrigger";pIe=dh.createContext(!1),fIe=dh.forwardRef((e,t)=>h(pIe.Provider,{value:!0,children:h(Nvt,{ref:t,...e})}));fIe.displayName="DropdownMenuGroup";V_=dh.forwardRef((e,t)=>h(pIe.Provider,{value:!0,children:h(tbt,{ref:t,...e})}));V_.displayName="DropdownMenuRadioGroup";({Portal:Tbt,EnsurePortal:CNn}=V4(Kvt,"DropdownMenuPortal"));joe=kbt(4,"DropdownMenuContent"),mIe=dh.forwardRef(({className:e,inset:t,onSelect:n,onClick:r,...o},a)=>h(qvt,{ref:a,className:io(Ve(Joe,t&&"pl-11"),e),onClick:n?(i)=>{r?.(i),n(i.nativeEvent)}:r,...o}));mIe.displayName="DropdownMenuItem";hIe=dh.forwardRef(({className:e,children:t,...n},r)=>M(Lvt,{ref:r,className:io(Ve(Joe,"pl-11 data-checked:bg-secondary-container data-checked:text-on-secondary-container"),e),...n,children:[h("span",{className:"absolute left-3 flex size-5 items-center justify-center",children:h(Ovt,{className:"flex",children:h(at,{name:"check",size:20})})}),t]}));hIe.displayName="DropdownMenuCheckboxItem";G_=dh.forwardRef(({className:e,children:t,...n},r)=>M(obt,{ref:r,className:io(Ve(Joe,"pl-11 data-checked:bg-secondary-container data-checked:text-on-secondary-container"),e),...n,children:[h("span",{className:"absolute left-3 flex size-5 items-center justify-center",children:h(ibt,{className:"flex",children:h(at,{name:"radio_button_checked",size:20,filled:!0})})}),t]}));G_.displayName="DropdownMenuRadioItem";gIe=dh.forwardRef(({className:e,inset:t,...n},r)=>{let o=dh.useContext(pIe),a=Ve(ENn,t&&"pl-11",e);return o?h(Hvt,{ref:r,className:a,...n}):h("div",{ref:r,role:"presentation",className:a,...n})});gIe.displayName="DropdownMenuLabel";yIe=dh.forwardRef(({className:e,...t},n)=>h(xbt,{ref:n,className:io("my-2 h-px bg-outline-variant",e),...t}));yIe.displayName="DropdownMenuSeparator";vIe.displayName="DropdownMenuSub";bIe=dh.forwardRef(({className:e,inset:t,children:n,...r},o)=>M(wbt,{ref:o,className:io(Ve(Joe,"data-popup-open:bg-secondary-container data-popup-open:text-on-secondary-container",t&&"pl-11"),e),...r,children:[n,h(at,{name:"chevron_right",size:20,className:"ml-auto text-on-surface-variant"})]}));bIe.displayName="DropdownMenuSubTrigger";Rbt=kbt(0,"DropdownMenuSubContent"),Bi={Root:__,Trigger:H_,Content:joe,Item:mIe,CheckboxItem:hIe,RadioItem:G_,Label:gIe,Separator:yIe,Group:fIe,Portal:Tbt,Sub:vIe,SubTrigger:bIe,SubContent:Rbt,RadioGroup:V_}});function Dbt(e){let t=Mbt.useRef(!0);if(t.current)t.current=!1,e()}var Mbt;var Lbt=P(()=>{Mbt=z(re(),1)});function kd(){let e=_6.useContext(xIe);if(e===void 0)throw Error(Dn(60));return e}function H6(){let e=_6.useContext(AIe);if(e===void 0)throw Error(Dn(101));return e}function $oe(){let e=_6.useContext(wIe);if(e===void 0)throw Error(Dn(61));return e}var _6,xIe,AIe,wIe;var dy=P(()=>{zo();_6=z(re(),1),xIe=_6.createContext(void 0),AIe=_6.createContext(void 0),wIe=_6.createContext(void 0)});function E3(e,t,n){if(e==null||t==null)return Object.is(e,t);return n(e,t)}function Bbt(e,t,n){if(Array.isArray(e)&&Array.isArray(t))return!hN(e,t,(r,o)=>E3(r,o,n));return e!==t}function SIe(e,t,n){if(!e)return!1;return e.some((r)=>{if(r===void 0)return!1;return E3(t,r,n)})}function q_(e,t,n){if(!e)return-1;return e.findIndex((r)=>{if(r===void 0)return!1;return E3(r,t,n)})}function INn(e,t){if(t!==CIe)return(r)=>SIe(e,r,t);let n=new Set(e);return n.delete(void 0),(r)=>n.has(r)&&(r!==0||e.some((o)=>Object.is(r,o)))}function EIe(e,t,n,r){let o=r&&Array.isArray(t)?e.findIndex(INn(t,n)):q_(e,t,n);return o===-1?null:o}function Obt(e,t,n,r,o,a){if(SIe(r,t,o))return a!=null&&e>a&&SIe(r,n[a],o)?a:e;return e===a?EIe(n,r,o,!0):a}function Fbt(e,t,n){return e.filter((r)=>!E3(t,r,n))}var CIe=(e,t)=>Object.is(e,t);var Z_=()=>{};function eae(e){if(e==null)return"";if(typeof e==="string")return e;try{return JSON.stringify(e)}catch{return String(e)}}function TNn(e){return typeof e==="object"&&e!=null&&Array.isArray(e.items)}function Nbt(e){return TNn(e?.[0])}function kNn(e){return Nbt(e)?e.flatMap((t)=>t.items):e}function zbt(e){if(!Array.isArray(e))return e!=null&&"null"in e;let t=e;if(Nbt(t)){for(let n of t)for(let r of n.items)if(r&&r.value==null&&r.label!=null)return!0;return!1}for(let n of t)if(n&&n.value==null&&n.label!=null)return!0;return!1}function IIe(e,t){if(t&&e!=null)return t(e)??"";if(e&&typeof e==="object"){if("label"in e&&e.label!=null)return String(e.label);if("value"in e)return String(e.value)}return eae(e)}function V6(e,t){if(t&&e!=null)return t(e)??"";if(e&&typeof e==="object"&&"value"in e&&"label"in e)return eae(e.value);return eae(e)}function TIe(e,t,n){function r(){return IIe(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==="object"&&"label"in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return(Object.hasOwn(t,e)?t[e]:void 0)??r();if(Array.isArray(t)){let a=kNn(t);if(e==null||typeof e!=="object"){let i=a.find((s)=>s.value===e);if(i&&i.label!=null)return i.label;return r()}if("value"in e){let i=a.find((s)=>s&&s.value===e.value);if(i&&i.label!=null)return i.label}}return r()}function _bt(e,t,n){return e.reduce((r,o,a)=>{if(a>0)r.push(", ");return r.push(h(Ubt.Fragment,{children:TIe(o,t,n)},a)),r},[])}var Ubt;var tae=P(()=>{le();Ubt=z(re(),1)});var Hbt;var Vbt=P(()=>{Z_();tae();Hbt={id:(e)=>e.id,labelId:(e)=>e.labelId,modal:(e)=>e.modal,items:(e)=>e.items,itemToStringLabel:(e)=>e.itemToStringLabel,isItemEqualToValue:(e)=>e.isItemEqualToValue,value:(e)=>e.value,hasSelectedValue:(e)=>{let{value:t,multiple:n,itemToStringValue:r}=e;if(t==null)return!1;if(n&&Array.isArray(t))return t.length>0;return V6(t,r)!==""},hasNullItemLabel:(e,t)=>t?zbt(e.items):!1,open:(e)=>e.open,mounted:(e)=>e.mounted,forceMount:(e)=>e.forceMount,transitionStatus:(e)=>e.transitionStatus,openMethod:(e)=>e.openMethod,activeIndex:(e)=>e.activeIndex,selectedIndex:(e)=>e.selectedIndex,isActive:(e,t)=>e.activeIndex===t,isSelected:(e,t)=>{let{isItemEqualToValue:n,value:r}=e;if(e.multiple)return Array.isArray(r)&&r.some((o)=>E3(t,o,n));return E3(t,r,n)},isSelectedByFocus:(e,t)=>e.selectedIndex===t,popupProps:(e)=>e.popupProps,triggerProps:(e)=>e.triggerProps,triggerElement:(e)=>e.triggerElement,positionerElement:(e)=>e.positionerElement,listElement:(e)=>e.listElement,popupSide:(e)=>e.popupSide,scrollUpArrowVisible:(e)=>e.scrollUpArrowVisible,scrollDownArrowVisible:(e)=>e.scrollDownArrowVisible,hasScrollArrows:(e)=>e.hasScrollArrows}});function rM(e,t){return Math.max(0,e-t)}function oM(e,t){if(t<=0)return 0;let n=$i(e,0,t),r=n,o=t-n,a=r<=Fg,i=o<=Fg;if(a&&i)return r<=o?0:t;if(a)return 0;if(i)return t;return n}var Fg=1;var nae=()=>{};function kIe(e){let{id:t,value:n,defaultValue:r=null,onValueChange:o,open:a,defaultOpen:i=!1,onOpenChange:s,name:l,form:c,autoComplete:u,disabled:d=!1,readOnly:p=!1,required:f=!1,modal:m=!0,actionsRef:g,inputRef:v,onOpenChangeComplete:y,items:x,multiple:A=!1,itemToStringLabel:w,itemToStringValue:C,isItemEqualToValue:E=CIe,highlightItemOnHover:T=!0,children:I}=e,{clearErrors:k}=z4(),{setDirty:L,setTouched:O,setFocused:B,validityData:U,setFilled:D,name:N,disabled:_,validation:G,validationMode:Z}=r0(),q=Eb({id:t}),H=_||d,te=N??l,[ie,j]=Zd({controlled:n,default:A?r??Rc:r,name:"Select",state:"value"}),[oe,J]=Zd({controlled:a,default:i,name:"Select",state:"open"}),Y=Gl.useRef([]),ae=Gl.useRef([]),ne=Gl.useRef(null),Se=Gl.useRef(null),fe=Gl.useRef(0),Ae=Gl.useRef(null),Ee=Gl.useRef([]),pe=Gl.useRef(!1),Re=Gl.useRef(null),Le=Gl.useRef(null),Ne=Gl.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),be=Gl.useRef(!1),ye=Gl.useRef(ie),{mounted:ce,setMounted:ue,transitionStatus:ke}=Sp(oe),{openMethod:se,triggerProps:qe}=mte(oe),Me=qa(()=>new Tg({id:q,labelId:void 0,modal:m,multiple:A,itemToStringLabel:w,itemToStringValue:C,isItemEqualToValue:E,value:ie,open:oe,mounted:ce,transitionStatus:ke,items:x,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:$r,triggerProps:$r,triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1},{setValue:oa,setOpen:oa,handleScrollArrowVisibility:oa,onOpenChangeComplete:oa,listRef:Y,popupRef:ne,scrollHandlerRef:Se,scrollArrowsMountedCountRef:fe,valueRef:Ae,valuesRef:Ee,labelsRef:ae,typingRef:pe,selectionRef:Ne,firstItemTextRef:Re,selectedItemTextRef:Le,alignItemWithTriggerActiveRef:be,initialValueRef:ye},Hbt)).current,Qe=Me.useState("activeIndex"),ee=Me.useState("selectedIndex"),K=Me.useState("triggerElement"),we=Me.useState("positionerElement"),ze=I2t(se),tt=se??ze,Pe=Gl.useMemo(()=>{if(A)return"";return V6(ie,C)},[A,ie,C]),Ke=Gl.useMemo(()=>{if(A&&Array.isArray(ie))return ie.map((Yt)=>V6(Yt,C));return V6(ie,C)},[A,ie,C]),Ue=ti(K),Ze=Ot(()=>Ke);N4(Ue,q,ie,Ze,!H,l);let ct=A?Array.isArray(ie)&&ie.length>0:ie!=null&&Pe!=="";Ct(()=>{D(ct)},[ct,D]),Ct(function(){let Be=EIe(Ee.current,ie,E,A);if(Be===null)Le.current=null;if(oe)return;Me.set("selectedIndex",Be)},[A,oe,ie,E,Me]),Tb(ie,()=>{k(te),L(Bbt(ie,U.initialValue,E)),G.change(ie)});let Rt=Ot((Yt,Be)=>{if(s?.(Yt,Be),Be.isCanceled)return;if(J(Yt),!Yt&&(Be.reason===_4||Be.reason===X$)){if(O(!0),B(!1),Z==="onBlur")G.commit(ie)}}),de=Ot(()=>{ue(!1),Me.update({activeIndex:null,openMethod:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1}),y?.(!1)});ji({enabled:!g,open:oe,ref:ne,onComplete(){if(!oe)de()}}),Gl.useImperativeHandle(g,()=>({unmount:de}),[de]);let ge=Ot((Yt,Be)=>{if(o?.(Yt,Be),Be.isCanceled)return;j(Yt)}),Oe=Ot((Yt)=>{let Be=rM(Yt.scrollHeight,Yt.clientHeight),Je=oM(Yt.scrollTop,Be),it=Je>0,Et=JeEoe(Y.current[Yt]),onMatch(Yt){if(oe)Me.set("activeIndex",Yt);else ge(Ee.current[Yt],un(_1))},onTyping(Yt){pe.current=Yt}}),nt=Gl.useMemo(()=>dl(_e.reference,Ge.reference,Ie.reference,$e.reference,qe),[$e.reference,_e.reference,Ge.reference,Ie.reference,qe]),rt=Gl.useMemo(()=>dl(_b,_e.floating,Ge.floating,Ie.floating),[_e.floating,Ge.floating,Ie.floating]),ot=Ge.item??$r;Me.useContextCallback("setValue",ge),Me.useContextCallback("setOpen",Rt),Me.useContextCallback("handleScrollArrowVisibility",Oe),Me.useContextCallback("onOpenChangeComplete",y),Dbt(()=>{Me.update({popupProps:rt,triggerProps:nt})}),Me.useSyncedValues({id:q,modal:m,multiple:A,value:ie,open:oe,mounted:ce,transitionStatus:ke,popupProps:rt,triggerProps:nt,items:x,itemToStringLabel:w,itemToStringValue:C,isItemEqualToValue:E,openMethod:tt});let At=Gl.useMemo(()=>({disabled:H,readOnly:p,required:f,multiple:A,highlightItemOnHover:T,itemProps:ot}),[H,p,f,A,T,ot]),en=cl(v,G.inputRef),Gt=A?void 0:te,tn=Gl.useMemo(()=>{if(!A||!Array.isArray(ie)||!te)return null;return ie.map((Yt)=>{let Be=V6(Yt,C);return h("input",{type:"hidden",form:c,name:te,value:Be,disabled:H},Be)})},[A,ie,c,te,C,H]);return M(xIe.Provider,{value:Me,children:[h(AIe.Provider,{value:At,children:h(wIe.Provider,{value:Xe,children:I})}),h("input",{...G.getValidationProps(H,{onFocus(){Me.state.triggerElement?.focus({focusVisible:!0})},onChange(Yt){if(Yt.nativeEvent.defaultPrevented||H||p)return;let Be=Yt.currentTarget.value,Je=un(_1,Yt.nativeEvent);function it(){if(A)return;let Et=Be.toLowerCase(),Mt=Ee.current.findIndex((Nn)=>V6(Nn,C).toLowerCase()===Et||IIe(Nn,w).toLowerCase()===Et);if(Mt===-1)Mt=Ee.current.findIndex((Nn,Tn)=>{let Cn=ae.current[Tn];return Cn!=null&&Cn.toLowerCase()===Et});let An=Ee.current[Mt];if(An!=null)ge(An,Je)}Me.set("forceMount",!0),queueMicrotask(it)}}),id:q&&Gt==null?`${q}-hidden-input`:void 0,form:c,name:Gt,autoComplete:u,value:Pe,disabled:H,required:f&&!(A&&ct),readOnly:p,ref:en,style:te?wP:xg,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),tn]})}var Gl;var Gbt=P(()=>{Q8();U1();om();Lbt();T2t();xb();Nr();da();Ob();yE();Ci();pl();dy();U4();uN();RP();Pb();Vbt();ka();ko();oh();dN();tae();Z_();MP();ez();nae();Sd();A2();K8();le();Gl=z(re(),1)});var WMo,YMo,qbt="data-popup-side";var Zbt=P(()=>{Ep();WMo=xN,YMo=Dwe});var aM,PNn=400,MNn,RIe;var Qbt=P(()=>{ul();Rp();Ob();dy();U4();kP();Ep();SP();vr();uIe();Cg();A2();KA();ka();ko();RP();Zbt();aM=z(re(),1),MNn={...tE,...B4,popupSide:(e)=>e?{[qbt]:e}:null,value:()=>null},RIe=aM.forwardRef(function(t,n){let{render:r,className:o,id:a,disabled:i=!1,nativeButton:s=!0,style:l,...c}=t,{setTouched:u,setFocused:d,validationMode:p,validation:f,state:m,disabled:g}=r0(),{labelId:v}=Cb(),y=kd(),{readOnly:x,required:A,disabled:w}=H6(),C=g||w||i,E=y.useState("open"),T=y.useState("mounted"),I=y.useState("value"),k=y.useState("triggerProps"),L=y.useState("positionerElement"),O=y.useState("listElement"),B=y.useState("popupSide"),U=y.useState("id"),D=y.useState("labelId"),N=y.useState("hasSelectedValue"),_=T&&L?B:null,G=a??U,Z=vee(v,D);Eb({id:a});let q=ti(L),H=aM.useRef(null),{getButtonProps:te,buttonRef:ie}=Ys({disabled:C,native:s}),j=y.useStateSetter("triggerElement"),oe=mi(),J=mi(),Y=mi();aM.useEffect(()=>{if(E)return Y.start(PNn,()=>{y.context.selectionRef.current.allowUnselectedMouseUp=!0,y.context.selectionRef.current.allowSelectedMouseUp=!0}),()=>{Y.clear()};y.context.selectionRef.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},J.clear();return},[E,y,J,Y]);let ae=dl(k,{id:G,role:"combobox","aria-expanded":E,"aria-haspopup":"listbox","aria-controls":E?O?.id??oE(L)?.id:void 0,"aria-labelledby":Z,"aria-readonly":x||void 0,"aria-required":A||void 0,tabIndex:C?-1:0,onFocus(fe){if(d(!0),E&&y.context.alignItemWithTriggerActiveRef.current)y.context.setOpen(!1,un(_1,fe.nativeEvent));oe.start(0,()=>{y.set("forceMount",!0)})},onBlur(fe){if(Ln(L,fe.relatedTarget))return;if(u(!0),d(!1),p==="onBlur")f.commit(I)},onMouseDown(fe){if(E)return;let Ae=yr(fe.currentTarget);function Ee(pe){if(!H.current)return;let Re=pe.target;if(Ln(H.current,Re)||Ln(q.current,Re))return;if(Yoe(pe,H.current))return;y.context.setOpen(!1,un(jrt,pe))}J.start(0,()=>{Ae.addEventListener("mouseup",Ee,{once:!0})})}},c,te),ne=f.getValidationProps(C,ae);ne.role="combobox";let Se={...m,open:E,disabled:C,value:I,readOnly:x,popupSide:_,placeholder:!N};return Zt("button",t,{ref:[n,H,ie,j],state:Se,stateAttributesMapping:MNn,props:ne})})});var Xbt,DNn,PIe;var Wbt=P(()=>{vr();dy();tae();Xbt=z(re(),1),DNn={value:()=>null},PIe=Xbt.forwardRef(function(t,n){let{className:r,render:o,children:a,placeholder:i,style:s,...l}=t,c=kd(),u=c.useState("value"),d=c.useState("items"),p=c.useState("itemToStringLabel"),f=c.useState("hasSelectedValue"),m=!f&&i!=null&&a==null,g=c.useState("hasNullItemLabel",m),v={value:u,placeholder:!f},y=null;if(typeof a==="function")y=a(u);else if(a!=null)y=a;else if(m&&!g)y=i;else if(Array.isArray(u))y=_bt(u,d,p);else y=TIe(u,d,p);return Zt("span",t,{state:v,ref:[n,c.context.valueRef],props:[{children:y},l],stateAttributesMapping:DNn})})});var Ybt,MIe;var Kbt=P(()=>{vr();dy();Ep();Ybt=z(re(),1),MIe=Ybt.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,c={open:kd().useState("open")};return Zt("span",t,{state:c,ref:n,props:[{"aria-hidden":!0,children:"▼"},i],stateAttributesMapping:Mb})})});var Jbt,DIe;var jbt=P(()=>{pl();dy();le();Jbt=z(re(),1),DIe=Jbt.forwardRef(function(t,n){let r=kd(),o=r.useState("mounted"),a=r.useState("forceMount");if(!(o||a))return null;return h(a3,{ref:n,...t})})});function iM(){let e=rae.useContext(LIe);if(!e)throw Error(Dn(59));return e}var rae,LIe;var Q_=P(()=>{zo();rae=z(re(),1),LIe=rae.createContext(void 0)});function sM(e,t){if(e)Object.assign(e.style,t)}var oae;var aae=P(()=>{oae={position:"relative",maxHeight:"100%",overflowX:"hidden",overflowY:"auto"}});var py,LNn,BIe;var $bt=P(()=>{l9();Nr();da();dy();lE();T_();Q_();WN();Ig();aae();ka();ko();Z_();k_();uoe();le();py=z(re(),1),LNn={position:"fixed"},BIe=py.forwardRef(function(t,n){let{anchor:r,className:o,render:a,positionMethod:i,side:s,align:l,sideOffset:c,alignOffset:u,collisionBoundary:d="clipping-ancestors",collisionPadding:p,arrowPadding:f,sticky:m,disableAnchorTracking:g,alignItemWithTrigger:v=!0,collisionAvoidance:y=Oee,style:x,...A}=t,w=kd(),C=$oe(),E=w.useState("open"),T=w.useState("mounted"),I=w.useState("modal"),k=w.useState("value"),L=w.useState("openMethod"),O=w.useState("positionerElement"),B=w.useState("triggerElement"),U=w.useState("isItemEqualToValue"),D=w.useState("transitionStatus"),N=py.useRef(null),_=py.useRef(null),[G,Z]=py.useState(v),q=T&&G&&L!=="touch";if(!T&&G!==v)Z(v);py.useImperativeHandle(w.context.alignItemWithTriggerActiveRef,()=>q),Y9((q||I)&&E,L==="touch",O,B);let H=D6({anchor:r,floatingRootContext:C,positionMethod:i,mounted:T,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:f,collisionBoundary:d,collisionPadding:p,sticky:m,disableAnchorTracking:g??q,collisionAvoidance:y,keepMounted:!0}),te=q?"none":H.side,ie=q?LNn:H.positionerStyles,j={open:E,side:te,align:H.align,anchorHidden:H.anchorHidden};Ct(()=>{w.set("popupSide",H.side)},[w,H.side]);let oe=w.useStateSetter("positionerElement"),J=L6(t,j,{styles:ie,transitionStatus:D,props:A,refs:[n,oe],hidden:!T,inert:!E}),Y=py.useRef(0),ae=Ot((Se)=>{if(w.context.valuesRef.current.length===0)return;let fe=Y.current;Y.current=Se.size;let Ae=un(_1);if(fe!==0&&!w.state.multiple&&k!==null){if(q_(w.context.valuesRef.current,k,U)===-1){let pe=w.context.initialValueRef.current,Le=pe!=null&&q_(w.context.valuesRef.current,pe,U)!==-1?pe:null;if(w.context.setValue(Le,Ae),Le===null)w.set("selectedIndex",null),w.context.selectedItemTextRef.current=null}}if(fe!==0&&w.state.multiple&&Array.isArray(k)){let Ee=k.filter((pe)=>q_(w.context.valuesRef.current,pe,U)!==-1);if(Ee.length!==k.length){if(w.context.setValue(Ee,Ae),Ee.length===0)w.set("selectedIndex",null),w.context.selectedItemTextRef.current=null}}if(E&&q){w.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let Ee={height:""};sM(O,Ee),sM(w.context.popupRef.current,Ee)}}),ne=py.useMemo(()=>({...H,side:te,alignItemWithTriggerActive:q,setControlledAlignItemWithTrigger:Z,scrollUpArrowRef:N,scrollDownArrowRef:_}),[H,te,q,Z]);return h(W1,{elementsRef:w.context.listRef,labelsRef:w.context.labelsRef,onMapChange:ae,children:M(LIe.Provider,{value:ne,children:[T&&I&&h(l6,{inert:Vb(!E),cutout:B}),J]})})})});var iae="base-ui-disable-scrollbar",X_;var OIe=P(()=>{le();X_={className:iae,getElement(e){return h("style",{nonce:e,href:iae,precedence:"base-ui:low",children:`.${iae}{scrollbar-width:none}.${iae}::-webkit-scrollbar{display:none}`})}}});var FIe="--transform-origin";function ext(e){let t=e.maxHeight;return t.endsWith("px")?parseFloat(t)||1/0:1/0}function sae(e){return rM(e.scrollHeight,e.clientHeight)}function txt(e){return ZN.getScale(e)}function W_(e,t,n){return e/n[t]}function lae(e,t){return $A({x:W_(e.x,"x",t),y:W_(e.y,"y",t),width:W_(e.width,"x",t),height:W_(e.height,"y",t)})}function FNn(e){let{style:t}=e,n={};for(let[r,o]of nxt)n[r]=t.getPropertyValue(r),t.setProperty(r,o,"important");return()=>{for(let[r]of nxt){let o=n[r];if(o)t.setProperty(r,o);else t.removeProperty(r)}}}var fy,ONn,UIe,nxt;var rxt=P(()=>{aE();a0();da();ul();Nr();kb();pl();dy();Ep();Q_();OIe();H1();oh();vr();aae();ka();ko();foe();pE();W9();nae();$we();uE();le();fy=z(re(),1),ONn={...nE,...Cp},UIe=fy.forwardRef(function(t,n){let{render:r,className:o,style:a,finalFocus:i,...s}=t,l=kd(),{multiple:c,readOnly:u,highlightItemOnHover:d}=H6(),p=$oe(),{side:f,align:m,alignItemWithTriggerActive:g,isPositioned:v,setControlledAlignItemWithTrigger:y}=iM(),x=K9(!0)!=null,A=Y1(),{nonce:w,disableStyleElements:C}=Ree(),E=l.useState("id"),T=l.useState("open"),I=l.useState("openMethod"),k=l.useState("mounted"),L=l.useState("popupProps"),O=l.useState("transitionStatus"),B=l.useState("triggerElement"),U=l.useState("positionerElement"),D=l.useState("listElement"),N=fy.useRef(!1),_=fy.useRef(!1),G=fy.useRef({}),Z=wg(),q=Ot((j)=>{if(!U||!l.context.popupRef.current||!_.current)return;let oe=U.style.top==="0px",J=U.style.bottom==="0px";if(N.current||!g||!oe&&!J){l.context.handleScrollArrowVisibility(j);return}let Y=txt(U),ae=W_(U.getBoundingClientRect().height,"y",Y),ne=yr(U),Se=Io(U),fe=Se.getComputedStyle(U),Ae=parseFloat(fe.marginTop),Ee=parseFloat(fe.marginBottom),pe=ext(Se.getComputedStyle(l.context.popupRef.current)),Re=Math.min(ne.documentElement.clientHeight-Ae-Ee,pe),Le=j.scrollTop,Ne=sae(j),be=null,ye=(se)=>{U.style.height=`${se}px`},ce=oe?Ne-Le:Le,ue=Math.min(ae+ce,Re);if(ce<=Fg){let se=$i(ce,0,Re-ae);if(se>0)ye(ae+se);if(j.scrollTop=oe?Ne:0,Re-(ae+se)<=Fg)N.current=!0;l.context.handleScrollArrowVisibility(j);return}if(Re-ue>Fg)be=oe?1/0:0;else if(J&&LeFg)j.scrollTop=se}if(ke>=Re-Fg)N.current=!0;l.context.handleScrollArrowVisibility(j)});fy.useImperativeHandle(l.context.scrollHandlerRef,()=>q,[q]),ji({open:T,ref:l.context.popupRef,onComplete(){if(T)l.context.onOpenChangeComplete(!0)}});let H={open:T,transitionStatus:O,side:f,align:m};Ct(()=>{if(!U||!l.context.popupRef.current||Object.keys(G.current).length)return;G.current={top:U.style.top||"0",left:U.style.left||"0",right:U.style.right,height:U.style.height,bottom:U.style.bottom,minHeight:U.style.minHeight,maxHeight:U.style.maxHeight,marginTop:U.style.marginTop,marginBottom:U.style.marginBottom}},[l,U]),Ct(()=>{if(T||g)return;_.current=!1,N.current=!1,sM(U,G.current)},[T,g,U]),Ct(()=>{let j=l.context.popupRef.current;if(!T||!B||!U||!j||g&&!v||l.state.transitionStatus==="ending")return;if(_.current=!0,j.style.removeProperty(FIe),!g){Z.request(()=>l.context.handleScrollArrowVisibility(D||j));return}let oe=FNn(j);try{let J=l.context.selectedItemTextRef.current;if(!J?.isConnected)J=!l.select("hasSelectedValue")&&l.context.firstItemTextRef.current?.isConnected?l.context.firstItemTextRef.current:null;let Y=l.context.valueRef.current,ae=Io(U),ne=ae.getComputedStyle(U),Se=ae.getComputedStyle(j),fe=yr(B),Ae=txt(B),Ee=lae(B.getBoundingClientRect(),Ae),pe=lae(U.getBoundingClientRect(),Ae),Re=Ee.height,Le=D||j,Ne=Le.scrollHeight,be=parseFloat(Se.borderBottomWidth),ye=parseFloat(ne.marginTop)||10,ce=parseFloat(ne.marginBottom)||10,ue=parseFloat(ne.minHeight)||100,ke=ext(Se),se=5,qe=5,Me=20,Qe=fe.documentElement.clientHeight-ye-ce,ee=fe.documentElement.clientWidth,K=Qe-Ee.bottom+Re,we,ze=A==="rtl"?Ee.right-pe.width:Ee.left,tt=0;if(J&&Y){let $e=lae(Y.getBoundingClientRect(),Ae);we=lae(J.getBoundingClientRect(),Ae),ze=pe.left+(A==="rtl"?$e.right-we.right:$e.left-we.left);let Ie=$e.top-Ee.top+$e.height/2;tt=we.top-pe.top+we.height/2-Ie}let Pe=K+tt+ce+be,Ke=Math.min(Qe,Pe),Ue=Qe-ye-ce,Ze=Pe-Ke,ct=ee-qe;U.style.left=`${$i(ze,se,ct-pe.width)}px`,U.style.height=`${Ke}px`,U.style.maxHeight="none",U.style.marginTop=`${ye}px`,U.style.marginBottom=`${ce}px`,j.style.height="100%";let Rt=sae(Le),de=Ze>=Rt-Fg;if(de)Ke=Math.min(Qe,pe.height)-(Ze-Rt);let ge=Ee.topQe-Me||Math.ceil(Ke)+Fg=Ue?"0":`${$e}px`,U.style.height=`${Ke}px`,Le.scrollTop=sae(Le)}else U.style.bottom="0",Le.scrollTop=Ze;if(we){let{top:$e,height:Ie}=pe,Ge=we.top+we.height/2,_e=$i(Ie>0?(Ge-$e)/Ie*100:50,0,100);j.style.setProperty(FIe,`50% ${_e}%`)}if(Xe===Qe||Ke>=ke)N.current=!0;if(l.context.handleScrollArrowVisibility(Le),d&&l.state.selectedIndex===null&&l.state.activeIndex===null&&l.context.listRef.current[0]!=null)l.set("activeIndex",0)}finally{oe()}},[l,T,U,B,g,y,Z,D,d,A,v]),fy.useEffect(()=>{if(!g||!U||!T)return;let j=Io(U);function oe(J){l.context.setOpen(!1,un(PPn,J))}return zr(j,"resize",oe)},[l,g,U,T]);let te={...D?{role:"presentation"}:{role:"listbox","aria-multiselectable":c||void 0,"aria-readonly":u||void 0,id:`${E}-list`},onKeyDown(j){if(x&&Eg.has(j.key))j.stopPropagation()},onScroll(j){if(D)return;q(j.currentTarget)},...g&&{style:D?{height:"100%"}:oae},className:!D&&g?X_.className:void 0},ie=Zt("div",t,{ref:[n,l.context.popupRef],state:H,stateAttributesMapping:ONn,props:[L,te,ix(O),s]});return M(fy.Fragment,{children:[!C&&X_.getElement(w),h(i3,{context:p,modal:!1,disabled:!k,openInteractionType:I,returnFocus:i,restoreFocus:!0,children:ie})]})});nxt=[["transform","none"],["scale","1"],["translate","0 0"]]});var oxt,NIe;var axt=P(()=>{dy();Q_();vr();OIe();aae();oxt=z(re(),1),NIe=oxt.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,s=kd(),{multiple:l,readOnly:c}=H6(),{alignItemWithTriggerActive:u}=iM(),d=s.useState("hasScrollArrows"),p=s.useState("openMethod"),m={id:`${s.useState("id")}-list`,role:"listbox","aria-multiselectable":l||void 0,"aria-readonly":c||void 0,onScroll(v){s.context.scrollHandlerRef.current?.(v.currentTarget)},...u&&{style:oae},className:d&&p!=="touch"?X_.className:void 0},g=s.useStateSetter("listElement");return Zt("div",t,{ref:[n,g],props:[m,i]})})});function Y_(){let e=cae.useContext(zIe);if(!e)throw Error(Dn(57));return e}var cae,zIe;var uae=P(()=>{zo();cae=z(re(),1),zIe=cae.createContext(void 0)});var H2,_Ie;var ixt=P(()=>{Nr();dy();Fb();vr();uae();KA();ka();ko();Z_();Z1();le();H2=z(re(),1),_Ie=H2.memo(H2.forwardRef(function(t,n){let{render:r,className:o,style:a,value:i=null,label:s,disabled:l=!1,nativeButton:c=!1,...u}=t,d=H2.useRef(null),p=Ip({guess:!0,label:s,textRef:d}),f=kd(),{itemProps:m,multiple:g,disabled:v,readOnly:y}=H6(),x=v||l,A=f.useState("isActive",p.index),w=f.useState("open"),C=f.useState("isSelected",i),E=f.useState("isSelectedByFocus",p.index),T=f.useState("isItemEqualToValue"),I=p.index,k=H2.useRef(null);Ct(()=>{let H=f.context.valuesRef.current;return H[I]=i,()=>{delete H[I]}},[I,i,f]),Ct(()=>{let H=f.state.value,te=f.state.selectedIndex,ie=te,j;if(g&&Array.isArray(H)){if(ie=Obt(I,i,f.context.valuesRef.current,H,T,te),j=ie===I,I===te&&!j)f.context.selectedItemTextRef.current=null}else if(j=H!==void 0&&E3(i,H,T),j)ie=I;if(f.set("selectedIndex",ie),j&&d.current)f.context.selectedItemTextRef.current=d.current},[I,g,T,f,i]);let L=H2.useRef("mouse"),O=H2.useRef(!1),{getButtonProps:B,buttonRef:U}=Ys({disabled:x,focusableWhenDisabled:!0,native:c,composite:!0}),D={disabled:x,selected:C,highlighted:A};function N(H){if(v||y)return;let te=f.state.value;if(g){let ie=Array.isArray(te)?te:[],j=C?Fbt(ie,i,T):[...ie,i];f.context.setValue(j,un(J8,H))}else f.context.setValue(i,un(J8,H)),f.context.setOpen(!1,un(J8,H))}function _(){f.context.selectionRef.current.dragY=0}let G={role:"option","aria-selected":C,tabIndex:w&&A?0:-1,onKeyDown(H){if(f.set("activeIndex",I),H.key===" "&&f.context.typingRef.current)H.preventDefault()},onClick(H){let te=L.current!=="touch",ie=H.nativeEvent.pointerType,j=te&&Z4(H.nativeEvent)&&(ie!==void 0||A),oe=te&&!j&&!O.current;if(O.current=!1,x||oe)return;N(H.nativeEvent)},onPointerEnter(H){L.current=H.pointerType},onPointerMove(H){if(H.pointerType==="mouse"&&H.buttons===1){let te=f.context.selectionRef.current;if(te.dragY+=H.movementY,te.dragY**2>=64)te.allowUnselectedMouseUp=!0}},onPointerDown(H){L.current=H.pointerType,O.current=!0,_()},onMouseUp(){if(_(),x||L.current==="touch")return;if(O.current)return;let H=!f.context.selectionRef.current.allowSelectedMouseUp&&C,te=!f.context.selectionRef.current.allowUnselectedMouseUp&&!C;if(H||te)return;O.current=!0,k.current?.click(),O.current=!1}},Z=Zt("div",t,{ref:[U,n,p.ref,k],state:D,props:[m,G,u,B]}),q=H2.useMemo(()=>({selected:C,index:I,textRef:d,selectedByFocus:E}),[C,I,d,E]);return h(zIe.Provider,{value:q,children:Z})}))});var iI,sxt,UNn;var lxt=P(()=>{uae();Pb();oh();vr();H1();le();iI=z(re(),1),sxt=iI.forwardRef(function(t,n){let{selected:r}=Y_();if(!(t.keepMounted||r))return null;return h(UNn,{...t,ref:n})}),UNn=iI.memo(iI.forwardRef((e,t)=>{let{render:n,className:r,style:o,keepMounted:a,...i}=e,{selected:s}=Y_(),l=iI.useRef(null),{transitionStatus:c,setMounted:u}=Sp(s),p=Zt("span",e,{ref:[t,l],state:{selected:s,transitionStatus:c},props:[{"aria-hidden":!0,children:"✔️"},i],stateAttributesMapping:Cp});return ji({batch:!0,enabled:!s,open:s,ref:l,onComplete(){if(!s)u(!1)}}),p}))});var lM,HIe;var cxt=P(()=>{dy();uae();vr();lM=z(re(),1),HIe=lM.memo(lM.forwardRef(function(t,n){let{index:r,textRef:o,selectedByFocus:a}=Y_(),i=kd(),{render:s,className:l,style:c,...u}=t,d=lM.useCallback((f)=>{if(!f)return;if(r===0)i.context.firstItemTextRef.current=f;if(a)i.context.selectedItemTextRef.current=f},[i,r,a]);return Zt("div",t,{ref:[d,n,o],props:u})}))});function NNn(e,t,n,r,o,a){if(t){let u=0,d=n+o-Fg;for(let m=0;m=d){u=m;break}}let p=Math.max(0,u-1),f=e[p];return ps){i=Math.max(0,u-1);break}}let l=Math.min(e.length-1,i+1),c=e[l];return l>i&&c?oM(c.offsetTop+c.offsetHeight-r+o,a):a}var uxt,dae;var VIe=P(()=>{Rp();Nr();dy();Q_();Pb();oh();vr();H1();nae();uxt=z(re(),1),dae=uxt.forwardRef(function(t,n){let{render:r,className:o,style:a,direction:i,keepMounted:s,...l}=t,c=i==="up",u=kd(),{side:d,scrollDownArrowRef:p,scrollUpArrowRef:f}=iM(),m=c?"scrollUpArrowVisible":"scrollDownArrowVisible",g=u.useState(m),v=u.useState("openMethod"),y=g&&v!=="touch",x=mi(),A=c?f:p,{mounted:w,transitionStatus:C,setMounted:E}=Sp(y);Ct(()=>(u.context.scrollArrowsMountedCountRef.current+=1,u.set("hasScrollArrows",!0),()=>{if(u.context.scrollArrowsMountedCountRef.current=Math.max(0,u.context.scrollArrowsMountedCountRef.current-1),u.context.scrollArrowsMountedCountRef.current===0)u.set("hasScrollArrows",!1)}),[u]),ji({open:y,ref:A,onComplete(){if(!y)E(!1)}});let k=Zt("div",t,{ref:[n,A],state:{direction:i,visible:y,side:d,transitionStatus:C},props:[{"aria-hidden":!0,children:c?"▲":"▼",style:{position:"absolute"},onMouseMove(O){if(O.movementX===0&&O.movementY===0||x.isStarted())return;u.set("activeIndex",null);function B(){let U=u.state.listElement??u.context.popupRef.current;if(!U)return;u.set("activeIndex",null),u.context.handleScrollArrowVisibility(U);let D=rM(U.scrollHeight,U.clientHeight),N=oM(U.scrollTop,D),_=N===(c?0:D),G=u.context.listRef.current;if(N!==U.scrollTop)U.scrollTop=N;if(_){x.clear();return}if(G.length>0){let Z=A.current?.offsetHeight||0;U.scrollTop=NNn(G,c,N,U.clientHeight,Z,D)}x.start(40,B)}x.start(40,B)},onMouseLeave(){x.clear()}},l],stateAttributesMapping:Cp});if(!(w||s))return null;return k})});var dxt,pxt;var fxt=P(()=>{VIe();le();dxt=z(re(),1),pxt=dxt.forwardRef(function(t,n){return h(dae,{...t,ref:n,direction:"down"})})});var mxt,hxt;var gxt=P(()=>{VIe();le();mxt=z(re(),1),hxt=mxt.forwardRef(function(t,n){return h(dae,{...t,ref:n,direction:"up"})})});function yxt(){let e=pae.useContext(zNn);if(e===void 0)throw Error(Dn(56));return e}var pae,zNn;var vxt=P(()=>{zo();pae=z(re(),1),zNn=pae.createContext(void 0)});var bxt,xxt;var Axt=P(()=>{Nr();_l();vxt();vr();bxt=z(re(),1),xxt=bxt.forwardRef(function(t,n){let{render:r,className:o,style:a,id:i,...s}=t,{setLabelId:l}=yxt(),c=go(i);return Ct(()=>(l(c),()=>{l((d)=>d===c?void 0:d)}),[c,l]),Zt("div",t,{ref:n,props:[{id:c,"aria-hidden":!0},s]})})});var wxt,Sxt;var Cxt=P(()=>{vr();wxt=z(re(),1),Sxt=wxt.forwardRef(function(t,n){let{className:r,render:o,orientation:a="horizontal",style:i,...s}=t;return Zt("div",t,{state:{orientation:a},ref:n,props:[{role:"presentation"},s]})})});var Ext;var Ixt=P(()=>{Cxt();Ext=Sxt});var kxt=P(()=>{Gbt();Qbt();Wbt();Kbt();jbt();$bt();rxt();axt();ixt();lxt();cxt();fxt();gxt();Axt();Ixt()});var Rxt=P(()=>{kxt()});function qIe(e,t={}){return Ug.Children.forEach(e,(n)=>{if(!Ug.isValidElement(n))return;let r=n.props;if((n.type===K_||n.type===_Nn)&&typeof r.value==="string"){t[r.value]=r.children;return}if(r.children!==void 0)qIe(r.children,t)}),t}function _Nn(e){let t=Ug.useContext(GIe);return M(_Ie,{value:e.value,className:Ve(Lxt,Mxt[t]),children:[h(Fxt,{}),h(HIe,{children:e.children})]})}var Ug,Pxt,GIe,Mxt,Dxt,Lxt,Bxt=({size:e})=>h(at,{name:"arrow_drop_down",size:e,className:"text-on-surface-variant transition-transform duration-200 ease-standard group-data-popup-open:rotate-180"}),Oxt=(e)=>Object.keys(e).length>0,QBo,Fxt=()=>h("span",{className:"absolute left-3 flex items-center justify-center",children:h(sxt,{className:"flex",children:h(at,{name:"check",size:20})})}),ZIe=({onValueChange:e,items:t,children:n,...r})=>{let o=t??qIe(n);return h(kIe,{...r,items:Array.isArray(o)||Oxt(o)?o:void 0,onValueChange:e&&((a,i)=>{if(typeof a==="string")e(a,i)}),children:n})},HNn,QIe,fae=({className:e,children:t,...n})=>M(RIe,{className:io(Ve(Pxt({size:"md"}),"w-full [&>span]:line-clamp-1"),e),...n,children:[t,h(MIe,{className:"relative flex",children:h(Bxt,{size:24})})]}),Uxt,XIe=({className:e,...t})=>h(hxt,{className:io(Ve(Uxt,"top-0 rounded-t-extra-small"),e),...t,children:h(at,{name:"expand_less",size:20})}),WIe=({className:e,...t})=>h(pxt,{className:io(Ve(Uxt,"bottom-0 rounded-b-extra-small"),e),...t,children:h(at,{name:"expand_more",size:20})}),mae=({className:e,children:t,position:n="popper",side:r,sideOffset:o=4,align:a,alignOffset:i,collisionPadding:s,sticky:l,...c})=>h(DIe,{children:h(BIe,{className:"z-[100] outline-none",alignItemWithTrigger:n==="item-aligned",side:r,sideOffset:o,align:a,alignOffset:i,collisionPadding:s,sticky:l,children:M(UIe,{className:io(Ve("relative max-h-96 min-w-[8rem]",Dxt),e),...c,children:[h(XIe,{}),h(NIe,{children:t}),h(WIe,{})]})})}),Nxt=({className:e,...t})=>{let n=Ug.useContext(HNn),r=Ve("px-3 py-2 pl-11 text-title-small text-on-surface-variant",e);return n?h(xxt,{className:r,...t}):h("div",{role:"presentation",className:r,...t})},K_=({className:e,children:t,...n})=>{let r=Ug.useContext(GIe);return M(_Ie,{className:io(Ve(Lxt,Mxt[r]),e),...n,children:[h(Fxt,{}),h(HIe,{children:t})]})},zxt=({className:e,...t})=>h(Ext,{className:io("my-2 h-px bg-outline-variant",e),...t});var _xt=P(()=>{Rxt();x2();rn();V1();n0();le();Ug=z(re(),1),Pxt=kc(["group relative flex items-center justify-between gap-2 whitespace-nowrap text-left","text-on-surface data-[placeholder]:text-on-surface-variant","outline-none transition-[background-color,border-color,box-shadow] duration-200 ease-standard","disabled:cursor-not-allowed disabled:opacity-38 data-disabled:cursor-not-allowed data-disabled:opacity-38"],{variants:{variant:{default:["rounded-extra-small border border-outline bg-transparent hover:border-on-surface","focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary","data-popup-open:border-primary data-popup-open:ring-1 data-popup-open:ring-inset data-popup-open:ring-primary"],outlined:["rounded-extra-small border border-outline bg-transparent hover:border-on-surface","focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary","data-popup-open:border-primary data-popup-open:ring-1 data-popup-open:ring-inset data-popup-open:ring-primary"],filled:["rounded-t-extra-small rounded-b-none border-0 border-b border-on-surface-variant bg-surface-container-highest hover:border-on-surface","before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-on-surface before:opacity-0 before:transition-opacity before:content-[''] hover:before:opacity-8","focus-visible:border-primary focus-visible:shadow-[inset_0_-1px_0_0_var(--md-sys-color-primary)]","data-popup-open:border-primary data-popup-open:shadow-[inset_0_-1px_0_0_var(--md-sys-color-primary)]"]},size:{sm:"h-8 pl-3 pr-1 text-body-medium",md:"h-10 pl-3 pr-2 text-body-medium",lg:"h-12 pl-4 pr-2 text-body-large",xl:"h-14 pl-4 pr-3 text-body-large"}},defaultVariants:{variant:"default",size:"sm"}}),GIe=Ug.createContext("md"),Mxt={sm:"h-8",md:"h-10",lg:"h-12",xl:"h-12"},Dxt=Ve("min-w-(--anchor-width) max-h-(--available-height) overflow-y-auto rounded-extra-small bg-surface-container py-2 text-on-surface shadow-md3-2 outline-none","origin-(--transform-origin) transition-[opacity,scale] duration-250 ease-emphasized-decelerate","data-starting-style:scale-95 data-starting-style:opacity-0","data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-150 data-ending-style:ease-emphasized-accelerate","data-[side=none]:transition-none"),Lxt=["relative flex w-full cursor-pointer select-none items-center gap-3 pl-11 pr-3 outline-none","text-label-large text-on-surface","before:pointer-events-none before:absolute before:inset-0 before:content-[''] data-[highlighted]:before:bg-on-surface/8","data-selected:bg-secondary-container data-selected:text-on-secondary-container","data-[disabled]:pointer-events-none data-[disabled]:opacity-38"];QBo=Ug.forwardRef((e,t)=>{let n=e.size??"sm",r=qIe(e.children);return h("div",{className:e.containerClassName,"data-m3-component":"Select",ref:t,children:h(GIe.Provider,{value:n,children:M(kIe,{value:e.value,onValueChange:(o)=>{if(o!==null)e.onChange(o)},items:Oxt(r)?r:void 0,disabled:e.disabled,name:e.name,required:e.required,children:[M(RIe,{className:Pxt({variant:e.variant,size:n,className:e.className}),children:[h("span",{className:"relative truncate",children:h(PIe,{placeholder:e.placeholder})}),h(MIe,{className:"relative flex",children:h(Bxt,{size:n==="sm"?20:24})})]}),h(DIe,{children:h(BIe,{className:"z-[100] outline-none",sideOffset:4,alignItemWithTrigger:!1,children:h(UIe,{className:Dxt,children:h(NIe,{children:e.children})})})})]})})})});HNn=Ug.createContext(!1),QIe=PIe;fae.displayName="SelectTrigger";Uxt=Ve("absolute inset-x-0 z-10 flex h-6 cursor-default items-center justify-center bg-surface-container text-on-surface-variant");XIe.displayName="SelectScrollUpButton";WIe.displayName="SelectScrollDownButton";mae.displayName="SelectContent";Nxt.displayName="SelectLabel";K_.displayName="SelectItem";zxt.displayName="SelectSeparator"});var Hxt,Vxt,cM;var Gxt=P(()=>{x2();rn();n0();AP();le();Hxt=z(re(),1),Vxt=kc(["flex cursor-pointer items-center gap-2 rounded-full border text-left","transition-colors duration-200 ease-standard","disabled:pointer-events-none disabled:cursor-not-allowed disabled:border-on-surface/12 disabled:text-on-surface/38",Ta,Yn],{variants:{variant:{default:"border-outline-variant bg-surface-container-high text-on-surface",sidebar:"border-outline-variant bg-surface-container-low text-on-surface-variant",ghost:"border-transparent bg-transparent text-on-surface-variant"},size:{sm:"h-7 px-3 text-label-medium",md:"h-8 px-3.5 text-label-large",lg:"h-10 px-4 text-label-large"},selected:{true:"border-transparent bg-secondary-container text-on-secondary-container",false:""}},defaultVariants:{variant:"default",size:"md",selected:!1}}),cM=Hxt.forwardRef(({className:e,variant:t,size:n,selected:r,hideCaret:o,children:a,...i},s)=>M("button",{ref:s,type:"button","data-selected":r?"":void 0,className:Ve(Vxt({variant:t,size:n,selected:!!r}),e),...i,children:[r&&h(at,{name:"check",size:18}),h("span",{className:"flex flex-1 items-center gap-1.5 truncate text-left",children:a}),!o&&h(at,{name:"expand_more",size:18})]}));cM.displayName="SelectPill"});function VNn(e){if(!e||typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}class Xxt{constructor(){this.subscribe=(e)=>(this.subscribers.push(e),this.getActiveToasts().forEach((t)=>e(t)),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=(e)=>{this.subscribers.forEach((t)=>t(e))},this.addToast=(e)=>{this.publish(e),this.toasts=[...this.toasts,e],this.trimHistory()},this.trimHistory=()=>{let e=this.toasts.length-$Nn;if(e<=0)return;this.toasts=this.toasts.filter((t)=>{if(e>0&&this.dismissedToasts.has(t.id))return this.dismissedToasts.delete(t.id),e--,!1;return!0})},this.create=(e)=>{let{message:t,...n}=e,r=qxt(e),o=this.pendingDismissals.get(r);if(o!==void 0)cancelAnimationFrame(o),this.pendingDismissals.delete(r),this.dismissedToasts.delete(r);let a=this.dismissedToasts.has(r),i=e.dismissible===void 0?!0:e.dismissible;if(a)this.dismissedToasts.delete(r),this.toasts=this.toasts.filter((l)=>l.id!==r);if(a?void 0:this.toasts.find((l)=>l.id===r))this.toasts=this.toasts.map((l)=>{if(l.id===r)return this.publish({...l,...e,id:r,title:t}),{...l,...e,id:r,dismissible:i,title:t};return l});else this.addToast({title:t,...n,dismissible:i,id:r});return r},this.dismiss=(e)=>{if(e===void 0||e===null)return this.getActiveToasts().forEach((n)=>{this.dismissedToasts.add(n.id),this.subscribers.forEach((r)=>r({id:n.id,dismiss:!0}))}),e;this.dismissedToasts.add(e);let t=this.pendingDismissals.get(e);if(t!==void 0)cancelAnimationFrame(t);return this.pendingDismissals.set(e,requestAnimationFrame(()=>{this.pendingDismissals.delete(e),this.subscribers.forEach((n)=>n({id:e,dismiss:!0}))})),e},this.message=(e,t)=>this.create({...t,message:e,type:void 0}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n=void 0;if(t.loading!==void 0)n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!=="function"?t.description:void 0});let r=Promise.resolve(e instanceof Function?e():e),o=n!==void 0,a,i=r.then(async(l)=>{if(a=["resolve",l],Pn.default.isValidElement(l))o=!1,this.create({id:n,type:"default",message:l});else if(tzn(l)&&!l.ok){o=!1;let u=typeof t.error==="function"?await t.error(`HTTP error! status: ${l.status}`):t.error,d=typeof t.description==="function"?await t.description(`HTTP error! status: ${l.status}`):t.description,f=typeof u==="object"&&!Pn.default.isValidElement(u)?u:{message:u};this.create({id:n,type:"error",description:d,...f})}else if(l instanceof Error){o=!1;let u=typeof t.error==="function"?await t.error(l):t.error,d=typeof t.description==="function"?await t.description(l):t.description,f=typeof u==="object"&&!Pn.default.isValidElement(u)?u:{message:u};this.create({id:n,type:"error",description:d,...f})}else if(t.success!==void 0){o=!1;let u=typeof t.success==="function"?await t.success(l):t.success,d=typeof t.description==="function"?await t.description(l):t.description,f=typeof u==="object"&&!Pn.default.isValidElement(u)?u:{message:u};this.create({id:n,type:"success",description:d,...f})}}).catch(async(l)=>{if(a=["reject",l],t.error!==void 0){o=!1;let c=typeof t.error==="function"?await t.error(l):t.error,u=typeof t.description==="function"?await t.description(l):t.description,p=typeof c==="object"&&!Pn.default.isValidElement(c)?c:{message:c};this.create({id:n,type:"error",description:u,...p})}}).finally(()=>{if(o)this.dismiss(n),n=void 0;t.finally==null||t.finally.call(t)}),s=()=>new Promise((l,c)=>i.then(()=>a[0]==="reject"?c(a[1]):l(a[1])).catch(c));if(typeof n!=="string"&&typeof n!=="number")return{unwrap:s};else return Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=qxt(t);return this.create({...t,jsx:e(n),id:n,type:void 0}),n},this.getActiveToasts=()=>this.toasts.filter((e)=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set,this.pendingDismissals=new Map}}function hae(e){return e.label!==void 0}function cx(...e){return e.filter(Boolean).join(" ")}function pzn(e){let[t,n]=e.split("-"),r=[];if(t)r.push(t);if(n)r.push(n);return r}function Qxt(){if(typeof window>"u")return"ltr";if(typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");if(e==="auto"||!e)return window.getComputedStyle(document.documentElement).direction;return e}function mzn(e,t){let n={};return[e,t].forEach((r,o)=>{let a=o===1,i=a?"--mobile-offset":"--offset",s=a?szn:izn;function l(c){["top","right","bottom","left"].forEach((u)=>{n[`${i}-${u}`]=typeof c==="number"?`${c}px`:c})}if(typeof r==="number"||typeof r==="string")l(r);else if(typeof r==="object")["top","right","bottom","left"].forEach((c)=>{if(r[c]===void 0)n[`${i}-${c}`]=s;else n[`${i}-${c}`]=typeof r[c]==="number"?`${r[c]}px`:r[c]});else l(s)}),n}var Pn,GNn=(e)=>{switch(e){case"success":return QNn;case"info":return WNn;case"warning":return XNn;case"error":return YNn;default:return null}},qNn,ZNn=({visible:e,className:t})=>Pn.default.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},Pn.default.createElement("div",{className:"sonner-spinner"},qNn.map((n,r)=>Pn.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),QNn,XNn,WNn,YNn,KNn,JNn=()=>{let[e,t]=Pn.default.useState(document.hidden);return Pn.default.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>document.removeEventListener("visibilitychange",n)},[]),e},jNn=1,$Nn=100,qxt=(e)=>{var t;return typeof(e==null?void 0:e.id)==="number"||(e==null?void 0:(t=e.id)==null?void 0:t.length)>0?e.id:jNn++},v0,ezn=(e,t)=>v0.message(e,t),tzn=(e)=>e&&typeof e==="object"&&("ok"in e)&&typeof e.ok==="boolean"&&("status"in e)&&typeof e.status==="number",nzn,rzn=()=>v0.toasts,ozn=()=>v0.getActiveToasts(),J_,azn=3,izn="24px",szn="16px",Zxt=4000,lzn=356,czn=14,uzn=45,dzn=200,fzn=(e)=>{var t,n,r,o,a,i,s,l,c;let{invert:u,toast:d,unstyled:p,interacting:f,setHeights:m,visibleToasts:g,heights:v,index:y,toasts:x,expanded:A,removeToast:w,defaultRichColors:C,closeButton:E,style:T,cancelButtonStyle:I,actionButtonStyle:k,className:L="",descriptionClassName:O="",duration:B,position:U,gap:D,expandByDefault:N,classNames:_,icons:G,closeButtonAriaLabel:Z="Close toast"}=e,[q,H]=Pn.default.useState(null),[te,ie]=Pn.default.useState(null),[j,oe]=Pn.default.useState(!1),[J,Y]=Pn.default.useState(!1),[ae,ne]=Pn.default.useState(!1),[Se,fe]=Pn.default.useState(!1),[Ae,Ee]=Pn.default.useState(!1),[pe,Re]=Pn.default.useState(0),[Le,Ne]=Pn.default.useState(0),be=Pn.default.useRef(d.duration||B||Zxt),ye=Pn.default.useRef(null),ce=Pn.default.useRef(null),ue=y===0,ke=y+1<=g,se=d.type,qe=se!=null?se:"default",Me=d.dismissible!==!1,Qe=d.className||"",ee=d.descriptionClassName||"",K=Pn.default.useMemo(()=>v.findIndex((rt)=>rt.toastId===d.id)||0,[v,d.id]),we=Pn.default.useMemo(()=>{var rt;return(rt=d.closeButton)!=null?rt:E},[d.closeButton,E]),ze=Pn.default.useMemo(()=>d.duration||B||Zxt,[d.duration,B]),tt=Pn.default.useRef(0),Pe=Pn.default.useRef(0),Ke=Pn.default.useRef(0),Ue=Pn.default.useRef(null),[Ze,ct]=U.split("-"),Rt=Pn.default.useMemo(()=>v.reduce((rt,ot,At)=>{if(At>=K)return rt;return rt+ot.height},0),[v,K]),de=JNn(),ge=Pn.default.useMemo(()=>{var rt;return(rt=e.swipeDirections)!=null?rt:pzn(U)},[e.swipeDirections,U]),Oe=d.invert||u,Xe=se==="loading";Pe.current=Pn.default.useMemo(()=>K*D+Rt,[K,Rt]),Pn.default.useEffect(()=>{be.current=ze},[ze]),Pn.default.useEffect(()=>{oe(!0)},[]),Pn.default.useEffect(()=>{let rt=ce.current;if(rt){let ot=rt.getBoundingClientRect().height;return Ne(ot),m((At)=>[{toastId:d.id,height:ot,position:d.position},...At]),()=>m((At)=>At.filter((en)=>en.toastId!==d.id))}},[m,d.id]),Pn.default.useLayoutEffect(()=>{if(!j)return;let rt=ce.current,ot=rt.style.height;rt.style.height="auto";let At=rt.getBoundingClientRect().height;rt.style.height=ot,Ne(At),m((en)=>{if(!en.find((tn)=>tn.toastId===d.id))return[{toastId:d.id,height:At,position:d.position},...en];else return en.map((tn)=>tn.toastId===d.id?{...tn,height:At}:tn)})},[j,d.title,d.description,m,d.id,d.jsx,d.action,d.cancel]);let $e=Pn.default.useCallback(()=>{Y(!0),Re(Pe.current),m((rt)=>rt.filter((ot)=>ot.toastId!==d.id)),setTimeout(()=>{w(d)},dzn)},[d,w,m,Pe]);Pn.default.useEffect(()=>{if(d.promise&&se==="loading"||d.duration===1/0||d.type==="loading")return;let rt,ot=()=>{if(Ke.current{if(be.current===1/0)return;tt.current=new Date().getTime(),rt=setTimeout(()=>{d.onAutoClose==null||d.onAutoClose.call(d,d),$e()},be.current)};if(A||f||de)ot();else At();return()=>clearTimeout(rt)},[A,f,d,se,de,$e]),Pn.default.useEffect(()=>{if(d.delete)$e(),d.onDismiss==null||d.onDismiss.call(d,d)},[$e,d.delete]);function Ie(){var rt;if(G==null?void 0:G.loading){var ot;return Pn.default.createElement("div",{className:cx(_==null?void 0:_.loader,d==null?void 0:(ot=d.classNames)==null?void 0:ot.loader,"sonner-loader"),"data-visible":se==="loading"},G.loading)}return Pn.default.createElement(ZNn,{className:cx(_==null?void 0:_.loader,d==null?void 0:(rt=d.classNames)==null?void 0:rt.loader),visible:se==="loading"})}let Ge=d.icon||(G==null?void 0:G[se])||GNn(se);var _e,nt;return Pn.default.createElement("li",{tabIndex:0,ref:ce,className:cx(L,Qe,_==null?void 0:_.toast,d==null?void 0:(t=d.classNames)==null?void 0:t.toast,_==null?void 0:_[qe],d==null?void 0:(n=d.classNames)==null?void 0:n[qe]),"data-sonner-toast":"","data-rich-colors":(_e=d.richColors)!=null?_e:C,"data-styled":!Boolean(d.jsx||d.unstyled||p),"data-mounted":j,"data-promise":Boolean(d.promise),"data-swiped":Ae,"data-removed":J,"data-visible":ke,"data-y-position":Ze,"data-x-position":ct,"data-index":y,"data-front":ue,"data-swiping":ae,"data-dismissible":Me,"data-type":se,"data-invert":Oe,"data-swipe-out":Se,"data-swipe-direction":te,"data-expanded":Boolean(A||N&&j),"data-testid":d.testId,style:{"--index":y,"--toasts-before":y,"--z-index":x.length-y,"--offset":`${J?pe:Pe.current}px`,"--initial-height":N?"auto":`${Le}px`,...T,...d.style},onDragEnd:()=>{ne(!1),H(null),Ue.current=null},onPointerDown:(rt)=>{if(rt.button===2)return;if(Xe||!Me)return;if(ye.current=new Date,Re(Pe.current),rt.target.setPointerCapture(rt.pointerId),rt.target.tagName==="BUTTON")return;ne(!0),Ue.current={x:rt.clientX,y:rt.clientY}},onPointerUp:()=>{var rt,ot,At;if(Se||!Me)return;Ue.current=null;let en=Number(((rt=ce.current)==null?void 0:rt.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Gt=Number(((ot=ce.current)==null?void 0:ot.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),tn=new Date().getTime()-((At=ye.current)==null?void 0:At.getTime()),Yt=q==="x"?en:Gt,Be=Math.abs(Yt)/tn;if((q==="x"?ge.includes(en>0?"right":"left"):ge.includes(Gt>0?"bottom":"top"))&&(Math.abs(Yt)>=uzn||Be>0.11)){if(Re(Pe.current),d.onDismiss==null||d.onDismiss.call(d,d),q==="x")ie(en>0?"right":"left");else ie(Gt>0?"down":"up");$e(),fe(!0);return}else{var it,Et;(it=ce.current)==null||it.style.setProperty("--swipe-amount-x","0px"),(Et=ce.current)==null||Et.style.setProperty("--swipe-amount-y","0px")}Ee(!1),ne(!1),H(null)},onPointerMove:(rt)=>{var ot,At,en;if(!Ue.current||!Me)return;if(((ot=window.getSelection())==null?void 0:ot.toString().length)>0)return;let tn=rt.clientY-Ue.current.y,Yt=rt.clientX-Ue.current.x;if(!q&&(Math.abs(Yt)>1||Math.abs(tn)>1))H(Math.abs(Yt)>Math.abs(tn)?"x":"y");let Be={x:0,y:0},Je=(it)=>1/(1.5+Math.abs(it)/20);if(q==="y"){if(ge.includes("top")||ge.includes("bottom"))if(ge.includes("top")&&tn<0||ge.includes("bottom")&&tn>0)Be.y=tn;else{let it=tn*Je(tn);Be.y=Math.abs(it)0)Be.x=Yt;else{let it=Yt*Je(Yt);Be.x=Math.abs(it)0||Math.abs(Be.y)>0)Ee(!0);(At=ce.current)==null||At.style.setProperty("--swipe-amount-x",`${Be.x}px`),(en=ce.current)==null||en.style.setProperty("--swipe-amount-y",`${Be.y}px`)}},we&&!d.jsx&&se!=="loading"?Pn.default.createElement("button",{"aria-label":Z,"data-disabled":Xe,"data-close-button":!0,onClick:Xe||!Me?()=>{}:()=>{$e(),d.onDismiss==null||d.onDismiss.call(d,d)},className:cx(_==null?void 0:_.closeButton,d==null?void 0:(r=d.classNames)==null?void 0:r.closeButton)},(nt=G==null?void 0:G.close)!=null?nt:KNn):null,(se||d.icon||d.promise)&&d.icon!==null&&((G==null?void 0:G[se])!==null||d.icon)?Pn.default.createElement("div",{"data-icon":"",className:cx(_==null?void 0:_.icon,d==null?void 0:(o=d.classNames)==null?void 0:o.icon)},se==="loading"?d.icon||Ie():d.promise?Ie():null,se!=="loading"?Ge:null):null,Pn.default.createElement("div",{"data-content":"",className:cx(_==null?void 0:_.content,d==null?void 0:(a=d.classNames)==null?void 0:a.content)},Pn.default.createElement("div",{"data-title":"",className:cx(_==null?void 0:_.title,d==null?void 0:(i=d.classNames)==null?void 0:i.title)},d.jsx?d.jsx:typeof d.title==="function"?d.title():d.title),d.description?Pn.default.createElement("div",{"data-description":"",className:cx(O,ee,_==null?void 0:_.description,d==null?void 0:(s=d.classNames)==null?void 0:s.description)},typeof d.description==="function"?d.description():d.description):null),Pn.default.isValidElement(d.cancel)?d.cancel:d.cancel&&hae(d.cancel)?Pn.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:d.cancelButtonStyle||I,onClick:(rt)=>{if(!hae(d.cancel))return;if(!Me)return;d.cancel.onClick==null||d.cancel.onClick.call(d.cancel,rt),$e()},className:cx(_==null?void 0:_.cancelButton,d==null?void 0:(l=d.classNames)==null?void 0:l.cancelButton)},d.cancel.label):null,Pn.default.isValidElement(d.action)?d.action:d.action&&hae(d.action)?Pn.default.createElement("button",{"data-button":!0,"data-action":!0,style:d.actionButtonStyle||k,onClick:(rt)=>{if(!hae(d.action))return;if(d.action.onClick==null||d.action.onClick.call(d.action,rt),rt.defaultPrevented)return;$e()},className:cx(_==null?void 0:_.actionButton,d==null?void 0:(c=d.classNames)==null?void 0:c.actionButton)},d.action.label):null)},j_;var YIe=P(()=>{bd();Pn=z(re(),1);qNn=Array(12).fill(0),QNn=Pn.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20","aria-hidden":"true"},Pn.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),XNn=Pn.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20","aria-hidden":"true"},Pn.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),WNn=Pn.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20","aria-hidden":"true"},Pn.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),YNn=Pn.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20","aria-hidden":"true"},Pn.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),KNn=Pn.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},Pn.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Pn.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}));v0=new Xxt,nzn=ezn,J_=Object.assign(nzn,{success:v0.success,info:v0.info,warning:v0.warning,error:v0.error,custom:v0.custom,message:v0.message,promise:v0.promise,dismiss:v0.dismiss,loading:v0.loading},{getHistory:rzn,getToasts:ozn});VNn("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--normal-text);background:var(--normal-bg);border:1px solid var(--normal-border);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");j_=Pn.default.forwardRef(function(t,n){let{id:r,invert:o,position:a="bottom-right",hotkey:i=["altKey","KeyT"],expand:s,closeButton:l,className:c,offset:u,mobileOffset:d,theme:p="light",richColors:f,duration:m,style:g,visibleToasts:v=azn,toastOptions:y,dir:x=Qxt(),gap:A=czn,icons:w,customAriaLabel:C,containerAriaLabel:E="Notifications"}=t,[T,I]=Pn.default.useState([]),k=Pn.default.useMemo(()=>{if(r)return T.filter((oe)=>oe.toasterId===r);return T.filter((oe)=>!oe.toasterId)},[T,r]),L=Pn.default.useMemo(()=>Array.from(new Set([a].concat(k.filter((oe)=>oe.position).map((oe)=>oe.position)))),[k,a]),[O,B]=Pn.default.useState([]),[U,D]=Pn.default.useState(!1),[N,_]=Pn.default.useState(!1),[G,Z]=Pn.default.useState(p!=="system"?p:typeof window<"u"?window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"light"),q=Pn.default.useRef(null),H=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),te=Pn.default.useRef(null),ie=Pn.default.useRef(!1),j=Pn.default.useCallback((oe)=>{I((J)=>{var Y;if(!((Y=J.find((ae)=>ae.id===oe.id))==null?void 0:Y.delete))v0.dismiss(oe.id);return J.filter(({id:ae})=>ae!==oe.id)})},[]);return Pn.default.useEffect(()=>v0.subscribe((oe)=>{if(oe.dismiss){requestAnimationFrame(()=>{I((J)=>J.map((Y)=>Y.id===oe.id?{...Y,delete:!0}:Y))});return}setTimeout(()=>{Ec(()=>{I((J)=>{let Y=J.findIndex((ae)=>ae.id===oe.id);if(Y!==-1)return[...J.slice(0,Y),{...J[Y],...oe},...J.slice(Y+1)];return[oe,...J]})})})}),[]),Pn.default.useEffect(()=>{if(p!=="system"){Z(p);return}if(p==="system")if(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches)Z("dark");else Z("light");if(typeof window>"u")return;let oe=window.matchMedia("(prefers-color-scheme: dark)");try{oe.addEventListener("change",({matches:J})=>{if(J)Z("dark");else Z("light")})}catch(J){oe.addListener(({matches:Y})=>{try{if(Y)Z("dark");else Z("light")}catch(ae){console.error(ae)}})}},[p]),Pn.default.useEffect(()=>{if(T.length<=1)D(!1)},[T]),Pn.default.useEffect(()=>{let oe=(J)=>{var Y;if(i.length>0&&i.every((Se)=>J[Se]||J.code===Se)){var ne;D(!0),(ne=q.current)==null||ne.focus()}if(J.code==="Escape"&&(document.activeElement===q.current||((Y=q.current)==null?void 0:Y.contains(document.activeElement))))D(!1)};return document.addEventListener("keydown",oe),()=>document.removeEventListener("keydown",oe)},[i]),Pn.default.useEffect(()=>{if(q.current)return()=>{if(te.current)te.current.focus({preventScroll:!0}),te.current=null,ie.current=!1}},[q.current]),Pn.default.createElement("section",{ref:n,"aria-label":C!=null?C:`${E} ${H}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0,"data-react-aria-top-layer":!0},L.map((oe,J)=>{var Y;let[ae,ne]=oe.split("-");if(!k.length)return null;return Pn.default.createElement("ol",{key:oe,dir:x==="auto"?Qxt():x,tabIndex:-1,ref:q,className:c,"data-sonner-toaster":!0,"data-sonner-theme":G,"data-y-position":ae,"data-x-position":ne,style:{"--front-toast-height":`${((Y=O[0])==null?void 0:Y.height)||0}px`,"--width":`${lzn}px`,"--gap":`${A}px`,...g,...mzn(u,d)},onBlur:(Se)=>{if(ie.current&&!Se.currentTarget.contains(Se.relatedTarget)){if(ie.current=!1,te.current)te.current.focus({preventScroll:!0}),te.current=null}},onFocus:(Se)=>{if(Se.target instanceof HTMLElement&&Se.target.dataset.dismissible==="false")return;if(!ie.current)ie.current=!0,te.current=Se.relatedTarget},onMouseEnter:()=>D(!0),onMouseMove:()=>D(!0),onMouseLeave:()=>{if(!N)D(!1)},onDragEnd:()=>D(!1),onPointerDown:(Se)=>{if(Se.target instanceof HTMLElement&&Se.target.dataset.dismissible==="false")return;_(!0)},onPointerUp:()=>_(!1)},k.filter((Se)=>!Se.position&&J===0||Se.position===oe).map((Se,fe)=>{var Ae,Ee;return Pn.default.createElement(fzn,{key:Se.id,icons:w,index:fe,toast:Se,defaultRichColors:f,duration:(Ae=y==null?void 0:y.duration)!=null?Ae:m,className:y==null?void 0:y.className,descriptionClassName:y==null?void 0:y.descriptionClassName,invert:o,visibleToasts:v,closeButton:(Ee=y==null?void 0:y.closeButton)!=null?Ee:l,interacting:N,position:oe,style:y==null?void 0:y.style,unstyled:y==null?void 0:y.unstyled,classNames:y==null?void 0:y.classNames,cancelButtonStyle:y==null?void 0:y.cancelButtonStyle,actionButtonStyle:y==null?void 0:y.actionButtonStyle,closeButtonAriaLabel:y==null?void 0:y.closeButtonAriaLabel,removeToast:j,toasts:k.filter((pe)=>pe.position==Se.position),heights:O.filter((pe)=>pe.position==Se.position),setHeights:B,expandByDefault:s,gap:A,expanded:U,swipeDirections:t.swipeDirections})}))}))})});var ux,Kxt=4000,Wxt,KIe,Yxt,hzn=(e)=>h(at,{name:Yxt[e].name,size:20,filled:!0,className:Yxt[e].className}),gzn=()=>h("span",{role:"progressbar","aria-label":"Loading",className:"block size-5 animate-spin rounded-full border-2 border-inverse-primary border-t-transparent"}),JIe,yzn=({showLoader:e=!0,...t})=>{let[n,r]=ux.useState(),[o,a]=ux.useState(t.loading),{id:i,promise:s,duration:l}=t,c=ux.useRef(t);return ux.useEffect(()=>{c.current=t}),ux.useEffect(()=>{(async()=>{try{let d=await(s instanceof Promise?s:s()),{success:p}=c.current;a(typeof p==="function"?p(d):p),r("success")}catch(d){let{error:p}=c.current;a(typeof p==="function"?p(d):p),r("error")}setTimeout(()=>{c.current.onAutoClose?.(i),c.current.onClose?.({id:i,event:"on-auto-close"}),In.dismiss(i)},l||Kxt)})()},[i,s,l]),h(JIe,{id:i,type:n,message:o,icon:!n&&e&&(t.loader??h(gzn,{})),closable:!!n,onDismiss:t.onDismiss,onClose:({id:u,event:d})=>{if(d==="on-action"||d==="on-cancel")return;t.onClose?.({id:u,event:d})}})},$_=(e,{ref:t,type:n,icon:r,action:o,cancel:a,onDismiss:i,onClose:s,onAutoClose:l,className:c,...u}={})=>J_.custom((d)=>h(JIe,{id:d,ref:t,type:n,icon:r,message:e,action:o,cancel:a,onDismiss:i,onClose:s}),{className:Ve(KIe,c),onAutoClose:({id:d})=>{l?.(d),s?.({id:d,event:"on-auto-close"})},...u}),vzn=(e,{onAutoClose:t,className:n,...r}={})=>J_.custom(e,{className:Ve(KIe,n),onAutoClose:({id:o})=>t?.(o),...r}),bzn=(e,{loading:t,success:n,error:r,onDismiss:o,onAutoClose:a,onClose:i,duration:s,className:l,loader:c,showLoader:u,...d})=>J_.custom((p)=>h(yzn,{id:p,promise:e,loading:t,success:n,error:r,duration:s,onDismiss:o,onAutoClose:a,onClose:i,loader:c,showLoader:u}),{duration:1/0,className:Ve(KIe,l),...d}),In;var Jxt=P(()=>{rn();YIe();n0();YIe();le();ux=z(re(),1),Wxt=Ve("inline-flex h-9 shrink-0 items-center justify-center rounded-full px-3 outline-none","text-label-large text-inverse-primary transition-colors duration-200 ease-standard","hover:bg-inverse-primary/8 active:bg-inverse-primary/10 focus-visible:bg-inverse-primary/10"),KIe=Ve("w-full overflow-hidden rounded-extra-small py-1.5 pl-4 pr-2 shadow-md3-3","flex min-h-12 items-center","cursor-default select-none","bg-inverse-surface","text-body-medium text-inverse-on-surface"),Yxt={success:{name:"check_circle",className:"text-success-container"},error:{name:"error",className:"text-error-container"},info:{name:"info",className:"text-inverse-primary"},warning:{name:"warning",className:"text-warning-container"}},JIe=ux.forwardRef(({closable:e=!0,action:t,cancel:n,...r},o)=>{let a=typeof r.message==="function"?r.message(r.id):r.message,i=a&&typeof a==="object"&&"title"in a?a.title:a,s=a&&typeof a==="object"&&"body"in a?a.body:void 0,l=!!s;return M("div",{ref:o,className:Ve("pointer-events-auto flex w-full gap-3",l?"items-start":"items-center"),children:[(r.icon||r.type)&&h("div",{className:Ve("flex shrink-0",l&&"mt-2.5"),children:r.icon?Gd(r.icon,{size:20}):r.type&&hzn(r.type)}),M("div",{className:"flex grow flex-col py-2",children:[i&&h("span",{className:"text-body-medium text-inverse-on-surface",style:{wordBreak:"break-word"},children:i}),s&&h("div",{className:"mt-0.5 text-body-medium text-inverse-on-surface/80",style:{wordBreak:"break-word"},children:s})]}),(t||n)&&M("div",{className:"flex shrink-0 items-center gap-1",children:[n&&h("button",{type:"button",onClick:()=>{if(typeof n==="object")n.onClick?.();r.onClose?.({id:r.id,event:"on-cancel"}),In.dismiss(r.id)},className:Ve(Wxt,typeof n==="object"?n.className:null),children:typeof n==="object"?n.label:n}),t&&h("button",{type:"button",onClick:()=>{t.onClick(),r.onClose?.({id:r.id,event:"on-action"}),In.dismiss(r.id)},className:Ve(Wxt,t.className),children:t.label})]}),e&&h("button",{type:"button","aria-label":"Close",className:Ve("inline-flex size-9 shrink-0 items-center justify-center rounded-full outline-none","text-inverse-on-surface transition-colors duration-200 ease-standard","hover:bg-inverse-on-surface/8 active:bg-inverse-on-surface/10 focus-visible:bg-inverse-on-surface/10"),onClick:()=>{r.onDismiss?.(r.id),r.onClose?.({id:r.id,event:"on-dismiss"}),In.dismiss(r.id)},children:h(at,{name:"close",size:20})})]})});JIe.displayName="Toast";In=Object.assign($_,{info:(e,t)=>$_(e,{...t,type:"info"}),success:(e,t)=>$_(e,{...t,type:"success"}),error:(e,t)=>$_(e,{...t,type:"error"}),warning:(e,t)=>$_(e,{...t,type:"warning"}),custom:vzn,promise:bzn,dismiss:J_.dismiss})});var gae=({className:e,orientation:t="horizontal",...n})=>h("hr",{"aria-orientation":t==="vertical"?"vertical":void 0,className:Ve("shrink-0 border-0 bg-outline-variant",t==="vertical"?"mx-1 my-0 h-full w-px self-stretch":"mx-0 my-1 h-px w-full",e),"data-m3-component":"Divider",...n});var jxt=P(()=>{rn();le()});function vae(){let e=yae.useContext(jIe);if(e===void 0)throw Error(Dn(51));return e}var yae,jIe;var bae=P(()=>{zo();yae=z(re(),1),jIe=yae.createContext(void 0)});var $xt="data-complete",eAt="data-indeterminate",tAt="data-progressing";var uM;var xae=P(()=>{uM={status(e){if(e==="progressing")return{[tAt]:""};if(e==="complete")return{[$xt]:""};if(e==="indeterminate")return{[eAt]:""};return null}}});var I3,$Ie;var nAt=P(()=>{Q8();Qwe();vr();bae();xae();le();I3=z(re(),1),$Ie=I3.forwardRef(function(t,n){let{format:r,getAriaValueText:o,locale:a,max:i=100,min:s=0,value:l,render:c,className:u,children:d,style:p,...f}=t,[m,g]=I3.useState(),v="indeterminate",y=null,x=null,A="",w="indeterminate progress";if(l!=null&&Number.isFinite(l)){let k=dE(l,s,i);y=$i(Number.isNaN(k)?0:k,0,100),x=$i(l,s,i),v=x===i?"complete":"progressing",A=r?cE(x,a,r):cE(y/100,a,{style:"percent"}),w=A}let C=I3.useMemo(()=>({status:v}),[v]),E={"aria-labelledby":m,"aria-valuemax":i,"aria-valuemin":s,"aria-valuenow":x??void 0,"aria-valuetext":o?o(A,l):w,role:"progressbar",children:M(I3.Fragment,{children:[d,h("span",{role:"presentation",style:xg,children:"x"})]})},T=I3.useMemo(()=>({formattedValue:A,percentageValue:y,setLabelId:g,state:C,value:l}),[A,y,g,C,l]),I=Zt("div",t,{state:C,ref:n,props:[E,f],stateAttributesMapping:uM});return h(jIe.Provider,{value:T,children:I})})});var rAt,eTe;var oAt=P(()=>{vr();bae();xae();rAt=z(re(),1),eTe=rAt.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,{state:s}=vae();return Zt("div",t,{state:s,ref:n,props:i,stateAttributesMapping:uM})})});var aAt,iAt;var sAt=P(()=>{vr();bae();xae();aAt=z(re(),1),iAt=aAt.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,{percentageValue:s,state:l}=vae(),c=s==null?{}:{insetInlineStart:0,height:"inherit",width:`${s}%`};return Zt("div",t,{state:l,ref:n,props:[{style:c},i],stateAttributesMapping:uM})})});var cAt=P(()=>{nAt();oAt();sAt()});var uAt=P(()=>{cAt()});var pAt,dAt="relative h-1 overflow-hidden rounded-full bg-secondary-container",Aae;var fAt=P(()=>{rs();uAt();rn();ri();le();pAt=z(re(),1),Aae=pAt.memo((e)=>{let t=ns(),n=e.pending?0:("percent"in e)?e.percent:e.total>0?Math.round(e.value/e.total*100):0;if(e.pending)return h($Ie,{value:null,"aria-busy":"true","aria-label":"Loading","data-m3-component":"ProgressBar",className:Ve("indeterminate-progress-bar",dAt,e.className),children:h(eTe,{className:"block h-full",children:h(Zn.div,{className:"indeterminate-progress-bar__progress absolute inset-y-0 left-0 w-2/5 rounded-full bg-primary",initial:t?!1:{x:"-100%"},animate:{x:t?"0%":"250%"},transition:{duration:t?0:2,ease:Kt.standard,repeat:t?0:1/0}})})});let r=Math.min(100,Math.max(0,n));return h($Ie,{value:r,"aria-label":"Progress","data-m3-component":"ProgressBar",className:Ve(dAt,"w-[94%]",e.className),children:h(eTe,{className:"block h-full",children:h(iAt,{style:{width:`${r}%`},className:"h-full rounded-full bg-primary transition-[width] duration-500 ease-standard motion-reduce:transition-none"})})})});Aae.displayName="ProgressBar"});var wae,mAt="stroke-dashoffset 200ms cubic-bezier(0.2, 0, 0, 1)",eH=({radius:e,progress:t,steps:n=100,cut:r=0,rotate:o=-90,strokeWidth:a=4,strokeColor:i,fillColor:s="none",strokeLinecap:l="round",transition:c=mAt,pointerRadius:u=0,pointerStrokeWidth:d=4,pointerStrokeColor:p,pointerFillColor:f,trackStrokeColor:m,trackStrokeWidth:g=4,trackStrokeLinecap:v="round",trackTransition:y=mAt,counterClockwise:x=!1,inverse:A=!1,initialAnimation:w=!1,initialAnimationDelay:C=0,className:E="",children:T})=>{let I=ns(),[k,L]=wae.useState(!1);wae.useEffect(()=>{if(w&&!I){let q=setTimeout(()=>L(!0),C);return()=>clearTimeout(q)}},[w,C,I]),t=Number.isFinite(t)?Math.min(100,Math.max(0,t)):0;let O=()=>w&&!k&&!I?0:t,B=e*2*Math.PI,U=`${B} ${B}`,D=(100-O())/100*B,N=a*2,_=e*2+N,G=`0 0 ${_} ${_}`,Z=e+a;return M("div",{role:"progressbar","aria-label":"Progress","data-m3-component":"CircularProgress","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.min(100,Math.max(0,t)),className:Ve("relative",E),style:{width:`${_}px`,height:`${_}px`},children:[M("svg",{"aria-hidden":"true",focusable:"false",width:_,height:_,viewBox:G,style:{transform:`rotate(${o}deg)`},children:[g>0&&h("circle",{cx:Z,cy:Z,r:e,fill:"none",stroke:m,strokeWidth:g,strokeDasharray:U,strokeLinecap:v,style:{transition:I?"none":y},className:Ve("track-stroke",!m&&"stroke-secondary-container")}),a>0&&h("circle",{cx:Z,cy:Z,r:e,fill:s,stroke:i,strokeWidth:a,strokeDasharray:U,strokeLinecap:l,style:{transition:I?"none":c,strokeDashoffset:D},className:Ve("progress-stroke",!i&&"stroke-primary")}),u>0&&h("circle",{cx:e,cy:e,r:u,fill:f,stroke:p,strokeWidth:d,style:{transform:`rotate(${o}deg)`,transformOrigin:`${e}px ${e}px`},className:Ve("pointer-stroke",!p&&"stroke-primary",!f&&"fill-on-primary")})]}),T]})};var hAt=P(()=>{rn();rs();le();wae=z(re(),1)});var Sae,Azn,G6;var gAt=P(()=>{rn();n0();le();Sae=z(re(),1),Azn={xs:"h-8 gap-2 px-3",sm:"h-10 gap-3 px-3",md:"h-14 gap-4 px-4"},G6=Sae.forwardRef(({value:e,onChange:t,onClear:n,className:r,placeholder:o="Search...",size:a="md",...i},s)=>{let[l,c]=Sae.useState(""),u=e!==void 0?e:l,d=a!=="md",p=(m)=>{let g=m.target.value;if(t)t(g);else c(g)},f=()=>{if(t)t("");else c("");n?.()};return M("div",{"data-m3-component":"SearchBar",className:Ve("relative flex items-center",Azn[a],"rounded-full bg-surface-container-high text-on-surface","before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-on-surface before:opacity-0 before:transition-opacity before:duration-200 before:ease-standard before:content-['']","hover:before:opacity-8","has-[:disabled]:opacity-38",r),children:[h(at,{name:"search",size:d?20:24,className:"text-on-surface"}),h("input",{ref:s,type:"text",value:u,onChange:p,placeholder:o,className:Ve("relative min-w-0 flex-1 border-0 bg-transparent p-0 outline-none",d?"text-body-medium":"text-body-large","text-on-surface placeholder:text-on-surface-variant","focus:border-0 focus:outline-none focus:ring-0"),...i}),u&&h("button",{type:"button",onClick:f,"aria-label":"Clear Search",className:Ve("relative -mr-1 inline-flex shrink-0 items-center justify-center rounded-full text-on-surface-variant outline-none","transition-colors duration-200 ease-standard hover:bg-on-surface-variant/8 active:bg-on-surface-variant/10","focus-visible:outline-3 focus-visible:outline-secondary",a==="xs"?"size-6":d?"size-8":"size-10"),children:h(at,{name:"close",size:a==="xs"?18:d?20:24})})]})});G6.displayName="SearchBar"});var yAt,vAt,wzn,yn;var bAt=P(()=>{x2();rn();n0();AP();le();yAt=z(re(),1),vAt=kc(["inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full border","transition-[background-color,border-color,color,transform] duration-200 ease-standard","active:scale-95 disabled:pointer-events-none disabled:cursor-not-allowed",Ta,Yn],{variants:{variant:{default:["border-transparent bg-surface-container-high text-on-surface-variant","disabled:bg-on-surface/12 disabled:text-on-surface/38"],active:["border-transparent bg-secondary-container text-on-secondary-container","disabled:bg-on-surface/12 disabled:text-on-surface/38"],accent:["border-transparent bg-primary text-on-primary","disabled:bg-on-surface/12 disabled:text-on-surface/38"],solid:["border-outline-variant bg-surface-container text-on-surface-variant","disabled:border-on-surface/12 disabled:text-on-surface/38"],standard:"border-transparent bg-transparent text-on-surface-variant disabled:text-on-surface/38",filled:["border-transparent bg-primary text-on-primary","disabled:bg-on-surface/12 disabled:text-on-surface/38"],tonal:["border-transparent bg-secondary-container text-on-secondary-container","disabled:bg-on-surface/12 disabled:text-on-surface/38"],outlined:["border-outline-variant bg-transparent text-on-surface-variant","disabled:border-on-surface/12 disabled:text-on-surface/38"]},size:{sm:"h-8 min-w-8",md:"h-10 min-w-10",lg:"h-12 min-w-12"}},defaultVariants:{variant:"default",size:"md"}}),wzn={sm:18,md:20,lg:24},yn=yAt.forwardRef(({icon:e,active:t,activeAccent:n,variant:r,size:o,className:a,children:i,type:s="button",...l},c)=>{let u=r??(t&&n?"accent":t?"active":"default"),d=wzn[o??"md"],p=u==="active"||u==="accent";return M("button",{ref:c,type:s,"aria-pressed":t!==void 0?p:void 0,className:Ve(vAt({variant:u,size:o}),i&&"w-auto gap-2 px-4",a),"data-m3-component":"CircleButton",...l,children:[e!==void 0&&Gd(e,{size:d,filled:p||void 0,className:"shrink-0"}),i&&h("span",{className:"text-label-large",children:i})]})});yn.displayName="CircleButton"});function sI({children:e,className:t}){let n=dM.Children.toArray(e);return h("div",{role:"group",className:Ve("flex h-10 items-center rounded-full","bg-surface-container-high text-on-surface-variant","overflow-hidden",t),children:n.map((r,o)=>{if(!dM.isValidElement(r))return r;return M("div",{className:"relative flex h-full items-center",children:[dM.cloneElement(r,{className:Ve(r.props.className,"!h-full !rounded-none !border-0 !bg-transparent !shadow-none")}),o{rn();le();dM=z(re(),1)});function Szn(e){if(e.defaultPrevented)return;let t=e.target;if(!(t instanceof Element))return;let n=t.closest('button[role="tab"]');if(!n||!e.currentTarget.contains(n))return;let r=Array.from(e.currentTarget.querySelectorAll('button[role="tab"]:not(:disabled)')),o=r.indexOf(n);if(o<0)return;let a;switch(e.key){case"ArrowRight":a=(o+1)%r.length;break;case"ArrowLeft":a=(o-1+r.length)%r.length;break;case"Home":a=0;break;case"End":a=r.length-1;break;default:return}e.preventDefault();let i=r[a];if(i.focus(),i!==n)i.click()}var tTe,Cae,Eae;var AAt=P(()=>{rs();rn();ri();n0();AP();le();tTe=z(re(),1);Cae=tTe.forwardRef(({layoutId:e="tab-bar",trailing:t,className:n,children:r,...o},a)=>M("div",{ref:a,"data-m3-component":"TabBar",className:Ve("flex h-10 shrink-0 items-stretch gap-1 border-b border-outline-variant bg-surface",n),...o,children:[h(ICe,{id:e,children:h("div",{role:"tablist","aria-label":"Open tabs",tabIndex:-1,onKeyDown:Szn,className:"flex min-w-0 flex-1 items-stretch",children:r})}),t&&h("div",{className:"flex items-center",children:t})]}));Cae.displayName="TabBar";Eae=tTe.forwardRef(({active:e,label:t,onClose:n,closable:r,closeIcon:o,className:a,...i},s)=>{let l=ns(),c=r??!!n;return M("div",{className:Ve("group relative flex min-w-0 flex-1 items-stretch justify-center",a),children:[M("button",{ref:s,type:"button",role:"tab","aria-selected":!!e,tabIndex:e?0:-1,className:Ve("flex w-full min-w-0 items-center justify-center text-label-large","transition-colors duration-200 ease-standard",Ta,Yn,e?"text-primary":"text-on-surface-variant hover:text-on-surface"),...i,children:[h("span",{className:"relative truncate px-6",children:t}),e&&h(Zn.div,{layoutId:l?void 0:"activeTab",className:"absolute inset-x-4 bottom-0 h-[3px] rounded-t-full bg-primary",initial:!1,transition:{duration:l?0:mn.medium2,ease:Kt.emphasized}})]}),c&&e&&h("button",{type:"button","aria-label":"Close tab",onClick:(u)=>{u.stopPropagation(),n?.()},className:Ve("absolute left-1.5 top-1/2 z-10 flex size-5 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full","text-on-surface-variant transition-colors duration-200 ease-standard","hover:bg-on-surface/8 hover:text-on-surface active:bg-on-surface/10",Yn),title:"Close tab",children:o??h(at,{name:"close",size:16})})]})});Eae.displayName="TabBarItem"});var lI,wAt="border border-transparent bg-surface-container-low shadow-md3-1",Czn="border border-transparent bg-surface-container-highest",SAt="border border-outline-variant bg-surface",Ezn,Ds,Iae,Tae,CAt,kae,EAt;var IAt=P(()=>{rn();le();lI=z(re(),1),Ezn={default:wAt,dark:SAt,elevated:wAt,filled:Czn,outlined:SAt},Ds=lI.forwardRef(({className:e,variant:t="default",...n},r)=>h("div",{ref:r,className:Ve("rounded-medium text-on-surface",Ezn[t],e),"data-m3-component":"Card",...n}));Ds.displayName="Card";Iae=lI.forwardRef(({className:e,...t},n)=>h("div",{ref:n,className:Ve("flex flex-col gap-1 p-4",e),"data-m3-component":"CardHeader",...t}));Iae.displayName="CardHeader";Tae=lI.forwardRef(({className:e,children:t,...n},r)=>h("h3",{ref:r,className:Ve("text-title-large text-on-surface",e),"data-m3-component":"CardTitle",...n,children:t}));Tae.displayName="CardTitle";CAt=lI.forwardRef(({className:e,...t},n)=>h("p",{ref:n,className:Ve("text-body-medium text-on-surface-variant",e),"data-m3-component":"CardDescription",...t}));CAt.displayName="CardDescription";kae=lI.forwardRef(({className:e,...t},n)=>h("div",{ref:n,className:Ve("p-4 pt-0 text-body-medium",e),"data-m3-component":"CardContent",...t}));kae.displayName="CardContent";EAt=lI.forwardRef(({className:e,...t},n)=>h("div",{ref:n,className:Ve("flex items-center gap-2 p-4 pt-0",e),"data-m3-component":"CardFooter",...t}));EAt.displayName="CardFooter"});function Pf({className:e,variant:t,size:n,...r}){return h("div",{className:Ve(TAt({variant:t,size:n}),e),"data-m3-component":"Badge",...r})}var TAt;var kAt=P(()=>{rn();x2();le();TAt=kc("inline-flex shrink-0 items-center gap-1 whitespace-nowrap rounded-small border font-plain transition-colors duration-200 ease-standard",{variants:{variant:{default:"border-outline-variant bg-surface-container-high text-on-surface-variant",secondary:"border-transparent bg-secondary-container text-on-secondary-container",outline:"border-outline-variant bg-transparent text-on-surface-variant",accent:"border-transparent bg-primary-container text-on-primary-container",success:"border-transparent bg-success-container text-on-success-container",warning:"border-transparent bg-warning-container text-on-warning-container",error:"border-transparent bg-error-container text-on-error-container",destructive:"border-transparent bg-error-container text-on-error-container",info:"border-transparent bg-primary-container text-on-primary-container",tertiary:"border-transparent bg-tertiary-container text-on-tertiary-container",badge:"justify-center rounded-full border-transparent bg-error text-on-error"},size:{sm:"h-4 min-w-4 px-1 text-label-small",default:"h-5 px-1.5 text-label-small",md:"h-6 px-2 text-label-medium",lg:"h-8 px-3 text-label-large"}},defaultVariants:{variant:"default",size:"default"}})});function Pae(){let e=Rae.useContext(nTe);if(e===void 0)throw Error(Dn(10));return e}var Rae,nTe;var Mae=P(()=>{zo();Rae=z(re(),1),nTe=Rae.createContext(void 0)});var q6,Izn,RAt;var PAt=P(()=>{xb();da();Ci();lE();Mae();vr();le();q6=z(re(),1),Izn={value:()=>null},RAt=q6.forwardRef(function(t,n){let{render:r,className:o,disabled:a=!1,hiddenUntilFound:i,keepMounted:s,loopFocus:l,onValueChange:c,multiple:u=!1,orientation:d="vertical",value:p,defaultValue:f,style:m,...g}=t,v=f??Rc,y=q6.useRef([]),[x,A]=Zd({controlled:p,default:v,name:"Accordion",state:"value"}),w=Ot((I,k,L)=>{if(!u){let O=x[0]===I?[]:[I];if(c?.(O,L),L.isCanceled)return;A(O)}else if(k){let O=x.slice();if(O.push(I),c?.(O,L),L.isCanceled)return;A(O)}else{let O=x.filter((B)=>B!==I);if(c?.(O,L),L.isCanceled)return;A(O)}}),C=q6.useMemo(()=>({value:x,disabled:a,orientation:d}),[x,a,d]),E=q6.useMemo(()=>({disabled:a,handleValueChange:w,hiddenUntilFound:i??!1,keepMounted:s??!1,state:C,value:x}),[a,w,i,s,C,x]),T=Zt("div",t,{state:C,ref:n,props:g,stateAttributesMapping:Izn});return h(nTe.Provider,{value:E,children:h(W1,{elementsRef:y,children:T})})})});function MAt(e){let{open:t,defaultOpen:n=!1,onOpenChange:r,disabled:o}=e,[a,i]=Zd({controlled:t,default:n,name:"Collapsible",state:"open"}),{mounted:s,setMounted:l,transitionStatus:c}=Sp(a,!0,!0),u=go(),[d,p]=Dae.useState(),f=d===null?void 0:d??u,m=Ot((g)=>{let v=!a,y=un(Ib,g.nativeEvent);if(r(v,y),y.isCanceled)return;i(v)});return Dae.useMemo(()=>({defaultPanelId:u,disabled:o,handleTrigger:m,mounted:s,open:a,panelId:f,setMounted:l,setOpen:i,setPanelIdState:p,transitionStatus:c}),[u,o,m,s,a,f,l,i,p,c])}var Dae;var DAt=P(()=>{xb();da();_l();ka();ko();Pb();Dae=z(re(),1)});function Bae(){let e=Lae.useContext(rTe);if(e===void 0)throw Error(Dn(15));return e}var Lae,rTe;var Oae=P(()=>{zo();Lae=z(re(),1),rTe=Lae.createContext(void 0)});function pM(){let e=Fae.useContext(oTe);if(e===void 0)throw Error(Dn(9));return e}var Fae,oTe;var tH=P(()=>{zo();Fae=z(re(),1),oTe=Fae.createContext(void 0)});var LAt="data-open",BAt="data-closed",OAt,VFo;var aTe=P(()=>{H1();OAt=H4,VFo=LP});var UAt="data-panel-open";var kzn,Rzn,NAt,zAt;var iTe=P(()=>{aTe();kzn={[LAt]:""},Rzn={[BAt]:""},NAt={open(e){if(e)return{[UAt]:""};return null}},zAt={open(e){if(e)return kzn;return Rzn}}});var _At="data-index";var fM;var Uae=P(()=>{iTe();H1();fM={...zAt,index:(e)=>({[_At]:String(e)}),...Cp,value:()=>null}});var T3,HAt;var VAt=P(()=>{da();U1();_l();DAt();Oae();Fb();Mae();tH();Uae();vr();le();T3=z(re(),1),HAt=T3.forwardRef(function(t,n){let{className:r,disabled:o=!1,onOpenChange:a,render:i,value:s,style:l,...c}=t,{ref:u,index:d}=Ip(),p=cl(n,u),{disabled:f,handleValueChange:m,state:g,value:v}=Pae(),y=go(),x=s??y,A=o||f,w=v.indexOf(x)!==-1,C=Ot((_,G)=>{if(a?.(_,G),G.isCanceled)return;m(x,_,G)}),E=MAt({open:w,onOpenChange:C,disabled:A}),T=T3.useMemo(()=>({open:E.open,disabled:E.disabled,transitionStatus:E.transitionStatus}),[E.open,E.disabled,E.transitionStatus]),I=T3.useMemo(()=>({...E,onOpenChange:C,state:T}),[E,T,C]),k=T3.useMemo(()=>({...g,hidden:!w&&!E.mounted,index:d,disabled:A,open:w}),[E.mounted,A,d,w,g]),L=go(),[O,B]=T3.useState(),U=O===null?void 0:O??L,D=T3.useMemo(()=>({defaultTriggerId:L,open:w,state:k,setTriggerId:B,triggerId:U}),[L,w,k,B,U]),N=Zt("div",t,{state:k,ref:p,props:c,stateAttributesMapping:fM});return h(rTe.Provider,{value:I,children:h(oTe.Provider,{value:D,children:N})})})});var GAt,qAt;var ZAt=P(()=>{vr();tH();Uae();GAt=z(re(),1),qAt=GAt.forwardRef(function(t,n){let{render:r,className:o,style:a,...i}=t,{state:s}=pM();return Zt("h3",t,{state:s,ref:n,props:i,stateAttributesMapping:fM})})});var QAt,XAt;var WAt=P(()=>{Nr();iTe();KA();Oae();tH();vr();QAt=z(re(),1),XAt=QAt.forwardRef(function(t,n){let{disabled:r,className:o,id:a,render:i,nativeButton:s=!0,style:l,...c}=t,{panelId:u,open:d,handleTrigger:p,disabled:f}=Bae(),m=r||f,{getButtonProps:g,buttonRef:v}=Ys({disabled:m,focusableWhenDisabled:!0,native:s}),{defaultTriggerId:y,state:x,setTriggerId:A}=pM(),w=a||void 0,C=w??y;return Ct(()=>(A((I)=>w??(I===null?void 0:I)),()=>{A((I)=>I===w?null:I)}),[w,A]),Zt("button",t,{state:x,ref:[n,v],props:[{"aria-controls":d?u:void 0,"aria-expanded":d,id:C,onClick:p},c,g],stateAttributesMapping:NAt})})});function KAt(e){let{externalRef:t,hiddenUntilFound:n,id:r,keepMounted:o,mounted:a,onOpenChange:i,open:s,setMounted:l,setOpen:c,transitionStatus:u}=e,d=ph.useRef(null),p=ph.useRef(null),[f,m]=ph.useState(nH),g=ph.useRef(nH),v=ph.useRef(!1),y=ph.useRef(s),x=ph.useRef(!1),[A,w]=ph.useState(!1),C=ph.useRef(null),E=cl(t,d),T=ti(s),I=Rb(d),k=!s&&!a,L=A?"idle":u,O=s&&(y.current||x.current),B=!s&&a&&p.current==="css-animation"&&f.height===void 0&&f.width===void 0?g.current:f,U=n&&k&&p.current!=="css-animation",D=Ot((q,H=!0)=>{if(H)g.current=q;m(q)}),N=Ot(()=>{C.current?.(),C.current=null}),_=Ot((q)=>{N(),C.current=()=>{C.current=null,q()}}),G=Ot(()=>{if(s&&a&&p.current==="css-animation")x.current=!0});Ct(()=>{if(!A||u==="starting")return;w(!1)},[A,u]),ph.useEffect(()=>()=>{G(),N()},[G,N]),Ct(()=>{let q=d.current;if(!q)return;if(!s&&C.current)N();let H=Mzn(q,O);if(p.current=H,s&&u==="idle"&&y.current&&H==="css-animation"){g.current=mM(q);return}if(s&&u==="starting"){let j=v.current;if(v.current=!1,H==="none"){D(mM(q)),w(!0);return}if(H==="css-transition"){let Y=Dzn(q);if(D(mM(q)),!j)return Y;let ae=Nae(q,"transition-duration","0s");return _(ae),w(!0),Y}D(mM(q));let oe=Nae(q,"animation-name","none");if(!j){oe();return}let J=Nae(q,"animation-duration","0s");oe(),_(J),w(!0);return}if(!s&&a&&(u==="idle"||u==="starting")){if(y.current=!1,x.current=!1,H==="none"){D(nH,!1),l(!1);return}D(mM(q));return}if(u!=="ending")return;if(H==="none"){l(!1);return}let te=mM(q);if(!(te.height>0||te.width>0)){l(!1);return}if(D(te),H==="css-animation")Nae(q,"animation-name","none")();return},[a,s,N,D,l,_,O,u]),ji({enabled:s&&a&&L==="idle",open:!0,ref:d,onComplete(){if(!s)return;D(nH,!1)}}),ph.useEffect(()=>{if(s||!a||L!=="ending")return;if(!d.current)return;let H=new AbortController,te=-1;function ie(){if(T.current)return;l(!1),D(nH,!1)}return te=Cf.request(()=>{I(ie,H.signal)}),()=>{Cf.cancel(te),H.abort()}},[T,a,s,L,I,D,l]),Ct(()=>{let q=d.current;if(!q||!n||!k)return;q.setAttribute("hidden","until-found")},[k,n]),ph.useEffect(function(){let H=d.current;if(!H)return;function te(ie){let j=un(_1,ie);if(i(!0,j),j.isCanceled)return;v.current=!0,c(!0)}return zr(H,"beforematch",te)},[i,c]);let Z=o||n||a||s;return{height:B.height,props:{...U?{[OAt]:""}:void 0,hidden:k,id:r},ref:E,shouldPreventOpenAnimation:O,shouldRender:Z,transitionStatus:L,width:B.width}}function mM(e){return{height:e.scrollHeight,width:e.scrollWidth}}function Mzn(e,t){let n=Io(e).getComputedStyle(e),r=(n.animationName.split(",").map((a)=>a.trim()).some((a)=>a!==""&&a!=="none")||t)&&YAt(n.animationDuration),o=YAt(n.transitionDuration);if(r&&o)return"css-transition";if(o)return"css-transition";if(r)return"css-animation";return"none"}function YAt(e){return e.split(",").map((t)=>t.trim()).some((t)=>t!==""&&Number.parseFloat(t)>0)}function Nae(e,t,n){let r=e.style.getPropertyValue(t),o=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===""){e.style.removeProperty(t);return}e.style.setProperty(t,r,o)}}function Dzn(e){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach((o)=>{e.style.setProperty(o,"initial","important")});function n(){Object.entries(t).forEach(([o,a])=>{if(a===""){e.style.removeProperty(o);return}e.style.setProperty(o,a)})}let r=Cf.request(n);return()=>{Cf.cancel(r),n()}}var ph,nH;var JAt=P(()=>{Nr();U1();kb();da();Ob();ul();ka();ko();oh();BP();aTe();ph=z(re(),1),nH={height:void 0,width:void 0}});var jAt="--accordion-panel-height",$At="--accordion-panel-width";var sTe,e3t;var t3t=P(()=>{Nr();Oae();JAt();Mae();tH();Uae();vr();sTe=z(re(),1),e3t=sTe.forwardRef(function(t,n){let{className:r,hiddenUntilFound:o,keepMounted:a,id:i,render:s,style:l,...c}=t,{hiddenUntilFound:u,keepMounted:d}=Pae(),{defaultPanelId:p,mounted:f,onOpenChange:m,open:g,setMounted:v,setOpen:y,setPanelIdState:x,transitionStatus:A}=Bae(),w=o??u,C=a??d,E=i||void 0,T=i??p;Ct(()=>(x((H)=>E??(H===null?void 0:H)),()=>{x((H)=>H===E?null:H)}),[E,x]);let{height:I,props:k,ref:L,shouldPreventOpenAnimation:O,shouldRender:B,transitionStatus:U,width:D}=KAt({externalRef:n,hiddenUntilFound:w,id:T,keepMounted:C,mounted:f,onOpenChange:m,open:g,setMounted:v,setOpen:y,transitionStatus:A}),{state:N,triggerId:_}=pM(),G={...N,transitionStatus:U},Z=F$(l,G),q=Zt("div",{...t,style:void 0},{state:G,ref:L,props:[k,{"aria-labelledby":_,role:"region",style:{[jAt]:I===void 0?"auto":`${I}px`,[$At]:D===void 0?"auto":`${D}px`}},c,Z?{style:Z}:void 0,O?{style:{animationName:"none"}}:void 0],stateAttributesMapping:fM});if(!B)return null;return q})});var r3t=P(()=>{PAt();VAt();ZAt();WAt();t3t()});var o3t=P(()=>{r3t()});var hM,zae,_ae,a3t,Hae,Vae;var i3t=P(()=>{o3t();rn();V1();n0();le();hM=z(re(),1),zae=hM.forwardRef(({className:e,variant:t="outlined",...n},r)=>{let o={outlined:"border border-outline-variant divide-y divide-outline-variant rounded-large bg-surface",elevated:"rounded-large bg-surface-container-low shadow-elevation-1 divide-y divide-outline-variant/30",filled:"rounded-large bg-surface-container divide-y divide-outline-variant/30",tonal:"rounded-large bg-secondary-container/40 divide-y divide-outline-variant/30"}[t];return h(RAt,{ref:r,className:io(Ve("w-full overflow-hidden transition-all duration-200",o),e),"data-m3-component":"Accordion",...n})});zae.displayName="AccordionRoot";_ae=hM.forwardRef(({className:e,...t},n)=>h(HAt,{ref:n,className:io("group/item transition-colors duration-200 first:rounded-t-large last:rounded-b-large",e),...t}));_ae.displayName="AccordionItem";a3t=hM.forwardRef(({className:e,...t},n)=>h(qAt,{ref:n,className:io("m-0 flex items-center",e),...t}));a3t.displayName="AccordionHeader";Hae=hM.forwardRef(({className:e,children:t,indicator:n=!0,asChild:r,...o},a)=>{let i=am(r,t);return h(XAt,{ref:a,className:io(Ve("group/trigger flex min-h-14 w-full items-center justify-between gap-4 px-5 text-left","text-title-medium font-medium text-on-surface","transition-colors duration-200 ease-standard hover:bg-on-surface/8 active:bg-on-surface/12","outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-primary","disabled:cursor-not-allowed disabled:opacity-38 data-disabled:cursor-not-allowed data-disabled:opacity-38"),e),render:i.render,nativeButton:i.nativeButton,"data-m3-component":"AccordionTrigger",...o,children:i.render?void 0:M(Ht,{children:[h("span",{className:"flex-1",children:t}),n&&h("span",{className:"flex shrink-0 text-on-surface-variant transition-transform duration-300 ease-emphasized group-data-panel-open/item:rotate-180",children:h(at,{name:"expand_more",size:24})})]})})});Hae.displayName="AccordionTrigger";Vae=hM.forwardRef(({className:e,children:t,...n},r)=>h(e3t,{ref:r,className:io(Ve("overflow-hidden text-body-medium text-on-surface-variant","h-[var(--accordion-panel-height)] transition-[height,opacity] duration-300 ease-emphasized","data-[ending-style]:h-0 data-[ending-style]:opacity-0","data-[starting-style]:h-0 data-[starting-style]:opacity-0"),e),...n,children:h("div",{className:"px-5 pb-5 pt-1",children:t})}));Vae.displayName="AccordionPanel"});function s3t(e){return fte("alert-dialog",e)}var l3t=P(()=>{KSe()});var c3t;var u3t=P(()=>{$Se();c3t=hte});var p3t=P(()=>{l3t();nSe();rSe();oSe();ZSe();QSe();jSe();u3t()});var f3t=P(()=>{p3t()});function Ng({open:e,onOpenChange:t,title:n,description:r,confirmLabel:o="Confirm",cancelLabel:a="Cancel",destructive:i=!1,onConfirm:s,children:l}){return M(lTe,{open:e,onOpenChange:t,children:[l&&h(Gae,{asChild:!0,children:l}),M(cTe,{children:[h(qae,{}),M(Zae,{children:[h(Qae,{children:n}),h(Xae,{children:r}),M("div",{className:"mt-2 flex justify-end gap-2",children:[h(rH,{asChild:!0,children:h(Vt,{variant:"text",size:"md",children:a})}),h(rH,{asChild:!0,children:h(Vt,{variant:"filled",size:"md",className:i?"bg-error text-on-error hover:bg-error/90":void 0,onClick:s,children:o})})]})]})]})]})}var cI,lTe,Gae,cTe,qae,Zae,Qae,Xae,rH;var m3t=P(()=>{f3t();rn();V1();twe();le();cI=z(re(),1),lTe=s3t,Gae=cI.forwardRef(({className:e,children:t,asChild:n,...r},o)=>{let a=am(n,t);return h(c3t,{ref:o,className:io("",e),render:a.render,nativeButton:a.nativeButton,...r,children:a.render?void 0:t})});Gae.displayName="AlertDialogTrigger";cTe=YN,qae=cI.forwardRef(({className:e,...t},n)=>h(kN,{ref:n,className:io(Ve("fixed inset-0 z-50 bg-scrim/38 backdrop-blur-xs transition-opacity duration-200 ease-standard","data-[ending-style]:opacity-0 data-[starting-style]:opacity-0"),e),...t}));qae.displayName="AlertDialogBackdrop";Zae=cI.forwardRef(({className:e,children:t,...n},r)=>h(XN,{ref:r,className:io(Ve("fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2","w-full max-w-[calc(100vw-3rem)] sm:max-w-lg","rounded-extra-large bg-surface-container-high p-6 shadow-elevation-3","flex flex-col gap-4 text-on-surface outline-none","transition-[opacity,transform] duration-200 ease-emphasized","data-[ending-style]:scale-90 data-[ending-style]:opacity-0","data-[starting-style]:scale-90 data-[starting-style]:opacity-0"),e),...n,children:t}));Zae.displayName="AlertDialogPopup";Qae=cI.forwardRef(({className:e,...t},n)=>h(KN,{ref:n,className:io("m-0 text-headline-small font-semibold text-on-surface",e),...t}));Qae.displayName="AlertDialogTitle";Xae=cI.forwardRef(({className:e,...t},n)=>h(PN,{ref:n,className:io("m-0 text-body-medium text-on-surface-variant",e),...t}));Xae.displayName="AlertDialogDescription";rH=cI.forwardRef(({className:e,children:t,asChild:n,...r},o)=>{let a=am(n,t);return h(RN,{ref:o,className:io("",e),render:a.render,nativeButton:a.nativeButton,...r,children:a.render?void 0:t})});rH.displayName="AlertDialogClose";Ng.Root=lTe;Ng.Trigger=Gae;Ng.Portal=cTe;Ng.Backdrop=qae;Ng.Popup=Zae;Ng.Title=Qae;Ng.Description=Xae;Ng.Close=rH});var gn=P(()=>{twe();drt();hot();kot();Uat();hEe();hEe();D2t();rvt();Ivt();Pbt();_xt();Gxt();Jxt();jxt();fAt();hAt();gAt();bAt();xAt();AAt();IAt();kAt();n0();AP();i3t();m3t()});var E3t="./fonts/Album-20.png";var C3t=()=>{};var T3t="./fonts/Album.png";var I3t=()=>{};var R3t="./fonts/Album_Light.png";var k3t=()=>{};var M3t="./fonts/Alias-20.png";var P3t=()=>{};var L3t="./fonts/Alias.png";var D3t=()=>{};var O3t="./fonts/Alias_Light.png";var B3t=()=>{};var U3t="./fonts/AndroidPhotos.png";var F3t=()=>{};var z3t="./fonts/AppleFiles.png";var N3t=()=>{};var H3t="./fonts/ApplePhotos.png";var _3t=()=>{};var dTe="./fonts/Application.png";var V3t=()=>{};var pTe="./fonts/Application_Light.png";var G3t=()=>{};var Z3t="./fonts/Archive-20.png";var q3t=()=>{};var X3t="./fonts/Archive.png";var Q3t=()=>{};var Y3t="./fonts/Archive_Light.png";var W3t=()=>{};var J3t="./fonts/Audio-20.png";var K3t=()=>{};var $3t="./fonts/Audio.png";var j3t=()=>{};var twt="./fonts/Audio_Light.png";var ewt=()=>{};var rwt="./fonts/Ball.png";var nwt=()=>{};var awt="./fonts/Book-20.png";var owt=()=>{};var swt="./fonts/Book.png";var iwt=()=>{};var cwt="./fonts/BookBlue.png";var lwt=()=>{};var dwt="./fonts/Book_Light.png";var uwt=()=>{};var fwt="./fonts/CloudSync.png";var pwt=()=>{};var hwt="./fonts/CloudSync_Light.png";var mwt=()=>{};var ywt="./fonts/Code-20.png";var gwt=()=>{};var bwt="./fonts/Collection-20.png";var vwt=()=>{};var Awt="./fonts/Collection.png";var xwt=()=>{};var Swt="./fonts/CollectionSparkle.png";var wwt=()=>{};var Ewt="./fonts/CollectionSparkle_Light.png";var Cwt=()=>{};var Twt="./fonts/Collection_Light.png";var Iwt=()=>{};var Rwt="./fonts/Compute.png";var kwt=()=>{};var Mwt="./fonts/Config-20.png";var Pwt=()=>{};var fTe="./fonts/DAV.png";var Dwt=()=>{};var Bwt="./fonts/Database-20.png";var Lwt=()=>{};var Fwt="./fonts/Database_Light.png";var Owt=()=>{};var Nwt="./fonts/DeleteLocation.png";var Uwt=()=>{};var _wt="./fonts/Devices.png";var zwt=()=>{};var Vwt="./fonts/Document-20.png";var Hwt=()=>{};var qwt="./fonts/Document.png";var Gwt=()=>{};var Qwt="./fonts/Document_Light.png";var Zwt=()=>{};var Wwt="./fonts/Document_doc.png";var Xwt=()=>{};var Kwt="./fonts/Document_doc_Light.png";var Ywt=()=>{};var jwt="./fonts/Document_memory.png";var Jwt=()=>{};var eSt="./fonts/Document_pdf.png";var $wt=()=>{};var nSt="./fonts/Document_pdf_Light.png";var tSt=()=>{};var oSt="./fonts/Document_srt.png";var rSt=()=>{};var iSt="./fonts/Document_xls.png";var aSt=()=>{};var lSt="./fonts/Document_xls_Light.png";var sSt=()=>{};var uSt="./fonts/Document_xmp.png";var cSt=()=>{};var pSt="./fonts/Dotfile-20.png";var dSt=()=>{};var mSt="./fonts/Drive-AmazonS3_Light.png";var fSt=()=>{};var gSt="./fonts/Drive-BackBlaze_Light.png";var hSt=()=>{};var vSt="./fonts/Drive-DAV_Light.png";var ySt=()=>{};var xSt="./fonts/Drive-Darker.png";var bSt=()=>{};var wSt="./fonts/Drive-Dropbox_Light.png";var ASt=()=>{};var CSt="./fonts/Drive-GoogleDrive_Light.png";var SSt=()=>{};var ISt="./fonts/Drive-Mega.png";var ESt=()=>{};var kSt="./fonts/Drive-Mega_Light.png";var TSt=()=>{};var PSt="./fonts/Drive-OneDrive_Light.png";var RSt=()=>{};var DSt="./fonts/Drive-OpenStack.png";var MSt=()=>{};var BSt="./fonts/Drive-OpenStack_Light.png";var LSt=()=>{};var FSt="./fonts/Drive-PCloud_Light.png";var OSt=()=>{};var NSt="./fonts/Drive-box_Light.png";var USt=()=>{};var _St="./fonts/Drive_Light.png";var zSt=()=>{};var VSt="./fonts/Encrypted-20.png";var HSt=()=>{};var qSt="./fonts/Encrypted.png";var GSt=()=>{};var QSt="./fonts/Encrypted_Light.png";var ZSt=()=>{};var WSt="./fonts/Entity.png";var XSt=()=>{};var KSt="./fonts/Entity_Light.png";var YSt=()=>{};var jSt="./fonts/Executable-20.png";var JSt=()=>{};var e4t="./fonts/Executable_Light_old.png";var $St=()=>{};var n4t="./fonts/Executable_old.png";var t4t=()=>{};var o4t="./fonts/Face_Light.png";var r4t=()=>{};var i4t="./fonts/Folder-20.png";var a4t=()=>{};var l4t="./fonts/Folder-tag-xmp.png";var s4t=()=>{};var k3="./fonts/Folder.png";var mTe=()=>{};var u4t="./fonts/FolderGrey.png";var c4t=()=>{};var p4t="./fonts/FolderGrey_Light.png";var d4t=()=>{};var m4t="./fonts/FolderNoSpace.png";var f4t=()=>{};var g4t="./fonts/FolderNoSpace_Light.png";var h4t=()=>{};var Jae="./fonts/Folder_Light.png";var y4t=()=>{};var b4t="./fonts/Font-20.png";var v4t=()=>{};var A4t="./fonts/Game.png";var x4t=()=>{};var S4t="./fonts/Game_Light.png";var w4t=()=>{};var E4t="./fonts/Globe.png";var C4t=()=>{};var T4t="./fonts/GlobeAlt.png";var I4t=()=>{};var R4t="./fonts/Globe_Light.png";var k4t=()=>{};var M4t="./fonts/HDD_Light.png";var P4t=()=>{};var L4t="./fonts/Heart.png";var D4t=()=>{};var O4t="./fonts/Heart_Light.png";var B4t=()=>{};var U4t="./fonts/Home.png";var F4t=()=>{};var z4t="./fonts/Home_Light.png";var N4t=()=>{};var H4t="./fonts/Image-20.png";var _4t=()=>{};var G4t="./fonts/Image.png";var V4t=()=>{};var Z4t="./fonts/Image_Light.png";var q4t=()=>{};var X4t="./fonts/Indexed.png";var Q4t=()=>{};var Y4t="./fonts/Key-20.png";var W4t=()=>{};var J4t="./fonts/Key.png";var K4t=()=>{};var $4t="./fonts/Key_Light.png";var j4t=()=>{};var t6t="./fonts/Keys.png";var e6t=()=>{};var r6t="./fonts/Keys_Light.png";var n6t=()=>{};var a6t="./fonts/Laptop_Light.png";var o6t=()=>{};var s6t="./fonts/Link-20.png";var i6t=()=>{};var c6t="./fonts/Link.png";var l6t=()=>{};var d6t="./fonts/Link_Light.png";var u6t=()=>{};var V2="./fonts/Location.png";var hTe=()=>{};var f6t="./fonts/LocationManaged.png";var p6t=()=>{};var h6t="./fonts/LocationReplica.png";var m6t=()=>{};var y6t="./fonts/Lock.png";var g6t=()=>{};var b6t="./fonts/Lock_Light.png";var v6t=()=>{};var A6t="./fonts/Mega.png";var x6t=()=>{};var S6t="./fonts/Mesh-20.png";var w6t=()=>{};var E6t="./fonts/Mesh.png";var C6t=()=>{};var T6t="./fonts/Mesh_Light.png";var I6t=()=>{};var R6t="./fonts/Mobile_Light.png";var k6t=()=>{};var M6t="./fonts/MoveLocation.png";var P6t=()=>{};var L6t="./fonts/MoveLocation_Light.png";var D6t=()=>{};var O6t="./fonts/Movie.png";var B6t=()=>{};var U6t="./fonts/Movie_Light.png";var F6t=()=>{};var z6t="./fonts/NewLocation.png";var N6t=()=>{};var H6t="./fonts/Node.png";var _6t=()=>{};var G6t="./fonts/Node_Light.png";var V6t=()=>{};var Z6t="./fonts/OneDrive.png";var q6t=()=>{};var X6t="./fonts/OpenStack.png";var Q6t=()=>{};var Y6t="./fonts/Package-20.png";var W6t=()=>{};var J6t="./fonts/Package.png";var K6t=()=>{};var $6t="./fonts/Package_Light.png";var j6t=()=>{};var tCt="./fonts/SD.png";var eCt=()=>{};var rCt="./fonts/SD_Light.png";var nCt=()=>{};var aCt="./fonts/Scrapbook.png";var oCt=()=>{};var sCt="./fonts/Scrapbook_Light.png";var iCt=()=>{};var cCt="./fonts/Screenshot-20.png";var lCt=()=>{};var dCt="./fonts/Screenshot.png";var uCt=()=>{};var fCt="./fonts/ScreenshotAlt.png";var pCt=()=>{};var hCt="./fonts/Screenshot_Light.png";var mCt=()=>{};var yCt="./fonts/Search.png";var gCt=()=>{};var bCt="./fonts/SearchAlt.png";var vCt=()=>{};var ACt="./fonts/Search_Light.png";var xCt=()=>{};var SCt="./fonts/Server_Light.png";var wCt=()=>{};var ECt="./fonts/Spacedrop-1.png";var CCt=()=>{};var TCt="./fonts/Spacedrop.png";var ICt=()=>{};var RCt="./fonts/Spacedrop_Light.png";var kCt=()=>{};var MCt="./fonts/Storage.png";var PCt=()=>{};var LCt="./fonts/Sync.png";var DCt=()=>{};var OCt="./fonts/Sync_Light.png";var BCt=()=>{};var UCt="./fonts/Tablet_Light.png";var FCt=()=>{};var zCt="./fonts/Tags.png";var NCt=()=>{};var HCt="./fonts/Tags_Light.png";var _Ct=()=>{};var GCt="./fonts/Terminal.png";var VCt=()=>{};var ZCt="./fonts/Terminal_Light.png";var qCt=()=>{};var XCt="./fonts/Text-20.png";var QCt=()=>{};var gTe="./fonts/Text.png";var WCt=()=>{};var KCt="./fonts/TextAlt_Light.png";var YCt=()=>{};var jCt="./fonts/Text_Light.png";var JCt=()=>{};var e5t="./fonts/Text_txt.png";var $Ct=()=>{};var n5t="./fonts/TexturedMesh.png";var t5t=()=>{};var o5t="./fonts/TexturedMesh_Light.png";var r5t=()=>{};var i5t="./fonts/Trash.png";var a5t=()=>{};var l5t="./fonts/Trash_Light.png";var s5t=()=>{};var u5t="./fonts/Undefined.png";var c5t=()=>{};var p5t="./fonts/Undefined_Light.png";var d5t=()=>{};var m5t="./fonts/Unknown-20.png";var f5t=()=>{};var g5t="./fonts/Video-20.png";var h5t=()=>{};var v5t="./fonts/Video.png";var y5t=()=>{};var x5t="./fonts/Video_Light.png";var b5t=()=>{};var w5t="./fonts/WebPageArchive-20.png";var A5t=()=>{};var C5t="./fonts/Widget-20.png";var S5t=()=>{};var I5t="./fonts/Widget.png";var E5t=()=>{};var k5t="./fonts/Widget_Light.png";var T5t=()=>{};var jae={};Xs(jae,{Album:()=>T3t,Album20:()=>E3t,Album_Light:()=>R3t,Alias:()=>L3t,Alias20:()=>M3t,Alias_Light:()=>O3t,AmazonS3:()=>y2,AndroidPhotos:()=>U3t,AppleFiles:()=>z3t,ApplePhotos:()=>H3t,Application:()=>dTe,Application_Light:()=>pTe,Archive:()=>X3t,Archive20:()=>Z3t,Archive_Light:()=>Y3t,Audio:()=>$3t,Audio20:()=>J3t,Audio_Light:()=>twt,BackBlaze:()=>HU,Ball:()=>rwt,Book:()=>swt,Book20:()=>awt,BookBlue:()=>cwt,Book_Light:()=>dwt,Box:()=>GU,CloudSync:()=>fwt,CloudSync_Light:()=>hwt,Code20:()=>ywt,Collection:()=>Awt,Collection20:()=>bwt,CollectionSparkle:()=>Swt,CollectionSparkle_Light:()=>Ewt,Collection_Light:()=>Twt,Compute:()=>Rwt,Config20:()=>Mwt,DAV:()=>fTe,Database:()=>i$,Database20:()=>Bwt,Database_Light:()=>Fwt,DeleteLocation:()=>Nwt,Devices:()=>_wt,Document:()=>qwt,Document20:()=>Vwt,Document_Light:()=>Qwt,Document_doc:()=>Wwt,Document_doc_Light:()=>Kwt,Document_memory:()=>jwt,Document_pdf:()=>eSt,Document_pdf_Light:()=>nSt,Document_srt:()=>oSt,Document_xls:()=>iSt,Document_xls_Light:()=>lSt,Document_xmp:()=>uSt,Dotfile20:()=>pSt,Drive:()=>N8,DriveAmazonS3:()=>WVn,DriveAmazonS3_Light:()=>mSt,DriveBackBlaze:()=>YVn,DriveBackBlaze_Light:()=>gSt,DriveBox:()=>KVn,DriveDAV:()=>JVn,DriveDAV_Light:()=>vSt,DriveDarker:()=>xSt,DriveDropbox:()=>jVn,DriveDropbox_Light:()=>wSt,DriveGoogleDrive:()=>$Vn,DriveGoogleDrive_Light:()=>CSt,DriveMega:()=>ISt,DriveMega_Light:()=>kSt,DriveOneDrive:()=>r$,DriveOneDrive_Light:()=>PSt,DriveOpenStack:()=>DSt,DriveOpenStack_Light:()=>BSt,DrivePCloud:()=>eGn,DrivePCloud_Light:()=>FSt,Drive_Light:()=>_St,Drivebox_Light:()=>NSt,Dropbox:()=>_U,Encrypted:()=>qSt,Encrypted20:()=>VSt,Encrypted_Light:()=>QSt,Entity:()=>WSt,Entity_Light:()=>KSt,Executable:()=>tGn,Executable20:()=>jSt,Executable_Light:()=>nGn,Executable_Light_old:()=>e4t,Executable_old:()=>n4t,Face_Light:()=>o4t,Folder:()=>k3,Folder20:()=>i4t,FolderGrey:()=>u4t,FolderGrey_Light:()=>p4t,FolderNoSpace:()=>m4t,FolderNoSpace_Light:()=>g4t,Folder_Light:()=>Jae,Foldertagxmp:()=>l4t,Font20:()=>b4t,Game:()=>A4t,Game_Light:()=>S4t,Globe:()=>E4t,GlobeAlt:()=>T4t,Globe_Light:()=>R4t,GoogleDrive:()=>lP,HDD:()=>U8,HDD_Light:()=>M4t,Heart:()=>L4t,Heart_Light:()=>O4t,Home:()=>U4t,Home_Light:()=>z4t,Image:()=>G4t,Image20:()=>H4t,Image_Light:()=>Z4t,Indexed:()=>X4t,Key:()=>J4t,Key20:()=>Y4t,Key_Light:()=>$4t,Keys:()=>t6t,Keys_Light:()=>r6t,Laptop:()=>h2,Laptop_Light:()=>a6t,Link:()=>c6t,Link20:()=>s6t,Link_Light:()=>d6t,Location:()=>V2,LocationManaged:()=>f6t,LocationReplica:()=>h6t,Lock:()=>y6t,Lock_Light:()=>b6t,Mega:()=>A6t,Mesh:()=>E6t,Mesh20:()=>S6t,Mesh_Light:()=>T6t,MiniSilverBox:()=>e$,Mobile:()=>jj,MobileAndroid:()=>NU,Mobile_Light:()=>R6t,MoveLocation:()=>M6t,MoveLocation_Light:()=>L6t,Movie:()=>O6t,Movie_Light:()=>U6t,NewLocation:()=>z6t,Node:()=>H6t,Node_Light:()=>G6t,OneDrive:()=>Z6t,OpenStack:()=>X6t,PC:()=>iP,PCloud:()=>VU,Package:()=>J6t,Package20:()=>Y6t,Package_Light:()=>$6t,SD:()=>tCt,SD_Light:()=>rCt,Scrapbook:()=>aCt,Scrapbook_Light:()=>sCt,Screenshot:()=>dCt,Screenshot20:()=>cCt,ScreenshotAlt:()=>fCt,Screenshot_Light:()=>hCt,Search:()=>yCt,SearchAlt:()=>bCt,Search_Light:()=>ACt,Server:()=>sP,Server_Light:()=>SCt,SilverBox:()=>$j,Spacedrop:()=>TCt,Spacedrop1:()=>ECt,Spacedrop_Light:()=>RCt,Storage:()=>MCt,Sync:()=>LCt,Sync_Light:()=>OCt,Tablet:()=>zU,Tablet_Light:()=>UCt,Tags:()=>zCt,Tags_Light:()=>HCt,Terminal:()=>GCt,Terminal_Light:()=>ZCt,Text:()=>gTe,Text20:()=>XCt,TextAlt:()=>rGn,TextAlt_Light:()=>KCt,Text_Light:()=>jCt,Text_txt:()=>e5t,TexturedMesh:()=>n5t,TexturedMesh_Light:()=>o5t,Trash:()=>i5t,Trash_Light:()=>l5t,Undefined:()=>u5t,Undefined_Light:()=>p5t,Unknown20:()=>m5t,Video:()=>v5t,Video20:()=>g5t,Video_Light:()=>x5t,WebPageArchive20:()=>w5t,Widget:()=>I5t,Widget20:()=>C5t,Widget_Light:()=>k5t});var WVn,YVn,KVn,JVn,jVn,$Vn,eGn,tGn,nGn,rGn;var aH=P(()=>{C3t();I3t();k3t();P3t();D3t();B3t();n$();F3t();N3t();_3t();V3t();G3t();q3t();Q3t();W3t();K3t();j3t();ewt();c3e();nwt();owt();iwt();lwt();uwt();d3e();pwt();mwt();gwt();vwt();xwt();wwt();Cwt();Iwt();kwt();Pwt();Dwt();Lwt();p3e();Owt();Uwt();zwt();Hwt();Gwt();Zwt();Xwt();Ywt();Jwt();$wt();tSt();rSt();aSt();sSt();cSt();dSt();fSt();hSt();ySt();bSt();ASt();SSt();ESt();TSt();l3e();RSt();MSt();LSt();OSt();USt();a$();zSt();s3e();HSt();GSt();ZSt();XSt();YSt();JSt();$St();t4t();r4t();a4t();s4t();mTe();c4t();d4t();f4t();h4t();y4t();v4t();x4t();w4t();C4t();I4t();k4t();i3e();o$();P4t();D4t();B4t();F4t();N4t();_4t();V4t();q4t();Q4t();W4t();K4t();j4t();e6t();n6t();UU();o6t();i6t();l6t();u6t();hTe();p6t();m6t();g6t();v6t();x6t();w6t();C6t();I6t();o3e();t3e();e3e();k6t();P6t();D6t();B6t();F6t();N6t();_6t();V6t();q6t();Q6t();a3e();u3e();W6t();K6t();j6t();eCt();nCt();oCt();iCt();lCt();uCt();pCt();mCt();gCt();vCt();xCt();t$();wCt();r3e();CCt();ICt();kCt();PCt();DCt();BCt();n3e();FCt();NCt();_Ct();VCt();qCt();QCt();WCt();YCt();JCt();$Ct();t5t();r5t();a5t();s5t();c5t();d5t();f5t();h5t();y5t();b5t();A5t();S5t();E5t();T5t();WVn=y2,YVn=HU,KVn=GU,JVn=fTe,jVn=_U,$Vn=lP,eGn=VU,tGn=dTe,nGn=pTe,rGn=gTe});var P5t;var R5t=P(()=>{P5t={hidesExplorerArrows:!0,iconDefinitions:{_file:{iconPath:"./icons/file.svg"},_folder:{iconPath:"./icons/folder.svg"},_folder_open:{iconPath:"./icons/folder_open.svg"},_root_folder:{iconPath:"./icons/root_folder.svg"},_root_folder_open:{iconPath:"./icons/root_folder_open.svg"},_root_folder_light:{iconPath:"./icons/root_folder_light.svg"},_root_folder_light_open:{iconPath:"./icons/root_folder_light_open.svg"},ace:{iconPath:"./icons/ace.svg"},acemanifest:{iconPath:"./icons/acemanifest.svg"},adoc:{iconPath:"./icons/adoc.svg"},adonis:{iconPath:"./icons/adonis.svg"},adonisconfig:{iconPath:"./icons/adonisconfig.svg"},afdesign:{iconPath:"./icons/afdesign.svg"},afphoto:{iconPath:"./icons/afphoto.svg"},afpub:{iconPath:"./icons/afpub.svg"},ai:{iconPath:"./icons/ai.svg"},air:{iconPath:"./icons/air.svg"},angular:{iconPath:"./icons/angular.svg"},anim:{iconPath:"./icons/anim.svg"},astro:{iconPath:"./icons/astro.svg"},astroconfig:{iconPath:"./icons/astroconfig.svg"},atomizer:{iconPath:"./icons/atomizer.svg"},audio:{iconPath:"./icons/audio.svg"},audiomp3:{iconPath:"./icons/audiomp3.svg"},audioogg:{iconPath:"./icons/audioogg.svg"},audiowav:{iconPath:"./icons/audiowav.svg"},audiowv:{iconPath:"./icons/audiowv.svg"},azure:{iconPath:"./icons/azure.svg"},babel:{iconPath:"./icons/babel.svg"},ballerina:{iconPath:"./icons/ballerina.svg"},ballerinaconfig:{iconPath:"./icons/ballerinaconfig.svg"},bat:{iconPath:"./icons/bat.svg"},bazel:{iconPath:"./icons/bazel.svg"},bazelignore:{iconPath:"./icons/bazelignore.svg"},bicep:{iconPath:"./icons/bicep.svg"},bicepconfig:{iconPath:"./icons/bicepconfig.svg"},bicepparam:{iconPath:"./icons/bicepparam.svg"},binary:{iconPath:"./icons/binary.svg"},biome:{iconPath:"./icons/biome.svg"},blade:{iconPath:"./icons/blade.svg"},brotli:{iconPath:"./icons/brotli.svg"},browserslist:{iconPath:"./icons/browserslist.svg"},bruno:{iconPath:"./icons/bruno.svg"},bsconfig:{iconPath:"./icons/bsconfig.svg"},buck:{iconPath:"./icons/buck.svg"},bun:{iconPath:"./icons/bun.svg"},bundler:{iconPath:"./icons/bundler.svg"},bunlock:{iconPath:"./icons/bunlock.svg"},c:{iconPath:"./icons/c.svg"},cargo:{iconPath:"./icons/cargo.svg"},cargolock:{iconPath:"./icons/cargolock.svg"},cert:{iconPath:"./icons/cert.svg"},cheader:{iconPath:"./icons/cheader.svg"},civet:{iconPath:"./icons/civet.svg"},claude:{iconPath:"./icons/claude.svg"},cli:{iconPath:"./icons/cli.svg"},clojure:{iconPath:"./icons/clojure.svg"},cmake:{iconPath:"./icons/cmake.svg"},codeworkspace:{iconPath:"./icons/codeworkspace.svg"},coffeescript:{iconPath:"./icons/coffeescript.svg"},commitlint:{iconPath:"./icons/commitlint.svg"},compodoc:{iconPath:"./icons/compodoc.svg"},composer:{iconPath:"./icons/composer.svg"},composerlock:{iconPath:"./icons/composerlock.svg"},conan:{iconPath:"./icons/conan.svg"},conf:{iconPath:"./icons/conf.svg"},copilot:{iconPath:"./icons/copilot.svg"},cpp:{iconPath:"./icons/cpp.svg"},crystal:{iconPath:"./icons/crystal.svg"},csharp:{iconPath:"./icons/csharp.svg"},cshtml:{iconPath:"./icons/cshtml.svg"},csproj:{iconPath:"./icons/csproj.svg"},css:{iconPath:"./icons/css.svg"},cssmap:{iconPath:"./icons/cssmap.svg"},csv:{iconPath:"./icons/csv.svg"},cucumber:{iconPath:"./icons/cucumber.svg"},cursor:{iconPath:"./icons/cursor.svg"},cypress:{iconPath:"./icons/cypress.svg"},cypressjs:{iconPath:"./icons/cypressjs.svg"},cypressts:{iconPath:"./icons/cypressts.svg"},d:{iconPath:"./icons/d.svg"},dartlang:{iconPath:"./icons/dartlang.svg"},delphiproject:{iconPath:"./icons/delphiproject.svg"},diff:{iconPath:"./icons/diff.svg"},docker:{iconPath:"./icons/docker.svg"},dockerdebug:{iconPath:"./icons/dockerdebug.svg"},dockerignore:{iconPath:"./icons/dockerignore.svg"},drawio:{iconPath:"./icons/drawio.svg"},drizzle:{iconPath:"./icons/drizzle.svg"},dsstore:{iconPath:"./icons/dsstore.svg"},dune:{iconPath:"./icons/dune.svg"},duneproject:{iconPath:"./icons/duneproject.svg"},edge:{iconPath:"./icons/edge.svg"},editorconfig:{iconPath:"./icons/editorconfig.svg"},eex:{iconPath:"./icons/eex.svg"},elixir:{iconPath:"./icons/elixir.svg"},elm:{iconPath:"./icons/elm.svg"},env:{iconPath:"./icons/env.svg"},eraser:{iconPath:"./icons/eraser.svg"},erb:{iconPath:"./icons/erb.svg"},erlang:{iconPath:"./icons/erlang.svg"},esbuild:{iconPath:"./icons/esbuild.svg"},eslint:{iconPath:"./icons/eslint.svg"},eslintignore:{iconPath:"./icons/eslintignore.svg"},excalidraw:{iconPath:"./icons/excalidraw.svg"},exs:{iconPath:"./icons/exs.svg"},exx:{iconPath:"./icons/exx.svg"},farm:{iconPath:"./icons/farm.svg"},figma:{iconPath:"./icons/figma.svg"},file:{iconPath:"./icons/file.svg"},file_light:{iconPath:"./icons/file_light.svg"},flakelock:{iconPath:"./icons/flakelock.svg"},flutter:{iconPath:"./icons/flutter.svg"},flutterlock:{iconPath:"./icons/flutterlock.svg"},flutterpackage:{iconPath:"./icons/flutterpackage.svg"},folder:{iconPath:"./icons/folder.svg"},folder_open:{iconPath:"./icons/folder_open.svg"},fonteot:{iconPath:"./icons/fonteot.svg"},fontotf:{iconPath:"./icons/fontotf.svg"},fontttf:{iconPath:"./icons/fontttf.svg"},fontwoff:{iconPath:"./icons/fontwoff.svg"},fontwoff2:{iconPath:"./icons/fontwoff2.svg"},freemarker:{iconPath:"./icons/freemarker.svg"},fsharp:{iconPath:"./icons/fsharp.svg"},gbl:{iconPath:"./icons/gbl.svg"},git:{iconPath:"./icons/git.svg"},gitlab:{iconPath:"./icons/gitlab.svg"},gleam:{iconPath:"./icons/gleam.svg"},gleamconfig:{iconPath:"./icons/gleamconfig.svg"},go:{iconPath:"./icons/go.svg"},godot:{iconPath:"./icons/godot.svg"},go_package:{iconPath:"./icons/go_package.svg"},gradle:{iconPath:"./icons/gradle.svg"},gradlebat:{iconPath:"./icons/gradlebat.svg"},gradlekotlin:{iconPath:"./icons/gradlekotlin.svg"},grain:{iconPath:"./icons/grain.svg"},graphql:{iconPath:"./icons/graphql.svg"},groovy:{iconPath:"./icons/groovy.svg"},grunt:{iconPath:"./icons/grunt.svg"},gulp:{iconPath:"./icons/gulp.svg"},h:{iconPath:"./icons/h.svg"},haml:{iconPath:"./icons/haml.svg"},handlebars:{iconPath:"./icons/handlebars.svg"},hardhat:{iconPath:"./icons/hardhat.svg"},hash:{iconPath:"./icons/hash.svg"},hashicorp:{iconPath:"./icons/hashicorp.svg"},haskell:{iconPath:"./icons/haskell.svg"},haxe:{iconPath:"./icons/haxe.svg"},haxeml:{iconPath:"./icons/haxeml.svg"},hpp:{iconPath:"./icons/hpp.svg"},htaccess:{iconPath:"./icons/htaccess.svg"},html:{iconPath:"./icons/html.svg"},http:{iconPath:"./icons/http.svg"},identifier:{iconPath:"./icons/identifier.svg"},image:{iconPath:"./icons/image.svg"},imagegif:{iconPath:"./icons/imagegif.svg"},imageico:{iconPath:"./icons/imageico.svg"},imagejpg:{iconPath:"./icons/imagejpg.svg"},imagepng:{iconPath:"./icons/imagepng.svg"},imagewebp:{iconPath:"./icons/imagewebp.svg"},imba:{iconPath:"./icons/imba.svg"},info:{iconPath:"./icons/info.svg"},instructions:{iconPath:"./icons/instructions.svg"},ipynb:{iconPath:"./icons/ipynb.svg"},jar:{iconPath:"./icons/jar.svg"},java:{iconPath:"./icons/java.svg"},jenkins:{iconPath:"./icons/jenkins.svg"},jest:{iconPath:"./icons/jest.svg"},jinja:{iconPath:"./icons/jinja.svg"},js:{iconPath:"./icons/js.svg"},jsmap:{iconPath:"./icons/jsmap.svg"},json:{iconPath:"./icons/json.svg"},jsp:{iconPath:"./icons/jsp.svg"},julia:{iconPath:"./icons/julia.svg"},karma:{iconPath:"./icons/karma.svg"},keep:{iconPath:"./icons/keep.svg"},key:{iconPath:"./icons/key.svg"},knex:{iconPath:"./icons/knex.svg"},knip:{iconPath:"./icons/knip.svg"},kotlin:{iconPath:"./icons/kotlin.svg"},kotlins:{iconPath:"./icons/kotlins.svg"},krita:{iconPath:"./icons/krita.svg"},latex:{iconPath:"./icons/latex.svg"},launch:{iconPath:"./icons/launch.svg"},lazarusproject:{iconPath:"./icons/lazarusproject.svg"},less:{iconPath:"./icons/less.svg"},license:{iconPath:"./icons/license.svg"},light_editorconfig:{iconPath:"./icons/light_editorconfig.svg"},liquid:{iconPath:"./icons/liquid.svg"},llvm:{iconPath:"./icons/llvm.svg"},lock:{iconPath:"./icons/lock.svg"},log:{iconPath:"./icons/log.svg"},lua:{iconPath:"./icons/lua.svg"},m:{iconPath:"./icons/m.svg"},makefile:{iconPath:"./icons/makefile.svg"},manifest:{iconPath:"./icons/manifest.svg"},markdown:{iconPath:"./icons/markdown.svg"},markdownx:{iconPath:"./icons/markdownx.svg"},maven:{iconPath:"./icons/maven.svg"},mermaid:{iconPath:"./icons/mermaid.svg"},mesh:{iconPath:"./icons/mesh.svg"},mgcb:{iconPath:"./icons/mgcb.svg"},mint:{iconPath:"./icons/mint.svg"},mix:{iconPath:"./icons/mix.svg"},mixlock:{iconPath:"./icons/mixlock.svg"},mjml:{iconPath:"./icons/mjml.svg"},mkdocs:{iconPath:"./icons/mkdocs.svg"},mockoon:{iconPath:"./icons/mockoon.svg"},motoko:{iconPath:"./icons/motoko.svg"},mov:{iconPath:"./icons/mov.svg"},mp4:{iconPath:"./icons/mp4.svg"},mtl:{iconPath:"./icons/mtl.svg"},mustache:{iconPath:"./icons/mustache.svg"},nelua:{iconPath:"./icons/nelua.svg"},neon:{iconPath:"./icons/neon.svg"},nestjs:{iconPath:"./icons/nestjs.svg"},nestjscontroller:{iconPath:"./icons/nestjscontroller.svg"},nestjsdecorator:{iconPath:"./icons/nestjsdecorator.svg"},nestjsdto:{iconPath:"./icons/nestjsdto.svg"},nestjsentity:{iconPath:"./icons/nestjsentity.svg"},nestjsfilter:{iconPath:"./icons/nestjsfilter.svg"},nestjsguard:{iconPath:"./icons/nestjsguard.svg"},nestjsinterceptor:{iconPath:"./icons/nestjsinterceptor.svg"},nestjsmodule:{iconPath:"./icons/nestjsmodule.svg"},nestjsrepository:{iconPath:"./icons/nestjsrepository.svg"},nestjsresolver:{iconPath:"./icons/nestjsresolver.svg"},nestjsservice:{iconPath:"./icons/nestjsservice.svg"},nestscheduler:{iconPath:"./icons/nestscheduler.svg"},netlify:{iconPath:"./icons/netlify.svg"},nextconfig:{iconPath:"./icons/nextconfig.svg"},nextron:{iconPath:"./icons/nextron.svg"},nginx:{iconPath:"./icons/nginx.svg"},nim:{iconPath:"./icons/nim.svg"},nix:{iconPath:"./icons/nix.svg"},njk:{iconPath:"./icons/njk.svg"},node:{iconPath:"./icons/node.svg"},nodemon:{iconPath:"./icons/nodemon.svg"},npm:{iconPath:"./icons/npm.svg"},npmlock:{iconPath:"./icons/npmlock.svg"},nuxt:{iconPath:"./icons/nuxt.svg"},nvidia:{iconPath:"./icons/nvidia.svg"},nvim:{iconPath:"./icons/nvim.svg"},nvm:{iconPath:"./icons/nvm.svg"},nx:{iconPath:"./icons/nx.svg"},obj:{iconPath:"./icons/obj.svg"},ocaml:{iconPath:"./icons/ocaml.svg"},ocamli:{iconPath:"./icons/ocamli.svg"},ocamll:{iconPath:"./icons/ocamll.svg"},ocamly:{iconPath:"./icons/ocamly.svg"},odin:{iconPath:"./icons/odin.svg"},opengl:{iconPath:"./icons/opengl.svg"},oxlint:{iconPath:"./icons/oxlint.svg"},panda:{iconPath:"./icons/panda.svg"},parcel:{iconPath:"./icons/parcel.svg"},pascal:{iconPath:"./icons/pascal.svg"},pdf:{iconPath:"./icons/pdf.svg"},perl:{iconPath:"./icons/perl.svg"},perlm:{iconPath:"./icons/perlm.svg"},pfx:{iconPath:"./icons/pfx.svg"},photoshop:{iconPath:"./icons/photoshop.svg"},php:{iconPath:"./icons/php.svg"},plantuml:{iconPath:"./icons/plantuml.svg"},playright:{iconPath:"./icons/playright.svg"},plop:{iconPath:"./icons/plop.svg"},pnpm:{iconPath:"./icons/pnpm.svg"},pnpmlock:{iconPath:"./icons/pnpmlock.svg"},poetry:{iconPath:"./icons/poetry.svg"},poetrylock:{iconPath:"./icons/poetrylock.svg"},postcssconfig:{iconPath:"./icons/postcssconfig.svg"},powershell:{iconPath:"./icons/powershell.svg"},powershelldata:{iconPath:"./icons/powershelldata.svg"},powershellmodule:{iconPath:"./icons/powershellmodule.svg"},precommit:{iconPath:"./icons/precommit.svg"},prettier:{iconPath:"./icons/prettier.svg"},prettierignore:{iconPath:"./icons/prettierignore.svg"},prisma:{iconPath:"./icons/prisma.svg"},prolog:{iconPath:"./icons/prolog.svg"},prompt:{iconPath:"./icons/prompt.svg"},properties:{iconPath:"./icons/properties.svg"},proto:{iconPath:"./icons/proto.svg"},pug:{iconPath:"./icons/pug.svg"},pvk:{iconPath:"./icons/pvk.svg"},pyproject:{iconPath:"./icons/pyproject.svg"},python:{iconPath:"./icons/python.svg"},qt:{iconPath:"./icons/qt.svg"},quarkus:{iconPath:"./icons/quarkus.svg"},quasar:{iconPath:"./icons/quasar.svg"},r:{iconPath:"./icons/r.svg"},racket:{iconPath:"./icons/racket.svg"},raku:{iconPath:"./icons/raku.svg"},razor:{iconPath:"./icons/razor.svg"},reactjs:{iconPath:"./icons/reactjs.svg"},reactts:{iconPath:"./icons/reactts.svg"},readme:{iconPath:"./icons/readme.svg"},redis:{iconPath:"./icons/redis.svg"},rego:{iconPath:"./icons/rego.svg"},remix:{iconPath:"./icons/remix.svg"},rescript:{iconPath:"./icons/rescript.svg"},rescriptinterface:{iconPath:"./icons/rescriptinterface.svg"},restructuredtext:{iconPath:"./icons/restructuredtext.svg"},rjson:{iconPath:"./icons/rjson.svg"},robots:{iconPath:"./icons/robots.svg"},rollup:{iconPath:"./icons/rollup.svg"},rome:{iconPath:"./icons/rome.svg"},ron:{iconPath:"./icons/ron.svg"},root_folder:{iconPath:"./icons/root_folder.svg"},root_folder_light:{iconPath:"./icons/root_folder_light.svg"},root_folder_light_open:{iconPath:"./icons/root_folder_light_open.svg"},root_folder_open:{iconPath:"./icons/root_folder_open.svg"},ruby:{iconPath:"./icons/ruby.svg"},rust:{iconPath:"./icons/rust.svg"},rustfmt:{iconPath:"./icons/rustfmt.svg"},sails:{iconPath:"./icons/sails.svg"},salesforce:{iconPath:"./icons/salesforce.svg"},sass:{iconPath:"./icons/sass.svg"},scala:{iconPath:"./icons/scala.svg"},scss:{iconPath:"./icons/scss.svg"},sentinel:{iconPath:"./icons/sentinel.svg"},sequelize:{iconPath:"./icons/sequelize.svg"},shaderlab:{iconPath:"./icons/shaderlab.svg"},shell:{iconPath:"./icons/shell.svg"},silq:{iconPath:"./icons/silq.svg"},slim:{iconPath:"./icons/slim.svg"},sln:{iconPath:"./icons/sln.svg"},smarty:{iconPath:"./icons/smarty.svg"},sol:{iconPath:"./icons/sol.svg"},spc:{iconPath:"./icons/spc.svg"},sql:{iconPath:"./icons/sql.svg"},sqlite:{iconPath:"./icons/sqlite.svg"},storybook:{iconPath:"./icons/storybook.svg"},stylelint:{iconPath:"./icons/stylelint.svg"},stylelintignore:{iconPath:"./icons/stylelintignore.svg"},stylus:{iconPath:"./icons/stylus.svg"},suo:{iconPath:"./icons/suo.svg"},svelte:{iconPath:"./icons/svelte.svg"},svelteconfig:{iconPath:"./icons/svelteconfig.svg"},svg:{iconPath:"./icons/svg.svg"},swift:{iconPath:"./icons/swift.svg"},symfony:{iconPath:"./icons/symfony.svg"},tailwind:{iconPath:"./icons/tailwind.svg"},tauri:{iconPath:"./icons/tauri.svg"},taze:{iconPath:"./icons/taze.svg"},terrafile:{iconPath:"./icons/terrafile.svg"},terraform:{iconPath:"./icons/terraform.svg"},terraformvars:{iconPath:"./icons/terraformvars.svg"},terraformversion:{iconPath:"./icons/terraformversion.svg"},testjs:{iconPath:"./icons/testjs.svg"},testts:{iconPath:"./icons/testts.svg"},tmpl:{iconPath:"./icons/tmpl.svg"},todo:{iconPath:"./icons/todo.svg"},toml:{iconPath:"./icons/toml.svg"},toolversions:{iconPath:"./icons/toolversions.svg"},tox:{iconPath:"./icons/tox.svg"},travis:{iconPath:"./icons/travis.svg"},tres:{iconPath:"./icons/tres.svg"},tscn:{iconPath:"./icons/tscn.svg"},tsconfig:{iconPath:"./icons/tsconfig.svg"},tsx:{iconPath:"./icons/tsx.svg"},turbo:{iconPath:"./icons/turbo.svg"},twig:{iconPath:"./icons/twig.svg"},txt:{iconPath:"./icons/txt.svg"},typescript:{iconPath:"./icons/typescript.svg"},typescriptdef:{iconPath:"./icons/typescriptdef.svg"},ui:{iconPath:"./icons/ui.svg"},unocss:{iconPath:"./icons/unocss.svg"},user:{iconPath:"./icons/user.svg"},v:{iconPath:"./icons/v.svg"},vanillaextract:{iconPath:"./icons/vanillaextract.svg"},vb:{iconPath:"./icons/vb.svg"},vercel:{iconPath:"./icons/vercel.svg"},version:{iconPath:"./icons/version.svg"},vhd:{iconPath:"./icons/vhd.svg"},vhdl:{iconPath:"./icons/vhdl.svg"},video:{iconPath:"./icons/video.svg"},vite:{iconPath:"./icons/vite.svg"},viteenv:{iconPath:"./icons/viteenv.svg"},vitest:{iconPath:"./icons/vitest.svg"},vmod:{iconPath:"./icons/vmod.svg"},vscode:{iconPath:"./icons/vscode.svg"},vue:{iconPath:"./icons/vue.svg"},vueconfig:{iconPath:"./icons/vueconfig.svg"},wasm:{iconPath:"./icons/wasm.svg"},webpack:{iconPath:"./icons/webpack.svg"},wgsl:{iconPath:"./icons/wgsl.svg"},windi:{iconPath:"./icons/windi.svg"},wren:{iconPath:"./icons/wren.svg"},xmake:{iconPath:"./icons/xmake.svg"},xml:{iconPath:"./icons/xml.svg"},yaml:{iconPath:"./icons/yaml.svg"},yang:{iconPath:"./icons/yang.svg"},yarn:{iconPath:"./icons/yarn.svg"},yarnerror:{iconPath:"./icons/yarnerror.svg"},yarnignore:{iconPath:"./icons/yarnignore.svg"},yarnlock:{iconPath:"./icons/yarnlock.svg"},yin:{iconPath:"./icons/yin.svg"},zig:{iconPath:"./icons/zig.svg"},zip:{iconPath:"./icons/zip.svg"}},file:"_file",folder:"_folder",folderExpanded:"_folder_open",rootFolder:"_root_folder",rootFolderExpanded:"_root_folder_open",fileExtensions:{wma:"audio",wav:"audiowav",vox:"audio",tta:"audio",raw:"audio",ra:"audio",opus:"audio",ogg:"audioogg",oga:"audio",msv:"audio",mpc:"audio",mp3:"audiomp3",mogg:"audio",mmf:"audio",m4p:"audio",m4b:"audio",m4a:"audio",ivs:"audio",iklax:"audio",gsm:"audio",flac:"audio",dvf:"audio",dss:"audio",dct:"audio",au:"audio",ape:"audio",amr:"audio",aiff:"audio",act:"audio",aac:"audio",wmv:"video",webm:"video",vob:"video",svi:"video",rmvb:"video",rm:"video",ogv:"video",nsv:"video",mpv:"video",mpg:"video",mpeg2:"video",mpeg:"video",mpe:"video",mp4:"mp4",mp2:"video",mov:"mov",mk3d:"video",mkv:"video",m4v:"video",m2v:"video",flv:"video",f4v:"video",f4p:"video",f4b:"video",f4a:"video",qt:"video",divx:"video",avi:"video",amv:"video",asf:"video","3gp":"video","3g2":"video",ico:"imageico",tiff:"image",bmp:"image",png:"imagepng",gif:"imagegif",jpg:"imagejpg",jpeg:"imagejpg","7z":"zip","7zip":"zip","blade.php":"blade","cfg.dist":"conf","cjs.map":"jsmap","controller.js":"nestjscontroller","controller.ts":"nestjscontroller","repository.js":"nestjsrepository","repository.ts":"nestjsrepository","scheduler.js":"nestscheduler","scheduler.ts":"nestscheduler","css.js":"vanillaextract","css.ts":"vanillaextract","css.map":"cssmap","d.ts":"typescriptdef","decorator.js":"nestjsdecorator","decorator.ts":"nestjsdecorator","drawio.png":"drawio","drawio.svg":"drawio","e2e-spec.ts":"testts","e2e-spec.tsx":"testts","e2e-test.ts":"testts","e2e-test.tsx":"testts","filter.js":"nestjsfilter","filter.ts":"nestjsfilter","format.ps1xml":"powershell_format","gemfile.lock":"bundler","gradle.kts":"gradlekotlin","guard.js":"nestjsguard","guard.ts":"nestjsguard","jar.old":"jar","js.flow":"flow","js.map":"jsmap","js.snap":"jest_snapshot","json-ld":"jsonld","jsx.snap":"jest_snapshot","layout.htm":"layout","layout.html":"layout","marko.js":"markojs","mjs.map":"jsmap","module.ts":"nestjsmodule","resolver.js":"nestjsresolver","resolver.ts":"nestjsresolver","service.js":"nestjsservice","service.ts":"nestjsservice","entity.js":"nestjsentity","entity.ts":"nestjsentity","interceptor.js":"nestjsinterceptor","interceptor.ts":"nestjsinterceptor","dto.js":"nestjsdto","dto.ts":"nestjsdto","spec.js":"testjs","spec.jsx":"testjs","spec.mjs":"testjs","spec.ts":"testts","spec.tsx":"testts","stories.js":"storybook","stories.jsx":"storybook","stories.ts":"storybook","stories.tsx":"storybook","stories.svelte":"storybook","story.js":"storybook","story.jsx":"storybook","story.ts":"storybook","story.tsx":"storybook","story.svelte":"storybook","test.cjs":"testjs","test.cts":"testts","test.js":"testjs","test.jsx":"testjs","test.mjs":"testjs","test.mts":"testts","test.ts":"testts","test.tsx":"testts","ts.snap":"jest_snapshot","tsx.snap":"jest_snapshot","types.ps1xml":"powershell_types",a:"binary",accda:"access",accdb:"access",accdc:"access",accde:"access",accdp:"access",accdr:"access",accdt:"access",accdu:"access",ade:"access",adoc:"adoc",adp:"access",afdesign:"afdesign",affinitydesigner:"afdesign",affinityphoto:"afphoto",affinitypublisher:"afpub",afphoto:"afphoto",afpub:"afpub",ai:"ai",app:"binary",ascx:"aspx",asm:"binary",aspx:"aspx",astro:"astro",awk:"awk",bat:"bat",bc:"llvm",bcmx:"outlook",bicep:"bicep",bin:"binary",blade:"blade",bz2:"zip",bzip2:"zip",c:"c",cake:"cake",cer:"cert",pvk:"pvk",pfx:"pfx",spc:"spc",cfg:"conf",civet:"civet",cjm:"clojure",cl:"opencl",class:"class",cli:"cli",clj:"clojure",cljc:"clojure",cljs:"clojure",cljx:"clojure",cma:"binary",cmd:"cli",cmi:"binary",cmo:"binary",cmx:"binary",cmxa:"binary",comp:"opengl",conf:"conf",cpp:"cpp",cr:"crystal",crec:"lync",crl:"cert",crt:"cert",cs:"csharp",cshtml:"cshtml",csproj:"csproj",csr:"cert",css:"css",csv:"csv",csx:"csharp",d:"d",dart:"dartlang",db:"sqlite",db3:"sqlite",der:"cert",diff:"diff",dio:"drawio",djt:"django",dll:"binary",dmp:"log",doc:"word",docm:"word",docx:"word",dot:"word",dotm:"word",dotx:"word",drawio:"drawio",dta:"stata",eco:"docpad",edge:"edge",edn:"clojure",eex:"eex",ejs:"ejs",el:"emacs",elc:"emacs",elm:"elm",enc:"license",ensime:"ensime",env:"env",eps:"eps",erb:"erb",erl:"erlang",eskip:"skipper",ex:"elixir",exe:"binary",exp:"tcl",exs:"exs",fbx:"fbx",feature:"cucumber",fig:"figma",fish:"shell",fla:"fla",fods:"excel",frag:"opengl",fs:"fsharp",fsproj:"fsproj",ftl:"freemarker",gbl:"gbl",gd:"godot",gemfile:"bundler",geom:"opengl",glsl:"opengl",gmx:"gamemaker",go:"go",godot:"godot",gql:"graphql",gradle:"gradle",groovy:"groovy",gz:"zip",h:"cheader",haml:"haml",hbs:"handlebars",hcl:"hashicorp",hl:"binary",hlsl:"opengl",hpp:"hpp",hs:"haskell",html:"html",hxp:"lime",hxproj:"haxedevelop",ibc:"idrisbin",idr:"idris",ilk:"binary",imba:"imba",inc:"inc",include:"inc",info:"info",infopathxml:"infopath",ini:"conf",ino:"arduino",ipkg:"idrispkg",ipynb:"ipynb",iuml:"plantuml",jar:"jar",java:"java",jbuilder:"jbuilder",j2:"jinja",jinja:"jinja",jinja2:"jinja",jl:"julia",json5:"json5",jsonld:"jsonld",jsp:"jsp",jss:"jss",key:"key",kit:"codekit",kt:"kotlin",kts:"kotlins",laccdb:"access",ldb:"access",less:"less",lib:"binary",lidr:"idris",liquid:"liquid",ll:"llvm",lnk:"lnk",log:"log",ls:"livescript",lucee:"cf",m:"m",makefile:"makefile",mam:"access",map:"map",maq:"access",markdown:"markdown",master:"layout",mdb:"access",mdown:"markdown",mdw:"access",mdx:"markdownx",mesh:"mesh",mex:"matlab",mexn:"matlab",mexrs6:"matlab",mf:"manifest",mint:"mint",mjml:"mjml",ml:"ocaml",mli:"ocamli",mll:"ocamll",mly:"ocamly",mn:"matlab",mo:"motoko",msg:"outlook",mst:"mustache",mum:"matlab",mustache:"mustache",mx:"matlab",mx3:"matlab",n:"binary",ndll:"binary",neon:"neon",nim:"nim",nix:"nix",njk:"njk",njs:"nunjucks",njsproj:"njsproj",nunj:"nunjucks",nupkg:"nuget",nuspec:"nuget",nvim:"nvim",o:"binary",ocrec:"lync",ods:"excel",oft:"outlook",one:"onenote",onepkg:"onenote",onetoc:"onenote",onetoc2:"onenote",opencl:"opencl",org:"org",otf:"fontotf",otm:"outlook",ovpn:"ovpn",P:"prolog",p12:"cert",p7b:"cert",p7r:"cert",pa:"powerpoint",patch:"diff",pcd:"pcl",pck:"plsql_package",pdb:"binary",pde:"arduino",pdf:"pdf",pem:"key",pex:"xml",phar:"php",php1:"php",php2:"php",php3:"php",php4:"php",php5:"php",php6:"php",phps:"php",phpsa:"php",phpt:"php",phtml:"php",pkb:"plsql_package_body",pkg:"package",pkh:"plsql_package_header",pks:"plsql_package_spec",pl:"perl",plantuml:"plantuml",plist:"config",pm:"perlm",po:"poedit",postcss:"postcssconfig",pcss:"postcssconfig",pot:"powerpoint",potm:"powerpoint",potx:"powerpoint",ppa:"powerpoint",ppam:"powerpoint",pps:"powerpoint",ppsm:"powerpoint",ppsx:"powerpoint",ppt:"powerpoint",pptm:"powerpoint",pptx:"powerpoint",pri:"qt",prisma:"prisma",pro:"prolog",properties:"properties",ps1:"powershell",psd:"photoshop",psd1:"powershelldata",psm1:"powershellmodule",psmdcp:"nuget",pst:"outlook",pu:"plantuml",pub:"publisher",puml:"plantuml",puz:"publisher",pyc:"binary",pyd:"binary",pyo:"binary",q:"q",qbs:"qbs",qvd:"qlikview",qvw:"qlikview",rake:"rake",rar:"zip",gzip:"zip",razor:"razor",rb:"ruby",reg:"registry",rego:"rego",res:"rescript",resi:"rescriptinterface",rjson:"rjson",rproj:"rproj",rs:"rust",rsx:"rust",ron:"ron",odin:"odin",rt:"reacttemplate",rwd:"matlab",pas:"pascal",pp:"pascal",p:"pascal",lpr:"lazarusproject",lps:"lazarusproject",lpi:"lazarusproject",lfm:"lazarusproject",lrs:"lazarusproject",lpk:"lazarusproject",dpr:"delphiproject",dproj:"delphiproject",dfm:"delphiproject",sass:"scss",sc:"scala",scala:"scala",scpt:"binary",scptd:"binary",scss:"scss",sentinel:"sentinel",sig:"onenote",sketch:"sketch",slddc:"matlab",sldm:"powerpoint",sldx:"powerpoint",sln:"sln",sls:"saltstack",slx:"matlab",smv:"matlab",so:"binary",sol:"sol",sql:"sql",sqlite:"sqlite",sqlite3:"sqlite",src:"cert",sss:"sss",sst:"cert",stl:"cert",storyboard:"storyboard",styl:"stylus",suo:"suo",svelte:"svelte",svg:"svg",swc:"flash",swf:"flash",swift:"swift",tar:"zip",tcl:"tcl",templ:"tmpl",tesc:"opengl",tese:"opengl",tex:"latex",texi:"tex",tf:"terraform",tfstate:"terraform",tfvars:"terraformvars",tgz:"zip",tikz:"tex",tlg:"log",tmlanguage:"xml",tmpl:"tmpl",todo:"todo",toml:"toml",tpl:"smarty",tres:"tres",tscn:"tscn",tst:"test",tsx:"reactts",jsx:"reactjs",tt2:"tt",ttf:"fontttf",twig:"twig",txt:"txt",ui:"ui",unity:"shaderlab",user:"user",v:"v",vala:"vala",vapi:"vapi",vash:"vash",vbhtml:"vbhtml",vbproj:"vbproj",vcxproj:"vcxproj",vert:"opengl",vhd:"vhd",vhdl:"vhdl",vsix:"vscode",vsixmanifest:"manifest",wasm:"wasm",webp:"imagewebp",wgsl:"wgsl",wll:"word",woff:"fontwoff",eot:"fonteot",woff2:"fontwoff2",wv:"audiowv",wxml:"wxml",wxss:"wxss",xcodeproj:"xcode",xfl:"xfl",xib:"xib",xlf:"xliff",xliff:"xliff",xls:"excel",xlsm:"excel",xlsx:"excel",xsf:"infopath",xsn:"infopath",xtp2:"infopath",xvc:"matlab",xz:"zip",yy:"gamemaker2",yyp:"gamemaker2",zig:"zig",zip:"zip",zipx:"zip",zz:"zip",deflate:"zip",brotli:"brotli",kra:"krita",mgcb:"mgcb",anim:"anim","cy.ts":"cypressts","cy.js":"cypressjs",hx:"haxe",hxml:"haxeml",gr:"grain",slim:"slim",obj:"obj",mtl:"mtl",bicepparam:"bicepparam",proto:"proto",wren:"wren","docker-compose.yml":"docker",excalidraw:"excalidraw","excalidraw.json":"excalidraw","excalidraw.svg":"excalidraw","excalidraw.png":"excalidraw",bazel:"bazel",bzl:"bazel",bazelignore:"bazelignore",bazelrc:"bazel",http:"http",rkt:"racket",rktl:"racket",bru:"bruno",nelua:"nelua",mermaid:"mermaid",mmd:"mermaid",bal:"ballerina",hash:"hash",gleam:"gleam",lock:"lock",yang:"yang",yin:"yin",mdc:"cursor",uml:"plantuml",Identifier:"identifier",cls:"salesforce",".instructions.md":"instructions",".instructions.txt":"instructions",".instructions.json":"instructions",".instructions.yaml":"instructions",".instructions.yml":"instructions",silq:"silq",eraserdiagram:"eraser"},fileNames:{"webpack.config.images.js":"webpack","webpack.test.conf.ts":"webpack","webpack.test.conf.coffee":"webpack","webpack.test.conf.js":"webpack","webpack.rules.ts":"webpack","webpack.rules.coffee":"webpack","webpack.rules.js":"webpack","webpack.renderer.config.ts":"webpack","webpack.renderer.config.coffee":"webpack","webpack.renderer.config.js":"webpack","webpack.plugins.ts":"webpack","webpack.plugins.coffee":"webpack","webpack.plugins.js":"webpack","webpack.mix.ts":"webpack","webpack.mix.coffee":"webpack","webpack.mix.js":"webpack","webpack.main.config.ts":"webpack","webpack.main.config.coffee":"webpack","webpack.main.config.js":"webpack","webpack.prod.conf.ts":"webpack","webpack.prod.conf.coffee":"webpack","webpack.prod.conf.js":"webpack","webpack.prod.ts":"webpack","webpack.prod.coffee":"webpack","webpack.prod.js":"webpack","webpack.dev.conf.ts":"webpack","webpack.dev.conf.coffee":"webpack","webpack.dev.conf.js":"webpack","webpack.dev.ts":"webpack","webpack.dev.coffee":"webpack","webpack.dev.js":"webpack","webpack.config.production.babel.ts":"webpack","webpack.config.production.babel.coffee":"webpack","webpack.config.production.babel.js":"webpack","webpack.config.prod.babel.ts":"webpack","webpack.config.prod.babel.coffee":"webpack","webpack.config.prod.babel.js":"webpack","webpack.config.test.babel.ts":"webpack","webpack.config.test.babel.coffee":"webpack","webpack.config.test.babel.js":"webpack","webpack.config.staging.babel.ts":"webpack","webpack.config.staging.babel.coffee":"webpack","webpack.config.staging.babel.js":"webpack","webpack.config.development.babel.ts":"webpack","webpack.config.development.babel.coffee":"webpack","webpack.config.development.babel.js":"webpack","webpack.config.dev.babel.ts":"webpack","webpack.config.dev.babel.coffee":"webpack","webpack.config.dev.babel.js":"webpack","webpack.config.common.babel.ts":"webpack","webpack.config.common.babel.coffee":"webpack","webpack.config.common.babel.js":"webpack","webpack.config.base.babel.ts":"webpack","webpack.config.base.babel.coffee":"webpack","webpack.config.base.babel.js":"webpack","webpack.config.babel.ts":"webpack","webpack.config.babel.coffee":"webpack","webpack.config.babel.js":"webpack","webpack.config.production.ts":"webpack","webpack.config.production.coffee":"webpack","webpack.config.production.js":"webpack","webpack.config.prod.ts":"webpack","webpack.config.prod.coffee":"webpack","webpack.config.prod.js":"webpack","webpack.config.test.ts":"webpack","webpack.config.test.coffee":"webpack","webpack.config.test.js":"webpack","webpack.config.staging.ts":"webpack","webpack.config.staging.coffee":"webpack","webpack.config.staging.js":"webpack","webpack.config.development.ts":"webpack","webpack.config.development.coffee":"webpack","webpack.config.development.js":"webpack","webpack.config.dev.ts":"webpack","webpack.config.dev.coffee":"webpack","webpack.config.dev.js":"webpack","webpack.config.common.ts":"webpack","webpack.config.common.coffee":"webpack","webpack.config.common.js":"webpack","webpack.config.base.ts":"webpack","webpack.config.base.coffee":"webpack","webpack.config.base.js":"webpack","webpack.config.ts":"webpack","webpack.config.coffee":"webpack","webpack.config.js":"webpack","webpack.common.ts":"webpack","webpack.common.coffee":"webpack","webpack.common.js":"webpack","webpack.base.conf.ts":"webpack","webpack.base.conf.coffee":"webpack","webpack.base.conf.js":"webpack",".angular-cli.json":"angular","angular-cli.json":"angular","angular.json":"angular",".angular.json":"angular","api-extractor.json":"api_extractor","api-extractor-base.json":"api_extractor","appveyor.yml":"appveyor",".appveyor.yml":"appveyor","aurelia.json":"aurelia","azure-pipelines.yml":"azure",".vsts-ci.yml":"azure",".babelrc":"babel",".babelignore":"babel",".babelrc.js":"babel",".babelrc.cjs":"babel",".babelrc.mjs":"babel",".babelrc.json":"babel","babel.config.js":"babel","babel.config.cjs":"babel","babel.config.mjs":"babel","babel.config.json":"babel","vetur.config.js":"vue","vetur.config.ts":"vue",".bzrignore":"bazaar",".bazelrc":"bazel","bazel.rc":"bazel","bazel.bazelrc":"bazel",BUILD:"bazel","bitbucket-pipelines.yml":"bitbucketpipeline",".bithoundrc":"bithound",".bowerrc":"bower","bower.json":"bower",".browserslistrc":"browserslist",browserslist:"browserslist",gemfile:"bundler","gemfile.lock":"bundler",".ruby-version":"bundler","capacitor.config.json":"capacitor","cargo.toml":"cargo","cargo.lock":"cargo",chefignore:"chef",berksfile:"chef","berksfile.lock":"chef",policyfile:"chef","circle.yml":"circleci",".cfignore":"cloudfoundry",".codacy.yml":"codacy",".codacy.yaml":"codacy",".codeclimate.yml":"codeclimate","codecov.yml":"codecov",".codecov.yml":"codecov","config.codekit":"codekit","config.codekit2":"codekit","config.codekit3":"codekit",".config.codekit":"codekit",".config.codekit2":"codekit",".config.codekit3":"codekit","coffeelint.json":"coffeelint",".coffeelintignore":"coffeelint","composer.json":"composer","composer.lock":"composerlock","conanfile.txt":"conan","conanfile.py":"conan",".condarc":"conda",".coveralls.yml":"coveralls","crowdin.yml":"crowdin",".csscomb.json":"csscomb",".csslintrc":"csslint",".cvsignore":"cvs",".boringignore":"darcs","dependabot.yml":"dependabot","dependencies.yml":"dependencies","devcontainer.json":"devcontainer","docker-compose-prod.yml":"docker","docker-compose.alpha.yaml":"docker","docker-compose.alpha.yml":"docker","docker-compose.beta.yaml":"docker","docker-compose.beta.yml":"docker","docker-compose.ci-build.yml":"docker","docker-compose.ci.yaml":"docker","docker-compose.ci.yml":"docker","docker-compose.dev.yaml":"docker","docker-compose.dev.yml":"docker","docker-compose.development.yaml":"docker","docker-compose.development.yml":"docker","docker-compose.local.yaml":"docker","docker-compose.local.yml":"docker","docker-compose.override.yaml":"docker","docker-compose.override.yml":"docker","docker-compose.prod.yaml":"docker","docker-compose.prod.yml":"docker","docker-compose.production.yaml":"docker","docker-compose.production.yml":"docker","docker-compose.stage.yaml":"docker","docker-compose.stage.yml":"docker","docker-compose.staging.yaml":"docker","docker-compose.staging.yml":"docker","docker-compose.test.yaml":"docker","docker-compose.test.yml":"docker","docker-compose.testing.yaml":"docker","docker-compose.testing.yml":"docker","docker-compose.vs.debug.yml":"docker","docker-compose.vs.release.yml":"docker","docker-compose.web.yaml":"docker","docker-compose.web.yml":"docker","docker-compose.worker.yaml":"docker","docker-compose.worker.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker","Dockerfile-production":"docker","dockerfile.alpha":"docker","dockerfile.beta":"docker","dockerfile.ci":"docker","dockerfile.dev":"docker","dockerfile.development":"docker","dockerfile.local":"docker","dockerfile.prod":"docker","dockerfile.production":"docker","dockerfile.stage":"docker","dockerfile.staging":"docker","dockerfile.test":"docker","dockerfile.testing":"docker","dockerfile.web":"docker","dockerfile.worker":"docker",dockerfile:"docker","docker-compose.debug.yml":"dockerdebug","docker-cloud.yml":"docker",".dockerignore":"dockerignore",".doczrc":"docz","docz.js":"docz","docz.json":"docz",".docz.js":"docz",".docz.json":"docz","doczrc.js":"docz","doczrc.json":"docz","docz.config.js":"docz","docz.config.json":"docz",".dojorc":"dojo",".drone.yml":"drone",".drone.yml.sig":"drone",".dvc":"dvc",".editorconfig":"editorconfig","elm-package.json":"elm",".ember-cli":"ember",emakefile:"erlang",".emakerfile":"erlang",".eslintrc":"eslint",".eslintignore":"eslintignore",".eslintcache":"eslint",".eslintrc.js":"eslint",".eslintrc.mjs":"eslint",".eslintrc.cjs":"eslint",".eslintrc.json":"eslint",".eslintrc.yaml":"eslint",".eslintrc.yml":"eslint",".eslintrc.browser.json":"eslint",".eslintrc.base.json":"eslint","eslint-preset.js":"eslint","eslint.config.js":"eslint","eslint.config.cjs":"eslint","eslint.config.mjs":"eslint","eslint.config.ts":"eslint","_eslintrc.cjs":"eslint","app.json":"expo","app.config.js":"expo","app.config.json":"expo","app.config.json5":"expo","favicon.ico":"favicon",".firebaserc":"firebase","firebase.json":"firebasehosting","firestore.rules":"firestore","firestore.indexes.json":"firestore",".flooignore":"floobits",".flowconfig":"flow",".flutter-plugins":"flutter",".metadata":"flutter",".fossaignore":"fossa","ignore-glob":"fossil","fuse.js":"fusebox","gatsby-config.js":"gatsby","gatsby-config.ts":"gatsby","gatsby-node.js":"gatsby","gatsby-node.ts":"gatsby","gatsby-browser.js":"gatsby","gatsby-browser.ts":"gatsby","gatsby-ssr.js":"gatsby","gatsby-ssr.ts":"gatsby",".git-blame-ignore-revs":"git",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".gitkeep":"git",".mailmap":"git",".gitlab-ci.yml":"gitlab","glide.yml":"glide","go.sum":"go_package","go.mod":"go_package","go.work":"go_package",".gqlconfig":"graphql",".graphqlconfig":"graphql_config",".graphqlconfig.yml":"graphql_config",".graphqlconfig.yaml":"graphql_config","greenkeeper.json":"greenkeeper","gridsome.config.js":"gridsome","gridsome.config.ts":"gridsome","gridsome.server.js":"gridsome","gridsome.server.ts":"gridsome","gridsome.client.js":"gridsome","gridsome.client.ts":"gridsome","gruntfile.js":"grunt","gruntfile.cjs":"grunt","gruntfile.mjs":"grunt","gruntfile.coffee":"grunt","gruntfile.ts":"grunt","gruntfile.cts":"grunt","gruntfile.mts":"grunt","gruntfile.babel.js":"grunt","gruntfile.babel.coffee":"grunt","gruntfile.babel.ts":"grunt","gulpfile.js":"gulp","gulpfile.coffee":"gulp","gulpfile.ts":"gulp","gulpfile.esm.js":"gulp","gulpfile.esm.coffee":"gulp","gulpfile.esm.ts":"gulp","gulpfile.babel.js":"gulp","gulpfile.babel.coffee":"gulp","gulpfile.babel.ts":"gulp","haxelib.json":"haxe","checkstyle.json":"haxecheckstyle",".p4ignore":"helix",".htmlhintrc":"htmlhint",".huskyrc":"husky","husky.config.js":"husky",".huskyrc.js":"husky",".huskyrc.json":"husky",".huskyrc.yaml":"husky",".huskyrc.yml":"husky","ionic.project":"ionic","ionic.config.json":"ionic",jakefile:"jake","jakefile.js":"jake","jest.config.json":"jest","jest.json":"jest",".jestrc":"jest",".jestrc.js":"jest",".jestrc.json":"jest","jest.config.js":"jest","jest.config.cjs":"jest","jest.config.mjs":"jest","jest.config.babel.js":"jest","jest.config.babel.cjs":"jest","jest.config.babel.mjs":"jest","jest.preset.js":"jest","jest.preset.ts":"jest","jest.preset.cjs":"jest","jest.preset.mjs":"jest",".jpmignore":"jpm",".jsbeautifyrc":"jsbeautify",jsbeautifyrc:"jsbeautify",".jsbeautify":"jsbeautify",jsbeautify:"jsbeautify","jsconfig.json":"jsconfig",".jscpd.json":"jscpd","jscpd-report.xml":"jscpd","jscpd-report.json":"jscpd","jscpd-report.html":"jscpd",".jshintrc":"jshint",".jshintignore":"jshint","karma.conf.js":"karma","karma.conf.coffee":"karma","karma.conf.ts":"karma",".kitchen.yml":"kitchenci","kitchen.yml":"kitchenci",".kiteignore":"kite","layout.html":"layout","layout.htm":"layout","lerna.json":"lerna",license:"license",licence:"license","license.md":"license","license.txt":"license","licence.md":"license","licence.txt":"license",".lighthouserc.js":"lighthouse",".lighthouserc.json":"lighthouse",".lighthouserc.yaml":"lighthouse",".lighthouserc.yml":"lighthouse","include.xml":"lime",".lintstagedrc":"lintstagedrc","lint-staged.config.js":"lintstagedrc",".lintstagedrc.js":"lintstagedrc",".lintstagedrc.json":"lintstagedrc",".lintstagedrc.yaml":"lintstagedrc",".lintstagedrc.yml":"lintstagedrc",manifest:"manifest","manifest.bak":"manifest","manifest.json":"manifest","manifest.skip":"manifes",".markdownlint.json":"markdownlint","maven.config":"maven","pom.xml":"maven","extensions.xml":"maven","settings.xml":"maven","pom.properties":"maven",".hgignore":"mercurial","mocha.opts":"mocha",".mocharc.js":"mocha",".mocharc.json":"mocha",".mocharc.jsonc":"mocha",".mocharc.yaml":"mocha",".mocharc.yml":"mocha",modernizr:"modernizr","modernizr.js":"modernizr","modernizrrc.js":"modernizr",".modernizr.js":"modernizr",".modernizrrc.js":"modernizr","moleculer.config.js":"moleculer","moleculer.config.json":"moleculer","moleculer.config.ts":"moleculer",".mtn-ignore":"monotone",".nest-cli.json":"nestjs","nest-cli.json":"nestjs","nestconfig.json":"nestjs",".nestconfig.json":"nestjs","netlify.toml":"netlify",_redirects:"netlify","ng-tailwind.js":"ng_tailwind","nginx.conf":"nginx","build.ninja":"ninja",".node-version":"node",".node_repl_history":"node",".node-gyp":"node",node_modules:"node","node_modules.json":"node","node-inspect.json":"node","node-inspect.js":"node","node-inspect.mjs":"node","node-inspect.cjs":"node","node-inspect.ts":"node","node-inspect.config.js":"node","node-inspect.config.ts":"node","node-inspect.config.cjs":"node","node-inspect.config.mjs":"node","node-inspect.config.json":"node","node-inspect.config.yaml":"node","node-inspect.config.yml":"node","node-inspectrc":"node",".node-inspectrc":"node",".node-inspectrc.json":"node",".node-inspectrc.yaml":"node",".node-inspectrc.yml":"node",".node-inspectrc.js":"node",".node-inspectrc.ts":"node",".node-inspectrc.cjs":"node",".node-inspectrc.mjs":"node","nodemon.json":"nodemon",".npmignore":"npm",".npmrc":"npm","package.json":"npm","package-lock.json":"npmlock","npm-shrinkwrap.json":"npm",".nsrirc":"nsri",".nsriignore":"nsri","nsri.config.js":"nsri",".nsrirc.js":"nsri",".nsrirc.json":"nsri",".nsrirc.yaml":"nsri",".nsrirc.yml":"nsri",".integrity.json":"nsri-integrity","nuxt.config.js":"nuxt","nuxt.config.ts":"nuxt",".nycrc":"nyc",".nycrc.json":"nyc",".merlin":"ocaml","paket.dependencies":"paket","paket.lock":"paket","paket.references":"paket","paket.template":"paket","paket.local":"paket",".php_cs":"phpcsfixer",".php_cs.dist":"phpcsfixer",phpunit:"phpunit","phpunit.xml":"phpunit","phpunit.xml.dist":"phpunit",".phraseapp.yml":"phraseapp",pipfile:"pip","pipfile.lock":"pip","platformio.ini":"platformio","pnpmfile.js":"pnpm","pnpm-workspace.yaml":"pnpm",".postcssrc":"postcssconfig",".postcssrc.json":"postcssconfig",".postcssrc.yml":"postcssconfig",".postcssrc.js":"postcssconfig",".postcssrc.cjs":"postcssconfig",".postcssrc.mjs":"postcssconfig",".postcssrc.ts":"postcssconfig",".postcssrc.cts":"postcssconfig",".postcssrc.mts":"postcssconfig","postcss.config.js":"postcssconfig","postcss.config.cjs":"postcssconfig","postcss.config.mjs":"postcssconfig","postcss.config.ts":"postcssconfig","postcss.config.cts":"postcssconfig","postcss.config.mts":"postcssconfig",".pre-commit-config.yaml":"precommit",".pre-commit-hooks.yaml":"precommit",".prettierrc":"prettier",".prettierignore":"prettierignore","prettier.config.js":"prettier","prettier.config.cjs":"prettier","prettier.config.mjs":"prettier","prettier.config.ts":"prettier","prettier.config.coffee":"prettier",".prettierrc.js":"prettier",".prettierrc.json":"prettier",".prettierrc.yml":"prettier",".prettierrc.yaml":"prettier",procfile:"procfile","protractor.conf.js":"protractor","protractor.conf.coffee":"protractor","protractor.conf.ts":"protractor",".jade-lintrc":"pug",".pug-lintrc":"pug",".jade-lint.json":"pug",".pug-lintrc.js":"pug",".pug-lintrc.json":"pug",".pyup":"pyup",".pyup.yml":"pyup",qmldir:"qmldir","quasar.conf.js":"quasar",rakefile:"rake","razzle.config.js":"razzle","readme.md":"readme","readme.txt":"readme",".rehyperc":"rehype",".rehypeignore":"rehype",".rehyperc.js":"rehype",".rehyperc.json":"rehype",".rehyperc.yml":"rehype",".rehyperc.yaml":"rehype",".remarkrc":"remark",".remarkignore":"remark",".remarkrc.js":"remark",".remarkrc.json":"remark",".remarkrc.yml":"remark",".remarkrc.yaml":"remark",".renovaterc":"renovate","renovate.json":"renovate",".renovaterc.json":"renovate",".retextrc":"retext",".retextignore":"retext",".retextrc.js":"retext",".retextrc.json":"retext",".retextrc.yml":"retext",".retextrc.yaml":"retext","robots.txt":"robots","rollup.config.js":"rollup","rollup.config.mjs":"rollup","rollup.config.coffee":"rollup","rollup.config.ts":"rollup","rollup.config.common.js":"rollup","rollup.config.common.mjs":"rollup","rollup.config.common.coffee":"rollup","rollup.config.common.ts":"rollup","rollup.config.dev.js":"rollup","rollup.config.dev.mjs":"rollup","rollup.config.dev.coffee":"rollup","rollup.config.dev.ts":"rollup","rollup.config.prod.js":"rollup","rollup.config.prod.mjs":"rollup","rollup.config.prod.coffee":"rollup","rollup.config.prod.ts":"rollup",".rspec":"rspec",".rubocop.yml":"rubocop",".rubocop_todo.yml":"rubocop","rust-toolchain":"rust_toolchain",".sentryclirc":"sentry","serverless.yml":"serverless","snapcraft.yaml":"snapcraft",".snyk":"snyk",".solidarity":"solidarity",".solidarity.json":"solidarity",".stylelintrc":"stylelint",".stylelintignore":"stylelintignore",".stylelintcache":"stylelint","stylelint.config.js":"stylelint","stylelint.config.cjs":"stylelint","stylelint.config.mjs":"stylelint","stylelint.config.json":"stylelint","stylelint.config.yaml":"stylelint","stylelint.config.yml":"stylelint","stylelint.config.ts":"stylelint",".stylelintrc.js":"stylelint",".stylelintrc.json":"stylelint",".stylelintrc.yaml":"stylelint",".stylelintrc.yml":"stylelint",".stylelintrc.ts":"stylelint",".stylelintrc.cjs":"stylelint",".stylelintrc.mjs":"stylelint",".stylish-haskell.yaml":"stylish_haskell",".svnignore":"subversion","package.pins":"swift","symfony.lock":"symfony","windi.config.ts":"windi","windi.config.js":"windi","tailwind.js":"tailwind","tailwind.mjs":"tailwind","tailwind.cjs":"tailwind","tailwind.coffee":"tailwind","tailwind.ts":"tailwind","tailwind.cts":"tailwind","tailwind.mts":"tailwind","tailwind.config.mjs":"tailwind","tailwind.config.cjs":"tailwind","tailwind.config.js":"tailwind","tailwind.config.coffee":"tailwind","tailwind.config.ts":"tailwind","tailwind.config.cts":"tailwind","tailwind.config.mts":"tailwind",".testcaferc.json":"testcafe",".tfignore":"tfs","tox.ini":"tox",".travis.yml":"travis","tsconfig.json":"tsconfig","tsconfig.app.json":"tsconfig","tsconfig.base.json":"tsconfig","tsconfig.common.json":"tsconfig","tsconfig.dev.json":"tsconfig","tsconfig.development.json":"tsconfig","tsconfig.e2e.json":"tsconfig","tsconfig.prod.json":"tsconfig","tsconfig.production.json":"tsconfig","tsconfig.server.json":"tsconfig","tsconfig.spec.json":"tsconfig","tsconfig.staging.json":"tsconfig","tsconfig.test.json":"tsconfig","tsconfig.tsd.json":"tsconfig","tsconfig.node.json":"tsconfig","tsconfig.lib.json":"tsconfig","tsconfig.eslint.json":"tsconfig","tsconfig.storybook.json":"tsconfig","tsconfig.tsbuildinfo":"tsconfig","tslint.json":"tslint","tslint.yaml":"tslint","tslint.yml":"tslint",".unibeautifyrc":"unibeautify","unibeautify.config.js":"unibeautify",".unibeautifyrc.js":"unibeautify",".unibeautifyrc.json":"unibeautify",".unibeautifyrc.yaml":"unibeautify",".unibeautifyrc.yml":"unibeautify",vagrantfile:"vagrant",".vimrc":"vim",".gvimrc":"vim",".vscodeignore":"vscode","tasks.json":"vscode","vscodeignore.json":"vscode",".vuerc":"vueconfig","vue.config.js":"vueconfig","vue.config.ts":"vueconfig","wallaby.json":"wallaby","wallaby.js":"wallaby","wallaby.ts":"wallaby","wallaby.coffee":"wallaby","wallaby.conf.json":"wallaby","wallaby.conf.js":"wallaby","wallaby.conf.ts":"wallaby","wallaby.conf.coffee":"wallaby",".wallaby.json":"wallaby",".wallaby.js":"wallaby",".wallaby.ts":"wallaby",".wallaby.coffee":"wallaby",".wallaby.conf.json":"wallaby",".wallaby.conf.js":"wallaby",".wallaby.conf.ts":"wallaby",".wallaby.conf.coffee":"wallaby",".watchmanconfig":"watchmanconfig","wercker.yml":"wercker","wpml-config.xml":"wpml",".yamllint":"yamllint",".yaspellerrc":"yandex",".yaspeller.json":"yandex","yarn.lock":"yarnlock",".yarnrc":"yarn",".yarn.installed":"yarn",".yarnclean":"yarn",".yarn-integrity":"yarn",".yarn-metadata.json":"yarn",".yarnignore":"yarnignore",".yarnrc.yml":"yarn",".yarnrc.yaml":"yarn",".yarnrc.json":"yarn",".yarnrc.json5":"yarn",".yarnrc.cjs":"yarn",".yarnrc.js":"yarn",".yarnrc.lock":"yarn",".yarnrc.txt":"yarn","yarn-error.log":"yarnerror",".yo-rc.json":"yeoman","now.json":"vercel",".nowignore":"vercel","vercel.json":"vercel",".vercel":"vercel",".vercelignore":"vercel","vite.config.js":"vite","vite.config.mjs":"vite","vite.config.cjs":"vite","vite.config.ts":"vite","vite.config.mts":"vite","vite.config.cts":"vite",".nvmrc":"nvm","example.env":"env",".env.staging":"env",".env.sample":"env",".env.preprod":"env",".env.prod":"env",".env.production":"env",".env.local":"env",".env.dev":"env",".env.dev.local":"env",".env.dev.prod":"env",".env.dev.preprod":"env",".env.dev.production":"env",".env.dev.staging":"env",".env.development":"env",".env.example":"env",".env.test":"env",".env.dist":"env",".env.default":"env",".jinja":"jinja","jenkins.yaml":"jenkins","jenkins.yml":"jenkins",".compodocrc":"compodoc",".compodocrc.json":"compodoc",".compodocrc.yaml":"compodoc",".compodocrc.yml":"compodoc","bsconfig.json":"bsconfig",".clang-format":"llvm",".clang-tidy":"llvm",".clangd":"llvm",".parcelrc":"parcel",dune:"dune","dune-project":"duneproject",".adonisrc.json":"adonis","astro.config.js":"astroconfig","astro.config.cjs":"astroconfig","astro.config.mjs":"astroconfig","astro.config.ts":"astroconfig","astro.config.cts":"astroconfig","astro.config.mts":"astroconfig","svelte.config.js":"svelteconfig","svelte.config.ts":"svelteconfig",".tool-versions":"toolversions","CMakeSettings.json":"cmake","CMakeLists.txt":"cmake","toolchain.cmake":"cmake",".cmake":"cmake","Cargo.toml":"cargo","Cargo.lock":"cargolock","pnpm-lock.yaml":"pnpmlock","tauri.conf.json":"tauri","tauri.conf.json5":"tauri","tauri.linux.conf.json":"tauri","tauri.windows.conf.json":"tauri","tauri.macos.conf.json":"tauri","next.config.js":"nextconfig","next.config.mjs":"nextconfig","next.config.ts":"nextconfig","nextron.config.js":"nextron","nextron.config.ts":"nextron","poetry.toml":"poetry","poetry.lock":"poetrylock","pyproject.toml":"pyproject","rustfmt.toml":"rustfmt",".rustfmt.toml":"rustfmt","cucumber.yml":"cucumber","cucumber.yaml":"cucumber","cucumber.js":"cucumber","cucumber.ts":"cucumber","cucumber.cjs":"cucumber","cucumber.mjs":"cucumber","cucumber.json":"cucumber","flake.lock":"flakelock",ace:"ace","ace-manifest.json":"acemanifest","knexfile.js":"knex","knexfile.ts":"knex","launch.json":"launch","redis.conf":"redis","sequelize.js":"sequelize","sequelize.ts":"sequelize","sequelize.cjs":"sequelize",".sequelizerc":"sequelize",".sequelizerc.js":"sequelize",".sequelizerc.json":"sequelize","cypress.json":"cypress","cypress.env.json":"cypress","cypress.config.js":"cypress","cypress.config.ts":"cypress","cypress.config.cjs":"cypress","playwright.config.ts":"playright","playwright.config.js":"playright","playwright.config.cjs":"playright","vitest.config.ts":"vitest","vitest.config.cts":"vitest","vitest.config.mts":"vitest","vitest.config.js":"vitest","vitest.config.cjs":"vitest","vitest.config.mjs":"vitest","vitest.workspace.ts":"vitest","vitest.workspace.cts":"vitest","vitest.workspace.mts":"vitest","vitest.workspace.js":"vitest","vitest.workspace.cjs":"vitest","vitest.workspace.mjs":"vitest","vite-env.d.ts":"viteenv","vite-env.d.js":"viteenv","pubspec.lock":"flutterlock","pubspec.yaml":"flutter",".packages":"flutterpackage",".htaccess":"htaccess","nx.json":"nx","project.json":"nx","nx.instructions.md":"nx","nx.jsonc":"nx","v.mod":"vmod","quasar.config.js":"quasar","quasar.config.ts":"quasar","quasar.config.cjs":"quasar","quasar.config.mjs":"quasar","quarkus.properties":"quarkus","theme.properties":"ui",gradlew:"gradle","gradle-wrapper.properties":"gradle","gradlew.bat":"gradlebat","makefile.win":"makefile",makefile:"makefile",make:"makefile",version:"version",server:"sql",migrate:"sql",".commitlintrc":"commitlint",".commitlintrc.json":"commitlint",".commitlintrc.yaml":"commitlint",".commitlintrc.yml":"commitlint",".commitlintrc.js":"commitlint",".commitlintrc.cjs":"commitlint",".commitlintrc.ts":"commitlint",".commitlintrc.cts":"commitlint","commitlint.config.js":"commitlint","commitlint.config.cjs":"commitlint","commitlint.config.ts":"commitlint","commitlint.config.cts":"commitlint",".terraform-version":"terraformversion",TerraFile:"terrafile","tfstate.backup":"terraform",".code-workspace":"codeworkspace","hardhat.config.js":"hardhat","hardhat.config.ts":"hardhat","hardhat.config.cts":"hardhat","hardhat.config.cjs":"hardhat","hardhat.config.mjs":"hardhat","taze.config.js":"taze","taze.config.ts":"taze","taze.config.cjs":"taze","taze.config.mjs":"taze",".tazerc.json":"taze","turbo.json":"turbo","turbo.jsonc":"turbo","uno.config.ts":"unocss","uno.config.js":"unocss","uno.config.mjs":"unocss","uno.config.mts":"unocss","unocss.config.ts":"unocss","unocss.config.js":"unocss","unocss.config.mjs":"unocss","unocss.config.mts":"unocss","atomizer.config.js":"atomizer","atomizer.config.cjs":"atomizer","atomizer.config.mjs":"atomizer","atomizer.config.ts":"atomizer","esbuild.js":"esbuild","esbuild.mjs":"esbuild","esbuild.cjs":"esbuild","esbuild.ts":"esbuild","mix.exs":"mix","mix.lock":"mixlock",".DS_Store":"dsstore","remix.config.js":"remix","remix.config.cjs":"remix","remix.config.mjs":"remix","remix.config.ts":"remix","xmake.lua":"xmake",".sailsrc":"sails","farm.config.ts":"farm","farm.config.js":"farm","bunfig.toml":"bun",".bunfig.toml":"bun","bun.lockb":"bunlock","bun.lock":"bunlock",".air.toml":"air","rome.json":"rome","biome.json":"biome","bicepconfig.json":"bicepconfig","drizzle.config.ts":"drizzle","drizzle.config.js":"drizzle","drizzle.config.json":"drizzle","panda.config.ts":"panda","panda.config.js":"panda","panda.config.json":"panda","panda.config.cjs":"panda","panda.config.mjs":"panda","panda.config.cts":"panda","panda.config.mts":"panda",".buckconfig":"buck","Ballerina.toml":"ballerinaconfig","knip.json":"knip","knip.jsonc":"knip",".knip.json":"knip",".knip.jsonc":"knip","knip.ts":"knip","knip.js":"knip","knip.config.ts":"knip","knip.config.js":"knip","todo.md":"todo",".todo.md":"todo","todo.txt":"todo",".todo.txt":"todo",todo:"todo","mkdocs.yml":"mkdocs","mkdocs.yaml":"mkdocs","gleam.toml":"gleamconfig",".oxlintrc.json":"oxlint","oxlint.json":"oxlint","oxlint.config.js":"oxlint","oxlint.config.ts":"oxlint","oxlint.config.cjs":"oxlint","oxlint.config.mjs":"oxlint","oxlint.config.cts":"oxlint","oxlint.config.mts":"oxlint",".cursorrules":"cursor","plopfile.js":"plop","plopfile.cjs":"plop","plopfile.mjs":"plop","plopfile.ts":"plop","plopfile.cts":"plop","config.mockoon.json":"mockoon","mockoon.json":"mockoon","mockoon.yaml":"mockoon","mockoon.yml":"mockoon","mockoon.env":"mockoon","mockoon.env.json":"mockoon","mockoon.env.yaml":"mockoon","mockoon.env.yml":"mockoon","mockoon.env.js":"mockoon","mockoon.env.ts":"mockoon","mockoon.env.cjs":"mockoon","mockoon.env.mjs":"mockoon","mockoon.env.cts":"mockoon","mockoon.env.mts":"mockoon","copilot-instructions.md":"copilot",".copilot-instructions":"copilot",".instructions":"instructions","instructions.md":"instructions","instructions.txt":"instructions",instructions:"instructions","instructions.json":"instructions","instructions.yaml":"instructions","instructions.yml":"instructions",".keep":"keep",".keepignore":"keep","CLAUDE.md":"claude","claude.md":"claude","claude.txt":"claude",claude:"claude","claude.json":"claude","claude.yaml":"claude",".claude_code_config":"claude",".claude":"claude","claude.config.js":"claude",".claude.yaml":"claude",".clauderc":"claude","claude-instructions.md":"claude",".claude-code":"claude","claude-code.config":"claude"},languageIds:{actionscript:"actionscript",ada:"ada",advpl:"advpl",affectscript:"affectscript",al:"al",ansible:"ansible",antlr:"antlr",anyscript:"anyscript",apacheconf:"apache",apex:"apex",apiblueprint:"apib",apl:"apl",applescript:"applescript",asciidoc:"asciidoc",asp:"asp","asp (html)":"asp",arm:"assembly",asm:"assembly",ats:"ats",ahk:"autohotkey",autoit:"autoit",avro:"avro",azcli:"azure","azure-pipelines":"azurepipelines",ballerina:"ballerina",bat:"bat",bats:"bats",bazel:"bazel",befunge:"befunge",befunge98:"befunge",biml:"biml",blade:"blade","laravel-blade":"blade",bolt:"bolt",bosque:"bosque",c:"c","c-al":"c_al",cabal:"cabal",caddyfile:"caddy",cddl:"cddl",ceylon:"ceylon",cfml:"cf","lang-cfml":"cf",cfc:"cfc",cfmhtml:"cfm",cookbook:"chef_cookbook",clojure:"clojure",clojurescript:"clojurescript","manifest-yaml":"cloudfoundry",cmake:"cmake","cmake-cache":"cmake",cobol:"cobol",coffeescript:"coffeescript",properties:"properties",dotenv:"config",confluence:"confluence",cpp:"cpp",crystal:"crystal",csharp:"csharp",css:"css",feature:"cucumber",cuda:"cuda",cython:"cython",dal:"dal",dart:"dartlang",pascal:"pascal",objectpascal:"pascal",diff:"diff","django-html":"django","django-txt":"django",d:"dlang",dscript:"dlang",dml:"dlang",diet:"dlang",dockerfile:"docker",ignore:"docker",dotjs:"dotjs",doxygen:"doxygen",drools:"drools",dustjs:"dustjs",dylan:"dylan","dylan-lid":"dylan",edge:"edge",eex:"eex","html-eex":"eex",es:"elastic",elixir:"elixir",elm:"elm",erb:"erb",erlang:"erlang",falcon:"falcon",fortran:"fortran","fortran-modern":"fortran",FortranFreeForm:"fortran","fortran_fixed-form":"fortran",ftl:"freemarker",fsharp:"fsharp",fthtml:"fthtml",galen:"galen","gml-gms":"gamemaker","gml-gms2":"gamemaker2","gml-gm81":"gamemaker81",gcode:"gcode",genstat:"genstat","git-commit":"git","git-rebase":"git",glsl:"glsl",glyphs:"glyphs",gnuplot:"gnuplot",go:"go",golang:"go","go-sum":"go","go-mod":"go","go-xml":"go",gdscript:"godot",graphql:"graphql",dot:"graphviz",groovy:"groovy",haml:"haml",handlebars:"handlebars",harbour:"harbour",haskell:"haskell","literate haskell":"haskell",haxe:"haxe",hxml:"haxe","Haxe AST dump":"haxe",helm:"helm",hjson:"hjson",hlsl:"opengl","home-assistant":"homeassistant",hosts:"host",html:"html",http:"http","hunspell.aff":"hunspell","hunspell.dic":"hunspell",hy:"hy",icl:"icl",imba:"imba","4GL":"informix",ini:"conf",ink:"ink",innosetup:"innosetup",io:"io",iodine:"iodine",janet:"janet",java:"java",raku:"raku",jekyll:"jekyll",jenkins:"jenkins",declarative:"jenkins",jenkinsfile:"jenkins",jinja:"jinja","code-referencing":"vscode","search-result":"vscode",type:"vscode",javascript:"js",json:"json",jsonl:"json","json-tmlanguage":"json",jsonc:"json",json5:"json5",jsonnet:"jsonnet",julia:"julia",juliamarkdown:"julia",kivy:"kivy",kos:"kos",kotlin:"kotlin",kusto:"kusto",latino:"latino",less:"less",lex:"lex",lisp:"lisp",lolcode:"lolcode","code-text-binary":"binary",lsl:"lsl",lua:"lua",makefile:"makefile",markdown:"markdown",marko:"marko",matlab:"matlab",maxscript:"maxscript",mel:"maya",mediawiki:"mediawiki",meson:"meson",mjml:"mjml",mlang:"mlang",powerquerymlanguage:"mlang",mojolicious:"mojolicious",mongo:"mongo",mson:"mson",nearley:"nearly",nim:"nim",nimble:"nimble",nix:"nix",nsis:"nsi",nfl:"nsi",nsl:"nsi",bridlensis:"nsi",nunjucks:"nunjucks","objective-c":"c","objective-cpp":"cpp",ocaml:"ocaml",ocamllex:"ocaml",menhir:"ocaml",openhab:"openHAB",pddl:"pddl",happenings:"pddl_happenings",plan:"pddl_plan","phoenix-heex":"eex",perl:"perl",perl6:"perl6",pgsql:"pgsql",php:"php",pine:"pine",pinescript:"pine","pip-requirements":"python","platformio-debug.disassembly":"platformio","platformio-debug.memoryview":"platformio","platformio-debug.asm":"platformio",plsql:"plsql",oracle:"plsql",polymer:"polymer",pony:"pony",postcss:"postcss",powershell:"powershell",prisma:"prisma",pde:"processinglang",abl:"progress",prolog:"prolog",prometheus:"prometheus",proto3:"protobuf",proto:"protobuf",jade:"pug",pug:"pug",puppet:"puppet",purescript:"purescript",pyret:"pyret",python:"python",qlik:"qlikview",qml:"qml",qsharp:"qsharp",r:"r",racket:"racket",raml:"raml",razor:"razor",aspnetcorerazor:"razor",javascriptreact:"reactjs",typescriptreact:"reactts",reason:"reason",red:"red",restructuredtext:"restructuredtext",rexx:"rexx",riot:"riot",rmd:"rmd",mdx:"markdownx",robot:"robotframework",ruby:"ruby",rust:"rust",san:"san",SAS:"sas",sbt:"sbt",scala:"scala",scilab:"scilab",vbscript:"script",scss:"scss",sdl:"sdlang",shaderlab:"shaderlab",shellscript:"shell",silverstripe:"silverstripe",eskip:"skipper",slang:"slang",slice:"slice",slim:"slim",smarty:"smarty",snort:"snort",solidity:"solidity",snippets:"vscode",sqf:"sqf",sql:"sql",squirrel:"squirrel",stan:"stan",stata:"stata",stencil:"stencil","stencil-html":"stencil",stylable:"stylable","source.css.styled":"styled",stylus:"stylus",svelte:"svelte",Swagger:"swagger",swagger:"swagger",swift:"swift",swig:"swig","cuda-cpp":"nvidia","systemd-unit-file":"systemd",systemverilog:"systemverilog",t4:"t4tt",tera:"tera",terraform:"terraform",tex:"latex",log:"log",dockercompose:"docker",latex:"latex","vue-directives":"vue","vue-injection-markdown":"vue","vue-interpolations":"vue","vue-sfc-style-variable-injection":"vue",bibtex:"latex",doctex:"tex",plaintext:"text",textile:"textile",toml:"toml",tt:"tt",ttcn:"ttcn",twig:"twig",typescript:"typescript",typoscript:"typo3",vb:"vb",vba:"vba",velocity:"velocity",verilog:"verilog",vhdl:"vhdl",viml:"vim",v:"vlang",volt:"volt",vue:"vue",wasm:"wasm",wat:"wasm",wenyan:"wenyan",wolfram:"wolfram",wurstlang:"wurst",wurst:"wurst",xmake:"xmake",xml:"xml",xquery:"xquery",xsl:"xml",yacc:"yacc",yaml:"yaml","yaml-tmlanguage":"yaml",yang:"yang",zig:"zig","vitest-snapshot":"vitest",instructions:"instructions",prompt:"prompt"},light:{file:"_file_light",folder:"_folder_light",folderExpanded:"_folder_light_open",rootFolder:"_root_folder_light",rootFolderExpanded:"_root_folder_light_open",fileExtensions:{wma:"audio",wav:"audiowav",vox:"audio",tta:"audio",raw:"audio",ra:"audio",opus:"audio",ogg:"audioogg",oga:"audio",msv:"audio",mpc:"audio",mp3:"audiomp3",mogg:"audio",mmf:"audio",m4p:"audio",m4b:"audio",m4a:"audio",ivs:"audio",iklax:"audio",gsm:"audio",flac:"audio",dvf:"audio",dss:"audio",dct:"audio",au:"audio",ape:"audio",amr:"audio",aiff:"audio",act:"audio",aac:"audio",wmv:"video",webm:"video",vob:"video",svi:"video",rmvb:"video",rm:"video",ogv:"video",nsv:"video",mpv:"video",mpg:"video",mpeg2:"video",mpeg:"video",mpe:"video",mp4:"mp4",mp2:"video",mov:"mov",mk3d:"video",mkv:"video",m4v:"video",m2v:"video",flv:"video",f4v:"video",f4p:"video",f4b:"video",f4a:"video",qt:"video",divx:"video",avi:"video",amv:"video",asf:"video","3gp":"video","3g2":"video",ico:"imageico",tiff:"image",bmp:"image",png:"imagepng",gif:"imagegif",jpg:"imagejpg",jpeg:"imagejpg","7z":"zip","7zip":"zip","blade.php":"blade","cfg.dist":"conf","cjs.map":"jsmap","controller.js":"nestjscontroller","controller.ts":"nestjscontroller","repository.js":"nestjsrepository","repository.ts":"nestjsrepository","scheduler.js":"nestscheduler","scheduler.ts":"nestscheduler","css.js":"vanillaextract","css.ts":"vanillaextract","css.map":"cssmap","d.ts":"typescriptdef","decorator.js":"nestjsdecorator","decorator.ts":"nestjsdecorator","drawio.png":"drawio","drawio.svg":"drawio","e2e-spec.ts":"testts","e2e-spec.tsx":"testts","e2e-test.ts":"testts","e2e-test.tsx":"testts","filter.js":"nestjsfilter","filter.ts":"nestjsfilter","format.ps1xml":"powershell_format","gemfile.lock":"bundler","gradle.kts":"gradlekotlin","guard.js":"nestjsguard","guard.ts":"nestjsguard","jar.old":"jar","js.flow":"flow","js.map":"jsmap","js.snap":"jest_snapshot","json-ld":"jsonld","jsx.snap":"jest_snapshot","layout.htm":"layout","layout.html":"layout","marko.js":"markojs","mjs.map":"jsmap","module.ts":"nestjsmodule","resolver.js":"nestjsresolver","resolver.ts":"nestjsresolver","service.js":"nestjsservice","service.ts":"nestjsservice","entity.js":"nestjsentity","entity.ts":"nestjsentity","interceptor.js":"nestjsinterceptor","interceptor.ts":"nestjsinterceptor","dto.js":"nestjsdto","dto.ts":"nestjsdto","spec.js":"testjs","spec.jsx":"testjs","spec.mjs":"testjs","spec.ts":"testts","spec.tsx":"testts","stories.js":"storybook","stories.jsx":"storybook","stories.ts":"storybook","stories.tsx":"storybook","stories.svelte":"storybook","story.js":"storybook","story.jsx":"storybook","story.ts":"storybook","story.tsx":"storybook","story.svelte":"storybook","test.cjs":"testjs","test.cts":"testts","test.js":"testjs","test.jsx":"testjs","test.mjs":"testjs","test.mts":"testts","test.ts":"testts","test.tsx":"testts","ts.snap":"jest_snapshot","tsx.snap":"jest_snapshot","types.ps1xml":"powershell_types",a:"binary",accda:"access",accdb:"access",accdc:"access",accde:"access",accdp:"access",accdr:"access",accdt:"access",accdu:"access",ade:"access",adoc:"adoc",adp:"access",afdesign:"afdesign",affinitydesigner:"afdesign",affinityphoto:"afphoto",affinitypublisher:"afpub",afphoto:"afphoto",afpub:"afpub",ai:"ai",app:"binary",ascx:"aspx",asm:"binary",aspx:"aspx",astro:"astro",awk:"awk",bat:"bat",bc:"llvm",bcmx:"outlook",bicep:"bicep",bin:"binary",blade:"blade",bz2:"zip",bzip2:"zip",c:"c",cake:"cake",cer:"cert",pvk:"pvk",pfx:"pfx",spc:"spc",cfg:"conf",civet:"civet",cjm:"clojure",cl:"opencl",class:"class",cli:"cli",clj:"clojure",cljc:"clojure",cljs:"clojure",cljx:"clojure",cma:"binary",cmd:"cli",cmi:"binary",cmo:"binary",cmx:"binary",cmxa:"binary",comp:"opengl",conf:"conf",cpp:"cpp",cr:"crystal",crec:"lync",crl:"cert",crt:"cert",cs:"csharp",cshtml:"cshtml",csproj:"csproj",csr:"cert",css:"css",csv:"csv",csx:"csharp",d:"d",dart:"dartlang",db:"sqlite",db3:"sqlite",der:"cert",diff:"diff",dio:"drawio",djt:"django",dll:"binary",dmp:"log",doc:"word",docm:"word",docx:"word",dot:"word",dotm:"word",dotx:"word",drawio:"drawio",dta:"stata",eco:"docpad",edge:"edge",edn:"clojure",eex:"eex",ejs:"ejs",el:"emacs",elc:"emacs",elm:"elm",enc:"license",ensime:"ensime",env:"env",eps:"eps",erb:"erb",erl:"erlang",eskip:"skipper",ex:"elixir",exe:"binary",exp:"tcl",exs:"exs",fbx:"fbx",feature:"cucumber",fig:"figma",fish:"shell",fla:"fla",fods:"excel",frag:"opengl",fs:"fsharp",fsproj:"fsproj",ftl:"freemarker",gbl:"gbl",gd:"godot",gemfile:"bundler",geom:"opengl",glsl:"opengl",gmx:"gamemaker",go:"go",godot:"godot",gql:"graphql",gradle:"gradle",groovy:"groovy",gz:"zip",h:"cheader",haml:"haml",hbs:"handlebars",hcl:"hashicorp",hl:"binary",hlsl:"opengl",hpp:"hpp",hs:"haskell",html:"html",hxp:"lime",hxproj:"haxedevelop",ibc:"idrisbin",idr:"idris",ilk:"binary",imba:"imba",inc:"inc",include:"inc",info:"info",infopathxml:"infopath",ini:"conf",ino:"arduino",ipkg:"idrispkg",ipynb:"ipynb",iuml:"plantuml",jar:"jar",java:"java",jbuilder:"jbuilder",j2:"jinja",jinja:"jinja",jinja2:"jinja",jl:"julia",json5:"json5",jsonld:"jsonld",jsp:"jsp",jss:"jss",key:"key",kit:"codekit",kt:"kotlin",kts:"kotlins",laccdb:"access",ldb:"access",less:"less",lib:"binary",lidr:"idris",liquid:"liquid",ll:"llvm",lnk:"lnk",log:"log",ls:"livescript",lucee:"cf",m:"m",makefile:"makefile",mam:"access",map:"map",maq:"access",markdown:"markdown",master:"layout",mdb:"access",mdown:"markdown",mdw:"access",mdx:"markdownx",mesh:"mesh",mex:"matlab",mexn:"matlab",mexrs6:"matlab",mf:"manifest",mint:"mint",mjml:"mjml",ml:"ocaml",mli:"ocamli",mll:"ocamll",mly:"ocamly",mn:"matlab",mo:"motoko",msg:"outlook",mst:"mustache",mum:"matlab",mustache:"mustache",mx:"matlab",mx3:"matlab",n:"binary",ndll:"binary",neon:"neon",nim:"nim",nix:"nix",njk:"njk",njs:"nunjucks",njsproj:"njsproj",nunj:"nunjucks",nupkg:"nuget",nuspec:"nuget",nvim:"nvim",o:"binary",ocrec:"lync",ods:"excel",oft:"outlook",one:"onenote",onepkg:"onenote",onetoc:"onenote",onetoc2:"onenote",opencl:"opencl",org:"org",otf:"fontotf",otm:"outlook",ovpn:"ovpn",P:"prolog",p12:"cert",p7b:"cert",p7r:"cert",pa:"powerpoint",patch:"diff",pcd:"pcl",pck:"plsql_package",pdb:"binary",pde:"arduino",pdf:"pdf",pem:"key",pex:"xml",phar:"php",php1:"php",php2:"php",php3:"php",php4:"php",php5:"php",php6:"php",phps:"php",phpsa:"php",phpt:"php",phtml:"php",pkb:"plsql_package_body",pkg:"package",pkh:"plsql_package_header",pks:"plsql_package_spec",pl:"perl",plantuml:"plantuml",plist:"config",pm:"perlm",po:"poedit",postcss:"postcssconfig",pcss:"postcssconfig",pot:"powerpoint",potm:"powerpoint",potx:"powerpoint",ppa:"powerpoint",ppam:"powerpoint",pps:"powerpoint",ppsm:"powerpoint",ppsx:"powerpoint",ppt:"powerpoint",pptm:"powerpoint",pptx:"powerpoint",pri:"qt",prisma:"prisma",pro:"prolog",properties:"properties",ps1:"powershell",psd:"photoshop",psd1:"powershelldata",psm1:"powershellmodule",psmdcp:"nuget",pst:"outlook",pu:"plantuml",pub:"publisher",puml:"plantuml",puz:"publisher",pyc:"binary",pyd:"binary",pyo:"binary",q:"q",qbs:"qbs",qvd:"qlikview",qvw:"qlikview",rake:"rake",rar:"zip",gzip:"zip",razor:"razor",rb:"ruby",reg:"registry",rego:"rego",res:"rescript",resi:"rescriptinterface",rjson:"rjson",rproj:"rproj",rs:"rust",rsx:"rust",ron:"ron",odin:"odin",rt:"reacttemplate",rwd:"matlab",pas:"pascal",pp:"pascal",p:"pascal",lpr:"lazarusproject",lps:"lazarusproject",lpi:"lazarusproject",lfm:"lazarusproject",lrs:"lazarusproject",lpk:"lazarusproject",dpr:"delphiproject",dproj:"delphiproject",dfm:"delphiproject",sass:"scss",sc:"scala",scala:"scala",scpt:"binary",scptd:"binary",scss:"scss",sentinel:"sentinel",sig:"onenote",sketch:"sketch",slddc:"matlab",sldm:"powerpoint",sldx:"powerpoint",sln:"sln",sls:"saltstack",slx:"matlab",smv:"matlab",so:"binary",sol:"sol",sql:"sql",sqlite:"sqlite",sqlite3:"sqlite",src:"cert",sss:"sss",sst:"cert",stl:"cert",storyboard:"storyboard",styl:"stylus",suo:"suo",svelte:"svelte",svg:"svg",swc:"flash",swf:"flash",swift:"swift",tar:"zip",tcl:"tcl",templ:"tmpl",tesc:"opengl",tese:"opengl",tex:"latex",texi:"tex",tf:"terraform",tfstate:"terraform",tfvars:"terraformvars",tgz:"zip",tikz:"tex",tlg:"log",tmlanguage:"xml",tmpl:"tmpl",todo:"todo",toml:"toml",tpl:"smarty",tres:"tres",tscn:"tscn",tst:"test",tsx:"reactts",jsx:"reactjs",tt2:"tt",ttf:"fontttf",twig:"twig",txt:"txt",ui:"ui",unity:"shaderlab",user:"user",v:"v",vala:"vala",vapi:"vapi",vash:"vash",vbhtml:"vbhtml",vbproj:"vbproj",vcxproj:"vcxproj",vert:"opengl",vhd:"vhd",vhdl:"vhdl",vsix:"vscode",vsixmanifest:"manifest",wasm:"wasm",webp:"imagewebp",wgsl:"wgsl",wll:"word",woff:"fontwoff",eot:"fonteot",woff2:"fontwoff2",wv:"audiowv",wxml:"wxml",wxss:"wxss",xcodeproj:"xcode",xfl:"xfl",xib:"xib",xlf:"xliff",xliff:"xliff",xls:"excel",xlsm:"excel",xlsx:"excel",xsf:"infopath",xsn:"infopath",xtp2:"infopath",xvc:"matlab",xz:"zip",yy:"gamemaker2",yyp:"gamemaker2",zig:"zig",zip:"zip",zipx:"zip",zz:"zip",deflate:"zip",brotli:"brotli",kra:"krita",mgcb:"mgcb",anim:"anim","cy.ts":"cypressts","cy.js":"cypressjs",hx:"haxe",hxml:"haxeml",gr:"grain",slim:"slim",obj:"obj",mtl:"mtl",bicepparam:"bicepparam",proto:"proto",wren:"wren","docker-compose.yml":"docker",excalidraw:"excalidraw","excalidraw.json":"excalidraw","excalidraw.svg":"excalidraw","excalidraw.png":"excalidraw",bazel:"bazel",bzl:"bazel",bazelignore:"bazelignore",bazelrc:"bazel",http:"http",rkt:"racket",rktl:"racket",bru:"bruno",nelua:"nelua",mermaid:"mermaid",mmd:"mermaid",bal:"ballerina",hash:"hash",gleam:"gleam",lock:"lock",yang:"yang",yin:"yin",mdc:"cursor",uml:"plantuml",Identifier:"identifier",cls:"salesforce",".instructions.md":"instructions",".instructions.txt":"instructions",".instructions.json":"instructions",".instructions.yaml":"instructions",".instructions.yml":"instructions",silq:"silq",eraserdiagram:"eraser"},fileNames:{"webpack.config.images.js":"webpack","webpack.test.conf.ts":"webpack","webpack.test.conf.coffee":"webpack","webpack.test.conf.js":"webpack","webpack.rules.ts":"webpack","webpack.rules.coffee":"webpack","webpack.rules.js":"webpack","webpack.renderer.config.ts":"webpack","webpack.renderer.config.coffee":"webpack","webpack.renderer.config.js":"webpack","webpack.plugins.ts":"webpack","webpack.plugins.coffee":"webpack","webpack.plugins.js":"webpack","webpack.mix.ts":"webpack","webpack.mix.coffee":"webpack","webpack.mix.js":"webpack","webpack.main.config.ts":"webpack","webpack.main.config.coffee":"webpack","webpack.main.config.js":"webpack","webpack.prod.conf.ts":"webpack","webpack.prod.conf.coffee":"webpack","webpack.prod.conf.js":"webpack","webpack.prod.ts":"webpack","webpack.prod.coffee":"webpack","webpack.prod.js":"webpack","webpack.dev.conf.ts":"webpack","webpack.dev.conf.coffee":"webpack","webpack.dev.conf.js":"webpack","webpack.dev.ts":"webpack","webpack.dev.coffee":"webpack","webpack.dev.js":"webpack","webpack.config.production.babel.ts":"webpack","webpack.config.production.babel.coffee":"webpack","webpack.config.production.babel.js":"webpack","webpack.config.prod.babel.ts":"webpack","webpack.config.prod.babel.coffee":"webpack","webpack.config.prod.babel.js":"webpack","webpack.config.test.babel.ts":"webpack","webpack.config.test.babel.coffee":"webpack","webpack.config.test.babel.js":"webpack","webpack.config.staging.babel.ts":"webpack","webpack.config.staging.babel.coffee":"webpack","webpack.config.staging.babel.js":"webpack","webpack.config.development.babel.ts":"webpack","webpack.config.development.babel.coffee":"webpack","webpack.config.development.babel.js":"webpack","webpack.config.dev.babel.ts":"webpack","webpack.config.dev.babel.coffee":"webpack","webpack.config.dev.babel.js":"webpack","webpack.config.common.babel.ts":"webpack","webpack.config.common.babel.coffee":"webpack","webpack.config.common.babel.js":"webpack","webpack.config.base.babel.ts":"webpack","webpack.config.base.babel.coffee":"webpack","webpack.config.base.babel.js":"webpack","webpack.config.babel.ts":"webpack","webpack.config.babel.coffee":"webpack","webpack.config.babel.js":"webpack","webpack.config.production.ts":"webpack","webpack.config.production.coffee":"webpack","webpack.config.production.js":"webpack","webpack.config.prod.ts":"webpack","webpack.config.prod.coffee":"webpack","webpack.config.prod.js":"webpack","webpack.config.test.ts":"webpack","webpack.config.test.coffee":"webpack","webpack.config.test.js":"webpack","webpack.config.staging.ts":"webpack","webpack.config.staging.coffee":"webpack","webpack.config.staging.js":"webpack","webpack.config.development.ts":"webpack","webpack.config.development.coffee":"webpack","webpack.config.development.js":"webpack","webpack.config.dev.ts":"webpack","webpack.config.dev.coffee":"webpack","webpack.config.dev.js":"webpack","webpack.config.common.ts":"webpack","webpack.config.common.coffee":"webpack","webpack.config.common.js":"webpack","webpack.config.base.ts":"webpack","webpack.config.base.coffee":"webpack","webpack.config.base.js":"webpack","webpack.config.ts":"webpack","webpack.config.coffee":"webpack","webpack.config.js":"webpack","webpack.common.ts":"webpack","webpack.common.coffee":"webpack","webpack.common.js":"webpack","webpack.base.conf.ts":"webpack","webpack.base.conf.coffee":"webpack","webpack.base.conf.js":"webpack",".angular-cli.json":"angular","angular-cli.json":"angular","angular.json":"angular",".angular.json":"angular","api-extractor.json":"api_extractor","api-extractor-base.json":"api_extractor","appveyor.yml":"appveyor",".appveyor.yml":"appveyor","aurelia.json":"aurelia","azure-pipelines.yml":"azure",".vsts-ci.yml":"azure",".babelrc":"babel",".babelignore":"babel",".babelrc.js":"babel",".babelrc.cjs":"babel",".babelrc.mjs":"babel",".babelrc.json":"babel","babel.config.js":"babel","babel.config.cjs":"babel","babel.config.mjs":"babel","babel.config.json":"babel","vetur.config.js":"vue","vetur.config.ts":"vue",".bzrignore":"bazaar",".bazelrc":"bazel","bazel.rc":"bazel","bazel.bazelrc":"bazel",BUILD:"bazel","bitbucket-pipelines.yml":"bitbucketpipeline",".bithoundrc":"bithound",".bowerrc":"bower","bower.json":"bower",".browserslistrc":"browserslist",browserslist:"browserslist",gemfile:"bundler","gemfile.lock":"bundler",".ruby-version":"bundler","capacitor.config.json":"capacitor","cargo.toml":"cargo","cargo.lock":"cargo",chefignore:"chef",berksfile:"chef","berksfile.lock":"chef",policyfile:"chef","circle.yml":"circleci",".cfignore":"cloudfoundry",".codacy.yml":"codacy",".codacy.yaml":"codacy",".codeclimate.yml":"codeclimate","codecov.yml":"codecov",".codecov.yml":"codecov","config.codekit":"codekit","config.codekit2":"codekit","config.codekit3":"codekit",".config.codekit":"codekit",".config.codekit2":"codekit",".config.codekit3":"codekit","coffeelint.json":"coffeelint",".coffeelintignore":"coffeelint","composer.json":"composer","composer.lock":"composerlock","conanfile.txt":"conan","conanfile.py":"conan",".condarc":"conda",".coveralls.yml":"coveralls","crowdin.yml":"crowdin",".csscomb.json":"csscomb",".csslintrc":"csslint",".cvsignore":"cvs",".boringignore":"darcs","dependabot.yml":"dependabot","dependencies.yml":"dependencies","devcontainer.json":"devcontainer","docker-compose-prod.yml":"docker","docker-compose.alpha.yaml":"docker","docker-compose.alpha.yml":"docker","docker-compose.beta.yaml":"docker","docker-compose.beta.yml":"docker","docker-compose.ci-build.yml":"docker","docker-compose.ci.yaml":"docker","docker-compose.ci.yml":"docker","docker-compose.dev.yaml":"docker","docker-compose.dev.yml":"docker","docker-compose.development.yaml":"docker","docker-compose.development.yml":"docker","docker-compose.local.yaml":"docker","docker-compose.local.yml":"docker","docker-compose.override.yaml":"docker","docker-compose.override.yml":"docker","docker-compose.prod.yaml":"docker","docker-compose.prod.yml":"docker","docker-compose.production.yaml":"docker","docker-compose.production.yml":"docker","docker-compose.stage.yaml":"docker","docker-compose.stage.yml":"docker","docker-compose.staging.yaml":"docker","docker-compose.staging.yml":"docker","docker-compose.test.yaml":"docker","docker-compose.test.yml":"docker","docker-compose.testing.yaml":"docker","docker-compose.testing.yml":"docker","docker-compose.vs.debug.yml":"docker","docker-compose.vs.release.yml":"docker","docker-compose.web.yaml":"docker","docker-compose.web.yml":"docker","docker-compose.worker.yaml":"docker","docker-compose.worker.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker","Dockerfile-production":"docker","dockerfile.alpha":"docker","dockerfile.beta":"docker","dockerfile.ci":"docker","dockerfile.dev":"docker","dockerfile.development":"docker","dockerfile.local":"docker","dockerfile.prod":"docker","dockerfile.production":"docker","dockerfile.stage":"docker","dockerfile.staging":"docker","dockerfile.test":"docker","dockerfile.testing":"docker","dockerfile.web":"docker","dockerfile.worker":"docker",dockerfile:"docker","docker-compose.debug.yml":"dockerdebug","docker-cloud.yml":"docker",".dockerignore":"dockerignore",".doczrc":"docz","docz.js":"docz","docz.json":"docz",".docz.js":"docz",".docz.json":"docz","doczrc.js":"docz","doczrc.json":"docz","docz.config.js":"docz","docz.config.json":"docz",".dojorc":"dojo",".drone.yml":"drone",".drone.yml.sig":"drone",".dvc":"dvc",".editorconfig":"editorconfig","elm-package.json":"elm",".ember-cli":"ember",emakefile:"erlang",".emakerfile":"erlang",".eslintrc":"eslint",".eslintignore":"eslintignore",".eslintcache":"eslint",".eslintrc.js":"eslint",".eslintrc.mjs":"eslint",".eslintrc.cjs":"eslint",".eslintrc.json":"eslint",".eslintrc.yaml":"eslint",".eslintrc.yml":"eslint",".eslintrc.browser.json":"eslint",".eslintrc.base.json":"eslint","eslint-preset.js":"eslint","eslint.config.js":"eslint","eslint.config.cjs":"eslint","eslint.config.mjs":"eslint","eslint.config.ts":"eslint","_eslintrc.cjs":"eslint","app.json":"expo","app.config.js":"expo","app.config.json":"expo","app.config.json5":"expo","favicon.ico":"favicon",".firebaserc":"firebase","firebase.json":"firebasehosting","firestore.rules":"firestore","firestore.indexes.json":"firestore",".flooignore":"floobits",".flowconfig":"flow",".flutter-plugins":"flutter",".metadata":"flutter",".fossaignore":"fossa","ignore-glob":"fossil","fuse.js":"fusebox","gatsby-config.js":"gatsby","gatsby-config.ts":"gatsby","gatsby-node.js":"gatsby","gatsby-node.ts":"gatsby","gatsby-browser.js":"gatsby","gatsby-browser.ts":"gatsby","gatsby-ssr.js":"gatsby","gatsby-ssr.ts":"gatsby",".git-blame-ignore-revs":"git",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".gitkeep":"git",".mailmap":"git",".gitlab-ci.yml":"gitlab","glide.yml":"glide","go.sum":"go_package","go.mod":"go_package","go.work":"go_package",".gqlconfig":"graphql",".graphqlconfig":"graphql_config",".graphqlconfig.yml":"graphql_config",".graphqlconfig.yaml":"graphql_config","greenkeeper.json":"greenkeeper","gridsome.config.js":"gridsome","gridsome.config.ts":"gridsome","gridsome.server.js":"gridsome","gridsome.server.ts":"gridsome","gridsome.client.js":"gridsome","gridsome.client.ts":"gridsome","gruntfile.js":"grunt","gruntfile.cjs":"grunt","gruntfile.mjs":"grunt","gruntfile.coffee":"grunt","gruntfile.ts":"grunt","gruntfile.cts":"grunt","gruntfile.mts":"grunt","gruntfile.babel.js":"grunt","gruntfile.babel.coffee":"grunt","gruntfile.babel.ts":"grunt","gulpfile.js":"gulp","gulpfile.coffee":"gulp","gulpfile.ts":"gulp","gulpfile.esm.js":"gulp","gulpfile.esm.coffee":"gulp","gulpfile.esm.ts":"gulp","gulpfile.babel.js":"gulp","gulpfile.babel.coffee":"gulp","gulpfile.babel.ts":"gulp","haxelib.json":"haxe","checkstyle.json":"haxecheckstyle",".p4ignore":"helix",".htmlhintrc":"htmlhint",".huskyrc":"husky","husky.config.js":"husky",".huskyrc.js":"husky",".huskyrc.json":"husky",".huskyrc.yaml":"husky",".huskyrc.yml":"husky","ionic.project":"ionic","ionic.config.json":"ionic",jakefile:"jake","jakefile.js":"jake","jest.config.json":"jest","jest.json":"jest",".jestrc":"jest",".jestrc.js":"jest",".jestrc.json":"jest","jest.config.js":"jest","jest.config.cjs":"jest","jest.config.mjs":"jest","jest.config.babel.js":"jest","jest.config.babel.cjs":"jest","jest.config.babel.mjs":"jest","jest.preset.js":"jest","jest.preset.ts":"jest","jest.preset.cjs":"jest","jest.preset.mjs":"jest",".jpmignore":"jpm",".jsbeautifyrc":"jsbeautify",jsbeautifyrc:"jsbeautify",".jsbeautify":"jsbeautify",jsbeautify:"jsbeautify","jsconfig.json":"jsconfig",".jscpd.json":"jscpd","jscpd-report.xml":"jscpd","jscpd-report.json":"jscpd","jscpd-report.html":"jscpd",".jshintrc":"jshint",".jshintignore":"jshint","karma.conf.js":"karma","karma.conf.coffee":"karma","karma.conf.ts":"karma",".kitchen.yml":"kitchenci","kitchen.yml":"kitchenci",".kiteignore":"kite","layout.html":"layout","layout.htm":"layout","lerna.json":"lerna",license:"license",licence:"license","license.md":"license","license.txt":"license","licence.md":"license","licence.txt":"license",".lighthouserc.js":"lighthouse",".lighthouserc.json":"lighthouse",".lighthouserc.yaml":"lighthouse",".lighthouserc.yml":"lighthouse","include.xml":"lime",".lintstagedrc":"lintstagedrc","lint-staged.config.js":"lintstagedrc",".lintstagedrc.js":"lintstagedrc",".lintstagedrc.json":"lintstagedrc",".lintstagedrc.yaml":"lintstagedrc",".lintstagedrc.yml":"lintstagedrc",manifest:"manifest","manifest.bak":"manifest","manifest.json":"manifest","manifest.skip":"manifes",".markdownlint.json":"markdownlint","maven.config":"maven","pom.xml":"maven","extensions.xml":"maven","settings.xml":"maven","pom.properties":"maven",".hgignore":"mercurial","mocha.opts":"mocha",".mocharc.js":"mocha",".mocharc.json":"mocha",".mocharc.jsonc":"mocha",".mocharc.yaml":"mocha",".mocharc.yml":"mocha",modernizr:"modernizr","modernizr.js":"modernizr","modernizrrc.js":"modernizr",".modernizr.js":"modernizr",".modernizrrc.js":"modernizr","moleculer.config.js":"moleculer","moleculer.config.json":"moleculer","moleculer.config.ts":"moleculer",".mtn-ignore":"monotone",".nest-cli.json":"nestjs","nest-cli.json":"nestjs","nestconfig.json":"nestjs",".nestconfig.json":"nestjs","netlify.toml":"netlify",_redirects:"netlify","ng-tailwind.js":"ng_tailwind","nginx.conf":"nginx","build.ninja":"ninja",".node-version":"node",".node_repl_history":"node",".node-gyp":"node",node_modules:"node","node_modules.json":"node","node-inspect.json":"node","node-inspect.js":"node","node-inspect.mjs":"node","node-inspect.cjs":"node","node-inspect.ts":"node","node-inspect.config.js":"node","node-inspect.config.ts":"node","node-inspect.config.cjs":"node","node-inspect.config.mjs":"node","node-inspect.config.json":"node","node-inspect.config.yaml":"node","node-inspect.config.yml":"node","node-inspectrc":"node",".node-inspectrc":"node",".node-inspectrc.json":"node",".node-inspectrc.yaml":"node",".node-inspectrc.yml":"node",".node-inspectrc.js":"node",".node-inspectrc.ts":"node",".node-inspectrc.cjs":"node",".node-inspectrc.mjs":"node","nodemon.json":"nodemon",".npmignore":"npm",".npmrc":"npm","package.json":"npm","package-lock.json":"npmlock","npm-shrinkwrap.json":"npm",".nsrirc":"nsri",".nsriignore":"nsri","nsri.config.js":"nsri",".nsrirc.js":"nsri",".nsrirc.json":"nsri",".nsrirc.yaml":"nsri",".nsrirc.yml":"nsri",".integrity.json":"nsri-integrity","nuxt.config.js":"nuxt","nuxt.config.ts":"nuxt",".nycrc":"nyc",".nycrc.json":"nyc",".merlin":"ocaml","paket.dependencies":"paket","paket.lock":"paket","paket.references":"paket","paket.template":"paket","paket.local":"paket",".php_cs":"phpcsfixer",".php_cs.dist":"phpcsfixer",phpunit:"phpunit","phpunit.xml":"phpunit","phpunit.xml.dist":"phpunit",".phraseapp.yml":"phraseapp",pipfile:"pip","pipfile.lock":"pip","platformio.ini":"platformio","pnpmfile.js":"pnpm","pnpm-workspace.yaml":"pnpm",".postcssrc":"postcssconfig",".postcssrc.json":"postcssconfig",".postcssrc.yml":"postcssconfig",".postcssrc.js":"postcssconfig",".postcssrc.cjs":"postcssconfig",".postcssrc.mjs":"postcssconfig",".postcssrc.ts":"postcssconfig",".postcssrc.cts":"postcssconfig",".postcssrc.mts":"postcssconfig","postcss.config.js":"postcssconfig","postcss.config.cjs":"postcssconfig","postcss.config.mjs":"postcssconfig","postcss.config.ts":"postcssconfig","postcss.config.cts":"postcssconfig","postcss.config.mts":"postcssconfig",".pre-commit-config.yaml":"precommit",".pre-commit-hooks.yaml":"precommit",".prettierrc":"prettier",".prettierignore":"prettierignore","prettier.config.js":"prettier","prettier.config.cjs":"prettier","prettier.config.mjs":"prettier","prettier.config.ts":"prettier","prettier.config.coffee":"prettier",".prettierrc.js":"prettier",".prettierrc.json":"prettier",".prettierrc.yml":"prettier",".prettierrc.yaml":"prettier",procfile:"procfile","protractor.conf.js":"protractor","protractor.conf.coffee":"protractor","protractor.conf.ts":"protractor",".jade-lintrc":"pug",".pug-lintrc":"pug",".jade-lint.json":"pug",".pug-lintrc.js":"pug",".pug-lintrc.json":"pug",".pyup":"pyup",".pyup.yml":"pyup",qmldir:"qmldir","quasar.conf.js":"quasar",rakefile:"rake","razzle.config.js":"razzle","readme.md":"readme","readme.txt":"readme",".rehyperc":"rehype",".rehypeignore":"rehype",".rehyperc.js":"rehype",".rehyperc.json":"rehype",".rehyperc.yml":"rehype",".rehyperc.yaml":"rehype",".remarkrc":"remark",".remarkignore":"remark",".remarkrc.js":"remark",".remarkrc.json":"remark",".remarkrc.yml":"remark",".remarkrc.yaml":"remark",".renovaterc":"renovate","renovate.json":"renovate",".renovaterc.json":"renovate",".retextrc":"retext",".retextignore":"retext",".retextrc.js":"retext",".retextrc.json":"retext",".retextrc.yml":"retext",".retextrc.yaml":"retext","robots.txt":"robots","rollup.config.js":"rollup","rollup.config.mjs":"rollup","rollup.config.coffee":"rollup","rollup.config.ts":"rollup","rollup.config.common.js":"rollup","rollup.config.common.mjs":"rollup","rollup.config.common.coffee":"rollup","rollup.config.common.ts":"rollup","rollup.config.dev.js":"rollup","rollup.config.dev.mjs":"rollup","rollup.config.dev.coffee":"rollup","rollup.config.dev.ts":"rollup","rollup.config.prod.js":"rollup","rollup.config.prod.mjs":"rollup","rollup.config.prod.coffee":"rollup","rollup.config.prod.ts":"rollup",".rspec":"rspec",".rubocop.yml":"rubocop",".rubocop_todo.yml":"rubocop","rust-toolchain":"rust_toolchain",".sentryclirc":"sentry","serverless.yml":"serverless","snapcraft.yaml":"snapcraft",".snyk":"snyk",".solidarity":"solidarity",".solidarity.json":"solidarity",".stylelintrc":"stylelint",".stylelintignore":"stylelintignore",".stylelintcache":"stylelint","stylelint.config.js":"stylelint","stylelint.config.cjs":"stylelint","stylelint.config.mjs":"stylelint","stylelint.config.json":"stylelint","stylelint.config.yaml":"stylelint","stylelint.config.yml":"stylelint","stylelint.config.ts":"stylelint",".stylelintrc.js":"stylelint",".stylelintrc.json":"stylelint",".stylelintrc.yaml":"stylelint",".stylelintrc.yml":"stylelint",".stylelintrc.ts":"stylelint",".stylelintrc.cjs":"stylelint",".stylelintrc.mjs":"stylelint",".stylish-haskell.yaml":"stylish_haskell",".svnignore":"subversion","package.pins":"swift","symfony.lock":"symfony","windi.config.ts":"windi","windi.config.js":"windi","tailwind.js":"tailwind","tailwind.mjs":"tailwind","tailwind.cjs":"tailwind","tailwind.coffee":"tailwind","tailwind.ts":"tailwind","tailwind.cts":"tailwind","tailwind.mts":"tailwind","tailwind.config.mjs":"tailwind","tailwind.config.cjs":"tailwind","tailwind.config.js":"tailwind","tailwind.config.coffee":"tailwind","tailwind.config.ts":"tailwind","tailwind.config.cts":"tailwind","tailwind.config.mts":"tailwind",".testcaferc.json":"testcafe",".tfignore":"tfs","tox.ini":"tox",".travis.yml":"travis","tsconfig.json":"tsconfig","tsconfig.app.json":"tsconfig","tsconfig.base.json":"tsconfig","tsconfig.common.json":"tsconfig","tsconfig.dev.json":"tsconfig","tsconfig.development.json":"tsconfig","tsconfig.e2e.json":"tsconfig","tsconfig.prod.json":"tsconfig","tsconfig.production.json":"tsconfig","tsconfig.server.json":"tsconfig","tsconfig.spec.json":"tsconfig","tsconfig.staging.json":"tsconfig","tsconfig.test.json":"tsconfig","tsconfig.tsd.json":"tsconfig","tsconfig.node.json":"tsconfig","tsconfig.lib.json":"tsconfig","tsconfig.eslint.json":"tsconfig","tsconfig.storybook.json":"tsconfig","tsconfig.tsbuildinfo":"tsconfig","tslint.json":"tslint","tslint.yaml":"tslint","tslint.yml":"tslint",".unibeautifyrc":"unibeautify","unibeautify.config.js":"unibeautify",".unibeautifyrc.js":"unibeautify",".unibeautifyrc.json":"unibeautify",".unibeautifyrc.yaml":"unibeautify",".unibeautifyrc.yml":"unibeautify",vagrantfile:"vagrant",".vimrc":"vim",".gvimrc":"vim",".vscodeignore":"vscode","tasks.json":"vscode","vscodeignore.json":"vscode",".vuerc":"vueconfig","vue.config.js":"vueconfig","vue.config.ts":"vueconfig","wallaby.json":"wallaby","wallaby.js":"wallaby","wallaby.ts":"wallaby","wallaby.coffee":"wallaby","wallaby.conf.json":"wallaby","wallaby.conf.js":"wallaby","wallaby.conf.ts":"wallaby","wallaby.conf.coffee":"wallaby",".wallaby.json":"wallaby",".wallaby.js":"wallaby",".wallaby.ts":"wallaby",".wallaby.coffee":"wallaby",".wallaby.conf.json":"wallaby",".wallaby.conf.js":"wallaby",".wallaby.conf.ts":"wallaby",".wallaby.conf.coffee":"wallaby",".watchmanconfig":"watchmanconfig","wercker.yml":"wercker","wpml-config.xml":"wpml",".yamllint":"yamllint",".yaspellerrc":"yandex",".yaspeller.json":"yandex","yarn.lock":"yarnlock",".yarnrc":"yarn",".yarn.installed":"yarn",".yarnclean":"yarn",".yarn-integrity":"yarn",".yarn-metadata.json":"yarn",".yarnignore":"yarnignore",".yarnrc.yml":"yarn",".yarnrc.yaml":"yarn",".yarnrc.json":"yarn",".yarnrc.json5":"yarn",".yarnrc.cjs":"yarn",".yarnrc.js":"yarn",".yarnrc.lock":"yarn",".yarnrc.txt":"yarn","yarn-error.log":"yarnerror",".yo-rc.json":"yeoman","now.json":"vercel",".nowignore":"vercel","vercel.json":"vercel",".vercel":"vercel",".vercelignore":"vercel","vite.config.js":"vite","vite.config.mjs":"vite","vite.config.cjs":"vite","vite.config.ts":"vite","vite.config.mts":"vite","vite.config.cts":"vite",".nvmrc":"nvm","example.env":"env",".env.staging":"env",".env.sample":"env",".env.preprod":"env",".env.prod":"env",".env.production":"env",".env.local":"env",".env.dev":"env",".env.dev.local":"env",".env.dev.prod":"env",".env.dev.preprod":"env",".env.dev.production":"env",".env.dev.staging":"env",".env.development":"env",".env.example":"env",".env.test":"env",".env.dist":"env",".env.default":"env",".jinja":"jinja","jenkins.yaml":"jenkins","jenkins.yml":"jenkins",".compodocrc":"compodoc",".compodocrc.json":"compodoc",".compodocrc.yaml":"compodoc",".compodocrc.yml":"compodoc","bsconfig.json":"bsconfig",".clang-format":"llvm",".clang-tidy":"llvm",".clangd":"llvm",".parcelrc":"parcel",dune:"dune","dune-project":"duneproject",".adonisrc.json":"adonis","astro.config.js":"astroconfig","astro.config.cjs":"astroconfig","astro.config.mjs":"astroconfig","astro.config.ts":"astroconfig","astro.config.cts":"astroconfig","astro.config.mts":"astroconfig","svelte.config.js":"svelteconfig","svelte.config.ts":"svelteconfig",".tool-versions":"toolversions","CMakeSettings.json":"cmake","CMakeLists.txt":"cmake","toolchain.cmake":"cmake",".cmake":"cmake","Cargo.toml":"cargo","Cargo.lock":"cargolock","pnpm-lock.yaml":"pnpmlock","tauri.conf.json":"tauri","tauri.conf.json5":"tauri","tauri.linux.conf.json":"tauri","tauri.windows.conf.json":"tauri","tauri.macos.conf.json":"tauri","next.config.js":"nextconfig","next.config.mjs":"nextconfig","next.config.ts":"nextconfig","nextron.config.js":"nextron","nextron.config.ts":"nextron","poetry.toml":"poetry","poetry.lock":"poetrylock","pyproject.toml":"pyproject","rustfmt.toml":"rustfmt",".rustfmt.toml":"rustfmt","cucumber.yml":"cucumber","cucumber.yaml":"cucumber","cucumber.js":"cucumber","cucumber.ts":"cucumber","cucumber.cjs":"cucumber","cucumber.mjs":"cucumber","cucumber.json":"cucumber","flake.lock":"flakelock",ace:"ace","ace-manifest.json":"acemanifest","knexfile.js":"knex","knexfile.ts":"knex","launch.json":"launch","redis.conf":"redis","sequelize.js":"sequelize","sequelize.ts":"sequelize","sequelize.cjs":"sequelize",".sequelizerc":"sequelize",".sequelizerc.js":"sequelize",".sequelizerc.json":"sequelize","cypress.json":"cypress","cypress.env.json":"cypress","cypress.config.js":"cypress","cypress.config.ts":"cypress","cypress.config.cjs":"cypress","playwright.config.ts":"playright","playwright.config.js":"playright","playwright.config.cjs":"playright","vitest.config.ts":"vitest","vitest.config.cts":"vitest","vitest.config.mts":"vitest","vitest.config.js":"vitest","vitest.config.cjs":"vitest","vitest.config.mjs":"vitest","vitest.workspace.ts":"vitest","vitest.workspace.cts":"vitest","vitest.workspace.mts":"vitest","vitest.workspace.js":"vitest","vitest.workspace.cjs":"vitest","vitest.workspace.mjs":"vitest","vite-env.d.ts":"viteenv","vite-env.d.js":"viteenv","pubspec.lock":"flutterlock","pubspec.yaml":"flutter",".packages":"flutterpackage",".htaccess":"htaccess","nx.json":"nx","project.json":"nx","nx.instructions.md":"nx","nx.jsonc":"nx","v.mod":"vmod","quasar.config.js":"quasar","quasar.config.ts":"quasar","quasar.config.cjs":"quasar","quasar.config.mjs":"quasar","quarkus.properties":"quarkus","theme.properties":"ui",gradlew:"gradle","gradle-wrapper.properties":"gradle","gradlew.bat":"gradlebat","makefile.win":"makefile",makefile:"makefile",make:"makefile",version:"version",server:"sql",migrate:"sql",".commitlintrc":"commitlint",".commitlintrc.json":"commitlint",".commitlintrc.yaml":"commitlint",".commitlintrc.yml":"commitlint",".commitlintrc.js":"commitlint",".commitlintrc.cjs":"commitlint",".commitlintrc.ts":"commitlint",".commitlintrc.cts":"commitlint","commitlint.config.js":"commitlint","commitlint.config.cjs":"commitlint","commitlint.config.ts":"commitlint","commitlint.config.cts":"commitlint",".terraform-version":"terraformversion",TerraFile:"terrafile","tfstate.backup":"terraform",".code-workspace":"codeworkspace","hardhat.config.js":"hardhat","hardhat.config.ts":"hardhat","hardhat.config.cts":"hardhat","hardhat.config.cjs":"hardhat","hardhat.config.mjs":"hardhat","taze.config.js":"taze","taze.config.ts":"taze","taze.config.cjs":"taze","taze.config.mjs":"taze",".tazerc.json":"taze","turbo.json":"turbo","turbo.jsonc":"turbo","uno.config.ts":"unocss","uno.config.js":"unocss","uno.config.mjs":"unocss","uno.config.mts":"unocss","unocss.config.ts":"unocss","unocss.config.js":"unocss","unocss.config.mjs":"unocss","unocss.config.mts":"unocss","atomizer.config.js":"atomizer","atomizer.config.cjs":"atomizer","atomizer.config.mjs":"atomizer","atomizer.config.ts":"atomizer","esbuild.js":"esbuild","esbuild.mjs":"esbuild","esbuild.cjs":"esbuild","esbuild.ts":"esbuild","mix.exs":"mix","mix.lock":"mixlock",".DS_Store":"dsstore","remix.config.js":"remix","remix.config.cjs":"remix","remix.config.mjs":"remix","remix.config.ts":"remix","xmake.lua":"xmake",".sailsrc":"sails","farm.config.ts":"farm","farm.config.js":"farm","bunfig.toml":"bun",".bunfig.toml":"bun","bun.lockb":"bunlock","bun.lock":"bunlock",".air.toml":"air","rome.json":"rome","biome.json":"biome","bicepconfig.json":"bicepconfig","drizzle.config.ts":"drizzle","drizzle.config.js":"drizzle","drizzle.config.json":"drizzle","panda.config.ts":"panda","panda.config.js":"panda","panda.config.json":"panda","panda.config.cjs":"panda","panda.config.mjs":"panda","panda.config.cts":"panda","panda.config.mts":"panda",".buckconfig":"buck","Ballerina.toml":"ballerinaconfig","knip.json":"knip","knip.jsonc":"knip",".knip.json":"knip",".knip.jsonc":"knip","knip.ts":"knip","knip.js":"knip","knip.config.ts":"knip","knip.config.js":"knip","todo.md":"todo",".todo.md":"todo","todo.txt":"todo",".todo.txt":"todo",todo:"todo","mkdocs.yml":"mkdocs","mkdocs.yaml":"mkdocs","gleam.toml":"gleamconfig",".oxlintrc.json":"oxlint","oxlint.json":"oxlint","oxlint.config.js":"oxlint","oxlint.config.ts":"oxlint","oxlint.config.cjs":"oxlint","oxlint.config.mjs":"oxlint","oxlint.config.cts":"oxlint","oxlint.config.mts":"oxlint",".cursorrules":"cursor","plopfile.js":"plop","plopfile.cjs":"plop","plopfile.mjs":"plop","plopfile.ts":"plop","plopfile.cts":"plop","config.mockoon.json":"mockoon","mockoon.json":"mockoon","mockoon.yaml":"mockoon","mockoon.yml":"mockoon","mockoon.env":"mockoon","mockoon.env.json":"mockoon","mockoon.env.yaml":"mockoon","mockoon.env.yml":"mockoon","mockoon.env.js":"mockoon","mockoon.env.ts":"mockoon","mockoon.env.cjs":"mockoon","mockoon.env.mjs":"mockoon","mockoon.env.cts":"mockoon","mockoon.env.mts":"mockoon","copilot-instructions.md":"copilot",".copilot-instructions":"copilot",".instructions":"instructions","instructions.md":"instructions","instructions.txt":"instructions",instructions:"instructions","instructions.json":"instructions","instructions.yaml":"instructions","instructions.yml":"instructions",".keep":"keep",".keepignore":"keep","CLAUDE.md":"claude","claude.md":"claude","claude.txt":"claude",claude:"claude","claude.json":"claude","claude.yaml":"claude",".claude_code_config":"claude",".claude":"claude","claude.config.js":"claude",".claude.yaml":"claude",".clauderc":"claude","claude-instructions.md":"claude",".claude-code":"claude","claude-code.config":"claude"},languageIds:{actionscript:"actionscript",ada:"ada",advpl:"advpl",affectscript:"affectscript",al:"al",ansible:"ansible",antlr:"antlr",anyscript:"anyscript",apacheconf:"apache",apex:"apex",apiblueprint:"apib",apl:"apl",applescript:"applescript",asciidoc:"asciidoc",asp:"asp","asp (html)":"asp",arm:"assembly",asm:"assembly",ats:"ats",ahk:"autohotkey",autoit:"autoit",avro:"avro",azcli:"azure","azure-pipelines":"azurepipelines",ballerina:"ballerina",bat:"bat",bats:"bats",bazel:"bazel",befunge:"befunge",befunge98:"befunge",biml:"biml",blade:"blade","laravel-blade":"blade",bolt:"bolt",bosque:"bosque",c:"c","c-al":"c_al",cabal:"cabal",caddyfile:"caddy",cddl:"cddl",ceylon:"ceylon",cfml:"cf","lang-cfml":"cf",cfc:"cfc",cfmhtml:"cfm",cookbook:"chef_cookbook",clojure:"clojure",clojurescript:"clojurescript","manifest-yaml":"cloudfoundry",cmake:"cmake","cmake-cache":"cmake",cobol:"cobol",coffeescript:"coffeescript",properties:"properties",dotenv:"config",confluence:"confluence",cpp:"cpp",crystal:"crystal",csharp:"csharp",css:"css",feature:"cucumber",cuda:"cuda",cython:"cython",dal:"dal",dart:"dartlang",pascal:"pascal",objectpascal:"pascal",diff:"diff","django-html":"django","django-txt":"django",d:"dlang",dscript:"dlang",dml:"dlang",diet:"dlang",dockerfile:"docker",ignore:"docker",dotjs:"dotjs",doxygen:"doxygen",drools:"drools",dustjs:"dustjs",dylan:"dylan","dylan-lid":"dylan",edge:"edge",eex:"eex","html-eex":"eex",es:"elastic",elixir:"elixir",elm:"elm",erb:"erb",erlang:"erlang",falcon:"falcon",fortran:"fortran","fortran-modern":"fortran",FortranFreeForm:"fortran","fortran_fixed-form":"fortran",ftl:"freemarker",fsharp:"fsharp",fthtml:"fthtml",galen:"galen","gml-gms":"gamemaker","gml-gms2":"gamemaker2","gml-gm81":"gamemaker81",gcode:"gcode",genstat:"genstat","git-commit":"git","git-rebase":"git",glsl:"glsl",glyphs:"glyphs",gnuplot:"gnuplot",go:"go",golang:"go","go-sum":"go","go-mod":"go","go-xml":"go",gdscript:"godot",graphql:"graphql",dot:"graphviz",groovy:"groovy",haml:"haml",handlebars:"handlebars",harbour:"harbour",haskell:"haskell","literate haskell":"haskell",haxe:"haxe",hxml:"haxe","Haxe AST dump":"haxe",helm:"helm",hjson:"hjson",hlsl:"opengl","home-assistant":"homeassistant",hosts:"host",html:"html",http:"http","hunspell.aff":"hunspell","hunspell.dic":"hunspell",hy:"hy",icl:"icl",imba:"imba","4GL":"informix",ini:"conf",ink:"ink",innosetup:"innosetup",io:"io",iodine:"iodine",janet:"janet",java:"java",raku:"raku",jekyll:"jekyll",jenkins:"jenkins",declarative:"jenkins",jenkinsfile:"jenkins",jinja:"jinja","code-referencing":"vscode","search-result":"vscode",type:"vscode",javascript:"js",json:"json",jsonl:"json","json-tmlanguage":"json",jsonc:"json",json5:"json5",jsonnet:"jsonnet",julia:"julia",juliamarkdown:"julia",kivy:"kivy",kos:"kos",kotlin:"kotlin",kusto:"kusto",latino:"latino",less:"less",lex:"lex",lisp:"lisp",lolcode:"lolcode","code-text-binary":"binary",lsl:"lsl",lua:"lua",makefile:"makefile",markdown:"markdown",marko:"marko",matlab:"matlab",maxscript:"maxscript",mel:"maya",mediawiki:"mediawiki",meson:"meson",mjml:"mjml",mlang:"mlang",powerquerymlanguage:"mlang",mojolicious:"mojolicious",mongo:"mongo",mson:"mson",nearley:"nearly",nim:"nim",nimble:"nimble",nix:"nix",nsis:"nsi",nfl:"nsi",nsl:"nsi",bridlensis:"nsi",nunjucks:"nunjucks","objective-c":"c","objective-cpp":"cpp",ocaml:"ocaml",ocamllex:"ocaml",menhir:"ocaml",openhab:"openHAB",pddl:"pddl",happenings:"pddl_happenings",plan:"pddl_plan","phoenix-heex":"eex",perl:"perl",perl6:"perl6",pgsql:"pgsql",php:"php",pine:"pine",pinescript:"pine","pip-requirements":"python","platformio-debug.disassembly":"platformio","platformio-debug.memoryview":"platformio","platformio-debug.asm":"platformio",plsql:"plsql",oracle:"plsql",polymer:"polymer",pony:"pony",postcss:"postcss",powershell:"powershell",prisma:"prisma",pde:"processinglang",abl:"progress",prolog:"prolog",prometheus:"prometheus",proto3:"protobuf",proto:"protobuf",jade:"pug",pug:"pug",puppet:"puppet",purescript:"purescript",pyret:"pyret",python:"python",qlik:"qlikview",qml:"qml",qsharp:"qsharp",r:"r",racket:"racket",raml:"raml",razor:"razor",aspnetcorerazor:"razor",javascriptreact:"reactjs",typescriptreact:"reactts",reason:"reason",red:"red",restructuredtext:"restructuredtext",rexx:"rexx",riot:"riot",rmd:"rmd",mdx:"markdownx",robot:"robotframework",ruby:"ruby",rust:"rust",san:"san",SAS:"sas",sbt:"sbt",scala:"scala",scilab:"scilab",vbscript:"script",scss:"scss",sdl:"sdlang",shaderlab:"shaderlab",shellscript:"shell",silverstripe:"silverstripe",eskip:"skipper",slang:"slang",slice:"slice",slim:"slim",smarty:"smarty",snort:"snort",solidity:"solidity",snippets:"vscode",sqf:"sqf",sql:"sql",squirrel:"squirrel",stan:"stan",stata:"stata",stencil:"stencil","stencil-html":"stencil",stylable:"stylable","source.css.styled":"styled",stylus:"stylus",svelte:"svelte",Swagger:"swagger",swagger:"swagger",swift:"swift",swig:"swig","cuda-cpp":"nvidia","systemd-unit-file":"systemd",systemverilog:"systemverilog",t4:"t4tt",tera:"tera",terraform:"terraform",tex:"latex",log:"log",dockercompose:"docker",latex:"latex","vue-directives":"vue","vue-injection-markdown":"vue","vue-interpolations":"vue","vue-sfc-style-variable-injection":"vue",bibtex:"latex",doctex:"tex",plaintext:"text",textile:"textile",toml:"toml",tt:"tt",ttcn:"ttcn",twig:"twig",typescript:"typescript",typoscript:"typo3",vb:"vb",vba:"vba",velocity:"velocity",verilog:"verilog",vhdl:"vhdl",viml:"vim",v:"vlang",volt:"volt",vue:"vue",wasm:"wasm",wat:"wasm",wenyan:"wenyan",wolfram:"wolfram",wurstlang:"wurst",wurst:"wurst",xmake:"xmake",xml:"xml",xquery:"xquery",xsl:"xml",yacc:"yacc",yaml:"yaml","yaml-tmlanguage":"yaml",yang:"yang",zig:"zig","vitest-snapshot":"vitest",instructions:"instructions",prompt:"prompt"}}}});var $ae,dWo,my=(e,t,n,r)=>{if(r)return t?k3:Jae;let o="Document";if(n)n=`${e}_${n.toLowerCase()}`;if(!t){if(o="Document_Light",n)n+="_Light"}let a=e+"_Light";return $ae[n&&n in $ae?n:!t&&(a in $ae)?a:(e in $ae)?e:o]},M5t=(e,t)=>{if(!e&&!t)return null;let n=P5t;if(t&&n.fileNames[t.toLowerCase()])return n.fileNames[t.toLowerCase()];else if(e){let r=e.toLowerCase().replace(/^\./,"");return n.fileExtensions[r]||null}return null};var iH=P(()=>{aH();R5t();$ae=jae,dWo=Object.fromEntries(Object.keys(jae).filter((e)=>!e.includes("_")).map((e)=>[e,e]))});var D5t=me(function(fWo,aGn){aGn.exports="./fonts/ace.svg"});var L5t=me(function(mWo,iGn){iGn.exports="./fonts/acemanifest.svg"});var B5t=me(function(hWo,sGn){sGn.exports="./fonts/adoc.svg"});var O5t=me(function(gWo,lGn){lGn.exports="./fonts/adonis.svg"});var F5t=me(function(yWo,cGn){cGn.exports="./fonts/adonisconfig.svg"});var U5t=me(function(vWo,uGn){uGn.exports="./fonts/afdesign.svg"});var N5t=me(function(bWo,dGn){dGn.exports="./fonts/afphoto.svg"});var z5t=me(function(xWo,pGn){pGn.exports="./fonts/afpub.svg"});var _5t=me(function(AWo,fGn){fGn.exports="./fonts/ai.svg"});var H5t=me(function(wWo,mGn){mGn.exports="./fonts/air.svg"});var V5t=me(function(SWo,hGn){hGn.exports="./fonts/angular.svg"});var G5t=me(function(CWo,gGn){gGn.exports="./fonts/anim.svg"});var q5t=me(function(EWo,yGn){yGn.exports="./fonts/astro.svg"});var Z5t=me(function(IWo,vGn){vGn.exports="./fonts/astroconfig.svg"});var Q5t=me(function(TWo,bGn){bGn.exports="./fonts/atomizer.svg"});var X5t=me(function(kWo,xGn){xGn.exports="./fonts/audio.svg"});var W5t=me(function(RWo,AGn){AGn.exports="./fonts/audiomp3.svg"});var Y5t=me(function(PWo,wGn){wGn.exports="./fonts/audioogg.svg"});var K5t=me(function(MWo,SGn){SGn.exports="./fonts/audiowav.svg"});var J5t=me(function(DWo,CGn){CGn.exports="./fonts/audiowv.svg"});var j5t=me(function(LWo,EGn){EGn.exports="./fonts/azure.svg"});var $5t=me(function(BWo,IGn){IGn.exports="./fonts/babel.svg"});var e8t=me(function(OWo,TGn){TGn.exports="./fonts/ballerina.svg"});var t8t=me(function(FWo,kGn){kGn.exports="./fonts/ballerinaconfig.svg"});var n8t=me(function(UWo,RGn){RGn.exports="./fonts/bat.svg"});var r8t=me(function(NWo,PGn){PGn.exports="./fonts/bazel.svg"});var o8t=me(function(zWo,MGn){MGn.exports="./fonts/bazelignore.svg"});var a8t=me(function(_Wo,DGn){DGn.exports="./fonts/bicep.svg"});var i8t=me(function(HWo,LGn){LGn.exports="./fonts/bicepconfig.svg"});var s8t=me(function(VWo,BGn){BGn.exports="./fonts/bicepparam.svg"});var l8t=me(function(GWo,OGn){OGn.exports="./fonts/binary.svg"});var c8t=me(function(qWo,FGn){FGn.exports="./fonts/biome.svg"});var u8t=me(function(ZWo,UGn){UGn.exports="./fonts/blade.svg"});var d8t=me(function(QWo,NGn){NGn.exports="./fonts/brotli.svg"});var p8t=me(function(XWo,zGn){zGn.exports="./fonts/browserslist.svg"});var f8t=me(function(WWo,_Gn){_Gn.exports="./fonts/bruno.svg"});var m8t=me(function(YWo,HGn){HGn.exports="./fonts/bsconfig.svg"});var h8t=me(function(KWo,VGn){VGn.exports="./fonts/buck.svg"});var g8t=me(function(JWo,GGn){GGn.exports="./fonts/bun.svg"});var y8t=me(function(jWo,qGn){qGn.exports="./fonts/bundler.svg"});var v8t=me(function($Wo,ZGn){ZGn.exports="./fonts/bunlock.svg"});var b8t=me(function(eYo,QGn){QGn.exports="./fonts/c.svg"});var x8t=me(function(tYo,XGn){XGn.exports="./fonts/cargo.svg"});var A8t=me(function(nYo,WGn){WGn.exports="./fonts/cargolock.svg"});var w8t=me(function(rYo,YGn){YGn.exports="./fonts/cert.svg"});var S8t=me(function(oYo,KGn){KGn.exports="./fonts/cheader.svg"});var C8t=me(function(aYo,JGn){JGn.exports="./fonts/civet.svg"});var E8t=me(function(iYo,jGn){jGn.exports="./fonts/claude.svg"});var I8t=me(function(sYo,$Gn){$Gn.exports="./fonts/cli.svg"});var T8t=me(function(lYo,eqn){eqn.exports="./fonts/clojure.svg"});var k8t=me(function(cYo,tqn){tqn.exports="./fonts/cmake.svg"});var R8t=me(function(uYo,nqn){nqn.exports="./fonts/codeworkspace.svg"});var P8t=me(function(dYo,rqn){rqn.exports="./fonts/coffeescript.svg"});var M8t=me(function(pYo,oqn){oqn.exports="./fonts/commitlint.svg"});var D8t=me(function(fYo,aqn){aqn.exports="./fonts/compodoc.svg"});var L8t=me(function(mYo,iqn){iqn.exports="./fonts/composer.svg"});var B8t=me(function(hYo,sqn){sqn.exports="./fonts/composerlock.svg"});var O8t=me(function(gYo,lqn){lqn.exports="./fonts/conan.svg"});var F8t=me(function(yYo,cqn){cqn.exports="./fonts/conf.svg"});var U8t=me(function(vYo,uqn){uqn.exports="./fonts/copilot.svg"});var N8t=me(function(bYo,dqn){dqn.exports="./fonts/cpp.svg"});var z8t=me(function(xYo,pqn){pqn.exports="./fonts/crystal.svg"});var _8t=me(function(AYo,fqn){fqn.exports="./fonts/csharp.svg"});var H8t=me(function(wYo,mqn){mqn.exports="./fonts/cshtml.svg"});var V8t=me(function(SYo,hqn){hqn.exports="./fonts/csproj.svg"});var G8t=me(function(CYo,gqn){gqn.exports="./fonts/css.svg"});var q8t=me(function(EYo,yqn){yqn.exports="./fonts/cssmap.svg"});var Z8t=me(function(IYo,vqn){vqn.exports="./fonts/csv.svg"});var Q8t=me(function(TYo,bqn){bqn.exports="./fonts/cucumber.svg"});var X8t=me(function(kYo,xqn){xqn.exports="./fonts/cursor.svg"});var W8t=me(function(RYo,Aqn){Aqn.exports="./fonts/cypress.svg"});var Y8t=me(function(PYo,wqn){wqn.exports="./fonts/cypressjs.svg"});var K8t=me(function(MYo,Sqn){Sqn.exports="./fonts/cypressts.svg"});var J8t=me(function(DYo,Cqn){Cqn.exports="./fonts/d.svg"});var j8t=me(function(LYo,Eqn){Eqn.exports="./fonts/dartlang.svg"});var $8t=me(function(BYo,Iqn){Iqn.exports="./fonts/delphiproject.svg"});var eEt=me(function(OYo,Tqn){Tqn.exports="./fonts/diff.svg"});var tEt=me(function(FYo,kqn){kqn.exports="./fonts/docker.svg"});var nEt=me(function(UYo,Rqn){Rqn.exports="./fonts/dockerdebug.svg"});var rEt=me(function(NYo,Pqn){Pqn.exports="./fonts/dockerignore.svg"});var oEt=me(function(zYo,Mqn){Mqn.exports="./fonts/drawio.svg"});var aEt=me(function(_Yo,Dqn){Dqn.exports="./fonts/drizzle.svg"});var iEt=me(function(HYo,Lqn){Lqn.exports="./fonts/dsstore.svg"});var sEt=me(function(VYo,Bqn){Bqn.exports="./fonts/dune.svg"});var lEt=me(function(GYo,Oqn){Oqn.exports="./fonts/duneproject.svg"});var cEt=me(function(qYo,Fqn){Fqn.exports="./fonts/edge.svg"});var uEt=me(function(ZYo,Uqn){Uqn.exports="./fonts/editorconfig.svg"});var dEt=me(function(QYo,Nqn){Nqn.exports="./fonts/eex.svg"});var pEt=me(function(XYo,zqn){zqn.exports="./fonts/elixir.svg"});var fEt=me(function(WYo,_qn){_qn.exports="./fonts/elm.svg"});var mEt=me(function(YYo,Hqn){Hqn.exports="./fonts/env.svg"});var hEt=me(function(KYo,Vqn){Vqn.exports="./fonts/eraser.svg"});var gEt=me(function(JYo,Gqn){Gqn.exports="./fonts/erb.svg"});var yEt=me(function(jYo,qqn){qqn.exports="./fonts/erlang.svg"});var vEt=me(function($Yo,Zqn){Zqn.exports="./fonts/esbuild.svg"});var bEt=me(function(eKo,Qqn){Qqn.exports="./fonts/eslint.svg"});var xEt=me(function(tKo,Xqn){Xqn.exports="./fonts/eslintignore.svg"});var AEt=me(function(nKo,Wqn){Wqn.exports="./fonts/excalidraw.svg"});var wEt=me(function(rKo,Yqn){Yqn.exports="./fonts/exs.svg"});var SEt=me(function(oKo,Kqn){Kqn.exports="./fonts/exx.svg"});var CEt=me(function(aKo,Jqn){Jqn.exports="./fonts/farm.svg"});var EEt=me(function(iKo,jqn){jqn.exports="./fonts/figma.svg"});var IEt=me(function(sKo,$qn){$qn.exports="./fonts/file.svg"});var TEt=me(function(lKo,eZn){eZn.exports="./fonts/file_light.svg"});var kEt=me(function(cKo,tZn){tZn.exports="./fonts/flakelock.svg"});var REt=me(function(uKo,nZn){nZn.exports="./fonts/flutter.svg"});var PEt=me(function(dKo,rZn){rZn.exports="./fonts/flutterlock.svg"});var MEt=me(function(pKo,oZn){oZn.exports="./fonts/flutterpackage.svg"});var DEt=me(function(fKo,aZn){aZn.exports="./fonts/folder.svg"});var LEt=me(function(mKo,iZn){iZn.exports="./fonts/folder_open.svg"});var BEt=me(function(hKo,sZn){sZn.exports="./fonts/fonteot.svg"});var OEt=me(function(gKo,lZn){lZn.exports="./fonts/fontotf.svg"});var FEt=me(function(yKo,cZn){cZn.exports="./fonts/fontttf.svg"});var UEt=me(function(vKo,uZn){uZn.exports="./fonts/fontwoff.svg"});var NEt=me(function(bKo,dZn){dZn.exports="./fonts/fontwoff2.svg"});var zEt=me(function(xKo,pZn){pZn.exports="./fonts/freemarker.svg"});var _Et=me(function(AKo,fZn){fZn.exports="./fonts/fsharp.svg"});var HEt=me(function(wKo,mZn){mZn.exports="./fonts/gbl.svg"});var VEt=me(function(SKo,hZn){hZn.exports="./fonts/git.svg"});var GEt=me(function(CKo,gZn){gZn.exports="./fonts/gitlab.svg"});var qEt=me(function(EKo,yZn){yZn.exports="./fonts/gleam.svg"});var ZEt=me(function(IKo,vZn){vZn.exports="./fonts/gleamconfig.svg"});var QEt=me(function(TKo,bZn){bZn.exports="./fonts/go.svg"});var XEt=me(function(kKo,xZn){xZn.exports="./fonts/go_package.svg"});var WEt=me(function(RKo,AZn){AZn.exports="./fonts/godot.svg"});var YEt=me(function(PKo,wZn){wZn.exports="./fonts/gradle.svg"});var KEt=me(function(MKo,SZn){SZn.exports="./fonts/gradlebat.svg"});var JEt=me(function(DKo,CZn){CZn.exports="./fonts/gradlekotlin.svg"});var jEt=me(function(LKo,EZn){EZn.exports="./fonts/grain.svg"});var $Et=me(function(BKo,IZn){IZn.exports="./fonts/graphql.svg"});var eIt=me(function(OKo,TZn){TZn.exports="./fonts/groovy.svg"});var tIt=me(function(FKo,kZn){kZn.exports="./fonts/grunt.svg"});var nIt=me(function(UKo,RZn){RZn.exports="./fonts/gulp.svg"});var rIt=me(function(NKo,PZn){PZn.exports="./fonts/h.svg"});var oIt=me(function(zKo,MZn){MZn.exports="./fonts/haml.svg"});var aIt=me(function(_Ko,DZn){DZn.exports="./fonts/handlebars.svg"});var iIt=me(function(HKo,LZn){LZn.exports="./fonts/hardhat.svg"});var sIt=me(function(VKo,BZn){BZn.exports="./fonts/hash.svg"});var lIt=me(function(GKo,OZn){OZn.exports="./fonts/hashicorp.svg"});var cIt=me(function(qKo,FZn){FZn.exports="./fonts/haskell.svg"});var uIt=me(function(ZKo,UZn){UZn.exports="./fonts/haxe.svg"});var dIt=me(function(QKo,NZn){NZn.exports="./fonts/haxeml.svg"});var pIt=me(function(XKo,zZn){zZn.exports="./fonts/hpp.svg"});var fIt=me(function(WKo,_Zn){_Zn.exports="./fonts/htaccess.svg"});var mIt=me(function(YKo,HZn){HZn.exports="./fonts/html.svg"});var hIt=me(function(KKo,VZn){VZn.exports="./fonts/http.svg"});var gIt=me(function(JKo,GZn){GZn.exports="./fonts/identifier.svg"});var yIt=me(function(jKo,qZn){qZn.exports="./fonts/image.svg"});var vIt=me(function($Ko,ZZn){ZZn.exports="./fonts/imagegif.svg"});var bIt=me(function(eJo,QZn){QZn.exports="./fonts/imageico.svg"});var xIt=me(function(tJo,XZn){XZn.exports="./fonts/imagejpg.svg"});var AIt=me(function(nJo,WZn){WZn.exports="./fonts/imagepng.svg"});var wIt=me(function(rJo,YZn){YZn.exports="./fonts/imagewebp.svg"});var SIt=me(function(oJo,KZn){KZn.exports="./fonts/imba.svg"});var CIt=me(function(aJo,JZn){JZn.exports="./fonts/info.svg"});var EIt=me(function(iJo,jZn){jZn.exports="./fonts/instructions.svg"});var IIt=me(function(sJo,$Zn){$Zn.exports="./fonts/ipynb.svg"});var TIt=me(function(lJo,eQn){eQn.exports="./fonts/jar.svg"});var kIt=me(function(cJo,tQn){tQn.exports="./fonts/java.svg"});var RIt=me(function(uJo,nQn){nQn.exports="./fonts/jenkins.svg"});var PIt=me(function(dJo,rQn){rQn.exports="./fonts/jest.svg"});var MIt=me(function(pJo,oQn){oQn.exports="./fonts/jinja.svg"});var DIt=me(function(fJo,aQn){aQn.exports="./fonts/js.svg"});var LIt=me(function(mJo,iQn){iQn.exports="./fonts/jsmap.svg"});var BIt=me(function(hJo,sQn){sQn.exports="./fonts/json.svg"});var OIt=me(function(gJo,lQn){lQn.exports="./fonts/jsp.svg"});var FIt=me(function(yJo,cQn){cQn.exports="./fonts/julia.svg"});var UIt=me(function(vJo,uQn){uQn.exports="./fonts/karma.svg"});var NIt=me(function(bJo,dQn){dQn.exports="./fonts/keep.svg"});var zIt=me(function(xJo,pQn){pQn.exports="./fonts/key.svg"});var _It=me(function(AJo,fQn){fQn.exports="./fonts/knex.svg"});var HIt=me(function(wJo,mQn){mQn.exports="./fonts/knip.svg"});var VIt=me(function(SJo,hQn){hQn.exports="./fonts/kotlin.svg"});var GIt=me(function(CJo,gQn){gQn.exports="./fonts/kotlins.svg"});var qIt=me(function(EJo,yQn){yQn.exports="./fonts/krita.svg"});var ZIt=me(function(IJo,vQn){vQn.exports="./fonts/latex.svg"});var QIt=me(function(TJo,bQn){bQn.exports="./fonts/launch.svg"});var XIt=me(function(kJo,xQn){xQn.exports="./fonts/lazarusproject.svg"});var WIt=me(function(RJo,AQn){AQn.exports="./fonts/less.svg"});var YIt=me(function(PJo,wQn){wQn.exports="./fonts/license.svg"});var KIt=me(function(MJo,SQn){SQn.exports="./fonts/light_editorconfig.svg"});var JIt=me(function(DJo,CQn){CQn.exports="./fonts/liquid.svg"});var jIt=me(function(LJo,EQn){EQn.exports="./fonts/llvm.svg"});var $It=me(function(BJo,IQn){IQn.exports="./fonts/lock.svg"});var eTt=me(function(OJo,TQn){TQn.exports="./fonts/log.svg"});var tTt=me(function(FJo,kQn){kQn.exports="./fonts/lua.svg"});var nTt=me(function(UJo,RQn){RQn.exports="./fonts/m.svg"});var rTt=me(function(NJo,PQn){PQn.exports="./fonts/makefile.svg"});var oTt=me(function(zJo,MQn){MQn.exports="./fonts/manifest.svg"});var aTt=me(function(_Jo,DQn){DQn.exports="./fonts/markdown.svg"});var iTt=me(function(HJo,LQn){LQn.exports="./fonts/markdownx.svg"});var sTt=me(function(VJo,BQn){BQn.exports="./fonts/maven.svg"});var lTt=me(function(GJo,OQn){OQn.exports="./fonts/mermaid.svg"});var cTt=me(function(qJo,FQn){FQn.exports="./fonts/mesh.svg"});var uTt=me(function(ZJo,UQn){UQn.exports="./fonts/mgcb.svg"});var dTt=me(function(QJo,NQn){NQn.exports="./fonts/mint.svg"});var pTt=me(function(XJo,zQn){zQn.exports="./fonts/mix.svg"});var fTt=me(function(WJo,_Qn){_Qn.exports="./fonts/mixlock.svg"});var mTt=me(function(YJo,HQn){HQn.exports="./fonts/mjml.svg"});var hTt=me(function(KJo,VQn){VQn.exports="./fonts/mkdocs.svg"});var gTt=me(function(JJo,GQn){GQn.exports="./fonts/mockoon.svg"});var yTt=me(function(jJo,qQn){qQn.exports="./fonts/motoko.svg"});var vTt=me(function($Jo,ZQn){ZQn.exports="./fonts/mov.svg"});var bTt=me(function(ejo,QQn){QQn.exports="./fonts/mp4.svg"});var xTt=me(function(tjo,XQn){XQn.exports="./fonts/mtl.svg"});var ATt=me(function(njo,WQn){WQn.exports="./fonts/mustache.svg"});var wTt=me(function(rjo,YQn){YQn.exports="./fonts/nelua.svg"});var STt=me(function(ojo,KQn){KQn.exports="./fonts/neon.svg"});var CTt=me(function(ajo,JQn){JQn.exports="./fonts/nestjs.svg"});var ETt=me(function(ijo,jQn){jQn.exports="./fonts/nestjscontroller.svg"});var ITt=me(function(sjo,$Qn){$Qn.exports="./fonts/nestjsdecorator.svg"});var TTt=me(function(ljo,eXn){eXn.exports="./fonts/nestjsdto.svg"});var kTt=me(function(cjo,tXn){tXn.exports="./fonts/nestjsentity.svg"});var RTt=me(function(ujo,nXn){nXn.exports="./fonts/nestjsfilter.svg"});var PTt=me(function(djo,rXn){rXn.exports="./fonts/nestjsguard.svg"});var MTt=me(function(pjo,oXn){oXn.exports="./fonts/nestjsinterceptor.svg"});var DTt=me(function(fjo,aXn){aXn.exports="./fonts/nestjsmodule.svg"});var LTt=me(function(mjo,iXn){iXn.exports="./fonts/nestjsrepository.svg"});var BTt=me(function(hjo,sXn){sXn.exports="./fonts/nestjsresolver.svg"});var OTt=me(function(gjo,lXn){lXn.exports="./fonts/nestjsservice.svg"});var FTt=me(function(yjo,cXn){cXn.exports="./fonts/nestscheduler.svg"});var UTt=me(function(vjo,uXn){uXn.exports="./fonts/netlify.svg"});var NTt=me(function(bjo,dXn){dXn.exports="./fonts/nextconfig.svg"});var zTt=me(function(xjo,pXn){pXn.exports="./fonts/nextron.svg"});var _Tt=me(function(Ajo,fXn){fXn.exports="./fonts/nginx.svg"});var HTt=me(function(wjo,mXn){mXn.exports="./fonts/nim.svg"});var VTt=me(function(Sjo,hXn){hXn.exports="./fonts/nix.svg"});var GTt=me(function(Cjo,gXn){gXn.exports="./fonts/njk.svg"});var qTt=me(function(Ejo,yXn){yXn.exports="./fonts/node.svg"});var ZTt=me(function(Ijo,vXn){vXn.exports="./fonts/nodemon.svg"});var QTt=me(function(Tjo,bXn){bXn.exports="./fonts/npm.svg"});var XTt=me(function(kjo,xXn){xXn.exports="./fonts/npmlock.svg"});var WTt=me(function(Rjo,AXn){AXn.exports="./fonts/nuxt.svg"});var YTt=me(function(Pjo,wXn){wXn.exports="./fonts/nvidia.svg"});var KTt=me(function(Mjo,SXn){SXn.exports="./fonts/nvim.svg"});var JTt=me(function(Djo,CXn){CXn.exports="./fonts/nvm.svg"});var jTt=me(function(Ljo,EXn){EXn.exports="./fonts/nx.svg"});var $Tt=me(function(Bjo,IXn){IXn.exports="./fonts/obj.svg"});var e7t=me(function(Ojo,TXn){TXn.exports="./fonts/ocaml.svg"});var t7t=me(function(Fjo,kXn){kXn.exports="./fonts/ocamli.svg"});var n7t=me(function(Ujo,RXn){RXn.exports="./fonts/ocamll.svg"});var r7t=me(function(Njo,PXn){PXn.exports="./fonts/ocamly.svg"});var o7t=me(function(zjo,MXn){MXn.exports="./fonts/odin.svg"});var a7t=me(function(_jo,DXn){DXn.exports="./fonts/opengl.svg"});var i7t=me(function(Hjo,LXn){LXn.exports="./fonts/oxlint.svg"});var s7t=me(function(Vjo,BXn){BXn.exports="./fonts/panda.svg"});var l7t=me(function(Gjo,OXn){OXn.exports="./fonts/parcel.svg"});var c7t=me(function(qjo,FXn){FXn.exports="./fonts/pascal.svg"});var u7t=me(function(Zjo,UXn){UXn.exports="./fonts/pdf.svg"});var d7t=me(function(Qjo,NXn){NXn.exports="./fonts/perl.svg"});var p7t=me(function(Xjo,zXn){zXn.exports="./fonts/perlm.svg"});var f7t=me(function(Wjo,_Xn){_Xn.exports="./fonts/pfx.svg"});var m7t=me(function(Yjo,HXn){HXn.exports="./fonts/photoshop.svg"});var h7t=me(function(Kjo,VXn){VXn.exports="./fonts/php.svg"});var g7t=me(function(Jjo,GXn){GXn.exports="./fonts/plantuml.svg"});var y7t=me(function(jjo,qXn){qXn.exports="./fonts/playright.svg"});var v7t=me(function($jo,ZXn){ZXn.exports="./fonts/plop.svg"});var b7t=me(function(e$o,QXn){QXn.exports="./fonts/pnpm.svg"});var x7t=me(function(t$o,XXn){XXn.exports="./fonts/pnpmlock.svg"});var A7t=me(function(n$o,WXn){WXn.exports="./fonts/poetry.svg"});var w7t=me(function(r$o,YXn){YXn.exports="./fonts/poetrylock.svg"});var S7t=me(function(o$o,KXn){KXn.exports="./fonts/postcssconfig.svg"});var C7t=me(function(a$o,JXn){JXn.exports="./fonts/powershell.svg"});var E7t=me(function(i$o,jXn){jXn.exports="./fonts/powershelldata.svg"});var I7t=me(function(s$o,$Xn){$Xn.exports="./fonts/powershellmodule.svg"});var T7t=me(function(l$o,eWn){eWn.exports="./fonts/precommit.svg"});var k7t=me(function(c$o,tWn){tWn.exports="./fonts/prettier.svg"});var R7t=me(function(u$o,nWn){nWn.exports="./fonts/prettierignore.svg"});var P7t=me(function(d$o,rWn){rWn.exports="./fonts/prisma.svg"});var M7t=me(function(p$o,oWn){oWn.exports="./fonts/prolog.svg"});var D7t=me(function(f$o,aWn){aWn.exports="./fonts/prompt.svg"});var L7t=me(function(m$o,iWn){iWn.exports="./fonts/properties.svg"});var B7t=me(function(h$o,sWn){sWn.exports="./fonts/proto.svg"});var O7t=me(function(g$o,lWn){lWn.exports="./fonts/pug.svg"});var F7t=me(function(y$o,cWn){cWn.exports="./fonts/pvk.svg"});var U7t=me(function(v$o,uWn){uWn.exports="./fonts/pyproject.svg"});var N7t=me(function(b$o,dWn){dWn.exports="./fonts/python.svg"});var z7t=me(function(x$o,pWn){pWn.exports="./fonts/qt.svg"});var _7t=me(function(A$o,fWn){fWn.exports="./fonts/quarkus.svg"});var H7t=me(function(w$o,mWn){mWn.exports="./fonts/quasar.svg"});var V7t=me(function(S$o,hWn){hWn.exports="./fonts/r.svg"});var G7t=me(function(C$o,gWn){gWn.exports="./fonts/racket.svg"});var q7t=me(function(E$o,yWn){yWn.exports="./fonts/raku.svg"});var Z7t=me(function(I$o,vWn){vWn.exports="./fonts/razor.svg"});var Q7t=me(function(T$o,bWn){bWn.exports="./fonts/rb.svg"});var X7t=me(function(k$o,xWn){xWn.exports="./fonts/reactjs.svg"});var W7t=me(function(R$o,AWn){AWn.exports="./fonts/reactts.svg"});var Y7t=me(function(P$o,wWn){wWn.exports="./fonts/readme.svg"});var K7t=me(function(M$o,SWn){SWn.exports="./fonts/redis.svg"});var J7t=me(function(D$o,CWn){CWn.exports="./fonts/rego.svg"});var j7t=me(function(L$o,EWn){EWn.exports="./fonts/remix.svg"});var $7t=me(function(B$o,IWn){IWn.exports="./fonts/rescript.svg"});var ekt=me(function(O$o,TWn){TWn.exports="./fonts/rescriptinterface.svg"});var tkt=me(function(F$o,kWn){kWn.exports="./fonts/restructuredtext.svg"});var nkt=me(function(U$o,RWn){RWn.exports="./fonts/rjson.svg"});var rkt=me(function(N$o,PWn){PWn.exports="./fonts/robots.svg"});var okt=me(function(z$o,MWn){MWn.exports="./fonts/rollup.svg"});var akt=me(function(_$o,DWn){DWn.exports="./fonts/rome.svg"});var ikt=me(function(H$o,LWn){LWn.exports="./fonts/ron.svg"});var skt=me(function(V$o,BWn){BWn.exports="./fonts/root_folder.svg"});var lkt=me(function(G$o,OWn){OWn.exports="./fonts/root_folder_light.svg"});var ckt=me(function(q$o,FWn){FWn.exports="./fonts/root_folder_light_open.svg"});var ukt=me(function(Z$o,UWn){UWn.exports="./fonts/root_folder_open.svg"});var dkt=me(function(Q$o,NWn){NWn.exports="./fonts/rs.svg"});var pkt=me(function(X$o,zWn){zWn.exports="./fonts/ruby.svg"});var fkt=me(function(W$o,_Wn){_Wn.exports="./fonts/rust.svg"});var mkt=me(function(Y$o,HWn){HWn.exports="./fonts/rustfmt.svg"});var hkt=me(function(K$o,VWn){VWn.exports="./fonts/sails.svg"});var gkt=me(function(J$o,GWn){GWn.exports="./fonts/salesforce.svg"});var ykt=me(function(j$o,qWn){qWn.exports="./fonts/sass.svg"});var vkt=me(function($$o,ZWn){ZWn.exports="./fonts/scala.svg"});var bkt=me(function(eea,QWn){QWn.exports="./fonts/scss.svg"});var xkt=me(function(tea,XWn){XWn.exports="./fonts/sentinel.svg"});var Akt=me(function(nea,WWn){WWn.exports="./fonts/sequelize.svg"});var wkt=me(function(rea,YWn){YWn.exports="./fonts/sh.svg"});var Skt=me(function(oea,KWn){KWn.exports="./fonts/shaderlab.svg"});var Ckt=me(function(aea,JWn){JWn.exports="./fonts/shell.svg"});var Ekt=me(function(iea,jWn){jWn.exports="./fonts/silq.svg"});var Ikt=me(function(sea,$Wn){$Wn.exports="./fonts/slim.svg"});var Tkt=me(function(lea,eYn){eYn.exports="./fonts/sln.svg"});var kkt=me(function(cea,tYn){tYn.exports="./fonts/smarty.svg"});var Rkt=me(function(uea,nYn){nYn.exports="./fonts/sol.svg"});var Pkt=me(function(dea,rYn){rYn.exports="./fonts/spc.svg"});var Mkt=me(function(pea,oYn){oYn.exports="./fonts/sql.svg"});var Dkt=me(function(fea,aYn){aYn.exports="./fonts/sqlite.svg"});var Lkt=me(function(mea,iYn){iYn.exports="./fonts/storybook.svg"});var Bkt=me(function(hea,sYn){sYn.exports="./fonts/stylelint.svg"});var Okt=me(function(gea,lYn){lYn.exports="./fonts/stylelintignore.svg"});var Fkt=me(function(yea,cYn){cYn.exports="./fonts/stylus.svg"});var Ukt=me(function(vea,uYn){uYn.exports="./fonts/suo.svg"});var Nkt=me(function(bea,dYn){dYn.exports="./fonts/svelte.svg"});var zkt=me(function(xea,pYn){pYn.exports="./fonts/svelteconfig.svg"});var _kt=me(function(Aea,fYn){fYn.exports="./fonts/svg.svg"});var Hkt=me(function(wea,mYn){mYn.exports="./fonts/swift.svg"});var Vkt=me(function(Sea,hYn){hYn.exports="./fonts/symfony.svg"});var Gkt=me(function(Cea,gYn){gYn.exports="./fonts/tailwind.svg"});var qkt=me(function(Eea,yYn){yYn.exports="./fonts/tauri.svg"});var Zkt=me(function(Iea,vYn){vYn.exports="./fonts/taze.svg"});var Qkt=me(function(Tea,bYn){bYn.exports="./fonts/terrafile.svg"});var Xkt=me(function(kea,xYn){xYn.exports="./fonts/terraform.svg"});var Wkt=me(function(Rea,AYn){AYn.exports="./fonts/terraformvars.svg"});var Ykt=me(function(Pea,wYn){wYn.exports="./fonts/terraformversion.svg"});var Kkt=me(function(Mea,SYn){SYn.exports="./fonts/testjs.svg"});var Jkt=me(function(Dea,CYn){CYn.exports="./fonts/testts.svg"});var jkt=me(function(Lea,EYn){EYn.exports="./fonts/tmpl.svg"});var $kt=me(function(Bea,IYn){IYn.exports="./fonts/todo.svg"});var eRt=me(function(Oea,TYn){TYn.exports="./fonts/toml.svg"});var tRt=me(function(Fea,kYn){kYn.exports="./fonts/toolversions.svg"});var nRt=me(function(Uea,RYn){RYn.exports="./fonts/tox.svg"});var rRt=me(function(Nea,PYn){PYn.exports="./fonts/travis.svg"});var oRt=me(function(zea,MYn){MYn.exports="./fonts/tres.svg"});var aRt=me(function(_ea,DYn){DYn.exports="./fonts/tscn.svg"});var iRt=me(function(Hea,LYn){LYn.exports="./fonts/tsconfig.svg"});var sRt=me(function(Vea,BYn){BYn.exports="./fonts/tsx.svg"});var lRt=me(function(Gea,OYn){OYn.exports="./fonts/turbo.svg"});var cRt=me(function(qea,FYn){FYn.exports="./fonts/twig.svg"});var uRt=me(function(Zea,UYn){UYn.exports="./fonts/txt.svg"});var dRt=me(function(Qea,NYn){NYn.exports="./fonts/typescript.svg"});var pRt=me(function(Xea,zYn){zYn.exports="./fonts/typescriptdef.svg"});var fRt=me(function(Wea,_Yn){_Yn.exports="./fonts/ui.svg"});var mRt=me(function(Yea,HYn){HYn.exports="./fonts/unocss.svg"});var hRt=me(function(Kea,VYn){VYn.exports="./fonts/user.svg"});var gRt=me(function(Jea,GYn){GYn.exports="./fonts/v.svg"});var yRt=me(function(jea,qYn){qYn.exports="./fonts/vanillaextract.svg"});var vRt=me(function($ea,ZYn){ZYn.exports="./fonts/vb.svg"});var bRt=me(function(eta,QYn){QYn.exports="./fonts/vercel.svg"});var xRt=me(function(tta,XYn){XYn.exports="./fonts/version.svg"});var ARt=me(function(nta,WYn){WYn.exports="./fonts/vhd.svg"});var wRt=me(function(rta,YYn){YYn.exports="./fonts/vhdl.svg"});var SRt=me(function(ota,KYn){KYn.exports="./fonts/video.svg"});var CRt=me(function(ata,JYn){JYn.exports="./fonts/vite.svg"});var ERt=me(function(ita,jYn){jYn.exports="./fonts/viteenv.svg"});var IRt=me(function(sta,$Yn){$Yn.exports="./fonts/vitest.svg"});var TRt=me(function(lta,eKn){eKn.exports="./fonts/vmod.svg"});var kRt=me(function(cta,tKn){tKn.exports="./fonts/vscode.svg"});var RRt=me(function(uta,nKn){nKn.exports="./fonts/vue.svg"});var PRt=me(function(dta,rKn){rKn.exports="./fonts/vueconfig.svg"});var MRt=me(function(pta,oKn){oKn.exports="./fonts/wasm.svg"});var DRt=me(function(fta,aKn){aKn.exports="./fonts/webpack.svg"});var LRt=me(function(mta,iKn){iKn.exports="./fonts/wgsl.svg"});var BRt=me(function(hta,sKn){sKn.exports="./fonts/windi.svg"});var ORt=me(function(gta,lKn){lKn.exports="./fonts/wren.svg"});var FRt=me(function(yta,cKn){cKn.exports="./fonts/xmake.svg"});var URt=me(function(vta,uKn){uKn.exports="./fonts/xml.svg"});var NRt=me(function(bta,dKn){dKn.exports="./fonts/yaml.svg"});var zRt=me(function(xta,pKn){pKn.exports="./fonts/yang.svg"});var _Rt=me(function(Ata,fKn){fKn.exports="./fonts/yarn.svg"});var HRt=me(function(wta,mKn){mKn.exports="./fonts/yarnerror.svg"});var VRt=me(function(Sta,hKn){hKn.exports="./fonts/yarnignore.svg"});var GRt=me(function(Cta,gKn){gKn.exports="./fonts/yarnlock.svg"});var qRt=me(function(Eta,yKn){yKn.exports="./fonts/yin.svg"});var ZRt=me(function(Ita,vKn){vKn.exports="./fonts/zig.svg"});var QRt=me(function(Tta,bKn){bKn.exports="./fonts/zip.svg"});var XRt,WRt,YRt,KRt,JRt,jRt,$Rt,ePt,tPt,nPt,rPt,oPt,aPt,iPt,sPt,lPt,cPt,uPt,dPt,pPt,fPt,mPt,hPt,gPt,yPt,vPt,bPt,xPt,APt,wPt,SPt,CPt,EPt,IPt,TPt,kPt,RPt,PPt,MPt,DPt,LPt,BPt,OPt,FPt,UPt,NPt,zPt,_Pt,HPt,VPt,GPt,qPt,ZPt,QPt,XPt,WPt,YPt,KPt,JPt,jPt,$Pt,e9t,t9t,n9t,r9t,o9t,a9t,i9t,s9t,l9t,c9t,u9t,d9t,p9t,f9t,m9t,h9t,g9t,y9t,v9t,b9t,x9t,A9t,w9t,S9t,C9t,E9t,I9t,T9t,k9t,R9t,P9t,M9t,D9t,L9t,B9t,O9t,F9t,U9t,N9t,z9t,_9t,H9t,V9t,G9t,q9t,Z9t,Q9t,X9t,W9t,Y9t,K9t,J9t,j9t,$9t,eMt,tMt,nMt,rMt,oMt,aMt,iMt,sMt,lMt,cMt,uMt,dMt,pMt,fMt,mMt,hMt,gMt,yMt,vMt,bMt,xMt,AMt,wMt,SMt,CMt,EMt,IMt,TMt,kMt,RMt,PMt,MMt,DMt,LMt,BMt,OMt,FMt,UMt,NMt,zMt,_Mt,HMt,VMt,GMt,qMt,ZMt,QMt,XMt,WMt,YMt,KMt,JMt,jMt,$Mt,eDt,tDt,nDt,rDt,oDt,aDt,iDt,sDt,lDt,cDt,uDt,dDt,pDt,fDt,mDt,hDt,gDt,yDt,vDt,bDt,xDt,ADt,wDt,SDt,CDt,EDt,IDt,TDt,kDt,RDt,PDt,MDt,DDt,LDt,BDt,ODt,FDt,UDt,NDt,zDt,_Dt,HDt,VDt,GDt,qDt,ZDt,QDt,XDt,WDt,YDt,KDt,JDt,jDt,$Dt,eLt,tLt,nLt,rLt,oLt,aLt,iLt,sLt,lLt,cLt,uLt,dLt,pLt,fLt,mLt,hLt,gLt,yLt,vLt,bLt,xLt,ALt,wLt,SLt,CLt,ELt,ILt,TLt,kLt,RLt,PLt,MLt,DLt,LLt,BLt,OLt,FLt,ULt,NLt,zLt,_Lt,HLt,VLt,GLt,qLt,ZLt,QLt,XLt,WLt,YLt,KLt,JLt,jLt,$Lt,eBt,tBt,nBt,rBt,oBt,aBt,iBt,sBt,lBt,cBt,uBt,dBt,pBt,fBt,mBt,hBt,gBt,yBt,vBt,bBt,xBt,ABt,wBt,SBt,CBt,EBt,IBt,TBt,kBt,RBt,PBt,MBt,DBt,LBt,BBt,OBt,FBt,UBt,NBt,zBt,_Bt,HBt,VBt,GBt,qBt,ZBt,QBt,XBt,WBt,YBt,KBt,JBt,jBt,$Bt,eOt,tOt,nOt,rOt,oOt,aOt,iOt,sOt,lOt,cOt,uOt,dOt,pOt,fOt,mOt,hOt,gOt,yOt,vOt,bOt,xOt,AOt,wOt,SOt,COt,EOt,IOt,TOt,kOt,ROt,POt,MOt,DOt,LOt,BOt,OOt,FOt,UOt,NOt,zOt,_Ot,HOt,VOt,GOt,qOt,ZOt,QOt,XOt,WOt,YOt,KOt,JOt,jOt,$Ot,eFt,tFt,nFt,rFt,oFt,aFt,iFt,sFt,lFt;var cFt=P(()=>{XRt=z(D5t(),1),WRt=z(L5t(),1),YRt=z(B5t(),1),KRt=z(O5t(),1),JRt=z(F5t(),1),jRt=z(U5t(),1),$Rt=z(N5t(),1),ePt=z(z5t(),1),tPt=z(_5t(),1),nPt=z(H5t(),1),rPt=z(V5t(),1),oPt=z(G5t(),1),aPt=z(q5t(),1),iPt=z(Z5t(),1),sPt=z(Q5t(),1),lPt=z(X5t(),1),cPt=z(W5t(),1),uPt=z(Y5t(),1),dPt=z(K5t(),1),pPt=z(J5t(),1),fPt=z(j5t(),1),mPt=z($5t(),1),hPt=z(e8t(),1),gPt=z(t8t(),1),yPt=z(n8t(),1),vPt=z(r8t(),1),bPt=z(o8t(),1),xPt=z(a8t(),1),APt=z(i8t(),1),wPt=z(s8t(),1),SPt=z(l8t(),1),CPt=z(c8t(),1),EPt=z(u8t(),1),IPt=z(d8t(),1),TPt=z(p8t(),1),kPt=z(f8t(),1),RPt=z(m8t(),1),PPt=z(h8t(),1),MPt=z(g8t(),1),DPt=z(y8t(),1),LPt=z(v8t(),1),BPt=z(b8t(),1),OPt=z(x8t(),1),FPt=z(A8t(),1),UPt=z(w8t(),1),NPt=z(S8t(),1),zPt=z(C8t(),1),_Pt=z(E8t(),1),HPt=z(I8t(),1),VPt=z(T8t(),1),GPt=z(k8t(),1),qPt=z(R8t(),1),ZPt=z(P8t(),1),QPt=z(M8t(),1),XPt=z(D8t(),1),WPt=z(L8t(),1),YPt=z(B8t(),1),KPt=z(O8t(),1),JPt=z(F8t(),1),jPt=z(U8t(),1),$Pt=z(N8t(),1),e9t=z(z8t(),1),t9t=z(_8t(),1),n9t=z(H8t(),1),r9t=z(V8t(),1),o9t=z(G8t(),1),a9t=z(q8t(),1),i9t=z(Z8t(),1),s9t=z(Q8t(),1),l9t=z(X8t(),1),c9t=z(W8t(),1),u9t=z(Y8t(),1),d9t=z(K8t(),1),p9t=z(J8t(),1),f9t=z(j8t(),1),m9t=z($8t(),1),h9t=z(eEt(),1),g9t=z(tEt(),1),y9t=z(nEt(),1),v9t=z(rEt(),1),b9t=z(oEt(),1),x9t=z(aEt(),1),A9t=z(iEt(),1),w9t=z(sEt(),1),S9t=z(lEt(),1),C9t=z(cEt(),1),E9t=z(uEt(),1),I9t=z(dEt(),1),T9t=z(pEt(),1),k9t=z(fEt(),1),R9t=z(mEt(),1),P9t=z(hEt(),1),M9t=z(gEt(),1),D9t=z(yEt(),1),L9t=z(vEt(),1),B9t=z(bEt(),1),O9t=z(xEt(),1),F9t=z(AEt(),1),U9t=z(wEt(),1),N9t=z(SEt(),1),z9t=z(CEt(),1),_9t=z(EEt(),1),H9t=z(IEt(),1),V9t=z(TEt(),1),G9t=z(kEt(),1),q9t=z(REt(),1),Z9t=z(PEt(),1),Q9t=z(MEt(),1),X9t=z(DEt(),1),W9t=z(LEt(),1),Y9t=z(BEt(),1),K9t=z(OEt(),1),J9t=z(FEt(),1),j9t=z(UEt(),1),$9t=z(NEt(),1),eMt=z(zEt(),1),tMt=z(_Et(),1),nMt=z(HEt(),1),rMt=z(VEt(),1),oMt=z(GEt(),1),aMt=z(qEt(),1),iMt=z(ZEt(),1),sMt=z(QEt(),1),lMt=z(XEt(),1),cMt=z(WEt(),1),uMt=z(YEt(),1),dMt=z(KEt(),1),pMt=z(JEt(),1),fMt=z(jEt(),1),mMt=z($Et(),1),hMt=z(eIt(),1),gMt=z(tIt(),1),yMt=z(nIt(),1),vMt=z(rIt(),1),bMt=z(oIt(),1),xMt=z(aIt(),1),AMt=z(iIt(),1),wMt=z(sIt(),1),SMt=z(lIt(),1),CMt=z(cIt(),1),EMt=z(uIt(),1),IMt=z(dIt(),1),TMt=z(pIt(),1),kMt=z(fIt(),1),RMt=z(mIt(),1),PMt=z(hIt(),1),MMt=z(gIt(),1),DMt=z(yIt(),1),LMt=z(vIt(),1),BMt=z(bIt(),1),OMt=z(xIt(),1),FMt=z(AIt(),1),UMt=z(wIt(),1),NMt=z(SIt(),1),zMt=z(CIt(),1),_Mt=z(EIt(),1),HMt=z(IIt(),1),VMt=z(TIt(),1),GMt=z(kIt(),1),qMt=z(RIt(),1),ZMt=z(PIt(),1),QMt=z(MIt(),1),XMt=z(DIt(),1),WMt=z(LIt(),1),YMt=z(BIt(),1),KMt=z(OIt(),1),JMt=z(FIt(),1),jMt=z(UIt(),1),$Mt=z(NIt(),1),eDt=z(zIt(),1),tDt=z(_It(),1),nDt=z(HIt(),1),rDt=z(VIt(),1),oDt=z(GIt(),1),aDt=z(qIt(),1),iDt=z(ZIt(),1),sDt=z(QIt(),1),lDt=z(XIt(),1),cDt=z(WIt(),1),uDt=z(YIt(),1),dDt=z(KIt(),1),pDt=z(JIt(),1),fDt=z(jIt(),1),mDt=z($It(),1),hDt=z(eTt(),1),gDt=z(tTt(),1),yDt=z(nTt(),1),vDt=z(rTt(),1),bDt=z(oTt(),1),xDt=z(aTt(),1),ADt=z(iTt(),1),wDt=z(sTt(),1),SDt=z(lTt(),1),CDt=z(cTt(),1),EDt=z(uTt(),1),IDt=z(dTt(),1),TDt=z(pTt(),1),kDt=z(fTt(),1),RDt=z(mTt(),1),PDt=z(hTt(),1),MDt=z(gTt(),1),DDt=z(yTt(),1),LDt=z(vTt(),1),BDt=z(bTt(),1),ODt=z(xTt(),1),FDt=z(ATt(),1),UDt=z(wTt(),1),NDt=z(STt(),1),zDt=z(CTt(),1),_Dt=z(ETt(),1),HDt=z(ITt(),1),VDt=z(TTt(),1),GDt=z(kTt(),1),qDt=z(RTt(),1),ZDt=z(PTt(),1),QDt=z(MTt(),1),XDt=z(DTt(),1),WDt=z(LTt(),1),YDt=z(BTt(),1),KDt=z(OTt(),1),JDt=z(FTt(),1),jDt=z(UTt(),1),$Dt=z(NTt(),1),eLt=z(zTt(),1),tLt=z(_Tt(),1),nLt=z(HTt(),1),rLt=z(VTt(),1),oLt=z(GTt(),1),aLt=z(qTt(),1),iLt=z(ZTt(),1),sLt=z(QTt(),1),lLt=z(XTt(),1),cLt=z(WTt(),1),uLt=z(YTt(),1),dLt=z(KTt(),1),pLt=z(JTt(),1),fLt=z(jTt(),1),mLt=z($Tt(),1),hLt=z(e7t(),1),gLt=z(t7t(),1),yLt=z(n7t(),1),vLt=z(r7t(),1),bLt=z(o7t(),1),xLt=z(a7t(),1),ALt=z(i7t(),1),wLt=z(s7t(),1),SLt=z(l7t(),1),CLt=z(c7t(),1),ELt=z(u7t(),1),ILt=z(d7t(),1),TLt=z(p7t(),1),kLt=z(f7t(),1),RLt=z(m7t(),1),PLt=z(h7t(),1),MLt=z(g7t(),1),DLt=z(y7t(),1),LLt=z(v7t(),1),BLt=z(b7t(),1),OLt=z(x7t(),1),FLt=z(A7t(),1),ULt=z(w7t(),1),NLt=z(S7t(),1),zLt=z(C7t(),1),_Lt=z(E7t(),1),HLt=z(I7t(),1),VLt=z(T7t(),1),GLt=z(k7t(),1),qLt=z(R7t(),1),ZLt=z(P7t(),1),QLt=z(M7t(),1),XLt=z(D7t(),1),WLt=z(L7t(),1),YLt=z(B7t(),1),KLt=z(O7t(),1),JLt=z(F7t(),1),jLt=z(U7t(),1),$Lt=z(N7t(),1),eBt=z(z7t(),1),tBt=z(_7t(),1),nBt=z(H7t(),1),rBt=z(V7t(),1),oBt=z(G7t(),1),aBt=z(q7t(),1),iBt=z(Z7t(),1),sBt=z(Q7t(),1),lBt=z(X7t(),1),cBt=z(W7t(),1),uBt=z(Y7t(),1),dBt=z(K7t(),1),pBt=z(J7t(),1),fBt=z(j7t(),1),mBt=z($7t(),1),hBt=z(ekt(),1),gBt=z(tkt(),1),yBt=z(nkt(),1),vBt=z(rkt(),1),bBt=z(okt(),1),xBt=z(akt(),1),ABt=z(ikt(),1),wBt=z(skt(),1),SBt=z(lkt(),1),CBt=z(ckt(),1),EBt=z(ukt(),1),IBt=z(dkt(),1),TBt=z(pkt(),1),kBt=z(fkt(),1),RBt=z(mkt(),1),PBt=z(hkt(),1),MBt=z(gkt(),1),DBt=z(ykt(),1),LBt=z(vkt(),1),BBt=z(bkt(),1),OBt=z(xkt(),1),FBt=z(Akt(),1),UBt=z(wkt(),1),NBt=z(Skt(),1),zBt=z(Ckt(),1),_Bt=z(Ekt(),1),HBt=z(Ikt(),1),VBt=z(Tkt(),1),GBt=z(kkt(),1),qBt=z(Rkt(),1),ZBt=z(Pkt(),1),QBt=z(Mkt(),1),XBt=z(Dkt(),1),WBt=z(Lkt(),1),YBt=z(Bkt(),1),KBt=z(Okt(),1),JBt=z(Fkt(),1),jBt=z(Ukt(),1),$Bt=z(Nkt(),1),eOt=z(zkt(),1),tOt=z(_kt(),1),nOt=z(Hkt(),1),rOt=z(Vkt(),1),oOt=z(Gkt(),1),aOt=z(qkt(),1),iOt=z(Zkt(),1),sOt=z(Qkt(),1),lOt=z(Xkt(),1),cOt=z(Wkt(),1),uOt=z(Ykt(),1),dOt=z(Kkt(),1),pOt=z(Jkt(),1),fOt=z(jkt(),1),mOt=z($kt(),1),hOt=z(eRt(),1),gOt=z(tRt(),1),yOt=z(nRt(),1),vOt=z(rRt(),1),bOt=z(oRt(),1),xOt=z(aRt(),1),AOt=z(iRt(),1),wOt=z(sRt(),1),SOt=z(lRt(),1),COt=z(cRt(),1),EOt=z(uRt(),1),IOt=z(dRt(),1),TOt=z(pRt(),1),kOt=z(fRt(),1),ROt=z(mRt(),1),POt=z(hRt(),1),MOt=z(gRt(),1),DOt=z(yRt(),1),LOt=z(vRt(),1),BOt=z(bRt(),1),OOt=z(xRt(),1),FOt=z(ARt(),1),UOt=z(wRt(),1),NOt=z(SRt(),1),zOt=z(CRt(),1),_Ot=z(ERt(),1),HOt=z(IRt(),1),VOt=z(TRt(),1),GOt=z(kRt(),1),qOt=z(RRt(),1),ZOt=z(PRt(),1),QOt=z(MRt(),1),XOt=z(DRt(),1),WOt=z(LRt(),1),YOt=z(BRt(),1),KOt=z(ORt(),1),JOt=z(FRt(),1),jOt=z(URt(),1),$Ot=z(NRt(),1),eFt=z(zRt(),1),tFt=z(_Rt(),1),nFt=z(HRt(),1),rFt=z(VRt(),1),oFt=z(GRt(),1),aFt=z(qRt(),1),iFt=z(ZRt(),1),sFt=z(QRt(),1),lFt={ace:XRt.default,acemanifest:WRt.default,adoc:YRt.default,adonis:KRt.default,adonisconfig:JRt.default,afdesign:jRt.default,afphoto:$Rt.default,afpub:ePt.default,ai:tPt.default,air:nPt.default,angular:rPt.default,anim:oPt.default,astro:aPt.default,astroconfig:iPt.default,atomizer:sPt.default,audio:lPt.default,audiomp3:cPt.default,audioogg:uPt.default,audiowav:dPt.default,audiowv:pPt.default,azure:fPt.default,babel:mPt.default,ballerina:hPt.default,ballerinaconfig:gPt.default,bat:yPt.default,bazel:vPt.default,bazelignore:bPt.default,bicep:xPt.default,bicepconfig:APt.default,bicepparam:wPt.default,binary:SPt.default,biome:CPt.default,blade:EPt.default,brotli:IPt.default,browserslist:TPt.default,bruno:kPt.default,bsconfig:RPt.default,buck:PPt.default,bun:MPt.default,bundler:DPt.default,bunlock:LPt.default,c:BPt.default,cargo:OPt.default,cargolock:FPt.default,cert:UPt.default,cheader:NPt.default,civet:zPt.default,claude:_Pt.default,cli:HPt.default,clojure:VPt.default,cmake:GPt.default,codeworkspace:qPt.default,coffeescript:ZPt.default,commitlint:QPt.default,compodoc:XPt.default,composer:WPt.default,composerlock:YPt.default,conan:KPt.default,conf:JPt.default,copilot:jPt.default,cpp:$Pt.default,crystal:e9t.default,csharp:t9t.default,cshtml:n9t.default,csproj:r9t.default,css:o9t.default,cssmap:a9t.default,csv:i9t.default,cucumber:s9t.default,cursor:l9t.default,cypress:c9t.default,cypressjs:u9t.default,cypressts:d9t.default,d:p9t.default,dartlang:f9t.default,delphiproject:m9t.default,diff:h9t.default,docker:g9t.default,dockerdebug:y9t.default,dockerignore:v9t.default,drawio:b9t.default,drizzle:x9t.default,dsstore:A9t.default,dune:w9t.default,duneproject:S9t.default,edge:C9t.default,editorconfig:E9t.default,eex:I9t.default,elixir:T9t.default,elm:k9t.default,env:R9t.default,eraser:P9t.default,erb:M9t.default,erlang:D9t.default,esbuild:L9t.default,eslint:B9t.default,eslintignore:O9t.default,excalidraw:F9t.default,exs:U9t.default,exx:N9t.default,farm:z9t.default,figma:_9t.default,file:H9t.default,file_light:V9t.default,flakelock:G9t.default,flutter:q9t.default,flutterlock:Z9t.default,flutterpackage:Q9t.default,folder:X9t.default,folder_open:W9t.default,fonteot:Y9t.default,fontotf:K9t.default,fontttf:J9t.default,fontwoff:j9t.default,fontwoff2:$9t.default,freemarker:eMt.default,fsharp:tMt.default,gbl:nMt.default,git:rMt.default,gitlab:oMt.default,gleam:aMt.default,gleamconfig:iMt.default,go:sMt.default,go_package:lMt.default,godot:cMt.default,gradle:uMt.default,gradlebat:dMt.default,gradlekotlin:pMt.default,grain:fMt.default,graphql:mMt.default,groovy:hMt.default,grunt:gMt.default,gulp:yMt.default,h:vMt.default,haml:bMt.default,handlebars:xMt.default,hardhat:AMt.default,hash:wMt.default,hashicorp:SMt.default,haskell:CMt.default,haxe:EMt.default,haxeml:IMt.default,hpp:TMt.default,htaccess:kMt.default,html:RMt.default,http:PMt.default,identifier:MMt.default,image:DMt.default,imagegif:LMt.default,imageico:BMt.default,imagejpg:OMt.default,imagepng:FMt.default,imagewebp:UMt.default,imba:NMt.default,info:zMt.default,instructions:_Mt.default,ipynb:HMt.default,jar:VMt.default,java:GMt.default,jenkins:qMt.default,jest:ZMt.default,jinja:QMt.default,js:XMt.default,jsmap:WMt.default,json:YMt.default,jsp:KMt.default,julia:JMt.default,karma:jMt.default,keep:$Mt.default,key:eDt.default,knex:tDt.default,knip:nDt.default,kotlin:rDt.default,kotlins:oDt.default,krita:aDt.default,latex:iDt.default,launch:sDt.default,lazarusproject:lDt.default,less:cDt.default,license:uDt.default,light_editorconfig:dDt.default,liquid:pDt.default,llvm:fDt.default,lock:mDt.default,log:hDt.default,lua:gDt.default,m:yDt.default,makefile:vDt.default,manifest:bDt.default,markdown:xDt.default,markdownx:ADt.default,maven:wDt.default,mermaid:SDt.default,mesh:CDt.default,mgcb:EDt.default,mint:IDt.default,mix:TDt.default,mixlock:kDt.default,mjml:RDt.default,mkdocs:PDt.default,mockoon:MDt.default,motoko:DDt.default,mov:LDt.default,mp4:BDt.default,mtl:ODt.default,mustache:FDt.default,nelua:UDt.default,neon:NDt.default,nestjs:zDt.default,nestjscontroller:_Dt.default,nestjsdecorator:HDt.default,nestjsdto:VDt.default,nestjsentity:GDt.default,nestjsfilter:qDt.default,nestjsguard:ZDt.default,nestjsinterceptor:QDt.default,nestjsmodule:XDt.default,nestjsrepository:WDt.default,nestjsresolver:YDt.default,nestjsservice:KDt.default,nestscheduler:JDt.default,netlify:jDt.default,nextconfig:$Dt.default,nextron:eLt.default,nginx:tLt.default,nim:nLt.default,nix:rLt.default,njk:oLt.default,node:aLt.default,nodemon:iLt.default,npm:sLt.default,npmlock:lLt.default,nuxt:cLt.default,nvidia:uLt.default,nvim:dLt.default,nvm:pLt.default,nx:fLt.default,obj:mLt.default,ocaml:hLt.default,ocamli:gLt.default,ocamll:yLt.default,ocamly:vLt.default,odin:bLt.default,opengl:xLt.default,oxlint:ALt.default,panda:wLt.default,parcel:SLt.default,pascal:CLt.default,pdf:ELt.default,perl:ILt.default,perlm:TLt.default,pfx:kLt.default,photoshop:RLt.default,php:PLt.default,plantuml:MLt.default,playright:DLt.default,plop:LLt.default,pnpm:BLt.default,pnpmlock:OLt.default,poetry:FLt.default,poetrylock:ULt.default,postcssconfig:NLt.default,powershell:zLt.default,powershelldata:_Lt.default,powershellmodule:HLt.default,precommit:VLt.default,prettier:GLt.default,prettierignore:qLt.default,prisma:ZLt.default,prolog:QLt.default,prompt:XLt.default,properties:WLt.default,proto:YLt.default,pug:KLt.default,pvk:JLt.default,pyproject:jLt.default,python:$Lt.default,qt:eBt.default,quarkus:tBt.default,quasar:nBt.default,r:rBt.default,racket:oBt.default,raku:aBt.default,razor:iBt.default,rb:sBt.default,reactjs:lBt.default,reactts:cBt.default,readme:uBt.default,redis:dBt.default,rego:pBt.default,remix:fBt.default,rescript:mBt.default,rescriptinterface:hBt.default,restructuredtext:gBt.default,rjson:yBt.default,robots:vBt.default,rollup:bBt.default,rome:xBt.default,ron:ABt.default,root_folder:wBt.default,root_folder_light:SBt.default,root_folder_light_open:CBt.default,root_folder_open:EBt.default,rs:IBt.default,ruby:TBt.default,rust:kBt.default,rustfmt:RBt.default,sails:PBt.default,salesforce:MBt.default,sass:DBt.default,scala:LBt.default,scss:BBt.default,sentinel:OBt.default,sequelize:FBt.default,sh:UBt.default,shaderlab:NBt.default,shell:zBt.default,silq:_Bt.default,slim:HBt.default,sln:VBt.default,smarty:GBt.default,sol:qBt.default,spc:ZBt.default,sql:QBt.default,sqlite:XBt.default,storybook:WBt.default,stylelint:YBt.default,stylelintignore:KBt.default,stylus:JBt.default,suo:jBt.default,svelte:$Bt.default,svelteconfig:eOt.default,svg:tOt.default,swift:nOt.default,symfony:rOt.default,tailwind:oOt.default,tauri:aOt.default,taze:iOt.default,terrafile:sOt.default,terraform:lOt.default,terraformvars:cOt.default,terraformversion:uOt.default,testjs:dOt.default,testts:pOt.default,tmpl:fOt.default,todo:mOt.default,toml:hOt.default,toolversions:gOt.default,tox:yOt.default,travis:vOt.default,tres:bOt.default,tscn:xOt.default,tsconfig:AOt.default,tsx:wOt.default,turbo:SOt.default,twig:COt.default,txt:EOt.default,typescript:IOt.default,typescriptdef:TOt.default,ui:kOt.default,unocss:ROt.default,user:POt.default,v:MOt.default,vanillaextract:DOt.default,vb:LOt.default,vercel:BOt.default,version:OOt.default,vhd:FOt.default,vhdl:UOt.default,video:NOt.default,vite:zOt.default,viteenv:_Ot.default,vitest:HOt.default,vmod:VOt.default,vscode:GOt.default,vue:qOt.default,vueconfig:ZOt.default,wasm:QOt.default,webpack:XOt.default,wgsl:WOt.default,windi:YOt.default,wren:KOt.default,xmake:JOt.default,xml:jOt.default,yaml:$Ot.default,yang:eFt.default,yarn:tFt.default,yarnerror:nFt.default,yarnignore:rFt.default,yarnlock:oFt.default,yin:aFt.default,zig:iFt.default,zip:sFt.default}});function R3({color:e,children:t,size:n="sm",selected:r=!1,onClick:o,onRemove:a,className:i}){let s=!!(o||a);return M("span",{"data-m3-component":"TagPill",className:Ve("relative isolate inline-flex max-w-full items-center rounded-small border","transition-colors duration-200 ease-standard",r?"border-transparent bg-secondary-container text-on-secondary-container":"border-outline-variant bg-transparent text-on-surface-variant",n==="xs"&&"h-6 gap-1.5 text-label-medium",n==="sm"&&"h-7 gap-2 text-label-large",n==="md"&&"h-8 gap-2 text-label-large",a&&(n==="xs"?"pr-2":"pr-1"),i),children:[M("button",{type:"button",onClick:o,"aria-pressed":o&&r?!0:void 0,className:Ve("inline-flex h-full min-w-0 items-center rounded-[inherit] pl-2","focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2",n==="xs"?"gap-1.5":"gap-2",!a&&(n==="xs"?"pr-2":"pr-3"),s&&"cursor-pointer before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:bg-current before:opacity-0 before:transition-opacity hover:before:opacity-8 active:before:opacity-10",!s&&"cursor-default"),children:[h("span",{"aria-hidden":"true",className:Ve("flex-shrink-0 rounded-full",n==="xs"&&"size-1.5",n==="sm"&&"size-2",n==="md"&&"size-2.5"),style:{backgroundColor:e}}),h("span",{className:"truncate",children:t})]}),a&&h("button",{type:"button","aria-label":"Remove",onClick:(l)=>{l.stopPropagation(),a(l)},className:Ve("inline-flex flex-shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors hover:bg-on-surface/8 active:bg-on-surface/10","focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2",n==="xs"?"size-4":"size-6"),children:h(at,{name:"close",size:n==="xs"?14:18})})]})}var uFt=P(()=>{gn();rn();le()});function yTe({name:e,extension:t,onSave:n,onCancel:r,className:o}){let a=t&&t.length>0,[i,s]=G2.useState(e),[l,c]=G2.useState(!1),u=G2.useRef(null);G2.useEffect(()=>{if(u.current)u.current.focus(),u.current.select()},[]);let d=G2.useCallback(async()=>{if(l)return;let m=i.trim();if(!m){r();return}let g=a?`${m}.${t}`:m,v=a?`${e}.${t}`:e;if(g===v){r();return}c(!0);try{await n(g)}catch{c(!1)}},[i,l,a,t,e,n,r]),p=G2.useCallback((m)=>{if(m.key==="Enter")m.preventDefault(),m.stopPropagation(),d();else if(m.key==="Escape")m.preventDefault(),m.stopPropagation(),r()},[d,r]),f=G2.useCallback(()=>{if(!l)r()},[l,r]);return M("div",{"data-m3-component":"RenameInput",className:Ve("inline-flex items-center rounded-extra-small bg-surface-container-highest px-1 text-body-medium text-on-surface","outline-primary transition-[outline-color] duration-200 ease-standard focus-within:outline-2",l&&"opacity-38",o),children:[h("input",{ref:u,value:i,onChange:(m)=>s(m.target.value),onKeyDown:p,onBlur:f,disabled:l,autoComplete:"off",spellCheck:!1,"aria-label":"Name",className:Ve("min-w-[60px] border-none bg-transparent py-0.5 text-center text-body-medium text-on-surface caret-primary outline-none","selection:bg-primary-container selection:text-on-primary-container","disabled:cursor-not-allowed")}),a&&M("span",{className:"text-body-medium text-on-surface-variant",children:[".",t]})]})}var G2;var dFt=P(()=>{rn();le();G2=z(re(),1)});function pFt(e){return typeof e==="string"?e:e.src}function vTe({iconSrc:e,thumbnailSrc:t,beardedIconSrc:n,size:r=100,iconScale:o=1,frameClassName:a,selected:i=!1,thumbnailLoaded:s,thumbnailError:l,onThumbnailLoad:c,onThumbnailError:u,className:d}){let[p,f]=eie.useState(!1),[m,g]=eie.useState(!1),v=s??p,y=l??m,x=pFt(e),A=t?pFt(t):null,[w,C]=eie.useState(A);if(w!==A)C(A),f(!1),g(!1);let E=r*o,T=r<60,I=T?E:E*0.4,k=Math.min(8,Math.max(2,r*0.08)),L=r>=xKn;return M("div",{"data-m3-component":"FileThumb",className:Ve("relative pointer-events-none flex shrink-0 grow-0 items-center justify-center",d),style:{width:r,height:r,minWidth:r,minHeight:r,maxWidth:r,maxHeight:r},children:[!(T&&n)&&h("img",{src:x,alt:"",className:Ve("object-contain transition-opacity duration-200 ease-standard",v&&A&&"opacity-0"),style:{width:E,height:E,maxWidth:"100%",maxHeight:"100%"}}),A&&!y&&h("img",{src:A,alt:"",className:Ve("absolute inset-0 m-auto max-h-full max-w-full object-contain transition-opacity duration-200 ease-standard",a||Ve("border border-outline-variant bg-surface-container-high",L&&"rounded-small"),i&&"outline-2 outline-offset-0 outline-primary",!v&&"opacity-0"),style:a||L?void 0:{borderRadius:`${k}px`},onLoad:()=>{f(!0),c?.()},onError:()=>{g(!0),u?.()}}),n&&h("img",{src:n,alt:"",className:"absolute left-1/2 top-[55%] -translate-x-1/2 -translate-y-1/2",style:{width:I,height:I}})]})}var eie,xKn=100;var fFt=P(()=>{rn();le();eie=z(re(),1)});function bTe({title:e,items:t,selectedId:n,onSelect:r,onOpen:o,viewMode:a="list",onViewModeChange:i,activeFilter:s="all",onFilterChange:l,onToggleStar:c,onRowAction:u,className:d}){return M("section",{"aria-label":"Google Drive File List",className:Ve("google-drive-explorer flex flex-col w-full text-on-surface",d),children:[e&&h("div",{className:"px-2 pt-2 pb-1",children:h("h2",{className:"text-headline-small font-medium text-on-surface",children:e})}),M("div",{className:"flex items-center justify-between gap-4 border-b border-outline-variant/30 pb-3 pt-1 px-2",children:[h("div",{className:"flex items-center gap-2 overflow-x-auto",children:AKn.map((p)=>M("button",{type:"button",onClick:()=>l?.(p.key),"aria-pressed":s===p.key,className:Ve("flex items-center gap-1.5 rounded-full px-3.5 py-1.5 text-label-large font-medium transition-colors border",s===p.key?"border-primary/50 bg-secondary-container text-on-secondary-container":"border-outline-variant/40 bg-surface text-on-surface hover:bg-on-surface/8"),children:[h("span",{children:p.label}),h(at,{name:"arrow_drop_down",size:18})]},p.key))}),i&&M("div",{className:"flex items-center rounded-full border border-outline-variant/40 bg-surface p-0.5",children:[h(yn,{variant:a==="list"?"filled":"standard",size:"sm",onClick:()=>i("list"),"aria-label":"List view","aria-pressed":a==="list",title:"List view",children:h(at,{name:"view_list",size:18})}),h(yn,{variant:a==="grid"?"filled":"standard",size:"sm",onClick:()=>i("grid"),"aria-label":"Grid view","aria-pressed":a==="grid",title:"Grid view",children:h(at,{name:"grid_view",size:18})})]})]}),a==="grid"?h("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3 p-3",children:t.map((p)=>{let f=n===p.id,m=tie[p.type]||tie.file;return M("div",{onClick:()=>r?.(p),onDoubleClick:()=>o?.(p),role:"button","aria-pressed":f,"aria-label":p.name,tabIndex:0,onKeyDown:(g)=>{if(g.key==="Enter"||g.key===" ")if(g.preventDefault(),g.key==="Enter"&&o)o(p);else r?.(p)},className:Ve("group relative flex flex-col justify-between rounded-medium border border-outline-variant/25 p-3 transition-colors cursor-pointer select-none",f?"bg-secondary-container text-on-secondary-container border-primary":"bg-surface-container-low hover:bg-surface-container-high"),children:[M("div",{className:"flex items-center justify-between gap-2",children:[h(at,{name:m.icon,size:28,className:Ve("shrink-0",m.colorClass)}),p.starred&&h(at,{name:"star",size:18,filled:!0,className:"text-amber-500 fill-current"})]}),M("div",{className:"mt-3",children:[h("div",{className:"truncate text-body-medium font-medium text-on-surface",children:p.name}),h("div",{className:"truncate text-body-small text-on-surface-variant",children:p.lastModified??p.size??"—"})]})]},p.id)})}):h("div",{className:"w-full overflow-x-auto",children:M("table",{className:"w-full border-collapse text-left text-body-medium",children:[h("thead",{children:M("tr",{className:"border-b border-outline-variant/20 text-title-small font-medium text-on-surface-variant",children:[h("th",{className:"py-3 px-4 w-[45%]",children:"Name"}),h("th",{className:"py-3 px-4 w-[20%]",children:"Owner"}),h("th",{className:"py-3 px-4 w-[20%]",children:"Last modified"}),h("th",{className:"py-3 px-4 w-[10%]",children:"File size"}),h("th",{className:"py-3 px-4 w-[5%] text-right",children:"Actions"})]})}),h("tbody",{children:t.map((p)=>{let f=n===p.id,m=tie[p.type]||tie.file;return M("tr",{onClick:()=>r?.(p),onDoubleClick:()=>o?.(p),"aria-selected":f,tabIndex:0,onKeyDown:(g)=>{if(g.target!==g.currentTarget)return;if(g.key==="Enter"||g.key===" ")if(g.preventDefault(),g.key==="Enter"&&o)o(p);else r?.(p)},className:Ve("group cursor-pointer border-b border-outline-variant/15 transition-colors select-none",f?"bg-secondary-container/60 text-on-secondary-container":"hover:bg-on-surface/5 active:bg-on-surface/10"),children:[h("td",{className:"py-2.5 px-4",children:M("div",{className:"flex items-center gap-3",children:[h(at,{name:m.icon,size:22,className:Ve("shrink-0",m.colorClass)}),h("span",{className:"truncate font-medium text-on-surface",children:p.name}),p.starred&&h(at,{name:"star",size:16,filled:!0,className:"shrink-0 text-amber-500 fill-current","aria-label":"Starred"})]})}),h("td",{className:"py-2.5 px-4 text-body-small text-on-surface-variant",children:p.owner??"me"}),h("td",{className:"py-2.5 px-4 text-body-small text-on-surface-variant",children:p.lastModified??"—"}),h("td",{className:"py-2.5 px-4 text-body-small text-on-surface-variant",children:p.size??"—"}),h("td",{className:"py-2.5 px-4 text-right",children:M("div",{className:"flex items-center justify-end gap-1 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 transition-opacity",children:[c&&h(yn,{variant:"standard",size:"sm",onClick:(g)=>{g.stopPropagation(),c(p)},"aria-label":p.starred?"Unstar":"Star",children:h(at,{name:p.starred?"star":"star_outline",size:18})}),u&&h(yn,{variant:"standard",size:"sm",onClick:(g)=>{g.stopPropagation(),u(p,"download")},"aria-label":"Download",title:"Download",children:h(at,{name:"download",size:18})})]})})]},p.id)})})]})})]})}var tie,AKn;var mFt=P(()=>{gn();rn();le();tie={folder:{icon:"folder",colorClass:"text-on-surface-variant fill-current"},document:{icon:"description",colorClass:"text-[#4285F4]"},spreadsheet:{icon:"table_chart",colorClass:"text-[#0EBC5F]"},presentation:{icon:"slideshow",colorClass:"text-[#FFCC00]"},image:{icon:"image",colorClass:"text-[#FF4641]"},pdf:{icon:"picture_as_pdf",colorClass:"text-[#EA4335]"},code:{icon:"code",colorClass:"text-[#9B72CB]"},archive:{icon:"folder_zip",colorClass:"text-on-surface-variant"},file:{icon:"draft",colorClass:"text-on-surface-variant"}},AKn=[{key:"all",label:"Type"},{key:"people",label:"People"},{key:"modified",label:"Modified"},{key:"location",label:"Location"}]});var sH=P(()=>{uFt();dFt();fFt();mFt()});var uI,hFt;var gFt=P(()=>{YA();le();uI=z(re(),1),hFt=uI.memo(function({file:t,size:n,onMouseEnter:r,onMouseLeave:o,squareMode:a=!1}){let[i,s]=uI.useState(0),[l,c]=uI.useState(!1),u=uI.useRef(null),{buildSidecarUrl:d}=e0(),p=t.sidecars?.find((D)=>D.kind==="thumbstrip");if(!p)return null;let m=((D)=>{if(D.includes("detailed"))return{columns:10,rows:10};if(D.includes("mobile"))return{columns:3,rows:3};return{columns:5,rows:5}})(p.variant),g=m.columns*m.rows,v=t.video_media_data?.width&&t.video_media_data?.height?t.video_media_data.width/t.video_media_data.height:1.7777777777777777,y=n,x=n,A=m.columns*100,w=m.rows*100;if(a)if(y=n,x=n,v>1)A=m.columns*100*v,w=m.rows*100;else A=m.columns*100,w=m.rows*100/v;else if(v>1)x=n/v;else y=n*v;if(!t.content_identity?.uuid)return null;let C=d(t.content_identity.uuid,p.kind,p.variant,p.format);if(!C)return null;let E=Math.min(Math.floor(i*g),g-1),T=Math.floor(E/m.columns),I=E%m.columns,k,L;if(m.columns>1)k=I/m.columns*A/(A-100)*100;else k=0;if(m.rows>1)L=T/m.rows*w/(w-100)*100;else L=0;return h("div",{ref:u,className:"absolute inset-0 flex items-center justify-center z-10 pointer-events-auto",onMouseMove:(D)=>{if(!u.current)return;let N=u.current.getBoundingClientRect(),_=D.clientX-N.left,G=Math.max(0,Math.min(1,_/N.width));s(G)},onMouseEnter:()=>{c(!0),r?.()},onMouseLeave:()=>{c(!1),s(0),o?.()},children:l&&h("div",{className:"rounded-small bg-app-darkBox/95 backdrop-blur-sm overflow-hidden shadow-md3-3 relative",style:{width:y,height:x,backgroundImage:`url(${C})`,backgroundSize:`${A}% ${w}%`,backgroundPosition:`${k}% ${L}%`,backgroundRepeat:"no-repeat",imageRendering:"crisp-edges"},children:h("div",{className:"absolute bottom-1 left-1 right-1 h-0.5 bg-black/50 rounded-full overflow-hidden",children:h("div",{className:"h-full bg-primary",style:{width:`${i*100}%`}})})})})})});var Q6,yFt,vFt,P3;var yM=P(()=>{rn();iH();cFt();sH();gFt();Li();YA();le();Q6=z(re(),1),yFt=new Map,vFt=new Map,P3=Q6.memo(function({file:t,size:n=100,className:r,frameClassName:o,iconScale:a=1,squareMode:i=!1}){let s=`${t.id}-${n}`,{buildSidecarUrl:l}=e0(),[c,u]=Q6.useState(()=>yFt.get(s)||!1),[d,p]=Q6.useState(()=>vFt.get(s)||!1);Q6.useEffect(()=>{if(c)yFt.set(s,!0)},[c,s]),Q6.useEffect(()=>{if(d)vFt.set(s,!0)},[d,s]);let m=Stt(t)?.iconUrl,g=Zi(t)==="video",v=t.sidecars?.some((O)=>O.kind==="thumbstrip"),x=((O)=>{if(!t.content_identity?.uuid)return null;let B=t.sidecars.filter((N)=>N.kind==="thumb");if(B.length===0)return null;let U=O<=400?O*0.6:O,D=B.toSorted((N,_)=>{let G=parseInt(N.variant.split("x")[0]?.replace(/\D/g,"")||"0"),Z=parseInt(_.variant.split("x")[0]?.replace(/\D/g,"")||"0"),q=N.variant.match(/@(\d+)x/),H=_.variant.match(/@(\d+)x/),te=q?parseInt(q[1]):1,ie=H?parseInt(H[1]):1,j=(te-1)*100,oe=(ie-1)*100;return Math.abs(G-U)+j-(Math.abs(Z-U)+oe)})[0];return l(t.content_identity.uuid,D.kind,D.variant,D.format)})(n),A=Zi(t),w=Ctt(t),C=m||my(w,!0,t.extension,t.kind==="Directory"),E=my("Document",!0,null,!1),T=C===E,I=M5t(t.extension,t.name),k=I?lFt[I]:null,L=k&&t.kind==="File"&&T&&(A==="code"||A==="document"||A==="config");return M("div",{className:pt("relative pointer-events-none flex shrink-0 grow-0 items-center justify-center",r),children:[h(vTe,{iconSrc:C,thumbnailSrc:x,beardedIconSrc:L?k:null,size:n,iconScale:a,frameClassName:o,thumbnailLoaded:c,thumbnailError:d,onThumbnailLoad:()=>u(!0),onThumbnailError:()=>p(!0)}),g&&v&&c&&h(hFt,{file:t,size:n,squareMode:i})]})})});function Ls(e){if(e===null)return"0 B";let t=typeof e==="bigint"?Number(e):e;if(t===0)return"0 B";let n=1024,r=["B","KB","MB","GB","TB"],o=Math.floor(Math.log(t)/Math.log(n));return Math.round(t/Math.pow(n,o))+" "+r[o]}function nie(e){let t=typeof e==="string"?new Date(e):e,r=new Date().getTime()-t.getTime(),o=Math.floor(r/1000),a=Math.floor(o/60),i=Math.floor(a/60),s=Math.floor(i/24);if(s>7)return t.toLocaleDateString();if(s>0)return`${s}d ago`;if(i>0)return`${i}h ago`;if(a>0)return`${a}m ago`;return"Just now"}function bFt(e){if("Physical"in e){let{device_slug:t,path:n}=e.Physical;return`local://${t}${n}`}if("Cloud"in e){let{service:t,identifier:n,path:r}=e.Cloud;return`${t.toLowerCase()}://${n}/${r}`}if("Content"in e){let{content_id:t}=e.Content;return`content://${t}`}return""}var hy=()=>{};function CTe({size:e=16,className:t,label:n="Loading"}){let r=e<=16?2:e<=24?3:4,o=(e-r)/2,a=2*Math.PI*o;return h("span",{role:"progressbar","aria-label":n,className:Ve("m3-circular-indicator inline-flex shrink-0 text-primary",t),style:{width:e,height:e},children:h("svg",{width:e,height:e,viewBox:`0 0 ${e} ${e}`,className:"animate-spin","aria-hidden":"true",children:h("circle",{cx:e/2,cy:e/2,r:o,fill:"none",stroke:"currentColor",strokeWidth:r,strokeLinecap:"round",strokeDasharray:`${a*0.7} ${a}`})})})}function QFt({tone:e,icon:t,children:n,className:r}){return M("span",{className:Ve("inline-flex h-6 shrink-0 items-center gap-1 rounded-small px-2 text-label-medium",ZKn[e],r),children:[t,n]})}var zg="outline-none focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2",ZFt,ZKn;var cH=P(()=>{rs();rn();le();ZFt={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1,transition:{duration:mn.medium2,ease:Kt.emphasizedDecelerate}},exit:{height:0,opacity:0,transition:{duration:mn.short4,ease:Kt.emphasizedAccelerate}}};ZKn={primary:"bg-primary-container text-on-primary-container",success:"bg-success-container text-on-success-container",error:"bg-error-container text-on-error-container",warning:"bg-warning-container text-on-warning-container",neutral:"border border-outline-variant text-on-surface-variant"}});var QKn,aie,XKn,WKn,YKn,KKn,XFt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),WFt=(e,t)=>{let n={};for(var r in e)aie(n,r,{get:e[r],enumerable:!0});if(t)aie(n,Symbol.toStringTag,{value:"Module"});return n},JKn=(e,t,n,r)=>{if(t&&typeof t==="object"||typeof t==="function"){for(var o=WKn(t),a=0,i=o.length,s;at[l]).bind(null,s),enumerable:!(r=XKn(t,s))||r.enumerable})}return e},YFt=(e,t,n)=>(n=e!=null?QKn(YKn(e)):{},JKn(t||!e||!e.__esModule?aie(n,"default",{value:e,enumerable:!0}):n,e));var KFt=P(()=>{QKn=Object.create,aie=Object.defineProperty,XKn=Object.getOwnPropertyDescriptor,WKn=Object.getOwnPropertyNames,YKn=Object.getPrototypeOf,KKn=Object.prototype.hasOwnProperty});function JFt(e){return typeof e==="string"&&jKn.has(e.replace(/#$/,""))}var jKn;var ETe=P(()=>{jKn=new Set(["https://json-schema.org/draft/2019-09/schema","http://json-schema.org/draft/2019-09/schema"])});var jFt=P(()=>{pEe();pEe()});var AM=P(()=>{jFt()});var iie="2025-11-25",sie,lie="io.modelcontextprotocol/related-task",mI="io.modelcontextprotocol/protocolVersion",wM="io.modelcontextprotocol/clientInfo",Y6="io.modelcontextprotocol/serverInfo",hI="io.modelcontextprotocol/clientCapabilities",cie="io.modelcontextprotocol/subscriptionId",SM="io.modelcontextprotocol/logLevel",gI="2.0",M3,ql,uie,CM,EM,uH,dH,IM,Fp,K6,Zl,gm,Df,TM,Ql,q2,kM,RM,yI,vI,bI,die,J6,pH,PM,fH,D3,dx,px,$Kn,eJn,pie,fie,mH,hH,gH,MM,yH,vH,bH,DM,LM,xH,AH,BM,wH,L3,B3,OM,FM,kTe,UM,O3,fx,NM,SH,CH,EH,IH,TH,xI,kH,RH,PH,MH,DH,LH,BH,OH,zM,FH,UH,NH,zH,_H,HH,VH,GH,qH,ZH,QH,XH,WH,YH,AI,wI,SI,KH,CI,EI,mx,JH,jH,$H,eV,tV,j6,nV,rV,$6,mie,oV,aV,iV,hie,_M,sV,lV,cV,II,uV,dV,pV,fV,mV,W6,hV,gV,yV,vV,bV,HM,TI,kI,VM,GM,qM,xV,ZM,QM,AV,wV,XM,RI,SV,CV,EV,IV,TV,kV,RV,PV,MV,DV,LV,BV,OV,FV,UV,gie,NV,F3,yie,zV,vie,bie,xie,Aie,wie,Sie,Cie,Eie,Iie,Tie,kie,Rie,Pie,Mie,Die,Op,_V,WM,HV,VV,GV,qV,ZV,TTe,QV,XV,WV,Lie,Bie;var RTe=P(()=>{AM();sie=[iie,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],M3=w_(()=>Jt([Q(),Pt(),Bt(),w3(),Wt(Q(),M3),je(M3)])),ql=Wt(Q(),M3),uie=je(M3),CM=Jt([Q(),Pt().int()]),EM=Q(),uH=Te({ttl:Pt().optional()}),dH=Te({taskId:Q()}),IM=wt({progressToken:CM.optional(),[lie]:dH.optional()}),Fp=Te({_meta:IM.optional()}),K6=Fp.extend({task:uH.optional()}),Zl=Te({method:Q(),params:Fp.loose().optional()}),gm=Te({_meta:IM.optional()}),Df=Te({method:Q(),params:gm.loose().optional()}),TM=wt({get[Y6](){return px.optional().catch(void 0)}}),Ql=wt({_meta:TM.optional()}),q2=Jt([Q(),Pt().int()]),kM=Te({jsonrpc:Ce(gI),id:q2,...Zl.shape}).strict(),RM=Te({jsonrpc:Ce(gI),...Df.shape}).strict(),yI=Te({jsonrpc:Ce(gI),id:q2,result:Ql}).strict(),vI=Te({jsonrpc:Ce(gI),id:q2.optional(),error:Te({code:Pt().int(),message:Q(),data:Sn().optional()})}).strict(),bI=Jt([kM,RM,yI,vI]),die=Jt([yI,vI]),J6=Ql.strict(),pH=gm.extend({requestId:q2.optional(),reason:Q().optional()}),PM=Df.extend({method:Ce("notifications/cancelled"),params:pH}),fH=Te({src:Q(),mimeType:Q().optional(),sizes:je(Q()).optional(),theme:tr(["light","dark"]).optional()}),D3=Te({icons:je(fH).optional()}),dx=Te({name:Q(),title:Q().optional()}),px=dx.extend({...dx.shape,...D3.shape,version:Q(),websiteUrl:Q().optional(),description:Q().optional()}),$Kn=cy(Te({applyDefaults:Bt().optional()}),ql),eJn=ax((e)=>{if(e&&typeof e==="object"&&!Array.isArray(e)&&Object.keys(e).length===0)return{form:{}};return e},cy(Te({form:$Kn.optional(),url:ql.optional()}),ql.optional())),pie=wt({list:ql.optional(),cancel:ql.optional(),requests:wt({sampling:wt({createMessage:ql.optional()}).optional(),elicitation:wt({create:ql.optional()}).optional()}).optional()}),fie=wt({list:ql.optional(),cancel:ql.optional(),requests:wt({tools:wt({call:ql.optional()}).optional()}).optional()}),mH=Te({experimental:Wt(Q(),ql).optional(),sampling:Te({context:ql.optional(),tools:ql.optional()}).optional(),elicitation:eJn.optional(),roots:Te({listChanged:Bt().optional()}).optional(),tasks:pie.optional(),extensions:Wt(Q(),ql).optional()}),hH=Fp.extend({protocolVersion:Q(),capabilities:mH,clientInfo:px}),gH=Zl.extend({method:Ce("initialize"),params:hH}),MM=Te({experimental:Wt(Q(),ql).optional(),logging:ql.optional(),completions:ql.optional(),prompts:Te({listChanged:Bt().optional()}).optional(),resources:Te({subscribe:Bt().optional(),listChanged:Bt().optional()}).optional(),tools:Te({listChanged:Bt().optional()}).optional(),tasks:fie.optional(),extensions:Wt(Q(),ql).optional()}),yH=Ql.extend({protocolVersion:Q(),capabilities:MM,serverInfo:px,instructions:Q().optional()}),vH=Df.extend({method:Ce("notifications/initialized"),params:gm.optional()}),bH=Zl.extend({method:Ce("server/discover"),params:Fp.optional()}),DM=Ql.extend({supportedVersions:je(Q()),capabilities:MM,instructions:Q().optional()}),LM=Zl.extend({method:Ce("ping"),params:Fp.optional()}),xH=Te({progress:Pt(),total:Rn(Pt()),message:Rn(Q())}),AH=Te({...gm.shape,...xH.shape,progressToken:CM}),BM=Df.extend({method:Ce("notifications/progress"),params:AH}),wH=Fp.extend({cursor:EM.optional()}),L3=Zl.extend({params:wH.optional()}),B3=Ql.extend({nextCursor:EM.optional()}),OM=Te({uri:Q(),mimeType:Rn(Q()),_meta:Wt(Q(),Sn()).optional()}),FM=OM.extend({text:Q()}),kTe=Q().refine((e)=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),UM=OM.extend({blob:kTe}),O3=tr(["user","assistant"]),fx=Te({audience:je(O3).optional(),priority:Pt().min(0).max(1).optional(),lastModified:S_({offset:!0}).optional()}),NM=Te({...dx.shape,...D3.shape,uri:Q(),description:Rn(Q()),mimeType:Rn(Q()),size:Rn(Pt()),annotations:fx.optional(),_meta:Rn(wt({}))}),SH=Te({...dx.shape,...D3.shape,uriTemplate:Q(),description:Rn(Q()),mimeType:Rn(Q()),annotations:fx.optional(),_meta:Rn(wt({}))}),CH=L3.extend({method:Ce("resources/list")}),EH=B3.extend({resources:je(NM)}),IH=L3.extend({method:Ce("resources/templates/list")}),TH=B3.extend({resourceTemplates:je(SH)}),xI=Fp.extend({uri:Q()}),kH=xI,RH=Zl.extend({method:Ce("resources/read"),params:kH}),PH=Ql.extend({contents:je(Jt([FM,UM]))}),MH=Df.extend({method:Ce("notifications/resources/list_changed"),params:gm.optional()}),DH=xI,LH=Zl.extend({method:Ce("resources/subscribe"),params:DH}),BH=xI,OH=Zl.extend({method:Ce("resources/unsubscribe"),params:BH}),zM=Te({toolsListChanged:Bt().optional(),promptsListChanged:Bt().optional(),resourcesListChanged:Bt().optional(),resourceSubscriptions:je(Q()).optional()}),FH=Fp.extend({notifications:zM}),UH=Zl.extend({method:Ce("subscriptions/listen"),params:FH}),NH=gm.extend({notifications:zM}),zH=Df.extend({method:Ce("notifications/subscriptions/acknowledged"),params:NH}),_H=TM.extend({[cie]:q2}),HH=Ql.extend({_meta:_H}),VH=gm.extend({uri:Q()}),GH=Df.extend({method:Ce("notifications/resources/updated"),params:VH}),qH=Te({name:Q(),description:Rn(Q()),required:Rn(Bt())}),ZH=Te({...dx.shape,...D3.shape,description:Rn(Q()),arguments:Rn(je(qH)),_meta:Rn(wt({}))}),QH=L3.extend({method:Ce("prompts/list")}),XH=B3.extend({prompts:je(ZH)}),WH=Fp.extend({name:Q(),arguments:Wt(Q(),Q()).optional()}),YH=Zl.extend({method:Ce("prompts/get"),params:WH}),AI=Te({type:Ce("text"),text:Q(),annotations:fx.optional(),_meta:Wt(Q(),Sn()).optional()}),wI=Te({type:Ce("image"),data:kTe,mimeType:Q(),annotations:fx.optional(),_meta:Wt(Q(),Sn()).optional()}),SI=Te({type:Ce("audio"),data:kTe,mimeType:Q(),annotations:fx.optional(),_meta:Wt(Q(),Sn()).optional()}),KH=Te({type:Ce("tool_use"),name:Q(),id:Q(),input:Wt(Q(),Sn()),_meta:Wt(Q(),Sn()).optional()}),CI=Te({type:Ce("resource"),resource:Jt([FM,UM]),annotations:fx.optional(),_meta:Wt(Q(),Sn()).optional()}),EI=NM.extend({type:Ce("resource_link")}),mx=Jt([AI,wI,SI,EI,CI]),JH=Te({role:O3,content:mx}),jH=Ql.extend({description:Q().optional(),messages:je(JH)}),$H=Df.extend({method:Ce("notifications/prompts/list_changed"),params:gm.optional()}),eV=Te({title:Q().optional(),readOnlyHint:Bt().optional(),destructiveHint:Bt().optional(),idempotentHint:Bt().optional(),openWorldHint:Bt().optional()}),tV=Te({taskSupport:tr(["required","optional","forbidden"]).optional()}),j6=Te({...dx.shape,...D3.shape,description:Q().optional(),inputSchema:Te({type:Ce("object"),properties:Wt(Q(),M3).optional(),required:je(Q()).optional()}).catchall(Sn()),outputSchema:wt({$schema:Q().optional()}).optional(),annotations:eV.optional(),execution:tV.optional(),_meta:Wt(Q(),Sn()).optional()}),nV=L3.extend({method:Ce("tools/list")}),rV=B3.extend({tools:je(j6)}),$6=Ql.extend({content:je(mx).default([]),structuredContent:Sn().optional(),isError:Bt().optional()}),mie=$6.or(Ql.extend({toolResult:Sn()})),oV=K6.extend({name:Q(),arguments:Wt(Q(),Sn()).optional()}),aV=Zl.extend({method:Ce("tools/call"),params:oV}),iV=Df.extend({method:Ce("notifications/tools/list_changed"),params:gm.optional()}),hie=Te({autoRefresh:Bt().default(!0),debounceMs:Pt().int().nonnegative().default(300)}),_M=tr(["debug","info","notice","warning","error","critical","alert","emergency"]),sV=Fp.extend({level:_M}),lV=Zl.extend({method:Ce("logging/setLevel"),params:sV}),cV=gm.extend({level:_M,logger:Q().optional(),data:Sn()}),II=Df.extend({method:Ce("notifications/message"),params:cV}),uV=Te({name:Q().optional()}),dV=Te({hints:je(uV).optional(),costPriority:Pt().min(0).max(1).optional(),speedPriority:Pt().min(0).max(1).optional(),intelligencePriority:Pt().min(0).max(1).optional()}),pV=Te({mode:tr(["auto","required","none"]).optional()}),fV=Te({type:Ce("tool_result"),toolUseId:Q().describe("The unique identifier for the corresponding tool call."),content:je(mx),structuredContent:Sn().optional(),isError:Bt().optional(),_meta:Wt(Q(),Sn()).optional()}),mV=dm("type",[AI,wI,SI]),W6=dm("type",[AI,wI,SI,KH,fV]),hV=Te({role:O3,content:Jt([W6,je(W6)]),_meta:Wt(Q(),Sn()).optional()}),gV=K6.extend({messages:je(hV),modelPreferences:dV.optional(),systemPrompt:Q().optional(),includeContext:tr(["none","thisServer","allServers"]).optional(),temperature:Pt().optional(),maxTokens:Pt().int(),stopSequences:je(Q()).optional(),metadata:ql.optional(),tools:je(j6).optional(),toolChoice:pV.optional()}),yV=Zl.extend({method:Ce("sampling/createMessage"),params:gV}),vV=Ql.extend({model:Q(),stopReason:Rn(tr(["endTurn","stopSequence","maxTokens"]).or(Q())),role:O3,content:mV}),bV=Ql.extend({model:Q(),stopReason:Rn(tr(["endTurn","stopSequence","maxTokens","toolUse"]).or(Q())),role:O3,content:Jt([W6,je(W6)])}),HM=Te({type:Ce("boolean"),title:Q().optional(),description:Q().optional(),default:Bt().optional()}),TI=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),minLength:Pt().optional(),maxLength:Pt().optional(),format:tr(["email","uri","date","date-time"]).optional(),default:Q().optional()}),kI=Te({type:tr(["number","integer"]),title:Q().optional(),description:Q().optional(),minimum:Pt().optional(),maximum:Pt().optional(),default:Pt().optional()}),VM=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),default:Q().optional()}),GM=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),oneOf:je(Te({const:Q(),title:Q()})),default:Q().optional()}),qM=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),enumNames:je(Q()).optional(),default:Q().optional()}),xV=Jt([VM,GM]),ZM=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({type:Ce("string"),enum:je(Q())}),default:je(Q()).optional()}),QM=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({anyOf:je(Te({const:Q(),title:Q()}))}),default:je(Q()).optional()}),AV=Jt([ZM,QM]),wV=Jt([qM,xV,AV]),XM=Jt([wV,HM,TI,kI]),RI=K6.extend({mode:Ce("form").optional(),message:Q(),requestedSchema:Te({type:Ce("object"),properties:Wt(Q(),XM),required:je(Q()).optional()}).catchall(Sn())}),SV=K6.extend({mode:Ce("url"),message:Q(),elicitationId:Q(),url:Q().url()}),CV=Jt([RI,SV]),EV=Zl.extend({method:Ce("elicitation/create"),params:CV}),IV=gm.extend({elicitationId:Q()}),TV=Df.extend({method:Ce("notifications/elicitation/complete"),params:IV}),kV=Ql.extend({action:tr(["accept","decline","cancel"]),content:ax((e)=>e===null?void 0:e,Wt(Q(),Jt([Q(),Pt(),Bt(),je(Q())])).optional())}),RV=Te({type:Ce("ref/resource"),uri:Q()}),PV=Te({type:Ce("ref/prompt"),name:Q()}),MV=Fp.extend({ref:Jt([PV,RV]),argument:Te({name:Q(),value:Q()}),context:Te({arguments:Wt(Q(),Q()).optional()}).optional()}),DV=Zl.extend({method:Ce("completion/complete"),params:MV}),LV=Ql.extend({completion:wt({values:je(Q()).max(100),total:Rn(Pt().int()),hasMore:Rn(Bt())})}),BV=Te({uri:Q().startsWith("file://"),name:Q().optional(),_meta:Wt(Q(),Sn()).optional()}),OV=Zl.extend({method:Ce("roots/list"),params:Fp.optional()}),FV=Ql.extend({roots:je(BV)}),UV=Df.extend({method:Ce("notifications/roots/list_changed"),params:gm.optional()}),gie=wt({ttl:Pt().optional(),pollInterval:Pt().optional()}),NV=tr(["working","input_required","completed","failed","cancelled"]),F3=Te({taskId:Q(),status:NV,ttl:Jt([Pt(),w3()]),createdAt:Q(),lastUpdatedAt:Q(),pollInterval:Rn(Pt()),statusMessage:Rn(Q())}),yie=Ql.extend({task:F3}),zV=gm.merge(F3),vie=Df.extend({method:Ce("notifications/tasks/status"),params:zV}),bie=Zl.extend({method:Ce("tasks/get"),params:Fp.extend({taskId:Q()})}),xie=Ql.merge(F3),Aie=Zl.extend({method:Ce("tasks/result"),params:Fp.extend({taskId:Q()})}),wie=Ql.loose(),Sie=L3.extend({method:Ce("tasks/list")}),Cie=B3.extend({tasks:je(F3)}),Eie=Zl.extend({method:Ce("tasks/cancel"),params:Fp.extend({taskId:Q()})}),Iie=Ql.merge(F3),Tie=Jt([LM,gH,bH,DV,lV,YH,QH,CH,IH,RH,LH,OH,UH,aV,nV]),kie=Jt([PM,BM,vH,UV]),Rie=Jt([J6,vV,bV,kV,FV]),Pie=Jt([LM,yV,EV,OV]),Mie=Jt([PM,BM,II,GH,MH,iV,$H,zH,TV]),Die=Jt([J6,yH,DM,LV,jH,XH,EH,TH,PH,$6,rV,HH]),Op=Jre().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:Cyt.custom,message:"URL must be parseable",fatal:!0}),F5e}).refine((e)=>{let t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),_V=wt({resource:Q().url(),authorization_servers:je(Op).optional(),jwks_uri:Q().url().optional(),scopes_supported:je(Q()).optional(),bearer_methods_supported:je(Q()).optional(),resource_signing_alg_values_supported:je(Q()).optional(),resource_name:Q().optional(),resource_documentation:Q().optional(),resource_policy_uri:Q().url().optional(),resource_tos_uri:Q().url().optional(),tls_client_certificate_bound_access_tokens:Bt().optional(),authorization_details_types_supported:je(Q()).optional(),dpop_signing_alg_values_supported:je(Q()).optional(),dpop_bound_access_tokens_required:Bt().optional()}),WM=wt({issuer:Q(),authorization_endpoint:Op,token_endpoint:Op,registration_endpoint:Op.optional(),scopes_supported:je(Q()).optional(),response_types_supported:je(Q()),response_modes_supported:je(Q()).optional(),grant_types_supported:je(Q()).optional(),token_endpoint_auth_methods_supported:je(Q()).optional(),token_endpoint_auth_signing_alg_values_supported:je(Q()).optional(),service_documentation:Op.optional(),revocation_endpoint:Op.optional(),revocation_endpoint_auth_methods_supported:je(Q()).optional(),revocation_endpoint_auth_signing_alg_values_supported:je(Q()).optional(),introspection_endpoint:Q().optional(),introspection_endpoint_auth_methods_supported:je(Q()).optional(),introspection_endpoint_auth_signing_alg_values_supported:je(Q()).optional(),code_challenge_methods_supported:je(Q()).optional(),client_id_metadata_document_supported:Bt().optional(),authorization_response_iss_parameter_supported:Bt().optional().catch(void 0),dpop_signing_alg_values_supported:je(Q()).optional()}),HV=wt({issuer:Q(),authorization_endpoint:Op,token_endpoint:Op,userinfo_endpoint:Op.optional(),jwks_uri:Op,registration_endpoint:Op.optional(),scopes_supported:je(Q()).optional(),response_types_supported:je(Q()),response_modes_supported:je(Q()).optional(),grant_types_supported:je(Q()).optional(),acr_values_supported:je(Q()).optional(),subject_types_supported:je(Q()),id_token_signing_alg_values_supported:je(Q()),id_token_encryption_alg_values_supported:je(Q()).optional(),id_token_encryption_enc_values_supported:je(Q()).optional(),userinfo_signing_alg_values_supported:je(Q()).optional(),userinfo_encryption_alg_values_supported:je(Q()).optional(),userinfo_encryption_enc_values_supported:je(Q()).optional(),request_object_signing_alg_values_supported:je(Q()).optional(),request_object_encryption_alg_values_supported:je(Q()).optional(),request_object_encryption_enc_values_supported:je(Q()).optional(),token_endpoint_auth_methods_supported:je(Q()).optional(),token_endpoint_auth_signing_alg_values_supported:je(Q()).optional(),display_values_supported:je(Q()).optional(),claim_types_supported:je(Q()).optional(),claims_supported:je(Q()).optional(),service_documentation:Q().optional(),claims_locales_supported:je(Q()).optional(),ui_locales_supported:je(Q()).optional(),claims_parameter_supported:Bt().optional(),request_parameter_supported:Bt().optional(),request_uri_parameter_supported:Bt().optional(),require_request_uri_registration:Bt().optional(),op_policy_uri:Op.optional(),op_tos_uri:Op.optional(),client_id_metadata_document_supported:Bt().optional(),authorization_response_iss_parameter_supported:Bt().optional().catch(void 0)}),VV=Te({...HV.shape,...WM.pick({code_challenge_methods_supported:!0}).shape}),GV=Te({access_token:Q(),id_token:Q().optional(),token_type:Q(),expires_in:LUn().optional(),scope:Q().optional(),refresh_token:Q().optional(),issuer:Q().optional().catch(void 0)}).strip(),qV=Te({issued_token_type:Ce("urn:ietf:params:oauth:token-type:id-jag"),access_token:Q(),token_type:Q().optional(),expires_in:Pt().optional(),scope:Q().optional()}).strip(),ZV=Te({error:Q(),error_description:Q().optional(),error_uri:Q().optional()}),TTe=Op.optional().or(Ce("").transform(()=>{return})),QV=Te({redirect_uris:je(Op),token_endpoint_auth_method:Q().optional(),grant_types:je(Q()).optional(),response_types:je(Q()).optional(),application_type:Q().optional(),client_name:Q().optional(),client_uri:Op.optional(),logo_uri:TTe,scope:Q().optional(),contacts:je(Q()).optional(),tos_uri:TTe,policy_uri:Q().optional(),jwks_uri:Op.optional(),jwks:Gr().optional(),software_id:Q().optional(),software_version:Q().optional(),software_statement:Q().optional()}).strip(),XV=Te({client_id:Q(),client_secret:Q().optional(),client_id_issued_at:Pt().optional(),client_secret_expires_at:Pt().optional(),issuer:Q().optional().catch(void 0)}).strip(),WV=QV.merge(XV),Lie=Te({error:Q(),error_description:Q().optional()}).strip(),Bie=Te({token:Q(),token_type_hint:Q().optional()}).strip()});var lUt=P(()=>{RTe()});function PI(e,t){let n=new Set,r=t;while(typeof r==="function"){let o=r.mcpBrand;if(Object.prototype.hasOwnProperty.call(r,"mcpBrand")&&typeof o==="string")n.add(o);r=Object.getPrototypeOf(r)}if(n.size===0)return;Object.defineProperty(e,OTe,{value:n,enumerable:!1,configurable:!0})}function _g(e,t){try{if(typeof t==="object"&&t!==null&&Object.prototype.hasOwnProperty.call(e,"mcpBrand")&&typeof e.mcpBrand==="string"&&Object.prototype.hasOwnProperty.call(t,OTe)){let n=t[OTe];if(n&&typeof n.has==="function"&&n.has(e.mcpBrand))return!0}}catch{}return Function.prototype[Symbol.hasInstance].call(e,t)}function xUt(e){return e>=rJn}function AUt(e){let t=e.structuredContent;if(t===void 0)return e;if(!(typeof t!=="object"||t===null||Array.isArray(t)))return e;if(e.content?.some((n)=>n.type==="text")??!1)return e;return{...e,content:[...e.content??[],{type:"text",text:JSON.stringify(t)}]}}function oJn(e){if(e===null||typeof e!=="object"||Array.isArray(e)||e.content!==void 0||wUt.some((t)=>(t in e)))return e;return{...e,content:[]}}function aJn(){let e=w_(()=>Jt([Q(),Pt(),Bt(),w3(),Wt(Q(),e),je(e)])),t=Wt(Q(),e),n=Jt([Q(),Pt().int()]),r=Q(),o=Te({ttl:Pt().optional()}),a=Te({taskId:Q()}),i=wt({progressToken:n.optional(),"io.modelcontextprotocol/related-task":a.optional()}),s=Te({_meta:i.optional()}),l=s.extend({task:o.optional()}),c=Te({method:Q(),params:s.loose().optional()}),u=Te({_meta:i.optional()}),d=Te({method:Q(),params:u.loose().optional()}),p=wt({_meta:i.optional()}),f=Jt([Q(),Pt().int()]),m=p.strict(),g=u.extend({requestId:f.optional(),reason:Q().optional()}),v=d.extend({method:Ce("notifications/cancelled"),params:g}),y=Te({src:Q(),mimeType:Q().optional(),sizes:je(Q()).optional(),theme:tr(["light","dark"]).optional()}),x=Te({icons:je(y).optional()}),A=Te({name:Q(),title:Q().optional()}),w=A.extend({...A.shape,...x.shape,version:Q(),websiteUrl:Q().optional(),description:Q().optional()}),C=cy(Te({applyDefaults:Bt().optional()}),t),E=ax((Qs)=>{if(Qs&&typeof Qs==="object"&&!Array.isArray(Qs)&&Object.keys(Qs).length===0)return{form:{}};return Qs},cy(Te({form:C.optional(),url:t.optional()}),t.optional())),T=wt({list:t.optional(),cancel:t.optional(),requests:wt({sampling:wt({createMessage:t.optional()}).optional(),elicitation:wt({create:t.optional()}).optional()}).optional()}),I=wt({list:t.optional(),cancel:t.optional(),requests:wt({tools:wt({call:t.optional()}).optional()}).optional()}),k=Te({experimental:Wt(Q(),t).optional(),sampling:Te({context:t.optional(),tools:t.optional()}).optional(),elicitation:E.optional(),roots:Te({listChanged:Bt().optional()}).optional(),tasks:T.optional(),extensions:Wt(Q(),t).optional()}),L=s.extend({protocolVersion:Q(),capabilities:k,clientInfo:w}),O=c.extend({method:Ce("initialize"),params:L}),B=Te({experimental:Wt(Q(),t).optional(),logging:t.optional(),completions:t.optional(),prompts:Te({listChanged:Bt().optional()}).optional(),resources:Te({subscribe:Bt().optional(),listChanged:Bt().optional()}).optional(),tools:Te({listChanged:Bt().optional()}).optional(),tasks:I.optional(),extensions:Wt(Q(),t).optional()}),U=p.extend({protocolVersion:Q(),capabilities:B,serverInfo:w,instructions:Q().optional()}),D=d.extend({method:Ce("notifications/initialized"),params:u.optional()}),N=c.extend({method:Ce("ping"),params:s.optional()}),_=Te({progress:Pt(),total:Rn(Pt()),message:Rn(Q())}),G=Te({...u.shape,..._.shape,progressToken:n}),Z=d.extend({method:Ce("notifications/progress"),params:G}),q=s.extend({cursor:r.optional()}),H=c.extend({params:q.optional()}),te=p.extend({nextCursor:r.optional()}),ie=Te({uri:Q(),mimeType:Rn(Q()),_meta:Wt(Q(),Sn()).optional()}),j=ie.extend({text:Q()}),oe=Q().refine((Qs)=>{try{return atob(Qs),!0}catch{return!1}},{message:"Invalid Base64 string"}),J=ie.extend({blob:oe}),Y=tr(["user","assistant"]),ae=Te({audience:je(Y).optional(),priority:Pt().min(0).max(1).optional(),lastModified:S_({offset:!0}).optional()}),ne=Te({...A.shape,...x.shape,uri:Q(),description:Rn(Q()),mimeType:Rn(Q()),size:Rn(Pt()),annotations:ae.optional(),_meta:Rn(wt({}))}),Se=Te({...A.shape,...x.shape,uriTemplate:Q(),description:Rn(Q()),mimeType:Rn(Q()),annotations:ae.optional(),_meta:Rn(wt({}))}),fe=H.extend({method:Ce("resources/list")}),Ae=te.extend({resources:je(ne)}),Ee=H.extend({method:Ce("resources/templates/list")}),pe=te.extend({resourceTemplates:je(Se)}),Re=s.extend({uri:Q()}),Le=Re,Ne=c.extend({method:Ce("resources/read"),params:Le}),be=p.extend({contents:je(Jt([j,J]))}),ye=d.extend({method:Ce("notifications/resources/list_changed"),params:u.optional()}),ce=Re,ue=c.extend({method:Ce("resources/subscribe"),params:ce}),ke=Re,se=c.extend({method:Ce("resources/unsubscribe"),params:ke}),qe=u.extend({uri:Q()}),Me=d.extend({method:Ce("notifications/resources/updated"),params:qe}),Qe=Te({name:Q(),description:Rn(Q()),required:Rn(Bt())}),ee=Te({...A.shape,...x.shape,description:Rn(Q()),arguments:Rn(je(Qe)),_meta:Rn(wt({}))}),K=H.extend({method:Ce("prompts/list")}),we=te.extend({prompts:je(ee)}),ze=s.extend({name:Q(),arguments:Wt(Q(),Q()).optional()}),tt=c.extend({method:Ce("prompts/get"),params:ze}),Pe=Te({type:Ce("text"),text:Q(),annotations:ae.optional(),_meta:Wt(Q(),Sn()).optional()}),Ke=Te({type:Ce("image"),data:oe,mimeType:Q(),annotations:ae.optional(),_meta:Wt(Q(),Sn()).optional()}),Ue=Te({type:Ce("audio"),data:oe,mimeType:Q(),annotations:ae.optional(),_meta:Wt(Q(),Sn()).optional()}),Ze=Te({type:Ce("tool_use"),name:Q(),id:Q(),input:Wt(Q(),Sn()),_meta:Wt(Q(),Sn()).optional()}),ct=Te({type:Ce("resource"),resource:Jt([j,J]),annotations:ae.optional(),_meta:Wt(Q(),Sn()).optional()}),Rt=ne.extend({type:Ce("resource_link")}),de=Jt([Pe,Ke,Ue,Rt,ct]),ge=Te({role:Y,content:de}),Oe=p.extend({description:Q().optional(),messages:je(ge)}),Xe=d.extend({method:Ce("notifications/prompts/list_changed"),params:u.optional()}),$e=Te({title:Q().optional(),readOnlyHint:Bt().optional(),destructiveHint:Bt().optional(),idempotentHint:Bt().optional(),openWorldHint:Bt().optional()}),Ie=Te({taskSupport:tr(["required","optional","forbidden"]).optional()}),Ge=Te({...A.shape,...x.shape,description:Q().optional(),inputSchema:Te({type:Ce("object"),properties:Wt(Q(),e).optional(),required:je(Q()).optional()}).catchall(Sn()),outputSchema:Te({type:Ce("object"),properties:Wt(Q(),e).optional(),required:je(Q()).optional()}).catchall(Sn()).optional(),annotations:$e.optional(),execution:Ie.optional(),_meta:Wt(Q(),Sn()).optional()}),_e=H.extend({method:Ce("tools/list")}),nt=te.extend({tools:je(Ge)}),rt=p.extend({content:je(de),structuredContent:Wt(Q(),Sn()).optional(),isError:Bt().optional()}),ot=l.extend({name:Q(),arguments:Wt(Q(),Sn()).optional()}),At=c.extend({method:Ce("tools/call"),params:ot}),en=d.extend({method:Ce("notifications/tools/list_changed"),params:u.optional()}),Gt=tr(["debug","info","notice","warning","error","critical","alert","emergency"]),tn=s.extend({level:Gt}),Yt=c.extend({method:Ce("logging/setLevel"),params:tn}),Be=u.extend({level:Gt,logger:Q().optional(),data:Sn()}),Je=d.extend({method:Ce("notifications/message"),params:Be}),it=Te({name:Q().optional()}),Et=Te({hints:je(it).optional(),costPriority:Pt().min(0).max(1).optional(),speedPriority:Pt().min(0).max(1).optional(),intelligencePriority:Pt().min(0).max(1).optional()}),Mt=Te({mode:tr(["auto","required","none"]).optional()}),An=Te({type:Ce("tool_result"),toolUseId:Q().describe("The unique identifier for the corresponding tool call."),content:je(de),structuredContent:Te({}).loose().optional(),isError:Bt().optional(),_meta:Wt(Q(),Sn()).optional()}),Nn=dm("type",[Pe,Ke,Ue]),Tn=dm("type",[Pe,Ke,Ue,Ze,An]),Cn=Te({role:Y,content:Jt([Tn,je(Tn)]),_meta:Wt(Q(),Sn()).optional()}),er=l.extend({messages:je(Cn),modelPreferences:Et.optional(),systemPrompt:Q().optional(),includeContext:tr(["none","thisServer","allServers"]).optional(),temperature:Pt().optional(),maxTokens:Pt().int(),stopSequences:je(Q()).optional(),metadata:t.optional(),tools:je(Ge).optional(),toolChoice:Mt.optional()}),qn=c.extend({method:Ce("sampling/createMessage"),params:er}),Er=p.extend({model:Q(),stopReason:Rn(tr(["endTurn","stopSequence","maxTokens"]).or(Q())),role:Y,content:Nn}),ur=p.extend({model:Q(),stopReason:Rn(tr(["endTurn","stopSequence","maxTokens","toolUse"]).or(Q())),role:Y,content:Jt([Tn,je(Tn)])}),Yr=Te({type:Ce("boolean"),title:Q().optional(),description:Q().optional(),default:Bt().optional()}),mo=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),minLength:Pt().optional(),maxLength:Pt().optional(),format:tr(["email","uri","date","date-time"]).optional(),default:Q().optional()}),Zo=Te({type:tr(["number","integer"]),title:Q().optional(),description:Q().optional(),minimum:Pt().optional(),maximum:Pt().optional(),default:Pt().optional()}),Co=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),default:Q().optional()}),on=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),oneOf:je(Te({const:Q(),title:Q()})),default:Q().optional()}),li=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),enumNames:je(Q()).optional(),default:Q().optional()}),Pi=Jt([Co,on]),zi=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({type:Ce("string"),enum:je(Q())}),default:je(Q()).optional()}),ve=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({anyOf:je(Te({const:Q(),title:Q()}))}),default:je(Q()).optional()}),et=Jt([zi,ve]),ht=Jt([li,Pi,et]),st=Jt([ht,Yr,mo,Zo]),lt=l.extend({mode:Ce("form").optional(),message:Q(),requestedSchema:Te({type:Ce("object"),properties:Wt(Q(),st),required:je(Q()).optional()}).catchall(Sn())}),nn=l.extend({mode:Ce("url"),message:Q(),elicitationId:Q(),url:Q().url()}),dn=Jt([lt,nn]),fn=c.extend({method:Ce("elicitation/create"),params:dn}),wn=u.extend({elicitationId:Q()}),Qt=d.extend({method:Ce("notifications/elicitation/complete"),params:wn}),Qn=p.extend({action:tr(["accept","decline","cancel"]),content:ax((Qs)=>Qs===null?void 0:Qs,Wt(Q(),Jt([Q(),Pt(),Bt(),je(Q())])).optional())}),fr=Te({type:Ce("ref/resource"),uri:Q()}),hn=Te({type:Ce("ref/prompt"),name:Q()}),nr=s.extend({ref:Jt([hn,fr]),argument:Te({name:Q(),value:Q()}),context:Te({arguments:Wt(Q(),Q()).optional()}).optional()}),la=c.extend({method:Ce("completion/complete"),params:nr}),ir=p.extend({completion:wt({values:je(Q()).max(100),total:Rn(Pt().int()),hasMore:Rn(Bt())})}),Or=Te({uri:Q().startsWith("file://"),name:Q().optional(),_meta:Wt(Q(),Sn()).optional()}),_a=c.extend({method:Ce("roots/list"),params:s.optional()}),kn=p.extend({roots:je(Or)}),ps=d.extend({method:Ce("notifications/roots/list_changed"),params:u.optional()}),uo=wt({ttl:Pt().optional(),pollInterval:Pt().optional()}),fs=tr(["working","input_required","completed","failed","cancelled"]),ea=Te({taskId:Q(),status:fs,ttl:Jt([Pt(),w3()]),createdAt:Q(),lastUpdatedAt:Q(),pollInterval:Rn(Pt()),statusMessage:Rn(Q())}),no=p.extend({task:ea}),zd=u.merge(ea),ho=d.extend({method:Ce("notifications/tasks/status"),params:zd}),ta=c.extend({method:Ce("tasks/get"),params:s.extend({taskId:Q()})}),rc=p.merge(ea),ro=c.extend({method:Ce("tasks/result"),params:s.extend({taskId:Q()})}),al=p.loose(),$a=H.extend({method:Ce("tasks/list")}),Ha=te.extend({tasks:je(ea)}),Z0=c.extend({method:Ce("tasks/cancel"),params:s.extend({taskId:Q()})});return{JSONValueSchema:e,JSONObjectSchema:t,ProgressTokenSchema:n,CursorSchema:r,TaskMetadataSchema:o,RelatedTaskMetadataSchema:a,RequestMetaSchema:i,BaseRequestParamsSchema:s,TaskAugmentedRequestParamsSchema:l,RequestSchema:c,NotificationsParamsSchema:u,NotificationSchema:d,ResultSchema:p,RequestIdSchema:f,EmptyResultSchema:m,CancelledNotificationParamsSchema:g,CancelledNotificationSchema:v,IconSchema:y,IconsSchema:x,BaseMetadataSchema:A,ImplementationSchema:w,ClientTasksCapabilitySchema:T,ServerTasksCapabilitySchema:I,ClientCapabilitiesSchema:k,InitializeRequestParamsSchema:L,InitializeRequestSchema:O,ServerCapabilitiesSchema:B,InitializeResultSchema:U,InitializedNotificationSchema:D,PingRequestSchema:N,ProgressSchema:_,ProgressNotificationParamsSchema:G,ProgressNotificationSchema:Z,PaginatedRequestParamsSchema:q,PaginatedRequestSchema:H,PaginatedResultSchema:te,ResourceContentsSchema:ie,TextResourceContentsSchema:j,BlobResourceContentsSchema:J,RoleSchema:Y,AnnotationsSchema:ae,ResourceSchema:ne,ResourceTemplateSchema:Se,ListResourcesRequestSchema:fe,ListResourcesResultSchema:Ae,ListResourceTemplatesRequestSchema:Ee,ListResourceTemplatesResultSchema:pe,ResourceRequestParamsSchema:Re,ReadResourceRequestParamsSchema:Le,ReadResourceRequestSchema:Ne,ReadResourceResultSchema:be,ResourceListChangedNotificationSchema:ye,SubscribeRequestParamsSchema:ce,SubscribeRequestSchema:ue,UnsubscribeRequestParamsSchema:ke,UnsubscribeRequestSchema:se,ResourceUpdatedNotificationParamsSchema:qe,ResourceUpdatedNotificationSchema:Me,PromptArgumentSchema:Qe,PromptSchema:ee,ListPromptsRequestSchema:K,ListPromptsResultSchema:we,GetPromptRequestParamsSchema:ze,GetPromptRequestSchema:tt,TextContentSchema:Pe,ImageContentSchema:Ke,AudioContentSchema:Ue,ToolUseContentSchema:Ze,EmbeddedResourceSchema:ct,ResourceLinkSchema:Rt,ContentBlockSchema:de,PromptMessageSchema:ge,GetPromptResultSchema:Oe,PromptListChangedNotificationSchema:Xe,ToolAnnotationsSchema:$e,ToolExecutionSchema:Ie,ToolSchema:Ge,ListToolsRequestSchema:_e,ListToolsResultSchema:nt,CallToolResultSchema:rt,CallToolRequestParamsSchema:ot,CallToolRequestSchema:At,ToolListChangedNotificationSchema:en,LoggingLevelSchema:Gt,SetLevelRequestParamsSchema:tn,SetLevelRequestSchema:Yt,LoggingMessageNotificationParamsSchema:Be,LoggingMessageNotificationSchema:Je,ModelHintSchema:it,ModelPreferencesSchema:Et,ToolChoiceSchema:Mt,ToolResultContentSchema:An,SamplingContentSchema:Nn,SamplingMessageContentBlockSchema:Tn,SamplingMessageSchema:Cn,CreateMessageRequestParamsSchema:er,CreateMessageRequestSchema:qn,CreateMessageResultSchema:Er,CreateMessageResultWithToolsSchema:ur,BooleanSchemaSchema:Yr,StringSchemaSchema:mo,NumberSchemaSchema:Zo,UntitledSingleSelectEnumSchemaSchema:Co,TitledSingleSelectEnumSchemaSchema:on,LegacyTitledEnumSchemaSchema:li,SingleSelectEnumSchemaSchema:Pi,UntitledMultiSelectEnumSchemaSchema:zi,TitledMultiSelectEnumSchemaSchema:ve,MultiSelectEnumSchemaSchema:et,EnumSchemaSchema:ht,PrimitiveSchemaDefinitionSchema:st,ElicitRequestFormParamsSchema:lt,ElicitRequestURLParamsSchema:nn,ElicitRequestParamsSchema:dn,ElicitRequestSchema:fn,ElicitationCompleteNotificationParamsSchema:wn,ElicitationCompleteNotificationSchema:Qt,ElicitResultSchema:Qn,ResourceTemplateReferenceSchema:fr,PromptReferenceSchema:hn,CompleteRequestParamsSchema:nr,CompleteRequestSchema:la,CompleteResultSchema:ir,RootSchema:Or,ListRootsRequestSchema:_a,ListRootsResultSchema:kn,RootsListChangedNotificationSchema:ps,TaskCreationParamsSchema:uo,TaskStatusSchema:fs,TaskSchema:ea,CreateTaskResultSchema:no,TaskStatusNotificationParamsSchema:zd,TaskStatusNotificationSchema:ho,GetTaskRequestSchema:ta,GetTaskResultSchema:rc,GetTaskPayloadRequestSchema:ro,GetTaskPayloadResultSchema:al,ListTasksRequestSchema:$a,ListTasksResultSchema:Ha,CancelTaskRequestSchema:Z0,CancelTaskResultSchema:p.merge(ea),ClientRequestSchema:Jt([N,O,la,Yt,tt,K,fe,Ee,Ne,ue,se,At,_e,ta,ro,$a,Z0]),ClientNotificationSchema:Jt([v,Z,D,ps,ho]),ClientResultSchema:Jt([m,Er,ur,Qn,kn,rc,Ha,no]),ServerRequestSchema:Jt([N,qn,fn,_a,ta,ro,$a,Z0]),ServerNotificationSchema:Jt([v,Z,Je,Me,ye,en,Xe,ho,Qt]),ServerResultSchema:Jt([m,U,ir,Oe,we,Ae,pe,be,rt,nt,rc,Ha,no]),CallToolResultWireSchema:Sn().superRefine((Qs,TS)=>{if(typeof Qs!=="object"||Qs===null||Array.isArray(Qs)||Qs.content!==void 0)return;for(let xA of wUt)if(xA in Qs){TS.addIssue({code:"custom",message:`content is required when the body carries '${xA}' — another result family cannot default into an empty tools/call success`});return}}).transform(oJn).pipe(rt)}}function SUt(){return iJn??=aJn()}function CUt(e){return e.type!=="object"}function cUt(e){return e!==void 0&&!(typeof e==="string"&&e.startsWith("#"))}function cJn(e){let t=typeof e.$schema==="string"?e.$schema:void 0;if(cUt(e.$id))return{...t!==void 0&&{$schema:t},type:"object",properties:{result:e},required:["result"]};let n=JFt(e.$schema)&&e.$recursiveAnchor!==!0,r=(o,a)=>{if(Array.isArray(o))return o.map((l)=>r(l,!1));if(o===null||typeof o!=="object")return o;if(!a&&cUt(o.$id))return o;let i={},s=!1;for(let[l,c]of Object.entries(o))if(a)i[l]=r(c,!1);else if((l==="$ref"||l==="$dynamicRef")&&typeof c==="string")i[l]=c==="#"?"#/properties/result":c.startsWith("#/")?`#/properties/result${c.slice(1)}`:c;else if(l==="$recursiveRef"&&c==="#"&&n)s=!0;else if(sJn.has(l))i[l]=c;else if(lJn.has(l))i[l]=r(c,!0);else i[l]=r(c,!1);if(s)if("$ref"in i)i.allOf=[...Array.isArray(i.allOf)?i.allOf:[],{$ref:"#/properties/result"}];else i.$ref="#/properties/result";return i};return{...t!==void 0&&{$schema:t},type:"object",properties:{result:r(e,!1)},required:["result"]}}function HTe(){if(Oie)return Oie;let e=SUt();return Oie={requestSchemas:{ping:e.PingRequestSchema,initialize:e.InitializeRequestSchema,"completion/complete":e.CompleteRequestSchema,"logging/setLevel":e.SetLevelRequestSchema,"prompts/get":e.GetPromptRequestSchema,"prompts/list":e.ListPromptsRequestSchema,"resources/list":e.ListResourcesRequestSchema,"resources/templates/list":e.ListResourceTemplatesRequestSchema,"resources/read":e.ReadResourceRequestSchema,"resources/subscribe":e.SubscribeRequestSchema,"resources/unsubscribe":e.UnsubscribeRequestSchema,"tools/call":e.CallToolRequestSchema,"tools/list":e.ListToolsRequestSchema,"tasks/get":e.GetTaskRequestSchema,"tasks/result":e.GetTaskPayloadRequestSchema,"tasks/list":e.ListTasksRequestSchema,"tasks/cancel":e.CancelTaskRequestSchema,"sampling/createMessage":e.CreateMessageRequestSchema,"elicitation/create":e.ElicitRequestSchema,"roots/list":e.ListRootsRequestSchema},notificationSchemas:{"notifications/cancelled":e.CancelledNotificationSchema,"notifications/progress":e.ProgressNotificationSchema,"notifications/initialized":e.InitializedNotificationSchema,"notifications/roots/list_changed":e.RootsListChangedNotificationSchema,"notifications/tasks/status":e.TaskStatusNotificationSchema,"notifications/message":e.LoggingMessageNotificationSchema,"notifications/resources/updated":e.ResourceUpdatedNotificationSchema,"notifications/resources/list_changed":e.ResourceListChangedNotificationSchema,"notifications/tools/list_changed":e.ToolListChangedNotificationSchema,"notifications/prompts/list_changed":e.PromptListChangedNotificationSchema,"notifications/elicitation/complete":e.ElicitationCompleteNotificationSchema},resultSchemas:{ping:e.EmptyResultSchema,initialize:e.InitializeResultSchema,"completion/complete":e.CompleteResultSchema,"logging/setLevel":e.EmptyResultSchema,"prompts/get":e.GetPromptResultSchema,"prompts/list":e.ListPromptsResultSchema,"resources/list":e.ListResourcesResultSchema,"resources/templates/list":e.ListResourceTemplatesResultSchema,"resources/read":e.ReadResourceResultSchema,"resources/subscribe":e.EmptyResultSchema,"resources/unsubscribe":e.EmptyResultSchema,"tools/call":e.CallToolResultWireSchema,"tools/list":e.ListToolsResultSchema,"sampling/createMessage":e.CreateMessageResultWithToolsSchema,"elicitation/create":e.ElicitResultSchema,"roots/list":e.ListRootsResultSchema}},Oie}function TUt(e){return Object.prototype.hasOwnProperty.call(EUt,e)}function kUt(e){return Object.prototype.hasOwnProperty.call(IUt,e)}function dJn(e){return Object.prototype.hasOwnProperty.call(uJn,e)}function pJn(e){return dJn(e)?HTe().resultSchemas[e]:void 0}function fJn(e){return TUt(e)?HTe().requestSchemas[e]:void 0}function mJn(e){return kUt(e)?HTe().notificationSchemas[e]:void 0}function FTe(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function Fie(e,t){if(e===void 0)return{ok:!1,reason:"not-in-era"};let n=e.safeParse(t);return n.success?{ok:!0,value:n.data}:{ok:!1,reason:"invalid",message:String(n.error)}}function dUt(e){return FTe(e)&&FTe(e.outputSchema)&&CUt(e.outputSchema)}function pUt(e){return e}function hJn(){let e=w_(()=>Jt([Q(),Pt(),Bt(),w3(),Wt(Q(),e),je(e)])),t=Wt(Q(),e),n=Jt([Q(),Pt().int()]),r=Q(),o=Jt([Q(),Pt().int()]),a=tr(["user","assistant"]),i=tr(["debug","info","notice","warning","error","critical","alert","emergency"]),s=Q().refine((Ha)=>{try{return atob(Ha),!0}catch{return!1}},{message:"Invalid Base64 string"}),l=Te({ttl:Pt().optional()}),c=Te({taskId:Q()}),u=wt({progressToken:n.optional(),"io.modelcontextprotocol/related-task":c.optional()}),d=Te({_meta:u.optional()}),p=d.extend({task:l.optional()}),f=Te({_meta:u.optional()}),m=Te({method:Q(),params:f.loose().optional()}),g=Te({src:Q(),mimeType:Q().optional(),sizes:je(Q()).optional(),theme:tr(["light","dark"]).optional()}),v=Te({icons:je(g).optional()}),y=Te({name:Q(),title:Q().optional()}),x=y.extend({...y.shape,...v.shape,version:Q(),websiteUrl:Q().optional(),description:Q().optional()}),A=cy(Te({applyDefaults:Bt().optional()}),t),w=ax((Ha)=>{if(Ha&&typeof Ha==="object"&&!Array.isArray(Ha)&&Object.keys(Ha).length===0)return{form:{}};return Ha},cy(Te({form:A.optional(),url:t.optional()}),t.optional())),C=wt({list:t.optional(),cancel:t.optional(),requests:wt({sampling:wt({createMessage:t.optional()}).optional(),elicitation:wt({create:t.optional()}).optional()}).optional()}),E=wt({list:t.optional(),cancel:t.optional(),requests:wt({tools:wt({call:t.optional()}).optional()}).optional()}),T=Te({experimental:Wt(Q(),t).optional(),sampling:Te({context:t.optional(),tools:t.optional()}).optional(),elicitation:w.optional(),roots:Te({listChanged:Bt().optional()}).optional(),tasks:C.optional(),extensions:Wt(Q(),t).optional()}),I=Te({experimental:Wt(Q(),t).optional(),logging:t.optional(),completions:t.optional(),prompts:Te({listChanged:Bt().optional()}).optional(),resources:Te({subscribe:Bt().optional(),listChanged:Bt().optional()}).optional(),tools:Te({listChanged:Bt().optional()}).optional(),tasks:E.optional(),extensions:Wt(Q(),t).optional()}),k=Te({progress:Pt(),total:Rn(Pt()),message:Rn(Q())}),L=Te({...f.shape,...k.shape,progressToken:n}),O=m.extend({method:Ce("notifications/progress"),params:L}),B=f.extend({level:i,logger:Q().optional(),data:Sn()}),U=m.extend({method:Ce("notifications/message"),params:B}),D=Te({uri:Q(),mimeType:Rn(Q()),_meta:Wt(Q(),Sn()).optional()}),N=D.extend({text:Q()}),_=D.extend({blob:s}),G=Te({audience:je(a).optional(),priority:Pt().min(0).max(1).optional(),lastModified:S_({offset:!0}).optional()}),Z=Te({...y.shape,...v.shape,uri:Q(),description:Rn(Q()),mimeType:Rn(Q()),size:Rn(Pt()),annotations:G.optional(),_meta:Rn(wt({}))}),q=Te({...y.shape,...v.shape,uriTemplate:Q(),description:Rn(Q()),mimeType:Rn(Q()),annotations:G.optional(),_meta:Rn(wt({}))}),H=m.extend({method:Ce("notifications/resources/list_changed"),params:f.optional()}),te=f.extend({uri:Q()}),ie=m.extend({method:Ce("notifications/resources/updated"),params:te}),j=Te({name:Q(),description:Rn(Q()),required:Rn(Bt())}),oe=Te({...y.shape,...v.shape,description:Rn(Q()),arguments:Rn(je(j)),_meta:Rn(wt({}))}),J=m.extend({method:Ce("notifications/prompts/list_changed"),params:f.optional()}),Y=Te({type:Ce("text"),text:Q(),annotations:G.optional(),_meta:Wt(Q(),Sn()).optional()}),ae=Te({type:Ce("image"),data:s,mimeType:Q(),annotations:G.optional(),_meta:Wt(Q(),Sn()).optional()}),ne=Te({type:Ce("audio"),data:s,mimeType:Q(),annotations:G.optional(),_meta:Wt(Q(),Sn()).optional()}),Se=Te({type:Ce("tool_use"),name:Q(),id:Q(),input:Wt(Q(),Sn()),_meta:Wt(Q(),Sn()).optional()}),fe=Te({type:Ce("resource"),resource:Jt([N,_]),annotations:G.optional(),_meta:Wt(Q(),Sn()).optional()}),Ae=Z.extend({type:Ce("resource_link")}),Ee=Jt([Y,ae,ne,Ae,fe]),pe=Te({role:a,content:Ee}),Re=Te({title:Q().optional(),readOnlyHint:Bt().optional(),destructiveHint:Bt().optional(),idempotentHint:Bt().optional(),openWorldHint:Bt().optional()}),Le=m.extend({method:Ce("notifications/tools/list_changed"),params:f.optional()}),Ne=Te({name:Q().optional()}),be=Te({hints:je(Ne).optional(),costPriority:Pt().min(0).max(1).optional(),speedPriority:Pt().min(0).max(1).optional(),intelligencePriority:Pt().min(0).max(1).optional()}),ye=Te({mode:tr(["auto","required","none"]).optional()}),ce=Te({type:Ce("boolean"),title:Q().optional(),description:Q().optional(),default:Bt().optional()}),ue=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),minLength:Pt().optional(),maxLength:Pt().optional(),format:tr(["email","uri","date","date-time"]).optional(),default:Q().optional()}),ke=Te({type:tr(["number","integer"]),title:Q().optional(),description:Q().optional(),minimum:Pt().optional(),maximum:Pt().optional(),default:Pt().optional()}),se=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),default:Q().optional()}),qe=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),oneOf:je(Te({const:Q(),title:Q()})),default:Q().optional()}),Me=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),enumNames:je(Q()).optional(),default:Q().optional()}),Qe=Jt([se,qe]),ee=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({type:Ce("string"),enum:je(Q())}),default:je(Q()).optional()}),K=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({anyOf:je(Te({const:Q(),title:Q()}))}),default:je(Q()).optional()}),we=Jt([ee,K]),ze=Jt([Me,Qe,we]),tt=Jt([ze,ce,ue,ke]),Pe=p.extend({mode:Ce("form").optional(),message:Q(),requestedSchema:Te({type:Ce("object"),properties:Wt(Q(),tt),required:je(Q()).optional()}).catchall(Sn())}),Ke=Te({type:Ce("ref/resource"),uri:Q()}),Ue=Te({type:Ce("ref/prompt"),name:Q()}),Ze=Te({uri:Q().startsWith("file://"),name:Q().optional(),_meta:Wt(Q(),Sn()).optional()}),ct=T.shape,Rt=Te({experimental:ct.experimental,sampling:ct.sampling,elicitation:ct.elicitation,roots:ct.roots,extensions:ct.extensions}),de=I.shape,ge=Te({experimental:de.experimental,logging:de.logging,completions:de.completions,prompts:de.prompts,resources:de.resources,tools:de.tools,extensions:de.extensions}),Oe=wt({progressToken:n.optional(),[mI]:Q(),[wM]:x.optional(),[hI]:Rt,[SM]:i.optional()}),Xe=Te({...y.shape,...v.shape,description:Q().optional(),inputSchema:wt({$schema:Q().optional(),type:Ce("object")}),outputSchema:wt({$schema:Q().optional()}).optional(),annotations:Re.optional(),_meta:Wt(Q(),Sn()).optional()}),$e=Te({type:Ce("tool_result"),toolUseId:Q(),content:je(Ee),structuredContent:Sn().optional(),isError:Bt().optional(),_meta:Wt(Q(),Sn()).optional()}),Ie=Jt([Y,ae,ne,Se,$e]),Ge=Te({role:a,content:Jt([Ie,je(Ie)]),_meta:Wt(Q(),Sn()).optional()}),_e=Q(),nt=wt({[Y6]:x.optional().catch(void 0)}),rt=nt.optional();function ot(Ha){return wt({_meta:rt,resultType:_e.default("complete"),...Ha})}let At=ot({}),en=ot({nextCursor:r.optional()}),Gt=ot({content:je(Ee),structuredContent:Sn().optional(),isError:Bt().optional()}),tn=ot({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),tools:je(Xe),nextCursor:r.optional()}),Yt=ot({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),prompts:je(oe),nextCursor:r.optional()}),Be=ot({description:Q().optional(),messages:je(pe)}),Je=ot({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),resources:je(Z),nextCursor:r.optional()}),it=ot({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),resourceTemplates:je(q),nextCursor:r.optional()}),Et=ot({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),contents:je(Jt([N,_]))}),Mt=ot({completion:Te({values:je(Q()).max(100),total:Pt().int().optional(),hasMore:Bt().optional()}).loose()}),An=ot({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"])}),Nn=ot({ttlMs:Pt().int().min(0).catch(0),cacheScope:tr(["public","private"]).catch("private"),supportedVersions:je(Q()),capabilities:ge,instructions:Q().optional()}),Tn=Te({messages:je(Ge),modelPreferences:be.optional(),systemPrompt:Q().optional(),includeContext:tr(["none","thisServer","allServers"]).optional(),temperature:Pt().optional(),maxTokens:Pt().int(),stopSequences:je(Q()).optional(),metadata:t.optional(),tools:je(Xe).optional(),toolChoice:ye.optional()}),Cn=Te({method:Ce("sampling/createMessage"),params:Tn}),er=Te({method:Ce("roots/list"),params:Te({_meta:Wt(Q(),Sn()).optional()}).optional()}),qn=Te({...Ge.shape,model:Q(),stopReason:Q().optional()}),Er=Te({roots:je(Ze)}),ur=Te({action:tr(["accept","decline","cancel"]),content:Wt(Q(),Jt([Q(),Pt(),Bt(),je(Q())])).optional()}),Yr=Te({mode:Ce("url"),message:Q(),url:Q().url()}),mo=Jt([Pe,Yr]),Zo=Te({method:Ce("elicitation/create"),params:mo}),Co=Jt([Cn,er,Zo]),on=Jt([qn,Er,ur]),li=Wt(Q(),Co),Pi=Wt(Q(),on),zi=ot({inputRequests:li.optional(),requestState:Q().optional()}),ve={inputResponses:Pi.optional(),requestState:Q().optional()},et=Te({_meta:Oe,...ve}),ht=wt({progressToken:n.optional()});function st(Ha,Z0){return Te({method:Ce(Ha),params:Te({_meta:Oe,...Z0})})}function lt(Ha,Z0){return Te({method:Ce(Ha),params:Te({_meta:ht.optional(),...Z0}).optional()})}let nn={name:Q(),arguments:Wt(Q(),Sn()).optional(),...ve},dn={cursor:r.optional()},fn=st("tools/call",nn),wn=st("tools/list",dn),Qt=st("prompts/list",dn),Qn=st("prompts/get",{name:Q(),arguments:Wt(Q(),Q()).optional(),...ve}),fr=st("resources/list",dn),hn=st("resources/templates/list",dn),nr=st("resources/read",{uri:Q(),...ve}),la={ref:Jt([Ue,Ke]),argument:Te({name:Q(),value:Q()}),context:Te({arguments:Wt(Q(),Q()).optional()}).optional()},ir=st("completion/complete",la),Or=st("server/discover",{}),_a=Te({toolsListChanged:Bt().optional(),promptsListChanged:Bt().optional(),resourcesListChanged:Bt().optional(),resourceSubscriptions:je(Q()).optional()}),kn={notifications:_a},ps=st("subscriptions/listen",kn),uo=nt.extend({"io.modelcontextprotocol/subscriptionId":o}),fs=wt({_meta:uo,resultType:_e.default("complete")}),ea={"tools/call":lt("tools/call",nn),"tools/list":lt("tools/list",dn),"prompts/get":lt("prompts/get",{name:Q(),arguments:Wt(Q(),Q()).optional()}),"prompts/list":lt("prompts/list",dn),"resources/list":lt("resources/list",dn),"resources/templates/list":lt("resources/templates/list",dn),"resources/read":lt("resources/read",{uri:Q()}),"completion/complete":lt("completion/complete",la),"server/discover":lt("server/discover",{}),"subscriptions/listen":lt("subscriptions/listen",kn)};function no(Ha){return wt({_meta:rt,...Ha})}let zd={"tools/call":no({content:je(Ee),structuredContent:Sn().optional(),isError:Bt().optional()}),"tools/list":no({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),tools:je(Xe),nextCursor:r.optional()}),"prompts/get":no({description:Q().optional(),messages:je(pe)}),"prompts/list":no({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),prompts:je(oe),nextCursor:r.optional()}),"resources/list":no({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),resources:je(Z),nextCursor:r.optional()}),"resources/templates/list":no({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),resourceTemplates:je(q),nextCursor:r.optional()}),"resources/read":no({ttlMs:Pt().int().min(0),cacheScope:tr(["public","private"]),contents:je(Jt([N,_]))}),"completion/complete":no({completion:Te({values:je(Q()).max(100),total:Pt().int().optional(),hasMore:Bt().optional()}).loose()}),"server/discover":no({ttlMs:Pt().int().min(0).catch(0),cacheScope:tr(["public","private"]).catch("private"),supportedVersions:je(Q()),capabilities:ge,instructions:Q().optional()}),"subscriptions/listen":no({})},ho=wt({"io.modelcontextprotocol/subscriptionId":o.optional()}),ta=Te({method:Ce("notifications/subscriptions/acknowledged"),params:Te({_meta:ho.optional(),notifications:_a})}),rc=Te({_meta:ho.optional(),requestId:o,reason:Q().optional()}),ro=Te({method:Ce("notifications/cancelled"),params:rc}),al={"notifications/cancelled":ro,"notifications/progress":O,"notifications/message":U,"notifications/resources/updated":ie,"notifications/resources/list_changed":H,"notifications/tools/list_changed":Le,"notifications/prompts/list_changed":J,"notifications/subscriptions/acknowledged":ta},$a=(Ha)=>Te({jsonrpc:Ce("2.0"),id:Jt([Q(),Pt().int()]),result:Ha}).strict();return{JSONValueSchema:e,JSONObjectSchema:t,ProgressTokenSchema:n,CursorSchema:r,RequestIdSchema:o,RoleSchema:a,LoggingLevelSchema:i,TaskMetadataSchema:l,RelatedTaskMetadataSchema:c,RequestMetaSchema:u,BaseRequestParamsSchema:d,TaskAugmentedRequestParamsSchema:p,NotificationsParamsSchema:f,NotificationSchema:m,IconSchema:g,IconsSchema:v,BaseMetadataSchema:y,ImplementationSchema:x,ClientTasksCapabilitySchema:C,ServerTasksCapabilitySchema:E,ClientCapabilitiesSchema:T,ServerCapabilitiesSchema:I,ProgressSchema:k,ProgressNotificationParamsSchema:L,ProgressNotificationSchema:O,LoggingMessageNotificationParamsSchema:B,LoggingMessageNotificationSchema:U,ResourceContentsSchema:D,TextResourceContentsSchema:N,BlobResourceContentsSchema:_,AnnotationsSchema:G,ResourceSchema:Z,ResourceTemplateSchema:q,ResourceListChangedNotificationSchema:H,ResourceUpdatedNotificationParamsSchema:te,ResourceUpdatedNotificationSchema:ie,PromptArgumentSchema:j,PromptSchema:oe,PromptListChangedNotificationSchema:J,TextContentSchema:Y,ImageContentSchema:ae,AudioContentSchema:ne,ToolUseContentSchema:Se,EmbeddedResourceSchema:fe,ResourceLinkSchema:Ae,ContentBlockSchema:Ee,PromptMessageSchema:pe,ToolAnnotationsSchema:Re,ToolListChangedNotificationSchema:Le,ModelHintSchema:Ne,ModelPreferencesSchema:be,ToolChoiceSchema:ye,BooleanSchemaSchema:ce,StringSchemaSchema:ue,NumberSchemaSchema:ke,UntitledSingleSelectEnumSchemaSchema:se,TitledSingleSelectEnumSchemaSchema:qe,LegacyTitledEnumSchemaSchema:Me,SingleSelectEnumSchemaSchema:Qe,UntitledMultiSelectEnumSchemaSchema:ee,TitledMultiSelectEnumSchemaSchema:K,MultiSelectEnumSchemaSchema:we,EnumSchemaSchema:ze,PrimitiveSchemaDefinitionSchema:tt,ElicitRequestFormParamsSchema:Pe,ResourceTemplateReferenceSchema:Ke,PromptReferenceSchema:Ue,RootSchema:Ze,ClientCapabilities2026Schema:Rt,ServerCapabilities2026Schema:ge,RequestMetaEnvelopeSchema:Oe,ToolSchema:Xe,ToolResultContentSchema:$e,SamplingMessageContentBlockSchema:Ie,SamplingMessageSchema:Ge,ResultTypeSchema:_e,ResultMetaSchema:nt,ResultSchema:At,PaginatedResultSchema:en,CallToolResultSchema:Gt,ListToolsResultSchema:tn,ListPromptsResultSchema:Yt,GetPromptResultSchema:Be,ListResourcesResultSchema:Je,ListResourceTemplatesResultSchema:it,ReadResourceResultSchema:Et,CompleteResultSchema:Mt,CacheableResultSchema:An,DiscoverResultSchema:Nn,CreateMessageRequestParamsSchema:Tn,CreateMessageRequestSchema:Cn,ListRootsRequestSchema:er,CreateMessageResultSchema:qn,ListRootsResultSchema:Er,ElicitResultSchema:ur,ElicitRequestURLParamsSchema:Yr,ElicitRequestParamsSchema:mo,ElicitRequestSchema:Zo,InputRequestSchema:Co,InputResponseSchema:on,InputRequestsSchema:li,InputResponsesSchema:Pi,InputRequiredResultSchema:zi,InputResponseRequestParamsSchema:et,CallToolRequestSchema:fn,ListToolsRequestSchema:wn,ListPromptsRequestSchema:Qt,GetPromptRequestSchema:Qn,ListResourcesRequestSchema:fr,ListResourceTemplatesRequestSchema:hn,ReadResourceRequestSchema:nr,CompleteRequestSchema:ir,DiscoverRequestSchema:Or,SubscriptionFilterSchema:_a,SubscriptionsListenRequestSchema:ps,SubscriptionsListenResultMetaSchema:uo,SubscriptionsListenResultSchema:fs,dispatchRequestSchemas:ea,dispatchResultSchemas:zd,NotificationMetaSchema:ho,SubscriptionsAcknowledgedNotificationSchema:ta,CancelledNotificationParamsSchema:rc,CancelledNotificationSchema:ro,notificationSchemas2026:al,JSONRPCResultResponseSchema:$a(At),CallToolResultResponseSchema:$a(Jt([Gt,zi])),ListToolsResultResponseSchema:$a(tn),ListPromptsResultResponseSchema:$a(Yt),GetPromptResultResponseSchema:$a(Jt([Be,zi])),ListResourcesResultResponseSchema:$a(Je),ListResourceTemplatesResultResponseSchema:$a(it),ReadResourceResultResponseSchema:$a(Jt([Et,zi])),CompleteResultResponseSchema:$a(Mt),DiscoverResultResponseSchema:$a(Nn),SubscriptionsListenResultResponseSchema:$a(fs)}}function eC(){return gJn??=hJn()}function vJn(e){return yJn.includes(e)}function bJn(e){return e[GTe]}function RUt(e){return typeof e==="number"&&Number.isSafeInteger(e)&&e>=0}function PUt(e){return e==="public"||e==="private"}function SJn(e,t){let n=t.resultType;if(n===void 0)return{...t,resultType:"complete"};if(n==="complete")return t;if(wJn.includes(e))return t;throw new Bf(fa.InternalError,`Handler for ${e} returned resultType '${String(n)}', but results of ${e} only support 'complete' on protocol revision 2026-07-28`)}function CJn(e,t){let n=bJn(t);if(t.resultType!=="complete"||!vJn(e))return n===void 0?t:RJn(t);let r=t,o=RUt(r.ttlMs)?r.ttlMs:TJn(n),a=PUt(r.cacheScope)?r.cacheScope:kJn(n),i={...r,ttlMs:o,cacheScope:a};return delete i[GTe],i}function EJn(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function IJn(e,t){if(t===void 0)return e;let n=e._meta;if(n===void 0)return{...e,_meta:{[Y6]:t}};if(!EJn(n))return e;if(n[Y6]!==void 0)return e;return{...e,_meta:{...n,[Y6]:t}}}function TJn(e){return e!==void 0&&RUt(e.ttlMs)?e.ttlMs:xJn}function kJn(e){return e!==void 0&&PUt(e.cacheScope)?e.cacheScope:AJn}function RJn(e){let t={...e};return delete t[GTe],t}function OUt(){if(Uie)return Uie;let e=eC();return Uie={request:{"elicitation/create":Te({method:Ce("elicitation/create"),params:e.ElicitRequestParamsSchema}),"sampling/createMessage":Te({method:Ce("sampling/createMessage"),params:e.CreateMessageRequestParamsSchema}),"roots/list":Te({method:Ce("roots/list"),params:wt({}).optional()})},response:{"elicitation/create":e.ElicitResultSchema,"sampling/createMessage":e.CreateMessageResultSchema,"roots/list":e.ListRootsResultSchema}},Uie}function FUt(e){return PJn.includes(e)}function PTe(e){return FUt(e)?OUt().request[e]:void 0}function MJn(e){return FUt(e)?OUt().response[e]:void 0}function NUt(e){return Object.prototype.hasOwnProperty.call(qTe,e)}function zUt(e){return Object.prototype.hasOwnProperty.call(UUt,e)}function DJn(e){return Object.prototype.hasOwnProperty.call(qTe,e)}function LJn(e){return NUt(e)?eC().dispatchRequestSchemas[e]:void 0}function BJn(e){return DJn(e)?eC().dispatchResultSchemas[e]:void 0}function OJn(e){return zUt(e)?eC().notificationSchemas2026[e]:void 0}function JV(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function YV(e,t){if(e===void 0)return{ok:!1,reason:"not-in-era"};let n=e.safeParse(t);return n.success?{ok:!0,value:n.data}:{ok:!1,reason:"invalid",message:String(n.error)}}function NJn(e,t){let n=t,r=!1,o=()=>{if(!r)n={...n},r=!0;return n},a=t.tools;if(e==="tools/list"&&Array.isArray(a)&&a.some((s)=>JV(s)&&("execution"in s)))o().tools=a.map((s)=>{if(!JV(s)||!("execution"in s))return s;let l={...s};return delete l.execution,l});let i=t.capabilities;if(JV(i)&&"tasks"in i){let s={...i};delete s.tasks,o().capabilities=s}return n}function zJn(){if(Nie)return Nie;let e=eC();return Nie={"tools/call":e.CallToolResultSchema,"tools/list":e.ListToolsResultSchema,"prompts/get":e.GetPromptResultSchema,"prompts/list":e.ListPromptsResultSchema,"resources/list":e.ListResourcesResultSchema,"resources/templates/list":e.ListResourceTemplatesResultSchema,"resources/read":e.ReadResourceResultSchema,"completion/complete":e.CompleteResultSchema,"server/discover":e.DiscoverResultSchema},Nie}function $V(e){return e!==void 0&&xUt(e)?ZTe:VTe}function fUt(e){if(e.revision!==void 0)return $V(e.revision).era;return e.era==="modern"?ZTe.era:VTe.era}function MTe(e){return _Ut.some((t)=>t.hasRequestMethod(e))}function DTe(e){return _Ut.some((t)=>t.hasNotificationMethod(e))}function mUt(e){return e==="tasks/get"||e==="tasks/cancel"}function XTe(e,t){return Wre(e,t)}function KV(e){return new Set(e.flatMap((t)=>Object.keys(t.shape)))}function NTe(e){if(e==null)return!1;let t=typeof e;if(t!=="object"&&t!=="function")return!1;if(!("~standard"in e))return!1;return typeof e["~standard"]?.validate==="function"}function HJn(e,t="input"){let n=e["~standard"],r;if(n.jsonSchema)r=n.jsonSchema[t]({target:zTe});else if(n.vendor==="zod"){if(!("_zod"in e))throw Error("Schema appears to be from zod 3, which the SDK cannot convert to JSON Schema. Upgrade to zod >=4.2.0, or wrap your JSON Schema with fromJsonSchema().");if(!hUt)hUt=!0,console.warn("[mcp-sdk] Your zod version does not implement `~standard.jsonSchema` (added in zod 4.2.0). Falling back to z.toJSONSchema(). Upgrade to zod >=4.2.0 to silence this warning.");r=Qre(e,{target:zTe,io:t})}else throw Error(`Schema library "${n.vendor}" does not implement StandardJSONSchemaV1 (\`~standard.jsonSchema\`). Upgrade to a version that does, or wrap your JSON Schema with fromJsonSchema().`);if(t==="output"){if(r.type!==void 0)return r;return qUt(r)?{type:"object",...r}:r}if(r.type!==void 0&&r.type!=="object")throw Error(`MCP tool and prompt schemas must describe objects (got type: ${JSON.stringify(r.type)}). Wrap your schema in z.object({...}) or equivalent.`);return{type:"object",...r}}function qUt(e){if("properties"in e||"patternProperties"in e||"additionalProperties"in e||"required"in e)return!0;for(let t of["oneOf","anyOf","allOf"]){let n=e[t];if(Array.isArray(n)&&n.length>0)return n.every((r)=>r!==null&&typeof r==="object"&&(r.type==="object"||qUt(r)))}return!1}function VJn(e){if(!e.path?.length)return e.message;return`${e.path.map((t)=>String(typeof t==="object"?t.key:t)).join(".")}: ${e.message}`}async function LTe(e,t){let n=await e["~standard"].validate(t);if(n.issues&&n.issues.length>0)return{success:!1,error:n.issues.map((r)=>VJn(r)).join(", ")};return{success:!0,data:n.value}}function GJn(e){let t=Qre(e,{target:zTe,io:"input"});return typeof t.pattern==="string"?t.pattern:void 0}function ZJn(e){let t=qJn.exec(e),n=[void 0,-1,0];if(t)n.push(Number(t[1]));return[!1,!0].flatMap((r)=>[!1,!0].flatMap((o)=>n.map((a)=>S_({local:r,offset:o,precision:a}))))}function QJn(e,t){let n;switch(e){case"email":n=[pyt()];break;case"uri":n=[Jre()];break;case"date":n=[DUn()];break;case"date-time":n=ZJn(t);break}return new Set(n.map((r)=>GJn(r)).filter((r)=>r!==void 0))}function XJn(e,t,n){if(n!=="zod")return!0;return QJn(e,t).has(t)}function eG(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function WJn(e){try{return HJn(e,"input")}catch(t){let n=t instanceof Error?t.message:String(t);throw new Bf(fa.InvalidParams,`Elicitation requestedSchema must describe an object with flat primitive properties: ${n}`)}}function WTe(e){return YJn.has(e)||e.startsWith("x-")}function jJn(e,t,n,r){if(!eG(e))return e;let o=typeof e.type==="string"&&Object.hasOwn(gUt,e.type)?gUt[e.type]:void 0;if(o===void 0)return e;let a={};for(let[i,s]of Object.entries(e))if(o.has(i)||WTe(i))a[i]=s;else if(i==="pattern"&&e.type==="string"&&typeof e.format==="string"){if(!JJn.has(e.format))a[i]=s;else if(typeof s!=="string"||!XJn(e.format,s,n))r.push(`${t}.${i}`)}else r.push(`${t}.${i}`);return a}function $Jn(e,t){let n={},r=[];for(let[o,a]of Object.entries(e))if(o==="properties"&&eG(a))n[o]=Object.fromEntries(Object.entries(a).map(([i,s])=>[i,jJn(s,`properties.${i}`,t,r)]));else if(KJn.has(o))n[o]=a;else if(!WTe(o))r.push(o);if(r.length>0)throw new Bf(fa.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${r.join(", ")}`);return n}function ejn(e,t){if(!eG(e.properties))return t;let n=Object.entries(e.properties).filter(([,r])=>!XTe(XM,r).success).map(([r])=>`properties.${r}`);return n.length>0?n.join(", "):t}function _Te(e,t,n=""){if(Array.isArray(e)&&Array.isArray(t))return e.flatMap((r,o)=>_Te(r,t[o],`${n}[${o}]`));if(!eG(e)||!eG(t))return[];return Object.entries(e).flatMap(([r,o])=>{let a=n?`${n}.${r}`:r;if(!Object.prototype.hasOwnProperty.call(t,r))return WTe(r)?[]:[a];return _Te(o,t[r],a)})}function tjn(e){if(!NTe(e.requestedSchema))return{...e,mode:"form",requestedSchema:e.requestedSchema};let t=e.requestedSchema["~standard"].vendor,n=$Jn(WJn(e.requestedSchema),t),r=XTe(RI.shape.requestedSchema,n);if(!r.success)throw new Bf(fa.InvalidParams,`Elicitation requestedSchema only supports flat primitive properties (string, number, integer, boolean, and string enums): ${ejn(n,r.error.message)}`);let o=_Te(n,r.data);if(o.length>0)throw new Bf(fa.InvalidParams,`Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${o.join(", ")}`);let a=(r.data.required??[]).filter((i)=>!Object.prototype.hasOwnProperty.call(r.data.properties,i));if(a.length>0)throw new Bf(fa.InvalidParams,`Elicitation requestedSchema lists required properties that are not defined in properties: ${a.join(", ")}`);return{...e,mode:"form",requestedSchema:r.data}}function njn(e){let t=e.inputRequests!==void 0&&Object.keys(e.inputRequests).length>0,n=typeof e.requestState==="string";if(!t&&!n)throw TypeError("inputRequired() requires at least one of inputRequests (with at least one entry) or requestState (spec: every InputRequiredResult MUST include at least one of the two)");return{resultType:"input_required",...e.inputRequests!==void 0&&{inputRequests:e.inputRequests},...e.requestState!==void 0&&{requestState:e.requestState}}}function XUt(e,t){let n=e.slice(0,-6);ZUt[n]=t,QUt[n]=(r)=>t.safeParse(r).success}function sjn(e){switch(e){case"initialize":case"notifications/initialized":return $V(void 0);case"server/discover":return $V(QTe);default:return}}function yUt(e,t){let n=e.params;if(!BTe(n))return{message:e,lifted:{}};let r=n._meta,o=BTe(r)?ljn.filter((l)=>(l in r)):[],a=t==="request"?cjn.filter((l)=>(l in n)):[];if(o.length===0&&a.length===0)return{message:e,lifted:{}};let i={},s={...n};if(o.length>0&&BTe(r)){let l={},c={...r};for(let u of o)l[u]=r[u],delete c[u];if(i.envelope=l,Object.keys(c).length>0)s._meta=c;else delete s._meta}for(let l of a){if(l==="inputResponses")i.inputResponses=s[l];if(l==="requestState")i.requestState=s[l];delete s[l]}return{message:{...e,params:s},lifted:i}}function vUt(e,t){let n=e.validateResult(t,void 0);if(!n.ok&&n.reason==="not-in-era")return;return{"~standard":{version:1,vendor:"mcp-wire-codec",validate(r){let o=e.validateResult(t,r);if(o.ok)return{value:o.value};return{issues:[{message:o.reason==="invalid"?o.message:`not-in-era: ${t}`}]}}}}}function YUt(e){return()=>e}function BTe(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function bUt(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function pjn(e){let t={},n=[];if(!bUt(e))return{accepted:t,droppedKeys:n};for(let[r,o]of Object.entries(e)){if(!bUt(o)||"method"in o||"result"in o){n.push(r);continue}t[r]=o}return{accepted:t,droppedKeys:n}}function fjn(e){return{resultType:"input_required",inputRequests:e.inputRequests,...e.requestState!==void 0&&{requestState:e.requestState},...e._meta!==void 0&&{_meta:e._meta}}}var OTe,tJn,Lf,Rd,nJn,rJn="2026-07-28",wUt,iJn,sJn,lJn,EUt,IUt,uJn,Oie,Aoa,woa,uUt,VTe,gJn,yJn,GTe,fa,Bf,MUt,DUt,LUt,BUt,xJn=0,AJn="private",wJn,PJn,Uie,qTe,UUt,Soa,Coa,FJn,UJn,ZTe,Nie,QTe="2026-07-28",_Ut,_Jn,HUt=(e)=>kM.safeParse(e).success,VUt=(e)=>RM.safeParse(e).success,UTe=(e)=>yI.safeParse(e).success,GUt=(e)=>vI.safeParse(e).success,jV=-32020,Eoa,Ioa,hUt=!1,zTe="draft-2020-12",qJn,YJn,KJn,gUt,JJn,Toa,rjn,ojn,ZUt,QUt,ajn,ijn,WUt=60000,ljn,cjn,ujn,djn,YTe,mjn,koa;var KUt=P(()=>{KFt();ETe();lUt();AM();OTe=Symbol.for("mcp.sdk.errorBrands");tJn=class e extends Error{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.OAuthError"})}static[Symbol.hasInstance](t){return _g(this,t)}static isInstance(t){if(typeof this!=="function")throw TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return _g(this,t)}constructor(t,n,r){super(n);this.code=t,this.errorUri=r,this.name="OAuthError",PI(this,new.target)}toResponseObject(){let t={error:this.code,error_description:this.message};if(this.errorUri)t.error_uri=this.errorUri;return t}static fromResponse(t){return new e(t.error,t.error_description??t.error,t.error_uri)}},Lf=function(e){return e.NotConnected="NOT_CONNECTED",e.AlreadyConnected="ALREADY_CONNECTED",e.NotInitialized="NOT_INITIALIZED",e.CapabilityNotSupported="CAPABILITY_NOT_SUPPORTED",e.RequestTimeout="REQUEST_TIMEOUT",e.ConnectionClosed="CONNECTION_CLOSED",e.SendFailed="SEND_FAILED",e.InvalidResult="INVALID_RESULT",e.UnsupportedResultType="UNSUPPORTED_RESULT_TYPE",e.InputRequiredRoundsExceeded="INPUT_REQUIRED_ROUNDS_EXCEEDED",e.ListPaginationExceeded="LIST_PAGINATION_EXCEEDED",e.MethodNotSupportedByProtocolVersion="METHOD_NOT_SUPPORTED_BY_PROTOCOL_VERSION",e.EraNegotiationFailed="ERA_NEGOTIATION_FAILED",e.ClientHttpNotImplemented="CLIENT_HTTP_NOT_IMPLEMENTED",e.ClientHttpAuthentication="CLIENT_HTTP_AUTHENTICATION",e.ClientHttpForbidden="CLIENT_HTTP_FORBIDDEN",e.ClientHttpUnexpectedContent="CLIENT_HTTP_UNEXPECTED_CONTENT",e.ClientHttpFailedToOpenStream="CLIENT_HTTP_FAILED_TO_OPEN_STREAM",e.ClientHttpFailedToTerminateSession="CLIENT_HTTP_FAILED_TO_TERMINATE_SESSION",e}({}),Rd=class extends Error{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.SdkError"})}static[Symbol.hasInstance](e){return _g(this,e)}static isInstance(e){if(typeof this!=="function")throw TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return _g(this,e)}constructor(e,t,n,r){super(t,r);this.code=e,this.data=n,this.name="SdkError",PI(this,new.target)}},nJn=class extends Rd{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.SdkHttpError"})}constructor(e,t,n,r){super(e,t,n,r);this.name="SdkHttpError"}get status(){return this.data.status}get statusText(){return this.data.statusText}};wUt=["task","inputRequests","requestState"];sJn=new Set(["const","enum","default","examples"]),lJn=new Set(["properties","patternProperties","$defs","definitions","dependentSchemas","dependencies"]);EUt={ping:null,initialize:null,"completion/complete":null,"logging/setLevel":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"resources/subscribe":null,"resources/unsubscribe":null,"tools/call":null,"tools/list":null,"tasks/get":null,"tasks/result":null,"tasks/list":null,"tasks/cancel":null,"sampling/createMessage":null,"elicitation/create":null,"roots/list":null},IUt={"notifications/cancelled":null,"notifications/progress":null,"notifications/initialized":null,"notifications/roots/list_changed":null,"notifications/tasks/status":null,"notifications/message":null,"notifications/resources/updated":null,"notifications/resources/list_changed":null,"notifications/tools/list_changed":null,"notifications/prompts/list_changed":null,"notifications/elicitation/complete":null},uJn={ping:null,initialize:null,"completion/complete":null,"logging/setLevel":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"resources/subscribe":null,"resources/unsubscribe":null,"tools/call":null,"tools/list":null,"sampling/createMessage":null,"elicitation/create":null,"roots/list":null};Aoa=Object.keys(EUt),woa=Object.keys(IUt);uUt={ok:!1,reason:"not-in-era"};VTe={era:"2025-11-25",hasRequestMethod:TUt,hasNotificationMethod:kUt,validateRequest:(e,t)=>Fie(fJn(e),t),validateResult:(e,t)=>Fie(pJn(e),t),validateNotification:(e,t)=>Fie(mJn(e),t),hasInputRequestMethod:()=>!1,validateInputRequest:()=>uUt,validateInputResponse:()=>uUt,samplingResultVariant:(e,t)=>{let n=SUt();return Fie(e?n.CreateMessageResultWithToolsSchema:n.CreateMessageResultSchema,t)},outboundEnvelope:(e)=>{return},validateEnvelopeMeta:(e)=>[],projectCallToolResult(e,t){let n=AUt(e),r=n.structuredContent;if(r===void 0)return n;let o=typeof r!=="object"||r===null||Array.isArray(r),a=t!==void 0&&CUt(t);if(!o&&!a)return n;return{...n,structuredContent:{result:r}}},decodeResult(e,t){if(FTe(t)&&"resultType"in t){let n={...t};return delete n.resultType,{kind:"complete",result:pUt(n)}}return{kind:"complete",result:pUt(t)}},encodeResult(e,t){if(e!=="tools/list")return t;let n=t.tools;if(!Array.isArray(n)||!n.some((r)=>dUt(r)))return t;return{...t,tools:n.map((r)=>dUt(r)?{...r,outputSchema:cJn(r.outputSchema)}:r)}},encodeErrorCode:(e)=>e===-32002?-32602:e,checkInboundEnvelope:(e)=>{return}};yJn=["tools/list","prompts/list","resources/list","resources/templates/list","resources/read","server/discover"];GTe=Symbol("modelcontextprotocol.resultCacheHintFallback");fa=function(e){return e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.ResourceNotFound=-32002]="ResourceNotFound",e[e.MissingRequiredClientCapability=-32021]="MissingRequiredClientCapability",e[e.UnsupportedProtocolVersion=-32022]="UnsupportedProtocolVersion",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired",e}({}),Bf=class e extends Error{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.ProtocolError"})}static[Symbol.hasInstance](t){return _g(this,t)}static isInstance(t){if(typeof this!=="function")throw TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return _g(this,t)}constructor(t,n,r){super(n);this.code=t,this.data=r,this.name="ProtocolError",PI(this,new.target)}static fromError(t,n,r){if(t===fa.UrlElicitationRequired&&r){let o=r;if(o.elicitations)return new DUt(o.elicitations,n)}if(t===fa.UnsupportedProtocolVersion&&r){let o=r;if(Array.isArray(o.supported)&&typeof o.requested==="string")return new LUt({supported:o.supported,requested:o.requested},n)}if(t===fa.InvalidParams||t===fa.ResourceNotFound){let o=r;if(typeof o?.uri==="string"&&(t===fa.ResourceNotFound||Object.keys(o).length===1))return new MUt(o.uri,n)}if(t===fa.MissingRequiredClientCapability&&r){let o=r;if(o.requiredCapabilities!==null&&typeof o.requiredCapabilities==="object"&&!Array.isArray(o.requiredCapabilities))return new BUt({requiredCapabilities:o.requiredCapabilities},n)}return new e(t,n,r)}},MUt=class extends Bf{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.ResourceNotFoundError"})}constructor(e,t=`Resource not found: ${e}`){super(fa.InvalidParams,t,{uri:e})}get uri(){return this.data.uri}},DUt=class extends Bf{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.UrlElicitationRequiredError"})}constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(fa.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}},LUt=class extends Bf{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.UnsupportedProtocolVersionError"})}constructor(e,t=`Unsupported protocol version: ${e.requested}`){super(fa.UnsupportedProtocolVersion,t,e)}get supported(){return this.data.supported}get requested(){return this.data.requested}},BUt=class extends Bf{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.MissingRequiredClientCapabilityError"})}constructor(e,t=`Missing required client capabilities: ${Object.keys(e.requiredCapabilities).join(", ")}`){super(fa.MissingRequiredClientCapability,t,e)}get requiredCapabilities(){return this.data.requiredCapabilities}},wJn=["tools/call","prompts/get","resources/read"];PJn=["elicitation/create","sampling/createMessage","roots/list"];qTe={"tools/call":null,"tools/list":null,"prompts/get":null,"prompts/list":null,"resources/list":null,"resources/templates/list":null,"resources/read":null,"completion/complete":null,"server/discover":null,"subscriptions/listen":null},UUt={"notifications/cancelled":null,"notifications/progress":null,"notifications/message":null,"notifications/resources/updated":null,"notifications/resources/list_changed":null,"notifications/tools/list_changed":null,"notifications/prompts/list_changed":null,"notifications/subscriptions/acknowledged":null};Soa=Object.keys(qTe),Coa=Object.keys(UUt);FJn={ok:!1,reason:"not-in-era"},UJn=[mI,hI];ZTe={era:"2026-07-28",hasRequestMethod:NUt,hasNotificationMethod:zUt,hasInputRequestMethod:(e)=>PTe(e)!==void 0,validateRequest:(e,t)=>YV(LJn(e),t),validateResult:(e,t)=>YV(BJn(e),t),validateNotification:(e,t)=>YV(OJn(e),t),validateInputRequest:(e,t)=>YV(PTe(e),t),validateInputResponse:(e,t)=>YV(MJn(e),t),samplingResultVariant:()=>FJn,outboundEnvelope(e){return{[mI]:e.protocolVersion,[wM]:e.clientInfo,[hI]:e.clientCapabilities,...e.logLevel!==void 0&&{[SM]:e.logLevel}}},validateEnvelopeMeta(e){let t=[];for(let r of UJn)if(!(r in e))t.push({key:r,problem:"missing"});let n=eC().RequestMetaEnvelopeSchema.safeParse(e);if(!n.success)for(let r of n.error.issues){let o=r.path.map(String),a=o.length>0?o.join("."):"_meta";if(o.length===1&&t.some((i)=>i.key===a&&i.problem==="missing"))continue;t.push({key:a,problem:r.message})}return t},projectCallToolResult:(e)=>AUt(e),inputRequestSchema:PTe,decodeResult(e,t){if(!JV(t))return{kind:"invalid",error:new Rd(Lf.InvalidResult,`Invalid result for ${e}: not an object`,{method:e})};let n=t.resultType;if(n===void 0)return{kind:"invalid",error:new Rd(Lf.InvalidResult,`Invalid result for ${e}: missing required resultType — servers implementing protocol revision 2026-07-28 MUST include it (the absent-means-complete bridge applies only to earlier-revision servers)`,{method:e,violation:"missing-resultType"})};if(typeof n!=="string")return{kind:"invalid",error:new Rd(Lf.InvalidResult,`Invalid result for ${e}: non-string resultType`,{method:e,resultType:n})};if(n==="input_required"){let i=t.inputRequests,s=JV(i)?i:{},l=t.requestState,c=t._meta===void 0?void 0:eC().ResultMetaSchema.safeParse(t._meta),u=c?.success?c.data:void 0;if(Object.keys(s).length===0&&typeof l!=="string")return{kind:"invalid",error:new Rd(Lf.InvalidResult,`Invalid result for ${e}: input_required carries neither inputRequests nor requestState (every input_required result must include at least one of the two)`,{method:e,violation:"input-required-missing-both"})};return{kind:"input_required",inputRequests:s,...typeof l==="string"&&{requestState:l},...u!==void 0&&{_meta:u}}}if(n!=="complete")return{kind:"invalid",error:new Rd(Lf.UnsupportedResultType,`Unsupported result type '${n}' for ${e}`,{resultType:n,method:e})};let r=zJn(),o=Object.hasOwn(r,e)?r[e]:void 0;if(o!==void 0){let i=o.safeParse(t);if(!i.success)return{kind:"invalid",error:new Rd(Lf.InvalidResult,`Invalid result for ${e}: ${i.error}`,{method:e})}}let a={...t};return delete a.resultType,{kind:"complete",result:a}},encodeResult(e,t,n){return IJn(CJn(e,SJn(e,NJn(e,t))),n)},encodeErrorCode:(e)=>e===-32002?-32602:e,checkInboundEnvelope(e){if(e.envelope===void 0)return"Request is missing the required _meta envelope for protocol revision 2026-07-28 (io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientCapabilities)";let t=eC().RequestMetaEnvelopeSchema.safeParse(e.envelope);if(!t.success)return`Invalid _meta envelope for protocol revision 2026-07-28: ${t.error.issues.map((n)=>n.message).join("; ")}`}};_Ut=[VTe,ZTe],_Jn=WFt({AnnotationsSchema:()=>fx,AudioContentSchema:()=>SI,BaseMetadataSchema:()=>dx,BaseRequestParamsSchema:()=>Fp,BlobResourceContentsSchema:()=>UM,BooleanSchemaSchema:()=>HM,CallToolRequestParamsSchema:()=>oV,CallToolRequestSchema:()=>aV,CallToolResultSchema:()=>$6,CancelTaskRequestSchema:()=>Eie,CancelTaskResultSchema:()=>Iie,CancelledNotificationParamsSchema:()=>pH,CancelledNotificationSchema:()=>PM,ClientCapabilitiesSchema:()=>mH,ClientNotificationSchema:()=>kie,ClientRequestSchema:()=>Tie,ClientResultSchema:()=>Rie,ClientTasksCapabilitySchema:()=>pie,CompatibilityCallToolResultSchema:()=>mie,CompleteRequestParamsSchema:()=>MV,CompleteRequestSchema:()=>DV,CompleteResultSchema:()=>LV,ContentBlockSchema:()=>mx,CreateMessageRequestParamsSchema:()=>gV,CreateMessageRequestSchema:()=>yV,CreateMessageResultSchema:()=>vV,CreateMessageResultWithToolsSchema:()=>bV,CreateTaskResultSchema:()=>yie,CursorSchema:()=>EM,DiscoverRequestSchema:()=>bH,DiscoverResultSchema:()=>DM,ElicitRequestFormParamsSchema:()=>RI,ElicitRequestParamsSchema:()=>CV,ElicitRequestSchema:()=>EV,ElicitRequestURLParamsSchema:()=>SV,ElicitResultSchema:()=>kV,ElicitationCompleteNotificationParamsSchema:()=>IV,ElicitationCompleteNotificationSchema:()=>TV,EmbeddedResourceSchema:()=>CI,EmptyResultSchema:()=>J6,EnumSchemaSchema:()=>wV,GetPromptRequestParamsSchema:()=>WH,GetPromptRequestSchema:()=>YH,GetPromptResultSchema:()=>jH,GetTaskPayloadRequestSchema:()=>Aie,GetTaskPayloadResultSchema:()=>wie,GetTaskRequestSchema:()=>bie,GetTaskResultSchema:()=>xie,IconSchema:()=>fH,IconsSchema:()=>D3,ImageContentSchema:()=>wI,ImplementationSchema:()=>px,InitializeRequestParamsSchema:()=>hH,InitializeRequestSchema:()=>gH,InitializeResultSchema:()=>yH,InitializedNotificationSchema:()=>vH,JSONArraySchema:()=>uie,JSONObjectSchema:()=>ql,JSONRPCErrorResponseSchema:()=>vI,JSONRPCMessageSchema:()=>bI,JSONRPCNotificationSchema:()=>RM,JSONRPCRequestSchema:()=>kM,JSONRPCResponseSchema:()=>die,JSONRPCResultResponseSchema:()=>yI,JSONValueSchema:()=>M3,LegacyTitledEnumSchemaSchema:()=>qM,ListChangedOptionsBaseSchema:()=>hie,ListPromptsRequestSchema:()=>QH,ListPromptsResultSchema:()=>XH,ListResourceTemplatesRequestSchema:()=>IH,ListResourceTemplatesResultSchema:()=>TH,ListResourcesRequestSchema:()=>CH,ListResourcesResultSchema:()=>EH,ListRootsRequestSchema:()=>OV,ListRootsResultSchema:()=>FV,ListTasksRequestSchema:()=>Sie,ListTasksResultSchema:()=>Cie,ListToolsRequestSchema:()=>nV,ListToolsResultSchema:()=>rV,LoggingLevelSchema:()=>_M,LoggingMessageNotificationParamsSchema:()=>cV,LoggingMessageNotificationSchema:()=>II,ModelHintSchema:()=>uV,ModelPreferencesSchema:()=>dV,MultiSelectEnumSchemaSchema:()=>AV,NotificationSchema:()=>Df,NotificationsParamsSchema:()=>gm,NumberSchemaSchema:()=>kI,PaginatedRequestParamsSchema:()=>wH,PaginatedRequestSchema:()=>L3,PaginatedResultSchema:()=>B3,PingRequestSchema:()=>LM,PrimitiveSchemaDefinitionSchema:()=>XM,ProgressNotificationParamsSchema:()=>AH,ProgressNotificationSchema:()=>BM,ProgressSchema:()=>xH,ProgressTokenSchema:()=>CM,PromptArgumentSchema:()=>qH,PromptListChangedNotificationSchema:()=>$H,PromptMessageSchema:()=>JH,PromptReferenceSchema:()=>PV,PromptSchema:()=>ZH,ReadResourceRequestParamsSchema:()=>kH,ReadResourceRequestSchema:()=>RH,ReadResourceResultSchema:()=>PH,RelatedTaskMetadataSchema:()=>dH,RequestIdSchema:()=>q2,RequestMetaSchema:()=>IM,RequestSchema:()=>Zl,ResourceContentsSchema:()=>OM,ResourceLinkSchema:()=>EI,ResourceListChangedNotificationSchema:()=>MH,ResourceRequestParamsSchema:()=>xI,ResourceSchema:()=>NM,ResourceTemplateReferenceSchema:()=>RV,ResourceTemplateSchema:()=>SH,ResourceUpdatedNotificationParamsSchema:()=>VH,ResourceUpdatedNotificationSchema:()=>GH,ResultMetaObjectSchema:()=>TM,ResultSchema:()=>Ql,RoleSchema:()=>O3,RootSchema:()=>BV,RootsListChangedNotificationSchema:()=>UV,SamplingContentSchema:()=>mV,SamplingMessageContentBlockSchema:()=>W6,SamplingMessageSchema:()=>hV,ServerCapabilitiesSchema:()=>MM,ServerNotificationSchema:()=>Mie,ServerRequestSchema:()=>Pie,ServerResultSchema:()=>Die,ServerTasksCapabilitySchema:()=>fie,SetLevelRequestParamsSchema:()=>sV,SetLevelRequestSchema:()=>lV,SingleSelectEnumSchemaSchema:()=>xV,StringSchemaSchema:()=>TI,SubscribeRequestParamsSchema:()=>DH,SubscribeRequestSchema:()=>LH,SubscriptionFilterSchema:()=>zM,SubscriptionsAcknowledgedNotificationParamsSchema:()=>NH,SubscriptionsAcknowledgedNotificationSchema:()=>zH,SubscriptionsListenRequestParamsSchema:()=>FH,SubscriptionsListenRequestSchema:()=>UH,SubscriptionsListenResultMetaSchema:()=>_H,SubscriptionsListenResultSchema:()=>HH,TaskAugmentedRequestParamsSchema:()=>K6,TaskCreationParamsSchema:()=>gie,TaskMetadataSchema:()=>uH,TaskSchema:()=>F3,TaskStatusNotificationParamsSchema:()=>zV,TaskStatusNotificationSchema:()=>vie,TaskStatusSchema:()=>NV,TextContentSchema:()=>AI,TextResourceContentsSchema:()=>FM,TitledMultiSelectEnumSchemaSchema:()=>QM,TitledSingleSelectEnumSchemaSchema:()=>GM,ToolAnnotationsSchema:()=>eV,ToolChoiceSchema:()=>pV,ToolExecutionSchema:()=>tV,ToolListChangedNotificationSchema:()=>iV,ToolResultContentSchema:()=>fV,ToolSchema:()=>j6,ToolUseContentSchema:()=>KH,UnsubscribeRequestParamsSchema:()=>BH,UnsubscribeRequestSchema:()=>OH,UntitledMultiSelectEnumSchemaSchema:()=>ZM,UntitledSingleSelectEnumSchemaSchema:()=>VM}),Eoa=[{rung:"http-method",order:1,evaluatedAt:"edge",codes:[-32000],conformance:[],rationale:"The modern era is POST-only; GET/DELETE are body-less 2025-era session operations and are method-routed to legacy serving (405 when legacy serving is not configured), before any body is read."},{rung:"jsonrpc-shape",order:2,evaluatedAt:"edge",codes:[fa.InvalidRequest],conformance:["server-stateless"],rationale:"The body must be a JSON-RPC request or notification: posted responses and batch arrays containing a modern or invalid element are rejected before classification (element-wise batch rule); all-legacy arrays stay legacy traffic."},{rung:"era-classification",order:3,evaluatedAt:"edge",codes:[jV,fa.UnsupportedProtocolVersion],conformance:["server-stateless","http-header-validation","http-custom-header-server-validation"],rationale:"Body-primary era classification with the protocol-version header as a cross-check; a header/body disagreement is rejected with -32020 (HeaderMismatch), and an envelope-less request on a modern-only endpoint is answered with the unsupported-protocol-version error naming the supported revisions."},{rung:"envelope",order:4,evaluatedAt:"edge",codes:[fa.InvalidParams],conformance:["server-stateless"],rationale:"A present envelope claim with a malformed envelope — and a missing envelope on a request whose protocol-version header names a modern revision — is an invalid-params rejection naming the offending or missing key(s); never a silent fall back to legacy handling. This is the only place an invalid-params rejection maps to HTTP 400."},{rung:"method-registry",order:5,evaluatedAt:"dispatch",codes:[fa.MethodNotFound],conformance:["server-stateless"],rationale:"Method existence outranks parameter validity: a method absent from the negotiated revision’s registry (or with no handler installed) answers method-not-found before params or capabilities are looked at."},{rung:"request-params",order:6,evaluatedAt:"dispatch",codes:[fa.InvalidParams],conformance:[],rationale:"Per-method params validation; emitted in-band by the dispatch layer (HTTP 200), never via the ladder status table."},{rung:"standard-header-validation",order:7,evaluatedAt:"pre-dispatch",codes:[jV],conformance:["http-header-validation"],rationale:"SEP-2243 standard `MCP-Protocol-Version` / `Mcp-Method` / `Mcp-Name` headers — presence, sentinel decoding, and `Mcp-Name` ↔ body cross-check — are validated by the HTTP entry on a modern-classified request after the supported-revision gate and before dispatch. The spec requires `MCP-Protocol-Version` and `Mcp-Method` on every modern *request* POST (`Mcp-Name` only for the methods that mirror `params.name` / `params.uri` / `params.taskId`, see `MCP_NAME_HEADER_SOURCE`) and names them in that order, so a request missing several is answered by the earliest. Notification POSTs are exempt: the presence half runs on requests only, so a modern-enveloped notification is dispatched even with no standard headers at all. The classifier’s own header-mismatch cells (protocol-version, `Mcp-Method` mismatch) stay on the edge `era-classification` rung; this rung carries the entry-layer presence/`Mcp-Name` half — including the missing `MCP-Protocol-Version` cell, which cannot live on the edge rung without breaking body-primary classification. Evaluated before the capability gate, the factory call, and the `Mcp-Param-*` rung so a request that fails several rungs is answered by the standard-header rung first. The documented order (after method-registry 5 and request-params 6) is NOT the observed precedence: serveModern evaluates this rung immediately after the supported-revision gate, so a request that also fails a dispatch rung is answered here before the dispatch rungs (5–6) are consulted."},{rung:"client-capabilities",order:8,evaluatedAt:"pre-dispatch",codes:[fa.MissingRequiredClientCapability],conformance:["server-stateless"],rationale:"The capability requirement is checked by the HTTP entry, pre-dispatch, against the validated envelope the classifier produced — pinning the spec-mandated HTTP 400 independently of how dispatch- and handler-produced errors are mapped. The documented order (after method resolution and params validation) is preserved observably only while the requirement table is empty: once a served method gains a requirement entry, a request that is missing the capability and would also fail a dispatch rung is answered by this gate first, so the entry must consult the method registry before the gate if the documented precedence is to stay observable."},{rung:"param-header-validation",order:9,evaluatedAt:"pre-dispatch",codes:[jV],conformance:["http-custom-header-server-validation"],rationale:"SEP-2243 `Mcp-Param-*` headers are validated against the named tool’s `x-mcp-header` declarations and the body `arguments` after the tool registry is known and before dispatch reaches the handler; a missing/disagreeing/malformed header is rejected 400 / -32020 with the same shape as the standard-header cross-checks. The documented order (after method resolution and params validation) is preserved observably only when the body `arguments` would otherwise validate: the check runs pre-dispatch, so a `tools/call` that fails BOTH this rung and a dispatch-time rung (e.g. order-6 `request-params`, -32602) is answered by this gate first with 400 / -32020, not by the earlier-ordered rung."}],Ioa={[fa.ParseError]:400,[fa.InvalidRequest]:400,[fa.MethodNotFound]:404,[fa.UnsupportedProtocolVersion]:400,[fa.MissingRequiredClientCapability]:400,[jV]:400};qJn=/\\\.\\d\{(\d+)\}/;YJn=new Set(["$comment","deprecated","description","examples","readOnly","title","writeOnly"]);KJn=new Set(["$schema",...Object.keys(RI.shape.requestedSchema.shape)]),gUt={string:KV([TI,VM,GM,qM]),number:KV([kI]),integer:KV([kI]),boolean:KV([HM]),array:KV([ZM,QM])},JJn=new Set(TI.shape.format.unwrap().options);Toa=Object.assign(njn,{elicit(e){try{return{method:"elicitation/create",params:tjn(e)}}catch(t){throw t instanceof Bf?TypeError(t.message,{cause:t}):t}},elicitUrl(e){return{method:"elicitation/create",params:{...e,mode:"url"}}},createMessage(e){return{method:"sampling/createMessage",params:e}},listRoots(){return{method:"roots/list"}}}),rjn=["AnnotationsSchema","AudioContentSchema","BaseMetadataSchema","BlobResourceContentsSchema","BooleanSchemaSchema","CallToolRequestSchema","CallToolRequestParamsSchema","CallToolResultSchema","CancelledNotificationSchema","CancelledNotificationParamsSchema","CancelTaskRequestSchema","CancelTaskResultSchema","ClientCapabilitiesSchema","ClientNotificationSchema","ClientRequestSchema","ClientResultSchema","CompatibilityCallToolResultSchema","CompleteRequestSchema","CompleteRequestParamsSchema","CompleteResultSchema","ContentBlockSchema","CreateMessageRequestSchema","CreateMessageRequestParamsSchema","CreateMessageResultSchema","CreateMessageResultWithToolsSchema","CreateTaskResultSchema","CursorSchema","DiscoverRequestSchema","DiscoverResultSchema","ElicitationCompleteNotificationSchema","ElicitationCompleteNotificationParamsSchema","ElicitRequestSchema","ElicitRequestFormParamsSchema","ElicitRequestParamsSchema","ElicitRequestURLParamsSchema","ElicitResultSchema","EmbeddedResourceSchema","EmptyResultSchema","EnumSchemaSchema","GetPromptRequestSchema","GetPromptRequestParamsSchema","GetPromptResultSchema","GetTaskPayloadRequestSchema","GetTaskPayloadResultSchema","GetTaskRequestSchema","GetTaskResultSchema","IconSchema","IconsSchema","ImageContentSchema","ImplementationSchema","InitializedNotificationSchema","InitializeRequestSchema","InitializeRequestParamsSchema","InitializeResultSchema","JSONArraySchema","JSONObjectSchema","JSONRPCErrorResponseSchema","JSONRPCMessageSchema","JSONRPCNotificationSchema","JSONRPCRequestSchema","JSONRPCResponseSchema","JSONRPCResultResponseSchema","JSONValueSchema","LegacyTitledEnumSchemaSchema","ListPromptsRequestSchema","ListPromptsResultSchema","ListResourcesRequestSchema","ListResourcesResultSchema","ListResourceTemplatesRequestSchema","ListResourceTemplatesResultSchema","ListRootsRequestSchema","ListRootsResultSchema","ListTasksRequestSchema","ListTasksResultSchema","ListToolsRequestSchema","ListToolsResultSchema","LoggingLevelSchema","LoggingMessageNotificationSchema","LoggingMessageNotificationParamsSchema","ModelHintSchema","ModelPreferencesSchema","MultiSelectEnumSchemaSchema","NotificationSchema","NumberSchemaSchema","PaginatedRequestSchema","PaginatedRequestParamsSchema","PaginatedResultSchema","PingRequestSchema","PrimitiveSchemaDefinitionSchema","ProgressSchema","ProgressNotificationSchema","ProgressNotificationParamsSchema","ProgressTokenSchema","PromptSchema","PromptArgumentSchema","PromptListChangedNotificationSchema","PromptMessageSchema","PromptReferenceSchema","ReadResourceRequestSchema","ReadResourceRequestParamsSchema","ReadResourceResultSchema","RelatedTaskMetadataSchema","RequestSchema","RequestIdSchema","RequestMetaSchema","ResourceSchema","ResourceContentsSchema","ResourceLinkSchema","ResourceListChangedNotificationSchema","ResourceRequestParamsSchema","ResourceTemplateSchema","ResourceTemplateReferenceSchema","ResourceUpdatedNotificationSchema","ResourceUpdatedNotificationParamsSchema","ResultMetaObjectSchema","ResultSchema","RoleSchema","RootSchema","RootsListChangedNotificationSchema","SamplingContentSchema","SamplingMessageSchema","SamplingMessageContentBlockSchema","ServerCapabilitiesSchema","ServerNotificationSchema","ServerRequestSchema","ServerResultSchema","SetLevelRequestSchema","SetLevelRequestParamsSchema","SingleSelectEnumSchemaSchema","StringSchemaSchema","SubscribeRequestSchema","SubscribeRequestParamsSchema","SubscriptionFilterSchema","SubscriptionsAcknowledgedNotificationSchema","SubscriptionsAcknowledgedNotificationParamsSchema","SubscriptionsListenRequestSchema","SubscriptionsListenRequestParamsSchema","SubscriptionsListenResultSchema","SubscriptionsListenResultMetaSchema","TaskAugmentedRequestParamsSchema","TaskCreationParamsSchema","TaskMetadataSchema","TaskSchema","TaskStatusSchema","TaskStatusNotificationSchema","TaskStatusNotificationParamsSchema","TextContentSchema","TextResourceContentsSchema","TitledMultiSelectEnumSchemaSchema","TitledSingleSelectEnumSchemaSchema","ToolSchema","ToolAnnotationsSchema","ToolChoiceSchema","ToolExecutionSchema","ToolListChangedNotificationSchema","ToolResultContentSchema","ToolUseContentSchema","UnsubscribeRequestSchema","UnsubscribeRequestParamsSchema","UntitledMultiSelectEnumSchemaSchema","UntitledSingleSelectEnumSchemaSchema"],ojn={IdJagTokenExchangeResponseSchema:qV,OAuthClientInformationFullSchema:WV,OAuthClientInformationSchema:XV,OAuthClientMetadataSchema:QV,OAuthClientRegistrationErrorSchema:Lie,OAuthErrorResponseSchema:ZV,OAuthMetadataSchema:WM,OAuthProtectedResourceMetadataSchema:_V,OAuthTokenRevocationRequestSchema:Bie,OAuthTokensSchema:GV,OpenIdProviderDiscoveryMetadataSchema:VV,OpenIdProviderMetadataSchema:HV},ZUt={},QUt={};for(let e of rjn)XUt(e,_Jn[e]);for(let[e,t]of Object.entries(ojn))XUt(e,t);ajn=Object.freeze(ZUt),ijn=Object.freeze(QUt);ljn=[mI,wM,hI,SM],cjn=["inputResponses","requestState"];ujn=YUt(void 0),YTe=class{_transport;_requestMessageId=0;_requestHandlers=new Map;_customSchemaRequestMethods=new Set;_requestHandlerAbortControllers=new Map;_notificationHandlers=new Map;_responseHandlers=new Map;_progressHandlers=new Map;_timeoutInfo=new Map;_pendingDebouncedNotifications=new Set;_negotiatedProtocolVersion;static{djn=(e,t)=>{e._negotiatedProtocolVersion=t}}_supportedProtocolVersions;onclose;onerror;fallbackRequestHandler;fallbackNotificationHandler;constructor(e){this._options=e,this._supportedProtocolVersions=e?.supportedProtocolVersions??sie,this.setNotificationHandler("notifications/cancelled",(t)=>{this._oncancel(t)}),this.setNotificationHandler("notifications/progress",(t)=>{this._onprogress(t)}),this.setRequestHandler("ping",(t)=>({}))}_shouldDropInbound(e){}_outboundMetaEnvelope(){}_envelopeOutbound(e){let t=this._outboundMetaEnvelope();if(t===void 0)return e;let n=e.params??{};return{...e,params:{...n,_meta:{...t,...n._meta}}}}_resolveNonCompleteResult(e,t){return Promise.reject(new Rd(Lf.UnsupportedResultType,`Unsupported result type '${e.kind}' for ${t.request.method}`,{resultType:e.kind,method:t.request.method}))}_getRequestHandler(e){return this._requestHandlers.get(e)}async _oncancel(e){if(e.params.requestId===void 0)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,n,r,o=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:n,resetTimeoutOnProgress:o,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let n=Date.now()-t.startTime;if(t.maxTotalTimeout&&n>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),new Rd(Lf.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:n});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);if(t)clearTimeout(t.timeoutId),this._timeoutInfo.delete(e)}async connect(e){this._transport=e;let t=this.transport?.onclose;this._transport.onclose=()=>{try{t?.()}finally{this._onclose()}};let n=this.transport?.onerror;this._transport.onerror=(o)=>{n?.(o),this._onerror(o)};let r=this._transport?.onmessage;this._transport.onmessage=(o,a)=>{if(r?.(o,a),UTe(o)||GUt(o))this._onresponse(o);else if(HUt(o))this._onrequest(o,a);else if(VUt(o))this._onnotification(o,a);else this._onerror(Error(`Unknown message type: ${JSON.stringify(o)}`))},e.setSupportedProtocolVersions?.(this._supportedProtocolVersions),await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear();for(let r of this._timeoutInfo.values())clearTimeout(r.timeoutId);this._timeoutInfo.clear();let t=this._requestHandlerAbortControllers;this._requestHandlerAbortControllers=new Map;let n=new Rd(Lf.ConnectionClosed,"Connection closed");this._transport=void 0;try{this.onclose?.()}finally{for(let r of e.values())r(n);for(let r of t.values())r.abort(n)}}_onerror(e){this.onerror?.(e)}_onnotification(e,t){let{message:n}=yUt(e,"notification"),r=this._negotiatedWireCodec();if(t?.classification===void 0&&this._shouldDropInbound(e)==="drop")return;if(t?.classification!==void 0){let i=fUt(t.classification);if(i!==r.era){this._onerror(Error(`Era mismatch on inbound notification '${n.method}': classified as ${i} but this instance serves ${r.era}`));return}}if(DTe(n.method)&&!r.hasNotificationMethod(n.method))return;let o=this._notificationHandlers.get(n.method),a=this.fallbackNotificationHandler;if(o===void 0&&a===void 0)return;Promise.resolve().then(()=>o===void 0?a(n):o(n,r)).catch((i)=>this._onerror(Error(`Uncaught error in notification handler: ${i}`)))}_onrequest(e,t){let{message:n,lifted:r}=yUt(e,"request"),o=this._negotiatedWireCodec();if(t?.classification===void 0&&this._shouldDropInbound(e)==="drop"){this._onerror(Error(`Dropped inbound request '${e.method}': not servable on this connection's protocol era`));return}let a=this._transport,i=(g,v,y)=>{let x={jsonrpc:"2.0",id:n.id,error:{code:g,message:v,...y!==void 0&&{data:y}}};a?.send(x).catch((A)=>this._onerror(Error(`Failed to send an error response: ${A}`)))};if(t?.classification!==void 0){let g=fUt(t.classification);if(g!==o.era){this._onerror(Error(`Era mismatch on inbound request '${n.method}': classified as ${g} but this instance serves ${o.era}`));let v=t.classification.revision??g;i(fa.UnsupportedProtocolVersion,`Unsupported protocol version: ${v}`,{supported:this._supportedProtocolVersions,requested:v});return}}if(MTe(n.method)&&!o.hasRequestMethod(n.method)&&!(mUt(n.method)&&this._customSchemaRequestMethods.has(n.method))){i(fa.MethodNotFound,"Method not found");return}let s=this._requestHandlers.get(n.method)??this.fallbackRequestHandler;if(s===void 0){i(fa.MethodNotFound,"Method not found");return}let l=o.checkInboundEnvelope(r);if(l!==void 0){i(fa.InvalidParams,l);return}let c=(g,v)=>this._notificationViaCodec(this._resolveOutboundCodec(g.method),g,{...v,relatedRequestId:n.id}),u=(g,v,y)=>this._requestWithSchemaViaCodec(this._resolveOutboundCodec(g.method),g,v,{...y,relatedRequestId:n.id}),d=new AbortController;this._requestHandlerAbortControllers.set(n.id,d);let p=r.inputResponses===void 0?void 0:pjn(r.inputResponses),f={sessionId:a?.sessionId,mcpReq:{id:n.id,method:n.method,_meta:n.params?._meta,...r.envelope!==void 0&&{envelope:r.envelope},...p!==void 0&&{inputResponses:p.accepted},...p!==void 0&&p.droppedKeys.length>0&&{droppedInputResponseKeys:p.droppedKeys},requestState:r.requestState===void 0?ujn:YUt(r.requestState),signal:d.signal,send:(g,v,y)=>{let x=this._resolveOutboundCodec(g.method);if(this._assertOutboundRequestInEra(x,g.method),NTe(v))return u(g,v,y);let A=vUt(x,g.method);if(A===void 0)throw TypeError(`'${g.method}' is not a spec method; pass a result schema as the second argument to ctx.mcpReq.send().`);return u(g,A,v)},notify:c},http:t?.authInfo?{authInfo:t.authInfo}:void 0},m=this.buildContext(f,t);Promise.resolve().then(()=>s(n,m)).then(async(g)=>{if(d.signal.aborted)return;let v;try{v=o.encodeResult(n.method,g,this._outboundServerInfo())}catch(x){this._onerror(Error(`Failed to encode result for ${n.method}: ${x}`)),i(fa.InternalError,"Internal error");return}let y={result:v,jsonrpc:"2.0",id:n.id};await a?.send(y)},async(g)=>{if(d.signal.aborted)return;let v=Number.isSafeInteger(g.code)?g.code:fa.InternalError,y={jsonrpc:"2.0",id:n.id,error:{code:o.encodeErrorCode(v),message:g.message??"Internal error",...g.data!==void 0&&{data:g.data}}};await a?.send(y)}).catch((g)=>this._onerror(Error(`Failed to send response: ${g}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(n.id)===d)this._requestHandlerAbortControllers.delete(n.id)})}_onprogress(e){let{progressToken:t,...n}=e.params,r=Number(t),o=this._progressHandlers.get(r);if(!o){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(r),i=this._timeoutInfo.get(r);if(i&&a&&i.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(s){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),a(s);return}o(n)}_onresponse(e){let t=Number(e.id),n=this._responseHandlers.get(t);if(n===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}if(this._responseHandlers.delete(t),this._cleanupTimeout(t),this._progressHandlers.delete(t),UTe(e))n(e);else n(Bf.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){await this._transport?.close()}request(e,t,n){let r=this._resolveOutboundCodec(e.method);if(NTe(t)){if(!mUt(e.method))this._assertOutboundRequestInEra(r,e.method);return this._requestWithSchemaViaCodec(r,e,t,n)}this._assertOutboundRequestInEra(r,e.method);let o=vUt(r,e.method);if(o===void 0)throw TypeError(`'${e.method}' is not a spec method; pass a result schema as the second argument to request().`);return this._requestWithSchemaViaCodec(r,e,o,t)}_negotiatedWireCodec(){return $V(this._negotiatedProtocolVersion)}_wireCodec(){return this._negotiatedWireCodec()}_resolveOutboundCodec(e){if(this._negotiatedProtocolVersion===void 0){let t=sjn(e);if(t)return t}return this._negotiatedWireCodec()}_assertOutboundRequestInEra(e,t){if(MTe(t)&&!e.hasRequestMethod(t))throw new Rd(Lf.MethodNotSupportedByProtocolVersion,`Method '${t}' is not supported by the negotiated protocol version (wire era ${e.era})`,{method:t,era:e.era})}_requestWithSchema(e,t,n){let r=this._resolveOutboundCodec(e.method);return this._assertOutboundRequestInEra(r,e.method),this._requestWithSchemaViaCodec(r,e,t,n)}_requestWithSchemaViaCodec(e,t,n,r){let{relatedRequestId:o,resumptionToken:a,onresumptiontoken:i,headers:s}=r??{},l=Date.now(),c,u;return new Promise((d,p)=>{let f=(E)=>{p(E)};if(!this._transport){f(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method)}catch(E){f(E);return}if(r?.signal?.aborted){let E=r.signal.reason;throw E instanceof Rd?E:new Rd(Lf.RequestTimeout,String(E))}let m=e.era===QTe&&this._transport.hasPerRequestStream===!0?new AbortController:void 0,g=this._requestMessageId++;u=g;let v={...t,jsonrpc:"2.0",id:g};if(r?.onprogress)this._progressHandlers.set(g,r.onprogress),v.params={...t.params,_meta:{...t.params?._meta,progressToken:g}};let y=this._envelopeOutbound(v),x=!1,A=(E)=>{if(x)return;if(this._progressHandlers.delete(g),m===void 0){if(t.method!=="initialize")this._transport?.send(this._envelopeOutbound({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:g,reason:String(E)}}),{relatedRequestId:o,resumptionToken:a,onresumptiontoken:i}).catch((T)=>this._onerror(Error(`Failed to send cancellation: ${T}`)))}else m.abort();p(E instanceof Rd?E:new Rd(Lf.RequestTimeout,String(E)))};this._responseHandlers.set(g,(E)=>{if(r?.signal?.aborted)return;if(x=!0,E instanceof Error)return p(E);let T;try{T=e.decodeResult(t.method,E.result)}catch(k){return p(k instanceof Error?k:Error(String(k)))}if(T.kind==="invalid")return p(T.error);if(T.kind==="input_required"){if(r?.allowInputRequired===!0)return d(fjn(T));let k={codec:e,request:t,resultSchema:n,options:r,flowStartedAt:l,retry:(L,O)=>this._requestWithSchemaViaCodec(e,L===void 0?{method:t.method}:{method:t.method,params:L},n,O)};return d(this._resolveNonCompleteResult(T,k))}let I=T.result;LTe(n,I).then((k)=>{if(k.success)d(k.data);else p(new Rd(Lf.InvalidResult,`Invalid result for ${t.method}: ${k.error}`))},p)}),c=()=>A(r?.signal?.reason),r?.signal?.addEventListener("abort",c,{once:!0});let w=r?.timeout??WUt,C=()=>A(new Rd(Lf.RequestTimeout,"Request timed out",{timeout:w}));this._setupTimeout(g,w,r?.maxTotalTimeout,C,r?.resetTimeoutOnProgress??!1),this._transport.send(y,{relatedRequestId:o,resumptionToken:a,onresumptiontoken:i,headers:s,requestSignal:m?.signal}).catch((E)=>{this._progressHandlers.delete(g),p(E)})}).finally(()=>{if(c)r?.signal?.removeEventListener("abort",c);if(u!==void 0)this._responseHandlers.delete(u),this._cleanupTimeout(u)})}async notification(e,t){return await this._notificationViaCodec(this._resolveOutboundCodec(e.method),e,t)}async _notificationViaCodec(e,t,n){if(!this._transport)throw new Rd(Lf.NotConnected,"Not connected");if(DTe(t.method)&&!e.hasNotificationMethod(t.method))throw new Rd(Lf.MethodNotSupportedByProtocolVersion,`Notification '${t.method}' is not supported by the negotiated protocol version (wire era ${e.era})`,{method:t.method,era:e.era});this.assertNotificationCapability(t.method);let r=this._envelopeOutbound({jsonrpc:"2.0",...t});if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&n?.relatedRequestId===void 0){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;this._transport?.send(r,n).catch((o)=>this._onerror(o))});return}await this._transport.send(r,n)}setRequestHandler(e,t,n){this.assertRequestHandlerCapability(e);let r;if(typeof t==="function"){if(!MTe(e))throw TypeError(`'${e}' is not a spec request method; pass schemas as the second argument to setRequestHandler().`);r=(o,a)=>{let i=this._negotiatedWireCodec(),s=i.validateRequest(e,o);if(!s.ok&&s.reason==="not-in-era")s=i.validateInputRequest(e,o);if(!s.ok){if(s.reason==="not-in-era")throw new Bf(fa.InternalError,`No wire schema for ${e} in the resolved era`);throw Error(s.message)}return Promise.resolve(t(s.value,a))}}else if(n)r=async(o,a)=>{let i=await LTe(t.params,{...o.params});if(!i.success)throw new Bf(fa.InvalidParams,`Invalid params for ${e}: ${i.error}`);return n(i.data,a)};else throw TypeError("setRequestHandler: handler is required");if(typeof t==="function")this._customSchemaRequestMethods.delete(e);else this._customSchemaRequestMethods.add(e);this._requestHandlers.set(e,this._wrapHandler(e,r))}_wrapHandler(e,t){return t}_outboundServerInfo(){}removeRequestHandler(e){this._requestHandlers.delete(e),this._customSchemaRequestMethods.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t,n){if(typeof t==="function"){if(!DTe(e))throw TypeError(`'${e}' is not a spec notification method; pass schemas as the second argument to setNotificationHandler().`);this._notificationHandlers.set(e,(r,o)=>{let a=o.validateNotification(e,r);if(!a.ok){if(a.reason==="not-in-era")throw new Bf(fa.InternalError,`No wire schema for ${e} in the resolved era`);throw Error(a.message)}return Promise.resolve(t(a.value))});return}if(!n)throw TypeError("setNotificationHandler: handler is required");this._notificationHandlers.set(e,async(r)=>{let o=await LTe(t.params,{...r.params});if(!o.success)throw new Bf(fa.InvalidParams,`Invalid params for notification ${e}: ${o.error}`);await n(o.data,r)})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}};/*! -* content-type -* Copyright(c) 2015 Douglas Christopher Wilson -* MIT Licensed -*/mjn=XFt((e)=>{var t=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,n=/\\([\u000b\u0020-\u00ff])/g,r=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;e.parse=o;function o(s){if(!s)throw TypeError("argument string is required");var l=typeof s==="object"?a(s):s;if(typeof l!=="string")throw TypeError("argument string is required to be a string");var c=l.indexOf(";"),u=c!==-1?l.slice(0,c).trim():l.trim();if(!r.test(u))throw TypeError("invalid media type");var d=new i(u.toLowerCase());if(c!==-1){var p,f,m;t.lastIndex=c;while(f=t.exec(l)){if(f.index!==c)throw TypeError("invalid parameter format");if(c+=f[0].length,p=f[1].toLowerCase(),m=f[2],m.charCodeAt(0)===34){if(m=m.slice(1,-1),m.indexOf("\\")!==-1)m=m.replace(n,"$1")}d.parameters[p]=m}if(c!==l.length)throw TypeError("invalid parameter format")}return d}function a(s){var l;if(typeof s.getHeader==="function")l=s.getHeader("content-type");else if(typeof s.headers==="object")l=s.headers&&s.headers["content-type"];if(typeof l!=="string")throw TypeError("content-type header is missing from object");return l}function i(s){this.parameters=Object.create(null),this.type=s}}),koa=YFt(mjn(),1)});function hx(e){return e.test.bind(e)}function Pjn(e){return e%4===0&&(e%100!==0||e%400===0)}function JUt(e){let t=e.match(hjn);if(!t)return!1;let n=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r==2&&Pjn(n)?29:gjn[r])}function jUt(e,t){let n=t.match(yjn);if(!n)return!1;let r=+n[1],o=+n[2],a=+n[3],i=!!n[5];return(r<=23&&o<=59&&a<=59||r==23&&o==59&&a==60)&&(!e||i)}function Djn(e){let t=e.split(Mjn);return t.length==2&&JUt(t[0])&&jUt(!0,t[1])}function Ojn(e){return Ljn.test(e)&&Bjn.test(e)}function Ujn(e){if(Fjn.test(e))return!1;try{return new RegExp(e,"u"),!0}catch(t){return!1}}var zoa,hjn,gjn,yjn,vjn,bjn,xjn,Ajn,wjn,Sjn,Cjn,Ejn,Ijn=(e)=>{if(e[0]==='"')return!1;let[t,n,...r]=e.split("@");if(!t||!n||r.length!==0||t.length>64||n.length>253)return!1;if(t[0]==="."||t.endsWith(".")||t.includes(".."))return!1;if(!/^[a-z0-9.-]+$/i.test(n)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t))return!1;return n.split(".").every((o)=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(o))},Tjn,kjn,Rjn=(e)=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e)),_oa,Mjn,Ljn,Bjn,Fjn;var $Ut=P(()=>{ETe();zoa=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker"),hjn=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,gjn=[0,31,28,31,30,31,30,31,31,30,31,30,31],yjn=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,vjn=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,bjn=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,xjn=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,Ajn=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,wjn=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Sjn=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Cjn=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Ejn=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,Tjn=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,kjn=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i;_oa={date:JUt,time:jUt.bind(void 0,!1),"date-time":Djn,duration:Rjn,uri:Ojn,"uri-reference":hx(bjn),"uri-template":hx(xjn),url:hx(Ajn),email:Ijn,hostname:hx(vjn),ipv4:hx(Tjn),ipv6:hx(kjn),regex:Ujn,uuid:hx(wjn),"json-pointer":hx(Sjn),"json-pointer-uri-fragment":hx(Cjn),"relative-json-pointer":hx(Ejn)};Mjn=/t|\s/i;Ljn=/\/|:/,Bjn=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;Fjn=/[^\\]\\Z/});var eNt=P(()=>{$Ut()});var zjn;var tNt=P(()=>{zjn=globalThis.crypto});var tG,Oaa,Faa,Uaa,Naa,zaa,_aa,Haa;var nNt=P(()=>{KUt();eNt();tNt();tG=class extends Error{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.OAuthClientFlowError"})}static[Symbol.hasInstance](e){return _g(this,e)}static isInstance(e){if(typeof this!=="function")throw TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return _g(this,e)}constructor(e){super(e);this.name=new.target.name,PI(this,new.target)}},Oaa=class extends tG{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.IssuerMismatchError"})}kind;expected;received;constructor(e,t,n){super(`Issuer mismatch in ${e==="metadata"?"authorization server metadata (RFC 8414 §3.3)":"authorization response (RFC 9207)"}: expected ${JSON.stringify(t)}, received ${JSON.stringify(n)}`);this.kind=e,this.expected=t,this.received=n}},Faa=class extends tG{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.RegistrationRejectedError"})}status;body;submittedMetadata;constructor(e){super(`Dynamic Client Registration rejected (HTTP ${e.status}): ${e.body}`);this.status=e.status,this.body=e.body,this.submittedMetadata=e.submittedMetadata}},Uaa=class extends tG{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.InsecureTokenEndpointError"})}tokenEndpoint;constructor(e){super(`Refusing to send credentials to non-https token endpoint '${e}'. OAuth token requests MUST use TLS (localhost / *.localhost / 127.0.0.1 / ::1 are exempt).`);this.tokenEndpoint=e}},Naa=class extends tG{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.AuthorizationServerMismatchError"})}constructor(e,t){super(`Authorization server mismatch: credentials are bound to ${JSON.stringify(e)} but this call resolved ${JSON.stringify(t)}; refusing to present them to a different authorization server`);this.recordedIssuer=e,this.currentIssuer=t}},zaa=class extends tG{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.InsufficientScopeError"})}requiredScope;resourceMetadataUrl;errorDescription;constructor(e){super(`Insufficient scope${e.requiredScope?`: required "${e.requiredScope}"`:""}`);this.requiredScope=e.requiredScope,this.resourceMetadataUrl=e.resourceMetadataUrl,this.errorDescription=e.errorDescription}},_aa=class extends Error{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.UnauthorizedError"})}static[Symbol.hasInstance](e){return _g(this,e)}static isInstance(e){if(typeof this!=="function")throw TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return _g(this,e)}constructor(e){super(e??"Unauthorized");this.name="UnauthorizedError",PI(this,new.target)}},Haa=class extends Error{static{Object.defineProperty(this,"mcpBrand",{value:"mcp.SseError"})}static[Symbol.hasInstance](e){return _g(this,e)}static isInstance(e){if(typeof this!=="function")throw TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");return _g(this,e)}constructor(e,t,n){super(`SSE error: ${t}`);this.code=e,this.event=n,PI(this,new.target)}}});var zie=P(()=>{RTe()});class lNt{_eventSlots=new Map;setHandler(e,t){let n=this._ensureEventSlot(e);if(n.onHandler&&t)console.warn(`[MCP Apps] on${String(e)} handler replaced. Use addEventListener("${String(e)}", …) to add multiple listeners without replacing.`);n.onHandler=t}getHandler(e){return this._eventSlots.get(e)?.onHandler}addEventListener(e,t){this._ensureEventSlot(e).listeners.push(t)}removeEventListener(e,t){let n=this._eventSlots.get(e);if(!n)return;let r=n.listeners.indexOf(t);if(r!==-1)n.listeners.splice(r,1)}dispatch(e,t){let n=this._eventSlots.get(e);if(!n)return;n.onHandler?.(t);for(let r of[...n.listeners])r(t)}_ensureEventSlot(e){let t=this._eventSlots.get(e);if(!t)t={listeners:[]},this._eventSlots.set(e,t);return t}}class cNt{_methods=new Set;claim(e,t){if(this._methods.has(e))throw Error(`Handler for "${e}" already registered (via ${t}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._methods.add(e)}replace(e){this._methods.add(e)}release(e){this._methods.delete(e)}has(e){return this._methods.has(e)}}function oNt(e,t){let[n,r]=t,o=n?.shape;if(typeof o?.method?.value!=="string")return;let a=o.method.value,i=e==="request"?"setRequestHandler":"setNotificationHandler";if(!rNt.has(i))rNt.add(i),console.warn(`[ext-apps] ${i}(Schema, handler) is deprecated; use ${i}("${a}", { params: Schema.shape.params }, handler).`);let s=r;return[a,{params:o.params},e==="request"?(l,c)=>s({method:a,params:l},_jn(c)):(l)=>s({method:a,params:l})]}function _jn(e){return{signal:e.mcpReq.signal,requestId:e.mcpReq.id,sessionId:e.sessionId,_meta:e.mcpReq._meta,sendRequest:e.mcpReq.send,sendNotification:e.mcpReq.notify,authInfo:e.http?.authInfo}}class _ie{eventTarget;eventSource;messageListener;constructor(e=window.parent,t){this.eventTarget=e,this.eventSource=t,this.messageListener=(n)=>{if(t&&n.source!==this.eventSource){console.debug("Ignoring message from unknown source",n);return}let r=bI.safeParse(n.data);if(r.success)console.debug("Parsed message",r.data),this.onmessage?.(r.data);else if(n.data?.jsonrpc!=="2.0")console.debug("Ignoring non-JSON-RPC message",r.error.message,n);else console.error("Failed to parse message",r.error.message,n),this.onerror?.(Error("Invalid JSON-RPC message received: "+r.error.message))}}async start(){window.addEventListener("message",this.messageListener)}async send(e,t){if(e.method!==Hjn)console.debug("Sending message",e);this.eventTarget.postMessage(e,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}function fNt(e){let t=e._meta?.ui?.resourceUri;if(t===void 0)t=e._meta?.[u$n];if(typeof t==="string"&&t.startsWith("ui://"))return t;else if(t!==void 0)throw Error(`Invalid UI resource URI: ${JSON.stringify(t)}`);return}function p$n(e,t){return JSON.stringify(e)===JSON.stringify(t)}var rNt,uNt="2026-01-26",dNt="ui/notifications/sandbox-proxy-ready",Hjn="ui/notifications/tool-input-partial",Vjn,nG,Gjn,qjn,Zjn,Qjn,Xjn,Wjn,Yjn,KTe,JTe,Kjn,ria,oia,aia,Jjn,jjn,iia,$jn,aNt,e$n,t$n,n$n,r$n,sia,iNt,sNt,o$n,lia,cia,a$n,i$n,uia,dia,pNt,pia,s$n,l$n,c$n,u$n="ui/resourceUri",YM="text/html;profile=mcp-app",d$n,Hie;var KM=P(()=>{nNt();zie();AM();zie();zie();rNt=new Set;Vjn=Jt([Ce("light"),Ce("dark")]).describe("Color theme preference for the host environment."),nG=Jt([Ce("inline"),Ce("fullscreen"),Ce("pip")]).describe("Display mode for UI presentation."),Gjn=Jt([Ce("--color-background-primary"),Ce("--color-background-secondary"),Ce("--color-background-tertiary"),Ce("--color-background-inverse"),Ce("--color-background-ghost"),Ce("--color-background-info"),Ce("--color-background-danger"),Ce("--color-background-success"),Ce("--color-background-warning"),Ce("--color-background-disabled"),Ce("--color-text-primary"),Ce("--color-text-secondary"),Ce("--color-text-tertiary"),Ce("--color-text-inverse"),Ce("--color-text-ghost"),Ce("--color-text-info"),Ce("--color-text-danger"),Ce("--color-text-success"),Ce("--color-text-warning"),Ce("--color-text-disabled"),Ce("--color-border-primary"),Ce("--color-border-secondary"),Ce("--color-border-tertiary"),Ce("--color-border-inverse"),Ce("--color-border-ghost"),Ce("--color-border-info"),Ce("--color-border-danger"),Ce("--color-border-success"),Ce("--color-border-warning"),Ce("--color-border-disabled"),Ce("--color-ring-primary"),Ce("--color-ring-secondary"),Ce("--color-ring-inverse"),Ce("--color-ring-info"),Ce("--color-ring-danger"),Ce("--color-ring-success"),Ce("--color-ring-warning"),Ce("--font-sans"),Ce("--font-mono"),Ce("--font-weight-normal"),Ce("--font-weight-medium"),Ce("--font-weight-semibold"),Ce("--font-weight-bold"),Ce("--font-text-xs-size"),Ce("--font-text-sm-size"),Ce("--font-text-md-size"),Ce("--font-text-lg-size"),Ce("--font-heading-xs-size"),Ce("--font-heading-sm-size"),Ce("--font-heading-md-size"),Ce("--font-heading-lg-size"),Ce("--font-heading-xl-size"),Ce("--font-heading-2xl-size"),Ce("--font-heading-3xl-size"),Ce("--font-text-xs-line-height"),Ce("--font-text-sm-line-height"),Ce("--font-text-md-line-height"),Ce("--font-text-lg-line-height"),Ce("--font-heading-xs-line-height"),Ce("--font-heading-sm-line-height"),Ce("--font-heading-md-line-height"),Ce("--font-heading-lg-line-height"),Ce("--font-heading-xl-line-height"),Ce("--font-heading-2xl-line-height"),Ce("--font-heading-3xl-line-height"),Ce("--border-radius-xs"),Ce("--border-radius-sm"),Ce("--border-radius-md"),Ce("--border-radius-lg"),Ce("--border-radius-xl"),Ce("--border-radius-full"),Ce("--border-width-regular"),Ce("--shadow-hairline"),Ce("--shadow-sm"),Ce("--shadow-md"),Ce("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),qjn=Wt(Gjn.describe(`Style variables for theming MCP apps. +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`); + } + for (let i of e.seen.entries()) { + let s = i[1]; + if (t === i[0]) { + a(i); + continue; + } + if (e.external) { + let c = e.external.registry.get(i[0])?.id; + if (t !== i[0] && c) { + a(i); + continue; + } + } + if (e.metadataRegistry.get(i[0])?.id) { + a(i); + continue; + } + if (s.cycle) { + a(i); + continue; + } + if (s.count > 1) { + if (e.reused === "ref") a(i); + } + } + if (e.external) e.sharedDefsExtractedFor = e.external; +} +function v1t(e) { + let t = e.anyOf; + if (!Array.isArray(t) || t.length === 0 || e.type !== void 0) return; + let n = []; + for (let r of t) { + if (!r || typeof r !== "object") return; + v1t(r); + let o = Object.keys(r); + if (o.length !== 1 || o[0] !== "type") return; + let a = r.type; + for (let i of Array.isArray(a) ? a : [a]) { + if (typeof i !== "string") return; + if (!n.includes(i)) n.push(i); + } + } + (delete e.anyOf, (e.type = n.length === 1 ? n[0] : n)); +} +function y1t(e) { + let t = e.additionalProperties; + if (t === void 0 || t === !1 || typeof t !== "object" || t === null) + return null; + return Object.keys(t).length ? t : null; +} +function T8e(e) { + let t = []; + for (let a of e) { + if (typeof a !== "object" || a.type !== "object") return null; + for (let i in a) if (!b1t.has(i)) return null; + t.push(a); + } + let n = {}, + r = new Set(); + for (let a of t) { + for (let i in a.properties) { + if (Object.prototype.hasOwnProperty.call(n, i)) continue; + let s = []; + for (let c of t) { + let u = c.properties?.[i] ?? y1t(c); + if (u === null || u === void 0) continue; + if (!s.some((d) => JSON.stringify(d) === JSON.stringify(u))) s.push(u); + } + let l = s.length === 1 ? s[0] : (T8e(s) ?? { allOf: s }); + Mg(n, i, l); + } + for (let i of a.required ?? []) r.add(i); + } + let o = { type: "object", properties: n }; + if (r.size) o.required = [...r]; + if (t.every((a) => a.additionalProperties === !1)) + o.additionalProperties = !1; + else { + let a = []; + for (let i of t) { + let s = y1t(i); + if (s && !a.some((l) => JSON.stringify(l) === JSON.stringify(s))) + a.push(s); + } + if (a.length === 1) o.additionalProperties = a[0]; + else if (a.length > 1) o.additionalProperties = { allOf: a }; + } + return o; +} +function kFn(e) { + let t = e.allOf; + if (!Array.isArray(t) || t.length < 2) return; + for (let o of b1t) if (o in e) return; + let n = t.filter((o) => g1t.some((a) => Array.isArray(o[a]))), + r = null; + if (!n.length) r = T8e(t); + else { + let o = n[0], + a = g1t.find((l) => Array.isArray(o[l])); + if (Object.keys(o).length !== 1) return; + let i = t.filter((l) => l !== o), + s = o[a].map((l) => T8e([...i, l])); + if (s.some((l) => !l)) return; + r = { [a]: s }; + } + if (!r) return; + (delete e.allOf, g_(e, r)); +} +function x_(e, t) { + let n = e.seen.get(t); + if (!n) throw Error("Unprocessed schema. This is a bug in Zod."); + let r = (s) => { + let l = e.seen.get(s); + if (l.ref === null) return; + let c = l.def ?? l.schema, + u = { ...c }, + d = l.ref; + if (((l.ref = null), d)) { + r(d); + let f = e.seen.get(d), + m = f.schema; + if ( + m.$ref && + (e.target === "draft-07" || + e.target === "draft-04" || + e.target === "openapi-3.0") + ) + ((c.allOf = c.allOf ?? []), c.allOf.push(m)); + else g_(c, m); + if ((g_(c, u), s._zod.parent === d)) + for (let v in c) { + if (v === "$ref" || v === "allOf") continue; + if (!(v in u)) delete c[v]; + } + if (m.$ref && f.def) + for (let v in c) { + if (v === "$ref" || v === "allOf") continue; + if (v in f.def && JSON.stringify(c[v]) === JSON.stringify(f.def[v])) + delete c[v]; + } + } + let p = s._zod.parent; + if (p && p !== d) { + r(p); + let f = e.seen.get(p); + if (f?.schema.$ref) { + if (((c.$ref = f.schema.$ref), f.def)) + for (let m in c) { + if (m === "$ref" || m === "allOf") continue; + if (m in f.def && JSON.stringify(c[m]) === JSON.stringify(f.def[m])) + delete c[m]; + } + } + } + e.override({ zodSchema: s, jsonSchema: c, path: l.path ?? [] }); + }; + if (!e.external || e.sharedEmitDoneFor !== e.external) { + for (let s of [...e.seen.entries()].reverse()) r(s[0]); + if (e.target !== "openapi-3.0") + for (let s of e.seen.entries()) v1t(s[1].def ?? s[1].schema); + for (let s of e.deferred) s(); + if (e.intersections.length) { + let s = new Map(); + for (let l of e.seen.values()) + for (let c of [l.schema, l.def]) { + let u = c?.allOf; + if (!Array.isArray(u)) continue; + let d = s.get(u); + if (d) d.push(c); + else s.set(u, [c]); + } + for (let l of e.intersections) for (let c of s.get(l) ?? []) kFn(c); + } + } + let o = {}; + if (e.target === "draft-2020-12") + o.$schema = "https://json-schema.org/draft/2020-12/schema"; + else if (e.target === "draft-07") + o.$schema = "http://json-schema.org/draft-07/schema#"; + else if (e.target === "draft-04") + o.$schema = "http://json-schema.org/draft-04/schema#"; + else if (e.target === "openapi-3.0"); + if (e.external?.uri) { + let s = e.external.registry.get(t)?.id; + if (!s) throw Error("Schema is missing an `id` property"); + o.$id = e.external.uri(s); + } + g_(o, n.defId ? n.schema : (n.def ?? n.schema)); + let a = e.metadataRegistry.get(t)?.id; + if (a !== void 0 && o.id === a) delete o.id; + let i = e.external?.defs ?? {}; + if (!e.external || e.sharedEmitDoneFor !== e.external) + for (let s of e.seen.entries()) { + let l = s[1]; + if (l.def && l.defId) { + if (l.def.id === l.defId) delete l.def.id; + Mg(i, l.defId, l.def); + } + } + if (e.external) e.sharedEmitDoneFor = e.external; + if (e.external); + else if (Object.keys(i).length > 0) + if (e.target === "draft-2020-12") o.$defs = i; + else o.definitions = i; + try { + let s = JSON.parse(JSON.stringify(o)); + return ( + Object.defineProperty(s, "~standard", { + value: { + ...t["~standard"], + jsonSchema: { + input: y_(t, "input", e.processors), + output: y_(t, "output", e.processors), + }, + }, + enumerable: !1, + writable: !1, + }), + s + ); + } catch (s) { + throw Error("Error converting schema to JSON."); + } +} +function uh(e, t) { + let n = t ?? { seen: new Set() }; + if (n.seen.has(e)) return !1; + n.seen.add(e); + let r = e._zod.def; + if (r.type === "transform") return !0; + if (r.type === "array") return uh(r.element, n); + if (r.type === "set") return uh(r.valueType, n); + if (r.type === "lazy") return uh(r.getter(), n); + if ( + r.type === "promise" || + r.type === "optional" || + r.type === "nonoptional" || + r.type === "nullable" || + r.type === "readonly" || + r.type === "default" || + r.type === "prefault" || + r.type === "catch" + ) + return uh(r.innerType, n); + if (r.type === "intersection") return uh(r.left, n) || uh(r.right, n); + if (r.type === "record" || r.type === "map") + return uh(r.keyType, n) || uh(r.valueType, n); + if (r.type === "pipe") { + if (e._zod.traits.has("$ZodCodec")) return !0; + return uh(r.in, n) || uh(r.out, n); + } + if (r.type === "object") { + for (let o in r.shape) if (uh(r.shape[o], n)) return !0; + return !1; + } + if (r.type === "union") { + for (let o of r.options) if (uh(o, n)) return !0; + return !1; + } + if (r.type === "tuple") { + for (let o of r.items) if (uh(o, n)) return !0; + if (r.rest && uh(r.rest, n)) return !0; + return !1; + } + return !1; +} +var b1t, + g1t, + x1t = + (e, t = {}) => + (n) => { + let r = v_({ ...n, processors: t }); + return (bs(e, r), b_(r, e), x_(r, e)); + }, + y_ = + (e, t, n = {}) => + (r) => { + let { libraryOptions: o, target: a } = r ?? {}, + i = v_({ ...(o ?? {}), target: a, io: t, processors: n }); + return (bs(e, i), b_(i, e), x_(i, e)); + }; +var qre = P(() => { + u8e(); + m0(); + ((b1t = new Set(["type", "properties", "required", "additionalProperties"])), + (g1t = ["oneOf", "anyOf"])); +}); +function y0(e) { + let t = {}, + n = e._zod.def, + r = e._zod.traits.has("$ZodCheck") + ? [e, ...(n.checks ?? [])] + : (n.checks ?? []); + for (let a of r) RFn[a._zod.def.check]?.(t, a._zod.def); + let o = e._zod.bag; + if (o.minimum !== void 0) G9(t, "minimum", o.minimum); + if (o.exclusiveMinimum !== void 0) + G9(t, "exclusiveMinimum", o.exclusiveMinimum); + if (o.maximum !== void 0) q9(t, "maximum", o.maximum); + if (o.exclusiveMaximum !== void 0) + q9(t, "exclusiveMaximum", o.exclusiveMaximum); + if (o.multipleOf !== void 0) I1t(t, o.multipleOf); + if (o.format !== void 0) { + if ((t.format ?? (t.format = o.format), o.format.includes("int"))) + t.isInt = !0; + } + if (o.mime) k1t(t, o.mime); + for (let a of o.patterns ?? []) T1t(t, a); + return t; +} +function A_(e) { + let t = e._zod.def; + if (t.type === "pipe" && t.in._zod.traits.has("$ZodTransform")) + return A_(t.out); + if (t.type === "catch") return A_(t.innerType); + return e._zod.optin; +} +function k8e(e, t, n) { + if (t.$ref) { + if (n.has(t)) return t; + n.add(t); + let m = e.get(t)?.def; + if (!m) return t; + let g = k8e(e, m, n); + return g === m ? t : g; + } + for (let m of ["anyOf", "oneOf"]) { + let g = t[m]; + if (!Array.isArray(g)) continue; + let v = g.map((y) => k8e(e, y, n)); + if (v.some((y, x) => y !== g[x])) t = { ...t, [m]: v }; + } + let r = Array.isArray(t.type) ? t.type : [t.type], + o = + !r.includes("string") && r.some((m) => m === "number" || m === "integer"), + a = t.enum ?? (t.const !== void 0 ? [t.const] : void 0); + if (!o && !a?.some((m) => typeof m === "number")) return t; + let { + minimum: i, + maximum: s, + exclusiveMinimum: l, + exclusiveMaximum: c, + multipleOf: u, + format: d, + id: p, + ...f + } = t; + if (f.enum) + f.enum = f.enum.map((m) => (typeof m === "number" ? String(m) : m)); + else if (typeof f.const === "number") f.const = String(f.const); + if (!o) return f; + if (((f.type = "string"), !a)) + f.pattern = (r.includes("number") ? c_ : Z5e).source; + return f; +} +function DFn(e) { + let t = new Map(); + for (let r of e.seen.values()) + if (r.def && !t.has(r.schema)) t.set(r.schema, r); + let n = new Map(); + for (let r of R8e.get(e) ?? []) { + let o = e.seen.get(r), + a = (o?.def ?? o?.schema)?.propertyNames; + if (!a || a === !0 || n.has(a)) continue; + let i = k8e(t, a, new Set()); + if (i !== a) n.set(a, i); + } + if (!n.size) return; + for (let r of e.seen.values()) + for (let o of [r.schema, r.def]) { + let a = o && n.get(o.propertyNames); + if (a) o.propertyNames = a; + } +} +function G1t(e, t, n, r, o) { + let a = !1, + i = JSON.stringify(e, (s, l) => { + if (typeof l !== "bigint") return l; + return ((a = !0), null); + }); + if (!a) return JSON.parse(i); + return ( + Bp(t, n, r, o, "BigInt defaults cannot be represented in JSON Schema"), + Y8e + ); +} +function Qre(e, t) { + if ("_idmap" in e) { + let r = e, + o = v_({ ...t, processors: E1t }), + a = {}; + for (let l of r._idmap.entries()) { + let [c, u] = l; + bs(u, o); + } + let i = {}, + s = { registry: r, uri: t?.uri, defs: a }; + o.external = s; + for (let l of r._idmap.entries()) { + let [c, u] = l; + (b_(o, u), Mg(i, c, x_(o, u))); + } + if (Object.keys(a).length > 0) { + let l = o.target === "draft-2020-12" ? "$defs" : "definitions"; + i.__shared = { [l]: a }; + } + return { schemas: i }; + } + let n = v_({ ...t, processors: E1t }); + return (bs(e, n), b_(n, e), x_(n, e)); +} +var G9 = (e, t, n) => { + if (e[t] === void 0 || n > e[t]) e[t] = n; + }, + q9 = (e, t, n) => { + if (e[t] === void 0 || n < e[t]) e[t] = n; + }, + A1t = (e, t) => { + (G9(e, "minimum", t), q9(e, "maximum", t)); + }, + I1t = (e, t) => { + if ((e.multipleOf ?? (e.multipleOf = []), !e.multipleOf.includes(t))) + e.multipleOf.push(t); + }, + T1t = (e, t) => { + (e.patterns ?? (e.patterns = new Set()), e.patterns.add(t)); + }, + k1t = (e, t) => { + e.mime = e.mime ? e.mime.filter((n) => t.includes(n)) : [...t]; + }, + R1t = (e, t) => { + if (((e.format = t), t.includes("int"))) e.isInt = !0; + }, + w1t = (e, t) => G9(e, "minimum", t.minimum), + S1t = (e, t) => q9(e, "maximum", t.maximum), + C1t = (e) => (t, n) => { + R1t(t, n.format); + let [r, o] = e[n.format]; + (G9(t, "minimum", r), q9(t, "maximum", o)); + }, + RFn, + PFn, + MFn, + P1t = (e) => MFn.get(e) ?? e, + P8e = (e, t, n, r) => { + let o = n; + o.type = "string"; + let { + minimum: a, + maximum: i, + format: s, + patterns: l, + contentEncoding: c, + laxFormat: u, + } = y0(e); + if (typeof a === "number") o.minLength = a; + if (typeof i === "number") o.maxLength = i; + if (s) { + if (((o.format = PFn[s] ?? s), o.format === "")) delete o.format; + if (s === "time" || u) delete o.format; + } + if (c) o.contentEncoding = c; + if (l && l.size > 0) { + let d = [...l].map(P1t); + if (d.length === 1) o.pattern = d[0].source; + else if (d.length > 1) + o.allOf = [ + ...d.map((p) => ({ + ...(t.target === "draft-07" || + t.target === "draft-04" || + t.target === "openapi-3.0" + ? { type: "string" } + : {}), + pattern: p.source, + })), + ]; + } + }, + M8e = (e, t, n, r) => { + let o = n, + { + minimum: a, + maximum: i, + multipleOf: s, + exclusiveMaximum: l, + exclusiveMinimum: c, + isInt: u, + } = y0(e); + o.type = u ? "integer" : "number"; + let d = typeof c === "number" && c >= (a ?? Number.NEGATIVE_INFINITY), + p = typeof l === "number" && l <= (i ?? Number.POSITIVE_INFINITY), + f = t.target === "draft-04" || t.target === "openapi-3.0"; + if (d) + if (f) ((o.minimum = c), (o.exclusiveMinimum = !0)); + else o.exclusiveMinimum = c; + else if (typeof a === "number") o.minimum = a; + if (p) + if (f) ((o.maximum = l), (o.exclusiveMaximum = !0)); + else o.exclusiveMaximum = l; + else if (typeof i === "number") o.maximum = i; + if (s) { + let m = new Set(); + for (let y of s) + if (Number.isFinite(y) && y !== 0) m.add(Math.abs(y)); + else + Bp( + e, + t, + o, + r, + `A multipleOf divisor of ${y} cannot be represented in JSON Schema`, + ); + let [g, ...v] = m; + if (g !== void 0) o.multipleOf = g; + if (v.length) + o.allOf = [...(o.allOf ?? []), ...v.map((y) => ({ multipleOf: y }))]; + } + }, + D8e = (e, t, n, r) => { + n.type = "boolean"; + }, + M1t = (e, t, n, r) => { + Bp(e, t, n, r, "BigInt cannot be represented in JSON Schema"); + }, + D1t = (e, t, n, r) => { + Bp(e, t, n, r, "Symbols cannot be represented in JSON Schema"); + }, + L8e = (e, t, n, r) => { + if (t.target === "openapi-3.0") + ((n.type = "string"), (n.nullable = !0), (n.enum = [null])); + else n.type = "null"; + }, + B8e = (e, t, n, r) => { + Bp(e, t, n, r, "Undefined cannot be represented in JSON Schema"); + }, + L1t = (e, t, n, r) => { + Bp(e, t, n, r, "Void cannot be represented in JSON Schema"); + }, + O8e = (e, t, n, r) => { + n.not = {}; + }, + F8e = (e, t, n, r) => {}, + U8e = (e, t, n, r) => {}, + B1t = (e, t, n, r) => { + Bp(e, t, n, r, "Date cannot be represented in JSON Schema"); + }, + N8e = (e, t, n, r) => { + let o = e._zod.def, + a = o_(o.entries); + if (a.length === 0) { + n.not = {}; + return; + } + if (a.every((i) => typeof i === "number")) n.type = "number"; + if (a.every((i) => typeof i === "string")) n.type = "string"; + n.enum = a; + }, + z8e = (e, t, n, r) => { + let o = e._zod.def; + if (o.values.length === 0) { + n.not = {}; + return; + } + let a = []; + for (let i of o.values) + if (i === void 0) { + if ( + Bp( + e, + t, + n, + r, + "Literal `undefined` cannot be represented in JSON Schema", + ) + ) + return; + } else if (typeof i === "bigint") { + if ( + Bp(e, t, n, r, "BigInt literals cannot be represented in JSON Schema") + ) + return; + a.push(Number(i)); + } else a.push(i); + if (a.length === 0); + else if (a.length === 1) { + let i = a[0]; + if ( + ((n.type = i === null ? "null" : typeof i), + t.target === "draft-04" || t.target === "openapi-3.0") + ) + n.enum = [i]; + else n.const = i; + } else { + if (a.every((i) => typeof i === "number")) n.type = "number"; + if (a.every((i) => typeof i === "string")) n.type = "string"; + if (a.every((i) => typeof i === "boolean")) n.type = "boolean"; + if (a.every((i) => i === null)) n.type = "null"; + n.enum = a; + } + }, + O1t = (e, t, n, r) => { + Bp(e, t, n, r, "NaN cannot be represented in JSON Schema"); + }, + F1t = (e, t, n, r) => { + let o = n, + a = e._zod.pattern; + if (!a) throw Error("Pattern not found in template literal"); + ((o.type = "string"), (o.pattern = a.source)); + }, + U1t = (e, t, n, r) => { + let o = n; + ((o.type = "string"), + (o.format = "binary"), + (o.contentEncoding = "binary")); + let { minimum: a, maximum: i, mime: s } = y0(e); + if (a !== void 0) o.minLength = a; + if (i !== void 0) o.maxLength = i; + if (!s) return; + if (s.length === 0) o.not = {}; + else if (s.length === 1) o.contentMediaType = s[0]; + else o.anyOf = s.map((l) => ({ contentMediaType: l })); + }, + N1t = (e, t, n, r) => { + n.type = "boolean"; + }, + _8e = (e, t, n, r) => { + Bp(e, t, n, r, "Custom types cannot be represented in JSON Schema"); + }, + z1t = (e, t, n, r) => { + Bp(e, t, n, r, "Function types cannot be represented in JSON Schema"); + }, + H8e = (e, t, n, r) => { + Bp(e, t, n, r, "Transforms cannot be represented in JSON Schema"); + }, + _1t = (e, t, n, r) => { + Bp(e, t, n, r, "Map cannot be represented in JSON Schema"); + }, + H1t = (e, t, n, r) => { + Bp(e, t, n, r, "Set cannot be represented in JSON Schema"); + }, + V8e = (e, t, n, r) => { + let o = n, + a = e._zod.def, + { minimum: i, maximum: s } = y0(e); + if (typeof i === "number") o.minItems = i; + if (typeof s === "number") o.maxItems = s; + ((o.type = "array"), + (o.items = bs(a.element, t, { ...r, path: [...r.path, "items"] }))); + }, + G8e = (e, t, n, r) => { + let o = n, + a = e._zod.def, + i = a.shape; + if ( + Object.getOwnPropertySymbols(i).length && + Bp(e, t, o, r, "Symbol keys cannot be represented in JSON Schema") + ) + return; + ((o.type = "object"), (o.properties = {})); + for (let c in i) + Mg( + o.properties, + c, + bs(i[c], t, { ...r, path: [...r.path, "properties", c] }), + ); + let l = []; + for (let c of Object.keys(i)) { + let u = a.shape[c]; + if (t.io === "input" ? A_(u) === void 0 : u._zod.optout === void 0) + l.push(c); + } + if (l.length > 0) o.required = l; + if (a.catchall?._zod.def.type === "never") o.additionalProperties = !1; + else if (!a.catchall) { + if (t.io === "output") o.additionalProperties = !1; + } else if (a.catchall) + o.additionalProperties = bs(a.catchall, t, { + ...r, + path: [...r.path, "additionalProperties"], + }); + }, + q8e = (e, t, n, r) => { + let o = e._zod.def, + a = o.inclusive === !1, + i = o.options.map((s, l) => + bs(s, t, { ...r, path: [...r.path, a ? "oneOf" : "anyOf", l] }), + ); + if (a) n.oneOf = i; + else n.anyOf = i; + }, + Z8e = (e, t, n, r) => { + let o = e._zod.def, + a = bs(o.left, t, { ...r, path: [...r.path, "allOf", 0] }), + i = bs(o.right, t, { ...r, path: [...r.path, "allOf", 1] }), + s = (c) => "allOf" in c && Object.keys(c).length === 1, + l = [...(s(a) ? a.allOf : [a]), ...(s(i) ? i.allOf : [i])]; + ((n.allOf = l), t.intersections.push(l)); + }, + V1t = (e, t, n, r) => { + let o = n, + a = e._zod.def; + o.type = "array"; + let i = t.target === "draft-2020-12" ? "prefixItems" : "items", + s = + t.target === "draft-2020-12" + ? "items" + : t.target === "openapi-3.0" + ? "items" + : "additionalItems", + l = a.items.map((g, v) => bs(g, t, { ...r, path: [...r.path, i, v] })), + c = a.rest + ? bs(a.rest, t, { + ...r, + path: [ + ...r.path, + s, + ...(t.target === "openapi-3.0" ? [a.items.length] : []), + ], + }) + : null, + u = a.items.length; + while (u > 0) { + let g = a.items[u - 1]; + if (!(t.io === "input" ? A_(g) !== void 0 : g._zod.optout === "optional")) + break; + u--; + } + let d = a.items.length, + p = !a.rest; + if (t.target === "draft-2020-12") { + if (((o.prefixItems = l), p)) o.items = !1; + else if (c) o.items = c; + if (u > 0) o.minItems = u; + if (p) o.maxItems = d; + } else if (t.target === "openapi-3.0") { + if (((o.items = { anyOf: l }), c)) o.items.anyOf.push(c); + if (u > 0) o.minItems = u; + if (p) o.maxItems = d; + } else { + if (((o.items = l), p)) o.additionalItems = !1; + else if (c) o.additionalItems = c; + if (u > 0) o.minItems = u; + if (p) o.maxItems = d; + } + let { minimum: f, maximum: m } = y0(e); + if (typeof f === "number") o.minItems = f; + if (typeof m === "number") o.maxItems = m; + }, + R8e, + Q8e = (e, t, n, r) => { + let o = n, + a = e._zod.def; + o.type = "object"; + let i = a.keyType, + s = y0(i).patterns; + if (a.mode === "loose" && s && s.size > 0) { + let u = bs(a.valueType, t, { + ...r, + path: [...r.path, "patternProperties", "*"], + }); + o.patternProperties = {}; + for (let d of s) Mg(o.patternProperties, P1t(d).source, u); + } else { + if (t.target === "draft-07" || t.target === "draft-2020-12") { + o.propertyNames = bs(a.keyType, t, { + ...r, + path: [...r.path, "propertyNames"], + }); + let u = R8e.get(t); + if (!u) ((u = []), R8e.set(t, u), t.deferred.push(() => DFn(t))); + u.push(e); + } + o.additionalProperties = bs(a.valueType, t, { + ...r, + path: [...r.path, "additionalProperties"], + }); + } + let l = i._zod.values, + c = t.io === "input" && A_(a.valueType) !== void 0; + if (l && !a.partial && !c) { + let u = [...l].filter( + (d) => typeof d === "string" || typeof d === "number", + ); + if (u.length > 0) o.required = u.map(String); + } + }, + X8e = (e, t, n, r) => { + let o = e._zod.def, + a = bs(o.innerType, t, r), + i = t.seen.get(e); + if (t.target === "openapi-3.0") ((i.ref = o.innerType), (n.nullable = !0)); + else n.anyOf = [a, { type: "null" }]; + }, + W8e = (e, t, n, r) => { + let o = e._zod.def; + bs(o.innerType, t, r); + let a = t.seen.get(e); + a.ref = o.innerType; + }, + Y8e, + K8e = (e, t, n, r) => { + let o = e._zod.def; + bs(o.innerType, t, r); + let a = t.seen.get(e); + a.ref = o.innerType; + let i = G1t(o.defaultValue, e, t, n, r); + if (i !== Y8e) n.default = i; + }, + J8e = (e, t, n, r) => { + let o = e._zod.def; + bs(o.innerType, t, r); + let a = t.seen.get(e); + if (((a.ref = o.innerType), t.io !== "input")) return; + let i = G1t(o.defaultValue, e, t, n, r); + if (i !== Y8e) n._prefault = i; + }, + j8e = (e, t, n, r) => { + let o = e._zod.def; + bs(o.innerType, t, r); + let a = t.seen.get(e); + a.ref = o.innerType; + let i; + try { + i = o.catchValue(void 0); + } catch { + Bp(e, t, n, r, "Dynamic catch values are not supported in JSON Schema"); + return; + } + n.default = i; + }, + $8e = (e, t, n, r) => { + let o = e._zod.def, + a = o.in._zod.traits.has("$ZodTransform"), + i = t.io === "input" ? (a ? o.out : o.in) : o.out; + bs(i, t, r); + let s = t.seen.get(e); + s.ref = i; + }, + eEe = (e, t, n, r) => { + let o = e._zod.def; + bs(o.innerType, t, r); + let a = t.seen.get(e); + ((a.ref = o.innerType), (n.readOnly = !0)); + }, + q1t = (e, t, n, r) => { + let o = e._zod.def; + bs(o.innerType, t, r); + let a = t.seen.get(e); + a.ref = o.innerType; + }, + Zre = (e, t, n, r) => { + let o = e._zod.def; + bs(o.innerType, t, r); + let a = t.seen.get(e); + a.ref = o.innerType; + }, + tEe = (e, t, n, r) => { + let o = e._zod.innerType; + bs(o, t, r); + let a = t.seen.get(e); + a.ref = o; + }, + E1t; +var nEe = P(() => { + u_(); + o8e(); + qre(); + m0(); + RFn = { + greater_than: (e, t) => + G9(e, t.inclusive ? "minimum" : "exclusiveMinimum", t.value), + less_than: (e, t) => + q9(e, t.inclusive ? "maximum" : "exclusiveMaximum", t.value), + multiple_of: (e, t) => I1t(e, t.value), + number_format: C1t(gre), + bigint_format: C1t(L5e), + min_length: w1t, + max_length: S1t, + length_equals: (e, t) => A1t(e, t.length), + min_size: w1t, + max_size: S1t, + size_equals: (e, t) => A1t(e, t.size), + string_format: (e, t) => { + if ((R1t(e, t.format), t.pattern)) T1t(e, t.pattern); + if (t.format === "base64" || t.format === "base64url") + e.contentEncoding = t.format; + if (t.local || t.precision === -1) e.laxFormat = !0; + }, + mime_type: (e, t) => k1t(e, t.mime), + }; + ((PFn = { + guid: "uuid", + url: "uri", + datetime: "date-time", + json_string: "json-string", + regex: "", + }), + (MFn = new Map([ + [$5e, Nht], + [Dre, zht], + ]))); + R8e = new WeakMap(); + Y8e = Symbol(); + E1t = { + string: P8e, + number: M8e, + boolean: D8e, + bigint: M1t, + symbol: D1t, + null: L8e, + undefined: B8e, + void: L1t, + never: O8e, + any: F8e, + unknown: U8e, + date: B1t, + enum: N8e, + literal: z8e, + nan: O1t, + template_literal: F1t, + file: U1t, + success: N1t, + custom: _8e, + function: z1t, + transform: H8e, + map: _1t, + set: H1t, + array: V8e, + object: G8e, + union: q8e, + intersection: Z8e, + tuple: V1t, + record: Q8e, + nullable: X8e, + nonoptional: W8e, + default: K8e, + prefault: J8e, + catch: j8e, + pipe: $8e, + readonly: eEe, + promise: q1t, + optional: Zre, + lazy: tEe, + }; +}); +var Z1t = () => {}; +var ly = P(() => { + m0(); + u_(); + c8e(); + Z1t(); + $E(); + wht(); + pht(); + o8e(); + Tgt(); + Tre(); + K5e(); + u8e(); + Lgt(); + m1t(); + qre(); +}); +var rEe = P(() => { + ly(); +}); +function Xre(e, t, n) { + Object.defineProperty(e, t, { + configurable: !0, + enumerable: !1, + get() { + let r = n(this); + return ( + Object.defineProperty(this, t, { + value: r, + configurable: !0, + writable: !0, + }), + r + ); + }, + set(r) { + Object.defineProperty(this, t, { + value: r, + configurable: !0, + writable: !0, + }); + }, + }); +} +var Q1t, + _Fn = (e, t) => { + (dht.init(e, t), (e.name = "ZodError")); + let n = Object.getPrototypeOf(e); + if (Q1t.has(n)) return; + (Q1t.add(n), + Xre(n, "format", (r) => (o) => _5e(r, o)), + Xre(n, "flatten", (r) => (o) => z5e(r, o)), + Xre(n, "addIssue", (r) => (o) => { + (r.issues.push(o), (r.message = JSON.stringify(r.issues, a_, 2))); + }), + Xre(n, "addIssues", (r) => (o) => { + (r.issues.push(...o), (r.message = JSON.stringify(r.issues, a_, 2))); + }), + Object.defineProperty(n, "isEmpty", { + configurable: !0, + enumerable: !1, + get() { + return this.issues.length === 0; + }, + })); + }, + Lg; +var oEe = P(() => { + ly(); + ly(); + m0(); + Q1t = new WeakSet([Object.prototype, Error.prototype]); + Lg = Lt("ZodError", _Fn, void 0, { Parent: Error }); +}); +var X1t, W1t, Wre, Y1t, K1t, J1t, j1t, $1t, eyt, tyt, nyt, ryt; +var aEe = P(() => { + ly(); + oEe(); + ly(); + ((X1t = wre(Lg)), + (W1t = Sre(Lg)), + (Wre = Cre(Lg)), + (Y1t = Ere(Lg)), + (K1t = mht(Lg)), + (J1t = hht(Lg)), + (j1t = ght(Lg)), + ($1t = yht(Lg)), + (eyt = vht(Lg)), + (tyt = bht(Lg)), + (nyt = xht(Lg)), + (ryt = Aht(Lg))); +}); +function VFn() { + if (!h0.localeError) g0(l8e()); +} +function Kre() { + if (!h0.memoizer) g0({ memoizer: s8e() }); +} +function Q(e) { + return Bgt(lyt, e); +} +function pyt(e) { + return p8e(dyt, e); +} +function Jre(e) { + return f8e(fyt, e); +} +function Pt(e) { + return t1t(jre, e); +} +function Oo(e) { + return r1t(aUn, e); +} +function Bt(e) { + return o1t(myt, e); +} +function cEe(e) { + return a1t(iUn, e); +} +function w3(e) { + return i1t(sUn, e); +} +function Gr() { + return s1t(lUn); +} +function Sn() { + return l1t(cUn); +} +function uEe(e) { + return c1t(uUn, e); +} +function je(e, t) { + return u1t(dUn, e, t); +} +function Te(e, t) { + let n = { type: "object", shape: e ?? {}, ...or(t) }; + return new hyt(n); +} +function wt(e, t) { + return new hyt({ type: "object", shape: e, catchall: Sn(), ...or(t) }); +} +function Jt(e, t) { + return new gyt({ type: "union", options: e, ...or(t) }); +} +function dm(e, t, n) { + return new pUn({ type: "union", options: t, discriminator: e, ...or(n) }); +} +function cy(e, t) { + return new fUn({ type: "intersection", left: e, right: t }); +} +function Wt(e, t, n) { + if (!t || !t._zod) + return new oyt({ type: "record", keyType: Q(), valueType: e, ...or(t) }); + return new oyt({ type: "record", keyType: e, valueType: t, ...or(n) }); +} +function tr(e, t) { + let n = Array.isArray(e) ? Object.fromEntries(e.map((r) => [r, r])) : e; + return new iEe({ type: "enum", entries: n, ...or(t) }); +} +function Ce(e, t) { + return new mUn({ + type: "literal", + values: Array.isArray(e) ? e : [e], + ...or(t), + }); +} +function yyt(e) { + return new hUn({ type: "transform", transform: e }); +} +function Rn(e) { + return new vyt({ type: "optional", innerType: e }); +} +function gUn(e) { + return new byt({ type: "optional", innerType: e }); +} +function ayt(e) { + return new yUn({ type: "nullable", innerType: e }); +} +function bUn(e, t) { + return new vUn({ + type: "default", + innerType: e, + get defaultValue() { + return typeof t === "function" ? t() : M5e(t); + }, + }); +} +function AUn(e, t) { + return new xUn({ + type: "prefault", + innerType: e, + get defaultValue() { + return typeof t === "function" ? t() : M5e(t); + }, + }); +} +function wUn(e, t) { + return new xyt({ type: "nonoptional", innerType: e, ...or(t) }); +} +function CUn(e, t) { + return new SUn({ + type: "catch", + innerType: e, + catchValue: typeof t === "function" ? t : iht(t), + }); +} +function iyt(e, t) { + return new Ayt({ type: "pipe", in: e, out: t }); +} +function TUn(e) { + return new IUn({ type: "readonly", innerType: e }); +} +function w_(e) { + return new kUn({ type: "lazy", getter: e }); +} +function eI(e, t) { + return d1t(wyt, e ?? (() => !0), t); +} +function RUn(e, t = {}) { + return p1t(wyt, e, t); +} +function PUn(e, t) { + return f1t(e, t); +} +function ax(e, t) { + return new EUn({ type: "pipe", in: yyt(e), out: t }); +} +var xs, + syt, + lyt, + Vl, + sEe, + lEe, + cyt, + uyt, + dyt, + GFn, + Yre, + fyt, + qFn, + ZFn, + QFn, + XFn, + WFn, + YFn, + KFn, + JFn, + jFn, + $Fn, + eUn, + tUn, + nUn, + rUn, + oUn, + jre, + aUn, + myt, + iUn, + sUn, + lUn, + cUn, + uUn, + dUn, + hyt, + gyt, + pUn, + fUn, + oyt, + iEe, + mUn, + hUn, + vyt, + byt, + yUn, + vUn, + xUn, + xyt, + SUn, + Ayt, + EUn, + IUn, + kUn, + wyt; +var $re = P(() => { + ly(); + ly(); + nEe(); + qre(); + kgt(); + rEe(); + aEe(); + ((xs = Lt( + "ZodType", + (e, t) => (VFn(), os.init(e, t), (e.def = t), (e.type = t.type), e), + { + check(...e) { + let t = this.def; + return this.clone( + Dg(t, { + checks: [ + ...(t.checks ?? []), + ...e.map((n) => + typeof n === "function" + ? { + _zod: { + check: n, + def: { check: "custom" }, + onattach: [], + }, + } + : n, + ), + ], + }), + { parent: !0 }, + ); + }, + with(...e) { + return this.check(...e); + }, + clone(e, t) { + return F2(this, e, t); + }, + brand() { + return this; + }, + register(e, t) { + return (e.add(this, t), this); + }, + refine(e, t) { + return this.check(RUn(e, t)); + }, + superRefine(e, t) { + return this.check(PUn(e, t)); + }, + overwrite(e) { + return this.check(M6(e)); + }, + optional() { + return Rn(this); + }, + exactOptional() { + return gUn(this); + }, + nullable() { + return ayt(this); + }, + nullish() { + return Rn(ayt(this)); + }, + nonoptional(e) { + return wUn(this, e); + }, + array() { + return je(this); + }, + or(e) { + return Jt([this, e]); + }, + and(e) { + return cy(this, e); + }, + transform(e) { + return iyt(this, yyt(e)); + }, + default(e) { + return bUn(this, e); + }, + prefault(e) { + return AUn(this, e); + }, + catch(e) { + return CUn(this, e); + }, + pipe(e) { + return iyt(this, e); + }, + readonly() { + return TUn(this); + }, + describe(e) { + let t = this.clone(); + return (P6.add(t, { description: e }), t); + }, + meta(...e) { + if (e.length === 0) return P6.get(this); + let t = this.clone(); + return (P6.add(t, e[0]), t); + }, + isOptional() { + return this.safeParse(void 0).success; + }, + isNullable() { + return this.safeParse(null).success; + }, + apply(e, ...t) { + return t.length === 0 ? e(this) : e(this, ...t); + }, + get "~standard"() { + return xre(this, "~standard", { + ...j5e(this), + jsonSchema: { input: y_(this, "input"), output: y_(this, "output") }, + }); + }, + set "~standard"(e) { + A3(this, "~standard", e); + }, + parse: function e(t, n) { + return X1t(this, t, n, { callee: e }); + }, + parseAsync: async function e(t, n) { + return await W1t(this, t, n, { callee: e }); + }, + safeParse(e, t) { + return Wre(this, e, t); + }, + async safeParseAsync(e, t) { + return Y1t(this, e, t); + }, + get spa() { + return this?.safeParseAsync; + }, + set spa(e) { + A3(this, "spa", e); + }, + validate(e, t) { + return H5e(this, e, t); + }, + validateAsync(e, t) { + return V5e(this, e, t); + }, + encode: function e(t, n) { + return K1t(this, t, n, { callee: e }); + }, + decode: function e(t, n) { + return J1t(this, t, n, { callee: e }); + }, + encodeAsync: async function e(t, n) { + return await j1t(this, t, n, { callee: e }); + }, + decodeAsync: async function e(t, n) { + return await $1t(this, t, n, { callee: e }); + }, + safeEncode(e, t) { + return eyt(this, e, t); + }, + safeDecode(e, t) { + return tyt(this, e, t); + }, + async safeEncodeAsync(e, t) { + return nyt(this, e, t); + }, + async safeDecodeAsync(e, t) { + return ryt(this, e, t); + }, + toJSONSchema(e) { + return x1t(this, {})(e); + }, + get description() { + return P6.get(this)?.description; + }, + get _def() { + return this._zod.def; + }, + }, + )), + (syt = Lt( + "_ZodString", + (e, t) => { + (Mre.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => P8e(e, n, r, o))); + }, + aht( + { + format: (e) => y0(e).format ?? null, + minLength: (e) => y0(e).minimum ?? null, + maxLength: (e) => y0(e).maximum ?? null, + }, + { + regex(...e) { + return this.check(g8e(...e)); + }, + includes(...e) { + return this.check(b8e(...e)); + }, + startsWith(...e) { + return this.check(x8e(...e)); + }, + endsWith(...e) { + return this.check(A8e(...e)); + }, + min(...e) { + return this.check(V9(...e)); + }, + max(...e) { + return this.check(Vre(...e)); + }, + length(...e) { + return this.check(Gre(...e)); + }, + nonempty(...e) { + return this.check(V9(1, ...e)); + }, + lowercase(e) { + return this.check(y8e(e)); + }, + uppercase(e) { + return this.check(v8e(e)); + }, + trim() { + return this.check(S8e()); + }, + normalize(...e) { + return this.check(w8e(...e)); + }, + toLowerCase() { + return this.check(C8e()); + }, + toUpperCase() { + return this.check(E8e()); + }, + slugify() { + return this.check(I8e()); + }, + }, + ), + )), + (lyt = Lt( + "ZodString", + (e, t) => { + (Mre.init(e, t), syt.init(e, t)); + }, + { + email(e) { + return this.check(p8e(dyt, e)); + }, + url(e) { + return this.check(f8e(fyt, e)); + }, + jwt(e) { + return this.check(e1t(oUn, e)); + }, + emoji(e) { + return this.check(_gt(qFn, e)); + }, + guid(e) { + return this.check(Ogt(GFn, e)); + }, + uuid(e) { + return this.check(Fgt(Yre, e)); + }, + uuidv4(e) { + return this.check(Ugt(Yre, e)); + }, + uuidv6(e) { + return this.check(Ngt(Yre, e)); + }, + uuidv7(e) { + return this.check(zgt(Yre, e)); + }, + nanoid(e) { + return this.check(Hgt(ZFn, e)); + }, + cuid(e) { + return this.check(Vgt(QFn, e)); + }, + cuid2(e) { + return this.check(Ggt(XFn, e)); + }, + ulid(e) { + return this.check(qgt(WFn, e)); + }, + base64(e) { + return this.check(Jgt(tUn, e)); + }, + base64url(e) { + return this.check(jgt(nUn, e)); + }, + xid(e) { + return this.check(Zgt(YFn, e)); + }, + ksuid(e) { + return this.check(Qgt(KFn, e)); + }, + ipv4(e) { + return this.check(Xgt(JFn, e)); + }, + ipv6(e) { + return this.check(Wgt(jFn, e)); + }, + cidrv4(e) { + return this.check(Ygt($Fn, e)); + }, + cidrv6(e) { + return this.check(Kgt(eUn, e)); + }, + e164(e) { + return this.check($gt(rUn, e)); + }, + datetime(e) { + return this.check(Ure(sEe, e)); + }, + date(e) { + return this.check(Nre(lEe, e)); + }, + time(e) { + return this.check(m8e(cyt, e)); + }, + duration(e) { + return this.check(h8e(uyt, e)); + }, + }, + ))); + ((Vl = Lt("ZodStringFormat", (e, t) => { + (js.init(e, t), syt.init(e, t)); + })), + (sEe = Lt("ZodISODateTime", (e, t) => { + (F0t.init(e, t), Vl.init(e, t)); + })), + (lEe = Lt("ZodISODate", (e, t) => { + (U0t.init(e, t), Vl.init(e, t)); + })), + (cyt = Lt("ZodISOTime", (e, t) => { + (N0t.init(e, t), Vl.init(e, t)); + })), + (uyt = Lt("ZodISODuration", (e, t) => { + (z0t.init(e, t), Vl.init(e, t)); + })), + (dyt = Lt("ZodEmail", (e, t) => { + (E0t.init(e, t), Vl.init(e, t)); + }))); + ((GFn = Lt("ZodGUID", (e, t) => { + (S0t.init(e, t), Vl.init(e, t)); + })), + (Yre = Lt("ZodUUID", (e, t) => { + (C0t.init(e, t), Vl.init(e, t)); + })), + (fyt = Lt("ZodURL", (e, t) => { + (k0t.init(e, t), Vl.init(e, t)); + }))); + ((qFn = Lt("ZodEmoji", (e, t) => { + (R0t.init(e, t), Vl.init(e, t)); + })), + (ZFn = Lt("ZodNanoID", (e, t) => { + (P0t.init(e, t), Vl.init(e, t)); + })), + (QFn = Lt("ZodCUID", (e, t) => { + (M0t.init(e, t), Vl.init(e, t)); + })), + (XFn = Lt("ZodCUID2", (e, t) => { + (D0t.init(e, t), Vl.init(e, t)); + })), + (WFn = Lt("ZodULID", (e, t) => { + (L0t.init(e, t), Vl.init(e, t)); + })), + (YFn = Lt("ZodXID", (e, t) => { + (B0t.init(e, t), Vl.init(e, t)); + })), + (KFn = Lt("ZodKSUID", (e, t) => { + (O0t.init(e, t), Vl.init(e, t)); + })), + (JFn = Lt("ZodIPv4", (e, t) => { + (_0t.init(e, t), Vl.init(e, t)); + })), + (jFn = Lt("ZodIPv6", (e, t) => { + (V0t.init(e, t), Vl.init(e, t)); + })), + ($Fn = Lt("ZodCIDRv4", (e, t) => { + (G0t.init(e, t), Vl.init(e, t)); + })), + (eUn = Lt("ZodCIDRv6", (e, t) => { + (q0t.init(e, t), Vl.init(e, t)); + })), + (tUn = Lt("ZodBase64", (e, t) => { + (Q0t.init(e, t), Vl.init(e, t)); + })), + (nUn = Lt("ZodBase64URL", (e, t) => { + (X0t.init(e, t), Vl.init(e, t)); + })), + (rUn = Lt("ZodE164", (e, t) => { + (W0t.init(e, t), Vl.init(e, t)); + })), + (oUn = Lt("ZodJWT", (e, t) => { + (Y0t.init(e, t), Vl.init(e, t)); + })), + (jre = Lt( + "ZodNumber", + (e, t) => { + (e8e.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => M8e(e, n, r, o)), + (e.isFinite = !0)); + }, + aht( + { + minValue: (e) => { + let { minimum: t, exclusiveMinimum: n } = y0(e); + return Math.max( + t ?? Number.NEGATIVE_INFINITY, + n ?? Number.NEGATIVE_INFINITY, + ); + }, + maxValue: (e) => { + let { maximum: t, exclusiveMaximum: n } = y0(e); + return Math.min( + t ?? Number.POSITIVE_INFINITY, + n ?? Number.POSITIVE_INFINITY, + ); + }, + isInt: (e) => { + let { isInt: t, multipleOf: n } = y0(e); + return !!t || !!n?.some(Number.isSafeInteger); + }, + format: (e) => y0(e).format ?? null, + }, + { + gt(e, t) { + return this.check(_re(e, t)); + }, + gte(e, t) { + return this.check(h_(e, t)); + }, + min(e, t) { + return this.check(h_(e, t)); + }, + lt(e, t) { + return this.check(zre(e, t)); + }, + lte(e, t) { + return this.check(m_(e, t)); + }, + max(e, t) { + return this.check(m_(e, t)); + }, + int(e) { + return this.check(Oo(e)); + }, + safe(e) { + return this.check(Oo(e)); + }, + positive(e) { + return this.check(_re(0, e)); + }, + nonnegative(e) { + return this.check(h_(0, e)); + }, + negative(e) { + return this.check(zre(0, e)); + }, + nonpositive(e) { + return this.check(m_(0, e)); + }, + multipleOf(e, t) { + return this.check(Hre(e, t)); + }, + step(e, t) { + return this.check(Hre(e, t)); + }, + finite() { + return this; + }, + }, + ), + ))); + aUn = Lt("ZodNumberFormat", (e, t) => { + (K0t.init(e, t), jre.init(e, t)); + }); + myt = Lt("ZodBoolean", (e, t) => { + (J0t.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => D8e(e, n, r, o))); + }); + iUn = Lt("ZodUndefined", (e, t) => { + (j0t.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => B8e(e, n, r, o))); + }); + sUn = Lt("ZodNull", (e, t) => { + ($0t.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => L8e(e, n, r, o))); + }); + lUn = Lt("ZodAny", (e, t) => { + (egt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => F8e(e, n, r, o))); + }); + cUn = Lt("ZodUnknown", (e, t) => { + (tgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => U8e(e, n, r, o))); + }); + uUn = Lt("ZodNever", (e, t) => { + (ngt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => O8e(e, n, r, o))); + }); + dUn = Lt( + "ZodArray", + (e, t) => { + (Kre(), + rgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => V8e(e, n, r, o)), + (e.element = t.element)); + }, + { + min(e, t) { + return this.check(V9(e, t)); + }, + nonempty(e) { + return this.check(V9(1, e)); + }, + max(e, t) { + return this.check(Vre(e, t)); + }, + length(e, t) { + return this.check(Gre(e, t)); + }, + unwrap() { + return this.element; + }, + }, + ); + hyt = Lt( + "ZodObject", + (e, t) => { + (Kre(), + igt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => G8e(e, n, r, o)), + JOn(e, "shape", (n) => n._zod.def.shape, !1)); + }, + { + keyof() { + return tr(Object.keys(this._zod.def.shape)); + }, + catchall(e) { + return this.clone(Dg(this._zod.def, { catchall: e })); + }, + passthrough() { + return this.clone(Dg(this._zod.def, { catchall: Sn() })); + }, + loose() { + return this.clone(Dg(this._zod.def, { catchall: Sn() })); + }, + strict() { + return this.clone(Dg(this._zod.def, { catchall: uEe() })); + }, + strip() { + return this.clone(Dg(this._zod.def, { catchall: void 0 })); + }, + extend(e) { + return GOn(this, e); + }, + safeExtend(e) { + return qOn(this, e); + }, + merge(e) { + return ZOn(this, e); + }, + pick(e) { + return HOn(this, e); + }, + omit(e) { + return VOn(this, e); + }, + partial(...e) { + return tht(vyt, this, e[0]); + }, + exactPartial(...e) { + return tht(byt, this, e[0], "exactPartial"); + }, + required(...e) { + return QOn(xyt, this, e[0]); + }, + }, + ); + gyt = Lt("ZodUnion", (e, t) => { + (t8e.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => q8e(e, n, r, o)), + (e.options = t.options)); + }); + pUn = Lt("ZodDiscriminatedUnion", (e, t) => { + (gyt.init(e, t), sgt.init(e, t)); + }); + fUn = Lt("ZodIntersection", (e, t) => { + (lgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => Z8e(e, n, r, o))); + }); + oyt = Lt("ZodRecord", (e, t) => { + (Kre(), + cgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => Q8e(e, n, r, o)), + (e.keyType = t.keyType), + (e.valueType = t.valueType)); + }); + iEe = Lt("ZodEnum", (e, t) => { + (ugt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (r, o, a) => N8e(e, r, o, a)), + (e.enum = t.entries), + (e.options = [...e._zod.values])); + let n = new Set(Object.keys(t.entries)); + ((e.extract = (r, o) => { + let a = {}; + for (let i of r) + if (n.has(i)) a[i] = t.entries[i]; + else throw Error(`Key ${i} not found in enum`); + return new iEe({ ...t, checks: [], ...or(o), entries: a }); + }), + (e.exclude = (r, o) => { + let a = { ...t.entries }; + for (let i of r) + if (n.has(i)) delete a[i]; + else throw Error(`Key ${i} not found in enum`); + return new iEe({ ...t, checks: [], ...or(o), entries: a }); + })); + }); + mUn = Lt("ZodLiteral", (e, t) => { + (dgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => z8e(e, n, r, o)), + (e.values = new Set(t.values)), + Object.defineProperty(e, "value", { + get() { + if (t.values.length > 1) + throw Error( + "This schema contains multiple valid literal values. Use `.values` instead.", + ); + return t.values[0]; + }, + })); + }); + hUn = Lt("ZodTransform", (e, t) => { + (Kre(), + pgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => H8e(e, n, r, o)), + (e._zod.parse = (n, r) => { + if (r.direction === "backward") throw new l_(e.constructor.name); + n.addIssue = (a) => { + if (typeof a === "string") n.issues.push(jE(a, n.value, t)); + else { + let i = a; + if (i.fatal) i.continue = !1; + if ((i.code ?? (i.code = "custom"), !("input" in i))) + i.input = n.value; + (i.inst ?? (i.inst = e), n.issues.push(jE(i))); + } + }; + let o = t.transform(n.value, n); + if (o instanceof Promise) return o.then((a) => ((n.value = a), n)); + return ((n.value = o), n); + })); + }); + vyt = Lt("ZodOptional", (e, t) => { + (n8e.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => Zre(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType)); + }); + byt = Lt("ZodExactOptional", (e, t) => { + (fgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => Zre(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType)); + }); + yUn = Lt("ZodNullable", (e, t) => { + (mgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => X8e(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType)); + }); + vUn = Lt("ZodDefault", (e, t) => { + (hgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => K8e(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType), + (e.removeDefault = e.unwrap)); + }); + xUn = Lt("ZodPrefault", (e, t) => { + (ggt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => J8e(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType)); + }); + xyt = Lt("ZodNonOptional", (e, t) => { + (ygt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => W8e(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType)); + }); + SUn = Lt("ZodCatch", (e, t) => { + (vgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => j8e(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType), + (e.removeCatch = e.unwrap)); + }); + Ayt = Lt("ZodPipe", (e, t) => { + (r8e.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => $8e(e, n, r, o)), + (e.in = t.in), + (e.out = t.out)); + }); + ((EUn = Lt("ZodPreprocess", (e, t) => { + (Ayt.init(e, t), bgt.init(e, t)); + })), + (IUn = Lt("ZodReadonly", (e, t) => { + (xgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => eEe(e, n, r, o)), + (e.unwrap = () => e._zod.def.innerType)); + }))); + kUn = Lt("ZodLazy", (e, t) => { + (Agt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => tEe(e, n, r, o)), + (e.unwrap = () => e._zod.def.getter())); + }); + wyt = Lt("ZodCustom", (e, t) => { + (wgt.init(e, t), + xs.init(e, t), + (e._zod.processJSONSchema = (n, r, o) => _8e(e, n, r, o))); + }); +}); +var Cyt, Syt; +var Eyt = P(() => { + Cyt = { + invalid_type: "invalid_type", + too_big: "too_big", + too_small: "too_small", + invalid_format: "invalid_format", + not_multiple_of: "not_multiple_of", + unrecognized_keys: "unrecognized_keys", + invalid_union: "invalid_union", + invalid_key: "invalid_key", + invalid_element: "invalid_element", + invalid_value: "invalid_value", + custom: "custom", + }; + (function (e) {})(Syt || (Syt = {})); +}); +function S_(e) { + return Ure(sEe, e); +} +function DUn(e) { + return Nre(lEe, e); +} +var Iyt = P(() => { + ly(); + $re(); +}); +function LUn(e) { + return n1t(jre, e); +} +var kyt = P(() => { + ly(); + $re(); +}); +var pEe = P(() => { + ly(); + ly(); + nEe(); + c8e(); + Iyt(); + kyt(); + $re(); + rEe(); + oEe(); + aEe(); + Eyt(); +}); +var Ryt = ({ form: e, disabled: t, onSubmit: n, children: r, ...o }) => + h(mre, { + ...e, + children: h("form", { + onSubmit: (a) => (a.stopPropagation(), a.preventDefault(), n?.(a)), + ...o, + children: h("fieldset", { + disabled: t || e.formState.isSubmitting, + className: "min-w-0", + children: r, + }), + }), + }), + CCo; +var Pyt = P(() => { + rs(); + x2(); + b3(); + le(); + CCo = kc("flex items-start gap-1 whitespace-normal break-words text-error", { + variants: { + variant: { + none: "", + default: "w-full px-4 text-body-small", + large: "gap-2 text-left text-body-medium", + }, + }, + defaultVariants: { variant: "default" }, + }); +}); +class Myt { + idGenerator = 0; + listeners = new Map(); + states = new Map(); + components = new Map(); + create(e, t) { + let n = this.getId(); + return ( + this.components.set(n, () => e({ id: n, ...t })), + this.states.set(n, { open: !0 }), + this.listeners.set(n, new Set()), + this.notifyGlobalListeners(), + new Promise((r) => { + let o = setInterval(() => { + if (!this.components.has(n)) (clearInterval(o), r()); + }, 100); + }) + ); + } + getId() { + return ++this.idGenerator; + } + getState(e) { + return this.states.get(e); + } + setState(e, t) { + let n = this.states.get(e); + if (!n) return; + let r = { ...n, ...t }; + this.states.set(e, r); + let o = this.listeners.get(e); + if (o) o.forEach((a) => a(r)); + } + subscribe(e, t) { + let n = this.listeners.get(e); + if (n) n.add(t); + return () => { + let r = this.listeners.get(e); + if (r) r.delete(t); + }; + } + globalListeners = new Set(); + subscribeGlobal(e) { + return ( + this.globalListeners.add(e), + () => { + this.globalListeners.delete(e); + } + ); + } + notifyGlobalListeners() { + this.globalListeners.forEach((e) => e()); + } + getComponents() { + return Array.from(this.components.entries()); + } + isAnyDialogOpen() { + return Array.from(this.states.values()).some((e) => e.open); + } + remove(e) { + let t = this.getState(e); + if (!t) console.error(Error(`Dialog ${e} not registered!`)); + else if (t.open === !1) + (this.components.delete(e), + this.states.delete(e), + this.listeners.delete(e), + this.notifyGlobalListeners()); + } +} +function BUn({ id: e }) { + return ( + U2.useEffect( + () => () => { + Fc.remove(e); + }, + [e], + ), + null + ); +} +function N2(e) { + let [t, n] = U2.useState(() => { + let r = Fc.getState(e.id); + if (!r) throw Error(`Dialog ${e.id} does not exist!`); + return r; + }); + return ( + U2.useEffect(() => Fc.subscribe(e.id, n), [e.id]), + { ...e, state: t } + ); +} +function toe() { + let [, e] = U2.useState({}); + U2.useEffect( + () => + Fc.subscribeGlobal(() => { + e({}); + }), + [], + ); + let t = Fc.getComponents(); + return h(Ht, { children: t.map(([n, r]) => h(r, {}, n)) }); +} +function Bg({ + form: e, + dialog: t, + onSubmit: n, + onSubmitSecond: r, + onCancelled: o = !0, + invertButtonFocus: a, + ...i +}) { + let s = (m) => Fc.setState(t.id, { open: m }), + l = h(X9, { + asChild: !0, + children: h(Q9, { + danger: i.cancelDanger, + onClick: typeof o === "function" ? o : void 0, + children: i.cancelLabel || "Cancel", + }), + }), + c = h(X9, { + asChild: !0, + children: h(Q9, { + disabled: i.loading, + onClick: typeof o === "function" ? o : void 0, + children: i.closeLabel || "Close", + }), + }), + u = i.errorMessageException + ? !e.formState.isValid && + !e.formState.errors.root?.serverError?.message?.startsWith( + i.errorMessageException, + ) + : !e.formState.isValid, + d = e.formState.isSubmitting || i.submitDisabled || u, + p = i.ctaLabel + ? !i.ctaSecondLabel + ? h(Q9, { + type: "submit", + disabled: d, + danger: i.ctaDanger, + onClick: async (m) => { + (m.preventDefault(), await n?.(m), t.onSubmit?.()); + }, + children: i.ctaLabel, + }) + : M("div", { + className: "flex flex-row gap-x-2", + children: [ + h(Q9, { + type: "submit", + disabled: d, + danger: i.ctaDanger, + onClick: async (m) => { + (m.preventDefault(), await n?.(m), t.onSubmit?.()); + }, + children: i.ctaLabel, + }), + h(Q9, { + type: "submit", + disabled: d, + onClick: async (m) => { + (m.preventDefault(), await r?.(m), t.onSubmit?.()); + }, + children: i.ctaSecondLabel, + }), + ], + }) + : null, + f = i.buttonsSideContent || (!i.hideButtons && (p || i.cancelBtn || o)); + return M(JSe, { + open: t.state.open, + onOpenChange: (m) => s(m), + disablePointerDismissal: i.ignoreClickOutside, + children: [ + i.trigger && h(C_, { asChild: !0, children: i.trigger }), + M(YN, { + children: [ + h(kN, { className: Ve("fixed inset-0 z-[102] bg-scrim/32", Dyt) }), + h(Bst, { + className: + "fixed inset-0 z-[103] grid place-items-center overflow-y-auto", + children: M(XN, { + className: Ve("my-8 outline-none", Lyt), + style: { transformOrigin: i.transformOrigin || "center" }, + children: [ + M(Ryt, { + form: e, + onSubmit: async (m) => { + if ((m?.preventDefault(), n)) await n(m); + }, + className: Ve(Byt, i.formClassName), + children: [ + !i.hideHeader && + M("div", { + className: Ve( + "mb-4 flex flex-col gap-4", + i.icon ? "items-center text-center" : "items-start", + ), + children: [ + i.icon && + h("span", { + className: "flex text-secondary", + children: Gd(i.icon, { size: 24 }), + }), + h(KN, { + className: "text-headline-small text-on-surface", + children: i.title, + }), + ], + }), + M("div", { + className: + "flex-1 overflow-auto text-body-medium text-on-surface-variant", + children: [ + i.description && + h(PN, { + className: + "mb-4 text-body-medium text-on-surface-variant", + children: i.description, + }), + i.children, + ], + }), + f && + M("div", { + className: "mt-6 flex items-center justify-end gap-2", + children: [ + e.formState.isSubmitting && h(fmt, {}), + i.buttonsSideContent && + h("div", { children: i.buttonsSideContent }), + h("div", { className: "grow" }), + !i.hideButtons && + h("div", { + className: Ve( + a ? "flex-row-reverse" : "flex-row", + "flex gap-2", + ), + children: a + ? M(Ht, { + children: [p, i.cancelBtn && l, o && c], + }) + : M(Ht, { + children: [o && c, i.cancelBtn && l, p], + }), + }), + ], + }), + ], + }), + h(BUn, { id: t.id }), + ], + }), + }), + ], + }), + ], + }); +} +var U2, + Fc, + Dyt, + Lyt, + Byt, + OUn, + Q9, + fEe, + C_, + FUn, + UUn, + X9, + mEe = ({ className: e, ...t }) => + h(kN, { + className: io(Ve("fixed inset-0 z-50 bg-scrim/32", Dyt), e), + ...t, + }), + noe = ({ className: e, children: t, forceMount: n, ...r }) => + M(UUn, { + keepMounted: n, + children: [ + h(mEe, {}), + M(XN, { + className: io( + Ve( + "fixed left-1/2 top-1/2 z-50 w-[calc(100%-48px)] -translate-x-1/2 -translate-y-1/2 gap-4 outline-none", + Byt, + Lyt, + ), + e, + ), + ...r, + children: [ + t, + M(RN, { + className: Ve( + "absolute right-3 top-3 inline-flex size-10 items-center justify-center rounded-full outline-none", + "text-on-surface-variant transition-colors duration-200 ease-standard", + "hover:bg-on-surface-variant/8 active:bg-on-surface-variant/10", + "focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary", + "disabled:pointer-events-none", + ), + children: [ + h(at, { name: "close", size: 24 }), + h("span", { className: "sr-only", children: "Close" }), + ], + }), + ], + }), + ], + }), + Oyt = ({ className: e, ...t }) => + h("div", { className: Ve("flex flex-col gap-4 text-left", e), ...t }), + Fyt = ({ className: e, ...t }) => + h("div", { + className: Ve( + "flex flex-row flex-wrap items-center justify-end gap-2 pt-2", + e, + ), + ...t, + }), + roe = ({ className: e, ...t }) => + h(KN, { className: io("text-headline-small text-on-surface", e), ...t }), + ooe = ({ className: e, ...t }) => + h(PN, { + className: io("text-body-medium text-on-surface-variant", e), + ...t, + }); +var hEe = P(() => { + Vst(); + x2(); + rn(); + V1(); + n0(); + mmt(); + Pyt(); + le(); + U2 = z(re(), 1); + Fc = new Myt(); + ((Dyt = Ve( + "transition-opacity duration-300 ease-emphasized-decelerate", + "data-starting-style:opacity-0", + "data-ending-style:opacity-0 data-ending-style:duration-200 data-ending-style:ease-emphasized-accelerate", + )), + (Lyt = Ve( + "transition-[opacity,scale] duration-300 ease-emphasized-decelerate", + "data-starting-style:scale-95 data-starting-style:opacity-0", + "data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-200 data-ending-style:ease-emphasized-accelerate", + )), + (Byt = Ve( + "flex min-w-[280px] max-w-[560px] flex-col p-6", + "rounded-extra-large bg-surface-container-high text-on-surface shadow-md3-3", + )), + (OUn = kc( + [ + "inline-flex h-10 shrink-0 items-center justify-center gap-2 rounded-full px-3 outline-none", + "text-label-large transition-colors duration-200 ease-standard", + "focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary", + "disabled:pointer-events-none disabled:text-on-surface/38", + ], + { + variants: { + tone: { + primary: + "text-primary hover:bg-primary/8 active:bg-primary/10 focus-visible:bg-primary/10", + danger: + "text-error hover:bg-error/8 active:bg-error/10 focus-visible:bg-error/10", + }, + }, + defaultVariants: { tone: "primary" }, + }, + )), + (Q9 = U2.forwardRef( + ({ danger: e, className: t, type: n = "button", ...r }, o) => + h("button", { + ref: o, + type: n, + className: Ve(OUn({ tone: e ? "danger" : "primary" }), t), + ...r, + }), + ))); + Q9.displayName = "DialogAction"; + ((fEe = JSe), + (C_ = U2.forwardRef(({ asChild: e, children: t, ...n }, r) => + h(hte, { ref: r, ...am(e, t), ...n }), + ))); + C_.displayName = "DialogTrigger"; + (({ Portal: FUn, EnsurePortal: UUn } = V4(YN, "DialogPortal")), + (X9 = U2.forwardRef(({ asChild: e, children: t, ...n }, r) => + h(RN, { ref: r, ...am(e, t), ...n }), + ))); + X9.displayName = "DialogClose"; + mEe.displayName = "DialogOverlay"; + noe.displayName = "DialogContent"; + Oyt.displayName = "DialogHeader"; + Fyt.displayName = "DialogFooter"; + roe.displayName = "DialogTitle"; + ooe.displayName = "DialogDescription"; +}); +function uy(e) { + let t = aoe.useContext(gEe); + if (t === void 0 && !e) throw Error(Dn(47)); + return t; +} +var aoe, gEe; +var tI = P(() => { + zo(); + ((aoe = z(re(), 1)), (gEe = aoe.createContext(void 0))); +}); +function zUn(e, t, n, r = !1) { + let o = { + ...o6(t, n, r), + disabled: !1, + modal: !1, + focusManagerModal: !1, + instantType: void 0, + openMethod: null, + openChangeReason: null, + titleElementId: void 0, + descriptionElementId: void 0, + stickIfOpen: !0, + openOnHover: !1, + closeDelay: 0, + adaptiveOrigin: void 0, + ...e, + }; + if (o.open && e?.mounted === void 0) o.mounted = !0; + return o; +} +function _Un(e) { + return { + popupRef: ioe.createRef(), + onOpenChange: void 0, + onOpenChangeComplete: void 0, + triggerFocusTargetRef: ioe.createRef(), + beforeContentFocusGuardRef: ioe.createRef(), + stickIfOpenTimeout: new kp(), + triggerElements: e, + }; +} +var ioe, NUn, yEe; +var Uyt = P(() => { + bd(); + yE(); + Rp(); + ko(); + Sd(); + Ig(); + ((ioe = z(re(), 1)), + (NUn = { + ...a6, + disabled: (e) => e.disabled, + instantType: (e) => e.instantType, + openMethod: (e) => e.openMethod, + openChangeReason: (e) => e.openChangeReason, + modal: (e) => e.modal, + focusManagerModal: (e) => e.focusManagerModal, + stickIfOpen: (e) => e.stickIfOpen, + titleElementId: (e) => e.titleElementId, + descriptionElementId: (e) => e.descriptionElementId, + openOnHover: (e) => e.openOnHover, + closeDelay: (e) => e.closeDelay, + adaptiveOrigin: (e) => e.adaptiveOrigin, + })); + yEe = class yEe extends Tg { + constructor(e, t, n) { + let r = new R2(); + super(zUn(e, r, t, n), _Un(r), NUn); + } + setOpen = (e, t) => { + let n = t.reason === sc, + r = t.reason === Ib && t.event.detail === 0, + o = !e && (t.reason === pN || t.reason == null), + a = _N(t), + i = this.select("activeTriggerId"); + if (!e && t.reason === bwe && t.trigger == null && i != null) + t.trigger = + this.context.triggerElements.getById(i) ?? + this.select("activeTriggerElement") ?? + void 0; + if ((this.context.onOpenChange?.(e, t), t.isCanceled)) return; + this.state.floatingRootContext.dispatchOpenChange(e, t); + let s = () => { + let c = bE(this.state, e, t.trigger, a()); + ((c.openChangeReason = t.reason), this.update(c)); + }; + if (n) + (this.set("stickIfOpen", !0), + this.context.stickIfOpenTimeout.start(Bee, () => { + this.set("stickIfOpen", !1); + }), + Ec(s)); + else s(); + let l; + if (r) l = "click"; + else if (o) l = "dismiss"; + else if (t.reason === _4) l = "focus"; + this.set("instantType", l); + }; + }; +}); +function zyt(e) { + if (uy(!0)) return h(Nyt, { props: e }); + return h(FN, { children: h(Nyt, { props: e }) }); +} +function HUn(e, t) { + let n = o9((r, o) => new yEe(t, r, o)); + return ( + E_.useEffect(() => n.context.stickIfOpenTimeout.disposeEffect(), [n]), + n + ); +} +function VUn({ store: e, modal: t }) { + let n = e.useState("floatingRootContext"), + r = k2(n, { + outsidePressEvent: { + mouse: t === "trap-focus" ? "sloppy" : "intentional", + touch: "sloppy", + }, + }), + { reference: o, floating: a } = r; + return ( + r6(e, { activeTriggerProps: o, inactiveTriggerProps: o, popupProps: a }), + null + ); +} +var E_, Nyt; +var _yt = P(() => { + zb(); + pl(); + tI(); + Uyt(); + ka(); + ko(); + Sd(); + le(); + ((E_ = z(re(), 1)), + (Nyt = s3(function ({ props: t }) { + let { + children: n, + open: r, + defaultOpen: o = !1, + onOpenChange: a, + onOpenChangeComplete: i, + modal: s = !1, + handle: l, + triggerId: c, + defaultTriggerId: u = null, + } = t, + d = HUn(l, { + modal: s, + open: o, + openProp: r, + activeTriggerId: u, + triggerIdProp: c, + }); + (d.useControlledProp("openProp", r), + d.useControlledProp("triggerIdProp", c)); + let p = d.useState("open"), + f = d.useState("mounted"), + m = d.useState("payload"); + (d.useContextCallback("onOpenChange", a), + d.useContextCallback("onOpenChangeComplete", i), + Xee(d, p), + t6(d)); + let { forceUnmount: g } = n6(p, d, () => { + d.update({ stickIfOpen: !0, openChangeReason: null }); + }); + (d.useSyncedValues({ modal: s }), + E_.useEffect(() => { + if (!p) d.context.stickIfOpenTimeout.clear(); + }, [d, p]), + E_.useImperativeHandle( + t.actionsRef, + () => ({ unmount: g, close: () => d.setOpen(!1, un(Y$)) }), + [g, d], + )); + let v = p || f; + return M(gEe.Provider, { + value: d, + children: [ + l && h($4, { handle: l, store: d }), + v && h(VUn, { store: d, modal: s }), + typeof n === "function" ? n({ payload: m }) : n, + ], + }); + }))); +}); +var Hyt = 300; +function soe(e, t) { + let n = Vyt.useRef(null); + function r(a) { + (Ec(() => { + e.setOpen(!1, un(_4, a.nativeEvent, a.currentTarget)); + }), + aat(n.current)?.focus()); + } + function o(a) { + let i = e.select("positionerElement"); + if (i && t3(a, i)) e.context.beforeContentFocusGuardRef.current?.focus(); + else { + Ec(() => { + e.setOpen(!1, un(_4, a.nativeEvent, a.currentTarget)); + }); + let s = oat(e.context.triggerFocusTargetRef.current || t.current); + while (s !== null && Ln(i, s)) { + let l = s; + if (((s = HP(s)), s === l)) break; + } + s?.focus(); + } + } + return { + preFocusGuardRef: n, + handlePreFocusGuardFocus: r, + handleFocusTargetFocus: o, + }; +} +var Vyt; +var vEe = P(() => { + bd(); + Cg(); + ka(); + ko(); + Vyt = z(re(), 1); +}); +var I_, Gyt; +var qyt = P(() => { + zo(); + zb(); + tI(); + TP(); + Ep(); + vr(); + Ig(); + pl(); + _l(); + LN(); + ko(); + Sd(); + vEe(); + ez(); + le(); + ((I_ = z(re(), 1)), + (Gyt = j4(function (t, n) { + let { + render: r, + className: o, + style: a, + disabled: i = !1, + nativeButton: s = !0, + handle: l, + payload: c, + openOnHover: u = !1, + delay: d = Hyt, + closeDelay: p = 0, + id: f, + ...m + } = t, + g = uy(!0), + y = i6(l) ?? g; + if (!y) throw Error(Dn(74)); + let x = go(f), + A = y.useState("isTriggerActive", x), + w = y.useState("floatingRootContext"), + C = y.useState("isOpenedByTrigger", x), + E = y.useState("triggerPopupId", x), + T = I_.useRef(null), + { registerTrigger: I, isMountedByThisTrigger: k } = e6(x, T, y, { + payload: c, + disabled: i, + openOnHover: u, + closeDelay: p, + }), + L = y.useState("openChangeReason"), + O = y.useState("stickIfOpen"), + B = y.useState("openMethod"), + U = y.useState("focusManagerModal"), + D = l3(w, { + enabled: !i && u && (B !== "touch" || L !== Ib), + mouseOnly: !0, + move: !1, + handleClose: c3(), + restMs: d, + delay: { close: p }, + triggerElementRef: T, + isActiveTrigger: A, + isClosing: () => y.select("transitionStatus") === "ending", + }), + N = T2(w, { stickIfOpen: O }), + _ = $N( + () => y.select("open"), + (ae) => { + y.set("openMethod", ae); + }, + ), + G = y.useState("triggerProps", k), + { getButtonProps: Z, buttonRef: q } = Ys({ disabled: i, native: s }), + H = { + open(ae) { + if (ae && L === Ib) return tE.open(ae); + return Mb.open(ae); + }, + }, + { + preFocusGuardRef: te, + handlePreFocusGuardFocus: ie, + handleFocusTargetFocus: j, + } = soe(y, T), + J = Zt("button", t, { + state: { disabled: i, open: C }, + ref: [q, n, I, T], + props: [ + N.reference, + D, + G, + _, + { + [t9]: "", + id: x, + "aria-haspopup": "dialog", + "aria-expanded": C, + "aria-controls": E, + }, + m, + Z, + ], + stateAttributesMapping: H, + }), + Y = h(I_.Fragment, { children: J }, x); + if (k && !U) + return M(I_.Fragment, { + children: [ + h(j1, { ref: te, onFocus: ie }), + Y, + h(j1, { ref: y.context.triggerFocusTargetRef, onFocus: j }), + ], + }); + return Y; + }))); +}); +function Zyt() { + let e = loe.useContext(bEe); + if (e === void 0) throw Error(Dn(45)); + return e; +} +var loe, bEe; +var xEe = P(() => { + zo(); + ((loe = z(re(), 1)), (bEe = loe.createContext(void 0))); +}); +var Qyt, Xyt; +var Wyt = P(() => { + pl(); + tI(); + xEe(); + le(); + ((Qyt = z(re(), 1)), + (Xyt = Qyt.forwardRef(function (t, n) { + let { keepMounted: r = !1, ...o } = t; + if (!(uy().useState("mounted") || r)) return null; + return h(bEe.Provider, { value: r, children: h(a3, { ref: n, ...o }) }); + }))); +}); +function Yyt() { + let e = coe.useContext(AEe); + if (!e) throw Error(Dn(46)); + return e; +} +var coe, AEe; +var wEe = P(() => { + zo(); + ((coe = z(re(), 1)), (AEe = coe.createContext(void 0))); +}); +function Kyt(e) { + return GUn(e, e.rootContext); +} +function GUn(e, t) { + let { nodeId: n, externalTree: r } = e, + o = t.useState("referenceElement"), + a = t.useState("floatingElement"), + i = t.useState("domReferenceElement"), + s = t.useState("open"), + l = t.useState("floatingId"), + [c, u] = pm.useState(null), + [d, p] = pm.useState(void 0), + [f, m] = pm.useState(void 0), + g = pm.useRef(null), + v = lm(r), + y = pm.useMemo( + () => ({ reference: o, floating: a, domReference: i }), + [o, a, i], + ), + x = gst({ ...e, elements: { ...y, ...(c && { reference: c }) } }), + A = Dr(d) ? d : null, + w = f === void 0 ? t.state.floatingElement : f; + (t.useSyncedValue("referenceElement", d ?? null), + t.useSyncedValue("domReferenceElement", d === void 0 ? i : A), + t.useSyncedValue("floatingElement", w)); + let C = pm.useCallback( + (O) => { + let B = Dr(O) + ? { + getBoundingClientRect: () => O.getBoundingClientRect(), + getClientRects: () => O.getClientRects(), + contextElement: O, + } + : O; + (u(B), x.refs.setReference(B)); + }, + [x.refs], + ), + E = pm.useCallback( + (O) => { + if (Dr(O) || O === null) ((g.current = O), p(O)); + if ( + Dr(x.refs.reference.current) || + x.refs.reference.current === null || + (O !== null && !Dr(O)) + ) + x.refs.setReference(O); + }, + [x.refs, p], + ), + T = pm.useCallback( + (O) => { + (m(O), x.refs.setFloating(O)); + }, + [x.refs], + ), + I = pm.useMemo( + () => ({ + ...x.refs, + setReference: E, + setFloating: T, + setPositionReference: C, + domReference: g, + }), + [x.refs, E, T, C], + ), + k = pm.useMemo(() => ({ ...x.elements, domReference: i }), [x.elements, i]), + L = pm.useMemo( + () => ({ + ...x, + dataRef: t.context.dataRef, + open: s, + onOpenChange: t.setOpen, + events: t.context.events, + floatingId: l, + refs: I, + elements: k, + nodeId: n, + rootStore: t, + }), + [x, I, k, n, t, s, l], + ); + return ( + Ct(() => { + if (i) g.current = i; + }, [i]), + Ct(() => { + t.context.dataRef.current.floatingContext = L; + let O = v?.nodesRef.current.find((B) => B.id === n); + if (O) O.context = L; + }), + pm.useMemo( + () => ({ ...x, context: L, refs: I, elements: k, rootStore: t }), + [x, I, k, L, t], + ) + ); +} +var pm; +var Jyt = P(() => { + Nr(); + VSe(); + vs(); + Nb(); + pm = z(re(), 1); +}); +var qUn = (e) => ({ + name: "arrow", + options: e, + async fn(t) { + let { + x: n, + y: r, + placement: o, + rects: a, + platform: i, + elements: s, + middlewareData: l, + } = t, + { + element: c, + padding: u = 0, + offsetParent: d = "real", + } = Lb(e, t) || {}; + if (c == null) return {}; + let p = fee(u), + f = { x: n, y: r }, + m = TN(o), + g = IN(m), + v = await i.getDimensions(c), + y = m === "y", + x = y ? "top" : "left", + A = y ? "bottom" : "right", + w = y ? "clientHeight" : "clientWidth", + C = a.reference[g] + a.reference[m] - f[m] - a.floating[g], + E = f[m] - a.reference[m], + T = d === "real" ? await i.getOffsetParent?.(c) : s.floating, + I = s.floating[w] || a.floating[g]; + if (!I || !(await i.isElement?.(T))) I = s.floating[w] || a.floating[g]; + let k = C / 2 - E / 2, + L = I / 2 - v[g] / 2 - 1, + O = Math.min(p[x], L), + B = Math.min(p[A], L), + U = O, + D = I - v[g] - B, + N = I / 2 - v[g] / 2 + k, + _ = dee(U, N, D), + G = + !l.arrow && + Q1(o) != null && + N !== _ && + a.reference[g] / 2 - (N < U ? O : B) - v[g] / 2 < 0, + Z = G ? (N < U ? N - U : N - D) : 0; + return { + [m]: f[m] + Z, + data: { + [m]: _, + centerOffset: N - _ - Z, + ...(G && { alignmentOffset: Z }), + }, + reset: G, + }; + }, + }), + jyt = (e, t) => { + let { name: n, fn: r } = qUn(e); + return { name: n, fn: r, options: [e, t] }; + }; +var $yt = P(() => { + aE(); +}); +var e2t; +var t2t = P(() => { + e2t = { + name: "hide", + async fn(e) { + let { width: t, height: n, x: r, y: o } = e.rects.reference, + a = t === 0 && n === 0 && r === 0 && o === 0, + i = await e.platform.detectOverflow(e, { elementContext: "reference" }); + return { + data: { + referenceHidden: + i.top - n >= 0 || + i.right - t >= 0 || + i.bottom - n >= 0 || + i.left - t >= 0 || + a, + }, + }; + }, + }; +}); +var n2t; +var r2t = P(() => { + n2t = { sideX: "left", sideY: "top" }; +}); +var o2t = "--available-width", + a2t = "--available-height", + i2t = "--anchor-width", + s2t = "--anchor-height", + l2t = "--transform-origin"; +function f2t(e, t, n) { + let r = e === "inline-start" || e === "inline-end"; + return { + top: "top", + right: r ? (n ? "inline-start" : "inline-end") : "right", + bottom: "bottom", + left: r ? (n ? "inline-end" : "inline-start") : "left", + }[t]; +} +function d2t(e, t, n) { + let { rects: r, placement: o } = e; + return { + side: f2t(t, s0(o), n), + align: Q1(o) || "center", + anchor: { width: r.reference.width, height: r.reference.height }, + positioner: { width: r.floating.width, height: r.floating.height }, + }; +} +function D6(e) { + return QUn(e, Kyt); +} +function QUn(e, t) { + let { + anchor: n, + positionMethod: r = "absolute", + side: o = "bottom", + sideOffset: a = 0, + align: i = "center", + alignOffset: s = 0, + collisionBoundary: l, + collisionPadding: c = 5, + sticky: u = !1, + arrowPadding: d = 5, + disableAnchorTracking: p = !1, + inline: f, + keepMounted: m = !1, + floatingRootContext: g, + mounted: v, + collisionAvoidance: y, + shift: x, + nodeId: A, + adaptiveOrigin: w, + lazyFlip: C = !1, + externalTree: E, + } = e, + [T, I] = Og.useState(null); + if (!v && T !== null) I(null); + let k = y.side || "flip", + L = y.align || "flip", + O = y.fallbackAxisSide || "end", + B = x?.crossAxis ?? !1, + U = x?.rootBoundary, + D = typeof n === "function" ? n : void 0, + N = Ot(D), + _ = D ? N : n, + G = ti(n), + Z = ti(v), + H = Y1() === "rtl", + te = + T || + { + top: "top", + right: "right", + bottom: "bottom", + left: "left", + "inline-end": H ? "left" : "right", + "inline-start": H ? "right" : "left", + }[o], + ie = i === "center" ? te : `${te}-${i}`, + j = c; + if (typeof j === "number") j = { top: j, right: j, bottom: j, left: j }; + else if (j) + j = { + top: j.top || 0, + right: j.right || 0, + bottom: j.bottom || 0, + left: j.left || 0, + }; + let oe = 1, + J = o === "bottom" ? oe : 0, + Y = o === "top" ? oe : 0, + ae = o === "right" ? oe : 0, + ne = o === "left" ? oe : 0, + Se = { + boundary: l === "clipping-ancestors" ? "clippingAncestors" : l, + padding: j, + }, + fe = Og.useRef(null), + Ae = ti(a), + Ee = ti(s), + pe = typeof a !== "function" ? a : 0, + Re = typeof s !== "function" ? s : 0, + Le = []; + if (f) Le.push(f); + Le.push( + USe( + (Ie) => { + let Ge = d2t(Ie, o, H), + _e = typeof Ae.current === "function" ? Ae.current(Ge) : Ae.current, + nt = typeof Ee.current === "function" ? Ee.current(Ge) : Ee.current; + return { mainAxis: _e, crossAxis: nt, alignmentAxis: nt }; + }, + [pe, Re, H, o], + ), + ); + let Ne = L === "none" && k !== "shift", + be = !Ne && (u || B || k === "shift"), + ye = + k === "none" + ? null + : _Se({ + ...Se, + padding: { + top: j.top + oe + J, + right: j.right + oe + ne, + bottom: j.bottom + oe + Y, + left: j.left + oe + ae, + }, + mainAxis: !B && k === "flip", + crossAxis: L === "flip" ? "alignment" : !1, + fallbackAxisSideDirection: O, + }), + ce = Ne + ? null + : NSe( + { + ...Se, + rootBoundary: U, + mainAxis: L !== "none", + crossAxis: be, + limiter: + u || B + ? void 0 + : zSe((Ie) => { + if (!fe.current) return {}; + let { width: Ge, height: _e } = + fe.current.getBoundingClientRect(), + nt = l0(s0(Ie.placement)), + rt = nt === "y" ? Ge : _e, + ot = nt === "y" ? j.left + j.right : j.top + j.bottom; + return { offset: rt / 2 + ot / 2 }; + }), + }, + [Se, u, B, U, j, L], + ); + if (k === "shift" || L === "shift" || i === "center") Le.push(ce, ye); + else Le.push(ye, ce); + (Le.push( + HSe({ + ...Se, + apply({ + elements: { floating: Ie }, + availableWidth: Ge, + availableHeight: _e, + rects: nt, + }) { + if (!Z.current) return; + let rt = Ie.style; + (rt.setProperty(c2t, `${Ge}px`), rt.setProperty(u2t, `${_e}px`)); + let ot = Io(Ie).devicePixelRatio || 1, + { x: At, y: en, width: Gt, height: tn } = nt.reference, + Yt = (Math.round((At + Gt) * ot) - Math.round(At * ot)) / ot, + Be = (Math.round((en + tn) * ot) - Math.round(en * ot)) / ot; + (rt.setProperty(i2t, `${Yt}px`), rt.setProperty(s2t, `${Be}px`)); + }, + }), + jyt( + (Ie) => ({ + element: fe.current || yr(Ie.elements.floating).createElement("div"), + padding: fe.current ? d : 0, + offsetParent: "floating", + }), + [d], + ), + { + name: "transformOrigin", + fn(Ie) { + let { + elements: { floating: Ge }, + middlewareData: _e, + placement: nt, + platform: rt, + rects: ot, + y: At, + } = Ie, + en = s0(nt), + Gt = Q1(nt), + tn = l0(en) === "y", + Yt = fe.current, + Be = typeof a === "function" ? a(d2t(Ie, o, H)) : a, + Je; + if ( + !Yt && + Gt && + Math.abs(tn ? _e.shift?.x || 0 : _e.shift?.y || 0) <= 1 + ) + Je = + (Gt === "start") === (tn && rt.isRTL?.(Ge) === !0) ? "100%" : "0%"; + else { + let Et = tn ? _e.arrow?.x || 0 : _e.arrow?.y || 0, + Mt = tn ? Yt?.clientWidth || 0 : Yt?.clientHeight || 0; + Je = `${Et + Mt / 2}px`; + } + let it = + en === "top" || en === "left" ? `calc(100% + ${Be}px)` : `${-Be}px`; + if (be && tn && Math.abs(_e.shift?.y || 0) > Be) + it = `${ot.reference.y + ot.reference.height / 2 - At}px`; + return ( + Ge.style.setProperty(l2t, tn ? `${Je} ${it}` : `${it} ${Je}`), + {} + ); + }, + }, + e2t, + w, + ), + Ct(() => { + if (!v && g) + g.update({ + referenceElement: null, + floatingElement: null, + domReferenceElement: null, + positionReference: null, + }); + }, [v, g])); + let ue = Og.useMemo( + () => ({ + ancestorScroll: !p, + elementResize: !p && typeof ResizeObserver < "u", + layoutShift: !p && typeof IntersectionObserver < "u", + }), + [p], + ), + { + refs: ke, + elements: se, + x: qe, + y: Me, + middlewareData: Qe, + update: ee, + placement: K, + context: we, + isPositioned: ze, + floatingStyles: tt, + } = t({ + rootContext: g, + open: m ? v : void 0, + placement: ie, + middleware: Le, + strategy: r, + whileElementsMounted: m ? void 0 : (...Ie) => QN(...Ie, ue), + nodeId: A, + externalTree: E, + }), + { sideX: Pe, sideY: Ke } = Qe.adaptiveOrigin || n2t, + Ue = ze ? r : "fixed", + Ze = Og.useMemo(() => { + let Ie; + if (!ze) Ie = { position: Ue, top: 0, left: 0 }; + else if (w) Ie = { position: Ue, [Pe]: qe, [Ke]: Me }; + else Ie = { ...tt, position: Ue }; + if (((Ie[c2t] = "100vw"), (Ie[u2t] = "100vh"), !ze)) Ie.opacity = 0; + return Ie; + }, [w, Ue, Pe, qe, Ke, Me, tt, ze]), + ct = Og.useRef(null); + (Ct(() => { + if (!v) return; + let Ie = G.current, + Ge = typeof Ie === "function" ? Ie() : Ie, + nt = (p2t(Ge) ? Ge.current : Ge) || null || null; + if (nt !== ct.current) (ke.setPositionReference(nt), (ct.current = nt)); + }, [v, ke, _, G]), + Og.useEffect(() => { + if (!v) return; + let Ie = G.current; + if (typeof Ie === "function") return; + if (p2t(Ie) && Ie.current !== ct.current) + (ke.setPositionReference(Ie.current), (ct.current = Ie.current)); + }, [v, ke, _, G]), + Og.useEffect(() => { + if (m && v && se.reference && se.floating) + return QN(se.reference, se.floating, ee, ue); + return; + }, [m, v, se, ee, ue])); + let Rt = s0(K), + de = f2t(o, Rt, H), + ge = Q1(K) || "center", + Oe = Boolean(Qe.hide?.referenceHidden); + Ct(() => { + if (C && v && ze && Rt !== te) I(Rt); + }, [C, v, ze, Rt, te]); + let Xe = Og.useMemo( + () => ({ position: "absolute", top: Qe.arrow?.y, left: Qe.arrow?.x }), + [Qe.arrow], + ), + $e = Qe.arrow?.centerOffset !== 0; + return Og.useMemo( + () => ({ + positionerStyles: Ze, + arrowStyles: Xe, + arrowRef: fe, + arrowUncentered: $e, + side: de, + align: ge, + physicalSide: Rt, + anchorHidden: Oe, + refs: ke, + context: we, + isPositioned: ze, + update: ee, + }), + [Ze, Xe, fe, $e, de, ge, Rt, Oe, ke, we, ze, ee], + ); +} +function p2t(e) { + return e != null && "current" in e; +} +var Og, c2t, u2t; +var T_ = P(() => { + aE(); + ul(); + Nr(); + Ob(); + da(); + pl(); + Jyt(); + uE(); + $yt(); + t2t(); + r2t(); + ((Og = z(re(), 1)), (c2t = o2t), (u2t = a2t)); +}); +function ix(e) { + return e === "starting" ? Jat : $r; +} +var W9 = P(() => { + Ci(); + Ig(); +}); +function L6( + e, + t, + { + styles: n, + transitionStatus: r, + props: o, + refs: a, + hidden: i, + inert: s = !1, + }, +) { + let l = { ...n }; + if (s) l.pointerEvents = "none"; + return Zt("div", e, { + state: t, + ref: a, + props: [{ role: "presentation", hidden: i, style: l }, ix(r), o], + stateAttributesMapping: nE, + }); +} +var k_ = P(() => { + Ep(); + vr(); + W9(); +}); +function Y9(e, t, n, r) { + let [o, a] = m2t.useState(!1); + (Ct(() => { + if (!e || !t || n == null) { + a(!1); + return; + } + let i = yr(n).documentElement.clientWidth, + s = n.offsetWidth; + a(i > 0 && s > 0 && s >= i - XUn); + }, [e, t, n]), + dte(e && (!t || o), r)); +} +var m2t, + XUn = 20; +var uoe = P(() => { + ul(); + XSe(); + Nr(); + m2t = z(re(), 1); +}); +var doe, h2t; +var g2t = P(() => { + l9(); + Nr(); + pl(); + tI(); + wEe(); + T_(); + xEe(); + WN(); + ko(); + Ig(); + BP(); + k_(); + uoe(); + le(); + ((doe = z(re(), 1)), + (h2t = doe.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + anchor: i, + positionMethod: s, + side: l, + align: c, + sideOffset: u, + alignOffset: d, + collisionBoundary: p = "clipping-ancestors", + collisionPadding: f, + arrowPadding: m, + sticky: g, + disableAnchorTracking: v = !1, + collisionAvoidance: y = n9, + ...x + } = t, + A = uy(), + w = Zyt(), + C = hE(), + E = A.useState("floatingRootContext"), + T = A.useState("mounted"), + I = A.useState("open"), + k = A.useState("openChangeReason"), + L = A.useState("activeTriggerElement"), + O = A.useState("modal"), + B = A.useState("openMethod"), + U = A.useState("positionerElement"), + D = A.useState("instantType"), + N = A.useState("transitionStatus"), + _ = A.useState("adaptiveOrigin"), + G = doe.useRef(null), + Z = Rb(U), + q = D6({ + anchor: i, + floatingRootContext: E, + positionMethod: s, + mounted: T, + side: l, + sideOffset: u, + align: c, + alignOffset: d, + arrowPadding: m, + collisionBoundary: p, + collisionPadding: f, + sticky: g, + disableAnchorTracking: v, + keepMounted: w, + nodeId: C, + collisionAvoidance: y, + adaptiveOrigin: _, + }), + H = E.useState("domReferenceElement"); + Ct(() => { + let J = H, + Y = G.current; + if (J) G.current = J; + if (Y && J && J !== Y) { + A.set("instantType", void 0); + let ae = new AbortController(); + return ( + Z(() => { + A.set("instantType", "trigger-change"); + }, ae.signal), + () => { + ae.abort(); + } + ); + } + return; + }, [H, Z, A]); + let te = O === !0 && k !== sc; + Y9(I && te, B === "touch", U, L); + let ie = A.useStateSetter("positionerElement"), + j = { + open: I, + side: q.side, + align: q.align, + anchorHidden: q.anchorHidden, + instant: D, + }, + oe = L6(t, j, { + styles: q.positionerStyles, + transitionStatus: N, + props: x, + refs: [n, ie], + hidden: !T, + inert: !I, + }); + return M(AEe.Provider, { + value: q, + children: [ + T && te && h(l6, { inert: Vb(!I), cutout: L }), + h(ON, { id: C, children: oe }), + ], + }); + }))); +}); +function K9(e) { + let t = poe.useContext(WUn); + if (t === void 0 && !e) throw Error(Dn(69)); + return t; +} +var poe, WUn; +var foe = P(() => { + zo(); + ((poe = z(re(), 1)), (WUn = poe.createContext(void 0))); +}); +function y2t() { + let [e, t] = B6.useState(0), + n = Ot( + () => ( + t((o) => o + 1), + () => { + t((o) => Math.max(0, o - 1)); + } + ), + ); + return { + context: B6.useMemo(() => ({ register: n }), [n]), + hasClosePart: e > 0, + }; +} +function v2t() { + let e = B6.useContext(SEe); + Ct(() => e?.register(), [e]); +} +var B6, SEe; +var CEe = P(() => { + Nr(); + da(); + ((B6 = z(re(), 1)), (SEe = B6.createContext(void 0))); +}); +var b2t, x2t; +var A2t = P(() => { + vs(); + pl(); + tI(); + wEe(); + Ep(); + oh(); + vr(); + ko(); + pE(); + foe(); + W9(); + CEe(); + Sd(); + le(); + ((b2t = z(re(), 1)), + (x2t = b2t.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + initialFocus: i, + finalFocus: s, + ...l + } = t, + c = uy(), + u = Yyt(), + d = K9(!0) != null, + { context: p, hasClosePart: f } = y2t(), + m = c.useState("open"), + g = c.useState("openMethod"), + v = c.useState("instantType"), + y = c.useState("transitionStatus"), + x = c.useState("popupProps"), + A = c.useState("titleElementId"), + w = c.useState("descriptionElementId"), + C = c.useState("modal"), + E = c.useState("mounted"), + T = c.useState("openChangeReason"), + I = c.useState("activeTriggerElement"), + k = c.useState("floatingRootContext"), + L = k.useState("floatingId"), + O = c.useState("disabled"), + B = c.useState("openOnHover"), + U = c.useState("closeDelay"); + (ji({ + open: m, + ref: c.context.popupRef, + onComplete() { + if (m) c.context.onOpenChangeComplete?.(!0); + }, + }), + xE(k, { enabled: B && !O, closeDelay: U })); + let D = i === void 0 ? Qee(c.context.popupRef) : i, + N = C !== !1 && f; + c.useSyncedValue("focusManagerModal", N); + let _ = c.useStateSetter("popupElement"), + G = { + open: m, + side: u.side, + align: u.align, + instant: v, + transitionStatus: y, + }, + Z = Zt("div", t, { + state: G, + ref: [n, c.context.popupRef, _], + props: [ + x, + { + id: L, + role: "dialog", + ..._b, + "aria-labelledby": A, + "aria-describedby": w, + onKeyDown(q) { + if (d && Eg.has(q.key)) q.stopPropagation(); + }, + }, + ix(y), + l, + ], + stateAttributesMapping: G4, + }); + return h(i3, { + context: k, + openInteractionType: g, + modal: N, + disabled: !E || T === sc, + initialFocus: D, + returnFocus: s, + restoreFocus: "popup", + previousFocusableElement: Xo(I) ? I : void 0, + nextFocusableElement: c.context.triggerFocusTargetRef, + beforeContentFocusGuardRef: c.context.beforeContentFocusGuardRef, + children: h(SEe.Provider, { value: p, children: Z }), + }); + }))); +}); +var w2t, S2t; +var C2t = P(() => { + tI(); + vr(); + KA(); + ka(); + ko(); + CEe(); + ((w2t = z(re(), 1)), + (S2t = w2t.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + disabled: i = !1, + nativeButton: s = !0, + ...l + } = t, + { buttonRef: c, getButtonProps: u } = Ys({ + disabled: i, + focusableWhenDisabled: !1, + native: s, + }), + d = uy(); + return ( + v2t(), + Zt("button", t, { + ref: [n, c], + props: [ + { + onClick(f) { + d.setOpen(!1, un(bwe, f.nativeEvent)); + }, + }, + l, + u, + ], + }) + ); + }))); +}); +function I2t(e) { + let [t, n] = E2t.useState({ current: e, previous: null }); + if (!Object.is(e, t.current)) n({ current: e, previous: t.current }); + return t.previous; +} +var E2t; +var T2t = P(() => { + E2t = z(re(), 1); +}); +var R2t = P(() => { + _yt(); + qyt(); + Wyt(); + g2t(); + A2t(); + C2t(); +}); +var P2t = P(() => { + R2t(); +}); +function mm() { + let [e, t] = fm.useState(!1); + return { open: e, setOpen: t }; +} +var fm, + EEe, + IEe = (e) => { + let [t, n] = fm.useState(null), + r = fm.useMemo(() => ({ anchor: t, setAnchor: n }), [t]); + return h(EEe.Provider, { value: r, children: h(zyt, { ...e }) }); + }, + TEe, + kEe, + REe = ({ asChild: e, children: t, ...n }) => { + let r = fm.useContext(EEe), + o = am(e, t); + if (o.render) return fm.cloneElement(o.render, { ...n, ref: r?.setAnchor }); + return h("div", { ref: r?.setAnchor, ...n, children: t }); + }, + M2t, + YUn, + KUn, + PEe, + pa; +var D2t = P(() => { + P2t(); + rn(); + V1(); + le(); + fm = z(re(), 1); + EEe = fm.createContext(null); + IEe.displayName = "PopoverRoot"; + TEe = fm.forwardRef(({ asChild: e, children: t, ...n }, r) => { + let o = am(e, t); + return h(Gyt, { ref: r, ...o, ...n }); + }); + TEe.displayName = "PopoverTrigger"; + kEe = fm.forwardRef(({ asChild: e, children: t, ...n }, r) => { + let o = am(e, t); + return h(S2t, { ref: r, ...o, ...n }); + }); + kEe.displayName = "PopoverClose"; + REe.displayName = "PopoverAnchor"; + (({ Portal: M2t, EnsurePortal: YUn } = V4(Xyt, "PopoverPortal")), + (KUn = Ve( + "flex flex-col", + "cursor-default select-none rounded-medium", + "text-left text-body-medium text-on-surface", + "bg-surface-container", + "shadow-md3-2", + "origin-(--transform-origin) outline-none", + "transition-[opacity,scale] duration-250 ease-emphasized-decelerate", + "data-starting-style:scale-95 data-starting-style:opacity-0", + "data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-150 data-ending-style:ease-emphasized-accelerate", + )), + (PEe = fm.forwardRef( + ( + { + className: e, + side: t, + sideOffset: n = 8, + align: r, + alignOffset: o, + collisionPadding: a, + collisionBoundary: i, + collisionAvoidance: s, + sticky: l, + anchor: c, + positionMethod: u, + arrowPadding: d, + forceMount: p, + initialFocus: f = !1, + finalFocus: m = !1, + ...g + }, + v, + ) => { + let y = fm.useContext(EEe); + return h(YUn, { + keepMounted: p, + children: h(h2t, { + className: "z-[9999]", + side: t, + sideOffset: n, + align: r, + alignOffset: o, + collisionPadding: a, + collisionBoundary: i, + collisionAvoidance: s, + sticky: l, + anchor: c ?? y?.anchor ?? void 0, + positionMethod: u, + arrowPadding: d, + children: h(x2t, { + ref: v, + initialFocus: f, + finalFocus: m, + className: io(KUn, e), + ...g, + }), + }), + }); + }, + ))); + PEe.displayName = "PopoverContent"; + pa = { + Root: IEe, + Trigger: TEe, + Content: PEe, + Anchor: REe, + Close: kEe, + Portal: M2t, + }; +}); +function O6(e) { + let t = moe.useContext(MEe); + if (t === void 0 && !e) throw Error(Dn(72)); + return t; +} +var moe, MEe; +var J9 = P(() => { + zo(); + ((moe = z(re(), 1)), (MEe = moe.createContext(void 0))); +}); +function jUn(e, t, n, r = !1) { + return { + ...o6(t, n, r), + disabled: !1, + instantType: void 0, + isInstantPhase: !1, + trackCursorAxis: "none", + disableHoverablePopup: !1, + openChangeReason: null, + closeOnClick: !0, + closeDelay: 0, + adaptiveOrigin: void 0, + ...e, + }; +} +function $Un(e) { + return { + popupRef: L2t.createRef(), + onOpenChange: void 0, + onOpenChangeComplete: void 0, + triggerElements: e, + }; +} +var L2t, JUn, DEe; +var B2t = P(() => { + yE(); + ka(); + ko(); + Sd(); + ((L2t = z(re(), 1)), + (JUn = { + ...a6, + disabled: (e) => e.disabled, + instantType: (e) => e.instantType, + isInstantPhase: (e) => e.isInstantPhase, + trackCursorAxis: (e) => e.trackCursorAxis, + disableHoverablePopup: (e) => e.disableHoverablePopup, + lastOpenChangeReason: (e) => e.openChangeReason, + closeOnClick: (e) => e.closeOnClick, + closeDelay: (e) => e.closeDelay, + adaptiveOrigin: (e) => e.adaptiveOrigin, + })); + DEe = class DEe extends Tg { + constructor(e, t, n) { + let r = new R2(); + super(jUn(e, r, t, n), $Un(r), JUn); + } + setOpen = (e, t) => { + Rit(this, e, t, { extraState: { openChangeReason: t.reason } }); + }; + cancelPendingOpen(e) { + this.state.floatingRootContext.dispatchOpenChange(!1, un(Ib, e)); + } + }; +}); +function eNn({ store: e, disabled: t, trackCursorAxis: n }) { + let r = e.useState("floatingRootContext"), + o = k2(r, { enabled: !t, referencePress: () => e.select("closeOnClick") }), + a = hSe(r, { + enabled: !t && n !== "none", + axis: n === "none" ? void 0 : n, + }), + i = j9.useMemo( + () => dl(a.reference, o.reference), + [a.reference, o.reference], + ); + return ( + r6(e, { + activeTriggerProps: i, + inactiveTriggerProps: i, + popupProps: o.floating ?? $r, + }), + null + ); +} +var j9, LEe; +var O2t = P(() => { + zb(); + Ci(); + Nr(); + J9(); + pl(); + ka(); + Sd(); + A2(); + B2t(); + ko(); + le(); + ((j9 = z(re(), 1)), + (LEe = s3(function (t) { + let { + disabled: n = !1, + defaultOpen: r = !1, + open: o, + disableHoverablePopup: a = !1, + trackCursorAxis: i = "none", + actionsRef: s, + onOpenChange: l, + onOpenChangeComplete: c, + handle: u, + triggerId: d, + defaultTriggerId: p = null, + children: f, + } = t, + m = o9( + (O, B) => + new DEe( + { open: r, openProp: o, activeTriggerId: p, triggerIdProp: d }, + O, + B, + ), + ); + (m.useControlledProp("openProp", o), + m.useControlledProp("triggerIdProp", d), + m.useContextCallback("onOpenChange", l), + m.useContextCallback("onOpenChangeComplete", c)); + let g = m.useState("open"), + v = !n && g, + y = m.useState("activeTriggerId"), + x = m.useState("mounted"), + A = m.useState("payload"); + (m.useSyncedValues({ + trackCursorAxis: i, + disableHoverablePopup: a, + disabled: n, + }), + t6(m, { closeOnActiveTriggerUnmount: !0 })); + let { forceUnmount: w, transitionStatus: C } = n6(v, m), + E = m.useState("isInstantPhase"), + T = m.useState("instantType"), + I = m.useState("lastOpenChangeReason"), + k = j9.useRef(null); + (Ct(() => { + if (g && n) m.setOpen(!1, un($rt)); + }, [g, n, m]), + Ct(() => { + if ((C === "ending" && I === _1) || (C !== "ending" && E)) { + if (T !== "delay") k.current = T; + m.set("instantType", "delay"); + } else if (k.current !== null) + (m.set("instantType", k.current), (k.current = null)); + }, [C, E, I, T, m]), + Ct(() => { + if (v) { + if (y == null) m.set("payload", void 0); + } + }, [m, y, v]), + j9.useImperativeHandle( + s, + () => ({ unmount: w, close: () => m.setOpen(!1, un(Y$)) }), + [w, m], + )); + let L = v || x || (!n && i !== "none"); + return M(MEe.Provider, { + value: m, + children: [ + u && h($4, { handle: u, store: m }), + L && h(eNn, { store: m, disabled: n, trackCursorAxis: i }), + typeof f === "function" ? f({ payload: A }) : f, + ], + }); + }))); +}); +function F2t() { + return hoe.useContext(BEe); +} +var hoe, BEe; +var OEe = P(() => { + ((hoe = z(re(), 1)), (BEe = hoe.createContext(void 0))); +}); +var U2t = 600; +function N2t(e) { + if ("composedPath" in e) { + let n = e.composedPath(); + for (let r = 0; r < n.length; r += 1) { + let o = n[r]; + if (Dr(o)) return o; + } + } + let t = e.target; + if (Dr(t)) return t; + return null; +} +function tNn(e) { + let t = e; + while (t) { + let n = t.closest(`[${z2t}]`); + if (n) return n; + let r = t.getRootNode(); + t = "host" in r && Dr(r.host) ? r.host : null; + } + return null; +} +var goe, + z2t = "data-base-ui-tooltip-trigger", + FEe; +var _2t = P(() => { + zo(); + vs(); + zb(); + Rp(); + Ob(); + J9(); + Ep(); + vr(); + Sd(); + _l(); + OEe(); + pl(); + im(); + Z1(); + ka(); + ko(); + Kee(); + DN(); + Bwe(); + goe = z(re(), 1); + FEe = j4(function (t, n) { + let { + render: r, + className: o, + style: a, + handle: i, + payload: s, + disabled: l, + delay: c, + closeOnClick: u = !0, + closeDelay: d, + id: p, + ...f + } = t, + m = O6(!0), + v = i6(i) ?? m; + if (!v) throw Error(Dn(82)); + let y = go(p), + x = v.useState("isTriggerActive", y), + A = v.useState("isOpenedByTrigger", y), + w = v.useState("floatingRootContext"), + C = goe.useRef(null), + E = d ?? 0, + { registerTrigger: T, isMountedByThisTrigger: I } = e6(y, C, v, { + payload: s, + closeOnClick: u, + closeDelay: E, + }), + k = F2t(), + { + activeIdRef: L, + delayRef: O, + isInstantPhase: B, + hasProvider: U, + } = sSe(w, { open: A }), + D = i9(w); + v.useSyncedValue("isInstantPhase", B); + let N = v.useState("disabled"), + _ = l ?? N, + G = ti(_), + Z = v.useState("trackCursorAxis"), + q = v.useState("disableHoverablePopup"), + H = goe.useRef(!1), + te = mi(), + ie = goe.useRef(void 0); + function j() { + if (U && L.current != null) return 0; + return c ?? k ?? U2t; + } + function oe(pe) { + let Re = C.current; + if (!Re || !pe) return !1; + let Le = tNn(pe); + return Le !== null && Le !== Re && Ln(Re, Le); + } + function J(pe) { + let Re = oe(pe); + if (((H.current = Re), Re)) + (D.openChangeTimeout.clear(), + D.restTimeout.clear(), + (D.restTimeoutPending = !1), + te.clear()); + return Re; + } + let Y = l3(w, { + enabled: !_, + mouseOnly: !0, + move: !1, + handleClose: !q && Z !== "both" ? c3() : null, + restMs: j, + delay() { + if (d == null && U) return { close: I2(O.current, "close") }; + return { close: E }; + }, + triggerElementRef: C, + isActiveTrigger: x, + isClosing: () => v.select("transitionStatus") === "ending", + shouldOpen() { + return !H.current; + }, + }), + ae = VN(w, { enabled: !_ }).reference, + ne = (pe) => { + let Re = H.current, + Le = N2t(pe), + Ne = J(Le), + be = C.current, + ye = be && Le && Ln(be, Le); + if (Ne && v.select("open") && v.select("lastOpenChangeReason") === sc) { + v.setOpen(!1, un(sc, pe)); + return; + } + if ( + Re && + !Ne && + ye && + !G.current && + !v.select("open") && + be && + Sg(ie.current) + ) { + let ce = () => { + if (!H.current && !G.current && !v.select("open")) + v.setOpen(!0, un(sc, pe, be)); + }, + ue = j(); + if (ue === 0) (te.clear(), ce()); + else te.start(ue, ce); + } + }, + Se = v.useState("triggerProps", I); + return Zt("button", t, { + state: { open: A }, + ref: [n, T, C], + props: [ + Y, + ae, + I || Z !== "none" ? Se : void 0, + { + onMouseOver(pe) { + ne(pe.nativeEvent); + }, + onFocus(pe) { + if (oe(N2t(pe.nativeEvent))) pe.preventBaseUIHandler(); + }, + onMouseLeave() { + ((H.current = !1), te.clear(), (ie.current = void 0)); + }, + onPointerEnter(pe) { + ie.current = pe.pointerType; + }, + onPointerDown(pe) { + if ( + ((ie.current = pe.pointerType), + v.set("closeOnClick", u), + u && !v.select("open")) + ) + v.cancelPendingOpen(pe.nativeEvent); + }, + onClick(pe) { + if (u && !v.select("open")) v.cancelPendingOpen(pe.nativeEvent); + }, + id: y, + [AN]: _ ? "" : void 0, + [z2t]: _ ? void 0 : "", + }, + f, + ], + stateAttributesMapping: Mb, + }); + }); +}); +function H2t() { + let e = yoe.useContext(UEe); + if (e === void 0) throw Error(Dn(70)); + return e; +} +var yoe, UEe; +var NEe = P(() => { + zo(); + ((yoe = z(re(), 1)), (UEe = yoe.createContext(void 0))); +}); +var voe, V2t; +var G2t = P(() => { + bd(); + Uee(); + le(); + ((voe = z(re(), 1)), + (V2t = voe.forwardRef(function (t, n) { + let { + children: r, + container: o, + className: a, + render: i, + style: s, + ...l + } = t, + { node: c, subtree: u } = Fee({ + container: o, + ref: n, + componentProps: t, + elementProps: l, + }); + if (!u && !c) return null; + return M(voe.Fragment, { children: [u, c && mf(r, c)] }); + }))); +}); +var q2t, zEe; +var Z2t = P(() => { + J9(); + NEe(); + G2t(); + le(); + ((q2t = z(re(), 1)), + (zEe = q2t.forwardRef(function (t, n) { + let { keepMounted: r = !1, ...o } = t; + if (!(O6().useState("mounted") || r)) return null; + return h(UEe.Provider, { value: r, children: h(V2t, { ref: n, ...o }) }); + }))); +}); +function Q2t() { + let e = boe.useContext(_Ee); + if (e === void 0) throw Error(Dn(71)); + return e; +} +var boe, _Ee; +var HEe = P(() => { + zo(); + ((boe = z(re(), 1)), (_Ee = boe.createContext(void 0))); +}); +var xoe, VEe; +var X2t = P(() => { + J9(); + HEe(); + T_(); + NEe(); + Ig(); + k_(); + le(); + ((xoe = z(re(), 1)), + (VEe = xoe.forwardRef(function (t, n) { + let { + render: r, + className: o, + anchor: a, + positionMethod: i = "absolute", + side: s = "top", + align: l = "center", + sideOffset: c = 0, + alignOffset: u = 0, + collisionBoundary: d = "clipping-ancestors", + collisionPadding: p = 5, + arrowPadding: f = 5, + sticky: m = !1, + disableAnchorTracking: g = !1, + collisionAvoidance: v = n9, + style: y, + ...x + } = t, + A = O6(), + w = H2t(), + C = A.useState("open"), + E = A.useState("mounted"), + T = A.useState("trackCursorAxis"), + I = A.useState("disableHoverablePopup"), + k = A.useState("floatingRootContext"), + L = A.useState("instantType"), + O = A.useState("transitionStatus"), + B = A.useState("adaptiveOrigin"), + U = D6({ + anchor: a, + positionMethod: i, + floatingRootContext: k, + mounted: E, + side: s, + sideOffset: c, + align: l, + alignOffset: u, + collisionBoundary: d, + collisionPadding: p, + sticky: m, + arrowPadding: f, + disableAnchorTracking: g, + keepMounted: w, + collisionAvoidance: v, + adaptiveOrigin: B, + }), + D = xoe.useMemo( + () => ({ + open: C, + side: U.side, + align: U.align, + anchorHidden: U.anchorHidden, + instant: T !== "none" ? "tracking-cursor" : L, + }), + [C, U.side, U.align, U.anchorHidden, T, L], + ), + N = L6(t, D, { + styles: U.positionerStyles, + transitionStatus: O, + props: x, + refs: [n, A.useStateSetter("positionerElement")], + hidden: !E, + inert: !C || T === "both" || I, + }); + return h(_Ee.Provider, { value: U, children: N }); + }))); +}); +var W2t, GEe; +var Y2t = P(() => { + J9(); + HEe(); + Ep(); + oh(); + vr(); + W9(); + pl(); + Sd(); + ((W2t = z(re(), 1)), + (GEe = W2t.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + s = O6(), + { side: l, align: c } = Q2t(), + u = s.useState("open"), + d = s.useState("instantType"), + p = s.useState("transitionStatus"), + f = s.useState("popupProps"), + m = s.useState("floatingRootContext"), + g = s.useState("disabled"), + v = s.useState("closeDelay"); + (ji({ + open: u, + ref: s.context.popupRef, + onComplete() { + if (u) s.context.onOpenChangeComplete?.(!0); + }, + }), + xE(m, { enabled: !g, closeDelay: v })); + let y = s.useStateSetter("popupElement"); + return Zt("div", t, { + state: { open: u, side: l, align: c, instant: d, transitionStatus: p }, + ref: [n, s.context.popupRef, y], + props: [_b, f, ix(p), i], + stateAttributesMapping: G4, + }); + }))); +}); +var K2t, + J2t = function (t) { + let { delay: n, closeDelay: r, timeout: o = 400 } = t, + a = K2t.useMemo(() => ({ open: n, close: r }), [n, r]); + return h(BEe.Provider, { + value: n, + children: h(iSe, { delay: a, timeoutMs: o, children: t.children }), + }); + }; +var j2t = P(() => { + pl(); + OEe(); + le(); + K2t = z(re(), 1); +}); +var evt = P(() => { + O2t(); + _2t(); + Z2t(); + X2t(); + Y2t(); + j2t(); +}); +var tvt = P(() => { + evt(); +}); +var R_, + Rf = ({ children: e, className: t }) => + h("kbd", { + className: Ve( + "flex h-4.5 min-w-4.5 items-center justify-center rounded-extra-small px-1 font-plain text-label-small", + "bg-inverse-on-surface/12 text-inverse-on-surface/80", + t, + ), + children: e, + }), + nvt, + nNn = (e) => { + if (!e) return; + let t = []; + for (let n of e) { + if (n.length >= 2) { + t.push(n); + continue; + } + for (let r of n) t.push(r); + } + return t; + }, + zIo, + rNn, + P_ = ({ position: e = "bottom", sideOffset: t = 4, ...n }) => { + let r = + n.asChild && R_.isValidElement(n.children) + ? n.children + : h("span", { className: n.className, children: n.children }); + return M(LEe, { + disableHoverablePopup: n.disableHoverableContent, + open: n.open, + defaultOpen: n.defaultOpen, + onOpenChange: n.onOpenChange && ((o) => n.onOpenChange?.(o)), + disabled: n.disabled, + children: [ + h(FEe, { delay: n.delay ?? n.delayDuration, render: r }), + h(zEe, { + children: h(VEe, { + side: e, + align: n.align, + sideOffset: t, + alignOffset: n.alignOffset, + className: "z-[101]", + children: M(GEe, { + className: Ve( + "TooltipContent", + nvt, + n.tooltipClassName, + !n.label && "hidden", + ), + children: [ + h("div", { className: n.labelClassName, children: n.label }), + n.keybinds && + h("div", { + className: "flex items-center justify-center gap-1", + children: nNn(n.keybinds)?.map((o) => + h( + Rf, + { children: h("p", { children: o }) }, + o.toString(), + ), + ), + }), + ], + }), + }), + }), + ], + }); + }, + qEe = ({ + delayDuration: e, + skipDelayDuration: t, + delay: n, + timeout: r, + ...o + }) => h(J2t, { delay: n ?? e, timeout: r ?? t, ...o }), + _Io, + oNn, + aNn; +var rvt = P(() => { + tvt(); + rn(); + V1(); + le(); + ((R_ = z(re(), 1)), + (nvt = Ve( + "z-[101] flex min-h-6 max-w-[200px] select-text items-center gap-2 break-words", + "rounded-extra-small bg-inverse-surface px-2 py-1 text-center text-body-small text-inverse-on-surface", + "origin-(--transform-origin)", + "transition-[opacity,scale] duration-150 ease-standard", + "data-starting-style:scale-90 data-starting-style:opacity-0 data-ending-style:opacity-0", + "data-instant:transition-none", + )), + ({ Portal: zIo, EnsurePortal: rNn } = V4(zEe, "TooltipPortal")), + (_Io = LEe), + (oNn = R_.forwardRef(({ asChild: e, children: t, ...n }, r) => { + let o = am(e, t); + return h(FEe, { ref: r, render: o.render, ...n, children: o.children }); + }))); + oNn.displayName = "TooltipTrigger"; + aNn = R_.forwardRef( + ( + { + className: e, + side: t, + sideOffset: n = 4, + align: r, + alignOffset: o, + collisionPadding: a, + collisionAvoidance: i, + sticky: s, + anchor: l, + ...c + }, + u, + ) => + h(rNn, { + children: h(VEe, { + className: "z-[101]", + side: t, + sideOffset: n, + align: r, + alignOffset: o, + collisionPadding: a, + collisionAvoidance: i, + sticky: s, + anchor: l, + children: h(GEe, { + ref: u, + className: io(Ve("overflow-hidden", nvt), e), + ...c, + }), + }), + }), + ); + aNn.displayName = "TooltipContent"; +}); +function $9() { + let e = Aoe.useContext(ZEe); + if (e === void 0) throw Error(Dn(64)); + return e; +} +var Aoe, ZEe; +var M_ = P(() => { + zo(); + ((Aoe = z(re(), 1)), (ZEe = Aoe.createContext(void 0))); +}); +var ovt = "data-activation-direction"; +var F6; +var D_ = P(() => { + F6 = { tabActivationDirection: (e) => ({ [ovt]: e }) }; +}); +function QEe(e, t) { + for (let [n, r] of e.entries()) if (t === r.value) return n; + return null; +} +function avt(e, t, n, r) { + if (e == null || t == null) return "none"; + let [o, a, i] = + n === "horizontal" ? ["left", "left", "right"] : ["top", "up", "down"], + s = QEe(r, e), + l = QEe(r, t); + if (s == null || l == null) { + if ( + s !== l && + (typeof e === "number" || typeof e === "string") && + typeof e === typeof t + ) + return t > e ? i : a; + return "none"; + } + let c = s.getBoundingClientRect()[o], + u = l.getBoundingClientRect()[o]; + if (u < c) return a; + if (u > c) return i; + return "none"; +} +var Uc, ivt; +var svt = P(() => { + xb(); + Nr(); + da(); + vr(); + lE(); + M_(); + D_(); + ka(); + ko(); + le(); + ((Uc = z(re(), 1)), + (ivt = Uc.forwardRef(function (t, n) { + let { + className: r, + defaultValue: o = 0, + onValueChange: a, + orientation: i = "horizontal", + render: s, + value: l, + style: c, + ...u + } = t, + d = t.defaultValue !== void 0, + p = Uc.useRef([]), + [f, m] = Uc.useState(() => new Map()), + [g, v] = Zd({ + controlled: l, + default: o, + name: "Tabs", + state: "value", + }), + y = l !== void 0, + [x, A] = Uc.useState(() => new Map()), + w = Uc.useRef(void 0), + C = Uc.useCallback((ne) => QEe(x, ne), [x]), + [E, T] = Uc.useState(() => ({ + previousValue: g, + tabActivationDirection: "none", + })), + { previousValue: I, tabActivationDirection: k } = E, + L = k, + O = !1; + if (I !== g) + ((L = avt(I, g, i, x)), (O = I != null && g != null && C(g) == null)); + let B = O ? I : g, + U = I !== B || k !== L; + Ct(() => { + if (!U) return; + T({ previousValue: B, tabActivationDirection: L }); + }, [B, U, L]); + let D = Ot((ne, Se) => { + let fe = avt(g, ne, i, x); + if (((Se.activationDirection = fe), a?.(ne, Se), Se.isCanceled)) + return; + v(ne); + }), + N = Ot((ne, Se) => { + a?.(ne, un(Se, void 0, void 0, { activationDirection: "none" })); + }), + _ = Ot( + (ne, Se) => ( + m((fe) => { + let Ae = new Map(fe); + return (Ae.set(ne, Se), Ae); + }), + () => { + m((fe) => { + if (fe.get(ne) !== Se) return fe; + let Ae = new Map(fe); + return (Ae.delete(ne), Ae); + }); + } + ), + ), + G = Uc.useCallback((ne) => f.get(ne), [f]), + Z = Uc.useCallback( + (ne) => { + for (let Se of x.values()) if (ne === Se.value) return Se.id; + return; + }, + [x], + ), + q = Uc.useMemo( + () => ({ + getTabElementBySelectedValue: C, + getTabIdByPanelValue: Z, + getTabPanelIdByValue: G, + onValueChange: D, + orientation: i, + registerMountedTabPanel: _, + setTabMap: A, + tabActivationDirection: L, + value: g, + }), + [C, Z, G, D, i, _, A, L, g], + ), + H = Uc.useMemo(() => { + for (let ne of x.values()) if (ne.value === g) return ne; + return; + }, [x, g]), + te = Uc.useMemo(() => { + for (let ne of x.values()) if (!ne.disabled) return ne.value; + return; + }, [x]), + ie = Uc.useRef(!d), + j = Uc.useRef(o), + oe = Uc.useRef(d), + J = Uc.useRef(!1); + Ct(() => { + if (y) return; + function ne(Ee, pe) { + (v(Ee), + T({ previousValue: Ee, tabActivationDirection: "none" }), + N(Ee, pe), + (ie.current = !1)); + } + if (x.size === 0) { + if (J.current && g !== null && !w.current?.isConnected) ne(null, eot); + return; + } + ((J.current = !0), (w.current = x.keys().next().value)); + let Se = H?.disabled, + fe = H == null && g !== null; + if (!Se && g === j.current) oe.current = !1; + if (oe.current && Se && g === j.current) return; + let Ae = ie.current; + if (Se || fe) { + let Ee = te ?? null; + if (g === Ee) { + ie.current = !1; + return; + } + let pe = eot; + if (Ae) pe = tot; + else if (Se) pe = $rt; + ne(Ee, pe); + return; + } + if (Ae && H != null) (N(g, tot), (ie.current = !1)); + }, [te, y, N, H, v, x, g]); + let ae = Zt("div", t, { + state: { orientation: i, tabActivationDirection: L }, + ref: n, + props: u, + stateAttributesMapping: F6, + }); + return h(ZEe.Provider, { + value: q, + children: h(W1, { elementsRef: p, children: ae }), + }); + }))); +}); +var L_ = "data-composite-item-active"; +function woe(e = {}) { + let { + highlightItemOnHover: t, + highlightedIndex: n, + onHighlightedIndexChange: r, + } = F4(), + { ref: o, index: a } = Ip(e), + i = n === a, + s = lvt.useRef(null), + l = cl(o, s); + return { + compositeProps: { + tabIndex: i ? 0 : -1, + onFocus() { + r(a); + }, + onMouseMove() { + let u = s.current; + if (!t || !u) return; + let d = u.hasAttribute("disabled") || u.ariaDisabled === "true"; + if (!i && !d) u.focus(); + }, + }, + compositeRef: l, + index: a, + }; +} +var lvt; +var XEe = P(() => { + U1(); + EP(); + Fb(); + lvt = z(re(), 1); +}); +function cvt() { + let e = Soe.useContext(WEe); + if (e === void 0) throw Error(Dn(65)); + return e; +} +var Soe, WEe; +var YEe = P(() => { + zo(); + ((Soe = z(re(), 1)), (WEe = Soe.createContext(void 0))); +}); +var S3, uvt; +var dvt = P(() => { + ul(); + Nr(); + da(); + _l(); + vr(); + KA(); + XEe(); + EP(); + M_(); + D_(); + YEe(); + ka(); + ko(); + Cg(); + ((S3 = z(re(), 1)), + (uvt = S3.forwardRef(function (t, n) { + let { + className: r, + disabled: o = !1, + render: a, + value: i, + id: s, + nativeButton: l = !0, + style: c, + ...u + } = t, + { + value: d, + getTabPanelIdByValue: p, + onValueChange: f, + orientation: m, + tabActivationDirection: g, + } = $9(), + { + activateOnFocus: v, + registerTabResizeObserverElement: y, + tabsListElement: x, + } = cvt(), + { highlightedIndex: A, onHighlightedIndexChange: w } = F4(), + C = go(s), + E = S3.useMemo(() => ({ disabled: o, id: C, value: i }), [o, C, i]), + { compositeProps: T, compositeRef: I, index: k } = woe({ metadata: E }), + L = i === d, + O = S3.useRef(!1), + B = S3.useRef(null), + U = Ot((J) => { + (B.current?.(), (B.current = J ? y(J) : null)); + }); + Ct(() => { + if (O.current) { + O.current = !1; + return; + } + if (!(L && k > -1 && A !== k)) return; + let J = x; + if (J != null) { + let Y = Ks(yr(J)); + if (Y && Ln(J, Y)) return; + } + if (!o) w(k); + }, [L, k, A, w, o, x]); + let { getButtonProps: D, buttonRef: N } = Ys({ + disabled: o, + native: l, + focusableWhenDisabled: !0, + }), + _ = p(i), + G = S3.useRef(!1), + Z = S3.useRef(!1); + function q(J) { + f(i, un(_1, J.nativeEvent, void 0, { activationDirection: "none" })); + } + function H(J) { + if (L || o) return; + q(J); + } + function te(J) { + if (L || o) return; + if (v && (!G.current || Z.current)) q(J); + } + function ie(J) { + if (L || o) return; + ((G.current = !0), (Z.current = J.button === 0)); + let Y = yr(J.currentTarget); + function ae() { + ((G.current = !1), + (Z.current = !1), + Y.removeEventListener("pointerup", ae), + Y.removeEventListener("pointercancel", ae)); + } + (Y.addEventListener("pointerup", ae), + Y.addEventListener("pointercancel", ae)); + } + return Zt("button", t, { + state: { + disabled: o, + active: L, + orientation: m, + tabActivationDirection: g, + }, + ref: [n, N, I, U], + props: [ + T, + { + role: "tab", + "aria-controls": _, + "aria-selected": L, + id: C, + onClick: H, + onFocus: te, + onPointerDown: ie, + [L_]: L ? "" : void 0, + onKeyDownCapture() { + O.current = !0; + }, + }, + u, + D, + ], + stateAttributesMapping: F6, + }); + }))); +}); +var pvt = "data-index", + TTo, + kTo; +var fvt = P(() => { + H1(); + ((TTo = H4), (kTo = LP)); +}); +var Coe, lNn, mvt; +var hvt = P(() => { + l9(); + Nr(); + _l(); + H1(); + oh(); + Pb(); + vr(); + Fb(); + D_(); + M_(); + fvt(); + ((Coe = z(re(), 1)), + (lNn = { ...F6, ...Cp }), + (mvt = Coe.forwardRef(function (t, n) { + let { + className: r, + value: o, + render: a, + keepMounted: i = !1, + style: s, + ...l + } = t, + { + value: c, + getTabIdByPanelValue: u, + orientation: d, + tabActivationDirection: p, + registerMountedTabPanel: f, + } = $9(), + m = go(), + { ref: g, index: v } = Ip(), + y = o === c, + { mounted: x, transitionStatus: A, setMounted: w } = Sp(y), + C = !x, + E = u(o), + T = { + hidden: C, + orientation: d, + tabActivationDirection: p, + transitionStatus: A, + }, + I = Coe.useRef(null), + k = Zt("div", t, { + state: T, + ref: [n, g, I], + props: [ + { + "aria-labelledby": E, + hidden: C, + id: m, + role: "tabpanel", + tabIndex: y ? 0 : -1, + inert: Vb(!y), + [pvt]: v, + }, + l, + ], + stateAttributesMapping: lNn, + }); + if ( + (ji({ + open: y, + ref: I, + onComplete() { + if (!y) w(!1); + }, + }), + Ct(() => { + if (m == null || (C && !i)) return; + return f(o, m); + }, [C, i, o, m, f]), + !(i || x)) + ) + return null; + return k; + }))); +}); +function Eoe(e) { + return ( + e == null || + e.hasAttribute("disabled") || + e.getAttribute("aria-disabled") === "true" + ); +} +function gvt(e) { + let { + loopFocus: t = !0, + orientation: n = "both", + grid: r, + onLoop: o, + direction: a, + highlightedIndex: i, + onHighlightedIndexChange: s, + rootRef: l, + enableHomeAndEndKeys: c = !1, + stopEventPropagation: u, + disabledIndices: d, + modifierKeys: p = Rc, + } = e, + [f, m] = nI.useState(0), + g = r != null, + v = nI.useRef(null), + y = cl(v, l), + x = nI.useRef([]), + A = nI.useRef(!1), + w = nI.useRef(null), + C = i ?? f, + E = Ot((O, B = !1) => { + if (((w.current = x.current[O] ?? null), (s ?? m)(O), B)) { + let U = x.current[O]; + jwe(v.current, U, a, n); + } + }), + T = Ot((O) => { + if (O.size === 0) return; + if (A.current) { + let N = x.current, + _ = N.indexOf(w.current); + if (_ === -1) { + let G = N[C]; + if (!G || e3(N, C, d)) E(cNn(N, d)); + else w.current = G; + } else if (_ !== C) E(_); + return; + } + A.current = !0; + let B = Array.from(O.keys()), + U = B.find((N) => N?.hasAttribute(L_)) ?? null, + D = U ? (O.get(U)?.index ?? -1) : -1; + if (D !== -1) E(D); + else if (e3(B, C, d)) { + let N = X1(B, { disabledIndices: d }); + if (!X4(B, N)) E(N); + } + jwe(v.current, U, a, n); + }); + Ct(() => { + if (d == null || i != null || !A.current) return; + let O = x.current; + if (e3(O, C, d)) { + let B = X1(O, { disabledIndices: d }); + if (!X4(O, B)) E(B); + } + }, [d, i, C, x, E]); + let I = Ot((O, B, U) => { + if (!o) return U; + return o(O, B, U, x); + }), + k = Ot((O) => { + let B = O.key === jP || O.key === $P; + if (!Eg.has(O.key) || (!c && B)) return; + if (uNn(O, p)) return; + if (!v.current) return; + let D = a === "rtl", + N = D ? KP : JP, + _ = D ? JP : KP, + G = n === "vertical" ? YP : N, + Z = n === "vertical" ? WP : _, + q = fi(O.nativeEvent); + if (q != null && Jwe(q) && !Eoe(q)) { + let { selectionStart: J, selectionEnd: Y, value: ae } = q; + if (J == null || O.shiftKey || J !== Y) return; + if (O.key !== Z && J < ae.length) return; + if (O.key !== G && J > 0) return; + } + let H = C, + te = iE(x, d), + ie = NP(x, d); + if (r != null) + H = r({ + disabledIndices: d, + elementsRef: x, + event: O, + highlightedIndex: C, + loopFocus: t, + maxIndex: ie, + minIndex: te, + onLoop: I, + orientation: n, + rtl: D, + }); + let j = + (n !== "vertical" && O.key === N) || + (n !== "horizontal" && O.key === YP), + oe = + (n !== "vertical" && O.key === _) || + (n !== "horizontal" && O.key === WP); + if (c) { + if (O.key === jP) H = te; + else if (O.key === $P) H = ie; + } + if (H === C && (j || oe)) + if (t && H === ie && j) { + if (((H = te), o)) H = o(O, C, H, x); + } else if (t && H === te && oe) { + if (((H = ie), o)) H = o(O, C, H, x); + } else + H = X1(x.current, { + startingIndex: H, + decrement: oe, + disabledIndices: d, + }); + if (H !== C && !X4(x.current, H)) { + if (u) O.stopPropagation(); + if (g || B || j || oe) O.preventDefault(); + (E(H, !0), + queueMicrotask(() => { + x.current[H]?.focus(); + })); + } + }); + return { + props: { + ref: y, + onFocus(O) { + let B = v.current, + U = fi(O.nativeEvent); + if (!B || U == null || !Jwe(U)) return; + U.setSelectionRange(0, U.value.length); + }, + onKeyDown: k, + }, + highlightedIndex: C, + onHighlightedIndexChange: E, + elementsRef: x, + onMapChange: T, + relayKeyboardEvent: k, + }; +} +function cNn(e, t) { + let n = -1; + for (let r = 0; r < e.length; r += 1) { + let o = e[r]; + if (!o || e3(e, r, t)) continue; + if (o.hasAttribute(L_)) return r; + if (n === -1) n = r; + } + return Math.max(n, 0); +} +function uNn(e, t) { + for (let n of Cat) { + if (t.includes(n)) continue; + if (e.getModifierState(n)) return !0; + } + return !1; +} +var nI; +var yvt = P(() => { + da(); + U1(); + Nr(); + Ci(); + pE(); + Cg(); + nI = z(re(), 1); +}); +function bvt(e) { + let { + render: t, + className: n, + style: r, + refs: o = Rc, + props: a = Rc, + state: i = $r, + stateAttributesMapping: s, + highlightedIndex: l, + onHighlightedIndexChange: c, + orientation: u, + grid: d, + loopFocus: p, + onLoop: f, + enableHomeAndEndKeys: m, + onMapChange: g, + stopEventPropagation: v = !0, + rootRef: y, + disabledIndices: x, + modifierKeys: A, + highlightItemOnHover: w = !1, + tag: C = "div", + ...E + } = e, + T = Y1(), + { + props: I, + highlightedIndex: k, + onHighlightedIndexChange: L, + elementsRef: O, + onMapChange: B, + relayKeyboardEvent: U, + } = gvt({ + grid: d, + loopFocus: p, + onLoop: f, + orientation: u, + highlightedIndex: l, + onHighlightedIndexChange: c, + rootRef: y, + stopEventPropagation: v, + enableHomeAndEndKeys: m, + direction: T, + disabledIndices: x, + modifierKeys: A, + }), + D = Zt(C, e, { + state: i, + ref: o, + props: [I, ...a, E], + stateAttributesMapping: s, + }), + N = vvt.useMemo( + () => ({ + highlightedIndex: k, + onHighlightedIndexChange: L, + highlightItemOnHover: w, + relayKeyboardEvent: U, + }), + [k, L, w, U], + ); + return h(fwe.Provider, { + value: N, + children: h(W1, { + elementsRef: O, + onMapChange: (_) => { + (g?.(_), B(_)); + }, + children: D, + }), + }); +} +var vvt; +var xvt = P(() => { + Ci(); + lE(); + yvt(); + EP(); + vr(); + uE(); + le(); + vvt = z(re(), 1); +}); +var z2, Avt; +var wvt = P(() => { + da(); + Nr(); + Ci(); + xvt(); + D_(); + M_(); + YEe(); + le(); + ((z2 = z(re(), 1)), + (Avt = z2.forwardRef(function (t, n) { + let { + activateOnFocus: r = !1, + className: o, + loopFocus: a = !0, + render: i, + style: s, + ...l + } = t, + { orientation: c, setTabMap: u, tabActivationDirection: d } = $9(), + [p, f] = z2.useState(0), + [m, g] = z2.useState(null), + v = z2.useRef(new Set()), + y = z2.useRef(new Set()), + x = z2.useRef(null); + Ct(() => { + if (typeof ResizeObserver > "u") return; + let I = new ResizeObserver(() => { + v.current.forEach((k) => { + k(); + }); + }); + if (((x.current = I), m)) I.observe(m); + return ( + y.current.forEach((k) => { + I.observe(k); + }), + () => { + (I.disconnect(), (x.current = null)); + } + ); + }, [m]); + let A = Ot( + (I) => ( + v.current.add(I), + () => { + v.current.delete(I); + } + ), + ), + w = Ot( + (I) => ( + y.current.add(I), + x.current?.observe(I), + () => { + (y.current.delete(I), x.current?.unobserve(I)); + } + ), + ), + C = { orientation: c, tabActivationDirection: d }, + E = { + "aria-orientation": c === "vertical" ? "vertical" : void 0, + role: "tablist", + }, + T = z2.useMemo( + () => ({ + activateOnFocus: r, + registerIndicatorUpdateListener: A, + registerTabResizeObserverElement: w, + tabsListElement: m, + }), + [r, A, w, m], + ); + return h(WEe.Provider, { + value: T, + children: h(bvt, { + render: i, + className: o, + style: s, + state: C, + refs: [n, g], + props: [E, l], + stateAttributesMapping: F6, + highlightedIndex: p, + enableHomeAndEndKeys: !0, + loopFocus: a, + orientation: c, + onHighlightedIndexChange: f, + onMapChange: u, + disabledIndices: Rc, + }), + }); + }))); +}); +var Cvt = P(() => { + svt(); + dvt(); + hvt(); + wvt(); +}); +var Evt = P(() => { + Cvt(); +}); +var B_ = ({ className: e, ...t }) => + h(ivt, { + className: io("flex flex-col", e), + "data-m3-component": "Tabs", + ...t, + }), + rI = ({ className: e, ...t }) => + h(mvt, { + className: io( + "outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-secondary", + e, + ), + "data-m3-component": "TabsContent", + ...t, + }), + O_ = ({ className: e, activateOnFocus: t = !0, ...n }) => + h(Avt, { + activateOnFocus: t, + className: io( + "relative flex flex-row items-center border-b border-outline-variant", + e, + ), + "data-m3-component": "TabsList", + ...n, + }), + oI = ({ className: e, size: t = "md", ...n }) => + h(uvt, { + className: io( + Ve( + "relative -mb-px inline-flex items-center justify-center gap-2 whitespace-nowrap", + t === "sm" ? "h-8 px-3" : "h-12 px-4", + "text-label-large text-on-surface-variant outline-none", + "transition-colors duration-200 ease-standard hover:text-on-surface", + "data-active:text-primary data-active:hover:text-primary", + "before:pointer-events-none before:absolute before:inset-0 before:content-['']", + "before:transition-colors before:duration-200 before:ease-standard", + "hover:before:bg-on-surface/8 focus-visible:before:bg-on-surface/10 active:before:bg-on-surface/10", + "data-active:hover:before:bg-primary/8 data-active:focus-visible:before:bg-primary/10 data-active:active:before:bg-primary/10", + "after:absolute after:inset-x-2 after:bottom-0 after:h-[3px] after:rounded-t-[3px] after:bg-primary after:opacity-0 after:content-['']", + "after:transition-opacity after:duration-200 after:ease-standard data-active:after:opacity-100", + "focus-visible:outline-3 focus-visible:-outline-offset-3 focus-visible:outline-secondary", + "data-disabled:pointer-events-none data-disabled:opacity-38", + ), + e, + ), + "data-m3-component": "TabsTrigger", + ...n, + }); +var Ivt = P(() => { + Evt(); + rn(); + V1(); + le(); +}); +function sx(e) { + let t = Ioe.useContext(KEe); + if (t === void 0 && !e) throw Error(Dn(33)); + return t; +} +var Ioe, KEe; +var aI = P(() => { + zo(); + ((Ioe = z(re(), 1)), (KEe = Ioe.createContext(void 0))); +}); +function Td(e) { + let t = Toe.useContext(JEe); + if (t === void 0 && !e) throw Error(Dn(36)); + return t; +} +var Toe, JEe; +var _2 = P(() => { + zo(); + ((Toe = z(re(), 1)), (JEe = Toe.createContext(void 0))); +}); +function eM(e = !0) { + let t = koe.useContext(dNn); + if (t === void 0 && !e) throw Error(Dn(25)); + return t; +} +var koe, dNn; +var Roe = P(() => { + zo(); + ((koe = z(re(), 1)), (dNn = koe.createContext(void 0))); +}); +function Tvt() { + let e = Poe.useContext(jEe); + if (e === void 0) throw Error(Dn(30)); + return e; +} +var Poe, jEe; +var $Ee = P(() => { + zo(); + ((Poe = z(re(), 1)), (jEe = Poe.createContext(void 0))); +}); +function Rvt(e) { + let { + closeOnClick: t, + highlighted: n, + id: r, + nodeId: o, + store: a, + typingRef: i, + itemRef: s, + itemMetadata: l, + } = e, + { events: c } = a.useState("floatingTreeRoot"), + u = a.useState("open"), + d = eM(!0), + p = d !== void 0; + return kvt.useMemo( + () => ({ + id: r, + role: "menuitem", + tabIndex: u && n ? 0 : -1, + onKeyDown(f) { + if (f.key === " " && i?.current) f.preventDefault(); + }, + onMouseMove(f) { + if (!o) return; + c.emit("itemhover", { nodeId: o, target: f.currentTarget }); + }, + onClick(f) { + if (t) c.emit("close", { domEvent: f, reason: J8 }); + }, + onMouseUp(f) { + if (d) { + let m = d.initialCursorPointRef.current; + if ( + ((d.initialCursorPointRef.current = null), + p && + m && + Math.abs(f.clientX - m.x) <= 1 && + Math.abs(f.clientY - m.y) <= 1) + ) + return; + if (p && !JA.mac && f.button === 2) return; + } + if ( + s.current && + a.context.allowMouseUpTriggerRef.current && + (!p || f.button === 2) + ) { + if (l.type === "regular-item") Sb(s.current, f, { detail: 1 }); + } + }, + }), + [t, n, r, c, o, u, a, i, s, d, p, l], + ); +} +var kvt; +var Pvt = P(() => { + a0(); + ko(); + Roe(); + aN(); + kvt = z(re(), 1); +}); +function U6(e) { + let { + closeOnClick: t, + disabled: n, + highlighted: r, + id: o, + store: a, + typingRef: i = a.context.typingRef, + nativeButton: s, + itemMetadata: l, + nodeId: c, + } = e, + u = tM.useRef(null), + { getButtonProps: d, buttonRef: p } = Ys({ + disabled: n, + focusableWhenDisabled: !0, + native: s, + composite: !0, + }), + f = Rvt({ + closeOnClick: t, + highlighted: r, + id: o, + nodeId: c, + store: a, + typingRef: i, + itemRef: u, + itemMetadata: l, + }), + m = tM.useCallback( + (v) => + dl( + f, + { + onMouseEnter() { + if (l.type !== "submenu-trigger") return; + l.setActive(); + }, + }, + v, + d, + ), + [f, d, l], + ), + g = cl(u, p); + return tM.useMemo(() => ({ getItemProps: m, itemRef: g }), [m, g]); +} +var tM, nM; +var F_ = P(() => { + U1(); + KA(); + A2(); + Pvt(); + ((tM = z(re(), 1)), (nM = { type: "regular-item" })); +}); +var Mvt = "data-checked", + Dvt = "data-unchecked"; +var N6; +var U_ = P(() => { + H1(); + N6 = { + checked(e) { + if (e) return { [Mvt]: "" }; + return { [Dvt]: "" }; + }, + ...Cp, + }; +}); +var Moe, Lvt; +var Bvt = P(() => { + xb(); + Ci(); + $Ee(); + F_(); + Fb(); + _2(); + vr(); + _l(); + U_(); + aI(); + ka(); + ko(); + le(); + ((Moe = z(re(), 1)), + (Lvt = Moe.forwardRef(function (t, n) { + let { + render: r, + className: o, + id: a, + label: i, + nativeButton: s = !1, + disabled: l = !1, + closeOnClick: c = !1, + checked: u, + defaultChecked: d, + onCheckedChange: p, + style: f, + ...m + } = t, + g = Ip({ guess: !0, label: i }), + v = sx(!0), + y = go(a), + { store: x } = Td(), + A = x.useState("disabled"), + w = l || A, + C = x.useState("isActive", g.index), + E = x.useState("itemProps"), + [T, I] = Zd({ + controlled: u, + default: d ?? !1, + name: "MenuCheckboxItem", + state: "checked", + }), + { getItemProps: k, itemRef: L } = U6({ + closeOnClick: c, + disabled: w, + highlighted: C, + id: y, + store: x, + nativeButton: s, + nodeId: v?.context.nodeId, + itemMetadata: nM, + }), + O = Moe.useMemo( + () => ({ disabled: w, highlighted: C, checked: T }), + [w, C, T], + ); + function B(D) { + let N = un(J8, D.nativeEvent, void 0, { preventUnmountOnClose: oa }); + if ((p?.(!T, N), N.isCanceled)) return; + I((_) => !_); + } + let U = Zt("div", t, { + state: O, + stateAttributesMapping: N6, + props: [ + E, + { role: "menuitemcheckbox", "aria-checked": T, onClick: B }, + m, + k, + ], + ref: [L, n, g.ref], + }); + return h(jEe.Provider, { value: O, children: U }); + }))); +}); +var Doe, Ovt; +var Fvt = P(() => { + $Ee(); + vr(); + U_(); + Pb(); + oh(); + ((Doe = z(re(), 1)), + (Ovt = Doe.forwardRef(function (t, n) { + let { render: r, className: o, style: a, keepMounted: i = !1, ...s } = t, + l = Tvt(), + c = Doe.useRef(null), + { transitionStatus: u, mounted: d, setMounted: p } = Sp(l.checked); + ji({ + batch: !0, + enabled: !l.checked, + open: l.checked, + ref: c, + onComplete() { + if (!l.checked) p(!1); + }, + }); + let f = { + checked: l.checked, + disabled: l.disabled, + highlighted: l.highlighted, + transitionStatus: u, + }; + return Zt("span", t, { + state: f, + ref: [n, c], + stateAttributesMapping: N6, + props: { "aria-hidden": !0, ...s }, + enabled: i || d, + }); + }))); +}); +function Uvt() { + let e = Loe.useContext(N_); + if (e === void 0) throw Error(Dn(31)); + return e; +} +var Loe, N_; +var Boe = P(() => { + zo(); + ((Loe = z(re(), 1)), (N_ = Loe.createContext(void 0))); +}); +var Ooe, Nvt; +var zvt = P(() => { + vr(); + Boe(); + le(); + ((Ooe = z(re(), 1)), + (Nvt = Ooe.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + [s, l] = Ooe.useState(void 0), + c = Zt("div", t, { + ref: n, + props: { role: "group", "aria-labelledby": s, ...i }, + }); + return h(N_.Provider, { value: l, children: c }); + }))); +}); +var _vt, Hvt; +var Vvt = P(() => { + Nr(); + vr(); + _l(); + Boe(); + ((_vt = z(re(), 1)), + (Hvt = _vt.forwardRef(function (t, n) { + let { render: r, className: o, style: a, id: i, ...s } = t, + l = go(i), + c = Uvt(); + return ( + Ct( + () => ( + c(l), + () => { + c((u) => (u === l ? void 0 : u)); + } + ), + [c, l], + ), + Zt("div", t, { ref: n, props: { id: l, "aria-hidden": !0, ...s } }) + ); + }))); +}); +var Gvt, qvt; +var Zvt = P(() => { + F_(); + _2(); + vr(); + _l(); + Fb(); + aI(); + ((Gvt = z(re(), 1)), + (qvt = Gvt.forwardRef(function (t, n) { + let { + render: r, + className: o, + id: a, + label: i, + nativeButton: s = !1, + disabled: l = !1, + closeOnClick: c = !0, + style: u, + ...d + } = t, + p = Ip({ guess: !0, label: i }), + f = sx(!0), + m = go(a), + { store: g } = Td(), + v = g.useState("disabled"), + y = l || v, + x = g.useState("isActive", p.index), + A = g.useState("itemProps"), + { getItemProps: w, itemRef: C } = U6({ + closeOnClick: c, + disabled: y, + highlighted: x, + id: m, + store: g, + nativeButton: s, + nodeId: f?.context.nodeId, + itemMetadata: nM, + }); + return Zt("div", t, { + state: { disabled: y, highlighted: x }, + props: [A, d, w], + ref: [C, n, p.ref], + }); + }))); +}); +var Foe, Qvt; +var Xvt = P(() => { + pl(); + _2(); + aI(); + vr(); + Ep(); + oh(); + ka(); + ko(); + foe(); + pE(); + W9(); + le(); + ((Foe = z(re(), 1)), + (Qvt = Foe.forwardRef(function (t, n) { + let { render: r, className: o, style: a, finalFocus: i, ...s } = t, + { store: l } = Td(), + { side: c, align: u } = sx(), + d = K9(!0) != null, + p = l.useState("open"), + f = l.useState("transitionStatus"), + m = l.useState("popupProps"), + g = l.useState("mounted"), + v = l.useState("instantType"), + y = l.useState("activeTriggerElement"), + x = l.useState("parent"), + A = l.useState("lastOpenChangeReason"), + w = l.useState("rootId"), + C = l.useState("floatingRootContext"), + E = l.useState("floatingTreeRoot"), + T = l.useState("closeDelay"), + I = l.useState("hoverEnabled"), + k = l.useState("disabled"), + L = l.useState("openMethod"), + O = x.type === "context-menu"; + (ji({ + open: p, + ref: l.context.popupRef, + onComplete() { + if (p) l.context.onOpenChangeComplete?.(!0); + }, + }), + Foe.useEffect(() => { + function _(G) { + l.setOpen(!1, un(G.reason, G.domEvent)); + } + return ( + E.events.on("close", _), + () => { + E.events.off("close", _); + } + ); + }, [E.events, l]), + xE(C, { + enabled: I && !k && !O && x.type !== "menubar", + closeDelay: T, + })); + let B = l.useStateSetter("popupElement"), + U = { + transitionStatus: f, + side: c, + align: u, + open: p, + nested: x.type === "menu", + instant: v, + }, + D = Zt("div", t, { + state: U, + ref: [n, l.context.popupRef, B], + stateAttributesMapping: G4, + props: [ + m, + { + onKeyDown(_) { + if (d && Eg.has(_.key)) _.stopPropagation(); + }, + }, + ix(f), + s, + { "data-rootownerid": w }, + ], + }), + N = x.type === void 0 || O; + if (y || (x.type === "menubar" && A !== X$)) N = !0; + return h(i3, { + context: C, + openInteractionType: L, + modal: O, + disabled: !g, + returnFocus: i === void 0 ? N : i, + initialFocus: x.type !== "menu", + restoreFocus: !0, + externalTree: x.type !== "menubar" ? E : void 0, + previousFocusableElement: y, + nextFocusableElement: + x.type === void 0 ? l.context.triggerFocusTargetRef : void 0, + beforeContentFocusGuardRef: + x.type === void 0 ? l.context.beforeContentFocusGuardRef : void 0, + children: D, + }); + }))); +}); +function Wvt() { + let e = Uoe.useContext(eIe); + if (e === void 0) throw Error(Dn(32)); + return e; +} +var Uoe, eIe; +var tIe = P(() => { + zo(); + ((Uoe = z(re(), 1)), (eIe = Uoe.createContext(void 0))); +}); +var Yvt, Kvt; +var Jvt = P(() => { + pl(); + _2(); + tIe(); + le(); + ((Yvt = z(re(), 1)), + (Kvt = Yvt.forwardRef(function (t, n) { + let { keepMounted: r = !1, ...o } = t, + { store: a, parent: i } = Td(); + if (!(a.useState("mounted") || r)) return null; + let c = i.type === "menu" || i.type === "menubar" ? "group" : void 0; + return h(eIe.Provider, { + value: r, + children: h(a3, { ref: n, ...o, portalOwnerRole: c }), + }); + }))); +}); +var lx, jvt; +var $vt = P(() => { + l9(); + Nr(); + Rp(); + pl(); + aI(); + _2(); + T_(); + lE(); + WN(); + tIe(); + Ig(); + Roe(); + ka(); + ko(); + BP(); + k_(); + uoe(); + le(); + ((lx = z(re(), 1)), + (jvt = lx.forwardRef(function (t, n) { + let { + anchor: r, + positionMethod: o = "absolute", + className: a, + render: i, + side: s, + align: l, + sideOffset: c = 0, + alignOffset: u = 0, + collisionBoundary: d = "clipping-ancestors", + collisionPadding: p = 5, + arrowPadding: f = 5, + sticky: m = !1, + disableAnchorTracking: g = !1, + collisionAvoidance: v = Oee, + style: y, + ...x + } = t, + { store: A } = Td(), + w = Wvt(), + C = eM(!0), + E = A.useState("parent"), + T = A.useState("floatingRootContext"), + I = A.useState("floatingTreeRoot"), + k = A.useState("mounted"), + L = A.useState("open"), + O = A.useState("modal"), + B = A.useState("openMethod"), + U = A.useState("activeTriggerElement"), + D = A.useState("transitionStatus"), + N = A.useState("positionerElement"), + _ = A.useState("instantType"), + G = A.useState("adaptiveOrigin"), + Z = A.useState("lastOpenChangeReason"), + q = A.useState("floatingNodeId"), + H = A.useState("floatingParentNodeId"), + te = T.useState("domReferenceElement"), + ie = lx.useRef(null), + j = Rb(N), + oe = r, + J = c, + Y = u, + ae = l, + ne = v; + if (E.type === "context-menu") { + if ( + ((oe = r ?? E.context?.anchor), + (ae = ae ?? "start"), + !s && ae !== "center") + ) + ((Y = t.alignOffset ?? 2), (J = t.sideOffset ?? -5)); + } + let Se = s, + fe = ae; + if (E.type === "menu") + ((Se = Se ?? "inline-end"), + (fe = fe ?? "start"), + (ne = t.collisionAvoidance ?? n9)); + else if (E.type === "menubar") + ((Se = + Se ?? + (E.context.orientation === "vertical" ? "inline-end" : "bottom")), + (fe = fe ?? "start")); + let Ae = E.type === "context-menu", + Ee = D6({ + anchor: oe, + floatingRootContext: T, + positionMethod: C ? "fixed" : o, + mounted: k, + side: Se, + sideOffset: J, + align: fe, + alignOffset: Y, + arrowPadding: Ae ? 0 : f, + collisionBoundary: d, + collisionPadding: p, + sticky: m, + nodeId: q, + keepMounted: w, + disableAnchorTracking: g, + collisionAvoidance: ne, + shift: Ae + ? { + crossAxis: !("side" in ne && ne.side === "flip"), + rootBoundary: "layoutViewport", + } + : void 0, + externalTree: I, + adaptiveOrigin: G, + }); + (lx.useEffect(() => { + function ue(ke) { + if (ke.open) { + if (ke.parentNodeId === q) A.set("hoverEnabled", !1); + if ( + ke.nodeId !== q && + ke.parentNodeId === A.select("floatingParentNodeId") + ) + A.setOpen(!1, un(fN)); + } + } + return ( + I.events.on("menuopenchange", ue), + () => { + I.events.off("menuopenchange", ue); + } + ); + }, [A, I.events, q]), + lx.useEffect(() => { + if (A.select("floatingParentNodeId") == null) return; + function ue(ke) { + if (ke.open || ke.nodeId !== A.select("floatingParentNodeId")) + return; + let se = ke.reason ?? fN; + A.setOpen(!1, un(se)); + } + return ( + I.events.on("menuopenchange", ue), + () => { + I.events.off("menuopenchange", ue); + } + ); + }, [I.events, A])); + let pe = mi(); + (lx.useEffect(() => { + if (!L) pe.clear(); + }, [L, pe]), + lx.useEffect(() => { + function ue(ke) { + if (!L || ke.nodeId !== A.select("floatingParentNodeId")) return; + if (ke.target && U && U !== ke.target) { + let se = A.select("closeDelay"); + if (se > 0) { + if (!pe.isStarted()) + pe.start(se, () => { + A.setOpen(!1, un(fN)); + }); + } else A.setOpen(!1, un(fN)); + } else pe.clear(); + } + return ( + I.events.on("itemhover", ue), + () => { + I.events.off("itemhover", ue); + } + ); + }, [I.events, L, U, A, pe]), + lx.useEffect(() => { + let ue = { + open: L, + nodeId: q, + parentNodeId: H, + reason: A.select("lastOpenChangeReason"), + }; + I.events.emit("menuopenchange", ue); + }, [I.events, L, A, q, H]), + Ct(() => { + let ue = te, + ke = ie.current; + if (ue) ie.current = ue; + if (ke && ue && ue !== ke) { + A.set("instantType", void 0); + let se = new AbortController(); + return ( + j(() => { + A.set("instantType", "trigger-change"); + }, se.signal), + () => { + se.abort(); + } + ); + } + return; + }, [te, j, A])); + let Re = { + open: L, + side: Ee.side, + align: Ee.align, + anchorHidden: Ee.anchorHidden, + nested: E.type === "menu", + instant: _, + }, + Le = E.type === "menubar" && E.context.modal, + Ne = O && Z !== sc; + Y9(L && (Le || Ne), B === "touch", N, U); + let be = L6(t, Re, { + styles: Ee.positionerStyles, + transitionStatus: D, + props: x, + refs: [n, A.useStateSetter("positionerElement")], + hidden: !k, + inert: !L, + }), + ye = + k && + E.type !== "menu" && + ((E.type !== "menubar" && O && Z !== sc) || + (E.type === "menubar" && E.context.modal)), + ce = null; + if (E.type === "menubar") ce = E.context.contentElement; + else if (E.type === void 0) ce = U; + return M(KEe.Provider, { + value: Ee, + children: [ + ye && + h(l6, { + ref: + E.type === "context-menu" || E.type === "nested-context-menu" + ? E.context.internalBackdropRef + : null, + inert: Vb(!L), + cutout: ce, + }), + h(ON, { + id: q, + children: h(W1, { + elementsRef: A.context.itemDomElements, + labelsRef: A.context.itemLabels, + children: be, + }), + }), + ], + }); + }))); +}); +function ebt() { + let e = Noe.useContext(nIe); + if (e === void 0) throw Error(Dn(34)); + return e; +} +var Noe, nIe; +var rIe = P(() => { + zo(); + ((Noe = z(re(), 1)), (nIe = Noe.createContext(void 0))); +}); +var z6, tbt; +var nbt = P(() => { + xb(); + da(); + rIe(); + Boe(); + vr(); + le(); + ((z6 = z(re(), 1)), + (tbt = z6.memo( + z6.forwardRef(function (t, n) { + let { + render: r, + className: o, + value: a, + defaultValue: i, + onValueChange: s, + disabled: l = !1, + style: c, + "aria-labelledby": u, + ...d + } = t, + [p, f] = z6.useState(void 0), + [m, g] = Zd({ controlled: a, default: i, name: "MenuRadioGroup" }), + v = Ot((w, C) => { + if ((s?.(w, C), C.isCanceled)) return; + g(w); + }), + x = Zt("div", t, { + state: { disabled: l }, + ref: n, + props: { + role: "group", + "aria-labelledby": u ?? p, + "aria-disabled": l || void 0, + ...d, + }, + }), + A = z6.useMemo( + () => ({ value: m, setValue: v, disabled: l }), + [m, v, l], + ); + return h(N_.Provider, { + value: f, + children: h(nIe.Provider, { value: A, children: x }), + }); + }), + ))); +}); +function rbt() { + let e = zoe.useContext(oIe); + if (e === void 0) throw Error(Dn(35)); + return e; +} +var zoe, oIe; +var aIe = P(() => { + zo(); + ((zoe = z(re(), 1)), (oIe = zoe.createContext(void 0))); +}); +var _oe, obt; +var abt = P(() => { + Ci(); + _2(); + vr(); + _l(); + rIe(); + aIe(); + U_(); + Fb(); + F_(); + aI(); + ka(); + ko(); + le(); + ((_oe = z(re(), 1)), + (obt = _oe.forwardRef(function (t, n) { + let { + render: r, + className: o, + id: a, + label: i, + nativeButton: s = !1, + disabled: l = !1, + closeOnClick: c = !1, + value: u, + style: d, + ...p + } = t, + f = Ip({ guess: !0, label: i }), + m = sx(!0), + g = go(a), + { store: v } = Td(), + y = v.useState("isActive", f.index), + x = v.useState("itemProps"), + { value: A, setValue: w, disabled: C } = ebt(), + E = v.useState("disabled"), + T = l || C || E, + I = A === u, + { getItemProps: k, itemRef: L } = U6({ + closeOnClick: c, + disabled: T, + highlighted: y, + id: g, + store: v, + nativeButton: s, + nodeId: m?.context.nodeId, + itemMetadata: nM, + }), + O = _oe.useMemo( + () => ({ disabled: T, highlighted: y, checked: I }), + [T, y, I], + ); + function B(D) { + let N = un(J8, D.nativeEvent, void 0, { preventUnmountOnClose: oa }); + w(u, N); + } + let U = Zt("div", t, { + state: O, + stateAttributesMapping: N6, + props: [ + x, + { role: "menuitemradio", "aria-checked": I, onClick: B }, + p, + k, + ], + ref: [L, n, f.ref], + }); + return h(oIe.Provider, { value: O, children: U }); + }))); +}); +var Hoe, ibt; +var sbt = P(() => { + aIe(); + vr(); + U_(); + Pb(); + oh(); + ((Hoe = z(re(), 1)), + (ibt = Hoe.forwardRef(function (t, n) { + let { render: r, className: o, style: a, keepMounted: i = !1, ...s } = t, + l = rbt(), + c = Hoe.useRef(null), + { transitionStatus: u, mounted: d, setMounted: p } = Sp(l.checked); + ji({ + batch: !0, + enabled: !l.checked, + open: l.checked, + ref: c, + onComplete() { + if (!l.checked) p(!1); + }, + }); + let f = { + checked: l.checked, + disabled: l.disabled, + highlighted: l.highlighted, + transitionStatus: u, + }; + return Zt("span", t, { + state: f, + stateAttributesMapping: N6, + ref: [n, c], + props: { "aria-hidden": !0, ...s }, + enabled: i || d, + }); + }))); +}); +function Goe(e) { + let t = Voe.useContext(fNn); + if (t === null && !e) throw Error(Dn(5)); + return t; +} +var Voe, fNn; +var iIe = P(() => { + zo(); + ((Voe = z(re(), 1)), (fNn = Voe.createContext(null))); +}); +function hNn(e) { + return { + positionerRef: z_.createRef(), + popupRef: z_.createRef(), + typingRef: { current: !1 }, + itemDomElements: { current: [] }, + itemLabels: { current: [] }, + allowMouseUpTriggerRef: { current: !1 }, + triggerFocusTargetRef: z_.createRef(), + beforeContentFocusGuardRef: z_.createRef(), + onOpenChangeComplete: void 0, + triggerElements: e, + }; +} +function gNn(e, t, n = !1, r) { + return { + ...o6(e, t, n), + disabled: !1, + modal: !0, + openMethod: null, + allowMouseEnter: !1, + highlightItemOnHover: !0, + parent: { type: void 0 }, + rootId: void 0, + activeIndex: null, + hoverEnabled: !0, + instantType: void 0, + openChangeReason: null, + floatingTreeRoot: new mE(), + floatingNodeId: void 0, + floatingParentNodeId: null, + itemProps: $r, + keyboardEventRelay: void 0, + closeDelay: 0, + adaptiveOrigin: void 0, + ...r, + }; +} +var z_, mNn, sIe; +var lbt = P(() => { + yE(); + Ci(); + zee(); + Sd(); + ((z_ = z(re(), 1)), + (mNn = { + ...a6, + disabled: (e) => + e.parent.type === "menubar" + ? e.parent.context.disabled || e.disabled + : e.disabled, + modal: (e) => + (e.parent.type === void 0 || e.parent.type === "context-menu") && + (e.modal ?? !0), + openMethod: (e) => e.openMethod, + allowMouseEnter: (e) => e.allowMouseEnter, + highlightItemOnHover: (e) => e.highlightItemOnHover, + parent: (e) => e.parent, + rootId: (e) => { + if (e.parent.type === "menu") return e.parent.store.select("rootId"); + return e.parent.type !== void 0 ? e.parent.context.rootId : e.rootId; + }, + activeIndex: (e) => e.activeIndex, + isActive: (e, t) => e.activeIndex === t, + hoverEnabled: (e) => e.hoverEnabled, + instantType: (e) => e.instantType, + lastOpenChangeReason: (e) => e.openChangeReason, + floatingTreeRoot: (e) => { + if (e.parent.type === "menu") + return e.parent.store.select("floatingTreeRoot"); + return e.floatingTreeRoot; + }, + floatingNodeId: (e) => e.floatingNodeId, + floatingParentNodeId: (e) => e.floatingParentNodeId, + itemProps: (e) => e.itemProps, + closeDelay: (e) => e.closeDelay, + adaptiveOrigin: (e) => e.adaptiveOrigin, + keyboardEventRelay: (e) => { + if (e.keyboardEventRelay) return e.keyboardEventRelay; + if (e.parent.type === "menu") + return e.parent.store.select("keyboardEventRelay"); + return; + }, + })); + sIe = class sIe extends Tg { + constructor(e, t, n = !1) { + let r = new R2(), + o = gNn(r, t, n, e); + super(o, hNn(r), mNn); + this.unsubscribeParentListener = this.observe("parent", (a) => { + if ((this.unsubscribeParentListener?.(), a.type === "menu")) { + let i = a.store.select("rootId"), + s = a.store.select("floatingTreeRoot"), + l = a.store.select("keyboardEventRelay"); + ((this.unsubscribeParentListener = a.store.subscribe(() => { + let c = a.store.select("rootId"), + u = a.store.select("floatingTreeRoot"), + d = a.store.select("keyboardEventRelay"); + if (i === c && s === u && l === d) return; + ((i = c), (s = u), (l = d), this.notifyAll()); + })), + (this.context.allowMouseUpTriggerRef = + a.store.context.allowMouseUpTriggerRef)); + return; + } + if (a.type !== void 0) + this.context.allowMouseUpTriggerRef = + a.context.allowMouseUpTriggerRef; + this.unsubscribeParentListener = null; + }); + } + setOpen(e, t) { + this.state.floatingRootContext.context.events.emit("setOpen", { + open: e, + eventDetails: t, + }); + } + unsubscribeParentListener = null; + }; +}); +function Zoe() { + return qoe.useContext(lIe); +} +var qoe, lIe; +var Qoe = P(() => { + ((qoe = z(re(), 1)), (lIe = qoe.createContext(void 0))); +}); +function yNn(e, t, n) { + return qa(() => new sIe(e, t, n)).current; +} +var Nc, Xoe; +var cIe = P(() => { + Rp(); + da(); + Y8(); + Nr(); + om(); + Ci(); + zb(); + pl(); + _2(); + iIe(); + Ig(); + uE(); + ez(); + ka(); + ko(); + Roe(); + A2(); + BP(); + lbt(); + Sd(); + Qoe(); + le(); + ((Nc = z(re(), 1)), + (Xoe = s3(function (t) { + let { + children: n, + open: r, + onOpenChange: o, + onOpenChangeComplete: a, + defaultOpen: i = !1, + disabled: s = !1, + modal: l, + loopFocus: c = !0, + orientation: u = "vertical", + actionsRef: d, + closeParentOnEsc: p = !1, + handle: f, + triggerId: m, + defaultTriggerId: g = null, + highlightItemOnHover: v = !0, + } = t, + y = eM(!0), + x = Td(!0), + A = Goe(!0), + w = Zoe(), + C = Nc.useMemo(() => { + if (w && x) return { type: "menu", store: x.store }; + if (A) return { type: "menubar", context: A }; + if (y && !x) return { type: "context-menu", context: y }; + return { type: void 0 }; + }, [y, x, A, w]), + E = Ag(), + T = Ag(), + I = ih(), + k = C.type === "menu" ? C.store : void 0, + L = (r ?? i) && k?.state.transitionStatus === "starting", + O = qa(() => (L ? k?.state.instantType : void 0)).current, + B = yNn( + { + open: i, + openProp: r, + activeTriggerId: g, + triggerIdProp: m, + parent: C, + disabled: s, + highlightItemOnHover: v, + modal: C.type === void 0 ? l : void 0, + rootId: E, + instantType: O, + }, + T, + I != null, + ); + (B.useControlledProp("openProp", r), + B.useControlledProp("triggerIdProp", m), + B.useContextCallback("onOpenChangeComplete", a)); + let U = B.useState("floatingTreeRoot"), + D = hE(U), + N = B.useState("open"), + _ = B.useState("activeTriggerElement"), + G = B.useState("positionerElement"), + Z = B.useState("hoverEnabled"), + q = B.useState("disabled"), + H = B.useState("lastOpenChangeReason"), + te = B.useState("parent"), + ie = B.useState("activeIndex"), + j = B.useState("payload"), + oe = B.useState("floatingParentNodeId"), + J = Nc.useRef(null), + Y = Nc.useRef(te.type !== "context-menu"), + ae = mi(), + ne = Nc.useRef(!0), + Se = mi(), + fe = oe != null, + { openMethod: Ae, triggerProps: Ee } = mte(N); + (B.useSyncedValues({ + disabled: s, + highlightItemOnHover: v, + modal: te.type === void 0 ? l : void 0, + openMethod: Ae, + rootId: E, + }), + t6(B)); + let { forceUnmount: pe, transitionStatus: Re } = n6( + N, + B, + () => { + B.set("allowMouseEnter", !1); + }, + L, + ), + Le = Rb(B.context.popupRef); + (Nc.useEffect(() => { + if (O === void 0) return; + let Ue = () => { + if (B.state.instantType === O) B.set("instantType", void 0); + }; + if (!N) { + Ue(); + return; + } + if (Re !== void 0) return; + if (B.context.popupRef.current == null) { + Ue(); + return; + } + let Ze = new AbortController(); + return ( + Le(Ue, Ze.signal), + () => { + Ze.abort(); + } + ); + }, [O, N, Re, Le, B]), + Ct(() => { + if (y && !x) + B.update({ + parent: { type: "context-menu", context: y }, + floatingNodeId: D, + floatingParentNodeId: I, + }); + else if (x) B.update({ floatingNodeId: D, floatingParentNodeId: I }); + }, [y, x, D, I, B]), + Nc.useEffect(() => { + if (!N) J.current = null; + if (te.type !== "context-menu") return; + if (!N) { + (ae.clear(), (Y.current = !1)); + return; + } + ae.start(500, () => { + Y.current = !0; + }); + }, [ae, N, te.type]), + Ct(() => { + if (!N && !Z) B.set("hoverEnabled", !0); + }, [N, Z, B])); + let Ne = Ot((Ue, Ze) => { + let ct = Ze.reason; + if (!Ue && !B.select("open")) return; + if (N === Ue && Ze.trigger === _ && H === ct) return; + let Rt = _N(Ze); + if (!Ue && Ze.trigger == null) Ze.trigger = _ ?? void 0; + if ((o?.(Ue, Ze), Ze.isCanceled)) return; + B.state.floatingRootContext.dispatchOpenChange(Ue, Ze); + let de = Ze.event; + if ( + Ue === !1 && + de?.type === "click" && + de.pointerType === "touch" && + !ne.current + ) + return; + if (Ue && ct === PP) + ((ne.current = !1), + Se.start(300, () => { + ne.current = !0; + })); + else ((ne.current = !0), Se.clear()); + let ge = (ct === Ib || ct === J8) && de.detail === 0, + Oe = !Ue && (ct === pN || ct == null); + J.current = Ze.event; + let Xe = bE(B.state, Ue, Ze.trigger, Rt()); + if ( + ((Xe.openChangeReason = ct), + te.type === "menubar" && + (ct === PP || ct === _4 || ct === sc || ct === W$ || ct === fN)) + ) + Xe.instantType = "group"; + else if (ge || Oe) Xe.instantType = ge ? "click" : "dismiss"; + else Xe.instantType = void 0; + B.update(Xe); + }), + be = zN({ + popupStore: B, + floatingRootContext: B.state.floatingRootContext, + floatingId: T, + nested: I != null, + onOpenChange: Ne, + }), + ye = be.context.events; + Ct(() => { + let Ue = ({ open: Ze, eventDetails: ct }) => Ne(Ze, ct); + return ( + ye.on("setOpen", Ue), + () => { + ye?.off("setOpen", Ue); + } + ); + }, [ye, Ne]); + let ce = Nc.useCallback(() => { + B.setOpen(!1, un(Y$)); + }, [B]); + Nc.useImperativeHandle(d, () => ({ unmount: pe, close: ce }), [pe, ce]); + let ue; + if (te.type === "context-menu") ue = te.context; + (Nc.useImperativeHandle(ue?.positionerRef, () => G, [G]), + Nc.useImperativeHandle(ue?.actionsRef, () => ({ setOpen: Ne }), [Ne])); + let ke = k2(be, { + enabled: !q, + bubbles: { escapeKey: p && te.type === "menu" }, + outsidePress() { + if (te.type !== "context-menu" || J.current?.type === "contextmenu") + return !0; + return Y.current; + }, + externalTree: fe ? U : void 0, + }), + se = Y1(), + qe = Nc.useCallback( + (Ue) => { + if (B.select("activeIndex") === Ue) return; + B.set("activeIndex", Ue); + }, + [B], + ), + Me = GN(be, { + enabled: !q, + listRef: B.context.itemDomElements, + activeIndex: ie, + nested: te.type !== void 0, + loopFocus: c, + orientation: u, + parentOrientation: + te.type === "menubar" ? te.context.orientation : void 0, + rtl: se === "rtl", + disabledIndices: Rc, + onNavigate: qe, + openOnArrowKeyDown: te.type !== "context-menu", + externalTree: fe ? U : void 0, + focusItemOnHover: v, + }), + Qe = Nc.useCallback( + (Ue) => { + B.context.typingRef.current = Ue; + }, + [B], + ), + ee = qN(be, { + enabled: !q, + listRef: B.context.itemLabels, + elementsRef: B.context.itemDomElements, + activeIndex: ie, + resetMs: Kat, + onMatch: (Ue) => { + if (N && Ue !== ie) B.set("activeIndex", Ue); + }, + onTyping: Qe, + }), + K = Nc.useMemo(() => { + let Ue = dl( + ee.reference, + Me.reference, + ke.reference, + { + onMouseMove() { + B.set("allowMouseEnter", !0); + }, + }, + Ee, + ); + return ( + (Ue["aria-haspopup"] = "menu"), + (Ue["aria-expanded"] = N), + Ue + ); + }, [B, ee.reference, Me.reference, ke.reference, Ee, N]), + we = Nc.useMemo(() => { + let Ue = dl(Me.trigger, ke.trigger, Ee); + return ( + (Ue["aria-haspopup"] = "menu"), + (Ue["aria-expanded"] = !1), + Ue + ); + }, [Me.trigger, ke.trigger, Ee]); + qa(() => (B.update({ inactiveTriggerProps: we }), null)); + let ze = Nc.useMemo( + () => + dl( + _b, + { + id: T, + role: "menu", + "aria-orientation": u === "horizontal" ? "horizontal" : void 0, + "aria-labelledby": _?.id, + onMouseMove() { + if ((B.set("allowMouseEnter", !0), te.type === "menu")) + B.set("hoverEnabled", !1); + }, + onClick() { + if (B.select("hoverEnabled")) B.set("hoverEnabled", !1); + }, + onKeyDown(Ue) { + let Ze = B.select("keyboardEventRelay"); + if (Ze && !Ue.isPropagationStopped()) Ze(Ue); + }, + }, + ee.floating, + Me.floating, + ke.floating, + ), + [_, T, u, te.type, B, ee.floating, Me.floating, ke.floating], + ), + tt = Me.item ?? $r; + r6(B, { + floatingRootContext: be, + activeTriggerProps: K, + inactiveTriggerProps: we, + popupProps: ze, + itemProps: tt, + }); + let Pe = Nc.useMemo(() => ({ store: B, parent: C }), [B, C]), + Ke = M(JEe.Provider, { + value: Pe, + children: [ + f && h($4, { handle: f, store: B }), + typeof n === "function" ? n({ payload: j }) : n, + ], + }); + if (te.type === void 0 || te.type === "context-menu") + return h(FN, { externalTree: U, children: Ke }); + return Ke; + }))); +}); +function ubt(e) { + let t = Td().store, + n = cbt.useMemo(() => ({ parentMenu: t }), [t]); + return h(lIe.Provider, { value: n, children: h(Xoe, { ...e }) }); +} +var cbt; +var dbt = P(() => { + cIe(); + _2(); + Qoe(); + le(); + cbt = z(re(), 1); +}); +function Yoe(e, t) { + let n = vNn(t); + return ( + e.clientX >= n.left - Woe && + e.clientX <= n.right + Woe && + e.clientY >= n.top - Woe && + e.clientY <= n.bottom + Woe + ); +} +function vNn(e) { + let t = e.getBoundingClientRect(), + n = Io(e); + if (gN.jsdom) return t; + let r = n.getComputedStyle(e, "::before"), + o = n.getComputedStyle(e, "::after"); + if (!(r.content !== "none" || o.content !== "none")) return t; + let i = parseFloat(r.width) || 0, + s = parseFloat(r.height) || 0, + l = parseFloat(o.width) || 0, + c = parseFloat(o.height) || 0, + u = Math.max(t.width, i, l), + d = Math.max(t.height, s, c), + p = u - t.width, + f = d - t.height; + return { + left: t.left - p / 2, + right: t.right + p / 2, + top: t.top - f / 2, + bottom: t.bottom + f / 2, + }; +} +var Woe = 5; +var uIe = P(() => { + ul(); + a0(); +}); +function pbt(e) { + let { + render: t, + className: n, + style: r, + state: o = $r, + props: a = Rc, + refs: i = Rc, + metadata: s, + stateAttributesMapping: l, + tag: c = "div", + ...u + } = e, + { compositeProps: d, compositeRef: p } = woe({ metadata: s }); + return Zt(c, e, { + state: o, + ref: [p, ...i], + props: [d, ...a, u], + stateAttributesMapping: l, + }); +} +var fbt = P(() => { + Ci(); + vr(); + XEe(); +}); +function dIe(e) { + if (Xo(e) && e.hasAttribute("data-rootownerid")) + return e.getAttribute("data-rootownerid"); + if (z1(e)) return; + return dIe(N1(e)); +} +var mbt = P(() => { + vs(); +}); +function hbt(e) { + let { enabled: t = !0, mouseDownAction: n, open: r } = e, + o = Koe.useRef(!1); + return Koe.useMemo(() => { + if (!t) return $r; + return { + onMouseDown: (a) => { + if ((n === "open" && !r) || (n === "close" && r)) + ((o.current = !0), + yr(a.currentTarget).addEventListener( + "click", + () => { + o.current = !1; + }, + { once: !0 }, + )); + }, + onClick: (a) => { + if (o.current) ((o.current = !1), a.preventBaseUIHandler()); + }, + }; + }, [t, n, r]); +} +var Koe; +var gbt = P(() => { + ul(); + Ci(); + Koe = z(re(), 1); +}); +function bNn(e, t) { + let n = mi(), + [r, o] = hm.useState(!1); + return ( + Ct(() => { + if (e && t === sc) + (o(!0), + n.start(Bee, () => { + o(!1); + })); + else if (!e) (n.clear(), o(!1)); + }, [e, t, n]), + r + ); +} +function xNn() { + let e = Goe(!0); + return hm.useMemo(() => { + if (e) return { type: "menubar", context: e }; + return { type: void 0 }; + }, [e]); +} +var hm, ybt; +var vbt = P(() => { + zo(); + Rp(); + ul(); + zb(); + da(); + Nr(); + Ci(); + pl(); + zee(); + Cg(); + _2(); + Ep(); + vr(); + TP(); + uIe(); + fbt(); + EP(); + mbt(); + Sd(); + vEe(); + _l(); + ko(); + gbt(); + iIe(); + Ig(); + LN(); + A2(); + le(); + ((hm = z(re(), 1)), + (ybt = j4(function (t, n) { + let { + render: r, + className: o, + style: a, + disabled: i = !1, + nativeButton: s = !0, + id: l, + openOnHover: c, + delay: u = 100, + closeDelay: d = 0, + handle: p, + payload: f, + ...m + } = t, + g = Td(!0), + y = i6(p) ?? g?.store; + if (!y) throw Error(Dn(85)); + let x = go(l), + A = y.useState("isTriggerActive", x), + w = y.useState("floatingRootContext"), + C = y.useState("isOpenedByTrigger", x), + E = y.useState("triggerPopupId", x), + T = hm.useRef(null), + I = xNn(), + k = F4(!0), + L = lm(), + O = hm.useMemo(() => L ?? new mE(), [L]), + B = hE(O), + U = ih(), + { registerTrigger: D, isMountedByThisTrigger: N } = e6(x, T, y, { + payload: f, + closeDelay: d, + parent: I, + floatingTreeRoot: O, + floatingNodeId: B, + floatingParentNodeId: U, + keyboardEventRelay: k?.relayKeyboardEvent, + }), + _ = I.type === "menubar", + G = y.useState("disabled"), + Z = i || G || (_ && I.context.disabled), + { getButtonProps: q, buttonRef: H } = Ys({ disabled: Z, native: s }); + hm.useEffect(() => { + if (!C && I.type === void 0) + y.context.allowMouseUpTriggerRef.current = !1; + }, [y, C, I.type]); + let te = hm.useRef(null), + ie = mi(), + j = Ot((ue) => { + if (!te.current) return; + (ie.clear(), (y.context.allowMouseUpTriggerRef.current = !1)); + let ke = ue.target; + if ( + Ln(te.current, ke) || + Ln(y.select("positionerElement"), ke) || + ke === te.current + ) + return; + if (ke != null && dIe(ke) === y.select("rootId")) return; + if (Yoe(ue, te.current)) return; + O.events.emit("close", { domEvent: ue, reason: jrt }); + }); + hm.useEffect(() => { + if (C && y.select("lastOpenChangeReason") === sc) + yr(te.current).addEventListener("mouseup", j, { once: !0 }); + }, [C, j, y]); + let oe = _ && I.context.hasSubmenuOpen, + Y = l3(w, { + enabled: (c ?? oe) && !Z && (!_ || (oe && !N)), + handleClose: c3({ blockPointerEvents: !_ }), + mouseOnly: !0, + move: !1, + restMs: I.type === void 0 ? u : void 0, + delay: { close: d }, + triggerElementRef: T, + externalTree: O, + isActiveTrigger: A, + isClosing: () => y.select("transitionStatus") === "ending", + }), + ae = bNn(C, y.select("lastOpenChangeReason")), + ne = T2(w, { + enabled: !Z, + event: C && _ ? "click" : "mousedown", + toggle: !0, + ignoreMouse: !1, + stickIfOpen: I.type === void 0 ? ae : !1, + }), + Se = VN(w, { enabled: !Z && oe }), + fe = hbt({ open: C, enabled: _, mouseDownAction: "open" }), + Ae = hm.useMemo( + () => dl(Se.reference, ne.reference), + [Se.reference, ne.reference], + ), + Ee = y.useState("triggerProps", N), + { + preFocusGuardRef: pe, + handlePreFocusGuardFocus: Re, + handleFocusTargetFocus: Le, + } = soe(y, T), + Ne = { disabled: Z, open: C }, + be = [te, n, H, D, T], + ye = [ + Ae, + Y ?? $r, + Ee, + { + "aria-haspopup": "menu", + "aria-controls": E, + id: x, + onMouseDown: (ue) => { + if (y.select("open")) return; + (ie.start(200, () => { + y.context.allowMouseUpTriggerRef.current = !0; + }), + yr(ue.currentTarget).addEventListener("mouseup", j, { + once: !0, + })); + }, + }, + _ ? { role: "menuitem" } : {}, + fe, + m, + q, + ], + ce = Zt("button", t, { + enabled: !_, + stateAttributesMapping: tE, + state: Ne, + ref: be, + props: ye, + }); + if (_) + return h(pbt, { + tag: "button", + render: r, + className: o, + style: a, + state: Ne, + refs: be, + props: ye, + stateAttributesMapping: tE, + }); + if (C) + return M(hm.Fragment, { + children: [ + h(j1, { ref: pe, onFocus: Re }, `${x}-pre-focus-guard`), + h(hm.Fragment, { children: ce }, x), + h( + j1, + { ref: y.context.triggerFocusTargetRef, onFocus: Le }, + `${x}-post-focus-guard`, + ), + ], + }); + return h(hm.Fragment, { children: ce }, x); + }))); +}); +var bbt, xbt; +var Abt = P(() => { + vr(); + ((bbt = z(re(), 1)), + (xbt = bbt.forwardRef(function (t, n) { + let { + className: r, + render: o, + orientation: a = "horizontal", + style: i, + ...s + } = t; + return Zt("div", t, { + state: { orientation: a }, + ref: n, + props: [{ role: "separator", "aria-orientation": a }, s], + }); + }))); +}); +var C3, ANn, wbt; +var Sbt = P(() => { + zo(); + Ci(); + a0(); + da(); + Nr(); + pl(); + _2(); + _l(); + Ep(); + Fb(); + F_(); + vr(); + aI(); + Sd(); + Qoe(); + ko(); + ((C3 = z(re(), 1)), + (ANn = { "aria-expanded": void 0 }), + (wbt = C3.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + label: i, + id: s, + nativeButton: l = !1, + openOnHover: c = !0, + delay: u = 100, + closeDelay: d = 0, + disabled: p = !1, + ...f + } = t, + m = Zoe(); + if (!m?.parentMenu) throw Error(Dn(37)); + let g = Ip({ guess: !0, label: i }), + v = sx(), + { store: y } = Td(), + x = go(s), + A = y.useState("open"), + w = y.useState("floatingRootContext"), + C = y.useState("floatingTreeRoot"), + E = y.useState("triggerPopupId", x), + T = ESe(x, y), + I = Ot((Ae) => { + if ( + (T(Ae), + Ae !== null && + y.select("open") && + y.select("activeTriggerId") == null) + ) + y.update({ + activeTriggerId: x ?? null, + activeTriggerElement: Ae, + closeDelay: d, + }); + }), + k = C3.useRef(null), + L = C3.useCallback( + (Ae) => { + ((k.current = Ae), y.set("activeTriggerElement", Ae)); + }, + [y], + ); + (Ct(() => (I(k.current), () => I(null)), [I, x, y]), + y.useSyncedValue("closeDelay", d)); + let O = m.parentMenu, + B = y.useState("disabled"), + U = O.useState("disabled"), + D = p || B || U, + N = O.useState("itemProps"), + _ = O.useState("isActive", g.index), + G = C3.useMemo( + () => ({ + type: "submenu-trigger", + setActive() { + if (O.select("highlightItemOnHover")) + O.set("activeIndex", g.index); + }, + }), + [O, g.index], + ), + { getItemProps: Z, itemRef: q } = U6({ + closeOnClick: !1, + disabled: D, + highlighted: _, + id: x, + store: y, + typingRef: O.context.typingRef, + nativeButton: l, + itemMetadata: G, + nodeId: v?.context.nodeId, + }), + H = y.useState("hoverEnabled"), + te = l3(w, { + enabled: H && c && !D, + handleClose: c3({ blockPointerEvents: !0 }), + mouseOnly: !0, + move: !0, + restMs: u, + delay: { open: u, close: d }, + shouldOpen: u > 0 ? () => O.select("allowMouseEnter") : void 0, + triggerElementRef: k, + externalTree: C, + isClosing: () => y.select("transitionStatus") === "ending", + guardStaleOpen: !0, + }), + j = + T2(w, { + enabled: !D, + event: "mousedown", + toggle: !c, + ignoreMouse: c, + stickIfOpen: !1, + }).reference ?? $r, + oe = y.useState("triggerProps", !0); + delete oe.id; + let J = { disabled: D, highlighted: _, open: A }, + Y = y.useState("openMethod"), + ne = y.useState("lastOpenChangeReason") === W$ || Y === "keyboard", + Se = A && ne && iee.voiceOver; + return Zt("div", t, { + state: J, + stateAttributesMapping: Mb, + props: [ + j, + te, + oe, + N, + Se ? ANn : void 0, + { + "aria-controls": E, + tabIndex: A || _ ? 0 : -1, + onBlur() { + if (_) O.set("activeIndex", null); + }, + }, + f, + Z, + ], + ref: [n, g.ref, q, I, L], + }); + }))); +}); +var Ebt = P(() => { + Bvt(); + Fvt(); + zvt(); + Vvt(); + Zvt(); + Xvt(); + Jvt(); + $vt(); + nbt(); + abt(); + sbt(); + cIe(); + dbt(); + vbt(); + Abt(); + Sbt(); +}); +var Ibt = P(() => { + Ebt(); +}); +function kbt(e, t) { + let n = dh.forwardRef( + ( + { + className: r, + side: o, + sideOffset: a = e, + align: i, + alignOffset: s, + collisionPadding: l, + collisionAvoidance: c, + sticky: u, + anchor: d, + positionMethod: p, + forceMount: f, + ...m + }, + g, + ) => + h(CNn, { + keepMounted: f, + children: h(jvt, { + className: "z-50 outline-none", + side: o, + sideOffset: a, + align: i, + alignOffset: s, + collisionPadding: l, + collisionAvoidance: c, + sticky: u, + anchor: d, + positionMethod: p, + children: h(Qvt, { ref: g, className: io(Ve(SNn, wNn), r), ...m }), + }), + }), + ); + return ((n.displayName = t), n); +} +var dh, + wNn, + SNn, + Joe, + __ = (e) => h(Xoe, { ...e }), + H_, + pIe, + fIe, + V_, + Tbt, + CNn, + joe, + mIe, + hIe, + G_, + ENn = "px-3 py-2 text-title-small text-on-surface-variant", + gIe, + yIe, + vIe = (e) => h(ubt, { ...e }), + bIe, + Rbt, + Bi; +var Pbt = P(() => { + Ibt(); + rn(); + V1(); + n0(); + le(); + ((dh = z(re(), 1)), + (wNn = Ve( + "transition-[opacity,scale] duration-250 ease-emphasized-decelerate", + "data-starting-style:scale-95 data-starting-style:opacity-0", + "data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-150 data-ending-style:ease-emphasized-accelerate", + )), + (SNn = Ve( + "z-50 min-w-[112px] max-w-[280px] overflow-hidden py-2 outline-none", + "rounded-extra-small bg-surface-container shadow-md3-2", + "text-label-large text-on-surface", + "origin-(--transform-origin)", + )), + (Joe = Ve( + "relative flex min-h-8 cursor-default select-none items-center gap-3 px-3 outline-none", + "text-label-large text-on-surface transition-colors duration-200 ease-standard", + "data-[highlighted]:bg-on-surface/8 focus-visible:bg-on-surface/10 active:bg-on-surface/10", + "data-[disabled]:pointer-events-none data-[disabled]:text-on-surface/38", + ))); + __.displayName = "DropdownMenuRoot"; + H_ = dh.forwardRef(({ asChild: e, children: t, ...n }, r) => + h(ybt, { ref: r, ...am(e, t), ...n }), + ); + H_.displayName = "DropdownMenuTrigger"; + ((pIe = dh.createContext(!1)), + (fIe = dh.forwardRef((e, t) => + h(pIe.Provider, { value: !0, children: h(Nvt, { ref: t, ...e }) }), + ))); + fIe.displayName = "DropdownMenuGroup"; + V_ = dh.forwardRef((e, t) => + h(pIe.Provider, { value: !0, children: h(tbt, { ref: t, ...e }) }), + ); + V_.displayName = "DropdownMenuRadioGroup"; + ({ Portal: Tbt, EnsurePortal: CNn } = V4(Kvt, "DropdownMenuPortal")); + ((joe = kbt(4, "DropdownMenuContent")), + (mIe = dh.forwardRef( + ({ className: e, inset: t, onSelect: n, onClick: r, ...o }, a) => + h(qvt, { + ref: a, + className: io(Ve(Joe, t && "pl-11"), e), + onClick: n + ? (i) => { + (r?.(i), n(i.nativeEvent)); + } + : r, + ...o, + }), + ))); + mIe.displayName = "DropdownMenuItem"; + hIe = dh.forwardRef(({ className: e, children: t, ...n }, r) => + M(Lvt, { + ref: r, + className: io( + Ve( + Joe, + "pl-11 data-checked:bg-secondary-container data-checked:text-on-secondary-container", + ), + e, + ), + ...n, + children: [ + h("span", { + className: "absolute left-3 flex size-5 items-center justify-center", + children: h(Ovt, { + className: "flex", + children: h(at, { name: "check", size: 20 }), + }), + }), + t, + ], + }), + ); + hIe.displayName = "DropdownMenuCheckboxItem"; + G_ = dh.forwardRef(({ className: e, children: t, ...n }, r) => + M(obt, { + ref: r, + className: io( + Ve( + Joe, + "pl-11 data-checked:bg-secondary-container data-checked:text-on-secondary-container", + ), + e, + ), + ...n, + children: [ + h("span", { + className: "absolute left-3 flex size-5 items-center justify-center", + children: h(ibt, { + className: "flex", + children: h(at, { + name: "radio_button_checked", + size: 20, + filled: !0, + }), + }), + }), + t, + ], + }), + ); + G_.displayName = "DropdownMenuRadioItem"; + gIe = dh.forwardRef(({ className: e, inset: t, ...n }, r) => { + let o = dh.useContext(pIe), + a = Ve(ENn, t && "pl-11", e); + return o + ? h(Hvt, { ref: r, className: a, ...n }) + : h("div", { ref: r, role: "presentation", className: a, ...n }); + }); + gIe.displayName = "DropdownMenuLabel"; + yIe = dh.forwardRef(({ className: e, ...t }, n) => + h(xbt, { ref: n, className: io("my-2 h-px bg-outline-variant", e), ...t }), + ); + yIe.displayName = "DropdownMenuSeparator"; + vIe.displayName = "DropdownMenuSub"; + bIe = dh.forwardRef(({ className: e, inset: t, children: n, ...r }, o) => + M(wbt, { + ref: o, + className: io( + Ve( + Joe, + "data-popup-open:bg-secondary-container data-popup-open:text-on-secondary-container", + t && "pl-11", + ), + e, + ), + ...r, + children: [ + n, + h(at, { + name: "chevron_right", + size: 20, + className: "ml-auto text-on-surface-variant", + }), + ], + }), + ); + bIe.displayName = "DropdownMenuSubTrigger"; + ((Rbt = kbt(0, "DropdownMenuSubContent")), + (Bi = { + Root: __, + Trigger: H_, + Content: joe, + Item: mIe, + CheckboxItem: hIe, + RadioItem: G_, + Label: gIe, + Separator: yIe, + Group: fIe, + Portal: Tbt, + Sub: vIe, + SubTrigger: bIe, + SubContent: Rbt, + RadioGroup: V_, + })); +}); +function Dbt(e) { + let t = Mbt.useRef(!0); + if (t.current) ((t.current = !1), e()); +} +var Mbt; +var Lbt = P(() => { + Mbt = z(re(), 1); +}); +function kd() { + let e = _6.useContext(xIe); + if (e === void 0) throw Error(Dn(60)); + return e; +} +function H6() { + let e = _6.useContext(AIe); + if (e === void 0) throw Error(Dn(101)); + return e; +} +function $oe() { + let e = _6.useContext(wIe); + if (e === void 0) throw Error(Dn(61)); + return e; +} +var _6, xIe, AIe, wIe; +var dy = P(() => { + zo(); + ((_6 = z(re(), 1)), + (xIe = _6.createContext(void 0)), + (AIe = _6.createContext(void 0)), + (wIe = _6.createContext(void 0))); +}); +function E3(e, t, n) { + if (e == null || t == null) return Object.is(e, t); + return n(e, t); +} +function Bbt(e, t, n) { + if (Array.isArray(e) && Array.isArray(t)) + return !hN(e, t, (r, o) => E3(r, o, n)); + return e !== t; +} +function SIe(e, t, n) { + if (!e) return !1; + return e.some((r) => { + if (r === void 0) return !1; + return E3(t, r, n); + }); +} +function q_(e, t, n) { + if (!e) return -1; + return e.findIndex((r) => { + if (r === void 0) return !1; + return E3(r, t, n); + }); +} +function INn(e, t) { + if (t !== CIe) return (r) => SIe(e, r, t); + let n = new Set(e); + return ( + n.delete(void 0), + (r) => n.has(r) && (r !== 0 || e.some((o) => Object.is(r, o))) + ); +} +function EIe(e, t, n, r) { + let o = r && Array.isArray(t) ? e.findIndex(INn(t, n)) : q_(e, t, n); + return o === -1 ? null : o; +} +function Obt(e, t, n, r, o, a) { + if (SIe(r, t, o)) return a != null && e > a && SIe(r, n[a], o) ? a : e; + return e === a ? EIe(n, r, o, !0) : a; +} +function Fbt(e, t, n) { + return e.filter((r) => !E3(t, r, n)); +} +var CIe = (e, t) => Object.is(e, t); +var Z_ = () => {}; +function eae(e) { + if (e == null) return ""; + if (typeof e === "string") return e; + try { + return JSON.stringify(e); + } catch { + return String(e); + } +} +function TNn(e) { + return typeof e === "object" && e != null && Array.isArray(e.items); +} +function Nbt(e) { + return TNn(e?.[0]); +} +function kNn(e) { + return Nbt(e) ? e.flatMap((t) => t.items) : e; +} +function zbt(e) { + if (!Array.isArray(e)) return e != null && "null" in e; + let t = e; + if (Nbt(t)) { + for (let n of t) + for (let r of n.items) + if (r && r.value == null && r.label != null) return !0; + return !1; + } + for (let n of t) if (n && n.value == null && n.label != null) return !0; + return !1; +} +function IIe(e, t) { + if (t && e != null) return t(e) ?? ""; + if (e && typeof e === "object") { + if ("label" in e && e.label != null) return String(e.label); + if ("value" in e) return String(e.value); + } + return eae(e); +} +function V6(e, t) { + if (t && e != null) return t(e) ?? ""; + if (e && typeof e === "object" && "value" in e && "label" in e) + return eae(e.value); + return eae(e); +} +function TIe(e, t, n) { + function r() { + return IIe(e, n); + } + if (n && e != null) return n(e); + if (e && typeof e === "object" && "label" in e && e.label != null) + return e.label; + if (t && !Array.isArray(t)) + return (Object.hasOwn(t, e) ? t[e] : void 0) ?? r(); + if (Array.isArray(t)) { + let a = kNn(t); + if (e == null || typeof e !== "object") { + let i = a.find((s) => s.value === e); + if (i && i.label != null) return i.label; + return r(); + } + if ("value" in e) { + let i = a.find((s) => s && s.value === e.value); + if (i && i.label != null) return i.label; + } + } + return r(); +} +function _bt(e, t, n) { + return e.reduce((r, o, a) => { + if (a > 0) r.push(", "); + return (r.push(h(Ubt.Fragment, { children: TIe(o, t, n) }, a)), r); + }, []); +} +var Ubt; +var tae = P(() => { + le(); + Ubt = z(re(), 1); +}); +var Hbt; +var Vbt = P(() => { + Z_(); + tae(); + Hbt = { + id: (e) => e.id, + labelId: (e) => e.labelId, + modal: (e) => e.modal, + items: (e) => e.items, + itemToStringLabel: (e) => e.itemToStringLabel, + isItemEqualToValue: (e) => e.isItemEqualToValue, + value: (e) => e.value, + hasSelectedValue: (e) => { + let { value: t, multiple: n, itemToStringValue: r } = e; + if (t == null) return !1; + if (n && Array.isArray(t)) return t.length > 0; + return V6(t, r) !== ""; + }, + hasNullItemLabel: (e, t) => (t ? zbt(e.items) : !1), + open: (e) => e.open, + mounted: (e) => e.mounted, + forceMount: (e) => e.forceMount, + transitionStatus: (e) => e.transitionStatus, + openMethod: (e) => e.openMethod, + activeIndex: (e) => e.activeIndex, + selectedIndex: (e) => e.selectedIndex, + isActive: (e, t) => e.activeIndex === t, + isSelected: (e, t) => { + let { isItemEqualToValue: n, value: r } = e; + if (e.multiple) return Array.isArray(r) && r.some((o) => E3(t, o, n)); + return E3(t, r, n); + }, + isSelectedByFocus: (e, t) => e.selectedIndex === t, + popupProps: (e) => e.popupProps, + triggerProps: (e) => e.triggerProps, + triggerElement: (e) => e.triggerElement, + positionerElement: (e) => e.positionerElement, + listElement: (e) => e.listElement, + popupSide: (e) => e.popupSide, + scrollUpArrowVisible: (e) => e.scrollUpArrowVisible, + scrollDownArrowVisible: (e) => e.scrollDownArrowVisible, + hasScrollArrows: (e) => e.hasScrollArrows, + }; +}); +function rM(e, t) { + return Math.max(0, e - t); +} +function oM(e, t) { + if (t <= 0) return 0; + let n = $i(e, 0, t), + r = n, + o = t - n, + a = r <= Fg, + i = o <= Fg; + if (a && i) return r <= o ? 0 : t; + if (a) return 0; + if (i) return t; + return n; +} +var Fg = 1; +var nae = () => {}; +function kIe(e) { + let { + id: t, + value: n, + defaultValue: r = null, + onValueChange: o, + open: a, + defaultOpen: i = !1, + onOpenChange: s, + name: l, + form: c, + autoComplete: u, + disabled: d = !1, + readOnly: p = !1, + required: f = !1, + modal: m = !0, + actionsRef: g, + inputRef: v, + onOpenChangeComplete: y, + items: x, + multiple: A = !1, + itemToStringLabel: w, + itemToStringValue: C, + isItemEqualToValue: E = CIe, + highlightItemOnHover: T = !0, + children: I, + } = e, + { clearErrors: k } = z4(), + { + setDirty: L, + setTouched: O, + setFocused: B, + validityData: U, + setFilled: D, + name: N, + disabled: _, + validation: G, + validationMode: Z, + } = r0(), + q = Eb({ id: t }), + H = _ || d, + te = N ?? l, + [ie, j] = Zd({ + controlled: n, + default: A ? (r ?? Rc) : r, + name: "Select", + state: "value", + }), + [oe, J] = Zd({ controlled: a, default: i, name: "Select", state: "open" }), + Y = Gl.useRef([]), + ae = Gl.useRef([]), + ne = Gl.useRef(null), + Se = Gl.useRef(null), + fe = Gl.useRef(0), + Ae = Gl.useRef(null), + Ee = Gl.useRef([]), + pe = Gl.useRef(!1), + Re = Gl.useRef(null), + Le = Gl.useRef(null), + Ne = Gl.useRef({ + allowSelectedMouseUp: !1, + allowUnselectedMouseUp: !1, + dragY: 0, + }), + be = Gl.useRef(!1), + ye = Gl.useRef(ie), + { mounted: ce, setMounted: ue, transitionStatus: ke } = Sp(oe), + { openMethod: se, triggerProps: qe } = mte(oe), + Me = qa( + () => + new Tg( + { + id: q, + labelId: void 0, + modal: m, + multiple: A, + itemToStringLabel: w, + itemToStringValue: C, + isItemEqualToValue: E, + value: ie, + open: oe, + mounted: ce, + transitionStatus: ke, + items: x, + forceMount: !1, + openMethod: null, + activeIndex: null, + selectedIndex: null, + popupProps: $r, + triggerProps: $r, + triggerElement: null, + positionerElement: null, + listElement: null, + popupSide: null, + scrollUpArrowVisible: !1, + scrollDownArrowVisible: !1, + hasScrollArrows: !1, + }, + { + setValue: oa, + setOpen: oa, + handleScrollArrowVisibility: oa, + onOpenChangeComplete: oa, + listRef: Y, + popupRef: ne, + scrollHandlerRef: Se, + scrollArrowsMountedCountRef: fe, + valueRef: Ae, + valuesRef: Ee, + labelsRef: ae, + typingRef: pe, + selectionRef: Ne, + firstItemTextRef: Re, + selectedItemTextRef: Le, + alignItemWithTriggerActiveRef: be, + initialValueRef: ye, + }, + Hbt, + ), + ).current, + Qe = Me.useState("activeIndex"), + ee = Me.useState("selectedIndex"), + K = Me.useState("triggerElement"), + we = Me.useState("positionerElement"), + ze = I2t(se), + tt = se ?? ze, + Pe = Gl.useMemo(() => { + if (A) return ""; + return V6(ie, C); + }, [A, ie, C]), + Ke = Gl.useMemo(() => { + if (A && Array.isArray(ie)) return ie.map((Yt) => V6(Yt, C)); + return V6(ie, C); + }, [A, ie, C]), + Ue = ti(K), + Ze = Ot(() => Ke); + N4(Ue, q, ie, Ze, !H, l); + let ct = A ? Array.isArray(ie) && ie.length > 0 : ie != null && Pe !== ""; + (Ct(() => { + D(ct); + }, [ct, D]), + Ct( + function () { + let Be = EIe(Ee.current, ie, E, A); + if (Be === null) Le.current = null; + if (oe) return; + Me.set("selectedIndex", Be); + }, + [A, oe, ie, E, Me], + ), + Tb(ie, () => { + (k(te), L(Bbt(ie, U.initialValue, E)), G.change(ie)); + })); + let Rt = Ot((Yt, Be) => { + if ((s?.(Yt, Be), Be.isCanceled)) return; + if ((J(Yt), !Yt && (Be.reason === _4 || Be.reason === X$))) { + if ((O(!0), B(!1), Z === "onBlur")) G.commit(ie); + } + }), + de = Ot(() => { + (ue(!1), + Me.update({ + activeIndex: null, + openMethod: null, + scrollUpArrowVisible: !1, + scrollDownArrowVisible: !1, + }), + y?.(!1)); + }); + (ji({ + enabled: !g, + open: oe, + ref: ne, + onComplete() { + if (!oe) de(); + }, + }), + Gl.useImperativeHandle(g, () => ({ unmount: de }), [de])); + let ge = Ot((Yt, Be) => { + if ((o?.(Yt, Be), Be.isCanceled)) return; + j(Yt); + }), + Oe = Ot((Yt) => { + let Be = rM(Yt.scrollHeight, Yt.clientHeight), + Je = oM(Yt.scrollTop, Be), + it = Je > 0, + Et = Je < Be; + (Me.set("scrollUpArrowVisible", it), + Me.set("scrollDownArrowVisible", Et)); + }), + Xe = kSe({ + open: oe, + onOpenChange: Rt, + elements: { reference: K, floating: we }, + }), + $e = T2(Xe, { enabled: !H, event: "mousedown" }), + Ie = k2(Xe), + Ge = GN(Xe, { + enabled: !H, + listRef: Y, + activeIndex: Qe, + selectedIndex: ee, + disabledIndices: Rc, + onNavigate(Yt) { + if (Yt === null && !oe) return; + Me.set("activeIndex", Yt); + }, + focusItemOnHover: T, + }), + _e = qN(Xe, { + enabled: !H && (oe || (!p && !A)), + listRef: ae, + activeIndex: Qe, + selectedIndex: ee, + disabledIndices: (Yt) => Eoe(Y.current[Yt]), + onMatch(Yt) { + if (oe) Me.set("activeIndex", Yt); + else ge(Ee.current[Yt], un(_1)); + }, + onTyping(Yt) { + pe.current = Yt; + }, + }), + nt = Gl.useMemo( + () => dl(_e.reference, Ge.reference, Ie.reference, $e.reference, qe), + [$e.reference, _e.reference, Ge.reference, Ie.reference, qe], + ), + rt = Gl.useMemo( + () => dl(_b, _e.floating, Ge.floating, Ie.floating), + [_e.floating, Ge.floating, Ie.floating], + ), + ot = Ge.item ?? $r; + (Me.useContextCallback("setValue", ge), + Me.useContextCallback("setOpen", Rt), + Me.useContextCallback("handleScrollArrowVisibility", Oe), + Me.useContextCallback("onOpenChangeComplete", y), + Dbt(() => { + Me.update({ popupProps: rt, triggerProps: nt }); + }), + Me.useSyncedValues({ + id: q, + modal: m, + multiple: A, + value: ie, + open: oe, + mounted: ce, + transitionStatus: ke, + popupProps: rt, + triggerProps: nt, + items: x, + itemToStringLabel: w, + itemToStringValue: C, + isItemEqualToValue: E, + openMethod: tt, + })); + let At = Gl.useMemo( + () => ({ + disabled: H, + readOnly: p, + required: f, + multiple: A, + highlightItemOnHover: T, + itemProps: ot, + }), + [H, p, f, A, T, ot], + ), + en = cl(v, G.inputRef), + Gt = A ? void 0 : te, + tn = Gl.useMemo(() => { + if (!A || !Array.isArray(ie) || !te) return null; + return ie.map((Yt) => { + let Be = V6(Yt, C); + return h( + "input", + { type: "hidden", form: c, name: te, value: Be, disabled: H }, + Be, + ); + }); + }, [A, ie, c, te, C, H]); + return M(xIe.Provider, { + value: Me, + children: [ + h(AIe.Provider, { + value: At, + children: h(wIe.Provider, { value: Xe, children: I }), + }), + h("input", { + ...G.getValidationProps(H, { + onFocus() { + Me.state.triggerElement?.focus({ focusVisible: !0 }); + }, + onChange(Yt) { + if (Yt.nativeEvent.defaultPrevented || H || p) return; + let Be = Yt.currentTarget.value, + Je = un(_1, Yt.nativeEvent); + function it() { + if (A) return; + let Et = Be.toLowerCase(), + Mt = Ee.current.findIndex( + (Nn) => + V6(Nn, C).toLowerCase() === Et || + IIe(Nn, w).toLowerCase() === Et, + ); + if (Mt === -1) + Mt = Ee.current.findIndex((Nn, Tn) => { + let Cn = ae.current[Tn]; + return Cn != null && Cn.toLowerCase() === Et; + }); + let An = Ee.current[Mt]; + if (An != null) ge(An, Je); + } + (Me.set("forceMount", !0), queueMicrotask(it)); + }, + }), + id: q && Gt == null ? `${q}-hidden-input` : void 0, + form: c, + name: Gt, + autoComplete: u, + value: Pe, + disabled: H, + required: f && !(A && ct), + readOnly: p, + ref: en, + style: te ? wP : xg, + tabIndex: -1, + "aria-hidden": !0, + suppressHydrationWarning: !0, + }), + tn, + ], + }); +} +var Gl; +var Gbt = P(() => { + Q8(); + U1(); + om(); + Lbt(); + T2t(); + xb(); + Nr(); + da(); + Ob(); + yE(); + Ci(); + pl(); + dy(); + U4(); + uN(); + RP(); + Pb(); + Vbt(); + ka(); + ko(); + oh(); + dN(); + tae(); + Z_(); + MP(); + ez(); + nae(); + Sd(); + A2(); + K8(); + le(); + Gl = z(re(), 1); +}); +var WMo, + YMo, + qbt = "data-popup-side"; +var Zbt = P(() => { + Ep(); + ((WMo = xN), (YMo = Dwe)); +}); +var aM, + PNn = 400, + MNn, + RIe; +var Qbt = P(() => { + ul(); + Rp(); + Ob(); + dy(); + U4(); + kP(); + Ep(); + SP(); + vr(); + uIe(); + Cg(); + A2(); + KA(); + ka(); + ko(); + RP(); + Zbt(); + ((aM = z(re(), 1)), + (MNn = { + ...tE, + ...B4, + popupSide: (e) => (e ? { [qbt]: e } : null), + value: () => null, + }), + (RIe = aM.forwardRef(function (t, n) { + let { + render: r, + className: o, + id: a, + disabled: i = !1, + nativeButton: s = !0, + style: l, + ...c + } = t, + { + setTouched: u, + setFocused: d, + validationMode: p, + validation: f, + state: m, + disabled: g, + } = r0(), + { labelId: v } = Cb(), + y = kd(), + { readOnly: x, required: A, disabled: w } = H6(), + C = g || w || i, + E = y.useState("open"), + T = y.useState("mounted"), + I = y.useState("value"), + k = y.useState("triggerProps"), + L = y.useState("positionerElement"), + O = y.useState("listElement"), + B = y.useState("popupSide"), + U = y.useState("id"), + D = y.useState("labelId"), + N = y.useState("hasSelectedValue"), + _ = T && L ? B : null, + G = a ?? U, + Z = vee(v, D); + Eb({ id: a }); + let q = ti(L), + H = aM.useRef(null), + { getButtonProps: te, buttonRef: ie } = Ys({ disabled: C, native: s }), + j = y.useStateSetter("triggerElement"), + oe = mi(), + J = mi(), + Y = mi(); + aM.useEffect(() => { + if (E) + return ( + Y.start(PNn, () => { + ((y.context.selectionRef.current.allowUnselectedMouseUp = !0), + (y.context.selectionRef.current.allowSelectedMouseUp = !0)); + }), + () => { + Y.clear(); + } + ); + ((y.context.selectionRef.current = { + allowSelectedMouseUp: !1, + allowUnselectedMouseUp: !1, + dragY: 0, + }), + J.clear()); + return; + }, [E, y, J, Y]); + let ae = dl( + k, + { + id: G, + role: "combobox", + "aria-expanded": E, + "aria-haspopup": "listbox", + "aria-controls": E ? (O?.id ?? oE(L)?.id) : void 0, + "aria-labelledby": Z, + "aria-readonly": x || void 0, + "aria-required": A || void 0, + tabIndex: C ? -1 : 0, + onFocus(fe) { + if ((d(!0), E && y.context.alignItemWithTriggerActiveRef.current)) + y.context.setOpen(!1, un(_1, fe.nativeEvent)); + oe.start(0, () => { + y.set("forceMount", !0); + }); + }, + onBlur(fe) { + if (Ln(L, fe.relatedTarget)) return; + if ((u(!0), d(!1), p === "onBlur")) f.commit(I); + }, + onMouseDown(fe) { + if (E) return; + let Ae = yr(fe.currentTarget); + function Ee(pe) { + if (!H.current) return; + let Re = pe.target; + if (Ln(H.current, Re) || Ln(q.current, Re)) return; + if (Yoe(pe, H.current)) return; + y.context.setOpen(!1, un(jrt, pe)); + } + J.start(0, () => { + Ae.addEventListener("mouseup", Ee, { once: !0 }); + }); + }, + }, + c, + te, + ), + ne = f.getValidationProps(C, ae); + ne.role = "combobox"; + let Se = { + ...m, + open: E, + disabled: C, + value: I, + readOnly: x, + popupSide: _, + placeholder: !N, + }; + return Zt("button", t, { + ref: [n, H, ie, j], + state: Se, + stateAttributesMapping: MNn, + props: ne, + }); + }))); +}); +var Xbt, DNn, PIe; +var Wbt = P(() => { + vr(); + dy(); + tae(); + ((Xbt = z(re(), 1)), + (DNn = { value: () => null }), + (PIe = Xbt.forwardRef(function (t, n) { + let { + className: r, + render: o, + children: a, + placeholder: i, + style: s, + ...l + } = t, + c = kd(), + u = c.useState("value"), + d = c.useState("items"), + p = c.useState("itemToStringLabel"), + f = c.useState("hasSelectedValue"), + m = !f && i != null && a == null, + g = c.useState("hasNullItemLabel", m), + v = { value: u, placeholder: !f }, + y = null; + if (typeof a === "function") y = a(u); + else if (a != null) y = a; + else if (m && !g) y = i; + else if (Array.isArray(u)) y = _bt(u, d, p); + else y = TIe(u, d, p); + return Zt("span", t, { + state: v, + ref: [n, c.context.valueRef], + props: [{ children: y }, l], + stateAttributesMapping: DNn, + }); + }))); +}); +var Ybt, MIe; +var Kbt = P(() => { + vr(); + dy(); + Ep(); + ((Ybt = z(re(), 1)), + (MIe = Ybt.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + c = { open: kd().useState("open") }; + return Zt("span", t, { + state: c, + ref: n, + props: [{ "aria-hidden": !0, children: "▼" }, i], + stateAttributesMapping: Mb, + }); + }))); +}); +var Jbt, DIe; +var jbt = P(() => { + pl(); + dy(); + le(); + ((Jbt = z(re(), 1)), + (DIe = Jbt.forwardRef(function (t, n) { + let r = kd(), + o = r.useState("mounted"), + a = r.useState("forceMount"); + if (!(o || a)) return null; + return h(a3, { ref: n, ...t }); + }))); +}); +function iM() { + let e = rae.useContext(LIe); + if (!e) throw Error(Dn(59)); + return e; +} +var rae, LIe; +var Q_ = P(() => { + zo(); + ((rae = z(re(), 1)), (LIe = rae.createContext(void 0))); +}); +function sM(e, t) { + if (e) Object.assign(e.style, t); +} +var oae; +var aae = P(() => { + oae = { + position: "relative", + maxHeight: "100%", + overflowX: "hidden", + overflowY: "auto", + }; +}); +var py, LNn, BIe; +var $bt = P(() => { + l9(); + Nr(); + da(); + dy(); + lE(); + T_(); + Q_(); + WN(); + Ig(); + aae(); + ka(); + ko(); + Z_(); + k_(); + uoe(); + le(); + ((py = z(re(), 1)), + (LNn = { position: "fixed" }), + (BIe = py.forwardRef(function (t, n) { + let { + anchor: r, + className: o, + render: a, + positionMethod: i, + side: s, + align: l, + sideOffset: c, + alignOffset: u, + collisionBoundary: d = "clipping-ancestors", + collisionPadding: p, + arrowPadding: f, + sticky: m, + disableAnchorTracking: g, + alignItemWithTrigger: v = !0, + collisionAvoidance: y = Oee, + style: x, + ...A + } = t, + w = kd(), + C = $oe(), + E = w.useState("open"), + T = w.useState("mounted"), + I = w.useState("modal"), + k = w.useState("value"), + L = w.useState("openMethod"), + O = w.useState("positionerElement"), + B = w.useState("triggerElement"), + U = w.useState("isItemEqualToValue"), + D = w.useState("transitionStatus"), + N = py.useRef(null), + _ = py.useRef(null), + [G, Z] = py.useState(v), + q = T && G && L !== "touch"; + if (!T && G !== v) Z(v); + (py.useImperativeHandle(w.context.alignItemWithTriggerActiveRef, () => q), + Y9((q || I) && E, L === "touch", O, B)); + let H = D6({ + anchor: r, + floatingRootContext: C, + positionMethod: i, + mounted: T, + side: s, + sideOffset: c, + align: l, + alignOffset: u, + arrowPadding: f, + collisionBoundary: d, + collisionPadding: p, + sticky: m, + disableAnchorTracking: g ?? q, + collisionAvoidance: y, + keepMounted: !0, + }), + te = q ? "none" : H.side, + ie = q ? LNn : H.positionerStyles, + j = { open: E, side: te, align: H.align, anchorHidden: H.anchorHidden }; + Ct(() => { + w.set("popupSide", H.side); + }, [w, H.side]); + let oe = w.useStateSetter("positionerElement"), + J = L6(t, j, { + styles: ie, + transitionStatus: D, + props: A, + refs: [n, oe], + hidden: !T, + inert: !E, + }), + Y = py.useRef(0), + ae = Ot((Se) => { + if (w.context.valuesRef.current.length === 0) return; + let fe = Y.current; + Y.current = Se.size; + let Ae = un(_1); + if (fe !== 0 && !w.state.multiple && k !== null) { + if (q_(w.context.valuesRef.current, k, U) === -1) { + let pe = w.context.initialValueRef.current, + Le = + pe != null && q_(w.context.valuesRef.current, pe, U) !== -1 + ? pe + : null; + if ((w.context.setValue(Le, Ae), Le === null)) + (w.set("selectedIndex", null), + (w.context.selectedItemTextRef.current = null)); + } + } + if (fe !== 0 && w.state.multiple && Array.isArray(k)) { + let Ee = k.filter( + (pe) => q_(w.context.valuesRef.current, pe, U) !== -1, + ); + if (Ee.length !== k.length) { + if ((w.context.setValue(Ee, Ae), Ee.length === 0)) + (w.set("selectedIndex", null), + (w.context.selectedItemTextRef.current = null)); + } + } + if (E && q) { + w.update({ scrollUpArrowVisible: !1, scrollDownArrowVisible: !1 }); + let Ee = { height: "" }; + (sM(O, Ee), sM(w.context.popupRef.current, Ee)); + } + }), + ne = py.useMemo( + () => ({ + ...H, + side: te, + alignItemWithTriggerActive: q, + setControlledAlignItemWithTrigger: Z, + scrollUpArrowRef: N, + scrollDownArrowRef: _, + }), + [H, te, q, Z], + ); + return h(W1, { + elementsRef: w.context.listRef, + labelsRef: w.context.labelsRef, + onMapChange: ae, + children: M(LIe.Provider, { + value: ne, + children: [T && I && h(l6, { inert: Vb(!E), cutout: B }), J], + }), + }); + }))); +}); +var iae = "base-ui-disable-scrollbar", + X_; +var OIe = P(() => { + le(); + X_ = { + className: iae, + getElement(e) { + return h("style", { + nonce: e, + href: iae, + precedence: "base-ui:low", + children: `.${iae}{scrollbar-width:none}.${iae}::-webkit-scrollbar{display:none}`, + }); + }, + }; +}); +var FIe = "--transform-origin"; +function ext(e) { + let t = e.maxHeight; + return t.endsWith("px") ? parseFloat(t) || 1 / 0 : 1 / 0; +} +function sae(e) { + return rM(e.scrollHeight, e.clientHeight); +} +function txt(e) { + return ZN.getScale(e); +} +function W_(e, t, n) { + return e / n[t]; +} +function lae(e, t) { + return $A({ + x: W_(e.x, "x", t), + y: W_(e.y, "y", t), + width: W_(e.width, "x", t), + height: W_(e.height, "y", t), + }); +} +function FNn(e) { + let { style: t } = e, + n = {}; + for (let [r, o] of nxt) + ((n[r] = t.getPropertyValue(r)), t.setProperty(r, o, "important")); + return () => { + for (let [r] of nxt) { + let o = n[r]; + if (o) t.setProperty(r, o); + else t.removeProperty(r); + } + }; +} +var fy, ONn, UIe, nxt; +var rxt = P(() => { + aE(); + a0(); + da(); + ul(); + Nr(); + kb(); + pl(); + dy(); + Ep(); + Q_(); + OIe(); + H1(); + oh(); + vr(); + aae(); + ka(); + ko(); + foe(); + pE(); + W9(); + nae(); + $we(); + uE(); + le(); + ((fy = z(re(), 1)), + (ONn = { ...nE, ...Cp }), + (UIe = fy.forwardRef(function (t, n) { + let { render: r, className: o, style: a, finalFocus: i, ...s } = t, + l = kd(), + { multiple: c, readOnly: u, highlightItemOnHover: d } = H6(), + p = $oe(), + { + side: f, + align: m, + alignItemWithTriggerActive: g, + isPositioned: v, + setControlledAlignItemWithTrigger: y, + } = iM(), + x = K9(!0) != null, + A = Y1(), + { nonce: w, disableStyleElements: C } = Ree(), + E = l.useState("id"), + T = l.useState("open"), + I = l.useState("openMethod"), + k = l.useState("mounted"), + L = l.useState("popupProps"), + O = l.useState("transitionStatus"), + B = l.useState("triggerElement"), + U = l.useState("positionerElement"), + D = l.useState("listElement"), + N = fy.useRef(!1), + _ = fy.useRef(!1), + G = fy.useRef({}), + Z = wg(), + q = Ot((j) => { + if (!U || !l.context.popupRef.current || !_.current) return; + let oe = U.style.top === "0px", + J = U.style.bottom === "0px"; + if (N.current || !g || (!oe && !J)) { + l.context.handleScrollArrowVisibility(j); + return; + } + let Y = txt(U), + ae = W_(U.getBoundingClientRect().height, "y", Y), + ne = yr(U), + Se = Io(U), + fe = Se.getComputedStyle(U), + Ae = parseFloat(fe.marginTop), + Ee = parseFloat(fe.marginBottom), + pe = ext(Se.getComputedStyle(l.context.popupRef.current)), + Re = Math.min(ne.documentElement.clientHeight - Ae - Ee, pe), + Le = j.scrollTop, + Ne = sae(j), + be = null, + ye = (se) => { + U.style.height = `${se}px`; + }, + ce = oe ? Ne - Le : Le, + ue = Math.min(ae + ce, Re); + if (ce <= Fg) { + let se = $i(ce, 0, Re - ae); + if (se > 0) ye(ae + se); + if (((j.scrollTop = oe ? Ne : 0), Re - (ae + se) <= Fg)) + N.current = !0; + l.context.handleScrollArrowVisibility(j); + return; + } + if (Re - ue > Fg) be = oe ? 1 / 0 : 0; + else if (J && Le < Ne) { + let se = ae + ce - Re; + be = Le - (ce - se); + } + let ke = Math.ceil(ue); + if (ke !== 0) ye(ke); + if (be != null) { + let se = $i(be, 0, sae(j)); + if (Math.abs(j.scrollTop - se) > Fg) j.scrollTop = se; + } + if (ke >= Re - Fg) N.current = !0; + l.context.handleScrollArrowVisibility(j); + }); + (fy.useImperativeHandle(l.context.scrollHandlerRef, () => q, [q]), + ji({ + open: T, + ref: l.context.popupRef, + onComplete() { + if (T) l.context.onOpenChangeComplete(!0); + }, + })); + let H = { open: T, transitionStatus: O, side: f, align: m }; + (Ct(() => { + if (!U || !l.context.popupRef.current || Object.keys(G.current).length) + return; + G.current = { + top: U.style.top || "0", + left: U.style.left || "0", + right: U.style.right, + height: U.style.height, + bottom: U.style.bottom, + minHeight: U.style.minHeight, + maxHeight: U.style.maxHeight, + marginTop: U.style.marginTop, + marginBottom: U.style.marginBottom, + }; + }, [l, U]), + Ct(() => { + if (T || g) return; + ((_.current = !1), (N.current = !1), sM(U, G.current)); + }, [T, g, U]), + Ct(() => { + let j = l.context.popupRef.current; + if ( + !T || + !B || + !U || + !j || + (g && !v) || + l.state.transitionStatus === "ending" + ) + return; + if (((_.current = !0), j.style.removeProperty(FIe), !g)) { + Z.request(() => l.context.handleScrollArrowVisibility(D || j)); + return; + } + let oe = FNn(j); + try { + let J = l.context.selectedItemTextRef.current; + if (!J?.isConnected) + J = + !l.select("hasSelectedValue") && + l.context.firstItemTextRef.current?.isConnected + ? l.context.firstItemTextRef.current + : null; + let Y = l.context.valueRef.current, + ae = Io(U), + ne = ae.getComputedStyle(U), + Se = ae.getComputedStyle(j), + fe = yr(B), + Ae = txt(B), + Ee = lae(B.getBoundingClientRect(), Ae), + pe = lae(U.getBoundingClientRect(), Ae), + Re = Ee.height, + Le = D || j, + Ne = Le.scrollHeight, + be = parseFloat(Se.borderBottomWidth), + ye = parseFloat(ne.marginTop) || 10, + ce = parseFloat(ne.marginBottom) || 10, + ue = parseFloat(ne.minHeight) || 100, + ke = ext(Se), + se = 5, + qe = 5, + Me = 20, + Qe = fe.documentElement.clientHeight - ye - ce, + ee = fe.documentElement.clientWidth, + K = Qe - Ee.bottom + Re, + we, + ze = A === "rtl" ? Ee.right - pe.width : Ee.left, + tt = 0; + if (J && Y) { + let $e = lae(Y.getBoundingClientRect(), Ae); + ((we = lae(J.getBoundingClientRect(), Ae)), + (ze = + pe.left + + (A === "rtl" ? $e.right - we.right : $e.left - we.left))); + let Ie = $e.top - Ee.top + $e.height / 2; + tt = we.top - pe.top + we.height / 2 - Ie; + } + let Pe = K + tt + ce + be, + Ke = Math.min(Qe, Pe), + Ue = Qe - ye - ce, + Ze = Pe - Ke, + ct = ee - qe; + ((U.style.left = `${$i(ze, se, ct - pe.width)}px`), + (U.style.height = `${Ke}px`), + (U.style.maxHeight = "none"), + (U.style.marginTop = `${ye}px`), + (U.style.marginBottom = `${ce}px`), + (j.style.height = "100%")); + let Rt = sae(Le), + de = Ze >= Rt - Fg; + if (de) Ke = Math.min(Qe, pe.height) - (Ze - Rt); + let ge = + Ee.top < Me || + Ee.bottom > Qe - Me || + Math.ceil(Ke) + Fg < Math.min(Ne, ue), + Oe = (ae.visualViewport?.scale ?? 1) !== 1 && jA.webkit; + if (ge || Oe) { + (sM(U, G.current), y(!1)); + return; + } + let Xe = Math.max(ue, Ke); + if (de) { + let $e = Math.max(0, Qe - Pe); + ((U.style.top = pe.height >= Ue ? "0" : `${$e}px`), + (U.style.height = `${Ke}px`), + (Le.scrollTop = sae(Le))); + } else ((U.style.bottom = "0"), (Le.scrollTop = Ze)); + if (we) { + let { top: $e, height: Ie } = pe, + Ge = we.top + we.height / 2, + _e = $i(Ie > 0 ? ((Ge - $e) / Ie) * 100 : 50, 0, 100); + j.style.setProperty(FIe, `50% ${_e}%`); + } + if (Xe === Qe || Ke >= ke) N.current = !0; + if ( + (l.context.handleScrollArrowVisibility(Le), + d && + l.state.selectedIndex === null && + l.state.activeIndex === null && + l.context.listRef.current[0] != null) + ) + l.set("activeIndex", 0); + } finally { + oe(); + } + }, [l, T, U, B, g, y, Z, D, d, A, v]), + fy.useEffect(() => { + if (!g || !U || !T) return; + let j = Io(U); + function oe(J) { + l.context.setOpen(!1, un(PPn, J)); + } + return zr(j, "resize", oe); + }, [l, g, U, T])); + let te = { + ...(D + ? { role: "presentation" } + : { + role: "listbox", + "aria-multiselectable": c || void 0, + "aria-readonly": u || void 0, + id: `${E}-list`, + }), + onKeyDown(j) { + if (x && Eg.has(j.key)) j.stopPropagation(); + }, + onScroll(j) { + if (D) return; + q(j.currentTarget); + }, + ...(g && { style: D ? { height: "100%" } : oae }), + className: !D && g ? X_.className : void 0, + }, + ie = Zt("div", t, { + ref: [n, l.context.popupRef], + state: H, + stateAttributesMapping: ONn, + props: [L, te, ix(O), s], + }); + return M(fy.Fragment, { + children: [ + !C && X_.getElement(w), + h(i3, { + context: p, + modal: !1, + disabled: !k, + openInteractionType: I, + returnFocus: i, + restoreFocus: !0, + children: ie, + }), + ], + }); + }))); + nxt = [ + ["transform", "none"], + ["scale", "1"], + ["translate", "0 0"], + ]; +}); +var oxt, NIe; +var axt = P(() => { + dy(); + Q_(); + vr(); + OIe(); + aae(); + ((oxt = z(re(), 1)), + (NIe = oxt.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + s = kd(), + { multiple: l, readOnly: c } = H6(), + { alignItemWithTriggerActive: u } = iM(), + d = s.useState("hasScrollArrows"), + p = s.useState("openMethod"), + m = { + id: `${s.useState("id")}-list`, + role: "listbox", + "aria-multiselectable": l || void 0, + "aria-readonly": c || void 0, + onScroll(v) { + s.context.scrollHandlerRef.current?.(v.currentTarget); + }, + ...(u && { style: oae }), + className: d && p !== "touch" ? X_.className : void 0, + }, + g = s.useStateSetter("listElement"); + return Zt("div", t, { ref: [n, g], props: [m, i] }); + }))); +}); +function Y_() { + let e = cae.useContext(zIe); + if (!e) throw Error(Dn(57)); + return e; +} +var cae, zIe; +var uae = P(() => { + zo(); + ((cae = z(re(), 1)), (zIe = cae.createContext(void 0))); +}); +var H2, _Ie; +var ixt = P(() => { + Nr(); + dy(); + Fb(); + vr(); + uae(); + KA(); + ka(); + ko(); + Z_(); + Z1(); + le(); + ((H2 = z(re(), 1)), + (_Ie = H2.memo( + H2.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + value: i = null, + label: s, + disabled: l = !1, + nativeButton: c = !1, + ...u + } = t, + d = H2.useRef(null), + p = Ip({ guess: !0, label: s, textRef: d }), + f = kd(), + { itemProps: m, multiple: g, disabled: v, readOnly: y } = H6(), + x = v || l, + A = f.useState("isActive", p.index), + w = f.useState("open"), + C = f.useState("isSelected", i), + E = f.useState("isSelectedByFocus", p.index), + T = f.useState("isItemEqualToValue"), + I = p.index, + k = H2.useRef(null); + (Ct(() => { + let H = f.context.valuesRef.current; + return ( + (H[I] = i), + () => { + delete H[I]; + } + ); + }, [I, i, f]), + Ct(() => { + let H = f.state.value, + te = f.state.selectedIndex, + ie = te, + j; + if (g && Array.isArray(H)) { + if ( + ((ie = Obt(I, i, f.context.valuesRef.current, H, T, te)), + (j = ie === I), + I === te && !j) + ) + f.context.selectedItemTextRef.current = null; + } else if (((j = H !== void 0 && E3(i, H, T)), j)) ie = I; + if ((f.set("selectedIndex", ie), j && d.current)) + f.context.selectedItemTextRef.current = d.current; + }, [I, g, T, f, i])); + let L = H2.useRef("mouse"), + O = H2.useRef(!1), + { getButtonProps: B, buttonRef: U } = Ys({ + disabled: x, + focusableWhenDisabled: !0, + native: c, + composite: !0, + }), + D = { disabled: x, selected: C, highlighted: A }; + function N(H) { + if (v || y) return; + let te = f.state.value; + if (g) { + let ie = Array.isArray(te) ? te : [], + j = C ? Fbt(ie, i, T) : [...ie, i]; + f.context.setValue(j, un(J8, H)); + } else + (f.context.setValue(i, un(J8, H)), + f.context.setOpen(!1, un(J8, H))); + } + function _() { + f.context.selectionRef.current.dragY = 0; + } + let G = { + role: "option", + "aria-selected": C, + tabIndex: w && A ? 0 : -1, + onKeyDown(H) { + if ( + (f.set("activeIndex", I), + H.key === " " && f.context.typingRef.current) + ) + H.preventDefault(); + }, + onClick(H) { + let te = L.current !== "touch", + ie = H.nativeEvent.pointerType, + j = te && Z4(H.nativeEvent) && (ie !== void 0 || A), + oe = te && !j && !O.current; + if (((O.current = !1), x || oe)) return; + N(H.nativeEvent); + }, + onPointerEnter(H) { + L.current = H.pointerType; + }, + onPointerMove(H) { + if (H.pointerType === "mouse" && H.buttons === 1) { + let te = f.context.selectionRef.current; + if (((te.dragY += H.movementY), te.dragY ** 2 >= 64)) + te.allowUnselectedMouseUp = !0; + } + }, + onPointerDown(H) { + ((L.current = H.pointerType), (O.current = !0), _()); + }, + onMouseUp() { + if ((_(), x || L.current === "touch")) return; + if (O.current) return; + let H = !f.context.selectionRef.current.allowSelectedMouseUp && C, + te = + !f.context.selectionRef.current.allowUnselectedMouseUp && !C; + if (H || te) return; + ((O.current = !0), k.current?.click(), (O.current = !1)); + }, + }, + Z = Zt("div", t, { + ref: [U, n, p.ref, k], + state: D, + props: [m, G, u, B], + }), + q = H2.useMemo( + () => ({ selected: C, index: I, textRef: d, selectedByFocus: E }), + [C, I, d, E], + ); + return h(zIe.Provider, { value: q, children: Z }); + }), + ))); +}); +var iI, sxt, UNn; +var lxt = P(() => { + uae(); + Pb(); + oh(); + vr(); + H1(); + le(); + ((iI = z(re(), 1)), + (sxt = iI.forwardRef(function (t, n) { + let { selected: r } = Y_(); + if (!(t.keepMounted || r)) return null; + return h(UNn, { ...t, ref: n }); + })), + (UNn = iI.memo( + iI.forwardRef((e, t) => { + let { render: n, className: r, style: o, keepMounted: a, ...i } = e, + { selected: s } = Y_(), + l = iI.useRef(null), + { transitionStatus: c, setMounted: u } = Sp(s), + p = Zt("span", e, { + ref: [t, l], + state: { selected: s, transitionStatus: c }, + props: [{ "aria-hidden": !0, children: "✔️" }, i], + stateAttributesMapping: Cp, + }); + return ( + ji({ + batch: !0, + enabled: !s, + open: s, + ref: l, + onComplete() { + if (!s) u(!1); + }, + }), + p + ); + }), + ))); +}); +var lM, HIe; +var cxt = P(() => { + dy(); + uae(); + vr(); + ((lM = z(re(), 1)), + (HIe = lM.memo( + lM.forwardRef(function (t, n) { + let { index: r, textRef: o, selectedByFocus: a } = Y_(), + i = kd(), + { render: s, className: l, style: c, ...u } = t, + d = lM.useCallback( + (f) => { + if (!f) return; + if (r === 0) i.context.firstItemTextRef.current = f; + if (a) i.context.selectedItemTextRef.current = f; + }, + [i, r, a], + ); + return Zt("div", t, { ref: [d, n, o], props: u }); + }), + ))); +}); +function NNn(e, t, n, r, o, a) { + if (t) { + let u = 0, + d = n + o - Fg; + for (let m = 0; m < e.length; m += 1) { + let g = e[m]; + if (g && g.offsetTop >= d) { + u = m; + break; + } + } + let p = Math.max(0, u - 1), + f = e[p]; + return p < u && f ? oM(f.offsetTop - o, a) : 0; + } + let i = e.length - 1, + s = n + r - o + Fg; + for (let u = 0; u < e.length; u += 1) { + let d = e[u]; + if (d && d.offsetTop + d.offsetHeight > s) { + i = Math.max(0, u - 1); + break; + } + } + let l = Math.min(e.length - 1, i + 1), + c = e[l]; + return l > i && c ? oM(c.offsetTop + c.offsetHeight - r + o, a) : a; +} +var uxt, dae; +var VIe = P(() => { + Rp(); + Nr(); + dy(); + Q_(); + Pb(); + oh(); + vr(); + H1(); + nae(); + ((uxt = z(re(), 1)), + (dae = uxt.forwardRef(function (t, n) { + let { + render: r, + className: o, + style: a, + direction: i, + keepMounted: s, + ...l + } = t, + c = i === "up", + u = kd(), + { side: d, scrollDownArrowRef: p, scrollUpArrowRef: f } = iM(), + m = c ? "scrollUpArrowVisible" : "scrollDownArrowVisible", + g = u.useState(m), + v = u.useState("openMethod"), + y = g && v !== "touch", + x = mi(), + A = c ? f : p, + { mounted: w, transitionStatus: C, setMounted: E } = Sp(y); + (Ct( + () => ( + (u.context.scrollArrowsMountedCountRef.current += 1), + u.set("hasScrollArrows", !0), + () => { + if ( + ((u.context.scrollArrowsMountedCountRef.current = Math.max( + 0, + u.context.scrollArrowsMountedCountRef.current - 1, + )), + u.context.scrollArrowsMountedCountRef.current === 0) + ) + u.set("hasScrollArrows", !1); + } + ), + [u], + ), + ji({ + open: y, + ref: A, + onComplete() { + if (!y) E(!1); + }, + })); + let k = Zt("div", t, { + ref: [n, A], + state: { direction: i, visible: y, side: d, transitionStatus: C }, + props: [ + { + "aria-hidden": !0, + children: c ? "▲" : "▼", + style: { position: "absolute" }, + onMouseMove(O) { + if ((O.movementX === 0 && O.movementY === 0) || x.isStarted()) + return; + u.set("activeIndex", null); + function B() { + let U = u.state.listElement ?? u.context.popupRef.current; + if (!U) return; + (u.set("activeIndex", null), + u.context.handleScrollArrowVisibility(U)); + let D = rM(U.scrollHeight, U.clientHeight), + N = oM(U.scrollTop, D), + _ = N === (c ? 0 : D), + G = u.context.listRef.current; + if (N !== U.scrollTop) U.scrollTop = N; + if (_) { + x.clear(); + return; + } + if (G.length > 0) { + let Z = A.current?.offsetHeight || 0; + U.scrollTop = NNn(G, c, N, U.clientHeight, Z, D); + } + x.start(40, B); + } + x.start(40, B); + }, + onMouseLeave() { + x.clear(); + }, + }, + l, + ], + stateAttributesMapping: Cp, + }); + if (!(w || s)) return null; + return k; + }))); +}); +var dxt, pxt; +var fxt = P(() => { + VIe(); + le(); + ((dxt = z(re(), 1)), + (pxt = dxt.forwardRef(function (t, n) { + return h(dae, { ...t, ref: n, direction: "down" }); + }))); +}); +var mxt, hxt; +var gxt = P(() => { + VIe(); + le(); + ((mxt = z(re(), 1)), + (hxt = mxt.forwardRef(function (t, n) { + return h(dae, { ...t, ref: n, direction: "up" }); + }))); +}); +function yxt() { + let e = pae.useContext(zNn); + if (e === void 0) throw Error(Dn(56)); + return e; +} +var pae, zNn; +var vxt = P(() => { + zo(); + ((pae = z(re(), 1)), (zNn = pae.createContext(void 0))); +}); +var bxt, xxt; +var Axt = P(() => { + Nr(); + _l(); + vxt(); + vr(); + ((bxt = z(re(), 1)), + (xxt = bxt.forwardRef(function (t, n) { + let { render: r, className: o, style: a, id: i, ...s } = t, + { setLabelId: l } = yxt(), + c = go(i); + return ( + Ct( + () => ( + l(c), + () => { + l((d) => (d === c ? void 0 : d)); + } + ), + [c, l], + ), + Zt("div", t, { ref: n, props: [{ id: c, "aria-hidden": !0 }, s] }) + ); + }))); +}); +var wxt, Sxt; +var Cxt = P(() => { + vr(); + ((wxt = z(re(), 1)), + (Sxt = wxt.forwardRef(function (t, n) { + let { + className: r, + render: o, + orientation: a = "horizontal", + style: i, + ...s + } = t; + return Zt("div", t, { + state: { orientation: a }, + ref: n, + props: [{ role: "presentation" }, s], + }); + }))); +}); +var Ext; +var Ixt = P(() => { + Cxt(); + Ext = Sxt; +}); +var kxt = P(() => { + Gbt(); + Qbt(); + Wbt(); + Kbt(); + jbt(); + $bt(); + rxt(); + axt(); + ixt(); + lxt(); + cxt(); + fxt(); + gxt(); + Axt(); + Ixt(); +}); +var Rxt = P(() => { + kxt(); +}); +function qIe(e, t = {}) { + return ( + Ug.Children.forEach(e, (n) => { + if (!Ug.isValidElement(n)) return; + let r = n.props; + if ((n.type === K_ || n.type === _Nn) && typeof r.value === "string") { + t[r.value] = r.children; + return; + } + if (r.children !== void 0) qIe(r.children, t); + }), + t + ); +} +function _Nn(e) { + let t = Ug.useContext(GIe); + return M(_Ie, { + value: e.value, + className: Ve(Lxt, Mxt[t]), + children: [h(Fxt, {}), h(HIe, { children: e.children })], + }); +} +var Ug, + Pxt, + GIe, + Mxt, + Dxt, + Lxt, + Bxt = ({ size: e }) => + h(at, { + name: "arrow_drop_down", + size: e, + className: + "text-on-surface-variant transition-transform duration-200 ease-standard group-data-popup-open:rotate-180", + }), + Oxt = (e) => Object.keys(e).length > 0, + QBo, + Fxt = () => + h("span", { + className: "absolute left-3 flex items-center justify-center", + children: h(sxt, { + className: "flex", + children: h(at, { name: "check", size: 20 }), + }), + }), + ZIe = ({ onValueChange: e, items: t, children: n, ...r }) => { + let o = t ?? qIe(n); + return h(kIe, { + ...r, + items: Array.isArray(o) || Oxt(o) ? o : void 0, + onValueChange: + e && + ((a, i) => { + if (typeof a === "string") e(a, i); + }), + children: n, + }); + }, + HNn, + QIe, + fae = ({ className: e, children: t, ...n }) => + M(RIe, { + className: io(Ve(Pxt({ size: "md" }), "w-full [&>span]:line-clamp-1"), e), + ...n, + children: [ + t, + h(MIe, { className: "relative flex", children: h(Bxt, { size: 24 }) }), + ], + }), + Uxt, + XIe = ({ className: e, ...t }) => + h(hxt, { + className: io(Ve(Uxt, "top-0 rounded-t-extra-small"), e), + ...t, + children: h(at, { name: "expand_less", size: 20 }), + }), + WIe = ({ className: e, ...t }) => + h(pxt, { + className: io(Ve(Uxt, "bottom-0 rounded-b-extra-small"), e), + ...t, + children: h(at, { name: "expand_more", size: 20 }), + }), + mae = ({ + className: e, + children: t, + position: n = "popper", + side: r, + sideOffset: o = 4, + align: a, + alignOffset: i, + collisionPadding: s, + sticky: l, + ...c + }) => + h(DIe, { + children: h(BIe, { + className: "z-[100] outline-none", + alignItemWithTrigger: n === "item-aligned", + side: r, + sideOffset: o, + align: a, + alignOffset: i, + collisionPadding: s, + sticky: l, + children: M(UIe, { + className: io(Ve("relative max-h-96 min-w-[8rem]", Dxt), e), + ...c, + children: [h(XIe, {}), h(NIe, { children: t }), h(WIe, {})], + }), + }), + }), + Nxt = ({ className: e, ...t }) => { + let n = Ug.useContext(HNn), + r = Ve("px-3 py-2 pl-11 text-title-small text-on-surface-variant", e); + return n + ? h(xxt, { className: r, ...t }) + : h("div", { role: "presentation", className: r, ...t }); + }, + K_ = ({ className: e, children: t, ...n }) => { + let r = Ug.useContext(GIe); + return M(_Ie, { + className: io(Ve(Lxt, Mxt[r]), e), + ...n, + children: [h(Fxt, {}), h(HIe, { children: t })], + }); + }, + zxt = ({ className: e, ...t }) => + h(Ext, { className: io("my-2 h-px bg-outline-variant", e), ...t }); +var _xt = P(() => { + Rxt(); + x2(); + rn(); + V1(); + n0(); + le(); + ((Ug = z(re(), 1)), + (Pxt = kc( + [ + "group relative flex items-center justify-between gap-2 whitespace-nowrap text-left", + "text-on-surface data-[placeholder]:text-on-surface-variant", + "outline-none transition-[background-color,border-color,box-shadow] duration-200 ease-standard", + "disabled:cursor-not-allowed disabled:opacity-38 data-disabled:cursor-not-allowed data-disabled:opacity-38", + ], + { + variants: { + variant: { + default: [ + "rounded-extra-small border border-outline bg-transparent hover:border-on-surface", + "focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary", + "data-popup-open:border-primary data-popup-open:ring-1 data-popup-open:ring-inset data-popup-open:ring-primary", + ], + outlined: [ + "rounded-extra-small border border-outline bg-transparent hover:border-on-surface", + "focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-primary", + "data-popup-open:border-primary data-popup-open:ring-1 data-popup-open:ring-inset data-popup-open:ring-primary", + ], + filled: [ + "rounded-t-extra-small rounded-b-none border-0 border-b border-on-surface-variant bg-surface-container-highest hover:border-on-surface", + "before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-on-surface before:opacity-0 before:transition-opacity before:content-[''] hover:before:opacity-8", + "focus-visible:border-primary focus-visible:shadow-[inset_0_-1px_0_0_var(--md-sys-color-primary)]", + "data-popup-open:border-primary data-popup-open:shadow-[inset_0_-1px_0_0_var(--md-sys-color-primary)]", + ], + }, + size: { + sm: "h-8 pl-3 pr-1 text-body-medium", + md: "h-10 pl-3 pr-2 text-body-medium", + lg: "h-12 pl-4 pr-2 text-body-large", + xl: "h-14 pl-4 pr-3 text-body-large", + }, + }, + defaultVariants: { variant: "default", size: "sm" }, + }, + )), + (GIe = Ug.createContext("md")), + (Mxt = { sm: "h-8", md: "h-10", lg: "h-12", xl: "h-12" }), + (Dxt = Ve( + "min-w-(--anchor-width) max-h-(--available-height) overflow-y-auto rounded-extra-small bg-surface-container py-2 text-on-surface shadow-md3-2 outline-none", + "origin-(--transform-origin) transition-[opacity,scale] duration-250 ease-emphasized-decelerate", + "data-starting-style:scale-95 data-starting-style:opacity-0", + "data-ending-style:scale-95 data-ending-style:opacity-0 data-ending-style:duration-150 data-ending-style:ease-emphasized-accelerate", + "data-[side=none]:transition-none", + )), + (Lxt = [ + "relative flex w-full cursor-pointer select-none items-center gap-3 pl-11 pr-3 outline-none", + "text-label-large text-on-surface", + "before:pointer-events-none before:absolute before:inset-0 before:content-[''] data-[highlighted]:before:bg-on-surface/8", + "data-selected:bg-secondary-container data-selected:text-on-secondary-container", + "data-[disabled]:pointer-events-none data-[disabled]:opacity-38", + ])); + QBo = Ug.forwardRef((e, t) => { + let n = e.size ?? "sm", + r = qIe(e.children); + return h("div", { + className: e.containerClassName, + "data-m3-component": "Select", + ref: t, + children: h(GIe.Provider, { + value: n, + children: M(kIe, { + value: e.value, + onValueChange: (o) => { + if (o !== null) e.onChange(o); + }, + items: Oxt(r) ? r : void 0, + disabled: e.disabled, + name: e.name, + required: e.required, + children: [ + M(RIe, { + className: Pxt({ + variant: e.variant, + size: n, + className: e.className, + }), + children: [ + h("span", { + className: "relative truncate", + children: h(PIe, { placeholder: e.placeholder }), + }), + h(MIe, { + className: "relative flex", + children: h(Bxt, { size: n === "sm" ? 20 : 24 }), + }), + ], + }), + h(DIe, { + children: h(BIe, { + className: "z-[100] outline-none", + sideOffset: 4, + alignItemWithTrigger: !1, + children: h(UIe, { + className: Dxt, + children: h(NIe, { children: e.children }), + }), + }), + }), + ], + }), + }), + }); + }); + ((HNn = Ug.createContext(!1)), (QIe = PIe)); + fae.displayName = "SelectTrigger"; + Uxt = Ve( + "absolute inset-x-0 z-10 flex h-6 cursor-default items-center justify-center bg-surface-container text-on-surface-variant", + ); + XIe.displayName = "SelectScrollUpButton"; + WIe.displayName = "SelectScrollDownButton"; + mae.displayName = "SelectContent"; + Nxt.displayName = "SelectLabel"; + K_.displayName = "SelectItem"; + zxt.displayName = "SelectSeparator"; +}); +var Hxt, Vxt, cM; +var Gxt = P(() => { + x2(); + rn(); + n0(); + AP(); + le(); + ((Hxt = z(re(), 1)), + (Vxt = kc( + [ + "flex cursor-pointer items-center gap-2 rounded-full border text-left", + "transition-colors duration-200 ease-standard", + "disabled:pointer-events-none disabled:cursor-not-allowed disabled:border-on-surface/12 disabled:text-on-surface/38", + Ta, + Yn, + ], + { + variants: { + variant: { + default: + "border-outline-variant bg-surface-container-high text-on-surface", + sidebar: + "border-outline-variant bg-surface-container-low text-on-surface-variant", + ghost: "border-transparent bg-transparent text-on-surface-variant", + }, + size: { + sm: "h-7 px-3 text-label-medium", + md: "h-8 px-3.5 text-label-large", + lg: "h-10 px-4 text-label-large", + }, + selected: { + true: "border-transparent bg-secondary-container text-on-secondary-container", + false: "", + }, + }, + defaultVariants: { variant: "default", size: "md", selected: !1 }, + }, + )), + (cM = Hxt.forwardRef( + ( + { + className: e, + variant: t, + size: n, + selected: r, + hideCaret: o, + children: a, + ...i + }, + s, + ) => + M("button", { + ref: s, + type: "button", + "data-selected": r ? "" : void 0, + className: Ve(Vxt({ variant: t, size: n, selected: !!r }), e), + ...i, + children: [ + r && h(at, { name: "check", size: 18 }), + h("span", { + className: "flex flex-1 items-center gap-1.5 truncate text-left", + children: a, + }), + !o && h(at, { name: "expand_more", size: 18 }), + ], + }), + ))); + cM.displayName = "SelectPill"; +}); +function VNn(e) { + if (!e || typeof document > "u") return; + let t = document.head || document.getElementsByTagName("head")[0], + n = document.createElement("style"); + ((n.type = "text/css"), + t.appendChild(n), + n.styleSheet + ? (n.styleSheet.cssText = e) + : n.appendChild(document.createTextNode(e))); +} +class Xxt { + constructor() { + ((this.subscribe = (e) => ( + this.subscribers.push(e), + this.getActiveToasts().forEach((t) => e(t)), + () => { + let t = this.subscribers.indexOf(e); + this.subscribers.splice(t, 1); + } + )), + (this.publish = (e) => { + this.subscribers.forEach((t) => t(e)); + }), + (this.addToast = (e) => { + (this.publish(e), + (this.toasts = [...this.toasts, e]), + this.trimHistory()); + }), + (this.trimHistory = () => { + let e = this.toasts.length - $Nn; + if (e <= 0) return; + this.toasts = this.toasts.filter((t) => { + if (e > 0 && this.dismissedToasts.has(t.id)) + return (this.dismissedToasts.delete(t.id), e--, !1); + return !0; + }); + }), + (this.create = (e) => { + let { message: t, ...n } = e, + r = qxt(e), + o = this.pendingDismissals.get(r); + if (o !== void 0) + (cancelAnimationFrame(o), + this.pendingDismissals.delete(r), + this.dismissedToasts.delete(r)); + let a = this.dismissedToasts.has(r), + i = e.dismissible === void 0 ? !0 : e.dismissible; + if (a) + (this.dismissedToasts.delete(r), + (this.toasts = this.toasts.filter((l) => l.id !== r))); + if (a ? void 0 : this.toasts.find((l) => l.id === r)) + this.toasts = this.toasts.map((l) => { + if (l.id === r) + return ( + this.publish({ ...l, ...e, id: r, title: t }), + { ...l, ...e, id: r, dismissible: i, title: t } + ); + return l; + }); + else this.addToast({ title: t, ...n, dismissible: i, id: r }); + return r; + }), + (this.dismiss = (e) => { + if (e === void 0 || e === null) + return ( + this.getActiveToasts().forEach((n) => { + (this.dismissedToasts.add(n.id), + this.subscribers.forEach((r) => r({ id: n.id, dismiss: !0 }))); + }), + e + ); + this.dismissedToasts.add(e); + let t = this.pendingDismissals.get(e); + if (t !== void 0) cancelAnimationFrame(t); + return ( + this.pendingDismissals.set( + e, + requestAnimationFrame(() => { + (this.pendingDismissals.delete(e), + this.subscribers.forEach((n) => n({ id: e, dismiss: !0 }))); + }), + ), + e + ); + }), + (this.message = (e, t) => + this.create({ ...t, message: e, type: void 0 })), + (this.error = (e, t) => this.create({ ...t, message: e, type: "error" })), + (this.success = (e, t) => + this.create({ ...t, type: "success", message: e })), + (this.info = (e, t) => this.create({ ...t, type: "info", message: e })), + (this.warning = (e, t) => + this.create({ ...t, type: "warning", message: e })), + (this.loading = (e, t) => + this.create({ ...t, type: "loading", message: e })), + (this.promise = (e, t) => { + if (!t) return; + let n = void 0; + if (t.loading !== void 0) + n = this.create({ + ...t, + promise: e, + type: "loading", + message: t.loading, + description: + typeof t.description !== "function" ? t.description : void 0, + }); + let r = Promise.resolve(e instanceof Function ? e() : e), + o = n !== void 0, + a, + i = r + .then(async (l) => { + if (((a = ["resolve", l]), Pn.default.isValidElement(l))) + ((o = !1), this.create({ id: n, type: "default", message: l })); + else if (tzn(l) && !l.ok) { + o = !1; + let u = + typeof t.error === "function" + ? await t.error(`HTTP error! status: ${l.status}`) + : t.error, + d = + typeof t.description === "function" + ? await t.description(`HTTP error! status: ${l.status}`) + : t.description, + f = + typeof u === "object" && !Pn.default.isValidElement(u) + ? u + : { message: u }; + this.create({ id: n, type: "error", description: d, ...f }); + } else if (l instanceof Error) { + o = !1; + let u = + typeof t.error === "function" ? await t.error(l) : t.error, + d = + typeof t.description === "function" + ? await t.description(l) + : t.description, + f = + typeof u === "object" && !Pn.default.isValidElement(u) + ? u + : { message: u }; + this.create({ id: n, type: "error", description: d, ...f }); + } else if (t.success !== void 0) { + o = !1; + let u = + typeof t.success === "function" + ? await t.success(l) + : t.success, + d = + typeof t.description === "function" + ? await t.description(l) + : t.description, + f = + typeof u === "object" && !Pn.default.isValidElement(u) + ? u + : { message: u }; + this.create({ id: n, type: "success", description: d, ...f }); + } + }) + .catch(async (l) => { + if (((a = ["reject", l]), t.error !== void 0)) { + o = !1; + let c = + typeof t.error === "function" ? await t.error(l) : t.error, + u = + typeof t.description === "function" + ? await t.description(l) + : t.description, + p = + typeof c === "object" && !Pn.default.isValidElement(c) + ? c + : { message: c }; + this.create({ id: n, type: "error", description: u, ...p }); + } + }) + .finally(() => { + if (o) (this.dismiss(n), (n = void 0)); + t.finally == null || t.finally.call(t); + }), + s = () => + new Promise((l, c) => + i.then(() => (a[0] === "reject" ? c(a[1]) : l(a[1]))).catch(c), + ); + if (typeof n !== "string" && typeof n !== "number") + return { unwrap: s }; + else return Object.assign(n, { unwrap: s }); + }), + (this.custom = (e, t) => { + let n = qxt(t); + return (this.create({ ...t, jsx: e(n), id: n, type: void 0 }), n); + }), + (this.getActiveToasts = () => + this.toasts.filter((e) => !this.dismissedToasts.has(e.id))), + (this.subscribers = []), + (this.toasts = []), + (this.dismissedToasts = new Set()), + (this.pendingDismissals = new Map())); + } +} +function hae(e) { + return e.label !== void 0; +} +function cx(...e) { + return e.filter(Boolean).join(" "); +} +function pzn(e) { + let [t, n] = e.split("-"), + r = []; + if (t) r.push(t); + if (n) r.push(n); + return r; +} +function Qxt() { + if (typeof window > "u") return "ltr"; + if (typeof document > "u") return "ltr"; + let e = document.documentElement.getAttribute("dir"); + if (e === "auto" || !e) + return window.getComputedStyle(document.documentElement).direction; + return e; +} +function mzn(e, t) { + let n = {}; + return ( + [e, t].forEach((r, o) => { + let a = o === 1, + i = a ? "--mobile-offset" : "--offset", + s = a ? szn : izn; + function l(c) { + ["top", "right", "bottom", "left"].forEach((u) => { + n[`${i}-${u}`] = typeof c === "number" ? `${c}px` : c; + }); + } + if (typeof r === "number" || typeof r === "string") l(r); + else if (typeof r === "object") + ["top", "right", "bottom", "left"].forEach((c) => { + if (r[c] === void 0) n[`${i}-${c}`] = s; + else n[`${i}-${c}`] = typeof r[c] === "number" ? `${r[c]}px` : r[c]; + }); + else l(s); + }), + n + ); +} +var Pn, + GNn = (e) => { + switch (e) { + case "success": + return QNn; + case "info": + return WNn; + case "warning": + return XNn; + case "error": + return YNn; + default: + return null; + } + }, + qNn, + ZNn = ({ visible: e, className: t }) => + Pn.default.createElement( + "div", + { + className: ["sonner-loading-wrapper", t].filter(Boolean).join(" "), + "data-visible": e, + }, + Pn.default.createElement( + "div", + { className: "sonner-spinner" }, + qNn.map((n, r) => + Pn.default.createElement("div", { + className: "sonner-loading-bar", + key: `spinner-bar-${r}`, + }), + ), + ), + ), + QNn, + XNn, + WNn, + YNn, + KNn, + JNn = () => { + let [e, t] = Pn.default.useState(document.hidden); + return ( + Pn.default.useEffect(() => { + let n = () => { + t(document.hidden); + }; + return ( + document.addEventListener("visibilitychange", n), + () => document.removeEventListener("visibilitychange", n) + ); + }, []), + e + ); + }, + jNn = 1, + $Nn = 100, + qxt = (e) => { + var t; + return typeof (e == null ? void 0 : e.id) === "number" || + (e == null ? void 0 : (t = e.id) == null ? void 0 : t.length) > 0 + ? e.id + : jNn++; + }, + v0, + ezn = (e, t) => v0.message(e, t), + tzn = (e) => + e && + typeof e === "object" && + "ok" in e && + typeof e.ok === "boolean" && + "status" in e && + typeof e.status === "number", + nzn, + rzn = () => v0.toasts, + ozn = () => v0.getActiveToasts(), + J_, + azn = 3, + izn = "24px", + szn = "16px", + Zxt = 4000, + lzn = 356, + czn = 14, + uzn = 45, + dzn = 200, + fzn = (e) => { + var t, n, r, o, a, i, s, l, c; + let { + invert: u, + toast: d, + unstyled: p, + interacting: f, + setHeights: m, + visibleToasts: g, + heights: v, + index: y, + toasts: x, + expanded: A, + removeToast: w, + defaultRichColors: C, + closeButton: E, + style: T, + cancelButtonStyle: I, + actionButtonStyle: k, + className: L = "", + descriptionClassName: O = "", + duration: B, + position: U, + gap: D, + expandByDefault: N, + classNames: _, + icons: G, + closeButtonAriaLabel: Z = "Close toast", + } = e, + [q, H] = Pn.default.useState(null), + [te, ie] = Pn.default.useState(null), + [j, oe] = Pn.default.useState(!1), + [J, Y] = Pn.default.useState(!1), + [ae, ne] = Pn.default.useState(!1), + [Se, fe] = Pn.default.useState(!1), + [Ae, Ee] = Pn.default.useState(!1), + [pe, Re] = Pn.default.useState(0), + [Le, Ne] = Pn.default.useState(0), + be = Pn.default.useRef(d.duration || B || Zxt), + ye = Pn.default.useRef(null), + ce = Pn.default.useRef(null), + ue = y === 0, + ke = y + 1 <= g, + se = d.type, + qe = se != null ? se : "default", + Me = d.dismissible !== !1, + Qe = d.className || "", + ee = d.descriptionClassName || "", + K = Pn.default.useMemo( + () => v.findIndex((rt) => rt.toastId === d.id) || 0, + [v, d.id], + ), + we = Pn.default.useMemo(() => { + var rt; + return (rt = d.closeButton) != null ? rt : E; + }, [d.closeButton, E]), + ze = Pn.default.useMemo(() => d.duration || B || Zxt, [d.duration, B]), + tt = Pn.default.useRef(0), + Pe = Pn.default.useRef(0), + Ke = Pn.default.useRef(0), + Ue = Pn.default.useRef(null), + [Ze, ct] = U.split("-"), + Rt = Pn.default.useMemo( + () => + v.reduce((rt, ot, At) => { + if (At >= K) return rt; + return rt + ot.height; + }, 0), + [v, K], + ), + de = JNn(), + ge = Pn.default.useMemo(() => { + var rt; + return (rt = e.swipeDirections) != null ? rt : pzn(U); + }, [e.swipeDirections, U]), + Oe = d.invert || u, + Xe = se === "loading"; + ((Pe.current = Pn.default.useMemo(() => K * D + Rt, [K, Rt])), + Pn.default.useEffect(() => { + be.current = ze; + }, [ze]), + Pn.default.useEffect(() => { + oe(!0); + }, []), + Pn.default.useEffect(() => { + let rt = ce.current; + if (rt) { + let ot = rt.getBoundingClientRect().height; + return ( + Ne(ot), + m((At) => [ + { toastId: d.id, height: ot, position: d.position }, + ...At, + ]), + () => m((At) => At.filter((en) => en.toastId !== d.id)) + ); + } + }, [m, d.id]), + Pn.default.useLayoutEffect(() => { + if (!j) return; + let rt = ce.current, + ot = rt.style.height; + rt.style.height = "auto"; + let At = rt.getBoundingClientRect().height; + ((rt.style.height = ot), + Ne(At), + m((en) => { + if (!en.find((tn) => tn.toastId === d.id)) + return [ + { toastId: d.id, height: At, position: d.position }, + ...en, + ]; + else + return en.map((tn) => + tn.toastId === d.id ? { ...tn, height: At } : tn, + ); + })); + }, [j, d.title, d.description, m, d.id, d.jsx, d.action, d.cancel])); + let $e = Pn.default.useCallback(() => { + (Y(!0), + Re(Pe.current), + m((rt) => rt.filter((ot) => ot.toastId !== d.id)), + setTimeout(() => { + w(d); + }, dzn)); + }, [d, w, m, Pe]); + (Pn.default.useEffect(() => { + if ( + (d.promise && se === "loading") || + d.duration === 1 / 0 || + d.type === "loading" + ) + return; + let rt, + ot = () => { + if (Ke.current < tt.current) { + let en = new Date().getTime() - tt.current; + be.current = be.current - en; + } + Ke.current = new Date().getTime(); + }, + At = () => { + if (be.current === 1 / 0) return; + ((tt.current = new Date().getTime()), + (rt = setTimeout(() => { + (d.onAutoClose == null || d.onAutoClose.call(d, d), $e()); + }, be.current))); + }; + if (A || f || de) ot(); + else At(); + return () => clearTimeout(rt); + }, [A, f, d, se, de, $e]), + Pn.default.useEffect(() => { + if (d.delete) ($e(), d.onDismiss == null || d.onDismiss.call(d, d)); + }, [$e, d.delete])); + function Ie() { + var rt; + if (G == null ? void 0 : G.loading) { + var ot; + return Pn.default.createElement( + "div", + { + className: cx( + _ == null ? void 0 : _.loader, + d == null + ? void 0 + : (ot = d.classNames) == null + ? void 0 + : ot.loader, + "sonner-loader", + ), + "data-visible": se === "loading", + }, + G.loading, + ); + } + return Pn.default.createElement(ZNn, { + className: cx( + _ == null ? void 0 : _.loader, + d == null ? void 0 : (rt = d.classNames) == null ? void 0 : rt.loader, + ), + visible: se === "loading", + }); + } + let Ge = d.icon || (G == null ? void 0 : G[se]) || GNn(se); + var _e, nt; + return Pn.default.createElement( + "li", + { + tabIndex: 0, + ref: ce, + className: cx( + L, + Qe, + _ == null ? void 0 : _.toast, + d == null ? void 0 : (t = d.classNames) == null ? void 0 : t.toast, + _ == null ? void 0 : _[qe], + d == null ? void 0 : (n = d.classNames) == null ? void 0 : n[qe], + ), + "data-sonner-toast": "", + "data-rich-colors": (_e = d.richColors) != null ? _e : C, + "data-styled": !Boolean(d.jsx || d.unstyled || p), + "data-mounted": j, + "data-promise": Boolean(d.promise), + "data-swiped": Ae, + "data-removed": J, + "data-visible": ke, + "data-y-position": Ze, + "data-x-position": ct, + "data-index": y, + "data-front": ue, + "data-swiping": ae, + "data-dismissible": Me, + "data-type": se, + "data-invert": Oe, + "data-swipe-out": Se, + "data-swipe-direction": te, + "data-expanded": Boolean(A || (N && j)), + "data-testid": d.testId, + style: { + "--index": y, + "--toasts-before": y, + "--z-index": x.length - y, + "--offset": `${J ? pe : Pe.current}px`, + "--initial-height": N ? "auto" : `${Le}px`, + ...T, + ...d.style, + }, + onDragEnd: () => { + (ne(!1), H(null), (Ue.current = null)); + }, + onPointerDown: (rt) => { + if (rt.button === 2) return; + if (Xe || !Me) return; + if ( + ((ye.current = new Date()), + Re(Pe.current), + rt.target.setPointerCapture(rt.pointerId), + rt.target.tagName === "BUTTON") + ) + return; + (ne(!0), (Ue.current = { x: rt.clientX, y: rt.clientY })); + }, + onPointerUp: () => { + var rt, ot, At; + if (Se || !Me) return; + Ue.current = null; + let en = Number( + ((rt = ce.current) == null + ? void 0 + : rt.style + .getPropertyValue("--swipe-amount-x") + .replace("px", "")) || 0, + ), + Gt = Number( + ((ot = ce.current) == null + ? void 0 + : ot.style + .getPropertyValue("--swipe-amount-y") + .replace("px", "")) || 0, + ), + tn = + new Date().getTime() - + ((At = ye.current) == null ? void 0 : At.getTime()), + Yt = q === "x" ? en : Gt, + Be = Math.abs(Yt) / tn; + if ( + (q === "x" + ? ge.includes(en > 0 ? "right" : "left") + : ge.includes(Gt > 0 ? "bottom" : "top")) && + (Math.abs(Yt) >= uzn || Be > 0.11) + ) { + if ( + (Re(Pe.current), + d.onDismiss == null || d.onDismiss.call(d, d), + q === "x") + ) + ie(en > 0 ? "right" : "left"); + else ie(Gt > 0 ? "down" : "up"); + ($e(), fe(!0)); + return; + } else { + var it, Et; + ((it = ce.current) == null || + it.style.setProperty("--swipe-amount-x", "0px"), + (Et = ce.current) == null || + Et.style.setProperty("--swipe-amount-y", "0px")); + } + (Ee(!1), ne(!1), H(null)); + }, + onPointerMove: (rt) => { + var ot, At, en; + if (!Ue.current || !Me) return; + if ( + ((ot = window.getSelection()) == null + ? void 0 + : ot.toString().length) > 0 + ) + return; + let tn = rt.clientY - Ue.current.y, + Yt = rt.clientX - Ue.current.x; + if (!q && (Math.abs(Yt) > 1 || Math.abs(tn) > 1)) + H(Math.abs(Yt) > Math.abs(tn) ? "x" : "y"); + let Be = { x: 0, y: 0 }, + Je = (it) => 1 / (1.5 + Math.abs(it) / 20); + if (q === "y") { + if (ge.includes("top") || ge.includes("bottom")) + if ( + (ge.includes("top") && tn < 0) || + (ge.includes("bottom") && tn > 0) + ) + Be.y = tn; + else { + let it = tn * Je(tn); + Be.y = Math.abs(it) < Math.abs(tn) ? it : tn; + } + } else if (q === "x") { + if (ge.includes("left") || ge.includes("right")) + if ( + (ge.includes("left") && Yt < 0) || + (ge.includes("right") && Yt > 0) + ) + Be.x = Yt; + else { + let it = Yt * Je(Yt); + Be.x = Math.abs(it) < Math.abs(Yt) ? it : Yt; + } + } + if (Math.abs(Be.x) > 0 || Math.abs(Be.y) > 0) Ee(!0); + ((At = ce.current) == null || + At.style.setProperty("--swipe-amount-x", `${Be.x}px`), + (en = ce.current) == null || + en.style.setProperty("--swipe-amount-y", `${Be.y}px`)); + }, + }, + we && !d.jsx && se !== "loading" + ? Pn.default.createElement( + "button", + { + "aria-label": Z, + "data-disabled": Xe, + "data-close-button": !0, + onClick: + Xe || !Me + ? () => {} + : () => { + ($e(), d.onDismiss == null || d.onDismiss.call(d, d)); + }, + className: cx( + _ == null ? void 0 : _.closeButton, + d == null + ? void 0 + : (r = d.classNames) == null + ? void 0 + : r.closeButton, + ), + }, + (nt = G == null ? void 0 : G.close) != null ? nt : KNn, + ) + : null, + (se || d.icon || d.promise) && + d.icon !== null && + ((G == null ? void 0 : G[se]) !== null || d.icon) + ? Pn.default.createElement( + "div", + { + "data-icon": "", + className: cx( + _ == null ? void 0 : _.icon, + d == null + ? void 0 + : (o = d.classNames) == null + ? void 0 + : o.icon, + ), + }, + se === "loading" ? d.icon || Ie() : d.promise ? Ie() : null, + se !== "loading" ? Ge : null, + ) + : null, + Pn.default.createElement( + "div", + { + "data-content": "", + className: cx( + _ == null ? void 0 : _.content, + d == null + ? void 0 + : (a = d.classNames) == null + ? void 0 + : a.content, + ), + }, + Pn.default.createElement( + "div", + { + "data-title": "", + className: cx( + _ == null ? void 0 : _.title, + d == null + ? void 0 + : (i = d.classNames) == null + ? void 0 + : i.title, + ), + }, + d.jsx ? d.jsx : typeof d.title === "function" ? d.title() : d.title, + ), + d.description + ? Pn.default.createElement( + "div", + { + "data-description": "", + className: cx( + O, + ee, + _ == null ? void 0 : _.description, + d == null + ? void 0 + : (s = d.classNames) == null + ? void 0 + : s.description, + ), + }, + typeof d.description === "function" + ? d.description() + : d.description, + ) + : null, + ), + Pn.default.isValidElement(d.cancel) + ? d.cancel + : d.cancel && hae(d.cancel) + ? Pn.default.createElement( + "button", + { + "data-button": !0, + "data-cancel": !0, + style: d.cancelButtonStyle || I, + onClick: (rt) => { + if (!hae(d.cancel)) return; + if (!Me) return; + (d.cancel.onClick == null || + d.cancel.onClick.call(d.cancel, rt), + $e()); + }, + className: cx( + _ == null ? void 0 : _.cancelButton, + d == null + ? void 0 + : (l = d.classNames) == null + ? void 0 + : l.cancelButton, + ), + }, + d.cancel.label, + ) + : null, + Pn.default.isValidElement(d.action) + ? d.action + : d.action && hae(d.action) + ? Pn.default.createElement( + "button", + { + "data-button": !0, + "data-action": !0, + style: d.actionButtonStyle || k, + onClick: (rt) => { + if (!hae(d.action)) return; + if ( + (d.action.onClick == null || + d.action.onClick.call(d.action, rt), + rt.defaultPrevented) + ) + return; + $e(); + }, + className: cx( + _ == null ? void 0 : _.actionButton, + d == null + ? void 0 + : (c = d.classNames) == null + ? void 0 + : c.actionButton, + ), + }, + d.action.label, + ) + : null, + ); + }, + j_; +var YIe = P(() => { + bd(); + Pn = z(re(), 1); + ((qNn = Array(12).fill(0)), + (QNn = Pn.default.createElement( + "svg", + { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 20 20", + fill: "currentColor", + height: "20", + width: "20", + "aria-hidden": "true", + }, + Pn.default.createElement("path", { + fillRule: "evenodd", + d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", + clipRule: "evenodd", + }), + )), + (XNn = Pn.default.createElement( + "svg", + { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24", + fill: "currentColor", + height: "20", + width: "20", + "aria-hidden": "true", + }, + Pn.default.createElement("path", { + fillRule: "evenodd", + d: "M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", + clipRule: "evenodd", + }), + )), + (WNn = Pn.default.createElement( + "svg", + { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 20 20", + fill: "currentColor", + height: "20", + width: "20", + "aria-hidden": "true", + }, + Pn.default.createElement("path", { + fillRule: "evenodd", + d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z", + clipRule: "evenodd", + }), + )), + (YNn = Pn.default.createElement( + "svg", + { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 20 20", + fill: "currentColor", + height: "20", + width: "20", + "aria-hidden": "true", + }, + Pn.default.createElement("path", { + fillRule: "evenodd", + d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z", + clipRule: "evenodd", + }), + )), + (KNn = Pn.default.createElement( + "svg", + { + xmlns: "http://www.w3.org/2000/svg", + width: "12", + height: "12", + viewBox: "0 0 24 24", + fill: "none", + stroke: "currentColor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round", + "aria-hidden": "true", + }, + Pn.default.createElement("line", { + x1: "18", + y1: "6", + x2: "6", + y2: "18", + }), + Pn.default.createElement("line", { + x1: "6", + y1: "6", + x2: "18", + y2: "18", + }), + ))); + ((v0 = new Xxt()), + (nzn = ezn), + (J_ = Object.assign( + nzn, + { + success: v0.success, + info: v0.info, + warning: v0.warning, + error: v0.error, + custom: v0.custom, + message: v0.message, + promise: v0.promise, + dismiss: v0.dismiss, + loading: v0.loading, + }, + { getHistory: rzn, getToasts: ozn }, + ))); + VNn( + "[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--normal-text);background:var(--normal-bg);border:1px solid var(--normal-border);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}", + ); + j_ = Pn.default.forwardRef(function (t, n) { + let { + id: r, + invert: o, + position: a = "bottom-right", + hotkey: i = ["altKey", "KeyT"], + expand: s, + closeButton: l, + className: c, + offset: u, + mobileOffset: d, + theme: p = "light", + richColors: f, + duration: m, + style: g, + visibleToasts: v = azn, + toastOptions: y, + dir: x = Qxt(), + gap: A = czn, + icons: w, + customAriaLabel: C, + containerAriaLabel: E = "Notifications", + } = t, + [T, I] = Pn.default.useState([]), + k = Pn.default.useMemo(() => { + if (r) return T.filter((oe) => oe.toasterId === r); + return T.filter((oe) => !oe.toasterId); + }, [T, r]), + L = Pn.default.useMemo( + () => + Array.from( + new Set( + [a].concat( + k.filter((oe) => oe.position).map((oe) => oe.position), + ), + ), + ), + [k, a], + ), + [O, B] = Pn.default.useState([]), + [U, D] = Pn.default.useState(!1), + [N, _] = Pn.default.useState(!1), + [G, Z] = Pn.default.useState( + p !== "system" + ? p + : typeof window < "u" + ? window.matchMedia && + window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light" + : "light", + ), + q = Pn.default.useRef(null), + H = i.join("+").replace(/Key/g, "").replace(/Digit/g, ""), + te = Pn.default.useRef(null), + ie = Pn.default.useRef(!1), + j = Pn.default.useCallback((oe) => { + I((J) => { + var Y; + if ( + !((Y = J.find((ae) => ae.id === oe.id)) == null ? void 0 : Y.delete) + ) + v0.dismiss(oe.id); + return J.filter(({ id: ae }) => ae !== oe.id); + }); + }, []); + return ( + Pn.default.useEffect( + () => + v0.subscribe((oe) => { + if (oe.dismiss) { + requestAnimationFrame(() => { + I((J) => + J.map((Y) => (Y.id === oe.id ? { ...Y, delete: !0 } : Y)), + ); + }); + return; + } + setTimeout(() => { + Ec(() => { + I((J) => { + let Y = J.findIndex((ae) => ae.id === oe.id); + if (Y !== -1) + return [ + ...J.slice(0, Y), + { ...J[Y], ...oe }, + ...J.slice(Y + 1), + ]; + return [oe, ...J]; + }); + }); + }); + }), + [], + ), + Pn.default.useEffect(() => { + if (p !== "system") { + Z(p); + return; + } + if (p === "system") + if ( + window.matchMedia && + window.matchMedia("(prefers-color-scheme: dark)").matches + ) + Z("dark"); + else Z("light"); + if (typeof window > "u") return; + let oe = window.matchMedia("(prefers-color-scheme: dark)"); + try { + oe.addEventListener("change", ({ matches: J }) => { + if (J) Z("dark"); + else Z("light"); + }); + } catch (J) { + oe.addListener(({ matches: Y }) => { + try { + if (Y) Z("dark"); + else Z("light"); + } catch (ae) { + console.error(ae); + } + }); + } + }, [p]), + Pn.default.useEffect(() => { + if (T.length <= 1) D(!1); + }, [T]), + Pn.default.useEffect(() => { + let oe = (J) => { + var Y; + if (i.length > 0 && i.every((Se) => J[Se] || J.code === Se)) { + var ne; + (D(!0), (ne = q.current) == null || ne.focus()); + } + if ( + J.code === "Escape" && + (document.activeElement === q.current || + ((Y = q.current) == null + ? void 0 + : Y.contains(document.activeElement))) + ) + D(!1); + }; + return ( + document.addEventListener("keydown", oe), + () => document.removeEventListener("keydown", oe) + ); + }, [i]), + Pn.default.useEffect(() => { + if (q.current) + return () => { + if (te.current) + (te.current.focus({ preventScroll: !0 }), + (te.current = null), + (ie.current = !1)); + }; + }, [q.current]), + Pn.default.createElement( + "section", + { + ref: n, + "aria-label": C != null ? C : `${E} ${H}`, + tabIndex: -1, + "aria-live": "polite", + "aria-relevant": "additions text", + "aria-atomic": "false", + suppressHydrationWarning: !0, + "data-react-aria-top-layer": !0, + }, + L.map((oe, J) => { + var Y; + let [ae, ne] = oe.split("-"); + if (!k.length) return null; + return Pn.default.createElement( + "ol", + { + key: oe, + dir: x === "auto" ? Qxt() : x, + tabIndex: -1, + ref: q, + className: c, + "data-sonner-toaster": !0, + "data-sonner-theme": G, + "data-y-position": ae, + "data-x-position": ne, + style: { + "--front-toast-height": `${((Y = O[0]) == null ? void 0 : Y.height) || 0}px`, + "--width": `${lzn}px`, + "--gap": `${A}px`, + ...g, + ...mzn(u, d), + }, + onBlur: (Se) => { + if ( + ie.current && + !Se.currentTarget.contains(Se.relatedTarget) + ) { + if (((ie.current = !1), te.current)) + (te.current.focus({ preventScroll: !0 }), + (te.current = null)); + } + }, + onFocus: (Se) => { + if ( + Se.target instanceof HTMLElement && + Se.target.dataset.dismissible === "false" + ) + return; + if (!ie.current) + ((ie.current = !0), (te.current = Se.relatedTarget)); + }, + onMouseEnter: () => D(!0), + onMouseMove: () => D(!0), + onMouseLeave: () => { + if (!N) D(!1); + }, + onDragEnd: () => D(!1), + onPointerDown: (Se) => { + if ( + Se.target instanceof HTMLElement && + Se.target.dataset.dismissible === "false" + ) + return; + _(!0); + }, + onPointerUp: () => _(!1), + }, + k + .filter((Se) => (!Se.position && J === 0) || Se.position === oe) + .map((Se, fe) => { + var Ae, Ee; + return Pn.default.createElement(fzn, { + key: Se.id, + icons: w, + index: fe, + toast: Se, + defaultRichColors: f, + duration: + (Ae = y == null ? void 0 : y.duration) != null ? Ae : m, + className: y == null ? void 0 : y.className, + descriptionClassName: + y == null ? void 0 : y.descriptionClassName, + invert: o, + visibleToasts: v, + closeButton: + (Ee = y == null ? void 0 : y.closeButton) != null ? Ee : l, + interacting: N, + position: oe, + style: y == null ? void 0 : y.style, + unstyled: y == null ? void 0 : y.unstyled, + classNames: y == null ? void 0 : y.classNames, + cancelButtonStyle: y == null ? void 0 : y.cancelButtonStyle, + actionButtonStyle: y == null ? void 0 : y.actionButtonStyle, + closeButtonAriaLabel: + y == null ? void 0 : y.closeButtonAriaLabel, + removeToast: j, + toasts: k.filter((pe) => pe.position == Se.position), + heights: O.filter((pe) => pe.position == Se.position), + setHeights: B, + expandByDefault: s, + gap: A, + expanded: U, + swipeDirections: t.swipeDirections, + }); + }), + ); + }), + ) + ); + }); +}); +var ux, + Kxt = 4000, + Wxt, + KIe, + Yxt, + hzn = (e) => + h(at, { + name: Yxt[e].name, + size: 20, + filled: !0, + className: Yxt[e].className, + }), + gzn = () => + h("span", { + role: "progressbar", + "aria-label": "Loading", + className: + "block size-5 animate-spin rounded-full border-2 border-inverse-primary border-t-transparent", + }), + JIe, + yzn = ({ showLoader: e = !0, ...t }) => { + let [n, r] = ux.useState(), + [o, a] = ux.useState(t.loading), + { id: i, promise: s, duration: l } = t, + c = ux.useRef(t); + return ( + ux.useEffect(() => { + c.current = t; + }), + ux.useEffect(() => { + (async () => { + try { + let d = await (s instanceof Promise ? s : s()), + { success: p } = c.current; + (a(typeof p === "function" ? p(d) : p), r("success")); + } catch (d) { + let { error: p } = c.current; + (a(typeof p === "function" ? p(d) : p), r("error")); + } + setTimeout(() => { + (c.current.onAutoClose?.(i), + c.current.onClose?.({ id: i, event: "on-auto-close" }), + In.dismiss(i)); + }, l || Kxt); + })(); + }, [i, s, l]), + h(JIe, { + id: i, + type: n, + message: o, + icon: !n && e && (t.loader ?? h(gzn, {})), + closable: !!n, + onDismiss: t.onDismiss, + onClose: ({ id: u, event: d }) => { + if (d === "on-action" || d === "on-cancel") return; + t.onClose?.({ id: u, event: d }); + }, + }) + ); + }, + $_ = ( + e, + { + ref: t, + type: n, + icon: r, + action: o, + cancel: a, + onDismiss: i, + onClose: s, + onAutoClose: l, + className: c, + ...u + } = {}, + ) => + J_.custom( + (d) => + h(JIe, { + id: d, + ref: t, + type: n, + icon: r, + message: e, + action: o, + cancel: a, + onDismiss: i, + onClose: s, + }), + { + className: Ve(KIe, c), + onAutoClose: ({ id: d }) => { + (l?.(d), s?.({ id: d, event: "on-auto-close" })); + }, + ...u, + }, + ), + vzn = (e, { onAutoClose: t, className: n, ...r } = {}) => + J_.custom(e, { + className: Ve(KIe, n), + onAutoClose: ({ id: o }) => t?.(o), + ...r, + }), + bzn = ( + e, + { + loading: t, + success: n, + error: r, + onDismiss: o, + onAutoClose: a, + onClose: i, + duration: s, + className: l, + loader: c, + showLoader: u, + ...d + }, + ) => + J_.custom( + (p) => + h(yzn, { + id: p, + promise: e, + loading: t, + success: n, + error: r, + duration: s, + onDismiss: o, + onAutoClose: a, + onClose: i, + loader: c, + showLoader: u, + }), + { duration: 1 / 0, className: Ve(KIe, l), ...d }, + ), + In; +var Jxt = P(() => { + rn(); + YIe(); + n0(); + YIe(); + le(); + ((ux = z(re(), 1)), + (Wxt = Ve( + "inline-flex h-9 shrink-0 items-center justify-center rounded-full px-3 outline-none", + "text-label-large text-inverse-primary transition-colors duration-200 ease-standard", + "hover:bg-inverse-primary/8 active:bg-inverse-primary/10 focus-visible:bg-inverse-primary/10", + )), + (KIe = Ve( + "w-full overflow-hidden rounded-extra-small py-1.5 pl-4 pr-2 shadow-md3-3", + "flex min-h-12 items-center", + "cursor-default select-none", + "bg-inverse-surface", + "text-body-medium text-inverse-on-surface", + )), + (Yxt = { + success: { name: "check_circle", className: "text-success-container" }, + error: { name: "error", className: "text-error-container" }, + info: { name: "info", className: "text-inverse-primary" }, + warning: { name: "warning", className: "text-warning-container" }, + }), + (JIe = ux.forwardRef( + ({ closable: e = !0, action: t, cancel: n, ...r }, o) => { + let a = typeof r.message === "function" ? r.message(r.id) : r.message, + i = a && typeof a === "object" && "title" in a ? a.title : a, + s = a && typeof a === "object" && "body" in a ? a.body : void 0, + l = !!s; + return M("div", { + ref: o, + className: Ve( + "pointer-events-auto flex w-full gap-3", + l ? "items-start" : "items-center", + ), + children: [ + (r.icon || r.type) && + h("div", { + className: Ve("flex shrink-0", l && "mt-2.5"), + children: r.icon + ? Gd(r.icon, { size: 20 }) + : r.type && hzn(r.type), + }), + M("div", { + className: "flex grow flex-col py-2", + children: [ + i && + h("span", { + className: "text-body-medium text-inverse-on-surface", + style: { wordBreak: "break-word" }, + children: i, + }), + s && + h("div", { + className: + "mt-0.5 text-body-medium text-inverse-on-surface/80", + style: { wordBreak: "break-word" }, + children: s, + }), + ], + }), + (t || n) && + M("div", { + className: "flex shrink-0 items-center gap-1", + children: [ + n && + h("button", { + type: "button", + onClick: () => { + if (typeof n === "object") n.onClick?.(); + (r.onClose?.({ id: r.id, event: "on-cancel" }), + In.dismiss(r.id)); + }, + className: Ve( + Wxt, + typeof n === "object" ? n.className : null, + ), + children: typeof n === "object" ? n.label : n, + }), + t && + h("button", { + type: "button", + onClick: () => { + (t.onClick(), + r.onClose?.({ id: r.id, event: "on-action" }), + In.dismiss(r.id)); + }, + className: Ve(Wxt, t.className), + children: t.label, + }), + ], + }), + e && + h("button", { + type: "button", + "aria-label": "Close", + className: Ve( + "inline-flex size-9 shrink-0 items-center justify-center rounded-full outline-none", + "text-inverse-on-surface transition-colors duration-200 ease-standard", + "hover:bg-inverse-on-surface/8 active:bg-inverse-on-surface/10 focus-visible:bg-inverse-on-surface/10", + ), + onClick: () => { + (r.onDismiss?.(r.id), + r.onClose?.({ id: r.id, event: "on-dismiss" }), + In.dismiss(r.id)); + }, + children: h(at, { name: "close", size: 20 }), + }), + ], + }); + }, + ))); + JIe.displayName = "Toast"; + In = Object.assign($_, { + info: (e, t) => $_(e, { ...t, type: "info" }), + success: (e, t) => $_(e, { ...t, type: "success" }), + error: (e, t) => $_(e, { ...t, type: "error" }), + warning: (e, t) => $_(e, { ...t, type: "warning" }), + custom: vzn, + promise: bzn, + dismiss: J_.dismiss, + }); +}); +var gae = ({ className: e, orientation: t = "horizontal", ...n }) => + h("hr", { + "aria-orientation": t === "vertical" ? "vertical" : void 0, + className: Ve( + "shrink-0 border-0 bg-outline-variant", + t === "vertical" + ? "mx-1 my-0 h-full w-px self-stretch" + : "mx-0 my-1 h-px w-full", + e, + ), + "data-m3-component": "Divider", + ...n, + }); +var jxt = P(() => { + rn(); + le(); +}); +function vae() { + let e = yae.useContext(jIe); + if (e === void 0) throw Error(Dn(51)); + return e; +} +var yae, jIe; +var bae = P(() => { + zo(); + ((yae = z(re(), 1)), (jIe = yae.createContext(void 0))); +}); +var $xt = "data-complete", + eAt = "data-indeterminate", + tAt = "data-progressing"; +var uM; +var xae = P(() => { + uM = { + status(e) { + if (e === "progressing") return { [tAt]: "" }; + if (e === "complete") return { [$xt]: "" }; + if (e === "indeterminate") return { [eAt]: "" }; + return null; + }, + }; +}); +var I3, $Ie; +var nAt = P(() => { + Q8(); + Qwe(); + vr(); + bae(); + xae(); + le(); + ((I3 = z(re(), 1)), + ($Ie = I3.forwardRef(function (t, n) { + let { + format: r, + getAriaValueText: o, + locale: a, + max: i = 100, + min: s = 0, + value: l, + render: c, + className: u, + children: d, + style: p, + ...f + } = t, + [m, g] = I3.useState(), + v = "indeterminate", + y = null, + x = null, + A = "", + w = "indeterminate progress"; + if (l != null && Number.isFinite(l)) { + let k = dE(l, s, i); + ((y = $i(Number.isNaN(k) ? 0 : k, 0, 100)), + (x = $i(l, s, i)), + (v = x === i ? "complete" : "progressing"), + (A = r ? cE(x, a, r) : cE(y / 100, a, { style: "percent" })), + (w = A)); + } + let C = I3.useMemo(() => ({ status: v }), [v]), + E = { + "aria-labelledby": m, + "aria-valuemax": i, + "aria-valuemin": s, + "aria-valuenow": x ?? void 0, + "aria-valuetext": o ? o(A, l) : w, + role: "progressbar", + children: M(I3.Fragment, { + children: [ + d, + h("span", { role: "presentation", style: xg, children: "x" }), + ], + }), + }, + T = I3.useMemo( + () => ({ + formattedValue: A, + percentageValue: y, + setLabelId: g, + state: C, + value: l, + }), + [A, y, g, C, l], + ), + I = Zt("div", t, { + state: C, + ref: n, + props: [E, f], + stateAttributesMapping: uM, + }); + return h(jIe.Provider, { value: T, children: I }); + }))); +}); +var rAt, eTe; +var oAt = P(() => { + vr(); + bae(); + xae(); + ((rAt = z(re(), 1)), + (eTe = rAt.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + { state: s } = vae(); + return Zt("div", t, { + state: s, + ref: n, + props: i, + stateAttributesMapping: uM, + }); + }))); +}); +var aAt, iAt; +var sAt = P(() => { + vr(); + bae(); + xae(); + ((aAt = z(re(), 1)), + (iAt = aAt.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + { percentageValue: s, state: l } = vae(), + c = + s == null + ? {} + : { insetInlineStart: 0, height: "inherit", width: `${s}%` }; + return Zt("div", t, { + state: l, + ref: n, + props: [{ style: c }, i], + stateAttributesMapping: uM, + }); + }))); +}); +var cAt = P(() => { + nAt(); + oAt(); + sAt(); +}); +var uAt = P(() => { + cAt(); +}); +var pAt, + dAt = "relative h-1 overflow-hidden rounded-full bg-secondary-container", + Aae; +var fAt = P(() => { + rs(); + uAt(); + rn(); + ri(); + le(); + ((pAt = z(re(), 1)), + (Aae = pAt.memo((e) => { + let t = ns(), + n = e.pending + ? 0 + : "percent" in e + ? e.percent + : e.total > 0 + ? Math.round((e.value / e.total) * 100) + : 0; + if (e.pending) + return h($Ie, { + value: null, + "aria-busy": "true", + "aria-label": "Loading", + "data-m3-component": "ProgressBar", + className: Ve("indeterminate-progress-bar", dAt, e.className), + children: h(eTe, { + className: "block h-full", + children: h(Zn.div, { + className: + "indeterminate-progress-bar__progress absolute inset-y-0 left-0 w-2/5 rounded-full bg-primary", + initial: t ? !1 : { x: "-100%" }, + animate: { x: t ? "0%" : "250%" }, + transition: { + duration: t ? 0 : 2, + ease: Kt.standard, + repeat: t ? 0 : 1 / 0, + }, + }), + }), + }); + let r = Math.min(100, Math.max(0, n)); + return h($Ie, { + value: r, + "aria-label": "Progress", + "data-m3-component": "ProgressBar", + className: Ve(dAt, "w-[94%]", e.className), + children: h(eTe, { + className: "block h-full", + children: h(iAt, { + style: { width: `${r}%` }, + className: + "h-full rounded-full bg-primary transition-[width] duration-500 ease-standard motion-reduce:transition-none", + }), + }), + }); + }))); + Aae.displayName = "ProgressBar"; +}); +var wae, + mAt = "stroke-dashoffset 200ms cubic-bezier(0.2, 0, 0, 1)", + eH = ({ + radius: e, + progress: t, + steps: n = 100, + cut: r = 0, + rotate: o = -90, + strokeWidth: a = 4, + strokeColor: i, + fillColor: s = "none", + strokeLinecap: l = "round", + transition: c = mAt, + pointerRadius: u = 0, + pointerStrokeWidth: d = 4, + pointerStrokeColor: p, + pointerFillColor: f, + trackStrokeColor: m, + trackStrokeWidth: g = 4, + trackStrokeLinecap: v = "round", + trackTransition: y = mAt, + counterClockwise: x = !1, + inverse: A = !1, + initialAnimation: w = !1, + initialAnimationDelay: C = 0, + className: E = "", + children: T, + }) => { + let I = ns(), + [k, L] = wae.useState(!1); + (wae.useEffect(() => { + if (w && !I) { + let q = setTimeout(() => L(!0), C); + return () => clearTimeout(q); + } + }, [w, C, I]), + (t = Number.isFinite(t) ? Math.min(100, Math.max(0, t)) : 0)); + let O = () => (w && !k && !I ? 0 : t), + B = e * 2 * Math.PI, + U = `${B} ${B}`, + D = ((100 - O()) / 100) * B, + N = a * 2, + _ = e * 2 + N, + G = `0 0 ${_} ${_}`, + Z = e + a; + return M("div", { + role: "progressbar", + "aria-label": "Progress", + "data-m3-component": "CircularProgress", + "aria-valuemin": 0, + "aria-valuemax": 100, + "aria-valuenow": Math.min(100, Math.max(0, t)), + className: Ve("relative", E), + style: { width: `${_}px`, height: `${_}px` }, + children: [ + M("svg", { + "aria-hidden": "true", + focusable: "false", + width: _, + height: _, + viewBox: G, + style: { transform: `rotate(${o}deg)` }, + children: [ + g > 0 && + h("circle", { + cx: Z, + cy: Z, + r: e, + fill: "none", + stroke: m, + strokeWidth: g, + strokeDasharray: U, + strokeLinecap: v, + style: { transition: I ? "none" : y }, + className: Ve( + "track-stroke", + !m && "stroke-secondary-container", + ), + }), + a > 0 && + h("circle", { + cx: Z, + cy: Z, + r: e, + fill: s, + stroke: i, + strokeWidth: a, + strokeDasharray: U, + strokeLinecap: l, + style: { transition: I ? "none" : c, strokeDashoffset: D }, + className: Ve("progress-stroke", !i && "stroke-primary"), + }), + u > 0 && + h("circle", { + cx: e, + cy: e, + r: u, + fill: f, + stroke: p, + strokeWidth: d, + style: { + transform: `rotate(${o}deg)`, + transformOrigin: `${e}px ${e}px`, + }, + className: Ve( + "pointer-stroke", + !p && "stroke-primary", + !f && "fill-on-primary", + ), + }), + ], + }), + T, + ], + }); + }; +var hAt = P(() => { + rn(); + rs(); + le(); + wae = z(re(), 1); +}); +var Sae, Azn, G6; +var gAt = P(() => { + rn(); + n0(); + le(); + ((Sae = z(re(), 1)), + (Azn = { + xs: "h-8 gap-2 px-3", + sm: "h-10 gap-3 px-3", + md: "h-14 gap-4 px-4", + }), + (G6 = Sae.forwardRef( + ( + { + value: e, + onChange: t, + onClear: n, + className: r, + placeholder: o = "Search...", + size: a = "md", + ...i + }, + s, + ) => { + let [l, c] = Sae.useState(""), + u = e !== void 0 ? e : l, + d = a !== "md", + p = (m) => { + let g = m.target.value; + if (t) t(g); + else c(g); + }, + f = () => { + if (t) t(""); + else c(""); + n?.(); + }; + return M("div", { + "data-m3-component": "SearchBar", + className: Ve( + "relative flex items-center", + Azn[a], + "rounded-full bg-surface-container-high text-on-surface", + "before:pointer-events-none before:absolute before:inset-0 before:rounded-[inherit] before:bg-on-surface before:opacity-0 before:transition-opacity before:duration-200 before:ease-standard before:content-['']", + "hover:before:opacity-8", + "has-[:disabled]:opacity-38", + r, + ), + children: [ + h(at, { + name: "search", + size: d ? 20 : 24, + className: "text-on-surface", + }), + h("input", { + ref: s, + type: "text", + value: u, + onChange: p, + placeholder: o, + className: Ve( + "relative min-w-0 flex-1 border-0 bg-transparent p-0 outline-none", + d ? "text-body-medium" : "text-body-large", + "text-on-surface placeholder:text-on-surface-variant", + "focus:border-0 focus:outline-none focus:ring-0", + ), + ...i, + }), + u && + h("button", { + type: "button", + onClick: f, + "aria-label": "Clear Search", + className: Ve( + "relative -mr-1 inline-flex shrink-0 items-center justify-center rounded-full text-on-surface-variant outline-none", + "transition-colors duration-200 ease-standard hover:bg-on-surface-variant/8 active:bg-on-surface-variant/10", + "focus-visible:outline-3 focus-visible:outline-secondary", + a === "xs" ? "size-6" : d ? "size-8" : "size-10", + ), + children: h(at, { + name: "close", + size: a === "xs" ? 18 : d ? 20 : 24, + }), + }), + ], + }); + }, + ))); + G6.displayName = "SearchBar"; +}); +var yAt, vAt, wzn, yn; +var bAt = P(() => { + x2(); + rn(); + n0(); + AP(); + le(); + ((yAt = z(re(), 1)), + (vAt = kc( + [ + "inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full border", + "transition-[background-color,border-color,color,transform] duration-200 ease-standard", + "active:scale-95 disabled:pointer-events-none disabled:cursor-not-allowed", + Ta, + Yn, + ], + { + variants: { + variant: { + default: [ + "border-transparent bg-surface-container-high text-on-surface-variant", + "disabled:bg-on-surface/12 disabled:text-on-surface/38", + ], + active: [ + "border-transparent bg-secondary-container text-on-secondary-container", + "disabled:bg-on-surface/12 disabled:text-on-surface/38", + ], + accent: [ + "border-transparent bg-primary text-on-primary", + "disabled:bg-on-surface/12 disabled:text-on-surface/38", + ], + solid: [ + "border-outline-variant bg-surface-container text-on-surface-variant", + "disabled:border-on-surface/12 disabled:text-on-surface/38", + ], + standard: + "border-transparent bg-transparent text-on-surface-variant disabled:text-on-surface/38", + filled: [ + "border-transparent bg-primary text-on-primary", + "disabled:bg-on-surface/12 disabled:text-on-surface/38", + ], + tonal: [ + "border-transparent bg-secondary-container text-on-secondary-container", + "disabled:bg-on-surface/12 disabled:text-on-surface/38", + ], + outlined: [ + "border-outline-variant bg-transparent text-on-surface-variant", + "disabled:border-on-surface/12 disabled:text-on-surface/38", + ], + }, + size: { sm: "h-8 min-w-8", md: "h-10 min-w-10", lg: "h-12 min-w-12" }, + }, + defaultVariants: { variant: "default", size: "md" }, + }, + )), + (wzn = { sm: 18, md: 20, lg: 24 }), + (yn = yAt.forwardRef( + ( + { + icon: e, + active: t, + activeAccent: n, + variant: r, + size: o, + className: a, + children: i, + type: s = "button", + ...l + }, + c, + ) => { + let u = r ?? (t && n ? "accent" : t ? "active" : "default"), + d = wzn[o ?? "md"], + p = u === "active" || u === "accent"; + return M("button", { + ref: c, + type: s, + "aria-pressed": t !== void 0 ? p : void 0, + className: Ve( + vAt({ variant: u, size: o }), + i && "w-auto gap-2 px-4", + a, + ), + "data-m3-component": "CircleButton", + ...l, + children: [ + e !== void 0 && + Gd(e, { size: d, filled: p || void 0, className: "shrink-0" }), + i && h("span", { className: "text-label-large", children: i }), + ], + }); + }, + ))); + yn.displayName = "CircleButton"; +}); +function sI({ children: e, className: t }) { + let n = dM.Children.toArray(e); + return h("div", { + role: "group", + className: Ve( + "flex h-10 items-center rounded-full", + "bg-surface-container-high text-on-surface-variant", + "overflow-hidden", + t, + ), + children: n.map((r, o) => { + if (!dM.isValidElement(r)) return r; + return M( + "div", + { + className: "relative flex h-full items-center", + children: [ + dM.cloneElement(r, { + className: Ve( + r.props.className, + "!h-full !rounded-none !border-0 !bg-transparent !shadow-none", + ), + }), + o < n.length - 1 && + h("hr", { + "aria-orientation": "vertical", + className: "m-0 h-5 w-px border-0 bg-outline-variant", + }), + ], + }, + r.key, + ); + }), + }); +} +var dM; +var xAt = P(() => { + rn(); + le(); + dM = z(re(), 1); +}); +function Szn(e) { + if (e.defaultPrevented) return; + let t = e.target; + if (!(t instanceof Element)) return; + let n = t.closest('button[role="tab"]'); + if (!n || !e.currentTarget.contains(n)) return; + let r = Array.from( + e.currentTarget.querySelectorAll('button[role="tab"]:not(:disabled)'), + ), + o = r.indexOf(n); + if (o < 0) return; + let a; + switch (e.key) { + case "ArrowRight": + a = (o + 1) % r.length; + break; + case "ArrowLeft": + a = (o - 1 + r.length) % r.length; + break; + case "Home": + a = 0; + break; + case "End": + a = r.length - 1; + break; + default: + return; + } + e.preventDefault(); + let i = r[a]; + if ((i.focus(), i !== n)) i.click(); +} +var tTe, Cae, Eae; +var AAt = P(() => { + rs(); + rn(); + ri(); + n0(); + AP(); + le(); + tTe = z(re(), 1); + Cae = tTe.forwardRef( + ( + { layoutId: e = "tab-bar", trailing: t, className: n, children: r, ...o }, + a, + ) => + M("div", { + ref: a, + "data-m3-component": "TabBar", + className: Ve( + "flex h-10 shrink-0 items-stretch gap-1 border-b border-outline-variant bg-surface", + n, + ), + ...o, + children: [ + h(ICe, { + id: e, + children: h("div", { + role: "tablist", + "aria-label": "Open tabs", + tabIndex: -1, + onKeyDown: Szn, + className: "flex min-w-0 flex-1 items-stretch", + children: r, + }), + }), + t && h("div", { className: "flex items-center", children: t }), + ], + }), + ); + Cae.displayName = "TabBar"; + Eae = tTe.forwardRef( + ( + { + active: e, + label: t, + onClose: n, + closable: r, + closeIcon: o, + className: a, + ...i + }, + s, + ) => { + let l = ns(), + c = r ?? !!n; + return M("div", { + className: Ve( + "group relative flex min-w-0 flex-1 items-stretch justify-center", + a, + ), + children: [ + M("button", { + ref: s, + type: "button", + role: "tab", + "aria-selected": !!e, + tabIndex: e ? 0 : -1, + className: Ve( + "flex w-full min-w-0 items-center justify-center text-label-large", + "transition-colors duration-200 ease-standard", + Ta, + Yn, + e + ? "text-primary" + : "text-on-surface-variant hover:text-on-surface", + ), + ...i, + children: [ + h("span", { className: "relative truncate px-6", children: t }), + e && + h(Zn.div, { + layoutId: l ? void 0 : "activeTab", + className: + "absolute inset-x-4 bottom-0 h-[3px] rounded-t-full bg-primary", + initial: !1, + transition: { + duration: l ? 0 : mn.medium2, + ease: Kt.emphasized, + }, + }), + ], + }), + c && + e && + h("button", { + type: "button", + "aria-label": "Close tab", + onClick: (u) => { + (u.stopPropagation(), n?.()); + }, + className: Ve( + "absolute left-1.5 top-1/2 z-10 flex size-5 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full", + "text-on-surface-variant transition-colors duration-200 ease-standard", + "hover:bg-on-surface/8 hover:text-on-surface active:bg-on-surface/10", + Yn, + ), + title: "Close tab", + children: o ?? h(at, { name: "close", size: 16 }), + }), + ], + }); + }, + ); + Eae.displayName = "TabBarItem"; +}); +var lI, + wAt = "border border-transparent bg-surface-container-low shadow-md3-1", + Czn = "border border-transparent bg-surface-container-highest", + SAt = "border border-outline-variant bg-surface", + Ezn, + Ds, + Iae, + Tae, + CAt, + kae, + EAt; +var IAt = P(() => { + rn(); + le(); + ((lI = z(re(), 1)), + (Ezn = { + default: wAt, + dark: SAt, + elevated: wAt, + filled: Czn, + outlined: SAt, + }), + (Ds = lI.forwardRef(({ className: e, variant: t = "default", ...n }, r) => + h("div", { + ref: r, + className: Ve("rounded-medium text-on-surface", Ezn[t], e), + "data-m3-component": "Card", + ...n, + }), + ))); + Ds.displayName = "Card"; + Iae = lI.forwardRef(({ className: e, ...t }, n) => + h("div", { + ref: n, + className: Ve("flex flex-col gap-1 p-4", e), + "data-m3-component": "CardHeader", + ...t, + }), + ); + Iae.displayName = "CardHeader"; + Tae = lI.forwardRef(({ className: e, children: t, ...n }, r) => + h("h3", { + ref: r, + className: Ve("text-title-large text-on-surface", e), + "data-m3-component": "CardTitle", + ...n, + children: t, + }), + ); + Tae.displayName = "CardTitle"; + CAt = lI.forwardRef(({ className: e, ...t }, n) => + h("p", { + ref: n, + className: Ve("text-body-medium text-on-surface-variant", e), + "data-m3-component": "CardDescription", + ...t, + }), + ); + CAt.displayName = "CardDescription"; + kae = lI.forwardRef(({ className: e, ...t }, n) => + h("div", { + ref: n, + className: Ve("p-4 pt-0 text-body-medium", e), + "data-m3-component": "CardContent", + ...t, + }), + ); + kae.displayName = "CardContent"; + EAt = lI.forwardRef(({ className: e, ...t }, n) => + h("div", { + ref: n, + className: Ve("flex items-center gap-2 p-4 pt-0", e), + "data-m3-component": "CardFooter", + ...t, + }), + ); + EAt.displayName = "CardFooter"; +}); +function Pf({ className: e, variant: t, size: n, ...r }) { + return h("div", { + className: Ve(TAt({ variant: t, size: n }), e), + "data-m3-component": "Badge", + ...r, + }); +} +var TAt; +var kAt = P(() => { + rn(); + x2(); + le(); + TAt = kc( + "inline-flex shrink-0 items-center gap-1 whitespace-nowrap rounded-small border font-plain transition-colors duration-200 ease-standard", + { + variants: { + variant: { + default: + "border-outline-variant bg-surface-container-high text-on-surface-variant", + secondary: + "border-transparent bg-secondary-container text-on-secondary-container", + outline: + "border-outline-variant bg-transparent text-on-surface-variant", + accent: + "border-transparent bg-primary-container text-on-primary-container", + success: + "border-transparent bg-success-container text-on-success-container", + warning: + "border-transparent bg-warning-container text-on-warning-container", + error: + "border-transparent bg-error-container text-on-error-container", + destructive: + "border-transparent bg-error-container text-on-error-container", + info: "border-transparent bg-primary-container text-on-primary-container", + tertiary: + "border-transparent bg-tertiary-container text-on-tertiary-container", + badge: + "justify-center rounded-full border-transparent bg-error text-on-error", + }, + size: { + sm: "h-4 min-w-4 px-1 text-label-small", + default: "h-5 px-1.5 text-label-small", + md: "h-6 px-2 text-label-medium", + lg: "h-8 px-3 text-label-large", + }, + }, + defaultVariants: { variant: "default", size: "default" }, + }, + ); +}); +function Pae() { + let e = Rae.useContext(nTe); + if (e === void 0) throw Error(Dn(10)); + return e; +} +var Rae, nTe; +var Mae = P(() => { + zo(); + ((Rae = z(re(), 1)), (nTe = Rae.createContext(void 0))); +}); +var q6, Izn, RAt; +var PAt = P(() => { + xb(); + da(); + Ci(); + lE(); + Mae(); + vr(); + le(); + ((q6 = z(re(), 1)), + (Izn = { value: () => null }), + (RAt = q6.forwardRef(function (t, n) { + let { + render: r, + className: o, + disabled: a = !1, + hiddenUntilFound: i, + keepMounted: s, + loopFocus: l, + onValueChange: c, + multiple: u = !1, + orientation: d = "vertical", + value: p, + defaultValue: f, + style: m, + ...g + } = t, + v = f ?? Rc, + y = q6.useRef([]), + [x, A] = Zd({ + controlled: p, + default: v, + name: "Accordion", + state: "value", + }), + w = Ot((I, k, L) => { + if (!u) { + let O = x[0] === I ? [] : [I]; + if ((c?.(O, L), L.isCanceled)) return; + A(O); + } else if (k) { + let O = x.slice(); + if ((O.push(I), c?.(O, L), L.isCanceled)) return; + A(O); + } else { + let O = x.filter((B) => B !== I); + if ((c?.(O, L), L.isCanceled)) return; + A(O); + } + }), + C = q6.useMemo( + () => ({ value: x, disabled: a, orientation: d }), + [x, a, d], + ), + E = q6.useMemo( + () => ({ + disabled: a, + handleValueChange: w, + hiddenUntilFound: i ?? !1, + keepMounted: s ?? !1, + state: C, + value: x, + }), + [a, w, i, s, C, x], + ), + T = Zt("div", t, { + state: C, + ref: n, + props: g, + stateAttributesMapping: Izn, + }); + return h(nTe.Provider, { + value: E, + children: h(W1, { elementsRef: y, children: T }), + }); + }))); +}); +function MAt(e) { + let { open: t, defaultOpen: n = !1, onOpenChange: r, disabled: o } = e, + [a, i] = Zd({ + controlled: t, + default: n, + name: "Collapsible", + state: "open", + }), + { mounted: s, setMounted: l, transitionStatus: c } = Sp(a, !0, !0), + u = go(), + [d, p] = Dae.useState(), + f = d === null ? void 0 : (d ?? u), + m = Ot((g) => { + let v = !a, + y = un(Ib, g.nativeEvent); + if ((r(v, y), y.isCanceled)) return; + i(v); + }); + return Dae.useMemo( + () => ({ + defaultPanelId: u, + disabled: o, + handleTrigger: m, + mounted: s, + open: a, + panelId: f, + setMounted: l, + setOpen: i, + setPanelIdState: p, + transitionStatus: c, + }), + [u, o, m, s, a, f, l, i, p, c], + ); +} +var Dae; +var DAt = P(() => { + xb(); + da(); + _l(); + ka(); + ko(); + Pb(); + Dae = z(re(), 1); +}); +function Bae() { + let e = Lae.useContext(rTe); + if (e === void 0) throw Error(Dn(15)); + return e; +} +var Lae, rTe; +var Oae = P(() => { + zo(); + ((Lae = z(re(), 1)), (rTe = Lae.createContext(void 0))); +}); +function pM() { + let e = Fae.useContext(oTe); + if (e === void 0) throw Error(Dn(9)); + return e; +} +var Fae, oTe; +var tH = P(() => { + zo(); + ((Fae = z(re(), 1)), (oTe = Fae.createContext(void 0))); +}); +var LAt = "data-open", + BAt = "data-closed", + OAt, + VFo; +var aTe = P(() => { + H1(); + ((OAt = H4), (VFo = LP)); +}); +var UAt = "data-panel-open"; +var kzn, Rzn, NAt, zAt; +var iTe = P(() => { + aTe(); + ((kzn = { [LAt]: "" }), + (Rzn = { [BAt]: "" }), + (NAt = { + open(e) { + if (e) return { [UAt]: "" }; + return null; + }, + }), + (zAt = { + open(e) { + if (e) return kzn; + return Rzn; + }, + })); +}); +var _At = "data-index"; +var fM; +var Uae = P(() => { + iTe(); + H1(); + fM = { + ...zAt, + index: (e) => ({ [_At]: String(e) }), + ...Cp, + value: () => null, + }; +}); +var T3, HAt; +var VAt = P(() => { + da(); + U1(); + _l(); + DAt(); + Oae(); + Fb(); + Mae(); + tH(); + Uae(); + vr(); + le(); + ((T3 = z(re(), 1)), + (HAt = T3.forwardRef(function (t, n) { + let { + className: r, + disabled: o = !1, + onOpenChange: a, + render: i, + value: s, + style: l, + ...c + } = t, + { ref: u, index: d } = Ip(), + p = cl(n, u), + { disabled: f, handleValueChange: m, state: g, value: v } = Pae(), + y = go(), + x = s ?? y, + A = o || f, + w = v.indexOf(x) !== -1, + C = Ot((_, G) => { + if ((a?.(_, G), G.isCanceled)) return; + m(x, _, G); + }), + E = MAt({ open: w, onOpenChange: C, disabled: A }), + T = T3.useMemo( + () => ({ + open: E.open, + disabled: E.disabled, + transitionStatus: E.transitionStatus, + }), + [E.open, E.disabled, E.transitionStatus], + ), + I = T3.useMemo(() => ({ ...E, onOpenChange: C, state: T }), [E, T, C]), + k = T3.useMemo( + () => ({ + ...g, + hidden: !w && !E.mounted, + index: d, + disabled: A, + open: w, + }), + [E.mounted, A, d, w, g], + ), + L = go(), + [O, B] = T3.useState(), + U = O === null ? void 0 : (O ?? L), + D = T3.useMemo( + () => ({ + defaultTriggerId: L, + open: w, + state: k, + setTriggerId: B, + triggerId: U, + }), + [L, w, k, B, U], + ), + N = Zt("div", t, { + state: k, + ref: p, + props: c, + stateAttributesMapping: fM, + }); + return h(rTe.Provider, { + value: I, + children: h(oTe.Provider, { value: D, children: N }), + }); + }))); +}); +var GAt, qAt; +var ZAt = P(() => { + vr(); + tH(); + Uae(); + ((GAt = z(re(), 1)), + (qAt = GAt.forwardRef(function (t, n) { + let { render: r, className: o, style: a, ...i } = t, + { state: s } = pM(); + return Zt("h3", t, { + state: s, + ref: n, + props: i, + stateAttributesMapping: fM, + }); + }))); +}); +var QAt, XAt; +var WAt = P(() => { + Nr(); + iTe(); + KA(); + Oae(); + tH(); + vr(); + ((QAt = z(re(), 1)), + (XAt = QAt.forwardRef(function (t, n) { + let { + disabled: r, + className: o, + id: a, + render: i, + nativeButton: s = !0, + style: l, + ...c + } = t, + { panelId: u, open: d, handleTrigger: p, disabled: f } = Bae(), + m = r || f, + { getButtonProps: g, buttonRef: v } = Ys({ + disabled: m, + focusableWhenDisabled: !0, + native: s, + }), + { defaultTriggerId: y, state: x, setTriggerId: A } = pM(), + w = a || void 0, + C = w ?? y; + return ( + Ct( + () => ( + A((I) => w ?? (I === null ? void 0 : I)), + () => { + A((I) => (I === w ? null : I)); + } + ), + [w, A], + ), + Zt("button", t, { + state: x, + ref: [n, v], + props: [ + { + "aria-controls": d ? u : void 0, + "aria-expanded": d, + id: C, + onClick: p, + }, + c, + g, + ], + stateAttributesMapping: NAt, + }) + ); + }))); +}); +function KAt(e) { + let { + externalRef: t, + hiddenUntilFound: n, + id: r, + keepMounted: o, + mounted: a, + onOpenChange: i, + open: s, + setMounted: l, + setOpen: c, + transitionStatus: u, + } = e, + d = ph.useRef(null), + p = ph.useRef(null), + [f, m] = ph.useState(nH), + g = ph.useRef(nH), + v = ph.useRef(!1), + y = ph.useRef(s), + x = ph.useRef(!1), + [A, w] = ph.useState(!1), + C = ph.useRef(null), + E = cl(t, d), + T = ti(s), + I = Rb(d), + k = !s && !a, + L = A ? "idle" : u, + O = s && (y.current || x.current), + B = + !s && + a && + p.current === "css-animation" && + f.height === void 0 && + f.width === void 0 + ? g.current + : f, + U = n && k && p.current !== "css-animation", + D = Ot((q, H = !0) => { + if (H) g.current = q; + m(q); + }), + N = Ot(() => { + (C.current?.(), (C.current = null)); + }), + _ = Ot((q) => { + (N(), + (C.current = () => { + ((C.current = null), q()); + })); + }), + G = Ot(() => { + if (s && a && p.current === "css-animation") x.current = !0; + }); + (Ct(() => { + if (!A || u === "starting") return; + w(!1); + }, [A, u]), + ph.useEffect( + () => () => { + (G(), N()); + }, + [G, N], + ), + Ct(() => { + let q = d.current; + if (!q) return; + if (!s && C.current) N(); + let H = Mzn(q, O); + if ( + ((p.current = H), + s && u === "idle" && y.current && H === "css-animation") + ) { + g.current = mM(q); + return; + } + if (s && u === "starting") { + let j = v.current; + if (((v.current = !1), H === "none")) { + (D(mM(q)), w(!0)); + return; + } + if (H === "css-transition") { + let Y = Dzn(q); + if ((D(mM(q)), !j)) return Y; + let ae = Nae(q, "transition-duration", "0s"); + return (_(ae), w(!0), Y); + } + D(mM(q)); + let oe = Nae(q, "animation-name", "none"); + if (!j) { + oe(); + return; + } + let J = Nae(q, "animation-duration", "0s"); + (oe(), _(J), w(!0)); + return; + } + if (!s && a && (u === "idle" || u === "starting")) { + if (((y.current = !1), (x.current = !1), H === "none")) { + (D(nH, !1), l(!1)); + return; + } + D(mM(q)); + return; + } + if (u !== "ending") return; + if (H === "none") { + l(!1); + return; + } + let te = mM(q); + if (!(te.height > 0 || te.width > 0)) { + l(!1); + return; + } + if ((D(te), H === "css-animation")) Nae(q, "animation-name", "none")(); + return; + }, [a, s, N, D, l, _, O, u]), + ji({ + enabled: s && a && L === "idle", + open: !0, + ref: d, + onComplete() { + if (!s) return; + D(nH, !1); + }, + }), + ph.useEffect(() => { + if (s || !a || L !== "ending") return; + if (!d.current) return; + let H = new AbortController(), + te = -1; + function ie() { + if (T.current) return; + (l(!1), D(nH, !1)); + } + return ( + (te = Cf.request(() => { + I(ie, H.signal); + })), + () => { + (Cf.cancel(te), H.abort()); + } + ); + }, [T, a, s, L, I, D, l]), + Ct(() => { + let q = d.current; + if (!q || !n || !k) return; + q.setAttribute("hidden", "until-found"); + }, [k, n]), + ph.useEffect( + function () { + let H = d.current; + if (!H) return; + function te(ie) { + let j = un(_1, ie); + if ((i(!0, j), j.isCanceled)) return; + ((v.current = !0), c(!0)); + } + return zr(H, "beforematch", te); + }, + [i, c], + )); + let Z = o || n || a || s; + return { + height: B.height, + props: { ...(U ? { [OAt]: "" } : void 0), hidden: k, id: r }, + ref: E, + shouldPreventOpenAnimation: O, + shouldRender: Z, + transitionStatus: L, + width: B.width, + }; +} +function mM(e) { + return { height: e.scrollHeight, width: e.scrollWidth }; +} +function Mzn(e, t) { + let n = Io(e).getComputedStyle(e), + r = + (n.animationName + .split(",") + .map((a) => a.trim()) + .some((a) => a !== "" && a !== "none") || + t) && + YAt(n.animationDuration), + o = YAt(n.transitionDuration); + if (r && o) return "css-transition"; + if (o) return "css-transition"; + if (r) return "css-animation"; + return "none"; +} +function YAt(e) { + return e + .split(",") + .map((t) => t.trim()) + .some((t) => t !== "" && Number.parseFloat(t) > 0); +} +function Nae(e, t, n) { + let r = e.style.getPropertyValue(t), + o = e.style.getPropertyPriority(t); + return ( + e.style.setProperty(t, n), + () => { + if (r === "") { + e.style.removeProperty(t); + return; + } + e.style.setProperty(t, r, o); + } + ); +} +function Dzn(e) { + let t = { + "justify-content": e.style.justifyContent, + "align-items": e.style.alignItems, + "align-content": e.style.alignContent, + "justify-items": e.style.justifyItems, + }; + Object.keys(t).forEach((o) => { + e.style.setProperty(o, "initial", "important"); + }); + function n() { + Object.entries(t).forEach(([o, a]) => { + if (a === "") { + e.style.removeProperty(o); + return; + } + e.style.setProperty(o, a); + }); + } + let r = Cf.request(n); + return () => { + (Cf.cancel(r), n()); + }; +} +var ph, nH; +var JAt = P(() => { + Nr(); + U1(); + kb(); + da(); + Ob(); + ul(); + ka(); + ko(); + oh(); + BP(); + aTe(); + ((ph = z(re(), 1)), (nH = { height: void 0, width: void 0 })); +}); +var jAt = "--accordion-panel-height", + $At = "--accordion-panel-width"; +var sTe, e3t; +var t3t = P(() => { + Nr(); + Oae(); + JAt(); + Mae(); + tH(); + Uae(); + vr(); + ((sTe = z(re(), 1)), + (e3t = sTe.forwardRef(function (t, n) { + let { + className: r, + hiddenUntilFound: o, + keepMounted: a, + id: i, + render: s, + style: l, + ...c + } = t, + { hiddenUntilFound: u, keepMounted: d } = Pae(), + { + defaultPanelId: p, + mounted: f, + onOpenChange: m, + open: g, + setMounted: v, + setOpen: y, + setPanelIdState: x, + transitionStatus: A, + } = Bae(), + w = o ?? u, + C = a ?? d, + E = i || void 0, + T = i ?? p; + Ct( + () => ( + x((H) => E ?? (H === null ? void 0 : H)), + () => { + x((H) => (H === E ? null : H)); + } + ), + [E, x], + ); + let { + height: I, + props: k, + ref: L, + shouldPreventOpenAnimation: O, + shouldRender: B, + transitionStatus: U, + width: D, + } = KAt({ + externalRef: n, + hiddenUntilFound: w, + id: T, + keepMounted: C, + mounted: f, + onOpenChange: m, + open: g, + setMounted: v, + setOpen: y, + transitionStatus: A, + }), + { state: N, triggerId: _ } = pM(), + G = { ...N, transitionStatus: U }, + Z = F$(l, G), + q = Zt( + "div", + { ...t, style: void 0 }, + { + state: G, + ref: L, + props: [ + k, + { + "aria-labelledby": _, + role: "region", + style: { + [jAt]: I === void 0 ? "auto" : `${I}px`, + [$At]: D === void 0 ? "auto" : `${D}px`, + }, + }, + c, + Z ? { style: Z } : void 0, + O ? { style: { animationName: "none" } } : void 0, + ], + stateAttributesMapping: fM, + }, + ); + if (!B) return null; + return q; + }))); +}); +var r3t = P(() => { + PAt(); + VAt(); + ZAt(); + WAt(); + t3t(); +}); +var o3t = P(() => { + r3t(); +}); +var hM, zae, _ae, a3t, Hae, Vae; +var i3t = P(() => { + o3t(); + rn(); + V1(); + n0(); + le(); + ((hM = z(re(), 1)), + (zae = hM.forwardRef( + ({ className: e, variant: t = "outlined", ...n }, r) => { + let o = { + outlined: + "border border-outline-variant divide-y divide-outline-variant rounded-large bg-surface", + elevated: + "rounded-large bg-surface-container-low shadow-elevation-1 divide-y divide-outline-variant/30", + filled: + "rounded-large bg-surface-container divide-y divide-outline-variant/30", + tonal: + "rounded-large bg-secondary-container/40 divide-y divide-outline-variant/30", + }[t]; + return h(RAt, { + ref: r, + className: io( + Ve("w-full overflow-hidden transition-all duration-200", o), + e, + ), + "data-m3-component": "Accordion", + ...n, + }); + }, + ))); + zae.displayName = "AccordionRoot"; + _ae = hM.forwardRef(({ className: e, ...t }, n) => + h(HAt, { + ref: n, + className: io( + "group/item transition-colors duration-200 first:rounded-t-large last:rounded-b-large", + e, + ), + ...t, + }), + ); + _ae.displayName = "AccordionItem"; + a3t = hM.forwardRef(({ className: e, ...t }, n) => + h(qAt, { ref: n, className: io("m-0 flex items-center", e), ...t }), + ); + a3t.displayName = "AccordionHeader"; + Hae = hM.forwardRef( + ({ className: e, children: t, indicator: n = !0, asChild: r, ...o }, a) => { + let i = am(r, t); + return h(XAt, { + ref: a, + className: io( + Ve( + "group/trigger flex min-h-14 w-full items-center justify-between gap-4 px-5 text-left", + "text-title-medium font-medium text-on-surface", + "transition-colors duration-200 ease-standard hover:bg-on-surface/8 active:bg-on-surface/12", + "outline-none focus-visible:outline-3 focus-visible:outline-offset-2 focus-visible:outline-primary", + "disabled:cursor-not-allowed disabled:opacity-38 data-disabled:cursor-not-allowed data-disabled:opacity-38", + ), + e, + ), + render: i.render, + nativeButton: i.nativeButton, + "data-m3-component": "AccordionTrigger", + ...o, + children: i.render + ? void 0 + : M(Ht, { + children: [ + h("span", { className: "flex-1", children: t }), + n && + h("span", { + className: + "flex shrink-0 text-on-surface-variant transition-transform duration-300 ease-emphasized group-data-panel-open/item:rotate-180", + children: h(at, { name: "expand_more", size: 24 }), + }), + ], + }), + }); + }, + ); + Hae.displayName = "AccordionTrigger"; + Vae = hM.forwardRef(({ className: e, children: t, ...n }, r) => + h(e3t, { + ref: r, + className: io( + Ve( + "overflow-hidden text-body-medium text-on-surface-variant", + "h-[var(--accordion-panel-height)] transition-[height,opacity] duration-300 ease-emphasized", + "data-[ending-style]:h-0 data-[ending-style]:opacity-0", + "data-[starting-style]:h-0 data-[starting-style]:opacity-0", + ), + e, + ), + ...n, + children: h("div", { className: "px-5 pb-5 pt-1", children: t }), + }), + ); + Vae.displayName = "AccordionPanel"; +}); +function s3t(e) { + return fte("alert-dialog", e); +} +var l3t = P(() => { + KSe(); +}); +var c3t; +var u3t = P(() => { + $Se(); + c3t = hte; +}); +var p3t = P(() => { + l3t(); + nSe(); + rSe(); + oSe(); + ZSe(); + QSe(); + jSe(); + u3t(); +}); +var f3t = P(() => { + p3t(); +}); +function Ng({ + open: e, + onOpenChange: t, + title: n, + description: r, + confirmLabel: o = "Confirm", + cancelLabel: a = "Cancel", + destructive: i = !1, + onConfirm: s, + children: l, +}) { + return M(lTe, { + open: e, + onOpenChange: t, + children: [ + l && h(Gae, { asChild: !0, children: l }), + M(cTe, { + children: [ + h(qae, {}), + M(Zae, { + children: [ + h(Qae, { children: n }), + h(Xae, { children: r }), + M("div", { + className: "mt-2 flex justify-end gap-2", + children: [ + h(rH, { + asChild: !0, + children: h(Vt, { + variant: "text", + size: "md", + children: a, + }), + }), + h(rH, { + asChild: !0, + children: h(Vt, { + variant: "filled", + size: "md", + className: i + ? "bg-error text-on-error hover:bg-error/90" + : void 0, + onClick: s, + children: o, + }), + }), + ], + }), + ], + }), + ], + }), + ], + }); +} +var cI, lTe, Gae, cTe, qae, Zae, Qae, Xae, rH; +var m3t = P(() => { + f3t(); + rn(); + V1(); + twe(); + le(); + ((cI = z(re(), 1)), + (lTe = s3t), + (Gae = cI.forwardRef( + ({ className: e, children: t, asChild: n, ...r }, o) => { + let a = am(n, t); + return h(c3t, { + ref: o, + className: io("", e), + render: a.render, + nativeButton: a.nativeButton, + ...r, + children: a.render ? void 0 : t, + }); + }, + ))); + Gae.displayName = "AlertDialogTrigger"; + ((cTe = YN), + (qae = cI.forwardRef(({ className: e, ...t }, n) => + h(kN, { + ref: n, + className: io( + Ve( + "fixed inset-0 z-50 bg-scrim/38 backdrop-blur-xs transition-opacity duration-200 ease-standard", + "data-[ending-style]:opacity-0 data-[starting-style]:opacity-0", + ), + e, + ), + ...t, + }), + ))); + qae.displayName = "AlertDialogBackdrop"; + Zae = cI.forwardRef(({ className: e, children: t, ...n }, r) => + h(XN, { + ref: r, + className: io( + Ve( + "fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2", + "w-full max-w-[calc(100vw-3rem)] sm:max-w-lg", + "rounded-extra-large bg-surface-container-high p-6 shadow-elevation-3", + "flex flex-col gap-4 text-on-surface outline-none", + "transition-[opacity,transform] duration-200 ease-emphasized", + "data-[ending-style]:scale-90 data-[ending-style]:opacity-0", + "data-[starting-style]:scale-90 data-[starting-style]:opacity-0", + ), + e, + ), + ...n, + children: t, + }), + ); + Zae.displayName = "AlertDialogPopup"; + Qae = cI.forwardRef(({ className: e, ...t }, n) => + h(KN, { + ref: n, + className: io("m-0 text-headline-small font-semibold text-on-surface", e), + ...t, + }), + ); + Qae.displayName = "AlertDialogTitle"; + Xae = cI.forwardRef(({ className: e, ...t }, n) => + h(PN, { + ref: n, + className: io("m-0 text-body-medium text-on-surface-variant", e), + ...t, + }), + ); + Xae.displayName = "AlertDialogDescription"; + rH = cI.forwardRef(({ className: e, children: t, asChild: n, ...r }, o) => { + let a = am(n, t); + return h(RN, { + ref: o, + className: io("", e), + render: a.render, + nativeButton: a.nativeButton, + ...r, + children: a.render ? void 0 : t, + }); + }); + rH.displayName = "AlertDialogClose"; + Ng.Root = lTe; + Ng.Trigger = Gae; + Ng.Portal = cTe; + Ng.Backdrop = qae; + Ng.Popup = Zae; + Ng.Title = Qae; + Ng.Description = Xae; + Ng.Close = rH; +}); +var gn = P(() => { + twe(); + drt(); + hot(); + kot(); + Uat(); + hEe(); + hEe(); + D2t(); + rvt(); + Ivt(); + Pbt(); + _xt(); + Gxt(); + Jxt(); + jxt(); + fAt(); + hAt(); + gAt(); + bAt(); + xAt(); + AAt(); + IAt(); + kAt(); + n0(); + AP(); + i3t(); + m3t(); +}); +var E3t = "./fonts/Album-20.png"; +var C3t = () => {}; +var T3t = "./fonts/Album.png"; +var I3t = () => {}; +var R3t = "./fonts/Album_Light.png"; +var k3t = () => {}; +var M3t = "./fonts/Alias-20.png"; +var P3t = () => {}; +var L3t = "./fonts/Alias.png"; +var D3t = () => {}; +var O3t = "./fonts/Alias_Light.png"; +var B3t = () => {}; +var U3t = "./fonts/AndroidPhotos.png"; +var F3t = () => {}; +var z3t = "./fonts/AppleFiles.png"; +var N3t = () => {}; +var H3t = "./fonts/ApplePhotos.png"; +var _3t = () => {}; +var dTe = "./fonts/Application.png"; +var V3t = () => {}; +var pTe = "./fonts/Application_Light.png"; +var G3t = () => {}; +var Z3t = "./fonts/Archive-20.png"; +var q3t = () => {}; +var X3t = "./fonts/Archive.png"; +var Q3t = () => {}; +var Y3t = "./fonts/Archive_Light.png"; +var W3t = () => {}; +var J3t = "./fonts/Audio-20.png"; +var K3t = () => {}; +var $3t = "./fonts/Audio.png"; +var j3t = () => {}; +var twt = "./fonts/Audio_Light.png"; +var ewt = () => {}; +var rwt = "./fonts/Ball.png"; +var nwt = () => {}; +var awt = "./fonts/Book-20.png"; +var owt = () => {}; +var swt = "./fonts/Book.png"; +var iwt = () => {}; +var cwt = "./fonts/BookBlue.png"; +var lwt = () => {}; +var dwt = "./fonts/Book_Light.png"; +var uwt = () => {}; +var fwt = "./fonts/CloudSync.png"; +var pwt = () => {}; +var hwt = "./fonts/CloudSync_Light.png"; +var mwt = () => {}; +var ywt = "./fonts/Code-20.png"; +var gwt = () => {}; +var bwt = "./fonts/Collection-20.png"; +var vwt = () => {}; +var Awt = "./fonts/Collection.png"; +var xwt = () => {}; +var Swt = "./fonts/CollectionSparkle.png"; +var wwt = () => {}; +var Ewt = "./fonts/CollectionSparkle_Light.png"; +var Cwt = () => {}; +var Twt = "./fonts/Collection_Light.png"; +var Iwt = () => {}; +var Rwt = "./fonts/Compute.png"; +var kwt = () => {}; +var Mwt = "./fonts/Config-20.png"; +var Pwt = () => {}; +var fTe = "./fonts/DAV.png"; +var Dwt = () => {}; +var Bwt = "./fonts/Database-20.png"; +var Lwt = () => {}; +var Fwt = "./fonts/Database_Light.png"; +var Owt = () => {}; +var Nwt = "./fonts/DeleteLocation.png"; +var Uwt = () => {}; +var _wt = "./fonts/Devices.png"; +var zwt = () => {}; +var Vwt = "./fonts/Document-20.png"; +var Hwt = () => {}; +var qwt = "./fonts/Document.png"; +var Gwt = () => {}; +var Qwt = "./fonts/Document_Light.png"; +var Zwt = () => {}; +var Wwt = "./fonts/Document_doc.png"; +var Xwt = () => {}; +var Kwt = "./fonts/Document_doc_Light.png"; +var Ywt = () => {}; +var jwt = "./fonts/Document_memory.png"; +var Jwt = () => {}; +var eSt = "./fonts/Document_pdf.png"; +var $wt = () => {}; +var nSt = "./fonts/Document_pdf_Light.png"; +var tSt = () => {}; +var oSt = "./fonts/Document_srt.png"; +var rSt = () => {}; +var iSt = "./fonts/Document_xls.png"; +var aSt = () => {}; +var lSt = "./fonts/Document_xls_Light.png"; +var sSt = () => {}; +var uSt = "./fonts/Document_xmp.png"; +var cSt = () => {}; +var pSt = "./fonts/Dotfile-20.png"; +var dSt = () => {}; +var mSt = "./fonts/Drive-AmazonS3_Light.png"; +var fSt = () => {}; +var gSt = "./fonts/Drive-BackBlaze_Light.png"; +var hSt = () => {}; +var vSt = "./fonts/Drive-DAV_Light.png"; +var ySt = () => {}; +var xSt = "./fonts/Drive-Darker.png"; +var bSt = () => {}; +var wSt = "./fonts/Drive-Dropbox_Light.png"; +var ASt = () => {}; +var CSt = "./fonts/Drive-GoogleDrive_Light.png"; +var SSt = () => {}; +var ISt = "./fonts/Drive-Mega.png"; +var ESt = () => {}; +var kSt = "./fonts/Drive-Mega_Light.png"; +var TSt = () => {}; +var PSt = "./fonts/Drive-OneDrive_Light.png"; +var RSt = () => {}; +var DSt = "./fonts/Drive-OpenStack.png"; +var MSt = () => {}; +var BSt = "./fonts/Drive-OpenStack_Light.png"; +var LSt = () => {}; +var FSt = "./fonts/Drive-PCloud_Light.png"; +var OSt = () => {}; +var NSt = "./fonts/Drive-box_Light.png"; +var USt = () => {}; +var _St = "./fonts/Drive_Light.png"; +var zSt = () => {}; +var VSt = "./fonts/Encrypted-20.png"; +var HSt = () => {}; +var qSt = "./fonts/Encrypted.png"; +var GSt = () => {}; +var QSt = "./fonts/Encrypted_Light.png"; +var ZSt = () => {}; +var WSt = "./fonts/Entity.png"; +var XSt = () => {}; +var KSt = "./fonts/Entity_Light.png"; +var YSt = () => {}; +var jSt = "./fonts/Executable-20.png"; +var JSt = () => {}; +var e4t = "./fonts/Executable_Light_old.png"; +var $St = () => {}; +var n4t = "./fonts/Executable_old.png"; +var t4t = () => {}; +var o4t = "./fonts/Face_Light.png"; +var r4t = () => {}; +var i4t = "./fonts/Folder-20.png"; +var a4t = () => {}; +var l4t = "./fonts/Folder-tag-xmp.png"; +var s4t = () => {}; +var k3 = "./fonts/Folder.png"; +var mTe = () => {}; +var u4t = "./fonts/FolderGrey.png"; +var c4t = () => {}; +var p4t = "./fonts/FolderGrey_Light.png"; +var d4t = () => {}; +var m4t = "./fonts/FolderNoSpace.png"; +var f4t = () => {}; +var g4t = "./fonts/FolderNoSpace_Light.png"; +var h4t = () => {}; +var Jae = "./fonts/Folder_Light.png"; +var y4t = () => {}; +var b4t = "./fonts/Font-20.png"; +var v4t = () => {}; +var A4t = "./fonts/Game.png"; +var x4t = () => {}; +var S4t = "./fonts/Game_Light.png"; +var w4t = () => {}; +var E4t = "./fonts/Globe.png"; +var C4t = () => {}; +var T4t = "./fonts/GlobeAlt.png"; +var I4t = () => {}; +var R4t = "./fonts/Globe_Light.png"; +var k4t = () => {}; +var M4t = "./fonts/HDD_Light.png"; +var P4t = () => {}; +var L4t = "./fonts/Heart.png"; +var D4t = () => {}; +var O4t = "./fonts/Heart_Light.png"; +var B4t = () => {}; +var U4t = "./fonts/Home.png"; +var F4t = () => {}; +var z4t = "./fonts/Home_Light.png"; +var N4t = () => {}; +var H4t = "./fonts/Image-20.png"; +var _4t = () => {}; +var G4t = "./fonts/Image.png"; +var V4t = () => {}; +var Z4t = "./fonts/Image_Light.png"; +var q4t = () => {}; +var X4t = "./fonts/Indexed.png"; +var Q4t = () => {}; +var Y4t = "./fonts/Key-20.png"; +var W4t = () => {}; +var J4t = "./fonts/Key.png"; +var K4t = () => {}; +var $4t = "./fonts/Key_Light.png"; +var j4t = () => {}; +var t6t = "./fonts/Keys.png"; +var e6t = () => {}; +var r6t = "./fonts/Keys_Light.png"; +var n6t = () => {}; +var a6t = "./fonts/Laptop_Light.png"; +var o6t = () => {}; +var s6t = "./fonts/Link-20.png"; +var i6t = () => {}; +var c6t = "./fonts/Link.png"; +var l6t = () => {}; +var d6t = "./fonts/Link_Light.png"; +var u6t = () => {}; +var V2 = "./fonts/Location.png"; +var hTe = () => {}; +var f6t = "./fonts/LocationManaged.png"; +var p6t = () => {}; +var h6t = "./fonts/LocationReplica.png"; +var m6t = () => {}; +var y6t = "./fonts/Lock.png"; +var g6t = () => {}; +var b6t = "./fonts/Lock_Light.png"; +var v6t = () => {}; +var A6t = "./fonts/Mega.png"; +var x6t = () => {}; +var S6t = "./fonts/Mesh-20.png"; +var w6t = () => {}; +var E6t = "./fonts/Mesh.png"; +var C6t = () => {}; +var T6t = "./fonts/Mesh_Light.png"; +var I6t = () => {}; +var R6t = "./fonts/Mobile_Light.png"; +var k6t = () => {}; +var M6t = "./fonts/MoveLocation.png"; +var P6t = () => {}; +var L6t = "./fonts/MoveLocation_Light.png"; +var D6t = () => {}; +var O6t = "./fonts/Movie.png"; +var B6t = () => {}; +var U6t = "./fonts/Movie_Light.png"; +var F6t = () => {}; +var z6t = "./fonts/NewLocation.png"; +var N6t = () => {}; +var H6t = "./fonts/Node.png"; +var _6t = () => {}; +var G6t = "./fonts/Node_Light.png"; +var V6t = () => {}; +var Z6t = "./fonts/OneDrive.png"; +var q6t = () => {}; +var X6t = "./fonts/OpenStack.png"; +var Q6t = () => {}; +var Y6t = "./fonts/Package-20.png"; +var W6t = () => {}; +var J6t = "./fonts/Package.png"; +var K6t = () => {}; +var $6t = "./fonts/Package_Light.png"; +var j6t = () => {}; +var tCt = "./fonts/SD.png"; +var eCt = () => {}; +var rCt = "./fonts/SD_Light.png"; +var nCt = () => {}; +var aCt = "./fonts/Scrapbook.png"; +var oCt = () => {}; +var sCt = "./fonts/Scrapbook_Light.png"; +var iCt = () => {}; +var cCt = "./fonts/Screenshot-20.png"; +var lCt = () => {}; +var dCt = "./fonts/Screenshot.png"; +var uCt = () => {}; +var fCt = "./fonts/ScreenshotAlt.png"; +var pCt = () => {}; +var hCt = "./fonts/Screenshot_Light.png"; +var mCt = () => {}; +var yCt = "./fonts/Search.png"; +var gCt = () => {}; +var bCt = "./fonts/SearchAlt.png"; +var vCt = () => {}; +var ACt = "./fonts/Search_Light.png"; +var xCt = () => {}; +var SCt = "./fonts/Server_Light.png"; +var wCt = () => {}; +var ECt = "./fonts/Spacedrop-1.png"; +var CCt = () => {}; +var TCt = "./fonts/Spacedrop.png"; +var ICt = () => {}; +var RCt = "./fonts/Spacedrop_Light.png"; +var kCt = () => {}; +var MCt = "./fonts/Storage.png"; +var PCt = () => {}; +var LCt = "./fonts/Sync.png"; +var DCt = () => {}; +var OCt = "./fonts/Sync_Light.png"; +var BCt = () => {}; +var UCt = "./fonts/Tablet_Light.png"; +var FCt = () => {}; +var zCt = "./fonts/Tags.png"; +var NCt = () => {}; +var HCt = "./fonts/Tags_Light.png"; +var _Ct = () => {}; +var GCt = "./fonts/Terminal.png"; +var VCt = () => {}; +var ZCt = "./fonts/Terminal_Light.png"; +var qCt = () => {}; +var XCt = "./fonts/Text-20.png"; +var QCt = () => {}; +var gTe = "./fonts/Text.png"; +var WCt = () => {}; +var KCt = "./fonts/TextAlt_Light.png"; +var YCt = () => {}; +var jCt = "./fonts/Text_Light.png"; +var JCt = () => {}; +var e5t = "./fonts/Text_txt.png"; +var $Ct = () => {}; +var n5t = "./fonts/TexturedMesh.png"; +var t5t = () => {}; +var o5t = "./fonts/TexturedMesh_Light.png"; +var r5t = () => {}; +var i5t = "./fonts/Trash.png"; +var a5t = () => {}; +var l5t = "./fonts/Trash_Light.png"; +var s5t = () => {}; +var u5t = "./fonts/Undefined.png"; +var c5t = () => {}; +var p5t = "./fonts/Undefined_Light.png"; +var d5t = () => {}; +var m5t = "./fonts/Unknown-20.png"; +var f5t = () => {}; +var g5t = "./fonts/Video-20.png"; +var h5t = () => {}; +var v5t = "./fonts/Video.png"; +var y5t = () => {}; +var x5t = "./fonts/Video_Light.png"; +var b5t = () => {}; +var w5t = "./fonts/WebPageArchive-20.png"; +var A5t = () => {}; +var C5t = "./fonts/Widget-20.png"; +var S5t = () => {}; +var I5t = "./fonts/Widget.png"; +var E5t = () => {}; +var k5t = "./fonts/Widget_Light.png"; +var T5t = () => {}; +var jae = {}; +Xs(jae, { + Album: () => T3t, + Album20: () => E3t, + Album_Light: () => R3t, + Alias: () => L3t, + Alias20: () => M3t, + Alias_Light: () => O3t, + AmazonS3: () => y2, + AndroidPhotos: () => U3t, + AppleFiles: () => z3t, + ApplePhotos: () => H3t, + Application: () => dTe, + Application_Light: () => pTe, + Archive: () => X3t, + Archive20: () => Z3t, + Archive_Light: () => Y3t, + Audio: () => $3t, + Audio20: () => J3t, + Audio_Light: () => twt, + BackBlaze: () => HU, + Ball: () => rwt, + Book: () => swt, + Book20: () => awt, + BookBlue: () => cwt, + Book_Light: () => dwt, + Box: () => GU, + CloudSync: () => fwt, + CloudSync_Light: () => hwt, + Code20: () => ywt, + Collection: () => Awt, + Collection20: () => bwt, + CollectionSparkle: () => Swt, + CollectionSparkle_Light: () => Ewt, + Collection_Light: () => Twt, + Compute: () => Rwt, + Config20: () => Mwt, + DAV: () => fTe, + Database: () => i$, + Database20: () => Bwt, + Database_Light: () => Fwt, + DeleteLocation: () => Nwt, + Devices: () => _wt, + Document: () => qwt, + Document20: () => Vwt, + Document_Light: () => Qwt, + Document_doc: () => Wwt, + Document_doc_Light: () => Kwt, + Document_memory: () => jwt, + Document_pdf: () => eSt, + Document_pdf_Light: () => nSt, + Document_srt: () => oSt, + Document_xls: () => iSt, + Document_xls_Light: () => lSt, + Document_xmp: () => uSt, + Dotfile20: () => pSt, + Drive: () => N8, + DriveAmazonS3: () => WVn, + DriveAmazonS3_Light: () => mSt, + DriveBackBlaze: () => YVn, + DriveBackBlaze_Light: () => gSt, + DriveBox: () => KVn, + DriveDAV: () => JVn, + DriveDAV_Light: () => vSt, + DriveDarker: () => xSt, + DriveDropbox: () => jVn, + DriveDropbox_Light: () => wSt, + DriveGoogleDrive: () => $Vn, + DriveGoogleDrive_Light: () => CSt, + DriveMega: () => ISt, + DriveMega_Light: () => kSt, + DriveOneDrive: () => r$, + DriveOneDrive_Light: () => PSt, + DriveOpenStack: () => DSt, + DriveOpenStack_Light: () => BSt, + DrivePCloud: () => eGn, + DrivePCloud_Light: () => FSt, + Drive_Light: () => _St, + Drivebox_Light: () => NSt, + Dropbox: () => _U, + Encrypted: () => qSt, + Encrypted20: () => VSt, + Encrypted_Light: () => QSt, + Entity: () => WSt, + Entity_Light: () => KSt, + Executable: () => tGn, + Executable20: () => jSt, + Executable_Light: () => nGn, + Executable_Light_old: () => e4t, + Executable_old: () => n4t, + Face_Light: () => o4t, + Folder: () => k3, + Folder20: () => i4t, + FolderGrey: () => u4t, + FolderGrey_Light: () => p4t, + FolderNoSpace: () => m4t, + FolderNoSpace_Light: () => g4t, + Folder_Light: () => Jae, + Foldertagxmp: () => l4t, + Font20: () => b4t, + Game: () => A4t, + Game_Light: () => S4t, + Globe: () => E4t, + GlobeAlt: () => T4t, + Globe_Light: () => R4t, + GoogleDrive: () => lP, + HDD: () => U8, + HDD_Light: () => M4t, + Heart: () => L4t, + Heart_Light: () => O4t, + Home: () => U4t, + Home_Light: () => z4t, + Image: () => G4t, + Image20: () => H4t, + Image_Light: () => Z4t, + Indexed: () => X4t, + Key: () => J4t, + Key20: () => Y4t, + Key_Light: () => $4t, + Keys: () => t6t, + Keys_Light: () => r6t, + Laptop: () => h2, + Laptop_Light: () => a6t, + Link: () => c6t, + Link20: () => s6t, + Link_Light: () => d6t, + Location: () => V2, + LocationManaged: () => f6t, + LocationReplica: () => h6t, + Lock: () => y6t, + Lock_Light: () => b6t, + Mega: () => A6t, + Mesh: () => E6t, + Mesh20: () => S6t, + Mesh_Light: () => T6t, + MiniSilverBox: () => e$, + Mobile: () => jj, + MobileAndroid: () => NU, + Mobile_Light: () => R6t, + MoveLocation: () => M6t, + MoveLocation_Light: () => L6t, + Movie: () => O6t, + Movie_Light: () => U6t, + NewLocation: () => z6t, + Node: () => H6t, + Node_Light: () => G6t, + OneDrive: () => Z6t, + OpenStack: () => X6t, + PC: () => iP, + PCloud: () => VU, + Package: () => J6t, + Package20: () => Y6t, + Package_Light: () => $6t, + SD: () => tCt, + SD_Light: () => rCt, + Scrapbook: () => aCt, + Scrapbook_Light: () => sCt, + Screenshot: () => dCt, + Screenshot20: () => cCt, + ScreenshotAlt: () => fCt, + Screenshot_Light: () => hCt, + Search: () => yCt, + SearchAlt: () => bCt, + Search_Light: () => ACt, + Server: () => sP, + Server_Light: () => SCt, + SilverBox: () => $j, + Spacedrop: () => TCt, + Spacedrop1: () => ECt, + Spacedrop_Light: () => RCt, + Storage: () => MCt, + Sync: () => LCt, + Sync_Light: () => OCt, + Tablet: () => zU, + Tablet_Light: () => UCt, + Tags: () => zCt, + Tags_Light: () => HCt, + Terminal: () => GCt, + Terminal_Light: () => ZCt, + Text: () => gTe, + Text20: () => XCt, + TextAlt: () => rGn, + TextAlt_Light: () => KCt, + Text_Light: () => jCt, + Text_txt: () => e5t, + TexturedMesh: () => n5t, + TexturedMesh_Light: () => o5t, + Trash: () => i5t, + Trash_Light: () => l5t, + Undefined: () => u5t, + Undefined_Light: () => p5t, + Unknown20: () => m5t, + Video: () => v5t, + Video20: () => g5t, + Video_Light: () => x5t, + WebPageArchive20: () => w5t, + Widget: () => I5t, + Widget20: () => C5t, + Widget_Light: () => k5t, +}); +var WVn, YVn, KVn, JVn, jVn, $Vn, eGn, tGn, nGn, rGn; +var aH = P(() => { + C3t(); + I3t(); + k3t(); + P3t(); + D3t(); + B3t(); + n$(); + F3t(); + N3t(); + _3t(); + V3t(); + G3t(); + q3t(); + Q3t(); + W3t(); + K3t(); + j3t(); + ewt(); + c3e(); + nwt(); + owt(); + iwt(); + lwt(); + uwt(); + d3e(); + pwt(); + mwt(); + gwt(); + vwt(); + xwt(); + wwt(); + Cwt(); + Iwt(); + kwt(); + Pwt(); + Dwt(); + Lwt(); + p3e(); + Owt(); + Uwt(); + zwt(); + Hwt(); + Gwt(); + Zwt(); + Xwt(); + Ywt(); + Jwt(); + $wt(); + tSt(); + rSt(); + aSt(); + sSt(); + cSt(); + dSt(); + fSt(); + hSt(); + ySt(); + bSt(); + ASt(); + SSt(); + ESt(); + TSt(); + l3e(); + RSt(); + MSt(); + LSt(); + OSt(); + USt(); + a$(); + zSt(); + s3e(); + HSt(); + GSt(); + ZSt(); + XSt(); + YSt(); + JSt(); + $St(); + t4t(); + r4t(); + a4t(); + s4t(); + mTe(); + c4t(); + d4t(); + f4t(); + h4t(); + y4t(); + v4t(); + x4t(); + w4t(); + C4t(); + I4t(); + k4t(); + i3e(); + o$(); + P4t(); + D4t(); + B4t(); + F4t(); + N4t(); + _4t(); + V4t(); + q4t(); + Q4t(); + W4t(); + K4t(); + j4t(); + e6t(); + n6t(); + UU(); + o6t(); + i6t(); + l6t(); + u6t(); + hTe(); + p6t(); + m6t(); + g6t(); + v6t(); + x6t(); + w6t(); + C6t(); + I6t(); + o3e(); + t3e(); + e3e(); + k6t(); + P6t(); + D6t(); + B6t(); + F6t(); + N6t(); + _6t(); + V6t(); + q6t(); + Q6t(); + a3e(); + u3e(); + W6t(); + K6t(); + j6t(); + eCt(); + nCt(); + oCt(); + iCt(); + lCt(); + uCt(); + pCt(); + mCt(); + gCt(); + vCt(); + xCt(); + t$(); + wCt(); + r3e(); + CCt(); + ICt(); + kCt(); + PCt(); + DCt(); + BCt(); + n3e(); + FCt(); + NCt(); + _Ct(); + VCt(); + qCt(); + QCt(); + WCt(); + YCt(); + JCt(); + $Ct(); + t5t(); + r5t(); + a5t(); + s5t(); + c5t(); + d5t(); + f5t(); + h5t(); + y5t(); + b5t(); + A5t(); + S5t(); + E5t(); + T5t(); + ((WVn = y2), + (YVn = HU), + (KVn = GU), + (JVn = fTe), + (jVn = _U), + ($Vn = lP), + (eGn = VU), + (tGn = dTe), + (nGn = pTe), + (rGn = gTe)); +}); +var P5t; +var R5t = P(() => { + P5t = { + hidesExplorerArrows: !0, + iconDefinitions: { + _file: { iconPath: "./icons/file.svg" }, + _folder: { iconPath: "./icons/folder.svg" }, + _folder_open: { iconPath: "./icons/folder_open.svg" }, + _root_folder: { iconPath: "./icons/root_folder.svg" }, + _root_folder_open: { iconPath: "./icons/root_folder_open.svg" }, + _root_folder_light: { iconPath: "./icons/root_folder_light.svg" }, + _root_folder_light_open: { + iconPath: "./icons/root_folder_light_open.svg", + }, + ace: { iconPath: "./icons/ace.svg" }, + acemanifest: { iconPath: "./icons/acemanifest.svg" }, + adoc: { iconPath: "./icons/adoc.svg" }, + adonis: { iconPath: "./icons/adonis.svg" }, + adonisconfig: { iconPath: "./icons/adonisconfig.svg" }, + afdesign: { iconPath: "./icons/afdesign.svg" }, + afphoto: { iconPath: "./icons/afphoto.svg" }, + afpub: { iconPath: "./icons/afpub.svg" }, + ai: { iconPath: "./icons/ai.svg" }, + air: { iconPath: "./icons/air.svg" }, + angular: { iconPath: "./icons/angular.svg" }, + anim: { iconPath: "./icons/anim.svg" }, + astro: { iconPath: "./icons/astro.svg" }, + astroconfig: { iconPath: "./icons/astroconfig.svg" }, + atomizer: { iconPath: "./icons/atomizer.svg" }, + audio: { iconPath: "./icons/audio.svg" }, + audiomp3: { iconPath: "./icons/audiomp3.svg" }, + audioogg: { iconPath: "./icons/audioogg.svg" }, + audiowav: { iconPath: "./icons/audiowav.svg" }, + audiowv: { iconPath: "./icons/audiowv.svg" }, + azure: { iconPath: "./icons/azure.svg" }, + babel: { iconPath: "./icons/babel.svg" }, + ballerina: { iconPath: "./icons/ballerina.svg" }, + ballerinaconfig: { iconPath: "./icons/ballerinaconfig.svg" }, + bat: { iconPath: "./icons/bat.svg" }, + bazel: { iconPath: "./icons/bazel.svg" }, + bazelignore: { iconPath: "./icons/bazelignore.svg" }, + bicep: { iconPath: "./icons/bicep.svg" }, + bicepconfig: { iconPath: "./icons/bicepconfig.svg" }, + bicepparam: { iconPath: "./icons/bicepparam.svg" }, + binary: { iconPath: "./icons/binary.svg" }, + biome: { iconPath: "./icons/biome.svg" }, + blade: { iconPath: "./icons/blade.svg" }, + brotli: { iconPath: "./icons/brotli.svg" }, + browserslist: { iconPath: "./icons/browserslist.svg" }, + bruno: { iconPath: "./icons/bruno.svg" }, + bsconfig: { iconPath: "./icons/bsconfig.svg" }, + buck: { iconPath: "./icons/buck.svg" }, + bun: { iconPath: "./icons/bun.svg" }, + bundler: { iconPath: "./icons/bundler.svg" }, + bunlock: { iconPath: "./icons/bunlock.svg" }, + c: { iconPath: "./icons/c.svg" }, + cargo: { iconPath: "./icons/cargo.svg" }, + cargolock: { iconPath: "./icons/cargolock.svg" }, + cert: { iconPath: "./icons/cert.svg" }, + cheader: { iconPath: "./icons/cheader.svg" }, + civet: { iconPath: "./icons/civet.svg" }, + claude: { iconPath: "./icons/claude.svg" }, + cli: { iconPath: "./icons/cli.svg" }, + clojure: { iconPath: "./icons/clojure.svg" }, + cmake: { iconPath: "./icons/cmake.svg" }, + codeworkspace: { iconPath: "./icons/codeworkspace.svg" }, + coffeescript: { iconPath: "./icons/coffeescript.svg" }, + commitlint: { iconPath: "./icons/commitlint.svg" }, + compodoc: { iconPath: "./icons/compodoc.svg" }, + composer: { iconPath: "./icons/composer.svg" }, + composerlock: { iconPath: "./icons/composerlock.svg" }, + conan: { iconPath: "./icons/conan.svg" }, + conf: { iconPath: "./icons/conf.svg" }, + copilot: { iconPath: "./icons/copilot.svg" }, + cpp: { iconPath: "./icons/cpp.svg" }, + crystal: { iconPath: "./icons/crystal.svg" }, + csharp: { iconPath: "./icons/csharp.svg" }, + cshtml: { iconPath: "./icons/cshtml.svg" }, + csproj: { iconPath: "./icons/csproj.svg" }, + css: { iconPath: "./icons/css.svg" }, + cssmap: { iconPath: "./icons/cssmap.svg" }, + csv: { iconPath: "./icons/csv.svg" }, + cucumber: { iconPath: "./icons/cucumber.svg" }, + cursor: { iconPath: "./icons/cursor.svg" }, + cypress: { iconPath: "./icons/cypress.svg" }, + cypressjs: { iconPath: "./icons/cypressjs.svg" }, + cypressts: { iconPath: "./icons/cypressts.svg" }, + d: { iconPath: "./icons/d.svg" }, + dartlang: { iconPath: "./icons/dartlang.svg" }, + delphiproject: { iconPath: "./icons/delphiproject.svg" }, + diff: { iconPath: "./icons/diff.svg" }, + docker: { iconPath: "./icons/docker.svg" }, + dockerdebug: { iconPath: "./icons/dockerdebug.svg" }, + dockerignore: { iconPath: "./icons/dockerignore.svg" }, + drawio: { iconPath: "./icons/drawio.svg" }, + drizzle: { iconPath: "./icons/drizzle.svg" }, + dsstore: { iconPath: "./icons/dsstore.svg" }, + dune: { iconPath: "./icons/dune.svg" }, + duneproject: { iconPath: "./icons/duneproject.svg" }, + edge: { iconPath: "./icons/edge.svg" }, + editorconfig: { iconPath: "./icons/editorconfig.svg" }, + eex: { iconPath: "./icons/eex.svg" }, + elixir: { iconPath: "./icons/elixir.svg" }, + elm: { iconPath: "./icons/elm.svg" }, + env: { iconPath: "./icons/env.svg" }, + eraser: { iconPath: "./icons/eraser.svg" }, + erb: { iconPath: "./icons/erb.svg" }, + erlang: { iconPath: "./icons/erlang.svg" }, + esbuild: { iconPath: "./icons/esbuild.svg" }, + eslint: { iconPath: "./icons/eslint.svg" }, + eslintignore: { iconPath: "./icons/eslintignore.svg" }, + excalidraw: { iconPath: "./icons/excalidraw.svg" }, + exs: { iconPath: "./icons/exs.svg" }, + exx: { iconPath: "./icons/exx.svg" }, + farm: { iconPath: "./icons/farm.svg" }, + figma: { iconPath: "./icons/figma.svg" }, + file: { iconPath: "./icons/file.svg" }, + file_light: { iconPath: "./icons/file_light.svg" }, + flakelock: { iconPath: "./icons/flakelock.svg" }, + flutter: { iconPath: "./icons/flutter.svg" }, + flutterlock: { iconPath: "./icons/flutterlock.svg" }, + flutterpackage: { iconPath: "./icons/flutterpackage.svg" }, + folder: { iconPath: "./icons/folder.svg" }, + folder_open: { iconPath: "./icons/folder_open.svg" }, + fonteot: { iconPath: "./icons/fonteot.svg" }, + fontotf: { iconPath: "./icons/fontotf.svg" }, + fontttf: { iconPath: "./icons/fontttf.svg" }, + fontwoff: { iconPath: "./icons/fontwoff.svg" }, + fontwoff2: { iconPath: "./icons/fontwoff2.svg" }, + freemarker: { iconPath: "./icons/freemarker.svg" }, + fsharp: { iconPath: "./icons/fsharp.svg" }, + gbl: { iconPath: "./icons/gbl.svg" }, + git: { iconPath: "./icons/git.svg" }, + gitlab: { iconPath: "./icons/gitlab.svg" }, + gleam: { iconPath: "./icons/gleam.svg" }, + gleamconfig: { iconPath: "./icons/gleamconfig.svg" }, + go: { iconPath: "./icons/go.svg" }, + godot: { iconPath: "./icons/godot.svg" }, + go_package: { iconPath: "./icons/go_package.svg" }, + gradle: { iconPath: "./icons/gradle.svg" }, + gradlebat: { iconPath: "./icons/gradlebat.svg" }, + gradlekotlin: { iconPath: "./icons/gradlekotlin.svg" }, + grain: { iconPath: "./icons/grain.svg" }, + graphql: { iconPath: "./icons/graphql.svg" }, + groovy: { iconPath: "./icons/groovy.svg" }, + grunt: { iconPath: "./icons/grunt.svg" }, + gulp: { iconPath: "./icons/gulp.svg" }, + h: { iconPath: "./icons/h.svg" }, + haml: { iconPath: "./icons/haml.svg" }, + handlebars: { iconPath: "./icons/handlebars.svg" }, + hardhat: { iconPath: "./icons/hardhat.svg" }, + hash: { iconPath: "./icons/hash.svg" }, + hashicorp: { iconPath: "./icons/hashicorp.svg" }, + haskell: { iconPath: "./icons/haskell.svg" }, + haxe: { iconPath: "./icons/haxe.svg" }, + haxeml: { iconPath: "./icons/haxeml.svg" }, + hpp: { iconPath: "./icons/hpp.svg" }, + htaccess: { iconPath: "./icons/htaccess.svg" }, + html: { iconPath: "./icons/html.svg" }, + http: { iconPath: "./icons/http.svg" }, + identifier: { iconPath: "./icons/identifier.svg" }, + image: { iconPath: "./icons/image.svg" }, + imagegif: { iconPath: "./icons/imagegif.svg" }, + imageico: { iconPath: "./icons/imageico.svg" }, + imagejpg: { iconPath: "./icons/imagejpg.svg" }, + imagepng: { iconPath: "./icons/imagepng.svg" }, + imagewebp: { iconPath: "./icons/imagewebp.svg" }, + imba: { iconPath: "./icons/imba.svg" }, + info: { iconPath: "./icons/info.svg" }, + instructions: { iconPath: "./icons/instructions.svg" }, + ipynb: { iconPath: "./icons/ipynb.svg" }, + jar: { iconPath: "./icons/jar.svg" }, + java: { iconPath: "./icons/java.svg" }, + jenkins: { iconPath: "./icons/jenkins.svg" }, + jest: { iconPath: "./icons/jest.svg" }, + jinja: { iconPath: "./icons/jinja.svg" }, + js: { iconPath: "./icons/js.svg" }, + jsmap: { iconPath: "./icons/jsmap.svg" }, + json: { iconPath: "./icons/json.svg" }, + jsp: { iconPath: "./icons/jsp.svg" }, + julia: { iconPath: "./icons/julia.svg" }, + karma: { iconPath: "./icons/karma.svg" }, + keep: { iconPath: "./icons/keep.svg" }, + key: { iconPath: "./icons/key.svg" }, + knex: { iconPath: "./icons/knex.svg" }, + knip: { iconPath: "./icons/knip.svg" }, + kotlin: { iconPath: "./icons/kotlin.svg" }, + kotlins: { iconPath: "./icons/kotlins.svg" }, + krita: { iconPath: "./icons/krita.svg" }, + latex: { iconPath: "./icons/latex.svg" }, + launch: { iconPath: "./icons/launch.svg" }, + lazarusproject: { iconPath: "./icons/lazarusproject.svg" }, + less: { iconPath: "./icons/less.svg" }, + license: { iconPath: "./icons/license.svg" }, + light_editorconfig: { iconPath: "./icons/light_editorconfig.svg" }, + liquid: { iconPath: "./icons/liquid.svg" }, + llvm: { iconPath: "./icons/llvm.svg" }, + lock: { iconPath: "./icons/lock.svg" }, + log: { iconPath: "./icons/log.svg" }, + lua: { iconPath: "./icons/lua.svg" }, + m: { iconPath: "./icons/m.svg" }, + makefile: { iconPath: "./icons/makefile.svg" }, + manifest: { iconPath: "./icons/manifest.svg" }, + markdown: { iconPath: "./icons/markdown.svg" }, + markdownx: { iconPath: "./icons/markdownx.svg" }, + maven: { iconPath: "./icons/maven.svg" }, + mermaid: { iconPath: "./icons/mermaid.svg" }, + mesh: { iconPath: "./icons/mesh.svg" }, + mgcb: { iconPath: "./icons/mgcb.svg" }, + mint: { iconPath: "./icons/mint.svg" }, + mix: { iconPath: "./icons/mix.svg" }, + mixlock: { iconPath: "./icons/mixlock.svg" }, + mjml: { iconPath: "./icons/mjml.svg" }, + mkdocs: { iconPath: "./icons/mkdocs.svg" }, + mockoon: { iconPath: "./icons/mockoon.svg" }, + motoko: { iconPath: "./icons/motoko.svg" }, + mov: { iconPath: "./icons/mov.svg" }, + mp4: { iconPath: "./icons/mp4.svg" }, + mtl: { iconPath: "./icons/mtl.svg" }, + mustache: { iconPath: "./icons/mustache.svg" }, + nelua: { iconPath: "./icons/nelua.svg" }, + neon: { iconPath: "./icons/neon.svg" }, + nestjs: { iconPath: "./icons/nestjs.svg" }, + nestjscontroller: { iconPath: "./icons/nestjscontroller.svg" }, + nestjsdecorator: { iconPath: "./icons/nestjsdecorator.svg" }, + nestjsdto: { iconPath: "./icons/nestjsdto.svg" }, + nestjsentity: { iconPath: "./icons/nestjsentity.svg" }, + nestjsfilter: { iconPath: "./icons/nestjsfilter.svg" }, + nestjsguard: { iconPath: "./icons/nestjsguard.svg" }, + nestjsinterceptor: { iconPath: "./icons/nestjsinterceptor.svg" }, + nestjsmodule: { iconPath: "./icons/nestjsmodule.svg" }, + nestjsrepository: { iconPath: "./icons/nestjsrepository.svg" }, + nestjsresolver: { iconPath: "./icons/nestjsresolver.svg" }, + nestjsservice: { iconPath: "./icons/nestjsservice.svg" }, + nestscheduler: { iconPath: "./icons/nestscheduler.svg" }, + netlify: { iconPath: "./icons/netlify.svg" }, + nextconfig: { iconPath: "./icons/nextconfig.svg" }, + nextron: { iconPath: "./icons/nextron.svg" }, + nginx: { iconPath: "./icons/nginx.svg" }, + nim: { iconPath: "./icons/nim.svg" }, + nix: { iconPath: "./icons/nix.svg" }, + njk: { iconPath: "./icons/njk.svg" }, + node: { iconPath: "./icons/node.svg" }, + nodemon: { iconPath: "./icons/nodemon.svg" }, + npm: { iconPath: "./icons/npm.svg" }, + npmlock: { iconPath: "./icons/npmlock.svg" }, + nuxt: { iconPath: "./icons/nuxt.svg" }, + nvidia: { iconPath: "./icons/nvidia.svg" }, + nvim: { iconPath: "./icons/nvim.svg" }, + nvm: { iconPath: "./icons/nvm.svg" }, + nx: { iconPath: "./icons/nx.svg" }, + obj: { iconPath: "./icons/obj.svg" }, + ocaml: { iconPath: "./icons/ocaml.svg" }, + ocamli: { iconPath: "./icons/ocamli.svg" }, + ocamll: { iconPath: "./icons/ocamll.svg" }, + ocamly: { iconPath: "./icons/ocamly.svg" }, + odin: { iconPath: "./icons/odin.svg" }, + opengl: { iconPath: "./icons/opengl.svg" }, + oxlint: { iconPath: "./icons/oxlint.svg" }, + panda: { iconPath: "./icons/panda.svg" }, + parcel: { iconPath: "./icons/parcel.svg" }, + pascal: { iconPath: "./icons/pascal.svg" }, + pdf: { iconPath: "./icons/pdf.svg" }, + perl: { iconPath: "./icons/perl.svg" }, + perlm: { iconPath: "./icons/perlm.svg" }, + pfx: { iconPath: "./icons/pfx.svg" }, + photoshop: { iconPath: "./icons/photoshop.svg" }, + php: { iconPath: "./icons/php.svg" }, + plantuml: { iconPath: "./icons/plantuml.svg" }, + playright: { iconPath: "./icons/playright.svg" }, + plop: { iconPath: "./icons/plop.svg" }, + pnpm: { iconPath: "./icons/pnpm.svg" }, + pnpmlock: { iconPath: "./icons/pnpmlock.svg" }, + poetry: { iconPath: "./icons/poetry.svg" }, + poetrylock: { iconPath: "./icons/poetrylock.svg" }, + postcssconfig: { iconPath: "./icons/postcssconfig.svg" }, + powershell: { iconPath: "./icons/powershell.svg" }, + powershelldata: { iconPath: "./icons/powershelldata.svg" }, + powershellmodule: { iconPath: "./icons/powershellmodule.svg" }, + precommit: { iconPath: "./icons/precommit.svg" }, + prettier: { iconPath: "./icons/prettier.svg" }, + prettierignore: { iconPath: "./icons/prettierignore.svg" }, + prisma: { iconPath: "./icons/prisma.svg" }, + prolog: { iconPath: "./icons/prolog.svg" }, + prompt: { iconPath: "./icons/prompt.svg" }, + properties: { iconPath: "./icons/properties.svg" }, + proto: { iconPath: "./icons/proto.svg" }, + pug: { iconPath: "./icons/pug.svg" }, + pvk: { iconPath: "./icons/pvk.svg" }, + pyproject: { iconPath: "./icons/pyproject.svg" }, + python: { iconPath: "./icons/python.svg" }, + qt: { iconPath: "./icons/qt.svg" }, + quarkus: { iconPath: "./icons/quarkus.svg" }, + quasar: { iconPath: "./icons/quasar.svg" }, + r: { iconPath: "./icons/r.svg" }, + racket: { iconPath: "./icons/racket.svg" }, + raku: { iconPath: "./icons/raku.svg" }, + razor: { iconPath: "./icons/razor.svg" }, + reactjs: { iconPath: "./icons/reactjs.svg" }, + reactts: { iconPath: "./icons/reactts.svg" }, + readme: { iconPath: "./icons/readme.svg" }, + redis: { iconPath: "./icons/redis.svg" }, + rego: { iconPath: "./icons/rego.svg" }, + remix: { iconPath: "./icons/remix.svg" }, + rescript: { iconPath: "./icons/rescript.svg" }, + rescriptinterface: { iconPath: "./icons/rescriptinterface.svg" }, + restructuredtext: { iconPath: "./icons/restructuredtext.svg" }, + rjson: { iconPath: "./icons/rjson.svg" }, + robots: { iconPath: "./icons/robots.svg" }, + rollup: { iconPath: "./icons/rollup.svg" }, + rome: { iconPath: "./icons/rome.svg" }, + ron: { iconPath: "./icons/ron.svg" }, + root_folder: { iconPath: "./icons/root_folder.svg" }, + root_folder_light: { iconPath: "./icons/root_folder_light.svg" }, + root_folder_light_open: { + iconPath: "./icons/root_folder_light_open.svg", + }, + root_folder_open: { iconPath: "./icons/root_folder_open.svg" }, + ruby: { iconPath: "./icons/ruby.svg" }, + rust: { iconPath: "./icons/rust.svg" }, + rustfmt: { iconPath: "./icons/rustfmt.svg" }, + sails: { iconPath: "./icons/sails.svg" }, + salesforce: { iconPath: "./icons/salesforce.svg" }, + sass: { iconPath: "./icons/sass.svg" }, + scala: { iconPath: "./icons/scala.svg" }, + scss: { iconPath: "./icons/scss.svg" }, + sentinel: { iconPath: "./icons/sentinel.svg" }, + sequelize: { iconPath: "./icons/sequelize.svg" }, + shaderlab: { iconPath: "./icons/shaderlab.svg" }, + shell: { iconPath: "./icons/shell.svg" }, + silq: { iconPath: "./icons/silq.svg" }, + slim: { iconPath: "./icons/slim.svg" }, + sln: { iconPath: "./icons/sln.svg" }, + smarty: { iconPath: "./icons/smarty.svg" }, + sol: { iconPath: "./icons/sol.svg" }, + spc: { iconPath: "./icons/spc.svg" }, + sql: { iconPath: "./icons/sql.svg" }, + sqlite: { iconPath: "./icons/sqlite.svg" }, + storybook: { iconPath: "./icons/storybook.svg" }, + stylelint: { iconPath: "./icons/stylelint.svg" }, + stylelintignore: { iconPath: "./icons/stylelintignore.svg" }, + stylus: { iconPath: "./icons/stylus.svg" }, + suo: { iconPath: "./icons/suo.svg" }, + svelte: { iconPath: "./icons/svelte.svg" }, + svelteconfig: { iconPath: "./icons/svelteconfig.svg" }, + svg: { iconPath: "./icons/svg.svg" }, + swift: { iconPath: "./icons/swift.svg" }, + symfony: { iconPath: "./icons/symfony.svg" }, + tailwind: { iconPath: "./icons/tailwind.svg" }, + tauri: { iconPath: "./icons/tauri.svg" }, + taze: { iconPath: "./icons/taze.svg" }, + terrafile: { iconPath: "./icons/terrafile.svg" }, + terraform: { iconPath: "./icons/terraform.svg" }, + terraformvars: { iconPath: "./icons/terraformvars.svg" }, + terraformversion: { iconPath: "./icons/terraformversion.svg" }, + testjs: { iconPath: "./icons/testjs.svg" }, + testts: { iconPath: "./icons/testts.svg" }, + tmpl: { iconPath: "./icons/tmpl.svg" }, + todo: { iconPath: "./icons/todo.svg" }, + toml: { iconPath: "./icons/toml.svg" }, + toolversions: { iconPath: "./icons/toolversions.svg" }, + tox: { iconPath: "./icons/tox.svg" }, + travis: { iconPath: "./icons/travis.svg" }, + tres: { iconPath: "./icons/tres.svg" }, + tscn: { iconPath: "./icons/tscn.svg" }, + tsconfig: { iconPath: "./icons/tsconfig.svg" }, + tsx: { iconPath: "./icons/tsx.svg" }, + turbo: { iconPath: "./icons/turbo.svg" }, + twig: { iconPath: "./icons/twig.svg" }, + txt: { iconPath: "./icons/txt.svg" }, + typescript: { iconPath: "./icons/typescript.svg" }, + typescriptdef: { iconPath: "./icons/typescriptdef.svg" }, + ui: { iconPath: "./icons/ui.svg" }, + unocss: { iconPath: "./icons/unocss.svg" }, + user: { iconPath: "./icons/user.svg" }, + v: { iconPath: "./icons/v.svg" }, + vanillaextract: { iconPath: "./icons/vanillaextract.svg" }, + vb: { iconPath: "./icons/vb.svg" }, + vercel: { iconPath: "./icons/vercel.svg" }, + version: { iconPath: "./icons/version.svg" }, + vhd: { iconPath: "./icons/vhd.svg" }, + vhdl: { iconPath: "./icons/vhdl.svg" }, + video: { iconPath: "./icons/video.svg" }, + vite: { iconPath: "./icons/vite.svg" }, + viteenv: { iconPath: "./icons/viteenv.svg" }, + vitest: { iconPath: "./icons/vitest.svg" }, + vmod: { iconPath: "./icons/vmod.svg" }, + vscode: { iconPath: "./icons/vscode.svg" }, + vue: { iconPath: "./icons/vue.svg" }, + vueconfig: { iconPath: "./icons/vueconfig.svg" }, + wasm: { iconPath: "./icons/wasm.svg" }, + webpack: { iconPath: "./icons/webpack.svg" }, + wgsl: { iconPath: "./icons/wgsl.svg" }, + windi: { iconPath: "./icons/windi.svg" }, + wren: { iconPath: "./icons/wren.svg" }, + xmake: { iconPath: "./icons/xmake.svg" }, + xml: { iconPath: "./icons/xml.svg" }, + yaml: { iconPath: "./icons/yaml.svg" }, + yang: { iconPath: "./icons/yang.svg" }, + yarn: { iconPath: "./icons/yarn.svg" }, + yarnerror: { iconPath: "./icons/yarnerror.svg" }, + yarnignore: { iconPath: "./icons/yarnignore.svg" }, + yarnlock: { iconPath: "./icons/yarnlock.svg" }, + yin: { iconPath: "./icons/yin.svg" }, + zig: { iconPath: "./icons/zig.svg" }, + zip: { iconPath: "./icons/zip.svg" }, + }, + file: "_file", + folder: "_folder", + folderExpanded: "_folder_open", + rootFolder: "_root_folder", + rootFolderExpanded: "_root_folder_open", + fileExtensions: { + wma: "audio", + wav: "audiowav", + vox: "audio", + tta: "audio", + raw: "audio", + ra: "audio", + opus: "audio", + ogg: "audioogg", + oga: "audio", + msv: "audio", + mpc: "audio", + mp3: "audiomp3", + mogg: "audio", + mmf: "audio", + m4p: "audio", + m4b: "audio", + m4a: "audio", + ivs: "audio", + iklax: "audio", + gsm: "audio", + flac: "audio", + dvf: "audio", + dss: "audio", + dct: "audio", + au: "audio", + ape: "audio", + amr: "audio", + aiff: "audio", + act: "audio", + aac: "audio", + wmv: "video", + webm: "video", + vob: "video", + svi: "video", + rmvb: "video", + rm: "video", + ogv: "video", + nsv: "video", + mpv: "video", + mpg: "video", + mpeg2: "video", + mpeg: "video", + mpe: "video", + mp4: "mp4", + mp2: "video", + mov: "mov", + mk3d: "video", + mkv: "video", + m4v: "video", + m2v: "video", + flv: "video", + f4v: "video", + f4p: "video", + f4b: "video", + f4a: "video", + qt: "video", + divx: "video", + avi: "video", + amv: "video", + asf: "video", + "3gp": "video", + "3g2": "video", + ico: "imageico", + tiff: "image", + bmp: "image", + png: "imagepng", + gif: "imagegif", + jpg: "imagejpg", + jpeg: "imagejpg", + "7z": "zip", + "7zip": "zip", + "blade.php": "blade", + "cfg.dist": "conf", + "cjs.map": "jsmap", + "controller.js": "nestjscontroller", + "controller.ts": "nestjscontroller", + "repository.js": "nestjsrepository", + "repository.ts": "nestjsrepository", + "scheduler.js": "nestscheduler", + "scheduler.ts": "nestscheduler", + "css.js": "vanillaextract", + "css.ts": "vanillaextract", + "css.map": "cssmap", + "d.ts": "typescriptdef", + "decorator.js": "nestjsdecorator", + "decorator.ts": "nestjsdecorator", + "drawio.png": "drawio", + "drawio.svg": "drawio", + "e2e-spec.ts": "testts", + "e2e-spec.tsx": "testts", + "e2e-test.ts": "testts", + "e2e-test.tsx": "testts", + "filter.js": "nestjsfilter", + "filter.ts": "nestjsfilter", + "format.ps1xml": "powershell_format", + "gemfile.lock": "bundler", + "gradle.kts": "gradlekotlin", + "guard.js": "nestjsguard", + "guard.ts": "nestjsguard", + "jar.old": "jar", + "js.flow": "flow", + "js.map": "jsmap", + "js.snap": "jest_snapshot", + "json-ld": "jsonld", + "jsx.snap": "jest_snapshot", + "layout.htm": "layout", + "layout.html": "layout", + "marko.js": "markojs", + "mjs.map": "jsmap", + "module.ts": "nestjsmodule", + "resolver.js": "nestjsresolver", + "resolver.ts": "nestjsresolver", + "service.js": "nestjsservice", + "service.ts": "nestjsservice", + "entity.js": "nestjsentity", + "entity.ts": "nestjsentity", + "interceptor.js": "nestjsinterceptor", + "interceptor.ts": "nestjsinterceptor", + "dto.js": "nestjsdto", + "dto.ts": "nestjsdto", + "spec.js": "testjs", + "spec.jsx": "testjs", + "spec.mjs": "testjs", + "spec.ts": "testts", + "spec.tsx": "testts", + "stories.js": "storybook", + "stories.jsx": "storybook", + "stories.ts": "storybook", + "stories.tsx": "storybook", + "stories.svelte": "storybook", + "story.js": "storybook", + "story.jsx": "storybook", + "story.ts": "storybook", + "story.tsx": "storybook", + "story.svelte": "storybook", + "test.cjs": "testjs", + "test.cts": "testts", + "test.js": "testjs", + "test.jsx": "testjs", + "test.mjs": "testjs", + "test.mts": "testts", + "test.ts": "testts", + "test.tsx": "testts", + "ts.snap": "jest_snapshot", + "tsx.snap": "jest_snapshot", + "types.ps1xml": "powershell_types", + a: "binary", + accda: "access", + accdb: "access", + accdc: "access", + accde: "access", + accdp: "access", + accdr: "access", + accdt: "access", + accdu: "access", + ade: "access", + adoc: "adoc", + adp: "access", + afdesign: "afdesign", + affinitydesigner: "afdesign", + affinityphoto: "afphoto", + affinitypublisher: "afpub", + afphoto: "afphoto", + afpub: "afpub", + ai: "ai", + app: "binary", + ascx: "aspx", + asm: "binary", + aspx: "aspx", + astro: "astro", + awk: "awk", + bat: "bat", + bc: "llvm", + bcmx: "outlook", + bicep: "bicep", + bin: "binary", + blade: "blade", + bz2: "zip", + bzip2: "zip", + c: "c", + cake: "cake", + cer: "cert", + pvk: "pvk", + pfx: "pfx", + spc: "spc", + cfg: "conf", + civet: "civet", + cjm: "clojure", + cl: "opencl", + class: "class", + cli: "cli", + clj: "clojure", + cljc: "clojure", + cljs: "clojure", + cljx: "clojure", + cma: "binary", + cmd: "cli", + cmi: "binary", + cmo: "binary", + cmx: "binary", + cmxa: "binary", + comp: "opengl", + conf: "conf", + cpp: "cpp", + cr: "crystal", + crec: "lync", + crl: "cert", + crt: "cert", + cs: "csharp", + cshtml: "cshtml", + csproj: "csproj", + csr: "cert", + css: "css", + csv: "csv", + csx: "csharp", + d: "d", + dart: "dartlang", + db: "sqlite", + db3: "sqlite", + der: "cert", + diff: "diff", + dio: "drawio", + djt: "django", + dll: "binary", + dmp: "log", + doc: "word", + docm: "word", + docx: "word", + dot: "word", + dotm: "word", + dotx: "word", + drawio: "drawio", + dta: "stata", + eco: "docpad", + edge: "edge", + edn: "clojure", + eex: "eex", + ejs: "ejs", + el: "emacs", + elc: "emacs", + elm: "elm", + enc: "license", + ensime: "ensime", + env: "env", + eps: "eps", + erb: "erb", + erl: "erlang", + eskip: "skipper", + ex: "elixir", + exe: "binary", + exp: "tcl", + exs: "exs", + fbx: "fbx", + feature: "cucumber", + fig: "figma", + fish: "shell", + fla: "fla", + fods: "excel", + frag: "opengl", + fs: "fsharp", + fsproj: "fsproj", + ftl: "freemarker", + gbl: "gbl", + gd: "godot", + gemfile: "bundler", + geom: "opengl", + glsl: "opengl", + gmx: "gamemaker", + go: "go", + godot: "godot", + gql: "graphql", + gradle: "gradle", + groovy: "groovy", + gz: "zip", + h: "cheader", + haml: "haml", + hbs: "handlebars", + hcl: "hashicorp", + hl: "binary", + hlsl: "opengl", + hpp: "hpp", + hs: "haskell", + html: "html", + hxp: "lime", + hxproj: "haxedevelop", + ibc: "idrisbin", + idr: "idris", + ilk: "binary", + imba: "imba", + inc: "inc", + include: "inc", + info: "info", + infopathxml: "infopath", + ini: "conf", + ino: "arduino", + ipkg: "idrispkg", + ipynb: "ipynb", + iuml: "plantuml", + jar: "jar", + java: "java", + jbuilder: "jbuilder", + j2: "jinja", + jinja: "jinja", + jinja2: "jinja", + jl: "julia", + json5: "json5", + jsonld: "jsonld", + jsp: "jsp", + jss: "jss", + key: "key", + kit: "codekit", + kt: "kotlin", + kts: "kotlins", + laccdb: "access", + ldb: "access", + less: "less", + lib: "binary", + lidr: "idris", + liquid: "liquid", + ll: "llvm", + lnk: "lnk", + log: "log", + ls: "livescript", + lucee: "cf", + m: "m", + makefile: "makefile", + mam: "access", + map: "map", + maq: "access", + markdown: "markdown", + master: "layout", + mdb: "access", + mdown: "markdown", + mdw: "access", + mdx: "markdownx", + mesh: "mesh", + mex: "matlab", + mexn: "matlab", + mexrs6: "matlab", + mf: "manifest", + mint: "mint", + mjml: "mjml", + ml: "ocaml", + mli: "ocamli", + mll: "ocamll", + mly: "ocamly", + mn: "matlab", + mo: "motoko", + msg: "outlook", + mst: "mustache", + mum: "matlab", + mustache: "mustache", + mx: "matlab", + mx3: "matlab", + n: "binary", + ndll: "binary", + neon: "neon", + nim: "nim", + nix: "nix", + njk: "njk", + njs: "nunjucks", + njsproj: "njsproj", + nunj: "nunjucks", + nupkg: "nuget", + nuspec: "nuget", + nvim: "nvim", + o: "binary", + ocrec: "lync", + ods: "excel", + oft: "outlook", + one: "onenote", + onepkg: "onenote", + onetoc: "onenote", + onetoc2: "onenote", + opencl: "opencl", + org: "org", + otf: "fontotf", + otm: "outlook", + ovpn: "ovpn", + P: "prolog", + p12: "cert", + p7b: "cert", + p7r: "cert", + pa: "powerpoint", + patch: "diff", + pcd: "pcl", + pck: "plsql_package", + pdb: "binary", + pde: "arduino", + pdf: "pdf", + pem: "key", + pex: "xml", + phar: "php", + php1: "php", + php2: "php", + php3: "php", + php4: "php", + php5: "php", + php6: "php", + phps: "php", + phpsa: "php", + phpt: "php", + phtml: "php", + pkb: "plsql_package_body", + pkg: "package", + pkh: "plsql_package_header", + pks: "plsql_package_spec", + pl: "perl", + plantuml: "plantuml", + plist: "config", + pm: "perlm", + po: "poedit", + postcss: "postcssconfig", + pcss: "postcssconfig", + pot: "powerpoint", + potm: "powerpoint", + potx: "powerpoint", + ppa: "powerpoint", + ppam: "powerpoint", + pps: "powerpoint", + ppsm: "powerpoint", + ppsx: "powerpoint", + ppt: "powerpoint", + pptm: "powerpoint", + pptx: "powerpoint", + pri: "qt", + prisma: "prisma", + pro: "prolog", + properties: "properties", + ps1: "powershell", + psd: "photoshop", + psd1: "powershelldata", + psm1: "powershellmodule", + psmdcp: "nuget", + pst: "outlook", + pu: "plantuml", + pub: "publisher", + puml: "plantuml", + puz: "publisher", + pyc: "binary", + pyd: "binary", + pyo: "binary", + q: "q", + qbs: "qbs", + qvd: "qlikview", + qvw: "qlikview", + rake: "rake", + rar: "zip", + gzip: "zip", + razor: "razor", + rb: "ruby", + reg: "registry", + rego: "rego", + res: "rescript", + resi: "rescriptinterface", + rjson: "rjson", + rproj: "rproj", + rs: "rust", + rsx: "rust", + ron: "ron", + odin: "odin", + rt: "reacttemplate", + rwd: "matlab", + pas: "pascal", + pp: "pascal", + p: "pascal", + lpr: "lazarusproject", + lps: "lazarusproject", + lpi: "lazarusproject", + lfm: "lazarusproject", + lrs: "lazarusproject", + lpk: "lazarusproject", + dpr: "delphiproject", + dproj: "delphiproject", + dfm: "delphiproject", + sass: "scss", + sc: "scala", + scala: "scala", + scpt: "binary", + scptd: "binary", + scss: "scss", + sentinel: "sentinel", + sig: "onenote", + sketch: "sketch", + slddc: "matlab", + sldm: "powerpoint", + sldx: "powerpoint", + sln: "sln", + sls: "saltstack", + slx: "matlab", + smv: "matlab", + so: "binary", + sol: "sol", + sql: "sql", + sqlite: "sqlite", + sqlite3: "sqlite", + src: "cert", + sss: "sss", + sst: "cert", + stl: "cert", + storyboard: "storyboard", + styl: "stylus", + suo: "suo", + svelte: "svelte", + svg: "svg", + swc: "flash", + swf: "flash", + swift: "swift", + tar: "zip", + tcl: "tcl", + templ: "tmpl", + tesc: "opengl", + tese: "opengl", + tex: "latex", + texi: "tex", + tf: "terraform", + tfstate: "terraform", + tfvars: "terraformvars", + tgz: "zip", + tikz: "tex", + tlg: "log", + tmlanguage: "xml", + tmpl: "tmpl", + todo: "todo", + toml: "toml", + tpl: "smarty", + tres: "tres", + tscn: "tscn", + tst: "test", + tsx: "reactts", + jsx: "reactjs", + tt2: "tt", + ttf: "fontttf", + twig: "twig", + txt: "txt", + ui: "ui", + unity: "shaderlab", + user: "user", + v: "v", + vala: "vala", + vapi: "vapi", + vash: "vash", + vbhtml: "vbhtml", + vbproj: "vbproj", + vcxproj: "vcxproj", + vert: "opengl", + vhd: "vhd", + vhdl: "vhdl", + vsix: "vscode", + vsixmanifest: "manifest", + wasm: "wasm", + webp: "imagewebp", + wgsl: "wgsl", + wll: "word", + woff: "fontwoff", + eot: "fonteot", + woff2: "fontwoff2", + wv: "audiowv", + wxml: "wxml", + wxss: "wxss", + xcodeproj: "xcode", + xfl: "xfl", + xib: "xib", + xlf: "xliff", + xliff: "xliff", + xls: "excel", + xlsm: "excel", + xlsx: "excel", + xsf: "infopath", + xsn: "infopath", + xtp2: "infopath", + xvc: "matlab", + xz: "zip", + yy: "gamemaker2", + yyp: "gamemaker2", + zig: "zig", + zip: "zip", + zipx: "zip", + zz: "zip", + deflate: "zip", + brotli: "brotli", + kra: "krita", + mgcb: "mgcb", + anim: "anim", + "cy.ts": "cypressts", + "cy.js": "cypressjs", + hx: "haxe", + hxml: "haxeml", + gr: "grain", + slim: "slim", + obj: "obj", + mtl: "mtl", + bicepparam: "bicepparam", + proto: "proto", + wren: "wren", + "docker-compose.yml": "docker", + excalidraw: "excalidraw", + "excalidraw.json": "excalidraw", + "excalidraw.svg": "excalidraw", + "excalidraw.png": "excalidraw", + bazel: "bazel", + bzl: "bazel", + bazelignore: "bazelignore", + bazelrc: "bazel", + http: "http", + rkt: "racket", + rktl: "racket", + bru: "bruno", + nelua: "nelua", + mermaid: "mermaid", + mmd: "mermaid", + bal: "ballerina", + hash: "hash", + gleam: "gleam", + lock: "lock", + yang: "yang", + yin: "yin", + mdc: "cursor", + uml: "plantuml", + Identifier: "identifier", + cls: "salesforce", + ".instructions.md": "instructions", + ".instructions.txt": "instructions", + ".instructions.json": "instructions", + ".instructions.yaml": "instructions", + ".instructions.yml": "instructions", + silq: "silq", + eraserdiagram: "eraser", + }, + fileNames: { + "webpack.config.images.js": "webpack", + "webpack.test.conf.ts": "webpack", + "webpack.test.conf.coffee": "webpack", + "webpack.test.conf.js": "webpack", + "webpack.rules.ts": "webpack", + "webpack.rules.coffee": "webpack", + "webpack.rules.js": "webpack", + "webpack.renderer.config.ts": "webpack", + "webpack.renderer.config.coffee": "webpack", + "webpack.renderer.config.js": "webpack", + "webpack.plugins.ts": "webpack", + "webpack.plugins.coffee": "webpack", + "webpack.plugins.js": "webpack", + "webpack.mix.ts": "webpack", + "webpack.mix.coffee": "webpack", + "webpack.mix.js": "webpack", + "webpack.main.config.ts": "webpack", + "webpack.main.config.coffee": "webpack", + "webpack.main.config.js": "webpack", + "webpack.prod.conf.ts": "webpack", + "webpack.prod.conf.coffee": "webpack", + "webpack.prod.conf.js": "webpack", + "webpack.prod.ts": "webpack", + "webpack.prod.coffee": "webpack", + "webpack.prod.js": "webpack", + "webpack.dev.conf.ts": "webpack", + "webpack.dev.conf.coffee": "webpack", + "webpack.dev.conf.js": "webpack", + "webpack.dev.ts": "webpack", + "webpack.dev.coffee": "webpack", + "webpack.dev.js": "webpack", + "webpack.config.production.babel.ts": "webpack", + "webpack.config.production.babel.coffee": "webpack", + "webpack.config.production.babel.js": "webpack", + "webpack.config.prod.babel.ts": "webpack", + "webpack.config.prod.babel.coffee": "webpack", + "webpack.config.prod.babel.js": "webpack", + "webpack.config.test.babel.ts": "webpack", + "webpack.config.test.babel.coffee": "webpack", + "webpack.config.test.babel.js": "webpack", + "webpack.config.staging.babel.ts": "webpack", + "webpack.config.staging.babel.coffee": "webpack", + "webpack.config.staging.babel.js": "webpack", + "webpack.config.development.babel.ts": "webpack", + "webpack.config.development.babel.coffee": "webpack", + "webpack.config.development.babel.js": "webpack", + "webpack.config.dev.babel.ts": "webpack", + "webpack.config.dev.babel.coffee": "webpack", + "webpack.config.dev.babel.js": "webpack", + "webpack.config.common.babel.ts": "webpack", + "webpack.config.common.babel.coffee": "webpack", + "webpack.config.common.babel.js": "webpack", + "webpack.config.base.babel.ts": "webpack", + "webpack.config.base.babel.coffee": "webpack", + "webpack.config.base.babel.js": "webpack", + "webpack.config.babel.ts": "webpack", + "webpack.config.babel.coffee": "webpack", + "webpack.config.babel.js": "webpack", + "webpack.config.production.ts": "webpack", + "webpack.config.production.coffee": "webpack", + "webpack.config.production.js": "webpack", + "webpack.config.prod.ts": "webpack", + "webpack.config.prod.coffee": "webpack", + "webpack.config.prod.js": "webpack", + "webpack.config.test.ts": "webpack", + "webpack.config.test.coffee": "webpack", + "webpack.config.test.js": "webpack", + "webpack.config.staging.ts": "webpack", + "webpack.config.staging.coffee": "webpack", + "webpack.config.staging.js": "webpack", + "webpack.config.development.ts": "webpack", + "webpack.config.development.coffee": "webpack", + "webpack.config.development.js": "webpack", + "webpack.config.dev.ts": "webpack", + "webpack.config.dev.coffee": "webpack", + "webpack.config.dev.js": "webpack", + "webpack.config.common.ts": "webpack", + "webpack.config.common.coffee": "webpack", + "webpack.config.common.js": "webpack", + "webpack.config.base.ts": "webpack", + "webpack.config.base.coffee": "webpack", + "webpack.config.base.js": "webpack", + "webpack.config.ts": "webpack", + "webpack.config.coffee": "webpack", + "webpack.config.js": "webpack", + "webpack.common.ts": "webpack", + "webpack.common.coffee": "webpack", + "webpack.common.js": "webpack", + "webpack.base.conf.ts": "webpack", + "webpack.base.conf.coffee": "webpack", + "webpack.base.conf.js": "webpack", + ".angular-cli.json": "angular", + "angular-cli.json": "angular", + "angular.json": "angular", + ".angular.json": "angular", + "api-extractor.json": "api_extractor", + "api-extractor-base.json": "api_extractor", + "appveyor.yml": "appveyor", + ".appveyor.yml": "appveyor", + "aurelia.json": "aurelia", + "azure-pipelines.yml": "azure", + ".vsts-ci.yml": "azure", + ".babelrc": "babel", + ".babelignore": "babel", + ".babelrc.js": "babel", + ".babelrc.cjs": "babel", + ".babelrc.mjs": "babel", + ".babelrc.json": "babel", + "babel.config.js": "babel", + "babel.config.cjs": "babel", + "babel.config.mjs": "babel", + "babel.config.json": "babel", + "vetur.config.js": "vue", + "vetur.config.ts": "vue", + ".bzrignore": "bazaar", + ".bazelrc": "bazel", + "bazel.rc": "bazel", + "bazel.bazelrc": "bazel", + BUILD: "bazel", + "bitbucket-pipelines.yml": "bitbucketpipeline", + ".bithoundrc": "bithound", + ".bowerrc": "bower", + "bower.json": "bower", + ".browserslistrc": "browserslist", + browserslist: "browserslist", + gemfile: "bundler", + "gemfile.lock": "bundler", + ".ruby-version": "bundler", + "capacitor.config.json": "capacitor", + "cargo.toml": "cargo", + "cargo.lock": "cargo", + chefignore: "chef", + berksfile: "chef", + "berksfile.lock": "chef", + policyfile: "chef", + "circle.yml": "circleci", + ".cfignore": "cloudfoundry", + ".codacy.yml": "codacy", + ".codacy.yaml": "codacy", + ".codeclimate.yml": "codeclimate", + "codecov.yml": "codecov", + ".codecov.yml": "codecov", + "config.codekit": "codekit", + "config.codekit2": "codekit", + "config.codekit3": "codekit", + ".config.codekit": "codekit", + ".config.codekit2": "codekit", + ".config.codekit3": "codekit", + "coffeelint.json": "coffeelint", + ".coffeelintignore": "coffeelint", + "composer.json": "composer", + "composer.lock": "composerlock", + "conanfile.txt": "conan", + "conanfile.py": "conan", + ".condarc": "conda", + ".coveralls.yml": "coveralls", + "crowdin.yml": "crowdin", + ".csscomb.json": "csscomb", + ".csslintrc": "csslint", + ".cvsignore": "cvs", + ".boringignore": "darcs", + "dependabot.yml": "dependabot", + "dependencies.yml": "dependencies", + "devcontainer.json": "devcontainer", + "docker-compose-prod.yml": "docker", + "docker-compose.alpha.yaml": "docker", + "docker-compose.alpha.yml": "docker", + "docker-compose.beta.yaml": "docker", + "docker-compose.beta.yml": "docker", + "docker-compose.ci-build.yml": "docker", + "docker-compose.ci.yaml": "docker", + "docker-compose.ci.yml": "docker", + "docker-compose.dev.yaml": "docker", + "docker-compose.dev.yml": "docker", + "docker-compose.development.yaml": "docker", + "docker-compose.development.yml": "docker", + "docker-compose.local.yaml": "docker", + "docker-compose.local.yml": "docker", + "docker-compose.override.yaml": "docker", + "docker-compose.override.yml": "docker", + "docker-compose.prod.yaml": "docker", + "docker-compose.prod.yml": "docker", + "docker-compose.production.yaml": "docker", + "docker-compose.production.yml": "docker", + "docker-compose.stage.yaml": "docker", + "docker-compose.stage.yml": "docker", + "docker-compose.staging.yaml": "docker", + "docker-compose.staging.yml": "docker", + "docker-compose.test.yaml": "docker", + "docker-compose.test.yml": "docker", + "docker-compose.testing.yaml": "docker", + "docker-compose.testing.yml": "docker", + "docker-compose.vs.debug.yml": "docker", + "docker-compose.vs.release.yml": "docker", + "docker-compose.web.yaml": "docker", + "docker-compose.web.yml": "docker", + "docker-compose.worker.yaml": "docker", + "docker-compose.worker.yml": "docker", + "docker-compose.yaml": "docker", + "docker-compose.yml": "docker", + "Dockerfile-production": "docker", + "dockerfile.alpha": "docker", + "dockerfile.beta": "docker", + "dockerfile.ci": "docker", + "dockerfile.dev": "docker", + "dockerfile.development": "docker", + "dockerfile.local": "docker", + "dockerfile.prod": "docker", + "dockerfile.production": "docker", + "dockerfile.stage": "docker", + "dockerfile.staging": "docker", + "dockerfile.test": "docker", + "dockerfile.testing": "docker", + "dockerfile.web": "docker", + "dockerfile.worker": "docker", + dockerfile: "docker", + "docker-compose.debug.yml": "dockerdebug", + "docker-cloud.yml": "docker", + ".dockerignore": "dockerignore", + ".doczrc": "docz", + "docz.js": "docz", + "docz.json": "docz", + ".docz.js": "docz", + ".docz.json": "docz", + "doczrc.js": "docz", + "doczrc.json": "docz", + "docz.config.js": "docz", + "docz.config.json": "docz", + ".dojorc": "dojo", + ".drone.yml": "drone", + ".drone.yml.sig": "drone", + ".dvc": "dvc", + ".editorconfig": "editorconfig", + "elm-package.json": "elm", + ".ember-cli": "ember", + emakefile: "erlang", + ".emakerfile": "erlang", + ".eslintrc": "eslint", + ".eslintignore": "eslintignore", + ".eslintcache": "eslint", + ".eslintrc.js": "eslint", + ".eslintrc.mjs": "eslint", + ".eslintrc.cjs": "eslint", + ".eslintrc.json": "eslint", + ".eslintrc.yaml": "eslint", + ".eslintrc.yml": "eslint", + ".eslintrc.browser.json": "eslint", + ".eslintrc.base.json": "eslint", + "eslint-preset.js": "eslint", + "eslint.config.js": "eslint", + "eslint.config.cjs": "eslint", + "eslint.config.mjs": "eslint", + "eslint.config.ts": "eslint", + "_eslintrc.cjs": "eslint", + "app.json": "expo", + "app.config.js": "expo", + "app.config.json": "expo", + "app.config.json5": "expo", + "favicon.ico": "favicon", + ".firebaserc": "firebase", + "firebase.json": "firebasehosting", + "firestore.rules": "firestore", + "firestore.indexes.json": "firestore", + ".flooignore": "floobits", + ".flowconfig": "flow", + ".flutter-plugins": "flutter", + ".metadata": "flutter", + ".fossaignore": "fossa", + "ignore-glob": "fossil", + "fuse.js": "fusebox", + "gatsby-config.js": "gatsby", + "gatsby-config.ts": "gatsby", + "gatsby-node.js": "gatsby", + "gatsby-node.ts": "gatsby", + "gatsby-browser.js": "gatsby", + "gatsby-browser.ts": "gatsby", + "gatsby-ssr.js": "gatsby", + "gatsby-ssr.ts": "gatsby", + ".git-blame-ignore-revs": "git", + ".gitattributes": "git", + ".gitconfig": "git", + ".gitignore": "git", + ".gitmodules": "git", + ".gitkeep": "git", + ".mailmap": "git", + ".gitlab-ci.yml": "gitlab", + "glide.yml": "glide", + "go.sum": "go_package", + "go.mod": "go_package", + "go.work": "go_package", + ".gqlconfig": "graphql", + ".graphqlconfig": "graphql_config", + ".graphqlconfig.yml": "graphql_config", + ".graphqlconfig.yaml": "graphql_config", + "greenkeeper.json": "greenkeeper", + "gridsome.config.js": "gridsome", + "gridsome.config.ts": "gridsome", + "gridsome.server.js": "gridsome", + "gridsome.server.ts": "gridsome", + "gridsome.client.js": "gridsome", + "gridsome.client.ts": "gridsome", + "gruntfile.js": "grunt", + "gruntfile.cjs": "grunt", + "gruntfile.mjs": "grunt", + "gruntfile.coffee": "grunt", + "gruntfile.ts": "grunt", + "gruntfile.cts": "grunt", + "gruntfile.mts": "grunt", + "gruntfile.babel.js": "grunt", + "gruntfile.babel.coffee": "grunt", + "gruntfile.babel.ts": "grunt", + "gulpfile.js": "gulp", + "gulpfile.coffee": "gulp", + "gulpfile.ts": "gulp", + "gulpfile.esm.js": "gulp", + "gulpfile.esm.coffee": "gulp", + "gulpfile.esm.ts": "gulp", + "gulpfile.babel.js": "gulp", + "gulpfile.babel.coffee": "gulp", + "gulpfile.babel.ts": "gulp", + "haxelib.json": "haxe", + "checkstyle.json": "haxecheckstyle", + ".p4ignore": "helix", + ".htmlhintrc": "htmlhint", + ".huskyrc": "husky", + "husky.config.js": "husky", + ".huskyrc.js": "husky", + ".huskyrc.json": "husky", + ".huskyrc.yaml": "husky", + ".huskyrc.yml": "husky", + "ionic.project": "ionic", + "ionic.config.json": "ionic", + jakefile: "jake", + "jakefile.js": "jake", + "jest.config.json": "jest", + "jest.json": "jest", + ".jestrc": "jest", + ".jestrc.js": "jest", + ".jestrc.json": "jest", + "jest.config.js": "jest", + "jest.config.cjs": "jest", + "jest.config.mjs": "jest", + "jest.config.babel.js": "jest", + "jest.config.babel.cjs": "jest", + "jest.config.babel.mjs": "jest", + "jest.preset.js": "jest", + "jest.preset.ts": "jest", + "jest.preset.cjs": "jest", + "jest.preset.mjs": "jest", + ".jpmignore": "jpm", + ".jsbeautifyrc": "jsbeautify", + jsbeautifyrc: "jsbeautify", + ".jsbeautify": "jsbeautify", + jsbeautify: "jsbeautify", + "jsconfig.json": "jsconfig", + ".jscpd.json": "jscpd", + "jscpd-report.xml": "jscpd", + "jscpd-report.json": "jscpd", + "jscpd-report.html": "jscpd", + ".jshintrc": "jshint", + ".jshintignore": "jshint", + "karma.conf.js": "karma", + "karma.conf.coffee": "karma", + "karma.conf.ts": "karma", + ".kitchen.yml": "kitchenci", + "kitchen.yml": "kitchenci", + ".kiteignore": "kite", + "layout.html": "layout", + "layout.htm": "layout", + "lerna.json": "lerna", + license: "license", + licence: "license", + "license.md": "license", + "license.txt": "license", + "licence.md": "license", + "licence.txt": "license", + ".lighthouserc.js": "lighthouse", + ".lighthouserc.json": "lighthouse", + ".lighthouserc.yaml": "lighthouse", + ".lighthouserc.yml": "lighthouse", + "include.xml": "lime", + ".lintstagedrc": "lintstagedrc", + "lint-staged.config.js": "lintstagedrc", + ".lintstagedrc.js": "lintstagedrc", + ".lintstagedrc.json": "lintstagedrc", + ".lintstagedrc.yaml": "lintstagedrc", + ".lintstagedrc.yml": "lintstagedrc", + manifest: "manifest", + "manifest.bak": "manifest", + "manifest.json": "manifest", + "manifest.skip": "manifes", + ".markdownlint.json": "markdownlint", + "maven.config": "maven", + "pom.xml": "maven", + "extensions.xml": "maven", + "settings.xml": "maven", + "pom.properties": "maven", + ".hgignore": "mercurial", + "mocha.opts": "mocha", + ".mocharc.js": "mocha", + ".mocharc.json": "mocha", + ".mocharc.jsonc": "mocha", + ".mocharc.yaml": "mocha", + ".mocharc.yml": "mocha", + modernizr: "modernizr", + "modernizr.js": "modernizr", + "modernizrrc.js": "modernizr", + ".modernizr.js": "modernizr", + ".modernizrrc.js": "modernizr", + "moleculer.config.js": "moleculer", + "moleculer.config.json": "moleculer", + "moleculer.config.ts": "moleculer", + ".mtn-ignore": "monotone", + ".nest-cli.json": "nestjs", + "nest-cli.json": "nestjs", + "nestconfig.json": "nestjs", + ".nestconfig.json": "nestjs", + "netlify.toml": "netlify", + _redirects: "netlify", + "ng-tailwind.js": "ng_tailwind", + "nginx.conf": "nginx", + "build.ninja": "ninja", + ".node-version": "node", + ".node_repl_history": "node", + ".node-gyp": "node", + node_modules: "node", + "node_modules.json": "node", + "node-inspect.json": "node", + "node-inspect.js": "node", + "node-inspect.mjs": "node", + "node-inspect.cjs": "node", + "node-inspect.ts": "node", + "node-inspect.config.js": "node", + "node-inspect.config.ts": "node", + "node-inspect.config.cjs": "node", + "node-inspect.config.mjs": "node", + "node-inspect.config.json": "node", + "node-inspect.config.yaml": "node", + "node-inspect.config.yml": "node", + "node-inspectrc": "node", + ".node-inspectrc": "node", + ".node-inspectrc.json": "node", + ".node-inspectrc.yaml": "node", + ".node-inspectrc.yml": "node", + ".node-inspectrc.js": "node", + ".node-inspectrc.ts": "node", + ".node-inspectrc.cjs": "node", + ".node-inspectrc.mjs": "node", + "nodemon.json": "nodemon", + ".npmignore": "npm", + ".npmrc": "npm", + "package.json": "npm", + "package-lock.json": "npmlock", + "npm-shrinkwrap.json": "npm", + ".nsrirc": "nsri", + ".nsriignore": "nsri", + "nsri.config.js": "nsri", + ".nsrirc.js": "nsri", + ".nsrirc.json": "nsri", + ".nsrirc.yaml": "nsri", + ".nsrirc.yml": "nsri", + ".integrity.json": "nsri-integrity", + "nuxt.config.js": "nuxt", + "nuxt.config.ts": "nuxt", + ".nycrc": "nyc", + ".nycrc.json": "nyc", + ".merlin": "ocaml", + "paket.dependencies": "paket", + "paket.lock": "paket", + "paket.references": "paket", + "paket.template": "paket", + "paket.local": "paket", + ".php_cs": "phpcsfixer", + ".php_cs.dist": "phpcsfixer", + phpunit: "phpunit", + "phpunit.xml": "phpunit", + "phpunit.xml.dist": "phpunit", + ".phraseapp.yml": "phraseapp", + pipfile: "pip", + "pipfile.lock": "pip", + "platformio.ini": "platformio", + "pnpmfile.js": "pnpm", + "pnpm-workspace.yaml": "pnpm", + ".postcssrc": "postcssconfig", + ".postcssrc.json": "postcssconfig", + ".postcssrc.yml": "postcssconfig", + ".postcssrc.js": "postcssconfig", + ".postcssrc.cjs": "postcssconfig", + ".postcssrc.mjs": "postcssconfig", + ".postcssrc.ts": "postcssconfig", + ".postcssrc.cts": "postcssconfig", + ".postcssrc.mts": "postcssconfig", + "postcss.config.js": "postcssconfig", + "postcss.config.cjs": "postcssconfig", + "postcss.config.mjs": "postcssconfig", + "postcss.config.ts": "postcssconfig", + "postcss.config.cts": "postcssconfig", + "postcss.config.mts": "postcssconfig", + ".pre-commit-config.yaml": "precommit", + ".pre-commit-hooks.yaml": "precommit", + ".prettierrc": "prettier", + ".prettierignore": "prettierignore", + "prettier.config.js": "prettier", + "prettier.config.cjs": "prettier", + "prettier.config.mjs": "prettier", + "prettier.config.ts": "prettier", + "prettier.config.coffee": "prettier", + ".prettierrc.js": "prettier", + ".prettierrc.json": "prettier", + ".prettierrc.yml": "prettier", + ".prettierrc.yaml": "prettier", + procfile: "procfile", + "protractor.conf.js": "protractor", + "protractor.conf.coffee": "protractor", + "protractor.conf.ts": "protractor", + ".jade-lintrc": "pug", + ".pug-lintrc": "pug", + ".jade-lint.json": "pug", + ".pug-lintrc.js": "pug", + ".pug-lintrc.json": "pug", + ".pyup": "pyup", + ".pyup.yml": "pyup", + qmldir: "qmldir", + "quasar.conf.js": "quasar", + rakefile: "rake", + "razzle.config.js": "razzle", + "readme.md": "readme", + "readme.txt": "readme", + ".rehyperc": "rehype", + ".rehypeignore": "rehype", + ".rehyperc.js": "rehype", + ".rehyperc.json": "rehype", + ".rehyperc.yml": "rehype", + ".rehyperc.yaml": "rehype", + ".remarkrc": "remark", + ".remarkignore": "remark", + ".remarkrc.js": "remark", + ".remarkrc.json": "remark", + ".remarkrc.yml": "remark", + ".remarkrc.yaml": "remark", + ".renovaterc": "renovate", + "renovate.json": "renovate", + ".renovaterc.json": "renovate", + ".retextrc": "retext", + ".retextignore": "retext", + ".retextrc.js": "retext", + ".retextrc.json": "retext", + ".retextrc.yml": "retext", + ".retextrc.yaml": "retext", + "robots.txt": "robots", + "rollup.config.js": "rollup", + "rollup.config.mjs": "rollup", + "rollup.config.coffee": "rollup", + "rollup.config.ts": "rollup", + "rollup.config.common.js": "rollup", + "rollup.config.common.mjs": "rollup", + "rollup.config.common.coffee": "rollup", + "rollup.config.common.ts": "rollup", + "rollup.config.dev.js": "rollup", + "rollup.config.dev.mjs": "rollup", + "rollup.config.dev.coffee": "rollup", + "rollup.config.dev.ts": "rollup", + "rollup.config.prod.js": "rollup", + "rollup.config.prod.mjs": "rollup", + "rollup.config.prod.coffee": "rollup", + "rollup.config.prod.ts": "rollup", + ".rspec": "rspec", + ".rubocop.yml": "rubocop", + ".rubocop_todo.yml": "rubocop", + "rust-toolchain": "rust_toolchain", + ".sentryclirc": "sentry", + "serverless.yml": "serverless", + "snapcraft.yaml": "snapcraft", + ".snyk": "snyk", + ".solidarity": "solidarity", + ".solidarity.json": "solidarity", + ".stylelintrc": "stylelint", + ".stylelintignore": "stylelintignore", + ".stylelintcache": "stylelint", + "stylelint.config.js": "stylelint", + "stylelint.config.cjs": "stylelint", + "stylelint.config.mjs": "stylelint", + "stylelint.config.json": "stylelint", + "stylelint.config.yaml": "stylelint", + "stylelint.config.yml": "stylelint", + "stylelint.config.ts": "stylelint", + ".stylelintrc.js": "stylelint", + ".stylelintrc.json": "stylelint", + ".stylelintrc.yaml": "stylelint", + ".stylelintrc.yml": "stylelint", + ".stylelintrc.ts": "stylelint", + ".stylelintrc.cjs": "stylelint", + ".stylelintrc.mjs": "stylelint", + ".stylish-haskell.yaml": "stylish_haskell", + ".svnignore": "subversion", + "package.pins": "swift", + "symfony.lock": "symfony", + "windi.config.ts": "windi", + "windi.config.js": "windi", + "tailwind.js": "tailwind", + "tailwind.mjs": "tailwind", + "tailwind.cjs": "tailwind", + "tailwind.coffee": "tailwind", + "tailwind.ts": "tailwind", + "tailwind.cts": "tailwind", + "tailwind.mts": "tailwind", + "tailwind.config.mjs": "tailwind", + "tailwind.config.cjs": "tailwind", + "tailwind.config.js": "tailwind", + "tailwind.config.coffee": "tailwind", + "tailwind.config.ts": "tailwind", + "tailwind.config.cts": "tailwind", + "tailwind.config.mts": "tailwind", + ".testcaferc.json": "testcafe", + ".tfignore": "tfs", + "tox.ini": "tox", + ".travis.yml": "travis", + "tsconfig.json": "tsconfig", + "tsconfig.app.json": "tsconfig", + "tsconfig.base.json": "tsconfig", + "tsconfig.common.json": "tsconfig", + "tsconfig.dev.json": "tsconfig", + "tsconfig.development.json": "tsconfig", + "tsconfig.e2e.json": "tsconfig", + "tsconfig.prod.json": "tsconfig", + "tsconfig.production.json": "tsconfig", + "tsconfig.server.json": "tsconfig", + "tsconfig.spec.json": "tsconfig", + "tsconfig.staging.json": "tsconfig", + "tsconfig.test.json": "tsconfig", + "tsconfig.tsd.json": "tsconfig", + "tsconfig.node.json": "tsconfig", + "tsconfig.lib.json": "tsconfig", + "tsconfig.eslint.json": "tsconfig", + "tsconfig.storybook.json": "tsconfig", + "tsconfig.tsbuildinfo": "tsconfig", + "tslint.json": "tslint", + "tslint.yaml": "tslint", + "tslint.yml": "tslint", + ".unibeautifyrc": "unibeautify", + "unibeautify.config.js": "unibeautify", + ".unibeautifyrc.js": "unibeautify", + ".unibeautifyrc.json": "unibeautify", + ".unibeautifyrc.yaml": "unibeautify", + ".unibeautifyrc.yml": "unibeautify", + vagrantfile: "vagrant", + ".vimrc": "vim", + ".gvimrc": "vim", + ".vscodeignore": "vscode", + "tasks.json": "vscode", + "vscodeignore.json": "vscode", + ".vuerc": "vueconfig", + "vue.config.js": "vueconfig", + "vue.config.ts": "vueconfig", + "wallaby.json": "wallaby", + "wallaby.js": "wallaby", + "wallaby.ts": "wallaby", + "wallaby.coffee": "wallaby", + "wallaby.conf.json": "wallaby", + "wallaby.conf.js": "wallaby", + "wallaby.conf.ts": "wallaby", + "wallaby.conf.coffee": "wallaby", + ".wallaby.json": "wallaby", + ".wallaby.js": "wallaby", + ".wallaby.ts": "wallaby", + ".wallaby.coffee": "wallaby", + ".wallaby.conf.json": "wallaby", + ".wallaby.conf.js": "wallaby", + ".wallaby.conf.ts": "wallaby", + ".wallaby.conf.coffee": "wallaby", + ".watchmanconfig": "watchmanconfig", + "wercker.yml": "wercker", + "wpml-config.xml": "wpml", + ".yamllint": "yamllint", + ".yaspellerrc": "yandex", + ".yaspeller.json": "yandex", + "yarn.lock": "yarnlock", + ".yarnrc": "yarn", + ".yarn.installed": "yarn", + ".yarnclean": "yarn", + ".yarn-integrity": "yarn", + ".yarn-metadata.json": "yarn", + ".yarnignore": "yarnignore", + ".yarnrc.yml": "yarn", + ".yarnrc.yaml": "yarn", + ".yarnrc.json": "yarn", + ".yarnrc.json5": "yarn", + ".yarnrc.cjs": "yarn", + ".yarnrc.js": "yarn", + ".yarnrc.lock": "yarn", + ".yarnrc.txt": "yarn", + "yarn-error.log": "yarnerror", + ".yo-rc.json": "yeoman", + "now.json": "vercel", + ".nowignore": "vercel", + "vercel.json": "vercel", + ".vercel": "vercel", + ".vercelignore": "vercel", + "vite.config.js": "vite", + "vite.config.mjs": "vite", + "vite.config.cjs": "vite", + "vite.config.ts": "vite", + "vite.config.mts": "vite", + "vite.config.cts": "vite", + ".nvmrc": "nvm", + "example.env": "env", + ".env.staging": "env", + ".env.sample": "env", + ".env.preprod": "env", + ".env.prod": "env", + ".env.production": "env", + ".env.local": "env", + ".env.dev": "env", + ".env.dev.local": "env", + ".env.dev.prod": "env", + ".env.dev.preprod": "env", + ".env.dev.production": "env", + ".env.dev.staging": "env", + ".env.development": "env", + ".env.example": "env", + ".env.test": "env", + ".env.dist": "env", + ".env.default": "env", + ".jinja": "jinja", + "jenkins.yaml": "jenkins", + "jenkins.yml": "jenkins", + ".compodocrc": "compodoc", + ".compodocrc.json": "compodoc", + ".compodocrc.yaml": "compodoc", + ".compodocrc.yml": "compodoc", + "bsconfig.json": "bsconfig", + ".clang-format": "llvm", + ".clang-tidy": "llvm", + ".clangd": "llvm", + ".parcelrc": "parcel", + dune: "dune", + "dune-project": "duneproject", + ".adonisrc.json": "adonis", + "astro.config.js": "astroconfig", + "astro.config.cjs": "astroconfig", + "astro.config.mjs": "astroconfig", + "astro.config.ts": "astroconfig", + "astro.config.cts": "astroconfig", + "astro.config.mts": "astroconfig", + "svelte.config.js": "svelteconfig", + "svelte.config.ts": "svelteconfig", + ".tool-versions": "toolversions", + "CMakeSettings.json": "cmake", + "CMakeLists.txt": "cmake", + "toolchain.cmake": "cmake", + ".cmake": "cmake", + "Cargo.toml": "cargo", + "Cargo.lock": "cargolock", + "pnpm-lock.yaml": "pnpmlock", + "tauri.conf.json": "tauri", + "tauri.conf.json5": "tauri", + "tauri.linux.conf.json": "tauri", + "tauri.windows.conf.json": "tauri", + "tauri.macos.conf.json": "tauri", + "next.config.js": "nextconfig", + "next.config.mjs": "nextconfig", + "next.config.ts": "nextconfig", + "nextron.config.js": "nextron", + "nextron.config.ts": "nextron", + "poetry.toml": "poetry", + "poetry.lock": "poetrylock", + "pyproject.toml": "pyproject", + "rustfmt.toml": "rustfmt", + ".rustfmt.toml": "rustfmt", + "cucumber.yml": "cucumber", + "cucumber.yaml": "cucumber", + "cucumber.js": "cucumber", + "cucumber.ts": "cucumber", + "cucumber.cjs": "cucumber", + "cucumber.mjs": "cucumber", + "cucumber.json": "cucumber", + "flake.lock": "flakelock", + ace: "ace", + "ace-manifest.json": "acemanifest", + "knexfile.js": "knex", + "knexfile.ts": "knex", + "launch.json": "launch", + "redis.conf": "redis", + "sequelize.js": "sequelize", + "sequelize.ts": "sequelize", + "sequelize.cjs": "sequelize", + ".sequelizerc": "sequelize", + ".sequelizerc.js": "sequelize", + ".sequelizerc.json": "sequelize", + "cypress.json": "cypress", + "cypress.env.json": "cypress", + "cypress.config.js": "cypress", + "cypress.config.ts": "cypress", + "cypress.config.cjs": "cypress", + "playwright.config.ts": "playright", + "playwright.config.js": "playright", + "playwright.config.cjs": "playright", + "vitest.config.ts": "vitest", + "vitest.config.cts": "vitest", + "vitest.config.mts": "vitest", + "vitest.config.js": "vitest", + "vitest.config.cjs": "vitest", + "vitest.config.mjs": "vitest", + "vitest.workspace.ts": "vitest", + "vitest.workspace.cts": "vitest", + "vitest.workspace.mts": "vitest", + "vitest.workspace.js": "vitest", + "vitest.workspace.cjs": "vitest", + "vitest.workspace.mjs": "vitest", + "vite-env.d.ts": "viteenv", + "vite-env.d.js": "viteenv", + "pubspec.lock": "flutterlock", + "pubspec.yaml": "flutter", + ".packages": "flutterpackage", + ".htaccess": "htaccess", + "nx.json": "nx", + "project.json": "nx", + "nx.instructions.md": "nx", + "nx.jsonc": "nx", + "v.mod": "vmod", + "quasar.config.js": "quasar", + "quasar.config.ts": "quasar", + "quasar.config.cjs": "quasar", + "quasar.config.mjs": "quasar", + "quarkus.properties": "quarkus", + "theme.properties": "ui", + gradlew: "gradle", + "gradle-wrapper.properties": "gradle", + "gradlew.bat": "gradlebat", + "makefile.win": "makefile", + makefile: "makefile", + make: "makefile", + version: "version", + server: "sql", + migrate: "sql", + ".commitlintrc": "commitlint", + ".commitlintrc.json": "commitlint", + ".commitlintrc.yaml": "commitlint", + ".commitlintrc.yml": "commitlint", + ".commitlintrc.js": "commitlint", + ".commitlintrc.cjs": "commitlint", + ".commitlintrc.ts": "commitlint", + ".commitlintrc.cts": "commitlint", + "commitlint.config.js": "commitlint", + "commitlint.config.cjs": "commitlint", + "commitlint.config.ts": "commitlint", + "commitlint.config.cts": "commitlint", + ".terraform-version": "terraformversion", + TerraFile: "terrafile", + "tfstate.backup": "terraform", + ".code-workspace": "codeworkspace", + "hardhat.config.js": "hardhat", + "hardhat.config.ts": "hardhat", + "hardhat.config.cts": "hardhat", + "hardhat.config.cjs": "hardhat", + "hardhat.config.mjs": "hardhat", + "taze.config.js": "taze", + "taze.config.ts": "taze", + "taze.config.cjs": "taze", + "taze.config.mjs": "taze", + ".tazerc.json": "taze", + "turbo.json": "turbo", + "turbo.jsonc": "turbo", + "uno.config.ts": "unocss", + "uno.config.js": "unocss", + "uno.config.mjs": "unocss", + "uno.config.mts": "unocss", + "unocss.config.ts": "unocss", + "unocss.config.js": "unocss", + "unocss.config.mjs": "unocss", + "unocss.config.mts": "unocss", + "atomizer.config.js": "atomizer", + "atomizer.config.cjs": "atomizer", + "atomizer.config.mjs": "atomizer", + "atomizer.config.ts": "atomizer", + "esbuild.js": "esbuild", + "esbuild.mjs": "esbuild", + "esbuild.cjs": "esbuild", + "esbuild.ts": "esbuild", + "mix.exs": "mix", + "mix.lock": "mixlock", + ".DS_Store": "dsstore", + "remix.config.js": "remix", + "remix.config.cjs": "remix", + "remix.config.mjs": "remix", + "remix.config.ts": "remix", + "xmake.lua": "xmake", + ".sailsrc": "sails", + "farm.config.ts": "farm", + "farm.config.js": "farm", + "bunfig.toml": "bun", + ".bunfig.toml": "bun", + "bun.lockb": "bunlock", + "bun.lock": "bunlock", + ".air.toml": "air", + "rome.json": "rome", + "biome.json": "biome", + "bicepconfig.json": "bicepconfig", + "drizzle.config.ts": "drizzle", + "drizzle.config.js": "drizzle", + "drizzle.config.json": "drizzle", + "panda.config.ts": "panda", + "panda.config.js": "panda", + "panda.config.json": "panda", + "panda.config.cjs": "panda", + "panda.config.mjs": "panda", + "panda.config.cts": "panda", + "panda.config.mts": "panda", + ".buckconfig": "buck", + "Ballerina.toml": "ballerinaconfig", + "knip.json": "knip", + "knip.jsonc": "knip", + ".knip.json": "knip", + ".knip.jsonc": "knip", + "knip.ts": "knip", + "knip.js": "knip", + "knip.config.ts": "knip", + "knip.config.js": "knip", + "todo.md": "todo", + ".todo.md": "todo", + "todo.txt": "todo", + ".todo.txt": "todo", + todo: "todo", + "mkdocs.yml": "mkdocs", + "mkdocs.yaml": "mkdocs", + "gleam.toml": "gleamconfig", + ".oxlintrc.json": "oxlint", + "oxlint.json": "oxlint", + "oxlint.config.js": "oxlint", + "oxlint.config.ts": "oxlint", + "oxlint.config.cjs": "oxlint", + "oxlint.config.mjs": "oxlint", + "oxlint.config.cts": "oxlint", + "oxlint.config.mts": "oxlint", + ".cursorrules": "cursor", + "plopfile.js": "plop", + "plopfile.cjs": "plop", + "plopfile.mjs": "plop", + "plopfile.ts": "plop", + "plopfile.cts": "plop", + "config.mockoon.json": "mockoon", + "mockoon.json": "mockoon", + "mockoon.yaml": "mockoon", + "mockoon.yml": "mockoon", + "mockoon.env": "mockoon", + "mockoon.env.json": "mockoon", + "mockoon.env.yaml": "mockoon", + "mockoon.env.yml": "mockoon", + "mockoon.env.js": "mockoon", + "mockoon.env.ts": "mockoon", + "mockoon.env.cjs": "mockoon", + "mockoon.env.mjs": "mockoon", + "mockoon.env.cts": "mockoon", + "mockoon.env.mts": "mockoon", + "copilot-instructions.md": "copilot", + ".copilot-instructions": "copilot", + ".instructions": "instructions", + "instructions.md": "instructions", + "instructions.txt": "instructions", + instructions: "instructions", + "instructions.json": "instructions", + "instructions.yaml": "instructions", + "instructions.yml": "instructions", + ".keep": "keep", + ".keepignore": "keep", + "CLAUDE.md": "claude", + "claude.md": "claude", + "claude.txt": "claude", + claude: "claude", + "claude.json": "claude", + "claude.yaml": "claude", + ".claude_code_config": "claude", + ".claude": "claude", + "claude.config.js": "claude", + ".claude.yaml": "claude", + ".clauderc": "claude", + "claude-instructions.md": "claude", + ".claude-code": "claude", + "claude-code.config": "claude", + }, + languageIds: { + actionscript: "actionscript", + ada: "ada", + advpl: "advpl", + affectscript: "affectscript", + al: "al", + ansible: "ansible", + antlr: "antlr", + anyscript: "anyscript", + apacheconf: "apache", + apex: "apex", + apiblueprint: "apib", + apl: "apl", + applescript: "applescript", + asciidoc: "asciidoc", + asp: "asp", + "asp (html)": "asp", + arm: "assembly", + asm: "assembly", + ats: "ats", + ahk: "autohotkey", + autoit: "autoit", + avro: "avro", + azcli: "azure", + "azure-pipelines": "azurepipelines", + ballerina: "ballerina", + bat: "bat", + bats: "bats", + bazel: "bazel", + befunge: "befunge", + befunge98: "befunge", + biml: "biml", + blade: "blade", + "laravel-blade": "blade", + bolt: "bolt", + bosque: "bosque", + c: "c", + "c-al": "c_al", + cabal: "cabal", + caddyfile: "caddy", + cddl: "cddl", + ceylon: "ceylon", + cfml: "cf", + "lang-cfml": "cf", + cfc: "cfc", + cfmhtml: "cfm", + cookbook: "chef_cookbook", + clojure: "clojure", + clojurescript: "clojurescript", + "manifest-yaml": "cloudfoundry", + cmake: "cmake", + "cmake-cache": "cmake", + cobol: "cobol", + coffeescript: "coffeescript", + properties: "properties", + dotenv: "config", + confluence: "confluence", + cpp: "cpp", + crystal: "crystal", + csharp: "csharp", + css: "css", + feature: "cucumber", + cuda: "cuda", + cython: "cython", + dal: "dal", + dart: "dartlang", + pascal: "pascal", + objectpascal: "pascal", + diff: "diff", + "django-html": "django", + "django-txt": "django", + d: "dlang", + dscript: "dlang", + dml: "dlang", + diet: "dlang", + dockerfile: "docker", + ignore: "docker", + dotjs: "dotjs", + doxygen: "doxygen", + drools: "drools", + dustjs: "dustjs", + dylan: "dylan", + "dylan-lid": "dylan", + edge: "edge", + eex: "eex", + "html-eex": "eex", + es: "elastic", + elixir: "elixir", + elm: "elm", + erb: "erb", + erlang: "erlang", + falcon: "falcon", + fortran: "fortran", + "fortran-modern": "fortran", + FortranFreeForm: "fortran", + "fortran_fixed-form": "fortran", + ftl: "freemarker", + fsharp: "fsharp", + fthtml: "fthtml", + galen: "galen", + "gml-gms": "gamemaker", + "gml-gms2": "gamemaker2", + "gml-gm81": "gamemaker81", + gcode: "gcode", + genstat: "genstat", + "git-commit": "git", + "git-rebase": "git", + glsl: "glsl", + glyphs: "glyphs", + gnuplot: "gnuplot", + go: "go", + golang: "go", + "go-sum": "go", + "go-mod": "go", + "go-xml": "go", + gdscript: "godot", + graphql: "graphql", + dot: "graphviz", + groovy: "groovy", + haml: "haml", + handlebars: "handlebars", + harbour: "harbour", + haskell: "haskell", + "literate haskell": "haskell", + haxe: "haxe", + hxml: "haxe", + "Haxe AST dump": "haxe", + helm: "helm", + hjson: "hjson", + hlsl: "opengl", + "home-assistant": "homeassistant", + hosts: "host", + html: "html", + http: "http", + "hunspell.aff": "hunspell", + "hunspell.dic": "hunspell", + hy: "hy", + icl: "icl", + imba: "imba", + "4GL": "informix", + ini: "conf", + ink: "ink", + innosetup: "innosetup", + io: "io", + iodine: "iodine", + janet: "janet", + java: "java", + raku: "raku", + jekyll: "jekyll", + jenkins: "jenkins", + declarative: "jenkins", + jenkinsfile: "jenkins", + jinja: "jinja", + "code-referencing": "vscode", + "search-result": "vscode", + type: "vscode", + javascript: "js", + json: "json", + jsonl: "json", + "json-tmlanguage": "json", + jsonc: "json", + json5: "json5", + jsonnet: "jsonnet", + julia: "julia", + juliamarkdown: "julia", + kivy: "kivy", + kos: "kos", + kotlin: "kotlin", + kusto: "kusto", + latino: "latino", + less: "less", + lex: "lex", + lisp: "lisp", + lolcode: "lolcode", + "code-text-binary": "binary", + lsl: "lsl", + lua: "lua", + makefile: "makefile", + markdown: "markdown", + marko: "marko", + matlab: "matlab", + maxscript: "maxscript", + mel: "maya", + mediawiki: "mediawiki", + meson: "meson", + mjml: "mjml", + mlang: "mlang", + powerquerymlanguage: "mlang", + mojolicious: "mojolicious", + mongo: "mongo", + mson: "mson", + nearley: "nearly", + nim: "nim", + nimble: "nimble", + nix: "nix", + nsis: "nsi", + nfl: "nsi", + nsl: "nsi", + bridlensis: "nsi", + nunjucks: "nunjucks", + "objective-c": "c", + "objective-cpp": "cpp", + ocaml: "ocaml", + ocamllex: "ocaml", + menhir: "ocaml", + openhab: "openHAB", + pddl: "pddl", + happenings: "pddl_happenings", + plan: "pddl_plan", + "phoenix-heex": "eex", + perl: "perl", + perl6: "perl6", + pgsql: "pgsql", + php: "php", + pine: "pine", + pinescript: "pine", + "pip-requirements": "python", + "platformio-debug.disassembly": "platformio", + "platformio-debug.memoryview": "platformio", + "platformio-debug.asm": "platformio", + plsql: "plsql", + oracle: "plsql", + polymer: "polymer", + pony: "pony", + postcss: "postcss", + powershell: "powershell", + prisma: "prisma", + pde: "processinglang", + abl: "progress", + prolog: "prolog", + prometheus: "prometheus", + proto3: "protobuf", + proto: "protobuf", + jade: "pug", + pug: "pug", + puppet: "puppet", + purescript: "purescript", + pyret: "pyret", + python: "python", + qlik: "qlikview", + qml: "qml", + qsharp: "qsharp", + r: "r", + racket: "racket", + raml: "raml", + razor: "razor", + aspnetcorerazor: "razor", + javascriptreact: "reactjs", + typescriptreact: "reactts", + reason: "reason", + red: "red", + restructuredtext: "restructuredtext", + rexx: "rexx", + riot: "riot", + rmd: "rmd", + mdx: "markdownx", + robot: "robotframework", + ruby: "ruby", + rust: "rust", + san: "san", + SAS: "sas", + sbt: "sbt", + scala: "scala", + scilab: "scilab", + vbscript: "script", + scss: "scss", + sdl: "sdlang", + shaderlab: "shaderlab", + shellscript: "shell", + silverstripe: "silverstripe", + eskip: "skipper", + slang: "slang", + slice: "slice", + slim: "slim", + smarty: "smarty", + snort: "snort", + solidity: "solidity", + snippets: "vscode", + sqf: "sqf", + sql: "sql", + squirrel: "squirrel", + stan: "stan", + stata: "stata", + stencil: "stencil", + "stencil-html": "stencil", + stylable: "stylable", + "source.css.styled": "styled", + stylus: "stylus", + svelte: "svelte", + Swagger: "swagger", + swagger: "swagger", + swift: "swift", + swig: "swig", + "cuda-cpp": "nvidia", + "systemd-unit-file": "systemd", + systemverilog: "systemverilog", + t4: "t4tt", + tera: "tera", + terraform: "terraform", + tex: "latex", + log: "log", + dockercompose: "docker", + latex: "latex", + "vue-directives": "vue", + "vue-injection-markdown": "vue", + "vue-interpolations": "vue", + "vue-sfc-style-variable-injection": "vue", + bibtex: "latex", + doctex: "tex", + plaintext: "text", + textile: "textile", + toml: "toml", + tt: "tt", + ttcn: "ttcn", + twig: "twig", + typescript: "typescript", + typoscript: "typo3", + vb: "vb", + vba: "vba", + velocity: "velocity", + verilog: "verilog", + vhdl: "vhdl", + viml: "vim", + v: "vlang", + volt: "volt", + vue: "vue", + wasm: "wasm", + wat: "wasm", + wenyan: "wenyan", + wolfram: "wolfram", + wurstlang: "wurst", + wurst: "wurst", + xmake: "xmake", + xml: "xml", + xquery: "xquery", + xsl: "xml", + yacc: "yacc", + yaml: "yaml", + "yaml-tmlanguage": "yaml", + yang: "yang", + zig: "zig", + "vitest-snapshot": "vitest", + instructions: "instructions", + prompt: "prompt", + }, + light: { + file: "_file_light", + folder: "_folder_light", + folderExpanded: "_folder_light_open", + rootFolder: "_root_folder_light", + rootFolderExpanded: "_root_folder_light_open", + fileExtensions: { + wma: "audio", + wav: "audiowav", + vox: "audio", + tta: "audio", + raw: "audio", + ra: "audio", + opus: "audio", + ogg: "audioogg", + oga: "audio", + msv: "audio", + mpc: "audio", + mp3: "audiomp3", + mogg: "audio", + mmf: "audio", + m4p: "audio", + m4b: "audio", + m4a: "audio", + ivs: "audio", + iklax: "audio", + gsm: "audio", + flac: "audio", + dvf: "audio", + dss: "audio", + dct: "audio", + au: "audio", + ape: "audio", + amr: "audio", + aiff: "audio", + act: "audio", + aac: "audio", + wmv: "video", + webm: "video", + vob: "video", + svi: "video", + rmvb: "video", + rm: "video", + ogv: "video", + nsv: "video", + mpv: "video", + mpg: "video", + mpeg2: "video", + mpeg: "video", + mpe: "video", + mp4: "mp4", + mp2: "video", + mov: "mov", + mk3d: "video", + mkv: "video", + m4v: "video", + m2v: "video", + flv: "video", + f4v: "video", + f4p: "video", + f4b: "video", + f4a: "video", + qt: "video", + divx: "video", + avi: "video", + amv: "video", + asf: "video", + "3gp": "video", + "3g2": "video", + ico: "imageico", + tiff: "image", + bmp: "image", + png: "imagepng", + gif: "imagegif", + jpg: "imagejpg", + jpeg: "imagejpg", + "7z": "zip", + "7zip": "zip", + "blade.php": "blade", + "cfg.dist": "conf", + "cjs.map": "jsmap", + "controller.js": "nestjscontroller", + "controller.ts": "nestjscontroller", + "repository.js": "nestjsrepository", + "repository.ts": "nestjsrepository", + "scheduler.js": "nestscheduler", + "scheduler.ts": "nestscheduler", + "css.js": "vanillaextract", + "css.ts": "vanillaextract", + "css.map": "cssmap", + "d.ts": "typescriptdef", + "decorator.js": "nestjsdecorator", + "decorator.ts": "nestjsdecorator", + "drawio.png": "drawio", + "drawio.svg": "drawio", + "e2e-spec.ts": "testts", + "e2e-spec.tsx": "testts", + "e2e-test.ts": "testts", + "e2e-test.tsx": "testts", + "filter.js": "nestjsfilter", + "filter.ts": "nestjsfilter", + "format.ps1xml": "powershell_format", + "gemfile.lock": "bundler", + "gradle.kts": "gradlekotlin", + "guard.js": "nestjsguard", + "guard.ts": "nestjsguard", + "jar.old": "jar", + "js.flow": "flow", + "js.map": "jsmap", + "js.snap": "jest_snapshot", + "json-ld": "jsonld", + "jsx.snap": "jest_snapshot", + "layout.htm": "layout", + "layout.html": "layout", + "marko.js": "markojs", + "mjs.map": "jsmap", + "module.ts": "nestjsmodule", + "resolver.js": "nestjsresolver", + "resolver.ts": "nestjsresolver", + "service.js": "nestjsservice", + "service.ts": "nestjsservice", + "entity.js": "nestjsentity", + "entity.ts": "nestjsentity", + "interceptor.js": "nestjsinterceptor", + "interceptor.ts": "nestjsinterceptor", + "dto.js": "nestjsdto", + "dto.ts": "nestjsdto", + "spec.js": "testjs", + "spec.jsx": "testjs", + "spec.mjs": "testjs", + "spec.ts": "testts", + "spec.tsx": "testts", + "stories.js": "storybook", + "stories.jsx": "storybook", + "stories.ts": "storybook", + "stories.tsx": "storybook", + "stories.svelte": "storybook", + "story.js": "storybook", + "story.jsx": "storybook", + "story.ts": "storybook", + "story.tsx": "storybook", + "story.svelte": "storybook", + "test.cjs": "testjs", + "test.cts": "testts", + "test.js": "testjs", + "test.jsx": "testjs", + "test.mjs": "testjs", + "test.mts": "testts", + "test.ts": "testts", + "test.tsx": "testts", + "ts.snap": "jest_snapshot", + "tsx.snap": "jest_snapshot", + "types.ps1xml": "powershell_types", + a: "binary", + accda: "access", + accdb: "access", + accdc: "access", + accde: "access", + accdp: "access", + accdr: "access", + accdt: "access", + accdu: "access", + ade: "access", + adoc: "adoc", + adp: "access", + afdesign: "afdesign", + affinitydesigner: "afdesign", + affinityphoto: "afphoto", + affinitypublisher: "afpub", + afphoto: "afphoto", + afpub: "afpub", + ai: "ai", + app: "binary", + ascx: "aspx", + asm: "binary", + aspx: "aspx", + astro: "astro", + awk: "awk", + bat: "bat", + bc: "llvm", + bcmx: "outlook", + bicep: "bicep", + bin: "binary", + blade: "blade", + bz2: "zip", + bzip2: "zip", + c: "c", + cake: "cake", + cer: "cert", + pvk: "pvk", + pfx: "pfx", + spc: "spc", + cfg: "conf", + civet: "civet", + cjm: "clojure", + cl: "opencl", + class: "class", + cli: "cli", + clj: "clojure", + cljc: "clojure", + cljs: "clojure", + cljx: "clojure", + cma: "binary", + cmd: "cli", + cmi: "binary", + cmo: "binary", + cmx: "binary", + cmxa: "binary", + comp: "opengl", + conf: "conf", + cpp: "cpp", + cr: "crystal", + crec: "lync", + crl: "cert", + crt: "cert", + cs: "csharp", + cshtml: "cshtml", + csproj: "csproj", + csr: "cert", + css: "css", + csv: "csv", + csx: "csharp", + d: "d", + dart: "dartlang", + db: "sqlite", + db3: "sqlite", + der: "cert", + diff: "diff", + dio: "drawio", + djt: "django", + dll: "binary", + dmp: "log", + doc: "word", + docm: "word", + docx: "word", + dot: "word", + dotm: "word", + dotx: "word", + drawio: "drawio", + dta: "stata", + eco: "docpad", + edge: "edge", + edn: "clojure", + eex: "eex", + ejs: "ejs", + el: "emacs", + elc: "emacs", + elm: "elm", + enc: "license", + ensime: "ensime", + env: "env", + eps: "eps", + erb: "erb", + erl: "erlang", + eskip: "skipper", + ex: "elixir", + exe: "binary", + exp: "tcl", + exs: "exs", + fbx: "fbx", + feature: "cucumber", + fig: "figma", + fish: "shell", + fla: "fla", + fods: "excel", + frag: "opengl", + fs: "fsharp", + fsproj: "fsproj", + ftl: "freemarker", + gbl: "gbl", + gd: "godot", + gemfile: "bundler", + geom: "opengl", + glsl: "opengl", + gmx: "gamemaker", + go: "go", + godot: "godot", + gql: "graphql", + gradle: "gradle", + groovy: "groovy", + gz: "zip", + h: "cheader", + haml: "haml", + hbs: "handlebars", + hcl: "hashicorp", + hl: "binary", + hlsl: "opengl", + hpp: "hpp", + hs: "haskell", + html: "html", + hxp: "lime", + hxproj: "haxedevelop", + ibc: "idrisbin", + idr: "idris", + ilk: "binary", + imba: "imba", + inc: "inc", + include: "inc", + info: "info", + infopathxml: "infopath", + ini: "conf", + ino: "arduino", + ipkg: "idrispkg", + ipynb: "ipynb", + iuml: "plantuml", + jar: "jar", + java: "java", + jbuilder: "jbuilder", + j2: "jinja", + jinja: "jinja", + jinja2: "jinja", + jl: "julia", + json5: "json5", + jsonld: "jsonld", + jsp: "jsp", + jss: "jss", + key: "key", + kit: "codekit", + kt: "kotlin", + kts: "kotlins", + laccdb: "access", + ldb: "access", + less: "less", + lib: "binary", + lidr: "idris", + liquid: "liquid", + ll: "llvm", + lnk: "lnk", + log: "log", + ls: "livescript", + lucee: "cf", + m: "m", + makefile: "makefile", + mam: "access", + map: "map", + maq: "access", + markdown: "markdown", + master: "layout", + mdb: "access", + mdown: "markdown", + mdw: "access", + mdx: "markdownx", + mesh: "mesh", + mex: "matlab", + mexn: "matlab", + mexrs6: "matlab", + mf: "manifest", + mint: "mint", + mjml: "mjml", + ml: "ocaml", + mli: "ocamli", + mll: "ocamll", + mly: "ocamly", + mn: "matlab", + mo: "motoko", + msg: "outlook", + mst: "mustache", + mum: "matlab", + mustache: "mustache", + mx: "matlab", + mx3: "matlab", + n: "binary", + ndll: "binary", + neon: "neon", + nim: "nim", + nix: "nix", + njk: "njk", + njs: "nunjucks", + njsproj: "njsproj", + nunj: "nunjucks", + nupkg: "nuget", + nuspec: "nuget", + nvim: "nvim", + o: "binary", + ocrec: "lync", + ods: "excel", + oft: "outlook", + one: "onenote", + onepkg: "onenote", + onetoc: "onenote", + onetoc2: "onenote", + opencl: "opencl", + org: "org", + otf: "fontotf", + otm: "outlook", + ovpn: "ovpn", + P: "prolog", + p12: "cert", + p7b: "cert", + p7r: "cert", + pa: "powerpoint", + patch: "diff", + pcd: "pcl", + pck: "plsql_package", + pdb: "binary", + pde: "arduino", + pdf: "pdf", + pem: "key", + pex: "xml", + phar: "php", + php1: "php", + php2: "php", + php3: "php", + php4: "php", + php5: "php", + php6: "php", + phps: "php", + phpsa: "php", + phpt: "php", + phtml: "php", + pkb: "plsql_package_body", + pkg: "package", + pkh: "plsql_package_header", + pks: "plsql_package_spec", + pl: "perl", + plantuml: "plantuml", + plist: "config", + pm: "perlm", + po: "poedit", + postcss: "postcssconfig", + pcss: "postcssconfig", + pot: "powerpoint", + potm: "powerpoint", + potx: "powerpoint", + ppa: "powerpoint", + ppam: "powerpoint", + pps: "powerpoint", + ppsm: "powerpoint", + ppsx: "powerpoint", + ppt: "powerpoint", + pptm: "powerpoint", + pptx: "powerpoint", + pri: "qt", + prisma: "prisma", + pro: "prolog", + properties: "properties", + ps1: "powershell", + psd: "photoshop", + psd1: "powershelldata", + psm1: "powershellmodule", + psmdcp: "nuget", + pst: "outlook", + pu: "plantuml", + pub: "publisher", + puml: "plantuml", + puz: "publisher", + pyc: "binary", + pyd: "binary", + pyo: "binary", + q: "q", + qbs: "qbs", + qvd: "qlikview", + qvw: "qlikview", + rake: "rake", + rar: "zip", + gzip: "zip", + razor: "razor", + rb: "ruby", + reg: "registry", + rego: "rego", + res: "rescript", + resi: "rescriptinterface", + rjson: "rjson", + rproj: "rproj", + rs: "rust", + rsx: "rust", + ron: "ron", + odin: "odin", + rt: "reacttemplate", + rwd: "matlab", + pas: "pascal", + pp: "pascal", + p: "pascal", + lpr: "lazarusproject", + lps: "lazarusproject", + lpi: "lazarusproject", + lfm: "lazarusproject", + lrs: "lazarusproject", + lpk: "lazarusproject", + dpr: "delphiproject", + dproj: "delphiproject", + dfm: "delphiproject", + sass: "scss", + sc: "scala", + scala: "scala", + scpt: "binary", + scptd: "binary", + scss: "scss", + sentinel: "sentinel", + sig: "onenote", + sketch: "sketch", + slddc: "matlab", + sldm: "powerpoint", + sldx: "powerpoint", + sln: "sln", + sls: "saltstack", + slx: "matlab", + smv: "matlab", + so: "binary", + sol: "sol", + sql: "sql", + sqlite: "sqlite", + sqlite3: "sqlite", + src: "cert", + sss: "sss", + sst: "cert", + stl: "cert", + storyboard: "storyboard", + styl: "stylus", + suo: "suo", + svelte: "svelte", + svg: "svg", + swc: "flash", + swf: "flash", + swift: "swift", + tar: "zip", + tcl: "tcl", + templ: "tmpl", + tesc: "opengl", + tese: "opengl", + tex: "latex", + texi: "tex", + tf: "terraform", + tfstate: "terraform", + tfvars: "terraformvars", + tgz: "zip", + tikz: "tex", + tlg: "log", + tmlanguage: "xml", + tmpl: "tmpl", + todo: "todo", + toml: "toml", + tpl: "smarty", + tres: "tres", + tscn: "tscn", + tst: "test", + tsx: "reactts", + jsx: "reactjs", + tt2: "tt", + ttf: "fontttf", + twig: "twig", + txt: "txt", + ui: "ui", + unity: "shaderlab", + user: "user", + v: "v", + vala: "vala", + vapi: "vapi", + vash: "vash", + vbhtml: "vbhtml", + vbproj: "vbproj", + vcxproj: "vcxproj", + vert: "opengl", + vhd: "vhd", + vhdl: "vhdl", + vsix: "vscode", + vsixmanifest: "manifest", + wasm: "wasm", + webp: "imagewebp", + wgsl: "wgsl", + wll: "word", + woff: "fontwoff", + eot: "fonteot", + woff2: "fontwoff2", + wv: "audiowv", + wxml: "wxml", + wxss: "wxss", + xcodeproj: "xcode", + xfl: "xfl", + xib: "xib", + xlf: "xliff", + xliff: "xliff", + xls: "excel", + xlsm: "excel", + xlsx: "excel", + xsf: "infopath", + xsn: "infopath", + xtp2: "infopath", + xvc: "matlab", + xz: "zip", + yy: "gamemaker2", + yyp: "gamemaker2", + zig: "zig", + zip: "zip", + zipx: "zip", + zz: "zip", + deflate: "zip", + brotli: "brotli", + kra: "krita", + mgcb: "mgcb", + anim: "anim", + "cy.ts": "cypressts", + "cy.js": "cypressjs", + hx: "haxe", + hxml: "haxeml", + gr: "grain", + slim: "slim", + obj: "obj", + mtl: "mtl", + bicepparam: "bicepparam", + proto: "proto", + wren: "wren", + "docker-compose.yml": "docker", + excalidraw: "excalidraw", + "excalidraw.json": "excalidraw", + "excalidraw.svg": "excalidraw", + "excalidraw.png": "excalidraw", + bazel: "bazel", + bzl: "bazel", + bazelignore: "bazelignore", + bazelrc: "bazel", + http: "http", + rkt: "racket", + rktl: "racket", + bru: "bruno", + nelua: "nelua", + mermaid: "mermaid", + mmd: "mermaid", + bal: "ballerina", + hash: "hash", + gleam: "gleam", + lock: "lock", + yang: "yang", + yin: "yin", + mdc: "cursor", + uml: "plantuml", + Identifier: "identifier", + cls: "salesforce", + ".instructions.md": "instructions", + ".instructions.txt": "instructions", + ".instructions.json": "instructions", + ".instructions.yaml": "instructions", + ".instructions.yml": "instructions", + silq: "silq", + eraserdiagram: "eraser", + }, + fileNames: { + "webpack.config.images.js": "webpack", + "webpack.test.conf.ts": "webpack", + "webpack.test.conf.coffee": "webpack", + "webpack.test.conf.js": "webpack", + "webpack.rules.ts": "webpack", + "webpack.rules.coffee": "webpack", + "webpack.rules.js": "webpack", + "webpack.renderer.config.ts": "webpack", + "webpack.renderer.config.coffee": "webpack", + "webpack.renderer.config.js": "webpack", + "webpack.plugins.ts": "webpack", + "webpack.plugins.coffee": "webpack", + "webpack.plugins.js": "webpack", + "webpack.mix.ts": "webpack", + "webpack.mix.coffee": "webpack", + "webpack.mix.js": "webpack", + "webpack.main.config.ts": "webpack", + "webpack.main.config.coffee": "webpack", + "webpack.main.config.js": "webpack", + "webpack.prod.conf.ts": "webpack", + "webpack.prod.conf.coffee": "webpack", + "webpack.prod.conf.js": "webpack", + "webpack.prod.ts": "webpack", + "webpack.prod.coffee": "webpack", + "webpack.prod.js": "webpack", + "webpack.dev.conf.ts": "webpack", + "webpack.dev.conf.coffee": "webpack", + "webpack.dev.conf.js": "webpack", + "webpack.dev.ts": "webpack", + "webpack.dev.coffee": "webpack", + "webpack.dev.js": "webpack", + "webpack.config.production.babel.ts": "webpack", + "webpack.config.production.babel.coffee": "webpack", + "webpack.config.production.babel.js": "webpack", + "webpack.config.prod.babel.ts": "webpack", + "webpack.config.prod.babel.coffee": "webpack", + "webpack.config.prod.babel.js": "webpack", + "webpack.config.test.babel.ts": "webpack", + "webpack.config.test.babel.coffee": "webpack", + "webpack.config.test.babel.js": "webpack", + "webpack.config.staging.babel.ts": "webpack", + "webpack.config.staging.babel.coffee": "webpack", + "webpack.config.staging.babel.js": "webpack", + "webpack.config.development.babel.ts": "webpack", + "webpack.config.development.babel.coffee": "webpack", + "webpack.config.development.babel.js": "webpack", + "webpack.config.dev.babel.ts": "webpack", + "webpack.config.dev.babel.coffee": "webpack", + "webpack.config.dev.babel.js": "webpack", + "webpack.config.common.babel.ts": "webpack", + "webpack.config.common.babel.coffee": "webpack", + "webpack.config.common.babel.js": "webpack", + "webpack.config.base.babel.ts": "webpack", + "webpack.config.base.babel.coffee": "webpack", + "webpack.config.base.babel.js": "webpack", + "webpack.config.babel.ts": "webpack", + "webpack.config.babel.coffee": "webpack", + "webpack.config.babel.js": "webpack", + "webpack.config.production.ts": "webpack", + "webpack.config.production.coffee": "webpack", + "webpack.config.production.js": "webpack", + "webpack.config.prod.ts": "webpack", + "webpack.config.prod.coffee": "webpack", + "webpack.config.prod.js": "webpack", + "webpack.config.test.ts": "webpack", + "webpack.config.test.coffee": "webpack", + "webpack.config.test.js": "webpack", + "webpack.config.staging.ts": "webpack", + "webpack.config.staging.coffee": "webpack", + "webpack.config.staging.js": "webpack", + "webpack.config.development.ts": "webpack", + "webpack.config.development.coffee": "webpack", + "webpack.config.development.js": "webpack", + "webpack.config.dev.ts": "webpack", + "webpack.config.dev.coffee": "webpack", + "webpack.config.dev.js": "webpack", + "webpack.config.common.ts": "webpack", + "webpack.config.common.coffee": "webpack", + "webpack.config.common.js": "webpack", + "webpack.config.base.ts": "webpack", + "webpack.config.base.coffee": "webpack", + "webpack.config.base.js": "webpack", + "webpack.config.ts": "webpack", + "webpack.config.coffee": "webpack", + "webpack.config.js": "webpack", + "webpack.common.ts": "webpack", + "webpack.common.coffee": "webpack", + "webpack.common.js": "webpack", + "webpack.base.conf.ts": "webpack", + "webpack.base.conf.coffee": "webpack", + "webpack.base.conf.js": "webpack", + ".angular-cli.json": "angular", + "angular-cli.json": "angular", + "angular.json": "angular", + ".angular.json": "angular", + "api-extractor.json": "api_extractor", + "api-extractor-base.json": "api_extractor", + "appveyor.yml": "appveyor", + ".appveyor.yml": "appveyor", + "aurelia.json": "aurelia", + "azure-pipelines.yml": "azure", + ".vsts-ci.yml": "azure", + ".babelrc": "babel", + ".babelignore": "babel", + ".babelrc.js": "babel", + ".babelrc.cjs": "babel", + ".babelrc.mjs": "babel", + ".babelrc.json": "babel", + "babel.config.js": "babel", + "babel.config.cjs": "babel", + "babel.config.mjs": "babel", + "babel.config.json": "babel", + "vetur.config.js": "vue", + "vetur.config.ts": "vue", + ".bzrignore": "bazaar", + ".bazelrc": "bazel", + "bazel.rc": "bazel", + "bazel.bazelrc": "bazel", + BUILD: "bazel", + "bitbucket-pipelines.yml": "bitbucketpipeline", + ".bithoundrc": "bithound", + ".bowerrc": "bower", + "bower.json": "bower", + ".browserslistrc": "browserslist", + browserslist: "browserslist", + gemfile: "bundler", + "gemfile.lock": "bundler", + ".ruby-version": "bundler", + "capacitor.config.json": "capacitor", + "cargo.toml": "cargo", + "cargo.lock": "cargo", + chefignore: "chef", + berksfile: "chef", + "berksfile.lock": "chef", + policyfile: "chef", + "circle.yml": "circleci", + ".cfignore": "cloudfoundry", + ".codacy.yml": "codacy", + ".codacy.yaml": "codacy", + ".codeclimate.yml": "codeclimate", + "codecov.yml": "codecov", + ".codecov.yml": "codecov", + "config.codekit": "codekit", + "config.codekit2": "codekit", + "config.codekit3": "codekit", + ".config.codekit": "codekit", + ".config.codekit2": "codekit", + ".config.codekit3": "codekit", + "coffeelint.json": "coffeelint", + ".coffeelintignore": "coffeelint", + "composer.json": "composer", + "composer.lock": "composerlock", + "conanfile.txt": "conan", + "conanfile.py": "conan", + ".condarc": "conda", + ".coveralls.yml": "coveralls", + "crowdin.yml": "crowdin", + ".csscomb.json": "csscomb", + ".csslintrc": "csslint", + ".cvsignore": "cvs", + ".boringignore": "darcs", + "dependabot.yml": "dependabot", + "dependencies.yml": "dependencies", + "devcontainer.json": "devcontainer", + "docker-compose-prod.yml": "docker", + "docker-compose.alpha.yaml": "docker", + "docker-compose.alpha.yml": "docker", + "docker-compose.beta.yaml": "docker", + "docker-compose.beta.yml": "docker", + "docker-compose.ci-build.yml": "docker", + "docker-compose.ci.yaml": "docker", + "docker-compose.ci.yml": "docker", + "docker-compose.dev.yaml": "docker", + "docker-compose.dev.yml": "docker", + "docker-compose.development.yaml": "docker", + "docker-compose.development.yml": "docker", + "docker-compose.local.yaml": "docker", + "docker-compose.local.yml": "docker", + "docker-compose.override.yaml": "docker", + "docker-compose.override.yml": "docker", + "docker-compose.prod.yaml": "docker", + "docker-compose.prod.yml": "docker", + "docker-compose.production.yaml": "docker", + "docker-compose.production.yml": "docker", + "docker-compose.stage.yaml": "docker", + "docker-compose.stage.yml": "docker", + "docker-compose.staging.yaml": "docker", + "docker-compose.staging.yml": "docker", + "docker-compose.test.yaml": "docker", + "docker-compose.test.yml": "docker", + "docker-compose.testing.yaml": "docker", + "docker-compose.testing.yml": "docker", + "docker-compose.vs.debug.yml": "docker", + "docker-compose.vs.release.yml": "docker", + "docker-compose.web.yaml": "docker", + "docker-compose.web.yml": "docker", + "docker-compose.worker.yaml": "docker", + "docker-compose.worker.yml": "docker", + "docker-compose.yaml": "docker", + "docker-compose.yml": "docker", + "Dockerfile-production": "docker", + "dockerfile.alpha": "docker", + "dockerfile.beta": "docker", + "dockerfile.ci": "docker", + "dockerfile.dev": "docker", + "dockerfile.development": "docker", + "dockerfile.local": "docker", + "dockerfile.prod": "docker", + "dockerfile.production": "docker", + "dockerfile.stage": "docker", + "dockerfile.staging": "docker", + "dockerfile.test": "docker", + "dockerfile.testing": "docker", + "dockerfile.web": "docker", + "dockerfile.worker": "docker", + dockerfile: "docker", + "docker-compose.debug.yml": "dockerdebug", + "docker-cloud.yml": "docker", + ".dockerignore": "dockerignore", + ".doczrc": "docz", + "docz.js": "docz", + "docz.json": "docz", + ".docz.js": "docz", + ".docz.json": "docz", + "doczrc.js": "docz", + "doczrc.json": "docz", + "docz.config.js": "docz", + "docz.config.json": "docz", + ".dojorc": "dojo", + ".drone.yml": "drone", + ".drone.yml.sig": "drone", + ".dvc": "dvc", + ".editorconfig": "editorconfig", + "elm-package.json": "elm", + ".ember-cli": "ember", + emakefile: "erlang", + ".emakerfile": "erlang", + ".eslintrc": "eslint", + ".eslintignore": "eslintignore", + ".eslintcache": "eslint", + ".eslintrc.js": "eslint", + ".eslintrc.mjs": "eslint", + ".eslintrc.cjs": "eslint", + ".eslintrc.json": "eslint", + ".eslintrc.yaml": "eslint", + ".eslintrc.yml": "eslint", + ".eslintrc.browser.json": "eslint", + ".eslintrc.base.json": "eslint", + "eslint-preset.js": "eslint", + "eslint.config.js": "eslint", + "eslint.config.cjs": "eslint", + "eslint.config.mjs": "eslint", + "eslint.config.ts": "eslint", + "_eslintrc.cjs": "eslint", + "app.json": "expo", + "app.config.js": "expo", + "app.config.json": "expo", + "app.config.json5": "expo", + "favicon.ico": "favicon", + ".firebaserc": "firebase", + "firebase.json": "firebasehosting", + "firestore.rules": "firestore", + "firestore.indexes.json": "firestore", + ".flooignore": "floobits", + ".flowconfig": "flow", + ".flutter-plugins": "flutter", + ".metadata": "flutter", + ".fossaignore": "fossa", + "ignore-glob": "fossil", + "fuse.js": "fusebox", + "gatsby-config.js": "gatsby", + "gatsby-config.ts": "gatsby", + "gatsby-node.js": "gatsby", + "gatsby-node.ts": "gatsby", + "gatsby-browser.js": "gatsby", + "gatsby-browser.ts": "gatsby", + "gatsby-ssr.js": "gatsby", + "gatsby-ssr.ts": "gatsby", + ".git-blame-ignore-revs": "git", + ".gitattributes": "git", + ".gitconfig": "git", + ".gitignore": "git", + ".gitmodules": "git", + ".gitkeep": "git", + ".mailmap": "git", + ".gitlab-ci.yml": "gitlab", + "glide.yml": "glide", + "go.sum": "go_package", + "go.mod": "go_package", + "go.work": "go_package", + ".gqlconfig": "graphql", + ".graphqlconfig": "graphql_config", + ".graphqlconfig.yml": "graphql_config", + ".graphqlconfig.yaml": "graphql_config", + "greenkeeper.json": "greenkeeper", + "gridsome.config.js": "gridsome", + "gridsome.config.ts": "gridsome", + "gridsome.server.js": "gridsome", + "gridsome.server.ts": "gridsome", + "gridsome.client.js": "gridsome", + "gridsome.client.ts": "gridsome", + "gruntfile.js": "grunt", + "gruntfile.cjs": "grunt", + "gruntfile.mjs": "grunt", + "gruntfile.coffee": "grunt", + "gruntfile.ts": "grunt", + "gruntfile.cts": "grunt", + "gruntfile.mts": "grunt", + "gruntfile.babel.js": "grunt", + "gruntfile.babel.coffee": "grunt", + "gruntfile.babel.ts": "grunt", + "gulpfile.js": "gulp", + "gulpfile.coffee": "gulp", + "gulpfile.ts": "gulp", + "gulpfile.esm.js": "gulp", + "gulpfile.esm.coffee": "gulp", + "gulpfile.esm.ts": "gulp", + "gulpfile.babel.js": "gulp", + "gulpfile.babel.coffee": "gulp", + "gulpfile.babel.ts": "gulp", + "haxelib.json": "haxe", + "checkstyle.json": "haxecheckstyle", + ".p4ignore": "helix", + ".htmlhintrc": "htmlhint", + ".huskyrc": "husky", + "husky.config.js": "husky", + ".huskyrc.js": "husky", + ".huskyrc.json": "husky", + ".huskyrc.yaml": "husky", + ".huskyrc.yml": "husky", + "ionic.project": "ionic", + "ionic.config.json": "ionic", + jakefile: "jake", + "jakefile.js": "jake", + "jest.config.json": "jest", + "jest.json": "jest", + ".jestrc": "jest", + ".jestrc.js": "jest", + ".jestrc.json": "jest", + "jest.config.js": "jest", + "jest.config.cjs": "jest", + "jest.config.mjs": "jest", + "jest.config.babel.js": "jest", + "jest.config.babel.cjs": "jest", + "jest.config.babel.mjs": "jest", + "jest.preset.js": "jest", + "jest.preset.ts": "jest", + "jest.preset.cjs": "jest", + "jest.preset.mjs": "jest", + ".jpmignore": "jpm", + ".jsbeautifyrc": "jsbeautify", + jsbeautifyrc: "jsbeautify", + ".jsbeautify": "jsbeautify", + jsbeautify: "jsbeautify", + "jsconfig.json": "jsconfig", + ".jscpd.json": "jscpd", + "jscpd-report.xml": "jscpd", + "jscpd-report.json": "jscpd", + "jscpd-report.html": "jscpd", + ".jshintrc": "jshint", + ".jshintignore": "jshint", + "karma.conf.js": "karma", + "karma.conf.coffee": "karma", + "karma.conf.ts": "karma", + ".kitchen.yml": "kitchenci", + "kitchen.yml": "kitchenci", + ".kiteignore": "kite", + "layout.html": "layout", + "layout.htm": "layout", + "lerna.json": "lerna", + license: "license", + licence: "license", + "license.md": "license", + "license.txt": "license", + "licence.md": "license", + "licence.txt": "license", + ".lighthouserc.js": "lighthouse", + ".lighthouserc.json": "lighthouse", + ".lighthouserc.yaml": "lighthouse", + ".lighthouserc.yml": "lighthouse", + "include.xml": "lime", + ".lintstagedrc": "lintstagedrc", + "lint-staged.config.js": "lintstagedrc", + ".lintstagedrc.js": "lintstagedrc", + ".lintstagedrc.json": "lintstagedrc", + ".lintstagedrc.yaml": "lintstagedrc", + ".lintstagedrc.yml": "lintstagedrc", + manifest: "manifest", + "manifest.bak": "manifest", + "manifest.json": "manifest", + "manifest.skip": "manifes", + ".markdownlint.json": "markdownlint", + "maven.config": "maven", + "pom.xml": "maven", + "extensions.xml": "maven", + "settings.xml": "maven", + "pom.properties": "maven", + ".hgignore": "mercurial", + "mocha.opts": "mocha", + ".mocharc.js": "mocha", + ".mocharc.json": "mocha", + ".mocharc.jsonc": "mocha", + ".mocharc.yaml": "mocha", + ".mocharc.yml": "mocha", + modernizr: "modernizr", + "modernizr.js": "modernizr", + "modernizrrc.js": "modernizr", + ".modernizr.js": "modernizr", + ".modernizrrc.js": "modernizr", + "moleculer.config.js": "moleculer", + "moleculer.config.json": "moleculer", + "moleculer.config.ts": "moleculer", + ".mtn-ignore": "monotone", + ".nest-cli.json": "nestjs", + "nest-cli.json": "nestjs", + "nestconfig.json": "nestjs", + ".nestconfig.json": "nestjs", + "netlify.toml": "netlify", + _redirects: "netlify", + "ng-tailwind.js": "ng_tailwind", + "nginx.conf": "nginx", + "build.ninja": "ninja", + ".node-version": "node", + ".node_repl_history": "node", + ".node-gyp": "node", + node_modules: "node", + "node_modules.json": "node", + "node-inspect.json": "node", + "node-inspect.js": "node", + "node-inspect.mjs": "node", + "node-inspect.cjs": "node", + "node-inspect.ts": "node", + "node-inspect.config.js": "node", + "node-inspect.config.ts": "node", + "node-inspect.config.cjs": "node", + "node-inspect.config.mjs": "node", + "node-inspect.config.json": "node", + "node-inspect.config.yaml": "node", + "node-inspect.config.yml": "node", + "node-inspectrc": "node", + ".node-inspectrc": "node", + ".node-inspectrc.json": "node", + ".node-inspectrc.yaml": "node", + ".node-inspectrc.yml": "node", + ".node-inspectrc.js": "node", + ".node-inspectrc.ts": "node", + ".node-inspectrc.cjs": "node", + ".node-inspectrc.mjs": "node", + "nodemon.json": "nodemon", + ".npmignore": "npm", + ".npmrc": "npm", + "package.json": "npm", + "package-lock.json": "npmlock", + "npm-shrinkwrap.json": "npm", + ".nsrirc": "nsri", + ".nsriignore": "nsri", + "nsri.config.js": "nsri", + ".nsrirc.js": "nsri", + ".nsrirc.json": "nsri", + ".nsrirc.yaml": "nsri", + ".nsrirc.yml": "nsri", + ".integrity.json": "nsri-integrity", + "nuxt.config.js": "nuxt", + "nuxt.config.ts": "nuxt", + ".nycrc": "nyc", + ".nycrc.json": "nyc", + ".merlin": "ocaml", + "paket.dependencies": "paket", + "paket.lock": "paket", + "paket.references": "paket", + "paket.template": "paket", + "paket.local": "paket", + ".php_cs": "phpcsfixer", + ".php_cs.dist": "phpcsfixer", + phpunit: "phpunit", + "phpunit.xml": "phpunit", + "phpunit.xml.dist": "phpunit", + ".phraseapp.yml": "phraseapp", + pipfile: "pip", + "pipfile.lock": "pip", + "platformio.ini": "platformio", + "pnpmfile.js": "pnpm", + "pnpm-workspace.yaml": "pnpm", + ".postcssrc": "postcssconfig", + ".postcssrc.json": "postcssconfig", + ".postcssrc.yml": "postcssconfig", + ".postcssrc.js": "postcssconfig", + ".postcssrc.cjs": "postcssconfig", + ".postcssrc.mjs": "postcssconfig", + ".postcssrc.ts": "postcssconfig", + ".postcssrc.cts": "postcssconfig", + ".postcssrc.mts": "postcssconfig", + "postcss.config.js": "postcssconfig", + "postcss.config.cjs": "postcssconfig", + "postcss.config.mjs": "postcssconfig", + "postcss.config.ts": "postcssconfig", + "postcss.config.cts": "postcssconfig", + "postcss.config.mts": "postcssconfig", + ".pre-commit-config.yaml": "precommit", + ".pre-commit-hooks.yaml": "precommit", + ".prettierrc": "prettier", + ".prettierignore": "prettierignore", + "prettier.config.js": "prettier", + "prettier.config.cjs": "prettier", + "prettier.config.mjs": "prettier", + "prettier.config.ts": "prettier", + "prettier.config.coffee": "prettier", + ".prettierrc.js": "prettier", + ".prettierrc.json": "prettier", + ".prettierrc.yml": "prettier", + ".prettierrc.yaml": "prettier", + procfile: "procfile", + "protractor.conf.js": "protractor", + "protractor.conf.coffee": "protractor", + "protractor.conf.ts": "protractor", + ".jade-lintrc": "pug", + ".pug-lintrc": "pug", + ".jade-lint.json": "pug", + ".pug-lintrc.js": "pug", + ".pug-lintrc.json": "pug", + ".pyup": "pyup", + ".pyup.yml": "pyup", + qmldir: "qmldir", + "quasar.conf.js": "quasar", + rakefile: "rake", + "razzle.config.js": "razzle", + "readme.md": "readme", + "readme.txt": "readme", + ".rehyperc": "rehype", + ".rehypeignore": "rehype", + ".rehyperc.js": "rehype", + ".rehyperc.json": "rehype", + ".rehyperc.yml": "rehype", + ".rehyperc.yaml": "rehype", + ".remarkrc": "remark", + ".remarkignore": "remark", + ".remarkrc.js": "remark", + ".remarkrc.json": "remark", + ".remarkrc.yml": "remark", + ".remarkrc.yaml": "remark", + ".renovaterc": "renovate", + "renovate.json": "renovate", + ".renovaterc.json": "renovate", + ".retextrc": "retext", + ".retextignore": "retext", + ".retextrc.js": "retext", + ".retextrc.json": "retext", + ".retextrc.yml": "retext", + ".retextrc.yaml": "retext", + "robots.txt": "robots", + "rollup.config.js": "rollup", + "rollup.config.mjs": "rollup", + "rollup.config.coffee": "rollup", + "rollup.config.ts": "rollup", + "rollup.config.common.js": "rollup", + "rollup.config.common.mjs": "rollup", + "rollup.config.common.coffee": "rollup", + "rollup.config.common.ts": "rollup", + "rollup.config.dev.js": "rollup", + "rollup.config.dev.mjs": "rollup", + "rollup.config.dev.coffee": "rollup", + "rollup.config.dev.ts": "rollup", + "rollup.config.prod.js": "rollup", + "rollup.config.prod.mjs": "rollup", + "rollup.config.prod.coffee": "rollup", + "rollup.config.prod.ts": "rollup", + ".rspec": "rspec", + ".rubocop.yml": "rubocop", + ".rubocop_todo.yml": "rubocop", + "rust-toolchain": "rust_toolchain", + ".sentryclirc": "sentry", + "serverless.yml": "serverless", + "snapcraft.yaml": "snapcraft", + ".snyk": "snyk", + ".solidarity": "solidarity", + ".solidarity.json": "solidarity", + ".stylelintrc": "stylelint", + ".stylelintignore": "stylelintignore", + ".stylelintcache": "stylelint", + "stylelint.config.js": "stylelint", + "stylelint.config.cjs": "stylelint", + "stylelint.config.mjs": "stylelint", + "stylelint.config.json": "stylelint", + "stylelint.config.yaml": "stylelint", + "stylelint.config.yml": "stylelint", + "stylelint.config.ts": "stylelint", + ".stylelintrc.js": "stylelint", + ".stylelintrc.json": "stylelint", + ".stylelintrc.yaml": "stylelint", + ".stylelintrc.yml": "stylelint", + ".stylelintrc.ts": "stylelint", + ".stylelintrc.cjs": "stylelint", + ".stylelintrc.mjs": "stylelint", + ".stylish-haskell.yaml": "stylish_haskell", + ".svnignore": "subversion", + "package.pins": "swift", + "symfony.lock": "symfony", + "windi.config.ts": "windi", + "windi.config.js": "windi", + "tailwind.js": "tailwind", + "tailwind.mjs": "tailwind", + "tailwind.cjs": "tailwind", + "tailwind.coffee": "tailwind", + "tailwind.ts": "tailwind", + "tailwind.cts": "tailwind", + "tailwind.mts": "tailwind", + "tailwind.config.mjs": "tailwind", + "tailwind.config.cjs": "tailwind", + "tailwind.config.js": "tailwind", + "tailwind.config.coffee": "tailwind", + "tailwind.config.ts": "tailwind", + "tailwind.config.cts": "tailwind", + "tailwind.config.mts": "tailwind", + ".testcaferc.json": "testcafe", + ".tfignore": "tfs", + "tox.ini": "tox", + ".travis.yml": "travis", + "tsconfig.json": "tsconfig", + "tsconfig.app.json": "tsconfig", + "tsconfig.base.json": "tsconfig", + "tsconfig.common.json": "tsconfig", + "tsconfig.dev.json": "tsconfig", + "tsconfig.development.json": "tsconfig", + "tsconfig.e2e.json": "tsconfig", + "tsconfig.prod.json": "tsconfig", + "tsconfig.production.json": "tsconfig", + "tsconfig.server.json": "tsconfig", + "tsconfig.spec.json": "tsconfig", + "tsconfig.staging.json": "tsconfig", + "tsconfig.test.json": "tsconfig", + "tsconfig.tsd.json": "tsconfig", + "tsconfig.node.json": "tsconfig", + "tsconfig.lib.json": "tsconfig", + "tsconfig.eslint.json": "tsconfig", + "tsconfig.storybook.json": "tsconfig", + "tsconfig.tsbuildinfo": "tsconfig", + "tslint.json": "tslint", + "tslint.yaml": "tslint", + "tslint.yml": "tslint", + ".unibeautifyrc": "unibeautify", + "unibeautify.config.js": "unibeautify", + ".unibeautifyrc.js": "unibeautify", + ".unibeautifyrc.json": "unibeautify", + ".unibeautifyrc.yaml": "unibeautify", + ".unibeautifyrc.yml": "unibeautify", + vagrantfile: "vagrant", + ".vimrc": "vim", + ".gvimrc": "vim", + ".vscodeignore": "vscode", + "tasks.json": "vscode", + "vscodeignore.json": "vscode", + ".vuerc": "vueconfig", + "vue.config.js": "vueconfig", + "vue.config.ts": "vueconfig", + "wallaby.json": "wallaby", + "wallaby.js": "wallaby", + "wallaby.ts": "wallaby", + "wallaby.coffee": "wallaby", + "wallaby.conf.json": "wallaby", + "wallaby.conf.js": "wallaby", + "wallaby.conf.ts": "wallaby", + "wallaby.conf.coffee": "wallaby", + ".wallaby.json": "wallaby", + ".wallaby.js": "wallaby", + ".wallaby.ts": "wallaby", + ".wallaby.coffee": "wallaby", + ".wallaby.conf.json": "wallaby", + ".wallaby.conf.js": "wallaby", + ".wallaby.conf.ts": "wallaby", + ".wallaby.conf.coffee": "wallaby", + ".watchmanconfig": "watchmanconfig", + "wercker.yml": "wercker", + "wpml-config.xml": "wpml", + ".yamllint": "yamllint", + ".yaspellerrc": "yandex", + ".yaspeller.json": "yandex", + "yarn.lock": "yarnlock", + ".yarnrc": "yarn", + ".yarn.installed": "yarn", + ".yarnclean": "yarn", + ".yarn-integrity": "yarn", + ".yarn-metadata.json": "yarn", + ".yarnignore": "yarnignore", + ".yarnrc.yml": "yarn", + ".yarnrc.yaml": "yarn", + ".yarnrc.json": "yarn", + ".yarnrc.json5": "yarn", + ".yarnrc.cjs": "yarn", + ".yarnrc.js": "yarn", + ".yarnrc.lock": "yarn", + ".yarnrc.txt": "yarn", + "yarn-error.log": "yarnerror", + ".yo-rc.json": "yeoman", + "now.json": "vercel", + ".nowignore": "vercel", + "vercel.json": "vercel", + ".vercel": "vercel", + ".vercelignore": "vercel", + "vite.config.js": "vite", + "vite.config.mjs": "vite", + "vite.config.cjs": "vite", + "vite.config.ts": "vite", + "vite.config.mts": "vite", + "vite.config.cts": "vite", + ".nvmrc": "nvm", + "example.env": "env", + ".env.staging": "env", + ".env.sample": "env", + ".env.preprod": "env", + ".env.prod": "env", + ".env.production": "env", + ".env.local": "env", + ".env.dev": "env", + ".env.dev.local": "env", + ".env.dev.prod": "env", + ".env.dev.preprod": "env", + ".env.dev.production": "env", + ".env.dev.staging": "env", + ".env.development": "env", + ".env.example": "env", + ".env.test": "env", + ".env.dist": "env", + ".env.default": "env", + ".jinja": "jinja", + "jenkins.yaml": "jenkins", + "jenkins.yml": "jenkins", + ".compodocrc": "compodoc", + ".compodocrc.json": "compodoc", + ".compodocrc.yaml": "compodoc", + ".compodocrc.yml": "compodoc", + "bsconfig.json": "bsconfig", + ".clang-format": "llvm", + ".clang-tidy": "llvm", + ".clangd": "llvm", + ".parcelrc": "parcel", + dune: "dune", + "dune-project": "duneproject", + ".adonisrc.json": "adonis", + "astro.config.js": "astroconfig", + "astro.config.cjs": "astroconfig", + "astro.config.mjs": "astroconfig", + "astro.config.ts": "astroconfig", + "astro.config.cts": "astroconfig", + "astro.config.mts": "astroconfig", + "svelte.config.js": "svelteconfig", + "svelte.config.ts": "svelteconfig", + ".tool-versions": "toolversions", + "CMakeSettings.json": "cmake", + "CMakeLists.txt": "cmake", + "toolchain.cmake": "cmake", + ".cmake": "cmake", + "Cargo.toml": "cargo", + "Cargo.lock": "cargolock", + "pnpm-lock.yaml": "pnpmlock", + "tauri.conf.json": "tauri", + "tauri.conf.json5": "tauri", + "tauri.linux.conf.json": "tauri", + "tauri.windows.conf.json": "tauri", + "tauri.macos.conf.json": "tauri", + "next.config.js": "nextconfig", + "next.config.mjs": "nextconfig", + "next.config.ts": "nextconfig", + "nextron.config.js": "nextron", + "nextron.config.ts": "nextron", + "poetry.toml": "poetry", + "poetry.lock": "poetrylock", + "pyproject.toml": "pyproject", + "rustfmt.toml": "rustfmt", + ".rustfmt.toml": "rustfmt", + "cucumber.yml": "cucumber", + "cucumber.yaml": "cucumber", + "cucumber.js": "cucumber", + "cucumber.ts": "cucumber", + "cucumber.cjs": "cucumber", + "cucumber.mjs": "cucumber", + "cucumber.json": "cucumber", + "flake.lock": "flakelock", + ace: "ace", + "ace-manifest.json": "acemanifest", + "knexfile.js": "knex", + "knexfile.ts": "knex", + "launch.json": "launch", + "redis.conf": "redis", + "sequelize.js": "sequelize", + "sequelize.ts": "sequelize", + "sequelize.cjs": "sequelize", + ".sequelizerc": "sequelize", + ".sequelizerc.js": "sequelize", + ".sequelizerc.json": "sequelize", + "cypress.json": "cypress", + "cypress.env.json": "cypress", + "cypress.config.js": "cypress", + "cypress.config.ts": "cypress", + "cypress.config.cjs": "cypress", + "playwright.config.ts": "playright", + "playwright.config.js": "playright", + "playwright.config.cjs": "playright", + "vitest.config.ts": "vitest", + "vitest.config.cts": "vitest", + "vitest.config.mts": "vitest", + "vitest.config.js": "vitest", + "vitest.config.cjs": "vitest", + "vitest.config.mjs": "vitest", + "vitest.workspace.ts": "vitest", + "vitest.workspace.cts": "vitest", + "vitest.workspace.mts": "vitest", + "vitest.workspace.js": "vitest", + "vitest.workspace.cjs": "vitest", + "vitest.workspace.mjs": "vitest", + "vite-env.d.ts": "viteenv", + "vite-env.d.js": "viteenv", + "pubspec.lock": "flutterlock", + "pubspec.yaml": "flutter", + ".packages": "flutterpackage", + ".htaccess": "htaccess", + "nx.json": "nx", + "project.json": "nx", + "nx.instructions.md": "nx", + "nx.jsonc": "nx", + "v.mod": "vmod", + "quasar.config.js": "quasar", + "quasar.config.ts": "quasar", + "quasar.config.cjs": "quasar", + "quasar.config.mjs": "quasar", + "quarkus.properties": "quarkus", + "theme.properties": "ui", + gradlew: "gradle", + "gradle-wrapper.properties": "gradle", + "gradlew.bat": "gradlebat", + "makefile.win": "makefile", + makefile: "makefile", + make: "makefile", + version: "version", + server: "sql", + migrate: "sql", + ".commitlintrc": "commitlint", + ".commitlintrc.json": "commitlint", + ".commitlintrc.yaml": "commitlint", + ".commitlintrc.yml": "commitlint", + ".commitlintrc.js": "commitlint", + ".commitlintrc.cjs": "commitlint", + ".commitlintrc.ts": "commitlint", + ".commitlintrc.cts": "commitlint", + "commitlint.config.js": "commitlint", + "commitlint.config.cjs": "commitlint", + "commitlint.config.ts": "commitlint", + "commitlint.config.cts": "commitlint", + ".terraform-version": "terraformversion", + TerraFile: "terrafile", + "tfstate.backup": "terraform", + ".code-workspace": "codeworkspace", + "hardhat.config.js": "hardhat", + "hardhat.config.ts": "hardhat", + "hardhat.config.cts": "hardhat", + "hardhat.config.cjs": "hardhat", + "hardhat.config.mjs": "hardhat", + "taze.config.js": "taze", + "taze.config.ts": "taze", + "taze.config.cjs": "taze", + "taze.config.mjs": "taze", + ".tazerc.json": "taze", + "turbo.json": "turbo", + "turbo.jsonc": "turbo", + "uno.config.ts": "unocss", + "uno.config.js": "unocss", + "uno.config.mjs": "unocss", + "uno.config.mts": "unocss", + "unocss.config.ts": "unocss", + "unocss.config.js": "unocss", + "unocss.config.mjs": "unocss", + "unocss.config.mts": "unocss", + "atomizer.config.js": "atomizer", + "atomizer.config.cjs": "atomizer", + "atomizer.config.mjs": "atomizer", + "atomizer.config.ts": "atomizer", + "esbuild.js": "esbuild", + "esbuild.mjs": "esbuild", + "esbuild.cjs": "esbuild", + "esbuild.ts": "esbuild", + "mix.exs": "mix", + "mix.lock": "mixlock", + ".DS_Store": "dsstore", + "remix.config.js": "remix", + "remix.config.cjs": "remix", + "remix.config.mjs": "remix", + "remix.config.ts": "remix", + "xmake.lua": "xmake", + ".sailsrc": "sails", + "farm.config.ts": "farm", + "farm.config.js": "farm", + "bunfig.toml": "bun", + ".bunfig.toml": "bun", + "bun.lockb": "bunlock", + "bun.lock": "bunlock", + ".air.toml": "air", + "rome.json": "rome", + "biome.json": "biome", + "bicepconfig.json": "bicepconfig", + "drizzle.config.ts": "drizzle", + "drizzle.config.js": "drizzle", + "drizzle.config.json": "drizzle", + "panda.config.ts": "panda", + "panda.config.js": "panda", + "panda.config.json": "panda", + "panda.config.cjs": "panda", + "panda.config.mjs": "panda", + "panda.config.cts": "panda", + "panda.config.mts": "panda", + ".buckconfig": "buck", + "Ballerina.toml": "ballerinaconfig", + "knip.json": "knip", + "knip.jsonc": "knip", + ".knip.json": "knip", + ".knip.jsonc": "knip", + "knip.ts": "knip", + "knip.js": "knip", + "knip.config.ts": "knip", + "knip.config.js": "knip", + "todo.md": "todo", + ".todo.md": "todo", + "todo.txt": "todo", + ".todo.txt": "todo", + todo: "todo", + "mkdocs.yml": "mkdocs", + "mkdocs.yaml": "mkdocs", + "gleam.toml": "gleamconfig", + ".oxlintrc.json": "oxlint", + "oxlint.json": "oxlint", + "oxlint.config.js": "oxlint", + "oxlint.config.ts": "oxlint", + "oxlint.config.cjs": "oxlint", + "oxlint.config.mjs": "oxlint", + "oxlint.config.cts": "oxlint", + "oxlint.config.mts": "oxlint", + ".cursorrules": "cursor", + "plopfile.js": "plop", + "plopfile.cjs": "plop", + "plopfile.mjs": "plop", + "plopfile.ts": "plop", + "plopfile.cts": "plop", + "config.mockoon.json": "mockoon", + "mockoon.json": "mockoon", + "mockoon.yaml": "mockoon", + "mockoon.yml": "mockoon", + "mockoon.env": "mockoon", + "mockoon.env.json": "mockoon", + "mockoon.env.yaml": "mockoon", + "mockoon.env.yml": "mockoon", + "mockoon.env.js": "mockoon", + "mockoon.env.ts": "mockoon", + "mockoon.env.cjs": "mockoon", + "mockoon.env.mjs": "mockoon", + "mockoon.env.cts": "mockoon", + "mockoon.env.mts": "mockoon", + "copilot-instructions.md": "copilot", + ".copilot-instructions": "copilot", + ".instructions": "instructions", + "instructions.md": "instructions", + "instructions.txt": "instructions", + instructions: "instructions", + "instructions.json": "instructions", + "instructions.yaml": "instructions", + "instructions.yml": "instructions", + ".keep": "keep", + ".keepignore": "keep", + "CLAUDE.md": "claude", + "claude.md": "claude", + "claude.txt": "claude", + claude: "claude", + "claude.json": "claude", + "claude.yaml": "claude", + ".claude_code_config": "claude", + ".claude": "claude", + "claude.config.js": "claude", + ".claude.yaml": "claude", + ".clauderc": "claude", + "claude-instructions.md": "claude", + ".claude-code": "claude", + "claude-code.config": "claude", + }, + languageIds: { + actionscript: "actionscript", + ada: "ada", + advpl: "advpl", + affectscript: "affectscript", + al: "al", + ansible: "ansible", + antlr: "antlr", + anyscript: "anyscript", + apacheconf: "apache", + apex: "apex", + apiblueprint: "apib", + apl: "apl", + applescript: "applescript", + asciidoc: "asciidoc", + asp: "asp", + "asp (html)": "asp", + arm: "assembly", + asm: "assembly", + ats: "ats", + ahk: "autohotkey", + autoit: "autoit", + avro: "avro", + azcli: "azure", + "azure-pipelines": "azurepipelines", + ballerina: "ballerina", + bat: "bat", + bats: "bats", + bazel: "bazel", + befunge: "befunge", + befunge98: "befunge", + biml: "biml", + blade: "blade", + "laravel-blade": "blade", + bolt: "bolt", + bosque: "bosque", + c: "c", + "c-al": "c_al", + cabal: "cabal", + caddyfile: "caddy", + cddl: "cddl", + ceylon: "ceylon", + cfml: "cf", + "lang-cfml": "cf", + cfc: "cfc", + cfmhtml: "cfm", + cookbook: "chef_cookbook", + clojure: "clojure", + clojurescript: "clojurescript", + "manifest-yaml": "cloudfoundry", + cmake: "cmake", + "cmake-cache": "cmake", + cobol: "cobol", + coffeescript: "coffeescript", + properties: "properties", + dotenv: "config", + confluence: "confluence", + cpp: "cpp", + crystal: "crystal", + csharp: "csharp", + css: "css", + feature: "cucumber", + cuda: "cuda", + cython: "cython", + dal: "dal", + dart: "dartlang", + pascal: "pascal", + objectpascal: "pascal", + diff: "diff", + "django-html": "django", + "django-txt": "django", + d: "dlang", + dscript: "dlang", + dml: "dlang", + diet: "dlang", + dockerfile: "docker", + ignore: "docker", + dotjs: "dotjs", + doxygen: "doxygen", + drools: "drools", + dustjs: "dustjs", + dylan: "dylan", + "dylan-lid": "dylan", + edge: "edge", + eex: "eex", + "html-eex": "eex", + es: "elastic", + elixir: "elixir", + elm: "elm", + erb: "erb", + erlang: "erlang", + falcon: "falcon", + fortran: "fortran", + "fortran-modern": "fortran", + FortranFreeForm: "fortran", + "fortran_fixed-form": "fortran", + ftl: "freemarker", + fsharp: "fsharp", + fthtml: "fthtml", + galen: "galen", + "gml-gms": "gamemaker", + "gml-gms2": "gamemaker2", + "gml-gm81": "gamemaker81", + gcode: "gcode", + genstat: "genstat", + "git-commit": "git", + "git-rebase": "git", + glsl: "glsl", + glyphs: "glyphs", + gnuplot: "gnuplot", + go: "go", + golang: "go", + "go-sum": "go", + "go-mod": "go", + "go-xml": "go", + gdscript: "godot", + graphql: "graphql", + dot: "graphviz", + groovy: "groovy", + haml: "haml", + handlebars: "handlebars", + harbour: "harbour", + haskell: "haskell", + "literate haskell": "haskell", + haxe: "haxe", + hxml: "haxe", + "Haxe AST dump": "haxe", + helm: "helm", + hjson: "hjson", + hlsl: "opengl", + "home-assistant": "homeassistant", + hosts: "host", + html: "html", + http: "http", + "hunspell.aff": "hunspell", + "hunspell.dic": "hunspell", + hy: "hy", + icl: "icl", + imba: "imba", + "4GL": "informix", + ini: "conf", + ink: "ink", + innosetup: "innosetup", + io: "io", + iodine: "iodine", + janet: "janet", + java: "java", + raku: "raku", + jekyll: "jekyll", + jenkins: "jenkins", + declarative: "jenkins", + jenkinsfile: "jenkins", + jinja: "jinja", + "code-referencing": "vscode", + "search-result": "vscode", + type: "vscode", + javascript: "js", + json: "json", + jsonl: "json", + "json-tmlanguage": "json", + jsonc: "json", + json5: "json5", + jsonnet: "jsonnet", + julia: "julia", + juliamarkdown: "julia", + kivy: "kivy", + kos: "kos", + kotlin: "kotlin", + kusto: "kusto", + latino: "latino", + less: "less", + lex: "lex", + lisp: "lisp", + lolcode: "lolcode", + "code-text-binary": "binary", + lsl: "lsl", + lua: "lua", + makefile: "makefile", + markdown: "markdown", + marko: "marko", + matlab: "matlab", + maxscript: "maxscript", + mel: "maya", + mediawiki: "mediawiki", + meson: "meson", + mjml: "mjml", + mlang: "mlang", + powerquerymlanguage: "mlang", + mojolicious: "mojolicious", + mongo: "mongo", + mson: "mson", + nearley: "nearly", + nim: "nim", + nimble: "nimble", + nix: "nix", + nsis: "nsi", + nfl: "nsi", + nsl: "nsi", + bridlensis: "nsi", + nunjucks: "nunjucks", + "objective-c": "c", + "objective-cpp": "cpp", + ocaml: "ocaml", + ocamllex: "ocaml", + menhir: "ocaml", + openhab: "openHAB", + pddl: "pddl", + happenings: "pddl_happenings", + plan: "pddl_plan", + "phoenix-heex": "eex", + perl: "perl", + perl6: "perl6", + pgsql: "pgsql", + php: "php", + pine: "pine", + pinescript: "pine", + "pip-requirements": "python", + "platformio-debug.disassembly": "platformio", + "platformio-debug.memoryview": "platformio", + "platformio-debug.asm": "platformio", + plsql: "plsql", + oracle: "plsql", + polymer: "polymer", + pony: "pony", + postcss: "postcss", + powershell: "powershell", + prisma: "prisma", + pde: "processinglang", + abl: "progress", + prolog: "prolog", + prometheus: "prometheus", + proto3: "protobuf", + proto: "protobuf", + jade: "pug", + pug: "pug", + puppet: "puppet", + purescript: "purescript", + pyret: "pyret", + python: "python", + qlik: "qlikview", + qml: "qml", + qsharp: "qsharp", + r: "r", + racket: "racket", + raml: "raml", + razor: "razor", + aspnetcorerazor: "razor", + javascriptreact: "reactjs", + typescriptreact: "reactts", + reason: "reason", + red: "red", + restructuredtext: "restructuredtext", + rexx: "rexx", + riot: "riot", + rmd: "rmd", + mdx: "markdownx", + robot: "robotframework", + ruby: "ruby", + rust: "rust", + san: "san", + SAS: "sas", + sbt: "sbt", + scala: "scala", + scilab: "scilab", + vbscript: "script", + scss: "scss", + sdl: "sdlang", + shaderlab: "shaderlab", + shellscript: "shell", + silverstripe: "silverstripe", + eskip: "skipper", + slang: "slang", + slice: "slice", + slim: "slim", + smarty: "smarty", + snort: "snort", + solidity: "solidity", + snippets: "vscode", + sqf: "sqf", + sql: "sql", + squirrel: "squirrel", + stan: "stan", + stata: "stata", + stencil: "stencil", + "stencil-html": "stencil", + stylable: "stylable", + "source.css.styled": "styled", + stylus: "stylus", + svelte: "svelte", + Swagger: "swagger", + swagger: "swagger", + swift: "swift", + swig: "swig", + "cuda-cpp": "nvidia", + "systemd-unit-file": "systemd", + systemverilog: "systemverilog", + t4: "t4tt", + tera: "tera", + terraform: "terraform", + tex: "latex", + log: "log", + dockercompose: "docker", + latex: "latex", + "vue-directives": "vue", + "vue-injection-markdown": "vue", + "vue-interpolations": "vue", + "vue-sfc-style-variable-injection": "vue", + bibtex: "latex", + doctex: "tex", + plaintext: "text", + textile: "textile", + toml: "toml", + tt: "tt", + ttcn: "ttcn", + twig: "twig", + typescript: "typescript", + typoscript: "typo3", + vb: "vb", + vba: "vba", + velocity: "velocity", + verilog: "verilog", + vhdl: "vhdl", + viml: "vim", + v: "vlang", + volt: "volt", + vue: "vue", + wasm: "wasm", + wat: "wasm", + wenyan: "wenyan", + wolfram: "wolfram", + wurstlang: "wurst", + wurst: "wurst", + xmake: "xmake", + xml: "xml", + xquery: "xquery", + xsl: "xml", + yacc: "yacc", + yaml: "yaml", + "yaml-tmlanguage": "yaml", + yang: "yang", + zig: "zig", + "vitest-snapshot": "vitest", + instructions: "instructions", + prompt: "prompt", + }, + }, + }; +}); +var $ae, + dWo, + my = (e, t, n, r) => { + if (r) return t ? k3 : Jae; + let o = "Document"; + if (n) n = `${e}_${n.toLowerCase()}`; + if (!t) { + if (((o = "Document_Light"), n)) n += "_Light"; + } + let a = e + "_Light"; + return $ae[n && n in $ae ? n : !t && a in $ae ? a : e in $ae ? e : o]; + }, + M5t = (e, t) => { + if (!e && !t) return null; + let n = P5t; + if (t && n.fileNames[t.toLowerCase()]) return n.fileNames[t.toLowerCase()]; + else if (e) { + let r = e.toLowerCase().replace(/^\./, ""); + return n.fileExtensions[r] || null; + } + return null; + }; +var iH = P(() => { + aH(); + R5t(); + (($ae = jae), + (dWo = Object.fromEntries( + Object.keys(jae) + .filter((e) => !e.includes("_")) + .map((e) => [e, e]), + ))); +}); +var D5t = me(function (fWo, aGn) { + aGn.exports = "./fonts/ace.svg"; +}); +var L5t = me(function (mWo, iGn) { + iGn.exports = "./fonts/acemanifest.svg"; +}); +var B5t = me(function (hWo, sGn) { + sGn.exports = "./fonts/adoc.svg"; +}); +var O5t = me(function (gWo, lGn) { + lGn.exports = "./fonts/adonis.svg"; +}); +var F5t = me(function (yWo, cGn) { + cGn.exports = "./fonts/adonisconfig.svg"; +}); +var U5t = me(function (vWo, uGn) { + uGn.exports = "./fonts/afdesign.svg"; +}); +var N5t = me(function (bWo, dGn) { + dGn.exports = "./fonts/afphoto.svg"; +}); +var z5t = me(function (xWo, pGn) { + pGn.exports = "./fonts/afpub.svg"; +}); +var _5t = me(function (AWo, fGn) { + fGn.exports = "./fonts/ai.svg"; +}); +var H5t = me(function (wWo, mGn) { + mGn.exports = "./fonts/air.svg"; +}); +var V5t = me(function (SWo, hGn) { + hGn.exports = "./fonts/angular.svg"; +}); +var G5t = me(function (CWo, gGn) { + gGn.exports = "./fonts/anim.svg"; +}); +var q5t = me(function (EWo, yGn) { + yGn.exports = "./fonts/astro.svg"; +}); +var Z5t = me(function (IWo, vGn) { + vGn.exports = "./fonts/astroconfig.svg"; +}); +var Q5t = me(function (TWo, bGn) { + bGn.exports = "./fonts/atomizer.svg"; +}); +var X5t = me(function (kWo, xGn) { + xGn.exports = "./fonts/audio.svg"; +}); +var W5t = me(function (RWo, AGn) { + AGn.exports = "./fonts/audiomp3.svg"; +}); +var Y5t = me(function (PWo, wGn) { + wGn.exports = "./fonts/audioogg.svg"; +}); +var K5t = me(function (MWo, SGn) { + SGn.exports = "./fonts/audiowav.svg"; +}); +var J5t = me(function (DWo, CGn) { + CGn.exports = "./fonts/audiowv.svg"; +}); +var j5t = me(function (LWo, EGn) { + EGn.exports = "./fonts/azure.svg"; +}); +var $5t = me(function (BWo, IGn) { + IGn.exports = "./fonts/babel.svg"; +}); +var e8t = me(function (OWo, TGn) { + TGn.exports = "./fonts/ballerina.svg"; +}); +var t8t = me(function (FWo, kGn) { + kGn.exports = "./fonts/ballerinaconfig.svg"; +}); +var n8t = me(function (UWo, RGn) { + RGn.exports = "./fonts/bat.svg"; +}); +var r8t = me(function (NWo, PGn) { + PGn.exports = "./fonts/bazel.svg"; +}); +var o8t = me(function (zWo, MGn) { + MGn.exports = "./fonts/bazelignore.svg"; +}); +var a8t = me(function (_Wo, DGn) { + DGn.exports = "./fonts/bicep.svg"; +}); +var i8t = me(function (HWo, LGn) { + LGn.exports = "./fonts/bicepconfig.svg"; +}); +var s8t = me(function (VWo, BGn) { + BGn.exports = "./fonts/bicepparam.svg"; +}); +var l8t = me(function (GWo, OGn) { + OGn.exports = "./fonts/binary.svg"; +}); +var c8t = me(function (qWo, FGn) { + FGn.exports = "./fonts/biome.svg"; +}); +var u8t = me(function (ZWo, UGn) { + UGn.exports = "./fonts/blade.svg"; +}); +var d8t = me(function (QWo, NGn) { + NGn.exports = "./fonts/brotli.svg"; +}); +var p8t = me(function (XWo, zGn) { + zGn.exports = "./fonts/browserslist.svg"; +}); +var f8t = me(function (WWo, _Gn) { + _Gn.exports = "./fonts/bruno.svg"; +}); +var m8t = me(function (YWo, HGn) { + HGn.exports = "./fonts/bsconfig.svg"; +}); +var h8t = me(function (KWo, VGn) { + VGn.exports = "./fonts/buck.svg"; +}); +var g8t = me(function (JWo, GGn) { + GGn.exports = "./fonts/bun.svg"; +}); +var y8t = me(function (jWo, qGn) { + qGn.exports = "./fonts/bundler.svg"; +}); +var v8t = me(function ($Wo, ZGn) { + ZGn.exports = "./fonts/bunlock.svg"; +}); +var b8t = me(function (eYo, QGn) { + QGn.exports = "./fonts/c.svg"; +}); +var x8t = me(function (tYo, XGn) { + XGn.exports = "./fonts/cargo.svg"; +}); +var A8t = me(function (nYo, WGn) { + WGn.exports = "./fonts/cargolock.svg"; +}); +var w8t = me(function (rYo, YGn) { + YGn.exports = "./fonts/cert.svg"; +}); +var S8t = me(function (oYo, KGn) { + KGn.exports = "./fonts/cheader.svg"; +}); +var C8t = me(function (aYo, JGn) { + JGn.exports = "./fonts/civet.svg"; +}); +var E8t = me(function (iYo, jGn) { + jGn.exports = "./fonts/claude.svg"; +}); +var I8t = me(function (sYo, $Gn) { + $Gn.exports = "./fonts/cli.svg"; +}); +var T8t = me(function (lYo, eqn) { + eqn.exports = "./fonts/clojure.svg"; +}); +var k8t = me(function (cYo, tqn) { + tqn.exports = "./fonts/cmake.svg"; +}); +var R8t = me(function (uYo, nqn) { + nqn.exports = "./fonts/codeworkspace.svg"; +}); +var P8t = me(function (dYo, rqn) { + rqn.exports = "./fonts/coffeescript.svg"; +}); +var M8t = me(function (pYo, oqn) { + oqn.exports = "./fonts/commitlint.svg"; +}); +var D8t = me(function (fYo, aqn) { + aqn.exports = "./fonts/compodoc.svg"; +}); +var L8t = me(function (mYo, iqn) { + iqn.exports = "./fonts/composer.svg"; +}); +var B8t = me(function (hYo, sqn) { + sqn.exports = "./fonts/composerlock.svg"; +}); +var O8t = me(function (gYo, lqn) { + lqn.exports = "./fonts/conan.svg"; +}); +var F8t = me(function (yYo, cqn) { + cqn.exports = "./fonts/conf.svg"; +}); +var U8t = me(function (vYo, uqn) { + uqn.exports = "./fonts/copilot.svg"; +}); +var N8t = me(function (bYo, dqn) { + dqn.exports = "./fonts/cpp.svg"; +}); +var z8t = me(function (xYo, pqn) { + pqn.exports = "./fonts/crystal.svg"; +}); +var _8t = me(function (AYo, fqn) { + fqn.exports = "./fonts/csharp.svg"; +}); +var H8t = me(function (wYo, mqn) { + mqn.exports = "./fonts/cshtml.svg"; +}); +var V8t = me(function (SYo, hqn) { + hqn.exports = "./fonts/csproj.svg"; +}); +var G8t = me(function (CYo, gqn) { + gqn.exports = "./fonts/css.svg"; +}); +var q8t = me(function (EYo, yqn) { + yqn.exports = "./fonts/cssmap.svg"; +}); +var Z8t = me(function (IYo, vqn) { + vqn.exports = "./fonts/csv.svg"; +}); +var Q8t = me(function (TYo, bqn) { + bqn.exports = "./fonts/cucumber.svg"; +}); +var X8t = me(function (kYo, xqn) { + xqn.exports = "./fonts/cursor.svg"; +}); +var W8t = me(function (RYo, Aqn) { + Aqn.exports = "./fonts/cypress.svg"; +}); +var Y8t = me(function (PYo, wqn) { + wqn.exports = "./fonts/cypressjs.svg"; +}); +var K8t = me(function (MYo, Sqn) { + Sqn.exports = "./fonts/cypressts.svg"; +}); +var J8t = me(function (DYo, Cqn) { + Cqn.exports = "./fonts/d.svg"; +}); +var j8t = me(function (LYo, Eqn) { + Eqn.exports = "./fonts/dartlang.svg"; +}); +var $8t = me(function (BYo, Iqn) { + Iqn.exports = "./fonts/delphiproject.svg"; +}); +var eEt = me(function (OYo, Tqn) { + Tqn.exports = "./fonts/diff.svg"; +}); +var tEt = me(function (FYo, kqn) { + kqn.exports = "./fonts/docker.svg"; +}); +var nEt = me(function (UYo, Rqn) { + Rqn.exports = "./fonts/dockerdebug.svg"; +}); +var rEt = me(function (NYo, Pqn) { + Pqn.exports = "./fonts/dockerignore.svg"; +}); +var oEt = me(function (zYo, Mqn) { + Mqn.exports = "./fonts/drawio.svg"; +}); +var aEt = me(function (_Yo, Dqn) { + Dqn.exports = "./fonts/drizzle.svg"; +}); +var iEt = me(function (HYo, Lqn) { + Lqn.exports = "./fonts/dsstore.svg"; +}); +var sEt = me(function (VYo, Bqn) { + Bqn.exports = "./fonts/dune.svg"; +}); +var lEt = me(function (GYo, Oqn) { + Oqn.exports = "./fonts/duneproject.svg"; +}); +var cEt = me(function (qYo, Fqn) { + Fqn.exports = "./fonts/edge.svg"; +}); +var uEt = me(function (ZYo, Uqn) { + Uqn.exports = "./fonts/editorconfig.svg"; +}); +var dEt = me(function (QYo, Nqn) { + Nqn.exports = "./fonts/eex.svg"; +}); +var pEt = me(function (XYo, zqn) { + zqn.exports = "./fonts/elixir.svg"; +}); +var fEt = me(function (WYo, _qn) { + _qn.exports = "./fonts/elm.svg"; +}); +var mEt = me(function (YYo, Hqn) { + Hqn.exports = "./fonts/env.svg"; +}); +var hEt = me(function (KYo, Vqn) { + Vqn.exports = "./fonts/eraser.svg"; +}); +var gEt = me(function (JYo, Gqn) { + Gqn.exports = "./fonts/erb.svg"; +}); +var yEt = me(function (jYo, qqn) { + qqn.exports = "./fonts/erlang.svg"; +}); +var vEt = me(function ($Yo, Zqn) { + Zqn.exports = "./fonts/esbuild.svg"; +}); +var bEt = me(function (eKo, Qqn) { + Qqn.exports = "./fonts/eslint.svg"; +}); +var xEt = me(function (tKo, Xqn) { + Xqn.exports = "./fonts/eslintignore.svg"; +}); +var AEt = me(function (nKo, Wqn) { + Wqn.exports = "./fonts/excalidraw.svg"; +}); +var wEt = me(function (rKo, Yqn) { + Yqn.exports = "./fonts/exs.svg"; +}); +var SEt = me(function (oKo, Kqn) { + Kqn.exports = "./fonts/exx.svg"; +}); +var CEt = me(function (aKo, Jqn) { + Jqn.exports = "./fonts/farm.svg"; +}); +var EEt = me(function (iKo, jqn) { + jqn.exports = "./fonts/figma.svg"; +}); +var IEt = me(function (sKo, $qn) { + $qn.exports = "./fonts/file.svg"; +}); +var TEt = me(function (lKo, eZn) { + eZn.exports = "./fonts/file_light.svg"; +}); +var kEt = me(function (cKo, tZn) { + tZn.exports = "./fonts/flakelock.svg"; +}); +var REt = me(function (uKo, nZn) { + nZn.exports = "./fonts/flutter.svg"; +}); +var PEt = me(function (dKo, rZn) { + rZn.exports = "./fonts/flutterlock.svg"; +}); +var MEt = me(function (pKo, oZn) { + oZn.exports = "./fonts/flutterpackage.svg"; +}); +var DEt = me(function (fKo, aZn) { + aZn.exports = "./fonts/folder.svg"; +}); +var LEt = me(function (mKo, iZn) { + iZn.exports = "./fonts/folder_open.svg"; +}); +var BEt = me(function (hKo, sZn) { + sZn.exports = "./fonts/fonteot.svg"; +}); +var OEt = me(function (gKo, lZn) { + lZn.exports = "./fonts/fontotf.svg"; +}); +var FEt = me(function (yKo, cZn) { + cZn.exports = "./fonts/fontttf.svg"; +}); +var UEt = me(function (vKo, uZn) { + uZn.exports = "./fonts/fontwoff.svg"; +}); +var NEt = me(function (bKo, dZn) { + dZn.exports = "./fonts/fontwoff2.svg"; +}); +var zEt = me(function (xKo, pZn) { + pZn.exports = "./fonts/freemarker.svg"; +}); +var _Et = me(function (AKo, fZn) { + fZn.exports = "./fonts/fsharp.svg"; +}); +var HEt = me(function (wKo, mZn) { + mZn.exports = "./fonts/gbl.svg"; +}); +var VEt = me(function (SKo, hZn) { + hZn.exports = "./fonts/git.svg"; +}); +var GEt = me(function (CKo, gZn) { + gZn.exports = "./fonts/gitlab.svg"; +}); +var qEt = me(function (EKo, yZn) { + yZn.exports = "./fonts/gleam.svg"; +}); +var ZEt = me(function (IKo, vZn) { + vZn.exports = "./fonts/gleamconfig.svg"; +}); +var QEt = me(function (TKo, bZn) { + bZn.exports = "./fonts/go.svg"; +}); +var XEt = me(function (kKo, xZn) { + xZn.exports = "./fonts/go_package.svg"; +}); +var WEt = me(function (RKo, AZn) { + AZn.exports = "./fonts/godot.svg"; +}); +var YEt = me(function (PKo, wZn) { + wZn.exports = "./fonts/gradle.svg"; +}); +var KEt = me(function (MKo, SZn) { + SZn.exports = "./fonts/gradlebat.svg"; +}); +var JEt = me(function (DKo, CZn) { + CZn.exports = "./fonts/gradlekotlin.svg"; +}); +var jEt = me(function (LKo, EZn) { + EZn.exports = "./fonts/grain.svg"; +}); +var $Et = me(function (BKo, IZn) { + IZn.exports = "./fonts/graphql.svg"; +}); +var eIt = me(function (OKo, TZn) { + TZn.exports = "./fonts/groovy.svg"; +}); +var tIt = me(function (FKo, kZn) { + kZn.exports = "./fonts/grunt.svg"; +}); +var nIt = me(function (UKo, RZn) { + RZn.exports = "./fonts/gulp.svg"; +}); +var rIt = me(function (NKo, PZn) { + PZn.exports = "./fonts/h.svg"; +}); +var oIt = me(function (zKo, MZn) { + MZn.exports = "./fonts/haml.svg"; +}); +var aIt = me(function (_Ko, DZn) { + DZn.exports = "./fonts/handlebars.svg"; +}); +var iIt = me(function (HKo, LZn) { + LZn.exports = "./fonts/hardhat.svg"; +}); +var sIt = me(function (VKo, BZn) { + BZn.exports = "./fonts/hash.svg"; +}); +var lIt = me(function (GKo, OZn) { + OZn.exports = "./fonts/hashicorp.svg"; +}); +var cIt = me(function (qKo, FZn) { + FZn.exports = "./fonts/haskell.svg"; +}); +var uIt = me(function (ZKo, UZn) { + UZn.exports = "./fonts/haxe.svg"; +}); +var dIt = me(function (QKo, NZn) { + NZn.exports = "./fonts/haxeml.svg"; +}); +var pIt = me(function (XKo, zZn) { + zZn.exports = "./fonts/hpp.svg"; +}); +var fIt = me(function (WKo, _Zn) { + _Zn.exports = "./fonts/htaccess.svg"; +}); +var mIt = me(function (YKo, HZn) { + HZn.exports = "./fonts/html.svg"; +}); +var hIt = me(function (KKo, VZn) { + VZn.exports = "./fonts/http.svg"; +}); +var gIt = me(function (JKo, GZn) { + GZn.exports = "./fonts/identifier.svg"; +}); +var yIt = me(function (jKo, qZn) { + qZn.exports = "./fonts/image.svg"; +}); +var vIt = me(function ($Ko, ZZn) { + ZZn.exports = "./fonts/imagegif.svg"; +}); +var bIt = me(function (eJo, QZn) { + QZn.exports = "./fonts/imageico.svg"; +}); +var xIt = me(function (tJo, XZn) { + XZn.exports = "./fonts/imagejpg.svg"; +}); +var AIt = me(function (nJo, WZn) { + WZn.exports = "./fonts/imagepng.svg"; +}); +var wIt = me(function (rJo, YZn) { + YZn.exports = "./fonts/imagewebp.svg"; +}); +var SIt = me(function (oJo, KZn) { + KZn.exports = "./fonts/imba.svg"; +}); +var CIt = me(function (aJo, JZn) { + JZn.exports = "./fonts/info.svg"; +}); +var EIt = me(function (iJo, jZn) { + jZn.exports = "./fonts/instructions.svg"; +}); +var IIt = me(function (sJo, $Zn) { + $Zn.exports = "./fonts/ipynb.svg"; +}); +var TIt = me(function (lJo, eQn) { + eQn.exports = "./fonts/jar.svg"; +}); +var kIt = me(function (cJo, tQn) { + tQn.exports = "./fonts/java.svg"; +}); +var RIt = me(function (uJo, nQn) { + nQn.exports = "./fonts/jenkins.svg"; +}); +var PIt = me(function (dJo, rQn) { + rQn.exports = "./fonts/jest.svg"; +}); +var MIt = me(function (pJo, oQn) { + oQn.exports = "./fonts/jinja.svg"; +}); +var DIt = me(function (fJo, aQn) { + aQn.exports = "./fonts/js.svg"; +}); +var LIt = me(function (mJo, iQn) { + iQn.exports = "./fonts/jsmap.svg"; +}); +var BIt = me(function (hJo, sQn) { + sQn.exports = "./fonts/json.svg"; +}); +var OIt = me(function (gJo, lQn) { + lQn.exports = "./fonts/jsp.svg"; +}); +var FIt = me(function (yJo, cQn) { + cQn.exports = "./fonts/julia.svg"; +}); +var UIt = me(function (vJo, uQn) { + uQn.exports = "./fonts/karma.svg"; +}); +var NIt = me(function (bJo, dQn) { + dQn.exports = "./fonts/keep.svg"; +}); +var zIt = me(function (xJo, pQn) { + pQn.exports = "./fonts/key.svg"; +}); +var _It = me(function (AJo, fQn) { + fQn.exports = "./fonts/knex.svg"; +}); +var HIt = me(function (wJo, mQn) { + mQn.exports = "./fonts/knip.svg"; +}); +var VIt = me(function (SJo, hQn) { + hQn.exports = "./fonts/kotlin.svg"; +}); +var GIt = me(function (CJo, gQn) { + gQn.exports = "./fonts/kotlins.svg"; +}); +var qIt = me(function (EJo, yQn) { + yQn.exports = "./fonts/krita.svg"; +}); +var ZIt = me(function (IJo, vQn) { + vQn.exports = "./fonts/latex.svg"; +}); +var QIt = me(function (TJo, bQn) { + bQn.exports = "./fonts/launch.svg"; +}); +var XIt = me(function (kJo, xQn) { + xQn.exports = "./fonts/lazarusproject.svg"; +}); +var WIt = me(function (RJo, AQn) { + AQn.exports = "./fonts/less.svg"; +}); +var YIt = me(function (PJo, wQn) { + wQn.exports = "./fonts/license.svg"; +}); +var KIt = me(function (MJo, SQn) { + SQn.exports = "./fonts/light_editorconfig.svg"; +}); +var JIt = me(function (DJo, CQn) { + CQn.exports = "./fonts/liquid.svg"; +}); +var jIt = me(function (LJo, EQn) { + EQn.exports = "./fonts/llvm.svg"; +}); +var $It = me(function (BJo, IQn) { + IQn.exports = "./fonts/lock.svg"; +}); +var eTt = me(function (OJo, TQn) { + TQn.exports = "./fonts/log.svg"; +}); +var tTt = me(function (FJo, kQn) { + kQn.exports = "./fonts/lua.svg"; +}); +var nTt = me(function (UJo, RQn) { + RQn.exports = "./fonts/m.svg"; +}); +var rTt = me(function (NJo, PQn) { + PQn.exports = "./fonts/makefile.svg"; +}); +var oTt = me(function (zJo, MQn) { + MQn.exports = "./fonts/manifest.svg"; +}); +var aTt = me(function (_Jo, DQn) { + DQn.exports = "./fonts/markdown.svg"; +}); +var iTt = me(function (HJo, LQn) { + LQn.exports = "./fonts/markdownx.svg"; +}); +var sTt = me(function (VJo, BQn) { + BQn.exports = "./fonts/maven.svg"; +}); +var lTt = me(function (GJo, OQn) { + OQn.exports = "./fonts/mermaid.svg"; +}); +var cTt = me(function (qJo, FQn) { + FQn.exports = "./fonts/mesh.svg"; +}); +var uTt = me(function (ZJo, UQn) { + UQn.exports = "./fonts/mgcb.svg"; +}); +var dTt = me(function (QJo, NQn) { + NQn.exports = "./fonts/mint.svg"; +}); +var pTt = me(function (XJo, zQn) { + zQn.exports = "./fonts/mix.svg"; +}); +var fTt = me(function (WJo, _Qn) { + _Qn.exports = "./fonts/mixlock.svg"; +}); +var mTt = me(function (YJo, HQn) { + HQn.exports = "./fonts/mjml.svg"; +}); +var hTt = me(function (KJo, VQn) { + VQn.exports = "./fonts/mkdocs.svg"; +}); +var gTt = me(function (JJo, GQn) { + GQn.exports = "./fonts/mockoon.svg"; +}); +var yTt = me(function (jJo, qQn) { + qQn.exports = "./fonts/motoko.svg"; +}); +var vTt = me(function ($Jo, ZQn) { + ZQn.exports = "./fonts/mov.svg"; +}); +var bTt = me(function (ejo, QQn) { + QQn.exports = "./fonts/mp4.svg"; +}); +var xTt = me(function (tjo, XQn) { + XQn.exports = "./fonts/mtl.svg"; +}); +var ATt = me(function (njo, WQn) { + WQn.exports = "./fonts/mustache.svg"; +}); +var wTt = me(function (rjo, YQn) { + YQn.exports = "./fonts/nelua.svg"; +}); +var STt = me(function (ojo, KQn) { + KQn.exports = "./fonts/neon.svg"; +}); +var CTt = me(function (ajo, JQn) { + JQn.exports = "./fonts/nestjs.svg"; +}); +var ETt = me(function (ijo, jQn) { + jQn.exports = "./fonts/nestjscontroller.svg"; +}); +var ITt = me(function (sjo, $Qn) { + $Qn.exports = "./fonts/nestjsdecorator.svg"; +}); +var TTt = me(function (ljo, eXn) { + eXn.exports = "./fonts/nestjsdto.svg"; +}); +var kTt = me(function (cjo, tXn) { + tXn.exports = "./fonts/nestjsentity.svg"; +}); +var RTt = me(function (ujo, nXn) { + nXn.exports = "./fonts/nestjsfilter.svg"; +}); +var PTt = me(function (djo, rXn) { + rXn.exports = "./fonts/nestjsguard.svg"; +}); +var MTt = me(function (pjo, oXn) { + oXn.exports = "./fonts/nestjsinterceptor.svg"; +}); +var DTt = me(function (fjo, aXn) { + aXn.exports = "./fonts/nestjsmodule.svg"; +}); +var LTt = me(function (mjo, iXn) { + iXn.exports = "./fonts/nestjsrepository.svg"; +}); +var BTt = me(function (hjo, sXn) { + sXn.exports = "./fonts/nestjsresolver.svg"; +}); +var OTt = me(function (gjo, lXn) { + lXn.exports = "./fonts/nestjsservice.svg"; +}); +var FTt = me(function (yjo, cXn) { + cXn.exports = "./fonts/nestscheduler.svg"; +}); +var UTt = me(function (vjo, uXn) { + uXn.exports = "./fonts/netlify.svg"; +}); +var NTt = me(function (bjo, dXn) { + dXn.exports = "./fonts/nextconfig.svg"; +}); +var zTt = me(function (xjo, pXn) { + pXn.exports = "./fonts/nextron.svg"; +}); +var _Tt = me(function (Ajo, fXn) { + fXn.exports = "./fonts/nginx.svg"; +}); +var HTt = me(function (wjo, mXn) { + mXn.exports = "./fonts/nim.svg"; +}); +var VTt = me(function (Sjo, hXn) { + hXn.exports = "./fonts/nix.svg"; +}); +var GTt = me(function (Cjo, gXn) { + gXn.exports = "./fonts/njk.svg"; +}); +var qTt = me(function (Ejo, yXn) { + yXn.exports = "./fonts/node.svg"; +}); +var ZTt = me(function (Ijo, vXn) { + vXn.exports = "./fonts/nodemon.svg"; +}); +var QTt = me(function (Tjo, bXn) { + bXn.exports = "./fonts/npm.svg"; +}); +var XTt = me(function (kjo, xXn) { + xXn.exports = "./fonts/npmlock.svg"; +}); +var WTt = me(function (Rjo, AXn) { + AXn.exports = "./fonts/nuxt.svg"; +}); +var YTt = me(function (Pjo, wXn) { + wXn.exports = "./fonts/nvidia.svg"; +}); +var KTt = me(function (Mjo, SXn) { + SXn.exports = "./fonts/nvim.svg"; +}); +var JTt = me(function (Djo, CXn) { + CXn.exports = "./fonts/nvm.svg"; +}); +var jTt = me(function (Ljo, EXn) { + EXn.exports = "./fonts/nx.svg"; +}); +var $Tt = me(function (Bjo, IXn) { + IXn.exports = "./fonts/obj.svg"; +}); +var e7t = me(function (Ojo, TXn) { + TXn.exports = "./fonts/ocaml.svg"; +}); +var t7t = me(function (Fjo, kXn) { + kXn.exports = "./fonts/ocamli.svg"; +}); +var n7t = me(function (Ujo, RXn) { + RXn.exports = "./fonts/ocamll.svg"; +}); +var r7t = me(function (Njo, PXn) { + PXn.exports = "./fonts/ocamly.svg"; +}); +var o7t = me(function (zjo, MXn) { + MXn.exports = "./fonts/odin.svg"; +}); +var a7t = me(function (_jo, DXn) { + DXn.exports = "./fonts/opengl.svg"; +}); +var i7t = me(function (Hjo, LXn) { + LXn.exports = "./fonts/oxlint.svg"; +}); +var s7t = me(function (Vjo, BXn) { + BXn.exports = "./fonts/panda.svg"; +}); +var l7t = me(function (Gjo, OXn) { + OXn.exports = "./fonts/parcel.svg"; +}); +var c7t = me(function (qjo, FXn) { + FXn.exports = "./fonts/pascal.svg"; +}); +var u7t = me(function (Zjo, UXn) { + UXn.exports = "./fonts/pdf.svg"; +}); +var d7t = me(function (Qjo, NXn) { + NXn.exports = "./fonts/perl.svg"; +}); +var p7t = me(function (Xjo, zXn) { + zXn.exports = "./fonts/perlm.svg"; +}); +var f7t = me(function (Wjo, _Xn) { + _Xn.exports = "./fonts/pfx.svg"; +}); +var m7t = me(function (Yjo, HXn) { + HXn.exports = "./fonts/photoshop.svg"; +}); +var h7t = me(function (Kjo, VXn) { + VXn.exports = "./fonts/php.svg"; +}); +var g7t = me(function (Jjo, GXn) { + GXn.exports = "./fonts/plantuml.svg"; +}); +var y7t = me(function (jjo, qXn) { + qXn.exports = "./fonts/playright.svg"; +}); +var v7t = me(function ($jo, ZXn) { + ZXn.exports = "./fonts/plop.svg"; +}); +var b7t = me(function (e$o, QXn) { + QXn.exports = "./fonts/pnpm.svg"; +}); +var x7t = me(function (t$o, XXn) { + XXn.exports = "./fonts/pnpmlock.svg"; +}); +var A7t = me(function (n$o, WXn) { + WXn.exports = "./fonts/poetry.svg"; +}); +var w7t = me(function (r$o, YXn) { + YXn.exports = "./fonts/poetrylock.svg"; +}); +var S7t = me(function (o$o, KXn) { + KXn.exports = "./fonts/postcssconfig.svg"; +}); +var C7t = me(function (a$o, JXn) { + JXn.exports = "./fonts/powershell.svg"; +}); +var E7t = me(function (i$o, jXn) { + jXn.exports = "./fonts/powershelldata.svg"; +}); +var I7t = me(function (s$o, $Xn) { + $Xn.exports = "./fonts/powershellmodule.svg"; +}); +var T7t = me(function (l$o, eWn) { + eWn.exports = "./fonts/precommit.svg"; +}); +var k7t = me(function (c$o, tWn) { + tWn.exports = "./fonts/prettier.svg"; +}); +var R7t = me(function (u$o, nWn) { + nWn.exports = "./fonts/prettierignore.svg"; +}); +var P7t = me(function (d$o, rWn) { + rWn.exports = "./fonts/prisma.svg"; +}); +var M7t = me(function (p$o, oWn) { + oWn.exports = "./fonts/prolog.svg"; +}); +var D7t = me(function (f$o, aWn) { + aWn.exports = "./fonts/prompt.svg"; +}); +var L7t = me(function (m$o, iWn) { + iWn.exports = "./fonts/properties.svg"; +}); +var B7t = me(function (h$o, sWn) { + sWn.exports = "./fonts/proto.svg"; +}); +var O7t = me(function (g$o, lWn) { + lWn.exports = "./fonts/pug.svg"; +}); +var F7t = me(function (y$o, cWn) { + cWn.exports = "./fonts/pvk.svg"; +}); +var U7t = me(function (v$o, uWn) { + uWn.exports = "./fonts/pyproject.svg"; +}); +var N7t = me(function (b$o, dWn) { + dWn.exports = "./fonts/python.svg"; +}); +var z7t = me(function (x$o, pWn) { + pWn.exports = "./fonts/qt.svg"; +}); +var _7t = me(function (A$o, fWn) { + fWn.exports = "./fonts/quarkus.svg"; +}); +var H7t = me(function (w$o, mWn) { + mWn.exports = "./fonts/quasar.svg"; +}); +var V7t = me(function (S$o, hWn) { + hWn.exports = "./fonts/r.svg"; +}); +var G7t = me(function (C$o, gWn) { + gWn.exports = "./fonts/racket.svg"; +}); +var q7t = me(function (E$o, yWn) { + yWn.exports = "./fonts/raku.svg"; +}); +var Z7t = me(function (I$o, vWn) { + vWn.exports = "./fonts/razor.svg"; +}); +var Q7t = me(function (T$o, bWn) { + bWn.exports = "./fonts/rb.svg"; +}); +var X7t = me(function (k$o, xWn) { + xWn.exports = "./fonts/reactjs.svg"; +}); +var W7t = me(function (R$o, AWn) { + AWn.exports = "./fonts/reactts.svg"; +}); +var Y7t = me(function (P$o, wWn) { + wWn.exports = "./fonts/readme.svg"; +}); +var K7t = me(function (M$o, SWn) { + SWn.exports = "./fonts/redis.svg"; +}); +var J7t = me(function (D$o, CWn) { + CWn.exports = "./fonts/rego.svg"; +}); +var j7t = me(function (L$o, EWn) { + EWn.exports = "./fonts/remix.svg"; +}); +var $7t = me(function (B$o, IWn) { + IWn.exports = "./fonts/rescript.svg"; +}); +var ekt = me(function (O$o, TWn) { + TWn.exports = "./fonts/rescriptinterface.svg"; +}); +var tkt = me(function (F$o, kWn) { + kWn.exports = "./fonts/restructuredtext.svg"; +}); +var nkt = me(function (U$o, RWn) { + RWn.exports = "./fonts/rjson.svg"; +}); +var rkt = me(function (N$o, PWn) { + PWn.exports = "./fonts/robots.svg"; +}); +var okt = me(function (z$o, MWn) { + MWn.exports = "./fonts/rollup.svg"; +}); +var akt = me(function (_$o, DWn) { + DWn.exports = "./fonts/rome.svg"; +}); +var ikt = me(function (H$o, LWn) { + LWn.exports = "./fonts/ron.svg"; +}); +var skt = me(function (V$o, BWn) { + BWn.exports = "./fonts/root_folder.svg"; +}); +var lkt = me(function (G$o, OWn) { + OWn.exports = "./fonts/root_folder_light.svg"; +}); +var ckt = me(function (q$o, FWn) { + FWn.exports = "./fonts/root_folder_light_open.svg"; +}); +var ukt = me(function (Z$o, UWn) { + UWn.exports = "./fonts/root_folder_open.svg"; +}); +var dkt = me(function (Q$o, NWn) { + NWn.exports = "./fonts/rs.svg"; +}); +var pkt = me(function (X$o, zWn) { + zWn.exports = "./fonts/ruby.svg"; +}); +var fkt = me(function (W$o, _Wn) { + _Wn.exports = "./fonts/rust.svg"; +}); +var mkt = me(function (Y$o, HWn) { + HWn.exports = "./fonts/rustfmt.svg"; +}); +var hkt = me(function (K$o, VWn) { + VWn.exports = "./fonts/sails.svg"; +}); +var gkt = me(function (J$o, GWn) { + GWn.exports = "./fonts/salesforce.svg"; +}); +var ykt = me(function (j$o, qWn) { + qWn.exports = "./fonts/sass.svg"; +}); +var vkt = me(function ($$o, ZWn) { + ZWn.exports = "./fonts/scala.svg"; +}); +var bkt = me(function (eea, QWn) { + QWn.exports = "./fonts/scss.svg"; +}); +var xkt = me(function (tea, XWn) { + XWn.exports = "./fonts/sentinel.svg"; +}); +var Akt = me(function (nea, WWn) { + WWn.exports = "./fonts/sequelize.svg"; +}); +var wkt = me(function (rea, YWn) { + YWn.exports = "./fonts/sh.svg"; +}); +var Skt = me(function (oea, KWn) { + KWn.exports = "./fonts/shaderlab.svg"; +}); +var Ckt = me(function (aea, JWn) { + JWn.exports = "./fonts/shell.svg"; +}); +var Ekt = me(function (iea, jWn) { + jWn.exports = "./fonts/silq.svg"; +}); +var Ikt = me(function (sea, $Wn) { + $Wn.exports = "./fonts/slim.svg"; +}); +var Tkt = me(function (lea, eYn) { + eYn.exports = "./fonts/sln.svg"; +}); +var kkt = me(function (cea, tYn) { + tYn.exports = "./fonts/smarty.svg"; +}); +var Rkt = me(function (uea, nYn) { + nYn.exports = "./fonts/sol.svg"; +}); +var Pkt = me(function (dea, rYn) { + rYn.exports = "./fonts/spc.svg"; +}); +var Mkt = me(function (pea, oYn) { + oYn.exports = "./fonts/sql.svg"; +}); +var Dkt = me(function (fea, aYn) { + aYn.exports = "./fonts/sqlite.svg"; +}); +var Lkt = me(function (mea, iYn) { + iYn.exports = "./fonts/storybook.svg"; +}); +var Bkt = me(function (hea, sYn) { + sYn.exports = "./fonts/stylelint.svg"; +}); +var Okt = me(function (gea, lYn) { + lYn.exports = "./fonts/stylelintignore.svg"; +}); +var Fkt = me(function (yea, cYn) { + cYn.exports = "./fonts/stylus.svg"; +}); +var Ukt = me(function (vea, uYn) { + uYn.exports = "./fonts/suo.svg"; +}); +var Nkt = me(function (bea, dYn) { + dYn.exports = "./fonts/svelte.svg"; +}); +var zkt = me(function (xea, pYn) { + pYn.exports = "./fonts/svelteconfig.svg"; +}); +var _kt = me(function (Aea, fYn) { + fYn.exports = "./fonts/svg.svg"; +}); +var Hkt = me(function (wea, mYn) { + mYn.exports = "./fonts/swift.svg"; +}); +var Vkt = me(function (Sea, hYn) { + hYn.exports = "./fonts/symfony.svg"; +}); +var Gkt = me(function (Cea, gYn) { + gYn.exports = "./fonts/tailwind.svg"; +}); +var qkt = me(function (Eea, yYn) { + yYn.exports = "./fonts/tauri.svg"; +}); +var Zkt = me(function (Iea, vYn) { + vYn.exports = "./fonts/taze.svg"; +}); +var Qkt = me(function (Tea, bYn) { + bYn.exports = "./fonts/terrafile.svg"; +}); +var Xkt = me(function (kea, xYn) { + xYn.exports = "./fonts/terraform.svg"; +}); +var Wkt = me(function (Rea, AYn) { + AYn.exports = "./fonts/terraformvars.svg"; +}); +var Ykt = me(function (Pea, wYn) { + wYn.exports = "./fonts/terraformversion.svg"; +}); +var Kkt = me(function (Mea, SYn) { + SYn.exports = "./fonts/testjs.svg"; +}); +var Jkt = me(function (Dea, CYn) { + CYn.exports = "./fonts/testts.svg"; +}); +var jkt = me(function (Lea, EYn) { + EYn.exports = "./fonts/tmpl.svg"; +}); +var $kt = me(function (Bea, IYn) { + IYn.exports = "./fonts/todo.svg"; +}); +var eRt = me(function (Oea, TYn) { + TYn.exports = "./fonts/toml.svg"; +}); +var tRt = me(function (Fea, kYn) { + kYn.exports = "./fonts/toolversions.svg"; +}); +var nRt = me(function (Uea, RYn) { + RYn.exports = "./fonts/tox.svg"; +}); +var rRt = me(function (Nea, PYn) { + PYn.exports = "./fonts/travis.svg"; +}); +var oRt = me(function (zea, MYn) { + MYn.exports = "./fonts/tres.svg"; +}); +var aRt = me(function (_ea, DYn) { + DYn.exports = "./fonts/tscn.svg"; +}); +var iRt = me(function (Hea, LYn) { + LYn.exports = "./fonts/tsconfig.svg"; +}); +var sRt = me(function (Vea, BYn) { + BYn.exports = "./fonts/tsx.svg"; +}); +var lRt = me(function (Gea, OYn) { + OYn.exports = "./fonts/turbo.svg"; +}); +var cRt = me(function (qea, FYn) { + FYn.exports = "./fonts/twig.svg"; +}); +var uRt = me(function (Zea, UYn) { + UYn.exports = "./fonts/txt.svg"; +}); +var dRt = me(function (Qea, NYn) { + NYn.exports = "./fonts/typescript.svg"; +}); +var pRt = me(function (Xea, zYn) { + zYn.exports = "./fonts/typescriptdef.svg"; +}); +var fRt = me(function (Wea, _Yn) { + _Yn.exports = "./fonts/ui.svg"; +}); +var mRt = me(function (Yea, HYn) { + HYn.exports = "./fonts/unocss.svg"; +}); +var hRt = me(function (Kea, VYn) { + VYn.exports = "./fonts/user.svg"; +}); +var gRt = me(function (Jea, GYn) { + GYn.exports = "./fonts/v.svg"; +}); +var yRt = me(function (jea, qYn) { + qYn.exports = "./fonts/vanillaextract.svg"; +}); +var vRt = me(function ($ea, ZYn) { + ZYn.exports = "./fonts/vb.svg"; +}); +var bRt = me(function (eta, QYn) { + QYn.exports = "./fonts/vercel.svg"; +}); +var xRt = me(function (tta, XYn) { + XYn.exports = "./fonts/version.svg"; +}); +var ARt = me(function (nta, WYn) { + WYn.exports = "./fonts/vhd.svg"; +}); +var wRt = me(function (rta, YYn) { + YYn.exports = "./fonts/vhdl.svg"; +}); +var SRt = me(function (ota, KYn) { + KYn.exports = "./fonts/video.svg"; +}); +var CRt = me(function (ata, JYn) { + JYn.exports = "./fonts/vite.svg"; +}); +var ERt = me(function (ita, jYn) { + jYn.exports = "./fonts/viteenv.svg"; +}); +var IRt = me(function (sta, $Yn) { + $Yn.exports = "./fonts/vitest.svg"; +}); +var TRt = me(function (lta, eKn) { + eKn.exports = "./fonts/vmod.svg"; +}); +var kRt = me(function (cta, tKn) { + tKn.exports = "./fonts/vscode.svg"; +}); +var RRt = me(function (uta, nKn) { + nKn.exports = "./fonts/vue.svg"; +}); +var PRt = me(function (dta, rKn) { + rKn.exports = "./fonts/vueconfig.svg"; +}); +var MRt = me(function (pta, oKn) { + oKn.exports = "./fonts/wasm.svg"; +}); +var DRt = me(function (fta, aKn) { + aKn.exports = "./fonts/webpack.svg"; +}); +var LRt = me(function (mta, iKn) { + iKn.exports = "./fonts/wgsl.svg"; +}); +var BRt = me(function (hta, sKn) { + sKn.exports = "./fonts/windi.svg"; +}); +var ORt = me(function (gta, lKn) { + lKn.exports = "./fonts/wren.svg"; +}); +var FRt = me(function (yta, cKn) { + cKn.exports = "./fonts/xmake.svg"; +}); +var URt = me(function (vta, uKn) { + uKn.exports = "./fonts/xml.svg"; +}); +var NRt = me(function (bta, dKn) { + dKn.exports = "./fonts/yaml.svg"; +}); +var zRt = me(function (xta, pKn) { + pKn.exports = "./fonts/yang.svg"; +}); +var _Rt = me(function (Ata, fKn) { + fKn.exports = "./fonts/yarn.svg"; +}); +var HRt = me(function (wta, mKn) { + mKn.exports = "./fonts/yarnerror.svg"; +}); +var VRt = me(function (Sta, hKn) { + hKn.exports = "./fonts/yarnignore.svg"; +}); +var GRt = me(function (Cta, gKn) { + gKn.exports = "./fonts/yarnlock.svg"; +}); +var qRt = me(function (Eta, yKn) { + yKn.exports = "./fonts/yin.svg"; +}); +var ZRt = me(function (Ita, vKn) { + vKn.exports = "./fonts/zig.svg"; +}); +var QRt = me(function (Tta, bKn) { + bKn.exports = "./fonts/zip.svg"; +}); +var XRt, + WRt, + YRt, + KRt, + JRt, + jRt, + $Rt, + ePt, + tPt, + nPt, + rPt, + oPt, + aPt, + iPt, + sPt, + lPt, + cPt, + uPt, + dPt, + pPt, + fPt, + mPt, + hPt, + gPt, + yPt, + vPt, + bPt, + xPt, + APt, + wPt, + SPt, + CPt, + EPt, + IPt, + TPt, + kPt, + RPt, + PPt, + MPt, + DPt, + LPt, + BPt, + OPt, + FPt, + UPt, + NPt, + zPt, + _Pt, + HPt, + VPt, + GPt, + qPt, + ZPt, + QPt, + XPt, + WPt, + YPt, + KPt, + JPt, + jPt, + $Pt, + e9t, + t9t, + n9t, + r9t, + o9t, + a9t, + i9t, + s9t, + l9t, + c9t, + u9t, + d9t, + p9t, + f9t, + m9t, + h9t, + g9t, + y9t, + v9t, + b9t, + x9t, + A9t, + w9t, + S9t, + C9t, + E9t, + I9t, + T9t, + k9t, + R9t, + P9t, + M9t, + D9t, + L9t, + B9t, + O9t, + F9t, + U9t, + N9t, + z9t, + _9t, + H9t, + V9t, + G9t, + q9t, + Z9t, + Q9t, + X9t, + W9t, + Y9t, + K9t, + J9t, + j9t, + $9t, + eMt, + tMt, + nMt, + rMt, + oMt, + aMt, + iMt, + sMt, + lMt, + cMt, + uMt, + dMt, + pMt, + fMt, + mMt, + hMt, + gMt, + yMt, + vMt, + bMt, + xMt, + AMt, + wMt, + SMt, + CMt, + EMt, + IMt, + TMt, + kMt, + RMt, + PMt, + MMt, + DMt, + LMt, + BMt, + OMt, + FMt, + UMt, + NMt, + zMt, + _Mt, + HMt, + VMt, + GMt, + qMt, + ZMt, + QMt, + XMt, + WMt, + YMt, + KMt, + JMt, + jMt, + $Mt, + eDt, + tDt, + nDt, + rDt, + oDt, + aDt, + iDt, + sDt, + lDt, + cDt, + uDt, + dDt, + pDt, + fDt, + mDt, + hDt, + gDt, + yDt, + vDt, + bDt, + xDt, + ADt, + wDt, + SDt, + CDt, + EDt, + IDt, + TDt, + kDt, + RDt, + PDt, + MDt, + DDt, + LDt, + BDt, + ODt, + FDt, + UDt, + NDt, + zDt, + _Dt, + HDt, + VDt, + GDt, + qDt, + ZDt, + QDt, + XDt, + WDt, + YDt, + KDt, + JDt, + jDt, + $Dt, + eLt, + tLt, + nLt, + rLt, + oLt, + aLt, + iLt, + sLt, + lLt, + cLt, + uLt, + dLt, + pLt, + fLt, + mLt, + hLt, + gLt, + yLt, + vLt, + bLt, + xLt, + ALt, + wLt, + SLt, + CLt, + ELt, + ILt, + TLt, + kLt, + RLt, + PLt, + MLt, + DLt, + LLt, + BLt, + OLt, + FLt, + ULt, + NLt, + zLt, + _Lt, + HLt, + VLt, + GLt, + qLt, + ZLt, + QLt, + XLt, + WLt, + YLt, + KLt, + JLt, + jLt, + $Lt, + eBt, + tBt, + nBt, + rBt, + oBt, + aBt, + iBt, + sBt, + lBt, + cBt, + uBt, + dBt, + pBt, + fBt, + mBt, + hBt, + gBt, + yBt, + vBt, + bBt, + xBt, + ABt, + wBt, + SBt, + CBt, + EBt, + IBt, + TBt, + kBt, + RBt, + PBt, + MBt, + DBt, + LBt, + BBt, + OBt, + FBt, + UBt, + NBt, + zBt, + _Bt, + HBt, + VBt, + GBt, + qBt, + ZBt, + QBt, + XBt, + WBt, + YBt, + KBt, + JBt, + jBt, + $Bt, + eOt, + tOt, + nOt, + rOt, + oOt, + aOt, + iOt, + sOt, + lOt, + cOt, + uOt, + dOt, + pOt, + fOt, + mOt, + hOt, + gOt, + yOt, + vOt, + bOt, + xOt, + AOt, + wOt, + SOt, + COt, + EOt, + IOt, + TOt, + kOt, + ROt, + POt, + MOt, + DOt, + LOt, + BOt, + OOt, + FOt, + UOt, + NOt, + zOt, + _Ot, + HOt, + VOt, + GOt, + qOt, + ZOt, + QOt, + XOt, + WOt, + YOt, + KOt, + JOt, + jOt, + $Ot, + eFt, + tFt, + nFt, + rFt, + oFt, + aFt, + iFt, + sFt, + lFt; +var cFt = P(() => { + ((XRt = z(D5t(), 1)), + (WRt = z(L5t(), 1)), + (YRt = z(B5t(), 1)), + (KRt = z(O5t(), 1)), + (JRt = z(F5t(), 1)), + (jRt = z(U5t(), 1)), + ($Rt = z(N5t(), 1)), + (ePt = z(z5t(), 1)), + (tPt = z(_5t(), 1)), + (nPt = z(H5t(), 1)), + (rPt = z(V5t(), 1)), + (oPt = z(G5t(), 1)), + (aPt = z(q5t(), 1)), + (iPt = z(Z5t(), 1)), + (sPt = z(Q5t(), 1)), + (lPt = z(X5t(), 1)), + (cPt = z(W5t(), 1)), + (uPt = z(Y5t(), 1)), + (dPt = z(K5t(), 1)), + (pPt = z(J5t(), 1)), + (fPt = z(j5t(), 1)), + (mPt = z($5t(), 1)), + (hPt = z(e8t(), 1)), + (gPt = z(t8t(), 1)), + (yPt = z(n8t(), 1)), + (vPt = z(r8t(), 1)), + (bPt = z(o8t(), 1)), + (xPt = z(a8t(), 1)), + (APt = z(i8t(), 1)), + (wPt = z(s8t(), 1)), + (SPt = z(l8t(), 1)), + (CPt = z(c8t(), 1)), + (EPt = z(u8t(), 1)), + (IPt = z(d8t(), 1)), + (TPt = z(p8t(), 1)), + (kPt = z(f8t(), 1)), + (RPt = z(m8t(), 1)), + (PPt = z(h8t(), 1)), + (MPt = z(g8t(), 1)), + (DPt = z(y8t(), 1)), + (LPt = z(v8t(), 1)), + (BPt = z(b8t(), 1)), + (OPt = z(x8t(), 1)), + (FPt = z(A8t(), 1)), + (UPt = z(w8t(), 1)), + (NPt = z(S8t(), 1)), + (zPt = z(C8t(), 1)), + (_Pt = z(E8t(), 1)), + (HPt = z(I8t(), 1)), + (VPt = z(T8t(), 1)), + (GPt = z(k8t(), 1)), + (qPt = z(R8t(), 1)), + (ZPt = z(P8t(), 1)), + (QPt = z(M8t(), 1)), + (XPt = z(D8t(), 1)), + (WPt = z(L8t(), 1)), + (YPt = z(B8t(), 1)), + (KPt = z(O8t(), 1)), + (JPt = z(F8t(), 1)), + (jPt = z(U8t(), 1)), + ($Pt = z(N8t(), 1)), + (e9t = z(z8t(), 1)), + (t9t = z(_8t(), 1)), + (n9t = z(H8t(), 1)), + (r9t = z(V8t(), 1)), + (o9t = z(G8t(), 1)), + (a9t = z(q8t(), 1)), + (i9t = z(Z8t(), 1)), + (s9t = z(Q8t(), 1)), + (l9t = z(X8t(), 1)), + (c9t = z(W8t(), 1)), + (u9t = z(Y8t(), 1)), + (d9t = z(K8t(), 1)), + (p9t = z(J8t(), 1)), + (f9t = z(j8t(), 1)), + (m9t = z($8t(), 1)), + (h9t = z(eEt(), 1)), + (g9t = z(tEt(), 1)), + (y9t = z(nEt(), 1)), + (v9t = z(rEt(), 1)), + (b9t = z(oEt(), 1)), + (x9t = z(aEt(), 1)), + (A9t = z(iEt(), 1)), + (w9t = z(sEt(), 1)), + (S9t = z(lEt(), 1)), + (C9t = z(cEt(), 1)), + (E9t = z(uEt(), 1)), + (I9t = z(dEt(), 1)), + (T9t = z(pEt(), 1)), + (k9t = z(fEt(), 1)), + (R9t = z(mEt(), 1)), + (P9t = z(hEt(), 1)), + (M9t = z(gEt(), 1)), + (D9t = z(yEt(), 1)), + (L9t = z(vEt(), 1)), + (B9t = z(bEt(), 1)), + (O9t = z(xEt(), 1)), + (F9t = z(AEt(), 1)), + (U9t = z(wEt(), 1)), + (N9t = z(SEt(), 1)), + (z9t = z(CEt(), 1)), + (_9t = z(EEt(), 1)), + (H9t = z(IEt(), 1)), + (V9t = z(TEt(), 1)), + (G9t = z(kEt(), 1)), + (q9t = z(REt(), 1)), + (Z9t = z(PEt(), 1)), + (Q9t = z(MEt(), 1)), + (X9t = z(DEt(), 1)), + (W9t = z(LEt(), 1)), + (Y9t = z(BEt(), 1)), + (K9t = z(OEt(), 1)), + (J9t = z(FEt(), 1)), + (j9t = z(UEt(), 1)), + ($9t = z(NEt(), 1)), + (eMt = z(zEt(), 1)), + (tMt = z(_Et(), 1)), + (nMt = z(HEt(), 1)), + (rMt = z(VEt(), 1)), + (oMt = z(GEt(), 1)), + (aMt = z(qEt(), 1)), + (iMt = z(ZEt(), 1)), + (sMt = z(QEt(), 1)), + (lMt = z(XEt(), 1)), + (cMt = z(WEt(), 1)), + (uMt = z(YEt(), 1)), + (dMt = z(KEt(), 1)), + (pMt = z(JEt(), 1)), + (fMt = z(jEt(), 1)), + (mMt = z($Et(), 1)), + (hMt = z(eIt(), 1)), + (gMt = z(tIt(), 1)), + (yMt = z(nIt(), 1)), + (vMt = z(rIt(), 1)), + (bMt = z(oIt(), 1)), + (xMt = z(aIt(), 1)), + (AMt = z(iIt(), 1)), + (wMt = z(sIt(), 1)), + (SMt = z(lIt(), 1)), + (CMt = z(cIt(), 1)), + (EMt = z(uIt(), 1)), + (IMt = z(dIt(), 1)), + (TMt = z(pIt(), 1)), + (kMt = z(fIt(), 1)), + (RMt = z(mIt(), 1)), + (PMt = z(hIt(), 1)), + (MMt = z(gIt(), 1)), + (DMt = z(yIt(), 1)), + (LMt = z(vIt(), 1)), + (BMt = z(bIt(), 1)), + (OMt = z(xIt(), 1)), + (FMt = z(AIt(), 1)), + (UMt = z(wIt(), 1)), + (NMt = z(SIt(), 1)), + (zMt = z(CIt(), 1)), + (_Mt = z(EIt(), 1)), + (HMt = z(IIt(), 1)), + (VMt = z(TIt(), 1)), + (GMt = z(kIt(), 1)), + (qMt = z(RIt(), 1)), + (ZMt = z(PIt(), 1)), + (QMt = z(MIt(), 1)), + (XMt = z(DIt(), 1)), + (WMt = z(LIt(), 1)), + (YMt = z(BIt(), 1)), + (KMt = z(OIt(), 1)), + (JMt = z(FIt(), 1)), + (jMt = z(UIt(), 1)), + ($Mt = z(NIt(), 1)), + (eDt = z(zIt(), 1)), + (tDt = z(_It(), 1)), + (nDt = z(HIt(), 1)), + (rDt = z(VIt(), 1)), + (oDt = z(GIt(), 1)), + (aDt = z(qIt(), 1)), + (iDt = z(ZIt(), 1)), + (sDt = z(QIt(), 1)), + (lDt = z(XIt(), 1)), + (cDt = z(WIt(), 1)), + (uDt = z(YIt(), 1)), + (dDt = z(KIt(), 1)), + (pDt = z(JIt(), 1)), + (fDt = z(jIt(), 1)), + (mDt = z($It(), 1)), + (hDt = z(eTt(), 1)), + (gDt = z(tTt(), 1)), + (yDt = z(nTt(), 1)), + (vDt = z(rTt(), 1)), + (bDt = z(oTt(), 1)), + (xDt = z(aTt(), 1)), + (ADt = z(iTt(), 1)), + (wDt = z(sTt(), 1)), + (SDt = z(lTt(), 1)), + (CDt = z(cTt(), 1)), + (EDt = z(uTt(), 1)), + (IDt = z(dTt(), 1)), + (TDt = z(pTt(), 1)), + (kDt = z(fTt(), 1)), + (RDt = z(mTt(), 1)), + (PDt = z(hTt(), 1)), + (MDt = z(gTt(), 1)), + (DDt = z(yTt(), 1)), + (LDt = z(vTt(), 1)), + (BDt = z(bTt(), 1)), + (ODt = z(xTt(), 1)), + (FDt = z(ATt(), 1)), + (UDt = z(wTt(), 1)), + (NDt = z(STt(), 1)), + (zDt = z(CTt(), 1)), + (_Dt = z(ETt(), 1)), + (HDt = z(ITt(), 1)), + (VDt = z(TTt(), 1)), + (GDt = z(kTt(), 1)), + (qDt = z(RTt(), 1)), + (ZDt = z(PTt(), 1)), + (QDt = z(MTt(), 1)), + (XDt = z(DTt(), 1)), + (WDt = z(LTt(), 1)), + (YDt = z(BTt(), 1)), + (KDt = z(OTt(), 1)), + (JDt = z(FTt(), 1)), + (jDt = z(UTt(), 1)), + ($Dt = z(NTt(), 1)), + (eLt = z(zTt(), 1)), + (tLt = z(_Tt(), 1)), + (nLt = z(HTt(), 1)), + (rLt = z(VTt(), 1)), + (oLt = z(GTt(), 1)), + (aLt = z(qTt(), 1)), + (iLt = z(ZTt(), 1)), + (sLt = z(QTt(), 1)), + (lLt = z(XTt(), 1)), + (cLt = z(WTt(), 1)), + (uLt = z(YTt(), 1)), + (dLt = z(KTt(), 1)), + (pLt = z(JTt(), 1)), + (fLt = z(jTt(), 1)), + (mLt = z($Tt(), 1)), + (hLt = z(e7t(), 1)), + (gLt = z(t7t(), 1)), + (yLt = z(n7t(), 1)), + (vLt = z(r7t(), 1)), + (bLt = z(o7t(), 1)), + (xLt = z(a7t(), 1)), + (ALt = z(i7t(), 1)), + (wLt = z(s7t(), 1)), + (SLt = z(l7t(), 1)), + (CLt = z(c7t(), 1)), + (ELt = z(u7t(), 1)), + (ILt = z(d7t(), 1)), + (TLt = z(p7t(), 1)), + (kLt = z(f7t(), 1)), + (RLt = z(m7t(), 1)), + (PLt = z(h7t(), 1)), + (MLt = z(g7t(), 1)), + (DLt = z(y7t(), 1)), + (LLt = z(v7t(), 1)), + (BLt = z(b7t(), 1)), + (OLt = z(x7t(), 1)), + (FLt = z(A7t(), 1)), + (ULt = z(w7t(), 1)), + (NLt = z(S7t(), 1)), + (zLt = z(C7t(), 1)), + (_Lt = z(E7t(), 1)), + (HLt = z(I7t(), 1)), + (VLt = z(T7t(), 1)), + (GLt = z(k7t(), 1)), + (qLt = z(R7t(), 1)), + (ZLt = z(P7t(), 1)), + (QLt = z(M7t(), 1)), + (XLt = z(D7t(), 1)), + (WLt = z(L7t(), 1)), + (YLt = z(B7t(), 1)), + (KLt = z(O7t(), 1)), + (JLt = z(F7t(), 1)), + (jLt = z(U7t(), 1)), + ($Lt = z(N7t(), 1)), + (eBt = z(z7t(), 1)), + (tBt = z(_7t(), 1)), + (nBt = z(H7t(), 1)), + (rBt = z(V7t(), 1)), + (oBt = z(G7t(), 1)), + (aBt = z(q7t(), 1)), + (iBt = z(Z7t(), 1)), + (sBt = z(Q7t(), 1)), + (lBt = z(X7t(), 1)), + (cBt = z(W7t(), 1)), + (uBt = z(Y7t(), 1)), + (dBt = z(K7t(), 1)), + (pBt = z(J7t(), 1)), + (fBt = z(j7t(), 1)), + (mBt = z($7t(), 1)), + (hBt = z(ekt(), 1)), + (gBt = z(tkt(), 1)), + (yBt = z(nkt(), 1)), + (vBt = z(rkt(), 1)), + (bBt = z(okt(), 1)), + (xBt = z(akt(), 1)), + (ABt = z(ikt(), 1)), + (wBt = z(skt(), 1)), + (SBt = z(lkt(), 1)), + (CBt = z(ckt(), 1)), + (EBt = z(ukt(), 1)), + (IBt = z(dkt(), 1)), + (TBt = z(pkt(), 1)), + (kBt = z(fkt(), 1)), + (RBt = z(mkt(), 1)), + (PBt = z(hkt(), 1)), + (MBt = z(gkt(), 1)), + (DBt = z(ykt(), 1)), + (LBt = z(vkt(), 1)), + (BBt = z(bkt(), 1)), + (OBt = z(xkt(), 1)), + (FBt = z(Akt(), 1)), + (UBt = z(wkt(), 1)), + (NBt = z(Skt(), 1)), + (zBt = z(Ckt(), 1)), + (_Bt = z(Ekt(), 1)), + (HBt = z(Ikt(), 1)), + (VBt = z(Tkt(), 1)), + (GBt = z(kkt(), 1)), + (qBt = z(Rkt(), 1)), + (ZBt = z(Pkt(), 1)), + (QBt = z(Mkt(), 1)), + (XBt = z(Dkt(), 1)), + (WBt = z(Lkt(), 1)), + (YBt = z(Bkt(), 1)), + (KBt = z(Okt(), 1)), + (JBt = z(Fkt(), 1)), + (jBt = z(Ukt(), 1)), + ($Bt = z(Nkt(), 1)), + (eOt = z(zkt(), 1)), + (tOt = z(_kt(), 1)), + (nOt = z(Hkt(), 1)), + (rOt = z(Vkt(), 1)), + (oOt = z(Gkt(), 1)), + (aOt = z(qkt(), 1)), + (iOt = z(Zkt(), 1)), + (sOt = z(Qkt(), 1)), + (lOt = z(Xkt(), 1)), + (cOt = z(Wkt(), 1)), + (uOt = z(Ykt(), 1)), + (dOt = z(Kkt(), 1)), + (pOt = z(Jkt(), 1)), + (fOt = z(jkt(), 1)), + (mOt = z($kt(), 1)), + (hOt = z(eRt(), 1)), + (gOt = z(tRt(), 1)), + (yOt = z(nRt(), 1)), + (vOt = z(rRt(), 1)), + (bOt = z(oRt(), 1)), + (xOt = z(aRt(), 1)), + (AOt = z(iRt(), 1)), + (wOt = z(sRt(), 1)), + (SOt = z(lRt(), 1)), + (COt = z(cRt(), 1)), + (EOt = z(uRt(), 1)), + (IOt = z(dRt(), 1)), + (TOt = z(pRt(), 1)), + (kOt = z(fRt(), 1)), + (ROt = z(mRt(), 1)), + (POt = z(hRt(), 1)), + (MOt = z(gRt(), 1)), + (DOt = z(yRt(), 1)), + (LOt = z(vRt(), 1)), + (BOt = z(bRt(), 1)), + (OOt = z(xRt(), 1)), + (FOt = z(ARt(), 1)), + (UOt = z(wRt(), 1)), + (NOt = z(SRt(), 1)), + (zOt = z(CRt(), 1)), + (_Ot = z(ERt(), 1)), + (HOt = z(IRt(), 1)), + (VOt = z(TRt(), 1)), + (GOt = z(kRt(), 1)), + (qOt = z(RRt(), 1)), + (ZOt = z(PRt(), 1)), + (QOt = z(MRt(), 1)), + (XOt = z(DRt(), 1)), + (WOt = z(LRt(), 1)), + (YOt = z(BRt(), 1)), + (KOt = z(ORt(), 1)), + (JOt = z(FRt(), 1)), + (jOt = z(URt(), 1)), + ($Ot = z(NRt(), 1)), + (eFt = z(zRt(), 1)), + (tFt = z(_Rt(), 1)), + (nFt = z(HRt(), 1)), + (rFt = z(VRt(), 1)), + (oFt = z(GRt(), 1)), + (aFt = z(qRt(), 1)), + (iFt = z(ZRt(), 1)), + (sFt = z(QRt(), 1)), + (lFt = { + ace: XRt.default, + acemanifest: WRt.default, + adoc: YRt.default, + adonis: KRt.default, + adonisconfig: JRt.default, + afdesign: jRt.default, + afphoto: $Rt.default, + afpub: ePt.default, + ai: tPt.default, + air: nPt.default, + angular: rPt.default, + anim: oPt.default, + astro: aPt.default, + astroconfig: iPt.default, + atomizer: sPt.default, + audio: lPt.default, + audiomp3: cPt.default, + audioogg: uPt.default, + audiowav: dPt.default, + audiowv: pPt.default, + azure: fPt.default, + babel: mPt.default, + ballerina: hPt.default, + ballerinaconfig: gPt.default, + bat: yPt.default, + bazel: vPt.default, + bazelignore: bPt.default, + bicep: xPt.default, + bicepconfig: APt.default, + bicepparam: wPt.default, + binary: SPt.default, + biome: CPt.default, + blade: EPt.default, + brotli: IPt.default, + browserslist: TPt.default, + bruno: kPt.default, + bsconfig: RPt.default, + buck: PPt.default, + bun: MPt.default, + bundler: DPt.default, + bunlock: LPt.default, + c: BPt.default, + cargo: OPt.default, + cargolock: FPt.default, + cert: UPt.default, + cheader: NPt.default, + civet: zPt.default, + claude: _Pt.default, + cli: HPt.default, + clojure: VPt.default, + cmake: GPt.default, + codeworkspace: qPt.default, + coffeescript: ZPt.default, + commitlint: QPt.default, + compodoc: XPt.default, + composer: WPt.default, + composerlock: YPt.default, + conan: KPt.default, + conf: JPt.default, + copilot: jPt.default, + cpp: $Pt.default, + crystal: e9t.default, + csharp: t9t.default, + cshtml: n9t.default, + csproj: r9t.default, + css: o9t.default, + cssmap: a9t.default, + csv: i9t.default, + cucumber: s9t.default, + cursor: l9t.default, + cypress: c9t.default, + cypressjs: u9t.default, + cypressts: d9t.default, + d: p9t.default, + dartlang: f9t.default, + delphiproject: m9t.default, + diff: h9t.default, + docker: g9t.default, + dockerdebug: y9t.default, + dockerignore: v9t.default, + drawio: b9t.default, + drizzle: x9t.default, + dsstore: A9t.default, + dune: w9t.default, + duneproject: S9t.default, + edge: C9t.default, + editorconfig: E9t.default, + eex: I9t.default, + elixir: T9t.default, + elm: k9t.default, + env: R9t.default, + eraser: P9t.default, + erb: M9t.default, + erlang: D9t.default, + esbuild: L9t.default, + eslint: B9t.default, + eslintignore: O9t.default, + excalidraw: F9t.default, + exs: U9t.default, + exx: N9t.default, + farm: z9t.default, + figma: _9t.default, + file: H9t.default, + file_light: V9t.default, + flakelock: G9t.default, + flutter: q9t.default, + flutterlock: Z9t.default, + flutterpackage: Q9t.default, + folder: X9t.default, + folder_open: W9t.default, + fonteot: Y9t.default, + fontotf: K9t.default, + fontttf: J9t.default, + fontwoff: j9t.default, + fontwoff2: $9t.default, + freemarker: eMt.default, + fsharp: tMt.default, + gbl: nMt.default, + git: rMt.default, + gitlab: oMt.default, + gleam: aMt.default, + gleamconfig: iMt.default, + go: sMt.default, + go_package: lMt.default, + godot: cMt.default, + gradle: uMt.default, + gradlebat: dMt.default, + gradlekotlin: pMt.default, + grain: fMt.default, + graphql: mMt.default, + groovy: hMt.default, + grunt: gMt.default, + gulp: yMt.default, + h: vMt.default, + haml: bMt.default, + handlebars: xMt.default, + hardhat: AMt.default, + hash: wMt.default, + hashicorp: SMt.default, + haskell: CMt.default, + haxe: EMt.default, + haxeml: IMt.default, + hpp: TMt.default, + htaccess: kMt.default, + html: RMt.default, + http: PMt.default, + identifier: MMt.default, + image: DMt.default, + imagegif: LMt.default, + imageico: BMt.default, + imagejpg: OMt.default, + imagepng: FMt.default, + imagewebp: UMt.default, + imba: NMt.default, + info: zMt.default, + instructions: _Mt.default, + ipynb: HMt.default, + jar: VMt.default, + java: GMt.default, + jenkins: qMt.default, + jest: ZMt.default, + jinja: QMt.default, + js: XMt.default, + jsmap: WMt.default, + json: YMt.default, + jsp: KMt.default, + julia: JMt.default, + karma: jMt.default, + keep: $Mt.default, + key: eDt.default, + knex: tDt.default, + knip: nDt.default, + kotlin: rDt.default, + kotlins: oDt.default, + krita: aDt.default, + latex: iDt.default, + launch: sDt.default, + lazarusproject: lDt.default, + less: cDt.default, + license: uDt.default, + light_editorconfig: dDt.default, + liquid: pDt.default, + llvm: fDt.default, + lock: mDt.default, + log: hDt.default, + lua: gDt.default, + m: yDt.default, + makefile: vDt.default, + manifest: bDt.default, + markdown: xDt.default, + markdownx: ADt.default, + maven: wDt.default, + mermaid: SDt.default, + mesh: CDt.default, + mgcb: EDt.default, + mint: IDt.default, + mix: TDt.default, + mixlock: kDt.default, + mjml: RDt.default, + mkdocs: PDt.default, + mockoon: MDt.default, + motoko: DDt.default, + mov: LDt.default, + mp4: BDt.default, + mtl: ODt.default, + mustache: FDt.default, + nelua: UDt.default, + neon: NDt.default, + nestjs: zDt.default, + nestjscontroller: _Dt.default, + nestjsdecorator: HDt.default, + nestjsdto: VDt.default, + nestjsentity: GDt.default, + nestjsfilter: qDt.default, + nestjsguard: ZDt.default, + nestjsinterceptor: QDt.default, + nestjsmodule: XDt.default, + nestjsrepository: WDt.default, + nestjsresolver: YDt.default, + nestjsservice: KDt.default, + nestscheduler: JDt.default, + netlify: jDt.default, + nextconfig: $Dt.default, + nextron: eLt.default, + nginx: tLt.default, + nim: nLt.default, + nix: rLt.default, + njk: oLt.default, + node: aLt.default, + nodemon: iLt.default, + npm: sLt.default, + npmlock: lLt.default, + nuxt: cLt.default, + nvidia: uLt.default, + nvim: dLt.default, + nvm: pLt.default, + nx: fLt.default, + obj: mLt.default, + ocaml: hLt.default, + ocamli: gLt.default, + ocamll: yLt.default, + ocamly: vLt.default, + odin: bLt.default, + opengl: xLt.default, + oxlint: ALt.default, + panda: wLt.default, + parcel: SLt.default, + pascal: CLt.default, + pdf: ELt.default, + perl: ILt.default, + perlm: TLt.default, + pfx: kLt.default, + photoshop: RLt.default, + php: PLt.default, + plantuml: MLt.default, + playright: DLt.default, + plop: LLt.default, + pnpm: BLt.default, + pnpmlock: OLt.default, + poetry: FLt.default, + poetrylock: ULt.default, + postcssconfig: NLt.default, + powershell: zLt.default, + powershelldata: _Lt.default, + powershellmodule: HLt.default, + precommit: VLt.default, + prettier: GLt.default, + prettierignore: qLt.default, + prisma: ZLt.default, + prolog: QLt.default, + prompt: XLt.default, + properties: WLt.default, + proto: YLt.default, + pug: KLt.default, + pvk: JLt.default, + pyproject: jLt.default, + python: $Lt.default, + qt: eBt.default, + quarkus: tBt.default, + quasar: nBt.default, + r: rBt.default, + racket: oBt.default, + raku: aBt.default, + razor: iBt.default, + rb: sBt.default, + reactjs: lBt.default, + reactts: cBt.default, + readme: uBt.default, + redis: dBt.default, + rego: pBt.default, + remix: fBt.default, + rescript: mBt.default, + rescriptinterface: hBt.default, + restructuredtext: gBt.default, + rjson: yBt.default, + robots: vBt.default, + rollup: bBt.default, + rome: xBt.default, + ron: ABt.default, + root_folder: wBt.default, + root_folder_light: SBt.default, + root_folder_light_open: CBt.default, + root_folder_open: EBt.default, + rs: IBt.default, + ruby: TBt.default, + rust: kBt.default, + rustfmt: RBt.default, + sails: PBt.default, + salesforce: MBt.default, + sass: DBt.default, + scala: LBt.default, + scss: BBt.default, + sentinel: OBt.default, + sequelize: FBt.default, + sh: UBt.default, + shaderlab: NBt.default, + shell: zBt.default, + silq: _Bt.default, + slim: HBt.default, + sln: VBt.default, + smarty: GBt.default, + sol: qBt.default, + spc: ZBt.default, + sql: QBt.default, + sqlite: XBt.default, + storybook: WBt.default, + stylelint: YBt.default, + stylelintignore: KBt.default, + stylus: JBt.default, + suo: jBt.default, + svelte: $Bt.default, + svelteconfig: eOt.default, + svg: tOt.default, + swift: nOt.default, + symfony: rOt.default, + tailwind: oOt.default, + tauri: aOt.default, + taze: iOt.default, + terrafile: sOt.default, + terraform: lOt.default, + terraformvars: cOt.default, + terraformversion: uOt.default, + testjs: dOt.default, + testts: pOt.default, + tmpl: fOt.default, + todo: mOt.default, + toml: hOt.default, + toolversions: gOt.default, + tox: yOt.default, + travis: vOt.default, + tres: bOt.default, + tscn: xOt.default, + tsconfig: AOt.default, + tsx: wOt.default, + turbo: SOt.default, + twig: COt.default, + txt: EOt.default, + typescript: IOt.default, + typescriptdef: TOt.default, + ui: kOt.default, + unocss: ROt.default, + user: POt.default, + v: MOt.default, + vanillaextract: DOt.default, + vb: LOt.default, + vercel: BOt.default, + version: OOt.default, + vhd: FOt.default, + vhdl: UOt.default, + video: NOt.default, + vite: zOt.default, + viteenv: _Ot.default, + vitest: HOt.default, + vmod: VOt.default, + vscode: GOt.default, + vue: qOt.default, + vueconfig: ZOt.default, + wasm: QOt.default, + webpack: XOt.default, + wgsl: WOt.default, + windi: YOt.default, + wren: KOt.default, + xmake: JOt.default, + xml: jOt.default, + yaml: $Ot.default, + yang: eFt.default, + yarn: tFt.default, + yarnerror: nFt.default, + yarnignore: rFt.default, + yarnlock: oFt.default, + yin: aFt.default, + zig: iFt.default, + zip: sFt.default, + })); +}); +function R3({ + color: e, + children: t, + size: n = "sm", + selected: r = !1, + onClick: o, + onRemove: a, + className: i, +}) { + let s = !!(o || a); + return M("span", { + "data-m3-component": "TagPill", + className: Ve( + "relative isolate inline-flex max-w-full items-center rounded-small border", + "transition-colors duration-200 ease-standard", + r + ? "border-transparent bg-secondary-container text-on-secondary-container" + : "border-outline-variant bg-transparent text-on-surface-variant", + n === "xs" && "h-6 gap-1.5 text-label-medium", + n === "sm" && "h-7 gap-2 text-label-large", + n === "md" && "h-8 gap-2 text-label-large", + a && (n === "xs" ? "pr-2" : "pr-1"), + i, + ), + children: [ + M("button", { + type: "button", + onClick: o, + "aria-pressed": o && r ? !0 : void 0, + className: Ve( + "inline-flex h-full min-w-0 items-center rounded-[inherit] pl-2", + "focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2", + n === "xs" ? "gap-1.5" : "gap-2", + !a && (n === "xs" ? "pr-2" : "pr-3"), + s && + "cursor-pointer before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:bg-current before:opacity-0 before:transition-opacity hover:before:opacity-8 active:before:opacity-10", + !s && "cursor-default", + ), + children: [ + h("span", { + "aria-hidden": "true", + className: Ve( + "flex-shrink-0 rounded-full", + n === "xs" && "size-1.5", + n === "sm" && "size-2", + n === "md" && "size-2.5", + ), + style: { backgroundColor: e }, + }), + h("span", { className: "truncate", children: t }), + ], + }), + a && + h("button", { + type: "button", + "aria-label": "Remove", + onClick: (l) => { + (l.stopPropagation(), a(l)); + }, + className: Ve( + "inline-flex flex-shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors hover:bg-on-surface/8 active:bg-on-surface/10", + "focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2", + n === "xs" ? "size-4" : "size-6", + ), + children: h(at, { name: "close", size: n === "xs" ? 14 : 18 }), + }), + ], + }); +} +var uFt = P(() => { + gn(); + rn(); + le(); +}); +function yTe({ name: e, extension: t, onSave: n, onCancel: r, className: o }) { + let a = t && t.length > 0, + [i, s] = G2.useState(e), + [l, c] = G2.useState(!1), + u = G2.useRef(null); + G2.useEffect(() => { + if (u.current) (u.current.focus(), u.current.select()); + }, []); + let d = G2.useCallback(async () => { + if (l) return; + let m = i.trim(); + if (!m) { + r(); + return; + } + let g = a ? `${m}.${t}` : m, + v = a ? `${e}.${t}` : e; + if (g === v) { + r(); + return; + } + c(!0); + try { + await n(g); + } catch { + c(!1); + } + }, [i, l, a, t, e, n, r]), + p = G2.useCallback( + (m) => { + if (m.key === "Enter") (m.preventDefault(), m.stopPropagation(), d()); + else if (m.key === "Escape") + (m.preventDefault(), m.stopPropagation(), r()); + }, + [d, r], + ), + f = G2.useCallback(() => { + if (!l) r(); + }, [l, r]); + return M("div", { + "data-m3-component": "RenameInput", + className: Ve( + "inline-flex items-center rounded-extra-small bg-surface-container-highest px-1 text-body-medium text-on-surface", + "outline-primary transition-[outline-color] duration-200 ease-standard focus-within:outline-2", + l && "opacity-38", + o, + ), + children: [ + h("input", { + ref: u, + value: i, + onChange: (m) => s(m.target.value), + onKeyDown: p, + onBlur: f, + disabled: l, + autoComplete: "off", + spellCheck: !1, + "aria-label": "Name", + className: Ve( + "min-w-[60px] border-none bg-transparent py-0.5 text-center text-body-medium text-on-surface caret-primary outline-none", + "selection:bg-primary-container selection:text-on-primary-container", + "disabled:cursor-not-allowed", + ), + }), + a && + M("span", { + className: "text-body-medium text-on-surface-variant", + children: [".", t], + }), + ], + }); +} +var G2; +var dFt = P(() => { + rn(); + le(); + G2 = z(re(), 1); +}); +function pFt(e) { + return typeof e === "string" ? e : e.src; +} +function vTe({ + iconSrc: e, + thumbnailSrc: t, + beardedIconSrc: n, + size: r = 100, + iconScale: o = 1, + frameClassName: a, + selected: i = !1, + thumbnailLoaded: s, + thumbnailError: l, + onThumbnailLoad: c, + onThumbnailError: u, + className: d, +}) { + let [p, f] = eie.useState(!1), + [m, g] = eie.useState(!1), + v = s ?? p, + y = l ?? m, + x = pFt(e), + A = t ? pFt(t) : null, + [w, C] = eie.useState(A); + if (w !== A) (C(A), f(!1), g(!1)); + let E = r * o, + T = r < 60, + I = T ? E : E * 0.4, + k = Math.min(8, Math.max(2, r * 0.08)), + L = r >= xKn; + return M("div", { + "data-m3-component": "FileThumb", + className: Ve( + "relative pointer-events-none flex shrink-0 grow-0 items-center justify-center", + d, + ), + style: { + width: r, + height: r, + minWidth: r, + minHeight: r, + maxWidth: r, + maxHeight: r, + }, + children: [ + !(T && n) && + h("img", { + src: x, + alt: "", + className: Ve( + "object-contain transition-opacity duration-200 ease-standard", + v && A && "opacity-0", + ), + style: { width: E, height: E, maxWidth: "100%", maxHeight: "100%" }, + }), + A && + !y && + h("img", { + src: A, + alt: "", + className: Ve( + "absolute inset-0 m-auto max-h-full max-w-full object-contain transition-opacity duration-200 ease-standard", + a || + Ve( + "border border-outline-variant bg-surface-container-high", + L && "rounded-small", + ), + i && "outline-2 outline-offset-0 outline-primary", + !v && "opacity-0", + ), + style: a || L ? void 0 : { borderRadius: `${k}px` }, + onLoad: () => { + (f(!0), c?.()); + }, + onError: () => { + (g(!0), u?.()); + }, + }), + n && + h("img", { + src: n, + alt: "", + className: + "absolute left-1/2 top-[55%] -translate-x-1/2 -translate-y-1/2", + style: { width: I, height: I }, + }), + ], + }); +} +var eie, + xKn = 100; +var fFt = P(() => { + rn(); + le(); + eie = z(re(), 1); +}); +function bTe({ + title: e, + items: t, + selectedId: n, + onSelect: r, + onOpen: o, + viewMode: a = "list", + onViewModeChange: i, + activeFilter: s = "all", + onFilterChange: l, + onToggleStar: c, + onRowAction: u, + className: d, +}) { + return M("section", { + "aria-label": "Google Drive File List", + className: Ve( + "google-drive-explorer flex flex-col w-full text-on-surface", + d, + ), + children: [ + e && + h("div", { + className: "px-2 pt-2 pb-1", + children: h("h2", { + className: "text-headline-small font-medium text-on-surface", + children: e, + }), + }), + M("div", { + className: + "flex items-center justify-between gap-4 border-b border-outline-variant/30 pb-3 pt-1 px-2", + children: [ + h("div", { + className: "flex items-center gap-2 overflow-x-auto", + children: AKn.map((p) => + M( + "button", + { + type: "button", + onClick: () => l?.(p.key), + "aria-pressed": s === p.key, + className: Ve( + "flex items-center gap-1.5 rounded-full px-3.5 py-1.5 text-label-large font-medium transition-colors border", + s === p.key + ? "border-primary/50 bg-secondary-container text-on-secondary-container" + : "border-outline-variant/40 bg-surface text-on-surface hover:bg-on-surface/8", + ), + children: [ + h("span", { children: p.label }), + h(at, { name: "arrow_drop_down", size: 18 }), + ], + }, + p.key, + ), + ), + }), + i && + M("div", { + className: + "flex items-center rounded-full border border-outline-variant/40 bg-surface p-0.5", + children: [ + h(yn, { + variant: a === "list" ? "filled" : "standard", + size: "sm", + onClick: () => i("list"), + "aria-label": "List view", + "aria-pressed": a === "list", + title: "List view", + children: h(at, { name: "view_list", size: 18 }), + }), + h(yn, { + variant: a === "grid" ? "filled" : "standard", + size: "sm", + onClick: () => i("grid"), + "aria-label": "Grid view", + "aria-pressed": a === "grid", + title: "Grid view", + children: h(at, { name: "grid_view", size: 18 }), + }), + ], + }), + ], + }), + a === "grid" + ? h("div", { + className: + "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3 p-3", + children: t.map((p) => { + let f = n === p.id, + m = tie[p.type] || tie.file; + return M( + "div", + { + onClick: () => r?.(p), + onDoubleClick: () => o?.(p), + role: "button", + "aria-pressed": f, + "aria-label": p.name, + tabIndex: 0, + onKeyDown: (g) => { + if (g.key === "Enter" || g.key === " ") + if ((g.preventDefault(), g.key === "Enter" && o)) o(p); + else r?.(p); + }, + className: Ve( + "group relative flex flex-col justify-between rounded-medium border border-outline-variant/25 p-3 transition-colors cursor-pointer select-none", + f + ? "bg-secondary-container text-on-secondary-container border-primary" + : "bg-surface-container-low hover:bg-surface-container-high", + ), + children: [ + M("div", { + className: "flex items-center justify-between gap-2", + children: [ + h(at, { + name: m.icon, + size: 28, + className: Ve("shrink-0", m.colorClass), + }), + p.starred && + h(at, { + name: "star", + size: 18, + filled: !0, + className: "text-amber-500 fill-current", + }), + ], + }), + M("div", { + className: "mt-3", + children: [ + h("div", { + className: + "truncate text-body-medium font-medium text-on-surface", + children: p.name, + }), + h("div", { + className: + "truncate text-body-small text-on-surface-variant", + children: p.lastModified ?? p.size ?? "—", + }), + ], + }), + ], + }, + p.id, + ); + }), + }) + : h("div", { + className: "w-full overflow-x-auto", + children: M("table", { + className: "w-full border-collapse text-left text-body-medium", + children: [ + h("thead", { + children: M("tr", { + className: + "border-b border-outline-variant/20 text-title-small font-medium text-on-surface-variant", + children: [ + h("th", { + className: "py-3 px-4 w-[45%]", + children: "Name", + }), + h("th", { + className: "py-3 px-4 w-[20%]", + children: "Owner", + }), + h("th", { + className: "py-3 px-4 w-[20%]", + children: "Last modified", + }), + h("th", { + className: "py-3 px-4 w-[10%]", + children: "File size", + }), + h("th", { + className: "py-3 px-4 w-[5%] text-right", + children: "Actions", + }), + ], + }), + }), + h("tbody", { + children: t.map((p) => { + let f = n === p.id, + m = tie[p.type] || tie.file; + return M( + "tr", + { + onClick: () => r?.(p), + onDoubleClick: () => o?.(p), + "aria-selected": f, + tabIndex: 0, + onKeyDown: (g) => { + if (g.target !== g.currentTarget) return; + if (g.key === "Enter" || g.key === " ") + if ((g.preventDefault(), g.key === "Enter" && o)) + o(p); + else r?.(p); + }, + className: Ve( + "group cursor-pointer border-b border-outline-variant/15 transition-colors select-none", + f + ? "bg-secondary-container/60 text-on-secondary-container" + : "hover:bg-on-surface/5 active:bg-on-surface/10", + ), + children: [ + h("td", { + className: "py-2.5 px-4", + children: M("div", { + className: "flex items-center gap-3", + children: [ + h(at, { + name: m.icon, + size: 22, + className: Ve("shrink-0", m.colorClass), + }), + h("span", { + className: + "truncate font-medium text-on-surface", + children: p.name, + }), + p.starred && + h(at, { + name: "star", + size: 16, + filled: !0, + className: + "shrink-0 text-amber-500 fill-current", + "aria-label": "Starred", + }), + ], + }), + }), + h("td", { + className: + "py-2.5 px-4 text-body-small text-on-surface-variant", + children: p.owner ?? "me", + }), + h("td", { + className: + "py-2.5 px-4 text-body-small text-on-surface-variant", + children: p.lastModified ?? "—", + }), + h("td", { + className: + "py-2.5 px-4 text-body-small text-on-surface-variant", + children: p.size ?? "—", + }), + h("td", { + className: "py-2.5 px-4 text-right", + children: M("div", { + className: + "flex items-center justify-end gap-1 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 transition-opacity", + children: [ + c && + h(yn, { + variant: "standard", + size: "sm", + onClick: (g) => { + (g.stopPropagation(), c(p)); + }, + "aria-label": p.starred ? "Unstar" : "Star", + children: h(at, { + name: p.starred ? "star" : "star_outline", + size: 18, + }), + }), + u && + h(yn, { + variant: "standard", + size: "sm", + onClick: (g) => { + (g.stopPropagation(), u(p, "download")); + }, + "aria-label": "Download", + title: "Download", + children: h(at, { + name: "download", + size: 18, + }), + }), + ], + }), + }), + ], + }, + p.id, + ); + }), + }), + ], + }), + }), + ], + }); +} +var tie, AKn; +var mFt = P(() => { + gn(); + rn(); + le(); + ((tie = { + folder: { + icon: "folder", + colorClass: "text-on-surface-variant fill-current", + }, + document: { icon: "description", colorClass: "text-[#4285F4]" }, + spreadsheet: { icon: "table_chart", colorClass: "text-[#0EBC5F]" }, + presentation: { icon: "slideshow", colorClass: "text-[#FFCC00]" }, + image: { icon: "image", colorClass: "text-[#FF4641]" }, + pdf: { icon: "picture_as_pdf", colorClass: "text-[#EA4335]" }, + code: { icon: "code", colorClass: "text-[#9B72CB]" }, + archive: { icon: "folder_zip", colorClass: "text-on-surface-variant" }, + file: { icon: "draft", colorClass: "text-on-surface-variant" }, + }), + (AKn = [ + { key: "all", label: "Type" }, + { key: "people", label: "People" }, + { key: "modified", label: "Modified" }, + { key: "location", label: "Location" }, + ])); +}); +var sH = P(() => { + uFt(); + dFt(); + fFt(); + mFt(); +}); +var uI, hFt; +var gFt = P(() => { + YA(); + le(); + ((uI = z(re(), 1)), + (hFt = uI.memo(function ({ + file: t, + size: n, + onMouseEnter: r, + onMouseLeave: o, + squareMode: a = !1, + }) { + let [i, s] = uI.useState(0), + [l, c] = uI.useState(!1), + u = uI.useRef(null), + { buildSidecarUrl: d } = e0(), + p = t.sidecars?.find((D) => D.kind === "thumbstrip"); + if (!p) return null; + let m = ((D) => { + if (D.includes("detailed")) return { columns: 10, rows: 10 }; + if (D.includes("mobile")) return { columns: 3, rows: 3 }; + return { columns: 5, rows: 5 }; + })(p.variant), + g = m.columns * m.rows, + v = + t.video_media_data?.width && t.video_media_data?.height + ? t.video_media_data.width / t.video_media_data.height + : 1.7777777777777777, + y = n, + x = n, + A = m.columns * 100, + w = m.rows * 100; + if (a) + if (((y = n), (x = n), v > 1)) + ((A = m.columns * 100 * v), (w = m.rows * 100)); + else ((A = m.columns * 100), (w = (m.rows * 100) / v)); + else if (v > 1) x = n / v; + else y = n * v; + if (!t.content_identity?.uuid) return null; + let C = d(t.content_identity.uuid, p.kind, p.variant, p.format); + if (!C) return null; + let E = Math.min(Math.floor(i * g), g - 1), + T = Math.floor(E / m.columns), + I = E % m.columns, + k, + L; + if (m.columns > 1) k = (((I / m.columns) * A) / (A - 100)) * 100; + else k = 0; + if (m.rows > 1) L = (((T / m.rows) * w) / (w - 100)) * 100; + else L = 0; + return h("div", { + ref: u, + className: + "absolute inset-0 flex items-center justify-center z-10 pointer-events-auto", + onMouseMove: (D) => { + if (!u.current) return; + let N = u.current.getBoundingClientRect(), + _ = D.clientX - N.left, + G = Math.max(0, Math.min(1, _ / N.width)); + s(G); + }, + onMouseEnter: () => { + (c(!0), r?.()); + }, + onMouseLeave: () => { + (c(!1), s(0), o?.()); + }, + children: + l && + h("div", { + className: + "rounded-small bg-app-darkBox/95 backdrop-blur-sm overflow-hidden shadow-md3-3 relative", + style: { + width: y, + height: x, + backgroundImage: `url(${C})`, + backgroundSize: `${A}% ${w}%`, + backgroundPosition: `${k}% ${L}%`, + backgroundRepeat: "no-repeat", + imageRendering: "crisp-edges", + }, + children: h("div", { + className: + "absolute bottom-1 left-1 right-1 h-0.5 bg-black/50 rounded-full overflow-hidden", + children: h("div", { + className: "h-full bg-primary", + style: { width: `${i * 100}%` }, + }), + }), + }), + }); + }))); +}); +var Q6, yFt, vFt, P3; +var yM = P(() => { + rn(); + iH(); + cFt(); + sH(); + gFt(); + Li(); + YA(); + le(); + ((Q6 = z(re(), 1)), + (yFt = new Map()), + (vFt = new Map()), + (P3 = Q6.memo(function ({ + file: t, + size: n = 100, + className: r, + frameClassName: o, + iconScale: a = 1, + squareMode: i = !1, + }) { + let s = `${t.id}-${n}`, + { buildSidecarUrl: l } = e0(), + [c, u] = Q6.useState(() => yFt.get(s) || !1), + [d, p] = Q6.useState(() => vFt.get(s) || !1); + (Q6.useEffect(() => { + if (c) yFt.set(s, !0); + }, [c, s]), + Q6.useEffect(() => { + if (d) vFt.set(s, !0); + }, [d, s])); + let m = Stt(t)?.iconUrl, + g = Zi(t) === "video", + v = t.sidecars?.some((O) => O.kind === "thumbstrip"), + x = ((O) => { + if (!t.content_identity?.uuid) return null; + let B = t.sidecars.filter((N) => N.kind === "thumb"); + if (B.length === 0) return null; + let U = O <= 400 ? O * 0.6 : O, + D = B.toSorted((N, _) => { + let G = parseInt( + N.variant.split("x")[0]?.replace(/\D/g, "") || "0", + ), + Z = parseInt( + _.variant.split("x")[0]?.replace(/\D/g, "") || "0", + ), + q = N.variant.match(/@(\d+)x/), + H = _.variant.match(/@(\d+)x/), + te = q ? parseInt(q[1]) : 1, + ie = H ? parseInt(H[1]) : 1, + j = (te - 1) * 100, + oe = (ie - 1) * 100; + return Math.abs(G - U) + j - (Math.abs(Z - U) + oe); + })[0]; + return l(t.content_identity.uuid, D.kind, D.variant, D.format); + })(n), + A = Zi(t), + w = Ctt(t), + C = m || my(w, !0, t.extension, t.kind === "Directory"), + E = my("Document", !0, null, !1), + T = C === E, + I = M5t(t.extension, t.name), + k = I ? lFt[I] : null, + L = + k && + t.kind === "File" && + T && + (A === "code" || A === "document" || A === "config"); + return M("div", { + className: pt( + "relative pointer-events-none flex shrink-0 grow-0 items-center justify-center", + r, + ), + children: [ + h(vTe, { + iconSrc: C, + thumbnailSrc: x, + beardedIconSrc: L ? k : null, + size: n, + iconScale: a, + frameClassName: o, + thumbnailLoaded: c, + thumbnailError: d, + onThumbnailLoad: () => u(!0), + onThumbnailError: () => p(!0), + }), + g && v && c && h(hFt, { file: t, size: n, squareMode: i }), + ], + }); + }))); +}); +function Ls(e) { + if (e === null) return "0 B"; + let t = typeof e === "bigint" ? Number(e) : e; + if (t === 0) return "0 B"; + let n = 1024, + r = ["B", "KB", "MB", "GB", "TB"], + o = Math.floor(Math.log(t) / Math.log(n)); + return Math.round(t / Math.pow(n, o)) + " " + r[o]; +} +function nie(e) { + let t = typeof e === "string" ? new Date(e) : e, + r = new Date().getTime() - t.getTime(), + o = Math.floor(r / 1000), + a = Math.floor(o / 60), + i = Math.floor(a / 60), + s = Math.floor(i / 24); + if (s > 7) return t.toLocaleDateString(); + if (s > 0) return `${s}d ago`; + if (i > 0) return `${i}h ago`; + if (a > 0) return `${a}m ago`; + return "Just now"; +} +function bFt(e) { + if ("Physical" in e) { + let { device_slug: t, path: n } = e.Physical; + return `local://${t}${n}`; + } + if ("Cloud" in e) { + let { service: t, identifier: n, path: r } = e.Cloud; + return `${t.toLowerCase()}://${n}/${r}`; + } + if ("Content" in e) { + let { content_id: t } = e.Content; + return `content://${t}`; + } + return ""; +} +var hy = () => {}; +function CTe({ size: e = 16, className: t, label: n = "Loading" }) { + let r = e <= 16 ? 2 : e <= 24 ? 3 : 4, + o = (e - r) / 2, + a = 2 * Math.PI * o; + return h("span", { + role: "progressbar", + "aria-label": n, + className: Ve("m3-circular-indicator inline-flex shrink-0 text-primary", t), + style: { width: e, height: e }, + children: h("svg", { + width: e, + height: e, + viewBox: `0 0 ${e} ${e}`, + className: "animate-spin", + "aria-hidden": "true", + children: h("circle", { + cx: e / 2, + cy: e / 2, + r: o, + fill: "none", + stroke: "currentColor", + strokeWidth: r, + strokeLinecap: "round", + strokeDasharray: `${a * 0.7} ${a}`, + }), + }), + }); +} +function QFt({ tone: e, icon: t, children: n, className: r }) { + return M("span", { + className: Ve( + "inline-flex h-6 shrink-0 items-center gap-1 rounded-small px-2 text-label-medium", + ZKn[e], + r, + ), + children: [t, n], + }); +} +var zg = + "outline-none focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2", + ZFt, + ZKn; +var cH = P(() => { + rs(); + rn(); + le(); + ZFt = { + initial: { height: 0, opacity: 0 }, + animate: { + height: "auto", + opacity: 1, + transition: { duration: mn.medium2, ease: Kt.emphasizedDecelerate }, + }, + exit: { + height: 0, + opacity: 0, + transition: { duration: mn.short4, ease: Kt.emphasizedAccelerate }, + }, + }; + ZKn = { + primary: "bg-primary-container text-on-primary-container", + success: "bg-success-container text-on-success-container", + error: "bg-error-container text-on-error-container", + warning: "bg-warning-container text-on-warning-container", + neutral: "border border-outline-variant text-on-surface-variant", + }; +}); +var QKn, + aie, + XKn, + WKn, + YKn, + KKn, + XFt = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), + WFt = (e, t) => { + let n = {}; + for (var r in e) aie(n, r, { get: e[r], enumerable: !0 }); + if (t) aie(n, Symbol.toStringTag, { value: "Module" }); + return n; + }, + JKn = (e, t, n, r) => { + if ((t && typeof t === "object") || typeof t === "function") { + for (var o = WKn(t), a = 0, i = o.length, s; a < i; a++) + if (((s = o[a]), !KKn.call(e, s) && s !== n)) + aie(e, s, { + get: ((l) => t[l]).bind(null, s), + enumerable: !(r = XKn(t, s)) || r.enumerable, + }); + } + return e; + }, + YFt = (e, t, n) => ( + (n = e != null ? QKn(YKn(e)) : {}), + JKn( + t || !e || !e.__esModule + ? aie(n, "default", { value: e, enumerable: !0 }) + : n, + e, + ) + ); +var KFt = P(() => { + ((QKn = Object.create), + (aie = Object.defineProperty), + (XKn = Object.getOwnPropertyDescriptor), + (WKn = Object.getOwnPropertyNames), + (YKn = Object.getPrototypeOf), + (KKn = Object.prototype.hasOwnProperty)); +}); +function JFt(e) { + return typeof e === "string" && jKn.has(e.replace(/#$/, "")); +} +var jKn; +var ETe = P(() => { + jKn = new Set([ + "https://json-schema.org/draft/2019-09/schema", + "http://json-schema.org/draft/2019-09/schema", + ]); +}); +var jFt = P(() => { + pEe(); + pEe(); +}); +var AM = P(() => { + jFt(); +}); +var iie = "2025-11-25", + sie, + lie = "io.modelcontextprotocol/related-task", + mI = "io.modelcontextprotocol/protocolVersion", + wM = "io.modelcontextprotocol/clientInfo", + Y6 = "io.modelcontextprotocol/serverInfo", + hI = "io.modelcontextprotocol/clientCapabilities", + cie = "io.modelcontextprotocol/subscriptionId", + SM = "io.modelcontextprotocol/logLevel", + gI = "2.0", + M3, + ql, + uie, + CM, + EM, + uH, + dH, + IM, + Fp, + K6, + Zl, + gm, + Df, + TM, + Ql, + q2, + kM, + RM, + yI, + vI, + bI, + die, + J6, + pH, + PM, + fH, + D3, + dx, + px, + $Kn, + eJn, + pie, + fie, + mH, + hH, + gH, + MM, + yH, + vH, + bH, + DM, + LM, + xH, + AH, + BM, + wH, + L3, + B3, + OM, + FM, + kTe, + UM, + O3, + fx, + NM, + SH, + CH, + EH, + IH, + TH, + xI, + kH, + RH, + PH, + MH, + DH, + LH, + BH, + OH, + zM, + FH, + UH, + NH, + zH, + _H, + HH, + VH, + GH, + qH, + ZH, + QH, + XH, + WH, + YH, + AI, + wI, + SI, + KH, + CI, + EI, + mx, + JH, + jH, + $H, + eV, + tV, + j6, + nV, + rV, + $6, + mie, + oV, + aV, + iV, + hie, + _M, + sV, + lV, + cV, + II, + uV, + dV, + pV, + fV, + mV, + W6, + hV, + gV, + yV, + vV, + bV, + HM, + TI, + kI, + VM, + GM, + qM, + xV, + ZM, + QM, + AV, + wV, + XM, + RI, + SV, + CV, + EV, + IV, + TV, + kV, + RV, + PV, + MV, + DV, + LV, + BV, + OV, + FV, + UV, + gie, + NV, + F3, + yie, + zV, + vie, + bie, + xie, + Aie, + wie, + Sie, + Cie, + Eie, + Iie, + Tie, + kie, + Rie, + Pie, + Mie, + Die, + Op, + _V, + WM, + HV, + VV, + GV, + qV, + ZV, + TTe, + QV, + XV, + WV, + Lie, + Bie; +var RTe = P(() => { + AM(); + ((sie = [iie, "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"]), + (M3 = w_(() => Jt([Q(), Pt(), Bt(), w3(), Wt(Q(), M3), je(M3)]))), + (ql = Wt(Q(), M3)), + (uie = je(M3)), + (CM = Jt([Q(), Pt().int()])), + (EM = Q()), + (uH = Te({ ttl: Pt().optional() })), + (dH = Te({ taskId: Q() })), + (IM = wt({ progressToken: CM.optional(), [lie]: dH.optional() })), + (Fp = Te({ _meta: IM.optional() })), + (K6 = Fp.extend({ task: uH.optional() })), + (Zl = Te({ method: Q(), params: Fp.loose().optional() })), + (gm = Te({ _meta: IM.optional() })), + (Df = Te({ method: Q(), params: gm.loose().optional() })), + (TM = wt({ + get [Y6]() { + return px.optional().catch(void 0); + }, + })), + (Ql = wt({ _meta: TM.optional() })), + (q2 = Jt([Q(), Pt().int()])), + (kM = Te({ jsonrpc: Ce(gI), id: q2, ...Zl.shape }).strict()), + (RM = Te({ jsonrpc: Ce(gI), ...Df.shape }).strict()), + (yI = Te({ jsonrpc: Ce(gI), id: q2, result: Ql }).strict()), + (vI = Te({ + jsonrpc: Ce(gI), + id: q2.optional(), + error: Te({ code: Pt().int(), message: Q(), data: Sn().optional() }), + }).strict()), + (bI = Jt([kM, RM, yI, vI])), + (die = Jt([yI, vI])), + (J6 = Ql.strict()), + (pH = gm.extend({ requestId: q2.optional(), reason: Q().optional() })), + (PM = Df.extend({ method: Ce("notifications/cancelled"), params: pH })), + (fH = Te({ + src: Q(), + mimeType: Q().optional(), + sizes: je(Q()).optional(), + theme: tr(["light", "dark"]).optional(), + })), + (D3 = Te({ icons: je(fH).optional() })), + (dx = Te({ name: Q(), title: Q().optional() })), + (px = dx.extend({ + ...dx.shape, + ...D3.shape, + version: Q(), + websiteUrl: Q().optional(), + description: Q().optional(), + })), + ($Kn = cy(Te({ applyDefaults: Bt().optional() }), ql)), + (eJn = ax( + (e) => { + if ( + e && + typeof e === "object" && + !Array.isArray(e) && + Object.keys(e).length === 0 + ) + return { form: {} }; + return e; + }, + cy(Te({ form: $Kn.optional(), url: ql.optional() }), ql.optional()), + )), + (pie = wt({ + list: ql.optional(), + cancel: ql.optional(), + requests: wt({ + sampling: wt({ createMessage: ql.optional() }).optional(), + elicitation: wt({ create: ql.optional() }).optional(), + }).optional(), + })), + (fie = wt({ + list: ql.optional(), + cancel: ql.optional(), + requests: wt({ + tools: wt({ call: ql.optional() }).optional(), + }).optional(), + })), + (mH = Te({ + experimental: Wt(Q(), ql).optional(), + sampling: Te({ context: ql.optional(), tools: ql.optional() }).optional(), + elicitation: eJn.optional(), + roots: Te({ listChanged: Bt().optional() }).optional(), + tasks: pie.optional(), + extensions: Wt(Q(), ql).optional(), + })), + (hH = Fp.extend({ + protocolVersion: Q(), + capabilities: mH, + clientInfo: px, + })), + (gH = Zl.extend({ method: Ce("initialize"), params: hH })), + (MM = Te({ + experimental: Wt(Q(), ql).optional(), + logging: ql.optional(), + completions: ql.optional(), + prompts: Te({ listChanged: Bt().optional() }).optional(), + resources: Te({ + subscribe: Bt().optional(), + listChanged: Bt().optional(), + }).optional(), + tools: Te({ listChanged: Bt().optional() }).optional(), + tasks: fie.optional(), + extensions: Wt(Q(), ql).optional(), + })), + (yH = Ql.extend({ + protocolVersion: Q(), + capabilities: MM, + serverInfo: px, + instructions: Q().optional(), + })), + (vH = Df.extend({ + method: Ce("notifications/initialized"), + params: gm.optional(), + })), + (bH = Zl.extend({ method: Ce("server/discover"), params: Fp.optional() })), + (DM = Ql.extend({ + supportedVersions: je(Q()), + capabilities: MM, + instructions: Q().optional(), + })), + (LM = Zl.extend({ method: Ce("ping"), params: Fp.optional() })), + (xH = Te({ progress: Pt(), total: Rn(Pt()), message: Rn(Q()) })), + (AH = Te({ ...gm.shape, ...xH.shape, progressToken: CM })), + (BM = Df.extend({ method: Ce("notifications/progress"), params: AH })), + (wH = Fp.extend({ cursor: EM.optional() })), + (L3 = Zl.extend({ params: wH.optional() })), + (B3 = Ql.extend({ nextCursor: EM.optional() })), + (OM = Te({ uri: Q(), mimeType: Rn(Q()), _meta: Wt(Q(), Sn()).optional() })), + (FM = OM.extend({ text: Q() })), + (kTe = Q().refine( + (e) => { + try { + return (atob(e), !0); + } catch { + return !1; + } + }, + { message: "Invalid Base64 string" }, + )), + (UM = OM.extend({ blob: kTe })), + (O3 = tr(["user", "assistant"])), + (fx = Te({ + audience: je(O3).optional(), + priority: Pt().min(0).max(1).optional(), + lastModified: S_({ offset: !0 }).optional(), + })), + (NM = Te({ + ...dx.shape, + ...D3.shape, + uri: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + size: Rn(Pt()), + annotations: fx.optional(), + _meta: Rn(wt({})), + })), + (SH = Te({ + ...dx.shape, + ...D3.shape, + uriTemplate: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + annotations: fx.optional(), + _meta: Rn(wt({})), + })), + (CH = L3.extend({ method: Ce("resources/list") })), + (EH = B3.extend({ resources: je(NM) })), + (IH = L3.extend({ method: Ce("resources/templates/list") })), + (TH = B3.extend({ resourceTemplates: je(SH) })), + (xI = Fp.extend({ uri: Q() })), + (kH = xI), + (RH = Zl.extend({ method: Ce("resources/read"), params: kH })), + (PH = Ql.extend({ contents: je(Jt([FM, UM])) })), + (MH = Df.extend({ + method: Ce("notifications/resources/list_changed"), + params: gm.optional(), + })), + (DH = xI), + (LH = Zl.extend({ method: Ce("resources/subscribe"), params: DH })), + (BH = xI), + (OH = Zl.extend({ method: Ce("resources/unsubscribe"), params: BH })), + (zM = Te({ + toolsListChanged: Bt().optional(), + promptsListChanged: Bt().optional(), + resourcesListChanged: Bt().optional(), + resourceSubscriptions: je(Q()).optional(), + })), + (FH = Fp.extend({ notifications: zM })), + (UH = Zl.extend({ method: Ce("subscriptions/listen"), params: FH })), + (NH = gm.extend({ notifications: zM })), + (zH = Df.extend({ + method: Ce("notifications/subscriptions/acknowledged"), + params: NH, + })), + (_H = TM.extend({ [cie]: q2 })), + (HH = Ql.extend({ _meta: _H })), + (VH = gm.extend({ uri: Q() })), + (GH = Df.extend({ + method: Ce("notifications/resources/updated"), + params: VH, + })), + (qH = Te({ name: Q(), description: Rn(Q()), required: Rn(Bt()) })), + (ZH = Te({ + ...dx.shape, + ...D3.shape, + description: Rn(Q()), + arguments: Rn(je(qH)), + _meta: Rn(wt({})), + })), + (QH = L3.extend({ method: Ce("prompts/list") })), + (XH = B3.extend({ prompts: je(ZH) })), + (WH = Fp.extend({ name: Q(), arguments: Wt(Q(), Q()).optional() })), + (YH = Zl.extend({ method: Ce("prompts/get"), params: WH })), + (AI = Te({ + type: Ce("text"), + text: Q(), + annotations: fx.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (wI = Te({ + type: Ce("image"), + data: kTe, + mimeType: Q(), + annotations: fx.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (SI = Te({ + type: Ce("audio"), + data: kTe, + mimeType: Q(), + annotations: fx.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (KH = Te({ + type: Ce("tool_use"), + name: Q(), + id: Q(), + input: Wt(Q(), Sn()), + _meta: Wt(Q(), Sn()).optional(), + })), + (CI = Te({ + type: Ce("resource"), + resource: Jt([FM, UM]), + annotations: fx.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (EI = NM.extend({ type: Ce("resource_link") })), + (mx = Jt([AI, wI, SI, EI, CI])), + (JH = Te({ role: O3, content: mx })), + (jH = Ql.extend({ description: Q().optional(), messages: je(JH) })), + ($H = Df.extend({ + method: Ce("notifications/prompts/list_changed"), + params: gm.optional(), + })), + (eV = Te({ + title: Q().optional(), + readOnlyHint: Bt().optional(), + destructiveHint: Bt().optional(), + idempotentHint: Bt().optional(), + openWorldHint: Bt().optional(), + })), + (tV = Te({ + taskSupport: tr(["required", "optional", "forbidden"]).optional(), + })), + (j6 = Te({ + ...dx.shape, + ...D3.shape, + description: Q().optional(), + inputSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), M3).optional(), + required: je(Q()).optional(), + }).catchall(Sn()), + outputSchema: wt({ $schema: Q().optional() }).optional(), + annotations: eV.optional(), + execution: tV.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (nV = L3.extend({ method: Ce("tools/list") })), + (rV = B3.extend({ tools: je(j6) })), + ($6 = Ql.extend({ + content: je(mx).default([]), + structuredContent: Sn().optional(), + isError: Bt().optional(), + })), + (mie = $6.or(Ql.extend({ toolResult: Sn() }))), + (oV = K6.extend({ name: Q(), arguments: Wt(Q(), Sn()).optional() })), + (aV = Zl.extend({ method: Ce("tools/call"), params: oV })), + (iV = Df.extend({ + method: Ce("notifications/tools/list_changed"), + params: gm.optional(), + })), + (hie = Te({ + autoRefresh: Bt().default(!0), + debounceMs: Pt().int().nonnegative().default(300), + })), + (_M = tr([ + "debug", + "info", + "notice", + "warning", + "error", + "critical", + "alert", + "emergency", + ])), + (sV = Fp.extend({ level: _M })), + (lV = Zl.extend({ method: Ce("logging/setLevel"), params: sV })), + (cV = gm.extend({ level: _M, logger: Q().optional(), data: Sn() })), + (II = Df.extend({ method: Ce("notifications/message"), params: cV })), + (uV = Te({ name: Q().optional() })), + (dV = Te({ + hints: je(uV).optional(), + costPriority: Pt().min(0).max(1).optional(), + speedPriority: Pt().min(0).max(1).optional(), + intelligencePriority: Pt().min(0).max(1).optional(), + })), + (pV = Te({ mode: tr(["auto", "required", "none"]).optional() })), + (fV = Te({ + type: Ce("tool_result"), + toolUseId: Q().describe( + "The unique identifier for the corresponding tool call.", + ), + content: je(mx), + structuredContent: Sn().optional(), + isError: Bt().optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (mV = dm("type", [AI, wI, SI])), + (W6 = dm("type", [AI, wI, SI, KH, fV])), + (hV = Te({ + role: O3, + content: Jt([W6, je(W6)]), + _meta: Wt(Q(), Sn()).optional(), + })), + (gV = K6.extend({ + messages: je(hV), + modelPreferences: dV.optional(), + systemPrompt: Q().optional(), + includeContext: tr(["none", "thisServer", "allServers"]).optional(), + temperature: Pt().optional(), + maxTokens: Pt().int(), + stopSequences: je(Q()).optional(), + metadata: ql.optional(), + tools: je(j6).optional(), + toolChoice: pV.optional(), + })), + (yV = Zl.extend({ method: Ce("sampling/createMessage"), params: gV })), + (vV = Ql.extend({ + model: Q(), + stopReason: Rn(tr(["endTurn", "stopSequence", "maxTokens"]).or(Q())), + role: O3, + content: mV, + })), + (bV = Ql.extend({ + model: Q(), + stopReason: Rn( + tr(["endTurn", "stopSequence", "maxTokens", "toolUse"]).or(Q()), + ), + role: O3, + content: Jt([W6, je(W6)]), + })), + (HM = Te({ + type: Ce("boolean"), + title: Q().optional(), + description: Q().optional(), + default: Bt().optional(), + })), + (TI = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + minLength: Pt().optional(), + maxLength: Pt().optional(), + format: tr(["email", "uri", "date", "date-time"]).optional(), + default: Q().optional(), + })), + (kI = Te({ + type: tr(["number", "integer"]), + title: Q().optional(), + description: Q().optional(), + minimum: Pt().optional(), + maximum: Pt().optional(), + default: Pt().optional(), + })), + (VM = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + default: Q().optional(), + })), + (GM = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + oneOf: je(Te({ const: Q(), title: Q() })), + default: Q().optional(), + })), + (qM = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + enumNames: je(Q()).optional(), + default: Q().optional(), + })), + (xV = Jt([VM, GM])), + (ZM = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ type: Ce("string"), enum: je(Q()) }), + default: je(Q()).optional(), + })), + (QM = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ anyOf: je(Te({ const: Q(), title: Q() })) }), + default: je(Q()).optional(), + })), + (AV = Jt([ZM, QM])), + (wV = Jt([qM, xV, AV])), + (XM = Jt([wV, HM, TI, kI])), + (RI = K6.extend({ + mode: Ce("form").optional(), + message: Q(), + requestedSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), XM), + required: je(Q()).optional(), + }).catchall(Sn()), + })), + (SV = K6.extend({ + mode: Ce("url"), + message: Q(), + elicitationId: Q(), + url: Q().url(), + })), + (CV = Jt([RI, SV])), + (EV = Zl.extend({ method: Ce("elicitation/create"), params: CV })), + (IV = gm.extend({ elicitationId: Q() })), + (TV = Df.extend({ + method: Ce("notifications/elicitation/complete"), + params: IV, + })), + (kV = Ql.extend({ + action: tr(["accept", "decline", "cancel"]), + content: ax( + (e) => (e === null ? void 0 : e), + Wt(Q(), Jt([Q(), Pt(), Bt(), je(Q())])).optional(), + ), + })), + (RV = Te({ type: Ce("ref/resource"), uri: Q() })), + (PV = Te({ type: Ce("ref/prompt"), name: Q() })), + (MV = Fp.extend({ + ref: Jt([PV, RV]), + argument: Te({ name: Q(), value: Q() }), + context: Te({ arguments: Wt(Q(), Q()).optional() }).optional(), + })), + (DV = Zl.extend({ method: Ce("completion/complete"), params: MV })), + (LV = Ql.extend({ + completion: wt({ + values: je(Q()).max(100), + total: Rn(Pt().int()), + hasMore: Rn(Bt()), + }), + })), + (BV = Te({ + uri: Q().startsWith("file://"), + name: Q().optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (OV = Zl.extend({ method: Ce("roots/list"), params: Fp.optional() })), + (FV = Ql.extend({ roots: je(BV) })), + (UV = Df.extend({ + method: Ce("notifications/roots/list_changed"), + params: gm.optional(), + })), + (gie = wt({ ttl: Pt().optional(), pollInterval: Pt().optional() })), + (NV = tr([ + "working", + "input_required", + "completed", + "failed", + "cancelled", + ])), + (F3 = Te({ + taskId: Q(), + status: NV, + ttl: Jt([Pt(), w3()]), + createdAt: Q(), + lastUpdatedAt: Q(), + pollInterval: Rn(Pt()), + statusMessage: Rn(Q()), + })), + (yie = Ql.extend({ task: F3 })), + (zV = gm.merge(F3)), + (vie = Df.extend({ method: Ce("notifications/tasks/status"), params: zV })), + (bie = Zl.extend({ + method: Ce("tasks/get"), + params: Fp.extend({ taskId: Q() }), + })), + (xie = Ql.merge(F3)), + (Aie = Zl.extend({ + method: Ce("tasks/result"), + params: Fp.extend({ taskId: Q() }), + })), + (wie = Ql.loose()), + (Sie = L3.extend({ method: Ce("tasks/list") })), + (Cie = B3.extend({ tasks: je(F3) })), + (Eie = Zl.extend({ + method: Ce("tasks/cancel"), + params: Fp.extend({ taskId: Q() }), + })), + (Iie = Ql.merge(F3)), + (Tie = Jt([LM, gH, bH, DV, lV, YH, QH, CH, IH, RH, LH, OH, UH, aV, nV])), + (kie = Jt([PM, BM, vH, UV])), + (Rie = Jt([J6, vV, bV, kV, FV])), + (Pie = Jt([LM, yV, EV, OV])), + (Mie = Jt([PM, BM, II, GH, MH, iV, $H, zH, TV])), + (Die = Jt([J6, yH, DM, LV, jH, XH, EH, TH, PH, $6, rV, HH])), + (Op = Jre() + .superRefine((e, t) => { + if (!URL.canParse(e)) + return ( + t.addIssue({ + code: Cyt.custom, + message: "URL must be parseable", + fatal: !0, + }), + F5e + ); + }) + .refine( + (e) => { + let t = new URL(e); + return ( + t.protocol !== "javascript:" && + t.protocol !== "data:" && + t.protocol !== "vbscript:" + ); + }, + { message: "URL cannot use javascript:, data:, or vbscript: scheme" }, + )), + (_V = wt({ + resource: Q().url(), + authorization_servers: je(Op).optional(), + jwks_uri: Q().url().optional(), + scopes_supported: je(Q()).optional(), + bearer_methods_supported: je(Q()).optional(), + resource_signing_alg_values_supported: je(Q()).optional(), + resource_name: Q().optional(), + resource_documentation: Q().optional(), + resource_policy_uri: Q().url().optional(), + resource_tos_uri: Q().url().optional(), + tls_client_certificate_bound_access_tokens: Bt().optional(), + authorization_details_types_supported: je(Q()).optional(), + dpop_signing_alg_values_supported: je(Q()).optional(), + dpop_bound_access_tokens_required: Bt().optional(), + })), + (WM = wt({ + issuer: Q(), + authorization_endpoint: Op, + token_endpoint: Op, + registration_endpoint: Op.optional(), + scopes_supported: je(Q()).optional(), + response_types_supported: je(Q()), + response_modes_supported: je(Q()).optional(), + grant_types_supported: je(Q()).optional(), + token_endpoint_auth_methods_supported: je(Q()).optional(), + token_endpoint_auth_signing_alg_values_supported: je(Q()).optional(), + service_documentation: Op.optional(), + revocation_endpoint: Op.optional(), + revocation_endpoint_auth_methods_supported: je(Q()).optional(), + revocation_endpoint_auth_signing_alg_values_supported: je(Q()).optional(), + introspection_endpoint: Q().optional(), + introspection_endpoint_auth_methods_supported: je(Q()).optional(), + introspection_endpoint_auth_signing_alg_values_supported: + je(Q()).optional(), + code_challenge_methods_supported: je(Q()).optional(), + client_id_metadata_document_supported: Bt().optional(), + authorization_response_iss_parameter_supported: Bt() + .optional() + .catch(void 0), + dpop_signing_alg_values_supported: je(Q()).optional(), + })), + (HV = wt({ + issuer: Q(), + authorization_endpoint: Op, + token_endpoint: Op, + userinfo_endpoint: Op.optional(), + jwks_uri: Op, + registration_endpoint: Op.optional(), + scopes_supported: je(Q()).optional(), + response_types_supported: je(Q()), + response_modes_supported: je(Q()).optional(), + grant_types_supported: je(Q()).optional(), + acr_values_supported: je(Q()).optional(), + subject_types_supported: je(Q()), + id_token_signing_alg_values_supported: je(Q()), + id_token_encryption_alg_values_supported: je(Q()).optional(), + id_token_encryption_enc_values_supported: je(Q()).optional(), + userinfo_signing_alg_values_supported: je(Q()).optional(), + userinfo_encryption_alg_values_supported: je(Q()).optional(), + userinfo_encryption_enc_values_supported: je(Q()).optional(), + request_object_signing_alg_values_supported: je(Q()).optional(), + request_object_encryption_alg_values_supported: je(Q()).optional(), + request_object_encryption_enc_values_supported: je(Q()).optional(), + token_endpoint_auth_methods_supported: je(Q()).optional(), + token_endpoint_auth_signing_alg_values_supported: je(Q()).optional(), + display_values_supported: je(Q()).optional(), + claim_types_supported: je(Q()).optional(), + claims_supported: je(Q()).optional(), + service_documentation: Q().optional(), + claims_locales_supported: je(Q()).optional(), + ui_locales_supported: je(Q()).optional(), + claims_parameter_supported: Bt().optional(), + request_parameter_supported: Bt().optional(), + request_uri_parameter_supported: Bt().optional(), + require_request_uri_registration: Bt().optional(), + op_policy_uri: Op.optional(), + op_tos_uri: Op.optional(), + client_id_metadata_document_supported: Bt().optional(), + authorization_response_iss_parameter_supported: Bt() + .optional() + .catch(void 0), + })), + (VV = Te({ + ...HV.shape, + ...WM.pick({ code_challenge_methods_supported: !0 }).shape, + })), + (GV = Te({ + access_token: Q(), + id_token: Q().optional(), + token_type: Q(), + expires_in: LUn().optional(), + scope: Q().optional(), + refresh_token: Q().optional(), + issuer: Q() + .optional() + .catch(void 0), + }).strip()), + (qV = Te({ + issued_token_type: Ce("urn:ietf:params:oauth:token-type:id-jag"), + access_token: Q(), + token_type: Q().optional(), + expires_in: Pt().optional(), + scope: Q().optional(), + }).strip()), + (ZV = Te({ + error: Q(), + error_description: Q().optional(), + error_uri: Q().optional(), + })), + (TTe = Op.optional().or( + Ce("").transform(() => { + return; + }), + )), + (QV = Te({ + redirect_uris: je(Op), + token_endpoint_auth_method: Q().optional(), + grant_types: je(Q()).optional(), + response_types: je(Q()).optional(), + application_type: Q().optional(), + client_name: Q().optional(), + client_uri: Op.optional(), + logo_uri: TTe, + scope: Q().optional(), + contacts: je(Q()).optional(), + tos_uri: TTe, + policy_uri: Q().optional(), + jwks_uri: Op.optional(), + jwks: Gr().optional(), + software_id: Q().optional(), + software_version: Q().optional(), + software_statement: Q().optional(), + }).strip()), + (XV = Te({ + client_id: Q(), + client_secret: Q().optional(), + client_id_issued_at: Pt().optional(), + client_secret_expires_at: Pt().optional(), + issuer: Q() + .optional() + .catch(void 0), + }).strip()), + (WV = QV.merge(XV)), + (Lie = Te({ error: Q(), error_description: Q().optional() }).strip()), + (Bie = Te({ token: Q(), token_type_hint: Q().optional() }).strip())); +}); +var lUt = P(() => { + RTe(); +}); +function PI(e, t) { + let n = new Set(), + r = t; + while (typeof r === "function") { + let o = r.mcpBrand; + if ( + Object.prototype.hasOwnProperty.call(r, "mcpBrand") && + typeof o === "string" + ) + n.add(o); + r = Object.getPrototypeOf(r); + } + if (n.size === 0) return; + Object.defineProperty(e, OTe, { value: n, enumerable: !1, configurable: !0 }); +} +function _g(e, t) { + try { + if ( + typeof t === "object" && + t !== null && + Object.prototype.hasOwnProperty.call(e, "mcpBrand") && + typeof e.mcpBrand === "string" && + Object.prototype.hasOwnProperty.call(t, OTe) + ) { + let n = t[OTe]; + if (n && typeof n.has === "function" && n.has(e.mcpBrand)) return !0; + } + } catch {} + return Function.prototype[Symbol.hasInstance].call(e, t); +} +function xUt(e) { + return e >= rJn; +} +function AUt(e) { + let t = e.structuredContent; + if (t === void 0) return e; + if (!(typeof t !== "object" || t === null || Array.isArray(t))) return e; + if (e.content?.some((n) => n.type === "text") ?? !1) return e; + return { + ...e, + content: [...(e.content ?? []), { type: "text", text: JSON.stringify(t) }], + }; +} +function oJn(e) { + if ( + e === null || + typeof e !== "object" || + Array.isArray(e) || + e.content !== void 0 || + wUt.some((t) => t in e) + ) + return e; + return { ...e, content: [] }; +} +function aJn() { + let e = w_(() => Jt([Q(), Pt(), Bt(), w3(), Wt(Q(), e), je(e)])), + t = Wt(Q(), e), + n = Jt([Q(), Pt().int()]), + r = Q(), + o = Te({ ttl: Pt().optional() }), + a = Te({ taskId: Q() }), + i = wt({ + progressToken: n.optional(), + "io.modelcontextprotocol/related-task": a.optional(), + }), + s = Te({ _meta: i.optional() }), + l = s.extend({ task: o.optional() }), + c = Te({ method: Q(), params: s.loose().optional() }), + u = Te({ _meta: i.optional() }), + d = Te({ method: Q(), params: u.loose().optional() }), + p = wt({ _meta: i.optional() }), + f = Jt([Q(), Pt().int()]), + m = p.strict(), + g = u.extend({ requestId: f.optional(), reason: Q().optional() }), + v = d.extend({ method: Ce("notifications/cancelled"), params: g }), + y = Te({ + src: Q(), + mimeType: Q().optional(), + sizes: je(Q()).optional(), + theme: tr(["light", "dark"]).optional(), + }), + x = Te({ icons: je(y).optional() }), + A = Te({ name: Q(), title: Q().optional() }), + w = A.extend({ + ...A.shape, + ...x.shape, + version: Q(), + websiteUrl: Q().optional(), + description: Q().optional(), + }), + C = cy(Te({ applyDefaults: Bt().optional() }), t), + E = ax( + (Qs) => { + if ( + Qs && + typeof Qs === "object" && + !Array.isArray(Qs) && + Object.keys(Qs).length === 0 + ) + return { form: {} }; + return Qs; + }, + cy(Te({ form: C.optional(), url: t.optional() }), t.optional()), + ), + T = wt({ + list: t.optional(), + cancel: t.optional(), + requests: wt({ + sampling: wt({ createMessage: t.optional() }).optional(), + elicitation: wt({ create: t.optional() }).optional(), + }).optional(), + }), + I = wt({ + list: t.optional(), + cancel: t.optional(), + requests: wt({ tools: wt({ call: t.optional() }).optional() }).optional(), + }), + k = Te({ + experimental: Wt(Q(), t).optional(), + sampling: Te({ context: t.optional(), tools: t.optional() }).optional(), + elicitation: E.optional(), + roots: Te({ listChanged: Bt().optional() }).optional(), + tasks: T.optional(), + extensions: Wt(Q(), t).optional(), + }), + L = s.extend({ protocolVersion: Q(), capabilities: k, clientInfo: w }), + O = c.extend({ method: Ce("initialize"), params: L }), + B = Te({ + experimental: Wt(Q(), t).optional(), + logging: t.optional(), + completions: t.optional(), + prompts: Te({ listChanged: Bt().optional() }).optional(), + resources: Te({ + subscribe: Bt().optional(), + listChanged: Bt().optional(), + }).optional(), + tools: Te({ listChanged: Bt().optional() }).optional(), + tasks: I.optional(), + extensions: Wt(Q(), t).optional(), + }), + U = p.extend({ + protocolVersion: Q(), + capabilities: B, + serverInfo: w, + instructions: Q().optional(), + }), + D = d.extend({ + method: Ce("notifications/initialized"), + params: u.optional(), + }), + N = c.extend({ method: Ce("ping"), params: s.optional() }), + _ = Te({ progress: Pt(), total: Rn(Pt()), message: Rn(Q()) }), + G = Te({ ...u.shape, ..._.shape, progressToken: n }), + Z = d.extend({ method: Ce("notifications/progress"), params: G }), + q = s.extend({ cursor: r.optional() }), + H = c.extend({ params: q.optional() }), + te = p.extend({ nextCursor: r.optional() }), + ie = Te({ uri: Q(), mimeType: Rn(Q()), _meta: Wt(Q(), Sn()).optional() }), + j = ie.extend({ text: Q() }), + oe = Q().refine( + (Qs) => { + try { + return (atob(Qs), !0); + } catch { + return !1; + } + }, + { message: "Invalid Base64 string" }, + ), + J = ie.extend({ blob: oe }), + Y = tr(["user", "assistant"]), + ae = Te({ + audience: je(Y).optional(), + priority: Pt().min(0).max(1).optional(), + lastModified: S_({ offset: !0 }).optional(), + }), + ne = Te({ + ...A.shape, + ...x.shape, + uri: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + size: Rn(Pt()), + annotations: ae.optional(), + _meta: Rn(wt({})), + }), + Se = Te({ + ...A.shape, + ...x.shape, + uriTemplate: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + annotations: ae.optional(), + _meta: Rn(wt({})), + }), + fe = H.extend({ method: Ce("resources/list") }), + Ae = te.extend({ resources: je(ne) }), + Ee = H.extend({ method: Ce("resources/templates/list") }), + pe = te.extend({ resourceTemplates: je(Se) }), + Re = s.extend({ uri: Q() }), + Le = Re, + Ne = c.extend({ method: Ce("resources/read"), params: Le }), + be = p.extend({ contents: je(Jt([j, J])) }), + ye = d.extend({ + method: Ce("notifications/resources/list_changed"), + params: u.optional(), + }), + ce = Re, + ue = c.extend({ method: Ce("resources/subscribe"), params: ce }), + ke = Re, + se = c.extend({ method: Ce("resources/unsubscribe"), params: ke }), + qe = u.extend({ uri: Q() }), + Me = d.extend({ + method: Ce("notifications/resources/updated"), + params: qe, + }), + Qe = Te({ name: Q(), description: Rn(Q()), required: Rn(Bt()) }), + ee = Te({ + ...A.shape, + ...x.shape, + description: Rn(Q()), + arguments: Rn(je(Qe)), + _meta: Rn(wt({})), + }), + K = H.extend({ method: Ce("prompts/list") }), + we = te.extend({ prompts: je(ee) }), + ze = s.extend({ name: Q(), arguments: Wt(Q(), Q()).optional() }), + tt = c.extend({ method: Ce("prompts/get"), params: ze }), + Pe = Te({ + type: Ce("text"), + text: Q(), + annotations: ae.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Ke = Te({ + type: Ce("image"), + data: oe, + mimeType: Q(), + annotations: ae.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Ue = Te({ + type: Ce("audio"), + data: oe, + mimeType: Q(), + annotations: ae.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Ze = Te({ + type: Ce("tool_use"), + name: Q(), + id: Q(), + input: Wt(Q(), Sn()), + _meta: Wt(Q(), Sn()).optional(), + }), + ct = Te({ + type: Ce("resource"), + resource: Jt([j, J]), + annotations: ae.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Rt = ne.extend({ type: Ce("resource_link") }), + de = Jt([Pe, Ke, Ue, Rt, ct]), + ge = Te({ role: Y, content: de }), + Oe = p.extend({ description: Q().optional(), messages: je(ge) }), + Xe = d.extend({ + method: Ce("notifications/prompts/list_changed"), + params: u.optional(), + }), + $e = Te({ + title: Q().optional(), + readOnlyHint: Bt().optional(), + destructiveHint: Bt().optional(), + idempotentHint: Bt().optional(), + openWorldHint: Bt().optional(), + }), + Ie = Te({ + taskSupport: tr(["required", "optional", "forbidden"]).optional(), + }), + Ge = Te({ + ...A.shape, + ...x.shape, + description: Q().optional(), + inputSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), e).optional(), + required: je(Q()).optional(), + }).catchall(Sn()), + outputSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), e).optional(), + required: je(Q()).optional(), + }) + .catchall(Sn()) + .optional(), + annotations: $e.optional(), + execution: Ie.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + _e = H.extend({ method: Ce("tools/list") }), + nt = te.extend({ tools: je(Ge) }), + rt = p.extend({ + content: je(de), + structuredContent: Wt(Q(), Sn()).optional(), + isError: Bt().optional(), + }), + ot = l.extend({ name: Q(), arguments: Wt(Q(), Sn()).optional() }), + At = c.extend({ method: Ce("tools/call"), params: ot }), + en = d.extend({ + method: Ce("notifications/tools/list_changed"), + params: u.optional(), + }), + Gt = tr([ + "debug", + "info", + "notice", + "warning", + "error", + "critical", + "alert", + "emergency", + ]), + tn = s.extend({ level: Gt }), + Yt = c.extend({ method: Ce("logging/setLevel"), params: tn }), + Be = u.extend({ level: Gt, logger: Q().optional(), data: Sn() }), + Je = d.extend({ method: Ce("notifications/message"), params: Be }), + it = Te({ name: Q().optional() }), + Et = Te({ + hints: je(it).optional(), + costPriority: Pt().min(0).max(1).optional(), + speedPriority: Pt().min(0).max(1).optional(), + intelligencePriority: Pt().min(0).max(1).optional(), + }), + Mt = Te({ mode: tr(["auto", "required", "none"]).optional() }), + An = Te({ + type: Ce("tool_result"), + toolUseId: Q().describe( + "The unique identifier for the corresponding tool call.", + ), + content: je(de), + structuredContent: Te({}).loose().optional(), + isError: Bt().optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Nn = dm("type", [Pe, Ke, Ue]), + Tn = dm("type", [Pe, Ke, Ue, Ze, An]), + Cn = Te({ + role: Y, + content: Jt([Tn, je(Tn)]), + _meta: Wt(Q(), Sn()).optional(), + }), + er = l.extend({ + messages: je(Cn), + modelPreferences: Et.optional(), + systemPrompt: Q().optional(), + includeContext: tr(["none", "thisServer", "allServers"]).optional(), + temperature: Pt().optional(), + maxTokens: Pt().int(), + stopSequences: je(Q()).optional(), + metadata: t.optional(), + tools: je(Ge).optional(), + toolChoice: Mt.optional(), + }), + qn = c.extend({ method: Ce("sampling/createMessage"), params: er }), + Er = p.extend({ + model: Q(), + stopReason: Rn(tr(["endTurn", "stopSequence", "maxTokens"]).or(Q())), + role: Y, + content: Nn, + }), + ur = p.extend({ + model: Q(), + stopReason: Rn( + tr(["endTurn", "stopSequence", "maxTokens", "toolUse"]).or(Q()), + ), + role: Y, + content: Jt([Tn, je(Tn)]), + }), + Yr = Te({ + type: Ce("boolean"), + title: Q().optional(), + description: Q().optional(), + default: Bt().optional(), + }), + mo = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + minLength: Pt().optional(), + maxLength: Pt().optional(), + format: tr(["email", "uri", "date", "date-time"]).optional(), + default: Q().optional(), + }), + Zo = Te({ + type: tr(["number", "integer"]), + title: Q().optional(), + description: Q().optional(), + minimum: Pt().optional(), + maximum: Pt().optional(), + default: Pt().optional(), + }), + Co = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + default: Q().optional(), + }), + on = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + oneOf: je(Te({ const: Q(), title: Q() })), + default: Q().optional(), + }), + li = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + enumNames: je(Q()).optional(), + default: Q().optional(), + }), + Pi = Jt([Co, on]), + zi = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ type: Ce("string"), enum: je(Q()) }), + default: je(Q()).optional(), + }), + ve = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ anyOf: je(Te({ const: Q(), title: Q() })) }), + default: je(Q()).optional(), + }), + et = Jt([zi, ve]), + ht = Jt([li, Pi, et]), + st = Jt([ht, Yr, mo, Zo]), + lt = l.extend({ + mode: Ce("form").optional(), + message: Q(), + requestedSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), st), + required: je(Q()).optional(), + }).catchall(Sn()), + }), + nn = l.extend({ + mode: Ce("url"), + message: Q(), + elicitationId: Q(), + url: Q().url(), + }), + dn = Jt([lt, nn]), + fn = c.extend({ method: Ce("elicitation/create"), params: dn }), + wn = u.extend({ elicitationId: Q() }), + Qt = d.extend({ + method: Ce("notifications/elicitation/complete"), + params: wn, + }), + Qn = p.extend({ + action: tr(["accept", "decline", "cancel"]), + content: ax( + (Qs) => (Qs === null ? void 0 : Qs), + Wt(Q(), Jt([Q(), Pt(), Bt(), je(Q())])).optional(), + ), + }), + fr = Te({ type: Ce("ref/resource"), uri: Q() }), + hn = Te({ type: Ce("ref/prompt"), name: Q() }), + nr = s.extend({ + ref: Jt([hn, fr]), + argument: Te({ name: Q(), value: Q() }), + context: Te({ arguments: Wt(Q(), Q()).optional() }).optional(), + }), + la = c.extend({ method: Ce("completion/complete"), params: nr }), + ir = p.extend({ + completion: wt({ + values: je(Q()).max(100), + total: Rn(Pt().int()), + hasMore: Rn(Bt()), + }), + }), + Or = Te({ + uri: Q().startsWith("file://"), + name: Q().optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + _a = c.extend({ method: Ce("roots/list"), params: s.optional() }), + kn = p.extend({ roots: je(Or) }), + ps = d.extend({ + method: Ce("notifications/roots/list_changed"), + params: u.optional(), + }), + uo = wt({ ttl: Pt().optional(), pollInterval: Pt().optional() }), + fs = tr(["working", "input_required", "completed", "failed", "cancelled"]), + ea = Te({ + taskId: Q(), + status: fs, + ttl: Jt([Pt(), w3()]), + createdAt: Q(), + lastUpdatedAt: Q(), + pollInterval: Rn(Pt()), + statusMessage: Rn(Q()), + }), + no = p.extend({ task: ea }), + zd = u.merge(ea), + ho = d.extend({ method: Ce("notifications/tasks/status"), params: zd }), + ta = c.extend({ + method: Ce("tasks/get"), + params: s.extend({ taskId: Q() }), + }), + rc = p.merge(ea), + ro = c.extend({ + method: Ce("tasks/result"), + params: s.extend({ taskId: Q() }), + }), + al = p.loose(), + $a = H.extend({ method: Ce("tasks/list") }), + Ha = te.extend({ tasks: je(ea) }), + Z0 = c.extend({ + method: Ce("tasks/cancel"), + params: s.extend({ taskId: Q() }), + }); + return { + JSONValueSchema: e, + JSONObjectSchema: t, + ProgressTokenSchema: n, + CursorSchema: r, + TaskMetadataSchema: o, + RelatedTaskMetadataSchema: a, + RequestMetaSchema: i, + BaseRequestParamsSchema: s, + TaskAugmentedRequestParamsSchema: l, + RequestSchema: c, + NotificationsParamsSchema: u, + NotificationSchema: d, + ResultSchema: p, + RequestIdSchema: f, + EmptyResultSchema: m, + CancelledNotificationParamsSchema: g, + CancelledNotificationSchema: v, + IconSchema: y, + IconsSchema: x, + BaseMetadataSchema: A, + ImplementationSchema: w, + ClientTasksCapabilitySchema: T, + ServerTasksCapabilitySchema: I, + ClientCapabilitiesSchema: k, + InitializeRequestParamsSchema: L, + InitializeRequestSchema: O, + ServerCapabilitiesSchema: B, + InitializeResultSchema: U, + InitializedNotificationSchema: D, + PingRequestSchema: N, + ProgressSchema: _, + ProgressNotificationParamsSchema: G, + ProgressNotificationSchema: Z, + PaginatedRequestParamsSchema: q, + PaginatedRequestSchema: H, + PaginatedResultSchema: te, + ResourceContentsSchema: ie, + TextResourceContentsSchema: j, + BlobResourceContentsSchema: J, + RoleSchema: Y, + AnnotationsSchema: ae, + ResourceSchema: ne, + ResourceTemplateSchema: Se, + ListResourcesRequestSchema: fe, + ListResourcesResultSchema: Ae, + ListResourceTemplatesRequestSchema: Ee, + ListResourceTemplatesResultSchema: pe, + ResourceRequestParamsSchema: Re, + ReadResourceRequestParamsSchema: Le, + ReadResourceRequestSchema: Ne, + ReadResourceResultSchema: be, + ResourceListChangedNotificationSchema: ye, + SubscribeRequestParamsSchema: ce, + SubscribeRequestSchema: ue, + UnsubscribeRequestParamsSchema: ke, + UnsubscribeRequestSchema: se, + ResourceUpdatedNotificationParamsSchema: qe, + ResourceUpdatedNotificationSchema: Me, + PromptArgumentSchema: Qe, + PromptSchema: ee, + ListPromptsRequestSchema: K, + ListPromptsResultSchema: we, + GetPromptRequestParamsSchema: ze, + GetPromptRequestSchema: tt, + TextContentSchema: Pe, + ImageContentSchema: Ke, + AudioContentSchema: Ue, + ToolUseContentSchema: Ze, + EmbeddedResourceSchema: ct, + ResourceLinkSchema: Rt, + ContentBlockSchema: de, + PromptMessageSchema: ge, + GetPromptResultSchema: Oe, + PromptListChangedNotificationSchema: Xe, + ToolAnnotationsSchema: $e, + ToolExecutionSchema: Ie, + ToolSchema: Ge, + ListToolsRequestSchema: _e, + ListToolsResultSchema: nt, + CallToolResultSchema: rt, + CallToolRequestParamsSchema: ot, + CallToolRequestSchema: At, + ToolListChangedNotificationSchema: en, + LoggingLevelSchema: Gt, + SetLevelRequestParamsSchema: tn, + SetLevelRequestSchema: Yt, + LoggingMessageNotificationParamsSchema: Be, + LoggingMessageNotificationSchema: Je, + ModelHintSchema: it, + ModelPreferencesSchema: Et, + ToolChoiceSchema: Mt, + ToolResultContentSchema: An, + SamplingContentSchema: Nn, + SamplingMessageContentBlockSchema: Tn, + SamplingMessageSchema: Cn, + CreateMessageRequestParamsSchema: er, + CreateMessageRequestSchema: qn, + CreateMessageResultSchema: Er, + CreateMessageResultWithToolsSchema: ur, + BooleanSchemaSchema: Yr, + StringSchemaSchema: mo, + NumberSchemaSchema: Zo, + UntitledSingleSelectEnumSchemaSchema: Co, + TitledSingleSelectEnumSchemaSchema: on, + LegacyTitledEnumSchemaSchema: li, + SingleSelectEnumSchemaSchema: Pi, + UntitledMultiSelectEnumSchemaSchema: zi, + TitledMultiSelectEnumSchemaSchema: ve, + MultiSelectEnumSchemaSchema: et, + EnumSchemaSchema: ht, + PrimitiveSchemaDefinitionSchema: st, + ElicitRequestFormParamsSchema: lt, + ElicitRequestURLParamsSchema: nn, + ElicitRequestParamsSchema: dn, + ElicitRequestSchema: fn, + ElicitationCompleteNotificationParamsSchema: wn, + ElicitationCompleteNotificationSchema: Qt, + ElicitResultSchema: Qn, + ResourceTemplateReferenceSchema: fr, + PromptReferenceSchema: hn, + CompleteRequestParamsSchema: nr, + CompleteRequestSchema: la, + CompleteResultSchema: ir, + RootSchema: Or, + ListRootsRequestSchema: _a, + ListRootsResultSchema: kn, + RootsListChangedNotificationSchema: ps, + TaskCreationParamsSchema: uo, + TaskStatusSchema: fs, + TaskSchema: ea, + CreateTaskResultSchema: no, + TaskStatusNotificationParamsSchema: zd, + TaskStatusNotificationSchema: ho, + GetTaskRequestSchema: ta, + GetTaskResultSchema: rc, + GetTaskPayloadRequestSchema: ro, + GetTaskPayloadResultSchema: al, + ListTasksRequestSchema: $a, + ListTasksResultSchema: Ha, + CancelTaskRequestSchema: Z0, + CancelTaskResultSchema: p.merge(ea), + ClientRequestSchema: Jt([ + N, + O, + la, + Yt, + tt, + K, + fe, + Ee, + Ne, + ue, + se, + At, + _e, + ta, + ro, + $a, + Z0, + ]), + ClientNotificationSchema: Jt([v, Z, D, ps, ho]), + ClientResultSchema: Jt([m, Er, ur, Qn, kn, rc, Ha, no]), + ServerRequestSchema: Jt([N, qn, fn, _a, ta, ro, $a, Z0]), + ServerNotificationSchema: Jt([v, Z, Je, Me, ye, en, Xe, ho, Qt]), + ServerResultSchema: Jt([m, U, ir, Oe, we, Ae, pe, be, rt, nt, rc, Ha, no]), + CallToolResultWireSchema: Sn() + .superRefine((Qs, TS) => { + if ( + typeof Qs !== "object" || + Qs === null || + Array.isArray(Qs) || + Qs.content !== void 0 + ) + return; + for (let xA of wUt) + if (xA in Qs) { + TS.addIssue({ + code: "custom", + message: `content is required when the body carries '${xA}' — another result family cannot default into an empty tools/call success`, + }); + return; + } + }) + .transform(oJn) + .pipe(rt), + }; +} +function SUt() { + return (iJn ??= aJn()); +} +function CUt(e) { + return e.type !== "object"; +} +function cUt(e) { + return e !== void 0 && !(typeof e === "string" && e.startsWith("#")); +} +function cJn(e) { + let t = typeof e.$schema === "string" ? e.$schema : void 0; + if (cUt(e.$id)) + return { + ...(t !== void 0 && { $schema: t }), + type: "object", + properties: { result: e }, + required: ["result"], + }; + let n = JFt(e.$schema) && e.$recursiveAnchor !== !0, + r = (o, a) => { + if (Array.isArray(o)) return o.map((l) => r(l, !1)); + if (o === null || typeof o !== "object") return o; + if (!a && cUt(o.$id)) return o; + let i = {}, + s = !1; + for (let [l, c] of Object.entries(o)) + if (a) i[l] = r(c, !1); + else if ((l === "$ref" || l === "$dynamicRef") && typeof c === "string") + i[l] = + c === "#" + ? "#/properties/result" + : c.startsWith("#/") + ? `#/properties/result${c.slice(1)}` + : c; + else if (l === "$recursiveRef" && c === "#" && n) s = !0; + else if (sJn.has(l)) i[l] = c; + else if (lJn.has(l)) i[l] = r(c, !0); + else i[l] = r(c, !1); + if (s) + if ("$ref" in i) + i.allOf = [ + ...(Array.isArray(i.allOf) ? i.allOf : []), + { $ref: "#/properties/result" }, + ]; + else i.$ref = "#/properties/result"; + return i; + }; + return { + ...(t !== void 0 && { $schema: t }), + type: "object", + properties: { result: r(e, !1) }, + required: ["result"], + }; +} +function HTe() { + if (Oie) return Oie; + let e = SUt(); + return ( + (Oie = { + requestSchemas: { + ping: e.PingRequestSchema, + initialize: e.InitializeRequestSchema, + "completion/complete": e.CompleteRequestSchema, + "logging/setLevel": e.SetLevelRequestSchema, + "prompts/get": e.GetPromptRequestSchema, + "prompts/list": e.ListPromptsRequestSchema, + "resources/list": e.ListResourcesRequestSchema, + "resources/templates/list": e.ListResourceTemplatesRequestSchema, + "resources/read": e.ReadResourceRequestSchema, + "resources/subscribe": e.SubscribeRequestSchema, + "resources/unsubscribe": e.UnsubscribeRequestSchema, + "tools/call": e.CallToolRequestSchema, + "tools/list": e.ListToolsRequestSchema, + "tasks/get": e.GetTaskRequestSchema, + "tasks/result": e.GetTaskPayloadRequestSchema, + "tasks/list": e.ListTasksRequestSchema, + "tasks/cancel": e.CancelTaskRequestSchema, + "sampling/createMessage": e.CreateMessageRequestSchema, + "elicitation/create": e.ElicitRequestSchema, + "roots/list": e.ListRootsRequestSchema, + }, + notificationSchemas: { + "notifications/cancelled": e.CancelledNotificationSchema, + "notifications/progress": e.ProgressNotificationSchema, + "notifications/initialized": e.InitializedNotificationSchema, + "notifications/roots/list_changed": + e.RootsListChangedNotificationSchema, + "notifications/tasks/status": e.TaskStatusNotificationSchema, + "notifications/message": e.LoggingMessageNotificationSchema, + "notifications/resources/updated": e.ResourceUpdatedNotificationSchema, + "notifications/resources/list_changed": + e.ResourceListChangedNotificationSchema, + "notifications/tools/list_changed": e.ToolListChangedNotificationSchema, + "notifications/prompts/list_changed": + e.PromptListChangedNotificationSchema, + "notifications/elicitation/complete": + e.ElicitationCompleteNotificationSchema, + }, + resultSchemas: { + ping: e.EmptyResultSchema, + initialize: e.InitializeResultSchema, + "completion/complete": e.CompleteResultSchema, + "logging/setLevel": e.EmptyResultSchema, + "prompts/get": e.GetPromptResultSchema, + "prompts/list": e.ListPromptsResultSchema, + "resources/list": e.ListResourcesResultSchema, + "resources/templates/list": e.ListResourceTemplatesResultSchema, + "resources/read": e.ReadResourceResultSchema, + "resources/subscribe": e.EmptyResultSchema, + "resources/unsubscribe": e.EmptyResultSchema, + "tools/call": e.CallToolResultWireSchema, + "tools/list": e.ListToolsResultSchema, + "sampling/createMessage": e.CreateMessageResultWithToolsSchema, + "elicitation/create": e.ElicitResultSchema, + "roots/list": e.ListRootsResultSchema, + }, + }), + Oie + ); +} +function TUt(e) { + return Object.prototype.hasOwnProperty.call(EUt, e); +} +function kUt(e) { + return Object.prototype.hasOwnProperty.call(IUt, e); +} +function dJn(e) { + return Object.prototype.hasOwnProperty.call(uJn, e); +} +function pJn(e) { + return dJn(e) ? HTe().resultSchemas[e] : void 0; +} +function fJn(e) { + return TUt(e) ? HTe().requestSchemas[e] : void 0; +} +function mJn(e) { + return kUt(e) ? HTe().notificationSchemas[e] : void 0; +} +function FTe(e) { + return e !== null && typeof e === "object" && !Array.isArray(e); +} +function Fie(e, t) { + if (e === void 0) return { ok: !1, reason: "not-in-era" }; + let n = e.safeParse(t); + return n.success + ? { ok: !0, value: n.data } + : { ok: !1, reason: "invalid", message: String(n.error) }; +} +function dUt(e) { + return FTe(e) && FTe(e.outputSchema) && CUt(e.outputSchema); +} +function pUt(e) { + return e; +} +function hJn() { + let e = w_(() => Jt([Q(), Pt(), Bt(), w3(), Wt(Q(), e), je(e)])), + t = Wt(Q(), e), + n = Jt([Q(), Pt().int()]), + r = Q(), + o = Jt([Q(), Pt().int()]), + a = tr(["user", "assistant"]), + i = tr([ + "debug", + "info", + "notice", + "warning", + "error", + "critical", + "alert", + "emergency", + ]), + s = Q().refine( + (Ha) => { + try { + return (atob(Ha), !0); + } catch { + return !1; + } + }, + { message: "Invalid Base64 string" }, + ), + l = Te({ ttl: Pt().optional() }), + c = Te({ taskId: Q() }), + u = wt({ + progressToken: n.optional(), + "io.modelcontextprotocol/related-task": c.optional(), + }), + d = Te({ _meta: u.optional() }), + p = d.extend({ task: l.optional() }), + f = Te({ _meta: u.optional() }), + m = Te({ method: Q(), params: f.loose().optional() }), + g = Te({ + src: Q(), + mimeType: Q().optional(), + sizes: je(Q()).optional(), + theme: tr(["light", "dark"]).optional(), + }), + v = Te({ icons: je(g).optional() }), + y = Te({ name: Q(), title: Q().optional() }), + x = y.extend({ + ...y.shape, + ...v.shape, + version: Q(), + websiteUrl: Q().optional(), + description: Q().optional(), + }), + A = cy(Te({ applyDefaults: Bt().optional() }), t), + w = ax( + (Ha) => { + if ( + Ha && + typeof Ha === "object" && + !Array.isArray(Ha) && + Object.keys(Ha).length === 0 + ) + return { form: {} }; + return Ha; + }, + cy(Te({ form: A.optional(), url: t.optional() }), t.optional()), + ), + C = wt({ + list: t.optional(), + cancel: t.optional(), + requests: wt({ + sampling: wt({ createMessage: t.optional() }).optional(), + elicitation: wt({ create: t.optional() }).optional(), + }).optional(), + }), + E = wt({ + list: t.optional(), + cancel: t.optional(), + requests: wt({ tools: wt({ call: t.optional() }).optional() }).optional(), + }), + T = Te({ + experimental: Wt(Q(), t).optional(), + sampling: Te({ context: t.optional(), tools: t.optional() }).optional(), + elicitation: w.optional(), + roots: Te({ listChanged: Bt().optional() }).optional(), + tasks: C.optional(), + extensions: Wt(Q(), t).optional(), + }), + I = Te({ + experimental: Wt(Q(), t).optional(), + logging: t.optional(), + completions: t.optional(), + prompts: Te({ listChanged: Bt().optional() }).optional(), + resources: Te({ + subscribe: Bt().optional(), + listChanged: Bt().optional(), + }).optional(), + tools: Te({ listChanged: Bt().optional() }).optional(), + tasks: E.optional(), + extensions: Wt(Q(), t).optional(), + }), + k = Te({ progress: Pt(), total: Rn(Pt()), message: Rn(Q()) }), + L = Te({ ...f.shape, ...k.shape, progressToken: n }), + O = m.extend({ method: Ce("notifications/progress"), params: L }), + B = f.extend({ level: i, logger: Q().optional(), data: Sn() }), + U = m.extend({ method: Ce("notifications/message"), params: B }), + D = Te({ uri: Q(), mimeType: Rn(Q()), _meta: Wt(Q(), Sn()).optional() }), + N = D.extend({ text: Q() }), + _ = D.extend({ blob: s }), + G = Te({ + audience: je(a).optional(), + priority: Pt().min(0).max(1).optional(), + lastModified: S_({ offset: !0 }).optional(), + }), + Z = Te({ + ...y.shape, + ...v.shape, + uri: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + size: Rn(Pt()), + annotations: G.optional(), + _meta: Rn(wt({})), + }), + q = Te({ + ...y.shape, + ...v.shape, + uriTemplate: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + annotations: G.optional(), + _meta: Rn(wt({})), + }), + H = m.extend({ + method: Ce("notifications/resources/list_changed"), + params: f.optional(), + }), + te = f.extend({ uri: Q() }), + ie = m.extend({ + method: Ce("notifications/resources/updated"), + params: te, + }), + j = Te({ name: Q(), description: Rn(Q()), required: Rn(Bt()) }), + oe = Te({ + ...y.shape, + ...v.shape, + description: Rn(Q()), + arguments: Rn(je(j)), + _meta: Rn(wt({})), + }), + J = m.extend({ + method: Ce("notifications/prompts/list_changed"), + params: f.optional(), + }), + Y = Te({ + type: Ce("text"), + text: Q(), + annotations: G.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + ae = Te({ + type: Ce("image"), + data: s, + mimeType: Q(), + annotations: G.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + ne = Te({ + type: Ce("audio"), + data: s, + mimeType: Q(), + annotations: G.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Se = Te({ + type: Ce("tool_use"), + name: Q(), + id: Q(), + input: Wt(Q(), Sn()), + _meta: Wt(Q(), Sn()).optional(), + }), + fe = Te({ + type: Ce("resource"), + resource: Jt([N, _]), + annotations: G.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Ae = Z.extend({ type: Ce("resource_link") }), + Ee = Jt([Y, ae, ne, Ae, fe]), + pe = Te({ role: a, content: Ee }), + Re = Te({ + title: Q().optional(), + readOnlyHint: Bt().optional(), + destructiveHint: Bt().optional(), + idempotentHint: Bt().optional(), + openWorldHint: Bt().optional(), + }), + Le = m.extend({ + method: Ce("notifications/tools/list_changed"), + params: f.optional(), + }), + Ne = Te({ name: Q().optional() }), + be = Te({ + hints: je(Ne).optional(), + costPriority: Pt().min(0).max(1).optional(), + speedPriority: Pt().min(0).max(1).optional(), + intelligencePriority: Pt().min(0).max(1).optional(), + }), + ye = Te({ mode: tr(["auto", "required", "none"]).optional() }), + ce = Te({ + type: Ce("boolean"), + title: Q().optional(), + description: Q().optional(), + default: Bt().optional(), + }), + ue = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + minLength: Pt().optional(), + maxLength: Pt().optional(), + format: tr(["email", "uri", "date", "date-time"]).optional(), + default: Q().optional(), + }), + ke = Te({ + type: tr(["number", "integer"]), + title: Q().optional(), + description: Q().optional(), + minimum: Pt().optional(), + maximum: Pt().optional(), + default: Pt().optional(), + }), + se = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + default: Q().optional(), + }), + qe = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + oneOf: je(Te({ const: Q(), title: Q() })), + default: Q().optional(), + }), + Me = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + enumNames: je(Q()).optional(), + default: Q().optional(), + }), + Qe = Jt([se, qe]), + ee = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ type: Ce("string"), enum: je(Q()) }), + default: je(Q()).optional(), + }), + K = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ anyOf: je(Te({ const: Q(), title: Q() })) }), + default: je(Q()).optional(), + }), + we = Jt([ee, K]), + ze = Jt([Me, Qe, we]), + tt = Jt([ze, ce, ue, ke]), + Pe = p.extend({ + mode: Ce("form").optional(), + message: Q(), + requestedSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), tt), + required: je(Q()).optional(), + }).catchall(Sn()), + }), + Ke = Te({ type: Ce("ref/resource"), uri: Q() }), + Ue = Te({ type: Ce("ref/prompt"), name: Q() }), + Ze = Te({ + uri: Q().startsWith("file://"), + name: Q().optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + ct = T.shape, + Rt = Te({ + experimental: ct.experimental, + sampling: ct.sampling, + elicitation: ct.elicitation, + roots: ct.roots, + extensions: ct.extensions, + }), + de = I.shape, + ge = Te({ + experimental: de.experimental, + logging: de.logging, + completions: de.completions, + prompts: de.prompts, + resources: de.resources, + tools: de.tools, + extensions: de.extensions, + }), + Oe = wt({ + progressToken: n.optional(), + [mI]: Q(), + [wM]: x.optional(), + [hI]: Rt, + [SM]: i.optional(), + }), + Xe = Te({ + ...y.shape, + ...v.shape, + description: Q().optional(), + inputSchema: wt({ $schema: Q().optional(), type: Ce("object") }), + outputSchema: wt({ $schema: Q().optional() }).optional(), + annotations: Re.optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + $e = Te({ + type: Ce("tool_result"), + toolUseId: Q(), + content: je(Ee), + structuredContent: Sn().optional(), + isError: Bt().optional(), + _meta: Wt(Q(), Sn()).optional(), + }), + Ie = Jt([Y, ae, ne, Se, $e]), + Ge = Te({ + role: a, + content: Jt([Ie, je(Ie)]), + _meta: Wt(Q(), Sn()).optional(), + }), + _e = Q(), + nt = wt({ [Y6]: x.optional().catch(void 0) }), + rt = nt.optional(); + function ot(Ha) { + return wt({ _meta: rt, resultType: _e.default("complete"), ...Ha }); + } + let At = ot({}), + en = ot({ nextCursor: r.optional() }), + Gt = ot({ + content: je(Ee), + structuredContent: Sn().optional(), + isError: Bt().optional(), + }), + tn = ot({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + tools: je(Xe), + nextCursor: r.optional(), + }), + Yt = ot({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + prompts: je(oe), + nextCursor: r.optional(), + }), + Be = ot({ description: Q().optional(), messages: je(pe) }), + Je = ot({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + resources: je(Z), + nextCursor: r.optional(), + }), + it = ot({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + resourceTemplates: je(q), + nextCursor: r.optional(), + }), + Et = ot({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + contents: je(Jt([N, _])), + }), + Mt = ot({ + completion: Te({ + values: je(Q()).max(100), + total: Pt().int().optional(), + hasMore: Bt().optional(), + }).loose(), + }), + An = ot({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + }), + Nn = ot({ + ttlMs: Pt().int().min(0).catch(0), + cacheScope: tr(["public", "private"]).catch("private"), + supportedVersions: je(Q()), + capabilities: ge, + instructions: Q().optional(), + }), + Tn = Te({ + messages: je(Ge), + modelPreferences: be.optional(), + systemPrompt: Q().optional(), + includeContext: tr(["none", "thisServer", "allServers"]).optional(), + temperature: Pt().optional(), + maxTokens: Pt().int(), + stopSequences: je(Q()).optional(), + metadata: t.optional(), + tools: je(Xe).optional(), + toolChoice: ye.optional(), + }), + Cn = Te({ method: Ce("sampling/createMessage"), params: Tn }), + er = Te({ + method: Ce("roots/list"), + params: Te({ _meta: Wt(Q(), Sn()).optional() }).optional(), + }), + qn = Te({ ...Ge.shape, model: Q(), stopReason: Q().optional() }), + Er = Te({ roots: je(Ze) }), + ur = Te({ + action: tr(["accept", "decline", "cancel"]), + content: Wt(Q(), Jt([Q(), Pt(), Bt(), je(Q())])).optional(), + }), + Yr = Te({ mode: Ce("url"), message: Q(), url: Q().url() }), + mo = Jt([Pe, Yr]), + Zo = Te({ method: Ce("elicitation/create"), params: mo }), + Co = Jt([Cn, er, Zo]), + on = Jt([qn, Er, ur]), + li = Wt(Q(), Co), + Pi = Wt(Q(), on), + zi = ot({ inputRequests: li.optional(), requestState: Q().optional() }), + ve = { inputResponses: Pi.optional(), requestState: Q().optional() }, + et = Te({ _meta: Oe, ...ve }), + ht = wt({ progressToken: n.optional() }); + function st(Ha, Z0) { + return Te({ method: Ce(Ha), params: Te({ _meta: Oe, ...Z0 }) }); + } + function lt(Ha, Z0) { + return Te({ + method: Ce(Ha), + params: Te({ _meta: ht.optional(), ...Z0 }).optional(), + }); + } + let nn = { name: Q(), arguments: Wt(Q(), Sn()).optional(), ...ve }, + dn = { cursor: r.optional() }, + fn = st("tools/call", nn), + wn = st("tools/list", dn), + Qt = st("prompts/list", dn), + Qn = st("prompts/get", { + name: Q(), + arguments: Wt(Q(), Q()).optional(), + ...ve, + }), + fr = st("resources/list", dn), + hn = st("resources/templates/list", dn), + nr = st("resources/read", { uri: Q(), ...ve }), + la = { + ref: Jt([Ue, Ke]), + argument: Te({ name: Q(), value: Q() }), + context: Te({ arguments: Wt(Q(), Q()).optional() }).optional(), + }, + ir = st("completion/complete", la), + Or = st("server/discover", {}), + _a = Te({ + toolsListChanged: Bt().optional(), + promptsListChanged: Bt().optional(), + resourcesListChanged: Bt().optional(), + resourceSubscriptions: je(Q()).optional(), + }), + kn = { notifications: _a }, + ps = st("subscriptions/listen", kn), + uo = nt.extend({ "io.modelcontextprotocol/subscriptionId": o }), + fs = wt({ _meta: uo, resultType: _e.default("complete") }), + ea = { + "tools/call": lt("tools/call", nn), + "tools/list": lt("tools/list", dn), + "prompts/get": lt("prompts/get", { + name: Q(), + arguments: Wt(Q(), Q()).optional(), + }), + "prompts/list": lt("prompts/list", dn), + "resources/list": lt("resources/list", dn), + "resources/templates/list": lt("resources/templates/list", dn), + "resources/read": lt("resources/read", { uri: Q() }), + "completion/complete": lt("completion/complete", la), + "server/discover": lt("server/discover", {}), + "subscriptions/listen": lt("subscriptions/listen", kn), + }; + function no(Ha) { + return wt({ _meta: rt, ...Ha }); + } + let zd = { + "tools/call": no({ + content: je(Ee), + structuredContent: Sn().optional(), + isError: Bt().optional(), + }), + "tools/list": no({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + tools: je(Xe), + nextCursor: r.optional(), + }), + "prompts/get": no({ description: Q().optional(), messages: je(pe) }), + "prompts/list": no({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + prompts: je(oe), + nextCursor: r.optional(), + }), + "resources/list": no({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + resources: je(Z), + nextCursor: r.optional(), + }), + "resources/templates/list": no({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + resourceTemplates: je(q), + nextCursor: r.optional(), + }), + "resources/read": no({ + ttlMs: Pt().int().min(0), + cacheScope: tr(["public", "private"]), + contents: je(Jt([N, _])), + }), + "completion/complete": no({ + completion: Te({ + values: je(Q()).max(100), + total: Pt().int().optional(), + hasMore: Bt().optional(), + }).loose(), + }), + "server/discover": no({ + ttlMs: Pt().int().min(0).catch(0), + cacheScope: tr(["public", "private"]).catch("private"), + supportedVersions: je(Q()), + capabilities: ge, + instructions: Q().optional(), + }), + "subscriptions/listen": no({}), + }, + ho = wt({ "io.modelcontextprotocol/subscriptionId": o.optional() }), + ta = Te({ + method: Ce("notifications/subscriptions/acknowledged"), + params: Te({ _meta: ho.optional(), notifications: _a }), + }), + rc = Te({ _meta: ho.optional(), requestId: o, reason: Q().optional() }), + ro = Te({ method: Ce("notifications/cancelled"), params: rc }), + al = { + "notifications/cancelled": ro, + "notifications/progress": O, + "notifications/message": U, + "notifications/resources/updated": ie, + "notifications/resources/list_changed": H, + "notifications/tools/list_changed": Le, + "notifications/prompts/list_changed": J, + "notifications/subscriptions/acknowledged": ta, + }, + $a = (Ha) => + Te({ + jsonrpc: Ce("2.0"), + id: Jt([Q(), Pt().int()]), + result: Ha, + }).strict(); + return { + JSONValueSchema: e, + JSONObjectSchema: t, + ProgressTokenSchema: n, + CursorSchema: r, + RequestIdSchema: o, + RoleSchema: a, + LoggingLevelSchema: i, + TaskMetadataSchema: l, + RelatedTaskMetadataSchema: c, + RequestMetaSchema: u, + BaseRequestParamsSchema: d, + TaskAugmentedRequestParamsSchema: p, + NotificationsParamsSchema: f, + NotificationSchema: m, + IconSchema: g, + IconsSchema: v, + BaseMetadataSchema: y, + ImplementationSchema: x, + ClientTasksCapabilitySchema: C, + ServerTasksCapabilitySchema: E, + ClientCapabilitiesSchema: T, + ServerCapabilitiesSchema: I, + ProgressSchema: k, + ProgressNotificationParamsSchema: L, + ProgressNotificationSchema: O, + LoggingMessageNotificationParamsSchema: B, + LoggingMessageNotificationSchema: U, + ResourceContentsSchema: D, + TextResourceContentsSchema: N, + BlobResourceContentsSchema: _, + AnnotationsSchema: G, + ResourceSchema: Z, + ResourceTemplateSchema: q, + ResourceListChangedNotificationSchema: H, + ResourceUpdatedNotificationParamsSchema: te, + ResourceUpdatedNotificationSchema: ie, + PromptArgumentSchema: j, + PromptSchema: oe, + PromptListChangedNotificationSchema: J, + TextContentSchema: Y, + ImageContentSchema: ae, + AudioContentSchema: ne, + ToolUseContentSchema: Se, + EmbeddedResourceSchema: fe, + ResourceLinkSchema: Ae, + ContentBlockSchema: Ee, + PromptMessageSchema: pe, + ToolAnnotationsSchema: Re, + ToolListChangedNotificationSchema: Le, + ModelHintSchema: Ne, + ModelPreferencesSchema: be, + ToolChoiceSchema: ye, + BooleanSchemaSchema: ce, + StringSchemaSchema: ue, + NumberSchemaSchema: ke, + UntitledSingleSelectEnumSchemaSchema: se, + TitledSingleSelectEnumSchemaSchema: qe, + LegacyTitledEnumSchemaSchema: Me, + SingleSelectEnumSchemaSchema: Qe, + UntitledMultiSelectEnumSchemaSchema: ee, + TitledMultiSelectEnumSchemaSchema: K, + MultiSelectEnumSchemaSchema: we, + EnumSchemaSchema: ze, + PrimitiveSchemaDefinitionSchema: tt, + ElicitRequestFormParamsSchema: Pe, + ResourceTemplateReferenceSchema: Ke, + PromptReferenceSchema: Ue, + RootSchema: Ze, + ClientCapabilities2026Schema: Rt, + ServerCapabilities2026Schema: ge, + RequestMetaEnvelopeSchema: Oe, + ToolSchema: Xe, + ToolResultContentSchema: $e, + SamplingMessageContentBlockSchema: Ie, + SamplingMessageSchema: Ge, + ResultTypeSchema: _e, + ResultMetaSchema: nt, + ResultSchema: At, + PaginatedResultSchema: en, + CallToolResultSchema: Gt, + ListToolsResultSchema: tn, + ListPromptsResultSchema: Yt, + GetPromptResultSchema: Be, + ListResourcesResultSchema: Je, + ListResourceTemplatesResultSchema: it, + ReadResourceResultSchema: Et, + CompleteResultSchema: Mt, + CacheableResultSchema: An, + DiscoverResultSchema: Nn, + CreateMessageRequestParamsSchema: Tn, + CreateMessageRequestSchema: Cn, + ListRootsRequestSchema: er, + CreateMessageResultSchema: qn, + ListRootsResultSchema: Er, + ElicitResultSchema: ur, + ElicitRequestURLParamsSchema: Yr, + ElicitRequestParamsSchema: mo, + ElicitRequestSchema: Zo, + InputRequestSchema: Co, + InputResponseSchema: on, + InputRequestsSchema: li, + InputResponsesSchema: Pi, + InputRequiredResultSchema: zi, + InputResponseRequestParamsSchema: et, + CallToolRequestSchema: fn, + ListToolsRequestSchema: wn, + ListPromptsRequestSchema: Qt, + GetPromptRequestSchema: Qn, + ListResourcesRequestSchema: fr, + ListResourceTemplatesRequestSchema: hn, + ReadResourceRequestSchema: nr, + CompleteRequestSchema: ir, + DiscoverRequestSchema: Or, + SubscriptionFilterSchema: _a, + SubscriptionsListenRequestSchema: ps, + SubscriptionsListenResultMetaSchema: uo, + SubscriptionsListenResultSchema: fs, + dispatchRequestSchemas: ea, + dispatchResultSchemas: zd, + NotificationMetaSchema: ho, + SubscriptionsAcknowledgedNotificationSchema: ta, + CancelledNotificationParamsSchema: rc, + CancelledNotificationSchema: ro, + notificationSchemas2026: al, + JSONRPCResultResponseSchema: $a(At), + CallToolResultResponseSchema: $a(Jt([Gt, zi])), + ListToolsResultResponseSchema: $a(tn), + ListPromptsResultResponseSchema: $a(Yt), + GetPromptResultResponseSchema: $a(Jt([Be, zi])), + ListResourcesResultResponseSchema: $a(Je), + ListResourceTemplatesResultResponseSchema: $a(it), + ReadResourceResultResponseSchema: $a(Jt([Et, zi])), + CompleteResultResponseSchema: $a(Mt), + DiscoverResultResponseSchema: $a(Nn), + SubscriptionsListenResultResponseSchema: $a(fs), + }; +} +function eC() { + return (gJn ??= hJn()); +} +function vJn(e) { + return yJn.includes(e); +} +function bJn(e) { + return e[GTe]; +} +function RUt(e) { + return typeof e === "number" && Number.isSafeInteger(e) && e >= 0; +} +function PUt(e) { + return e === "public" || e === "private"; +} +function SJn(e, t) { + let n = t.resultType; + if (n === void 0) return { ...t, resultType: "complete" }; + if (n === "complete") return t; + if (wJn.includes(e)) return t; + throw new Bf( + fa.InternalError, + `Handler for ${e} returned resultType '${String(n)}', but results of ${e} only support 'complete' on protocol revision 2026-07-28`, + ); +} +function CJn(e, t) { + let n = bJn(t); + if (t.resultType !== "complete" || !vJn(e)) return n === void 0 ? t : RJn(t); + let r = t, + o = RUt(r.ttlMs) ? r.ttlMs : TJn(n), + a = PUt(r.cacheScope) ? r.cacheScope : kJn(n), + i = { ...r, ttlMs: o, cacheScope: a }; + return (delete i[GTe], i); +} +function EJn(e) { + return e !== null && typeof e === "object" && !Array.isArray(e); +} +function IJn(e, t) { + if (t === void 0) return e; + let n = e._meta; + if (n === void 0) return { ...e, _meta: { [Y6]: t } }; + if (!EJn(n)) return e; + if (n[Y6] !== void 0) return e; + return { ...e, _meta: { ...n, [Y6]: t } }; +} +function TJn(e) { + return e !== void 0 && RUt(e.ttlMs) ? e.ttlMs : xJn; +} +function kJn(e) { + return e !== void 0 && PUt(e.cacheScope) ? e.cacheScope : AJn; +} +function RJn(e) { + let t = { ...e }; + return (delete t[GTe], t); +} +function OUt() { + if (Uie) return Uie; + let e = eC(); + return ( + (Uie = { + request: { + "elicitation/create": Te({ + method: Ce("elicitation/create"), + params: e.ElicitRequestParamsSchema, + }), + "sampling/createMessage": Te({ + method: Ce("sampling/createMessage"), + params: e.CreateMessageRequestParamsSchema, + }), + "roots/list": Te({ + method: Ce("roots/list"), + params: wt({}).optional(), + }), + }, + response: { + "elicitation/create": e.ElicitResultSchema, + "sampling/createMessage": e.CreateMessageResultSchema, + "roots/list": e.ListRootsResultSchema, + }, + }), + Uie + ); +} +function FUt(e) { + return PJn.includes(e); +} +function PTe(e) { + return FUt(e) ? OUt().request[e] : void 0; +} +function MJn(e) { + return FUt(e) ? OUt().response[e] : void 0; +} +function NUt(e) { + return Object.prototype.hasOwnProperty.call(qTe, e); +} +function zUt(e) { + return Object.prototype.hasOwnProperty.call(UUt, e); +} +function DJn(e) { + return Object.prototype.hasOwnProperty.call(qTe, e); +} +function LJn(e) { + return NUt(e) ? eC().dispatchRequestSchemas[e] : void 0; +} +function BJn(e) { + return DJn(e) ? eC().dispatchResultSchemas[e] : void 0; +} +function OJn(e) { + return zUt(e) ? eC().notificationSchemas2026[e] : void 0; +} +function JV(e) { + return e !== null && typeof e === "object" && !Array.isArray(e); +} +function YV(e, t) { + if (e === void 0) return { ok: !1, reason: "not-in-era" }; + let n = e.safeParse(t); + return n.success + ? { ok: !0, value: n.data } + : { ok: !1, reason: "invalid", message: String(n.error) }; +} +function NJn(e, t) { + let n = t, + r = !1, + o = () => { + if (!r) ((n = { ...n }), (r = !0)); + return n; + }, + a = t.tools; + if ( + e === "tools/list" && + Array.isArray(a) && + a.some((s) => JV(s) && "execution" in s) + ) + o().tools = a.map((s) => { + if (!JV(s) || !("execution" in s)) return s; + let l = { ...s }; + return (delete l.execution, l); + }); + let i = t.capabilities; + if (JV(i) && "tasks" in i) { + let s = { ...i }; + (delete s.tasks, (o().capabilities = s)); + } + return n; +} +function zJn() { + if (Nie) return Nie; + let e = eC(); + return ( + (Nie = { + "tools/call": e.CallToolResultSchema, + "tools/list": e.ListToolsResultSchema, + "prompts/get": e.GetPromptResultSchema, + "prompts/list": e.ListPromptsResultSchema, + "resources/list": e.ListResourcesResultSchema, + "resources/templates/list": e.ListResourceTemplatesResultSchema, + "resources/read": e.ReadResourceResultSchema, + "completion/complete": e.CompleteResultSchema, + "server/discover": e.DiscoverResultSchema, + }), + Nie + ); +} +function $V(e) { + return e !== void 0 && xUt(e) ? ZTe : VTe; +} +function fUt(e) { + if (e.revision !== void 0) return $V(e.revision).era; + return e.era === "modern" ? ZTe.era : VTe.era; +} +function MTe(e) { + return _Ut.some((t) => t.hasRequestMethod(e)); +} +function DTe(e) { + return _Ut.some((t) => t.hasNotificationMethod(e)); +} +function mUt(e) { + return e === "tasks/get" || e === "tasks/cancel"; +} +function XTe(e, t) { + return Wre(e, t); +} +function KV(e) { + return new Set(e.flatMap((t) => Object.keys(t.shape))); +} +function NTe(e) { + if (e == null) return !1; + let t = typeof e; + if (t !== "object" && t !== "function") return !1; + if (!("~standard" in e)) return !1; + return typeof e["~standard"]?.validate === "function"; +} +function HJn(e, t = "input") { + let n = e["~standard"], + r; + if (n.jsonSchema) r = n.jsonSchema[t]({ target: zTe }); + else if (n.vendor === "zod") { + if (!("_zod" in e)) + throw Error( + "Schema appears to be from zod 3, which the SDK cannot convert to JSON Schema. Upgrade to zod >=4.2.0, or wrap your JSON Schema with fromJsonSchema().", + ); + if (!hUt) + ((hUt = !0), + console.warn( + "[mcp-sdk] Your zod version does not implement `~standard.jsonSchema` (added in zod 4.2.0). Falling back to z.toJSONSchema(). Upgrade to zod >=4.2.0 to silence this warning.", + )); + r = Qre(e, { target: zTe, io: t }); + } else + throw Error( + `Schema library "${n.vendor}" does not implement StandardJSONSchemaV1 (\`~standard.jsonSchema\`). Upgrade to a version that does, or wrap your JSON Schema with fromJsonSchema().`, + ); + if (t === "output") { + if (r.type !== void 0) return r; + return qUt(r) ? { type: "object", ...r } : r; + } + if (r.type !== void 0 && r.type !== "object") + throw Error( + `MCP tool and prompt schemas must describe objects (got type: ${JSON.stringify(r.type)}). Wrap your schema in z.object({...}) or equivalent.`, + ); + return { type: "object", ...r }; +} +function qUt(e) { + if ( + "properties" in e || + "patternProperties" in e || + "additionalProperties" in e || + "required" in e + ) + return !0; + for (let t of ["oneOf", "anyOf", "allOf"]) { + let n = e[t]; + if (Array.isArray(n) && n.length > 0) + return n.every( + (r) => + r !== null && + typeof r === "object" && + (r.type === "object" || qUt(r)), + ); + } + return !1; +} +function VJn(e) { + if (!e.path?.length) return e.message; + return `${e.path.map((t) => String(typeof t === "object" ? t.key : t)).join(".")}: ${e.message}`; +} +async function LTe(e, t) { + let n = await e["~standard"].validate(t); + if (n.issues && n.issues.length > 0) + return { success: !1, error: n.issues.map((r) => VJn(r)).join(", ") }; + return { success: !0, data: n.value }; +} +function GJn(e) { + let t = Qre(e, { target: zTe, io: "input" }); + return typeof t.pattern === "string" ? t.pattern : void 0; +} +function ZJn(e) { + let t = qJn.exec(e), + n = [void 0, -1, 0]; + if (t) n.push(Number(t[1])); + return [!1, !0].flatMap((r) => + [!1, !0].flatMap((o) => + n.map((a) => S_({ local: r, offset: o, precision: a })), + ), + ); +} +function QJn(e, t) { + let n; + switch (e) { + case "email": + n = [pyt()]; + break; + case "uri": + n = [Jre()]; + break; + case "date": + n = [DUn()]; + break; + case "date-time": + n = ZJn(t); + break; + } + return new Set(n.map((r) => GJn(r)).filter((r) => r !== void 0)); +} +function XJn(e, t, n) { + if (n !== "zod") return !0; + return QJn(e, t).has(t); +} +function eG(e) { + return typeof e === "object" && e !== null && !Array.isArray(e); +} +function WJn(e) { + try { + return HJn(e, "input"); + } catch (t) { + let n = t instanceof Error ? t.message : String(t); + throw new Bf( + fa.InvalidParams, + `Elicitation requestedSchema must describe an object with flat primitive properties: ${n}`, + ); + } +} +function WTe(e) { + return YJn.has(e) || e.startsWith("x-"); +} +function jJn(e, t, n, r) { + if (!eG(e)) return e; + let o = + typeof e.type === "string" && Object.hasOwn(gUt, e.type) + ? gUt[e.type] + : void 0; + if (o === void 0) return e; + let a = {}; + for (let [i, s] of Object.entries(e)) + if (o.has(i) || WTe(i)) a[i] = s; + else if ( + i === "pattern" && + e.type === "string" && + typeof e.format === "string" + ) { + if (!JJn.has(e.format)) a[i] = s; + else if (typeof s !== "string" || !XJn(e.format, s, n)) + r.push(`${t}.${i}`); + } else r.push(`${t}.${i}`); + return a; +} +function $Jn(e, t) { + let n = {}, + r = []; + for (let [o, a] of Object.entries(e)) + if (o === "properties" && eG(a)) + n[o] = Object.fromEntries( + Object.entries(a).map(([i, s]) => [i, jJn(s, `properties.${i}`, t, r)]), + ); + else if (KJn.has(o)) n[o] = a; + else if (!WTe(o)) r.push(o); + if (r.length > 0) + throw new Bf( + fa.InvalidParams, + `Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${r.join(", ")}`, + ); + return n; +} +function ejn(e, t) { + if (!eG(e.properties)) return t; + let n = Object.entries(e.properties) + .filter(([, r]) => !XTe(XM, r).success) + .map(([r]) => `properties.${r}`); + return n.length > 0 ? n.join(", ") : t; +} +function _Te(e, t, n = "") { + if (Array.isArray(e) && Array.isArray(t)) + return e.flatMap((r, o) => _Te(r, t[o], `${n}[${o}]`)); + if (!eG(e) || !eG(t)) return []; + return Object.entries(e).flatMap(([r, o]) => { + let a = n ? `${n}.${r}` : r; + if (!Object.prototype.hasOwnProperty.call(t, r)) return WTe(r) ? [] : [a]; + return _Te(o, t[r], a); + }); +} +function tjn(e) { + if (!NTe(e.requestedSchema)) + return { ...e, mode: "form", requestedSchema: e.requestedSchema }; + let t = e.requestedSchema["~standard"].vendor, + n = $Jn(WJn(e.requestedSchema), t), + r = XTe(RI.shape.requestedSchema, n); + if (!r.success) + throw new Bf( + fa.InvalidParams, + `Elicitation requestedSchema only supports flat primitive properties (string, number, integer, boolean, and string enums): ${ejn(n, r.error.message)}`, + ); + let o = _Te(n, r.data); + if (o.length > 0) + throw new Bf( + fa.InvalidParams, + `Elicitation requestedSchema contains unsupported JSON Schema constraint(s) after Standard Schema conversion: ${o.join(", ")}`, + ); + let a = (r.data.required ?? []).filter( + (i) => !Object.prototype.hasOwnProperty.call(r.data.properties, i), + ); + if (a.length > 0) + throw new Bf( + fa.InvalidParams, + `Elicitation requestedSchema lists required properties that are not defined in properties: ${a.join(", ")}`, + ); + return { ...e, mode: "form", requestedSchema: r.data }; +} +function njn(e) { + let t = e.inputRequests !== void 0 && Object.keys(e.inputRequests).length > 0, + n = typeof e.requestState === "string"; + if (!t && !n) + throw TypeError( + "inputRequired() requires at least one of inputRequests (with at least one entry) or requestState (spec: every InputRequiredResult MUST include at least one of the two)", + ); + return { + resultType: "input_required", + ...(e.inputRequests !== void 0 && { inputRequests: e.inputRequests }), + ...(e.requestState !== void 0 && { requestState: e.requestState }), + }; +} +function XUt(e, t) { + let n = e.slice(0, -6); + ((ZUt[n] = t), (QUt[n] = (r) => t.safeParse(r).success)); +} +function sjn(e) { + switch (e) { + case "initialize": + case "notifications/initialized": + return $V(void 0); + case "server/discover": + return $V(QTe); + default: + return; + } +} +function yUt(e, t) { + let n = e.params; + if (!BTe(n)) return { message: e, lifted: {} }; + let r = n._meta, + o = BTe(r) ? ljn.filter((l) => l in r) : [], + a = t === "request" ? cjn.filter((l) => l in n) : []; + if (o.length === 0 && a.length === 0) return { message: e, lifted: {} }; + let i = {}, + s = { ...n }; + if (o.length > 0 && BTe(r)) { + let l = {}, + c = { ...r }; + for (let u of o) ((l[u] = r[u]), delete c[u]); + if (((i.envelope = l), Object.keys(c).length > 0)) s._meta = c; + else delete s._meta; + } + for (let l of a) { + if (l === "inputResponses") i.inputResponses = s[l]; + if (l === "requestState") i.requestState = s[l]; + delete s[l]; + } + return { message: { ...e, params: s }, lifted: i }; +} +function vUt(e, t) { + let n = e.validateResult(t, void 0); + if (!n.ok && n.reason === "not-in-era") return; + return { + "~standard": { + version: 1, + vendor: "mcp-wire-codec", + validate(r) { + let o = e.validateResult(t, r); + if (o.ok) return { value: o.value }; + return { + issues: [ + { + message: o.reason === "invalid" ? o.message : `not-in-era: ${t}`, + }, + ], + }; + }, + }, + }; +} +function YUt(e) { + return () => e; +} +function BTe(e) { + return e !== null && typeof e === "object" && !Array.isArray(e); +} +function bUt(e) { + return typeof e === "object" && e !== null && !Array.isArray(e); +} +function pjn(e) { + let t = {}, + n = []; + if (!bUt(e)) return { accepted: t, droppedKeys: n }; + for (let [r, o] of Object.entries(e)) { + if (!bUt(o) || "method" in o || "result" in o) { + n.push(r); + continue; + } + t[r] = o; + } + return { accepted: t, droppedKeys: n }; +} +function fjn(e) { + return { + resultType: "input_required", + inputRequests: e.inputRequests, + ...(e.requestState !== void 0 && { requestState: e.requestState }), + ...(e._meta !== void 0 && { _meta: e._meta }), + }; +} +var OTe, + tJn, + Lf, + Rd, + nJn, + rJn = "2026-07-28", + wUt, + iJn, + sJn, + lJn, + EUt, + IUt, + uJn, + Oie, + Aoa, + woa, + uUt, + VTe, + gJn, + yJn, + GTe, + fa, + Bf, + MUt, + DUt, + LUt, + BUt, + xJn = 0, + AJn = "private", + wJn, + PJn, + Uie, + qTe, + UUt, + Soa, + Coa, + FJn, + UJn, + ZTe, + Nie, + QTe = "2026-07-28", + _Ut, + _Jn, + HUt = (e) => kM.safeParse(e).success, + VUt = (e) => RM.safeParse(e).success, + UTe = (e) => yI.safeParse(e).success, + GUt = (e) => vI.safeParse(e).success, + jV = -32020, + Eoa, + Ioa, + hUt = !1, + zTe = "draft-2020-12", + qJn, + YJn, + KJn, + gUt, + JJn, + Toa, + rjn, + ojn, + ZUt, + QUt, + ajn, + ijn, + WUt = 60000, + ljn, + cjn, + ujn, + djn, + YTe, + mjn, + koa; +var KUt = P(() => { + KFt(); + ETe(); + lUt(); + AM(); + OTe = Symbol.for("mcp.sdk.errorBrands"); + ((tJn = class e extends Error { + static { + Object.defineProperty(this, "mcpBrand", { value: "mcp.OAuthError" }); + } + static [Symbol.hasInstance](t) { + return _g(this, t); + } + static isInstance(t) { + if (typeof this !== "function") + throw TypeError( + "isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`", + ); + return _g(this, t); + } + constructor(t, n, r) { + super(n); + ((this.code = t), + (this.errorUri = r), + (this.name = "OAuthError"), + PI(this, new.target)); + } + toResponseObject() { + let t = { error: this.code, error_description: this.message }; + if (this.errorUri) t.error_uri = this.errorUri; + return t; + } + static fromResponse(t) { + return new e(t.error, t.error_description ?? t.error, t.error_uri); + } + }), + (Lf = (function (e) { + return ( + (e.NotConnected = "NOT_CONNECTED"), + (e.AlreadyConnected = "ALREADY_CONNECTED"), + (e.NotInitialized = "NOT_INITIALIZED"), + (e.CapabilityNotSupported = "CAPABILITY_NOT_SUPPORTED"), + (e.RequestTimeout = "REQUEST_TIMEOUT"), + (e.ConnectionClosed = "CONNECTION_CLOSED"), + (e.SendFailed = "SEND_FAILED"), + (e.InvalidResult = "INVALID_RESULT"), + (e.UnsupportedResultType = "UNSUPPORTED_RESULT_TYPE"), + (e.InputRequiredRoundsExceeded = "INPUT_REQUIRED_ROUNDS_EXCEEDED"), + (e.ListPaginationExceeded = "LIST_PAGINATION_EXCEEDED"), + (e.MethodNotSupportedByProtocolVersion = + "METHOD_NOT_SUPPORTED_BY_PROTOCOL_VERSION"), + (e.EraNegotiationFailed = "ERA_NEGOTIATION_FAILED"), + (e.ClientHttpNotImplemented = "CLIENT_HTTP_NOT_IMPLEMENTED"), + (e.ClientHttpAuthentication = "CLIENT_HTTP_AUTHENTICATION"), + (e.ClientHttpForbidden = "CLIENT_HTTP_FORBIDDEN"), + (e.ClientHttpUnexpectedContent = "CLIENT_HTTP_UNEXPECTED_CONTENT"), + (e.ClientHttpFailedToOpenStream = "CLIENT_HTTP_FAILED_TO_OPEN_STREAM"), + (e.ClientHttpFailedToTerminateSession = + "CLIENT_HTTP_FAILED_TO_TERMINATE_SESSION"), + e + ); + })({})), + (Rd = class extends Error { + static { + Object.defineProperty(this, "mcpBrand", { value: "mcp.SdkError" }); + } + static [Symbol.hasInstance](e) { + return _g(this, e); + } + static isInstance(e) { + if (typeof this !== "function") + throw TypeError( + "isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`", + ); + return _g(this, e); + } + constructor(e, t, n, r) { + super(t, r); + ((this.code = e), + (this.data = n), + (this.name = "SdkError"), + PI(this, new.target)); + } + }), + (nJn = class extends Rd { + static { + Object.defineProperty(this, "mcpBrand", { value: "mcp.SdkHttpError" }); + } + constructor(e, t, n, r) { + super(e, t, n, r); + this.name = "SdkHttpError"; + } + get status() { + return this.data.status; + } + get statusText() { + return this.data.statusText; + } + })); + wUt = ["task", "inputRequests", "requestState"]; + ((sJn = new Set(["const", "enum", "default", "examples"])), + (lJn = new Set([ + "properties", + "patternProperties", + "$defs", + "definitions", + "dependentSchemas", + "dependencies", + ]))); + ((EUt = { + ping: null, + initialize: null, + "completion/complete": null, + "logging/setLevel": null, + "prompts/get": null, + "prompts/list": null, + "resources/list": null, + "resources/templates/list": null, + "resources/read": null, + "resources/subscribe": null, + "resources/unsubscribe": null, + "tools/call": null, + "tools/list": null, + "tasks/get": null, + "tasks/result": null, + "tasks/list": null, + "tasks/cancel": null, + "sampling/createMessage": null, + "elicitation/create": null, + "roots/list": null, + }), + (IUt = { + "notifications/cancelled": null, + "notifications/progress": null, + "notifications/initialized": null, + "notifications/roots/list_changed": null, + "notifications/tasks/status": null, + "notifications/message": null, + "notifications/resources/updated": null, + "notifications/resources/list_changed": null, + "notifications/tools/list_changed": null, + "notifications/prompts/list_changed": null, + "notifications/elicitation/complete": null, + }), + (uJn = { + ping: null, + initialize: null, + "completion/complete": null, + "logging/setLevel": null, + "prompts/get": null, + "prompts/list": null, + "resources/list": null, + "resources/templates/list": null, + "resources/read": null, + "resources/subscribe": null, + "resources/unsubscribe": null, + "tools/call": null, + "tools/list": null, + "sampling/createMessage": null, + "elicitation/create": null, + "roots/list": null, + })); + ((Aoa = Object.keys(EUt)), (woa = Object.keys(IUt))); + uUt = { ok: !1, reason: "not-in-era" }; + VTe = { + era: "2025-11-25", + hasRequestMethod: TUt, + hasNotificationMethod: kUt, + validateRequest: (e, t) => Fie(fJn(e), t), + validateResult: (e, t) => Fie(pJn(e), t), + validateNotification: (e, t) => Fie(mJn(e), t), + hasInputRequestMethod: () => !1, + validateInputRequest: () => uUt, + validateInputResponse: () => uUt, + samplingResultVariant: (e, t) => { + let n = SUt(); + return Fie( + e ? n.CreateMessageResultWithToolsSchema : n.CreateMessageResultSchema, + t, + ); + }, + outboundEnvelope: (e) => { + return; + }, + validateEnvelopeMeta: (e) => [], + projectCallToolResult(e, t) { + let n = AUt(e), + r = n.structuredContent; + if (r === void 0) return n; + let o = typeof r !== "object" || r === null || Array.isArray(r), + a = t !== void 0 && CUt(t); + if (!o && !a) return n; + return { ...n, structuredContent: { result: r } }; + }, + decodeResult(e, t) { + if (FTe(t) && "resultType" in t) { + let n = { ...t }; + return (delete n.resultType, { kind: "complete", result: pUt(n) }); + } + return { kind: "complete", result: pUt(t) }; + }, + encodeResult(e, t) { + if (e !== "tools/list") return t; + let n = t.tools; + if (!Array.isArray(n) || !n.some((r) => dUt(r))) return t; + return { + ...t, + tools: n.map((r) => + dUt(r) ? { ...r, outputSchema: cJn(r.outputSchema) } : r, + ), + }; + }, + encodeErrorCode: (e) => (e === -32002 ? -32602 : e), + checkInboundEnvelope: (e) => { + return; + }, + }; + yJn = [ + "tools/list", + "prompts/list", + "resources/list", + "resources/templates/list", + "resources/read", + "server/discover", + ]; + GTe = Symbol("modelcontextprotocol.resultCacheHintFallback"); + ((fa = (function (e) { + return ( + (e[(e.ParseError = -32700)] = "ParseError"), + (e[(e.InvalidRequest = -32600)] = "InvalidRequest"), + (e[(e.MethodNotFound = -32601)] = "MethodNotFound"), + (e[(e.InvalidParams = -32602)] = "InvalidParams"), + (e[(e.InternalError = -32603)] = "InternalError"), + (e[(e.ResourceNotFound = -32002)] = "ResourceNotFound"), + (e[(e.MissingRequiredClientCapability = -32021)] = + "MissingRequiredClientCapability"), + (e[(e.UnsupportedProtocolVersion = -32022)] = + "UnsupportedProtocolVersion"), + (e[(e.UrlElicitationRequired = -32042)] = "UrlElicitationRequired"), + e + ); + })({})), + (Bf = class e extends Error { + static { + Object.defineProperty(this, "mcpBrand", { value: "mcp.ProtocolError" }); + } + static [Symbol.hasInstance](t) { + return _g(this, t); + } + static isInstance(t) { + if (typeof this !== "function") + throw TypeError( + "isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`", + ); + return _g(this, t); + } + constructor(t, n, r) { + super(n); + ((this.code = t), + (this.data = r), + (this.name = "ProtocolError"), + PI(this, new.target)); + } + static fromError(t, n, r) { + if (t === fa.UrlElicitationRequired && r) { + let o = r; + if (o.elicitations) return new DUt(o.elicitations, n); + } + if (t === fa.UnsupportedProtocolVersion && r) { + let o = r; + if (Array.isArray(o.supported) && typeof o.requested === "string") + return new LUt( + { supported: o.supported, requested: o.requested }, + n, + ); + } + if (t === fa.InvalidParams || t === fa.ResourceNotFound) { + let o = r; + if ( + typeof o?.uri === "string" && + (t === fa.ResourceNotFound || Object.keys(o).length === 1) + ) + return new MUt(o.uri, n); + } + if (t === fa.MissingRequiredClientCapability && r) { + let o = r; + if ( + o.requiredCapabilities !== null && + typeof o.requiredCapabilities === "object" && + !Array.isArray(o.requiredCapabilities) + ) + return new BUt({ requiredCapabilities: o.requiredCapabilities }, n); + } + return new e(t, n, r); + } + }), + (MUt = class extends Bf { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.ResourceNotFoundError", + }); + } + constructor(e, t = `Resource not found: ${e}`) { + super(fa.InvalidParams, t, { uri: e }); + } + get uri() { + return this.data.uri; + } + }), + (DUt = class extends Bf { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.UrlElicitationRequiredError", + }); + } + constructor(e, t = `URL elicitation${e.length > 1 ? "s" : ""} required`) { + super(fa.UrlElicitationRequired, t, { elicitations: e }); + } + get elicitations() { + return this.data?.elicitations ?? []; + } + }), + (LUt = class extends Bf { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.UnsupportedProtocolVersionError", + }); + } + constructor(e, t = `Unsupported protocol version: ${e.requested}`) { + super(fa.UnsupportedProtocolVersion, t, e); + } + get supported() { + return this.data.supported; + } + get requested() { + return this.data.requested; + } + }), + (BUt = class extends Bf { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.MissingRequiredClientCapabilityError", + }); + } + constructor( + e, + t = `Missing required client capabilities: ${Object.keys(e.requiredCapabilities).join(", ")}`, + ) { + super(fa.MissingRequiredClientCapability, t, e); + } + get requiredCapabilities() { + return this.data.requiredCapabilities; + } + }), + (wJn = ["tools/call", "prompts/get", "resources/read"])); + PJn = ["elicitation/create", "sampling/createMessage", "roots/list"]; + ((qTe = { + "tools/call": null, + "tools/list": null, + "prompts/get": null, + "prompts/list": null, + "resources/list": null, + "resources/templates/list": null, + "resources/read": null, + "completion/complete": null, + "server/discover": null, + "subscriptions/listen": null, + }), + (UUt = { + "notifications/cancelled": null, + "notifications/progress": null, + "notifications/message": null, + "notifications/resources/updated": null, + "notifications/resources/list_changed": null, + "notifications/tools/list_changed": null, + "notifications/prompts/list_changed": null, + "notifications/subscriptions/acknowledged": null, + })); + ((Soa = Object.keys(qTe)), (Coa = Object.keys(UUt))); + ((FJn = { ok: !1, reason: "not-in-era" }), (UJn = [mI, hI])); + ZTe = { + era: "2026-07-28", + hasRequestMethod: NUt, + hasNotificationMethod: zUt, + hasInputRequestMethod: (e) => PTe(e) !== void 0, + validateRequest: (e, t) => YV(LJn(e), t), + validateResult: (e, t) => YV(BJn(e), t), + validateNotification: (e, t) => YV(OJn(e), t), + validateInputRequest: (e, t) => YV(PTe(e), t), + validateInputResponse: (e, t) => YV(MJn(e), t), + samplingResultVariant: () => FJn, + outboundEnvelope(e) { + return { + [mI]: e.protocolVersion, + [wM]: e.clientInfo, + [hI]: e.clientCapabilities, + ...(e.logLevel !== void 0 && { [SM]: e.logLevel }), + }; + }, + validateEnvelopeMeta(e) { + let t = []; + for (let r of UJn) if (!(r in e)) t.push({ key: r, problem: "missing" }); + let n = eC().RequestMetaEnvelopeSchema.safeParse(e); + if (!n.success) + for (let r of n.error.issues) { + let o = r.path.map(String), + a = o.length > 0 ? o.join(".") : "_meta"; + if ( + o.length === 1 && + t.some((i) => i.key === a && i.problem === "missing") + ) + continue; + t.push({ key: a, problem: r.message }); + } + return t; + }, + projectCallToolResult: (e) => AUt(e), + inputRequestSchema: PTe, + decodeResult(e, t) { + if (!JV(t)) + return { + kind: "invalid", + error: new Rd( + Lf.InvalidResult, + `Invalid result for ${e}: not an object`, + { method: e }, + ), + }; + let n = t.resultType; + if (n === void 0) + return { + kind: "invalid", + error: new Rd( + Lf.InvalidResult, + `Invalid result for ${e}: missing required resultType — servers implementing protocol revision 2026-07-28 MUST include it (the absent-means-complete bridge applies only to earlier-revision servers)`, + { method: e, violation: "missing-resultType" }, + ), + }; + if (typeof n !== "string") + return { + kind: "invalid", + error: new Rd( + Lf.InvalidResult, + `Invalid result for ${e}: non-string resultType`, + { method: e, resultType: n }, + ), + }; + if (n === "input_required") { + let i = t.inputRequests, + s = JV(i) ? i : {}, + l = t.requestState, + c = + t._meta === void 0 + ? void 0 + : eC().ResultMetaSchema.safeParse(t._meta), + u = c?.success ? c.data : void 0; + if (Object.keys(s).length === 0 && typeof l !== "string") + return { + kind: "invalid", + error: new Rd( + Lf.InvalidResult, + `Invalid result for ${e}: input_required carries neither inputRequests nor requestState (every input_required result must include at least one of the two)`, + { method: e, violation: "input-required-missing-both" }, + ), + }; + return { + kind: "input_required", + inputRequests: s, + ...(typeof l === "string" && { requestState: l }), + ...(u !== void 0 && { _meta: u }), + }; + } + if (n !== "complete") + return { + kind: "invalid", + error: new Rd( + Lf.UnsupportedResultType, + `Unsupported result type '${n}' for ${e}`, + { resultType: n, method: e }, + ), + }; + let r = zJn(), + o = Object.hasOwn(r, e) ? r[e] : void 0; + if (o !== void 0) { + let i = o.safeParse(t); + if (!i.success) + return { + kind: "invalid", + error: new Rd( + Lf.InvalidResult, + `Invalid result for ${e}: ${i.error}`, + { method: e }, + ), + }; + } + let a = { ...t }; + return (delete a.resultType, { kind: "complete", result: a }); + }, + encodeResult(e, t, n) { + return IJn(CJn(e, SJn(e, NJn(e, t))), n); + }, + encodeErrorCode: (e) => (e === -32002 ? -32602 : e), + checkInboundEnvelope(e) { + if (e.envelope === void 0) + return "Request is missing the required _meta envelope for protocol revision 2026-07-28 (io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientCapabilities)"; + let t = eC().RequestMetaEnvelopeSchema.safeParse(e.envelope); + if (!t.success) + return `Invalid _meta envelope for protocol revision 2026-07-28: ${t.error.issues.map((n) => n.message).join("; ")}`; + }, + }; + ((_Ut = [VTe, ZTe]), + (_Jn = WFt({ + AnnotationsSchema: () => fx, + AudioContentSchema: () => SI, + BaseMetadataSchema: () => dx, + BaseRequestParamsSchema: () => Fp, + BlobResourceContentsSchema: () => UM, + BooleanSchemaSchema: () => HM, + CallToolRequestParamsSchema: () => oV, + CallToolRequestSchema: () => aV, + CallToolResultSchema: () => $6, + CancelTaskRequestSchema: () => Eie, + CancelTaskResultSchema: () => Iie, + CancelledNotificationParamsSchema: () => pH, + CancelledNotificationSchema: () => PM, + ClientCapabilitiesSchema: () => mH, + ClientNotificationSchema: () => kie, + ClientRequestSchema: () => Tie, + ClientResultSchema: () => Rie, + ClientTasksCapabilitySchema: () => pie, + CompatibilityCallToolResultSchema: () => mie, + CompleteRequestParamsSchema: () => MV, + CompleteRequestSchema: () => DV, + CompleteResultSchema: () => LV, + ContentBlockSchema: () => mx, + CreateMessageRequestParamsSchema: () => gV, + CreateMessageRequestSchema: () => yV, + CreateMessageResultSchema: () => vV, + CreateMessageResultWithToolsSchema: () => bV, + CreateTaskResultSchema: () => yie, + CursorSchema: () => EM, + DiscoverRequestSchema: () => bH, + DiscoverResultSchema: () => DM, + ElicitRequestFormParamsSchema: () => RI, + ElicitRequestParamsSchema: () => CV, + ElicitRequestSchema: () => EV, + ElicitRequestURLParamsSchema: () => SV, + ElicitResultSchema: () => kV, + ElicitationCompleteNotificationParamsSchema: () => IV, + ElicitationCompleteNotificationSchema: () => TV, + EmbeddedResourceSchema: () => CI, + EmptyResultSchema: () => J6, + EnumSchemaSchema: () => wV, + GetPromptRequestParamsSchema: () => WH, + GetPromptRequestSchema: () => YH, + GetPromptResultSchema: () => jH, + GetTaskPayloadRequestSchema: () => Aie, + GetTaskPayloadResultSchema: () => wie, + GetTaskRequestSchema: () => bie, + GetTaskResultSchema: () => xie, + IconSchema: () => fH, + IconsSchema: () => D3, + ImageContentSchema: () => wI, + ImplementationSchema: () => px, + InitializeRequestParamsSchema: () => hH, + InitializeRequestSchema: () => gH, + InitializeResultSchema: () => yH, + InitializedNotificationSchema: () => vH, + JSONArraySchema: () => uie, + JSONObjectSchema: () => ql, + JSONRPCErrorResponseSchema: () => vI, + JSONRPCMessageSchema: () => bI, + JSONRPCNotificationSchema: () => RM, + JSONRPCRequestSchema: () => kM, + JSONRPCResponseSchema: () => die, + JSONRPCResultResponseSchema: () => yI, + JSONValueSchema: () => M3, + LegacyTitledEnumSchemaSchema: () => qM, + ListChangedOptionsBaseSchema: () => hie, + ListPromptsRequestSchema: () => QH, + ListPromptsResultSchema: () => XH, + ListResourceTemplatesRequestSchema: () => IH, + ListResourceTemplatesResultSchema: () => TH, + ListResourcesRequestSchema: () => CH, + ListResourcesResultSchema: () => EH, + ListRootsRequestSchema: () => OV, + ListRootsResultSchema: () => FV, + ListTasksRequestSchema: () => Sie, + ListTasksResultSchema: () => Cie, + ListToolsRequestSchema: () => nV, + ListToolsResultSchema: () => rV, + LoggingLevelSchema: () => _M, + LoggingMessageNotificationParamsSchema: () => cV, + LoggingMessageNotificationSchema: () => II, + ModelHintSchema: () => uV, + ModelPreferencesSchema: () => dV, + MultiSelectEnumSchemaSchema: () => AV, + NotificationSchema: () => Df, + NotificationsParamsSchema: () => gm, + NumberSchemaSchema: () => kI, + PaginatedRequestParamsSchema: () => wH, + PaginatedRequestSchema: () => L3, + PaginatedResultSchema: () => B3, + PingRequestSchema: () => LM, + PrimitiveSchemaDefinitionSchema: () => XM, + ProgressNotificationParamsSchema: () => AH, + ProgressNotificationSchema: () => BM, + ProgressSchema: () => xH, + ProgressTokenSchema: () => CM, + PromptArgumentSchema: () => qH, + PromptListChangedNotificationSchema: () => $H, + PromptMessageSchema: () => JH, + PromptReferenceSchema: () => PV, + PromptSchema: () => ZH, + ReadResourceRequestParamsSchema: () => kH, + ReadResourceRequestSchema: () => RH, + ReadResourceResultSchema: () => PH, + RelatedTaskMetadataSchema: () => dH, + RequestIdSchema: () => q2, + RequestMetaSchema: () => IM, + RequestSchema: () => Zl, + ResourceContentsSchema: () => OM, + ResourceLinkSchema: () => EI, + ResourceListChangedNotificationSchema: () => MH, + ResourceRequestParamsSchema: () => xI, + ResourceSchema: () => NM, + ResourceTemplateReferenceSchema: () => RV, + ResourceTemplateSchema: () => SH, + ResourceUpdatedNotificationParamsSchema: () => VH, + ResourceUpdatedNotificationSchema: () => GH, + ResultMetaObjectSchema: () => TM, + ResultSchema: () => Ql, + RoleSchema: () => O3, + RootSchema: () => BV, + RootsListChangedNotificationSchema: () => UV, + SamplingContentSchema: () => mV, + SamplingMessageContentBlockSchema: () => W6, + SamplingMessageSchema: () => hV, + ServerCapabilitiesSchema: () => MM, + ServerNotificationSchema: () => Mie, + ServerRequestSchema: () => Pie, + ServerResultSchema: () => Die, + ServerTasksCapabilitySchema: () => fie, + SetLevelRequestParamsSchema: () => sV, + SetLevelRequestSchema: () => lV, + SingleSelectEnumSchemaSchema: () => xV, + StringSchemaSchema: () => TI, + SubscribeRequestParamsSchema: () => DH, + SubscribeRequestSchema: () => LH, + SubscriptionFilterSchema: () => zM, + SubscriptionsAcknowledgedNotificationParamsSchema: () => NH, + SubscriptionsAcknowledgedNotificationSchema: () => zH, + SubscriptionsListenRequestParamsSchema: () => FH, + SubscriptionsListenRequestSchema: () => UH, + SubscriptionsListenResultMetaSchema: () => _H, + SubscriptionsListenResultSchema: () => HH, + TaskAugmentedRequestParamsSchema: () => K6, + TaskCreationParamsSchema: () => gie, + TaskMetadataSchema: () => uH, + TaskSchema: () => F3, + TaskStatusNotificationParamsSchema: () => zV, + TaskStatusNotificationSchema: () => vie, + TaskStatusSchema: () => NV, + TextContentSchema: () => AI, + TextResourceContentsSchema: () => FM, + TitledMultiSelectEnumSchemaSchema: () => QM, + TitledSingleSelectEnumSchemaSchema: () => GM, + ToolAnnotationsSchema: () => eV, + ToolChoiceSchema: () => pV, + ToolExecutionSchema: () => tV, + ToolListChangedNotificationSchema: () => iV, + ToolResultContentSchema: () => fV, + ToolSchema: () => j6, + ToolUseContentSchema: () => KH, + UnsubscribeRequestParamsSchema: () => BH, + UnsubscribeRequestSchema: () => OH, + UntitledMultiSelectEnumSchemaSchema: () => ZM, + UntitledSingleSelectEnumSchemaSchema: () => VM, + })), + (Eoa = [ + { + rung: "http-method", + order: 1, + evaluatedAt: "edge", + codes: [-32000], + conformance: [], + rationale: + "The modern era is POST-only; GET/DELETE are body-less 2025-era session operations and are method-routed to legacy serving (405 when legacy serving is not configured), before any body is read.", + }, + { + rung: "jsonrpc-shape", + order: 2, + evaluatedAt: "edge", + codes: [fa.InvalidRequest], + conformance: ["server-stateless"], + rationale: + "The body must be a JSON-RPC request or notification: posted responses and batch arrays containing a modern or invalid element are rejected before classification (element-wise batch rule); all-legacy arrays stay legacy traffic.", + }, + { + rung: "era-classification", + order: 3, + evaluatedAt: "edge", + codes: [jV, fa.UnsupportedProtocolVersion], + conformance: [ + "server-stateless", + "http-header-validation", + "http-custom-header-server-validation", + ], + rationale: + "Body-primary era classification with the protocol-version header as a cross-check; a header/body disagreement is rejected with -32020 (HeaderMismatch), and an envelope-less request on a modern-only endpoint is answered with the unsupported-protocol-version error naming the supported revisions.", + }, + { + rung: "envelope", + order: 4, + evaluatedAt: "edge", + codes: [fa.InvalidParams], + conformance: ["server-stateless"], + rationale: + "A present envelope claim with a malformed envelope — and a missing envelope on a request whose protocol-version header names a modern revision — is an invalid-params rejection naming the offending or missing key(s); never a silent fall back to legacy handling. This is the only place an invalid-params rejection maps to HTTP 400.", + }, + { + rung: "method-registry", + order: 5, + evaluatedAt: "dispatch", + codes: [fa.MethodNotFound], + conformance: ["server-stateless"], + rationale: + "Method existence outranks parameter validity: a method absent from the negotiated revision’s registry (or with no handler installed) answers method-not-found before params or capabilities are looked at.", + }, + { + rung: "request-params", + order: 6, + evaluatedAt: "dispatch", + codes: [fa.InvalidParams], + conformance: [], + rationale: + "Per-method params validation; emitted in-band by the dispatch layer (HTTP 200), never via the ladder status table.", + }, + { + rung: "standard-header-validation", + order: 7, + evaluatedAt: "pre-dispatch", + codes: [jV], + conformance: ["http-header-validation"], + rationale: + "SEP-2243 standard `MCP-Protocol-Version` / `Mcp-Method` / `Mcp-Name` headers — presence, sentinel decoding, and `Mcp-Name` ↔ body cross-check — are validated by the HTTP entry on a modern-classified request after the supported-revision gate and before dispatch. The spec requires `MCP-Protocol-Version` and `Mcp-Method` on every modern *request* POST (`Mcp-Name` only for the methods that mirror `params.name` / `params.uri` / `params.taskId`, see `MCP_NAME_HEADER_SOURCE`) and names them in that order, so a request missing several is answered by the earliest. Notification POSTs are exempt: the presence half runs on requests only, so a modern-enveloped notification is dispatched even with no standard headers at all. The classifier’s own header-mismatch cells (protocol-version, `Mcp-Method` mismatch) stay on the edge `era-classification` rung; this rung carries the entry-layer presence/`Mcp-Name` half — including the missing `MCP-Protocol-Version` cell, which cannot live on the edge rung without breaking body-primary classification. Evaluated before the capability gate, the factory call, and the `Mcp-Param-*` rung so a request that fails several rungs is answered by the standard-header rung first. The documented order (after method-registry 5 and request-params 6) is NOT the observed precedence: serveModern evaluates this rung immediately after the supported-revision gate, so a request that also fails a dispatch rung is answered here before the dispatch rungs (5–6) are consulted.", + }, + { + rung: "client-capabilities", + order: 8, + evaluatedAt: "pre-dispatch", + codes: [fa.MissingRequiredClientCapability], + conformance: ["server-stateless"], + rationale: + "The capability requirement is checked by the HTTP entry, pre-dispatch, against the validated envelope the classifier produced — pinning the spec-mandated HTTP 400 independently of how dispatch- and handler-produced errors are mapped. The documented order (after method resolution and params validation) is preserved observably only while the requirement table is empty: once a served method gains a requirement entry, a request that is missing the capability and would also fail a dispatch rung is answered by this gate first, so the entry must consult the method registry before the gate if the documented precedence is to stay observable.", + }, + { + rung: "param-header-validation", + order: 9, + evaluatedAt: "pre-dispatch", + codes: [jV], + conformance: ["http-custom-header-server-validation"], + rationale: + "SEP-2243 `Mcp-Param-*` headers are validated against the named tool’s `x-mcp-header` declarations and the body `arguments` after the tool registry is known and before dispatch reaches the handler; a missing/disagreeing/malformed header is rejected 400 / -32020 with the same shape as the standard-header cross-checks. The documented order (after method resolution and params validation) is preserved observably only when the body `arguments` would otherwise validate: the check runs pre-dispatch, so a `tools/call` that fails BOTH this rung and a dispatch-time rung (e.g. order-6 `request-params`, -32602) is answered by this gate first with 400 / -32020, not by the earlier-ordered rung.", + }, + ]), + (Ioa = { + [fa.ParseError]: 400, + [fa.InvalidRequest]: 400, + [fa.MethodNotFound]: 404, + [fa.UnsupportedProtocolVersion]: 400, + [fa.MissingRequiredClientCapability]: 400, + [jV]: 400, + })); + qJn = /\\\.\\d\{(\d+)\}/; + YJn = new Set([ + "$comment", + "deprecated", + "description", + "examples", + "readOnly", + "title", + "writeOnly", + ]); + ((KJn = new Set(["$schema", ...Object.keys(RI.shape.requestedSchema.shape)])), + (gUt = { + string: KV([TI, VM, GM, qM]), + number: KV([kI]), + integer: KV([kI]), + boolean: KV([HM]), + array: KV([ZM, QM]), + }), + (JJn = new Set(TI.shape.format.unwrap().options))); + ((Toa = Object.assign(njn, { + elicit(e) { + try { + return { method: "elicitation/create", params: tjn(e) }; + } catch (t) { + throw t instanceof Bf ? TypeError(t.message, { cause: t }) : t; + } + }, + elicitUrl(e) { + return { method: "elicitation/create", params: { ...e, mode: "url" } }; + }, + createMessage(e) { + return { method: "sampling/createMessage", params: e }; + }, + listRoots() { + return { method: "roots/list" }; + }, + })), + (rjn = [ + "AnnotationsSchema", + "AudioContentSchema", + "BaseMetadataSchema", + "BlobResourceContentsSchema", + "BooleanSchemaSchema", + "CallToolRequestSchema", + "CallToolRequestParamsSchema", + "CallToolResultSchema", + "CancelledNotificationSchema", + "CancelledNotificationParamsSchema", + "CancelTaskRequestSchema", + "CancelTaskResultSchema", + "ClientCapabilitiesSchema", + "ClientNotificationSchema", + "ClientRequestSchema", + "ClientResultSchema", + "CompatibilityCallToolResultSchema", + "CompleteRequestSchema", + "CompleteRequestParamsSchema", + "CompleteResultSchema", + "ContentBlockSchema", + "CreateMessageRequestSchema", + "CreateMessageRequestParamsSchema", + "CreateMessageResultSchema", + "CreateMessageResultWithToolsSchema", + "CreateTaskResultSchema", + "CursorSchema", + "DiscoverRequestSchema", + "DiscoverResultSchema", + "ElicitationCompleteNotificationSchema", + "ElicitationCompleteNotificationParamsSchema", + "ElicitRequestSchema", + "ElicitRequestFormParamsSchema", + "ElicitRequestParamsSchema", + "ElicitRequestURLParamsSchema", + "ElicitResultSchema", + "EmbeddedResourceSchema", + "EmptyResultSchema", + "EnumSchemaSchema", + "GetPromptRequestSchema", + "GetPromptRequestParamsSchema", + "GetPromptResultSchema", + "GetTaskPayloadRequestSchema", + "GetTaskPayloadResultSchema", + "GetTaskRequestSchema", + "GetTaskResultSchema", + "IconSchema", + "IconsSchema", + "ImageContentSchema", + "ImplementationSchema", + "InitializedNotificationSchema", + "InitializeRequestSchema", + "InitializeRequestParamsSchema", + "InitializeResultSchema", + "JSONArraySchema", + "JSONObjectSchema", + "JSONRPCErrorResponseSchema", + "JSONRPCMessageSchema", + "JSONRPCNotificationSchema", + "JSONRPCRequestSchema", + "JSONRPCResponseSchema", + "JSONRPCResultResponseSchema", + "JSONValueSchema", + "LegacyTitledEnumSchemaSchema", + "ListPromptsRequestSchema", + "ListPromptsResultSchema", + "ListResourcesRequestSchema", + "ListResourcesResultSchema", + "ListResourceTemplatesRequestSchema", + "ListResourceTemplatesResultSchema", + "ListRootsRequestSchema", + "ListRootsResultSchema", + "ListTasksRequestSchema", + "ListTasksResultSchema", + "ListToolsRequestSchema", + "ListToolsResultSchema", + "LoggingLevelSchema", + "LoggingMessageNotificationSchema", + "LoggingMessageNotificationParamsSchema", + "ModelHintSchema", + "ModelPreferencesSchema", + "MultiSelectEnumSchemaSchema", + "NotificationSchema", + "NumberSchemaSchema", + "PaginatedRequestSchema", + "PaginatedRequestParamsSchema", + "PaginatedResultSchema", + "PingRequestSchema", + "PrimitiveSchemaDefinitionSchema", + "ProgressSchema", + "ProgressNotificationSchema", + "ProgressNotificationParamsSchema", + "ProgressTokenSchema", + "PromptSchema", + "PromptArgumentSchema", + "PromptListChangedNotificationSchema", + "PromptMessageSchema", + "PromptReferenceSchema", + "ReadResourceRequestSchema", + "ReadResourceRequestParamsSchema", + "ReadResourceResultSchema", + "RelatedTaskMetadataSchema", + "RequestSchema", + "RequestIdSchema", + "RequestMetaSchema", + "ResourceSchema", + "ResourceContentsSchema", + "ResourceLinkSchema", + "ResourceListChangedNotificationSchema", + "ResourceRequestParamsSchema", + "ResourceTemplateSchema", + "ResourceTemplateReferenceSchema", + "ResourceUpdatedNotificationSchema", + "ResourceUpdatedNotificationParamsSchema", + "ResultMetaObjectSchema", + "ResultSchema", + "RoleSchema", + "RootSchema", + "RootsListChangedNotificationSchema", + "SamplingContentSchema", + "SamplingMessageSchema", + "SamplingMessageContentBlockSchema", + "ServerCapabilitiesSchema", + "ServerNotificationSchema", + "ServerRequestSchema", + "ServerResultSchema", + "SetLevelRequestSchema", + "SetLevelRequestParamsSchema", + "SingleSelectEnumSchemaSchema", + "StringSchemaSchema", + "SubscribeRequestSchema", + "SubscribeRequestParamsSchema", + "SubscriptionFilterSchema", + "SubscriptionsAcknowledgedNotificationSchema", + "SubscriptionsAcknowledgedNotificationParamsSchema", + "SubscriptionsListenRequestSchema", + "SubscriptionsListenRequestParamsSchema", + "SubscriptionsListenResultSchema", + "SubscriptionsListenResultMetaSchema", + "TaskAugmentedRequestParamsSchema", + "TaskCreationParamsSchema", + "TaskMetadataSchema", + "TaskSchema", + "TaskStatusSchema", + "TaskStatusNotificationSchema", + "TaskStatusNotificationParamsSchema", + "TextContentSchema", + "TextResourceContentsSchema", + "TitledMultiSelectEnumSchemaSchema", + "TitledSingleSelectEnumSchemaSchema", + "ToolSchema", + "ToolAnnotationsSchema", + "ToolChoiceSchema", + "ToolExecutionSchema", + "ToolListChangedNotificationSchema", + "ToolResultContentSchema", + "ToolUseContentSchema", + "UnsubscribeRequestSchema", + "UnsubscribeRequestParamsSchema", + "UntitledMultiSelectEnumSchemaSchema", + "UntitledSingleSelectEnumSchemaSchema", + ]), + (ojn = { + IdJagTokenExchangeResponseSchema: qV, + OAuthClientInformationFullSchema: WV, + OAuthClientInformationSchema: XV, + OAuthClientMetadataSchema: QV, + OAuthClientRegistrationErrorSchema: Lie, + OAuthErrorResponseSchema: ZV, + OAuthMetadataSchema: WM, + OAuthProtectedResourceMetadataSchema: _V, + OAuthTokenRevocationRequestSchema: Bie, + OAuthTokensSchema: GV, + OpenIdProviderDiscoveryMetadataSchema: VV, + OpenIdProviderMetadataSchema: HV, + }), + (ZUt = {}), + (QUt = {})); + for (let e of rjn) XUt(e, _Jn[e]); + for (let [e, t] of Object.entries(ojn)) XUt(e, t); + ((ajn = Object.freeze(ZUt)), (ijn = Object.freeze(QUt))); + ((ljn = [mI, wM, hI, SM]), (cjn = ["inputResponses", "requestState"])); + ((ujn = YUt(void 0)), + (YTe = class { + _transport; + _requestMessageId = 0; + _requestHandlers = new Map(); + _customSchemaRequestMethods = new Set(); + _requestHandlerAbortControllers = new Map(); + _notificationHandlers = new Map(); + _responseHandlers = new Map(); + _progressHandlers = new Map(); + _timeoutInfo = new Map(); + _pendingDebouncedNotifications = new Set(); + _negotiatedProtocolVersion; + static { + djn = (e, t) => { + e._negotiatedProtocolVersion = t; + }; + } + _supportedProtocolVersions; + onclose; + onerror; + fallbackRequestHandler; + fallbackNotificationHandler; + constructor(e) { + ((this._options = e), + (this._supportedProtocolVersions = + e?.supportedProtocolVersions ?? sie), + this.setNotificationHandler("notifications/cancelled", (t) => { + this._oncancel(t); + }), + this.setNotificationHandler("notifications/progress", (t) => { + this._onprogress(t); + }), + this.setRequestHandler("ping", (t) => ({}))); + } + _shouldDropInbound(e) {} + _outboundMetaEnvelope() {} + _envelopeOutbound(e) { + let t = this._outboundMetaEnvelope(); + if (t === void 0) return e; + let n = e.params ?? {}; + return { ...e, params: { ...n, _meta: { ...t, ...n._meta } } }; + } + _resolveNonCompleteResult(e, t) { + return Promise.reject( + new Rd( + Lf.UnsupportedResultType, + `Unsupported result type '${e.kind}' for ${t.request.method}`, + { resultType: e.kind, method: t.request.method }, + ), + ); + } + _getRequestHandler(e) { + return this._requestHandlers.get(e); + } + async _oncancel(e) { + if (e.params.requestId === void 0) return; + this._requestHandlerAbortControllers + .get(e.params.requestId) + ?.abort(e.params.reason); + } + _setupTimeout(e, t, n, r, o = !1) { + this._timeoutInfo.set(e, { + timeoutId: setTimeout(r, t), + startTime: Date.now(), + timeout: t, + maxTotalTimeout: n, + resetTimeoutOnProgress: o, + onTimeout: r, + }); + } + _resetTimeout(e) { + let t = this._timeoutInfo.get(e); + if (!t) return !1; + let n = Date.now() - t.startTime; + if (t.maxTotalTimeout && n >= t.maxTotalTimeout) + throw ( + this._timeoutInfo.delete(e), + new Rd(Lf.RequestTimeout, "Maximum total timeout exceeded", { + maxTotalTimeout: t.maxTotalTimeout, + totalElapsed: n, + }) + ); + return ( + clearTimeout(t.timeoutId), + (t.timeoutId = setTimeout(t.onTimeout, t.timeout)), + !0 + ); + } + _cleanupTimeout(e) { + let t = this._timeoutInfo.get(e); + if (t) (clearTimeout(t.timeoutId), this._timeoutInfo.delete(e)); + } + async connect(e) { + this._transport = e; + let t = this.transport?.onclose; + this._transport.onclose = () => { + try { + t?.(); + } finally { + this._onclose(); + } + }; + let n = this.transport?.onerror; + this._transport.onerror = (o) => { + (n?.(o), this._onerror(o)); + }; + let r = this._transport?.onmessage; + ((this._transport.onmessage = (o, a) => { + if ((r?.(o, a), UTe(o) || GUt(o))) this._onresponse(o); + else if (HUt(o)) this._onrequest(o, a); + else if (VUt(o)) this._onnotification(o, a); + else + this._onerror(Error(`Unknown message type: ${JSON.stringify(o)}`)); + }), + e.setSupportedProtocolVersions?.(this._supportedProtocolVersions), + await this._transport.start()); + } + _onclose() { + let e = this._responseHandlers; + ((this._responseHandlers = new Map()), + this._progressHandlers.clear(), + this._pendingDebouncedNotifications.clear()); + for (let r of this._timeoutInfo.values()) clearTimeout(r.timeoutId); + this._timeoutInfo.clear(); + let t = this._requestHandlerAbortControllers; + this._requestHandlerAbortControllers = new Map(); + let n = new Rd(Lf.ConnectionClosed, "Connection closed"); + this._transport = void 0; + try { + this.onclose?.(); + } finally { + for (let r of e.values()) r(n); + for (let r of t.values()) r.abort(n); + } + } + _onerror(e) { + this.onerror?.(e); + } + _onnotification(e, t) { + let { message: n } = yUt(e, "notification"), + r = this._negotiatedWireCodec(); + if ( + t?.classification === void 0 && + this._shouldDropInbound(e) === "drop" + ) + return; + if (t?.classification !== void 0) { + let i = fUt(t.classification); + if (i !== r.era) { + this._onerror( + Error( + `Era mismatch on inbound notification '${n.method}': classified as ${i} but this instance serves ${r.era}`, + ), + ); + return; + } + } + if (DTe(n.method) && !r.hasNotificationMethod(n.method)) return; + let o = this._notificationHandlers.get(n.method), + a = this.fallbackNotificationHandler; + if (o === void 0 && a === void 0) return; + Promise.resolve() + .then(() => (o === void 0 ? a(n) : o(n, r))) + .catch((i) => + this._onerror( + Error(`Uncaught error in notification handler: ${i}`), + ), + ); + } + _onrequest(e, t) { + let { message: n, lifted: r } = yUt(e, "request"), + o = this._negotiatedWireCodec(); + if ( + t?.classification === void 0 && + this._shouldDropInbound(e) === "drop" + ) { + this._onerror( + Error( + `Dropped inbound request '${e.method}': not servable on this connection's protocol era`, + ), + ); + return; + } + let a = this._transport, + i = (g, v, y) => { + let x = { + jsonrpc: "2.0", + id: n.id, + error: { code: g, message: v, ...(y !== void 0 && { data: y }) }, + }; + a?.send(x).catch((A) => + this._onerror(Error(`Failed to send an error response: ${A}`)), + ); + }; + if (t?.classification !== void 0) { + let g = fUt(t.classification); + if (g !== o.era) { + this._onerror( + Error( + `Era mismatch on inbound request '${n.method}': classified as ${g} but this instance serves ${o.era}`, + ), + ); + let v = t.classification.revision ?? g; + i( + fa.UnsupportedProtocolVersion, + `Unsupported protocol version: ${v}`, + { supported: this._supportedProtocolVersions, requested: v }, + ); + return; + } + } + if ( + MTe(n.method) && + !o.hasRequestMethod(n.method) && + !(mUt(n.method) && this._customSchemaRequestMethods.has(n.method)) + ) { + i(fa.MethodNotFound, "Method not found"); + return; + } + let s = + this._requestHandlers.get(n.method) ?? this.fallbackRequestHandler; + if (s === void 0) { + i(fa.MethodNotFound, "Method not found"); + return; + } + let l = o.checkInboundEnvelope(r); + if (l !== void 0) { + i(fa.InvalidParams, l); + return; + } + let c = (g, v) => + this._notificationViaCodec( + this._resolveOutboundCodec(g.method), + g, + { ...v, relatedRequestId: n.id }, + ), + u = (g, v, y) => + this._requestWithSchemaViaCodec( + this._resolveOutboundCodec(g.method), + g, + v, + { ...y, relatedRequestId: n.id }, + ), + d = new AbortController(); + this._requestHandlerAbortControllers.set(n.id, d); + let p = r.inputResponses === void 0 ? void 0 : pjn(r.inputResponses), + f = { + sessionId: a?.sessionId, + mcpReq: { + id: n.id, + method: n.method, + _meta: n.params?._meta, + ...(r.envelope !== void 0 && { envelope: r.envelope }), + ...(p !== void 0 && { inputResponses: p.accepted }), + ...(p !== void 0 && + p.droppedKeys.length > 0 && { + droppedInputResponseKeys: p.droppedKeys, + }), + requestState: + r.requestState === void 0 ? ujn : YUt(r.requestState), + signal: d.signal, + send: (g, v, y) => { + let x = this._resolveOutboundCodec(g.method); + if ((this._assertOutboundRequestInEra(x, g.method), NTe(v))) + return u(g, v, y); + let A = vUt(x, g.method); + if (A === void 0) + throw TypeError( + `'${g.method}' is not a spec method; pass a result schema as the second argument to ctx.mcpReq.send().`, + ); + return u(g, A, v); + }, + notify: c, + }, + http: t?.authInfo ? { authInfo: t.authInfo } : void 0, + }, + m = this.buildContext(f, t); + Promise.resolve() + .then(() => s(n, m)) + .then( + async (g) => { + if (d.signal.aborted) return; + let v; + try { + v = o.encodeResult(n.method, g, this._outboundServerInfo()); + } catch (x) { + (this._onerror( + Error(`Failed to encode result for ${n.method}: ${x}`), + ), + i(fa.InternalError, "Internal error")); + return; + } + let y = { result: v, jsonrpc: "2.0", id: n.id }; + await a?.send(y); + }, + async (g) => { + if (d.signal.aborted) return; + let v = Number.isSafeInteger(g.code) ? g.code : fa.InternalError, + y = { + jsonrpc: "2.0", + id: n.id, + error: { + code: o.encodeErrorCode(v), + message: g.message ?? "Internal error", + ...(g.data !== void 0 && { data: g.data }), + }, + }; + await a?.send(y); + }, + ) + .catch((g) => this._onerror(Error(`Failed to send response: ${g}`))) + .finally(() => { + if (this._requestHandlerAbortControllers.get(n.id) === d) + this._requestHandlerAbortControllers.delete(n.id); + }); + } + _onprogress(e) { + let { progressToken: t, ...n } = e.params, + r = Number(t), + o = this._progressHandlers.get(r); + if (!o) { + this._onerror( + Error( + `Received a progress notification for an unknown token: ${JSON.stringify(e)}`, + ), + ); + return; + } + let a = this._responseHandlers.get(r), + i = this._timeoutInfo.get(r); + if (i && a && i.resetTimeoutOnProgress) + try { + this._resetTimeout(r); + } catch (s) { + (this._responseHandlers.delete(r), + this._progressHandlers.delete(r), + this._cleanupTimeout(r), + a(s)); + return; + } + o(n); + } + _onresponse(e) { + let t = Number(e.id), + n = this._responseHandlers.get(t); + if (n === void 0) { + this._onerror( + Error( + `Received a response for an unknown message ID: ${JSON.stringify(e)}`, + ), + ); + return; + } + if ( + (this._responseHandlers.delete(t), + this._cleanupTimeout(t), + this._progressHandlers.delete(t), + UTe(e)) + ) + n(e); + else n(Bf.fromError(e.error.code, e.error.message, e.error.data)); + } + get transport() { + return this._transport; + } + async close() { + await this._transport?.close(); + } + request(e, t, n) { + let r = this._resolveOutboundCodec(e.method); + if (NTe(t)) { + if (!mUt(e.method)) this._assertOutboundRequestInEra(r, e.method); + return this._requestWithSchemaViaCodec(r, e, t, n); + } + this._assertOutboundRequestInEra(r, e.method); + let o = vUt(r, e.method); + if (o === void 0) + throw TypeError( + `'${e.method}' is not a spec method; pass a result schema as the second argument to request().`, + ); + return this._requestWithSchemaViaCodec(r, e, o, t); + } + _negotiatedWireCodec() { + return $V(this._negotiatedProtocolVersion); + } + _wireCodec() { + return this._negotiatedWireCodec(); + } + _resolveOutboundCodec(e) { + if (this._negotiatedProtocolVersion === void 0) { + let t = sjn(e); + if (t) return t; + } + return this._negotiatedWireCodec(); + } + _assertOutboundRequestInEra(e, t) { + if (MTe(t) && !e.hasRequestMethod(t)) + throw new Rd( + Lf.MethodNotSupportedByProtocolVersion, + `Method '${t}' is not supported by the negotiated protocol version (wire era ${e.era})`, + { method: t, era: e.era }, + ); + } + _requestWithSchema(e, t, n) { + let r = this._resolveOutboundCodec(e.method); + return ( + this._assertOutboundRequestInEra(r, e.method), + this._requestWithSchemaViaCodec(r, e, t, n) + ); + } + _requestWithSchemaViaCodec(e, t, n, r) { + let { + relatedRequestId: o, + resumptionToken: a, + onresumptiontoken: i, + headers: s, + } = r ?? {}, + l = Date.now(), + c, + u; + return new Promise((d, p) => { + let f = (E) => { + p(E); + }; + if (!this._transport) { + f(Error("Not connected")); + return; + } + if (this._options?.enforceStrictCapabilities === !0) + try { + this.assertCapabilityForMethod(t.method); + } catch (E) { + f(E); + return; + } + if (r?.signal?.aborted) { + let E = r.signal.reason; + throw E instanceof Rd ? E : new Rd(Lf.RequestTimeout, String(E)); + } + let m = + e.era === QTe && this._transport.hasPerRequestStream === !0 + ? new AbortController() + : void 0, + g = this._requestMessageId++; + u = g; + let v = { ...t, jsonrpc: "2.0", id: g }; + if (r?.onprogress) + (this._progressHandlers.set(g, r.onprogress), + (v.params = { + ...t.params, + _meta: { ...t.params?._meta, progressToken: g }, + })); + let y = this._envelopeOutbound(v), + x = !1, + A = (E) => { + if (x) return; + if ((this._progressHandlers.delete(g), m === void 0)) { + if (t.method !== "initialize") + this._transport + ?.send( + this._envelopeOutbound({ + jsonrpc: "2.0", + method: "notifications/cancelled", + params: { requestId: g, reason: String(E) }, + }), + { + relatedRequestId: o, + resumptionToken: a, + onresumptiontoken: i, + }, + ) + .catch((T) => + this._onerror(Error(`Failed to send cancellation: ${T}`)), + ); + } else m.abort(); + p(E instanceof Rd ? E : new Rd(Lf.RequestTimeout, String(E))); + }; + (this._responseHandlers.set(g, (E) => { + if (r?.signal?.aborted) return; + if (((x = !0), E instanceof Error)) return p(E); + let T; + try { + T = e.decodeResult(t.method, E.result); + } catch (k) { + return p(k instanceof Error ? k : Error(String(k))); + } + if (T.kind === "invalid") return p(T.error); + if (T.kind === "input_required") { + if (r?.allowInputRequired === !0) return d(fjn(T)); + let k = { + codec: e, + request: t, + resultSchema: n, + options: r, + flowStartedAt: l, + retry: (L, O) => + this._requestWithSchemaViaCodec( + e, + L === void 0 + ? { method: t.method } + : { method: t.method, params: L }, + n, + O, + ), + }; + return d(this._resolveNonCompleteResult(T, k)); + } + let I = T.result; + LTe(n, I).then((k) => { + if (k.success) d(k.data); + else + p( + new Rd( + Lf.InvalidResult, + `Invalid result for ${t.method}: ${k.error}`, + ), + ); + }, p); + }), + (c = () => A(r?.signal?.reason)), + r?.signal?.addEventListener("abort", c, { once: !0 })); + let w = r?.timeout ?? WUt, + C = () => + A(new Rd(Lf.RequestTimeout, "Request timed out", { timeout: w })); + (this._setupTimeout( + g, + w, + r?.maxTotalTimeout, + C, + r?.resetTimeoutOnProgress ?? !1, + ), + this._transport + .send(y, { + relatedRequestId: o, + resumptionToken: a, + onresumptiontoken: i, + headers: s, + requestSignal: m?.signal, + }) + .catch((E) => { + (this._progressHandlers.delete(g), p(E)); + })); + }).finally(() => { + if (c) r?.signal?.removeEventListener("abort", c); + if (u !== void 0) + (this._responseHandlers.delete(u), this._cleanupTimeout(u)); + }); + } + async notification(e, t) { + return await this._notificationViaCodec( + this._resolveOutboundCodec(e.method), + e, + t, + ); + } + async _notificationViaCodec(e, t, n) { + if (!this._transport) throw new Rd(Lf.NotConnected, "Not connected"); + if (DTe(t.method) && !e.hasNotificationMethod(t.method)) + throw new Rd( + Lf.MethodNotSupportedByProtocolVersion, + `Notification '${t.method}' is not supported by the negotiated protocol version (wire era ${e.era})`, + { method: t.method, era: e.era }, + ); + this.assertNotificationCapability(t.method); + let r = this._envelopeOutbound({ jsonrpc: "2.0", ...t }); + if ( + (this._options?.debouncedNotificationMethods ?? []).includes( + t.method, + ) && + !t.params && + n?.relatedRequestId === void 0 + ) { + if (this._pendingDebouncedNotifications.has(t.method)) return; + (this._pendingDebouncedNotifications.add(t.method), + Promise.resolve().then(() => { + if ( + (this._pendingDebouncedNotifications.delete(t.method), + !this._transport) + ) + return; + this._transport?.send(r, n).catch((o) => this._onerror(o)); + })); + return; + } + await this._transport.send(r, n); + } + setRequestHandler(e, t, n) { + this.assertRequestHandlerCapability(e); + let r; + if (typeof t === "function") { + if (!MTe(e)) + throw TypeError( + `'${e}' is not a spec request method; pass schemas as the second argument to setRequestHandler().`, + ); + r = (o, a) => { + let i = this._negotiatedWireCodec(), + s = i.validateRequest(e, o); + if (!s.ok && s.reason === "not-in-era") + s = i.validateInputRequest(e, o); + if (!s.ok) { + if (s.reason === "not-in-era") + throw new Bf( + fa.InternalError, + `No wire schema for ${e} in the resolved era`, + ); + throw Error(s.message); + } + return Promise.resolve(t(s.value, a)); + }; + } else if (n) + r = async (o, a) => { + let i = await LTe(t.params, { ...o.params }); + if (!i.success) + throw new Bf( + fa.InvalidParams, + `Invalid params for ${e}: ${i.error}`, + ); + return n(i.data, a); + }; + else throw TypeError("setRequestHandler: handler is required"); + if (typeof t === "function") this._customSchemaRequestMethods.delete(e); + else this._customSchemaRequestMethods.add(e); + this._requestHandlers.set(e, this._wrapHandler(e, r)); + } + _wrapHandler(e, t) { + return t; + } + _outboundServerInfo() {} + removeRequestHandler(e) { + (this._requestHandlers.delete(e), + this._customSchemaRequestMethods.delete(e)); + } + assertCanSetRequestHandler(e) { + if (this._requestHandlers.has(e)) + throw Error( + `A request handler for ${e} already exists, which would be overridden`, + ); + } + setNotificationHandler(e, t, n) { + if (typeof t === "function") { + if (!DTe(e)) + throw TypeError( + `'${e}' is not a spec notification method; pass schemas as the second argument to setNotificationHandler().`, + ); + this._notificationHandlers.set(e, (r, o) => { + let a = o.validateNotification(e, r); + if (!a.ok) { + if (a.reason === "not-in-era") + throw new Bf( + fa.InternalError, + `No wire schema for ${e} in the resolved era`, + ); + throw Error(a.message); + } + return Promise.resolve(t(a.value)); + }); + return; + } + if (!n) throw TypeError("setNotificationHandler: handler is required"); + this._notificationHandlers.set(e, async (r) => { + let o = await LTe(t.params, { ...r.params }); + if (!o.success) + throw new Bf( + fa.InvalidParams, + `Invalid params for notification ${e}: ${o.error}`, + ); + await n(o.data, r); + }); + } + removeNotificationHandler(e) { + this._notificationHandlers.delete(e); + } + })); + /*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ ((mjn = XFt((e) => { + var t = + /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g, + n = /\\([\u000b\u0020-\u00ff])/g, + r = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + e.parse = o; + function o(s) { + if (!s) throw TypeError("argument string is required"); + var l = typeof s === "object" ? a(s) : s; + if (typeof l !== "string") + throw TypeError("argument string is required to be a string"); + var c = l.indexOf(";"), + u = c !== -1 ? l.slice(0, c).trim() : l.trim(); + if (!r.test(u)) throw TypeError("invalid media type"); + var d = new i(u.toLowerCase()); + if (c !== -1) { + var p, f, m; + t.lastIndex = c; + while ((f = t.exec(l))) { + if (f.index !== c) throw TypeError("invalid parameter format"); + if ( + ((c += f[0].length), + (p = f[1].toLowerCase()), + (m = f[2]), + m.charCodeAt(0) === 34) + ) { + if (((m = m.slice(1, -1)), m.indexOf("\\") !== -1)) + m = m.replace(n, "$1"); + } + d.parameters[p] = m; + } + if (c !== l.length) throw TypeError("invalid parameter format"); + } + return d; + } + function a(s) { + var l; + if (typeof s.getHeader === "function") l = s.getHeader("content-type"); + else if (typeof s.headers === "object") + l = s.headers && s.headers["content-type"]; + if (typeof l !== "string") + throw TypeError("content-type header is missing from object"); + return l; + } + function i(s) { + ((this.parameters = Object.create(null)), (this.type = s)); + } + })), + (koa = YFt(mjn(), 1))); +}); +function hx(e) { + return e.test.bind(e); +} +function Pjn(e) { + return e % 4 === 0 && (e % 100 !== 0 || e % 400 === 0); +} +function JUt(e) { + let t = e.match(hjn); + if (!t) return !1; + let n = +t[1], + r = +t[2], + o = +t[3]; + return r >= 1 && r <= 12 && o >= 1 && o <= (r == 2 && Pjn(n) ? 29 : gjn[r]); +} +function jUt(e, t) { + let n = t.match(yjn); + if (!n) return !1; + let r = +n[1], + o = +n[2], + a = +n[3], + i = !!n[5]; + return ( + ((r <= 23 && o <= 59 && a <= 59) || (r == 23 && o == 59 && a == 60)) && + (!e || i) + ); +} +function Djn(e) { + let t = e.split(Mjn); + return t.length == 2 && JUt(t[0]) && jUt(!0, t[1]); +} +function Ojn(e) { + return Ljn.test(e) && Bjn.test(e); +} +function Ujn(e) { + if (Fjn.test(e)) return !1; + try { + return (new RegExp(e, "u"), !0); + } catch (t) { + return !1; + } +} +var zoa, + hjn, + gjn, + yjn, + vjn, + bjn, + xjn, + Ajn, + wjn, + Sjn, + Cjn, + Ejn, + Ijn = (e) => { + if (e[0] === '"') return !1; + let [t, n, ...r] = e.split("@"); + if (!t || !n || r.length !== 0 || t.length > 64 || n.length > 253) + return !1; + if (t[0] === "." || t.endsWith(".") || t.includes("..")) return !1; + if ( + !/^[a-z0-9.-]+$/i.test(n) || + !/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t) + ) + return !1; + return n + .split(".") + .every((o) => /^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(o)); + }, + Tjn, + kjn, + Rjn = (e) => + e.length > 1 && + e.length < 80 && + (/^P\d+([.,]\d+)?W$/.test(e) || + (/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e) && + /^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test( + e, + ))), + _oa, + Mjn, + Ljn, + Bjn, + Fjn; +var $Ut = P(() => { + ETe(); + ((zoa = + typeof self < "u" && self.location && self.location.origin !== "null" + ? new URL(self.location.origin + self.location.pathname + location.search) + : new URL("https://github.com/cfworker")), + (hjn = /^(\d\d\d\d)-(\d\d)-(\d\d)$/), + (gjn = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]), + (yjn = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i), + (vjn = + /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i), + (bjn = + /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i), + (xjn = + /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i), + (Ajn = + /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu), + (wjn = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i), + (Sjn = /^(?:\/(?:[^~/]|~0|~1)*)*$/), + (Cjn = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i), + (Ejn = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/), + (Tjn = + /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/), + (kjn = + /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i)); + _oa = { + date: JUt, + time: jUt.bind(void 0, !1), + "date-time": Djn, + duration: Rjn, + uri: Ojn, + "uri-reference": hx(bjn), + "uri-template": hx(xjn), + url: hx(Ajn), + email: Ijn, + hostname: hx(vjn), + ipv4: hx(Tjn), + ipv6: hx(kjn), + regex: Ujn, + uuid: hx(wjn), + "json-pointer": hx(Sjn), + "json-pointer-uri-fragment": hx(Cjn), + "relative-json-pointer": hx(Ejn), + }; + Mjn = /t|\s/i; + ((Ljn = /\/|:/), + (Bjn = + /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i)); + Fjn = /[^\\]\\Z/; +}); +var eNt = P(() => { + $Ut(); +}); +var zjn; +var tNt = P(() => { + zjn = globalThis.crypto; +}); +var tG, Oaa, Faa, Uaa, Naa, zaa, _aa, Haa; +var nNt = P(() => { + KUt(); + eNt(); + tNt(); + ((tG = class extends Error { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.OAuthClientFlowError", + }); + } + static [Symbol.hasInstance](e) { + return _g(this, e); + } + static isInstance(e) { + if (typeof this !== "function") + throw TypeError( + "isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`", + ); + return _g(this, e); + } + constructor(e) { + super(e); + ((this.name = new.target.name), PI(this, new.target)); + } + }), + (Oaa = class extends tG { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.IssuerMismatchError", + }); + } + kind; + expected; + received; + constructor(e, t, n) { + super( + `Issuer mismatch in ${e === "metadata" ? "authorization server metadata (RFC 8414 §3.3)" : "authorization response (RFC 9207)"}: expected ${JSON.stringify(t)}, received ${JSON.stringify(n)}`, + ); + ((this.kind = e), (this.expected = t), (this.received = n)); + } + }), + (Faa = class extends tG { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.RegistrationRejectedError", + }); + } + status; + body; + submittedMetadata; + constructor(e) { + super( + `Dynamic Client Registration rejected (HTTP ${e.status}): ${e.body}`, + ); + ((this.status = e.status), + (this.body = e.body), + (this.submittedMetadata = e.submittedMetadata)); + } + }), + (Uaa = class extends tG { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.InsecureTokenEndpointError", + }); + } + tokenEndpoint; + constructor(e) { + super( + `Refusing to send credentials to non-https token endpoint '${e}'. OAuth token requests MUST use TLS (localhost / *.localhost / 127.0.0.1 / ::1 are exempt).`, + ); + this.tokenEndpoint = e; + } + }), + (Naa = class extends tG { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.AuthorizationServerMismatchError", + }); + } + constructor(e, t) { + super( + `Authorization server mismatch: credentials are bound to ${JSON.stringify(e)} but this call resolved ${JSON.stringify(t)}; refusing to present them to a different authorization server`, + ); + ((this.recordedIssuer = e), (this.currentIssuer = t)); + } + }), + (zaa = class extends tG { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.InsufficientScopeError", + }); + } + requiredScope; + resourceMetadataUrl; + errorDescription; + constructor(e) { + super( + `Insufficient scope${e.requiredScope ? `: required "${e.requiredScope}"` : ""}`, + ); + ((this.requiredScope = e.requiredScope), + (this.resourceMetadataUrl = e.resourceMetadataUrl), + (this.errorDescription = e.errorDescription)); + } + }), + (_aa = class extends Error { + static { + Object.defineProperty(this, "mcpBrand", { + value: "mcp.UnauthorizedError", + }); + } + static [Symbol.hasInstance](e) { + return _g(this, e); + } + static isInstance(e) { + if (typeof this !== "function") + throw TypeError( + "isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`", + ); + return _g(this, e); + } + constructor(e) { + super(e ?? "Unauthorized"); + ((this.name = "UnauthorizedError"), PI(this, new.target)); + } + }), + (Haa = class extends Error { + static { + Object.defineProperty(this, "mcpBrand", { value: "mcp.SseError" }); + } + static [Symbol.hasInstance](e) { + return _g(this, e); + } + static isInstance(e) { + if (typeof this !== "function") + throw TypeError( + "isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`", + ); + return _g(this, e); + } + constructor(e, t, n) { + super(`SSE error: ${t}`); + ((this.code = e), (this.event = n), PI(this, new.target)); + } + })); +}); +var zie = P(() => { + RTe(); +}); +class lNt { + _eventSlots = new Map(); + setHandler(e, t) { + let n = this._ensureEventSlot(e); + if (n.onHandler && t) + console.warn( + `[MCP Apps] on${String(e)} handler replaced. Use addEventListener("${String(e)}", …) to add multiple listeners without replacing.`, + ); + n.onHandler = t; + } + getHandler(e) { + return this._eventSlots.get(e)?.onHandler; + } + addEventListener(e, t) { + this._ensureEventSlot(e).listeners.push(t); + } + removeEventListener(e, t) { + let n = this._eventSlots.get(e); + if (!n) return; + let r = n.listeners.indexOf(t); + if (r !== -1) n.listeners.splice(r, 1); + } + dispatch(e, t) { + let n = this._eventSlots.get(e); + if (!n) return; + n.onHandler?.(t); + for (let r of [...n.listeners]) r(t); + } + _ensureEventSlot(e) { + let t = this._eventSlots.get(e); + if (!t) ((t = { listeners: [] }), this._eventSlots.set(e, t)); + return t; + } +} +class cNt { + _methods = new Set(); + claim(e, t) { + if (this._methods.has(e)) + throw Error( + `Handler for "${e}" already registered (via ${t}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`, + ); + this._methods.add(e); + } + replace(e) { + this._methods.add(e); + } + release(e) { + this._methods.delete(e); + } + has(e) { + return this._methods.has(e); + } +} +function oNt(e, t) { + let [n, r] = t, + o = n?.shape; + if (typeof o?.method?.value !== "string") return; + let a = o.method.value, + i = e === "request" ? "setRequestHandler" : "setNotificationHandler"; + if (!rNt.has(i)) + (rNt.add(i), + console.warn( + `[ext-apps] ${i}(Schema, handler) is deprecated; use ${i}("${a}", { params: Schema.shape.params }, handler).`, + )); + let s = r; + return [ + a, + { params: o.params }, + e === "request" + ? (l, c) => s({ method: a, params: l }, _jn(c)) + : (l) => s({ method: a, params: l }), + ]; +} +function _jn(e) { + return { + signal: e.mcpReq.signal, + requestId: e.mcpReq.id, + sessionId: e.sessionId, + _meta: e.mcpReq._meta, + sendRequest: e.mcpReq.send, + sendNotification: e.mcpReq.notify, + authInfo: e.http?.authInfo, + }; +} +class _ie { + eventTarget; + eventSource; + messageListener; + constructor(e = window.parent, t) { + ((this.eventTarget = e), + (this.eventSource = t), + (this.messageListener = (n) => { + if (t && n.source !== this.eventSource) { + console.debug("Ignoring message from unknown source", n); + return; + } + let r = bI.safeParse(n.data); + if (r.success) + (console.debug("Parsed message", r.data), this.onmessage?.(r.data)); + else if (n.data?.jsonrpc !== "2.0") + console.debug("Ignoring non-JSON-RPC message", r.error.message, n); + else + (console.error("Failed to parse message", r.error.message, n), + this.onerror?.( + Error("Invalid JSON-RPC message received: " + r.error.message), + )); + })); + } + async start() { + window.addEventListener("message", this.messageListener); + } + async send(e, t) { + if (e.method !== Hjn) console.debug("Sending message", e); + this.eventTarget.postMessage(e, "*"); + } + async close() { + (window.removeEventListener("message", this.messageListener), + this.onclose?.()); + } + onclose; + onerror; + onmessage; + sessionId; + setProtocolVersion; +} +function fNt(e) { + let t = e._meta?.ui?.resourceUri; + if (t === void 0) t = e._meta?.[u$n]; + if (typeof t === "string" && t.startsWith("ui://")) return t; + else if (t !== void 0) + throw Error(`Invalid UI resource URI: ${JSON.stringify(t)}`); + return; +} +function p$n(e, t) { + return JSON.stringify(e) === JSON.stringify(t); +} +var rNt, + uNt = "2026-01-26", + dNt = "ui/notifications/sandbox-proxy-ready", + Hjn = "ui/notifications/tool-input-partial", + Vjn, + nG, + Gjn, + qjn, + Zjn, + Qjn, + Xjn, + Wjn, + Yjn, + KTe, + JTe, + Kjn, + ria, + oia, + aia, + Jjn, + jjn, + iia, + $jn, + aNt, + e$n, + t$n, + n$n, + r$n, + sia, + iNt, + sNt, + o$n, + lia, + cia, + a$n, + i$n, + uia, + dia, + pNt, + pia, + s$n, + l$n, + c$n, + u$n = "ui/resourceUri", + YM = "text/html;profile=mcp-app", + d$n, + Hie; +var KM = P(() => { + nNt(); + zie(); + AM(); + zie(); + zie(); + rNt = new Set(); + ((Vjn = Jt([Ce("light"), Ce("dark")]).describe( + "Color theme preference for the host environment.", + )), + (nG = Jt([Ce("inline"), Ce("fullscreen"), Ce("pip")]).describe( + "Display mode for UI presentation.", + )), + (Gjn = Jt([ + Ce("--color-background-primary"), + Ce("--color-background-secondary"), + Ce("--color-background-tertiary"), + Ce("--color-background-inverse"), + Ce("--color-background-ghost"), + Ce("--color-background-info"), + Ce("--color-background-danger"), + Ce("--color-background-success"), + Ce("--color-background-warning"), + Ce("--color-background-disabled"), + Ce("--color-text-primary"), + Ce("--color-text-secondary"), + Ce("--color-text-tertiary"), + Ce("--color-text-inverse"), + Ce("--color-text-ghost"), + Ce("--color-text-info"), + Ce("--color-text-danger"), + Ce("--color-text-success"), + Ce("--color-text-warning"), + Ce("--color-text-disabled"), + Ce("--color-border-primary"), + Ce("--color-border-secondary"), + Ce("--color-border-tertiary"), + Ce("--color-border-inverse"), + Ce("--color-border-ghost"), + Ce("--color-border-info"), + Ce("--color-border-danger"), + Ce("--color-border-success"), + Ce("--color-border-warning"), + Ce("--color-border-disabled"), + Ce("--color-ring-primary"), + Ce("--color-ring-secondary"), + Ce("--color-ring-inverse"), + Ce("--color-ring-info"), + Ce("--color-ring-danger"), + Ce("--color-ring-success"), + Ce("--color-ring-warning"), + Ce("--font-sans"), + Ce("--font-mono"), + Ce("--font-weight-normal"), + Ce("--font-weight-medium"), + Ce("--font-weight-semibold"), + Ce("--font-weight-bold"), + Ce("--font-text-xs-size"), + Ce("--font-text-sm-size"), + Ce("--font-text-md-size"), + Ce("--font-text-lg-size"), + Ce("--font-heading-xs-size"), + Ce("--font-heading-sm-size"), + Ce("--font-heading-md-size"), + Ce("--font-heading-lg-size"), + Ce("--font-heading-xl-size"), + Ce("--font-heading-2xl-size"), + Ce("--font-heading-3xl-size"), + Ce("--font-text-xs-line-height"), + Ce("--font-text-sm-line-height"), + Ce("--font-text-md-line-height"), + Ce("--font-text-lg-line-height"), + Ce("--font-heading-xs-line-height"), + Ce("--font-heading-sm-line-height"), + Ce("--font-heading-md-line-height"), + Ce("--font-heading-lg-line-height"), + Ce("--font-heading-xl-line-height"), + Ce("--font-heading-2xl-line-height"), + Ce("--font-heading-3xl-line-height"), + Ce("--border-radius-xs"), + Ce("--border-radius-sm"), + Ce("--border-radius-md"), + Ce("--border-radius-lg"), + Ce("--border-radius-xl"), + Ce("--border-radius-full"), + Ce("--border-width-regular"), + Ce("--shadow-hairline"), + Ce("--shadow-sm"), + Ce("--shadow-md"), + Ce("--shadow-lg"), + ]).describe("CSS variable keys available to MCP apps for theming.")), + (qjn = Wt( + Gjn.describe(`Style variables for theming MCP apps. Individual style keys are optional - hosts may provide any subset of these values. Values are strings containing CSS values (colors, sizes, font stacks, etc.). Note: This type uses \`Record\` rather than \`Partial>\` -for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Jt([Q(),cEe()]).describe(`Style variables for theming MCP apps. +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`), + Jt([Q(), cEe()]).describe(`Style variables for theming MCP apps. Individual style keys are optional - hosts may provide any subset of these values. Values are strings containing CSS values (colors, sizes, font stacks, etc.). Note: This type uses \`Record\` rather than \`Partial>\` -for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps. +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`), + ).describe(`Style variables for theming MCP apps. Individual style keys are optional - hosts may provide any subset of these values. Values are strings containing CSS values (colors, sizes, font stacks, etc.). Note: This type uses \`Record\` rather than \`Partial>\` -for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Zjn=Te({method:Ce("ui/open-link"),params:Te({url:Q().describe("URL to open in the host's browser")})}),Qjn=Te({isError:Bt().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough(),Xjn=Te({isError:Bt().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough(),Wjn=Te({isError:Bt().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough(),Yjn=Te({method:Ce("ui/notifications/sandbox-proxy-ready"),params:Te({})}),KTe=Te({connectDomains:je(Q()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket). +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)), + (Zjn = Te({ + method: Ce("ui/open-link"), + params: Te({ url: Q().describe("URL to open in the host's browser") }), + })), + (Qjn = Te({ + isError: Bt() + .optional() + .describe( + "True if the host failed to open the URL (e.g., due to security policy).", + ), + }).passthrough()), + (Xjn = Te({ + isError: Bt() + .optional() + .describe( + "True if the download failed (e.g., user cancelled or host denied).", + ), + }).passthrough()), + (Wjn = Te({ + isError: Bt() + .optional() + .describe( + "True if the host rejected or failed to deliver the message.", + ), + }).passthrough()), + (Yjn = Te({ + method: Ce("ui/notifications/sandbox-proxy-ready"), + params: Te({}), + })), + (KTe = Te({ + connectDomains: je(Q()).optional() + .describe(`Origins for network requests (fetch/XHR/WebSocket). - Maps to CSP \`connect-src\` directive -- Empty or omitted → no network connections (secure default)`),resourceDomains:je(Q()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:je(Q()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:je(Q()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),JTe=Te({camera:Te({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:Te({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:Te({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:Te({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),Kjn=Te({method:Ce("ui/notifications/size-changed"),params:Te({width:Pt().optional().describe("New width in pixels."),height:Pt().optional().describe("New height in pixels.")})}),ria=Te({method:Ce("ui/notifications/tool-input"),params:Te({arguments:Wt(Q(),Sn().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})}),oia=Te({method:Ce("ui/notifications/tool-input-partial"),params:Te({arguments:Wt(Q(),Sn().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})}),aia=Te({method:Ce("ui/notifications/tool-cancelled"),params:Te({reason:Q().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})}),Jjn=Te({fonts:Q().optional()}),jjn=Te({variables:qjn.optional().describe("CSS variables for theming the app."),css:Jjn.optional().describe("CSS blocks that apps can inject.")}),iia=Te({method:Ce("ui/resource-teardown"),params:Te({})}),$jn=Wt(Q(),Sn()),aNt=Te({text:Te({}).optional().describe("Host supports text content blocks."),image:Te({}).optional().describe("Host supports image content blocks."),audio:Te({}).optional().describe("Host supports audio content blocks."),resource:Te({}).optional().describe("Host supports resource content blocks."),resourceLink:Te({}).optional().describe("Host supports resource link content blocks."),structuredContent:Te({}).optional().describe("Host supports structured content.")}),e$n=Te({method:Ce("ui/notifications/request-teardown"),params:Te({}).optional()}),t$n=Te({experimental:Wt(Q(),Wt(Q(),Gr()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:Te({}).optional().describe("Host supports opening external URLs."),downloadFile:Te({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:Te({listChanged:Bt().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:Te({listChanged:Bt().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:Te({}).optional().describe("Host accepts log messages."),sandbox:Te({permissions:JTe.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:KTe.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:aNt.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:aNt.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:Te({tools:Te({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),n$n=Te({experimental:Wt(Q(),Wt(Q(),Gr()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:Te({listChanged:Bt().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:je(nG).optional().describe("Display modes the app supports.")}),r$n=Te({method:Ce("ui/notifications/initialized"),params:Te({}).optional()}),sia=Te({csp:KTe.optional().describe("Content Security Policy configuration for UI resources."),permissions:JTe.optional().describe("Sandbox permissions requested by the UI resource."),domain:Q().optional().describe(`Dedicated origin for view sandbox. +- Empty or omitted → no network connections (secure default)`), + resourceDomains: je(Q()) + .optional() + .describe( + "Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)", + ), + frameDomains: je(Q()) + .optional() + .describe( + "Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)", + ), + baseUriDomains: je(Q()) + .optional() + .describe( + "Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)", + ), + })), + (JTe = Te({ + camera: Te({}) + .optional() + .describe( + "Request camera access.\n\nMaps to Permission Policy `camera` feature.", + ), + microphone: Te({}) + .optional() + .describe( + "Request microphone access.\n\nMaps to Permission Policy `microphone` feature.", + ), + geolocation: Te({}) + .optional() + .describe( + "Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature.", + ), + clipboardWrite: Te({}) + .optional() + .describe( + "Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.", + ), + })), + (Kjn = Te({ + method: Ce("ui/notifications/size-changed"), + params: Te({ + width: Pt().optional().describe("New width in pixels."), + height: Pt().optional().describe("New height in pixels."), + }), + })), + (ria = Te({ + method: Ce("ui/notifications/tool-input"), + params: Te({ + arguments: Wt( + Q(), + Sn().describe("Complete tool call arguments as key-value pairs."), + ) + .optional() + .describe("Complete tool call arguments as key-value pairs."), + }), + })), + (oia = Te({ + method: Ce("ui/notifications/tool-input-partial"), + params: Te({ + arguments: Wt( + Q(), + Sn().describe( + "Partial tool call arguments (incomplete, may change).", + ), + ) + .optional() + .describe("Partial tool call arguments (incomplete, may change)."), + }), + })), + (aia = Te({ + method: Ce("ui/notifications/tool-cancelled"), + params: Te({ + reason: Q() + .optional() + .describe( + 'Optional reason for the cancellation (e.g., "user action", "timeout").', + ), + }), + })), + (Jjn = Te({ fonts: Q().optional() })), + (jjn = Te({ + variables: qjn.optional().describe("CSS variables for theming the app."), + css: Jjn.optional().describe("CSS blocks that apps can inject."), + })), + (iia = Te({ method: Ce("ui/resource-teardown"), params: Te({}) })), + ($jn = Wt(Q(), Sn())), + (aNt = Te({ + text: Te({}).optional().describe("Host supports text content blocks."), + image: Te({}).optional().describe("Host supports image content blocks."), + audio: Te({}).optional().describe("Host supports audio content blocks."), + resource: Te({}) + .optional() + .describe("Host supports resource content blocks."), + resourceLink: Te({}) + .optional() + .describe("Host supports resource link content blocks."), + structuredContent: Te({}) + .optional() + .describe("Host supports structured content."), + })), + (e$n = Te({ + method: Ce("ui/notifications/request-teardown"), + params: Te({}).optional(), + })), + (t$n = Te({ + experimental: Wt( + Q(), + Wt(Q(), Gr()).describe("Experimental features keyed by identifier."), + ) + .optional() + .describe("Experimental features keyed by identifier."), + openLinks: Te({}) + .optional() + .describe("Host supports opening external URLs."), + downloadFile: Te({}) + .optional() + .describe("Host supports file downloads via ui/download-file."), + serverTools: Te({ + listChanged: Bt() + .optional() + .describe("Host supports tools/list_changed notifications."), + }) + .optional() + .describe("Host can proxy tool calls to the MCP server."), + serverResources: Te({ + listChanged: Bt() + .optional() + .describe("Host supports resources/list_changed notifications."), + }) + .optional() + .describe("Host can proxy resource reads to the MCP server."), + logging: Te({}).optional().describe("Host accepts log messages."), + sandbox: Te({ + permissions: JTe.optional().describe( + "Permissions granted by the host (camera, microphone, geolocation).", + ), + csp: KTe.optional().describe("CSP domains approved by the host."), + }) + .optional() + .describe("Sandbox configuration applied by the host."), + updateModelContext: aNt + .optional() + .describe( + "Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns.", + ), + message: aNt + .optional() + .describe( + "Host supports receiving content messages (ui/message) from the view.", + ), + sampling: Te({ + tools: Te({}) + .optional() + .describe( + "Host supports tool use via `tools` and `toolChoice` parameters.", + ), + }) + .optional() + .describe( + "Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.", + ), + })), + (n$n = Te({ + experimental: Wt( + Q(), + Wt(Q(), Gr()).describe("Experimental features keyed by identifier."), + ) + .optional() + .describe("Experimental features keyed by identifier."), + tools: Te({ + listChanged: Bt() + .optional() + .describe("App supports tools/list_changed notifications."), + }) + .optional() + .describe("App exposes MCP-style tools that the host can call."), + availableDisplayModes: je(nG) + .optional() + .describe("Display modes the app supports."), + })), + (r$n = Te({ + method: Ce("ui/notifications/initialized"), + params: Te({}).optional(), + })), + (sia = Te({ + csp: KTe.optional().describe( + "Content Security Policy configuration for UI resources.", + ), + permissions: JTe.optional().describe( + "Sandbox permissions requested by the UI resource.", + ), + domain: Q().optional().describe(`Dedicated origin for view sandbox. Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists. @@ -95,58 +58609,24832 @@ Useful when views need stable, dedicated origins for OAuth callbacks, CORS polic - Hash-based subdomains (e.g., \`{hash}.claudemcpcontent.com\`) - URL-derived subdomains (e.g., \`www-example-com.oaiusercontent.com\`) -If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:Bt().optional().describe(`Visual boundary preference - true if view prefers a visible border. +If omitted, host uses default sandbox origin (typically per-conversation).`), + prefersBorder: Bt().optional() + .describe(`Visual boundary preference - true if view prefers a visible border. Boolean requesting whether a visible border and background is provided by the host. Specifying an explicit value for this is recommended because hosts' defaults may vary. - \`true\`: request visible border + background - \`false\`: request no visible border + background -- omitted: host decides border`)}),iNt=Te({method:Ce("ui/request-display-mode"),params:Te({mode:nG.describe("The display mode being requested.")})}),sNt=Te({mode:nG.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough(),o$n=Jt([Ce("model"),Ce("app")]).describe("Tool visibility scope - who can access the tool."),lia=Te({resourceUri:Q().optional(),visibility:je(o$n).optional().describe(`Who can access this tool. Default: ["model", "app"] +- omitted: host decides border`), + })), + (iNt = Te({ + method: Ce("ui/request-display-mode"), + params: Te({ mode: nG.describe("The display mode being requested.") }), + })), + (sNt = Te({ + mode: nG.describe( + "The display mode that was actually set. May differ from requested if not supported.", + ), + }).passthrough()), + (o$n = Jt([Ce("model"), Ce("app")]).describe( + "Tool visibility scope - who can access the tool.", + )), + (lia = Te({ + resourceUri: Q().optional(), + visibility: je(o$n).optional() + .describe(`Who can access this tool. Default: ["model", "app"] - "model": Tool visible to and callable by the agent -- "app": Tool callable by the app from this server only`),csp:uEe().optional(),permissions:uEe().optional()}),cia=Te({mimeTypes:je(Q()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')}),a$n=Te({method:Ce("ui/download-file"),params:Te({contents:je(Jt([CI,EI])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),i$n=Te({method:Ce("ui/message"),params:Te({role:Ce("user").describe('Message role, currently only "user" is supported.'),content:je(mx).describe("Message content blocks (text, image, etc.).")})}),uia=Te({method:Ce("ui/notifications/sandbox-resource-ready"),params:Te({html:Q().describe("HTML content to load into the inner iframe."),sandbox:Q().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:KTe.optional().describe("CSP configuration from resource metadata."),permissions:JTe.optional().describe("Sandbox permissions from resource metadata.")})}),dia=Te({method:Ce("ui/notifications/tool-result"),params:$6.describe("Standard MCP tool execution result.")}),pNt=Te({toolInfo:Te({id:q2.optional().describe("JSON-RPC id of the tools/call request."),tool:j6.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:Vjn.optional().describe("Current color theme preference."),styles:jjn.optional().describe("Style configuration for theming the app."),displayMode:nG.optional().describe("How the UI is currently displayed."),availableDisplayModes:je(nG).optional().describe("Display modes the host supports."),containerDimensions:Jt([Te({height:Pt().describe("Fixed container height in pixels.")}),Te({maxHeight:Jt([Pt(),cEe()]).optional().describe("Maximum container height in pixels.")})]).and(Jt([Te({width:Pt().describe("Fixed container width in pixels.")}),Te({maxWidth:Jt([Pt(),cEe()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other -container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:Q().optional().describe("User's language and region preference in BCP 47 format."),timeZone:Q().optional().describe("User's timezone in IANA format."),userAgent:Q().optional().describe("Host application identifier."),platform:Jt([Ce("web"),Ce("desktop"),Ce("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:Te({touch:Bt().optional().describe("Whether the device supports touch input."),hover:Bt().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:Te({top:Pt().describe("Top safe area inset in pixels."),right:Pt().describe("Right safe area inset in pixels."),bottom:Pt().describe("Bottom safe area inset in pixels."),left:Pt().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough(),pia=Te({method:Ce("ui/notifications/host-context-changed"),params:pNt.describe("Partial context update containing only changed fields.")}),s$n=Te({method:Ce("ui/update-model-context"),params:Te({content:je(mx).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:Wt(Q(),Sn().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),l$n=Te({method:Ce("ui/initialize"),params:Te({appInfo:px.describe("App identification (name and version)."),appCapabilities:n$n.describe("Features and capabilities this app provides."),protocolVersion:Q().describe("Protocol version this app supports.")})}),c$n=Te({protocolVersion:Q().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:px.describe("Host application identification and version."),hostCapabilities:t$n.describe("Features and capabilities provided by the host."),hostContext:pNt.describe("Rich context about the host environment.")}).passthrough();d$n=[uNt];Hie=class Hie extends YTe{_client;_hostInfo;_hostCapabilities;_appCapabilities;_hostContext={};_appInfo;_initializedReceived=!1;_registeredEvents=new Set;_events=new lNt;_methods=new cNt;setRequestHandler=(...e)=>{let[t,...n]=oNt("request",e)??e;this._methods.claim(t,"setRequestHandler"),super.setRequestHandler.call(this,t,...n)};setNotificationHandler=(...e)=>{let[t,...n]=oNt("notification",e)??e;this._methods.claim(t,"setNotificationHandler"),super.setNotificationHandler.call(this,t,...n)};removeRequestHandler=(e)=>{this._methods.release(e),super.removeRequestHandler(e)};removeNotificationHandler=(e)=>{this._methods.release(e),super.removeNotificationHandler(e)};replaceRequestHandler=(e,...t)=>{this._methods.replace(e),super.setRequestHandler.call(this,e,...t)};_wrapHandler(e,t){let n=super._wrapHandler(e,t);if(e==="ui/initialize"||e==="ping")return n;return async(r,o)=>{if(!this._initializedReceived)console.warn(`[ext-apps] AppBridge received '${e}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`);return n(r,o)}}eventSchemas={sizechange:Kjn,sandboxready:Yjn,initialized:r$n,requestteardown:e$n,loggingmessage:II};setEventHandler(e,t){this._ensureEventSlot(e),this._events.setHandler(e,t)}getEventHandler(e){return this._events.getHandler(e)}addEventListener(e,t){this._ensureEventSlot(e),this._events.addEventListener(e,t)}removeEventListener(e,t){this._events.removeEventListener(e,t)}_ensureEventSlot(e){if(this._registeredEvents.has(e))return;let t=this.eventSchemas[e];if(!t)throw Error(`Unknown event: ${String(e)}`);let n=(r)=>{if(e==="initialized")this._initializedReceived=!0;this._events.dispatch(e,r)};if(e==="loggingmessage")this.setNotificationHandler("notifications/message",(r)=>{n(r.params)});else this.setNotificationHandler(t.shape.method.value,{params:t.shape.params},(r)=>n(r));this._registeredEvents.add(e)}warnIfRequestHandlerReplaced(e,t,n){if(t&&n)console.warn(`[MCP Apps] ${e} handler replaced. Previous handler will no longer be called.`)}constructor(e,t,n,r){super(r);this._client=e,this._hostInfo=t,this._hostCapabilities=n,this._methods.replace("notifications/cancelled"),this._methods.replace("notifications/progress"),this._ensureEventSlot("initialized"),this._hostContext=r?.hostContext||{},this.replaceRequestHandler("ui/initialize",{params:l$n.shape.params,result:c$n},(o)=>this._onAppsInitialize(o)),this.replaceRequestHandler("ping",(o,a)=>(this.onping?.(o.params,a),{})),this.replaceRequestHandler("ui/request-display-mode",{params:iNt.shape.params,result:sNt},()=>({mode:this._hostContext.displayMode??"inline"}))}buildContext(e){return e}assertCapabilityForMethod(e){}assertRequestHandlerCapability(e){}assertNotificationCapability(e){}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}onping;get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(e){this.setEventHandler("sizechange",e)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(e){this.setEventHandler("sandboxready",e)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(e){this.setEventHandler("initialized",e)}_onmessage;get onmessage(){return this._onmessage}set onmessage(e){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,e),this._onmessage=e,this.replaceRequestHandler("ui/message",{params:i$n.shape.params,result:Wjn},async(t,n)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(t,n)})}_onopenlink;get onopenlink(){return this._onopenlink}set onopenlink(e){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,e),this._onopenlink=e,this.replaceRequestHandler("ui/open-link",{params:Zjn.shape.params,result:Qjn},async(t,n)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(t,n)})}_ondownloadfile;get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(e){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,e),this._ondownloadfile=e,this.replaceRequestHandler("ui/download-file",{params:a$n.shape.params,result:Xjn},async(t,n)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(t,n)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(e){this.setEventHandler("requestteardown",e)}_onrequestdisplaymode;get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(e){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,e),this._onrequestdisplaymode=e,this.replaceRequestHandler("ui/request-display-mode",{params:iNt.shape.params,result:sNt},async(t,n)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(t,n)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(e){this.setEventHandler("loggingmessage",e)}_onupdatemodelcontext;get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(e){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,e),this._onupdatemodelcontext=e,this.replaceRequestHandler("ui/update-model-context",{params:s$n.shape.params,result:J6},async(t,n)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(t,n)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(e){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,e),this._oncalltool=e,this.replaceRequestHandler("tools/call",async(t,n)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(t.params,n)})}_oncreatesamplingmessage;get oncreatesamplingmessage(){return this._oncreatesamplingmessage}set oncreatesamplingmessage(e){this.warnIfRequestHandlerReplaced("oncreatesamplingmessage",this._oncreatesamplingmessage,e),this._oncreatesamplingmessage=e,this.replaceRequestHandler("sampling/createMessage",async(t,n)=>{if(!this._oncreatesamplingmessage)throw Error("No oncreatesamplingmessage handler set");return this._oncreatesamplingmessage(t.params,n)})}sendToolListChanged(e={}){return this.notification({method:"notifications/tools/list_changed",params:e})}_onlistresources;get onlistresources(){return this._onlistresources}set onlistresources(e){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,e),this._onlistresources=e,this.replaceRequestHandler("resources/list",async(t,n)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(t.params,n)})}_onlistresourcetemplates;get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(e){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,e),this._onlistresourcetemplates=e,this.replaceRequestHandler("resources/templates/list",async(t,n)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(t.params,n)})}_onreadresource;get onreadresource(){return this._onreadresource}set onreadresource(e){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,e),this._onreadresource=e,this.replaceRequestHandler("resources/read",async(t,n)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(t.params,n)})}sendResourceListChanged(e={}){return this.notification({method:"notifications/resources/list_changed",params:e})}_onlistprompts;get onlistprompts(){return this._onlistprompts}set onlistprompts(e){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,e),this._onlistprompts=e,this.replaceRequestHandler("prompts/list",async(t,n)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(t.params,n)})}sendPromptListChanged(e={}){return this.notification({method:"notifications/prompts/list_changed",params:e})}getCapabilities(){return this._hostCapabilities}async _onAppsInitialize(e){let t=e.protocolVersion;if(this._appInfo!==void 0)console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values.");return this._appCapabilities=e.appCapabilities,this._appInfo=e.appInfo,{protocolVersion:d$n.includes(t)?t:uNt,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(e){let t={},n=!1;for(let r of Object.keys(e)){let o=this._hostContext[r],a=e[r];if(p$n(o,a))continue;t[r]=a,n=!0}if(n)this._hostContext=e,this.sendHostContextChange(t)}sendHostContextChange(e){return this.notification({method:"ui/notifications/host-context-changed",params:e})}sendToolInput(e){return this.notification({method:"ui/notifications/tool-input",params:e})}sendToolInputPartial(e){return this.notification({method:"ui/notifications/tool-input-partial",params:e})}sendToolResult(e){return this.notification({method:"ui/notifications/tool-result",params:e})}sendToolCancelled(e){return this.notification({method:"ui/notifications/tool-cancelled",params:e})}sendSandboxResourceReady(e){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:e})}teardownResource(e,t){return this.request({method:"ui/resource-teardown",params:e},$jn,t)}sendResourceTeardown=this.teardownResource;callTool(e,t){return this.request({method:"tools/call",params:e},t)}listTools(e,t){return this.request({method:"tools/list",params:e},t)}async connect(e){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let t=this._client.getServerCapabilities();if(!t)throw Error("Client server capabilities not available");if(t.tools){if(this.oncalltool=async(n,r)=>this._client.request({method:"tools/call",params:n},{signal:r.mcpReq.signal}),t.tools.listChanged)this._client.setNotificationHandler("notifications/tools/list_changed",(n)=>this.sendToolListChanged(n.params))}if(t.resources){if(this.onlistresources=async(n,r)=>this._client.request({method:"resources/list",params:n},{signal:r.mcpReq.signal}),this.onlistresourcetemplates=async(n,r)=>this._client.request({method:"resources/templates/list",params:n},{signal:r.mcpReq.signal}),this.onreadresource=async(n,r)=>this._client.request({method:"resources/read",params:n},{signal:r.mcpReq.signal}),t.resources.listChanged)this._client.setNotificationHandler("notifications/resources/list_changed",(n)=>this.sendResourceListChanged(n.params))}if(t.prompts){if(this.onlistprompts=async(n,r)=>this._client.request({method:"prompts/list",params:n},{signal:r.mcpReq.signal}),t.prompts.listChanged)this._client.setNotificationHandler("notifications/prompts/list_changed",(n)=>this.sendPromptListChanged(n.params))}}return super.connect(e)}}});var f$n="io.modelcontextprotocol/related-task",Gie="2.0",Xd,mNt,hNt,hia,m$n,h$n,jTe,Hg,qie,Of,gy,yy,Ff,Zie,g$n,y$n,gNt,tC,yNt,gia,yia,vNt,v$n,bNt,b$n,rG,JM,xNt,x$n,A$n,w$n,S$n,C$n,E$n,I$n,T$n,k$n,R$n,ANt,P$n,M$n,wNt,D$n,oG,aG,L$n,iG,SNt,B$n,CNt,ENt,INt,TNt,via,kNt,RNt,PNt,bia,MNt,DNt,$Te,LNt,sG,jM,BNt,O$n,F$n,U$n,N$n,z$n,e7e,_$n,H$n,V$n,G$n,q$n,Z$n,Q$n,X$n,W$n,Y$n,K$n,J$n,j$n,$$n,eer,ter,t7e,n7e,r7e,ner,rer,oer,o7e,aer,ier,ser,ler,cer,ONt,uer,der,FNt,xia,per,fer,mer,Aia,UNt,her,ger,yer,ver,ber,xer,Aer,wer,Ser,Vie,Cer,Eer,Ier,Ter,ker,Rer,Per,Mer,Der,Ler,Ber,Oer,Fer,Uer,Ner,zer,_er,Her,Ver,Ger,qer,Zer,Qer,Xer,Wer,Yer,Ker,Jer,jer,$er,etr,ttr,ntr,wia,Sia,Cia,Eia,Iia,Tia,MI,NNt;var zNt=P(()=>{AM();Xd=eI((e)=>e!==null&&(typeof e==="object"||typeof e==="function")),mNt=Jt([Q(),Pt().int()]),hNt=Q(),hia=wt({ttl:Pt().optional(),pollInterval:Pt().optional()}),m$n=Te({ttl:Pt().optional()}),h$n=Te({taskId:Q()}),jTe=wt({progressToken:mNt.optional(),[f$n]:h$n.optional()}),Hg=Te({_meta:jTe.optional()}),qie=Hg.extend({task:m$n.optional()}),Of=Te({method:Q(),params:Hg.loose().optional()}),gy=Te({_meta:jTe.optional()}),yy=Te({method:Q(),params:gy.loose().optional()}),Ff=wt({_meta:jTe.optional()}),Zie=Jt([Q(),Pt().int()]),g$n=Te({jsonrpc:Ce(Gie),id:Zie,...Of.shape}).strict(),y$n=Te({jsonrpc:Ce(Gie),...yy.shape}).strict(),gNt=Te({jsonrpc:Ce(Gie),id:Zie,result:Ff}).strict();(function(e){e[e.ConnectionClosed=-32000]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(tC||(tC={}));yNt=Te({jsonrpc:Ce(Gie),id:Zie.optional(),error:Te({code:Pt().int(),message:Q(),data:Sn().optional()})}).strict(),gia=Jt([g$n,y$n,gNt,yNt]),yia=Jt([gNt,yNt]),vNt=Ff.strict(),v$n=gy.extend({requestId:Zie.optional(),reason:Q().optional()}),bNt=yy.extend({method:Ce("notifications/cancelled"),params:v$n}),b$n=Te({src:Q(),mimeType:Q().optional(),sizes:je(Q()).optional(),theme:tr(["light","dark"]).optional()}),rG=Te({icons:je(b$n).optional()}),JM=Te({name:Q(),title:Q().optional()}),xNt=JM.extend({...JM.shape,...rG.shape,version:Q(),websiteUrl:Q().optional(),description:Q().optional()}),x$n=cy(Te({applyDefaults:Bt().optional()}),Wt(Q(),Sn())),A$n=ax((e)=>{if(e&&typeof e==="object"&&!Array.isArray(e)){if(Object.keys(e).length===0)return{form:{}}}return e},cy(Te({form:x$n.optional(),url:Xd.optional()}),Wt(Q(),Sn()).optional())),w$n=wt({list:Xd.optional(),cancel:Xd.optional(),requests:wt({sampling:wt({createMessage:Xd.optional()}).optional(),elicitation:wt({create:Xd.optional()}).optional()}).optional()}),S$n=wt({list:Xd.optional(),cancel:Xd.optional(),requests:wt({tools:wt({call:Xd.optional()}).optional()}).optional()}),C$n=Te({experimental:Wt(Q(),Xd).optional(),sampling:Te({context:Xd.optional(),tools:Xd.optional()}).optional(),elicitation:A$n.optional(),roots:Te({listChanged:Bt().optional()}).optional(),tasks:w$n.optional(),extensions:Wt(Q(),Xd).optional()}),E$n=Hg.extend({protocolVersion:Q(),capabilities:C$n,clientInfo:xNt}),I$n=Of.extend({method:Ce("initialize"),params:E$n}),T$n=Te({experimental:Wt(Q(),Xd).optional(),logging:Xd.optional(),completions:Xd.optional(),prompts:Te({listChanged:Bt().optional()}).optional(),resources:Te({subscribe:Bt().optional(),listChanged:Bt().optional()}).optional(),tools:Te({listChanged:Bt().optional()}).optional(),tasks:S$n.optional(),extensions:Wt(Q(),Xd).optional()}),k$n=Ff.extend({protocolVersion:Q(),capabilities:T$n,serverInfo:xNt,instructions:Q().optional()}),R$n=yy.extend({method:Ce("notifications/initialized"),params:gy.optional()}),ANt=Of.extend({method:Ce("ping"),params:Hg.optional()}),P$n=Te({progress:Pt(),total:Rn(Pt()),message:Rn(Q())}),M$n=Te({...gy.shape,...P$n.shape,progressToken:mNt}),wNt=yy.extend({method:Ce("notifications/progress"),params:M$n}),D$n=Hg.extend({cursor:hNt.optional()}),oG=Of.extend({params:D$n.optional()}),aG=Ff.extend({nextCursor:hNt.optional()}),L$n=tr(["working","input_required","completed","failed","cancelled"]),iG=Te({taskId:Q(),status:L$n,ttl:Jt([Pt(),w3()]),createdAt:Q(),lastUpdatedAt:Q(),pollInterval:Rn(Pt()),statusMessage:Rn(Q())}),SNt=Ff.extend({task:iG}),B$n=gy.merge(iG),CNt=yy.extend({method:Ce("notifications/tasks/status"),params:B$n}),ENt=Of.extend({method:Ce("tasks/get"),params:Hg.extend({taskId:Q()})}),INt=Ff.merge(iG),TNt=Of.extend({method:Ce("tasks/result"),params:Hg.extend({taskId:Q()})}),via=Ff.loose(),kNt=oG.extend({method:Ce("tasks/list")}),RNt=aG.extend({tasks:je(iG)}),PNt=Of.extend({method:Ce("tasks/cancel"),params:Hg.extend({taskId:Q()})}),bia=Ff.merge(iG),MNt=Te({uri:Q(),mimeType:Rn(Q()),_meta:Wt(Q(),Sn()).optional()}),DNt=MNt.extend({text:Q()}),$Te=Q().refine((e)=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),LNt=MNt.extend({blob:$Te}),sG=tr(["user","assistant"]),jM=Te({audience:je(sG).optional(),priority:Pt().min(0).max(1).optional(),lastModified:S_({offset:!0}).optional()}),BNt=Te({...JM.shape,...rG.shape,uri:Q(),description:Rn(Q()),mimeType:Rn(Q()),size:Rn(Pt()),annotations:jM.optional(),_meta:Rn(wt({}))}),O$n=Te({...JM.shape,...rG.shape,uriTemplate:Q(),description:Rn(Q()),mimeType:Rn(Q()),annotations:jM.optional(),_meta:Rn(wt({}))}),F$n=oG.extend({method:Ce("resources/list")}),U$n=aG.extend({resources:je(BNt)}),N$n=oG.extend({method:Ce("resources/templates/list")}),z$n=aG.extend({resourceTemplates:je(O$n)}),e7e=Hg.extend({uri:Q()}),_$n=e7e,H$n=Of.extend({method:Ce("resources/read"),params:_$n}),V$n=Ff.extend({contents:je(Jt([DNt,LNt]))}),G$n=yy.extend({method:Ce("notifications/resources/list_changed"),params:gy.optional()}),q$n=e7e,Z$n=Of.extend({method:Ce("resources/subscribe"),params:q$n}),Q$n=e7e,X$n=Of.extend({method:Ce("resources/unsubscribe"),params:Q$n}),W$n=gy.extend({uri:Q()}),Y$n=yy.extend({method:Ce("notifications/resources/updated"),params:W$n}),K$n=Te({name:Q(),description:Rn(Q()),required:Rn(Bt())}),J$n=Te({...JM.shape,...rG.shape,description:Rn(Q()),arguments:Rn(je(K$n)),_meta:Rn(wt({}))}),j$n=oG.extend({method:Ce("prompts/list")}),$$n=aG.extend({prompts:je(J$n)}),eer=Hg.extend({name:Q(),arguments:Wt(Q(),Q()).optional()}),ter=Of.extend({method:Ce("prompts/get"),params:eer}),t7e=Te({type:Ce("text"),text:Q(),annotations:jM.optional(),_meta:Wt(Q(),Sn()).optional()}),n7e=Te({type:Ce("image"),data:$Te,mimeType:Q(),annotations:jM.optional(),_meta:Wt(Q(),Sn()).optional()}),r7e=Te({type:Ce("audio"),data:$Te,mimeType:Q(),annotations:jM.optional(),_meta:Wt(Q(),Sn()).optional()}),ner=Te({type:Ce("tool_use"),name:Q(),id:Q(),input:Wt(Q(),Sn()),_meta:Wt(Q(),Sn()).optional()}),rer=Te({type:Ce("resource"),resource:Jt([DNt,LNt]),annotations:jM.optional(),_meta:Wt(Q(),Sn()).optional()}),oer=BNt.extend({type:Ce("resource_link")}),o7e=Jt([t7e,n7e,r7e,oer,rer]),aer=Te({role:sG,content:o7e}),ier=Ff.extend({description:Q().optional(),messages:je(aer)}),ser=yy.extend({method:Ce("notifications/prompts/list_changed"),params:gy.optional()}),ler=Te({title:Q().optional(),readOnlyHint:Bt().optional(),destructiveHint:Bt().optional(),idempotentHint:Bt().optional(),openWorldHint:Bt().optional()}),cer=Te({taskSupport:tr(["required","optional","forbidden"]).optional()}),ONt=Te({...JM.shape,...rG.shape,description:Q().optional(),inputSchema:Te({type:Ce("object"),properties:Wt(Q(),Xd).optional(),required:je(Q()).optional()}).catchall(Sn()),outputSchema:Te({type:Ce("object"),properties:Wt(Q(),Xd).optional(),required:je(Q()).optional()}).catchall(Sn()).optional(),annotations:ler.optional(),execution:cer.optional(),_meta:Wt(Q(),Sn()).optional()}),uer=oG.extend({method:Ce("tools/list")}),der=aG.extend({tools:je(ONt)}),FNt=Ff.extend({content:je(o7e).default([]),structuredContent:Wt(Q(),Sn()).optional(),isError:Bt().optional()}),xia=FNt.or(Ff.extend({toolResult:Sn()})),per=qie.extend({name:Q(),arguments:Wt(Q(),Sn()).optional()}),fer=Of.extend({method:Ce("tools/call"),params:per}),mer=yy.extend({method:Ce("notifications/tools/list_changed"),params:gy.optional()}),Aia=Te({autoRefresh:Bt().default(!0),debounceMs:Pt().int().nonnegative().default(300)}),UNt=tr(["debug","info","notice","warning","error","critical","alert","emergency"]),her=Hg.extend({level:UNt}),ger=Of.extend({method:Ce("logging/setLevel"),params:her}),yer=gy.extend({level:UNt,logger:Q().optional(),data:Sn()}),ver=yy.extend({method:Ce("notifications/message"),params:yer}),ber=Te({name:Q().optional()}),xer=Te({hints:je(ber).optional(),costPriority:Pt().min(0).max(1).optional(),speedPriority:Pt().min(0).max(1).optional(),intelligencePriority:Pt().min(0).max(1).optional()}),Aer=Te({mode:tr(["auto","required","none"]).optional()}),wer=Te({type:Ce("tool_result"),toolUseId:Q().describe("The unique identifier for the corresponding tool call."),content:je(o7e).default([]),structuredContent:Te({}).loose().optional(),isError:Bt().optional(),_meta:Wt(Q(),Sn()).optional()}),Ser=dm("type",[t7e,n7e,r7e]),Vie=dm("type",[t7e,n7e,r7e,ner,wer]),Cer=Te({role:sG,content:Jt([Vie,je(Vie)]),_meta:Wt(Q(),Sn()).optional()}),Eer=qie.extend({messages:je(Cer),modelPreferences:xer.optional(),systemPrompt:Q().optional(),includeContext:tr(["none","thisServer","allServers"]).optional(),temperature:Pt().optional(),maxTokens:Pt().int(),stopSequences:je(Q()).optional(),metadata:Xd.optional(),tools:je(ONt).optional(),toolChoice:Aer.optional()}),Ier=Of.extend({method:Ce("sampling/createMessage"),params:Eer}),Ter=Ff.extend({model:Q(),stopReason:Rn(tr(["endTurn","stopSequence","maxTokens"]).or(Q())),role:sG,content:Ser}),ker=Ff.extend({model:Q(),stopReason:Rn(tr(["endTurn","stopSequence","maxTokens","toolUse"]).or(Q())),role:sG,content:Jt([Vie,je(Vie)])}),Rer=Te({type:Ce("boolean"),title:Q().optional(),description:Q().optional(),default:Bt().optional()}),Per=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),minLength:Pt().optional(),maxLength:Pt().optional(),format:tr(["email","uri","date","date-time"]).optional(),default:Q().optional()}),Mer=Te({type:tr(["number","integer"]),title:Q().optional(),description:Q().optional(),minimum:Pt().optional(),maximum:Pt().optional(),default:Pt().optional()}),Der=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),default:Q().optional()}),Ler=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),oneOf:je(Te({const:Q(),title:Q()})),default:Q().optional()}),Ber=Te({type:Ce("string"),title:Q().optional(),description:Q().optional(),enum:je(Q()),enumNames:je(Q()).optional(),default:Q().optional()}),Oer=Jt([Der,Ler]),Fer=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({type:Ce("string"),enum:je(Q())}),default:je(Q()).optional()}),Uer=Te({type:Ce("array"),title:Q().optional(),description:Q().optional(),minItems:Pt().optional(),maxItems:Pt().optional(),items:Te({anyOf:je(Te({const:Q(),title:Q()}))}),default:je(Q()).optional()}),Ner=Jt([Fer,Uer]),zer=Jt([Ber,Oer,Ner]),_er=Jt([zer,Rer,Per,Mer]),Her=qie.extend({mode:Ce("form").optional(),message:Q(),requestedSchema:Te({type:Ce("object"),properties:Wt(Q(),_er),required:je(Q()).optional()})}),Ver=qie.extend({mode:Ce("url"),message:Q(),elicitationId:Q(),url:Q().url()}),Ger=Jt([Her,Ver]),qer=Of.extend({method:Ce("elicitation/create"),params:Ger}),Zer=gy.extend({elicitationId:Q()}),Qer=yy.extend({method:Ce("notifications/elicitation/complete"),params:Zer}),Xer=Ff.extend({action:tr(["accept","decline","cancel"]),content:ax((e)=>e===null?void 0:e,Wt(Q(),Jt([Q(),Pt(),Bt(),je(Q())])).optional())}),Wer=Te({type:Ce("ref/resource"),uri:Q()}),Yer=Te({type:Ce("ref/prompt"),name:Q()}),Ker=Hg.extend({ref:Jt([Yer,Wer]),argument:Te({name:Q(),value:Q()}),context:Te({arguments:Wt(Q(),Q()).optional()}).optional()}),Jer=Of.extend({method:Ce("completion/complete"),params:Ker}),jer=Ff.extend({completion:wt({values:je(Q()).max(100),total:Rn(Pt().int()),hasMore:Rn(Bt())})}),$er=Te({uri:Q().startsWith("file://"),name:Q().optional(),_meta:Wt(Q(),Sn()).optional()}),etr=Of.extend({method:Ce("roots/list"),params:Hg.optional()}),ttr=Ff.extend({roots:je($er)}),ntr=yy.extend({method:Ce("notifications/roots/list_changed"),params:gy.optional()}),wia=Jt([ANt,I$n,Jer,ger,ter,j$n,F$n,N$n,H$n,Z$n,X$n,fer,uer,ENt,TNt,kNt,PNt]),Sia=Jt([bNt,wNt,R$n,ntr,CNt]),Cia=Jt([vNt,Ter,ker,Xer,ttr,INt,RNt,SNt]),Eia=Jt([ANt,Ier,qer,etr,ENt,TNt,kNt,PNt]),Iia=Jt([bNt,wNt,ver,Y$n,G$n,mer,ser,CNt,Qer]),Tia=Jt([vNt,k$n,jer,ier,$$n,U$n,z$n,V$n,FNt,der,INt,RNt,SNt]);MI=class MI extends Error{constructor(e,t,n){super(`MCP error ${e}: ${t}`);this.code=e,this.data=n,this.name="McpError"}static fromError(e,t,n){if(e===tC.UrlElicitationRequired&&n){let r=n;if(r.elicitations)return new NNt(r.elicitations,t)}return new MI(e,t,n)}};NNt=class NNt extends MI{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(tC.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}});var DI=void 0;var a7e=()=>{};async function itr(e,t,n=atr){let r=document.createElement("iframe");r.style.width="100%",r.style.height="600px",r.style.border="none",r.style.backgroundColor="transparent",r.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms");let o=new Promise((a,i)=>{let s=!1,l=()=>{window.removeEventListener("message",u),r.removeEventListener("error",d)},c=setTimeout(()=>{if(!s)s=!0,l(),i(Error("Timed out waiting for sandbox proxy iframe to be ready"))},n);if(t)t.cancel=()=>{if(!s)s=!0,clearTimeout(c),l(),a()};let u=(p)=>{if(p.source===r.contentWindow){if(p.data&&p.data.method===dNt){if(!s)s=!0,clearTimeout(c),l(),a()}}},d=()=>{if(!s)s=!0,clearTimeout(c),l(),i(Error("Failed to load sandbox proxy iframe"))};window.addEventListener("message",u),r.addEventListener("error",d)});return r.src=e.href,{iframe:r,onReady:o}}async function str(e,t){let n,r=void 0;do{let a=await e.listTools({cursor:r});n=a.tools.find((i)=>i.name===t),r=a.nextCursor}while(!n&&r);if(!n)throw Error(`tool ${t} not found`);if(!n._meta)return null;let o=fNt(n);if(!o)return null;if(!o.startsWith("ui://"))throw Error(`tool ${t} has unsupported output template URI: ${o}`);return{uri:o}}async function ltr(e,t){let n=await e.readResource({uri:t.uri});if(!n)throw Error("UI resource not found: "+t.uri);if(n.contents.length!==1)throw Error("Unsupported UI resource content length: "+n.contents.length);let r=n.contents[0],o,a=(i)=>i===YM;if("text"in r&&typeof r.text==="string"&&a(r.mimeType))o=r.text;else if("blob"in r&&typeof r.blob==="string"&&a(r.mimeType))o=atob(r.blob);else throw Error("Unsupported UI resource content format: "+JSON.stringify(r));return o}function ctr(e,t){let n=new URL(e.href);if(t&&Object.keys(t).length>0)n.searchParams.set("csp",JSON.stringify(t));return n}var As,Up,rtr="io.modelcontextprotocol/ui",otr,Mia,atr=1e4,utr=(e)=>{let{html:t,sandbox:n,appBridge:r,onSizeChanged:o,onInitialized:a,toolInput:i,toolResult:s,onError:l}=e,[c,u]=Up.useState(!1),[d,p]=Up.useState(!1),[f,m]=Up.useState(null),g=Up.useRef(null),v=Up.useRef(null),y=Up.useRef(null),x=Up.useRef(null),A=Up.useRef(o),w=Up.useRef(a),C=Up.useRef(l);return Up.useEffect(()=>{A.current=o,w.current=a,C.current=l}),Up.useEffect(()=>{let E=ctr(n.url,n.csp),T=E.href;if(y.current===T&&x.current===r&&v.current)return;u(!1),p(!1),m(null);let I=!0,k={};return(async()=>{try{if(v.current&&g.current?.contains(v.current))g.current.removeChild(v.current),v.current=null,y.current=null,x.current=null;let{iframe:O,onReady:B}=await itr(E,k);if(!I)return;if(v.current=O,y.current=T,x.current=r,g.current)g.current.appendChild(O);if(await B,!I)return;if(r.onsizechange=async(U)=>{if(A.current?.(U),v.current){if(U.width!==void 0)v.current.style.width=`${U.width}px`;if(U.height!==void 0)v.current.style.height=`${U.height}px`}},r.oninitialized=()=>{if(!I)return;console.log("[AppFrame] App initialized"),u(!0),w.current?.({appVersion:r.getAppVersion(),appCapabilities:r.getAppCapabilities()})},await r.connect(new _ie(O.contentWindow,O.contentWindow)),!I)return;p(!0)}catch(O){if(console.error("[AppFrame] Error:",O),!I)return;let B=O instanceof Error?O:Error(String(O));m(B),C.current?.(B)}})(),()=>{I=!1,k.cancel?.()}},[n.url,n.csp,r]),Up.useEffect(()=>{if(!d||!t||x.current!==r)return;(async()=>{try{console.log("[AppFrame] Sending HTML to sandbox"),await r.sendSandboxResourceReady({html:t,csp:n.csp})}catch(T){let I=T instanceof Error?T:Error(String(T));m(I),C.current?.(I)}})()},[d,t,r,n.csp]),Up.useEffect(()=>{if(d&&c&&i&&x.current===r)console.log("[AppFrame] Sending tool input:",i),r.sendToolInput({arguments:i})},[r,d,c,i]),Up.useEffect(()=>{if(d&&c&&s&&x.current===r)console.log("[AppFrame] Sending tool result:",s),r.sendToolResult(s)},[r,d,c,s]),DI("div",{ref:g,style:{width:"100%",height:"100%",display:"flex",flexDirection:"column"},children:f&&DI("div",{style:{color:"red",padding:"1rem"},children:["Error: ",f.message]},void 0,!0,void 0,null)},void 0,!1,void 0,null)},i7e;var _Nt=P(()=>{KM();zNt();KM();KM();KM();a7e();a7e();KM();As=z(re(),1),Up=z(re(),1),otr={mimeTypes:[YM]},Mia={[rtr]:otr};i7e=As.forwardRef((e,t)=>{let{client:n,toolName:r,sandbox:o,toolResourceUri:a,html:i,toolInput:s,toolResult:l,toolInputPartial:c,toolCancelled:u,hostContext:d,hostInfo:p,hostCapabilities:f,onMessage:m,onOpenLink:g,onLoggingMessage:v,onSizeChanged:y,onError:x,onCallTool:A,onListResources:w,onListResourceTemplates:C,onReadResource:E,onListPrompts:T,onFallbackRequest:I}=e,[k,L]=As.useState(null),[O,B]=As.useState(i??null),[U,D]=As.useState(null),N=As.useRef(m),_=As.useRef(g),G=As.useRef(v),Z=As.useRef(y),q=As.useRef(x),H=As.useRef(A),te=As.useRef(w),ie=As.useRef(C),j=As.useRef(E),oe=As.useRef(T),J=As.useRef(I);As.useEffect(()=>{N.current=m,_.current=g,G.current=v,Z.current=y,q.current=x,H.current=A,te.current=w,ie.current=C,j.current=E,oe.current=T,J.current=I}),As.useImperativeHandle(t,()=>({sendToolListChanged:()=>k?.sendToolListChanged(),sendResourceListChanged:()=>k?.sendResourceListChanged(),sendPromptListChanged:()=>k?.sendPromptListChanged(),teardownResource:()=>k?.teardownResource({})}),[k]),As.useEffect(()=>{let ae=!0,ne=null;return(()=>{try{let fe=n?.getServerCapabilities(),Ae=p??{name:"MCP-UI Host",version:"1.0.0"},Ee=f??{openLinks:{},serverTools:fe?.tools,serverResources:fe?.resources},pe=new Hie(n??null,Ae,Ee);if(ne=pe,pe.onmessage=async(Re,Le)=>{if(N.current)return N.current(Re,Le);else throw new MI(tC.MethodNotFound,"Method not found")},pe.onopenlink=async(Re,Le)=>{if(_.current)return _.current(Re,Le);else throw new MI(tC.MethodNotFound,"Method not found")},pe.onloggingmessage=(Re)=>{if(G.current)G.current(Re)},H.current)pe.oncalltool=(Re,Le)=>H.current(Re,Le);if(te.current)pe.onlistresources=(Re,Le)=>te.current(Re,Le);if(ie.current)pe.onlistresourcetemplates=(Re,Le)=>ie.current(Re,Le);if(j.current)pe.onreadresource=(Re,Le)=>j.current(Re,Le);if(oe.current)pe.onlistprompts=(Re,Le)=>oe.current(Re,Le);if(pe.fallbackRequestHandler=async(Re,Le)=>{if(J.current)return J.current(Re,Le);throw new MI(tC.MethodNotFound,`No handler for method: ${Re.method}`)},!ae)return;L(pe)}catch(fe){if(console.error("[AppRenderer] Error creating bridge:",fe),!ae)return;let Ae=fe instanceof Error?fe:Error(String(fe));D(Ae),q.current?.(Ae)}})(),()=>{if(ae=!1,ne)ne.close().catch((fe)=>{console.error("[AppRenderer] Error closing bridge:",fe)})}},[n,p,f]),As.useEffect(()=>{if(i){B(i);return}let ae=!!n,ne=!!a&&!!j.current;if(!ae&&!ne){D(Error("Either 'html' prop, 'client', or ('toolResourceUri' + 'onReadResource') must be provided to fetch UI resource"));return}let Se=!0;return(async()=>{try{let Ae;if(a)Ae=a,console.log(`[AppRenderer] Using provided resource URI: ${Ae}`);else if(n){console.log(`[AppRenderer] Fetching resource URI for tool: ${r}`);let pe=await str(n,r);if(!pe)throw Error(`Tool ${r} has no UI resource (no ui/resourceUri in tool._meta)`);Ae=pe.uri,console.log(`[AppRenderer] Got resource URI: ${Ae}`)}else throw Error("Cannot determine resource URI without client or toolResourceUri");if(!Se)return;console.log(`[AppRenderer] Reading resource HTML from: ${Ae}`);let Ee;if(n)Ee=await ltr(n,{uri:Ae});else if(j.current){let pe=await j.current({uri:Ae},{});if(!pe.contents||pe.contents.length!==1)throw Error("Unsupported UI resource content length: "+pe.contents?.length);let Re=pe.contents[0],Le=(Ne)=>Ne===YM;if("text"in Re&&typeof Re.text==="string"&&Le(Re.mimeType))Ee=Re.text;else if("blob"in Re&&typeof Re.blob==="string"&&Le(Re.mimeType))Ee=atob(Re.blob);else throw Error("Unsupported UI resource content format: "+JSON.stringify(Re))}else throw Error("No way to read resource HTML");if(!Se)return;B(Ee)}catch(Ae){if(!Se)return;let Ee=Ae instanceof Error?Ae:Error(String(Ae));D(Ee),q.current?.(Ee)}})(),()=>{Se=!1}},[n,r,a,i]),As.useEffect(()=>{if(k&&d)k.setHostContext(d)},[k,d]),As.useEffect(()=>{if(k&&c)k.sendToolInputPartial(c)},[k,c]),As.useEffect(()=>{if(k&&u)k.sendToolCancelled({})},[k,u]);let Y=Z.current;if(U)return DI("div",{style:{color:"red",padding:"1rem"},children:["Error: ",U.message]},void 0,!0,void 0,null);if(!k||!O)return null;return DI(utr,{html:O,sandbox:o,appBridge:k,toolInput:s,toolResult:l,onSizeChanged:Y,onError:x},void 0,!1,void 0,null)});i7e.displayName="AppRenderer"});var nC,HNt=({toolName:e,title:t,html:n,toolResourceUri:r,toolInput:o,toolResult:a,sandboxUrl:i,isExpandedDefault:s=!1,className:l,onAction:c})=>{let[u,d]=nC.useState(s),[p,f]=nC.useState(null),m=nC.useRef(null),g=nC.useMemo(()=>({theme:typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",locale:typeof navigator<"u"?navigator.language:"en-US",displayMode:u?"fullscreen":"inline"}),[u]),v=nC.useMemo(()=>({url:i?new URL(i):new URL("https://mcpui.dev/sandbox_proxy.html"),permissions:"allow-scripts allow-forms allow-same-origin"}),[i]);return M("div",{ref:m,className:Ve("flex flex-col rounded-3xl border transition-all duration-300 overflow-hidden","bg-[var(--md-sys-color-surface-container-low,#f7f2fa)]","border-[var(--md-sys-color-outline-variant,#cac4d0)]","text-[var(--md-sys-color-on-surface,#1d1b20)]",u?"fixed inset-4 z-50 shadow-2xl":"relative w-full shadow-sm",l),children:[M("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--md-sys-color-outline-variant,#cac4d0)]/40 bg-[var(--md-sys-color-surface-container,#f3edf7)]/60",children:[M("div",{className:"flex items-center gap-2.5",children:[h("div",{className:"flex h-7 w-7 items-center justify-center rounded-xl bg-[var(--md-sys-color-primary-container,#eaddff)] text-[var(--md-sys-color-on-primary-container,#21005d)]",children:h("span",{className:"material-symbols-outlined text-base",children:"widgets"})}),M("div",{className:"flex flex-col",children:[M("div",{className:"flex items-center gap-2",children:[h("span",{className:"text-xs font-semibold tracking-tight",children:t||e}),h("span",{className:"rounded-full bg-[var(--md-sys-color-surface-container-high,#ece6f0)] px-2 py-0.2 text-[10px] font-mono text-[var(--md-sys-color-on-surface-variant,#49454f)]",children:"mcp-ui"})]}),r&&h("span",{className:"text-[10px] font-mono text-[var(--md-sys-color-outline,#79747e)]",children:r})]})]}),M("div",{className:"flex items-center gap-1",children:[M("div",{className:"flex items-center gap-1 rounded-full bg-emerald-500/10 px-2 py-0.5 text-[10px] font-medium text-emerald-700 dark:text-emerald-400",children:[h("span",{className:"material-symbols-outlined text-xs",children:"verified_user"}),h("span",{children:"Sandboxed"})]}),h("button",{type:"button",onClick:()=>d(!u),title:u?"Collapse":"Expand Fullscreen",className:"flex h-7 w-7 items-center justify-center rounded-lg text-[var(--md-sys-color-on-surface-variant,#49454f)] hover:bg-[var(--md-sys-color-surface-container-high,#ece6f0)] transition-colors",children:h("span",{className:"material-symbols-outlined text-base",children:u?"close_fullscreen":"open_in_full"})})]})]}),h("div",{className:Ve("relative w-full overflow-hidden transition-all",u?"flex-1 min-h-[500px]":"h-96"),children:p?M("div",{className:"flex h-full flex-col items-center justify-center p-6 text-center text-xs text-[var(--md-sys-color-error,#b3261e)]",children:[h("span",{className:"material-symbols-outlined text-3xl mb-1",children:"error"}),h("span",{className:"font-semibold",children:"MCP App Render Error"}),h("p",{className:"mt-1 font-mono text-[11px] opacity-80",children:p})]}):n?h(i7e,{toolName:e,html:n,sandbox:v,toolInput:o,toolResult:a,hostContext:g,onError:(y)=>f(y.message)}):M("div",{className:"flex h-full flex-col items-center justify-center p-6 text-xs text-[var(--md-sys-color-outline,#79747e)]",children:[h("span",{className:"material-symbols-outlined text-2xl animate-spin mb-1 text-[var(--md-sys-color-primary,#6750a4)]",children:"progress_activity"}),M("span",{children:["Awaiting MCP UI Resource (",e,")..."]})]})}),o&&M("div",{className:"flex items-center justify-between px-4 py-2 border-t border-[var(--md-sys-color-outline-variant,#cac4d0)]/30 bg-[var(--md-sys-color-surface-container-lowest,#ffffff)] text-[10px] text-[var(--md-sys-color-outline,#79747e)] font-mono",children:[M("span",{className:"truncate",children:["input: ",JSON.stringify(o)]}),h("span",{className:"shrink-0 ml-2",children:"M3 UI Bridge"})]})]})};var VNt=P(()=>{rn();_Nt();le();nC=z(re(),1)});function $M(e,t){for(let n of t){let r=e.args?.[n];if(r!==void 0&&r!==null)return r}return}function GNt(e){return{summary:Qie(e),argsView(t){let n=$M(t,e);if(!n)return null;let r=t.args?.offset,o=t.args?.limit;return h("div",{className:"rounded-small bg-surface-container-highest px-3 py-2",children:M("p",{className:"font-code text-body-small text-on-surface-variant",children:[String(n),r?` (from line ${r})`:"",o?` (${o} lines)`:""]})})},resultView(t){if(!t.resultRaw)return null;return h(gx,{text:t.resultRaw,maxLines:30})}}}function qNt(e){return{summary:Qie(e),argsView(t){let n=$M(t,e),r=t.args?.content;if(!n&&!r)return null;return M("div",{className:"rounded-small bg-surface-container-highest px-3 py-2",children:[!!n&&h("p",{className:"mb-1 font-code text-body-small text-on-surface-variant",children:String(n)}),!!r&&h("pre",{className:"max-h-40 overflow-auto font-code text-body-small text-outline",children:fh(String(r),2000)})]})},resultView:QNt}}function ZNt(e,t,n){let r={error:"text-error",success:"text-success"},o=(a,i,s)=>s?M("div",{className:"mt-1",children:[h("p",{className:`text-body-small font-medium ${r[i]}`,children:a}),h("pre",{className:`max-h-20 overflow-auto font-code text-body-small ${r[i]}`,children:fh(String(s),500)})]}):null;return{summary:Qie(e),argsView(a){let i=$M(a,e);if(!i)return null;return M("div",{className:"rounded-small bg-surface-container-highest px-3 py-2",children:[h("p",{className:"mb-1 font-code text-body-small text-on-surface-variant",children:String(i)}),o("Old","error",$M(a,t)),o("New","success",$M(a,n))]})},resultView:QNt}}function ftr(e){return dtr[e]??ptr}function mtr({text:e}){return h("p",{className:"px-3 py-2 text-body-small text-on-surface-variant",children:e})}function gx({text:e,maxLines:t=20}){let[n,r]=lG.useState(!1),o=e.split(` -`),a=o.length>t,i=a&&!n?o.slice(0,t).join(` -`)+` -...`:e;return M("div",{children:[h("pre",{className:"max-h-80 overflow-auto whitespace-pre-wrap px-3 py-2 font-code text-body-small text-on-surface-variant",children:i}),a&&M("button",{type:"button",onClick:()=>r(!n),className:Ve("flex h-8 w-full items-center justify-center gap-1 border-t border-outline-variant px-3 text-label-medium text-primary","transition-colors duration-200 ease-standard hover:bg-primary/8 active:bg-primary/10",zg),children:[h(at,{name:"expand_more",size:18,className:Ve("transition-transform duration-200 ease-standard",n&&"rotate-180")}),n?"Show less":`Show all ${o.length} lines`]})]})}function vtr(e){if(e.startsWith("file_")||e==="read"||e==="write"||e==="edit")return"description";if(e==="glob"||e==="grep"||e==="web_search")return"search";if(e==="webfetch")return"language";if(e==="set_status")return"schedule";return"build"}function btr(e){let t={webfetch:"Web Fetch",todowrite:"Todo",read_skill:"Read Skill",web_search:"Web Search",spacebot_docs:"Docs"};if(t[e])return t[e];return e.replace(/^file_/,"").split("_").map((r)=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}function xtr(e){if(e.startsWith("file_"))return"File";return null}function cG({pair:e,defaultExpanded:t=!1,className:n}){let[r,o]=lG.useState(t),a=lG.useId(),i=ftr(e.name),s=i.summary(e),l=xtr(e.name),c=btr(e.name),u=e.status==="error",d=r?Atr(e,i):null,p=r?wtr(e,i):null;return M("div",{"data-status":e.status,className:Ve("m3-tool-call min-w-0 overflow-hidden rounded-medium border bg-surface-container-low text-on-surface",u?"border-error":"border-outline-variant",n),children:[M("button",{type:"button",onClick:()=>o(!r),"aria-expanded":r,"aria-controls":a,className:Ve("flex min-h-10 w-full items-center gap-2 rounded-medium px-3 py-2 text-left","transition-colors duration-200 ease-standard hover:bg-on-surface/8 active:bg-on-surface/10",zg),children:[h("span",{className:Ve("flex size-5 shrink-0 items-center justify-center",gtr[e.status]),children:e.status==="running"?h(CTe,{size:16,label:"Running"}):h(at,{name:htr[e.status],size:18,filled:!0,label:ytr[e.status]})}),h(at,{name:vtr(e.name),size:18,className:"shrink-0 text-on-surface-variant"}),l&&h("span",{className:"text-label-medium text-outline",children:l}),h("span",{className:"shrink-0 text-label-large text-on-surface",children:c}),s&&!r?h("span",{className:"min-w-0 flex-1 truncate text-body-small text-on-surface-variant",children:s}):h("span",{className:"flex-1"}),u&&h(QFt,{tone:"error",className:"h-5 px-1.5 text-label-small",children:"error"}),h(at,{name:"expand_more",size:20,className:Ve("shrink-0 text-on-surface-variant transition-transform duration-300 ease-emphasized",r&&"rotate-180")})]}),h(Do,{initial:!1,children:r?h(Zn.div,{id:a,...ZFt,className:"overflow-hidden",children:M("div",{className:"flex flex-col gap-2 border-t border-outline-variant px-3 py-3",children:[d,p!=null&&p!==!1?h("div",{className:Ve("m3-tool-result overflow-hidden rounded-small",u?"bg-error-container text-on-error-container [&_.text-on-surface-variant]:text-on-error-container [&_.text-outline]:text-on-error-container/80":"bg-surface-container-highest text-on-surface-variant"),children:p}):null]})},"body"):null})]})}function Atr(e,t){if(t.argsView){let n=t.argsView(e);if(n)return n}if(e.args&&Object.keys(e.args).length>0)return h("div",{className:"rounded-small bg-surface-container-highest px-3 py-2",children:h("div",{className:"flex flex-col gap-0.5",children:Object.entries(e.args).map(([n,r])=>M("p",{className:"font-code text-body-small",children:[M("span",{className:"text-outline",children:[n,": "]}),h("span",{className:"text-on-surface-variant",children:Str(n,r)})]},n))})});if(e.argsRaw&&e.argsRaw!=="{}"&&e.argsRaw.trim().length>0)return h("div",{className:"rounded-small bg-surface-container-highest px-3 py-2",children:h("pre",{className:"max-h-40 overflow-auto font-code text-body-small text-on-surface-variant",children:e.argsRaw})});return null}function wtr(e,t){if(e.status==="running")return M("div",{className:"flex items-center gap-2 px-3 py-2 text-body-small text-on-surface-variant",children:[h(CTe,{size:14,label:"Running"}),"Running..."]});if(t.resultView){let o=t.resultView(e);if(o!==void 0)return o}if(!e.resultRaw)return null;let n=e.result?._meta?.ui?.resourceUri||e.result?.ui?.resourceUri,r=e.result?.html||e.result?.uiHtml;if(n||r)return h("div",{className:"p-1",children:h(HNt,{toolName:e.name,title:e.title||e.name,html:typeof r==="string"?r:void 0,toolResourceUri:typeof n==="string"?n:void 0,toolInput:e.args||void 0,toolResult:e.result||void 0})});if(e.result&&Object.keys(e.result).length>0)return h("div",{className:"px-3 py-2",children:h("div",{className:"flex flex-col gap-0.5",children:Object.entries(e.result).map(([o,a])=>M("p",{className:"font-code text-body-small",children:[M("span",{className:"text-outline",children:[o,": "]}),h("span",{className:"text-on-surface-variant",children:typeof a==="string"?fh(a,200):JSON.stringify(a)})]},o))})});return h(gx,{text:e.resultRaw,maxLines:20})}function Str(e,t){if(e==="secret"&&typeof t==="string")return"***";if(typeof t==="string")return fh(t,100);if(typeof t==="boolean"||typeof t==="number")return String(t);return JSON.stringify(t)}function fh(e,t){if(e.length<=t)return e;return e.slice(0,t)+"..."}var lG,Qie=(e)=>(t)=>{if(t.title)return t.title;let n=$M(t,e);return n?fh(String(n),60):null},QNt=(e)=>e.resultRaw?h(mtr,{text:fh(e.resultRaw,100)}):null,dtr,ptr,htr,gtr,ytr;var XNt=P(()=>{rn();ri();gn();cH();VNt();le();lG=z(re(),1);dtr={file_read:GNt(["path"]),file_write:qNt(["path"]),file_edit:ZNt(["path"],["old_string"],["new_string"]),file_list:{summary:Qie(["path"]),resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:30})}},set_status:{summary(e){let t=e.args?.kind,n=e.args?.message;if(t==="outcome")return n?`Outcome: ${fh(String(n),50)}`:"Outcome set";return n?fh(String(n),60):null},resultView(){return null}},read:GNt(["filePath","file_path"]),write:qNt(["filePath","file_path"]),edit:ZNt(["filePath","file_path"],["oldString","old_string"],["newString","new_string"]),glob:{summary(e){if(e.title)return e.title;let t=e.args?.pattern;return t?fh(String(t),60):null},resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:20})}},grep:{summary(e){if(e.title)return e.title;let t=e.args?.pattern,n=e.args?.include;if(t&&n)return`/${t}/ in ${n}`;return t?`/${fh(String(t),40)}/`:null},resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:20})}},webfetch:{summary(e){if(e.title)return e.title;let t=e.args?.url;return t?fh(String(t),60):null},resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:20})}},read_skill:{summary(e){if(e.title)return e.title;let t=e.args?.name;return t?String(t):null},resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:30})}},web_search:{summary(e){if(e.title)return e.title;let t=e.args?.query,n=e.result?.result_count??(Array.isArray(e.result?.results)?e.result.results.length:null),r=t?fh(String(t),50):null;if(r&&n!=null)return`${r} (${n} result${n!==1?"s":""})`;return r},argsView(e){let t=e.args?.query;if(!t)return null;let n=e.args?.count,r=e.args?.freshness;return M("div",{className:"rounded-small bg-surface-container-highest px-3 py-2",children:[M("p",{className:"text-body-small text-on-surface-variant",children:[h("span",{className:"select-none text-outline",children:"Search: "}),String(t)]}),!!(n||r)&&M("p",{className:"mt-0.5 text-body-small text-outline",children:[n?`${n} results`:"",n&&r?" · ":"",r?`${r}`:""]})]})},resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:20})}},spacebot_docs:{summary(e){if(e.title)return e.title;let t=e.args?.action,n=e.args?.doc_id;if(t==="read"&&n)return fh(String(n),50);return t?String(t):"list"},argsView(e){let t=e.args?.action,n=e.args?.doc_id,r=e.args?.query;if(!t&&!n)return null;return M("div",{className:"rounded-small bg-surface-container-highest px-3 py-2",children:[!!n&&h("p",{className:"font-code text-body-small text-on-surface-variant",children:String(n)}),!!r&&M("p",{className:"mt-0.5 text-body-small text-outline",children:["filter: ",String(r)]})]})},resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:30})}},todowrite:{summary(e){if(e.title)return e.title;return"Update tasks"},resultView(){return null}},task:{summary(e){if(e.title)return e.title;let t=e.args?.description;return t?fh(String(t),60):null},resultView(e){if(!e.resultRaw)return null;return h(gx,{text:e.resultRaw,maxLines:20})}}},ptr={summary(e){if(!e.argsRaw||e.argsRaw==="{}")return null;return fh(e.argsRaw,60)}};htr={running:"pending",completed:"check_circle",error:"error"},gtr={running:"text-primary",completed:"text-success",error:"text-error"},ytr={running:"Running",completed:"Completed",error:"Error"}});function Za(){}function Xie(){}function s7e(e){let t=[],n=String(e||""),r=n.indexOf(","),o=0,a=!1;while(!a){if(r===-1)r=n.length,a=!0;let i=n.slice(o,r).trim();if(i||!a)t.push(i);o=r+1,r=n.indexOf(",",o)}return t}function Wie(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function Yie(e,t){return((t||Itr).jsx?Etr:Ctr).test(e)}var Ctr,Etr,Itr;var WNt=P(()=>{Ctr=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Etr=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Itr={}});var YNt=P(()=>{WNt()});function l7e(e){return typeof e==="object"?e.type==="text"?KNt(e.value):!1:KNt(e)}function KNt(e){return e.replace(Ttr,"")===""}var Ttr;var JNt=P(()=>{Ttr=/[ \t\n\f\r]/g});var jNt=P(()=>{JNt()});class rC{constructor(e,t,n){if(this.normal=t,this.property=e,n)this.space=n}}var c7e=P(()=>{rC.prototype.normal={};rC.prototype.property={};rC.prototype.space=void 0});function u7e(e,t){let n={},r={};for(let o of e)Object.assign(n,o.property),Object.assign(r,o.normal);return new rC(n,r,t)}var $Nt=P(()=>{c7e()});function U3(e){return e.toLowerCase()}class Uf{constructor(e,t){this.attribute=t,this.property=e}}var d7e=P(()=>{Uf.prototype.attribute="";Uf.prototype.booleanish=!1;Uf.prototype.boolean=!1;Uf.prototype.commaOrSpaceSeparated=!1;Uf.prototype.commaSeparated=!1;Uf.prototype.defined=!1;Uf.prototype.mustUseProperty=!1;Uf.prototype.number=!1;Uf.prototype.overloadedBoolean=!1;Uf.prototype.property="";Uf.prototype.spaceSeparated=!1;Uf.prototype.space=void 0});var uG={};Xs(uG,{boolean:()=>po,booleanish:()=>uc,commaOrSpaceSeparated:()=>b0,commaSeparated:()=>N3,number:()=>ln,overloadedBoolean:()=>Kie,spaceSeparated:()=>Oi});function LI(){return 2**++ktr}var ktr=0,po,uc,Kie,ln,Oi,N3,b0;var dG=P(()=>{po=LI(),uc=LI(),Kie=LI(),ln=LI(),Oi=LI(),N3=LI(),b0=LI()});function ezt(e,t,n){if(n)e[t]=n}var p7e,eD;var f7e=P(()=>{d7e();dG();p7e=Object.keys(uG);eD=class eD extends Uf{constructor(e,t,n,r){let o=-1;super(e,t);if(ezt(this,"space",r),typeof n==="number")while(++o{f7e();c7e()});var m7e;var tzt=P(()=>{BI();dG();m7e=vy({properties:{ariaActiveDescendant:null,ariaAtomic:uc,ariaAutoComplete:null,ariaBusy:uc,ariaChecked:uc,ariaColCount:ln,ariaColIndex:ln,ariaColSpan:ln,ariaControls:Oi,ariaCurrent:null,ariaDescribedBy:Oi,ariaDetails:null,ariaDisabled:uc,ariaDropEffect:Oi,ariaErrorMessage:null,ariaExpanded:uc,ariaFlowTo:Oi,ariaGrabbed:uc,ariaHasPopup:null,ariaHidden:uc,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Oi,ariaLevel:ln,ariaLive:null,ariaModal:uc,ariaMultiLine:uc,ariaMultiSelectable:uc,ariaOrientation:null,ariaOwns:Oi,ariaPlaceholder:null,ariaPosInSet:ln,ariaPressed:uc,ariaReadOnly:uc,ariaRelevant:null,ariaRequired:uc,ariaRoleDescription:Oi,ariaRowCount:ln,ariaRowIndex:ln,ariaRowSpan:ln,ariaSelected:uc,ariaSetSize:ln,ariaSort:null,ariaValueMax:ln,ariaValueMin:ln,ariaValueNow:ln,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}})});function Jie(e,t){return t in e?e[t]:t}function jie(e,t){return Jie(e,t.toLowerCase())}var h7e=()=>{};var nzt;var rzt=P(()=>{h7e();BI();dG();nzt=vy({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:N3,acceptCharset:Oi,accessKey:Oi,action:null,allow:null,allowFullScreen:po,allowPaymentRequest:po,allowUserMedia:po,alpha:po,alt:null,as:null,async:po,autoCapitalize:null,autoComplete:Oi,autoFocus:po,autoPlay:po,blocking:Oi,capture:null,charSet:null,checked:po,cite:null,className:Oi,closedBy:null,colorSpace:null,cols:ln,colSpan:ln,command:null,commandFor:null,content:null,contentEditable:uc,controls:po,controlsList:Oi,coords:ln|N3,crossOrigin:null,data:null,dateTime:null,decoding:null,default:po,defer:po,dir:null,dirName:null,disabled:po,download:Kie,draggable:uc,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:po,formTarget:null,headers:Oi,height:ln,hidden:Kie,high:ln,href:null,hrefLang:null,htmlFor:Oi,httpEquiv:Oi,id:null,imageSizes:null,imageSrcSet:null,inert:po,inputMode:null,integrity:null,is:null,isMap:po,itemId:null,itemProp:Oi,itemRef:Oi,itemScope:po,itemType:Oi,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:po,low:ln,manifest:null,max:null,maxLength:ln,media:null,method:null,min:null,minLength:ln,multiple:po,muted:po,name:null,nonce:null,noModule:po,noValidate:po,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:po,optimum:ln,pattern:null,ping:Oi,placeholder:null,playsInline:po,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:po,referrerPolicy:null,rel:Oi,required:po,reversed:po,rows:ln,rowSpan:ln,sandbox:Oi,scope:null,scoped:po,seamless:po,selected:po,shadowRootClonable:po,shadowRootCustomElementRegistry:po,shadowRootDelegatesFocus:po,shadowRootMode:null,shadowRootSerializable:po,shape:null,size:ln,sizes:null,slot:null,span:ln,spellCheck:uc,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ln,step:null,style:null,tabIndex:ln,target:null,title:null,translate:null,type:null,typeMustMatch:po,useMap:null,value:uc,width:ln,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Oi,axis:null,background:null,bgColor:null,border:ln,borderColor:null,bottomMargin:ln,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:po,declare:po,event:null,face:null,frame:null,frameBorder:null,hSpace:ln,leftMargin:ln,link:null,longDesc:null,lowSrc:null,marginHeight:ln,marginWidth:ln,noResize:po,noHref:po,noShade:po,noWrap:po,object:null,profile:null,prompt:null,rev:null,rightMargin:ln,rules:null,scheme:null,scrolling:uc,standby:null,summary:null,text:null,topMargin:ln,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ln,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:po,disablePictureInPicture:po,disableRemotePlayback:po,exportParts:N3,part:Oi,prefix:null,property:null,results:ln,security:null,unselectable:null},space:"html",transform:jie})});var ozt;var azt=P(()=>{BI();dG();ozt=vy({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:b0,accentHeight:ln,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ln,amplitude:ln,arabicForm:null,ascent:ln,attributeName:null,attributeType:null,azimuth:ln,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ln,by:null,calcMode:null,capHeight:ln,className:Oi,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:ln,diffuseConstant:ln,direction:null,display:null,dur:null,divisor:ln,dominantBaseline:null,download:po,dx:null,dy:null,edgeMode:null,editable:null,elevation:ln,enableBackground:null,end:null,event:null,exponent:ln,externalResourcesRequired:null,fill:null,fillOpacity:ln,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:N3,g2:N3,glyphName:N3,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ln,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ln,horizOriginX:ln,horizOriginY:ln,id:null,ideographic:ln,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ln,k:ln,k1:ln,k2:ln,k3:ln,k4:ln,kernelMatrix:b0,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ln,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:ln,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:ln,overlineThickness:ln,paintOrder:null,panose1:null,path:null,pathLength:ln,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Oi,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ln,pointsAtY:ln,pointsAtZ:ln,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:b0,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:b0,rev:b0,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:b0,requiredFeatures:b0,requiredFonts:b0,requiredFormats:b0,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:ln,specularExponent:ln,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ln,strikethroughThickness:ln,string:null,stroke:null,strokeDashArray:b0,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ln,strokeOpacity:ln,strokeWidth:null,style:null,surfaceScale:ln,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:b0,tabIndex:ln,tableValues:null,target:null,targetX:ln,targetY:ln,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:b0,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ln,underlineThickness:ln,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ln,values:null,vAlphabetic:ln,vMathematical:ln,vectorEffect:null,vHanging:ln,vIdeographic:ln,version:null,vertAdvY:ln,vertOriginX:ln,vertOriginY:ln,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ln,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Jie})});var g7e;var izt=P(()=>{BI();g7e=vy({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}})});var y7e;var szt=P(()=>{BI();h7e();y7e=vy({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:jie})});var v7e;var lzt=P(()=>{BI();v7e=vy({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}})});var b7e;var czt=P(()=>{b7e={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"}});function z3(e,t){let n=U3(t),r=t,o=Uf;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Ptr.test(t)){if(t.charAt(4)==="-"){let a=t.slice(5).replace(uzt,Dtr);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=t.slice(4);if(!uzt.test(a)){let i=a.replace(Rtr,Mtr);if(i.charAt(0)!=="-")i="-"+i;t="data"+i}}o=eD}return new o(r,t)}function Mtr(e){return"-"+e.toLowerCase()}function Dtr(e){return e.charAt(1).toUpperCase()}var Rtr,uzt,Ptr;var dzt=P(()=>{f7e();d7e();Rtr=/[A-Z]/g,uzt=/-[a-z]/g,Ptr=/^data[-\w.:]+$/i});var _3,by;var tD=P(()=>{$Nt();tzt();rzt();azt();izt();szt();lzt();czt();dzt();_3=u7e([m7e,nzt,g7e,y7e,v7e],"html"),by=u7e([m7e,ozt,g7e,y7e,v7e],"svg")});function x7e(e){let t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function $ie(e){return e.join(" ").trim()}var yzt=me(function(rla,gzt){var pzt=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Ltr=/\n/g,Btr=/^\s*/,Otr=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Ftr=/^:\s*/,Utr=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Ntr=/^[;\s]*/,ztr=/^\s+|\s+$/g,_tr=` -`,fzt="/",mzt="*",OI="",Htr="comment",Vtr="declaration";function Gtr(e,t){if(typeof e!=="string")throw TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function o(m){var g=m.match(Ltr);if(g)n+=g.length;var v=m.lastIndexOf(_tr);r=~v?m.length-v:r+m.length}function a(){var m={line:n,column:r};return function(g){return g.position=new i(m),c(),g}}function i(m){this.start=m,this.end={line:n,column:r},this.source=t.source}i.prototype.content=e;function s(m){var g=Error(t.source+":"+n+":"+r+": "+m);if(g.reason=m,g.filename=t.source,g.line=n,g.column=r,g.source=e,t.silent);else throw g}function l(m){var g=m.exec(e);if(!g)return;var v=g[0];return o(v),e=e.slice(v.length),g}function c(){l(Btr)}function u(m){var g;m=m||[];while(g=d())if(g!==!1)m.push(g);return m}function d(){var m=a();if(fzt!=e.charAt(0)||mzt!=e.charAt(1))return;var g=2;while(OI!=e.charAt(g)&&(mzt!=e.charAt(g)||fzt!=e.charAt(g+1)))++g;if(g+=2,OI===e.charAt(g-1))return s("End of comment missing");var v=e.slice(2,g-2);return r+=2,o(v),e=e.slice(g),r+=2,m({type:Htr,comment:v})}function p(){var m=a(),g=l(Otr);if(!g)return;if(d(),!l(Ftr))return s("property missing ':'");var v=l(Utr),y=m({type:Vtr,property:hzt(g[0].replace(pzt,OI)),value:v?hzt(v[0].replace(pzt,OI)):OI});return l(Ntr),y}function f(){var m=[];u(m);var g;while(g=p())if(g!==!1)m.push(g),u(m);return m}return c(),f()}function hzt(e){return e?e.replace(ztr,OI):OI}gzt.exports=Gtr});var vzt=me(function(pG){var qtr=pG&&pG.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pG,"__esModule",{value:!0});pG.default=Qtr;var Ztr=qtr(yzt());function Qtr(e,t){let n=null;if(!e||typeof e!=="string")return n;let r=(0,Ztr.default)(e),o=typeof t==="function";return r.forEach((a)=>{if(a.type!=="declaration")return;let{property:i,value:s}=a;if(o)t(i,s,a);else if(s)n=n||{},n[i]=s}),n}});var wzt=me(function(xzt){Object.defineProperty(xzt,"__esModule",{value:!0});xzt.camelCase=void 0;var Xtr=/^--[a-zA-Z0-9_-]+$/,Wtr=/-([a-z])/g,Ytr=/^[^-]+$/,Ktr=/^-(webkit|moz|ms|o|khtml)-/,Jtr=/^-(ms)-/,jtr=function(e){return!e||Ytr.test(e)||Xtr.test(e)},$tr=function(e,t){return t.toUpperCase()},bzt=function(e,t){return"".concat(t,"-")},enr=function(e,t){if(t===void 0)t={};if(jtr(e))return e;if(e=e.toLowerCase(),t.reactCompat)e=e.replace(Jtr,bzt);else e=e.replace(Ktr,bzt);return e.replace(Wtr,$tr)};xzt.camelCase=enr});var Czt=me(function(w7e,Szt){var tnr=w7e&&w7e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},nnr=tnr(vzt()),rnr=wzt();function A7e(e,t){var n={};if(!e||typeof e!=="string")return n;return(0,nnr.default)(e,function(r,o){if(r&&o)n[(0,rnr.camelCase)(r,t)]=o}),n}A7e.default=A7e;Szt.exports=A7e});function Ezt(e){return t;function t(n){let r=n&&n.position&&n.position[e]||{};if(typeof r.line==="number"&&r.line>0&&typeof r.column==="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset==="number"&&r.offset>-1?r.offset:void 0}}}function S7e(e){let t=x0(e),n=FI(e);if(t&&n)return{start:t,end:n}}var FI,x0;var Izt=P(()=>{FI=Ezt("end"),x0=Ezt("start")});var fG=P(()=>{Izt()});function oC(e){if(!e||typeof e!=="object")return"";if("position"in e||"type"in e)return Tzt(e.position);if("start"in e||"end"in e)return Tzt(e);if("line"in e||"column"in e)return C7e(e);return""}function C7e(e){return kzt(e&&e.line)+":"+kzt(e&&e.column)}function Tzt(e){return C7e(e&&e.start)+"-"+C7e(e&&e.end)}function kzt(e){return e&&typeof e==="number"?e:1}var E7e=()=>{};var Pd;var Rzt=P(()=>{E7e();Pd=class Pd extends Error{constructor(e,t,n){super();if(typeof t==="string")n=t,t=void 0;let r="",o={},a=!1;if(t)if("line"in t&&"column"in t)o={place:t};else if("start"in t&&"end"in t)o={place:t};else if("type"in t)o={ancestors:[t],place:t.position};else o={...t};if(typeof e==="string")r=e;else if(!o.cause&&e)a=!0,r=e.message,o.cause=e;if(!o.ruleId&&!o.source&&typeof n==="string"){let s=n.indexOf(":");if(s===-1)o.ruleId=n;else o.source=n.slice(0,s),o.ruleId=n.slice(s+1)}if(!o.place&&o.ancestors&&o.ancestors){let s=o.ancestors[o.ancestors.length-1];if(s)o.place=s.position}let i=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=i?i.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=i?i.line:void 0,this.name=oC(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=a&&o.cause&&typeof o.cause.stack==="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};Pd.prototype.file="";Pd.prototype.name="";Pd.prototype.reason="";Pd.prototype.message="";Pd.prototype.stack="";Pd.prototype.column=void 0;Pd.prototype.line=void 0;Pd.prototype.ancestors=void 0;Pd.prototype.cause=void 0;Pd.prototype.fatal=void 0;Pd.prototype.place=void 0;Pd.prototype.ruleId=void 0;Pd.prototype.source=void 0});var I7e=P(()=>{Rzt()});function k7e(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=="function")throw TypeError("Expected `jsxDEV` in options when `development: true`");r=hnr(n,t.jsxDEV)}else{if(typeof t.jsx!=="function")throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=="function")throw TypeError("Expected `jsxs` in production options");r=mnr(n,t.jsx,t.jsxs)}let o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?by:_3,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=Dzt(o,e,void 0);if(a&&typeof a!=="string")return a;return o.create(e,o.Fragment,{children:a||void 0},void 0)}function Dzt(e,t,n){if(t.type==="element")return lnr(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return cnr(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return dnr(e,t,n);if(t.type==="mdxjsEsm")return unr(e,t);if(t.type==="root")return pnr(e,t,n);if(t.type==="text")return fnr(e,t)}function lnr(e,t,n){let r=e.schema,o=r;if(t.tagName.toLowerCase()==="svg"&&r.space==="html")o=by,e.schema=o;e.ancestors.push(t);let a=Bzt(e,t.tagName,!1),i=gnr(e,t),s=P7e(e,t);if(inr.has(t.tagName))s=s.filter(function(l){return typeof l==="string"?!l7e(l):!0});return Lzt(e,i,a,t),R7e(i,s),e.ancestors.pop(),e.schema=r,e.create(t,a,i,n)}function cnr(e,t){if(t.data&&t.data.estree&&e.evaluater){let r=t.data.estree.body[0];return Za(r.type==="ExpressionStatement"),e.evaluater.evaluateExpression(r.expression)}mG(e,t.position)}function unr(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);mG(e,t.position)}function dnr(e,t,n){let r=e.schema,o=r;if(t.name==="svg"&&r.space==="html")o=by,e.schema=o;e.ancestors.push(t);let a=t.name===null?e.Fragment:Bzt(e,t.name,!0),i=ynr(e,t),s=P7e(e,t);return Lzt(e,i,a,t),R7e(i,s),e.ancestors.pop(),e.schema=r,e.create(t,a,i,n)}function pnr(e,t,n){let r={};return R7e(r,P7e(e,t)),e.create(t,e.Fragment,r,n)}function fnr(e,t){return t.value}function Lzt(e,t,n,r){if(typeof n!=="string"&&n!==e.Fragment&&e.passNode)t.node=r}function R7e(e,t){if(t.length>0){let n=t.length>1?t:t[0];if(n)e.children=n}}function mnr(e,t,n){return r;function r(o,a,i,s){let c=Array.isArray(i.children)?n:t;return s?c(a,i,s):c(a,i)}}function hnr(e,t){return n;function n(r,o,a,i){let s=Array.isArray(a.children),l=x0(r);return t(o,a,i,s,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function gnr(e,t){let n={},r,o;for(o in t.properties)if(o!=="children"&&T7e.call(t.properties,o)){let a=vnr(e,o,t.properties[o]);if(a){let[i,s]=a;if(e.tableCellAlignToStyle&&i==="align"&&typeof s==="string"&&snr.has(t.tagName))r=s;else n[i]=s}}if(r){let a=n.style||(n.style={});a[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function ynr(e,t){let n={};for(let r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){let a=r.data.estree.body[0];Za(a.type==="ExpressionStatement");let i=a.expression;Za(i.type==="ObjectExpression");let s=i.properties[0];Za(s.type==="SpreadElement"),Object.assign(n,e.evaluater.evaluateExpression(s.argument))}else mG(e,t.position);else{let o=r.name,a;if(r.value&&typeof r.value==="object")if(r.value.data&&r.value.data.estree&&e.evaluater){let s=r.value.data.estree.body[0];Za(s.type==="ExpressionStatement"),a=e.evaluater.evaluateExpression(s.expression)}else mG(e,t.position);else a=r.value===null?!0:r.value;n[o]=a}return n}function P7e(e,t){let n=[],r=-1,o=e.passKeys?new Map:onr;while(++r{YNt();jNt();tD();fG();I7e();Pzt=z(Czt(),1),T7e={}.hasOwnProperty,onr=new Map,anr=/[A-Z]/g,inr=new Set(["table","tbody","thead","tfoot","tr"]),snr=new Set(["td","th"])});var Fzt=P(()=>{Ozt()});var hG;var Uzt=P(()=>{hG={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]}});var Nzt=P(()=>{Uzt()});function UI(e,t){let n=t||Snr,r=typeof n.includeImageAlt==="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml==="boolean"?n.includeHtml:!0;return _zt(e,r,o)}function _zt(e,t,n){if(Cnr(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return zzt(e.children,t,n)}if(Array.isArray(e))return zzt(e,t,n);return""}function zzt(e,t,n){let r=[],o=-1;while(++o{Snr={}});var ese=P(()=>{Hzt()});function nD(e){let t="&"+e+";";Vzt.innerHTML=t;let n=Vzt.textContent;if(n.charCodeAt(n.length-1)===59&&e!=="semi")return!1;return n===t?!1:n}var Vzt;var tse=P(()=>{Vzt=document.createElement("i")});function Np(e,t,n,r){let o=e.length,a=0,i;if(t<0)t=-t>o?0:o+t;else t=t>o?o:t;if(n=n>0?n:0,r.length<1e4)i=Array.from(r),i.unshift(t,n),e.splice(...i);else{if(n)e.splice(t,n);while(a0)return Np(e,e.length,0,t),e;return t}function nse(e){let t={},n=-1;while(++n{Gzt={}.hasOwnProperty});function rse(e,t){let n=Number.parseInt(e,t);if(n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111)return"�";return String.fromCodePoint(n)}function ym(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}function NI(e){return e!==null&&(e<32||e===127)}function Xn(e){return e!==null&&e<-2}function ma(e){return e!==null&&(e<0||e===32)}function Lr(e){return e===-2||e===-1||e===32}function aC(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}var Wd,dc,qzt,gG,Zzt,Qzt,zI,yx;var Qa=P(()=>{Wd=aC(/[A-Za-z]/),dc=aC(/[\dA-Za-z]/),qzt=aC(/[#-'*+\--9=?A-Z^-~]/);gG=aC(/\d/),Zzt=aC(/[\dA-Fa-f]/),Qzt=aC(/[!-/:-@[-`{-~]/);zI=aC(/\p{P}|\p{S}/u),yx=aC(/\s/)});function xy(e){let t=[],n=-1,r=0,o=0;while(++n55295&&a<57344){let s=e.charCodeAt(n+1);if(a<56320&&s>56319&&s<57344)i=String.fromCharCode(a,s),o=1;else i="�"}else i=String.fromCharCode(a);if(i)t.push(e.slice(r,n),encodeURIComponent(i)),r=n+o+1,i="";if(o)n+=o,o=0}return t.join("")+e.slice(r)}var _I=P(()=>{Qa()});function Wr(e,t,n,r){let o=r?r-1:1/0,a=0;return i;function i(l){if(Lr(l))return e.enter(n),s(l);return t(l)}function s(l){if(Lr(l)&&a++0&&Lr(u))return e.enter(r),l(u);return c(u)}function l(u){if(Lr(u)&&i=o?t(u):n(u)}}var zc=P(()=>{Qa()});function Tnr(e){let t=e.attempt(this.parser.constructs.contentInitial,r,o),n;return t;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),Wr(e,t,"linePrefix")}function o(s){return e.enter("paragraph"),a(s)}function a(s){let l=e.enter("chunkText",{contentType:"text",previous:n});if(n)n.next=l;return n=l,i(s)}function i(s){if(s===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(s);return}if(Xn(s))return e.consume(s),e.exit("chunkText"),a;return e.consume(s),i}}var Xzt;var Wzt=P(()=>{zc();Qa();Xzt={tokenize:Tnr}});class iC{constructor(){this.index=new Map,this.map=[]}add(e,t,n){Yzt(this,e,t,n,!1)}addBefore(e,t,n){Yzt(this,e,t,n,!0)}consume(e){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let t=this.map.length,n=[];while(t>0)t-=1,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();while(r){for(let o of r)e.push(o);r=n.pop()}this.map.length=0,this.index.clear()}}function Yzt(e,t,n,r,o){if(n===0&&r.length===0)return;let a=e.index.get(t);if(a){if(a[1]+=n,o)r.push(...a[2]),a[2]=r;else a[2].push(...r);return}let i=[t,n,r];e.map.push(i),e.index.set(t,i)}function knr(e){let t=this,n=[],r=0,o,a,i;return s;function s(A){if(ri))return;let T=t.events.length,I=T,k,L;while(I--)if(t.events[I][0]==="exit"&&t.events[I][1].type==="chunkFlow"){if(k){L=t.events[I][1].end;break}k=!0}y(r),E=T;while(EA){let C=n[w];t.containerState=C[1],C[0].exit.call(t,e)}n.length=A}function x(){o.write([null]),a=void 0,o=void 0,t.containerState._closeFlow=void 0}}function Rnr(e,t,n){return Wr(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}var Jzt,Kzt;var jzt=P(()=>{zc();Qa();Jzt={tokenize:knr},Kzt={tokenize:Rnr}});function rD(e){if(e===null||ma(e)||yx(e))return 1;if(zI(e))return 2}var L7e=P(()=>{Qa()});function sC(e,t,n){let r=[],o=-1;while(++o1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1,i={...e[o][1].end},s={...e[n][1].start};$zt(i,-a),$zt(s,a);let l={type:a>1?"strongSequence":"emphasisSequence",start:i,end:{...e[o][1].end}},c={type:a>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:s},u={type:a>1?"strongText":"emphasisText",start:{...e[o][1].end},end:{...e[n][1].start}},d={type:a>1?"strong":"emphasis",start:{...l.start},end:{...c.end}};if(e[o][1].end={...l.start},e[n][1].start={...c.end},r=[],e[o][1].end.offset-e[o][1].start.offset)r=mh(r,[["enter",e[o][1],t],["exit",e[o][1],t]]);r=mh(r,[["enter",d,t],["enter",l,t],["exit",l,t],["enter",u,t]]),r=mh(r,sC(t.parser.constructs.insideSpan.null,e.slice(o+1,n),t)),r=mh(r,[["exit",u,t],["enter",c,t],["exit",c,t],["exit",d,t]]);let p=0;if(e[n][1].end.offset-e[n][1].start.offset)p=2,r=mh(r,[["enter",e[n][1],t],["exit",e[n][1],t]]);Np(e,o-1,n-o+3,r),n=o+r.length-p-2;break}}n=-1;while(++n{L7e();yG={name:"attention",resolveAll:Pnr,tokenize:Mnr}});function Dnr(e,t,n){let r=0;return o;function o(f){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(f){if(Wd(f))return e.consume(f),i;if(f===64)return n(f);return c(f)}function i(f){if(f===43||f===45||f===46||dc(f))return r=1,s(f);return c(f)}function s(f){if(f===58)return e.consume(f),r=0,l;if((f===43||f===45||f===46||dc(f))&&r++<32)return e.consume(f),s;return r=0,c(f)}function l(f){if(f===62)return e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t;if(f===null||f===32||f===60||NI(f))return n(f);return e.consume(f),l}function c(f){if(f===64)return e.consume(f),u;if(qzt(f))return e.consume(f),c;return n(f)}function u(f){return dc(f)?d(f):n(f)}function d(f){if(f===46)return e.consume(f),r=0,u;if(f===62)return e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t;return p(f)}function p(f){if((f===45||dc(f))&&r++<63){let m=f===45?p:d;return e.consume(f),m}return n(f)}}var B7e;var t_t=P(()=>{Qa();B7e={name:"autolink",tokenize:Dnr}});function Lnr(e,t,n){return r;function r(a){return Lr(a)?Wr(e,o,"linePrefix")(a):o(a)}function o(a){return a===null||Xn(a)?t(a):n(a)}}var vx;var ose=P(()=>{zc();Qa();vx={partial:!0,tokenize:Lnr}});function Bnr(e,t,n){let r=this;return o;function o(i){if(i===62){let s=r.containerState;if(!s.open)e.enter("blockQuote",{_container:!0}),s.open=!0;return e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(i),e.exit("blockQuoteMarker"),a}return n(i)}function a(i){if(Lr(i))return e.enter("blockQuotePrefixWhitespace"),e.consume(i),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t;return e.exit("blockQuotePrefix"),t(i)}}function Onr(e,t,n){let r=this;return o;function o(i){if(Lr(i))return Wr(e,a,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(i);return a(i)}function a(i){return e.attempt(ase,t,n)(i)}}function Fnr(e){e.exit("blockQuote")}var ase;var n_t=P(()=>{zc();Qa();ase={continuation:{tokenize:Onr},exit:Fnr,name:"blockQuote",tokenize:Bnr}});function Unr(e,t,n){return r;function r(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),o}function o(a){if(Qzt(a))return e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),t;return n(a)}}var ise;var r_t=P(()=>{Qa();ise={name:"characterEscape",tokenize:Unr}});function Nnr(e,t,n){let r=this,o=0,a,i;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){if(d===35)return e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),c;return e.enter("characterReferenceValue"),a=31,i=dc,u(d)}function c(d){if(d===88||d===120)return e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,i=Zzt,u;return e.enter("characterReferenceValue"),a=7,i=gG,u(d)}function u(d){if(d===59&&o){let p=e.exit("characterReferenceValue");if(i===dc&&!nD(r.sliceSerialize(p)))return n(d);return e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),t}if(i(d)&&o++{tse();Qa();sse={name:"characterReference",tokenize:Nnr}});function znr(e,t,n){let r=this;return o;function o(i){if(i===null)return n(i);return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),a}function a(i){return r.parser.lazy[r.now().line]?n(i):t(i)}}var vG;var O7e=P(()=>{vG={partial:!0,tokenize:znr}});function _nr(e,t,n){let r=this,o={partial:!0,tokenize:C},a=0,i=0,s;return l;function l(E){return c(E)}function c(E){let T=r.events[r.events.length-1];return a=T&&T[1].type==="linePrefix"?T[2].sliceSerialize(T[1],!0).length:0,s=E,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),u(E)}function u(E){if(E===s)return i++,e.consume(E),u;if(i<3)return n(E);return e.exit("codeFencedFenceSequence"),Lr(E)?Wr(e,d,"whitespace")(E):d(E)}function d(E){if(E===null||Xn(E))return e.exit("codeFencedFence"),r.interrupt?t(E):e.check(vG,g,w)(E);return e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(E)}function p(E){if(E===null||Xn(E))return e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(E);if(Lr(E))return e.exit("chunkString"),e.exit("codeFencedFenceInfo"),Wr(e,f,"whitespace")(E);if(E===96&&E===s)return n(E);return e.consume(E),p}function f(E){if(E===null||Xn(E))return d(E);return e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),m(E)}function m(E){if(E===null||Xn(E))return e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(E);if(E===96&&E===s)return n(E);return e.consume(E),m}function g(E){return e.attempt(o,w,v)(E)}function v(E){return e.enter("lineEnding"),e.consume(E),e.exit("lineEnding"),y}function y(E){return a>0&&Lr(E)?Wr(e,x,"linePrefix",a+1)(E):x(E)}function x(E){if(E===null||Xn(E))return e.check(vG,g,w)(E);return e.enter("codeFlowValue"),A(E)}function A(E){if(E===null||Xn(E))return e.exit("codeFlowValue"),x(E);return e.consume(E),A}function w(E){return e.exit("codeFenced"),t(E)}function C(E,T,I){let k=0;return L;function L(N){return E.enter("lineEnding"),E.consume(N),E.exit("lineEnding"),O}function O(N){return E.enter("codeFencedFence"),Lr(N)?Wr(E,B,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(N):B(N)}function B(N){if(N===s)return E.enter("codeFencedFenceSequence"),U(N);return I(N)}function U(N){if(N===s)return k++,E.consume(N),U;if(k>=i)return E.exit("codeFencedFenceSequence"),Lr(N)?Wr(E,D,"whitespace")(N):D(N);return I(N)}function D(N){if(N===null||Xn(N))return E.exit("codeFencedFence"),T(N);return I(N)}}}var lse;var a_t=P(()=>{zc();Qa();O7e();lse={concrete:!0,name:"codeFenced",tokenize:_nr}});function Vnr(e,t,n){return r;function r(s){return e.enter("codeIndented"),D7e(e,o,n,"linePrefix",4,4)(s)}function o(s){if(s===null)return i(s);if(Xn(s))return e.attempt(Hnr,o,i)(s);return e.enter("codeFlowValue"),a(s)}function a(s){if(s===null||Xn(s))return e.exit("codeFlowValue"),o(s);return e.consume(s),a}function i(s){return e.exit("codeIndented"),t(s)}}function Gnr(e,t,n){let r=this;return o;function o(i){if(r.parser.lazy[r.now().line])return n(i);if(Xn(i))return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),o;return D7e(e,t,a,"linePrefix",4,4)(i)}function a(i){return Xn(i)?o(i):n(i)}}var bG,Hnr;var i_t=P(()=>{zc();Qa();bG={name:"codeIndented",tokenize:Vnr},Hnr={partial:!0,tokenize:Gnr}});function qnr(e){let t=e.length-4,n=3,r,o;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){r=n;while(++r{Qa();F7e={name:"codeText",previous:Znr,resolve:qnr,tokenize:Qnr}});class U7e{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");if(ethis.left.length)return this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse();return this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);if(n)xG(this.left,n);return o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),xG(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),xG(this.right,e.reverse())}setCursor(e){if(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)return;if(e{};function Ynr(e){return cse(e),e}function Knr(e,t){let n;return r;function r(s){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),o(s)}function o(s){if(s===null)return a(s);if(Xn(s))return e.check(Wnr,i,a)(s);return e.consume(s),o}function a(s){return e.exit("chunkContent"),e.exit("content"),t(s)}function i(s){return e.consume(s),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,o}}function Jnr(e,t,n){let r=this;return o;function o(i){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),Wr(e,a,"linePrefix")}function a(i){if(i===null||Xn(i))return n(i);let s=r.events[r.events.length-1];if(!r.parser.constructs.disable.null.includes("codeIndented")&&s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4)return t(i);return e.interrupt(r.parser.constructs.flow,n,t)(i)}}var z7e,Wnr;var l_t=P(()=>{zc();Qa();N7e();z7e={resolve:Ynr,tokenize:Knr},Wnr={partial:!0,tokenize:Jnr}});function use(e,t,n,r,o,a,i,s,l){let c=l||Number.POSITIVE_INFINITY,u=0;return d;function d(y){if(y===60)return e.enter(r),e.enter(o),e.enter(a),e.consume(y),e.exit(a),p;if(y===null||y===32||y===41||NI(y))return n(y);return e.enter(r),e.enter(i),e.enter(s),e.enter("chunkString",{contentType:"string"}),g(y)}function p(y){if(y===62)return e.enter(a),e.consume(y),e.exit(a),e.exit(o),e.exit(r),t;return e.enter(s),e.enter("chunkString",{contentType:"string"}),f(y)}function f(y){if(y===62)return e.exit("chunkString"),e.exit(s),p(y);if(y===null||y===60||Xn(y))return n(y);return e.consume(y),y===92?m:f}function m(y){if(y===60||y===62||y===92)return e.consume(y),f;return f(y)}function g(y){if(!u&&(y===null||y===41||ma(y)))return e.exit("chunkString"),e.exit(s),e.exit(i),e.exit(r),t(y);if(u{Qa()});function dse(e,t,n,r,o,a){let i=this,s=0,l;return c;function c(f){return e.enter(r),e.enter(o),e.consume(f),e.exit(o),e.enter(a),u}function u(f){if(s>999||f===null||f===91||f===93&&!l||f===94&&!s&&"_hiddenFootnoteSupport"in i.parser.constructs)return n(f);if(f===93)return e.exit(a),e.enter(o),e.consume(f),e.exit(o),e.exit(r),t;if(Xn(f))return e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),u;return e.enter("chunkString",{contentType:"string"}),d(f)}function d(f){if(f===null||f===91||f===93||Xn(f)||s++>999)return e.exit("chunkString"),u(f);if(e.consume(f),!l)l=!Lr(f);return f===92?p:d}function p(f){if(f===91||f===92||f===93)return e.consume(f),s++,d;return d(f)}}var H7e=P(()=>{Qa()});function pse(e,t,n,r,o,a){let i;return s;function s(p){if(p===34||p===39||p===40)return e.enter(r),e.enter(o),e.consume(p),e.exit(o),i=p===40?41:p,l;return n(p)}function l(p){if(p===i)return e.enter(o),e.consume(p),e.exit(o),e.exit(r),t;return e.enter(a),c(p)}function c(p){if(p===i)return e.exit(a),l(i);if(p===null)return n(p);if(Xn(p))return e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),Wr(e,c,"linePrefix");return e.enter("chunkString",{contentType:"string"}),u(p)}function u(p){if(p===i||p===null||Xn(p))return e.exit("chunkString"),c(p);return e.consume(p),p===92?d:u}function d(p){if(p===i||p===92)return e.consume(p),u;return u(p)}}var V7e=P(()=>{zc();Qa()});function HI(e,t){let n;return r;function r(o){if(Xn(o))return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n=!0,r;if(Lr(o))return Wr(e,r,n?"linePrefix":"lineSuffix")(o);return t(o)}}var G7e=P(()=>{zc();Qa()});function $nr(e,t,n){let r=this,o;return a;function a(f){return e.enter("definition"),i(f)}function i(f){return dse.call(r,e,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function s(f){if(o=ym(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===58)return e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),l;return n(f)}function l(f){return ma(f)?HI(e,c)(f):c(f)}function c(f){return use(e,u,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function u(f){return e.attempt(jnr,d,d)(f)}function d(f){return Lr(f)?Wr(e,p,"whitespace")(f):p(f)}function p(f){if(f===null||Xn(f))return e.exit("definition"),r.parser.defined.push(o),t(f);return n(f)}}function err(e,t,n){return r;function r(s){return ma(s)?HI(e,o)(s):n(s)}function o(s){return pse(e,a,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function a(s){return Lr(s)?Wr(e,i,"whitespace")(s):i(s)}function i(s){return s===null||Xn(s)?t(s):n(s)}}var q7e,jnr;var c_t=P(()=>{_7e();H7e();zc();V7e();G7e();Qa();q7e={name:"definition",tokenize:$nr},jnr={partial:!0,tokenize:err}});function trr(e,t,n){return r;function r(a){return e.enter("hardBreakEscape"),e.consume(a),o}function o(a){if(Xn(a))return e.exit("hardBreakEscape"),t(a);return n(a)}}var Z7e;var u_t=P(()=>{Qa();Z7e={name:"hardBreakEscape",tokenize:trr}});function nrr(e,t){let n=e.length-2,r=3;if(e[r][1].type==="whitespace")r+=2;if(n-2>r&&e[n][1].type==="whitespace")n-=2;if(e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace"))n-=r+1===n?2:4;if(n>r){let o={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},a={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"};Np(e,r,n-r+1,[["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t]])}return e}function rrr(e,t,n){let r=0;return o;function o(u){return e.enter("atxHeading"),a(u)}function a(u){return e.enter("atxHeadingSequence"),i(u)}function i(u){if(u===35&&r++<6)return e.consume(u),i;if(u===null||ma(u))return e.exit("atxHeadingSequence"),s(u);return n(u)}function s(u){if(u===35)return e.enter("atxHeadingSequence"),l(u);if(u===null||Xn(u))return e.exit("atxHeading"),t(u);if(Lr(u))return Wr(e,s,"whitespace")(u);return e.enter("atxHeadingText"),c(u)}function l(u){if(u===35)return e.consume(u),l;return e.exit("atxHeadingSequence"),s(u)}function c(u){if(u===null||u===35||ma(u))return e.exit("atxHeadingText"),s(u);return e.consume(u),c}}var Q7e;var d_t=P(()=>{zc();Qa();Q7e={name:"headingAtx",resolve:nrr,tokenize:rrr}});var p_t,X7e;var f_t=P(()=>{p_t=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],X7e=["pre","script","style","textarea"]});function arr(e){let t=e.length;while(t--)if(e[t][0]==="enter"&&e[t][1].type==="htmlFlow")break;if(t>1&&e[t-2][1].type==="linePrefix")e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2);return e}function irr(e,t,n){let r=this,o,a,i,s,l;return c;function c(j){return u(j)}function u(j){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(j),d}function d(j){if(j===33)return e.consume(j),p;if(j===47)return e.consume(j),a=!0,g;if(j===63)return e.consume(j),o=3,r.interrupt?t:H;if(Wd(j))return e.consume(j),i=String.fromCharCode(j),v;return n(j)}function p(j){if(j===45)return e.consume(j),o=2,f;if(j===91)return e.consume(j),o=5,s=0,m;if(Wd(j))return e.consume(j),o=4,r.interrupt?t:H;return n(j)}function f(j){if(j===45)return e.consume(j),r.interrupt?t:H;return n(j)}function m(j){if(j==="CDATA[".charCodeAt(s++)){if(e.consume(j),s===6)return r.interrupt?t:B;return m}return n(j)}function g(j){if(Wd(j))return e.consume(j),i=String.fromCharCode(j),v;return n(j)}function v(j){if(j===null||j===47||j===62||ma(j)){let oe=j===47,J=i.toLowerCase();if(!oe&&!a&&X7e.includes(J))return o=1,r.interrupt?t(j):B(j);if(p_t.includes(i.toLowerCase())){if(o=6,oe)return e.consume(j),y;return r.interrupt?t(j):B(j)}return o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(j):a?x(j):A(j)}if(j===45||dc(j))return e.consume(j),i+=String.fromCharCode(j),v;return n(j)}function y(j){if(j===62)return e.consume(j),r.interrupt?t:B;return n(j)}function x(j){if(Lr(j))return e.consume(j),x;return L(j)}function A(j){if(j===47)return e.consume(j),L;if(j===58||j===95||Wd(j))return e.consume(j),w;if(Lr(j))return e.consume(j),A;return L(j)}function w(j){if(j===45||j===46||j===58||j===95||dc(j))return e.consume(j),w;return C(j)}function C(j){if(j===61)return e.consume(j),E;if(Lr(j))return e.consume(j),C;return A(j)}function E(j){if(j===null||j===60||j===61||j===62||j===96)return n(j);if(j===34||j===39)return e.consume(j),l=j,T;if(Lr(j))return e.consume(j),E;return I(j)}function T(j){if(j===l)return e.consume(j),l=null,k;if(j===null||Xn(j))return n(j);return e.consume(j),T}function I(j){if(j===null||j===34||j===39||j===47||j===60||j===61||j===62||j===96||ma(j))return C(j);return e.consume(j),I}function k(j){if(j===47||j===62||Lr(j))return A(j);return n(j)}function L(j){if(j===62)return e.consume(j),O;return n(j)}function O(j){if(j===null||Xn(j))return B(j);if(Lr(j))return e.consume(j),O;return n(j)}function B(j){if(j===45&&o===2)return e.consume(j),_;if(j===60&&o===1)return e.consume(j),G;if(j===62&&o===4)return e.consume(j),te;if(j===63&&o===3)return e.consume(j),H;if(j===93&&o===5)return e.consume(j),q;if(Xn(j)&&(o===6||o===7))return e.exit("htmlFlowData"),e.check(orr,ie,U)(j);if(j===null||Xn(j))return e.exit("htmlFlowData"),U(j);return e.consume(j),B}function U(j){return e.check(vG,D,ie)(j)}function D(j){return e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),N}function N(j){if(j===null||Xn(j))return U(j);return e.enter("htmlFlowData"),B(j)}function _(j){if(j===45)return e.consume(j),H;return B(j)}function G(j){if(j===47)return e.consume(j),i="",Z;return B(j)}function Z(j){if(j===62){let oe=i.toLowerCase();if(X7e.includes(oe))return e.consume(j),te;return B(j)}if(Wd(j)&&i.length<8)return e.consume(j),i+=String.fromCharCode(j),Z;return B(j)}function q(j){if(j===93)return e.consume(j),H;return B(j)}function H(j){if(j===62)return e.consume(j),te;if(j===45&&o===2)return e.consume(j),H;return B(j)}function te(j){if(j===null||Xn(j))return e.exit("htmlFlowData"),ie(j);return e.consume(j),te}function ie(j){return e.exit("htmlFlow"),t(j)}}function srr(e,t,n){return r;function r(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(vx,t,n)}}var W7e,orr;var m_t=P(()=>{Qa();f_t();ose();O7e();W7e={concrete:!0,name:"htmlFlow",resolveTo:arr,tokenize:irr},orr={partial:!0,tokenize:srr}});function lrr(e,t,n){let r=this,o,a,i;return s;function s(H){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(H),l}function l(H){if(H===33)return e.consume(H),c;if(H===47)return e.consume(H),C;if(H===63)return e.consume(H),A;if(Wd(H))return e.consume(H),I;return n(H)}function c(H){if(H===45)return e.consume(H),u;if(H===91)return e.consume(H),a=0,m;if(Wd(H))return e.consume(H),x;return n(H)}function u(H){if(H===45)return e.consume(H),f;return n(H)}function d(H){if(H===null)return n(H);if(H===45)return e.consume(H),p;if(Xn(H))return i=d,G(H);return e.consume(H),d}function p(H){if(H===45)return e.consume(H),f;return d(H)}function f(H){return H===62?_(H):H===45?p(H):d(H)}function m(H){if(H==="CDATA[".charCodeAt(a++))return e.consume(H),a===6?g:m;return n(H)}function g(H){if(H===null)return n(H);if(H===93)return e.consume(H),v;if(Xn(H))return i=g,G(H);return e.consume(H),g}function v(H){if(H===93)return e.consume(H),y;return g(H)}function y(H){if(H===62)return _(H);if(H===93)return e.consume(H),y;return g(H)}function x(H){if(H===null||H===62)return _(H);if(Xn(H))return i=x,G(H);return e.consume(H),x}function A(H){if(H===null)return n(H);if(H===63)return e.consume(H),w;if(Xn(H))return i=A,G(H);return e.consume(H),A}function w(H){return H===62?_(H):A(H)}function C(H){if(Wd(H))return e.consume(H),E;return n(H)}function E(H){if(H===45||dc(H))return e.consume(H),E;return T(H)}function T(H){if(Xn(H))return i=T,G(H);if(Lr(H))return e.consume(H),T;return _(H)}function I(H){if(H===45||dc(H))return e.consume(H),I;if(H===47||H===62||ma(H))return k(H);return n(H)}function k(H){if(H===47)return e.consume(H),_;if(H===58||H===95||Wd(H))return e.consume(H),L;if(Xn(H))return i=k,G(H);if(Lr(H))return e.consume(H),k;return _(H)}function L(H){if(H===45||H===46||H===58||H===95||dc(H))return e.consume(H),L;return O(H)}function O(H){if(H===61)return e.consume(H),B;if(Xn(H))return i=O,G(H);if(Lr(H))return e.consume(H),O;return k(H)}function B(H){if(H===null||H===60||H===61||H===62||H===96)return n(H);if(H===34||H===39)return e.consume(H),o=H,U;if(Xn(H))return i=B,G(H);if(Lr(H))return e.consume(H),B;return e.consume(H),D}function U(H){if(H===o)return e.consume(H),o=void 0,N;if(H===null)return n(H);if(Xn(H))return i=U,G(H);return e.consume(H),U}function D(H){if(H===null||H===34||H===39||H===60||H===61||H===96)return n(H);if(H===47||H===62||ma(H))return k(H);return e.consume(H),D}function N(H){if(H===47||H===62||ma(H))return k(H);return n(H)}function _(H){if(H===62)return e.consume(H),e.exit("htmlTextData"),e.exit("htmlText"),t;return n(H)}function G(H){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(H),e.exit("lineEnding"),Z}function Z(H){return Lr(H)?Wr(e,q,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(H):q(H)}function q(H){return e.enter("htmlTextData"),i(H)}}var Y7e;var h_t=P(()=>{zc();Qa();Y7e={name:"htmlText",tokenize:lrr}});function prr(e){let t=-1,n=[];while(++t0&&o[o.length-1]._balanced)o.pop();a=o[o.length-1]}return s;function s(p){if(!a)return n(p);if(a._inactive)return d(p);return i=r.parser.defined.includes(ym(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(p),e.exit("labelMarker"),e.exit("labelEnd"),l}function l(p){if(p===40)return e.attempt(crr,u,i?u:d)(p);if(p===91)return e.attempt(urr,u,i?c:d)(p);return i?u(p):d(p)}function c(p){return e.attempt(drr,u,d)(p)}function u(p){return o.pop(),t(p)}function d(p){return a._balanced=!0,n(p)}}function hrr(e,t,n){return r;function r(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),o}function o(d){return ma(d)?HI(e,a)(d):a(d)}function a(d){if(d===41)return u(d);return use(e,i,s,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function i(d){return ma(d)?HI(e,l)(d):u(d)}function s(d){return n(d)}function l(d){if(d===34||d===39||d===40)return pse(e,c,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(d);return u(d)}function c(d){return ma(d)?HI(e,u)(d):u(d)}function u(d){if(d===41)return e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),t;return n(d)}}function grr(e,t,n){let r=this;return o;function o(s){return dse.call(r,e,a,i,"reference","referenceMarker","referenceString")(s)}function a(s){return r.parser.defined.includes(ym(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(s):n(s)}function i(s){return n(s)}}function yrr(e,t,n){return r;function r(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),o}function o(a){if(a===93)return e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),t;return n(a)}}var VI,crr,urr,drr;var fse=P(()=>{_7e();H7e();V7e();G7e();Qa();VI={name:"labelEnd",resolveAll:prr,resolveTo:frr,tokenize:mrr},crr={tokenize:hrr},urr={tokenize:grr},drr={tokenize:yrr}});function vrr(e,t,n){let r=this,o;return a;function a(l){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(l),e.exit("labelImageMarker"),i}function i(l){if(l===91)return e.enter("labelMarker"),e.consume(l),e.exit("labelMarker"),o=e.exit("labelImage"),s;return n(l)}function s(l){if(l===94&&"_hiddenFootnoteSupport"in r.parser.constructs)return n(l);return r._labelStarts=r._labelStarts||[],r._labelStarts.push(o),t(l)}}var K7e;var g_t=P(()=>{fse();K7e={name:"labelStartImage",resolveAll:VI.resolveAll,tokenize:vrr}});function brr(e,t,n){let r=this,o;return a;function a(s){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),o=e.exit("labelLink"),i}function i(s){if(s===94&&"_hiddenFootnoteSupport"in r.parser.constructs)return n(s);return r._labelStarts=r._labelStarts||[],r._labelStarts.push(o),t(s)}}var J7e;var y_t=P(()=>{fse();J7e={name:"labelStartLink",resolveAll:VI.resolveAll,tokenize:brr}});function xrr(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),Wr(e,t,"linePrefix")}}var AG;var v_t=P(()=>{zc();AG={name:"lineEnding",tokenize:xrr}});function Arr(e,t,n){let r=0,o;return a;function a(c){return e.enter("thematicBreak"),i(c)}function i(c){return o=c,s(c)}function s(c){if(c===o)return e.enter("thematicBreakSequence"),l(c);if(r>=3&&(c===null||Xn(c)))return e.exit("thematicBreak"),t(c);return n(c)}function l(c){if(c===o)return e.consume(c),r++,l;return e.exit("thematicBreakSequence"),Lr(c)?Wr(e,s,"whitespace")(c):s(c)}}var GI;var j7e=P(()=>{zc();Qa();GI={name:"thematicBreak",tokenize:Arr}});function Crr(e,t,n){let r=this,o=r.events[r.events.length-1],a=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,i=0;return s;function s(f){let m=r.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||f===r.containerState.marker:gG(f)){if(!r.containerState.type)r.containerState.type=m,e.enter(m,{_container:!0});if(m==="listUnordered")return e.enter("listItemPrefix"),f===42||f===45?e.check(GI,n,c)(f):c(f);if(!r.interrupt||f===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(f)}return n(f)}function l(f){if(gG(f)&&++i<10)return e.consume(f),l;if((!r.interrupt||i<2)&&(r.containerState.marker?f===r.containerState.marker:f===41||f===46))return e.exit("listItemValue"),c(f);return n(f)}function c(f){return e.enter("listItemMarker"),e.consume(f),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||f,e.check(vx,r.interrupt?n:u,e.attempt(wrr,p,d))}function u(f){return r.containerState.initialBlankLine=!0,a++,p(f)}function d(f){if(Lr(f))return e.enter("listItemPrefixWhitespace"),e.consume(f),e.exit("listItemPrefixWhitespace"),p;return n(f)}function p(f){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(f)}}function Err(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(vx,o,a);function o(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Wr(e,t,"listItemIndent",r.containerState.size+1)(s)}function a(s){if(r.containerState.furtherBlankLines||!Lr(s))return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,i(s);return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Srr,t,i)(s)}function i(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,Wr(e,e.attempt(vm,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function Irr(e,t,n){let r=this;return Wr(e,o,"listItemIndent",r.containerState.size+1);function o(a){let i=r.events[r.events.length-1];return i&&i[1].type==="listItemIndent"&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(a):n(a)}}function Trr(e){e.exit(this.containerState.type)}function krr(e,t,n){let r=this;return Wr(e,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(a){let i=r.events[r.events.length-1];return!Lr(a)&&i&&i[1].type==="listItemPrefixWhitespace"?t(a):n(a)}}var vm,wrr,Srr;var b_t=P(()=>{zc();Qa();ose();j7e();vm={continuation:{tokenize:Err},exit:Trr,name:"list",tokenize:Crr},wrr={partial:!0,tokenize:krr},Srr={partial:!0,tokenize:Irr}});function Rrr(e,t){let n=new iC,r=e.length,o,a,i;while(r--)if(e[r][0]==="enter"){if(e[r][1].type==="content"){o=r;break}if(e[r][1].type==="paragraph")a=r}else{if(e[r][1].type==="content")n.add(r,1,[]);if(!i&&e[r][1].type==="definition")i=r}let s={type:"setextHeading",start:{...e[o][1].start},end:{...e[e.length-1][1].end}};if(e[a][1].type="setextHeadingText",i)n.add(a,0,[["enter",s,t]]),n.add(i+1,0,[["exit",e[o][1],t]]),e[o][1].end={...e[i][1].end};else e[o][1]=s;return n.add(e.length,0,[["exit",s,t]]),n.consume(e),e}function Prr(e,t,n){let r=this,o;return a;function a(c){let u=r.events.length,d;while(u--)if(r.events[u][1].type!=="lineEnding"&&r.events[u][1].type!=="linePrefix"&&r.events[u][1].type!=="content"){d=r.events[u][1].type==="paragraph";break}if(!r.parser.lazy[r.now().line]&&(r.interrupt||d))return e.enter("setextHeadingLine"),o=c,i(c);return n(c)}function i(c){return e.enter("setextHeadingLineSequence"),s(c)}function s(c){if(c===o)return e.consume(c),s;return e.exit("setextHeadingLineSequence"),Lr(c)?Wr(e,l,"lineSuffix")(c):l(c)}function l(c){if(c===null||Xn(c))return e.exit("setextHeadingLine"),t(c);return n(c)}}var mse;var x_t=P(()=>{zc();Qa();mse={name:"setextUnderline",resolveTo:Rrr,tokenize:Prr}});var hse=P(()=>{e_t();t_t();ose();n_t();r_t();o_t();a_t();i_t();s_t();l_t();c_t();u_t();d_t();m_t();h_t();fse();g_t();y_t();v_t();b_t();x_t();j7e()});function Mrr(e){let t=this,n=e.attempt(vx,r,e.attempt(this.parser.constructs.flowInitial,o,Wr(e,e.attempt(this.parser.constructs.flow,o,e.attempt(z7e,o)),"linePrefix")));return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function o(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var A_t;var w_t=P(()=>{hse();zc();A_t={tokenize:Mrr}});function I_t(e){return{resolveAll:T_t(e==="text"?Drr:void 0),tokenize:t};function t(n){let r=this,o=this.parser.constructs[e],a=n.attempt(o,i,s);return i;function i(u){return c(u)?a(u):s(u)}function s(u){if(u===null){n.consume(u);return}return n.enter("data"),n.consume(u),l}function l(u){if(c(u))return n.exit("data"),a(u);return n.consume(u),l}function c(u){if(u===null)return!0;let d=o[u],p=-1;if(d)while(++p{S_t={resolveAll:T_t()},C_t=I_t("string"),E_t=I_t("text")});var eke={};Xs(eke,{attentionMarkers:()=>_rr,contentInitial:()=>Brr,disable:()=>Hrr,document:()=>Lrr,flow:()=>Frr,flowInitial:()=>Orr,insideSpan:()=>zrr,string:()=>Urr,text:()=>Nrr});var Lrr,Brr,Orr,Frr,Urr,Nrr,zrr,_rr,Hrr;var k_t=P(()=>{hse();$7e();Lrr={[42]:vm,[43]:vm,[45]:vm,[48]:vm,[49]:vm,[50]:vm,[51]:vm,[52]:vm,[53]:vm,[54]:vm,[55]:vm,[56]:vm,[57]:vm,[62]:ase},Brr={[91]:q7e},Orr={[-2]:bG,[-1]:bG,[32]:bG},Frr={[35]:Q7e,[42]:GI,[45]:[mse,GI],[60]:W7e,[61]:mse,[95]:GI,[96]:lse,[126]:lse},Urr={[38]:sse,[92]:ise},Nrr={[-5]:AG,[-4]:AG,[-3]:AG,[33]:K7e,[38]:sse,[42]:yG,[60]:[B7e,Y7e],[91]:J7e,[92]:[Z7e,ise],[93]:VI,[95]:yG,[96]:F7e},zrr={null:[yG,S_t]},_rr={null:[42,95]},Hrr={null:[]}});function R_t(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},o={},a=[],i=[],s=[],l=!0,c={attempt:k(T),check:k(I),consume:w,enter:C,exit:E,interrupt:k(I,{interrupt:!0})},u={code:null,containerState:{},defineSkip:y,events:[],now:v,parser:e,previous:null,sliceSerialize:m,sliceStream:g,write:f},d=t.tokenize.call(u,c),p;if(t.resolveAll)a.push(t);return u;function f(U){if(i=mh(i,U),x(),i[i.length-1]!==null)return[];return L(t,0),u.events=sC(a,u.events,u),u.events}function m(U,D){return Grr(g(U),D)}function g(U){return Vrr(i,U)}function v(){let{_bufferIndex:U,_index:D,line:N,column:_,offset:G}=r;return{_bufferIndex:U,_index:D,line:N,column:_,offset:G}}function y(U){o[U.line]=U.column,B()}function x(){while(r._index-1){let s=i[0];if(typeof s==="string")i[0]=s.slice(r);else i.shift()}if(a>0)i.push(e[o].slice(0,a))}return i}function Grr(e,t){let n=-1,r=[],o;while(++n{Qa()});function tke(e){let r={constructs:nse([eke,...(e||{}).extensions||[]]),content:o(Xzt),defined:[],document:o(Jzt),flow:o(A_t),lazy:{},string:o(C_t),text:o(E_t)};return r;function o(a){return i;function i(s){return R_t(r,a,s)}}}var M_t=P(()=>{M7e();Wzt();jzt();w_t();$7e();k_t();P_t()});function nke(e){while(!cse(e));return e}var D_t=P(()=>{N7e()});function rke(){let e=1,t="",n=!0,r;return o;function o(a,i,s){a=t+(typeof a==="string"?a.toString():new TextDecoder(i||void 0).decode(a));let l=[],c=0;if(t="",n){if(a.charCodeAt(0)===65279)c++;n=void 0}while(c{L_t=/[\0\t\n\r]/g});var O_t=P(()=>{M_t();D_t();B_t()});function F_t(e){return e.replace(qrr,Zrr)}function Zrr(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let o=n.charCodeAt(1),a=o===120||o===88;return rse(n.slice(a?2:1),a?16:10)}return nD(n)||e}var qrr;var U_t=P(()=>{tse();qrr=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi});function oke(e,t,n){if(t&&typeof t==="object")n=t,t=void 0;return Qrr(n)(nke(tke(n).document().write(rke()(e,t,!0))))}function Qrr(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ce),autolinkProtocol:k,autolinkEmail:k,atxHeading:a(Le),blockQuote:a(fe),characterEscape:k,characterReference:k,codeFenced:a(Ae),codeFencedFenceInfo:i,codeFencedFenceMeta:i,codeIndented:a(Ae,i),codeText:a(Ee,i),codeTextData:k,data:k,codeFlowValue:k,definition:a(pe),definitionDestinationString:i,definitionLabelString:i,definitionTitleString:i,emphasis:a(Re),hardBreakEscape:a(Ne),hardBreakTrailing:a(Ne),htmlFlow:a(be,i),htmlFlowData:k,htmlText:a(be,i),htmlTextData:k,image:a(ye),label:i,link:a(ce),listItem:a(ke),listItemValue:p,listOrdered:a(ue,d),listUnordered:a(ue),paragraph:a(se),reference:j,referenceString:i,resourceDestinationString:i,resourceTitleString:i,setextHeading:a(Le),strong:a(qe),thematicBreak:a(Qe)},exit:{atxHeading:l(),atxHeadingSequence:C,autolink:l(),autolinkEmail:Se,autolinkProtocol:ne,blockQuote:l(),characterEscapeValue:L,characterReferenceMarkerHexadecimal:J,characterReferenceMarkerNumeric:J,characterReferenceValue:Y,characterReference:ae,codeFenced:l(v),codeFencedFence:g,codeFencedFenceInfo:f,codeFencedFenceMeta:m,codeFlowValue:L,codeIndented:l(y),codeText:l(N),codeTextData:L,data:L,definition:l(),definitionDestinationString:w,definitionLabelString:x,definitionTitleString:A,emphasis:l(),hardBreakEscape:l(B),hardBreakTrailing:l(B),htmlFlow:l(U),htmlFlowData:L,htmlText:l(D),htmlTextData:L,image:l(G),label:q,labelText:Z,lineEnding:O,link:l(_),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:oe,resourceDestinationString:H,resourceTitleString:te,resource:ie,setextHeading:l(I),setextHeadingLineSequence:T,setextHeadingText:E,strong:l(),thematicBreak:l()}};__t(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(ee){let K={type:"root",children:[]},we={stack:[K],tokenStack:[],config:t,enter:s,exit:c,buffer:i,resume:u,data:n},ze=[],tt=-1;while(++tt0){let Pe=we.tokenStack[we.tokenStack.length-1];(Pe[1]||N_t).call(we,void 0,Pe[0])}K.position={start:lC(ee.length>0?ee[0][1].start:{line:1,column:1,offset:0}),end:lC(ee.length>0?ee[ee.length-2][1].end:{line:1,column:1,offset:0})},tt=-1;while(++tt{ese();O_t();U_t();tse();E7e();z_t={}.hasOwnProperty});var V_t=P(()=>{H_t()});function gse(e){let t=this;t.parser=n;function n(r){return oke(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}var G_t=P(()=>{V_t()});var q_t=P(()=>{G_t()});var yse=-1,oD=0,qI=1,aD=2,wG=3,SG=4,CG=5,EG=6,vse=7,bse=8;var Wrr,Q_t,Z_t=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw TypeError("unable to deserialize "+e)}return new Q_t[e](t)},Yrr=(e,t)=>{let n=(o,a)=>(e.set(a,o),o),r=(o)=>{if(e.has(o))return e.get(o);let[a,i]=t[o];switch(a){case oD:case yse:return n(i,o);case qI:{let s=n([],o);for(let l of i)s.push(r(l));return s}case aD:{let s=n({},o);for(let[l,c]of i){let u=r(l),d=r(c);if(u==="__proto__")Wrr(s,u,{value:d,configurable:!0,enumerable:!0,writable:!0});else s[u]=d}return s}case wG:return n(new Date(i),o);case SG:{let{source:s,flags:l}=i;return n(new RegExp(s,l),o)}case CG:{let s=n(new Map,o);for(let[l,c]of i)s.set(r(l),r(c));return s}case EG:{let s=n(new Set,o);for(let l of i)s.add(r(l));return s}case vse:{let{name:s,message:l}=i;return n(typeof Q_t[s]==="function"?Z_t(s,l):Error(l),o)}case bse:return n(BigInt(i),o);case"BigInt":return n(Object(BigInt(i)),o);case"ArrayBuffer":return n(new Uint8Array(i).buffer,i);case"DataView":{let{buffer:s}=new Uint8Array(i);return n(new DataView(s),i)}case"-0":return-0}return n(Z_t(a,i),o)};return r},ake=(e)=>Yrr(new Map,e)(0);var X_t=P(()=>{({defineProperty:Wrr}=Object),Q_t=typeof self==="object"?self:globalThis});var ZI="",Krr,Jrr,jrr,IG=(e)=>{let t=typeof e;if(t!=="object"||!e)return[oD,t];let n=Krr.call(e).slice(8,-1);switch(n){case"Array":return[qI,ZI];case"Object":return[aD,ZI];case"Date":return[wG,ZI];case"RegExp":return[SG,ZI];case"Map":return[CG,ZI];case"Set":return[EG,ZI];case"DataView":return[qI,n]}if(n.includes("Array"))return[qI,n];if(e instanceof Error)return[vse,e.name||"Error"];return[aD,n]},xse=([e,t])=>e===oD&&(t==="function"||t==="symbol"),$rr=(e,t,n,r)=>{let o=(i,s)=>{let l=r.push(i)-1;return n.set(s,l),l},a=(i)=>{if(n.has(i))return n.get(i);let[s,l]=IG(i);switch(s){case oD:{let u=i;switch(l){case"bigint":s=bse,u=i.toString();break;case"number":if(!i&&jrr(i,-0))return r.push(["-0"])-1;break;case"function":case"symbol":if(e)throw TypeError("unable to serialize "+l);u=null;break;case"undefined":return o([yse],i)}return o([s,u],i)}case qI:{if(l){let p=i;if(l==="DataView")p=new Uint8Array(i.buffer);else if(l==="ArrayBuffer")p=new Uint8Array(i);return o([l,[...p]],i)}let u=[],d=o([s,u],i);for(let p of i)u.push(a(p));return d}case aD:{if(l)switch(l){case"BigInt":return o([l,i.toString()],i);case"Boolean":case"Number":case"String":return o([l,i.valueOf()],i)}if(t&&"toJSON"in i)return a(i.toJSON());let u=[],d=o([s,u],i);for(let p of Jrr(i))if(e||!xse(IG(i[p])))u.push([a(p),a(i[p])]);return d}case wG:return o([s,isNaN(i.getTime())?ZI:i.toISOString()],i);case SG:{let{source:u,flags:d}=i;return o([s,{source:u,flags:d}],i)}case CG:{let u=[],d=o([s,u],i);for(let[p,f]of i)if(e||!(xse(IG(p))||xse(IG(f))))u.push([a(p),a(f)]);return d}case EG:{let u=[],d=o([s,u],i);for(let p of i)if(e||!xse(IG(p)))u.push(a(p));return d}}let{message:c}=i;return o([s,{name:l,message:c}],i)};return a},ike=(e,{json:t,lossy:n}={})=>{let r=[];return $rr(!(t||n),!!t,new Map,r)(e),r};var W_t=P(()=>{({toString:Krr}={}),{keys:Jrr,is:jrr}=Object});var H3;var Ase=P(()=>{X_t();W_t();H3=typeof structuredClone==="function"?(e,t)=>t&&(("json"in t)||("lossy"in t))?ake(ike(e,t)):structuredClone(e):(e,t)=>ake(ike(e,t))});function eor(e,t){let n=[{type:"text",value:"↩"}];if(t>1)n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]});return n}function tor(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function Y_t(e){let t=typeof e.options.clobberPrefix==="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||eor,r=e.options.footnoteBackLabel||tor,o=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",i=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[],l=-1;while(++l0)m.push({type:"text",value:" "});let x=typeof n==="string"?n:n(l,f);if(typeof x==="string")x={type:"text",value:x};m.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+p+(f>1?"-"+f:""),dataFootnoteBackref:"",ariaLabel:typeof r==="string"?r:r(l,f),className:["data-footnote-backref"]},children:Array.isArray(x)?x:[x]})}let v=u[u.length-1];if(v&&v.type==="element"&&v.tagName==="p"){let x=v.children[v.children.length-1];if(x&&x.type==="text")x.value+=" ";else v.children.push({type:"text",value:" "});v.children.push(...m)}else u.push(...m);let y={type:"element",tagName:"li",properties:{id:t+"fn-"+p},children:e.wrap(u,!0)};e.patch(c,y),s.push(y)}if(s.length===0)return;return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...H3(i),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:` -`},{type:"element",tagName:"ol",properties:{},children:e.wrap(s,!0)},{type:"text",value:` -`}]}}var K_t=P(()=>{Ase();_I()});function nor(e){let t=[],n=-1;while(++n{};function J_t(e){return e}function TG(e,t,n,r){let o;if(typeof t==="function"&&typeof n!=="function")r=n,n=t;else o=t;let a=cC(o),i=r?-1:1;s(e,void 0,[])();function s(l,c,u){let d=l&&typeof l==="object"?l:{};if(typeof d.type==="string"){let f=typeof d.tagName==="string"?d.tagName:typeof d.name==="string"?d.name:void 0;Object.defineProperty(p,"name",{value:"node ("+J_t(l.type+(f?"<"+f+">":""))+")"})}return p;function p(){let f=j_t,m,g,v;if(!t||a(l,c,u[u.length-1]||void 0)){if(f=sor(n(l,u)),f[0]===QI)return f}if("children"in l&&l.children){let y=l;if(y.children&&f[0]!==Ese){g=(r?y.children.length:-1)+i,v=u.concat(y);while(g>-1&&g{Sse();j_t=[]});var Ise=P(()=>{$_t()});function V3(e,t,n,r){let o,a,i;if(typeof t==="function"&&typeof n!=="function")a=void 0,i=t,o=n;else a=t,i=n,o=r;TG(e,a,s,o);function s(l,c){let u=c[c.length-1],d=u?u.children.indexOf(l):void 0;return i(l,d,u)}}var eHt=P(()=>{Ise();Ise()});var kG=P(()=>{eHt()});function tHt(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function nHt(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:` -`}]}function rHt(e,t){let n=t.value?t.value+` -`:"",r={},o=t.lang?t.lang.split(/\s+/):[];if(o.length>0)r.className=["language-"+o[0]];let a={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};if(t.meta)a.data={meta:t.meta};return e.patch(t,a),a=e.applyData(t,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(t,a),a}function oHt(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function aHt(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function iHt(e,t){let n=typeof e.options.clobberPrefix==="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),o=xy(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),i,s=e.footnoteCounts.get(r);if(s===void 0)s=0,e.footnoteOrder.push(r),i=e.footnoteOrder.length;else i=a+1;s+=1,e.footnoteCounts.set(r,s);let l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+o,id:n+"fnref-"+o+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(i)}]};e.patch(t,l);let c={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,c),e.applyData(t,c)}var sHt=P(()=>{_I()});function lHt(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function cHt(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}return}function Tse(e,t){let n=t.referenceType,r="]";if(n==="collapsed")r+="[]";else if(n==="full")r+="["+(t.label||t.identifier)+"]";if(t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];let o=e.all(t),a=o[0];if(a&&a.type==="text")a.value="["+a.value;else o.unshift({type:"text",value:"["});let i=o[o.length-1];if(i&&i.type==="text")i.value+=r;else o.push({type:"text",value:r});return o}function uHt(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Tse(e,t);let o={src:xy(r.url||""),alt:t.alt};if(r.title!==null&&r.title!==void 0)o.title=r.title;let a={type:"element",tagName:"img",properties:o,children:[]};return e.patch(t,a),e.applyData(t,a)}var dHt=P(()=>{_I()});function pHt(e,t){let n={src:xy(t.url)};if(t.alt!==null&&t.alt!==void 0)n.alt=t.alt;if(t.title!==null&&t.title!==void 0)n.title=t.title;let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}var fHt=P(()=>{_I()});function mHt(e,t){let n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function hHt(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Tse(e,t);let o={href:xy(r.url||"")};if(r.title!==null&&r.title!==void 0)o.title=r.title;let a={type:"element",tagName:"a",properties:o,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}var gHt=P(()=>{_I()});function yHt(e,t){let n={href:xy(t.url)};if(t.title!==null&&t.title!==void 0)n.title=t.title;let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}var vHt=P(()=>{_I()});function bHt(e,t,n){let r=e.all(t),o=n?lor(n):xHt(t),a={},i=[];if(typeof t.checked==="boolean"){let u=r[0],d;if(u&&u.type==="element"&&u.tagName==="p")d=u;else d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d);if(d.children.length>0)d.children.unshift({type:"text",value:" "});d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let s=-1;while(++s1:t}function AHt(e,t){let n={},r=e.all(t),o=-1;if(typeof t.start==="number"&&t.start!==1)n.start=t.start;while(++o0){let i={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},s=x0(t.children[1]),l=FI(t.children[t.children.length-1]);if(s&&l)i.position={start:s,end:l};o.push(i)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(t,a),e.applyData(t,a)}var IHt=P(()=>{fG()});function THt(e,t,n){let r=n?n.children:void 0,a=(r?r.indexOf(t):1)===0?"th":"td",i=n&&n.type==="table"?n.align:void 0,s=i?i.length:t.children.length,l=-1,c=[];while(++l0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return a.push(RHt(t.slice(o),o>0,!1)),a.join("")}function RHt(e,t,n){let r=0,o=e.length;if(t){let a=e.codePointAt(r);while(a===9||a===32)r++,a=e.codePointAt(r)}if(n){let a=e.codePointAt(o-1);while(a===9||a===32)o--,a=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}function MHt(e,t){let n={type:"text",value:PHt(String(t.value))};return e.patch(t,n),e.applyData(t,n)}var DHt=()=>{};function LHt(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}function kse(){return}var BHt;var OHt=P(()=>{sHt();dHt();fHt();gHt();vHt();IHt();DHt();BHt={blockquote:tHt,break:nHt,code:rHt,delete:oHt,emphasis:aHt,footnoteReference:iHt,heading:lHt,html:cHt,imageReference:uHt,image:pHt,inlineCode:mHt,linkReference:hHt,link:yHt,listItem:bHt,list:AHt,paragraph:wHt,root:SHt,strong:CHt,table:EHt,tableCell:kHt,tableRow:THt,text:MHt,thematicBreak:LHt,toml:kse,yaml:kse,definition:kse,footnoteDefinition:kse}});function UHt(e,t){let n=t||cor,r=new Map,o=new Map,a=new Map,i={...BHt,...n.handlers},s={all:c,applyData:dor,definitionById:r,footnoteById:o,footnoteCounts:a,footnoteOrder:[],handlers:i,one:l,options:n,patch:uor,wrap:mor};return V3(e,function(u){if(u.type==="definition"||u.type==="footnoteDefinition"){let d=u.type==="definition"?r:o,p=String(u.identifier).toUpperCase();if(!d.has(p))d.set(p,u)}}),s;function l(u,d){let p=u.type,f=s.handlers[p];if(ske.call(s.handlers,p)&&f)return f(s,u,d);if(s.options.passThrough&&s.options.passThrough.includes(p)){if("children"in u){let{children:g,...v}=u,y=H3(v);return y.children=s.all(u),y}return H3(u)}return(s.options.unknownHandler||por)(s,u,d)}function c(u){let d=[];if("children"in u){let p=u.children,f=-1;while(++f0)n.push({type:"text",value:` -`});return n}function FHt(e){let t=0,n=e.charCodeAt(t);while(n===9||n===32)t++,n=e.charCodeAt(t);return e.slice(t)}var ske,cor;var NHt=P(()=>{Ase();kG();fG();OHt();ske={}.hasOwnProperty,cor={}});function Rse(e,t){let n=UHt(e,t),r=n.one(e,void 0),o=Y_t(n),a=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};if(o)Za("children"in a),a.children.push({type:"text",value:` -`},o);return a}var zHt=P(()=>{K_t();NHt()});var _Ht=P(()=>{zHt()});function Pse(e,t){if(e&&"run"in e)return async function(n,r){let o=Rse(n,{file:r,...t});await e.run(o,r)};return function(n,r){return Rse(n,{file:r,...e||t})}}var HHt=P(()=>{_Ht()});var VHt=P(()=>{HHt()});function lke(e){if(e)throw e}var JHt=me(function(ema,KHt){var Mse=Object.prototype.hasOwnProperty,YHt=Object.prototype.toString,{defineProperty:GHt,getOwnPropertyDescriptor:qHt}=Object,ZHt=function(t){if(typeof Array.isArray==="function")return Array.isArray(t);return YHt.call(t)==="[object Array]"},QHt=function(t){if(!t||YHt.call(t)!=="[object Object]")return!1;var n=Mse.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&Mse.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var o;for(o in t);return typeof o>"u"||Mse.call(t,o)},XHt=function(t,n){if(GHt&&n.name==="__proto__")GHt(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0});else t[n.name]=n.newValue},WHt=function(t,n){if(n==="__proto__"){if(!Mse.call(t,n))return;else if(qHt)return qHt(t,n).value}return t[n]};KHt.exports=function e(){var t,n,r,o,a,i,s=arguments[0],l=1,c=arguments.length,u=!1;if(typeof s==="boolean")u=s,s=arguments[1]||{},l=2;if(s==null||typeof s!=="object"&&typeof s!=="function")s={};for(;li.length,l;if(s)i.push(o);try{l=e.apply(this,i)}catch(c){let u=c;if(s&&n)throw u;return o(u)}if(!s)if(l&&l.then&&typeof l.then==="function")l.then(a,o);else if(l instanceof Error)o(l);else a(l)}function o(i,...s){if(!n)n=!0,t(i,...s)}function a(i){o(null,i)}}var $Ht=()=>{};function hor(e,t){if(t!==void 0&&typeof t!=="string")throw TypeError('"ext" argument must be a string');PG(e);let n=0,r=-1,o=e.length,a;if(t===void 0||t.length===0||t.length>e.length){while(o--)if(e.codePointAt(o)===47){if(a){n=o+1;break}}else if(r<0)a=!0,r=o+1;return r<0?"":e.slice(n,r)}if(t===e)return"";let i=-1,s=t.length-1;while(o--)if(e.codePointAt(o)===47){if(a){n=o+1;break}}else{if(i<0)a=!0,i=o+1;if(s>-1)if(e.codePointAt(o)===t.codePointAt(s--)){if(s<0)r=o}else s=-1,r=i}if(n===r)r=i;else if(r<0)r=e.length;return e.slice(n,r)}function gor(e){if(PG(e),e.length===0)return".";let t=-1,n=e.length,r;while(--n)if(e.codePointAt(n)===47){if(r){t=n;break}}else if(!r)r=!0;return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function yor(e){PG(e);let t=e.length,n=-1,r=0,o=-1,a=0,i;while(t--){let s=e.codePointAt(t);if(s===47){if(i){r=t+1;break}continue}if(n<0)i=!0,n=t+1;if(s===46){if(o<0)o=t;else if(a!==1)a=1}else if(o>-1)a=-1}if(o<0||n<0||a===0||a===1&&o===n-1&&o===r+1)return"";return e.slice(o,n)}function vor(...e){let t=-1,n;while(++t0&&e.codePointAt(e.length-1)===47)n+="/";return t?"/"+n:n}function xor(e,t){let n="",r=0,o=-1,a=0,i=-1,s,l;while(++i<=e.length){if(i2){if(l=n.lastIndexOf("/"),l!==n.length-1){if(l<0)n="",r=0;else n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/");o=i,a=0;continue}}else if(n.length>0){n="",r=0,o=i,a=0;continue}}if(t)n=n.length>0?n+"/..":"..",r=2}else{if(n.length>0)n+="/"+e.slice(o+1,i);else n=e.slice(o+1,i);r=i-o-1}o=i,a=0}else if(s===46&&a>-1)a++;else a=-1}return n}function PG(e){if(typeof e!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(e))}var Z2;var eVt=P(()=>{Z2={basename:hor,dirname:gor,extname:yor,join:vor,sep:"/"}});function Aor(){return"/"}var tVt;var nVt=P(()=>{tVt={cwd:Aor}});function iD(e){return Boolean(e!==null&&typeof e==="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function rVt(e){if(typeof e==="string")e=new URL(e);else if(!iD(e)){let t=TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){let t=TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return wor(e)}function wor(e){if(e.hostname!==""){let r=TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}let t=e.pathname,n=-1;while(++n{};class sD{constructor(e){let t;if(!e)t={};else if(iD(e))t={path:e};else if(typeof e==="string"||Sor(e))t={value:e};else t=e;this.cwd="cwd"in t?"":tVt.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let n=-1;while(++n{I7e();eVt();nVt();oVt();uke=["history","path","basename","stem","extname","dirname"]});var fke=P(()=>{iVt()});var sVt=function(e){let r=this.constructor.prototype,o=r[e],a=function(){return o.apply(a,arguments)};return Object.setPrototypeOf(a,r),a};function mke(e,t){if(typeof t!=="function")throw TypeError("Cannot `"+e+"` without `parser`")}function hke(e,t){if(typeof t!=="function")throw TypeError("Cannot `"+e+"` without `compiler`")}function gke(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function lVt(e){if(!RG(e)||typeof e.type!=="string")throw TypeError("Expected node, got `"+e+"`")}function cVt(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function Dse(e){return Eor(e)?e:new sD(e)}function Eor(e){return Boolean(e&&typeof e==="object"&&"message"in e&&"messages"in e)}function Ior(e){return typeof e==="string"||Tor(e)}function Tor(e){return Boolean(e&&typeof e==="object"&&"byteLength"in e&&"byteOffset"in e)}var Lse,Cor,yke,vke;var uVt=P(()=>{$Ht();fke();Lse=z(JHt(),1),Cor={}.hasOwnProperty;yke=class yke extends sVt{constructor(){super("copy");this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=cke()}copy(){let e=new yke,t=-1;while(++t0){let[p,...f]=c,m=n[d][1];if(RG(m)&&RG(p))p=Lse.default(!0,m,p);n[d]=[l,p,...f]}}}};vke=new yke().freeze()});var dVt=P(()=>{uVt()});function bke(e){let t=Mor(e),n=Dor(e);return Lor(t.runSync(t.parse(n),n),e)}function Mor(e){let t=e.rehypePlugins||pVt,n=e.remarkPlugins||pVt,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...fVt}:fVt;return vke().use(gse).use(n).use(Pse,r).use(t)}function Dor(e){let t=e.children||"",n=new sD;if(typeof t==="string")n.value=t;else Xie("Unexpected value `"+t+"` for `children` prop, expected `string`");return n}function Lor(e,t){let{allowedElements:n,allowElement:r,components:o,disallowedElements:a,skipHtml:i,unwrapDisallowed:s}=t,l=t.urlTransform||hVt;for(let u of Por)if(Object.hasOwn(t,u.from))Xie("Unexpected `"+u.from+"` prop, "+(u.to?"use `"+u.to+"` instead":"remove it")+" (see <"+kor+"#"+u.id+"> for more info)");if(n&&a)Xie("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other");return V3(e,c),k7e(e,{Fragment:Ht,components:o,ignoreInvalidStyle:!0,jsx:h,jsxs:M,passKeys:!0,passNode:!0});function c(u,d,p){if(u.type==="raw"&&p&&typeof d==="number"){if(i)p.children.splice(d,1);else p.children[d]={type:"text",value:u.value};return d}if(u.type==="element"){let f;for(f in hG)if(Object.hasOwn(hG,f)&&Object.hasOwn(u.properties,f)){let m=u.properties[f],g=hG[f];if(g===null||g.includes(u.tagName))u.properties[f]=l(String(m||""),f,u)}}if(u.type==="element"){let f=n?!n.includes(u.tagName):a?a.includes(u.tagName):!1;if(!f&&r&&typeof d==="number")f=!r(u,d,p);if(f&&p&&typeof d==="number"){if(s&&u.children)p.children.splice(d,1,...u.children);else p.children.splice(d,1);return d}}}}function hVt(e){let t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),o=e.indexOf("/");if(t===-1||o!==-1&&t>o||n!==-1&&t>n||r!==-1&&t>r||Ror.test(e.slice(0,t)))return e;return""}var mVt,kor="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",pVt,fVt,Ror,Por;var gVt=P(()=>{Fzt();Nzt();le();q_t();VHt();dVt();kG();fke();mVt=z(re(),1),pVt=[],fVt={allowDangerousHtml:!0},Ror=/^(https?|ircs?|mailto|xmpp)$/i,Por=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}]});var yVt=P(()=>{gVt()});function xke(e,t){let n=e||"",r={},o=0,a,i;while(o{vVt=/[#.]/g});var xVt=P(()=>{bVt()});function wke(e,t,n){let r=n?Uor(n):void 0;function o(a,i,...s){let l;if(a===null||a===void 0){l={type:"root",children:[]};let c=i;s.unshift(c)}else{l=xke(a,t);let c=l.tagName.toLowerCase(),u=r?r.get(c):void 0;if(l.tagName=u||c,Bor(i))s.unshift(i);else for(let[d,p]of Object.entries(i))Oor(e,l.properties,d,p)}for(let c of s)Ake(l.children,c);if(l.type==="element"&&l.tagName==="template")l.content={type:"root",children:l.children},l.children=[];return l}return o}function Bor(e){if(e===null||typeof e!=="object"||Array.isArray(e))return!0;if(typeof e.type!=="string")return!1;let t=e,n=Object.keys(e);for(let r of n){let o=t[r];if(o&&typeof o==="object"){if(!Array.isArray(o))return!0;let a=o;for(let i of a)if(typeof i!=="number"&&typeof i!=="string")return!0}}if("children"in e&&Array.isArray(e.children))return!0;return!1}function Oor(e,t,n,r){let o=z3(e,n),a;if(r===null||r===void 0)return;if(typeof r==="number"){if(Number.isNaN(r))return;a=r}else if(typeof r==="boolean")a=r;else if(typeof r==="string")if(o.spaceSeparated)a=x7e(r);else if(o.commaSeparated)a=s7e(r);else if(o.commaOrSpaceSeparated)a=x7e(s7e(r).join(" "));else a=AVt(o,o.property,r);else if(Array.isArray(r))a=[...r];else a=o.property==="style"?For(r):String(r);if(Array.isArray(a)){let i=[];for(let s of a)i.push(AVt(o,o.property,s));a=i}if(o.property==="className"&&Array.isArray(t.className))a=t.className.concat(a);t[o.property]=a}function Ake(e,t){if(t===null||t===void 0);else if(typeof t==="number"||typeof t==="string")e.push({type:"text",value:String(t)});else if(Array.isArray(t))for(let n of t)Ake(e,n);else if(typeof t==="object"&&"type"in t)if(t.type==="root")Ake(e,t.children);else e.push(t);else throw Error("Expected node, nodes, or string, got `"+t+"`")}function AVt(e,t,n){if(typeof n==="string"){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(n===""||U3(n)===U3(t)))return!0}return n}function For(e){let t=[];for(let[n,r]of Object.entries(e))t.push([n,r].join(": "));return t.join("; ")}function Uor(e){let t=new Map;for(let n of e)t.set(n.toLowerCase(),n);return t}var wVt=P(()=>{xVt();tD()});var SVt;var CVt=P(()=>{SVt=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"]});var Ske,Cke;var EVt=P(()=>{tD();wVt();CVt();Ske=wke(_3,"div"),Cke=wke(by,"g",SVt)});var IVt=P(()=>{EVt()});function Eke(e){let t=String(e),n=[];return{toOffset:o,toPoint:r};function r(a){if(typeof a==="number"&&a>-1&&a<=t.length){let i=0;while(!0){let s=n[i];if(s===void 0){let l=TVt(t,n[i-1]);s=l===-1?t.length+1:l+1,n[i]=s}if(s>a)return{line:i+1,column:a-(i>0?n[i-1]:0)+1,offset:a};i++}}}function o(a){if(a&&typeof a.line==="number"&&typeof a.column==="number"&&!Number.isNaN(a.line)&&!Number.isNaN(a.column)){while(n.length1?n[a.line-2]:0)+a.column-1;if(i{};var bx;var Bse=P(()=>{bx={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function Ike(e,t){let n=t||{};return Tke({file:n.file||void 0,location:!1,schema:n.space==="svg"?by:_3,verbose:n.verbose||!1},e)}function Tke(e,t){let n;switch(t.nodeName){case"#comment":{let r=t;return n={type:"comment",value:r.data},Ose(e,r,n),n}case"#document":case"#document-fragment":{let r=t,o="mode"in r?r.mode==="quirks"||r.mode==="limited-quirks":!1;if(n={type:"root",children:MVt(e,t.childNodes),data:{quirksMode:o}},e.file&&e.location){let a=String(e.file),i=Eke(a),s=i.toPoint(0),l=i.toPoint(a.length);Za(s,"expected `start`"),Za(l,"expected `end`"),n.position={start:s,end:l}}return n}case"#documentType":{let r=t;return n={type:"doctype"},Ose(e,r,n),n}case"#text":{let r=t;return n={type:"text",value:r.value},Ose(e,r,n),n}default:return n=zor(e,t),n}}function MVt(e,t){let n=-1,r=[];while(++n{IVt();tD();kVt();Bse();PVt={}.hasOwnProperty,Nor=Object.prototype});var LVt=P(()=>{DVt()});function Fse(e,t){let n=t||{};function r(o,...a){let{invalid:i,handlers:s}=r;if(o&&BVt.call(o,e)){let l=String(o[e]);i=BVt.call(s,l)?s[l]:r.unknown}if(i)return i.call(this,o,...a)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var BVt;var kke=P(()=>{BVt={}.hasOwnProperty});function Rke(e,t){let r=(t||Hor).space;return OVt(e,r==="svg"?by:_3)}function Gor(e,t){let n={nodeName:"#document",mode:(e.data||{}).quirksMode?"quirks":"no-quirks",childNodes:[]};return n.childNodes=Pke(e.children,n,t),cD(e,n),n}function qor(e,t){let n={nodeName:"#document-fragment",childNodes:[]};return n.childNodes=Pke(e.children,n,t),cD(e,n),n}function Zor(e){let t={nodeName:"#documentType",name:"html",publicId:"",systemId:"",parentNode:null};return cD(e,t),t}function Qor(e){let t={nodeName:"#text",value:e.value,parentNode:null};return cD(e,t),t}function Xor(e){let t={nodeName:"#comment",data:e.value,parentNode:null};return cD(e,t),t}function Wor(e,t){let n=t,r=n;if(e.type==="element"&&e.tagName.toLowerCase()==="svg"&&n.space==="html")r=by;let o=[],a;if(e.properties){for(a in e.properties)if(a!=="children"&&Vor.call(e.properties,a)){let l=Yor(r,a,e.properties[a]);if(l)o.push(l)}}let i=r.space;Za(i);let s={nodeName:e.tagName,tagName:e.tagName,attrs:o,namespaceURI:bx[i],childNodes:[],parentNode:null};if(s.childNodes=Pke(e.children,s,r),cD(e,s),e.tagName==="template"&&e.content)s.content=qor(e.content,r);return s}function Yor(e,t,n){let r=z3(e,t);if(n===!1||n===null||n===void 0||typeof n==="number"&&Number.isNaN(n)||!n&&r.boolean)return;if(Array.isArray(n))n=r.commaSeparated?Wie(n):$ie(n);let o={name:r.attribute,value:n===!0?"":String(n)};if(r.space&&r.space!=="html"&&r.space!=="svg"){let a=o.name.indexOf(":");if(a<0)o.prefix="";else o.name=o.name.slice(a+1),o.prefix=r.attribute.slice(0,a);o.namespace=bx[r.space]}return o}function Pke(e,t,n){let r=-1,o=[];if(e)while(++r{tD();Bse();kke();Hor={},Vor={}.hasOwnProperty,OVt=Fse("type",{handlers:{root:Gor,element:Wor,text:Qor,comment:Xor,doctype:Zor}})});var UVt=P(()=>{FVt()});var NVt;var zVt=P(()=>{NVt=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"]});function Use(e){return e>=55296&&e<=57343}function _Vt(e){return e>=56320&&e<=57343}function HVt(e,t){return(e-55296)*1024+9216+t}function Nse(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function zse(e){return e>=64976&&e<=65007||Kor.has(e)}var Kor,Bs="�",Fe,hh;var _se=P(()=>{Kor=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]);(function(e){e[e.EOF=-1]="EOF",e[e.NULL=0]="NULL",e[e.TABULATION=9]="TABULATION",e[e.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",e[e.LINE_FEED=10]="LINE_FEED",e[e.FORM_FEED=12]="FORM_FEED",e[e.SPACE=32]="SPACE",e[e.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",e[e.QUOTATION_MARK=34]="QUOTATION_MARK",e[e.AMPERSAND=38]="AMPERSAND",e[e.APOSTROPHE=39]="APOSTROPHE",e[e.HYPHEN_MINUS=45]="HYPHEN_MINUS",e[e.SOLIDUS=47]="SOLIDUS",e[e.DIGIT_0=48]="DIGIT_0",e[e.DIGIT_9=57]="DIGIT_9",e[e.SEMICOLON=59]="SEMICOLON",e[e.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",e[e.EQUALS_SIGN=61]="EQUALS_SIGN",e[e.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",e[e.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",e[e.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",e[e.GRAVE_ACCENT=96]="GRAVE_ACCENT",e[e.LATIN_SMALL_A=97]="LATIN_SMALL_A",e[e.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"})(Fe||(Fe={}));hh={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"}});var Dt;var MG=P(()=>{(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(Dt||(Dt={}))});class Mke{constructor(e){this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=jor,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(e,t){let{line:n,col:r,offset:o}=this,a=r+t,i=o+t;return{code:e,startLine:n,endLine:n,startCol:a,endCol:a,startOffset:i,endOffset:i}}_err(e){if(this.handler.onParseError&&this.lastErrOffset!==this.offset)this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(e,0))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.html.length-1){let t=this.html.charCodeAt(this.pos+1);if(_Vt(t))return this.pos++,this._addGap(),HVt(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Fe.EOF;return this._err(Dt.surrogateInInputStream),e}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){if(this.willDropParsedChunk())this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0}write(e,t){if(this.html.length>0)this.html+=e;else this.html=e;this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(e,t){if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(t)return this.html.startsWith(e,this.pos);for(let n=0;n=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Fe.EOF;let n=this.html.charCodeAt(t);return n===Fe.CARRIAGE_RETURN?Fe.LINE_FEED:n}advance(){if(this.pos++,this.isEol)this.isEol=!1,this.line++,this.lineStartPos=this.pos;if(this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Fe.EOF;let e=this.html.charCodeAt(this.pos);if(e===Fe.CARRIAGE_RETURN)return this.isEol=!0,this.skipNextNewLine=!0,Fe.LINE_FEED;if(e===Fe.LINE_FEED){if(this.isEol=!0,this.skipNextNewLine)return this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()}if(this.skipNextNewLine=!1,Use(e))e=this._processSurrogate(e);if(!(this.handler.onParseError===null||e>31&&e<127||e===Fe.LINE_FEED||e===Fe.CARRIAGE_RETURN||e>159&&e<64976))this._checkForProblematicCharacters(e);return e}_checkForProblematicCharacters(e){if(Nse(e))this._err(Dt.controlCharacterInInputStream);else if(zse(e))this._err(Dt.noncharacterInInputStream)}retreat(e){this.pos-=e;while(this.pos{_se();MG()});function Hse(e,t){for(let n=e.attrs.length-1;n>=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}var Wo;var Vse=P(()=>{(function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"})(Wo||(Wo={}))});var Dke;var qVt=P(()=>{Dke=new Uint16Array("ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\x00\x00\x00\x00\x00\x00ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀\uD835\uDD04rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀\uD835\uDD38plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀\uD835\uDC9Cign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀\uD835\uDD05pf;쀀\uD835\uDD39eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀\uD835\uDC9EpĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀\uD835\uDD07Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\x00\x00\x00͔͂\x00Ѕf;쀀\uD835\uDD3Bƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\x00\x00ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\x00\x00ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\x00ц\x00ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\x00ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀\uD835\uDC9Frok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀\uD835\uDD08rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\x00\x00ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀\uD835\uDD3Csilon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀\uD835\uDD09lledɓ֗\x00\x00֣mallSquare;旼erySmallSquare;斪Ͱֺ\x00ֿ\x00\x00ׄf;쀀\uD835\uDD3DAll;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀\uD835\uDD0A;拙pf;쀀\uD835\uDD3Eeater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀\uD835\uDCA2;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\x00ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\x00ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀\uD835\uDD40a;䎙cr;愐ilde;䄨ǫޚ\x00ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀\uD835\uDD0Dpf;쀀\uD835\uDD41ǣ߇\x00ߌr;쀀\uD835\uDCA5rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀\uD835\uDD0Epf;쀀\uD835\uDD42cr;쀀\uD835\uDCA6րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\x00ࣃbleBracket;柦nǔࣈ\x00࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀\uD835\uDD0FĀ;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀\uD835\uDD43erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀\uD835\uDD10nusPlus;戓pf;쀀\uD835\uDD44cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀\uD835\uDD11ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀\uD835\uDCA9ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀\uD835\uDD12rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀\uD835\uDD46enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀\uD835\uDCAAash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀\uD835\uDD13i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀\uD835\uDCAB;䎨ȀUfos༑༖༛༟OT耻\"䀢r;쀀\uD835\uDD14pf;愚cr;쀀\uD835\uDCAC؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\x00စbleBracket;柧nǔည\x00နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀\uD835\uDD16ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀\uD835\uDD4Aɲᅭ\x00\x00ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀\uD835\uDCAEar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀\uD835\uDD17Āeiቻ኉Dzኀ\x00ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀\uD835\uDD4BipleDot;惛Āctዖዛr;쀀\uD835\uDCAFrok;䅦ૡዷጎጚጦ\x00ጬጱ\x00\x00\x00\x00\x00ጸጽ፷ᎅ\x00᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\x00጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀\uD835\uDD18rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀\uD835\uDD4CЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀\uD835\uDCB0ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀\uD835\uDD19pf;쀀\uD835\uDD4Dcr;쀀\uD835\uDCB1dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀\uD835\uDD1Apf;쀀\uD835\uDD4Ecr;쀀\uD835\uDCB2Ȁfiosᓋᓐᓒᓘr;쀀\uD835\uDD1B;䎞pf;쀀\uD835\uDD4Fcr;쀀\uD835\uDCB3ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀\uD835\uDD1Cpf;쀀\uD835\uDD50cr;쀀\uD835\uDCB4ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\x00ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀\uD835\uDCB5௡ᖃᖊᖐ\x00ᖰᖶᖿ\x00\x00\x00\x00ᗆᗛᗫᙟ᙭\x00ᚕ᚛ᚲᚹ\x00ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀\uD835\uDD1Erave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\x00\x00ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀\uD835\uDD52΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀\uD835\uDCB6;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀\uD835\uDD1Fg΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\x00\x00ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\x00ᠳƲᠯ\x00ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀\uD835\uDD53Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀\uD835\uDCB7mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\x00᧨ᨑᨕᨲ\x00ᨷᩐ\x00\x00᪴\x00\x00᫁\x00\x00ᬡᬮ᭍᭒\x00᯽\x00ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\x00᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀\uD835\uDD20ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\x00\x00᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\x00ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\x00\x00᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\x00ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀\uD835\uDD54oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀\uD835\uDCB8Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\x00\x00᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\x00\x00ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀\uD835\uDD21arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\x00\x00ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀\uD835\uDD55ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\x00\x00ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀\uD835\uDCB9;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀\uD835\uDD22ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀\uD835\uDD56ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\x00\x00ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\x00ᾞ\x00ᾡᾧ\x00\x00ῆῌ\x00ΐ\x00ῦῪ \x00 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\x00\x00᾽g;耀ffig;耀ffl;쀀\uD835\uDD23lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\x00ῳf;쀀\uD835\uDD57ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\x00⁐β•‥‧‪‬\x00‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\x00‶;慔;慖ʴ‾⁁\x00\x00⁃耻¾䂾;慗;慜5;慘ƶ⁌\x00⁎;慚;慝8;慞l;恄wn;挢cr;쀀\uD835\uDCBBࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀\uD835\uDD24Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀\uD835\uDD58Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\x00↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀\uD835\uDD25sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀\uD835\uDD59bar;怕ƀclt≯≴≸r;쀀\uD835\uDCBDasè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\x00⊪\x00⊸⋅⋎\x00⋕⋳\x00\x00⋸⌢⍧⍢⍿\x00⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀\uD835\uDD26rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀\uD835\uDD5Aa;䎹uest耻¿䂿Āci⎊⎏r;쀀\uD835\uDCBEnʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\x00⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀\uD835\uDD27ath;䈷pf;쀀\uD835\uDD5Bǣ⏬\x00⏱r;쀀\uD835\uDCBFrcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀\uD835\uDD28reen;䄸cy;䑅cy;䑜pf;쀀\uD835\uDD5Ccr;쀀\uD835\uDCC0஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\x00⒪\x00⒱\x00\x00\x00\x00\x00⒵Ⓔ\x00ⓆⓈⓍ\x00⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀\uD835\uDD29Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀\uD835\uDD5Dus;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀\uD835\uDCC1mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀\uD835\uDD2Ao;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀\uD835\uDD5EĀct⣸⣽r;쀀\uD835\uDCC2pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\x00⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\x00⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀\uD835\uDD2BȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀\uD835\uDD5F膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀\uD835\uDCC3ortɭ⬅\x00\x00⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ⴭ\x00ⴸⵈⵠⵥ⵲ⶄᬇ\x00\x00ⶍⶫ\x00ⷈⷎ\x00ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀\uD835\uDD2Cͯ⵹\x00\x00⵼\x00ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀\uD835\uDD60ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\x00⹽\x00⺀⺝\x00⺢⺹\x00\x00⻋ຜ\x00⼓\x00\x00⼫⾼\x00⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\x00\x00⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀\uD835\uDD2Dƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀\uD835\uDD61nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀\uD835\uDCC5;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀\uD835\uDD2Epf;쀀\uD835\uDD62rime;恗cr;쀀\uD835\uDCC6ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀\uD835\uDD2FĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀\uD835\uDD63us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀\uD835\uDCC7Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\x00㍺㎤\x00\x00㏬㏰\x00㐨㑈㑚㒭㒱㓊㓱\x00㘖\x00\x00㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\x00㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀\uD835\uDD30Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\x00\x00㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀\uD835\uDD64aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀\uD835\uDCC8tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\x00㙾㛂\x00\x00\x00\x00\x00㛛㜃\x00㜉㝬\x00\x00\x00㞇ɲ㙖\x00\x00㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀\uD835\uDD31Ȁeiko㚆㚝㚵㚼Dz㚋\x00㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀\uD835\uDD65rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀\uD835\uDCC9;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\x00㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀\uD835\uDD32rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\x00\x00㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀\uD835\uDD66̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\x00\x00㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀\uD835\uDCCAƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀\uD835\uDD33tré㦮suĀbp㧯㧱»ജ»൙pf;쀀\uD835\uDD67roð໻tré㦴Ācu㨆㨋r;쀀\uD835\uDCCBĀbp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀\uD835\uDD34pf;쀀\uD835\uDD68Ā;eᑹ㩦atèᑹcr;쀀\uD835\uDCCCૣណ㪇\x00㪋\x00㪐㪛\x00\x00㪝㪨㪫㪯\x00\x00㫃㫎\x00㫘ៜ៟tré៑r;쀀\uD835\uDD35ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀\uD835\uDD69imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀\uD835\uDCCDĀpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀\uD835\uDD36cy;䑗pf;쀀\uD835\uDD6Acr;쀀\uD835\uDCCEĀcm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀\uD835\uDD37cy;䐶grarr;懝pf;쀀\uD835\uDD6Bcr;쀀\uD835\uDCCFĀjn㮅㮇;怍j;怌".split("").map((e)=>e.charCodeAt(0)))});function ZVt(e){var t;if(e>=55296&&e<=57343||e>1114111)return 65533;return(t=$or.get(e))!==null&&t!==void 0?t:e}var Lke,$or,ear;var QVt=P(()=>{$or=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),ear=(Lke=String.fromCodePoint)!==null&&Lke!==void 0?Lke:function(e){let t="";if(e>65535)e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023;return t+=String.fromCharCode(e),t}});function Bke(e){return e>=_p.ZERO&&e<=_p.NINE}function nar(e){return e>=_p.UPPER_A&&e<=_p.UPPER_F||e>=_p.LOWER_A&&e<=_p.LOWER_F}function rar(e){return e>=_p.UPPER_A&&e<=_p.UPPER_Z||e>=_p.LOWER_A&&e<=_p.LOWER_Z||Bke(e)}function oar(e){return e===_p.EQUALS||rar(e)}class Oke{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=zp.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=xx.Strict}startEntity(e){this.decodeMode=e,this.state=zp.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,t){switch(this.state){case zp.EntityStart:{if(e.charCodeAt(t)===_p.NUM)return this.state=zp.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1);return this.state=zp.NamedEntity,this.stateNamedEntity(e,t)}case zp.NumericStart:return this.stateNumericStart(e,t);case zp.NumericDecimal:return this.stateNumericDecimal(e,t);case zp.NumericHex:return this.stateNumericHex(e,t);case zp.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){if(t>=e.length)return-1;if((e.charCodeAt(t)|tar)===_p.LOWER_X)return this.state=zp.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1);return this.state=zp.NumericDecimal,this.stateNumericDecimal(e,t)}addToNumericResult(e,t,n,r){if(t!==n){let o=n-t;this.result=this.result*Math.pow(r,o)+Number.parseInt(e.substr(t,o),r),this.consumed+=o}}stateNumericHex(e,t){let n=t;while(t>14;for(;t>14,o!==0){if(a===_p.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.decodeMode!==xx.Strict)this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&uC.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;if(this.emitCodePoint(t===1?r[e]&~uC.VALUE_LENGTH:r[e+1],n),t===3)this.emitCodePoint(r[e+2],n);return n}end(){var e;switch(this.state){case zp.NamedEntity:return this.result!==0&&(this.decodeMode!==xx.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case zp.NumericDecimal:return this.emitNumericEntity(0,2);case zp.NumericHex:return this.emitNumericEntity(0,3);case zp.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case zp.EntityStart:return 0}}}function aar(e,t,n,r){let o=(t&uC.BRANCH_LENGTH)>>7,a=t&uC.JUMP_TABLE;if(o===0)return a!==0&&r===a?n:-1;if(a){let l=r-a;return l<0||l>=o?-1:e[n+l]-1}let i=n,s=i+o-1;while(i<=s){let l=i+s>>>1,c=e[l];if(cr)s=l-1;else return e[l+o]}return-1}var _p,tar=32,uC,zp,xx;var XVt=P(()=>{QVt();qVt();(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(_p||(_p={}));(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(uC||(uC={}));(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(zp||(zp={}));(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(xx||(xx={}))});function q3(e){var t;return(t=iar.get(e))!==null&&t!==void 0?t:X.UNKNOWN}var $t,G3,gh,gt,X,iar,an,WVt,DG,Oha;var Z3=P(()=>{(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})($t||($t={}));(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(G3||(G3={}));(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(gh||(gh={}));(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SEARCH="search",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(gt||(gt={}));(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SEARCH=94]="SEARCH",e[e.SECTION=95]="SECTION",e[e.SELECT=96]="SELECT",e[e.SOURCE=97]="SOURCE",e[e.SMALL=98]="SMALL",e[e.SPAN=99]="SPAN",e[e.STRIKE=100]="STRIKE",e[e.STRONG=101]="STRONG",e[e.STYLE=102]="STYLE",e[e.SUB=103]="SUB",e[e.SUMMARY=104]="SUMMARY",e[e.SUP=105]="SUP",e[e.TABLE=106]="TABLE",e[e.TBODY=107]="TBODY",e[e.TEMPLATE=108]="TEMPLATE",e[e.TEXTAREA=109]="TEXTAREA",e[e.TFOOT=110]="TFOOT",e[e.TD=111]="TD",e[e.TH=112]="TH",e[e.THEAD=113]="THEAD",e[e.TITLE=114]="TITLE",e[e.TR=115]="TR",e[e.TRACK=116]="TRACK",e[e.TT=117]="TT",e[e.U=118]="U",e[e.UL=119]="UL",e[e.SVG=120]="SVG",e[e.VAR=121]="VAR",e[e.WBR=122]="WBR",e[e.XMP=123]="XMP"})(X||(X={}));iar=new Map([[gt.A,X.A],[gt.ADDRESS,X.ADDRESS],[gt.ANNOTATION_XML,X.ANNOTATION_XML],[gt.APPLET,X.APPLET],[gt.AREA,X.AREA],[gt.ARTICLE,X.ARTICLE],[gt.ASIDE,X.ASIDE],[gt.B,X.B],[gt.BASE,X.BASE],[gt.BASEFONT,X.BASEFONT],[gt.BGSOUND,X.BGSOUND],[gt.BIG,X.BIG],[gt.BLOCKQUOTE,X.BLOCKQUOTE],[gt.BODY,X.BODY],[gt.BR,X.BR],[gt.BUTTON,X.BUTTON],[gt.CAPTION,X.CAPTION],[gt.CENTER,X.CENTER],[gt.CODE,X.CODE],[gt.COL,X.COL],[gt.COLGROUP,X.COLGROUP],[gt.DD,X.DD],[gt.DESC,X.DESC],[gt.DETAILS,X.DETAILS],[gt.DIALOG,X.DIALOG],[gt.DIR,X.DIR],[gt.DIV,X.DIV],[gt.DL,X.DL],[gt.DT,X.DT],[gt.EM,X.EM],[gt.EMBED,X.EMBED],[gt.FIELDSET,X.FIELDSET],[gt.FIGCAPTION,X.FIGCAPTION],[gt.FIGURE,X.FIGURE],[gt.FONT,X.FONT],[gt.FOOTER,X.FOOTER],[gt.FOREIGN_OBJECT,X.FOREIGN_OBJECT],[gt.FORM,X.FORM],[gt.FRAME,X.FRAME],[gt.FRAMESET,X.FRAMESET],[gt.H1,X.H1],[gt.H2,X.H2],[gt.H3,X.H3],[gt.H4,X.H4],[gt.H5,X.H5],[gt.H6,X.H6],[gt.HEAD,X.HEAD],[gt.HEADER,X.HEADER],[gt.HGROUP,X.HGROUP],[gt.HR,X.HR],[gt.HTML,X.HTML],[gt.I,X.I],[gt.IMG,X.IMG],[gt.IMAGE,X.IMAGE],[gt.INPUT,X.INPUT],[gt.IFRAME,X.IFRAME],[gt.KEYGEN,X.KEYGEN],[gt.LABEL,X.LABEL],[gt.LI,X.LI],[gt.LINK,X.LINK],[gt.LISTING,X.LISTING],[gt.MAIN,X.MAIN],[gt.MALIGNMARK,X.MALIGNMARK],[gt.MARQUEE,X.MARQUEE],[gt.MATH,X.MATH],[gt.MENU,X.MENU],[gt.META,X.META],[gt.MGLYPH,X.MGLYPH],[gt.MI,X.MI],[gt.MO,X.MO],[gt.MN,X.MN],[gt.MS,X.MS],[gt.MTEXT,X.MTEXT],[gt.NAV,X.NAV],[gt.NOBR,X.NOBR],[gt.NOFRAMES,X.NOFRAMES],[gt.NOEMBED,X.NOEMBED],[gt.NOSCRIPT,X.NOSCRIPT],[gt.OBJECT,X.OBJECT],[gt.OL,X.OL],[gt.OPTGROUP,X.OPTGROUP],[gt.OPTION,X.OPTION],[gt.P,X.P],[gt.PARAM,X.PARAM],[gt.PLAINTEXT,X.PLAINTEXT],[gt.PRE,X.PRE],[gt.RB,X.RB],[gt.RP,X.RP],[gt.RT,X.RT],[gt.RTC,X.RTC],[gt.RUBY,X.RUBY],[gt.S,X.S],[gt.SCRIPT,X.SCRIPT],[gt.SEARCH,X.SEARCH],[gt.SECTION,X.SECTION],[gt.SELECT,X.SELECT],[gt.SOURCE,X.SOURCE],[gt.SMALL,X.SMALL],[gt.SPAN,X.SPAN],[gt.STRIKE,X.STRIKE],[gt.STRONG,X.STRONG],[gt.STYLE,X.STYLE],[gt.SUB,X.SUB],[gt.SUMMARY,X.SUMMARY],[gt.SUP,X.SUP],[gt.TABLE,X.TABLE],[gt.TBODY,X.TBODY],[gt.TEMPLATE,X.TEMPLATE],[gt.TEXTAREA,X.TEXTAREA],[gt.TFOOT,X.TFOOT],[gt.TD,X.TD],[gt.TH,X.TH],[gt.THEAD,X.THEAD],[gt.TITLE,X.TITLE],[gt.TR,X.TR],[gt.TRACK,X.TRACK],[gt.TT,X.TT],[gt.U,X.U],[gt.UL,X.UL],[gt.SVG,X.SVG],[gt.VAR,X.VAR],[gt.WBR,X.WBR],[gt.XMP,X.XMP]]);an=X,WVt={[$t.HTML]:new Set([an.ADDRESS,an.APPLET,an.AREA,an.ARTICLE,an.ASIDE,an.BASE,an.BASEFONT,an.BGSOUND,an.BLOCKQUOTE,an.BODY,an.BR,an.BUTTON,an.CAPTION,an.CENTER,an.COL,an.COLGROUP,an.DD,an.DETAILS,an.DIR,an.DIV,an.DL,an.DT,an.EMBED,an.FIELDSET,an.FIGCAPTION,an.FIGURE,an.FOOTER,an.FORM,an.FRAME,an.FRAMESET,an.H1,an.H2,an.H3,an.H4,an.H5,an.H6,an.HEAD,an.HEADER,an.HGROUP,an.HR,an.HTML,an.IFRAME,an.IMG,an.INPUT,an.LI,an.LINK,an.LISTING,an.MAIN,an.MARQUEE,an.MENU,an.META,an.NAV,an.NOEMBED,an.NOFRAMES,an.NOSCRIPT,an.OBJECT,an.OL,an.P,an.PARAM,an.PLAINTEXT,an.PRE,an.SCRIPT,an.SECTION,an.SELECT,an.SOURCE,an.STYLE,an.SUMMARY,an.TABLE,an.TBODY,an.TD,an.TEMPLATE,an.TEXTAREA,an.TFOOT,an.TH,an.THEAD,an.TITLE,an.TR,an.TRACK,an.UL,an.WBR,an.XMP]),[$t.MATHML]:new Set([an.MI,an.MO,an.MN,an.MS,an.MTEXT,an.ANNOTATION_XML]),[$t.SVG]:new Set([an.TITLE,an.FOREIGN_OBJECT,an.DESC]),[$t.XLINK]:new Set,[$t.XML]:new Set,[$t.XMLNS]:new Set},DG=new Set([an.H1,an.H2,an.H3,an.H4,an.H5,an.H6]),Oha=new Set([gt.STYLE,gt.SCRIPT,gt.XMP,gt.IFRAME,gt.NOEMBED,gt.NOFRAMES,gt.PLAINTEXT])});function sar(e){return e>=Fe.DIGIT_0&&e<=Fe.DIGIT_9}function LG(e){return e>=Fe.LATIN_CAPITAL_A&&e<=Fe.LATIN_CAPITAL_Z}function lar(e){return e>=Fe.LATIN_SMALL_A&&e<=Fe.LATIN_SMALL_Z}function dC(e){return lar(e)||LG(e)}function KVt(e){return dC(e)||sar(e)}function Gse(e){return e+32}function jVt(e){return e===Fe.SPACE||e===Fe.LINE_FEED||e===Fe.TABULATION||e===Fe.FORM_FEED}function JVt(e){return jVt(e)||e===Fe.SOLIDUS||e===Fe.GREATER_THAN_SIGN}function car(e){if(e===Fe.NULL)return Dt.nullCharacterReference;else if(e>1114111)return Dt.characterReferenceOutsideUnicodeRange;else if(Use(e))return Dt.surrogateCharacterReference;else if(zse(e))return Dt.noncharacterCharacterReference;else if(Nse(e)||e===Fe.CARRIAGE_RETURN)return Dt.controlCharacterReference;return null}class qse{constructor(e,t){this.options=e,this.handler=t,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=He.DATA,this.returnState=He.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Mke(t),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new Oke(Dke,(n,r)=>{this.preprocessor.pos=this.entityStartPos+r-1,this._flushCodePointConsumedAsCharacterReference(n)},t.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Dt.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:(n)=>{this._err(Dt.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+n)},validateNumericCharacterReference:(n)=>{let r=car(n);if(r)this._err(r,1)}}:void 0)}_err(e,t=0){var n,r;(r=(n=this.handler).onParseError)===null||r===void 0||r.call(n,this.preprocessor.getError(e,t))}getCurrentLocation(e){if(!this.options.sourceCodeLocationInfo)return null;return{startLine:this.preprocessor.line,startCol:this.preprocessor.col-e,startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}}_runParsingLoop(){if(this.inLoop)return;this.inLoop=!0;while(this.active&&!this.paused){this.consumedAfterSnapshot=0;let e=this._consume();if(!this._ensureHibernation())this._callState(e)}this.inLoop=!1}pause(){this.paused=!0}resume(e){if(!this.paused)throw Error("Parser was already resumed");if(this.paused=!1,this.inLoop)return;if(this._runParsingLoop(),!this.paused)e===null||e===void 0||e()}write(e,t,n){if(this.active=!0,this.preprocessor.write(e,t),this._runParsingLoop(),!this.paused)n===null||n===void 0||n()}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e),this._runParsingLoop()}_ensureHibernation(){if(this.preprocessor.endOfChunkHit)return this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0;return!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(e){this.consumedAfterSnapshot+=e;for(let t=0;t0)this._err(Dt.endTagWithAttributes);if(e.selfClosing)this._err(Dt.endTagWithTrailingSolidus);this.handler.onEndTag(e)}this.preprocessor.dropParsedChunk()}emitCurrentComment(e){this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(e){this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){if(e&&this.currentCharacterToken.location)this.currentCharacterToken.location.endLine=e.startLine,this.currentCharacterToken.location.endCol=e.startCol,this.currentCharacterToken.location.endOffset=e.startOffset;switch(this.currentCharacterToken.type){case Wo.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case Wo.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case Wo.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){let e=this.getCurrentLocation(0);if(e)e.endLine=e.startLine,e.endCol=e.startCol,e.endOffset=e.startOffset;this._emitCurrentCharacterToken(e),this.handler.onEof({type:Wo.EOF,location:e}),this.active=!1}_appendCharToCurrentCharacterToken(e,t){if(this.currentCharacterToken)if(this.currentCharacterToken.type===e){this.currentCharacterToken.chars+=t;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(e,t)}_emitCodePoint(e){let t=jVt(e)?Wo.WHITESPACE_CHARACTER:e===Fe.NULL?Wo.NULL_CHARACTER:Wo.CHARACTER;this._appendCharToCurrentCharacterToken(t,String.fromCodePoint(e))}_emitChars(e){this._appendCharToCurrentCharacterToken(Wo.CHARACTER,e)}_startCharacterReference(){this.returnState=this.state,this.state=He.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?xx.Attribute:xx.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===He.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===He.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===He.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(e){if(this._isCharacterReferenceInAttribute())this.currentAttr.value+=String.fromCodePoint(e);else this._emitCodePoint(e)}_callState(e){switch(this.state){case He.DATA:{this._stateData(e);break}case He.RCDATA:{this._stateRcdata(e);break}case He.RAWTEXT:{this._stateRawtext(e);break}case He.SCRIPT_DATA:{this._stateScriptData(e);break}case He.PLAINTEXT:{this._statePlaintext(e);break}case He.TAG_OPEN:{this._stateTagOpen(e);break}case He.END_TAG_OPEN:{this._stateEndTagOpen(e);break}case He.TAG_NAME:{this._stateTagName(e);break}case He.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(e);break}case He.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(e);break}case He.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(e);break}case He.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(e);break}case He.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(e);break}case He.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(e);break}case He.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(e);break}case He.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(e);break}case He.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(e);break}case He.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(e);break}case He.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(e);break}case He.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(e);break}case He.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(e);break}case He.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(e);break}case He.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(e);break}case He.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(e);break}case He.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(e);break}case He.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(e);break}case He.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(e);break}case He.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(e);break}case He.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(e);break}case He.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(e);break}case He.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(e);break}case He.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(e);break}case He.ATTRIBUTE_NAME:{this._stateAttributeName(e);break}case He.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(e);break}case He.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(e);break}case He.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(e);break}case He.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(e);break}case He.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(e);break}case He.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(e);break}case He.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(e);break}case He.BOGUS_COMMENT:{this._stateBogusComment(e);break}case He.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(e);break}case He.COMMENT_START:{this._stateCommentStart(e);break}case He.COMMENT_START_DASH:{this._stateCommentStartDash(e);break}case He.COMMENT:{this._stateComment(e);break}case He.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(e);break}case He.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(e);break}case He.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(e);break}case He.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(e);break}case He.COMMENT_END_DASH:{this._stateCommentEndDash(e);break}case He.COMMENT_END:{this._stateCommentEnd(e);break}case He.COMMENT_END_BANG:{this._stateCommentEndBang(e);break}case He.DOCTYPE:{this._stateDoctype(e);break}case He.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(e);break}case He.DOCTYPE_NAME:{this._stateDoctypeName(e);break}case He.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(e);break}case He.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(e);break}case He.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(e);break}case He.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(e);break}case He.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(e);break}case He.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(e);break}case He.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break}case He.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(e);break}case He.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(e);break}case He.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(e);break}case He.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(e);break}case He.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(e);break}case He.BOGUS_DOCTYPE:{this._stateBogusDoctype(e);break}case He.CDATA_SECTION:{this._stateCdataSection(e);break}case He.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(e);break}case He.CDATA_SECTION_END:{this._stateCdataSectionEnd(e);break}case He.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case He.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(e);break}default:throw Error("Unknown state")}}_stateData(e){switch(e){case Fe.LESS_THAN_SIGN:{this.state=He.TAG_OPEN;break}case Fe.AMPERSAND:{this._startCharacterReference();break}case Fe.NULL:{this._err(Dt.unexpectedNullCharacter),this._emitCodePoint(e);break}case Fe.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRcdata(e){switch(e){case Fe.AMPERSAND:{this._startCharacterReference();break}case Fe.LESS_THAN_SIGN:{this.state=He.RCDATA_LESS_THAN_SIGN;break}case Fe.NULL:{this._err(Dt.unexpectedNullCharacter),this._emitChars(Bs);break}case Fe.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateRawtext(e){switch(e){case Fe.LESS_THAN_SIGN:{this.state=He.RAWTEXT_LESS_THAN_SIGN;break}case Fe.NULL:{this._err(Dt.unexpectedNullCharacter),this._emitChars(Bs);break}case Fe.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateScriptData(e){switch(e){case Fe.LESS_THAN_SIGN:{this.state=He.SCRIPT_DATA_LESS_THAN_SIGN;break}case Fe.NULL:{this._err(Dt.unexpectedNullCharacter),this._emitChars(Bs);break}case Fe.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_statePlaintext(e){switch(e){case Fe.NULL:{this._err(Dt.unexpectedNullCharacter),this._emitChars(Bs);break}case Fe.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(e)}}_stateTagOpen(e){if(dC(e))this._createStartTagToken(),this.state=He.TAG_NAME,this._stateTagName(e);else switch(e){case Fe.EXCLAMATION_MARK:{this.state=He.MARKUP_DECLARATION_OPEN;break}case Fe.SOLIDUS:{this.state=He.END_TAG_OPEN;break}case Fe.QUESTION_MARK:{this._err(Dt.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=He.BOGUS_COMMENT,this._stateBogusComment(e);break}case Fe.EOF:{this._err(Dt.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Dt.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=He.DATA,this._stateData(e)}}_stateEndTagOpen(e){if(dC(e))this._createEndTagToken(),this.state=He.TAG_NAME,this._stateTagName(e);else switch(e){case Fe.GREATER_THAN_SIGN:{this._err(Dt.missingEndTagName),this.state=He.DATA;break}case Fe.EOF:{this._err(Dt.eofBeforeTagName),this._emitChars("");break}case Fe.NULL:{this._err(Dt.unexpectedNullCharacter),this.state=He.SCRIPT_DATA_ESCAPED,this._emitChars(Bs);break}case Fe.EOF:{this._err(Dt.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=He.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedLessThanSign(e){if(e===Fe.SOLIDUS)this.state=He.SCRIPT_DATA_ESCAPED_END_TAG_OPEN;else if(dC(e))this._emitChars("<"),this.state=He.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(e);else this._emitChars("<"),this.state=He.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e)}_stateScriptDataEscapedEndTagOpen(e){if(dC(e))this.state=He.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(e);else this._emitChars("");break}case Fe.NULL:{this._err(Dt.unexpectedNullCharacter),this.state=He.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Bs);break}case Fe.EOF:{this._err(Dt.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=He.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedLessThanSign(e){if(e===Fe.SOLIDUS)this.state=He.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/");else this.state=He.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e)}_stateScriptDataDoubleEscapeEnd(e){if(this.preprocessor.startsWith(hh.SCRIPT,!1)&&JVt(this.preprocessor.peek(hh.SCRIPT.length))){this._emitCodePoint(e);for(let t=0;t{VVt();_se();Vse();XVt();MG();Z3();(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(He||(He={}));gl={DATA:He.DATA,RCDATA:He.RCDATA,RAWTEXT:He.RAWTEXT,SCRIPT_DATA:He.SCRIPT_DATA,PLAINTEXT:He.PLAINTEXT,CDATA_SECTION:He.CDATA_SECTION}});class Uke{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(e,t,n){this.treeAdapter=t,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=X.UNKNOWN,this.current=e}_indexOf(e){return this.items.lastIndexOf(e,this.stackTop)}_isInTemplate(){return this.currentTagId===X.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===$t.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(e,t){if(this.stackTop++,this.items[this.stackTop]=e,this.current=e,this.tagIDs[this.stackTop]=t,this.currentTagId=t,this._isInTemplate())this.tmplCount++;this.handler.onItemPush(e,t,!0)}pop(){let e=this.current;if(this.tmplCount>0&&this._isInTemplate())this.tmplCount--;this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,t){let n=this._indexOf(e);if(this.items[n]=t,n===this.stackTop)this.current=t}insertAfter(e,t,n){let r=this._indexOf(e)+1;if(this.items.splice(r,0,t),this.tagIDs.splice(r,0,n),this.stackTop++,r===this.stackTop)this._updateCurrentElement();if(this.current&&this.currentTagId!==void 0)this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(e){let t=this.stackTop+1;do t=this.tagIDs.lastIndexOf(e,t-1);while(t>0&&this.treeAdapter.getNamespaceURI(this.items[t])!==$t.HTML);this.shortenToLength(Math.max(t,0))}shortenToLength(e){while(this.stackTop>=e){let t=this.current;if(this.tmplCount>0&&this._isInTemplate())this.tmplCount-=1;this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,this.stackTop=0;n--)if(e.has(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===t)return n;return-1}clearBackTo(e,t){let n=this._indexOfTagNames(e,t);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(mar,$t.HTML)}clearBackToTableBodyContext(){this.clearBackTo(far,$t.HTML)}clearBackToTableRowContext(){this.clearBackTo(par,$t.HTML)}remove(e){let t=this._indexOf(e);if(t>=0)if(t===this.stackTop)this.pop();else this.items.splice(t,1),this.tagIDs.splice(t,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===X.BODY?this.items[1]:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let t=this._indexOf(e)-1;return t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===X.HTML}hasInDynamicScope(e,t){for(let n=this.stackTop;n>=0;n--){let r=this.tagIDs[n];switch(this.treeAdapter.getNamespaceURI(this.items[n])){case $t.HTML:{if(r===e)return!0;if(t.has(r))return!1;break}case $t.SVG:{if(tGt.has(r))return!1;break}case $t.MATHML:{if(eGt.has(r))return!1;break}}}return!0}hasInScope(e){return this.hasInDynamicScope(e,Zse)}hasInListItemScope(e){return this.hasInDynamicScope(e,uar)}hasInButtonScope(e){return this.hasInDynamicScope(e,dar)}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){let t=this.tagIDs[e];switch(this.treeAdapter.getNamespaceURI(this.items[e])){case $t.HTML:{if(DG.has(t))return!0;if(Zse.has(t))return!1;break}case $t.SVG:{if(tGt.has(t))return!1;break}case $t.MATHML:{if(eGt.has(t))return!1;break}}}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){if(this.treeAdapter.getNamespaceURI(this.items[t])!==$t.HTML)continue;switch(this.tagIDs[t]){case e:return!0;case X.TABLE:case X.HTML:return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){if(this.treeAdapter.getNamespaceURI(this.items[e])!==$t.HTML)continue;switch(this.tagIDs[e]){case X.TBODY:case X.THEAD:case X.TFOOT:return!0;case X.TABLE:case X.HTML:return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){if(this.treeAdapter.getNamespaceURI(this.items[t])!==$t.HTML)continue;switch(this.tagIDs[t]){case e:return!0;case X.OPTION:case X.OPTGROUP:break;default:return!1}}return!0}generateImpliedEndTags(){while(this.currentTagId!==void 0&&nGt.has(this.currentTagId))this.pop()}generateImpliedEndTagsThoroughly(){while(this.currentTagId!==void 0&&$Vt.has(this.currentTagId))this.pop()}generateImpliedEndTagsWithExclusion(e){while(this.currentTagId!==void 0&&this.currentTagId!==e&&$Vt.has(this.currentTagId))this.pop()}}var nGt,$Vt,Zse,uar,dar,eGt,tGt,par,far,mar,har;var rGt=P(()=>{Z3();nGt=new Set([X.DD,X.DT,X.LI,X.OPTGROUP,X.OPTION,X.P,X.RB,X.RP,X.RT,X.RTC]),$Vt=new Set([...nGt,X.CAPTION,X.COLGROUP,X.TBODY,X.TD,X.TFOOT,X.TH,X.THEAD,X.TR]),Zse=new Set([X.APPLET,X.CAPTION,X.HTML,X.MARQUEE,X.OBJECT,X.TABLE,X.TD,X.TEMPLATE,X.TH]),uar=new Set([...Zse,X.OL,X.UL]),dar=new Set([...Zse,X.BUTTON]),eGt=new Set([X.ANNOTATION_XML,X.MI,X.MN,X.MO,X.MS,X.MTEXT]),tGt=new Set([X.DESC,X.FOREIGN_OBJECT,X.TITLE]),par=new Set([X.TR,X.TEMPLATE,X.HTML]),far=new Set([X.TBODY,X.TFOOT,X.THEAD,X.TEMPLATE,X.HTML]),mar=new Set([X.TABLE,X.TEMPLATE,X.HTML]),har=new Set([X.TD,X.TH])});class Nke{constructor(e){this.treeAdapter=e,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(e,t){let n=[],r=t.length,o=this.treeAdapter.getTagName(e),a=this.treeAdapter.getNamespaceURI(e);for(let i=0;i[a.name,a.value])),o=0;for(let a=0;ar.get(s.name)===s.value)){if(o+=1,o>=3)this.entries.splice(i.idx,1)}}}insertMarker(){this.entries.unshift(oGt)}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.unshift({type:Q2.Element,element:e,token:t})}insertElementAfterBookmark(e,t){let n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:Q2.Element,element:e,token:t})}removeEntry(e){let t=this.entries.indexOf(e);if(t!==-1)this.entries.splice(t,1)}clearToLastMarker(){let e=this.entries.indexOf(oGt);if(e===-1)this.entries.length=0;else this.entries.splice(0,e+1)}getElementEntryInScopeWithTagName(e){let t=this.entries.find((n)=>n.type===Q2.Marker||this.treeAdapter.getTagName(n.element)===e);return t&&t.type===Q2.Element?t:null}getElementEntry(e){return this.entries.find((t)=>t.type===Q2.Element&&t.element===e)}}var Q2,oGt;var aGt=P(()=>{(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Q2||(Q2={}));oGt={type:Q2.Marker}});var X2;var Qse=P(()=>{Z3();X2={createDocument(){return{nodeName:"#document",mode:gh.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){let r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,r){let o=e.childNodes.find((a)=>a.nodeName==="#documentType");if(o)o.name=t,o.publicId=n,o.systemId=r;else{let a={nodeName:"#documentType",name:t,publicId:n,systemId:r,parentNode:null};X2.appendChild(e,a)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){let t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){let n=e.childNodes[e.childNodes.length-1];if(X2.isTextNode(n)){n.value+=t;return}}X2.appendChild(e,X2.createTextNode(t))},insertTextBefore(e,t,n){let r=e.childNodes[e.childNodes.indexOf(n)-1];if(r&&X2.isTextNode(r))r.value+=t;else X2.insertBefore(e,X2.createTextNode(t),n)},adoptAttributes(e,t){let n=new Set(e.attrs.map((r)=>r.name));for(let r=0;re.startsWith(n))}function uGt(e){return e.name===sGt&&e.publicId===null&&(e.systemId===null||e.systemId===gar)}function dGt(e){if(e.name!==sGt)return gh.QUIRKS;let{systemId:t}=e;if(t&&t.toLowerCase()===yar)return gh.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),xar.has(n))return gh.QUIRKS;let r=t===null?bar:lGt;if(iGt(n,r))return gh.QUIRKS;if(r=t===null?cGt:Aar,iGt(n,r))return gh.LIMITED_QUIRKS}return gh.NO_QUIRKS}var sGt="html",gar="about:legacy-compat",yar="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",lGt,bar,xar,cGt,Aar;var pGt=P(()=>{Z3();lGt=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],bar=[...lGt,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],xar=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),cGt=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],Aar=[...cGt,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]});function mGt(e){let t=e.tagID;return t===X.FONT&&e.attrs.some(({name:r})=>r===G3.COLOR||r===G3.SIZE||r===G3.FACE)||kar.has(t)}function zke(e){for(let t=0;t{Z3();fGt={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},Ear=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((e)=>[e.toLowerCase(),e])),Iar=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:$t.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:$t.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:$t.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:$t.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:$t.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:$t.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:$t.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:$t.XML}],["xml:space",{prefix:"xml",name:"space",namespace:$t.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:$t.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:$t.XMLNS}]]),Tar=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((e)=>[e.toLowerCase(),e])),kar=new Set([X.B,X.BIG,X.BLOCKQUOTE,X.BODY,X.BR,X.CENTER,X.CODE,X.DD,X.DIV,X.DL,X.DT,X.EM,X.EMBED,X.H1,X.H2,X.H3,X.H4,X.H5,X.H6,X.HEAD,X.HR,X.I,X.IMG,X.LI,X.LISTING,X.MENU,X.META,X.NOBR,X.OL,X.P,X.PRE,X.RUBY,X.S,X.SMALL,X.SPAN,X.STRONG,X.STRIKE,X.SUB,X.SUP,X.TABLE,X.TT,X.U,X.UL,X.VAR])});class dD{constructor(e,t,n=null,r=null){if(this.fragmentContext=n,this.scriptHandler=r,this.currentToken=null,this.stopped=!1,this.insertionMode=Ye.INITIAL,this.originalInsertionMode=Ye.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...vGt,...e},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError)this.options.sourceCodeLocationInfo=!0;this.document=t!==null&&t!==void 0?t:this.treeAdapter.createDocument(),this.tokenizer=new qse(this.options,this),this.activeFormattingElements=new Nke(this.treeAdapter),this.fragmentContextID=n?q3(this.treeAdapter.getTagName(n)):X.UNKNOWN,this._setContextModes(n!==null&&n!==void 0?n:this.document,this.fragmentContextID),this.openElements=new Uke(this.document,this.treeAdapter,this)}static parse(e,t){let n=new this(t);return n.tokenizer.write(e,!0),n.document}static getFragmentParser(e,t){let n={...vGt,...t};e!==null&&e!==void 0||(e=n.treeAdapter.createElement(gt.TEMPLATE,$t.HTML,[]));let r=n.treeAdapter.createElement("documentmock",$t.HTML,[]),o=new this(n,r,e);if(o.fragmentContextID===X.TEMPLATE)o.tmplInsertionModeStack.unshift(Ye.IN_TEMPLATE);return o._initTokenizerForFragmentParsing(),o._insertFakeRootElement(),o._resetInsertionMode(),o._findFormInFragmentContext(),o}getFragment(){let e=this.treeAdapter.getFirstChild(this.document),t=this.treeAdapter.createDocumentFragment();return this._adoptNodes(e,t),t}_err(e,t,n){var r;if(!this.onParseError)return;let o=(r=e.location)!==null&&r!==void 0?r:Bar,a={code:t,startLine:o.startLine,startCol:o.startCol,startOffset:o.startOffset,endLine:n?o.startLine:o.endLine,endCol:n?o.startCol:o.endCol,endOffset:n?o.startOffset:o.endOffset};this.onParseError(a)}onItemPush(e,t,n){var r,o;if((o=(r=this.treeAdapter).onItemPush)===null||o===void 0||o.call(r,e),n&&this.openElements.stackTop>0)this._setContextModes(e,t)}onItemPop(e,t){var n,r;if(this.options.sourceCodeLocationInfo)this._setEndLocation(e,this.currentToken);if((r=(n=this.treeAdapter).onItemPop)===null||r===void 0||r.call(n,e,this.openElements.current),t){let o,a;if(this.openElements.stackTop===0&&this.fragmentContext)o=this.fragmentContext,a=this.fragmentContextID;else({current:o,currentTagId:a}=this.openElements);this._setContextModes(o,a)}}_setContextModes(e,t){let n=e===this.document||e&&this.treeAdapter.getNamespaceURI(e)===$t.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&e!==void 0&&t!==void 0&&!this._isIntegrationPoint(t,e)}_switchToTextParsing(e,t){this._insertElement(e,$t.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=Ye.TEXT}switchToPlaintextParsing(){this.insertionMode=Ye.TEXT,this.originalInsertionMode=Ye.IN_BODY,this.tokenizer.state=gl.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;while(e){if(this.treeAdapter.getTagName(e)===gt.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){if(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==$t.HTML)return;switch(this.fragmentContextID){case X.TITLE:case X.TEXTAREA:{this.tokenizer.state=gl.RCDATA;break}case X.STYLE:case X.XMP:case X.IFRAME:case X.NOEMBED:case X.NOFRAMES:case X.NOSCRIPT:{this.tokenizer.state=gl.RAWTEXT;break}case X.SCRIPT:{this.tokenizer.state=gl.SCRIPT_DATA;break}case X.PLAINTEXT:{this.tokenizer.state=gl.PLAINTEXT;break}default:}}_setDocumentType(e){let t=e.name||"",n=e.publicId||"",r=e.systemId||"";if(this.treeAdapter.setDocumentType(this.document,t,n,r),e.location){let a=this.treeAdapter.getChildNodes(this.document).find((i)=>this.treeAdapter.isDocumentTypeNode(i));if(a)this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}}_attachElementToTree(e,t){if(this.options.sourceCodeLocationInfo){let n=t&&{...t,startTag:t};this.treeAdapter.setNodeSourceCodeLocation(e,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{let n=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(n!==null&&n!==void 0?n:this.document,e)}}_appendElement(e,t){let n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location)}_insertElement(e,t){let n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)}_insertFakeElement(e,t){let n=this.treeAdapter.createElement(e,$t.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,t)}_insertTemplate(e){let t=this.treeAdapter.createElement(e.tagName,$t.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();if(this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t,e.location),this.openElements.push(t,e.tagID),this.options.sourceCodeLocationInfo)this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){let e=this.treeAdapter.createElement(gt.HTML,$t.HTML,[]);if(this.options.sourceCodeLocationInfo)this.treeAdapter.setNodeSourceCodeLocation(e,null);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e,X.HTML)}_appendCommentNode(e,t){let n=this.treeAdapter.createCommentNode(e.data);if(this.treeAdapter.appendChild(t,n),this.options.sourceCodeLocationInfo)this.treeAdapter.setNodeSourceCodeLocation(n,e.location)}_insertCharacters(e){let t,n;if(this._shouldFosterParentOnInsertion())if({parent:t,beforeElement:n}=this._findFosterParentingLocation(),n)this.treeAdapter.insertTextBefore(t,e.chars,n);else this.treeAdapter.insertText(t,e.chars);else t=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(t,e.chars);if(!e.location)return;let r=this.treeAdapter.getChildNodes(t),o=n?r.lastIndexOf(n):r.length,a=r[o-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){let{endLine:s,endCol:l,endOffset:c}=e.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:s,endCol:l,endOffset:c})}else if(this.options.sourceCodeLocationInfo)this.treeAdapter.setNodeSourceCodeLocation(a,e.location)}_adoptNodes(e,t){for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}_setEndLocation(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){let n=t.location,r=this.treeAdapter.getTagName(e),o=t.type===Wo.END_TAG&&r===t.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(e,o)}}shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1;let t,n;if(this.openElements.stackTop===0&&this.fragmentContext)t=this.fragmentContext,n=this.fragmentContextID;else({current:t,currentTagId:n}=this.openElements);if(e.tagID===X.SVG&&this.treeAdapter.getTagName(t)===gt.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(t)===$t.MATHML)return!1;return this.tokenizer.inForeignNode||(e.tagID===X.MGLYPH||e.tagID===X.MALIGNMARK)&&n!==void 0&&!this._isIntegrationPoint(n,t,$t.HTML)}_processToken(e){switch(e.type){case Wo.CHARACTER:{this.onCharacter(e);break}case Wo.NULL_CHARACTER:{this.onNullCharacter(e);break}case Wo.COMMENT:{this.onComment(e);break}case Wo.DOCTYPE:{this.onDoctype(e);break}case Wo.START_TAG:{this._processStartTag(e);break}case Wo.END_TAG:{this.onEndTag(e);break}case Wo.EOF:{this.onEof(e);break}case Wo.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(e);break}}}_isIntegrationPoint(e,t,n){let r=this.treeAdapter.getNamespaceURI(t),o=this.treeAdapter.getAttrList(t);return gGt(e,r,o,n)}_reconstructActiveFormattingElements(){let e=this.activeFormattingElements.entries.length;if(e){let t=this.activeFormattingElements.entries.findIndex((r)=>r.type===Q2.Marker||this.openElements.contains(r.element)),n=t===-1?e-1:t-1;for(let r=n;r>=0;r--){let o=this.activeFormattingElements.entries[r];this._insertElement(o.token,this.treeAdapter.getNamespaceURI(o.element)),o.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=Ye.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(X.P),this.openElements.popUntilTagNamePopped(X.P)}_resetInsertionMode(){for(let e=this.openElements.stackTop;e>=0;e--)switch(e===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){case X.TR:{this.insertionMode=Ye.IN_ROW;return}case X.TBODY:case X.THEAD:case X.TFOOT:{this.insertionMode=Ye.IN_TABLE_BODY;return}case X.CAPTION:{this.insertionMode=Ye.IN_CAPTION;return}case X.COLGROUP:{this.insertionMode=Ye.IN_COLUMN_GROUP;return}case X.TABLE:{this.insertionMode=Ye.IN_TABLE;return}case X.BODY:{this.insertionMode=Ye.IN_BODY;return}case X.FRAMESET:{this.insertionMode=Ye.IN_FRAMESET;return}case X.SELECT:{this._resetInsertionModeForSelect(e);return}case X.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case X.HTML:{this.insertionMode=this.headElement?Ye.AFTER_HEAD:Ye.BEFORE_HEAD;return}case X.TD:case X.TH:{if(e>0){this.insertionMode=Ye.IN_CELL;return}break}case X.HEAD:{if(e>0){this.insertionMode=Ye.IN_HEAD;return}break}}this.insertionMode=Ye.IN_BODY}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){let n=this.openElements.tagIDs[t];if(n===X.TEMPLATE)break;else if(n===X.TABLE){this.insertionMode=Ye.IN_SELECT_IN_TABLE;return}}this.insertionMode=Ye.IN_SELECT}_isElementCausesFosterParenting(e){return AGt.has(e)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){let t=this.openElements.items[e];switch(this.openElements.tagIDs[e]){case X.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(t)===$t.HTML)return{parent:this.treeAdapter.getTemplateContent(t),beforeElement:null};break}case X.TABLE:{let n=this.treeAdapter.getParentNode(t);if(n)return{parent:n,beforeElement:t};return{parent:this.openElements.items[e-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(e){let t=this._findFosterParentingLocation();if(t.beforeElement)this.treeAdapter.insertBefore(t.parent,e,t.beforeElement);else this.treeAdapter.appendChild(t.parent,e)}_isSpecialElement(e,t){let n=this.treeAdapter.getNamespaceURI(e);return WVt[n].has(t)}onCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){usr(this,e);return}switch(this.insertionMode){case Ye.INITIAL:{BG(this,e);break}case Ye.BEFORE_HTML:{FG(this,e);break}case Ye.BEFORE_HEAD:{UG(this,e);break}case Ye.IN_HEAD:{NG(this,e);break}case Ye.IN_HEAD_NO_SCRIPT:{zG(this,e);break}case Ye.AFTER_HEAD:{_G(this,e);break}case Ye.IN_BODY:case Ye.IN_CAPTION:case Ye.IN_CELL:case Ye.IN_TEMPLATE:{SGt(this,e);break}case Ye.TEXT:case Ye.IN_SELECT:case Ye.IN_SELECT_IN_TABLE:{this._insertCharacters(e);break}case Ye.IN_TABLE:case Ye.IN_TABLE_BODY:case Ye.IN_ROW:{Vke(this,e);break}case Ye.IN_TABLE_TEXT:{RGt(this,e);break}case Ye.IN_COLUMN_GROUP:{Yse(this,e);break}case Ye.AFTER_BODY:{Kse(this,e);break}case Ye.AFTER_AFTER_BODY:{Wse(this,e);break}default:}}onNullCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){csr(this,e);return}switch(this.insertionMode){case Ye.INITIAL:{BG(this,e);break}case Ye.BEFORE_HTML:{FG(this,e);break}case Ye.BEFORE_HEAD:{UG(this,e);break}case Ye.IN_HEAD:{NG(this,e);break}case Ye.IN_HEAD_NO_SCRIPT:{zG(this,e);break}case Ye.AFTER_HEAD:{_G(this,e);break}case Ye.TEXT:{this._insertCharacters(e);break}case Ye.IN_TABLE:case Ye.IN_TABLE_BODY:case Ye.IN_ROW:{Vke(this,e);break}case Ye.IN_COLUMN_GROUP:{Yse(this,e);break}case Ye.AFTER_BODY:{Kse(this,e);break}case Ye.AFTER_AFTER_BODY:{Wse(this,e);break}default:}}onComment(e){if(this.skipNextNewLine=!1,this.currentNotInHTML){Gke(this,e);return}switch(this.insertionMode){case Ye.INITIAL:case Ye.BEFORE_HTML:case Ye.BEFORE_HEAD:case Ye.IN_HEAD:case Ye.IN_HEAD_NO_SCRIPT:case Ye.AFTER_HEAD:case Ye.IN_BODY:case Ye.IN_TABLE:case Ye.IN_CAPTION:case Ye.IN_COLUMN_GROUP:case Ye.IN_TABLE_BODY:case Ye.IN_ROW:case Ye.IN_CELL:case Ye.IN_SELECT:case Ye.IN_SELECT_IN_TABLE:case Ye.IN_TEMPLATE:case Ye.IN_FRAMESET:case Ye.AFTER_FRAMESET:{Gke(this,e);break}case Ye.IN_TABLE_TEXT:{OG(this,e);break}case Ye.AFTER_BODY:{Har(this,e);break}case Ye.AFTER_AFTER_BODY:case Ye.AFTER_AFTER_FRAMESET:{Var(this,e);break}default:}}onDoctype(e){switch(this.skipNextNewLine=!1,this.insertionMode){case Ye.INITIAL:{Gar(this,e);break}case Ye.BEFORE_HEAD:case Ye.IN_HEAD:case Ye.IN_HEAD_NO_SCRIPT:case Ye.AFTER_HEAD:{this._err(e,Dt.misplacedDoctype);break}case Ye.IN_TABLE_TEXT:{OG(this,e);break}default:}}onStartTag(e){if(this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e),e.selfClosing&&!e.ackSelfClosing)this._err(e,Dt.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(e){if(this.shouldProcessStartTagTokenInForeignContent(e))dsr(this,e);else this._startTagOutsideForeignContent(e)}_startTagOutsideForeignContent(e){switch(this.insertionMode){case Ye.INITIAL:{BG(this,e);break}case Ye.BEFORE_HTML:{qar(this,e);break}case Ye.BEFORE_HEAD:{Qar(this,e);break}case Ye.IN_HEAD:{W2(this,e);break}case Ye.IN_HEAD_NO_SCRIPT:{Yar(this,e);break}case Ye.AFTER_HEAD:{Jar(this,e);break}case Ye.IN_BODY:{bm(this,e);break}case Ye.IN_TABLE:{uD(this,e);break}case Ye.IN_TABLE_TEXT:{OG(this,e);break}case Ye.IN_CAPTION:{Xir(this,e);break}case Ye.IN_COLUMN_GROUP:{Xke(this,e);break}case Ye.IN_TABLE_BODY:{$se(this,e);break}case Ye.IN_ROW:{ele(this,e);break}case Ye.IN_CELL:{Kir(this,e);break}case Ye.IN_SELECT:{DGt(this,e);break}case Ye.IN_SELECT_IN_TABLE:{jir(this,e);break}case Ye.IN_TEMPLATE:{esr(this,e);break}case Ye.AFTER_BODY:{nsr(this,e);break}case Ye.IN_FRAMESET:{rsr(this,e);break}case Ye.AFTER_FRAMESET:{asr(this,e);break}case Ye.AFTER_AFTER_BODY:{ssr(this,e);break}case Ye.AFTER_AFTER_FRAMESET:{lsr(this,e);break}default:}}onEndTag(e){if(this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML)psr(this,e);else this._endTagOutsideForeignContent(e)}_endTagOutsideForeignContent(e){switch(this.insertionMode){case Ye.INITIAL:{BG(this,e);break}case Ye.BEFORE_HTML:{Zar(this,e);break}case Ye.BEFORE_HEAD:{Xar(this,e);break}case Ye.IN_HEAD:{War(this,e);break}case Ye.IN_HEAD_NO_SCRIPT:{Kar(this,e);break}case Ye.AFTER_HEAD:{jar(this,e);break}case Ye.IN_BODY:{jse(this,e);break}case Ye.TEXT:{Uir(this,e);break}case Ye.IN_TABLE:{HG(this,e);break}case Ye.IN_TABLE_TEXT:{OG(this,e);break}case Ye.IN_CAPTION:{Wir(this,e);break}case Ye.IN_COLUMN_GROUP:{Yir(this,e);break}case Ye.IN_TABLE_BODY:{qke(this,e);break}case Ye.IN_ROW:{MGt(this,e);break}case Ye.IN_CELL:{Jir(this,e);break}case Ye.IN_SELECT:{LGt(this,e);break}case Ye.IN_SELECT_IN_TABLE:{$ir(this,e);break}case Ye.IN_TEMPLATE:{tsr(this,e);break}case Ye.AFTER_BODY:{OGt(this,e);break}case Ye.IN_FRAMESET:{osr(this,e);break}case Ye.AFTER_FRAMESET:{isr(this,e);break}case Ye.AFTER_AFTER_BODY:{Wse(this,e);break}default:}}onEof(e){switch(this.insertionMode){case Ye.INITIAL:{BG(this,e);break}case Ye.BEFORE_HTML:{FG(this,e);break}case Ye.BEFORE_HEAD:{UG(this,e);break}case Ye.IN_HEAD:{NG(this,e);break}case Ye.IN_HEAD_NO_SCRIPT:{zG(this,e);break}case Ye.AFTER_HEAD:{_G(this,e);break}case Ye.IN_BODY:case Ye.IN_TABLE:case Ye.IN_CAPTION:case Ye.IN_COLUMN_GROUP:case Ye.IN_TABLE_BODY:case Ye.IN_ROW:case Ye.IN_CELL:case Ye.IN_SELECT:case Ye.IN_SELECT_IN_TABLE:{TGt(this,e);break}case Ye.TEXT:{Nir(this,e);break}case Ye.IN_TABLE_TEXT:{OG(this,e);break}case Ye.IN_TEMPLATE:{BGt(this,e);break}case Ye.AFTER_BODY:case Ye.IN_FRAMESET:case Ye.AFTER_FRAMESET:case Ye.AFTER_AFTER_BODY:case Ye.AFTER_AFTER_FRAMESET:{Qke(this,e);break}default:}}onWhitespaceCharacter(e){if(this.skipNextNewLine){if(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===Fe.LINE_FEED){if(e.chars.length===1)return;e.chars=e.chars.substr(1)}}if(this.tokenizer.inForeignNode){this._insertCharacters(e);return}switch(this.insertionMode){case Ye.IN_HEAD:case Ye.IN_HEAD_NO_SCRIPT:case Ye.AFTER_HEAD:case Ye.TEXT:case Ye.IN_COLUMN_GROUP:case Ye.IN_SELECT:case Ye.IN_SELECT_IN_TABLE:case Ye.IN_FRAMESET:case Ye.AFTER_FRAMESET:{this._insertCharacters(e);break}case Ye.IN_BODY:case Ye.IN_CAPTION:case Ye.IN_CELL:case Ye.IN_TEMPLATE:case Ye.AFTER_BODY:case Ye.AFTER_AFTER_BODY:case Ye.AFTER_AFTER_FRAMESET:{wGt(this,e);break}case Ye.IN_TABLE:case Ye.IN_TABLE_BODY:case Ye.IN_ROW:{Vke(this,e);break}case Ye.IN_TABLE_TEXT:{kGt(this,e);break}default:}}}function Oar(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);if(n){if(!e.openElements.contains(n.element))e.activeFormattingElements.removeEntry(n),n=null;else if(!e.openElements.hasInScope(t.tagID))n=null}else IGt(e,t);return n}function Far(e,t){let n=null,r=e.openElements.stackTop;for(;r>=0;r--){let o=e.openElements.items[r];if(o===t.element)break;if(e._isSpecialElement(o,e.openElements.tagIDs[r]))n=o}if(!n)e.openElements.shortenToLength(Math.max(r,0)),e.activeFormattingElements.removeEntry(t);return n}function Uar(e,t,n){let r=t,o=e.openElements.getCommonAncestor(t);for(let a=0,i=o;i!==n;a++,i=o){o=e.openElements.getCommonAncestor(i);let s=e.activeFormattingElements.getElementEntry(i),l=s&&a>=Lar;if(!s||l){if(l)e.activeFormattingElements.removeEntry(s);e.openElements.remove(i)}else{if(i=Nar(e,s),r===t)e.activeFormattingElements.bookmark=s;e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(i,r),r=i}}return r}function Nar(e,t){let n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function zar(e,t,n){let r=e.treeAdapter.getTagName(t),o=q3(r);if(e._isElementCausesFosterParenting(o))e._fosterParentElement(n);else{let a=e.treeAdapter.getNamespaceURI(t);if(o===X.TEMPLATE&&a===$t.HTML)t=e.treeAdapter.getTemplateContent(t);e.treeAdapter.appendChild(t,n)}}function _ar(e,t,n){let r=e.treeAdapter.getNamespaceURI(n.element),{token:o}=n,a=e.treeAdapter.createElement(o.tagName,r,o.attrs);e._adoptNodes(t,a),e.treeAdapter.appendChild(t,a),e.activeFormattingElements.insertElementAfterBookmark(a,o),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,a,o.tagID)}function Zke(e,t){for(let n=0;n=n;r--)e._setEndLocation(e.openElements.items[r],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){let r=e.openElements.items[0],o=e.treeAdapter.getNodeSourceCodeLocation(r);if(o&&!o.endTag){if(e._setEndLocation(r,t),e.openElements.stackTop>=1){let a=e.openElements.items[1],i=e.treeAdapter.getNodeSourceCodeLocation(a);if(i&&!i.endTag)e._setEndLocation(a,t)}}}}}function Gar(e,t){e._setDocumentType(t);let n=t.forceQuirks?gh.QUIRKS:dGt(t);if(!uGt(t))e._err(t,Dt.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Ye.BEFORE_HTML}function BG(e,t){e._err(t,Dt.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,gh.QUIRKS),e.insertionMode=Ye.BEFORE_HTML,e._processToken(t)}function qar(e,t){if(t.tagID===X.HTML)e._insertElement(t,$t.HTML),e.insertionMode=Ye.BEFORE_HEAD;else FG(e,t)}function Zar(e,t){let n=t.tagID;if(n===X.HTML||n===X.HEAD||n===X.BODY||n===X.BR)FG(e,t)}function FG(e,t){e._insertFakeRootElement(),e.insertionMode=Ye.BEFORE_HEAD,e._processToken(t)}function Qar(e,t){switch(t.tagID){case X.HTML:{bm(e,t);break}case X.HEAD:{e._insertElement(t,$t.HTML),e.headElement=e.openElements.current,e.insertionMode=Ye.IN_HEAD;break}default:UG(e,t)}}function Xar(e,t){let n=t.tagID;if(n===X.HEAD||n===X.BODY||n===X.HTML||n===X.BR)UG(e,t);else e._err(t,Dt.endTagWithoutMatchingOpenElement)}function UG(e,t){e._insertFakeElement(gt.HEAD,X.HEAD),e.headElement=e.openElements.current,e.insertionMode=Ye.IN_HEAD,e._processToken(t)}function W2(e,t){switch(t.tagID){case X.HTML:{bm(e,t);break}case X.BASE:case X.BASEFONT:case X.BGSOUND:case X.LINK:case X.META:{e._appendElement(t,$t.HTML),t.ackSelfClosing=!0;break}case X.TITLE:{e._switchToTextParsing(t,gl.RCDATA);break}case X.NOSCRIPT:{if(e.options.scriptingEnabled)e._switchToTextParsing(t,gl.RAWTEXT);else e._insertElement(t,$t.HTML),e.insertionMode=Ye.IN_HEAD_NO_SCRIPT;break}case X.NOFRAMES:case X.STYLE:{e._switchToTextParsing(t,gl.RAWTEXT);break}case X.SCRIPT:{e._switchToTextParsing(t,gl.SCRIPT_DATA);break}case X.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=Ye.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(Ye.IN_TEMPLATE);break}case X.HEAD:{e._err(t,Dt.misplacedStartTagForHeadElement);break}default:NG(e,t)}}function War(e,t){switch(t.tagID){case X.HEAD:{e.openElements.pop(),e.insertionMode=Ye.AFTER_HEAD;break}case X.BODY:case X.BR:case X.HTML:{NG(e,t);break}case X.TEMPLATE:{XI(e,t);break}default:e._err(t,Dt.endTagWithoutMatchingOpenElement)}}function XI(e,t){if(e.openElements.tmplCount>0){if(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==X.TEMPLATE)e._err(t,Dt.closingOfElementWithOpenChildElements);e.openElements.popUntilTagNamePopped(X.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()}else e._err(t,Dt.endTagWithoutMatchingOpenElement)}function NG(e,t){e.openElements.pop(),e.insertionMode=Ye.AFTER_HEAD,e._processToken(t)}function Yar(e,t){switch(t.tagID){case X.HTML:{bm(e,t);break}case X.BASEFONT:case X.BGSOUND:case X.HEAD:case X.LINK:case X.META:case X.NOFRAMES:case X.STYLE:{W2(e,t);break}case X.NOSCRIPT:{e._err(t,Dt.nestedNoscriptInHead);break}default:zG(e,t)}}function Kar(e,t){switch(t.tagID){case X.NOSCRIPT:{e.openElements.pop(),e.insertionMode=Ye.IN_HEAD;break}case X.BR:{zG(e,t);break}default:e._err(t,Dt.endTagWithoutMatchingOpenElement)}}function zG(e,t){let n=t.type===Wo.EOF?Dt.openElementsLeftAfterEof:Dt.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=Ye.IN_HEAD,e._processToken(t)}function Jar(e,t){switch(t.tagID){case X.HTML:{bm(e,t);break}case X.BODY:{e._insertElement(t,$t.HTML),e.framesetOk=!1,e.insertionMode=Ye.IN_BODY;break}case X.FRAMESET:{e._insertElement(t,$t.HTML),e.insertionMode=Ye.IN_FRAMESET;break}case X.BASE:case X.BASEFONT:case X.BGSOUND:case X.LINK:case X.META:case X.NOFRAMES:case X.SCRIPT:case X.STYLE:case X.TEMPLATE:case X.TITLE:{e._err(t,Dt.abandonedHeadElementChild),e.openElements.push(e.headElement,X.HEAD),W2(e,t),e.openElements.remove(e.headElement);break}case X.HEAD:{e._err(t,Dt.misplacedStartTagForHeadElement);break}default:_G(e,t)}}function jar(e,t){switch(t.tagID){case X.BODY:case X.HTML:case X.BR:{_G(e,t);break}case X.TEMPLATE:{XI(e,t);break}default:e._err(t,Dt.endTagWithoutMatchingOpenElement)}}function _G(e,t){e._insertFakeElement(gt.BODY,X.BODY),e.insertionMode=Ye.IN_BODY,Jse(e,t)}function Jse(e,t){switch(t.type){case Wo.CHARACTER:{SGt(e,t);break}case Wo.WHITESPACE_CHARACTER:{wGt(e,t);break}case Wo.COMMENT:{Gke(e,t);break}case Wo.START_TAG:{bm(e,t);break}case Wo.END_TAG:{jse(e,t);break}case Wo.EOF:{TGt(e,t);break}default:}}function wGt(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function SGt(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function $ar(e,t){if(e.openElements.tmplCount===0)e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function eir(e,t){let n=e.openElements.tryPeekProperlyNestedBodyElement();if(n&&e.openElements.tmplCount===0)e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs)}function tir(e,t){let n=e.openElements.tryPeekProperlyNestedBodyElement();if(e.framesetOk&&n)e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,$t.HTML),e.insertionMode=Ye.IN_FRAMESET}function nir(e,t){if(e.openElements.hasInButtonScope(X.P))e._closePElement();e._insertElement(t,$t.HTML)}function rir(e,t){if(e.openElements.hasInButtonScope(X.P))e._closePElement();if(e.openElements.currentTagId!==void 0&&DG.has(e.openElements.currentTagId))e.openElements.pop();e._insertElement(t,$t.HTML)}function oir(e,t){if(e.openElements.hasInButtonScope(X.P))e._closePElement();e._insertElement(t,$t.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function air(e,t){let n=e.openElements.tmplCount>0;if(!e.formElement||n){if(e.openElements.hasInButtonScope(X.P))e._closePElement();if(e._insertElement(t,$t.HTML),!n)e.formElement=e.openElements.current}}function iir(e,t){e.framesetOk=!1;let n=t.tagID;for(let r=e.openElements.stackTop;r>=0;r--){let o=e.openElements.tagIDs[r];if(n===X.LI&&o===X.LI||(n===X.DD||n===X.DT)&&(o===X.DD||o===X.DT)){e.openElements.generateImpliedEndTagsWithExclusion(o),e.openElements.popUntilTagNamePopped(o);break}if(o!==X.ADDRESS&&o!==X.DIV&&o!==X.P&&e._isSpecialElement(e.openElements.items[r],o))break}if(e.openElements.hasInButtonScope(X.P))e._closePElement();e._insertElement(t,$t.HTML)}function sir(e,t){if(e.openElements.hasInButtonScope(X.P))e._closePElement();e._insertElement(t,$t.HTML),e.tokenizer.state=gl.PLAINTEXT}function lir(e,t){if(e.openElements.hasInScope(X.BUTTON))e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(X.BUTTON);e._reconstructActiveFormattingElements(),e._insertElement(t,$t.HTML),e.framesetOk=!1}function cir(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(gt.A);if(n)Zke(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n);e._reconstructActiveFormattingElements(),e._insertElement(t,$t.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function uir(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,$t.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function dir(e,t){if(e._reconstructActiveFormattingElements(),e.openElements.hasInScope(X.NOBR))Zke(e,t),e._reconstructActiveFormattingElements();e._insertElement(t,$t.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function pir(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,$t.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function fir(e,t){if(e.treeAdapter.getDocumentMode(e.document)!==gh.QUIRKS&&e.openElements.hasInButtonScope(X.P))e._closePElement();e._insertElement(t,$t.HTML),e.framesetOk=!1,e.insertionMode=Ye.IN_TABLE}function CGt(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,$t.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function EGt(e){let t=Hse(e,G3.TYPE);return t!=null&&t.toLowerCase()===Mar}function mir(e,t){if(e._reconstructActiveFormattingElements(),e._appendElement(t,$t.HTML),!EGt(t))e.framesetOk=!1;t.ackSelfClosing=!0}function hir(e,t){e._appendElement(t,$t.HTML),t.ackSelfClosing=!0}function gir(e,t){if(e.openElements.hasInButtonScope(X.P))e._closePElement();e._appendElement(t,$t.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function yir(e,t){t.tagName=gt.IMG,t.tagID=X.IMG,CGt(e,t)}function vir(e,t){e._insertElement(t,$t.HTML),e.skipNextNewLine=!0,e.tokenizer.state=gl.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=Ye.TEXT}function bir(e,t){if(e.openElements.hasInButtonScope(X.P))e._closePElement();e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,gl.RAWTEXT)}function xir(e,t){e.framesetOk=!1,e._switchToTextParsing(t,gl.RAWTEXT)}function bGt(e,t){e._switchToTextParsing(t,gl.RAWTEXT)}function Air(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,$t.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===Ye.IN_TABLE||e.insertionMode===Ye.IN_CAPTION||e.insertionMode===Ye.IN_TABLE_BODY||e.insertionMode===Ye.IN_ROW||e.insertionMode===Ye.IN_CELL?Ye.IN_SELECT_IN_TABLE:Ye.IN_SELECT}function wir(e,t){if(e.openElements.currentTagId===X.OPTION)e.openElements.pop();e._reconstructActiveFormattingElements(),e._insertElement(t,$t.HTML)}function Sir(e,t){if(e.openElements.hasInScope(X.RUBY))e.openElements.generateImpliedEndTags();e._insertElement(t,$t.HTML)}function Cir(e,t){if(e.openElements.hasInScope(X.RUBY))e.openElements.generateImpliedEndTagsWithExclusion(X.RTC);e._insertElement(t,$t.HTML)}function Eir(e,t){if(e._reconstructActiveFormattingElements(),zke(t),Xse(t),t.selfClosing)e._appendElement(t,$t.MATHML);else e._insertElement(t,$t.MATHML);t.ackSelfClosing=!0}function Iir(e,t){if(e._reconstructActiveFormattingElements(),_ke(t),Xse(t),t.selfClosing)e._appendElement(t,$t.SVG);else e._insertElement(t,$t.SVG);t.ackSelfClosing=!0}function xGt(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,$t.HTML)}function bm(e,t){switch(t.tagID){case X.I:case X.S:case X.B:case X.U:case X.EM:case X.TT:case X.BIG:case X.CODE:case X.FONT:case X.SMALL:case X.STRIKE:case X.STRONG:{uir(e,t);break}case X.A:{cir(e,t);break}case X.H1:case X.H2:case X.H3:case X.H4:case X.H5:case X.H6:{rir(e,t);break}case X.P:case X.DL:case X.OL:case X.UL:case X.DIV:case X.DIR:case X.NAV:case X.MAIN:case X.MENU:case X.ASIDE:case X.CENTER:case X.FIGURE:case X.FOOTER:case X.HEADER:case X.HGROUP:case X.DIALOG:case X.DETAILS:case X.ADDRESS:case X.ARTICLE:case X.SEARCH:case X.SECTION:case X.SUMMARY:case X.FIELDSET:case X.BLOCKQUOTE:case X.FIGCAPTION:{nir(e,t);break}case X.LI:case X.DD:case X.DT:{iir(e,t);break}case X.BR:case X.IMG:case X.WBR:case X.AREA:case X.EMBED:case X.KEYGEN:{CGt(e,t);break}case X.HR:{gir(e,t);break}case X.RB:case X.RTC:{Sir(e,t);break}case X.RT:case X.RP:{Cir(e,t);break}case X.PRE:case X.LISTING:{oir(e,t);break}case X.XMP:{bir(e,t);break}case X.SVG:{Iir(e,t);break}case X.HTML:{$ar(e,t);break}case X.BASE:case X.LINK:case X.META:case X.STYLE:case X.TITLE:case X.SCRIPT:case X.BGSOUND:case X.BASEFONT:case X.TEMPLATE:{W2(e,t);break}case X.BODY:{eir(e,t);break}case X.FORM:{air(e,t);break}case X.NOBR:{dir(e,t);break}case X.MATH:{Eir(e,t);break}case X.TABLE:{fir(e,t);break}case X.INPUT:{mir(e,t);break}case X.PARAM:case X.TRACK:case X.SOURCE:{hir(e,t);break}case X.IMAGE:{yir(e,t);break}case X.BUTTON:{lir(e,t);break}case X.APPLET:case X.OBJECT:case X.MARQUEE:{pir(e,t);break}case X.IFRAME:{xir(e,t);break}case X.SELECT:{Air(e,t);break}case X.OPTION:case X.OPTGROUP:{wir(e,t);break}case X.NOEMBED:case X.NOFRAMES:{bGt(e,t);break}case X.FRAMESET:{tir(e,t);break}case X.TEXTAREA:{vir(e,t);break}case X.NOSCRIPT:{if(e.options.scriptingEnabled)bGt(e,t);else xGt(e,t);break}case X.PLAINTEXT:{sir(e,t);break}case X.COL:case X.TH:case X.TD:case X.TR:case X.HEAD:case X.FRAME:case X.TBODY:case X.TFOOT:case X.THEAD:case X.CAPTION:case X.COLGROUP:break;default:xGt(e,t)}}function Tir(e,t){if(e.openElements.hasInScope(X.BODY)){if(e.insertionMode=Ye.AFTER_BODY,e.options.sourceCodeLocationInfo){let n=e.openElements.tryPeekProperlyNestedBodyElement();if(n)e._setEndLocation(n,t)}}}function kir(e,t){if(e.openElements.hasInScope(X.BODY))e.insertionMode=Ye.AFTER_BODY,OGt(e,t)}function Rir(e,t){let n=t.tagID;if(e.openElements.hasInScope(n))e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n)}function Pir(e){let t=e.openElements.tmplCount>0,{formElement:n}=e;if(!t)e.formElement=null;if((n||t)&&e.openElements.hasInScope(X.FORM)){if(e.openElements.generateImpliedEndTags(),t)e.openElements.popUntilTagNamePopped(X.FORM);else if(n)e.openElements.remove(n)}}function Mir(e){if(!e.openElements.hasInButtonScope(X.P))e._insertFakeElement(gt.P,X.P);e._closePElement()}function Dir(e){if(e.openElements.hasInListItemScope(X.LI))e.openElements.generateImpliedEndTagsWithExclusion(X.LI),e.openElements.popUntilTagNamePopped(X.LI)}function Lir(e,t){let n=t.tagID;if(e.openElements.hasInScope(n))e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n)}function Bir(e){if(e.openElements.hasNumberedHeaderInScope())e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped()}function Oir(e,t){let n=t.tagID;if(e.openElements.hasInScope(n))e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker()}function Fir(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(gt.BR,X.BR),e.openElements.pop(),e.framesetOk=!1}function IGt(e,t){let{tagName:n,tagID:r}=t;for(let o=e.openElements.stackTop;o>0;o--){let a=e.openElements.items[o],i=e.openElements.tagIDs[o];if(r===i&&(r!==X.UNKNOWN||e.treeAdapter.getTagName(a)===n)){if(e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.stackTop>=o)e.openElements.shortenToLength(o);break}if(e._isSpecialElement(a,i))break}}function jse(e,t){switch(t.tagID){case X.A:case X.B:case X.I:case X.S:case X.U:case X.EM:case X.TT:case X.BIG:case X.CODE:case X.FONT:case X.NOBR:case X.SMALL:case X.STRIKE:case X.STRONG:{Zke(e,t);break}case X.P:{Mir(e);break}case X.DL:case X.UL:case X.OL:case X.DIR:case X.DIV:case X.NAV:case X.PRE:case X.MAIN:case X.MENU:case X.ASIDE:case X.BUTTON:case X.CENTER:case X.FIGURE:case X.FOOTER:case X.HEADER:case X.HGROUP:case X.DIALOG:case X.ADDRESS:case X.ARTICLE:case X.DETAILS:case X.SEARCH:case X.SECTION:case X.SUMMARY:case X.LISTING:case X.FIELDSET:case X.BLOCKQUOTE:case X.FIGCAPTION:{Rir(e,t);break}case X.LI:{Dir(e);break}case X.DD:case X.DT:{Lir(e,t);break}case X.H1:case X.H2:case X.H3:case X.H4:case X.H5:case X.H6:{Bir(e);break}case X.BR:{Fir(e);break}case X.BODY:{Tir(e,t);break}case X.HTML:{kir(e,t);break}case X.FORM:{Pir(e);break}case X.APPLET:case X.OBJECT:case X.MARQUEE:{Oir(e,t);break}case X.TEMPLATE:{XI(e,t);break}default:IGt(e,t)}}function TGt(e,t){if(e.tmplInsertionModeStack.length>0)BGt(e,t);else Qke(e,t)}function Uir(e,t){var n;if(t.tagID===X.SCRIPT)(n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current);e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function Nir(e,t){e._err(t,Dt.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function Vke(e,t){if(e.openElements.currentTagId!==void 0&&AGt.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=Ye.IN_TABLE_TEXT,t.type){case Wo.CHARACTER:{RGt(e,t);break}case Wo.WHITESPACE_CHARACTER:{kGt(e,t);break}}else VG(e,t)}function zir(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,$t.HTML),e.insertionMode=Ye.IN_CAPTION}function _ir(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,$t.HTML),e.insertionMode=Ye.IN_COLUMN_GROUP}function Hir(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(gt.COLGROUP,X.COLGROUP),e.insertionMode=Ye.IN_COLUMN_GROUP,Xke(e,t)}function Vir(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,$t.HTML),e.insertionMode=Ye.IN_TABLE_BODY}function Gir(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(gt.TBODY,X.TBODY),e.insertionMode=Ye.IN_TABLE_BODY,$se(e,t)}function qir(e,t){if(e.openElements.hasInTableScope(X.TABLE))e.openElements.popUntilTagNamePopped(X.TABLE),e._resetInsertionMode(),e._processStartTag(t)}function Zir(e,t){if(EGt(t))e._appendElement(t,$t.HTML);else VG(e,t);t.ackSelfClosing=!0}function Qir(e,t){if(!e.formElement&&e.openElements.tmplCount===0)e._insertElement(t,$t.HTML),e.formElement=e.openElements.current,e.openElements.pop()}function uD(e,t){switch(t.tagID){case X.TD:case X.TH:case X.TR:{Gir(e,t);break}case X.STYLE:case X.SCRIPT:case X.TEMPLATE:{W2(e,t);break}case X.COL:{Hir(e,t);break}case X.FORM:{Qir(e,t);break}case X.TABLE:{qir(e,t);break}case X.TBODY:case X.TFOOT:case X.THEAD:{Vir(e,t);break}case X.INPUT:{Zir(e,t);break}case X.CAPTION:{zir(e,t);break}case X.COLGROUP:{_ir(e,t);break}default:VG(e,t)}}function HG(e,t){switch(t.tagID){case X.TABLE:{if(e.openElements.hasInTableScope(X.TABLE))e.openElements.popUntilTagNamePopped(X.TABLE),e._resetInsertionMode();break}case X.TEMPLATE:{XI(e,t);break}case X.BODY:case X.CAPTION:case X.COL:case X.COLGROUP:case X.HTML:case X.TBODY:case X.TD:case X.TFOOT:case X.TH:case X.THEAD:case X.TR:break;default:VG(e,t)}}function VG(e,t){let n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,Jse(e,t),e.fosterParentingEnabled=n}function kGt(e,t){e.pendingCharacterTokens.push(t)}function RGt(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function OG(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===X.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===X.OPTGROUP)e.openElements.pop();if(e.openElements.currentTagId===X.OPTGROUP)e.openElements.pop();break}case X.OPTION:{if(e.openElements.currentTagId===X.OPTION)e.openElements.pop();break}case X.SELECT:{if(e.openElements.hasInSelectScope(X.SELECT))e.openElements.popUntilTagNamePopped(X.SELECT),e._resetInsertionMode();break}case X.TEMPLATE:{XI(e,t);break}default:}}function jir(e,t){let n=t.tagID;if(n===X.CAPTION||n===X.TABLE||n===X.TBODY||n===X.TFOOT||n===X.THEAD||n===X.TR||n===X.TD||n===X.TH)e.openElements.popUntilTagNamePopped(X.SELECT),e._resetInsertionMode(),e._processStartTag(t);else DGt(e,t)}function $ir(e,t){let n=t.tagID;if(n===X.CAPTION||n===X.TABLE||n===X.TBODY||n===X.TFOOT||n===X.THEAD||n===X.TR||n===X.TD||n===X.TH){if(e.openElements.hasInTableScope(n))e.openElements.popUntilTagNamePopped(X.SELECT),e._resetInsertionMode(),e.onEndTag(t)}else LGt(e,t)}function esr(e,t){switch(t.tagID){case X.BASE:case X.BASEFONT:case X.BGSOUND:case X.LINK:case X.META:case X.NOFRAMES:case X.SCRIPT:case X.STYLE:case X.TEMPLATE:case X.TITLE:{W2(e,t);break}case X.CAPTION:case X.COLGROUP:case X.TBODY:case X.TFOOT:case X.THEAD:{e.tmplInsertionModeStack[0]=Ye.IN_TABLE,e.insertionMode=Ye.IN_TABLE,uD(e,t);break}case X.COL:{e.tmplInsertionModeStack[0]=Ye.IN_COLUMN_GROUP,e.insertionMode=Ye.IN_COLUMN_GROUP,Xke(e,t);break}case X.TR:{e.tmplInsertionModeStack[0]=Ye.IN_TABLE_BODY,e.insertionMode=Ye.IN_TABLE_BODY,$se(e,t);break}case X.TD:case X.TH:{e.tmplInsertionModeStack[0]=Ye.IN_ROW,e.insertionMode=Ye.IN_ROW,ele(e,t);break}default:e.tmplInsertionModeStack[0]=Ye.IN_BODY,e.insertionMode=Ye.IN_BODY,bm(e,t)}}function tsr(e,t){if(t.tagID===X.TEMPLATE)XI(e,t)}function BGt(e,t){if(e.openElements.tmplCount>0)e.openElements.popUntilTagNamePopped(X.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t);else Qke(e,t)}function nsr(e,t){if(t.tagID===X.HTML)bm(e,t);else Kse(e,t)}function OGt(e,t){var n;if(t.tagID===X.HTML){if(!e.fragmentContext)e.insertionMode=Ye.AFTER_AFTER_BODY;if(e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===X.HTML){e._setEndLocation(e.openElements.items[0],t);let r=e.openElements.items[1];if(r&&!((n=e.treeAdapter.getNodeSourceCodeLocation(r))===null||n===void 0?void 0:n.endTag))e._setEndLocation(r,t)}}else Kse(e,t)}function Kse(e,t){e.insertionMode=Ye.IN_BODY,Jse(e,t)}function rsr(e,t){switch(t.tagID){case X.HTML:{bm(e,t);break}case X.FRAMESET:{e._insertElement(t,$t.HTML);break}case X.FRAME:{e._appendElement(t,$t.HTML),t.ackSelfClosing=!0;break}case X.NOFRAMES:{W2(e,t);break}default:}}function osr(e,t){if(t.tagID===X.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()){if(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==X.FRAMESET)e.insertionMode=Ye.AFTER_FRAMESET}}function asr(e,t){switch(t.tagID){case X.HTML:{bm(e,t);break}case X.NOFRAMES:{W2(e,t);break}default:}}function isr(e,t){if(t.tagID===X.HTML)e.insertionMode=Ye.AFTER_AFTER_FRAMESET}function ssr(e,t){if(t.tagID===X.HTML)bm(e,t);else Wse(e,t)}function Wse(e,t){e.insertionMode=Ye.IN_BODY,Jse(e,t)}function lsr(e,t){switch(t.tagID){case X.HTML:{bm(e,t);break}case X.NOFRAMES:{W2(e,t);break}default:}}function csr(e,t){t.chars=Bs,e._insertCharacters(t)}function usr(e,t){e._insertCharacters(t),e.framesetOk=!1}function FGt(e){while(e.treeAdapter.getNamespaceURI(e.openElements.current)!==$t.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current))e.openElements.pop()}function dsr(e,t){if(mGt(t))FGt(e),e._startTagOutsideForeignContent(t);else{let n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);if(r===$t.MATHML)zke(t);else if(r===$t.SVG)hGt(t),_ke(t);if(Xse(t),t.selfClosing)e._appendElement(t,r);else e._insertElement(t,r);t.ackSelfClosing=!0}}function psr(e,t){if(t.tagID===X.P||t.tagID===X.BR){FGt(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){let r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===$t.HTML){e._endTagOutsideForeignContent(t);break}let o=e.treeAdapter.getTagName(r);if(o.toLowerCase()===t.tagName){t.tagName=o,e.openElements.shortenToLength(n);break}}}var Mar="hidden",Dar=8,Lar=3,Ye,Bar,AGt,vGt,PGt;var Wke=P(()=>{Fke();rGt();aGt();Qse();pGt();Hke();MG();_se();Z3();Vse();(function(e){e[e.INITIAL=0]="INITIAL",e[e.BEFORE_HTML=1]="BEFORE_HTML",e[e.BEFORE_HEAD=2]="BEFORE_HEAD",e[e.IN_HEAD=3]="IN_HEAD",e[e.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",e[e.AFTER_HEAD=5]="AFTER_HEAD",e[e.IN_BODY=6]="IN_BODY",e[e.TEXT=7]="TEXT",e[e.IN_TABLE=8]="IN_TABLE",e[e.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",e[e.IN_CAPTION=10]="IN_CAPTION",e[e.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",e[e.IN_TABLE_BODY=12]="IN_TABLE_BODY",e[e.IN_ROW=13]="IN_ROW",e[e.IN_CELL=14]="IN_CELL",e[e.IN_SELECT=15]="IN_SELECT",e[e.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",e[e.IN_TEMPLATE=17]="IN_TEMPLATE",e[e.AFTER_BODY=18]="AFTER_BODY",e[e.IN_FRAMESET=19]="IN_FRAMESET",e[e.AFTER_FRAMESET=20]="AFTER_FRAMESET",e[e.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",e[e.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"})(Ye||(Ye={}));Bar={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},AGt=new Set([X.TABLE,X.TBODY,X.TFOOT,X.THEAD,X.TR]),vGt={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:X2,onParseError:null};PGt=new Set([X.CAPTION,X.COL,X.COLGROUP,X.TBODY,X.TD,X.TFOOT,X.TH,X.THEAD,X.TR])});var s0a;var UGt=P(()=>{Z3();Qse();s0a=new Set([gt.AREA,gt.BASE,gt.BASEFONT,gt.BGSOUND,gt.BR,gt.COL,gt.EMBED,gt.FRAME,gt.HR,gt.IMG,gt.INPUT,gt.KEYGEN,gt.LINK,gt.META,gt.PARAM,gt.SOURCE,gt.TRACK,gt.WBR])});var NGt=P(()=>{Wke();Qse();Wke();UGt();MG();Hke();Z3();Vse();Fke()});function tle(e,t){let n=Csr(e),r=Fse("type",{handlers:{root:hsr,element:gsr,text:ysr,comment:HGt,doctype:vsr,raw:xsr},unknown:Asr}),o={parser:n?new dD(zGt):dD.getFragmentParser(void 0,zGt),handle(s){r(s,o)},stitches:!1,options:t||{}};r(e,o),pD(o,x0());let a=n?o.parser.document:o.parser.getFragment(),i=Ike(a,{file:o.options.file});if(o.stitches)V3(i,"comment",function(s,l,c){let u=s;if(u.value.stitch&&c&&l!==void 0){let d=c.children;return d[l]=u.value.stitch,l}});if(i.type==="root"&&i.children.length===1&&i.children[0].type===e.type)return i.children[0];return i}function _Gt(e,t){let n=-1;if(e)while(++n4)t.parser.tokenizer.state=0;let n={type:Wo.CHARACTER,chars:e.value,location:GG(e)};pD(t,x0(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function vsr(e,t){let n={type:Wo.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:GG(e)};pD(t,x0(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function bsr(e,t){t.stitches=!0;let n=Esr(e);if("children"in e&&"children"in n){let r=tle({type:"root",children:e.children},t.options);n.children=r.children}HGt({type:"comment",value:{stitch:n}},t)}function HGt(e,t){let n=e.value,r={type:Wo.COMMENT,data:n,location:GG(e)};pD(t,x0(e)),t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken)}function xsr(e,t){if(t.parser.tokenizer.preprocessor.html="",t.parser.tokenizer.preprocessor.pos=-1,t.parser.tokenizer.preprocessor.lastGapPos=-2,t.parser.tokenizer.preprocessor.gapStack=[],t.parser.tokenizer.preprocessor.skipNextNewLine=!1,t.parser.tokenizer.preprocessor.lastChunkWritten=!1,t.parser.tokenizer.preprocessor.endOfChunkHit=!1,t.parser.tokenizer.preprocessor.isEol=!1,VGt(t,x0(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(fsr,"<$1$2"):e.value,!1),t.parser.tokenizer._runParsingLoop(),t.parser.tokenizer.state===72||t.parser.tokenizer.state===78){t.parser.tokenizer.preprocessor.lastChunkWritten=!0;let n=t.parser.tokenizer._consume();t.parser.tokenizer._callState(n)}}function Asr(e,t){let n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))bsr(n,t);else{let r="";if(msr.has(n.type))r=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax";throw Error("Cannot compile `"+n.type+"` node"+r)}}function pD(e,t){VGt(e,t);let n=e.parser.tokenizer.currentCharacterToken;if(n&&n.location)n.location.endLine=e.parser.tokenizer.preprocessor.line,n.location.endCol=e.parser.tokenizer.preprocessor.col+1,n.location.endOffset=e.parser.tokenizer.preprocessor.offset+1,e.parser.currentToken=n,e.parser._processToken(e.parser.currentToken);e.parser.tokenizer.paused=!1,e.parser.tokenizer.inLoop=!1,e.parser.tokenizer.active=!1,e.parser.tokenizer.returnState=gl.DATA,e.parser.tokenizer.charRefCode=-1,e.parser.tokenizer.consumedAfterSnapshot=-1,e.parser.tokenizer.currentLocation=null,e.parser.tokenizer.currentCharacterToken=null,e.parser.tokenizer.currentToken=null,e.parser.tokenizer.currentAttr={name:"",value:""}}function VGt(e,t){if(t&&t.offset!==void 0){let n={startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:-1,endCol:-1,endOffset:-1};e.parser.tokenizer.preprocessor.lineStartPos=-t.column+1,e.parser.tokenizer.preprocessor.droppedBufferSize=t.offset,e.parser.tokenizer.preprocessor.line=t.line,e.parser.tokenizer.currentLocation=n}}function wsr(e,t){let n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===gl.PLAINTEXT)return;pD(t,x0(e));let r=t.parser.openElements.current,o="namespaceURI"in r?r.namespaceURI:bx.html;if(o===bx.html&&n==="svg")o=bx.svg;let a=Rke({...e,children:[]},{space:o===bx.svg?"svg":"html"}),i={type:Wo.START_TAG,tagName:n,tagID:q3(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in a?a.attrs:[],location:GG(e)};t.parser.currentToken=i,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function Ssr(e,t){let n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&NVt.includes(n))return;if(t.parser.tokenizer.state===gl.PLAINTEXT)return;pD(t,FI(e));let r={type:Wo.END_TAG,tagName:n,tagID:q3(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:GG(e)};if(t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===gl.RCDATA||t.parser.tokenizer.state===gl.RAWTEXT||t.parser.tokenizer.state===gl.SCRIPT_DATA))t.parser.tokenizer.state=gl.DATA}function Csr(e){let t=e.type==="root"?e.children[0]:e;return Boolean(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function GG(e){let t=x0(e)||{line:void 0,column:void 0,offset:void 0},n=FI(e)||{line:void 0,column:void 0,offset:void 0};return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function Esr(e){return"children"in e?H3({...e,children:[]}):H3(e)}var fsr,msr,zGt;var GGt=P(()=>{Ase();LVt();UVt();zVt();NGt();fG();kG();Bse();kke();fsr=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi,msr=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),zGt={sourceCodeLocationInfo:!0,scriptingEnabled:!1}});var qGt=P(()=>{GGt()});function nle(e){return function(t,n){return tle(t,{...e,file:n})}}var ZGt=P(()=>{qGt()});var QGt=P(()=>{ZGt()});function Yke(e,t){let n=String(e);if(typeof t!=="string")throw TypeError("Expected character");let r=0,o=n.indexOf(t);while(o!==-1)r++,o=n.indexOf(t,o+t.length);return r}function Kke(e){if(typeof e!=="string")throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Jke(e,t,n){let o=cC((n||{}).ignore||[]),a=Isr(t),i=-1;while(++i0?{type:"text",value:E}:void 0;if(E===!1)p.lastIndex=w+1;else{if(m!==w)x.push({type:"text",value:c.value.slice(m,w)});if(Array.isArray(E))x.push(...E);else if(E)x.push(E);m=w+A[0].length,y=!0}if(!p.global)break;A=p.exec(c.value)}if(y){if(m{Ise();Sse()});var WGt=P(()=>{XGt()});function tRe(){return{transforms:[Bsr],enter:{literalAutolink:Rsr,literalAutolinkEmail:eRe,literalAutolinkHttp:eRe,literalAutolinkWww:eRe},exit:{literalAutolink:Lsr,literalAutolinkEmail:Dsr,literalAutolinkHttp:Psr,literalAutolinkWww:Msr}}}function nRe(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:jke,notInConstruct:$ke},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:jke,notInConstruct:$ke},{character:":",before:"[ps]",after:"\\/",inConstruct:jke,notInConstruct:$ke}]}}function Rsr(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function eRe(e){this.config.enter.autolinkProtocol.call(this,e)}function Psr(e){this.config.exit.autolinkProtocol.call(this,e)}function Msr(e){this.config.exit.data.call(this,e);let t=this.stack[this.stack.length-1];Za(t.type==="link"),t.url="http://"+this.sliceSerialize(e)}function Dsr(e){this.config.exit.autolinkEmail.call(this,e)}function Lsr(e){this.exit(e)}function Bsr(e){Jke(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Osr],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,Fsr]],{ignore:["link","linkReference"]})}function Osr(e,t,n,r,o){let a="";if(!YGt(o))return!1;if(/^w/i.test(t))n=t+n,t="",a="http://";if(!Usr(n))return!1;let i=Nsr(n+r);if(!i[0])return!1;let s={type:"link",title:null,url:a+t+i[0],children:[{type:"text",value:t+i[0]}]};if(i[1])return[s,{type:"text",value:i[1]}];return s}function Fsr(e,t,n,r){if(!YGt(r,!0)||/[-\d_]$/.test(n))return!1;return{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function Usr(e){let t=e.split(".");if(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))return!1;return!0}function Nsr(e){let t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")"),o=Yke(e,"("),a=Yke(e,")");while(r!==-1&&o>a)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),a++;return[e,n]}function YGt(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||yx(n)||zI(n))&&(!t||n!==47)}var jke="phrasing",$ke;var KGt=P(()=>{Qa();WGt();$ke=["autolink","link","image","label"]});var JGt=P(()=>{KGt()});function zsr(){this.buffer()}function _sr(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Hsr(){this.buffer()}function Vsr(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Gsr(e){let t=this.resume(),n=this.stack[this.stack.length-1];Za(n.type==="footnoteReference"),n.identifier=ym(this.sliceSerialize(e)).toLowerCase(),n.label=t}function qsr(e){this.exit(e)}function Zsr(e){let t=this.resume(),n=this.stack[this.stack.length-1];Za(n.type==="footnoteDefinition"),n.identifier=ym(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Qsr(e){this.exit(e)}function Xsr(){return"["}function jGt(e,t,n,r){let o=n.createTracker(r),a=o.move("[^"),i=n.enter("footnoteReference"),s=n.enter("reference");return a+=o.move(n.safe(n.associationId(e),{after:"]",before:a})),s(),i(),a+=o.move("]"),a}function rRe(){return{enter:{gfmFootnoteCallString:zsr,gfmFootnoteCall:_sr,gfmFootnoteDefinitionLabelString:Hsr,gfmFootnoteDefinition:Vsr},exit:{gfmFootnoteCallString:Gsr,gfmFootnoteCall:qsr,gfmFootnoteDefinitionLabelString:Zsr,gfmFootnoteDefinition:Qsr}}}function oRe(e){let t=!1;if(e&&e.firstLineBlank)t=!0;return{handlers:{footnoteDefinition:n,footnoteReference:jGt},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,o,a,i){let s=a.createTracker(i),l=s.move("[^"),c=a.enter("footnoteDefinition"),u=a.enter("label");if(l+=s.move(a.safe(a.associationId(r),{before:l,after:"]"})),u(),l+=s.move("]:"),r.children&&r.children.length>0)s.shift(4),l+=s.move((t?` -`:" ")+a.indentLines(a.containerFlow(r,s.current()),t?$Gt:Wsr));return c(),l}}function Wsr(e,t,n){return t===0?e:$Gt(e,t,n)}function $Gt(e,t,n){return(n?"":" ")+e}var eqt=P(()=>{jGt.peek=Xsr});var tqt=P(()=>{eqt()});function aRe(){return{canContainEols:["delete"],enter:{strikethrough:Ksr},exit:{strikethrough:Jsr}}}function iRe(){return{handlers:{delete:sRe},unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Ysr}]}}function Ksr(e){this.enter({type:"delete",children:[],position:void 0},e)}function Jsr(e){this.exit(e)}function sRe(e,t,n,r){let o=n.createTracker(r),a=n.stack.includes("strikethrough")?"~":"~~",i=n.enter("strikethrough"),s=o.move(a);return s+=n.containerPhrasing(e,{...o.current(),before:s,after:"~"}),s+=o.move(a),i(),s}function jsr(){return{construct:"strikethrough",markers:["~"],sizes:[2,1]}}function $sr(){return"~"}var Ysr;var nqt=P(()=>{Ysr=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];sRe.attention=jsr;sRe.peek=$sr});var rqt=P(()=>{nqt()});function elr(e){return e.length}function aqt(e,t){let n=t||{},r=(n.align||[]).concat(),o=n.stringLength||elr,a=[],i=[],s=[],l=[],c=0,u=-1;while(++uc)c=e[u].length;while(++yl[y])l[y]=A}g.push(x)}i[u]=g,s[u]=v}let d=-1;if(typeof r==="object"&&"length"in r)while(++dl[d])l[d]=x;f[d]=x}p[d]=A}i.splice(1,0,p),s.splice(1,0,f),u=-1;let m=[];while(++u "),a.shift(2);let i=n.indentLines(n.containerFlow(e,a.current()),nlr);return o(),i}function nlr(e,t,n){return">"+(n?"":" ")+e}function lqt(e,t){return sqt(e,t.inConstruct,!0)&&!sqt(e,t.notInConstruct,!1)}function sqt(e,t,n){if(typeof t==="string")t=[t];if(!t||t.length===0)return n;let r=-1;while(++r{};function uqt(e,t){let n=String(e),r=n.indexOf(t),o=r,a=0,i=0;if(typeof t!=="string")throw TypeError("Expected substring");while(r!==-1){if(r===o){if(++a>i)i=a}else a=1;o=r+t.length,r=n.indexOf(t,o)}return i}function dqt(e,t){return Boolean(t.options.fences===!1&&e.value&&!e.lang&&/[^\n\r ]/.test(e.value)&&!/^[\t ]*(?:[\n\r]|$)|(?:^|[\n\r])[\t ]*$/.test(e.value))}function pqt(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function fqt(e,t,n,r){let o=pqt(n),a=e.value||"";if(dqt(e,n)){let d=n.enter("codeIndented"),p=n.indentLines(a,rlr);return d(),p}let i=n.createTracker(r),s=o.repeat(Math.max(uqt(a,o)+1,3)),l=n.enter("codeFenced"),c=o==="`"?"GraveAccent":"Tilde",u=i.move(s);if(e.lang){let d=n.enter(`codeFencedLang${c}`);u+=i.move(n.safe(e.lang,{before:u,after:" ",encode:["`"],...i.current()})),d()}if(e.lang&&e.meta){let d=n.enter(`codeFencedMeta${c}`);u+=i.move(" "),u+=i.move(n.safe(e.meta,{before:u,after:` -`,encode:["`"],...i.current()})),d()}if(u+=i.move(` -`),a)u+=i.move(a+` -`);return u+=i.move(s),l(),u}function rlr(e,t,n){return(n?"":" ")+e}var mqt=()=>{};function fD(e){let t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function hqt(e,t,n,r){let o=fD(n),a=o==='"'?"Quote":"Apostrophe",i=n.enter("definition"),s=n.enter("label"),l=n.createTracker(r),c=l.move("[");if(c+=l.move(n.safe(n.associationId(e),{before:c,after:"]",...l.current()})),c+=l.move("]: "),s(),!e.url||/[\0- \u007F]/.test(e.url))s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">");else s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":` -`,...l.current()}));if(s(),e.title)s=n.enter(`title${a}`),c+=l.move(" "+o),c+=l.move(n.safe(e.title,{before:c,after:o,...l.current()})),c+=l.move(o),s();return i(),c}var gqt=()=>{};function yqt(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function rle(e,t,n,r){let o=n.enter("phrasing"),a=n.containerPhrasing({type:"root",children:[e]},r);return o(),a}function olr(e,t){return{construct:"emphasis",markers:yqt(t)==="*"?["*","_"]:["_","*"],sizes:[1]}}function alr(e,t,n){return n.options.emphasis||"*"}var vqt=P(()=>{rle.attention=olr;rle.peek=alr});function bqt(e){return"&#x"+e.toString(16).toUpperCase()+";"}function xqt(e,t){let n=!1;return V3(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,QI}),Boolean((!e.depth||e.depth<3)&&UI(e)&&(t.options.setext||n))}var Aqt=P(()=>{kG();ese()});function wqt(e,t,n,r){let o=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(xqt(e,n)){let d=n.enter("headingSetext"),p=n.enter("phrasing"),f=n.containerPhrasing(e,{...a.current(),before:` -`,after:` -`});return p(),d(),f+` -`+(o===1?"=":"-").repeat(f.length-(Math.max(f.lastIndexOf("\r"),f.lastIndexOf(` -`))+1))}let i="#".repeat(o),s=n.enter("headingAtx"),l=n.enter("phrasing");a.move(i+" ");let c=n.containerPhrasing(e,{before:"# ",after:` -`,...a.current()}),u=c.charCodeAt(0);if(u===9||u===32)c=bqt(u)+c.slice(1);if(c=c?i+" "+c:i,n.options.closeAtx)c+=" "+i;return l(),s(),c}var Sqt=P(()=>{Aqt()});function cRe(e){return e.value||""}function ilr(){return"<"}var Cqt=P(()=>{cRe.peek=ilr});function uRe(e,t,n,r){let o=fD(n),a=o==='"'?"Quote":"Apostrophe",i=n.enter("image"),s=n.enter("label"),l=n.createTracker(r),c=l.move("![");if(c+=l.move(n.safe(e.alt,{before:c,after:"]",...l.current()})),c+=l.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url))s=n.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(n.safe(e.url,{before:c,after:">",...l.current()})),c+=l.move(">");else s=n.enter("destinationRaw"),c+=l.move(n.safe(e.url,{before:c,after:e.title?" ":")",...l.current()}));if(s(),e.title)s=n.enter(`title${a}`),c+=l.move(" "+o),c+=l.move(n.safe(e.title,{before:c,after:o,...l.current()})),c+=l.move(o),s();return c+=l.move(")"),i(),c}function slr(){return"!"}var Eqt=P(()=>{uRe.peek=slr});function dRe(e,t,n,r){let o=e.referenceType,a=n.enter("imageReference"),i=n.enter("label"),s=n.createTracker(r),l=s.move("!["),c=n.safe(e.alt,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),i();let u=n.stack;n.stack=u.filter(function(p){return p!=="phrasing"}),i=n.enter("reference");let d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});if(i(),n.stack=u,a(),o==="full"||!c||c!==d)l+=s.move(d+"]");else if(o==="shortcut")l=l.slice(0,-1);else l+=s.move("]");return l}function llr(){return"!"}var Iqt=P(()=>{dRe.peek=llr});function pRe(e,t,n){let r=e.value||"",o="`",a=-1;while(new RegExp("(^|[^`])"+o+"([^`]|$)").test(r))o+="`";if(/[^\n\r ]/.test(r)&&(/^[\n\r ]/.test(r)&&/[\n\r ]$/.test(r)||/^`|`$/.test(r)))r=" "+r+" ";while(++a{pRe.peek=clr});function fRe(e,t){let n=UI(e);return Boolean(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][+\-.a-z]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}var kqt=P(()=>{ese()});function mRe(e,t,n,r){let o=fD(n),a=o==='"'?"Quote":"Apostrophe",i=n.createTracker(r);if(fRe(e,n)){let u=n.stack;n.stack=u.filter(function(f){return f!=="phrasing"});let d=n.enter("autolink"),p=i.move("<");return p+=i.move(n.containerPhrasing(e,{before:p,after:">",...i.current()})),p+=i.move(">"),d(),n.stack=u,p}let s=n.enter("link"),l=n.enter("label"),c=i.move("[");if(c+=i.move(n.containerPhrasing(e,{before:c,after:"](",...i.current()})),c+=i.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url))l=n.enter("destinationLiteral"),c+=i.move("<"),c+=i.move(n.safe(e.url,{before:c,after:">",...i.current()})),c+=i.move(">");else l=n.enter("destinationRaw"),c+=i.move(n.safe(e.url,{before:c,after:e.title?" ":")",...i.current()}));if(l(),e.title)l=n.enter(`title${a}`),c+=i.move(" "+o),c+=i.move(n.safe(e.title,{before:c,after:o,...i.current()})),c+=i.move(o),l();return c+=i.move(")"),s(),c}function ulr(e,t,n){return fRe(e,n)?"<":"["}var Rqt=P(()=>{kqt();mRe.peek=ulr});function hRe(e,t,n,r){let o=e.referenceType,a=n.enter("linkReference"),i=n.enter("label"),s=n.createTracker(r),l=s.move("["),c=n.containerPhrasing(e,{before:l,after:"]",...s.current()});l+=s.move(c+"]["),i();let u=n.stack;n.stack=u.filter(function(p){return p!=="phrasing"}),i=n.enter("reference");let d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});if(i(),n.stack=u,a(),o==="full"||!c||c!==d)l+=s.move(d+"]");else if(o==="shortcut")l=l.slice(0,-1);else l+=s.move("]");return l}function dlr(){return"["}var Pqt=P(()=>{hRe.peek=dlr});function mD(e){let t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Mqt(e){let t=mD(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}var Dqt=()=>{};function Lqt(e){let t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function ole(e){let t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function Bqt(e,t,n,r){let o=n.enter("list"),a=n.bulletCurrent,i=e.ordered?Lqt(n):mD(n),s=e.ordered?i==="."?")":".":Mqt(n),l=t&&n.bulletLastUsed?i===n.bulletLastUsed:!1;if(!e.ordered){let u=e.children?e.children[0]:void 0;if((i==="*"||i==="-")&&u&&(!u.children||!u.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0)l=!0;if(ole(n)===i&&u){let d=-1;while(++d{Dqt()});function Fqt(e){let t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function Uqt(e,t,n,r){let o=Fqt(n),a=n.bulletCurrent||mD(n);if(t&&t.type==="list"&&t.ordered)a=(typeof t.start==="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a;let i=a.length+1;if(o==="tab"||o==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))i=Math.ceil(i/4)*4;let s=n.createTracker(r);s.move(a+" ".repeat(i-a.length)),s.shift(i);let l=n.enter("listItem"),c=n.indentLines(n.containerFlow(e,s.current()),u);return l(),c;function u(d,p,f){if(p)return(f?"":" ".repeat(i))+d;return(f?a:a+" ".repeat(i-a.length))+d}}var Nqt=()=>{};function zqt(e,t,n,r){let o=n.enter("paragraph"),a=n.enter("phrasing"),i=n.containerPhrasing(e,r);return a(),o(),i}var gRe;var _qt=P(()=>{Sse();gRe=cC(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"])});var Hqt=P(()=>{_qt()});function Vqt(e,t,n,r){if(!e.children.some(function(s){return gRe(s)}))return n.containerFlow(e,r);let a=n.enter("phrasing"),i=n.containerPhrasing(e,r);return a(),i}var Gqt=P(()=>{Hqt()});function qqt(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}function ale(e,t,n,r){let o=n.enter("phrasing"),a=n.containerPhrasing({type:"root",children:[e]},r);return o(),a}function plr(e,t){return{construct:"strong",markers:qqt(t)==="*"?["*","_"]:["_","*"],sizes:[2]}}function flr(e,t,n){return n.options.strong||"*"}var Zqt=P(()=>{ale.attention=plr;ale.peek=flr});function Qqt(e,t,n,r){return n.safe(e.value,r)}function Xqt(e){let t=e.options.ruleRepetition||3;if(t<3)throw Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Wqt(e,t,n){let r=(ole(n)+(n.options.ruleSpaces?" ":"")).repeat(Xqt(n));return n.options.ruleSpaces?r.slice(0,-1):r}var Yqt=()=>{};var qG;var Kqt=P(()=>{cqt();mqt();gqt();vqt();Sqt();Cqt();Eqt();Iqt();Tqt();Rqt();Pqt();Oqt();Nqt();Gqt();Zqt();Yqt();qG={blockquote:iqt,break:lRe,code:fqt,definition:hqt,emphasis:rle,hardBreak:lRe,heading:wqt,html:cRe,image:uRe,imageReference:dRe,inlineCode:pRe,link:mRe,linkReference:hRe,list:Bqt,listItem:Uqt,paragraph:zqt,root:Vqt,strong:ale,text:Qqt,thematicBreak:Wqt}});var yRe=P(()=>{Kqt()});function bRe(){return{enter:{table:mlr,tableData:Jqt,tableHeader:Jqt,tableRow:glr},exit:{codeText:ylr,table:hlr,tableData:vRe,tableHeader:vRe,tableRow:vRe}}}function mlr(e){let t=e._align;Za(t,"expected `_align` on table"),this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function hlr(e){this.exit(e),this.data.inTable=void 0}function glr(e){this.enter({type:"tableRow",children:[]},e)}function vRe(e){this.exit(e)}function Jqt(e){this.enter({type:"tableCell",children:[]},e)}function ylr(e){let t=this.resume();if(this.data.inTable)t=t.replace(/\\([\\|])/g,vlr);let n=this.stack[this.stack.length-1];Za(n.type==="inlineCode"),n.value=t,this.exit(e)}function vlr(e,t){return t==="|"?t:e}function xRe(e){let t=e||{},{tableCellPadding:n,tablePipeAlign:r,stringLength:o}=t,a=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` -`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:p,table:i,tableCell:l,tableRow:s}};function i(f,m,g,v){return c(u(f,g,v),f.align)}function s(f,m,g,v){let y=d(f,g,v),x=c([y]);return x.slice(0,x.indexOf(` -`))}function l(f,m,g,v){let y=g.enter("tableCell"),x=g.enter("phrasing"),A=g.containerPhrasing(f,{...v,before:a,after:a});return x(),y(),A}function c(f,m){return aqt(f,{align:m,alignDelimiters:r,padding:n,stringLength:o})}function u(f,m,g){let v=f.children,y=-1,x=[],A=m.enter("table");while(++y{yRe()});var $qt=P(()=>{jqt()});function ARe(){return{exit:{taskListCheckValueChecked:eZt,taskListCheckValueUnchecked:eZt,paragraph:blr}}}function wRe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:xlr}}}function eZt(e){let t=this.stack[this.stack.length-2];Za(t.type==="listItem"),t.checked=e.type==="taskListCheckValueChecked"}function blr(e){let t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked==="boolean"){let n=this.stack[this.stack.length-1];Za(n.type==="paragraph");let r=n.children[0];if(r&&r.type==="text"){let o=t.children,a=-1,i;while(++a{yRe()});var nZt=P(()=>{tZt()});function SRe(){return[tRe(),rRe(),aRe(),bRe(),ARe()]}function CRe(e){return{extensions:[nRe(),oRe(e),iRe(),xRe(e),wRe()]}}var rZt=P(()=>{JGt();tqt();rqt();$qt();nZt()});var oZt=P(()=>{rZt()});function IRe(){return{text:Ax}}function Slr(e,t,n){let r=this,o,a;return i;function i(d){if(!ERe(d)||!pZt.call(r,r.previous)||TRe(r.events))return n(d);return e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(d)}function s(d){if(ERe(d))return e.consume(d),s;if(d===64)return e.consume(d),l;return n(d)}function l(d){if(d===46)return e.check(wlr,u,c)(d);if(d===45||d===95||dc(d))return a=!0,e.consume(d),l;return u(d)}function c(d){return e.consume(d),o=!0,l}function u(d){if(a&&o&&Wd(r.previous))return e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(d);return n(d)}}function Clr(e,t,n){let r=this;return o;function o(i){if(i!==87&&i!==119||!uZt.call(r,r.previous)||TRe(r.events))return n(i);return e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Alr,e.attempt(aZt,e.attempt(iZt,a),n),n)(i)}function a(i){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(i)}}function Elr(e,t,n){let r=this,o="",a=!1;return i;function i(d){if((d===72||d===104)&&dZt.call(r,r.previous)&&!TRe(r.events))return e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(d),e.consume(d),s;return n(d)}function s(d){if(Wd(d)&&o.length<5)return o+=String.fromCodePoint(d),e.consume(d),s;if(d===58){let p=o.toLowerCase();if(p==="http"||p==="https")return e.consume(d),l}return n(d)}function l(d){if(d===47){if(e.consume(d),a)return c;return a=!0,l}return n(d)}function c(d){return d===null||NI(d)||ma(d)||yx(d)||zI(d)?n(d):e.attempt(aZt,e.attempt(iZt,u),n)(d)}function u(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function Ilr(e,t,n){let r=0;return o;function o(i){if((i===87||i===119)&&r<3)return r++,e.consume(i),o;if(i===46&&r===3)return e.consume(i),a;return n(i)}function a(i){return i===null?n(i):t(i)}}function Tlr(e,t,n){let r,o,a;return i;function i(c){if(c===46||c===95)return e.check(sZt,l,s)(c);if(c===null||ma(c)||yx(c)||c!==45&&zI(c))return l(c);return a=!0,e.consume(c),i}function s(c){if(c===95)r=!0;else o=r,r=void 0;return e.consume(c),i}function l(c){if(o||r||!a)return n(c);return t(c)}}function klr(e,t){let n=0,r=0;return o;function o(i){if(i===40)return n++,e.consume(i),o;if(i===41&&r0&&!n)e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0;return n}var Alr,aZt,iZt,sZt,wlr,lZt,cZt,Q3,Ax,WI=48;var fZt=P(()=>{Qa();Alr={tokenize:Ilr,partial:!0},aZt={tokenize:Tlr,partial:!0},iZt={tokenize:klr,partial:!0},sZt={tokenize:Rlr,partial:!0},wlr={tokenize:Plr,partial:!0},lZt={name:"wwwAutolink",tokenize:Clr,previous:uZt},cZt={name:"protocolAutolink",tokenize:Elr,previous:dZt},Q3={name:"emailAutolink",tokenize:Slr,previous:pZt},Ax={};while(WI<123)if(Ax[WI]=Q3,WI++,WI===58)WI=65;else if(WI===91)WI=97;Ax[43]=Q3;Ax[45]=Q3;Ax[46]=Q3;Ax[95]=Q3;Ax[72]=[Q3,cZt];Ax[104]=[Q3,cZt];Ax[87]=[Q3,lZt];Ax[119]=[Q3,lZt]});var mZt=P(()=>{fZt()});function kRe(){return{document:{[91]:{name:"gfmFootnoteDefinition",tokenize:Olr,continuation:{tokenize:Flr},exit:Ulr}},text:{[91]:{name:"gfmFootnoteCall",tokenize:Blr},[93]:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Dlr,resolveTo:Llr}}}}function Dlr(e,t,n){let r=this,o=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),i;while(o--){let l=r.events[o][1];if(l.type==="labelImage"){i=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return s;function s(l){if(!i||!i._balanced)return n(l);let c=ym(r.sliceSerialize({start:i.end,end:r.now()}));if(c.codePointAt(0)!==94||!a.includes(c.slice(1)))return n(l);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l)}}function Llr(e,t){let n=e.length,r;while(n--)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){r=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let o={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;let i={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},l=[e[n+1],e[n+2],["enter",o,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t],e[e.length-2],e[e.length-1],["exit",o,t]];return e.splice(n,e.length-n+1,...l),e}function Blr(e,t,n){let r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,i;return s;function s(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),l}function l(d){if(d!==94)return n(d);return e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",c}function c(d){if(a>999||d===93&&!i||d===null||d===91||ma(d))return n(d);if(d===93){e.exit("chunkString");let p=e.exit("gfmFootnoteCallString");if(!o.includes(ym(r.sliceSerialize(p))))return n(d);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}if(!ma(d))i=!0;return a++,e.consume(d),d===92?u:c}function u(d){if(d===91||d===92||d===93)return e.consume(d),a++,c;return c(d)}}function Olr(e,t,n){let r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,i=0,s;return l;function l(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(m){if(m===94)return e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",u;return n(m)}function u(m){if(i>999||m===93&&!s||m===null||m===91||ma(m))return n(m);if(m===93){e.exit("chunkString");let g=e.exit("gfmFootnoteDefinitionLabelString");return a=ym(r.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}if(!ma(m))s=!0;return i++,e.consume(m),m===92?d:u}function d(m){if(m===91||m===92||m===93)return e.consume(m),i++,u;return u(m)}function p(m){if(m===58){if(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),!o.includes(a))o.push(a);return Wr(e,f,"gfmFootnoteDefinitionWhitespace")}return n(m)}function f(m){return t(m)}}function Flr(e,t,n){return e.check(vx,t,e.attempt(Mlr,t,n))}function Ulr(e){e.exit("gfmFootnoteDefinition")}function Nlr(e,t,n){let r=this;return Wr(e,o,"gfmFootnoteDefinitionIndent",5);function o(a){let i=r.events[r.events.length-1];return i&&i[1].type==="gfmFootnoteDefinitionIndent"&&i[2].sliceSerialize(i[1],!0).length===4?t(a):n(a)}}var Mlr;var hZt=P(()=>{hse();zc();Qa();Mlr={tokenize:Nlr,partial:!0}});var gZt=P(()=>{hZt()});function RRe(e){let n=(e||{}).singleTilde,r={name:"strikethrough",tokenize:a,resolveAll:o};if(n===null||n===void 0)n=!0;return{text:{[126]:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(i,s){let l=-1;while(++l1)return l(m);return i.consume(m),d++,f}if(d<2&&!n)return l(m);let v=i.exit("strikethroughSequenceTemporary"),y=rD(m);return v._open=!y||y===2&&Boolean(g),v._close=!g||g===2&&Boolean(y),s(m)}}}var yZt=P(()=>{L7e()});var vZt=P(()=>{yZt()});class PRe{constructor(){this.map=[],this.index=new Map}add(e,t,n){zlr(this,e,t,n)}consume(e){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let t=this.map.length,n=[];while(t>0)t-=1,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();while(r){for(let o of r)e.push(o);r=n.pop()}this.map.length=0,this.index.clear()}}function zlr(e,t,n,r){if(n===0&&r.length===0)return;let o=e.index.get(t);if(o){o[1]+=n,o[2].push(...r);return}let a=[t,n,r];e.map.push(a),e.index.set(t,a)}function bZt(e,t){let n=!1,r=[];while(t-1){let{type:D}=r.events[O][1];if(D==="lineEnding"||D==="linePrefix")O--;else break}let B=O>-1?r.events[O][1].type:null,U=B==="tableHead"||B==="tableRow"?E:l;if(U===E&&r.parser.lazy[r.now().line])return n(L);return U(L)}function l(L){return e.enter("tableHead"),e.enter("tableRow"),c(L)}function c(L){if(L===124)return u(L);return i=!0,a+=1,u(L)}function u(L){if(L===null)return n(L);if(Xn(L)){if(a>1)return a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(L),e.exit("lineEnding"),f;return n(L)}if(Lr(L))return Wr(e,u,"whitespace")(L);if(a+=1,i)i=!1,o+=1;if(L===124)return e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),i=!0,u;return e.enter("data"),d(L)}function d(L){if(L===null||L===124||ma(L))return e.exit("data"),u(L);return e.consume(L),L===92?p:d}function p(L){if(L===92||L===124)return e.consume(L),d;return d(L)}function f(L){if(r.interrupt=!1,r.parser.lazy[r.now().line])return n(L);if(e.enter("tableDelimiterRow"),i=!1,Lr(L))return Wr(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L);return m(L)}function m(L){if(L===45||L===58)return v(L);if(L===124)return i=!0,e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),g;return C(L)}function g(L){if(Lr(L))return Wr(e,v,"whitespace")(L);return v(L)}function v(L){if(L===58)return a+=1,i=!0,e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),y;if(L===45)return a+=1,y(L);if(L===null||Xn(L))return w(L);return C(L)}function y(L){if(L===45)return e.enter("tableDelimiterFiller"),x(L);return C(L)}function x(L){if(L===45)return e.consume(L),x;if(L===58)return i=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),A;return e.exit("tableDelimiterFiller"),A(L)}function A(L){if(Lr(L))return Wr(e,w,"whitespace")(L);return w(L)}function w(L){if(L===124)return m(L);if(L===null||Xn(L)){if(!i||o!==a)return C(L);return e.exit("tableDelimiterRow"),e.exit("tableHead"),t(L)}return C(L)}function C(L){return n(L)}function E(L){return e.enter("tableRow"),T(L)}function T(L){if(L===124)return e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),T;if(L===null||Xn(L))return e.exit("tableRow"),t(L);if(Lr(L))return Wr(e,T,"whitespace")(L);return e.enter("data"),I(L)}function I(L){if(L===null||L===124||ma(L))return e.exit("data"),T(L);return e.consume(L),L===92?k:I}function k(L){if(L===92||L===124)return e.consume(L),I;return I(L)}}function Hlr(e,t){let n=-1,r=!0,o=0,a=[0,0,0,0],i=[0,0,0,0],s=!1,l=0,c,u,d,p=new PRe;while(++nn[2]+1){let m=n[2]+1,g=n[3]-n[2]-1;e.add(m,g,[])}}e.add(n[3]+1,0,[["exit",d,t]])}if(o!==void 0)a.end=Object.assign({},hD(t.events,o)),e.add(o,0,[["exit",a,t]]),a=void 0;return a}function xZt(e,t,n,r,o){let a=[],i=hD(t.events,n);if(o)o.end=Object.assign({},i),a.push(["exit",o,t]);r.end=Object.assign({},i),a.push(["exit",r,t]),e.add(n+1,0,a)}function hD(e,t){let n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}var AZt=P(()=>{zc();Qa()});var wZt=P(()=>{AZt()});function DRe(){return{text:{[91]:Vlr}}}function Glr(e,t,n){let r=this;return o;function o(l){if(r.previous!==null||!r._gfmTasklistFirstContentOfListItem)return n(l);return e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a}function a(l){if(ma(l))return e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),i;if(l===88||l===120)return e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),i;return n(l)}function i(l){if(l===93)return e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s;return n(l)}function s(l){if(Xn(l))return t(l);if(Lr(l))return e.check({tokenize:qlr},t,n)(l);return n(l)}}function qlr(e,t,n){return Wr(e,r,"whitespace");function r(o){return o===null?n(o):t(o)}}var Vlr;var SZt=P(()=>{zc();Qa();Vlr={name:"tasklistCheck",tokenize:Glr}});var CZt=P(()=>{SZt()});function EZt(e){return nse([IRe(),kRe(),RRe(e),MRe(),DRe()])}var IZt=P(()=>{M7e();mZt();gZt();vZt();wZt();CZt()});function sle(e){let t=this,n=e||Zlr,r=t.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),i=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(EZt(n)),a.push(SRe()),i.push(CRe(n))}var Zlr;var TZt=P(()=>{oZt();IZt();Zlr={}});var kZt=P(()=>{TZt()});function Vg(e,t=Xlr){if(!e)return t;let n={...t};for(let r of Object.keys(e)){let o=e[r];if(typeof o==="string"&&o.length>0)n[r]=o}return n}function ZG(e,t){return e.replace(/\{(\w+)\}/g,(n,r)=>(r in t)?String(t[r]):n)}var Qlr,Xlr;var gD=P(()=>{Qlr={composerPlaceholder:"Ask something...",send:"Send",stop:"Stop",openVoice:"Open Voice Input",projects:"Projects",models:"Models",selectModel:"Select model...",searchModels:"Search models...",noModels:"No models found",contextTokens:"{count} tokens",copyMessage:"Copy Message",copyStreamingMessage:"Copy Streaming Message",dislike:"Dislike",fork:"Fork",assistantThinking:"Thinking",copy:"Copy",copyCode:"Copy code",copied:"Copied!",conversations:"Conversations",newConversation:"New conversation",searchConversations:"Search conversations",noConversations:"No conversations yet",noSearchResults:"No matching conversation",untitledConversation:"Untitled conversation",renameConversation:"Rename conversation",deleteConversation:"Delete conversation",modelUnavailable:"Model unavailable",modelDownloading:"Downloading the model",modelLoading:"Loading the model",progressPercent:"{percent}%",retry:"Retry",sources:"Sources",citation:"Source {n}",openSource:"Open source",refusalTitle:"Not established in the sources",refusalBody:"The available sources do not support an answer to this question.",memory:"Memory",memoryEmpty:"No memories saved",memoryLoading:"Loading memories",deleteMemory:"Delete memory",clearMemory:"Clear all memories",clearMemoryConfirm:"Delete every saved memory? This cannot be undone.",confirm:"Confirm",cancel:"Cancel",loading:"Loading",errorGeneric:"Something went wrong"},Xlr=Qlr});function Md({name:e,size:t=24,className:n}){let[r,o]=RZt[e];return h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:r,width:t,height:t,fill:"currentColor","aria-hidden":"true",focusable:"false","data-m3-icon":e,className:Ve("m3-icon shrink-0",n),children:h("path",{d:o})})}var RZt,e2a;var yD=P(()=>{rn();le();RZt={arrow_upward:["0 -960 960 960","M450-160v-526L202-438l-42-42 320-320 320 320-42 42-248-248v526h-60Z"],auto_awesome_filled:["0 96 960 960","m772 421-43-100-104-46 104-45 43-95 43 95 104 45-104 46-43 100Zm0 595-43-96-104-45 104-45 43-101 43 101 104 45-104 45-43 96ZM333 862l-92-197-201-90 201-90 92-196 93 196 200 90-200 90-93 197Z"],auto_awesome:["0 -960 960 960","m772-635-43-100-104-46 104-45 43-95 43 95 104 45-104 46-43 100Zm0 595-43-96-104-45 104-45 43-101 43 101 104 45-104 45-43 96ZM333-194l-92-197-201-90 201-90 92-196 93 196 200 90-200 90-93 197Zm0-148 48-96 98-43-98-43-48-96-47 96-99 43 99 43 47 96Zm0-139Z"],call_split:["0 -960 960 960","M452-160v-306L220-698v123h-60v-225h225v60H263l249 249v331h-60Zm113-364-42-42 174-174H575v-60h225v225h-60v-123L565-524Z"],check:["0 -960 960 960","M378-246 154-470l43-43 181 181 384-384 43 43-427 427Z"],cloud_off:["0 -960 960 960","M818-56 703-171H248q-88 0-148-59T40-377q0-80 50.5-134T217-577q2-14 6.5-31.5T236-640L70-806l42-42L861-99l-43 43ZM248-231h397L285-591q-11 15-14.5 34t-3.5 37h-19q-62 0-105 39.5t-43 101q0 61.5 43 105T248-231Zm216-181Zm390 210-47-47q25-17 39-38t14-50q0-43-31-73.5T755-441h-67v-81q0-88-61-147.5T478.47-729q-28.47 0-60.97 9T358-691l-42-42q36-29 77.5-42.5T478-789q111 0 190.5 79T748-520v21q72-1 122 45t50 117q0 35-16.5 73.5T854-202ZM583-470Z"],content_copy:["0 -960 960 960","M300-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H300Zm0-60h440v-560H300v560ZM180-80q-24 0-42-18t-18-42v-620h60v620h500v60H180Zm120-180v-560 560Z"],delete:["0 -960 960 960","M261-120q-24.75 0-42.37-17.63Q201-155.25 201-180v-570h-41v-60h188v-30h264v30h188v60h-41v570q0 24-18 42t-42 18H261Zm438-630H261v570h438v-570ZM367-266h60v-399h-60v399Zm166 0h60v-399h-60v399ZM261-750v570-570Z"],edit:["0 -960 960 960","M180-180h44l472-471-44-44-472 471v44Zm-60 60v-128l575-574q8-8 19-12.5t23-4.5q11 0 22 4.5t20 12.5l44 44q9 9 13 20t4 22q0 11-4.5 22.5T823-694L248-120H120Zm659-617-41-41 41 41Zm-105 64-22-22 44 44-22-22Z"],edit_square:["0 -960 960 960","M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h405l-60 60H180v600h600v-348l60-60v408q0 24-18 42t-42 18H180Zm300-360ZM360-360v-170l382-382q9-9 20-13t22-4q11 0 22.32 4.5Q817.63-920 827-911l83 84q8.61 8.96 13.3 19.78 4.7 10.83 4.7 22.02 0 11.2-4.5 22.7T910-742L530-360H360Zm508-425-84-84 84 84ZM420-420h85l253-253-43-42-43-42-252 251v86Zm295-295-43-42 43 42 43 42-43-42Z"],expand_more:["0 -960 960 960","M480-345 240-585l43-43 197 198 197-197 43 43-240 239Z"],info:["0 -960 960 960","M453-280h60v-240h-60v240Zm50.5-323.2q9.5-9.2 9.5-22.8 0-14.45-9.48-24.22-9.48-9.78-23.5-9.78t-23.52 9.78Q447-640.45 447-626q0 13.6 9.48 22.8 9.48 9.2 23.5 9.2t23.52-9.2ZM480.27-80q-82.74 0-155.5-31.5Q252-143 197.5-197.5t-86-127.34Q80-397.68 80-480.5t31.5-155.66Q143-709 197.5-763t127.34-85.5Q397.68-880 480.5-880t155.66 31.5Q709-817 763-763t85.5 127Q880-563 880-480.27q0 82.74-31.5 155.5Q817-252 763-197.68q-54 54.31-127 86Q563-80 480.27-80Zm.23-60Q622-140 721-239.5t99-241Q820-622 721.19-721T480-820q-141 0-240.5 98.81T140-480q0 141 99.5 240.5t241 99.5Zm-.5-340Z"],mic:["0 -960 960 960","M408-453.92q-29-30.91-29-75.08v-251q0-41.67 29.44-70.83Q437.88-880 479.94-880t71.56 29.17Q581-821.67 581-780v251q0 44.17-29 75.08Q523-423 480-423t-72-30.92ZM480-651Zm-30 531v-136q-106-11-178-89t-72-184h60q0 91 64.29 153t155.5 62q91.21 0 155.71-62Q700-438 700-529h60q0 106-72 184t-178 89v136h-60Zm59.5-376.5Q521-510 521-529v-251q0-17-11.79-28.5T480-820q-17.42 0-29.21 11.5T439-780v251q0 19 11.5 32.5T480-483q18 0 29.5-13.5Z"],open_in_new:["0 -960 960 960","M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h279v60H180v600h600v-279h60v279q0 24-18 42t-42 18H180Zm202-219-42-43 398-398H519v-60h321v321h-60v-218L382-339Z"],refresh:["0 -960 960 960","M480-160q-133 0-226.5-93.5T160-480q0-133 93.5-226.5T480-800q85 0 149 34.5T740-671v-129h60v254H546v-60h168q-38-60-97-97t-137-37q-109 0-184.5 75.5T220-480q0 109 75.5 184.5T480-220q83 0 152-47.5T728-393h62q-29 105-115 169t-195 64Z"],search:["0 -960 960 960","M796-121 533-384q-30 26-70 40.5T378-329q-108 0-183-75t-75-181q0-106 75-181t182-75q106 0 180.5 75T632-585q0 43-14 83t-42 75l264 262-44 44ZM377-389q81 0 138-57.5T572-585q0-81-57-138.5T377-781q-82 0-139.5 57.5T180-585q0 81 57.5 138.5T377-389Z"],stop_filled:["0 -960 960 960","M240-240v-480h480v480H240Z"],stop:["0 -960 960 960","M300-660v360-360Zm-60 420v-480h480v480H240Zm60-60h360v-360H300v360Z"],thumb_down:["0 -960 960 960","M242-840h444v512L408-40l-39-31q-6-5-9-14t-3-22v-10l45-211H103q-24 0-42-18t-18-42v-81.84q0-7.16-1.5-14.66T43-499l126-290q8.88-21.25 29.59-36.13Q219.31-840 242-840Zm384 60H229L103-481v93h373l-53 249 203-214v-427Zm0 427v-427 427Zm60 25v-60h133v-392H686v-60h193v512H686Z"]},e2a=Object.keys(RZt)});function lle(e){if(!e)return!1;return/^[a-z][a-z0-9+.-]*:/i.test(e)||e.startsWith("//")}function vD(e){if(typeof e==="string")return e;if(typeof e==="number")return String(e);if(Array.isArray(e))return e.map(vD).join("");if(Y2.isValidElement(e))return vD(e.props.children);return""}function Wlr(e){if(!e)return{raw:"",label:"Code"};let t=e.replace(/^language-|^lang-/,"").toLowerCase().trim();if(PZt[t])return{raw:t,label:PZt[t]};let n=t.length<=3?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1);return{raw:t,label:n}}function DZt({code:e,language:t,onCopy:n,className:r,children:o,labels:a,...i}){let s=Vg(a),{node:l,...c}=i,[u,d]=Y2.useState(!1),p=Y2.useRef(null);Y2.useEffect(()=>()=>{if(p.current)clearTimeout(p.current)},[]);let f=Y2.isValidElement(o)?o:null,m=f?f.props:null,g=t??r?.match(/language-([a-zA-Z0-9_+#-]+)/)?.[1]??m?.className?.match(/language-([a-zA-Z0-9_+#-]+)/)?.[1],{raw:v,label:y}=Wlr(g),x=e??(m?.children?vD(m.children):vD(o)),A=x,w=x.replace(/\n$/,""),C=async()=>{try{if(typeof navigator<"u"&&navigator.clipboard?.writeText)await navigator.clipboard.writeText(w)}catch{}if(n?.(w),d(!0),p.current)clearTimeout(p.current);p.current=setTimeout(()=>{d(!1)},2000)};return M("div",{className:Ve("my-3 overflow-hidden rounded-medium border border-outline-variant bg-surface-container-highest",r),...c,children:[M("div",{className:"flex items-center justify-between border-b border-outline-variant bg-surface-container px-3 py-1.5",children:[h("span",{className:"inline-flex items-center rounded-extra-small bg-surface-container-high px-2 py-0.5 text-label-small font-medium text-on-surface-variant border border-outline-variant/60",children:y}),M("button",{type:"button",onClick:C,className:Ve("inline-flex items-center gap-1.5 rounded-small px-2 py-1 text-label-small font-medium transition-colors duration-200",u?"text-success":"text-on-surface-variant hover:bg-on-surface/8 hover:text-on-surface active:bg-on-surface/12","focus-visible:outline-2 focus-visible:outline-primary"),"aria-label":u?s.copied:s.copyCode,title:u?s.copied:s.copyCode,children:[h(Md,{name:u?"check":"content_copy",size:16,className:u?"text-success":void 0}),h("span",{children:u?s.copied:s.copy})]})]}),h("pre",{className:"overflow-x-auto p-3 font-code text-body-small text-on-surface bg-surface-container-highest [&_code]:bg-transparent [&_code]:p-0 [&_code]:text-[length:inherit]",children:h("code",{className:v?`language-${v}`:void 0,children:A})})]})}function QG(e){let t=e.split(/(\^\{[^}]+\}|\^[-+]?[a-zA-Z0-9\u0370-\u03FF\u2100-\u214F]|_\{[^}]+\}|_[-+]?[a-zA-Z0-9\u0370-\u03FF\u2100-\u214F])/g);if(t.length===1)return e;let n=new Map;return t.map((r)=>{let o=n.get(r)??0;n.set(r,o+1);let a=`${r}:${o}`;if(r.startsWith("^")){let i=r.startsWith("^{")&&r.endsWith("}")?r.slice(2,-1):r.slice(1);return h("sup",{className:"text-[0.75em] leading-none",children:i},a)}if(r.startsWith("_")){let i=r.startsWith("_{")&&r.endsWith("}")?r.slice(2,-1):r.slice(1);return h("sub",{className:"text-[0.75em] leading-none",children:i},a)}return r})}function LZt(e){let t=e.replace(/\\+([a-zA-Z]+)/g,(r,o)=>Ylr[o]??r),n=/\\+frac\{([^{}]+)\}\{([^{}]+)\}/g;if(n.test(t)){let r=[],o=0;if(t.replace(n,(a,i,s,l)=>{if(l>o)r.push(QG(t.slice(o,l)));return r.push(M("span",{className:"inline-flex flex-col items-center align-middle mx-1 text-center text-[0.85em] leading-none not-italic",children:[h("span",{className:"border-b border-current px-0.5 pb-0.5",children:QG(i)}),h("span",{className:"px-0.5 pt-0.5",children:QG(s)})]},`frac-${l}`)),o=l+a.length,a}),oo.type==="text"&&/\$\$[\s\S]+?\$\$/.test(o.value))){let o=[];for(let a of n.children)if(a.type==="text"&&/\$\$[\s\S]+?\$\$/.test(a.value)){let i=a.value.split(/(\$\$[\s\S]+?\$\$)/g);for(let s of i)if(s.startsWith("$$")&&s.endsWith("$$")&&s.length>=4){if(o.length>0)t.push({type:"paragraph",children:o}),o=[];let l=s.slice(2,-2).trim();t.push({type:"mathBlock",data:{hName:"div",hProperties:{className:"math-block","data-math":l},hChildren:[{type:"text",value:l}]},children:[{type:"text",value:l}]})}else if(s.trim().length>0)o.push({type:"text",value:s})}else o.push(a);if(o.length>0)t.push({type:"paragraph",children:o});continue}}FZt(n),t.push(n)}e.children=t}function UZt(e){if(!e.children)return;let t=[];for(let n of e.children)if(n.type==="text"&&typeof n.value==="string"&&n.value.includes("$")){let r=n.value.split(/((?2){let a=o.slice(1,-1).trim();t.push({type:"mathInline",data:{hName:"span",hProperties:{className:"math-inline","data-math":a},hChildren:[{type:"text",value:a}]},children:[{type:"text",value:a}]})}else if(o)t.push({type:"text",value:o})}else UZt(n),t.push(n);e.children=t}function Klr(e){FZt(e),UZt(e)}function Jlr(){return Klr}function jlr(e,t={}){let n=MZt[e];return{h1:({node:r,className:o,children:a,...i})=>h("h1",{className:Ve("mt-4 mb-2 text-headline-small text-on-surface first:mt-0",o),...i,children:a}),h2:({node:r,className:o,children:a,...i})=>h("h2",{className:Ve("mt-4 mb-2 text-title-large text-on-surface first:mt-0",o),...i,children:a}),h3:({node:r,className:o,children:a,...i})=>h("h3",{className:Ve("mt-3 mb-1.5 text-title-medium text-on-surface first:mt-0",o),...i,children:a}),h4:({node:r,className:o,children:a,...i})=>h("h4",{className:Ve("mt-3 mb-1 text-title-small text-on-surface first:mt-0",o),...i,children:a}),h5:({node:r,className:o,children:a,...i})=>h("h5",{className:Ve("mt-3 mb-1 text-title-small text-on-surface-variant first:mt-0",o),...i,children:a}),h6:({node:r,className:o,children:a,...i})=>h("h6",{className:Ve("mt-3 mb-1 text-label-large text-on-surface-variant first:mt-0",o),...i,children:a}),p:({node:r,className:o,...a})=>h("p",{className:Ve("my-2 first:mt-0 last:mb-0",n,o),...a}),a:({node:r,className:o,children:a,href:i,onClick:s,...l})=>{let c=lle(i);if(t.renderLink)return h(Ht,{children:t.renderLink({href:i??"",children:a,external:c})});return h("a",{className:Ve("text-primary underline underline-offset-2 hover:decoration-2","rounded-extra-small outline-none focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2",o),href:i,...c?cle:{},onClick:(u)=>{if(s?.(u),i)t.onLinkClick?.(i,u)},...l,children:a})},strong:({node:r,className:o,...a})=>h("strong",{className:Ve("font-semibold text-on-surface",o),...a}),ul:({node:r,className:o,...a})=>h("ul",{className:Ve("my-2 list-disc pl-6 marker:text-on-surface-variant",n,o),...a}),ol:({node:r,className:o,...a})=>h("ol",{className:Ve("my-2 list-decimal pl-6 marker:text-on-surface-variant",n,o),...a}),li:({node:r,className:o,...a})=>h("li",{className:Ve("my-1",o),...a}),blockquote:({node:r,className:o,...a})=>h("blockquote",{className:Ve("my-3 border-l-4 border-outline-variant pl-4 text-on-surface-variant",o),...a}),code:({node:r,className:o,...a})=>h("code",{className:Ve("rounded-extra-small bg-surface-container-highest px-1 py-0.5 font-code text-[0.9em] text-on-surface",o),...a}),pre:({node:r,children:o,className:a,style:i})=>h(DZt,{className:a,style:i,labels:t.labels,children:o}),hr:({node:r,className:o,...a})=>h("hr",{className:Ve("my-4 border-outline-variant",o),...a}),table:({node:r,className:o,...a})=>h("div",{className:"my-3 overflow-x-auto rounded-small border border-outline-variant",children:h("table",{className:Ve("w-full border-collapse",n,o),...a})}),thead:({node:r,className:o,...a})=>h("thead",{className:Ve("bg-surface-container",o),...a}),th:({node:r,className:o,...a})=>h("th",{className:Ve("border-b border-outline-variant px-3 py-2 text-left text-title-small text-on-surface",o),...a}),td:({node:r,className:o,...a})=>h("td",{className:Ve("border-t border-outline-variant px-3 py-2 text-on-surface",o),...a}),img:({node:r,className:o,alt:a,...i})=>h("img",{className:Ve("my-2 max-w-full rounded-medium",o),alt:a??"",...i}),input:({node:r,className:o,...a})=>h("input",{className:Ve("mr-2 accent-primary",o),...a}),div:({node:r,className:o,children:a,...i})=>{if(o?.includes("math-block")){let s=i["data-math"]??vD(a);return h(OZt,{math:s,className:o})}return h("div",{className:o,...i,children:a})},span:({node:r,className:o,children:a,...i})=>{if(o?.includes("math-inline")){let s=i["data-math"]??vD(a);return h(BZt,{math:s,className:o})}return h("span",{className:o,...i,children:a})}}}var Y2,cle,MZt,PZt,Ylr,wx;var ule=P(()=>{rn();yVt();QGt();kZt();gD();yD();le();Y2=z(re(),1);cle={target:"_blank",rel:"noopener noreferrer"},MZt={small:"text-body-small",medium:"text-body-medium",large:"text-body-large"};PZt={typescript:"TypeScript",ts:"TypeScript",tsx:"TSX",javascript:"JavaScript",js:"JavaScript",jsx:"JSX",python:"Python",py:"Python",rust:"Rust",rs:"Rust",bash:"Bash",sh:"Bash",shell:"Bash",zsh:"Bash",json:"JSON",jsonc:"JSONC",sql:"SQL",html:"HTML",css:"CSS",scss:"SCSS",sass:"Sass",yaml:"YAML",yml:"YAML",markdown:"Markdown",md:"Markdown",go:"Go",golang:"Go",java:"Java",c:"C",cpp:"C++","c++":"C++",csharp:"C#",cs:"C#","c#":"C#",ruby:"Ruby",rb:"Ruby",php:"PHP",swift:"Swift",kotlin:"Kotlin",kt:"Kotlin",xml:"XML",toml:"TOML",dockerfile:"Dockerfile",docker:"Dockerfile",graphql:"GraphQL",gql:"GraphQL",wasm:"WebAssembly",lua:"Lua",r:"R",diff:"Diff",plaintext:"Text",text:"Text",txt:"Text"};Ylr={alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",pi:"π",rho:"ρ",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",Gamma:"Γ",Delta:"Δ",Theta:"Θ",Lambda:"Λ",Xi:"Ξ",Pi:"Π",Sigma:"Σ",Phi:"Φ",Psi:"Ψ",Omega:"Ω",times:"×",div:"÷",pm:"±",mp:"∓",le:"≤",leq:"≤",ge:"≥",geq:"≥",approx:"≈",neq:"≠",ne:"≠",infty:"∞",cdot:"·",circ:"°",partial:"∂",nabla:"∇",sum:"∑",prod:"∏",int:"∫",sqrt:"√",in:"∈",notin:"∉",subset:"⊂",subseteq:"⊆",cup:"∪",cap:"∩",to:"→",rightarrow:"→",leftarrow:"←",leftrightarrow:"↔",Rightarrow:"⇒",Leftarrow:"⇐",Leftrightarrow:"⇔",forall:"∀",exists:"∃"};wx=Y2.forwardRef(({content:e,className:t,size:n="medium",allowHtml:r=!1,components:o,onLinkClick:a,renderLink:i,labels:s},l)=>{let c=jlr(n,{onLinkClick:a,renderLink:i,labels:s});return h("div",{ref:l,className:Ve("markdown min-w-0 text-on-surface",MZt[n],t),children:h(bke,{remarkPlugins:[sle,Jlr],rehypePlugins:r?[nle]:void 0,components:o?{...c,...o}:c,children:e})})});wx.displayName="Markdown"});function tcr(e,t){if(t.length===0)return e;let n=new Set(t.map((r)=>r.n));return e.split($lr).map((r,o)=>o%2===1?r:r.replace(ecr,(a,i)=>n.has(Number(i))?`[\\[${i}\\]](${LRe}${i})`:a)).join("")}function ncr({citation:e,labels:t,onSelect:n,className:r}){let o=Vg(t),a=`${ZG(o.citation,{n:e.n})}: ${e.title}`,i=Ve("mx-0.5 inline-flex h-5 min-w-5 items-center justify-center rounded-small px-1 align-baseline","bg-secondary-container text-label-small text-on-secondary-container no-underline","transition-colors duration-200 ease-standard hover:bg-secondary-container/80",zg,r);if(!n&&e.url)return h("a",{href:e.url,target:"_blank",rel:"noreferrer noopener",className:i,"aria-label":a,title:e.title,children:e.n});return h("button",{type:"button",className:i,"aria-label":a,title:e.title,onClick:()=>n?.(e),children:e.n})}function rcr(e,t,n,r){let o=new Map(e.map((a)=>[a.n,a]));return{a:({node:a,href:i,children:s,onClick:l,...c})=>{if(i?.startsWith(LRe)){let u=o.get(Number(i.slice(LRe.length)));if(u)return h(ncr,{citation:u,labels:t,onSelect:n})}return h("a",{href:i,...lle(i)?cle:{},onClick:(u)=>{if(l?.(u),i)r?.(i,u)},className:Ve("rounded-extra-small text-primary underline underline-offset-2 hover:decoration-2",zg),...c,children:s})}}}function zZt({content:e,citations:t,labels:n,onCitationSelect:r,onLinkClick:o,size:a="large",className:i}){let s=NZt.useMemo(()=>rcr(t,n,r,o),[t,n,r,o]);return h(wx,{content:tcr(e,t),components:s,labels:n,size:a,className:i})}function _Zt({citations:e,labels:t,onSelect:n,className:r}){if(e.length===0)return null;let o=Vg(t),a=[...e];return a.sort((i,s)=>i.n-s.n),M("section",{"aria-label":o.sources,className:Ve("m3-citation-list mt-2 rounded-medium bg-surface-container-low py-2",r),children:[h("h3",{className:"px-4 pb-1 text-label-large text-on-surface-variant",children:o.sources}),h("ol",{className:"m-0 list-none p-0",children:a.map((i)=>{let s=M(Ht,{children:[h("span",{className:"flex size-6 shrink-0 items-center justify-center rounded-small bg-secondary-container text-label-small text-on-secondary-container",children:i.n}),h("span",{className:"min-w-0 flex-1 truncate text-body-medium text-on-surface",children:i.title}),i.url||n?h(Md,{name:"open_in_new",size:18,className:"text-on-surface-variant"}):null]}),l=Ve("flex min-h-12 w-full items-center gap-3 px-4 py-1 text-left","transition-colors duration-200 ease-standard hover:bg-on-surface/8",zg,"focus-visible:outline-offset-[-3px]"),c=`${ZG(o.citation,{n:i.n})}: ${i.title}`;return h("li",{id:`citation-${i.n}`,children:n?h("button",{type:"button",className:l,"aria-label":c,onClick:()=>n(i),children:s}):i.url?h("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:l,"aria-label":`${c} (${o.openSource})`,children:s}):h("div",{className:"flex min-h-12 items-center gap-3 px-4 py-1",children:s})},`${i.n}-${i.id??i.title}`)})})]})}function BRe({labels:e,detail:t,className:n}){let r=Vg(e);return M("div",{role:"note",className:Ve("m3-refusal-notice flex items-start gap-3 rounded-medium bg-surface-container-high px-4 py-3",n),children:[h(Md,{name:"info",size:20,className:"mt-0.5 text-on-surface-variant"}),M("div",{className:"min-w-0",children:[h("p",{className:"m-0 text-title-small text-on-surface",children:r.refusalTitle}),h("p",{className:"m-0 mt-0.5 text-body-medium text-on-surface-variant",children:t||r.refusalBody})]})]})}var NZt,LRe="#citation-",$lr,ecr;var HZt=P(()=>{rn();gD();yD();cH();ule();le();NZt=z(re(),1),$lr=/(```[\s\S]*?```|`[^`\n]*`)/,ecr=/(?0?c:null;return M("div",{className:Ve("group flex flex-col py-1.5 w-full",t?"items-end":"items-start",s),children:[h("div",{className:Ve("min-w-0",t?f?"max-w-[75%] rounded-[28px] bg-surface-container-high px-5 py-3 text-body-large text-on-surface shadow-xs":"max-w-[80%] rounded-large rounded-br-extra-small bg-secondary-container px-4 py-2.5 text-body-large text-on-secondary-container":"w-full max-w-full bg-transparent text-body-large text-on-surface"),"aria-busy":n||void 0,children:t?h("div",{className:"whitespace-pre-wrap break-words",children:e}):M(Ht,{children:[u&&!e.trim()?h(BRe,{labels:l}):g?h(zZt,{content:e,citations:g,labels:l,onCitationSelect:d,onLinkClick:p,className:"break-words font-sans"}):h(wx,{content:e,size:"large",labels:l,onLinkClick:p,className:"break-words font-sans"}),u&&e.trim()?h(BRe,{labels:l,className:"mt-2"}):null,g&&!n?h(_Zt,{citations:g,labels:l,onSelect:d}):null]})}),!t&&(r||o||a)?M("div",{className:"mt-1.5 flex items-center gap-1 opacity-0 transition-opacity duration-200 ease-standard group-focus-within:opacity-100 group-hover:opacity-100",children:[r&&h(yn,{icon:h(Md,{name:"content_copy",size:18}),variant:"standard",size:"sm",onClick:()=>r(e),"aria-label":n?m.copyStreamingMessage:m.copyMessage,title:n?m.copyStreamingMessage:m.copyMessage}),o&&h(yn,{icon:h(Md,{name:"thumb_down",size:18}),variant:"standard",size:"sm",onClick:()=>o(e),"aria-label":m.dislike,title:m.dislike}),a&&h(yn,{icon:h(Md,{name:"call_split",size:18}),variant:"standard",size:"sm",onClick:a,"aria-label":m.fork,title:m.fork})]}):null]})}var VZt=P(()=>{gn();rn();gD();HZt();yD();ule();le()});function ocr(e,t=""){let n=t.trim().toLowerCase();return(n?e.filter((o)=>o.name.toLowerCase().includes(n)||o.provider.toLowerCase().includes(n)):e).reduce((o,a)=>{if(!o[a.provider])o[a.provider]=[];return o[a.provider].push(a),o},Object.create(null))}function acr({grouped:e,value:t,onSelect:n,className:r,labels:o}){let a=Vg(o),i=Object.entries(e),s=i.flatMap(([,d])=>d),[l,c]=K2.useState(t),u=s.some((d)=>d.id===l)?l:s.find((d)=>d.id===t)?.id??s[0]?.id;return M("div",{role:"listbox","aria-label":a.models,tabIndex:-1,onKeyDown:(d)=>{if(d.defaultPrevented)return;let p=Array.from(d.currentTarget.querySelectorAll('[role="option"]')),f=p.indexOf(d.target);if(f<0)return;let m;switch(d.key){case"ArrowDown":m=(f+1)%p.length;break;case"ArrowUp":m=(f-1+p.length)%p.length;break;case"Home":m=0;break;case"End":m=p.length-1;break;default:return}d.preventDefault(),p[m].focus()},className:Ve("flex flex-col",r),children:[i.map(([d,p],f)=>M("div",{role:"group","aria-label":d,className:Ve(f>0&&"mt-1 border-t border-outline-variant pt-1"),children:[h("div",{className:"px-3 pt-2 pb-1 text-title-small text-on-surface-variant",children:d}),p.map((m)=>{let g=m.id===t;return M("button",{type:"button",role:"option","aria-selected":g,tabIndex:m.id===u?0:-1,onFocus:()=>c(m.id),onClick:()=>n(m.id),className:Ve("flex min-h-12 w-full items-center gap-3 px-3 py-2 text-left","transition-colors duration-200 ease-standard",g?"bg-secondary-container text-on-secondary-container":"text-on-surface hover:bg-on-surface/8 active:bg-on-surface/10",zg,"focus-visible:outline-offset-[-3px]"),children:[M("div",{className:"min-w-0 flex-1",children:[h("div",{className:"truncate text-label-large",children:m.name}),m.context_window||m.capabilities?.length?M("div",{className:"mt-0.5 flex flex-wrap items-center gap-1",children:[m.context_window?h("span",{className:Ve("text-body-small",g?"text-on-secondary-container":"text-on-surface-variant"),children:ZG(a.contextTokens,{count:m.context_window.toLocaleString()})}):null,m.capabilities?.map((v)=>h("span",{className:Ve("inline-flex h-5 items-center rounded-small border border-outline-variant px-1.5 text-label-small",g?"text-on-secondary-container":"text-on-surface-variant"),children:v},v))]}):null]}),g&&h(Md,{name:"check",size:20})]},m.id)})]},d)),i.length===0&&h("div",{className:"px-3 py-3 text-center text-body-small text-on-surface-variant",children:a.noModels})]})}function icr({value:e,onChange:t,placeholder:n}){let r=K2.useRef(null);return K2.useEffect(()=>{r.current?.focus()},[]),h("div",{className:"px-2 pb-2",children:M("label",{className:"flex h-10 items-center gap-2 rounded-full bg-surface-container-high px-3 text-on-surface-variant focus-within:bg-surface-container-highest",children:[h(Md,{name:"search",size:20}),h("input",{ref:r,value:e,onChange:(o)=>t(o.target.value),placeholder:n,"aria-label":n,className:"min-w-0 flex-1 bg-transparent text-body-large text-on-surface outline-none placeholder:text-on-surface-variant"})]})})}var K2,ORe;var GZt=P(()=>{gn();rn();gD();yD();cH();le();K2=z(re(),1);ORe=K2.forwardRef(({models:e,value:t,onChange:n,placeholder:r,searchPlaceholder:o,variant:a,size:i,popover:s,className:l,disabled:c,labels:u},d)=>{let p=Vg(u),f=mm(),m=s??f,[g,v]=K2.useState(""),y=e.find((A)=>A.id===t),x=K2.useMemo(()=>ocr(e,g),[e,g]);return M(pa.Root,{open:m.open,onOpenChange:(A)=>{if(m.setOpen(A),!A)v("")},children:[h(pa.Trigger,{asChild:!0,children:M(cM,{ref:d,variant:a,size:i,disabled:c,"aria-haspopup":"listbox",hideCaret:!0,className:Ve("w-full",l),children:[h("span",{className:"min-w-0 flex-1 truncate",children:y?.name??r??p.selectModel}),h(Md,{name:"expand_more",size:18})]})}),M(pa.Content,{align:"end",sideOffset:8,style:{width:280},className:"overflow-hidden rounded-extra-small! py-2",children:[h(icr,{value:g,onChange:v,placeholder:o??p.searchModels}),h("div",{className:"max-h-[320px] overflow-y-auto",children:h(acr,{grouped:x,value:t,labels:u,onSelect:(A)=>{n(A),m.setOpen(!1),v("")}})})]})]})});ORe.displayName="ModelSelector"});function FRe({draft:e,onDraftChange:t,onSend:n,placeholder:r,heading:o,isSending:a=!1,disabled:i=!1,projectSelector:s,modelSelector:l,onOpenVoice:c,toolbarExtra:u,onStop:d,className:p,labels:f}){let m=Vg(f),g=r??m.composerPlaceholder,v=!i&&!a&&e.trim().length>0,y=!i&&a&&!!d;return M(Ht,{children:[o&&M("div",{className:"mb-3 flex items-center gap-2 px-1 text-title-small text-on-surface-variant",children:[h(Md,{name:"auto_awesome_filled",size:18,className:"text-primary"}),o]}),M("div",{className:Ve("m3-chat-composer rounded-extra-large bg-surface-container-high px-4 pt-3 pb-2 text-on-surface","transition-colors duration-200 ease-standard focus-within:bg-surface-container-highest",p),children:[h("textarea",{value:e,onChange:(x)=>t(x.target.value),onKeyDown:(x)=>{if(x.key==="Enter"&&!x.shiftKey){if(x.preventDefault(),v)n()}},placeholder:g,"aria-label":g,rows:2,disabled:i,className:"block w-full resize-none border-0 bg-transparent px-1 text-body-large text-on-surface caret-primary outline-none placeholder:text-on-surface-variant focus:outline-none focus:ring-0"}),M("div",{className:"mt-2 flex items-center justify-between gap-2",children:[s?h("div",{className:"w-[210px]",children:M(pa.Root,{open:s.popover.open,onOpenChange:s.popover.setOpen,children:[h(pa.Trigger,{asChild:!0,children:M(cM,{className:"w-full","aria-haspopup":"listbox",disabled:i,hideCaret:!0,children:[h("span",{className:"min-w-0 flex-1 truncate",children:s.value}),h(Md,{name:"expand_more",size:18})]})}),h(pa.Content,{align:"start",sideOffset:8,className:"min-w-[210px] overflow-hidden rounded-extra-small! py-2",children:h("div",{role:"listbox","aria-label":m.projects,children:s.options.map((x)=>{let A=x===s.value;return M("button",{type:"button",role:"option","aria-selected":A,onClick:()=>{s.onChange(x),s.popover.setOpen(!1)},className:Ve("flex h-12 w-full items-center gap-3 px-3 text-left text-label-large","transition-colors duration-200 ease-standard",A?"bg-secondary-container text-on-secondary-container":"text-on-surface hover:bg-on-surface/8",zg,"focus-visible:outline-offset-[-3px]"),children:[h("span",{className:"min-w-0 flex-1 truncate",children:x}),A&&h(Md,{name:"check",size:20})]},x)})})})]})}):h("div",{}),M(Zn.div,{layout:!0,className:"flex items-center gap-1",children:[l&&h("div",{className:"w-[180px]",children:h(ORe,{models:l.options,value:l.value,onChange:l.onChange,size:"md",disabled:i,labels:f})}),u,c&&h(yn,{icon:h(Md,{name:"mic",size:20}),variant:"standard",onClick:c,disabled:a||i,"aria-label":m.openVoice}),h(Do,{initial:!1,mode:"popLayout",children:y?h(Zn.button,{type:"button",...qZt,onClick:d,"aria-label":m.stop,className:Ve("flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-on-primary","transition-colors duration-200 ease-standard hover:bg-primary/92 active:bg-primary/90",zg),children:h(Md,{name:"stop_filled",size:24})},"stop"):v?h(Zn.button,{type:"button",...qZt,onClick:n,"aria-label":m.send,className:Ve("flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-on-primary","transition-colors duration-200 ease-standard hover:bg-primary/92 active:bg-primary/90",zg),children:h(Md,{name:"arrow_upward",size:24})},"send"):null})]})]})]})]})}var qZt;var ZZt=P(()=>{gn();rs();rn();ri();gD();yD();cH();GZt();le();qZt={initial:{scale:0.6,opacity:0},animate:{scale:1,opacity:1,transition:{duration:mn.short4,ease:Kt.emphasizedDecelerate}},exit:{scale:0.6,opacity:0,transition:{duration:mn.short3,ease:Kt.emphasizedAccelerate}}}});var br;var URe=P(()=>{br=function(e){return e.TEXT_MESSAGE_START="TEXT_MESSAGE_START",e.TEXT_MESSAGE_CONTENT="TEXT_MESSAGE_CONTENT",e.TEXT_MESSAGE_END="TEXT_MESSAGE_END",e.TEXT_MESSAGE_CHUNK="TEXT_MESSAGE_CHUNK",e.TOOL_CALL_START="TOOL_CALL_START",e.TOOL_CALL_ARGS="TOOL_CALL_ARGS",e.TOOL_CALL_END="TOOL_CALL_END",e.TOOL_CALL_CHUNK="TOOL_CALL_CHUNK",e.TOOL_CALL_RESULT="TOOL_CALL_RESULT",e.STATE_SNAPSHOT="STATE_SNAPSHOT",e.STATE_DELTA="STATE_DELTA",e.MESSAGES_SNAPSHOT="MESSAGES_SNAPSHOT",e.ACTIVITY_SNAPSHOT="ACTIVITY_SNAPSHOT",e.ACTIVITY_DELTA="ACTIVITY_DELTA",e.RAW="RAW",e.CUSTOM="CUSTOM",e.RUN_STARTED="RUN_STARTED",e.RUN_FINISHED="RUN_FINISHED",e.RUN_ERROR="RUN_ERROR",e.STEP_STARTED="STEP_STARTED",e.STEP_FINISHED="STEP_FINISHED",e.REASONING_START="REASONING_START",e.REASONING_MESSAGE_START="REASONING_MESSAGE_START",e.REASONING_MESSAGE_CONTENT="REASONING_MESSAGE_CONTENT",e.REASONING_MESSAGE_END="REASONING_MESSAGE_END",e.REASONING_MESSAGE_CHUNK="REASONING_MESSAGE_CHUNK",e.REASONING_END="REASONING_END",e.REASONING_ENCRYPTED_VALUE="REASONING_ENCRYPTED_VALUE",e.SUBAGENT_STARTED="SUBAGENT_STARTED",e.SUBAGENT_FINISHED="SUBAGENT_FINISHED",e.SUBAGENT_ERROR="SUBAGENT_ERROR",e}({})});var xm=P(()=>{URe()});function fle(e,t){return lcr.call(e,t)}function mle(e){if(Array.isArray(e)){var t=Array(e.length);for(var n=0;n=48&&r<=57){t++;continue}return!1}return!0}function Sx(e){if(e.indexOf("/")===-1&&e.indexOf("~")===-1)return e;return e.replace(/~/g,"~0").replace(/\//g,"~1")}function XG(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function ple(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,n=e.length;t{/*! - * https://github.com/Starcounter-Jack/JSON-Patch - * (c) 2017-2022 Joachim Wester - * MIT licensed - */scr=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var a in o)if(o.hasOwnProperty(a))r[a]=o[a]},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)}}(),lcr=Object.prototype.hasOwnProperty;WG=function(e){scr(t,e);function t(n,r,o,a,i){var s=this.constructor,l=e.call(this,XZt(n,{name:r,index:o,operation:a,tree:i}))||this;return l.name=r,l.index=o,l.operation=a,l.tree=i,Object.setPrototypeOf(l,s.prototype),l.message=XZt(n,{name:r,index:o,operation:a,tree:i}),l}return t}(Error)});var NRe={};Xs(NRe,{JsonPatchError:()=>pc,_areEquals:()=>KG,applyOperation:()=>YI,applyPatch:()=>vle,applyReducer:()=>dcr,deepClone:()=>ccr,getValueByPointer:()=>gle,validate:()=>WZt,validator:()=>yle});function gle(e,t){if(t=="")return e;var n={op:"_get",path:t};return YI(e,n),n.value}function YI(e,t,n,r,o,a){if(n===void 0)n=!1;if(r===void 0)r=!0;if(o===void 0)o=!0;if(a===void 0)a=0;if(n)if(typeof n=="function")n(t,0,e,t.path);else yle(t,0);if(t.path===""){var i={newDocument:e};if(t.op==="add")return i.newDocument=t.value,i;else if(t.op==="replace")return i.newDocument=t.value,i.removed=e,i;else if(t.op==="move"||t.op==="copy"){if(i.newDocument=gle(e,t.from),t.op==="move")i.removed=e;return i}else if(t.op==="test"){if(i.test=KG(e,t.value),i.test===!1)throw new pc("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i.newDocument=e,i}else if(t.op==="remove")return i.removed=e,i.newDocument=null,i;else if(t.op==="_get")return t.value=e,i;else if(n)throw new pc("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);else return i}else{if(!r)e=Nf(e);var s=t.path||"",l=s.split("/"),c=e,u=1,d=l.length,p=void 0,f=void 0,m=void 0;if(typeof n=="function")m=n;else m=yle;while(!0){if(f=l[u],f&&f.indexOf("~")!=-1)f=XG(f);if(o&&(f=="__proto__"||f=="prototype"&&u>0&&l[u-1]=="constructor"))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n){if(p===void 0){if(c[f]===void 0)p=l.slice(0,u).join("/");else if(u==d-1)p=t.path;if(p!==void 0)m(t,0,e,p)}}if(u++,Array.isArray(c)){if(f==="-")f=c.length;else if(n&&!hle(f))throw new pc("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);else if(hle(f))f=~~f;if(u>=d){if(n&&t.op==="add"&&f>c.length)throw new pc("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var i=ucr[t.op].call(t,c,f,e);if(i.test===!1)throw new pc("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i}}else if(u>=d){var i=bD[t.op].call(t,c,f,e);if(i.test===!1)throw new pc("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i}if(c=c[f],n&&u0)throw new pc('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);else if((e.op==="move"||e.op==="copy")&&typeof e.from!=="string")throw new pc("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);else if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new pc("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);else if((e.op==="add"||e.op==="replace"||e.op==="test")&&ple(e.value))throw new pc("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);else if(n){if(e.op=="add"){var o=e.path.split("/").length,a=r.split("/").length;if(o!==a+1&&o!==a)throw new pc("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==r)throw new pc("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if(e.op==="move"||e.op==="copy"){var i={op:"_get",path:e.from,value:void 0},s=WZt([i],n);if(s&&s.name==="OPERATION_PATH_UNRESOLVABLE")throw new pc("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}}function WZt(e,t,n){try{if(!Array.isArray(e))throw new pc("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)vle(Nf(t),Nf(e),n||!0);else{n=n||yle;for(var r=0;r{YG();pc=WG,ccr=Nf,bD={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var r=gle(n,this.path);if(r)r=Nf(r);var o=YI(n,{op:"remove",path:this.from}).removed;return YI(n,{op:"add",path:this.path,value:o}),{newDocument:n,removed:r}},copy:function(e,t,n){var r=gle(n,this.from);return YI(n,{op:"add",path:this.path,value:Nf(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:KG(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},ucr={add:function(e,t,n){if(hle(t))e.splice(t,0,this.value);else e[t]=this.value;return{newDocument:n,index:t}},remove:function(e,t,n){var r=e.splice(t,1);return{newDocument:n,removed:r[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:bD.move,copy:bD.copy,test:bD.test,_get:bD._get}});var VRe={};Xs(VRe,{compare:()=>bcr,generate:()=>zRe,observe:()=>vcr,unobserve:()=>ycr});function mcr(e){return _Re.get(e)}function hcr(e,t){return e.observers.get(t)}function gcr(e,t){e.observers.delete(t.callback)}function ycr(e,t){t.unobserve()}function vcr(e,t){var n=[],r,o=mcr(e);if(!o)o=new pcr(e),_Re.set(e,o);else{var a=hcr(o,t);r=a&&a.observer}if(r)return r;if(r={},o.value=Nf(e),t){r.callback=t,r.next=null;var i=function(){zRe(r)},s=function(){clearTimeout(r.next),r.next=setTimeout(i)};if(typeof window<"u")window.addEventListener("mouseup",s),window.addEventListener("keyup",s),window.addEventListener("mousedown",s),window.addEventListener("keydown",s),window.addEventListener("change",s)}return r.patches=n,r.object=e,r.unobserve=function(){if(zRe(r),clearTimeout(r.next),gcr(o,r),typeof window<"u")window.removeEventListener("mouseup",s),window.removeEventListener("keyup",s),window.removeEventListener("mousedown",s),window.removeEventListener("keydown",s),window.removeEventListener("change",s)},o.observers.set(t,new fcr(t,r)),r}function zRe(e,t){if(t===void 0)t=!1;var n=_Re.get(e.object);if(HRe(n.value,e.object,e.patches,"",t),e.patches.length)vle(n.value,e.patches);var r=e.patches;if(r.length>0){if(e.patches=[],e.callback)e.callback(r)}return r}function HRe(e,t,n,r,o){if(t===e)return;if(typeof t.toJSON==="function")t=t.toJSON();var a=mle(t),i=mle(e),s=!1,l=!1;for(var c=i.length-1;c>=0;c--){var u=i[c],d=e[u];if(fle(t,u)&&!(t[u]===void 0&&d!==void 0&&Array.isArray(t)===!1)){var p=t[u];if(typeof d=="object"&&d!=null&&typeof p=="object"&&p!=null&&Array.isArray(d)===Array.isArray(p))HRe(d,p,n,r+"/"+Sx(u),o);else if(d!==p){if(s=!0,o)n.push({op:"test",path:r+"/"+Sx(u),value:Nf(d)});n.push({op:"replace",path:r+"/"+Sx(u),value:Nf(p)})}}else if(Array.isArray(e)===Array.isArray(t)){if(o)n.push({op:"test",path:r+"/"+Sx(u),value:Nf(d)});n.push({op:"remove",path:r+"/"+Sx(u)}),l=!0}else{if(o)n.push({op:"test",path:r,value:e});n.push({op:"replace",path:r,value:t}),s=!0}}if(!l&&a.length==i.length)return;for(var c=0;c{YG();ble();/*! - * https://github.com/Starcounter-Jack/JSON-Patch - * (c) 2017-2021 Joachim Wester - * MIT license - */_Re=new WeakMap,pcr=function(){function e(t){this.observers=new Map,this.obj=t}return e}(),fcr=function(){function e(t,n){this.callback=t,this.observer=n}return e}()});var qRe;var xle=P(()=>{YG();ble();GRe();YG();ble();GRe();qRe=Object.assign({},NRe,VRe,{JsonPatchError:WG,deepClone:Nf,escapePathComponent:Sx,unescapePathComponent:XG})});function Tt(e,t,n,r){var o=arguments.length,a=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,i;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)if(i=e[s])a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a;return o>3&&a&&Object.defineProperty(t,n,a),a}var yl=()=>{};var La;var ZRe=P(()=>{La=function(e){return e.TEXT_MESSAGE_START="TEXT_MESSAGE_START",e.TEXT_MESSAGE_CONTENT="TEXT_MESSAGE_CONTENT",e.TEXT_MESSAGE_END="TEXT_MESSAGE_END",e.TEXT_MESSAGE_CHUNK="TEXT_MESSAGE_CHUNK",e.TOOL_CALL_START="TOOL_CALL_START",e.TOOL_CALL_ARGS="TOOL_CALL_ARGS",e.TOOL_CALL_END="TOOL_CALL_END",e.TOOL_CALL_CHUNK="TOOL_CALL_CHUNK",e.TOOL_CALL_RESULT="TOOL_CALL_RESULT",e.STATE_SNAPSHOT="STATE_SNAPSHOT",e.STATE_DELTA="STATE_DELTA",e.MESSAGES_SNAPSHOT="MESSAGES_SNAPSHOT",e.ACTIVITY_SNAPSHOT="ACTIVITY_SNAPSHOT",e.ACTIVITY_DELTA="ACTIVITY_DELTA",e.RAW="RAW",e.CUSTOM="CUSTOM",e.RUN_STARTED="RUN_STARTED",e.RUN_FINISHED="RUN_FINISHED",e.RUN_ERROR="RUN_ERROR",e.STEP_STARTED="STEP_STARTED",e.STEP_FINISHED="STEP_FINISHED",e.REASONING_START="REASONING_START",e.REASONING_MESSAGE_START="REASONING_MESSAGE_START",e.REASONING_MESSAGE_CONTENT="REASONING_MESSAGE_CONTENT",e.REASONING_MESSAGE_END="REASONING_MESSAGE_END",e.REASONING_MESSAGE_CHUNK="REASONING_MESSAGE_CHUNK",e.REASONING_END="REASONING_END",e.REASONING_ENCRYPTED_VALUE="REASONING_ENCRYPTED_VALUE",e.SUBAGENT_STARTED="SUBAGENT_STARTED",e.SUBAGENT_FINISHED="SUBAGENT_FINISHED",e.SUBAGENT_ERROR="SUBAGENT_ERROR",e}({})});var YZt=P(()=>{ZRe()});function _t(e,t,n){function r(s,l){var c;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(c=s._zod).traits??(c.traits=new Set),s._zod.traits.add(e),t(s,l);for(let u in i.prototype)if(!(u in s))Object.defineProperty(s,u,{value:i.prototype[u].bind(s)});s._zod.constr=i,s._zod.def=l}let o=n?.Parent??Object;class a extends o{}Object.defineProperty(a,"name",{value:e});function i(s){var l;let c=n?.Parent?new a:this;r(c,s),(l=c._zod).deferred??(l.deferred=[]);for(let u of c._zod.deferred)u();return c}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:(s)=>{if(n?.Parent&&s instanceof n.Parent)return!0;return s?._zod?.traits?.has(e)}}),Object.defineProperty(i,"name",{value:e}),i}function J2(e){if(e)Object.assign(Ale,e);return Ale}var iva,sva,pC,Ale;var xD=P(()=>{iva=Object.freeze({status:"aborted"});sva=Symbol("zod_brand");pC=class pC extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Ale={}});function KZt(e){let t=Object.values(e).filter((r)=>typeof r==="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function XRe(e,t="|"){return e.map((n)=>KRe(n)).join(t)}function JZt(e,t){if(typeof t==="bigint")return t.toString();return t}function Sle(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function Cle(e){return e===null||e===void 0}function Ele(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function jZt(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,a=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return a%i/10**o}function Os(e,t,n){Object.defineProperty(e,t,{get(){{let o=n();return e[t]=o,o}throw Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function WRe(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function AD(e){return JSON.stringify(e)}function JG(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ile(e){if(JG(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;if(JG(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function KI(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function X3(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function Rr(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function KRe(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function tQt(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function Acr(e,t){let n={},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;n[o]=r.shape[o]}return X3(e,{...e._zod.def,shape:n,checks:[]})}function wcr(e,t){let n={...e._zod.def.shape},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;delete n[o]}return X3(e,{...e._zod.def,shape:n,checks:[]})}function Scr(e,t){if(!Ile(t))throw Error("Invalid input to extend: expected a plain object");let n={...e._zod.def,get shape(){let r={...e._zod.def.shape,...t};return WRe(this,"shape",r),r},checks:[]};return X3(e,n)}function Ccr(e,t){return X3(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return WRe(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function Ecr(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let a in n){if(!(a in r))throw Error(`Unrecognized key: "${a}"`);if(!n[a])continue;o[a]=e?new e({type:"optional",innerType:r[a]}):r[a]}else for(let a in r)o[a]=e?new e({type:"optional",innerType:r[a]}):r[a];return X3(t,{...t._zod.def,shape:o,checks:[]})}function Icr(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let a in n){if(!(a in o))throw Error(`Unrecognized key: "${a}"`);if(!n[a])continue;o[a]=new e({type:"nonoptional",innerType:r[a]})}else for(let a in r)o[a]=new e({type:"nonoptional",innerType:r[a]});return X3(t,{...t._zod.def,shape:o,checks:[]})}function wD(e,t=0){for(let n=t;n{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function wle(e){return typeof e==="string"?e:e?.message}function W3(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=wle(e.inst?._zod.def?.error?.(e))??wle(t?.error?.(e))??wle(n.customError?.(e))??wle(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Tle(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function SD(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}var YRe,$Zt,eQt,nQt;var Y3=P(()=>{YRe=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};$Zt=Sle(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});eQt=new Set(["string","number","symbol"]);nQt={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}});function oQt(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function aQt(e,t){let n=t||function(a){return a.message},r={_errors:[]},o=(a)=>{for(let i of a.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((s)=>o({issues:s}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)r._errors.push(n(i));else{let s=r,l=0;while(l{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,JZt,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},kle,JRe;var jRe=P(()=>{xD();Y3();kle=_t("$ZodError",rQt),JRe=_t("$ZodError",rQt,{Parent:Error})});var iQt=(e)=>(t,n,r,o)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new pC;if(i.issues.length){let s=new(o?.Err??e)(i.issues.map((l)=>W3(l,a,J2())));throw YRe(s,o?.callee),s}return i.value},sQt=(e)=>async(t,n,r,o)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)i=await i;if(i.issues.length){let s=new(o?.Err??e)(i.issues.map((l)=>W3(l,a,J2())));throw YRe(s,o?.callee),s}return i.value},$Re=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)throw new pC;return a.issues.length?{success:!1,error:new(e??kle)(a.issues.map((i)=>W3(i,o,J2())))}:{success:!0,data:a.value}},lQt,ePe=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)a=await a;return a.issues.length?{success:!1,error:new e(a.issues.map((i)=>W3(i,o,J2())))}:{success:!0,data:a.value}},cQt;var tPe=P(()=>{xD();jRe();Y3();lQt=$Re(JRe),cQt=ePe(JRe)});function bQt(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}function RQt(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function PQt(e){return new RegExp(`^${RQt(e)}$`)}function MQt(e){let t=RQt({precision:e.precision}),n=["Z"];if(e.local)n.push("");if(e.offset)n.push("([+-]\\d{2}:\\d{2})");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${TQt}T(?:${r})$`)}var uQt,dQt,pQt,fQt,mQt,hQt,gQt,yQt,nPe=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},vQt,xQt,AQt,wQt,SQt,CQt,rPe,EQt,IQt,TQt="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",kQt,DQt=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},LQt,BQt,OQt,FQt,UQt;var Rle=P(()=>{uQt=/^[cC][^\s-]{8,}$/,dQt=/^[0-9a-z]+$/,pQt=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,fQt=/^[0-9a-vA-V]{20}$/,mQt=/^[A-Za-z0-9]{27}$/,hQt=/^[a-zA-Z0-9_-]{21}$/,gQt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,yQt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,vQt=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;xQt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,AQt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,wQt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,SQt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,CQt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,rPe=/^[A-Za-z0-9_-]*$/,EQt=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,IQt=/^\+(?:[0-9]){6,14}[0-9]$/,kQt=new RegExp(`^${TQt}$`);LQt=/^\d+$/,BQt=/^-?\d+(?:\.\d+)?/i,OQt=/true|false/i,FQt=/^[^A-Z]*$/,UQt=/^[^a-z]*$/});var Am,NQt,aPe,iPe,zQt,_Qt,HQt,VQt,GQt,$G,qQt,ZQt,QQt,XQt,WQt,YQt,KQt;var Ple=P(()=>{xD();Rle();Y3();Am=_t("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),NQt={number:"number",bigint:"bigint",object:"date"},aPe=_t("$ZodCheckLessThan",(e,t)=>{Am.init(e,t);let n=NQt[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,a=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value{if(t.inclusive?r.value<=t.value:r.value{Am.init(e,t);let n=NQt[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,a=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>a)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zQt=_t("$ZodCheckMultipleOf",(e,t)=>{Am.init(e,t),e._zod.onattach.push((n)=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):jZt(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),_Qt=_t("$ZodCheckNumberFormat",(e,t)=>{Am.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,a]=nQt[t.format];e._zod.onattach.push((i)=>{let s=i._zod.bag;if(s.format=t.format,s.minimum=o,s.maximum=a,n)s.pattern=LQt}),e._zod.check=(i)=>{let s=i.value;if(n){if(!Number.isInteger(s)){i.issues.push({expected:r,format:t.format,code:"invalid_type",input:s,inst:e});return}if(!Number.isSafeInteger(s)){if(s>0)i.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});else i.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,continue:!t.abort});return}}if(sa)i.issues.push({origin:"number",input:s,code:"too_big",maximum:a,inst:e})}}),HQt=_t("$ZodCheckMaxLength",(e,t)=>{var n;Am.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Cle(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum{let o=r.value;if(o.length<=t.maximum)return;let i=Tle(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),VQt=_t("$ZodCheckMinLength",(e,t)=>{var n;Am.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Cle(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.length>=t.minimum)return;let i=Tle(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),GQt=_t("$ZodCheckLengthEquals",(e,t)=>{var n;Am.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Cle(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(r)=>{let o=r.value,a=o.length;if(a===t.length)return;let i=Tle(o),s=a>t.length;r.issues.push({origin:i,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),$G=_t("$ZodCheckStringFormat",(e,t)=>{var n,r;if(Am.init(e,t),e._zod.onattach.push((o)=>{let a=o._zod.bag;if(a.format=t.format,t.pattern)a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),qQt=_t("$ZodCheckRegex",(e,t)=>{$G.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ZQt=_t("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=FQt),$G.init(e,t)}),QQt=_t("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=UQt),$G.init(e,t)}),XQt=_t("$ZodCheckIncludes",(e,t)=>{Am.init(e,t);let n=KI(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let a=o._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),WQt=_t("$ZodCheckStartsWith",(e,t)=>{Am.init(e,t);let n=new RegExp(`^${KI(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),YQt=_t("$ZodCheckEndsWith",(e,t)=>{Am.init(e,t);let n=new RegExp(`.*${KI(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),KQt=_t("$ZodCheckOverwrite",(e,t)=>{Am.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}})});class sPe{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(` -`).filter((a)=>a),r=Math.min(...n.map((a)=>a.length-a.trimStart().length)),o=n.map((a)=>a.slice(r)).map((a)=>" ".repeat(this.indent*2)+a);for(let a of o)this.content.push(a)}compile(){let e=Function,t=this?.args,r=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,r.join(` -`))}}var jQt;var lPe=P(()=>{jQt={major:4,minor:0,patch:0}});function TXt(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function kcr(e){if(!rPe.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return TXt(n)}function Rcr(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}function $Qt(e,t,n){if(e.issues.length)t.issues.push(...jG(n,e.issues));t.value[n]=e.value}function Mle(e,t,n){if(e.issues.length)t.issues.push(...jG(n,e.issues));t.value[n]=e.value}function eXt(e,t,n,r){if(e.issues.length)if(r[n]===void 0)if(n in r)t.value[n]=void 0;else t.value[n]=e.value;else t.issues.push(...jG(n,e.issues));else if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function tXt(e,t,n,r){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((o)=>o.issues.map((a)=>W3(a,r,J2())))}),t}function cPe(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Ile(e)&&Ile(t)){let n=Object.keys(t),r=Object.keys(e).filter((a)=>n.indexOf(a)!==-1),o={...e,...t};for(let a of r){let i=cPe(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};o[a]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r{Ple();xD();tPe();Rle();Y3();lPe();Y3();$s=_t("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=jQt;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let a of o._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(a,i,s)=>{let l=wD(a),c;for(let u of i){if(u._zod.def.when){if(!u._zod.def.when(a))continue}else if(l)continue;let d=a.issues.length,p=u._zod.check(a);if(p instanceof Promise&&s?.async===!1)throw new pC;if(c||p instanceof Promise)c=(c??Promise.resolve()).then(async()=>{if(await p,a.issues.length===d)return;if(!l)l=wD(a,d)});else{if(a.issues.length===d)continue;if(!l)l=wD(a,d)}}if(c)return c.then(()=>a);return a};e._zod.run=(a,i)=>{let s=e._zod.parse(a,i);if(s instanceof Promise){if(i.async===!1)throw new pC;return s.then((l)=>o(l,r,i))}return o(s,r,i)}}e["~standard"]={validate:(o)=>{try{let a=lQt(e,o);return a.success?{value:a.data}:{issues:a.error?.issues}}catch(a){return cQt(e,o).then((i)=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Dle=_t("$ZodString",(e,t)=>{$s.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??DQt(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),el=_t("$ZodStringFormat",(e,t)=>{$G.init(e,t),Dle.init(e,t)}),lXt=_t("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=yQt),el.init(e,t)}),cXt=_t("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=nPe(r))}else t.pattern??(t.pattern=nPe());el.init(e,t)}),uXt=_t("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=vQt),el.init(e,t)}),dXt=_t("$ZodURL",(e,t)=>{el.init(e,t),e._zod.check=(n)=>{try{let r=n.value,o=new URL(r),a=o.href;if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:EQt.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(!r.endsWith("/")&&a.endsWith("/"))n.value=a.slice(0,-1);else n.value=a;return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),pXt=_t("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=bQt()),el.init(e,t)}),fXt=_t("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=hQt),el.init(e,t)}),mXt=_t("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=uQt),el.init(e,t)}),hXt=_t("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=dQt),el.init(e,t)}),gXt=_t("$ZodULID",(e,t)=>{t.pattern??(t.pattern=pQt),el.init(e,t)}),yXt=_t("$ZodXID",(e,t)=>{t.pattern??(t.pattern=fQt),el.init(e,t)}),vXt=_t("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=mQt),el.init(e,t)}),bXt=_t("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=MQt(t)),el.init(e,t)}),xXt=_t("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=kQt),el.init(e,t)}),AXt=_t("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=PQt(t)),el.init(e,t)}),wXt=_t("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=gQt),el.init(e,t)}),SXt=_t("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=xQt),el.init(e,t),e._zod.onattach.push((n)=>{let r=n._zod.bag;r.format="ipv4"})}),CXt=_t("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=AQt),el.init(e,t),e._zod.onattach.push((n)=>{let r=n._zod.bag;r.format="ipv6"}),e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),EXt=_t("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=wQt),el.init(e,t)}),IXt=_t("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=SQt),el.init(e,t),e._zod.check=(n)=>{let[r,o]=n.value.split("/");try{if(!o)throw Error();let a=Number(o);if(`${a}`!==o)throw Error();if(a<0||a>128)throw Error();new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});kXt=_t("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=CQt),el.init(e,t),e._zod.onattach.push((n)=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=(n)=>{if(TXt(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});RXt=_t("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=rPe),el.init(e,t),e._zod.onattach.push((n)=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=(n)=>{if(kcr(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),PXt=_t("$ZodE164",(e,t)=>{t.pattern??(t.pattern=IQt),el.init(e,t)});MXt=_t("$ZodJWT",(e,t)=>{el.init(e,t),e._zod.check=(n)=>{if(Rcr(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),uPe=_t("$ZodNumber",(e,t)=>{$s.init(e,t),e._zod.pattern=e._zod.bag.pattern??BQt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(i){}let o=n.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let a=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...a?{received:a}:{}}),n}}),DXt=_t("$ZodNumber",(e,t)=>{_Qt.init(e,t),uPe.init(e,t)}),LXt=_t("$ZodBoolean",(e,t)=>{$s.init(e,t),e._zod.pattern=OQt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(a){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),BXt=_t("$ZodAny",(e,t)=>{$s.init(e,t),e._zod.parse=(n)=>n}),OXt=_t("$ZodUnknown",(e,t)=>{$s.init(e,t),e._zod.parse=(n)=>n}),FXt=_t("$ZodNever",(e,t)=>{$s.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});UXt=_t("$ZodArray",(e,t)=>{$s.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);let a=[];for(let i=0;i$Qt(c,n,i)));else $Qt(l,n,i)}if(a.length)return Promise.all(a).then(()=>n);return n}});NXt=_t("$ZodObject",(e,t)=>{$s.init(e,t);let n=Sle(()=>{let d=Object.keys(t.shape);for(let f of d)if(!(t.shape[f]instanceof $s))throw Error(`Invalid element at key "${f}": expected a Zod schema`);let p=tQt(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});Os(e._zod,"propValues",()=>{let d=t.shape,p={};for(let f in d){let m=d[f]._zod;if(m.values){p[f]??(p[f]=new Set);for(let g of m.values)p[f].add(g)}}return p});let r=(d)=>{let p=new sPe(["shape","payload","ctx"]),f=n.value,m=(x)=>{let A=AD(x);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};p.write("const input = payload.value;");let g=Object.create(null),v=0;for(let x of f.keys)g[x]=`key_${v++}`;p.write("const newResult = {}");for(let x of f.keys)if(f.optionalKeys.has(x)){let A=g[x];p.write(`const ${A} = ${m(x)};`);let w=AD(x);p.write(` +- "app": Tool callable by the app from this server only`), + csp: uEe().optional(), + permissions: uEe().optional(), + })), + (cia = Te({ + mimeTypes: je(Q()) + .optional() + .describe( + 'Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.', + ), + })), + (a$n = Te({ + method: Ce("ui/download-file"), + params: Te({ + contents: je(Jt([CI, EI])).describe( + "Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.", + ), + }), + })), + (i$n = Te({ + method: Ce("ui/message"), + params: Te({ + role: Ce("user").describe( + 'Message role, currently only "user" is supported.', + ), + content: je(mx).describe("Message content blocks (text, image, etc.)."), + }), + })), + (uia = Te({ + method: Ce("ui/notifications/sandbox-resource-ready"), + params: Te({ + html: Q().describe("HTML content to load into the inner iframe."), + sandbox: Q() + .optional() + .describe( + "Optional override for the inner iframe's sandbox attribute.", + ), + csp: KTe.optional().describe( + "CSP configuration from resource metadata.", + ), + permissions: JTe.optional().describe( + "Sandbox permissions from resource metadata.", + ), + }), + })), + (dia = Te({ + method: Ce("ui/notifications/tool-result"), + params: $6.describe("Standard MCP tool execution result."), + })), + (pNt = Te({ + toolInfo: Te({ + id: q2.optional().describe("JSON-RPC id of the tools/call request."), + tool: j6.describe("Tool definition including name, inputSchema, etc."), + }) + .optional() + .describe("Metadata of the tool call that instantiated this App."), + theme: Vjn.optional().describe("Current color theme preference."), + styles: jjn + .optional() + .describe("Style configuration for theming the app."), + displayMode: nG.optional().describe("How the UI is currently displayed."), + availableDisplayModes: je(nG) + .optional() + .describe("Display modes the host supports."), + containerDimensions: Jt([ + Te({ height: Pt().describe("Fixed container height in pixels.") }), + Te({ + maxHeight: Jt([Pt(), cEe()]) + .optional() + .describe("Maximum container height in pixels."), + }), + ]) + .and( + Jt([ + Te({ width: Pt().describe("Fixed container width in pixels.") }), + Te({ + maxWidth: Jt([Pt(), cEe()]) + .optional() + .describe("Maximum container width in pixels."), + }), + ]), + ) + .optional() + .describe(`Container dimensions. Represents the dimensions of the iframe or other +container holding the app. Specify either width or maxWidth, and either height or maxHeight.`), + locale: Q() + .optional() + .describe("User's language and region preference in BCP 47 format."), + timeZone: Q().optional().describe("User's timezone in IANA format."), + userAgent: Q().optional().describe("Host application identifier."), + platform: Jt([Ce("web"), Ce("desktop"), Ce("mobile")]) + .optional() + .describe("Platform type for responsive design decisions."), + deviceCapabilities: Te({ + touch: Bt() + .optional() + .describe("Whether the device supports touch input."), + hover: Bt() + .optional() + .describe("Whether the device supports hover interactions."), + }) + .optional() + .describe("Device input capabilities."), + safeAreaInsets: Te({ + top: Pt().describe("Top safe area inset in pixels."), + right: Pt().describe("Right safe area inset in pixels."), + bottom: Pt().describe("Bottom safe area inset in pixels."), + left: Pt().describe("Left safe area inset in pixels."), + }) + .optional() + .describe("Mobile safe area boundaries in pixels."), + }).passthrough()), + (pia = Te({ + method: Ce("ui/notifications/host-context-changed"), + params: pNt.describe( + "Partial context update containing only changed fields.", + ), + })), + (s$n = Te({ + method: Ce("ui/update-model-context"), + params: Te({ + content: je(mx) + .optional() + .describe("Context content blocks (text, image, etc.)."), + structuredContent: Wt( + Q(), + Sn().describe( + "Structured content for machine-readable context data.", + ), + ) + .optional() + .describe("Structured content for machine-readable context data."), + }), + })), + (l$n = Te({ + method: Ce("ui/initialize"), + params: Te({ + appInfo: px.describe("App identification (name and version)."), + appCapabilities: n$n.describe( + "Features and capabilities this app provides.", + ), + protocolVersion: Q().describe("Protocol version this app supports."), + }), + })), + (c$n = Te({ + protocolVersion: Q().describe( + 'Negotiated protocol version string (e.g., "2025-11-21").', + ), + hostInfo: px.describe("Host application identification and version."), + hostCapabilities: t$n.describe( + "Features and capabilities provided by the host.", + ), + hostContext: pNt.describe("Rich context about the host environment."), + }).passthrough())); + d$n = [uNt]; + Hie = class Hie extends YTe { + _client; + _hostInfo; + _hostCapabilities; + _appCapabilities; + _hostContext = {}; + _appInfo; + _initializedReceived = !1; + _registeredEvents = new Set(); + _events = new lNt(); + _methods = new cNt(); + setRequestHandler = (...e) => { + let [t, ...n] = oNt("request", e) ?? e; + (this._methods.claim(t, "setRequestHandler"), + super.setRequestHandler.call(this, t, ...n)); + }; + setNotificationHandler = (...e) => { + let [t, ...n] = oNt("notification", e) ?? e; + (this._methods.claim(t, "setNotificationHandler"), + super.setNotificationHandler.call(this, t, ...n)); + }; + removeRequestHandler = (e) => { + (this._methods.release(e), super.removeRequestHandler(e)); + }; + removeNotificationHandler = (e) => { + (this._methods.release(e), super.removeNotificationHandler(e)); + }; + replaceRequestHandler = (e, ...t) => { + (this._methods.replace(e), super.setRequestHandler.call(this, e, ...t)); + }; + _wrapHandler(e, t) { + let n = super._wrapHandler(e, t); + if (e === "ui/initialize" || e === "ping") return n; + return async (r, o) => { + if (!this._initializedReceived) + console.warn( + `[ext-apps] AppBridge received '${e}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`, + ); + return n(r, o); + }; + } + eventSchemas = { + sizechange: Kjn, + sandboxready: Yjn, + initialized: r$n, + requestteardown: e$n, + loggingmessage: II, + }; + setEventHandler(e, t) { + (this._ensureEventSlot(e), this._events.setHandler(e, t)); + } + getEventHandler(e) { + return this._events.getHandler(e); + } + addEventListener(e, t) { + (this._ensureEventSlot(e), this._events.addEventListener(e, t)); + } + removeEventListener(e, t) { + this._events.removeEventListener(e, t); + } + _ensureEventSlot(e) { + if (this._registeredEvents.has(e)) return; + let t = this.eventSchemas[e]; + if (!t) throw Error(`Unknown event: ${String(e)}`); + let n = (r) => { + if (e === "initialized") this._initializedReceived = !0; + this._events.dispatch(e, r); + }; + if (e === "loggingmessage") + this.setNotificationHandler("notifications/message", (r) => { + n(r.params); + }); + else + this.setNotificationHandler( + t.shape.method.value, + { params: t.shape.params }, + (r) => n(r), + ); + this._registeredEvents.add(e); + } + warnIfRequestHandlerReplaced(e, t, n) { + if (t && n) + console.warn( + `[MCP Apps] ${e} handler replaced. Previous handler will no longer be called.`, + ); + } + constructor(e, t, n, r) { + super(r); + ((this._client = e), + (this._hostInfo = t), + (this._hostCapabilities = n), + this._methods.replace("notifications/cancelled"), + this._methods.replace("notifications/progress"), + this._ensureEventSlot("initialized"), + (this._hostContext = r?.hostContext || {}), + this.replaceRequestHandler( + "ui/initialize", + { params: l$n.shape.params, result: c$n }, + (o) => this._onAppsInitialize(o), + ), + this.replaceRequestHandler( + "ping", + (o, a) => (this.onping?.(o.params, a), {}), + ), + this.replaceRequestHandler( + "ui/request-display-mode", + { params: iNt.shape.params, result: sNt }, + () => ({ mode: this._hostContext.displayMode ?? "inline" }), + )); + } + buildContext(e) { + return e; + } + assertCapabilityForMethod(e) {} + assertRequestHandlerCapability(e) {} + assertNotificationCapability(e) {} + getAppCapabilities() { + return this._appCapabilities; + } + getAppVersion() { + return this._appInfo; + } + onping; + get onsizechange() { + return this.getEventHandler("sizechange"); + } + set onsizechange(e) { + this.setEventHandler("sizechange", e); + } + get onsandboxready() { + return this.getEventHandler("sandboxready"); + } + set onsandboxready(e) { + this.setEventHandler("sandboxready", e); + } + get oninitialized() { + return this.getEventHandler("initialized"); + } + set oninitialized(e) { + this.setEventHandler("initialized", e); + } + _onmessage; + get onmessage() { + return this._onmessage; + } + set onmessage(e) { + (this.warnIfRequestHandlerReplaced("onmessage", this._onmessage, e), + (this._onmessage = e), + this.replaceRequestHandler( + "ui/message", + { params: i$n.shape.params, result: Wjn }, + async (t, n) => { + if (!this._onmessage) throw Error("No onmessage handler set"); + return this._onmessage(t, n); + }, + )); + } + _onopenlink; + get onopenlink() { + return this._onopenlink; + } + set onopenlink(e) { + (this.warnIfRequestHandlerReplaced("onopenlink", this._onopenlink, e), + (this._onopenlink = e), + this.replaceRequestHandler( + "ui/open-link", + { params: Zjn.shape.params, result: Qjn }, + async (t, n) => { + if (!this._onopenlink) throw Error("No onopenlink handler set"); + return this._onopenlink(t, n); + }, + )); + } + _ondownloadfile; + get ondownloadfile() { + return this._ondownloadfile; + } + set ondownloadfile(e) { + (this.warnIfRequestHandlerReplaced( + "ondownloadfile", + this._ondownloadfile, + e, + ), + (this._ondownloadfile = e), + this.replaceRequestHandler( + "ui/download-file", + { params: a$n.shape.params, result: Xjn }, + async (t, n) => { + if (!this._ondownloadfile) + throw Error("No ondownloadfile handler set"); + return this._ondownloadfile(t, n); + }, + )); + } + get onrequestteardown() { + return this.getEventHandler("requestteardown"); + } + set onrequestteardown(e) { + this.setEventHandler("requestteardown", e); + } + _onrequestdisplaymode; + get onrequestdisplaymode() { + return this._onrequestdisplaymode; + } + set onrequestdisplaymode(e) { + (this.warnIfRequestHandlerReplaced( + "onrequestdisplaymode", + this._onrequestdisplaymode, + e, + ), + (this._onrequestdisplaymode = e), + this.replaceRequestHandler( + "ui/request-display-mode", + { params: iNt.shape.params, result: sNt }, + async (t, n) => { + if (!this._onrequestdisplaymode) + throw Error("No onrequestdisplaymode handler set"); + return this._onrequestdisplaymode(t, n); + }, + )); + } + get onloggingmessage() { + return this.getEventHandler("loggingmessage"); + } + set onloggingmessage(e) { + this.setEventHandler("loggingmessage", e); + } + _onupdatemodelcontext; + get onupdatemodelcontext() { + return this._onupdatemodelcontext; + } + set onupdatemodelcontext(e) { + (this.warnIfRequestHandlerReplaced( + "onupdatemodelcontext", + this._onupdatemodelcontext, + e, + ), + (this._onupdatemodelcontext = e), + this.replaceRequestHandler( + "ui/update-model-context", + { params: s$n.shape.params, result: J6 }, + async (t, n) => { + if (!this._onupdatemodelcontext) + throw Error("No onupdatemodelcontext handler set"); + return this._onupdatemodelcontext(t, n); + }, + )); + } + _oncalltool; + get oncalltool() { + return this._oncalltool; + } + set oncalltool(e) { + (this.warnIfRequestHandlerReplaced("oncalltool", this._oncalltool, e), + (this._oncalltool = e), + this.replaceRequestHandler("tools/call", async (t, n) => { + if (!this._oncalltool) throw Error("No oncalltool handler set"); + return this._oncalltool(t.params, n); + })); + } + _oncreatesamplingmessage; + get oncreatesamplingmessage() { + return this._oncreatesamplingmessage; + } + set oncreatesamplingmessage(e) { + (this.warnIfRequestHandlerReplaced( + "oncreatesamplingmessage", + this._oncreatesamplingmessage, + e, + ), + (this._oncreatesamplingmessage = e), + this.replaceRequestHandler("sampling/createMessage", async (t, n) => { + if (!this._oncreatesamplingmessage) + throw Error("No oncreatesamplingmessage handler set"); + return this._oncreatesamplingmessage(t.params, n); + })); + } + sendToolListChanged(e = {}) { + return this.notification({ + method: "notifications/tools/list_changed", + params: e, + }); + } + _onlistresources; + get onlistresources() { + return this._onlistresources; + } + set onlistresources(e) { + (this.warnIfRequestHandlerReplaced( + "onlistresources", + this._onlistresources, + e, + ), + (this._onlistresources = e), + this.replaceRequestHandler("resources/list", async (t, n) => { + if (!this._onlistresources) + throw Error("No onlistresources handler set"); + return this._onlistresources(t.params, n); + })); + } + _onlistresourcetemplates; + get onlistresourcetemplates() { + return this._onlistresourcetemplates; + } + set onlistresourcetemplates(e) { + (this.warnIfRequestHandlerReplaced( + "onlistresourcetemplates", + this._onlistresourcetemplates, + e, + ), + (this._onlistresourcetemplates = e), + this.replaceRequestHandler("resources/templates/list", async (t, n) => { + if (!this._onlistresourcetemplates) + throw Error("No onlistresourcetemplates handler set"); + return this._onlistresourcetemplates(t.params, n); + })); + } + _onreadresource; + get onreadresource() { + return this._onreadresource; + } + set onreadresource(e) { + (this.warnIfRequestHandlerReplaced( + "onreadresource", + this._onreadresource, + e, + ), + (this._onreadresource = e), + this.replaceRequestHandler("resources/read", async (t, n) => { + if (!this._onreadresource) + throw Error("No onreadresource handler set"); + return this._onreadresource(t.params, n); + })); + } + sendResourceListChanged(e = {}) { + return this.notification({ + method: "notifications/resources/list_changed", + params: e, + }); + } + _onlistprompts; + get onlistprompts() { + return this._onlistprompts; + } + set onlistprompts(e) { + (this.warnIfRequestHandlerReplaced( + "onlistprompts", + this._onlistprompts, + e, + ), + (this._onlistprompts = e), + this.replaceRequestHandler("prompts/list", async (t, n) => { + if (!this._onlistprompts) throw Error("No onlistprompts handler set"); + return this._onlistprompts(t.params, n); + })); + } + sendPromptListChanged(e = {}) { + return this.notification({ + method: "notifications/prompts/list_changed", + params: e, + }); + } + getCapabilities() { + return this._hostCapabilities; + } + async _onAppsInitialize(e) { + let t = e.protocolVersion; + if (this._appInfo !== void 0) + console.warn( + "[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values.", + ); + return ( + (this._appCapabilities = e.appCapabilities), + (this._appInfo = e.appInfo), + { + protocolVersion: d$n.includes(t) ? t : uNt, + hostCapabilities: this.getCapabilities(), + hostInfo: this._hostInfo, + hostContext: this._hostContext, + } + ); + } + setHostContext(e) { + let t = {}, + n = !1; + for (let r of Object.keys(e)) { + let o = this._hostContext[r], + a = e[r]; + if (p$n(o, a)) continue; + ((t[r] = a), (n = !0)); + } + if (n) ((this._hostContext = e), this.sendHostContextChange(t)); + } + sendHostContextChange(e) { + return this.notification({ + method: "ui/notifications/host-context-changed", + params: e, + }); + } + sendToolInput(e) { + return this.notification({ + method: "ui/notifications/tool-input", + params: e, + }); + } + sendToolInputPartial(e) { + return this.notification({ + method: "ui/notifications/tool-input-partial", + params: e, + }); + } + sendToolResult(e) { + return this.notification({ + method: "ui/notifications/tool-result", + params: e, + }); + } + sendToolCancelled(e) { + return this.notification({ + method: "ui/notifications/tool-cancelled", + params: e, + }); + } + sendSandboxResourceReady(e) { + return this.notification({ + method: "ui/notifications/sandbox-resource-ready", + params: e, + }); + } + teardownResource(e, t) { + return this.request( + { method: "ui/resource-teardown", params: e }, + $jn, + t, + ); + } + sendResourceTeardown = this.teardownResource; + callTool(e, t) { + return this.request({ method: "tools/call", params: e }, t); + } + listTools(e, t) { + return this.request({ method: "tools/list", params: e }, t); + } + async connect(e) { + if (this.transport) + throw Error( + "AppBridge is already connected. Call close() before connecting again.", + ); + if (((this._initializedReceived = !1), this._client)) { + let t = this._client.getServerCapabilities(); + if (!t) throw Error("Client server capabilities not available"); + if (t.tools) { + if ( + ((this.oncalltool = async (n, r) => + this._client.request( + { method: "tools/call", params: n }, + { signal: r.mcpReq.signal }, + )), + t.tools.listChanged) + ) + this._client.setNotificationHandler( + "notifications/tools/list_changed", + (n) => this.sendToolListChanged(n.params), + ); + } + if (t.resources) { + if ( + ((this.onlistresources = async (n, r) => + this._client.request( + { method: "resources/list", params: n }, + { signal: r.mcpReq.signal }, + )), + (this.onlistresourcetemplates = async (n, r) => + this._client.request( + { method: "resources/templates/list", params: n }, + { signal: r.mcpReq.signal }, + )), + (this.onreadresource = async (n, r) => + this._client.request( + { method: "resources/read", params: n }, + { signal: r.mcpReq.signal }, + )), + t.resources.listChanged) + ) + this._client.setNotificationHandler( + "notifications/resources/list_changed", + (n) => this.sendResourceListChanged(n.params), + ); + } + if (t.prompts) { + if ( + ((this.onlistprompts = async (n, r) => + this._client.request( + { method: "prompts/list", params: n }, + { signal: r.mcpReq.signal }, + )), + t.prompts.listChanged) + ) + this._client.setNotificationHandler( + "notifications/prompts/list_changed", + (n) => this.sendPromptListChanged(n.params), + ); + } + } + return super.connect(e); + } + }; +}); +var f$n = "io.modelcontextprotocol/related-task", + Gie = "2.0", + Xd, + mNt, + hNt, + hia, + m$n, + h$n, + jTe, + Hg, + qie, + Of, + gy, + yy, + Ff, + Zie, + g$n, + y$n, + gNt, + tC, + yNt, + gia, + yia, + vNt, + v$n, + bNt, + b$n, + rG, + JM, + xNt, + x$n, + A$n, + w$n, + S$n, + C$n, + E$n, + I$n, + T$n, + k$n, + R$n, + ANt, + P$n, + M$n, + wNt, + D$n, + oG, + aG, + L$n, + iG, + SNt, + B$n, + CNt, + ENt, + INt, + TNt, + via, + kNt, + RNt, + PNt, + bia, + MNt, + DNt, + $Te, + LNt, + sG, + jM, + BNt, + O$n, + F$n, + U$n, + N$n, + z$n, + e7e, + _$n, + H$n, + V$n, + G$n, + q$n, + Z$n, + Q$n, + X$n, + W$n, + Y$n, + K$n, + J$n, + j$n, + $$n, + eer, + ter, + t7e, + n7e, + r7e, + ner, + rer, + oer, + o7e, + aer, + ier, + ser, + ler, + cer, + ONt, + uer, + der, + FNt, + xia, + per, + fer, + mer, + Aia, + UNt, + her, + ger, + yer, + ver, + ber, + xer, + Aer, + wer, + Ser, + Vie, + Cer, + Eer, + Ier, + Ter, + ker, + Rer, + Per, + Mer, + Der, + Ler, + Ber, + Oer, + Fer, + Uer, + Ner, + zer, + _er, + Her, + Ver, + Ger, + qer, + Zer, + Qer, + Xer, + Wer, + Yer, + Ker, + Jer, + jer, + $er, + etr, + ttr, + ntr, + wia, + Sia, + Cia, + Eia, + Iia, + Tia, + MI, + NNt; +var zNt = P(() => { + AM(); + ((Xd = eI( + (e) => e !== null && (typeof e === "object" || typeof e === "function"), + )), + (mNt = Jt([Q(), Pt().int()])), + (hNt = Q()), + (hia = wt({ ttl: Pt().optional(), pollInterval: Pt().optional() })), + (m$n = Te({ ttl: Pt().optional() })), + (h$n = Te({ taskId: Q() })), + (jTe = wt({ progressToken: mNt.optional(), [f$n]: h$n.optional() })), + (Hg = Te({ _meta: jTe.optional() })), + (qie = Hg.extend({ task: m$n.optional() })), + (Of = Te({ method: Q(), params: Hg.loose().optional() })), + (gy = Te({ _meta: jTe.optional() })), + (yy = Te({ method: Q(), params: gy.loose().optional() })), + (Ff = wt({ _meta: jTe.optional() })), + (Zie = Jt([Q(), Pt().int()])), + (g$n = Te({ jsonrpc: Ce(Gie), id: Zie, ...Of.shape }).strict()), + (y$n = Te({ jsonrpc: Ce(Gie), ...yy.shape }).strict()), + (gNt = Te({ jsonrpc: Ce(Gie), id: Zie, result: Ff }).strict())); + (function (e) { + ((e[(e.ConnectionClosed = -32000)] = "ConnectionClosed"), + (e[(e.RequestTimeout = -32001)] = "RequestTimeout"), + (e[(e.ParseError = -32700)] = "ParseError"), + (e[(e.InvalidRequest = -32600)] = "InvalidRequest"), + (e[(e.MethodNotFound = -32601)] = "MethodNotFound"), + (e[(e.InvalidParams = -32602)] = "InvalidParams"), + (e[(e.InternalError = -32603)] = "InternalError"), + (e[(e.UrlElicitationRequired = -32042)] = "UrlElicitationRequired")); + })(tC || (tC = {})); + ((yNt = Te({ + jsonrpc: Ce(Gie), + id: Zie.optional(), + error: Te({ code: Pt().int(), message: Q(), data: Sn().optional() }), + }).strict()), + (gia = Jt([g$n, y$n, gNt, yNt])), + (yia = Jt([gNt, yNt])), + (vNt = Ff.strict()), + (v$n = gy.extend({ requestId: Zie.optional(), reason: Q().optional() })), + (bNt = yy.extend({ method: Ce("notifications/cancelled"), params: v$n })), + (b$n = Te({ + src: Q(), + mimeType: Q().optional(), + sizes: je(Q()).optional(), + theme: tr(["light", "dark"]).optional(), + })), + (rG = Te({ icons: je(b$n).optional() })), + (JM = Te({ name: Q(), title: Q().optional() })), + (xNt = JM.extend({ + ...JM.shape, + ...rG.shape, + version: Q(), + websiteUrl: Q().optional(), + description: Q().optional(), + })), + (x$n = cy(Te({ applyDefaults: Bt().optional() }), Wt(Q(), Sn()))), + (A$n = ax( + (e) => { + if (e && typeof e === "object" && !Array.isArray(e)) { + if (Object.keys(e).length === 0) return { form: {} }; + } + return e; + }, + cy( + Te({ form: x$n.optional(), url: Xd.optional() }), + Wt(Q(), Sn()).optional(), + ), + )), + (w$n = wt({ + list: Xd.optional(), + cancel: Xd.optional(), + requests: wt({ + sampling: wt({ createMessage: Xd.optional() }).optional(), + elicitation: wt({ create: Xd.optional() }).optional(), + }).optional(), + })), + (S$n = wt({ + list: Xd.optional(), + cancel: Xd.optional(), + requests: wt({ + tools: wt({ call: Xd.optional() }).optional(), + }).optional(), + })), + (C$n = Te({ + experimental: Wt(Q(), Xd).optional(), + sampling: Te({ context: Xd.optional(), tools: Xd.optional() }).optional(), + elicitation: A$n.optional(), + roots: Te({ listChanged: Bt().optional() }).optional(), + tasks: w$n.optional(), + extensions: Wt(Q(), Xd).optional(), + })), + (E$n = Hg.extend({ + protocolVersion: Q(), + capabilities: C$n, + clientInfo: xNt, + })), + (I$n = Of.extend({ method: Ce("initialize"), params: E$n })), + (T$n = Te({ + experimental: Wt(Q(), Xd).optional(), + logging: Xd.optional(), + completions: Xd.optional(), + prompts: Te({ listChanged: Bt().optional() }).optional(), + resources: Te({ + subscribe: Bt().optional(), + listChanged: Bt().optional(), + }).optional(), + tools: Te({ listChanged: Bt().optional() }).optional(), + tasks: S$n.optional(), + extensions: Wt(Q(), Xd).optional(), + })), + (k$n = Ff.extend({ + protocolVersion: Q(), + capabilities: T$n, + serverInfo: xNt, + instructions: Q().optional(), + })), + (R$n = yy.extend({ + method: Ce("notifications/initialized"), + params: gy.optional(), + })), + (ANt = Of.extend({ method: Ce("ping"), params: Hg.optional() })), + (P$n = Te({ progress: Pt(), total: Rn(Pt()), message: Rn(Q()) })), + (M$n = Te({ ...gy.shape, ...P$n.shape, progressToken: mNt })), + (wNt = yy.extend({ method: Ce("notifications/progress"), params: M$n })), + (D$n = Hg.extend({ cursor: hNt.optional() })), + (oG = Of.extend({ params: D$n.optional() })), + (aG = Ff.extend({ nextCursor: hNt.optional() })), + (L$n = tr([ + "working", + "input_required", + "completed", + "failed", + "cancelled", + ])), + (iG = Te({ + taskId: Q(), + status: L$n, + ttl: Jt([Pt(), w3()]), + createdAt: Q(), + lastUpdatedAt: Q(), + pollInterval: Rn(Pt()), + statusMessage: Rn(Q()), + })), + (SNt = Ff.extend({ task: iG })), + (B$n = gy.merge(iG)), + (CNt = yy.extend({ + method: Ce("notifications/tasks/status"), + params: B$n, + })), + (ENt = Of.extend({ + method: Ce("tasks/get"), + params: Hg.extend({ taskId: Q() }), + })), + (INt = Ff.merge(iG)), + (TNt = Of.extend({ + method: Ce("tasks/result"), + params: Hg.extend({ taskId: Q() }), + })), + (via = Ff.loose()), + (kNt = oG.extend({ method: Ce("tasks/list") })), + (RNt = aG.extend({ tasks: je(iG) })), + (PNt = Of.extend({ + method: Ce("tasks/cancel"), + params: Hg.extend({ taskId: Q() }), + })), + (bia = Ff.merge(iG)), + (MNt = Te({ + uri: Q(), + mimeType: Rn(Q()), + _meta: Wt(Q(), Sn()).optional(), + })), + (DNt = MNt.extend({ text: Q() })), + ($Te = Q().refine( + (e) => { + try { + return (atob(e), !0); + } catch { + return !1; + } + }, + { message: "Invalid Base64 string" }, + )), + (LNt = MNt.extend({ blob: $Te })), + (sG = tr(["user", "assistant"])), + (jM = Te({ + audience: je(sG).optional(), + priority: Pt().min(0).max(1).optional(), + lastModified: S_({ offset: !0 }).optional(), + })), + (BNt = Te({ + ...JM.shape, + ...rG.shape, + uri: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + size: Rn(Pt()), + annotations: jM.optional(), + _meta: Rn(wt({})), + })), + (O$n = Te({ + ...JM.shape, + ...rG.shape, + uriTemplate: Q(), + description: Rn(Q()), + mimeType: Rn(Q()), + annotations: jM.optional(), + _meta: Rn(wt({})), + })), + (F$n = oG.extend({ method: Ce("resources/list") })), + (U$n = aG.extend({ resources: je(BNt) })), + (N$n = oG.extend({ method: Ce("resources/templates/list") })), + (z$n = aG.extend({ resourceTemplates: je(O$n) })), + (e7e = Hg.extend({ uri: Q() })), + (_$n = e7e), + (H$n = Of.extend({ method: Ce("resources/read"), params: _$n })), + (V$n = Ff.extend({ contents: je(Jt([DNt, LNt])) })), + (G$n = yy.extend({ + method: Ce("notifications/resources/list_changed"), + params: gy.optional(), + })), + (q$n = e7e), + (Z$n = Of.extend({ method: Ce("resources/subscribe"), params: q$n })), + (Q$n = e7e), + (X$n = Of.extend({ method: Ce("resources/unsubscribe"), params: Q$n })), + (W$n = gy.extend({ uri: Q() })), + (Y$n = yy.extend({ + method: Ce("notifications/resources/updated"), + params: W$n, + })), + (K$n = Te({ name: Q(), description: Rn(Q()), required: Rn(Bt()) })), + (J$n = Te({ + ...JM.shape, + ...rG.shape, + description: Rn(Q()), + arguments: Rn(je(K$n)), + _meta: Rn(wt({})), + })), + (j$n = oG.extend({ method: Ce("prompts/list") })), + ($$n = aG.extend({ prompts: je(J$n) })), + (eer = Hg.extend({ name: Q(), arguments: Wt(Q(), Q()).optional() })), + (ter = Of.extend({ method: Ce("prompts/get"), params: eer })), + (t7e = Te({ + type: Ce("text"), + text: Q(), + annotations: jM.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (n7e = Te({ + type: Ce("image"), + data: $Te, + mimeType: Q(), + annotations: jM.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (r7e = Te({ + type: Ce("audio"), + data: $Te, + mimeType: Q(), + annotations: jM.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (ner = Te({ + type: Ce("tool_use"), + name: Q(), + id: Q(), + input: Wt(Q(), Sn()), + _meta: Wt(Q(), Sn()).optional(), + })), + (rer = Te({ + type: Ce("resource"), + resource: Jt([DNt, LNt]), + annotations: jM.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (oer = BNt.extend({ type: Ce("resource_link") })), + (o7e = Jt([t7e, n7e, r7e, oer, rer])), + (aer = Te({ role: sG, content: o7e })), + (ier = Ff.extend({ description: Q().optional(), messages: je(aer) })), + (ser = yy.extend({ + method: Ce("notifications/prompts/list_changed"), + params: gy.optional(), + })), + (ler = Te({ + title: Q().optional(), + readOnlyHint: Bt().optional(), + destructiveHint: Bt().optional(), + idempotentHint: Bt().optional(), + openWorldHint: Bt().optional(), + })), + (cer = Te({ + taskSupport: tr(["required", "optional", "forbidden"]).optional(), + })), + (ONt = Te({ + ...JM.shape, + ...rG.shape, + description: Q().optional(), + inputSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), Xd).optional(), + required: je(Q()).optional(), + }).catchall(Sn()), + outputSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), Xd).optional(), + required: je(Q()).optional(), + }) + .catchall(Sn()) + .optional(), + annotations: ler.optional(), + execution: cer.optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (uer = oG.extend({ method: Ce("tools/list") })), + (der = aG.extend({ tools: je(ONt) })), + (FNt = Ff.extend({ + content: je(o7e).default([]), + structuredContent: Wt(Q(), Sn()).optional(), + isError: Bt().optional(), + })), + (xia = FNt.or(Ff.extend({ toolResult: Sn() }))), + (per = qie.extend({ name: Q(), arguments: Wt(Q(), Sn()).optional() })), + (fer = Of.extend({ method: Ce("tools/call"), params: per })), + (mer = yy.extend({ + method: Ce("notifications/tools/list_changed"), + params: gy.optional(), + })), + (Aia = Te({ + autoRefresh: Bt().default(!0), + debounceMs: Pt().int().nonnegative().default(300), + })), + (UNt = tr([ + "debug", + "info", + "notice", + "warning", + "error", + "critical", + "alert", + "emergency", + ])), + (her = Hg.extend({ level: UNt })), + (ger = Of.extend({ method: Ce("logging/setLevel"), params: her })), + (yer = gy.extend({ level: UNt, logger: Q().optional(), data: Sn() })), + (ver = yy.extend({ method: Ce("notifications/message"), params: yer })), + (ber = Te({ name: Q().optional() })), + (xer = Te({ + hints: je(ber).optional(), + costPriority: Pt().min(0).max(1).optional(), + speedPriority: Pt().min(0).max(1).optional(), + intelligencePriority: Pt().min(0).max(1).optional(), + })), + (Aer = Te({ mode: tr(["auto", "required", "none"]).optional() })), + (wer = Te({ + type: Ce("tool_result"), + toolUseId: Q().describe( + "The unique identifier for the corresponding tool call.", + ), + content: je(o7e).default([]), + structuredContent: Te({}).loose().optional(), + isError: Bt().optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (Ser = dm("type", [t7e, n7e, r7e])), + (Vie = dm("type", [t7e, n7e, r7e, ner, wer])), + (Cer = Te({ + role: sG, + content: Jt([Vie, je(Vie)]), + _meta: Wt(Q(), Sn()).optional(), + })), + (Eer = qie.extend({ + messages: je(Cer), + modelPreferences: xer.optional(), + systemPrompt: Q().optional(), + includeContext: tr(["none", "thisServer", "allServers"]).optional(), + temperature: Pt().optional(), + maxTokens: Pt().int(), + stopSequences: je(Q()).optional(), + metadata: Xd.optional(), + tools: je(ONt).optional(), + toolChoice: Aer.optional(), + })), + (Ier = Of.extend({ method: Ce("sampling/createMessage"), params: Eer })), + (Ter = Ff.extend({ + model: Q(), + stopReason: Rn(tr(["endTurn", "stopSequence", "maxTokens"]).or(Q())), + role: sG, + content: Ser, + })), + (ker = Ff.extend({ + model: Q(), + stopReason: Rn( + tr(["endTurn", "stopSequence", "maxTokens", "toolUse"]).or(Q()), + ), + role: sG, + content: Jt([Vie, je(Vie)]), + })), + (Rer = Te({ + type: Ce("boolean"), + title: Q().optional(), + description: Q().optional(), + default: Bt().optional(), + })), + (Per = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + minLength: Pt().optional(), + maxLength: Pt().optional(), + format: tr(["email", "uri", "date", "date-time"]).optional(), + default: Q().optional(), + })), + (Mer = Te({ + type: tr(["number", "integer"]), + title: Q().optional(), + description: Q().optional(), + minimum: Pt().optional(), + maximum: Pt().optional(), + default: Pt().optional(), + })), + (Der = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + default: Q().optional(), + })), + (Ler = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + oneOf: je(Te({ const: Q(), title: Q() })), + default: Q().optional(), + })), + (Ber = Te({ + type: Ce("string"), + title: Q().optional(), + description: Q().optional(), + enum: je(Q()), + enumNames: je(Q()).optional(), + default: Q().optional(), + })), + (Oer = Jt([Der, Ler])), + (Fer = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ type: Ce("string"), enum: je(Q()) }), + default: je(Q()).optional(), + })), + (Uer = Te({ + type: Ce("array"), + title: Q().optional(), + description: Q().optional(), + minItems: Pt().optional(), + maxItems: Pt().optional(), + items: Te({ anyOf: je(Te({ const: Q(), title: Q() })) }), + default: je(Q()).optional(), + })), + (Ner = Jt([Fer, Uer])), + (zer = Jt([Ber, Oer, Ner])), + (_er = Jt([zer, Rer, Per, Mer])), + (Her = qie.extend({ + mode: Ce("form").optional(), + message: Q(), + requestedSchema: Te({ + type: Ce("object"), + properties: Wt(Q(), _er), + required: je(Q()).optional(), + }), + })), + (Ver = qie.extend({ + mode: Ce("url"), + message: Q(), + elicitationId: Q(), + url: Q().url(), + })), + (Ger = Jt([Her, Ver])), + (qer = Of.extend({ method: Ce("elicitation/create"), params: Ger })), + (Zer = gy.extend({ elicitationId: Q() })), + (Qer = yy.extend({ + method: Ce("notifications/elicitation/complete"), + params: Zer, + })), + (Xer = Ff.extend({ + action: tr(["accept", "decline", "cancel"]), + content: ax( + (e) => (e === null ? void 0 : e), + Wt(Q(), Jt([Q(), Pt(), Bt(), je(Q())])).optional(), + ), + })), + (Wer = Te({ type: Ce("ref/resource"), uri: Q() })), + (Yer = Te({ type: Ce("ref/prompt"), name: Q() })), + (Ker = Hg.extend({ + ref: Jt([Yer, Wer]), + argument: Te({ name: Q(), value: Q() }), + context: Te({ arguments: Wt(Q(), Q()).optional() }).optional(), + })), + (Jer = Of.extend({ method: Ce("completion/complete"), params: Ker })), + (jer = Ff.extend({ + completion: wt({ + values: je(Q()).max(100), + total: Rn(Pt().int()), + hasMore: Rn(Bt()), + }), + })), + ($er = Te({ + uri: Q().startsWith("file://"), + name: Q().optional(), + _meta: Wt(Q(), Sn()).optional(), + })), + (etr = Of.extend({ method: Ce("roots/list"), params: Hg.optional() })), + (ttr = Ff.extend({ roots: je($er) })), + (ntr = yy.extend({ + method: Ce("notifications/roots/list_changed"), + params: gy.optional(), + })), + (wia = Jt([ + ANt, + I$n, + Jer, + ger, + ter, + j$n, + F$n, + N$n, + H$n, + Z$n, + X$n, + fer, + uer, + ENt, + TNt, + kNt, + PNt, + ])), + (Sia = Jt([bNt, wNt, R$n, ntr, CNt])), + (Cia = Jt([vNt, Ter, ker, Xer, ttr, INt, RNt, SNt])), + (Eia = Jt([ANt, Ier, qer, etr, ENt, TNt, kNt, PNt])), + (Iia = Jt([bNt, wNt, ver, Y$n, G$n, mer, ser, CNt, Qer])), + (Tia = Jt([ + vNt, + k$n, + jer, + ier, + $$n, + U$n, + z$n, + V$n, + FNt, + der, + INt, + RNt, + SNt, + ]))); + MI = class MI extends Error { + constructor(e, t, n) { + super(`MCP error ${e}: ${t}`); + ((this.code = e), (this.data = n), (this.name = "McpError")); + } + static fromError(e, t, n) { + if (e === tC.UrlElicitationRequired && n) { + let r = n; + if (r.elicitations) return new NNt(r.elicitations, t); + } + return new MI(e, t, n); + } + }; + NNt = class NNt extends MI { + constructor(e, t = `URL elicitation${e.length > 1 ? "s" : ""} required`) { + super(tC.UrlElicitationRequired, t, { elicitations: e }); + } + get elicitations() { + return this.data?.elicitations ?? []; + } + }; +}); +var DI = void 0; +var a7e = () => {}; +async function itr(e, t, n = atr) { + let r = document.createElement("iframe"); + ((r.style.width = "100%"), + (r.style.height = "600px"), + (r.style.border = "none"), + (r.style.backgroundColor = "transparent"), + r.setAttribute("sandbox", "allow-scripts allow-same-origin allow-forms")); + let o = new Promise((a, i) => { + let s = !1, + l = () => { + (window.removeEventListener("message", u), + r.removeEventListener("error", d)); + }, + c = setTimeout(() => { + if (!s) + ((s = !0), + l(), + i(Error("Timed out waiting for sandbox proxy iframe to be ready"))); + }, n); + if (t) + t.cancel = () => { + if (!s) ((s = !0), clearTimeout(c), l(), a()); + }; + let u = (p) => { + if (p.source === r.contentWindow) { + if (p.data && p.data.method === dNt) { + if (!s) ((s = !0), clearTimeout(c), l(), a()); + } + } + }, + d = () => { + if (!s) + ((s = !0), + clearTimeout(c), + l(), + i(Error("Failed to load sandbox proxy iframe"))); + }; + (window.addEventListener("message", u), r.addEventListener("error", d)); + }); + return ((r.src = e.href), { iframe: r, onReady: o }); +} +async function str(e, t) { + let n, + r = void 0; + do { + let a = await e.listTools({ cursor: r }); + ((n = a.tools.find((i) => i.name === t)), (r = a.nextCursor)); + } while (!n && r); + if (!n) throw Error(`tool ${t} not found`); + if (!n._meta) return null; + let o = fNt(n); + if (!o) return null; + if (!o.startsWith("ui://")) + throw Error(`tool ${t} has unsupported output template URI: ${o}`); + return { uri: o }; +} +async function ltr(e, t) { + let n = await e.readResource({ uri: t.uri }); + if (!n) throw Error("UI resource not found: " + t.uri); + if (n.contents.length !== 1) + throw Error("Unsupported UI resource content length: " + n.contents.length); + let r = n.contents[0], + o, + a = (i) => i === YM; + if ("text" in r && typeof r.text === "string" && a(r.mimeType)) o = r.text; + else if ("blob" in r && typeof r.blob === "string" && a(r.mimeType)) + o = atob(r.blob); + else + throw Error("Unsupported UI resource content format: " + JSON.stringify(r)); + return o; +} +function ctr(e, t) { + let n = new URL(e.href); + if (t && Object.keys(t).length > 0) + n.searchParams.set("csp", JSON.stringify(t)); + return n; +} +var As, + Up, + rtr = "io.modelcontextprotocol/ui", + otr, + Mia, + atr = 1e4, + utr = (e) => { + let { + html: t, + sandbox: n, + appBridge: r, + onSizeChanged: o, + onInitialized: a, + toolInput: i, + toolResult: s, + onError: l, + } = e, + [c, u] = Up.useState(!1), + [d, p] = Up.useState(!1), + [f, m] = Up.useState(null), + g = Up.useRef(null), + v = Up.useRef(null), + y = Up.useRef(null), + x = Up.useRef(null), + A = Up.useRef(o), + w = Up.useRef(a), + C = Up.useRef(l); + return ( + Up.useEffect(() => { + ((A.current = o), (w.current = a), (C.current = l)); + }), + Up.useEffect(() => { + let E = ctr(n.url, n.csp), + T = E.href; + if (y.current === T && x.current === r && v.current) return; + (u(!1), p(!1), m(null)); + let I = !0, + k = {}; + return ( + (async () => { + try { + if (v.current && g.current?.contains(v.current)) + (g.current.removeChild(v.current), + (v.current = null), + (y.current = null), + (x.current = null)); + let { iframe: O, onReady: B } = await itr(E, k); + if (!I) return; + if ( + ((v.current = O), (y.current = T), (x.current = r), g.current) + ) + g.current.appendChild(O); + if ((await B, !I)) return; + if ( + ((r.onsizechange = async (U) => { + if ((A.current?.(U), v.current)) { + if (U.width !== void 0) + v.current.style.width = `${U.width}px`; + if (U.height !== void 0) + v.current.style.height = `${U.height}px`; + } + }), + (r.oninitialized = () => { + if (!I) return; + (console.log("[AppFrame] App initialized"), + u(!0), + w.current?.({ + appVersion: r.getAppVersion(), + appCapabilities: r.getAppCapabilities(), + })); + }), + await r.connect(new _ie(O.contentWindow, O.contentWindow)), + !I) + ) + return; + p(!0); + } catch (O) { + if ((console.error("[AppFrame] Error:", O), !I)) return; + let B = O instanceof Error ? O : Error(String(O)); + (m(B), C.current?.(B)); + } + })(), + () => { + ((I = !1), k.cancel?.()); + } + ); + }, [n.url, n.csp, r]), + Up.useEffect(() => { + if (!d || !t || x.current !== r) return; + (async () => { + try { + (console.log("[AppFrame] Sending HTML to sandbox"), + await r.sendSandboxResourceReady({ html: t, csp: n.csp })); + } catch (T) { + let I = T instanceof Error ? T : Error(String(T)); + (m(I), C.current?.(I)); + } + })(); + }, [d, t, r, n.csp]), + Up.useEffect(() => { + if (d && c && i && x.current === r) + (console.log("[AppFrame] Sending tool input:", i), + r.sendToolInput({ arguments: i })); + }, [r, d, c, i]), + Up.useEffect(() => { + if (d && c && s && x.current === r) + (console.log("[AppFrame] Sending tool result:", s), + r.sendToolResult(s)); + }, [r, d, c, s]), + DI( + "div", + { + ref: g, + style: { + width: "100%", + height: "100%", + display: "flex", + flexDirection: "column", + }, + children: + f && + DI( + "div", + { + style: { color: "red", padding: "1rem" }, + children: ["Error: ", f.message], + }, + void 0, + !0, + void 0, + null, + ), + }, + void 0, + !1, + void 0, + null, + ) + ); + }, + i7e; +var _Nt = P(() => { + KM(); + zNt(); + KM(); + KM(); + KM(); + a7e(); + a7e(); + KM(); + ((As = z(re(), 1)), + (Up = z(re(), 1)), + (otr = { mimeTypes: [YM] }), + (Mia = { [rtr]: otr })); + i7e = As.forwardRef((e, t) => { + let { + client: n, + toolName: r, + sandbox: o, + toolResourceUri: a, + html: i, + toolInput: s, + toolResult: l, + toolInputPartial: c, + toolCancelled: u, + hostContext: d, + hostInfo: p, + hostCapabilities: f, + onMessage: m, + onOpenLink: g, + onLoggingMessage: v, + onSizeChanged: y, + onError: x, + onCallTool: A, + onListResources: w, + onListResourceTemplates: C, + onReadResource: E, + onListPrompts: T, + onFallbackRequest: I, + } = e, + [k, L] = As.useState(null), + [O, B] = As.useState(i ?? null), + [U, D] = As.useState(null), + N = As.useRef(m), + _ = As.useRef(g), + G = As.useRef(v), + Z = As.useRef(y), + q = As.useRef(x), + H = As.useRef(A), + te = As.useRef(w), + ie = As.useRef(C), + j = As.useRef(E), + oe = As.useRef(T), + J = As.useRef(I); + (As.useEffect(() => { + ((N.current = m), + (_.current = g), + (G.current = v), + (Z.current = y), + (q.current = x), + (H.current = A), + (te.current = w), + (ie.current = C), + (j.current = E), + (oe.current = T), + (J.current = I)); + }), + As.useImperativeHandle( + t, + () => ({ + sendToolListChanged: () => k?.sendToolListChanged(), + sendResourceListChanged: () => k?.sendResourceListChanged(), + sendPromptListChanged: () => k?.sendPromptListChanged(), + teardownResource: () => k?.teardownResource({}), + }), + [k], + ), + As.useEffect(() => { + let ae = !0, + ne = null; + return ( + (() => { + try { + let fe = n?.getServerCapabilities(), + Ae = p ?? { name: "MCP-UI Host", version: "1.0.0" }, + Ee = f ?? { + openLinks: {}, + serverTools: fe?.tools, + serverResources: fe?.resources, + }, + pe = new Hie(n ?? null, Ae, Ee); + if ( + ((ne = pe), + (pe.onmessage = async (Re, Le) => { + if (N.current) return N.current(Re, Le); + else throw new MI(tC.MethodNotFound, "Method not found"); + }), + (pe.onopenlink = async (Re, Le) => { + if (_.current) return _.current(Re, Le); + else throw new MI(tC.MethodNotFound, "Method not found"); + }), + (pe.onloggingmessage = (Re) => { + if (G.current) G.current(Re); + }), + H.current) + ) + pe.oncalltool = (Re, Le) => H.current(Re, Le); + if (te.current) + pe.onlistresources = (Re, Le) => te.current(Re, Le); + if (ie.current) + pe.onlistresourcetemplates = (Re, Le) => ie.current(Re, Le); + if (j.current) pe.onreadresource = (Re, Le) => j.current(Re, Le); + if (oe.current) pe.onlistprompts = (Re, Le) => oe.current(Re, Le); + if ( + ((pe.fallbackRequestHandler = async (Re, Le) => { + if (J.current) return J.current(Re, Le); + throw new MI( + tC.MethodNotFound, + `No handler for method: ${Re.method}`, + ); + }), + !ae) + ) + return; + L(pe); + } catch (fe) { + if ( + (console.error("[AppRenderer] Error creating bridge:", fe), !ae) + ) + return; + let Ae = fe instanceof Error ? fe : Error(String(fe)); + (D(Ae), q.current?.(Ae)); + } + })(), + () => { + if (((ae = !1), ne)) + ne.close().catch((fe) => { + console.error("[AppRenderer] Error closing bridge:", fe); + }); + } + ); + }, [n, p, f]), + As.useEffect(() => { + if (i) { + B(i); + return; + } + let ae = !!n, + ne = !!a && !!j.current; + if (!ae && !ne) { + D( + Error( + "Either 'html' prop, 'client', or ('toolResourceUri' + 'onReadResource') must be provided to fetch UI resource", + ), + ); + return; + } + let Se = !0; + return ( + (async () => { + try { + let Ae; + if (a) + ((Ae = a), + console.log( + `[AppRenderer] Using provided resource URI: ${Ae}`, + )); + else if (n) { + console.log( + `[AppRenderer] Fetching resource URI for tool: ${r}`, + ); + let pe = await str(n, r); + if (!pe) + throw Error( + `Tool ${r} has no UI resource (no ui/resourceUri in tool._meta)`, + ); + ((Ae = pe.uri), + console.log(`[AppRenderer] Got resource URI: ${Ae}`)); + } else + throw Error( + "Cannot determine resource URI without client or toolResourceUri", + ); + if (!Se) return; + console.log(`[AppRenderer] Reading resource HTML from: ${Ae}`); + let Ee; + if (n) Ee = await ltr(n, { uri: Ae }); + else if (j.current) { + let pe = await j.current({ uri: Ae }, {}); + if (!pe.contents || pe.contents.length !== 1) + throw Error( + "Unsupported UI resource content length: " + + pe.contents?.length, + ); + let Re = pe.contents[0], + Le = (Ne) => Ne === YM; + if ( + "text" in Re && + typeof Re.text === "string" && + Le(Re.mimeType) + ) + Ee = Re.text; + else if ( + "blob" in Re && + typeof Re.blob === "string" && + Le(Re.mimeType) + ) + Ee = atob(Re.blob); + else + throw Error( + "Unsupported UI resource content format: " + + JSON.stringify(Re), + ); + } else throw Error("No way to read resource HTML"); + if (!Se) return; + B(Ee); + } catch (Ae) { + if (!Se) return; + let Ee = Ae instanceof Error ? Ae : Error(String(Ae)); + (D(Ee), q.current?.(Ee)); + } + })(), + () => { + Se = !1; + } + ); + }, [n, r, a, i]), + As.useEffect(() => { + if (k && d) k.setHostContext(d); + }, [k, d]), + As.useEffect(() => { + if (k && c) k.sendToolInputPartial(c); + }, [k, c]), + As.useEffect(() => { + if (k && u) k.sendToolCancelled({}); + }, [k, u])); + let Y = Z.current; + if (U) + return DI( + "div", + { + style: { color: "red", padding: "1rem" }, + children: ["Error: ", U.message], + }, + void 0, + !0, + void 0, + null, + ); + if (!k || !O) return null; + return DI( + utr, + { + html: O, + sandbox: o, + appBridge: k, + toolInput: s, + toolResult: l, + onSizeChanged: Y, + onError: x, + }, + void 0, + !1, + void 0, + null, + ); + }); + i7e.displayName = "AppRenderer"; +}); +var nC, + HNt = ({ + toolName: e, + title: t, + html: n, + toolResourceUri: r, + toolInput: o, + toolResult: a, + sandboxUrl: i, + isExpandedDefault: s = !1, + className: l, + onAction: c, + }) => { + let [u, d] = nC.useState(s), + [p, f] = nC.useState(null), + m = nC.useRef(null), + g = nC.useMemo( + () => ({ + theme: + typeof window < "u" && + window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light", + locale: typeof navigator < "u" ? navigator.language : "en-US", + displayMode: u ? "fullscreen" : "inline", + }), + [u], + ), + v = nC.useMemo( + () => ({ + url: i ? new URL(i) : new URL("https://mcpui.dev/sandbox_proxy.html"), + permissions: "allow-scripts allow-forms allow-same-origin", + }), + [i], + ); + return M("div", { + ref: m, + className: Ve( + "flex flex-col rounded-3xl border transition-all duration-300 overflow-hidden", + "bg-[var(--md-sys-color-surface-container-low,#f7f2fa)]", + "border-[var(--md-sys-color-outline-variant,#cac4d0)]", + "text-[var(--md-sys-color-on-surface,#1d1b20)]", + u ? "fixed inset-4 z-50 shadow-2xl" : "relative w-full shadow-sm", + l, + ), + children: [ + M("div", { + className: + "flex items-center justify-between px-4 py-3 border-b border-[var(--md-sys-color-outline-variant,#cac4d0)]/40 bg-[var(--md-sys-color-surface-container,#f3edf7)]/60", + children: [ + M("div", { + className: "flex items-center gap-2.5", + children: [ + h("div", { + className: + "flex h-7 w-7 items-center justify-center rounded-xl bg-[var(--md-sys-color-primary-container,#eaddff)] text-[var(--md-sys-color-on-primary-container,#21005d)]", + children: h("span", { + className: "material-symbols-outlined text-base", + children: "widgets", + }), + }), + M("div", { + className: "flex flex-col", + children: [ + M("div", { + className: "flex items-center gap-2", + children: [ + h("span", { + className: "text-xs font-semibold tracking-tight", + children: t || e, + }), + h("span", { + className: + "rounded-full bg-[var(--md-sys-color-surface-container-high,#ece6f0)] px-2 py-0.2 text-[10px] font-mono text-[var(--md-sys-color-on-surface-variant,#49454f)]", + children: "mcp-ui", + }), + ], + }), + r && + h("span", { + className: + "text-[10px] font-mono text-[var(--md-sys-color-outline,#79747e)]", + children: r, + }), + ], + }), + ], + }), + M("div", { + className: "flex items-center gap-1", + children: [ + M("div", { + className: + "flex items-center gap-1 rounded-full bg-emerald-500/10 px-2 py-0.5 text-[10px] font-medium text-emerald-700 dark:text-emerald-400", + children: [ + h("span", { + className: "material-symbols-outlined text-xs", + children: "verified_user", + }), + h("span", { children: "Sandboxed" }), + ], + }), + h("button", { + type: "button", + onClick: () => d(!u), + title: u ? "Collapse" : "Expand Fullscreen", + className: + "flex h-7 w-7 items-center justify-center rounded-lg text-[var(--md-sys-color-on-surface-variant,#49454f)] hover:bg-[var(--md-sys-color-surface-container-high,#ece6f0)] transition-colors", + children: h("span", { + className: "material-symbols-outlined text-base", + children: u ? "close_fullscreen" : "open_in_full", + }), + }), + ], + }), + ], + }), + h("div", { + className: Ve( + "relative w-full overflow-hidden transition-all", + u ? "flex-1 min-h-[500px]" : "h-96", + ), + children: p + ? M("div", { + className: + "flex h-full flex-col items-center justify-center p-6 text-center text-xs text-[var(--md-sys-color-error,#b3261e)]", + children: [ + h("span", { + className: "material-symbols-outlined text-3xl mb-1", + children: "error", + }), + h("span", { + className: "font-semibold", + children: "MCP App Render Error", + }), + h("p", { + className: "mt-1 font-mono text-[11px] opacity-80", + children: p, + }), + ], + }) + : n + ? h(i7e, { + toolName: e, + html: n, + sandbox: v, + toolInput: o, + toolResult: a, + hostContext: g, + onError: (y) => f(y.message), + }) + : M("div", { + className: + "flex h-full flex-col items-center justify-center p-6 text-xs text-[var(--md-sys-color-outline,#79747e)]", + children: [ + h("span", { + className: + "material-symbols-outlined text-2xl animate-spin mb-1 text-[var(--md-sys-color-primary,#6750a4)]", + children: "progress_activity", + }), + M("span", { + children: ["Awaiting MCP UI Resource (", e, ")..."], + }), + ], + }), + }), + o && + M("div", { + className: + "flex items-center justify-between px-4 py-2 border-t border-[var(--md-sys-color-outline-variant,#cac4d0)]/30 bg-[var(--md-sys-color-surface-container-lowest,#ffffff)] text-[10px] text-[var(--md-sys-color-outline,#79747e)] font-mono", + children: [ + M("span", { + className: "truncate", + children: ["input: ", JSON.stringify(o)], + }), + h("span", { + className: "shrink-0 ml-2", + children: "M3 UI Bridge", + }), + ], + }), + ], + }); + }; +var VNt = P(() => { + rn(); + _Nt(); + le(); + nC = z(re(), 1); +}); +function $M(e, t) { + for (let n of t) { + let r = e.args?.[n]; + if (r !== void 0 && r !== null) return r; + } + return; +} +function GNt(e) { + return { + summary: Qie(e), + argsView(t) { + let n = $M(t, e); + if (!n) return null; + let r = t.args?.offset, + o = t.args?.limit; + return h("div", { + className: "rounded-small bg-surface-container-highest px-3 py-2", + children: M("p", { + className: "font-code text-body-small text-on-surface-variant", + children: [ + String(n), + r ? ` (from line ${r})` : "", + o ? ` (${o} lines)` : "", + ], + }), + }); + }, + resultView(t) { + if (!t.resultRaw) return null; + return h(gx, { text: t.resultRaw, maxLines: 30 }); + }, + }; +} +function qNt(e) { + return { + summary: Qie(e), + argsView(t) { + let n = $M(t, e), + r = t.args?.content; + if (!n && !r) return null; + return M("div", { + className: "rounded-small bg-surface-container-highest px-3 py-2", + children: [ + !!n && + h("p", { + className: + "mb-1 font-code text-body-small text-on-surface-variant", + children: String(n), + }), + !!r && + h("pre", { + className: + "max-h-40 overflow-auto font-code text-body-small text-outline", + children: fh(String(r), 2000), + }), + ], + }); + }, + resultView: QNt, + }; +} +function ZNt(e, t, n) { + let r = { error: "text-error", success: "text-success" }, + o = (a, i, s) => + s + ? M("div", { + className: "mt-1", + children: [ + h("p", { + className: `text-body-small font-medium ${r[i]}`, + children: a, + }), + h("pre", { + className: `max-h-20 overflow-auto font-code text-body-small ${r[i]}`, + children: fh(String(s), 500), + }), + ], + }) + : null; + return { + summary: Qie(e), + argsView(a) { + let i = $M(a, e); + if (!i) return null; + return M("div", { + className: "rounded-small bg-surface-container-highest px-3 py-2", + children: [ + h("p", { + className: "mb-1 font-code text-body-small text-on-surface-variant", + children: String(i), + }), + o("Old", "error", $M(a, t)), + o("New", "success", $M(a, n)), + ], + }); + }, + resultView: QNt, + }; +} +function ftr(e) { + return dtr[e] ?? ptr; +} +function mtr({ text: e }) { + return h("p", { + className: "px-3 py-2 text-body-small text-on-surface-variant", + children: e, + }); +} +function gx({ text: e, maxLines: t = 20 }) { + let [n, r] = lG.useState(!1), + o = e.split(` +`), + a = o.length > t, + i = + a && !n + ? o.slice(0, t).join(` +`) + + ` +...` + : e; + return M("div", { + children: [ + h("pre", { + className: + "max-h-80 overflow-auto whitespace-pre-wrap px-3 py-2 font-code text-body-small text-on-surface-variant", + children: i, + }), + a && + M("button", { + type: "button", + onClick: () => r(!n), + className: Ve( + "flex h-8 w-full items-center justify-center gap-1 border-t border-outline-variant px-3 text-label-medium text-primary", + "transition-colors duration-200 ease-standard hover:bg-primary/8 active:bg-primary/10", + zg, + ), + children: [ + h(at, { + name: "expand_more", + size: 18, + className: Ve( + "transition-transform duration-200 ease-standard", + n && "rotate-180", + ), + }), + n ? "Show less" : `Show all ${o.length} lines`, + ], + }), + ], + }); +} +function vtr(e) { + if (e.startsWith("file_") || e === "read" || e === "write" || e === "edit") + return "description"; + if (e === "glob" || e === "grep" || e === "web_search") return "search"; + if (e === "webfetch") return "language"; + if (e === "set_status") return "schedule"; + return "build"; +} +function btr(e) { + let t = { + webfetch: "Web Fetch", + todowrite: "Todo", + read_skill: "Read Skill", + web_search: "Web Search", + spacebot_docs: "Docs", + }; + if (t[e]) return t[e]; + return e + .replace(/^file_/, "") + .split("_") + .map((r) => r.charAt(0).toUpperCase() + r.slice(1)) + .join(" "); +} +function xtr(e) { + if (e.startsWith("file_")) return "File"; + return null; +} +function cG({ pair: e, defaultExpanded: t = !1, className: n }) { + let [r, o] = lG.useState(t), + a = lG.useId(), + i = ftr(e.name), + s = i.summary(e), + l = xtr(e.name), + c = btr(e.name), + u = e.status === "error", + d = r ? Atr(e, i) : null, + p = r ? wtr(e, i) : null; + return M("div", { + "data-status": e.status, + className: Ve( + "m3-tool-call min-w-0 overflow-hidden rounded-medium border bg-surface-container-low text-on-surface", + u ? "border-error" : "border-outline-variant", + n, + ), + children: [ + M("button", { + type: "button", + onClick: () => o(!r), + "aria-expanded": r, + "aria-controls": a, + className: Ve( + "flex min-h-10 w-full items-center gap-2 rounded-medium px-3 py-2 text-left", + "transition-colors duration-200 ease-standard hover:bg-on-surface/8 active:bg-on-surface/10", + zg, + ), + children: [ + h("span", { + className: Ve( + "flex size-5 shrink-0 items-center justify-center", + gtr[e.status], + ), + children: + e.status === "running" + ? h(CTe, { size: 16, label: "Running" }) + : h(at, { + name: htr[e.status], + size: 18, + filled: !0, + label: ytr[e.status], + }), + }), + h(at, { + name: vtr(e.name), + size: 18, + className: "shrink-0 text-on-surface-variant", + }), + l && + h("span", { + className: "text-label-medium text-outline", + children: l, + }), + h("span", { + className: "shrink-0 text-label-large text-on-surface", + children: c, + }), + s && !r + ? h("span", { + className: + "min-w-0 flex-1 truncate text-body-small text-on-surface-variant", + children: s, + }) + : h("span", { className: "flex-1" }), + u && + h(QFt, { + tone: "error", + className: "h-5 px-1.5 text-label-small", + children: "error", + }), + h(at, { + name: "expand_more", + size: 20, + className: Ve( + "shrink-0 text-on-surface-variant transition-transform duration-300 ease-emphasized", + r && "rotate-180", + ), + }), + ], + }), + h(Do, { + initial: !1, + children: r + ? h( + Zn.div, + { + id: a, + ...ZFt, + className: "overflow-hidden", + children: M("div", { + className: + "flex flex-col gap-2 border-t border-outline-variant px-3 py-3", + children: [ + d, + p != null && p !== !1 + ? h("div", { + className: Ve( + "m3-tool-result overflow-hidden rounded-small", + u + ? "bg-error-container text-on-error-container [&_.text-on-surface-variant]:text-on-error-container [&_.text-outline]:text-on-error-container/80" + : "bg-surface-container-highest text-on-surface-variant", + ), + children: p, + }) + : null, + ], + }), + }, + "body", + ) + : null, + }), + ], + }); +} +function Atr(e, t) { + if (t.argsView) { + let n = t.argsView(e); + if (n) return n; + } + if (e.args && Object.keys(e.args).length > 0) + return h("div", { + className: "rounded-small bg-surface-container-highest px-3 py-2", + children: h("div", { + className: "flex flex-col gap-0.5", + children: Object.entries(e.args).map(([n, r]) => + M( + "p", + { + className: "font-code text-body-small", + children: [ + M("span", { className: "text-outline", children: [n, ": "] }), + h("span", { + className: "text-on-surface-variant", + children: Str(n, r), + }), + ], + }, + n, + ), + ), + }), + }); + if (e.argsRaw && e.argsRaw !== "{}" && e.argsRaw.trim().length > 0) + return h("div", { + className: "rounded-small bg-surface-container-highest px-3 py-2", + children: h("pre", { + className: + "max-h-40 overflow-auto font-code text-body-small text-on-surface-variant", + children: e.argsRaw, + }), + }); + return null; +} +function wtr(e, t) { + if (e.status === "running") + return M("div", { + className: + "flex items-center gap-2 px-3 py-2 text-body-small text-on-surface-variant", + children: [h(CTe, { size: 14, label: "Running" }), "Running..."], + }); + if (t.resultView) { + let o = t.resultView(e); + if (o !== void 0) return o; + } + if (!e.resultRaw) return null; + let n = e.result?._meta?.ui?.resourceUri || e.result?.ui?.resourceUri, + r = e.result?.html || e.result?.uiHtml; + if (n || r) + return h("div", { + className: "p-1", + children: h(HNt, { + toolName: e.name, + title: e.title || e.name, + html: typeof r === "string" ? r : void 0, + toolResourceUri: typeof n === "string" ? n : void 0, + toolInput: e.args || void 0, + toolResult: e.result || void 0, + }), + }); + if (e.result && Object.keys(e.result).length > 0) + return h("div", { + className: "px-3 py-2", + children: h("div", { + className: "flex flex-col gap-0.5", + children: Object.entries(e.result).map(([o, a]) => + M( + "p", + { + className: "font-code text-body-small", + children: [ + M("span", { className: "text-outline", children: [o, ": "] }), + h("span", { + className: "text-on-surface-variant", + children: + typeof a === "string" ? fh(a, 200) : JSON.stringify(a), + }), + ], + }, + o, + ), + ), + }), + }); + return h(gx, { text: e.resultRaw, maxLines: 20 }); +} +function Str(e, t) { + if (e === "secret" && typeof t === "string") return "***"; + if (typeof t === "string") return fh(t, 100); + if (typeof t === "boolean" || typeof t === "number") return String(t); + return JSON.stringify(t); +} +function fh(e, t) { + if (e.length <= t) return e; + return e.slice(0, t) + "..."; +} +var lG, + Qie = (e) => (t) => { + if (t.title) return t.title; + let n = $M(t, e); + return n ? fh(String(n), 60) : null; + }, + QNt = (e) => (e.resultRaw ? h(mtr, { text: fh(e.resultRaw, 100) }) : null), + dtr, + ptr, + htr, + gtr, + ytr; +var XNt = P(() => { + rn(); + ri(); + gn(); + cH(); + VNt(); + le(); + lG = z(re(), 1); + ((dtr = { + file_read: GNt(["path"]), + file_write: qNt(["path"]), + file_edit: ZNt(["path"], ["old_string"], ["new_string"]), + file_list: { + summary: Qie(["path"]), + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 30 }); + }, + }, + set_status: { + summary(e) { + let t = e.args?.kind, + n = e.args?.message; + if (t === "outcome") + return n ? `Outcome: ${fh(String(n), 50)}` : "Outcome set"; + return n ? fh(String(n), 60) : null; + }, + resultView() { + return null; + }, + }, + read: GNt(["filePath", "file_path"]), + write: qNt(["filePath", "file_path"]), + edit: ZNt( + ["filePath", "file_path"], + ["oldString", "old_string"], + ["newString", "new_string"], + ), + glob: { + summary(e) { + if (e.title) return e.title; + let t = e.args?.pattern; + return t ? fh(String(t), 60) : null; + }, + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 20 }); + }, + }, + grep: { + summary(e) { + if (e.title) return e.title; + let t = e.args?.pattern, + n = e.args?.include; + if (t && n) return `/${t}/ in ${n}`; + return t ? `/${fh(String(t), 40)}/` : null; + }, + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 20 }); + }, + }, + webfetch: { + summary(e) { + if (e.title) return e.title; + let t = e.args?.url; + return t ? fh(String(t), 60) : null; + }, + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 20 }); + }, + }, + read_skill: { + summary(e) { + if (e.title) return e.title; + let t = e.args?.name; + return t ? String(t) : null; + }, + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 30 }); + }, + }, + web_search: { + summary(e) { + if (e.title) return e.title; + let t = e.args?.query, + n = + e.result?.result_count ?? + (Array.isArray(e.result?.results) ? e.result.results.length : null), + r = t ? fh(String(t), 50) : null; + if (r && n != null) return `${r} (${n} result${n !== 1 ? "s" : ""})`; + return r; + }, + argsView(e) { + let t = e.args?.query; + if (!t) return null; + let n = e.args?.count, + r = e.args?.freshness; + return M("div", { + className: "rounded-small bg-surface-container-highest px-3 py-2", + children: [ + M("p", { + className: "text-body-small text-on-surface-variant", + children: [ + h("span", { + className: "select-none text-outline", + children: "Search: ", + }), + String(t), + ], + }), + !!(n || r) && + M("p", { + className: "mt-0.5 text-body-small text-outline", + children: [ + n ? `${n} results` : "", + n && r ? " · " : "", + r ? `${r}` : "", + ], + }), + ], + }); + }, + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 20 }); + }, + }, + spacebot_docs: { + summary(e) { + if (e.title) return e.title; + let t = e.args?.action, + n = e.args?.doc_id; + if (t === "read" && n) return fh(String(n), 50); + return t ? String(t) : "list"; + }, + argsView(e) { + let t = e.args?.action, + n = e.args?.doc_id, + r = e.args?.query; + if (!t && !n) return null; + return M("div", { + className: "rounded-small bg-surface-container-highest px-3 py-2", + children: [ + !!n && + h("p", { + className: "font-code text-body-small text-on-surface-variant", + children: String(n), + }), + !!r && + M("p", { + className: "mt-0.5 text-body-small text-outline", + children: ["filter: ", String(r)], + }), + ], + }); + }, + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 30 }); + }, + }, + todowrite: { + summary(e) { + if (e.title) return e.title; + return "Update tasks"; + }, + resultView() { + return null; + }, + }, + task: { + summary(e) { + if (e.title) return e.title; + let t = e.args?.description; + return t ? fh(String(t), 60) : null; + }, + resultView(e) { + if (!e.resultRaw) return null; + return h(gx, { text: e.resultRaw, maxLines: 20 }); + }, + }, + }), + (ptr = { + summary(e) { + if (!e.argsRaw || e.argsRaw === "{}") return null; + return fh(e.argsRaw, 60); + }, + })); + ((htr = { running: "pending", completed: "check_circle", error: "error" }), + (gtr = { + running: "text-primary", + completed: "text-success", + error: "text-error", + }), + (ytr = { running: "Running", completed: "Completed", error: "Error" })); +}); +function Za() {} +function Xie() {} +function s7e(e) { + let t = [], + n = String(e || ""), + r = n.indexOf(","), + o = 0, + a = !1; + while (!a) { + if (r === -1) ((r = n.length), (a = !0)); + let i = n.slice(o, r).trim(); + if (i || !a) t.push(i); + ((o = r + 1), (r = n.indexOf(",", o))); + } + return t; +} +function Wie(e, t) { + let n = t || {}; + return (e[e.length - 1] === "" ? [...e, ""] : e) + .join((n.padRight ? " " : "") + "," + (n.padLeft === !1 ? "" : " ")) + .trim(); +} +function Yie(e, t) { + return ((t || Itr).jsx ? Etr : Ctr).test(e); +} +var Ctr, Etr, Itr; +var WNt = P(() => { + ((Ctr = /^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u), + (Etr = /^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u), + (Itr = {})); +}); +var YNt = P(() => { + WNt(); +}); +function l7e(e) { + return typeof e === "object" + ? e.type === "text" + ? KNt(e.value) + : !1 + : KNt(e); +} +function KNt(e) { + return e.replace(Ttr, "") === ""; +} +var Ttr; +var JNt = P(() => { + Ttr = /[ \t\n\f\r]/g; +}); +var jNt = P(() => { + JNt(); +}); +class rC { + constructor(e, t, n) { + if (((this.normal = t), (this.property = e), n)) this.space = n; + } +} +var c7e = P(() => { + rC.prototype.normal = {}; + rC.prototype.property = {}; + rC.prototype.space = void 0; +}); +function u7e(e, t) { + let n = {}, + r = {}; + for (let o of e) (Object.assign(n, o.property), Object.assign(r, o.normal)); + return new rC(n, r, t); +} +var $Nt = P(() => { + c7e(); +}); +function U3(e) { + return e.toLowerCase(); +} +class Uf { + constructor(e, t) { + ((this.attribute = t), (this.property = e)); + } +} +var d7e = P(() => { + Uf.prototype.attribute = ""; + Uf.prototype.booleanish = !1; + Uf.prototype.boolean = !1; + Uf.prototype.commaOrSpaceSeparated = !1; + Uf.prototype.commaSeparated = !1; + Uf.prototype.defined = !1; + Uf.prototype.mustUseProperty = !1; + Uf.prototype.number = !1; + Uf.prototype.overloadedBoolean = !1; + Uf.prototype.property = ""; + Uf.prototype.spaceSeparated = !1; + Uf.prototype.space = void 0; +}); +var uG = {}; +Xs(uG, { + boolean: () => po, + booleanish: () => uc, + commaOrSpaceSeparated: () => b0, + commaSeparated: () => N3, + number: () => ln, + overloadedBoolean: () => Kie, + spaceSeparated: () => Oi, +}); +function LI() { + return 2 ** ++ktr; +} +var ktr = 0, + po, + uc, + Kie, + ln, + Oi, + N3, + b0; +var dG = P(() => { + ((po = LI()), + (uc = LI()), + (Kie = LI()), + (ln = LI()), + (Oi = LI()), + (N3 = LI()), + (b0 = LI())); +}); +function ezt(e, t, n) { + if (n) e[t] = n; +} +var p7e, eD; +var f7e = P(() => { + d7e(); + dG(); + p7e = Object.keys(uG); + eD = class eD extends Uf { + constructor(e, t, n, r) { + let o = -1; + super(e, t); + if ((ezt(this, "space", r), typeof n === "number")) + while (++o < p7e.length) { + let a = p7e[o]; + ezt(this, p7e[o], (n & uG[a]) === uG[a]); + } + } + }; + eD.prototype.defined = !0; +}); +function vy(e) { + let t = {}, + n = {}; + for (let [r, o] of Object.entries(e.properties)) { + let a = new eD(r, e.transform(e.attributes || {}, r), o, e.space); + if (e.mustUseProperty && e.mustUseProperty.includes(r)) + a.mustUseProperty = !0; + ((t[r] = a), (n[U3(r)] = r), (n[U3(a.attribute)] = r)); + } + return new rC(t, n, e.space); +} +var BI = P(() => { + f7e(); + c7e(); +}); +var m7e; +var tzt = P(() => { + BI(); + dG(); + m7e = vy({ + properties: { + ariaActiveDescendant: null, + ariaAtomic: uc, + ariaAutoComplete: null, + ariaBusy: uc, + ariaChecked: uc, + ariaColCount: ln, + ariaColIndex: ln, + ariaColSpan: ln, + ariaControls: Oi, + ariaCurrent: null, + ariaDescribedBy: Oi, + ariaDetails: null, + ariaDisabled: uc, + ariaDropEffect: Oi, + ariaErrorMessage: null, + ariaExpanded: uc, + ariaFlowTo: Oi, + ariaGrabbed: uc, + ariaHasPopup: null, + ariaHidden: uc, + ariaInvalid: null, + ariaKeyShortcuts: null, + ariaLabel: null, + ariaLabelledBy: Oi, + ariaLevel: ln, + ariaLive: null, + ariaModal: uc, + ariaMultiLine: uc, + ariaMultiSelectable: uc, + ariaOrientation: null, + ariaOwns: Oi, + ariaPlaceholder: null, + ariaPosInSet: ln, + ariaPressed: uc, + ariaReadOnly: uc, + ariaRelevant: null, + ariaRequired: uc, + ariaRoleDescription: Oi, + ariaRowCount: ln, + ariaRowIndex: ln, + ariaRowSpan: ln, + ariaSelected: uc, + ariaSetSize: ln, + ariaSort: null, + ariaValueMax: ln, + ariaValueMin: ln, + ariaValueNow: ln, + ariaValueText: null, + role: null, + }, + transform(e, t) { + return t === "role" ? t : "aria-" + t.slice(4).toLowerCase(); + }, + }); +}); +function Jie(e, t) { + return t in e ? e[t] : t; +} +function jie(e, t) { + return Jie(e, t.toLowerCase()); +} +var h7e = () => {}; +var nzt; +var rzt = P(() => { + h7e(); + BI(); + dG(); + nzt = vy({ + attributes: { + acceptcharset: "accept-charset", + classname: "class", + htmlfor: "for", + httpequiv: "http-equiv", + }, + mustUseProperty: ["checked", "multiple", "muted", "selected"], + properties: { + abbr: null, + accept: N3, + acceptCharset: Oi, + accessKey: Oi, + action: null, + allow: null, + allowFullScreen: po, + allowPaymentRequest: po, + allowUserMedia: po, + alpha: po, + alt: null, + as: null, + async: po, + autoCapitalize: null, + autoComplete: Oi, + autoFocus: po, + autoPlay: po, + blocking: Oi, + capture: null, + charSet: null, + checked: po, + cite: null, + className: Oi, + closedBy: null, + colorSpace: null, + cols: ln, + colSpan: ln, + command: null, + commandFor: null, + content: null, + contentEditable: uc, + controls: po, + controlsList: Oi, + coords: ln | N3, + crossOrigin: null, + data: null, + dateTime: null, + decoding: null, + default: po, + defer: po, + dir: null, + dirName: null, + disabled: po, + download: Kie, + draggable: uc, + encType: null, + enterKeyHint: null, + fetchPriority: null, + form: null, + formAction: null, + formEncType: null, + formMethod: null, + formNoValidate: po, + formTarget: null, + headers: Oi, + height: ln, + hidden: Kie, + high: ln, + href: null, + hrefLang: null, + htmlFor: Oi, + httpEquiv: Oi, + id: null, + imageSizes: null, + imageSrcSet: null, + inert: po, + inputMode: null, + integrity: null, + is: null, + isMap: po, + itemId: null, + itemProp: Oi, + itemRef: Oi, + itemScope: po, + itemType: Oi, + kind: null, + label: null, + lang: null, + language: null, + list: null, + loading: null, + loop: po, + low: ln, + manifest: null, + max: null, + maxLength: ln, + media: null, + method: null, + min: null, + minLength: ln, + multiple: po, + muted: po, + name: null, + nonce: null, + noModule: po, + noValidate: po, + onAbort: null, + onAfterPrint: null, + onAuxClick: null, + onBeforeMatch: null, + onBeforePrint: null, + onBeforeToggle: null, + onBeforeUnload: null, + onBlur: null, + onCancel: null, + onCanPlay: null, + onCanPlayThrough: null, + onChange: null, + onClick: null, + onClose: null, + onContextLost: null, + onContextMenu: null, + onContextRestored: null, + onCopy: null, + onCueChange: null, + onCut: null, + onDblClick: null, + onDrag: null, + onDragEnd: null, + onDragEnter: null, + onDragExit: null, + onDragLeave: null, + onDragOver: null, + onDragStart: null, + onDrop: null, + onDurationChange: null, + onEmptied: null, + onEnded: null, + onError: null, + onFocus: null, + onFormData: null, + onHashChange: null, + onInput: null, + onInvalid: null, + onKeyDown: null, + onKeyPress: null, + onKeyUp: null, + onLanguageChange: null, + onLoad: null, + onLoadedData: null, + onLoadedMetadata: null, + onLoadEnd: null, + onLoadStart: null, + onMessage: null, + onMessageError: null, + onMouseDown: null, + onMouseEnter: null, + onMouseLeave: null, + onMouseMove: null, + onMouseOut: null, + onMouseOver: null, + onMouseUp: null, + onOffline: null, + onOnline: null, + onPageHide: null, + onPageShow: null, + onPaste: null, + onPause: null, + onPlay: null, + onPlaying: null, + onPopState: null, + onProgress: null, + onRateChange: null, + onRejectionHandled: null, + onReset: null, + onResize: null, + onScroll: null, + onScrollEnd: null, + onSecurityPolicyViolation: null, + onSeeked: null, + onSeeking: null, + onSelect: null, + onSlotChange: null, + onStalled: null, + onStorage: null, + onSubmit: null, + onSuspend: null, + onTimeUpdate: null, + onToggle: null, + onUnhandledRejection: null, + onUnload: null, + onVolumeChange: null, + onWaiting: null, + onWheel: null, + open: po, + optimum: ln, + pattern: null, + ping: Oi, + placeholder: null, + playsInline: po, + popover: null, + popoverTarget: null, + popoverTargetAction: null, + poster: null, + preload: null, + readOnly: po, + referrerPolicy: null, + rel: Oi, + required: po, + reversed: po, + rows: ln, + rowSpan: ln, + sandbox: Oi, + scope: null, + scoped: po, + seamless: po, + selected: po, + shadowRootClonable: po, + shadowRootCustomElementRegistry: po, + shadowRootDelegatesFocus: po, + shadowRootMode: null, + shadowRootSerializable: po, + shape: null, + size: ln, + sizes: null, + slot: null, + span: ln, + spellCheck: uc, + src: null, + srcDoc: null, + srcLang: null, + srcSet: null, + start: ln, + step: null, + style: null, + tabIndex: ln, + target: null, + title: null, + translate: null, + type: null, + typeMustMatch: po, + useMap: null, + value: uc, + width: ln, + wrap: null, + writingSuggestions: null, + align: null, + aLink: null, + archive: Oi, + axis: null, + background: null, + bgColor: null, + border: ln, + borderColor: null, + bottomMargin: ln, + cellPadding: null, + cellSpacing: null, + char: null, + charOff: null, + classId: null, + clear: null, + code: null, + codeBase: null, + codeType: null, + color: null, + compact: po, + declare: po, + event: null, + face: null, + frame: null, + frameBorder: null, + hSpace: ln, + leftMargin: ln, + link: null, + longDesc: null, + lowSrc: null, + marginHeight: ln, + marginWidth: ln, + noResize: po, + noHref: po, + noShade: po, + noWrap: po, + object: null, + profile: null, + prompt: null, + rev: null, + rightMargin: ln, + rules: null, + scheme: null, + scrolling: uc, + standby: null, + summary: null, + text: null, + topMargin: ln, + valueType: null, + version: null, + vAlign: null, + vLink: null, + vSpace: ln, + allowTransparency: null, + autoCorrect: null, + autoSave: null, + credentialless: po, + disablePictureInPicture: po, + disableRemotePlayback: po, + exportParts: N3, + part: Oi, + prefix: null, + property: null, + results: ln, + security: null, + unselectable: null, + }, + space: "html", + transform: jie, + }); +}); +var ozt; +var azt = P(() => { + BI(); + dG(); + ozt = vy({ + attributes: { + accentHeight: "accent-height", + alignmentBaseline: "alignment-baseline", + arabicForm: "arabic-form", + baselineShift: "baseline-shift", + capHeight: "cap-height", + className: "class", + clipPath: "clip-path", + clipRule: "clip-rule", + colorInterpolation: "color-interpolation", + colorInterpolationFilters: "color-interpolation-filters", + colorProfile: "color-profile", + colorRendering: "color-rendering", + crossOrigin: "crossorigin", + dataType: "datatype", + dominantBaseline: "dominant-baseline", + enableBackground: "enable-background", + fillOpacity: "fill-opacity", + fillRule: "fill-rule", + floodColor: "flood-color", + floodOpacity: "flood-opacity", + fontFamily: "font-family", + fontSize: "font-size", + fontSizeAdjust: "font-size-adjust", + fontStretch: "font-stretch", + fontStyle: "font-style", + fontVariant: "font-variant", + fontWeight: "font-weight", + glyphName: "glyph-name", + glyphOrientationHorizontal: "glyph-orientation-horizontal", + glyphOrientationVertical: "glyph-orientation-vertical", + hrefLang: "hreflang", + horizAdvX: "horiz-adv-x", + horizOriginX: "horiz-origin-x", + horizOriginY: "horiz-origin-y", + imageRendering: "image-rendering", + letterSpacing: "letter-spacing", + lightingColor: "lighting-color", + markerEnd: "marker-end", + markerMid: "marker-mid", + markerStart: "marker-start", + maskType: "mask-type", + navDown: "nav-down", + navDownLeft: "nav-down-left", + navDownRight: "nav-down-right", + navLeft: "nav-left", + navNext: "nav-next", + navPrev: "nav-prev", + navRight: "nav-right", + navUp: "nav-up", + navUpLeft: "nav-up-left", + navUpRight: "nav-up-right", + onAbort: "onabort", + onActivate: "onactivate", + onAfterPrint: "onafterprint", + onBeforePrint: "onbeforeprint", + onBegin: "onbegin", + onCancel: "oncancel", + onCanPlay: "oncanplay", + onCanPlayThrough: "oncanplaythrough", + onChange: "onchange", + onClick: "onclick", + onClose: "onclose", + onCopy: "oncopy", + onCueChange: "oncuechange", + onCut: "oncut", + onDblClick: "ondblclick", + onDrag: "ondrag", + onDragEnd: "ondragend", + onDragEnter: "ondragenter", + onDragExit: "ondragexit", + onDragLeave: "ondragleave", + onDragOver: "ondragover", + onDragStart: "ondragstart", + onDrop: "ondrop", + onDurationChange: "ondurationchange", + onEmptied: "onemptied", + onEnd: "onend", + onEnded: "onended", + onError: "onerror", + onFocus: "onfocus", + onFocusIn: "onfocusin", + onFocusOut: "onfocusout", + onHashChange: "onhashchange", + onInput: "oninput", + onInvalid: "oninvalid", + onKeyDown: "onkeydown", + onKeyPress: "onkeypress", + onKeyUp: "onkeyup", + onLoad: "onload", + onLoadedData: "onloadeddata", + onLoadedMetadata: "onloadedmetadata", + onLoadStart: "onloadstart", + onMessage: "onmessage", + onMouseDown: "onmousedown", + onMouseEnter: "onmouseenter", + onMouseLeave: "onmouseleave", + onMouseMove: "onmousemove", + onMouseOut: "onmouseout", + onMouseOver: "onmouseover", + onMouseUp: "onmouseup", + onMouseWheel: "onmousewheel", + onOffline: "onoffline", + onOnline: "ononline", + onPageHide: "onpagehide", + onPageShow: "onpageshow", + onPaste: "onpaste", + onPause: "onpause", + onPlay: "onplay", + onPlaying: "onplaying", + onPopState: "onpopstate", + onProgress: "onprogress", + onRateChange: "onratechange", + onRepeat: "onrepeat", + onReset: "onreset", + onResize: "onresize", + onScroll: "onscroll", + onSeeked: "onseeked", + onSeeking: "onseeking", + onSelect: "onselect", + onShow: "onshow", + onStalled: "onstalled", + onStorage: "onstorage", + onSubmit: "onsubmit", + onSuspend: "onsuspend", + onTimeUpdate: "ontimeupdate", + onToggle: "ontoggle", + onUnload: "onunload", + onVolumeChange: "onvolumechange", + onWaiting: "onwaiting", + onZoom: "onzoom", + overlinePosition: "overline-position", + overlineThickness: "overline-thickness", + paintOrder: "paint-order", + panose1: "panose-1", + pointerEvents: "pointer-events", + referrerPolicy: "referrerpolicy", + renderingIntent: "rendering-intent", + shapeRendering: "shape-rendering", + stopColor: "stop-color", + stopOpacity: "stop-opacity", + strikethroughPosition: "strikethrough-position", + strikethroughThickness: "strikethrough-thickness", + strokeDashArray: "stroke-dasharray", + strokeDashOffset: "stroke-dashoffset", + strokeLineCap: "stroke-linecap", + strokeLineJoin: "stroke-linejoin", + strokeMiterLimit: "stroke-miterlimit", + strokeOpacity: "stroke-opacity", + strokeWidth: "stroke-width", + tabIndex: "tabindex", + textAnchor: "text-anchor", + textDecoration: "text-decoration", + textRendering: "text-rendering", + transformOrigin: "transform-origin", + typeOf: "typeof", + underlinePosition: "underline-position", + underlineThickness: "underline-thickness", + unicodeBidi: "unicode-bidi", + unicodeRange: "unicode-range", + unitsPerEm: "units-per-em", + vAlphabetic: "v-alphabetic", + vHanging: "v-hanging", + vIdeographic: "v-ideographic", + vMathematical: "v-mathematical", + vectorEffect: "vector-effect", + vertAdvY: "vert-adv-y", + vertOriginX: "vert-origin-x", + vertOriginY: "vert-origin-y", + wordSpacing: "word-spacing", + writingMode: "writing-mode", + xHeight: "x-height", + playbackOrder: "playbackorder", + timelineBegin: "timelinebegin", + }, + properties: { + about: b0, + accentHeight: ln, + accumulate: null, + additive: null, + alignmentBaseline: null, + alphabetic: ln, + amplitude: ln, + arabicForm: null, + ascent: ln, + attributeName: null, + attributeType: null, + azimuth: ln, + bandwidth: null, + baselineShift: null, + baseFrequency: null, + baseProfile: null, + bbox: null, + begin: null, + bias: ln, + by: null, + calcMode: null, + capHeight: ln, + className: Oi, + clip: null, + clipPath: null, + clipPathUnits: null, + clipRule: null, + color: null, + colorInterpolation: null, + colorInterpolationFilters: null, + colorProfile: null, + colorRendering: null, + content: null, + contentScriptType: null, + contentStyleType: null, + crossOrigin: null, + cursor: null, + cx: null, + cy: null, + d: null, + dataType: null, + defaultAction: null, + descent: ln, + diffuseConstant: ln, + direction: null, + display: null, + dur: null, + divisor: ln, + dominantBaseline: null, + download: po, + dx: null, + dy: null, + edgeMode: null, + editable: null, + elevation: ln, + enableBackground: null, + end: null, + event: null, + exponent: ln, + externalResourcesRequired: null, + fill: null, + fillOpacity: ln, + fillRule: null, + filter: null, + filterRes: null, + filterUnits: null, + floodColor: null, + floodOpacity: null, + focusable: null, + focusHighlight: null, + fontFamily: null, + fontSize: null, + fontSizeAdjust: null, + fontStretch: null, + fontStyle: null, + fontVariant: null, + fontWeight: null, + format: null, + fr: null, + from: null, + fx: null, + fy: null, + g1: N3, + g2: N3, + glyphName: N3, + glyphOrientationHorizontal: null, + glyphOrientationVertical: null, + glyphRef: null, + gradientTransform: null, + gradientUnits: null, + handler: null, + hanging: ln, + hatchContentUnits: null, + hatchUnits: null, + height: null, + href: null, + hrefLang: null, + horizAdvX: ln, + horizOriginX: ln, + horizOriginY: ln, + id: null, + ideographic: ln, + imageRendering: null, + initialVisibility: null, + in: null, + in2: null, + intercept: ln, + k: ln, + k1: ln, + k2: ln, + k3: ln, + k4: ln, + kernelMatrix: b0, + kernelUnitLength: null, + keyPoints: null, + keySplines: null, + keyTimes: null, + kerning: null, + lang: null, + lengthAdjust: null, + letterSpacing: null, + lightingColor: null, + limitingConeAngle: ln, + local: null, + markerEnd: null, + markerMid: null, + markerStart: null, + markerHeight: null, + markerUnits: null, + markerWidth: null, + mask: null, + maskContentUnits: null, + maskType: null, + maskUnits: null, + mathematical: null, + max: null, + media: null, + mediaCharacterEncoding: null, + mediaContentEncodings: null, + mediaSize: ln, + mediaTime: null, + method: null, + min: null, + mode: null, + name: null, + navDown: null, + navDownLeft: null, + navDownRight: null, + navLeft: null, + navNext: null, + navPrev: null, + navRight: null, + navUp: null, + navUpLeft: null, + navUpRight: null, + numOctaves: null, + observer: null, + offset: null, + onAbort: null, + onActivate: null, + onAfterPrint: null, + onBeforePrint: null, + onBegin: null, + onCancel: null, + onCanPlay: null, + onCanPlayThrough: null, + onChange: null, + onClick: null, + onClose: null, + onCopy: null, + onCueChange: null, + onCut: null, + onDblClick: null, + onDrag: null, + onDragEnd: null, + onDragEnter: null, + onDragExit: null, + onDragLeave: null, + onDragOver: null, + onDragStart: null, + onDrop: null, + onDurationChange: null, + onEmptied: null, + onEnd: null, + onEnded: null, + onError: null, + onFocus: null, + onFocusIn: null, + onFocusOut: null, + onHashChange: null, + onInput: null, + onInvalid: null, + onKeyDown: null, + onKeyPress: null, + onKeyUp: null, + onLoad: null, + onLoadedData: null, + onLoadedMetadata: null, + onLoadStart: null, + onMessage: null, + onMouseDown: null, + onMouseEnter: null, + onMouseLeave: null, + onMouseMove: null, + onMouseOut: null, + onMouseOver: null, + onMouseUp: null, + onMouseWheel: null, + onOffline: null, + onOnline: null, + onPageHide: null, + onPageShow: null, + onPaste: null, + onPause: null, + onPlay: null, + onPlaying: null, + onPopState: null, + onProgress: null, + onRateChange: null, + onRepeat: null, + onReset: null, + onResize: null, + onScroll: null, + onSeeked: null, + onSeeking: null, + onSelect: null, + onShow: null, + onStalled: null, + onStorage: null, + onSubmit: null, + onSuspend: null, + onTimeUpdate: null, + onToggle: null, + onUnload: null, + onVolumeChange: null, + onWaiting: null, + onZoom: null, + opacity: null, + operator: null, + order: null, + orient: null, + orientation: null, + origin: null, + overflow: null, + overlay: null, + overlinePosition: ln, + overlineThickness: ln, + paintOrder: null, + panose1: null, + path: null, + pathLength: ln, + patternContentUnits: null, + patternTransform: null, + patternUnits: null, + phase: null, + ping: Oi, + pitch: null, + playbackOrder: null, + pointerEvents: null, + points: null, + pointsAtX: ln, + pointsAtY: ln, + pointsAtZ: ln, + preserveAlpha: null, + preserveAspectRatio: null, + primitiveUnits: null, + propagate: null, + property: b0, + r: null, + radius: null, + referrerPolicy: null, + refX: null, + refY: null, + rel: b0, + rev: b0, + renderingIntent: null, + repeatCount: null, + repeatDur: null, + requiredExtensions: b0, + requiredFeatures: b0, + requiredFonts: b0, + requiredFormats: b0, + resource: null, + restart: null, + result: null, + rotate: null, + rx: null, + ry: null, + scale: null, + seed: null, + shapeRendering: null, + side: null, + slope: null, + snapshotTime: null, + specularConstant: ln, + specularExponent: ln, + spreadMethod: null, + spacing: null, + startOffset: null, + stdDeviation: null, + stemh: null, + stemv: null, + stitchTiles: null, + stopColor: null, + stopOpacity: null, + strikethroughPosition: ln, + strikethroughThickness: ln, + string: null, + stroke: null, + strokeDashArray: b0, + strokeDashOffset: null, + strokeLineCap: null, + strokeLineJoin: null, + strokeMiterLimit: ln, + strokeOpacity: ln, + strokeWidth: null, + style: null, + surfaceScale: ln, + syncBehavior: null, + syncBehaviorDefault: null, + syncMaster: null, + syncTolerance: null, + syncToleranceDefault: null, + systemLanguage: b0, + tabIndex: ln, + tableValues: null, + target: null, + targetX: ln, + targetY: ln, + textAnchor: null, + textDecoration: null, + textRendering: null, + textLength: null, + timelineBegin: null, + title: null, + transformBehavior: null, + type: null, + typeOf: b0, + to: null, + transform: null, + transformOrigin: null, + u1: null, + u2: null, + underlinePosition: ln, + underlineThickness: ln, + unicode: null, + unicodeBidi: null, + unicodeRange: null, + unitsPerEm: ln, + values: null, + vAlphabetic: ln, + vMathematical: ln, + vectorEffect: null, + vHanging: ln, + vIdeographic: ln, + version: null, + vertAdvY: ln, + vertOriginX: ln, + vertOriginY: ln, + viewBox: null, + viewTarget: null, + visibility: null, + width: null, + widths: null, + wordSpacing: null, + writingMode: null, + x: null, + x1: null, + x2: null, + xChannelSelector: null, + xHeight: ln, + y: null, + y1: null, + y2: null, + yChannelSelector: null, + z: null, + zoomAndPan: null, + }, + space: "svg", + transform: Jie, + }); +}); +var g7e; +var izt = P(() => { + BI(); + g7e = vy({ + properties: { + xLinkActuate: null, + xLinkArcRole: null, + xLinkHref: null, + xLinkRole: null, + xLinkShow: null, + xLinkTitle: null, + xLinkType: null, + }, + space: "xlink", + transform(e, t) { + return "xlink:" + t.slice(5).toLowerCase(); + }, + }); +}); +var y7e; +var szt = P(() => { + BI(); + h7e(); + y7e = vy({ + attributes: { xmlnsxlink: "xmlns:xlink" }, + properties: { xmlnsXLink: null, xmlns: null }, + space: "xmlns", + transform: jie, + }); +}); +var v7e; +var lzt = P(() => { + BI(); + v7e = vy({ + properties: { xmlBase: null, xmlLang: null, xmlSpace: null }, + space: "xml", + transform(e, t) { + return "xml:" + t.slice(3).toLowerCase(); + }, + }); +}); +var b7e; +var czt = P(() => { + b7e = { + classId: "classID", + dataType: "datatype", + itemId: "itemID", + strokeDashArray: "strokeDasharray", + strokeDashOffset: "strokeDashoffset", + strokeLineCap: "strokeLinecap", + strokeLineJoin: "strokeLinejoin", + strokeMiterLimit: "strokeMiterlimit", + typeOf: "typeof", + xLinkActuate: "xlinkActuate", + xLinkArcRole: "xlinkArcrole", + xLinkHref: "xlinkHref", + xLinkRole: "xlinkRole", + xLinkShow: "xlinkShow", + xLinkTitle: "xlinkTitle", + xLinkType: "xlinkType", + xmlnsXLink: "xmlnsXlink", + }; +}); +function z3(e, t) { + let n = U3(t), + r = t, + o = Uf; + if (n in e.normal) return e.property[e.normal[n]]; + if (n.length > 4 && n.slice(0, 4) === "data" && Ptr.test(t)) { + if (t.charAt(4) === "-") { + let a = t.slice(5).replace(uzt, Dtr); + r = "data" + a.charAt(0).toUpperCase() + a.slice(1); + } else { + let a = t.slice(4); + if (!uzt.test(a)) { + let i = a.replace(Rtr, Mtr); + if (i.charAt(0) !== "-") i = "-" + i; + t = "data" + i; + } + } + o = eD; + } + return new o(r, t); +} +function Mtr(e) { + return "-" + e.toLowerCase(); +} +function Dtr(e) { + return e.charAt(1).toUpperCase(); +} +var Rtr, uzt, Ptr; +var dzt = P(() => { + f7e(); + d7e(); + ((Rtr = /[A-Z]/g), (uzt = /-[a-z]/g), (Ptr = /^data[-\w.:]+$/i)); +}); +var _3, by; +var tD = P(() => { + $Nt(); + tzt(); + rzt(); + azt(); + izt(); + szt(); + lzt(); + czt(); + dzt(); + ((_3 = u7e([m7e, nzt, g7e, y7e, v7e], "html")), + (by = u7e([m7e, ozt, g7e, y7e, v7e], "svg"))); +}); +function x7e(e) { + let t = String(e || "").trim(); + return t ? t.split(/[ \t\n\r\f]+/g) : []; +} +function $ie(e) { + return e.join(" ").trim(); +} +var yzt = me(function (rla, gzt) { + var pzt = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, + Ltr = /\n/g, + Btr = /^\s*/, + Otr = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/, + Ftr = /^:\s*/, + Utr = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/, + Ntr = /^[;\s]*/, + ztr = /^\s+|\s+$/g, + _tr = ` +`, + fzt = "/", + mzt = "*", + OI = "", + Htr = "comment", + Vtr = "declaration"; + function Gtr(e, t) { + if (typeof e !== "string") + throw TypeError("First argument must be a string"); + if (!e) return []; + t = t || {}; + var n = 1, + r = 1; + function o(m) { + var g = m.match(Ltr); + if (g) n += g.length; + var v = m.lastIndexOf(_tr); + r = ~v ? m.length - v : r + m.length; + } + function a() { + var m = { line: n, column: r }; + return function (g) { + return ((g.position = new i(m)), c(), g); + }; + } + function i(m) { + ((this.start = m), + (this.end = { line: n, column: r }), + (this.source = t.source)); + } + i.prototype.content = e; + function s(m) { + var g = Error(t.source + ":" + n + ":" + r + ": " + m); + if ( + ((g.reason = m), + (g.filename = t.source), + (g.line = n), + (g.column = r), + (g.source = e), + t.silent) + ); + else throw g; + } + function l(m) { + var g = m.exec(e); + if (!g) return; + var v = g[0]; + return (o(v), (e = e.slice(v.length)), g); + } + function c() { + l(Btr); + } + function u(m) { + var g; + m = m || []; + while ((g = d())) if (g !== !1) m.push(g); + return m; + } + function d() { + var m = a(); + if (fzt != e.charAt(0) || mzt != e.charAt(1)) return; + var g = 2; + while ( + OI != e.charAt(g) && + (mzt != e.charAt(g) || fzt != e.charAt(g + 1)) + ) + ++g; + if (((g += 2), OI === e.charAt(g - 1))) + return s("End of comment missing"); + var v = e.slice(2, g - 2); + return ( + (r += 2), + o(v), + (e = e.slice(g)), + (r += 2), + m({ type: Htr, comment: v }) + ); + } + function p() { + var m = a(), + g = l(Otr); + if (!g) return; + if ((d(), !l(Ftr))) return s("property missing ':'"); + var v = l(Utr), + y = m({ + type: Vtr, + property: hzt(g[0].replace(pzt, OI)), + value: v ? hzt(v[0].replace(pzt, OI)) : OI, + }); + return (l(Ntr), y); + } + function f() { + var m = []; + u(m); + var g; + while ((g = p())) if (g !== !1) (m.push(g), u(m)); + return m; + } + return (c(), f()); + } + function hzt(e) { + return e ? e.replace(ztr, OI) : OI; + } + gzt.exports = Gtr; +}); +var vzt = me(function (pG) { + var qtr = + (pG && pG.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(pG, "__esModule", { value: !0 }); + pG.default = Qtr; + var Ztr = qtr(yzt()); + function Qtr(e, t) { + let n = null; + if (!e || typeof e !== "string") return n; + let r = (0, Ztr.default)(e), + o = typeof t === "function"; + return ( + r.forEach((a) => { + if (a.type !== "declaration") return; + let { property: i, value: s } = a; + if (o) t(i, s, a); + else if (s) ((n = n || {}), (n[i] = s)); + }), + n + ); + } +}); +var wzt = me(function (xzt) { + Object.defineProperty(xzt, "__esModule", { value: !0 }); + xzt.camelCase = void 0; + var Xtr = /^--[a-zA-Z0-9_-]+$/, + Wtr = /-([a-z])/g, + Ytr = /^[^-]+$/, + Ktr = /^-(webkit|moz|ms|o|khtml)-/, + Jtr = /^-(ms)-/, + jtr = function (e) { + return !e || Ytr.test(e) || Xtr.test(e); + }, + $tr = function (e, t) { + return t.toUpperCase(); + }, + bzt = function (e, t) { + return "".concat(t, "-"); + }, + enr = function (e, t) { + if (t === void 0) t = {}; + if (jtr(e)) return e; + if (((e = e.toLowerCase()), t.reactCompat)) e = e.replace(Jtr, bzt); + else e = e.replace(Ktr, bzt); + return e.replace(Wtr, $tr); + }; + xzt.camelCase = enr; +}); +var Czt = me(function (w7e, Szt) { + var tnr = + (w7e && w7e.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }, + nnr = tnr(vzt()), + rnr = wzt(); + function A7e(e, t) { + var n = {}; + if (!e || typeof e !== "string") return n; + return ( + (0, nnr.default)(e, function (r, o) { + if (r && o) n[(0, rnr.camelCase)(r, t)] = o; + }), + n + ); + } + A7e.default = A7e; + Szt.exports = A7e; +}); +function Ezt(e) { + return t; + function t(n) { + let r = (n && n.position && n.position[e]) || {}; + if ( + typeof r.line === "number" && + r.line > 0 && + typeof r.column === "number" && + r.column > 0 + ) + return { + line: r.line, + column: r.column, + offset: + typeof r.offset === "number" && r.offset > -1 ? r.offset : void 0, + }; + } +} +function S7e(e) { + let t = x0(e), + n = FI(e); + if (t && n) return { start: t, end: n }; +} +var FI, x0; +var Izt = P(() => { + ((FI = Ezt("end")), (x0 = Ezt("start"))); +}); +var fG = P(() => { + Izt(); +}); +function oC(e) { + if (!e || typeof e !== "object") return ""; + if ("position" in e || "type" in e) return Tzt(e.position); + if ("start" in e || "end" in e) return Tzt(e); + if ("line" in e || "column" in e) return C7e(e); + return ""; +} +function C7e(e) { + return kzt(e && e.line) + ":" + kzt(e && e.column); +} +function Tzt(e) { + return C7e(e && e.start) + "-" + C7e(e && e.end); +} +function kzt(e) { + return e && typeof e === "number" ? e : 1; +} +var E7e = () => {}; +var Pd; +var Rzt = P(() => { + E7e(); + Pd = class Pd extends Error { + constructor(e, t, n) { + super(); + if (typeof t === "string") ((n = t), (t = void 0)); + let r = "", + o = {}, + a = !1; + if (t) + if ("line" in t && "column" in t) o = { place: t }; + else if ("start" in t && "end" in t) o = { place: t }; + else if ("type" in t) o = { ancestors: [t], place: t.position }; + else o = { ...t }; + if (typeof e === "string") r = e; + else if (!o.cause && e) ((a = !0), (r = e.message), (o.cause = e)); + if (!o.ruleId && !o.source && typeof n === "string") { + let s = n.indexOf(":"); + if (s === -1) o.ruleId = n; + else ((o.source = n.slice(0, s)), (o.ruleId = n.slice(s + 1))); + } + if (!o.place && o.ancestors && o.ancestors) { + let s = o.ancestors[o.ancestors.length - 1]; + if (s) o.place = s.position; + } + let i = o.place && "start" in o.place ? o.place.start : o.place; + ((this.ancestors = o.ancestors || void 0), + (this.cause = o.cause || void 0), + (this.column = i ? i.column : void 0), + (this.fatal = void 0), + (this.file = ""), + (this.message = r), + (this.line = i ? i.line : void 0), + (this.name = oC(o.place) || "1:1"), + (this.place = o.place || void 0), + (this.reason = this.message), + (this.ruleId = o.ruleId || void 0), + (this.source = o.source || void 0), + (this.stack = + a && o.cause && typeof o.cause.stack === "string" + ? o.cause.stack + : ""), + (this.actual = void 0), + (this.expected = void 0), + (this.note = void 0), + (this.url = void 0)); + } + }; + Pd.prototype.file = ""; + Pd.prototype.name = ""; + Pd.prototype.reason = ""; + Pd.prototype.message = ""; + Pd.prototype.stack = ""; + Pd.prototype.column = void 0; + Pd.prototype.line = void 0; + Pd.prototype.ancestors = void 0; + Pd.prototype.cause = void 0; + Pd.prototype.fatal = void 0; + Pd.prototype.place = void 0; + Pd.prototype.ruleId = void 0; + Pd.prototype.source = void 0; +}); +var I7e = P(() => { + Rzt(); +}); +function k7e(e, t) { + if (!t || t.Fragment === void 0) + throw TypeError("Expected `Fragment` in options"); + let n = t.filePath || void 0, + r; + if (t.development) { + if (typeof t.jsxDEV !== "function") + throw TypeError("Expected `jsxDEV` in options when `development: true`"); + r = hnr(n, t.jsxDEV); + } else { + if (typeof t.jsx !== "function") + throw TypeError("Expected `jsx` in production options"); + if (typeof t.jsxs !== "function") + throw TypeError("Expected `jsxs` in production options"); + r = mnr(n, t.jsx, t.jsxs); + } + let o = { + Fragment: t.Fragment, + ancestors: [], + components: t.components || {}, + create: r, + elementAttributeNameCase: t.elementAttributeNameCase || "react", + evaluater: t.createEvaluater ? t.createEvaluater() : void 0, + filePath: n, + ignoreInvalidStyle: t.ignoreInvalidStyle || !1, + passKeys: t.passKeys !== !1, + passNode: t.passNode || !1, + schema: t.space === "svg" ? by : _3, + stylePropertyNameCase: t.stylePropertyNameCase || "dom", + tableCellAlignToStyle: t.tableCellAlignToStyle !== !1, + }, + a = Dzt(o, e, void 0); + if (a && typeof a !== "string") return a; + return o.create(e, o.Fragment, { children: a || void 0 }, void 0); +} +function Dzt(e, t, n) { + if (t.type === "element") return lnr(e, t, n); + if (t.type === "mdxFlowExpression" || t.type === "mdxTextExpression") + return cnr(e, t); + if (t.type === "mdxJsxFlowElement" || t.type === "mdxJsxTextElement") + return dnr(e, t, n); + if (t.type === "mdxjsEsm") return unr(e, t); + if (t.type === "root") return pnr(e, t, n); + if (t.type === "text") return fnr(e, t); +} +function lnr(e, t, n) { + let r = e.schema, + o = r; + if (t.tagName.toLowerCase() === "svg" && r.space === "html") + ((o = by), (e.schema = o)); + e.ancestors.push(t); + let a = Bzt(e, t.tagName, !1), + i = gnr(e, t), + s = P7e(e, t); + if (inr.has(t.tagName)) + s = s.filter(function (l) { + return typeof l === "string" ? !l7e(l) : !0; + }); + return ( + Lzt(e, i, a, t), + R7e(i, s), + e.ancestors.pop(), + (e.schema = r), + e.create(t, a, i, n) + ); +} +function cnr(e, t) { + if (t.data && t.data.estree && e.evaluater) { + let r = t.data.estree.body[0]; + return ( + Za(r.type === "ExpressionStatement"), + e.evaluater.evaluateExpression(r.expression) + ); + } + mG(e, t.position); +} +function unr(e, t) { + if (t.data && t.data.estree && e.evaluater) + return e.evaluater.evaluateProgram(t.data.estree); + mG(e, t.position); +} +function dnr(e, t, n) { + let r = e.schema, + o = r; + if (t.name === "svg" && r.space === "html") ((o = by), (e.schema = o)); + e.ancestors.push(t); + let a = t.name === null ? e.Fragment : Bzt(e, t.name, !0), + i = ynr(e, t), + s = P7e(e, t); + return ( + Lzt(e, i, a, t), + R7e(i, s), + e.ancestors.pop(), + (e.schema = r), + e.create(t, a, i, n) + ); +} +function pnr(e, t, n) { + let r = {}; + return (R7e(r, P7e(e, t)), e.create(t, e.Fragment, r, n)); +} +function fnr(e, t) { + return t.value; +} +function Lzt(e, t, n, r) { + if (typeof n !== "string" && n !== e.Fragment && e.passNode) t.node = r; +} +function R7e(e, t) { + if (t.length > 0) { + let n = t.length > 1 ? t : t[0]; + if (n) e.children = n; + } +} +function mnr(e, t, n) { + return r; + function r(o, a, i, s) { + let c = Array.isArray(i.children) ? n : t; + return s ? c(a, i, s) : c(a, i); + } +} +function hnr(e, t) { + return n; + function n(r, o, a, i) { + let s = Array.isArray(a.children), + l = x0(r); + return t( + o, + a, + i, + s, + { + columnNumber: l ? l.column - 1 : void 0, + fileName: e, + lineNumber: l ? l.line : void 0, + }, + void 0, + ); + } +} +function gnr(e, t) { + let n = {}, + r, + o; + for (o in t.properties) + if (o !== "children" && T7e.call(t.properties, o)) { + let a = vnr(e, o, t.properties[o]); + if (a) { + let [i, s] = a; + if ( + e.tableCellAlignToStyle && + i === "align" && + typeof s === "string" && + snr.has(t.tagName) + ) + r = s; + else n[i] = s; + } + } + if (r) { + let a = n.style || (n.style = {}); + a[e.stylePropertyNameCase === "css" ? "text-align" : "textAlign"] = r; + } + return n; +} +function ynr(e, t) { + let n = {}; + for (let r of t.attributes) + if (r.type === "mdxJsxExpressionAttribute") + if (r.data && r.data.estree && e.evaluater) { + let a = r.data.estree.body[0]; + Za(a.type === "ExpressionStatement"); + let i = a.expression; + Za(i.type === "ObjectExpression"); + let s = i.properties[0]; + (Za(s.type === "SpreadElement"), + Object.assign(n, e.evaluater.evaluateExpression(s.argument))); + } else mG(e, t.position); + else { + let o = r.name, + a; + if (r.value && typeof r.value === "object") + if (r.value.data && r.value.data.estree && e.evaluater) { + let s = r.value.data.estree.body[0]; + (Za(s.type === "ExpressionStatement"), + (a = e.evaluater.evaluateExpression(s.expression))); + } else mG(e, t.position); + else a = r.value === null ? !0 : r.value; + n[o] = a; + } + return n; +} +function P7e(e, t) { + let n = [], + r = -1, + o = e.passKeys ? new Map() : onr; + while (++r < t.children.length) { + let a = t.children[r], + i; + if (e.passKeys) { + let l = + a.type === "element" + ? a.tagName + : a.type === "mdxJsxFlowElement" || a.type === "mdxJsxTextElement" + ? a.name + : void 0; + if (l) { + let c = o.get(l) || 0; + ((i = l + "-" + c), o.set(l, c + 1)); + } + } + let s = Dzt(e, a, i); + if (s !== void 0) n.push(s); + } + return n; +} +function vnr(e, t, n) { + let r = z3(e.schema, t); + if (n === null || n === void 0 || (typeof n === "number" && Number.isNaN(n))) + return; + if (Array.isArray(n)) n = r.commaSeparated ? Wie(n) : $ie(n); + if (r.property === "style") { + let o = typeof n === "object" ? n : bnr(e, String(n)); + if (e.stylePropertyNameCase === "css") o = xnr(o); + return ["style", o]; + } + return [ + e.elementAttributeNameCase === "react" && r.space + ? b7e[r.property] || r.property + : r.attribute, + n, + ]; +} +function bnr(e, t) { + try { + return Pzt.default(t, { reactCompat: !0 }); + } catch (n) { + if (e.ignoreInvalidStyle) return {}; + let r = n, + o = new Pd("Cannot parse `style` attribute", { + ancestors: e.ancestors, + cause: r, + ruleId: "style", + source: "hast-util-to-jsx-runtime", + }); + throw ( + (o.file = e.filePath || void 0), + (o.url = Mzt + "#cannot-parse-style-attribute"), + o + ); + } +} +function Bzt(e, t, n) { + let r; + if (!n) r = { type: "Literal", value: t }; + else if (t.includes(".")) { + let o = t.split("."), + a = -1, + i; + while (++a < o.length) { + let s = Yie(o[a]) + ? { type: "Identifier", name: o[a] } + : { type: "Literal", value: o[a] }; + i = i + ? { + type: "MemberExpression", + object: i, + property: s, + computed: Boolean(a && s.type === "Literal"), + optional: !1, + } + : s; + } + (Za(i, "always a result"), (r = i)); + } else + r = + Yie(t) && !/^[a-z]/.test(t) + ? { type: "Identifier", name: t } + : { type: "Literal", value: t }; + if (r.type === "Literal") { + let o = r.value; + return T7e.call(e.components, o) ? e.components[o] : o; + } + if (e.evaluater) return e.evaluater.evaluateExpression(r); + mG(e); +} +function mG(e, t) { + let n = new Pd("Cannot handle MDX estrees without `createEvaluater`", { + ancestors: e.ancestors, + place: t, + ruleId: "mdx-estree", + source: "hast-util-to-jsx-runtime", + }); + throw ( + (n.file = e.filePath || void 0), + (n.url = Mzt + "#cannot-handle-mdx-estrees-without-createevaluater"), + n + ); +} +function xnr(e) { + let t = {}, + n; + for (n in e) if (T7e.call(e, n)) t[Anr(n)] = e[n]; + return t; +} +function Anr(e) { + let t = e.replace(anr, wnr); + if (t.slice(0, 3) === "ms-") t = "-" + t; + return t; +} +function wnr(e) { + return "-" + e.toLowerCase(); +} +var Pzt, + T7e, + onr, + anr, + inr, + snr, + Mzt = "https://github.com/syntax-tree/hast-util-to-jsx-runtime"; +var Ozt = P(() => { + YNt(); + jNt(); + tD(); + fG(); + I7e(); + ((Pzt = z(Czt(), 1)), + (T7e = {}.hasOwnProperty), + (onr = new Map()), + (anr = /[A-Z]/g), + (inr = new Set(["table", "tbody", "thead", "tfoot", "tr"])), + (snr = new Set(["td", "th"]))); +}); +var Fzt = P(() => { + Ozt(); +}); +var hG; +var Uzt = P(() => { + hG = { + action: ["form"], + cite: ["blockquote", "del", "ins", "q"], + data: ["object"], + formAction: ["button", "input"], + href: ["a", "area", "base", "link"], + icon: ["menuitem"], + itemId: null, + manifest: ["html"], + ping: ["a", "area"], + poster: ["video"], + src: [ + "audio", + "embed", + "iframe", + "img", + "input", + "script", + "source", + "track", + "video", + ], + }; +}); +var Nzt = P(() => { + Uzt(); +}); +function UI(e, t) { + let n = t || Snr, + r = typeof n.includeImageAlt === "boolean" ? n.includeImageAlt : !0, + o = typeof n.includeHtml === "boolean" ? n.includeHtml : !0; + return _zt(e, r, o); +} +function _zt(e, t, n) { + if (Cnr(e)) { + if ("value" in e) return e.type === "html" && !n ? "" : e.value; + if (t && "alt" in e && e.alt) return e.alt; + if ("children" in e) return zzt(e.children, t, n); + } + if (Array.isArray(e)) return zzt(e, t, n); + return ""; +} +function zzt(e, t, n) { + let r = [], + o = -1; + while (++o < e.length) r[o] = _zt(e[o], t, n); + return r.join(""); +} +function Cnr(e) { + return Boolean(e && typeof e === "object"); +} +var Snr; +var Hzt = P(() => { + Snr = {}; +}); +var ese = P(() => { + Hzt(); +}); +function nD(e) { + let t = "&" + e + ";"; + Vzt.innerHTML = t; + let n = Vzt.textContent; + if (n.charCodeAt(n.length - 1) === 59 && e !== "semi") return !1; + return n === t ? !1 : n; +} +var Vzt; +var tse = P(() => { + Vzt = document.createElement("i"); +}); +function Np(e, t, n, r) { + let o = e.length, + a = 0, + i; + if (t < 0) t = -t > o ? 0 : o + t; + else t = t > o ? o : t; + if (((n = n > 0 ? n : 0), r.length < 1e4)) + ((i = Array.from(r)), i.unshift(t, n), e.splice(...i)); + else { + if (n) e.splice(t, n); + while (a < r.length) + ((i = r.slice(a, a + 1e4)), + i.unshift(t, 0), + e.splice(...i), + (a += 1e4), + (t += 1e4)); + } +} +function mh(e, t) { + if (e.length > 0) return (Np(e, e.length, 0, t), e); + return t; +} +function nse(e) { + let t = {}, + n = -1; + while (++n < e.length) Enr(t, e[n]); + return t; +} +function Enr(e, t) { + let n; + for (n in t) { + let o = (Gzt.call(e, n) ? e[n] : void 0) || (e[n] = {}), + a = t[n], + i; + if (a) + for (i in a) { + if (!Gzt.call(o, i)) o[i] = []; + let s = a[i]; + Inr(o[i], Array.isArray(s) ? s : s ? [s] : []); + } + } +} +function Inr(e, t) { + let n = -1, + r = []; + while (++n < t.length) (t[n].add === "after" ? e : r).push(t[n]); + Np(e, 0, 0, r); +} +var Gzt; +var M7e = P(() => { + Gzt = {}.hasOwnProperty; +}); +function rse(e, t) { + let n = Number.parseInt(e, t); + if ( + n < 9 || + n === 11 || + (n > 13 && n < 32) || + (n > 126 && n < 160) || + (n > 55295 && n < 57344) || + (n > 64975 && n < 65008) || + (n & 65535) === 65535 || + (n & 65535) === 65534 || + n > 1114111 + ) + return "�"; + return String.fromCodePoint(n); +} +function ym(e) { + return e + .replace(/[\t\n\r ]+/g, " ") + .replace(/^ | $/g, "") + .toLowerCase() + .toUpperCase(); +} +function NI(e) { + return e !== null && (e < 32 || e === 127); +} +function Xn(e) { + return e !== null && e < -2; +} +function ma(e) { + return e !== null && (e < 0 || e === 32); +} +function Lr(e) { + return e === -2 || e === -1 || e === 32; +} +function aC(e) { + return t; + function t(n) { + return n !== null && n > -1 && e.test(String.fromCharCode(n)); + } +} +var Wd, dc, qzt, gG, Zzt, Qzt, zI, yx; +var Qa = P(() => { + ((Wd = aC(/[A-Za-z]/)), + (dc = aC(/[\dA-Za-z]/)), + (qzt = aC(/[#-'*+\--9=?A-Z^-~]/))); + ((gG = aC(/\d/)), (Zzt = aC(/[\dA-Fa-f]/)), (Qzt = aC(/[!-/:-@[-`{-~]/))); + ((zI = aC(/\p{P}|\p{S}/u)), (yx = aC(/\s/))); +}); +function xy(e) { + let t = [], + n = -1, + r = 0, + o = 0; + while (++n < e.length) { + let a = e.charCodeAt(n), + i = ""; + if (a === 37 && dc(e.charCodeAt(n + 1)) && dc(e.charCodeAt(n + 2))) o = 2; + else if (a < 128) { + if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))) + i = String.fromCharCode(a); + } else if (a > 55295 && a < 57344) { + let s = e.charCodeAt(n + 1); + if (a < 56320 && s > 56319 && s < 57344) + ((i = String.fromCharCode(a, s)), (o = 1)); + else i = "�"; + } else i = String.fromCharCode(a); + if (i) + (t.push(e.slice(r, n), encodeURIComponent(i)), (r = n + o + 1), (i = "")); + if (o) ((n += o), (o = 0)); + } + return t.join("") + e.slice(r); +} +var _I = P(() => { + Qa(); +}); +function Wr(e, t, n, r) { + let o = r ? r - 1 : 1 / 0, + a = 0; + return i; + function i(l) { + if (Lr(l)) return (e.enter(n), s(l)); + return t(l); + } + function s(l) { + if (Lr(l) && a++ < o) return (e.consume(l), s); + return (e.exit(n), t(l)); + } +} +function D7e(e, t, n, r, o, a) { + let i = 0; + return s; + function s(u) { + if (a > 0 && Lr(u)) return (e.enter(r), l(u)); + return c(u); + } + function l(u) { + if (Lr(u) && i < a) return (e.consume(u), i++, l); + return (e.exit(r), c(u)); + } + function c(u) { + return i >= o ? t(u) : n(u); + } +} +var zc = P(() => { + Qa(); +}); +function Tnr(e) { + let t = e.attempt(this.parser.constructs.contentInitial, r, o), + n; + return t; + function r(s) { + if (s === null) { + e.consume(s); + return; + } + return ( + e.enter("lineEnding"), + e.consume(s), + e.exit("lineEnding"), + Wr(e, t, "linePrefix") + ); + } + function o(s) { + return (e.enter("paragraph"), a(s)); + } + function a(s) { + let l = e.enter("chunkText", { contentType: "text", previous: n }); + if (n) n.next = l; + return ((n = l), i(s)); + } + function i(s) { + if (s === null) { + (e.exit("chunkText"), e.exit("paragraph"), e.consume(s)); + return; + } + if (Xn(s)) return (e.consume(s), e.exit("chunkText"), a); + return (e.consume(s), i); + } +} +var Xzt; +var Wzt = P(() => { + zc(); + Qa(); + Xzt = { tokenize: Tnr }; +}); +class iC { + constructor() { + ((this.index = new Map()), (this.map = [])); + } + add(e, t, n) { + Yzt(this, e, t, n, !1); + } + addBefore(e, t, n) { + Yzt(this, e, t, n, !0); + } + consume(e) { + if ( + (this.map.sort(function (o, a) { + return o[0] - a[0]; + }), + this.map.length === 0) + ) + return; + let t = this.map.length, + n = []; + while (t > 0) + ((t -= 1), + n.push(e.slice(this.map[t][0] + this.map[t][1]), this.map[t][2]), + (e.length = this.map[t][0])); + (n.push(e.slice()), (e.length = 0)); + let r = n.pop(); + while (r) { + for (let o of r) e.push(o); + r = n.pop(); + } + ((this.map.length = 0), this.index.clear()); + } +} +function Yzt(e, t, n, r, o) { + if (n === 0 && r.length === 0) return; + let a = e.index.get(t); + if (a) { + if (((a[1] += n), o)) (r.push(...a[2]), (a[2] = r)); + else a[2].push(...r); + return; + } + let i = [t, n, r]; + (e.map.push(i), e.index.set(t, i)); +} +function knr(e) { + let t = this, + n = [], + r = 0, + o, + a, + i; + return s; + function s(A) { + if (r < n.length) { + let w = n[r]; + return ((t.containerState = w[1]), e.attempt(w[0].continuation, l, c)(A)); + } + return c(A); + } + function l(A) { + if ((r++, t.containerState._closeFlow)) { + if (((t.containerState._closeFlow = void 0), o)) x(); + let w = t.events.length, + C = w, + E; + while (C--) + if (t.events[C][0] === "exit" && t.events[C][1].type === "chunkFlow") { + E = t.events[C][1].end; + break; + } + y(r); + let T = w; + while (T < t.events.length) ((t.events[T][1].end = { ...E }), T++); + let I = new iC(); + return ( + I.add(C + 1, 0, t.events.slice(w)), + I.add(w, T - w, []), + I.consume(t.events), + c(A) + ); + } + return s(A); + } + function c(A) { + if (r === n.length) { + if (!o) return p(A); + if (o.currentConstruct && o.currentConstruct.concrete) return m(A); + t.interrupt = Boolean( + o.currentConstruct && !o._gfmTableDynamicInterruptHack, + ); + } + return ((t.containerState = {}), e.check(Kzt, u, d)(A)); + } + function u(A) { + if (o) x(); + return (y(r), p(A)); + } + function d(A) { + return ( + (t.parser.lazy[t.now().line] = r !== n.length), + (i = t.now().offset), + m(A) + ); + } + function p(A) { + return ((t.containerState = {}), e.attempt(Kzt, f, m)(A)); + } + function f(A) { + return (r++, n.push([t.currentConstruct, t.containerState]), p(A)); + } + function m(A) { + if (A === null) { + if (o) x(); + (y(0), e.consume(A)); + return; + } + return ( + (o = o || t.parser.flow(t.now())), + e.enter("chunkFlow", { _tokenizer: o, contentType: "flow", previous: a }), + g(A) + ); + } + function g(A) { + if (A === null) { + (v(e.exit("chunkFlow"), !0), y(0), e.consume(A)); + return; + } + if (Xn(A)) + return ( + e.consume(A), + v(e.exit("chunkFlow")), + (r = 0), + (t.interrupt = void 0), + s + ); + return (e.consume(A), g); + } + function v(A, w) { + let C = t.sliceStream(A); + if (w) C.push(null); + if (((A.previous = a), a)) a.next = A; + if ( + ((a = A), o.defineSkip(A.start), o.write(C), t.parser.lazy[A.start.line]) + ) { + let E = o.events.length; + while (E--) + if ( + o.events[E][1].start.offset < i && + (!o.events[E][1].end || o.events[E][1].end.offset > i) + ) + return; + let T = t.events.length, + I = T, + k, + L; + while (I--) + if (t.events[I][0] === "exit" && t.events[I][1].type === "chunkFlow") { + if (k) { + L = t.events[I][1].end; + break; + } + k = !0; + } + (y(r), (E = T)); + while (E < t.events.length) ((t.events[E][1].end = { ...L }), E++); + let O = new iC(); + (O.add(I + 1, 0, t.events.slice(T)), + O.add(T, E - T, []), + O.consume(t.events)); + } + } + function y(A) { + let w = n.length; + while (w-- > A) { + let C = n[w]; + ((t.containerState = C[1]), C[0].exit.call(t, e)); + } + n.length = A; + } + function x() { + (o.write([null]), + (a = void 0), + (o = void 0), + (t.containerState._closeFlow = void 0)); + } +} +function Rnr(e, t, n) { + return Wr( + e, + e.attempt(this.parser.constructs.document, t, n), + "linePrefix", + this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4, + ); +} +var Jzt, Kzt; +var jzt = P(() => { + zc(); + Qa(); + ((Jzt = { tokenize: knr }), (Kzt = { tokenize: Rnr })); +}); +function rD(e) { + if (e === null || ma(e) || yx(e)) return 1; + if (zI(e)) return 2; +} +var L7e = P(() => { + Qa(); +}); +function sC(e, t, n) { + let r = [], + o = -1; + while (++o < e.length) { + let a = e[o].resolveAll; + if (a && !r.includes(a)) ((t = a(t, n)), r.push(a)); + } + return t; +} +function Pnr(e, t) { + let n = -1, + r; + while (++n < e.length) + if ( + e[n][0] === "enter" && + e[n][1].type === "attentionSequence" && + e[n][1]._close + ) { + let o = n; + while (o--) + if ( + e[o][0] === "exit" && + e[o][1].type === "attentionSequence" && + e[o][1]._open && + t.sliceSerialize(e[o][1]).charCodeAt(0) === + t.sliceSerialize(e[n][1]).charCodeAt(0) + ) { + if ( + (e[o][1]._close || e[n][1]._open) && + (e[n][1].end.offset - e[n][1].start.offset) % 3 && + !( + (e[o][1].end.offset - + e[o][1].start.offset + + e[n][1].end.offset - + e[n][1].start.offset) % + 3 + ) + ) + continue; + let a = + e[o][1].end.offset - e[o][1].start.offset > 1 && + e[n][1].end.offset - e[n][1].start.offset > 1 + ? 2 + : 1, + i = { ...e[o][1].end }, + s = { ...e[n][1].start }; + ($zt(i, -a), $zt(s, a)); + let l = { + type: a > 1 ? "strongSequence" : "emphasisSequence", + start: i, + end: { ...e[o][1].end }, + }, + c = { + type: a > 1 ? "strongSequence" : "emphasisSequence", + start: { ...e[n][1].start }, + end: s, + }, + u = { + type: a > 1 ? "strongText" : "emphasisText", + start: { ...e[o][1].end }, + end: { ...e[n][1].start }, + }, + d = { + type: a > 1 ? "strong" : "emphasis", + start: { ...l.start }, + end: { ...c.end }, + }; + if ( + ((e[o][1].end = { ...l.start }), + (e[n][1].start = { ...c.end }), + (r = []), + e[o][1].end.offset - e[o][1].start.offset) + ) + r = mh(r, [ + ["enter", e[o][1], t], + ["exit", e[o][1], t], + ]); + ((r = mh(r, [ + ["enter", d, t], + ["enter", l, t], + ["exit", l, t], + ["enter", u, t], + ])), + (r = mh( + r, + sC(t.parser.constructs.insideSpan.null, e.slice(o + 1, n), t), + )), + (r = mh(r, [ + ["exit", u, t], + ["enter", c, t], + ["exit", c, t], + ["exit", d, t], + ]))); + let p = 0; + if (e[n][1].end.offset - e[n][1].start.offset) + ((p = 2), + (r = mh(r, [ + ["enter", e[n][1], t], + ["exit", e[n][1], t], + ]))); + (Np(e, o - 1, n - o + 3, r), (n = o + r.length - p - 2)); + break; + } + } + n = -1; + while (++n < e.length) + if (e[n][1].type === "attentionSequence") e[n][1].type = "data"; + return e; +} +function Mnr(e, t) { + let n = this.parser.constructs.attentionMarkers.null, + r = this.previous, + o = rD(r), + a; + return i; + function i(l) { + return ((a = l), e.enter("attentionSequence"), s(l)); + } + function s(l) { + if (l === a) return (e.consume(l), s); + let c = e.exit("attentionSequence"), + u = rD(l), + d = !u || (u === 2 && o) || (n.includes(l) && l !== 42 && l !== 95), + p = !o || (o === 2 && u) || (n.includes(r) && r !== 42 && r !== 95); + return ( + (c._open = Boolean(a === 42 ? d : d && (o || !p))), + (c._close = Boolean(a === 42 ? p : p && (u || !d))), + t(l) + ); + } +} +function $zt(e, t) { + ((e.column += t), (e.offset += t), (e._bufferIndex += t)); +} +var yG; +var e_t = P(() => { + L7e(); + yG = { name: "attention", resolveAll: Pnr, tokenize: Mnr }; +}); +function Dnr(e, t, n) { + let r = 0; + return o; + function o(f) { + return ( + e.enter("autolink"), + e.enter("autolinkMarker"), + e.consume(f), + e.exit("autolinkMarker"), + e.enter("autolinkProtocol"), + a + ); + } + function a(f) { + if (Wd(f)) return (e.consume(f), i); + if (f === 64) return n(f); + return c(f); + } + function i(f) { + if (f === 43 || f === 45 || f === 46 || dc(f)) return ((r = 1), s(f)); + return c(f); + } + function s(f) { + if (f === 58) return (e.consume(f), (r = 0), l); + if ((f === 43 || f === 45 || f === 46 || dc(f)) && r++ < 32) + return (e.consume(f), s); + return ((r = 0), c(f)); + } + function l(f) { + if (f === 62) + return ( + e.exit("autolinkProtocol"), + e.enter("autolinkMarker"), + e.consume(f), + e.exit("autolinkMarker"), + e.exit("autolink"), + t + ); + if (f === null || f === 32 || f === 60 || NI(f)) return n(f); + return (e.consume(f), l); + } + function c(f) { + if (f === 64) return (e.consume(f), u); + if (qzt(f)) return (e.consume(f), c); + return n(f); + } + function u(f) { + return dc(f) ? d(f) : n(f); + } + function d(f) { + if (f === 46) return (e.consume(f), (r = 0), u); + if (f === 62) + return ( + (e.exit("autolinkProtocol").type = "autolinkEmail"), + e.enter("autolinkMarker"), + e.consume(f), + e.exit("autolinkMarker"), + e.exit("autolink"), + t + ); + return p(f); + } + function p(f) { + if ((f === 45 || dc(f)) && r++ < 63) { + let m = f === 45 ? p : d; + return (e.consume(f), m); + } + return n(f); + } +} +var B7e; +var t_t = P(() => { + Qa(); + B7e = { name: "autolink", tokenize: Dnr }; +}); +function Lnr(e, t, n) { + return r; + function r(a) { + return Lr(a) ? Wr(e, o, "linePrefix")(a) : o(a); + } + function o(a) { + return a === null || Xn(a) ? t(a) : n(a); + } +} +var vx; +var ose = P(() => { + zc(); + Qa(); + vx = { partial: !0, tokenize: Lnr }; +}); +function Bnr(e, t, n) { + let r = this; + return o; + function o(i) { + if (i === 62) { + let s = r.containerState; + if (!s.open) (e.enter("blockQuote", { _container: !0 }), (s.open = !0)); + return ( + e.enter("blockQuotePrefix"), + e.enter("blockQuoteMarker"), + e.consume(i), + e.exit("blockQuoteMarker"), + a + ); + } + return n(i); + } + function a(i) { + if (Lr(i)) + return ( + e.enter("blockQuotePrefixWhitespace"), + e.consume(i), + e.exit("blockQuotePrefixWhitespace"), + e.exit("blockQuotePrefix"), + t + ); + return (e.exit("blockQuotePrefix"), t(i)); + } +} +function Onr(e, t, n) { + let r = this; + return o; + function o(i) { + if (Lr(i)) + return Wr( + e, + a, + "linePrefix", + r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4, + )(i); + return a(i); + } + function a(i) { + return e.attempt(ase, t, n)(i); + } +} +function Fnr(e) { + e.exit("blockQuote"); +} +var ase; +var n_t = P(() => { + zc(); + Qa(); + ase = { + continuation: { tokenize: Onr }, + exit: Fnr, + name: "blockQuote", + tokenize: Bnr, + }; +}); +function Unr(e, t, n) { + return r; + function r(a) { + return ( + e.enter("characterEscape"), + e.enter("escapeMarker"), + e.consume(a), + e.exit("escapeMarker"), + o + ); + } + function o(a) { + if (Qzt(a)) + return ( + e.enter("characterEscapeValue"), + e.consume(a), + e.exit("characterEscapeValue"), + e.exit("characterEscape"), + t + ); + return n(a); + } +} +var ise; +var r_t = P(() => { + Qa(); + ise = { name: "characterEscape", tokenize: Unr }; +}); +function Nnr(e, t, n) { + let r = this, + o = 0, + a, + i; + return s; + function s(d) { + return ( + e.enter("characterReference"), + e.enter("characterReferenceMarker"), + e.consume(d), + e.exit("characterReferenceMarker"), + l + ); + } + function l(d) { + if (d === 35) + return ( + e.enter("characterReferenceMarkerNumeric"), + e.consume(d), + e.exit("characterReferenceMarkerNumeric"), + c + ); + return (e.enter("characterReferenceValue"), (a = 31), (i = dc), u(d)); + } + function c(d) { + if (d === 88 || d === 120) + return ( + e.enter("characterReferenceMarkerHexadecimal"), + e.consume(d), + e.exit("characterReferenceMarkerHexadecimal"), + e.enter("characterReferenceValue"), + (a = 6), + (i = Zzt), + u + ); + return (e.enter("characterReferenceValue"), (a = 7), (i = gG), u(d)); + } + function u(d) { + if (d === 59 && o) { + let p = e.exit("characterReferenceValue"); + if (i === dc && !nD(r.sliceSerialize(p))) return n(d); + return ( + e.enter("characterReferenceMarker"), + e.consume(d), + e.exit("characterReferenceMarker"), + e.exit("characterReference"), + t + ); + } + if (i(d) && o++ < a) return (e.consume(d), u); + return n(d); + } +} +var sse; +var o_t = P(() => { + tse(); + Qa(); + sse = { name: "characterReference", tokenize: Nnr }; +}); +function znr(e, t, n) { + let r = this; + return o; + function o(i) { + if (i === null) return n(i); + return (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), a); + } + function a(i) { + return r.parser.lazy[r.now().line] ? n(i) : t(i); + } +} +var vG; +var O7e = P(() => { + vG = { partial: !0, tokenize: znr }; +}); +function _nr(e, t, n) { + let r = this, + o = { partial: !0, tokenize: C }, + a = 0, + i = 0, + s; + return l; + function l(E) { + return c(E); + } + function c(E) { + let T = r.events[r.events.length - 1]; + return ( + (a = + T && T[1].type === "linePrefix" + ? T[2].sliceSerialize(T[1], !0).length + : 0), + (s = E), + e.enter("codeFenced"), + e.enter("codeFencedFence"), + e.enter("codeFencedFenceSequence"), + u(E) + ); + } + function u(E) { + if (E === s) return (i++, e.consume(E), u); + if (i < 3) return n(E); + return ( + e.exit("codeFencedFenceSequence"), + Lr(E) ? Wr(e, d, "whitespace")(E) : d(E) + ); + } + function d(E) { + if (E === null || Xn(E)) + return ( + e.exit("codeFencedFence"), + r.interrupt ? t(E) : e.check(vG, g, w)(E) + ); + return ( + e.enter("codeFencedFenceInfo"), + e.enter("chunkString", { contentType: "string" }), + p(E) + ); + } + function p(E) { + if (E === null || Xn(E)) + return (e.exit("chunkString"), e.exit("codeFencedFenceInfo"), d(E)); + if (Lr(E)) + return ( + e.exit("chunkString"), + e.exit("codeFencedFenceInfo"), + Wr(e, f, "whitespace")(E) + ); + if (E === 96 && E === s) return n(E); + return (e.consume(E), p); + } + function f(E) { + if (E === null || Xn(E)) return d(E); + return ( + e.enter("codeFencedFenceMeta"), + e.enter("chunkString", { contentType: "string" }), + m(E) + ); + } + function m(E) { + if (E === null || Xn(E)) + return (e.exit("chunkString"), e.exit("codeFencedFenceMeta"), d(E)); + if (E === 96 && E === s) return n(E); + return (e.consume(E), m); + } + function g(E) { + return e.attempt(o, w, v)(E); + } + function v(E) { + return (e.enter("lineEnding"), e.consume(E), e.exit("lineEnding"), y); + } + function y(E) { + return a > 0 && Lr(E) ? Wr(e, x, "linePrefix", a + 1)(E) : x(E); + } + function x(E) { + if (E === null || Xn(E)) return e.check(vG, g, w)(E); + return (e.enter("codeFlowValue"), A(E)); + } + function A(E) { + if (E === null || Xn(E)) return (e.exit("codeFlowValue"), x(E)); + return (e.consume(E), A); + } + function w(E) { + return (e.exit("codeFenced"), t(E)); + } + function C(E, T, I) { + let k = 0; + return L; + function L(N) { + return (E.enter("lineEnding"), E.consume(N), E.exit("lineEnding"), O); + } + function O(N) { + return ( + E.enter("codeFencedFence"), + Lr(N) + ? Wr( + E, + B, + "linePrefix", + r.parser.constructs.disable.null.includes("codeIndented") + ? void 0 + : 4, + )(N) + : B(N) + ); + } + function B(N) { + if (N === s) return (E.enter("codeFencedFenceSequence"), U(N)); + return I(N); + } + function U(N) { + if (N === s) return (k++, E.consume(N), U); + if (k >= i) + return ( + E.exit("codeFencedFenceSequence"), + Lr(N) ? Wr(E, D, "whitespace")(N) : D(N) + ); + return I(N); + } + function D(N) { + if (N === null || Xn(N)) return (E.exit("codeFencedFence"), T(N)); + return I(N); + } + } +} +var lse; +var a_t = P(() => { + zc(); + Qa(); + O7e(); + lse = { concrete: !0, name: "codeFenced", tokenize: _nr }; +}); +function Vnr(e, t, n) { + return r; + function r(s) { + return (e.enter("codeIndented"), D7e(e, o, n, "linePrefix", 4, 4)(s)); + } + function o(s) { + if (s === null) return i(s); + if (Xn(s)) return e.attempt(Hnr, o, i)(s); + return (e.enter("codeFlowValue"), a(s)); + } + function a(s) { + if (s === null || Xn(s)) return (e.exit("codeFlowValue"), o(s)); + return (e.consume(s), a); + } + function i(s) { + return (e.exit("codeIndented"), t(s)); + } +} +function Gnr(e, t, n) { + let r = this; + return o; + function o(i) { + if (r.parser.lazy[r.now().line]) return n(i); + if (Xn(i)) + return (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), o); + return D7e(e, t, a, "linePrefix", 4, 4)(i); + } + function a(i) { + return Xn(i) ? o(i) : n(i); + } +} +var bG, Hnr; +var i_t = P(() => { + zc(); + Qa(); + ((bG = { name: "codeIndented", tokenize: Vnr }), + (Hnr = { partial: !0, tokenize: Gnr })); +}); +function qnr(e) { + let t = e.length - 4, + n = 3, + r, + o; + if ( + (e[n][1].type === "lineEnding" || e[n][1].type === "space") && + (e[t][1].type === "lineEnding" || e[t][1].type === "space") + ) { + r = n; + while (++r < t) + if (e[r][1].type === "codeTextData") { + ((e[n][1].type = "codeTextPadding"), + (e[t][1].type = "codeTextPadding"), + (n += 2), + (t -= 2)); + break; + } + } + ((r = n - 1), t++); + while (++r <= t) + if (o === void 0) { + if (r !== t && e[r][1].type !== "lineEnding") o = r; + } else if (r === t || e[r][1].type === "lineEnding") { + if (((e[o][1].type = "codeTextData"), r !== o + 2)) + ((e[o][1].end = e[r - 1][1].end), + e.splice(o + 2, r - o - 2), + (t -= r - o - 2), + (r = o + 2)); + o = void 0; + } + return e; +} +function Znr(e) { + return ( + e !== 96 || + this.events[this.events.length - 1][1].type === "characterEscape" + ); +} +function Qnr(e, t, n) { + let r = this, + o = 0, + a, + i; + return s; + function s(p) { + return (e.enter("codeText"), e.enter("codeTextSequence"), l(p)); + } + function l(p) { + if (p === 96) return (e.consume(p), o++, l); + return (e.exit("codeTextSequence"), c(p)); + } + function c(p) { + if (p === null) return n(p); + if (p === 32) return (e.enter("space"), e.consume(p), e.exit("space"), c); + if (p === 96) return ((i = e.enter("codeTextSequence")), (a = 0), d(p)); + if (Xn(p)) + return (e.enter("lineEnding"), e.consume(p), e.exit("lineEnding"), c); + return (e.enter("codeTextData"), u(p)); + } + function u(p) { + if (p === null || p === 32 || p === 96 || Xn(p)) + return (e.exit("codeTextData"), c(p)); + return (e.consume(p), u); + } + function d(p) { + if (p === 96) return (e.consume(p), a++, d); + if (a === o) return (e.exit("codeTextSequence"), e.exit("codeText"), t(p)); + return ((i.type = "codeTextData"), u(p)); + } +} +var F7e; +var s_t = P(() => { + Qa(); + F7e = { name: "codeText", previous: Znr, resolve: qnr, tokenize: Qnr }; +}); +class U7e { + constructor(e) { + ((this.left = e ? [...e] : []), (this.right = [])); + } + get(e) { + if (e < 0 || e >= this.left.length + this.right.length) + throw RangeError( + "Cannot access index `" + + e + + "` in a splice buffer of size `" + + (this.left.length + this.right.length) + + "`", + ); + if (e < this.left.length) return this.left[e]; + return this.right[this.right.length - e + this.left.length - 1]; + } + get length() { + return this.left.length + this.right.length; + } + shift() { + return (this.setCursor(0), this.right.pop()); + } + slice(e, t) { + let n = t === null || t === void 0 ? Number.POSITIVE_INFINITY : t; + if (n < this.left.length) return this.left.slice(e, n); + if (e > this.left.length) + return this.right + .slice( + this.right.length - n + this.left.length, + this.right.length - e + this.left.length, + ) + .reverse(); + return this.left + .slice(e) + .concat( + this.right.slice(this.right.length - n + this.left.length).reverse(), + ); + } + splice(e, t, n) { + let r = t || 0; + this.setCursor(Math.trunc(e)); + let o = this.right.splice(this.right.length - r, Number.POSITIVE_INFINITY); + if (n) xG(this.left, n); + return o.reverse(); + } + pop() { + return (this.setCursor(Number.POSITIVE_INFINITY), this.left.pop()); + } + push(e) { + (this.setCursor(Number.POSITIVE_INFINITY), this.left.push(e)); + } + pushMany(e) { + (this.setCursor(Number.POSITIVE_INFINITY), xG(this.left, e)); + } + unshift(e) { + (this.setCursor(0), this.right.push(e)); + } + unshiftMany(e) { + (this.setCursor(0), xG(this.right, e.reverse())); + } + setCursor(e) { + if ( + e === this.left.length || + (e > this.left.length && this.right.length === 0) || + (e < 0 && this.left.length === 0) + ) + return; + if (e < this.left.length) { + let t = this.left.splice(e, Number.POSITIVE_INFINITY); + xG(this.right, t.reverse()); + } else { + let t = this.right.splice( + this.left.length + this.right.length - e, + Number.POSITIVE_INFINITY, + ); + xG(this.left, t.reverse()); + } + } +} +function xG(e, t) { + let n = 0; + if (t.length < 1e4) e.push(...t); + else while (n < t.length) (e.push(...t.slice(n, n + 1e4)), (n += 1e4)); +} +function cse(e) { + let t = {}, + n = -1, + r, + o, + a, + i, + s, + l, + c, + u = new U7e(e); + while (++n < u.length) { + while (n in t) n = t[n]; + if ( + ((r = u.get(n)), + n && + r[1].type === "chunkFlow" && + u.get(n - 1)[1].type === "listItemPrefix") + ) { + if ( + ((l = r[1]._tokenizer.events), + (a = 0), + a < l.length && l[a][1].type === "lineEndingBlank") + ) + a += 2; + if (a < l.length && l[a][1].type === "content") + while (++a < l.length) { + if (l[a][1].type === "content") break; + if (l[a][1].type === "chunkText") + ((l[a][1]._isInFirstContentOfListItem = !0), a++); + } + } + if (r[0] === "enter") { + if (r[1].contentType) (Object.assign(t, Xnr(u, n)), (n = t[n]), (c = !0)); + } else if (r[1]._container) { + ((a = n), (o = void 0)); + while (a--) + if ( + ((i = u.get(a)), + i[1].type === "lineEnding" || i[1].type === "lineEndingBlank") + ) { + if (i[0] === "enter") { + if (o) u.get(o)[1].type = "lineEndingBlank"; + ((i[1].type = "lineEnding"), (o = a)); + } + } else if ( + i[1].type === "linePrefix" || + i[1].type === "listItemIndent" + ); + else break; + if (o) + ((r[1].end = { ...u.get(o)[1].start }), + (s = u.slice(o, n)), + s.unshift(r), + u.splice(o, n - o + 1, s)); + } + } + return (Np(e, 0, Number.POSITIVE_INFINITY, u.slice(0)), !c); +} +function Xnr(e, t) { + let n = e.get(t)[1], + r = e.get(t)[2], + o = t - 1, + a = [], + i = n._tokenizer; + if (!i) { + if (((i = r.parser[n.contentType](n.start)), n._contentTypeTextTrailing)) + i._contentTypeTextTrailing = !0; + } + let s = i.events, + l = [], + c = {}, + u, + d, + p = -1, + f = n, + m = 0, + g = 0, + v = [g]; + while (f) { + while (e.get(++o)[1] !== f); + if ((a.push(o), !f._tokenizer)) { + if (((u = r.sliceStream(f)), !f.next)) u.push(null); + if (d) i.defineSkip(f.start); + if (f._isInFirstContentOfListItem) + i._gfmTasklistFirstContentOfListItem = !0; + if ((i.write(u), f._isInFirstContentOfListItem)) + i._gfmTasklistFirstContentOfListItem = void 0; + } + ((d = f), (f = f.next)); + } + f = n; + while (++p < s.length) + if ( + s[p][0] === "exit" && + s[p - 1][0] === "enter" && + s[p][1].type === s[p - 1][1].type && + s[p][1].start.line !== s[p][1].end.line + ) + ((g = p + 1), + v.push(g), + (f._tokenizer = void 0), + (f.previous = void 0), + (f = f.next)); + if (((i.events = []), f)) ((f._tokenizer = void 0), (f.previous = void 0)); + else v.pop(); + p = v.length; + while (p--) { + let y = s.slice(v[p], v[p + 1]), + x = a.pop(); + (l.push([x, x + y.length - 1]), e.splice(x, 2, y)); + } + (l.reverse(), (p = -1)); + while (++p < l.length) + ((c[m + l[p][0]] = m + l[p][1]), (m += l[p][1] - l[p][0] - 1)); + return c; +} +var N7e = () => {}; +function Ynr(e) { + return (cse(e), e); +} +function Knr(e, t) { + let n; + return r; + function r(s) { + return ( + e.enter("content"), + (n = e.enter("chunkContent", { contentType: "content" })), + o(s) + ); + } + function o(s) { + if (s === null) return a(s); + if (Xn(s)) return e.check(Wnr, i, a)(s); + return (e.consume(s), o); + } + function a(s) { + return (e.exit("chunkContent"), e.exit("content"), t(s)); + } + function i(s) { + return ( + e.consume(s), + e.exit("chunkContent"), + (n.next = e.enter("chunkContent", { + contentType: "content", + previous: n, + })), + (n = n.next), + o + ); + } +} +function Jnr(e, t, n) { + let r = this; + return o; + function o(i) { + return ( + e.exit("chunkContent"), + e.enter("lineEnding"), + e.consume(i), + e.exit("lineEnding"), + Wr(e, a, "linePrefix") + ); + } + function a(i) { + if (i === null || Xn(i)) return n(i); + let s = r.events[r.events.length - 1]; + if ( + !r.parser.constructs.disable.null.includes("codeIndented") && + s && + s[1].type === "linePrefix" && + s[2].sliceSerialize(s[1], !0).length >= 4 + ) + return t(i); + return e.interrupt(r.parser.constructs.flow, n, t)(i); + } +} +var z7e, Wnr; +var l_t = P(() => { + zc(); + Qa(); + N7e(); + ((z7e = { resolve: Ynr, tokenize: Knr }), + (Wnr = { partial: !0, tokenize: Jnr })); +}); +function use(e, t, n, r, o, a, i, s, l) { + let c = l || Number.POSITIVE_INFINITY, + u = 0; + return d; + function d(y) { + if (y === 60) + return (e.enter(r), e.enter(o), e.enter(a), e.consume(y), e.exit(a), p); + if (y === null || y === 32 || y === 41 || NI(y)) return n(y); + return ( + e.enter(r), + e.enter(i), + e.enter(s), + e.enter("chunkString", { contentType: "string" }), + g(y) + ); + } + function p(y) { + if (y === 62) + return (e.enter(a), e.consume(y), e.exit(a), e.exit(o), e.exit(r), t); + return ( + e.enter(s), + e.enter("chunkString", { contentType: "string" }), + f(y) + ); + } + function f(y) { + if (y === 62) return (e.exit("chunkString"), e.exit(s), p(y)); + if (y === null || y === 60 || Xn(y)) return n(y); + return (e.consume(y), y === 92 ? m : f); + } + function m(y) { + if (y === 60 || y === 62 || y === 92) return (e.consume(y), f); + return f(y); + } + function g(y) { + if (!u && (y === null || y === 41 || ma(y))) + return (e.exit("chunkString"), e.exit(s), e.exit(i), e.exit(r), t(y)); + if (u < c && y === 40) return (e.consume(y), u++, g); + if (y === 41) return (e.consume(y), u--, g); + if (y === null || y === 32 || y === 40 || NI(y)) return n(y); + return (e.consume(y), y === 92 ? v : g); + } + function v(y) { + if (y === 40 || y === 41 || y === 92) return (e.consume(y), g); + return g(y); + } +} +var _7e = P(() => { + Qa(); +}); +function dse(e, t, n, r, o, a) { + let i = this, + s = 0, + l; + return c; + function c(f) { + return (e.enter(r), e.enter(o), e.consume(f), e.exit(o), e.enter(a), u); + } + function u(f) { + if ( + s > 999 || + f === null || + f === 91 || + (f === 93 && !l) || + (f === 94 && !s && "_hiddenFootnoteSupport" in i.parser.constructs) + ) + return n(f); + if (f === 93) + return (e.exit(a), e.enter(o), e.consume(f), e.exit(o), e.exit(r), t); + if (Xn(f)) + return (e.enter("lineEnding"), e.consume(f), e.exit("lineEnding"), u); + return (e.enter("chunkString", { contentType: "string" }), d(f)); + } + function d(f) { + if (f === null || f === 91 || f === 93 || Xn(f) || s++ > 999) + return (e.exit("chunkString"), u(f)); + if ((e.consume(f), !l)) l = !Lr(f); + return f === 92 ? p : d; + } + function p(f) { + if (f === 91 || f === 92 || f === 93) return (e.consume(f), s++, d); + return d(f); + } +} +var H7e = P(() => { + Qa(); +}); +function pse(e, t, n, r, o, a) { + let i; + return s; + function s(p) { + if (p === 34 || p === 39 || p === 40) + return ( + e.enter(r), + e.enter(o), + e.consume(p), + e.exit(o), + (i = p === 40 ? 41 : p), + l + ); + return n(p); + } + function l(p) { + if (p === i) return (e.enter(o), e.consume(p), e.exit(o), e.exit(r), t); + return (e.enter(a), c(p)); + } + function c(p) { + if (p === i) return (e.exit(a), l(i)); + if (p === null) return n(p); + if (Xn(p)) + return ( + e.enter("lineEnding"), + e.consume(p), + e.exit("lineEnding"), + Wr(e, c, "linePrefix") + ); + return (e.enter("chunkString", { contentType: "string" }), u(p)); + } + function u(p) { + if (p === i || p === null || Xn(p)) return (e.exit("chunkString"), c(p)); + return (e.consume(p), p === 92 ? d : u); + } + function d(p) { + if (p === i || p === 92) return (e.consume(p), u); + return u(p); + } +} +var V7e = P(() => { + zc(); + Qa(); +}); +function HI(e, t) { + let n; + return r; + function r(o) { + if (Xn(o)) + return ( + e.enter("lineEnding"), + e.consume(o), + e.exit("lineEnding"), + (n = !0), + r + ); + if (Lr(o)) return Wr(e, r, n ? "linePrefix" : "lineSuffix")(o); + return t(o); + } +} +var G7e = P(() => { + zc(); + Qa(); +}); +function $nr(e, t, n) { + let r = this, + o; + return a; + function a(f) { + return (e.enter("definition"), i(f)); + } + function i(f) { + return dse.call( + r, + e, + s, + n, + "definitionLabel", + "definitionLabelMarker", + "definitionLabelString", + )(f); + } + function s(f) { + if ( + ((o = ym( + r.sliceSerialize(r.events[r.events.length - 1][1]).slice(1, -1), + )), + f === 58) + ) + return ( + e.enter("definitionMarker"), + e.consume(f), + e.exit("definitionMarker"), + l + ); + return n(f); + } + function l(f) { + return ma(f) ? HI(e, c)(f) : c(f); + } + function c(f) { + return use( + e, + u, + n, + "definitionDestination", + "definitionDestinationLiteral", + "definitionDestinationLiteralMarker", + "definitionDestinationRaw", + "definitionDestinationString", + )(f); + } + function u(f) { + return e.attempt(jnr, d, d)(f); + } + function d(f) { + return Lr(f) ? Wr(e, p, "whitespace")(f) : p(f); + } + function p(f) { + if (f === null || Xn(f)) + return (e.exit("definition"), r.parser.defined.push(o), t(f)); + return n(f); + } +} +function err(e, t, n) { + return r; + function r(s) { + return ma(s) ? HI(e, o)(s) : n(s); + } + function o(s) { + return pse( + e, + a, + n, + "definitionTitle", + "definitionTitleMarker", + "definitionTitleString", + )(s); + } + function a(s) { + return Lr(s) ? Wr(e, i, "whitespace")(s) : i(s); + } + function i(s) { + return s === null || Xn(s) ? t(s) : n(s); + } +} +var q7e, jnr; +var c_t = P(() => { + _7e(); + H7e(); + zc(); + V7e(); + G7e(); + Qa(); + ((q7e = { name: "definition", tokenize: $nr }), + (jnr = { partial: !0, tokenize: err })); +}); +function trr(e, t, n) { + return r; + function r(a) { + return (e.enter("hardBreakEscape"), e.consume(a), o); + } + function o(a) { + if (Xn(a)) return (e.exit("hardBreakEscape"), t(a)); + return n(a); + } +} +var Z7e; +var u_t = P(() => { + Qa(); + Z7e = { name: "hardBreakEscape", tokenize: trr }; +}); +function nrr(e, t) { + let n = e.length - 2, + r = 3; + if (e[r][1].type === "whitespace") r += 2; + if (n - 2 > r && e[n][1].type === "whitespace") n -= 2; + if ( + e[n][1].type === "atxHeadingSequence" && + (r === n - 1 || (n - 4 > r && e[n - 2][1].type === "whitespace")) + ) + n -= r + 1 === n ? 2 : 4; + if (n > r) { + let o = { type: "atxHeadingText", start: e[r][1].start, end: e[n][1].end }, + a = { + type: "chunkText", + start: e[r][1].start, + end: e[n][1].end, + contentType: "text", + }; + Np(e, r, n - r + 1, [ + ["enter", o, t], + ["enter", a, t], + ["exit", a, t], + ["exit", o, t], + ]); + } + return e; +} +function rrr(e, t, n) { + let r = 0; + return o; + function o(u) { + return (e.enter("atxHeading"), a(u)); + } + function a(u) { + return (e.enter("atxHeadingSequence"), i(u)); + } + function i(u) { + if (u === 35 && r++ < 6) return (e.consume(u), i); + if (u === null || ma(u)) return (e.exit("atxHeadingSequence"), s(u)); + return n(u); + } + function s(u) { + if (u === 35) return (e.enter("atxHeadingSequence"), l(u)); + if (u === null || Xn(u)) return (e.exit("atxHeading"), t(u)); + if (Lr(u)) return Wr(e, s, "whitespace")(u); + return (e.enter("atxHeadingText"), c(u)); + } + function l(u) { + if (u === 35) return (e.consume(u), l); + return (e.exit("atxHeadingSequence"), s(u)); + } + function c(u) { + if (u === null || u === 35 || ma(u)) + return (e.exit("atxHeadingText"), s(u)); + return (e.consume(u), c); + } +} +var Q7e; +var d_t = P(() => { + zc(); + Qa(); + Q7e = { name: "headingAtx", resolve: nrr, tokenize: rrr }; +}); +var p_t, X7e; +var f_t = P(() => { + ((p_t = [ + "address", + "article", + "aside", + "base", + "basefont", + "blockquote", + "body", + "caption", + "center", + "col", + "colgroup", + "dd", + "details", + "dialog", + "dir", + "div", + "dl", + "dt", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "frame", + "frameset", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hr", + "html", + "iframe", + "legend", + "li", + "link", + "main", + "menu", + "menuitem", + "nav", + "noframes", + "ol", + "optgroup", + "option", + "p", + "param", + "search", + "section", + "summary", + "table", + "tbody", + "td", + "tfoot", + "th", + "thead", + "title", + "tr", + "track", + "ul", + ]), + (X7e = ["pre", "script", "style", "textarea"])); +}); +function arr(e) { + let t = e.length; + while (t--) if (e[t][0] === "enter" && e[t][1].type === "htmlFlow") break; + if (t > 1 && e[t - 2][1].type === "linePrefix") + ((e[t][1].start = e[t - 2][1].start), + (e[t + 1][1].start = e[t - 2][1].start), + e.splice(t - 2, 2)); + return e; +} +function irr(e, t, n) { + let r = this, + o, + a, + i, + s, + l; + return c; + function c(j) { + return u(j); + } + function u(j) { + return (e.enter("htmlFlow"), e.enter("htmlFlowData"), e.consume(j), d); + } + function d(j) { + if (j === 33) return (e.consume(j), p); + if (j === 47) return (e.consume(j), (a = !0), g); + if (j === 63) return (e.consume(j), (o = 3), r.interrupt ? t : H); + if (Wd(j)) return (e.consume(j), (i = String.fromCharCode(j)), v); + return n(j); + } + function p(j) { + if (j === 45) return (e.consume(j), (o = 2), f); + if (j === 91) return (e.consume(j), (o = 5), (s = 0), m); + if (Wd(j)) return (e.consume(j), (o = 4), r.interrupt ? t : H); + return n(j); + } + function f(j) { + if (j === 45) return (e.consume(j), r.interrupt ? t : H); + return n(j); + } + function m(j) { + if (j === "CDATA[".charCodeAt(s++)) { + if ((e.consume(j), s === 6)) return r.interrupt ? t : B; + return m; + } + return n(j); + } + function g(j) { + if (Wd(j)) return (e.consume(j), (i = String.fromCharCode(j)), v); + return n(j); + } + function v(j) { + if (j === null || j === 47 || j === 62 || ma(j)) { + let oe = j === 47, + J = i.toLowerCase(); + if (!oe && !a && X7e.includes(J)) + return ((o = 1), r.interrupt ? t(j) : B(j)); + if (p_t.includes(i.toLowerCase())) { + if (((o = 6), oe)) return (e.consume(j), y); + return r.interrupt ? t(j) : B(j); + } + return ( + (o = 7), + r.interrupt && !r.parser.lazy[r.now().line] ? n(j) : a ? x(j) : A(j) + ); + } + if (j === 45 || dc(j)) + return (e.consume(j), (i += String.fromCharCode(j)), v); + return n(j); + } + function y(j) { + if (j === 62) return (e.consume(j), r.interrupt ? t : B); + return n(j); + } + function x(j) { + if (Lr(j)) return (e.consume(j), x); + return L(j); + } + function A(j) { + if (j === 47) return (e.consume(j), L); + if (j === 58 || j === 95 || Wd(j)) return (e.consume(j), w); + if (Lr(j)) return (e.consume(j), A); + return L(j); + } + function w(j) { + if (j === 45 || j === 46 || j === 58 || j === 95 || dc(j)) + return (e.consume(j), w); + return C(j); + } + function C(j) { + if (j === 61) return (e.consume(j), E); + if (Lr(j)) return (e.consume(j), C); + return A(j); + } + function E(j) { + if (j === null || j === 60 || j === 61 || j === 62 || j === 96) return n(j); + if (j === 34 || j === 39) return (e.consume(j), (l = j), T); + if (Lr(j)) return (e.consume(j), E); + return I(j); + } + function T(j) { + if (j === l) return (e.consume(j), (l = null), k); + if (j === null || Xn(j)) return n(j); + return (e.consume(j), T); + } + function I(j) { + if ( + j === null || + j === 34 || + j === 39 || + j === 47 || + j === 60 || + j === 61 || + j === 62 || + j === 96 || + ma(j) + ) + return C(j); + return (e.consume(j), I); + } + function k(j) { + if (j === 47 || j === 62 || Lr(j)) return A(j); + return n(j); + } + function L(j) { + if (j === 62) return (e.consume(j), O); + return n(j); + } + function O(j) { + if (j === null || Xn(j)) return B(j); + if (Lr(j)) return (e.consume(j), O); + return n(j); + } + function B(j) { + if (j === 45 && o === 2) return (e.consume(j), _); + if (j === 60 && o === 1) return (e.consume(j), G); + if (j === 62 && o === 4) return (e.consume(j), te); + if (j === 63 && o === 3) return (e.consume(j), H); + if (j === 93 && o === 5) return (e.consume(j), q); + if (Xn(j) && (o === 6 || o === 7)) + return (e.exit("htmlFlowData"), e.check(orr, ie, U)(j)); + if (j === null || Xn(j)) return (e.exit("htmlFlowData"), U(j)); + return (e.consume(j), B); + } + function U(j) { + return e.check(vG, D, ie)(j); + } + function D(j) { + return (e.enter("lineEnding"), e.consume(j), e.exit("lineEnding"), N); + } + function N(j) { + if (j === null || Xn(j)) return U(j); + return (e.enter("htmlFlowData"), B(j)); + } + function _(j) { + if (j === 45) return (e.consume(j), H); + return B(j); + } + function G(j) { + if (j === 47) return (e.consume(j), (i = ""), Z); + return B(j); + } + function Z(j) { + if (j === 62) { + let oe = i.toLowerCase(); + if (X7e.includes(oe)) return (e.consume(j), te); + return B(j); + } + if (Wd(j) && i.length < 8) + return (e.consume(j), (i += String.fromCharCode(j)), Z); + return B(j); + } + function q(j) { + if (j === 93) return (e.consume(j), H); + return B(j); + } + function H(j) { + if (j === 62) return (e.consume(j), te); + if (j === 45 && o === 2) return (e.consume(j), H); + return B(j); + } + function te(j) { + if (j === null || Xn(j)) return (e.exit("htmlFlowData"), ie(j)); + return (e.consume(j), te); + } + function ie(j) { + return (e.exit("htmlFlow"), t(j)); + } +} +function srr(e, t, n) { + return r; + function r(o) { + return ( + e.enter("lineEnding"), + e.consume(o), + e.exit("lineEnding"), + e.attempt(vx, t, n) + ); + } +} +var W7e, orr; +var m_t = P(() => { + Qa(); + f_t(); + ose(); + O7e(); + ((W7e = { concrete: !0, name: "htmlFlow", resolveTo: arr, tokenize: irr }), + (orr = { partial: !0, tokenize: srr })); +}); +function lrr(e, t, n) { + let r = this, + o, + a, + i; + return s; + function s(H) { + return (e.enter("htmlText"), e.enter("htmlTextData"), e.consume(H), l); + } + function l(H) { + if (H === 33) return (e.consume(H), c); + if (H === 47) return (e.consume(H), C); + if (H === 63) return (e.consume(H), A); + if (Wd(H)) return (e.consume(H), I); + return n(H); + } + function c(H) { + if (H === 45) return (e.consume(H), u); + if (H === 91) return (e.consume(H), (a = 0), m); + if (Wd(H)) return (e.consume(H), x); + return n(H); + } + function u(H) { + if (H === 45) return (e.consume(H), f); + return n(H); + } + function d(H) { + if (H === null) return n(H); + if (H === 45) return (e.consume(H), p); + if (Xn(H)) return ((i = d), G(H)); + return (e.consume(H), d); + } + function p(H) { + if (H === 45) return (e.consume(H), f); + return d(H); + } + function f(H) { + return H === 62 ? _(H) : H === 45 ? p(H) : d(H); + } + function m(H) { + if (H === "CDATA[".charCodeAt(a++)) return (e.consume(H), a === 6 ? g : m); + return n(H); + } + function g(H) { + if (H === null) return n(H); + if (H === 93) return (e.consume(H), v); + if (Xn(H)) return ((i = g), G(H)); + return (e.consume(H), g); + } + function v(H) { + if (H === 93) return (e.consume(H), y); + return g(H); + } + function y(H) { + if (H === 62) return _(H); + if (H === 93) return (e.consume(H), y); + return g(H); + } + function x(H) { + if (H === null || H === 62) return _(H); + if (Xn(H)) return ((i = x), G(H)); + return (e.consume(H), x); + } + function A(H) { + if (H === null) return n(H); + if (H === 63) return (e.consume(H), w); + if (Xn(H)) return ((i = A), G(H)); + return (e.consume(H), A); + } + function w(H) { + return H === 62 ? _(H) : A(H); + } + function C(H) { + if (Wd(H)) return (e.consume(H), E); + return n(H); + } + function E(H) { + if (H === 45 || dc(H)) return (e.consume(H), E); + return T(H); + } + function T(H) { + if (Xn(H)) return ((i = T), G(H)); + if (Lr(H)) return (e.consume(H), T); + return _(H); + } + function I(H) { + if (H === 45 || dc(H)) return (e.consume(H), I); + if (H === 47 || H === 62 || ma(H)) return k(H); + return n(H); + } + function k(H) { + if (H === 47) return (e.consume(H), _); + if (H === 58 || H === 95 || Wd(H)) return (e.consume(H), L); + if (Xn(H)) return ((i = k), G(H)); + if (Lr(H)) return (e.consume(H), k); + return _(H); + } + function L(H) { + if (H === 45 || H === 46 || H === 58 || H === 95 || dc(H)) + return (e.consume(H), L); + return O(H); + } + function O(H) { + if (H === 61) return (e.consume(H), B); + if (Xn(H)) return ((i = O), G(H)); + if (Lr(H)) return (e.consume(H), O); + return k(H); + } + function B(H) { + if (H === null || H === 60 || H === 61 || H === 62 || H === 96) return n(H); + if (H === 34 || H === 39) return (e.consume(H), (o = H), U); + if (Xn(H)) return ((i = B), G(H)); + if (Lr(H)) return (e.consume(H), B); + return (e.consume(H), D); + } + function U(H) { + if (H === o) return (e.consume(H), (o = void 0), N); + if (H === null) return n(H); + if (Xn(H)) return ((i = U), G(H)); + return (e.consume(H), U); + } + function D(H) { + if (H === null || H === 34 || H === 39 || H === 60 || H === 61 || H === 96) + return n(H); + if (H === 47 || H === 62 || ma(H)) return k(H); + return (e.consume(H), D); + } + function N(H) { + if (H === 47 || H === 62 || ma(H)) return k(H); + return n(H); + } + function _(H) { + if (H === 62) + return (e.consume(H), e.exit("htmlTextData"), e.exit("htmlText"), t); + return n(H); + } + function G(H) { + return ( + e.exit("htmlTextData"), + e.enter("lineEnding"), + e.consume(H), + e.exit("lineEnding"), + Z + ); + } + function Z(H) { + return Lr(H) + ? Wr( + e, + q, + "linePrefix", + r.parser.constructs.disable.null.includes("codeIndented") + ? void 0 + : 4, + )(H) + : q(H); + } + function q(H) { + return (e.enter("htmlTextData"), i(H)); + } +} +var Y7e; +var h_t = P(() => { + zc(); + Qa(); + Y7e = { name: "htmlText", tokenize: lrr }; +}); +function prr(e) { + let t = -1, + n = []; + while (++t < e.length) { + let r = e[t][1]; + if ( + (n.push(e[t]), + r.type === "labelImage" || + r.type === "labelLink" || + r.type === "labelEnd") + ) { + let o = r.type === "labelImage" ? 4 : 2; + ((r.type = "data"), (t += o)); + } + } + if (e.length !== n.length) Np(e, 0, e.length, n); + return e; +} +function frr(e, t) { + let n = e.length, + r = 0, + o, + a, + i; + while (n--) { + let u = e[n][1]; + if (o) { + if (u.type === "link" || (u.type === "labelLink" && u._inactive)) break; + if (e[n][0] === "enter" && u.type === "labelLink") u._inactive = !0; + } else if (a) { + if ( + e[n][0] === "enter" && + (u.type === "labelImage" || u.type === "labelLink") && + !u._balanced + ) { + if (((o = n), u.type !== "labelLink")) { + r = 2; + break; + } + } + } else if (u.type === "labelEnd") a = n; + } + let s = { + type: e[o][1].type === "labelLink" ? "link" : "image", + start: { ...e[o][1].start }, + end: { ...e[e.length - 1][1].end }, + }, + l = { type: "label", start: { ...e[o][1].start }, end: { ...e[a][1].end } }, + c = { + type: "labelText", + start: { ...e[o + r + 2][1].end }, + end: { ...e[a - 2][1].start }, + }; + return ( + (i = [ + ["enter", s, t], + ["enter", l, t], + ]), + (i = mh(i, e.slice(o + 1, o + r + 3))), + (i = mh(i, [["enter", c, t]])), + (i = mh( + i, + sC(t.parser.constructs.insideSpan.null, e.slice(o + r + 4, a - 3), t), + )), + (i = mh(i, [["exit", c, t], e[a - 2], e[a - 1], ["exit", l, t]])), + (i = mh(i, e.slice(a + 1))), + (i = mh(i, [["exit", s, t]])), + Np(e, o, e.length, i), + e + ); +} +function mrr(e, t, n) { + let r = this, + o = r._labelStarts, + a, + i; + if (o) { + while (o.length > 0 && o[o.length - 1]._balanced) o.pop(); + a = o[o.length - 1]; + } + return s; + function s(p) { + if (!a) return n(p); + if (a._inactive) return d(p); + return ( + (i = r.parser.defined.includes( + ym(r.sliceSerialize({ start: a.end, end: r.now() })), + )), + e.enter("labelEnd"), + e.enter("labelMarker"), + e.consume(p), + e.exit("labelMarker"), + e.exit("labelEnd"), + l + ); + } + function l(p) { + if (p === 40) return e.attempt(crr, u, i ? u : d)(p); + if (p === 91) return e.attempt(urr, u, i ? c : d)(p); + return i ? u(p) : d(p); + } + function c(p) { + return e.attempt(drr, u, d)(p); + } + function u(p) { + return (o.pop(), t(p)); + } + function d(p) { + return ((a._balanced = !0), n(p)); + } +} +function hrr(e, t, n) { + return r; + function r(d) { + return ( + e.enter("resource"), + e.enter("resourceMarker"), + e.consume(d), + e.exit("resourceMarker"), + o + ); + } + function o(d) { + return ma(d) ? HI(e, a)(d) : a(d); + } + function a(d) { + if (d === 41) return u(d); + return use( + e, + i, + s, + "resourceDestination", + "resourceDestinationLiteral", + "resourceDestinationLiteralMarker", + "resourceDestinationRaw", + "resourceDestinationString", + 32, + )(d); + } + function i(d) { + return ma(d) ? HI(e, l)(d) : u(d); + } + function s(d) { + return n(d); + } + function l(d) { + if (d === 34 || d === 39 || d === 40) + return pse( + e, + c, + n, + "resourceTitle", + "resourceTitleMarker", + "resourceTitleString", + )(d); + return u(d); + } + function c(d) { + return ma(d) ? HI(e, u)(d) : u(d); + } + function u(d) { + if (d === 41) + return ( + e.enter("resourceMarker"), + e.consume(d), + e.exit("resourceMarker"), + e.exit("resource"), + t + ); + return n(d); + } +} +function grr(e, t, n) { + let r = this; + return o; + function o(s) { + return dse.call( + r, + e, + a, + i, + "reference", + "referenceMarker", + "referenceString", + )(s); + } + function a(s) { + return r.parser.defined.includes( + ym(r.sliceSerialize(r.events[r.events.length - 1][1]).slice(1, -1)), + ) + ? t(s) + : n(s); + } + function i(s) { + return n(s); + } +} +function yrr(e, t, n) { + return r; + function r(a) { + return ( + e.enter("reference"), + e.enter("referenceMarker"), + e.consume(a), + e.exit("referenceMarker"), + o + ); + } + function o(a) { + if (a === 93) + return ( + e.enter("referenceMarker"), + e.consume(a), + e.exit("referenceMarker"), + e.exit("reference"), + t + ); + return n(a); + } +} +var VI, crr, urr, drr; +var fse = P(() => { + _7e(); + H7e(); + V7e(); + G7e(); + Qa(); + ((VI = { name: "labelEnd", resolveAll: prr, resolveTo: frr, tokenize: mrr }), + (crr = { tokenize: hrr }), + (urr = { tokenize: grr }), + (drr = { tokenize: yrr })); +}); +function vrr(e, t, n) { + let r = this, + o; + return a; + function a(l) { + return ( + e.enter("labelImage"), + e.enter("labelImageMarker"), + e.consume(l), + e.exit("labelImageMarker"), + i + ); + } + function i(l) { + if (l === 91) + return ( + e.enter("labelMarker"), + e.consume(l), + e.exit("labelMarker"), + (o = e.exit("labelImage")), + s + ); + return n(l); + } + function s(l) { + if (l === 94 && "_hiddenFootnoteSupport" in r.parser.constructs) + return n(l); + return ( + (r._labelStarts = r._labelStarts || []), + r._labelStarts.push(o), + t(l) + ); + } +} +var K7e; +var g_t = P(() => { + fse(); + K7e = { name: "labelStartImage", resolveAll: VI.resolveAll, tokenize: vrr }; +}); +function brr(e, t, n) { + let r = this, + o; + return a; + function a(s) { + return ( + e.enter("labelLink"), + e.enter("labelMarker"), + e.consume(s), + e.exit("labelMarker"), + (o = e.exit("labelLink")), + i + ); + } + function i(s) { + if (s === 94 && "_hiddenFootnoteSupport" in r.parser.constructs) + return n(s); + return ( + (r._labelStarts = r._labelStarts || []), + r._labelStarts.push(o), + t(s) + ); + } +} +var J7e; +var y_t = P(() => { + fse(); + J7e = { name: "labelStartLink", resolveAll: VI.resolveAll, tokenize: brr }; +}); +function xrr(e, t) { + return n; + function n(r) { + return ( + e.enter("lineEnding"), + e.consume(r), + e.exit("lineEnding"), + Wr(e, t, "linePrefix") + ); + } +} +var AG; +var v_t = P(() => { + zc(); + AG = { name: "lineEnding", tokenize: xrr }; +}); +function Arr(e, t, n) { + let r = 0, + o; + return a; + function a(c) { + return (e.enter("thematicBreak"), i(c)); + } + function i(c) { + return ((o = c), s(c)); + } + function s(c) { + if (c === o) return (e.enter("thematicBreakSequence"), l(c)); + if (r >= 3 && (c === null || Xn(c))) return (e.exit("thematicBreak"), t(c)); + return n(c); + } + function l(c) { + if (c === o) return (e.consume(c), r++, l); + return ( + e.exit("thematicBreakSequence"), + Lr(c) ? Wr(e, s, "whitespace")(c) : s(c) + ); + } +} +var GI; +var j7e = P(() => { + zc(); + Qa(); + GI = { name: "thematicBreak", tokenize: Arr }; +}); +function Crr(e, t, n) { + let r = this, + o = r.events[r.events.length - 1], + a = + o && o[1].type === "linePrefix" + ? o[2].sliceSerialize(o[1], !0).length + : 0, + i = 0; + return s; + function s(f) { + let m = + r.containerState.type || + (f === 42 || f === 43 || f === 45 ? "listUnordered" : "listOrdered"); + if ( + m === "listUnordered" + ? !r.containerState.marker || f === r.containerState.marker + : gG(f) + ) { + if (!r.containerState.type) + ((r.containerState.type = m), e.enter(m, { _container: !0 })); + if (m === "listUnordered") + return ( + e.enter("listItemPrefix"), + f === 42 || f === 45 ? e.check(GI, n, c)(f) : c(f) + ); + if (!r.interrupt || f === 49) + return (e.enter("listItemPrefix"), e.enter("listItemValue"), l(f)); + } + return n(f); + } + function l(f) { + if (gG(f) && ++i < 10) return (e.consume(f), l); + if ( + (!r.interrupt || i < 2) && + (r.containerState.marker + ? f === r.containerState.marker + : f === 41 || f === 46) + ) + return (e.exit("listItemValue"), c(f)); + return n(f); + } + function c(f) { + return ( + e.enter("listItemMarker"), + e.consume(f), + e.exit("listItemMarker"), + (r.containerState.marker = r.containerState.marker || f), + e.check(vx, r.interrupt ? n : u, e.attempt(wrr, p, d)) + ); + } + function u(f) { + return ((r.containerState.initialBlankLine = !0), a++, p(f)); + } + function d(f) { + if (Lr(f)) + return ( + e.enter("listItemPrefixWhitespace"), + e.consume(f), + e.exit("listItemPrefixWhitespace"), + p + ); + return n(f); + } + function p(f) { + return ( + (r.containerState.size = + a + r.sliceSerialize(e.exit("listItemPrefix"), !0).length), + t(f) + ); + } +} +function Err(e, t, n) { + let r = this; + return ((r.containerState._closeFlow = void 0), e.check(vx, o, a)); + function o(s) { + return ( + (r.containerState.furtherBlankLines = + r.containerState.furtherBlankLines || + r.containerState.initialBlankLine), + Wr(e, t, "listItemIndent", r.containerState.size + 1)(s) + ); + } + function a(s) { + if (r.containerState.furtherBlankLines || !Lr(s)) + return ( + (r.containerState.furtherBlankLines = void 0), + (r.containerState.initialBlankLine = void 0), + i(s) + ); + return ( + (r.containerState.furtherBlankLines = void 0), + (r.containerState.initialBlankLine = void 0), + e.attempt(Srr, t, i)(s) + ); + } + function i(s) { + return ( + (r.containerState._closeFlow = !0), + (r.interrupt = void 0), + Wr( + e, + e.attempt(vm, t, n), + "linePrefix", + r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4, + )(s) + ); + } +} +function Irr(e, t, n) { + let r = this; + return Wr(e, o, "listItemIndent", r.containerState.size + 1); + function o(a) { + let i = r.events[r.events.length - 1]; + return i && + i[1].type === "listItemIndent" && + i[2].sliceSerialize(i[1], !0).length === r.containerState.size + ? t(a) + : n(a); + } +} +function Trr(e) { + e.exit(this.containerState.type); +} +function krr(e, t, n) { + let r = this; + return Wr( + e, + o, + "listItemPrefixWhitespace", + r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 5, + ); + function o(a) { + let i = r.events[r.events.length - 1]; + return !Lr(a) && i && i[1].type === "listItemPrefixWhitespace" + ? t(a) + : n(a); + } +} +var vm, wrr, Srr; +var b_t = P(() => { + zc(); + Qa(); + ose(); + j7e(); + ((vm = { + continuation: { tokenize: Err }, + exit: Trr, + name: "list", + tokenize: Crr, + }), + (wrr = { partial: !0, tokenize: krr }), + (Srr = { partial: !0, tokenize: Irr })); +}); +function Rrr(e, t) { + let n = new iC(), + r = e.length, + o, + a, + i; + while (r--) + if (e[r][0] === "enter") { + if (e[r][1].type === "content") { + o = r; + break; + } + if (e[r][1].type === "paragraph") a = r; + } else { + if (e[r][1].type === "content") n.add(r, 1, []); + if (!i && e[r][1].type === "definition") i = r; + } + let s = { + type: "setextHeading", + start: { ...e[o][1].start }, + end: { ...e[e.length - 1][1].end }, + }; + if (((e[a][1].type = "setextHeadingText"), i)) + (n.add(a, 0, [["enter", s, t]]), + n.add(i + 1, 0, [["exit", e[o][1], t]]), + (e[o][1].end = { ...e[i][1].end })); + else e[o][1] = s; + return (n.add(e.length, 0, [["exit", s, t]]), n.consume(e), e); +} +function Prr(e, t, n) { + let r = this, + o; + return a; + function a(c) { + let u = r.events.length, + d; + while (u--) + if ( + r.events[u][1].type !== "lineEnding" && + r.events[u][1].type !== "linePrefix" && + r.events[u][1].type !== "content" + ) { + d = r.events[u][1].type === "paragraph"; + break; + } + if (!r.parser.lazy[r.now().line] && (r.interrupt || d)) + return (e.enter("setextHeadingLine"), (o = c), i(c)); + return n(c); + } + function i(c) { + return (e.enter("setextHeadingLineSequence"), s(c)); + } + function s(c) { + if (c === o) return (e.consume(c), s); + return ( + e.exit("setextHeadingLineSequence"), + Lr(c) ? Wr(e, l, "lineSuffix")(c) : l(c) + ); + } + function l(c) { + if (c === null || Xn(c)) return (e.exit("setextHeadingLine"), t(c)); + return n(c); + } +} +var mse; +var x_t = P(() => { + zc(); + Qa(); + mse = { name: "setextUnderline", resolveTo: Rrr, tokenize: Prr }; +}); +var hse = P(() => { + e_t(); + t_t(); + ose(); + n_t(); + r_t(); + o_t(); + a_t(); + i_t(); + s_t(); + l_t(); + c_t(); + u_t(); + d_t(); + m_t(); + h_t(); + fse(); + g_t(); + y_t(); + v_t(); + b_t(); + x_t(); + j7e(); +}); +function Mrr(e) { + let t = this, + n = e.attempt( + vx, + r, + e.attempt( + this.parser.constructs.flowInitial, + o, + Wr( + e, + e.attempt(this.parser.constructs.flow, o, e.attempt(z7e, o)), + "linePrefix", + ), + ), + ); + return n; + function r(a) { + if (a === null) { + e.consume(a); + return; + } + return ( + e.enter("lineEndingBlank"), + e.consume(a), + e.exit("lineEndingBlank"), + (t.currentConstruct = void 0), + n + ); + } + function o(a) { + if (a === null) { + e.consume(a); + return; + } + return ( + e.enter("lineEnding"), + e.consume(a), + e.exit("lineEnding"), + (t.currentConstruct = void 0), + n + ); + } +} +var A_t; +var w_t = P(() => { + hse(); + zc(); + A_t = { tokenize: Mrr }; +}); +function I_t(e) { + return { resolveAll: T_t(e === "text" ? Drr : void 0), tokenize: t }; + function t(n) { + let r = this, + o = this.parser.constructs[e], + a = n.attempt(o, i, s); + return i; + function i(u) { + return c(u) ? a(u) : s(u); + } + function s(u) { + if (u === null) { + n.consume(u); + return; + } + return (n.enter("data"), n.consume(u), l); + } + function l(u) { + if (c(u)) return (n.exit("data"), a(u)); + return (n.consume(u), l); + } + function c(u) { + if (u === null) return !0; + let d = o[u], + p = -1; + if (d) + while (++p < d.length) { + let f = d[p]; + if (!f.previous || f.previous.call(r, r.previous)) return !0; + } + return !1; + } + } +} +function T_t(e) { + return t; + function t(n, r) { + let o = -1, + a; + while (++o <= n.length) + if (a === void 0) { + if (n[o] && n[o][1].type === "data") ((a = o), o++); + } else if (!n[o] || n[o][1].type !== "data") { + if (o !== a + 2) + ((n[a][1].end = n[o - 1][1].end), + n.splice(a + 2, o - a - 2), + (o = a + 2)); + a = void 0; + } + return e ? e(n, r) : n; + } +} +function Drr(e, t) { + let n = new iC(), + r = 0; + while (++r <= e.length) + if ( + (r === e.length || e[r][1].type === "lineEnding") && + e[r - 1][1].type === "data" + ) { + let o = e[r - 1][1], + a = t.sliceStream(o), + i = a.length, + s = -1, + l = 0, + c; + while (i--) { + let u = a[i]; + if (typeof u === "string") { + s = u.length; + while (u.charCodeAt(s - 1) === 32) (l++, s--); + if (s) break; + s = -1; + } else if (u === -2) ((c = !0), l++); + else if (u === -1); + else { + i++; + break; + } + } + if (t._contentTypeTextTrailing && r === e.length) l = 0; + if (l) { + let u = { + type: + r === e.length || c || l < 2 ? "lineSuffix" : "hardBreakTrailing", + start: { + _bufferIndex: i ? s : o.start._bufferIndex + s, + _index: o.start._index + i, + line: o.end.line, + column: o.end.column - l, + offset: o.end.offset - l, + }, + end: { ...o.end }, + }; + if (((o.end = { ...u.start }), o.start.offset === o.end.offset)) + Object.assign(o, u); + else + n.add(r, 0, [ + ["enter", u, t], + ["exit", u, t], + ]); + } + r++; + } + return (n.consume(e), e); +} +var S_t, C_t, E_t; +var $7e = P(() => { + ((S_t = { resolveAll: T_t() }), (C_t = I_t("string")), (E_t = I_t("text"))); +}); +var eke = {}; +Xs(eke, { + attentionMarkers: () => _rr, + contentInitial: () => Brr, + disable: () => Hrr, + document: () => Lrr, + flow: () => Frr, + flowInitial: () => Orr, + insideSpan: () => zrr, + string: () => Urr, + text: () => Nrr, +}); +var Lrr, Brr, Orr, Frr, Urr, Nrr, zrr, _rr, Hrr; +var k_t = P(() => { + hse(); + $7e(); + ((Lrr = { + [42]: vm, + [43]: vm, + [45]: vm, + [48]: vm, + [49]: vm, + [50]: vm, + [51]: vm, + [52]: vm, + [53]: vm, + [54]: vm, + [55]: vm, + [56]: vm, + [57]: vm, + [62]: ase, + }), + (Brr = { [91]: q7e }), + (Orr = { [-2]: bG, [-1]: bG, [32]: bG }), + (Frr = { + [35]: Q7e, + [42]: GI, + [45]: [mse, GI], + [60]: W7e, + [61]: mse, + [95]: GI, + [96]: lse, + [126]: lse, + }), + (Urr = { [38]: sse, [92]: ise }), + (Nrr = { + [-5]: AG, + [-4]: AG, + [-3]: AG, + [33]: K7e, + [38]: sse, + [42]: yG, + [60]: [B7e, Y7e], + [91]: J7e, + [92]: [Z7e, ise], + [93]: VI, + [95]: yG, + [96]: F7e, + }), + (zrr = { null: [yG, S_t] }), + (_rr = { null: [42, 95] }), + (Hrr = { null: [] })); +}); +function R_t(e, t, n) { + let r = { + _bufferIndex: -1, + _index: 0, + line: (n && n.line) || 1, + column: (n && n.column) || 1, + offset: (n && n.offset) || 0, + }, + o = {}, + a = [], + i = [], + s = [], + l = !0, + c = { + attempt: k(T), + check: k(I), + consume: w, + enter: C, + exit: E, + interrupt: k(I, { interrupt: !0 }), + }, + u = { + code: null, + containerState: {}, + defineSkip: y, + events: [], + now: v, + parser: e, + previous: null, + sliceSerialize: m, + sliceStream: g, + write: f, + }, + d = t.tokenize.call(u, c), + p; + if (t.resolveAll) a.push(t); + return u; + function f(U) { + if (((i = mh(i, U)), x(), i[i.length - 1] !== null)) return []; + return (L(t, 0), (u.events = sC(a, u.events, u)), u.events); + } + function m(U, D) { + return Grr(g(U), D); + } + function g(U) { + return Vrr(i, U); + } + function v() { + let { _bufferIndex: U, _index: D, line: N, column: _, offset: G } = r; + return { _bufferIndex: U, _index: D, line: N, column: _, offset: G }; + } + function y(U) { + ((o[U.line] = U.column), B()); + } + function x() { + while (r._index < i.length) { + let U = i[r._index]; + if (typeof U === "string") { + let D = r._index; + if (r._bufferIndex < 0) r._bufferIndex = 0; + while (r._index === D && r._bufferIndex < U.length) + A(U.charCodeAt(r._bufferIndex)); + } else A(U); + } + } + function A(U) { + ((l = void 0), (p = U), (d = d(U))); + } + function w(U) { + if (Xn(U)) (r.line++, (r.column = 1), (r.offset += U === -3 ? 2 : 1), B()); + else if (U !== -1) (r.column++, r.offset++); + if (r._bufferIndex < 0) r._index++; + else if ((r._bufferIndex++, r._bufferIndex === i[r._index].length)) + ((r._bufferIndex = -1), r._index++); + ((u.previous = U), (l = !0)); + } + function C(U, D) { + let N = D || {}; + return ( + (N.type = U), + (N.start = v()), + u.events.push(["enter", N, u]), + s.push(N), + N + ); + } + function E(U) { + let D = s.pop(); + return ((D.end = v()), u.events.push(["exit", D, u]), D); + } + function T(U, D) { + L(U, D.from); + } + function I(U, D) { + D.restore(); + } + function k(U, D) { + return N; + function N(_, G, Z) { + let q, H, te, ie; + return Array.isArray(_) ? oe(_) : "tokenize" in _ ? oe([_]) : j(_); + function j(ne) { + return Se; + function Se(fe) { + let Ae = fe !== null && ne[fe], + Ee = fe !== null && ne.null, + pe = [ + ...(Array.isArray(Ae) ? Ae : Ae ? [Ae] : []), + ...(Array.isArray(Ee) ? Ee : Ee ? [Ee] : []), + ]; + return oe(pe)(fe); + } + } + function oe(ne) { + if (((q = ne), (H = 0), ne.length === 0)) return Z; + return J(ne[H]); + } + function J(ne) { + return Se; + function Se(fe) { + if (((ie = O()), (te = ne), !ne.partial)) u.currentConstruct = ne; + if (ne.name && u.parser.constructs.disable.null.includes(ne.name)) + return ae(fe); + return ne.tokenize.call( + D ? Object.assign(Object.create(u), D) : u, + c, + Y, + ae, + )(fe); + } + } + function Y(ne) { + return ((l = !0), U(te, ie), G); + } + function ae(ne) { + if (((l = !0), ie.restore(), ++H < q.length)) return J(q[H]); + return Z; + } + } + } + function L(U, D) { + if (U.resolveAll && !a.includes(U)) a.push(U); + if (U.resolve) + Np(u.events, D, u.events.length - D, U.resolve(u.events.slice(D), u)); + if (U.resolveTo) u.events = U.resolveTo(u.events, u); + } + function O() { + let U = v(), + { previous: D, currentConstruct: N } = u, + _ = u.events.length, + G = Array.from(s); + return { from: _, restore: Z }; + function Z() { + ((r = U), + (u.previous = D), + (u.currentConstruct = N), + (u.events.length = _), + (s = G), + B()); + } + } + function B() { + if (r.line in o && r.column < 2) + ((r.column = o[r.line]), (r.offset += o[r.line] - 1)); + } +} +function Vrr(e, t) { + let n = t.start._index, + r = t.start._bufferIndex, + o = t.end._index, + a = t.end._bufferIndex, + i; + if (n === o) i = [e[n].slice(r, a)]; + else { + if (((i = e.slice(n, o)), r > -1)) { + let s = i[0]; + if (typeof s === "string") i[0] = s.slice(r); + else i.shift(); + } + if (a > 0) i.push(e[o].slice(0, a)); + } + return i; +} +function Grr(e, t) { + let n = -1, + r = [], + o; + while (++n < e.length) { + let a = e[n], + i; + if (typeof a === "string") i = a; + else + switch (a) { + case -5: { + i = "\r"; + break; + } + case -4: { + i = ` +`; + break; + } + case -3: { + i = `\r +`; + break; + } + case -2: { + i = t ? " " : "\t"; + break; + } + case -1: { + if (!t && o) continue; + i = " "; + break; + } + default: + i = String.fromCharCode(a); + } + ((o = a === -2), r.push(i)); + } + return r.join(""); +} +var P_t = P(() => { + Qa(); +}); +function tke(e) { + let r = { + constructs: nse([eke, ...((e || {}).extensions || [])]), + content: o(Xzt), + defined: [], + document: o(Jzt), + flow: o(A_t), + lazy: {}, + string: o(C_t), + text: o(E_t), + }; + return r; + function o(a) { + return i; + function i(s) { + return R_t(r, a, s); + } + } +} +var M_t = P(() => { + M7e(); + Wzt(); + jzt(); + w_t(); + $7e(); + k_t(); + P_t(); +}); +function nke(e) { + while (!cse(e)); + return e; +} +var D_t = P(() => { + N7e(); +}); +function rke() { + let e = 1, + t = "", + n = !0, + r; + return o; + function o(a, i, s) { + a = + t + + (typeof a === "string" + ? a.toString() + : new TextDecoder(i || void 0).decode(a)); + let l = [], + c = 0; + if (((t = ""), n)) { + if (a.charCodeAt(0) === 65279) c++; + n = void 0; + } + while (c < a.length) { + L_t.lastIndex = c; + let u = L_t.exec(a), + d = u && u.index !== void 0 ? u.index : a.length, + p = a.charCodeAt(d); + if (!u) { + t = a.slice(c); + break; + } + if (p === 10 && c === d && r) (l.push(-3), (r = void 0)); + else { + if (r) (l.push(-5), (r = void 0)); + if (c < d) (l.push(a.slice(c, d)), (e += d - c)); + switch (p) { + case 0: { + (l.push(65533), e++); + break; + } + case 9: { + let f = Math.ceil(e / 4) * 4; + l.push(-2); + while (e++ < f) l.push(-1); + break; + } + case 10: { + (l.push(-4), (e = 1)); + break; + } + default: + ((r = !0), (e = 1)); + } + } + c = d + 1; + } + if (s) { + if (r) l.push(-5); + if (t) l.push(t); + l.push(null); + } + return l; + } +} +var L_t; +var B_t = P(() => { + L_t = /[\0\t\n\r]/g; +}); +var O_t = P(() => { + M_t(); + D_t(); + B_t(); +}); +function F_t(e) { + return e.replace(qrr, Zrr); +} +function Zrr(e, t, n) { + if (t) return t; + if (n.charCodeAt(0) === 35) { + let o = n.charCodeAt(1), + a = o === 120 || o === 88; + return rse(n.slice(a ? 2 : 1), a ? 16 : 10); + } + return nD(n) || e; +} +var qrr; +var U_t = P(() => { + tse(); + qrr = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi; +}); +function oke(e, t, n) { + if (t && typeof t === "object") ((n = t), (t = void 0)); + return Qrr(n)( + nke( + tke(n) + .document() + .write(rke()(e, t, !0)), + ), + ); +} +function Qrr(e) { + let t = { + transforms: [], + canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], + enter: { + autolink: a(ce), + autolinkProtocol: k, + autolinkEmail: k, + atxHeading: a(Le), + blockQuote: a(fe), + characterEscape: k, + characterReference: k, + codeFenced: a(Ae), + codeFencedFenceInfo: i, + codeFencedFenceMeta: i, + codeIndented: a(Ae, i), + codeText: a(Ee, i), + codeTextData: k, + data: k, + codeFlowValue: k, + definition: a(pe), + definitionDestinationString: i, + definitionLabelString: i, + definitionTitleString: i, + emphasis: a(Re), + hardBreakEscape: a(Ne), + hardBreakTrailing: a(Ne), + htmlFlow: a(be, i), + htmlFlowData: k, + htmlText: a(be, i), + htmlTextData: k, + image: a(ye), + label: i, + link: a(ce), + listItem: a(ke), + listItemValue: p, + listOrdered: a(ue, d), + listUnordered: a(ue), + paragraph: a(se), + reference: j, + referenceString: i, + resourceDestinationString: i, + resourceTitleString: i, + setextHeading: a(Le), + strong: a(qe), + thematicBreak: a(Qe), + }, + exit: { + atxHeading: l(), + atxHeadingSequence: C, + autolink: l(), + autolinkEmail: Se, + autolinkProtocol: ne, + blockQuote: l(), + characterEscapeValue: L, + characterReferenceMarkerHexadecimal: J, + characterReferenceMarkerNumeric: J, + characterReferenceValue: Y, + characterReference: ae, + codeFenced: l(v), + codeFencedFence: g, + codeFencedFenceInfo: f, + codeFencedFenceMeta: m, + codeFlowValue: L, + codeIndented: l(y), + codeText: l(N), + codeTextData: L, + data: L, + definition: l(), + definitionDestinationString: w, + definitionLabelString: x, + definitionTitleString: A, + emphasis: l(), + hardBreakEscape: l(B), + hardBreakTrailing: l(B), + htmlFlow: l(U), + htmlFlowData: L, + htmlText: l(D), + htmlTextData: L, + image: l(G), + label: q, + labelText: Z, + lineEnding: O, + link: l(_), + listItem: l(), + listOrdered: l(), + listUnordered: l(), + paragraph: l(), + referenceString: oe, + resourceDestinationString: H, + resourceTitleString: te, + resource: ie, + setextHeading: l(I), + setextHeadingLineSequence: T, + setextHeadingText: E, + strong: l(), + thematicBreak: l(), + }, + }; + __t(t, (e || {}).mdastExtensions || []); + let n = {}; + return r; + function r(ee) { + let K = { type: "root", children: [] }, + we = { + stack: [K], + tokenStack: [], + config: t, + enter: s, + exit: c, + buffer: i, + resume: u, + data: n, + }, + ze = [], + tt = -1; + while (++tt < ee.length) + if ( + ee[tt][1].type === "listOrdered" || + ee[tt][1].type === "listUnordered" + ) + if (ee[tt][0] === "enter") ze.push(tt); + else { + let Pe = ze.pop(); + tt = o(ee, Pe, tt); + } + tt = -1; + while (++tt < ee.length) { + let Pe = t[ee[tt][0]]; + if (z_t.call(Pe, ee[tt][1].type)) + Pe[ee[tt][1].type].call( + Object.assign({ sliceSerialize: ee[tt][2].sliceSerialize }, we), + ee[tt][1], + ); + } + if (we.tokenStack.length > 0) { + let Pe = we.tokenStack[we.tokenStack.length - 1]; + (Pe[1] || N_t).call(we, void 0, Pe[0]); + } + ((K.position = { + start: lC( + ee.length > 0 ? ee[0][1].start : { line: 1, column: 1, offset: 0 }, + ), + end: lC( + ee.length > 0 + ? ee[ee.length - 2][1].end + : { line: 1, column: 1, offset: 0 }, + ), + }), + (tt = -1)); + while (++tt < t.transforms.length) K = t.transforms[tt](K) || K; + return K; + } + function o(ee, K, we) { + let ze = K - 1, + tt = -1, + Pe = !1, + Ke, + Ue, + Ze, + ct; + while (++ze <= we) { + let Rt = ee[ze]; + switch (Rt[1].type) { + case "listUnordered": + case "listOrdered": + case "blockQuote": { + if (Rt[0] === "enter") tt++; + else tt--; + ct = void 0; + break; + } + case "lineEndingBlank": { + if (Rt[0] === "enter") { + if (Ke && !ct && !tt && !Ze) Ze = ze; + ct = void 0; + } + break; + } + case "linePrefix": + case "listItemValue": + case "listItemMarker": + case "listItemPrefix": + case "listItemPrefixWhitespace": + break; + default: + ct = void 0; + } + if ( + (!tt && Rt[0] === "enter" && Rt[1].type === "listItemPrefix") || + (tt === -1 && + Rt[0] === "exit" && + (Rt[1].type === "listUnordered" || Rt[1].type === "listOrdered")) + ) { + if (Ke) { + let de = ze; + Ue = void 0; + while (de--) { + let ge = ee[de]; + if ( + ge[1].type === "lineEnding" || + ge[1].type === "lineEndingBlank" + ) { + if (ge[0] === "exit") continue; + if (Ue) ((ee[Ue][1].type = "lineEndingBlank"), (Pe = !0)); + ((ge[1].type = "lineEnding"), (Ue = de)); + } else if ( + ge[1].type === "linePrefix" || + ge[1].type === "blockQuotePrefix" || + ge[1].type === "blockQuotePrefixWhitespace" || + ge[1].type === "blockQuoteMarker" || + ge[1].type === "listItemIndent" + ); + else break; + } + if (Ze && (!Ue || Ze < Ue)) Ke._spread = !0; + ((Ke.end = Object.assign({}, Ue ? ee[Ue][1].start : Rt[1].end)), + ee.splice(Ue || ze, 0, ["exit", Ke, Rt[2]]), + ze++, + we++); + } + if (Rt[1].type === "listItemPrefix") { + let de = { + type: "listItem", + _spread: !1, + start: Object.assign({}, Rt[1].start), + end: void 0, + }; + ((Ke = de), + ee.splice(ze, 0, ["enter", de, Rt[2]]), + ze++, + we++, + (Ze = void 0), + (ct = !0)); + } + } + } + return ((ee[K][1]._spread = Pe), we); + } + function a(ee, K) { + return we; + function we(ze) { + if ((s.call(this, ee(ze), ze), K)) K.call(this, ze); + } + } + function i() { + this.stack.push({ type: "fragment", children: [] }); + } + function s(ee, K, we) { + (this.stack[this.stack.length - 1].children.push(ee), + this.stack.push(ee), + this.tokenStack.push([K, we || void 0]), + (ee.position = { start: lC(K.start), end: void 0 })); + } + function l(ee) { + return K; + function K(we) { + if (ee) ee.call(this, we); + c.call(this, we); + } + } + function c(ee, K) { + let we = this.stack.pop(), + ze = this.tokenStack.pop(); + if (!ze) + throw Error( + "Cannot close `" + + ee.type + + "` (" + + oC({ start: ee.start, end: ee.end }) + + "): it’s not open", + ); + else if (ze[0].type !== ee.type) + if (K) K.call(this, ee, ze[0]); + else (ze[1] || N_t).call(this, ee, ze[0]); + we.position.end = lC(ee.end); + } + function u() { + return UI(this.stack.pop()); + } + function d() { + this.data.expectingFirstListItemValue = !0; + } + function p(ee) { + if (this.data.expectingFirstListItemValue) { + let K = this.stack[this.stack.length - 2]; + ((K.start = Number.parseInt(this.sliceSerialize(ee), 10)), + (this.data.expectingFirstListItemValue = void 0)); + } + } + function f() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.lang = ee; + } + function m() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.meta = ee; + } + function g() { + if (this.data.flowCodeInside) return; + (this.buffer(), (this.data.flowCodeInside = !0)); + } + function v() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + ((K.value = ee.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, "")), + (this.data.flowCodeInside = void 0)); + } + function y() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.value = ee.replace(/(\r?\n|\r)$/g, ""); + } + function x(ee) { + let K = this.resume(), + we = this.stack[this.stack.length - 1]; + ((we.label = K), + (we.identifier = ym(this.sliceSerialize(ee)).toLowerCase())); + } + function A() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.title = ee; + } + function w() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.url = ee; + } + function C(ee) { + let K = this.stack[this.stack.length - 1]; + if (!K.depth) { + let we = this.sliceSerialize(ee).length; + K.depth = we; + } + } + function E() { + this.data.setextHeadingSlurpLineEnding = !0; + } + function T(ee) { + let K = this.stack[this.stack.length - 1]; + K.depth = this.sliceSerialize(ee).codePointAt(0) === 61 ? 1 : 2; + } + function I() { + this.data.setextHeadingSlurpLineEnding = void 0; + } + function k(ee) { + let we = this.stack[this.stack.length - 1].children, + ze = we[we.length - 1]; + if (!ze || ze.type !== "text") + ((ze = Me()), + (ze.position = { start: lC(ee.start), end: void 0 }), + we.push(ze)); + this.stack.push(ze); + } + function L(ee) { + let K = this.stack.pop(); + ((K.value += this.sliceSerialize(ee)), (K.position.end = lC(ee.end))); + } + function O(ee) { + let K = this.stack[this.stack.length - 1]; + if (this.data.atHardBreak) { + let we = K.children[K.children.length - 1]; + ((we.position.end = lC(ee.end)), (this.data.atHardBreak = void 0)); + return; + } + if ( + !this.data.setextHeadingSlurpLineEnding && + t.canContainEols.includes(K.type) + ) + (k.call(this, ee), L.call(this, ee)); + } + function B() { + this.data.atHardBreak = !0; + } + function U() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.value = ee; + } + function D() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.value = ee; + } + function N() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.value = ee; + } + function _() { + let ee = this.stack[this.stack.length - 1]; + if (this.data.inReference) { + let K = this.data.referenceType || "shortcut"; + ((ee.type += "Reference"), + (ee.referenceType = K), + delete ee.url, + delete ee.title); + } else (delete ee.identifier, delete ee.label); + this.data.referenceType = void 0; + } + function G() { + let ee = this.stack[this.stack.length - 1]; + if (this.data.inReference) { + let K = this.data.referenceType || "shortcut"; + ((ee.type += "Reference"), + (ee.referenceType = K), + delete ee.url, + delete ee.title); + } else (delete ee.identifier, delete ee.label); + this.data.referenceType = void 0; + } + function Z(ee) { + let K = this.sliceSerialize(ee), + we = this.stack[this.stack.length - 2]; + ((we.label = F_t(K)), (we.identifier = ym(K).toLowerCase())); + } + function q() { + let ee = this.stack[this.stack.length - 1], + K = this.resume(), + we = this.stack[this.stack.length - 1]; + if (((this.data.inReference = !0), we.type === "link")) { + let ze = ee.children; + we.children = ze; + } else we.alt = K; + } + function H() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.url = ee; + } + function te() { + let ee = this.resume(), + K = this.stack[this.stack.length - 1]; + K.title = ee; + } + function ie() { + this.data.inReference = void 0; + } + function j() { + this.data.referenceType = "collapsed"; + } + function oe(ee) { + let K = this.resume(), + we = this.stack[this.stack.length - 1]; + ((we.label = K), + (we.identifier = ym(this.sliceSerialize(ee)).toLowerCase()), + (this.data.referenceType = "full")); + } + function J(ee) { + this.data.characterReferenceType = ee.type; + } + function Y(ee) { + let K = this.sliceSerialize(ee), + we = this.data.characterReferenceType, + ze; + if (we) + ((ze = rse(K, we === "characterReferenceMarkerNumeric" ? 10 : 16)), + (this.data.characterReferenceType = void 0)); + else ze = nD(K); + let tt = this.stack[this.stack.length - 1]; + tt.value += ze; + } + function ae(ee) { + let K = this.stack.pop(); + K.position.end = lC(ee.end); + } + function ne(ee) { + L.call(this, ee); + let K = this.stack[this.stack.length - 1]; + K.url = this.sliceSerialize(ee); + } + function Se(ee) { + L.call(this, ee); + let K = this.stack[this.stack.length - 1]; + K.url = "mailto:" + this.sliceSerialize(ee); + } + function fe() { + return { type: "blockquote", children: [] }; + } + function Ae() { + return { type: "code", lang: null, meta: null, value: "" }; + } + function Ee() { + return { type: "inlineCode", value: "" }; + } + function pe() { + return { + type: "definition", + identifier: "", + label: null, + title: null, + url: "", + }; + } + function Re() { + return { type: "emphasis", children: [] }; + } + function Le() { + return { type: "heading", depth: 0, children: [] }; + } + function Ne() { + return { type: "break" }; + } + function be() { + return { type: "html", value: "" }; + } + function ye() { + return { type: "image", title: null, url: "", alt: null }; + } + function ce() { + return { type: "link", title: null, url: "", children: [] }; + } + function ue(ee) { + return { + type: "list", + ordered: ee.type === "listOrdered", + start: null, + spread: ee._spread, + children: [], + }; + } + function ke(ee) { + return { + type: "listItem", + spread: ee._spread, + checked: null, + children: [], + }; + } + function se() { + return { type: "paragraph", children: [] }; + } + function qe() { + return { type: "strong", children: [] }; + } + function Me() { + return { type: "text", value: "" }; + } + function Qe() { + return { type: "thematicBreak" }; + } +} +function lC(e) { + return { line: e.line, column: e.column, offset: e.offset }; +} +function __t(e, t) { + let n = -1; + while (++n < t.length) { + let r = t[n]; + if (Array.isArray(r)) __t(e, r); + else Xrr(e, r); + } +} +function Xrr(e, t) { + let n; + for (n in t) + if (z_t.call(t, n)) + switch (n) { + case "canContainEols": { + let r = t[n]; + if (r) e[n].push(...r); + break; + } + case "transforms": { + let r = t[n]; + if (r) e[n].push(...r); + break; + } + case "enter": + case "exit": { + let r = t[n]; + if (r) Object.assign(e[n], r); + break; + } + } +} +function N_t(e, t) { + if (e) + throw Error( + "Cannot close `" + + e.type + + "` (" + + oC({ start: e.start, end: e.end }) + + "): a different token (`" + + t.type + + "`, " + + oC({ start: t.start, end: t.end }) + + ") is open", + ); + else + throw Error( + "Cannot close document, a token (`" + + t.type + + "`, " + + oC({ start: t.start, end: t.end }) + + ") is still open", + ); +} +var z_t; +var H_t = P(() => { + ese(); + O_t(); + U_t(); + tse(); + E7e(); + z_t = {}.hasOwnProperty; +}); +var V_t = P(() => { + H_t(); +}); +function gse(e) { + let t = this; + t.parser = n; + function n(r) { + return oke(r, { + ...t.data("settings"), + ...e, + extensions: t.data("micromarkExtensions") || [], + mdastExtensions: t.data("fromMarkdownExtensions") || [], + }); + } +} +var G_t = P(() => { + V_t(); +}); +var q_t = P(() => { + G_t(); +}); +var yse = -1, + oD = 0, + qI = 1, + aD = 2, + wG = 3, + SG = 4, + CG = 5, + EG = 6, + vse = 7, + bse = 8; +var Wrr, + Q_t, + Z_t = (e, t) => { + switch (e) { + case "Function": + case "SharedWorker": + case "Worker": + case "eval": + case "setInterval": + case "setTimeout": + throw TypeError("unable to deserialize " + e); + } + return new Q_t[e](t); + }, + Yrr = (e, t) => { + let n = (o, a) => (e.set(a, o), o), + r = (o) => { + if (e.has(o)) return e.get(o); + let [a, i] = t[o]; + switch (a) { + case oD: + case yse: + return n(i, o); + case qI: { + let s = n([], o); + for (let l of i) s.push(r(l)); + return s; + } + case aD: { + let s = n({}, o); + for (let [l, c] of i) { + let u = r(l), + d = r(c); + if (u === "__proto__") + Wrr(s, u, { + value: d, + configurable: !0, + enumerable: !0, + writable: !0, + }); + else s[u] = d; + } + return s; + } + case wG: + return n(new Date(i), o); + case SG: { + let { source: s, flags: l } = i; + return n(new RegExp(s, l), o); + } + case CG: { + let s = n(new Map(), o); + for (let [l, c] of i) s.set(r(l), r(c)); + return s; + } + case EG: { + let s = n(new Set(), o); + for (let l of i) s.add(r(l)); + return s; + } + case vse: { + let { name: s, message: l } = i; + return n(typeof Q_t[s] === "function" ? Z_t(s, l) : Error(l), o); + } + case bse: + return n(BigInt(i), o); + case "BigInt": + return n(Object(BigInt(i)), o); + case "ArrayBuffer": + return n(new Uint8Array(i).buffer, i); + case "DataView": { + let { buffer: s } = new Uint8Array(i); + return n(new DataView(s), i); + } + case "-0": + return -0; + } + return n(Z_t(a, i), o); + }; + return r; + }, + ake = (e) => Yrr(new Map(), e)(0); +var X_t = P(() => { + (({ defineProperty: Wrr } = Object), + (Q_t = typeof self === "object" ? self : globalThis)); +}); +var ZI = "", + Krr, + Jrr, + jrr, + IG = (e) => { + let t = typeof e; + if (t !== "object" || !e) return [oD, t]; + let n = Krr.call(e).slice(8, -1); + switch (n) { + case "Array": + return [qI, ZI]; + case "Object": + return [aD, ZI]; + case "Date": + return [wG, ZI]; + case "RegExp": + return [SG, ZI]; + case "Map": + return [CG, ZI]; + case "Set": + return [EG, ZI]; + case "DataView": + return [qI, n]; + } + if (n.includes("Array")) return [qI, n]; + if (e instanceof Error) return [vse, e.name || "Error"]; + return [aD, n]; + }, + xse = ([e, t]) => e === oD && (t === "function" || t === "symbol"), + $rr = (e, t, n, r) => { + let o = (i, s) => { + let l = r.push(i) - 1; + return (n.set(s, l), l); + }, + a = (i) => { + if (n.has(i)) return n.get(i); + let [s, l] = IG(i); + switch (s) { + case oD: { + let u = i; + switch (l) { + case "bigint": + ((s = bse), (u = i.toString())); + break; + case "number": + if (!i && jrr(i, -0)) return r.push(["-0"]) - 1; + break; + case "function": + case "symbol": + if (e) throw TypeError("unable to serialize " + l); + u = null; + break; + case "undefined": + return o([yse], i); + } + return o([s, u], i); + } + case qI: { + if (l) { + let p = i; + if (l === "DataView") p = new Uint8Array(i.buffer); + else if (l === "ArrayBuffer") p = new Uint8Array(i); + return o([l, [...p]], i); + } + let u = [], + d = o([s, u], i); + for (let p of i) u.push(a(p)); + return d; + } + case aD: { + if (l) + switch (l) { + case "BigInt": + return o([l, i.toString()], i); + case "Boolean": + case "Number": + case "String": + return o([l, i.valueOf()], i); + } + if (t && "toJSON" in i) return a(i.toJSON()); + let u = [], + d = o([s, u], i); + for (let p of Jrr(i)) + if (e || !xse(IG(i[p]))) u.push([a(p), a(i[p])]); + return d; + } + case wG: + return o([s, isNaN(i.getTime()) ? ZI : i.toISOString()], i); + case SG: { + let { source: u, flags: d } = i; + return o([s, { source: u, flags: d }], i); + } + case CG: { + let u = [], + d = o([s, u], i); + for (let [p, f] of i) + if (e || !(xse(IG(p)) || xse(IG(f)))) u.push([a(p), a(f)]); + return d; + } + case EG: { + let u = [], + d = o([s, u], i); + for (let p of i) if (e || !xse(IG(p))) u.push(a(p)); + return d; + } + } + let { message: c } = i; + return o([s, { name: l, message: c }], i); + }; + return a; + }, + ike = (e, { json: t, lossy: n } = {}) => { + let r = []; + return ($rr(!(t || n), !!t, new Map(), r)(e), r); + }; +var W_t = P(() => { + (({ toString: Krr } = {}), ({ keys: Jrr, is: jrr } = Object)); +}); +var H3; +var Ase = P(() => { + X_t(); + W_t(); + H3 = + typeof structuredClone === "function" + ? (e, t) => + t && ("json" in t || "lossy" in t) + ? ake(ike(e, t)) + : structuredClone(e) + : (e, t) => ake(ike(e, t)); +}); +function eor(e, t) { + let n = [{ type: "text", value: "↩" }]; + if (t > 1) + n.push({ + type: "element", + tagName: "sup", + properties: {}, + children: [{ type: "text", value: String(t) }], + }); + return n; +} +function tor(e, t) { + return "Back to reference " + (e + 1) + (t > 1 ? "-" + t : ""); +} +function Y_t(e) { + let t = + typeof e.options.clobberPrefix === "string" + ? e.options.clobberPrefix + : "user-content-", + n = e.options.footnoteBackContent || eor, + r = e.options.footnoteBackLabel || tor, + o = e.options.footnoteLabel || "Footnotes", + a = e.options.footnoteLabelTagName || "h2", + i = e.options.footnoteLabelProperties || { className: ["sr-only"] }, + s = [], + l = -1; + while (++l < e.footnoteOrder.length) { + let c = e.footnoteById.get(e.footnoteOrder[l]); + if (!c) continue; + let u = e.all(c), + d = String(c.identifier).toUpperCase(), + p = xy(d.toLowerCase()), + f = 0, + m = [], + g = e.footnoteCounts.get(d); + while (g !== void 0 && ++f <= g) { + if (m.length > 0) m.push({ type: "text", value: " " }); + let x = typeof n === "string" ? n : n(l, f); + if (typeof x === "string") x = { type: "text", value: x }; + m.push({ + type: "element", + tagName: "a", + properties: { + href: "#" + t + "fnref-" + p + (f > 1 ? "-" + f : ""), + dataFootnoteBackref: "", + ariaLabel: typeof r === "string" ? r : r(l, f), + className: ["data-footnote-backref"], + }, + children: Array.isArray(x) ? x : [x], + }); + } + let v = u[u.length - 1]; + if (v && v.type === "element" && v.tagName === "p") { + let x = v.children[v.children.length - 1]; + if (x && x.type === "text") x.value += " "; + else v.children.push({ type: "text", value: " " }); + v.children.push(...m); + } else u.push(...m); + let y = { + type: "element", + tagName: "li", + properties: { id: t + "fn-" + p }, + children: e.wrap(u, !0), + }; + (e.patch(c, y), s.push(y)); + } + if (s.length === 0) return; + return { + type: "element", + tagName: "section", + properties: { dataFootnotes: !0, className: ["footnotes"] }, + children: [ + { + type: "element", + tagName: a, + properties: { ...H3(i), id: "footnote-label" }, + children: [{ type: "text", value: o }], + }, + { + type: "text", + value: ` +`, + }, + { + type: "element", + tagName: "ol", + properties: {}, + children: e.wrap(s, !0), + }, + { + type: "text", + value: ` +`, + }, + ], + }; +} +var K_t = P(() => { + Ase(); + _I(); +}); +function nor(e) { + let t = [], + n = -1; + while (++n < e.length) t[n] = cC(e[n]); + return wse(r); + function r(...o) { + let a = -1; + while (++a < t.length) if (t[a].apply(this, o)) return !0; + return !1; + } +} +function ror(e) { + let t = e; + return wse(n); + function n(r) { + let o = r, + a; + for (a in e) if (o[a] !== t[a]) return !1; + return !0; + } +} +function oor(e) { + return wse(t); + function t(n) { + return n && n.type === e; + } +} +function wse(e) { + return t; + function t(n, r, o) { + return Boolean( + ior(n) && + e.call(this, n, typeof r === "number" ? r : void 0, o || void 0), + ); + } +} +function aor() { + return !0; +} +function ior(e) { + return e !== null && typeof e === "object" && "type" in e; +} +var cC = function (e) { + if (e === null || e === void 0) return aor; + if (typeof e === "function") return wse(e); + if (typeof e === "object") return Array.isArray(e) ? nor(e) : ror(e); + if (typeof e === "string") return oor(e); + throw Error("Expected function, string, or object as test"); +}; +var Sse = () => {}; +function J_t(e) { + return e; +} +function TG(e, t, n, r) { + let o; + if (typeof t === "function" && typeof n !== "function") ((r = n), (n = t)); + else o = t; + let a = cC(o), + i = r ? -1 : 1; + s(e, void 0, [])(); + function s(l, c, u) { + let d = l && typeof l === "object" ? l : {}; + if (typeof d.type === "string") { + let f = + typeof d.tagName === "string" + ? d.tagName + : typeof d.name === "string" + ? d.name + : void 0; + Object.defineProperty(p, "name", { + value: "node (" + J_t(l.type + (f ? "<" + f + ">" : "")) + ")", + }); + } + return p; + function p() { + let f = j_t, + m, + g, + v; + if (!t || a(l, c, u[u.length - 1] || void 0)) { + if (((f = sor(n(l, u))), f[0] === QI)) return f; + } + if ("children" in l && l.children) { + let y = l; + if (y.children && f[0] !== Ese) { + ((g = (r ? y.children.length : -1) + i), (v = u.concat(y))); + while (g > -1 && g < y.children.length) { + let x = y.children[g]; + if (((m = s(x, g, v)()), m[0] === QI)) return m; + g = typeof m[1] === "number" ? m[1] : g + i; + } + } + } + return f; + } + } +} +function sor(e) { + if (Array.isArray(e)) return e; + if (typeof e === "number") return [Cse, e]; + return e === null || e === void 0 ? j_t : [e]; +} +var j_t, + Cse = !0, + QI = !1, + Ese = "skip"; +var $_t = P(() => { + Sse(); + j_t = []; +}); +var Ise = P(() => { + $_t(); +}); +function V3(e, t, n, r) { + let o, a, i; + if (typeof t === "function" && typeof n !== "function") + ((a = void 0), (i = t), (o = n)); + else ((a = t), (i = n), (o = r)); + TG(e, a, s, o); + function s(l, c) { + let u = c[c.length - 1], + d = u ? u.children.indexOf(l) : void 0; + return i(l, d, u); + } +} +var eHt = P(() => { + Ise(); + Ise(); +}); +var kG = P(() => { + eHt(); +}); +function tHt(e, t) { + let n = { + type: "element", + tagName: "blockquote", + properties: {}, + children: e.wrap(e.all(t), !0), + }; + return (e.patch(t, n), e.applyData(t, n)); +} +function nHt(e, t) { + let n = { type: "element", tagName: "br", properties: {}, children: [] }; + return ( + e.patch(t, n), + [ + e.applyData(t, n), + { + type: "text", + value: ` +`, + }, + ] + ); +} +function rHt(e, t) { + let n = t.value + ? t.value + + ` +` + : "", + r = {}, + o = t.lang ? t.lang.split(/\s+/) : []; + if (o.length > 0) r.className = ["language-" + o[0]]; + let a = { + type: "element", + tagName: "code", + properties: r, + children: [{ type: "text", value: n }], + }; + if (t.meta) a.data = { meta: t.meta }; + return ( + e.patch(t, a), + (a = e.applyData(t, a)), + (a = { type: "element", tagName: "pre", properties: {}, children: [a] }), + e.patch(t, a), + a + ); +} +function oHt(e, t) { + let n = { + type: "element", + tagName: "del", + properties: {}, + children: e.all(t), + }; + return (e.patch(t, n), e.applyData(t, n)); +} +function aHt(e, t) { + let n = { + type: "element", + tagName: "em", + properties: {}, + children: e.all(t), + }; + return (e.patch(t, n), e.applyData(t, n)); +} +function iHt(e, t) { + let n = + typeof e.options.clobberPrefix === "string" + ? e.options.clobberPrefix + : "user-content-", + r = String(t.identifier).toUpperCase(), + o = xy(r.toLowerCase()), + a = e.footnoteOrder.indexOf(r), + i, + s = e.footnoteCounts.get(r); + if (s === void 0) + ((s = 0), e.footnoteOrder.push(r), (i = e.footnoteOrder.length)); + else i = a + 1; + ((s += 1), e.footnoteCounts.set(r, s)); + let l = { + type: "element", + tagName: "a", + properties: { + href: "#" + n + "fn-" + o, + id: n + "fnref-" + o + (s > 1 ? "-" + s : ""), + dataFootnoteRef: !0, + ariaDescribedBy: ["footnote-label"], + }, + children: [{ type: "text", value: String(i) }], + }; + e.patch(t, l); + let c = { type: "element", tagName: "sup", properties: {}, children: [l] }; + return (e.patch(t, c), e.applyData(t, c)); +} +var sHt = P(() => { + _I(); +}); +function lHt(e, t) { + let n = { + type: "element", + tagName: "h" + t.depth, + properties: {}, + children: e.all(t), + }; + return (e.patch(t, n), e.applyData(t, n)); +} +function cHt(e, t) { + if (e.options.allowDangerousHtml) { + let n = { type: "raw", value: t.value }; + return (e.patch(t, n), e.applyData(t, n)); + } + return; +} +function Tse(e, t) { + let n = t.referenceType, + r = "]"; + if (n === "collapsed") r += "[]"; + else if (n === "full") r += "[" + (t.label || t.identifier) + "]"; + if (t.type === "imageReference") + return [{ type: "text", value: "![" + t.alt + r }]; + let o = e.all(t), + a = o[0]; + if (a && a.type === "text") a.value = "[" + a.value; + else o.unshift({ type: "text", value: "[" }); + let i = o[o.length - 1]; + if (i && i.type === "text") i.value += r; + else o.push({ type: "text", value: r }); + return o; +} +function uHt(e, t) { + let n = String(t.identifier).toUpperCase(), + r = e.definitionById.get(n); + if (!r) return Tse(e, t); + let o = { src: xy(r.url || ""), alt: t.alt }; + if (r.title !== null && r.title !== void 0) o.title = r.title; + let a = { type: "element", tagName: "img", properties: o, children: [] }; + return (e.patch(t, a), e.applyData(t, a)); +} +var dHt = P(() => { + _I(); +}); +function pHt(e, t) { + let n = { src: xy(t.url) }; + if (t.alt !== null && t.alt !== void 0) n.alt = t.alt; + if (t.title !== null && t.title !== void 0) n.title = t.title; + let r = { type: "element", tagName: "img", properties: n, children: [] }; + return (e.patch(t, r), e.applyData(t, r)); +} +var fHt = P(() => { + _I(); +}); +function mHt(e, t) { + let n = { type: "text", value: t.value.replace(/\r?\n|\r/g, " ") }; + e.patch(t, n); + let r = { type: "element", tagName: "code", properties: {}, children: [n] }; + return (e.patch(t, r), e.applyData(t, r)); +} +function hHt(e, t) { + let n = String(t.identifier).toUpperCase(), + r = e.definitionById.get(n); + if (!r) return Tse(e, t); + let o = { href: xy(r.url || "") }; + if (r.title !== null && r.title !== void 0) o.title = r.title; + let a = { type: "element", tagName: "a", properties: o, children: e.all(t) }; + return (e.patch(t, a), e.applyData(t, a)); +} +var gHt = P(() => { + _I(); +}); +function yHt(e, t) { + let n = { href: xy(t.url) }; + if (t.title !== null && t.title !== void 0) n.title = t.title; + let r = { type: "element", tagName: "a", properties: n, children: e.all(t) }; + return (e.patch(t, r), e.applyData(t, r)); +} +var vHt = P(() => { + _I(); +}); +function bHt(e, t, n) { + let r = e.all(t), + o = n ? lor(n) : xHt(t), + a = {}, + i = []; + if (typeof t.checked === "boolean") { + let u = r[0], + d; + if (u && u.type === "element" && u.tagName === "p") d = u; + else + ((d = { type: "element", tagName: "p", properties: {}, children: [] }), + r.unshift(d)); + if (d.children.length > 0) d.children.unshift({ type: "text", value: " " }); + (d.children.unshift({ + type: "element", + tagName: "input", + properties: { type: "checkbox", checked: t.checked, disabled: !0 }, + children: [], + }), + (a.className = ["task-list-item"])); + } + let s = -1; + while (++s < r.length) { + let u = r[s]; + if (o || s !== 0 || u.type !== "element" || u.tagName !== "p") + i.push({ + type: "text", + value: ` +`, + }); + if (u.type === "element" && u.tagName === "p" && !o) i.push(...u.children); + else i.push(u); + } + let l = r[r.length - 1]; + if (l && (o || l.type !== "element" || l.tagName !== "p")) + i.push({ + type: "text", + value: ` +`, + }); + let c = { type: "element", tagName: "li", properties: a, children: i }; + return (e.patch(t, c), e.applyData(t, c)); +} +function lor(e) { + let t = !1; + if (e.type === "list") { + t = e.spread || !1; + let n = e.children, + r = -1; + while (!t && ++r < n.length) t = xHt(n[r]); + } + return t; +} +function xHt(e) { + let t = e.spread; + return t === null || t === void 0 ? e.children.length > 1 : t; +} +function AHt(e, t) { + let n = {}, + r = e.all(t), + o = -1; + if (typeof t.start === "number" && t.start !== 1) n.start = t.start; + while (++o < r.length) { + let i = r[o]; + if ( + i.type === "element" && + i.tagName === "li" && + i.properties && + Array.isArray(i.properties.className) && + i.properties.className.includes("task-list-item") + ) { + n.className = ["contains-task-list"]; + break; + } + } + let a = { + type: "element", + tagName: t.ordered ? "ol" : "ul", + properties: n, + children: e.wrap(r, !0), + }; + return (e.patch(t, a), e.applyData(t, a)); +} +function wHt(e, t) { + let n = { type: "element", tagName: "p", properties: {}, children: e.all(t) }; + return (e.patch(t, n), e.applyData(t, n)); +} +function SHt(e, t) { + let n = { type: "root", children: e.wrap(e.all(t)) }; + return (e.patch(t, n), e.applyData(t, n)); +} +function CHt(e, t) { + let n = { + type: "element", + tagName: "strong", + properties: {}, + children: e.all(t), + }; + return (e.patch(t, n), e.applyData(t, n)); +} +function EHt(e, t) { + let n = e.all(t), + r = n.shift(), + o = []; + if (r) { + let i = { + type: "element", + tagName: "thead", + properties: {}, + children: e.wrap([r], !0), + }; + (e.patch(t.children[0], i), o.push(i)); + } + if (n.length > 0) { + let i = { + type: "element", + tagName: "tbody", + properties: {}, + children: e.wrap(n, !0), + }, + s = x0(t.children[1]), + l = FI(t.children[t.children.length - 1]); + if (s && l) i.position = { start: s, end: l }; + o.push(i); + } + let a = { + type: "element", + tagName: "table", + properties: {}, + children: e.wrap(o, !0), + }; + return (e.patch(t, a), e.applyData(t, a)); +} +var IHt = P(() => { + fG(); +}); +function THt(e, t, n) { + let r = n ? n.children : void 0, + a = (r ? r.indexOf(t) : 1) === 0 ? "th" : "td", + i = n && n.type === "table" ? n.align : void 0, + s = i ? i.length : t.children.length, + l = -1, + c = []; + while (++l < s) { + let d = t.children[l], + p = {}, + f = i ? i[l] : void 0; + if (f) p.align = f; + let m = { type: "element", tagName: a, properties: p, children: [] }; + if (d) ((m.children = e.all(d)), e.patch(d, m), (m = e.applyData(d, m))); + c.push(m); + } + let u = { + type: "element", + tagName: "tr", + properties: {}, + children: e.wrap(c, !0), + }; + return (e.patch(t, u), e.applyData(t, u)); +} +function kHt(e, t) { + let n = { + type: "element", + tagName: "td", + properties: {}, + children: e.all(t), + }; + return (e.patch(t, n), e.applyData(t, n)); +} +function PHt(e) { + let t = String(e), + n = /\r?\n|\r/g, + r = n.exec(t), + o = 0, + a = []; + while (r) + (a.push(RHt(t.slice(o, r.index), o > 0, !0), r[0]), + (o = r.index + r[0].length), + (r = n.exec(t))); + return (a.push(RHt(t.slice(o), o > 0, !1)), a.join("")); +} +function RHt(e, t, n) { + let r = 0, + o = e.length; + if (t) { + let a = e.codePointAt(r); + while (a === 9 || a === 32) (r++, (a = e.codePointAt(r))); + } + if (n) { + let a = e.codePointAt(o - 1); + while (a === 9 || a === 32) (o--, (a = e.codePointAt(o - 1))); + } + return o > r ? e.slice(r, o) : ""; +} +function MHt(e, t) { + let n = { type: "text", value: PHt(String(t.value)) }; + return (e.patch(t, n), e.applyData(t, n)); +} +var DHt = () => {}; +function LHt(e, t) { + let n = { type: "element", tagName: "hr", properties: {}, children: [] }; + return (e.patch(t, n), e.applyData(t, n)); +} +function kse() { + return; +} +var BHt; +var OHt = P(() => { + sHt(); + dHt(); + fHt(); + gHt(); + vHt(); + IHt(); + DHt(); + BHt = { + blockquote: tHt, + break: nHt, + code: rHt, + delete: oHt, + emphasis: aHt, + footnoteReference: iHt, + heading: lHt, + html: cHt, + imageReference: uHt, + image: pHt, + inlineCode: mHt, + linkReference: hHt, + link: yHt, + listItem: bHt, + list: AHt, + paragraph: wHt, + root: SHt, + strong: CHt, + table: EHt, + tableCell: kHt, + tableRow: THt, + text: MHt, + thematicBreak: LHt, + toml: kse, + yaml: kse, + definition: kse, + footnoteDefinition: kse, + }; +}); +function UHt(e, t) { + let n = t || cor, + r = new Map(), + o = new Map(), + a = new Map(), + i = { ...BHt, ...n.handlers }, + s = { + all: c, + applyData: dor, + definitionById: r, + footnoteById: o, + footnoteCounts: a, + footnoteOrder: [], + handlers: i, + one: l, + options: n, + patch: uor, + wrap: mor, + }; + return ( + V3(e, function (u) { + if (u.type === "definition" || u.type === "footnoteDefinition") { + let d = u.type === "definition" ? r : o, + p = String(u.identifier).toUpperCase(); + if (!d.has(p)) d.set(p, u); + } + }), + s + ); + function l(u, d) { + let p = u.type, + f = s.handlers[p]; + if (ske.call(s.handlers, p) && f) return f(s, u, d); + if (s.options.passThrough && s.options.passThrough.includes(p)) { + if ("children" in u) { + let { children: g, ...v } = u, + y = H3(v); + return ((y.children = s.all(u)), y); + } + return H3(u); + } + return (s.options.unknownHandler || por)(s, u, d); + } + function c(u) { + let d = []; + if ("children" in u) { + let p = u.children, + f = -1; + while (++f < p.length) { + let m = s.one(p[f], u); + if (m) { + if (f && p[f - 1].type === "break") { + if (!Array.isArray(m) && m.type === "text") m.value = FHt(m.value); + if (!Array.isArray(m) && m.type === "element") { + let g = m.children[0]; + if (g && g.type === "text") g.value = FHt(g.value); + } + } + if (Array.isArray(m)) d.push(...m); + else d.push(m); + } + } + } + return d; + } +} +function uor(e, t) { + if (e.position) t.position = S7e(e); +} +function dor(e, t) { + let n = t; + if (e && e.data) { + let r = e.data.hName, + o = e.data.hChildren, + a = e.data.hProperties; + if (typeof r === "string") + if (n.type === "element") n.tagName = r; + else { + let i = "children" in n ? n.children : [n]; + n = { type: "element", tagName: r, properties: {}, children: i }; + } + if (n.type === "element" && a) Object.assign(n.properties, H3(a)); + if ("children" in n && n.children && o !== null && o !== void 0) + n.children = o; + } + return n; +} +function por(e, t) { + let n = t.data || {}, + r = + "value" in t && !(ske.call(n, "hProperties") || ske.call(n, "hChildren")) + ? { type: "text", value: t.value } + : { + type: "element", + tagName: "div", + properties: {}, + children: e.all(t), + }; + return (e.patch(t, r), e.applyData(t, r)); +} +function mor(e, t) { + let n = [], + r = -1; + if (t) + n.push({ + type: "text", + value: ` +`, + }); + while (++r < e.length) { + if (r) + n.push({ + type: "text", + value: ` +`, + }); + n.push(e[r]); + } + if (t && e.length > 0) + n.push({ + type: "text", + value: ` +`, + }); + return n; +} +function FHt(e) { + let t = 0, + n = e.charCodeAt(t); + while (n === 9 || n === 32) (t++, (n = e.charCodeAt(t))); + return e.slice(t); +} +var ske, cor; +var NHt = P(() => { + Ase(); + kG(); + fG(); + OHt(); + ((ske = {}.hasOwnProperty), (cor = {})); +}); +function Rse(e, t) { + let n = UHt(e, t), + r = n.one(e, void 0), + o = Y_t(n), + a = Array.isArray(r) + ? { type: "root", children: r } + : r || { type: "root", children: [] }; + if (o) + (Za("children" in a), + a.children.push( + { + type: "text", + value: ` +`, + }, + o, + )); + return a; +} +var zHt = P(() => { + K_t(); + NHt(); +}); +var _Ht = P(() => { + zHt(); +}); +function Pse(e, t) { + if (e && "run" in e) + return async function (n, r) { + let o = Rse(n, { file: r, ...t }); + await e.run(o, r); + }; + return function (n, r) { + return Rse(n, { file: r, ...(e || t) }); + }; +} +var HHt = P(() => { + _Ht(); +}); +var VHt = P(() => { + HHt(); +}); +function lke(e) { + if (e) throw e; +} +var JHt = me(function (ema, KHt) { + var Mse = Object.prototype.hasOwnProperty, + YHt = Object.prototype.toString, + { defineProperty: GHt, getOwnPropertyDescriptor: qHt } = Object, + ZHt = function (t) { + if (typeof Array.isArray === "function") return Array.isArray(t); + return YHt.call(t) === "[object Array]"; + }, + QHt = function (t) { + if (!t || YHt.call(t) !== "[object Object]") return !1; + var n = Mse.call(t, "constructor"), + r = + t.constructor && + t.constructor.prototype && + Mse.call(t.constructor.prototype, "isPrototypeOf"); + if (t.constructor && !n && !r) return !1; + var o; + for (o in t); + return typeof o > "u" || Mse.call(t, o); + }, + XHt = function (t, n) { + if (GHt && n.name === "__proto__") + GHt(t, n.name, { + enumerable: !0, + configurable: !0, + value: n.newValue, + writable: !0, + }); + else t[n.name] = n.newValue; + }, + WHt = function (t, n) { + if (n === "__proto__") { + if (!Mse.call(t, n)) return; + else if (qHt) return qHt(t, n).value; + } + return t[n]; + }; + KHt.exports = function e() { + var t, + n, + r, + o, + a, + i, + s = arguments[0], + l = 1, + c = arguments.length, + u = !1; + if (typeof s === "boolean") ((u = s), (s = arguments[1] || {}), (l = 2)); + if (s == null || (typeof s !== "object" && typeof s !== "function")) s = {}; + for (; l < c; ++l) + if (((t = arguments[l]), t != null)) { + for (n in t) + if (((r = WHt(s, n)), (o = WHt(t, n)), s !== o)) { + if (u && o && (QHt(o) || (a = ZHt(o)))) { + if (a) ((a = !1), (i = r && ZHt(r) ? r : [])); + else i = r && QHt(r) ? r : {}; + XHt(s, { name: n, newValue: e(u, i, o) }); + } else if (typeof o < "u") XHt(s, { name: n, newValue: o }); + } + } + return s; + }; +}); +function RG(e) { + if (typeof e !== "object" || e === null) return !1; + let t = Object.getPrototypeOf(e); + return ( + (t === null || + t === Object.prototype || + Object.getPrototypeOf(t) === null) && + !(Symbol.toStringTag in e) && + !(Symbol.iterator in e) + ); +} +function cke() { + let e = [], + t = { run: n, use: r }; + return t; + function n(...o) { + let a = -1, + i = o.pop(); + if (typeof i !== "function") + throw TypeError("Expected function as last argument, not " + i); + s(null, ...o); + function s(l, ...c) { + let u = e[++a], + d = -1; + if (l) { + i(l); + return; + } + while (++d < o.length) if (c[d] === null || c[d] === void 0) c[d] = o[d]; + if (((o = c), u)) jHt(u, s)(...c); + else i(null, ...c); + } + } + function r(o) { + if (typeof o !== "function") + throw TypeError("Expected `middelware` to be a function, not " + o); + return (e.push(o), t); + } +} +function jHt(e, t) { + let n; + return r; + function r(...i) { + let s = e.length > i.length, + l; + if (s) i.push(o); + try { + l = e.apply(this, i); + } catch (c) { + let u = c; + if (s && n) throw u; + return o(u); + } + if (!s) + if (l && l.then && typeof l.then === "function") l.then(a, o); + else if (l instanceof Error) o(l); + else a(l); + } + function o(i, ...s) { + if (!n) ((n = !0), t(i, ...s)); + } + function a(i) { + o(null, i); + } +} +var $Ht = () => {}; +function hor(e, t) { + if (t !== void 0 && typeof t !== "string") + throw TypeError('"ext" argument must be a string'); + PG(e); + let n = 0, + r = -1, + o = e.length, + a; + if (t === void 0 || t.length === 0 || t.length > e.length) { + while (o--) + if (e.codePointAt(o) === 47) { + if (a) { + n = o + 1; + break; + } + } else if (r < 0) ((a = !0), (r = o + 1)); + return r < 0 ? "" : e.slice(n, r); + } + if (t === e) return ""; + let i = -1, + s = t.length - 1; + while (o--) + if (e.codePointAt(o) === 47) { + if (a) { + n = o + 1; + break; + } + } else { + if (i < 0) ((a = !0), (i = o + 1)); + if (s > -1) + if (e.codePointAt(o) === t.codePointAt(s--)) { + if (s < 0) r = o; + } else ((s = -1), (r = i)); + } + if (n === r) r = i; + else if (r < 0) r = e.length; + return e.slice(n, r); +} +function gor(e) { + if ((PG(e), e.length === 0)) return "."; + let t = -1, + n = e.length, + r; + while (--n) + if (e.codePointAt(n) === 47) { + if (r) { + t = n; + break; + } + } else if (!r) r = !0; + return t < 0 + ? e.codePointAt(0) === 47 + ? "/" + : "." + : t === 1 && e.codePointAt(0) === 47 + ? "//" + : e.slice(0, t); +} +function yor(e) { + PG(e); + let t = e.length, + n = -1, + r = 0, + o = -1, + a = 0, + i; + while (t--) { + let s = e.codePointAt(t); + if (s === 47) { + if (i) { + r = t + 1; + break; + } + continue; + } + if (n < 0) ((i = !0), (n = t + 1)); + if (s === 46) { + if (o < 0) o = t; + else if (a !== 1) a = 1; + } else if (o > -1) a = -1; + } + if (o < 0 || n < 0 || a === 0 || (a === 1 && o === n - 1 && o === r + 1)) + return ""; + return e.slice(o, n); +} +function vor(...e) { + let t = -1, + n; + while (++t < e.length) + if ((PG(e[t]), e[t])) n = n === void 0 ? e[t] : n + "/" + e[t]; + return n === void 0 ? "." : bor(n); +} +function bor(e) { + PG(e); + let t = e.codePointAt(0) === 47, + n = xor(e, !t); + if (n.length === 0 && !t) n = "."; + if (n.length > 0 && e.codePointAt(e.length - 1) === 47) n += "/"; + return t ? "/" + n : n; +} +function xor(e, t) { + let n = "", + r = 0, + o = -1, + a = 0, + i = -1, + s, + l; + while (++i <= e.length) { + if (i < e.length) s = e.codePointAt(i); + else if (s === 47) break; + else s = 47; + if (s === 47) { + if (o === i - 1 || a === 1); + else if (o !== i - 1 && a === 2) { + if ( + n.length < 2 || + r !== 2 || + n.codePointAt(n.length - 1) !== 46 || + n.codePointAt(n.length - 2) !== 46 + ) { + if (n.length > 2) { + if (((l = n.lastIndexOf("/")), l !== n.length - 1)) { + if (l < 0) ((n = ""), (r = 0)); + else + ((n = n.slice(0, l)), (r = n.length - 1 - n.lastIndexOf("/"))); + ((o = i), (a = 0)); + continue; + } + } else if (n.length > 0) { + ((n = ""), (r = 0), (o = i), (a = 0)); + continue; + } + } + if (t) ((n = n.length > 0 ? n + "/.." : ".."), (r = 2)); + } else { + if (n.length > 0) n += "/" + e.slice(o + 1, i); + else n = e.slice(o + 1, i); + r = i - o - 1; + } + ((o = i), (a = 0)); + } else if (s === 46 && a > -1) a++; + else a = -1; + } + return n; +} +function PG(e) { + if (typeof e !== "string") + throw TypeError("Path must be a string. Received " + JSON.stringify(e)); +} +var Z2; +var eVt = P(() => { + Z2 = { basename: hor, dirname: gor, extname: yor, join: vor, sep: "/" }; +}); +function Aor() { + return "/"; +} +var tVt; +var nVt = P(() => { + tVt = { cwd: Aor }; +}); +function iD(e) { + return Boolean( + e !== null && + typeof e === "object" && + "href" in e && + e.href && + "protocol" in e && + e.protocol && + e.auth === void 0, + ); +} +function rVt(e) { + if (typeof e === "string") e = new URL(e); + else if (!iD(e)) { + let t = TypeError( + 'The "path" argument must be of type string or an instance of URL. Received `' + + e + + "`", + ); + throw ((t.code = "ERR_INVALID_ARG_TYPE"), t); + } + if (e.protocol !== "file:") { + let t = TypeError("The URL must be of scheme file"); + throw ((t.code = "ERR_INVALID_URL_SCHEME"), t); + } + return wor(e); +} +function wor(e) { + if (e.hostname !== "") { + let r = TypeError('File URL host must be "localhost" or empty on darwin'); + throw ((r.code = "ERR_INVALID_FILE_URL_HOST"), r); + } + let t = e.pathname, + n = -1; + while (++n < t.length) + if (t.codePointAt(n) === 37 && t.codePointAt(n + 1) === 50) { + let r = t.codePointAt(n + 2); + if (r === 70 || r === 102) { + let o = TypeError( + "File URL path must not include encoded / characters", + ); + throw ((o.code = "ERR_INVALID_FILE_URL_PATH"), o); + } + } + return decodeURIComponent(t); +} +var oVt = () => {}; +class sD { + constructor(e) { + let t; + if (!e) t = {}; + else if (iD(e)) t = { path: e }; + else if (typeof e === "string" || Sor(e)) t = { value: e }; + else t = e; + ((this.cwd = "cwd" in t ? "" : tVt.cwd()), + (this.data = {}), + (this.history = []), + (this.messages = []), + this.value, + this.map, + this.result, + this.stored); + let n = -1; + while (++n < uke.length) { + let o = uke[n]; + if (o in t && t[o] !== void 0 && t[o] !== null) + this[o] = o === "history" ? [...t[o]] : t[o]; + } + let r; + for (r in t) if (!uke.includes(r)) this[r] = t[r]; + } + get basename() { + return typeof this.path === "string" ? Z2.basename(this.path) : void 0; + } + set basename(e) { + (pke(e, "basename"), + dke(e, "basename"), + (this.path = Z2.join(this.dirname || "", e))); + } + get dirname() { + return typeof this.path === "string" ? Z2.dirname(this.path) : void 0; + } + set dirname(e) { + (aVt(this.basename, "dirname"), + (this.path = Z2.join(e || "", this.basename))); + } + get extname() { + return typeof this.path === "string" ? Z2.extname(this.path) : void 0; + } + set extname(e) { + if ((dke(e, "extname"), aVt(this.dirname, "extname"), e)) { + if (e.codePointAt(0) !== 46) throw Error("`extname` must start with `.`"); + if (e.includes(".", 1)) + throw Error("`extname` cannot contain multiple dots"); + } + this.path = Z2.join(this.dirname, this.stem + (e || "")); + } + get path() { + return this.history[this.history.length - 1]; + } + set path(e) { + if (iD(e)) e = rVt(e); + if ((pke(e, "path"), this.path !== e)) this.history.push(e); + } + get stem() { + return typeof this.path === "string" + ? Z2.basename(this.path, this.extname) + : void 0; + } + set stem(e) { + (pke(e, "stem"), + dke(e, "stem"), + (this.path = Z2.join(this.dirname || "", e + (this.extname || "")))); + } + fail(e, t, n) { + let r = this.message(e, t, n); + throw ((r.fatal = !0), r); + } + info(e, t, n) { + let r = this.message(e, t, n); + return ((r.fatal = void 0), r); + } + message(e, t, n) { + let r = new Pd(e, t, n); + if (this.path) ((r.name = this.path + ":" + r.name), (r.file = this.path)); + return ((r.fatal = !1), this.messages.push(r), r); + } + toString(e) { + if (this.value === void 0) return ""; + if (typeof this.value === "string") return this.value; + return new TextDecoder(e || void 0).decode(this.value); + } +} +function dke(e, t) { + if (e && e.includes(Z2.sep)) + throw Error( + "`" + t + "` cannot be a path: did not expect `" + Z2.sep + "`", + ); +} +function pke(e, t) { + if (!e) throw Error("`" + t + "` cannot be empty"); +} +function aVt(e, t) { + if (!e) throw Error("Setting `" + t + "` requires `path` to be set too"); +} +function Sor(e) { + return Boolean( + e && typeof e === "object" && "byteLength" in e && "byteOffset" in e, + ); +} +var uke; +var iVt = P(() => { + I7e(); + eVt(); + nVt(); + oVt(); + uke = ["history", "path", "basename", "stem", "extname", "dirname"]; +}); +var fke = P(() => { + iVt(); +}); +var sVt = function (e) { + let r = this.constructor.prototype, + o = r[e], + a = function () { + return o.apply(a, arguments); + }; + return (Object.setPrototypeOf(a, r), a); +}; +function mke(e, t) { + if (typeof t !== "function") + throw TypeError("Cannot `" + e + "` without `parser`"); +} +function hke(e, t) { + if (typeof t !== "function") + throw TypeError("Cannot `" + e + "` without `compiler`"); +} +function gke(e, t) { + if (t) + throw Error( + "Cannot call `" + + e + + "` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.", + ); +} +function lVt(e) { + if (!RG(e) || typeof e.type !== "string") + throw TypeError("Expected node, got `" + e + "`"); +} +function cVt(e, t, n) { + if (!n) throw Error("`" + e + "` finished async. Use `" + t + "` instead"); +} +function Dse(e) { + return Eor(e) ? e : new sD(e); +} +function Eor(e) { + return Boolean( + e && typeof e === "object" && "message" in e && "messages" in e, + ); +} +function Ior(e) { + return typeof e === "string" || Tor(e); +} +function Tor(e) { + return Boolean( + e && typeof e === "object" && "byteLength" in e && "byteOffset" in e, + ); +} +var Lse, Cor, yke, vke; +var uVt = P(() => { + $Ht(); + fke(); + ((Lse = z(JHt(), 1)), (Cor = {}.hasOwnProperty)); + yke = class yke extends sVt { + constructor() { + super("copy"); + ((this.Compiler = void 0), + (this.Parser = void 0), + (this.attachers = []), + (this.compiler = void 0), + (this.freezeIndex = -1), + (this.frozen = void 0), + (this.namespace = {}), + (this.parser = void 0), + (this.transformers = cke())); + } + copy() { + let e = new yke(), + t = -1; + while (++t < this.attachers.length) { + let n = this.attachers[t]; + e.use(...n); + } + return (e.data(Lse.default(!0, {}, this.namespace)), e); + } + data(e, t) { + if (typeof e === "string") { + if (arguments.length === 2) + return (gke("data", this.frozen), (this.namespace[e] = t), this); + return (Cor.call(this.namespace, e) && this.namespace[e]) || void 0; + } + if (e) return (gke("data", this.frozen), (this.namespace = e), this); + return this.namespace; + } + freeze() { + if (this.frozen) return this; + let e = this; + while (++this.freezeIndex < this.attachers.length) { + let [t, ...n] = this.attachers[this.freezeIndex]; + if (n[0] === !1) continue; + if (n[0] === !0) n[0] = void 0; + let r = t.call(e, ...n); + if (typeof r === "function") this.transformers.use(r); + } + return ( + (this.frozen = !0), + (this.freezeIndex = Number.POSITIVE_INFINITY), + this + ); + } + parse(e) { + this.freeze(); + let t = Dse(e), + n = this.parser || this.Parser; + return (mke("parse", n), n(String(t), t)); + } + process(e, t) { + let n = this; + return ( + this.freeze(), + mke("process", this.parser || this.Parser), + hke("process", this.compiler || this.Compiler), + t ? r(void 0, t) : new Promise(r) + ); + function r(o, a) { + let i = Dse(e), + s = n.parse(i); + n.run(s, i, function (c, u, d) { + if (c || !u || !d) return l(c); + let p = u, + f = n.stringify(p, d); + if (Ior(f)) d.value = f; + else d.result = f; + l(c, d); + }); + function l(c, u) { + if (c || !u) a(c); + else if (o) o(u); + else (Za(t, "`done` is defined if `resolve` is not"), t(void 0, u)); + } + } + } + processSync(e) { + let t = !1, + n; + return ( + this.freeze(), + mke("processSync", this.parser || this.Parser), + hke("processSync", this.compiler || this.Compiler), + this.process(e, r), + cVt("processSync", "process", t), + Za(n, "we either bailed on an error or have a tree"), + n + ); + function r(o, a) { + ((t = !0), lke(o), (n = a)); + } + } + run(e, t, n) { + (lVt(e), this.freeze()); + let r = this.transformers; + if (!n && typeof t === "function") ((n = t), (t = void 0)); + return n ? o(void 0, n) : new Promise(o); + function o(a, i) { + Za( + typeof t !== "function", + "`file` can’t be a `done` anymore, we checked", + ); + let s = Dse(t); + r.run(e, s, l); + function l(c, u, d) { + let p = u || e; + if (c) i(c); + else if (a) a(p); + else + (Za(n, "`done` is defined if `resolve` is not"), n(void 0, p, d)); + } + } + } + runSync(e, t) { + let n = !1, + r; + return ( + this.run(e, t, o), + cVt("runSync", "run", n), + Za(r, "we either bailed on an error or have a tree"), + r + ); + function o(a, i) { + (lke(a), (r = i), (n = !0)); + } + } + stringify(e, t) { + this.freeze(); + let n = Dse(t), + r = this.compiler || this.Compiler; + return (hke("stringify", r), lVt(e), r(e, n)); + } + use(e, ...t) { + let n = this.attachers, + r = this.namespace; + if ((gke("use", this.frozen), e === null || e === void 0)); + else if (typeof e === "function") s(e, t); + else if (typeof e === "object") + if (Array.isArray(e)) i(e); + else a(e); + else throw TypeError("Expected usable value, not `" + e + "`"); + return this; + function o(l) { + if (typeof l === "function") s(l, []); + else if (typeof l === "object") + if (Array.isArray(l)) { + let [c, ...u] = l; + s(c, u); + } else a(l); + else throw TypeError("Expected usable value, not `" + l + "`"); + } + function a(l) { + if (!("plugins" in l) && !("settings" in l)) + throw Error( + "Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither", + ); + if ((i(l.plugins), l.settings)) + r.settings = Lse.default(!0, r.settings, l.settings); + } + function i(l) { + let c = -1; + if (l === null || l === void 0); + else if (Array.isArray(l)) + while (++c < l.length) { + let u = l[c]; + o(u); + } + else throw TypeError("Expected a list of plugins, not `" + l + "`"); + } + function s(l, c) { + let u = -1, + d = -1; + while (++u < n.length) + if (n[u][0] === l) { + d = u; + break; + } + if (d === -1) n.push([l, ...c]); + else if (c.length > 0) { + let [p, ...f] = c, + m = n[d][1]; + if (RG(m) && RG(p)) p = Lse.default(!0, m, p); + n[d] = [l, p, ...f]; + } + } + } + }; + vke = new yke().freeze(); +}); +var dVt = P(() => { + uVt(); +}); +function bke(e) { + let t = Mor(e), + n = Dor(e); + return Lor(t.runSync(t.parse(n), n), e); +} +function Mor(e) { + let t = e.rehypePlugins || pVt, + n = e.remarkPlugins || pVt, + r = e.remarkRehypeOptions ? { ...e.remarkRehypeOptions, ...fVt } : fVt; + return vke().use(gse).use(n).use(Pse, r).use(t); +} +function Dor(e) { + let t = e.children || "", + n = new sD(); + if (typeof t === "string") n.value = t; + else + Xie("Unexpected value `" + t + "` for `children` prop, expected `string`"); + return n; +} +function Lor(e, t) { + let { + allowedElements: n, + allowElement: r, + components: o, + disallowedElements: a, + skipHtml: i, + unwrapDisallowed: s, + } = t, + l = t.urlTransform || hVt; + for (let u of Por) + if (Object.hasOwn(t, u.from)) + Xie( + "Unexpected `" + + u.from + + "` prop, " + + (u.to ? "use `" + u.to + "` instead" : "remove it") + + " (see <" + + kor + + "#" + + u.id + + "> for more info)", + ); + if (n && a) + Xie( + "Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other", + ); + return ( + V3(e, c), + k7e(e, { + Fragment: Ht, + components: o, + ignoreInvalidStyle: !0, + jsx: h, + jsxs: M, + passKeys: !0, + passNode: !0, + }) + ); + function c(u, d, p) { + if (u.type === "raw" && p && typeof d === "number") { + if (i) p.children.splice(d, 1); + else p.children[d] = { type: "text", value: u.value }; + return d; + } + if (u.type === "element") { + let f; + for (f in hG) + if (Object.hasOwn(hG, f) && Object.hasOwn(u.properties, f)) { + let m = u.properties[f], + g = hG[f]; + if (g === null || g.includes(u.tagName)) + u.properties[f] = l(String(m || ""), f, u); + } + } + if (u.type === "element") { + let f = n ? !n.includes(u.tagName) : a ? a.includes(u.tagName) : !1; + if (!f && r && typeof d === "number") f = !r(u, d, p); + if (f && p && typeof d === "number") { + if (s && u.children) p.children.splice(d, 1, ...u.children); + else p.children.splice(d, 1); + return d; + } + } + } +} +function hVt(e) { + let t = e.indexOf(":"), + n = e.indexOf("?"), + r = e.indexOf("#"), + o = e.indexOf("/"); + if ( + t === -1 || + (o !== -1 && t > o) || + (n !== -1 && t > n) || + (r !== -1 && t > r) || + Ror.test(e.slice(0, t)) + ) + return e; + return ""; +} +var mVt, + kor = "https://github.com/remarkjs/react-markdown/blob/main/changelog.md", + pVt, + fVt, + Ror, + Por; +var gVt = P(() => { + Fzt(); + Nzt(); + le(); + q_t(); + VHt(); + dVt(); + kG(); + fke(); + ((mVt = z(re(), 1)), + (pVt = []), + (fVt = { allowDangerousHtml: !0 }), + (Ror = /^(https?|ircs?|mailto|xmpp)$/i), + (Por = [ + { from: "astPlugins", id: "remove-buggy-html-in-markdown-parser" }, + { + from: "allowDangerousHtml", + id: "remove-buggy-html-in-markdown-parser", + }, + { + from: "allowNode", + id: "replace-allownode-allowedtypes-and-disallowedtypes", + to: "allowElement", + }, + { + from: "allowedTypes", + id: "replace-allownode-allowedtypes-and-disallowedtypes", + to: "allowedElements", + }, + { from: "className", id: "remove-classname" }, + { + from: "disallowedTypes", + id: "replace-allownode-allowedtypes-and-disallowedtypes", + to: "disallowedElements", + }, + { from: "escapeHtml", id: "remove-buggy-html-in-markdown-parser" }, + { from: "includeElementIndex", id: "#remove-includeelementindex" }, + { + from: "includeNodeIndex", + id: "change-includenodeindex-to-includeelementindex", + }, + { from: "linkTarget", id: "remove-linktarget" }, + { + from: "plugins", + id: "change-plugins-to-remarkplugins", + to: "remarkPlugins", + }, + { from: "rawSourcePos", id: "#remove-rawsourcepos" }, + { + from: "renderers", + id: "change-renderers-to-components", + to: "components", + }, + { from: "source", id: "change-source-to-children", to: "children" }, + { from: "sourcePos", id: "#remove-sourcepos" }, + { + from: "transformImageUri", + id: "#add-urltransform", + to: "urlTransform", + }, + { from: "transformLinkUri", id: "#add-urltransform", to: "urlTransform" }, + ])); +}); +var yVt = P(() => { + gVt(); +}); +function xke(e, t) { + let n = e || "", + r = {}, + o = 0, + a, + i; + while (o < n.length) { + vVt.lastIndex = o; + let s = vVt.exec(n), + l = n.slice(o, s ? s.index : n.length); + if (l) { + if (!a) i = l; + else if (a === "#") r.id = l; + else if (Array.isArray(r.className)) r.className.push(l); + else r.className = [l]; + o += l.length; + } + if (s) ((a = s[0]), o++); + } + return { + type: "element", + tagName: i || t || "div", + properties: r, + children: [], + }; +} +var vVt; +var bVt = P(() => { + vVt = /[#.]/g; +}); +var xVt = P(() => { + bVt(); +}); +function wke(e, t, n) { + let r = n ? Uor(n) : void 0; + function o(a, i, ...s) { + let l; + if (a === null || a === void 0) { + l = { type: "root", children: [] }; + let c = i; + s.unshift(c); + } else { + l = xke(a, t); + let c = l.tagName.toLowerCase(), + u = r ? r.get(c) : void 0; + if (((l.tagName = u || c), Bor(i))) s.unshift(i); + else for (let [d, p] of Object.entries(i)) Oor(e, l.properties, d, p); + } + for (let c of s) Ake(l.children, c); + if (l.type === "element" && l.tagName === "template") + ((l.content = { type: "root", children: l.children }), (l.children = [])); + return l; + } + return o; +} +function Bor(e) { + if (e === null || typeof e !== "object" || Array.isArray(e)) return !0; + if (typeof e.type !== "string") return !1; + let t = e, + n = Object.keys(e); + for (let r of n) { + let o = t[r]; + if (o && typeof o === "object") { + if (!Array.isArray(o)) return !0; + let a = o; + for (let i of a) + if (typeof i !== "number" && typeof i !== "string") return !0; + } + } + if ("children" in e && Array.isArray(e.children)) return !0; + return !1; +} +function Oor(e, t, n, r) { + let o = z3(e, n), + a; + if (r === null || r === void 0) return; + if (typeof r === "number") { + if (Number.isNaN(r)) return; + a = r; + } else if (typeof r === "boolean") a = r; + else if (typeof r === "string") + if (o.spaceSeparated) a = x7e(r); + else if (o.commaSeparated) a = s7e(r); + else if (o.commaOrSpaceSeparated) a = x7e(s7e(r).join(" ")); + else a = AVt(o, o.property, r); + else if (Array.isArray(r)) a = [...r]; + else a = o.property === "style" ? For(r) : String(r); + if (Array.isArray(a)) { + let i = []; + for (let s of a) i.push(AVt(o, o.property, s)); + a = i; + } + if (o.property === "className" && Array.isArray(t.className)) + a = t.className.concat(a); + t[o.property] = a; +} +function Ake(e, t) { + if (t === null || t === void 0); + else if (typeof t === "number" || typeof t === "string") + e.push({ type: "text", value: String(t) }); + else if (Array.isArray(t)) for (let n of t) Ake(e, n); + else if (typeof t === "object" && "type" in t) + if (t.type === "root") Ake(e, t.children); + else e.push(t); + else throw Error("Expected node, nodes, or string, got `" + t + "`"); +} +function AVt(e, t, n) { + if (typeof n === "string") { + if (e.number && n && !Number.isNaN(Number(n))) return Number(n); + if ((e.boolean || e.overloadedBoolean) && (n === "" || U3(n) === U3(t))) + return !0; + } + return n; +} +function For(e) { + let t = []; + for (let [n, r] of Object.entries(e)) t.push([n, r].join(": ")); + return t.join("; "); +} +function Uor(e) { + let t = new Map(); + for (let n of e) t.set(n.toLowerCase(), n); + return t; +} +var wVt = P(() => { + xVt(); + tD(); +}); +var SVt; +var CVt = P(() => { + SVt = [ + "altGlyph", + "altGlyphDef", + "altGlyphItem", + "animateColor", + "animateMotion", + "animateTransform", + "clipPath", + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feDropShadow", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + "foreignObject", + "glyphRef", + "linearGradient", + "radialGradient", + "solidColor", + "textArea", + "textPath", + ]; +}); +var Ske, Cke; +var EVt = P(() => { + tD(); + wVt(); + CVt(); + ((Ske = wke(_3, "div")), (Cke = wke(by, "g", SVt))); +}); +var IVt = P(() => { + EVt(); +}); +function Eke(e) { + let t = String(e), + n = []; + return { toOffset: o, toPoint: r }; + function r(a) { + if (typeof a === "number" && a > -1 && a <= t.length) { + let i = 0; + while (!0) { + let s = n[i]; + if (s === void 0) { + let l = TVt(t, n[i - 1]); + ((s = l === -1 ? t.length + 1 : l + 1), (n[i] = s)); + } + if (s > a) + return { + line: i + 1, + column: a - (i > 0 ? n[i - 1] : 0) + 1, + offset: a, + }; + i++; + } + } + } + function o(a) { + if ( + a && + typeof a.line === "number" && + typeof a.column === "number" && + !Number.isNaN(a.line) && + !Number.isNaN(a.column) + ) { + while (n.length < a.line) { + let s = n[n.length - 1], + l = TVt(t, s), + c = l === -1 ? t.length + 1 : l + 1; + if (s === c) break; + n.push(c); + } + let i = (a.line > 1 ? n[a.line - 2] : 0) + a.column - 1; + if (i < n[a.line - 1]) return i; + } + } +} +function TVt(e, t) { + let n = e.indexOf("\r", t), + r = e.indexOf( + ` +`, + t, + ); + if (r === -1) return n; + if (n === -1 || n + 1 === r) return r; + return n < r ? n : r; +} +var kVt = () => {}; +var bx; +var Bse = P(() => { + bx = { + html: "http://www.w3.org/1999/xhtml", + mathml: "http://www.w3.org/1998/Math/MathML", + svg: "http://www.w3.org/2000/svg", + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/", + }; +}); +function Ike(e, t) { + let n = t || {}; + return Tke( + { + file: n.file || void 0, + location: !1, + schema: n.space === "svg" ? by : _3, + verbose: n.verbose || !1, + }, + e, + ); +} +function Tke(e, t) { + let n; + switch (t.nodeName) { + case "#comment": { + let r = t; + return ((n = { type: "comment", value: r.data }), Ose(e, r, n), n); + } + case "#document": + case "#document-fragment": { + let r = t, + o = + "mode" in r ? r.mode === "quirks" || r.mode === "limited-quirks" : !1; + if ( + ((n = { + type: "root", + children: MVt(e, t.childNodes), + data: { quirksMode: o }, + }), + e.file && e.location) + ) { + let a = String(e.file), + i = Eke(a), + s = i.toPoint(0), + l = i.toPoint(a.length); + (Za(s, "expected `start`"), + Za(l, "expected `end`"), + (n.position = { start: s, end: l })); + } + return n; + } + case "#documentType": { + let r = t; + return ((n = { type: "doctype" }), Ose(e, r, n), n); + } + case "#text": { + let r = t; + return ((n = { type: "text", value: r.value }), Ose(e, r, n), n); + } + default: + return ((n = zor(e, t)), n); + } +} +function MVt(e, t) { + let n = -1, + r = []; + while (++n < t.length) { + let o = Tke(e, t[n]); + r.push(o); + } + return r; +} +function zor(e, t) { + let n = e.schema; + e.schema = t.namespaceURI === bx.svg ? by : _3; + let r = -1, + o = {}; + while (++r < t.attrs.length) { + let s = t.attrs[r], + l = (s.prefix ? s.prefix + ":" : "") + s.name; + if (!PVt.call(Nor, l)) o[l] = s.value; + } + let i = (e.schema.space === "svg" ? Cke : Ske)( + t.tagName, + o, + MVt(e, t.childNodes), + ); + if ((Ose(e, t, i), i.tagName === "template")) { + let s = t, + l = s.sourceCodeLocation, + c = l && l.startTag && lD(l.startTag), + u = l && l.endTag && lD(l.endTag), + d = Tke(e, s.content); + if (c && u && e.file) d.position = { start: c.end, end: u.start }; + i.content = d; + } + return ((e.schema = n), i); +} +function Ose(e, t, n) { + if ("sourceCodeLocation" in t && t.sourceCodeLocation && e.file) { + let r = _or(e, n, t.sourceCodeLocation); + if (r) ((e.location = !0), (n.position = r)); + } +} +function _or(e, t, n) { + let r = lD(n); + if (t.type === "element") { + let o = t.children[t.children.length - 1]; + if (r && !n.endTag && o && o.position && o.position.end) + r.end = Object.assign({}, o.position.end); + if (e.verbose) { + let a = {}, + i; + if (n.attrs) { + for (i in n.attrs) + if (PVt.call(n.attrs, i)) + a[z3(e.schema, i).property] = lD(n.attrs[i]); + } + Za(n.startTag, "a start tag should exist"); + let s = lD(n.startTag), + l = n.endTag ? lD(n.endTag) : void 0, + c = { opening: s }; + if (l) c.closing = l; + ((c.properties = a), (t.data = { position: c })); + } + } + return r; +} +function lD(e) { + let t = RVt({ line: e.startLine, column: e.startCol, offset: e.startOffset }), + n = RVt({ line: e.endLine, column: e.endCol, offset: e.endOffset }); + return t || n ? { start: t, end: n } : void 0; +} +function RVt(e) { + return e.line && e.column ? e : void 0; +} +var PVt, Nor; +var DVt = P(() => { + IVt(); + tD(); + kVt(); + Bse(); + ((PVt = {}.hasOwnProperty), (Nor = Object.prototype)); +}); +var LVt = P(() => { + DVt(); +}); +function Fse(e, t) { + let n = t || {}; + function r(o, ...a) { + let { invalid: i, handlers: s } = r; + if (o && BVt.call(o, e)) { + let l = String(o[e]); + i = BVt.call(s, l) ? s[l] : r.unknown; + } + if (i) return i.call(this, o, ...a); + } + return ( + (r.handlers = n.handlers || {}), + (r.invalid = n.invalid), + (r.unknown = n.unknown), + r + ); +} +var BVt; +var kke = P(() => { + BVt = {}.hasOwnProperty; +}); +function Rke(e, t) { + let r = (t || Hor).space; + return OVt(e, r === "svg" ? by : _3); +} +function Gor(e, t) { + let n = { + nodeName: "#document", + mode: (e.data || {}).quirksMode ? "quirks" : "no-quirks", + childNodes: [], + }; + return ((n.childNodes = Pke(e.children, n, t)), cD(e, n), n); +} +function qor(e, t) { + let n = { nodeName: "#document-fragment", childNodes: [] }; + return ((n.childNodes = Pke(e.children, n, t)), cD(e, n), n); +} +function Zor(e) { + let t = { + nodeName: "#documentType", + name: "html", + publicId: "", + systemId: "", + parentNode: null, + }; + return (cD(e, t), t); +} +function Qor(e) { + let t = { nodeName: "#text", value: e.value, parentNode: null }; + return (cD(e, t), t); +} +function Xor(e) { + let t = { nodeName: "#comment", data: e.value, parentNode: null }; + return (cD(e, t), t); +} +function Wor(e, t) { + let n = t, + r = n; + if ( + e.type === "element" && + e.tagName.toLowerCase() === "svg" && + n.space === "html" + ) + r = by; + let o = [], + a; + if (e.properties) { + for (a in e.properties) + if (a !== "children" && Vor.call(e.properties, a)) { + let l = Yor(r, a, e.properties[a]); + if (l) o.push(l); + } + } + let i = r.space; + Za(i); + let s = { + nodeName: e.tagName, + tagName: e.tagName, + attrs: o, + namespaceURI: bx[i], + childNodes: [], + parentNode: null, + }; + if ( + ((s.childNodes = Pke(e.children, s, r)), + cD(e, s), + e.tagName === "template" && e.content) + ) + s.content = qor(e.content, r); + return s; +} +function Yor(e, t, n) { + let r = z3(e, t); + if ( + n === !1 || + n === null || + n === void 0 || + (typeof n === "number" && Number.isNaN(n)) || + (!n && r.boolean) + ) + return; + if (Array.isArray(n)) n = r.commaSeparated ? Wie(n) : $ie(n); + let o = { name: r.attribute, value: n === !0 ? "" : String(n) }; + if (r.space && r.space !== "html" && r.space !== "svg") { + let a = o.name.indexOf(":"); + if (a < 0) o.prefix = ""; + else ((o.name = o.name.slice(a + 1)), (o.prefix = r.attribute.slice(0, a))); + o.namespace = bx[r.space]; + } + return o; +} +function Pke(e, t, n) { + let r = -1, + o = []; + if (e) + while (++r < e.length) { + let a = OVt(e[r], n); + ((a.parentNode = t), o.push(a)); + } + return o; +} +function cD(e, t) { + let n = e.position; + if (n && n.start && n.end) + (Za(typeof n.start.offset === "number"), + Za(typeof n.end.offset === "number"), + (t.sourceCodeLocation = { + startLine: n.start.line, + startCol: n.start.column, + startOffset: n.start.offset, + endLine: n.end.line, + endCol: n.end.column, + endOffset: n.end.offset, + })); +} +var Hor, Vor, OVt; +var FVt = P(() => { + tD(); + Bse(); + kke(); + ((Hor = {}), + (Vor = {}.hasOwnProperty), + (OVt = Fse("type", { + handlers: { + root: Gor, + element: Wor, + text: Qor, + comment: Xor, + doctype: Zor, + }, + }))); +}); +var UVt = P(() => { + FVt(); +}); +var NVt; +var zVt = P(() => { + NVt = [ + "area", + "base", + "basefont", + "bgsound", + "br", + "col", + "command", + "embed", + "frame", + "hr", + "image", + "img", + "input", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr", + ]; +}); +function Use(e) { + return e >= 55296 && e <= 57343; +} +function _Vt(e) { + return e >= 56320 && e <= 57343; +} +function HVt(e, t) { + return (e - 55296) * 1024 + 9216 + t; +} +function Nse(e) { + return ( + (e !== 32 && + e !== 10 && + e !== 13 && + e !== 9 && + e !== 12 && + e >= 1 && + e <= 31) || + (e >= 127 && e <= 159) + ); +} +function zse(e) { + return (e >= 64976 && e <= 65007) || Kor.has(e); +} +var Kor, + Bs = "�", + Fe, + hh; +var _se = P(() => { + Kor = new Set([ + 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, + 327679, 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823, + 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967, 917502, + 917503, 983038, 983039, 1048574, 1048575, 1114110, 1114111, + ]); + (function (e) { + ((e[(e.EOF = -1)] = "EOF"), + (e[(e.NULL = 0)] = "NULL"), + (e[(e.TABULATION = 9)] = "TABULATION"), + (e[(e.CARRIAGE_RETURN = 13)] = "CARRIAGE_RETURN"), + (e[(e.LINE_FEED = 10)] = "LINE_FEED"), + (e[(e.FORM_FEED = 12)] = "FORM_FEED"), + (e[(e.SPACE = 32)] = "SPACE"), + (e[(e.EXCLAMATION_MARK = 33)] = "EXCLAMATION_MARK"), + (e[(e.QUOTATION_MARK = 34)] = "QUOTATION_MARK"), + (e[(e.AMPERSAND = 38)] = "AMPERSAND"), + (e[(e.APOSTROPHE = 39)] = "APOSTROPHE"), + (e[(e.HYPHEN_MINUS = 45)] = "HYPHEN_MINUS"), + (e[(e.SOLIDUS = 47)] = "SOLIDUS"), + (e[(e.DIGIT_0 = 48)] = "DIGIT_0"), + (e[(e.DIGIT_9 = 57)] = "DIGIT_9"), + (e[(e.SEMICOLON = 59)] = "SEMICOLON"), + (e[(e.LESS_THAN_SIGN = 60)] = "LESS_THAN_SIGN"), + (e[(e.EQUALS_SIGN = 61)] = "EQUALS_SIGN"), + (e[(e.GREATER_THAN_SIGN = 62)] = "GREATER_THAN_SIGN"), + (e[(e.QUESTION_MARK = 63)] = "QUESTION_MARK"), + (e[(e.LATIN_CAPITAL_A = 65)] = "LATIN_CAPITAL_A"), + (e[(e.LATIN_CAPITAL_Z = 90)] = "LATIN_CAPITAL_Z"), + (e[(e.RIGHT_SQUARE_BRACKET = 93)] = "RIGHT_SQUARE_BRACKET"), + (e[(e.GRAVE_ACCENT = 96)] = "GRAVE_ACCENT"), + (e[(e.LATIN_SMALL_A = 97)] = "LATIN_SMALL_A"), + (e[(e.LATIN_SMALL_Z = 122)] = "LATIN_SMALL_Z")); + })(Fe || (Fe = {})); + hh = { + DASH_DASH: "--", + CDATA_START: "[CDATA[", + DOCTYPE: "doctype", + SCRIPT: "script", + PUBLIC: "public", + SYSTEM: "system", + }; +}); +var Dt; +var MG = P(() => { + (function (e) { + ((e.controlCharacterInInputStream = "control-character-in-input-stream"), + (e.noncharacterInInputStream = "noncharacter-in-input-stream"), + (e.surrogateInInputStream = "surrogate-in-input-stream"), + (e.nonVoidHtmlElementStartTagWithTrailingSolidus = + "non-void-html-element-start-tag-with-trailing-solidus"), + (e.endTagWithAttributes = "end-tag-with-attributes"), + (e.endTagWithTrailingSolidus = "end-tag-with-trailing-solidus"), + (e.unexpectedSolidusInTag = "unexpected-solidus-in-tag"), + (e.unexpectedNullCharacter = "unexpected-null-character"), + (e.unexpectedQuestionMarkInsteadOfTagName = + "unexpected-question-mark-instead-of-tag-name"), + (e.invalidFirstCharacterOfTagName = + "invalid-first-character-of-tag-name"), + (e.unexpectedEqualsSignBeforeAttributeName = + "unexpected-equals-sign-before-attribute-name"), + (e.missingEndTagName = "missing-end-tag-name"), + (e.unexpectedCharacterInAttributeName = + "unexpected-character-in-attribute-name"), + (e.unknownNamedCharacterReference = "unknown-named-character-reference"), + (e.missingSemicolonAfterCharacterReference = + "missing-semicolon-after-character-reference"), + (e.unexpectedCharacterAfterDoctypeSystemIdentifier = + "unexpected-character-after-doctype-system-identifier"), + (e.unexpectedCharacterInUnquotedAttributeValue = + "unexpected-character-in-unquoted-attribute-value"), + (e.eofBeforeTagName = "eof-before-tag-name"), + (e.eofInTag = "eof-in-tag"), + (e.missingAttributeValue = "missing-attribute-value"), + (e.missingWhitespaceBetweenAttributes = + "missing-whitespace-between-attributes"), + (e.missingWhitespaceAfterDoctypePublicKeyword = + "missing-whitespace-after-doctype-public-keyword"), + (e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers = + "missing-whitespace-between-doctype-public-and-system-identifiers"), + (e.missingWhitespaceAfterDoctypeSystemKeyword = + "missing-whitespace-after-doctype-system-keyword"), + (e.missingQuoteBeforeDoctypePublicIdentifier = + "missing-quote-before-doctype-public-identifier"), + (e.missingQuoteBeforeDoctypeSystemIdentifier = + "missing-quote-before-doctype-system-identifier"), + (e.missingDoctypePublicIdentifier = "missing-doctype-public-identifier"), + (e.missingDoctypeSystemIdentifier = "missing-doctype-system-identifier"), + (e.abruptDoctypePublicIdentifier = "abrupt-doctype-public-identifier"), + (e.abruptDoctypeSystemIdentifier = "abrupt-doctype-system-identifier"), + (e.cdataInHtmlContent = "cdata-in-html-content"), + (e.incorrectlyOpenedComment = "incorrectly-opened-comment"), + (e.eofInScriptHtmlCommentLikeText = + "eof-in-script-html-comment-like-text"), + (e.eofInDoctype = "eof-in-doctype"), + (e.nestedComment = "nested-comment"), + (e.abruptClosingOfEmptyComment = "abrupt-closing-of-empty-comment"), + (e.eofInComment = "eof-in-comment"), + (e.incorrectlyClosedComment = "incorrectly-closed-comment"), + (e.eofInCdata = "eof-in-cdata"), + (e.absenceOfDigitsInNumericCharacterReference = + "absence-of-digits-in-numeric-character-reference"), + (e.nullCharacterReference = "null-character-reference"), + (e.surrogateCharacterReference = "surrogate-character-reference"), + (e.characterReferenceOutsideUnicodeRange = + "character-reference-outside-unicode-range"), + (e.controlCharacterReference = "control-character-reference"), + (e.noncharacterCharacterReference = "noncharacter-character-reference"), + (e.missingWhitespaceBeforeDoctypeName = + "missing-whitespace-before-doctype-name"), + (e.missingDoctypeName = "missing-doctype-name"), + (e.invalidCharacterSequenceAfterDoctypeName = + "invalid-character-sequence-after-doctype-name"), + (e.duplicateAttribute = "duplicate-attribute"), + (e.nonConformingDoctype = "non-conforming-doctype"), + (e.missingDoctype = "missing-doctype"), + (e.misplacedDoctype = "misplaced-doctype"), + (e.endTagWithoutMatchingOpenElement = + "end-tag-without-matching-open-element"), + (e.closingOfElementWithOpenChildElements = + "closing-of-element-with-open-child-elements"), + (e.disallowedContentInNoscriptInHead = + "disallowed-content-in-noscript-in-head"), + (e.openElementsLeftAfterEof = "open-elements-left-after-eof"), + (e.abandonedHeadElementChild = "abandoned-head-element-child"), + (e.misplacedStartTagForHeadElement = + "misplaced-start-tag-for-head-element"), + (e.nestedNoscriptInHead = "nested-noscript-in-head"), + (e.eofInElementThatCanContainOnlyText = + "eof-in-element-that-can-contain-only-text")); + })(Dt || (Dt = {})); +}); +class Mke { + constructor(e) { + ((this.handler = e), + (this.html = ""), + (this.pos = -1), + (this.lastGapPos = -2), + (this.gapStack = []), + (this.skipNextNewLine = !1), + (this.lastChunkWritten = !1), + (this.endOfChunkHit = !1), + (this.bufferWaterline = jor), + (this.isEol = !1), + (this.lineStartPos = 0), + (this.droppedBufferSize = 0), + (this.line = 1), + (this.lastErrOffset = -1)); + } + get col() { + return this.pos - this.lineStartPos + Number(this.lastGapPos !== this.pos); + } + get offset() { + return this.droppedBufferSize + this.pos; + } + getError(e, t) { + let { line: n, col: r, offset: o } = this, + a = r + t, + i = o + t; + return { + code: e, + startLine: n, + endLine: n, + startCol: a, + endCol: a, + startOffset: i, + endOffset: i, + }; + } + _err(e) { + if (this.handler.onParseError && this.lastErrOffset !== this.offset) + ((this.lastErrOffset = this.offset), + this.handler.onParseError(this.getError(e, 0))); + } + _addGap() { + (this.gapStack.push(this.lastGapPos), (this.lastGapPos = this.pos)); + } + _processSurrogate(e) { + if (this.pos !== this.html.length - 1) { + let t = this.html.charCodeAt(this.pos + 1); + if (_Vt(t)) return (this.pos++, this._addGap(), HVt(e, t)); + } else if (!this.lastChunkWritten) + return ((this.endOfChunkHit = !0), Fe.EOF); + return (this._err(Dt.surrogateInInputStream), e); + } + willDropParsedChunk() { + return this.pos > this.bufferWaterline; + } + dropParsedChunk() { + if (this.willDropParsedChunk()) + ((this.html = this.html.substring(this.pos)), + (this.lineStartPos -= this.pos), + (this.droppedBufferSize += this.pos), + (this.pos = 0), + (this.lastGapPos = -2), + (this.gapStack.length = 0)); + } + write(e, t) { + if (this.html.length > 0) this.html += e; + else this.html = e; + ((this.endOfChunkHit = !1), (this.lastChunkWritten = t)); + } + insertHtmlAtCurrentPos(e) { + ((this.html = + this.html.substring(0, this.pos + 1) + + e + + this.html.substring(this.pos + 1)), + (this.endOfChunkHit = !1)); + } + startsWith(e, t) { + if (this.pos + e.length > this.html.length) + return ((this.endOfChunkHit = !this.lastChunkWritten), !1); + if (t) return this.html.startsWith(e, this.pos); + for (let n = 0; n < e.length; n++) + if ((this.html.charCodeAt(this.pos + n) | 32) !== e.charCodeAt(n)) + return !1; + return !0; + } + peek(e) { + let t = this.pos + e; + if (t >= this.html.length) + return ((this.endOfChunkHit = !this.lastChunkWritten), Fe.EOF); + let n = this.html.charCodeAt(t); + return n === Fe.CARRIAGE_RETURN ? Fe.LINE_FEED : n; + } + advance() { + if ((this.pos++, this.isEol)) + ((this.isEol = !1), this.line++, (this.lineStartPos = this.pos)); + if (this.pos >= this.html.length) + return ((this.endOfChunkHit = !this.lastChunkWritten), Fe.EOF); + let e = this.html.charCodeAt(this.pos); + if (e === Fe.CARRIAGE_RETURN) + return ((this.isEol = !0), (this.skipNextNewLine = !0), Fe.LINE_FEED); + if (e === Fe.LINE_FEED) { + if (((this.isEol = !0), this.skipNextNewLine)) + return ( + this.line--, + (this.skipNextNewLine = !1), + this._addGap(), + this.advance() + ); + } + if (((this.skipNextNewLine = !1), Use(e))) e = this._processSurrogate(e); + if (!( + this.handler.onParseError === null || + (e > 31 && e < 127) || + e === Fe.LINE_FEED || + e === Fe.CARRIAGE_RETURN || + (e > 159 && e < 64976) + )) + this._checkForProblematicCharacters(e); + return e; + } + _checkForProblematicCharacters(e) { + if (Nse(e)) this._err(Dt.controlCharacterInInputStream); + else if (zse(e)) this._err(Dt.noncharacterInInputStream); + } + retreat(e) { + this.pos -= e; + while (this.pos < this.lastGapPos) + ((this.lastGapPos = this.gapStack.pop()), this.pos--); + this.isEol = !1; + } +} +var jor = 65536; +var VVt = P(() => { + _se(); + MG(); +}); +function Hse(e, t) { + for (let n = e.attrs.length - 1; n >= 0; n--) + if (e.attrs[n].name === t) return e.attrs[n].value; + return null; +} +var Wo; +var Vse = P(() => { + (function (e) { + ((e[(e.CHARACTER = 0)] = "CHARACTER"), + (e[(e.NULL_CHARACTER = 1)] = "NULL_CHARACTER"), + (e[(e.WHITESPACE_CHARACTER = 2)] = "WHITESPACE_CHARACTER"), + (e[(e.START_TAG = 3)] = "START_TAG"), + (e[(e.END_TAG = 4)] = "END_TAG"), + (e[(e.COMMENT = 5)] = "COMMENT"), + (e[(e.DOCTYPE = 6)] = "DOCTYPE"), + (e[(e.EOF = 7)] = "EOF"), + (e[(e.HIBERNATION = 8)] = "HIBERNATION")); + })(Wo || (Wo = {})); +}); +var Dke; +var qVt = P(() => { + Dke = new Uint16Array( + 'ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\x00\x00\x00\x00\x00\x00ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀\uD835\uDD04rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀\uD835\uDD38plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀\uD835\uDC9Cign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀\uD835\uDD05pf;쀀\uD835\uDD39eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀\uD835\uDC9EpĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀\uD835\uDD07Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\x00\x00\x00͔͂\x00Ѕf;쀀\uD835\uDD3Bƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\x00\x00ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\x00\x00ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\x00ц\x00ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\x00ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀\uD835\uDC9Frok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀\uD835\uDD08rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\x00\x00ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀\uD835\uDD3Csilon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀\uD835\uDD09lledɓ֗\x00\x00֣mallSquare;旼erySmallSquare;斪Ͱֺ\x00ֿ\x00\x00ׄf;쀀\uD835\uDD3DAll;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀\uD835\uDD0A;拙pf;쀀\uD835\uDD3Eeater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀\uD835\uDCA2;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\x00ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\x00ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀\uD835\uDD40a;䎙cr;愐ilde;䄨ǫޚ\x00ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀\uD835\uDD0Dpf;쀀\uD835\uDD41ǣ߇\x00ߌr;쀀\uD835\uDCA5rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀\uD835\uDD0Epf;쀀\uD835\uDD42cr;쀀\uD835\uDCA6րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\x00ࣃbleBracket;柦nǔࣈ\x00࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀\uD835\uDD0FĀ;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀\uD835\uDD43erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀\uD835\uDD10nusPlus;戓pf;쀀\uD835\uDD44cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀\uD835\uDD11ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀\uD835\uDCA9ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀\uD835\uDD12rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀\uD835\uDD46enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀\uD835\uDCAAash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀\uD835\uDD13i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀\uD835\uDCAB;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀\uD835\uDD14pf;愚cr;쀀\uD835\uDCAC؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\x00စbleBracket;柧nǔည\x00နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀\uD835\uDD16ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀\uD835\uDD4Aɲᅭ\x00\x00ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀\uD835\uDCAEar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀\uD835\uDD17Āeiቻ኉Dzኀ\x00ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀\uD835\uDD4BipleDot;惛Āctዖዛr;쀀\uD835\uDCAFrok;䅦ૡዷጎጚጦ\x00ጬጱ\x00\x00\x00\x00\x00ጸጽ፷ᎅ\x00᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\x00጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀\uD835\uDD18rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀\uD835\uDD4CЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀\uD835\uDCB0ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀\uD835\uDD19pf;쀀\uD835\uDD4Dcr;쀀\uD835\uDCB1dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀\uD835\uDD1Apf;쀀\uD835\uDD4Ecr;쀀\uD835\uDCB2Ȁfiosᓋᓐᓒᓘr;쀀\uD835\uDD1B;䎞pf;쀀\uD835\uDD4Fcr;쀀\uD835\uDCB3ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀\uD835\uDD1Cpf;쀀\uD835\uDD50cr;쀀\uD835\uDCB4ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\x00ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀\uD835\uDCB5௡ᖃᖊᖐ\x00ᖰᖶᖿ\x00\x00\x00\x00ᗆᗛᗫᙟ᙭\x00ᚕ᚛ᚲᚹ\x00ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀\uD835\uDD1Erave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\x00\x00ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀\uD835\uDD52΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀\uD835\uDCB6;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀\uD835\uDD1Fg΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\x00\x00ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\x00ᠳƲᠯ\x00ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀\uD835\uDD53Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀\uD835\uDCB7mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\x00᧨ᨑᨕᨲ\x00ᨷᩐ\x00\x00᪴\x00\x00᫁\x00\x00ᬡᬮ᭍᭒\x00᯽\x00ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\x00᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀\uD835\uDD20ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\x00\x00᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\x00ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\x00\x00᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\x00ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀\uD835\uDD54oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀\uD835\uDCB8Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\x00\x00᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\x00\x00ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀\uD835\uDD21arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\x00\x00ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀\uD835\uDD55ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\x00\x00ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀\uD835\uDCB9;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀\uD835\uDD22ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀\uD835\uDD56ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\x00\x00ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\x00ᾞ\x00ᾡᾧ\x00\x00ῆῌ\x00ΐ\x00ῦῪ \x00 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\x00\x00᾽g;耀ffig;耀ffl;쀀\uD835\uDD23lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\x00ῳf;쀀\uD835\uDD57ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\x00⁐β•‥‧‪‬\x00‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\x00‶;慔;慖ʴ‾⁁\x00\x00⁃耻¾䂾;慗;慜5;慘ƶ⁌\x00⁎;慚;慝8;慞l;恄wn;挢cr;쀀\uD835\uDCBBࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀\uD835\uDD24Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀\uD835\uDD58Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\x00↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀\uD835\uDD25sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀\uD835\uDD59bar;怕ƀclt≯≴≸r;쀀\uD835\uDCBDasè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\x00⊪\x00⊸⋅⋎\x00⋕⋳\x00\x00⋸⌢⍧⍢⍿\x00⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀\uD835\uDD26rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀\uD835\uDD5Aa;䎹uest耻¿䂿Āci⎊⎏r;쀀\uD835\uDCBEnʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\x00⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀\uD835\uDD27ath;䈷pf;쀀\uD835\uDD5Bǣ⏬\x00⏱r;쀀\uD835\uDCBFrcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀\uD835\uDD28reen;䄸cy;䑅cy;䑜pf;쀀\uD835\uDD5Ccr;쀀\uD835\uDCC0஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\x00⒪\x00⒱\x00\x00\x00\x00\x00⒵Ⓔ\x00ⓆⓈⓍ\x00⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀\uD835\uDD29Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀\uD835\uDD5Dus;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀\uD835\uDCC1mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀\uD835\uDD2Ao;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀\uD835\uDD5EĀct⣸⣽r;쀀\uD835\uDCC2pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\x00⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\x00⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀\uD835\uDD2BȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀\uD835\uDD5F膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀\uD835\uDCC3ortɭ⬅\x00\x00⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00ⴭ\x00ⴸⵈⵠⵥ⵲ⶄᬇ\x00\x00ⶍⶫ\x00ⷈⷎ\x00ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀\uD835\uDD2Cͯ⵹\x00\x00⵼\x00ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀\uD835\uDD60ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\x00⹽\x00⺀⺝\x00⺢⺹\x00\x00⻋ຜ\x00⼓\x00\x00⼫⾼\x00⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\x00\x00⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀\uD835\uDD2Dƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀\uD835\uDD61nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀\uD835\uDCC5;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀\uD835\uDD2Epf;쀀\uD835\uDD62rime;恗cr;쀀\uD835\uDCC6ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀\uD835\uDD2FĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀\uD835\uDD63us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀\uD835\uDCC7Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\x00㍺㎤\x00\x00㏬㏰\x00㐨㑈㑚㒭㒱㓊㓱\x00㘖\x00\x00㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\x00㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀\uD835\uDD30Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\x00\x00㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀\uD835\uDD64aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀\uD835\uDCC8tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\x00㙾㛂\x00\x00\x00\x00\x00㛛㜃\x00㜉㝬\x00\x00\x00㞇ɲ㙖\x00\x00㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀\uD835\uDD31Ȁeiko㚆㚝㚵㚼Dz㚋\x00㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀\uD835\uDD65rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀\uD835\uDCC9;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\x00㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀\uD835\uDD32rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\x00\x00㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀\uD835\uDD66̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\x00\x00㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀\uD835\uDCCAƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀\uD835\uDD33tré㦮suĀbp㧯㧱»ജ»൙pf;쀀\uD835\uDD67roð໻tré㦴Ācu㨆㨋r;쀀\uD835\uDCCBĀbp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀\uD835\uDD34pf;쀀\uD835\uDD68Ā;eᑹ㩦atèᑹcr;쀀\uD835\uDCCCૣណ㪇\x00㪋\x00㪐㪛\x00\x00㪝㪨㪫㪯\x00\x00㫃㫎\x00㫘ៜ៟tré៑r;쀀\uD835\uDD35ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀\uD835\uDD69imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀\uD835\uDCCDĀpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀\uD835\uDD36cy;䑗pf;쀀\uD835\uDD6Acr;쀀\uD835\uDCCEĀcm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀\uD835\uDD37cy;䐶grarr;懝pf;쀀\uD835\uDD6Bcr;쀀\uD835\uDCCFĀjn㮅㮇;怍j;怌' + .split("") + .map((e) => e.charCodeAt(0)), + ); +}); +function ZVt(e) { + var t; + if ((e >= 55296 && e <= 57343) || e > 1114111) return 65533; + return (t = $or.get(e)) !== null && t !== void 0 ? t : e; +} +var Lke, $or, ear; +var QVt = P(() => { + (($or = new Map([ + [0, 65533], + [128, 8364], + [130, 8218], + [131, 402], + [132, 8222], + [133, 8230], + [134, 8224], + [135, 8225], + [136, 710], + [137, 8240], + [138, 352], + [139, 8249], + [140, 338], + [142, 381], + [145, 8216], + [146, 8217], + [147, 8220], + [148, 8221], + [149, 8226], + [150, 8211], + [151, 8212], + [152, 732], + [153, 8482], + [154, 353], + [155, 8250], + [156, 339], + [158, 382], + [159, 376], + ])), + (ear = + (Lke = String.fromCodePoint) !== null && Lke !== void 0 + ? Lke + : function (e) { + let t = ""; + if (e > 65535) + ((e -= 65536), + (t += String.fromCharCode(((e >>> 10) & 1023) | 55296)), + (e = 56320 | (e & 1023))); + return ((t += String.fromCharCode(e)), t); + })); +}); +function Bke(e) { + return e >= _p.ZERO && e <= _p.NINE; +} +function nar(e) { + return ( + (e >= _p.UPPER_A && e <= _p.UPPER_F) || (e >= _p.LOWER_A && e <= _p.LOWER_F) + ); +} +function rar(e) { + return ( + (e >= _p.UPPER_A && e <= _p.UPPER_Z) || + (e >= _p.LOWER_A && e <= _p.LOWER_Z) || + Bke(e) + ); +} +function oar(e) { + return e === _p.EQUALS || rar(e); +} +class Oke { + constructor(e, t, n) { + ((this.decodeTree = e), + (this.emitCodePoint = t), + (this.errors = n), + (this.state = zp.EntityStart), + (this.consumed = 1), + (this.result = 0), + (this.treeIndex = 0), + (this.excess = 1), + (this.decodeMode = xx.Strict)); + } + startEntity(e) { + ((this.decodeMode = e), + (this.state = zp.EntityStart), + (this.result = 0), + (this.treeIndex = 0), + (this.excess = 1), + (this.consumed = 1)); + } + write(e, t) { + switch (this.state) { + case zp.EntityStart: { + if (e.charCodeAt(t) === _p.NUM) + return ( + (this.state = zp.NumericStart), + (this.consumed += 1), + this.stateNumericStart(e, t + 1) + ); + return ((this.state = zp.NamedEntity), this.stateNamedEntity(e, t)); + } + case zp.NumericStart: + return this.stateNumericStart(e, t); + case zp.NumericDecimal: + return this.stateNumericDecimal(e, t); + case zp.NumericHex: + return this.stateNumericHex(e, t); + case zp.NamedEntity: + return this.stateNamedEntity(e, t); + } + } + stateNumericStart(e, t) { + if (t >= e.length) return -1; + if ((e.charCodeAt(t) | tar) === _p.LOWER_X) + return ( + (this.state = zp.NumericHex), + (this.consumed += 1), + this.stateNumericHex(e, t + 1) + ); + return ((this.state = zp.NumericDecimal), this.stateNumericDecimal(e, t)); + } + addToNumericResult(e, t, n, r) { + if (t !== n) { + let o = n - t; + ((this.result = + this.result * Math.pow(r, o) + Number.parseInt(e.substr(t, o), r)), + (this.consumed += o)); + } + } + stateNumericHex(e, t) { + let n = t; + while (t < e.length) { + let r = e.charCodeAt(t); + if (Bke(r) || nar(r)) t += 1; + else + return ( + this.addToNumericResult(e, n, t, 16), + this.emitNumericEntity(r, 3) + ); + } + return (this.addToNumericResult(e, n, t, 16), -1); + } + stateNumericDecimal(e, t) { + let n = t; + while (t < e.length) { + let r = e.charCodeAt(t); + if (Bke(r)) t += 1; + else + return ( + this.addToNumericResult(e, n, t, 10), + this.emitNumericEntity(r, 2) + ); + } + return (this.addToNumericResult(e, n, t, 10), -1); + } + emitNumericEntity(e, t) { + var n; + if (this.consumed <= t) + return ( + (n = this.errors) === null || + n === void 0 || + n.absenceOfDigitsInNumericCharacterReference(this.consumed), + 0 + ); + if (e === _p.SEMI) this.consumed += 1; + else if (this.decodeMode === xx.Strict) return 0; + if ((this.emitCodePoint(ZVt(this.result), this.consumed), this.errors)) { + if (e !== _p.SEMI) this.errors.missingSemicolonAfterCharacterReference(); + this.errors.validateNumericCharacterReference(this.result); + } + return this.consumed; + } + stateNamedEntity(e, t) { + let { decodeTree: n } = this, + r = n[this.treeIndex], + o = (r & uC.VALUE_LENGTH) >> 14; + for (; t < e.length; t++, this.excess++) { + let a = e.charCodeAt(t); + if ( + ((this.treeIndex = aar(n, r, this.treeIndex + Math.max(1, o), a)), + this.treeIndex < 0) + ) + return this.result === 0 || + (this.decodeMode === xx.Attribute && (o === 0 || oar(a))) + ? 0 + : this.emitNotTerminatedNamedEntity(); + if ( + ((r = n[this.treeIndex]), (o = (r & uC.VALUE_LENGTH) >> 14), o !== 0) + ) { + if (a === _p.SEMI) + return this.emitNamedEntityData( + this.treeIndex, + o, + this.consumed + this.excess, + ); + if (this.decodeMode !== xx.Strict) + ((this.result = this.treeIndex), + (this.consumed += this.excess), + (this.excess = 0)); + } + } + return -1; + } + emitNotTerminatedNamedEntity() { + var e; + let { result: t, decodeTree: n } = this, + r = (n[t] & uC.VALUE_LENGTH) >> 14; + return ( + this.emitNamedEntityData(t, r, this.consumed), + (e = this.errors) === null || + e === void 0 || + e.missingSemicolonAfterCharacterReference(), + this.consumed + ); + } + emitNamedEntityData(e, t, n) { + let { decodeTree: r } = this; + if ( + (this.emitCodePoint(t === 1 ? r[e] & ~uC.VALUE_LENGTH : r[e + 1], n), + t === 3) + ) + this.emitCodePoint(r[e + 2], n); + return n; + } + end() { + var e; + switch (this.state) { + case zp.NamedEntity: + return this.result !== 0 && + (this.decodeMode !== xx.Attribute || this.result === this.treeIndex) + ? this.emitNotTerminatedNamedEntity() + : 0; + case zp.NumericDecimal: + return this.emitNumericEntity(0, 2); + case zp.NumericHex: + return this.emitNumericEntity(0, 3); + case zp.NumericStart: + return ( + (e = this.errors) === null || + e === void 0 || + e.absenceOfDigitsInNumericCharacterReference(this.consumed), + 0 + ); + case zp.EntityStart: + return 0; + } + } +} +function aar(e, t, n, r) { + let o = (t & uC.BRANCH_LENGTH) >> 7, + a = t & uC.JUMP_TABLE; + if (o === 0) return a !== 0 && r === a ? n : -1; + if (a) { + let l = r - a; + return l < 0 || l >= o ? -1 : e[n + l] - 1; + } + let i = n, + s = i + o - 1; + while (i <= s) { + let l = (i + s) >>> 1, + c = e[l]; + if (c < r) i = l + 1; + else if (c > r) s = l - 1; + else return e[l + o]; + } + return -1; +} +var _p, + tar = 32, + uC, + zp, + xx; +var XVt = P(() => { + QVt(); + qVt(); + (function (e) { + ((e[(e.NUM = 35)] = "NUM"), + (e[(e.SEMI = 59)] = "SEMI"), + (e[(e.EQUALS = 61)] = "EQUALS"), + (e[(e.ZERO = 48)] = "ZERO"), + (e[(e.NINE = 57)] = "NINE"), + (e[(e.LOWER_A = 97)] = "LOWER_A"), + (e[(e.LOWER_F = 102)] = "LOWER_F"), + (e[(e.LOWER_X = 120)] = "LOWER_X"), + (e[(e.LOWER_Z = 122)] = "LOWER_Z"), + (e[(e.UPPER_A = 65)] = "UPPER_A"), + (e[(e.UPPER_F = 70)] = "UPPER_F"), + (e[(e.UPPER_Z = 90)] = "UPPER_Z")); + })(_p || (_p = {})); + (function (e) { + ((e[(e.VALUE_LENGTH = 49152)] = "VALUE_LENGTH"), + (e[(e.BRANCH_LENGTH = 16256)] = "BRANCH_LENGTH"), + (e[(e.JUMP_TABLE = 127)] = "JUMP_TABLE")); + })(uC || (uC = {})); + (function (e) { + ((e[(e.EntityStart = 0)] = "EntityStart"), + (e[(e.NumericStart = 1)] = "NumericStart"), + (e[(e.NumericDecimal = 2)] = "NumericDecimal"), + (e[(e.NumericHex = 3)] = "NumericHex"), + (e[(e.NamedEntity = 4)] = "NamedEntity")); + })(zp || (zp = {})); + (function (e) { + ((e[(e.Legacy = 0)] = "Legacy"), + (e[(e.Strict = 1)] = "Strict"), + (e[(e.Attribute = 2)] = "Attribute")); + })(xx || (xx = {})); +}); +function q3(e) { + var t; + return (t = iar.get(e)) !== null && t !== void 0 ? t : X.UNKNOWN; +} +var $t, G3, gh, gt, X, iar, an, WVt, DG, Oha; +var Z3 = P(() => { + (function (e) { + ((e.HTML = "http://www.w3.org/1999/xhtml"), + (e.MATHML = "http://www.w3.org/1998/Math/MathML"), + (e.SVG = "http://www.w3.org/2000/svg"), + (e.XLINK = "http://www.w3.org/1999/xlink"), + (e.XML = "http://www.w3.org/XML/1998/namespace"), + (e.XMLNS = "http://www.w3.org/2000/xmlns/")); + })($t || ($t = {})); + (function (e) { + ((e.TYPE = "type"), + (e.ACTION = "action"), + (e.ENCODING = "encoding"), + (e.PROMPT = "prompt"), + (e.NAME = "name"), + (e.COLOR = "color"), + (e.FACE = "face"), + (e.SIZE = "size")); + })(G3 || (G3 = {})); + (function (e) { + ((e.NO_QUIRKS = "no-quirks"), + (e.QUIRKS = "quirks"), + (e.LIMITED_QUIRKS = "limited-quirks")); + })(gh || (gh = {})); + (function (e) { + ((e.A = "a"), + (e.ADDRESS = "address"), + (e.ANNOTATION_XML = "annotation-xml"), + (e.APPLET = "applet"), + (e.AREA = "area"), + (e.ARTICLE = "article"), + (e.ASIDE = "aside"), + (e.B = "b"), + (e.BASE = "base"), + (e.BASEFONT = "basefont"), + (e.BGSOUND = "bgsound"), + (e.BIG = "big"), + (e.BLOCKQUOTE = "blockquote"), + (e.BODY = "body"), + (e.BR = "br"), + (e.BUTTON = "button"), + (e.CAPTION = "caption"), + (e.CENTER = "center"), + (e.CODE = "code"), + (e.COL = "col"), + (e.COLGROUP = "colgroup"), + (e.DD = "dd"), + (e.DESC = "desc"), + (e.DETAILS = "details"), + (e.DIALOG = "dialog"), + (e.DIR = "dir"), + (e.DIV = "div"), + (e.DL = "dl"), + (e.DT = "dt"), + (e.EM = "em"), + (e.EMBED = "embed"), + (e.FIELDSET = "fieldset"), + (e.FIGCAPTION = "figcaption"), + (e.FIGURE = "figure"), + (e.FONT = "font"), + (e.FOOTER = "footer"), + (e.FOREIGN_OBJECT = "foreignObject"), + (e.FORM = "form"), + (e.FRAME = "frame"), + (e.FRAMESET = "frameset"), + (e.H1 = "h1"), + (e.H2 = "h2"), + (e.H3 = "h3"), + (e.H4 = "h4"), + (e.H5 = "h5"), + (e.H6 = "h6"), + (e.HEAD = "head"), + (e.HEADER = "header"), + (e.HGROUP = "hgroup"), + (e.HR = "hr"), + (e.HTML = "html"), + (e.I = "i"), + (e.IMG = "img"), + (e.IMAGE = "image"), + (e.INPUT = "input"), + (e.IFRAME = "iframe"), + (e.KEYGEN = "keygen"), + (e.LABEL = "label"), + (e.LI = "li"), + (e.LINK = "link"), + (e.LISTING = "listing"), + (e.MAIN = "main"), + (e.MALIGNMARK = "malignmark"), + (e.MARQUEE = "marquee"), + (e.MATH = "math"), + (e.MENU = "menu"), + (e.META = "meta"), + (e.MGLYPH = "mglyph"), + (e.MI = "mi"), + (e.MO = "mo"), + (e.MN = "mn"), + (e.MS = "ms"), + (e.MTEXT = "mtext"), + (e.NAV = "nav"), + (e.NOBR = "nobr"), + (e.NOFRAMES = "noframes"), + (e.NOEMBED = "noembed"), + (e.NOSCRIPT = "noscript"), + (e.OBJECT = "object"), + (e.OL = "ol"), + (e.OPTGROUP = "optgroup"), + (e.OPTION = "option"), + (e.P = "p"), + (e.PARAM = "param"), + (e.PLAINTEXT = "plaintext"), + (e.PRE = "pre"), + (e.RB = "rb"), + (e.RP = "rp"), + (e.RT = "rt"), + (e.RTC = "rtc"), + (e.RUBY = "ruby"), + (e.S = "s"), + (e.SCRIPT = "script"), + (e.SEARCH = "search"), + (e.SECTION = "section"), + (e.SELECT = "select"), + (e.SOURCE = "source"), + (e.SMALL = "small"), + (e.SPAN = "span"), + (e.STRIKE = "strike"), + (e.STRONG = "strong"), + (e.STYLE = "style"), + (e.SUB = "sub"), + (e.SUMMARY = "summary"), + (e.SUP = "sup"), + (e.TABLE = "table"), + (e.TBODY = "tbody"), + (e.TEMPLATE = "template"), + (e.TEXTAREA = "textarea"), + (e.TFOOT = "tfoot"), + (e.TD = "td"), + (e.TH = "th"), + (e.THEAD = "thead"), + (e.TITLE = "title"), + (e.TR = "tr"), + (e.TRACK = "track"), + (e.TT = "tt"), + (e.U = "u"), + (e.UL = "ul"), + (e.SVG = "svg"), + (e.VAR = "var"), + (e.WBR = "wbr"), + (e.XMP = "xmp")); + })(gt || (gt = {})); + (function (e) { + ((e[(e.UNKNOWN = 0)] = "UNKNOWN"), + (e[(e.A = 1)] = "A"), + (e[(e.ADDRESS = 2)] = "ADDRESS"), + (e[(e.ANNOTATION_XML = 3)] = "ANNOTATION_XML"), + (e[(e.APPLET = 4)] = "APPLET"), + (e[(e.AREA = 5)] = "AREA"), + (e[(e.ARTICLE = 6)] = "ARTICLE"), + (e[(e.ASIDE = 7)] = "ASIDE"), + (e[(e.B = 8)] = "B"), + (e[(e.BASE = 9)] = "BASE"), + (e[(e.BASEFONT = 10)] = "BASEFONT"), + (e[(e.BGSOUND = 11)] = "BGSOUND"), + (e[(e.BIG = 12)] = "BIG"), + (e[(e.BLOCKQUOTE = 13)] = "BLOCKQUOTE"), + (e[(e.BODY = 14)] = "BODY"), + (e[(e.BR = 15)] = "BR"), + (e[(e.BUTTON = 16)] = "BUTTON"), + (e[(e.CAPTION = 17)] = "CAPTION"), + (e[(e.CENTER = 18)] = "CENTER"), + (e[(e.CODE = 19)] = "CODE"), + (e[(e.COL = 20)] = "COL"), + (e[(e.COLGROUP = 21)] = "COLGROUP"), + (e[(e.DD = 22)] = "DD"), + (e[(e.DESC = 23)] = "DESC"), + (e[(e.DETAILS = 24)] = "DETAILS"), + (e[(e.DIALOG = 25)] = "DIALOG"), + (e[(e.DIR = 26)] = "DIR"), + (e[(e.DIV = 27)] = "DIV"), + (e[(e.DL = 28)] = "DL"), + (e[(e.DT = 29)] = "DT"), + (e[(e.EM = 30)] = "EM"), + (e[(e.EMBED = 31)] = "EMBED"), + (e[(e.FIELDSET = 32)] = "FIELDSET"), + (e[(e.FIGCAPTION = 33)] = "FIGCAPTION"), + (e[(e.FIGURE = 34)] = "FIGURE"), + (e[(e.FONT = 35)] = "FONT"), + (e[(e.FOOTER = 36)] = "FOOTER"), + (e[(e.FOREIGN_OBJECT = 37)] = "FOREIGN_OBJECT"), + (e[(e.FORM = 38)] = "FORM"), + (e[(e.FRAME = 39)] = "FRAME"), + (e[(e.FRAMESET = 40)] = "FRAMESET"), + (e[(e.H1 = 41)] = "H1"), + (e[(e.H2 = 42)] = "H2"), + (e[(e.H3 = 43)] = "H3"), + (e[(e.H4 = 44)] = "H4"), + (e[(e.H5 = 45)] = "H5"), + (e[(e.H6 = 46)] = "H6"), + (e[(e.HEAD = 47)] = "HEAD"), + (e[(e.HEADER = 48)] = "HEADER"), + (e[(e.HGROUP = 49)] = "HGROUP"), + (e[(e.HR = 50)] = "HR"), + (e[(e.HTML = 51)] = "HTML"), + (e[(e.I = 52)] = "I"), + (e[(e.IMG = 53)] = "IMG"), + (e[(e.IMAGE = 54)] = "IMAGE"), + (e[(e.INPUT = 55)] = "INPUT"), + (e[(e.IFRAME = 56)] = "IFRAME"), + (e[(e.KEYGEN = 57)] = "KEYGEN"), + (e[(e.LABEL = 58)] = "LABEL"), + (e[(e.LI = 59)] = "LI"), + (e[(e.LINK = 60)] = "LINK"), + (e[(e.LISTING = 61)] = "LISTING"), + (e[(e.MAIN = 62)] = "MAIN"), + (e[(e.MALIGNMARK = 63)] = "MALIGNMARK"), + (e[(e.MARQUEE = 64)] = "MARQUEE"), + (e[(e.MATH = 65)] = "MATH"), + (e[(e.MENU = 66)] = "MENU"), + (e[(e.META = 67)] = "META"), + (e[(e.MGLYPH = 68)] = "MGLYPH"), + (e[(e.MI = 69)] = "MI"), + (e[(e.MO = 70)] = "MO"), + (e[(e.MN = 71)] = "MN"), + (e[(e.MS = 72)] = "MS"), + (e[(e.MTEXT = 73)] = "MTEXT"), + (e[(e.NAV = 74)] = "NAV"), + (e[(e.NOBR = 75)] = "NOBR"), + (e[(e.NOFRAMES = 76)] = "NOFRAMES"), + (e[(e.NOEMBED = 77)] = "NOEMBED"), + (e[(e.NOSCRIPT = 78)] = "NOSCRIPT"), + (e[(e.OBJECT = 79)] = "OBJECT"), + (e[(e.OL = 80)] = "OL"), + (e[(e.OPTGROUP = 81)] = "OPTGROUP"), + (e[(e.OPTION = 82)] = "OPTION"), + (e[(e.P = 83)] = "P"), + (e[(e.PARAM = 84)] = "PARAM"), + (e[(e.PLAINTEXT = 85)] = "PLAINTEXT"), + (e[(e.PRE = 86)] = "PRE"), + (e[(e.RB = 87)] = "RB"), + (e[(e.RP = 88)] = "RP"), + (e[(e.RT = 89)] = "RT"), + (e[(e.RTC = 90)] = "RTC"), + (e[(e.RUBY = 91)] = "RUBY"), + (e[(e.S = 92)] = "S"), + (e[(e.SCRIPT = 93)] = "SCRIPT"), + (e[(e.SEARCH = 94)] = "SEARCH"), + (e[(e.SECTION = 95)] = "SECTION"), + (e[(e.SELECT = 96)] = "SELECT"), + (e[(e.SOURCE = 97)] = "SOURCE"), + (e[(e.SMALL = 98)] = "SMALL"), + (e[(e.SPAN = 99)] = "SPAN"), + (e[(e.STRIKE = 100)] = "STRIKE"), + (e[(e.STRONG = 101)] = "STRONG"), + (e[(e.STYLE = 102)] = "STYLE"), + (e[(e.SUB = 103)] = "SUB"), + (e[(e.SUMMARY = 104)] = "SUMMARY"), + (e[(e.SUP = 105)] = "SUP"), + (e[(e.TABLE = 106)] = "TABLE"), + (e[(e.TBODY = 107)] = "TBODY"), + (e[(e.TEMPLATE = 108)] = "TEMPLATE"), + (e[(e.TEXTAREA = 109)] = "TEXTAREA"), + (e[(e.TFOOT = 110)] = "TFOOT"), + (e[(e.TD = 111)] = "TD"), + (e[(e.TH = 112)] = "TH"), + (e[(e.THEAD = 113)] = "THEAD"), + (e[(e.TITLE = 114)] = "TITLE"), + (e[(e.TR = 115)] = "TR"), + (e[(e.TRACK = 116)] = "TRACK"), + (e[(e.TT = 117)] = "TT"), + (e[(e.U = 118)] = "U"), + (e[(e.UL = 119)] = "UL"), + (e[(e.SVG = 120)] = "SVG"), + (e[(e.VAR = 121)] = "VAR"), + (e[(e.WBR = 122)] = "WBR"), + (e[(e.XMP = 123)] = "XMP")); + })(X || (X = {})); + iar = new Map([ + [gt.A, X.A], + [gt.ADDRESS, X.ADDRESS], + [gt.ANNOTATION_XML, X.ANNOTATION_XML], + [gt.APPLET, X.APPLET], + [gt.AREA, X.AREA], + [gt.ARTICLE, X.ARTICLE], + [gt.ASIDE, X.ASIDE], + [gt.B, X.B], + [gt.BASE, X.BASE], + [gt.BASEFONT, X.BASEFONT], + [gt.BGSOUND, X.BGSOUND], + [gt.BIG, X.BIG], + [gt.BLOCKQUOTE, X.BLOCKQUOTE], + [gt.BODY, X.BODY], + [gt.BR, X.BR], + [gt.BUTTON, X.BUTTON], + [gt.CAPTION, X.CAPTION], + [gt.CENTER, X.CENTER], + [gt.CODE, X.CODE], + [gt.COL, X.COL], + [gt.COLGROUP, X.COLGROUP], + [gt.DD, X.DD], + [gt.DESC, X.DESC], + [gt.DETAILS, X.DETAILS], + [gt.DIALOG, X.DIALOG], + [gt.DIR, X.DIR], + [gt.DIV, X.DIV], + [gt.DL, X.DL], + [gt.DT, X.DT], + [gt.EM, X.EM], + [gt.EMBED, X.EMBED], + [gt.FIELDSET, X.FIELDSET], + [gt.FIGCAPTION, X.FIGCAPTION], + [gt.FIGURE, X.FIGURE], + [gt.FONT, X.FONT], + [gt.FOOTER, X.FOOTER], + [gt.FOREIGN_OBJECT, X.FOREIGN_OBJECT], + [gt.FORM, X.FORM], + [gt.FRAME, X.FRAME], + [gt.FRAMESET, X.FRAMESET], + [gt.H1, X.H1], + [gt.H2, X.H2], + [gt.H3, X.H3], + [gt.H4, X.H4], + [gt.H5, X.H5], + [gt.H6, X.H6], + [gt.HEAD, X.HEAD], + [gt.HEADER, X.HEADER], + [gt.HGROUP, X.HGROUP], + [gt.HR, X.HR], + [gt.HTML, X.HTML], + [gt.I, X.I], + [gt.IMG, X.IMG], + [gt.IMAGE, X.IMAGE], + [gt.INPUT, X.INPUT], + [gt.IFRAME, X.IFRAME], + [gt.KEYGEN, X.KEYGEN], + [gt.LABEL, X.LABEL], + [gt.LI, X.LI], + [gt.LINK, X.LINK], + [gt.LISTING, X.LISTING], + [gt.MAIN, X.MAIN], + [gt.MALIGNMARK, X.MALIGNMARK], + [gt.MARQUEE, X.MARQUEE], + [gt.MATH, X.MATH], + [gt.MENU, X.MENU], + [gt.META, X.META], + [gt.MGLYPH, X.MGLYPH], + [gt.MI, X.MI], + [gt.MO, X.MO], + [gt.MN, X.MN], + [gt.MS, X.MS], + [gt.MTEXT, X.MTEXT], + [gt.NAV, X.NAV], + [gt.NOBR, X.NOBR], + [gt.NOFRAMES, X.NOFRAMES], + [gt.NOEMBED, X.NOEMBED], + [gt.NOSCRIPT, X.NOSCRIPT], + [gt.OBJECT, X.OBJECT], + [gt.OL, X.OL], + [gt.OPTGROUP, X.OPTGROUP], + [gt.OPTION, X.OPTION], + [gt.P, X.P], + [gt.PARAM, X.PARAM], + [gt.PLAINTEXT, X.PLAINTEXT], + [gt.PRE, X.PRE], + [gt.RB, X.RB], + [gt.RP, X.RP], + [gt.RT, X.RT], + [gt.RTC, X.RTC], + [gt.RUBY, X.RUBY], + [gt.S, X.S], + [gt.SCRIPT, X.SCRIPT], + [gt.SEARCH, X.SEARCH], + [gt.SECTION, X.SECTION], + [gt.SELECT, X.SELECT], + [gt.SOURCE, X.SOURCE], + [gt.SMALL, X.SMALL], + [gt.SPAN, X.SPAN], + [gt.STRIKE, X.STRIKE], + [gt.STRONG, X.STRONG], + [gt.STYLE, X.STYLE], + [gt.SUB, X.SUB], + [gt.SUMMARY, X.SUMMARY], + [gt.SUP, X.SUP], + [gt.TABLE, X.TABLE], + [gt.TBODY, X.TBODY], + [gt.TEMPLATE, X.TEMPLATE], + [gt.TEXTAREA, X.TEXTAREA], + [gt.TFOOT, X.TFOOT], + [gt.TD, X.TD], + [gt.TH, X.TH], + [gt.THEAD, X.THEAD], + [gt.TITLE, X.TITLE], + [gt.TR, X.TR], + [gt.TRACK, X.TRACK], + [gt.TT, X.TT], + [gt.U, X.U], + [gt.UL, X.UL], + [gt.SVG, X.SVG], + [gt.VAR, X.VAR], + [gt.WBR, X.WBR], + [gt.XMP, X.XMP], + ]); + ((an = X), + (WVt = { + [$t.HTML]: new Set([ + an.ADDRESS, + an.APPLET, + an.AREA, + an.ARTICLE, + an.ASIDE, + an.BASE, + an.BASEFONT, + an.BGSOUND, + an.BLOCKQUOTE, + an.BODY, + an.BR, + an.BUTTON, + an.CAPTION, + an.CENTER, + an.COL, + an.COLGROUP, + an.DD, + an.DETAILS, + an.DIR, + an.DIV, + an.DL, + an.DT, + an.EMBED, + an.FIELDSET, + an.FIGCAPTION, + an.FIGURE, + an.FOOTER, + an.FORM, + an.FRAME, + an.FRAMESET, + an.H1, + an.H2, + an.H3, + an.H4, + an.H5, + an.H6, + an.HEAD, + an.HEADER, + an.HGROUP, + an.HR, + an.HTML, + an.IFRAME, + an.IMG, + an.INPUT, + an.LI, + an.LINK, + an.LISTING, + an.MAIN, + an.MARQUEE, + an.MENU, + an.META, + an.NAV, + an.NOEMBED, + an.NOFRAMES, + an.NOSCRIPT, + an.OBJECT, + an.OL, + an.P, + an.PARAM, + an.PLAINTEXT, + an.PRE, + an.SCRIPT, + an.SECTION, + an.SELECT, + an.SOURCE, + an.STYLE, + an.SUMMARY, + an.TABLE, + an.TBODY, + an.TD, + an.TEMPLATE, + an.TEXTAREA, + an.TFOOT, + an.TH, + an.THEAD, + an.TITLE, + an.TR, + an.TRACK, + an.UL, + an.WBR, + an.XMP, + ]), + [$t.MATHML]: new Set([ + an.MI, + an.MO, + an.MN, + an.MS, + an.MTEXT, + an.ANNOTATION_XML, + ]), + [$t.SVG]: new Set([an.TITLE, an.FOREIGN_OBJECT, an.DESC]), + [$t.XLINK]: new Set(), + [$t.XML]: new Set(), + [$t.XMLNS]: new Set(), + }), + (DG = new Set([an.H1, an.H2, an.H3, an.H4, an.H5, an.H6])), + (Oha = new Set([ + gt.STYLE, + gt.SCRIPT, + gt.XMP, + gt.IFRAME, + gt.NOEMBED, + gt.NOFRAMES, + gt.PLAINTEXT, + ]))); +}); +function sar(e) { + return e >= Fe.DIGIT_0 && e <= Fe.DIGIT_9; +} +function LG(e) { + return e >= Fe.LATIN_CAPITAL_A && e <= Fe.LATIN_CAPITAL_Z; +} +function lar(e) { + return e >= Fe.LATIN_SMALL_A && e <= Fe.LATIN_SMALL_Z; +} +function dC(e) { + return lar(e) || LG(e); +} +function KVt(e) { + return dC(e) || sar(e); +} +function Gse(e) { + return e + 32; +} +function jVt(e) { + return ( + e === Fe.SPACE || + e === Fe.LINE_FEED || + e === Fe.TABULATION || + e === Fe.FORM_FEED + ); +} +function JVt(e) { + return jVt(e) || e === Fe.SOLIDUS || e === Fe.GREATER_THAN_SIGN; +} +function car(e) { + if (e === Fe.NULL) return Dt.nullCharacterReference; + else if (e > 1114111) return Dt.characterReferenceOutsideUnicodeRange; + else if (Use(e)) return Dt.surrogateCharacterReference; + else if (zse(e)) return Dt.noncharacterCharacterReference; + else if (Nse(e) || e === Fe.CARRIAGE_RETURN) + return Dt.controlCharacterReference; + return null; +} +class qse { + constructor(e, t) { + ((this.options = e), + (this.handler = t), + (this.paused = !1), + (this.inLoop = !1), + (this.inForeignNode = !1), + (this.lastStartTagName = ""), + (this.active = !1), + (this.state = He.DATA), + (this.returnState = He.DATA), + (this.entityStartPos = 0), + (this.consumedAfterSnapshot = -1), + (this.currentCharacterToken = null), + (this.currentToken = null), + (this.currentAttr = { name: "", value: "" }), + (this.preprocessor = new Mke(t)), + (this.currentLocation = this.getCurrentLocation(-1)), + (this.entityDecoder = new Oke( + Dke, + (n, r) => { + ((this.preprocessor.pos = this.entityStartPos + r - 1), + this._flushCodePointConsumedAsCharacterReference(n)); + }, + t.onParseError + ? { + missingSemicolonAfterCharacterReference: () => { + this._err(Dt.missingSemicolonAfterCharacterReference, 1); + }, + absenceOfDigitsInNumericCharacterReference: (n) => { + this._err( + Dt.absenceOfDigitsInNumericCharacterReference, + this.entityStartPos - this.preprocessor.pos + n, + ); + }, + validateNumericCharacterReference: (n) => { + let r = car(n); + if (r) this._err(r, 1); + }, + } + : void 0, + ))); + } + _err(e, t = 0) { + var n, r; + (r = (n = this.handler).onParseError) === null || + r === void 0 || + r.call(n, this.preprocessor.getError(e, t)); + } + getCurrentLocation(e) { + if (!this.options.sourceCodeLocationInfo) return null; + return { + startLine: this.preprocessor.line, + startCol: this.preprocessor.col - e, + startOffset: this.preprocessor.offset - e, + endLine: -1, + endCol: -1, + endOffset: -1, + }; + } + _runParsingLoop() { + if (this.inLoop) return; + this.inLoop = !0; + while (this.active && !this.paused) { + this.consumedAfterSnapshot = 0; + let e = this._consume(); + if (!this._ensureHibernation()) this._callState(e); + } + this.inLoop = !1; + } + pause() { + this.paused = !0; + } + resume(e) { + if (!this.paused) throw Error("Parser was already resumed"); + if (((this.paused = !1), this.inLoop)) return; + if ((this._runParsingLoop(), !this.paused)) + e === null || e === void 0 || e(); + } + write(e, t, n) { + if ( + ((this.active = !0), + this.preprocessor.write(e, t), + this._runParsingLoop(), + !this.paused) + ) + n === null || n === void 0 || n(); + } + insertHtmlAtCurrentPos(e) { + ((this.active = !0), + this.preprocessor.insertHtmlAtCurrentPos(e), + this._runParsingLoop()); + } + _ensureHibernation() { + if (this.preprocessor.endOfChunkHit) + return ( + this.preprocessor.retreat(this.consumedAfterSnapshot), + (this.consumedAfterSnapshot = 0), + (this.active = !1), + !0 + ); + return !1; + } + _consume() { + return (this.consumedAfterSnapshot++, this.preprocessor.advance()); + } + _advanceBy(e) { + this.consumedAfterSnapshot += e; + for (let t = 0; t < e; t++) this.preprocessor.advance(); + } + _consumeSequenceIfMatch(e, t) { + if (this.preprocessor.startsWith(e, t)) + return (this._advanceBy(e.length - 1), !0); + return !1; + } + _createStartTagToken() { + this.currentToken = { + type: Wo.START_TAG, + tagName: "", + tagID: X.UNKNOWN, + selfClosing: !1, + ackSelfClosing: !1, + attrs: [], + location: this.getCurrentLocation(1), + }; + } + _createEndTagToken() { + this.currentToken = { + type: Wo.END_TAG, + tagName: "", + tagID: X.UNKNOWN, + selfClosing: !1, + ackSelfClosing: !1, + attrs: [], + location: this.getCurrentLocation(2), + }; + } + _createCommentToken(e) { + this.currentToken = { + type: Wo.COMMENT, + data: "", + location: this.getCurrentLocation(e), + }; + } + _createDoctypeToken(e) { + this.currentToken = { + type: Wo.DOCTYPE, + name: e, + forceQuirks: !1, + publicId: null, + systemId: null, + location: this.currentLocation, + }; + } + _createCharacterToken(e, t) { + this.currentCharacterToken = { + type: e, + chars: t, + location: this.currentLocation, + }; + } + _createAttr(e) { + ((this.currentAttr = { name: e, value: "" }), + (this.currentLocation = this.getCurrentLocation(0))); + } + _leaveAttrName() { + var e, t; + let n = this.currentToken; + if (Hse(n, this.currentAttr.name) === null) { + if ( + (n.attrs.push(this.currentAttr), n.location && this.currentLocation) + ) { + let r = + (e = (t = n.location).attrs) !== null && e !== void 0 + ? e + : (t.attrs = Object.create(null)); + ((r[this.currentAttr.name] = this.currentLocation), + this._leaveAttrValue()); + } + } else this._err(Dt.duplicateAttribute); + } + _leaveAttrValue() { + if (this.currentLocation) + ((this.currentLocation.endLine = this.preprocessor.line), + (this.currentLocation.endCol = this.preprocessor.col), + (this.currentLocation.endOffset = this.preprocessor.offset)); + } + prepareToken(e) { + if ( + (this._emitCurrentCharacterToken(e.location), + (this.currentToken = null), + e.location) + ) + ((e.location.endLine = this.preprocessor.line), + (e.location.endCol = this.preprocessor.col + 1), + (e.location.endOffset = this.preprocessor.offset + 1)); + this.currentLocation = this.getCurrentLocation(-1); + } + emitCurrentTagToken() { + let e = this.currentToken; + if ( + (this.prepareToken(e), (e.tagID = q3(e.tagName)), e.type === Wo.START_TAG) + ) + ((this.lastStartTagName = e.tagName), this.handler.onStartTag(e)); + else { + if (e.attrs.length > 0) this._err(Dt.endTagWithAttributes); + if (e.selfClosing) this._err(Dt.endTagWithTrailingSolidus); + this.handler.onEndTag(e); + } + this.preprocessor.dropParsedChunk(); + } + emitCurrentComment(e) { + (this.prepareToken(e), + this.handler.onComment(e), + this.preprocessor.dropParsedChunk()); + } + emitCurrentDoctype(e) { + (this.prepareToken(e), + this.handler.onDoctype(e), + this.preprocessor.dropParsedChunk()); + } + _emitCurrentCharacterToken(e) { + if (this.currentCharacterToken) { + if (e && this.currentCharacterToken.location) + ((this.currentCharacterToken.location.endLine = e.startLine), + (this.currentCharacterToken.location.endCol = e.startCol), + (this.currentCharacterToken.location.endOffset = e.startOffset)); + switch (this.currentCharacterToken.type) { + case Wo.CHARACTER: { + this.handler.onCharacter(this.currentCharacterToken); + break; + } + case Wo.NULL_CHARACTER: { + this.handler.onNullCharacter(this.currentCharacterToken); + break; + } + case Wo.WHITESPACE_CHARACTER: { + this.handler.onWhitespaceCharacter(this.currentCharacterToken); + break; + } + } + this.currentCharacterToken = null; + } + } + _emitEOFToken() { + let e = this.getCurrentLocation(0); + if (e) + ((e.endLine = e.startLine), + (e.endCol = e.startCol), + (e.endOffset = e.startOffset)); + (this._emitCurrentCharacterToken(e), + this.handler.onEof({ type: Wo.EOF, location: e }), + (this.active = !1)); + } + _appendCharToCurrentCharacterToken(e, t) { + if (this.currentCharacterToken) + if (this.currentCharacterToken.type === e) { + this.currentCharacterToken.chars += t; + return; + } else + ((this.currentLocation = this.getCurrentLocation(0)), + this._emitCurrentCharacterToken(this.currentLocation), + this.preprocessor.dropParsedChunk()); + this._createCharacterToken(e, t); + } + _emitCodePoint(e) { + let t = jVt(e) + ? Wo.WHITESPACE_CHARACTER + : e === Fe.NULL + ? Wo.NULL_CHARACTER + : Wo.CHARACTER; + this._appendCharToCurrentCharacterToken(t, String.fromCodePoint(e)); + } + _emitChars(e) { + this._appendCharToCurrentCharacterToken(Wo.CHARACTER, e); + } + _startCharacterReference() { + ((this.returnState = this.state), + (this.state = He.CHARACTER_REFERENCE), + (this.entityStartPos = this.preprocessor.pos), + this.entityDecoder.startEntity( + this._isCharacterReferenceInAttribute() ? xx.Attribute : xx.Legacy, + )); + } + _isCharacterReferenceInAttribute() { + return ( + this.returnState === He.ATTRIBUTE_VALUE_DOUBLE_QUOTED || + this.returnState === He.ATTRIBUTE_VALUE_SINGLE_QUOTED || + this.returnState === He.ATTRIBUTE_VALUE_UNQUOTED + ); + } + _flushCodePointConsumedAsCharacterReference(e) { + if (this._isCharacterReferenceInAttribute()) + this.currentAttr.value += String.fromCodePoint(e); + else this._emitCodePoint(e); + } + _callState(e) { + switch (this.state) { + case He.DATA: { + this._stateData(e); + break; + } + case He.RCDATA: { + this._stateRcdata(e); + break; + } + case He.RAWTEXT: { + this._stateRawtext(e); + break; + } + case He.SCRIPT_DATA: { + this._stateScriptData(e); + break; + } + case He.PLAINTEXT: { + this._statePlaintext(e); + break; + } + case He.TAG_OPEN: { + this._stateTagOpen(e); + break; + } + case He.END_TAG_OPEN: { + this._stateEndTagOpen(e); + break; + } + case He.TAG_NAME: { + this._stateTagName(e); + break; + } + case He.RCDATA_LESS_THAN_SIGN: { + this._stateRcdataLessThanSign(e); + break; + } + case He.RCDATA_END_TAG_OPEN: { + this._stateRcdataEndTagOpen(e); + break; + } + case He.RCDATA_END_TAG_NAME: { + this._stateRcdataEndTagName(e); + break; + } + case He.RAWTEXT_LESS_THAN_SIGN: { + this._stateRawtextLessThanSign(e); + break; + } + case He.RAWTEXT_END_TAG_OPEN: { + this._stateRawtextEndTagOpen(e); + break; + } + case He.RAWTEXT_END_TAG_NAME: { + this._stateRawtextEndTagName(e); + break; + } + case He.SCRIPT_DATA_LESS_THAN_SIGN: { + this._stateScriptDataLessThanSign(e); + break; + } + case He.SCRIPT_DATA_END_TAG_OPEN: { + this._stateScriptDataEndTagOpen(e); + break; + } + case He.SCRIPT_DATA_END_TAG_NAME: { + this._stateScriptDataEndTagName(e); + break; + } + case He.SCRIPT_DATA_ESCAPE_START: { + this._stateScriptDataEscapeStart(e); + break; + } + case He.SCRIPT_DATA_ESCAPE_START_DASH: { + this._stateScriptDataEscapeStartDash(e); + break; + } + case He.SCRIPT_DATA_ESCAPED: { + this._stateScriptDataEscaped(e); + break; + } + case He.SCRIPT_DATA_ESCAPED_DASH: { + this._stateScriptDataEscapedDash(e); + break; + } + case He.SCRIPT_DATA_ESCAPED_DASH_DASH: { + this._stateScriptDataEscapedDashDash(e); + break; + } + case He.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: { + this._stateScriptDataEscapedLessThanSign(e); + break; + } + case He.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: { + this._stateScriptDataEscapedEndTagOpen(e); + break; + } + case He.SCRIPT_DATA_ESCAPED_END_TAG_NAME: { + this._stateScriptDataEscapedEndTagName(e); + break; + } + case He.SCRIPT_DATA_DOUBLE_ESCAPE_START: { + this._stateScriptDataDoubleEscapeStart(e); + break; + } + case He.SCRIPT_DATA_DOUBLE_ESCAPED: { + this._stateScriptDataDoubleEscaped(e); + break; + } + case He.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: { + this._stateScriptDataDoubleEscapedDash(e); + break; + } + case He.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: { + this._stateScriptDataDoubleEscapedDashDash(e); + break; + } + case He.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: { + this._stateScriptDataDoubleEscapedLessThanSign(e); + break; + } + case He.SCRIPT_DATA_DOUBLE_ESCAPE_END: { + this._stateScriptDataDoubleEscapeEnd(e); + break; + } + case He.BEFORE_ATTRIBUTE_NAME: { + this._stateBeforeAttributeName(e); + break; + } + case He.ATTRIBUTE_NAME: { + this._stateAttributeName(e); + break; + } + case He.AFTER_ATTRIBUTE_NAME: { + this._stateAfterAttributeName(e); + break; + } + case He.BEFORE_ATTRIBUTE_VALUE: { + this._stateBeforeAttributeValue(e); + break; + } + case He.ATTRIBUTE_VALUE_DOUBLE_QUOTED: { + this._stateAttributeValueDoubleQuoted(e); + break; + } + case He.ATTRIBUTE_VALUE_SINGLE_QUOTED: { + this._stateAttributeValueSingleQuoted(e); + break; + } + case He.ATTRIBUTE_VALUE_UNQUOTED: { + this._stateAttributeValueUnquoted(e); + break; + } + case He.AFTER_ATTRIBUTE_VALUE_QUOTED: { + this._stateAfterAttributeValueQuoted(e); + break; + } + case He.SELF_CLOSING_START_TAG: { + this._stateSelfClosingStartTag(e); + break; + } + case He.BOGUS_COMMENT: { + this._stateBogusComment(e); + break; + } + case He.MARKUP_DECLARATION_OPEN: { + this._stateMarkupDeclarationOpen(e); + break; + } + case He.COMMENT_START: { + this._stateCommentStart(e); + break; + } + case He.COMMENT_START_DASH: { + this._stateCommentStartDash(e); + break; + } + case He.COMMENT: { + this._stateComment(e); + break; + } + case He.COMMENT_LESS_THAN_SIGN: { + this._stateCommentLessThanSign(e); + break; + } + case He.COMMENT_LESS_THAN_SIGN_BANG: { + this._stateCommentLessThanSignBang(e); + break; + } + case He.COMMENT_LESS_THAN_SIGN_BANG_DASH: { + this._stateCommentLessThanSignBangDash(e); + break; + } + case He.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: { + this._stateCommentLessThanSignBangDashDash(e); + break; + } + case He.COMMENT_END_DASH: { + this._stateCommentEndDash(e); + break; + } + case He.COMMENT_END: { + this._stateCommentEnd(e); + break; + } + case He.COMMENT_END_BANG: { + this._stateCommentEndBang(e); + break; + } + case He.DOCTYPE: { + this._stateDoctype(e); + break; + } + case He.BEFORE_DOCTYPE_NAME: { + this._stateBeforeDoctypeName(e); + break; + } + case He.DOCTYPE_NAME: { + this._stateDoctypeName(e); + break; + } + case He.AFTER_DOCTYPE_NAME: { + this._stateAfterDoctypeName(e); + break; + } + case He.AFTER_DOCTYPE_PUBLIC_KEYWORD: { + this._stateAfterDoctypePublicKeyword(e); + break; + } + case He.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: { + this._stateBeforeDoctypePublicIdentifier(e); + break; + } + case He.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: { + this._stateDoctypePublicIdentifierDoubleQuoted(e); + break; + } + case He.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: { + this._stateDoctypePublicIdentifierSingleQuoted(e); + break; + } + case He.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: { + this._stateAfterDoctypePublicIdentifier(e); + break; + } + case He.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: { + this._stateBetweenDoctypePublicAndSystemIdentifiers(e); + break; + } + case He.AFTER_DOCTYPE_SYSTEM_KEYWORD: { + this._stateAfterDoctypeSystemKeyword(e); + break; + } + case He.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: { + this._stateBeforeDoctypeSystemIdentifier(e); + break; + } + case He.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: { + this._stateDoctypeSystemIdentifierDoubleQuoted(e); + break; + } + case He.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: { + this._stateDoctypeSystemIdentifierSingleQuoted(e); + break; + } + case He.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: { + this._stateAfterDoctypeSystemIdentifier(e); + break; + } + case He.BOGUS_DOCTYPE: { + this._stateBogusDoctype(e); + break; + } + case He.CDATA_SECTION: { + this._stateCdataSection(e); + break; + } + case He.CDATA_SECTION_BRACKET: { + this._stateCdataSectionBracket(e); + break; + } + case He.CDATA_SECTION_END: { + this._stateCdataSectionEnd(e); + break; + } + case He.CHARACTER_REFERENCE: { + this._stateCharacterReference(); + break; + } + case He.AMBIGUOUS_AMPERSAND: { + this._stateAmbiguousAmpersand(e); + break; + } + default: + throw Error("Unknown state"); + } + } + _stateData(e) { + switch (e) { + case Fe.LESS_THAN_SIGN: { + this.state = He.TAG_OPEN; + break; + } + case Fe.AMPERSAND: { + this._startCharacterReference(); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), this._emitCodePoint(e)); + break; + } + case Fe.EOF: { + this._emitEOFToken(); + break; + } + default: + this._emitCodePoint(e); + } + } + _stateRcdata(e) { + switch (e) { + case Fe.AMPERSAND: { + this._startCharacterReference(); + break; + } + case Fe.LESS_THAN_SIGN: { + this.state = He.RCDATA_LESS_THAN_SIGN; + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), this._emitChars(Bs)); + break; + } + case Fe.EOF: { + this._emitEOFToken(); + break; + } + default: + this._emitCodePoint(e); + } + } + _stateRawtext(e) { + switch (e) { + case Fe.LESS_THAN_SIGN: { + this.state = He.RAWTEXT_LESS_THAN_SIGN; + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), this._emitChars(Bs)); + break; + } + case Fe.EOF: { + this._emitEOFToken(); + break; + } + default: + this._emitCodePoint(e); + } + } + _stateScriptData(e) { + switch (e) { + case Fe.LESS_THAN_SIGN: { + this.state = He.SCRIPT_DATA_LESS_THAN_SIGN; + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), this._emitChars(Bs)); + break; + } + case Fe.EOF: { + this._emitEOFToken(); + break; + } + default: + this._emitCodePoint(e); + } + } + _statePlaintext(e) { + switch (e) { + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), this._emitChars(Bs)); + break; + } + case Fe.EOF: { + this._emitEOFToken(); + break; + } + default: + this._emitCodePoint(e); + } + } + _stateTagOpen(e) { + if (dC(e)) + (this._createStartTagToken(), + (this.state = He.TAG_NAME), + this._stateTagName(e)); + else + switch (e) { + case Fe.EXCLAMATION_MARK: { + this.state = He.MARKUP_DECLARATION_OPEN; + break; + } + case Fe.SOLIDUS: { + this.state = He.END_TAG_OPEN; + break; + } + case Fe.QUESTION_MARK: { + (this._err(Dt.unexpectedQuestionMarkInsteadOfTagName), + this._createCommentToken(1), + (this.state = He.BOGUS_COMMENT), + this._stateBogusComment(e)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofBeforeTagName), + this._emitChars("<"), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.invalidFirstCharacterOfTagName), + this._emitChars("<"), + (this.state = He.DATA), + this._stateData(e)); + } + } + _stateEndTagOpen(e) { + if (dC(e)) + (this._createEndTagToken(), + (this.state = He.TAG_NAME), + this._stateTagName(e)); + else + switch (e) { + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.missingEndTagName), (this.state = He.DATA)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofBeforeTagName), + this._emitChars("")); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), + (this.state = He.SCRIPT_DATA_ESCAPED), + this._emitChars(Bs)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInScriptHtmlCommentLikeText), this._emitEOFToken()); + break; + } + default: + ((this.state = He.SCRIPT_DATA_ESCAPED), this._emitCodePoint(e)); + } + } + _stateScriptDataEscapedLessThanSign(e) { + if (e === Fe.SOLIDUS) this.state = He.SCRIPT_DATA_ESCAPED_END_TAG_OPEN; + else if (dC(e)) + (this._emitChars("<"), + (this.state = He.SCRIPT_DATA_DOUBLE_ESCAPE_START), + this._stateScriptDataDoubleEscapeStart(e)); + else + (this._emitChars("<"), + (this.state = He.SCRIPT_DATA_ESCAPED), + this._stateScriptDataEscaped(e)); + } + _stateScriptDataEscapedEndTagOpen(e) { + if (dC(e)) + ((this.state = He.SCRIPT_DATA_ESCAPED_END_TAG_NAME), + this._stateScriptDataEscapedEndTagName(e)); + else + (this._emitChars("")); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), + (this.state = He.SCRIPT_DATA_DOUBLE_ESCAPED), + this._emitChars(Bs)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInScriptHtmlCommentLikeText), this._emitEOFToken()); + break; + } + default: + ((this.state = He.SCRIPT_DATA_DOUBLE_ESCAPED), this._emitCodePoint(e)); + } + } + _stateScriptDataDoubleEscapedLessThanSign(e) { + if (e === Fe.SOLIDUS) + ((this.state = He.SCRIPT_DATA_DOUBLE_ESCAPE_END), this._emitChars("/")); + else + ((this.state = He.SCRIPT_DATA_DOUBLE_ESCAPED), + this._stateScriptDataDoubleEscaped(e)); + } + _stateScriptDataDoubleEscapeEnd(e) { + if ( + this.preprocessor.startsWith(hh.SCRIPT, !1) && + JVt(this.preprocessor.peek(hh.SCRIPT.length)) + ) { + this._emitCodePoint(e); + for (let t = 0; t < hh.SCRIPT.length; t++) + this._emitCodePoint(this._consume()); + this.state = He.SCRIPT_DATA_ESCAPED; + } else if (!this._ensureHibernation()) + ((this.state = He.SCRIPT_DATA_DOUBLE_ESCAPED), + this._stateScriptDataDoubleEscaped(e)); + } + _stateBeforeAttributeName(e) { + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.SOLIDUS: + case Fe.GREATER_THAN_SIGN: + case Fe.EOF: { + ((this.state = He.AFTER_ATTRIBUTE_NAME), + this._stateAfterAttributeName(e)); + break; + } + case Fe.EQUALS_SIGN: { + (this._err(Dt.unexpectedEqualsSignBeforeAttributeName), + this._createAttr("="), + (this.state = He.ATTRIBUTE_NAME)); + break; + } + default: + (this._createAttr(""), + (this.state = He.ATTRIBUTE_NAME), + this._stateAttributeName(e)); + } + } + _stateAttributeName(e) { + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + case Fe.SOLIDUS: + case Fe.GREATER_THAN_SIGN: + case Fe.EOF: { + (this._leaveAttrName(), + (this.state = He.AFTER_ATTRIBUTE_NAME), + this._stateAfterAttributeName(e)); + break; + } + case Fe.EQUALS_SIGN: { + (this._leaveAttrName(), (this.state = He.BEFORE_ATTRIBUTE_VALUE)); + break; + } + case Fe.QUOTATION_MARK: + case Fe.APOSTROPHE: + case Fe.LESS_THAN_SIGN: { + (this._err(Dt.unexpectedCharacterInAttributeName), + (this.currentAttr.name += String.fromCodePoint(e))); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (this.currentAttr.name += Bs)); + break; + } + default: + this.currentAttr.name += String.fromCodePoint(LG(e) ? Gse(e) : e); + } + } + _stateAfterAttributeName(e) { + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.SOLIDUS: { + this.state = He.SELF_CLOSING_START_TAG; + break; + } + case Fe.EQUALS_SIGN: { + this.state = He.BEFORE_ATTRIBUTE_VALUE; + break; + } + case Fe.GREATER_THAN_SIGN: { + ((this.state = He.DATA), this.emitCurrentTagToken()); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInTag), this._emitEOFToken()); + break; + } + default: + (this._createAttr(""), + (this.state = He.ATTRIBUTE_NAME), + this._stateAttributeName(e)); + } + } + _stateBeforeAttributeValue(e) { + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.QUOTATION_MARK: { + this.state = He.ATTRIBUTE_VALUE_DOUBLE_QUOTED; + break; + } + case Fe.APOSTROPHE: { + this.state = He.ATTRIBUTE_VALUE_SINGLE_QUOTED; + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.missingAttributeValue), + (this.state = He.DATA), + this.emitCurrentTagToken()); + break; + } + default: + ((this.state = He.ATTRIBUTE_VALUE_UNQUOTED), + this._stateAttributeValueUnquoted(e)); + } + } + _stateAttributeValueDoubleQuoted(e) { + switch (e) { + case Fe.QUOTATION_MARK: { + this.state = He.AFTER_ATTRIBUTE_VALUE_QUOTED; + break; + } + case Fe.AMPERSAND: { + this._startCharacterReference(); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (this.currentAttr.value += Bs)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInTag), this._emitEOFToken()); + break; + } + default: + this.currentAttr.value += String.fromCodePoint(e); + } + } + _stateAttributeValueSingleQuoted(e) { + switch (e) { + case Fe.APOSTROPHE: { + this.state = He.AFTER_ATTRIBUTE_VALUE_QUOTED; + break; + } + case Fe.AMPERSAND: { + this._startCharacterReference(); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (this.currentAttr.value += Bs)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInTag), this._emitEOFToken()); + break; + } + default: + this.currentAttr.value += String.fromCodePoint(e); + } + } + _stateAttributeValueUnquoted(e) { + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: { + (this._leaveAttrValue(), (this.state = He.BEFORE_ATTRIBUTE_NAME)); + break; + } + case Fe.AMPERSAND: { + this._startCharacterReference(); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._leaveAttrValue(), + (this.state = He.DATA), + this.emitCurrentTagToken()); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (this.currentAttr.value += Bs)); + break; + } + case Fe.QUOTATION_MARK: + case Fe.APOSTROPHE: + case Fe.LESS_THAN_SIGN: + case Fe.EQUALS_SIGN: + case Fe.GRAVE_ACCENT: { + (this._err(Dt.unexpectedCharacterInUnquotedAttributeValue), + (this.currentAttr.value += String.fromCodePoint(e))); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInTag), this._emitEOFToken()); + break; + } + default: + this.currentAttr.value += String.fromCodePoint(e); + } + } + _stateAfterAttributeValueQuoted(e) { + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: { + (this._leaveAttrValue(), (this.state = He.BEFORE_ATTRIBUTE_NAME)); + break; + } + case Fe.SOLIDUS: { + (this._leaveAttrValue(), (this.state = He.SELF_CLOSING_START_TAG)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._leaveAttrValue(), + (this.state = He.DATA), + this.emitCurrentTagToken()); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInTag), this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingWhitespaceBetweenAttributes), + (this.state = He.BEFORE_ATTRIBUTE_NAME), + this._stateBeforeAttributeName(e)); + } + } + _stateSelfClosingStartTag(e) { + switch (e) { + case Fe.GREATER_THAN_SIGN: { + let t = this.currentToken; + ((t.selfClosing = !0), + (this.state = He.DATA), + this.emitCurrentTagToken()); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInTag), this._emitEOFToken()); + break; + } + default: + (this._err(Dt.unexpectedSolidusInTag), + (this.state = He.BEFORE_ATTRIBUTE_NAME), + this._stateBeforeAttributeName(e)); + } + } + _stateBogusComment(e) { + let t = this.currentToken; + switch (e) { + case Fe.GREATER_THAN_SIGN: { + ((this.state = He.DATA), this.emitCurrentComment(t)); + break; + } + case Fe.EOF: { + (this.emitCurrentComment(t), this._emitEOFToken()); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (t.data += Bs)); + break; + } + default: + t.data += String.fromCodePoint(e); + } + } + _stateMarkupDeclarationOpen(e) { + if (this._consumeSequenceIfMatch(hh.DASH_DASH, !0)) + (this._createCommentToken(hh.DASH_DASH.length + 1), + (this.state = He.COMMENT_START)); + else if (this._consumeSequenceIfMatch(hh.DOCTYPE, !1)) + ((this.currentLocation = this.getCurrentLocation(hh.DOCTYPE.length + 1)), + (this.state = He.DOCTYPE)); + else if (this._consumeSequenceIfMatch(hh.CDATA_START, !0)) + if (this.inForeignNode) this.state = He.CDATA_SECTION; + else + (this._err(Dt.cdataInHtmlContent), + this._createCommentToken(hh.CDATA_START.length + 1), + (this.currentToken.data = "[CDATA["), + (this.state = He.BOGUS_COMMENT)); + else if (!this._ensureHibernation()) + (this._err(Dt.incorrectlyOpenedComment), + this._createCommentToken(2), + (this.state = He.BOGUS_COMMENT), + this._stateBogusComment(e)); + } + _stateCommentStart(e) { + switch (e) { + case Fe.HYPHEN_MINUS: { + this.state = He.COMMENT_START_DASH; + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.abruptClosingOfEmptyComment), (this.state = He.DATA)); + let t = this.currentToken; + this.emitCurrentComment(t); + break; + } + default: + ((this.state = He.COMMENT), this._stateComment(e)); + } + } + _stateCommentStartDash(e) { + let t = this.currentToken; + switch (e) { + case Fe.HYPHEN_MINUS: { + this.state = He.COMMENT_END; + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.abruptClosingOfEmptyComment), + (this.state = He.DATA), + this.emitCurrentComment(t)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInComment), + this.emitCurrentComment(t), + this._emitEOFToken()); + break; + } + default: + ((t.data += "-"), (this.state = He.COMMENT), this._stateComment(e)); + } + } + _stateComment(e) { + let t = this.currentToken; + switch (e) { + case Fe.HYPHEN_MINUS: { + this.state = He.COMMENT_END_DASH; + break; + } + case Fe.LESS_THAN_SIGN: { + ((t.data += "<"), (this.state = He.COMMENT_LESS_THAN_SIGN)); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (t.data += Bs)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInComment), + this.emitCurrentComment(t), + this._emitEOFToken()); + break; + } + default: + t.data += String.fromCodePoint(e); + } + } + _stateCommentLessThanSign(e) { + let t = this.currentToken; + switch (e) { + case Fe.EXCLAMATION_MARK: { + ((t.data += "!"), (this.state = He.COMMENT_LESS_THAN_SIGN_BANG)); + break; + } + case Fe.LESS_THAN_SIGN: { + t.data += "<"; + break; + } + default: + ((this.state = He.COMMENT), this._stateComment(e)); + } + } + _stateCommentLessThanSignBang(e) { + if (e === Fe.HYPHEN_MINUS) this.state = He.COMMENT_LESS_THAN_SIGN_BANG_DASH; + else ((this.state = He.COMMENT), this._stateComment(e)); + } + _stateCommentLessThanSignBangDash(e) { + if (e === Fe.HYPHEN_MINUS) + this.state = He.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH; + else ((this.state = He.COMMENT_END_DASH), this._stateCommentEndDash(e)); + } + _stateCommentLessThanSignBangDashDash(e) { + if (e !== Fe.GREATER_THAN_SIGN && e !== Fe.EOF) this._err(Dt.nestedComment); + ((this.state = He.COMMENT_END), this._stateCommentEnd(e)); + } + _stateCommentEndDash(e) { + let t = this.currentToken; + switch (e) { + case Fe.HYPHEN_MINUS: { + this.state = He.COMMENT_END; + break; + } + case Fe.EOF: { + (this._err(Dt.eofInComment), + this.emitCurrentComment(t), + this._emitEOFToken()); + break; + } + default: + ((t.data += "-"), (this.state = He.COMMENT), this._stateComment(e)); + } + } + _stateCommentEnd(e) { + let t = this.currentToken; + switch (e) { + case Fe.GREATER_THAN_SIGN: { + ((this.state = He.DATA), this.emitCurrentComment(t)); + break; + } + case Fe.EXCLAMATION_MARK: { + this.state = He.COMMENT_END_BANG; + break; + } + case Fe.HYPHEN_MINUS: { + t.data += "-"; + break; + } + case Fe.EOF: { + (this._err(Dt.eofInComment), + this.emitCurrentComment(t), + this._emitEOFToken()); + break; + } + default: + ((t.data += "--"), (this.state = He.COMMENT), this._stateComment(e)); + } + } + _stateCommentEndBang(e) { + let t = this.currentToken; + switch (e) { + case Fe.HYPHEN_MINUS: { + ((t.data += "--!"), (this.state = He.COMMENT_END_DASH)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.incorrectlyClosedComment), + (this.state = He.DATA), + this.emitCurrentComment(t)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInComment), + this.emitCurrentComment(t), + this._emitEOFToken()); + break; + } + default: + ((t.data += "--!"), (this.state = He.COMMENT), this._stateComment(e)); + } + } + _stateDoctype(e) { + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: { + this.state = He.BEFORE_DOCTYPE_NAME; + break; + } + case Fe.GREATER_THAN_SIGN: { + ((this.state = He.BEFORE_DOCTYPE_NAME), + this._stateBeforeDoctypeName(e)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), this._createDoctypeToken(null)); + let t = this.currentToken; + ((t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingWhitespaceBeforeDoctypeName), + (this.state = He.BEFORE_DOCTYPE_NAME), + this._stateBeforeDoctypeName(e)); + } + } + _stateBeforeDoctypeName(e) { + if (LG(e)) + (this._createDoctypeToken(String.fromCharCode(Gse(e))), + (this.state = He.DOCTYPE_NAME)); + else + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), + this._createDoctypeToken(Bs), + (this.state = He.DOCTYPE_NAME)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.missingDoctypeName), this._createDoctypeToken(null)); + let t = this.currentToken; + ((t.forceQuirks = !0), + this.emitCurrentDoctype(t), + (this.state = He.DATA)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), this._createDoctypeToken(null)); + let t = this.currentToken; + ((t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._createDoctypeToken(String.fromCodePoint(e)), + (this.state = He.DOCTYPE_NAME)); + } + } + _stateDoctypeName(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: { + this.state = He.AFTER_DOCTYPE_NAME; + break; + } + case Fe.GREATER_THAN_SIGN: { + ((this.state = He.DATA), this.emitCurrentDoctype(t)); + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (t.name += Bs)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + t.name += String.fromCodePoint(LG(e) ? Gse(e) : e); + } + } + _stateAfterDoctypeName(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.GREATER_THAN_SIGN: { + ((this.state = He.DATA), this.emitCurrentDoctype(t)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + if (this._consumeSequenceIfMatch(hh.PUBLIC, !1)) + this.state = He.AFTER_DOCTYPE_PUBLIC_KEYWORD; + else if (this._consumeSequenceIfMatch(hh.SYSTEM, !1)) + this.state = He.AFTER_DOCTYPE_SYSTEM_KEYWORD; + else if (!this._ensureHibernation()) + (this._err(Dt.invalidCharacterSequenceAfterDoctypeName), + (t.forceQuirks = !0), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateAfterDoctypePublicKeyword(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: { + this.state = He.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER; + break; + } + case Fe.QUOTATION_MARK: { + (this._err(Dt.missingWhitespaceAfterDoctypePublicKeyword), + (t.publicId = ""), + (this.state = He.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED)); + break; + } + case Fe.APOSTROPHE: { + (this._err(Dt.missingWhitespaceAfterDoctypePublicKeyword), + (t.publicId = ""), + (this.state = He.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.missingDoctypePublicIdentifier), + (t.forceQuirks = !0), + (this.state = He.DATA), + this.emitCurrentDoctype(t)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingQuoteBeforeDoctypePublicIdentifier), + (t.forceQuirks = !0), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateBeforeDoctypePublicIdentifier(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.QUOTATION_MARK: { + ((t.publicId = ""), + (this.state = He.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED)); + break; + } + case Fe.APOSTROPHE: { + ((t.publicId = ""), + (this.state = He.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.missingDoctypePublicIdentifier), + (t.forceQuirks = !0), + (this.state = He.DATA), + this.emitCurrentDoctype(t)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingQuoteBeforeDoctypePublicIdentifier), + (t.forceQuirks = !0), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateDoctypePublicIdentifierDoubleQuoted(e) { + let t = this.currentToken; + switch (e) { + case Fe.QUOTATION_MARK: { + this.state = He.AFTER_DOCTYPE_PUBLIC_IDENTIFIER; + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (t.publicId += Bs)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.abruptDoctypePublicIdentifier), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + (this.state = He.DATA)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + t.publicId += String.fromCodePoint(e); + } + } + _stateDoctypePublicIdentifierSingleQuoted(e) { + let t = this.currentToken; + switch (e) { + case Fe.APOSTROPHE: { + this.state = He.AFTER_DOCTYPE_PUBLIC_IDENTIFIER; + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (t.publicId += Bs)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.abruptDoctypePublicIdentifier), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + (this.state = He.DATA)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + t.publicId += String.fromCodePoint(e); + } + } + _stateAfterDoctypePublicIdentifier(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: { + this.state = He.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS; + break; + } + case Fe.GREATER_THAN_SIGN: { + ((this.state = He.DATA), this.emitCurrentDoctype(t)); + break; + } + case Fe.QUOTATION_MARK: { + (this._err( + Dt.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers, + ), + (t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED)); + break; + } + case Fe.APOSTROPHE: { + (this._err( + Dt.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers, + ), + (t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingQuoteBeforeDoctypeSystemIdentifier), + (t.forceQuirks = !0), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateBetweenDoctypePublicAndSystemIdentifiers(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.GREATER_THAN_SIGN: { + (this.emitCurrentDoctype(t), (this.state = He.DATA)); + break; + } + case Fe.QUOTATION_MARK: { + ((t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED)); + break; + } + case Fe.APOSTROPHE: { + ((t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingQuoteBeforeDoctypeSystemIdentifier), + (t.forceQuirks = !0), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateAfterDoctypeSystemKeyword(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: { + this.state = He.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER; + break; + } + case Fe.QUOTATION_MARK: { + (this._err(Dt.missingWhitespaceAfterDoctypeSystemKeyword), + (t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED)); + break; + } + case Fe.APOSTROPHE: { + (this._err(Dt.missingWhitespaceAfterDoctypeSystemKeyword), + (t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.missingDoctypeSystemIdentifier), + (t.forceQuirks = !0), + (this.state = He.DATA), + this.emitCurrentDoctype(t)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingQuoteBeforeDoctypeSystemIdentifier), + (t.forceQuirks = !0), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateBeforeDoctypeSystemIdentifier(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.QUOTATION_MARK: { + ((t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED)); + break; + } + case Fe.APOSTROPHE: { + ((t.systemId = ""), + (this.state = He.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.missingDoctypeSystemIdentifier), + (t.forceQuirks = !0), + (this.state = He.DATA), + this.emitCurrentDoctype(t)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.missingQuoteBeforeDoctypeSystemIdentifier), + (t.forceQuirks = !0), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateDoctypeSystemIdentifierDoubleQuoted(e) { + let t = this.currentToken; + switch (e) { + case Fe.QUOTATION_MARK: { + this.state = He.AFTER_DOCTYPE_SYSTEM_IDENTIFIER; + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (t.systemId += Bs)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.abruptDoctypeSystemIdentifier), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + (this.state = He.DATA)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + t.systemId += String.fromCodePoint(e); + } + } + _stateDoctypeSystemIdentifierSingleQuoted(e) { + let t = this.currentToken; + switch (e) { + case Fe.APOSTROPHE: { + this.state = He.AFTER_DOCTYPE_SYSTEM_IDENTIFIER; + break; + } + case Fe.NULL: { + (this._err(Dt.unexpectedNullCharacter), (t.systemId += Bs)); + break; + } + case Fe.GREATER_THAN_SIGN: { + (this._err(Dt.abruptDoctypeSystemIdentifier), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + (this.state = He.DATA)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + t.systemId += String.fromCodePoint(e); + } + } + _stateAfterDoctypeSystemIdentifier(e) { + let t = this.currentToken; + switch (e) { + case Fe.SPACE: + case Fe.LINE_FEED: + case Fe.TABULATION: + case Fe.FORM_FEED: + break; + case Fe.GREATER_THAN_SIGN: { + (this.emitCurrentDoctype(t), (this.state = He.DATA)); + break; + } + case Fe.EOF: { + (this._err(Dt.eofInDoctype), + (t.forceQuirks = !0), + this.emitCurrentDoctype(t), + this._emitEOFToken()); + break; + } + default: + (this._err(Dt.unexpectedCharacterAfterDoctypeSystemIdentifier), + (this.state = He.BOGUS_DOCTYPE), + this._stateBogusDoctype(e)); + } + } + _stateBogusDoctype(e) { + let t = this.currentToken; + switch (e) { + case Fe.GREATER_THAN_SIGN: { + (this.emitCurrentDoctype(t), (this.state = He.DATA)); + break; + } + case Fe.NULL: { + this._err(Dt.unexpectedNullCharacter); + break; + } + case Fe.EOF: { + (this.emitCurrentDoctype(t), this._emitEOFToken()); + break; + } + default: + } + } + _stateCdataSection(e) { + switch (e) { + case Fe.RIGHT_SQUARE_BRACKET: { + this.state = He.CDATA_SECTION_BRACKET; + break; + } + case Fe.EOF: { + (this._err(Dt.eofInCdata), this._emitEOFToken()); + break; + } + default: + this._emitCodePoint(e); + } + } + _stateCdataSectionBracket(e) { + if (e === Fe.RIGHT_SQUARE_BRACKET) this.state = He.CDATA_SECTION_END; + else + (this._emitChars("]"), + (this.state = He.CDATA_SECTION), + this._stateCdataSection(e)); + } + _stateCdataSectionEnd(e) { + switch (e) { + case Fe.GREATER_THAN_SIGN: { + this.state = He.DATA; + break; + } + case Fe.RIGHT_SQUARE_BRACKET: { + this._emitChars("]"); + break; + } + default: + (this._emitChars("]]"), + (this.state = He.CDATA_SECTION), + this._stateCdataSection(e)); + } + } + _stateCharacterReference() { + let e = this.entityDecoder.write( + this.preprocessor.html, + this.preprocessor.pos, + ); + if (e < 0) + if (this.preprocessor.lastChunkWritten) e = this.entityDecoder.end(); + else { + ((this.active = !1), + (this.preprocessor.pos = this.preprocessor.html.length - 1), + (this.consumedAfterSnapshot = 0), + (this.preprocessor.endOfChunkHit = !0)); + return; + } + if (e === 0) + ((this.preprocessor.pos = this.entityStartPos), + this._flushCodePointConsumedAsCharacterReference(Fe.AMPERSAND), + (this.state = + !this._isCharacterReferenceInAttribute() && + KVt(this.preprocessor.peek(1)) + ? He.AMBIGUOUS_AMPERSAND + : this.returnState)); + else this.state = this.returnState; + } + _stateAmbiguousAmpersand(e) { + if (KVt(e)) this._flushCodePointConsumedAsCharacterReference(e); + else { + if (e === Fe.SEMICOLON) this._err(Dt.unknownNamedCharacterReference); + ((this.state = this.returnState), this._callState(e)); + } + } +} +var He, gl; +var Fke = P(() => { + VVt(); + _se(); + Vse(); + XVt(); + MG(); + Z3(); + (function (e) { + ((e[(e.DATA = 0)] = "DATA"), + (e[(e.RCDATA = 1)] = "RCDATA"), + (e[(e.RAWTEXT = 2)] = "RAWTEXT"), + (e[(e.SCRIPT_DATA = 3)] = "SCRIPT_DATA"), + (e[(e.PLAINTEXT = 4)] = "PLAINTEXT"), + (e[(e.TAG_OPEN = 5)] = "TAG_OPEN"), + (e[(e.END_TAG_OPEN = 6)] = "END_TAG_OPEN"), + (e[(e.TAG_NAME = 7)] = "TAG_NAME"), + (e[(e.RCDATA_LESS_THAN_SIGN = 8)] = "RCDATA_LESS_THAN_SIGN"), + (e[(e.RCDATA_END_TAG_OPEN = 9)] = "RCDATA_END_TAG_OPEN"), + (e[(e.RCDATA_END_TAG_NAME = 10)] = "RCDATA_END_TAG_NAME"), + (e[(e.RAWTEXT_LESS_THAN_SIGN = 11)] = "RAWTEXT_LESS_THAN_SIGN"), + (e[(e.RAWTEXT_END_TAG_OPEN = 12)] = "RAWTEXT_END_TAG_OPEN"), + (e[(e.RAWTEXT_END_TAG_NAME = 13)] = "RAWTEXT_END_TAG_NAME"), + (e[(e.SCRIPT_DATA_LESS_THAN_SIGN = 14)] = "SCRIPT_DATA_LESS_THAN_SIGN"), + (e[(e.SCRIPT_DATA_END_TAG_OPEN = 15)] = "SCRIPT_DATA_END_TAG_OPEN"), + (e[(e.SCRIPT_DATA_END_TAG_NAME = 16)] = "SCRIPT_DATA_END_TAG_NAME"), + (e[(e.SCRIPT_DATA_ESCAPE_START = 17)] = "SCRIPT_DATA_ESCAPE_START"), + (e[(e.SCRIPT_DATA_ESCAPE_START_DASH = 18)] = + "SCRIPT_DATA_ESCAPE_START_DASH"), + (e[(e.SCRIPT_DATA_ESCAPED = 19)] = "SCRIPT_DATA_ESCAPED"), + (e[(e.SCRIPT_DATA_ESCAPED_DASH = 20)] = "SCRIPT_DATA_ESCAPED_DASH"), + (e[(e.SCRIPT_DATA_ESCAPED_DASH_DASH = 21)] = + "SCRIPT_DATA_ESCAPED_DASH_DASH"), + (e[(e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN = 22)] = + "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN"), + (e[(e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN = 23)] = + "SCRIPT_DATA_ESCAPED_END_TAG_OPEN"), + (e[(e.SCRIPT_DATA_ESCAPED_END_TAG_NAME = 24)] = + "SCRIPT_DATA_ESCAPED_END_TAG_NAME"), + (e[(e.SCRIPT_DATA_DOUBLE_ESCAPE_START = 25)] = + "SCRIPT_DATA_DOUBLE_ESCAPE_START"), + (e[(e.SCRIPT_DATA_DOUBLE_ESCAPED = 26)] = "SCRIPT_DATA_DOUBLE_ESCAPED"), + (e[(e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH = 27)] = + "SCRIPT_DATA_DOUBLE_ESCAPED_DASH"), + (e[(e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH = 28)] = + "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH"), + (e[(e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN = 29)] = + "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN"), + (e[(e.SCRIPT_DATA_DOUBLE_ESCAPE_END = 30)] = + "SCRIPT_DATA_DOUBLE_ESCAPE_END"), + (e[(e.BEFORE_ATTRIBUTE_NAME = 31)] = "BEFORE_ATTRIBUTE_NAME"), + (e[(e.ATTRIBUTE_NAME = 32)] = "ATTRIBUTE_NAME"), + (e[(e.AFTER_ATTRIBUTE_NAME = 33)] = "AFTER_ATTRIBUTE_NAME"), + (e[(e.BEFORE_ATTRIBUTE_VALUE = 34)] = "BEFORE_ATTRIBUTE_VALUE"), + (e[(e.ATTRIBUTE_VALUE_DOUBLE_QUOTED = 35)] = + "ATTRIBUTE_VALUE_DOUBLE_QUOTED"), + (e[(e.ATTRIBUTE_VALUE_SINGLE_QUOTED = 36)] = + "ATTRIBUTE_VALUE_SINGLE_QUOTED"), + (e[(e.ATTRIBUTE_VALUE_UNQUOTED = 37)] = "ATTRIBUTE_VALUE_UNQUOTED"), + (e[(e.AFTER_ATTRIBUTE_VALUE_QUOTED = 38)] = + "AFTER_ATTRIBUTE_VALUE_QUOTED"), + (e[(e.SELF_CLOSING_START_TAG = 39)] = "SELF_CLOSING_START_TAG"), + (e[(e.BOGUS_COMMENT = 40)] = "BOGUS_COMMENT"), + (e[(e.MARKUP_DECLARATION_OPEN = 41)] = "MARKUP_DECLARATION_OPEN"), + (e[(e.COMMENT_START = 42)] = "COMMENT_START"), + (e[(e.COMMENT_START_DASH = 43)] = "COMMENT_START_DASH"), + (e[(e.COMMENT = 44)] = "COMMENT"), + (e[(e.COMMENT_LESS_THAN_SIGN = 45)] = "COMMENT_LESS_THAN_SIGN"), + (e[(e.COMMENT_LESS_THAN_SIGN_BANG = 46)] = "COMMENT_LESS_THAN_SIGN_BANG"), + (e[(e.COMMENT_LESS_THAN_SIGN_BANG_DASH = 47)] = + "COMMENT_LESS_THAN_SIGN_BANG_DASH"), + (e[(e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH = 48)] = + "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH"), + (e[(e.COMMENT_END_DASH = 49)] = "COMMENT_END_DASH"), + (e[(e.COMMENT_END = 50)] = "COMMENT_END"), + (e[(e.COMMENT_END_BANG = 51)] = "COMMENT_END_BANG"), + (e[(e.DOCTYPE = 52)] = "DOCTYPE"), + (e[(e.BEFORE_DOCTYPE_NAME = 53)] = "BEFORE_DOCTYPE_NAME"), + (e[(e.DOCTYPE_NAME = 54)] = "DOCTYPE_NAME"), + (e[(e.AFTER_DOCTYPE_NAME = 55)] = "AFTER_DOCTYPE_NAME"), + (e[(e.AFTER_DOCTYPE_PUBLIC_KEYWORD = 56)] = + "AFTER_DOCTYPE_PUBLIC_KEYWORD"), + (e[(e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER = 57)] = + "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER"), + (e[(e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED = 58)] = + "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED"), + (e[(e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED = 59)] = + "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED"), + (e[(e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER = 60)] = + "AFTER_DOCTYPE_PUBLIC_IDENTIFIER"), + (e[(e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS = 61)] = + "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS"), + (e[(e.AFTER_DOCTYPE_SYSTEM_KEYWORD = 62)] = + "AFTER_DOCTYPE_SYSTEM_KEYWORD"), + (e[(e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER = 63)] = + "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER"), + (e[(e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED = 64)] = + "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED"), + (e[(e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED = 65)] = + "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED"), + (e[(e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER = 66)] = + "AFTER_DOCTYPE_SYSTEM_IDENTIFIER"), + (e[(e.BOGUS_DOCTYPE = 67)] = "BOGUS_DOCTYPE"), + (e[(e.CDATA_SECTION = 68)] = "CDATA_SECTION"), + (e[(e.CDATA_SECTION_BRACKET = 69)] = "CDATA_SECTION_BRACKET"), + (e[(e.CDATA_SECTION_END = 70)] = "CDATA_SECTION_END"), + (e[(e.CHARACTER_REFERENCE = 71)] = "CHARACTER_REFERENCE"), + (e[(e.AMBIGUOUS_AMPERSAND = 72)] = "AMBIGUOUS_AMPERSAND")); + })(He || (He = {})); + gl = { + DATA: He.DATA, + RCDATA: He.RCDATA, + RAWTEXT: He.RAWTEXT, + SCRIPT_DATA: He.SCRIPT_DATA, + PLAINTEXT: He.PLAINTEXT, + CDATA_SECTION: He.CDATA_SECTION, + }; +}); +class Uke { + get currentTmplContentOrNode() { + return this._isInTemplate() + ? this.treeAdapter.getTemplateContent(this.current) + : this.current; + } + constructor(e, t, n) { + ((this.treeAdapter = t), + (this.handler = n), + (this.items = []), + (this.tagIDs = []), + (this.stackTop = -1), + (this.tmplCount = 0), + (this.currentTagId = X.UNKNOWN), + (this.current = e)); + } + _indexOf(e) { + return this.items.lastIndexOf(e, this.stackTop); + } + _isInTemplate() { + return ( + this.currentTagId === X.TEMPLATE && + this.treeAdapter.getNamespaceURI(this.current) === $t.HTML + ); + } + _updateCurrentElement() { + ((this.current = this.items[this.stackTop]), + (this.currentTagId = this.tagIDs[this.stackTop])); + } + push(e, t) { + if ( + (this.stackTop++, + (this.items[this.stackTop] = e), + (this.current = e), + (this.tagIDs[this.stackTop] = t), + (this.currentTagId = t), + this._isInTemplate()) + ) + this.tmplCount++; + this.handler.onItemPush(e, t, !0); + } + pop() { + let e = this.current; + if (this.tmplCount > 0 && this._isInTemplate()) this.tmplCount--; + (this.stackTop--, + this._updateCurrentElement(), + this.handler.onItemPop(e, !0)); + } + replace(e, t) { + let n = this._indexOf(e); + if (((this.items[n] = t), n === this.stackTop)) this.current = t; + } + insertAfter(e, t, n) { + let r = this._indexOf(e) + 1; + if ( + (this.items.splice(r, 0, t), + this.tagIDs.splice(r, 0, n), + this.stackTop++, + r === this.stackTop) + ) + this._updateCurrentElement(); + if (this.current && this.currentTagId !== void 0) + this.handler.onItemPush( + this.current, + this.currentTagId, + r === this.stackTop, + ); + } + popUntilTagNamePopped(e) { + let t = this.stackTop + 1; + do t = this.tagIDs.lastIndexOf(e, t - 1); + while ( + t > 0 && + this.treeAdapter.getNamespaceURI(this.items[t]) !== $t.HTML + ); + this.shortenToLength(Math.max(t, 0)); + } + shortenToLength(e) { + while (this.stackTop >= e) { + let t = this.current; + if (this.tmplCount > 0 && this._isInTemplate()) this.tmplCount -= 1; + (this.stackTop--, + this._updateCurrentElement(), + this.handler.onItemPop(t, this.stackTop < e)); + } + } + popUntilElementPopped(e) { + let t = this._indexOf(e); + this.shortenToLength(Math.max(t, 0)); + } + popUntilPopped(e, t) { + let n = this._indexOfTagNames(e, t); + this.shortenToLength(Math.max(n, 0)); + } + popUntilNumberedHeaderPopped() { + this.popUntilPopped(DG, $t.HTML); + } + popUntilTableCellPopped() { + this.popUntilPopped(har, $t.HTML); + } + popAllUpToHtmlElement() { + ((this.tmplCount = 0), this.shortenToLength(1)); + } + _indexOfTagNames(e, t) { + for (let n = this.stackTop; n >= 0; n--) + if ( + e.has(this.tagIDs[n]) && + this.treeAdapter.getNamespaceURI(this.items[n]) === t + ) + return n; + return -1; + } + clearBackTo(e, t) { + let n = this._indexOfTagNames(e, t); + this.shortenToLength(n + 1); + } + clearBackToTableContext() { + this.clearBackTo(mar, $t.HTML); + } + clearBackToTableBodyContext() { + this.clearBackTo(far, $t.HTML); + } + clearBackToTableRowContext() { + this.clearBackTo(par, $t.HTML); + } + remove(e) { + let t = this._indexOf(e); + if (t >= 0) + if (t === this.stackTop) this.pop(); + else + (this.items.splice(t, 1), + this.tagIDs.splice(t, 1), + this.stackTop--, + this._updateCurrentElement(), + this.handler.onItemPop(e, !1)); + } + tryPeekProperlyNestedBodyElement() { + return this.stackTop >= 1 && this.tagIDs[1] === X.BODY + ? this.items[1] + : null; + } + contains(e) { + return this._indexOf(e) > -1; + } + getCommonAncestor(e) { + let t = this._indexOf(e) - 1; + return t >= 0 ? this.items[t] : null; + } + isRootHtmlElementCurrent() { + return this.stackTop === 0 && this.tagIDs[0] === X.HTML; + } + hasInDynamicScope(e, t) { + for (let n = this.stackTop; n >= 0; n--) { + let r = this.tagIDs[n]; + switch (this.treeAdapter.getNamespaceURI(this.items[n])) { + case $t.HTML: { + if (r === e) return !0; + if (t.has(r)) return !1; + break; + } + case $t.SVG: { + if (tGt.has(r)) return !1; + break; + } + case $t.MATHML: { + if (eGt.has(r)) return !1; + break; + } + } + } + return !0; + } + hasInScope(e) { + return this.hasInDynamicScope(e, Zse); + } + hasInListItemScope(e) { + return this.hasInDynamicScope(e, uar); + } + hasInButtonScope(e) { + return this.hasInDynamicScope(e, dar); + } + hasNumberedHeaderInScope() { + for (let e = this.stackTop; e >= 0; e--) { + let t = this.tagIDs[e]; + switch (this.treeAdapter.getNamespaceURI(this.items[e])) { + case $t.HTML: { + if (DG.has(t)) return !0; + if (Zse.has(t)) return !1; + break; + } + case $t.SVG: { + if (tGt.has(t)) return !1; + break; + } + case $t.MATHML: { + if (eGt.has(t)) return !1; + break; + } + } + } + return !0; + } + hasInTableScope(e) { + for (let t = this.stackTop; t >= 0; t--) { + if (this.treeAdapter.getNamespaceURI(this.items[t]) !== $t.HTML) continue; + switch (this.tagIDs[t]) { + case e: + return !0; + case X.TABLE: + case X.HTML: + return !1; + } + } + return !0; + } + hasTableBodyContextInTableScope() { + for (let e = this.stackTop; e >= 0; e--) { + if (this.treeAdapter.getNamespaceURI(this.items[e]) !== $t.HTML) continue; + switch (this.tagIDs[e]) { + case X.TBODY: + case X.THEAD: + case X.TFOOT: + return !0; + case X.TABLE: + case X.HTML: + return !1; + } + } + return !0; + } + hasInSelectScope(e) { + for (let t = this.stackTop; t >= 0; t--) { + if (this.treeAdapter.getNamespaceURI(this.items[t]) !== $t.HTML) continue; + switch (this.tagIDs[t]) { + case e: + return !0; + case X.OPTION: + case X.OPTGROUP: + break; + default: + return !1; + } + } + return !0; + } + generateImpliedEndTags() { + while (this.currentTagId !== void 0 && nGt.has(this.currentTagId)) + this.pop(); + } + generateImpliedEndTagsThoroughly() { + while (this.currentTagId !== void 0 && $Vt.has(this.currentTagId)) + this.pop(); + } + generateImpliedEndTagsWithExclusion(e) { + while ( + this.currentTagId !== void 0 && + this.currentTagId !== e && + $Vt.has(this.currentTagId) + ) + this.pop(); + } +} +var nGt, $Vt, Zse, uar, dar, eGt, tGt, par, far, mar, har; +var rGt = P(() => { + Z3(); + ((nGt = new Set([ + X.DD, + X.DT, + X.LI, + X.OPTGROUP, + X.OPTION, + X.P, + X.RB, + X.RP, + X.RT, + X.RTC, + ])), + ($Vt = new Set([ + ...nGt, + X.CAPTION, + X.COLGROUP, + X.TBODY, + X.TD, + X.TFOOT, + X.TH, + X.THEAD, + X.TR, + ])), + (Zse = new Set([ + X.APPLET, + X.CAPTION, + X.HTML, + X.MARQUEE, + X.OBJECT, + X.TABLE, + X.TD, + X.TEMPLATE, + X.TH, + ])), + (uar = new Set([...Zse, X.OL, X.UL])), + (dar = new Set([...Zse, X.BUTTON])), + (eGt = new Set([X.ANNOTATION_XML, X.MI, X.MN, X.MO, X.MS, X.MTEXT])), + (tGt = new Set([X.DESC, X.FOREIGN_OBJECT, X.TITLE])), + (par = new Set([X.TR, X.TEMPLATE, X.HTML])), + (far = new Set([X.TBODY, X.TFOOT, X.THEAD, X.TEMPLATE, X.HTML])), + (mar = new Set([X.TABLE, X.TEMPLATE, X.HTML])), + (har = new Set([X.TD, X.TH]))); +}); +class Nke { + constructor(e) { + ((this.treeAdapter = e), (this.entries = []), (this.bookmark = null)); + } + _getNoahArkConditionCandidates(e, t) { + let n = [], + r = t.length, + o = this.treeAdapter.getTagName(e), + a = this.treeAdapter.getNamespaceURI(e); + for (let i = 0; i < this.entries.length; i++) { + let s = this.entries[i]; + if (s.type === Q2.Marker) break; + let { element: l } = s; + if ( + this.treeAdapter.getTagName(l) === o && + this.treeAdapter.getNamespaceURI(l) === a + ) { + let c = this.treeAdapter.getAttrList(l); + if (c.length === r) n.push({ idx: i, attrs: c }); + } + } + return n; + } + _ensureNoahArkCondition(e) { + if (this.entries.length < 3) return; + let t = this.treeAdapter.getAttrList(e), + n = this._getNoahArkConditionCandidates(e, t); + if (n.length < 3) return; + let r = new Map(t.map((a) => [a.name, a.value])), + o = 0; + for (let a = 0; a < n.length; a++) { + let i = n[a]; + if (i.attrs.every((s) => r.get(s.name) === s.value)) { + if (((o += 1), o >= 3)) this.entries.splice(i.idx, 1); + } + } + } + insertMarker() { + this.entries.unshift(oGt); + } + pushElement(e, t) { + (this._ensureNoahArkCondition(e), + this.entries.unshift({ type: Q2.Element, element: e, token: t })); + } + insertElementAfterBookmark(e, t) { + let n = this.entries.indexOf(this.bookmark); + this.entries.splice(n, 0, { type: Q2.Element, element: e, token: t }); + } + removeEntry(e) { + let t = this.entries.indexOf(e); + if (t !== -1) this.entries.splice(t, 1); + } + clearToLastMarker() { + let e = this.entries.indexOf(oGt); + if (e === -1) this.entries.length = 0; + else this.entries.splice(0, e + 1); + } + getElementEntryInScopeWithTagName(e) { + let t = this.entries.find( + (n) => + n.type === Q2.Marker || this.treeAdapter.getTagName(n.element) === e, + ); + return t && t.type === Q2.Element ? t : null; + } + getElementEntry(e) { + return this.entries.find((t) => t.type === Q2.Element && t.element === e); + } +} +var Q2, oGt; +var aGt = P(() => { + (function (e) { + ((e[(e.Marker = 0)] = "Marker"), (e[(e.Element = 1)] = "Element")); + })(Q2 || (Q2 = {})); + oGt = { type: Q2.Marker }; +}); +var X2; +var Qse = P(() => { + Z3(); + X2 = { + createDocument() { + return { nodeName: "#document", mode: gh.NO_QUIRKS, childNodes: [] }; + }, + createDocumentFragment() { + return { nodeName: "#document-fragment", childNodes: [] }; + }, + createElement(e, t, n) { + return { + nodeName: e, + tagName: e, + attrs: n, + namespaceURI: t, + childNodes: [], + parentNode: null, + }; + }, + createCommentNode(e) { + return { nodeName: "#comment", data: e, parentNode: null }; + }, + createTextNode(e) { + return { nodeName: "#text", value: e, parentNode: null }; + }, + appendChild(e, t) { + (e.childNodes.push(t), (t.parentNode = e)); + }, + insertBefore(e, t, n) { + let r = e.childNodes.indexOf(n); + (e.childNodes.splice(r, 0, t), (t.parentNode = e)); + }, + setTemplateContent(e, t) { + e.content = t; + }, + getTemplateContent(e) { + return e.content; + }, + setDocumentType(e, t, n, r) { + let o = e.childNodes.find((a) => a.nodeName === "#documentType"); + if (o) ((o.name = t), (o.publicId = n), (o.systemId = r)); + else { + let a = { + nodeName: "#documentType", + name: t, + publicId: n, + systemId: r, + parentNode: null, + }; + X2.appendChild(e, a); + } + }, + setDocumentMode(e, t) { + e.mode = t; + }, + getDocumentMode(e) { + return e.mode; + }, + detachNode(e) { + if (e.parentNode) { + let t = e.parentNode.childNodes.indexOf(e); + (e.parentNode.childNodes.splice(t, 1), (e.parentNode = null)); + } + }, + insertText(e, t) { + if (e.childNodes.length > 0) { + let n = e.childNodes[e.childNodes.length - 1]; + if (X2.isTextNode(n)) { + n.value += t; + return; + } + } + X2.appendChild(e, X2.createTextNode(t)); + }, + insertTextBefore(e, t, n) { + let r = e.childNodes[e.childNodes.indexOf(n) - 1]; + if (r && X2.isTextNode(r)) r.value += t; + else X2.insertBefore(e, X2.createTextNode(t), n); + }, + adoptAttributes(e, t) { + let n = new Set(e.attrs.map((r) => r.name)); + for (let r = 0; r < t.length; r++) + if (!n.has(t[r].name)) e.attrs.push(t[r]); + }, + getFirstChild(e) { + return e.childNodes[0]; + }, + getChildNodes(e) { + return e.childNodes; + }, + getParentNode(e) { + return e.parentNode; + }, + getAttrList(e) { + return e.attrs; + }, + getTagName(e) { + return e.tagName; + }, + getNamespaceURI(e) { + return e.namespaceURI; + }, + getTextNodeContent(e) { + return e.value; + }, + getCommentNodeContent(e) { + return e.data; + }, + getDocumentTypeNodeName(e) { + return e.name; + }, + getDocumentTypeNodePublicId(e) { + return e.publicId; + }, + getDocumentTypeNodeSystemId(e) { + return e.systemId; + }, + isTextNode(e) { + return e.nodeName === "#text"; + }, + isCommentNode(e) { + return e.nodeName === "#comment"; + }, + isDocumentTypeNode(e) { + return e.nodeName === "#documentType"; + }, + isElementNode(e) { + return Object.prototype.hasOwnProperty.call(e, "tagName"); + }, + setNodeSourceCodeLocation(e, t) { + e.sourceCodeLocation = t; + }, + getNodeSourceCodeLocation(e) { + return e.sourceCodeLocation; + }, + updateNodeSourceCodeLocation(e, t) { + e.sourceCodeLocation = { ...e.sourceCodeLocation, ...t }; + }, + }; +}); +function iGt(e, t) { + return t.some((n) => e.startsWith(n)); +} +function uGt(e) { + return ( + e.name === sGt && + e.publicId === null && + (e.systemId === null || e.systemId === gar) + ); +} +function dGt(e) { + if (e.name !== sGt) return gh.QUIRKS; + let { systemId: t } = e; + if (t && t.toLowerCase() === yar) return gh.QUIRKS; + let { publicId: n } = e; + if (n !== null) { + if (((n = n.toLowerCase()), xar.has(n))) return gh.QUIRKS; + let r = t === null ? bar : lGt; + if (iGt(n, r)) return gh.QUIRKS; + if (((r = t === null ? cGt : Aar), iGt(n, r))) return gh.LIMITED_QUIRKS; + } + return gh.NO_QUIRKS; +} +var sGt = "html", + gar = "about:legacy-compat", + yar = "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd", + lGt, + bar, + xar, + cGt, + Aar; +var pGt = P(() => { + Z3(); + ((lGt = [ + "+//silmaril//dtd html pro v0r11 19970101//", + "-//as//dtd html 3.0 aswedit + extensions//", + "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", + "-//ietf//dtd html 2.0 level 1//", + "-//ietf//dtd html 2.0 level 2//", + "-//ietf//dtd html 2.0 strict level 1//", + "-//ietf//dtd html 2.0 strict level 2//", + "-//ietf//dtd html 2.0 strict//", + "-//ietf//dtd html 2.0//", + "-//ietf//dtd html 2.1e//", + "-//ietf//dtd html 3.0//", + "-//ietf//dtd html 3.2 final//", + "-//ietf//dtd html 3.2//", + "-//ietf//dtd html 3//", + "-//ietf//dtd html level 0//", + "-//ietf//dtd html level 1//", + "-//ietf//dtd html level 2//", + "-//ietf//dtd html level 3//", + "-//ietf//dtd html strict level 0//", + "-//ietf//dtd html strict level 1//", + "-//ietf//dtd html strict level 2//", + "-//ietf//dtd html strict level 3//", + "-//ietf//dtd html strict//", + "-//ietf//dtd html//", + "-//metrius//dtd metrius presentational//", + "-//microsoft//dtd internet explorer 2.0 html strict//", + "-//microsoft//dtd internet explorer 2.0 html//", + "-//microsoft//dtd internet explorer 2.0 tables//", + "-//microsoft//dtd internet explorer 3.0 html strict//", + "-//microsoft//dtd internet explorer 3.0 html//", + "-//microsoft//dtd internet explorer 3.0 tables//", + "-//netscape comm. corp.//dtd html//", + "-//netscape comm. corp.//dtd strict html//", + "-//o'reilly and associates//dtd html 2.0//", + "-//o'reilly and associates//dtd html extended 1.0//", + "-//o'reilly and associates//dtd html extended relaxed 1.0//", + "-//sq//dtd html 2.0 hotmetal + extensions//", + "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", + "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", + "-//spyglass//dtd html 2.0 extended//", + "-//sun microsystems corp.//dtd hotjava html//", + "-//sun microsystems corp.//dtd hotjava strict html//", + "-//w3c//dtd html 3 1995-03-24//", + "-//w3c//dtd html 3.2 draft//", + "-//w3c//dtd html 3.2 final//", + "-//w3c//dtd html 3.2//", + "-//w3c//dtd html 3.2s draft//", + "-//w3c//dtd html 4.0 frameset//", + "-//w3c//dtd html 4.0 transitional//", + "-//w3c//dtd html experimental 19960712//", + "-//w3c//dtd html experimental 970421//", + "-//w3c//dtd w3 html//", + "-//w3o//dtd w3 html 3.0//", + "-//webtechs//dtd mozilla html 2.0//", + "-//webtechs//dtd mozilla html//", + ]), + (bar = [ + ...lGt, + "-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//", + ]), + (xar = new Set([ + "-//w3o//dtd w3 html strict 3.0//en//", + "-/w3c/dtd html 4.0 transitional/en", + "html", + ])), + (cGt = [ + "-//w3c//dtd xhtml 1.0 frameset//", + "-//w3c//dtd xhtml 1.0 transitional//", + ]), + (Aar = [ + ...cGt, + "-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//", + ])); +}); +function mGt(e) { + let t = e.tagID; + return ( + (t === X.FONT && + e.attrs.some( + ({ name: r }) => r === G3.COLOR || r === G3.SIZE || r === G3.FACE, + )) || + kar.has(t) + ); +} +function zke(e) { + for (let t = 0; t < e.attrs.length; t++) + if (e.attrs[t].name === Sar) { + e.attrs[t].name = Car; + break; + } +} +function _ke(e) { + for (let t = 0; t < e.attrs.length; t++) { + let n = Ear.get(e.attrs[t].name); + if (n != null) e.attrs[t].name = n; + } +} +function Xse(e) { + for (let t = 0; t < e.attrs.length; t++) { + let n = Iar.get(e.attrs[t].name); + if (n) + ((e.attrs[t].prefix = n.prefix), + (e.attrs[t].name = n.name), + (e.attrs[t].namespace = n.namespace)); + } +} +function hGt(e) { + let t = Tar.get(e.tagName); + if (t != null) ((e.tagName = t), (e.tagID = q3(e.tagName))); +} +function Rar(e, t) { + return ( + t === $t.MATHML && + (e === X.MI || e === X.MO || e === X.MN || e === X.MS || e === X.MTEXT) + ); +} +function Par(e, t, n) { + if (t === $t.MATHML && e === X.ANNOTATION_XML) { + for (let r = 0; r < n.length; r++) + if (n[r].name === G3.ENCODING) { + let o = n[r].value.toLowerCase(); + return o === fGt.TEXT_HTML || o === fGt.APPLICATION_XML; + } + } + return ( + t === $t.SVG && (e === X.FOREIGN_OBJECT || e === X.DESC || e === X.TITLE) + ); +} +function gGt(e, t, n, r) { + return ( + ((!r || r === $t.HTML) && Par(e, t, n)) || + ((!r || r === $t.MATHML) && Rar(e, t)) + ); +} +var fGt, + Sar = "definitionurl", + Car = "definitionURL", + Ear, + Iar, + Tar, + kar; +var Hke = P(() => { + Z3(); + ((fGt = { TEXT_HTML: "text/html", APPLICATION_XML: "application/xhtml+xml" }), + (Ear = new Map( + [ + "attributeName", + "attributeType", + "baseFrequency", + "baseProfile", + "calcMode", + "clipPathUnits", + "diffuseConstant", + "edgeMode", + "filterUnits", + "glyphRef", + "gradientTransform", + "gradientUnits", + "kernelMatrix", + "kernelUnitLength", + "keyPoints", + "keySplines", + "keyTimes", + "lengthAdjust", + "limitingConeAngle", + "markerHeight", + "markerUnits", + "markerWidth", + "maskContentUnits", + "maskUnits", + "numOctaves", + "pathLength", + "patternContentUnits", + "patternTransform", + "patternUnits", + "pointsAtX", + "pointsAtY", + "pointsAtZ", + "preserveAlpha", + "preserveAspectRatio", + "primitiveUnits", + "refX", + "refY", + "repeatCount", + "repeatDur", + "requiredExtensions", + "requiredFeatures", + "specularConstant", + "specularExponent", + "spreadMethod", + "startOffset", + "stdDeviation", + "stitchTiles", + "surfaceScale", + "systemLanguage", + "tableValues", + "targetX", + "targetY", + "textLength", + "viewBox", + "viewTarget", + "xChannelSelector", + "yChannelSelector", + "zoomAndPan", + ].map((e) => [e.toLowerCase(), e]), + )), + (Iar = new Map([ + [ + "xlink:actuate", + { prefix: "xlink", name: "actuate", namespace: $t.XLINK }, + ], + [ + "xlink:arcrole", + { prefix: "xlink", name: "arcrole", namespace: $t.XLINK }, + ], + ["xlink:href", { prefix: "xlink", name: "href", namespace: $t.XLINK }], + ["xlink:role", { prefix: "xlink", name: "role", namespace: $t.XLINK }], + ["xlink:show", { prefix: "xlink", name: "show", namespace: $t.XLINK }], + ["xlink:title", { prefix: "xlink", name: "title", namespace: $t.XLINK }], + ["xlink:type", { prefix: "xlink", name: "type", namespace: $t.XLINK }], + ["xml:lang", { prefix: "xml", name: "lang", namespace: $t.XML }], + ["xml:space", { prefix: "xml", name: "space", namespace: $t.XML }], + ["xmlns", { prefix: "", name: "xmlns", namespace: $t.XMLNS }], + ["xmlns:xlink", { prefix: "xmlns", name: "xlink", namespace: $t.XMLNS }], + ])), + (Tar = new Map( + [ + "altGlyph", + "altGlyphDef", + "altGlyphItem", + "animateColor", + "animateMotion", + "animateTransform", + "clipPath", + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + "foreignObject", + "glyphRef", + "linearGradient", + "radialGradient", + "textPath", + ].map((e) => [e.toLowerCase(), e]), + )), + (kar = new Set([ + X.B, + X.BIG, + X.BLOCKQUOTE, + X.BODY, + X.BR, + X.CENTER, + X.CODE, + X.DD, + X.DIV, + X.DL, + X.DT, + X.EM, + X.EMBED, + X.H1, + X.H2, + X.H3, + X.H4, + X.H5, + X.H6, + X.HEAD, + X.HR, + X.I, + X.IMG, + X.LI, + X.LISTING, + X.MENU, + X.META, + X.NOBR, + X.OL, + X.P, + X.PRE, + X.RUBY, + X.S, + X.SMALL, + X.SPAN, + X.STRONG, + X.STRIKE, + X.SUB, + X.SUP, + X.TABLE, + X.TT, + X.U, + X.UL, + X.VAR, + ]))); +}); +class dD { + constructor(e, t, n = null, r = null) { + if ( + ((this.fragmentContext = n), + (this.scriptHandler = r), + (this.currentToken = null), + (this.stopped = !1), + (this.insertionMode = Ye.INITIAL), + (this.originalInsertionMode = Ye.INITIAL), + (this.headElement = null), + (this.formElement = null), + (this.currentNotInHTML = !1), + (this.tmplInsertionModeStack = []), + (this.pendingCharacterTokens = []), + (this.hasNonWhitespacePendingCharacterToken = !1), + (this.framesetOk = !0), + (this.skipNextNewLine = !1), + (this.fosterParentingEnabled = !1), + (this.options = { ...vGt, ...e }), + (this.treeAdapter = this.options.treeAdapter), + (this.onParseError = this.options.onParseError), + this.onParseError) + ) + this.options.sourceCodeLocationInfo = !0; + ((this.document = + t !== null && t !== void 0 ? t : this.treeAdapter.createDocument()), + (this.tokenizer = new qse(this.options, this)), + (this.activeFormattingElements = new Nke(this.treeAdapter)), + (this.fragmentContextID = n + ? q3(this.treeAdapter.getTagName(n)) + : X.UNKNOWN), + this._setContextModes( + n !== null && n !== void 0 ? n : this.document, + this.fragmentContextID, + ), + (this.openElements = new Uke(this.document, this.treeAdapter, this))); + } + static parse(e, t) { + let n = new this(t); + return (n.tokenizer.write(e, !0), n.document); + } + static getFragmentParser(e, t) { + let n = { ...vGt, ...t }; + (e !== null && e !== void 0) || + (e = n.treeAdapter.createElement(gt.TEMPLATE, $t.HTML, [])); + let r = n.treeAdapter.createElement("documentmock", $t.HTML, []), + o = new this(n, r, e); + if (o.fragmentContextID === X.TEMPLATE) + o.tmplInsertionModeStack.unshift(Ye.IN_TEMPLATE); + return ( + o._initTokenizerForFragmentParsing(), + o._insertFakeRootElement(), + o._resetInsertionMode(), + o._findFormInFragmentContext(), + o + ); + } + getFragment() { + let e = this.treeAdapter.getFirstChild(this.document), + t = this.treeAdapter.createDocumentFragment(); + return (this._adoptNodes(e, t), t); + } + _err(e, t, n) { + var r; + if (!this.onParseError) return; + let o = (r = e.location) !== null && r !== void 0 ? r : Bar, + a = { + code: t, + startLine: o.startLine, + startCol: o.startCol, + startOffset: o.startOffset, + endLine: n ? o.startLine : o.endLine, + endCol: n ? o.startCol : o.endCol, + endOffset: n ? o.startOffset : o.endOffset, + }; + this.onParseError(a); + } + onItemPush(e, t, n) { + var r, o; + if ( + ((o = (r = this.treeAdapter).onItemPush) === null || + o === void 0 || + o.call(r, e), + n && this.openElements.stackTop > 0) + ) + this._setContextModes(e, t); + } + onItemPop(e, t) { + var n, r; + if (this.options.sourceCodeLocationInfo) + this._setEndLocation(e, this.currentToken); + if ( + ((r = (n = this.treeAdapter).onItemPop) === null || + r === void 0 || + r.call(n, e, this.openElements.current), + t) + ) { + let o, a; + if (this.openElements.stackTop === 0 && this.fragmentContext) + ((o = this.fragmentContext), (a = this.fragmentContextID)); + else ({ current: o, currentTagId: a } = this.openElements); + this._setContextModes(o, a); + } + } + _setContextModes(e, t) { + let n = + e === this.document || + (e && this.treeAdapter.getNamespaceURI(e) === $t.HTML); + ((this.currentNotInHTML = !n), + (this.tokenizer.inForeignNode = + !n && e !== void 0 && t !== void 0 && !this._isIntegrationPoint(t, e))); + } + _switchToTextParsing(e, t) { + (this._insertElement(e, $t.HTML), + (this.tokenizer.state = t), + (this.originalInsertionMode = this.insertionMode), + (this.insertionMode = Ye.TEXT)); + } + switchToPlaintextParsing() { + ((this.insertionMode = Ye.TEXT), + (this.originalInsertionMode = Ye.IN_BODY), + (this.tokenizer.state = gl.PLAINTEXT)); + } + _getAdjustedCurrentElement() { + return this.openElements.stackTop === 0 && this.fragmentContext + ? this.fragmentContext + : this.openElements.current; + } + _findFormInFragmentContext() { + let e = this.fragmentContext; + while (e) { + if (this.treeAdapter.getTagName(e) === gt.FORM) { + this.formElement = e; + break; + } + e = this.treeAdapter.getParentNode(e); + } + } + _initTokenizerForFragmentParsing() { + if ( + !this.fragmentContext || + this.treeAdapter.getNamespaceURI(this.fragmentContext) !== $t.HTML + ) + return; + switch (this.fragmentContextID) { + case X.TITLE: + case X.TEXTAREA: { + this.tokenizer.state = gl.RCDATA; + break; + } + case X.STYLE: + case X.XMP: + case X.IFRAME: + case X.NOEMBED: + case X.NOFRAMES: + case X.NOSCRIPT: { + this.tokenizer.state = gl.RAWTEXT; + break; + } + case X.SCRIPT: { + this.tokenizer.state = gl.SCRIPT_DATA; + break; + } + case X.PLAINTEXT: { + this.tokenizer.state = gl.PLAINTEXT; + break; + } + default: + } + } + _setDocumentType(e) { + let t = e.name || "", + n = e.publicId || "", + r = e.systemId || ""; + if ( + (this.treeAdapter.setDocumentType(this.document, t, n, r), e.location) + ) { + let a = this.treeAdapter + .getChildNodes(this.document) + .find((i) => this.treeAdapter.isDocumentTypeNode(i)); + if (a) this.treeAdapter.setNodeSourceCodeLocation(a, e.location); + } + } + _attachElementToTree(e, t) { + if (this.options.sourceCodeLocationInfo) { + let n = t && { ...t, startTag: t }; + this.treeAdapter.setNodeSourceCodeLocation(e, n); + } + if (this._shouldFosterParentOnInsertion()) this._fosterParentElement(e); + else { + let n = this.openElements.currentTmplContentOrNode; + this.treeAdapter.appendChild( + n !== null && n !== void 0 ? n : this.document, + e, + ); + } + } + _appendElement(e, t) { + let n = this.treeAdapter.createElement(e.tagName, t, e.attrs); + this._attachElementToTree(n, e.location); + } + _insertElement(e, t) { + let n = this.treeAdapter.createElement(e.tagName, t, e.attrs); + (this._attachElementToTree(n, e.location), + this.openElements.push(n, e.tagID)); + } + _insertFakeElement(e, t) { + let n = this.treeAdapter.createElement(e, $t.HTML, []); + (this._attachElementToTree(n, null), this.openElements.push(n, t)); + } + _insertTemplate(e) { + let t = this.treeAdapter.createElement(e.tagName, $t.HTML, e.attrs), + n = this.treeAdapter.createDocumentFragment(); + if ( + (this.treeAdapter.setTemplateContent(t, n), + this._attachElementToTree(t, e.location), + this.openElements.push(t, e.tagID), + this.options.sourceCodeLocationInfo) + ) + this.treeAdapter.setNodeSourceCodeLocation(n, null); + } + _insertFakeRootElement() { + let e = this.treeAdapter.createElement(gt.HTML, $t.HTML, []); + if (this.options.sourceCodeLocationInfo) + this.treeAdapter.setNodeSourceCodeLocation(e, null); + (this.treeAdapter.appendChild(this.openElements.current, e), + this.openElements.push(e, X.HTML)); + } + _appendCommentNode(e, t) { + let n = this.treeAdapter.createCommentNode(e.data); + if ( + (this.treeAdapter.appendChild(t, n), this.options.sourceCodeLocationInfo) + ) + this.treeAdapter.setNodeSourceCodeLocation(n, e.location); + } + _insertCharacters(e) { + let t, n; + if (this._shouldFosterParentOnInsertion()) + if ( + (({ parent: t, beforeElement: n } = + this._findFosterParentingLocation()), + n) + ) + this.treeAdapter.insertTextBefore(t, e.chars, n); + else this.treeAdapter.insertText(t, e.chars); + else + ((t = this.openElements.currentTmplContentOrNode), + this.treeAdapter.insertText(t, e.chars)); + if (!e.location) return; + let r = this.treeAdapter.getChildNodes(t), + o = n ? r.lastIndexOf(n) : r.length, + a = r[o - 1]; + if (this.treeAdapter.getNodeSourceCodeLocation(a)) { + let { endLine: s, endCol: l, endOffset: c } = e.location; + this.treeAdapter.updateNodeSourceCodeLocation(a, { + endLine: s, + endCol: l, + endOffset: c, + }); + } else if (this.options.sourceCodeLocationInfo) + this.treeAdapter.setNodeSourceCodeLocation(a, e.location); + } + _adoptNodes(e, t) { + for ( + let n = this.treeAdapter.getFirstChild(e); + n; + n = this.treeAdapter.getFirstChild(e) + ) + (this.treeAdapter.detachNode(n), this.treeAdapter.appendChild(t, n)); + } + _setEndLocation(e, t) { + if (this.treeAdapter.getNodeSourceCodeLocation(e) && t.location) { + let n = t.location, + r = this.treeAdapter.getTagName(e), + o = + t.type === Wo.END_TAG && r === t.tagName + ? { + endTag: { ...n }, + endLine: n.endLine, + endCol: n.endCol, + endOffset: n.endOffset, + } + : { + endLine: n.startLine, + endCol: n.startCol, + endOffset: n.startOffset, + }; + this.treeAdapter.updateNodeSourceCodeLocation(e, o); + } + } + shouldProcessStartTagTokenInForeignContent(e) { + if (!this.currentNotInHTML) return !1; + let t, n; + if (this.openElements.stackTop === 0 && this.fragmentContext) + ((t = this.fragmentContext), (n = this.fragmentContextID)); + else ({ current: t, currentTagId: n } = this.openElements); + if ( + e.tagID === X.SVG && + this.treeAdapter.getTagName(t) === gt.ANNOTATION_XML && + this.treeAdapter.getNamespaceURI(t) === $t.MATHML + ) + return !1; + return ( + this.tokenizer.inForeignNode || + ((e.tagID === X.MGLYPH || e.tagID === X.MALIGNMARK) && + n !== void 0 && + !this._isIntegrationPoint(n, t, $t.HTML)) + ); + } + _processToken(e) { + switch (e.type) { + case Wo.CHARACTER: { + this.onCharacter(e); + break; + } + case Wo.NULL_CHARACTER: { + this.onNullCharacter(e); + break; + } + case Wo.COMMENT: { + this.onComment(e); + break; + } + case Wo.DOCTYPE: { + this.onDoctype(e); + break; + } + case Wo.START_TAG: { + this._processStartTag(e); + break; + } + case Wo.END_TAG: { + this.onEndTag(e); + break; + } + case Wo.EOF: { + this.onEof(e); + break; + } + case Wo.WHITESPACE_CHARACTER: { + this.onWhitespaceCharacter(e); + break; + } + } + } + _isIntegrationPoint(e, t, n) { + let r = this.treeAdapter.getNamespaceURI(t), + o = this.treeAdapter.getAttrList(t); + return gGt(e, r, o, n); + } + _reconstructActiveFormattingElements() { + let e = this.activeFormattingElements.entries.length; + if (e) { + let t = this.activeFormattingElements.entries.findIndex( + (r) => r.type === Q2.Marker || this.openElements.contains(r.element), + ), + n = t === -1 ? e - 1 : t - 1; + for (let r = n; r >= 0; r--) { + let o = this.activeFormattingElements.entries[r]; + (this._insertElement( + o.token, + this.treeAdapter.getNamespaceURI(o.element), + ), + (o.element = this.openElements.current)); + } + } + } + _closeTableCell() { + (this.openElements.generateImpliedEndTags(), + this.openElements.popUntilTableCellPopped(), + this.activeFormattingElements.clearToLastMarker(), + (this.insertionMode = Ye.IN_ROW)); + } + _closePElement() { + (this.openElements.generateImpliedEndTagsWithExclusion(X.P), + this.openElements.popUntilTagNamePopped(X.P)); + } + _resetInsertionMode() { + for (let e = this.openElements.stackTop; e >= 0; e--) + switch ( + e === 0 && this.fragmentContext + ? this.fragmentContextID + : this.openElements.tagIDs[e] + ) { + case X.TR: { + this.insertionMode = Ye.IN_ROW; + return; + } + case X.TBODY: + case X.THEAD: + case X.TFOOT: { + this.insertionMode = Ye.IN_TABLE_BODY; + return; + } + case X.CAPTION: { + this.insertionMode = Ye.IN_CAPTION; + return; + } + case X.COLGROUP: { + this.insertionMode = Ye.IN_COLUMN_GROUP; + return; + } + case X.TABLE: { + this.insertionMode = Ye.IN_TABLE; + return; + } + case X.BODY: { + this.insertionMode = Ye.IN_BODY; + return; + } + case X.FRAMESET: { + this.insertionMode = Ye.IN_FRAMESET; + return; + } + case X.SELECT: { + this._resetInsertionModeForSelect(e); + return; + } + case X.TEMPLATE: { + this.insertionMode = this.tmplInsertionModeStack[0]; + return; + } + case X.HTML: { + this.insertionMode = this.headElement + ? Ye.AFTER_HEAD + : Ye.BEFORE_HEAD; + return; + } + case X.TD: + case X.TH: { + if (e > 0) { + this.insertionMode = Ye.IN_CELL; + return; + } + break; + } + case X.HEAD: { + if (e > 0) { + this.insertionMode = Ye.IN_HEAD; + return; + } + break; + } + } + this.insertionMode = Ye.IN_BODY; + } + _resetInsertionModeForSelect(e) { + if (e > 0) + for (let t = e - 1; t > 0; t--) { + let n = this.openElements.tagIDs[t]; + if (n === X.TEMPLATE) break; + else if (n === X.TABLE) { + this.insertionMode = Ye.IN_SELECT_IN_TABLE; + return; + } + } + this.insertionMode = Ye.IN_SELECT; + } + _isElementCausesFosterParenting(e) { + return AGt.has(e); + } + _shouldFosterParentOnInsertion() { + return ( + this.fosterParentingEnabled && + this.openElements.currentTagId !== void 0 && + this._isElementCausesFosterParenting(this.openElements.currentTagId) + ); + } + _findFosterParentingLocation() { + for (let e = this.openElements.stackTop; e >= 0; e--) { + let t = this.openElements.items[e]; + switch (this.openElements.tagIDs[e]) { + case X.TEMPLATE: { + if (this.treeAdapter.getNamespaceURI(t) === $t.HTML) + return { + parent: this.treeAdapter.getTemplateContent(t), + beforeElement: null, + }; + break; + } + case X.TABLE: { + let n = this.treeAdapter.getParentNode(t); + if (n) return { parent: n, beforeElement: t }; + return { + parent: this.openElements.items[e - 1], + beforeElement: null, + }; + } + default: + } + } + return { parent: this.openElements.items[0], beforeElement: null }; + } + _fosterParentElement(e) { + let t = this._findFosterParentingLocation(); + if (t.beforeElement) + this.treeAdapter.insertBefore(t.parent, e, t.beforeElement); + else this.treeAdapter.appendChild(t.parent, e); + } + _isSpecialElement(e, t) { + let n = this.treeAdapter.getNamespaceURI(e); + return WVt[n].has(t); + } + onCharacter(e) { + if (((this.skipNextNewLine = !1), this.tokenizer.inForeignNode)) { + usr(this, e); + return; + } + switch (this.insertionMode) { + case Ye.INITIAL: { + BG(this, e); + break; + } + case Ye.BEFORE_HTML: { + FG(this, e); + break; + } + case Ye.BEFORE_HEAD: { + UG(this, e); + break; + } + case Ye.IN_HEAD: { + NG(this, e); + break; + } + case Ye.IN_HEAD_NO_SCRIPT: { + zG(this, e); + break; + } + case Ye.AFTER_HEAD: { + _G(this, e); + break; + } + case Ye.IN_BODY: + case Ye.IN_CAPTION: + case Ye.IN_CELL: + case Ye.IN_TEMPLATE: { + SGt(this, e); + break; + } + case Ye.TEXT: + case Ye.IN_SELECT: + case Ye.IN_SELECT_IN_TABLE: { + this._insertCharacters(e); + break; + } + case Ye.IN_TABLE: + case Ye.IN_TABLE_BODY: + case Ye.IN_ROW: { + Vke(this, e); + break; + } + case Ye.IN_TABLE_TEXT: { + RGt(this, e); + break; + } + case Ye.IN_COLUMN_GROUP: { + Yse(this, e); + break; + } + case Ye.AFTER_BODY: { + Kse(this, e); + break; + } + case Ye.AFTER_AFTER_BODY: { + Wse(this, e); + break; + } + default: + } + } + onNullCharacter(e) { + if (((this.skipNextNewLine = !1), this.tokenizer.inForeignNode)) { + csr(this, e); + return; + } + switch (this.insertionMode) { + case Ye.INITIAL: { + BG(this, e); + break; + } + case Ye.BEFORE_HTML: { + FG(this, e); + break; + } + case Ye.BEFORE_HEAD: { + UG(this, e); + break; + } + case Ye.IN_HEAD: { + NG(this, e); + break; + } + case Ye.IN_HEAD_NO_SCRIPT: { + zG(this, e); + break; + } + case Ye.AFTER_HEAD: { + _G(this, e); + break; + } + case Ye.TEXT: { + this._insertCharacters(e); + break; + } + case Ye.IN_TABLE: + case Ye.IN_TABLE_BODY: + case Ye.IN_ROW: { + Vke(this, e); + break; + } + case Ye.IN_COLUMN_GROUP: { + Yse(this, e); + break; + } + case Ye.AFTER_BODY: { + Kse(this, e); + break; + } + case Ye.AFTER_AFTER_BODY: { + Wse(this, e); + break; + } + default: + } + } + onComment(e) { + if (((this.skipNextNewLine = !1), this.currentNotInHTML)) { + Gke(this, e); + return; + } + switch (this.insertionMode) { + case Ye.INITIAL: + case Ye.BEFORE_HTML: + case Ye.BEFORE_HEAD: + case Ye.IN_HEAD: + case Ye.IN_HEAD_NO_SCRIPT: + case Ye.AFTER_HEAD: + case Ye.IN_BODY: + case Ye.IN_TABLE: + case Ye.IN_CAPTION: + case Ye.IN_COLUMN_GROUP: + case Ye.IN_TABLE_BODY: + case Ye.IN_ROW: + case Ye.IN_CELL: + case Ye.IN_SELECT: + case Ye.IN_SELECT_IN_TABLE: + case Ye.IN_TEMPLATE: + case Ye.IN_FRAMESET: + case Ye.AFTER_FRAMESET: { + Gke(this, e); + break; + } + case Ye.IN_TABLE_TEXT: { + OG(this, e); + break; + } + case Ye.AFTER_BODY: { + Har(this, e); + break; + } + case Ye.AFTER_AFTER_BODY: + case Ye.AFTER_AFTER_FRAMESET: { + Var(this, e); + break; + } + default: + } + } + onDoctype(e) { + switch (((this.skipNextNewLine = !1), this.insertionMode)) { + case Ye.INITIAL: { + Gar(this, e); + break; + } + case Ye.BEFORE_HEAD: + case Ye.IN_HEAD: + case Ye.IN_HEAD_NO_SCRIPT: + case Ye.AFTER_HEAD: { + this._err(e, Dt.misplacedDoctype); + break; + } + case Ye.IN_TABLE_TEXT: { + OG(this, e); + break; + } + default: + } + } + onStartTag(e) { + if ( + ((this.skipNextNewLine = !1), + (this.currentToken = e), + this._processStartTag(e), + e.selfClosing && !e.ackSelfClosing) + ) + this._err(e, Dt.nonVoidHtmlElementStartTagWithTrailingSolidus); + } + _processStartTag(e) { + if (this.shouldProcessStartTagTokenInForeignContent(e)) dsr(this, e); + else this._startTagOutsideForeignContent(e); + } + _startTagOutsideForeignContent(e) { + switch (this.insertionMode) { + case Ye.INITIAL: { + BG(this, e); + break; + } + case Ye.BEFORE_HTML: { + qar(this, e); + break; + } + case Ye.BEFORE_HEAD: { + Qar(this, e); + break; + } + case Ye.IN_HEAD: { + W2(this, e); + break; + } + case Ye.IN_HEAD_NO_SCRIPT: { + Yar(this, e); + break; + } + case Ye.AFTER_HEAD: { + Jar(this, e); + break; + } + case Ye.IN_BODY: { + bm(this, e); + break; + } + case Ye.IN_TABLE: { + uD(this, e); + break; + } + case Ye.IN_TABLE_TEXT: { + OG(this, e); + break; + } + case Ye.IN_CAPTION: { + Xir(this, e); + break; + } + case Ye.IN_COLUMN_GROUP: { + Xke(this, e); + break; + } + case Ye.IN_TABLE_BODY: { + $se(this, e); + break; + } + case Ye.IN_ROW: { + ele(this, e); + break; + } + case Ye.IN_CELL: { + Kir(this, e); + break; + } + case Ye.IN_SELECT: { + DGt(this, e); + break; + } + case Ye.IN_SELECT_IN_TABLE: { + jir(this, e); + break; + } + case Ye.IN_TEMPLATE: { + esr(this, e); + break; + } + case Ye.AFTER_BODY: { + nsr(this, e); + break; + } + case Ye.IN_FRAMESET: { + rsr(this, e); + break; + } + case Ye.AFTER_FRAMESET: { + asr(this, e); + break; + } + case Ye.AFTER_AFTER_BODY: { + ssr(this, e); + break; + } + case Ye.AFTER_AFTER_FRAMESET: { + lsr(this, e); + break; + } + default: + } + } + onEndTag(e) { + if ( + ((this.skipNextNewLine = !1), + (this.currentToken = e), + this.currentNotInHTML) + ) + psr(this, e); + else this._endTagOutsideForeignContent(e); + } + _endTagOutsideForeignContent(e) { + switch (this.insertionMode) { + case Ye.INITIAL: { + BG(this, e); + break; + } + case Ye.BEFORE_HTML: { + Zar(this, e); + break; + } + case Ye.BEFORE_HEAD: { + Xar(this, e); + break; + } + case Ye.IN_HEAD: { + War(this, e); + break; + } + case Ye.IN_HEAD_NO_SCRIPT: { + Kar(this, e); + break; + } + case Ye.AFTER_HEAD: { + jar(this, e); + break; + } + case Ye.IN_BODY: { + jse(this, e); + break; + } + case Ye.TEXT: { + Uir(this, e); + break; + } + case Ye.IN_TABLE: { + HG(this, e); + break; + } + case Ye.IN_TABLE_TEXT: { + OG(this, e); + break; + } + case Ye.IN_CAPTION: { + Wir(this, e); + break; + } + case Ye.IN_COLUMN_GROUP: { + Yir(this, e); + break; + } + case Ye.IN_TABLE_BODY: { + qke(this, e); + break; + } + case Ye.IN_ROW: { + MGt(this, e); + break; + } + case Ye.IN_CELL: { + Jir(this, e); + break; + } + case Ye.IN_SELECT: { + LGt(this, e); + break; + } + case Ye.IN_SELECT_IN_TABLE: { + $ir(this, e); + break; + } + case Ye.IN_TEMPLATE: { + tsr(this, e); + break; + } + case Ye.AFTER_BODY: { + OGt(this, e); + break; + } + case Ye.IN_FRAMESET: { + osr(this, e); + break; + } + case Ye.AFTER_FRAMESET: { + isr(this, e); + break; + } + case Ye.AFTER_AFTER_BODY: { + Wse(this, e); + break; + } + default: + } + } + onEof(e) { + switch (this.insertionMode) { + case Ye.INITIAL: { + BG(this, e); + break; + } + case Ye.BEFORE_HTML: { + FG(this, e); + break; + } + case Ye.BEFORE_HEAD: { + UG(this, e); + break; + } + case Ye.IN_HEAD: { + NG(this, e); + break; + } + case Ye.IN_HEAD_NO_SCRIPT: { + zG(this, e); + break; + } + case Ye.AFTER_HEAD: { + _G(this, e); + break; + } + case Ye.IN_BODY: + case Ye.IN_TABLE: + case Ye.IN_CAPTION: + case Ye.IN_COLUMN_GROUP: + case Ye.IN_TABLE_BODY: + case Ye.IN_ROW: + case Ye.IN_CELL: + case Ye.IN_SELECT: + case Ye.IN_SELECT_IN_TABLE: { + TGt(this, e); + break; + } + case Ye.TEXT: { + Nir(this, e); + break; + } + case Ye.IN_TABLE_TEXT: { + OG(this, e); + break; + } + case Ye.IN_TEMPLATE: { + BGt(this, e); + break; + } + case Ye.AFTER_BODY: + case Ye.IN_FRAMESET: + case Ye.AFTER_FRAMESET: + case Ye.AFTER_AFTER_BODY: + case Ye.AFTER_AFTER_FRAMESET: { + Qke(this, e); + break; + } + default: + } + } + onWhitespaceCharacter(e) { + if (this.skipNextNewLine) { + if ( + ((this.skipNextNewLine = !1), e.chars.charCodeAt(0) === Fe.LINE_FEED) + ) { + if (e.chars.length === 1) return; + e.chars = e.chars.substr(1); + } + } + if (this.tokenizer.inForeignNode) { + this._insertCharacters(e); + return; + } + switch (this.insertionMode) { + case Ye.IN_HEAD: + case Ye.IN_HEAD_NO_SCRIPT: + case Ye.AFTER_HEAD: + case Ye.TEXT: + case Ye.IN_COLUMN_GROUP: + case Ye.IN_SELECT: + case Ye.IN_SELECT_IN_TABLE: + case Ye.IN_FRAMESET: + case Ye.AFTER_FRAMESET: { + this._insertCharacters(e); + break; + } + case Ye.IN_BODY: + case Ye.IN_CAPTION: + case Ye.IN_CELL: + case Ye.IN_TEMPLATE: + case Ye.AFTER_BODY: + case Ye.AFTER_AFTER_BODY: + case Ye.AFTER_AFTER_FRAMESET: { + wGt(this, e); + break; + } + case Ye.IN_TABLE: + case Ye.IN_TABLE_BODY: + case Ye.IN_ROW: { + Vke(this, e); + break; + } + case Ye.IN_TABLE_TEXT: { + kGt(this, e); + break; + } + default: + } + } +} +function Oar(e, t) { + let n = e.activeFormattingElements.getElementEntryInScopeWithTagName( + t.tagName, + ); + if (n) { + if (!e.openElements.contains(n.element)) + (e.activeFormattingElements.removeEntry(n), (n = null)); + else if (!e.openElements.hasInScope(t.tagID)) n = null; + } else IGt(e, t); + return n; +} +function Far(e, t) { + let n = null, + r = e.openElements.stackTop; + for (; r >= 0; r--) { + let o = e.openElements.items[r]; + if (o === t.element) break; + if (e._isSpecialElement(o, e.openElements.tagIDs[r])) n = o; + } + if (!n) + (e.openElements.shortenToLength(Math.max(r, 0)), + e.activeFormattingElements.removeEntry(t)); + return n; +} +function Uar(e, t, n) { + let r = t, + o = e.openElements.getCommonAncestor(t); + for (let a = 0, i = o; i !== n; a++, i = o) { + o = e.openElements.getCommonAncestor(i); + let s = e.activeFormattingElements.getElementEntry(i), + l = s && a >= Lar; + if (!s || l) { + if (l) e.activeFormattingElements.removeEntry(s); + e.openElements.remove(i); + } else { + if (((i = Nar(e, s)), r === t)) e.activeFormattingElements.bookmark = s; + (e.treeAdapter.detachNode(r), e.treeAdapter.appendChild(i, r), (r = i)); + } + } + return r; +} +function Nar(e, t) { + let n = e.treeAdapter.getNamespaceURI(t.element), + r = e.treeAdapter.createElement(t.token.tagName, n, t.token.attrs); + return (e.openElements.replace(t.element, r), (t.element = r), r); +} +function zar(e, t, n) { + let r = e.treeAdapter.getTagName(t), + o = q3(r); + if (e._isElementCausesFosterParenting(o)) e._fosterParentElement(n); + else { + let a = e.treeAdapter.getNamespaceURI(t); + if (o === X.TEMPLATE && a === $t.HTML) + t = e.treeAdapter.getTemplateContent(t); + e.treeAdapter.appendChild(t, n); + } +} +function _ar(e, t, n) { + let r = e.treeAdapter.getNamespaceURI(n.element), + { token: o } = n, + a = e.treeAdapter.createElement(o.tagName, r, o.attrs); + (e._adoptNodes(t, a), + e.treeAdapter.appendChild(t, a), + e.activeFormattingElements.insertElementAfterBookmark(a, o), + e.activeFormattingElements.removeEntry(n), + e.openElements.remove(n.element), + e.openElements.insertAfter(t, a, o.tagID)); +} +function Zke(e, t) { + for (let n = 0; n < Dar; n++) { + let r = Oar(e, t); + if (!r) break; + let o = Far(e, r); + if (!o) break; + e.activeFormattingElements.bookmark = r; + let a = Uar(e, o, r.element), + i = e.openElements.getCommonAncestor(r.element); + if ((e.treeAdapter.detachNode(a), i)) zar(e, i, a); + _ar(e, o, r); + } +} +function Gke(e, t) { + e._appendCommentNode(t, e.openElements.currentTmplContentOrNode); +} +function Har(e, t) { + e._appendCommentNode(t, e.openElements.items[0]); +} +function Var(e, t) { + e._appendCommentNode(t, e.document); +} +function Qke(e, t) { + if (((e.stopped = !0), t.location)) { + let n = e.fragmentContext ? 0 : 2; + for (let r = e.openElements.stackTop; r >= n; r--) + e._setEndLocation(e.openElements.items[r], t); + if (!e.fragmentContext && e.openElements.stackTop >= 0) { + let r = e.openElements.items[0], + o = e.treeAdapter.getNodeSourceCodeLocation(r); + if (o && !o.endTag) { + if ((e._setEndLocation(r, t), e.openElements.stackTop >= 1)) { + let a = e.openElements.items[1], + i = e.treeAdapter.getNodeSourceCodeLocation(a); + if (i && !i.endTag) e._setEndLocation(a, t); + } + } + } + } +} +function Gar(e, t) { + e._setDocumentType(t); + let n = t.forceQuirks ? gh.QUIRKS : dGt(t); + if (!uGt(t)) e._err(t, Dt.nonConformingDoctype); + (e.treeAdapter.setDocumentMode(e.document, n), + (e.insertionMode = Ye.BEFORE_HTML)); +} +function BG(e, t) { + (e._err(t, Dt.missingDoctype, !0), + e.treeAdapter.setDocumentMode(e.document, gh.QUIRKS), + (e.insertionMode = Ye.BEFORE_HTML), + e._processToken(t)); +} +function qar(e, t) { + if (t.tagID === X.HTML) + (e._insertElement(t, $t.HTML), (e.insertionMode = Ye.BEFORE_HEAD)); + else FG(e, t); +} +function Zar(e, t) { + let n = t.tagID; + if (n === X.HTML || n === X.HEAD || n === X.BODY || n === X.BR) FG(e, t); +} +function FG(e, t) { + (e._insertFakeRootElement(), + (e.insertionMode = Ye.BEFORE_HEAD), + e._processToken(t)); +} +function Qar(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.HEAD: { + (e._insertElement(t, $t.HTML), + (e.headElement = e.openElements.current), + (e.insertionMode = Ye.IN_HEAD)); + break; + } + default: + UG(e, t); + } +} +function Xar(e, t) { + let n = t.tagID; + if (n === X.HEAD || n === X.BODY || n === X.HTML || n === X.BR) UG(e, t); + else e._err(t, Dt.endTagWithoutMatchingOpenElement); +} +function UG(e, t) { + (e._insertFakeElement(gt.HEAD, X.HEAD), + (e.headElement = e.openElements.current), + (e.insertionMode = Ye.IN_HEAD), + e._processToken(t)); +} +function W2(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.BASE: + case X.BASEFONT: + case X.BGSOUND: + case X.LINK: + case X.META: { + (e._appendElement(t, $t.HTML), (t.ackSelfClosing = !0)); + break; + } + case X.TITLE: { + e._switchToTextParsing(t, gl.RCDATA); + break; + } + case X.NOSCRIPT: { + if (e.options.scriptingEnabled) e._switchToTextParsing(t, gl.RAWTEXT); + else + (e._insertElement(t, $t.HTML), + (e.insertionMode = Ye.IN_HEAD_NO_SCRIPT)); + break; + } + case X.NOFRAMES: + case X.STYLE: { + e._switchToTextParsing(t, gl.RAWTEXT); + break; + } + case X.SCRIPT: { + e._switchToTextParsing(t, gl.SCRIPT_DATA); + break; + } + case X.TEMPLATE: { + (e._insertTemplate(t), + e.activeFormattingElements.insertMarker(), + (e.framesetOk = !1), + (e.insertionMode = Ye.IN_TEMPLATE), + e.tmplInsertionModeStack.unshift(Ye.IN_TEMPLATE)); + break; + } + case X.HEAD: { + e._err(t, Dt.misplacedStartTagForHeadElement); + break; + } + default: + NG(e, t); + } +} +function War(e, t) { + switch (t.tagID) { + case X.HEAD: { + (e.openElements.pop(), (e.insertionMode = Ye.AFTER_HEAD)); + break; + } + case X.BODY: + case X.BR: + case X.HTML: { + NG(e, t); + break; + } + case X.TEMPLATE: { + XI(e, t); + break; + } + default: + e._err(t, Dt.endTagWithoutMatchingOpenElement); + } +} +function XI(e, t) { + if (e.openElements.tmplCount > 0) { + if ( + (e.openElements.generateImpliedEndTagsThoroughly(), + e.openElements.currentTagId !== X.TEMPLATE) + ) + e._err(t, Dt.closingOfElementWithOpenChildElements); + (e.openElements.popUntilTagNamePopped(X.TEMPLATE), + e.activeFormattingElements.clearToLastMarker(), + e.tmplInsertionModeStack.shift(), + e._resetInsertionMode()); + } else e._err(t, Dt.endTagWithoutMatchingOpenElement); +} +function NG(e, t) { + (e.openElements.pop(), (e.insertionMode = Ye.AFTER_HEAD), e._processToken(t)); +} +function Yar(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.BASEFONT: + case X.BGSOUND: + case X.HEAD: + case X.LINK: + case X.META: + case X.NOFRAMES: + case X.STYLE: { + W2(e, t); + break; + } + case X.NOSCRIPT: { + e._err(t, Dt.nestedNoscriptInHead); + break; + } + default: + zG(e, t); + } +} +function Kar(e, t) { + switch (t.tagID) { + case X.NOSCRIPT: { + (e.openElements.pop(), (e.insertionMode = Ye.IN_HEAD)); + break; + } + case X.BR: { + zG(e, t); + break; + } + default: + e._err(t, Dt.endTagWithoutMatchingOpenElement); + } +} +function zG(e, t) { + let n = + t.type === Wo.EOF + ? Dt.openElementsLeftAfterEof + : Dt.disallowedContentInNoscriptInHead; + (e._err(t, n), + e.openElements.pop(), + (e.insertionMode = Ye.IN_HEAD), + e._processToken(t)); +} +function Jar(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.BODY: { + (e._insertElement(t, $t.HTML), + (e.framesetOk = !1), + (e.insertionMode = Ye.IN_BODY)); + break; + } + case X.FRAMESET: { + (e._insertElement(t, $t.HTML), (e.insertionMode = Ye.IN_FRAMESET)); + break; + } + case X.BASE: + case X.BASEFONT: + case X.BGSOUND: + case X.LINK: + case X.META: + case X.NOFRAMES: + case X.SCRIPT: + case X.STYLE: + case X.TEMPLATE: + case X.TITLE: { + (e._err(t, Dt.abandonedHeadElementChild), + e.openElements.push(e.headElement, X.HEAD), + W2(e, t), + e.openElements.remove(e.headElement)); + break; + } + case X.HEAD: { + e._err(t, Dt.misplacedStartTagForHeadElement); + break; + } + default: + _G(e, t); + } +} +function jar(e, t) { + switch (t.tagID) { + case X.BODY: + case X.HTML: + case X.BR: { + _G(e, t); + break; + } + case X.TEMPLATE: { + XI(e, t); + break; + } + default: + e._err(t, Dt.endTagWithoutMatchingOpenElement); + } +} +function _G(e, t) { + (e._insertFakeElement(gt.BODY, X.BODY), + (e.insertionMode = Ye.IN_BODY), + Jse(e, t)); +} +function Jse(e, t) { + switch (t.type) { + case Wo.CHARACTER: { + SGt(e, t); + break; + } + case Wo.WHITESPACE_CHARACTER: { + wGt(e, t); + break; + } + case Wo.COMMENT: { + Gke(e, t); + break; + } + case Wo.START_TAG: { + bm(e, t); + break; + } + case Wo.END_TAG: { + jse(e, t); + break; + } + case Wo.EOF: { + TGt(e, t); + break; + } + default: + } +} +function wGt(e, t) { + (e._reconstructActiveFormattingElements(), e._insertCharacters(t)); +} +function SGt(e, t) { + (e._reconstructActiveFormattingElements(), + e._insertCharacters(t), + (e.framesetOk = !1)); +} +function $ar(e, t) { + if (e.openElements.tmplCount === 0) + e.treeAdapter.adoptAttributes(e.openElements.items[0], t.attrs); +} +function eir(e, t) { + let n = e.openElements.tryPeekProperlyNestedBodyElement(); + if (n && e.openElements.tmplCount === 0) + ((e.framesetOk = !1), e.treeAdapter.adoptAttributes(n, t.attrs)); +} +function tir(e, t) { + let n = e.openElements.tryPeekProperlyNestedBodyElement(); + if (e.framesetOk && n) + (e.treeAdapter.detachNode(n), + e.openElements.popAllUpToHtmlElement(), + e._insertElement(t, $t.HTML), + (e.insertionMode = Ye.IN_FRAMESET)); +} +function nir(e, t) { + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + e._insertElement(t, $t.HTML); +} +function rir(e, t) { + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + if ( + e.openElements.currentTagId !== void 0 && + DG.has(e.openElements.currentTagId) + ) + e.openElements.pop(); + e._insertElement(t, $t.HTML); +} +function oir(e, t) { + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + (e._insertElement(t, $t.HTML), (e.skipNextNewLine = !0), (e.framesetOk = !1)); +} +function air(e, t) { + let n = e.openElements.tmplCount > 0; + if (!e.formElement || n) { + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + if ((e._insertElement(t, $t.HTML), !n)) + e.formElement = e.openElements.current; + } +} +function iir(e, t) { + e.framesetOk = !1; + let n = t.tagID; + for (let r = e.openElements.stackTop; r >= 0; r--) { + let o = e.openElements.tagIDs[r]; + if ( + (n === X.LI && o === X.LI) || + ((n === X.DD || n === X.DT) && (o === X.DD || o === X.DT)) + ) { + (e.openElements.generateImpliedEndTagsWithExclusion(o), + e.openElements.popUntilTagNamePopped(o)); + break; + } + if ( + o !== X.ADDRESS && + o !== X.DIV && + o !== X.P && + e._isSpecialElement(e.openElements.items[r], o) + ) + break; + } + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + e._insertElement(t, $t.HTML); +} +function sir(e, t) { + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + (e._insertElement(t, $t.HTML), (e.tokenizer.state = gl.PLAINTEXT)); +} +function lir(e, t) { + if (e.openElements.hasInScope(X.BUTTON)) + (e.openElements.generateImpliedEndTags(), + e.openElements.popUntilTagNamePopped(X.BUTTON)); + (e._reconstructActiveFormattingElements(), + e._insertElement(t, $t.HTML), + (e.framesetOk = !1)); +} +function cir(e, t) { + let n = e.activeFormattingElements.getElementEntryInScopeWithTagName(gt.A); + if (n) + (Zke(e, t), + e.openElements.remove(n.element), + e.activeFormattingElements.removeEntry(n)); + (e._reconstructActiveFormattingElements(), + e._insertElement(t, $t.HTML), + e.activeFormattingElements.pushElement(e.openElements.current, t)); +} +function uir(e, t) { + (e._reconstructActiveFormattingElements(), + e._insertElement(t, $t.HTML), + e.activeFormattingElements.pushElement(e.openElements.current, t)); +} +function dir(e, t) { + if ( + (e._reconstructActiveFormattingElements(), + e.openElements.hasInScope(X.NOBR)) + ) + (Zke(e, t), e._reconstructActiveFormattingElements()); + (e._insertElement(t, $t.HTML), + e.activeFormattingElements.pushElement(e.openElements.current, t)); +} +function pir(e, t) { + (e._reconstructActiveFormattingElements(), + e._insertElement(t, $t.HTML), + e.activeFormattingElements.insertMarker(), + (e.framesetOk = !1)); +} +function fir(e, t) { + if ( + e.treeAdapter.getDocumentMode(e.document) !== gh.QUIRKS && + e.openElements.hasInButtonScope(X.P) + ) + e._closePElement(); + (e._insertElement(t, $t.HTML), + (e.framesetOk = !1), + (e.insertionMode = Ye.IN_TABLE)); +} +function CGt(e, t) { + (e._reconstructActiveFormattingElements(), + e._appendElement(t, $t.HTML), + (e.framesetOk = !1), + (t.ackSelfClosing = !0)); +} +function EGt(e) { + let t = Hse(e, G3.TYPE); + return t != null && t.toLowerCase() === Mar; +} +function mir(e, t) { + if ( + (e._reconstructActiveFormattingElements(), + e._appendElement(t, $t.HTML), + !EGt(t)) + ) + e.framesetOk = !1; + t.ackSelfClosing = !0; +} +function hir(e, t) { + (e._appendElement(t, $t.HTML), (t.ackSelfClosing = !0)); +} +function gir(e, t) { + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + (e._appendElement(t, $t.HTML), (e.framesetOk = !1), (t.ackSelfClosing = !0)); +} +function yir(e, t) { + ((t.tagName = gt.IMG), (t.tagID = X.IMG), CGt(e, t)); +} +function vir(e, t) { + (e._insertElement(t, $t.HTML), + (e.skipNextNewLine = !0), + (e.tokenizer.state = gl.RCDATA), + (e.originalInsertionMode = e.insertionMode), + (e.framesetOk = !1), + (e.insertionMode = Ye.TEXT)); +} +function bir(e, t) { + if (e.openElements.hasInButtonScope(X.P)) e._closePElement(); + (e._reconstructActiveFormattingElements(), + (e.framesetOk = !1), + e._switchToTextParsing(t, gl.RAWTEXT)); +} +function xir(e, t) { + ((e.framesetOk = !1), e._switchToTextParsing(t, gl.RAWTEXT)); +} +function bGt(e, t) { + e._switchToTextParsing(t, gl.RAWTEXT); +} +function Air(e, t) { + (e._reconstructActiveFormattingElements(), + e._insertElement(t, $t.HTML), + (e.framesetOk = !1), + (e.insertionMode = + e.insertionMode === Ye.IN_TABLE || + e.insertionMode === Ye.IN_CAPTION || + e.insertionMode === Ye.IN_TABLE_BODY || + e.insertionMode === Ye.IN_ROW || + e.insertionMode === Ye.IN_CELL + ? Ye.IN_SELECT_IN_TABLE + : Ye.IN_SELECT)); +} +function wir(e, t) { + if (e.openElements.currentTagId === X.OPTION) e.openElements.pop(); + (e._reconstructActiveFormattingElements(), e._insertElement(t, $t.HTML)); +} +function Sir(e, t) { + if (e.openElements.hasInScope(X.RUBY)) + e.openElements.generateImpliedEndTags(); + e._insertElement(t, $t.HTML); +} +function Cir(e, t) { + if (e.openElements.hasInScope(X.RUBY)) + e.openElements.generateImpliedEndTagsWithExclusion(X.RTC); + e._insertElement(t, $t.HTML); +} +function Eir(e, t) { + if ((e._reconstructActiveFormattingElements(), zke(t), Xse(t), t.selfClosing)) + e._appendElement(t, $t.MATHML); + else e._insertElement(t, $t.MATHML); + t.ackSelfClosing = !0; +} +function Iir(e, t) { + if ((e._reconstructActiveFormattingElements(), _ke(t), Xse(t), t.selfClosing)) + e._appendElement(t, $t.SVG); + else e._insertElement(t, $t.SVG); + t.ackSelfClosing = !0; +} +function xGt(e, t) { + (e._reconstructActiveFormattingElements(), e._insertElement(t, $t.HTML)); +} +function bm(e, t) { + switch (t.tagID) { + case X.I: + case X.S: + case X.B: + case X.U: + case X.EM: + case X.TT: + case X.BIG: + case X.CODE: + case X.FONT: + case X.SMALL: + case X.STRIKE: + case X.STRONG: { + uir(e, t); + break; + } + case X.A: { + cir(e, t); + break; + } + case X.H1: + case X.H2: + case X.H3: + case X.H4: + case X.H5: + case X.H6: { + rir(e, t); + break; + } + case X.P: + case X.DL: + case X.OL: + case X.UL: + case X.DIV: + case X.DIR: + case X.NAV: + case X.MAIN: + case X.MENU: + case X.ASIDE: + case X.CENTER: + case X.FIGURE: + case X.FOOTER: + case X.HEADER: + case X.HGROUP: + case X.DIALOG: + case X.DETAILS: + case X.ADDRESS: + case X.ARTICLE: + case X.SEARCH: + case X.SECTION: + case X.SUMMARY: + case X.FIELDSET: + case X.BLOCKQUOTE: + case X.FIGCAPTION: { + nir(e, t); + break; + } + case X.LI: + case X.DD: + case X.DT: { + iir(e, t); + break; + } + case X.BR: + case X.IMG: + case X.WBR: + case X.AREA: + case X.EMBED: + case X.KEYGEN: { + CGt(e, t); + break; + } + case X.HR: { + gir(e, t); + break; + } + case X.RB: + case X.RTC: { + Sir(e, t); + break; + } + case X.RT: + case X.RP: { + Cir(e, t); + break; + } + case X.PRE: + case X.LISTING: { + oir(e, t); + break; + } + case X.XMP: { + bir(e, t); + break; + } + case X.SVG: { + Iir(e, t); + break; + } + case X.HTML: { + $ar(e, t); + break; + } + case X.BASE: + case X.LINK: + case X.META: + case X.STYLE: + case X.TITLE: + case X.SCRIPT: + case X.BGSOUND: + case X.BASEFONT: + case X.TEMPLATE: { + W2(e, t); + break; + } + case X.BODY: { + eir(e, t); + break; + } + case X.FORM: { + air(e, t); + break; + } + case X.NOBR: { + dir(e, t); + break; + } + case X.MATH: { + Eir(e, t); + break; + } + case X.TABLE: { + fir(e, t); + break; + } + case X.INPUT: { + mir(e, t); + break; + } + case X.PARAM: + case X.TRACK: + case X.SOURCE: { + hir(e, t); + break; + } + case X.IMAGE: { + yir(e, t); + break; + } + case X.BUTTON: { + lir(e, t); + break; + } + case X.APPLET: + case X.OBJECT: + case X.MARQUEE: { + pir(e, t); + break; + } + case X.IFRAME: { + xir(e, t); + break; + } + case X.SELECT: { + Air(e, t); + break; + } + case X.OPTION: + case X.OPTGROUP: { + wir(e, t); + break; + } + case X.NOEMBED: + case X.NOFRAMES: { + bGt(e, t); + break; + } + case X.FRAMESET: { + tir(e, t); + break; + } + case X.TEXTAREA: { + vir(e, t); + break; + } + case X.NOSCRIPT: { + if (e.options.scriptingEnabled) bGt(e, t); + else xGt(e, t); + break; + } + case X.PLAINTEXT: { + sir(e, t); + break; + } + case X.COL: + case X.TH: + case X.TD: + case X.TR: + case X.HEAD: + case X.FRAME: + case X.TBODY: + case X.TFOOT: + case X.THEAD: + case X.CAPTION: + case X.COLGROUP: + break; + default: + xGt(e, t); + } +} +function Tir(e, t) { + if (e.openElements.hasInScope(X.BODY)) { + if (((e.insertionMode = Ye.AFTER_BODY), e.options.sourceCodeLocationInfo)) { + let n = e.openElements.tryPeekProperlyNestedBodyElement(); + if (n) e._setEndLocation(n, t); + } + } +} +function kir(e, t) { + if (e.openElements.hasInScope(X.BODY)) + ((e.insertionMode = Ye.AFTER_BODY), OGt(e, t)); +} +function Rir(e, t) { + let n = t.tagID; + if (e.openElements.hasInScope(n)) + (e.openElements.generateImpliedEndTags(), + e.openElements.popUntilTagNamePopped(n)); +} +function Pir(e) { + let t = e.openElements.tmplCount > 0, + { formElement: n } = e; + if (!t) e.formElement = null; + if ((n || t) && e.openElements.hasInScope(X.FORM)) { + if ((e.openElements.generateImpliedEndTags(), t)) + e.openElements.popUntilTagNamePopped(X.FORM); + else if (n) e.openElements.remove(n); + } +} +function Mir(e) { + if (!e.openElements.hasInButtonScope(X.P)) e._insertFakeElement(gt.P, X.P); + e._closePElement(); +} +function Dir(e) { + if (e.openElements.hasInListItemScope(X.LI)) + (e.openElements.generateImpliedEndTagsWithExclusion(X.LI), + e.openElements.popUntilTagNamePopped(X.LI)); +} +function Lir(e, t) { + let n = t.tagID; + if (e.openElements.hasInScope(n)) + (e.openElements.generateImpliedEndTagsWithExclusion(n), + e.openElements.popUntilTagNamePopped(n)); +} +function Bir(e) { + if (e.openElements.hasNumberedHeaderInScope()) + (e.openElements.generateImpliedEndTags(), + e.openElements.popUntilNumberedHeaderPopped()); +} +function Oir(e, t) { + let n = t.tagID; + if (e.openElements.hasInScope(n)) + (e.openElements.generateImpliedEndTags(), + e.openElements.popUntilTagNamePopped(n), + e.activeFormattingElements.clearToLastMarker()); +} +function Fir(e) { + (e._reconstructActiveFormattingElements(), + e._insertFakeElement(gt.BR, X.BR), + e.openElements.pop(), + (e.framesetOk = !1)); +} +function IGt(e, t) { + let { tagName: n, tagID: r } = t; + for (let o = e.openElements.stackTop; o > 0; o--) { + let a = e.openElements.items[o], + i = e.openElements.tagIDs[o]; + if (r === i && (r !== X.UNKNOWN || e.treeAdapter.getTagName(a) === n)) { + if ( + (e.openElements.generateImpliedEndTagsWithExclusion(r), + e.openElements.stackTop >= o) + ) + e.openElements.shortenToLength(o); + break; + } + if (e._isSpecialElement(a, i)) break; + } +} +function jse(e, t) { + switch (t.tagID) { + case X.A: + case X.B: + case X.I: + case X.S: + case X.U: + case X.EM: + case X.TT: + case X.BIG: + case X.CODE: + case X.FONT: + case X.NOBR: + case X.SMALL: + case X.STRIKE: + case X.STRONG: { + Zke(e, t); + break; + } + case X.P: { + Mir(e); + break; + } + case X.DL: + case X.UL: + case X.OL: + case X.DIR: + case X.DIV: + case X.NAV: + case X.PRE: + case X.MAIN: + case X.MENU: + case X.ASIDE: + case X.BUTTON: + case X.CENTER: + case X.FIGURE: + case X.FOOTER: + case X.HEADER: + case X.HGROUP: + case X.DIALOG: + case X.ADDRESS: + case X.ARTICLE: + case X.DETAILS: + case X.SEARCH: + case X.SECTION: + case X.SUMMARY: + case X.LISTING: + case X.FIELDSET: + case X.BLOCKQUOTE: + case X.FIGCAPTION: { + Rir(e, t); + break; + } + case X.LI: { + Dir(e); + break; + } + case X.DD: + case X.DT: { + Lir(e, t); + break; + } + case X.H1: + case X.H2: + case X.H3: + case X.H4: + case X.H5: + case X.H6: { + Bir(e); + break; + } + case X.BR: { + Fir(e); + break; + } + case X.BODY: { + Tir(e, t); + break; + } + case X.HTML: { + kir(e, t); + break; + } + case X.FORM: { + Pir(e); + break; + } + case X.APPLET: + case X.OBJECT: + case X.MARQUEE: { + Oir(e, t); + break; + } + case X.TEMPLATE: { + XI(e, t); + break; + } + default: + IGt(e, t); + } +} +function TGt(e, t) { + if (e.tmplInsertionModeStack.length > 0) BGt(e, t); + else Qke(e, t); +} +function Uir(e, t) { + var n; + if (t.tagID === X.SCRIPT) + (n = e.scriptHandler) === null || + n === void 0 || + n.call(e, e.openElements.current); + (e.openElements.pop(), (e.insertionMode = e.originalInsertionMode)); +} +function Nir(e, t) { + (e._err(t, Dt.eofInElementThatCanContainOnlyText), + e.openElements.pop(), + (e.insertionMode = e.originalInsertionMode), + e.onEof(t)); +} +function Vke(e, t) { + if ( + e.openElements.currentTagId !== void 0 && + AGt.has(e.openElements.currentTagId) + ) + switch ( + ((e.pendingCharacterTokens.length = 0), + (e.hasNonWhitespacePendingCharacterToken = !1), + (e.originalInsertionMode = e.insertionMode), + (e.insertionMode = Ye.IN_TABLE_TEXT), + t.type) + ) { + case Wo.CHARACTER: { + RGt(e, t); + break; + } + case Wo.WHITESPACE_CHARACTER: { + kGt(e, t); + break; + } + } + else VG(e, t); +} +function zir(e, t) { + (e.openElements.clearBackToTableContext(), + e.activeFormattingElements.insertMarker(), + e._insertElement(t, $t.HTML), + (e.insertionMode = Ye.IN_CAPTION)); +} +function _ir(e, t) { + (e.openElements.clearBackToTableContext(), + e._insertElement(t, $t.HTML), + (e.insertionMode = Ye.IN_COLUMN_GROUP)); +} +function Hir(e, t) { + (e.openElements.clearBackToTableContext(), + e._insertFakeElement(gt.COLGROUP, X.COLGROUP), + (e.insertionMode = Ye.IN_COLUMN_GROUP), + Xke(e, t)); +} +function Vir(e, t) { + (e.openElements.clearBackToTableContext(), + e._insertElement(t, $t.HTML), + (e.insertionMode = Ye.IN_TABLE_BODY)); +} +function Gir(e, t) { + (e.openElements.clearBackToTableContext(), + e._insertFakeElement(gt.TBODY, X.TBODY), + (e.insertionMode = Ye.IN_TABLE_BODY), + $se(e, t)); +} +function qir(e, t) { + if (e.openElements.hasInTableScope(X.TABLE)) + (e.openElements.popUntilTagNamePopped(X.TABLE), + e._resetInsertionMode(), + e._processStartTag(t)); +} +function Zir(e, t) { + if (EGt(t)) e._appendElement(t, $t.HTML); + else VG(e, t); + t.ackSelfClosing = !0; +} +function Qir(e, t) { + if (!e.formElement && e.openElements.tmplCount === 0) + (e._insertElement(t, $t.HTML), + (e.formElement = e.openElements.current), + e.openElements.pop()); +} +function uD(e, t) { + switch (t.tagID) { + case X.TD: + case X.TH: + case X.TR: { + Gir(e, t); + break; + } + case X.STYLE: + case X.SCRIPT: + case X.TEMPLATE: { + W2(e, t); + break; + } + case X.COL: { + Hir(e, t); + break; + } + case X.FORM: { + Qir(e, t); + break; + } + case X.TABLE: { + qir(e, t); + break; + } + case X.TBODY: + case X.TFOOT: + case X.THEAD: { + Vir(e, t); + break; + } + case X.INPUT: { + Zir(e, t); + break; + } + case X.CAPTION: { + zir(e, t); + break; + } + case X.COLGROUP: { + _ir(e, t); + break; + } + default: + VG(e, t); + } +} +function HG(e, t) { + switch (t.tagID) { + case X.TABLE: { + if (e.openElements.hasInTableScope(X.TABLE)) + (e.openElements.popUntilTagNamePopped(X.TABLE), + e._resetInsertionMode()); + break; + } + case X.TEMPLATE: { + XI(e, t); + break; + } + case X.BODY: + case X.CAPTION: + case X.COL: + case X.COLGROUP: + case X.HTML: + case X.TBODY: + case X.TD: + case X.TFOOT: + case X.TH: + case X.THEAD: + case X.TR: + break; + default: + VG(e, t); + } +} +function VG(e, t) { + let n = e.fosterParentingEnabled; + ((e.fosterParentingEnabled = !0), Jse(e, t), (e.fosterParentingEnabled = n)); +} +function kGt(e, t) { + e.pendingCharacterTokens.push(t); +} +function RGt(e, t) { + (e.pendingCharacterTokens.push(t), + (e.hasNonWhitespacePendingCharacterToken = !0)); +} +function OG(e, t) { + let n = 0; + if (e.hasNonWhitespacePendingCharacterToken) + for (; n < e.pendingCharacterTokens.length; n++) + VG(e, e.pendingCharacterTokens[n]); + else + for (; n < e.pendingCharacterTokens.length; n++) + e._insertCharacters(e.pendingCharacterTokens[n]); + ((e.insertionMode = e.originalInsertionMode), e._processToken(t)); +} +function Xir(e, t) { + let n = t.tagID; + if (PGt.has(n)) { + if (e.openElements.hasInTableScope(X.CAPTION)) + (e.openElements.generateImpliedEndTags(), + e.openElements.popUntilTagNamePopped(X.CAPTION), + e.activeFormattingElements.clearToLastMarker(), + (e.insertionMode = Ye.IN_TABLE), + uD(e, t)); + } else bm(e, t); +} +function Wir(e, t) { + let n = t.tagID; + switch (n) { + case X.CAPTION: + case X.TABLE: { + if (e.openElements.hasInTableScope(X.CAPTION)) { + if ( + (e.openElements.generateImpliedEndTags(), + e.openElements.popUntilTagNamePopped(X.CAPTION), + e.activeFormattingElements.clearToLastMarker(), + (e.insertionMode = Ye.IN_TABLE), + n === X.TABLE) + ) + HG(e, t); + } + break; + } + case X.BODY: + case X.COL: + case X.COLGROUP: + case X.HTML: + case X.TBODY: + case X.TD: + case X.TFOOT: + case X.TH: + case X.THEAD: + case X.TR: + break; + default: + jse(e, t); + } +} +function Xke(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.COL: { + (e._appendElement(t, $t.HTML), (t.ackSelfClosing = !0)); + break; + } + case X.TEMPLATE: { + W2(e, t); + break; + } + default: + Yse(e, t); + } +} +function Yir(e, t) { + switch (t.tagID) { + case X.COLGROUP: { + if (e.openElements.currentTagId === X.COLGROUP) + (e.openElements.pop(), (e.insertionMode = Ye.IN_TABLE)); + break; + } + case X.TEMPLATE: { + XI(e, t); + break; + } + case X.COL: + break; + default: + Yse(e, t); + } +} +function Yse(e, t) { + if (e.openElements.currentTagId === X.COLGROUP) + (e.openElements.pop(), (e.insertionMode = Ye.IN_TABLE), e._processToken(t)); +} +function $se(e, t) { + switch (t.tagID) { + case X.TR: { + (e.openElements.clearBackToTableBodyContext(), + e._insertElement(t, $t.HTML), + (e.insertionMode = Ye.IN_ROW)); + break; + } + case X.TH: + case X.TD: { + (e.openElements.clearBackToTableBodyContext(), + e._insertFakeElement(gt.TR, X.TR), + (e.insertionMode = Ye.IN_ROW), + ele(e, t)); + break; + } + case X.CAPTION: + case X.COL: + case X.COLGROUP: + case X.TBODY: + case X.TFOOT: + case X.THEAD: { + if (e.openElements.hasTableBodyContextInTableScope()) + (e.openElements.clearBackToTableBodyContext(), + e.openElements.pop(), + (e.insertionMode = Ye.IN_TABLE), + uD(e, t)); + break; + } + default: + uD(e, t); + } +} +function qke(e, t) { + let n = t.tagID; + switch (t.tagID) { + case X.TBODY: + case X.TFOOT: + case X.THEAD: { + if (e.openElements.hasInTableScope(n)) + (e.openElements.clearBackToTableBodyContext(), + e.openElements.pop(), + (e.insertionMode = Ye.IN_TABLE)); + break; + } + case X.TABLE: { + if (e.openElements.hasTableBodyContextInTableScope()) + (e.openElements.clearBackToTableBodyContext(), + e.openElements.pop(), + (e.insertionMode = Ye.IN_TABLE), + HG(e, t)); + break; + } + case X.BODY: + case X.CAPTION: + case X.COL: + case X.COLGROUP: + case X.HTML: + case X.TD: + case X.TH: + case X.TR: + break; + default: + HG(e, t); + } +} +function ele(e, t) { + switch (t.tagID) { + case X.TH: + case X.TD: { + (e.openElements.clearBackToTableRowContext(), + e._insertElement(t, $t.HTML), + (e.insertionMode = Ye.IN_CELL), + e.activeFormattingElements.insertMarker()); + break; + } + case X.CAPTION: + case X.COL: + case X.COLGROUP: + case X.TBODY: + case X.TFOOT: + case X.THEAD: + case X.TR: { + if (e.openElements.hasInTableScope(X.TR)) + (e.openElements.clearBackToTableRowContext(), + e.openElements.pop(), + (e.insertionMode = Ye.IN_TABLE_BODY), + $se(e, t)); + break; + } + default: + uD(e, t); + } +} +function MGt(e, t) { + switch (t.tagID) { + case X.TR: { + if (e.openElements.hasInTableScope(X.TR)) + (e.openElements.clearBackToTableRowContext(), + e.openElements.pop(), + (e.insertionMode = Ye.IN_TABLE_BODY)); + break; + } + case X.TABLE: { + if (e.openElements.hasInTableScope(X.TR)) + (e.openElements.clearBackToTableRowContext(), + e.openElements.pop(), + (e.insertionMode = Ye.IN_TABLE_BODY), + qke(e, t)); + break; + } + case X.TBODY: + case X.TFOOT: + case X.THEAD: { + if ( + e.openElements.hasInTableScope(t.tagID) || + e.openElements.hasInTableScope(X.TR) + ) + (e.openElements.clearBackToTableRowContext(), + e.openElements.pop(), + (e.insertionMode = Ye.IN_TABLE_BODY), + qke(e, t)); + break; + } + case X.BODY: + case X.CAPTION: + case X.COL: + case X.COLGROUP: + case X.HTML: + case X.TD: + case X.TH: + break; + default: + HG(e, t); + } +} +function Kir(e, t) { + let n = t.tagID; + if (PGt.has(n)) { + if ( + e.openElements.hasInTableScope(X.TD) || + e.openElements.hasInTableScope(X.TH) + ) + (e._closeTableCell(), ele(e, t)); + } else bm(e, t); +} +function Jir(e, t) { + let n = t.tagID; + switch (n) { + case X.TD: + case X.TH: { + if (e.openElements.hasInTableScope(n)) + (e.openElements.generateImpliedEndTags(), + e.openElements.popUntilTagNamePopped(n), + e.activeFormattingElements.clearToLastMarker(), + (e.insertionMode = Ye.IN_ROW)); + break; + } + case X.TABLE: + case X.TBODY: + case X.TFOOT: + case X.THEAD: + case X.TR: { + if (e.openElements.hasInTableScope(n)) (e._closeTableCell(), MGt(e, t)); + break; + } + case X.BODY: + case X.CAPTION: + case X.COL: + case X.COLGROUP: + case X.HTML: + break; + default: + jse(e, t); + } +} +function DGt(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.OPTION: { + if (e.openElements.currentTagId === X.OPTION) e.openElements.pop(); + e._insertElement(t, $t.HTML); + break; + } + case X.OPTGROUP: { + if (e.openElements.currentTagId === X.OPTION) e.openElements.pop(); + if (e.openElements.currentTagId === X.OPTGROUP) e.openElements.pop(); + e._insertElement(t, $t.HTML); + break; + } + case X.HR: { + if (e.openElements.currentTagId === X.OPTION) e.openElements.pop(); + if (e.openElements.currentTagId === X.OPTGROUP) e.openElements.pop(); + (e._appendElement(t, $t.HTML), (t.ackSelfClosing = !0)); + break; + } + case X.INPUT: + case X.KEYGEN: + case X.TEXTAREA: + case X.SELECT: { + if (e.openElements.hasInSelectScope(X.SELECT)) { + if ( + (e.openElements.popUntilTagNamePopped(X.SELECT), + e._resetInsertionMode(), + t.tagID !== X.SELECT) + ) + e._processStartTag(t); + } + break; + } + case X.SCRIPT: + case X.TEMPLATE: { + W2(e, t); + break; + } + default: + } +} +function LGt(e, t) { + switch (t.tagID) { + case X.OPTGROUP: { + if ( + e.openElements.stackTop > 0 && + e.openElements.currentTagId === X.OPTION && + e.openElements.tagIDs[e.openElements.stackTop - 1] === X.OPTGROUP + ) + e.openElements.pop(); + if (e.openElements.currentTagId === X.OPTGROUP) e.openElements.pop(); + break; + } + case X.OPTION: { + if (e.openElements.currentTagId === X.OPTION) e.openElements.pop(); + break; + } + case X.SELECT: { + if (e.openElements.hasInSelectScope(X.SELECT)) + (e.openElements.popUntilTagNamePopped(X.SELECT), + e._resetInsertionMode()); + break; + } + case X.TEMPLATE: { + XI(e, t); + break; + } + default: + } +} +function jir(e, t) { + let n = t.tagID; + if ( + n === X.CAPTION || + n === X.TABLE || + n === X.TBODY || + n === X.TFOOT || + n === X.THEAD || + n === X.TR || + n === X.TD || + n === X.TH + ) + (e.openElements.popUntilTagNamePopped(X.SELECT), + e._resetInsertionMode(), + e._processStartTag(t)); + else DGt(e, t); +} +function $ir(e, t) { + let n = t.tagID; + if ( + n === X.CAPTION || + n === X.TABLE || + n === X.TBODY || + n === X.TFOOT || + n === X.THEAD || + n === X.TR || + n === X.TD || + n === X.TH + ) { + if (e.openElements.hasInTableScope(n)) + (e.openElements.popUntilTagNamePopped(X.SELECT), + e._resetInsertionMode(), + e.onEndTag(t)); + } else LGt(e, t); +} +function esr(e, t) { + switch (t.tagID) { + case X.BASE: + case X.BASEFONT: + case X.BGSOUND: + case X.LINK: + case X.META: + case X.NOFRAMES: + case X.SCRIPT: + case X.STYLE: + case X.TEMPLATE: + case X.TITLE: { + W2(e, t); + break; + } + case X.CAPTION: + case X.COLGROUP: + case X.TBODY: + case X.TFOOT: + case X.THEAD: { + ((e.tmplInsertionModeStack[0] = Ye.IN_TABLE), + (e.insertionMode = Ye.IN_TABLE), + uD(e, t)); + break; + } + case X.COL: { + ((e.tmplInsertionModeStack[0] = Ye.IN_COLUMN_GROUP), + (e.insertionMode = Ye.IN_COLUMN_GROUP), + Xke(e, t)); + break; + } + case X.TR: { + ((e.tmplInsertionModeStack[0] = Ye.IN_TABLE_BODY), + (e.insertionMode = Ye.IN_TABLE_BODY), + $se(e, t)); + break; + } + case X.TD: + case X.TH: { + ((e.tmplInsertionModeStack[0] = Ye.IN_ROW), + (e.insertionMode = Ye.IN_ROW), + ele(e, t)); + break; + } + default: + ((e.tmplInsertionModeStack[0] = Ye.IN_BODY), + (e.insertionMode = Ye.IN_BODY), + bm(e, t)); + } +} +function tsr(e, t) { + if (t.tagID === X.TEMPLATE) XI(e, t); +} +function BGt(e, t) { + if (e.openElements.tmplCount > 0) + (e.openElements.popUntilTagNamePopped(X.TEMPLATE), + e.activeFormattingElements.clearToLastMarker(), + e.tmplInsertionModeStack.shift(), + e._resetInsertionMode(), + e.onEof(t)); + else Qke(e, t); +} +function nsr(e, t) { + if (t.tagID === X.HTML) bm(e, t); + else Kse(e, t); +} +function OGt(e, t) { + var n; + if (t.tagID === X.HTML) { + if (!e.fragmentContext) e.insertionMode = Ye.AFTER_AFTER_BODY; + if ( + e.options.sourceCodeLocationInfo && + e.openElements.tagIDs[0] === X.HTML + ) { + e._setEndLocation(e.openElements.items[0], t); + let r = e.openElements.items[1]; + if ( + r && + !((n = e.treeAdapter.getNodeSourceCodeLocation(r)) === null || + n === void 0 + ? void 0 + : n.endTag) + ) + e._setEndLocation(r, t); + } + } else Kse(e, t); +} +function Kse(e, t) { + ((e.insertionMode = Ye.IN_BODY), Jse(e, t)); +} +function rsr(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.FRAMESET: { + e._insertElement(t, $t.HTML); + break; + } + case X.FRAME: { + (e._appendElement(t, $t.HTML), (t.ackSelfClosing = !0)); + break; + } + case X.NOFRAMES: { + W2(e, t); + break; + } + default: + } +} +function osr(e, t) { + if (t.tagID === X.FRAMESET && !e.openElements.isRootHtmlElementCurrent()) { + if ( + (e.openElements.pop(), + !e.fragmentContext && e.openElements.currentTagId !== X.FRAMESET) + ) + e.insertionMode = Ye.AFTER_FRAMESET; + } +} +function asr(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.NOFRAMES: { + W2(e, t); + break; + } + default: + } +} +function isr(e, t) { + if (t.tagID === X.HTML) e.insertionMode = Ye.AFTER_AFTER_FRAMESET; +} +function ssr(e, t) { + if (t.tagID === X.HTML) bm(e, t); + else Wse(e, t); +} +function Wse(e, t) { + ((e.insertionMode = Ye.IN_BODY), Jse(e, t)); +} +function lsr(e, t) { + switch (t.tagID) { + case X.HTML: { + bm(e, t); + break; + } + case X.NOFRAMES: { + W2(e, t); + break; + } + default: + } +} +function csr(e, t) { + ((t.chars = Bs), e._insertCharacters(t)); +} +function usr(e, t) { + (e._insertCharacters(t), (e.framesetOk = !1)); +} +function FGt(e) { + while ( + e.treeAdapter.getNamespaceURI(e.openElements.current) !== $t.HTML && + e.openElements.currentTagId !== void 0 && + !e._isIntegrationPoint(e.openElements.currentTagId, e.openElements.current) + ) + e.openElements.pop(); +} +function dsr(e, t) { + if (mGt(t)) (FGt(e), e._startTagOutsideForeignContent(t)); + else { + let n = e._getAdjustedCurrentElement(), + r = e.treeAdapter.getNamespaceURI(n); + if (r === $t.MATHML) zke(t); + else if (r === $t.SVG) (hGt(t), _ke(t)); + if ((Xse(t), t.selfClosing)) e._appendElement(t, r); + else e._insertElement(t, r); + t.ackSelfClosing = !0; + } +} +function psr(e, t) { + if (t.tagID === X.P || t.tagID === X.BR) { + (FGt(e), e._endTagOutsideForeignContent(t)); + return; + } + for (let n = e.openElements.stackTop; n > 0; n--) { + let r = e.openElements.items[n]; + if (e.treeAdapter.getNamespaceURI(r) === $t.HTML) { + e._endTagOutsideForeignContent(t); + break; + } + let o = e.treeAdapter.getTagName(r); + if (o.toLowerCase() === t.tagName) { + ((t.tagName = o), e.openElements.shortenToLength(n)); + break; + } + } +} +var Mar = "hidden", + Dar = 8, + Lar = 3, + Ye, + Bar, + AGt, + vGt, + PGt; +var Wke = P(() => { + Fke(); + rGt(); + aGt(); + Qse(); + pGt(); + Hke(); + MG(); + _se(); + Z3(); + Vse(); + (function (e) { + ((e[(e.INITIAL = 0)] = "INITIAL"), + (e[(e.BEFORE_HTML = 1)] = "BEFORE_HTML"), + (e[(e.BEFORE_HEAD = 2)] = "BEFORE_HEAD"), + (e[(e.IN_HEAD = 3)] = "IN_HEAD"), + (e[(e.IN_HEAD_NO_SCRIPT = 4)] = "IN_HEAD_NO_SCRIPT"), + (e[(e.AFTER_HEAD = 5)] = "AFTER_HEAD"), + (e[(e.IN_BODY = 6)] = "IN_BODY"), + (e[(e.TEXT = 7)] = "TEXT"), + (e[(e.IN_TABLE = 8)] = "IN_TABLE"), + (e[(e.IN_TABLE_TEXT = 9)] = "IN_TABLE_TEXT"), + (e[(e.IN_CAPTION = 10)] = "IN_CAPTION"), + (e[(e.IN_COLUMN_GROUP = 11)] = "IN_COLUMN_GROUP"), + (e[(e.IN_TABLE_BODY = 12)] = "IN_TABLE_BODY"), + (e[(e.IN_ROW = 13)] = "IN_ROW"), + (e[(e.IN_CELL = 14)] = "IN_CELL"), + (e[(e.IN_SELECT = 15)] = "IN_SELECT"), + (e[(e.IN_SELECT_IN_TABLE = 16)] = "IN_SELECT_IN_TABLE"), + (e[(e.IN_TEMPLATE = 17)] = "IN_TEMPLATE"), + (e[(e.AFTER_BODY = 18)] = "AFTER_BODY"), + (e[(e.IN_FRAMESET = 19)] = "IN_FRAMESET"), + (e[(e.AFTER_FRAMESET = 20)] = "AFTER_FRAMESET"), + (e[(e.AFTER_AFTER_BODY = 21)] = "AFTER_AFTER_BODY"), + (e[(e.AFTER_AFTER_FRAMESET = 22)] = "AFTER_AFTER_FRAMESET")); + })(Ye || (Ye = {})); + ((Bar = { + startLine: -1, + startCol: -1, + startOffset: -1, + endLine: -1, + endCol: -1, + endOffset: -1, + }), + (AGt = new Set([X.TABLE, X.TBODY, X.TFOOT, X.THEAD, X.TR])), + (vGt = { + scriptingEnabled: !0, + sourceCodeLocationInfo: !1, + treeAdapter: X2, + onParseError: null, + })); + PGt = new Set([ + X.CAPTION, + X.COL, + X.COLGROUP, + X.TBODY, + X.TD, + X.TFOOT, + X.TH, + X.THEAD, + X.TR, + ]); +}); +var s0a; +var UGt = P(() => { + Z3(); + Qse(); + s0a = new Set([ + gt.AREA, + gt.BASE, + gt.BASEFONT, + gt.BGSOUND, + gt.BR, + gt.COL, + gt.EMBED, + gt.FRAME, + gt.HR, + gt.IMG, + gt.INPUT, + gt.KEYGEN, + gt.LINK, + gt.META, + gt.PARAM, + gt.SOURCE, + gt.TRACK, + gt.WBR, + ]); +}); +var NGt = P(() => { + Wke(); + Qse(); + Wke(); + UGt(); + MG(); + Hke(); + Z3(); + Vse(); + Fke(); +}); +function tle(e, t) { + let n = Csr(e), + r = Fse("type", { + handlers: { + root: hsr, + element: gsr, + text: ysr, + comment: HGt, + doctype: vsr, + raw: xsr, + }, + unknown: Asr, + }), + o = { + parser: n ? new dD(zGt) : dD.getFragmentParser(void 0, zGt), + handle(s) { + r(s, o); + }, + stitches: !1, + options: t || {}, + }; + (r(e, o), pD(o, x0())); + let a = n ? o.parser.document : o.parser.getFragment(), + i = Ike(a, { file: o.options.file }); + if (o.stitches) + V3(i, "comment", function (s, l, c) { + let u = s; + if (u.value.stitch && c && l !== void 0) { + let d = c.children; + return ((d[l] = u.value.stitch), l); + } + }); + if ( + i.type === "root" && + i.children.length === 1 && + i.children[0].type === e.type + ) + return i.children[0]; + return i; +} +function _Gt(e, t) { + let n = -1; + if (e) while (++n < e.length) t.handle(e[n]); +} +function hsr(e, t) { + _Gt(e.children, t); +} +function gsr(e, t) { + (wsr(e, t), _Gt(e.children, t), Ssr(e, t)); +} +function ysr(e, t) { + if (t.parser.tokenizer.state > 4) t.parser.tokenizer.state = 0; + let n = { type: Wo.CHARACTER, chars: e.value, location: GG(e) }; + (pD(t, x0(e)), + (t.parser.currentToken = n), + t.parser._processToken(t.parser.currentToken)); +} +function vsr(e, t) { + let n = { + type: Wo.DOCTYPE, + name: "html", + forceQuirks: !1, + publicId: "", + systemId: "", + location: GG(e), + }; + (pD(t, x0(e)), + (t.parser.currentToken = n), + t.parser._processToken(t.parser.currentToken)); +} +function bsr(e, t) { + t.stitches = !0; + let n = Esr(e); + if ("children" in e && "children" in n) { + let r = tle({ type: "root", children: e.children }, t.options); + n.children = r.children; + } + HGt({ type: "comment", value: { stitch: n } }, t); +} +function HGt(e, t) { + let n = e.value, + r = { type: Wo.COMMENT, data: n, location: GG(e) }; + (pD(t, x0(e)), + (t.parser.currentToken = r), + t.parser._processToken(t.parser.currentToken)); +} +function xsr(e, t) { + if ( + ((t.parser.tokenizer.preprocessor.html = ""), + (t.parser.tokenizer.preprocessor.pos = -1), + (t.parser.tokenizer.preprocessor.lastGapPos = -2), + (t.parser.tokenizer.preprocessor.gapStack = []), + (t.parser.tokenizer.preprocessor.skipNextNewLine = !1), + (t.parser.tokenizer.preprocessor.lastChunkWritten = !1), + (t.parser.tokenizer.preprocessor.endOfChunkHit = !1), + (t.parser.tokenizer.preprocessor.isEol = !1), + VGt(t, x0(e)), + t.parser.tokenizer.write( + t.options.tagfilter ? e.value.replace(fsr, "<$1$2") : e.value, + !1, + ), + t.parser.tokenizer._runParsingLoop(), + t.parser.tokenizer.state === 72 || t.parser.tokenizer.state === 78) + ) { + t.parser.tokenizer.preprocessor.lastChunkWritten = !0; + let n = t.parser.tokenizer._consume(); + t.parser.tokenizer._callState(n); + } +} +function Asr(e, t) { + let n = e; + if (t.options.passThrough && t.options.passThrough.includes(n.type)) + bsr(n, t); + else { + let r = ""; + if (msr.has(n.type)) + r = + ". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"; + throw Error("Cannot compile `" + n.type + "` node" + r); + } +} +function pD(e, t) { + VGt(e, t); + let n = e.parser.tokenizer.currentCharacterToken; + if (n && n.location) + ((n.location.endLine = e.parser.tokenizer.preprocessor.line), + (n.location.endCol = e.parser.tokenizer.preprocessor.col + 1), + (n.location.endOffset = e.parser.tokenizer.preprocessor.offset + 1), + (e.parser.currentToken = n), + e.parser._processToken(e.parser.currentToken)); + ((e.parser.tokenizer.paused = !1), + (e.parser.tokenizer.inLoop = !1), + (e.parser.tokenizer.active = !1), + (e.parser.tokenizer.returnState = gl.DATA), + (e.parser.tokenizer.charRefCode = -1), + (e.parser.tokenizer.consumedAfterSnapshot = -1), + (e.parser.tokenizer.currentLocation = null), + (e.parser.tokenizer.currentCharacterToken = null), + (e.parser.tokenizer.currentToken = null), + (e.parser.tokenizer.currentAttr = { name: "", value: "" })); +} +function VGt(e, t) { + if (t && t.offset !== void 0) { + let n = { + startLine: t.line, + startCol: t.column, + startOffset: t.offset, + endLine: -1, + endCol: -1, + endOffset: -1, + }; + ((e.parser.tokenizer.preprocessor.lineStartPos = -t.column + 1), + (e.parser.tokenizer.preprocessor.droppedBufferSize = t.offset), + (e.parser.tokenizer.preprocessor.line = t.line), + (e.parser.tokenizer.currentLocation = n)); + } +} +function wsr(e, t) { + let n = e.tagName.toLowerCase(); + if (t.parser.tokenizer.state === gl.PLAINTEXT) return; + pD(t, x0(e)); + let r = t.parser.openElements.current, + o = "namespaceURI" in r ? r.namespaceURI : bx.html; + if (o === bx.html && n === "svg") o = bx.svg; + let a = Rke({ ...e, children: [] }, { space: o === bx.svg ? "svg" : "html" }), + i = { + type: Wo.START_TAG, + tagName: n, + tagID: q3(n), + selfClosing: !1, + ackSelfClosing: !1, + attrs: "attrs" in a ? a.attrs : [], + location: GG(e), + }; + ((t.parser.currentToken = i), + t.parser._processToken(t.parser.currentToken), + (t.parser.tokenizer.lastStartTagName = n)); +} +function Ssr(e, t) { + let n = e.tagName.toLowerCase(); + if (!t.parser.tokenizer.inForeignNode && NVt.includes(n)) return; + if (t.parser.tokenizer.state === gl.PLAINTEXT) return; + pD(t, FI(e)); + let r = { + type: Wo.END_TAG, + tagName: n, + tagID: q3(n), + selfClosing: !1, + ackSelfClosing: !1, + attrs: [], + location: GG(e), + }; + if ( + ((t.parser.currentToken = r), + t.parser._processToken(t.parser.currentToken), + n === t.parser.tokenizer.lastStartTagName && + (t.parser.tokenizer.state === gl.RCDATA || + t.parser.tokenizer.state === gl.RAWTEXT || + t.parser.tokenizer.state === gl.SCRIPT_DATA)) + ) + t.parser.tokenizer.state = gl.DATA; +} +function Csr(e) { + let t = e.type === "root" ? e.children[0] : e; + return Boolean( + t && + (t.type === "doctype" || + (t.type === "element" && t.tagName.toLowerCase() === "html")), + ); +} +function GG(e) { + let t = x0(e) || { line: void 0, column: void 0, offset: void 0 }, + n = FI(e) || { line: void 0, column: void 0, offset: void 0 }; + return { + startLine: t.line, + startCol: t.column, + startOffset: t.offset, + endLine: n.line, + endCol: n.column, + endOffset: n.offset, + }; +} +function Esr(e) { + return "children" in e ? H3({ ...e, children: [] }) : H3(e); +} +var fsr, msr, zGt; +var GGt = P(() => { + Ase(); + LVt(); + UVt(); + zVt(); + NGt(); + fG(); + kG(); + Bse(); + kke(); + ((fsr = + /<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi), + (msr = new Set([ + "mdxFlowExpression", + "mdxJsxFlowElement", + "mdxJsxTextElement", + "mdxTextExpression", + "mdxjsEsm", + ])), + (zGt = { sourceCodeLocationInfo: !0, scriptingEnabled: !1 })); +}); +var qGt = P(() => { + GGt(); +}); +function nle(e) { + return function (t, n) { + return tle(t, { ...e, file: n }); + }; +} +var ZGt = P(() => { + qGt(); +}); +var QGt = P(() => { + ZGt(); +}); +function Yke(e, t) { + let n = String(e); + if (typeof t !== "string") throw TypeError("Expected character"); + let r = 0, + o = n.indexOf(t); + while (o !== -1) (r++, (o = n.indexOf(t, o + t.length))); + return r; +} +function Kke(e) { + if (typeof e !== "string") throw TypeError("Expected a string"); + return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d"); +} +function Jke(e, t, n) { + let o = cC((n || {}).ignore || []), + a = Isr(t), + i = -1; + while (++i < a.length) TG(e, "text", s); + function s(c, u) { + let d = -1, + p; + while (++d < u.length) { + let f = u[d], + m = p ? p.children : void 0; + if (o(f, m ? m.indexOf(f) : void 0, p)) return; + p = f; + } + if (p) return l(c, u); + } + function l(c, u) { + let d = u[u.length - 1], + p = a[i][0], + f = a[i][1], + m = 0, + v = d.children.indexOf(c), + y = !1, + x = []; + p.lastIndex = 0; + let A = p.exec(c.value); + while (A) { + let w = A.index, + C = { index: A.index, input: A.input, stack: [...u, c] }, + E = f(...A, C); + if (typeof E === "string") + E = E.length > 0 ? { type: "text", value: E } : void 0; + if (E === !1) p.lastIndex = w + 1; + else { + if (m !== w) x.push({ type: "text", value: c.value.slice(m, w) }); + if (Array.isArray(E)) x.push(...E); + else if (E) x.push(E); + ((m = w + A[0].length), (y = !0)); + } + if (!p.global) break; + A = p.exec(c.value); + } + if (y) { + if (m < c.value.length) x.push({ type: "text", value: c.value.slice(m) }); + d.children.splice(v, 1, ...x); + } else x = [c]; + return v + x.length; + } +} +function Isr(e) { + let t = []; + if (!Array.isArray(e)) + throw TypeError("Expected find and replace tuple or list of tuples"); + let n = !e[0] || Array.isArray(e[0]) ? e : [e], + r = -1; + while (++r < n.length) { + let o = n[r]; + t.push([Tsr(o[0]), ksr(o[1])]); + } + return t; +} +function Tsr(e) { + return typeof e === "string" ? new RegExp(Kke(e), "g") : e; +} +function ksr(e) { + return typeof e === "function" + ? e + : function () { + return e; + }; +} +var XGt = P(() => { + Ise(); + Sse(); +}); +var WGt = P(() => { + XGt(); +}); +function tRe() { + return { + transforms: [Bsr], + enter: { + literalAutolink: Rsr, + literalAutolinkEmail: eRe, + literalAutolinkHttp: eRe, + literalAutolinkWww: eRe, + }, + exit: { + literalAutolink: Lsr, + literalAutolinkEmail: Dsr, + literalAutolinkHttp: Psr, + literalAutolinkWww: Msr, + }, + }; +} +function nRe() { + return { + unsafe: [ + { + character: "@", + before: "[+\\-.\\w]", + after: "[\\-.\\w]", + inConstruct: jke, + notInConstruct: $ke, + }, + { + character: ".", + before: "[Ww]", + after: "[\\-.\\w]", + inConstruct: jke, + notInConstruct: $ke, + }, + { + character: ":", + before: "[ps]", + after: "\\/", + inConstruct: jke, + notInConstruct: $ke, + }, + ], + }; +} +function Rsr(e) { + this.enter({ type: "link", title: null, url: "", children: [] }, e); +} +function eRe(e) { + this.config.enter.autolinkProtocol.call(this, e); +} +function Psr(e) { + this.config.exit.autolinkProtocol.call(this, e); +} +function Msr(e) { + this.config.exit.data.call(this, e); + let t = this.stack[this.stack.length - 1]; + (Za(t.type === "link"), (t.url = "http://" + this.sliceSerialize(e))); +} +function Dsr(e) { + this.config.exit.autolinkEmail.call(this, e); +} +function Lsr(e) { + this.exit(e); +} +function Bsr(e) { + Jke( + e, + [ + [/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi, Osr], + [/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu, Fsr], + ], + { ignore: ["link", "linkReference"] }, + ); +} +function Osr(e, t, n, r, o) { + let a = ""; + if (!YGt(o)) return !1; + if (/^w/i.test(t)) ((n = t + n), (t = ""), (a = "http://")); + if (!Usr(n)) return !1; + let i = Nsr(n + r); + if (!i[0]) return !1; + let s = { + type: "link", + title: null, + url: a + t + i[0], + children: [{ type: "text", value: t + i[0] }], + }; + if (i[1]) return [s, { type: "text", value: i[1] }]; + return s; +} +function Fsr(e, t, n, r) { + if (!YGt(r, !0) || /[-\d_]$/.test(n)) return !1; + return { + type: "link", + title: null, + url: "mailto:" + t + "@" + n, + children: [{ type: "text", value: t + "@" + n }], + }; +} +function Usr(e) { + let t = e.split("."); + if ( + t.length < 2 || + (t[t.length - 1] && + (/_/.test(t[t.length - 1]) || !/[a-zA-Z\d]/.test(t[t.length - 1]))) || + (t[t.length - 2] && + (/_/.test(t[t.length - 2]) || !/[a-zA-Z\d]/.test(t[t.length - 2]))) + ) + return !1; + return !0; +} +function Nsr(e) { + let t = /[!"&'),.:;<>?\]}]+$/.exec(e); + if (!t) return [e, void 0]; + e = e.slice(0, t.index); + let n = t[0], + r = n.indexOf(")"), + o = Yke(e, "("), + a = Yke(e, ")"); + while (r !== -1 && o > a) + ((e += n.slice(0, r + 1)), (n = n.slice(r + 1)), (r = n.indexOf(")")), a++); + return [e, n]; +} +function YGt(e, t) { + let n = e.input.charCodeAt(e.index - 1); + return (e.index === 0 || yx(n) || zI(n)) && (!t || n !== 47); +} +var jke = "phrasing", + $ke; +var KGt = P(() => { + Qa(); + WGt(); + $ke = ["autolink", "link", "image", "label"]; +}); +var JGt = P(() => { + KGt(); +}); +function zsr() { + this.buffer(); +} +function _sr(e) { + this.enter({ type: "footnoteReference", identifier: "", label: "" }, e); +} +function Hsr() { + this.buffer(); +} +function Vsr(e) { + this.enter( + { type: "footnoteDefinition", identifier: "", label: "", children: [] }, + e, + ); +} +function Gsr(e) { + let t = this.resume(), + n = this.stack[this.stack.length - 1]; + (Za(n.type === "footnoteReference"), + (n.identifier = ym(this.sliceSerialize(e)).toLowerCase()), + (n.label = t)); +} +function qsr(e) { + this.exit(e); +} +function Zsr(e) { + let t = this.resume(), + n = this.stack[this.stack.length - 1]; + (Za(n.type === "footnoteDefinition"), + (n.identifier = ym(this.sliceSerialize(e)).toLowerCase()), + (n.label = t)); +} +function Qsr(e) { + this.exit(e); +} +function Xsr() { + return "["; +} +function jGt(e, t, n, r) { + let o = n.createTracker(r), + a = o.move("[^"), + i = n.enter("footnoteReference"), + s = n.enter("reference"); + return ( + (a += o.move(n.safe(n.associationId(e), { after: "]", before: a }))), + s(), + i(), + (a += o.move("]")), + a + ); +} +function rRe() { + return { + enter: { + gfmFootnoteCallString: zsr, + gfmFootnoteCall: _sr, + gfmFootnoteDefinitionLabelString: Hsr, + gfmFootnoteDefinition: Vsr, + }, + exit: { + gfmFootnoteCallString: Gsr, + gfmFootnoteCall: qsr, + gfmFootnoteDefinitionLabelString: Zsr, + gfmFootnoteDefinition: Qsr, + }, + }; +} +function oRe(e) { + let t = !1; + if (e && e.firstLineBlank) t = !0; + return { + handlers: { footnoteDefinition: n, footnoteReference: jGt }, + unsafe: [ + { character: "[", inConstruct: ["label", "phrasing", "reference"] }, + ], + }; + function n(r, o, a, i) { + let s = a.createTracker(i), + l = s.move("[^"), + c = a.enter("footnoteDefinition"), + u = a.enter("label"); + if ( + ((l += s.move(a.safe(a.associationId(r), { before: l, after: "]" }))), + u(), + (l += s.move("]:")), + r.children && r.children.length > 0) + ) + (s.shift(4), + (l += s.move( + (t + ? ` +` + : " ") + + a.indentLines(a.containerFlow(r, s.current()), t ? $Gt : Wsr), + ))); + return (c(), l); + } +} +function Wsr(e, t, n) { + return t === 0 ? e : $Gt(e, t, n); +} +function $Gt(e, t, n) { + return (n ? "" : " ") + e; +} +var eqt = P(() => { + jGt.peek = Xsr; +}); +var tqt = P(() => { + eqt(); +}); +function aRe() { + return { + canContainEols: ["delete"], + enter: { strikethrough: Ksr }, + exit: { strikethrough: Jsr }, + }; +} +function iRe() { + return { + handlers: { delete: sRe }, + unsafe: [{ character: "~", inConstruct: "phrasing", notInConstruct: Ysr }], + }; +} +function Ksr(e) { + this.enter({ type: "delete", children: [], position: void 0 }, e); +} +function Jsr(e) { + this.exit(e); +} +function sRe(e, t, n, r) { + let o = n.createTracker(r), + a = n.stack.includes("strikethrough") ? "~" : "~~", + i = n.enter("strikethrough"), + s = o.move(a); + return ( + (s += n.containerPhrasing(e, { ...o.current(), before: s, after: "~" })), + (s += o.move(a)), + i(), + s + ); +} +function jsr() { + return { construct: "strikethrough", markers: ["~"], sizes: [2, 1] }; +} +function $sr() { + return "~"; +} +var Ysr; +var nqt = P(() => { + Ysr = [ + "autolink", + "destinationLiteral", + "destinationRaw", + "reference", + "titleQuote", + "titleApostrophe", + ]; + sRe.attention = jsr; + sRe.peek = $sr; +}); +var rqt = P(() => { + nqt(); +}); +function elr(e) { + return e.length; +} +function aqt(e, t) { + let n = t || {}, + r = (n.align || []).concat(), + o = n.stringLength || elr, + a = [], + i = [], + s = [], + l = [], + c = 0, + u = -1; + while (++u < e.length) { + let g = [], + v = [], + y = -1; + if (e[u].length > c) c = e[u].length; + while (++y < e[u].length) { + let x = tlr(e[u][y]); + if (n.alignDelimiters !== !1) { + let A = o(x); + if (((v[y] = A), l[y] === void 0 || A > l[y])) l[y] = A; + } + g.push(x); + } + ((i[u] = g), (s[u] = v)); + } + let d = -1; + if (typeof r === "object" && "length" in r) while (++d < c) a[d] = oqt(r[d]); + else { + let g = oqt(r); + while (++d < c) a[d] = g; + } + d = -1; + let p = [], + f = []; + while (++d < c) { + let g = a[d], + v = "", + y = ""; + if (g === 99) ((v = ":"), (y = ":")); + else if (g === 108) v = ":"; + else if (g === 114) y = ":"; + let x = + n.alignDelimiters === !1 ? 1 : Math.max(1, l[d] - v.length - y.length), + A = v + "-".repeat(x) + y; + if (n.alignDelimiters !== !1) { + if (((x = v.length + x + y.length), x > l[d])) l[d] = x; + f[d] = x; + } + p[d] = A; + } + (i.splice(1, 0, p), s.splice(1, 0, f), (u = -1)); + let m = []; + while (++u < i.length) { + let g = i[u], + v = s[u]; + d = -1; + let y = []; + while (++d < c) { + let x = g[d] || "", + A = "", + w = ""; + if (n.alignDelimiters !== !1) { + let C = l[d] - (v[d] || 0), + E = a[d]; + if (E === 114) A = " ".repeat(C); + else if (E === 99) + if (C % 2) + ((A = " ".repeat(C / 2 + 0.5)), (w = " ".repeat(C / 2 - 0.5))); + else ((A = " ".repeat(C / 2)), (w = A)); + else w = " ".repeat(C); + } + if (n.delimiterStart !== !1 && !d) y.push("|"); + if ( + n.padding !== !1 && + !(n.alignDelimiters === !1 && x === "") && + (n.delimiterStart !== !1 || d) + ) + y.push(" "); + if (n.alignDelimiters !== !1) y.push(A); + if ((y.push(x), n.alignDelimiters !== !1)) y.push(w); + if (n.padding !== !1) y.push(" "); + if (n.delimiterEnd !== !1 || d !== c - 1) y.push("|"); + } + m.push(n.delimiterEnd === !1 ? y.join("").replace(/ +$/, "") : y.join("")); + } + return m.join(` +`); +} +function tlr(e) { + return e === null || e === void 0 ? "" : String(e); +} +function oqt(e) { + let t = typeof e === "string" ? e.codePointAt(0) : 0; + return t === 67 || t === 99 + ? 99 + : t === 76 || t === 108 + ? 108 + : t === 82 || t === 114 + ? 114 + : 0; +} +function iqt(e, t, n, r) { + let o = n.enter("blockquote"), + a = n.createTracker(r); + (a.move("> "), a.shift(2)); + let i = n.indentLines(n.containerFlow(e, a.current()), nlr); + return (o(), i); +} +function nlr(e, t, n) { + return ">" + (n ? "" : " ") + e; +} +function lqt(e, t) { + return sqt(e, t.inConstruct, !0) && !sqt(e, t.notInConstruct, !1); +} +function sqt(e, t, n) { + if (typeof t === "string") t = [t]; + if (!t || t.length === 0) return n; + let r = -1; + while (++r < t.length) if (e.includes(t[r])) return !0; + return !1; +} +function lRe(e, t, n, r) { + let o = -1; + while (++o < n.unsafe.length) { + let a = n.unsafe[o]; + if ( + a.character === + ` +` && + !a.before && + !a.after && + lqt(n.stack, a) + ) + return /[\t ]/.test(r.before) ? "" : " "; + } + return "\\\n"; +} +var cqt = () => {}; +function uqt(e, t) { + let n = String(e), + r = n.indexOf(t), + o = r, + a = 0, + i = 0; + if (typeof t !== "string") throw TypeError("Expected substring"); + while (r !== -1) { + if (r === o) { + if (++a > i) i = a; + } else a = 1; + ((o = r + t.length), (r = n.indexOf(t, o))); + } + return i; +} +function dqt(e, t) { + return Boolean( + t.options.fences === !1 && + e.value && + !e.lang && + /[^\n\r ]/.test(e.value) && + !/^[\t ]*(?:[\n\r]|$)|(?:^|[\n\r])[\t ]*$/.test(e.value), + ); +} +function pqt(e) { + let t = e.options.fence || "`"; + if (t !== "`" && t !== "~") + throw Error( + "Cannot serialize code with `" + + t + + "` for `options.fence`, expected `` ` `` or `~`", + ); + return t; +} +function fqt(e, t, n, r) { + let o = pqt(n), + a = e.value || ""; + if (dqt(e, n)) { + let d = n.enter("codeIndented"), + p = n.indentLines(a, rlr); + return (d(), p); + } + let i = n.createTracker(r), + s = o.repeat(Math.max(uqt(a, o) + 1, 3)), + l = n.enter("codeFenced"), + c = o === "`" ? "GraveAccent" : "Tilde", + u = i.move(s); + if (e.lang) { + let d = n.enter(`codeFencedLang${c}`); + ((u += i.move( + n.safe(e.lang, { before: u, after: " ", encode: ["`"], ...i.current() }), + )), + d()); + } + if (e.lang && e.meta) { + let d = n.enter(`codeFencedMeta${c}`); + ((u += i.move(" ")), + (u += i.move( + n.safe(e.meta, { + before: u, + after: ` +`, + encode: ["`"], + ...i.current(), + }), + )), + d()); + } + if ( + ((u += i.move(` +`)), + a) + ) + u += i.move( + a + + ` +`, + ); + return ((u += i.move(s)), l(), u); +} +function rlr(e, t, n) { + return (n ? "" : " ") + e; +} +var mqt = () => {}; +function fD(e) { + let t = e.options.quote || '"'; + if (t !== '"' && t !== "'") + throw Error( + "Cannot serialize title with `" + + t + + "` for `options.quote`, expected `\"`, or `'`", + ); + return t; +} +function hqt(e, t, n, r) { + let o = fD(n), + a = o === '"' ? "Quote" : "Apostrophe", + i = n.enter("definition"), + s = n.enter("label"), + l = n.createTracker(r), + c = l.move("["); + if ( + ((c += l.move( + n.safe(n.associationId(e), { before: c, after: "]", ...l.current() }), + )), + (c += l.move("]: ")), + s(), + !e.url || /[\0- \u007F]/.test(e.url)) + ) + ((s = n.enter("destinationLiteral")), + (c += l.move("<")), + (c += l.move(n.safe(e.url, { before: c, after: ">", ...l.current() }))), + (c += l.move(">"))); + else + ((s = n.enter("destinationRaw")), + (c += l.move( + n.safe(e.url, { + before: c, + after: e.title + ? " " + : ` +`, + ...l.current(), + }), + ))); + if ((s(), e.title)) + ((s = n.enter(`title${a}`)), + (c += l.move(" " + o)), + (c += l.move(n.safe(e.title, { before: c, after: o, ...l.current() }))), + (c += l.move(o)), + s()); + return (i(), c); +} +var gqt = () => {}; +function yqt(e) { + let t = e.options.emphasis || "*"; + if (t !== "*" && t !== "_") + throw Error( + "Cannot serialize emphasis with `" + + t + + "` for `options.emphasis`, expected `*`, or `_`", + ); + return t; +} +function rle(e, t, n, r) { + let o = n.enter("phrasing"), + a = n.containerPhrasing({ type: "root", children: [e] }, r); + return (o(), a); +} +function olr(e, t) { + return { + construct: "emphasis", + markers: yqt(t) === "*" ? ["*", "_"] : ["_", "*"], + sizes: [1], + }; +} +function alr(e, t, n) { + return n.options.emphasis || "*"; +} +var vqt = P(() => { + rle.attention = olr; + rle.peek = alr; +}); +function bqt(e) { + return "&#x" + e.toString(16).toUpperCase() + ";"; +} +function xqt(e, t) { + let n = !1; + return ( + V3(e, function (r) { + if (("value" in r && /\r?\n|\r/.test(r.value)) || r.type === "break") + return ((n = !0), QI); + }), + Boolean((!e.depth || e.depth < 3) && UI(e) && (t.options.setext || n)) + ); +} +var Aqt = P(() => { + kG(); + ese(); +}); +function wqt(e, t, n, r) { + let o = Math.max(Math.min(6, e.depth || 1), 1), + a = n.createTracker(r); + if (xqt(e, n)) { + let d = n.enter("headingSetext"), + p = n.enter("phrasing"), + f = n.containerPhrasing(e, { + ...a.current(), + before: ` +`, + after: ` +`, + }); + return ( + p(), + d(), + f + + ` +` + + (o === 1 ? "=" : "-").repeat( + f.length - + (Math.max( + f.lastIndexOf("\r"), + f.lastIndexOf(` +`), + ) + + 1), + ) + ); + } + let i = "#".repeat(o), + s = n.enter("headingAtx"), + l = n.enter("phrasing"); + a.move(i + " "); + let c = n.containerPhrasing(e, { + before: "# ", + after: ` +`, + ...a.current(), + }), + u = c.charCodeAt(0); + if (u === 9 || u === 32) c = bqt(u) + c.slice(1); + if (((c = c ? i + " " + c : i), n.options.closeAtx)) c += " " + i; + return (l(), s(), c); +} +var Sqt = P(() => { + Aqt(); +}); +function cRe(e) { + return e.value || ""; +} +function ilr() { + return "<"; +} +var Cqt = P(() => { + cRe.peek = ilr; +}); +function uRe(e, t, n, r) { + let o = fD(n), + a = o === '"' ? "Quote" : "Apostrophe", + i = n.enter("image"), + s = n.enter("label"), + l = n.createTracker(r), + c = l.move("!["); + if ( + ((c += l.move(n.safe(e.alt, { before: c, after: "]", ...l.current() }))), + (c += l.move("](")), + s(), + (!e.url && e.title) || /[\0- \u007F]/.test(e.url)) + ) + ((s = n.enter("destinationLiteral")), + (c += l.move("<")), + (c += l.move(n.safe(e.url, { before: c, after: ">", ...l.current() }))), + (c += l.move(">"))); + else + ((s = n.enter("destinationRaw")), + (c += l.move( + n.safe(e.url, { + before: c, + after: e.title ? " " : ")", + ...l.current(), + }), + ))); + if ((s(), e.title)) + ((s = n.enter(`title${a}`)), + (c += l.move(" " + o)), + (c += l.move(n.safe(e.title, { before: c, after: o, ...l.current() }))), + (c += l.move(o)), + s()); + return ((c += l.move(")")), i(), c); +} +function slr() { + return "!"; +} +var Eqt = P(() => { + uRe.peek = slr; +}); +function dRe(e, t, n, r) { + let o = e.referenceType, + a = n.enter("imageReference"), + i = n.enter("label"), + s = n.createTracker(r), + l = s.move("!["), + c = n.safe(e.alt, { before: l, after: "]", ...s.current() }); + ((l += s.move(c + "][")), i()); + let u = n.stack; + ((n.stack = u.filter(function (p) { + return p !== "phrasing"; + })), + (i = n.enter("reference"))); + let d = n.safe(n.associationId(e), { before: l, after: "]", ...s.current() }); + if ((i(), (n.stack = u), a(), o === "full" || !c || c !== d)) + l += s.move(d + "]"); + else if (o === "shortcut") l = l.slice(0, -1); + else l += s.move("]"); + return l; +} +function llr() { + return "!"; +} +var Iqt = P(() => { + dRe.peek = llr; +}); +function pRe(e, t, n) { + let r = e.value || "", + o = "`", + a = -1; + while (new RegExp("(^|[^`])" + o + "([^`]|$)").test(r)) o += "`"; + if ( + /[^\n\r ]/.test(r) && + ((/^[\n\r ]/.test(r) && /[\n\r ]$/.test(r)) || /^`|`$/.test(r)) + ) + r = " " + r + " "; + while (++a < n.unsafe.length) { + let i = n.unsafe[a], + s = n.compilePattern(i); + if (!i.atBreak) continue; + let l; + while ((l = s.exec(r))) { + let c = l.index; + if (r.charCodeAt(c) === 10 && r.charCodeAt(c - 1) === 13) c--; + r = r.slice(0, c) + " " + r.slice(l.index + 1); + } + } + return o + r + o; +} +function clr() { + return "`"; +} +var Tqt = P(() => { + pRe.peek = clr; +}); +function fRe(e, t) { + let n = UI(e); + return Boolean( + !t.options.resourceLink && + e.url && + !e.title && + e.children && + e.children.length === 1 && + e.children[0].type === "text" && + (n === e.url || "mailto:" + n === e.url) && + /^[a-z][+\-.a-z]+:/i.test(e.url) && + !/[\0- <>\u007F]/.test(e.url), + ); +} +var kqt = P(() => { + ese(); +}); +function mRe(e, t, n, r) { + let o = fD(n), + a = o === '"' ? "Quote" : "Apostrophe", + i = n.createTracker(r); + if (fRe(e, n)) { + let u = n.stack; + n.stack = u.filter(function (f) { + return f !== "phrasing"; + }); + let d = n.enter("autolink"), + p = i.move("<"); + return ( + (p += i.move( + n.containerPhrasing(e, { before: p, after: ">", ...i.current() }), + )), + (p += i.move(">")), + d(), + (n.stack = u), + p + ); + } + let s = n.enter("link"), + l = n.enter("label"), + c = i.move("["); + if ( + ((c += i.move( + n.containerPhrasing(e, { before: c, after: "](", ...i.current() }), + )), + (c += i.move("](")), + l(), + (!e.url && e.title) || /[\0- \u007F]/.test(e.url)) + ) + ((l = n.enter("destinationLiteral")), + (c += i.move("<")), + (c += i.move(n.safe(e.url, { before: c, after: ">", ...i.current() }))), + (c += i.move(">"))); + else + ((l = n.enter("destinationRaw")), + (c += i.move( + n.safe(e.url, { + before: c, + after: e.title ? " " : ")", + ...i.current(), + }), + ))); + if ((l(), e.title)) + ((l = n.enter(`title${a}`)), + (c += i.move(" " + o)), + (c += i.move(n.safe(e.title, { before: c, after: o, ...i.current() }))), + (c += i.move(o)), + l()); + return ((c += i.move(")")), s(), c); +} +function ulr(e, t, n) { + return fRe(e, n) ? "<" : "["; +} +var Rqt = P(() => { + kqt(); + mRe.peek = ulr; +}); +function hRe(e, t, n, r) { + let o = e.referenceType, + a = n.enter("linkReference"), + i = n.enter("label"), + s = n.createTracker(r), + l = s.move("["), + c = n.containerPhrasing(e, { before: l, after: "]", ...s.current() }); + ((l += s.move(c + "][")), i()); + let u = n.stack; + ((n.stack = u.filter(function (p) { + return p !== "phrasing"; + })), + (i = n.enter("reference"))); + let d = n.safe(n.associationId(e), { before: l, after: "]", ...s.current() }); + if ((i(), (n.stack = u), a(), o === "full" || !c || c !== d)) + l += s.move(d + "]"); + else if (o === "shortcut") l = l.slice(0, -1); + else l += s.move("]"); + return l; +} +function dlr() { + return "["; +} +var Pqt = P(() => { + hRe.peek = dlr; +}); +function mD(e) { + let t = e.options.bullet || "*"; + if (t !== "*" && t !== "+" && t !== "-") + throw Error( + "Cannot serialize items with `" + + t + + "` for `options.bullet`, expected `*`, `+`, or `-`", + ); + return t; +} +function Mqt(e) { + let t = mD(e), + n = e.options.bulletOther; + if (!n) return t === "*" ? "-" : "*"; + if (n !== "*" && n !== "+" && n !== "-") + throw Error( + "Cannot serialize items with `" + + n + + "` for `options.bulletOther`, expected `*`, `+`, or `-`", + ); + if (n === t) + throw Error( + "Expected `bullet` (`" + + t + + "`) and `bulletOther` (`" + + n + + "`) to be different", + ); + return n; +} +var Dqt = () => {}; +function Lqt(e) { + let t = e.options.bulletOrdered || "."; + if (t !== "." && t !== ")") + throw Error( + "Cannot serialize items with `" + + t + + "` for `options.bulletOrdered`, expected `.` or `)`", + ); + return t; +} +function ole(e) { + let t = e.options.rule || "*"; + if (t !== "*" && t !== "-" && t !== "_") + throw Error( + "Cannot serialize rules with `" + + t + + "` for `options.rule`, expected `*`, `-`, or `_`", + ); + return t; +} +function Bqt(e, t, n, r) { + let o = n.enter("list"), + a = n.bulletCurrent, + i = e.ordered ? Lqt(n) : mD(n), + s = e.ordered ? (i === "." ? ")" : ".") : Mqt(n), + l = t && n.bulletLastUsed ? i === n.bulletLastUsed : !1; + if (!e.ordered) { + let u = e.children ? e.children[0] : void 0; + if ( + (i === "*" || i === "-") && + u && + (!u.children || !u.children[0]) && + n.stack[n.stack.length - 1] === "list" && + n.stack[n.stack.length - 2] === "listItem" && + n.stack[n.stack.length - 3] === "list" && + n.stack[n.stack.length - 4] === "listItem" && + n.indexStack[n.indexStack.length - 1] === 0 && + n.indexStack[n.indexStack.length - 2] === 0 && + n.indexStack[n.indexStack.length - 3] === 0 + ) + l = !0; + if (ole(n) === i && u) { + let d = -1; + while (++d < e.children.length) { + let p = e.children[d]; + if ( + p && + p.type === "listItem" && + p.children && + p.children[0] && + p.children[0].type === "thematicBreak" + ) { + l = !0; + break; + } + } + } + } + if (l) i = s; + n.bulletCurrent = i; + let c = n.containerFlow(e, r); + return ((n.bulletLastUsed = i), (n.bulletCurrent = a), o(), c); +} +var Oqt = P(() => { + Dqt(); +}); +function Fqt(e) { + let t = e.options.listItemIndent || "one"; + if (t !== "tab" && t !== "one" && t !== "mixed") + throw Error( + "Cannot serialize items with `" + + t + + "` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`", + ); + return t; +} +function Uqt(e, t, n, r) { + let o = Fqt(n), + a = n.bulletCurrent || mD(n); + if (t && t.type === "list" && t.ordered) + a = + (typeof t.start === "number" && t.start > -1 ? t.start : 1) + + (n.options.incrementListMarker === !1 ? 0 : t.children.indexOf(e)) + + a; + let i = a.length + 1; + if ( + o === "tab" || + (o === "mixed" && ((t && t.type === "list" && t.spread) || e.spread)) + ) + i = Math.ceil(i / 4) * 4; + let s = n.createTracker(r); + (s.move(a + " ".repeat(i - a.length)), s.shift(i)); + let l = n.enter("listItem"), + c = n.indentLines(n.containerFlow(e, s.current()), u); + return (l(), c); + function u(d, p, f) { + if (p) return (f ? "" : " ".repeat(i)) + d; + return (f ? a : a + " ".repeat(i - a.length)) + d; + } +} +var Nqt = () => {}; +function zqt(e, t, n, r) { + let o = n.enter("paragraph"), + a = n.enter("phrasing"), + i = n.containerPhrasing(e, r); + return (a(), o(), i); +} +var gRe; +var _qt = P(() => { + Sse(); + gRe = cC([ + "break", + "delete", + "emphasis", + "footnote", + "footnoteReference", + "image", + "imageReference", + "inlineCode", + "inlineMath", + "link", + "linkReference", + "mdxJsxTextElement", + "mdxTextExpression", + "strong", + "text", + "textDirective", + ]); +}); +var Hqt = P(() => { + _qt(); +}); +function Vqt(e, t, n, r) { + if ( + !e.children.some(function (s) { + return gRe(s); + }) + ) + return n.containerFlow(e, r); + let a = n.enter("phrasing"), + i = n.containerPhrasing(e, r); + return (a(), i); +} +var Gqt = P(() => { + Hqt(); +}); +function qqt(e) { + let t = e.options.strong || "*"; + if (t !== "*" && t !== "_") + throw Error( + "Cannot serialize strong with `" + + t + + "` for `options.strong`, expected `*`, or `_`", + ); + return t; +} +function ale(e, t, n, r) { + let o = n.enter("phrasing"), + a = n.containerPhrasing({ type: "root", children: [e] }, r); + return (o(), a); +} +function plr(e, t) { + return { + construct: "strong", + markers: qqt(t) === "*" ? ["*", "_"] : ["_", "*"], + sizes: [2], + }; +} +function flr(e, t, n) { + return n.options.strong || "*"; +} +var Zqt = P(() => { + ale.attention = plr; + ale.peek = flr; +}); +function Qqt(e, t, n, r) { + return n.safe(e.value, r); +} +function Xqt(e) { + let t = e.options.ruleRepetition || 3; + if (t < 3) + throw Error( + "Cannot serialize rules with repetition `" + + t + + "` for `options.ruleRepetition`, expected `3` or more", + ); + return t; +} +function Wqt(e, t, n) { + let r = (ole(n) + (n.options.ruleSpaces ? " " : "")).repeat(Xqt(n)); + return n.options.ruleSpaces ? r.slice(0, -1) : r; +} +var Yqt = () => {}; +var qG; +var Kqt = P(() => { + cqt(); + mqt(); + gqt(); + vqt(); + Sqt(); + Cqt(); + Eqt(); + Iqt(); + Tqt(); + Rqt(); + Pqt(); + Oqt(); + Nqt(); + Gqt(); + Zqt(); + Yqt(); + qG = { + blockquote: iqt, + break: lRe, + code: fqt, + definition: hqt, + emphasis: rle, + hardBreak: lRe, + heading: wqt, + html: cRe, + image: uRe, + imageReference: dRe, + inlineCode: pRe, + link: mRe, + linkReference: hRe, + list: Bqt, + listItem: Uqt, + paragraph: zqt, + root: Vqt, + strong: ale, + text: Qqt, + thematicBreak: Wqt, + }; +}); +var yRe = P(() => { + Kqt(); +}); +function bRe() { + return { + enter: { table: mlr, tableData: Jqt, tableHeader: Jqt, tableRow: glr }, + exit: { + codeText: ylr, + table: hlr, + tableData: vRe, + tableHeader: vRe, + tableRow: vRe, + }, + }; +} +function mlr(e) { + let t = e._align; + (Za(t, "expected `_align` on table"), + this.enter( + { + type: "table", + align: t.map(function (n) { + return n === "none" ? null : n; + }), + children: [], + }, + e, + ), + (this.data.inTable = !0)); +} +function hlr(e) { + (this.exit(e), (this.data.inTable = void 0)); +} +function glr(e) { + this.enter({ type: "tableRow", children: [] }, e); +} +function vRe(e) { + this.exit(e); +} +function Jqt(e) { + this.enter({ type: "tableCell", children: [] }, e); +} +function ylr(e) { + let t = this.resume(); + if (this.data.inTable) t = t.replace(/\\([\\|])/g, vlr); + let n = this.stack[this.stack.length - 1]; + (Za(n.type === "inlineCode"), (n.value = t), this.exit(e)); +} +function vlr(e, t) { + return t === "|" ? t : e; +} +function xRe(e) { + let t = e || {}, + { tableCellPadding: n, tablePipeAlign: r, stringLength: o } = t, + a = n ? " " : "|"; + return { + unsafe: [ + { character: "\r", inConstruct: "tableCell" }, + { + character: ` +`, + inConstruct: "tableCell", + }, + { atBreak: !0, character: "|", after: "[\t :-]" }, + { character: "|", inConstruct: "tableCell" }, + { atBreak: !0, character: ":", after: "-" }, + { atBreak: !0, character: "-", after: "[:|-]" }, + ], + handlers: { inlineCode: p, table: i, tableCell: l, tableRow: s }, + }; + function i(f, m, g, v) { + return c(u(f, g, v), f.align); + } + function s(f, m, g, v) { + let y = d(f, g, v), + x = c([y]); + return x.slice( + 0, + x.indexOf(` +`), + ); + } + function l(f, m, g, v) { + let y = g.enter("tableCell"), + x = g.enter("phrasing"), + A = g.containerPhrasing(f, { ...v, before: a, after: a }); + return (x(), y(), A); + } + function c(f, m) { + return aqt(f, { + align: m, + alignDelimiters: r, + padding: n, + stringLength: o, + }); + } + function u(f, m, g) { + let v = f.children, + y = -1, + x = [], + A = m.enter("table"); + while (++y < v.length) x[y] = d(v[y], m, g); + return (A(), x); + } + function d(f, m, g) { + let v = f.children, + y = -1, + x = [], + A = m.enter("tableRow"); + while (++y < v.length) x[y] = l(v[y], f, m, g); + return (A(), x); + } + function p(f, m, g) { + let v = qG.inlineCode(f, m, g); + if (g.stack.includes("tableCell")) v = v.replace(/\|/g, "\\$&"); + return v; + } +} +var jqt = P(() => { + yRe(); +}); +var $qt = P(() => { + jqt(); +}); +function ARe() { + return { + exit: { + taskListCheckValueChecked: eZt, + taskListCheckValueUnchecked: eZt, + paragraph: blr, + }, + }; +} +function wRe() { + return { + unsafe: [{ atBreak: !0, character: "-", after: "[:|-]" }], + handlers: { listItem: xlr }, + }; +} +function eZt(e) { + let t = this.stack[this.stack.length - 2]; + (Za(t.type === "listItem"), + (t.checked = e.type === "taskListCheckValueChecked")); +} +function blr(e) { + let t = this.stack[this.stack.length - 2]; + if (t && t.type === "listItem" && typeof t.checked === "boolean") { + let n = this.stack[this.stack.length - 1]; + Za(n.type === "paragraph"); + let r = n.children[0]; + if (r && r.type === "text") { + let o = t.children, + a = -1, + i; + while (++a < o.length) { + let s = o[a]; + if (s.type === "paragraph") { + i = s; + break; + } + } + if (i === n) { + if (((r.value = r.value.slice(1)), r.value.length === 0)) + n.children.shift(); + else if ( + n.position && + r.position && + typeof r.position.start.offset === "number" + ) + (r.position.start.column++, + r.position.start.offset++, + (n.position.start = Object.assign({}, r.position.start))); + } + } + } + this.exit(e); +} +function xlr(e, t, n, r) { + let o = e.children[0], + a = typeof e.checked === "boolean" && o && o.type === "paragraph", + i = "[" + (e.checked ? "x" : " ") + "] ", + s = n.createTracker(r); + if (a) s.move(i); + let l = qG.listItem(e, t, n, { ...r, ...s.current() }); + if (a) l = l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/, c); + return l; + function c(u) { + return u + i; + } +} +var tZt = P(() => { + yRe(); +}); +var nZt = P(() => { + tZt(); +}); +function SRe() { + return [tRe(), rRe(), aRe(), bRe(), ARe()]; +} +function CRe(e) { + return { extensions: [nRe(), oRe(e), iRe(), xRe(e), wRe()] }; +} +var rZt = P(() => { + JGt(); + tqt(); + rqt(); + $qt(); + nZt(); +}); +var oZt = P(() => { + rZt(); +}); +function IRe() { + return { text: Ax }; +} +function Slr(e, t, n) { + let r = this, + o, + a; + return i; + function i(d) { + if (!ERe(d) || !pZt.call(r, r.previous) || TRe(r.events)) return n(d); + return (e.enter("literalAutolink"), e.enter("literalAutolinkEmail"), s(d)); + } + function s(d) { + if (ERe(d)) return (e.consume(d), s); + if (d === 64) return (e.consume(d), l); + return n(d); + } + function l(d) { + if (d === 46) return e.check(wlr, u, c)(d); + if (d === 45 || d === 95 || dc(d)) return ((a = !0), e.consume(d), l); + return u(d); + } + function c(d) { + return (e.consume(d), (o = !0), l); + } + function u(d) { + if (a && o && Wd(r.previous)) + return (e.exit("literalAutolinkEmail"), e.exit("literalAutolink"), t(d)); + return n(d); + } +} +function Clr(e, t, n) { + let r = this; + return o; + function o(i) { + if ((i !== 87 && i !== 119) || !uZt.call(r, r.previous) || TRe(r.events)) + return n(i); + return ( + e.enter("literalAutolink"), + e.enter("literalAutolinkWww"), + e.check(Alr, e.attempt(aZt, e.attempt(iZt, a), n), n)(i) + ); + } + function a(i) { + return (e.exit("literalAutolinkWww"), e.exit("literalAutolink"), t(i)); + } +} +function Elr(e, t, n) { + let r = this, + o = "", + a = !1; + return i; + function i(d) { + if ((d === 72 || d === 104) && dZt.call(r, r.previous) && !TRe(r.events)) + return ( + e.enter("literalAutolink"), + e.enter("literalAutolinkHttp"), + (o += String.fromCodePoint(d)), + e.consume(d), + s + ); + return n(d); + } + function s(d) { + if (Wd(d) && o.length < 5) + return ((o += String.fromCodePoint(d)), e.consume(d), s); + if (d === 58) { + let p = o.toLowerCase(); + if (p === "http" || p === "https") return (e.consume(d), l); + } + return n(d); + } + function l(d) { + if (d === 47) { + if ((e.consume(d), a)) return c; + return ((a = !0), l); + } + return n(d); + } + function c(d) { + return d === null || NI(d) || ma(d) || yx(d) || zI(d) + ? n(d) + : e.attempt(aZt, e.attempt(iZt, u), n)(d); + } + function u(d) { + return (e.exit("literalAutolinkHttp"), e.exit("literalAutolink"), t(d)); + } +} +function Ilr(e, t, n) { + let r = 0; + return o; + function o(i) { + if ((i === 87 || i === 119) && r < 3) return (r++, e.consume(i), o); + if (i === 46 && r === 3) return (e.consume(i), a); + return n(i); + } + function a(i) { + return i === null ? n(i) : t(i); + } +} +function Tlr(e, t, n) { + let r, o, a; + return i; + function i(c) { + if (c === 46 || c === 95) return e.check(sZt, l, s)(c); + if (c === null || ma(c) || yx(c) || (c !== 45 && zI(c))) return l(c); + return ((a = !0), e.consume(c), i); + } + function s(c) { + if (c === 95) r = !0; + else ((o = r), (r = void 0)); + return (e.consume(c), i); + } + function l(c) { + if (o || r || !a) return n(c); + return t(c); + } +} +function klr(e, t) { + let n = 0, + r = 0; + return o; + function o(i) { + if (i === 40) return (n++, e.consume(i), o); + if (i === 41 && r < n) return a(i); + if ( + i === 33 || + i === 34 || + i === 38 || + i === 39 || + i === 41 || + i === 42 || + i === 44 || + i === 46 || + i === 58 || + i === 59 || + i === 60 || + i === 63 || + i === 93 || + i === 95 || + i === 126 + ) + return e.check(sZt, t, a)(i); + if (i === null || ma(i) || yx(i)) return t(i); + return (e.consume(i), o); + } + function a(i) { + if (i === 41) r++; + return (e.consume(i), o); + } +} +function Rlr(e, t, n) { + return r; + function r(s) { + if ( + s === 33 || + s === 34 || + s === 39 || + s === 41 || + s === 42 || + s === 44 || + s === 46 || + s === 58 || + s === 59 || + s === 63 || + s === 95 || + s === 126 + ) + return (e.consume(s), r); + if (s === 38) return (e.consume(s), a); + if (s === 93) return (e.consume(s), o); + if (s === 60 || s === null || ma(s) || yx(s)) return t(s); + return n(s); + } + function o(s) { + if (s === null || s === 40 || s === 91 || ma(s) || yx(s)) return t(s); + return r(s); + } + function a(s) { + return Wd(s) ? i(s) : n(s); + } + function i(s) { + if (s === 59) return (e.consume(s), r); + if (Wd(s)) return (e.consume(s), i); + return n(s); + } +} +function Plr(e, t, n) { + return r; + function r(a) { + return (e.consume(a), o); + } + function o(a) { + return dc(a) ? n(a) : t(a); + } +} +function uZt(e) { + return ( + e === null || + e === 40 || + e === 42 || + e === 95 || + e === 91 || + e === 93 || + e === 126 || + ma(e) + ); +} +function dZt(e) { + return !Wd(e); +} +function pZt(e) { + return !(e === 47 || ERe(e)); +} +function ERe(e) { + return e === 43 || e === 45 || e === 46 || e === 95 || dc(e); +} +function TRe(e) { + let t = e.length, + n = !1; + while (t--) { + let r = e[t][1]; + if ((r.type === "labelLink" || r.type === "labelImage") && !r._balanced) { + n = !0; + break; + } + if (r._gfmAutolinkLiteralWalkedInto) { + n = !1; + break; + } + } + if (e.length > 0 && !n) e[e.length - 1][1]._gfmAutolinkLiteralWalkedInto = !0; + return n; +} +var Alr, + aZt, + iZt, + sZt, + wlr, + lZt, + cZt, + Q3, + Ax, + WI = 48; +var fZt = P(() => { + Qa(); + ((Alr = { tokenize: Ilr, partial: !0 }), + (aZt = { tokenize: Tlr, partial: !0 }), + (iZt = { tokenize: klr, partial: !0 }), + (sZt = { tokenize: Rlr, partial: !0 }), + (wlr = { tokenize: Plr, partial: !0 }), + (lZt = { name: "wwwAutolink", tokenize: Clr, previous: uZt }), + (cZt = { name: "protocolAutolink", tokenize: Elr, previous: dZt }), + (Q3 = { name: "emailAutolink", tokenize: Slr, previous: pZt }), + (Ax = {})); + while (WI < 123) + if (((Ax[WI] = Q3), WI++, WI === 58)) WI = 65; + else if (WI === 91) WI = 97; + Ax[43] = Q3; + Ax[45] = Q3; + Ax[46] = Q3; + Ax[95] = Q3; + Ax[72] = [Q3, cZt]; + Ax[104] = [Q3, cZt]; + Ax[87] = [Q3, lZt]; + Ax[119] = [Q3, lZt]; +}); +var mZt = P(() => { + fZt(); +}); +function kRe() { + return { + document: { + [91]: { + name: "gfmFootnoteDefinition", + tokenize: Olr, + continuation: { tokenize: Flr }, + exit: Ulr, + }, + }, + text: { + [91]: { name: "gfmFootnoteCall", tokenize: Blr }, + [93]: { + name: "gfmPotentialFootnoteCall", + add: "after", + tokenize: Dlr, + resolveTo: Llr, + }, + }, + }; +} +function Dlr(e, t, n) { + let r = this, + o = r.events.length, + a = r.parser.gfmFootnotes || (r.parser.gfmFootnotes = []), + i; + while (o--) { + let l = r.events[o][1]; + if (l.type === "labelImage") { + i = l; + break; + } + if ( + l.type === "gfmFootnoteCall" || + l.type === "labelLink" || + l.type === "label" || + l.type === "image" || + l.type === "link" + ) + break; + } + return s; + function s(l) { + if (!i || !i._balanced) return n(l); + let c = ym(r.sliceSerialize({ start: i.end, end: r.now() })); + if (c.codePointAt(0) !== 94 || !a.includes(c.slice(1))) return n(l); + return ( + e.enter("gfmFootnoteCallLabelMarker"), + e.consume(l), + e.exit("gfmFootnoteCallLabelMarker"), + t(l) + ); + } +} +function Llr(e, t) { + let n = e.length, + r; + while (n--) + if (e[n][1].type === "labelImage" && e[n][0] === "enter") { + r = e[n][1]; + break; + } + ((e[n + 1][1].type = "data"), + (e[n + 3][1].type = "gfmFootnoteCallLabelMarker")); + let o = { + type: "gfmFootnoteCall", + start: Object.assign({}, e[n + 3][1].start), + end: Object.assign({}, e[e.length - 1][1].end), + }, + a = { + type: "gfmFootnoteCallMarker", + start: Object.assign({}, e[n + 3][1].end), + end: Object.assign({}, e[n + 3][1].end), + }; + (a.end.column++, a.end.offset++, a.end._bufferIndex++); + let i = { + type: "gfmFootnoteCallString", + start: Object.assign({}, a.end), + end: Object.assign({}, e[e.length - 1][1].start), + }, + s = { + type: "chunkString", + contentType: "string", + start: Object.assign({}, i.start), + end: Object.assign({}, i.end), + }, + l = [ + e[n + 1], + e[n + 2], + ["enter", o, t], + e[n + 3], + e[n + 4], + ["enter", a, t], + ["exit", a, t], + ["enter", i, t], + ["enter", s, t], + ["exit", s, t], + ["exit", i, t], + e[e.length - 2], + e[e.length - 1], + ["exit", o, t], + ]; + return (e.splice(n, e.length - n + 1, ...l), e); +} +function Blr(e, t, n) { + let r = this, + o = r.parser.gfmFootnotes || (r.parser.gfmFootnotes = []), + a = 0, + i; + return s; + function s(d) { + return ( + e.enter("gfmFootnoteCall"), + e.enter("gfmFootnoteCallLabelMarker"), + e.consume(d), + e.exit("gfmFootnoteCallLabelMarker"), + l + ); + } + function l(d) { + if (d !== 94) return n(d); + return ( + e.enter("gfmFootnoteCallMarker"), + e.consume(d), + e.exit("gfmFootnoteCallMarker"), + e.enter("gfmFootnoteCallString"), + (e.enter("chunkString").contentType = "string"), + c + ); + } + function c(d) { + if (a > 999 || (d === 93 && !i) || d === null || d === 91 || ma(d)) + return n(d); + if (d === 93) { + e.exit("chunkString"); + let p = e.exit("gfmFootnoteCallString"); + if (!o.includes(ym(r.sliceSerialize(p)))) return n(d); + return ( + e.enter("gfmFootnoteCallLabelMarker"), + e.consume(d), + e.exit("gfmFootnoteCallLabelMarker"), + e.exit("gfmFootnoteCall"), + t + ); + } + if (!ma(d)) i = !0; + return (a++, e.consume(d), d === 92 ? u : c); + } + function u(d) { + if (d === 91 || d === 92 || d === 93) return (e.consume(d), a++, c); + return c(d); + } +} +function Olr(e, t, n) { + let r = this, + o = r.parser.gfmFootnotes || (r.parser.gfmFootnotes = []), + a, + i = 0, + s; + return l; + function l(m) { + return ( + (e.enter("gfmFootnoteDefinition")._container = !0), + e.enter("gfmFootnoteDefinitionLabel"), + e.enter("gfmFootnoteDefinitionLabelMarker"), + e.consume(m), + e.exit("gfmFootnoteDefinitionLabelMarker"), + c + ); + } + function c(m) { + if (m === 94) + return ( + e.enter("gfmFootnoteDefinitionMarker"), + e.consume(m), + e.exit("gfmFootnoteDefinitionMarker"), + e.enter("gfmFootnoteDefinitionLabelString"), + (e.enter("chunkString").contentType = "string"), + u + ); + return n(m); + } + function u(m) { + if (i > 999 || (m === 93 && !s) || m === null || m === 91 || ma(m)) + return n(m); + if (m === 93) { + e.exit("chunkString"); + let g = e.exit("gfmFootnoteDefinitionLabelString"); + return ( + (a = ym(r.sliceSerialize(g))), + e.enter("gfmFootnoteDefinitionLabelMarker"), + e.consume(m), + e.exit("gfmFootnoteDefinitionLabelMarker"), + e.exit("gfmFootnoteDefinitionLabel"), + p + ); + } + if (!ma(m)) s = !0; + return (i++, e.consume(m), m === 92 ? d : u); + } + function d(m) { + if (m === 91 || m === 92 || m === 93) return (e.consume(m), i++, u); + return u(m); + } + function p(m) { + if (m === 58) { + if ( + (e.enter("definitionMarker"), + e.consume(m), + e.exit("definitionMarker"), + !o.includes(a)) + ) + o.push(a); + return Wr(e, f, "gfmFootnoteDefinitionWhitespace"); + } + return n(m); + } + function f(m) { + return t(m); + } +} +function Flr(e, t, n) { + return e.check(vx, t, e.attempt(Mlr, t, n)); +} +function Ulr(e) { + e.exit("gfmFootnoteDefinition"); +} +function Nlr(e, t, n) { + let r = this; + return Wr(e, o, "gfmFootnoteDefinitionIndent", 5); + function o(a) { + let i = r.events[r.events.length - 1]; + return i && + i[1].type === "gfmFootnoteDefinitionIndent" && + i[2].sliceSerialize(i[1], !0).length === 4 + ? t(a) + : n(a); + } +} +var Mlr; +var hZt = P(() => { + hse(); + zc(); + Qa(); + Mlr = { tokenize: Nlr, partial: !0 }; +}); +var gZt = P(() => { + hZt(); +}); +function RRe(e) { + let n = (e || {}).singleTilde, + r = { name: "strikethrough", tokenize: a, resolveAll: o }; + if (n === null || n === void 0) n = !0; + return { + text: { [126]: r }, + insideSpan: { null: [r] }, + attentionMarkers: { null: [126] }, + }; + function o(i, s) { + let l = -1; + while (++l < i.length) + if ( + i[l][0] === "enter" && + i[l][1].type === "strikethroughSequenceTemporary" && + i[l][1]._close + ) { + let c = l; + while (c--) + if ( + i[c][0] === "exit" && + i[c][1].type === "strikethroughSequenceTemporary" && + i[c][1]._open && + i[l][1].end.offset - i[l][1].start.offset === + i[c][1].end.offset - i[c][1].start.offset + ) { + ((i[l][1].type = "strikethroughSequence"), + (i[c][1].type = "strikethroughSequence")); + let u = { + type: "strikethrough", + start: Object.assign({}, i[c][1].start), + end: Object.assign({}, i[l][1].end), + }, + d = { + type: "strikethroughText", + start: Object.assign({}, i[c][1].end), + end: Object.assign({}, i[l][1].start), + }, + p = [ + ["enter", u, s], + ["enter", i[c][1], s], + ["exit", i[c][1], s], + ["enter", d, s], + ], + f = s.parser.constructs.insideSpan.null; + if (f) Np(p, p.length, 0, sC(f, i.slice(c + 1, l), s)); + (Np(p, p.length, 0, [ + ["exit", d, s], + ["enter", i[l][1], s], + ["exit", i[l][1], s], + ["exit", u, s], + ]), + Np(i, c - 1, l - c + 3, p), + (l = c + p.length - 2)); + break; + } + } + l = -1; + while (++l < i.length) + if (i[l][1].type === "strikethroughSequenceTemporary") + i[l][1].type = "data"; + return i; + } + function a(i, s, l) { + let c = this.previous, + u = this.events, + d = 0; + return p; + function p(m) { + if (c === 126 && u[u.length - 1][1].type !== "characterEscape") + return l(m); + return (i.enter("strikethroughSequenceTemporary"), f(m)); + } + function f(m) { + let g = rD(c); + if (m === 126) { + if (d > 1) return l(m); + return (i.consume(m), d++, f); + } + if (d < 2 && !n) return l(m); + let v = i.exit("strikethroughSequenceTemporary"), + y = rD(m); + return ( + (v._open = !y || (y === 2 && Boolean(g))), + (v._close = !g || (g === 2 && Boolean(y))), + s(m) + ); + } + } +} +var yZt = P(() => { + L7e(); +}); +var vZt = P(() => { + yZt(); +}); +class PRe { + constructor() { + ((this.map = []), (this.index = new Map())); + } + add(e, t, n) { + zlr(this, e, t, n); + } + consume(e) { + if ( + (this.map.sort(function (o, a) { + return o[0] - a[0]; + }), + this.map.length === 0) + ) + return; + let t = this.map.length, + n = []; + while (t > 0) + ((t -= 1), + n.push(e.slice(this.map[t][0] + this.map[t][1]), this.map[t][2]), + (e.length = this.map[t][0])); + (n.push(e.slice()), (e.length = 0)); + let r = n.pop(); + while (r) { + for (let o of r) e.push(o); + r = n.pop(); + } + ((this.map.length = 0), this.index.clear()); + } +} +function zlr(e, t, n, r) { + if (n === 0 && r.length === 0) return; + let o = e.index.get(t); + if (o) { + ((o[1] += n), o[2].push(...r)); + return; + } + let a = [t, n, r]; + (e.map.push(a), e.index.set(t, a)); +} +function bZt(e, t) { + let n = !1, + r = []; + while (t < e.length) { + let o = e[t]; + if (n) { + if (o[0] === "enter") { + if (o[1].type === "tableContent") + r.push(e[t + 1][1].type === "tableDelimiterMarker" ? "left" : "none"); + } else if (o[1].type === "tableContent") { + if (e[t - 1][1].type === "tableDelimiterMarker") { + let a = r.length - 1; + r[a] = r[a] === "left" ? "center" : "right"; + } + } else if (o[1].type === "tableDelimiterRow") break; + } else if (o[0] === "enter" && o[1].type === "tableDelimiterRow") n = !0; + t += 1; + } + return r; +} +function MRe() { + return { flow: { null: { name: "table", tokenize: _lr, resolveAll: Hlr } } }; +} +function _lr(e, t, n) { + let r = this, + o = 0, + a = 0, + i; + return s; + function s(L) { + let O = r.events.length - 1; + while (O > -1) { + let { type: D } = r.events[O][1]; + if (D === "lineEnding" || D === "linePrefix") O--; + else break; + } + let B = O > -1 ? r.events[O][1].type : null, + U = B === "tableHead" || B === "tableRow" ? E : l; + if (U === E && r.parser.lazy[r.now().line]) return n(L); + return U(L); + } + function l(L) { + return (e.enter("tableHead"), e.enter("tableRow"), c(L)); + } + function c(L) { + if (L === 124) return u(L); + return ((i = !0), (a += 1), u(L)); + } + function u(L) { + if (L === null) return n(L); + if (Xn(L)) { + if (a > 1) + return ( + (a = 0), + (r.interrupt = !0), + e.exit("tableRow"), + e.enter("lineEnding"), + e.consume(L), + e.exit("lineEnding"), + f + ); + return n(L); + } + if (Lr(L)) return Wr(e, u, "whitespace")(L); + if (((a += 1), i)) ((i = !1), (o += 1)); + if (L === 124) + return ( + e.enter("tableCellDivider"), + e.consume(L), + e.exit("tableCellDivider"), + (i = !0), + u + ); + return (e.enter("data"), d(L)); + } + function d(L) { + if (L === null || L === 124 || ma(L)) return (e.exit("data"), u(L)); + return (e.consume(L), L === 92 ? p : d); + } + function p(L) { + if (L === 92 || L === 124) return (e.consume(L), d); + return d(L); + } + function f(L) { + if (((r.interrupt = !1), r.parser.lazy[r.now().line])) return n(L); + if ((e.enter("tableDelimiterRow"), (i = !1), Lr(L))) + return Wr( + e, + m, + "linePrefix", + r.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4, + )(L); + return m(L); + } + function m(L) { + if (L === 45 || L === 58) return v(L); + if (L === 124) + return ( + (i = !0), + e.enter("tableCellDivider"), + e.consume(L), + e.exit("tableCellDivider"), + g + ); + return C(L); + } + function g(L) { + if (Lr(L)) return Wr(e, v, "whitespace")(L); + return v(L); + } + function v(L) { + if (L === 58) + return ( + (a += 1), + (i = !0), + e.enter("tableDelimiterMarker"), + e.consume(L), + e.exit("tableDelimiterMarker"), + y + ); + if (L === 45) return ((a += 1), y(L)); + if (L === null || Xn(L)) return w(L); + return C(L); + } + function y(L) { + if (L === 45) return (e.enter("tableDelimiterFiller"), x(L)); + return C(L); + } + function x(L) { + if (L === 45) return (e.consume(L), x); + if (L === 58) + return ( + (i = !0), + e.exit("tableDelimiterFiller"), + e.enter("tableDelimiterMarker"), + e.consume(L), + e.exit("tableDelimiterMarker"), + A + ); + return (e.exit("tableDelimiterFiller"), A(L)); + } + function A(L) { + if (Lr(L)) return Wr(e, w, "whitespace")(L); + return w(L); + } + function w(L) { + if (L === 124) return m(L); + if (L === null || Xn(L)) { + if (!i || o !== a) return C(L); + return (e.exit("tableDelimiterRow"), e.exit("tableHead"), t(L)); + } + return C(L); + } + function C(L) { + return n(L); + } + function E(L) { + return (e.enter("tableRow"), T(L)); + } + function T(L) { + if (L === 124) + return ( + e.enter("tableCellDivider"), + e.consume(L), + e.exit("tableCellDivider"), + T + ); + if (L === null || Xn(L)) return (e.exit("tableRow"), t(L)); + if (Lr(L)) return Wr(e, T, "whitespace")(L); + return (e.enter("data"), I(L)); + } + function I(L) { + if (L === null || L === 124 || ma(L)) return (e.exit("data"), T(L)); + return (e.consume(L), L === 92 ? k : I); + } + function k(L) { + if (L === 92 || L === 124) return (e.consume(L), I); + return I(L); + } +} +function Hlr(e, t) { + let n = -1, + r = !0, + o = 0, + a = [0, 0, 0, 0], + i = [0, 0, 0, 0], + s = !1, + l = 0, + c, + u, + d, + p = new PRe(); + while (++n < e.length) { + let f = e[n], + m = f[1]; + if (f[0] === "enter") { + if (m.type === "tableHead") { + if (((s = !1), l !== 0)) (xZt(p, t, l, c, u), (u = void 0), (l = 0)); + ((c = { + type: "table", + start: Object.assign({}, m.start), + end: Object.assign({}, m.end), + }), + p.add(n, 0, [["enter", c, t]])); + } else if (m.type === "tableRow" || m.type === "tableDelimiterRow") { + if ( + ((r = !0), + (d = void 0), + (a = [0, 0, 0, 0]), + (i = [0, n + 1, 0, 0]), + s) + ) + ((s = !1), + (u = { + type: "tableBody", + start: Object.assign({}, m.start), + end: Object.assign({}, m.end), + }), + p.add(n, 0, [["enter", u, t]])); + o = m.type === "tableDelimiterRow" ? 2 : u ? 3 : 1; + } else if ( + o && + (m.type === "data" || + m.type === "tableDelimiterMarker" || + m.type === "tableDelimiterFiller") + ) { + if (((r = !1), i[2] === 0)) { + if (a[1] !== 0) + ((i[0] = i[1]), + (d = ile(p, t, a, o, void 0, d)), + (a = [0, 0, 0, 0])); + i[2] = n; + } + } else if (m.type === "tableCellDivider") + if (r) r = !1; + else { + if (a[1] !== 0) ((i[0] = i[1]), (d = ile(p, t, a, o, void 0, d))); + ((a = i), (i = [a[1], n, 0, 0])); + } + } else if (m.type === "tableHead") ((s = !0), (l = n)); + else if (m.type === "tableRow" || m.type === "tableDelimiterRow") { + if (((l = n), a[1] !== 0)) ((i[0] = i[1]), (d = ile(p, t, a, o, n, d))); + else if (i[1] !== 0) d = ile(p, t, i, o, n, d); + o = 0; + } else if ( + o && + (m.type === "data" || + m.type === "tableDelimiterMarker" || + m.type === "tableDelimiterFiller") + ) + i[3] = n; + } + if (l !== 0) xZt(p, t, l, c, u); + (p.consume(t.events), (n = -1)); + while (++n < t.events.length) { + let f = t.events[n]; + if (f[0] === "enter" && f[1].type === "table") + f[1]._align = bZt(t.events, n); + } + return e; +} +function ile(e, t, n, r, o, a) { + let i = r === 1 ? "tableHeader" : r === 2 ? "tableDelimiter" : "tableData", + s = "tableContent"; + if (n[0] !== 0) + ((a.end = Object.assign({}, hD(t.events, n[0]))), + e.add(n[0], 0, [["exit", a, t]])); + let l = hD(t.events, n[1]); + if ( + ((a = { type: i, start: Object.assign({}, l), end: Object.assign({}, l) }), + e.add(n[1], 0, [["enter", a, t]]), + n[2] !== 0) + ) { + let c = hD(t.events, n[2]), + u = hD(t.events, n[3]), + d = { + type: "tableContent", + start: Object.assign({}, c), + end: Object.assign({}, u), + }; + if ((e.add(n[2], 0, [["enter", d, t]]), r !== 2)) { + let p = t.events[n[2]], + f = t.events[n[3]]; + if ( + ((p[1].end = Object.assign({}, f[1].end)), + (p[1].type = "chunkText"), + (p[1].contentType = "text"), + n[3] > n[2] + 1) + ) { + let m = n[2] + 1, + g = n[3] - n[2] - 1; + e.add(m, g, []); + } + } + e.add(n[3] + 1, 0, [["exit", d, t]]); + } + if (o !== void 0) + ((a.end = Object.assign({}, hD(t.events, o))), + e.add(o, 0, [["exit", a, t]]), + (a = void 0)); + return a; +} +function xZt(e, t, n, r, o) { + let a = [], + i = hD(t.events, n); + if (o) ((o.end = Object.assign({}, i)), a.push(["exit", o, t])); + ((r.end = Object.assign({}, i)), a.push(["exit", r, t]), e.add(n + 1, 0, a)); +} +function hD(e, t) { + let n = e[t], + r = n[0] === "enter" ? "start" : "end"; + return n[1][r]; +} +var AZt = P(() => { + zc(); + Qa(); +}); +var wZt = P(() => { + AZt(); +}); +function DRe() { + return { text: { [91]: Vlr } }; +} +function Glr(e, t, n) { + let r = this; + return o; + function o(l) { + if (r.previous !== null || !r._gfmTasklistFirstContentOfListItem) + return n(l); + return ( + e.enter("taskListCheck"), + e.enter("taskListCheckMarker"), + e.consume(l), + e.exit("taskListCheckMarker"), + a + ); + } + function a(l) { + if (ma(l)) + return ( + e.enter("taskListCheckValueUnchecked"), + e.consume(l), + e.exit("taskListCheckValueUnchecked"), + i + ); + if (l === 88 || l === 120) + return ( + e.enter("taskListCheckValueChecked"), + e.consume(l), + e.exit("taskListCheckValueChecked"), + i + ); + return n(l); + } + function i(l) { + if (l === 93) + return ( + e.enter("taskListCheckMarker"), + e.consume(l), + e.exit("taskListCheckMarker"), + e.exit("taskListCheck"), + s + ); + return n(l); + } + function s(l) { + if (Xn(l)) return t(l); + if (Lr(l)) return e.check({ tokenize: qlr }, t, n)(l); + return n(l); + } +} +function qlr(e, t, n) { + return Wr(e, r, "whitespace"); + function r(o) { + return o === null ? n(o) : t(o); + } +} +var Vlr; +var SZt = P(() => { + zc(); + Qa(); + Vlr = { name: "tasklistCheck", tokenize: Glr }; +}); +var CZt = P(() => { + SZt(); +}); +function EZt(e) { + return nse([IRe(), kRe(), RRe(e), MRe(), DRe()]); +} +var IZt = P(() => { + M7e(); + mZt(); + gZt(); + vZt(); + wZt(); + CZt(); +}); +function sle(e) { + let t = this, + n = e || Zlr, + r = t.data(), + o = r.micromarkExtensions || (r.micromarkExtensions = []), + a = r.fromMarkdownExtensions || (r.fromMarkdownExtensions = []), + i = r.toMarkdownExtensions || (r.toMarkdownExtensions = []); + (o.push(EZt(n)), a.push(SRe()), i.push(CRe(n))); +} +var Zlr; +var TZt = P(() => { + oZt(); + IZt(); + Zlr = {}; +}); +var kZt = P(() => { + TZt(); +}); +function Vg(e, t = Xlr) { + if (!e) return t; + let n = { ...t }; + for (let r of Object.keys(e)) { + let o = e[r]; + if (typeof o === "string" && o.length > 0) n[r] = o; + } + return n; +} +function ZG(e, t) { + return e.replace(/\{(\w+)\}/g, (n, r) => (r in t ? String(t[r]) : n)); +} +var Qlr, Xlr; +var gD = P(() => { + ((Qlr = { + composerPlaceholder: "Ask something...", + send: "Send", + stop: "Stop", + openVoice: "Open Voice Input", + projects: "Projects", + models: "Models", + selectModel: "Select model...", + searchModels: "Search models...", + noModels: "No models found", + contextTokens: "{count} tokens", + copyMessage: "Copy Message", + copyStreamingMessage: "Copy Streaming Message", + dislike: "Dislike", + fork: "Fork", + assistantThinking: "Thinking", + copy: "Copy", + copyCode: "Copy code", + copied: "Copied!", + conversations: "Conversations", + newConversation: "New conversation", + searchConversations: "Search conversations", + noConversations: "No conversations yet", + noSearchResults: "No matching conversation", + untitledConversation: "Untitled conversation", + renameConversation: "Rename conversation", + deleteConversation: "Delete conversation", + modelUnavailable: "Model unavailable", + modelDownloading: "Downloading the model", + modelLoading: "Loading the model", + progressPercent: "{percent}%", + retry: "Retry", + sources: "Sources", + citation: "Source {n}", + openSource: "Open source", + refusalTitle: "Not established in the sources", + refusalBody: + "The available sources do not support an answer to this question.", + memory: "Memory", + memoryEmpty: "No memories saved", + memoryLoading: "Loading memories", + deleteMemory: "Delete memory", + clearMemory: "Clear all memories", + clearMemoryConfirm: "Delete every saved memory? This cannot be undone.", + confirm: "Confirm", + cancel: "Cancel", + loading: "Loading", + errorGeneric: "Something went wrong", + }), + (Xlr = Qlr)); +}); +function Md({ name: e, size: t = 24, className: n }) { + let [r, o] = RZt[e]; + return h("svg", { + xmlns: "http://www.w3.org/2000/svg", + viewBox: r, + width: t, + height: t, + fill: "currentColor", + "aria-hidden": "true", + focusable: "false", + "data-m3-icon": e, + className: Ve("m3-icon shrink-0", n), + children: h("path", { d: o }), + }); +} +var RZt, e2a; +var yD = P(() => { + rn(); + le(); + ((RZt = { + arrow_upward: [ + "0 -960 960 960", + "M450-160v-526L202-438l-42-42 320-320 320 320-42 42-248-248v526h-60Z", + ], + auto_awesome_filled: [ + "0 96 960 960", + "m772 421-43-100-104-46 104-45 43-95 43 95 104 45-104 46-43 100Zm0 595-43-96-104-45 104-45 43-101 43 101 104 45-104 45-43 96ZM333 862l-92-197-201-90 201-90 92-196 93 196 200 90-200 90-93 197Z", + ], + auto_awesome: [ + "0 -960 960 960", + "m772-635-43-100-104-46 104-45 43-95 43 95 104 45-104 46-43 100Zm0 595-43-96-104-45 104-45 43-101 43 101 104 45-104 45-43 96ZM333-194l-92-197-201-90 201-90 92-196 93 196 200 90-200 90-93 197Zm0-148 48-96 98-43-98-43-48-96-47 96-99 43 99 43 47 96Zm0-139Z", + ], + call_split: [ + "0 -960 960 960", + "M452-160v-306L220-698v123h-60v-225h225v60H263l249 249v331h-60Zm113-364-42-42 174-174H575v-60h225v225h-60v-123L565-524Z", + ], + check: [ + "0 -960 960 960", + "M378-246 154-470l43-43 181 181 384-384 43 43-427 427Z", + ], + cloud_off: [ + "0 -960 960 960", + "M818-56 703-171H248q-88 0-148-59T40-377q0-80 50.5-134T217-577q2-14 6.5-31.5T236-640L70-806l42-42L861-99l-43 43ZM248-231h397L285-591q-11 15-14.5 34t-3.5 37h-19q-62 0-105 39.5t-43 101q0 61.5 43 105T248-231Zm216-181Zm390 210-47-47q25-17 39-38t14-50q0-43-31-73.5T755-441h-67v-81q0-88-61-147.5T478.47-729q-28.47 0-60.97 9T358-691l-42-42q36-29 77.5-42.5T478-789q111 0 190.5 79T748-520v21q72-1 122 45t50 117q0 35-16.5 73.5T854-202ZM583-470Z", + ], + content_copy: [ + "0 -960 960 960", + "M300-200q-24 0-42-18t-18-42v-560q0-24 18-42t42-18h440q24 0 42 18t18 42v560q0 24-18 42t-42 18H300Zm0-60h440v-560H300v560ZM180-80q-24 0-42-18t-18-42v-620h60v620h500v60H180Zm120-180v-560 560Z", + ], + delete: [ + "0 -960 960 960", + "M261-120q-24.75 0-42.37-17.63Q201-155.25 201-180v-570h-41v-60h188v-30h264v30h188v60h-41v570q0 24-18 42t-42 18H261Zm438-630H261v570h438v-570ZM367-266h60v-399h-60v399Zm166 0h60v-399h-60v399ZM261-750v570-570Z", + ], + edit: [ + "0 -960 960 960", + "M180-180h44l472-471-44-44-472 471v44Zm-60 60v-128l575-574q8-8 19-12.5t23-4.5q11 0 22 4.5t20 12.5l44 44q9 9 13 20t4 22q0 11-4.5 22.5T823-694L248-120H120Zm659-617-41-41 41 41Zm-105 64-22-22 44 44-22-22Z", + ], + edit_square: [ + "0 -960 960 960", + "M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h405l-60 60H180v600h600v-348l60-60v408q0 24-18 42t-42 18H180Zm300-360ZM360-360v-170l382-382q9-9 20-13t22-4q11 0 22.32 4.5Q817.63-920 827-911l83 84q8.61 8.96 13.3 19.78 4.7 10.83 4.7 22.02 0 11.2-4.5 22.7T910-742L530-360H360Zm508-425-84-84 84 84ZM420-420h85l253-253-43-42-43-42-252 251v86Zm295-295-43-42 43 42 43 42-43-42Z", + ], + expand_more: [ + "0 -960 960 960", + "M480-345 240-585l43-43 197 198 197-197 43 43-240 239Z", + ], + info: [ + "0 -960 960 960", + "M453-280h60v-240h-60v240Zm50.5-323.2q9.5-9.2 9.5-22.8 0-14.45-9.48-24.22-9.48-9.78-23.5-9.78t-23.52 9.78Q447-640.45 447-626q0 13.6 9.48 22.8 9.48 9.2 23.5 9.2t23.52-9.2ZM480.27-80q-82.74 0-155.5-31.5Q252-143 197.5-197.5t-86-127.34Q80-397.68 80-480.5t31.5-155.66Q143-709 197.5-763t127.34-85.5Q397.68-880 480.5-880t155.66 31.5Q709-817 763-763t85.5 127Q880-563 880-480.27q0 82.74-31.5 155.5Q817-252 763-197.68q-54 54.31-127 86Q563-80 480.27-80Zm.23-60Q622-140 721-239.5t99-241Q820-622 721.19-721T480-820q-141 0-240.5 98.81T140-480q0 141 99.5 240.5t241 99.5Zm-.5-340Z", + ], + mic: [ + "0 -960 960 960", + "M408-453.92q-29-30.91-29-75.08v-251q0-41.67 29.44-70.83Q437.88-880 479.94-880t71.56 29.17Q581-821.67 581-780v251q0 44.17-29 75.08Q523-423 480-423t-72-30.92ZM480-651Zm-30 531v-136q-106-11-178-89t-72-184h60q0 91 64.29 153t155.5 62q91.21 0 155.71-62Q700-438 700-529h60q0 106-72 184t-178 89v136h-60Zm59.5-376.5Q521-510 521-529v-251q0-17-11.79-28.5T480-820q-17.42 0-29.21 11.5T439-780v251q0 19 11.5 32.5T480-483q18 0 29.5-13.5Z", + ], + open_in_new: [ + "0 -960 960 960", + "M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h279v60H180v600h600v-279h60v279q0 24-18 42t-42 18H180Zm202-219-42-43 398-398H519v-60h321v321h-60v-218L382-339Z", + ], + refresh: [ + "0 -960 960 960", + "M480-160q-133 0-226.5-93.5T160-480q0-133 93.5-226.5T480-800q85 0 149 34.5T740-671v-129h60v254H546v-60h168q-38-60-97-97t-137-37q-109 0-184.5 75.5T220-480q0 109 75.5 184.5T480-220q83 0 152-47.5T728-393h62q-29 105-115 169t-195 64Z", + ], + search: [ + "0 -960 960 960", + "M796-121 533-384q-30 26-70 40.5T378-329q-108 0-183-75t-75-181q0-106 75-181t182-75q106 0 180.5 75T632-585q0 43-14 83t-42 75l264 262-44 44ZM377-389q81 0 138-57.5T572-585q0-81-57-138.5T377-781q-82 0-139.5 57.5T180-585q0 81 57.5 138.5T377-389Z", + ], + stop_filled: ["0 -960 960 960", "M240-240v-480h480v480H240Z"], + stop: [ + "0 -960 960 960", + "M300-660v360-360Zm-60 420v-480h480v480H240Zm60-60h360v-360H300v360Z", + ], + thumb_down: [ + "0 -960 960 960", + "M242-840h444v512L408-40l-39-31q-6-5-9-14t-3-22v-10l45-211H103q-24 0-42-18t-18-42v-81.84q0-7.16-1.5-14.66T43-499l126-290q8.88-21.25 29.59-36.13Q219.31-840 242-840Zm384 60H229L103-481v93h373l-53 249 203-214v-427Zm0 427v-427 427Zm60 25v-60h133v-392H686v-60h193v512H686Z", + ], + }), + (e2a = Object.keys(RZt))); +}); +function lle(e) { + if (!e) return !1; + return /^[a-z][a-z0-9+.-]*:/i.test(e) || e.startsWith("//"); +} +function vD(e) { + if (typeof e === "string") return e; + if (typeof e === "number") return String(e); + if (Array.isArray(e)) return e.map(vD).join(""); + if (Y2.isValidElement(e)) return vD(e.props.children); + return ""; +} +function Wlr(e) { + if (!e) return { raw: "", label: "Code" }; + let t = e + .replace(/^language-|^lang-/, "") + .toLowerCase() + .trim(); + if (PZt[t]) return { raw: t, label: PZt[t] }; + let n = + t.length <= 3 ? t.toUpperCase() : t.charAt(0).toUpperCase() + t.slice(1); + return { raw: t, label: n }; +} +function DZt({ + code: e, + language: t, + onCopy: n, + className: r, + children: o, + labels: a, + ...i +}) { + let s = Vg(a), + { node: l, ...c } = i, + [u, d] = Y2.useState(!1), + p = Y2.useRef(null); + Y2.useEffect( + () => () => { + if (p.current) clearTimeout(p.current); + }, + [], + ); + let f = Y2.isValidElement(o) ? o : null, + m = f ? f.props : null, + g = + t ?? + r?.match(/language-([a-zA-Z0-9_+#-]+)/)?.[1] ?? + m?.className?.match(/language-([a-zA-Z0-9_+#-]+)/)?.[1], + { raw: v, label: y } = Wlr(g), + x = e ?? (m?.children ? vD(m.children) : vD(o)), + A = x, + w = x.replace(/\n$/, ""), + C = async () => { + try { + if (typeof navigator < "u" && navigator.clipboard?.writeText) + await navigator.clipboard.writeText(w); + } catch {} + if ((n?.(w), d(!0), p.current)) clearTimeout(p.current); + p.current = setTimeout(() => { + d(!1); + }, 2000); + }; + return M("div", { + className: Ve( + "my-3 overflow-hidden rounded-medium border border-outline-variant bg-surface-container-highest", + r, + ), + ...c, + children: [ + M("div", { + className: + "flex items-center justify-between border-b border-outline-variant bg-surface-container px-3 py-1.5", + children: [ + h("span", { + className: + "inline-flex items-center rounded-extra-small bg-surface-container-high px-2 py-0.5 text-label-small font-medium text-on-surface-variant border border-outline-variant/60", + children: y, + }), + M("button", { + type: "button", + onClick: C, + className: Ve( + "inline-flex items-center gap-1.5 rounded-small px-2 py-1 text-label-small font-medium transition-colors duration-200", + u + ? "text-success" + : "text-on-surface-variant hover:bg-on-surface/8 hover:text-on-surface active:bg-on-surface/12", + "focus-visible:outline-2 focus-visible:outline-primary", + ), + "aria-label": u ? s.copied : s.copyCode, + title: u ? s.copied : s.copyCode, + children: [ + h(Md, { + name: u ? "check" : "content_copy", + size: 16, + className: u ? "text-success" : void 0, + }), + h("span", { children: u ? s.copied : s.copy }), + ], + }), + ], + }), + h("pre", { + className: + "overflow-x-auto p-3 font-code text-body-small text-on-surface bg-surface-container-highest [&_code]:bg-transparent [&_code]:p-0 [&_code]:text-[length:inherit]", + children: h("code", { + className: v ? `language-${v}` : void 0, + children: A, + }), + }), + ], + }); +} +function QG(e) { + let t = e.split( + /(\^\{[^}]+\}|\^[-+]?[a-zA-Z0-9\u0370-\u03FF\u2100-\u214F]|_\{[^}]+\}|_[-+]?[a-zA-Z0-9\u0370-\u03FF\u2100-\u214F])/g, + ); + if (t.length === 1) return e; + let n = new Map(); + return t.map((r) => { + let o = n.get(r) ?? 0; + n.set(r, o + 1); + let a = `${r}:${o}`; + if (r.startsWith("^")) { + let i = + r.startsWith("^{") && r.endsWith("}") ? r.slice(2, -1) : r.slice(1); + return h( + "sup", + { className: "text-[0.75em] leading-none", children: i }, + a, + ); + } + if (r.startsWith("_")) { + let i = + r.startsWith("_{") && r.endsWith("}") ? r.slice(2, -1) : r.slice(1); + return h( + "sub", + { className: "text-[0.75em] leading-none", children: i }, + a, + ); + } + return r; + }); +} +function LZt(e) { + let t = e.replace(/\\+([a-zA-Z]+)/g, (r, o) => Ylr[o] ?? r), + n = /\\+frac\{([^{}]+)\}\{([^{}]+)\}/g; + if (n.test(t)) { + let r = [], + o = 0; + if ( + (t.replace(n, (a, i, s, l) => { + if (l > o) r.push(QG(t.slice(o, l))); + return ( + r.push( + M( + "span", + { + className: + "inline-flex flex-col items-center align-middle mx-1 text-center text-[0.85em] leading-none not-italic", + children: [ + h("span", { + className: "border-b border-current px-0.5 pb-0.5", + children: QG(i), + }), + h("span", { className: "px-0.5 pt-0.5", children: QG(s) }), + ], + }, + `frac-${l}`, + ), + ), + (o = l + a.length), + a + ); + }), + o < t.length) + ) + r.push(QG(t.slice(o))); + return r; + } + return QG(t); +} +function BZt({ math: e, className: t, ...n }) { + return h("span", { + className: Ve( + "inline-flex items-center px-1 font-serif italic font-medium text-primary", + t, + ), + ...n, + children: LZt(e), + }); +} +function OZt({ math: e, className: t, ...n }) { + return h("div", { + className: Ve( + "my-3 flex justify-center overflow-x-auto rounded-medium bg-surface-container-low/40 px-4 py-2 text-title-medium font-serif italic font-medium text-primary", + t, + ), + ...n, + children: LZt(e), + }); +} +function FZt(e) { + if (!e.children) return; + let t = []; + for (let n of e.children) { + if (n.type === "paragraph" && Array.isArray(n.children)) { + if ( + n.children.some( + (o) => o.type === "text" && /\$\$[\s\S]+?\$\$/.test(o.value), + ) + ) { + let o = []; + for (let a of n.children) + if (a.type === "text" && /\$\$[\s\S]+?\$\$/.test(a.value)) { + let i = a.value.split(/(\$\$[\s\S]+?\$\$)/g); + for (let s of i) + if (s.startsWith("$$") && s.endsWith("$$") && s.length >= 4) { + if (o.length > 0) + (t.push({ type: "paragraph", children: o }), (o = [])); + let l = s.slice(2, -2).trim(); + t.push({ + type: "mathBlock", + data: { + hName: "div", + hProperties: { className: "math-block", "data-math": l }, + hChildren: [{ type: "text", value: l }], + }, + children: [{ type: "text", value: l }], + }); + } else if (s.trim().length > 0) + o.push({ type: "text", value: s }); + } else o.push(a); + if (o.length > 0) t.push({ type: "paragraph", children: o }); + continue; + } + } + (FZt(n), t.push(n)); + } + e.children = t; +} +function UZt(e) { + if (!e.children) return; + let t = []; + for (let n of e.children) + if ( + n.type === "text" && + typeof n.value === "string" && + n.value.includes("$") + ) { + let r = n.value.split(/((? 2 + ) { + let a = o.slice(1, -1).trim(); + t.push({ + type: "mathInline", + data: { + hName: "span", + hProperties: { className: "math-inline", "data-math": a }, + hChildren: [{ type: "text", value: a }], + }, + children: [{ type: "text", value: a }], + }); + } else if (o) t.push({ type: "text", value: o }); + } else (UZt(n), t.push(n)); + e.children = t; +} +function Klr(e) { + (FZt(e), UZt(e)); +} +function Jlr() { + return Klr; +} +function jlr(e, t = {}) { + let n = MZt[e]; + return { + h1: ({ node: r, className: o, children: a, ...i }) => + h("h1", { + className: Ve( + "mt-4 mb-2 text-headline-small text-on-surface first:mt-0", + o, + ), + ...i, + children: a, + }), + h2: ({ node: r, className: o, children: a, ...i }) => + h("h2", { + className: Ve( + "mt-4 mb-2 text-title-large text-on-surface first:mt-0", + o, + ), + ...i, + children: a, + }), + h3: ({ node: r, className: o, children: a, ...i }) => + h("h3", { + className: Ve( + "mt-3 mb-1.5 text-title-medium text-on-surface first:mt-0", + o, + ), + ...i, + children: a, + }), + h4: ({ node: r, className: o, children: a, ...i }) => + h("h4", { + className: Ve( + "mt-3 mb-1 text-title-small text-on-surface first:mt-0", + o, + ), + ...i, + children: a, + }), + h5: ({ node: r, className: o, children: a, ...i }) => + h("h5", { + className: Ve( + "mt-3 mb-1 text-title-small text-on-surface-variant first:mt-0", + o, + ), + ...i, + children: a, + }), + h6: ({ node: r, className: o, children: a, ...i }) => + h("h6", { + className: Ve( + "mt-3 mb-1 text-label-large text-on-surface-variant first:mt-0", + o, + ), + ...i, + children: a, + }), + p: ({ node: r, className: o, ...a }) => + h("p", { className: Ve("my-2 first:mt-0 last:mb-0", n, o), ...a }), + a: ({ node: r, className: o, children: a, href: i, onClick: s, ...l }) => { + let c = lle(i); + if (t.renderLink) + return h(Ht, { + children: t.renderLink({ href: i ?? "", children: a, external: c }), + }); + return h("a", { + className: Ve( + "text-primary underline underline-offset-2 hover:decoration-2", + "rounded-extra-small outline-none focus-visible:outline-3 focus-visible:outline-secondary focus-visible:outline-offset-2", + o, + ), + href: i, + ...(c ? cle : {}), + onClick: (u) => { + if ((s?.(u), i)) t.onLinkClick?.(i, u); + }, + ...l, + children: a, + }); + }, + strong: ({ node: r, className: o, ...a }) => + h("strong", { className: Ve("font-semibold text-on-surface", o), ...a }), + ul: ({ node: r, className: o, ...a }) => + h("ul", { + className: Ve( + "my-2 list-disc pl-6 marker:text-on-surface-variant", + n, + o, + ), + ...a, + }), + ol: ({ node: r, className: o, ...a }) => + h("ol", { + className: Ve( + "my-2 list-decimal pl-6 marker:text-on-surface-variant", + n, + o, + ), + ...a, + }), + li: ({ node: r, className: o, ...a }) => + h("li", { className: Ve("my-1", o), ...a }), + blockquote: ({ node: r, className: o, ...a }) => + h("blockquote", { + className: Ve( + "my-3 border-l-4 border-outline-variant pl-4 text-on-surface-variant", + o, + ), + ...a, + }), + code: ({ node: r, className: o, ...a }) => + h("code", { + className: Ve( + "rounded-extra-small bg-surface-container-highest px-1 py-0.5 font-code text-[0.9em] text-on-surface", + o, + ), + ...a, + }), + pre: ({ node: r, children: o, className: a, style: i }) => + h(DZt, { className: a, style: i, labels: t.labels, children: o }), + hr: ({ node: r, className: o, ...a }) => + h("hr", { className: Ve("my-4 border-outline-variant", o), ...a }), + table: ({ node: r, className: o, ...a }) => + h("div", { + className: + "my-3 overflow-x-auto rounded-small border border-outline-variant", + children: h("table", { + className: Ve("w-full border-collapse", n, o), + ...a, + }), + }), + thead: ({ node: r, className: o, ...a }) => + h("thead", { className: Ve("bg-surface-container", o), ...a }), + th: ({ node: r, className: o, ...a }) => + h("th", { + className: Ve( + "border-b border-outline-variant px-3 py-2 text-left text-title-small text-on-surface", + o, + ), + ...a, + }), + td: ({ node: r, className: o, ...a }) => + h("td", { + className: Ve( + "border-t border-outline-variant px-3 py-2 text-on-surface", + o, + ), + ...a, + }), + img: ({ node: r, className: o, alt: a, ...i }) => + h("img", { + className: Ve("my-2 max-w-full rounded-medium", o), + alt: a ?? "", + ...i, + }), + input: ({ node: r, className: o, ...a }) => + h("input", { className: Ve("mr-2 accent-primary", o), ...a }), + div: ({ node: r, className: o, children: a, ...i }) => { + if (o?.includes("math-block")) { + let s = i["data-math"] ?? vD(a); + return h(OZt, { math: s, className: o }); + } + return h("div", { className: o, ...i, children: a }); + }, + span: ({ node: r, className: o, children: a, ...i }) => { + if (o?.includes("math-inline")) { + let s = i["data-math"] ?? vD(a); + return h(BZt, { math: s, className: o }); + } + return h("span", { className: o, ...i, children: a }); + }, + }; +} +var Y2, cle, MZt, PZt, Ylr, wx; +var ule = P(() => { + rn(); + yVt(); + QGt(); + kZt(); + gD(); + yD(); + le(); + Y2 = z(re(), 1); + ((cle = { target: "_blank", rel: "noopener noreferrer" }), + (MZt = { + small: "text-body-small", + medium: "text-body-medium", + large: "text-body-large", + })); + PZt = { + typescript: "TypeScript", + ts: "TypeScript", + tsx: "TSX", + javascript: "JavaScript", + js: "JavaScript", + jsx: "JSX", + python: "Python", + py: "Python", + rust: "Rust", + rs: "Rust", + bash: "Bash", + sh: "Bash", + shell: "Bash", + zsh: "Bash", + json: "JSON", + jsonc: "JSONC", + sql: "SQL", + html: "HTML", + css: "CSS", + scss: "SCSS", + sass: "Sass", + yaml: "YAML", + yml: "YAML", + markdown: "Markdown", + md: "Markdown", + go: "Go", + golang: "Go", + java: "Java", + c: "C", + cpp: "C++", + "c++": "C++", + csharp: "C#", + cs: "C#", + "c#": "C#", + ruby: "Ruby", + rb: "Ruby", + php: "PHP", + swift: "Swift", + kotlin: "Kotlin", + kt: "Kotlin", + xml: "XML", + toml: "TOML", + dockerfile: "Dockerfile", + docker: "Dockerfile", + graphql: "GraphQL", + gql: "GraphQL", + wasm: "WebAssembly", + lua: "Lua", + r: "R", + diff: "Diff", + plaintext: "Text", + text: "Text", + txt: "Text", + }; + Ylr = { + alpha: "α", + beta: "β", + gamma: "γ", + delta: "δ", + epsilon: "ε", + zeta: "ζ", + eta: "η", + theta: "θ", + iota: "ι", + kappa: "κ", + lambda: "λ", + mu: "μ", + nu: "ν", + xi: "ξ", + pi: "π", + rho: "ρ", + sigma: "σ", + tau: "τ", + upsilon: "υ", + phi: "φ", + chi: "χ", + psi: "ψ", + omega: "ω", + Gamma: "Γ", + Delta: "Δ", + Theta: "Θ", + Lambda: "Λ", + Xi: "Ξ", + Pi: "Π", + Sigma: "Σ", + Phi: "Φ", + Psi: "Ψ", + Omega: "Ω", + times: "×", + div: "÷", + pm: "±", + mp: "∓", + le: "≤", + leq: "≤", + ge: "≥", + geq: "≥", + approx: "≈", + neq: "≠", + ne: "≠", + infty: "∞", + cdot: "·", + circ: "°", + partial: "∂", + nabla: "∇", + sum: "∑", + prod: "∏", + int: "∫", + sqrt: "√", + in: "∈", + notin: "∉", + subset: "⊂", + subseteq: "⊆", + cup: "∪", + cap: "∩", + to: "→", + rightarrow: "→", + leftarrow: "←", + leftrightarrow: "↔", + Rightarrow: "⇒", + Leftarrow: "⇐", + Leftrightarrow: "⇔", + forall: "∀", + exists: "∃", + }; + wx = Y2.forwardRef( + ( + { + content: e, + className: t, + size: n = "medium", + allowHtml: r = !1, + components: o, + onLinkClick: a, + renderLink: i, + labels: s, + }, + l, + ) => { + let c = jlr(n, { onLinkClick: a, renderLink: i, labels: s }); + return h("div", { + ref: l, + className: Ve("markdown min-w-0 text-on-surface", MZt[n], t), + children: h(bke, { + remarkPlugins: [sle, Jlr], + rehypePlugins: r ? [nle] : void 0, + components: o ? { ...c, ...o } : c, + children: e, + }), + }); + }, + ); + wx.displayName = "Markdown"; +}); +function tcr(e, t) { + if (t.length === 0) return e; + let n = new Set(t.map((r) => r.n)); + return e + .split($lr) + .map((r, o) => + o % 2 === 1 + ? r + : r.replace(ecr, (a, i) => + n.has(Number(i)) ? `[\\[${i}\\]](${LRe}${i})` : a, + ), + ) + .join(""); +} +function ncr({ citation: e, labels: t, onSelect: n, className: r }) { + let o = Vg(t), + a = `${ZG(o.citation, { n: e.n })}: ${e.title}`, + i = Ve( + "mx-0.5 inline-flex h-5 min-w-5 items-center justify-center rounded-small px-1 align-baseline", + "bg-secondary-container text-label-small text-on-secondary-container no-underline", + "transition-colors duration-200 ease-standard hover:bg-secondary-container/80", + zg, + r, + ); + if (!n && e.url) + return h("a", { + href: e.url, + target: "_blank", + rel: "noreferrer noopener", + className: i, + "aria-label": a, + title: e.title, + children: e.n, + }); + return h("button", { + type: "button", + className: i, + "aria-label": a, + title: e.title, + onClick: () => n?.(e), + children: e.n, + }); +} +function rcr(e, t, n, r) { + let o = new Map(e.map((a) => [a.n, a])); + return { + a: ({ node: a, href: i, children: s, onClick: l, ...c }) => { + if (i?.startsWith(LRe)) { + let u = o.get(Number(i.slice(LRe.length))); + if (u) return h(ncr, { citation: u, labels: t, onSelect: n }); + } + return h("a", { + href: i, + ...(lle(i) ? cle : {}), + onClick: (u) => { + if ((l?.(u), i)) r?.(i, u); + }, + className: Ve( + "rounded-extra-small text-primary underline underline-offset-2 hover:decoration-2", + zg, + ), + ...c, + children: s, + }); + }, + }; +} +function zZt({ + content: e, + citations: t, + labels: n, + onCitationSelect: r, + onLinkClick: o, + size: a = "large", + className: i, +}) { + let s = NZt.useMemo(() => rcr(t, n, r, o), [t, n, r, o]); + return h(wx, { + content: tcr(e, t), + components: s, + labels: n, + size: a, + className: i, + }); +} +function _Zt({ citations: e, labels: t, onSelect: n, className: r }) { + if (e.length === 0) return null; + let o = Vg(t), + a = [...e]; + return ( + a.sort((i, s) => i.n - s.n), + M("section", { + "aria-label": o.sources, + className: Ve( + "m3-citation-list mt-2 rounded-medium bg-surface-container-low py-2", + r, + ), + children: [ + h("h3", { + className: "px-4 pb-1 text-label-large text-on-surface-variant", + children: o.sources, + }), + h("ol", { + className: "m-0 list-none p-0", + children: a.map((i) => { + let s = M(Ht, { + children: [ + h("span", { + className: + "flex size-6 shrink-0 items-center justify-center rounded-small bg-secondary-container text-label-small text-on-secondary-container", + children: i.n, + }), + h("span", { + className: + "min-w-0 flex-1 truncate text-body-medium text-on-surface", + children: i.title, + }), + i.url || n + ? h(Md, { + name: "open_in_new", + size: 18, + className: "text-on-surface-variant", + }) + : null, + ], + }), + l = Ve( + "flex min-h-12 w-full items-center gap-3 px-4 py-1 text-left", + "transition-colors duration-200 ease-standard hover:bg-on-surface/8", + zg, + "focus-visible:outline-offset-[-3px]", + ), + c = `${ZG(o.citation, { n: i.n })}: ${i.title}`; + return h( + "li", + { + id: `citation-${i.n}`, + children: n + ? h("button", { + type: "button", + className: l, + "aria-label": c, + onClick: () => n(i), + children: s, + }) + : i.url + ? h("a", { + href: i.url, + target: "_blank", + rel: "noreferrer noopener", + className: l, + "aria-label": `${c} (${o.openSource})`, + children: s, + }) + : h("div", { + className: "flex min-h-12 items-center gap-3 px-4 py-1", + children: s, + }), + }, + `${i.n}-${i.id ?? i.title}`, + ); + }), + }), + ], + }) + ); +} +function BRe({ labels: e, detail: t, className: n }) { + let r = Vg(e); + return M("div", { + role: "note", + className: Ve( + "m3-refusal-notice flex items-start gap-3 rounded-medium bg-surface-container-high px-4 py-3", + n, + ), + children: [ + h(Md, { + name: "info", + size: 20, + className: "mt-0.5 text-on-surface-variant", + }), + M("div", { + className: "min-w-0", + children: [ + h("p", { + className: "m-0 text-title-small text-on-surface", + children: r.refusalTitle, + }), + h("p", { + className: "m-0 mt-0.5 text-body-medium text-on-surface-variant", + children: t || r.refusalBody, + }), + ], + }), + ], + }); +} +var NZt, + LRe = "#citation-", + $lr, + ecr; +var HZt = P(() => { + rn(); + gD(); + yD(); + cH(); + ule(); + le(); + ((NZt = z(re(), 1)), + ($lr = /(```[\s\S]*?```|`[^`\n]*`)/), + (ecr = /(? 0 ? c : null; + return M("div", { + className: Ve( + "group flex flex-col py-1.5 w-full", + t ? "items-end" : "items-start", + s, + ), + children: [ + h("div", { + className: Ve( + "min-w-0", + t + ? f + ? "max-w-[75%] rounded-[28px] bg-surface-container-high px-5 py-3 text-body-large text-on-surface shadow-xs" + : "max-w-[80%] rounded-large rounded-br-extra-small bg-secondary-container px-4 py-2.5 text-body-large text-on-secondary-container" + : "w-full max-w-full bg-transparent text-body-large text-on-surface", + ), + "aria-busy": n || void 0, + children: t + ? h("div", { + className: "whitespace-pre-wrap break-words", + children: e, + }) + : M(Ht, { + children: [ + u && !e.trim() + ? h(BRe, { labels: l }) + : g + ? h(zZt, { + content: e, + citations: g, + labels: l, + onCitationSelect: d, + onLinkClick: p, + className: "break-words font-sans", + }) + : h(wx, { + content: e, + size: "large", + labels: l, + onLinkClick: p, + className: "break-words font-sans", + }), + u && e.trim() ? h(BRe, { labels: l, className: "mt-2" }) : null, + g && !n + ? h(_Zt, { citations: g, labels: l, onSelect: d }) + : null, + ], + }), + }), + !t && (r || o || a) + ? M("div", { + className: + "mt-1.5 flex items-center gap-1 opacity-0 transition-opacity duration-200 ease-standard group-focus-within:opacity-100 group-hover:opacity-100", + children: [ + r && + h(yn, { + icon: h(Md, { name: "content_copy", size: 18 }), + variant: "standard", + size: "sm", + onClick: () => r(e), + "aria-label": n ? m.copyStreamingMessage : m.copyMessage, + title: n ? m.copyStreamingMessage : m.copyMessage, + }), + o && + h(yn, { + icon: h(Md, { name: "thumb_down", size: 18 }), + variant: "standard", + size: "sm", + onClick: () => o(e), + "aria-label": m.dislike, + title: m.dislike, + }), + a && + h(yn, { + icon: h(Md, { name: "call_split", size: 18 }), + variant: "standard", + size: "sm", + onClick: a, + "aria-label": m.fork, + title: m.fork, + }), + ], + }) + : null, + ], + }); +} +var VZt = P(() => { + gn(); + rn(); + gD(); + HZt(); + yD(); + ule(); + le(); +}); +function ocr(e, t = "") { + let n = t.trim().toLowerCase(); + return ( + n + ? e.filter( + (o) => + o.name.toLowerCase().includes(n) || + o.provider.toLowerCase().includes(n), + ) + : e + ).reduce((o, a) => { + if (!o[a.provider]) o[a.provider] = []; + return (o[a.provider].push(a), o); + }, Object.create(null)); +} +function acr({ grouped: e, value: t, onSelect: n, className: r, labels: o }) { + let a = Vg(o), + i = Object.entries(e), + s = i.flatMap(([, d]) => d), + [l, c] = K2.useState(t), + u = s.some((d) => d.id === l) + ? l + : (s.find((d) => d.id === t)?.id ?? s[0]?.id); + return M("div", { + role: "listbox", + "aria-label": a.models, + tabIndex: -1, + onKeyDown: (d) => { + if (d.defaultPrevented) return; + let p = Array.from(d.currentTarget.querySelectorAll('[role="option"]')), + f = p.indexOf(d.target); + if (f < 0) return; + let m; + switch (d.key) { + case "ArrowDown": + m = (f + 1) % p.length; + break; + case "ArrowUp": + m = (f - 1 + p.length) % p.length; + break; + case "Home": + m = 0; + break; + case "End": + m = p.length - 1; + break; + default: + return; + } + (d.preventDefault(), p[m].focus()); + }, + className: Ve("flex flex-col", r), + children: [ + i.map(([d, p], f) => + M( + "div", + { + role: "group", + "aria-label": d, + className: Ve(f > 0 && "mt-1 border-t border-outline-variant pt-1"), + children: [ + h("div", { + className: + "px-3 pt-2 pb-1 text-title-small text-on-surface-variant", + children: d, + }), + p.map((m) => { + let g = m.id === t; + return M( + "button", + { + type: "button", + role: "option", + "aria-selected": g, + tabIndex: m.id === u ? 0 : -1, + onFocus: () => c(m.id), + onClick: () => n(m.id), + className: Ve( + "flex min-h-12 w-full items-center gap-3 px-3 py-2 text-left", + "transition-colors duration-200 ease-standard", + g + ? "bg-secondary-container text-on-secondary-container" + : "text-on-surface hover:bg-on-surface/8 active:bg-on-surface/10", + zg, + "focus-visible:outline-offset-[-3px]", + ), + children: [ + M("div", { + className: "min-w-0 flex-1", + children: [ + h("div", { + className: "truncate text-label-large", + children: m.name, + }), + m.context_window || m.capabilities?.length + ? M("div", { + className: + "mt-0.5 flex flex-wrap items-center gap-1", + children: [ + m.context_window + ? h("span", { + className: Ve( + "text-body-small", + g + ? "text-on-secondary-container" + : "text-on-surface-variant", + ), + children: ZG(a.contextTokens, { + count: + m.context_window.toLocaleString(), + }), + }) + : null, + m.capabilities?.map((v) => + h( + "span", + { + className: Ve( + "inline-flex h-5 items-center rounded-small border border-outline-variant px-1.5 text-label-small", + g + ? "text-on-secondary-container" + : "text-on-surface-variant", + ), + children: v, + }, + v, + ), + ), + ], + }) + : null, + ], + }), + g && h(Md, { name: "check", size: 20 }), + ], + }, + m.id, + ); + }), + ], + }, + d, + ), + ), + i.length === 0 && + h("div", { + className: + "px-3 py-3 text-center text-body-small text-on-surface-variant", + children: a.noModels, + }), + ], + }); +} +function icr({ value: e, onChange: t, placeholder: n }) { + let r = K2.useRef(null); + return ( + K2.useEffect(() => { + r.current?.focus(); + }, []), + h("div", { + className: "px-2 pb-2", + children: M("label", { + className: + "flex h-10 items-center gap-2 rounded-full bg-surface-container-high px-3 text-on-surface-variant focus-within:bg-surface-container-highest", + children: [ + h(Md, { name: "search", size: 20 }), + h("input", { + ref: r, + value: e, + onChange: (o) => t(o.target.value), + placeholder: n, + "aria-label": n, + className: + "min-w-0 flex-1 bg-transparent text-body-large text-on-surface outline-none placeholder:text-on-surface-variant", + }), + ], + }), + }) + ); +} +var K2, ORe; +var GZt = P(() => { + gn(); + rn(); + gD(); + yD(); + cH(); + le(); + K2 = z(re(), 1); + ORe = K2.forwardRef( + ( + { + models: e, + value: t, + onChange: n, + placeholder: r, + searchPlaceholder: o, + variant: a, + size: i, + popover: s, + className: l, + disabled: c, + labels: u, + }, + d, + ) => { + let p = Vg(u), + f = mm(), + m = s ?? f, + [g, v] = K2.useState(""), + y = e.find((A) => A.id === t), + x = K2.useMemo(() => ocr(e, g), [e, g]); + return M(pa.Root, { + open: m.open, + onOpenChange: (A) => { + if ((m.setOpen(A), !A)) v(""); + }, + children: [ + h(pa.Trigger, { + asChild: !0, + children: M(cM, { + ref: d, + variant: a, + size: i, + disabled: c, + "aria-haspopup": "listbox", + hideCaret: !0, + className: Ve("w-full", l), + children: [ + h("span", { + className: "min-w-0 flex-1 truncate", + children: y?.name ?? r ?? p.selectModel, + }), + h(Md, { name: "expand_more", size: 18 }), + ], + }), + }), + M(pa.Content, { + align: "end", + sideOffset: 8, + style: { width: 280 }, + className: "overflow-hidden rounded-extra-small! py-2", + children: [ + h(icr, { + value: g, + onChange: v, + placeholder: o ?? p.searchModels, + }), + h("div", { + className: "max-h-[320px] overflow-y-auto", + children: h(acr, { + grouped: x, + value: t, + labels: u, + onSelect: (A) => { + (n(A), m.setOpen(!1), v("")); + }, + }), + }), + ], + }), + ], + }); + }, + ); + ORe.displayName = "ModelSelector"; +}); +function FRe({ + draft: e, + onDraftChange: t, + onSend: n, + placeholder: r, + heading: o, + isSending: a = !1, + disabled: i = !1, + projectSelector: s, + modelSelector: l, + onOpenVoice: c, + toolbarExtra: u, + onStop: d, + className: p, + labels: f, +}) { + let m = Vg(f), + g = r ?? m.composerPlaceholder, + v = !i && !a && e.trim().length > 0, + y = !i && a && !!d; + return M(Ht, { + children: [ + o && + M("div", { + className: + "mb-3 flex items-center gap-2 px-1 text-title-small text-on-surface-variant", + children: [ + h(Md, { + name: "auto_awesome_filled", + size: 18, + className: "text-primary", + }), + o, + ], + }), + M("div", { + className: Ve( + "m3-chat-composer rounded-extra-large bg-surface-container-high px-4 pt-3 pb-2 text-on-surface", + "transition-colors duration-200 ease-standard focus-within:bg-surface-container-highest", + p, + ), + children: [ + h("textarea", { + value: e, + onChange: (x) => t(x.target.value), + onKeyDown: (x) => { + if (x.key === "Enter" && !x.shiftKey) { + if ((x.preventDefault(), v)) n(); + } + }, + placeholder: g, + "aria-label": g, + rows: 2, + disabled: i, + className: + "block w-full resize-none border-0 bg-transparent px-1 text-body-large text-on-surface caret-primary outline-none placeholder:text-on-surface-variant focus:outline-none focus:ring-0", + }), + M("div", { + className: "mt-2 flex items-center justify-between gap-2", + children: [ + s + ? h("div", { + className: "w-[210px]", + children: M(pa.Root, { + open: s.popover.open, + onOpenChange: s.popover.setOpen, + children: [ + h(pa.Trigger, { + asChild: !0, + children: M(cM, { + className: "w-full", + "aria-haspopup": "listbox", + disabled: i, + hideCaret: !0, + children: [ + h("span", { + className: "min-w-0 flex-1 truncate", + children: s.value, + }), + h(Md, { name: "expand_more", size: 18 }), + ], + }), + }), + h(pa.Content, { + align: "start", + sideOffset: 8, + className: + "min-w-[210px] overflow-hidden rounded-extra-small! py-2", + children: h("div", { + role: "listbox", + "aria-label": m.projects, + children: s.options.map((x) => { + let A = x === s.value; + return M( + "button", + { + type: "button", + role: "option", + "aria-selected": A, + onClick: () => { + (s.onChange(x), s.popover.setOpen(!1)); + }, + className: Ve( + "flex h-12 w-full items-center gap-3 px-3 text-left text-label-large", + "transition-colors duration-200 ease-standard", + A + ? "bg-secondary-container text-on-secondary-container" + : "text-on-surface hover:bg-on-surface/8", + zg, + "focus-visible:outline-offset-[-3px]", + ), + children: [ + h("span", { + className: "min-w-0 flex-1 truncate", + children: x, + }), + A && h(Md, { name: "check", size: 20 }), + ], + }, + x, + ); + }), + }), + }), + ], + }), + }) + : h("div", {}), + M(Zn.div, { + layout: !0, + className: "flex items-center gap-1", + children: [ + l && + h("div", { + className: "w-[180px]", + children: h(ORe, { + models: l.options, + value: l.value, + onChange: l.onChange, + size: "md", + disabled: i, + labels: f, + }), + }), + u, + c && + h(yn, { + icon: h(Md, { name: "mic", size: 20 }), + variant: "standard", + onClick: c, + disabled: a || i, + "aria-label": m.openVoice, + }), + h(Do, { + initial: !1, + mode: "popLayout", + children: y + ? h( + Zn.button, + { + type: "button", + ...qZt, + onClick: d, + "aria-label": m.stop, + className: Ve( + "flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-on-primary", + "transition-colors duration-200 ease-standard hover:bg-primary/92 active:bg-primary/90", + zg, + ), + children: h(Md, { name: "stop_filled", size: 24 }), + }, + "stop", + ) + : v + ? h( + Zn.button, + { + type: "button", + ...qZt, + onClick: n, + "aria-label": m.send, + className: Ve( + "flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-on-primary", + "transition-colors duration-200 ease-standard hover:bg-primary/92 active:bg-primary/90", + zg, + ), + children: h(Md, { + name: "arrow_upward", + size: 24, + }), + }, + "send", + ) + : null, + }), + ], + }), + ], + }), + ], + }), + ], + }); +} +var qZt; +var ZZt = P(() => { + gn(); + rs(); + rn(); + ri(); + gD(); + yD(); + cH(); + GZt(); + le(); + qZt = { + initial: { scale: 0.6, opacity: 0 }, + animate: { + scale: 1, + opacity: 1, + transition: { duration: mn.short4, ease: Kt.emphasizedDecelerate }, + }, + exit: { + scale: 0.6, + opacity: 0, + transition: { duration: mn.short3, ease: Kt.emphasizedAccelerate }, + }, + }; +}); +var br; +var URe = P(() => { + br = (function (e) { + return ( + (e.TEXT_MESSAGE_START = "TEXT_MESSAGE_START"), + (e.TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT"), + (e.TEXT_MESSAGE_END = "TEXT_MESSAGE_END"), + (e.TEXT_MESSAGE_CHUNK = "TEXT_MESSAGE_CHUNK"), + (e.TOOL_CALL_START = "TOOL_CALL_START"), + (e.TOOL_CALL_ARGS = "TOOL_CALL_ARGS"), + (e.TOOL_CALL_END = "TOOL_CALL_END"), + (e.TOOL_CALL_CHUNK = "TOOL_CALL_CHUNK"), + (e.TOOL_CALL_RESULT = "TOOL_CALL_RESULT"), + (e.STATE_SNAPSHOT = "STATE_SNAPSHOT"), + (e.STATE_DELTA = "STATE_DELTA"), + (e.MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT"), + (e.ACTIVITY_SNAPSHOT = "ACTIVITY_SNAPSHOT"), + (e.ACTIVITY_DELTA = "ACTIVITY_DELTA"), + (e.RAW = "RAW"), + (e.CUSTOM = "CUSTOM"), + (e.RUN_STARTED = "RUN_STARTED"), + (e.RUN_FINISHED = "RUN_FINISHED"), + (e.RUN_ERROR = "RUN_ERROR"), + (e.STEP_STARTED = "STEP_STARTED"), + (e.STEP_FINISHED = "STEP_FINISHED"), + (e.REASONING_START = "REASONING_START"), + (e.REASONING_MESSAGE_START = "REASONING_MESSAGE_START"), + (e.REASONING_MESSAGE_CONTENT = "REASONING_MESSAGE_CONTENT"), + (e.REASONING_MESSAGE_END = "REASONING_MESSAGE_END"), + (e.REASONING_MESSAGE_CHUNK = "REASONING_MESSAGE_CHUNK"), + (e.REASONING_END = "REASONING_END"), + (e.REASONING_ENCRYPTED_VALUE = "REASONING_ENCRYPTED_VALUE"), + (e.SUBAGENT_STARTED = "SUBAGENT_STARTED"), + (e.SUBAGENT_FINISHED = "SUBAGENT_FINISHED"), + (e.SUBAGENT_ERROR = "SUBAGENT_ERROR"), + e + ); + })({}); +}); +var xm = P(() => { + URe(); +}); +function fle(e, t) { + return lcr.call(e, t); +} +function mle(e) { + if (Array.isArray(e)) { + var t = Array(e.length); + for (var n = 0; n < t.length; n++) t[n] = "" + n; + return t; + } + if (Object.keys) return Object.keys(e); + var r = []; + for (var o in e) if (fle(e, o)) r.push(o); + return r; +} +function Nf(e) { + switch (typeof e) { + case "object": + return JSON.parse(JSON.stringify(e)); + case "undefined": + return null; + default: + return e; + } +} +function hle(e) { + var t = 0, + n = e.length, + r; + while (t < n) { + if (((r = e.charCodeAt(t)), r >= 48 && r <= 57)) { + t++; + continue; + } + return !1; + } + return !0; +} +function Sx(e) { + if (e.indexOf("/") === -1 && e.indexOf("~") === -1) return e; + return e.replace(/~/g, "~0").replace(/\//g, "~1"); +} +function XG(e) { + return e.replace(/~1/g, "/").replace(/~0/g, "~"); +} +function ple(e) { + if (e === void 0) return !0; + if (e) { + if (Array.isArray(e)) { + for (var t = 0, n = e.length; t < n; t++) if (ple(e[t])) return !0; + } else if (typeof e === "object") { + var r = mle(e), + o = r.length; + for (var a = 0; a < o; a++) if (ple(e[r[a]])) return !0; + } + } + return !1; +} +function XZt(e, t) { + var n = [e]; + for (var r in t) { + var o = typeof t[r] === "object" ? JSON.stringify(t[r], null, 2) : t[r]; + if (typeof o < "u") n.push(r + ": " + o); + } + return n.join(` +`); +} +var scr, lcr, WG; +var YG = P(() => { + /*! + * https://github.com/Starcounter-Jack/JSON-Patch + * (c) 2017-2022 Joachim Wester + * MIT licensed + */ ((scr = (function () { + var e = function (t, n) { + return ( + (e = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (r, o) { + r.__proto__ = o; + }) || + function (r, o) { + for (var a in o) if (o.hasOwnProperty(a)) r[a] = o[a]; + }), + 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()); + }; + })()), + (lcr = Object.prototype.hasOwnProperty)); + WG = (function (e) { + scr(t, e); + function t(n, r, o, a, i) { + var s = this.constructor, + l = + e.call(this, XZt(n, { name: r, index: o, operation: a, tree: i })) || + this; + return ( + (l.name = r), + (l.index = o), + (l.operation = a), + (l.tree = i), + Object.setPrototypeOf(l, s.prototype), + (l.message = XZt(n, { name: r, index: o, operation: a, tree: i })), + l + ); + } + return t; + })(Error); +}); +var NRe = {}; +Xs(NRe, { + JsonPatchError: () => pc, + _areEquals: () => KG, + applyOperation: () => YI, + applyPatch: () => vle, + applyReducer: () => dcr, + deepClone: () => ccr, + getValueByPointer: () => gle, + validate: () => WZt, + validator: () => yle, +}); +function gle(e, t) { + if (t == "") return e; + var n = { op: "_get", path: t }; + return (YI(e, n), n.value); +} +function YI(e, t, n, r, o, a) { + if (n === void 0) n = !1; + if (r === void 0) r = !0; + if (o === void 0) o = !0; + if (a === void 0) a = 0; + if (n) + if (typeof n == "function") n(t, 0, e, t.path); + else yle(t, 0); + if (t.path === "") { + var i = { newDocument: e }; + if (t.op === "add") return ((i.newDocument = t.value), i); + else if (t.op === "replace") + return ((i.newDocument = t.value), (i.removed = e), i); + else if (t.op === "move" || t.op === "copy") { + if (((i.newDocument = gle(e, t.from)), t.op === "move")) i.removed = e; + return i; + } else if (t.op === "test") { + if (((i.test = KG(e, t.value)), i.test === !1)) + throw new pc("Test operation failed", "TEST_OPERATION_FAILED", a, t, e); + return ((i.newDocument = e), i); + } else if (t.op === "remove") + return ((i.removed = e), (i.newDocument = null), i); + else if (t.op === "_get") return ((t.value = e), i); + else if (n) + throw new pc( + "Operation `op` property is not one of operations defined in RFC-6902", + "OPERATION_OP_INVALID", + a, + t, + e, + ); + else return i; + } else { + if (!r) e = Nf(e); + var s = t.path || "", + l = s.split("/"), + c = e, + u = 1, + d = l.length, + p = void 0, + f = void 0, + m = void 0; + if (typeof n == "function") m = n; + else m = yle; + while (!0) { + if (((f = l[u]), f && f.indexOf("~") != -1)) f = XG(f); + if ( + o && + (f == "__proto__" || + (f == "prototype" && u > 0 && l[u - 1] == "constructor")) + ) + throw TypeError( + "JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README", + ); + if (n) { + if (p === void 0) { + if (c[f] === void 0) p = l.slice(0, u).join("/"); + else if (u == d - 1) p = t.path; + if (p !== void 0) m(t, 0, e, p); + } + } + if ((u++, Array.isArray(c))) { + if (f === "-") f = c.length; + else if (n && !hle(f)) + throw new pc( + "Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index", + "OPERATION_PATH_ILLEGAL_ARRAY_INDEX", + a, + t, + e, + ); + else if (hle(f)) f = ~~f; + if (u >= d) { + if (n && t.op === "add" && f > c.length) + throw new pc( + "The specified index MUST NOT be greater than the number of elements in the array", + "OPERATION_VALUE_OUT_OF_BOUNDS", + a, + t, + e, + ); + var i = ucr[t.op].call(t, c, f, e); + if (i.test === !1) + throw new pc( + "Test operation failed", + "TEST_OPERATION_FAILED", + a, + t, + e, + ); + return i; + } + } else if (u >= d) { + var i = bD[t.op].call(t, c, f, e); + if (i.test === !1) + throw new pc( + "Test operation failed", + "TEST_OPERATION_FAILED", + a, + t, + e, + ); + return i; + } + if (((c = c[f]), n && u < d && (!c || typeof c !== "object"))) + throw new pc( + "Cannot perform operation at the desired path", + "OPERATION_PATH_UNRESOLVABLE", + a, + t, + e, + ); + } + } +} +function vle(e, t, n, r, o) { + if (r === void 0) r = !0; + if (o === void 0) o = !0; + if (n) { + if (!Array.isArray(t)) + throw new pc("Patch sequence must be an array", "SEQUENCE_NOT_AN_ARRAY"); + } + if (!r) e = Nf(e); + var a = Array(t.length); + for (var i = 0, s = t.length; i < s; i++) + ((a[i] = YI(e, t[i], n, !0, o, i)), (e = a[i].newDocument)); + return ((a.newDocument = e), a); +} +function dcr(e, t, n) { + var r = YI(e, t); + if (r.test === !1) + throw new pc("Test operation failed", "TEST_OPERATION_FAILED", n, t, e); + return r.newDocument; +} +function yle(e, t, n, r) { + if (typeof e !== "object" || e === null || Array.isArray(e)) + throw new pc( + "Operation is not an object", + "OPERATION_NOT_AN_OBJECT", + t, + e, + n, + ); + else if (!bD[e.op]) + throw new pc( + "Operation `op` property is not one of operations defined in RFC-6902", + "OPERATION_OP_INVALID", + t, + e, + n, + ); + else if (typeof e.path !== "string") + throw new pc( + "Operation `path` property is not a string", + "OPERATION_PATH_INVALID", + t, + e, + n, + ); + else if (e.path.indexOf("/") !== 0 && e.path.length > 0) + throw new pc( + 'Operation `path` property must start with "/"', + "OPERATION_PATH_INVALID", + t, + e, + n, + ); + else if ((e.op === "move" || e.op === "copy") && typeof e.from !== "string") + throw new pc( + "Operation `from` property is not present (applicable in `move` and `copy` operations)", + "OPERATION_FROM_REQUIRED", + t, + e, + n, + ); + else if ( + (e.op === "add" || e.op === "replace" || e.op === "test") && + e.value === void 0 + ) + throw new pc( + "Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)", + "OPERATION_VALUE_REQUIRED", + t, + e, + n, + ); + else if ( + (e.op === "add" || e.op === "replace" || e.op === "test") && + ple(e.value) + ) + throw new pc( + "Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)", + "OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED", + t, + e, + n, + ); + else if (n) { + if (e.op == "add") { + var o = e.path.split("/").length, + a = r.split("/").length; + if (o !== a + 1 && o !== a) + throw new pc( + "Cannot perform an `add` operation at the desired path", + "OPERATION_PATH_CANNOT_ADD", + t, + e, + n, + ); + } else if (e.op === "replace" || e.op === "remove" || e.op === "_get") { + if (e.path !== r) + throw new pc( + "Cannot perform the operation at a path that does not exist", + "OPERATION_PATH_UNRESOLVABLE", + t, + e, + n, + ); + } else if (e.op === "move" || e.op === "copy") { + var i = { op: "_get", path: e.from, value: void 0 }, + s = WZt([i], n); + if (s && s.name === "OPERATION_PATH_UNRESOLVABLE") + throw new pc( + "Cannot perform the operation from a path that does not exist", + "OPERATION_FROM_UNRESOLVABLE", + t, + e, + n, + ); + } + } +} +function WZt(e, t, n) { + try { + if (!Array.isArray(e)) + throw new pc("Patch sequence must be an array", "SEQUENCE_NOT_AN_ARRAY"); + if (t) vle(Nf(t), Nf(e), n || !0); + else { + n = n || yle; + for (var r = 0; r < e.length; r++) n(e[r], r, t, void 0); + } + } catch (o) { + if (o instanceof pc) return o; + else throw o; + } +} +function KG(e, t) { + if (e === t) return !0; + if (e && t && typeof e == "object" && typeof t == "object") { + var n = Array.isArray(e), + r = Array.isArray(t), + o, + a, + i; + if (n && r) { + if (((a = e.length), a != t.length)) return !1; + for (o = a; o-- !== 0;) if (!KG(e[o], t[o])) return !1; + return !0; + } + if (n != r) return !1; + var s = Object.keys(e); + if (((a = s.length), a !== Object.keys(t).length)) return !1; + for (o = a; o-- !== 0;) if (!t.hasOwnProperty(s[o])) return !1; + for (o = a; o-- !== 0;) if (((i = s[o]), !KG(e[i], t[i]))) return !1; + return !0; + } + return e !== e && t !== t; +} +var pc, ccr, bD, ucr; +var ble = P(() => { + YG(); + ((pc = WG), + (ccr = Nf), + (bD = { + add: function (e, t, n) { + return ((e[t] = this.value), { newDocument: n }); + }, + remove: function (e, t, n) { + var r = e[t]; + return (delete e[t], { newDocument: n, removed: r }); + }, + replace: function (e, t, n) { + var r = e[t]; + return ((e[t] = this.value), { newDocument: n, removed: r }); + }, + move: function (e, t, n) { + var r = gle(n, this.path); + if (r) r = Nf(r); + var o = YI(n, { op: "remove", path: this.from }).removed; + return ( + YI(n, { op: "add", path: this.path, value: o }), + { newDocument: n, removed: r } + ); + }, + copy: function (e, t, n) { + var r = gle(n, this.from); + return ( + YI(n, { op: "add", path: this.path, value: Nf(r) }), + { newDocument: n } + ); + }, + test: function (e, t, n) { + return { newDocument: n, test: KG(e[t], this.value) }; + }, + _get: function (e, t, n) { + return ((this.value = e[t]), { newDocument: n }); + }, + }), + (ucr = { + add: function (e, t, n) { + if (hle(t)) e.splice(t, 0, this.value); + else e[t] = this.value; + return { newDocument: n, index: t }; + }, + remove: function (e, t, n) { + var r = e.splice(t, 1); + return { newDocument: n, removed: r[0] }; + }, + replace: function (e, t, n) { + var r = e[t]; + return ((e[t] = this.value), { newDocument: n, removed: r }); + }, + move: bD.move, + copy: bD.copy, + test: bD.test, + _get: bD._get, + })); +}); +var VRe = {}; +Xs(VRe, { + compare: () => bcr, + generate: () => zRe, + observe: () => vcr, + unobserve: () => ycr, +}); +function mcr(e) { + return _Re.get(e); +} +function hcr(e, t) { + return e.observers.get(t); +} +function gcr(e, t) { + e.observers.delete(t.callback); +} +function ycr(e, t) { + t.unobserve(); +} +function vcr(e, t) { + var n = [], + r, + o = mcr(e); + if (!o) ((o = new pcr(e)), _Re.set(e, o)); + else { + var a = hcr(o, t); + r = a && a.observer; + } + if (r) return r; + if (((r = {}), (o.value = Nf(e)), t)) { + ((r.callback = t), (r.next = null)); + var i = function () { + zRe(r); + }, + s = function () { + (clearTimeout(r.next), (r.next = setTimeout(i))); + }; + if (typeof window < "u") + (window.addEventListener("mouseup", s), + window.addEventListener("keyup", s), + window.addEventListener("mousedown", s), + window.addEventListener("keydown", s), + window.addEventListener("change", s)); + } + return ( + (r.patches = n), + (r.object = e), + (r.unobserve = function () { + if ((zRe(r), clearTimeout(r.next), gcr(o, r), typeof window < "u")) + (window.removeEventListener("mouseup", s), + window.removeEventListener("keyup", s), + window.removeEventListener("mousedown", s), + window.removeEventListener("keydown", s), + window.removeEventListener("change", s)); + }), + o.observers.set(t, new fcr(t, r)), + r + ); +} +function zRe(e, t) { + if (t === void 0) t = !1; + var n = _Re.get(e.object); + if ((HRe(n.value, e.object, e.patches, "", t), e.patches.length)) + vle(n.value, e.patches); + var r = e.patches; + if (r.length > 0) { + if (((e.patches = []), e.callback)) e.callback(r); + } + return r; +} +function HRe(e, t, n, r, o) { + if (t === e) return; + if (typeof t.toJSON === "function") t = t.toJSON(); + var a = mle(t), + i = mle(e), + s = !1, + l = !1; + for (var c = i.length - 1; c >= 0; c--) { + var u = i[c], + d = e[u]; + if ( + fle(t, u) && + !(t[u] === void 0 && d !== void 0 && Array.isArray(t) === !1) + ) { + var p = t[u]; + if ( + typeof d == "object" && + d != null && + typeof p == "object" && + p != null && + Array.isArray(d) === Array.isArray(p) + ) + HRe(d, p, n, r + "/" + Sx(u), o); + else if (d !== p) { + if (((s = !0), o)) + n.push({ op: "test", path: r + "/" + Sx(u), value: Nf(d) }); + n.push({ op: "replace", path: r + "/" + Sx(u), value: Nf(p) }); + } + } else if (Array.isArray(e) === Array.isArray(t)) { + if (o) n.push({ op: "test", path: r + "/" + Sx(u), value: Nf(d) }); + (n.push({ op: "remove", path: r + "/" + Sx(u) }), (l = !0)); + } else { + if (o) n.push({ op: "test", path: r, value: e }); + (n.push({ op: "replace", path: r, value: t }), (s = !0)); + } + } + if (!l && a.length == i.length) return; + for (var c = 0; c < a.length; c++) { + var u = a[c]; + if (!fle(e, u) && t[u] !== void 0) + n.push({ op: "add", path: r + "/" + Sx(u), value: Nf(t[u]) }); + } +} +function bcr(e, t, n) { + if (n === void 0) n = !1; + var r = []; + return (HRe(e, t, r, "", n), r); +} +var _Re, pcr, fcr; +var GRe = P(() => { + YG(); + ble(); + /*! + * https://github.com/Starcounter-Jack/JSON-Patch + * (c) 2017-2021 Joachim Wester + * MIT license + */ ((_Re = new WeakMap()), + (pcr = (function () { + function e(t) { + ((this.observers = new Map()), (this.obj = t)); + } + return e; + })()), + (fcr = (function () { + function e(t, n) { + ((this.callback = t), (this.observer = n)); + } + return e; + })())); +}); +var qRe; +var xle = P(() => { + YG(); + ble(); + GRe(); + YG(); + ble(); + GRe(); + qRe = Object.assign({}, NRe, VRe, { + JsonPatchError: WG, + deepClone: Nf, + escapePathComponent: Sx, + unescapePathComponent: XG, + }); +}); +function Tt(e, t, n, r) { + var o = arguments.length, + a = + o < 3 ? t : r === null ? (r = Object.getOwnPropertyDescriptor(t, n)) : r, + i; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + a = Reflect.decorate(e, t, n, r); + else + for (var s = e.length - 1; s >= 0; s--) + if ((i = e[s])) a = (o < 3 ? i(a) : o > 3 ? i(t, n, a) : i(t, n)) || a; + return (o > 3 && a && Object.defineProperty(t, n, a), a); +} +var yl = () => {}; +var La; +var ZRe = P(() => { + La = (function (e) { + return ( + (e.TEXT_MESSAGE_START = "TEXT_MESSAGE_START"), + (e.TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT"), + (e.TEXT_MESSAGE_END = "TEXT_MESSAGE_END"), + (e.TEXT_MESSAGE_CHUNK = "TEXT_MESSAGE_CHUNK"), + (e.TOOL_CALL_START = "TOOL_CALL_START"), + (e.TOOL_CALL_ARGS = "TOOL_CALL_ARGS"), + (e.TOOL_CALL_END = "TOOL_CALL_END"), + (e.TOOL_CALL_CHUNK = "TOOL_CALL_CHUNK"), + (e.TOOL_CALL_RESULT = "TOOL_CALL_RESULT"), + (e.STATE_SNAPSHOT = "STATE_SNAPSHOT"), + (e.STATE_DELTA = "STATE_DELTA"), + (e.MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT"), + (e.ACTIVITY_SNAPSHOT = "ACTIVITY_SNAPSHOT"), + (e.ACTIVITY_DELTA = "ACTIVITY_DELTA"), + (e.RAW = "RAW"), + (e.CUSTOM = "CUSTOM"), + (e.RUN_STARTED = "RUN_STARTED"), + (e.RUN_FINISHED = "RUN_FINISHED"), + (e.RUN_ERROR = "RUN_ERROR"), + (e.STEP_STARTED = "STEP_STARTED"), + (e.STEP_FINISHED = "STEP_FINISHED"), + (e.REASONING_START = "REASONING_START"), + (e.REASONING_MESSAGE_START = "REASONING_MESSAGE_START"), + (e.REASONING_MESSAGE_CONTENT = "REASONING_MESSAGE_CONTENT"), + (e.REASONING_MESSAGE_END = "REASONING_MESSAGE_END"), + (e.REASONING_MESSAGE_CHUNK = "REASONING_MESSAGE_CHUNK"), + (e.REASONING_END = "REASONING_END"), + (e.REASONING_ENCRYPTED_VALUE = "REASONING_ENCRYPTED_VALUE"), + (e.SUBAGENT_STARTED = "SUBAGENT_STARTED"), + (e.SUBAGENT_FINISHED = "SUBAGENT_FINISHED"), + (e.SUBAGENT_ERROR = "SUBAGENT_ERROR"), + e + ); + })({}); +}); +var YZt = P(() => { + ZRe(); +}); +function _t(e, t, n) { + function r(s, l) { + var c; + (Object.defineProperty(s, "_zod", { value: s._zod ?? {}, enumerable: !1 }), + (c = s._zod).traits ?? (c.traits = new Set()), + s._zod.traits.add(e), + t(s, l)); + for (let u in i.prototype) + if (!(u in s)) + Object.defineProperty(s, u, { value: i.prototype[u].bind(s) }); + ((s._zod.constr = i), (s._zod.def = l)); + } + let o = n?.Parent ?? Object; + class a extends o {} + Object.defineProperty(a, "name", { value: e }); + function i(s) { + var l; + let c = n?.Parent ? new a() : this; + (r(c, s), (l = c._zod).deferred ?? (l.deferred = [])); + for (let u of c._zod.deferred) u(); + return c; + } + return ( + Object.defineProperty(i, "init", { value: r }), + Object.defineProperty(i, Symbol.hasInstance, { + value: (s) => { + if (n?.Parent && s instanceof n.Parent) return !0; + return s?._zod?.traits?.has(e); + }, + }), + Object.defineProperty(i, "name", { value: e }), + i + ); +} +function J2(e) { + if (e) Object.assign(Ale, e); + return Ale; +} +var iva, sva, pC, Ale; +var xD = P(() => { + iva = Object.freeze({ status: "aborted" }); + sva = Symbol("zod_brand"); + pC = class pC extends Error { + constructor() { + super( + "Encountered Promise during synchronous parse. Use .parseAsync() instead.", + ); + } + }; + Ale = {}; +}); +function KZt(e) { + let t = Object.values(e).filter((r) => typeof r === "number"); + return Object.entries(e) + .filter(([r, o]) => t.indexOf(+r) === -1) + .map(([r, o]) => o); +} +function XRe(e, t = "|") { + return e.map((n) => KRe(n)).join(t); +} +function JZt(e, t) { + if (typeof t === "bigint") return t.toString(); + return t; +} +function Sle(e) { + return { + get value() { + { + let n = e(); + return (Object.defineProperty(this, "value", { value: n }), n); + } + throw Error("cached value already set"); + }, + }; +} +function Cle(e) { + return e === null || e === void 0; +} +function Ele(e) { + let t = e.startsWith("^") ? 1 : 0, + n = e.endsWith("$") ? e.length - 1 : e.length; + return e.slice(t, n); +} +function jZt(e, t) { + let n = (e.toString().split(".")[1] || "").length, + r = (t.toString().split(".")[1] || "").length, + o = n > r ? n : r, + a = Number.parseInt(e.toFixed(o).replace(".", "")), + i = Number.parseInt(t.toFixed(o).replace(".", "")); + return (a % i) / 10 ** o; +} +function Os(e, t, n) { + Object.defineProperty(e, t, { + get() { + { + let o = n(); + return ((e[t] = o), o); + } + throw Error("cached value already set"); + }, + set(o) { + Object.defineProperty(e, t, { value: o }); + }, + configurable: !0, + }); +} +function WRe(e, t, n) { + Object.defineProperty(e, t, { + value: n, + writable: !0, + enumerable: !0, + configurable: !0, + }); +} +function AD(e) { + return JSON.stringify(e); +} +function JG(e) { + return typeof e === "object" && e !== null && !Array.isArray(e); +} +function Ile(e) { + if (JG(e) === !1) return !1; + let t = e.constructor; + if (t === void 0) return !0; + let n = t.prototype; + if (JG(n) === !1) return !1; + if (Object.prototype.hasOwnProperty.call(n, "isPrototypeOf") === !1) + return !1; + return !0; +} +function KI(e) { + return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +} +function X3(e, t, n) { + let r = new e._zod.constr(t ?? e._zod.def); + if (!t || n?.parent) r._zod.parent = e; + return r; +} +function Rr(e) { + let t = e; + if (!t) return {}; + if (typeof t === "string") return { error: () => t }; + if (t?.message !== void 0) { + if (t?.error !== void 0) + throw Error("Cannot specify both `message` and `error` params"); + t.error = t.message; + } + if ((delete t.message, typeof t.error === "string")) + return { ...t, error: () => t.error }; + return t; +} +function KRe(e) { + if (typeof e === "bigint") return e.toString() + "n"; + if (typeof e === "string") return `"${e}"`; + return `${e}`; +} +function tQt(e) { + return Object.keys(e).filter( + (t) => e[t]._zod.optin === "optional" && e[t]._zod.optout === "optional", + ); +} +function Acr(e, t) { + let n = {}, + r = e._zod.def; + for (let o in t) { + if (!(o in r.shape)) throw Error(`Unrecognized key: "${o}"`); + if (!t[o]) continue; + n[o] = r.shape[o]; + } + return X3(e, { ...e._zod.def, shape: n, checks: [] }); +} +function wcr(e, t) { + let n = { ...e._zod.def.shape }, + r = e._zod.def; + for (let o in t) { + if (!(o in r.shape)) throw Error(`Unrecognized key: "${o}"`); + if (!t[o]) continue; + delete n[o]; + } + return X3(e, { ...e._zod.def, shape: n, checks: [] }); +} +function Scr(e, t) { + if (!Ile(t)) throw Error("Invalid input to extend: expected a plain object"); + let n = { + ...e._zod.def, + get shape() { + let r = { ...e._zod.def.shape, ...t }; + return (WRe(this, "shape", r), r); + }, + checks: [], + }; + return X3(e, n); +} +function Ccr(e, t) { + return X3(e, { + ...e._zod.def, + get shape() { + let n = { ...e._zod.def.shape, ...t._zod.def.shape }; + return (WRe(this, "shape", n), n); + }, + catchall: t._zod.def.catchall, + checks: [], + }); +} +function Ecr(e, t, n) { + let r = t._zod.def.shape, + o = { ...r }; + if (n) + for (let a in n) { + if (!(a in r)) throw Error(`Unrecognized key: "${a}"`); + if (!n[a]) continue; + o[a] = e ? new e({ type: "optional", innerType: r[a] }) : r[a]; + } + else + for (let a in r) + o[a] = e ? new e({ type: "optional", innerType: r[a] }) : r[a]; + return X3(t, { ...t._zod.def, shape: o, checks: [] }); +} +function Icr(e, t, n) { + let r = t._zod.def.shape, + o = { ...r }; + if (n) + for (let a in n) { + if (!(a in o)) throw Error(`Unrecognized key: "${a}"`); + if (!n[a]) continue; + o[a] = new e({ type: "nonoptional", innerType: r[a] }); + } + else for (let a in r) o[a] = new e({ type: "nonoptional", innerType: r[a] }); + return X3(t, { ...t._zod.def, shape: o, checks: [] }); +} +function wD(e, t = 0) { + for (let n = t; n < e.issues.length; n++) + if (e.issues[n]?.continue !== !0) return !0; + return !1; +} +function jG(e, t) { + return t.map((n) => { + var r; + return ((r = n).path ?? (r.path = []), n.path.unshift(e), n); + }); +} +function wle(e) { + return typeof e === "string" ? e : e?.message; +} +function W3(e, t, n) { + let r = { ...e, path: e.path ?? [] }; + if (!e.message) { + let o = + wle(e.inst?._zod.def?.error?.(e)) ?? + wle(t?.error?.(e)) ?? + wle(n.customError?.(e)) ?? + wle(n.localeError?.(e)) ?? + "Invalid input"; + r.message = o; + } + if ((delete r.inst, delete r.continue, !t?.reportInput)) delete r.input; + return r; +} +function Tle(e) { + if (Array.isArray(e)) return "array"; + if (typeof e === "string") return "string"; + return "unknown"; +} +function SD(...e) { + let [t, n, r] = e; + if (typeof t === "string") + return { message: t, code: "custom", input: n, inst: r }; + return { ...t }; +} +var YRe, $Zt, eQt, nQt; +var Y3 = P(() => { + YRe = Error.captureStackTrace ? Error.captureStackTrace : (...e) => {}; + $Zt = Sle(() => { + if (typeof navigator < "u" && navigator?.userAgent?.includes("Cloudflare")) + return !1; + try { + return (new Function(""), !0); + } catch (e) { + return !1; + } + }); + eQt = new Set(["string", "number", "symbol"]); + nQt = { + safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER], + int32: [-2147483648, 2147483647], + uint32: [0, 4294967295], + float32: [ + -340282346638528860000000000000000000000, + 340282346638528860000000000000000000000, + ], + float64: [-Number.MAX_VALUE, Number.MAX_VALUE], + }; +}); +function oQt(e, t = (n) => n.message) { + let n = {}, + r = []; + for (let o of e.issues) + if (o.path.length > 0) + ((n[o.path[0]] = n[o.path[0]] || []), n[o.path[0]].push(t(o))); + else r.push(t(o)); + return { formErrors: r, fieldErrors: n }; +} +function aQt(e, t) { + let n = + t || + function (a) { + return a.message; + }, + r = { _errors: [] }, + o = (a) => { + for (let i of a.issues) + if (i.code === "invalid_union" && i.errors.length) + i.errors.map((s) => o({ issues: s })); + else if (i.code === "invalid_key") o({ issues: i.issues }); + else if (i.code === "invalid_element") o({ issues: i.issues }); + else if (i.path.length === 0) r._errors.push(n(i)); + else { + let s = r, + l = 0; + while (l < i.path.length) { + let c = i.path[l]; + if (l !== i.path.length - 1) s[c] = s[c] || { _errors: [] }; + else ((s[c] = s[c] || { _errors: [] }), s[c]._errors.push(n(i))); + ((s = s[c]), l++); + } + } + }; + return (o(e), r); +} +var rQt = (e, t) => { + ((e.name = "$ZodError"), + Object.defineProperty(e, "_zod", { value: e._zod, enumerable: !1 }), + Object.defineProperty(e, "issues", { value: t, enumerable: !1 }), + Object.defineProperty(e, "message", { + get() { + return JSON.stringify(t, JZt, 2); + }, + enumerable: !0, + }), + Object.defineProperty(e, "toString", { + value: () => e.message, + enumerable: !1, + })); + }, + kle, + JRe; +var jRe = P(() => { + xD(); + Y3(); + ((kle = _t("$ZodError", rQt)), + (JRe = _t("$ZodError", rQt, { Parent: Error }))); +}); +var iQt = (e) => (t, n, r, o) => { + let a = r ? Object.assign(r, { async: !1 }) : { async: !1 }, + i = t._zod.run({ value: n, issues: [] }, a); + if (i instanceof Promise) throw new pC(); + if (i.issues.length) { + let s = new (o?.Err ?? e)(i.issues.map((l) => W3(l, a, J2()))); + throw (YRe(s, o?.callee), s); + } + return i.value; + }, + sQt = (e) => async (t, n, r, o) => { + let a = r ? Object.assign(r, { async: !0 }) : { async: !0 }, + i = t._zod.run({ value: n, issues: [] }, a); + if (i instanceof Promise) i = await i; + if (i.issues.length) { + let s = new (o?.Err ?? e)(i.issues.map((l) => W3(l, a, J2()))); + throw (YRe(s, o?.callee), s); + } + return i.value; + }, + $Re = (e) => (t, n, r) => { + let o = r ? { ...r, async: !1 } : { async: !1 }, + a = t._zod.run({ value: n, issues: [] }, o); + if (a instanceof Promise) throw new pC(); + return a.issues.length + ? { + success: !1, + error: new (e ?? kle)(a.issues.map((i) => W3(i, o, J2()))), + } + : { success: !0, data: a.value }; + }, + lQt, + ePe = (e) => async (t, n, r) => { + let o = r ? Object.assign(r, { async: !0 }) : { async: !0 }, + a = t._zod.run({ value: n, issues: [] }, o); + if (a instanceof Promise) a = await a; + return a.issues.length + ? { success: !1, error: new e(a.issues.map((i) => W3(i, o, J2()))) } + : { success: !0, data: a.value }; + }, + cQt; +var tPe = P(() => { + xD(); + jRe(); + Y3(); + ((lQt = $Re(JRe)), (cQt = ePe(JRe))); +}); +function bQt() { + return new RegExp( + "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", + "u", + ); +} +function RQt(e) { + return typeof e.precision === "number" + ? e.precision === -1 + ? "(?:[01]\\d|2[0-3]):[0-5]\\d" + : e.precision === 0 + ? "(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d" + : `(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}` + : "(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"; +} +function PQt(e) { + return new RegExp(`^${RQt(e)}$`); +} +function MQt(e) { + let t = RQt({ precision: e.precision }), + n = ["Z"]; + if (e.local) n.push(""); + if (e.offset) n.push("([+-]\\d{2}:\\d{2})"); + let r = `${t}(?:${n.join("|")})`; + return new RegExp(`^${TQt}T(?:${r})$`); +} +var uQt, + dQt, + pQt, + fQt, + mQt, + hQt, + gQt, + yQt, + nPe = (e) => { + if (!e) + return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/; + return new RegExp( + `^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`, + ); + }, + vQt, + xQt, + AQt, + wQt, + SQt, + CQt, + rPe, + EQt, + IQt, + TQt = + "(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))", + kQt, + DQt = (e) => { + let t = e + ? `[\\s\\S]{${e?.minimum ?? 0},${e?.maximum ?? ""}}` + : "[\\s\\S]*"; + return new RegExp(`^${t}$`); + }, + LQt, + BQt, + OQt, + FQt, + UQt; +var Rle = P(() => { + ((uQt = /^[cC][^\s-]{8,}$/), + (dQt = /^[0-9a-z]+$/), + (pQt = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/), + (fQt = /^[0-9a-vA-V]{20}$/), + (mQt = /^[A-Za-z0-9]{27}$/), + (hQt = /^[a-zA-Z0-9_-]{21}$/), + (gQt = + /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/), + (yQt = + /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/), + (vQt = + /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/)); + ((xQt = + /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/), + (AQt = + /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/), + (wQt = + /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/), + (SQt = + /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/), + (CQt = + /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/), + (rPe = /^[A-Za-z0-9_-]*$/), + (EQt = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/), + (IQt = /^\+(?:[0-9]){6,14}[0-9]$/), + (kQt = new RegExp(`^${TQt}$`))); + ((LQt = /^\d+$/), + (BQt = /^-?\d+(?:\.\d+)?/i), + (OQt = /true|false/i), + (FQt = /^[^A-Z]*$/), + (UQt = /^[^a-z]*$/)); +}); +var Am, + NQt, + aPe, + iPe, + zQt, + _Qt, + HQt, + VQt, + GQt, + $G, + qQt, + ZQt, + QQt, + XQt, + WQt, + YQt, + KQt; +var Ple = P(() => { + xD(); + Rle(); + Y3(); + ((Am = _t("$ZodCheck", (e, t) => { + var n; + (e._zod ?? (e._zod = {}), + (e._zod.def = t), + (n = e._zod).onattach ?? (n.onattach = [])); + })), + (NQt = { number: "number", bigint: "bigint", object: "date" }), + (aPe = _t("$ZodCheckLessThan", (e, t) => { + Am.init(e, t); + let n = NQt[typeof t.value]; + (e._zod.onattach.push((r) => { + let o = r._zod.bag, + a = + (t.inclusive ? o.maximum : o.exclusiveMaximum) ?? + Number.POSITIVE_INFINITY; + if (t.value < a) + if (t.inclusive) o.maximum = t.value; + else o.exclusiveMaximum = t.value; + }), + (e._zod.check = (r) => { + if (t.inclusive ? r.value <= t.value : r.value < t.value) return; + r.issues.push({ + origin: n, + code: "too_big", + maximum: t.value, + input: r.value, + inclusive: t.inclusive, + inst: e, + continue: !t.abort, + }); + })); + })), + (iPe = _t("$ZodCheckGreaterThan", (e, t) => { + Am.init(e, t); + let n = NQt[typeof t.value]; + (e._zod.onattach.push((r) => { + let o = r._zod.bag, + a = + (t.inclusive ? o.minimum : o.exclusiveMinimum) ?? + Number.NEGATIVE_INFINITY; + if (t.value > a) + if (t.inclusive) o.minimum = t.value; + else o.exclusiveMinimum = t.value; + }), + (e._zod.check = (r) => { + if (t.inclusive ? r.value >= t.value : r.value > t.value) return; + r.issues.push({ + origin: n, + code: "too_small", + minimum: t.value, + input: r.value, + inclusive: t.inclusive, + inst: e, + continue: !t.abort, + }); + })); + })), + (zQt = _t("$ZodCheckMultipleOf", (e, t) => { + (Am.init(e, t), + e._zod.onattach.push((n) => { + var r; + (r = n._zod.bag).multipleOf ?? (r.multipleOf = t.value); + }), + (e._zod.check = (n) => { + if (typeof n.value !== typeof t.value) + throw Error("Cannot mix number and bigint in multiple_of check."); + if ( + typeof n.value === "bigint" + ? n.value % t.value === BigInt(0) + : jZt(n.value, t.value) === 0 + ) + return; + n.issues.push({ + origin: typeof n.value, + code: "not_multiple_of", + divisor: t.value, + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (_Qt = _t("$ZodCheckNumberFormat", (e, t) => { + (Am.init(e, t), (t.format = t.format || "float64")); + let n = t.format?.includes("int"), + r = n ? "int" : "number", + [o, a] = nQt[t.format]; + (e._zod.onattach.push((i) => { + let s = i._zod.bag; + if (((s.format = t.format), (s.minimum = o), (s.maximum = a), n)) + s.pattern = LQt; + }), + (e._zod.check = (i) => { + let s = i.value; + if (n) { + if (!Number.isInteger(s)) { + i.issues.push({ + expected: r, + format: t.format, + code: "invalid_type", + input: s, + inst: e, + }); + return; + } + if (!Number.isSafeInteger(s)) { + if (s > 0) + i.issues.push({ + input: s, + code: "too_big", + maximum: Number.MAX_SAFE_INTEGER, + note: "Integers must be within the safe integer range.", + inst: e, + origin: r, + continue: !t.abort, + }); + else + i.issues.push({ + input: s, + code: "too_small", + minimum: Number.MIN_SAFE_INTEGER, + note: "Integers must be within the safe integer range.", + inst: e, + origin: r, + continue: !t.abort, + }); + return; + } + } + if (s < o) + i.issues.push({ + origin: "number", + input: s, + code: "too_small", + minimum: o, + inclusive: !0, + inst: e, + continue: !t.abort, + }); + if (s > a) + i.issues.push({ + origin: "number", + input: s, + code: "too_big", + maximum: a, + inst: e, + }); + })); + })), + (HQt = _t("$ZodCheckMaxLength", (e, t) => { + var n; + (Am.init(e, t), + (n = e._zod.def).when ?? + (n.when = (r) => { + let o = r.value; + return !Cle(o) && o.length !== void 0; + }), + e._zod.onattach.push((r) => { + let o = r._zod.bag.maximum ?? Number.POSITIVE_INFINITY; + if (t.maximum < o) r._zod.bag.maximum = t.maximum; + }), + (e._zod.check = (r) => { + let o = r.value; + if (o.length <= t.maximum) return; + let i = Tle(o); + r.issues.push({ + origin: i, + code: "too_big", + maximum: t.maximum, + inclusive: !0, + input: o, + inst: e, + continue: !t.abort, + }); + })); + })), + (VQt = _t("$ZodCheckMinLength", (e, t) => { + var n; + (Am.init(e, t), + (n = e._zod.def).when ?? + (n.when = (r) => { + let o = r.value; + return !Cle(o) && o.length !== void 0; + }), + e._zod.onattach.push((r) => { + let o = r._zod.bag.minimum ?? Number.NEGATIVE_INFINITY; + if (t.minimum > o) r._zod.bag.minimum = t.minimum; + }), + (e._zod.check = (r) => { + let o = r.value; + if (o.length >= t.minimum) return; + let i = Tle(o); + r.issues.push({ + origin: i, + code: "too_small", + minimum: t.minimum, + inclusive: !0, + input: o, + inst: e, + continue: !t.abort, + }); + })); + })), + (GQt = _t("$ZodCheckLengthEquals", (e, t) => { + var n; + (Am.init(e, t), + (n = e._zod.def).when ?? + (n.when = (r) => { + let o = r.value; + return !Cle(o) && o.length !== void 0; + }), + e._zod.onattach.push((r) => { + let o = r._zod.bag; + ((o.minimum = t.length), + (o.maximum = t.length), + (o.length = t.length)); + }), + (e._zod.check = (r) => { + let o = r.value, + a = o.length; + if (a === t.length) return; + let i = Tle(o), + s = a > t.length; + r.issues.push({ + origin: i, + ...(s + ? { code: "too_big", maximum: t.length } + : { code: "too_small", minimum: t.length }), + inclusive: !0, + exact: !0, + input: r.value, + inst: e, + continue: !t.abort, + }); + })); + })), + ($G = _t("$ZodCheckStringFormat", (e, t) => { + var n, r; + if ( + (Am.init(e, t), + e._zod.onattach.push((o) => { + let a = o._zod.bag; + if (((a.format = t.format), t.pattern)) + (a.patterns ?? (a.patterns = new Set()), a.patterns.add(t.pattern)); + }), + t.pattern) + ) + (n = e._zod).check ?? + (n.check = (o) => { + if (((t.pattern.lastIndex = 0), t.pattern.test(o.value))) return; + o.issues.push({ + origin: "string", + code: "invalid_format", + format: t.format, + input: o.value, + ...(t.pattern ? { pattern: t.pattern.toString() } : {}), + inst: e, + continue: !t.abort, + }); + }); + else (r = e._zod).check ?? (r.check = () => {}); + })), + (qQt = _t("$ZodCheckRegex", (e, t) => { + ($G.init(e, t), + (e._zod.check = (n) => { + if (((t.pattern.lastIndex = 0), t.pattern.test(n.value))) return; + n.issues.push({ + origin: "string", + code: "invalid_format", + format: "regex", + input: n.value, + pattern: t.pattern.toString(), + inst: e, + continue: !t.abort, + }); + })); + })), + (ZQt = _t("$ZodCheckLowerCase", (e, t) => { + (t.pattern ?? (t.pattern = FQt), $G.init(e, t)); + })), + (QQt = _t("$ZodCheckUpperCase", (e, t) => { + (t.pattern ?? (t.pattern = UQt), $G.init(e, t)); + })), + (XQt = _t("$ZodCheckIncludes", (e, t) => { + Am.init(e, t); + let n = KI(t.includes), + r = new RegExp( + typeof t.position === "number" ? `^.{${t.position}}${n}` : n, + ); + ((t.pattern = r), + e._zod.onattach.push((o) => { + let a = o._zod.bag; + (a.patterns ?? (a.patterns = new Set()), a.patterns.add(r)); + }), + (e._zod.check = (o) => { + if (o.value.includes(t.includes, t.position)) return; + o.issues.push({ + origin: "string", + code: "invalid_format", + format: "includes", + includes: t.includes, + input: o.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (WQt = _t("$ZodCheckStartsWith", (e, t) => { + Am.init(e, t); + let n = new RegExp(`^${KI(t.prefix)}.*`); + (t.pattern ?? (t.pattern = n), + e._zod.onattach.push((r) => { + let o = r._zod.bag; + (o.patterns ?? (o.patterns = new Set()), o.patterns.add(n)); + }), + (e._zod.check = (r) => { + if (r.value.startsWith(t.prefix)) return; + r.issues.push({ + origin: "string", + code: "invalid_format", + format: "starts_with", + prefix: t.prefix, + input: r.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (YQt = _t("$ZodCheckEndsWith", (e, t) => { + Am.init(e, t); + let n = new RegExp(`.*${KI(t.suffix)}$`); + (t.pattern ?? (t.pattern = n), + e._zod.onattach.push((r) => { + let o = r._zod.bag; + (o.patterns ?? (o.patterns = new Set()), o.patterns.add(n)); + }), + (e._zod.check = (r) => { + if (r.value.endsWith(t.suffix)) return; + r.issues.push({ + origin: "string", + code: "invalid_format", + format: "ends_with", + suffix: t.suffix, + input: r.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (KQt = _t("$ZodCheckOverwrite", (e, t) => { + (Am.init(e, t), + (e._zod.check = (n) => { + n.value = t.tx(n.value); + })); + }))); +}); +class sPe { + constructor(e = []) { + if (((this.content = []), (this.indent = 0), this)) this.args = e; + } + indented(e) { + ((this.indent += 1), e(this), (this.indent -= 1)); + } + write(e) { + if (typeof e === "function") { + (e(this, { execution: "sync" }), e(this, { execution: "async" })); + return; + } + let n = e + .split( + ` +`, + ) + .filter((a) => a), + r = Math.min(...n.map((a) => a.length - a.trimStart().length)), + o = n.map((a) => a.slice(r)).map((a) => " ".repeat(this.indent * 2) + a); + for (let a of o) this.content.push(a); + } + compile() { + let e = Function, + t = this?.args, + r = [...(this?.content ?? [""]).map((o) => ` ${o}`)]; + return new e( + ...t, + r.join(` +`), + ); + } +} +var jQt; +var lPe = P(() => { + jQt = { major: 4, minor: 0, patch: 0 }; +}); +function TXt(e) { + if (e === "") return !0; + if (e.length % 4 !== 0) return !1; + try { + return (atob(e), !0); + } catch { + return !1; + } +} +function kcr(e) { + if (!rPe.test(e)) return !1; + let t = e.replace(/[-_]/g, (r) => (r === "-" ? "+" : "/")), + n = t.padEnd(Math.ceil(t.length / 4) * 4, "="); + return TXt(n); +} +function Rcr(e, t = null) { + try { + let n = e.split("."); + if (n.length !== 3) return !1; + let [r] = n; + if (!r) return !1; + let o = JSON.parse(atob(r)); + if ("typ" in o && o?.typ !== "JWT") return !1; + if (!o.alg) return !1; + if (t && (!("alg" in o) || o.alg !== t)) return !1; + return !0; + } catch { + return !1; + } +} +function $Qt(e, t, n) { + if (e.issues.length) t.issues.push(...jG(n, e.issues)); + t.value[n] = e.value; +} +function Mle(e, t, n) { + if (e.issues.length) t.issues.push(...jG(n, e.issues)); + t.value[n] = e.value; +} +function eXt(e, t, n, r) { + if (e.issues.length) + if (r[n] === void 0) + if (n in r) t.value[n] = void 0; + else t.value[n] = e.value; + else t.issues.push(...jG(n, e.issues)); + else if (e.value === void 0) { + if (n in r) t.value[n] = void 0; + } else t.value[n] = e.value; +} +function tXt(e, t, n, r) { + for (let o of e) if (o.issues.length === 0) return ((t.value = o.value), t); + return ( + t.issues.push({ + code: "invalid_union", + input: t.value, + inst: n, + errors: e.map((o) => o.issues.map((a) => W3(a, r, J2()))), + }), + t + ); +} +function cPe(e, t) { + if (e === t) return { valid: !0, data: e }; + if (e instanceof Date && t instanceof Date && +e === +t) + return { valid: !0, data: e }; + if (Ile(e) && Ile(t)) { + let n = Object.keys(t), + r = Object.keys(e).filter((a) => n.indexOf(a) !== -1), + o = { ...e, ...t }; + for (let a of r) { + let i = cPe(e[a], t[a]); + if (!i.valid) + return { valid: !1, mergeErrorPath: [a, ...i.mergeErrorPath] }; + o[a] = i.data; + } + return { valid: !0, data: o }; + } + if (Array.isArray(e) && Array.isArray(t)) { + if (e.length !== t.length) return { valid: !1, mergeErrorPath: [] }; + let n = []; + for (let r = 0; r < e.length; r++) { + let o = e[r], + a = t[r], + i = cPe(o, a); + if (!i.valid) + return { valid: !1, mergeErrorPath: [r, ...i.mergeErrorPath] }; + n.push(i.data); + } + return { valid: !0, data: n }; + } + return { valid: !1, mergeErrorPath: [] }; +} +function nXt(e, t, n) { + if (t.issues.length) e.issues.push(...t.issues); + if (n.issues.length) e.issues.push(...n.issues); + if (wD(e)) return e; + let r = cPe(t.value, n.value); + if (!r.valid) + throw Error( + `Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`, + ); + return ((e.value = r.data), e); +} +function rXt(e, t) { + if (e.value === void 0) e.value = t.defaultValue; + return e; +} +function oXt(e, t) { + if (!e.issues.length && e.value === void 0) + e.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: e.value, + inst: t, + }); + return e; +} +function aXt(e, t, n) { + if (wD(e)) return e; + return t.out._zod.run({ value: e.value, issues: e.issues }, n); +} +function iXt(e) { + return ((e.value = Object.freeze(e.value)), e); +} +function sXt(e, t, n, r) { + if (!e) { + let o = { + code: "custom", + input: n, + inst: r, + path: [...(r._zod.def.path ?? [])], + continue: !r._zod.def.abort, + }; + if (r._zod.def.params) o.params = r._zod.def.params; + t.issues.push(SD(o)); + } +} +var $s, + Dle, + el, + lXt, + cXt, + uXt, + dXt, + pXt, + fXt, + mXt, + hXt, + gXt, + yXt, + vXt, + bXt, + xXt, + AXt, + wXt, + SXt, + CXt, + EXt, + IXt, + kXt, + RXt, + PXt, + MXt, + uPe, + DXt, + LXt, + BXt, + OXt, + FXt, + UXt, + NXt, + dPe, + zXt, + _Xt, + HXt, + VXt, + GXt, + qXt, + ZXt, + QXt, + XXt, + WXt, + YXt, + KXt, + JXt, + jXt; +var $Xt = P(() => { + Ple(); + xD(); + tPe(); + Rle(); + Y3(); + lPe(); + Y3(); + (($s = _t("$ZodType", (e, t) => { + var n; + (e ?? (e = {}), + (e._zod.def = t), + (e._zod.bag = e._zod.bag || {}), + (e._zod.version = jQt)); + let r = [...(e._zod.def.checks ?? [])]; + if (e._zod.traits.has("$ZodCheck")) r.unshift(e); + for (let o of r) for (let a of o._zod.onattach) a(e); + if (r.length === 0) + ((n = e._zod).deferred ?? (n.deferred = []), + e._zod.deferred?.push(() => { + e._zod.run = e._zod.parse; + })); + else { + let o = (a, i, s) => { + let l = wD(a), + c; + for (let u of i) { + if (u._zod.def.when) { + if (!u._zod.def.when(a)) continue; + } else if (l) continue; + let d = a.issues.length, + p = u._zod.check(a); + if (p instanceof Promise && s?.async === !1) throw new pC(); + if (c || p instanceof Promise) + c = (c ?? Promise.resolve()).then(async () => { + if ((await p, a.issues.length === d)) return; + if (!l) l = wD(a, d); + }); + else { + if (a.issues.length === d) continue; + if (!l) l = wD(a, d); + } + } + if (c) return c.then(() => a); + return a; + }; + e._zod.run = (a, i) => { + let s = e._zod.parse(a, i); + if (s instanceof Promise) { + if (i.async === !1) throw new pC(); + return s.then((l) => o(l, r, i)); + } + return o(s, r, i); + }; + } + e["~standard"] = { + validate: (o) => { + try { + let a = lQt(e, o); + return a.success ? { value: a.data } : { issues: a.error?.issues }; + } catch (a) { + return cQt(e, o).then((i) => + i.success ? { value: i.data } : { issues: i.error?.issues }, + ); + } + }, + vendor: "zod", + version: 1, + }; + })), + (Dle = _t("$ZodString", (e, t) => { + ($s.init(e, t), + (e._zod.pattern = + [...(e?._zod.bag?.patterns ?? [])].pop() ?? DQt(e._zod.bag)), + (e._zod.parse = (n, r) => { + if (t.coerce) + try { + n.value = String(n.value); + } catch (o) {} + if (typeof n.value === "string") return n; + return ( + n.issues.push({ + expected: "string", + code: "invalid_type", + input: n.value, + inst: e, + }), + n + ); + })); + })), + (el = _t("$ZodStringFormat", (e, t) => { + ($G.init(e, t), Dle.init(e, t)); + })), + (lXt = _t("$ZodGUID", (e, t) => { + (t.pattern ?? (t.pattern = yQt), el.init(e, t)); + })), + (cXt = _t("$ZodUUID", (e, t) => { + if (t.version) { + let r = { v1: 1, v2: 2, v3: 3, v4: 4, v5: 5, v6: 6, v7: 7, v8: 8 }[ + t.version + ]; + if (r === void 0) throw Error(`Invalid UUID version: "${t.version}"`); + t.pattern ?? (t.pattern = nPe(r)); + } else t.pattern ?? (t.pattern = nPe()); + el.init(e, t); + })), + (uXt = _t("$ZodEmail", (e, t) => { + (t.pattern ?? (t.pattern = vQt), el.init(e, t)); + })), + (dXt = _t("$ZodURL", (e, t) => { + (el.init(e, t), + (e._zod.check = (n) => { + try { + let r = n.value, + o = new URL(r), + a = o.href; + if (t.hostname) { + if (((t.hostname.lastIndex = 0), !t.hostname.test(o.hostname))) + n.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid hostname", + pattern: EQt.source, + input: n.value, + inst: e, + continue: !t.abort, + }); + } + if (t.protocol) { + if ( + ((t.protocol.lastIndex = 0), + !t.protocol.test( + o.protocol.endsWith(":") + ? o.protocol.slice(0, -1) + : o.protocol, + )) + ) + n.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid protocol", + pattern: t.protocol.source, + input: n.value, + inst: e, + continue: !t.abort, + }); + } + if (!r.endsWith("/") && a.endsWith("/")) n.value = a.slice(0, -1); + else n.value = a; + return; + } catch (r) { + n.issues.push({ + code: "invalid_format", + format: "url", + input: n.value, + inst: e, + continue: !t.abort, + }); + } + })); + })), + (pXt = _t("$ZodEmoji", (e, t) => { + (t.pattern ?? (t.pattern = bQt()), el.init(e, t)); + })), + (fXt = _t("$ZodNanoID", (e, t) => { + (t.pattern ?? (t.pattern = hQt), el.init(e, t)); + })), + (mXt = _t("$ZodCUID", (e, t) => { + (t.pattern ?? (t.pattern = uQt), el.init(e, t)); + })), + (hXt = _t("$ZodCUID2", (e, t) => { + (t.pattern ?? (t.pattern = dQt), el.init(e, t)); + })), + (gXt = _t("$ZodULID", (e, t) => { + (t.pattern ?? (t.pattern = pQt), el.init(e, t)); + })), + (yXt = _t("$ZodXID", (e, t) => { + (t.pattern ?? (t.pattern = fQt), el.init(e, t)); + })), + (vXt = _t("$ZodKSUID", (e, t) => { + (t.pattern ?? (t.pattern = mQt), el.init(e, t)); + })), + (bXt = _t("$ZodISODateTime", (e, t) => { + (t.pattern ?? (t.pattern = MQt(t)), el.init(e, t)); + })), + (xXt = _t("$ZodISODate", (e, t) => { + (t.pattern ?? (t.pattern = kQt), el.init(e, t)); + })), + (AXt = _t("$ZodISOTime", (e, t) => { + (t.pattern ?? (t.pattern = PQt(t)), el.init(e, t)); + })), + (wXt = _t("$ZodISODuration", (e, t) => { + (t.pattern ?? (t.pattern = gQt), el.init(e, t)); + })), + (SXt = _t("$ZodIPv4", (e, t) => { + (t.pattern ?? (t.pattern = xQt), + el.init(e, t), + e._zod.onattach.push((n) => { + let r = n._zod.bag; + r.format = "ipv4"; + })); + })), + (CXt = _t("$ZodIPv6", (e, t) => { + (t.pattern ?? (t.pattern = AQt), + el.init(e, t), + e._zod.onattach.push((n) => { + let r = n._zod.bag; + r.format = "ipv6"; + }), + (e._zod.check = (n) => { + try { + new URL(`http://[${n.value}]`); + } catch { + n.issues.push({ + code: "invalid_format", + format: "ipv6", + input: n.value, + inst: e, + continue: !t.abort, + }); + } + })); + })), + (EXt = _t("$ZodCIDRv4", (e, t) => { + (t.pattern ?? (t.pattern = wQt), el.init(e, t)); + })), + (IXt = _t("$ZodCIDRv6", (e, t) => { + (t.pattern ?? (t.pattern = SQt), + el.init(e, t), + (e._zod.check = (n) => { + let [r, o] = n.value.split("/"); + try { + if (!o) throw Error(); + let a = Number(o); + if (`${a}` !== o) throw Error(); + if (a < 0 || a > 128) throw Error(); + new URL(`http://[${r}]`); + } catch { + n.issues.push({ + code: "invalid_format", + format: "cidrv6", + input: n.value, + inst: e, + continue: !t.abort, + }); + } + })); + }))); + kXt = _t("$ZodBase64", (e, t) => { + (t.pattern ?? (t.pattern = CQt), + el.init(e, t), + e._zod.onattach.push((n) => { + n._zod.bag.contentEncoding = "base64"; + }), + (e._zod.check = (n) => { + if (TXt(n.value)) return; + n.issues.push({ + code: "invalid_format", + format: "base64", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + }); + ((RXt = _t("$ZodBase64URL", (e, t) => { + (t.pattern ?? (t.pattern = rPe), + el.init(e, t), + e._zod.onattach.push((n) => { + n._zod.bag.contentEncoding = "base64url"; + }), + (e._zod.check = (n) => { + if (kcr(n.value)) return; + n.issues.push({ + code: "invalid_format", + format: "base64url", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (PXt = _t("$ZodE164", (e, t) => { + (t.pattern ?? (t.pattern = IQt), el.init(e, t)); + }))); + ((MXt = _t("$ZodJWT", (e, t) => { + (el.init(e, t), + (e._zod.check = (n) => { + if (Rcr(n.value, t.alg)) return; + n.issues.push({ + code: "invalid_format", + format: "jwt", + input: n.value, + inst: e, + continue: !t.abort, + }); + })); + })), + (uPe = _t("$ZodNumber", (e, t) => { + ($s.init(e, t), + (e._zod.pattern = e._zod.bag.pattern ?? BQt), + (e._zod.parse = (n, r) => { + if (t.coerce) + try { + n.value = Number(n.value); + } catch (i) {} + let o = n.value; + if (typeof o === "number" && !Number.isNaN(o) && Number.isFinite(o)) + return n; + let a = + typeof o === "number" + ? Number.isNaN(o) + ? "NaN" + : !Number.isFinite(o) + ? "Infinity" + : void 0 + : void 0; + return ( + n.issues.push({ + expected: "number", + code: "invalid_type", + input: o, + inst: e, + ...(a ? { received: a } : {}), + }), + n + ); + })); + })), + (DXt = _t("$ZodNumber", (e, t) => { + (_Qt.init(e, t), uPe.init(e, t)); + })), + (LXt = _t("$ZodBoolean", (e, t) => { + ($s.init(e, t), + (e._zod.pattern = OQt), + (e._zod.parse = (n, r) => { + if (t.coerce) + try { + n.value = Boolean(n.value); + } catch (a) {} + let o = n.value; + if (typeof o === "boolean") return n; + return ( + n.issues.push({ + expected: "boolean", + code: "invalid_type", + input: o, + inst: e, + }), + n + ); + })); + })), + (BXt = _t("$ZodAny", (e, t) => { + ($s.init(e, t), (e._zod.parse = (n) => n)); + })), + (OXt = _t("$ZodUnknown", (e, t) => { + ($s.init(e, t), (e._zod.parse = (n) => n)); + })), + (FXt = _t("$ZodNever", (e, t) => { + ($s.init(e, t), + (e._zod.parse = (n, r) => ( + n.issues.push({ + expected: "never", + code: "invalid_type", + input: n.value, + inst: e, + }), + n + ))); + }))); + UXt = _t("$ZodArray", (e, t) => { + ($s.init(e, t), + (e._zod.parse = (n, r) => { + let o = n.value; + if (!Array.isArray(o)) + return ( + n.issues.push({ + expected: "array", + code: "invalid_type", + input: o, + inst: e, + }), + n + ); + n.value = Array(o.length); + let a = []; + for (let i = 0; i < o.length; i++) { + let s = o[i], + l = t.element._zod.run({ value: s, issues: [] }, r); + if (l instanceof Promise) a.push(l.then((c) => $Qt(c, n, i))); + else $Qt(l, n, i); + } + if (a.length) return Promise.all(a).then(() => n); + return n; + })); + }); + NXt = _t("$ZodObject", (e, t) => { + $s.init(e, t); + let n = Sle(() => { + let d = Object.keys(t.shape); + for (let f of d) + if (!(t.shape[f] instanceof $s)) + throw Error(`Invalid element at key "${f}": expected a Zod schema`); + let p = tQt(t.shape); + return { + shape: t.shape, + keys: d, + keySet: new Set(d), + numKeys: d.length, + optionalKeys: new Set(p), + }; + }); + Os(e._zod, "propValues", () => { + let d = t.shape, + p = {}; + for (let f in d) { + let m = d[f]._zod; + if (m.values) { + p[f] ?? (p[f] = new Set()); + for (let g of m.values) p[f].add(g); + } + } + return p; + }); + let r = (d) => { + let p = new sPe(["shape", "payload", "ctx"]), + f = n.value, + m = (x) => { + let A = AD(x); + return `shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`; + }; + p.write("const input = payload.value;"); + let g = Object.create(null), + v = 0; + for (let x of f.keys) g[x] = `key_${v++}`; + p.write("const newResult = {}"); + for (let x of f.keys) + if (f.optionalKeys.has(x)) { + let A = g[x]; + p.write(`const ${A} = ${m(x)};`); + let w = AD(x); + p.write(` if (${A}.issues.length) { if (input[${w}] === undefined) { if (${w} in input) { @@ -165,22 +83453,34000 @@ container holding the app. Specify either width or maxWidth, and either height o } else { newResult[${w}] = ${A}.value; } - `)}else{let A=g[x];p.write(`const ${A} = ${m(x)};`),p.write(` + `); + } else { + let A = g[x]; + (p.write(`const ${A} = ${m(x)};`), + p.write(` if (${A}.issues.length) payload.issues = payload.issues.concat(${A}.issues.map(iss => ({ ...iss, path: iss.path ? [${AD(x)}, ...iss.path] : [${AD(x)}] - })));`),p.write(`newResult[${AD(x)}] = ${A}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let y=p.compile();return(x,A)=>y(d,x,A)},o,a=JG,i=!Ale.jitless,l=i&&$Zt.value,c=t.catchall,u;e._zod.parse=(d,p)=>{u??(u=n.value);let f=d.value;if(!a(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),d;let m=[];if(i&&l&&p?.async===!1&&p.jitless!==!0){if(!o)o=r(t.shape);d=o(d,p)}else{d.value={};let A=u.shape;for(let w of u.keys){let C=A[w],E=C._zod.run({value:f[w],issues:[]},p),T=C._zod.optin==="optional"&&C._zod.optout==="optional";if(E instanceof Promise)m.push(E.then((I)=>T?eXt(I,d,w,f):Mle(I,d,w)));else if(T)eXt(E,d,w,f);else Mle(E,d,w)}}if(!c)return m.length?Promise.all(m).then(()=>d):d;let g=[],v=u.keySet,y=c._zod,x=y.def.type;for(let A of Object.keys(f)){if(v.has(A))continue;if(x==="never"){g.push(A);continue}let w=y.run({value:f[A],issues:[]},p);if(w instanceof Promise)m.push(w.then((C)=>Mle(C,d,A)));else Mle(w,d,A)}if(g.length)d.issues.push({code:"unrecognized_keys",keys:g,input:f,inst:e});if(!m.length)return d;return Promise.all(m).then(()=>d)}});dPe=_t("$ZodUnion",(e,t)=>{$s.init(e,t),Os(e._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),Os(e._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),Os(e._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),Os(e._zod,"pattern",()=>{if(t.options.every((n)=>n._zod.pattern)){let n=t.options.map((r)=>r._zod.pattern);return new RegExp(`^(${n.map((r)=>Ele(r.source)).join("|")})$`)}return}),e._zod.parse=(n,r)=>{let o=!1,a=[];for(let i of t.options){let s=i._zod.run({value:n.value,issues:[]},r);if(s instanceof Promise)a.push(s),o=!0;else{if(s.issues.length===0)return s;a.push(s)}}if(!o)return tXt(a,n,e,r);return Promise.all(a).then((i)=>tXt(i,n,e,r))}}),zXt=_t("$ZodDiscriminatedUnion",(e,t)=>{dPe.init(e,t);let n=e._zod.parse;Os(e._zod,"propValues",()=>{let o={};for(let a of t.options){let i=a._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(let[s,l]of Object.entries(i)){if(!o[s])o[s]=new Set;for(let c of l)o[s].add(c)}}return o});let r=Sle(()=>{let o=t.options,a=new Map;for(let i of o){let s=i._zod.propValues[t.discriminator];if(!s||s.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let l of s){if(a.has(l))throw Error(`Duplicate discriminator value "${String(l)}"`);a.set(l,i)}}return a});e._zod.parse=(o,a)=>{let i=o.value;if(!JG(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let s=r.value.get(i?.[t.discriminator]);if(s)return s._zod.run(o,a);if(t.unionFallback)return n(o,a);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o}}),_Xt=_t("$ZodIntersection",(e,t)=>{$s.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,a=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);if(a instanceof Promise||i instanceof Promise)return Promise.all([a,i]).then(([l,c])=>nXt(n,l,c));return nXt(n,a,i)}});HXt=_t("$ZodEnum",(e,t)=>{$s.init(e,t);let n=KZt(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter((r)=>eQt.has(typeof r)).map((r)=>typeof r==="string"?KI(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{let a=r.value;if(e._zod.values.has(a))return r;return r.issues.push({code:"invalid_value",values:n,input:a,inst:e}),r}}),VXt=_t("$ZodLiteral",(e,t)=>{$s.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map((n)=>typeof n==="string"?KI(n):n?n.toString():String(n)).join("|")})$`),e._zod.parse=(n,r)=>{let o=n.value;if(e._zod.values.has(o))return n;return n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}}),GXt=_t("$ZodTransform",(e,t)=>{$s.init(e,t),e._zod.parse=(n,r)=>{let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((i)=>(n.value=i,n));if(o instanceof Promise)throw new pC;return n.value=o,n}}),qXt=_t("$ZodOptional",(e,t)=>{$s.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Os(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Os(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Ele(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional")return t.innerType._zod.run(n,r);if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),ZXt=_t("$ZodNullable",(e,t)=>{$s.init(e,t),Os(e._zod,"optin",()=>t.innerType._zod.optin),Os(e._zod,"optout",()=>t.innerType._zod.optout),Os(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Ele(n.source)}|null)$`):void 0}),Os(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),QXt=_t("$ZodDefault",(e,t)=>{$s.init(e,t),e._zod.optin="optional",Os(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((a)=>rXt(a,t));return rXt(o,t)}});XXt=_t("$ZodPrefault",(e,t)=>{$s.init(e,t),e._zod.optin="optional",Os(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),WXt=_t("$ZodNonOptional",(e,t)=>{$s.init(e,t),Os(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((r)=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((a)=>oXt(a,e));return oXt(o,e)}});YXt=_t("$ZodCatch",(e,t)=>{$s.init(e,t),e._zod.optin="optional",Os(e._zod,"optout",()=>t.innerType._zod.optout),Os(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((a)=>{if(n.value=a.value,a.issues.length)n.value=t.catchValue({...n,error:{issues:a.issues.map((i)=>W3(i,r,J2()))},input:n.value}),n.issues=[];return n});if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((a)=>W3(a,r,J2()))},input:n.value}),n.issues=[];return n}}),KXt=_t("$ZodPipe",(e,t)=>{$s.init(e,t),Os(e._zod,"values",()=>t.in._zod.values),Os(e._zod,"optin",()=>t.in._zod.optin),Os(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(n,r)=>{let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((a)=>aXt(a,t,r));return aXt(o,t,r)}});JXt=_t("$ZodReadonly",(e,t)=>{$s.init(e,t),Os(e._zod,"propValues",()=>t.innerType._zod.propValues),Os(e._zod,"values",()=>t.innerType._zod.values),Os(e._zod,"optin",()=>t.innerType._zod.optin),Os(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(iXt);return iXt(o)}});jXt=_t("$ZodCustom",(e,t)=>{Am.init(e,t),$s.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((a)=>sXt(a,n,r,e));sXt(o,n,r,e);return}})});function pPe(){return{localeError:Mcr()}}var Pcr=(e)=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},Mcr=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(r){return e[r]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(r)=>{switch(r.code){case"invalid_type":return`Invalid input: expected ${r.expected}, received ${Pcr(r.input)}`;case"invalid_value":if(r.values.length===1)return`Invalid input: expected ${KRe(r.values[0])}`;return`Invalid option: expected one of ${XRe(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",a=t(r.origin);if(a)return`Too big: expected ${r.origin??"value"} to have ${o}${r.maximum.toString()} ${a.unit??"elements"}`;return`Too big: expected ${r.origin??"value"} to be ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",a=t(r.origin);if(a)return`Too small: expected ${r.origin} to have ${o}${r.minimum.toString()} ${a.unit}`;return`Too small: expected ${r.origin} to be ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Invalid string: must start with "${o.prefix}"`;if(o.format==="ends_with")return`Invalid string: must end with "${o.suffix}"`;if(o.format==="includes")return`Invalid string: must include "${o.includes}"`;if(o.format==="regex")return`Invalid string: must match pattern ${o.pattern}`;return`Invalid ${n[o.format]??r.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${r.divisor}`;case"unrecognized_keys":return`Unrecognized key${r.keys.length>1?"s":""}: ${XRe(r.keys,", ")}`;case"invalid_key":return`Invalid key in ${r.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${r.origin}`;default:return"Invalid input"}}};var eWt=P(()=>{Y3()});var fPe=()=>{};class nWt{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n){if(this._idmap.has(n.id))throw Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}}function Dcr(){return new nWt}var Eva,Iva,eq;var rWt=P(()=>{Eva=Symbol("ZodOutput"),Iva=Symbol("ZodInput");eq=Dcr()});function oWt(e,t){return new e({type:"string",...Rr(t)})}function aWt(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Rr(t)})}function mPe(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Rr(t)})}function iWt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Rr(t)})}function sWt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Rr(t)})}function lWt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Rr(t)})}function cWt(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Rr(t)})}function uWt(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Rr(t)})}function dWt(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Rr(t)})}function pWt(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Rr(t)})}function fWt(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Rr(t)})}function mWt(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Rr(t)})}function hWt(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Rr(t)})}function gWt(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Rr(t)})}function yWt(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Rr(t)})}function vWt(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Rr(t)})}function bWt(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Rr(t)})}function xWt(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Rr(t)})}function AWt(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Rr(t)})}function wWt(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Rr(t)})}function SWt(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Rr(t)})}function CWt(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Rr(t)})}function EWt(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Rr(t)})}function IWt(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Rr(t)})}function TWt(e,t){return new e({type:"string",format:"date",check:"string_format",...Rr(t)})}function kWt(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Rr(t)})}function RWt(e,t){return new e({type:"string",format:"duration",check:"string_format",...Rr(t)})}function PWt(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Rr(t)})}function MWt(e,t){return new e({type:"boolean",...Rr(t)})}function DWt(e){return new e({type:"any"})}function LWt(e){return new e({type:"unknown"})}function BWt(e,t){return new e({type:"never",...Rr(t)})}function Lle(e,t){return new aPe({check:"less_than",...Rr(t),value:e,inclusive:!1})}function tq(e,t){return new aPe({check:"less_than",...Rr(t),value:e,inclusive:!0})}function Ble(e,t){return new iPe({check:"greater_than",...Rr(t),value:e,inclusive:!1})}function nq(e,t){return new iPe({check:"greater_than",...Rr(t),value:e,inclusive:!0})}function Ole(e,t){return new zQt({check:"multiple_of",...Rr(t),value:e})}function Fle(e,t){return new HQt({check:"max_length",...Rr(t),maximum:e})}function CD(e,t){return new VQt({check:"min_length",...Rr(t),minimum:e})}function Ule(e,t){return new GQt({check:"length_equals",...Rr(t),length:e})}function hPe(e,t){return new qQt({check:"string_format",format:"regex",...Rr(t),pattern:e})}function gPe(e){return new ZQt({check:"string_format",format:"lowercase",...Rr(e)})}function yPe(e){return new QQt({check:"string_format",format:"uppercase",...Rr(e)})}function vPe(e,t){return new XQt({check:"string_format",format:"includes",...Rr(t),includes:e})}function bPe(e,t){return new WQt({check:"string_format",format:"starts_with",...Rr(t),prefix:e})}function xPe(e,t){return new YQt({check:"string_format",format:"ends_with",...Rr(t),suffix:e})}function JI(e){return new KQt({check:"overwrite",tx:e})}function APe(e){return JI((t)=>t.normalize(e))}function wPe(){return JI((e)=>e.trim())}function SPe(){return JI((e)=>e.toLowerCase())}function CPe(){return JI((e)=>e.toUpperCase())}function OWt(e,t,n){return new e({type:"array",element:t,...Rr(n)})}function FWt(e,t,n){let r=Rr(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function UWt(e,t,n){return new e({type:"custom",check:"custom",fn:t,...Rr(n)})}var NWt=P(()=>{Ple();Y3()});var zWt=()=>{};var _Wt=()=>{};var HWt=()=>{};var Cx=P(()=>{Y3();Rle();fPe();HWt();xD();tPe();jRe();$Xt();Ple();lPe();rWt();zWt();NWt();_Wt()});var EPe=P(()=>{Cx()});function VWt(e){return IWt(Ncr,e)}function GWt(e){return TWt(zcr,e)}function qWt(e){return kWt(_cr,e)}function ZWt(e){return RWt(Hcr,e)}var Ncr,zcr,_cr,Hcr;var IPe=P(()=>{Cx();TPe();Ncr=_t("ZodISODateTime",(e,t)=>{bXt.init(e,t),vl.init(e,t)});zcr=_t("ZodISODate",(e,t)=>{xXt.init(e,t),vl.init(e,t)});_cr=_t("ZodISOTime",(e,t)=>{AXt.init(e,t),vl.init(e,t)});Hcr=_t("ZodISODuration",(e,t)=>{wXt.init(e,t),vl.init(e,t)})});var XWt=(e,t)=>{kle.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>aQt(e,n)},flatten:{value:(n)=>oQt(e,n)},addIssue:{value:(n)=>e.issues.push(n)},addIssues:{value:(n)=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},tba,oq;var kPe=P(()=>{Cx();Cx();tba=_t("ZodError",XWt),oq=_t("ZodError",XWt,{Parent:Error})});var WWt,YWt,KWt,JWt;var RPe=P(()=>{Cx();kPe();WWt=iQt(oq),YWt=sQt(oq),KWt=$Re(oq),JWt=ePe(oq)});function Ft(e){return oWt(qcr,e)}function Fo(e){return PWt(cur,e)}function Oa(e){return MWt(uur,e)}function so(){return DWt(dur)}function PPe(){return LWt(pur)}function mur(e){return BWt(fur,e)}function Yd(e,t){return OWt(hur,e,t)}function Bn(e,t){return new gur({type:"object",get shape(){return WRe(this,"shape",{...e}),this.shape},catchall:PPe(),...Rr(t)})}function zle(e,t){return new rYt({type:"union",options:e,...Rr(t)})}function jI(e,t,n){return new yur({type:"union",options:t,discriminator:e,...Rr(n)})}function bur(e,t){return new vur({type:"intersection",left:e,right:t})}function ED(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new MPe({type:"enum",entries:n,...Rr(t)})}function xr(e,t){return new xur({type:"literal",values:Array.isArray(e)?e:[e],...Rr(t)})}function wur(e){return new Aur({type:"transform",transform:e})}function $Wt(e){return new oYt({type:"optional",innerType:e})}function eYt(e){return new Sur({type:"nullable",innerType:e})}function Eur(e,t){return new Cur({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}function Tur(e,t){return new Iur({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():t}})}function kur(e,t){return new aYt({type:"nonoptional",innerType:e,...Rr(t)})}function Pur(e,t){return new Rur({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}function tYt(e,t){return new Mur({type:"pipe",in:e,out:t})}function Lur(e){return new Dur({type:"readonly",innerType:e})}function Bur(e){let t=new Am({check:"custom"});return t._zod.check=e,t}function aq(e,t){return FWt(iYt,e??(()=>!0),t)}function Our(e,t={}){return UWt(iYt,e,t)}function Fur(e){let t=Bur((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(SD(r,n.value,t._zod.def));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(SD(o))}},e(n.value,n)));return t}var fc,nYt,qcr,vl,Zcr,jWt,Nle,Qcr,Xcr,Wcr,Ycr,Kcr,Jcr,jcr,$cr,eur,tur,nur,rur,our,aur,iur,sur,lur,cur,uur,dur,pur,fur,hur,gur,rYt,yur,vur,MPe,xur,Aur,oYt,Sur,Cur,Iur,aYt,Rur,Mur,Dur,iYt;var TPe=P(()=>{Cx();Cx();EPe();IPe();RPe();fc=_t("ZodType",(e,t)=>($s.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>X3(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>WWt(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>KWt(e,n,r),e.parseAsync=async(n,r)=>YWt(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>JWt(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(Our(n,r)),e.superRefine=(n)=>e.check(Fur(n)),e.overwrite=(n)=>e.check(JI(n)),e.optional=()=>$Wt(e),e.nullable=()=>eYt(e),e.nullish=()=>$Wt(eYt(e)),e.nonoptional=(n)=>kur(e,n),e.array=()=>Yd(e),e.or=(n)=>zle([e,n]),e.and=(n)=>bur(e,n),e.transform=(n)=>tYt(e,wur(n)),e.default=(n)=>Eur(e,n),e.prefault=(n)=>Tur(e,n),e.catch=(n)=>Pur(e,n),e.pipe=(n)=>tYt(e,n),e.readonly=()=>Lur(e),e.describe=(n)=>{let r=e.clone();return eq.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return eq.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return eq.get(e);let r=e.clone();return eq.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),nYt=_t("_ZodString",(e,t)=>{Dle.init(e,t),fc.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(hPe(...r)),e.includes=(...r)=>e.check(vPe(...r)),e.startsWith=(...r)=>e.check(bPe(...r)),e.endsWith=(...r)=>e.check(xPe(...r)),e.min=(...r)=>e.check(CD(...r)),e.max=(...r)=>e.check(Fle(...r)),e.length=(...r)=>e.check(Ule(...r)),e.nonempty=(...r)=>e.check(CD(1,...r)),e.lowercase=(r)=>e.check(gPe(r)),e.uppercase=(r)=>e.check(yPe(r)),e.trim=()=>e.check(wPe()),e.normalize=(...r)=>e.check(APe(...r)),e.toLowerCase=()=>e.check(SPe()),e.toUpperCase=()=>e.check(CPe())}),qcr=_t("ZodString",(e,t)=>{Dle.init(e,t),nYt.init(e,t),e.email=(n)=>e.check(aWt(Zcr,n)),e.url=(n)=>e.check(uWt(Qcr,n)),e.jwt=(n)=>e.check(EWt(sur,n)),e.emoji=(n)=>e.check(dWt(Xcr,n)),e.guid=(n)=>e.check(mPe(jWt,n)),e.uuid=(n)=>e.check(iWt(Nle,n)),e.uuidv4=(n)=>e.check(sWt(Nle,n)),e.uuidv6=(n)=>e.check(lWt(Nle,n)),e.uuidv7=(n)=>e.check(cWt(Nle,n)),e.nanoid=(n)=>e.check(pWt(Wcr,n)),e.guid=(n)=>e.check(mPe(jWt,n)),e.cuid=(n)=>e.check(fWt(Ycr,n)),e.cuid2=(n)=>e.check(mWt(Kcr,n)),e.ulid=(n)=>e.check(hWt(Jcr,n)),e.base64=(n)=>e.check(wWt(our,n)),e.base64url=(n)=>e.check(SWt(aur,n)),e.xid=(n)=>e.check(gWt(jcr,n)),e.ksuid=(n)=>e.check(yWt($cr,n)),e.ipv4=(n)=>e.check(vWt(eur,n)),e.ipv6=(n)=>e.check(bWt(tur,n)),e.cidrv4=(n)=>e.check(xWt(nur,n)),e.cidrv6=(n)=>e.check(AWt(rur,n)),e.e164=(n)=>e.check(CWt(iur,n)),e.datetime=(n)=>e.check(VWt(n)),e.date=(n)=>e.check(GWt(n)),e.time=(n)=>e.check(qWt(n)),e.duration=(n)=>e.check(ZWt(n))});vl=_t("ZodStringFormat",(e,t)=>{el.init(e,t),nYt.init(e,t)}),Zcr=_t("ZodEmail",(e,t)=>{uXt.init(e,t),vl.init(e,t)}),jWt=_t("ZodGUID",(e,t)=>{lXt.init(e,t),vl.init(e,t)}),Nle=_t("ZodUUID",(e,t)=>{cXt.init(e,t),vl.init(e,t)}),Qcr=_t("ZodURL",(e,t)=>{dXt.init(e,t),vl.init(e,t)}),Xcr=_t("ZodEmoji",(e,t)=>{pXt.init(e,t),vl.init(e,t)}),Wcr=_t("ZodNanoID",(e,t)=>{fXt.init(e,t),vl.init(e,t)}),Ycr=_t("ZodCUID",(e,t)=>{mXt.init(e,t),vl.init(e,t)}),Kcr=_t("ZodCUID2",(e,t)=>{hXt.init(e,t),vl.init(e,t)}),Jcr=_t("ZodULID",(e,t)=>{gXt.init(e,t),vl.init(e,t)}),jcr=_t("ZodXID",(e,t)=>{yXt.init(e,t),vl.init(e,t)}),$cr=_t("ZodKSUID",(e,t)=>{vXt.init(e,t),vl.init(e,t)}),eur=_t("ZodIPv4",(e,t)=>{SXt.init(e,t),vl.init(e,t)}),tur=_t("ZodIPv6",(e,t)=>{CXt.init(e,t),vl.init(e,t)}),nur=_t("ZodCIDRv4",(e,t)=>{EXt.init(e,t),vl.init(e,t)}),rur=_t("ZodCIDRv6",(e,t)=>{IXt.init(e,t),vl.init(e,t)}),our=_t("ZodBase64",(e,t)=>{kXt.init(e,t),vl.init(e,t)}),aur=_t("ZodBase64URL",(e,t)=>{RXt.init(e,t),vl.init(e,t)}),iur=_t("ZodE164",(e,t)=>{PXt.init(e,t),vl.init(e,t)}),sur=_t("ZodJWT",(e,t)=>{MXt.init(e,t),vl.init(e,t)}),lur=_t("ZodNumber",(e,t)=>{uPe.init(e,t),fc.init(e,t),e.gt=(r,o)=>e.check(Ble(r,o)),e.gte=(r,o)=>e.check(nq(r,o)),e.min=(r,o)=>e.check(nq(r,o)),e.lt=(r,o)=>e.check(Lle(r,o)),e.lte=(r,o)=>e.check(tq(r,o)),e.max=(r,o)=>e.check(tq(r,o)),e.int=(r)=>e.check(Fo(r)),e.safe=(r)=>e.check(Fo(r)),e.positive=(r)=>e.check(Ble(0,r)),e.nonnegative=(r)=>e.check(nq(0,r)),e.negative=(r)=>e.check(Lle(0,r)),e.nonpositive=(r)=>e.check(tq(0,r)),e.multipleOf=(r,o)=>e.check(Ole(r,o)),e.step=(r,o)=>e.check(Ole(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null}),cur=_t("ZodNumberFormat",(e,t)=>{DXt.init(e,t),lur.init(e,t)});uur=_t("ZodBoolean",(e,t)=>{LXt.init(e,t),fc.init(e,t)});dur=_t("ZodAny",(e,t)=>{BXt.init(e,t),fc.init(e,t)});pur=_t("ZodUnknown",(e,t)=>{OXt.init(e,t),fc.init(e,t)});fur=_t("ZodNever",(e,t)=>{FXt.init(e,t),fc.init(e,t)});hur=_t("ZodArray",(e,t)=>{UXt.init(e,t),fc.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(CD(n,r)),e.nonempty=(n)=>e.check(CD(1,n)),e.max=(n,r)=>e.check(Fle(n,r)),e.length=(n,r)=>e.check(Ule(n,r)),e.unwrap=()=>e.element});gur=_t("ZodObject",(e,t)=>{NXt.init(e,t),fc.init(e,t),Os(e,"shape",()=>t.shape),e.keyof=()=>ED(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:PPe()}),e.loose=()=>e.clone({...e._zod.def,catchall:PPe()}),e.strict=()=>e.clone({...e._zod.def,catchall:mur()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>Scr(e,n),e.merge=(n)=>Ccr(e,n),e.pick=(n)=>Acr(e,n),e.omit=(n)=>wcr(e,n),e.partial=(...n)=>Ecr(oYt,e,n[0]),e.required=(...n)=>Icr(aYt,e,n[0])});rYt=_t("ZodUnion",(e,t)=>{dPe.init(e,t),fc.init(e,t),e.options=t.options});yur=_t("ZodDiscriminatedUnion",(e,t)=>{rYt.init(e,t),zXt.init(e,t)});vur=_t("ZodIntersection",(e,t)=>{_Xt.init(e,t),fc.init(e,t)});MPe=_t("ZodEnum",(e,t)=>{HXt.init(e,t),fc.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let a={};for(let i of r)if(n.has(i))a[i]=t.entries[i];else throw Error(`Key ${i} not found in enum`);return new MPe({...t,checks:[],...Rr(o),entries:a})},e.exclude=(r,o)=>{let a={...t.entries};for(let i of r)if(n.has(i))delete a[i];else throw Error(`Key ${i} not found in enum`);return new MPe({...t,checks:[],...Rr(o),entries:a})}});xur=_t("ZodLiteral",(e,t)=>{VXt.init(e,t),fc.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});Aur=_t("ZodTransform",(e,t)=>{GXt.init(e,t),fc.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=(a)=>{if(typeof a==="string")n.issues.push(SD(a,n.value,t));else{let i=a;if(i.fatal)i.continue=!1;i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),n.issues.push(SD(i))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((a)=>(n.value=a,n));return n.value=o,n}});oYt=_t("ZodOptional",(e,t)=>{qXt.init(e,t),fc.init(e,t),e.unwrap=()=>e._zod.def.innerType});Sur=_t("ZodNullable",(e,t)=>{ZXt.init(e,t),fc.init(e,t),e.unwrap=()=>e._zod.def.innerType});Cur=_t("ZodDefault",(e,t)=>{QXt.init(e,t),fc.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});Iur=_t("ZodPrefault",(e,t)=>{XXt.init(e,t),fc.init(e,t),e.unwrap=()=>e._zod.def.innerType});aYt=_t("ZodNonOptional",(e,t)=>{WXt.init(e,t),fc.init(e,t),e.unwrap=()=>e._zod.def.innerType});Rur=_t("ZodCatch",(e,t)=>{YXt.init(e,t),fc.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});Mur=_t("ZodPipe",(e,t)=>{KXt.init(e,t),fc.init(e,t),e.in=t.in,e.out=t.out});Dur=_t("ZodReadonly",(e,t)=>{JXt.init(e,t),fc.init(e,t)});iYt=_t("ZodCustom",(e,t)=>{jXt.init(e,t),fc.init(e,t)})});var sYt=()=>{};var lYt=()=>{};var DPe=P(()=>{Cx();Cx();eWt();fPe();IPe();lYt();TPe();EPe();kPe();RPe();sYt();J2(pPe())});var uYt=P(()=>{DPe();DPe()});var dYt=P(()=>{uYt()});var Nur,yo,ha,pYt,zur,_ur,Hur,Vur,Gur,qur,Zur,Qur,Xur,Wur,Yur,Kur,_le,Jur,jur,$ur,edr,LPe,tdr,fYt,ndr,mC,rdr,odr,adr,idr,sdr,ldr,cdr,mYt,udr,ddr,pdr,fdr,mdr,hdr,gdr,ydr,vdr,bdr,hYt,xdr,Adr,wdr,Sdr,Cdr,gYt,Edr,Idr,Tdr,kdr,Rdr,Pdr,Mdr,Ddr,Ldr,yYt,Bdr,Odr,Fdr,Udr,Ndr,zdr,_dr,Hdr,Vdr,Gdr,qdr,Zdr,Qdr,Xdr,Wdr,Ydr,Kdr,Jdr,jdr,exa,$dr,epr,tpr,npr,rpr,opr,apr,ipr,spr,lpr,cpr,upr,dpr,txa,nxa,rxa,oxa,axa;var vYt=P(()=>{ZRe();dYt();Nur=ED(La),yo=aq((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)),ha=Ft(),pYt=ED(["developer","system","assistant","user"]),zur=Bn({type:xr(La.TEXT_MESSAGE_START),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft(),role:pYt.optional(),name:Ft().optional()}),_ur=Bn({type:xr(La.TEXT_MESSAGE_CONTENT),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft(),delta:Ft()}),Hur=Bn({type:xr(La.TEXT_MESSAGE_END),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft()}),Vur=Bn({type:xr(La.TEXT_MESSAGE_CHUNK),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft().optional(),role:pYt.optional(),delta:Ft().optional(),name:Ft().optional()}),Gur=Bn({type:xr(La.TOOL_CALL_START),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),toolCallId:Ft(),toolCallName:Ft(),parentMessageId:Ft().optional()}),qur=Bn({type:xr(La.TOOL_CALL_ARGS),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),toolCallId:Ft(),delta:Ft()}),Zur=Bn({type:xr(La.TOOL_CALL_END),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),toolCallId:Ft()}),Qur=Bn({type:xr(La.TOOL_CALL_CHUNK),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),toolCallId:Ft().optional(),toolCallName:Ft().optional(),parentMessageId:Ft().optional(),delta:Ft().optional()}),Xur=Bn({type:xr("text"),id:Ft().optional(),text:Ft(),metadata:so().refine((e)=>e!==null).optional()}),Wur=Bn({type:xr("data"),value:Ft(),mimeType:Ft()}),Yur=Bn({type:xr("url"),value:Ft(),mimeType:Ft().optional()}),Kur=Bn({type:xr("file"),value:Ft(),provider:Ft().optional(),mimeType:Ft().optional()}),_le=jI("type",[Wur,Yur,Kur]),Jur=Bn({type:xr("image"),id:Ft().optional(),source:_le,metadata:so().refine((e)=>e!==null).optional()}),jur=Bn({type:xr("audio"),id:Ft().optional(),source:_le,metadata:so().refine((e)=>e!==null).optional()}),$ur=Bn({type:xr("video"),id:Ft().optional(),source:_le,metadata:so().refine((e)=>e!==null).optional()}),edr=Bn({type:xr("document"),id:Ft().optional(),source:_le,metadata:so().refine((e)=>e!==null).optional()}),LPe=jI("type",[Xur,Jur,jur,$ur,edr]),tdr=Bn({type:xr(La.TOOL_CALL_RESULT),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft(),toolCallId:Ft(),content:zle([Ft(),Yd(LPe)]),role:xr("tool").optional()}),fYt=so(),ndr=Bn({type:xr(La.STATE_SNAPSHOT),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),snapshot:fYt.refine((e)=>e!==void 0)}),mC=Ft().regex(new RegExp("^(/([^/~]|~[01])*)*$")),rdr=Bn({op:xr("add"),path:mC,value:so().refine((e)=>e!==void 0)}).meta({specOpen:!0}),odr=Bn({op:xr("remove"),path:mC}).meta({specOpen:!0}),adr=Bn({op:xr("replace"),path:mC,value:so().refine((e)=>e!==void 0)}).meta({specOpen:!0}),idr=Bn({op:xr("move"),from:mC,path:mC}).meta({specOpen:!0}),sdr=Bn({op:xr("copy"),from:mC,path:mC}).meta({specOpen:!0}),ldr=Bn({op:xr("test"),path:mC,value:so().refine((e)=>e!==void 0)}).meta({specOpen:!0}),cdr=jI("op",[rdr,odr,adr,idr,sdr,ldr]),mYt=Yd(cdr),udr=Bn({type:xr(La.STATE_DELTA),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),delta:mYt}),ddr=Bn({subagentRunId:ha.optional(),id:Ft(),role:xr("developer"),name:Ft().optional(),encryptedValue:Ft().optional(),metadata:yo.optional(),content:Ft()}),pdr=Bn({subagentRunId:ha.optional(),id:Ft(),role:xr("system"),name:Ft().optional(),encryptedValue:Ft().optional(),metadata:yo.optional(),content:Ft()}),fdr=Bn({name:Ft(),arguments:Ft()}),mdr=Bn({id:Ft(),type:xr("function"),function:fdr,encryptedValue:Ft().optional(),metadata:yo.optional()}),hdr=Bn({subagentRunId:ha.optional(),id:Ft(),role:xr("assistant"),name:Ft().optional(),encryptedValue:Ft().optional(),metadata:yo.optional(),content:Ft().optional(),toolCalls:Yd(mdr).optional()}),gdr=Bn({subagentRunId:ha.optional(),id:Ft(),role:xr("user"),name:Ft().optional(),encryptedValue:Ft().optional(),metadata:yo.optional(),content:zle([Ft(),Yd(LPe)])}),ydr=Bn({subagentRunId:ha.optional(),id:Ft(),role:xr("tool"),content:zle([Ft(),Yd(LPe)]),toolCallId:Ft(),error:Ft().optional(),encryptedValue:Ft().optional(),metadata:yo.optional()}),vdr=Bn({subagentRunId:ha.optional(),id:Ft(),role:xr("activity"),activityType:Ft(),content:aq((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)),metadata:yo.optional()}),bdr=Bn({subagentRunId:ha.optional(),id:Ft(),role:xr("reasoning"),content:Ft(),encryptedValue:Ft().optional(),metadata:yo.optional()}),hYt=jI("role",[ddr,pdr,hdr,gdr,ydr,vdr,bdr]),xdr=Bn({type:xr(La.MESSAGES_SNAPSHOT),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),messages:Yd(hYt)}),Adr=Bn({type:xr(La.ACTIVITY_SNAPSHOT),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft(),activityType:Ft(),content:aq((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)),replace:Oa().optional()}),wdr=Bn({type:xr(La.ACTIVITY_DELTA),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft(),activityType:Ft(),patch:mYt}),Sdr=Bn({type:xr(La.RAW),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),event:so().refine((e)=>e!==void 0),source:Ft().optional()}),Cdr=Bn({type:xr(La.CUSTOM),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),name:Ft(),value:so().refine((e)=>e!==void 0)}),gYt=Bn({name:Ft(),description:Ft(),parameters:so().refine((e)=>e!==null).optional(),metadata:yo.optional()}),Edr=Bn({description:Ft(),value:Ft()}),Idr=Bn({interruptId:Ft(),status:ED(["resolved","cancelled"]),payload:so().refine((e)=>e!==null).optional(),metadata:yo.optional()}),Tdr=Bn({threadId:Ft(),runId:Ft(),protocolVersion:Ft().optional(),parentRunId:Ft().optional(),state:fYt.refine((e)=>e!==null).nullable().transform((e)=>e??void 0).optional(),messages:Yd(hYt),tools:Yd(gYt).default(()=>[]),context:Yd(Edr).default(()=>[]),forwardedProps:so().refine((e)=>e!==null).optional(),resume:Yd(Idr).optional()}),kdr=Bn({type:xr(La.RUN_STARTED),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),threadId:Ft(),runId:Ft(),protocolVersion:Ft().optional(),parentRunId:Ft().optional(),input:Tdr.optional()}),Rdr=Bn({type:xr("success"),pendingToolCallIds:Yd(Ft()).optional()}),Pdr=Bn({subagentRunId:ha.optional(),id:Ft(),reason:Ft(),message:Ft().optional(),toolCallId:Ft().optional(),responseSchema:aq((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)).optional(),expiresAt:Ft().optional(),metadata:yo.optional()}),Mdr=Bn({type:xr("interrupt"),interrupts:Yd(Pdr).min(1)}),Ddr=Bn({type:xr("cancelled")}),Ldr=jI("type",[Rdr,Mdr,Ddr]),yYt=Bn({provider:Ft().optional(),model:Ft().optional(),inputTokens:Fo().min(0).max(9007199254740991).optional(),outputTokens:Fo().min(0).max(9007199254740991).optional(),totalTokens:Fo().min(0).max(9007199254740991).optional(),reasoningTokens:Fo().min(0).max(9007199254740991).optional(),cachedInputTokens:Fo().min(0).max(9007199254740991).optional(),cacheWriteInputTokens:Fo().min(0).max(9007199254740991).optional()}),Bdr=Bn({type:xr(La.RUN_FINISHED),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),threadId:Ft(),runId:Ft(),result:so().refine((e)=>e!==null).optional(),outcome:Ldr.optional(),usage:Yd(yYt).optional()}),Odr=Bn({type:xr(La.RUN_ERROR),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),message:Ft(),code:Ft().optional(),usage:Yd(yYt).optional()}),Fdr=Bn({type:xr(La.STEP_STARTED),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),stepName:Ft()}),Udr=Bn({type:xr(La.STEP_FINISHED),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),stepName:Ft()}),Ndr=Bn({type:xr(La.REASONING_START),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft()}),zdr=Bn({type:xr(La.REASONING_MESSAGE_START),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft(),role:xr("reasoning")}),_dr=Bn({type:xr(La.REASONING_MESSAGE_CONTENT),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft(),delta:Ft()}),Hdr=Bn({type:xr(La.REASONING_MESSAGE_END),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft()}),Vdr=Bn({type:xr(La.REASONING_MESSAGE_CHUNK),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft().optional(),delta:Ft().optional()}),Gdr=Bn({type:xr(La.REASONING_END),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),messageId:Ft()}),qdr=ED(["tool-call","message"]),Zdr=Bn({type:xr(La.REASONING_ENCRYPTED_VALUE),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha.optional(),subtype:qdr,entityId:Ft(),encryptedValue:Ft()}),Qdr=Bn({type:xr(La.SUBAGENT_STARTED),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha,name:Ft(),description:Ft().optional(),parentSubagentRunId:ha.optional(),parentToolCallId:Ft().optional(),parentMessageId:Ft().optional()}),Xdr=Bn({type:xr("success")}),Wdr=Bn({type:xr("suspended"),interruptIds:Yd(Ft()).optional()}),Ydr=jI("type",[Xdr,Wdr]),Kdr=Bn({type:xr(La.SUBAGENT_FINISHED),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha,result:so().refine((e)=>e!==null).optional(),outcome:Ydr.optional()}),Jdr=Bn({type:xr(La.SUBAGENT_ERROR),timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional(),subagentRunId:ha,message:Ft(),code:Ft().optional()}),jdr=jI("type",[zur,_ur,Hur,Vur,Gur,qur,Zur,Qur,tdr,ndr,udr,xdr,Adr,wdr,Sdr,Cdr,kdr,Bdr,Odr,Fdr,Udr,Ndr,zdr,_dr,Hdr,Vdr,Gdr,Zdr,Qdr,Kdr,Jdr]),exa=ED(["developer","system","assistant","user","tool","activity","reasoning"]),$dr=Bn({name:Ft(),description:Ft().optional()}),epr=Bn({name:Ft().optional(),type:Ft().optional(),description:Ft().optional(),version:Ft().optional(),provider:Ft().optional(),documentationUrl:Ft().optional(),metadata:yo.optional()}),tpr=Bn({streaming:Oa().optional(),websocket:Oa().optional(),httpBinary:Oa().optional(),pushNotifications:Oa().optional(),resumable:Oa().optional()}),npr=Bn({supported:Oa().optional(),items:Yd(gYt).optional(),parallelCalls:Oa().optional(),clientProvided:Oa().optional()}),rpr=Bn({structuredOutput:Oa().optional(),supportedMimeTypes:Yd(Ft()).optional()}),opr=Bn({snapshots:Oa().optional(),deltas:Oa().optional(),memory:Oa().optional(),persistentState:Oa().optional()}),apr=Bn({supported:Oa().optional(),delegation:Oa().optional(),handoffs:Oa().optional(),subagents:Yd($dr).optional()}),ipr=Bn({supported:Oa().optional(),streaming:Oa().optional(),encrypted:Oa().optional()}),spr=Bn({image:Oa().optional(),audio:Oa().optional(),video:Oa().optional(),pdf:Oa().optional(),file:Oa().optional()}),lpr=Bn({image:Oa().optional(),audio:Oa().optional()}),cpr=Bn({input:spr.optional(),output:lpr.optional()}),upr=Bn({codeExecution:Oa().optional(),sandboxed:Oa().optional(),maxIterations:Fo().min(0).max(9007199254740991).optional(),maxExecutionTime:Fo().min(0).max(9007199254740991).optional()}),dpr=Bn({supported:Oa().optional(),approvals:Oa().optional(),interventions:Oa().optional(),feedback:Oa().optional(),interrupts:Oa().optional(),approveWithEdits:Oa().optional()}),txa=Bn({identity:epr.optional(),transport:tpr.optional(),tools:npr.optional(),output:rpr.optional(),state:opr.optional(),multiAgent:apr.optional(),reasoning:ipr.optional(),multimodal:cpr.optional(),execution:upr.optional(),humanInTheLoop:dpr.optional(),custom:aq((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)).optional()}),nxa=Bn({subagentRunId:ha.optional()}),rxa=Bn({type:Nur,timestamp:Fo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:so().refine((e)=>e!==null).optional(),metadata:yo.optional()}),oxa=Bn({subagentRunId:ha.optional(),id:Ft(),role:Ft(),name:Ft().optional(),encryptedValue:Ft().optional(),metadata:yo.optional()}),axa=yo.optional()});var uxa;var BPe=P(()=>{YZt();vYt();uxa=new Set(Object.values(La))});var ppr,vo,ga,xYt,fpr,mpr,hpr,OPe,gpr,ypr,vpr,FPe,bpr,xpr,Apr,wpr,Hle,Spr,Cpr,Epr,Ipr,UPe,Tpr,AYt,kpr,hC,Rpr,Ppr,Mpr,Dpr,Lpr,Bpr,Opr,wYt,Fpr,Upr,Npr,zpr,_pr,Hpr,Vpr,Gpr,qpr,Zpr,SYt,Qpr,Xpr,Wpr,Ypr,Kpr,CYt,Jpr,jpr,EYt,$pr,efr,tfr,nfr,rfr,ofr,IYt,afr,ifr,sfr,lfr,cfr,ufr,dfr,pfr,NPe,ffr,mfr,hfr,gfr,yfr,vfr,bfr,xfr,Afr,TYt,fxa,wfr,Sfr,Cfr,Efr,Ifr,Tfr,kfr,Rfr,Pfr,Mfr,Dfr,Lfr,Bfr,mxa,hxa,gxa,yxa,vxa;var zPe=P(()=>{URe();AM();ppr=tr(br),vo=eI((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)),ga=Q(),xYt=tr(["developer","system","assistant","user"]),fpr=wt({type:Ce(br.TEXT_MESSAGE_START),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q(),role:xYt.optional(),name:Q().optional()}),mpr=wt({type:Ce(br.TEXT_MESSAGE_CONTENT),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q(),delta:Q()}),hpr=wt({type:Ce(br.TEXT_MESSAGE_END),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q()}),OPe=wt({type:Ce(br.TEXT_MESSAGE_CHUNK),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q().optional(),role:xYt.optional(),delta:Q().optional(),name:Q().optional()}),gpr=wt({type:Ce(br.TOOL_CALL_START),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),toolCallId:Q(),toolCallName:Q(),parentMessageId:Q().optional()}),ypr=wt({type:Ce(br.TOOL_CALL_ARGS),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),toolCallId:Q(),delta:Q()}),vpr=wt({type:Ce(br.TOOL_CALL_END),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),toolCallId:Q()}),FPe=wt({type:Ce(br.TOOL_CALL_CHUNK),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),toolCallId:Q().optional(),toolCallName:Q().optional(),parentMessageId:Q().optional(),delta:Q().optional()}),bpr=wt({type:Ce("text"),id:Q().optional(),text:Q(),metadata:Gr().refine((e)=>e!==null).optional()}),xpr=wt({type:Ce("data"),value:Q(),mimeType:Q()}),Apr=wt({type:Ce("url"),value:Q(),mimeType:Q().optional()}),wpr=wt({type:Ce("file"),value:Q(),provider:Q().optional(),mimeType:Q().optional()}),Hle=dm("type",[xpr,Apr,wpr]),Spr=wt({type:Ce("image"),id:Q().optional(),source:Hle,metadata:Gr().refine((e)=>e!==null).optional()}),Cpr=wt({type:Ce("audio"),id:Q().optional(),source:Hle,metadata:Gr().refine((e)=>e!==null).optional()}),Epr=wt({type:Ce("video"),id:Q().optional(),source:Hle,metadata:Gr().refine((e)=>e!==null).optional()}),Ipr=wt({type:Ce("document"),id:Q().optional(),source:Hle,metadata:Gr().refine((e)=>e!==null).optional()}),UPe=dm("type",[bpr,Spr,Cpr,Epr,Ipr]),Tpr=wt({type:Ce(br.TOOL_CALL_RESULT),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q(),toolCallId:Q(),content:Jt([Q(),je(UPe)]),role:Ce("tool").optional()}),AYt=Gr(),kpr=wt({type:Ce(br.STATE_SNAPSHOT),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),snapshot:AYt.refine((e)=>e!==void 0)}),hC=Q().regex(new RegExp("^(/([^/~]|~[01])*)*$")),Rpr=wt({op:Ce("add"),path:hC,value:Gr().refine((e)=>e!==void 0)}).meta({specOpen:!0}),Ppr=wt({op:Ce("remove"),path:hC}).meta({specOpen:!0}),Mpr=wt({op:Ce("replace"),path:hC,value:Gr().refine((e)=>e!==void 0)}).meta({specOpen:!0}),Dpr=wt({op:Ce("move"),from:hC,path:hC}).meta({specOpen:!0}),Lpr=wt({op:Ce("copy"),from:hC,path:hC}).meta({specOpen:!0}),Bpr=wt({op:Ce("test"),path:hC,value:Gr().refine((e)=>e!==void 0)}).meta({specOpen:!0}),Opr=dm("op",[Rpr,Ppr,Mpr,Dpr,Lpr,Bpr]),wYt=je(Opr),Fpr=wt({type:Ce(br.STATE_DELTA),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),delta:wYt}),Upr=wt({subagentRunId:ga.optional(),id:Q(),role:Ce("developer"),name:Q().optional(),encryptedValue:Q().optional(),metadata:vo.optional(),content:Q()}),Npr=wt({subagentRunId:ga.optional(),id:Q(),role:Ce("system"),name:Q().optional(),encryptedValue:Q().optional(),metadata:vo.optional(),content:Q()}),zpr=wt({name:Q(),arguments:Q()}),_pr=wt({id:Q(),type:Ce("function"),function:zpr,encryptedValue:Q().optional(),metadata:vo.optional()}),Hpr=wt({subagentRunId:ga.optional(),id:Q(),role:Ce("assistant"),name:Q().optional(),encryptedValue:Q().optional(),metadata:vo.optional(),content:Q().optional(),toolCalls:je(_pr).optional()}),Vpr=wt({subagentRunId:ga.optional(),id:Q(),role:Ce("user"),name:Q().optional(),encryptedValue:Q().optional(),metadata:vo.optional(),content:Jt([Q(),je(UPe)])}),Gpr=wt({subagentRunId:ga.optional(),id:Q(),role:Ce("tool"),content:Jt([Q(),je(UPe)]),toolCallId:Q(),error:Q().optional(),encryptedValue:Q().optional(),metadata:vo.optional()}),qpr=wt({subagentRunId:ga.optional(),id:Q(),role:Ce("activity"),activityType:Q(),content:eI((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)),metadata:vo.optional()}),Zpr=wt({subagentRunId:ga.optional(),id:Q(),role:Ce("reasoning"),content:Q(),encryptedValue:Q().optional(),metadata:vo.optional()}),SYt=dm("role",[Upr,Npr,Hpr,Vpr,Gpr,qpr,Zpr]),Qpr=wt({type:Ce(br.MESSAGES_SNAPSHOT),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),messages:je(SYt)}),Xpr=wt({type:Ce(br.ACTIVITY_SNAPSHOT),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q(),activityType:Q(),content:eI((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)),replace:Bt().optional()}),Wpr=wt({type:Ce(br.ACTIVITY_DELTA),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q(),activityType:Q(),patch:wYt}),Ypr=wt({type:Ce(br.RAW),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),event:Gr().refine((e)=>e!==void 0),source:Q().optional()}),Kpr=wt({type:Ce(br.CUSTOM),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),name:Q(),value:Gr().refine((e)=>e!==void 0)}),CYt=wt({name:Q(),description:Q(),parameters:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional()}),Jpr=wt({description:Q(),value:Q()}),jpr=wt({interruptId:Q(),status:tr(["resolved","cancelled"]),payload:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional()}),EYt=wt({threadId:Q(),runId:Q(),protocolVersion:Q().optional(),parentRunId:Q().optional(),state:AYt.refine((e)=>e!==null).nullable().transform((e)=>e??void 0).optional(),messages:je(SYt),tools:je(CYt).default(()=>[]),context:je(Jpr).default(()=>[]),forwardedProps:Gr().refine((e)=>e!==null).optional(),resume:je(jpr).optional()}),$pr=wt({type:Ce(br.RUN_STARTED),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),threadId:Q(),runId:Q(),protocolVersion:Q().optional(),parentRunId:Q().optional(),input:EYt.optional()}),efr=wt({type:Ce("success"),pendingToolCallIds:je(Q()).optional()}),tfr=wt({subagentRunId:ga.optional(),id:Q(),reason:Q(),message:Q().optional(),toolCallId:Q().optional(),responseSchema:eI((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)).optional(),expiresAt:Q().optional(),metadata:vo.optional()}),nfr=wt({type:Ce("interrupt"),interrupts:je(tfr).min(1)}),rfr=wt({type:Ce("cancelled")}),ofr=dm("type",[efr,nfr,rfr]),IYt=wt({provider:Q().optional(),model:Q().optional(),inputTokens:Oo().min(0).max(9007199254740991).optional(),outputTokens:Oo().min(0).max(9007199254740991).optional(),totalTokens:Oo().min(0).max(9007199254740991).optional(),reasoningTokens:Oo().min(0).max(9007199254740991).optional(),cachedInputTokens:Oo().min(0).max(9007199254740991).optional(),cacheWriteInputTokens:Oo().min(0).max(9007199254740991).optional()}),afr=wt({type:Ce(br.RUN_FINISHED),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),threadId:Q(),runId:Q(),result:Gr().refine((e)=>e!==null).optional(),outcome:ofr.optional(),usage:je(IYt).optional()}),ifr=wt({type:Ce(br.RUN_ERROR),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),message:Q(),code:Q().optional(),usage:je(IYt).optional()}),sfr=wt({type:Ce(br.STEP_STARTED),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),stepName:Q()}),lfr=wt({type:Ce(br.STEP_FINISHED),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),stepName:Q()}),cfr=wt({type:Ce(br.REASONING_START),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q()}),ufr=wt({type:Ce(br.REASONING_MESSAGE_START),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q(),role:Ce("reasoning")}),dfr=wt({type:Ce(br.REASONING_MESSAGE_CONTENT),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q(),delta:Q()}),pfr=wt({type:Ce(br.REASONING_MESSAGE_END),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q()}),NPe=wt({type:Ce(br.REASONING_MESSAGE_CHUNK),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q().optional(),delta:Q().optional()}),ffr=wt({type:Ce(br.REASONING_END),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),messageId:Q()}),mfr=tr(["tool-call","message"]),hfr=wt({type:Ce(br.REASONING_ENCRYPTED_VALUE),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga.optional(),subtype:mfr,entityId:Q(),encryptedValue:Q()}),gfr=wt({type:Ce(br.SUBAGENT_STARTED),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga,name:Q(),description:Q().optional(),parentSubagentRunId:ga.optional(),parentToolCallId:Q().optional(),parentMessageId:Q().optional()}),yfr=wt({type:Ce("success")}),vfr=wt({type:Ce("suspended"),interruptIds:je(Q()).optional()}),bfr=dm("type",[yfr,vfr]),xfr=wt({type:Ce(br.SUBAGENT_FINISHED),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga,result:Gr().refine((e)=>e!==null).optional(),outcome:bfr.optional()}),Afr=wt({type:Ce(br.SUBAGENT_ERROR),timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional(),subagentRunId:ga,message:Q(),code:Q().optional()}),TYt=dm("type",[fpr,mpr,hpr,OPe,gpr,ypr,vpr,FPe,Tpr,kpr,Fpr,Qpr,Xpr,Wpr,Ypr,Kpr,$pr,afr,ifr,sfr,lfr,cfr,ufr,dfr,pfr,NPe,ffr,hfr,gfr,xfr,Afr]),fxa=tr(["developer","system","assistant","user","tool","activity","reasoning"]),wfr=wt({name:Q(),description:Q().optional()}),Sfr=wt({name:Q().optional(),type:Q().optional(),description:Q().optional(),version:Q().optional(),provider:Q().optional(),documentationUrl:Q().optional(),metadata:vo.optional()}),Cfr=wt({streaming:Bt().optional(),websocket:Bt().optional(),httpBinary:Bt().optional(),pushNotifications:Bt().optional(),resumable:Bt().optional()}),Efr=wt({supported:Bt().optional(),items:je(CYt).optional(),parallelCalls:Bt().optional(),clientProvided:Bt().optional()}),Ifr=wt({structuredOutput:Bt().optional(),supportedMimeTypes:je(Q()).optional()}),Tfr=wt({snapshots:Bt().optional(),deltas:Bt().optional(),memory:Bt().optional(),persistentState:Bt().optional()}),kfr=wt({supported:Bt().optional(),delegation:Bt().optional(),handoffs:Bt().optional(),subagents:je(wfr).optional()}),Rfr=wt({supported:Bt().optional(),streaming:Bt().optional(),encrypted:Bt().optional()}),Pfr=wt({image:Bt().optional(),audio:Bt().optional(),video:Bt().optional(),pdf:Bt().optional(),file:Bt().optional()}),Mfr=wt({image:Bt().optional(),audio:Bt().optional()}),Dfr=wt({input:Pfr.optional(),output:Mfr.optional()}),Lfr=wt({codeExecution:Bt().optional(),sandboxed:Bt().optional(),maxIterations:Oo().min(0).max(9007199254740991).optional(),maxExecutionTime:Oo().min(0).max(9007199254740991).optional()}),Bfr=wt({supported:Bt().optional(),approvals:Bt().optional(),interventions:Bt().optional(),feedback:Bt().optional(),interrupts:Bt().optional(),approveWithEdits:Bt().optional()}),mxa=wt({identity:Sfr.optional(),transport:Cfr.optional(),tools:Efr.optional(),output:Ifr.optional(),state:Tfr.optional(),multiAgent:kfr.optional(),reasoning:Rfr.optional(),multimodal:Dfr.optional(),execution:Lfr.optional(),humanInTheLoop:Bfr.optional(),custom:eI((e)=>typeof e==="object"&&e!==null&&!Array.isArray(e)).optional()}),hxa=wt({subagentRunId:ga.optional()}),gxa=wt({type:ppr,timestamp:Oo().min(-9007199254740991).max(9007199254740991).optional(),rawEvent:Gr().refine((e)=>e!==null).optional(),metadata:vo.optional()}),yxa=wt({subagentRunId:ga.optional(),id:Q(),role:Q(),name:Q().optional(),encryptedValue:Q().optional(),metadata:vo.optional()}),vxa=vo.optional()});function Ufr(e){let t=e,n=Array.isArray(t.def?.values)?t.def.values:t.values?Array.from(t.values):void 0;if(n&&n.length===1)return n[0];return t.value}var _Pe=(e)=>new Set(Object.keys(e.shape)),Fxa,Uxa,Nxa,Hxa,Vxa,Gxa;var kYt=P(()=>{xm();xle();xm();BPe();BPe();xm();xle();xm();xm();xm();zPe();xm();zPe();xm();xm();xm();xm();xm();xm();xle();xm();Fxa=_Pe(OPe),Uxa=_Pe(FPe),Nxa=_Pe(NPe),Hxa=Symbol("agui.strip.drop");Vxa=new Set(Object.values(br)),Gxa=new Map(TYt.options.map((e)=>{let t=e.shape;return[String(Ufr(t.type)),e]}))});var RYt=()=>{};var PYt=P(()=>{xm();kYt();RYt()});function Vle(e){if(!e||e.trim().length===0)return null;try{let t=JSON.parse(e);if(typeof t==="object"&&t!==null&&!Array.isArray(t))return t;return null}catch{return null}}function Nfr(e,t){if(t?.error)return!0;if(t?.status==="error")return!0;if(t?.success===!1)return!0;if(typeof t?.exit_code==="number"&&t.exit_code!==0)return!0;let n=e.toLowerCase();return n.startsWith("error:")||n.startsWith("error -")||n.startsWith("failed:")||n.startsWith("toolset error:")}function MYt(e){let t=[],n=new Map;for(let r of e)if(r.type==="tool_result")n.set(r.call_id,{name:r.name,text:r.text});for(let r of e)if(r.type==="action"){for(let o of r.content)if(o.type==="text")t.push({kind:"text",text:o.text});else if(o.type==="tool_call"){let a=n.get(o.id),i=Vle(o.args),s=a?Vle(a.text):null,l=a?Nfr(a.text,s):!1;t.push({kind:"tool",pair:{id:o.id,name:o.name,argsRaw:o.args,args:i,resultRaw:a?.text??null,result:s,status:a?l?"error":"completed":"running"}})}}return t}var DYt=()=>{};class iq{steps=[];activeText="";activeReasoning="";pendingToolCalls=new Map;toolCallNames=new Map;subagents=new Map;a2uiSurfaces=new Map;isFinished=!1;hasError=!1;errorMessage;push(e){switch(e.type){case br.RUN_STARTED:{this.isFinished=!1,this.hasError=!1;break}case br.TEXT_MESSAGE_CONTENT:{let t=e;if(t.delta)this.activeText+=t.delta;break}case br.TEXT_MESSAGE_END:{if(this.activeText.length>0)this.steps.push({type:"action",content:[{type:"text",text:this.activeText}]}),this.activeText="";break}case br.REASONING_MESSAGE_CONTENT:{let t=e;if(t.delta)this.activeReasoning+=t.delta;break}case br.TOOL_CALL_START:{let t=e;this.pendingToolCalls.set(t.toolCallId,{name:t.toolCallName,args:""}),this.toolCallNames.set(t.toolCallId,t.toolCallName);break}case br.TOOL_CALL_ARGS:{let t=e,n=this.pendingToolCalls.get(t.toolCallId);if(n&&t.delta)n.args+=t.delta;break}case br.TOOL_CALL_END:{let t=e,n=this.pendingToolCalls.get(t.toolCallId);if(n)this.steps.push({type:"action",content:[{type:"tool_call",id:t.toolCallId,name:n.name,args:n.args}]}),this.pendingToolCalls.delete(t.toolCallId);break}case br.TOOL_CALL_RESULT:{let t=e,n=typeof t.content==="string"?t.content:JSON.stringify(t.content);this.inspectA2uiOperations(t.content);let r=this.toolCallNames.get(t.toolCallId)||t.metadata?.toolName||"tool";this.steps.push({type:"tool_result",call_id:t.toolCallId,name:r,text:n});break}case br.SUBAGENT_STARTED:{let t=e;this.subagents.set(t.subagentRunId,{id:t.subagentRunId,name:t.name,status:"running",parentRunId:t.parentSubagentRunId});break}case br.SUBAGENT_FINISHED:{let t=e,n=this.subagents.get(t.subagentRunId);if(n)n.status="completed";break}case br.SUBAGENT_ERROR:{let t=e,n=this.subagents.get(t.subagentRunId);if(n)n.status="error",n.error=t.message;break}case br.RUN_FINISHED:{if(this.activeText.length>0)this.steps.push({type:"action",content:[{type:"text",text:this.activeText}]}),this.activeText="";this.isFinished=!0;break}case br.RUN_ERROR:{let t=e;this.hasError=!0,this.errorMessage=t.message,this.isFinished=!0;break}default:break}}inspectA2uiOperations(e){if(!e)return;let t=typeof e==="string"?Vle(e):e;if(t&&typeof t==="object"&&"a2ui_operations"in t){let n=t.a2ui_operations;if(Array.isArray(n)){for(let r of n)if(r.createSurface&&typeof r.createSurface==="object"){let o=r.createSurface;this.a2uiSurfaces.set(o.surfaceId,{surfaceId:o.surfaceId,catalogId:o.catalogId,components:[],dataModel:{}})}else if(r.updateComponents&&typeof r.updateComponents==="object"){let o=r.updateComponents,a=this.a2uiSurfaces.get(o.surfaceId);if(a)a.components=o.components}else if(r.updateDataModel&&typeof r.updateDataModel==="object"){let o=r.updateDataModel,a=this.a2uiSurfaces.get(o.surfaceId);if(a)a.dataModel=o.value}}}}snapshot(){let e=[...this.steps];if(this.activeText.length>0)e.push({type:"action",content:[{type:"text",text:this.activeText}]});let t=MYt(e),n="idle";if(this.hasError)n="error";else if(this.isFinished)n="completed";else if(e.length>0||this.activeReasoning.length>0)n="streaming";return{status:n,items:t,steps:e,reasoning:this.activeReasoning,currentText:this.activeText,error:this.errorMessage,subagents:Array.from(this.subagents.values()),a2uiSurfaces:new Map(this.a2uiSurfaces)}}getState(){return this.snapshot()}}var LYt=P(()=>{PYt();DYt()});var Gle=P(()=>{XNt();ule();VZt();ZZt();LYt()});function Hfr(e,t){this[e]=_fr.bind(null,t)}function BYt(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}class qle{plugin;event;channelId;constructor(e,t,n){this.plugin=e,this.event=t,this.channelId=n}async unregister(){return Wi(`plugin:${this.plugin}|remove_listener`,{event:this.event,channelId:this.channelId})}}async function qfr(e,t,n){let r=new Ex(n);try{return await Wi(`plugin:${e}|register_listener`,{event:t,handler:r}),new qle(e,t,r.id)}catch{return await Wi(`plugin:${e}|registerListener`,{event:t,handler:r}),new qle(e,t,r.id)}}async function Zfr(e){return Wi(`plugin:${e}|check_permissions`)}async function Qfr(e){return Wi(`plugin:${e}|request_permissions`)}async function Wi(e,t={},n){return window.__TAURI_INTERNALS__.invoke(e,t,n)}function Xfr(e,t="asset"){return window.__TAURI_INTERNALS__.convertFileSrc(e,t)}function Wfr(){return!!(globalThis||window).isTauri}var zfr,_fr=(e)=>e,Vfr=(e,t)=>{for(var n in t)zfr(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Hfr.bind(t,n)})},Gfr,HPe="__TAURI_TO_IPC_KEY__",Ex,OYt;var $I=P(()=>{zfr=Object.defineProperty;Gfr={};Vfr(Gfr,{Channel:()=>Ex,PluginListener:()=>qle,Resource:()=>OYt,SERIALIZE_TO_IPC_FN:()=>HPe,addPluginListener:()=>qfr,checkPermissions:()=>Zfr,convertFileSrc:()=>Xfr,invoke:()=>Wi,isTauri:()=>Wfr,requestPermissions:()=>Qfr,transformCallback:()=>BYt});Ex=class Ex{id;#e;#t=0;#n=[];#r;constructor(e){this.#e=e||(()=>{}),this.id=BYt((t)=>{let n=t.index;if("end"in t){if(n==this.#t)this.cleanupCallback();else this.#r=n;return}let r=t.message;if(n==this.#t){this.#e(r),this.#t+=1;while(this.#t in this.#n){let o=this.#n[this.#t];this.#e(o),delete this.#n[this.#t],this.#t+=1}if(this.#t===this.#r)this.cleanupCallback()}else this.#n[n]=r})}cleanupCallback(){window.__TAURI_INTERNALS__.unregisterCallback(this.id)}set onmessage(e){this.#e=e}get onmessage(){return this.#e}[HPe](){return`__CHANNEL__:${this.id}`}toJSON(){return this[HPe]()}};OYt=class OYt{#e;get rid(){return this.#e}constructor(e){this.#e=e}async close(){return Wi("plugin:resources|close",{rid:this.rid})}async[Symbol.asyncDispose](){await this.close()}}});async function gC(e={}){if(typeof e==="object")Object.freeze(e);return await Wi("plugin:dialog|open",{options:e})}var sq=P(()=>{$I()});var _c;var tKt=P(()=>{_c={id:"aphrody",displayName:"Aphrody",version:2,atlas:{width:1536,height:2288,cellWidth:192,cellHeight:208,columns:8,rows:11},tracks:{idle:{kind:"timed",frames:[{x:0,y:0,w:192,h:208,ms:280},{x:192,y:0,w:192,h:208,ms:110},{x:384,y:0,w:192,h:208,ms:110},{x:576,y:0,w:192,h:208,ms:140},{x:768,y:0,w:192,h:208,ms:140},{x:960,y:0,w:192,h:208,ms:320}]},"running-right":{kind:"timed",frames:[{x:0,y:208,w:192,h:208,ms:120},{x:192,y:208,w:192,h:208,ms:120},{x:384,y:208,w:192,h:208,ms:120},{x:576,y:208,w:192,h:208,ms:120},{x:768,y:208,w:192,h:208,ms:120},{x:960,y:208,w:192,h:208,ms:120},{x:1152,y:208,w:192,h:208,ms:120},{x:1344,y:208,w:192,h:208,ms:220}]},"running-left":{kind:"timed",frames:[{x:0,y:416,w:192,h:208,ms:120},{x:192,y:416,w:192,h:208,ms:120},{x:384,y:416,w:192,h:208,ms:120},{x:576,y:416,w:192,h:208,ms:120},{x:768,y:416,w:192,h:208,ms:120},{x:960,y:416,w:192,h:208,ms:120},{x:1152,y:416,w:192,h:208,ms:120},{x:1344,y:416,w:192,h:208,ms:220}]},waving:{kind:"timed",frames:[{x:0,y:624,w:192,h:208,ms:140},{x:192,y:624,w:192,h:208,ms:140},{x:384,y:624,w:192,h:208,ms:140},{x:576,y:624,w:192,h:208,ms:280}]},jumping:{kind:"timed",frames:[{x:0,y:832,w:192,h:208,ms:140},{x:192,y:832,w:192,h:208,ms:140},{x:384,y:832,w:192,h:208,ms:140},{x:576,y:832,w:192,h:208,ms:140},{x:768,y:832,w:192,h:208,ms:280}]},failed:{kind:"timed",frames:[{x:0,y:1040,w:192,h:208,ms:140},{x:192,y:1040,w:192,h:208,ms:140},{x:384,y:1040,w:192,h:208,ms:140},{x:576,y:1040,w:192,h:208,ms:140},{x:768,y:1040,w:192,h:208,ms:140},{x:960,y:1040,w:192,h:208,ms:140},{x:1152,y:1040,w:192,h:208,ms:140},{x:1344,y:1040,w:192,h:208,ms:240}]},waiting:{kind:"timed",frames:[{x:0,y:1248,w:192,h:208,ms:150},{x:192,y:1248,w:192,h:208,ms:150},{x:384,y:1248,w:192,h:208,ms:150},{x:576,y:1248,w:192,h:208,ms:150},{x:768,y:1248,w:192,h:208,ms:150},{x:960,y:1248,w:192,h:208,ms:260}]},running:{kind:"timed",frames:[{x:0,y:1456,w:192,h:208,ms:120},{x:192,y:1456,w:192,h:208,ms:120},{x:384,y:1456,w:192,h:208,ms:120},{x:576,y:1456,w:192,h:208,ms:120},{x:768,y:1456,w:192,h:208,ms:120},{x:960,y:1456,w:192,h:208,ms:220}]},review:{kind:"timed",frames:[{x:0,y:1664,w:192,h:208,ms:150},{x:192,y:1664,w:192,h:208,ms:150},{x:384,y:1664,w:192,h:208,ms:150},{x:576,y:1664,w:192,h:208,ms:150},{x:768,y:1664,w:192,h:208,ms:150},{x:960,y:1664,w:192,h:208,ms:280}]},"look-neutral":{kind:"still",frames:[{x:1152,y:0,w:192,h:208,ms:0}]}},directions:[{x:0,y:1872,w:192,h:208,ms:0},{x:192,y:1872,w:192,h:208,ms:0},{x:384,y:1872,w:192,h:208,ms:0},{x:576,y:1872,w:192,h:208,ms:0},{x:768,y:1872,w:192,h:208,ms:0},{x:960,y:1872,w:192,h:208,ms:0},{x:1152,y:1872,w:192,h:208,ms:0},{x:1344,y:1872,w:192,h:208,ms:0},{x:0,y:2080,w:192,h:208,ms:0},{x:192,y:2080,w:192,h:208,ms:0},{x:384,y:2080,w:192,h:208,ms:0},{x:576,y:2080,w:192,h:208,ms:0},{x:768,y:2080,w:192,h:208,ms:0},{x:960,y:2080,w:192,h:208,ms:0},{x:1152,y:2080,w:192,h:208,ms:0},{x:1344,y:2080,w:192,h:208,ms:0}]}});function $fr(e){return e.frames.reduce((t,n)=>t+n.ms,0)}function nKt(e,t,n=!0){let r=e.frames,o=r[r.length-1];if(!o)throw Error("pet track without frames");let a=$fr(e);if(e.kind==="still"||a<=0)return r[0]??o;let i=Math.max(0,t);if(n)i%=a;else if(i>=a)return o;for(let s of r){if(i{tKt();yC={seed:"#8c6c88",hair:"#dcd894",skin:"#fce0b4",tunic:"#f4f4f4",socks:"#8c6c88"}});function w$t(e){return typeof e==="object"?e.key:e}function S$t(e,t){let n=e.length;return new Proxy(e,{get(r,o,a){if(typeof o==="string"){let i=o.charCodeAt(0);if(i>=48&&i<=57){let s=+o;if(Number.isInteger(s)&&s>=0&&s{};function hT(e,t,n){let r=n.initialDeps??[],o,a=!0;function i(){var s;let l=!1,c=0,u=e();if(!(u.length!==r.length||u.some((f,m)=>r[m]!==f)))return o;r=u;let p=0;if(o=t(...u),(n==null?void 0:n.onChange)&&!(a&&n.skipInitialOnChange))n.onChange(o);return a=!1,o}return i.updateDeps=(s)=>{r=s},i}function kDe(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:""}`);else return e}var RDe=(e,t)=>Math.abs(e-t)<1.01,E$t=(e,t,n)=>{let r;return Object.assign(function(...o){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,o),n)},{cancel:()=>{e.clearTimeout(r)}})};var I$t=()=>{};function W0r(e,t,n,r){if(t===0)return!1;let o=r(0),a=new Set,i=0;while(i=t)return!1;for(let l=0;l{var t,n,r;return((r=(n=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:n.now)==null?void 0:r.call(n))??Date.now()},this.observer=(()=>{let t=null,n=()=>{if(t)return t;if(!this.targetWindow||!this.targetWindow.ResizeObserver)return null;return t=new this.targetWindow.ResizeObserver((r)=>{r.forEach((o)=>{let a=()=>{let i=o.target,s=this.indexFromElement(i);if(!i.isConnected){this.observer.unobserve(i);for(let[l,c]of this.elementsCache)if(c===i){this.elementsCache.delete(l);break}return}if(!this.isIndexInRange(s))return;if(this.shouldMeasureDuringScroll(s))this.resizeItem(s,this.options.measureElement(i,o,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})})};return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),t=null},observe:(r)=>{var o;return(o=n())==null?void 0:o.observe(r,{box:"border-box"})},unobserve:(r)=>{var o;return(o=n())==null?void 0:o.unobserve(r)}}})(),this.range=null,this.setOptions=(t)=>{var n;let r={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:V0r,rangeExtractor:G0r,onChange:()=>{},measureElement:Q0r,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let u in t){let d=t[u];if(d!==void 0)r[u]=d}let o=this.options,a=null,i=null,s=!1;if(o!==void 0&&o.enabled&&r.enabled&&r.anchorTo==="end"&&this.scrollElement!==null){let u=o.count,d=r.count,p=this.getMeasurements(),f=((n=this._singleLaneMeasurements)==null?void 0:n.items)??p,m=(A)=>w$t(f[A]),g=u>0?m(0):null,v=u>0?m(u-1):null;if(d!==u||u>0&&d>0&&(r.getItemKey(0)!==g||r.getItemKey(d-1)!==v)){s=!0;let A=u>0?this.getVirtualItemForOffset(this.getScrollOffset())??p[0]:null;if(A)a=[A.key,this.getScrollOffset()-A.start];let w=r.followOnAppend===!0?"auto":r.followOnAppend||null;if(w&&d>0&&this.isAtEnd(o.scrollEndThreshold)&&(u===0||r.getItemKey(d-1)!==v)){if(d>u||W0r(u,d,m,r.getItemKey))i=w}}}if(this.options=r,s)this.pendingMin=0,this.itemSizeCacheVersion++;let l=!1,c=0;if(a&&this.scrollOffset!==null){let[u,d]=a,p=this.getMeasurements(),{count:f,getItemKey:m}=this.options,g=0;while(g{var n,r;(r=(n=this.options).onChange)==null||r.call(n,this,t)},this.maybeNotify=hT(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),(t)=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{if(this.unsubs.filter(Boolean).forEach((t)=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow)this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null;this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t,n;let r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}if(this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement)this.targetWindow=this.scrollElement.ownerDocument.defaultView;else this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null;if(this.elementsCache.forEach((a)=>{this.observer.observe(a)}),this.unsubs.push(this.options.observeElementRect(this,(a)=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,i)=>{if(i&&this._intendedScrollOffset===null&&a===this.scrollOffset)return;if(this._intendedScrollOffset!==null&&Math.abs(a-this._intendedScrollOffset)<1.5)a=this._intendedScrollOffset;if(this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(a-this._clampedAdjustment.maxAtWrite)>=1.5)this._clampedAdjustment=null;this.scrollAdjustments=0;let s=this.getScrollOffset();if(this.scrollDirection=i?s===a?this.scrollDirection:s{if(this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null)this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null},s=()=>{if(this._iosTouching=!1,!PDe()||this.targetWindow==null)return;this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150)};a.addEventListener("touchstart",i,ude),a.addEventListener("touchend",s,ude),this.unsubs.push(()=>{if(a.removeEventListener("touchstart",i),a.removeEventListener("touchend",s),this._iosTouchEndTimerId!==null&&this.targetWindow!=null)this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let o=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,o&&this.scrollElement&&this.options.enabled){let[a,i,s,l]=o;if(a!==null&&!s)if(PDe()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)){if(l!==0)this._iosDeferredAdjustment+=l}else if(((n=this.scrollState)==null?void 0:n.behavior)==="smooth"&&!RDe(this.getScrollOffset()-l,this.scrollState.lastTargetOffset));else this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0});if(s)this.scrollToEnd({behavior:s})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:t,maxAtWrite:n}=this._clampedAdjustment,r=this.getMaxScrollOffset();if(r>n+0.5)this._clampedAdjustment=t>r+0.5?{target:t,maxAtWrite:r}:null,this._scrollToOffset(t,{adjustments:void 0,behavior:void 0})},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0)return;if(this.isScrolling)return;if(this._iosTouching)return;if(this._iosJustTouchEnded)return;let t=this.getScrollOffset(),n=this.getMaxScrollOffset();if(t<0||t>n)return;if(this._iosDeferredAdjustment<0&&t>=n-1){this._iosDeferredAdjustment=0;return}let r=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=r,behavior:void 0})},this.rafId=null,this.getSize=()=>{if(!this.options.enabled)return this.scrollRect=null,0;return this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]},this.getScrollOffset=()=>{if(!this.options.enabled)return this.scrollOffset=null,0;return this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset},this.getMeasurementOptions=hT(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,n,r,o,a,i,s,l)=>{if(this.prevLanes!==void 0&&this.prevLanes!==i)this.lanesChangedFlag=!0;return this.prevLanes=i,this.pendingMin=null,{count:t,paddingStart:n,scrollMargin:r,getItemKey:o,enabled:a,lanes:i,laneAssignmentMode:s,gap:l}},{key:!1}),this.isIndexInRange=(t)=>t>=0&&t[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:n,scrollMargin:r,getItemKey:o,enabled:a,lanes:i,laneAssignmentMode:s,gap:l},c)=>{var u;let d=this.itemSizeCache;if(!a)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t){for(let y of this.laneAssignments.keys())if(y>=t)this.laneAssignments.delete(y)}if(this.lanesChangedFlag)this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null;if(this.measurementsCache.length===0&&!this.lanesSettling)this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((y)=>{this.itemSizeCache.set(y.key,y.size)});let p=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t)this.lanesSettling=!1;if(i===1){let y=t*2,x=(u=this._singleLaneMeasurements)==null?void 0:u.flat;if(!x||x.length0)E.set(x.subarray(0,p*2));x=E}let A=p===0?Array(t):this._singleLaneMeasurements.items.slice(),w;if(p===0)w=n+r;else{let E=p-1;w=x[E*2]+x[E*2+1]+l}for(let E=p;E1){w=A;let L=m[w],O=L!==void 0?f[L]:void 0;C=O?O.end+l:n+r}else if(v===i){let L=0,O=g[0],B=m[0];for(let U=1;Uthis.options.debug}),this.calculateRange=hT(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,n,r,o)=>{if(t.length===0||n===0)return this.range=null,null;return this.range=K0r(t,n,r,o,o===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range},{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=hT(()=>{let t=null,n=null,r=this.calculateRange();if(r)t=r.startIndex,n=r.endIndex;return this.maybeNotify.updateDeps([this.isScrolling,t,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,n]},(t,n,r,o,a)=>o===null||a===null?[]:t({startIndex:o,endIndex:a,overscan:n,count:r}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=(t)=>{let n=this.options.indexAttribute,r=t.getAttribute(n);if(!r)return console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1;return parseInt(r,10)},this.shouldMeasureDuringScroll=(t)=>{var n;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let r=this.scrollState.index??((n=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:n.index);if(r!==void 0&&this.range){let o=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,r-o),i=Math.min(this.options.count-1,r+o);return t>=a&&t<=i}return!0},this.measureElement=(t)=>{if(!t){this.elementsCache.forEach((a,i)=>{if(!a.isConnected)this.observer.unobserve(a),this.elementsCache.delete(i)});return}let n=this.indexFromElement(t);if(!this.isIndexInRange(n))return;let r=this.options.getItemKey(n),o=this.elementsCache.get(r);if(o!==t){if(o)this.observer.unobserve(o);this.observer.observe(t),this.elementsCache.set(r,t)}if((!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(n))this.resizeItem(n,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,n)=>{var r,o,a;if(!this.isIndexInRange(t))return;let i,s,l,c=(r=this._singleLaneMeasurements)==null?void 0:r.flat;if(this.options.lanes===1&&c!=null)l=this.options.getItemKey(t),s=c[t*2],i=c[t*2+1];else{let p=this.measurementsCache[t];if(!p)return;l=p.key,s=p.start,i=p.size}let u=this.itemSizeCache.get(l)??i,d=n-u;if(d!==0){let p=this.options.anchorTo==="end"&&((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,f=p?this.getTotalSize():0,m=this.getScrollOffset()+this.scrollAdjustments,v=!this.itemSizeCache.has(l)?s[this.getVirtualIndexes(),this.getMeasurements()],(t,n)=>{let r=[];for(let o=0,a=t.length;othis.options.debug}),this.getVirtualItemForOffset=(t)=>{var n;let r=this.getMeasurements();if(r.length===0)return;let o=(n=this._singleLaneMeasurements)==null?void 0:n.flat,a=this.options.lanes===1&&o!=null,i=M$t(0,r.length-1,a?(s)=>o[s*2]:(s)=>kDe(r[s]).start,t);return kDe(r[i])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;else{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,n,r=0)=>{if(!this.scrollElement)return 0;let o=this.getSize(),a=this.getScrollOffset();if(n==="auto")n=t>=a+o?"end":"start";if(n==="center")t+=(r-o)/2;else if(n==="end")t-=o;let i=this.getMaxScrollOffset();return Math.max(Math.min(i,t),0)},this.getOffsetForIndex=(t,n="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let r=this.getSize(),o=this.getScrollOffset(),a=this.measurementsCache[t];if(!a)return;if(n==="auto")if(a.end>=o+r-this.options.scrollPaddingEnd)n="end";else if(a.start<=o+this.options.scrollPaddingStart)n="start";else return[o,n];if(n==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),n];let i=n==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,n,a.size),n]},this.scrollToOffset=(t,{align:n="start",behavior:r="auto"}={})=>{this._iosDeferredAdjustment=0;let o=this.getOffsetForAlignment(t,n),a=this.now();this.scrollState={index:null,align:n,behavior:r,startedAt:a,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:n="auto",behavior:r="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));let o=this.getOffsetForIndex(t,n);if(!o)return;let[a,i]=o,s=this.now();this.scrollState={index:t,align:i,behavior:r,startedAt:s,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:n="auto"}={})=>{let r=this.getScrollOffset()+t,o=this.now();this.scrollState={index:null,align:"start",behavior:n,startedAt:o,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t,n;let r=this.getMeasurements(),o;if(r.length===0)o=this.options.paddingStart;else if(this.options.lanes===1){let a=r.length-1,i=(t=this._singleLaneMeasurements)==null?void 0:t.flat;if(i!=null)o=i[a*2]+i[a*2+1];else o=((n=r[a])==null?void 0:n.end)??0}else{let a=Array(this.options.lanes).fill(null),i=r.length-1;while(i>=0&&a.some((s)=>s===null)){let s=r[i];if(a[s.lane]===null)a[s.lane]=s.end;i--}o=Math.max(...a.filter((s)=>s!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let n=this.getMeasurements();for(let r of n)if(r&&this.itemSizeCache.has(r.key))t.push({index:r.index,key:r.key,start:r.start,size:r.size,end:r.end,lane:r.lane});return t},this._scrollToOffset=(t,{adjustments:n,behavior:r})=>{this._intendedScrollOffset=t+(n??0),this.options.scrollToFn(t,{behavior:r,adjustments:n},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(PDe()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;else{let n=this.getScrollOffset()+this.scrollAdjustments+e,r=this.scrollElement,o=r!==null&&(("scrollHeight"in r)||("document"in r))?this.getMaxScrollOffset():null;if(this._clampedAdjustment=o!==null&&n>o+0.5?{target:n,maxAtWrite:o}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null){if(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0)this.scrollOffset=0;this.scrollAdjustments=0}return!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}if(this.rafId!=null)return;this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState)return;if(!this.scrollElement)return;let t=5000;if(this.now()-this.scrollState.startedAt>t){this.scrollState=null;return}let n=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,r=n?n[0]:this.scrollState.lastTargetOffset,o=1,a=r!==this.scrollState.lastTargetOffset;if(!a&&RDe(r,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=o){if(this.getScrollOffset()!==r)this._scrollToOffset(r,{adjustments:void 0,behavior:"auto"});this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,a){let i=this.getSize()||600,s=Math.abs(r-this.getScrollOffset()),l=this.scrollState.behavior==="smooth"&&s>i;if(this.scrollState.lastTargetOffset=r,!l)this.scrollState.behavior="auto";this._scrollToOffset(r,{adjustments:void 0,behavior:l?"smooth":"auto"})}this.scheduleScrollReconcile()}}function Y0r(e,t,n){let r=0;while(r<=t){let o=(r+t)/2|0,a=e[o*2];if(an)t=o-1;else return o}return r>0?r-1:0}function K0r(e,t,n,r,o){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&o!==null){let c=Y0r(o,a,n),u=c,d=n+t;while(ue[c].start,n),l=s;if(r===1)while(l1){let c=Array(r).fill(0);while(ld=0&&u.some((d)=>d>=n)){let d=e[s];u[d.lane]=d.start,s--}s=Math.max(0,s-s%r),l=Math.min(a,l+(r-1-l%r))}return{startIndex:s,endIndex:l}}var Oq,PDe=()=>{if(Oq!==void 0)return Oq;if(typeof navigator>"u")return Oq=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Oq=!0;let e=navigator.maxTouchPoints;return Oq=navigator.platform==="MacIntel"&&e!==void 0&&e>0},T$t=(e)=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},V0r=(e)=>e,G0r=(e)=>{let t=Math.max(e.startIndex-e.overscan,0),r=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,o=Array(r);for(let a=0;a{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let o=(i)=>{let{width:s,height:l}=i;t({width:Math.round(s),height:Math.round(l)})};if(o(T$t(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver((i)=>{let s=()=>{let l=i[0];if(l==null?void 0:l.borderBoxSize){let c=l.borderBoxSize[0];if(c){o({width:c.inlineSize,height:c.blockSize});return}}o(T$t(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()});return a.observe(n,{box:"border-box"}),()=>{a.unobserve(n)}},ude,q0r,Z0r=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let o=e.targetWindow;if(!o)return;let a=e.options.useScrollendEvent&&q0r,i=0,s=a?null:E$t(o,()=>t(n(r),!1),e.options.isScrollingResetDelay),l=(d)=>()=>{i=n(r),s==null||s(),t(i,d)},c=l(!0),u=l(!1);if(r.addEventListener("scroll",c,ude),a)r.addEventListener("scrollend",u,ude);return()=>{if(r.removeEventListener("scroll",c),a)r.removeEventListener("scrollend",u);s==null||s.cancel()}},R$t=(e,t)=>Z0r(e,t,(n)=>{let{horizontal:r,isRtl:o}=e.options;return r?n.scrollLeft*(o&&-1||1):n.scrollTop}),Q0r=(e,t,n)=>{if(n.options.useCachedMeasurements){let r=n.indexFromElement(e),o=n.options.getItemKey(r);return n.itemSizeCache.get(o)??n.options.estimateSize(r)}if(t==null?void 0:t.borderBoxSize){let r=t.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}if(!t){let r=n.indexFromElement(e),o=n.options.getItemKey(r),a=n.itemSizeCache.get(o);if(a!==void 0)return a}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},X0r=(e,{adjustments:t=0,behavior:n},r)=>{var o,a;(a=(o=r.scrollElement)==null?void 0:o.scrollTo)==null||a.call(o,{[r.options.horizontal?"left":"top"]:e+t,behavior:n})},P$t,M$t=(e,t,n,r)=>{while(e<=t){let o=(e+t)/2|0,a=n(o);if(ar)t=o-1;else return o}if(e>0)return e-1;else return 0};var DDe=P(()=>{C$t();I$t();ude={passive:!0},q0r=typeof window>"u"?!0:("onscrollend"in window),P$t=X0r});function J0r({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n="transform",...r}){let o=ov.useReducer((d)=>d+1,0)[1],a=ov.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let i=ov.useRef(!1),s=(d)=>{let p=a.current;if(!p.enabled||!p.container)return;let f=d.getTotalSize();if(f!==p.lastSize){p.lastSize=f;let m=d.options.horizontal?"width":"height";p.container.style[m]=`${f}px`}},l=(d)=>{let p=a.current;if(!p.enabled||!p.container)return;s(d);let f=!!d.options.horizontal,m=p.mode==="transform",g=f?"left":"top",v=d.options.scrollMargin,y=d.getVirtualItems();for(let x of y){let A=x.start-v,w=d.elementsCache.get(x.key);if(!w)continue;if(p.lastPositions.get(w)===A)continue;if(p.lastPositions.set(w,A),m)w.style.transform=f?`translate3d(${A}px, 0, 0)`:`translate3d(0, ${A}px, 0)`;else w.style[g]=`${A}px`}},c={...r,onChange:(d,p)=>{var f;let m=a.current,g=!0;if(m.enabled){l(d);let v=d.range,y=m.prevRange;if(g=!y||y.isScrolling!==d.isScrolling||y.startIndex!==(v==null?void 0:v.startIndex)||y.endIndex!==(v==null?void 0:v.endIndex),g)m.prevRange=v?{startIndex:v.startIndex,endIndex:v.endIndex,isScrolling:d.isScrolling}:null}if(g)if(e&&p&&!i.current)Ec(o);else o();(f=r.onChange)==null||f.call(r,d,p)}},[u]=ov.useState(()=>{let d=new MDe(c),p=d.measureElement;return d.measureElement=(f)=>{i.current=!0;try{p(f)}finally{i.current=!1}},Object.assign(d,{containerRef:(f)=>{let m=a.current;if(m.container=f,m.lastSize=null,f&&m.enabled){let g=d.getTotalSize();m.lastSize=g;let v=d.options.horizontal?"width":"height";f.style[v]=`${g}px`}}})});return u.setOptions(c),LDe(()=>u._didMount(),[]),LDe(()=>(s(u),u._willUpdate())),LDe(()=>{l(u)}),u}function Sm(e){return J0r({observeElementRect:k$t,observeElementOffset:R$t,scrollToFn:P$t,...e})}var ov,LDe;var aw=P(()=>{bd();DDe();ov=z(re(),1);DDe();LDe=typeof document<"u"?ov.useLayoutEffect:ov.useEffect});function BDe({file:e,editable:t=!1,selected:n=!1,onRename:r,className:o}){let[a,i]=gT.useState(!1),[s,l]=gT.useState(e.name),c=gT.useRef(null),u=()=>{if(i(!1),s!==e.name&&r)r(s)},d=(f)=>{if(f.key==="Enter")f.preventDefault(),u();if(f.key==="Escape")l(e.name),i(!1)},p=()=>{if(!c.current)return;let f=e.name.lastIndexOf("."),m=document.createRange(),g=c.current.childNodes[0];if(g){m.setStart(g,0),m.setEnd(g,f>0?f:e.name.length);let v=window.getSelection();v?.removeAllRanges(),v?.addRange(m)}};return gT.useEffect(()=>{if(a)c.current?.focus(),p()},[a]),M("div",{ref:c,contentEditable:a,suppressContentEditableWarning:!0,onBlur:u,onKeyDown:d,className:pt("cursor-default overflow-hidden rounded-small px-1.5 py-px text-body-small text-on-surface outline-none",a&&"bg-surface ring-2 ring-primary",!a&&"truncate",o),children:[e.name,e.extension&&`.${e.extension}`]})}var gT;var ODe=P(()=>{rn();le();gT=z(re(),1)});function FDe({file:e,show:t=["size"],className:n}){return M("div",{className:pt("flex gap-2 text-body-small text-on-surface-variant",n),children:[t.includes("size")&&e.size>0&&h("span",{children:Ls(e.size)}),t.includes("modified")&&h("span",{children:nie(e.modified_at)}),t.includes("kind")&&h("span",{children:e.extension||"Folder"})]})}var UDe=P(()=>{rn();hy();le()});function j0r({file:e,selected:t,onClick:n,onDoubleClick:r,onContextMenu:o,onMouseDown:a,onMouseMove:i,onMouseUp:s,onMouseLeave:l,layout:c="column",children:u,className:d,"data-file-id":p}){return h("div",{"data-file-id":p,onClick:n,onDoubleClick:r,onContextMenu:o,onMouseDown:a,onMouseMove:i,onMouseUp:s,onMouseLeave:l,tabIndex:-1,className:pt("cursor-default transition-colors outline-none focus:outline-none",c==="column"?"flex flex-col":"flex flex-row items-center",d),children:u})}var ba;var NDe=P(()=>{rn();yM();ODe();UDe();le();ba=Object.assign(j0r,{Thumb:P3,Title:BDe,Metadata:FDe})});function zDe({files:e,size:t=64}){let n=e.slice(0,3),r=Math.max(0,e.length-3),o=[-4,0,4];return M("div",{className:"relative",style:{width:t,height:t},children:[n.map((a,i)=>h("div",{className:"absolute inset-0 transition-transform",style:{transform:`rotate(${o[i]}deg) translateY(${i*-2}px)`,zIndex:i},children:h(ba.Thumb,{file:a,size:t})},a.id)),r>0&&M("div",{className:"absolute -bottom-1 -right-1 size-6 rounded-full bg-primary text-on-primary text-label-small flex items-center justify-center shadow-md3-3 border-2 border-surface z-10",children:["+",r]})]})}var D$t=P(()=>{NDe();le()});var w0=P(()=>{NDe();D$t();yM();ODe();UDe()});function ft(e,t){this.x=e,this.y=t}function nbr(e,t,n,r){let o=3*e,a=3*(n-e)-o,i=1-o-a,s=3*t,l=3*(r-t)-s,c=1-s-l;return function(u,d=0.000001){if(u<=0)return 0;if(u>=1)return 1;let p=u;for(let g=0;g<8;g++){let v=((i*p+a)*p+o)*p-u;if(Math.abs(v)v?f=p:m=p,p=(f+m)*0.5}return((c*p+l)*p+s)*p}}function dfe(){return yon??=typeof OffscreenCanvas<"u"&&!!new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function",yon}function cUe(){if(Rpe==null&&(Rpe=!1,dfe())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let n=0;n<25;n++){let r=n*4;e.fillStyle=`rgb(${r},${r+1},${r+2})`,e.fillRect(n%5,Math.floor(n/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let n=0;n<100;n++)if(n%4!=3&&t[n]!==n){Rpe=!0;break}}}return Rpe||!1}function uUe(){var e=new Fd(9);return Fd!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function rbr(e){var t=e[0],n=e[1],r=e[2],o=e[3],a=e[4],i=e[5],s=e[6],l=e[7],c=e[8];return t*(c*a-i*l)+n*(-c*o+i*s)+r*(l*o-a*s)}function Yan(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function obr(e,t){var n=t[0],r=t[1],o=t[2],a=t[3],i=n+n,s=r+r,l=o+o,c=n*i,u=r*i,d=r*s,p=o*i,f=o*s,m=o*l,g=a*i,v=a*s,y=a*l;return e[0]=1-d-m,e[3]=u-y,e[6]=p+v,e[1]=u+y,e[4]=1-c-m,e[7]=f-g,e[2]=p-v,e[5]=f+g,e[8]=1-c-d,e}function kw(){var e=new Fd(16);return Fd!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function pfe(e){var t=new Fd(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Kan(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Oy(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function sQ(e,t){var n=t[0],r=t[1],o=t[2],a=t[3],i=t[4],s=t[5],l=t[6],c=t[7],u=t[8],d=t[9],p=t[10],f=t[11],m=t[12],g=t[13],v=t[14],y=t[15],x=n*s-r*i,A=n*l-o*i,w=n*c-a*i,C=r*l-o*s,E=r*c-a*s,T=o*c-a*l,I=u*g-d*m,k=u*v-p*m,L=u*y-f*m,O=d*v-p*g,B=d*y-f*g,U=p*y-f*v,D=x*U-A*B+w*O+C*L-E*k+T*I;return D?(D=1/D,e[0]=(s*U-l*B+c*O)*D,e[1]=(o*B-r*U-a*O)*D,e[2]=(g*T-v*E+y*C)*D,e[3]=(p*E-d*T-f*C)*D,e[4]=(l*L-i*U-c*k)*D,e[5]=(n*U-o*L+a*k)*D,e[6]=(v*w-m*T-y*A)*D,e[7]=(u*T-p*w+f*A)*D,e[8]=(i*B-s*L+c*I)*D,e[9]=(r*L-n*B-a*I)*D,e[10]=(m*E-g*w+y*x)*D,e[11]=(d*w-u*E-f*x)*D,e[12]=(s*k-i*O-l*I)*D,e[13]=(n*O-r*k+o*I)*D,e[14]=(g*A-m*C-v*x)*D,e[15]=(u*C-d*A+p*x)*D,e):null}function QT(e,t,n){var r=t[0],o=t[1],a=t[2],i=t[3],s=t[4],l=t[5],c=t[6],u=t[7],d=t[8],p=t[9],f=t[10],m=t[11],g=t[12],v=t[13],y=t[14],x=t[15],A=n[0],w=n[1],C=n[2],E=n[3];return e[0]=A*r+w*s+C*d+E*g,e[1]=A*o+w*l+C*p+E*v,e[2]=A*a+w*c+C*f+E*y,e[3]=A*i+w*u+C*m+E*x,A=n[4],w=n[5],C=n[6],E=n[7],e[4]=A*r+w*s+C*d+E*g,e[5]=A*o+w*l+C*p+E*v,e[6]=A*a+w*c+C*f+E*y,e[7]=A*i+w*u+C*m+E*x,A=n[8],w=n[9],C=n[10],E=n[11],e[8]=A*r+w*s+C*d+E*g,e[9]=A*o+w*l+C*p+E*v,e[10]=A*a+w*c+C*f+E*y,e[11]=A*i+w*u+C*m+E*x,A=n[12],w=n[13],C=n[14],E=n[15],e[12]=A*r+w*s+C*d+E*g,e[13]=A*o+w*l+C*p+E*v,e[14]=A*a+w*c+C*f+E*y,e[15]=A*i+w*u+C*m+E*x,e}function vc(e,t,n){var r=n[0],o=n[1],a=n[2],i,s,l,c,u,d,p,f,m,g,v,y;return t===e?(e[12]=t[0]*r+t[4]*o+t[8]*a+t[12],e[13]=t[1]*r+t[5]*o+t[9]*a+t[13],e[14]=t[2]*r+t[6]*o+t[10]*a+t[14],e[15]=t[3]*r+t[7]*o+t[11]*a+t[15]):(i=t[0],s=t[1],l=t[2],c=t[3],u=t[4],d=t[5],p=t[6],f=t[7],m=t[8],g=t[9],v=t[10],y=t[11],e[0]=i,e[1]=s,e[2]=l,e[3]=c,e[4]=u,e[5]=d,e[6]=p,e[7]=f,e[8]=m,e[9]=g,e[10]=v,e[11]=y,e[12]=i*r+u*o+m*a+t[12],e[13]=s*r+d*o+g*a+t[13],e[14]=l*r+p*o+v*a+t[14],e[15]=c*r+f*o+y*a+t[15]),e}function Gp(e,t,n){var r=n[0],o=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function XT(e,t,n){var r=Math.sin(n),o=Math.cos(n),a=t[4],i=t[5],s=t[6],l=t[7],c=t[8],u=t[9],d=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*o+c*r,e[5]=i*o+u*r,e[6]=s*o+d*r,e[7]=l*o+p*r,e[8]=c*o-a*r,e[9]=u*o-i*r,e[10]=d*o-s*r,e[11]=p*o-l*r,e}function dUe(e,t,n){var r=Math.sin(n),o=Math.cos(n),a=t[0],i=t[1],s=t[2],l=t[3],c=t[8],u=t[9],d=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*o-c*r,e[1]=i*o-u*r,e[2]=s*o-d*r,e[3]=l*o-p*r,e[8]=a*r+c*o,e[9]=i*r+u*o,e[10]=s*r+d*o,e[11]=l*r+p*o,e}function Rw(e,t,n){var r=Math.sin(n),o=Math.cos(n),a=t[0],i=t[1],s=t[2],l=t[3],c=t[4],u=t[5],d=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*o+c*r,e[1]=i*o+u*r,e[2]=s*o+d*r,e[3]=l*o+p*r,e[4]=c*o-a*r,e[5]=u*o-i*r,e[6]=d*o-s*r,e[7]=p*o-l*r,e}function Jan(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function abr(e,t,n,r,o){var a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,o!=null&&o!==1/0){var i=1/(r-o);e[10]=(o+r)*i,e[14]=2*o*r*i}else e[10]=-1,e[14]=-2*r;return e}function ibr(e,t,n,r,o,a,i){var s=1/(t-n),l=1/(r-o),c=1/(a-i);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+n)*s,e[13]=(o+r)*l,e[14]=(i+a)*c,e[15]=1,e}function jan(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function $an(e,t){var n=e[0],r=e[1],o=e[2],a=e[3],i=e[4],s=e[5],l=e[6],c=e[7],u=e[8],d=e[9],p=e[10],f=e[11],m=e[12],g=e[13],v=e[14],y=e[15],x=t[0],A=t[1],w=t[2],C=t[3],E=t[4],T=t[5],I=t[6],k=t[7],L=t[8],O=t[9],B=t[10],U=t[11],D=t[12],N=t[13],_=t[14],G=t[15];return Math.abs(n-x)<=0.000001*Math.max(1,Math.abs(n),Math.abs(x))&&Math.abs(r-A)<=0.000001*Math.max(1,Math.abs(r),Math.abs(A))&&Math.abs(o-w)<=0.000001*Math.max(1,Math.abs(o),Math.abs(w))&&Math.abs(a-C)<=0.000001*Math.max(1,Math.abs(a),Math.abs(C))&&Math.abs(i-E)<=0.000001*Math.max(1,Math.abs(i),Math.abs(E))&&Math.abs(s-T)<=0.000001*Math.max(1,Math.abs(s),Math.abs(T))&&Math.abs(l-I)<=0.000001*Math.max(1,Math.abs(l),Math.abs(I))&&Math.abs(c-k)<=0.000001*Math.max(1,Math.abs(c),Math.abs(k))&&Math.abs(u-L)<=0.000001*Math.max(1,Math.abs(u),Math.abs(L))&&Math.abs(d-O)<=0.000001*Math.max(1,Math.abs(d),Math.abs(O))&&Math.abs(p-B)<=0.000001*Math.max(1,Math.abs(p),Math.abs(B))&&Math.abs(f-U)<=0.000001*Math.max(1,Math.abs(f),Math.abs(U))&&Math.abs(m-D)<=0.000001*Math.max(1,Math.abs(m),Math.abs(D))&&Math.abs(g-N)<=0.000001*Math.max(1,Math.abs(g),Math.abs(N))&&Math.abs(v-_)<=0.000001*Math.max(1,Math.abs(v),Math.abs(_))&&Math.abs(y-G)<=0.000001*Math.max(1,Math.abs(y),Math.abs(G))}function ein(){var e=new Fd(3);return Fd!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function mfe(e){var t=new Fd(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Fy(e){var t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function von(e,t,n){var r=new Fd(3);return r[0]=e,r[1]=t,r[2]=n,r}function Kg(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}function hfe(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function Ss(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function lQ(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e}function tin(e,t){var n=t[0]-e[0],r=t[1]-e[1],o=t[2]-e[2];return Math.sqrt(n*n+r*r+o*o)}function nin(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function Tm(e,t){var n=t[0],r=t[1],o=t[2],a=n*n+r*r+o*o;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function bc(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function wh(e,t,n){var r=t[0],o=t[1],a=t[2],i=n[0],s=n[1],l=n[2];return e[0]=o*l-a*s,e[1]=a*i-r*l,e[2]=r*s-o*i,e}function rin(e,t,n){var r=t[0],o=t[1],a=t[2],i=n[3]*r+n[7]*o+n[11]*a+n[15];return i||=1,e[0]=(n[0]*r+n[4]*o+n[8]*a+n[12])/i,e[1]=(n[1]*r+n[5]*o+n[9]*a+n[13])/i,e[2]=(n[2]*r+n[6]*o+n[10]*a+n[14])/i,e}function oin(e,t,n){var r=t[0],o=t[1],a=t[2];return e[0]=r*n[0]+o*n[3]+a*n[6],e[1]=r*n[1]+o*n[4]+a*n[7],e[2]=r*n[2]+o*n[5]+a*n[8],e}function gfe(e,t,n){var r=n[0],o=n[1],a=n[2],i=n[3],s=t[0],l=t[1],c=t[2],u=o*c-a*l,d=a*s-r*c,p=r*l-o*s;return u+=u,d+=d,p+=p,e[0]=s+i*u+o*p-a*d,e[1]=l+i*d+a*u-r*p,e[2]=c+i*p+r*d-o*u,e}function GL(e,t,n,r){var o=[],a=[];return o[0]=t[0]-n[0],o[1]=t[1]-n[1],o[2]=t[2]-n[2],a[0]=o[0],a[1]=o[1]*Math.cos(r)-o[2]*Math.sin(r),a[2]=o[1]*Math.sin(r)+o[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function WT(e,t,n,r){var o=[],a=[];return o[0]=t[0]-n[0],o[1]=t[1]-n[1],o[2]=t[2]-n[2],a[0]=o[2]*Math.sin(r)+o[0]*Math.cos(r),a[1]=o[1],a[2]=o[2]*Math.cos(r)-o[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function yfe(e,t,n,r){var o=[],a=[];return o[0]=t[0]-n[0],o[1]=t[1]-n[1],o[2]=t[2]-n[2],a[0]=o[0]*Math.cos(r)-o[1]*Math.sin(r),a[1]=o[0]*Math.sin(r)+o[1]*Math.cos(r),a[2]=o[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function ain(e){return e[0]=0,e[1]=0,e[2]=0,e}function sbr(){var e=new Fd(4);return Fd!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function lbr(e,t,n,r){var o=new Fd(4);return o[0]=e,o[1]=t,o[2]=n,o[3]=r,o}function cbr(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}function iin(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function ubr(e,t){var n=t[0],r=t[1],o=t[2],a=t[3],i=n*n+r*r+o*o+a*a;return i>0&&(i=1/Math.sqrt(i)),e[0]=n*i,e[1]=r*i,e[2]=o*i,e[3]=a*i,e}function qp(e,t,n){var r=t[0],o=t[1],a=t[2],i=t[3];return e[0]=n[0]*r+n[4]*o+n[8]*a+n[12]*i,e[1]=n[1]*r+n[5]*o+n[9]*a+n[13]*i,e[2]=n[2]*r+n[6]*o+n[10]*a+n[14]*i,e[3]=n[3]*r+n[7]*o+n[11]*a+n[15]*i,e}function bon(){var e=new Fd(4);return Fd!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function dbr(e,t,n){n*=0.5;var r=Math.sin(n);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(n),e}function lin(e,t,n){var r=t[0],o=t[1],a=t[2],i=t[3],s=n[0],l=n[1],c=n[2],u=n[3];return e[0]=r*u+i*s+o*c-a*l,e[1]=o*u+i*l+a*s-r*c,e[2]=a*u+i*c+r*l-o*s,e[3]=i*u-r*s-o*l-a*c,e}function FZ(e,t,n,r){var o=t[0],a=t[1],i=t[2],s=t[3],l=n[0],c=n[1],u=n[2],d=n[3],p,f=o*l+a*c+i*u+s*d,m,g,v;return f<0&&(f=-f,l=-l,c=-c,u=-u,d=-d),1-f>0.000001?(p=Math.acos(f),m=Math.sin(p),g=Math.sin((1-r)*p)/m,v=Math.sin(r*p)/m):(g=1-r,v=r),e[0]=g*o+v*l,e[1]=g*a+v*c,e[2]=g*i+v*u,e[3]=g*s+v*d,e}function pbr(e,t){var n=t[0]+t[4]+t[8],r;if(n>0)r=Math.sqrt(n+1),e[3]=0.5*r,r=0.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var o=0;t[4]>t[0]&&(o=1),t[8]>t[o*3+o]&&(o=2);var a=(o+1)%3,i=(o+2)%3;r=Math.sqrt(t[o*3+o]-t[a*3+a]-t[i*3+i]+1),e[o]=0.5*r,r=0.5/r,e[3]=(t[a*3+i]-t[i*3+a])*r,e[a]=(t[a*3+o]+t[o*3+a])*r,e[i]=(t[i*3+o]+t[o*3+i])*r}return e}function vfe(e,t,n,r){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"zyx",a=Math.PI/360;t*=a,r*=a,n*=a;var i=Math.sin(t),s=Math.cos(t),l=Math.sin(n),c=Math.cos(n),u=Math.sin(r),d=Math.cos(r);switch(o){case"xyz":e[0]=i*c*d+s*l*u,e[1]=s*l*d-i*c*u,e[2]=s*c*u+i*l*d,e[3]=s*c*d-i*l*u;break;case"xzy":e[0]=i*c*d-s*l*u,e[1]=s*l*d-i*c*u,e[2]=s*c*u+i*l*d,e[3]=s*c*d+i*l*u;break;case"yxz":e[0]=i*c*d+s*l*u,e[1]=s*l*d-i*c*u,e[2]=s*c*u-i*l*d,e[3]=s*c*d+i*l*u;break;case"yzx":e[0]=i*c*d+s*l*u,e[1]=s*l*d+i*c*u,e[2]=s*c*u-i*l*d,e[3]=s*c*d-i*l*u;break;case"zxy":e[0]=i*c*d-s*l*u,e[1]=s*l*d+i*c*u,e[2]=s*c*u+i*l*d,e[3]=s*c*d-i*l*u;break;case"zyx":e[0]=i*c*d-s*l*u,e[1]=s*l*d+i*c*u,e[2]=s*c*u-i*l*d,e[3]=s*c*d+i*l*u;break;default:throw Error("Unknown angle order "+o)}return e}function bfe(){var e=new Fd(2);return Fd!=Float32Array&&(e[0]=0,e[1]=0),e}function Aon(e,t){var n=new Fd(2);return n[0]=e,n[1]=t,n}function fUe(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e}function mUe(e){var t=e[0],n=e[1];return Math.sqrt(t*t+n*n)}function fbr(e){var t=e[0],n=e[1];return t*t+n*n}function mbr(e,t){return e[0]*t[0]+e[1]*t[1]}function hUe(e){return e[0]=0,e[1]=0,e}function k0(e,t,n){return t*(Ut/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function Vp(e){return e instanceof Error?e:Error(typeof e=="string"?e:String(e))}function WC(){return new Float64Array(4)}function Wa(){return new Float64Array(3)}function YC(){return new Float64Array(16)}function uQ(){let e=new Float64Array(16);return Oy(e),e}function gUe(){let e=new Float32Array(16);return Oy(e),e}function Pw(e,t,n,r,o=!1){if(!n[0]&&!n[1])return[0,0];let a=o?r==="map"?-e.bearingInRadians:0:r==="viewport"?e.bearingInRadians:0;if(a){let i=Math.sin(a),s=Math.cos(a);n=[n[0]*s-n[1]*i,n[0]*i+n[1]*s]}return[o?n[0]:k0(t,n[0],e.zoom),o?n[1]:k0(t,n[1],e.zoom)]}function xfe(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]}function Jg(e,t,n){let r=rbr([e[0],e[1],e[2],t[0],t[1],t[2],n[0],n[1],n[2]]);if(r===0)return null;let o=wh([],[t[0],t[1],t[2]],[n[0],n[1],n[2]]),a=wh([],[n[0],n[1],n[2]],[e[0],e[1],e[2]]),i=wh([],[e[0],e[1],e[2]],[t[0],t[1],t[2]]),s=Ss([],o,-e[3]);return Kg(s,s,Ss([],a,-t[3])),Kg(s,s,Ss([],i,-n[3])),Ss(s,s,1/r),s}function uin(e,t,n){let r=e[0]*n[0]+e[1]*n[1]+e[2]*n[2],o=t[0]*n[0]+t[1]*n[1]+t[2]*n[2];return o===0?null:(-r-n[3])/o}function dQ(e,t,n,r){let o=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=o,t/=o,n/=a,r/=a;let i=e*n+t*r,s=Math.acos(i);return-t*n+e*r>0?s:-s}function R0(e,t){let n=QC(e,360),r=QC(t,360),o=r-n,a=r>n?o-360:o+360;return Math.abs(o)l.canonical.z)),n=1/0,r=-1/0,o=1/0,a=-1/0,i=[];for(let l of e){let{x:c,y:u,z:d}=l.canonical,p=2**(t-d),f=c*p,m=u*p;i.push({id:l,x:f,y:m}),fr&&(r=f),ma&&(a=m)}let s=new Set;for(let l of i)(l.x===n||l.x===r||l.y===o||l.y===a)&&s.add(l.id);return s}function hbr(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,n=t*e;return 4*(e<0.5?n:3*(e-t)+n-0.75)}function Afe(e,t,n,r){return nbr(e,t,n,r)}function qr(e,t,n){return Math.min(n,Math.max(t,e))}function jg(e,t,n){let r=n-t,o=((e-t)%r+r)%r+t;return o===t?n:o}function rr(e,...t){for(let n of t)for(let r in n)e[r]=n[r];return e}function qL(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function yUe(){return gbr++}function ybr(e){return Math.log(e)/Math.LN2%1==0}function fin(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)}function km(e){return 2**e}function Zp(e){return Math.log(e)/Math.LN2}function P0(e,t,n){if(t<=0)return e;let r=1/t;return n===void 0||Math.abs(n)<0.0000000001?Math.round(e*r)/r:(n>0?Math.ceil(e*r-0.000000001):Math.floor(e*r+0.0000000001))/r}function Sfe(e,t,n){let r={};for(let o in e)r[o]=t.call(n||this,e[o],o,e);return r}function vUe(e,t,n){let r={};for(let o in e)t.call(n||this,e[o],o,e)&&(r[o]=e[o]);return r}function hv(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n(t.y-e.y)*(n.x-e.x)}function min(e,t,n,r){let o=t.y-e.y,a=t.x-e.x,i=r.y-n.y,s=r.x-n.x,l=i*a-s*o;if(l===0)return null;let c=e.y-n.y,u=e.x-n.x,d=(s*c-i*u)/l;return new ft(e.x+d*a,e.y+d*o)}function hin([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]}function VT(e){return typeof WorkerGlobalScope<"u"&&e!==void 0&&e instanceof WorkerGlobalScope}function gin(e){let t=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,n={};if(e.replace(t,(r,o,a,i)=>{let s=a||i;return n[o]=!s||s.toLowerCase(),""}),n["max-age"]){let r=parseInt(n["max-age"],10);isNaN(r)?delete n["max-age"]:n["max-age"]=r}return n}function yin(e){if(_Oe==null){let t=e.navigator?e.navigator.userAgent:null;_Oe=!!e.safari||!!(t&&(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return _Oe}function KC(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap}function vbr(e,t,n,r,o){let a=Math.max(-t,0)*4,i=(Math.max(0,n)-n)*r*4+a,s=r*4,l=Math.max(0,t),c=Math.max(0,n),u=Math.min(e.width,t+r),d=Math.min(e.height,n+o);return{rect:{x:l,y:c,width:u-l,height:d-c},layout:[{offset:i,stride:s}]}}async function xin(e,t,n,r,o){if(typeof VideoFrame>"u")throw Error("VideoFrame not supported");let a=new VideoFrame(e,{timestamp:0});try{let i=a?.format;if(!i||!(i.startsWith("BGR")||i.startsWith("RGB")))throw Error(`Unrecognized format ${i}`);let s=i.startsWith("BGR"),l=new Uint8ClampedArray(r*o*4);if(await a.copyTo(l,vbr(e,t,n,r,o)),s)for(let c=0;c{e.removeEventListener(t,n,r)}}}function _s(e){return e*Math.PI/180}function fv(e){return e/Math.PI*180}function bUe(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing}function Ain(e){let t=new Float64Array(9);obr(t,e);let n=fv(-Math.asin(qr(t[2],-1,1))),r,o;return Math.hypot(t[5],t[8])<0.001?(r=0,o=-fv(Math.atan2(t[3],t[4]))):(r=fv(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),o=fv(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:r,pitch:n+90,bearing:o}}function win(e,t,n){let r=Aon(t.x-n.x,t.y-n.y),o=Aon(e.x-n.x,e.y-n.y),a=r[0]*o[1]-r[1]*o[0];return fv(Math.atan2(a,mbr(r,o)))}function xUe(e,t,n){let r=new Float64Array(4);return vfe(r,e,t-90,n),r}function Ein(e,t){return Sin[t]&&"touches"in e}function Iin(e,t){if(!Cin[t])return!1;let n=e,r=n?.target?.ownerDocument?.defaultView||window;return n instanceof r.MouseEvent||n instanceof r.WheelEvent}function Tin(e){return Sin[e]||Cin[e]}function Mw(e){return e instanceof Error&&e.name==="AbortError"}function Cfe(e){if(e.aborted)throw new ZL(e.reason)}function AUe(e){return KT.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf("://"))]}function Efe(){if(VT(self))return self.worker?.referrer;if(window.location.protocol==="blob:")try{return window.parent.location.href}catch{}return window.location.href}async function xbr(e,t){let n=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:Efe(),referrerPolicy:e.referrerPolicy,signal:t.signal});e.type==="json"&&!n.headers.has("Accept")&&n.headers.set("Accept","application/json");let r;try{r=await fetch(n)}catch(i){throw Mw(i)?i:new qZ(0,Vp(i).message,e.url,new Blob)}if(!r.ok){let i=await r.blob();throw new qZ(r.status,r.statusText,e.url,i)}let o;o=e.type==="arrayBuffer"||e.type==="image"?r.arrayBuffer():e.type==="json"?r.json():r.text();let a=await o;return Cfe(t.signal),{data:a,cacheControl:r.headers.get("Cache-Control"),expires:r.headers.get("Expires"),etag:r.headers.get("ETag")}}function Abr(e,t){return new Promise((n,r)=>{let o=new XMLHttpRequest;o.open(e.method||"GET",e.url,!0),(e.type==="arrayBuffer"||e.type==="image")&&(o.responseType="arraybuffer");for(let a in e.headers)o.setRequestHeader(a,e.headers[a]);e.type==="json"&&(o.responseType="text",e.headers?.Accept||o.setRequestHeader("Accept","application/json")),o.withCredentials=e.credentials==="include",o.onerror=()=>{r(Error(o.statusText))},o.onload=()=>{if(!t.signal.aborted)if((o.status>=200&&o.status<300||o.status===0)&&o.response!==null){let a=o.response;if(e.type==="json")try{a=JSON.parse(o.response)}catch(i){r(i);return}n({data:a,cacheControl:o.getResponseHeader("Cache-Control"),expires:o.getResponseHeader("Expires"),etag:o.getResponseHeader("ETag")})}else{let a=new Blob([o.response],{type:o.getResponseHeader("Content-Type")});r(new qZ(o.status,o.statusText,e.url,a))}},t.signal.addEventListener("abort",()=>{o.abort(),r(new ZL(t.signal.reason))}),o.send(e.body)})}function SUe(e){if(!e||e.startsWith("data:image/"))return!0;if(e.startsWith("blob:")&&(e=e.slice(5),e.startsWith("null")))return!1;if(e.indexOf("://")<=0)return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}function Con(e,t,n){n[e]?.includes(t)||(n[e]||=[],n[e].push(t))}function HOe(e,t,n){if(n?.[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}function Im(e,t){return{kind:"array",itemType:e,N:t}}function Al(e){if(e.kind==="array"){let t=Al(e.itemType);return typeof e.N=="number"?`array<${t}, ${e.N}>`:e.itemType.kind==="value"?"array":`array<${t}>`}return e.kind}function QZ(e,t){if(t.kind==="error")return null;if(e.kind==="array"){if(t.kind==="array"&&(t.N===0&&t.itemType.kind==="value"||!QZ(e.itemType,t.itemType))&&(typeof e.N!="number"||e.N===t.N))return null}else if(e.kind===t.kind)return null;else if(e.kind==="value"){for(let n of Sbr)if(!QZ(n,t))return null}return`Expected ${Al(e)} but found ${Al(t)} instead.`}function CUe(e,t){return t.some((n)=>n.kind===e.kind)}function _T(e,t){return t.some((n)=>n==="null"?e===null:n==="array"?Array.isArray(e):n==="object"?e&&!Array.isArray(e)&&typeof e=="object":n===typeof e)}function NC(e,t){return e.kind==="array"&&t.kind==="array"?e.itemType.kind===t.itemType.kind&&typeof e.N=="number":e.kind===t.kind}function Oin(e){return e%=360,e<0&&(e+=360),e}function Fin([e,t,n,r]){e=VOe(e),t=VOe(t),n=VOe(n);let o,a,i=GOe((0.2225045*e+0.7168786*t+0.0606169*n)/1);e===t&&t===n?o=a=i:(o=GOe((0.4360747*e+0.3850649*t+0.1430804*n)/Min),a=GOe((0.0139322*e+0.0971045*t+0.7141733*n)/Din));let s=116*i-16;return[s<0?0:s,500*(o-i),200*(i-a),r]}function VOe(e){return e<=0.04045?e/12.92:((e+0.055)/1.055)**2.4}function GOe(e){return e>0.008856451679035631?e**0.3333333333333333:e/Bin+Lin}function Uin([e,t,n,r]){let o=(e+16)/116,a=isNaN(t)?o:o+t/500,i=isNaN(n)?o:o-n/200;return o=1*ZOe(o),a=Min*ZOe(a),i=Din*ZOe(i),[qOe(3.1338561*a-1.6168667*o-0.4906146*i),qOe(-0.9787684*a+1.9161415*o+0.033454*i),qOe(0.0719453*a-0.2289914*o+1.4052427*i),r]}function qOe(e){return e=e<=0.00304?12.92*e:1.055*e**0.4166666666666667-0.055,e<0?0:e>1?1:e}function ZOe(e){return e>aFe?e*e*e:Bin*(e-Lin)}function Ibr(e){let[t,n,r,o]=Fin(e),a=Math.sqrt(n*n+r*r);return[Math.round(a*1e4)?Oin(Math.atan2(r,n)*Ebr):NaN,a,t,o]}function Tbr([e,t,n,r]){return e=isNaN(e)?0:e*Cbr,Uin([n,Math.cos(e)*t,Math.sin(e)*t,r])}function kbr([e,t,n,r]){e=Oin(e),t/=100,n/=100;function o(a){let i=(a+e/30)%12,s=t*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(i-3,9-i,1))}return[o(0),o(8),o(4),r]}function UZ(e,t){return Rbr(e,t)?e[t]:void 0}function Pbr(e){if(e=e.toLowerCase().trim(),e==="transparent")return[0,0,0,0];let t=UZ(Mbr,e);if(t){let[r,o,a]=t;return[r/255,o/255,a/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let r=e.length<6?1:2,o=1;return[Ppe(e.slice(o,o+=r)),Ppe(e.slice(o,o+=r)),Ppe(e.slice(o,o+=r)),Ppe(e.slice(o,o+r)||"ff")]}if(e.startsWith("rgb")){let r=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){let[o,a,i,s,l,c,u,d,p,f,m,g]=r,v=[s||" ",u||" ",f].join("");if(v===" "||v===" /"||v===",,"||v===",,,"){let y=[i,c,p].join(""),x=y==="%%%"?100:y===""?255:0;if(x){let A=[wL(+a/x,0,1),wL(+l/x,0,1),wL(+d/x,0,1),m?Eon(+m,g):1];if(Ion(A))return A}}return}}let n=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){let[r,o,a,i,s,l,c,u,d]=n,p=[a||" ",s||" ",c].join("");if(p===" "||p===" /"||p===",,"||p===",,,"){let f=[+o,wL(+i,0,100),wL(+l,0,100),u?Eon(+u,d):1];if(Ion(f))return kbr(f)}}}function Ppe(e){return parseInt(e.padEnd(2,e),16)/255}function Eon(e,t){return wL(t?e/100:e,0,1)}function wL(e,t,n){return Math.min(Math.max(t,e),n)}function Ion(e){return!e.some(Number.isNaN)}function qC(e,t,n){return e+n*(t-e)}function BL(e,t,n){return e.map((r,o)=>qC(r,t[o],n))}function Dbr(e){return e==="rgb"||e==="hcl"||e==="lab"}function Nin(e,t,n,r){return typeof e=="number"&&e>=0&&e<=255&&typeof t=="number"&&t>=0&&t<=255&&typeof n=="number"&&n>=0&&n<=255?r===void 0||typeof r=="number"&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,n,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof r=="number"?[e,t,n,r]:[e,t,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function OL(e){if(e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||e instanceof Dw||e instanceof Kr||e instanceof EUe||e instanceof Iw||e instanceof qx||e instanceof Zx||e instanceof My||e instanceof Hx||e instanceof Vx)return!0;if(Array.isArray(e)){for(let t of e)if(!OL(t))return!1;return!0}if(typeof e=="object"){for(let t in e)if(!OL(e[t]))return!1;return!0}return!1}function yc(e){if(e===null)return gQ;if(typeof e=="string")return fo;if(typeof e=="boolean")return Uo;if(typeof e=="number")return bn;if(e instanceof Kr)return mv;if(e instanceof Dw)return Ife;if(e instanceof EUe)return Tfe;if(e instanceof Iw)return yQ;if(e instanceof qx)return kfe;if(e instanceof Zx)return Rfe;if(e instanceof My)return ZZ;if(e instanceof Hx)return Pfe;if(e instanceof Vx)return vQ;if(Array.isArray(e)){let t=e.length,n;for(let r of e){let o=yc(r);if(!n)n=o;else if(n===o)continue;else{n=bo;break}}return Im(n||bo,t)}return zT}function NZ(e){let t=typeof e;return e===null?"":t==="string"||t==="number"||t==="boolean"?String(e):e instanceof Kr||e instanceof Dw||e instanceof Iw||e instanceof qx||e instanceof Zx||e instanceof My||e instanceof Hx||e instanceof Vx?e.toString():JSON.stringify(e)}function Mfe(e,t,n){let r=e.length-1,o=0,a=r,i=0,s,l;for(;o<=a;)if(i=Math.floor((o+a)/2),s=e[i],l=e[i+1],s<=t){if(i===r||tt)a=i-1;else throw new tl("Input is not a number.",n);return 0}function Fbr(e,t,n,r){let o=3*e,a=3*(n-e)-o,i=1-o-a,s=3*t,l=3*(r-t)-s,c=1-s-l;return function(u,d=0.000001){if(u<=0)return 0;if(u>=1)return 1;let p=u;for(let g=0;g<8;g++){let v=((i*p+a)*p+o)*p-u;if(Math.abs(v)v?f=p:m=p,p=(f+m)*0.5}return((c*p+l)*p+s)*p}}function QOe(e,t,n,r){let o=r-n,a=e-n;return o===0?0:t===1?a/o:(t**+a-1)/(t**+o-1)}function Hin(e,t,n=0,r=e.length-1,o=Ubr){for(;r>n;){if(r-n>600){let l=r-n+1,c=t-n+1,u=Math.log(l),d=0.5*Math.exp(2*u/3),p=0.5*Math.sqrt(u*d*(l-d)/l)*(c-l/2<0?-1:1);Hin(e,t,Math.max(n,Math.floor(t-c*d/l+p)),Math.min(r,Math.floor(t+(l-c)*d/l+p)),o)}let a=e[t],i=n,s=r;for(kZ(e,n,t),o(e[r],a)>0&&kZ(e,n,r);i0;)s--}o(e[n],a)===0?kZ(e,n,s):(s++,kZ(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function kZ(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Ubr(e,t){return et)}function Dfe(e,t){if(e.length<=1)return[e];let n=[],r,o;for(let a of e){let i=zbr(a);i!==0&&(a.area=Math.abs(i),o===void 0&&(o=i<0),o===i<0?(r&&n.push(r),r=[a]):r.push(a))}if(r&&n.push(r),t>1)for(let a=0;an}function Kbr(e,t,n){return t<=n}function Jbr(e,t,n){return t>=n}function Zin(e,t,n,r){return r.compare(t,n)===0}function jbr(e,t,n,r){return!Zin(e,t,n,r)}function $br(e,t,n,r){return r.compare(t,n)<0}function exr(e,t,n,r){return r.compare(t,n)>0}function txr(e,t,n,r){return r.compare(t,n)<=0}function nxr(e,t,n,r){return r.compare(t,n)>=0}function QL(e,t,n){let r=e!=="=="&&e!=="!=";return class o{constructor(a,i,s,l){this.lhs=a,this.rhs=i,this.key=s,this.collator=l,this.type=Uo,this.hasUntypedArgument=a.type.kind==="value"||i.type.kind==="value"}static parse(a,i){if(a.length!==3&&a.length!==4)return i.error("Expected two or three arguments.");let s=a[0],l=i.parse(a[1],1,bo);if(!l)return null;if(!kon(s,l.type))return i.concat(1).error(`"${s}" comparisons are not supported for type '${Al(l.type)}'.`);let c=i.parse(a[2],2,bo);if(!c)return null;if(!kon(s,c.type))return i.concat(2).error(`"${s}" comparisons are not supported for type '${Al(c.type)}'.`);if(l.type.kind!==c.type.kind&&l.type.kind!=="value"&&c.type.kind!=="value")return i.error(`Cannot compare types '${Al(l.type)}' and '${Al(c.type)}'.`);r&&(l.type.kind==="value"&&c.type.kind!=="value"?l=new ww(c.type,[l],i.key):l.type.kind!=="value"&&c.type.kind==="value"&&(c=new ww(l.type,[c],i.key)));let u=null;if(a.length===4){if(l.type.kind!=="string"&&c.type.kind!=="string"&&l.type.kind!=="value"&&c.type.kind!=="value")return i.error("Cannot use collator to compare non-string types.");if(u=i.parse(a[3],3,Tfe),!u)return null}return new o(l,c,i.key,u)}evaluate(a){let i=this.lhs.evaluate(a),s=this.rhs.evaluate(a);if(r&&this.hasUntypedArgument){let l=yc(i),c=yc(s);if(l.kind!==c.kind||l.kind!=="string"&&l.kind!=="number")throw new tl(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${l.kind}, ${c.kind}) instead.`,this.key)}if(this.collator&&!r&&this.hasUntypedArgument){let l=yc(i),c=yc(s);if(l.kind!=="string"||c.kind!=="string")return t(a,i,s)}return this.collator?n(a,i,s,this.collator.evaluate(a)):t(a,i,s)}eachChild(a){a(this.lhs),a(this.rhs),this.collator&&a(this.collator)}outputDefined(){return!0}}}function pxr(e,t){let n=fxr(e[0]),r=hxr(e[1]),o=2**t.z;return[Math.round(n*o*_x),Math.round(r*o*_x)]}function TUe(e,t){let n=2**t.z,r=(e[0]/_x+t.x)/n,o=(e[1]/_x+t.y)/n;return[mxr(r),gxr(o)]}function fxr(e){return(180+e)/360}function mxr(e){return e*360-180}function hxr(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function gxr(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function bQ(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function XZ(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function yxr(e,t,n){return t[1]>e[1]!=n[1]>e[1]&&e[0]<(n[0]-t[0])*(e[1]-t[1])/(n[1]-t[1])+t[0]}function vxr(e,t,n){let r=e[0]-t[0],o=e[1]-t[1],a=e[0]-n[0],i=e[1]-n[1];return r*i-a*o===0&&r*a<=0&&o*i<=0}function Lfe(e,t,n,r){let o=[t[0]-e[0],t[1]-e[1]];return wxr([r[0]-n[0],r[1]-n[1]],o)!==0&&!!(Ron(e,t,n,r)&&Ron(n,r,e,t))}function bxr(e,t,n){for(let r of n)for(let o=0;o0&&d<0||u<0&&d>0}function kUe(e,t,n){let r=[];for(let o=0;on[2]){let o=r*0.5,a=e[0]-n[0]>o?-r:n[0]-e[0]>o?r:0;a===0&&(a=e[0]-n[2]>o?-r:n[2]-e[0]>o?r:0),e[0]+=a}bQ(t,e)}function Sxr(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function Pon(e,t,n,r){let o=2**r.z*_x,a=[r.x*_x,r.y*_x],i=[];for(let s of e)for(let l of s){let c=[l.x+a[0],l.y+a[1]];Yin(c,t,n,o),i.push(c)}return i}function Mon(e,t,n,r){let o=2**r.z*_x,a=[r.x*_x,r.y*_x],i=[];for(let s of e){let l=[];for(let c of s){let u=[c.x+a[0],c.y+a[1]];bQ(t,u),l.push(u)}i.push(l)}if(t[2]-t[0]<=o/2){Sxr(t);for(let s of i)for(let l of s)Yin(l,t,n,o)}return i}function Cxr(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],o=e.canonicalID();if(t.type==="Polygon"){let a=kUe(t.coordinates,r,o),i=Pon(e.geometry(),n,r,o);if(!XZ(n,r))return!1;for(let s of i)if(!XL(s,a))return!1}if(t.type==="MultiPolygon"){let a=Win(t.coordinates,r,o),i=Pon(e.geometry(),n,r,o);if(!XZ(n,r))return!1;for(let s of i)if(!xxr(s,a))return!1}return!0}function Exr(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],o=e.canonicalID();if(t.type==="Polygon"){let a=kUe(t.coordinates,r,o),i=Mon(e.geometry(),n,r,o);if(!XZ(n,r))return!1;for(let s of i)if(!Xin(s,a))return!1}if(t.type==="MultiPolygon"){let a=Win(t.coordinates,r,o),i=Mon(e.geometry(),n,r,o);if(!XZ(n,r))return!1;for(let s of i)if(!Axr(s,a))return!1}return!0}function Jin(e,t){return t[0]-e[0]}function Wpe(e){return e[1]-e[0]+1}function Tw(e,t){return e[1]>=e[0]&&e[1]e[1])return[null,null];let n=Wpe(e);if(t){if(n===2)return[e,null];let o=Math.floor(n/2);return[[e[0],e[0]+o],[e[0]+o,e[1]]]}if(n===1)return[e,null];let r=Math.floor(n/2)-1;return[[e[0],e[0]+r],[e[0]+r+1,e[1]]]}function lFe(e,t){if(!Tw(t,e.length))return[1/0,1/0,-1/0,-1/0];let n=[1/0,1/0,-1/0,-1/0];for(let r=t[0];r<=t[1];++r)bQ(n,e[r]);return n}function cFe(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let r of n)bQ(t,r);return t}function Lon(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function MUe(e,t,n){if(!Lon(e)||!Lon(t))return NaN;let r=0,o=0;return e[2]t[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(o=e[1]-t[3]),e[3]=r)return r;if(XZ(o,a)){if(Bon(e,t))return 0}else if(Bon(t,e))return 0;let i=1/0;for(let s of e)for(let l=0,c=s.length,u=c-1;l0;){let l=i.pop();if(l[0]>=a)continue;let c=l[1],u=t?50:100;if(Wpe(c)<=u){if(!Tw(c,e.length))return NaN;if(t){let d=Rxr(e,c,n,r);if(isNaN(d)||d===0)return d;a=Math.min(a,d)}else for(let d=c[0];d<=c[1];++d){let p=kxr(e[d],n,r);if(a=Math.min(a,p),a===0)return 0}}else{let d=sFe(c,t);Oon(i,a,r,e,s,d[0]),Oon(i,a,r,e,s,d[1])}}return a}function Kpe(e,t,n,r,o,a=1/0){let i=Math.min(a,o.distance(e[0],n[0]));if(i===0)return i;let s=new Kin([[0,[0,e.length-1],[0,n.length-1]]],Jin);for(;s.length>0;){let l=s.pop();if(l[0]>=i)continue;let c=l[1],u=l[2],d=t?50:100,p=r?50:100;if(Wpe(c)<=d&&Wpe(u)<=p){if(!Tw(c,e.length)&&Tw(u,n.length))return NaN;let f;if(t&&r)f=Ixr(e,c,n,u,o),i=Math.min(i,f);else if(t&&!r){let m=e.slice(c[0],c[1]+1);for(let g=u[0];g<=u[1];++g)if(f=FT(n[g],m,o),i=Math.min(i,f),i===0)return i}else if(!t&&r){let m=n.slice(u[0],u[1]+1);for(let g=c[0];g<=c[1];++g)if(f=FT(e[g],m,o),i=Math.min(i,f),i===0)return i}else f=Txr(e,c,n,u,o),i=Math.min(i,f)}else{let f=sFe(c,t),m=sFe(u,r);Dpe(s,i,o,e,n,f[0],m[0]),Dpe(s,i,o,e,n,f[0],m[1]),Dpe(s,i,o,e,n,f[1],m[0]),Dpe(s,i,o,e,n,f[1],m[1])}}return i}function Mxr(e,t){let n=e.geometry(),r=n.flat().map((i)=>TUe([i.x,i.y],e.canonical));if(n.length===0)return NaN;let o=new PUe(r[0][1]),a=1/0;for(let i of t){switch(i.type){case"Point":a=Math.min(a,Kpe(r,!1,[i.coordinates],!1,o,a));break;case"LineString":a=Math.min(a,Kpe(r,!1,i.coordinates,!0,o,a));break;case"Polygon":a=Math.min(a,Ype(r,!1,i.coordinates,o,a))}if(a===0)return a}return a}function Dxr(e,t){let n=e.geometry(),r=n.flat().map((i)=>TUe([i.x,i.y],e.canonical));if(n.length===0)return NaN;let o=new PUe(r[0][1]),a=1/0;for(let i of t){switch(i.type){case"Point":a=Math.min(a,Kpe(r,!0,[i.coordinates],!1,o,a));break;case"LineString":a=Math.min(a,Kpe(r,!0,i.coordinates,!0,o,a));break;case"Polygon":a=Math.min(a,Ype(r,!0,i.coordinates,o,a))}if(a===0)return a}return a}function Lxr(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=Dfe(n,0).map((i)=>i.map((s)=>s.map((l)=>TUe([l.x,l.y],e.canonical)))),o=new PUe(r[0][0][0][1]),a=1/0;for(let i of t)for(let s of r){switch(i.type){case"Point":a=Math.min(a,Ype([i.coordinates],!1,s,o,a));break;case"LineString":a=Math.min(a,Ype(i.coordinates,!0,s,o,a));break;case"Polygon":a=Math.min(a,Pxr(s,i.coordinates,o,a))}if(a===0)return a}return a}function XOe(e){return e.type==="MultiPolygon"?e.coordinates.map((t)=>({type:"Polygon",coordinates:t})):e.type==="MultiLineString"?e.coordinates.map((t)=>({type:"LineString",coordinates:t})):e.type==="MultiPoint"?e.coordinates.map((t)=>({type:"Point",coordinates:t})):[e]}function Fon(e,[t,n,r,o],a){t=t.evaluate(e),n=n.evaluate(e),r=r.evaluate(e);let i=o?o.evaluate(e):1,s=Nin(t,n,r,i);if(s)throw new tl(s,a);return new Kr(t/255,n/255,r/255,i,!1)}function Uon(e,t){return e in t&&t[e]!==void 0}function WOe(e,t){let n=t[e];return n===void 0?null:n}function Fxr(e,t,n,r){for(;n<=r;){let o=n+r>>1;if(t[o]===e)return!0;t[o]>e?r=o-1:n=o+1}return!1}function DT(e){return{type:e}}function Uxr(e){return Array.isArray(e)?`(${e.map(Al).join(", ")})`:`(${Al(e.type)}...)`}function Jpe(e){if(e instanceof Gin)return Jpe(e.boundExpression);if(e instanceof JT&&e.name==="error"||e instanceof Qin||e instanceof RUe||e instanceof LUe||e instanceof BUe)return!1;let t=e instanceof EL||e instanceof ww,n=!0;return e.eachChild((r)=>{n&&=t?Jpe(r):r instanceof FL}),n?Bfe(e)&&Ofe(e,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"]):!1}function Bfe(e){if(e instanceof JT&&(e.name==="get"&&e.args.length===1||e.name==="feature-state"||e.name==="has"&&e.args.length===1||e.name==="properties"||e.name==="geometry-type"||e.name==="id"||/^filter-/.test(e.name))||e instanceof RUe||e instanceof LUe)return!1;let t=!0;return e.eachChild((n)=>{t&&!Bfe(n)&&(t=!1)}),t}function WZ(e){if(e instanceof JT&&e.name==="feature-state")return!1;let t=!0;return e.eachChild((n)=>{t&&!WZ(n)&&(t=!1)}),t}function Ofe(e,t){if(e instanceof JT&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild((r)=>{n&&!Ofe(r,t)&&(n=!1)}),n}function UL(e){return e["property-type"]==="data-driven"||e["property-type"]==="cross-faded-data-driven"}function $in(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function OUe(e){return!!e.expression&&e.expression.interpolated}function YZ(e,...t){for(let n of t)for(let r in n)e[r]=n[r];return e}function Mo(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":e===null?"null":typeof e}function Ffe(e){return typeof e=="object"&&!!e&&!Array.isArray(e)&&yc(e)===zT}function Nxr(e){return e}function zxr(e){switch(e.type){case"color":return Kr.parse;case"padding":return qx.parse;case"numberArray":return Zx.parse;case"colorArray":return My.parse;default:return null}}function _xr(e){switch(e){case"exponential":return tsn;case"interval":return Vxr;case"categorical":return Hxr;case"identity":return Gxr;default:throw Error(`Unknown function type "${e}"`)}}function esn(e,t){let n=e.stops&&typeof e.stops[0][0]=="object",r=n||e.property!==void 0,o=n||!r,a=e.type||(OUe(t)?"exponential":"interval"),i=zxr(t);if(i&&(e=YZ({},e),e.stops&&(e.stops=e.stops.map((u)=>[u[0],i(u[1])])),e.default?e.default=i(e.default):e.default=i(t.default)),e.colorSpace&&!Dbr(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let s=_xr(a),l,c;if(a==="categorical"){l=Object.create(null);for(let u of e.stops)l[u[0]]=u[1];c=typeof e.stops[0][0]}if(n){let u={},d=[];for(let m=0;mm[0]),evaluate({zoom:m},g){return tsn({stops:p,base:e.base},t,m).evaluate(m,g)}}}if(o){let u=a==="exponential"?{name:"exponential",base:e.base===void 0?1:e.base}:null;return{kind:"camera",interpolationType:u,interpolationFactor:Dy.interpolationFactor.bind(void 0,u),zoomStops:e.stops.map((d)=>d[0]),evaluate:({zoom:d})=>s(e,t,d,l,c)}}return{kind:"source",evaluate(u,d){let p=d&&d.properties?d.properties[e.property]:void 0;return p===void 0?xQ(e.default,t.default):s(e,t,p,l,c)}}}function xQ(e,t,n){if(e!==void 0)return e;if(t!==void 0)return t;if(n!==void 0)return n}function Hxr(e,t,n,r,o){return xQ(typeof n===o?r[n]:void 0,e.default,t.default)}function Vxr(e,t,n){if(Mo(n)!=="number")return xQ(e.default,t.default);let r=e.stops.length;if(r===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[r-1][0])return e.stops[r-1][1];let o=Mfe(e.stops.map((a)=>a[0]),n,"");return e.stops[o][1]}function tsn(e,t,n){let r=e.base===void 0?1:e.base;if(Mo(n)!=="number")return xQ(e.default,t.default);let o=e.stops.length;if(o===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[o-1][0])return e.stops[o-1][1];let a=Mfe(e.stops.map((u)=>u[0]),n,""),i=qxr(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],c=Hs[t.type]||Nxr;return typeof s.evaluate=="function"?{evaluate(...u){let d=s.evaluate.apply(void 0,u),p=l.evaluate.apply(void 0,u);if(d!==void 0&&p!==void 0)return c(d,p,i,e.colorSpace)}}:c(s,l,i,e.colorSpace)}function Gxr(e,t,n){switch(t.type){case"color":n=Kr.parse(n);break;case"formatted":n=Iw.fromString(n.toString());break;case"resolvedImage":n=Vx.fromString(n.toString());break;case"padding":n=qx.parse(n);break;case"colorArray":n=My.parse(n);break;case"numberArray":n=Zx.parse(n);break;default:Mo(n)!==t.type&&(t.type!=="enum"||!t.values[n])&&(n=void 0)}return xQ(n,e.default,t.default)}function qxr(e,t,n,r){let o=r-n,a=e-n;return o===0?0:t===1?a/o:(t**+a-1)/(t**+o-1)}function uFe(e){return{result:"success",value:e}}function SL(e){return{result:"error",value:e}}function nsn(e,t,n,r){return`${e}${t}: ${n}${r==null?"":` Falling back to ${String(r)}.`}`}function rsn(e){if(!e)throw Error('rootKey must identify the location of the expression in the style JSON, e.g. "layers[3].paint.line-width".')}function Ufe(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0]in kL}function Nfe(e,t,n,r){rsn(t);let o=new jin(kL,Jpe,[],n?Xxr(n):void 0),a=o.parse(e,void 0,void 0,void 0,n&&n.type==="string"?{typeAnnotation:"coerce"}:void 0);return a?uFe(new UUe(a,t,n,r)):SL(o.errors)}function Zxr(e){return e._styleExpression!==void 0}function osn(e,t,n,r){let o=Nfe(e,t,n,r);if(o.result==="error")return o;let a=o.value.expression,i=Bfe(a);if(!i&&!UL(n))return SL([new Nx("","data expressions not supported")]);let s=Ofe(a,["zoom"]);if(!s&&!$in(n))return SL([new Nx("","zoom expressions not supported")]);let l=Zpe(a);if(!l&&!s)return SL([new Nx("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(l instanceof Nx)return SL([l]);if(l instanceof Dy&&!OUe(n))return SL([new Nx("",'"interpolate" expressions cannot be used with this property')]);if(!l)return uFe(i?new KZ("constant",o.value,r):new KZ("source",o.value,r));let c=l instanceof Dy?l.interpolation:void 0;return uFe(i?new jpe("camera",o.value,l.labels,c,r):new jpe("composite",o.value,l.labels,c,r))}function Qxr(e,t,n,r){if(Ffe(e))return new asn(e,t,n);if(Ufe(e)){let o=osn(e,t,n,r);if(o.result==="error")throw Error(o.value.map((a)=>`${a.key}: ${a.message}`).join(", "));return o.value}{let o=e;return n.type==="color"&&typeof e=="string"?o=Kr.parse(e):n.type==="padding"&&(typeof e=="number"||Array.isArray(e))?o=qx.parse(e):n.type==="numberArray"&&(typeof e=="number"||Array.isArray(e))?o=Zx.parse(e):n.type==="colorArray"&&(typeof e=="string"||Array.isArray(e))?o=My.parse(e):n.type==="variableAnchorOffsetCollection"&&Array.isArray(e)?o=Hx.parse(e):n.type==="projectionDefinition"&&typeof e=="string"&&(o=Dw.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:"constant",evaluate:()=>o}}}function Zpe(e){let t=null;if(e instanceof Vin)t=Zpe(e.result);else if(e instanceof qin){for(let n of e.args)if(t=Zpe(n),t)break}else(e instanceof IUe||e instanceof Dy)&&e.input instanceof JT&&e.input.name==="zoom"&&(t=e);return t instanceof Nx||e.eachChild((n)=>{let r=Zpe(n);r instanceof Nx?t=r:!t&&r?t=new Nx("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&r&&t!==r&&(t=new Nx("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),t}function AQ(e,t=new Set){return e instanceof BUe&&t.add(e.key),e.eachChild((n)=>{AQ(n,t)}),t}function Xxr(e){let t={color:mv,string:fo,number:bn,enum:fo,boolean:Uo,formatted:yQ,padding:kfe,numberArray:Rfe,colorArray:ZZ,projectionDefinition:Ife,resolvedImage:vQ,variableAnchorOffsetCollection:Pfe};return e.type==="array"?Im(t[e.value]||bo,e.length):t[e.type]}function isn(e){if(e.type==="color"&&Ffe(e.default))return new Kr(0,0,0,0);switch(e.type){case"color":return Kr.parse(e.default)||null;case"padding":return qx.parse(e.default)||null;case"numberArray":return Zx.parse(e.default)||null;case"colorArray":return My.parse(e.default)||null;case"variableAnchorOffsetCollection":return Hx.parse(e.default)||null;case"projectionDefinition":return Dw.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function NL(e,t){let{zoom:n,heatmapDensity:r,elevation:o,lineProgress:a,isSupportedScript:i,accumulated:s}=e??{};return{zoom:n,heatmapDensity:r,elevation:o,lineProgress:a,isSupportedScript:i,accumulated:s,globalState:t}}function Wxr(e){let t=!1;for(let n of e){let r=ssn(n);if(r==="expression")return"expression";r==="legacy"&&(t=!0)}return t?"legacy":"neutral"}function ssn(e){if(typeof e=="boolean")return"neutral";if(!Array.isArray(e)||e.length===0)return"legacy";switch(e[0]){case"has":return e.length<2||e[1]==="$id"||e[1]==="$type"?"legacy":e.length===2?"neutral":"expression";case"in":return e.length>=3&&(typeof e[1]!="string"||Array.isArray(e[2]))?"expression":"legacy";case"!in":case"!has":return"legacy";case"==":case"!=":case">":case">=":case"<":case"<=":return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2])?"expression":"legacy";case"none":return"legacy";case"any":case"all":return Wxr(e.slice(1));default:return"expression"}}function NUe(e){return ssn(e)!=="legacy"}function Non(e){return e==="$type"?["geometry-type"]:e==="$id"?["id"]:["get",e]}function Yxr(e){switch(e[0]){case"==":case"!=":case"<":case"<=":case">":case">=":return e.length!==3||typeof e[1]!="string"?null:[e[0],Non(e[1]),e[2]];case"in":case"!in":{if(e.length<2||typeof e[1]!="string")return null;let t=["in",Non(e[1]),["literal",e.slice(2)]];return e[0]==="!in"?["!",t]:t}case"has":case"!has":{if(e.length!==2||typeof e[1]!="string"||e[1]==="$type"||e[1]==="$id")return null;let t=["has",e[1]];return e[0]==="!has"?["!",t]:t}default:return null}}function lsn(e){if((e[0]==="<"||e[0]==="<="||e[0]===">"||e[0]===">=")&&e[1]==="$type")return`"$type" cannot be use with operator "${e[0]}"`;let t=Yxr(e);return t?`Mixing deprecated filter syntax with expression syntax is not supported. Replace ${JSON.stringify(e)} with ${JSON.stringify(t)}.`:`Mixing deprecated filter syntax with expression syntax is not supported. Convert ${JSON.stringify(e)} to expression syntax.`}function YOe(e,t,n){let r=n[e];return Array.isArray(r)?NUe(r)?zUe(r,t.concat(e)):{path:t.concat(e),legacyFilter:r}:null}function zUe(e,t=[]){if(!Array.isArray(e)||e.length<1)return null;switch(e[0]){case"all":case"any":case"none":for(let n=1;n"u")return;let r=n.path.map((o)=>`[${o}]`).join("");console.warn(`${t}${r}: ${lsn(n.legacyFilter)}`)}function zL(e,t,n){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};NUe(e)?Kxr(e,t):e=$pe(e);let r=Nfe(e,t,Jxr,n);if(r.result==="error")throw Error(r.value.map((o)=>`${o.key}: ${o.message}`).join(", "));return{filter:(o,a,i)=>r.value.evaluate(o,a,{},i),needGeometry:csn(e),getGlobalStateRefs:()=>AQ(r.value.expression)}}function jxr(e,t){return et)}function csn(e){if(!Array.isArray(e))return!1;if(e[0]==="within"||e[0]==="distance")return!0;for(let t=1;t"||t==="<="||t===">="?KOe(e[1],e[2],t):t==="any"?$xr(e.slice(1)):t==="all"?["all"].concat(e.slice(1).map($pe)):t==="none"?["all"].concat(e.slice(1).map($pe).map(Lpe)):t==="in"?zon(e[1],e.slice(2)):t==="!in"?Lpe(zon(e[1],e.slice(2))):t==="has"?_on(e[1]):t!=="!has"||Lpe(_on(e[1]))}function KOe(e,t,n){switch(e){case"$type":return[`filter-type-${n}`,t];case"$id":return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function $xr(e){return["any"].concat(e.map($pe))}function zon(e,t){if(t.length===0)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((n)=>typeof n!=typeof t[0])?["filter-in-large",e,["literal",t.sort(jxr)]]:["filter-in-small",e,["literal",t]]}}function _on(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function Lpe(e){return["!",e]}function usn(e){let{key:t,value:n}=e;return n?[new jt(t,n,"constants have been deprecated as of v8")]:[]}function gc(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function GT(e){if(Array.isArray(e))return e.map(GT);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=GT(e[n]);return t}return gc(e)}function Yg(e){let{key:t,value:n}=e,r=e.valueSpec||{},o=e.objectElementValidators||{},{style:a,styleSpec:i,validateSpec:s}=e,l=[],c=Mo(n);if(c!=="object")return[new jt(t,n,`object expected, ${c} found`)];for(let u in n){let d=u.split(".")[0],p=UZ(r,d)||r["*"],f;if(UZ(o,d))f=o[d];else if(UZ(r,d)){if(n[u]===void 0)continue;f=s}else if(o["*"])f=o["*"];else if(r["*"])f=s;else{l.push(new jt(t,n[u],`unknown property "${u}"`));continue}l=l.concat(f({key:(t&&`${t}.`)+u,value:n[u],valueSpec:p,style:a,styleSpec:i,object:n,objectKey:u,validateSpec:s},n))}for(let u in r)o[u]||r[u].required&&r[u].default===void 0&&n[u]===void 0&&l.push(new jt(t,n,`missing required property "${u}"`));return l}function _Ue(e){let{value:t,valueSpec:n,validateSpec:r,style:o,styleSpec:a,key:i}=e,s=e.arrayElementValidator||r;if(Mo(t)!=="array")return[new jt(i,t,`array expected, ${Mo(t)} found`)];if(n.length&&t.length!==n.length)return[new jt(i,t,`array length ${n.length} expected, length ${t.length} found`)];let l={type:n.value,values:n.values};a.$version<7&&(l.function=n.function),Mo(n.value)==="object"&&(l=n.value);let c=[];for(let u=0;ur.maximum?[new jt(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new jt(t,n,`number expected, ${o} found`)]}function dsn(e){let t=e.valueSpec,n=gc(e.value.type),r,o={},a,i,s=n!=="categorical"&&e.value.property===void 0,l=!s,c=Mo(e.value.stops)==="array"&&Mo(e.value.stops[0])==="array"&&Mo(e.value.stops[0][0])==="object",u=Yg({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:d,default:m}});return n==="identity"&&s&&u.push(new jt(e.key,e.value,'missing required property "property"')),n!=="identity"&&!e.value.stops&&u.push(new jt(e.key,e.value,'missing required property "stops"')),n==="exponential"&&e.valueSpec.expression&&!OUe(e.valueSpec)&&u.push(new jt(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!UL(e.valueSpec)?u.push(new jt(e.key,e.value,"property functions not supported")):s&&!$in(e.valueSpec)&&u.push(new jt(e.key,e.value,"zoom functions not supported"))),(n==="categorical"||c)&&e.value.property===void 0&&u.push(new jt(e.key,e.value,'"property" property is required')),u;function d(g){if(n==="identity")return[new jt(g.key,g.value,'identity function may not have a "stops" property')];let v=[],y=g.value;return v=v.concat(_Ue({key:g.key,value:y,valueSpec:g.valueSpec,validateSpec:g.validateSpec,style:g.style,styleSpec:g.styleSpec,arrayElementValidator:p})),Mo(y)==="array"&&y.length===0&&v.push(new jt(g.key,y,"array must have at least one stop")),v}function p(g){let v=[],{value:y,key:x}=g;if(Mo(y)!=="array")return[new jt(x,y,`array expected, ${Mo(y)} found`)];if(y.length!==2)return[new jt(x,y,`array length 2 expected, length ${y.length} found`)];if(c){if(Mo(y[0])!=="object")return[new jt(x,y,`object expected, ${Mo(y[0])} found`)];if(y[0].zoom===void 0)return[new jt(x,y,"object stop key must have zoom")];if(y[0].value===void 0)return[new jt(x,y,"object stop key must have value")];if(i&&i>gc(y[0].zoom))return[new jt(x,y[0].zoom,"stop zoom values must appear in ascending order")];gc(y[0].zoom)!==i&&(i=gc(y[0].zoom),a=void 0,o={}),v=v.concat(Yg({key:`${x}[0]`,value:y[0],valueSpec:{zoom:{}},validateSpec:g.validateSpec,style:g.style,styleSpec:g.styleSpec,objectElementValidators:{zoom:zfe,value:f}}))}else v=v.concat(f({key:`${x}[0]`,value:y[0],valueSpec:{},validateSpec:g.validateSpec,style:g.style,styleSpec:g.styleSpec},y));return Ufe(GT(y[1]))?v.concat([new jt(`${x}[1]`,y[1],"expressions are not allowed in function stops.")]):v.concat(g.validateSpec({key:`${x}[1]`,value:y[1],valueSpec:t,validateSpec:g.validateSpec,style:g.style,styleSpec:g.styleSpec}))}function f(g,v){let y=Mo(g.value),x=gc(g.value),A=g.value===null?v:g.value;if(!r)r=y;else if(y!==r)return[new jt(g.key,A,`${y} stop domain type must match previous stop domain type ${r}`)];if(y!=="number"&&y!=="string"&&y!=="boolean")return[new jt(g.key,A,"stop domain value must be a number, string, or boolean")];if(y!=="number"&&n!=="categorical"){let w=`number expected, ${y} found`;return UL(t)&&n===void 0&&(w+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new jt(g.key,A,w)]}return n==="categorical"&&y==="number"&&(!isFinite(x)||Math.floor(x)!==x)?[new jt(g.key,A,`integer expected, found ${x}`)]:n!=="categorical"&&y==="number"&&a!==void 0&&xnew jt(`${e.key}${r.key}`,e.value,r.message));let n=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext==="property"&&e.propertyKey==="text-font"&&!n.outputDefined())return[new jt(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if(e.expressionContext==="property"&&e.propertyType==="layout"&&!WZ(n))return[new jt(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if(e.expressionContext==="filter"&&!WZ(n))return[new jt(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&e.expressionContext.indexOf("cluster")===0){if(!Ofe(n,["zoom","feature-state"]))return[new jt(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(e.expressionContext==="cluster-initial"&&!Bfe(n))return[new jt(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function eAr(e){let{value:t,key:n}=e,r=Mo(t);return r==="boolean"?[]:[new jt(n,t,`boolean expected, ${r} found`)]}function dFe(e){let{key:t,value:n}=e,r=Mo(n);return r==="string"?Kr.parse(String(n))?[]:[new jt(t,n,`color expected, "${n}" found`)]:[new jt(t,n,`color expected, ${r} found`)]}function JZ(e){let{key:t,value:n,valueSpec:r}=e,o=[];return Array.isArray(r.values)?r.values.indexOf(gc(n))===-1&&o.push(new jt(t,n,`expected one of [${r.values.join(", ")}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(gc(n))===-1&&o.push(new jt(t,n,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(n)} found`)),o}function tAr(e,t){let n=e;for(let r of t)n=n[r];return n}function nAr(e,t){let n=zUe(t);return n?[new jt(`${e.key}${n.path.map((r)=>`[${r}]`).join("")}`,tAr(e.value,n.path),lsn(n.legacyFilter),null,"warning")]:[]}function HUe(e){let t=GT(e.value);return NUe(t)?[...nAr(e,t),..._L(YZ({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}}))]:psn(e)}function psn(e){let{value:t,key:n}=e;if(Mo(t)!=="array")return[new jt(n,t,`array expected, ${Mo(t)} found`)];let r=e.styleSpec,o,a=[];if(t.length<1)return[new jt(n,t,"filter array must have at least 1 element")];switch(a=a.concat(JZ({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),gc(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&gc(t[1])==="$type"&&a.push(new jt(n,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":t.length!==3&&a.push(new jt(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(o=Mo(t[1]),o!=="string"&&a.push(new jt(`${n}[1]`,t[1],`string expected, ${o} found`)));for(let i=2;i{c in n&&t.push(new jt(r,n[c],`"${c}" is prohibited for ref layers`))});let l;o.layers.forEach((c)=>{gc(c.id)===s&&(l=c)}),l?l.ref?t.push(new jt(r,n.ref,"ref cannot reference another ref layer")):i=gc(l.type):t.push(new jt(r,n.ref,`ref layer "${s}" not found`))}else if(i!=="background")if(!n.source)t.push(new jt(r,n,'missing required property "source"'));else{let l=o.sources&&o.sources[n.source],c=l&&gc(l.type);l?c==="vector"&&i==="raster"?t.push(new jt(r,n.source,`layer "${n.id}" requires a raster source`)):c!=="raster-dem"&&i==="hillshade"||c!=="raster-dem"&&i==="color-relief"?t.push(new jt(r,n.source,`layer "${n.id}" requires a raster-dem source`)):c==="raster"&&i!=="raster"?t.push(new jt(r,n.source,`layer "${n.id}" requires a vector source`)):c==="vector"&&!n["source-layer"]?t.push(new jt(r,n,`layer "${n.id}" must specify a "source-layer"`)):c==="raster-dem"&&i!=="hillshade"&&i!=="color-relief"?t.push(new jt(r,n.source,"raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.")):i==="line"&&n.paint&&n.paint["line-gradient"]&&(c!=="geojson"||!l.lineMetrics)&&t.push(new jt(r,n,`layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new jt(r,n.source,`source "${n.source}" not found`))}return i==="raster"&&n.paint?.resampling&&n.paint?.["raster-resampling"]&&t.push(new jt(r,n.paint,`layer "${n.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),t=t.concat(Yg({key:r,value:n,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(){return[]},type(){return e.validateSpec({key:`${r}.type`,value:n.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:n,objectKey:"type"})},filter:HUe,layout(l){return Yg({layer:n,key:l.key,value:l.value,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,objectElementValidators:{"*"(c){return hsn(YZ({layerType:i},c))}}})},paint(l){return Yg({layer:n,key:l.key,value:l.value,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,objectElementValidators:{"*"(c){return msn(YZ({layerType:i},c))}}})}}})),t}function XC(e){let{value:t,key:n}=e,r=Mo(t);return r==="string"?[]:[new jt(n,t,`string expected, ${r} found`)]}function rAr(e){let t=e.sourceName??"",{value:n,styleSpec:r}=e,o=r.source_raster_dem,a=e.style,i=[],s=Mo(n);if(n===void 0)return i;if(s!=="object")return i.push(new jt("source_raster_dem",n,`object expected, ${s} found`)),i;let l=gc(n.encoding)==="custom",c=["redFactor","greenFactor","blueFactor","baseShift"],u=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let d in n)!l&&c.includes(d)?i.push(new jt(d,n[d],`In "${t}": "${d}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):o[d]?i=i.concat(e.validateSpec({key:d,value:n[d],valueSpec:o[d],validateSpec:e.validateSpec,style:a,styleSpec:r})):i.push(new jt(d,n[d],`unknown property "${d}"`));return i}function ysn(e){let{value:t,key:n,styleSpec:r,style:o,validateSpec:a}=e;if(!t.type)return[new jt(n,t,'"type" is required')];let i=gc(t.type),s;switch(i){case"vector":case"raster":return s=Yg({key:n,value:t,valueSpec:r[`source_${i.replace("-","_")}`],style:e.style,styleSpec:r,objectElementValidators:Hon,validateSpec:a}),s;case"raster-dem":return s=rAr({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case"geojson":if(s=Yg({key:n,value:t,valueSpec:r.source_geojson,style:o,styleSpec:r,validateSpec:a,objectElementValidators:Hon}),t.cluster)for(let l in t.clusterProperties){let[c,u]=t.clusterProperties[l],d=typeof c=="string"?[c,["accumulated"],["get",l]]:c;s.push(..._L({key:`${n}.${l}.map`,value:u,validateSpec:a,expressionContext:"cluster-map"})),s.push(..._L({key:`${n}.${l}.reduce`,value:d,validateSpec:a,expressionContext:"cluster-reduce"}))}return s;case"video":return Yg({key:n,value:t,valueSpec:r.source_video,style:o,validateSpec:a,styleSpec:r});case"image":return Yg({key:n,value:t,valueSpec:r.source_image,style:o,validateSpec:a,styleSpec:r});case"canvas":return[new jt(n,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return JZ({key:`${n}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:o,validateSpec:a,styleSpec:r})}}function oAr({key:e,value:t}){if(Mo(t)==="string")return XC({key:e,value:t});{let n=[];for(let r in t)n.push(...XC({key:`${e}.${r}`,value:t[r]}));return n}}function vsn(e){let{value:t,styleSpec:n}=e,r=n.light,o=e.style,a=[],i=Mo(t);if(t===void 0)return a;if(i!=="object")return a=a.concat([new jt("light",t,`object expected, ${i} found`)]),a;for(let s in t){let l=s.match(FUe);a=l&&r[l[1]]&&r[l[1]].transition?a.concat(e.validateSpec({key:s,value:t[s],valueSpec:n.transition,validateSpec:e.validateSpec,style:o,styleSpec:n})):r[s]?a.concat(e.validateSpec({key:s,value:t[s],valueSpec:r[s],validateSpec:e.validateSpec,style:o,styleSpec:n})):a.concat([new jt(s,t[s],`unknown property "${s}"`)])}return a}function bsn(e){let{value:t,styleSpec:n}=e,r=n.sky,o=e.style,a=Mo(t);if(t===void 0)return[];if(a!=="object")return[new jt("sky",t,`object expected, ${a} found`)];let i=[];for(let s in t){let l=s.match(FUe);i=l&&r[l[1]]&&r[l[1]].transition?i.concat(e.validateSpec({key:s,value:t[s],valueSpec:n.transition,style:o,styleSpec:n})):r[s]?i.concat(e.validateSpec({key:s,value:t[s],valueSpec:r[s],style:o,styleSpec:n})):i.concat([new jt(s,t[s],`unknown property "${s}"`)])}return i}function xsn(e){let{value:t,styleSpec:n}=e,r=n.terrain,o=e.style,a=[],i=Mo(t);if(t===void 0)return a;if(i!=="object")return a=a.concat([new jt("terrain",t,`object expected, ${i} found`)]),a;for(let s in t)a=r[s]?a.concat(e.validateSpec({key:s,value:t[s],valueSpec:r[s],validateSpec:e.validateSpec,style:o,styleSpec:n})):a.concat([new jt(s,t[s],`unknown property "${s}"`)]);return a}function aAr(e){return XC(e).length===0?[]:_L(e)}function iAr(e){return XC(e).length===0?[]:_L(e)}function sAr(e){let{key:t,value:n}=e;if(Mo(n)==="array"){if(n.length<1||n.length>4)return[new jt(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:"number"},o=[];for(let a=0;a[new jt(e,t,'invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"')],o=n.match(hAr);if(!o)return r();let[,a,i,s]=o;if(s!==void 0)return s.length>6?r():[];let l=parseInt(a,16),c=i===void 0?l:parseInt(i,16);return l>Von||c>Von?[new jt(e,t,"unicode range is out of bounds, the maximum code point is U+10FFFF")]:l>c?[new jt(e,t,`unicode range start must not be greater than its end, but ${n} is`)]:[]}function Ssn(e){let t=e.key??"font-faces",{value:n,validateSpec:r}=e,o=e.styleSpec??Rin,a=e.style;if(!pFe(n))return[new jt(t,n,`object expected, ${Mo(n)} found`)];let i=[];for(let s in n){let l=n[s],c=Mo(l);if(c==="string")i.push(...XC({key:`${t}.${s}`,value:l}));else if(c==="array"){let u={url:{type:"string",required:!0},"unicode-range":{type:"array",value:"string"}};for(let[d,p]of l.entries()){let f=`${t}.${s}[${d}]`;i.push(...Yg({key:f,value:p,valueSpec:u,styleSpec:o,style:a,validateSpec:r}));let m=pFe(p)?p["unicode-range"]:void 0;if(Mo(m)==="array")for(let[g,v]of m.entries())i.push(...gAr(`${f}.unicode-range[${g}]`,v))}}else i.push(new jt(`${t}.${s}`,l,`string or array expected, ${c} found`))}return i}function zZ(e){let{value:t,valueSpec:n,styleSpec:r}=e;return e.validateSpec=zZ,n.expression&&Ffe(gc(t))?dsn(e):n.expression&&Ufe(GT(t))?_L(e):n.type&&Gon[n.type]?Gon[n.type](e):Yg(YZ({},e,{valueSpec:n.type?r[n.type]:n}))}function Csn(e){let{value:t,key:n}=e,r=XC(e);return r.length?r:(t.indexOf("{fontstack}")===-1&&r.push(new jt(n,t,'"glyphs" url must include a "{fontstack}" token')),t.indexOf("{range}")===-1&&r.push(new jt(n,t,'"glyphs" url must include a "{range}" token')),r)}function Wg(e,t=bt){let n=[];return n=n.concat(zZ({key:"",value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:zZ,objectElementValidators:{glyphs:Csn,"*"(){return[]}}})),e.constants&&(n=n.concat(usn({key:"constants",value:e.constants,style:e,styleSpec:t,validateSpec:zZ}))),Esn(n)}function Ty(e){return function(t){return e(Object.assign({},t,{validateSpec:zZ}))}}function Esn(e){return[].concat(e).sort((t,n)=>t.line-n.line)}function ky(e){return function(...t){return Esn(e.apply(this,t))}}function bAr(e,t,n){return new vAr(e,t,n)}function xAr(e){return Object.entries(e.sources??{}).filter(([,t])=>!VUe.has(t.type)).map(([t])=>`sources.${t}`)}function GUe(e,t){let n=xAr(t);return _fe(e,Sh(t).filter(({message:r})=>!n.some((o)=>r.startsWith(`${o}:`)||r.startsWith(`${o}.`))))}function _fe(e,t){let n=!1;for(let r of t){if(r.severity==="warning"){Ko(r.message);continue}e.fire(new lr(Error(r.message))),n=!0}return n}function WL(e,t,n,r){return r?.validate!==!1&&_fe(e,t({styleSpec:bt,...n}))}function Hn(e,t,n={}){if(Sw[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),Sw[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}function Isn(e){return e&&typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||e.constructor?.name==="ArrayBuffer")}function qUe(e){let t=e.constructor;return e.$name||t._classRegistryKey}function AAr(e){if(typeof e!="object"||!e)return!1;let t=qUe(e);return t&&t!=="Object"}function Tsn(e){return!AAr(e)&&(e==null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof Blob||e instanceof Error||Isn(e)||KC(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function _Z(e,t){if(Tsn(e))return(Isn(e)||KC(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let a=[];for(let i of e)a.push(_Z(i,t));return a}if(typeof e!="object")throw Error(`can't serialize object of type ${typeof e}`);let n=qUe(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!Sw[n])throw Error(`${n} is not registered.`);let{klass:r}=Sw[n],o=r.serialize?r.serialize(e,t):{};if(!r.serialize){for(let a in e){if(!e.hasOwnProperty(a)||Sw[n].omit.includes(a))continue;let i=e[a];i!==void 0&&(o[a]=Sw[n].shallow.includes(a)?i:_Z(i,t))}e instanceof Error&&(o.message=e.message)}else if(o===t?.[t.length-1])throw Error("statically serialized object won't survive transfer of $name property");if(o.$name)throw Error("$name property is reserved for worker serialization logic.");return n!=="Object"&&(o.$name=n),o}function HZ(e){if(Tsn(e))return e;if(Array.isArray(e))return e.map(HZ);if(typeof e!="object")throw Error(`can't deserialize object of type ${typeof e}`);let t=qUe(e)||"Object";if(!Sw[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=Sw[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let o of Object.keys(e)){if(o==="$name")continue;let a=e[o];r[o]=Sw[t].shallow.includes(o)?a:HZ(a)}return r}function Qon(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function ksn(e,t){let n=Qon(e),r=Qon(t);return n!==void 0&&r!==void 0&&n!==r}function nl(e,t=1){let n=0,r=0;return{members:e.map((o)=>{let a=kAr(o.type),i=n=Won(n,Math.max(t,a)),s=o.components||1;return r=Math.max(r,a),n+=a*s,{name:o.name,type:o.type,components:s,offset:i}}),size:Won(n,Math.max(r,t)),alignment:t}}function kAr(e){return TAr[e].BYTES_PER_ELEMENT}function Won(e,t){return Math.ceil(e/t)*t}function Jon(e,t){return e=qr(Math.floor(e),0,255),t=qr(Math.floor(t),0,255),256*e+t}function jon(e){let t=+e;return!isNaN(t)&&t<=9007199254740991?t:(0,ofe.default)(String(e))}function FFe(e,t,n,r){for(;n>1],a=n-1,i=r+1;for(;;){do a++;while(e[a]o);if(a>=i)break;Bpe(e,a,i),Bpe(t,3*a,3*i),Bpe(t,3*a+1,3*i+1),Bpe(t,3*a+2,3*i+2)}i-no.x+1||io.y+1)&&Ko("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return n}function jC(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?jT(e):[]}}function QAr(e,t,n,r,o){e.emplaceBack(tan+t*8+r,tan+n*8+o)}function YUe(e,t){for(let n of e)if(HL(t,n))return!0;for(let n of t)if(HL(e,n))return!0;return KUe(e,t)}function qfe(e,t,n){return HL(e,t)?!0:zFe(t,e,n)}function Ksn(e,t){if(e.length===1)return nan(t,e[0]);for(let n of t)for(let r of n)if(HL(e,r))return!0;for(let n of e)if(nan(t,n))return!0;for(let n of t)if(KUe(e,n))return!0;return!1}function XAr(e,t,n){for(let r of t){if(e.length>=3){for(let o of r)if(HL(e,o))return!0}if(WAr(e,r,n))return!0}return!1}function WAr(e,t,n){if(e.length>1){if(KUe(e,t))return!0;for(let r of t)if(zFe(r,e,n))return!0}for(let r of e)if(zFe(r,t,n))return!0;return!1}function KUe(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n1?e.distSqr(n):e.distSqr(n.sub(t)._mult(o)._add(t))}function nan(e,t){let n=!1,r,o,a;for(let i of e){r=i;for(let s=0,l=r.length-1;st.y!=a.y>t.y&&t.x<(a.x-o.x)*(t.y-o.y)/(a.y-o.y)+o.x&&(n=!n)}return n}function HL(e,t){let n=!1;for(let r=0,o=e.length-1;rt.y!=i.y>t.y&&t.x<(i.x-a.x)*(t.y-a.y)/(i.y-a.y)+a.x&&(n=!n)}return n}function KAr(e,t,n,r,o){for(let i of e)if(t<=i.x&&n<=i.y&&r>=i.x&&o>=i.y)return!0;let a=[new ft(t,n),new ft(t,o),new ft(r,o),new ft(r,n)];if(e.length>2){for(let i of a)if(HL(e,i))return!0}for(let i=0;io.x&&t.x>o.x||e.yo.y&&t.y>o.y)return!1;let a=GC(e,t,n[0]);return a!==GC(e,t,n[1])||a!==GC(e,t,n[2])||a!==GC(e,t,n[3])}function RL(e,t,n){let r=t.paint.get(e).value;return r.kind==="constant"?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function Zfe(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Qfe(e,t,n,r,o){if(!t[0]&&!t[1])return e;let a=ft.convert(t)._mult(o);n==="viewport"&&a._rotate(-r);let i=[];for(let s of e)i.push(s.sub(a));return i}function jAr(e){let t=[];for(let n=0;nJUe(o,t,n,r))}function jUe(e,{width:t,height:n},r,o){if(!o)o=new Uint8Array(t*n*r);else if(o instanceof Uint8ClampedArray)o=new Uint8Array(o.buffer);else if(o.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${o.length} but got: ${t*n*r}`);return e.width=t,e.height=n,e.data=o,e}function tln(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let o=jUe({},{width:t,height:n},r);$Ue(e,o,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=o.data}function $Ue(e,t,n,r,o,a){if(o.width===0||o.height===0)return t;if(o.width>e.width||o.height>e.height||n.x>e.width-o.width||n.y>e.height-o.height)throw RangeError("out of range source coordinates for image copy");if(o.width>t.width||o.height>t.height||r.x>t.width-o.width||r.y>t.height-o.height)throw RangeError("out of range destination coordinates for image copy");let i=e.data,s=t.data;if(i===s)throw Error("srcData equals dstData, so image is already copied");for(let l=0;l{t[e.evaluationKey]=l;let c=e.expression.evaluate(t);o.setPixel(i/4/n,s/4,c)};if(e.clips)for(let i=0,s=0;i80*n){s=e[0],l=e[1];let u=s,d=l;for(let p=n;pu&&(u=f),m>d&&(d=m)}c=Math.max(u-s,d-l),c=c===0?0:32767/c}return VFe(a,i,s,l,c),i}function iln(e,t,n,r,o){let a=null;if(o===G3r(e,t,n,r)>0)for(let i=t;i=t;i-=r)a=aan(i/r|0,e[i],e[i+1],a);return a&&rQ(a,a.next)&&(aQ(a),a=a.next),a}function ZT(e,t=e){let n=t===e,r=e,o;do o=!1,r!==r.next&&(nQ.size===0||!nQ.has(r))&&(rQ(r,r.next)||Od(r.prev,r,r.next)===0)?((n||r===t)&&(t=r.prev),HFe=!0,aQ(r),r=r.prev,o=!0):(n||r!==t)&&(r=r.next,o=!n);while(o||r!==t);return t}function VFe(e,t,n,r,o){o&&U3r(e,n,r,o);let a=e,i=!1;for(;e.prev!==e.next;){let s=e.prev,l=e.next;if(Od(s,e,l)<0&&(o?T3r(e,n,r,o):I3r(e))){t.push(s.i,e.i,l.i),aQ(e),e=l,a=l;continue}if(e=l,e===a){if(HFe=!1,e=ZT(e),HFe){a=e;continue}if(!i){e=k3r(e,t),a=e,i=!0;continue}R3r(e,t,n,r,o);break}}}function I3r(e){let t=e.prev,n=e,r=e.next,o=t.x,a=n.x,i=r.x,s=t.y,l=n.y,c=r.y,u=Math.min(o,a,i),d=Math.min(s,l,c),p=Math.max(o,a,i),f=Math.max(s,l,c),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=p&&m.y>=d&&m.y<=f&&(o!==m.x||s!==m.y)&&sfe(o,s,a,l,i,c,m.x,m.y)&&Od(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function T3r(e,t,n,r){let o=e.prev,a=e,i=e.next,s=o.x,l=a.x,c=i.x,u=o.y,d=a.y,p=i.y,f=Math.min(s,l,c),m=Math.min(u,d,p),g=Math.max(s,l,c),v=Math.max(u,d,p),y=QFe(f,m,t,n,r),x=QFe(g,v,t,n,r),A=e.prevZ;for(;A&&A.z>=y;){if(A.x>=f&&A.x<=g&&A.y>=m&&A.y<=v&&A!==i&&(s!==A.x||u!==A.y)&&sfe(s,u,l,d,c,p,A.x,A.y)&&Od(A.prev,A,A.next)>=0)return!1;A=A.prevZ}let w=e.nextZ;for(;w&&w.z<=x;){if(w.x>=f&&w.x<=g&&w.y>=m&&w.y<=v&&w!==i&&(s!==w.x||u!==w.y)&&sfe(s,u,l,d,c,p,w.x,w.y)&&Od(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function k3r(e,t){let n=e,r=!1;do{let o=n.prev,a=n.next.next;lln(o,n,n.next,a,!1)&&oQ(o,a)&&oQ(a,o)&&(t.push(o.i,n.i,a.i),aQ(n),aQ(n.next),n=e=a,r=!0),n=n.next}while(n!==e);return r?ZT(n):n}function R3r(e,t,n,r,o){let a=e;do{let i=a.next.next;for(;i!==a.prev;){if(a.i!==i.i&&_3r(a,i)){let s=cln(a,i);a=ZT(a,a.next),s=ZT(s,s.next),VFe(a,t,n,r,o),VFe(s,t,n,r,o);return}i=i.next}a=a.next}while(a!==e)}function P3r(e,t,n,r){let o=[];for(let a=0,i=t.length;ai&&(i=n.x),n.ys&&(s=n.y),u.xi&&(i=u.x),u.ys&&(s=u.y),n=u}while(++l<16&&n!==t);ZFe[r]=n;let c=r*4;hc[c]=o,hc[c+1]=a,hc[c+2]=i,hc[c+3]=s}while(n!==t)}function B3r(e,t){let n=e.z*4;t.xhc[n+2]&&(hc[n+2]=t.x),t.y>hc[n+3]&&(hc[n+3]=t.y)}function ran(e){let t=ZFe[e];for(;t.prev.next!==t;)t=t.next;return ZFe[e]=t,t}function oan(e){let t=qFe[e];for(;t.prev.next!==t;)t=t.next;return qFe[e]=t,t}function O3r(e,t){let n=t,{x:r,y:o}=e,a=-1/0,i;if(rQ(e,n))return n;for(let p=0,f=0;phc[f+3]||hc[f]>r||hc[f+2]<=a)continue;let m=ran(p);n=oan(p);do{if(n.prev.next===n){if(rQ(e,n.next))return n.next;if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){let g=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(g<=r&&g>a&&(a=g,i=n.xr||hc[f+3]u)continue;let m=ran(p);n=oan(p);do{if(n.prev.next===n&&r>=n.x&&n.x>=s&&r!==n.x&&sfe(or)&&(gi.x||n.x===i.x&&F3r(i,n)))&&(i=n,d=g)}n=n.next}while(n!==m)}return i}function F3r(e,t){return Od(e.prev,e,t.prev)<0&&Od(t.next,e,e.next)<0}function U3r(e,t,n,r){let o=e,a=0;do o.z=QFe(o.x,o.y,t,n,r),Ry[a++]=o,o=o.next;while(o!==e);N3r(a);let i=null;for(let s=0;s=0&&Ry[o].z>r;)Ry[o+1]=Ry[o],o--;Ry[o+1]=n}return}LT.length>>a&255]++;let i=0;for(let s=0;s<256;s++){let l=MZ[s];MZ[s]=i,i+=l}for(let s=0;s>>a&255]++;r[c]=t[s],o[c]=l}}function QFe(e,t,n,r,o){return e=(e-n)*o|0,t=(t-r)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function z3r(e){let t=e,n=e;do(t.x=(e-i)*(a-s)&&(e-i)*(r-s)>=(n-i)*(t-s)&&(n-i)*(a-s)>=(o-i)*(r-s)}function _3r(e,t){let n=rQ(e,t)&&Od(e.prev,e,e.next)>0&&Od(t.prev,t,t.next)>0;return e.next.i!==t.i&&(n||oQ(e,t)&&oQ(t,e)&&(Od(e.prev,e,t.prev)!==0||Od(e,t.prev,t)!==0))&&!H3r(e,t)&&(n||V3r(e,t))}function Od(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function rQ(e,t){return e.x===t.x&&e.y===t.y}function lln(e,t,n,r,o=!0){let a=Od(e,t,n),i=Od(e,t,r),s=Od(n,r,e),l=Od(n,r,t);return(a>0&&i<0||a<0&&i>0)&&(s>0&&l<0||s<0&&l>0)?!0:o?!!(a===0&&Upe(e,n,t)||i===0&&Upe(e,r,t)||s===0&&Upe(n,e,r)||l===0&&Upe(n,t,r)):!1}function Upe(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function H3r(e,t){let n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),o=Math.min(e.y,t.y),a=Math.max(e.y,t.y),i=e;do{let s=i.next;if(i.x>r&&s.x>r||i.xa&&s.y>a||i.y=0&&Od(e,e.prev,t)>=0:Od(e,t,e.prev)<0||Od(e,e.next,t)<0}function V3r(e,t){let n=e,r=!1,o=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let i=n.next;n.y>a!=i.y>a&&o<(i.x-n.x)*(a-n.y)/(i.y-n.y)+n.x&&(r=!r),n=i}while(n!==e);return r}function cln(e,t){let n=XFe(e.i,e.x,e.y),r=XFe(t.i,t.x,t.y),o=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function aan(e,t,n,r){let o=XFe(e,t,n);return r?(o.next=r.next,o.prev=r,r.next.prev=o,r.next=o):(o.prev=o,o.next=o),o}function aQ(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ),GFe&&B3r(e.prev,e.next)}function XFe(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function G3r(e,t,n,r){let o=0;for(let a=t,i=n-r;a0?(Math.floor(C/o)+1)*o:(Math.ceil(C/o)-1)*o,k=x>0?(Math.floor(E/o)+1)*o:(Math.ceil(E/o)-1)*o,L=Math.abs(C-I),O=Math.abs(E-k),B=Math.abs(C-f),U=Math.abs(E-m),D=g?L/A:1/0,N=v?O/w:1/0;if((B<=L||!g)&&(U<=O||!v))break;if(D0?(n.push(o),n.push(i),n.push(a)):(n.push(o),n.push(a),n.push(i))}return n}function W3r(e,t,n){if(t.length===0)throw Error("Subdivision vertex ring is empty.");let r=0,o=e[t[0]*2];for(let l=1;l=0?i-1:a-1,c=(s+1)%a,u=e[t[l]*2],d=e[t[l]*2+1],p=e[t[c]*2],f=e[t[c]*2+1],m=e[t[i]*2],g=e[t[i]*2+1],v=e[t[s]*2],y=e[t[s]*2+1],x=!1;if(up)x=!1;else{let A=y-g,w=-(v-m),C=g((p-m)*A+(f-g)*w)*C&&(x=!0)}if(x){let A=t[l],w=t[i],C=t[s];A!==w&&A!==C&&w!==C&&n.push(C,w,A),i--,i<0&&(i=a-1)}else{let A=t[c],w=t[i],C=t[s];A!==w&&A!==C&&w!==C&&n.push(C,w,A),s++,s>=a&&(s=0)}if(l===c)break}}function pln(e,t,n,r,o,a,i,s,l){let c=o.length/2,u=i&&s&&l;if(cVs.MAX_VERTEX_ARRAY_LENGTH&&(c=e.createNewSegment(t,n),l=s.count,g=!0,v=!0,y=!0,u=0);let A=VZ(i,r,a,s,p,g,c),w=VZ(i,r,a,s,f,v,c),C=VZ(i,r,a,s,m,y,c);n.emplaceBack(u+A-l,u+w-l,u+C-l),c.primitiveLength++}}function K3r(e,t,n,r,o,a){let i=[];for(let d=0;dVs.MAX_VERTEX_ARRAY_LENGTH&&(c=e.createNewSegment(t,n),l=s.count,g=!0,v=!0,u=0);let x=VZ(i,r,a,s,f,g,c),A=VZ(i,r,a,s,m,v,c);n.emplaceBack(u+x-l,u+A-l),c.primitiveLength++}}function YFe(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function ian(e){return e.every((t)=>t.x<0)||e.every((t)=>t.x>8192)||e.every((t)=>t.y<0)||e.every((t)=>t.y>8192)}function gln(e){let t=e.length;if(t<=1)return[e];let n=[],r,o;for(let a=0;afwr(n,t))}function pwr(e,t){let n=uwr(Ut/2,Ut/2,t),r=ai.fromLngLat(n).meterInMercatorCoordinateUnits(),o=(1<1&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y;)t.pop();return t}function hwr(e,t,n,r,o){let a=t.sub(n),i=r.sub(n),s=a.mag(),l=i.mag();if(s<0.000001||l<0.000001){e.push(n.clone());return}a._div(s),i._div(l);let c=a.x*i.x+a.y*i.y;if(Math.abs(c)>Math.cos(5*Math.PI/180)){e.push(n.clone());return}let u=0.2,d=Math.min(o,s*u,l*u),p=n.add(a.mult(d)),f=n.add(i.mult(d)),m=Math.sqrt((1+c)/2),g=n.add(a.add(i)._unit()._mult(d/m)),v=p.sub(g).angleWith(f.sub(g)),y=Math.max(2,Math.ceil(Math.abs(v)/(Math.PI/6)-0.000001));for(let x=0;x<=y;x++)e.push(p.rotateAround(x/y*v,g))}function DZ(e,t,n,r,o,a,i,s){e.emplaceBack(t,n,Math.floor(r*$Oe)*2+i,o*$Oe*2,a*$Oe*2,Math.round(s))}function gwr(e,t){for(let n=0;n0?t+2*e:e}function _wr(e){return/[\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u077F\u07C0-\u07FA\u07FD-\u07FF\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\u1800\u1801\u1804\u1806-\u1819\u1820-\u1878\u1880-\u18AA\uA840-\uA877\uFB50-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDD00-\uDD27\uDD30-\uDD39\uDE60-\uDE7E\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDEFF\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB]|\uD805[\uDE60-\uDE6C]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]|\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function Hwr(e){return/[\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC57-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD1F-\uDD39\uDD3F-\uDD59\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58\uDE60-\uDE9F\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF00-\uDF35\uDF39-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD85\uDD8E\uDD8F\uDE60-\uDE7E\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDF27\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function Iln(e){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function Vwr(e){return/[\u02EA\u02EB\u2E80-\u2FDF\u2FF0-\u303F\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FD-\u30FF\u3105-\u312F\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function jfe(e){return/[\u02EA\u02EB\u1100-\u11FF\u1401-\u167F\u18B0-\u18FF\u2065\u20DD-\u20E0\u20E2-\u20E4\u2B97\u2BF0-\u2BFF\u2E50\u2E51\u2E80-\u3007\u3012\u3013\u3020-\u302F\u3031-\u30FB\u30FD-\uA4CF\uA960-\uA97F\uAC00-\uD7FF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE48\uFE50-\uFE57\uFE5F-\uFE62\uFE67-\uFE6F\uFF00-\uFF07\uFF0A-\uFF0C\uFF0E-\uFF19\uFF1F-\uFF3A\uFF3C\uFF3E\uFF40-\uFF5A\uFFE0-\uFFE2\uFFE4-\uFFE7\uFFF0-\uFFF8]|\uD802[\uDD80-\uDD9F]|\uD805[\uDD80-\uDDFF]|\uD806[\uDE00-\uDEBF]|[\uD80C-\uD810\uD81C-\uD822\uD83C\uD83D\uD840-\uD87E\uD880-\uD8BE][\uDC00-\uDFFF]|\uD811[\uDC00-\uDE7F]|\uD81B[\uDFE0-\uDFFF]|\uD823[\uDC00-\uDDFF]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFF]|\uD833[\uDEC0-\uDFCF]|\uD834[\uDC00-\uDDFF\uDEE0-\uDF7F]|\uD836[\uDC00-\uDEAF]|\uD83E[\uDD00-\uDEFF]|[\uD87F\uD8BF][\uDC00-\uDFFD]/gim.test(String.fromCodePoint(e))}function Gwr(e){return/[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test(String.fromCodePoint(e))}function qwr(e){return/[\r\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0600-\u0605\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DD\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0890\u0891\u0897-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E33-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB3-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1037\u1039-\u103E\u1056-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1084-\u1086\u108D\u109D\u1100-\u11FF\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60\u1A62\u1A65-\u1A7C\u1A7F\u1AB0-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA960-\uA97C\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFA-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCBD\uDCC2\uDCCD\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC2\uDDC3\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDE41\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDFB8-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD2\uDFE1\uDFE2]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF1F\uDF22-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE84-\uDE99\uDF60-\uDF67]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6\uDF00-\uDF03\uDF34-\uDF3A\uDF3E-\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDD63\uDD67-\uDD6A\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF\uDEE3\uDEE6\uDEEE\uDEEF\uDEF5]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDDE6-\uDDFF\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF]/.test(e)}function pan(e){return/[\u0E01-\u0E3A\u0E40-\u0E4E\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA\u1000-\u103F\u1050-\u108F\u109A-\u109F\u1780-\u17D3\u17D7\u17DC\u17DD\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19DE\u19DF\u1A20-\u1A5E\u1A60-\u1A7C\u1AA0-\u1AAD\u1B00-\u1B4C\u1B4E-\u1B7F\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE-\uA9EF\uA9FA-\uA9FE\uAA60-\uAAC2\uAADB-\uAADF]|\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF3A\uDF3B\uDF3F-\uDF46]/gim.test(String.fromCodePoint(e))}function Zwr(e,t){return/(?:[\u1039\u17D2\u1A60\u1BAB\u200D\uAAF6]|\uD802\uDE3F|\uD804[\uDD33\uDFD0]|\uD806[\uDD3E\uDE47\uDE99]|\uD807[\uDD45\uDD97\uDF42])$/.test(e)||/^\p{gc=Mc}/u.test(t)}function Kwr(e,t,n){let r=0;for(let o of e.split(";")){let[a,i]=o.split(",").map((l)=>parseInt(l,36)),s=r+a;for(let l=s;l{let n=t.codePointAt(0);return{codePoint:n,type:Jwr(n),form:null}})}function nSr(e){let t=e.filter((n)=>n.type!=="T");for(let n=0;n0&&jwr(t[n-1].type),a=n+1String.fromCodePoint(aSr(n))).join("")}function sSr(e,t,n){let r=t.layout.get("text-transform").evaluate(n,{});return r==="uppercase"?e=e.toLocaleUpperCase():r==="lowercase"&&(e=e.toLocaleLowerCase()),(lfe.applyArabicShaping??iSr)(e)}function lSr(e,t,n){for(let r of e.sections)r.text=sSr(r.text,t,n);return e}function eFe(e,t,n){let r=n?t.last.points:t.first.points,o=n?r[r.length-1]:r[0];return`${e}:${o.x}:${o.y}`}function cSr(e){let t=e.first.points,n=t.length;for(let a=e.first.next;a;a=a.next)n+=a.points.length-1;let r=Array(n);for(let a=0;a=0&&Zwr(t[r],n)?t[r]+=n:t.push(n)}return t}function dSr(e){let t=new Set;if(kln){yan??=new Intl.Segmenter(void 0,{granularity:"word"});for(let{index:r}of yan.segment(e))t.add(r);return t}let n=0;for(let r of e.split(/\b|(?=\p{Ideo})/u))t.add(n),n+=r.length;return t}function IQ(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function aNe(e){return/\s/u.test(String.fromCodePoint(e))}function $Fe(e){for(let t of e)if(jfe(t.codePointAt(0)))return!0;return!1}function pSr(e){for(let t of e)if(!fSr(t.codePointAt(0)))return!1;return!0}function fSr(e){return!_wr(e)}function van(e){return!(jfe(e)||Gwr(e))}function Rln(e){return/\p{sc=Arab}/u.test(String.fromCodePoint(e))}function Pln(e){return Hwr(e)}function Mln(e){for(let t of e)if(Pln(t.codePointAt(0)))return!0;return!1}function mSr(e){let t="",n={premature:!0,value:void 0},r=e[Symbol.iterator](),o=r.next(),a=e[Symbol.iterator]();a.next();let i=a.next();for(;!o.done;)(i.done||!van(i.value.codePointAt(0))||IL[i.value])&&(n.premature||!van(n.value.codePointAt(0))||IL[n.value])&&IL[o.value]?t+=IL[o.value]:t+=o.value,n={value:o.value,premature:!1},o=r.next(),i=a.next();return t}function ban(e,t,n,r,o,a){if("fontStack"in t){let i=n[t.fontStack]?.default,s=i?.[e];if(s)return s.metrics.advance*t.scale+o;let l=0;for(let c of e){let u=i?.[c];u&&(l+=u.metrics.advance*t.scale+o)}return l}{let i=r[t.imageName];return i?i.displaySize[0]*t.scale*24/a+o:0}}function xan(e,t,n,r){let o=(e-t)**2;return r?e1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function m(be,ye){var ce=0,ue=new Map,ke=ye&&new Map,se;return be.split(",").forEach(function qe(Me){if(Me.indexOf("+")!==-1)for(var Qe=+Me;Qe--;)qe(se);else{se=Me;var ee=Me.split(">"),K=ee[0],we=ee[1];K=String.fromCodePoint(ce+=parseInt(K,36)),we=String.fromCodePoint(ce+=parseInt(we,36)),ue.set(K,we),ye&&ke.set(we,K)}}),{map:ue,reverseMap:ke}}var g,v,y;function x(){if(!g){var be=m(f.pairs,!0),{map:ye,reverseMap:ce}=be;g=ye,v=ce,y=m(f.canonical,!1).map}}function A(be){return x(),g.get(be)||null}function w(be){return x(),v.get(be)||null}function C(be){return x(),y.get(be)||null}var{L:E,R:T,EN:I,ES:k,ET:L,AN:O,CS:B,B:U,S:D,ON:N,BN:_,NSM:G,AL:Z,LRO:q,RLO:H,LRE:te,RLE:ie,PDF:j,LRI:oe,RLI:J,FSI:Y,PDI:ae}=n;function ne(be,ye){for(var ce=125,ue=new Uint32Array(be.length),ke=0;ke0)ct--;else if(de>0){for(Rt=0;!Ue[Ue.length-1]._isolate;)Ue.pop();var Ge=Ue[Ue.length-1]._isolInitIndex;Ge!=null&&(Qe.set(Ge,ge),Qe.set(ge,Ge)),Ue.pop(),de--}Ze=Ue[Ue.length-1],Me[ge]=Ze._level,Ze._override&&qe(ge,Ze._override)}else Oe&j?(ct===0&&(Rt>0?Rt--:!Ze._isolate&&Ue.length>1&&(Ue.pop(),Ze=Ue[Ue.length-1])),Me[ge]=Ze._level):Oe&U&&(Me[ge]=K.level);else Me[ge]=Ze._level,Ze._override&&Oe!==_&&qe(ge,Ze._override)}for(var _e=[],nt=null,rt=K.start;rt<=K.end;rt++){var ot=ue[rt];if(!(ot&s)){var At=Me[rt],en=ot&o,Gt=ot===ae;nt&&At===nt._level?(nt._end=rt,nt._endsWithIsolInit=en):_e.push(nt={_start:rt,_end:rt,_level:At,_startsWithPDI:Gt,_endsWithIsolInit:en})}}for(var tn=[],Yt=0;Yt<_e.length;Yt++){var Be=_e[Yt];if(!Be._startsWithPDI||Be._startsWithPDI&&!Qe.has(Be._start)){for(var Je=[nt=Be],it=void 0;nt&&nt._endsWithIsolInit&&(it=Qe.get(nt._end))!=null;)for(var Et=Yt+1;Et<_e.length;Et++)if(_e[Et]._start===it){Je.push(nt=_e[Et]);break}for(var Mt=[],An=0;An=0;qn--)if(!(ue[qn]&s)){er=Me[qn];break}var Er=Mt[Mt.length-1],ur=Me[Er],Yr=K.level;if(!(ue[Er]&o)){for(var mo=Er+1;mo<=K.end;mo++)if(!(ue[mo]&s)){Yr=Me[mo];break}}tn.push({_seqIndices:Mt,_sosType:Math.max(er,Cn)%2?T:E,_eosType:Math.max(Yr,ur)%2?T:E})}}for(var Zo=0;Zo=0;st--)if(!(ue[on[st]]&s)){ht=ue[on[st]];break}qe(et,ht&(o|ae)?N:ht)}}if(se.get(I))for(var lt=0;lt=-1;dn--){var fn=dn===-1?li:ue[on[dn]];if(fn&a){fn===Z&&qe(nn,O);break}}}if(se.get(Z))for(var wn=0;wn=0&&(hn=ue[on[la]],hn&s);la--);for(var ir=Qn+1;ir=0&&ue[on[_a]]&(L|s);_a--)qe(on[_a],I);for(Or++;Or=0&&ue[on[uo]]&s;uo--)qe(on[uo],N);for(var fs=kn+1;fs=0;Qs--){var TS=al[Qs].char;if(TS===Z0||TS===w(C(Ha))||A(C(TS))===Ha){ro.push([al[Qs].seqIndex,$a]),al.length=Qs;break}}}ro.sort(function(af,Ym){return af[0]-Ym[0]});for(var xA=0;xA=0;V5--){var jO=on[V5];if(ue[jO]&rc){var $O=ue[jO]&ta?T:E;f1=$O===zi?zi:$O;break}}}if(f1){if(ue[on[_5]]=ue[on[H5]]=f1,f1!==zi){for(var kS=_5+1;kS=0;PS--)if(ue[on[PS]]&s)qY=PS;else{zv=ue[on[PS]]&ta?T:E;break}for(var G5=Pi,_v=n2+1;_v=0&&d(be[Z5])&l;Z5--)Me[Z5]=K.level}}return{levels:Me,paragraphs:ee};function eF(af,Ym){for(var sf=af;sf=Me&&d(be[K])&l;K--)ee[K]=qe.level;for(var we=qe.level,ze=1/0,tt=0;ttwe&&(we=Pe),Pe=ze;Ke--)for(var Ue=0;Ue=Ke){for(var Ze=Ue;Ue+1=Ke;)Ue++;Ue>Ze&&se.push([Ze+Me,Ue+Me])}}}),se}function Le(be,ye,ce,ue){var ke=Ne(be,ye,ce,ue),se=[].concat(be);return ke.forEach(function(qe,Me){se[Me]=(ye.levels[qe]&1?Ee(be[qe]):null)||be[qe]}),se.join("")}function Ne(be,ye,ce,ue){for(var ke=Re(be,ye,ce,ue),se=[],qe=0;qe=0;r--){let o=sNe.getBidiCharTypeName(e[r].text[0]);ASr.has(o)?(e[r].level=t,n=!0):n&&xSr.has(o)?e[r].level=t:n=!1}}function CSr(e,t){let n=t,r=1/0;for(let{level:a}of e)a>n&&(n=a),(a|1)=r;a--)for(let i=0;i=a;)s++;for(let l=i,c=s;lt>=n.start&&t<=n.end)?.level??0}function TSr(e,t,n,r,o){let a=wSr(e,t,r,o);SSr(a,n);let i="",s=[];for(let l of CSr(a,n)){if(bSr.test(l.text))continue;let c=ESr(l);i+=c,s.push(...Array(c.length).fill(l.index))}return{text:i,sourceIndices:s}}function kSr(e,t){let n=t.filter((a)=>a>0&&aa-i),o=[];for(let a=0;a+1o.start))).map(([o,a])=>TSr(e,n,ISr(r,o),o,a))}function RSr(e,t){return Lln(e,t).map((n)=>n.text)}function PSr(e,t,n){return Lln(e,n).map((r)=>[r.text,r.sourceIndices.map((o)=>t[o]??0)])}function MSr(e,t,n){let r=n.buf,o,a;if(a=r[n.pos++],o=(a&112)>>4,a<128||(a=r[n.pos++],o|=(a&127)<<3,a<128)||(a=r[n.pos++],o|=(a&127)<<10,a<128)||(a=r[n.pos++],o|=(a&127)<<17,a<128)||(a=r[n.pos++],o|=(a&127)<<24,a<128)||(a=r[n.pos++],o|=(a&1)<<31,a<128))return DSr(e,o,t);throw Error("Expected varint not more than 10 bytes")}function DSr(e,t,n){return n?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function LSr(e,t,n){let r="",o=t;for(;o239?4:a>223?3:a>191?2:1;if(o+s>n)break;let l,c,u;s===1?a<128&&(i=a):s===2?(l=e[o+1],(l&192)==128&&(i=(a&31)<<6|l&63,i<=127&&(i=null))):s===3?(l=e[o+1],c=e[o+2],(l&192)==128&&(c&192)==128&&(i=(a&15)<<12|(l&63)<<6|c&63,(i<=2047||i>=55296&&i<=57343)&&(i=null))):s===4&&(l=e[o+1],c=e[o+2],u=e[o+3],(l&192)==128&&(c&192)==128&&(u&192)==128&&(i=(a&15)<<18|(l&63)<<12|(c&63)<<6|u&63,(i<=65535||i>=1114112)&&(i=null))),i===null?(i=65533,s=1):i>65535&&(i-=65536,r+=String.fromCharCode(i>>>10&1023|55296),i=56320|i&1023),r+=String.fromCharCode(i),o+=s}return r}function BSr(e,t,n){e===1&&n.readMessage(OSr,t)}function OSr(e,t,n){if(e===3){let{id:r,bitmap:o,width:a,height:i,left:s,top:l,advance:c}=n.readMessage(FSr,{});t.push({id:r,bitmap:new Xfe({width:a+6,height:i+6},o),metrics:{width:a,height:i,left:s,top:l,advance:c}})}}function FSr(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function Oln(e){return new Bln(e).readFields(BSr,[])}function TQ(e){return typeof e?.renderWithWebGL=="function"}function Fln(e){let{userImage:t}=e;return!t?.render||!t.render()?!1:(TQ(t.data)||e.data.replace(new Uint8Array(t.data.buffer)),!0)}function lNe(e){let t=0,n=0;for(let i of e)t+=i.w*i.h,n=Math.max(n,i.w);e.sort((i,s)=>s.h-i.h);let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/0.95)),n),h:1/0}],o=0,a=0;for(let i of e)for(let s=r.length-1;s>=0;s--){let l=r[s];if(!(i.w>l.w||i.h>l.h)){if(i.x=l.x,i.y=l.y,a=Math.max(a,i.y+i.h),o=Math.max(o,i.x+i.w),i.w===l.w&&i.h===l.h){let c=r.pop();c&&s=n;a--)t.push(a);n=r+1}else{for(let a=n;ae.toCodeUnitIndex(a)),r=lfe.isParsed()?lfe:null;if(e.sections.length===1)return r?r.processBidirectionalText(e.toString(),n).map((a)=>Ean(a,e.sections,[...a].map(()=>0))):RSr(e.toString(),n).map((a)=>tUe([...a],e.sections,[...a].map(()=>0)));let o=HSr(e);return r?r.processStyledBidirectionalText(e.text,o,n).map(([a,i])=>Ean(a,e.sections,i)):PSr(e.text,o,n).map(([a,i])=>{let s=[...a];return tUe(s,e.sections,Nln(s).map((l)=>i[l]??0))})}function tUe(e,t,n){let r=new iNe(e.join(""),t,[]),o=0;for(let a of r.graphemes())r.sectionIndex.push(n[o]??0),o+=[...a].length;return r}function Nln(e){let t=[],n=0;for(let r of e)t.push(n),n+=r.length;return t}function Ean(e,t,n){let r=[...e],o=Nln(r),a=_Sr(r);return tUe(a.map((i)=>r[i]),t,a.map((i)=>n[o[i]]??0))}function zpe(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m){let g=iNe.fromFeature(e,o);d===2&&g.verticalizePunctuation();let v=g.determineLineBreaks(c,a,t,r,f),y=Mln(g.text)?VSr(g,v):zSr(g,v),x=[],A={positionedLines:x,text:g.toString(),top:u[1],bottom:u[1],left:u[0],right:u[0],writingMode:d,iconsInText:!1,verticalizable:!1};return JSr(A,t,n,r,y,i,s,l,d,c,p,m),!NSr(x)&&A}function kQ(e){let t=0.5,n=0.5;switch(e){case"right":case"top-right":case"bottom-right":t=1;break;case"left":case"top-left":case"bottom-left":t=0}switch(e){case"bottom":case"bottom-right":case"bottom-left":n=1;break;case"top":case"top-right":case"top-left":n=0}return{horizontalAlign:t,verticalAlign:n}}function GSr(e,t,n){let r=t.getMaxScale()*24,{maxImageWidth:o,maxImageHeight:a}=t.getMaxImageSize(e),i=Math.max(r,a*n);return{verticalLineContentWidth:Math.max(r,o*n),horizontalLineContentHeight:i}}function zln(e){switch(e){case"top":return 0;case"center":return 0.5;default:return 1}}function qSr(e,t,n,r){if(e?.rect)return e;let o=t[n.fontStack]?.default?.[r];return o?{rect:null,metrics:o.metrics}:null}function ZSr(e,t,n){return!(e===1||!t&&!jfe(n)||t&&(aNe(n)||Rln(n)))}function Qpe(e){return/\p{Nd}/u.test(String.fromCodePoint(e))}function _ln(e){return/\p{Lu}/u.test(String.fromCodePoint(e))}function QSr(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function XSr(e){let t=e.some(Qpe)&&e.every((r)=>Qpe(r)||QSr(r)),n=e.length<=3&&e.every((r)=>_ln(r)||Qpe(r));return t||n}function WSr(e){return(Qpe(e)||_ln(e))&&!Rln(e)}function YSr(e,t){let n=!1;for(let r=0;ra.codePointAt(0)),r=n.map(jfe),o=(a)=>!r[a]&&!aNe(n[a])&&!("imageName"in e.getSection(a));for(let a=0;ac){let u=Math.ceil(r/c);n*=u/o,o=u}return{x1:t,y1:n,x2:t+r,y2:n+o}}function Ian(e,t,n,r,o,a){let i=e.image,s;if(i.content){let v=i.content,y=i.pixelRatio||1;s=[v[0]/y,v[1]/y,i.displaySize[0]-v[2]/y,i.displaySize[1]-v[3]/y]}let l=t.left*a,c=t.right*a,u,d,p,f;n==="width"||n==="both"?(f=o[0]+l-r[3],d=o[0]+c+r[1]):(f=o[0]+(l+c-i.displaySize[0])/2,d=f+i.displaySize[0]);let m=t.top*a,g=t.bottom*a;return n==="height"||n==="both"?(u=o[1]+m-r[0],p=o[1]+g+r[2]):(u=o[1]+(m+g-i.displaySize[1])/2,p=u+i.displaySize[1]),{image:i,top:u,right:d,bottom:p,left:f,collisionPadding:s}}function kan(e,t){let{expression:n}=t;if(n.kind==="constant")return{kind:"constant",layoutSize:n.evaluate(new oi(e+1))};if(n.kind==="source")return{kind:"source"};if(n.kind==="composite"){let{minZoom:r,maxZoom:o}=r4r(n.zoomStops,e);return{kind:"composite",minZoom:r,maxZoom:o,interpolationType:n.interpolationType}}{let r=o4r(n),o=n.evaluate(new oi(e+1));return{kind:"camera",zoomStops:n.zoomStops,sizes:r,layoutSize:o,interpolationType:n.interpolationType}}}function r4r(e,t){let n=0;for(;ne.evaluate(new oi(t===-1/0?e.zoomStops[1]-1:t)))}function eme(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:o}){return e.kind==="source"?r/128:e.kind==="composite"?Hs.number(r/128,o/128,n):t}function RQ(e,t){let n=0,r=0;return e.kind==="constant"?r=e.layoutSize:e.kind==="camera"?r=a4r(e,t):e.kind==="composite"&&(n=i4r(e,t)),{uSizeT:n,uSize:r}}function a4r({zoomStops:e,sizes:t,layoutSize:n,interpolationType:r},o){let a=e.length-1;for(;a>0&&e[a]>o;)a--;let i=Math.min(a+1,e.length-1),s=r?qr(Dy.interpolationFactor(r,o,e[a],e[i]),0,1):0;return Math.min(Hs.number(t[a],t[i],s),n)}function i4r({interpolationType:e,minZoom:t,maxZoom:n},r){return e?qr(Dy.interpolationFactor(e,r,t,n),0,1):0}function Vln(e,t,n,r,o){if(t.segment===void 0||n===0)return!0;let a=t,i=t.segment+1,s=0;for(;s>-n/2;){if(i--,i<0)return!1;s-=e[i].dist(a),a=e[i]}s+=e[i].dist(e[i+1]),i++;let l=[],c=0;for(;sr;)c-=l.shift().angleDelta;if(c>o)return!1;i++,s+=d.dist(p)}return!0}function Gln(e){let t=0;for(let n=0;nc){let m=(c-l)/f,g=new DL(Hs.number(d.x,p.x,m),Hs.number(d.y,p.y,m),p.angleTo(d),u);return g._round(),!i||Vln(e,g,s,i,t)?g:void 0}l+=f}}function l4r(e,t,n,r,o,a,i,s,l){let c=qln(r,a,i),u=Zln(r,o),d=u*i,p=e[0].x===0||e[0].x===l||e[0].y===0||e[0].y===l;t-d=0&&w=0&&C=0&&p+c<=u){let E=new DL(w,C,x,m);E._round(),(!r||Vln(e,E,a,r,o))&&f.push(E)}}d+=y}return!s&&!f.length&&!i&&(f=Qln(e,d/2,n,r,o,a,i,!0,l)),f}function cNe(e,t,n,r,o){let a=[];for(let i of e){let s;for(let l=0;l=r&&u.x>=r)&&(c.x>=r?c=new ft(r,c.y+(u.y-c.y)*((r-c.x)/(u.x-c.x)))._round():u.x>=r&&(u=new ft(r,c.y+(u.y-c.y)*((r-c.x)/(u.x-c.x)))._round()),!(c.y>=o&&u.y>=o)&&(c.y>=o?c=new ft(c.x+(u.x-c.x)*((o-c.y)/(u.y-c.y)),o)._round():u.y>=o&&(u=new ft(c.x+(u.x-c.x)*((o-c.y)/(u.y-c.y)),o)._round()),(!s||!c.equals(s[s.length-1]))&&(s=[c],a.push(s)),s.push(u)))))}}return a}function Ran(e,t,n,r){let o=[],a=e.image,i=a.pixelRatio,s=a.paddedRect.w-2,l=a.paddedRect.h-2,c={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},u=a.stretchX||[[0,s]],d=a.stretchY||[[0,l]],p=(D,N)=>D+N[1]-N[0],f=u.reduce(p,0),m=d.reduce(p,0),g=s-f,v=l-m,y=0,x=f,A=0,w=m,C=0,E=g,T=0,I=v;if(a.content&&r){let D=a.content,N=D[2]-D[0],_=D[3]-D[1];(a.textFitWidth||a.textFitHeight)&&(c=Hln(e)),y=_pe(u,0,D[0]),A=_pe(d,0,D[1]),x=_pe(u,D[0],D[2]),w=_pe(d,D[1],D[3]),C=D[0]-y,T=D[1]-A,E=N-x,I=_-w}let k=c.x1,L=c.y1,O=c.x2-k,B=c.y2-L,U=(D,N,_,G)=>{let Z=Hpe(D.stretch-y,x,O,k),q=Vpe(D.fixed-C,E,D.stretch,f),H=Hpe(N.stretch-A,w,B,L),te=Vpe(N.fixed-T,I,N.stretch,m),ie=Hpe(_.stretch-y,x,O,k),j=Vpe(_.fixed-C,E,_.stretch,f),oe=Hpe(G.stretch-A,w,B,L),J=Vpe(G.fixed-T,I,G.stretch,m),Y=new ft(Z,H),ae=new ft(ie,H),ne=new ft(ie,oe),Se=new ft(Z,oe),fe=new ft(q/i,te/i),Ae=new ft(j/i,J/i),Ee=t*Math.PI/180;if(Ee){let be=Math.sin(Ee),ye=Math.cos(Ee),ce=[ye,-be,be,ye];Y._matMult(ce),ae._matMult(ce),Se._matMult(ce),ne._matMult(ce)}let pe=D.stretch+D.fixed,Re=_.stretch+_.fixed,Le=N.stretch+N.fixed,Ne=G.stretch+G.fixed;return{tl:Y,tr:ae,bl:Se,br:ne,tex:{x:a.paddedRect.x+1+pe,y:a.paddedRect.y+1+Le,w:Re-pe,h:Ne-Le},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:fe,pixelOffsetBR:Ae,minFontScaleX:E/i/O,minFontScaleY:I/i/B,isSDF:n}};if(!r||!a.stretchX&&!a.stretchY)o.push(U({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:s+1},{fixed:0,stretch:l+1}));else{let D=Pan(u,g,f),N=Pan(d,v,m);for(let _=0;_d.d||!d.d)&&(d=p),!(p.max-d.d<=t)&&(o=p.h/2,a.push(new CL(p.p.x-o,p.p.y-o,o,e)),a.push(new CL(p.p.x+o,p.p.y-o,o,e)),a.push(new CL(p.p.x-o,p.p.y+o,o,e)),a.push(new CL(p.p.x+o,p.p.y+o,o,e)))}return u.d>0&&d.d-u.d<=t?u.p:d.p}function p4r(e,t){return t.max-e.max}function f4r(e,t){let n=!1,r=1/0;for(let o of t)for(let a=0,i=o.length,s=i-1;ae.y!=c.y>e.y&&e.x<(c.x-l.x)*(e.y-l.y)/(c.y-l.y)+l.x&&(n=!n),r=Math.min(r,Jsn(e,l,c))}return(n?1:-1)*Math.sqrt(r)}function m4r(e){let t=0,n=0,r=0,o=e[0];for(let a=0,i=o.length,s=i-1;ad*24);c.startsWith("top")?u[1]-=7:c.startsWith("bottom")&&(u[1]+=7),s[l+1]=u}return new Hx(s)}let a=r.get("text-variable-anchor");if(a){let i;i=e._unevaluatedLayout.getValue("text-radial-offset")===void 0?r.get("text-offset").evaluate(t,{},n).map((l)=>l*24):[r.get("text-radial-offset").evaluate(t,{},n)*24,uNe];let s=[];for(let l of a)s.push(l,Xln(l,i));return new Hx(s)}return null}function h4r(e){e.bucket.createArrays();let t=512*e.bucket.overscaling;e.bucket.tilePixelRatio=Ut/t,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let n=e.bucket.layers[0],r=n.layout,o=n._unevaluatedLayout._values,a={layoutIconSize:o["icon-size"].possiblyEvaluate(new oi(e.bucket.zoom+1),e.canonical),layoutTextSize:o["text-size"].possiblyEvaluate(new oi(e.bucket.zoom+1),e.canonical),textMaxSize:o["text-size"].possiblyEvaluate(new oi(18))};if(e.bucket.textSizeData.kind==="composite"){let{minZoom:u,maxZoom:d}=e.bucket.textSizeData;a.compositeTextSizes=[o["text-size"].possiblyEvaluate(new oi(u),e.canonical),o["text-size"].possiblyEvaluate(new oi(d),e.canonical)]}if(e.bucket.iconSizeData.kind==="composite"){let{minZoom:u,maxZoom:d}=e.bucket.iconSizeData;a.compositeIconSizes=[o["icon-size"].possiblyEvaluate(new oi(u),e.canonical),o["icon-size"].possiblyEvaluate(new oi(d),e.canonical)]}let i=r.get("text-line-height")*24,s=r.get("text-rotation-alignment")!=="viewport"&&r.get("symbol-placement")!=="point",l=r.get("text-keep-upright"),c=r.get("text-size");for(let u of e.bucket.features){let d=r.get("text-font").evaluate(u,{},e.canonical).join(","),p=c.evaluate(u,{},e.canonical),f=a.layoutTextSize.evaluate(u,{},e.canonical),m=a.layoutIconSize.evaluate(u,{},e.canonical),g={horizontal:{},vertical:void 0},v=u.text,y=[0,0];if(v){let C=v.toString(),E=r.get("text-letter-spacing").evaluate(u,{},e.canonical)*24,T=pSr(C)?E:0,I=r.get("text-anchor").evaluate(u,{},e.canonical),k=Wln(n,u,e.canonical);if(!k){let U=r.get("text-radial-offset").evaluate(u,{},e.canonical);y=U?Xln(I,[U*24,uNe]):r.get("text-offset").evaluate(u,{},e.canonical).map((D)=>D*24)}let L=s?"center":r.get("text-justify").evaluate(u,{},e.canonical),O=r.get("symbol-placement")==="point"?r.get("text-max-width").evaluate(u,{},e.canonical)*24:1/0,B=()=>{e.bucket.allowVerticalPlacement&&$Fe(C)&&(g.vertical=zpe(v,e.glyphMap,e.glyphPositions,e.imagePositions,d,O,i,I,"left",T,y,2,!0,f,p))};if(!s&&k){let U=new Set;if(L==="auto")for(let N=0;N{Z.x<0||Z.x>=8192||Z.y<0||Z.y>=8192||v4r(e,Z,G,n,r,o,D,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,x,[E,E,E,E],k,l,w,T,L,g,t,a,c,u,i,p)};if(O==="line")for(let G of cNe(t.geometry,0,0,Ut,Ut)){let Z=UT(G,N),q=l4r(Z,C,I,n.vertical||v,r,24,A,e.overscaling,Ut);for(let H of q){let te=v;(!te||!b4r(e,te.text,B,H))&&_(Z,H)}}else if(O==="line-center"){for(let G of t.geometry)if(G.length>1){let Z=UT(G,N),q=s4r(Z,I,n.vertical||v,r,24,A);q&&_(Z,q)}}else if(t.type==="Polygon")for(let G of Dfe(t.geometry,0)){let Z=d4r(G,16);_(UT(G[0],N,!0),new DL(Z.x,Z.y,0))}else if(t.type==="LineString")for(let G of t.geometry){let Z=UT(G,N);_(Z,new DL(Z[0].x,Z[0].y,0))}else if(t.type==="Point")for(let G of t.geometry)for(let Z of G)_([Z],new DL(Z.x,Z.y,0))}function y4r(e,t){let n=e.length,r=t?.values;if(r?.length>0)for(let o=0;o32640&&Ko(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):y.kind==="composite"&&(x=[128*m.compositeTextSizes[0].evaluate(i,{},g),128*m.compositeTextSizes[1].evaluate(i,{},g)],(x[0]>32640||x[1]>32640)&&Ko(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,v,x,s,a,i,u,t,c.lineStartIndex,c.lineLength,f,g,l);for(let A of d)p[A]=e.text.placedSymbolArray.length-1;return v.length*4}function Yln(e){for(let t in e)return e[t];return null}function v4r(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x,A,w,C,E,T,I,k){let L=e.addToLineVertexArray(t,n),O=s.layout.get("symbol-height-offset").evaluate(w,{},T);O>e.maxHeightOffset&&(e.maxHeightOffset=O);let B,U,D,N,_=0,G=0,Z=0,q=0,H=-1,te=-1,ie={},j=(0,ofe.default)("");if(e.allowVerticalPlacement&&r.vertical){let ce=s.layout.get("text-rotate").evaluate(w,{},T)+90,ue=r.vertical;D=new Gpe(l,t,c,u,d,ue,p,f,m,ce),i&&(N=new Gpe(l,t,c,u,d,i,v,y,m,ce))}if(o){let ce=s.layout.get("icon-rotate").evaluate(w,{}),ue=s.layout.get("icon-text-fit")!=="none",ke=Ran(o,ce,E,ue),se=i?Ran(i,ce,E,ue):void 0;U=new Gpe(l,t,c,u,d,o,v,y,!1,ce),_=ke.length*4;let qe=e.iconSizeData,Me=null;qe.kind==="source"?(Me=[128*s.layout.get("icon-size").evaluate(w,{})],Me[0]>32640&&Ko(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):qe.kind==="composite"&&(Me=[128*C.compositeIconSizes[0].evaluate(w,{},T),128*C.compositeIconSizes[1].evaluate(w,{},T)],(Me[0]>32640||Me[1]>32640)&&Ko(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,ke,Me,A,x,w,0,t,L.lineStartIndex,L.lineLength,-1,T,O),H=e.icon.placedSymbolArray.length-1,se&&(G=se.length*4,e.addSymbols(e.icon,se,Me,A,x,w,2,t,L.lineStartIndex,L.lineLength,-1,T,O),te=e.icon.placedSymbolArray.length-1)}let oe=Object.keys(r.horizontal);for(let ce of oe){let ue=r.horizontal[ce];B||=(j=(0,ofe.default)(ue.text),new Gpe(l,t,c,u,d,ue,p,f,m,s.layout.get("text-rotate").evaluate(w,{},T)));let ke=ue.positionedLines.length===1;if(Z+=Man(e,t,ue,a,s,m,w,g,O,L,r.vertical?1:3,ke?oe:[ce],ie,H,C,T),ke)break}r.vertical&&(q+=Man(e,t,r.vertical,a,s,m,w,g,O,L,2,["vertical"],ie,te,C,T));let J=B?B.boxStartIndex:e.collisionBoxArray.length,Y=B?B.boxEndIndex:e.collisionBoxArray.length,ae=D?D.boxStartIndex:e.collisionBoxArray.length,ne=D?D.boxEndIndex:e.collisionBoxArray.length,Se=U?U.boxStartIndex:e.collisionBoxArray.length,fe=U?U.boxEndIndex:e.collisionBoxArray.length,Ae=N?N.boxStartIndex:e.collisionBoxArray.length,Ee=N?N.boxEndIndex:e.collisionBoxArray.length,pe=-1,Re=(ce,ue)=>ce?.circleDiameter?Math.max(ce.circleDiameter,ue):ue;pe=Re(B,pe),pe=Re(D,pe),pe=Re(U,pe),pe=Re(N,pe);let Le=+(pe>-1);Le&&(pe*=I/24),e.glyphOffsetArray.length>=e.maxGlyphs&&Ko("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),w.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey);let Ne=Wln(s,w,T),[be,ye]=y4r(e.textAnchorOffsets,Ne);k&&(j=x4r(j,w)),e.symbolInstances.emplaceBack(t.x,t.y,ie.right>=0?ie.right:-1,ie.center>=0?ie.center:-1,ie.left>=0?ie.left:-1,ie.vertical||-1,H,te,j,J,Y,ae,ne,Se,fe,Ae,Ee,c,Z,q,_,G,Le,0,p,pe,be,ye,O)}function b4r(e,t,n,r){let o=e.compareText;if(!(t in o))o[t]=[];else{let a=o[t];for(let i=a.length-1;i>=0;i--)if(r.dist(a[i])e&&(r in e)?String(e[r]):"")}function R4r(e,t,n,r=1){let o=e.get("icon-padding").evaluate(t,{},n)?.values;return[o[0]*r,o[1]*r,o[2]*r,o[3]*r]}function jln(e){let t=[],n=e.id;return n===void 0&&t.push(new jt(`layers.${n}`,null,'missing required property "id"')),e.render===void 0&&t.push(new jt(`layers.${n}`,null,'missing required method "render"')),e.renderingMode&&e.renderingMode!=="2d"&&e.renderingMode!=="3d"&&t.push(new jt(`layers.${n}`,null,'property "renderingMode" must be either "2d" or "3d"')),t}function nme(e,t){if(e.type==="custom")return new B4r(e,t);switch(e.type){case"background":return new L4r(e,t);case"circle":return new u3r(e,t);case"color-relief":return new S3r(e,t);case"fill":return new nwr(e,t);case"fill-extrusion":return new wwr(e,t);case"heatmap":return new m3r(e,t);case"hillshade":return new v3r(e,t);case"line":return new Fwr(e,t);case"raster":return new IAr(e,t);case"symbol":return new k4r(e,t)}}function U4r(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}function pNe(e,t){let{x:n,y:r}=ai.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)}function HT(e,t,n,r,o){e*=2,e<0&&(e=e*-1-1);let a=1<0;o--){let a=1<>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function q4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0;n[o++]=a>>>0&3,n[o++]=a>>>2&3,n[o++]=a>>>4&3,n[o++]=a>>>6&3,n[o++]=a>>>8&3,n[o++]=a>>>10&3,n[o++]=a>>>12&3,n[o++]=a>>>14&3,n[o++]=a>>>16&3,n[o++]=a>>>18&3,n[o++]=a>>>20&3,n[o++]=a>>>22&3,n[o++]=a>>>24&3,n[o++]=a>>>26&3,n[o++]=a>>>28&3,n[o++]=a>>>30&3,n[o++]=i>>>0&3,n[o++]=i>>>2&3,n[o++]=i>>>4&3,n[o++]=i>>>6&3,n[o++]=i>>>8&3,n[o++]=i>>>10&3,n[o++]=i>>>12&3,n[o++]=i>>>14&3,n[o++]=i>>>16&3,n[o++]=i>>>18&3,n[o++]=i>>>20&3,n[o++]=i>>>22&3,n[o++]=i>>>24&3,n[o++]=i>>>26&3,n[o++]=i>>>28&3,n[o]=i>>>30&3}function Z4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0;n[o++]=a>>>0&7,n[o++]=a>>>3&7,n[o++]=a>>>6&7,n[o++]=a>>>9&7,n[o++]=a>>>12&7,n[o++]=a>>>15&7,n[o++]=a>>>18&7,n[o++]=a>>>21&7,n[o++]=a>>>24&7,n[o++]=a>>>27&7,n[o++]=(a>>>30|(i&1)<<2)&7,n[o++]=i>>>1&7,n[o++]=i>>>4&7,n[o++]=i>>>7&7,n[o++]=i>>>10&7,n[o++]=i>>>13&7,n[o++]=i>>>16&7,n[o++]=i>>>19&7,n[o++]=i>>>22&7,n[o++]=i>>>25&7,n[o++]=i>>>28&7,n[o++]=(i>>>31|(s&3)<<1)&7,n[o++]=s>>>2&7,n[o++]=s>>>5&7,n[o++]=s>>>8&7,n[o++]=s>>>11&7,n[o++]=s>>>14&7,n[o++]=s>>>17&7,n[o++]=s>>>20&7,n[o++]=s>>>23&7,n[o++]=s>>>26&7,n[o]=s>>>29&7}function Q4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0;n[o++]=a>>>0&15,n[o++]=a>>>4&15,n[o++]=a>>>8&15,n[o++]=a>>>12&15,n[o++]=a>>>16&15,n[o++]=a>>>20&15,n[o++]=a>>>24&15,n[o++]=a>>>28&15,n[o++]=i>>>0&15,n[o++]=i>>>4&15,n[o++]=i>>>8&15,n[o++]=i>>>12&15,n[o++]=i>>>16&15,n[o++]=i>>>20&15,n[o++]=i>>>24&15,n[o++]=i>>>28&15,n[o++]=s>>>0&15,n[o++]=s>>>4&15,n[o++]=s>>>8&15,n[o++]=s>>>12&15,n[o++]=s>>>16&15,n[o++]=s>>>20&15,n[o++]=s>>>24&15,n[o++]=s>>>28&15,n[o++]=l>>>0&15,n[o++]=l>>>4&15,n[o++]=l>>>8&15,n[o++]=l>>>12&15,n[o++]=l>>>16&15,n[o++]=l>>>20&15,n[o++]=l>>>24&15,n[o]=l>>>28&15}function X4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0;n[o++]=a>>>0&31,n[o++]=a>>>5&31,n[o++]=a>>>10&31,n[o++]=a>>>15&31,n[o++]=a>>>20&31,n[o++]=a>>>25&31,n[o++]=(a>>>30|(i&7)<<2)&31,n[o++]=i>>>3&31,n[o++]=i>>>8&31,n[o++]=i>>>13&31,n[o++]=i>>>18&31,n[o++]=i>>>23&31,n[o++]=(i>>>28|(s&1)<<4)&31,n[o++]=s>>>1&31,n[o++]=s>>>6&31,n[o++]=s>>>11&31,n[o++]=s>>>16&31,n[o++]=s>>>21&31,n[o++]=s>>>26&31,n[o++]=(s>>>31|(l&15)<<1)&31,n[o++]=l>>>4&31,n[o++]=l>>>9&31,n[o++]=l>>>14&31,n[o++]=l>>>19&31,n[o++]=l>>>24&31,n[o++]=(l>>>29|(c&3)<<3)&31,n[o++]=c>>>2&31,n[o++]=c>>>7&31,n[o++]=c>>>12&31,n[o++]=c>>>17&31,n[o++]=c>>>22&31,n[o]=c>>>27&31}function W4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0;n[o++]=a>>>0&63,n[o++]=a>>>6&63,n[o++]=a>>>12&63,n[o++]=a>>>18&63,n[o++]=a>>>24&63,n[o++]=(a>>>30|(i&15)<<2)&63,n[o++]=i>>>4&63,n[o++]=i>>>10&63,n[o++]=i>>>16&63,n[o++]=i>>>22&63,n[o++]=(i>>>28|(s&3)<<4)&63,n[o++]=s>>>2&63,n[o++]=s>>>8&63,n[o++]=s>>>14&63,n[o++]=s>>>20&63,n[o++]=s>>>26&63,n[o++]=l>>>0&63,n[o++]=l>>>6&63,n[o++]=l>>>12&63,n[o++]=l>>>18&63,n[o++]=l>>>24&63,n[o++]=(l>>>30|(c&15)<<2)&63,n[o++]=c>>>4&63,n[o++]=c>>>10&63,n[o++]=c>>>16&63,n[o++]=c>>>22&63,n[o++]=(c>>>28|(u&3)<<4)&63,n[o++]=u>>>2&63,n[o++]=u>>>8&63,n[o++]=u>>>14&63,n[o++]=u>>>20&63,n[o]=u>>>26&63}function Y4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0;n[o++]=a>>>0&127,n[o++]=a>>>7&127,n[o++]=a>>>14&127,n[o++]=a>>>21&127,n[o++]=(a>>>28|(i&7)<<4)&127,n[o++]=i>>>3&127,n[o++]=i>>>10&127,n[o++]=i>>>17&127,n[o++]=i>>>24&127,n[o++]=(i>>>31|(s&63)<<1)&127,n[o++]=s>>>6&127,n[o++]=s>>>13&127,n[o++]=s>>>20&127,n[o++]=(s>>>27|(l&3)<<5)&127,n[o++]=l>>>2&127,n[o++]=l>>>9&127,n[o++]=l>>>16&127,n[o++]=l>>>23&127,n[o++]=(l>>>30|(c&31)<<2)&127,n[o++]=c>>>5&127,n[o++]=c>>>12&127,n[o++]=c>>>19&127,n[o++]=(c>>>26|(u&1)<<6)&127,n[o++]=u>>>1&127,n[o++]=u>>>8&127,n[o++]=u>>>15&127,n[o++]=u>>>22&127,n[o++]=(u>>>29|(d&15)<<3)&127,n[o++]=d>>>4&127,n[o++]=d>>>11&127,n[o++]=d>>>18&127,n[o]=d>>>25&127}function K4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,p=e[t+7]>>>0;n[o++]=a>>>0&255,n[o++]=a>>>8&255,n[o++]=a>>>16&255,n[o++]=a>>>24&255,n[o++]=i>>>0&255,n[o++]=i>>>8&255,n[o++]=i>>>16&255,n[o++]=i>>>24&255,n[o++]=s>>>0&255,n[o++]=s>>>8&255,n[o++]=s>>>16&255,n[o++]=s>>>24&255,n[o++]=l>>>0&255,n[o++]=l>>>8&255,n[o++]=l>>>16&255,n[o++]=l>>>24&255,n[o++]=c>>>0&255,n[o++]=c>>>8&255,n[o++]=c>>>16&255,n[o++]=c>>>24&255,n[o++]=u>>>0&255,n[o++]=u>>>8&255,n[o++]=u>>>16&255,n[o++]=u>>>24&255,n[o++]=d>>>0&255,n[o++]=d>>>8&255,n[o++]=d>>>16&255,n[o++]=d>>>24&255,n[o++]=p>>>0&255,n[o++]=p>>>8&255,n[o++]=p>>>16&255,n[o]=p>>>24&255}function J4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0;n[o++]=a>>>0&511,n[o++]=a>>>9&511,n[o++]=a>>>18&511,n[o++]=(a>>>27|(i&15)<<5)&511,n[o++]=i>>>4&511,n[o++]=i>>>13&511,n[o++]=i>>>22&511,n[o++]=(i>>>31|(s&255)<<1)&511,n[o++]=s>>>8&511,n[o++]=s>>>17&511,n[o++]=(s>>>26|(l&7)<<6)&511,n[o++]=l>>>3&511,n[o++]=l>>>12&511,n[o++]=l>>>21&511,n[o++]=(l>>>30|(c&127)<<2)&511,n[o++]=c>>>7&511,n[o++]=c>>>16&511,n[o++]=(c>>>25|(u&3)<<7)&511,n[o++]=u>>>2&511,n[o++]=u>>>11&511,n[o++]=u>>>20&511,n[o++]=(u>>>29|(d&63)<<3)&511,n[o++]=d>>>6&511,n[o++]=d>>>15&511,n[o++]=(d>>>24|(p&1)<<8)&511,n[o++]=p>>>1&511,n[o++]=p>>>10&511,n[o++]=p>>>19&511,n[o++]=(p>>>28|(f&31)<<4)&511,n[o++]=f>>>5&511,n[o++]=f>>>14&511,n[o]=f>>>23&511}function j4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,m=e[t+9]>>>0;n[o++]=a>>>0&1023,n[o++]=a>>>10&1023,n[o++]=a>>>20&1023,n[o++]=(a>>>30|(i&255)<<2)&1023,n[o++]=i>>>8&1023,n[o++]=i>>>18&1023,n[o++]=(i>>>28|(s&63)<<4)&1023,n[o++]=s>>>6&1023,n[o++]=s>>>16&1023,n[o++]=(s>>>26|(l&15)<<6)&1023,n[o++]=l>>>4&1023,n[o++]=l>>>14&1023,n[o++]=(l>>>24|(c&3)<<8)&1023,n[o++]=c>>>2&1023,n[o++]=c>>>12&1023,n[o++]=c>>>22&1023,n[o++]=u>>>0&1023,n[o++]=u>>>10&1023,n[o++]=u>>>20&1023,n[o++]=(u>>>30|(d&255)<<2)&1023,n[o++]=d>>>8&1023,n[o++]=d>>>18&1023,n[o++]=(d>>>28|(p&63)<<4)&1023,n[o++]=p>>>6&1023,n[o++]=p>>>16&1023,n[o++]=(p>>>26|(f&15)<<6)&1023,n[o++]=f>>>4&1023,n[o++]=f>>>14&1023,n[o++]=(f>>>24|(m&3)<<8)&1023,n[o++]=m>>>2&1023,n[o++]=m>>>12&1023,n[o]=m>>>22&1023}function $4r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,m=e[t+9]>>>0,g=e[t+10]>>>0;n[o++]=a>>>0&2047,n[o++]=a>>>11&2047,n[o++]=(a>>>22|(i&1)<<10)&2047,n[o++]=i>>>1&2047,n[o++]=i>>>12&2047,n[o++]=(i>>>23|(s&3)<<9)&2047,n[o++]=s>>>2&2047,n[o++]=s>>>13&2047,n[o++]=(s>>>24|(l&7)<<8)&2047,n[o++]=l>>>3&2047,n[o++]=l>>>14&2047,n[o++]=(l>>>25|(c&15)<<7)&2047,n[o++]=c>>>4&2047,n[o++]=c>>>15&2047,n[o++]=(c>>>26|(u&31)<<6)&2047,n[o++]=u>>>5&2047,n[o++]=u>>>16&2047,n[o++]=(u>>>27|(d&63)<<5)&2047,n[o++]=d>>>6&2047,n[o++]=d>>>17&2047,n[o++]=(d>>>28|(p&127)<<4)&2047,n[o++]=p>>>7&2047,n[o++]=p>>>18&2047,n[o++]=(p>>>29|(f&255)<<3)&2047,n[o++]=f>>>8&2047,n[o++]=f>>>19&2047,n[o++]=(f>>>30|(m&511)<<2)&2047,n[o++]=m>>>9&2047,n[o++]=m>>>20&2047,n[o++]=(m>>>31|(g&1023)<<1)&2047,n[o++]=g>>>10&2047,n[o]=g>>>21&2047}function e6r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,m=e[t+9]>>>0,g=e[t+10]>>>0,v=e[t+11]>>>0;n[o++]=a>>>0&4095,n[o++]=a>>>12&4095,n[o++]=(a>>>24|(i&15)<<8)&4095,n[o++]=i>>>4&4095,n[o++]=i>>>16&4095,n[o++]=(i>>>28|(s&255)<<4)&4095,n[o++]=s>>>8&4095,n[o++]=s>>>20&4095,n[o++]=l>>>0&4095,n[o++]=l>>>12&4095,n[o++]=(l>>>24|(c&15)<<8)&4095,n[o++]=c>>>4&4095,n[o++]=c>>>16&4095,n[o++]=(c>>>28|(u&255)<<4)&4095,n[o++]=u>>>8&4095,n[o++]=u>>>20&4095,n[o++]=d>>>0&4095,n[o++]=d>>>12&4095,n[o++]=(d>>>24|(p&15)<<8)&4095,n[o++]=p>>>4&4095,n[o++]=p>>>16&4095,n[o++]=(p>>>28|(f&255)<<4)&4095,n[o++]=f>>>8&4095,n[o++]=f>>>20&4095,n[o++]=m>>>0&4095,n[o++]=m>>>12&4095,n[o++]=(m>>>24|(g&15)<<8)&4095,n[o++]=g>>>4&4095,n[o++]=g>>>16&4095,n[o++]=(g>>>28|(v&255)<<4)&4095,n[o++]=v>>>8&4095,n[o]=v>>>20&4095}function t6r(e,t,n,r){let o=r,a=e[t]>>>0,i=e[t+1]>>>0,s=e[t+2]>>>0,l=e[t+3]>>>0,c=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,m=e[t+9]>>>0,g=e[t+10]>>>0,v=e[t+11]>>>0,y=e[t+12]>>>0,x=e[t+13]>>>0,A=e[t+14]>>>0,w=e[t+15]>>>0;n[o++]=a>>>0&65535,n[o++]=a>>>16&65535,n[o++]=i>>>0&65535,n[o++]=i>>>16&65535,n[o++]=s>>>0&65535,n[o++]=s>>>16&65535,n[o++]=l>>>0&65535,n[o++]=l>>>16&65535,n[o++]=c>>>0&65535,n[o++]=c>>>16&65535,n[o++]=u>>>0&65535,n[o++]=u>>>16&65535,n[o++]=d>>>0&65535,n[o++]=d>>>16&65535,n[o++]=p>>>0&65535,n[o++]=p>>>16&65535,n[o++]=f>>>0&65535,n[o++]=f>>>16&65535,n[o++]=m>>>0&65535,n[o++]=m>>>16&65535,n[o++]=g>>>0&65535,n[o++]=g>>>16&65535,n[o++]=v>>>0&65535,n[o++]=v>>>16&65535,n[o++]=y>>>0&65535,n[o++]=y>>>16&65535,n[o++]=x>>>0&65535,n[o++]=x>>>16&65535,n[o++]=A>>>0&65535,n[o++]=A>>>16&65535,n[o++]=w>>>0&65535,n[o]=w>>>16&65535}function n6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0;n[o++]=s>>>0&1,n[o++]=s>>>1&1,n[o++]=s>>>2&1,n[o++]=s>>>3&1,n[o++]=s>>>4&1,n[o++]=s>>>5&1,n[o++]=s>>>6&1,n[o++]=s>>>7&1,n[o++]=s>>>8&1,n[o++]=s>>>9&1,n[o++]=s>>>10&1,n[o++]=s>>>11&1,n[o++]=s>>>12&1,n[o++]=s>>>13&1,n[o++]=s>>>14&1,n[o++]=s>>>15&1,n[o++]=s>>>16&1,n[o++]=s>>>17&1,n[o++]=s>>>18&1,n[o++]=s>>>19&1,n[o++]=s>>>20&1,n[o++]=s>>>21&1,n[o++]=s>>>22&1,n[o++]=s>>>23&1,n[o++]=s>>>24&1,n[o++]=s>>>25&1,n[o++]=s>>>26&1,n[o++]=s>>>27&1,n[o++]=s>>>28&1,n[o++]=s>>>29&1,n[o++]=s>>>30&1,n[o++]=s>>>31&1}}function r6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0,l=e[a++]>>>0;n[o++]=s>>>0&3,n[o++]=s>>>2&3,n[o++]=s>>>4&3,n[o++]=s>>>6&3,n[o++]=s>>>8&3,n[o++]=s>>>10&3,n[o++]=s>>>12&3,n[o++]=s>>>14&3,n[o++]=s>>>16&3,n[o++]=s>>>18&3,n[o++]=s>>>20&3,n[o++]=s>>>22&3,n[o++]=s>>>24&3,n[o++]=s>>>26&3,n[o++]=s>>>28&3,n[o++]=s>>>30&3,n[o++]=l>>>0&3,n[o++]=l>>>2&3,n[o++]=l>>>4&3,n[o++]=l>>>6&3,n[o++]=l>>>8&3,n[o++]=l>>>10&3,n[o++]=l>>>12&3,n[o++]=l>>>14&3,n[o++]=l>>>16&3,n[o++]=l>>>18&3,n[o++]=l>>>20&3,n[o++]=l>>>22&3,n[o++]=l>>>24&3,n[o++]=l>>>26&3,n[o++]=l>>>28&3,n[o++]=l>>>30&3}}function o6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0,l=e[a++]>>>0,c=e[a++]>>>0;n[o++]=s>>>0&7,n[o++]=s>>>3&7,n[o++]=s>>>6&7,n[o++]=s>>>9&7,n[o++]=s>>>12&7,n[o++]=s>>>15&7,n[o++]=s>>>18&7,n[o++]=s>>>21&7,n[o++]=s>>>24&7,n[o++]=s>>>27&7,n[o++]=(s>>>30|(l&1)<<2)&7,n[o++]=l>>>1&7,n[o++]=l>>>4&7,n[o++]=l>>>7&7,n[o++]=l>>>10&7,n[o++]=l>>>13&7,n[o++]=l>>>16&7,n[o++]=l>>>19&7,n[o++]=l>>>22&7,n[o++]=l>>>25&7,n[o++]=l>>>28&7,n[o++]=(l>>>31|(c&3)<<1)&7,n[o++]=c>>>2&7,n[o++]=c>>>5&7,n[o++]=c>>>8&7,n[o++]=c>>>11&7,n[o++]=c>>>14&7,n[o++]=c>>>17&7,n[o++]=c>>>20&7,n[o++]=c>>>23&7,n[o++]=c>>>26&7,n[o++]=c>>>29&7}}function a6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0,l=e[a++]>>>0,c=e[a++]>>>0,u=e[a++]>>>0;n[o++]=s>>>0&15,n[o++]=s>>>4&15,n[o++]=s>>>8&15,n[o++]=s>>>12&15,n[o++]=s>>>16&15,n[o++]=s>>>20&15,n[o++]=s>>>24&15,n[o++]=s>>>28&15,n[o++]=l>>>0&15,n[o++]=l>>>4&15,n[o++]=l>>>8&15,n[o++]=l>>>12&15,n[o++]=l>>>16&15,n[o++]=l>>>20&15,n[o++]=l>>>24&15,n[o++]=l>>>28&15,n[o++]=c>>>0&15,n[o++]=c>>>4&15,n[o++]=c>>>8&15,n[o++]=c>>>12&15,n[o++]=c>>>16&15,n[o++]=c>>>20&15,n[o++]=c>>>24&15,n[o++]=c>>>28&15,n[o++]=u>>>0&15,n[o++]=u>>>4&15,n[o++]=u>>>8&15,n[o++]=u>>>12&15,n[o++]=u>>>16&15,n[o++]=u>>>20&15,n[o++]=u>>>24&15,n[o++]=u>>>28&15}}function i6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0,l=e[a++]>>>0,c=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0;n[o++]=s>>>0&31,n[o++]=s>>>5&31,n[o++]=s>>>10&31,n[o++]=s>>>15&31,n[o++]=s>>>20&31,n[o++]=s>>>25&31,n[o++]=(s>>>30|(l&7)<<2)&31,n[o++]=l>>>3&31,n[o++]=l>>>8&31,n[o++]=l>>>13&31,n[o++]=l>>>18&31,n[o++]=l>>>23&31,n[o++]=(l>>>28|(c&1)<<4)&31,n[o++]=c>>>1&31,n[o++]=c>>>6&31,n[o++]=c>>>11&31,n[o++]=c>>>16&31,n[o++]=c>>>21&31,n[o++]=c>>>26&31,n[o++]=(c>>>31|(u&15)<<1)&31,n[o++]=u>>>4&31,n[o++]=u>>>9&31,n[o++]=u>>>14&31,n[o++]=u>>>19&31,n[o++]=u>>>24&31,n[o++]=(u>>>29|(d&3)<<3)&31,n[o++]=d>>>2&31,n[o++]=d>>>7&31,n[o++]=d>>>12&31,n[o++]=d>>>17&31,n[o++]=d>>>22&31,n[o++]=d>>>27&31}}function s6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0,l=e[a++]>>>0,c=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0,p=e[a++]>>>0;n[o++]=s>>>0&63,n[o++]=s>>>6&63,n[o++]=s>>>12&63,n[o++]=s>>>18&63,n[o++]=s>>>24&63,n[o++]=(s>>>30|(l&15)<<2)&63,n[o++]=l>>>4&63,n[o++]=l>>>10&63,n[o++]=l>>>16&63,n[o++]=l>>>22&63,n[o++]=(l>>>28|(c&3)<<4)&63,n[o++]=c>>>2&63,n[o++]=c>>>8&63,n[o++]=c>>>14&63,n[o++]=c>>>20&63,n[o++]=c>>>26&63,n[o++]=u>>>0&63,n[o++]=u>>>6&63,n[o++]=u>>>12&63,n[o++]=u>>>18&63,n[o++]=u>>>24&63,n[o++]=(u>>>30|(d&15)<<2)&63,n[o++]=d>>>4&63,n[o++]=d>>>10&63,n[o++]=d>>>16&63,n[o++]=d>>>22&63,n[o++]=(d>>>28|(p&3)<<4)&63,n[o++]=p>>>2&63,n[o++]=p>>>8&63,n[o++]=p>>>14&63,n[o++]=p>>>20&63,n[o++]=p>>>26&63}}function l6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0,l=e[a++]>>>0,c=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0;n[o++]=s>>>0&127,n[o++]=s>>>7&127,n[o++]=s>>>14&127,n[o++]=s>>>21&127,n[o++]=(s>>>28|(l&7)<<4)&127,n[o++]=l>>>3&127,n[o++]=l>>>10&127,n[o++]=l>>>17&127,n[o++]=l>>>24&127,n[o++]=(l>>>31|(c&63)<<1)&127,n[o++]=c>>>6&127,n[o++]=c>>>13&127,n[o++]=c>>>20&127,n[o++]=(c>>>27|(u&3)<<5)&127,n[o++]=u>>>2&127,n[o++]=u>>>9&127,n[o++]=u>>>16&127,n[o++]=u>>>23&127,n[o++]=(u>>>30|(d&31)<<2)&127,n[o++]=d>>>5&127,n[o++]=d>>>12&127,n[o++]=d>>>19&127,n[o++]=(d>>>26|(p&1)<<6)&127,n[o++]=p>>>1&127,n[o++]=p>>>8&127,n[o++]=p>>>15&127,n[o++]=p>>>22&127,n[o++]=(p>>>29|(f&15)<<3)&127,n[o++]=f>>>4&127,n[o++]=f>>>11&127,n[o++]=f>>>18&127,n[o++]=f>>>25&127}}function c6r(e,t,n,r){let o=r,a=t;for(let i=0;i<8;i++){let s=e[a++]>>>0,l=e[a++]>>>0,c=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0,m=e[a++]>>>0;n[o++]=s>>>0&255,n[o++]=s>>>8&255,n[o++]=s>>>16&255,n[o++]=s>>>24&255,n[o++]=l>>>0&255,n[o++]=l>>>8&255,n[o++]=l>>>16&255,n[o++]=l>>>24&255,n[o++]=c>>>0&255,n[o++]=c>>>8&255,n[o++]=c>>>16&255,n[o++]=c>>>24&255,n[o++]=u>>>0&255,n[o++]=u>>>8&255,n[o++]=u>>>16&255,n[o++]=u>>>24&255,n[o++]=d>>>0&255,n[o++]=d>>>8&255,n[o++]=d>>>16&255,n[o++]=d>>>24&255,n[o++]=p>>>0&255,n[o++]=p>>>8&255,n[o++]=p>>>16&255,n[o++]=p>>>24&255,n[o++]=f>>>0&255,n[o++]=f>>>8&255,n[o++]=f>>>16&255,n[o++]=f>>>24&255,n[o++]=m>>>0&255,n[o++]=m>>>8&255,n[o++]=m>>>16&255,n[o++]=m>>>24&255}}function u6r(e,t,n,r){let o=r,a=t;for(let i=0;i<128;i++){let s=e[a++]>>>0;n[o++]=s&65535,n[o++]=s>>>16&65535}}function d6r(e,t,n,r,o){let a=oUe[o]>>>0,i=t,s=0,l=e[i]>>>0,c=r;for(let u=0;u<8;u++){for(let d=0;d<32;d++)if(s+o<=32){let p=l>>>s&a;n[c+d]=p|0,s+=o,s===32&&(s=0,i++,d!==31&&(l=e[i]>>>0))}else{let p=32-s,f=l>>>s;i++,l=e[i]>>>0;let m=o-p,g=-1>>>32-m>>>0,v=(f|(l&g)<>>0)}}function acn(){let e=new Uint8Array(p6r);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:e,byteContainerI32:new Int32Array(e.buffer,e.byteOffset,e.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function f6r(e=16){if(e<0)throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`);let t=Math.max(16,e|0);return{encodedWords:new Uint32Array(t),decoderWorkspace:acn()}}function m6r(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let n=new Uint32Array(Math.max(16,t*2));return e.encodedWords=n,n}function h6r(e,t,n,r){r.byteContainer.length>>2;if(o.byteOffset&3)for(let s=0;s>>8&255,o[c+2|0]=l>>>16&255,o[c+3|0]=l>>>24&255}else{let s=r.byteContainerI32;(!s||s.buffer!==o.buffer||s.byteOffset!==o.byteOffset||s.length>>2)),s.set(e.subarray(t,t+a))}let i=n&3;if(i>0){let s=e[t+a|0]|0,l=a<<2;for(let c=0;c>>(c<<3)&255}return o}function g6r(e,t,n){let r=e[t++]|0,o=n.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(r>>>a-1&1))continue;if(t>=e.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length-t}, encodedWords=${e.length})`);let i=e[t++]>>>0,s=V4r(i),l=i*a+31>>>5;if(t+l>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${i}, streamWordIndex=${t}, needWords=${l}, availableWords=${e.length-t}, encodedWords=${e.length})`);let c=o[a];(!c||c.length>>5)|0,n.exceptionSizes[a]=i}return t}function y6r(e,t,n,r,o){switch(o){case 1:n6r(e,t,n,r);break;case 2:r6r(e,t,n,r);break;case 3:o6r(e,t,n,r);break;case 4:a6r(e,t,n,r);break;case 5:i6r(e,t,n,r);break;case 6:s6r(e,t,n,r);break;case 7:l6r(e,t,n,r);break;case 8:c6r(e,t,n,r);break;case 16:u6r(e,t,n,r);break;default:d6r(e,t,n,r,o)}return t+(o<<3)|0}function v6r(e,t,n,r){if(n+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${r} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${n}, byteSize=${t})`);let o=e[n++],a=e[n++];if(o>32)throw Error(`FastPFOR decode: invalid bitWidth=${o} at block=${r} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:o,exceptionCount:a,bytePosIn:n}}function b6r(e,t,n,r,o,a){if(n+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${n}, byteSize=${t})`);let i=e[n++];if(i32)throw Error(`FastPFOR decode: invalid maxBits=${i} at block=${a} (bitWidth=${r}, expected ${r}..32)`);let s=i-r|0;if(s<1||s>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${s} at block=${a} (bitWidth=${r}, maxBits=${i})`);if(n+o>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${o}, have=${t-n})`);return{maxBits:i,exceptionBitWidth:s,bytePosIn:n}}function x6r(e,t,n,r,o,a,i,s,l){let{maxBits:c,exceptionBitWidth:u,bytePosIn:d}=b6r(o,a,i,n,r,l);if(i=d,u===1){let v=1<g)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${u} (ptr=${m}, need ${r}, size=${g}) at block ${l}`);for(let v=0;v0&&(d=x6r(o,v,m,g,s,l,d,c,p))}if(u!==r)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${n}, consumedPackedEnd=${u}, expectedPackedEnd=${r}, packedWords=${r-n}, encoded.length=${e.length})`)}function w6r(e,t,n,r,o,a){let i=n|0,s=e[i]|0;if(s<=0||i+s>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${s} at pageStart=${i} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let l=i+1|0,c=i+s|0,u=e[c]>>>0,d=u+3>>>2,p=c+1,f=p+d;if(f>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${u} (metaInts=${d}, pageStart=${i}, packedEnd=${c}, byteContainerStart=${p}) causes bitmapPos=${f} out of bounds (encoded.length=${e.length})`);let m=h6r(e,p,u,a),g=u,v=g6r(e,f,a);return a.dataPointers.fill(0),A6r(e,i,l,c,t,r|0,o/256|0,m,g,a),v}function S6r(e,t,n,r,o,a){let i=r+ANe(o,256),s=r,l=n;for(;s!==i;){let c=Math.min(aUe,i-s);l=w6r(e,t,l,s,c,a),s=s+c|0}return l}function C6r(e,t,n,r,o,a){if(a===0)return t;let i=0,s=t,l=t+n,c=o,u=o,d=o+a,p=0,f=0;for(;s>>i&255;if(i+=8,s+=i>>>5,i&=31,p|=(m&127)<28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${f}, partial=${p}, decoded=${u-c}/${a}, inPos=${s}, inEnd=${l})`)}if(u!==d)throw Error(`FastPFOR VByte: truncated stream (decoded=${u-c}, expected=${a}, consumedWords=${s-t}/${n}, vbyteStart=${t}, vbyteEnd=${l})`);return s}function E6r(e,t,n){let r=0,o=0,a=new Uint32Array(t),i=n??acn();if(e.length>0){let c=e[r]|0;if(r=r+1|0,c&255)throw Error(`FastPFOR decode: invalid alignedLength=${c} (expected multiple of 256)`);if(o+c>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${o}, alignedLength=${c}, out.length=${a.length})`);r=S6r(e,a,r,o,c,i),o=o+c|0}let s=e.length-r|0,l=t-o|0;return C6r(e,r,s,a,o,l),a}function I6r(e,t,n,r,o){switch(o){case 2:q4r(e,t,n,r);return;case 3:Z4r(e,t,n,r);return;case 4:Q4r(e,t,n,r);return;case 5:X4r(e,t,n,r);return;case 6:W4r(e,t,n,r);return;case 7:Y4r(e,t,n,r);return;case 8:K4r(e,t,n,r);return;case 9:J4r(e,t,n,r);return;case 10:j4r(e,t,n,r);return;case 11:$4r(e,t,n,r);return;case 12:e6r(e,t,n,r);return;case 16:t6r(e,t,n,r);return;case 32:for(let c=0;c<32;c=c+1|0)n[r+c|0]=e[t+c|0]|0;return}let a=oUe[o]>>>0,i=t,s=0,l=e[i]>>>0;for(let c=0;c<32;c++)if(s+o<=32){let u=l>>>s&a;n[r+c]=u|0,s+=o,s===32&&(s=0,i++,c!==31&&(l=e[i]>>>0))}else{let u=32-s,d=l>>>s;i++,l=e[i]>>>0;let p=oUe[o-u]>>>0,f=(d|(l&p)<e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${n}, bytes.length=${e.length})`);let o=Math.floor(n/4),a=n%4!=0,i=a?o+1:o;if(r.length0){let s=e.byteOffset+t;if(s&3)for(let l=0;l=64)throw Error("Varint too long")}return t.set(o),n}function R6r(e,t,n){let r=new Float64Array(n);for(let o=0;o>4,o<128||(o=t[n.get()],n.increment(),r|=(o&127)<<3,o<128)||(o=t[n.get()],n.increment(),r|=(o&127)<<10,o<128)||(o=t[n.get()],n.increment(),r|=(o&127)<<17,o<128)||(o=t[n.get()],n.increment(),r|=(o&127)<<24,o<128)||(o=t[n.get()],n.increment(),r|=(o&1)<<31,o<128))return r*4294967296+(e>>>0);throw Error("Expected varint not more than 10 bytes")}function D6r(e,t,n,r){return L6r(e,t,n,r,f6r(n>>>2))}function L6r(e,t,n,r,o){let a=r.get();if(n&3)throw Error(`FastPFOR: invalid encodedByteLength=${n} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let i=n>>>2,s=m6r(o,i);T6r(e,a,n,s);let l=E6r(s.subarray(0,i),t,o.decoderWorkspace);return r.add(n),l}function Yo(e){return e>>>1^-(e&1)}function qf(e){return e>>1n^-(e&1n)}function HC(e){return e%2==1?(e+1)/-2:e/2}function B6r(e){let t=new Int32Array(e.length);for(let n=0;n=4)for(;r=4)for(;r=4)for(;n=4)for(let r=e[0];n=4)for(;r=4)for(;l>>0;for(let n=1;n>>0;return t}function Fan(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,qf(e[0]));for(let n=1;n>>0,t[1]=Yo(e[1])>>>0;for(let n=2;n>>0,t[n+1]=t[n-1]+Yo(e[n+1])>>>0;return t}function Y6r(e,t,n,r){let o=scn(e,t,n,r);return new Uint32Array(o)}function K6r(e){return e[1]}function J6r(e){return Yo(e[1])}function j6r(e){if(e.length===2){let t=Yo(e[1]);return[t,t]}return[Yo(e[2]),Yo(e[3])]}function $6r(e){return e[1]}function eCr(e){return qf(e[1])}function tCr(e){if(e.length===2){let t=qf(e[1]);return[t,t]}return[qf(e[2]),qf(e[3])]}function zs(e,t){let n=cCr(e,t);return n.logicalLevelTechnique1===xo.MORTON?sCr(n,e,t):(xo.RLE===n.logicalLevelTechnique1||xo.RLE===n.logicalLevelTechnique2)&&Ly.NONE!==n.physicalLevelTechnique?lCr(n,e,t):n}function sCr(e,t,n){let r=Qf(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:e.decompressedCount,numBits:r[0],coordinateShift:r[1]}}function lCr(e,t,n){let r=Qf(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:r[1],runs:r[0],numRleValues:r[1]}}function cCr(e,t){let n=e[t.get()],r=nCr[n>>4],o={};switch(r){case ld.DATA:o={dictionaryType:oCr[n&15]};break;case ld.OFFSET:o={offsetType:aCr[n&15]};break;case ld.LENGTH:o={lengthType:iCr[n&15]}}t.increment();let a=e[t.get()],i=Uan[a>>5],s=Uan[a>>2&7],l=rCr[a&3];t.increment();let c=Qf(e,t,2),u=c[0],d=c[1];return{physicalStreamType:r,logicalStreamType:o,logicalLevelTechnique1:i,logicalLevelTechnique2:s,physicalLevelTechnique:l,numValues:u,byteLength:d,decompressedCount:u}}function n7(e,t,n){if(!t)return e;let r=t.size(),o=e.constructor,a=new o(r),i=0;for(let s=0;s=i);){let s=e[r.increment()];if(s<=127){let l=s+3,c=e[r.increment()],u=Math.min(a+l,t);o.fill(c,a,u),a=u}else{let l=256-s;for(let c=0;c=12?mCr.decode(e.subarray(t,n)):hCr(e,t,n)}function hCr(e,t,n){let r="",o=t;for(;o239?4:a>223?3:a>191?2:1;if(o+s>n)break;let l,c,u;s===1?a<128&&(i=a):s===2?(l=e[o+1],(l&192)==128&&(i=(a&31)<<6|l&63,i<=127&&(i=null))):s===3?(l=e[o+1],c=e[o+2],(l&192)==128&&(c&192)==128&&(i=(a&15)<<12|(l&63)<<6|c&63,(i<=2047||i>=55296&&i<=57343)&&(i=null))):s===4&&(l=e[o+1],c=e[o+2],u=e[o+3],(l&192)==128&&(c&192)==128&&(u&192)==128&&(i=(a&15)<<18|(l&63)<<12|(c&63)<<6|u&63,(i<=65535||i>=1114112)&&(i=null))),i===null?(i=65533,s=1):i>65535&&(i-=65536,r+=String.fromCharCode(i>>>10&1023|55296),i=56320|i&1023),r+=String.fromCharCode(i),o+=s}return r}function ufe(e,t,n,r,o){return xCr($L(e,t,n),n,r,o)}function Gf(e,t,n,r,o){return ACr($L(e,t,n),n,r,o)}function VC(e,t,n){return SCr($L(e,t,n),n)}function $L(e,t,n){let r=n.physicalLevelTechnique;switch(r){case Ly.FAST_PFOR:return D6r(e,n.numValues,n.byteLength,t);case Ly.VARINT:return Qf(e,t,n.numValues);case Ly.NONE:return pCr(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function OQ(e,t,n){let r=n.physicalLevelTechnique;switch(r){case Ly.VARINT:return wNe(e,t,n.numValues);case Ly.NONE:return fCr(e,t,n.numValues);default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function gCr(e,t,n){let r=$L(e,t,n);return r.length===1?Yo(r[0]):J6r(r)}function ENe(e,t,n){let r=$L(e,t,n);return r.length===1?n.logicalLevelTechnique1===xo.DELTA?Yo(r[0]):r[0]:K6r(r)}function dcn(e,t,n){return j6r($L(e,t,n))}function pcn(e,t,n){return tCr(wNe(e,t,n.numValues))}function fcn(e,t,n,r){return hcn(OQ(e,t,n),n,r)}function INe(e,t,n,r){return gcn(OQ(e,t,n),n,r)}function yCr(e,t,n,r){let o=vCr(e,t,n,!1);return r?n7(o,r,0):o}function vCr(e,t,n,r){if(n.physicalLevelTechnique===Ly.VARINT)return wCr(R6r(e,t,n.numValues),n,r);let o=OQ(e,t,n),a=r?hcn(o,n):gcn(o,n);return Float64Array.from(a,Number)}function bCr(e,t,n){let r=OQ(e,t,n);return r.length===1?qf(r[0]):eCr(r)}function mcn(e,t,n){let r=OQ(e,t,n);return r.length===1?n.logicalLevelTechnique1===xo.DELTA?qf(r[0]):r[0]:$6r(r)}function xCr(e,t,n,r){let o;switch(t.logicalLevelTechnique1){case xo.DELTA:if(t.logicalLevelTechnique2===xo.RLE){let a=t;if(!r)return Q6r(e,a.runs,a.numRleValues);e=iUe(e,a.runs,a.numRleValues),o=Lan(e)}else o=Lan(e);break;case xo.RLE:o=N6r(e,t.runs,t.numRleValues);break;case xo.MORTON:SNe(e),o=new Int32Array(e);break;case xo.COMPONENTWISE_DELTA:if(n&&!r)return scn(e,n.scale,n.min,n.max);o=V6r(e);break;case xo.NONE:o=B6r(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?n7(o,r,0):o}function ACr(e,t,n,r){let o;switch(t.logicalLevelTechnique1){case xo.DELTA:if(t.logicalLevelTechnique2===xo.RLE){let a=t;o=Oan(iUe(e,a.runs,a.numRleValues))}else o=Oan(e);break;case xo.RLE:o=iUe(e,t.runs,t.numRleValues);break;case xo.MORTON:SNe(e),o=e;break;case xo.COMPONENTWISE_DELTA:o=n&&!r?Y6r(e,n.scale,n.min,n.max):W6r(e);break;case xo.NONE:o=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?n7(o,r,0):o}function hcn(e,t,n){let r;switch(t.logicalLevelTechnique1){case xo.DELTA:if(t.logicalLevelTechnique2===xo.RLE){let o=t;if(!n)return X6r(e,o.runs,o.numRleValues);e=sUe(e,o.runs,o.numRleValues),r=Ban(e)}else r=Ban(e);break;case xo.RLE:r=z6r(e,t.runs,t.numRleValues);break;case xo.NONE:r=O6r(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?n7(r,n,0n):r}function gcn(e,t,n){let r;switch(t.logicalLevelTechnique1){case xo.DELTA:if(t.logicalLevelTechnique2===xo.RLE){let o=t;r=Fan(sUe(e,o.runs,o.numRleValues))}else r=Fan(e);break;case xo.RLE:r=sUe(e,t.runs,t.numRleValues);break;case xo.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?n7(r,n,0n):r}function wCr(e,t,n){switch(t.logicalLevelTechnique1){case xo.DELTA:if(t.logicalLevelTechnique2===xo.RLE){let r=t;e=icn(e,r.runs,r.numRleValues)}return U6r(e),e;case xo.RLE:return ECr(e,t,n);case xo.NONE:return n&&F6r(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function SCr(e,t){if(t.logicalLevelTechnique1===xo.DELTA&&t.logicalLevelTechnique2===xo.NONE)return G6r(e);if(t.logicalLevelTechnique1===xo.RLE&&t.logicalLevelTechnique2===xo.NONE){let n=t;return Z6r(e,n.runs,n.numRleValues)}if(t.logicalLevelTechnique1===xo.NONE&&t.logicalLevelTechnique2===xo.NONE){H6r(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===xo.DELTA&&t.logicalLevelTechnique2===xo.RLE){let n=t,r=q6r(e,n.runs,n.numRleValues);return SNe(r),new Uint32Array(r)}throw Error("Only delta encoding is supported for transforming length to offset streams yet.")}function ome(e,t,n,r,o="int32"){let a=e.logicalLevelTechnique1;if(a===xo.RLE)return e.runs===1?Ns.CONST:Ns.FLAT;if(a!==xo.DELTA||e.logicalLevelTechnique2!==xo.RLE)return e.numValues===1?Ns.CONST:Ns.FLAT;let i=t instanceof gv?t.size():t,s=e;if(s.numRleValues!==i)return Ns.FLAT;if(s.runs===1)return Ns.SEQUENCE;if(s.runs!==2)return e.numValues===1?Ns.CONST:Ns.FLAT;let l=r.get();if(e.physicalLevelTechnique===Ly.VARINT)return CCr(n,r,o)?Ns.SEQUENCE:e.numValues===1?Ns.CONST:Ns.FLAT;let c=r.get(),u=new Int32Array(n.buffer,n.byteOffset+c,4);return r.set(l),u[2]===2&&u[3]===2?Ns.SEQUENCE:e.numValues===1?Ns.CONST:Ns.FLAT}function CCr(e,t,n){let r=new rcn(t.get());if(n==="int64"){let a=wNe(e,r,4);return a[2]===2n&&a[3]===2n}let o=Qf(e,r,4);return o[2]===2&&o[3]===2}function ECr(e,t,n){return n?_6r(e,t.runs,t.numRleValues):icn(e,t.runs,t.numRleValues)}function TNe(e,t,n){return{x:Nan(e,t)-n,y:Nan(e>>1,t)-n}}function Nan(e,t){let n=0;for(let r=0;r>r;return n}function TCr(e){let t=Array(e.numGeometries),n=1,r=1,o=1,a=0,i=0,s=0,{mortonSettings:l,topologyVector:c}=e,{geometryOffsets:u,partOffsets:d,ringOffsets:p}=c,f=e.vertexOffsets,m=!f||f.length===0,g=e.containsPolygonGeometry(),v=e.vertexBuffer;for(let y=0;y[C]),n+=A,r+=A}break;case Zf.LINESTRING:{let A;g?(A=p[r]-p[r-1],r++):A=d[n]-d[n-1],n++;let w;m?(w=AL(v,i,A,!1),i+=A*2):(w=BT(e.vertexBufferType,v,f,s,A,!1,l),s+=A),t[a++]=[w],u&&o++}break;case Zf.POLYGON:{let A=d[n]-d[n-1];n++;let w=Array(A-1),C,E=p[r]-p[r-1];if(r++,m){C=AL(v,i,E,!0),i+=E*2;for(let T=0;Tn?t[a++]:1);return r}function Han(e,t,n,r){let o=new Uint32Array(t[t.length-1]+1),a=0;o[0]=a;let i=1,s=0;for(let l=0;l0;)o[a++]=e[c++]}}return o}function Icn(e,t,n,r,o){let a,i,s,l,c,u=o,d,p;for(let f=0;f1&&!f.nullable||m===1&&f.nullable)throw Error(`The number of streams for the child field ${f.name} does not match its nullability. nullibilty: ${f.nullable}, numStreams: ${m}`);let v;if(f.nullable){let x=zs(e,t);v=new gv(jL(e,x.numValues,x.byteLength,t),x.numValues)}let y=Gf(e,t,zs(e,t),void 0,v);if(s){if(!i)throw Error(`Incomplete shared FSST dictionary for column "${g}"`);u[p++]=new Ecn(g,y,o,a,i,s,v,d)}else u[p++]=new LL(g,y,o,a,v)}return u}function QCr(e,t,n,r){let o=XCr(n);if(r===0)return o.map((u)=>new Gan(u,[]));let a=WCr(e,t,r),i=(a.presentStream?a.presentCount:a.lengthStream.length)/o.length,s=[],l=0,c=0;for(let u=0;ue.name+(n.name??""))}function WCr(e,t,n){let r=e[t.get()];t.add(1);let o=Gf(e,t,zs(e,t)),a=n-1,i=[];r&Ew.STRING&&(a-=YCr(e,t,i)),a-=KCr(e,t,r,i),a-=JCr(e,t,r,i);let s,l=0;if(r&Ew.PRESENCE){let u=jCr(e,t);s=u.value,l=u.count,a--}let c=new Uint32Array;if(a>0&&(c=Gf(e,t,zs(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:o,dictionary:i,presentStream:s,presentCount:l,flattenedValues:c}}function YCr(e,t,n){let r=e[t.get()];t.add(1);let o=Icn("",e,t,r);if(o)for(let a=0;aa.length)throw Error("Merged map counts underflow while decoding child streams");let f=Array(n),m=r,g=o;for(let x=0;xi.length)throw Error("Map value stream underflow while decoding feature payload");let w=e5r(i,g,A,l);f[x]=w.value,g=w.nextIndex}let v=0;for(let x=r;x=n)throw Error("Unexpected end of map value stream");let o=e[t];if(o===NT.FALSE)return{value:!1,nextIndex:t+1};if(o===NT.TRUE)return{value:!0,nextIndex:t+1};if(o===NT.START_MAP){let a=qan(e,t,n);return{value:Tcn(e,t+2,a,r).value,nextIndex:a}}if(o===NT.START_LIST){let a=qan(e,t,n),i=[],s=t+2;for(;s=n)throw Error("Missing length for nested map/list payload");let r=e[t+1];if(r<2)throw Error(`Invalid nested payload length: ${r}`);let o=t+r;if(o>n)throw Error("Nested payload exceeds containing payload bounds");return o}function kcn(e,t){let n=e-NT.COUNT;if(n<0||n>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[n]}function TL(e,t){for(let n of t)e.push(n)}function t5r(e,t,n,r,o,a){return n.type==="scalarType"?a&&!a.has(n.name)?(lcn(r,e,t),null):n5r(r,e,t,o,n.scalarType,n):n.complexType?.physicalType===ZC.MAP?QCr(e,t,n,r):r===0?null:ZCr(e,t,n,a)}function n5r(e,t,n,r,o,a){let i;if(e===0)return null;if(a.nullable){let l=zs(t,n),c=l.numValues,u=n.get(),d=jL(t,c,l.byteLength,n);n.set(u+l.byteLength),i=new gv(d,l.numValues)}let s=i??r;switch(o.physicalType){case Ua.UINT_32:case Ua.INT_32:return s5r(t,n,a,o,s);case Ua.STRING:{let l=a.nullable?e-1:e;return Icn(a.name,t,n,l,i)??null}case Ua.BOOLEAN:return r5r(t,n,a,r,s);case Ua.UINT_64:case Ua.INT_64:return i5r(t,n,a,s,o);case Ua.FLOAT:return o5r(t,n,a,s);case Ua.DOUBLE:return a5r(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${o}`)}}function r5r(e,t,n,r,o){let a=zs(e,t),i=a.numValues,s=t.get(),l=FQ(o)?o:void 0,c=jL(e,i,a.byteLength,t,l);t.set(s+a.byteLength);let u=new gv(c,i);return new NCr(n.name,u,o)}function o5r(e,t,n,r){let o=zs(e,t),a=FQ(r)?r:void 0,i=ccn(e,t,o.numValues,a);return new zCr(n.name,i,r)}function a5r(e,t,n,r){let o=zs(e,t),a=FQ(r)?r:void 0,i=ucn(e,t,o.numValues,a);return new gNe(n.name,i,r)}function i5r(e,t,n,r,o){let a=zs(e,t),i=ome(a,r,e,t,"int64"),s=o.physicalType===Ua.INT_64;if(i===Ns.FLAT){let c=FQ(r)?r:void 0,u=s?fcn(e,t,a,c):INe(e,t,a,c);return new ycn(n.name,u,r)}if(i===Ns.SEQUENCE){let c=pcn(e,t,a);return new vcn(n.name,c[0],c[1],a.numRleValues,s)}let l=s?bCr(e,t,a):mcn(e,t,a);return new Ccn(n.name,l,r,s)}function s5r(e,t,n,r,o){let a=zs(e,t),i=ome(a,o,e,t),s=r.physicalType===Ua.INT_32;if(i===Ns.FLAT){let c=FQ(o)?o:void 0,u=s?ufe(e,t,a,void 0,c):Gf(e,t,a,void 0,c);return new hNe(n.name,u,o)}if(i===Ns.SEQUENCE){let c=dcn(e,t,a);return new yNe(n.name,c[0],c[1],a.numRleValues,s)}let l=s?gCr(e,t,a):ENe(e,t,a);return new vNe(n.name,l,o,s)}function FQ(e){return e instanceof gv}function Rcn(e){switch(e){case ep.ID:case ep.ID|ep.ID_NULLABLE:case ep.ID|ep.ID_LONG:case ep.ID|ep.ID_LONG|ep.ID_NULLABLE:return{nullable:(e&ep.ID_NULLABLE)!==0,columnScope:OZ.FEATURE,type:"scalarType",scalarType:{longID:(e&ep.ID_LONG)!==0,type:"logicalType",logicalType:ncn.ID}};case ep.GEOMETRY:return{nullable:!1,columnScope:OZ.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:ZC.GEOMETRY,children:[]}};case ep.STRUCT:return{nullable:!1,columnScope:OZ.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:ZC.STRUCT,children:[]}};case ep.MAP:return{nullable:!0,columnScope:OZ.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:ZC.MAP,children:[]}};default:return p5r(e)}}function l5r(e){return e>=ep.SCALAR_BASE}function Pcn(e){return e===ep.STRUCT||e===ep.MAP}function c5r(e){if(e.type==="scalarType"){let t=e.scalarType;if(t.type==="physicalType")switch(t.physicalType){case Ua.BOOLEAN:case Ua.INT_8:case Ua.UINT_8:case Ua.INT_32:case Ua.UINT_32:case Ua.INT_64:case Ua.UINT_64:case Ua.FLOAT:case Ua.DOUBLE:return!1;case Ua.STRING:return!0;default:return!1}if(t.type==="logicalType")return!1}else if(e.type==="complexType"){let t=e.complexType;if(t.type==="physicalType")switch(t.physicalType){case ZC.GEOMETRY:case ZC.STRUCT:case ZC.MAP:return!0;default:return!1}}return console.warn("Unexpected column type in hasStreamCount",e),!1}function u5r(e){return e.type==="scalarType"&&e.scalarType?.type==="logicalType"&&e.scalarType.logicalType===ncn.ID}function d5r(e){return e.type==="complexType"&&e.complexType?.type==="physicalType"&&e.complexType.physicalType===ZC.GEOMETRY}function p5r(e){let t;switch(e){case 10:case 11:t=Ua.BOOLEAN;break;case 12:case 13:t=Ua.INT_8;break;case 14:case 15:t=Ua.UINT_8;break;case 16:case 17:t=Ua.INT_32;break;case 18:case 19:t=Ua.UINT_32;break;case 20:case 21:t=Ua.INT_64;break;case 22:case 23:t=Ua.UINT_64;break;case 24:case 25:t=Ua.FLOAT;break;case 26:case 27:t=Ua.DOUBLE;break;case 28:case 29:t=Ua.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:OZ.FEATURE,type:"scalarType",scalarType:{longID:!1,type:"physicalType",physicalType:t}}}function PNe(e,t){let n=Qf(e,t,1)[0];if(n===0)return"";let r=t.get(),o=r+n,a=e.subarray(r,o);return t.add(n),f5r.decode(a)}function m5r(e){let{name:t,nullable:n}=e;return e.type==="scalarType"?{type:"scalarField",scalarField:e.scalarType,name:t,nullable:n}:{type:"complexField",complexField:e.complexType,name:t,nullable:n}}function Mcn(e,t){let n=Qf(e,t,1)[0]>>>0,r=n>=ep.SCALAR_BASE?Rcn(n):null;if(!r)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let o={...r,name:PNe(e,t)};if(o.type==="complexType"&&Pcn(n)){let a=o.complexType,i=Qf(e,t,1)[0]>>>0;a.children=Array(i);for(let s=0;s>>0,r=Rcn(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: ${Zan}`);let o;if(l5r(n))o=PNe(e,t);else if(n>>0,s=a.complexType;s.children=Array(i);for(let l=0;l>>0,a=Qf(e,t,1)[0]>>>0;r.columns=Array(a);for(let i=0;i>>0,i=r.get()+a;if(i>e.length)throw Error(`Block overruns tile: ${i} > ${e.length}`);let s=Qf(e,r,1)[0]>>>0;if(s!==1&&s!==2){r.set(i);continue}let[l,c]=g5r(e,r),u=l.featureTables[0],d=null,p=null,f=[],m=0;for(let v of u.columns){let y=v.name;if(u5r(v)){let x=null;if(v.nullable){let w=zs(e,r),C=r.get(),E=jL(e,w.numValues,w.byteLength,r);r.set(C+w.byteLength),x=new gv(E,w.numValues)}let A=zs(e,r);m=x?x.size():A.decompressedCount,d=v5r(e,v,r,y,A,x??m,n)}else if(d5r(v)){let x=Qf(e,r,1)[0];if(m===0){let A=r.get();m=zs(e,r).decompressedCount,r.set(A)}t&&(t.scale=t.extent/c),p=OCr(e,x,r,m,t)}else{let x=c5r(v)?Qf(e,r,1)[0]:1;if(x===0)continue;let A=t5r(e,r,v,x,m,void 0);if(A)if(Array.isArray(A))for(let w of A)f.push(w);else f.push(A)}}let g=new H4r(u.name,p,d,f,c);o.push(g),r.set(i)}return o}function v5r(e,t,n,r,o,a,i=!1){let s=t.scalarType?.longID?Ua.UINT_64:Ua.UINT_32,l=typeof a=="number"?void 0:a,c=ome(o,a,e,n,s===Ua.UINT_64?"int64":"int32");if(s===Ua.UINT_32)switch(c){case Ns.FLAT:return new hNe(r,Gf(e,n,o,void 0,l),a);case Ns.SEQUENCE:{let u=dcn(e,n,o);return new yNe(r,u[0],u[1],o.numRleValues,!1)}case Ns.CONST:return new vNe(r,ENe(e,n,o),a,!1)}switch(c){case Ns.FLAT:return i?new gNe(r,yCr(e,n,o,l),a):new ycn(r,INe(e,n,o,l),a);case Ns.SEQUENCE:{let u=pcn(e,n,o);return new vcn(r,u[0],u[1],o.numRleValues,!1)}case Ns.CONST:return new Ccn(r,mcn(e,n,o),a,!1)}throw Error("Vector type not supported for id column.")}function S5r(e){return typeof e=="object"&&!!e&&"evaluate"in e}function Qan(e,t,n,r,o){return Sfe(e,(a,i)=>{let s=t instanceof Hfe?t.get(i):null;return S5r(s)?s.evaluate(n,r,void 0,o):s})}function C5r(e,t){return t-e}var Kvr,Xan,Jvr,jvr,$vr,Wan,lUe=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),ebr=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var o=jvr(t),a=0,i=o.length,s;at[l]).bind(null,s),enumerable:!(r=Jvr(t,s))||r.enumerable});return e},tbr=(e,t,n)=>(n=e==null?{}:Kvr($vr(e)),ebr(t||!e||!e.__esModule||!Wan.call(e,"default")?Xan(n,"default",{value:e,enumerable:!0}):n,e)),yon,Rpe,Fd,ffe,yv,Gx,cQ,sin,pUe,xon,cin,Ut=8192,wfe,gbr=1,won,_Oe=null,vin=async(e,t)=>{let n=new Blob([new Uint8Array(e)],{type:"image/png"});try{return createImageBitmap(n,t)}catch(r){throw Error(`Could not load image because of ${Vp(r).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}},bin=(e)=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame(()=>r.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=")},r.onerror=()=>n(Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));let o=new Blob([new Uint8Array(e)],{type:"image/png"});r.src=URL.createObjectURL(o)}),vv=85.051129,Sin,Cin,Son="AbortError",ZL,KT,Xpe="global-dispatcher",qZ,bbr=(e)=>e.startsWith("file:")||Efe()?.startsWith("file:")&&!/^\w+:/.test(e),mQ=async function(e,t){if(e.url.includes("://")&&!/^https?:|^file:/.test(e.url)){let n=AUe(e.url);if(n){let r=await n(e,t);return!r.data&&e.type==="arrayBuffer"?rr(r,{data:new ArrayBuffer(0)}):r}if(VT(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:Xpe},t)}if(!bbr(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,"signal"))return xbr(e,t);if(VT(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:Xpe},t)}return Abr(e,t)},hQ=(e,t)=>mQ(rr(e,{type:"json"}),t),wUe=(e,t)=>mQ(rr(e,{type:"arrayBuffer"}),t),kin=(e)=>{let t=window.document.createElement("video");return t.muted=!0,new Promise((n)=>{t.onloadstart=()=>{n(t)};for(let r of e){let o=window.document.createElement("source");SUe(r)||(t.crossOrigin="Anonymous"),o.src=r,t.appendChild(o)}})},JC=class{constructor(e,t={}){rr(this,t),this.type=e}},lr,Qp=class{on(e,t){return this._listeners||={},Con(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return HOe(e,t,this._listeners),HOe(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},Con(e,t,this._oneTimeListeners),this):new Promise((n)=>this.once(e,n))}fire(e,t){let n=typeof e=="string"?new JC(e,t||{}):e,r=n.type;if(this.listens(r)){n.target=this;let o=this._listeners?.[r]?.slice()??[];for(let s of o)s.call(this,n);let a=this._oneTimeListeners?.[r]?.slice()??[];for(let s of a)HOe(r,s,this._oneTimeListeners),s.call(this,n);let i=this._eventedParent;i&&(rr(n,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),i.fire(n))}else n instanceof lr&&console.error(n.error);return this}listens(e){return!!(this._listeners?.[e]?.length||this._oneTimeListeners?.[e]?.length||this._eventedParent?.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},Rin,bt,Pin,jt=class{constructor(e,t,n,r,o="error"){this.message=(e?`${e}: `:"")+n,r&&(this.identifier=r),this.severity=o,t!=null&&t.__line__&&(this.line=t.__line__)}},gQ,bn,fo,Uo,mv,Ife,zT,bo,wbr,Tfe,yQ,kfe,ZZ,Rfe,vQ,Pfe,Sbr,Min=0.96422,Din=0.82521,Lin=0.13793103448275862,aFe=0.20689655172413793,Bin,Cbr,Ebr,Rbr,Mbr,Kr,Lbr,iFe=class{constructor(e,t,n,r,o,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=o,this.verticalAlign=a}},Iw=class e{constructor(t){this.sections=t}static fromString(t){return new e([new iFe(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some((t)=>t.text.length!==0||t.image&&t.image.name.length!==0)}static factory(t){return t instanceof e?t:e.fromString(t)}toString(){return this.sections.length===0?"":this.sections.map((t)=>t.text).join("")}},qx=class e{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof e)return t;if(typeof t=="number")return new e([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let n of t)if(typeof n!="number")return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(BL(t.values,n.values,r))}},Zx=class e{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof e)return t;if(typeof t=="number")return new e([t]);if(Array.isArray(t)){for(let n of t)if(typeof n!="number")return;return new e(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r){return new e(BL(t.values,n.values,r))}},My=class e{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof e)return t;if(typeof t=="string"){let r=Kr.parse(t);return r?new e([r]):void 0}if(!Array.isArray(t))return;let n=[];for(let r of t){if(typeof r!="string")return;let o=Kr.parse(r);if(!o)return;n.push(o)}return new e(n)}toString(){return JSON.stringify(this.values)}static interpolate(t,n,r,o="rgb"){let a=[];if(t.values.length!=n.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${n.values.length}), cannot interpolate.`);for(let i=0;i=s)return n.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',c);let d=n.parse(l,u,a);if(!d)return null;a||=d.type,o.push([s,d])}return new e(a,r,o,n.key)}evaluate(t){let n=this.labels,r=this.outputs;if(n.length===1)return r[0].evaluate(t);let o=this.input.evaluate(t);if(o<=n[0])return r[0].evaluate(t);let a=n.length;return o>=n[a-1]?r[a-1].evaluate(t):r[Mfe(n,o,this.key)].evaluate(t)}eachChild(t){t(this.input);for(let n of this.outputs)t(n)}outputDefined(){return this.outputs.every((t)=>t.outputDefined())}},Dy=class e{constructor(t,n,r,o,a,i){this.type=t,this.operator=n,this.interpolation=r,this.input=o,this.key=i,this.labels=[],this.outputs=[];for(let[s,l]of a)this.labels.push(s),this.outputs.push(l)}static interpolationFactor(t,n,r,o){let a=0;if(t.name==="exponential")a=QOe(n,t.base,r,o);else if(t.name==="linear")a=QOe(n,1,r,o);else if(t.name==="cubic-bezier"){let i=t.controlPoints;a=Fbr(i[0],i[1],i[2],i[3])(QOe(n,1,r,o))}return a}static parse(t,n){let[r,o,a,...i]=t;if(!Array.isArray(o)||o.length===0)return n.error("Expected an interpolation type expression.",1);if(o[0]==="linear")o={name:"linear"};else if(o[0]==="exponential"){let c=o[1];if(typeof c!="number")return n.error("Exponential interpolation requires a numeric base.",1,1);o={name:"exponential",base:c}}else if(o[0]==="cubic-bezier"){let c=o.slice(1);if(c.length!==4||c.some((u)=>typeof u!="number"||u<0||u>1))return n.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);o={name:"cubic-bezier",controlPoints:c}}else return n.error(`Unknown interpolation type ${String(o[0])}`,1,0);if(t.length-1<4)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return n.error("Expected an even number of arguments.");if(a=n.parse(a,2,bn),!a)return null;let s=[],l=null;(r==="interpolate-hcl"||r==="interpolate-lab")&&n.expectedType!=ZZ?l=mv:n.expectedType&&n.expectedType.kind!=="value"&&(l=n.expectedType);for(let c=0;c=u)return n.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);let m=n.parse(d,f,l);if(!m)return null;l||=m.type,s.push([u,m])}return!NC(l,bn)&&!NC(l,Ife)&&!NC(l,mv)&&!NC(l,kfe)&&!NC(l,Rfe)&&!NC(l,ZZ)&&!NC(l,Pfe)&&!NC(l,Im(bn))?n.error(`Type ${Al(l)} is not interpolatable.`):new e(l,r,o,a,s,n.key)}evaluate(t){let n=this.labels,r=this.outputs;if(n.length===1)return r[0].evaluate(t);let o=this.input.evaluate(t);if(o<=n[0])return r[0].evaluate(t);let a=n.length;if(o>=n[a-1])return r[a-1].evaluate(t);let i=Mfe(n,o,this.key),s=n[i],l=n[i+1],c=e.interpolationFactor(this.interpolation,o,s,l),u=r[i].evaluate(t),d=r[i+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return qC(u,d,c);case"color":return Kr.interpolate(u,d,c);case"padding":return qx.interpolate(u,d,c);case"colorArray":return My.interpolate(u,d,c);case"numberArray":return Zx.interpolate(u,d,c);case"variableAnchorOffsetCollection":return Hx.interpolate(u,d,c,this.key);case"array":return BL(u,d,c);case"projectionDefinition":return Dw.interpolate(u,d,c)}case"interpolate-hcl":switch(this.type.kind){case"color":return Kr.interpolate(u,d,c,"hcl");case"colorArray":return My.interpolate(u,d,c,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return Kr.interpolate(u,d,c,"lab");case"colorArray":return My.interpolate(u,d,c,"lab")}}}eachChild(t){t(this.input);for(let n of this.outputs)t(n)}outputDefined(){return this.outputs.every((t)=>t.outputDefined())}},Hs,_in=class e{constructor(t){this.type=yQ,this.sections=t}static parse(t,n){if(t.length<2)return n.error("Expected at least one argument.");let r=t[1];if(!Array.isArray(r)&&typeof r=="object")return n.error("First argument must be an image or text section.");let o=[],a=!1;for(let i=1;i<=t.length-1;++i){let s=t[i];if(a&&typeof s=="object"&&!Array.isArray(s)){a=!1;let l=null;if(s["font-scale"]&&(l=n.parse(s["font-scale"],1,bn),!l))return null;let c=null;if(s["text-font"]&&(c=n.parse(s["text-font"],1,Im(fo)),!c))return null;let u=null;if(s["text-color"]&&(u=n.parse(s["text-color"],1,mv),!u))return null;let d=null;if(s["vertical-align"]){if(typeof s["vertical-align"]=="string"&&!Lbr.includes(s["vertical-align"]))return n.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${s["vertical-align"]}' instead.`);if(d=n.parse(s["vertical-align"],1,fo),!d)return null}let p=o[o.length-1];p.scale=l,p.font=c,p.textColor=u,p.verticalAlign=d}else{let l=n.parse(t[i],1,bo);if(!l)return null;let c=l.type.kind;if(c!=="string"&&c!=="value"&&c!=="null"&&c!=="resolvedImage")return n.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");a=!0,o.push({content:l,scale:null,font:null,textColor:null,verticalAlign:null})}}return new e(o)}evaluate(t){return new Iw(this.sections.map((n)=>{let r=n.content.evaluate(t);return yc(r)===vQ?new iFe("",r,null,null,null,n.verticalAlign?n.verticalAlign.evaluate(t):null):new iFe(NZ(r),null,n.scale?n.scale.evaluate(t):null,n.font?n.font.evaluate(t).join(","):null,n.textColor?n.textColor.evaluate(t):null,n.verticalAlign?n.verticalAlign.evaluate(t):null)}))}eachChild(t){for(let n of this.sections)t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor),n.verticalAlign&&t(n.verticalAlign)}outputDefined(){return!1}},Mpe,ww=class e{constructor(t,n,r){this.type=t,this.args=n,this.key=r}static parse(t,n){if(t.length<2)return n.error("Expected at least one argument.");let r=1,o,a=t[0];if(a==="array"){let s;if(t.length>2){let c=t[1];if(typeof c!="string"||!(c in Mpe)||c==="object")return n.error('The item type argument of "array" must be one of string, number, boolean',1);s=Mpe[c],r++}else s=bo;let l;if(t.length>3){if(t[2]!==null&&(typeof t[2]!="number"||t[2]<0||t[2]!==Math.floor(t[2])))return n.error('The length argument to "array" must be a positive integer literal',2);l=t[2],r++}o=Im(s,l)}else{if(!Mpe[a])throw Error(`Types doesn't contain name = ${a}`);o=Mpe[a]}let i=[];for(;rt.outputDefined())}},Ton,EL=class e{constructor(t,n,r){this.type=t,this.args=n,this.key=r}static parse(t,n){if(t.length<2)return n.error("Expected at least one argument.");let r=t[0];if(!Ton[r])throw Error(`Can't parse ${r} as it is not part of the known types`);if((r==="to-boolean"||r==="to-string")&&t.length!==2)return n.error("Expected one argument.");let o=Ton[r],a=[];for(let i=1;i4?`Invalid rgba value ${JSON.stringify(n)}: expected an array containing either three or four numeric values.`:Nin(n[0],n[1],n[2],n[3]),!r))return new Kr(n[0]/255,n[1]/255,n[2]/255,n[3])}throw new tl(r||`Could not parse color from value '${typeof n=="string"?n:JSON.stringify(n)}'`,this.key)}case"padding":{let n;for(let r of this.args){n=r.evaluate(t);let o=qx.parse(n);if(o)return o}throw new tl(`Could not parse padding from value '${typeof n=="string"?n:JSON.stringify(n)}'`,this.key)}case"numberArray":{let n;for(let r of this.args){n=r.evaluate(t);let o=Zx.parse(n);if(o)return o}throw new tl(`Could not parse numberArray from value '${typeof n=="string"?n:JSON.stringify(n)}'`,this.key)}case"colorArray":{let n;for(let r of this.args){n=r.evaluate(t);let o=My.parse(n);if(o)return o}throw new tl(`Could not parse colorArray from value '${typeof n=="string"?n:JSON.stringify(n)}'`,this.key)}case"variableAnchorOffsetCollection":{let n;for(let r of this.args){n=r.evaluate(t);let o=Hx.parse(n);if(o)return o}throw new tl(`Could not parse variableAnchorOffsetCollection from value '${typeof n=="string"?n:JSON.stringify(n)}'`,this.key)}case"number":{let n=null;for(let r of this.args){if(n=r.evaluate(t),n===null)return 0;let o=Number(n);if(!isNaN(o))return o}throw new tl(`Could not convert ${JSON.stringify(n)} to number.`,this.key)}case"formatted":return Iw.fromString(NZ(this.args[0].evaluate(t)));case"resolvedImage":return Vx.fromString(NZ(this.args[0].evaluate(t)));case"projectionDefinition":{let n=this.args[0].evaluate(t);if(Dw.parse(n))return n;throw new tl(`Could not parse projectionDefinition from value '${typeof n=="string"?n:JSON.stringify(n)}'`,this.key)}default:return NZ(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t)=>t.outputDefined())}},Vin=class e{constructor(t,n){this.type=n.type,this.bindings=[].concat(t),this.result=n}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(let n of this.bindings)t(n[1]);t(this.result)}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let r=[];for(let a=1;a=r.length)throw new tl(`Array index out of bounds: ${n} > ${r.length-1}.`,this.key);if(n!==Math.floor(n))throw new tl(`Array index must be an integer, but found ${n} instead.`,this.key);return r[n]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}},Hbr=class e{constructor(t,n,r){this.needle=t,this.haystack=n,this.key=r,this.type=Uo}static parse(t,n){if(t.length!==3)return n.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,bo),o=n.parse(t[2],2,bo);return!r||!o?null:CUe(r.type,[Uo,fo,bn,gQ,bo])?new e(r,o,n.key):n.error(`Expected first argument to be of type boolean, string, number or null, but found ${Al(r.type)} instead`)}evaluate(t){let n=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!_T(n,["boolean","string","number","null"]))throw new tl(`Expected first argument to be of type boolean, string, number or null, but found ${Al(yc(n))} instead.`,this.key);if(!_T(r,["string","array"]))throw new tl(`Expected second argument to be of type array or string, but found ${Al(yc(r))} instead.`,this.key);return r.indexOf(n)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}},Vbr=class e{constructor(t,n,r,o){this.needle=t,this.haystack=n,this.key=r,this.fromIndex=o,this.type=bn}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,bo),o=n.parse(t[2],2,bo);if(!r||!o)return null;if(!CUe(r.type,[Uo,fo,bn,gQ,bo]))return n.error(`Expected first argument to be of type boolean, string, number or null, but found ${Al(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,bn);return a?new e(r,o,n.key,a):null}return new e(r,o,n.key)}evaluate(t){let n=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!_T(n,["boolean","string","number","null"]))throw new tl(`Expected first argument to be of type boolean, string, number or null, but found ${Al(yc(n))} instead.`,this.key);let o;if(this.fromIndex&&(o=this.fromIndex.evaluate(t)),_T(r,["string"])){let a=r.indexOf(n,o);return a===-1?-1:[...r.slice(0,a)].length}if(_T(r,["array"]))return r.indexOf(n,o);throw new tl(`Expected second argument to be of type array or string, but found ${Al(yc(r))} instead.`,this.key)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}},Gbr=class e{constructor(t,n,r,o,a,i){this.inputType=t,this.type=n,this.input=r,this.cases=o,this.outputs=a,this.otherwise=i}static parse(t,n){if(t.length<5)return n.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return n.error("Expected an even number of arguments.");let r,o;n.expectedType&&n.expectedType.kind!=="value"&&(o=n.expectedType);let a={},i=[];for(let c=2;c9007199254740991)return p.error("Branch labels must be integers no larger than 9007199254740991.");if(typeof m=="number"&&Math.floor(m)!==m)return p.error("Numeric branch labels must be integer values.");if(!r)r=yc(m);else if(p.checkSubtype(r,yc(m)))return null;if(a[String(m)]!==void 0)return p.error("Branch labels must be unique.");a[String(m)]=i.length}let f=n.parse(d,c,o);if(!f)return null;o||=f.type,i.push(f)}let s=n.parse(t[1],1,bo);if(!s)return null;let l=n.parse(t[t.length-1],t.length-1,o);return!l||s.type.kind!=="value"&&n.concat(1).checkSubtype(r,s.type)?null:new e(r,o,s,a,i,l)}evaluate(t){let n=this.input.evaluate(t);return(yc(n)===this.inputType&&this.outputs[this.cases[n]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t)=>t.outputDefined())&&this.otherwise.outputDefined()}},qbr=class e{constructor(t,n,r){this.type=t,this.branches=n,this.otherwise=r}static parse(t,n){if(t.length<4)return n.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return n.error("Expected an odd number of arguments.");let r;n.expectedType&&n.expectedType.kind!=="value"&&(r=n.expectedType);let o=[];for(let i=1;in.outputDefined())&&this.otherwise.outputDefined()}},Zbr=class e{constructor(t,n,r,o,a){this.type=t,this.input=n,this.beginIndex=r,this.key=o,this.endIndex=a}static parse(t,n){if(t.length<=2||t.length>=5)return n.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let r=n.parse(t[1],1,bo),o=n.parse(t[2],2,bn);if(!r||!o)return null;if(!CUe(r.type,[Im(bo),fo,bo]))return n.error(`Expected first argument to be of type array or string, but found ${Al(r.type)} instead`);if(t.length===4){let a=n.parse(t[3],3,bn);return a?new e(r.type,r,o,n.key,a):null}return new e(r.type,r,o,n.key)}evaluate(t){let n=this.input.evaluate(t),r=this.beginIndex.evaluate(t),o;if(this.endIndex&&(o=this.endIndex.evaluate(t)),_T(n,["string"]))return[...n].slice(r,o).join("");if(_T(n,["array"]))return n.slice(r,o);throw new tl(`Expected first argument to be of type array or string, but found ${Al(yc(n))} instead.`,this.key)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}},qin=class e{constructor(t,n){this.type=t,this.args=n}static parse(t,n){if(t.length<2)return n.error("Expected at least one argument.");let r=null,o=n.expectedType;o&&o.kind!=="value"&&(r=o);let a=[];for(let i of t.slice(1)){let s=n.parse(i,1+a.length,r,void 0,{typeAnnotation:"omit"});if(!s)return null;r||=s.type,a.push(s)}if(!r)throw Error("No output type");return o&&a.some((i)=>QZ(o,i.type))?new e(bo,a):new e(r,a)}evaluate(t){let n=null,r=0,o;for(let a of this.args)if(r++,n=a.evaluate(t),n&&n instanceof Vx&&!n.available&&(o||=n.name,n=null,r===this.args.length&&(n=o)),n!==null)break;return n}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t)=>t.outputDefined())}},rxr,oxr,axr,ixr,sxr,lxr,Qin=class e{constructor(t,n,r){this.type=Tfe,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=n}static parse(t,n){if(t.length!==2)return n.error("Expected one argument.");let r=t[1];if(typeof r!="object"||Array.isArray(r))return n.error("Collator options argument must be an object.");let o=n.parse(r["case-sensitive"]!==void 0&&r["case-sensitive"],1,Uo);if(!o)return null;let a=n.parse(r["diacritic-sensitive"]!==void 0&&r["diacritic-sensitive"],1,Uo);if(!a)return null;let i=null;return r.locale&&(i=n.parse(r.locale,1,fo),!i)?null:new e(o,a,i)}evaluate(t){return new EUe(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}},cxr=class e{constructor(t,n,r,o,a,i){this.type=fo,this.number=t,this.locale=n,this.currency=r,this.unit=o,this.minFractionDigits=a,this.maxFractionDigits=i}static parse(t,n){if(t.length!==3)return n.error("Expected two arguments.");let r=n.parse(t[1],1,bn);if(!r)return null;let o=t[2];if(typeof o!="object"||Array.isArray(o))return n.error("NumberFormat options argument must be an object.");let a=null;if(o.locale&&(a=n.parse(o.locale,1,fo),!a))return null;let i=null;if(o.currency&&(i=n.parse(o.currency,1,fo),!i))return null;let s=null;if(o.unit&&(s=n.parse(o.unit,1,fo),!s))return null;if(i&&s)return n.error("NumberFormat options `currency` and `unit` are mutually exclusive");let l=null;if(o["min-fraction-digits"]&&(l=n.parse(o["min-fraction-digits"],1,bn),!l))return null;let c=null;return o["max-fraction-digits"]&&(c=n.parse(o["max-fraction-digits"],1,bn),!c)?null:new e(r,a,i,s,l,c)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":this.unit?"unit":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,unit:this.unit?this.unit.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.unit&&t(this.unit),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}},uxr=class e{constructor(t){this.type=vQ,this.input=t}static parse(t,n){if(t.length!==2)return n.error("Expected two arguments.");let r=n.parse(t[1],1,fo);return r?new e(r):n.error("No image name provided.")}evaluate(t){let n=this.input.evaluate(t),r=Vx.fromString(n);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(n)>-1),r}eachChild(t){t(this.input)}outputDefined(){return!1}},dxr=class e{constructor(t,n){this.input=t,this.key=n,this.type=bn}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=n.parse(t[1],1);return r?r.type.kind!=="array"&&r.type.kind!=="string"&&r.type.kind!=="value"?n.error(`Expected argument of type string or array, but found ${Al(r.type)} instead.`):new e(r,n.key):null}evaluate(t){let n=this.input.evaluate(t);if(typeof n=="string")return[...n].length;if(Array.isArray(n))return n.length;throw new tl(`Expected value to be of type string or array, but found ${Al(yc(n))} instead.`,this.key)}eachChild(t){t(this.input)}outputDefined(){return!1}},_x=8192,RUe=class e{constructor(t,n){this.type=Uo,this.geojson=t,this.geometries=n}static parse(t,n){if(t.length!==2)return n.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(OL(t[1])){let r=t[1];if(r.type==="FeatureCollection"){let o=[];for(let a of r.features){let{type:i,coordinates:s}=a.geometry;i==="Polygon"&&o.push(s),i==="MultiPolygon"&&o.push(...s)}if(o.length)return new e(r,{type:"MultiPolygon",coordinates:o})}else if(r.type==="Feature"){let o=r.geometry.type;if(o==="Polygon"||o==="MultiPolygon")return new e(r,r.geometry)}else if(r.type==="Polygon"||r.type==="MultiPolygon")return new e(r,r)}return n.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return Cxr(t,this.geometries);if(t.geometryType()==="LineString")return Exr(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},Kin=class{constructor(e=[],t=(n,r)=>nr)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let o=e-1>>1,a=t[o];if(n(r,a)>=0)break;t[e]=a,e=o}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,o=t[e];for(;e=0)break;t[e]=t[a],e=a}t[e]=o}},Don,PUe=class{constructor(e){let t=Don*6378.137*1000,n=Math.cos(e*Don),r=1/(1-0.0066943799901413165*(1-n*n)),o=Math.sqrt(r);this.kx=t*o*n,this.ky=t*o*r*0.9933056200098587}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n=1/0,r,o,a,i;for(let s=0;s1?(l=e[s+1][0],c=e[s+1][1]):p>0&&(l+=u/this.kx*p,c+=d/this.ky*p)),u=this.wrap(t[0]-l)*this.kx,d=(t[1]-c)*this.ky;let f=u*u+d*d;f180;)e-=360;return e}},LUe=class e{constructor(t,n){this.type=bn,this.geojson=t,this.geometries=n}static parse(t,n){if(t.length!==2)return n.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(OL(t[1])){let r=t[1];if(r.type==="FeatureCollection")return new e(r,r.features.map((o)=>XOe(o.geometry)).flat());if(r.type==="Feature")return new e(r,XOe(r.geometry));if("type"in r&&"coordinates"in r)return new e(r,XOe(r))}return n.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return Mxr(t,this.geometries);if(t.geometryType()==="LineString")return Dxr(t,this.geometries);if(t.geometryType()==="Polygon")return Lxr(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},Bxr=class e{constructor(t){let n=null;for(let r of t)if(!n)n=r.type;else if(n===r.type)continue;else{n=bo;break}this.type=Im(n??bo,t.length),this.arr=t}static parse(t,n){if(t.length!==2)return n.error(`'semiliteral' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!OL(t[1]))return n.error(`invalid value of type "${typeof t[1]}"`);let r=t[1],o=yc(r);if(o.kind==="array"){let a=r,i=n.concat(1),s=[];for(let l=0;ln.evaluate(t))}eachChild(t){this.arr.forEach(t)}outputDefined(){return this.arr.every((t)=>t.outputDefined())}},BUe=class e{constructor(t){this.key=t,this.type=bo}static parse(t,n){if(t.length!==2)return n.error(`Expected 1 argument, but found ${t.length-1} instead.`);let r=t[1];return r==null?n.error("Global state property must be defined."):typeof r=="string"?new e(r):n.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(t){let n=t.globals?.globalState;return!n||Object.keys(n).length===0?null:UZ(n,this.key)??null}eachChild(){}outputDefined(){return!1}},kL,Nx,Oxr=class e{constructor(t,n=[]){this.parent=t,this.bindings={};for(let[r,o]of n)this.bindings[r]=o}concat(t){return new e(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw Error(`${t} not found in scope.`)}has(t){return this.bindings[t]?!0:this.parent?this.parent.has(t):!1}},jin=class e{constructor(t,n,r=[],o,a=new Oxr,i=[]){this.registry=t,this.path=r,this.key=r.map((s)=>`[${s}]`).join(""),this.scope=a,this.errors=i,this.expectedType=o,this._isConstant=n}parse(t,n,r,o,a={}){return n==null?this._parse(t,a):this.concat(n,r,o)._parse(t,a)}_parse(t,n){(t===null||typeof t=="string"||typeof t=="boolean"||typeof t=="number")&&(t=["literal",t]);let r=this.key;function o(a,i,s){return s==="assert"?new ww(i,[a],r):s==="coerce"?new EL(i,[a],r):a}if(Array.isArray(t)){if(t.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let a=t[0];if(typeof a!="string")return this.error(`Expression name must be a string, but found ${typeof a} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[a];if(i){let s=i.parse(t,this);if(!s)return null;if(this.expectedType){let l=this.expectedType,c=s.type;if((l.kind==="string"||l.kind==="number"||l.kind==="boolean"||l.kind==="object"||l.kind==="array")&&c.kind==="value")s=o(s,l,n.typeAnnotation||"assert");else if(l.kind==="projectionDefinition"&&["string","array","value"].includes(c.kind)||["color","formatted","resolvedImage"].includes(l.kind)&&["value","string"].includes(c.kind)||["padding","numberArray"].includes(l.kind)&&["value","number","array"].includes(c.kind)||l.kind==="colorArray"&&["value","string","array"].includes(c.kind)||l.kind==="variableAnchorOffsetCollection"&&["value","array"].includes(c.kind))s=o(s,l,n.typeAnnotation||"coerce");else if(this.checkSubtype(l,c))return null}if(!(s instanceof FL)&&s.type.kind!=="resolvedImage"&&this._isConstant(s)){let l=new zin;try{s=new FL(s.type,s.evaluate(l))}catch(c){return this.error(c.message),null}}return s}return this.error(`Unknown expression "${a}". If you wanted a literal array, use ["literal", [...]].`,0)}return t===void 0?this.error("'undefined' value invalid. Use null instead."):typeof t=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,n,r){let o=typeof t=="number"?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new e(this.registry,this._isConstant,o,n||null,a,this.errors)}error(t,...n){let r=`${this.key}${n.map((o)=>`[${o}]`).join("")}`;this.errors.push(new Nx(r,t))}checkSubtype(t,n){let r=QZ(t,n);return r&&this.error(r),r}},JT=class e{constructor(t,n,r,o,a){this.name=t,this.type=n,this._evaluate=r,this.args=o,this.key=a}evaluate(t){return this._evaluate(t,this.args,this.key)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,n){let r=t[0],o=e.definitions[r];if(!o)return n.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let a=Array.isArray(o)?o[0]:o.type,i=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,s=i.filter(([c])=>!Array.isArray(c)||c.length===t.length-1),l=null;for(let[c,u]of s){l=new jin(n.registry,Jpe,n.path,null,n.scope);let d=[],p=!1;for(let f=1;fUxr(d)).join(" | "),u=[];for(let d=1;dJSON.stringify(s)).join(", ")}, but found ${JSON.stringify(i)} instead.`,"");return i}catch(i){let s=i instanceof tl?i.path:"",l=`${s}|${i.message}`;return this._warningHistory[l]||(this._warningHistory[l]=!0,typeof console<"u"&&console.warn(nsn(this._rootKey,s,i.message,this._defaultValue))),this._defaultValue}}},KZ=class{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!=="constant"&&!WZ(t.expression),this.globalStateRefs=AQ(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,o,a){return this._globalState&&(e=NL(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,o,a)}evaluate(e,t,n,r,o,a){return this._globalState&&(e=NL(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,o,a)}},jpe=class{constructor(e,t,n,r,o){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!=="camera"&&!WZ(t.expression),this.globalStateRefs=AQ(t.expression),this.interpolationType=r,this._globalState=o}evaluateWithoutErrorHandling(e,t,n,r,o,a){return this._globalState&&(e=NL(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,o,a)}evaluate(e,t,n,r,o,a){return this._globalState&&(e=NL(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,o,a)}interpolationFactor(e,t,n){return this.interpolationType?Dy.interpolationFactor(this.interpolationType,e,t,n):0}},asn=class e{constructor(t,n,r){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,rsn(n),this._parameters=t,this._specification=r,this._rootKey=n,this._defaultValue=isn(r),this._warningHistory={};let o=esn(this._parameters,this._specification);this.kind=o.kind,this.interpolationFactor=o.interpolationFactor,this.zoomStops=o.zoomStops,this.interpolationType=o.interpolationType,this._innerEvaluate=o.evaluate}evaluate(t,n){try{return this._innerEvaluate(t,n)}catch(r){let o=r instanceof Error?r.message:String(r),a=`|${o}`;return this._warningHistory[a]||(this._warningHistory[a]=!0,typeof console<"u"&&console.warn(nsn(this._rootKey,"",o,this._defaultValue))),this._defaultValue}}static deserialize(t){return new e(t._parameters,t._rootKey,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification,_rootKey:t._rootKey}}},Jxr,Hon,Von=1114111,hAr,Gon,yAr,vAr=class{constructor(e,t,n){this._rootKey=t,this._globalState=n,this.setValue(e)}evaluate(){return this._literalValue??this._compiledValue.evaluate({})}setValue(e){if(e==null||e==="visible"||e==="none"){this._literalValue=e==="none"?"none":"visible",this._compiledValue=void 0,this._globalStateRefs=new Set;return}let t=Nfe(e,this._rootKey,yAr,this._globalState);if(t.result==="error")throw this._literalValue="visible",this._compiledValue=void 0,Error(t.value.map((n)=>`${n.key}: ${n.message}`).join(", "));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=AQ(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}},Sh,VUe,fFe=class e{constructor(t,n,r){let o=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;let i=new Int32Array(this.arrayBuffer);t=i[0],n=i[1],r=i[2],this.d=n+2*r;for(let c=0;c=d[f+0]&&o>=d[f+1])?(s[p]=!0,i.push(u[p])):s[p]=!1}}}_forEachCell(t,n,r,o,a,i,s,l){let c=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r),p=this._convertToCellCoord(o);for(let f=c;f<=d;f++)for(let m=u;m<=p;m++){let g=this.d*m+f;if((!l||l(this._convertFromCellCoord(f),this._convertFromCellCoord(m),this._convertFromCellCoord(f+1),this._convertFromCellCoord(m+1)))&&a.call(this,t,n,r,o,g,i,s,l))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let t=this.cells,n=3+this.cells.length+1+1,r=0;for(let i of this.cells)r+=i.length;let o=new Int32Array(n+r+this.keys.length+this.bboxes.length);o[0]=this.extent,o[1]=this.n,o[2]=this.padding;let a=n;for(let i=0;in?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoomthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:0.5,toScale:1,t:1-(1-n)*t}}},jZ=class{constructor(e,t,n,r){this.property=e,this.value=t,this.expression=Qxr(t===void 0?e.specification.default:t,n,e.specification,r)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}readsGlobalState(e){let t=this.getGlobalStateRefs();return e.some((n)=>t.has(n))}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}},mFe=class{constructor(e,t,n){this.property=e,this.value=new jZ(e,void 0,t,n)}transitioned(e,t){return t.value===this.value?t:new qon(this.property,this.value,t,rr({},e.transition,this.transition),e.now)}untransitioned(){return new qon(this.property,this.value,null,{},0)}},wQ=class{constructor(e,t,n){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=n,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return Ah(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new mFe(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new jZ(this._values[e].property,t===null?void 0:Ah(t),this._propertyRootKey(e),this._globalState)}setValues(e){for(let t in e){let n=e[t];t.endsWith("-transition")?this.setTransition(t.slice(0,-11),n):hv(this._values[t].value.value,n)||this.setValue(t,n)}}getTransition(e){return Ah(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new mFe(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=Ah(t)||void 0}retainPriorGlobalState(e,t,n){for(let r of Object.keys(n._values))for(let o=n._values[r];o;o=o.prior){let{value:a}=o;a.property.specification.transition&&!a.isDataDriven()&&a.expression._globalState===this._globalState&&a.readsGlobalState(e)&&(o.value=new jZ(a.property,a.value,this._propertyRootKey(r),t))}}applyGlobalStateChange(e,t,n,r){this.retainPriorGlobalState(e,t,n);let o=!1;for(let a of Object.keys(this._values)){let{value:i}=this._values[a];i.readsGlobalState(e)&&(this.setValue(a,i.value),o=!0)}return o?this.transitioned(r,n):n}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){let n=new Zon(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new Zon(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},qon=class{constructor(e,t,n,r,o){this.property=e,this.value=t,this.begin=o+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,o=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(!a)return o;if(r>this.end||this.value.isDataDriven())return this.prior=null,o;if(rr.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}},Vfe=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}},np=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new jZ(n,void 0,n.name,void 0),o=this.defaultTransitionablePropertyValues[t]=new mFe(n,n.name,void 0);this.defaultTransitioningPropertyValues[t]=o.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}},Xon=" is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?",JOe=" is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?",bv,SAr,CAr=()=>SAr||=new np({"raster-opacity":new Mn(bt.paint_raster["raster-opacity"],"raster-opacity"),"raster-hue-rotate":new Mn(bt.paint_raster["raster-hue-rotate"],"raster-hue-rotate"),"raster-brightness-min":new Mn(bt.paint_raster["raster-brightness-min"],"raster-brightness-min"),"raster-brightness-max":new Mn(bt.paint_raster["raster-brightness-max"],"raster-brightness-max"),"raster-saturation":new Mn(bt.paint_raster["raster-saturation"],"raster-saturation"),"raster-contrast":new Mn(bt.paint_raster["raster-contrast"],"raster-contrast"),resampling:new Mn(bt.paint_raster.resampling,"resampling"),"raster-resampling":new Mn(bt.paint_raster["raster-resampling"],"raster-resampling"),"raster-fade-duration":new Mn(bt.paint_raster["raster-fade-duration"],"raster-fade-duration")}),EAr,Gfe=(e)=>e.type==="raster",IAr,TAr,SQ=class{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}},wl=class{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(this.capacity*5),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error("_refreshViews() must be implemented by each concrete StructArray layout")}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}},eQ,tfe,hFe,gFe,yFe,tQ,vFe,bFe,xFe,AFe,wFe,SFe,CFe,EFe,IFe,nfe,TFe,kFe,rfe,RFe,PFe,MFe,DFe,LFe,Psn,ZUe,Msn,Dsn,Lsn,Bsn,Osn,Fsn,Usn,Nsn,zsn,_sn,Lw,Hsn,Vsn,RAr,PAr,MAr,DAr,LAr,xL,Yon,BAr,OAr,FAr,Kon,Gsn,UAr,qsn,xv,BFe,Zsn,OFe,NAr,Vs=class e{constructor(t=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=t}prepareSegment(t,n,r,o){let a=this.segments[this.segments.length-1];return t>e.MAX_VERTEX_ARRAY_LENGTH&&Ko(`Max vertices per segment is ${e.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${e.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>e.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==o?this.createNewSegment(n,r,o):a}createNewSegment(t,n,r){let o={vertexOffset:t.length,primitiveOffset:n.length,vertexLength:0,primitiveLength:0,vaos:{}};return r!==void 0&&(o.sortKey=r),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(o),o}getOrCreateLatestSegment(t,n,r){return this.prepareSegment(0,t,n,r)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let t of this.segments)for(let n in t.vaos)t.vaos[n].destroy()}static simpleSegment(t,n,r,o){return new e([{vertexOffset:t,primitiveOffset:n,vertexLength:r,primitiveLength:o,vaos:{},sortKey:0}])}},zAr,_Ar,HAr,VAr,ofe,Qsn=class e{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,n,r,o){this.ids.push(jon(t)),this.positions.push(n,r,o)}getPositions(t){if(!this.indexed)throw Error("Trying to get index, but feature positions are not indexed");let n=jon(t),r=0,o=this.ids.length-1;for(;r>1;this.ids[i]>=n?o=i:r=i+1}let a=[];for(;this.ids[r]===n;){let i=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:i,start:s,end:l}),r++}return a}static serialize(t,n){let r=new Float64Array(t.ids),o=new Uint32Array(t.positions);return FFe(r,o,0,r.length-1),n&&n.push(r.buffer,o.buffer),{ids:r,positions:o}}static deserialize(t){let n=new e;return n.ids=t.ids,n.positions=t.positions,n.indexed=!0,n}},Bw=class{constructor(e,t){this.gl=e.gl,this.location=t}},ar,Un,Ao,Rm,YL,Ow,QUe,XUe,GAr,Uy,BZ=class{constructor(e,t,n){this.value=e,this.uniformNames=t.map((r)=>`u_${r}`),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type==="color"?new Ow(e,t):new Un(e,t)}},OT=class{constructor(e,t){this.uniformNames=t.map((n)=>`u_${n}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,n,r){let o=null;r==="u_pattern_to"?o=this.patternTo:r==="u_pattern_from"?o=this.patternFrom:r==="u_dasharray_to"?o=this.dashTo:r==="u_dasharray_from"?o=this.dashFrom:r==="u_pixel_ratio_to"?o=this.pixelRatioTo:r==="u_pixel_ratio_from"&&(o=this.pixelRatioFrom),o!==null&&e.set(o)}getBinding(e,t,n){return n.startsWith("u_pattern")||n.startsWith("u_dasharray_")?new YL(e,t):new Un(e,t)}},Aw=class{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map((o)=>({name:`a_${o}`,type:"Float32",components:n==="color"?2:1,offset:0})),this.paintVertexArray=new r}populatePaintArray(e,t,n){let r=this.paintVertexArray.length,o=this.expression.evaluate(new oi(0,n),t,{},n.canonical,[],n.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(r,e,o)}updatePaintArray(e,t,n,r,o){let a=this.expression.evaluate(new oi(0,o),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type==="color"){let r=UFe(n);for(let o=e;o`u_${i}_t`),this.type=n,this.useIntegerZoom=r,this.zoom=o,this.maxValue=0,this.paintVertexAttributes=t.map((i)=>({name:`a_${i}`,type:"Float32",components:n==="color"?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,n){let r=this.expression.evaluate(new oi(this.zoom,n),t,{},n.canonical,[],n.formattedSection),o=this.expression.evaluate(new oi(this.zoom+1,n),t,{},n.canonical,[],n.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,r,o)}updatePaintArray(e,t,n,r,o){let a=this.expression.evaluate(new oi(this.zoom,o),n,r),i=this.expression.evaluate(new oi(this.zoom+1,o),n,r);this._setPaintValue(e,t,a,i)}_setPaintValue(e,t,n,r){if(this.type==="color"){let o=UFe(n),a=UFe(r);for(let i=e;i`#define HAS_UNIFORM_${r}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof Aw||n instanceof pv)for(let r of n.paintVertexAttributes)e.push(r.name);else if(n instanceof _C){let r=n.getVertexAttributes();for(let o of r)e.push(o.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof BZ||n instanceof OT||n instanceof pv)for(let r of n.uniformNames)e.push(r)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let o=this.binders[r];if(o instanceof BZ||o instanceof OT||o instanceof pv){for(let a of o.uniformNames)if(t[a]){let i=o.getBinding(e,t[a],a);n.push({name:a,property:r,binding:i})}}}return n}setUniforms(e,t,n,r){for(let{name:o,property:a,binding:i}of t)this.binders[a].setUniform(i,r,n.get(a),o)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof _C){let r=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;r&&this._buffers.push(r)}else(n instanceof Aw||n instanceof pv)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof Aw||n instanceof pv||n instanceof _C)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof Aw||t instanceof pv||t instanceof _C)&&t.destroy()}}},qT=class{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new Ysn(r,t,n);this.needsUpload=!1,this._featureMap=new Qsn,this._bufferOffset=0}populatePaintArrays(e,t,n,r){for(let o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(e,t,r);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let o of n)this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(e,this._featureMap,t,o,r)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}},NFe=16383,ean,tan=-32768,WUe=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((t)=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new RAr,this.indexArray=new xv,this.segments=new Vs,this.programConfigurations=new qT(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((t)=>t.isStateDependent()).map((t)=>t.id)}populate(e,t,n){let r=this.layers[0],o=[],a=null,i=!1,s=r.type==="heatmap";if(r.type==="circle"){let d=r;a=d.layout.get("circle-sort-key"),i=!a.isConstant(),s||=d.paint.get("circle-pitch-alignment")==="map"}let l=s?t.subdivisionGranularity.circle:1,c=new oi(this.zoom),u=this.layers[0]._featureFilter.needGeometry;for(let{feature:d,id:p,index:f,sourceLayerIndex:m}of e){let g=jC(d,u);if(!this.layers[0]._featureFilter.filter(c,g,n))continue;let v=i?a.evaluate(g,{},n):void 0,y={id:p,properties:d.properties,type:d.type,sourceLayerIndex:m,index:f,geometry:u?g.geometry:jT(d),patterns:{},sortKey:v};o.push(y)}i&&o.sort((d,p)=>d.sortKey-p.sortKey);for(let d of o){let{geometry:p,index:f,sourceLayerIndex:m}=d,g=e[f].feature;this.addFeature(d,p,f,n,l),t.featureIndex.insert(g,p,f,m,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures(e){}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,NAr),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,n,r,o=1){let a;switch(o){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${o}; valid values are 1, 3, 5, 7.`)}let i=a.length;for(let s of t)for(let l of s){let{x:c,y:u}=l;if(c<0||c>=8192||u<0||u>=8192)continue;let d=this.segments.prepareSegment(i*i,this.layoutVertexArray,this.indexArray,e.sortKey),p=d.vertexLength;for(let f=0;fa3r||=new np({"circle-sort-key":new dr(bt.layout_circle["circle-sort-key"],"circle-sort-key")}),s3r,l3r=()=>s3r||=new np({"circle-radius":new dr(bt.paint_circle["circle-radius"],"circle-radius"),"circle-color":new dr(bt.paint_circle["circle-color"],"circle-color"),"circle-blur":new dr(bt.paint_circle["circle-blur"],"circle-blur"),"circle-opacity":new dr(bt.paint_circle["circle-opacity"],"circle-opacity"),"circle-translate":new Mn(bt.paint_circle["circle-translate"],"circle-translate"),"circle-translate-anchor":new Mn(bt.paint_circle["circle-translate-anchor"],"circle-translate-anchor"),"circle-pitch-scale":new Mn(bt.paint_circle["circle-pitch-scale"],"circle-pitch-scale"),"circle-pitch-alignment":new Mn(bt.paint_circle["circle-pitch-alignment"],"circle-pitch-alignment"),"circle-stroke-width":new dr(bt.paint_circle["circle-stroke-width"],"circle-stroke-width"),"circle-stroke-color":new dr(bt.paint_circle["circle-stroke-color"],"circle-stroke-color"),"circle-stroke-opacity":new dr(bt.paint_circle["circle-stroke-opacity"],"circle-stroke-opacity")}),c3r,$sn=(e)=>e.type==="circle",u3r,eln,d3r,p3r=()=>d3r||=new np({"heatmap-radius":new dr(bt.paint_heatmap["heatmap-radius"],"heatmap-radius"),"heatmap-weight":new dr(bt.paint_heatmap["heatmap-weight"],"heatmap-weight"),"heatmap-intensity":new Mn(bt.paint_heatmap["heatmap-intensity"],"heatmap-intensity"),"heatmap-color":new Vfe(bt.paint_heatmap["heatmap-color"],"heatmap-color"),"heatmap-opacity":new Mn(bt.paint_heatmap["heatmap-opacity"],"heatmap-opacity")}),f3r,Xfe=class e{constructor(t,n){jUe(this,t,1,n)}resize(t){tln(this,t,1)}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,n,r,o,a){$Ue(t,n,r,o,a,1)}},ss=class e{constructor(t,n){jUe(this,t,4,n)}resize(t){tln(this,t,4)}replace(t,n){n?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t}clone(){return new e({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,n,r,o,a){$Ue(t,n,r,o,a,4)}setPixel(t,n,r){let o=(t*this.width+n)*4;this.data[o+0]=Math.round(r.r*255/r.a),this.data[o+1]=Math.round(r.g*255/r.a),this.data[o+2]=Math.round(r.b*255/r.a),this.data[o+3]=Math.round(r.a*255)}},CQ="big-fb",nln=(e)=>e.type==="heatmap",m3r,h3r,g3r=()=>h3r||=new np({"hillshade-illumination-direction":new Mn(bt.paint_hillshade["hillshade-illumination-direction"],"hillshade-illumination-direction"),"hillshade-illumination-altitude":new Mn(bt.paint_hillshade["hillshade-illumination-altitude"],"hillshade-illumination-altitude"),"hillshade-illumination-anchor":new Mn(bt.paint_hillshade["hillshade-illumination-anchor"],"hillshade-illumination-anchor"),"hillshade-exaggeration":new Mn(bt.paint_hillshade["hillshade-exaggeration"],"hillshade-exaggeration"),"hillshade-shadow-color":new Mn(bt.paint_hillshade["hillshade-shadow-color"],"hillshade-shadow-color"),"hillshade-highlight-color":new Mn(bt.paint_hillshade["hillshade-highlight-color"],"hillshade-highlight-color"),"hillshade-accent-color":new Mn(bt.paint_hillshade["hillshade-accent-color"],"hillshade-accent-color"),"hillshade-method":new Mn(bt.paint_hillshade["hillshade-method"],"hillshade-method"),resampling:new Mn(bt.paint_hillshade.resampling,"resampling")}),y3r,rln=(e)=>e.type==="hillshade",v3r,b3r,x3r=()=>b3r||=new np({"color-relief-opacity":new Mn(bt["paint_color-relief"]["color-relief-opacity"],"color-relief-opacity"),"color-relief-color":new Vfe(bt["paint_color-relief"]["color-relief-color"],"color-relief-color"),resampling:new Mn(bt["paint_color-relief"].resampling,"resampling")}),A3r,cd=class{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,r)}update(e,t,n){let{width:r,height:o}=e,a=(this.size?.[0]!==r||this.size[1]!==o)&&!n,{context:i}=this,{gl:s}=i;this.useMipmap=!!t?.useMipmap,a&&this.size&&this.format===s.RGBA&&(s.deleteTexture(this.texture),this.texture=s.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),s.bindTexture(s.TEXTURE_2D,this.texture),i.pixelStoreUnpackFlipY.set(!1),i.pixelStoreUnpack.set(1);let l=this.format===s.RGBA&&t?.premultiply!==!1;if(a)if(this.size=[r,o],this.format===s.RGBA&&r>0&&o>0){let c=this.useMipmap?Math.floor(Math.log2(Math.max(r,o)))+1:1;if(s.texStorage2D(s.TEXTURE_2D,c,s.RGBA8,r,o),Ope(e)){i.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:u}=e;l&&u&&(u=jOe(u)),u&&s.texSubImage2D(s.TEXTURE_2D,0,0,0,r,o,s.RGBA,s.UNSIGNED_BYTE,u)}else i.pixelStoreUnpackPremultiplyAlpha.set(l),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,e)}else Ope(e)?(i.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,l,r,o,s)):(i.pixelStoreUnpackPremultiplyAlpha.set(l),this._uploadDomImage(e,s));else{let{x:c,y:u}=n||{x:0,y:0};Ope(e)?(i.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,l,c,u,r,o,s)):(i.pixelStoreUnpackPremultiplyAlpha.set(l),this._updateDomImage(e,c,u,s))}this.useMipmap&&!(Ope(e)&&e.data===null)&&s.generateMipmap(s.TEXTURE_2D),i.pixelStoreUnpackFlipY.setDefault(),i.pixelStoreUnpack.setDefault(),i.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,n,r,o){let{data:a}=e;t&&a&&(a=jOe(a)),o.texImage2D(o.TEXTURE_2D,0,this.format,n,r,0,this.format,o.UNSIGNED_BYTE,a)}_updateDomImage(e,t,n,r){r.texSubImage2D(r.TEXTURE_2D,0,t,n,r.RGBA,r.UNSIGNED_BYTE,e)}_updateRawData(e,t,n,r,o,a,i){let{data:s}=e;t&&s&&(s=jOe(s)),i.texSubImage2D(i.TEXTURE_2D,0,n,r,o,a,i.RGBA,i.UNSIGNED_BYTE,s)}bind(e,t,n){let{context:r}=this,{gl:o}=r;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),o.bindTexture(o.TEXTURE_2D,this.texture),(n===o.LINEAR_MIPMAP_NEAREST||n===o.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(n=o.LINEAR);let a=n||e;e!==this.magFilter&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,t),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,t),this.wrap=t)}generateMipmap(){if(!this.useMipmap)return;let{gl:e}=this.context;e.bindTexture(e.TEXTURE_2D,this.texture),e.generateMipmap(e.TEXTURE_2D)}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}},w3r,aln=(e)=>e.type==="color-relief",S3r,_Fe,C3r,nQ,HFe=!1,GFe=!1,hc,ife=0,qFe,ZFe,Ry,RZ,LT,PZ,MZ,zx=class{constructor(e,t){if(t>e)throw Error("Min granularity must not be greater than base granularity.");this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){let t=1<32767||t>32767)throw Error("Vertex coordinates are out of signed 16 bit integer range.");let n=Math.round(e)|0,r=Math.round(t)|0,o=this._getKey(n,r),a=this._vertexDictionary.get(o);if(a!==void 0)return a;let i=this._vertexBuffer.length/2;return this._vertexDictionary.set(o,i),this._vertexBuffer.push(n,r),i}_subdivideTrianglesScanline(e,t){if(this._granularity<2)return X3r(this._vertexBuffer,Q3r(e,t));let n=[],r=e.length;for(let o=0;o=1||w<=0)||v&&(lo)){u>=r&&u<=o&&a.push(n[(i+1)%3]);continue}if(!v&&A>0){let T=s+f*A,I=l+m*A;a.push(this._vertexToIndex(T,I))}let C=s+f*Math.max(A,0),E=s+f*Math.min(w,1);if(g||this._generateIntraEdgeVertices(a,s,l,c,u,C,E),!v&&w<1){let T=s+f*w,I=l+m*w;a.push(this._vertexToIndex(T,I))}(v||u>=r&&u<=o)&&a.push(n[(i+1)%3]),!v&&(u<=r||u>=o)&&this._generateInterEdgeVertices(a,s,l,c,u,d,p,E,r,o)}return a}_generateIntraEdgeVertices(e,t,n,r,o,a,i){let s=r-t,l=o-n,c=l===0,u=c?Math.min(t,r):Math.min(a,i),d=c?Math.max(t,r):Math.max(a,i),p=Math.floor(u/this._granularityCellSize)+1,f=Math.ceil(d/this._granularityCellSize)-1;if(c?t=p;m--){let g=m*this._granularityCellSize,v=n+l*(g-t)/s;e.push(this._vertexToIndex(g,v))}}_generateInterEdgeVertices(e,t,n,r,o,a,i,s,l,c){let u=o-n,d=a-r,p=i-o,f=(l-o)/p,m=(c-o)/p,g=Math.min(f,m),v=Math.max(f,m),y=r+d*g,x=Math.floor(Math.min(y,s)/this._granularityCellSize)+1,A=Math.ceil(Math.max(y,s)/this._granularityCellSize)-1,w=s=1||v<=0){let T=t-a,I=n-i,k=(l-i)/I,L=(c-i)/I,O=a+T*Math.min(k,L);x=Math.floor(Math.min(O,s)/this._granularityCellSize)+1,A=Math.ceil(Math.max(O,s)/this._granularityCellSize)-1,w=s0?c:l;if(w)for(let T=x;T<=A;T++){let I=T*this._granularityCellSize;e.push(this._vertexToIndex(I,E))}else for(let T=A;T>=x;T--){let I=T*this._granularityCellSize;e.push(this._vertexToIndex(I,E))}}_generateOutline(e,t){let n=[],r=0;for(let o of e){let a=this._granularity<2?this._ringPathIndices(o,r,t):this._pointArrayToIndices(UT(o,this._granularity,!0));r+=o.length;let i=[];for(let s=1;s=2&&dln(e)&&r.push(r[0]),r}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<o==(a===-32768)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(o,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(o,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,o=Ut,a=e.length;for(let i=2;i=2&&this._canonical?.z===0&&(a=this._removeTrianglesOutsideTileX(a),i=i.map((s)=>this._removeLinesOutsideTileX(s))),{verticesFlattened:this._vertexBuffer,indicesTriangles:a,indicesLineList:i}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let n=0;nt.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new PAr,this.indexArray=new xv,this.indexArray2=new BFe,this.programConfigurations=new qT(e.layers,e.zoom),this.segments=new Vs,this.segments2=new Vs,this.stateDependentLayerIds=this.layers.filter((t)=>t.isStateDependent()).map((t)=>t.id)}populate(e,t,n){this.hasDependencies=afe("fill",this.layers,t);let r=this.layers[0].layout.get("fill-sort-key"),o=!r.isConstant(),a=[],i=new oi(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:c,index:u,sourceLayerIndex:d}of e){let p=jC(l,s);if(!this.layers[0]._featureFilter.filter(i,p,n))continue;let f=o?r.evaluate(p,{},n,t.availableImages):void 0,m={id:c,properties:l.properties,type:l.type,sourceLayerIndex:d,index:u,geometry:s?p.geometry:jT(l),patterns:{},sortKey:f};a.push(m)}o&&a.sort((l,c)=>l.sortKey-c.sortKey);for(let l of a){let{geometry:c,index:u,sourceLayerIndex:d}=l;if(this.hasDependencies){let f=tNe("fill",this.layers,l,{zoom:this.zoom},t);this.patternFeatures.push(f)}else this.addFeature(l,c,u,n,{},t.subdivisionGranularity);let p=e[u].feature;t.featureIndex.insert(p,c,u,d,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures({options:e,canonical:t,patternPositions:n,patternMap:r}){this.detectSdfPatterns(r);for(let o of this.patternFeatures)this.addFeature(o,o.geometry,o.index,t,n,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let n in t.patterns){let r=t.patterns[n];this.recordSdfPattern(n,e[r.min]),this.recordSdfPattern(n,e[r.mid]),this.recordSdfPattern(n,e[r.max])}for(let t of this.layers){let n=t.paint.get("fill-pattern").constantOr(null);n&&(this.recordSdfPattern(t.id,e[n.from.toString()]),this.recordSdfPattern(t.id,e[n.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let n=t.sdf===!0,r=this.sdfPatterns[e];r===void 0?this.sdfPatterns[e]=n:r!==n&&Ko(`Style sheet warning: Cannot mix SDF and non-SDF fill patterns in layer "${e}"`)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,C3r),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,n,r,o,a){for(let i of Dfe(t,500)){let s=uln(i,r,a.fill.getGranularityForZoomLevel(r.z)),l=this.layoutVertexArray;pln((c,u)=>{l.emplaceBack(c,u)},this.segments,this.layoutVertexArray,this.indexArray,s.verticesFlattened,s.indicesTriangles,this.segments2,this.indexArray2,s.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:o,canonical:r})}},J3r,j3r=()=>J3r||=new np({"fill-sort-key":new dr(bt.layout_fill["fill-sort-key"],"fill-sort-key")}),$3r,ewr=()=>$3r||=new np({"fill-antialias":new Mn(bt.paint_fill["fill-antialias"],"fill-antialias"),"fill-opacity":new dr(bt.paint_fill["fill-opacity"],"fill-opacity"),"fill-layer-opacity":new Mn(bt.paint_fill["fill-layer-opacity"],"fill-layer-opacity"),"fill-color":new dr(bt.paint_fill["fill-color"],"fill-color"),"fill-outline-color":new dr(bt.paint_fill["fill-outline-color"],"fill-outline-color"),"fill-translate":new Mn(bt.paint_fill["fill-translate"],"fill-translate"),"fill-translate-anchor":new Mn(bt.paint_fill["fill-translate-anchor"],"fill-translate-anchor"),"fill-pattern":new $Z(bt.paint_fill["fill-pattern"],"fill-pattern")}),twr,mln=(e)=>e.type==="fill",nwr,WFe,rwr,owr,By=class e{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(t){return this.minX=Math.min(this.minX,t.x),this.minY=Math.min(this.minY,t.y),this.maxX=Math.max(this.maxX,t.x),this.maxY=Math.max(this.maxY,t.y),this}expandBy(t){return this.minX-=t,this.minY-=t,this.maxX+=t,this.maxY+=t,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(t){return this.expandBy(-t)}map(t){let n=new e;return n.extend(t(new ft(this.minX,this.minY))),n.extend(t(new ft(this.maxX,this.minY))),n.extend(t(new ft(this.minX,this.maxY))),n.extend(t(new ft(this.maxX,this.maxY))),n}static fromPoints(t){let n=new e;for(let r of t)n.extend(r);return n}contains(t){return t.x>=this.minX&&t.x<=this.maxX&&t.y>=this.minY&&t.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(t){return!this.empty()&&!t.empty()&&t.minX>=this.minX&&t.maxX<=this.maxX&&t.minY>=this.minY&&t.maxY<=this.maxY}intersects(t){return!this.empty()&&!t.empty()&&t.minX<=this.maxX&&t.maxX>=this.minX&&t.minY<=this.maxY&&t.maxY>=this.minY}},hln,EQ=class{constructor(e,t,n,r,o){for(this.properties=Object.create(null),this.extent=n,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=o;e.pos>3,a===0)continue}if(a--,o===1)i+=e.readSVarint(),s+=e.readSVarint(),r&&n.push(r),r=[new ft(i,s)];else if(o===2)i+=e.readSVarint(),s+=e.readSVarint(),r&&r.push(new ft(i,s));else if(o===7)r&&r.push(r[0].clone());else throw Error(`unknown command ${o}`)}return r&&n.push(r),n}bbox(){if(this._geometry<0)throw Error("feature has no geometry");let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,n=1,r=0,o=0,a=0,i=1/0,s=-1/0,l=1/0,c=-1/0;for(;e.pos>3,r===0)continue}if(r--,n===1||n===2)o+=e.readSVarint(),a+=e.readSVarint(),os&&(s=o),ac&&(c=a);else if(n!==7)throw Error(`unknown command ${n}`)}return[i,l,s,c]}toGeoJSON(e,t,n){let r=this.extent*2**n,o=this.extent*e,a=this.extent*t,i=this.loadGeometry();function s(d){return[(d.x+o)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(d.y+a)*2/r)*Math.PI))-90]}function l(d){return d.map(s)}let c;if(this.type===1){let d=[];for(let f of i)d.push(f[0]);let p=l(d);c=d.length===1?{type:"Point",coordinates:p[0]}:{type:"MultiPoint",coordinates:p}}else if(this.type===2){let d=i.map(l);c=d.length===1?{type:"LineString",coordinates:d[0]}:{type:"MultiLineString",coordinates:d}}else if(this.type===3){let d=gln(i),p=[];for(let f of d)p.push(f.map(l));c=p.length===1?{type:"Polygon",coordinates:p[0]}:{type:"MultiPolygon",coordinates:p}}else throw Error("unknown feature type");let u={type:"Feature",geometry:c,properties:this.properties};return this.id!=null&&(u.id=this.id),u}},iwr=class{constructor(e,t){for(this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],t===void 0&&(t=e.length);e.pos=this._features.length)throw Error("feature index out of bounds");this._pbf.pos=this._features[e];let t=this._pbf.readVarint()+this._pbf.pos;return new EQ(this._pbf,t,this.extent,this._keys,this._values)}},lwr=class{constructor(e,t=e.length){let n=Object.create(null);for(;e.pos90||this.lat<-90)throw Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new e(jg(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){let n=Math.PI/180,r=this.lat*n,o=t.lat*n,a=Math.sin(r)*Math.sin(o)+Math.cos(r)*Math.cos(o)*Math.cos((t.lng-this.lng)*n);return Pm*Math.acos(Math.min(a,1))}static convert(t){if(t instanceof e)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new e(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t=="object"&&t)return new e(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}},yln,ai=class e{constructor(t,n,r=0){this.x=+t,this.y=+n,this.z=+r}static fromLngLat(t,n=0){let r=pr.convert(t);return new e($T(r.lng),e7(r.lat),$C(n,r.lat))}toLngLat(){return new pr(Yfe(this.x),VL(this.y))}toAltitude(){return nNe(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/yln*cwr(VL(this.y))}},e5=89.25,$Oe=8192,xln=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((t)=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new MAr,this.centroidVertexArray=new Lw,this.indexArray=new xv,this.programConfigurations=new qT(e.layers,e.zoom),this.segments=new Vs,this.stateDependentLayerIds=this.layers.filter((t)=>t.isStateDependent()).map((t)=>t.id)}populate(e,t,n){this.features=[],this.hasDependencies=afe("fill-extrusion",this.layers,t);let r=new oi(this.zoom),o=this.layers[0],a=o.layout.get("fill-extrusion-rounded-corner-distance"),i=a>0?pwr(a,n):0,s=o._featureFilter.needGeometry;for(let{feature:l,id:c,index:u,sourceLayerIndex:d}of e){let p=jC(l,s);if(!o._featureFilter.filter(r,p,n))continue;let f={id:c,sourceLayerIndex:d,index:u,geometry:dwr(s?p.geometry:jT(l),i),properties:l.properties,type:l.type,patterns:{}};this.hasDependencies?this.features.push(tNe("fill-extrusion",this.layers,f,{zoom:this.zoom},t)):this.addFeature(f,f.geometry,u,n,{},t.subdivisionGranularity),t.featureIndex.insert(l,f.geometry,u,d,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:n}){for(let r of this.features){let{geometry:o}=r;this.addFeature(r,o,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,owr),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,rwr.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,n,r,o,a){for(let i of Dfe(t,500)){let s={x:0,y:0,sampleCount:0},l=this.layoutVertexArray.length;this.processPolygon(s,r,e,i,a);let c=this.layoutVertexArray.length-l,u=Math.floor(s.x/s.sampleCount),d=Math.floor(s.y/s.sampleCount);for(let p=0;p{DZ(c,u,d,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,l.verticesFlattened,l.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;rVs.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let i=o.sub(a)._perp()._unit(),s=a.dist(o);n+s>32768&&(n=0),DZ(this.layoutVertexArray,o.x,o.y,i.x,i.y,0,0,n),DZ(this.layoutVertexArray,o.x,o.y,i.x,i.y,0,1,n),n+=s,DZ(this.layoutVertexArray,a.x,a.y,i.x,i.y,0,0,n),DZ(this.layoutVertexArray,a.x,a.y,i.x,i.y,0,1,n);let l=t.segment.vertexLength;this.indexArray.emplaceBack(l,l+2,l+1),this.indexArray.emplaceBack(l+1,l+2,l+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}},ywr,vwr=()=>ywr||=new np({"fill-extrusion-rounded-corner-distance":new Mn(bt["layout_fill-extrusion"]["fill-extrusion-rounded-corner-distance"],"fill-extrusion-rounded-corner-distance")}),bwr,xwr=()=>bwr||=new np({"fill-extrusion-opacity":new Mn(bt["paint_fill-extrusion"]["fill-extrusion-opacity"],"fill-extrusion-opacity"),"fill-extrusion-color":new dr(bt["paint_fill-extrusion"]["fill-extrusion-color"],"fill-extrusion-color"),"fill-extrusion-translate":new Mn(bt["paint_fill-extrusion"]["fill-extrusion-translate"],"fill-extrusion-translate"),"fill-extrusion-translate-anchor":new Mn(bt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"],"fill-extrusion-translate-anchor"),"fill-extrusion-pattern":new $Z(bt["paint_fill-extrusion"]["fill-extrusion-pattern"],"fill-extrusion-pattern"),"fill-extrusion-height":new dr(bt["paint_fill-extrusion"]["fill-extrusion-height"],"fill-extrusion-height"),"fill-extrusion-base":new dr(bt["paint_fill-extrusion"]["fill-extrusion-base"],"fill-extrusion-base"),"fill-extrusion-vertical-gradient":new Mn(bt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"],"fill-extrusion-vertical-gradient")}),Awr,Aln=(e)=>e.type==="fill-extrusion",wwr,Iwr="geojsonvt_clip_start",Twr="geojsonvt_clip_end",KFe,kwr,JFe,Rwr,Pwr,wln=0.5,lan,Sln=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((t)=>t.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let t of this.layers)this.gradients[t.id]={};this.layoutVertexArray=new DAr,this.layoutVertexArray2=new LAr,this.indexArray=new xv,this.programConfigurations=new qT(e.layers,e.zoom),this.segments=new Vs,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t)=>t.isStateDependent()).map((t)=>t.id)}populate(e,t,n){this.hasDependencies=afe("line",this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get("line-sort-key"),o=!r.isConstant(),a=[],i=new oi(this.zoom),s=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:c,index:u,sourceLayerIndex:d}of e){let p=jC(l,s);if(!this.layers[0]._featureFilter.filter(i,p,n))continue;let f=o?r.evaluate(p,{},n):void 0,m={id:c,properties:l.properties,type:l.type,sourceLayerIndex:d,index:u,geometry:s?p.geometry:jT(l),patterns:{},dashes:{},sortKey:f};a.push(m)}o&&a.sort((l,c)=>l.sortKey-c.sortKey);for(let l of a){let{geometry:c,index:u,sourceLayerIndex:d}=l;this.hasDependencies?(afe("line",this.layers,t)?tNe("line",this.layers,l,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,l,this.zoom,t),this.patternFeatures.push(l)):this.addFeature(l,c,u,n,{},{},t.subdivisionGranularity);let p=e[u].feature;t.featureIndex.insert(p,c,u,d,this.index)}}update(e,t,n,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n,dashPositions:r})}addFeatures({options:e,canonical:t,patternPositions:n,dashPositions:r}){for(let o of this.patternFeatures)this.addFeature(o,o.geometry,o.index,t,n,r,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Rwr)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,kwr),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.hasOwn(e.properties,"geojsonvt_clip_start")&&Object.hasOwn(e.properties,"geojsonvt_clip_end"))return{start:+e.properties[Iwr],end:+e.properties[Twr]}}addFeature(e,t,n,r,o,a,i){let s=this.layers[0].layout,l=s.get("line-join").evaluate(e,{}),c=s.get("line-cap").evaluate(e,{}),u=s.get("line-miter-limit").evaluate(e,{}),d=s.get("line-round-limit").evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let p of t)this.addLine(p,e,l,c,u,d,r,i);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:o,dashPositions:a,canonical:r})}addLine(e,t,n,r,o,a,i,s){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let l=i?s.line.getGranularityForZoomLevel(i.z):1;if(e=UT(e,l),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let A=0;A=2&&e[u-1].equals(e[u-2]);)u--;let d=0;for(;d0;if(k&&A>d){let U=m.dist(g);if(U>2*p){let D=m.sub(m.sub(g)._mult(p/U)._round());this.updateDistance(g,D),this.addCurrentVertex(D,y,0,0,f),g=D}}let O=g&&v,B=O?n:c?"butt":r;if(O&&B==="round"&&(To&&(B="bevel"),B==="bevel"&&(T>2&&(B="flipbevel"),T100)w=x.mult(-1);else{let U=T*y.add(x).mag()/y.sub(x).mag();w._perp()._mult(U*(L?-1:1))}this.addCurrentVertex(m,w,0,0,f),this.addCurrentVertex(m,w.mult(-1),0,0,f)}else if(B==="bevel"||B==="fakeround"){let U=-Math.sqrt(T*T-1),D=L?U:0,N=L?0:U;if(g&&this.addCurrentVertex(m,y,D,N,f),B==="fakeround"){let _=Math.round(I*180/Math.PI/20);for(let G=1;G<_;G++){let Z=G/_;if(Z!==0.5){let H=Z-0.5,te=1.0904+C*(-3.2452+C*(3.55645-C*1.43519)),ie=0.848013+C*(-1.06021+C*0.215638);Z+=Z*H*(Z-1)*(te*H*H+ie)}let q=x.sub(y)._mult(Z)._add(y)._unit()._mult(L?-1:1);this.addHalfVertex(m,q.x,q.y,!1,L,0,f)}}v&&this.addCurrentVertex(m,x,-D,-N,f)}else if(B==="butt")this.addCurrentVertex(m,w,0,0,f);else if(B==="square"){let U=g?1:-1;this.addCurrentVertex(m,w,U,U,f)}else B==="round"&&(g&&(this.addCurrentVertex(m,y,0,0,f),this.addCurrentVertex(m,y,1,1,f,!0)),v&&(this.addCurrentVertex(m,x,-1,-1,f,!0),this.addCurrentVertex(m,x,0,0,f)));if(k&&A2*p){let D=m.add(v.sub(m)._mult(p/U)._round());this.updateDistance(m,D),this.addCurrentVertex(D,x,0,0,f),m=D}}}}addCurrentVertex(e,t,n,r,o,a=!1){let i=t.x+t.y*n,s=t.y-t.x*n,l=-t.x+t.y*r,c=-t.y-t.x*r;this.addHalfVertex(e,i,s,a,!1,n,o),this.addHalfVertex(e,l,c,a,!0,-r,o),this.distance>lan/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,o,a))}addHalfVertex({x:e,y:t},n,r,o,a,i,s){let l=(this.lineClips?this.scaledDistance*(lan-1):this.scaledDistance)*wln;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!o,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,(i===0?0:i<0?-1:1)+1|(l&63)<<2,l>>6),this.lineClips){let u=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(u,this.lineClipsArray.length)}let c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,c,this.e2),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let n=t.paint.get("line-dasharray");if(n&&!n.isConstant())return!0}return!1}addLineDashDependencies(e,t,n,r){for(let o of e){let a=o.paint.get("line-dasharray");if(!a||a.value.kind==="constant")continue;let i=o.layout.get("line-cap").evaluate(t,{})==="round",s={dasharray:a.value.evaluate({zoom:n-1},t,{}),round:i},l={dasharray:a.value.evaluate({zoom:n},t,{}),round:i},c={dasharray:a.value.evaluate({zoom:n+1},t,{}),round:i},u=`${s.dasharray.join(",")},${s.round}`,d=`${l.dasharray.join(",")},${l.round}`,p=`${c.dasharray.join(",")},${c.round}`;r.dashDependencies[u]=s,r.dashDependencies[d]=l,r.dashDependencies[p]=c,t.dashes[o.id]={min:u,mid:d,max:p}}}},Mwr,Dwr=()=>Mwr||=new np({"line-cap":new dr(bt.layout_line["line-cap"],"line-cap"),"line-join":new dr(bt.layout_line["line-join"],"line-join"),"line-miter-limit":new dr(bt.layout_line["line-miter-limit"],"line-miter-limit"),"line-round-limit":new dr(bt.layout_line["line-round-limit"],"line-round-limit"),"line-sort-key":new dr(bt.layout_line["line-sort-key"],"line-sort-key")}),Lwr,Bwr=()=>Lwr||=new np({"line-opacity":new dr(bt.paint_line["line-opacity"],"line-opacity"),"line-layer-opacity":new Mn(bt.paint_line["line-layer-opacity"],"line-layer-opacity"),"line-color":new dr(bt.paint_line["line-color"],"line-color"),"line-translate":new Mn(bt.paint_line["line-translate"],"line-translate"),"line-translate-anchor":new Mn(bt.paint_line["line-translate-anchor"],"line-translate-anchor"),"line-width":new dr(bt.paint_line["line-width"],"line-width"),"line-gap-width":new dr(bt.paint_line["line-gap-width"],"line-gap-width"),"line-offset":new dr(bt.paint_line["line-offset"],"line-offset"),"line-blur":new dr(bt.paint_line["line-blur"],"line-blur"),"line-dasharray":new $Z(bt.paint_line["line-dasharray"],"line-dasharray"),"line-pattern":new $Z(bt.paint_line["line-pattern"],"line-pattern"),"line-gradient":new Vfe(bt.paint_line["line-gradient"],"line-gradient")}),can,Owr,Npe,Cln=(e)=>e.type==="line",Fwr,Uwr,Nwr,zwr,dan,Eln,lfe,Qwr,Xwr,Wwr,fan=1604,Ywr,Tln,kln,gan,yan,IL,hSr,gSr,iNe=class e{constructor(t="",n=[],r=[]){this.text=t,this.sections=n,this.sectionIndex=r,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??=jFe(this.text),this._graphemes}static fromFeature(t,n){let r=new e;for(let o of t.sections)o.image?r.addImageSection(o):r.addTextSection(o,n);return r}length(){return this.graphemes().length}getSection(t){return this.sections[this.sectionIndex[t]]}getSectionIndex(t){return this.sectionIndex[t]}verticalizePunctuation(){this.text=mSr(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes("​")}trim(){let t=this.graphemes(),n=0;for(;nn&&Aan(t[r-1]);)r--;this.text=t.slice(n,r).join(""),this.sectionIndex=this.sectionIndex.slice(n,r),this._graphemes=null}substring(t,n){let r=this.graphemes().slice(t,n).join(""),o=this.sectionIndex.slice(t,n);return new e(r,this.sections,o)}toCodeUnitIndex(t){return this.graphemes().slice(0,t).join("").length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((t,n)=>Math.max(t,this.sections[n].scale),0)}getMaxImageSize(t){let n=0,r=0;for(let o=0;o0?r[r.length-1]:"",a=jFe(o+t);this.text+=t,this._graphemes=r.slice(0,o?-1:void 0).concat(a);let i=a.length-+!!o;for(let s=0;s=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(t,n,r,o,a){let i=[],s=this.determineAverageLineWidth(t,n,r,o,a),l=this.hasZeroWidthSpaces(),c=this.graphemes(),u=null,d=0,p=0;for(let f=0;f0){let g=c[f-1].codePointAt(0),v=m.codePointAt(0),y=Vwr(g),x=pan(g)&&pan(v);(hSr[g]||y||("imageName"in this.getSection(f-1))||c[f+1]!==void 0&&gSr[v]||x&&(u??=dSr(this.text)).has(p))&&i.push(wan(f,d,s,i,ySr(g,v,y&&l),!1))}aNe(m.codePointAt(0))||(d+=ban(m,this.getSection(f),r,o,t,a)),p+=m.length}return Dln(wan(this.length(),d,s,i,0,!0))}determineAverageLineWidth(t,n,r,o,a){let i=0,s=0;for(let c of this.graphemes()){let u=this.getSection(s);i+=ban(c,u,r,o,t,a),s++}let l=Math.max(1,Math.ceil(i/n));return i/l}},sNe,bSr,xSr,ASr,eUe=4294967296,Nms,San,Bln=class{constructor(e){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.type=0,this._valueStart=-1,this.length=this.buf.length}readFields(e,t,n=this.length){let r;for(;r=this.nextField(n);)e(r,t,this);return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){let e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){let e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*eUe;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*eUe;return this.pos+=8,e}readFloat(){let e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){let e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){let t=this.buf,n=t[this.pos++];if(n<128)return n;let r=n&127,o;return o=t[this.pos++],r|=(o&127)<<7,o<128||(o=t[this.pos++],r|=(o&127)<<14,o<128)||(o=t[this.pos++],r|=(o&127)<<21,o<128)?r:(o=t[this.pos],r|=(o&15)<<28,MSr(r,e,this))}readSVarint(){let e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){let e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&San?San.decode(this.buf.subarray(t,e)):LSr(this.buf,t,e)}readBytes(){let e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){let n=this.readPackedEnd();for(;this.pos=e)return 0;let t=this.readVarint();return this.type=t&7,this._valueStart=this.pos,t>>>3}skip(e){let t=e&7;if(t===0)for(;this.buf[this.pos++]>127;);else if(t===2)this.pos=this.readVarint()+this.pos;else if(t===5)this.pos+=4;else if(t===1)this.pos+=8;else throw Error(`Unimplemented type: ${t}`)}},$fe=class{constructor(e,{pixelRatio:t,version:n,isWebGLImage:r=!1,stretchX:o,stretchY:a,content:i,textFitWidth:s,textFitHeight:l}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=o,this.stretchY=a,this.content=i,this.version=n,this.needsFirstWebGLRender=r,this.textFitWidth=s,this.textFitHeight=l}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}},USr=class{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let o=[];this.addImages(e,n,o),this.addImages(t,r,o);let{w:a,h:i}=lNe(o),s=new ss({width:a||1,height:i||1});for(let l in e){let c=e[l];if(c.isWebGLImage)continue;let u=n[l].paddedRect;ss.copy(c.data,s,{x:0,y:0},{x:u.x+1,y:u.y+1},c.data)}for(let l in t){let c=t[l],u=r[l].paddedRect,d=u.x+1,p=u.y+1,f=c.data.width,m=c.data.height;ss.copy(c.data,s,{x:0,y:0},{x:d,y:p},c.data),ss.copy(c.data,s,{x:0,y:m-1},{x:d,y:p-1},{width:f,height:1}),ss.copy(c.data,s,{x:0,y:0},{x:d,y:p+m},{width:f,height:1}),ss.copy(c.data,s,{x:f-1,y:0},{x:d-1,y:p},{width:1,height:m}),ss.copy(c.data,s,{x:0,y:0},{x:d+f,y:p},{width:1,height:m})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let o=e[r],a={x:0,y:0,w:o.data.width+2,h:o.data.height+2};n.push(a),t[r]=new $fe(a,o),o.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let n in this.iconPositions)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t);for(let n in this.patternPositions)this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}}patchUpdatedImage(e,t,n){if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[r,o]=e.tl,a=t.userImage?.data;if(!TQ(a)){n.update(t.data,void 0,{x:r,y:o});return}let{width:i,height:s}=t.data;n.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:n.context.gl,texture:n.texture,x:r,y:o,width:i,height:s}),n.context.setDirty()}},Uln,Can,Tan=32640,DL,Gpe=class{constructor(e,t,n,r,o,a,i,s,l,c){if(this.boxStartIndex=e.length,l){let{top:u,bottom:d,collisionPadding:p}=a;p&&(u-=p[1],d+=p[3]);let f=d-u;f>0&&(f=Math.max(10,f),this.circleDiameter=f)}else{let u=a.image?.content&&(a.image.textFitWidth||a.image.textFitHeight)?Hln(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};u.y1=u.y1*i-s[0],u.y2=u.y2*i+s[2],u.x1=u.x1*i-s[3],u.x2=u.x2*i+s[1];let d=a.collisionPadding;if(d&&(u.x1-=d[0]*i,u.y1-=d[1]*i,u.x2+=d[2]*i,u.y2+=d[3]*i),c){let p=new ft(u.x1,u.y1),f=new ft(u.x2,u.y1),m=new ft(u.x1,u.y2),g=new ft(u.x2,u.y2),v=c*Math.PI/180;p._rotate(v),f._rotate(v),m._rotate(v),g._rotate(v),u.x1=Math.min(p.x,f.x,m.x,g.x),u.x2=Math.max(p.x,f.x,m.x,g.x),u.y1=Math.min(p.y,f.y,m.y,g.y),u.y2=Math.max(p.y,f.y,m.y,g.y)}e.emplaceBack(t.x,t.y,u.x1,u.y1,u.x2,u.y2,n,r,o)}this.boxEndIndex=e.length}},u4r=class{constructor(e=[],t=(n,r)=>nr)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let o=e-1>>1,a=t[o];if(n(r,a)>=0)break;t[e]=a,e=o}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,o=t[e];for(;e=0)break;t[e]=t[a],e=a}t[e]=o}},CL=class{constructor(e,t,n,r){this.p=new ft(e,t),this.h=n,this.d=f4r(this.p,r),this.max=this.d+this.h*Math.SQRT2}},tme,uNe=1/0,A4r,nUe=class{constructor(e){this.layoutVertexArray=new BAr,this.indexArray=new xv,this.programConfigurations=e,this.segments=new Vs,this.dynamicLayoutVertexArray=new OAr,this.opacityVertexArray=new FAr,this.hasVisibleVertices=!1,this.placedSymbolArray=new Dsn}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Uwr.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Nwr.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,A4r,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}},rUe=class{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new Vs,this.collisionVertexArray=new UAr}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,zwr.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}},MQ=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((i)=>i.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasDependencies=!0,this.hasRTLText=!1,this.maxHeightOffset=0,this.sortKeyRanges=[],this.collisionCircleArray=[],this.maxGlyphs=65535;let t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=kan(this.zoom,t["text-size"]),this.iconSizeData=kan(this.zoom,t["icon-size"]);let n=this.layers[0].layout,r=n.get("symbol-sort-key"),o=n.get("symbol-z-order");this.canOverlap=iQ(n,"text-overlap","text-allow-overlap")!=="never"||iQ(n,"icon-overlap","icon-allow-overlap")!=="never"||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey=o!=="viewport-y"&&!r.isConstant();let a=o==="viewport-y"||o==="auto"&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,n.get("symbol-placement")==="point"&&(this.writingModes=n.get("text-writing-mode").map((i)=>Uln[i])),this.stateDependentLayerIds=this.layers.filter((i)=>i.isStateDependent()).map((i)=>i.id),this.sourceID=e.sourceID}createArrays(){this.text=new nUe(new qT(this.layers,this.zoom,(e)=>e.startsWith("text"))),this.icon=new nUe(new qT(this.layers,this.zoom,(e)=>e.startsWith("icon"))),this.glyphOffsetArray=new Osn,this.lineVertexArray=new Fsn,this.symbolInstances=new Bsn,this.textAnchorOffsets=new Nsn}calculateGlyphDependencies(e,t,n,r,o){let a=(r||this.allowVerticalPlacement)&&o,i=iNe.fromFeature(e,n),s=i.graphemes();for(let l=0;l0)&&(a.value.kind!=="constant"||a.value.value.length>0),c=s.value.kind!=="constant"||!!s.value.value||Object.keys(s.parameters).length>0,u=o.get("symbol-sort-key");if(this.features=[],!l&&!c)return;let{iconDependencies:d,glyphDependencies:p,availableImages:f}=t,m=new oi(this.zoom);for(let{feature:g,id:v,index:y,sourceLayerIndex:x}of e){let A=r._featureFilter.needGeometry,w=jC(g,A);if(!r._featureFilter.filter(m,w,n))continue;A||(w.geometry=jT(g));let C;if(l){let k=r.getValueAndResolveTokens("text-field",w,n,f),L=Iw.factory(k);this.hasRTLText||=w4r(L),C=lSr(L,r,w)}let E;if(c){let k=r.getValueAndResolveTokens("icon-image",w,n,f);E=k instanceof Vx?k:Vx.fromString(k)}if(!C&&!E)continue;let T=this.sortFeaturesByKey?u.evaluate(w,{},n):void 0,I={id:v,text:C,icon:E,index:y,sourceLayerIndex:x,geometry:w.geometry,properties:g.properties,type:EQ.types[g.type],sortKey:T};if(this.features.push(I),E&&(d[E.name]=!0),C){let k=a.evaluate(w,{},n).join(","),L=o.get("text-rotation-alignment")!=="viewport"&&o.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes?.includes(2);let O=$Fe(C.toString());this.calculateGlyphDependencies(C,p,k,L,O);for(let B of C.sections)B.image&&(d[B.image.name]=!0)}}o.get("symbol-placement")==="line"&&(this.features=uSr(this.features)),this.sortFeaturesByKey&&this.features.sort((g,v)=>g.sortKey-v.sortKey)}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}))}addFeatures({options:e,canonical:t,glyphMap:n,glyphPositions:r,iconMap:o,iconPositions:a,showCollisionBoxes:i}){h4r({bucket:this,glyphMap:n,glyphPositions:r,imageMap:o,imagePositions:a,showCollisionBoxes:i,canonical:t,subdivisionGranularity:e.subdivisionGranularity,hasPromoteId:e.featureIndex.promoteId!=null})}isEmpty(){return this.symbolInstances.length===0}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let n=this.lineVertexArray.length;if(e.segment!==void 0){let r=e.dist(t[e.segment+1]),o=e.dist(t[e.segment]),a={};for(let i=e.segment+1;i=0;i--)a[i]={x:t[i].x,y:t[i].y,tileUnitDistanceFromAnchor:o},i>0&&(o+=t[i-1].dist(t[i]));for(let i=0;i0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+n.numGlyphs*4;for(let o=n.vertexStartIndex;or[i]-r[s]||o[s]-o[i]),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n?.sortKey===t?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let t of this.symbolInstanceIndexes){let n=this.symbolInstances.get(t);this.featureSortOrder.push(n.featureIndex);let r=[n.rightJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.leftJustifiedTextSymbolIndex];for(let o=0;o=0&&r.indexOf(a)===o&&this.addIndicesForPlacedSymbol(this.text,a)}n.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,n.verticalPlacedTextSymbolIndex),n.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,n.placedIconSymbolIndex),n.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,n.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}},C4r,E4r=()=>C4r||=new np({"symbol-placement":new Mn(bt.layout_symbol["symbol-placement"],"symbol-placement"),"symbol-spacing":new Mn(bt.layout_symbol["symbol-spacing"],"symbol-spacing"),"symbol-avoid-edges":new Mn(bt.layout_symbol["symbol-avoid-edges"],"symbol-avoid-edges"),"symbol-sort-key":new dr(bt.layout_symbol["symbol-sort-key"],"symbol-sort-key"),"symbol-z-order":new Mn(bt.layout_symbol["symbol-z-order"],"symbol-z-order"),"icon-allow-overlap":new Mn(bt.layout_symbol["icon-allow-overlap"],"icon-allow-overlap"),"icon-overlap":new Mn(bt.layout_symbol["icon-overlap"],"icon-overlap"),"icon-ignore-placement":new Mn(bt.layout_symbol["icon-ignore-placement"],"icon-ignore-placement"),"icon-optional":new Mn(bt.layout_symbol["icon-optional"],"icon-optional"),"icon-rotation-alignment":new dr(bt.layout_symbol["icon-rotation-alignment"],"icon-rotation-alignment"),"icon-size":new dr(bt.layout_symbol["icon-size"],"icon-size"),"icon-text-fit":new Mn(bt.layout_symbol["icon-text-fit"],"icon-text-fit"),"icon-text-fit-padding":new Mn(bt.layout_symbol["icon-text-fit-padding"],"icon-text-fit-padding"),"icon-image":new dr(bt.layout_symbol["icon-image"],"icon-image"),"icon-rotate":new dr(bt.layout_symbol["icon-rotate"],"icon-rotate"),"icon-padding":new dr(bt.layout_symbol["icon-padding"],"icon-padding"),"icon-keep-upright":new Mn(bt.layout_symbol["icon-keep-upright"],"icon-keep-upright"),"icon-offset":new dr(bt.layout_symbol["icon-offset"],"icon-offset"),"icon-anchor":new dr(bt.layout_symbol["icon-anchor"],"icon-anchor"),"icon-pitch-alignment":new Mn(bt.layout_symbol["icon-pitch-alignment"],"icon-pitch-alignment"),"text-pitch-alignment":new Mn(bt.layout_symbol["text-pitch-alignment"],"text-pitch-alignment"),"text-rotation-alignment":new Mn(bt.layout_symbol["text-rotation-alignment"],"text-rotation-alignment"),"text-field":new dr(bt.layout_symbol["text-field"],"text-field"),"text-font":new dr(bt.layout_symbol["text-font"],"text-font"),"text-size":new dr(bt.layout_symbol["text-size"],"text-size"),"text-max-width":new dr(bt.layout_symbol["text-max-width"],"text-max-width"),"text-line-height":new Mn(bt.layout_symbol["text-line-height"],"text-line-height"),"text-letter-spacing":new dr(bt.layout_symbol["text-letter-spacing"],"text-letter-spacing"),"text-justify":new dr(bt.layout_symbol["text-justify"],"text-justify"),"text-radial-offset":new dr(bt.layout_symbol["text-radial-offset"],"text-radial-offset"),"text-variable-anchor":new Mn(bt.layout_symbol["text-variable-anchor"],"text-variable-anchor"),"text-variable-anchor-offset":new dr(bt.layout_symbol["text-variable-anchor-offset"],"text-variable-anchor-offset"),"text-anchor":new dr(bt.layout_symbol["text-anchor"],"text-anchor"),"text-max-angle":new Mn(bt.layout_symbol["text-max-angle"],"text-max-angle"),"text-writing-mode":new Mn(bt.layout_symbol["text-writing-mode"],"text-writing-mode"),"text-rotate":new dr(bt.layout_symbol["text-rotate"],"text-rotate"),"text-padding":new Mn(bt.layout_symbol["text-padding"],"text-padding"),"text-keep-upright":new Mn(bt.layout_symbol["text-keep-upright"],"text-keep-upright"),"text-transform":new dr(bt.layout_symbol["text-transform"],"text-transform"),"text-offset":new dr(bt.layout_symbol["text-offset"],"text-offset"),"text-allow-overlap":new Mn(bt.layout_symbol["text-allow-overlap"],"text-allow-overlap"),"text-overlap":new Mn(bt.layout_symbol["text-overlap"],"text-overlap"),"text-ignore-placement":new Mn(bt.layout_symbol["text-ignore-placement"],"text-ignore-placement"),"text-optional":new Mn(bt.layout_symbol["text-optional"],"text-optional"),"symbol-height-offset":new dr(bt.layout_symbol["symbol-height-offset"],"symbol-height-offset"),"symbol-height-anchor":new Mn(bt.layout_symbol["symbol-height-anchor"],"symbol-height-anchor")}),I4r,T4r=()=>I4r||=new np({"icon-opacity":new dr(bt.paint_symbol["icon-opacity"],"icon-opacity"),"icon-color":new dr(bt.paint_symbol["icon-color"],"icon-color"),"icon-halo-color":new dr(bt.paint_symbol["icon-halo-color"],"icon-halo-color"),"icon-halo-width":new dr(bt.paint_symbol["icon-halo-width"],"icon-halo-width"),"icon-halo-blur":new dr(bt.paint_symbol["icon-halo-blur"],"icon-halo-blur"),"icon-translate":new Mn(bt.paint_symbol["icon-translate"],"icon-translate"),"icon-translate-anchor":new Mn(bt.paint_symbol["icon-translate-anchor"],"icon-translate-anchor"),"text-opacity":new dr(bt.paint_symbol["text-opacity"],"text-opacity"),"text-color":new dr(bt.paint_symbol["text-color"],"text-color",{runtimeType:mv,getOverride:(e)=>e.textColor,hasOverride:(e)=>!!e.textColor}),"text-halo-color":new dr(bt.paint_symbol["text-halo-color"],"text-halo-color"),"text-halo-width":new dr(bt.paint_symbol["text-halo-width"],"text-halo-width"),"text-halo-blur":new dr(bt.paint_symbol["text-halo-blur"],"text-halo-blur"),"text-translate":new Mn(bt.paint_symbol["text-translate"],"text-translate"),"text-translate-anchor":new Mn(bt.paint_symbol["text-translate-anchor"],"text-translate-anchor")}),tFe,Kln=class{constructor(e){if(e.property.overrides===void 0)throw Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:gQ,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t?.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}},dNe=(e)=>e.type==="symbol",k4r,P4r,M4r=()=>P4r||=new np({"background-color":new Mn(bt.paint_background["background-color"],"background-color"),"background-pattern":new Rsn(bt.paint_background["background-pattern"],"background-pattern"),"background-opacity":new Mn(bt.paint_background["background-opacity"],"background-opacity")}),D4r,Jln=(e)=>e.type==="background",L4r,$ln=(e)=>e.type==="custom",B4r,O4r=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){this._triggered||(this._triggered=!0,this._channel?.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}},F4r,ecn=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new O4r(()=>this.process()),this.subscription=GZ(this.target,"message",(n)=>this.receive(n),!1),this.globalScope=VT(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((n,r)=>{let o=Math.round(Math.random()*1000000000000000000).toString(36).substring(0,10),a=t?GZ(t.signal,"abort",()=>{a?.unsubscribe(),delete this.resolveRejects[o];let l={id:o,type:"",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(l),r(new ZL(t.signal.reason))},F4r):null;this.resolveRejects[o]={resolve:(l)=>{a?.unsubscribe(),n(l)},reject:(l)=>{a?.unsubscribe(),r(l)}};let i=[],s={...e,id:o,sourceMapId:this.mapId,origin:location.origin,data:_Z(e.data,i)};this.target.postMessage(s,{transfer:i})})}receive(e){let t=e.data,n=t.id,r=["file://","resource://android","null"],o=[t.origin,location.origin],a=t.origin===location.origin,i=o.some((s)=>r.includes(s));if((a||i)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===""){delete this.tasks[n];let s=this.abortControllers[n];delete this.abortControllers[n],s&&s.abort();return}if(VT(self)||t.mustQueue){this.tasks[n]=t,this.taskQueue.push(n),this.invoker.trigger();return}this.processTask(n,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}async processTask(e,t){if(t.type===""){let o=this.resolveRejects[e];if(delete this.resolveRejects[e],!o)return;t.error?o.reject(Vp(HZ(t.error))):o.resolve(HZ(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let n=HZ(t.data),r=new AbortController;this.abortControllers[e]=r;try{let o=await this.messageHandlers[t.type](t.sourceMapId,n,r);this.completeTask(e,null,o)}catch(o){this.completeTask(e,Vp(o))}}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let o={id:e,type:"",sourceMapId:this.mapId,origin:location.origin,error:t?_Z(t):null,data:_Z(n,r)};this.target.postMessage(o,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},DQ=class{constructor(e,t,n){if(!U4r(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=HT(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=N4r(this.x,this.y,this.z),o=z4r(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(n==="tms"?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?"@2x":"").replace(/{quadkey}/g,o).replace(/{bbox-epsg-3857}/g,r)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new ft((e.x*t-this.x)*Ut,(e.y*t-this.y)*Ut)}toString(){return`${this.z}/${this.x}/${this.y}`}},LQ=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=HT(e,t.z,t.z,t.x,t.y)}},Xp=class e{constructor(t,n,r,o,a){if(this.terrainRttPosMatrix32f=null,t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=n,this.canonical=new DQ(r,+o,+a),this.key=HT(n,t,r,o,a)}clone(){return new e(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-t;return t>this.canonical.z?new e(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new e(t,this.wrap,t,this.canonical.x>>n,this.canonical.y>>n)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(t,n){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-t;return t>this.canonical.z?HT(this.wrap*+n,t,this.canonical.z,this.canonical.x,this.canonical.y):HT(this.wrap*+n,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap||this.overscaledZ-t.overscaledZ<=0)return!1;if(t.overscaledZ===0)return this.overscaledZ>0;let n=this.canonical.z-t.canonical.z;return n<0?!1:t.canonical.x===this.canonical.x>>n&&t.canonical.y===this.canonical.y>>n}children(t){if(this.overscaledZ>=t)return[new e(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let n=this.canonical.z+1,r=this.canonical.x*2,o=this.canonical.y*2;return[new e(n,this.wrap,n,r,o),new e(n,this.wrap,n,r+1,o),new e(n,this.wrap,n,r,o+1),new e(n,this.wrap,n,r+1,o+1)]}isLessThan(t){return this.wrapt.wrap?!1:this.overscaledZt.overscaledZ?!1:this.canonical.xt.canonical.x?!1:this.canonical.y=0&&t=0&&n=c)return null;let d=this.canonical.x+o,p=this.wrap;return d<0?(p-=Math.ceil(-d/c),d=(d%c+c)%c):d>=c&&(p+=Math.floor(d/c),d%=c),{tileID:new e(this.overscaledZ,p,l,d,u),x:i,y:s}}},nFe,BQ="_geojsonTileLayer",_4r=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},mNe=class{constructor(e,t,n,r,o){this.type="Feature",this._vectorTileFeature=e,this._x=n,this._y=r,this._z=t;for(let a in e.properties)typeof e.properties[a]=="string"&&e.properties[a].startsWith("__$json__:")&&(e.properties[a]=JSON.parse(e.properties[a].slice(10)));this.properties=e.properties,this.id=o}projectPoint(e,t,n,r){return[(e.x+t)*360/r-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+n)*2/r)*Math.PI))-90]}projectLine(e,t,n,r){return e.map((o)=>this.projectPoint(o,t,n,r))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,n=e.extent*this._x,r=e.extent*this._y,o=e.loadGeometry();switch(e.type){case 1:{let a=[];for(let s of o)a.push(s[0]);let i=this.projectLine(a,n,r,t);this._geometry=a.length===1?{type:"Point",coordinates:i[0]}:{type:"MultiPoint",coordinates:i};break}case 2:{let a=o.map((i)=>this.projectLine(i,n,r,t));this._geometry=a.length===1?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a};break}case 3:{let a=gln(o),i=[];for(let s of a)i.push(s.map((l)=>this.projectLine(l,n,r,t)));this._geometry=i.length===1?{type:"Polygon",coordinates:i[0]}:{type:"MultiPolygon",coordinates:i};break}default:throw Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!=="_geometry"&&t!=="_vectorTileFeature"&&t!=="_x"&&t!=="_y"&&t!=="_z"&&(e[t]=this[t]);return e}},t7=class{constructor(e,t,n){this._name=e,this.dataBuffer=t,typeof n=="number"?this._size=n:(this.nullabilityBuffer=n,this._size=n.size())}getValue(e){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(e)?null:this.getValueFromBuffer(e)}has(e){return this.nullabilityBuffer?.get(e)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}},rme,hNe,gNe,tcn,yNe,vNe,H4r=class{constructor(e,t,n,r,o=4096){if(this._name=e,this._geometryVector=t,this._idVector=n,this._propertyVectors=r,this._extent=o,e.length===0)throw Error("Missing layer name")}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors??[]}getPropertyVector(e){return this.propertyVectorsMap||=new Map(this.propertyVectors.map((t)=>[t.name,t])),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let n=0;n>n&1)==1}set(e,t){let n=Math.floor(e/8),r=e%8;this.values[n]=this.values[n]|+!!t<>n&1}size(){return this._size}getBuffer(){return this.values}},mCr,ycn,vcn,Zf,ICr,r7,bcn=class{constructor(e,t,n,r,o){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=n,this._vertexBuffer=r,this._mortonSettings=o}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){let n=this.vertexOffsets[e],r=this.vertexBuffer[n],o=TNe(r,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[o.x,o.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return TCr(this)}get mortonSettings(){return this._mortonSettings}},xcn,wcn,Scn,LCr,BCr,NCr,zCr,Ccn,kNe,Van,LL,Ecn,Gan,Ew,NT,ep,f5r,Zan="0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)",oFe,b5r=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case Zf.POINT:case Zf.MULTIPOINT:this.type=1;break;case Zf.LINESTRING:case Zf.MULTILINESTRING:this.type=2;break;case Zf.POLYGON:case Zf.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=t,this.id=Number(this._featureData.id)}loadGeometry(){let e=[];for(let t of this._featureData.geometry.coordinates){let n=[];for(let r of t)n.push(new ft(r.x,r.y));e.push(n)}return e}},x5r=class{constructor(e){this.features=[],this.featureTable=e,this.name=e.name,this.extent=e.extent,this.version=2,this.features=e.getFeatures(),this.length=this.features.length}feature(e){return new b5r(this.features[e],this.extent)}},A5r=class{constructor(e){this.layers={};let t=y5r(new Uint8Array(e));this.layers=t.reduce((n,r)=>({...n,[r.name]:new x5r(r)}),{})}},w5r=class{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new fFe(Ut,16,0),this.grid3D=new fFe(Ut,16,0),this.featureIndexArray=new _sn,this.promoteId=t}insert(e,t,n,r,o,a){let i=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,o);let s=a?this.grid3D:this.grid;for(let l of t){let c=[1/0,1/0,-1/0,-1/0];for(let u of l)c[0]=Math.min(c[0],u.x),c[1]=Math.min(c[1],u.y),c[2]=Math.max(c[2],u.x),c[3]=Math.max(c[3],u.y);c[0]<8192&&c[1]<8192&&c[2]>=0&&c[3]>=0&&s.insert(i,c[0],c[1],c[2],c[3])}}loadVTLayers(){if(!this.vtLayers){switch(this.encoding){case"mlt":this.vtLayers=new A5r(this.rawTileData).layers;break;default:this.vtLayers=new lwr(new Bln(this.rawTileData)).layers}this.sourceLayerCoder=new _4r(this.vtLayers?Object.keys(this.vtLayers).sort():[BQ])}return this.vtLayers}query(e,t,n,r){this.loadVTLayers();let o=e.params,a=Ut/e.tileSize/e.scale,i=zL(o.filter,"queryRenderedFeatures filter",o.globalState),s=e.queryGeometry,l=e.queryPadding*a,c=By.fromPoints(s),u=this.grid.query(c.minX-l,c.minY-l,c.maxX+l,c.maxY+l),d=By.fromPoints(e.cameraQueryGeometry).expandBy(l),p=this.grid3D.query(d.minX,d.minY,d.maxX,d.maxY,(g,v,y,x)=>KAr(e.cameraQueryGeometry,g-l,v-l,y+l,x+l));for(let g of p)u.push(g);u.sort(C5r);let f={},m;for(let g of u){if(g===m)continue;m=g;let v=this.featureIndexArray.get(g),y=null;this.loadMatchingFeature(f,v.bucketIndex,v.sourceLayerIndex,v.featureIndex,i,o.layers,o.availableImages,t,n,r,(x,A,w)=>(y||=jT(x),A.queryIntersectsFeature({queryGeometry:s,feature:x,featureState:w,geometry:y,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return f}loadMatchingFeature(e,t,n,r,o,a,i,s,l,c,u){let d=this.bucketLayerIDs[t];if(a&&!d.some((g)=>a.has(g)))return;let p=this.sourceLayerCoder.decode(n),f=this.vtLayers[p].feature(r);if(o.needGeometry){let g=jC(f,!0);if(!o.filter(new oi(this.tileID.overscaledZ),g,this.tileID.canonical))return}else if(!o.filter(new oi(this.tileID.overscaledZ),f))return;let m=this.getId(f,p);for(let g of d){if(a&&!a.has(g))continue;let v=s[g];if(!v)continue;let y={};m&&c&&(y=c.getState(v.sourceLayer||"_geojsonTileLayer",m));let x=rr({},l[g]);x.paint=Qan(x.paint,v.paint,f,y,i),x.layout=Qan(x.layout,v.layout,f,y,i);let A=!u||u(f,v,y);if(!A)continue;let w=new mNe(f,this.z,this.x,this.y,m);w.layer=x;let C=e[g];C===void 0&&(C=e[g]=[]),C.push({featureIndex:r,feature:w,intersectionZ:A})}}lookupSymbolFeatures(e,t,n,r,o,a,i,s){let l={};this.loadVTLayers();let c=zL(o.filterSpec,"queryRenderedFeatures symbol filter",o.globalState);for(let u of e)this.loadMatchingFeature(l,n,r,u,c,a,i,s,t);return l}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){let n=e.id;if(this.promoteId){let r=typeof this.promoteId=="string"?this.promoteId:this.promoteId[t];n=e.properties[r],typeof n=="boolean"&&(n=Number(n)),n===void 0&&e.properties?.cluster&&this.promoteId&&(n=Number(e.properties.cluster_id))}return n}},Dcn=class{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let o={value:t,timeout:void 0};if(n!==void 0&&(o.timeout=setTimeout(()=>{this.remove(e,o)},n)),this.data[r].push(o),this.order.push(r),this.order.length>this.max){let a=this._getAndRemoveByKey(this.order[0]);a&&this.onRemove(a)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),o=this.data[n][r];return this.data[n].splice(r,1),o.timeout&&clearTimeout(o.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(o.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let n of t)this.remove(n.value.tileID,n)}};var Lcn=P(()=>{Kvr=Object.create,Xan=Object.defineProperty,Jvr=Object.getOwnPropertyDescriptor,jvr=Object.getOwnPropertyNames,$vr=Object.getPrototypeOf,Wan=Object.prototype.hasOwnProperty;ft.prototype={clone(){return new ft(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){let t=e.x-this.x,n=e.y-this.y;return t*t+n*n},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){let t=e[0]*this.x+e[1]*this.y,n=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=n,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){let e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){let t=Math.cos(e),n=Math.sin(e),r=t*this.x-n*this.y,o=n*this.x+t*this.y;return this.x=r,this.y=o,this},_rotateAround(e,t){let n=Math.cos(e),r=Math.sin(e),o=t.x+n*(this.x-t.x)-r*(this.y-t.y),a=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=o,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:ft},ft.convert=function(e){if(e instanceof ft)return e;if(Array.isArray(e))return new ft(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new ft(+e.x,+e.y);throw Error("Expected [x, y] or {x, y} point format")};Fd=typeof Float32Array<"u"?Float32Array:Array;ffe=abr;yv=ibr;Gx=hfe,cQ=Fy;(function(){var e=ein();return function(t,n,r,o,a,i){var s,l;for(n||=3,r||=0,l=o?Math.min(o*n+r,t.length):t.length,s=r;s0.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(wh(e,o,a),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+i,xon(r,r))}})(),function(){var e=bon(),t=bon();return function(n,r,o,a,i,s){return FZ(e,r,i,s),FZ(t,o,a,s),FZ(n,e,t,2*s*(1-s)),n}}(),function(){var e=uUe();return function(t,n,r,o){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=o[0],e[4]=o[1],e[7]=o[2],e[2]=-n[0],e[5]=-n[1],e[8]=-n[2],xon(t,pbr(t,e))}}();cin=fbr;(function(){var e=bfe();return function(t,n,r,o,a,i){var s,l;for(n||=2,r||=0,l=o?Math.min(o*n+r,t.length):t.length,s=r;s":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"expression_name",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:0.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:0.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:0.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:0.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:0.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"fill-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:0.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}},interpolation:{type:"array",value:"interpolation_name",minimum:1},interpolation_name:{type:"enum",values:{linear:{syntax:{overloads:[{parameters:[],"output-type":"interpolation"}],parameters:[]}},exponential:{syntax:{overloads:[{parameters:["base"],"output-type":"interpolation"}],parameters:[{name:"base",type:"number literal"}]}},"cubic-bezier":{syntax:{overloads:[{parameters:["x1","y1","x2","y2"],"output-type":"interpolation"}],parameters:[{name:"x1",type:"number literal"},{name:"y1",type:"number literal"},{name:"x2",type:"number literal"},{name:"y2",type:"number literal"}]}}}}},bt=Rin,Pin=["type","source","source-layer","minzoom","maxzoom","filter","layout"],gQ={kind:"null"},bn={kind:"number"},fo={kind:"string"},Uo={kind:"boolean"},mv={kind:"color"},Ife={kind:"projectionDefinition"},zT={kind:"object"},bo={kind:"value"},wbr={kind:"error"},Tfe={kind:"collator"},yQ={kind:"formatted"},kfe={kind:"padding"},ZZ={kind:"colorArray"},Rfe={kind:"numberArray"},vQ={kind:"resolvedImage"},Pfe={kind:"variableAnchorOffsetCollection"};Sbr=[gQ,bn,fo,Uo,mv,Ife,yQ,zT,Im(bo),kfe,Rfe,ZZ,vQ,Pfe];Bin=3*aFe*aFe,Cbr=Math.PI/180,Ebr=180/Math.PI;Rbr=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};Mbr={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};Kr=class e{constructor(t,n,r,o=1,a=!0){this.r=t,this.g=n,this.b=r,this.a=o,a||(this.r*=o,this.g*=o,this.b*=o,o||this.overwriteGetter("rgb",[t,n,r,o]))}static{this.black=new e(0,0,0,1)}static{this.white=new e(1,1,1,1)}static{this.transparent=new e(0,0,0,0)}static{this.red=new e(1,0,0,1)}static parse(t){if(t instanceof e)return t;if(typeof t!="string")return;let n=Pbr(t);if(n)return new e(...n,!1)}get rgb(){let{r:t,g:n,b:r,a:o}=this,a=o||1/0;return this.overwriteGetter("rgb",[t/a,n/a,r/a,o])}get hcl(){return this.overwriteGetter("hcl",Ibr(this.rgb))}get lab(){return this.overwriteGetter("lab",Fin(this.rgb))}overwriteGetter(t,n){return Object.defineProperty(this,t,{value:n}),n}toString(){let[t,n,r,o]=this.rgb;return`rgba(${[t,n,r].map((a)=>Math.round(a*255)).join(",")},${o})`}static interpolate(t,n,r,o="rgb"){switch(o){case"rgb":{let[a,i,s,l]=BL(t.rgb,n.rgb,r);return new e(a,i,s,l,!1)}case"hcl":{let[a,i,s,l]=t.hcl,[c,u,d,p]=n.hcl,f,m;if(!isNaN(a)&&!isNaN(c)){let A=c-a;c>a&&A>180?A-=360:c180&&(A+=360),f=a+r*A}else isNaN(a)?isNaN(c)?f=NaN:(f=c,(s===1||s===0)&&(m=u)):(f=a,(d===1||d===0)&&(m=i));let[g,v,y,x]=Tbr([f,m??qC(i,u,r),qC(s,d,r),qC(l,p,r)]);return new e(g,v,y,x,!1)}case"lab":{let[a,i,s,l]=Uin(BL(t.lab,n.lab,r));return new e(a,i,s,l,!1)}}}},Lbr=["bottom","center","top"],tl=class extends Error{constructor(e,t){super(e),this.name="RuntimeError",this.path=t}toJSON(){return this.message}},Bbr=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);Obr=["Unknown","Point","LineString","Polygon"];Hs={color:Kr.interpolate,number:qC,padding:qx.interpolate,numberArray:Zx.interpolate,colorArray:My.interpolate,variableAnchorOffsetCollection:Hx.interpolate,array:BL};Mpe={string:fo,number:bn,boolean:Uo,object:zT},Ton={"to-boolean":Uo,"to-color":mv,"to-number":bn,"to-string":fo};rxr=QL("==",Qbr,Zin),oxr=QL("!=",Xbr,jbr),axr=QL("<",Wbr,$br),ixr=QL(">",Ybr,exr),sxr=QL("<=",Kbr,txr),lxr=QL(">=",Jbr,nxr);Don=Math.PI/180;kL={"==":rxr,"!=":oxr,">":ixr,"<":axr,">=":lxr,"<=":sxr,array:ww,at:_br,boolean:ww,case:qbr,coalesce:qin,collator:Qin,format:_in,image:uxr,in:Hbr,"index-of":Vbr,interpolate:Dy,"interpolate-hcl":Dy,"interpolate-lab":Dy,length:dxr,let:Vin,literal:FL,match:Gbr,number:ww,"number-format":cxr,object:ww,semiliteral:Bxr,slice:Zbr,step:IUe,string:ww,"to-boolean":EL,"to-color":EL,"to-number":EL,"to-string":EL,var:Gin,within:RUe,distance:LUe,"global-state":BUe},Nx=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}};JT.register(kL,{error:[wbr,[fo],(e,[t],n)=>{throw new tl(t.evaluate(e),n)}],typeof:[fo,[bo],(e,[t])=>Al(yc(t.evaluate(e)))],"to-rgba":[Im(bn,4),[mv],(e,[t])=>{let[n,r,o,a]=t.evaluate(e).rgb;return[n*255,r*255,o*255,a]}],rgb:[mv,[bn,bn,bn],Fon],rgba:[mv,[bn,bn,bn,bn],Fon],has:{type:Uo,overloads:[[[fo],(e,[t])=>Uon(t.evaluate(e),e.properties())],[[fo,zT],(e,[t,n])=>Uon(t.evaluate(e),n.evaluate(e))]]},get:{type:bo,overloads:[[[fo],(e,[t])=>WOe(t.evaluate(e),e.properties())],[[fo,zT],(e,[t,n])=>WOe(t.evaluate(e),n.evaluate(e))]]},"feature-state":[bo,[fo],(e,[t])=>WOe(t.evaluate(e),e.featureState||{})],properties:[zT,[],(e)=>e.properties()],"geometry-type":[fo,[],(e)=>e.geometryType()],id:[bo,[],(e)=>e.id()],zoom:[bn,[],(e)=>e.globals.zoom],"heatmap-density":[bn,[],(e)=>e.globals.heatmapDensity||0],elevation:[bn,[],(e)=>e.globals.elevation||0],"line-progress":[bn,[],(e)=>e.globals.lineProgress||0],accumulated:[bo,[],(e)=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[bn,DT(bn),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[bn,DT(bn),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:bn,overloads:[[[bn,bn],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[bn],(e,[t])=>-t.evaluate(e)]]},"/":[bn,[bn,bn],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[bn,[bn,bn],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[bn,[],()=>Math.LN2],pi:[bn,[],()=>Math.PI],e:[bn,[],()=>Math.E],"^":[bn,[bn,bn],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[bn,[bn],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[bn,[bn],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[bn,[bn],(e,[t])=>Math.log(t.evaluate(e))],log2:[bn,[bn],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[bn,[bn],(e,[t])=>Math.sin(t.evaluate(e))],cos:[bn,[bn],(e,[t])=>Math.cos(t.evaluate(e))],tan:[bn,[bn],(e,[t])=>Math.tan(t.evaluate(e))],asin:[bn,[bn],(e,[t])=>Math.asin(t.evaluate(e))],acos:[bn,[bn],(e,[t])=>Math.acos(t.evaluate(e))],atan:[bn,[bn],(e,[t])=>Math.atan(t.evaluate(e))],min:[bn,DT(bn),(e,t)=>Math.min(...t.map((n)=>n.evaluate(e)))],max:[bn,DT(bn),(e,t)=>Math.max(...t.map((n)=>n.evaluate(e)))],abs:[bn,[bn],(e,[t])=>Math.abs(t.evaluate(e))],round:[bn,[bn],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[bn,[bn],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[bn,[bn],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[Uo,[fo,bo],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[Uo,[bo],(e,[t])=>e.id()===t.value],"filter-type-==":[Uo,[fo],(e,[t])=>e.geometryType()===t.value],"filter-<":[Uo,[fo,bo],(e,[t,n])=>{let r=e.properties()[t.value],o=n.value;return typeof r==typeof o&&r{let n=e.id(),r=t.value;return typeof n==typeof r&&n":[Uo,[fo,bo],(e,[t,n])=>{let r=e.properties()[t.value],o=n.value;return typeof r==typeof o&&r>o}],"filter-id->":[Uo,[bo],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}],"filter-<=":[Uo,[fo,bo],(e,[t,n])=>{let r=e.properties()[t.value],o=n.value;return typeof r==typeof o&&r<=o}],"filter-id-<=":[Uo,[bo],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[Uo,[fo,bo],(e,[t,n])=>{let r=e.properties()[t.value],o=n.value;return typeof r==typeof o&&r>=o}],"filter-id->=":[Uo,[bo],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[Uo,[bo],(e,[t])=>{let n=t.value,r=e.properties();return n in r&&r[n]!==void 0}],"filter-has-id":[Uo,[],(e)=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[Uo,[Im(fo)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[Uo,[Im(bo)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[Uo,[fo,Im(bo)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[Uo,[fo,Im(bo)],(e,[t,n])=>Fxr(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:Uo,overloads:[[[Uo,Uo],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[DT(Uo),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:Uo,overloads:[[[Uo,Uo],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[DT(Uo),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[Uo,[Uo],(e,[t])=>!t.evaluate(e)],"is-supported-script":[Uo,[fo],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[fo,[fo],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[fo,[fo],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[fo,DT(bo),(e,t)=>t.map((n)=>NZ(n.evaluate(e))).join("")],split:[Im(fo),[fo,fo],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[fo,[Im(fo),fo],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],"resolved-locale":[fo,[Tfe],(e,[t])=>t.evaluate(e).resolvedLocale()]});FUe=/^(.*)-transition$/;Jxr={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};Hon={promoteId:oAr};hAr=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i;Gon={"*"(){return[]},array:_Ue,boolean:eAr,number:zfe,color:dFe,constants:usn,enum:JZ,filter:HUe,function:dsn,layer:gsn,object:Yg,source:ysn,light:vsn,sky:bsn,terrain:xsn,projection:dAr,projectionDefinition:pAr,string:XC,formatted:aAr,resolvedImage:iAr,padding:sAr,numberArray:lAr,colorArray:cAr,variableAnchorOffsetCollection:uAr,sprite:Asn,state:wsn,fontFaces:Ssn};Wg.source=ky(Ty(ysn)),Wg.sprite=ky(Ty(Asn)),Wg.glyphs=ky(Ty(Csn)),Wg.fontFaces=ky(Ty(Ssn)),Wg.light=ky(Ty(vsn)),Wg.sky=ky(Ty(bsn)),Wg.terrain=ky(Ty(xsn)),Wg.state=ky(Ty(wsn)),Wg.layer=ky(Ty(gsn)),Wg.filter=ky(Ty(HUe)),Wg.paintProperty=ky(Ty(msn)),Wg.layoutProperty=ky(Ty(hsn));yAr={type:"enum","property-type":"data-constant",expression:{interpolated:!1,parameters:["global-state"]},values:{visible:{},none:{}},transition:!1,default:"visible"};Sh=Wg,VUe=new Set(Object.keys(bt).filter((e)=>e.startsWith("source_")).map((e)=>e.slice(7).replaceAll("_","-")));Sw={};Hn("Object",Object),Hn("Set",Set),Hn("TransferableGridIndex",fFe),Hn("Color",Kr),Hn("Error",Error),Hn("AJAXError",qZ),Hn("ResolvedImage",Vx),Hn("StylePropertyFunction",asn),Hn("StyleExpression",UUe,{omit:["_evaluator"]}),Hn("ZoomDependentExpression",jpe),Hn("ZoomConstantExpression",KZ),Hn("CompoundExpression",JT,{omit:["_evaluate"]});for(let e in kL)kL[e]._classRegistryKey||Hn(`Expression_${e}`,kL[e]);$Z=class extends dr{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new Py(this,{kind:"constant",value:void 0},t);if(e.expression.kind==="constant"){let o=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type==="resolvedImage"&&typeof o!="string"?o.name:o,i=this._calculate(a,a,a,t);return new Py(this,{kind:"constant",value:i},t)}if(e.expression.kind==="camera"){let o=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new Py(this,{kind:"constant",value:o},t)}return new Py(this,e.expression,t)}evaluate(e,t,n,r,o,a){if(e.kind==="source"){let i=e.evaluate(t,n,r,o,a);return this._calculate(i,i,i,t)}return e.kind==="composite"?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}};Hn("DataDrivenProperty",dr),Hn("DataConstantProperty",Mn),Hn("CrossFadedDataDrivenProperty",$Z),Hn("CrossFadedProperty",Rsn),Hn("ColorRampProperty",Vfe);bv=class extends Qp{constructor(e,t,n){if(super(),this.id=e.id,this.type=e.type,this._globalState=n,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=bAr(this.visibility,`layers[${this.id}].layout.visibility`,n),e.type!=="custom"&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!=="background"&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter,this._featureFilter=zL(e.filter,`layers[${this.id}].filter`,n)),t.layout&&(this._unevaluatedLayout=new wAr(t.layout,`layers[${this.id}].layout`,n)),t.paint)){this._transitionablePaint=new wQ(t.paint,`layers[${this.id}].paint`,n);for(let r in e.paint)this.setPaintProperty(r,e.paint[r],{validate:!1});for(let r in e.layout)this.setLayoutProperty(r,e.layout[r],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Hfe(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=zL(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){if(e==="visibility")return this.visibility;if(this._transitionablePaint?.hasProperty(e))throw Error(e+Xon);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){let e=new Set;for(let t of this._visibilityExpression.getGlobalStateRefs())e.add(t);if(this._unevaluatedLayout)for(let t in this._unevaluatedLayout._values){let n=this._unevaluatedLayout._values[t];for(let r of n.getGlobalStateRefs())e.add(r)}for(let t of this._featureFilter.getGlobalStateRefs())e.add(t);return e}getPaintAffectingGlobalStateRefs(){let e=new globalThis.Map;if(this._transitionablePaint)for(let t in this._transitionablePaint._values){let n=this._transitionablePaint._values[t].value;for(let r of n.getGlobalStateRefs()){let o=e.get(r)??[];o.push({name:t,value:n.value}),e.set(r,o)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,n={}){if(e==="visibility"){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if(this._transitionablePaint?.hasProperty(e)){this.fire(new lr(Error(e+Xon)));return}t!=null&&this._validate(Sh.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,n)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){if(e.endsWith("-transition")){let t=e.slice(0,-11);if(t==="visibility"||this._unevaluatedLayout?.hasProperty(t))throw Error(e+JOe);return this._transitionablePaint.getTransition(t)}if(e==="visibility"||this._unevaluatedLayout?.hasProperty(e))throw Error(e+JOe);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(e==="visibility"||this._unevaluatedLayout?.hasProperty(e))return this.fire(new lr(Error(e+JOe))),!1;if(t!=null&&this._validate(Sh.paintProperty,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith("-transition"))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let r=this._transitionablePaint._values[e],o=r.property.specification["property-type"]==="cross-faded-data-driven",a=r.value.isDataDriven(),i=r.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let s=this._transitionablePaint._values[e].value;return s.isDataDriven()||a||o||this._handleOverridablePaintPropertyUpdate(e,i,s)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e=this.minzoom,t=!1){return this.minzoom&&e<(t?Math.floor(this.minzoom):this.minzoom)||this.maxzoom&&e>=this.maxzoom?!0:this._evaluatedVisibility==="none"}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}retainPriorGlobalState(e,t){this._transitionablePaint?.retainPriorGlobalState(e,t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout?.serialize(),paint:this._transitionablePaint?.serialize()};return this.visibility&&(e.layout||={},e.layout.visibility=this.visibility),vUe(e,(t,n)=>t!==void 0&&!(n==="layout"&&!Object.keys(t).length)&&!(n==="paint"&&!Object.keys(t).length))}_validate(e,t,n,r,o={}){return WL(this,e,{key:t,layerType:this.type,objectKey:n,value:r},o)}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof Py&&UL(t.property.specification)&&(t.value.kind==="source"||t.value.kind==="composite")&&t.value.isStateDependent)return!0}return!1}},EAr={get paint(){return CAr()}},IAr=class extends bv{constructor(e,t){super(e,EAr,t)}},TAr={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};eQ=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.int16[r+0]=t,this.int16[r+1]=n,e}};eQ.prototype.bytesPerElement=4,Hn("StructArrayLayout2i4",eQ);tfe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let o=e*3;return this.int16[o+0]=t,this.int16[o+1]=n,this.int16[o+2]=r,e}};tfe.prototype.bytesPerElement=6,Hn("StructArrayLayout3i6",tfe);hFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r)}emplace(e,t,n,r,o){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=o,e}};hFe.prototype.bytesPerElement=8,Hn("StructArrayLayout4i8",hFe);gFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r,o,a)}emplace(e,t,n,r,o,a,i){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=o,this.int16[s+4]=a,this.int16[s+5]=i,e}};gFe.prototype.bytesPerElement=12,Hn("StructArrayLayout2i4i12",gFe);yFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r,o,a)}emplace(e,t,n,r,o,a,i){let s=e*4,l=e*8;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[l+4]=r,this.uint8[l+5]=o,this.uint8[l+6]=a,this.uint8[l+7]=i,e}};yFe.prototype.bytesPerElement=8,Hn("StructArrayLayout2i4ub8",yFe);tQ=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.float32[r+0]=t,this.float32[r+1]=n,e}};tQ.prototype.bytesPerElement=8,Hn("StructArrayLayout2f8",tQ);vFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a,i,s,l,c){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,o,a,i,s,l,c)}emplace(e,t,n,r,o,a,i,s,l,c,u){let d=e*10;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=o,this.uint16[d+4]=a,this.uint16[d+5]=i,this.uint16[d+6]=s,this.uint16[d+7]=l,this.uint16[d+8]=c,this.uint16[d+9]=u,e}};vFe.prototype.bytesPerElement=20,Hn("StructArrayLayout10ui20",vFe);bFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a,i,s){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,o,a,i,s)}emplace(e,t,n,r,o,a,i,s,l){let c=e*8;return this.uint16[c+0]=t,this.uint16[c+1]=n,this.uint16[c+2]=r,this.uint16[c+3]=o,this.uint16[c+4]=a,this.uint16[c+5]=i,this.uint16[c+6]=s,this.uint16[c+7]=l,e}};bFe.prototype.bytesPerElement=16,Hn("StructArrayLayout8ui16",bFe);xFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a,i,s,l,c,u,d,p){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,n,r,o,a,i,s,l,c,u,d,p)}emplace(e,t,n,r,o,a,i,s,l,c,u,d,p,f){let m=e*14,g=e*7;return this.int16[m+0]=t,this.int16[m+1]=n,this.int16[m+2]=r,this.int16[m+3]=o,this.uint16[m+4]=a,this.uint16[m+5]=i,this.uint16[m+6]=s,this.uint16[m+7]=l,this.int16[m+8]=c,this.int16[m+9]=u,this.int16[m+10]=d,this.int16[m+11]=p,this.float32[g+6]=f,e}};xFe.prototype.bytesPerElement=28,Hn("StructArrayLayout4i4ui4i1f28",xFe);AFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let o=e*3;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,e}};AFe.prototype.bytesPerElement=12,Hn("StructArrayLayout3f12",AFe);wFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.uint32[n+0]=t,e}};wFe.prototype.bytesPerElement=4,Hn("StructArrayLayout1ul4",wFe);SFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a,i,s,l){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,n,r,o,a,i,s,l)}emplace(e,t,n,r,o,a,i,s,l,c){let u=e*10,d=e*5;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=o,this.int16[u+4]=a,this.int16[u+5]=i,this.uint32[d+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e}};SFe.prototype.bytesPerElement=20,Hn("StructArrayLayout6i1ul2ui20",SFe);CFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r,o,a)}emplace(e,t,n,r,o,a,i){let s=e*6;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=o,this.int16[s+4]=a,this.int16[s+5]=i,e}};CFe.prototype.bytesPerElement=12,Hn("StructArrayLayout2i2i2i12",CFe);EFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,o)}emplace(e,t,n,r,o,a){let i=e*4,s=e*8;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,this.int16[s+6]=o,this.int16[s+7]=a,e}};EFe.prototype.bytesPerElement=16,Hn("StructArrayLayout2f1f2i16",EFe);IFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r,o,a)}emplace(e,t,n,r,o,a,i){let s=e*16,l=e*4,c=e*8;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[l+1]=r,this.float32[l+2]=o,this.int16[c+6]=a,this.int16[c+7]=i,e}};IFe.prototype.bytesPerElement=16,Hn("StructArrayLayout2ub2f2i16",IFe);nfe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let o=e*3;return this.uint16[o+0]=t,this.uint16[o+1]=n,this.uint16[o+2]=r,e}};nfe.prototype.bytesPerElement=6,Hn("StructArrayLayout3ui6",nfe);TFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y){let x=this.length;return this.resize(x+1),this.emplace(x,e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y)}emplace(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x){let A=e*26,w=e*13,C=e*52;return this.int16[A+0]=t,this.int16[A+1]=n,this.uint16[A+2]=r,this.uint16[A+3]=o,this.uint32[w+2]=a,this.uint32[w+3]=i,this.uint32[w+4]=s,this.uint16[A+10]=l,this.uint16[A+11]=c,this.uint16[A+12]=u,this.float32[w+7]=d,this.float32[w+8]=p,this.uint8[C+36]=f,this.uint8[C+37]=m,this.uint8[C+38]=g,this.uint32[w+10]=v,this.int16[A+22]=y,this.float32[w+12]=x,e}};TFe.prototype.bytesPerElement=52,Hn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52",TFe);kFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x,A,w,C,E,T,I,k,L,O,B){let U=this.length;return this.resize(U+1),this.emplace(U,e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x,A,w,C,E,T,I,k,L,O,B)}emplace(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x,A,w,C,E,T,I,k,L,O,B,U){let D=e*34,N=e*17;return this.int16[D+0]=t,this.int16[D+1]=n,this.int16[D+2]=r,this.int16[D+3]=o,this.int16[D+4]=a,this.int16[D+5]=i,this.int16[D+6]=s,this.int16[D+7]=l,this.uint16[D+8]=c,this.uint16[D+9]=u,this.uint16[D+10]=d,this.uint16[D+11]=p,this.uint16[D+12]=f,this.uint16[D+13]=m,this.uint16[D+14]=g,this.uint16[D+15]=v,this.uint16[D+16]=y,this.uint16[D+17]=x,this.uint16[D+18]=A,this.uint16[D+19]=w,this.uint16[D+20]=C,this.uint16[D+21]=E,this.uint16[D+22]=T,this.uint32[N+12]=I,this.float32[N+13]=k,this.float32[N+14]=L,this.uint16[D+30]=O,this.uint16[D+31]=B,this.float32[N+16]=U,e}};kFe.prototype.bytesPerElement=68,Hn("StructArrayLayout8i15ui1ul2f2ui1f68",kFe);rfe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.float32[n+0]=t,e}};rfe.prototype.bytesPerElement=4,Hn("StructArrayLayout1f4",rfe);RFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let o=e*6,a=e*3;return this.uint16[o+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,e}};RFe.prototype.bytesPerElement=12,Hn("StructArrayLayout1ui2f12",RFe);PFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let o=e*2,a=e*4;return this.uint32[o+0]=t,this.uint16[a+2]=n,this.uint16[a+3]=r,e}};PFe.prototype.bytesPerElement=8,Hn("StructArrayLayout1ul2ui8",PFe);MFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=e*2;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}};MFe.prototype.bytesPerElement=4,Hn("StructArrayLayout2ui4",MFe);DFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let n=e*1;return this.uint16[n+0]=t,e}};DFe.prototype.bytesPerElement=2,Hn("StructArrayLayout1ui2",DFe);LFe=class extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r)}emplace(e,t,n,r,o){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=o,e}};LFe.prototype.bytesPerElement=16,Hn("StructArrayLayout4f16",LFe);Psn=class extends SQ{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new ft(this.anchorPointX,this.anchorPointY)}};Psn.prototype.size=20;ZUe=class extends SFe{get(e){return new Psn(this,e)}};Hn("CollisionBoxArray",ZUe);Msn=class extends SQ{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}get heightOffset(){return this._structArray.float32[this._pos4+12]}};Msn.prototype.size=52;Dsn=class extends TFe{get(e){return new Msn(this,e)}};Hn("PlacedSymbolArray",Dsn);Lsn=class extends SQ{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}get heightOffset(){return this._structArray.float32[this._pos4+16]}};Lsn.prototype.size=68;Bsn=class extends kFe{get(e){return new Lsn(this,e)}};Hn("SymbolInstanceArray",Bsn);Osn=class extends rfe{getoffsetX(e){return this.float32[e*1+0]}};Hn("GlyphOffsetArray",Osn);Fsn=class extends tfe{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};Hn("SymbolLineVertexArray",Fsn);Usn=class extends SQ{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}};Usn.prototype.size=12;Nsn=class extends RFe{get(e){return new Usn(this,e)}};Hn("TextAnchorOffsetArray",Nsn);zsn=class extends SQ{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}};zsn.prototype.size=8;_sn=class extends PFe{get(e){return new zsn(this,e)}};Hn("FeatureIndexArray",_sn);Lw=class extends eQ{},Hsn=class extends tfe{},Vsn=class extends hFe{},RAr=class extends eQ{},PAr=class extends eQ{},MAr=class extends gFe{},DAr=class extends yFe{},LAr=class extends tQ{},xL=class extends vFe{},Yon=class extends bFe{},BAr=class extends xFe{},OAr=class extends AFe{},FAr=class extends wFe{},Kon=class extends CFe{},Gsn=class extends EFe{},UAr=class extends IFe{},qsn=class extends nfe{},xv=class extends nfe{},BFe=class extends MFe{},Zsn=class extends DFe{},OFe=nl([{name:"a_pos",components:2,type:"Int16"}],4),NAr=OFe.members;OFe.size,OFe.alignment;Vs.MAX_VERTEX_ARRAY_LENGTH=65535,Hn("SegmentVector",Vs);zAr=nl([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]),_Ar=nl([{name:"a_dasharray_from",components:4,type:"Uint16"},{name:"a_dasharray_to",components:4,type:"Uint16"}]),HAr=lUe((e,t)=>{function n(r,o){for(var a=r.length&3,i=r.length-a,s=o,l,c=3432918353,u=461845907,d,p=0;p>>16)*c&65535)<<16)&4294967295,d=d<<15|d>>>17,d=(d&65535)*u+(((d>>>16)*u&65535)<<16)&4294967295,s^=d,s=s<<13|s>>>19,l=(s&65535)*5+(((s>>>16)*5&65535)<<16)&4294967295,s=(l&65535)+27492+(((l>>>16)+58964&65535)<<16);switch(d=0,a){case 3:d^=(r.charCodeAt(p+2)&255)<<16;case 2:d^=(r.charCodeAt(p+1)&255)<<8;case 1:d^=r.charCodeAt(p)&255,d=(d&65535)*c+(((d>>>16)*c&65535)<<16)&4294967295,d=d<<15|d>>>17,d=(d&65535)*u+(((d>>>16)*u&65535)<<16)&4294967295,s^=d}return s^=r.length,s^=s>>>16,s=(s&65535)*2246822507+(((s>>>16)*2246822507&65535)<<16)&4294967295,s^=s>>>13,s=(s&65535)*3266489909+(((s>>>16)*3266489909&65535)<<16)&4294967295,s^=s>>>16,s>>>0}t!==void 0&&(t.exports=n)}),VAr=lUe((e,t)=>{function n(r,o){for(var a=r.length,i=o^a,s=0,l;a>=4;)l=r.charCodeAt(s)&255|(r.charCodeAt(++s)&255)<<8|(r.charCodeAt(++s)&255)<<16|(r.charCodeAt(++s)&255)<<24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),l^=l>>>24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),i=(i&65535)*1540483477+(((i>>>16)*1540483477&65535)<<16)^l,a-=4,++s;switch(a){case 3:i^=(r.charCodeAt(s+2)&255)<<16;case 2:i^=(r.charCodeAt(s+1)&255)<<8;case 1:i^=r.charCodeAt(s)&255,i=(i&65535)*1540483477+(((i>>>16)*1540483477&65535)<<16)}return i^=i>>>13,i=(i&65535)*1540483477+(((i>>>16)*1540483477&65535)<<16),i^=i>>>15,i>>>0}t.exports=n}),ofe=tbr(lUe((e,t)=>{var n=HAr(),r=VAr();t.exports=n,t.exports.murmur3=n,t.exports.murmur2=r})(),1);Hn("FeaturePositionMap",Qsn);ar=class extends Bw{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},Un=class extends Bw{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},Ao=class extends Bw{constructor(e,t){super(e,t),this.current=[0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1])&&(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},Rm=class extends Bw{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2])&&(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},YL=class extends Bw{constructor(e,t){super(e,t),this.current=[0,0,0,0]}set(e){(e[0]!==this.current[0]||e[1]!==this.current[1]||e[2]!==this.current[2]||e[3]!==this.current[3])&&(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))}},Ow=class extends Bw{constructor(e,t){super(e,t),this.current=Kr.transparent}set(e){(e.r!==this.current.r||e.g!==this.current.g||e.b!==this.current.b||e.a!==this.current.a)&&(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}},QUe=class extends Bw{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e.length*4);for(let n=0;n=l)&&this.data.copyWithin(this._idx(0,u),d,d+l),this.data.fill(this.data[d],this._idx(-2,u),this._idx(0,u)),this.data.fill(this.data[d+l-1],this._idx(l,u),this._idx(l+1,u)+1)}let c=this._getByteView();this.min=9007199254740991,this.max=-9007199254740991;for(let u=0;uthis.max&&(this.max=f),f=this.dim||o<-1||o>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${t}, y: ${n}, dim: ${this.dim}`);let a=this._getByteView(),i=((o+2)*this.stride+r+2)*4,s=this.stride*4,l=t-r,c=n-o,u=this._unpackAtIndex(a,i),d=this._unpackAtIndex(a,i+4),p=this._unpackAtIndex(a,i+s),f=this._unpackAtIndex(a,i+s+4);return u*(1-l)*(1-c)+d*l*(1-c)+p*(1-l)*c+f*l*c}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(t,n){if(t<-2||t>=this.dim+2||n<-2||n>=this.dim+2)throw RangeError(`Out of range source coordinates for DEM data. x: ${t}, y: ${n}, dim: ${this.dim}`);return(n+2)*this.stride+(t+2)}unpack(t,n,r){return t*this.redFactor+n*this.greenFactor+r*this.blueFactor-this.baseShift}pack(t){return oln(t,this.getUnpackVector())}getPixels(){return new ss({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(t,n,r){if(this.dim!==t.dim)throw Error("dem dimension mismatch");let o=n*this.dim,a=n*this.dim+this.dim,i=r*this.dim,s=r*this.dim+this.dim;switch(n){case-1:o=a-2;break;case 1:a=o+2}switch(r){case-1:i=s-2;break;case 1:s=i+2}let l=-n*this.dim,c=-r*this.dim;for(let u=i;u{}}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){if(lfe.isParsed())throw Error("RTL text plugin already registered.");this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}async syncState(e,t){if(this.isParsed())return this.getState();if(e.pluginStatus!=="loading")return this.setState(e),e;let n=e.pluginURL,r=new Promise((a)=>{this.loadScriptResolve=a}),o=new Promise((a)=>setTimeout(()=>a(),this.TIMEOUT));if(await t(n),await Promise.race([r,o]),this.isParsed()){let a={pluginStatus:"loaded",pluginURL:n};return this.setState(a),a}throw this.setState({pluginStatus:"error",pluginURL:""}),Error(`RTL Text Plugin failed to import scripts from ${n}`)}};Qwr={C:"18g,1;g2,3;4nb,1",D:"17k,1;5,1;1,1;1,5;4,d;1,7;1,2;z,2;8,g;i,12;1,2;9,1;1,1;1,2;14,3;2,1;28,9;3,f;2,4;1,1;2,3;2,6;7a,1;2,5;1,1;g,a;5,2;2,6;1,f",R:"17m,4;1,1;1,1;5,4;l,1;14,3;1,3;g,i;12,1;2,9;1,1;1,1;2,2;1,1;o,2;2x,3;f,2;4,1;1,2;3,2;6u,j;b,1;r,3;1,1;2,2;6,1",T:"174,b;1,1;1a,l;g,1;2t,7;2,6;2,2;1,4;bt,9;16,o;1,t;1clb,1"},Xwr={1569:[65152,0,0,0],1570:[65153,65154,0,0],1571:[65155,65156,0,0],1572:[65157,65158,0,0],1573:[65159,65160,0,0],1574:[65161,65162,65163,65164],1575:[65165,65166,0,0],1576:[65167,65168,65169,65170],1577:[65171,65172,0,0],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194,0,0],1584:[65195,65196,0,0],1585:[65197,65198,0,0],1586:[65199,65200,0,0],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262,0,0],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1611:[65136,0,0,65137],1612:[65138,0,0,0],1613:[65140,0,0,0],1614:[65142,0,0,65143],1615:[65144,0,0,65145],1616:[65146,0,0,65147],1617:[65148,0,0,65149],1618:[65150,0,0,65151],1649:[64336,64337,0,0],1655:[64477,0,0,0],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393,0,0],1676:[64388,64389,0,0],1677:[64386,64387,0,0],1678:[64390,64391,0,0],1681:[64396,64397,0,0],1688:[64394,64395,0,0],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415,0,0],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421,0,0],1729:[64422,64423,64424,64425],1733:[64480,64481,0,0],1734:[64473,64474,0,0],1735:[64471,64472,0,0],1736:[64475,64476,0,0],1737:[64482,64483,0,0],1739:[64478,64479,0,0],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431,0,0],1747:[64432,64433,0,0]},Wwr={لآ:[65269,65270],لأ:[65271,65272],لإ:[65273,65274],لا:[65275,65276]},Ywr=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/;Tln=new Map;for(let[e,t]of Object.entries(Qwr))Kwr(t,e,Tln);kln=typeof Intl<"u"&&"Segmenter"in Intl;IL={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","⋯":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};hSr={10:!0,13:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},gSr={40:!0};sNe=vSr(),bSr=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,xSr=new Set(["WS","FSI","LRI","RLI","PDI"]),ASr=new Set(["S","B"]);Nms=1/eUe,San=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");Hn("ImagePosition",$fe),Hn("ImageAtlas",USr);Uln=function(e){return e[e.none=0]="none",e[e.horizontal=1]="horizontal",e[e.vertical=2]="vertical",e[e.horizontalOnly=3]="horizontalOnly",e}(Uln||{});Can=/^\p{gc=M}$/u;DL=class e extends ft{constructor(t,n,r,o){super(t,n),this.angle=r,o!==void 0&&(this.segment=o)}clone(){return new e(this.x,this.y,this.angle,this.segment)}};Hn("Anchor",DL);tme=function(e){return e[e.center=1]="center",e[e.left=2]="left",e[e.right=3]="right",e[e.top=4]="top",e[e.bottom=5]="bottom",e[e["top-left"]=6]="top-left",e[e["top-right"]=7]="top-right",e[e["bottom-left"]=8]="bottom-left",e[e["bottom-right"]=9]="bottom-right",e}({});A4r=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];Hn("SymbolBuffers",nUe);Hn("CollisionBuffers",rUe);Hn("SymbolBucket",MQ,{omit:["layers","collisionBoxArray","features","compareText"]});tFe={get paint(){return T4r()},get layout(){return E4r()}};Hn("FormatSectionOverride",Kln,{omit:["defaultValue"]});k4r=class e extends bv{constructor(t,n){super(t,tFe,n)}recalculate(t,n){super.recalculate(t,n);let r=this.layout.get("icon-rotation-alignment");if((r.value.kind!=="constant"||r.value.value==="auto")&&(this.layout._values["icon-rotation-alignment"]=new Py(r.property,{kind:"constant",value:this.layout.get("symbol-placement")==="point"?"viewport":"map"},r.parameters)),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")==="point"?this.layout._values["text-rotation-alignment"]="viewport":this.layout._values["text-rotation-alignment"]="map"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment").constantOr("viewport")),this.layout.get("symbol-placement")==="point"){let o=this.layout.get("text-writing-mode");if(o){let a=[];for(let i of o)a.includes(i)||a.push(i);this.layout._values["text-writing-mode"]=a}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,n,r,o){let a=this.layout.get(t).evaluate(n,{},r,o),i=this._unevaluatedLayout._values[t];return!i.isDataDriven()&&!Ufe(i.value)&&a?S4r(n.properties,a):a}createBucket(t){return new MQ(t)}queryRadius(){return 0}queryIntersectsFeature(){throw Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let t of tFe.paint.overridableProperties){if(!e.hasPaintOverride(this.layout,t))continue;let n=this.paint.get(t),r=new UUe(new Kln(n),`layers[${this.id}].paint.${n.property.name}`,n.property.specification),o=null;o=n.value.kind==="constant"||n.value.kind==="source"?new KZ("source",r):new jpe("composite",r,n.value.zoomStops),this.paint._values[t]=new Py(n.property,o,n.parameters)}}_handleOverridablePaintPropertyUpdate(t,n,r){return!this.layout||n.isDataDriven()||r.isDataDriven()?!1:e.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,n){let r=t.get("text-field"),o=tFe.paint.properties[n],a=!1,i=(s)=>{for(let l of s)if(o.overrides?.hasOverride(l)){a=!0;return}};if(r.value.kind==="constant"&&r.value.value instanceof Iw)i(r.value.value.sections);else if(r.value.kind==="source"||r.value.kind==="composite"){let s=(c)=>{if(!a)if(c instanceof FL&&yc(c.value)===yQ){let u=c.value;i(u.sections)}else c instanceof _in?i(c.sections):c.eachChild(s)},l=r.value;l._styleExpression&&s(l._styleExpression.expression)}return a}};D4r={get paint(){return M4r()}},L4r=class extends bv{constructor(e,t){super(e,D4r,t)}};B4r=class extends bv{constructor(e,t){super(e,{},t),this.onAdd=(n)=>{this.implementation.onAdd&&this.implementation.onAdd(n,n.painter.context.gl)},this.onRemove=(n)=>{this.implementation.onRemove&&this.implementation.onRemove(n,n.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error("Custom layers cannot be serialized")}};F4r={once:!0};nFe=Math.PI*6378137;Hn("CanonicalTileID",DQ),Hn("OverscaledTileID",Xp,{omit:["terrainRttPosMatrix32f"]});rme=class extends t7{},hNe=class extends rme{getValueFromBuffer(e){return this.dataBuffer[e]}},gNe=class extends rme{getValueFromBuffer(e){return this.dataBuffer[e]}},tcn=class extends t7{constructor(e,t,n,r){super(e,t,r),this.delta=n}},yNe=class extends tcn{constructor(e,t,n,r,o){super(e,o?Int32Array.of(t):Uint32Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},vNe=class extends t7{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}},OZ={FEATURE:0,VERTEX:1},Ua={BOOLEAN:0,INT_8:1,UINT_8:2,INT_32:3,UINT_32:4,INT_64:5,UINT_64:6,FLOAT:7,DOUBLE:8,STRING:9},ZC={GEOMETRY:0,STRUCT:1,MAP:2},ncn={ID:0};(function(e){e.NONE="NONE",e.DELTA="DELTA",e.COMPONENTWISE_DELTA="COMPONENTWISE_DELTA",e.RLE="RLE",e.MORTON="MORTON"})(xo||={});(function(e){e.NONE="NONE",e.FAST_PFOR="FAST_PFOR",e.VARINT="VARINT"})(Ly||={});bNe=new Uint32Array(33);bNe[0]=0;for(let e=1;e<=32;e++)bNe[e]=e===32?4294967295:4294967295>>>32-e;oUe=bNe;aUe=ocn(xNe),p6r=3*aUe/256+aUe|0;(function(e){e.PRESENT="PRESENT",e.DATA="DATA",e.OFFSET="OFFSET",e.LENGTH="LENGTH"})(ld||={});(function(e){e.NONE="NONE",e.SINGLE="SINGLE",e.SHARED="SHARED",e.VERTEX="VERTEX",e.MORTON="MORTON",e.FSST="FSST"})(xh||={});(function(e){e.VERTEX="VERTEX",e.INDEX="INDEX",e.STRING="STRING",e.KEY="KEY"})(Cw||={});(function(e){e.VAR_BINARY="VAR_BINARY",e.GEOMETRIES="GEOMETRIES",e.PARTS="PARTS",e.RINGS="RINGS",e.TRIANGLES="TRIANGLES",e.SYMBOL="SYMBOL",e.DICTIONARY="DICTIONARY"})(tp||={});nCr=[ld.PRESENT,ld.DATA,ld.OFFSET,ld.LENGTH],Uan=[xo.NONE,xo.DELTA,xo.COMPONENTWISE_DELTA,xo.RLE,xo.MORTON],rCr=[Ly.NONE,Ly.FAST_PFOR,Ly.VARINT],oCr=[xh.NONE,xh.SINGLE,xh.SHARED,xh.VERTEX,xh.MORTON,xh.FSST],aCr=[Cw.VERTEX,Cw.INDEX,Cw.STRING,Cw.KEY],iCr=[tp.VAR_BINARY,tp.GEOMETRIES,tp.PARTS,tp.RINGS,tp.TRIANGLES,tp.SYMBOL,tp.DICTIONARY];(function(e){e[e.FLAT=0]="FLAT",e[e.CONST=1]="CONST",e[e.SEQUENCE=2]="SEQUENCE",e[e.DICTIONARY=3]="DICTIONARY",e[e.FSST_DICTIONARY=4]="FSST_DICTIONARY"})(Ns||={});mCr=new TextDecoder;ycn=class extends rme{getValueFromBuffer(e){return this.dataBuffer[e]}},vcn=class extends tcn{constructor(e,t,n,r,o){super(e,o?BigInt64Array.of(t):BigUint64Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}};(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON",e[e.MULTIPOINT=3]="MULTIPOINT",e[e.MULTILINESTRING=4]="MULTILINESTRING",e[e.MULTIPOLYGON=5]="MULTIPOLYGON"})(Zf||={});(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON"})(ICr||={});(function(e){e[e.MORTON=0]="MORTON",e[e.VEC_2=1]="VEC_2",e[e.VEC_3=2]="VEC_3"})(r7||={});xcn=class extends bcn{constructor(e,t,n,r,o,a,i){super(n,r,o,a,i),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===Zf.POLYGON||this._geometryType===Zf.MULTIPOLYGON}containsSingleGeometryType(){return!0}};wcn=class extends bcn{constructor(e,t,n,r,o,a){super(e,n,r,o,a),this._geometryTypes=t}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let e=0;e{r in t&&(n[r]=t[r])}),n}function Ncn(e){e=e.slice();let t=Object.create(null);for(let n=0;n{"source"in s&&o[s.source]?n.push({command:"removeLayer",args:[s.id]}):i.push(s)}),n=n.concat(a),G5r(i,t.layers,n),r&&t.terrain&&n.push({command:"setTerrain",args:[t.terrain]})}catch(r){console.warn("Unable to compute style diff:",r),n=[{command:"setStyle",args:[t]}]}return n}function Z5r(){let e={},t=bt.$version;for(let n in bt.$root){let r=bt.$root[n];if(r.required){let o=null;o=n==="version"?t:r.type==="array"?[]:{},o!=null&&(e[n]=o)}}return e}function bme(e){let t=[];if(typeof e=="string")t.push({id:"default",url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:o}of e){let a=`${r}${o}`;n.includes(a)||(n.push(a),t.push({id:r,url:o}))}}return t}function Vcn(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}async function Q5r(e,t,n,r){let o=bme(e),a=n>1?"@2x":"",i={},s={};for(let{id:l,url:c}of o){let u=await t.transformRequest(Vcn(c,a,".json"),"SpriteJSON");i[l]=hQ(u,r);let d=await t.transformRequest(Vcn(c,a,".png"),"SpriteImage");s[l]=Xx.getImage(d,r)}return await Promise.all([...Object.values(i),...Object.values(s)]),X5r(i,s)}async function X5r(e,t){let n={};for(let r in e){n[r]={};let o=(await t[r]).data;if(!o)throw Error(`Could not load sprite image for ${r}: the response is empty`);let a=M0.getImageCanvasContext(o),i=(await e[r]).data;for(let s in i){let{width:l,height:c,x:u,y:d,sdf:p,pixelRatio:f,stretchX:m,stretchY:g,content:v,textFitWidth:y,textFitHeight:x}=i[s],A={width:l,height:c,x:u,y:d,context:a};n[r][s]={data:null,pixelRatio:f,sdf:p,stretchX:m,stretchY:g,content:v,textFitWidth:y,textFitHeight:x,spriteData:A}}}return n}function j5r(e){let t=/^u\+([0-9a-f]*)(\?+)$/i.exec(e);if(t){let[,o,a]=t;return o.length+a.length>6?null:Gcn(parseInt(`${o}${"0".repeat(a.length)}`,16),parseInt(`${o}${"f".repeat(a.length)}`,16))}let n=/^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i.exec(e);if(!n)return null;let r=parseInt(n[1],16);return Gcn(r,n[2]===void 0?r:parseInt(n[2],16))}function Gcn(e,t){return e>t||e>jNe?null:{start:e,end:Math.min(t,jNe)}}function $5r(e,t){return e.ranges.some(({start:n,end:r})=>t>=n&&t<=r)}function qcn(e,t,n,r,o,a,i,s,l){for(let c=t;c-1);l++,a[l]=s,i[l]=c,i[l+1]=$Ne}for(let s=0,l=0;smQ(t,n))),sme}function x8r(e,t){let n=kw();return vc(n,n,[1,1,0]),Gp(n,n,[e.width*0.5,e.height*0.5,1]),e.calculatePosMatrix?QT(n,n,e.calculatePosMatrix(t.toUnwrapped())):n}function A8r(e,t,n){if(e)for(let r of e){let o=t[r];if(o?.source===n&&o.type==="fill-extrusion")return!0}else for(let r in t){let o=t[r];if(o.source===n&&o.type==="fill-extrusion")return!0}return!1}function w8r(e,t,n,r,o,a,i){let s=A8r(o?.layers??null,t,e.id),l=a.maxPitchScaleFactor(),c=e.tilesIn(r,l,s);c.sort(tdn);let u=[];for(let d of c)u.push({wrappedTileID:d.tileID.wrapped().key,queryResults:d.tile.queryRenderedFeatures(t,n,e.getState(),d.queryGeometry,d.cameraQueryGeometry,d.scale,o,a,l,x8r(a,d.tileID),i?(p,f)=>i(d.tileID,p,f):void 0)});return I8r(E8r(u),e)}function S8r(e,t,n,r,o,a,i){let s={},l=a.queryRenderedSymbols(r),c=[];for(let u of Object.keys(l).map(Number))c.push(i[u]);c.sort(tdn);for(let u of c){let d=u.featureIndex.lookupSymbolFeatures(l[u.bucketInstanceId],t,u.bucketIndex,u.sourceLayerIndex,{filterSpec:o.filter,globalState:o.globalState},o.layers,o.availableImages,e);for(let p in d){s[p]||=[];let f=d[p];f.sort((m,g)=>{let v=u.featureSortOrder;if(v){let y=v.indexOf(m.featureIndex);return v.indexOf(g.featureIndex)-y}return g.featureIndex-m.featureIndex});for(let m of f)s[p].push(m)}}return T8r(s,e,n)}function C8r(e,t){let n=e.getRenderableIds().map((a)=>e.getTileByID(a)),r=[],o={};for(let a of n){let i=a.tileID.canonical.key;o[i]||(o[i]=!0,a.querySourceFeatures(r,t))}return r}function tdn(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function E8r(e){let t={},n={};for(let{queryResults:r,wrappedTileID:o}of e){n[o]||={};let a=n[o];for(let i in r){let s=r[i];a[i]||={};let l=a[i];t[i]||=[];for(let c of s)l[c.featureIndex]||(l[c.featureIndex]=!0,t[i].push(c))}}return t}function I8r(e,t){for(let n in e)for(let r of e[n])ndn(r,t);return e}function T8r(e,t,n){for(let r in e)for(let o of e[r]){let a=n[t[r].source];ndn(o,a)}return e}function ndn(e,t){let n=e.feature,r=t.getFeatureState(n.layer["source-layer"],n.id);n.source=n.layer.source,n.layer["source-layer"]&&(n.sourceLayer=n.layer["source-layer"]),n.state=r}async function rdn(e,t,n,r){let o=e;if(e.url?o=(await hQ(await t.transformRequest(e.url,"Source"),n)).data:await M0.frameAsync(n,r),!o)return null;let a=qL(rr(o,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in o&&o.vector_layers&&(a.vectorLayerIds=o.vector_layers.map((i)=>i.id)),a}function Cme(e,t){return t?e.properties[t]:e.id}function P8r(e,t){let n=new Map;if(e==null||e.type==null)return n;if(e.type==="Feature"){let r=Cme(e,t);return r==null?void 0:(n.set(r,e),n)}if(e.type==="FeatureCollection"){let r=new Set;for(let o of e.features){let a=Cme(o,t);if(a==null||r.has(a))return;r.add(a),n.set(a,o)}return n}}function M8r(e,t,n){let r=[];if(t.removeAll)e.clear();else if(t.remove)for(let o of t.remove){let a=e.get(o);a&&(r.push(a.geometry),e.delete(o))}if(t.add)for(let o of t.add){let a=Cme(o,n);if(a==null)continue;let i=e.get(a);i&&r.push(i.geometry),r.push(o.geometry),e.set(a,o)}if(t.update)for(let o of t.update){let a=e.get(o.id);if(!a)continue;let i=!!o.newGeometry,s=o.removeAllProperties||o.removeProperties?.length>0||o.addOrUpdateProperties?.length>0;if(!i&&!s)continue;r.push(a.geometry);let l={...a};if(e.set(o.id,l),i&&(r.push(o.newGeometry),l.geometry=o.newGeometry),s){if(l.properties=o.removeAllProperties?{}:{...l.properties||{}},o.removeProperties)for(let c of o.removeProperties)delete l.properties[c];if(o.addOrUpdateProperties)for(let{key:c,value:u}of o.addOrUpdateProperties)l.properties[c]=u}}return r}function D8r(e,t,n){if(!e)return t||{};if(!t)return e||{};let r=Xcn(e,n),o=Xcn(t,n);L8r(r,o);let a={};if((r.removeAll||o.removeAll)&&(a.removeAll=!0),a.remove=new Set([...r.remove,...o.remove]),a.add=new Map([...r.add,...o.add]),a.update=new Map([...r.update,...o.update]),a.remove.size&&a.add.size)for(let i of a.add.keys())a.remove.delete(i);return O8r(a)}function L8r(e,t){t.removeAll&&(e.add.clear(),e.update.clear(),e.remove.clear(),t.remove.clear());for(let n of t.remove)e.add.delete(n),e.update.delete(n);for(let[n,r]of t.update){let o=e.update.get(n);o&&(t.update.set(n,B8r(o,r)),e.update.delete(n))}}function B8r(e,t){let n={id:e.id};if(t.removeAllProperties&&(delete e.removeProperties,delete e.addOrUpdateProperties,delete t.removeProperties),t.removeProperties&&e.addOrUpdateProperties){let r=new Set(t.removeProperties);e.addOrUpdateProperties=e.addOrUpdateProperties.filter((o)=>!r.has(o.key))}return(e.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(e.removeProperties||t.removeProperties)&&(n.removeProperties=[...e.removeProperties||[],...t.removeProperties||[]]),(e.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...e.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(e.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||e.newGeometry),n}function Xcn(e,t){if(!e)return{};let n={};return n.removeAll=e.removeAll,n.remove=new Set(e.remove||[]),n.add=new Map(e.add?.map((r)=>[Cme(r,t),r])),n.update=new Map(e.update?.map((r)=>[r.id,r])),n}function O8r(e){let t={};return e.removeAll&&(t.removeAll=e.removeAll),e.remove&&(t.remove=Array.from(e.remove)),e.add&&(t.add=Array.from(e.add.values())),e.update&&(t.update=Array.from(e.update.values())),t}function idn(e){return!e||e.length===0?[]:typeof e[0]=="number"?[e]:e.flatMap((t)=>idn(t))}function xme(e){return e.type==="GeometryCollection"?e.geometries.flatMap((t)=>xme(t)):idn(e.coordinates)}function Wcn(e){let t=new Fw,n;switch(e.type){case"FeatureCollection":n=e.features.flatMap((r)=>xme(r.geometry));break;case"Feature":n=xme(e.geometry);break;default:n=xme(e)}if(n.length===0)return t;for(let r of n){let[o,a]=r;t.extend([o,a])}return t}function F8r({x:e,y:t,z:n},r=0){let o=Yfe((e-r)/2**n),a=VL((t+1+r)/2**n),i=Yfe((e+1+r)/2**n),s=VL((t-r)/2**n);return new Fw([o,a],[i,s])}function _8r(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}function H8r(e){return e>0?1/(1-e):1+e}function V8r(e){return e>0?1-1/(1.001-e):-e}function sdn(e,t){let n=G8r(t,"16bit"),r=Lw.deserialize({arrayBuffer:n.vertices,length:n.vertices.byteLength/2/2}),o=xv.deserialize({arrayBuffer:n.indices,length:n.indices.byteLength/2/3});return new qQ(e.createVertexBuffer(r,o7.members),e.createIndexBuffer(o),Vs.simpleSegment(0,0,r.length,o.length))}function G8r(e,t){let n=e.granularity===void 0?1:Math.max(e.granularity,1),r=n+(e.generateBorders?2:0),o=n+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),a=r+1,i=o+1,s=e.generateBorders?-1:0,l=e.generateBorders||e.extendToNorthPole?-1:0,c=n+ +!!e.generateBorders,u=n+(e.generateBorders||e.extendToSouthPole?1:0),d=a*i,p=r*o*6,f=a*i>65536;if(f&&t==="16bit")throw Error("Granularity is too large and meshes would not fit inside 16 bit vertex indices.");let m=f||t==="32bit",g=new Int16Array(d*2),v=0;for(let A=l;A<=u;A++)for(let w=s;w<=c;w++){let C=w/n*Ut;w===-1&&(C=-lme),w===n+1&&(C=Ut+lme);let E=A/n*Ut;A===-1&&(E=e.extendToNorthPole?PL:-lme),A===n+1&&(E=e.extendToSouthPole?ML:Ut+lme),g[v++]=C,g[v++]=E}let y=m?new Uint32Array(p):new Uint16Array(p),x=0;for(let A=0;A=1&&y<=512)||x>=1?rB:[m,g,x]}function X8r(e){let t=(1-4/e)/0.9921875;return Math.max(0,t)}function ldn(e){let[t,n,r,o]=e;return t.x+r.x===n.x+o.x&&t.y+r.y===n.y+o.y}function $8r(e,t){let n={};if(!t)return n;for(let r of e){let o=r.layerIds.map((a)=>t.getLayer(a)).filter(Boolean);if(o.length!==0){r.layers=o,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((a)=>o.filter((i)=>i.id===a)[0]));for(let a of o)n[a.id]=r}}return n}function tze(){return Ycn||=new eEr,Ycn}function Kcn(e){let t=[];for(let n in e)t.push({id:n,state:e[n]});return t}function nEr(e,t,n,r){let o=qp([],e,t),a=1/o[3]/n*r;return sin(o,o,[a,a,1/o[3],a])}function rEr(e,t,n,r){let o=r?4:0,a=r?0:4,i=0,s=[],l=[];for(let d=0;d<4;d++){let p=Gx([],e[d+a],e[d+o]),f=Fy(p);Ss(p,p,1/f),s.push(f),l.push(p)}for(let d=0;d<4;d++){let p=uin(e[d+o],l[d],n);i=p!==null&&p>=0?Math.max(i,p):Math.max(i,s[d])}let c=oEr(e,t),u=aEr(n,c);if(u!==null){let d=u/bc(l[0],c);i=Math.min(i,d)}for(let d=0;d<4;d++){let p=Math.min(i,s[d]);e[d+a]=[e[d+o][0]+l[d][0]*p,e[d+o][1]+l[d][1]*p,e[d+o][2]+l[d][2]*p,1]}}function oEr(e,t){let n=Gx([],e[t[0]],e[t[1]]),r=Gx([],e[t[2]],e[t[1]]),o=[0,0,0,0];return Tm(o,wh([],n,r)),o[3]=-bc(o,e[t[0]]),o}function aEr(e,t){let n=cQ(e),r=iin([],e,1/n),o=Gx([],t,Ss([],r,bc(t,r))),a=cQ(o);if(a>0){let i=Math.sqrt(1-r[3]*r[3]),s=Ss([],r,-r[3]),l=Kg([],s,Ss([],o,i/a));return xfe(t,l)}return null}function iEr(e,t,n){let r=t.intersectsFrustum(e);if(!n||r===0)return r;let o=t.intersectsPlane(n);return o===0?0:r===2&&o===2?2:1}function Jcn(e,t,n){let r=0,o=(n-t)/10;for(let a=0;a<10;a++){let i=t+(a+0.5)/10*(n-t);r+=o*Math.cos(i)**+e}return r}function nze(e,t){return function(n,r,o,a,i){let s=2*((e-1)/Zp(Math.cos(_s(e5-i))/Math.cos(_s(e5)))-1),l=Math.acos(o/a),c=2*Jcn(s-1,0,_s(i/2)),u=Math.min(_s(e5),l+_s(i/2)),d=Math.min(u,l-_s(i/2)),p=Jcn(s-1,d,u),f=Math.atan(r/o),m=Math.hypot(r,o),g=n;return g+=Zp(a/m/Math.max(0.5,Math.cos(_s(i/2)))),g+=s*Zp(Math.cos(f))/2,g-=Zp(Math.max(1,p/c/t))/2,g}}function fze(e,t){let n=(t.roundZoom?Math.round:Math.floor)(e.zoom+Zp(e.tileSize/t.tileSize));return Math.max(0,n)}function lEr(e,t){let n=e5-e.pitch-e.fov/2,r=qr((15-n)/15,0,1),o=Math.max(500,t??0);return e.elevation+r*o}function cEr(e,t,n){let r=e.planes[1],o=e.points.map((l)=>{let c=r[0]*l[0]+r[1]*l[1]+r[2]*l[2]+r[3];if(Math.abs(c)>0.000001)return l;let u=[l[0]-n[0],l[1]-n[1],l[2]-n[2]],d=r[0]*u[0]+r[1]*u[1]+r[2]*u[2];if(d>=-0.000000001)return l;let p=t/-d;return[l[0]+u[0]*p,l[1]+u[1]*p,l[2]+u[2]*p,l[3]]}),a=e.planes.map((l,c)=>c===1?[l[0],l[1],l[2],l[3]+t]:l),i=[1/0,1/0,1/0],s=[-1/0,-1/0,-1/0];for(let l of o)for(let c=0;c<3;c++)i[c]=Math.min(i[c],l[c]),s[c]=Math.max(s[c],l[c]);return new pze(o,a,new dze(i,s))}function uEr(e,t,n,r){let o=Math.hypot(t[0],t[1],t[2]);if(o===0)return{frustum:e,plane:t};let a=1+r/Pm,i=qr(-t[3]/o,-1,1),s=Math.cos(Math.acos(i)+Math.acos(1/a));return{frustum:cEr(e,Math.sqrt(a*a-1),n),plane:[t[0],t[1],t[2],-s*o]}}function iB(e,t){let n=e.getCameraFrustum(),r=e.getClippingPlane();r&&t.maxContentElevation>0&&({frustum:n,plane:r}=uEr(n,r,e.cameraPosition,t.maxContentElevation));let o=bln(e),a=ai.fromLngLat(e.center,e.elevation),i=lEr(e,t.maxContentElevation),s=e.getCoveringTilesDetailsProvider(),l=s.allowVariableZoom(e,t),c=fze(e,t),u=t.minzoom||0,d=t.maxzoom===void 0?e.maxZoom:t.maxzoom,p=Math.min(Math.max(0,c),d),f=2**p,m=[f*o.x,f*o.y,0],g=[f*a.x,f*a.y,0],v=Math.hypot(a.x-o.x,a.y-o.y),y=Math.abs(a.z-o.z),x=Math.hypot(v,y),A=(E)=>({zoom:0,x:0,y:0,wrap:E,fullyVisible:!1}),w=[],C=[];if(e.renderWorldCopies&&s.allowWorldCopies())for(let E=1;E<=3;E++)w.push(A(-E)),w.push(A(E));for(w.push(A(0));w.length>0;){let E=w.pop(),{x:T,y:I,fullyVisible:k}=E,L={x:T,y:I,z:E.zoom},O=s.getTileBoundingVolume(L,E.wrap,i,t);if(!k){let N=iEr(n,O,r);if(N===0)continue;k=N===2}let B=s.distanceToTile2d(o.x,o.y,L,O),U=c;l&&(U=(t.calculateTileZoom||sEr)(e.zoom+Zp(e.tileSize/t.tileSize),B,y,x,e.fov)),U=(t.roundZoom?Math.round:Math.floor)(U),U=Math.max(0,U);let D=Math.min(U,d);if(E.wrap=s.getWrap(a,L,E.wrap),E.zoom>=D){if(E.zoom>1),Z=E.zoom+1;w.push({zoom:Z,x:_,y:G,wrap:E.wrap,fullyVisible:k})}}return C.sort((E,T)=>E.distanceSq-T.distanceSq).map((E)=>E.tileID)}function jcn(e){return e==="raster"||e==="image"||e==="video"}function dEr(e,t,n,r,o,a,i){let s=vi(),l=pin(t);for(let c of t){let u=e.getTileById(c.key);(u.fadingDirection===0||u.fadeOpacity===0)&&u.resetFadeLogic(),!pEr(e,u,n,s,r,o,i)&&(fEr(e,u,n,s,a,i)||mEr(u,l,s,i)||u.resetFadeLogic())}}function pEr(e,t,n,r,o,a,i){if(!t.hasData())return!1;let{tileID:s,fadingRole:l,fadingDirection:c,fadingParentID:u}=t;if(l===0&&c===1&&u)return n[u.key]=u,!0;let d=Math.max(s.overscaledZ-o,a);for(let p=s.overscaledZ-1;p>=d;p--){let f=s.scaledTo(p),m=e.getLoadedTile(f);if(m)return t.setCrossFadeLogic({fadingRole:0,fadingDirection:1,fadingParentID:m.tileID,fadeEndTime:r+i}),m.setCrossFadeLogic({fadingRole:1,fadingDirection:0,fadeEndTime:r+i}),n[f.key]=f,!0}return!1}function fEr(e,t,n,r,o,a){if(!t.hasData())return!1;let i=t.tileID.children(o),s=$cn(e,t,i,n,r,o,a);if(s)return!0;for(let l of i)$cn(e,t,l.children(o),n,r,o,a)&&(s=!0);return s}function $cn(e,t,n,r,o,a,i){if(n[0].overscaledZ>=a)return!1;let s=!1;for(let l of n){let c=e.getLoadedTile(l);if(!c)continue;let{fadingRole:u,fadingDirection:d,fadingParentID:p}=c;(u!==0||d!==0||!p)&&(c.setCrossFadeLogic({fadingRole:0,fadingDirection:0,fadingParentID:t.tileID,fadeEndTime:o+i}),t.setCrossFadeLogic({fadingRole:1,fadingDirection:1,fadeEndTime:o+i})),r[l.key]=l,s=!0}return s}function mEr(e,t,n,r){let o=e.tileID;if(e.selfFading)return!0;if(e.hasData())return!1;if(t.has(o)){let a=n+r;return e.setSelfFadeLogic(a),!0}return!1}function hEr(e,t){if(t<=0)return!1;let n=vi();for(let r of e.getAllTiles())if(r.fadeEndTime>=n)return!0;return!1}function gEr(e,t){let n=t.getRenderableIds();for(let r of n){if(!e.neighboringTiles?.[r])continue;let o=t.getTileById(r);e.neighboringTiles[r].backfilled||eun(e,o),!o.neighboringTiles?.[e.tileID.key]?.backfilled&&eun(o,e)}}function eun(e,t){e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0;let n=t.tileID.canonical.x-e.tileID.canonical.x,r=t.tileID.canonical.y-e.tileID.canonical.y,o=2**e.tileID.canonical.z,a=t.tileID.key;(n!==0||r!==0)&&(Math.abs(r)>1||(Math.abs(n)>1&&(Math.abs(n+o)===1?n+=o:Math.abs(n-o)===1&&(n-=o)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,n,r),e.neighboringTiles?.[a]&&(e.neighboringTiles[a].backfilled=!0))))}function Ame(e,t,n,r,o){return o?e?e(t,n)+r:r===0?void 0:r:r}function cme(e,t){let n=!0;return e==="always"||(e==="never"||t==="never")&&(n=!1),n}function vEr(e,t){let n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),o=t[0]*n,a=t[4]*n,i=t[8]*r,s=t[1]*n,l=t[5]*n,c=t[9]*r,u=t[2]*n,d=t[6]*n,p=t[10]*r;e[0]=o,e[1]=a,e[2]=i,e[4]=s,e[5]=l,e[6]=c,e[8]=u,e[9]=d,e[10]=p;let f=t[12],m=t[13],g=t[14];return e[12]=-o*f-s*m-u*g,e[13]=-a*f-l*m-d*g,e[14]=-i*f-c*m-p*g,e[3]=0,e[7]=0,e[11]=0,e[15]=1,e}function bEr(e,t){return e[0]=1/t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1/t[5],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=0,e[11]=1/t[14],e[12]=0,e[13]=0,e[14]=-1,e[15]=t[10]/t[14],e}function xEr(e,t){let n=1/(t[0]*t[5]-t[1]*t[4]);return e[0]=t[5]*n,e[1]=-t[1]*n,e[2]=0,e[3]=0,e[4]=-t[4]*n,e[5]=t[0]*n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1/t[10],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1/t[15],e}function mze(e,t,n){let r=kw();if(!e){let{vecSouth:o,vecEast:a}=hze(t),i=Yun();i[0]=a[0],i[1]=a[1],i[2]=o[0],i[3]=o[1],I5r(i,i),r[0]=i[0],r[1]=i[1],r[4]=i[2],r[5]=i[3]}return Gp(r,r,[1/n,1/n,1]),r}function wEr(e,t,n,r){if(e){let o=kw();if(!t){let{vecSouth:a,vecEast:i}=hze(n);o[0]=i[0],o[1]=i[1],o[4]=a[0],o[5]=a[1]}return Gp(o,o,[r,r,1]),o}return n.pixelsToClipSpaceMatrix}function hze(e){let t=Math.cos(e.rollInRadians),n=Math.sin(e.rollInRadians),r=Math.cos(e.pitchInRadians),o=Math.cos(e.bearingInRadians),a=Math.sin(e.bearingInRadians),i=bfe();i[0]=-o*r*n-a*t,i[1]=-a*r*n+o*t;let s=mUe(i);s<0.000000001?hUe(i):fUe(i,i,1/s);let l=bfe();l[0]=o*r*t-a*n,l[1]=a*r*t+o*n;let c=mUe(l);return c<0.000000001?hUe(l):fUe(l,l,1/c),{vecEast:l,vecSouth:i}}function a7(e,t,n){return Ame(e.getElevation,t,n,e.heightOffset??0,e.heightAnchorGround??!0)}function gze(e,t,n,r){let o;r==null?(o=[e,t,0,1],yze(o,o,n)):(o=[e,t,r,1],qp(o,o,n));let a=o[3];return{point:new ft(o[0]/a,o[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function udn(e,t){return 0.5+e/t*0.5}function SEr(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function CEr(e,t,n,r,o,a,i,s,l,c,u,d,p){let f=n?e.textSizeData:e.iconSizeData,m=RQ(f,t.transform.zoom),g=[256/t.width*2+1,256/t.height*2+1],v=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;v.clear();let y=e.lineVertexArray,x=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,A=t.transform.width/t.transform.height,w=!1;for(let C=0;CMath.abs(n.x-t.x)*r?{useVertical:!0}:(e===2?t.yn.x)?{needsFlipping:!0}:null}function oun(e){let{projectionContext:t,pitchedLabelPlaneMatrixInverse:n,symbol:r,fontSize:o,flip:a,keepUpright:i,glyphOffsetArray:s,dynamicLayoutVertexArray:l,aspectRatio:c,rotateToLine:u}=e,d=o/24,p=r.lineOffsetX*d,f=r.lineOffsetY*d,m;if(r.numGlyphs>1){let g=r.glyphStartIndex+r.numGlyphs,v=r.lineStartIndex,y=r.lineStartIndex+r.lineLength,x=ddn(d,s,p,f,a,r,u,t);if(!x)return{notEnoughRoom:!0};let A=ume(x.first.point.x,x.first.point.y,t,n),w=ume(x.last.point.x,x.last.point.y,t,n);if(i&&!a){let C=run(r.writingMode,A,w,c);if(C)return C}m=[x.first];for(let C=r.glyphStartIndex+1;C0?A.point:pdn(t.tileAnchorPoint,x,v,1,t),C=ume(v.x,v.y,t,n),E=ume(w.x,w.y,t,n),T=run(r.writingMode,C,E,c);if(T)return T}let g=Eme(d*s.getoffsetX(r.glyphStartIndex),p,f,a,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,u);if(!g||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[g]}for(let g of m)PQ(l,g.point,g.angle);return{}}function pdn(e,t,n,r,o){let a=e.add(e.sub(t)._unit()),i=i7(a.x,a.y,o).point,s=n.sub(i);return n.add(s._mult(r/s.mag()))}function oze(e,t,n){let r=t.projectionCache;if(r.projections[e])return r.projections[e];let o=new ft(t.lineVertexArray.getx(e),t.lineVertexArray.gety(e)),a=i7(o.x,o.y,t);if(a.signedDistanceFromCamera>0)return r.projections[e]=a.point,r.anyProjectionOccluded||=a.isOccluded,a.point;let i=e-n.direction,s=n.distanceFromAnchor===0?t.tileAnchorPoint:new ft(t.lineVertexArray.getx(i),t.lineVertexArray.gety(i)),l=n.absOffsetX-n.distanceFromAnchor+1;return pdn(s,o,n.previousVertex,l,t)}function i7(e,t,n){let r=e+n.translation[0],o=t+n.translation[1],a;return n.pitchWithMap?(a=gze(r,o,n.pitchedLabelPlaneMatrix,a7(n,r,o)),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,o,n.unwrappedTileID,a7(n,r,o)),a.point.x=(a.point.x*0.5+0.5)*n.width,a.point.y=(-a.point.y*0.5+0.5)*n.height),a}function ume(e,t,n,r){if(n.pitchWithMap){let o=[e,t,0,1];qp(o,o,r);let a=o[0]/o[3],i=o[1]/o[3];return n.transform.projectTileCoordinates(a,i,n.unwrappedTileID,a7(n,a,i)).point}return{x:e/n.width*2-1,y:1-t/n.height*2}}function fdn(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,a7(n,e,t))}function aze(e,t,n){return e._unit()._perp()._mult(t*n)}function EEr(e,t,n,r,o,a,i,s,l){if(s.projectionCache.offsets[e])return s.projectionCache.offsets[e];let c=n.add(t);if(e+l.direction=o)return s.projectionCache.offsets[e]=c,c;let u=oze(e+l.direction,s,l),d=aze(u.sub(n),i,l.direction),p=n.add(d),f=u.add(d);return s.projectionCache.offsets[e]=min(a,c,p,f)||c,s.projectionCache.offsets[e]}function Eme(e,t,n,r,o,a,i,s,l){let c=r?e-t:e+t,u=c>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let p=u>0?a+o:a+o+1,f;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=i7(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let m=f,g=f,v,y,x=0,A=0,w=Math.abs(c),C=[],E;for(;x+A<=w;){if(p+=u,p=i)return null;x+=A,g=m,y=v;let L={absOffsetX:w,direction:u,distanceFromAnchor:x,previousVertex:g};if(m=oze(p,s,L),n===0)C.push(g),E=m.sub(g);else{let O,B=m.sub(g);O=B.mag()===0?aze(oze(p+u,s,L).sub(m),n,u):aze(B,n,u),y||=g.add(O),v=EEr(p,O,m,a,i,y,n,s,L),C.push(y),E=v.sub(y)}A=E.mag()}let T=(w-x)/A,I=E._mult(T)._add(y||g),k=d+Math.atan2(m.y-g.y,m.x-g.x);return C.push(I),{point:I,angle:l?k:0,path:C}}function oB(e,t){for(let n=0;n{let o=gze(r.x,r.y,n,a7(t,r.x,r.y)),a=t.transform.projectTileCoordinates(o.point.x,o.point.y,t.unwrappedTileID,a7(t,o.point.x,o.point.y));return a.point.x=(a.point.x*0.5+0.5)*t.width,a.point.y=(-a.point.y*0.5+0.5)*t.height,a})}function kEr(e){let t=0,n=0,r=0,o=0;for(let a=0;an&&(n=o,t=r));return e.slice(t,t+n)}function sun(e,t,n,r,o){let{horizontalAlign:a,verticalAlign:i}=kQ(e),s=-(a-0.5)*t,l=-(i-0.5)*n;return new ft(s+r[0]*o,l+r[1]*o)}function lun(e,t,n,r,o,a){(!r||r.length===0)&&(r=[0,0,0,0]);let i=r[0]-100,s=r[1]-100,l=r[2]-100,c=r[3]-100;e.emplaceBack(+!!t,+!!n,o||0,a||0,i,s),e.emplaceBack(+!!t,+!!n,o||0,a||0,l,s),e.emplaceBack(+!!t,+!!n,o||0,a||0,l,c),e.emplaceBack(+!!t,+!!n,o||0,a||0,i,c)}function cun(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return 4294967295;let t=+!!e.placed,n=Math.floor(e.opacity*127);return n*LEr+t*BEr+n*OEr+t*FEr+n*512+t*256+n*2+t}function ize(e,t,n,r,o,a){if(o-r<=n)return;let i=r+o>>1;mdn(e,t,i,r,o,a),ize(e,t,n,r,i-1,1-a),ize(e,t,n,i+1,o,1-a)}function mdn(e,t,n,r,o,a){for(;o>r;){if(o-r>600){let c=o-r+1,u=n-r+1,d=Math.log(c),p=0.5*Math.exp(2*d/3),f=0.5*Math.sqrt(d*p*(c-p)/c)*(u-c/2<0?-1:1);mdn(e,t,n,Math.max(r,Math.floor(n-u*p/c+f)),Math.min(o,Math.floor(n+(c-u)*p/c+f)),a)}let i=t[2*n+a],s=r,l=o;for(zQ(e,t,r,n),t[2*o+a]>i&&zQ(e,t,r,o);si;)l--}t[2*r+a]===i?zQ(e,t,r,l):(l++,zQ(e,t,l,o)),l<=n&&(r=l+1),n<=l&&(o=l-1)}}function zQ(e,t,n,r){FNe(e,n,r),FNe(t,2*n,2*r),FNe(t,2*n+1,2*r+1)}function FNe(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function dun(e,t,n,r){let o=e-n,a=t-r;return o*o+a*a}function Ba(e,t){let n=/#pragma maplibre: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/in ([\w]+) ([\w]+)/g),o=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),i=a?a.concat(o):o,s=r?r.length:0,l={};return e=e.replace(n,(c,u,d,p,f)=>(l[f]=!0,u==="define"?` + })));`), + p.write(`newResult[${AD(x)}] = ${A}.value`)); + } + (p.write("payload.value = newResult;"), p.write("return payload;")); + let y = p.compile(); + return (x, A) => y(d, x, A); + }, + o, + a = JG, + i = !Ale.jitless, + l = i && $Zt.value, + c = t.catchall, + u; + e._zod.parse = (d, p) => { + u ?? (u = n.value); + let f = d.value; + if (!a(f)) + return ( + d.issues.push({ + expected: "object", + code: "invalid_type", + input: f, + inst: e, + }), + d + ); + let m = []; + if (i && l && p?.async === !1 && p.jitless !== !0) { + if (!o) o = r(t.shape); + d = o(d, p); + } else { + d.value = {}; + let A = u.shape; + for (let w of u.keys) { + let C = A[w], + E = C._zod.run({ value: f[w], issues: [] }, p), + T = C._zod.optin === "optional" && C._zod.optout === "optional"; + if (E instanceof Promise) + m.push(E.then((I) => (T ? eXt(I, d, w, f) : Mle(I, d, w)))); + else if (T) eXt(E, d, w, f); + else Mle(E, d, w); + } + } + if (!c) return m.length ? Promise.all(m).then(() => d) : d; + let g = [], + v = u.keySet, + y = c._zod, + x = y.def.type; + for (let A of Object.keys(f)) { + if (v.has(A)) continue; + if (x === "never") { + g.push(A); + continue; + } + let w = y.run({ value: f[A], issues: [] }, p); + if (w instanceof Promise) m.push(w.then((C) => Mle(C, d, A))); + else Mle(w, d, A); + } + if (g.length) + d.issues.push({ + code: "unrecognized_keys", + keys: g, + input: f, + inst: e, + }); + if (!m.length) return d; + return Promise.all(m).then(() => d); + }; + }); + ((dPe = _t("$ZodUnion", (e, t) => { + ($s.init(e, t), + Os(e._zod, "optin", () => + t.options.some((n) => n._zod.optin === "optional") + ? "optional" + : void 0, + ), + Os(e._zod, "optout", () => + t.options.some((n) => n._zod.optout === "optional") + ? "optional" + : void 0, + ), + Os(e._zod, "values", () => { + if (t.options.every((n) => n._zod.values)) + return new Set(t.options.flatMap((n) => Array.from(n._zod.values))); + return; + }), + Os(e._zod, "pattern", () => { + if (t.options.every((n) => n._zod.pattern)) { + let n = t.options.map((r) => r._zod.pattern); + return new RegExp(`^(${n.map((r) => Ele(r.source)).join("|")})$`); + } + return; + }), + (e._zod.parse = (n, r) => { + let o = !1, + a = []; + for (let i of t.options) { + let s = i._zod.run({ value: n.value, issues: [] }, r); + if (s instanceof Promise) (a.push(s), (o = !0)); + else { + if (s.issues.length === 0) return s; + a.push(s); + } + } + if (!o) return tXt(a, n, e, r); + return Promise.all(a).then((i) => tXt(i, n, e, r)); + })); + })), + (zXt = _t("$ZodDiscriminatedUnion", (e, t) => { + dPe.init(e, t); + let n = e._zod.parse; + Os(e._zod, "propValues", () => { + let o = {}; + for (let a of t.options) { + let i = a._zod.propValues; + if (!i || Object.keys(i).length === 0) + throw Error( + `Invalid discriminated union option at index "${t.options.indexOf(a)}"`, + ); + for (let [s, l] of Object.entries(i)) { + if (!o[s]) o[s] = new Set(); + for (let c of l) o[s].add(c); + } + } + return o; + }); + let r = Sle(() => { + let o = t.options, + a = new Map(); + for (let i of o) { + let s = i._zod.propValues[t.discriminator]; + if (!s || s.size === 0) + throw Error( + `Invalid discriminated union option at index "${t.options.indexOf(i)}"`, + ); + for (let l of s) { + if (a.has(l)) + throw Error(`Duplicate discriminator value "${String(l)}"`); + a.set(l, i); + } + } + return a; + }); + e._zod.parse = (o, a) => { + let i = o.value; + if (!JG(i)) + return ( + o.issues.push({ + code: "invalid_type", + expected: "object", + input: i, + inst: e, + }), + o + ); + let s = r.value.get(i?.[t.discriminator]); + if (s) return s._zod.run(o, a); + if (t.unionFallback) return n(o, a); + return ( + o.issues.push({ + code: "invalid_union", + errors: [], + note: "No matching discriminator", + input: i, + path: [t.discriminator], + inst: e, + }), + o + ); + }; + })), + (_Xt = _t("$ZodIntersection", (e, t) => { + ($s.init(e, t), + (e._zod.parse = (n, r) => { + let o = n.value, + a = t.left._zod.run({ value: o, issues: [] }, r), + i = t.right._zod.run({ value: o, issues: [] }, r); + if (a instanceof Promise || i instanceof Promise) + return Promise.all([a, i]).then(([l, c]) => nXt(n, l, c)); + return nXt(n, a, i); + })); + }))); + ((HXt = _t("$ZodEnum", (e, t) => { + $s.init(e, t); + let n = KZt(t.entries); + ((e._zod.values = new Set(n)), + (e._zod.pattern = new RegExp( + `^(${n + .filter((r) => eQt.has(typeof r)) + .map((r) => (typeof r === "string" ? KI(r) : r.toString())) + .join("|")})$`, + )), + (e._zod.parse = (r, o) => { + let a = r.value; + if (e._zod.values.has(a)) return r; + return ( + r.issues.push({ + code: "invalid_value", + values: n, + input: a, + inst: e, + }), + r + ); + })); + })), + (VXt = _t("$ZodLiteral", (e, t) => { + ($s.init(e, t), + (e._zod.values = new Set(t.values)), + (e._zod.pattern = new RegExp( + `^(${t.values.map((n) => (typeof n === "string" ? KI(n) : n ? n.toString() : String(n))).join("|")})$`, + )), + (e._zod.parse = (n, r) => { + let o = n.value; + if (e._zod.values.has(o)) return n; + return ( + n.issues.push({ + code: "invalid_value", + values: t.values, + input: o, + inst: e, + }), + n + ); + })); + })), + (GXt = _t("$ZodTransform", (e, t) => { + ($s.init(e, t), + (e._zod.parse = (n, r) => { + let o = t.transform(n.value, n); + if (r.async) + return (o instanceof Promise ? o : Promise.resolve(o)).then( + (i) => ((n.value = i), n), + ); + if (o instanceof Promise) throw new pC(); + return ((n.value = o), n); + })); + })), + (qXt = _t("$ZodOptional", (e, t) => { + ($s.init(e, t), + (e._zod.optin = "optional"), + (e._zod.optout = "optional"), + Os(e._zod, "values", () => + t.innerType._zod.values + ? new Set([...t.innerType._zod.values, void 0]) + : void 0, + ), + Os(e._zod, "pattern", () => { + let n = t.innerType._zod.pattern; + return n ? new RegExp(`^(${Ele(n.source)})?$`) : void 0; + }), + (e._zod.parse = (n, r) => { + if (t.innerType._zod.optin === "optional") + return t.innerType._zod.run(n, r); + if (n.value === void 0) return n; + return t.innerType._zod.run(n, r); + })); + })), + (ZXt = _t("$ZodNullable", (e, t) => { + ($s.init(e, t), + Os(e._zod, "optin", () => t.innerType._zod.optin), + Os(e._zod, "optout", () => t.innerType._zod.optout), + Os(e._zod, "pattern", () => { + let n = t.innerType._zod.pattern; + return n ? new RegExp(`^(${Ele(n.source)}|null)$`) : void 0; + }), + Os(e._zod, "values", () => + t.innerType._zod.values + ? new Set([...t.innerType._zod.values, null]) + : void 0, + ), + (e._zod.parse = (n, r) => { + if (n.value === null) return n; + return t.innerType._zod.run(n, r); + })); + })), + (QXt = _t("$ZodDefault", (e, t) => { + ($s.init(e, t), + (e._zod.optin = "optional"), + Os(e._zod, "values", () => t.innerType._zod.values), + (e._zod.parse = (n, r) => { + if (n.value === void 0) return ((n.value = t.defaultValue), n); + let o = t.innerType._zod.run(n, r); + if (o instanceof Promise) return o.then((a) => rXt(a, t)); + return rXt(o, t); + })); + }))); + ((XXt = _t("$ZodPrefault", (e, t) => { + ($s.init(e, t), + (e._zod.optin = "optional"), + Os(e._zod, "values", () => t.innerType._zod.values), + (e._zod.parse = (n, r) => { + if (n.value === void 0) n.value = t.defaultValue; + return t.innerType._zod.run(n, r); + })); + })), + (WXt = _t("$ZodNonOptional", (e, t) => { + ($s.init(e, t), + Os(e._zod, "values", () => { + let n = t.innerType._zod.values; + return n ? new Set([...n].filter((r) => r !== void 0)) : void 0; + }), + (e._zod.parse = (n, r) => { + let o = t.innerType._zod.run(n, r); + if (o instanceof Promise) return o.then((a) => oXt(a, e)); + return oXt(o, e); + })); + }))); + ((YXt = _t("$ZodCatch", (e, t) => { + ($s.init(e, t), + (e._zod.optin = "optional"), + Os(e._zod, "optout", () => t.innerType._zod.optout), + Os(e._zod, "values", () => t.innerType._zod.values), + (e._zod.parse = (n, r) => { + let o = t.innerType._zod.run(n, r); + if (o instanceof Promise) + return o.then((a) => { + if (((n.value = a.value), a.issues.length)) + ((n.value = t.catchValue({ + ...n, + error: { issues: a.issues.map((i) => W3(i, r, J2())) }, + input: n.value, + })), + (n.issues = [])); + return n; + }); + if (((n.value = o.value), o.issues.length)) + ((n.value = t.catchValue({ + ...n, + error: { issues: o.issues.map((a) => W3(a, r, J2())) }, + input: n.value, + })), + (n.issues = [])); + return n; + })); + })), + (KXt = _t("$ZodPipe", (e, t) => { + ($s.init(e, t), + Os(e._zod, "values", () => t.in._zod.values), + Os(e._zod, "optin", () => t.in._zod.optin), + Os(e._zod, "optout", () => t.out._zod.optout), + (e._zod.parse = (n, r) => { + let o = t.in._zod.run(n, r); + if (o instanceof Promise) return o.then((a) => aXt(a, t, r)); + return aXt(o, t, r); + })); + }))); + JXt = _t("$ZodReadonly", (e, t) => { + ($s.init(e, t), + Os(e._zod, "propValues", () => t.innerType._zod.propValues), + Os(e._zod, "values", () => t.innerType._zod.values), + Os(e._zod, "optin", () => t.innerType._zod.optin), + Os(e._zod, "optout", () => t.innerType._zod.optout), + (e._zod.parse = (n, r) => { + let o = t.innerType._zod.run(n, r); + if (o instanceof Promise) return o.then(iXt); + return iXt(o); + })); + }); + jXt = _t("$ZodCustom", (e, t) => { + (Am.init(e, t), + $s.init(e, t), + (e._zod.parse = (n, r) => n), + (e._zod.check = (n) => { + let r = n.value, + o = t.fn(r); + if (o instanceof Promise) return o.then((a) => sXt(a, n, r, e)); + sXt(o, n, r, e); + return; + })); + }); +}); +function pPe() { + return { localeError: Mcr() }; +} +var Pcr = (e) => { + let t = typeof e; + switch (t) { + case "number": + return Number.isNaN(e) ? "NaN" : "number"; + case "object": { + if (Array.isArray(e)) return "array"; + if (e === null) return "null"; + if (Object.getPrototypeOf(e) !== Object.prototype && e.constructor) + return e.constructor.name; + } + } + return t; + }, + Mcr = () => { + let e = { + string: { unit: "characters", verb: "to have" }, + file: { unit: "bytes", verb: "to have" }, + array: { unit: "items", verb: "to have" }, + set: { unit: "items", verb: "to have" }, + }; + function t(r) { + return e[r] ?? null; + } + let n = { + regex: "input", + email: "email address", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO datetime", + date: "ISO date", + time: "ISO time", + duration: "ISO duration", + ipv4: "IPv4 address", + ipv6: "IPv6 address", + cidrv4: "IPv4 range", + cidrv6: "IPv6 range", + base64: "base64-encoded string", + base64url: "base64url-encoded string", + json_string: "JSON string", + e164: "E.164 number", + jwt: "JWT", + template_literal: "input", + }; + return (r) => { + switch (r.code) { + case "invalid_type": + return `Invalid input: expected ${r.expected}, received ${Pcr(r.input)}`; + case "invalid_value": + if (r.values.length === 1) + return `Invalid input: expected ${KRe(r.values[0])}`; + return `Invalid option: expected one of ${XRe(r.values, "|")}`; + case "too_big": { + let o = r.inclusive ? "<=" : "<", + a = t(r.origin); + if (a) + return `Too big: expected ${r.origin ?? "value"} to have ${o}${r.maximum.toString()} ${a.unit ?? "elements"}`; + return `Too big: expected ${r.origin ?? "value"} to be ${o}${r.maximum.toString()}`; + } + case "too_small": { + let o = r.inclusive ? ">=" : ">", + a = t(r.origin); + if (a) + return `Too small: expected ${r.origin} to have ${o}${r.minimum.toString()} ${a.unit}`; + return `Too small: expected ${r.origin} to be ${o}${r.minimum.toString()}`; + } + case "invalid_format": { + let o = r; + if (o.format === "starts_with") + return `Invalid string: must start with "${o.prefix}"`; + if (o.format === "ends_with") + return `Invalid string: must end with "${o.suffix}"`; + if (o.format === "includes") + return `Invalid string: must include "${o.includes}"`; + if (o.format === "regex") + return `Invalid string: must match pattern ${o.pattern}`; + return `Invalid ${n[o.format] ?? r.format}`; + } + case "not_multiple_of": + return `Invalid number: must be a multiple of ${r.divisor}`; + case "unrecognized_keys": + return `Unrecognized key${r.keys.length > 1 ? "s" : ""}: ${XRe(r.keys, ", ")}`; + case "invalid_key": + return `Invalid key in ${r.origin}`; + case "invalid_union": + return "Invalid input"; + case "invalid_element": + return `Invalid value in ${r.origin}`; + default: + return "Invalid input"; + } + }; + }; +var eWt = P(() => { + Y3(); +}); +var fPe = () => {}; +class nWt { + constructor() { + ((this._map = new Map()), (this._idmap = new Map())); + } + add(e, ...t) { + let n = t[0]; + if ((this._map.set(e, n), n && typeof n === "object" && "id" in n)) { + if (this._idmap.has(n.id)) + throw Error(`ID ${n.id} already exists in the registry`); + this._idmap.set(n.id, e); + } + return this; + } + clear() { + return ((this._map = new Map()), (this._idmap = new Map()), this); + } + remove(e) { + let t = this._map.get(e); + if (t && typeof t === "object" && "id" in t) this._idmap.delete(t.id); + return (this._map.delete(e), this); + } + get(e) { + let t = e._zod.parent; + if (t) { + let n = { ...(this.get(t) ?? {}) }; + return (delete n.id, { ...n, ...this._map.get(e) }); + } + return this._map.get(e); + } + has(e) { + return this._map.has(e); + } +} +function Dcr() { + return new nWt(); +} +var Eva, Iva, eq; +var rWt = P(() => { + ((Eva = Symbol("ZodOutput")), (Iva = Symbol("ZodInput"))); + eq = Dcr(); +}); +function oWt(e, t) { + return new e({ type: "string", ...Rr(t) }); +} +function aWt(e, t) { + return new e({ + type: "string", + format: "email", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function mPe(e, t) { + return new e({ + type: "string", + format: "guid", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function iWt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function sWt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + version: "v4", + ...Rr(t), + }); +} +function lWt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + version: "v6", + ...Rr(t), + }); +} +function cWt(e, t) { + return new e({ + type: "string", + format: "uuid", + check: "string_format", + abort: !1, + version: "v7", + ...Rr(t), + }); +} +function uWt(e, t) { + return new e({ + type: "string", + format: "url", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function dWt(e, t) { + return new e({ + type: "string", + format: "emoji", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function pWt(e, t) { + return new e({ + type: "string", + format: "nanoid", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function fWt(e, t) { + return new e({ + type: "string", + format: "cuid", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function mWt(e, t) { + return new e({ + type: "string", + format: "cuid2", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function hWt(e, t) { + return new e({ + type: "string", + format: "ulid", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function gWt(e, t) { + return new e({ + type: "string", + format: "xid", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function yWt(e, t) { + return new e({ + type: "string", + format: "ksuid", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function vWt(e, t) { + return new e({ + type: "string", + format: "ipv4", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function bWt(e, t) { + return new e({ + type: "string", + format: "ipv6", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function xWt(e, t) { + return new e({ + type: "string", + format: "cidrv4", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function AWt(e, t) { + return new e({ + type: "string", + format: "cidrv6", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function wWt(e, t) { + return new e({ + type: "string", + format: "base64", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function SWt(e, t) { + return new e({ + type: "string", + format: "base64url", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function CWt(e, t) { + return new e({ + type: "string", + format: "e164", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function EWt(e, t) { + return new e({ + type: "string", + format: "jwt", + check: "string_format", + abort: !1, + ...Rr(t), + }); +} +function IWt(e, t) { + return new e({ + type: "string", + format: "datetime", + check: "string_format", + offset: !1, + local: !1, + precision: null, + ...Rr(t), + }); +} +function TWt(e, t) { + return new e({ + type: "string", + format: "date", + check: "string_format", + ...Rr(t), + }); +} +function kWt(e, t) { + return new e({ + type: "string", + format: "time", + check: "string_format", + precision: null, + ...Rr(t), + }); +} +function RWt(e, t) { + return new e({ + type: "string", + format: "duration", + check: "string_format", + ...Rr(t), + }); +} +function PWt(e, t) { + return new e({ + type: "number", + check: "number_format", + abort: !1, + format: "safeint", + ...Rr(t), + }); +} +function MWt(e, t) { + return new e({ type: "boolean", ...Rr(t) }); +} +function DWt(e) { + return new e({ type: "any" }); +} +function LWt(e) { + return new e({ type: "unknown" }); +} +function BWt(e, t) { + return new e({ type: "never", ...Rr(t) }); +} +function Lle(e, t) { + return new aPe({ check: "less_than", ...Rr(t), value: e, inclusive: !1 }); +} +function tq(e, t) { + return new aPe({ check: "less_than", ...Rr(t), value: e, inclusive: !0 }); +} +function Ble(e, t) { + return new iPe({ check: "greater_than", ...Rr(t), value: e, inclusive: !1 }); +} +function nq(e, t) { + return new iPe({ check: "greater_than", ...Rr(t), value: e, inclusive: !0 }); +} +function Ole(e, t) { + return new zQt({ check: "multiple_of", ...Rr(t), value: e }); +} +function Fle(e, t) { + return new HQt({ check: "max_length", ...Rr(t), maximum: e }); +} +function CD(e, t) { + return new VQt({ check: "min_length", ...Rr(t), minimum: e }); +} +function Ule(e, t) { + return new GQt({ check: "length_equals", ...Rr(t), length: e }); +} +function hPe(e, t) { + return new qQt({ + check: "string_format", + format: "regex", + ...Rr(t), + pattern: e, + }); +} +function gPe(e) { + return new ZQt({ check: "string_format", format: "lowercase", ...Rr(e) }); +} +function yPe(e) { + return new QQt({ check: "string_format", format: "uppercase", ...Rr(e) }); +} +function vPe(e, t) { + return new XQt({ + check: "string_format", + format: "includes", + ...Rr(t), + includes: e, + }); +} +function bPe(e, t) { + return new WQt({ + check: "string_format", + format: "starts_with", + ...Rr(t), + prefix: e, + }); +} +function xPe(e, t) { + return new YQt({ + check: "string_format", + format: "ends_with", + ...Rr(t), + suffix: e, + }); +} +function JI(e) { + return new KQt({ check: "overwrite", tx: e }); +} +function APe(e) { + return JI((t) => t.normalize(e)); +} +function wPe() { + return JI((e) => e.trim()); +} +function SPe() { + return JI((e) => e.toLowerCase()); +} +function CPe() { + return JI((e) => e.toUpperCase()); +} +function OWt(e, t, n) { + return new e({ type: "array", element: t, ...Rr(n) }); +} +function FWt(e, t, n) { + let r = Rr(n); + return ( + r.abort ?? (r.abort = !0), + new e({ type: "custom", check: "custom", fn: t, ...r }) + ); +} +function UWt(e, t, n) { + return new e({ type: "custom", check: "custom", fn: t, ...Rr(n) }); +} +var NWt = P(() => { + Ple(); + Y3(); +}); +var zWt = () => {}; +var _Wt = () => {}; +var HWt = () => {}; +var Cx = P(() => { + Y3(); + Rle(); + fPe(); + HWt(); + xD(); + tPe(); + jRe(); + $Xt(); + Ple(); + lPe(); + rWt(); + zWt(); + NWt(); + _Wt(); +}); +var EPe = P(() => { + Cx(); +}); +function VWt(e) { + return IWt(Ncr, e); +} +function GWt(e) { + return TWt(zcr, e); +} +function qWt(e) { + return kWt(_cr, e); +} +function ZWt(e) { + return RWt(Hcr, e); +} +var Ncr, zcr, _cr, Hcr; +var IPe = P(() => { + Cx(); + TPe(); + Ncr = _t("ZodISODateTime", (e, t) => { + (bXt.init(e, t), vl.init(e, t)); + }); + zcr = _t("ZodISODate", (e, t) => { + (xXt.init(e, t), vl.init(e, t)); + }); + _cr = _t("ZodISOTime", (e, t) => { + (AXt.init(e, t), vl.init(e, t)); + }); + Hcr = _t("ZodISODuration", (e, t) => { + (wXt.init(e, t), vl.init(e, t)); + }); +}); +var XWt = (e, t) => { + (kle.init(e, t), + (e.name = "ZodError"), + Object.defineProperties(e, { + format: { value: (n) => aQt(e, n) }, + flatten: { value: (n) => oQt(e, n) }, + addIssue: { value: (n) => e.issues.push(n) }, + addIssues: { value: (n) => e.issues.push(...n) }, + isEmpty: { + get() { + return e.issues.length === 0; + }, + }, + })); + }, + tba, + oq; +var kPe = P(() => { + Cx(); + Cx(); + ((tba = _t("ZodError", XWt)), (oq = _t("ZodError", XWt, { Parent: Error }))); +}); +var WWt, YWt, KWt, JWt; +var RPe = P(() => { + Cx(); + kPe(); + ((WWt = iQt(oq)), (YWt = sQt(oq)), (KWt = $Re(oq)), (JWt = ePe(oq))); +}); +function Ft(e) { + return oWt(qcr, e); +} +function Fo(e) { + return PWt(cur, e); +} +function Oa(e) { + return MWt(uur, e); +} +function so() { + return DWt(dur); +} +function PPe() { + return LWt(pur); +} +function mur(e) { + return BWt(fur, e); +} +function Yd(e, t) { + return OWt(hur, e, t); +} +function Bn(e, t) { + return new gur({ + type: "object", + get shape() { + return (WRe(this, "shape", { ...e }), this.shape); + }, + catchall: PPe(), + ...Rr(t), + }); +} +function zle(e, t) { + return new rYt({ type: "union", options: e, ...Rr(t) }); +} +function jI(e, t, n) { + return new yur({ type: "union", options: t, discriminator: e, ...Rr(n) }); +} +function bur(e, t) { + return new vur({ type: "intersection", left: e, right: t }); +} +function ED(e, t) { + let n = Array.isArray(e) ? Object.fromEntries(e.map((r) => [r, r])) : e; + return new MPe({ type: "enum", entries: n, ...Rr(t) }); +} +function xr(e, t) { + return new xur({ + type: "literal", + values: Array.isArray(e) ? e : [e], + ...Rr(t), + }); +} +function wur(e) { + return new Aur({ type: "transform", transform: e }); +} +function $Wt(e) { + return new oYt({ type: "optional", innerType: e }); +} +function eYt(e) { + return new Sur({ type: "nullable", innerType: e }); +} +function Eur(e, t) { + return new Cur({ + type: "default", + innerType: e, + get defaultValue() { + return typeof t === "function" ? t() : t; + }, + }); +} +function Tur(e, t) { + return new Iur({ + type: "prefault", + innerType: e, + get defaultValue() { + return typeof t === "function" ? t() : t; + }, + }); +} +function kur(e, t) { + return new aYt({ type: "nonoptional", innerType: e, ...Rr(t) }); +} +function Pur(e, t) { + return new Rur({ + type: "catch", + innerType: e, + catchValue: typeof t === "function" ? t : () => t, + }); +} +function tYt(e, t) { + return new Mur({ type: "pipe", in: e, out: t }); +} +function Lur(e) { + return new Dur({ type: "readonly", innerType: e }); +} +function Bur(e) { + let t = new Am({ check: "custom" }); + return ((t._zod.check = e), t); +} +function aq(e, t) { + return FWt(iYt, e ?? (() => !0), t); +} +function Our(e, t = {}) { + return UWt(iYt, e, t); +} +function Fur(e) { + let t = Bur( + (n) => ( + (n.addIssue = (r) => { + if (typeof r === "string") n.issues.push(SD(r, n.value, t._zod.def)); + else { + let o = r; + if (o.fatal) o.continue = !1; + (o.code ?? (o.code = "custom"), + o.input ?? (o.input = n.value), + o.inst ?? (o.inst = t), + o.continue ?? (o.continue = !t._zod.def.abort), + n.issues.push(SD(o))); + } + }), + e(n.value, n) + ), + ); + return t; +} +var fc, + nYt, + qcr, + vl, + Zcr, + jWt, + Nle, + Qcr, + Xcr, + Wcr, + Ycr, + Kcr, + Jcr, + jcr, + $cr, + eur, + tur, + nur, + rur, + our, + aur, + iur, + sur, + lur, + cur, + uur, + dur, + pur, + fur, + hur, + gur, + rYt, + yur, + vur, + MPe, + xur, + Aur, + oYt, + Sur, + Cur, + Iur, + aYt, + Rur, + Mur, + Dur, + iYt; +var TPe = P(() => { + Cx(); + Cx(); + EPe(); + IPe(); + RPe(); + ((fc = _t( + "ZodType", + (e, t) => ( + $s.init(e, t), + (e.def = t), + Object.defineProperty(e, "_def", { value: t }), + (e.check = (...n) => + e.clone({ + ...t, + checks: [ + ...(t.checks ?? []), + ...n.map((r) => + typeof r === "function" + ? { _zod: { check: r, def: { check: "custom" }, onattach: [] } } + : r, + ), + ], + })), + (e.clone = (n, r) => X3(e, n, r)), + (e.brand = () => e), + (e.register = (n, r) => (n.add(e, r), e)), + (e.parse = (n, r) => WWt(e, n, r, { callee: e.parse })), + (e.safeParse = (n, r) => KWt(e, n, r)), + (e.parseAsync = async (n, r) => YWt(e, n, r, { callee: e.parseAsync })), + (e.safeParseAsync = async (n, r) => JWt(e, n, r)), + (e.spa = e.safeParseAsync), + (e.refine = (n, r) => e.check(Our(n, r))), + (e.superRefine = (n) => e.check(Fur(n))), + (e.overwrite = (n) => e.check(JI(n))), + (e.optional = () => $Wt(e)), + (e.nullable = () => eYt(e)), + (e.nullish = () => $Wt(eYt(e))), + (e.nonoptional = (n) => kur(e, n)), + (e.array = () => Yd(e)), + (e.or = (n) => zle([e, n])), + (e.and = (n) => bur(e, n)), + (e.transform = (n) => tYt(e, wur(n))), + (e.default = (n) => Eur(e, n)), + (e.prefault = (n) => Tur(e, n)), + (e.catch = (n) => Pur(e, n)), + (e.pipe = (n) => tYt(e, n)), + (e.readonly = () => Lur(e)), + (e.describe = (n) => { + let r = e.clone(); + return (eq.add(r, { description: n }), r); + }), + Object.defineProperty(e, "description", { + get() { + return eq.get(e)?.description; + }, + configurable: !0, + }), + (e.meta = (...n) => { + if (n.length === 0) return eq.get(e); + let r = e.clone(); + return (eq.add(r, n[0]), r); + }), + (e.isOptional = () => e.safeParse(void 0).success), + (e.isNullable = () => e.safeParse(null).success), + e + ), + )), + (nYt = _t("_ZodString", (e, t) => { + (Dle.init(e, t), fc.init(e, t)); + let n = e._zod.bag; + ((e.format = n.format ?? null), + (e.minLength = n.minimum ?? null), + (e.maxLength = n.maximum ?? null), + (e.regex = (...r) => e.check(hPe(...r))), + (e.includes = (...r) => e.check(vPe(...r))), + (e.startsWith = (...r) => e.check(bPe(...r))), + (e.endsWith = (...r) => e.check(xPe(...r))), + (e.min = (...r) => e.check(CD(...r))), + (e.max = (...r) => e.check(Fle(...r))), + (e.length = (...r) => e.check(Ule(...r))), + (e.nonempty = (...r) => e.check(CD(1, ...r))), + (e.lowercase = (r) => e.check(gPe(r))), + (e.uppercase = (r) => e.check(yPe(r))), + (e.trim = () => e.check(wPe())), + (e.normalize = (...r) => e.check(APe(...r))), + (e.toLowerCase = () => e.check(SPe())), + (e.toUpperCase = () => e.check(CPe()))); + })), + (qcr = _t("ZodString", (e, t) => { + (Dle.init(e, t), + nYt.init(e, t), + (e.email = (n) => e.check(aWt(Zcr, n))), + (e.url = (n) => e.check(uWt(Qcr, n))), + (e.jwt = (n) => e.check(EWt(sur, n))), + (e.emoji = (n) => e.check(dWt(Xcr, n))), + (e.guid = (n) => e.check(mPe(jWt, n))), + (e.uuid = (n) => e.check(iWt(Nle, n))), + (e.uuidv4 = (n) => e.check(sWt(Nle, n))), + (e.uuidv6 = (n) => e.check(lWt(Nle, n))), + (e.uuidv7 = (n) => e.check(cWt(Nle, n))), + (e.nanoid = (n) => e.check(pWt(Wcr, n))), + (e.guid = (n) => e.check(mPe(jWt, n))), + (e.cuid = (n) => e.check(fWt(Ycr, n))), + (e.cuid2 = (n) => e.check(mWt(Kcr, n))), + (e.ulid = (n) => e.check(hWt(Jcr, n))), + (e.base64 = (n) => e.check(wWt(our, n))), + (e.base64url = (n) => e.check(SWt(aur, n))), + (e.xid = (n) => e.check(gWt(jcr, n))), + (e.ksuid = (n) => e.check(yWt($cr, n))), + (e.ipv4 = (n) => e.check(vWt(eur, n))), + (e.ipv6 = (n) => e.check(bWt(tur, n))), + (e.cidrv4 = (n) => e.check(xWt(nur, n))), + (e.cidrv6 = (n) => e.check(AWt(rur, n))), + (e.e164 = (n) => e.check(CWt(iur, n))), + (e.datetime = (n) => e.check(VWt(n))), + (e.date = (n) => e.check(GWt(n))), + (e.time = (n) => e.check(qWt(n))), + (e.duration = (n) => e.check(ZWt(n)))); + }))); + ((vl = _t("ZodStringFormat", (e, t) => { + (el.init(e, t), nYt.init(e, t)); + })), + (Zcr = _t("ZodEmail", (e, t) => { + (uXt.init(e, t), vl.init(e, t)); + })), + (jWt = _t("ZodGUID", (e, t) => { + (lXt.init(e, t), vl.init(e, t)); + })), + (Nle = _t("ZodUUID", (e, t) => { + (cXt.init(e, t), vl.init(e, t)); + })), + (Qcr = _t("ZodURL", (e, t) => { + (dXt.init(e, t), vl.init(e, t)); + })), + (Xcr = _t("ZodEmoji", (e, t) => { + (pXt.init(e, t), vl.init(e, t)); + })), + (Wcr = _t("ZodNanoID", (e, t) => { + (fXt.init(e, t), vl.init(e, t)); + })), + (Ycr = _t("ZodCUID", (e, t) => { + (mXt.init(e, t), vl.init(e, t)); + })), + (Kcr = _t("ZodCUID2", (e, t) => { + (hXt.init(e, t), vl.init(e, t)); + })), + (Jcr = _t("ZodULID", (e, t) => { + (gXt.init(e, t), vl.init(e, t)); + })), + (jcr = _t("ZodXID", (e, t) => { + (yXt.init(e, t), vl.init(e, t)); + })), + ($cr = _t("ZodKSUID", (e, t) => { + (vXt.init(e, t), vl.init(e, t)); + })), + (eur = _t("ZodIPv4", (e, t) => { + (SXt.init(e, t), vl.init(e, t)); + })), + (tur = _t("ZodIPv6", (e, t) => { + (CXt.init(e, t), vl.init(e, t)); + })), + (nur = _t("ZodCIDRv4", (e, t) => { + (EXt.init(e, t), vl.init(e, t)); + })), + (rur = _t("ZodCIDRv6", (e, t) => { + (IXt.init(e, t), vl.init(e, t)); + })), + (our = _t("ZodBase64", (e, t) => { + (kXt.init(e, t), vl.init(e, t)); + })), + (aur = _t("ZodBase64URL", (e, t) => { + (RXt.init(e, t), vl.init(e, t)); + })), + (iur = _t("ZodE164", (e, t) => { + (PXt.init(e, t), vl.init(e, t)); + })), + (sur = _t("ZodJWT", (e, t) => { + (MXt.init(e, t), vl.init(e, t)); + })), + (lur = _t("ZodNumber", (e, t) => { + (uPe.init(e, t), + fc.init(e, t), + (e.gt = (r, o) => e.check(Ble(r, o))), + (e.gte = (r, o) => e.check(nq(r, o))), + (e.min = (r, o) => e.check(nq(r, o))), + (e.lt = (r, o) => e.check(Lle(r, o))), + (e.lte = (r, o) => e.check(tq(r, o))), + (e.max = (r, o) => e.check(tq(r, o))), + (e.int = (r) => e.check(Fo(r))), + (e.safe = (r) => e.check(Fo(r))), + (e.positive = (r) => e.check(Ble(0, r))), + (e.nonnegative = (r) => e.check(nq(0, r))), + (e.negative = (r) => e.check(Lle(0, r))), + (e.nonpositive = (r) => e.check(tq(0, r))), + (e.multipleOf = (r, o) => e.check(Ole(r, o))), + (e.step = (r, o) => e.check(Ole(r, o))), + (e.finite = () => e)); + let n = e._zod.bag; + ((e.minValue = + Math.max( + n.minimum ?? Number.NEGATIVE_INFINITY, + n.exclusiveMinimum ?? Number.NEGATIVE_INFINITY, + ) ?? null), + (e.maxValue = + Math.min( + n.maximum ?? Number.POSITIVE_INFINITY, + n.exclusiveMaximum ?? Number.POSITIVE_INFINITY, + ) ?? null), + (e.isInt = + (n.format ?? "").includes("int") || + Number.isSafeInteger(n.multipleOf ?? 0.5)), + (e.isFinite = !0), + (e.format = n.format ?? null)); + })), + (cur = _t("ZodNumberFormat", (e, t) => { + (DXt.init(e, t), lur.init(e, t)); + }))); + uur = _t("ZodBoolean", (e, t) => { + (LXt.init(e, t), fc.init(e, t)); + }); + dur = _t("ZodAny", (e, t) => { + (BXt.init(e, t), fc.init(e, t)); + }); + pur = _t("ZodUnknown", (e, t) => { + (OXt.init(e, t), fc.init(e, t)); + }); + fur = _t("ZodNever", (e, t) => { + (FXt.init(e, t), fc.init(e, t)); + }); + hur = _t("ZodArray", (e, t) => { + (UXt.init(e, t), + fc.init(e, t), + (e.element = t.element), + (e.min = (n, r) => e.check(CD(n, r))), + (e.nonempty = (n) => e.check(CD(1, n))), + (e.max = (n, r) => e.check(Fle(n, r))), + (e.length = (n, r) => e.check(Ule(n, r))), + (e.unwrap = () => e.element)); + }); + gur = _t("ZodObject", (e, t) => { + (NXt.init(e, t), + fc.init(e, t), + Os(e, "shape", () => t.shape), + (e.keyof = () => ED(Object.keys(e._zod.def.shape))), + (e.catchall = (n) => e.clone({ ...e._zod.def, catchall: n })), + (e.passthrough = () => e.clone({ ...e._zod.def, catchall: PPe() })), + (e.loose = () => e.clone({ ...e._zod.def, catchall: PPe() })), + (e.strict = () => e.clone({ ...e._zod.def, catchall: mur() })), + (e.strip = () => e.clone({ ...e._zod.def, catchall: void 0 })), + (e.extend = (n) => Scr(e, n)), + (e.merge = (n) => Ccr(e, n)), + (e.pick = (n) => Acr(e, n)), + (e.omit = (n) => wcr(e, n)), + (e.partial = (...n) => Ecr(oYt, e, n[0])), + (e.required = (...n) => Icr(aYt, e, n[0]))); + }); + rYt = _t("ZodUnion", (e, t) => { + (dPe.init(e, t), fc.init(e, t), (e.options = t.options)); + }); + yur = _t("ZodDiscriminatedUnion", (e, t) => { + (rYt.init(e, t), zXt.init(e, t)); + }); + vur = _t("ZodIntersection", (e, t) => { + (_Xt.init(e, t), fc.init(e, t)); + }); + MPe = _t("ZodEnum", (e, t) => { + (HXt.init(e, t), + fc.init(e, t), + (e.enum = t.entries), + (e.options = Object.values(t.entries))); + let n = new Set(Object.keys(t.entries)); + ((e.extract = (r, o) => { + let a = {}; + for (let i of r) + if (n.has(i)) a[i] = t.entries[i]; + else throw Error(`Key ${i} not found in enum`); + return new MPe({ ...t, checks: [], ...Rr(o), entries: a }); + }), + (e.exclude = (r, o) => { + let a = { ...t.entries }; + for (let i of r) + if (n.has(i)) delete a[i]; + else throw Error(`Key ${i} not found in enum`); + return new MPe({ ...t, checks: [], ...Rr(o), entries: a }); + })); + }); + xur = _t("ZodLiteral", (e, t) => { + (VXt.init(e, t), + fc.init(e, t), + (e.values = new Set(t.values)), + Object.defineProperty(e, "value", { + get() { + if (t.values.length > 1) + throw Error( + "This schema contains multiple valid literal values. Use `.values` instead.", + ); + return t.values[0]; + }, + })); + }); + Aur = _t("ZodTransform", (e, t) => { + (GXt.init(e, t), + fc.init(e, t), + (e._zod.parse = (n, r) => { + n.addIssue = (a) => { + if (typeof a === "string") n.issues.push(SD(a, n.value, t)); + else { + let i = a; + if (i.fatal) i.continue = !1; + (i.code ?? (i.code = "custom"), + i.input ?? (i.input = n.value), + i.inst ?? (i.inst = e), + i.continue ?? (i.continue = !0), + n.issues.push(SD(i))); + } + }; + let o = t.transform(n.value, n); + if (o instanceof Promise) return o.then((a) => ((n.value = a), n)); + return ((n.value = o), n); + })); + }); + oYt = _t("ZodOptional", (e, t) => { + (qXt.init(e, t), fc.init(e, t), (e.unwrap = () => e._zod.def.innerType)); + }); + Sur = _t("ZodNullable", (e, t) => { + (ZXt.init(e, t), fc.init(e, t), (e.unwrap = () => e._zod.def.innerType)); + }); + Cur = _t("ZodDefault", (e, t) => { + (QXt.init(e, t), + fc.init(e, t), + (e.unwrap = () => e._zod.def.innerType), + (e.removeDefault = e.unwrap)); + }); + Iur = _t("ZodPrefault", (e, t) => { + (XXt.init(e, t), fc.init(e, t), (e.unwrap = () => e._zod.def.innerType)); + }); + aYt = _t("ZodNonOptional", (e, t) => { + (WXt.init(e, t), fc.init(e, t), (e.unwrap = () => e._zod.def.innerType)); + }); + Rur = _t("ZodCatch", (e, t) => { + (YXt.init(e, t), + fc.init(e, t), + (e.unwrap = () => e._zod.def.innerType), + (e.removeCatch = e.unwrap)); + }); + Mur = _t("ZodPipe", (e, t) => { + (KXt.init(e, t), fc.init(e, t), (e.in = t.in), (e.out = t.out)); + }); + Dur = _t("ZodReadonly", (e, t) => { + (JXt.init(e, t), fc.init(e, t)); + }); + iYt = _t("ZodCustom", (e, t) => { + (jXt.init(e, t), fc.init(e, t)); + }); +}); +var sYt = () => {}; +var lYt = () => {}; +var DPe = P(() => { + Cx(); + Cx(); + eWt(); + fPe(); + IPe(); + lYt(); + TPe(); + EPe(); + kPe(); + RPe(); + sYt(); + J2(pPe()); +}); +var uYt = P(() => { + DPe(); + DPe(); +}); +var dYt = P(() => { + uYt(); +}); +var Nur, + yo, + ha, + pYt, + zur, + _ur, + Hur, + Vur, + Gur, + qur, + Zur, + Qur, + Xur, + Wur, + Yur, + Kur, + _le, + Jur, + jur, + $ur, + edr, + LPe, + tdr, + fYt, + ndr, + mC, + rdr, + odr, + adr, + idr, + sdr, + ldr, + cdr, + mYt, + udr, + ddr, + pdr, + fdr, + mdr, + hdr, + gdr, + ydr, + vdr, + bdr, + hYt, + xdr, + Adr, + wdr, + Sdr, + Cdr, + gYt, + Edr, + Idr, + Tdr, + kdr, + Rdr, + Pdr, + Mdr, + Ddr, + Ldr, + yYt, + Bdr, + Odr, + Fdr, + Udr, + Ndr, + zdr, + _dr, + Hdr, + Vdr, + Gdr, + qdr, + Zdr, + Qdr, + Xdr, + Wdr, + Ydr, + Kdr, + Jdr, + jdr, + exa, + $dr, + epr, + tpr, + npr, + rpr, + opr, + apr, + ipr, + spr, + lpr, + cpr, + upr, + dpr, + txa, + nxa, + rxa, + oxa, + axa; +var vYt = P(() => { + ZRe(); + dYt(); + ((Nur = ED(La)), + (yo = aq((e) => typeof e === "object" && e !== null && !Array.isArray(e))), + (ha = Ft()), + (pYt = ED(["developer", "system", "assistant", "user"])), + (zur = Bn({ + type: xr(La.TEXT_MESSAGE_START), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + role: pYt.optional(), + name: Ft().optional(), + })), + (_ur = Bn({ + type: xr(La.TEXT_MESSAGE_CONTENT), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + delta: Ft(), + })), + (Hur = Bn({ + type: xr(La.TEXT_MESSAGE_END), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + })), + (Vur = Bn({ + type: xr(La.TEXT_MESSAGE_CHUNK), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft().optional(), + role: pYt.optional(), + delta: Ft().optional(), + name: Ft().optional(), + })), + (Gur = Bn({ + type: xr(La.TOOL_CALL_START), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + toolCallId: Ft(), + toolCallName: Ft(), + parentMessageId: Ft().optional(), + })), + (qur = Bn({ + type: xr(La.TOOL_CALL_ARGS), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + toolCallId: Ft(), + delta: Ft(), + })), + (Zur = Bn({ + type: xr(La.TOOL_CALL_END), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + toolCallId: Ft(), + })), + (Qur = Bn({ + type: xr(La.TOOL_CALL_CHUNK), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + toolCallId: Ft().optional(), + toolCallName: Ft().optional(), + parentMessageId: Ft().optional(), + delta: Ft().optional(), + })), + (Xur = Bn({ + type: xr("text"), + id: Ft().optional(), + text: Ft(), + metadata: so() + .refine((e) => e !== null) + .optional(), + })), + (Wur = Bn({ type: xr("data"), value: Ft(), mimeType: Ft() })), + (Yur = Bn({ type: xr("url"), value: Ft(), mimeType: Ft().optional() })), + (Kur = Bn({ + type: xr("file"), + value: Ft(), + provider: Ft().optional(), + mimeType: Ft().optional(), + })), + (_le = jI("type", [Wur, Yur, Kur])), + (Jur = Bn({ + type: xr("image"), + id: Ft().optional(), + source: _le, + metadata: so() + .refine((e) => e !== null) + .optional(), + })), + (jur = Bn({ + type: xr("audio"), + id: Ft().optional(), + source: _le, + metadata: so() + .refine((e) => e !== null) + .optional(), + })), + ($ur = Bn({ + type: xr("video"), + id: Ft().optional(), + source: _le, + metadata: so() + .refine((e) => e !== null) + .optional(), + })), + (edr = Bn({ + type: xr("document"), + id: Ft().optional(), + source: _le, + metadata: so() + .refine((e) => e !== null) + .optional(), + })), + (LPe = jI("type", [Xur, Jur, jur, $ur, edr])), + (tdr = Bn({ + type: xr(La.TOOL_CALL_RESULT), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + toolCallId: Ft(), + content: zle([Ft(), Yd(LPe)]), + role: xr("tool").optional(), + })), + (fYt = so()), + (ndr = Bn({ + type: xr(La.STATE_SNAPSHOT), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + snapshot: fYt.refine((e) => e !== void 0), + })), + (mC = Ft().regex(new RegExp("^(/([^/~]|~[01])*)*$"))), + (rdr = Bn({ + op: xr("add"), + path: mC, + value: so().refine((e) => e !== void 0), + }).meta({ specOpen: !0 })), + (odr = Bn({ op: xr("remove"), path: mC }).meta({ specOpen: !0 })), + (adr = Bn({ + op: xr("replace"), + path: mC, + value: so().refine((e) => e !== void 0), + }).meta({ specOpen: !0 })), + (idr = Bn({ op: xr("move"), from: mC, path: mC }).meta({ specOpen: !0 })), + (sdr = Bn({ op: xr("copy"), from: mC, path: mC }).meta({ specOpen: !0 })), + (ldr = Bn({ + op: xr("test"), + path: mC, + value: so().refine((e) => e !== void 0), + }).meta({ specOpen: !0 })), + (cdr = jI("op", [rdr, odr, adr, idr, sdr, ldr])), + (mYt = Yd(cdr)), + (udr = Bn({ + type: xr(La.STATE_DELTA), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + delta: mYt, + })), + (ddr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: xr("developer"), + name: Ft().optional(), + encryptedValue: Ft().optional(), + metadata: yo.optional(), + content: Ft(), + })), + (pdr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: xr("system"), + name: Ft().optional(), + encryptedValue: Ft().optional(), + metadata: yo.optional(), + content: Ft(), + })), + (fdr = Bn({ name: Ft(), arguments: Ft() })), + (mdr = Bn({ + id: Ft(), + type: xr("function"), + function: fdr, + encryptedValue: Ft().optional(), + metadata: yo.optional(), + })), + (hdr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: xr("assistant"), + name: Ft().optional(), + encryptedValue: Ft().optional(), + metadata: yo.optional(), + content: Ft().optional(), + toolCalls: Yd(mdr).optional(), + })), + (gdr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: xr("user"), + name: Ft().optional(), + encryptedValue: Ft().optional(), + metadata: yo.optional(), + content: zle([Ft(), Yd(LPe)]), + })), + (ydr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: xr("tool"), + content: zle([Ft(), Yd(LPe)]), + toolCallId: Ft(), + error: Ft().optional(), + encryptedValue: Ft().optional(), + metadata: yo.optional(), + })), + (vdr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: xr("activity"), + activityType: Ft(), + content: aq( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ), + metadata: yo.optional(), + })), + (bdr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: xr("reasoning"), + content: Ft(), + encryptedValue: Ft().optional(), + metadata: yo.optional(), + })), + (hYt = jI("role", [ddr, pdr, hdr, gdr, ydr, vdr, bdr])), + (xdr = Bn({ + type: xr(La.MESSAGES_SNAPSHOT), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + messages: Yd(hYt), + })), + (Adr = Bn({ + type: xr(La.ACTIVITY_SNAPSHOT), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + activityType: Ft(), + content: aq( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ), + replace: Oa().optional(), + })), + (wdr = Bn({ + type: xr(La.ACTIVITY_DELTA), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + activityType: Ft(), + patch: mYt, + })), + (Sdr = Bn({ + type: xr(La.RAW), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + event: so().refine((e) => e !== void 0), + source: Ft().optional(), + })), + (Cdr = Bn({ + type: xr(La.CUSTOM), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + name: Ft(), + value: so().refine((e) => e !== void 0), + })), + (gYt = Bn({ + name: Ft(), + description: Ft(), + parameters: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + })), + (Edr = Bn({ description: Ft(), value: Ft() })), + (Idr = Bn({ + interruptId: Ft(), + status: ED(["resolved", "cancelled"]), + payload: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + })), + (Tdr = Bn({ + threadId: Ft(), + runId: Ft(), + protocolVersion: Ft().optional(), + parentRunId: Ft().optional(), + state: fYt + .refine((e) => e !== null) + .nullable() + .transform((e) => e ?? void 0) + .optional(), + messages: Yd(hYt), + tools: Yd(gYt).default(() => []), + context: Yd(Edr).default(() => []), + forwardedProps: so() + .refine((e) => e !== null) + .optional(), + resume: Yd(Idr).optional(), + })), + (kdr = Bn({ + type: xr(La.RUN_STARTED), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + threadId: Ft(), + runId: Ft(), + protocolVersion: Ft().optional(), + parentRunId: Ft().optional(), + input: Tdr.optional(), + })), + (Rdr = Bn({ + type: xr("success"), + pendingToolCallIds: Yd(Ft()).optional(), + })), + (Pdr = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + reason: Ft(), + message: Ft().optional(), + toolCallId: Ft().optional(), + responseSchema: aq( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ).optional(), + expiresAt: Ft().optional(), + metadata: yo.optional(), + })), + (Mdr = Bn({ type: xr("interrupt"), interrupts: Yd(Pdr).min(1) })), + (Ddr = Bn({ type: xr("cancelled") })), + (Ldr = jI("type", [Rdr, Mdr, Ddr])), + (yYt = Bn({ + provider: Ft().optional(), + model: Ft().optional(), + inputTokens: Fo().min(0).max(9007199254740991).optional(), + outputTokens: Fo().min(0).max(9007199254740991).optional(), + totalTokens: Fo().min(0).max(9007199254740991).optional(), + reasoningTokens: Fo().min(0).max(9007199254740991).optional(), + cachedInputTokens: Fo().min(0).max(9007199254740991).optional(), + cacheWriteInputTokens: Fo().min(0).max(9007199254740991).optional(), + })), + (Bdr = Bn({ + type: xr(La.RUN_FINISHED), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + threadId: Ft(), + runId: Ft(), + result: so() + .refine((e) => e !== null) + .optional(), + outcome: Ldr.optional(), + usage: Yd(yYt).optional(), + })), + (Odr = Bn({ + type: xr(La.RUN_ERROR), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + message: Ft(), + code: Ft().optional(), + usage: Yd(yYt).optional(), + })), + (Fdr = Bn({ + type: xr(La.STEP_STARTED), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + stepName: Ft(), + })), + (Udr = Bn({ + type: xr(La.STEP_FINISHED), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + stepName: Ft(), + })), + (Ndr = Bn({ + type: xr(La.REASONING_START), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + })), + (zdr = Bn({ + type: xr(La.REASONING_MESSAGE_START), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + role: xr("reasoning"), + })), + (_dr = Bn({ + type: xr(La.REASONING_MESSAGE_CONTENT), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + delta: Ft(), + })), + (Hdr = Bn({ + type: xr(La.REASONING_MESSAGE_END), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + })), + (Vdr = Bn({ + type: xr(La.REASONING_MESSAGE_CHUNK), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft().optional(), + delta: Ft().optional(), + })), + (Gdr = Bn({ + type: xr(La.REASONING_END), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + messageId: Ft(), + })), + (qdr = ED(["tool-call", "message"])), + (Zdr = Bn({ + type: xr(La.REASONING_ENCRYPTED_VALUE), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha.optional(), + subtype: qdr, + entityId: Ft(), + encryptedValue: Ft(), + })), + (Qdr = Bn({ + type: xr(La.SUBAGENT_STARTED), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha, + name: Ft(), + description: Ft().optional(), + parentSubagentRunId: ha.optional(), + parentToolCallId: Ft().optional(), + parentMessageId: Ft().optional(), + })), + (Xdr = Bn({ type: xr("success") })), + (Wdr = Bn({ type: xr("suspended"), interruptIds: Yd(Ft()).optional() })), + (Ydr = jI("type", [Xdr, Wdr])), + (Kdr = Bn({ + type: xr(La.SUBAGENT_FINISHED), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha, + result: so() + .refine((e) => e !== null) + .optional(), + outcome: Ydr.optional(), + })), + (Jdr = Bn({ + type: xr(La.SUBAGENT_ERROR), + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + subagentRunId: ha, + message: Ft(), + code: Ft().optional(), + })), + (jdr = jI("type", [ + zur, + _ur, + Hur, + Vur, + Gur, + qur, + Zur, + Qur, + tdr, + ndr, + udr, + xdr, + Adr, + wdr, + Sdr, + Cdr, + kdr, + Bdr, + Odr, + Fdr, + Udr, + Ndr, + zdr, + _dr, + Hdr, + Vdr, + Gdr, + Zdr, + Qdr, + Kdr, + Jdr, + ])), + (exa = ED([ + "developer", + "system", + "assistant", + "user", + "tool", + "activity", + "reasoning", + ])), + ($dr = Bn({ name: Ft(), description: Ft().optional() })), + (epr = Bn({ + name: Ft().optional(), + type: Ft().optional(), + description: Ft().optional(), + version: Ft().optional(), + provider: Ft().optional(), + documentationUrl: Ft().optional(), + metadata: yo.optional(), + })), + (tpr = Bn({ + streaming: Oa().optional(), + websocket: Oa().optional(), + httpBinary: Oa().optional(), + pushNotifications: Oa().optional(), + resumable: Oa().optional(), + })), + (npr = Bn({ + supported: Oa().optional(), + items: Yd(gYt).optional(), + parallelCalls: Oa().optional(), + clientProvided: Oa().optional(), + })), + (rpr = Bn({ + structuredOutput: Oa().optional(), + supportedMimeTypes: Yd(Ft()).optional(), + })), + (opr = Bn({ + snapshots: Oa().optional(), + deltas: Oa().optional(), + memory: Oa().optional(), + persistentState: Oa().optional(), + })), + (apr = Bn({ + supported: Oa().optional(), + delegation: Oa().optional(), + handoffs: Oa().optional(), + subagents: Yd($dr).optional(), + })), + (ipr = Bn({ + supported: Oa().optional(), + streaming: Oa().optional(), + encrypted: Oa().optional(), + })), + (spr = Bn({ + image: Oa().optional(), + audio: Oa().optional(), + video: Oa().optional(), + pdf: Oa().optional(), + file: Oa().optional(), + })), + (lpr = Bn({ image: Oa().optional(), audio: Oa().optional() })), + (cpr = Bn({ input: spr.optional(), output: lpr.optional() })), + (upr = Bn({ + codeExecution: Oa().optional(), + sandboxed: Oa().optional(), + maxIterations: Fo().min(0).max(9007199254740991).optional(), + maxExecutionTime: Fo().min(0).max(9007199254740991).optional(), + })), + (dpr = Bn({ + supported: Oa().optional(), + approvals: Oa().optional(), + interventions: Oa().optional(), + feedback: Oa().optional(), + interrupts: Oa().optional(), + approveWithEdits: Oa().optional(), + })), + (txa = Bn({ + identity: epr.optional(), + transport: tpr.optional(), + tools: npr.optional(), + output: rpr.optional(), + state: opr.optional(), + multiAgent: apr.optional(), + reasoning: ipr.optional(), + multimodal: cpr.optional(), + execution: upr.optional(), + humanInTheLoop: dpr.optional(), + custom: aq( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ).optional(), + })), + (nxa = Bn({ subagentRunId: ha.optional() })), + (rxa = Bn({ + type: Nur, + timestamp: Fo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: so() + .refine((e) => e !== null) + .optional(), + metadata: yo.optional(), + })), + (oxa = Bn({ + subagentRunId: ha.optional(), + id: Ft(), + role: Ft(), + name: Ft().optional(), + encryptedValue: Ft().optional(), + metadata: yo.optional(), + })), + (axa = yo.optional())); +}); +var uxa; +var BPe = P(() => { + YZt(); + vYt(); + uxa = new Set(Object.values(La)); +}); +var ppr, + vo, + ga, + xYt, + fpr, + mpr, + hpr, + OPe, + gpr, + ypr, + vpr, + FPe, + bpr, + xpr, + Apr, + wpr, + Hle, + Spr, + Cpr, + Epr, + Ipr, + UPe, + Tpr, + AYt, + kpr, + hC, + Rpr, + Ppr, + Mpr, + Dpr, + Lpr, + Bpr, + Opr, + wYt, + Fpr, + Upr, + Npr, + zpr, + _pr, + Hpr, + Vpr, + Gpr, + qpr, + Zpr, + SYt, + Qpr, + Xpr, + Wpr, + Ypr, + Kpr, + CYt, + Jpr, + jpr, + EYt, + $pr, + efr, + tfr, + nfr, + rfr, + ofr, + IYt, + afr, + ifr, + sfr, + lfr, + cfr, + ufr, + dfr, + pfr, + NPe, + ffr, + mfr, + hfr, + gfr, + yfr, + vfr, + bfr, + xfr, + Afr, + TYt, + fxa, + wfr, + Sfr, + Cfr, + Efr, + Ifr, + Tfr, + kfr, + Rfr, + Pfr, + Mfr, + Dfr, + Lfr, + Bfr, + mxa, + hxa, + gxa, + yxa, + vxa; +var zPe = P(() => { + URe(); + AM(); + ((ppr = tr(br)), + (vo = eI((e) => typeof e === "object" && e !== null && !Array.isArray(e))), + (ga = Q()), + (xYt = tr(["developer", "system", "assistant", "user"])), + (fpr = wt({ + type: Ce(br.TEXT_MESSAGE_START), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + role: xYt.optional(), + name: Q().optional(), + })), + (mpr = wt({ + type: Ce(br.TEXT_MESSAGE_CONTENT), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + delta: Q(), + })), + (hpr = wt({ + type: Ce(br.TEXT_MESSAGE_END), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + })), + (OPe = wt({ + type: Ce(br.TEXT_MESSAGE_CHUNK), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q().optional(), + role: xYt.optional(), + delta: Q().optional(), + name: Q().optional(), + })), + (gpr = wt({ + type: Ce(br.TOOL_CALL_START), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + toolCallId: Q(), + toolCallName: Q(), + parentMessageId: Q().optional(), + })), + (ypr = wt({ + type: Ce(br.TOOL_CALL_ARGS), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + toolCallId: Q(), + delta: Q(), + })), + (vpr = wt({ + type: Ce(br.TOOL_CALL_END), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + toolCallId: Q(), + })), + (FPe = wt({ + type: Ce(br.TOOL_CALL_CHUNK), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + toolCallId: Q().optional(), + toolCallName: Q().optional(), + parentMessageId: Q().optional(), + delta: Q().optional(), + })), + (bpr = wt({ + type: Ce("text"), + id: Q().optional(), + text: Q(), + metadata: Gr() + .refine((e) => e !== null) + .optional(), + })), + (xpr = wt({ type: Ce("data"), value: Q(), mimeType: Q() })), + (Apr = wt({ type: Ce("url"), value: Q(), mimeType: Q().optional() })), + (wpr = wt({ + type: Ce("file"), + value: Q(), + provider: Q().optional(), + mimeType: Q().optional(), + })), + (Hle = dm("type", [xpr, Apr, wpr])), + (Spr = wt({ + type: Ce("image"), + id: Q().optional(), + source: Hle, + metadata: Gr() + .refine((e) => e !== null) + .optional(), + })), + (Cpr = wt({ + type: Ce("audio"), + id: Q().optional(), + source: Hle, + metadata: Gr() + .refine((e) => e !== null) + .optional(), + })), + (Epr = wt({ + type: Ce("video"), + id: Q().optional(), + source: Hle, + metadata: Gr() + .refine((e) => e !== null) + .optional(), + })), + (Ipr = wt({ + type: Ce("document"), + id: Q().optional(), + source: Hle, + metadata: Gr() + .refine((e) => e !== null) + .optional(), + })), + (UPe = dm("type", [bpr, Spr, Cpr, Epr, Ipr])), + (Tpr = wt({ + type: Ce(br.TOOL_CALL_RESULT), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + toolCallId: Q(), + content: Jt([Q(), je(UPe)]), + role: Ce("tool").optional(), + })), + (AYt = Gr()), + (kpr = wt({ + type: Ce(br.STATE_SNAPSHOT), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + snapshot: AYt.refine((e) => e !== void 0), + })), + (hC = Q().regex(new RegExp("^(/([^/~]|~[01])*)*$"))), + (Rpr = wt({ + op: Ce("add"), + path: hC, + value: Gr().refine((e) => e !== void 0), + }).meta({ specOpen: !0 })), + (Ppr = wt({ op: Ce("remove"), path: hC }).meta({ specOpen: !0 })), + (Mpr = wt({ + op: Ce("replace"), + path: hC, + value: Gr().refine((e) => e !== void 0), + }).meta({ specOpen: !0 })), + (Dpr = wt({ op: Ce("move"), from: hC, path: hC }).meta({ specOpen: !0 })), + (Lpr = wt({ op: Ce("copy"), from: hC, path: hC }).meta({ specOpen: !0 })), + (Bpr = wt({ + op: Ce("test"), + path: hC, + value: Gr().refine((e) => e !== void 0), + }).meta({ specOpen: !0 })), + (Opr = dm("op", [Rpr, Ppr, Mpr, Dpr, Lpr, Bpr])), + (wYt = je(Opr)), + (Fpr = wt({ + type: Ce(br.STATE_DELTA), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + delta: wYt, + })), + (Upr = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Ce("developer"), + name: Q().optional(), + encryptedValue: Q().optional(), + metadata: vo.optional(), + content: Q(), + })), + (Npr = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Ce("system"), + name: Q().optional(), + encryptedValue: Q().optional(), + metadata: vo.optional(), + content: Q(), + })), + (zpr = wt({ name: Q(), arguments: Q() })), + (_pr = wt({ + id: Q(), + type: Ce("function"), + function: zpr, + encryptedValue: Q().optional(), + metadata: vo.optional(), + })), + (Hpr = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Ce("assistant"), + name: Q().optional(), + encryptedValue: Q().optional(), + metadata: vo.optional(), + content: Q().optional(), + toolCalls: je(_pr).optional(), + })), + (Vpr = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Ce("user"), + name: Q().optional(), + encryptedValue: Q().optional(), + metadata: vo.optional(), + content: Jt([Q(), je(UPe)]), + })), + (Gpr = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Ce("tool"), + content: Jt([Q(), je(UPe)]), + toolCallId: Q(), + error: Q().optional(), + encryptedValue: Q().optional(), + metadata: vo.optional(), + })), + (qpr = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Ce("activity"), + activityType: Q(), + content: eI( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ), + metadata: vo.optional(), + })), + (Zpr = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Ce("reasoning"), + content: Q(), + encryptedValue: Q().optional(), + metadata: vo.optional(), + })), + (SYt = dm("role", [Upr, Npr, Hpr, Vpr, Gpr, qpr, Zpr])), + (Qpr = wt({ + type: Ce(br.MESSAGES_SNAPSHOT), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + messages: je(SYt), + })), + (Xpr = wt({ + type: Ce(br.ACTIVITY_SNAPSHOT), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + activityType: Q(), + content: eI( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ), + replace: Bt().optional(), + })), + (Wpr = wt({ + type: Ce(br.ACTIVITY_DELTA), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + activityType: Q(), + patch: wYt, + })), + (Ypr = wt({ + type: Ce(br.RAW), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + event: Gr().refine((e) => e !== void 0), + source: Q().optional(), + })), + (Kpr = wt({ + type: Ce(br.CUSTOM), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + name: Q(), + value: Gr().refine((e) => e !== void 0), + })), + (CYt = wt({ + name: Q(), + description: Q(), + parameters: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + })), + (Jpr = wt({ description: Q(), value: Q() })), + (jpr = wt({ + interruptId: Q(), + status: tr(["resolved", "cancelled"]), + payload: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + })), + (EYt = wt({ + threadId: Q(), + runId: Q(), + protocolVersion: Q().optional(), + parentRunId: Q().optional(), + state: AYt.refine((e) => e !== null) + .nullable() + .transform((e) => e ?? void 0) + .optional(), + messages: je(SYt), + tools: je(CYt).default(() => []), + context: je(Jpr).default(() => []), + forwardedProps: Gr() + .refine((e) => e !== null) + .optional(), + resume: je(jpr).optional(), + })), + ($pr = wt({ + type: Ce(br.RUN_STARTED), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + threadId: Q(), + runId: Q(), + protocolVersion: Q().optional(), + parentRunId: Q().optional(), + input: EYt.optional(), + })), + (efr = wt({ type: Ce("success"), pendingToolCallIds: je(Q()).optional() })), + (tfr = wt({ + subagentRunId: ga.optional(), + id: Q(), + reason: Q(), + message: Q().optional(), + toolCallId: Q().optional(), + responseSchema: eI( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ).optional(), + expiresAt: Q().optional(), + metadata: vo.optional(), + })), + (nfr = wt({ type: Ce("interrupt"), interrupts: je(tfr).min(1) })), + (rfr = wt({ type: Ce("cancelled") })), + (ofr = dm("type", [efr, nfr, rfr])), + (IYt = wt({ + provider: Q().optional(), + model: Q().optional(), + inputTokens: Oo().min(0).max(9007199254740991).optional(), + outputTokens: Oo().min(0).max(9007199254740991).optional(), + totalTokens: Oo().min(0).max(9007199254740991).optional(), + reasoningTokens: Oo().min(0).max(9007199254740991).optional(), + cachedInputTokens: Oo().min(0).max(9007199254740991).optional(), + cacheWriteInputTokens: Oo().min(0).max(9007199254740991).optional(), + })), + (afr = wt({ + type: Ce(br.RUN_FINISHED), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + threadId: Q(), + runId: Q(), + result: Gr() + .refine((e) => e !== null) + .optional(), + outcome: ofr.optional(), + usage: je(IYt).optional(), + })), + (ifr = wt({ + type: Ce(br.RUN_ERROR), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + message: Q(), + code: Q().optional(), + usage: je(IYt).optional(), + })), + (sfr = wt({ + type: Ce(br.STEP_STARTED), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + stepName: Q(), + })), + (lfr = wt({ + type: Ce(br.STEP_FINISHED), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + stepName: Q(), + })), + (cfr = wt({ + type: Ce(br.REASONING_START), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + })), + (ufr = wt({ + type: Ce(br.REASONING_MESSAGE_START), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + role: Ce("reasoning"), + })), + (dfr = wt({ + type: Ce(br.REASONING_MESSAGE_CONTENT), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + delta: Q(), + })), + (pfr = wt({ + type: Ce(br.REASONING_MESSAGE_END), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + })), + (NPe = wt({ + type: Ce(br.REASONING_MESSAGE_CHUNK), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q().optional(), + delta: Q().optional(), + })), + (ffr = wt({ + type: Ce(br.REASONING_END), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + messageId: Q(), + })), + (mfr = tr(["tool-call", "message"])), + (hfr = wt({ + type: Ce(br.REASONING_ENCRYPTED_VALUE), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga.optional(), + subtype: mfr, + entityId: Q(), + encryptedValue: Q(), + })), + (gfr = wt({ + type: Ce(br.SUBAGENT_STARTED), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga, + name: Q(), + description: Q().optional(), + parentSubagentRunId: ga.optional(), + parentToolCallId: Q().optional(), + parentMessageId: Q().optional(), + })), + (yfr = wt({ type: Ce("success") })), + (vfr = wt({ type: Ce("suspended"), interruptIds: je(Q()).optional() })), + (bfr = dm("type", [yfr, vfr])), + (xfr = wt({ + type: Ce(br.SUBAGENT_FINISHED), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga, + result: Gr() + .refine((e) => e !== null) + .optional(), + outcome: bfr.optional(), + })), + (Afr = wt({ + type: Ce(br.SUBAGENT_ERROR), + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + subagentRunId: ga, + message: Q(), + code: Q().optional(), + })), + (TYt = dm("type", [ + fpr, + mpr, + hpr, + OPe, + gpr, + ypr, + vpr, + FPe, + Tpr, + kpr, + Fpr, + Qpr, + Xpr, + Wpr, + Ypr, + Kpr, + $pr, + afr, + ifr, + sfr, + lfr, + cfr, + ufr, + dfr, + pfr, + NPe, + ffr, + hfr, + gfr, + xfr, + Afr, + ])), + (fxa = tr([ + "developer", + "system", + "assistant", + "user", + "tool", + "activity", + "reasoning", + ])), + (wfr = wt({ name: Q(), description: Q().optional() })), + (Sfr = wt({ + name: Q().optional(), + type: Q().optional(), + description: Q().optional(), + version: Q().optional(), + provider: Q().optional(), + documentationUrl: Q().optional(), + metadata: vo.optional(), + })), + (Cfr = wt({ + streaming: Bt().optional(), + websocket: Bt().optional(), + httpBinary: Bt().optional(), + pushNotifications: Bt().optional(), + resumable: Bt().optional(), + })), + (Efr = wt({ + supported: Bt().optional(), + items: je(CYt).optional(), + parallelCalls: Bt().optional(), + clientProvided: Bt().optional(), + })), + (Ifr = wt({ + structuredOutput: Bt().optional(), + supportedMimeTypes: je(Q()).optional(), + })), + (Tfr = wt({ + snapshots: Bt().optional(), + deltas: Bt().optional(), + memory: Bt().optional(), + persistentState: Bt().optional(), + })), + (kfr = wt({ + supported: Bt().optional(), + delegation: Bt().optional(), + handoffs: Bt().optional(), + subagents: je(wfr).optional(), + })), + (Rfr = wt({ + supported: Bt().optional(), + streaming: Bt().optional(), + encrypted: Bt().optional(), + })), + (Pfr = wt({ + image: Bt().optional(), + audio: Bt().optional(), + video: Bt().optional(), + pdf: Bt().optional(), + file: Bt().optional(), + })), + (Mfr = wt({ image: Bt().optional(), audio: Bt().optional() })), + (Dfr = wt({ input: Pfr.optional(), output: Mfr.optional() })), + (Lfr = wt({ + codeExecution: Bt().optional(), + sandboxed: Bt().optional(), + maxIterations: Oo().min(0).max(9007199254740991).optional(), + maxExecutionTime: Oo().min(0).max(9007199254740991).optional(), + })), + (Bfr = wt({ + supported: Bt().optional(), + approvals: Bt().optional(), + interventions: Bt().optional(), + feedback: Bt().optional(), + interrupts: Bt().optional(), + approveWithEdits: Bt().optional(), + })), + (mxa = wt({ + identity: Sfr.optional(), + transport: Cfr.optional(), + tools: Efr.optional(), + output: Ifr.optional(), + state: Tfr.optional(), + multiAgent: kfr.optional(), + reasoning: Rfr.optional(), + multimodal: Dfr.optional(), + execution: Lfr.optional(), + humanInTheLoop: Bfr.optional(), + custom: eI( + (e) => typeof e === "object" && e !== null && !Array.isArray(e), + ).optional(), + })), + (hxa = wt({ subagentRunId: ga.optional() })), + (gxa = wt({ + type: ppr, + timestamp: Oo().min(-9007199254740991).max(9007199254740991).optional(), + rawEvent: Gr() + .refine((e) => e !== null) + .optional(), + metadata: vo.optional(), + })), + (yxa = wt({ + subagentRunId: ga.optional(), + id: Q(), + role: Q(), + name: Q().optional(), + encryptedValue: Q().optional(), + metadata: vo.optional(), + })), + (vxa = vo.optional())); +}); +function Ufr(e) { + let t = e, + n = Array.isArray(t.def?.values) + ? t.def.values + : t.values + ? Array.from(t.values) + : void 0; + if (n && n.length === 1) return n[0]; + return t.value; +} +var _Pe = (e) => new Set(Object.keys(e.shape)), + Fxa, + Uxa, + Nxa, + Hxa, + Vxa, + Gxa; +var kYt = P(() => { + xm(); + xle(); + xm(); + BPe(); + BPe(); + xm(); + xle(); + xm(); + xm(); + xm(); + zPe(); + xm(); + zPe(); + xm(); + xm(); + xm(); + xm(); + xm(); + xm(); + xle(); + xm(); + ((Fxa = _Pe(OPe)), + (Uxa = _Pe(FPe)), + (Nxa = _Pe(NPe)), + (Hxa = Symbol("agui.strip.drop"))); + ((Vxa = new Set(Object.values(br))), + (Gxa = new Map( + TYt.options.map((e) => { + let t = e.shape; + return [String(Ufr(t.type)), e]; + }), + ))); +}); +var RYt = () => {}; +var PYt = P(() => { + xm(); + kYt(); + RYt(); +}); +function Vle(e) { + if (!e || e.trim().length === 0) return null; + try { + let t = JSON.parse(e); + if (typeof t === "object" && t !== null && !Array.isArray(t)) return t; + return null; + } catch { + return null; + } +} +function Nfr(e, t) { + if (t?.error) return !0; + if (t?.status === "error") return !0; + if (t?.success === !1) return !0; + if (typeof t?.exit_code === "number" && t.exit_code !== 0) return !0; + let n = e.toLowerCase(); + return ( + n.startsWith("error:") || + n.startsWith("error -") || + n.startsWith("failed:") || + n.startsWith("toolset error:") + ); +} +function MYt(e) { + let t = [], + n = new Map(); + for (let r of e) + if (r.type === "tool_result") + n.set(r.call_id, { name: r.name, text: r.text }); + for (let r of e) + if (r.type === "action") { + for (let o of r.content) + if (o.type === "text") t.push({ kind: "text", text: o.text }); + else if (o.type === "tool_call") { + let a = n.get(o.id), + i = Vle(o.args), + s = a ? Vle(a.text) : null, + l = a ? Nfr(a.text, s) : !1; + t.push({ + kind: "tool", + pair: { + id: o.id, + name: o.name, + argsRaw: o.args, + args: i, + resultRaw: a?.text ?? null, + result: s, + status: a ? (l ? "error" : "completed") : "running", + }, + }); + } + } + return t; +} +var DYt = () => {}; +class iq { + steps = []; + activeText = ""; + activeReasoning = ""; + pendingToolCalls = new Map(); + toolCallNames = new Map(); + subagents = new Map(); + a2uiSurfaces = new Map(); + isFinished = !1; + hasError = !1; + errorMessage; + push(e) { + switch (e.type) { + case br.RUN_STARTED: { + ((this.isFinished = !1), (this.hasError = !1)); + break; + } + case br.TEXT_MESSAGE_CONTENT: { + let t = e; + if (t.delta) this.activeText += t.delta; + break; + } + case br.TEXT_MESSAGE_END: { + if (this.activeText.length > 0) + (this.steps.push({ + type: "action", + content: [{ type: "text", text: this.activeText }], + }), + (this.activeText = "")); + break; + } + case br.REASONING_MESSAGE_CONTENT: { + let t = e; + if (t.delta) this.activeReasoning += t.delta; + break; + } + case br.TOOL_CALL_START: { + let t = e; + (this.pendingToolCalls.set(t.toolCallId, { + name: t.toolCallName, + args: "", + }), + this.toolCallNames.set(t.toolCallId, t.toolCallName)); + break; + } + case br.TOOL_CALL_ARGS: { + let t = e, + n = this.pendingToolCalls.get(t.toolCallId); + if (n && t.delta) n.args += t.delta; + break; + } + case br.TOOL_CALL_END: { + let t = e, + n = this.pendingToolCalls.get(t.toolCallId); + if (n) + (this.steps.push({ + type: "action", + content: [ + { + type: "tool_call", + id: t.toolCallId, + name: n.name, + args: n.args, + }, + ], + }), + this.pendingToolCalls.delete(t.toolCallId)); + break; + } + case br.TOOL_CALL_RESULT: { + let t = e, + n = + typeof t.content === "string" + ? t.content + : JSON.stringify(t.content); + this.inspectA2uiOperations(t.content); + let r = + this.toolCallNames.get(t.toolCallId) || + t.metadata?.toolName || + "tool"; + this.steps.push({ + type: "tool_result", + call_id: t.toolCallId, + name: r, + text: n, + }); + break; + } + case br.SUBAGENT_STARTED: { + let t = e; + this.subagents.set(t.subagentRunId, { + id: t.subagentRunId, + name: t.name, + status: "running", + parentRunId: t.parentSubagentRunId, + }); + break; + } + case br.SUBAGENT_FINISHED: { + let t = e, + n = this.subagents.get(t.subagentRunId); + if (n) n.status = "completed"; + break; + } + case br.SUBAGENT_ERROR: { + let t = e, + n = this.subagents.get(t.subagentRunId); + if (n) ((n.status = "error"), (n.error = t.message)); + break; + } + case br.RUN_FINISHED: { + if (this.activeText.length > 0) + (this.steps.push({ + type: "action", + content: [{ type: "text", text: this.activeText }], + }), + (this.activeText = "")); + this.isFinished = !0; + break; + } + case br.RUN_ERROR: { + let t = e; + ((this.hasError = !0), + (this.errorMessage = t.message), + (this.isFinished = !0)); + break; + } + default: + break; + } + } + inspectA2uiOperations(e) { + if (!e) return; + let t = typeof e === "string" ? Vle(e) : e; + if (t && typeof t === "object" && "a2ui_operations" in t) { + let n = t.a2ui_operations; + if (Array.isArray(n)) { + for (let r of n) + if (r.createSurface && typeof r.createSurface === "object") { + let o = r.createSurface; + this.a2uiSurfaces.set(o.surfaceId, { + surfaceId: o.surfaceId, + catalogId: o.catalogId, + components: [], + dataModel: {}, + }); + } else if ( + r.updateComponents && + typeof r.updateComponents === "object" + ) { + let o = r.updateComponents, + a = this.a2uiSurfaces.get(o.surfaceId); + if (a) a.components = o.components; + } else if ( + r.updateDataModel && + typeof r.updateDataModel === "object" + ) { + let o = r.updateDataModel, + a = this.a2uiSurfaces.get(o.surfaceId); + if (a) a.dataModel = o.value; + } + } + } + } + snapshot() { + let e = [...this.steps]; + if (this.activeText.length > 0) + e.push({ + type: "action", + content: [{ type: "text", text: this.activeText }], + }); + let t = MYt(e), + n = "idle"; + if (this.hasError) n = "error"; + else if (this.isFinished) n = "completed"; + else if (e.length > 0 || this.activeReasoning.length > 0) n = "streaming"; + return { + status: n, + items: t, + steps: e, + reasoning: this.activeReasoning, + currentText: this.activeText, + error: this.errorMessage, + subagents: Array.from(this.subagents.values()), + a2uiSurfaces: new Map(this.a2uiSurfaces), + }; + } + getState() { + return this.snapshot(); + } +} +var LYt = P(() => { + PYt(); + DYt(); +}); +var Gle = P(() => { + XNt(); + ule(); + VZt(); + ZZt(); + LYt(); +}); +function Hfr(e, t) { + this[e] = _fr.bind(null, t); +} +function BYt(e, t = !1) { + return window.__TAURI_INTERNALS__.transformCallback(e, t); +} +class qle { + plugin; + event; + channelId; + constructor(e, t, n) { + ((this.plugin = e), (this.event = t), (this.channelId = n)); + } + async unregister() { + return Wi(`plugin:${this.plugin}|remove_listener`, { + event: this.event, + channelId: this.channelId, + }); + } +} +async function qfr(e, t, n) { + let r = new Ex(n); + try { + return ( + await Wi(`plugin:${e}|register_listener`, { event: t, handler: r }), + new qle(e, t, r.id) + ); + } catch { + return ( + await Wi(`plugin:${e}|registerListener`, { event: t, handler: r }), + new qle(e, t, r.id) + ); + } +} +async function Zfr(e) { + return Wi(`plugin:${e}|check_permissions`); +} +async function Qfr(e) { + return Wi(`plugin:${e}|request_permissions`); +} +async function Wi(e, t = {}, n) { + return window.__TAURI_INTERNALS__.invoke(e, t, n); +} +function Xfr(e, t = "asset") { + return window.__TAURI_INTERNALS__.convertFileSrc(e, t); +} +function Wfr() { + return !!(globalThis || window).isTauri; +} +var zfr, + _fr = (e) => e, + Vfr = (e, t) => { + for (var n in t) + zfr(e, n, { + get: t[n], + enumerable: !0, + configurable: !0, + set: Hfr.bind(t, n), + }); + }, + Gfr, + HPe = "__TAURI_TO_IPC_KEY__", + Ex, + OYt; +var $I = P(() => { + zfr = Object.defineProperty; + Gfr = {}; + Vfr(Gfr, { + Channel: () => Ex, + PluginListener: () => qle, + Resource: () => OYt, + SERIALIZE_TO_IPC_FN: () => HPe, + addPluginListener: () => qfr, + checkPermissions: () => Zfr, + convertFileSrc: () => Xfr, + invoke: () => Wi, + isTauri: () => Wfr, + requestPermissions: () => Qfr, + transformCallback: () => BYt, + }); + Ex = class Ex { + id; + #e; + #t = 0; + #n = []; + #r; + constructor(e) { + ((this.#e = e || (() => {})), + (this.id = BYt((t) => { + let n = t.index; + if ("end" in t) { + if (n == this.#t) this.cleanupCallback(); + else this.#r = n; + return; + } + let r = t.message; + if (n == this.#t) { + (this.#e(r), (this.#t += 1)); + while (this.#t in this.#n) { + let o = this.#n[this.#t]; + (this.#e(o), delete this.#n[this.#t], (this.#t += 1)); + } + if (this.#t === this.#r) this.cleanupCallback(); + } else this.#n[n] = r; + }))); + } + cleanupCallback() { + window.__TAURI_INTERNALS__.unregisterCallback(this.id); + } + set onmessage(e) { + this.#e = e; + } + get onmessage() { + return this.#e; + } + [HPe]() { + return `__CHANNEL__:${this.id}`; + } + toJSON() { + return this[HPe](); + } + }; + OYt = class OYt { + #e; + get rid() { + return this.#e; + } + constructor(e) { + this.#e = e; + } + async close() { + return Wi("plugin:resources|close", { rid: this.rid }); + } + async [Symbol.asyncDispose]() { + await this.close(); + } + }; +}); +async function gC(e = {}) { + if (typeof e === "object") Object.freeze(e); + return await Wi("plugin:dialog|open", { options: e }); +} +var sq = P(() => { + $I(); +}); +var _c; +var tKt = P(() => { + _c = { + id: "aphrody", + displayName: "Aphrody", + version: 2, + atlas: { + width: 1536, + height: 2288, + cellWidth: 192, + cellHeight: 208, + columns: 8, + rows: 11, + }, + tracks: { + idle: { + kind: "timed", + frames: [ + { x: 0, y: 0, w: 192, h: 208, ms: 280 }, + { x: 192, y: 0, w: 192, h: 208, ms: 110 }, + { x: 384, y: 0, w: 192, h: 208, ms: 110 }, + { x: 576, y: 0, w: 192, h: 208, ms: 140 }, + { x: 768, y: 0, w: 192, h: 208, ms: 140 }, + { x: 960, y: 0, w: 192, h: 208, ms: 320 }, + ], + }, + "running-right": { + kind: "timed", + frames: [ + { x: 0, y: 208, w: 192, h: 208, ms: 120 }, + { x: 192, y: 208, w: 192, h: 208, ms: 120 }, + { x: 384, y: 208, w: 192, h: 208, ms: 120 }, + { x: 576, y: 208, w: 192, h: 208, ms: 120 }, + { x: 768, y: 208, w: 192, h: 208, ms: 120 }, + { x: 960, y: 208, w: 192, h: 208, ms: 120 }, + { x: 1152, y: 208, w: 192, h: 208, ms: 120 }, + { x: 1344, y: 208, w: 192, h: 208, ms: 220 }, + ], + }, + "running-left": { + kind: "timed", + frames: [ + { x: 0, y: 416, w: 192, h: 208, ms: 120 }, + { x: 192, y: 416, w: 192, h: 208, ms: 120 }, + { x: 384, y: 416, w: 192, h: 208, ms: 120 }, + { x: 576, y: 416, w: 192, h: 208, ms: 120 }, + { x: 768, y: 416, w: 192, h: 208, ms: 120 }, + { x: 960, y: 416, w: 192, h: 208, ms: 120 }, + { x: 1152, y: 416, w: 192, h: 208, ms: 120 }, + { x: 1344, y: 416, w: 192, h: 208, ms: 220 }, + ], + }, + waving: { + kind: "timed", + frames: [ + { x: 0, y: 624, w: 192, h: 208, ms: 140 }, + { x: 192, y: 624, w: 192, h: 208, ms: 140 }, + { x: 384, y: 624, w: 192, h: 208, ms: 140 }, + { x: 576, y: 624, w: 192, h: 208, ms: 280 }, + ], + }, + jumping: { + kind: "timed", + frames: [ + { x: 0, y: 832, w: 192, h: 208, ms: 140 }, + { x: 192, y: 832, w: 192, h: 208, ms: 140 }, + { x: 384, y: 832, w: 192, h: 208, ms: 140 }, + { x: 576, y: 832, w: 192, h: 208, ms: 140 }, + { x: 768, y: 832, w: 192, h: 208, ms: 280 }, + ], + }, + failed: { + kind: "timed", + frames: [ + { x: 0, y: 1040, w: 192, h: 208, ms: 140 }, + { x: 192, y: 1040, w: 192, h: 208, ms: 140 }, + { x: 384, y: 1040, w: 192, h: 208, ms: 140 }, + { x: 576, y: 1040, w: 192, h: 208, ms: 140 }, + { x: 768, y: 1040, w: 192, h: 208, ms: 140 }, + { x: 960, y: 1040, w: 192, h: 208, ms: 140 }, + { x: 1152, y: 1040, w: 192, h: 208, ms: 140 }, + { x: 1344, y: 1040, w: 192, h: 208, ms: 240 }, + ], + }, + waiting: { + kind: "timed", + frames: [ + { x: 0, y: 1248, w: 192, h: 208, ms: 150 }, + { x: 192, y: 1248, w: 192, h: 208, ms: 150 }, + { x: 384, y: 1248, w: 192, h: 208, ms: 150 }, + { x: 576, y: 1248, w: 192, h: 208, ms: 150 }, + { x: 768, y: 1248, w: 192, h: 208, ms: 150 }, + { x: 960, y: 1248, w: 192, h: 208, ms: 260 }, + ], + }, + running: { + kind: "timed", + frames: [ + { x: 0, y: 1456, w: 192, h: 208, ms: 120 }, + { x: 192, y: 1456, w: 192, h: 208, ms: 120 }, + { x: 384, y: 1456, w: 192, h: 208, ms: 120 }, + { x: 576, y: 1456, w: 192, h: 208, ms: 120 }, + { x: 768, y: 1456, w: 192, h: 208, ms: 120 }, + { x: 960, y: 1456, w: 192, h: 208, ms: 220 }, + ], + }, + review: { + kind: "timed", + frames: [ + { x: 0, y: 1664, w: 192, h: 208, ms: 150 }, + { x: 192, y: 1664, w: 192, h: 208, ms: 150 }, + { x: 384, y: 1664, w: 192, h: 208, ms: 150 }, + { x: 576, y: 1664, w: 192, h: 208, ms: 150 }, + { x: 768, y: 1664, w: 192, h: 208, ms: 150 }, + { x: 960, y: 1664, w: 192, h: 208, ms: 280 }, + ], + }, + "look-neutral": { + kind: "still", + frames: [{ x: 1152, y: 0, w: 192, h: 208, ms: 0 }], + }, + }, + directions: [ + { x: 0, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 192, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 384, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 576, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 768, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 960, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 1152, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 1344, y: 1872, w: 192, h: 208, ms: 0 }, + { x: 0, y: 2080, w: 192, h: 208, ms: 0 }, + { x: 192, y: 2080, w: 192, h: 208, ms: 0 }, + { x: 384, y: 2080, w: 192, h: 208, ms: 0 }, + { x: 576, y: 2080, w: 192, h: 208, ms: 0 }, + { x: 768, y: 2080, w: 192, h: 208, ms: 0 }, + { x: 960, y: 2080, w: 192, h: 208, ms: 0 }, + { x: 1152, y: 2080, w: 192, h: 208, ms: 0 }, + { x: 1344, y: 2080, w: 192, h: 208, ms: 0 }, + ], + }; +}); +function $fr(e) { + return e.frames.reduce((t, n) => t + n.ms, 0); +} +function nKt(e, t, n = !0) { + let r = e.frames, + o = r[r.length - 1]; + if (!o) throw Error("pet track without frames"); + let a = $fr(e); + if (e.kind === "still" || a <= 0) return r[0] ?? o; + let i = Math.max(0, t); + if (n) i %= a; + else if (i >= a) return o; + for (let s of r) { + if (i < s.ms) return s; + i -= s.ms; + } + return o; +} +function rKt(e, t, n = 24, r = _c) { + let o = r.tracks["look-neutral"]?.frames[0] ?? r.tracks.idle?.frames[0]; + if (Math.hypot(e, t) < n || r.directions.length === 0) { + if (!o) throw Error("pet without a neutral pose"); + return o; + } + let a = (Math.atan2(e, -t) * 180) / Math.PI, + i = 360 / r.directions.length, + s = Math.round((((a % 360) + 360) % 360) / i) % r.directions.length, + l = r.directions[s]; + if (!l) throw Error("gaze index out of range"); + return l; +} +function lq(e, t, n = _c.atlas) { + return { + width: `${e.w * t}px`, + height: `${e.h * t}px`, + backgroundSize: `${n.width * t}px ${n.height * t}px`, + backgroundPosition: `${-e.x * t}px ${-e.y * t}px`, + }; +} +var yC; +var kD = P(() => { + tKt(); + yC = { + seed: "#8c6c88", + hair: "#dcd894", + skin: "#fce0b4", + tunic: "#f4f4f4", + socks: "#8c6c88", + }; +}); +function w$t(e) { + return typeof e === "object" ? e.key : e; +} +function S$t(e, t) { + let n = e.length; + return new Proxy(e, { + get(r, o, a) { + if (typeof o === "string") { + let i = o.charCodeAt(0); + if (i >= 48 && i <= 57) { + let s = +o; + if (Number.isInteger(s) && s >= 0 && s < n) { + let l = r[s]; + if (typeof l !== "object") { + let c = t[s * 2]; + l = r[s] = { + index: s, + key: l, + start: c, + size: t[s * 2 + 1], + end: c + t[s * 2 + 1], + lane: 0, + }; + } + return l; + } + } + if (o === "length") return n; + } + return Reflect.get(r, o, a); + }, + }); +} +var C$t = () => {}; +function hT(e, t, n) { + let r = n.initialDeps ?? [], + o, + a = !0; + function i() { + var s; + let l = !1, + c = 0, + u = e(); + if (!(u.length !== r.length || u.some((f, m) => r[m] !== f))) return o; + r = u; + let p = 0; + if ( + ((o = t(...u)), + (n == null ? void 0 : n.onChange) && !(a && n.skipInitialOnChange)) + ) + n.onChange(o); + return ((a = !1), o); + } + return ( + (i.updateDeps = (s) => { + r = s; + }), + i + ); +} +function kDe(e, t) { + if (e === void 0) throw Error(`Unexpected undefined${t ? `: ${t}` : ""}`); + else return e; +} +var RDe = (e, t) => Math.abs(e - t) < 1.01, + E$t = (e, t, n) => { + let r; + return Object.assign( + function (...o) { + (e.clearTimeout(r), (r = e.setTimeout(() => t.apply(this, o), n))); + }, + { + cancel: () => { + e.clearTimeout(r); + }, + }, + ); + }; +var I$t = () => {}; +function W0r(e, t, n, r) { + if (t === 0) return !1; + let o = r(0), + a = new Set(), + i = 0; + while (i < e) { + let l = n(i); + if (l === o) break; + (a.add(l), i++); + } + let s = e - i; + if (s === 0 || s >= t) return !1; + for (let l = 0; l < s; l++) if (r(l) !== n(i + l)) return !1; + for (let l = s; l < t; l++) if (a.has(r(l))) return !1; + return !0; +} +class MDe { + constructor(e) { + ((this.unsubs = []), + (this.scrollElement = null), + (this.targetWindow = null), + (this.isScrolling = !1), + (this.scrollState = null), + (this.measurementsCache = []), + (this._singleLaneMeasurements = null), + (this.itemSizeCache = new Map()), + (this.itemSizeCacheVersion = 0), + (this.laneAssignments = new Map()), + (this.pendingMin = null), + (this.prevLanes = void 0), + (this.lanesChangedFlag = !1), + (this.lanesSettling = !1), + (this.pendingScrollAnchor = null), + (this.scrollRect = null), + (this.scrollOffset = null), + (this.scrollDirection = null), + (this.scrollAdjustments = 0), + (this._iosDeferredAdjustment = 0), + (this._iosTouching = !1), + (this._iosJustTouchEnded = !1), + (this._iosTouchEndTimerId = null), + (this._intendedScrollOffset = null), + (this._clampedAdjustment = null), + (this.elementsCache = new Map()), + (this.now = () => { + var t, n, r; + return ( + ((r = + (n = (t = this.targetWindow) == null ? void 0 : t.performance) == + null + ? void 0 + : n.now) == null + ? void 0 + : r.call(n)) ?? Date.now() + ); + }), + (this.observer = (() => { + let t = null, + n = () => { + if (t) return t; + if (!this.targetWindow || !this.targetWindow.ResizeObserver) + return null; + return (t = new this.targetWindow.ResizeObserver((r) => { + r.forEach((o) => { + let a = () => { + let i = o.target, + s = this.indexFromElement(i); + if (!i.isConnected) { + this.observer.unobserve(i); + for (let [l, c] of this.elementsCache) + if (c === i) { + this.elementsCache.delete(l); + break; + } + return; + } + if (!this.isIndexInRange(s)) return; + if (this.shouldMeasureDuringScroll(s)) + this.resizeItem(s, this.options.measureElement(i, o, this)); + }; + this.options.useAnimationFrameWithResizeObserver + ? requestAnimationFrame(a) + : a(); + }); + })); + }; + return { + disconnect: () => { + var r; + ((r = n()) == null || r.disconnect(), (t = null)); + }, + observe: (r) => { + var o; + return (o = n()) == null + ? void 0 + : o.observe(r, { box: "border-box" }); + }, + unobserve: (r) => { + var o; + return (o = n()) == null ? void 0 : o.unobserve(r); + }, + }; + })()), + (this.range = null), + (this.setOptions = (t) => { + var n; + let r = { + debug: !1, + initialOffset: 0, + overscan: 1, + paddingStart: 0, + paddingEnd: 0, + scrollPaddingStart: 0, + scrollPaddingEnd: 0, + horizontal: !1, + getItemKey: V0r, + rangeExtractor: G0r, + onChange: () => {}, + measureElement: Q0r, + initialRect: { width: 0, height: 0 }, + scrollMargin: 0, + gap: 0, + indexAttribute: "data-index", + initialMeasurementsCache: [], + lanes: 1, + anchorTo: "start", + followOnAppend: !1, + scrollEndThreshold: 1, + isScrollingResetDelay: 150, + enabled: !0, + isRtl: !1, + useScrollendEvent: !1, + useAnimationFrameWithResizeObserver: !1, + laneAssignmentMode: "estimate", + useCachedMeasurements: !1, + }; + for (let u in t) { + let d = t[u]; + if (d !== void 0) r[u] = d; + } + let o = this.options, + a = null, + i = null, + s = !1; + if ( + o !== void 0 && + o.enabled && + r.enabled && + r.anchorTo === "end" && + this.scrollElement !== null + ) { + let u = o.count, + d = r.count, + p = this.getMeasurements(), + f = + ((n = this._singleLaneMeasurements) == null ? void 0 : n.items) ?? + p, + m = (A) => w$t(f[A]), + g = u > 0 ? m(0) : null, + v = u > 0 ? m(u - 1) : null; + if ( + d !== u || + (u > 0 && + d > 0 && + (r.getItemKey(0) !== g || r.getItemKey(d - 1) !== v)) + ) { + s = !0; + let A = + u > 0 + ? (this.getVirtualItemForOffset(this.getScrollOffset()) ?? p[0]) + : null; + if (A) a = [A.key, this.getScrollOffset() - A.start]; + let w = r.followOnAppend === !0 ? "auto" : r.followOnAppend || null; + if ( + w && + d > 0 && + this.isAtEnd(o.scrollEndThreshold) && + (u === 0 || r.getItemKey(d - 1) !== v) + ) { + if (d > u || W0r(u, d, m, r.getItemKey)) i = w; + } + } + } + if (((this.options = r), s)) + ((this.pendingMin = 0), this.itemSizeCacheVersion++); + let l = !1, + c = 0; + if (a && this.scrollOffset !== null) { + let [u, d] = a, + p = this.getMeasurements(), + { count: f, getItemKey: m } = this.options, + g = 0; + while (g < f && m(g) !== u) g++; + if (g < f) { + let v = p[g]; + if (v) { + let y = Math.max(0, v.start + d); + if (!i && y !== this.scrollOffset) + ((c = y - this.scrollOffset), + (this.scrollOffset = y), + (l = !0)); + } + } + } + if (l || i) + this.pendingScrollAnchor = [l ? a[0] : null, l ? a[1] : 0, i, c]; + }), + (this.notify = (t) => { + var n, r; + (r = (n = this.options).onChange) == null || r.call(n, this, t); + }), + (this.maybeNotify = hT( + () => ( + this.calculateRange(), + [ + this.isScrolling, + this.range ? this.range.startIndex : null, + this.range ? this.range.endIndex : null, + ] + ), + (t) => { + this.notify(t); + }, + { + key: !1, + debug: () => this.options.debug, + initialDeps: [ + this.isScrolling, + this.range ? this.range.startIndex : null, + this.range ? this.range.endIndex : null, + ], + }, + )), + (this.cleanup = () => { + if ( + (this.unsubs.filter(Boolean).forEach((t) => t()), + (this.unsubs = []), + this.observer.disconnect(), + this.rafId != null && this.targetWindow) + ) + (this.targetWindow.cancelAnimationFrame(this.rafId), + (this.rafId = null)); + ((this.scrollState = null), + (this.isScrolling = !1), + (this.scrollDirection = null), + (this._iosDeferredAdjustment = 0), + (this._iosTouching = !1), + (this._iosJustTouchEnded = !1), + (this._clampedAdjustment = null), + (this.scrollElement = null), + (this.targetWindow = null)); + }), + (this._didMount = () => () => { + this.cleanup(); + }), + (this._willUpdate = () => { + var t, n; + let r = this.options.enabled ? this.options.getScrollElement() : null; + if (this.scrollElement !== r) { + if ((this.cleanup(), !r)) { + this.maybeNotify(); + return; + } + if ( + ((this.scrollElement = r), + this.scrollElement && "ownerDocument" in this.scrollElement) + ) + this.targetWindow = this.scrollElement.ownerDocument.defaultView; + else + this.targetWindow = + ((t = this.scrollElement) == null ? void 0 : t.window) ?? null; + if ( + (this.elementsCache.forEach((a) => { + this.observer.observe(a); + }), + this.unsubs.push( + this.options.observeElementRect(this, (a) => { + ((this.scrollRect = a), this.maybeNotify()); + }), + ), + this.unsubs.push( + this.options.observeElementOffset(this, (a, i) => { + if ( + i && + this._intendedScrollOffset === null && + a === this.scrollOffset + ) + return; + if ( + this._intendedScrollOffset !== null && + Math.abs(a - this._intendedScrollOffset) < 1.5 + ) + a = this._intendedScrollOffset; + if ( + ((this._intendedScrollOffset = null), + this._clampedAdjustment !== null && + Math.abs(a - this._clampedAdjustment.maxAtWrite) >= 1.5) + ) + this._clampedAdjustment = null; + this.scrollAdjustments = 0; + let s = this.getScrollOffset(); + if ( + ((this.scrollDirection = i + ? s === a + ? this.scrollDirection + : s < a + ? "forward" + : "backward" + : null), + (this.scrollOffset = a), + (this.isScrolling = i), + this._flushIosDeferredIfReady(), + this.scrollState) + ) + this.scheduleScrollReconcile(); + this.maybeNotify(); + }), + ), + "addEventListener" in this.scrollElement) + ) { + let a = this.scrollElement, + i = () => { + if ( + ((this._iosTouching = !0), + (this._iosJustTouchEnded = !1), + this._iosTouchEndTimerId !== null && + this.targetWindow != null) + ) + (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), + (this._iosTouchEndTimerId = null)); + }, + s = () => { + if ( + ((this._iosTouching = !1), + !PDe() || this.targetWindow == null) + ) + return; + ((this._iosJustTouchEnded = !0), + (this._iosTouchEndTimerId = this.targetWindow.setTimeout( + () => { + ((this._iosJustTouchEnded = !1), + (this._iosTouchEndTimerId = null), + this._flushIosDeferredIfReady()); + }, + 150, + ))); + }; + (a.addEventListener("touchstart", i, ude), + a.addEventListener("touchend", s, ude), + this.unsubs.push(() => { + if ( + (a.removeEventListener("touchstart", i), + a.removeEventListener("touchend", s), + this._iosTouchEndTimerId !== null && + this.targetWindow != null) + ) + (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), + (this._iosTouchEndTimerId = null)); + })); + } + this._scrollToOffset(this.getScrollOffset(), { + adjustments: void 0, + behavior: void 0, + }); + } + let o = this.pendingScrollAnchor; + if ( + ((this.pendingScrollAnchor = null), + o && this.scrollElement && this.options.enabled) + ) { + let [a, i, s, l] = o; + if (a !== null && !s) + if ( + PDe() && + (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) + ) { + if (l !== 0) this._iosDeferredAdjustment += l; + } else if ( + ((n = this.scrollState) == null ? void 0 : n.behavior) === + "smooth" && + !RDe( + this.getScrollOffset() - l, + this.scrollState.lastTargetOffset, + ) + ); + else + this._scrollToOffset(this.getScrollOffset(), { + adjustments: void 0, + behavior: void 0, + }); + if (s) this.scrollToEnd({ behavior: s }); + } + this._retryClampedAdjustment(); + }), + (this._retryClampedAdjustment = () => { + if ( + this._clampedAdjustment === null || + !this.scrollElement || + !this.options.enabled + ) + return; + let { target: t, maxAtWrite: n } = this._clampedAdjustment, + r = this.getMaxScrollOffset(); + if (r > n + 0.5) + ((this._clampedAdjustment = + t > r + 0.5 ? { target: t, maxAtWrite: r } : null), + this._scrollToOffset(t, { adjustments: void 0, behavior: void 0 })); + }), + (this._flushIosDeferredIfReady = () => { + if (this._iosDeferredAdjustment === 0) return; + if (this.isScrolling) return; + if (this._iosTouching) return; + if (this._iosJustTouchEnded) return; + let t = this.getScrollOffset(), + n = this.getMaxScrollOffset(); + if (t < 0 || t > n) return; + if (this._iosDeferredAdjustment < 0 && t >= n - 1) { + this._iosDeferredAdjustment = 0; + return; + } + let r = this._iosDeferredAdjustment; + ((this._iosDeferredAdjustment = 0), + this._scrollToOffset(t, { + adjustments: (this.scrollAdjustments += r), + behavior: void 0, + })); + }), + (this.rafId = null), + (this.getSize = () => { + if (!this.options.enabled) return ((this.scrollRect = null), 0); + return ( + (this.scrollRect = this.scrollRect ?? this.options.initialRect), + this.scrollRect[this.options.horizontal ? "width" : "height"] + ); + }), + (this.getScrollOffset = () => { + if (!this.options.enabled) return ((this.scrollOffset = null), 0); + return ( + (this.scrollOffset = + this.scrollOffset ?? + (typeof this.options.initialOffset === "function" + ? this.options.initialOffset() + : this.options.initialOffset)), + this.scrollOffset + ); + }), + (this.getMeasurementOptions = hT( + () => [ + this.options.count, + this.options.paddingStart, + this.options.scrollMargin, + this.options.getItemKey, + this.options.enabled, + this.options.lanes, + this.options.laneAssignmentMode, + this.options.gap, + ], + (t, n, r, o, a, i, s, l) => { + if (this.prevLanes !== void 0 && this.prevLanes !== i) + this.lanesChangedFlag = !0; + return ( + (this.prevLanes = i), + (this.pendingMin = null), + { + count: t, + paddingStart: n, + scrollMargin: r, + getItemKey: o, + enabled: a, + lanes: i, + laneAssignmentMode: s, + gap: l, + } + ); + }, + { key: !1 }, + )), + (this.isIndexInRange = (t) => t >= 0 && t < this.options.count), + (this.getMeasurements = hT( + () => [this.getMeasurementOptions(), this.itemSizeCacheVersion], + ( + { + count: t, + paddingStart: n, + scrollMargin: r, + getItemKey: o, + enabled: a, + lanes: i, + laneAssignmentMode: s, + gap: l, + }, + c, + ) => { + var u; + let d = this.itemSizeCache; + if (!a) + return ( + (this.measurementsCache = []), + (this._singleLaneMeasurements = null), + this.itemSizeCache.clear(), + this.laneAssignments.clear(), + [] + ); + if (this.laneAssignments.size > t) { + for (let y of this.laneAssignments.keys()) + if (y >= t) this.laneAssignments.delete(y); + } + if (this.lanesChangedFlag) + ((this.lanesChangedFlag = !1), + (this.lanesSettling = !0), + (this.measurementsCache = []), + (this._singleLaneMeasurements = null), + this.itemSizeCache.clear(), + this.laneAssignments.clear(), + (this.pendingMin = null)); + if (this.measurementsCache.length === 0 && !this.lanesSettling) + ((this.measurementsCache = this.options.initialMeasurementsCache), + this.measurementsCache.forEach((y) => { + this.itemSizeCache.set(y.key, y.size); + })); + let p = this.lanesSettling ? 0 : (this.pendingMin ?? 0); + if ( + ((this.pendingMin = null), + this.lanesSettling && this.measurementsCache.length === t) + ) + this.lanesSettling = !1; + if (i === 1) { + let y = t * 2, + x = (u = this._singleLaneMeasurements) == null ? void 0 : u.flat; + if (!x || x.length < y) { + let E = new Float64Array(y); + if (x && p > 0) E.set(x.subarray(0, p * 2)); + x = E; + } + let A = + p === 0 ? Array(t) : this._singleLaneMeasurements.items.slice(), + w; + if (p === 0) w = n + r; + else { + let E = p - 1; + w = x[E * 2] + x[E * 2 + 1] + l; + } + for (let E = p; E < t; E++) { + let T = o(E); + A[E] = T; + let I = d.get(T), + k = typeof I === "number" ? I : this.options.estimateSize(E); + ((x[E * 2] = w), (x[E * 2 + 1] = k), (w += k + l)); + } + this._singleLaneMeasurements = { flat: x, items: A }; + let C = S$t(A, x); + return ((this.measurementsCache = C), C); + } + let f = this.measurementsCache.slice(0, p), + m = Array(i).fill(void 0), + g = new Float64Array(i), + v = 0; + for (let y = 0; y < p; y++) { + let x = f[y]; + if (x) { + if (m[x.lane] === void 0) v++; + ((m[x.lane] = y), (g[x.lane] = x.end)); + } + } + for (let y = p; y < t; y++) { + let x = o(y), + A = this.laneAssignments.get(y), + w, + C, + E = s === "estimate" || d.has(x); + if (A !== void 0 && this.options.lanes > 1) { + w = A; + let L = m[w], + O = L !== void 0 ? f[L] : void 0; + C = O ? O.end + l : n + r; + } else if (v === i) { + let L = 0, + O = g[0], + B = m[0]; + for (let U = 1; U < i; U++) { + let D = g[U]; + if (D < O || (D === O && m[U] < B)) + ((L = U), (O = D), (B = m[U])); + } + if (((w = L), (C = O + l), E)) this.laneAssignments.set(y, w); + } else if (((w = y % this.options.lanes), (C = n + r), E)) + this.laneAssignments.set(y, w); + let T = d.get(x), + I = typeof T === "number" ? T : this.options.estimateSize(y), + k = C + I; + if ( + ((f[y] = { + index: y, + start: C, + size: I, + end: k, + key: x, + lane: w, + }), + m[w] === void 0) + ) + v++; + ((m[w] = y), (g[w] = k)); + } + return ((this.measurementsCache = f), f); + }, + { key: !1, debug: () => this.options.debug }, + )), + (this.calculateRange = hT( + () => [ + this.getMeasurements(), + this.getSize(), + this.getScrollOffset(), + this.options.lanes, + ], + (t, n, r, o) => { + if (t.length === 0 || n === 0) return ((this.range = null), null); + return ( + (this.range = K0r( + t, + n, + r, + o, + o === 1 && this._singleLaneMeasurements !== null + ? this._singleLaneMeasurements.flat + : null, + )), + this.range + ); + }, + { key: !1, debug: () => this.options.debug }, + )), + (this.getVirtualIndexes = hT( + () => { + let t = null, + n = null, + r = this.calculateRange(); + if (r) ((t = r.startIndex), (n = r.endIndex)); + return ( + this.maybeNotify.updateDeps([this.isScrolling, t, n]), + [ + this.options.rangeExtractor, + this.options.overscan, + this.options.count, + t, + n, + ] + ); + }, + (t, n, r, o, a) => + o === null || a === null + ? [] + : t({ startIndex: o, endIndex: a, overscan: n, count: r }), + { key: !1, debug: () => this.options.debug }, + )), + (this.indexFromElement = (t) => { + let n = this.options.indexAttribute, + r = t.getAttribute(n); + if (!r) + return ( + console.warn( + `Missing attribute name '${n}={index}' on measured element.`, + ), + -1 + ); + return parseInt(r, 10); + }), + (this.shouldMeasureDuringScroll = (t) => { + var n; + if (!this.scrollState || this.scrollState.behavior !== "smooth") + return !0; + let r = + this.scrollState.index ?? + ((n = this.getVirtualItemForOffset( + this.scrollState.lastTargetOffset, + )) == null + ? void 0 + : n.index); + if (r !== void 0 && this.range) { + let o = Math.max( + this.options.overscan, + Math.ceil((this.range.endIndex - this.range.startIndex) / 2), + ), + a = Math.max(0, r - o), + i = Math.min(this.options.count - 1, r + o); + return t >= a && t <= i; + } + return !0; + }), + (this.measureElement = (t) => { + if (!t) { + this.elementsCache.forEach((a, i) => { + if (!a.isConnected) + (this.observer.unobserve(a), this.elementsCache.delete(i)); + }); + return; + } + let n = this.indexFromElement(t); + if (!this.isIndexInRange(n)) return; + let r = this.options.getItemKey(n), + o = this.elementsCache.get(r); + if (o !== t) { + if (o) this.observer.unobserve(o); + (this.observer.observe(t), this.elementsCache.set(r, t)); + } + if ( + (!this.isScrolling || this.scrollState) && + this.shouldMeasureDuringScroll(n) + ) + this.resizeItem(n, this.options.measureElement(t, void 0, this)); + }), + (this.resizeItem = (t, n) => { + var r, o, a; + if (!this.isIndexInRange(t)) return; + let i, + s, + l, + c = (r = this._singleLaneMeasurements) == null ? void 0 : r.flat; + if (this.options.lanes === 1 && c != null) + ((l = this.options.getItemKey(t)), + (s = c[t * 2]), + (i = c[t * 2 + 1])); + else { + let p = this.measurementsCache[t]; + if (!p) return; + ((l = p.key), (s = p.start), (i = p.size)); + } + let u = this.itemSizeCache.get(l) ?? i, + d = n - u; + if (d !== 0) { + let p = + this.options.anchorTo === "end" && + ((o = this.scrollState) == null ? void 0 : o.behavior) !== + "smooth" && + this.getVirtualDistanceFromEnd() <= + this.options.scrollEndThreshold, + f = p ? this.getTotalSize() : 0, + m = this.getScrollOffset() + this.scrollAdjustments, + v = !this.itemSizeCache.has(l) + ? s < m + : s + u <= m && this.scrollDirection !== "backward", + y = + ((a = this.scrollState) == null ? void 0 : a.behavior) !== + "smooth" && + (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 + ? this.shouldAdjustScrollPositionOnItemSizeChange( + this.measurementsCache[t] ?? { + index: t, + key: l, + start: s, + size: i, + end: s + i, + lane: 0, + }, + d, + this, + ) + : v); + if (this.pendingMin === null || t < this.pendingMin) + this.pendingMin = t; + (this.itemSizeCache.set(l, n), this.itemSizeCacheVersion++); + let x = !1; + if (p) x = this.applyScrollAdjustment(this.getTotalSize() - f); + else if (y) x = this.applyScrollAdjustment(d); + (this.notify(x), this._retryClampedAdjustment()); + } + }), + (this.getVirtualItems = hT( + () => [this.getVirtualIndexes(), this.getMeasurements()], + (t, n) => { + let r = []; + for (let o = 0, a = t.length; o < a; o++) { + let i = t[o], + s = n[i]; + r.push(s); + } + return r; + }, + { key: !1, debug: () => this.options.debug }, + )), + (this.getVirtualItemForOffset = (t) => { + var n; + let r = this.getMeasurements(); + if (r.length === 0) return; + let o = (n = this._singleLaneMeasurements) == null ? void 0 : n.flat, + a = this.options.lanes === 1 && o != null, + i = M$t( + 0, + r.length - 1, + a ? (s) => o[s * 2] : (s) => kDe(r[s]).start, + t, + ); + return kDe(r[i]); + }), + (this.getMaxScrollOffset = () => { + if (!this.scrollElement) return 0; + if ("scrollHeight" in this.scrollElement) + return this.options.horizontal + ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth + : this.scrollElement.scrollHeight - this.scrollElement.clientHeight; + else { + let t = this.scrollElement.document.documentElement; + return this.options.horizontal + ? t.scrollWidth - this.scrollElement.innerWidth + : t.scrollHeight - this.scrollElement.innerHeight; + } + }), + (this.getVirtualDistanceFromEnd = () => + Math.max( + this.getTotalSize() - this.getSize() - this.getScrollOffset(), + 0, + )), + (this.getDistanceFromEnd = () => + Math.max(this.getMaxScrollOffset() - this.getScrollOffset(), 0)), + (this.isAtEnd = (t = this.options.scrollEndThreshold) => + this.getDistanceFromEnd() <= t), + (this.getOffsetForAlignment = (t, n, r = 0) => { + if (!this.scrollElement) return 0; + let o = this.getSize(), + a = this.getScrollOffset(); + if (n === "auto") n = t >= a + o ? "end" : "start"; + if (n === "center") t += (r - o) / 2; + else if (n === "end") t -= o; + let i = this.getMaxScrollOffset(); + return Math.max(Math.min(i, t), 0); + }), + (this.getOffsetForIndex = (t, n = "auto") => { + t = Math.max(0, Math.min(t, this.options.count - 1)); + let r = this.getSize(), + o = this.getScrollOffset(), + a = this.measurementsCache[t]; + if (!a) return; + if (n === "auto") + if (a.end >= o + r - this.options.scrollPaddingEnd) n = "end"; + else if (a.start <= o + this.options.scrollPaddingStart) n = "start"; + else return [o, n]; + if (n === "end" && t === this.options.count - 1) + return [this.getMaxScrollOffset(), n]; + let i = + n === "end" + ? a.end + this.options.scrollPaddingEnd + : a.start - this.options.scrollPaddingStart; + return [this.getOffsetForAlignment(i, n, a.size), n]; + }), + (this.scrollToOffset = ( + t, + { align: n = "start", behavior: r = "auto" } = {}, + ) => { + this._iosDeferredAdjustment = 0; + let o = this.getOffsetForAlignment(t, n), + a = this.now(); + ((this.scrollState = { + index: null, + align: n, + behavior: r, + startedAt: a, + lastTargetOffset: o, + stableFrames: 0, + }), + this._scrollToOffset(o, { adjustments: void 0, behavior: r }), + this.scheduleScrollReconcile()); + }), + (this.scrollToIndex = ( + t, + { align: n = "auto", behavior: r = "auto" } = {}, + ) => { + ((this._iosDeferredAdjustment = 0), + (t = Math.max(0, Math.min(t, this.options.count - 1)))); + let o = this.getOffsetForIndex(t, n); + if (!o) return; + let [a, i] = o, + s = this.now(); + ((this.scrollState = { + index: t, + align: i, + behavior: r, + startedAt: s, + lastTargetOffset: a, + stableFrames: 0, + }), + this._scrollToOffset(a, { adjustments: void 0, behavior: r }), + this.scheduleScrollReconcile()); + }), + (this.scrollBy = (t, { behavior: n = "auto" } = {}) => { + let r = this.getScrollOffset() + t, + o = this.now(); + ((this.scrollState = { + index: null, + align: "start", + behavior: n, + startedAt: o, + lastTargetOffset: r, + stableFrames: 0, + }), + this._scrollToOffset(r, { adjustments: void 0, behavior: n }), + this.scheduleScrollReconcile()); + }), + (this.scrollToEnd = ({ behavior: t = "auto" } = {}) => { + if (this.options.count > 0) { + this.scrollToIndex(this.options.count - 1, { + align: "end", + behavior: t, + }); + return; + } + this.scrollToOffset(Math.max(this.getTotalSize() - this.getSize(), 0), { + behavior: t, + }); + }), + (this.getTotalSize = () => { + var t, n; + let r = this.getMeasurements(), + o; + if (r.length === 0) o = this.options.paddingStart; + else if (this.options.lanes === 1) { + let a = r.length - 1, + i = (t = this._singleLaneMeasurements) == null ? void 0 : t.flat; + if (i != null) o = i[a * 2] + i[a * 2 + 1]; + else o = ((n = r[a]) == null ? void 0 : n.end) ?? 0; + } else { + let a = Array(this.options.lanes).fill(null), + i = r.length - 1; + while (i >= 0 && a.some((s) => s === null)) { + let s = r[i]; + if (a[s.lane] === null) a[s.lane] = s.end; + i--; + } + o = Math.max(...a.filter((s) => s !== null)); + } + return Math.max( + o - this.options.scrollMargin + this.options.paddingEnd, + 0, + ); + }), + (this.takeSnapshot = () => { + let t = []; + if (this.itemSizeCache.size === 0) return t; + let n = this.getMeasurements(); + for (let r of n) + if (r && this.itemSizeCache.has(r.key)) + t.push({ + index: r.index, + key: r.key, + start: r.start, + size: r.size, + end: r.end, + lane: r.lane, + }); + return t; + }), + (this._scrollToOffset = (t, { adjustments: n, behavior: r }) => { + ((this._intendedScrollOffset = t + (n ?? 0)), + this.options.scrollToFn(t, { behavior: r, adjustments: n }, this)); + }), + (this.measure = () => { + ((this.pendingMin = null), + this.itemSizeCache.clear(), + this.laneAssignments.clear(), + this.itemSizeCacheVersion++, + this.notify(!1)); + }), + this.setOptions(e)); + } + applyScrollAdjustment(e, t) { + if (e === 0) return !1; + if ( + PDe() && + (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) + ) + return ((this._iosDeferredAdjustment += e), !1); + else { + let n = this.getScrollOffset() + this.scrollAdjustments + e, + r = this.scrollElement, + o = + r !== null && ("scrollHeight" in r || "document" in r) + ? this.getMaxScrollOffset() + : null; + if ( + ((this._clampedAdjustment = + o !== null && n > o + 0.5 ? { target: n, maxAtWrite: o } : null), + this._scrollToOffset(this.getScrollOffset(), { + adjustments: (this.scrollAdjustments += e), + behavior: t, + }), + this.scrollOffset !== null) + ) { + if ( + ((this.scrollOffset += this.scrollAdjustments), this.scrollOffset < 0) + ) + this.scrollOffset = 0; + this.scrollAdjustments = 0; + } + return !0; + } + } + scheduleScrollReconcile() { + if (!this.targetWindow) { + this.scrollState = null; + return; + } + if (this.rafId != null) return; + this.rafId = this.targetWindow.requestAnimationFrame(() => { + ((this.rafId = null), this.reconcileScroll()); + }); + } + reconcileScroll() { + if (!this.scrollState) return; + if (!this.scrollElement) return; + let t = 5000; + if (this.now() - this.scrollState.startedAt > t) { + this.scrollState = null; + return; + } + let n = + this.scrollState.index != null + ? this.getOffsetForIndex( + this.scrollState.index, + this.scrollState.align, + ) + : void 0, + r = n ? n[0] : this.scrollState.lastTargetOffset, + o = 1, + a = r !== this.scrollState.lastTargetOffset; + if (!a && RDe(r, this.getScrollOffset())) { + if ( + (this.scrollState.stableFrames++, this.scrollState.stableFrames >= o) + ) { + if (this.getScrollOffset() !== r) + this._scrollToOffset(r, { adjustments: void 0, behavior: "auto" }); + this.scrollState = null; + return; + } + } else if (((this.scrollState.stableFrames = 0), a)) { + let i = this.getSize() || 600, + s = Math.abs(r - this.getScrollOffset()), + l = this.scrollState.behavior === "smooth" && s > i; + if (((this.scrollState.lastTargetOffset = r), !l)) + this.scrollState.behavior = "auto"; + this._scrollToOffset(r, { + adjustments: void 0, + behavior: l ? "smooth" : "auto", + }); + } + this.scheduleScrollReconcile(); + } +} +function Y0r(e, t, n) { + let r = 0; + while (r <= t) { + let o = ((r + t) / 2) | 0, + a = e[o * 2]; + if (a < n) r = o + 1; + else if (a > n) t = o - 1; + else return o; + } + return r > 0 ? r - 1 : 0; +} +function K0r(e, t, n, r, o) { + let a = e.length - 1; + if (e.length <= r) return { startIndex: 0, endIndex: a }; + if (r === 1 && o !== null) { + let c = Y0r(o, a, n), + u = c, + d = n + t; + while (u < a && o[u * 2] + o[u * 2 + 1] < d) u++; + return { startIndex: c, endIndex: u }; + } + let s = M$t(0, a, (c) => e[c].start, n), + l = s; + if (r === 1) while (l < a && e[l].end < n + t) l++; + else if (r > 1) { + let c = Array(r).fill(0); + while (l < a && c.some((d) => d < n + t)) { + let d = e[l]; + ((c[d.lane] = d.end), l++); + } + let u = Array(r).fill(n + t); + while (s >= 0 && u.some((d) => d >= n)) { + let d = e[s]; + ((u[d.lane] = d.start), s--); + } + ((s = Math.max(0, s - (s % r))), (l = Math.min(a, l + (r - 1 - (l % r))))); + } + return { startIndex: s, endIndex: l }; +} +var Oq, + PDe = () => { + if (Oq !== void 0) return Oq; + if (typeof navigator > "u") return (Oq = !1); + if (/iP(hone|od|ad)/.test(navigator.userAgent)) return (Oq = !0); + let e = navigator.maxTouchPoints; + return (Oq = navigator.platform === "MacIntel" && e !== void 0 && e > 0); + }, + T$t = (e) => { + let { offsetWidth: t, offsetHeight: n } = e; + return { width: t, height: n }; + }, + V0r = (e) => e, + G0r = (e) => { + let t = Math.max(e.startIndex - e.overscan, 0), + r = Math.min(e.endIndex + e.overscan, e.count - 1) - t + 1, + o = Array(r); + for (let a = 0; a < r; a++) o[a] = t + a; + return o; + }, + k$t = (e, t) => { + let n = e.scrollElement; + if (!n) return; + let r = e.targetWindow; + if (!r) return; + let o = (i) => { + let { width: s, height: l } = i; + t({ width: Math.round(s), height: Math.round(l) }); + }; + if ((o(T$t(n)), !r.ResizeObserver)) return () => {}; + let a = new r.ResizeObserver((i) => { + let s = () => { + let l = i[0]; + if (l == null ? void 0 : l.borderBoxSize) { + let c = l.borderBoxSize[0]; + if (c) { + o({ width: c.inlineSize, height: c.blockSize }); + return; + } + } + o(T$t(n)); + }; + e.options.useAnimationFrameWithResizeObserver + ? requestAnimationFrame(s) + : s(); + }); + return ( + a.observe(n, { box: "border-box" }), + () => { + a.unobserve(n); + } + ); + }, + ude, + q0r, + Z0r = (e, t, n) => { + let r = e.scrollElement; + if (!r) return; + let o = e.targetWindow; + if (!o) return; + let a = e.options.useScrollendEvent && q0r, + i = 0, + s = a ? null : E$t(o, () => t(n(r), !1), e.options.isScrollingResetDelay), + l = (d) => () => { + ((i = n(r)), s == null || s(), t(i, d)); + }, + c = l(!0), + u = l(!1); + if ((r.addEventListener("scroll", c, ude), a)) + r.addEventListener("scrollend", u, ude); + return () => { + if ((r.removeEventListener("scroll", c), a)) + r.removeEventListener("scrollend", u); + s == null || s.cancel(); + }; + }, + R$t = (e, t) => + Z0r(e, t, (n) => { + let { horizontal: r, isRtl: o } = e.options; + return r ? n.scrollLeft * ((o && -1) || 1) : n.scrollTop; + }), + Q0r = (e, t, n) => { + if (n.options.useCachedMeasurements) { + let r = n.indexFromElement(e), + o = n.options.getItemKey(r); + return n.itemSizeCache.get(o) ?? n.options.estimateSize(r); + } + if (t == null ? void 0 : t.borderBoxSize) { + let r = t.borderBoxSize[0]; + if (r) + return Math.round(r[n.options.horizontal ? "inlineSize" : "blockSize"]); + } + if (!t) { + let r = n.indexFromElement(e), + o = n.options.getItemKey(r), + a = n.itemSizeCache.get(o); + if (a !== void 0) return a; + } + return e[n.options.horizontal ? "offsetWidth" : "offsetHeight"]; + }, + X0r = (e, { adjustments: t = 0, behavior: n }, r) => { + var o, a; + (a = (o = r.scrollElement) == null ? void 0 : o.scrollTo) == null || + a.call(o, { + [r.options.horizontal ? "left" : "top"]: e + t, + behavior: n, + }); + }, + P$t, + M$t = (e, t, n, r) => { + while (e <= t) { + let o = ((e + t) / 2) | 0, + a = n(o); + if (a < r) e = o + 1; + else if (a > r) t = o - 1; + else return o; + } + if (e > 0) return e - 1; + else return 0; + }; +var DDe = P(() => { + C$t(); + I$t(); + ((ude = { passive: !0 }), + (q0r = typeof window > "u" ? !0 : "onscrollend" in window), + (P$t = X0r)); +}); +function J0r({ + useFlushSync: e = !0, + directDomUpdates: t = !1, + directDomUpdatesMode: n = "transform", + ...r +}) { + let o = ov.useReducer((d) => d + 1, 0)[1], + a = ov.useRef({ + enabled: t, + mode: n, + container: null, + lastSize: null, + lastPositions: new WeakMap(), + prevRange: null, + }); + ((a.current.enabled = t), (a.current.mode = n)); + let i = ov.useRef(!1), + s = (d) => { + let p = a.current; + if (!p.enabled || !p.container) return; + let f = d.getTotalSize(); + if (f !== p.lastSize) { + p.lastSize = f; + let m = d.options.horizontal ? "width" : "height"; + p.container.style[m] = `${f}px`; + } + }, + l = (d) => { + let p = a.current; + if (!p.enabled || !p.container) return; + s(d); + let f = !!d.options.horizontal, + m = p.mode === "transform", + g = f ? "left" : "top", + v = d.options.scrollMargin, + y = d.getVirtualItems(); + for (let x of y) { + let A = x.start - v, + w = d.elementsCache.get(x.key); + if (!w) continue; + if (p.lastPositions.get(w) === A) continue; + if ((p.lastPositions.set(w, A), m)) + w.style.transform = f + ? `translate3d(${A}px, 0, 0)` + : `translate3d(0, ${A}px, 0)`; + else w.style[g] = `${A}px`; + } + }, + c = { + ...r, + onChange: (d, p) => { + var f; + let m = a.current, + g = !0; + if (m.enabled) { + l(d); + let v = d.range, + y = m.prevRange; + if ( + ((g = + !y || + y.isScrolling !== d.isScrolling || + y.startIndex !== (v == null ? void 0 : v.startIndex) || + y.endIndex !== (v == null ? void 0 : v.endIndex)), + g) + ) + m.prevRange = v + ? { + startIndex: v.startIndex, + endIndex: v.endIndex, + isScrolling: d.isScrolling, + } + : null; + } + if (g) + if (e && p && !i.current) Ec(o); + else o(); + (f = r.onChange) == null || f.call(r, d, p); + }, + }, + [u] = ov.useState(() => { + let d = new MDe(c), + p = d.measureElement; + return ( + (d.measureElement = (f) => { + i.current = !0; + try { + p(f); + } finally { + i.current = !1; + } + }), + Object.assign(d, { + containerRef: (f) => { + let m = a.current; + if (((m.container = f), (m.lastSize = null), f && m.enabled)) { + let g = d.getTotalSize(); + m.lastSize = g; + let v = d.options.horizontal ? "width" : "height"; + f.style[v] = `${g}px`; + } + }, + }) + ); + }); + return ( + u.setOptions(c), + LDe(() => u._didMount(), []), + LDe(() => (s(u), u._willUpdate())), + LDe(() => { + l(u); + }), + u + ); +} +function Sm(e) { + return J0r({ + observeElementRect: k$t, + observeElementOffset: R$t, + scrollToFn: P$t, + ...e, + }); +} +var ov, LDe; +var aw = P(() => { + bd(); + DDe(); + ov = z(re(), 1); + DDe(); + LDe = typeof document < "u" ? ov.useLayoutEffect : ov.useEffect; +}); +function BDe({ + file: e, + editable: t = !1, + selected: n = !1, + onRename: r, + className: o, +}) { + let [a, i] = gT.useState(!1), + [s, l] = gT.useState(e.name), + c = gT.useRef(null), + u = () => { + if ((i(!1), s !== e.name && r)) r(s); + }, + d = (f) => { + if (f.key === "Enter") (f.preventDefault(), u()); + if (f.key === "Escape") (l(e.name), i(!1)); + }, + p = () => { + if (!c.current) return; + let f = e.name.lastIndexOf("."), + m = document.createRange(), + g = c.current.childNodes[0]; + if (g) { + (m.setStart(g, 0), m.setEnd(g, f > 0 ? f : e.name.length)); + let v = window.getSelection(); + (v?.removeAllRanges(), v?.addRange(m)); + } + }; + return ( + gT.useEffect(() => { + if (a) (c.current?.focus(), p()); + }, [a]), + M("div", { + ref: c, + contentEditable: a, + suppressContentEditableWarning: !0, + onBlur: u, + onKeyDown: d, + className: pt( + "cursor-default overflow-hidden rounded-small px-1.5 py-px text-body-small text-on-surface outline-none", + a && "bg-surface ring-2 ring-primary", + !a && "truncate", + o, + ), + children: [e.name, e.extension && `.${e.extension}`], + }) + ); +} +var gT; +var ODe = P(() => { + rn(); + le(); + gT = z(re(), 1); +}); +function FDe({ file: e, show: t = ["size"], className: n }) { + return M("div", { + className: pt("flex gap-2 text-body-small text-on-surface-variant", n), + children: [ + t.includes("size") && e.size > 0 && h("span", { children: Ls(e.size) }), + t.includes("modified") && h("span", { children: nie(e.modified_at) }), + t.includes("kind") && h("span", { children: e.extension || "Folder" }), + ], + }); +} +var UDe = P(() => { + rn(); + hy(); + le(); +}); +function j0r({ + file: e, + selected: t, + onClick: n, + onDoubleClick: r, + onContextMenu: o, + onMouseDown: a, + onMouseMove: i, + onMouseUp: s, + onMouseLeave: l, + layout: c = "column", + children: u, + className: d, + "data-file-id": p, +}) { + return h("div", { + "data-file-id": p, + onClick: n, + onDoubleClick: r, + onContextMenu: o, + onMouseDown: a, + onMouseMove: i, + onMouseUp: s, + onMouseLeave: l, + tabIndex: -1, + className: pt( + "cursor-default transition-colors outline-none focus:outline-none", + c === "column" ? "flex flex-col" : "flex flex-row items-center", + d, + ), + children: u, + }); +} +var ba; +var NDe = P(() => { + rn(); + yM(); + ODe(); + UDe(); + le(); + ba = Object.assign(j0r, { Thumb: P3, Title: BDe, Metadata: FDe }); +}); +function zDe({ files: e, size: t = 64 }) { + let n = e.slice(0, 3), + r = Math.max(0, e.length - 3), + o = [-4, 0, 4]; + return M("div", { + className: "relative", + style: { width: t, height: t }, + children: [ + n.map((a, i) => + h( + "div", + { + className: "absolute inset-0 transition-transform", + style: { + transform: `rotate(${o[i]}deg) translateY(${i * -2}px)`, + zIndex: i, + }, + children: h(ba.Thumb, { file: a, size: t }), + }, + a.id, + ), + ), + r > 0 && + M("div", { + className: + "absolute -bottom-1 -right-1 size-6 rounded-full bg-primary text-on-primary text-label-small flex items-center justify-center shadow-md3-3 border-2 border-surface z-10", + children: ["+", r], + }), + ], + }); +} +var D$t = P(() => { + NDe(); + le(); +}); +var w0 = P(() => { + NDe(); + D$t(); + yM(); + ODe(); + UDe(); +}); +function ft(e, t) { + ((this.x = e), (this.y = t)); +} +function nbr(e, t, n, r) { + let o = 3 * e, + a = 3 * (n - e) - o, + i = 1 - o - a, + s = 3 * t, + l = 3 * (r - t) - s, + c = 1 - s - l; + return function (u, d = 0.000001) { + if (u <= 0) return 0; + if (u >= 1) return 1; + let p = u; + for (let g = 0; g < 8; g++) { + let v = ((i * p + a) * p + o) * p - u; + if (Math.abs(v) < d) return ((c * p + l) * p + s) * p; + let y = (3 * i * p + 2 * a) * p + o; + if (Math.abs(y) < 0.000001) break; + p -= v / y; + } + let f = 0, + m = 1; + p = u; + for (let g = 0; g < 20; g++) { + let v = ((i * p + a) * p + o) * p; + if (Math.abs(v - u) < d) break; + (u > v ? (f = p) : (m = p), (p = (f + m) * 0.5)); + } + return ((c * p + l) * p + s) * p; + }; +} +function dfe() { + return ( + (yon ??= + typeof OffscreenCanvas < "u" && + !!new OffscreenCanvas(1, 1).getContext("2d") && + typeof createImageBitmap == "function"), + yon + ); +} +function cUe() { + if (Rpe == null && ((Rpe = !1), dfe())) { + let e = new OffscreenCanvas(5, 5).getContext("2d", { + willReadFrequently: !0, + }); + if (e) { + for (let n = 0; n < 25; n++) { + let r = n * 4; + ((e.fillStyle = `rgb(${r},${r + 1},${r + 2})`), + e.fillRect(n % 5, Math.floor(n / 5), 1, 1)); + } + let t = e.getImageData(0, 0, 5, 5).data; + for (let n = 0; n < 100; n++) + if (n % 4 != 3 && t[n] !== n) { + Rpe = !0; + break; + } + } + } + return Rpe || !1; +} +function uUe() { + var e = new Fd(9); + return ( + Fd != Float32Array && + ((e[1] = 0), (e[2] = 0), (e[3] = 0), (e[5] = 0), (e[6] = 0), (e[7] = 0)), + (e[0] = 1), + (e[4] = 1), + (e[8] = 1), + e + ); +} +function rbr(e) { + var t = e[0], + n = e[1], + r = e[2], + o = e[3], + a = e[4], + i = e[5], + s = e[6], + l = e[7], + c = e[8]; + return t * (c * a - i * l) + n * (-c * o + i * s) + r * (l * o - a * s); +} +function Yan(e, t) { + var n = Math.sin(t), + r = Math.cos(t); + return ( + (e[0] = r), + (e[1] = n), + (e[2] = 0), + (e[3] = -n), + (e[4] = r), + (e[5] = 0), + (e[6] = 0), + (e[7] = 0), + (e[8] = 1), + e + ); +} +function obr(e, t) { + var n = t[0], + r = t[1], + o = t[2], + a = t[3], + i = n + n, + s = r + r, + l = o + o, + c = n * i, + u = r * i, + d = r * s, + p = o * i, + f = o * s, + m = o * l, + g = a * i, + v = a * s, + y = a * l; + return ( + (e[0] = 1 - d - m), + (e[3] = u - y), + (e[6] = p + v), + (e[1] = u + y), + (e[4] = 1 - c - m), + (e[7] = f - g), + (e[2] = p - v), + (e[5] = f + g), + (e[8] = 1 - c - d), + e + ); +} +function kw() { + var e = new Fd(16); + return ( + Fd != Float32Array && + ((e[1] = 0), + (e[2] = 0), + (e[3] = 0), + (e[4] = 0), + (e[6] = 0), + (e[7] = 0), + (e[8] = 0), + (e[9] = 0), + (e[11] = 0), + (e[12] = 0), + (e[13] = 0), + (e[14] = 0)), + (e[0] = 1), + (e[5] = 1), + (e[10] = 1), + (e[15] = 1), + e + ); +} +function pfe(e) { + var t = new Fd(16); + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); +} +function Kan(e, t) { + return ( + (e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + (e[4] = t[4]), + (e[5] = t[5]), + (e[6] = t[6]), + (e[7] = t[7]), + (e[8] = t[8]), + (e[9] = t[9]), + (e[10] = t[10]), + (e[11] = t[11]), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15]), + e + ); +} +function Oy(e) { + return ( + (e[0] = 1), + (e[1] = 0), + (e[2] = 0), + (e[3] = 0), + (e[4] = 0), + (e[5] = 1), + (e[6] = 0), + (e[7] = 0), + (e[8] = 0), + (e[9] = 0), + (e[10] = 1), + (e[11] = 0), + (e[12] = 0), + (e[13] = 0), + (e[14] = 0), + (e[15] = 1), + e + ); +} +function sQ(e, t) { + var n = t[0], + r = t[1], + o = t[2], + a = t[3], + i = t[4], + s = t[5], + l = t[6], + c = t[7], + u = t[8], + d = t[9], + p = t[10], + f = t[11], + m = t[12], + g = t[13], + v = t[14], + y = t[15], + x = n * s - r * i, + A = n * l - o * i, + w = n * c - a * i, + C = r * l - o * s, + E = r * c - a * s, + T = o * c - a * l, + I = u * g - d * m, + k = u * v - p * m, + L = u * y - f * m, + O = d * v - p * g, + B = d * y - f * g, + U = p * y - f * v, + D = x * U - A * B + w * O + C * L - E * k + T * I; + return D + ? ((D = 1 / D), + (e[0] = (s * U - l * B + c * O) * D), + (e[1] = (o * B - r * U - a * O) * D), + (e[2] = (g * T - v * E + y * C) * D), + (e[3] = (p * E - d * T - f * C) * D), + (e[4] = (l * L - i * U - c * k) * D), + (e[5] = (n * U - o * L + a * k) * D), + (e[6] = (v * w - m * T - y * A) * D), + (e[7] = (u * T - p * w + f * A) * D), + (e[8] = (i * B - s * L + c * I) * D), + (e[9] = (r * L - n * B - a * I) * D), + (e[10] = (m * E - g * w + y * x) * D), + (e[11] = (d * w - u * E - f * x) * D), + (e[12] = (s * k - i * O - l * I) * D), + (e[13] = (n * O - r * k + o * I) * D), + (e[14] = (g * A - m * C - v * x) * D), + (e[15] = (u * C - d * A + p * x) * D), + e) + : null; +} +function QT(e, t, n) { + var r = t[0], + o = t[1], + a = t[2], + i = t[3], + s = t[4], + l = t[5], + c = t[6], + u = t[7], + d = t[8], + p = t[9], + f = t[10], + m = t[11], + g = t[12], + v = t[13], + y = t[14], + x = t[15], + A = n[0], + w = n[1], + C = n[2], + E = n[3]; + return ( + (e[0] = A * r + w * s + C * d + E * g), + (e[1] = A * o + w * l + C * p + E * v), + (e[2] = A * a + w * c + C * f + E * y), + (e[3] = A * i + w * u + C * m + E * x), + (A = n[4]), + (w = n[5]), + (C = n[6]), + (E = n[7]), + (e[4] = A * r + w * s + C * d + E * g), + (e[5] = A * o + w * l + C * p + E * v), + (e[6] = A * a + w * c + C * f + E * y), + (e[7] = A * i + w * u + C * m + E * x), + (A = n[8]), + (w = n[9]), + (C = n[10]), + (E = n[11]), + (e[8] = A * r + w * s + C * d + E * g), + (e[9] = A * o + w * l + C * p + E * v), + (e[10] = A * a + w * c + C * f + E * y), + (e[11] = A * i + w * u + C * m + E * x), + (A = n[12]), + (w = n[13]), + (C = n[14]), + (E = n[15]), + (e[12] = A * r + w * s + C * d + E * g), + (e[13] = A * o + w * l + C * p + E * v), + (e[14] = A * a + w * c + C * f + E * y), + (e[15] = A * i + w * u + C * m + E * x), + e + ); +} +function vc(e, t, n) { + var r = n[0], + o = n[1], + a = n[2], + i, + s, + l, + c, + u, + d, + p, + f, + m, + g, + v, + y; + return ( + t === e + ? ((e[12] = t[0] * r + t[4] * o + t[8] * a + t[12]), + (e[13] = t[1] * r + t[5] * o + t[9] * a + t[13]), + (e[14] = t[2] * r + t[6] * o + t[10] * a + t[14]), + (e[15] = t[3] * r + t[7] * o + t[11] * a + t[15])) + : ((i = t[0]), + (s = t[1]), + (l = t[2]), + (c = t[3]), + (u = t[4]), + (d = t[5]), + (p = t[6]), + (f = t[7]), + (m = t[8]), + (g = t[9]), + (v = t[10]), + (y = t[11]), + (e[0] = i), + (e[1] = s), + (e[2] = l), + (e[3] = c), + (e[4] = u), + (e[5] = d), + (e[6] = p), + (e[7] = f), + (e[8] = m), + (e[9] = g), + (e[10] = v), + (e[11] = y), + (e[12] = i * r + u * o + m * a + t[12]), + (e[13] = s * r + d * o + g * a + t[13]), + (e[14] = l * r + p * o + v * a + t[14]), + (e[15] = c * r + f * o + y * a + t[15])), + e + ); +} +function Gp(e, t, n) { + var r = n[0], + o = n[1], + a = n[2]; + return ( + (e[0] = t[0] * r), + (e[1] = t[1] * r), + (e[2] = t[2] * r), + (e[3] = t[3] * r), + (e[4] = t[4] * o), + (e[5] = t[5] * o), + (e[6] = t[6] * o), + (e[7] = t[7] * o), + (e[8] = t[8] * a), + (e[9] = t[9] * a), + (e[10] = t[10] * a), + (e[11] = t[11] * a), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15]), + e + ); +} +function XT(e, t, n) { + var r = Math.sin(n), + o = Math.cos(n), + a = t[4], + i = t[5], + s = t[6], + l = t[7], + c = t[8], + u = t[9], + d = t[10], + p = t[11]; + return ( + t !== e && + ((e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15])), + (e[4] = a * o + c * r), + (e[5] = i * o + u * r), + (e[6] = s * o + d * r), + (e[7] = l * o + p * r), + (e[8] = c * o - a * r), + (e[9] = u * o - i * r), + (e[10] = d * o - s * r), + (e[11] = p * o - l * r), + e + ); +} +function dUe(e, t, n) { + var r = Math.sin(n), + o = Math.cos(n), + a = t[0], + i = t[1], + s = t[2], + l = t[3], + c = t[8], + u = t[9], + d = t[10], + p = t[11]; + return ( + t !== e && + ((e[4] = t[4]), + (e[5] = t[5]), + (e[6] = t[6]), + (e[7] = t[7]), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15])), + (e[0] = a * o - c * r), + (e[1] = i * o - u * r), + (e[2] = s * o - d * r), + (e[3] = l * o - p * r), + (e[8] = a * r + c * o), + (e[9] = i * r + u * o), + (e[10] = s * r + d * o), + (e[11] = l * r + p * o), + e + ); +} +function Rw(e, t, n) { + var r = Math.sin(n), + o = Math.cos(n), + a = t[0], + i = t[1], + s = t[2], + l = t[3], + c = t[4], + u = t[5], + d = t[6], + p = t[7]; + return ( + t !== e && + ((e[8] = t[8]), + (e[9] = t[9]), + (e[10] = t[10]), + (e[11] = t[11]), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15])), + (e[0] = a * o + c * r), + (e[1] = i * o + u * r), + (e[2] = s * o + d * r), + (e[3] = l * o + p * r), + (e[4] = c * o - a * r), + (e[5] = u * o - i * r), + (e[6] = d * o - s * r), + (e[7] = p * o - l * r), + e + ); +} +function Jan(e, t) { + return ( + (e[0] = t[0]), + (e[1] = 0), + (e[2] = 0), + (e[3] = 0), + (e[4] = 0), + (e[5] = t[1]), + (e[6] = 0), + (e[7] = 0), + (e[8] = 0), + (e[9] = 0), + (e[10] = t[2]), + (e[11] = 0), + (e[12] = 0), + (e[13] = 0), + (e[14] = 0), + (e[15] = 1), + e + ); +} +function abr(e, t, n, r, o) { + var a = 1 / Math.tan(t / 2); + if ( + ((e[0] = a / n), + (e[1] = 0), + (e[2] = 0), + (e[3] = 0), + (e[4] = 0), + (e[5] = a), + (e[6] = 0), + (e[7] = 0), + (e[8] = 0), + (e[9] = 0), + (e[11] = -1), + (e[12] = 0), + (e[13] = 0), + (e[15] = 0), + o != null && o !== 1 / 0) + ) { + var i = 1 / (r - o); + ((e[10] = (o + r) * i), (e[14] = 2 * o * r * i)); + } else ((e[10] = -1), (e[14] = -2 * r)); + return e; +} +function ibr(e, t, n, r, o, a, i) { + var s = 1 / (t - n), + l = 1 / (r - o), + c = 1 / (a - i); + return ( + (e[0] = -2 * s), + (e[1] = 0), + (e[2] = 0), + (e[3] = 0), + (e[4] = 0), + (e[5] = -2 * l), + (e[6] = 0), + (e[7] = 0), + (e[8] = 0), + (e[9] = 0), + (e[10] = 2 * c), + (e[11] = 0), + (e[12] = (t + n) * s), + (e[13] = (o + r) * l), + (e[14] = (i + a) * c), + (e[15] = 1), + e + ); +} +function jan(e, t) { + return ( + e[0] === t[0] && + e[1] === t[1] && + e[2] === t[2] && + e[3] === t[3] && + e[4] === t[4] && + e[5] === t[5] && + e[6] === t[6] && + e[7] === t[7] && + e[8] === t[8] && + e[9] === t[9] && + e[10] === t[10] && + e[11] === t[11] && + e[12] === t[12] && + e[13] === t[13] && + e[14] === t[14] && + e[15] === t[15] + ); +} +function $an(e, t) { + var n = e[0], + r = e[1], + o = e[2], + a = e[3], + i = e[4], + s = e[5], + l = e[6], + c = e[7], + u = e[8], + d = e[9], + p = e[10], + f = e[11], + m = e[12], + g = e[13], + v = e[14], + y = e[15], + x = t[0], + A = t[1], + w = t[2], + C = t[3], + E = t[4], + T = t[5], + I = t[6], + k = t[7], + L = t[8], + O = t[9], + B = t[10], + U = t[11], + D = t[12], + N = t[13], + _ = t[14], + G = t[15]; + return ( + Math.abs(n - x) <= 0.000001 * Math.max(1, Math.abs(n), Math.abs(x)) && + Math.abs(r - A) <= 0.000001 * Math.max(1, Math.abs(r), Math.abs(A)) && + Math.abs(o - w) <= 0.000001 * Math.max(1, Math.abs(o), Math.abs(w)) && + Math.abs(a - C) <= 0.000001 * Math.max(1, Math.abs(a), Math.abs(C)) && + Math.abs(i - E) <= 0.000001 * Math.max(1, Math.abs(i), Math.abs(E)) && + Math.abs(s - T) <= 0.000001 * Math.max(1, Math.abs(s), Math.abs(T)) && + Math.abs(l - I) <= 0.000001 * Math.max(1, Math.abs(l), Math.abs(I)) && + Math.abs(c - k) <= 0.000001 * Math.max(1, Math.abs(c), Math.abs(k)) && + Math.abs(u - L) <= 0.000001 * Math.max(1, Math.abs(u), Math.abs(L)) && + Math.abs(d - O) <= 0.000001 * Math.max(1, Math.abs(d), Math.abs(O)) && + Math.abs(p - B) <= 0.000001 * Math.max(1, Math.abs(p), Math.abs(B)) && + Math.abs(f - U) <= 0.000001 * Math.max(1, Math.abs(f), Math.abs(U)) && + Math.abs(m - D) <= 0.000001 * Math.max(1, Math.abs(m), Math.abs(D)) && + Math.abs(g - N) <= 0.000001 * Math.max(1, Math.abs(g), Math.abs(N)) && + Math.abs(v - _) <= 0.000001 * Math.max(1, Math.abs(v), Math.abs(_)) && + Math.abs(y - G) <= 0.000001 * Math.max(1, Math.abs(y), Math.abs(G)) + ); +} +function ein() { + var e = new Fd(3); + return (Fd != Float32Array && ((e[0] = 0), (e[1] = 0), (e[2] = 0)), e); +} +function mfe(e) { + var t = new Fd(3); + return ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t); +} +function Fy(e) { + var t = e[0], + n = e[1], + r = e[2]; + return Math.sqrt(t * t + n * n + r * r); +} +function von(e, t, n) { + var r = new Fd(3); + return ((r[0] = e), (r[1] = t), (r[2] = n), r); +} +function Kg(e, t, n) { + return ((e[0] = t[0] + n[0]), (e[1] = t[1] + n[1]), (e[2] = t[2] + n[2]), e); +} +function hfe(e, t, n) { + return ((e[0] = t[0] - n[0]), (e[1] = t[1] - n[1]), (e[2] = t[2] - n[2]), e); +} +function Ss(e, t, n) { + return ((e[0] = t[0] * n), (e[1] = t[1] * n), (e[2] = t[2] * n), e); +} +function lQ(e, t, n, r) { + return ( + (e[0] = t[0] + n[0] * r), + (e[1] = t[1] + n[1] * r), + (e[2] = t[2] + n[2] * r), + e + ); +} +function tin(e, t) { + var n = t[0] - e[0], + r = t[1] - e[1], + o = t[2] - e[2]; + return Math.sqrt(n * n + r * r + o * o); +} +function nin(e, t) { + return ((e[0] = -t[0]), (e[1] = -t[1]), (e[2] = -t[2]), e); +} +function Tm(e, t) { + var n = t[0], + r = t[1], + o = t[2], + a = n * n + r * r + o * o; + return ( + a > 0 && (a = 1 / Math.sqrt(a)), + (e[0] = t[0] * a), + (e[1] = t[1] * a), + (e[2] = t[2] * a), + e + ); +} +function bc(e, t) { + return e[0] * t[0] + e[1] * t[1] + e[2] * t[2]; +} +function wh(e, t, n) { + var r = t[0], + o = t[1], + a = t[2], + i = n[0], + s = n[1], + l = n[2]; + return ( + (e[0] = o * l - a * s), + (e[1] = a * i - r * l), + (e[2] = r * s - o * i), + e + ); +} +function rin(e, t, n) { + var r = t[0], + o = t[1], + a = t[2], + i = n[3] * r + n[7] * o + n[11] * a + n[15]; + return ( + (i ||= 1), + (e[0] = (n[0] * r + n[4] * o + n[8] * a + n[12]) / i), + (e[1] = (n[1] * r + n[5] * o + n[9] * a + n[13]) / i), + (e[2] = (n[2] * r + n[6] * o + n[10] * a + n[14]) / i), + e + ); +} +function oin(e, t, n) { + var r = t[0], + o = t[1], + a = t[2]; + return ( + (e[0] = r * n[0] + o * n[3] + a * n[6]), + (e[1] = r * n[1] + o * n[4] + a * n[7]), + (e[2] = r * n[2] + o * n[5] + a * n[8]), + e + ); +} +function gfe(e, t, n) { + var r = n[0], + o = n[1], + a = n[2], + i = n[3], + s = t[0], + l = t[1], + c = t[2], + u = o * c - a * l, + d = a * s - r * c, + p = r * l - o * s; + return ( + (u += u), + (d += d), + (p += p), + (e[0] = s + i * u + o * p - a * d), + (e[1] = l + i * d + a * u - r * p), + (e[2] = c + i * p + r * d - o * u), + e + ); +} +function GL(e, t, n, r) { + var o = [], + a = []; + return ( + (o[0] = t[0] - n[0]), + (o[1] = t[1] - n[1]), + (o[2] = t[2] - n[2]), + (a[0] = o[0]), + (a[1] = o[1] * Math.cos(r) - o[2] * Math.sin(r)), + (a[2] = o[1] * Math.sin(r) + o[2] * Math.cos(r)), + (e[0] = a[0] + n[0]), + (e[1] = a[1] + n[1]), + (e[2] = a[2] + n[2]), + e + ); +} +function WT(e, t, n, r) { + var o = [], + a = []; + return ( + (o[0] = t[0] - n[0]), + (o[1] = t[1] - n[1]), + (o[2] = t[2] - n[2]), + (a[0] = o[2] * Math.sin(r) + o[0] * Math.cos(r)), + (a[1] = o[1]), + (a[2] = o[2] * Math.cos(r) - o[0] * Math.sin(r)), + (e[0] = a[0] + n[0]), + (e[1] = a[1] + n[1]), + (e[2] = a[2] + n[2]), + e + ); +} +function yfe(e, t, n, r) { + var o = [], + a = []; + return ( + (o[0] = t[0] - n[0]), + (o[1] = t[1] - n[1]), + (o[2] = t[2] - n[2]), + (a[0] = o[0] * Math.cos(r) - o[1] * Math.sin(r)), + (a[1] = o[0] * Math.sin(r) + o[1] * Math.cos(r)), + (a[2] = o[2]), + (e[0] = a[0] + n[0]), + (e[1] = a[1] + n[1]), + (e[2] = a[2] + n[2]), + e + ); +} +function ain(e) { + return ((e[0] = 0), (e[1] = 0), (e[2] = 0), e); +} +function sbr() { + var e = new Fd(4); + return ( + Fd != Float32Array && ((e[0] = 0), (e[1] = 0), (e[2] = 0), (e[3] = 0)), + e + ); +} +function lbr(e, t, n, r) { + var o = new Fd(4); + return ((o[0] = e), (o[1] = t), (o[2] = n), (o[3] = r), o); +} +function cbr(e, t, n) { + return ( + (e[0] = t[0] * n[0]), + (e[1] = t[1] * n[1]), + (e[2] = t[2] * n[2]), + (e[3] = t[3] * n[3]), + e + ); +} +function iin(e, t, n) { + return ( + (e[0] = t[0] * n), + (e[1] = t[1] * n), + (e[2] = t[2] * n), + (e[3] = t[3] * n), + e + ); +} +function ubr(e, t) { + var n = t[0], + r = t[1], + o = t[2], + a = t[3], + i = n * n + r * r + o * o + a * a; + return ( + i > 0 && (i = 1 / Math.sqrt(i)), + (e[0] = n * i), + (e[1] = r * i), + (e[2] = o * i), + (e[3] = a * i), + e + ); +} +function qp(e, t, n) { + var r = t[0], + o = t[1], + a = t[2], + i = t[3]; + return ( + (e[0] = n[0] * r + n[4] * o + n[8] * a + n[12] * i), + (e[1] = n[1] * r + n[5] * o + n[9] * a + n[13] * i), + (e[2] = n[2] * r + n[6] * o + n[10] * a + n[14] * i), + (e[3] = n[3] * r + n[7] * o + n[11] * a + n[15] * i), + e + ); +} +function bon() { + var e = new Fd(4); + return ( + Fd != Float32Array && ((e[0] = 0), (e[1] = 0), (e[2] = 0)), + (e[3] = 1), + e + ); +} +function dbr(e, t, n) { + n *= 0.5; + var r = Math.sin(n); + return ( + (e[0] = r * t[0]), + (e[1] = r * t[1]), + (e[2] = r * t[2]), + (e[3] = Math.cos(n)), + e + ); +} +function lin(e, t, n) { + var r = t[0], + o = t[1], + a = t[2], + i = t[3], + s = n[0], + l = n[1], + c = n[2], + u = n[3]; + return ( + (e[0] = r * u + i * s + o * c - a * l), + (e[1] = o * u + i * l + a * s - r * c), + (e[2] = a * u + i * c + r * l - o * s), + (e[3] = i * u - r * s - o * l - a * c), + e + ); +} +function FZ(e, t, n, r) { + var o = t[0], + a = t[1], + i = t[2], + s = t[3], + l = n[0], + c = n[1], + u = n[2], + d = n[3], + p, + f = o * l + a * c + i * u + s * d, + m, + g, + v; + return ( + f < 0 && ((f = -f), (l = -l), (c = -c), (u = -u), (d = -d)), + 1 - f > 0.000001 + ? ((p = Math.acos(f)), + (m = Math.sin(p)), + (g = Math.sin((1 - r) * p) / m), + (v = Math.sin(r * p) / m)) + : ((g = 1 - r), (v = r)), + (e[0] = g * o + v * l), + (e[1] = g * a + v * c), + (e[2] = g * i + v * u), + (e[3] = g * s + v * d), + e + ); +} +function pbr(e, t) { + var n = t[0] + t[4] + t[8], + r; + if (n > 0) + ((r = Math.sqrt(n + 1)), + (e[3] = 0.5 * r), + (r = 0.5 / r), + (e[0] = (t[5] - t[7]) * r), + (e[1] = (t[6] - t[2]) * r), + (e[2] = (t[1] - t[3]) * r)); + else { + var o = 0; + (t[4] > t[0] && (o = 1), t[8] > t[o * 3 + o] && (o = 2)); + var a = (o + 1) % 3, + i = (o + 2) % 3; + ((r = Math.sqrt(t[o * 3 + o] - t[a * 3 + a] - t[i * 3 + i] + 1)), + (e[o] = 0.5 * r), + (r = 0.5 / r), + (e[3] = (t[a * 3 + i] - t[i * 3 + a]) * r), + (e[a] = (t[a * 3 + o] + t[o * 3 + a]) * r), + (e[i] = (t[i * 3 + o] + t[o * 3 + i]) * r)); + } + return e; +} +function vfe(e, t, n, r) { + var o = + arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "zyx", + a = Math.PI / 360; + ((t *= a), (r *= a), (n *= a)); + var i = Math.sin(t), + s = Math.cos(t), + l = Math.sin(n), + c = Math.cos(n), + u = Math.sin(r), + d = Math.cos(r); + switch (o) { + case "xyz": + ((e[0] = i * c * d + s * l * u), + (e[1] = s * l * d - i * c * u), + (e[2] = s * c * u + i * l * d), + (e[3] = s * c * d - i * l * u)); + break; + case "xzy": + ((e[0] = i * c * d - s * l * u), + (e[1] = s * l * d - i * c * u), + (e[2] = s * c * u + i * l * d), + (e[3] = s * c * d + i * l * u)); + break; + case "yxz": + ((e[0] = i * c * d + s * l * u), + (e[1] = s * l * d - i * c * u), + (e[2] = s * c * u - i * l * d), + (e[3] = s * c * d + i * l * u)); + break; + case "yzx": + ((e[0] = i * c * d + s * l * u), + (e[1] = s * l * d + i * c * u), + (e[2] = s * c * u - i * l * d), + (e[3] = s * c * d - i * l * u)); + break; + case "zxy": + ((e[0] = i * c * d - s * l * u), + (e[1] = s * l * d + i * c * u), + (e[2] = s * c * u + i * l * d), + (e[3] = s * c * d - i * l * u)); + break; + case "zyx": + ((e[0] = i * c * d - s * l * u), + (e[1] = s * l * d + i * c * u), + (e[2] = s * c * u - i * l * d), + (e[3] = s * c * d + i * l * u)); + break; + default: + throw Error("Unknown angle order " + o); + } + return e; +} +function bfe() { + var e = new Fd(2); + return (Fd != Float32Array && ((e[0] = 0), (e[1] = 0)), e); +} +function Aon(e, t) { + var n = new Fd(2); + return ((n[0] = e), (n[1] = t), n); +} +function fUe(e, t, n) { + return ((e[0] = t[0] * n), (e[1] = t[1] * n), e); +} +function mUe(e) { + var t = e[0], + n = e[1]; + return Math.sqrt(t * t + n * n); +} +function fbr(e) { + var t = e[0], + n = e[1]; + return t * t + n * n; +} +function mbr(e, t) { + return e[0] * t[0] + e[1] * t[1]; +} +function hUe(e) { + return ((e[0] = 0), (e[1] = 0), e); +} +function k0(e, t, n) { + return t * (Ut / (e.tileSize * 2 ** (n - e.tileID.overscaledZ))); +} +function Vp(e) { + return e instanceof Error ? e : Error(typeof e == "string" ? e : String(e)); +} +function WC() { + return new Float64Array(4); +} +function Wa() { + return new Float64Array(3); +} +function YC() { + return new Float64Array(16); +} +function uQ() { + let e = new Float64Array(16); + return (Oy(e), e); +} +function gUe() { + let e = new Float32Array(16); + return (Oy(e), e); +} +function Pw(e, t, n, r, o = !1) { + if (!n[0] && !n[1]) return [0, 0]; + let a = o + ? r === "map" + ? -e.bearingInRadians + : 0 + : r === "viewport" + ? e.bearingInRadians + : 0; + if (a) { + let i = Math.sin(a), + s = Math.cos(a); + n = [n[0] * s - n[1] * i, n[0] * i + n[1] * s]; + } + return [o ? n[0] : k0(t, n[0], e.zoom), o ? n[1] : k0(t, n[1], e.zoom)]; +} +function xfe(e, t) { + return e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3]; +} +function Jg(e, t, n) { + let r = rbr([e[0], e[1], e[2], t[0], t[1], t[2], n[0], n[1], n[2]]); + if (r === 0) return null; + let o = wh([], [t[0], t[1], t[2]], [n[0], n[1], n[2]]), + a = wh([], [n[0], n[1], n[2]], [e[0], e[1], e[2]]), + i = wh([], [e[0], e[1], e[2]], [t[0], t[1], t[2]]), + s = Ss([], o, -e[3]); + return ( + Kg(s, s, Ss([], a, -t[3])), + Kg(s, s, Ss([], i, -n[3])), + Ss(s, s, 1 / r), + s + ); +} +function uin(e, t, n) { + let r = e[0] * n[0] + e[1] * n[1] + e[2] * n[2], + o = t[0] * n[0] + t[1] * n[1] + t[2] * n[2]; + return o === 0 ? null : (-r - n[3]) / o; +} +function dQ(e, t, n, r) { + let o = Math.sqrt(e * e + t * t), + a = Math.sqrt(n * n + r * r); + ((e /= o), (t /= o), (n /= a), (r /= a)); + let i = e * n + t * r, + s = Math.acos(i); + return -t * n + e * r > 0 ? s : -s; +} +function R0(e, t) { + let n = QC(e, 360), + r = QC(t, 360), + o = r - n, + a = r > n ? o - 360 : o + 360; + return Math.abs(o) < Math.abs(a) ? o : a; +} +function pQ(e, t) { + let n = QC(e, Math.PI * 2), + r = QC(t, Math.PI * 2); + return Math.min( + Math.abs(n - r), + Math.abs(n - r + Math.PI * 2), + Math.abs(n - r - Math.PI * 2), + ); +} +function QC(e, t) { + return ((e % t) + t) % t; +} +function fQ(e, t, n, r, o) { + return YT(r, o, qr((e - t) / (n - t), 0, 1)); +} +function YT(e, t, n) { + return e * (1 - n) + t * n; +} +function din(e) { + let t = 1 / 0, + n = 1 / 0, + r = -1 / 0, + o = -1 / 0; + for (let a of e) + ((t = Math.min(t, a.x)), + (n = Math.min(n, a.y)), + (r = Math.max(r, a.x)), + (o = Math.max(o, a.y))); + return [t, n, r, o]; +} +function pin(e) { + if (!e.length) return new Set(); + let t = Math.max(...e.map((l) => l.canonical.z)), + n = 1 / 0, + r = -1 / 0, + o = 1 / 0, + a = -1 / 0, + i = []; + for (let l of e) { + let { x: c, y: u, z: d } = l.canonical, + p = 2 ** (t - d), + f = c * p, + m = u * p; + (i.push({ id: l, x: f, y: m }), + f < n && (n = f), + f > r && (r = f), + m < o && (o = m), + m > a && (a = m)); + } + let s = new Set(); + for (let l of i) + (l.x === n || l.x === r || l.y === o || l.y === a) && s.add(l.id); + return s; +} +function hbr(e) { + if (e <= 0) return 0; + if (e >= 1) return 1; + let t = e * e, + n = t * e; + return 4 * (e < 0.5 ? n : 3 * (e - t) + n - 0.75); +} +function Afe(e, t, n, r) { + return nbr(e, t, n, r); +} +function qr(e, t, n) { + return Math.min(n, Math.max(t, e)); +} +function jg(e, t, n) { + let r = n - t, + o = ((((e - t) % r) + r) % r) + t; + return o === t ? n : o; +} +function rr(e, ...t) { + for (let n of t) for (let r in n) e[r] = n[r]; + return e; +} +function qL(e, t) { + let n = {}; + for (let r of t) r in e && (n[r] = e[r]); + return n; +} +function yUe() { + return gbr++; +} +function ybr(e) { + return (Math.log(e) / Math.LN2) % 1 == 0; +} +function fin(e) { + return e <= 1 ? 1 : 2 ** Math.ceil(Math.log(e) / Math.LN2); +} +function km(e) { + return 2 ** e; +} +function Zp(e) { + return Math.log(e) / Math.LN2; +} +function P0(e, t, n) { + if (t <= 0) return e; + let r = 1 / t; + return n === void 0 || Math.abs(n) < 0.0000000001 + ? Math.round(e * r) / r + : (n > 0 + ? Math.ceil(e * r - 0.000000001) + : Math.floor(e * r + 0.0000000001)) / r; +} +function Sfe(e, t, n) { + let r = {}; + for (let o in e) r[o] = t.call(n || this, e[o], o, e); + return r; +} +function vUe(e, t, n) { + let r = {}; + for (let o in e) t.call(n || this, e[o], o, e) && (r[o] = e[o]); + return r; +} +function hv(e, t) { + if (Array.isArray(e)) { + if (!Array.isArray(t) || e.length !== t.length) return !1; + for (let n = 0; n < e.length; n++) if (!hv(e[n], t[n])) return !1; + return !0; + } + if (typeof e == "object" && e && t !== null) { + if (typeof t != "object" || Object.keys(e).length !== Object.keys(t).length) + return !1; + for (let n in e) if (!hv(e[n], t[n])) return !1; + return !0; + } + return e === t; +} +function Ah(e) { + return Array.isArray(e) + ? e.map(Ah) + : typeof e == "object" && e + ? Sfe(e, Ah) + : e; +} +function Ko(e) { + won[e] || (typeof console < "u" && console.warn(e), (won[e] = !0)); +} +function GC(e, t, n) { + return (n.y - e.y) * (t.x - e.x) > (t.y - e.y) * (n.x - e.x); +} +function min(e, t, n, r) { + let o = t.y - e.y, + a = t.x - e.x, + i = r.y - n.y, + s = r.x - n.x, + l = i * a - s * o; + if (l === 0) return null; + let c = e.y - n.y, + u = e.x - n.x, + d = (s * c - i * u) / l; + return new ft(e.x + d * a, e.y + d * o); +} +function hin([e, t, n]) { + return ( + (t += 90), + (t *= Math.PI / 180), + (n *= Math.PI / 180), + [ + e * Math.cos(t) * Math.sin(n), + e * Math.sin(t) * Math.sin(n), + e * Math.cos(n), + ] + ); +} +function VT(e) { + return ( + typeof WorkerGlobalScope < "u" && + e !== void 0 && + e instanceof WorkerGlobalScope + ); +} +function gin(e) { + let t = + /(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g, + n = {}; + if ( + (e.replace(t, (r, o, a, i) => { + let s = a || i; + return ((n[o] = !s || s.toLowerCase()), ""); + }), + n["max-age"]) + ) { + let r = parseInt(n["max-age"], 10); + isNaN(r) ? delete n["max-age"] : (n["max-age"] = r); + } + return n; +} +function yin(e) { + if (_Oe == null) { + let t = e.navigator ? e.navigator.userAgent : null; + _Oe = + !!e.safari || + !!( + t && + (/\b(iPad|iPhone|iPod)\b/.test(t) || + (t.match("Safari") && !t.match("Chrome"))) + ); + } + return _Oe; +} +function KC(e) { + return typeof ImageBitmap < "u" && e instanceof ImageBitmap; +} +function vbr(e, t, n, r, o) { + let a = Math.max(-t, 0) * 4, + i = (Math.max(0, n) - n) * r * 4 + a, + s = r * 4, + l = Math.max(0, t), + c = Math.max(0, n), + u = Math.min(e.width, t + r), + d = Math.min(e.height, n + o); + return { + rect: { x: l, y: c, width: u - l, height: d - c }, + layout: [{ offset: i, stride: s }], + }; +} +async function xin(e, t, n, r, o) { + if (typeof VideoFrame > "u") throw Error("VideoFrame not supported"); + let a = new VideoFrame(e, { timestamp: 0 }); + try { + let i = a?.format; + if (!i || !(i.startsWith("BGR") || i.startsWith("RGB"))) + throw Error(`Unrecognized format ${i}`); + let s = i.startsWith("BGR"), + l = new Uint8ClampedArray(r * o * 4); + if ((await a.copyTo(l, vbr(e, t, n, r, o)), s)) + for (let c = 0; c < l.length; c += 4) { + let u = l[c]; + ((l[c] = l[c + 2]), (l[c + 2] = u)); + } + return l; + } finally { + a.close(); + } +} +function GZ(e, t, n, r) { + return ( + e.addEventListener(t, n, r), + { + unsubscribe: () => { + e.removeEventListener(t, n, r); + }, + } + ); +} +function _s(e) { + return (e * Math.PI) / 180; +} +function fv(e) { + return (e / Math.PI) * 180; +} +function bUe(e, t) { + return e.roll == t.roll && e.pitch == t.pitch && e.bearing == t.bearing; +} +function Ain(e) { + let t = new Float64Array(9); + obr(t, e); + let n = fv(-Math.asin(qr(t[2], -1, 1))), + r, + o; + return ( + Math.hypot(t[5], t[8]) < 0.001 + ? ((r = 0), (o = -fv(Math.atan2(t[3], t[4])))) + : ((r = fv(t[5] === 0 && t[8] === 0 ? 0 : Math.atan2(t[5], t[8]))), + (o = fv(t[1] === 0 && t[0] === 0 ? 0 : Math.atan2(t[1], t[0])))), + { roll: r, pitch: n + 90, bearing: o } + ); +} +function win(e, t, n) { + let r = Aon(t.x - n.x, t.y - n.y), + o = Aon(e.x - n.x, e.y - n.y), + a = r[0] * o[1] - r[1] * o[0]; + return fv(Math.atan2(a, mbr(r, o))); +} +function xUe(e, t, n) { + let r = new Float64Array(4); + return (vfe(r, e, t - 90, n), r); +} +function Ein(e, t) { + return Sin[t] && "touches" in e; +} +function Iin(e, t) { + if (!Cin[t]) return !1; + let n = e, + r = n?.target?.ownerDocument?.defaultView || window; + return n instanceof r.MouseEvent || n instanceof r.WheelEvent; +} +function Tin(e) { + return Sin[e] || Cin[e]; +} +function Mw(e) { + return e instanceof Error && e.name === "AbortError"; +} +function Cfe(e) { + if (e.aborted) throw new ZL(e.reason); +} +function AUe(e) { + return KT.REGISTERED_PROTOCOLS[e.substring(0, e.indexOf("://"))]; +} +function Efe() { + if (VT(self)) return self.worker?.referrer; + if (window.location.protocol === "blob:") + try { + return window.parent.location.href; + } catch {} + return window.location.href; +} +async function xbr(e, t) { + let n = new Request(e.url, { + method: e.method || "GET", + body: e.body, + credentials: e.credentials, + headers: e.headers, + cache: e.cache, + referrer: Efe(), + referrerPolicy: e.referrerPolicy, + signal: t.signal, + }); + e.type === "json" && + !n.headers.has("Accept") && + n.headers.set("Accept", "application/json"); + let r; + try { + r = await fetch(n); + } catch (i) { + throw Mw(i) ? i : new qZ(0, Vp(i).message, e.url, new Blob()); + } + if (!r.ok) { + let i = await r.blob(); + throw new qZ(r.status, r.statusText, e.url, i); + } + let o; + o = + e.type === "arrayBuffer" || e.type === "image" + ? r.arrayBuffer() + : e.type === "json" + ? r.json() + : r.text(); + let a = await o; + return ( + Cfe(t.signal), + { + data: a, + cacheControl: r.headers.get("Cache-Control"), + expires: r.headers.get("Expires"), + etag: r.headers.get("ETag"), + } + ); +} +function Abr(e, t) { + return new Promise((n, r) => { + let o = new XMLHttpRequest(); + (o.open(e.method || "GET", e.url, !0), + (e.type === "arrayBuffer" || e.type === "image") && + (o.responseType = "arraybuffer")); + for (let a in e.headers) o.setRequestHeader(a, e.headers[a]); + (e.type === "json" && + ((o.responseType = "text"), + e.headers?.Accept || o.setRequestHeader("Accept", "application/json")), + (o.withCredentials = e.credentials === "include"), + (o.onerror = () => { + r(Error(o.statusText)); + }), + (o.onload = () => { + if (!t.signal.aborted) + if ( + ((o.status >= 200 && o.status < 300) || o.status === 0) && + o.response !== null + ) { + let a = o.response; + if (e.type === "json") + try { + a = JSON.parse(o.response); + } catch (i) { + r(i); + return; + } + n({ + data: a, + cacheControl: o.getResponseHeader("Cache-Control"), + expires: o.getResponseHeader("Expires"), + etag: o.getResponseHeader("ETag"), + }); + } else { + let a = new Blob([o.response], { + type: o.getResponseHeader("Content-Type"), + }); + r(new qZ(o.status, o.statusText, e.url, a)); + } + }), + t.signal.addEventListener("abort", () => { + (o.abort(), r(new ZL(t.signal.reason))); + }), + o.send(e.body)); + }); +} +function SUe(e) { + if (!e || e.startsWith("data:image/")) return !0; + if (e.startsWith("blob:") && ((e = e.slice(5)), e.startsWith("null"))) + return !1; + if (e.indexOf("://") <= 0) return !0; + let t = new URL(e), + n = window.location; + return t.protocol === n.protocol && t.host === n.host; +} +function Con(e, t, n) { + n[e]?.includes(t) || ((n[e] ||= []), n[e].push(t)); +} +function HOe(e, t, n) { + if (n?.[e]) { + let r = n[e].indexOf(t); + r !== -1 && n[e].splice(r, 1); + } +} +function Im(e, t) { + return { kind: "array", itemType: e, N: t }; +} +function Al(e) { + if (e.kind === "array") { + let t = Al(e.itemType); + return typeof e.N == "number" + ? `array<${t}, ${e.N}>` + : e.itemType.kind === "value" + ? "array" + : `array<${t}>`; + } + return e.kind; +} +function QZ(e, t) { + if (t.kind === "error") return null; + if (e.kind === "array") { + if ( + t.kind === "array" && + ((t.N === 0 && t.itemType.kind === "value") || + !QZ(e.itemType, t.itemType)) && + (typeof e.N != "number" || e.N === t.N) + ) + return null; + } else if (e.kind === t.kind) return null; + else if (e.kind === "value") { + for (let n of Sbr) if (!QZ(n, t)) return null; + } + return `Expected ${Al(e)} but found ${Al(t)} instead.`; +} +function CUe(e, t) { + return t.some((n) => n.kind === e.kind); +} +function _T(e, t) { + return t.some((n) => + n === "null" + ? e === null + : n === "array" + ? Array.isArray(e) + : n === "object" + ? e && !Array.isArray(e) && typeof e == "object" + : n === typeof e, + ); +} +function NC(e, t) { + return e.kind === "array" && t.kind === "array" + ? e.itemType.kind === t.itemType.kind && typeof e.N == "number" + : e.kind === t.kind; +} +function Oin(e) { + return ((e %= 360), e < 0 && (e += 360), e); +} +function Fin([e, t, n, r]) { + ((e = VOe(e)), (t = VOe(t)), (n = VOe(n))); + let o, + a, + i = GOe((0.2225045 * e + 0.7168786 * t + 0.0606169 * n) / 1); + e === t && t === n + ? (o = a = i) + : ((o = GOe((0.4360747 * e + 0.3850649 * t + 0.1430804 * n) / Min)), + (a = GOe((0.0139322 * e + 0.0971045 * t + 0.7141733 * n) / Din))); + let s = 116 * i - 16; + return [s < 0 ? 0 : s, 500 * (o - i), 200 * (i - a), r]; +} +function VOe(e) { + return e <= 0.04045 ? e / 12.92 : ((e + 0.055) / 1.055) ** 2.4; +} +function GOe(e) { + return e > 0.008856451679035631 ? e ** 0.3333333333333333 : e / Bin + Lin; +} +function Uin([e, t, n, r]) { + let o = (e + 16) / 116, + a = isNaN(t) ? o : o + t / 500, + i = isNaN(n) ? o : o - n / 200; + return ( + (o = 1 * ZOe(o)), + (a = Min * ZOe(a)), + (i = Din * ZOe(i)), + [ + qOe(3.1338561 * a - 1.6168667 * o - 0.4906146 * i), + qOe(-0.9787684 * a + 1.9161415 * o + 0.033454 * i), + qOe(0.0719453 * a - 0.2289914 * o + 1.4052427 * i), + r, + ] + ); +} +function qOe(e) { + return ( + (e = e <= 0.00304 ? 12.92 * e : 1.055 * e ** 0.4166666666666667 - 0.055), + e < 0 ? 0 : e > 1 ? 1 : e + ); +} +function ZOe(e) { + return e > aFe ? e * e * e : Bin * (e - Lin); +} +function Ibr(e) { + let [t, n, r, o] = Fin(e), + a = Math.sqrt(n * n + r * r); + return [Math.round(a * 1e4) ? Oin(Math.atan2(r, n) * Ebr) : NaN, a, t, o]; +} +function Tbr([e, t, n, r]) { + return ( + (e = isNaN(e) ? 0 : e * Cbr), + Uin([n, Math.cos(e) * t, Math.sin(e) * t, r]) + ); +} +function kbr([e, t, n, r]) { + ((e = Oin(e)), (t /= 100), (n /= 100)); + function o(a) { + let i = (a + e / 30) % 12, + s = t * Math.min(n, 1 - n); + return n - s * Math.max(-1, Math.min(i - 3, 9 - i, 1)); + } + return [o(0), o(8), o(4), r]; +} +function UZ(e, t) { + return Rbr(e, t) ? e[t] : void 0; +} +function Pbr(e) { + if (((e = e.toLowerCase().trim()), e === "transparent")) return [0, 0, 0, 0]; + let t = UZ(Mbr, e); + if (t) { + let [r, o, a] = t; + return [r / 255, o / 255, a / 255, 1]; + } + if ( + e.startsWith("#") && + /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e) + ) { + let r = e.length < 6 ? 1 : 2, + o = 1; + return [ + Ppe(e.slice(o, (o += r))), + Ppe(e.slice(o, (o += r))), + Ppe(e.slice(o, (o += r))), + Ppe(e.slice(o, o + r) || "ff"), + ]; + } + if (e.startsWith("rgb")) { + let r = e.match( + /^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/, + ); + if (r) { + let [o, a, i, s, l, c, u, d, p, f, m, g] = r, + v = [s || " ", u || " ", f].join(""); + if (v === " " || v === " /" || v === ",," || v === ",,,") { + let y = [i, c, p].join(""), + x = y === "%%%" ? 100 : y === "" ? 255 : 0; + if (x) { + let A = [ + wL(+a / x, 0, 1), + wL(+l / x, 0, 1), + wL(+d / x, 0, 1), + m ? Eon(+m, g) : 1, + ]; + if (Ion(A)) return A; + } + } + return; + } + } + let n = e.match( + /^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/, + ); + if (n) { + let [r, o, a, i, s, l, c, u, d] = n, + p = [a || " ", s || " ", c].join(""); + if (p === " " || p === " /" || p === ",," || p === ",,,") { + let f = [+o, wL(+i, 0, 100), wL(+l, 0, 100), u ? Eon(+u, d) : 1]; + if (Ion(f)) return kbr(f); + } + } +} +function Ppe(e) { + return parseInt(e.padEnd(2, e), 16) / 255; +} +function Eon(e, t) { + return wL(t ? e / 100 : e, 0, 1); +} +function wL(e, t, n) { + return Math.min(Math.max(t, e), n); +} +function Ion(e) { + return !e.some(Number.isNaN); +} +function qC(e, t, n) { + return e + n * (t - e); +} +function BL(e, t, n) { + return e.map((r, o) => qC(r, t[o], n)); +} +function Dbr(e) { + return e === "rgb" || e === "hcl" || e === "lab"; +} +function Nin(e, t, n, r) { + return typeof e == "number" && + e >= 0 && + e <= 255 && + typeof t == "number" && + t >= 0 && + t <= 255 && + typeof n == "number" && + n >= 0 && + n <= 255 + ? r === void 0 || (typeof r == "number" && r >= 0 && r <= 1) + ? null + : `Invalid rgba value [${[e, t, n, r].join(", ")}]: 'a' must be between 0 and 1.` + : `Invalid rgba value [${(typeof r == "number" ? [e, t, n, r] : [e, t, n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`; +} +function OL(e) { + if ( + e === null || + typeof e == "string" || + typeof e == "boolean" || + typeof e == "number" || + e instanceof Dw || + e instanceof Kr || + e instanceof EUe || + e instanceof Iw || + e instanceof qx || + e instanceof Zx || + e instanceof My || + e instanceof Hx || + e instanceof Vx + ) + return !0; + if (Array.isArray(e)) { + for (let t of e) if (!OL(t)) return !1; + return !0; + } + if (typeof e == "object") { + for (let t in e) if (!OL(e[t])) return !1; + return !0; + } + return !1; +} +function yc(e) { + if (e === null) return gQ; + if (typeof e == "string") return fo; + if (typeof e == "boolean") return Uo; + if (typeof e == "number") return bn; + if (e instanceof Kr) return mv; + if (e instanceof Dw) return Ife; + if (e instanceof EUe) return Tfe; + if (e instanceof Iw) return yQ; + if (e instanceof qx) return kfe; + if (e instanceof Zx) return Rfe; + if (e instanceof My) return ZZ; + if (e instanceof Hx) return Pfe; + if (e instanceof Vx) return vQ; + if (Array.isArray(e)) { + let t = e.length, + n; + for (let r of e) { + let o = yc(r); + if (!n) n = o; + else if (n === o) continue; + else { + n = bo; + break; + } + } + return Im(n || bo, t); + } + return zT; +} +function NZ(e) { + let t = typeof e; + return e === null + ? "" + : t === "string" || t === "number" || t === "boolean" + ? String(e) + : e instanceof Kr || + e instanceof Dw || + e instanceof Iw || + e instanceof qx || + e instanceof Zx || + e instanceof My || + e instanceof Hx || + e instanceof Vx + ? e.toString() + : JSON.stringify(e); +} +function Mfe(e, t, n) { + let r = e.length - 1, + o = 0, + a = r, + i = 0, + s, + l; + for (; o <= a;) + if (((i = Math.floor((o + a) / 2)), (s = e[i]), (l = e[i + 1]), s <= t)) { + if (i === r || t < l) return i; + o = i + 1; + } else if (s > t) a = i - 1; + else throw new tl("Input is not a number.", n); + return 0; +} +function Fbr(e, t, n, r) { + let o = 3 * e, + a = 3 * (n - e) - o, + i = 1 - o - a, + s = 3 * t, + l = 3 * (r - t) - s, + c = 1 - s - l; + return function (u, d = 0.000001) { + if (u <= 0) return 0; + if (u >= 1) return 1; + let p = u; + for (let g = 0; g < 8; g++) { + let v = ((i * p + a) * p + o) * p - u; + if (Math.abs(v) < d) return ((c * p + l) * p + s) * p; + let y = (3 * i * p + 2 * a) * p + o; + if (Math.abs(y) < 0.000001) break; + p -= v / y; + } + let f = 0, + m = 1; + p = u; + for (let g = 0; g < 20; g++) { + let v = ((i * p + a) * p + o) * p; + if (Math.abs(v - u) < d) break; + (u > v ? (f = p) : (m = p), (p = (f + m) * 0.5)); + } + return ((c * p + l) * p + s) * p; + }; +} +function QOe(e, t, n, r) { + let o = r - n, + a = e - n; + return o === 0 ? 0 : t === 1 ? a / o : (t ** +a - 1) / (t ** +o - 1); +} +function Hin(e, t, n = 0, r = e.length - 1, o = Ubr) { + for (; r > n;) { + if (r - n > 600) { + let l = r - n + 1, + c = t - n + 1, + u = Math.log(l), + d = 0.5 * Math.exp((2 * u) / 3), + p = 0.5 * Math.sqrt((u * d * (l - d)) / l) * (c - l / 2 < 0 ? -1 : 1); + Hin( + e, + t, + Math.max(n, Math.floor(t - (c * d) / l + p)), + Math.min(r, Math.floor(t + ((l - c) * d) / l + p)), + o, + ); + } + let a = e[t], + i = n, + s = r; + for (kZ(e, n, t), o(e[r], a) > 0 && kZ(e, n, r); i < s;) { + for (kZ(e, i, s), i++, s--; o(e[i], a) < 0;) i++; + for (; o(e[s], a) > 0;) s--; + } + (o(e[n], a) === 0 ? kZ(e, n, s) : (s++, kZ(e, s, r)), + s <= t && (n = s + 1), + t <= s && (r = s - 1)); + } +} +function kZ(e, t, n) { + let r = e[t]; + ((e[t] = e[n]), (e[n] = r)); +} +function Ubr(e, t) { + return e < t ? -1 : +(e > t); +} +function Dfe(e, t) { + if (e.length <= 1) return [e]; + let n = [], + r, + o; + for (let a of e) { + let i = zbr(a); + i !== 0 && + ((a.area = Math.abs(i)), + o === void 0 && (o = i < 0), + o === i < 0 ? (r && n.push(r), (r = [a])) : r.push(a)); + } + if ((r && n.push(r), t > 1)) + for (let a = 0; a < n.length; a++) + n[a].length <= t || + (Hin(n[a], t, 1, n[a].length - 1, Nbr), (n[a] = n[a].slice(0, t))); + return n; +} +function Nbr(e, t) { + return t.area - e.area; +} +function zbr(e) { + let t = 0; + for (let n = 0, r = e.length, o = r - 1, a, i; n < r; o = n++) + ((a = e[n]), (i = e[o]), (t += (i.x - a.x) * (a.y + i.y))); + return t; +} +function kon(e, t) { + return e === "==" || e === "!=" + ? t.kind === "boolean" || + t.kind === "string" || + t.kind === "number" || + t.kind === "null" || + t.kind === "value" + : t.kind === "string" || t.kind === "number" || t.kind === "value"; +} +function Qbr(e, t, n) { + return t === n; +} +function Xbr(e, t, n) { + return t !== n; +} +function Wbr(e, t, n) { + return t < n; +} +function Ybr(e, t, n) { + return t > n; +} +function Kbr(e, t, n) { + return t <= n; +} +function Jbr(e, t, n) { + return t >= n; +} +function Zin(e, t, n, r) { + return r.compare(t, n) === 0; +} +function jbr(e, t, n, r) { + return !Zin(e, t, n, r); +} +function $br(e, t, n, r) { + return r.compare(t, n) < 0; +} +function exr(e, t, n, r) { + return r.compare(t, n) > 0; +} +function txr(e, t, n, r) { + return r.compare(t, n) <= 0; +} +function nxr(e, t, n, r) { + return r.compare(t, n) >= 0; +} +function QL(e, t, n) { + let r = e !== "==" && e !== "!="; + return class o { + constructor(a, i, s, l) { + ((this.lhs = a), + (this.rhs = i), + (this.key = s), + (this.collator = l), + (this.type = Uo), + (this.hasUntypedArgument = + a.type.kind === "value" || i.type.kind === "value")); + } + static parse(a, i) { + if (a.length !== 3 && a.length !== 4) + return i.error("Expected two or three arguments."); + let s = a[0], + l = i.parse(a[1], 1, bo); + if (!l) return null; + if (!kon(s, l.type)) + return i + .concat(1) + .error( + `"${s}" comparisons are not supported for type '${Al(l.type)}'.`, + ); + let c = i.parse(a[2], 2, bo); + if (!c) return null; + if (!kon(s, c.type)) + return i + .concat(2) + .error( + `"${s}" comparisons are not supported for type '${Al(c.type)}'.`, + ); + if ( + l.type.kind !== c.type.kind && + l.type.kind !== "value" && + c.type.kind !== "value" + ) + return i.error( + `Cannot compare types '${Al(l.type)}' and '${Al(c.type)}'.`, + ); + r && + (l.type.kind === "value" && c.type.kind !== "value" + ? (l = new ww(c.type, [l], i.key)) + : l.type.kind !== "value" && + c.type.kind === "value" && + (c = new ww(l.type, [c], i.key))); + let u = null; + if (a.length === 4) { + if ( + l.type.kind !== "string" && + c.type.kind !== "string" && + l.type.kind !== "value" && + c.type.kind !== "value" + ) + return i.error("Cannot use collator to compare non-string types."); + if (((u = i.parse(a[3], 3, Tfe)), !u)) return null; + } + return new o(l, c, i.key, u); + } + evaluate(a) { + let i = this.lhs.evaluate(a), + s = this.rhs.evaluate(a); + if (r && this.hasUntypedArgument) { + let l = yc(i), + c = yc(s); + if (l.kind !== c.kind || (l.kind !== "string" && l.kind !== "number")) + throw new tl( + `Expected arguments for "${e}" to be (string, string) or (number, number), but found (${l.kind}, ${c.kind}) instead.`, + this.key, + ); + } + if (this.collator && !r && this.hasUntypedArgument) { + let l = yc(i), + c = yc(s); + if (l.kind !== "string" || c.kind !== "string") return t(a, i, s); + } + return this.collator ? n(a, i, s, this.collator.evaluate(a)) : t(a, i, s); + } + eachChild(a) { + (a(this.lhs), a(this.rhs), this.collator && a(this.collator)); + } + outputDefined() { + return !0; + } + }; +} +function pxr(e, t) { + let n = fxr(e[0]), + r = hxr(e[1]), + o = 2 ** t.z; + return [Math.round(n * o * _x), Math.round(r * o * _x)]; +} +function TUe(e, t) { + let n = 2 ** t.z, + r = (e[0] / _x + t.x) / n, + o = (e[1] / _x + t.y) / n; + return [mxr(r), gxr(o)]; +} +function fxr(e) { + return (180 + e) / 360; +} +function mxr(e) { + return e * 360 - 180; +} +function hxr(e) { + return ( + (180 - + (180 / Math.PI) * Math.log(Math.tan(Math.PI / 4 + (e * Math.PI) / 360))) / + 360 + ); +} +function gxr(e) { + return ( + (360 / Math.PI) * Math.atan(Math.exp(((180 - e * 360) * Math.PI) / 180)) - + 90 + ); +} +function bQ(e, t) { + ((e[0] = Math.min(e[0], t[0])), + (e[1] = Math.min(e[1], t[1])), + (e[2] = Math.max(e[2], t[0])), + (e[3] = Math.max(e[3], t[1]))); +} +function XZ(e, t) { + return !(e[0] <= t[0] || e[2] >= t[2] || e[1] <= t[1] || e[3] >= t[3]); +} +function yxr(e, t, n) { + return ( + t[1] > e[1] != n[1] > e[1] && + e[0] < ((n[0] - t[0]) * (e[1] - t[1])) / (n[1] - t[1]) + t[0] + ); +} +function vxr(e, t, n) { + let r = e[0] - t[0], + o = e[1] - t[1], + a = e[0] - n[0], + i = e[1] - n[1]; + return r * i - a * o === 0 && r * a <= 0 && o * i <= 0; +} +function Lfe(e, t, n, r) { + let o = [t[0] - e[0], t[1] - e[1]]; + return ( + wxr([r[0] - n[0], r[1] - n[1]], o) !== 0 && + !!(Ron(e, t, n, r) && Ron(n, r, e, t)) + ); +} +function bxr(e, t, n) { + for (let r of n) + for (let o = 0; o < r.length - 1; ++o) + if (Lfe(e, t, r[o], r[o + 1])) return !0; + return !1; +} +function XL(e, t, n = !1) { + let r = !1; + for (let o of t) + for (let a = 0; a < o.length - 1; a++) { + if (vxr(e, o[a], o[a + 1])) return n; + yxr(e, o[a], o[a + 1]) && (r = !r); + } + return r; +} +function xxr(e, t) { + for (let n of t) if (XL(e, n)) return !0; + return !1; +} +function Xin(e, t) { + for (let n of e) if (!XL(n, t)) return !1; + for (let n = 0; n < e.length - 1; ++n) if (bxr(e[n], e[n + 1], t)) return !1; + return !0; +} +function Axr(e, t) { + for (let n of t) if (Xin(e, n)) return !0; + return !1; +} +function wxr(e, t) { + return e[0] * t[1] - e[1] * t[0]; +} +function Ron(e, t, n, r) { + let o = e[0] - n[0], + a = e[1] - n[1], + i = t[0] - n[0], + s = t[1] - n[1], + l = r[0] - n[0], + c = r[1] - n[1], + u = o * c - l * a, + d = i * c - l * s; + return (u > 0 && d < 0) || (u < 0 && d > 0); +} +function kUe(e, t, n) { + let r = []; + for (let o = 0; o < e.length; o++) { + let a = []; + for (let i = 0; i < e[o].length; i++) { + let s = pxr(e[o][i], n); + (bQ(t, s), a.push(s)); + } + r.push(a); + } + return r; +} +function Win(e, t, n) { + let r = []; + for (let o = 0; o < e.length; o++) { + let a = kUe(e[o], t, n); + r.push(a); + } + return r; +} +function Yin(e, t, n, r) { + if (e[0] < n[0] || e[0] > n[2]) { + let o = r * 0.5, + a = e[0] - n[0] > o ? -r : n[0] - e[0] > o ? r : 0; + (a === 0 && (a = e[0] - n[2] > o ? -r : n[2] - e[0] > o ? r : 0), + (e[0] += a)); + } + bQ(t, e); +} +function Sxr(e) { + ((e[0] = e[1] = 1 / 0), (e[2] = e[3] = -1 / 0)); +} +function Pon(e, t, n, r) { + let o = 2 ** r.z * _x, + a = [r.x * _x, r.y * _x], + i = []; + for (let s of e) + for (let l of s) { + let c = [l.x + a[0], l.y + a[1]]; + (Yin(c, t, n, o), i.push(c)); + } + return i; +} +function Mon(e, t, n, r) { + let o = 2 ** r.z * _x, + a = [r.x * _x, r.y * _x], + i = []; + for (let s of e) { + let l = []; + for (let c of s) { + let u = [c.x + a[0], c.y + a[1]]; + (bQ(t, u), l.push(u)); + } + i.push(l); + } + if (t[2] - t[0] <= o / 2) { + Sxr(t); + for (let s of i) for (let l of s) Yin(l, t, n, o); + } + return i; +} +function Cxr(e, t) { + let n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + o = e.canonicalID(); + if (t.type === "Polygon") { + let a = kUe(t.coordinates, r, o), + i = Pon(e.geometry(), n, r, o); + if (!XZ(n, r)) return !1; + for (let s of i) if (!XL(s, a)) return !1; + } + if (t.type === "MultiPolygon") { + let a = Win(t.coordinates, r, o), + i = Pon(e.geometry(), n, r, o); + if (!XZ(n, r)) return !1; + for (let s of i) if (!xxr(s, a)) return !1; + } + return !0; +} +function Exr(e, t) { + let n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + o = e.canonicalID(); + if (t.type === "Polygon") { + let a = kUe(t.coordinates, r, o), + i = Mon(e.geometry(), n, r, o); + if (!XZ(n, r)) return !1; + for (let s of i) if (!Xin(s, a)) return !1; + } + if (t.type === "MultiPolygon") { + let a = Win(t.coordinates, r, o), + i = Mon(e.geometry(), n, r, o); + if (!XZ(n, r)) return !1; + for (let s of i) if (!Axr(s, a)) return !1; + } + return !0; +} +function Jin(e, t) { + return t[0] - e[0]; +} +function Wpe(e) { + return e[1] - e[0] + 1; +} +function Tw(e, t) { + return e[1] >= e[0] && e[1] < t; +} +function sFe(e, t) { + if (e[0] > e[1]) return [null, null]; + let n = Wpe(e); + if (t) { + if (n === 2) return [e, null]; + let o = Math.floor(n / 2); + return [ + [e[0], e[0] + o], + [e[0] + o, e[1]], + ]; + } + if (n === 1) return [e, null]; + let r = Math.floor(n / 2) - 1; + return [ + [e[0], e[0] + r], + [e[0] + r + 1, e[1]], + ]; +} +function lFe(e, t) { + if (!Tw(t, e.length)) return [1 / 0, 1 / 0, -1 / 0, -1 / 0]; + let n = [1 / 0, 1 / 0, -1 / 0, -1 / 0]; + for (let r = t[0]; r <= t[1]; ++r) bQ(n, e[r]); + return n; +} +function cFe(e) { + let t = [1 / 0, 1 / 0, -1 / 0, -1 / 0]; + for (let n of e) for (let r of n) bQ(t, r); + return t; +} +function Lon(e) { + return e[0] !== -1 / 0 && e[1] !== -1 / 0 && e[2] !== 1 / 0 && e[3] !== 1 / 0; +} +function MUe(e, t, n) { + if (!Lon(e) || !Lon(t)) return NaN; + let r = 0, + o = 0; + return ( + e[2] < t[0] && (r = t[0] - e[2]), + e[0] > t[2] && (r = e[0] - t[2]), + e[1] > t[3] && (o = e[1] - t[3]), + e[3] < t[1] && (o = t[1] - e[3]), + n.distance([0, 0], [r, o]) + ); +} +function FT(e, t, n) { + let r = n.pointOnLine(t, e); + return n.distance(e, r.point); +} +function DUe(e, t, n, r, o) { + let a = Math.min(FT(e, [n, r], o), FT(t, [n, r], o)), + i = Math.min(FT(n, [e, t], o), FT(r, [e, t], o)); + return Math.min(a, i); +} +function Ixr(e, t, n, r, o) { + if (!(Tw(t, e.length) && Tw(r, n.length))) return 1 / 0; + let a = 1 / 0; + for (let i = t[0]; i < t[1]; ++i) { + let s = e[i], + l = e[i + 1]; + for (let c = r[0]; c < r[1]; ++c) { + let u = n[c], + d = n[c + 1]; + if (Lfe(s, l, u, d)) return 0; + a = Math.min(a, DUe(s, l, u, d, o)); + } + } + return a; +} +function Txr(e, t, n, r, o) { + if (!(Tw(t, e.length) && Tw(r, n.length))) return NaN; + let a = 1 / 0; + for (let i = t[0]; i <= t[1]; ++i) + for (let s = r[0]; s <= r[1]; ++s) + if (((a = Math.min(a, o.distance(e[i], n[s]))), a === 0)) return a; + return a; +} +function kxr(e, t, n) { + if (XL(e, t, !0)) return 0; + let r = 1 / 0; + for (let o of t) { + let a = o[0], + i = o[o.length - 1]; + if (a !== i && ((r = Math.min(r, FT(e, [i, a], n))), r === 0)) return r; + let s = n.pointOnLine(o, e); + if (((r = Math.min(r, n.distance(e, s.point))), r === 0)) return r; + } + return r; +} +function Rxr(e, t, n, r) { + if (!Tw(t, e.length)) return NaN; + for (let a = t[0]; a <= t[1]; ++a) if (XL(e[a], n, !0)) return 0; + let o = 1 / 0; + for (let a = t[0]; a < t[1]; ++a) { + let i = e[a], + s = e[a + 1]; + for (let l of n) + for (let c = 0, u = l.length, d = u - 1; c < u; d = c++) { + let p = l[d], + f = l[c]; + if (Lfe(i, s, p, f)) return 0; + o = Math.min(o, DUe(i, s, p, f, r)); + } + } + return o; +} +function Bon(e, t) { + for (let n of e) for (let r of n) if (XL(r, t, !0)) return !0; + return !1; +} +function Pxr(e, t, n, r = 1 / 0) { + let o = cFe(e), + a = cFe(t); + if (r !== 1 / 0 && MUe(o, a, n) >= r) return r; + if (XZ(o, a)) { + if (Bon(e, t)) return 0; + } else if (Bon(t, e)) return 0; + let i = 1 / 0; + for (let s of e) + for (let l = 0, c = s.length, u = c - 1; l < c; u = l++) { + let d = s[u], + p = s[l]; + for (let f of t) + for (let m = 0, g = f.length, v = g - 1; m < g; v = m++) { + let y = f[v], + x = f[m]; + if (Lfe(d, p, y, x)) return 0; + i = Math.min(i, DUe(d, p, y, x, n)); + } + } + return i; +} +function Oon(e, t, n, r, o, a) { + if (!a) return; + let i = MUe(lFe(r, a), o, n); + i < t && e.push([i, a, [0, 0]]); +} +function Dpe(e, t, n, r, o, a, i) { + if (!a || !i) return; + let s = MUe(lFe(r, a), lFe(o, i), n); + s < t && e.push([s, a, i]); +} +function Ype(e, t, n, r, o = 1 / 0) { + let a = Math.min(r.distance(e[0], n[0][0]), o); + if (a === 0) return a; + let i = new Kin([[0, [0, e.length - 1], [0, 0]]], Jin), + s = cFe(n); + for (; i.length > 0;) { + let l = i.pop(); + if (l[0] >= a) continue; + let c = l[1], + u = t ? 50 : 100; + if (Wpe(c) <= u) { + if (!Tw(c, e.length)) return NaN; + if (t) { + let d = Rxr(e, c, n, r); + if (isNaN(d) || d === 0) return d; + a = Math.min(a, d); + } else + for (let d = c[0]; d <= c[1]; ++d) { + let p = kxr(e[d], n, r); + if (((a = Math.min(a, p)), a === 0)) return 0; + } + } else { + let d = sFe(c, t); + (Oon(i, a, r, e, s, d[0]), Oon(i, a, r, e, s, d[1])); + } + } + return a; +} +function Kpe(e, t, n, r, o, a = 1 / 0) { + let i = Math.min(a, o.distance(e[0], n[0])); + if (i === 0) return i; + let s = new Kin([[0, [0, e.length - 1], [0, n.length - 1]]], Jin); + for (; s.length > 0;) { + let l = s.pop(); + if (l[0] >= i) continue; + let c = l[1], + u = l[2], + d = t ? 50 : 100, + p = r ? 50 : 100; + if (Wpe(c) <= d && Wpe(u) <= p) { + if (!Tw(c, e.length) && Tw(u, n.length)) return NaN; + let f; + if (t && r) ((f = Ixr(e, c, n, u, o)), (i = Math.min(i, f))); + else if (t && !r) { + let m = e.slice(c[0], c[1] + 1); + for (let g = u[0]; g <= u[1]; ++g) + if (((f = FT(n[g], m, o)), (i = Math.min(i, f)), i === 0)) return i; + } else if (!t && r) { + let m = n.slice(u[0], u[1] + 1); + for (let g = c[0]; g <= c[1]; ++g) + if (((f = FT(e[g], m, o)), (i = Math.min(i, f)), i === 0)) return i; + } else ((f = Txr(e, c, n, u, o)), (i = Math.min(i, f))); + } else { + let f = sFe(c, t), + m = sFe(u, r); + (Dpe(s, i, o, e, n, f[0], m[0]), + Dpe(s, i, o, e, n, f[0], m[1]), + Dpe(s, i, o, e, n, f[1], m[0]), + Dpe(s, i, o, e, n, f[1], m[1])); + } + } + return i; +} +function Mxr(e, t) { + let n = e.geometry(), + r = n.flat().map((i) => TUe([i.x, i.y], e.canonical)); + if (n.length === 0) return NaN; + let o = new PUe(r[0][1]), + a = 1 / 0; + for (let i of t) { + switch (i.type) { + case "Point": + a = Math.min(a, Kpe(r, !1, [i.coordinates], !1, o, a)); + break; + case "LineString": + a = Math.min(a, Kpe(r, !1, i.coordinates, !0, o, a)); + break; + case "Polygon": + a = Math.min(a, Ype(r, !1, i.coordinates, o, a)); + } + if (a === 0) return a; + } + return a; +} +function Dxr(e, t) { + let n = e.geometry(), + r = n.flat().map((i) => TUe([i.x, i.y], e.canonical)); + if (n.length === 0) return NaN; + let o = new PUe(r[0][1]), + a = 1 / 0; + for (let i of t) { + switch (i.type) { + case "Point": + a = Math.min(a, Kpe(r, !0, [i.coordinates], !1, o, a)); + break; + case "LineString": + a = Math.min(a, Kpe(r, !0, i.coordinates, !0, o, a)); + break; + case "Polygon": + a = Math.min(a, Ype(r, !0, i.coordinates, o, a)); + } + if (a === 0) return a; + } + return a; +} +function Lxr(e, t) { + let n = e.geometry(); + if (n.length === 0 || n[0].length === 0) return NaN; + let r = Dfe(n, 0).map((i) => + i.map((s) => s.map((l) => TUe([l.x, l.y], e.canonical))), + ), + o = new PUe(r[0][0][0][1]), + a = 1 / 0; + for (let i of t) + for (let s of r) { + switch (i.type) { + case "Point": + a = Math.min(a, Ype([i.coordinates], !1, s, o, a)); + break; + case "LineString": + a = Math.min(a, Ype(i.coordinates, !0, s, o, a)); + break; + case "Polygon": + a = Math.min(a, Pxr(s, i.coordinates, o, a)); + } + if (a === 0) return a; + } + return a; +} +function XOe(e) { + return e.type === "MultiPolygon" + ? e.coordinates.map((t) => ({ type: "Polygon", coordinates: t })) + : e.type === "MultiLineString" + ? e.coordinates.map((t) => ({ type: "LineString", coordinates: t })) + : e.type === "MultiPoint" + ? e.coordinates.map((t) => ({ type: "Point", coordinates: t })) + : [e]; +} +function Fon(e, [t, n, r, o], a) { + ((t = t.evaluate(e)), (n = n.evaluate(e)), (r = r.evaluate(e))); + let i = o ? o.evaluate(e) : 1, + s = Nin(t, n, r, i); + if (s) throw new tl(s, a); + return new Kr(t / 255, n / 255, r / 255, i, !1); +} +function Uon(e, t) { + return e in t && t[e] !== void 0; +} +function WOe(e, t) { + let n = t[e]; + return n === void 0 ? null : n; +} +function Fxr(e, t, n, r) { + for (; n <= r;) { + let o = (n + r) >> 1; + if (t[o] === e) return !0; + t[o] > e ? (r = o - 1) : (n = o + 1); + } + return !1; +} +function DT(e) { + return { type: e }; +} +function Uxr(e) { + return Array.isArray(e) ? `(${e.map(Al).join(", ")})` : `(${Al(e.type)}...)`; +} +function Jpe(e) { + if (e instanceof Gin) return Jpe(e.boundExpression); + if ( + (e instanceof JT && e.name === "error") || + e instanceof Qin || + e instanceof RUe || + e instanceof LUe || + e instanceof BUe + ) + return !1; + let t = e instanceof EL || e instanceof ww, + n = !0; + return ( + e.eachChild((r) => { + n &&= t ? Jpe(r) : r instanceof FL; + }), + n + ? Bfe(e) && + Ofe(e, [ + "zoom", + "heatmap-density", + "elevation", + "line-progress", + "accumulated", + "is-supported-script", + ]) + : !1 + ); +} +function Bfe(e) { + if ( + (e instanceof JT && + ((e.name === "get" && e.args.length === 1) || + e.name === "feature-state" || + (e.name === "has" && e.args.length === 1) || + e.name === "properties" || + e.name === "geometry-type" || + e.name === "id" || + /^filter-/.test(e.name))) || + e instanceof RUe || + e instanceof LUe + ) + return !1; + let t = !0; + return ( + e.eachChild((n) => { + t && !Bfe(n) && (t = !1); + }), + t + ); +} +function WZ(e) { + if (e instanceof JT && e.name === "feature-state") return !1; + let t = !0; + return ( + e.eachChild((n) => { + t && !WZ(n) && (t = !1); + }), + t + ); +} +function Ofe(e, t) { + if (e instanceof JT && t.indexOf(e.name) >= 0) return !1; + let n = !0; + return ( + e.eachChild((r) => { + n && !Ofe(r, t) && (n = !1); + }), + n + ); +} +function UL(e) { + return ( + e["property-type"] === "data-driven" || + e["property-type"] === "cross-faded-data-driven" + ); +} +function $in(e) { + return !!e.expression && e.expression.parameters.indexOf("zoom") > -1; +} +function OUe(e) { + return !!e.expression && e.expression.interpolated; +} +function YZ(e, ...t) { + for (let n of t) for (let r in n) e[r] = n[r]; + return e; +} +function Mo(e) { + return e instanceof Number + ? "number" + : e instanceof String + ? "string" + : e instanceof Boolean + ? "boolean" + : Array.isArray(e) + ? "array" + : e === null + ? "null" + : typeof e; +} +function Ffe(e) { + return typeof e == "object" && !!e && !Array.isArray(e) && yc(e) === zT; +} +function Nxr(e) { + return e; +} +function zxr(e) { + switch (e.type) { + case "color": + return Kr.parse; + case "padding": + return qx.parse; + case "numberArray": + return Zx.parse; + case "colorArray": + return My.parse; + default: + return null; + } +} +function _xr(e) { + switch (e) { + case "exponential": + return tsn; + case "interval": + return Vxr; + case "categorical": + return Hxr; + case "identity": + return Gxr; + default: + throw Error(`Unknown function type "${e}"`); + } +} +function esn(e, t) { + let n = e.stops && typeof e.stops[0][0] == "object", + r = n || e.property !== void 0, + o = n || !r, + a = e.type || (OUe(t) ? "exponential" : "interval"), + i = zxr(t); + if ( + (i && + ((e = YZ({}, e)), + e.stops && (e.stops = e.stops.map((u) => [u[0], i(u[1])])), + e.default ? (e.default = i(e.default)) : (e.default = i(t.default))), + e.colorSpace && !Dbr(e.colorSpace)) + ) + throw Error(`Unknown color space: "${e.colorSpace}"`); + let s = _xr(a), + l, + c; + if (a === "categorical") { + l = Object.create(null); + for (let u of e.stops) l[u[0]] = u[1]; + c = typeof e.stops[0][0]; + } + if (n) { + let u = {}, + d = []; + for (let m = 0; m < e.stops.length; m++) { + let g = e.stops[m], + v = g[0].zoom; + (u[v] === void 0 && + ((u[v] = { + zoom: v, + type: e.type, + property: e.property, + default: e.default, + stops: [], + }), + d.push(v)), + u[v].stops.push([g[0].value, g[1]])); + } + let p = []; + for (let m of d) p.push([u[m].zoom, esn(u[m], t)]); + let f = { name: "linear" }; + return { + kind: "composite", + interpolationType: f, + interpolationFactor: Dy.interpolationFactor.bind(void 0, f), + zoomStops: p.map((m) => m[0]), + evaluate({ zoom: m }, g) { + return tsn({ stops: p, base: e.base }, t, m).evaluate(m, g); + }, + }; + } + if (o) { + let u = + a === "exponential" + ? { name: "exponential", base: e.base === void 0 ? 1 : e.base } + : null; + return { + kind: "camera", + interpolationType: u, + interpolationFactor: Dy.interpolationFactor.bind(void 0, u), + zoomStops: e.stops.map((d) => d[0]), + evaluate: ({ zoom: d }) => s(e, t, d, l, c), + }; + } + return { + kind: "source", + evaluate(u, d) { + let p = d && d.properties ? d.properties[e.property] : void 0; + return p === void 0 ? xQ(e.default, t.default) : s(e, t, p, l, c); + }, + }; +} +function xQ(e, t, n) { + if (e !== void 0) return e; + if (t !== void 0) return t; + if (n !== void 0) return n; +} +function Hxr(e, t, n, r, o) { + return xQ(typeof n === o ? r[n] : void 0, e.default, t.default); +} +function Vxr(e, t, n) { + if (Mo(n) !== "number") return xQ(e.default, t.default); + let r = e.stops.length; + if (r === 1 || n <= e.stops[0][0]) return e.stops[0][1]; + if (n >= e.stops[r - 1][0]) return e.stops[r - 1][1]; + let o = Mfe( + e.stops.map((a) => a[0]), + n, + "", + ); + return e.stops[o][1]; +} +function tsn(e, t, n) { + let r = e.base === void 0 ? 1 : e.base; + if (Mo(n) !== "number") return xQ(e.default, t.default); + let o = e.stops.length; + if (o === 1 || n <= e.stops[0][0]) return e.stops[0][1]; + if (n >= e.stops[o - 1][0]) return e.stops[o - 1][1]; + let a = Mfe( + e.stops.map((u) => u[0]), + n, + "", + ), + i = qxr(n, r, e.stops[a][0], e.stops[a + 1][0]), + s = e.stops[a][1], + l = e.stops[a + 1][1], + c = Hs[t.type] || Nxr; + return typeof s.evaluate == "function" + ? { + evaluate(...u) { + let d = s.evaluate.apply(void 0, u), + p = l.evaluate.apply(void 0, u); + if (d !== void 0 && p !== void 0) return c(d, p, i, e.colorSpace); + }, + } + : c(s, l, i, e.colorSpace); +} +function Gxr(e, t, n) { + switch (t.type) { + case "color": + n = Kr.parse(n); + break; + case "formatted": + n = Iw.fromString(n.toString()); + break; + case "resolvedImage": + n = Vx.fromString(n.toString()); + break; + case "padding": + n = qx.parse(n); + break; + case "colorArray": + n = My.parse(n); + break; + case "numberArray": + n = Zx.parse(n); + break; + default: + Mo(n) !== t.type && (t.type !== "enum" || !t.values[n]) && (n = void 0); + } + return xQ(n, e.default, t.default); +} +function qxr(e, t, n, r) { + let o = r - n, + a = e - n; + return o === 0 ? 0 : t === 1 ? a / o : (t ** +a - 1) / (t ** +o - 1); +} +function uFe(e) { + return { result: "success", value: e }; +} +function SL(e) { + return { result: "error", value: e }; +} +function nsn(e, t, n, r) { + return `${e}${t}: ${n}${r == null ? "" : ` Falling back to ${String(r)}.`}`; +} +function rsn(e) { + if (!e) + throw Error( + 'rootKey must identify the location of the expression in the style JSON, e.g. "layers[3].paint.line-width".', + ); +} +function Ufe(e) { + return ( + Array.isArray(e) && e.length > 0 && typeof e[0] == "string" && e[0] in kL + ); +} +function Nfe(e, t, n, r) { + rsn(t); + let o = new jin(kL, Jpe, [], n ? Xxr(n) : void 0), + a = o.parse( + e, + void 0, + void 0, + void 0, + n && n.type === "string" ? { typeAnnotation: "coerce" } : void 0, + ); + return a ? uFe(new UUe(a, t, n, r)) : SL(o.errors); +} +function Zxr(e) { + return e._styleExpression !== void 0; +} +function osn(e, t, n, r) { + let o = Nfe(e, t, n, r); + if (o.result === "error") return o; + let a = o.value.expression, + i = Bfe(a); + if (!i && !UL(n)) return SL([new Nx("", "data expressions not supported")]); + let s = Ofe(a, ["zoom"]); + if (!s && !$in(n)) return SL([new Nx("", "zoom expressions not supported")]); + let l = Zpe(a); + if (!l && !s) + return SL([ + new Nx( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + ), + ]); + if (l instanceof Nx) return SL([l]); + if (l instanceof Dy && !OUe(n)) + return SL([ + new Nx("", '"interpolate" expressions cannot be used with this property'), + ]); + if (!l) + return uFe( + i ? new KZ("constant", o.value, r) : new KZ("source", o.value, r), + ); + let c = l instanceof Dy ? l.interpolation : void 0; + return uFe( + i + ? new jpe("camera", o.value, l.labels, c, r) + : new jpe("composite", o.value, l.labels, c, r), + ); +} +function Qxr(e, t, n, r) { + if (Ffe(e)) return new asn(e, t, n); + if (Ufe(e)) { + let o = osn(e, t, n, r); + if (o.result === "error") + throw Error(o.value.map((a) => `${a.key}: ${a.message}`).join(", ")); + return o.value; + } + { + let o = e; + return ( + n.type === "color" && typeof e == "string" + ? (o = Kr.parse(e)) + : n.type === "padding" && (typeof e == "number" || Array.isArray(e)) + ? (o = qx.parse(e)) + : n.type === "numberArray" && + (typeof e == "number" || Array.isArray(e)) + ? (o = Zx.parse(e)) + : n.type === "colorArray" && + (typeof e == "string" || Array.isArray(e)) + ? (o = My.parse(e)) + : n.type === "variableAnchorOffsetCollection" && Array.isArray(e) + ? (o = Hx.parse(e)) + : n.type === "projectionDefinition" && + typeof e == "string" && + (o = Dw.parse(e)), + { + globalStateRefs: new Set(), + _globalState: null, + kind: "constant", + evaluate: () => o, + } + ); + } +} +function Zpe(e) { + let t = null; + if (e instanceof Vin) t = Zpe(e.result); + else if (e instanceof qin) { + for (let n of e.args) if (((t = Zpe(n)), t)) break; + } else + (e instanceof IUe || e instanceof Dy) && + e.input instanceof JT && + e.input.name === "zoom" && + (t = e); + return ( + t instanceof Nx || + e.eachChild((n) => { + let r = Zpe(n); + r instanceof Nx + ? (t = r) + : !t && r + ? (t = new Nx( + "", + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.', + )) + : t && + r && + t !== r && + (t = new Nx( + "", + 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.', + )); + }), + t + ); +} +function AQ(e, t = new Set()) { + return ( + e instanceof BUe && t.add(e.key), + e.eachChild((n) => { + AQ(n, t); + }), + t + ); +} +function Xxr(e) { + let t = { + color: mv, + string: fo, + number: bn, + enum: fo, + boolean: Uo, + formatted: yQ, + padding: kfe, + numberArray: Rfe, + colorArray: ZZ, + projectionDefinition: Ife, + resolvedImage: vQ, + variableAnchorOffsetCollection: Pfe, + }; + return e.type === "array" ? Im(t[e.value] || bo, e.length) : t[e.type]; +} +function isn(e) { + if (e.type === "color" && Ffe(e.default)) return new Kr(0, 0, 0, 0); + switch (e.type) { + case "color": + return Kr.parse(e.default) || null; + case "padding": + return qx.parse(e.default) || null; + case "numberArray": + return Zx.parse(e.default) || null; + case "colorArray": + return My.parse(e.default) || null; + case "variableAnchorOffsetCollection": + return Hx.parse(e.default) || null; + case "projectionDefinition": + return Dw.parse(e.default) || null; + default: + return e.default === void 0 ? null : e.default; + } +} +function NL(e, t) { + let { + zoom: n, + heatmapDensity: r, + elevation: o, + lineProgress: a, + isSupportedScript: i, + accumulated: s, + } = e ?? {}; + return { + zoom: n, + heatmapDensity: r, + elevation: o, + lineProgress: a, + isSupportedScript: i, + accumulated: s, + globalState: t, + }; +} +function Wxr(e) { + let t = !1; + for (let n of e) { + let r = ssn(n); + if (r === "expression") return "expression"; + r === "legacy" && (t = !0); + } + return t ? "legacy" : "neutral"; +} +function ssn(e) { + if (typeof e == "boolean") return "neutral"; + if (!Array.isArray(e) || e.length === 0) return "legacy"; + switch (e[0]) { + case "has": + return e.length < 2 || e[1] === "$id" || e[1] === "$type" + ? "legacy" + : e.length === 2 + ? "neutral" + : "expression"; + case "in": + return e.length >= 3 && (typeof e[1] != "string" || Array.isArray(e[2])) + ? "expression" + : "legacy"; + case "!in": + case "!has": + return "legacy"; + case "==": + case "!=": + case ">": + case ">=": + case "<": + case "<=": + return e.length !== 3 || Array.isArray(e[1]) || Array.isArray(e[2]) + ? "expression" + : "legacy"; + case "none": + return "legacy"; + case "any": + case "all": + return Wxr(e.slice(1)); + default: + return "expression"; + } +} +function NUe(e) { + return ssn(e) !== "legacy"; +} +function Non(e) { + return e === "$type" ? ["geometry-type"] : e === "$id" ? ["id"] : ["get", e]; +} +function Yxr(e) { + switch (e[0]) { + case "==": + case "!=": + case "<": + case "<=": + case ">": + case ">=": + return e.length !== 3 || typeof e[1] != "string" + ? null + : [e[0], Non(e[1]), e[2]]; + case "in": + case "!in": { + if (e.length < 2 || typeof e[1] != "string") return null; + let t = ["in", Non(e[1]), ["literal", e.slice(2)]]; + return e[0] === "!in" ? ["!", t] : t; + } + case "has": + case "!has": { + if ( + e.length !== 2 || + typeof e[1] != "string" || + e[1] === "$type" || + e[1] === "$id" + ) + return null; + let t = ["has", e[1]]; + return e[0] === "!has" ? ["!", t] : t; + } + default: + return null; + } +} +function lsn(e) { + if ( + (e[0] === "<" || e[0] === "<=" || e[0] === ">" || e[0] === ">=") && + e[1] === "$type" + ) + return `"$type" cannot be use with operator "${e[0]}"`; + let t = Yxr(e); + return t + ? `Mixing deprecated filter syntax with expression syntax is not supported. Replace ${JSON.stringify(e)} with ${JSON.stringify(t)}.` + : `Mixing deprecated filter syntax with expression syntax is not supported. Convert ${JSON.stringify(e)} to expression syntax.`; +} +function YOe(e, t, n) { + let r = n[e]; + return Array.isArray(r) + ? NUe(r) + ? zUe(r, t.concat(e)) + : { path: t.concat(e), legacyFilter: r } + : null; +} +function zUe(e, t = []) { + if (!Array.isArray(e) || e.length < 1) return null; + switch (e[0]) { + case "all": + case "any": + case "none": + for (let n = 1; n < e.length; n++) { + let r = YOe(n, t, e); + if (r) return r; + } + break; + case "!": { + let n = YOe(1, t, e); + if (n) return n; + break; + } + case "case": + for (let n = 1; n < e.length - 1; n += 2) { + let r = YOe(n, t, e); + if (r) return r; + } + } + return null; +} +function Kxr(e, t) { + let n = zUe(e); + if (!n || typeof console > "u") return; + let r = n.path.map((o) => `[${o}]`).join(""); + console.warn(`${t}${r}: ${lsn(n.legacyFilter)}`); +} +function zL(e, t, n) { + if (e == null) + return { + filter: () => !0, + needGeometry: !1, + getGlobalStateRefs: () => new Set(), + }; + NUe(e) ? Kxr(e, t) : (e = $pe(e)); + let r = Nfe(e, t, Jxr, n); + if (r.result === "error") + throw Error(r.value.map((o) => `${o.key}: ${o.message}`).join(", ")); + return { + filter: (o, a, i) => r.value.evaluate(o, a, {}, i), + needGeometry: csn(e), + getGlobalStateRefs: () => AQ(r.value.expression), + }; +} +function jxr(e, t) { + return e < t ? -1 : +(e > t); +} +function csn(e) { + if (!Array.isArray(e)) return !1; + if (e[0] === "within" || e[0] === "distance") return !0; + for (let t = 1; t < e.length; t++) if (csn(e[t])) return !0; + return !1; +} +function $pe(e) { + if (!e) return !0; + let t = e[0]; + return e.length <= 1 + ? t !== "any" + : t === "==" + ? KOe(e[1], e[2], "==") + : t === "!=" + ? Lpe(KOe(e[1], e[2], "==")) + : t === "<" || t === ">" || t === "<=" || t === ">=" + ? KOe(e[1], e[2], t) + : t === "any" + ? $xr(e.slice(1)) + : t === "all" + ? ["all"].concat(e.slice(1).map($pe)) + : t === "none" + ? ["all"].concat(e.slice(1).map($pe).map(Lpe)) + : t === "in" + ? zon(e[1], e.slice(2)) + : t === "!in" + ? Lpe(zon(e[1], e.slice(2))) + : t === "has" + ? _on(e[1]) + : t !== "!has" || Lpe(_on(e[1])); +} +function KOe(e, t, n) { + switch (e) { + case "$type": + return [`filter-type-${n}`, t]; + case "$id": + return [`filter-id-${n}`, t]; + default: + return [`filter-${n}`, e, t]; + } +} +function $xr(e) { + return ["any"].concat(e.map($pe)); +} +function zon(e, t) { + if (t.length === 0) return !1; + switch (e) { + case "$type": + return ["filter-type-in", ["literal", t]]; + case "$id": + return ["filter-id-in", ["literal", t]]; + default: + return t.length > 200 && !t.some((n) => typeof n != typeof t[0]) + ? ["filter-in-large", e, ["literal", t.sort(jxr)]] + : ["filter-in-small", e, ["literal", t]]; + } +} +function _on(e) { + switch (e) { + case "$type": + return !0; + case "$id": + return ["filter-has-id"]; + default: + return ["filter-has", e]; + } +} +function Lpe(e) { + return ["!", e]; +} +function usn(e) { + let { key: t, value: n } = e; + return n ? [new jt(t, n, "constants have been deprecated as of v8")] : []; +} +function gc(e) { + return e instanceof Number || e instanceof String || e instanceof Boolean + ? e.valueOf() + : e; +} +function GT(e) { + if (Array.isArray(e)) return e.map(GT); + if ( + e instanceof Object && + !(e instanceof Number || e instanceof String || e instanceof Boolean) + ) { + let t = {}; + for (let n in e) t[n] = GT(e[n]); + return t; + } + return gc(e); +} +function Yg(e) { + let { key: t, value: n } = e, + r = e.valueSpec || {}, + o = e.objectElementValidators || {}, + { style: a, styleSpec: i, validateSpec: s } = e, + l = [], + c = Mo(n); + if (c !== "object") return [new jt(t, n, `object expected, ${c} found`)]; + for (let u in n) { + let d = u.split(".")[0], + p = UZ(r, d) || r["*"], + f; + if (UZ(o, d)) f = o[d]; + else if (UZ(r, d)) { + if (n[u] === void 0) continue; + f = s; + } else if (o["*"]) f = o["*"]; + else if (r["*"]) f = s; + else { + l.push(new jt(t, n[u], `unknown property "${u}"`)); + continue; + } + l = l.concat( + f( + { + key: (t && `${t}.`) + u, + value: n[u], + valueSpec: p, + style: a, + styleSpec: i, + object: n, + objectKey: u, + validateSpec: s, + }, + n, + ), + ); + } + for (let u in r) + o[u] || + (r[u].required && + r[u].default === void 0 && + n[u] === void 0 && + l.push(new jt(t, n, `missing required property "${u}"`))); + return l; +} +function _Ue(e) { + let { + value: t, + valueSpec: n, + validateSpec: r, + style: o, + styleSpec: a, + key: i, + } = e, + s = e.arrayElementValidator || r; + if (Mo(t) !== "array") + return [new jt(i, t, `array expected, ${Mo(t)} found`)]; + if (n.length && t.length !== n.length) + return [ + new jt( + i, + t, + `array length ${n.length} expected, length ${t.length} found`, + ), + ]; + let l = { type: n.value, values: n.values }; + (a.$version < 7 && (l.function = n.function), + Mo(n.value) === "object" && (l = n.value)); + let c = []; + for (let u = 0; u < t.length; u++) + c = c.concat( + s({ + array: t, + arrayIndex: u, + value: t[u], + valueSpec: l, + validateSpec: e.validateSpec, + style: o, + styleSpec: a, + key: `${i}[${u}]`, + }), + ); + return c; +} +function zfe(e) { + let { key: t, value: n, valueSpec: r } = e, + o = Mo(n); + return ( + o === "number" && n !== n && (o = "NaN"), + o === "number" + ? "minimum" in r && n < r.minimum + ? [new jt(t, n, `${n} is less than the minimum value ${r.minimum}`)] + : "maximum" in r && n > r.maximum + ? [ + new jt( + t, + n, + `${n} is greater than the maximum value ${r.maximum}`, + ), + ] + : [] + : [new jt(t, n, `number expected, ${o} found`)] + ); +} +function dsn(e) { + let t = e.valueSpec, + n = gc(e.value.type), + r, + o = {}, + a, + i, + s = n !== "categorical" && e.value.property === void 0, + l = !s, + c = + Mo(e.value.stops) === "array" && + Mo(e.value.stops[0]) === "array" && + Mo(e.value.stops[0][0]) === "object", + u = Yg({ + key: e.key, + value: e.value, + valueSpec: e.styleSpec.function, + validateSpec: e.validateSpec, + style: e.style, + styleSpec: e.styleSpec, + objectElementValidators: { stops: d, default: m }, + }); + return ( + n === "identity" && + s && + u.push(new jt(e.key, e.value, 'missing required property "property"')), + n !== "identity" && + !e.value.stops && + u.push(new jt(e.key, e.value, 'missing required property "stops"')), + n === "exponential" && + e.valueSpec.expression && + !OUe(e.valueSpec) && + u.push(new jt(e.key, e.value, "exponential functions not supported")), + e.styleSpec.$version >= 8 && + (l && !UL(e.valueSpec) + ? u.push(new jt(e.key, e.value, "property functions not supported")) + : s && + !$in(e.valueSpec) && + u.push(new jt(e.key, e.value, "zoom functions not supported"))), + (n === "categorical" || c) && + e.value.property === void 0 && + u.push(new jt(e.key, e.value, '"property" property is required')), + u + ); + function d(g) { + if (n === "identity") + return [ + new jt( + g.key, + g.value, + 'identity function may not have a "stops" property', + ), + ]; + let v = [], + y = g.value; + return ( + (v = v.concat( + _Ue({ + key: g.key, + value: y, + valueSpec: g.valueSpec, + validateSpec: g.validateSpec, + style: g.style, + styleSpec: g.styleSpec, + arrayElementValidator: p, + }), + )), + Mo(y) === "array" && + y.length === 0 && + v.push(new jt(g.key, y, "array must have at least one stop")), + v + ); + } + function p(g) { + let v = [], + { value: y, key: x } = g; + if (Mo(y) !== "array") + return [new jt(x, y, `array expected, ${Mo(y)} found`)]; + if (y.length !== 2) + return [ + new jt(x, y, `array length 2 expected, length ${y.length} found`), + ]; + if (c) { + if (Mo(y[0]) !== "object") + return [new jt(x, y, `object expected, ${Mo(y[0])} found`)]; + if (y[0].zoom === void 0) + return [new jt(x, y, "object stop key must have zoom")]; + if (y[0].value === void 0) + return [new jt(x, y, "object stop key must have value")]; + if (i && i > gc(y[0].zoom)) + return [ + new jt( + x, + y[0].zoom, + "stop zoom values must appear in ascending order", + ), + ]; + (gc(y[0].zoom) !== i && ((i = gc(y[0].zoom)), (a = void 0), (o = {})), + (v = v.concat( + Yg({ + key: `${x}[0]`, + value: y[0], + valueSpec: { zoom: {} }, + validateSpec: g.validateSpec, + style: g.style, + styleSpec: g.styleSpec, + objectElementValidators: { zoom: zfe, value: f }, + }), + ))); + } else + v = v.concat( + f( + { + key: `${x}[0]`, + value: y[0], + valueSpec: {}, + validateSpec: g.validateSpec, + style: g.style, + styleSpec: g.styleSpec, + }, + y, + ), + ); + return Ufe(GT(y[1])) + ? v.concat([ + new jt( + `${x}[1]`, + y[1], + "expressions are not allowed in function stops.", + ), + ]) + : v.concat( + g.validateSpec({ + key: `${x}[1]`, + value: y[1], + valueSpec: t, + validateSpec: g.validateSpec, + style: g.style, + styleSpec: g.styleSpec, + }), + ); + } + function f(g, v) { + let y = Mo(g.value), + x = gc(g.value), + A = g.value === null ? v : g.value; + if (!r) r = y; + else if (y !== r) + return [ + new jt( + g.key, + A, + `${y} stop domain type must match previous stop domain type ${r}`, + ), + ]; + if (y !== "number" && y !== "string" && y !== "boolean") + return [ + new jt( + g.key, + A, + "stop domain value must be a number, string, or boolean", + ), + ]; + if (y !== "number" && n !== "categorical") { + let w = `number expected, ${y} found`; + return ( + UL(t) && + n === void 0 && + (w += + '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), + [new jt(g.key, A, w)] + ); + } + return n === "categorical" && + y === "number" && + (!isFinite(x) || Math.floor(x) !== x) + ? [new jt(g.key, A, `integer expected, found ${x}`)] + : n !== "categorical" && y === "number" && a !== void 0 && x < a + ? [ + new jt( + g.key, + A, + "stop domain values must appear in ascending order", + ), + ] + : ((a = x), + n === "categorical" && x in o + ? [new jt(g.key, A, "stop domain values must be unique")] + : ((o[x] = !0), [])); + } + function m(g) { + return g.validateSpec({ + key: g.key, + value: g.value, + valueSpec: t, + validateSpec: g.validateSpec, + style: g.style, + styleSpec: g.styleSpec, + }); + } +} +function _L(e) { + let t = (e.expressionContext === "property" ? osn : Nfe)( + GT(e.value), + e.key, + e.valueSpec, + ); + if (t.result === "error") + return t.value.map((r) => new jt(`${e.key}${r.key}`, e.value, r.message)); + let n = t.value.expression || t.value._styleExpression.expression; + if ( + e.expressionContext === "property" && + e.propertyKey === "text-font" && + !n.outputDefined() + ) + return [ + new jt( + e.key, + e.value, + `Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`, + ), + ]; + if ( + e.expressionContext === "property" && + e.propertyType === "layout" && + !WZ(n) + ) + return [ + new jt( + e.key, + e.value, + '"feature-state" data expressions are not supported with layout properties.', + ), + ]; + if (e.expressionContext === "filter" && !WZ(n)) + return [ + new jt( + e.key, + e.value, + '"feature-state" data expressions are not supported with filters.', + ), + ]; + if (e.expressionContext && e.expressionContext.indexOf("cluster") === 0) { + if (!Ofe(n, ["zoom", "feature-state"])) + return [ + new jt( + e.key, + e.value, + '"zoom" and "feature-state" expressions are not supported with cluster properties.', + ), + ]; + if (e.expressionContext === "cluster-initial" && !Bfe(n)) + return [ + new jt( + e.key, + e.value, + "Feature data expressions are not supported with initial expression part of cluster properties.", + ), + ]; + } + return []; +} +function eAr(e) { + let { value: t, key: n } = e, + r = Mo(t); + return r === "boolean" ? [] : [new jt(n, t, `boolean expected, ${r} found`)]; +} +function dFe(e) { + let { key: t, value: n } = e, + r = Mo(n); + return r === "string" + ? Kr.parse(String(n)) + ? [] + : [new jt(t, n, `color expected, "${n}" found`)] + : [new jt(t, n, `color expected, ${r} found`)]; +} +function JZ(e) { + let { key: t, value: n, valueSpec: r } = e, + o = []; + return ( + Array.isArray(r.values) + ? r.values.indexOf(gc(n)) === -1 && + o.push( + new jt( + t, + n, + `expected one of [${r.values.join(", ")}], ${JSON.stringify(n)} found`, + ), + ) + : Object.keys(r.values).indexOf(gc(n)) === -1 && + o.push( + new jt( + t, + n, + `expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(n)} found`, + ), + ), + o + ); +} +function tAr(e, t) { + let n = e; + for (let r of t) n = n[r]; + return n; +} +function nAr(e, t) { + let n = zUe(t); + return n + ? [ + new jt( + `${e.key}${n.path.map((r) => `[${r}]`).join("")}`, + tAr(e.value, n.path), + lsn(n.legacyFilter), + null, + "warning", + ), + ] + : []; +} +function HUe(e) { + let t = GT(e.value); + return NUe(t) + ? [ + ...nAr(e, t), + ..._L( + YZ({}, e, { + expressionContext: "filter", + valueSpec: { value: "boolean" }, + }), + ), + ] + : psn(e); +} +function psn(e) { + let { value: t, key: n } = e; + if (Mo(t) !== "array") + return [new jt(n, t, `array expected, ${Mo(t)} found`)]; + let r = e.styleSpec, + o, + a = []; + if (t.length < 1) + return [new jt(n, t, "filter array must have at least 1 element")]; + switch ( + ((a = a.concat( + JZ({ + key: `${n}[0]`, + value: t[0], + valueSpec: r.filter_operator, + style: e.style, + styleSpec: e.styleSpec, + }), + )), + gc(t[0])) + ) { + case "<": + case "<=": + case ">": + case ">=": + t.length >= 2 && + gc(t[1]) === "$type" && + a.push(new jt(n, t, `"$type" cannot be use with operator "${t[0]}"`)); + case "==": + case "!=": + t.length !== 3 && + a.push( + new jt( + n, + t, + `filter array for operator "${t[0]}" must have 3 elements`, + ), + ); + case "in": + case "!in": + t.length >= 2 && + ((o = Mo(t[1])), + o !== "string" && + a.push(new jt(`${n}[1]`, t[1], `string expected, ${o} found`))); + for (let i = 2; i < t.length; i++) + ((o = Mo(t[i])), + gc(t[1]) === "$type" + ? (a = a.concat( + JZ({ + key: `${n}[${i}]`, + value: t[i], + valueSpec: r.geometry_type, + style: e.style, + styleSpec: e.styleSpec, + }), + )) + : o !== "string" && + o !== "number" && + o !== "boolean" && + a.push( + new jt( + `${n}[${i}]`, + t[i], + `string, number, or boolean expected, ${o} found`, + ), + )); + break; + case "any": + case "all": + case "none": + for (let i = 1; i < t.length; i++) + a = a.concat( + psn({ + key: `${n}[${i}]`, + value: t[i], + style: e.style, + styleSpec: e.styleSpec, + }), + ); + break; + case "has": + case "!has": + ((o = Mo(t[1])), + t.length === 2 + ? o !== "string" && + a.push(new jt(`${n}[1]`, t[1], `string expected, ${o} found`)) + : a.push( + new jt( + n, + t, + `filter array for "${t[0]}" operator must have 2 elements`, + ), + )); + } + return a; +} +function fsn(e, t) { + let { + key: n, + validateSpec: r, + style: o, + styleSpec: a, + value: i, + objectKey: s, + } = e, + l = a[`${t}_${e.layerType}`]; + if (!l) return []; + let c = s.match(FUe); + if (t === "paint" && c && l[c[1]] && l[c[1]].transition) + return r({ + key: n, + value: i, + valueSpec: a.transition, + style: o, + styleSpec: a, + }); + let u = e.valueSpec || l[s]; + if (!u) return [new jt(n, i, `unknown property "${s}"`)]; + let d; + if (Mo(i) === "string" && UL(u) && !u.tokens && (d = /^{([^}]+)}$/.exec(i))) + return [ + new jt( + n, + i, + `"${s}" does not support interpolation syntax +Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`, + ), + ]; + let p = []; + return ( + e.layerType === "symbol" && + s === "text-font" && + Ffe(GT(i)) && + gc(i.type) === "identity" && + p.push(new jt(n, i, '"text-font" does not support identity functions')), + p.concat( + r({ + key: e.key, + value: i, + valueSpec: u, + style: o, + styleSpec: a, + expressionContext: "property", + propertyType: t, + propertyKey: s, + }), + ) + ); +} +function msn(e) { + return fsn(e, "paint"); +} +function hsn(e) { + return fsn(e, "layout"); +} +function gsn(e) { + let t = [], + { value: n, key: r, style: o, styleSpec: a } = e; + if (Mo(n) !== "object") + return [new jt(r, n, `object expected, ${Mo(n)} found`)]; + !n.type && + !n.ref && + t.push(new jt(r, n, 'either "type" or "ref" is required')); + let i = gc(n.type), + s = gc(n.ref); + if (n.id) { + let l = gc(n.id); + for (let c = 0; c < e.arrayIndex; c++) { + let u = o.layers[c]; + gc(u.id) === l && + t.push( + new jt( + r, + n.id, + `duplicate layer id "${n.id}", previously used at line ${u.id.__line__}`, + ), + ); + } + } + if ("ref" in n) { + ["type", "source", "source-layer", "filter", "layout"].forEach((c) => { + c in n && t.push(new jt(r, n[c], `"${c}" is prohibited for ref layers`)); + }); + let l; + (o.layers.forEach((c) => { + gc(c.id) === s && (l = c); + }), + l + ? l.ref + ? t.push(new jt(r, n.ref, "ref cannot reference another ref layer")) + : (i = gc(l.type)) + : t.push(new jt(r, n.ref, `ref layer "${s}" not found`))); + } else if (i !== "background") + if (!n.source) t.push(new jt(r, n, 'missing required property "source"')); + else { + let l = o.sources && o.sources[n.source], + c = l && gc(l.type); + l + ? c === "vector" && i === "raster" + ? t.push( + new jt(r, n.source, `layer "${n.id}" requires a raster source`), + ) + : (c !== "raster-dem" && i === "hillshade") || + (c !== "raster-dem" && i === "color-relief") + ? t.push( + new jt( + r, + n.source, + `layer "${n.id}" requires a raster-dem source`, + ), + ) + : c === "raster" && i !== "raster" + ? t.push( + new jt( + r, + n.source, + `layer "${n.id}" requires a vector source`, + ), + ) + : c === "vector" && !n["source-layer"] + ? t.push( + new jt( + r, + n, + `layer "${n.id}" must specify a "source-layer"`, + ), + ) + : c === "raster-dem" && + i !== "hillshade" && + i !== "color-relief" + ? t.push( + new jt( + r, + n.source, + "raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.", + ), + ) + : i === "line" && + n.paint && + n.paint["line-gradient"] && + (c !== "geojson" || !l.lineMetrics) && + t.push( + new jt( + r, + n, + `layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`, + ), + ) + : t.push(new jt(r, n.source, `source "${n.source}" not found`)); + } + return ( + i === "raster" && + n.paint?.resampling && + n.paint?.["raster-resampling"] && + t.push( + new jt( + r, + n.paint, + `layer "${n.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`, + ), + ), + (t = t.concat( + Yg({ + key: r, + value: n, + valueSpec: a.layer, + style: e.style, + styleSpec: e.styleSpec, + validateSpec: e.validateSpec, + objectElementValidators: { + "*"() { + return []; + }, + type() { + return e.validateSpec({ + key: `${r}.type`, + value: n.type, + valueSpec: a.layer.type, + style: e.style, + styleSpec: e.styleSpec, + validateSpec: e.validateSpec, + object: n, + objectKey: "type", + }); + }, + filter: HUe, + layout(l) { + return Yg({ + layer: n, + key: l.key, + value: l.value, + style: l.style, + styleSpec: l.styleSpec, + validateSpec: l.validateSpec, + objectElementValidators: { + "*"(c) { + return hsn(YZ({ layerType: i }, c)); + }, + }, + }); + }, + paint(l) { + return Yg({ + layer: n, + key: l.key, + value: l.value, + style: l.style, + styleSpec: l.styleSpec, + validateSpec: l.validateSpec, + objectElementValidators: { + "*"(c) { + return msn(YZ({ layerType: i }, c)); + }, + }, + }); + }, + }, + }), + )), + t + ); +} +function XC(e) { + let { value: t, key: n } = e, + r = Mo(t); + return r === "string" ? [] : [new jt(n, t, `string expected, ${r} found`)]; +} +function rAr(e) { + let t = e.sourceName ?? "", + { value: n, styleSpec: r } = e, + o = r.source_raster_dem, + a = e.style, + i = [], + s = Mo(n); + if (n === void 0) return i; + if (s !== "object") + return ( + i.push(new jt("source_raster_dem", n, `object expected, ${s} found`)), + i + ); + let l = gc(n.encoding) === "custom", + c = ["redFactor", "greenFactor", "blueFactor", "baseShift"], + u = e.value.encoding ? `"${e.value.encoding}"` : "Default"; + for (let d in n) + !l && c.includes(d) + ? i.push( + new jt( + d, + n[d], + `In "${t}": "${d}" is only valid when "encoding" is set to "custom". ${u} encoding found`, + ), + ) + : o[d] + ? (i = i.concat( + e.validateSpec({ + key: d, + value: n[d], + valueSpec: o[d], + validateSpec: e.validateSpec, + style: a, + styleSpec: r, + }), + )) + : i.push(new jt(d, n[d], `unknown property "${d}"`)); + return i; +} +function ysn(e) { + let { value: t, key: n, styleSpec: r, style: o, validateSpec: a } = e; + if (!t.type) return [new jt(n, t, '"type" is required')]; + let i = gc(t.type), + s; + switch (i) { + case "vector": + case "raster": + return ( + (s = Yg({ + key: n, + value: t, + valueSpec: r[`source_${i.replace("-", "_")}`], + style: e.style, + styleSpec: r, + objectElementValidators: Hon, + validateSpec: a, + })), + s + ); + case "raster-dem": + return ( + (s = rAr({ + sourceName: n, + value: t, + style: e.style, + styleSpec: r, + validateSpec: a, + })), + s + ); + case "geojson": + if ( + ((s = Yg({ + key: n, + value: t, + valueSpec: r.source_geojson, + style: o, + styleSpec: r, + validateSpec: a, + objectElementValidators: Hon, + })), + t.cluster) + ) + for (let l in t.clusterProperties) { + let [c, u] = t.clusterProperties[l], + d = typeof c == "string" ? [c, ["accumulated"], ["get", l]] : c; + (s.push( + ..._L({ + key: `${n}.${l}.map`, + value: u, + validateSpec: a, + expressionContext: "cluster-map", + }), + ), + s.push( + ..._L({ + key: `${n}.${l}.reduce`, + value: d, + validateSpec: a, + expressionContext: "cluster-reduce", + }), + )); + } + return s; + case "video": + return Yg({ + key: n, + value: t, + valueSpec: r.source_video, + style: o, + validateSpec: a, + styleSpec: r, + }); + case "image": + return Yg({ + key: n, + value: t, + valueSpec: r.source_image, + style: o, + validateSpec: a, + styleSpec: r, + }); + case "canvas": + return [ + new jt( + n, + null, + "Please use runtime APIs to add canvas sources, rather than including them in stylesheets.", + "source.canvas", + ), + ]; + default: + return JZ({ + key: `${n}.type`, + value: t.type, + valueSpec: { + values: [ + "vector", + "raster", + "raster-dem", + "geojson", + "video", + "image", + ], + }, + style: o, + validateSpec: a, + styleSpec: r, + }); + } +} +function oAr({ key: e, value: t }) { + if (Mo(t) === "string") return XC({ key: e, value: t }); + { + let n = []; + for (let r in t) n.push(...XC({ key: `${e}.${r}`, value: t[r] })); + return n; + } +} +function vsn(e) { + let { value: t, styleSpec: n } = e, + r = n.light, + o = e.style, + a = [], + i = Mo(t); + if (t === void 0) return a; + if (i !== "object") + return ( + (a = a.concat([new jt("light", t, `object expected, ${i} found`)])), + a + ); + for (let s in t) { + let l = s.match(FUe); + a = + l && r[l[1]] && r[l[1]].transition + ? a.concat( + e.validateSpec({ + key: s, + value: t[s], + valueSpec: n.transition, + validateSpec: e.validateSpec, + style: o, + styleSpec: n, + }), + ) + : r[s] + ? a.concat( + e.validateSpec({ + key: s, + value: t[s], + valueSpec: r[s], + validateSpec: e.validateSpec, + style: o, + styleSpec: n, + }), + ) + : a.concat([new jt(s, t[s], `unknown property "${s}"`)]); + } + return a; +} +function bsn(e) { + let { value: t, styleSpec: n } = e, + r = n.sky, + o = e.style, + a = Mo(t); + if (t === void 0) return []; + if (a !== "object") return [new jt("sky", t, `object expected, ${a} found`)]; + let i = []; + for (let s in t) { + let l = s.match(FUe); + i = + l && r[l[1]] && r[l[1]].transition + ? i.concat( + e.validateSpec({ + key: s, + value: t[s], + valueSpec: n.transition, + style: o, + styleSpec: n, + }), + ) + : r[s] + ? i.concat( + e.validateSpec({ + key: s, + value: t[s], + valueSpec: r[s], + style: o, + styleSpec: n, + }), + ) + : i.concat([new jt(s, t[s], `unknown property "${s}"`)]); + } + return i; +} +function xsn(e) { + let { value: t, styleSpec: n } = e, + r = n.terrain, + o = e.style, + a = [], + i = Mo(t); + if (t === void 0) return a; + if (i !== "object") + return ( + (a = a.concat([new jt("terrain", t, `object expected, ${i} found`)])), + a + ); + for (let s in t) + a = r[s] + ? a.concat( + e.validateSpec({ + key: s, + value: t[s], + valueSpec: r[s], + validateSpec: e.validateSpec, + style: o, + styleSpec: n, + }), + ) + : a.concat([new jt(s, t[s], `unknown property "${s}"`)]); + return a; +} +function aAr(e) { + return XC(e).length === 0 ? [] : _L(e); +} +function iAr(e) { + return XC(e).length === 0 ? [] : _L(e); +} +function sAr(e) { + let { key: t, value: n } = e; + if (Mo(n) === "array") { + if (n.length < 1 || n.length > 4) + return [ + new jt( + t, + n, + `padding requires 1 to 4 values; ${n.length} values found`, + ), + ]; + let r = { type: "number" }, + o = []; + for (let a = 0; a < n.length; a++) + o = o.concat( + e.validateSpec({ + key: `${t}[${a}]`, + value: n[a], + validateSpec: e.validateSpec, + valueSpec: r, + }), + ); + return o; + } + return zfe({ key: t, value: n, valueSpec: {} }); +} +function lAr(e) { + let { key: t, value: n } = e; + if (Mo(n) === "array") { + let r = { type: "number" }; + if (n.length < 1) + return [new jt(t, n, "array length at least 1 expected, length 0 found")]; + let o = []; + for (let a = 0; a < n.length; a++) + o = o.concat( + e.validateSpec({ + key: `${t}[${a}]`, + value: n[a], + validateSpec: e.validateSpec, + valueSpec: r, + }), + ); + return o; + } + return zfe({ key: t, value: n, valueSpec: {} }); +} +function cAr(e) { + let { key: t, value: n } = e; + if (Mo(n) === "array") { + if (n.length < 1) + return [new jt(t, n, "array length at least 1 expected, length 0 found")]; + let r = []; + for (let o = 0; o < n.length; o++) + r = r.concat(dFe({ key: `${t}[${o}]`, value: n[o], valueSpec: {} })); + return r; + } + return dFe({ key: t, value: n, valueSpec: {} }); +} +function uAr(e) { + let { key: t, value: n } = e, + r = Mo(n), + o = e.styleSpec; + if (r !== "array" || n.length < 1 || n.length % 2 != 0) + return [ + new jt( + t, + n, + "variableAnchorOffsetCollection requires a non-empty array of even length", + ), + ]; + let a = []; + for (let i = 0; i < n.length; i += 2) + ((a = a.concat( + JZ({ + key: `${t}[${i}]`, + value: n[i], + valueSpec: o.layout_symbol["text-anchor"], + }), + )), + (a = a.concat( + _Ue({ + key: `${t}[${i + 1}]`, + value: n[i + 1], + valueSpec: { length: 2, value: "number" }, + validateSpec: e.validateSpec, + style: e.style, + styleSpec: o, + }), + ))); + return a; +} +function Asn(e) { + let t = [], + { value: n, key: r } = e; + if (Array.isArray(n)) { + let o = [], + a = []; + for (let i in n) + (n[i].id && + o.includes(n[i].id) && + t.push( + new jt( + r, + n, + `all the sprites' ids must be unique, but ${n[i].id} is duplicated`, + ), + ), + o.push(n[i].id), + n[i].url && + a.includes(n[i].url) && + t.push( + new jt( + r, + n, + `all the sprites' URLs must be unique, but ${n[i].url} is duplicated`, + ), + ), + a.push(n[i].url), + (t = t.concat( + Yg({ + key: `${r}[${i}]`, + value: n[i], + valueSpec: { + id: { type: "string", required: !0 }, + url: { type: "string", required: !0 }, + }, + validateSpec: e.validateSpec, + }), + ))); + return t; + } + return XC({ key: r, value: n }); +} +function dAr(e) { + let { value: t, styleSpec: n } = e, + r = n.projection, + o = e.style, + a = Mo(t); + if (t === void 0) return []; + if (a !== "object") + return [new jt("projection", t, `object expected, ${a} found`)]; + let i = []; + for (let s in t) + i = r[s] + ? i.concat( + e.validateSpec({ + key: s, + value: t[s], + valueSpec: r[s], + style: o, + styleSpec: n, + }), + ) + : i.concat([new jt(s, t[s], `unknown property "${s}"`)]); + return i; +} +function pAr(e) { + let { key: t, value: n } = e; + n = n instanceof String ? n.valueOf() : n; + let r = Mo(n); + return r === "array" && !mAr(n) && !fAr(n) + ? [ + new jt( + t, + n, + `projection expected, invalid array ${JSON.stringify(n)} found`, + ), + ] + : ["array", "string"].includes(r) + ? [] + : [new jt(t, n, `projection expected, invalid type "${r}" found`)]; +} +function fAr(e) { + return !!["interpolate", "step", "literal"].includes(e[0]); +} +function mAr(e) { + return ( + Array.isArray(e) && + e.length === 3 && + typeof e[0] == "string" && + typeof e[1] == "string" && + typeof e[2] == "number" + ); +} +function pFe(e) { + return !!e && e.constructor === Object; +} +function wsn(e) { + return pFe(e.value) + ? [] + : [new jt(e.key, e.value, `object expected, ${Mo(e.value)} found`)]; +} +function gAr(e, t) { + if (Mo(t) !== "string") return []; + let n = `${t}`, + r = () => [ + new jt( + e, + t, + 'invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"', + ), + ], + o = n.match(hAr); + if (!o) return r(); + let [, a, i, s] = o; + if (s !== void 0) return s.length > 6 ? r() : []; + let l = parseInt(a, 16), + c = i === void 0 ? l : parseInt(i, 16); + return l > Von || c > Von + ? [ + new jt( + e, + t, + "unicode range is out of bounds, the maximum code point is U+10FFFF", + ), + ] + : l > c + ? [ + new jt( + e, + t, + `unicode range start must not be greater than its end, but ${n} is`, + ), + ] + : []; +} +function Ssn(e) { + let t = e.key ?? "font-faces", + { value: n, validateSpec: r } = e, + o = e.styleSpec ?? Rin, + a = e.style; + if (!pFe(n)) return [new jt(t, n, `object expected, ${Mo(n)} found`)]; + let i = []; + for (let s in n) { + let l = n[s], + c = Mo(l); + if (c === "string") i.push(...XC({ key: `${t}.${s}`, value: l })); + else if (c === "array") { + let u = { + url: { type: "string", required: !0 }, + "unicode-range": { type: "array", value: "string" }, + }; + for (let [d, p] of l.entries()) { + let f = `${t}.${s}[${d}]`; + i.push( + ...Yg({ + key: f, + value: p, + valueSpec: u, + styleSpec: o, + style: a, + validateSpec: r, + }), + ); + let m = pFe(p) ? p["unicode-range"] : void 0; + if (Mo(m) === "array") + for (let [g, v] of m.entries()) + i.push(...gAr(`${f}.unicode-range[${g}]`, v)); + } + } else + i.push(new jt(`${t}.${s}`, l, `string or array expected, ${c} found`)); + } + return i; +} +function zZ(e) { + let { value: t, valueSpec: n, styleSpec: r } = e; + return ( + (e.validateSpec = zZ), + n.expression && Ffe(gc(t)) + ? dsn(e) + : n.expression && Ufe(GT(t)) + ? _L(e) + : n.type && Gon[n.type] + ? Gon[n.type](e) + : Yg(YZ({}, e, { valueSpec: n.type ? r[n.type] : n })) + ); +} +function Csn(e) { + let { value: t, key: n } = e, + r = XC(e); + return r.length + ? r + : (t.indexOf("{fontstack}") === -1 && + r.push(new jt(n, t, '"glyphs" url must include a "{fontstack}" token')), + t.indexOf("{range}") === -1 && + r.push(new jt(n, t, '"glyphs" url must include a "{range}" token')), + r); +} +function Wg(e, t = bt) { + let n = []; + return ( + (n = n.concat( + zZ({ + key: "", + value: e, + valueSpec: t.$root, + styleSpec: t, + style: e, + validateSpec: zZ, + objectElementValidators: { + glyphs: Csn, + "*"() { + return []; + }, + }, + }), + )), + e.constants && + (n = n.concat( + usn({ + key: "constants", + value: e.constants, + style: e, + styleSpec: t, + validateSpec: zZ, + }), + )), + Esn(n) + ); +} +function Ty(e) { + return function (t) { + return e(Object.assign({}, t, { validateSpec: zZ })); + }; +} +function Esn(e) { + return [].concat(e).sort((t, n) => t.line - n.line); +} +function ky(e) { + return function (...t) { + return Esn(e.apply(this, t)); + }; +} +function bAr(e, t, n) { + return new vAr(e, t, n); +} +function xAr(e) { + return Object.entries(e.sources ?? {}) + .filter(([, t]) => !VUe.has(t.type)) + .map(([t]) => `sources.${t}`); +} +function GUe(e, t) { + let n = xAr(t); + return _fe( + e, + Sh(t).filter( + ({ message: r }) => + !n.some((o) => r.startsWith(`${o}:`) || r.startsWith(`${o}.`)), + ), + ); +} +function _fe(e, t) { + let n = !1; + for (let r of t) { + if (r.severity === "warning") { + Ko(r.message); + continue; + } + (e.fire(new lr(Error(r.message))), (n = !0)); + } + return n; +} +function WL(e, t, n, r) { + return r?.validate !== !1 && _fe(e, t({ styleSpec: bt, ...n })); +} +function Hn(e, t, n = {}) { + if (Sw[e]) throw Error(`${e} is already registered.`); + (Object.defineProperty(t, "_classRegistryKey", { value: e, writeable: !1 }), + (Sw[e] = { klass: t, omit: n.omit || [], shallow: n.shallow || [] })); +} +function Isn(e) { + return ( + e && + typeof ArrayBuffer < "u" && + (e instanceof ArrayBuffer || e.constructor?.name === "ArrayBuffer") + ); +} +function qUe(e) { + let t = e.constructor; + return e.$name || t._classRegistryKey; +} +function AAr(e) { + if (typeof e != "object" || !e) return !1; + let t = qUe(e); + return t && t !== "Object"; +} +function Tsn(e) { + return ( + !AAr(e) && + (e == null || + typeof e == "boolean" || + typeof e == "number" || + typeof e == "string" || + e instanceof Boolean || + e instanceof Number || + e instanceof String || + e instanceof Date || + e instanceof RegExp || + e instanceof Blob || + e instanceof Error || + Isn(e) || + KC(e) || + ArrayBuffer.isView(e) || + e instanceof ImageData) + ); +} +function _Z(e, t) { + if (Tsn(e)) + return ( + (Isn(e) || KC(e)) && t && t.push(e), + ArrayBuffer.isView(e) && t && t.push(e.buffer), + e instanceof ImageData && t && t.push(e.data.buffer), + e + ); + if (Array.isArray(e)) { + let a = []; + for (let i of e) a.push(_Z(i, t)); + return a; + } + if (typeof e != "object") + throw Error(`can't serialize object of type ${typeof e}`); + let n = qUe(e); + if (!n) + throw Error( + `can't serialize object of unregistered class ${e.constructor.name}`, + ); + if (!Sw[n]) throw Error(`${n} is not registered.`); + let { klass: r } = Sw[n], + o = r.serialize ? r.serialize(e, t) : {}; + if (!r.serialize) { + for (let a in e) { + if (!e.hasOwnProperty(a) || Sw[n].omit.includes(a)) continue; + let i = e[a]; + i !== void 0 && (o[a] = Sw[n].shallow.includes(a) ? i : _Z(i, t)); + } + e instanceof Error && (o.message = e.message); + } else if (o === t?.[t.length - 1]) + throw Error( + "statically serialized object won't survive transfer of $name property", + ); + if (o.$name) + throw Error("$name property is reserved for worker serialization logic."); + return (n !== "Object" && (o.$name = n), o); +} +function HZ(e) { + if (Tsn(e)) return e; + if (Array.isArray(e)) return e.map(HZ); + if (typeof e != "object") + throw Error(`can't deserialize object of type ${typeof e}`); + let t = qUe(e) || "Object"; + if (!Sw[t]) throw Error(`can't deserialize unregistered class ${t}`); + let { klass: n } = Sw[t]; + if (!n) throw Error(`can't deserialize unregistered class ${t}`); + if (n.deserialize) return n.deserialize(e); + let r = Object.create(n.prototype); + for (let o of Object.keys(e)) { + if (o === "$name") continue; + let a = e[o]; + r[o] = Sw[t].shallow.includes(o) ? a : HZ(a); + } + return r; +} +function Qon(e) { + if (Array.isArray(e)) return e.length; + let t = e?.values; + return Array.isArray(t) ? t.length : void 0; +} +function ksn(e, t) { + let n = Qon(e), + r = Qon(t); + return n !== void 0 && r !== void 0 && n !== r; +} +function nl(e, t = 1) { + let n = 0, + r = 0; + return { + members: e.map((o) => { + let a = kAr(o.type), + i = (n = Won(n, Math.max(t, a))), + s = o.components || 1; + return ( + (r = Math.max(r, a)), + (n += a * s), + { name: o.name, type: o.type, components: s, offset: i } + ); + }), + size: Won(n, Math.max(r, t)), + alignment: t, + }; +} +function kAr(e) { + return TAr[e].BYTES_PER_ELEMENT; +} +function Won(e, t) { + return Math.ceil(e / t) * t; +} +function Jon(e, t) { + return ( + (e = qr(Math.floor(e), 0, 255)), + (t = qr(Math.floor(t), 0, 255)), + 256 * e + t + ); +} +function jon(e) { + let t = +e; + return !isNaN(t) && t <= 9007199254740991 ? t : (0, ofe.default)(String(e)); +} +function FFe(e, t, n, r) { + for (; n < r;) { + let o = e[(n + r) >> 1], + a = n - 1, + i = r + 1; + for (;;) { + do a++; + while (e[a] < o); + do i--; + while (e[i] > o); + if (a >= i) break; + (Bpe(e, a, i), + Bpe(t, 3 * a, 3 * i), + Bpe(t, 3 * a + 1, 3 * i + 1), + Bpe(t, 3 * a + 2, 3 * i + 2)); + } + i - n < r - i + ? (FFe(e, t, n, i), (n = i + 1)) + : (FFe(e, t, i + 1, r), (r = i)); + } +} +function Bpe(e, t, n) { + let r = e[t]; + ((e[t] = e[n]), (e[n] = r)); +} +function UFe(e) { + return [Jon(255 * e.r, 255 * e.g), Jon(255 * e.b, 255 * e.a)]; +} +function qAr(e, t) { + return ( + { + "text-opacity": ["opacity"], + "icon-opacity": ["opacity"], + "text-color": ["fill_color"], + "icon-color": ["fill_color"], + "text-halo-color": ["halo_color"], + "icon-halo-color": ["halo_color"], + "text-halo-blur": ["halo_blur"], + "icon-halo-blur": ["halo_blur"], + "text-halo-width": ["halo_width"], + "icon-halo-width": ["halo_width"], + "line-gap-width": ["gapwidth"], + "line-dasharray": ["dasharray_to", "dasharray_from"], + "line-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + "fill-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + "fill-extrusion-pattern": [ + "pattern_to", + "pattern_from", + "pixel_ratio_to", + "pixel_ratio_from", + ], + }[e] || [e.replace(`${t}-`, "").replace(/-/g, "_")] + ); +} +function ZAr(e) { + return { + "line-pattern": { source: xL, composite: xL }, + "fill-pattern": { source: xL, composite: xL }, + "fill-extrusion-pattern": { source: xL, composite: xL }, + "line-dasharray": { source: Yon, composite: Yon }, + }[e]; +} +function $on(e, t, n) { + let r = { + color: { source: tQ, composite: LFe }, + number: { source: rfe, composite: tQ }, + }; + return ZAr(e)?.[n] || r[t][n]; +} +function jT(e) { + let t = Ut / e.extent, + n = e.loadGeometry(); + for (let r of n) + for (let o of r) { + let a = Math.round(o.x * t), + i = Math.round(o.y * t); + ((o.x = qr(a, ean, NFe)), + (o.y = qr(i, ean, NFe)), + (a < o.x || a > o.x + 1 || i < o.y || i > o.y + 1) && + Ko( + "Geometry exceeds allowed extent, reduce your vector tile buffer size", + )); + } + return n; +} +function jC(e, t) { + return { + type: e.type, + id: e.id, + properties: e.properties, + geometry: t ? jT(e) : [], + }; +} +function QAr(e, t, n, r, o) { + e.emplaceBack(tan + t * 8 + r, tan + n * 8 + o); +} +function YUe(e, t) { + for (let n of e) if (HL(t, n)) return !0; + for (let n of t) if (HL(e, n)) return !0; + return KUe(e, t); +} +function qfe(e, t, n) { + return HL(e, t) ? !0 : zFe(t, e, n); +} +function Ksn(e, t) { + if (e.length === 1) return nan(t, e[0]); + for (let n of t) for (let r of n) if (HL(e, r)) return !0; + for (let n of e) if (nan(t, n)) return !0; + for (let n of t) if (KUe(e, n)) return !0; + return !1; +} +function XAr(e, t, n) { + for (let r of t) { + if (e.length >= 3) { + for (let o of r) if (HL(e, o)) return !0; + } + if (WAr(e, r, n)) return !0; + } + return !1; +} +function WAr(e, t, n) { + if (e.length > 1) { + if (KUe(e, t)) return !0; + for (let r of t) if (zFe(r, e, n)) return !0; + } + for (let r of e) if (zFe(r, t, n)) return !0; + return !1; +} +function KUe(e, t) { + if (e.length === 0 || t.length === 0) return !1; + for (let n = 0; n < e.length - 1; n++) { + let r = e[n], + o = e[n + 1]; + for (let a = 0; a < t.length - 1; a++) { + let i = t[a], + s = t[a + 1]; + if (YAr(r, o, i, s)) return !0; + } + } + return !1; +} +function YAr(e, t, n, r) { + return GC(e, n, r) !== GC(t, n, r) && GC(e, t, n) !== GC(e, t, r); +} +function zFe(e, t, n) { + let r = n * n; + if (t.length === 1) return e.distSqr(t[0]) < r; + for (let o = 1; o < t.length; o++) { + let a = t[o - 1], + i = t[o]; + if (Jsn(e, a, i) < r) return !0; + } + return !1; +} +function Jsn(e, t, n) { + let r = t.distSqr(n); + if (r === 0) return e.distSqr(t); + let o = ((e.x - t.x) * (n.x - t.x) + (e.y - t.y) * (n.y - t.y)) / r; + return o < 0 + ? e.distSqr(t) + : o > 1 + ? e.distSqr(n) + : e.distSqr(n.sub(t)._mult(o)._add(t)); +} +function nan(e, t) { + let n = !1, + r, + o, + a; + for (let i of e) { + r = i; + for (let s = 0, l = r.length - 1; s < r.length; l = s++) + ((o = r[s]), + (a = r[l]), + o.y > t.y != a.y > t.y && + t.x < ((a.x - o.x) * (t.y - o.y)) / (a.y - o.y) + o.x && + (n = !n)); + } + return n; +} +function HL(e, t) { + let n = !1; + for (let r = 0, o = e.length - 1; r < e.length; o = r++) { + let a = e[r], + i = e[o]; + a.y > t.y != i.y > t.y && + t.x < ((i.x - a.x) * (t.y - a.y)) / (i.y - a.y) + a.x && + (n = !n); + } + return n; +} +function KAr(e, t, n, r, o) { + for (let i of e) if (t <= i.x && n <= i.y && r >= i.x && o >= i.y) return !0; + let a = [new ft(t, n), new ft(t, o), new ft(r, o), new ft(r, n)]; + if (e.length > 2) { + for (let i of a) if (HL(e, i)) return !0; + } + for (let i = 0; i < e.length - 1; i++) { + let s = e[i], + l = e[i + 1]; + if (JAr(s, l, a)) return !0; + } + return !1; +} +function JAr(e, t, n) { + let r = n[0], + o = n[2]; + if ( + (e.x < r.x && t.x < r.x) || + (e.x > o.x && t.x > o.x) || + (e.y < r.y && t.y < r.y) || + (e.y > o.y && t.y > o.y) + ) + return !1; + let a = GC(e, t, n[0]); + return a !== GC(e, t, n[1]) || a !== GC(e, t, n[2]) || a !== GC(e, t, n[3]); +} +function RL(e, t, n) { + let r = t.paint.get(e).value; + return r.kind === "constant" + ? r.value + : n.programConfigurations.get(t.id).getMaxValue(e); +} +function Zfe(e) { + return Math.sqrt(e[0] * e[0] + e[1] * e[1]); +} +function Qfe(e, t, n, r, o) { + if (!t[0] && !t[1]) return e; + let a = ft.convert(t)._mult(o); + n === "viewport" && a._rotate(-r); + let i = []; + for (let s of e) i.push(s.sub(a)); + return i; +} +function jAr(e) { + let t = []; + for (let n = 0; n < e.length; n++) { + let r = e[n], + o = t.at(-1); + (n === 0 || (o && !r.equals(o))) && t.push(r); + } + return t; +} +function $Ar(e, t) { + let n = []; + for (let r of e) { + let o = jAr(r), + a = []; + for (let i = 0; i < o.length; i++) { + let s = o[i], + l = o[i - 1], + c = o[i + 1], + u = i === 0 ? new ft(0, 0) : s.sub(l)._unit()._perp(), + d = i === o.length - 1 ? new ft(0, 0) : c.sub(s)._unit()._perp(), + p = u._add(d)._unit(), + f = p.x * d.x + p.y * d.y; + (f !== 0 && p._mult(1 / f), a.push(p._mult(t)._add(s))); + } + n.push(a); + } + return n; +} +function e3r({ queryGeometry: e, size: t }, n) { + return qfe(e, n, t); +} +function t3r( + { + queryGeometry: e, + size: t, + transform: n, + unwrappedTileID: r, + getElevation: o, + }, + a, +) { + return qfe( + e, + a, + t * + (n.projectTileCoordinates(a.x, a.y, r, o?.(a.x, a.y)) + .signedDistanceFromCamera / + n.cameraToCenterDistance), + ); +} +function n3r( + { + queryGeometry: e, + size: t, + transform: n, + unwrappedTileID: r, + getElevation: o, + }, + a, +) { + let i = n.projectTileCoordinates( + a.x, + a.y, + r, + o?.(a.x, a.y), + ).signedDistanceFromCamera, + s = t * (n.cameraToCenterDistance / i); + return qfe(e, JUe(a, n, r, o), s); +} +function r3r( + { + queryGeometry: e, + size: t, + transform: n, + unwrappedTileID: r, + getElevation: o, + }, + a, +) { + return qfe(e, JUe(a, n, r, o), t); +} +function jsn( + { + queryGeometry: e, + size: t, + transform: n, + unwrappedTileID: r, + getElevation: o, + pitchAlignment: a = "map", + pitchScale: i = "map", + }, + s, +) { + let l = a === "map" ? (i === "map" ? e3r : t3r) : i === "map" ? n3r : r3r, + c = { + queryGeometry: e, + size: t, + transform: n, + unwrappedTileID: r, + getElevation: o, + }; + for (let u of s) for (let d of u) if (l(c, d)) return !0; + return !1; +} +function JUe(e, t, n, r) { + let o = t.projectTileCoordinates(e.x, e.y, n, r?.(e.x, e.y)).point; + return new ft((o.x * 0.5 + 0.5) * t.width, (-o.y * 0.5 + 0.5) * t.height); +} +function o3r(e, t, n, r) { + return e.map((o) => JUe(o, t, n, r)); +} +function jUe(e, { width: t, height: n }, r, o) { + if (!o) o = new Uint8Array(t * n * r); + else if (o instanceof Uint8ClampedArray) o = new Uint8Array(o.buffer); + else if (o.length !== t * n * r) + throw RangeError( + `mismatched image size. expected: ${o.length} but got: ${t * n * r}`, + ); + return ((e.width = t), (e.height = n), (e.data = o), e); +} +function tln(e, { width: t, height: n }, r) { + if (t === e.width && n === e.height) return; + let o = jUe({}, { width: t, height: n }, r); + ($Ue( + e, + o, + { x: 0, y: 0 }, + { x: 0, y: 0 }, + { width: Math.min(e.width, t), height: Math.min(e.height, n) }, + r, + ), + (e.width = t), + (e.height = n), + (e.data = o.data)); +} +function $Ue(e, t, n, r, o, a) { + if (o.width === 0 || o.height === 0) return t; + if ( + o.width > e.width || + o.height > e.height || + n.x > e.width - o.width || + n.y > e.height - o.height + ) + throw RangeError("out of range source coordinates for image copy"); + if ( + o.width > t.width || + o.height > t.height || + r.x > t.width - o.width || + r.y > t.height - o.height + ) + throw RangeError("out of range destination coordinates for image copy"); + let i = e.data, + s = t.data; + if (i === s) + throw Error("srcData equals dstData, so image is already copied"); + for (let l = 0; l < o.height; l++) { + let c = ((n.y + l) * e.width + n.x) * a, + u = ((r.y + l) * t.width + r.x) * a; + for (let d = 0; d < o.width * a; d++) s[u + d] = i[c + d]; + } + return t; +} +function jOe(e) { + let t = new Uint8Array(e.length); + for (let n = 0; n < e.length; n += 4) { + let r = e[n + 3]; + ((t[n + 0] = Math.round((e[n + 0] * r) / 255)), + (t[n + 1] = Math.round((e[n + 1] * r) / 255)), + (t[n + 2] = Math.round((e[n + 2] * r) / 255)), + (t[n + 3] = r)); + } + return t; +} +function eNe(e) { + let t = {}, + n = e.resolution || 256, + r = e.clips ? e.clips.length : 1, + o = e.image || new ss({ width: n, height: r }); + if (!ybr(n)) throw Error(`width is not a power of 2 - ${n}`); + let a = (i, s, l) => { + t[e.evaluationKey] = l; + let c = e.expression.evaluate(t); + o.setPixel(i / 4 / n, s / 4, c); + }; + if (e.clips) + for (let i = 0, s = 0; i < r; ++i, s += n * 4) + for (let l = 0, c = 0; l < n; l++, c += 4) { + let u = l / (n - 1), + { start: d, end: p } = e.clips[i], + f = d * (1 - u) + p * u; + a(s, c, f); + } + else + for (let i = 0, s = 0; i < n; i++, s += 4) { + let l = i / (n - 1); + a(0, s, l); + } + return o; +} +function Ope(e) { + return "data" in e; +} +function oln(e, t) { + let n = t[0], + r = t[1], + o = t[2], + a = t[3], + i = Math.min(n, r, o), + s = Math.round((e + a) / i); + return { + r: Math.floor((s * i) / n) % 256, + g: Math.floor((s * i) / r) % 256, + b: Math.floor((s * i) / o) % 256, + }; +} +function afe(e, t, n) { + let r = n.patternDependencies, + o = !1; + for (let a of t) { + let i = a.paint.get(`${e}-pattern`); + i.isConstant() || (o = !0); + let s = i.constantOr(null); + s && ((o = !0), (r[s.to] = !0), (r[s.from] = !0)); + } + return o; +} +function tNe(e, t, n, r, o) { + let { zoom: a } = r, + i = o.patternDependencies; + for (let s of t) { + let l = s.paint.get(`${e}-pattern`).value; + if (l.kind !== "constant") { + let c = l.evaluate({ zoom: a - 1 }, n, {}, o.availableImages), + u = l.evaluate({ zoom: a }, n, {}, o.availableImages), + d = l.evaluate({ zoom: a + 1 }, n, {}, o.availableImages); + ((c = c?.name ? c.name : c), + (u = u?.name ? u.name : u), + (d = d?.name ? d.name : d), + (i[c] = !0), + (i[u] = !0), + (i[d] = !0), + (n.patterns[s.id] = { min: c, mid: u, max: d })); + } + } + return n; +} +function E3r(e, t, n = 2) { + let r = t && t.length, + o = r ? t[0] * n : e.length; + nQ.size && nQ.clear(); + let a = iln(e, 0, o, n, !0), + i = []; + if (!a || a.next === a.prev) return i; + let s = 0, + l = 0, + c = 0; + if ((r && (a = P3r(e, t, a, n)), e.length > 80 * n)) { + ((s = e[0]), (l = e[1])); + let u = s, + d = l; + for (let p = n; p < o; p += n) { + let f = e[p], + m = e[p + 1]; + (f < s && (s = f), m < l && (l = m), f > u && (u = f), m > d && (d = m)); + } + ((c = Math.max(u - s, d - l)), (c = c === 0 ? 0 : 32767 / c)); + } + return (VFe(a, i, s, l, c), i); +} +function iln(e, t, n, r, o) { + let a = null; + if (o === G3r(e, t, n, r) > 0) + for (let i = t; i < n; i += r) a = aan((i / r) | 0, e[i], e[i + 1], a); + else + for (let i = n - r; i >= t; i -= r) a = aan((i / r) | 0, e[i], e[i + 1], a); + return (a && rQ(a, a.next) && (aQ(a), (a = a.next)), a); +} +function ZT(e, t = e) { + let n = t === e, + r = e, + o; + do + ((o = !1), + r !== r.next && + (nQ.size === 0 || !nQ.has(r)) && + (rQ(r, r.next) || Od(r.prev, r, r.next) === 0) + ? ((n || r === t) && (t = r.prev), + (HFe = !0), + aQ(r), + (r = r.prev), + (o = !0)) + : (n || r !== t) && ((r = r.next), (o = !n))); + while (o || r !== t); + return t; +} +function VFe(e, t, n, r, o) { + o && U3r(e, n, r, o); + let a = e, + i = !1; + for (; e.prev !== e.next;) { + let s = e.prev, + l = e.next; + if (Od(s, e, l) < 0 && (o ? T3r(e, n, r, o) : I3r(e))) { + (t.push(s.i, e.i, l.i), aQ(e), (e = l), (a = l)); + continue; + } + if (((e = l), e === a)) { + if (((HFe = !1), (e = ZT(e)), HFe)) { + a = e; + continue; + } + if (!i) { + ((e = k3r(e, t)), (a = e), (i = !0)); + continue; + } + R3r(e, t, n, r, o); + break; + } + } +} +function I3r(e) { + let t = e.prev, + n = e, + r = e.next, + o = t.x, + a = n.x, + i = r.x, + s = t.y, + l = n.y, + c = r.y, + u = Math.min(o, a, i), + d = Math.min(s, l, c), + p = Math.max(o, a, i), + f = Math.max(s, l, c), + m = r.next; + for (; m !== t;) { + if ( + m.x >= u && + m.x <= p && + m.y >= d && + m.y <= f && + (o !== m.x || s !== m.y) && + sfe(o, s, a, l, i, c, m.x, m.y) && + Od(m.prev, m, m.next) >= 0 + ) + return !1; + m = m.next; + } + return !0; +} +function T3r(e, t, n, r) { + let o = e.prev, + a = e, + i = e.next, + s = o.x, + l = a.x, + c = i.x, + u = o.y, + d = a.y, + p = i.y, + f = Math.min(s, l, c), + m = Math.min(u, d, p), + g = Math.max(s, l, c), + v = Math.max(u, d, p), + y = QFe(f, m, t, n, r), + x = QFe(g, v, t, n, r), + A = e.prevZ; + for (; A && A.z >= y;) { + if ( + A.x >= f && + A.x <= g && + A.y >= m && + A.y <= v && + A !== i && + (s !== A.x || u !== A.y) && + sfe(s, u, l, d, c, p, A.x, A.y) && + Od(A.prev, A, A.next) >= 0 + ) + return !1; + A = A.prevZ; + } + let w = e.nextZ; + for (; w && w.z <= x;) { + if ( + w.x >= f && + w.x <= g && + w.y >= m && + w.y <= v && + w !== i && + (s !== w.x || u !== w.y) && + sfe(s, u, l, d, c, p, w.x, w.y) && + Od(w.prev, w, w.next) >= 0 + ) + return !1; + w = w.nextZ; + } + return !0; +} +function k3r(e, t) { + let n = e, + r = !1; + do { + let o = n.prev, + a = n.next.next; + (lln(o, n, n.next, a, !1) && + oQ(o, a) && + oQ(a, o) && + (t.push(o.i, n.i, a.i), aQ(n), aQ(n.next), (n = e = a), (r = !0)), + (n = n.next)); + } while (n !== e); + return r ? ZT(n) : n; +} +function R3r(e, t, n, r, o) { + let a = e; + do { + let i = a.next.next; + for (; i !== a.prev;) { + if (a.i !== i.i && _3r(a, i)) { + let s = cln(a, i); + ((a = ZT(a, a.next)), + (s = ZT(s, s.next)), + VFe(a, t, n, r, o), + VFe(s, t, n, r, o)); + return; + } + i = i.next; + } + a = a.next; + } while (a !== e); +} +function P3r(e, t, n, r) { + let o = []; + for (let a = 0, i = t.length; a < i; a++) { + let s = iln(e, t[a] * r, a < i - 1 ? t[a + 1] * r : e.length, r, !1); + (s === s.next && nQ.add(s), o.push(z3r(s))); + } + (o.sort(M3r), L3r(e.length / r, t.length), sln(n, n), (GFe = !0)); + for (let a = 0; a < o.length; a++) n = D3r(o[a], n); + return ((GFe = !1), ZT(n)); +} +function M3r(e, t) { + return ( + e.x - t.x || + e.y - t.y || + (e.next.y - e.y) / (e.next.x - e.x) - (t.next.y - t.y) / (t.next.x - t.x) + ); +} +function D3r(e, t) { + let n = O3r(e, t); + if (!n) return t; + let r = cln(n, e), + o = r.next; + return (sln(n, o.next), ZT(r, r.next), ZT(n, n.next)); +} +function L3r(e, t) { + let n = Math.ceil((e + 2 * t) / 16) + t + 2; + (hc.length < n * 4 && (hc = new Float64Array(n * 4)), (ife = 0)); +} +function sln(e, t) { + let n = e; + do { + let r = ife++; + qFe[r] = n; + let o = 1 / 0, + a = 1 / 0, + i = -1 / 0, + s = -1 / 0, + l = 0; + do { + let u = n.next; + ((n.z = r), + n.x < o && (o = n.x), + n.x > i && (i = n.x), + n.y < a && (a = n.y), + n.y > s && (s = n.y), + u.x < o && (o = u.x), + u.x > i && (i = u.x), + u.y < a && (a = u.y), + u.y > s && (s = u.y), + (n = u)); + } while (++l < 16 && n !== t); + ZFe[r] = n; + let c = r * 4; + ((hc[c] = o), (hc[c + 1] = a), (hc[c + 2] = i), (hc[c + 3] = s)); + } while (n !== t); +} +function B3r(e, t) { + let n = e.z * 4; + (t.x < hc[n] && (hc[n] = t.x), + t.y < hc[n + 1] && (hc[n + 1] = t.y), + t.x > hc[n + 2] && (hc[n + 2] = t.x), + t.y > hc[n + 3] && (hc[n + 3] = t.y)); +} +function ran(e) { + let t = ZFe[e]; + for (; t.prev.next !== t;) t = t.next; + return ((ZFe[e] = t), t); +} +function oan(e) { + let t = qFe[e]; + for (; t.prev.next !== t;) t = t.next; + return ((qFe[e] = t), t); +} +function O3r(e, t) { + let n = t, + { x: r, y: o } = e, + a = -1 / 0, + i; + if (rQ(e, n)) return n; + for (let p = 0, f = 0; p < ife; p++, f += 4) { + if (o < hc[f + 1] || o > hc[f + 3] || hc[f] > r || hc[f + 2] <= a) continue; + let m = ran(p); + n = oan(p); + do { + if (n.prev.next === n) { + if (rQ(e, n.next)) return n.next; + if (o <= n.y && o >= n.next.y && n.next.y !== n.y) { + let g = n.x + ((o - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); + if ( + g <= r && + g > a && + ((a = g), (i = n.x < n.next.x ? n : n.next), g === r) + ) + return i; + } + } + n = n.next; + } while (n !== m); + } + if (!i) return null; + let s = i.x, + l = i.y, + c = Math.min(o, l), + u = Math.max(o, l), + d = 1 / 0; + for (let p = 0, f = 0; p < ife; p++, f += 4) { + if (hc[f + 2] < s || hc[f] > r || hc[f + 3] < c || hc[f + 1] > u) continue; + let m = ran(p); + n = oan(p); + do { + if ( + n.prev.next === n && + r >= n.x && + n.x >= s && + r !== n.x && + sfe(o < l ? r : a, o, s, l, o < l ? a : r, o, n.x, n.y) + ) { + let g = Math.abs(o - n.y) / (r - n.x); + (oQ(n, e) || (n.y === o && n.next.y === o && n.next.x > r)) && + (g < d || (g === d && (n.x > i.x || (n.x === i.x && F3r(i, n))))) && + ((i = n), (d = g)); + } + n = n.next; + } while (n !== m); + } + return i; +} +function F3r(e, t) { + return Od(e.prev, e, t.prev) < 0 && Od(t.next, e, e.next) < 0; +} +function U3r(e, t, n, r) { + let o = e, + a = 0; + do ((o.z = QFe(o.x, o.y, t, n, r)), (Ry[a++] = o), (o = o.next)); + while (o !== e); + N3r(a); + let i = null; + for (let s = 0; s < a; s++) { + let l = Ry[s]; + ((l.prevZ = i), i && (i.nextZ = l), (i = l)); + } + i.nextZ = null; +} +function N3r(e) { + if (e <= 32) { + for (let t = 1; t < e; t++) { + let n = Ry[t], + r = n.z, + o = t - 1; + for (; o >= 0 && Ry[o].z > r;) ((Ry[o + 1] = Ry[o]), o--); + Ry[o + 1] = n; + } + return; + } + LT.length < e && + ((LT = new Uint32Array(e)), (PZ = new Uint32Array(e)), (RZ = Array(e))); + for (let t = 0; t < e; t++) LT[t] = Ry[t].z; + (Fpe(e, Ry, LT, RZ, PZ, 0), + Fpe(e, RZ, PZ, Ry, LT, 8), + Fpe(e, Ry, LT, RZ, PZ, 16), + Fpe(e, RZ, PZ, Ry, LT, 24)); +} +function Fpe(e, t, n, r, o, a) { + MZ.fill(0); + for (let s = 0; s < e; s++) MZ[(n[s] >>> a) & 255]++; + let i = 0; + for (let s = 0; s < 256; s++) { + let l = MZ[s]; + ((MZ[s] = i), (i += l)); + } + for (let s = 0; s < e; s++) { + let l = n[s], + c = MZ[(l >>> a) & 255]++; + ((r[c] = t[s]), (o[c] = l)); + } +} +function QFe(e, t, n, r, o) { + return ( + (e = ((e - n) * o) | 0), + (t = ((t - r) * o) | 0), + (e = (e | (e << 8)) & 16711935), + (e = (e | (e << 4)) & 252645135), + (e = (e | (e << 2)) & 858993459), + (e = (e | (e << 1)) & 1431655765), + (t = (t | (t << 8)) & 16711935), + (t = (t | (t << 4)) & 252645135), + (t = (t | (t << 2)) & 858993459), + (t = (t | (t << 1)) & 1431655765), + e | (t << 1) + ); +} +function z3r(e) { + let t = e, + n = e; + do ((t.x < n.x || (t.x === n.x && t.y < n.y)) && (n = t), (t = t.next)); + while (t !== e); + return n; +} +function sfe(e, t, n, r, o, a, i, s) { + return ( + (o - i) * (t - s) >= (e - i) * (a - s) && + (e - i) * (r - s) >= (n - i) * (t - s) && + (n - i) * (a - s) >= (o - i) * (r - s) + ); +} +function _3r(e, t) { + let n = rQ(e, t) && Od(e.prev, e, e.next) > 0 && Od(t.prev, t, t.next) > 0; + return ( + e.next.i !== t.i && + (n || + (oQ(e, t) && + oQ(t, e) && + (Od(e.prev, e, t.prev) !== 0 || Od(e, t.prev, t) !== 0))) && + !H3r(e, t) && + (n || V3r(e, t)) + ); +} +function Od(e, t, n) { + return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y); +} +function rQ(e, t) { + return e.x === t.x && e.y === t.y; +} +function lln(e, t, n, r, o = !0) { + let a = Od(e, t, n), + i = Od(e, t, r), + s = Od(n, r, e), + l = Od(n, r, t); + return ((a > 0 && i < 0) || (a < 0 && i > 0)) && + ((s > 0 && l < 0) || (s < 0 && l > 0)) + ? !0 + : o + ? !!( + (a === 0 && Upe(e, n, t)) || + (i === 0 && Upe(e, r, t)) || + (s === 0 && Upe(n, e, r)) || + (l === 0 && Upe(n, t, r)) + ) + : !1; +} +function Upe(e, t, n) { + return ( + t.x <= Math.max(e.x, n.x) && + t.x >= Math.min(e.x, n.x) && + t.y <= Math.max(e.y, n.y) && + t.y >= Math.min(e.y, n.y) + ); +} +function H3r(e, t) { + let n = Math.min(e.x, t.x), + r = Math.max(e.x, t.x), + o = Math.min(e.y, t.y), + a = Math.max(e.y, t.y), + i = e; + do { + let s = i.next; + if ( + (i.x > r && s.x > r) || + (i.x < n && s.x < n) || + (i.y > a && s.y > a) || + (i.y < o && s.y < o) + ) { + i = s; + continue; + } + if ( + i.i !== e.i && + s.i !== e.i && + i.i !== t.i && + s.i !== t.i && + lln(i, s, e, t) + ) + return !0; + i = s; + } while (i !== e); + return !1; +} +function oQ(e, t) { + return Od(e.prev, e, e.next) < 0 + ? Od(e, t, e.next) >= 0 && Od(e, e.prev, t) >= 0 + : Od(e, t, e.prev) < 0 || Od(e, e.next, t) < 0; +} +function V3r(e, t) { + let n = e, + r = !1, + o = (e.x + t.x) / 2, + a = (e.y + t.y) / 2; + do { + let i = n.next; + (n.y > a != i.y > a && + o < ((i.x - n.x) * (a - n.y)) / (i.y - n.y) + n.x && + (r = !r), + (n = i)); + } while (n !== e); + return r; +} +function cln(e, t) { + let n = XFe(e.i, e.x, e.y), + r = XFe(t.i, t.x, t.y), + o = e.next, + a = t.prev; + return ( + (e.next = t), + (t.prev = e), + (n.next = o), + (o.prev = n), + (r.next = n), + (n.prev = r), + (a.next = r), + (r.prev = a), + r + ); +} +function aan(e, t, n, r) { + let o = XFe(e, t, n); + return ( + r + ? ((o.next = r.next), (o.prev = r), (r.next.prev = o), (r.next = o)) + : ((o.prev = o), (o.next = o)), + o + ); +} +function aQ(e) { + ((e.next.prev = e.prev), + (e.prev.next = e.next), + e.prevZ && (e.prevZ.nextZ = e.nextZ), + e.nextZ && (e.nextZ.prevZ = e.prevZ), + GFe && B3r(e.prev, e.next)); +} +function XFe(e, t, n) { + return { + i: e, + x: t, + y: n, + prev: null, + next: null, + z: 0, + prevZ: null, + nextZ: null, + }; +} +function G3r(e, t, n, r) { + let o = 0; + for (let a = t, i = n - r; a < n; a += r) + ((o += (e[i] - e[a]) * (e[a + 1] + e[i + 1])), (i = a)); + return o; +} +function uln(e, t, n, r = !0) { + return new q3r(n, t).subdividePolygonInternal(e, r); +} +function UT(e, t, n = !1) { + if (!e || e.length < 1 || e.length < 2) return []; + let r = n && dln(e); + if (t < 2) return r ? [...e, e[0]] : [...e]; + let o = Math.floor(Ut / t), + a = []; + a.push(new ft(e[0].x, e[0].y)); + let i = e.length, + s = r ? i : i - 1; + for (let l = 0; l < s; l++) { + let c = e[l], + u = l < i - 1 ? e[l + 1] : e[0], + { x: d, y: p } = c, + { x: f, y: m } = u, + g = d !== f, + v = p !== m; + if (!g && !v) continue; + let y = f - d, + x = m - p, + A = Math.abs(y), + w = Math.abs(x), + C = d, + E = p; + for (;;) { + let I = y > 0 ? (Math.floor(C / o) + 1) * o : (Math.ceil(C / o) - 1) * o, + k = x > 0 ? (Math.floor(E / o) + 1) * o : (Math.ceil(E / o) - 1) * o, + L = Math.abs(C - I), + O = Math.abs(E - k), + B = Math.abs(C - f), + U = Math.abs(E - m), + D = g ? L / A : 1 / 0, + N = v ? O / w : 1 / 0; + if ((B <= L || !g) && (U <= O || !v)) break; + if ((D < N && g) || !v) { + ((C = I), (E += x * D)); + let _ = new ft(C, Math.round(E)); + (a[a.length - 1].x !== _.x || a[a.length - 1].y !== _.y) && a.push(_); + } else { + ((C += y * N), (E = k)); + let _ = new ft(Math.round(C), E); + (a[a.length - 1].x !== _.x || a[a.length - 1].y !== _.y) && a.push(_); + } + } + let T = new ft(f, m); + (a[a.length - 1].x !== T.x || a[a.length - 1].y !== T.y) && a.push(T); + } + return a; +} +function dln(e) { + return !e[0].equals(e[e.length - 1]); +} +function Z3r(e) { + let t = [], + n = []; + for (let r of e) + if (r.length !== 0) { + r !== e[0] && t.push(n.length / 2); + for (let o of r) (n.push(o.x), n.push(o.y)); + } + return { flattened: n, holeIndices: t }; +} +function Q3r(e, t) { + let n = Array(e.length); + for (let r = 0; r < e.length; r++) n[r] = t[e[r]]; + return n; +} +function X3r(e, t) { + let n = []; + for (let r = 0; r < t.length; r += 3) { + let o = t[r], + a = t[r + 1], + i = t[r + 2], + s = e[o * 2], + l = e[o * 2 + 1], + c = e[a * 2], + u = e[a * 2 + 1], + d = e[i * 2], + p = e[i * 2 + 1], + f = c - s, + m = u - l, + g = d - s; + f * (p - l) - m * g > 0 + ? (n.push(o), n.push(i), n.push(a)) + : (n.push(o), n.push(a), n.push(i)); + } + return n; +} +function W3r(e, t, n) { + if (t.length === 0) throw Error("Subdivision vertex ring is empty."); + let r = 0, + o = e[t[0] * 2]; + for (let l = 1; l < t.length; l++) { + let c = e[t[l] * 2]; + c < o && ((o = c), (r = l)); + } + let a = t.length, + i = r, + s = (i + 1) % a; + for (;;) { + let l = i - 1 >= 0 ? i - 1 : a - 1, + c = (s + 1) % a, + u = e[t[l] * 2], + d = e[t[l] * 2 + 1], + p = e[t[c] * 2], + f = e[t[c] * 2 + 1], + m = e[t[i] * 2], + g = e[t[i] * 2 + 1], + v = e[t[s] * 2], + y = e[t[s] * 2 + 1], + x = !1; + if (u < p) x = !0; + else if (u > p) x = !1; + else { + let A = y - g, + w = -(v - m), + C = g < y ? 1 : -1; + ((u - m) * A + (d - g) * w) * C > ((p - m) * A + (f - g) * w) * C && + (x = !0); + } + if (x) { + let A = t[l], + w = t[i], + C = t[s]; + (A !== w && A !== C && w !== C && n.push(C, w, A), + i--, + i < 0 && (i = a - 1)); + } else { + let A = t[c], + w = t[i], + C = t[s]; + (A !== w && A !== C && w !== C && n.push(C, w, A), + s++, + s >= a && (s = 0)); + } + if (l === c) break; + } +} +function pln(e, t, n, r, o, a, i, s, l) { + let c = o.length / 2, + u = i && s && l; + if (c < Vs.MAX_VERTEX_ARRAY_LENGTH) { + let d = t.prepareSegment(c, n, r), + p = d.vertexLength; + for (let g = 0; g < a.length; g += 3) + r.emplaceBack(p + a[g], p + a[g + 1], p + a[g + 2]); + ((d.vertexLength += c), (d.primitiveLength += a.length / 3)); + let f, m; + u && + ((m = i.prepareSegment(c, n, s)), + (f = m.vertexLength), + (m.vertexLength += c)); + for (let g = 0; g < o.length; g += 2) e(o[g], o[g + 1]); + if (u) + for (let g of l) { + for (let v = 1; v < g.length; v += 2) + s.emplaceBack(f + g[v - 1], f + g[v]); + m.primitiveLength += g.length / 2; + } + } else + (Y3r(t, n, r, o, a, e), + u && K3r(i, n, s, o, l, e), + t.forceNewSegmentOnNextPrepare(), + i?.forceNewSegmentOnNextPrepare()); +} +function VZ(e, t, n, r, o, a, i) { + if (a) { + let s = r.count; + return ( + n(t[o * 2], t[o * 2 + 1]), + (e[o] = r.count), + r.count++, + i.vertexLength++, + s + ); + } + return e[o]; +} +function Y3r(e, t, n, r, o, a) { + let i = []; + for (let d = 0; d < r.length / 2; d++) i.push(-1); + let s = { count: 0 }, + l = 0, + c = e.getOrCreateLatestSegment(t, n), + u = c.vertexLength; + for (let d = 2; d < o.length; d += 3) { + let p = o[d - 2], + f = o[d - 1], + m = o[d], + g = i[p] < l, + v = i[f] < l, + y = i[m] < l, + x = +!!g + +!!v + +!!y; + c.vertexLength + x > Vs.MAX_VERTEX_ARRAY_LENGTH && + ((c = e.createNewSegment(t, n)), + (l = s.count), + (g = !0), + (v = !0), + (y = !0), + (u = 0)); + let A = VZ(i, r, a, s, p, g, c), + w = VZ(i, r, a, s, f, v, c), + C = VZ(i, r, a, s, m, y, c); + (n.emplaceBack(u + A - l, u + w - l, u + C - l), c.primitiveLength++); + } +} +function K3r(e, t, n, r, o, a) { + let i = []; + for (let d = 0; d < r.length / 2; d++) i.push(-1); + let s = { count: 0 }, + l = 0, + c = e.getOrCreateLatestSegment(t, n), + u = c.vertexLength; + for (let d of o) + for (let p = 1; p < d.length; p += 2) { + let f = d[p - 1], + m = d[p], + g = i[f] < l, + v = i[m] < l, + y = +!!g + +!!v; + c.vertexLength + y > Vs.MAX_VERTEX_ARRAY_LENGTH && + ((c = e.createNewSegment(t, n)), + (l = s.count), + (g = !0), + (v = !0), + (u = 0)); + let x = VZ(i, r, a, s, f, g, c), + A = VZ(i, r, a, s, m, v, c); + (n.emplaceBack(u + x - l, u + A - l), c.primitiveLength++); + } +} +function YFe(e, t) { + return ( + (e.x === t.x && (e.x < 0 || e.x > 8192)) || + (e.y === t.y && (e.y < 0 || e.y > 8192)) + ); +} +function ian(e) { + return ( + e.every((t) => t.x < 0) || + e.every((t) => t.x > 8192) || + e.every((t) => t.y < 0) || + e.every((t) => t.y > 8192) + ); +} +function gln(e) { + let t = e.length; + if (t <= 1) return [e]; + let n = [], + r, + o; + for (let a = 0; a < t; a++) { + let i = awr(e[a]); + i !== 0 && + (o === void 0 && (o = i < 0), + o === i < 0 ? (r && n.push(r), (r = [e[a]])) : r && r.push(e[a])); + } + return (r && n.push(r), n); +} +function awr(e) { + let t = 0; + for (let n = 0, r = e.length, o = r - 1, a, i; n < r; o = n++) + ((a = e[n]), (i = e[o]), (t += (i.x - a.x) * (a.y + i.y))); + return t; +} +function swr(e) { + let t = null, + n = e.readVarint() + e.pos; + for (; e.pos < n;) { + let r = e.readVarint(); + t = + r === 10 + ? e.readString() + : r === 21 + ? e.readFloat() + : r === 25 + ? e.readDouble() + : r === 32 + ? e.readVarint(!0) + : r === 40 + ? e.readVarint() + : r === 48 + ? e.readSVarint() + : r === 56 + ? e.readBoolean() + : (e.skip(r), null); + } + if (t == null) throw Error("unknown feature value"); + return t; +} +function vln(e) { + return yln * Math.cos((e * Math.PI) / 180); +} +function $T(e) { + return (180 + e) / 360; +} +function e7(e) { + return ( + (180 - + (180 / Math.PI) * Math.log(Math.tan(Math.PI / 4 + (e * Math.PI) / 360))) / + 360 + ); +} +function $C(e, t) { + return e / vln(t); +} +function Yfe(e) { + return e * 360 - 180; +} +function VL(e) { + let t = 180 - e * 360; + return (360 / Math.PI) * Math.atan(Math.exp((t * Math.PI) / 180)) - 90; +} +function nNe(e, t) { + return e * vln(VL(t)); +} +function cwr(e) { + return 1 / Math.cos((e * Math.PI) / 180); +} +function rNe(e, t, n) { + let r = 1 / (1 << n.z); + return new ai((e / Ut) * r + n.x * r, (t / Ut) * r + n.y * r); +} +function uwr(e, t, n) { + return rNe(e, t, n).toLngLat(); +} +function Av(e, t) { + let n = qr(t.lat, -85.051129, vv); + return new ft($T(t.lng) * e, e7(n) * e); +} +function KL(e, t) { + return new ai(t.x / e, t.y / e).toLngLat(); +} +function JL(e) { + return ( + e.cameraToCenterDistance * + Math.min(Math.tan(_s(90 - e.pitch)) * 0.85, Math.tan(_s(e5 - e.pitch))) + ); +} +function Kfe(e, t) { + let n = e.canonical, + r = t / km(n.z), + o = n.x + 2 ** n.z * e.wrap, + a = new Float64Array(16); + return ( + Oy(a), + vc(a, a, [o * r, n.y * r, 0]), + Gp(a, a, [r / Ut, r / Ut, 1]), + a + ); +} +function oNe(e, t, n, r, o) { + let a = ai.fromLngLat(e, t), + i = o * $C(1, e.lat), + { x: s, y: l, z: c } = Jfe(n, r), + u = i * -s, + d = i * -l, + p = i * c; + return new ai(a.x + u, a.y + d, a.z + p); +} +function bln(e) { + let t = $C(1, e.center.lat) * e.worldSize; + return oNe( + e.center, + e.elevation, + e.pitch, + e.bearing, + e.cameraToCenterDistance / t, + ); +} +function Jfe(e, t) { + let n = _s(e), + r = _s(t), + o = Math.cos(-n), + a = Math.sin(n); + return { x: a * Math.sin(r), y: -a * Math.cos(r), z: o }; +} +function dwr(e, t) { + return t <= 0 || !e || e.length === 0 ? e : e.map((n) => fwr(n, t)); +} +function pwr(e, t) { + let n = uwr(Ut / 2, Ut / 2, t), + r = ai.fromLngLat(n).meterInMercatorCoordinateUnits(), + o = (1 << t.z) * Ut; + return e * r * o; +} +function fwr(e, t) { + if (!e || e.length < 3) return e; + let n = e[0].x === e[e.length - 1].x && e[0].y === e[e.length - 1].y, + r = n ? e.length - 1 : e.length; + if (r < 3) return e; + let o = [], + a = YFe(e[r - 1], e[0]); + for (let s = 0; s < r; s++) { + let l = e[(s - 1 + r) % r], + c = e[s], + u = e[(s + 1) % r], + d = YFe(c, u); + (a || d ? o.push(c.clone()) : hwr(o, l, c, u, t), (a = d)); + } + let i = mwr(o); + return i.length < 3 ? e : (n && i.push(i[0].clone()), i); +} +function mwr(e) { + let t = []; + for (let n of e) { + let r = n.round(), + o = t[t.length - 1]; + (o?.x !== r.x || o?.y !== r.y) && t.push(r); + } + for ( + ; + t.length > 1 && + t[0].x === t[t.length - 1].x && + t[0].y === t[t.length - 1].y; + ) + t.pop(); + return t; +} +function hwr(e, t, n, r, o) { + let a = t.sub(n), + i = r.sub(n), + s = a.mag(), + l = i.mag(); + if (s < 0.000001 || l < 0.000001) { + e.push(n.clone()); + return; + } + (a._div(s), i._div(l)); + let c = a.x * i.x + a.y * i.y; + if (Math.abs(c) > Math.cos((5 * Math.PI) / 180)) { + e.push(n.clone()); + return; + } + let u = 0.2, + d = Math.min(o, s * u, l * u), + p = n.add(a.mult(d)), + f = n.add(i.mult(d)), + m = Math.sqrt((1 + c) / 2), + g = n.add( + a + .add(i) + ._unit() + ._mult(d / m), + ), + v = p.sub(g).angleWith(f.sub(g)), + y = Math.max(2, Math.ceil(Math.abs(v) / (Math.PI / 6) - 0.000001)); + for (let x = 0; x <= y; x++) e.push(p.rotateAround((x / y) * v, g)); +} +function DZ(e, t, n, r, o, a, i, s) { + e.emplaceBack( + t, + n, + Math.floor(r * $Oe) * 2 + i, + o * $Oe * 2, + a * $Oe * 2, + Math.round(s), + ); +} +function gwr(e, t) { + for (let n = 0; n < t.length; n++) { + let r = t[n]; + (n !== t.length - 1 || t[0].x !== r.x || t[0].y !== r.y) && + ((e.x += r.x), (e.y += r.y), e.sampleCount++); + } +} +function LZ(e, t) { + return e.x * t.x + e.y * t.y; +} +function san(e, t) { + if (e.length === 1) { + let n = 0, + r = t[n++], + o; + for (; !o || r.equals(o);) if (((o = t[n++]), !o)) return 1 / 0; + for (; n < t.length; n++) { + let a = t[n], + i = e[0], + s = o.sub(r), + l = a.sub(r), + c = i.sub(r), + u = LZ(s, s), + d = LZ(s, l), + p = LZ(l, l), + f = LZ(c, s), + m = LZ(c, l), + g = u * p - d * d, + v = (p * f - d * m) / g, + y = (u * m - d * f) / g, + x = 1 - v - y, + A = r.z * x + o.z * v + a.z * y; + if (isFinite(A)) return A; + } + return 1 / 0; + } + { + let n = 1 / 0; + for (let r of t) n = Math.min(n, r.z); + return n; + } +} +function Swr(e, t, n) { + let r = 1 / 0; + Ksn(n, t) && (r = san(n, t[0])); + for (let o = 0; o < t.length; o++) { + let a = t[o], + i = e[o]; + for (let s = 0; s < a.length - 1; s++) { + let l = a[s], + c = a[s + 1], + u = i[s], + d = [l, c, i[s + 1], u, l]; + YUe(n, d) && (r = Math.min(r, san(n, d))); + } + } + return r !== 1 / 0 && r; +} +function Cwr(e, t, n, r) { + let o = [], + a = [], + i = r[8] * t, + s = r[9] * t, + l = r[10] * t, + c = r[11] * t, + u = r[8] * n, + d = r[9] * n, + p = r[10] * n, + f = r[11] * n; + for (let m of e) { + let g = [], + v = []; + for (let y of m) { + let { x, y: A } = y, + w = r[0] * x + r[4] * A + r[12], + C = r[1] * x + r[5] * A + r[13], + E = r[2] * x + r[6] * A + r[14], + T = r[3] * x + r[7] * A + r[15], + I = w + i, + k = C + s, + L = E + l, + O = T + c, + B = w + u, + U = C + d, + D = E + p, + N = T + f, + _ = new ft(I / O, k / O); + ((_.z = L / O), g.push(_)); + let G = new ft(B / N, U / N); + ((G.z = D / N), v.push(G)); + } + (o.push(g), a.push(v)); + } + return [o, a]; +} +function Ewr(e, t, n) { + let r = []; + for (let o of e) { + let a = [o.x, o.y, n, 1]; + (qp(a, a, t), r.push(new ft(a[0] / a[3], a[1] / a[3]))); + } + return r; +} +function uan(e, t) { + return t > 0 ? t + 2 * e : e; +} +function _wr(e) { + return /[\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u077F\u07C0-\u07FA\u07FD-\u07FF\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\u1800\u1801\u1804\u1806-\u1819\u1820-\u1878\u1880-\u18AA\uA840-\uA877\uFB50-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDD00-\uDD27\uDD30-\uDD39\uDE60-\uDE7E\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDEFF\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB]|\uD805[\uDE60-\uDE6C]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]|\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test( + String.fromCodePoint(e), + ); +} +function Hwr(e) { + return /[\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC57-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD1F-\uDD39\uDD3F-\uDD59\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58\uDE60-\uDE9F\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF00-\uDF35\uDF39-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD85\uDD8E\uDD8F\uDE60-\uDE7E\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDF27\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test( + String.fromCodePoint(e), + ); +} +function Iln(e) { + return /[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test( + String.fromCodePoint(e), + ); +} +function Vwr(e) { + return /[\u02EA\u02EB\u2E80-\u2FDF\u2FF0-\u303F\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FD-\u30FF\u3105-\u312F\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test( + String.fromCodePoint(e), + ); +} +function jfe(e) { + return /[\u02EA\u02EB\u1100-\u11FF\u1401-\u167F\u18B0-\u18FF\u2065\u20DD-\u20E0\u20E2-\u20E4\u2B97\u2BF0-\u2BFF\u2E50\u2E51\u2E80-\u3007\u3012\u3013\u3020-\u302F\u3031-\u30FB\u30FD-\uA4CF\uA960-\uA97F\uAC00-\uD7FF\uF900-\uFAFF\uFE10-\uFE1F\uFE30-\uFE48\uFE50-\uFE57\uFE5F-\uFE62\uFE67-\uFE6F\uFF00-\uFF07\uFF0A-\uFF0C\uFF0E-\uFF19\uFF1F-\uFF3A\uFF3C\uFF3E\uFF40-\uFF5A\uFFE0-\uFFE2\uFFE4-\uFFE7\uFFF0-\uFFF8]|\uD802[\uDD80-\uDD9F]|\uD805[\uDD80-\uDDFF]|\uD806[\uDE00-\uDEBF]|[\uD80C-\uD810\uD81C-\uD822\uD83C\uD83D\uD840-\uD87E\uD880-\uD8BE][\uDC00-\uDFFF]|\uD811[\uDC00-\uDE7F]|\uD81B[\uDFE0-\uDFFF]|\uD823[\uDC00-\uDDFF]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFF]|\uD833[\uDEC0-\uDFCF]|\uD834[\uDC00-\uDDFF\uDEE0-\uDF7F]|\uD836[\uDC00-\uDEAF]|\uD83E[\uDD00-\uDEFF]|[\uD87F\uD8BF][\uDC00-\uDFFD]/gim.test( + String.fromCodePoint(e), + ); +} +function Gwr(e) { + return /[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test( + String.fromCodePoint(e), + ); +} +function qwr(e) { + return /[\r\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0600-\u0605\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DD\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0890\u0891\u0897-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E33-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB3-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1037\u1039-\u103E\u1056-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1084-\u1086\u108D\u109D\u1100-\u11FF\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60\u1A62\u1A65-\u1A7C\u1A7F\u1AB0-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA960-\uA97C\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFA-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCBD\uDCC2\uDCCD\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC2\uDDC3\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDE41\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDFB8-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD2\uDFE1\uDFE2]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF1F\uDF22-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE84-\uDE99\uDF60-\uDF67]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6\uDF00-\uDF03\uDF34-\uDF3A\uDF3E-\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDD63\uDD67-\uDD6A\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF\uDEE3\uDEE6\uDEEE\uDEEF\uDEF5]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDDE6-\uDDFF\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF]/.test( + e, + ); +} +function pan(e) { + return /[\u0E01-\u0E3A\u0E40-\u0E4E\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA\u1000-\u103F\u1050-\u108F\u109A-\u109F\u1780-\u17D3\u17D7\u17DC\u17DD\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19DE\u19DF\u1A20-\u1A5E\u1A60-\u1A7C\u1AA0-\u1AAD\u1B00-\u1B4C\u1B4E-\u1B7F\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE-\uA9EF\uA9FA-\uA9FE\uAA60-\uAAC2\uAADB-\uAADF]|\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF3A\uDF3B\uDF3F-\uDF46]/gim.test( + String.fromCodePoint(e), + ); +} +function Zwr(e, t) { + return ( + /(?:[\u1039\u17D2\u1A60\u1BAB\u200D\uAAF6]|\uD802\uDE3F|\uD804[\uDD33\uDFD0]|\uD806[\uDD3E\uDE47\uDE99]|\uD807[\uDD45\uDD97\uDF42])$/.test( + e, + ) || /^\p{gc=Mc}/u.test(t) + ); +} +function Kwr(e, t, n) { + let r = 0; + for (let o of e.split(";")) { + let [a, i] = o.split(",").map((l) => parseInt(l, 36)), + s = r + a; + for (let l = s; l < s + i; l++) n.set(l, t); + r = s + i; + } +} +function Jwr(e) { + return Tln.get(e) ?? "U"; +} +function jwr(e) { + return e === "D" || e === "L" || e === "C"; +} +function $wr(e) { + return e === "D" || e === "R" || e === "C"; +} +function eSr(e, t, n) { + return e === "D" + ? t && n + ? 3 + : t + ? 1 + : n + ? 2 + : 0 + : e === "R" + ? +!!t + : e === "L" + ? n + ? 2 + : 0 + : null; +} +function tSr(e) { + return [...e].map((t) => { + let n = t.codePointAt(0); + return { codePoint: n, type: Jwr(n), form: null }; + }); +} +function nSr(e) { + let t = e.filter((n) => n.type !== "T"); + for (let n = 0; n < t.length; n++) { + let r = t[n], + o = n > 0 && jwr(t[n - 1].type), + a = n + 1 < t.length && $wr(t[n + 1].type); + r.form = eSr(r.type, o, a); + } +} +function rSr(e) { + let t = !1; + for (let n of e) + n.type === "T" ? (n.form = t ? 3 : 0) : (t = n.form === 2 || n.form === 3); +} +function oSr(e) { + let t = []; + for (let n = 0; n < e.length; n++) { + let r = e[n]; + if (r.codePoint !== fan) { + t.push(r); + continue; + } + let o = n + 1; + for (; o < e.length && e[o].type === "T";) o++; + let a = e[o], + i = a && Wwr[String.fromCodePoint(fan, a.codePoint)]; + if (!i) { + t.push(r); + continue; + } + let s = r.form === 3 || r.form === 1; + (t.push({ codePoint: i[+!!s], type: "R", form: 0 }), + t.push(...e.slice(n + 1, o)), + (n = o)); + } + return t; +} +function aSr(e) { + if (e.form === null) return e.codePoint; + let t = Xwr[e.codePoint]; + return (t && (t[e.form] || t[0])) || e.codePoint; +} +function iSr(e) { + if (!Ywr.test(e)) return e; + let t = tSr(e); + return ( + nSr(t), + rSr(t), + oSr(t) + .map((n) => String.fromCodePoint(aSr(n))) + .join("") + ); +} +function sSr(e, t, n) { + let r = t.layout.get("text-transform").evaluate(n, {}); + return ( + r === "uppercase" + ? (e = e.toLocaleUpperCase()) + : r === "lowercase" && (e = e.toLocaleLowerCase()), + (lfe.applyArabicShaping ?? iSr)(e) + ); +} +function lSr(e, t, n) { + for (let r of e.sections) r.text = sSr(r.text, t, n); + return e; +} +function eFe(e, t, n) { + let r = n ? t.last.points : t.first.points, + o = n ? r[r.length - 1] : r[0]; + return `${e}:${o.x}:${o.y}`; +} +function cSr(e) { + let t = e.first.points, + n = t.length; + for (let a = e.first.next; a; a = a.next) n += a.points.length - 1; + let r = Array(n); + for (let a = 0; a < t.length; a++) r[a] = t[a]; + let o = t.length; + for (let a = e.first.next; a; a = a.next) { + let i = a.points; + for (let s = 1; s < i.length; s++) r[o++] = i[s]; + } + return r; +} +function man(e, t, n, r, o) { + let a = t[n]; + (delete t[n], (t[r] = a)); + let i = e[a]; + return ((i.last.next = o.first), (i.last = o.last), a); +} +function han(e, t, n, r, o) { + let a = t[r]; + (delete t[r], (t[n] = a)); + let i = e[a]; + return ((o.last.next = i.first), (i.first = o.first), a); +} +function uSr(e) { + let t = {}, + n = {}, + r = []; + for (let a of e) { + let i = a.text ? a.text.toString() : null, + s = { points: a.geometry[0], next: null }, + l = { feature: a, first: s, last: s }; + if (!i) { + r.push(l); + continue; + } + let c = eFe(i, l), + u = eFe(i, l, !0); + if (c in n && u in t && n[c] !== t[u]) { + let d = han(r, t, c, u, l), + p = man(r, n, c, u, r[d]); + (delete t[c], + delete n[u], + (n[eFe(i, r[p], !0)] = p), + (r[d].feature.geometry = null)); + } else if (c in n) man(r, n, c, u, l); + else if (u in t) han(r, t, c, u, l); + else { + let d = r.push(l) - 1; + ((t[c] = d), (n[u] = d)); + } + } + let o = []; + for (let a of r) { + let i = a.feature; + i.geometry && (a.first.next && (i.geometry[0] = cSr(a)), o.push(i)); + } + return o; +} +function jFe(e) { + if (!kln || !qwr(e)) return [...e]; + gan ??= new Intl.Segmenter(void 0, { granularity: "grapheme" }); + let t = []; + for (let { segment: n } of gan.segment(e)) { + let r = t.length - 1; + r >= 0 && Zwr(t[r], n) ? (t[r] += n) : t.push(n); + } + return t; +} +function dSr(e) { + let t = new Set(); + if (kln) { + yan ??= new Intl.Segmenter(void 0, { granularity: "word" }); + for (let { index: r } of yan.segment(e)) t.add(r); + return t; + } + let n = 0; + for (let r of e.split(/\b|(?=\p{Ideo})/u)) (t.add(n), (n += r.length)); + return t; +} +function IQ(e) { + let t = e.codePointAt(0); + return e.length > (t > 65535 ? 2 : 1); +} +function aNe(e) { + return /\s/u.test(String.fromCodePoint(e)); +} +function $Fe(e) { + for (let t of e) if (jfe(t.codePointAt(0))) return !0; + return !1; +} +function pSr(e) { + for (let t of e) if (!fSr(t.codePointAt(0))) return !1; + return !0; +} +function fSr(e) { + return !_wr(e); +} +function van(e) { + return !(jfe(e) || Gwr(e)); +} +function Rln(e) { + return /\p{sc=Arab}/u.test(String.fromCodePoint(e)); +} +function Pln(e) { + return Hwr(e); +} +function Mln(e) { + for (let t of e) if (Pln(t.codePointAt(0))) return !0; + return !1; +} +function mSr(e) { + let t = "", + n = { premature: !0, value: void 0 }, + r = e[Symbol.iterator](), + o = r.next(), + a = e[Symbol.iterator](); + a.next(); + let i = a.next(); + for (; !o.done;) + ((i.done || !van(i.value.codePointAt(0)) || IL[i.value]) && + (n.premature || !van(n.value.codePointAt(0)) || IL[n.value]) && + IL[o.value] + ? (t += IL[o.value]) + : (t += o.value), + (n = { value: o.value, premature: !1 }), + (o = r.next()), + (i = a.next())); + return t; +} +function ban(e, t, n, r, o, a) { + if ("fontStack" in t) { + let i = n[t.fontStack]?.default, + s = i?.[e]; + if (s) return s.metrics.advance * t.scale + o; + let l = 0; + for (let c of e) { + let u = i?.[c]; + u && (l += u.metrics.advance * t.scale + o); + } + return l; + } + { + let i = r[t.imageName]; + return i ? (i.displaySize[0] * t.scale * 24) / a + o : 0; + } +} +function xan(e, t, n, r) { + let o = (e - t) ** 2; + return r ? (e < t ? o / 2 : o * 2) : o + Math.abs(n) * n; +} +function Aan(e) { + return /^\s+$/u.test(e); +} +function ySr(e, t, n) { + let r = 0; + return ( + (e === 10 || e === 13) && (r -= 1e4), + n && (r += 150), + (e === 40 || e === 65288) && (r += 50), + (t === 41 || t === 65289) && (r += 50), + r + ); +} +function wan(e, t, n, r, o, a) { + let i = null, + s = xan(t, n, o, a); + for (let l of r) { + let c = xan(t - l.x, n, o, a) + l.badness; + c <= s && ((i = l), (s = c)); + } + return { index: e, x: t, priorBreak: i, badness: s }; +} +function Dln(e) { + return e ? Dln(e.priorBreak).concat(e.index) : []; +} +function vSr() { + return (function (e) { + var t = { + R: "13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73", + EN: "1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9", + ES: "17,2,6dp+1,f+1,av,16vr,mx+1,4o,2", + ET: "z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj", + AN: "16o+5,2j+9,2+1,35,ed,1ff2+9,87+u", + CS: "18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b", + B: "a,3,f+2,2v,690", + S: "9,2,k", + WS: "c,k,4f4,1vk+a,u,1j,335", + ON: "x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i", + BN: "0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1", + NSM: "lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n", + AL: "16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d", + LRO: "6ct", + RLO: "6cu", + LRE: "6cq", + RLE: "6cr", + PDF: "6cs", + LRI: "6ee", + RLI: "6ef", + FSI: "6eg", + PDI: "6eh", + }, + n = {}, + r = {}; + ((n.L = 1), + (r[1] = "L"), + Object.keys(t).forEach(function (be, ye) { + ((n[be] = 1 << (ye + 1)), (r[n[be]] = be)); + }), + Object.freeze(n)); + var o = n.LRI | n.RLI | n.FSI, + a = n.L | n.R | n.AL, + i = n.B | n.S | n.WS | n.ON | n.FSI | n.LRI | n.RLI | n.PDI, + s = n.BN | n.RLE | n.LRE | n.RLO | n.LRO | n.PDF, + l = n.S | n.WS | n.B | o | n.PDI | s, + c = null; + function u() { + if (!c) { + c = new Map(); + var be = 0; + for (var ye in t) + if (t.hasOwnProperty(ye)) + for ( + var ce = t[ye], ue = "", ke = void 0, se = !1, qe = 0, Me = 0; + Me <= ce.length + 1; + Me += 1 + ) { + var Qe = ce[Me]; + if (Qe !== "," && Me !== ce.length) + Qe === "+" + ? ((se = !0), (qe = be = qe + parseInt(ue, 36)), (ue = "")) + : (ue += Qe); + else { + (se + ? (ke = be + parseInt(ue, 36)) + : ((qe = be = qe + parseInt(ue, 36)), (ke = be)), + (se = !1), + (ue = ""), + (qe = ke)); + for (var ee = be; ee < ke + 1; ee += 1) c.set(ee, n[ye]); + } + } + } + } + function d(be) { + return (u(), c.get(be.codePointAt(0)) || n.L); + } + function p(be) { + return r[d(be)]; + } + var f = { + pairs: + "14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1", + canonical: + "6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye", + }; + function m(be, ye) { + var ce = 0, + ue = new Map(), + ke = ye && new Map(), + se; + return ( + be.split(",").forEach(function qe(Me) { + if (Me.indexOf("+") !== -1) for (var Qe = +Me; Qe--;) qe(se); + else { + se = Me; + var ee = Me.split(">"), + K = ee[0], + we = ee[1]; + ((K = String.fromCodePoint((ce += parseInt(K, 36)))), + (we = String.fromCodePoint((ce += parseInt(we, 36)))), + ue.set(K, we), + ye && ke.set(we, K)); + } + }), + { map: ue, reverseMap: ke } + ); + } + var g, v, y; + function x() { + if (!g) { + var be = m(f.pairs, !0), + { map: ye, reverseMap: ce } = be; + ((g = ye), (v = ce), (y = m(f.canonical, !1).map)); + } + } + function A(be) { + return (x(), g.get(be) || null); + } + function w(be) { + return (x(), v.get(be) || null); + } + function C(be) { + return (x(), y.get(be) || null); + } + var { + L: E, + R: T, + EN: I, + ES: k, + ET: L, + AN: O, + CS: B, + B: U, + S: D, + ON: N, + BN: _, + NSM: G, + AL: Z, + LRO: q, + RLO: H, + LRE: te, + RLE: ie, + PDF: j, + LRI: oe, + RLI: J, + FSI: Y, + PDI: ae, + } = n; + function ne(be, ye) { + for ( + var ce = 125, ue = new Uint32Array(be.length), ke = 0; + ke < be.length; + ke++ + ) + ue[ke] = d(be[ke]); + var se = new Map(); + function qe(af, Ym) { + var sf = ue[af]; + ((ue[af] = Ym), + se.set(sf, se.get(sf) - 1), + sf & i && se.set(i, se.get(i) - 1), + se.set(Ym, (se.get(Ym) || 0) + 1), + Ym & i && se.set(i, (se.get(i) || 0) + 1)); + } + for ( + var Me = new Uint8Array(be.length), + Qe = new Map(), + ee = [], + K = null, + we = 0; + we < be.length; + we++ + ) + (K || + ee.push( + (K = { + start: we, + end: be.length - 1, + level: ye === "rtl" ? 1 : ye === "ltr" ? 0 : eF(we, !1), + }), + ), + ue[we] & U && ((K.end = we), (K = null))); + for ( + var ze = ie | te | H | q | o | ae | j | U, + tt = function (af) { + return af + (af & 1 ? 1 : 2); + }, + Pe = function (af) { + return af + (af & 1 ? 2 : 1); + }, + Ke = 0; + Ke < ee.length; + Ke++ + ) { + K = ee[Ke]; + var Ue = [{ _level: K.level, _override: 0, _isolate: 0 }], + Ze = void 0, + ct = 0, + Rt = 0, + de = 0; + se.clear(); + for (var ge = K.start; ge <= K.end; ge++) { + var Oe = ue[ge]; + if ( + ((Ze = Ue[Ue.length - 1]), + se.set(Oe, (se.get(Oe) || 0) + 1), + Oe & i && se.set(i, (se.get(i) || 0) + 1), + Oe & ze) + ) + if (Oe & (ie | te)) { + Me[ge] = Ze._level; + var Xe = (Oe === ie ? Pe : tt)(Ze._level); + Xe <= ce && !ct && !Rt + ? Ue.push({ _level: Xe, _override: 0, _isolate: 0 }) + : ct || Rt++; + } else if (Oe & (H | q)) { + Me[ge] = Ze._level; + var $e = (Oe === H ? Pe : tt)(Ze._level); + $e <= ce && !ct && !Rt + ? Ue.push({ + _level: $e, + _override: Oe & H ? T : E, + _isolate: 0, + }) + : ct || Rt++; + } else if (Oe & o) { + (Oe & Y && (Oe = eF(ge + 1, !0) === 1 ? J : oe), + (Me[ge] = Ze._level), + Ze._override && qe(ge, Ze._override)); + var Ie = (Oe === J ? Pe : tt)(Ze._level); + Ie <= ce && ct === 0 && Rt === 0 + ? (de++, + Ue.push({ + _level: Ie, + _override: 0, + _isolate: 1, + _isolInitIndex: ge, + })) + : ct++; + } else if (Oe & ae) { + if (ct > 0) ct--; + else if (de > 0) { + for (Rt = 0; !Ue[Ue.length - 1]._isolate;) Ue.pop(); + var Ge = Ue[Ue.length - 1]._isolInitIndex; + (Ge != null && (Qe.set(Ge, ge), Qe.set(ge, Ge)), + Ue.pop(), + de--); + } + ((Ze = Ue[Ue.length - 1]), + (Me[ge] = Ze._level), + Ze._override && qe(ge, Ze._override)); + } else + Oe & j + ? (ct === 0 && + (Rt > 0 + ? Rt-- + : !Ze._isolate && + Ue.length > 1 && + (Ue.pop(), (Ze = Ue[Ue.length - 1]))), + (Me[ge] = Ze._level)) + : Oe & U && (Me[ge] = K.level); + else + ((Me[ge] = Ze._level), + Ze._override && Oe !== _ && qe(ge, Ze._override)); + } + for (var _e = [], nt = null, rt = K.start; rt <= K.end; rt++) { + var ot = ue[rt]; + if (!(ot & s)) { + var At = Me[rt], + en = ot & o, + Gt = ot === ae; + nt && At === nt._level + ? ((nt._end = rt), (nt._endsWithIsolInit = en)) + : _e.push( + (nt = { + _start: rt, + _end: rt, + _level: At, + _startsWithPDI: Gt, + _endsWithIsolInit: en, + }), + ); + } + } + for (var tn = [], Yt = 0; Yt < _e.length; Yt++) { + var Be = _e[Yt]; + if (!Be._startsWithPDI || (Be._startsWithPDI && !Qe.has(Be._start))) { + for ( + var Je = [(nt = Be)], it = void 0; + nt && nt._endsWithIsolInit && (it = Qe.get(nt._end)) != null; + ) + for (var Et = Yt + 1; Et < _e.length; Et++) + if (_e[Et]._start === it) { + Je.push((nt = _e[Et])); + break; + } + for (var Mt = [], An = 0; An < Je.length; An++) + for (var Nn = Je[An], Tn = Nn._start; Tn <= Nn._end; Tn++) + Mt.push(Tn); + for ( + var Cn = Me[Mt[0]], er = K.level, qn = Mt[0] - 1; + qn >= 0; + qn-- + ) + if (!(ue[qn] & s)) { + er = Me[qn]; + break; + } + var Er = Mt[Mt.length - 1], + ur = Me[Er], + Yr = K.level; + if (!(ue[Er] & o)) { + for (var mo = Er + 1; mo <= K.end; mo++) + if (!(ue[mo] & s)) { + Yr = Me[mo]; + break; + } + } + tn.push({ + _seqIndices: Mt, + _sosType: Math.max(er, Cn) % 2 ? T : E, + _eosType: Math.max(Yr, ur) % 2 ? T : E, + }); + } + } + for (var Zo = 0; Zo < tn.length; Zo++) { + var Co = tn[Zo], + { _seqIndices: on, _sosType: li, _eosType: Pi } = Co, + zi = Me[on[0]] & 1 ? T : E; + if (se.get(G)) + for (var ve = 0; ve < on.length; ve++) { + var et = on[ve]; + if (ue[et] & G) { + for (var ht = li, st = ve - 1; st >= 0; st--) + if (!(ue[on[st]] & s)) { + ht = ue[on[st]]; + break; + } + qe(et, ht & (o | ae) ? N : ht); + } + } + if (se.get(I)) + for (var lt = 0; lt < on.length; lt++) { + var nn = on[lt]; + if (ue[nn] & I) + for (var dn = lt - 1; dn >= -1; dn--) { + var fn = dn === -1 ? li : ue[on[dn]]; + if (fn & a) { + fn === Z && qe(nn, O); + break; + } + } + } + if (se.get(Z)) + for (var wn = 0; wn < on.length; wn++) { + var Qt = on[wn]; + ue[Qt] & Z && qe(Qt, T); + } + if (se.get(k) || se.get(B)) + for (var Qn = 1; Qn < on.length - 1; Qn++) { + var fr = on[Qn]; + if (ue[fr] & (k | B)) { + for ( + var hn = 0, nr = 0, la = Qn - 1; + la >= 0 && ((hn = ue[on[la]]), hn & s); + la-- + ); + for ( + var ir = Qn + 1; + ir < on.length && ((nr = ue[on[ir]]), nr & s); + ir++ + ); + hn === nr && + (ue[fr] === k ? hn === I : hn & (I | O)) && + qe(fr, hn); + } + } + if (se.get(I)) { + for (var Or = 0; Or < on.length; Or++) + if (ue[on[Or]] & I) { + for (var _a = Or - 1; _a >= 0 && ue[on[_a]] & (L | s); _a--) + qe(on[_a], I); + for (Or++; Or < on.length && ue[on[Or]] & (L | s | I); Or++) + ue[on[Or]] !== I && qe(on[Or], I); + } + } + if (se.get(L) || se.get(k) || se.get(B)) + for (var kn = 0; kn < on.length; kn++) { + var ps = on[kn]; + if (ue[ps] & (L | k | B)) { + qe(ps, N); + for (var uo = kn - 1; uo >= 0 && ue[on[uo]] & s; uo--) + qe(on[uo], N); + for (var fs = kn + 1; fs < on.length && ue[on[fs]] & s; fs++) + qe(on[fs], N); + } + } + if (se.get(I)) + for (var ea = 0, no = li; ea < on.length; ea++) { + var zd = on[ea], + ho = ue[zd]; + ho & I ? no === E && qe(zd, E) : ho & a && (no = ho); + } + if (se.get(i)) { + for ( + var ta = T | I | O, rc = ta | E, ro = [], al = [], $a = 0; + $a < on.length; + $a++ + ) + if (ue[on[$a]] & i) { + var Ha = be[on[$a]], + Z0 = void 0; + if (A(Ha) !== null) + if (al.length < 63) al.push({ char: Ha, seqIndex: $a }); + else break; + else if ((Z0 = w(Ha)) !== null) + for (var Qs = al.length - 1; Qs >= 0; Qs--) { + var TS = al[Qs].char; + if (TS === Z0 || TS === w(C(Ha)) || A(C(TS)) === Ha) { + (ro.push([al[Qs].seqIndex, $a]), (al.length = Qs)); + break; + } + } + } + ro.sort(function (af, Ym) { + return af[0] - Ym[0]; + }); + for (var xA = 0; xA < ro.length; xA++) { + for ( + var WO = ro[xA], + _5 = WO[0], + H5 = WO[1], + YO = !1, + f1 = 0, + mk = _5 + 1; + mk < H5; + mk++ + ) { + var KO = on[mk]; + if (ue[KO] & rc) { + YO = !0; + var JO = ue[KO] & ta ? T : E; + if (JO === zi) { + f1 = JO; + break; + } + } + } + if (YO && !f1) { + f1 = li; + for (var V5 = _5 - 1; V5 >= 0; V5--) { + var jO = on[V5]; + if (ue[jO] & rc) { + var $O = ue[jO] & ta ? T : E; + f1 = $O === zi ? zi : $O; + break; + } + } + } + if (f1) { + if (((ue[on[_5]] = ue[on[H5]] = f1), f1 !== zi)) { + for (var kS = _5 + 1; kS < on.length; kS++) + if (!(ue[on[kS]] & s)) { + d(be[on[kS]]) & G && (ue[on[kS]] = f1); + break; + } + } + if (f1 !== zi) { + for (var RS = H5 + 1; RS < on.length; RS++) + if (!(ue[on[RS]] & s)) { + d(be[on[RS]]) & G && (ue[on[RS]] = f1); + break; + } + } + } + } + for (var n2 = 0; n2 < on.length; n2++) + if (ue[on[n2]] & i) { + for (var qY = n2, hk = n2, zv = li, PS = n2 - 1; PS >= 0; PS--) + if (ue[on[PS]] & s) qY = PS; + else { + zv = ue[on[PS]] & ta ? T : E; + break; + } + for (var G5 = Pi, _v = n2 + 1; _v < on.length; _v++) + if (ue[on[_v]] & (i | s)) hk = _v; + else { + G5 = ue[on[_v]] & ta ? T : E; + break; + } + for (var gk = qY; gk <= hk; gk++) + ue[on[gk]] = zv === G5 ? zv : zi; + n2 = hk; + } + } + } + for (var of = K.start; of <= K.end; of++) { + var Uye = Me[of], + q5 = ue[of]; + if ( + (Uye & 1 + ? q5 & (E | I | O) && Me[of]++ + : q5 & T + ? Me[of]++ + : q5 & (O | I) && (Me[of] += 2), + q5 & s && (Me[of] = of === 0 ? K.level : Me[of - 1]), + of === K.end || d(be[of]) & (D | U)) + ) + for (var Z5 = of; Z5 >= 0 && d(be[Z5]) & l; Z5--) Me[Z5] = K.level; + } + } + return { levels: Me, paragraphs: ee }; + function eF(af, Ym) { + for (var sf = af; sf < be.length; sf++) { + var r2 = ue[sf]; + if (r2 & (T | Z)) return 1; + if (r2 & (U | E) || (Ym && r2 === ae)) return 0; + if (r2 & o) { + var yk = ZY(sf); + sf = yk === -1 ? be.length : yk; + } + } + return 0; + } + function ZY(af) { + for (var Ym = 1, sf = af + 1; sf < be.length; sf++) { + var r2 = ue[sf]; + if (r2 & U) break; + if (r2 & ae) { + if (--Ym === 0) return sf; + } else r2 & o && Ym++; + } + return -1; + } + } + var Se = + "14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1", + fe; + function Ae() { + if (!fe) { + var be = m(Se, !0), + ye = be.map; + (be.reverseMap.forEach(function (ce, ue) { + ye.set(ue, ce); + }), + (fe = ye)); + } + } + function Ee(be) { + return (Ae(), fe.get(be) || null); + } + function pe(be, ye, ce, ue) { + var ke = be.length; + ((ce = Math.max(0, ce == null ? 0 : +ce)), + (ue = Math.min(ke - 1, ue == null ? ke - 1 : +ue))); + for (var se = new Map(), qe = ce; qe <= ue; qe++) + if (ye[qe] & 1) { + var Me = Ee(be[qe]); + Me !== null && se.set(qe, Me); + } + return se; + } + function Re(be, ye, ce, ue) { + var ke = be.length; + ((ce = Math.max(0, ce == null ? 0 : +ce)), + (ue = Math.min(ke - 1, ue == null ? ke - 1 : +ue))); + var se = []; + return ( + ye.paragraphs.forEach(function (qe) { + var Me = Math.max(ce, qe.start), + Qe = Math.min(ue, qe.end); + if (Me < Qe) { + for ( + var ee = ye.levels.slice(Me, Qe + 1), K = Qe; + K >= Me && d(be[K]) & l; + K-- + ) + ee[K] = qe.level; + for (var we = qe.level, ze = 1 / 0, tt = 0; tt < ee.length; tt++) { + var Pe = ee[tt]; + (Pe > we && (we = Pe), Pe < ze && (ze = Pe | 1)); + } + for (var Ke = we; Ke >= ze; Ke--) + for (var Ue = 0; Ue < ee.length; Ue++) + if (ee[Ue] >= Ke) { + for (var Ze = Ue; Ue + 1 < ee.length && ee[Ue + 1] >= Ke;) + Ue++; + Ue > Ze && se.push([Ze + Me, Ue + Me]); + } + } + }), + se + ); + } + function Le(be, ye, ce, ue) { + var ke = Ne(be, ye, ce, ue), + se = [].concat(be); + return ( + ke.forEach(function (qe, Me) { + se[Me] = (ye.levels[qe] & 1 ? Ee(be[qe]) : null) || be[qe]; + }), + se.join("") + ); + } + function Ne(be, ye, ce, ue) { + for (var ke = Re(be, ye, ce, ue), se = [], qe = 0; qe < be.length; qe++) + se[qe] = qe; + return ( + ke.forEach(function (Me) { + for ( + var Qe = Me[0], ee = Me[1], K = se.slice(Qe, ee + 1), we = K.length; + we--; + ) + se[ee - we] = K[we]; + }), + se + ); + } + return ( + (e.closingToOpeningBracket = w), + (e.getBidiCharType = d), + (e.getBidiCharTypeName = p), + (e.getCanonicalBracket = C), + (e.getEmbeddingLevels = ne), + (e.getMirroredCharacter = Ee), + (e.getMirroredCharactersMap = pe), + (e.getReorderSegments = Re), + (e.getReorderedIndices = Ne), + (e.getReorderedString = Le), + (e.openingToClosingBracket = A), + Object.defineProperty(e, "__esModule", { value: !0 }), + e + ); + })({}); +} +function wSr(e, t, n, r) { + let o = [], + a = n; + for (let i of jFe(e.slice(n, r))) + (o.push({ index: a, text: i, level: t[a] }), (a += i.length)); + return o; +} +function SSr(e, t) { + let n = !0; + for (let r = e.length - 1; r >= 0; r--) { + let o = sNe.getBidiCharTypeName(e[r].text[0]); + ASr.has(o) + ? ((e[r].level = t), (n = !0)) + : n && xSr.has(o) + ? (e[r].level = t) + : (n = !1); + } +} +function CSr(e, t) { + let n = t, + r = 1 / 0; + for (let { level: a } of e) (a > n && (n = a), (a | 1) < r && (r = a | 1)); + let o = e.slice(); + for (let a = n; a >= r; a--) + for (let i = 0; i < o.length; i++) { + if (o[i].level < a) continue; + let s = i; + for (; s + 1 < o.length && o[s + 1].level >= a;) s++; + for (let l = i, c = s; l < c; l++, c--) [o[l], o[c]] = [o[c], o[l]]; + i = s; + } + return o; +} +function ESr(e) { + return e.level % 2 == 0 + ? e.text + : (sNe.getMirroredCharacter(e.text) ?? e.text); +} +function ISr(e, t) { + return e.find((n) => t >= n.start && t <= n.end)?.level ?? 0; +} +function TSr(e, t, n, r, o) { + let a = wSr(e, t, r, o); + SSr(a, n); + let i = "", + s = []; + for (let l of CSr(a, n)) { + if (bSr.test(l.text)) continue; + let c = ESr(l); + ((i += c), s.push(...Array(c.length).fill(l.index))); + } + return { text: i, sourceIndices: s }; +} +function kSr(e, t) { + let n = t.filter((a) => a > 0 && a < e.length), + r = [...new Set([0, ...n, e.length])].sort((a, i) => a - i), + o = []; + for (let a = 0; a + 1 < r.length; a++) o.push([r[a], r[a + 1]]); + return o; +} +function Lln(e, t) { + let { levels: n, paragraphs: r } = sNe.getEmbeddingLevels(e); + return kSr(e, t.concat(r.map((o) => o.start))).map(([o, a]) => + TSr(e, n, ISr(r, o), o, a), + ); +} +function RSr(e, t) { + return Lln(e, t).map((n) => n.text); +} +function PSr(e, t, n) { + return Lln(e, n).map((r) => [r.text, r.sourceIndices.map((o) => t[o] ?? 0)]); +} +function MSr(e, t, n) { + let r = n.buf, + o, + a; + if ( + ((a = r[n.pos++]), + (o = (a & 112) >> 4), + a < 128 || + ((a = r[n.pos++]), (o |= (a & 127) << 3), a < 128) || + ((a = r[n.pos++]), (o |= (a & 127) << 10), a < 128) || + ((a = r[n.pos++]), (o |= (a & 127) << 17), a < 128) || + ((a = r[n.pos++]), (o |= (a & 127) << 24), a < 128) || + ((a = r[n.pos++]), (o |= (a & 1) << 31), a < 128)) + ) + return DSr(e, o, t); + throw Error("Expected varint not more than 10 bytes"); +} +function DSr(e, t, n) { + return n ? t * 4294967296 + (e >>> 0) : (t >>> 0) * 4294967296 + (e >>> 0); +} +function LSr(e, t, n) { + let r = "", + o = t; + for (; o < n;) { + let a = e[o], + i = null, + s = a > 239 ? 4 : a > 223 ? 3 : a > 191 ? 2 : 1; + if (o + s > n) break; + let l, c, u; + (s === 1 + ? a < 128 && (i = a) + : s === 2 + ? ((l = e[o + 1]), + (l & 192) == 128 && + ((i = ((a & 31) << 6) | (l & 63)), i <= 127 && (i = null))) + : s === 3 + ? ((l = e[o + 1]), + (c = e[o + 2]), + (l & 192) == 128 && + (c & 192) == 128 && + ((i = ((a & 15) << 12) | ((l & 63) << 6) | (c & 63)), + (i <= 2047 || (i >= 55296 && i <= 57343)) && (i = null))) + : s === 4 && + ((l = e[o + 1]), + (c = e[o + 2]), + (u = e[o + 3]), + (l & 192) == 128 && + (c & 192) == 128 && + (u & 192) == 128 && + ((i = + ((a & 15) << 18) | + ((l & 63) << 12) | + ((c & 63) << 6) | + (u & 63)), + (i <= 65535 || i >= 1114112) && (i = null))), + i === null + ? ((i = 65533), (s = 1)) + : i > 65535 && + ((i -= 65536), + (r += String.fromCharCode(((i >>> 10) & 1023) | 55296)), + (i = 56320 | (i & 1023))), + (r += String.fromCharCode(i)), + (o += s)); + } + return r; +} +function BSr(e, t, n) { + e === 1 && n.readMessage(OSr, t); +} +function OSr(e, t, n) { + if (e === 3) { + let { + id: r, + bitmap: o, + width: a, + height: i, + left: s, + top: l, + advance: c, + } = n.readMessage(FSr, {}); + t.push({ + id: r, + bitmap: new Xfe({ width: a + 6, height: i + 6 }, o), + metrics: { width: a, height: i, left: s, top: l, advance: c }, + }); + } +} +function FSr(e, t, n) { + e === 1 + ? (t.id = n.readVarint()) + : e === 2 + ? (t.bitmap = n.readBytes()) + : e === 3 + ? (t.width = n.readVarint()) + : e === 4 + ? (t.height = n.readVarint()) + : e === 5 + ? (t.left = n.readSVarint()) + : e === 6 + ? (t.top = n.readSVarint()) + : e === 7 && (t.advance = n.readVarint()); +} +function Oln(e) { + return new Bln(e).readFields(BSr, []); +} +function TQ(e) { + return typeof e?.renderWithWebGL == "function"; +} +function Fln(e) { + let { userImage: t } = e; + return !t?.render || !t.render() + ? !1 + : (TQ(t.data) || e.data.replace(new Uint8Array(t.data.buffer)), !0); +} +function lNe(e) { + let t = 0, + n = 0; + for (let i of e) ((t += i.w * i.h), (n = Math.max(n, i.w))); + e.sort((i, s) => s.h - i.h); + let r = [ + { x: 0, y: 0, w: Math.max(Math.ceil(Math.sqrt(t / 0.95)), n), h: 1 / 0 }, + ], + o = 0, + a = 0; + for (let i of e) + for (let s = r.length - 1; s >= 0; s--) { + let l = r[s]; + if (!(i.w > l.w || i.h > l.h)) { + if ( + ((i.x = l.x), + (i.y = l.y), + (a = Math.max(a, i.y + i.h)), + (o = Math.max(o, i.x + i.w)), + i.w === l.w && i.h === l.h) + ) { + let c = r.pop(); + c && s < r.length && (r[s] = c); + } else + i.h === l.h + ? ((l.x += i.w), (l.w -= i.w)) + : i.w === l.w + ? ((l.y += i.h), (l.h -= i.h)) + : (r.push({ x: l.x + i.w, y: l.y, w: l.w - i.w, h: i.h }), + (l.y += i.h), + (l.h -= i.h)); + break; + } + } + return { w: o, h: a, fill: t / (o * a) || 0 }; +} +function NSr(e) { + for (let t of e) if (t.positionedGlyphs.length !== 0) return !1; + return !0; +} +function zSr(e, t) { + let n = [], + r = 0; + for (let o of t) (n.push(e.substring(r, o)), (r = o)); + return (r < e.length() && n.push(e.substring(r, e.length())), n); +} +function _Sr(e) { + let t = [], + n = 0; + for (; n < e.length;) { + if (!Can.test(e[n])) { + (t.push(n), n++); + continue; + } + let r = n; + for (; r < e.length && Can.test(e[r]);) r++; + let o = e[r]; + if (o !== void 0 && Pln(o.codePointAt(0))) { + t.push(r); + for (let a = r - 1; a >= n; a--) t.push(a); + n = r + 1; + } else { + for (let a = n; a < r; a++) t.push(a); + n = r; + } + } + return t; +} +function HSr(e) { + let t = [], + n = 0; + for (let r of e.graphemes()) + (t.push(...Array(r.length).fill(e.sectionIndex[n])), n++); + return t; +} +function VSr(e, t) { + let n = t.map((a) => e.toCodeUnitIndex(a)), + r = lfe.isParsed() ? lfe : null; + if (e.sections.length === 1) + return r + ? r.processBidirectionalText(e.toString(), n).map((a) => + Ean( + a, + e.sections, + [...a].map(() => 0), + ), + ) + : RSr(e.toString(), n).map((a) => + tUe( + [...a], + e.sections, + [...a].map(() => 0), + ), + ); + let o = HSr(e); + return r + ? r + .processStyledBidirectionalText(e.text, o, n) + .map(([a, i]) => Ean(a, e.sections, i)) + : PSr(e.text, o, n).map(([a, i]) => { + let s = [...a]; + return tUe( + s, + e.sections, + Nln(s).map((l) => i[l] ?? 0), + ); + }); +} +function tUe(e, t, n) { + let r = new iNe(e.join(""), t, []), + o = 0; + for (let a of r.graphemes()) + (r.sectionIndex.push(n[o] ?? 0), (o += [...a].length)); + return r; +} +function Nln(e) { + let t = [], + n = 0; + for (let r of e) (t.push(n), (n += r.length)); + return t; +} +function Ean(e, t, n) { + let r = [...e], + o = Nln(r), + a = _Sr(r); + return tUe( + a.map((i) => r[i]), + t, + a.map((i) => n[o[i]] ?? 0), + ); +} +function zpe(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m) { + let g = iNe.fromFeature(e, o); + d === 2 && g.verticalizePunctuation(); + let v = g.determineLineBreaks(c, a, t, r, f), + y = Mln(g.text) ? VSr(g, v) : zSr(g, v), + x = [], + A = { + positionedLines: x, + text: g.toString(), + top: u[1], + bottom: u[1], + left: u[0], + right: u[0], + writingMode: d, + iconsInText: !1, + verticalizable: !1, + }; + return (JSr(A, t, n, r, y, i, s, l, d, c, p, m), !NSr(x) && A); +} +function kQ(e) { + let t = 0.5, + n = 0.5; + switch (e) { + case "right": + case "top-right": + case "bottom-right": + t = 1; + break; + case "left": + case "top-left": + case "bottom-left": + t = 0; + } + switch (e) { + case "bottom": + case "bottom-right": + case "bottom-left": + n = 1; + break; + case "top": + case "top-right": + case "top-left": + n = 0; + } + return { horizontalAlign: t, verticalAlign: n }; +} +function GSr(e, t, n) { + let r = t.getMaxScale() * 24, + { maxImageWidth: o, maxImageHeight: a } = t.getMaxImageSize(e), + i = Math.max(r, a * n); + return { + verticalLineContentWidth: Math.max(r, o * n), + horizontalLineContentHeight: i, + }; +} +function zln(e) { + switch (e) { + case "top": + return 0; + case "center": + return 0.5; + default: + return 1; + } +} +function qSr(e, t, n, r) { + if (e?.rect) return e; + let o = t[n.fontStack]?.default?.[r]; + return o ? { rect: null, metrics: o.metrics } : null; +} +function ZSr(e, t, n) { + return !(e === 1 || (!t && !jfe(n)) || (t && (aNe(n) || Rln(n)))); +} +function Qpe(e) { + return /\p{Nd}/u.test(String.fromCodePoint(e)); +} +function _ln(e) { + return /\p{Lu}/u.test(String.fromCodePoint(e)); +} +function QSr(e) { + return /[\p{P}\p{S}]/u.test(String.fromCodePoint(e)); +} +function XSr(e) { + let t = e.some(Qpe) && e.every((r) => Qpe(r) || QSr(r)), + n = e.length <= 3 && e.every((r) => _ln(r) || Qpe(r)); + return t || n; +} +function WSr(e) { + return (Qpe(e) || _ln(e)) && !Rln(e); +} +function YSr(e, t) { + let n = !1; + for (let r = 0; r < e.length; r++) { + if (t[r]) continue; + let o = IL[e[r]]; + o && + (r === 0 || t[r - 1]) && + (r === e.length - 1 || t[r + 1]) && + ((e[r] = o), (t[r] = !0), (n = !0)); + } + return n; +} +function KSr(e) { + let t = e.graphemes().slice(), + n = t.map((a) => a.codePointAt(0)), + r = n.map(jfe), + o = (a) => !r[a] && !aNe(n[a]) && !("imageName" in e.getSection(a)); + for (let a = 0; a < n.length; a++) { + if (!o(a)) continue; + let i = a; + for (; i + 1 < n.length && o(i + 1);) i++; + if (XSr(n.slice(a, i + 1))) for (let s = a; s <= i; s++) r[s] = WSr(n[s]); + a = i; + } + return (YSr(t, r) && ((e.text = t.join("")), (e._graphemes = null)), r); +} +function JSr(e, t, n, r, o, a, i, s, l, c, u, d) { + let p = 0, + f = 0, + m = 0, + g = 0, + v = s === "right" ? 1 : s === "left" ? 0 : 0.5, + y = 24 / d, + x = 0; + for (let C of o) { + C.trim(); + let E = C.getMaxScale(), + T = { positionedGlyphs: [], lineOffset: 0 }; + e.positionedLines[x] = T; + let I = T.positionedGlyphs, + k = 0; + if (!C.length()) { + ((f += a), ++x); + continue; + } + let L = GSr(r, C, y), + O = l === 2 && !u ? KSr(C) : null, + B = C.graphemes(); + for (let N = 0; N < B.length; N++) { + let _ = C.getSection(N), + G = B[N], + Z = G.codePointAt(0), + q = O ? O[N] : ZSr(l, u, Z), + H = + "fontStack" in _ && IQ(G) && !t[_.fontStack]?.default?.[G] + ? [...G] + : [G]; + for (let te of H) { + let ie = { + glyph: te.codePointAt(0), + grapheme: te, + imageName: null, + x: p, + y: f + -17, + vertical: q, + scale: 1, + fontStack: "", + sectionIndex: C.getSectionIndex(N), + metrics: null, + rect: null, + }, + j; + if ("fontStack" in _) { + if (((j = jSr(_, te, q, L, t, n)), !j)) continue; + ie.fontStack = _.fontStack; + } else { + if ( + ((e.iconsInText = !0), (_.scale *= y), (j = $Sr(_, q, E, L, r)), !j) + ) + continue; + ((k = Math.max(k, j.imageOffset)), (ie.imageName = _.imageName)); + } + let { rect: oe, metrics: J, baselineOffset: Y } = j; + if ( + ((ie.y += Y), + (ie.scale = _.scale), + (ie.metrics = J), + (ie.rect = oe), + I.push(ie), + !q) + ) + p += J.advance * _.scale + c; + else { + e.verticalizable = !0; + let ae = "imageName" in _ ? J.advance : 24; + p += ae * _.scale + c; + } + } + } + if (I.length !== 0) { + let N = p - c; + ((m = Math.max(N, m)), e4r(I, 0, I.length - 1, v)); + } + p = 0; + let U = (E - 1) * 24; + T.lineOffset = Math.max(k, U); + let D = a * E + k; + ((f += D), (g = Math.max(D, g)), ++x); + } + let { horizontalAlign: A, verticalAlign: w } = kQ(i); + (t4r(e.positionedLines, v, A, w, m, g, a, f, o.length), + (e.top += -w * f), + (e.bottom = e.top + f), + (e.left += -A * m), + (e.right = e.left + m)); +} +function jSr(e, t, n, r, o, a) { + let i = a[e.fontStack]?.default?.[t], + s = qSr(i, o, e, t); + if (s === null) return null; + let l; + if (n) l = r.verticalLineContentWidth - e.scale * 24; + else { + let c = zln(e.verticalAlign); + l = (r.horizontalLineContentHeight - e.scale * 24) * c; + } + return { rect: s.rect, metrics: s.metrics, baselineOffset: l }; +} +function $Sr(e, t, n, r, o) { + let a = o[e.imageName]; + if (!a) return null; + let { paddedRect: i, displaySize: s } = a, + l = { + width: s[0], + height: s[1], + left: 1, + top: -3, + advance: t ? s[1] : s[0], + }, + c; + if (t) c = r.verticalLineContentWidth - s[1] * e.scale; + else { + let d = zln(e.verticalAlign); + c = (r.horizontalLineContentHeight - s[1] * e.scale) * d; + } + let u = (t ? s[0] : s[1]) * e.scale - 24 * n; + return { rect: i, metrics: l, baselineOffset: c, imageOffset: u }; +} +function e4r(e, t, n, r) { + if (r === 0) return; + let o = e[n], + a = o.metrics.advance * o.scale, + i = (e[n].x + a) * r; + for (let s = t; s <= n; s++) e[s].x -= i; +} +function t4r(e, t, n, r, o, a, i, s, l) { + let c = (t - n) * o, + u = 0; + u = a === i ? -r * l * i + 0.5 * i : -s * r - -17; + for (let d of e) for (let p of d.positionedGlyphs) ((p.x += c), (p.y += u)); +} +function n4r(e, t, n) { + let { horizontalAlign: r, verticalAlign: o } = kQ(n), + a = t[0], + i = t[1], + s = a - e.displaySize[0] * r, + l = s + e.displaySize[0], + c = i - e.displaySize[1] * o; + return { image: e, top: c, bottom: c + e.displaySize[1], left: s, right: l }; +} +function Hln(e) { + let { left: t, top: n } = e, + r = e.right - t, + o = e.bottom - n, + a = e.image.content[2] - e.image.content[0], + i = e.image.content[3] - e.image.content[1], + s = e.image.textFitWidth ?? "stretchOrShrink", + l = e.image.textFitHeight ?? "stretchOrShrink", + c = a / i; + if (l === "proportional") { + if ((s === "stretchOnly" && r / o < c) || s === "proportional") { + let u = Math.ceil(o * c); + ((t *= u / r), (r = u)); + } + } else if ( + s === "proportional" && + l === "stretchOnly" && + c !== 0 && + r / o > c + ) { + let u = Math.ceil(r / c); + ((n *= u / o), (o = u)); + } + return { x1: t, y1: n, x2: t + r, y2: n + o }; +} +function Ian(e, t, n, r, o, a) { + let i = e.image, + s; + if (i.content) { + let v = i.content, + y = i.pixelRatio || 1; + s = [ + v[0] / y, + v[1] / y, + i.displaySize[0] - v[2] / y, + i.displaySize[1] - v[3] / y, + ]; + } + let l = t.left * a, + c = t.right * a, + u, + d, + p, + f; + n === "width" || n === "both" + ? ((f = o[0] + l - r[3]), (d = o[0] + c + r[1])) + : ((f = o[0] + (l + c - i.displaySize[0]) / 2), (d = f + i.displaySize[0])); + let m = t.top * a, + g = t.bottom * a; + return ( + n === "height" || n === "both" + ? ((u = o[1] + m - r[0]), (p = o[1] + g + r[2])) + : ((u = o[1] + (m + g - i.displaySize[1]) / 2), + (p = u + i.displaySize[1])), + { image: i, top: u, right: d, bottom: p, left: f, collisionPadding: s } + ); +} +function kan(e, t) { + let { expression: n } = t; + if (n.kind === "constant") + return { kind: "constant", layoutSize: n.evaluate(new oi(e + 1)) }; + if (n.kind === "source") return { kind: "source" }; + if (n.kind === "composite") { + let { minZoom: r, maxZoom: o } = r4r(n.zoomStops, e); + return { + kind: "composite", + minZoom: r, + maxZoom: o, + interpolationType: n.interpolationType, + }; + } + { + let r = o4r(n), + o = n.evaluate(new oi(e + 1)); + return { + kind: "camera", + zoomStops: n.zoomStops, + sizes: r, + layoutSize: o, + interpolationType: n.interpolationType, + }; + } +} +function r4r(e, t) { + let n = 0; + for (; n < e.length && e[n] <= t;) n++; + n = Math.max(0, n - 1); + let r = n; + for (; r < e.length && e[r] < t + 1;) r++; + return ((r = Math.min(e.length - 1, r)), { minZoom: e[n], maxZoom: e[r] }); +} +function o4r(e) { + return e.zoomStops.map((t) => + e.evaluate(new oi(t === -1 / 0 ? e.zoomStops[1] - 1 : t)), + ); +} +function eme(e, { uSize: t, uSizeT: n }, { lowerSize: r, upperSize: o }) { + return e.kind === "source" + ? r / 128 + : e.kind === "composite" + ? Hs.number(r / 128, o / 128, n) + : t; +} +function RQ(e, t) { + let n = 0, + r = 0; + return ( + e.kind === "constant" + ? (r = e.layoutSize) + : e.kind === "camera" + ? (r = a4r(e, t)) + : e.kind === "composite" && (n = i4r(e, t)), + { uSizeT: n, uSize: r } + ); +} +function a4r( + { zoomStops: e, sizes: t, layoutSize: n, interpolationType: r }, + o, +) { + let a = e.length - 1; + for (; a > 0 && e[a] > o;) a--; + let i = Math.min(a + 1, e.length - 1), + s = r ? qr(Dy.interpolationFactor(r, o, e[a], e[i]), 0, 1) : 0; + return Math.min(Hs.number(t[a], t[i], s), n); +} +function i4r({ interpolationType: e, minZoom: t, maxZoom: n }, r) { + return e ? qr(Dy.interpolationFactor(e, r, t, n), 0, 1) : 0; +} +function Vln(e, t, n, r, o) { + if (t.segment === void 0 || n === 0) return !0; + let a = t, + i = t.segment + 1, + s = 0; + for (; s > -n / 2;) { + if ((i--, i < 0)) return !1; + ((s -= e[i].dist(a)), (a = e[i])); + } + ((s += e[i].dist(e[i + 1])), i++); + let l = [], + c = 0; + for (; s < n / 2;) { + let u = e[i - 1], + d = e[i], + p = e[i + 1]; + if (!p) return !1; + let f = u.angleTo(d) - d.angleTo(p); + for ( + f = Math.abs(((f + 3 * Math.PI) % (Math.PI * 2)) - Math.PI), + l.push({ distance: s, angleDelta: f }), + c += f; + s - l[0].distance > r; + ) + c -= l.shift().angleDelta; + if (c > o) return !1; + (i++, (s += d.dist(p))); + } + return !0; +} +function Gln(e) { + let t = 0; + for (let n = 0; n < e.length - 1; n++) t += e[n].dist(e[n + 1]); + return t; +} +function qln(e, t, n) { + return e ? 0.6 * t * n : 0; +} +function Zln(e, t) { + return Math.max(e ? e.right - e.left : 0, t ? t.right - t.left : 0); +} +function s4r(e, t, n, r, o, a) { + let i = qln(n, o, a), + s = Zln(n, r) * a, + l = 0, + c = Gln(e) / 2; + for (let u = 0; u < e.length - 1; u++) { + let d = e[u], + p = e[u + 1], + f = d.dist(p); + if (l + f > c) { + let m = (c - l) / f, + g = new DL( + Hs.number(d.x, p.x, m), + Hs.number(d.y, p.y, m), + p.angleTo(d), + u, + ); + return (g._round(), !i || Vln(e, g, s, i, t) ? g : void 0); + } + l += f; + } +} +function l4r(e, t, n, r, o, a, i, s, l) { + let c = qln(r, a, i), + u = Zln(r, o), + d = u * i, + p = e[0].x === 0 || e[0].x === l || e[0].y === 0 || e[0].y === l; + t - d < t / 4 && (t = d + t / 4); + let f = a * 2; + return Qln( + e, + p ? ((t / 2) * s) % t : ((u / 2 + f) * i * s) % t, + t, + c, + n, + d, + p, + !1, + l, + ); +} +function Qln(e, t, n, r, o, a, i, s, l) { + let c = a / 2, + u = Gln(e), + d = 0, + p = t - n, + f = []; + for (let m = 0; m < e.length - 1; m++) { + let g = e[m], + v = e[m + 1], + y = g.dist(v), + x = v.angleTo(g); + for (; p + n < d + y;) { + p += n; + let A = (p - d) / y, + w = Hs.number(g.x, v.x, A), + C = Hs.number(g.y, v.y, A); + if (w >= 0 && w < l && C >= 0 && C < l && p - c >= 0 && p + c <= u) { + let E = new DL(w, C, x, m); + (E._round(), (!r || Vln(e, E, a, r, o)) && f.push(E)); + } + } + d += y; + } + return ( + !s && !f.length && !i && (f = Qln(e, d / 2, n, r, o, a, i, !0, l)), + f + ); +} +function cNe(e, t, n, r, o) { + let a = []; + for (let i of e) { + let s; + for (let l = 0; l < i.length - 1; l++) { + let c = i[l], + u = i[l + 1]; + (c.x < t && u.x < t) || + (c.x < t + ? (c = new ft( + t, + c.y + (u.y - c.y) * ((t - c.x) / (u.x - c.x)), + )._round()) + : u.x < t && + (u = new ft( + t, + c.y + (u.y - c.y) * ((t - c.x) / (u.x - c.x)), + )._round()), + !(c.y < n && u.y < n) && + (c.y < n + ? (c = new ft( + c.x + (u.x - c.x) * ((n - c.y) / (u.y - c.y)), + n, + )._round()) + : u.y < n && + (u = new ft( + c.x + (u.x - c.x) * ((n - c.y) / (u.y - c.y)), + n, + )._round()), + !(c.x >= r && u.x >= r) && + (c.x >= r + ? (c = new ft( + r, + c.y + (u.y - c.y) * ((r - c.x) / (u.x - c.x)), + )._round()) + : u.x >= r && + (u = new ft( + r, + c.y + (u.y - c.y) * ((r - c.x) / (u.x - c.x)), + )._round()), + !(c.y >= o && u.y >= o) && + (c.y >= o + ? (c = new ft( + c.x + (u.x - c.x) * ((o - c.y) / (u.y - c.y)), + o, + )._round()) + : u.y >= o && + (u = new ft( + c.x + (u.x - c.x) * ((o - c.y) / (u.y - c.y)), + o, + )._round()), + (!s || !c.equals(s[s.length - 1])) && ((s = [c]), a.push(s)), + s.push(u))))); + } + } + return a; +} +function Ran(e, t, n, r) { + let o = [], + a = e.image, + i = a.pixelRatio, + s = a.paddedRect.w - 2, + l = a.paddedRect.h - 2, + c = { x1: e.left, y1: e.top, x2: e.right, y2: e.bottom }, + u = a.stretchX || [[0, s]], + d = a.stretchY || [[0, l]], + p = (D, N) => D + N[1] - N[0], + f = u.reduce(p, 0), + m = d.reduce(p, 0), + g = s - f, + v = l - m, + y = 0, + x = f, + A = 0, + w = m, + C = 0, + E = g, + T = 0, + I = v; + if (a.content && r) { + let D = a.content, + N = D[2] - D[0], + _ = D[3] - D[1]; + ((a.textFitWidth || a.textFitHeight) && (c = Hln(e)), + (y = _pe(u, 0, D[0])), + (A = _pe(d, 0, D[1])), + (x = _pe(u, D[0], D[2])), + (w = _pe(d, D[1], D[3])), + (C = D[0] - y), + (T = D[1] - A), + (E = N - x), + (I = _ - w)); + } + let k = c.x1, + L = c.y1, + O = c.x2 - k, + B = c.y2 - L, + U = (D, N, _, G) => { + let Z = Hpe(D.stretch - y, x, O, k), + q = Vpe(D.fixed - C, E, D.stretch, f), + H = Hpe(N.stretch - A, w, B, L), + te = Vpe(N.fixed - T, I, N.stretch, m), + ie = Hpe(_.stretch - y, x, O, k), + j = Vpe(_.fixed - C, E, _.stretch, f), + oe = Hpe(G.stretch - A, w, B, L), + J = Vpe(G.fixed - T, I, G.stretch, m), + Y = new ft(Z, H), + ae = new ft(ie, H), + ne = new ft(ie, oe), + Se = new ft(Z, oe), + fe = new ft(q / i, te / i), + Ae = new ft(j / i, J / i), + Ee = (t * Math.PI) / 180; + if (Ee) { + let be = Math.sin(Ee), + ye = Math.cos(Ee), + ce = [ye, -be, be, ye]; + (Y._matMult(ce), ae._matMult(ce), Se._matMult(ce), ne._matMult(ce)); + } + let pe = D.stretch + D.fixed, + Re = _.stretch + _.fixed, + Le = N.stretch + N.fixed, + Ne = G.stretch + G.fixed; + return { + tl: Y, + tr: ae, + bl: Se, + br: ne, + tex: { + x: a.paddedRect.x + 1 + pe, + y: a.paddedRect.y + 1 + Le, + w: Re - pe, + h: Ne - Le, + }, + writingMode: void 0, + glyphOffset: [0, 0], + sectionIndex: 0, + pixelOffsetTL: fe, + pixelOffsetBR: Ae, + minFontScaleX: E / i / O, + minFontScaleY: I / i / B, + isSDF: n, + }; + }; + if (!r || (!a.stretchX && !a.stretchY)) + o.push( + U( + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: s + 1 }, + { fixed: 0, stretch: l + 1 }, + ), + ); + else { + let D = Pan(u, g, f), + N = Pan(d, v, m); + for (let _ = 0; _ < D.length - 1; _++) { + let G = D[_], + Z = D[_ + 1]; + for (let q = 0; q < N.length - 1; q++) { + let H = N[q], + te = N[q + 1]; + o.push(U(G, H, Z, te)); + } + } + } + return o; +} +function _pe(e, t, n) { + let r = 0; + for (let o of e) + r += Math.max(t, Math.min(n, o[1])) - Math.max(t, Math.min(n, o[0])); + return r; +} +function Pan(e, t, n) { + let r = [{ fixed: -1, stretch: 0 }]; + for (let [o, a] of e) { + let i = r[r.length - 1]; + (r.push({ fixed: o - i.stretch, stretch: i.stretch }), + r.push({ fixed: o - i.stretch, stretch: i.stretch + (a - o) })); + } + return (r.push({ fixed: t + 1, stretch: n }), r); +} +function Hpe(e, t, n, r) { + return (e / t) * n + r; +} +function Vpe(e, t, n, r) { + return e - (t * n) / r; +} +function c4r(e, t, n, r, o, a, i, s) { + let l = (r.layout.get("text-rotate").evaluate(a, {}) * Math.PI) / 180, + c = []; + for (let u of t.positionedLines) + for (let d of u.positionedGlyphs) { + if (!d.rect) continue; + let p = d.rect || {}, + f = 4, + m = !0, + g = 1, + v = 0, + y = (o || s) && d.vertical, + x = (d.metrics.advance * d.scale) / 2; + if (s && t.verticalizable) { + let G = (d.scale - 1) * 24, + Z = (24 - d.metrics.width * d.scale) / 2; + v = u.lineOffset / 2 - (d.imageName ? -Z : G); + } + if (d.imageName) { + let G = i[d.imageName]; + ((m = G.sdf), (g = G.pixelRatio), (f = 1 / g)); + } + let A = o ? [d.x + x, d.y] : [0, 0], + w = o ? [0, 0] : [d.x + x + n[0], d.y + n[1] - v], + C = [0, 0]; + y && ((C = w), (w = [0, 0])); + let E = d.metrics.isDoubleResolution ? 2 : 1, + T = (d.metrics.left - f) * d.scale - x + w[0], + I = (-d.metrics.top - f) * d.scale + w[1], + k = T + ((p.w / E) * d.scale) / g, + L = I + ((p.h / E) * d.scale) / g, + O = new ft(T, I), + B = new ft(k, I), + U = new ft(T, L), + D = new ft(k, L); + if (y) { + let G = new ft(-x, x - -17), + Z = -Math.PI / 2, + q = 12 - x, + H = d.imageName ? q : 0, + te = new ft(22 - q, -H), + ie = new ft(...C); + (O._rotateAround(Z, G)._add(te)._add(ie), + B._rotateAround(Z, G)._add(te)._add(ie), + U._rotateAround(Z, G)._add(te)._add(ie), + D._rotateAround(Z, G)._add(te)._add(ie)); + } + if (l) { + let G = Math.sin(l), + Z = Math.cos(l), + q = [Z, -G, G, Z]; + (O._matMult(q), B._matMult(q), U._matMult(q), D._matMult(q)); + } + let N = new ft(0, 0), + _ = new ft(0, 0); + c.push({ + tl: O, + tr: B, + bl: U, + br: D, + tex: p, + writingMode: t.writingMode, + glyphOffset: A, + sectionIndex: d.sectionIndex, + isSDF: m, + pixelOffsetTL: N, + pixelOffsetBR: _, + minFontScaleX: 0, + minFontScaleY: 0, + }); + } + return c; +} +function d4r(e, t = 1) { + let n = By.fromPoints(e[0]), + r = Math.min(n.width(), n.height()), + o = r / 2, + a = new u4r([], p4r), + { minX: i, minY: s, maxX: l, maxY: c } = n; + if (r === 0) return new ft(i, s); + for (let p = i; p < l; p += r) + for (let f = s; f < c; f += r) a.push(new CL(p + o, f + o, o, e)); + let u = m4r(e), + d = u; + for (; a.length;) { + let p = a.pop(); + ((p.d > d.d || !d.d) && (d = p), + !(p.max - d.d <= t) && + ((o = p.h / 2), + a.push(new CL(p.p.x - o, p.p.y - o, o, e)), + a.push(new CL(p.p.x + o, p.p.y - o, o, e)), + a.push(new CL(p.p.x - o, p.p.y + o, o, e)), + a.push(new CL(p.p.x + o, p.p.y + o, o, e)))); + } + return u.d > 0 && d.d - u.d <= t ? u.p : d.p; +} +function p4r(e, t) { + return t.max - e.max; +} +function f4r(e, t) { + let n = !1, + r = 1 / 0; + for (let o of t) + for (let a = 0, i = o.length, s = i - 1; a < i; s = a++) { + let l = o[a], + c = o[s]; + (l.y > e.y != c.y > e.y && + e.x < ((c.x - l.x) * (e.y - l.y)) / (c.y - l.y) + l.x && + (n = !n), + (r = Math.min(r, Jsn(e, l, c)))); + } + return (n ? 1 : -1) * Math.sqrt(r); +} +function m4r(e) { + let t = 0, + n = 0, + r = 0, + o = e[0]; + for (let a = 0, i = o.length, s = i - 1; a < i; s = a++) { + let l = o[a], + c = o[s], + u = l.x * c.y - c.x * l.y; + ((n += (l.x + c.x) * u), (r += (l.y + c.y) * u), (t += u * 3)); + } + return new CL(n / t, r / t, 0, e); +} +function Xln(e, t) { + function n(o, a) { + let i = 0, + s = 0; + a < 0 && (a = 0); + let l = a / Math.SQRT2; + switch (o) { + case "top-right": + case "top-left": + s = l - 7; + break; + case "bottom-right": + case "bottom-left": + s = -l + 7; + break; + case "bottom": + s = -a + 7; + break; + case "top": + s = a - 7; + } + switch (o) { + case "top-right": + case "bottom-right": + i = -l; + break; + case "top-left": + case "bottom-left": + i = l; + break; + case "left": + i = a; + break; + case "right": + i = -a; + } + return [i, s]; + } + function r(o, a, i) { + let s = 0, + l = 0; + switch (((a = Math.abs(a)), (i = Math.abs(i)), o)) { + case "top-right": + case "top-left": + case "top": + l = i - 7; + break; + case "bottom-right": + case "bottom-left": + case "bottom": + l = -i + 7; + } + switch (o) { + case "top-right": + case "bottom-right": + case "right": + s = -a; + break; + case "top-left": + case "bottom-left": + case "left": + s = a; + } + return [s, l]; + } + return t[1] === uNe ? n(e, t[0]) : r(e, t[0], t[1]); +} +function Wln(e, t, n) { + let r = e.layout, + o = r.get("text-variable-anchor-offset")?.evaluate(t, {}, n); + if (o) { + let i = o.values, + s = []; + for (let l = 0; l < i.length; l += 2) { + let c = (s[l] = i[l]), + u = i[l + 1].map((d) => d * 24); + (c.startsWith("top") + ? (u[1] -= 7) + : c.startsWith("bottom") && (u[1] += 7), + (s[l + 1] = u)); + } + return new Hx(s); + } + let a = r.get("text-variable-anchor"); + if (a) { + let i; + i = + e._unevaluatedLayout.getValue("text-radial-offset") === void 0 + ? r + .get("text-offset") + .evaluate(t, {}, n) + .map((l) => l * 24) + : [r.get("text-radial-offset").evaluate(t, {}, n) * 24, uNe]; + let s = []; + for (let l of a) s.push(l, Xln(l, i)); + return new Hx(s); + } + return null; +} +function h4r(e) { + e.bucket.createArrays(); + let t = 512 * e.bucket.overscaling; + ((e.bucket.tilePixelRatio = Ut / t), + (e.bucket.compareText = {}), + (e.bucket.iconsNeedLinear = !1)); + let n = e.bucket.layers[0], + r = n.layout, + o = n._unevaluatedLayout._values, + a = { + layoutIconSize: o["icon-size"].possiblyEvaluate( + new oi(e.bucket.zoom + 1), + e.canonical, + ), + layoutTextSize: o["text-size"].possiblyEvaluate( + new oi(e.bucket.zoom + 1), + e.canonical, + ), + textMaxSize: o["text-size"].possiblyEvaluate(new oi(18)), + }; + if (e.bucket.textSizeData.kind === "composite") { + let { minZoom: u, maxZoom: d } = e.bucket.textSizeData; + a.compositeTextSizes = [ + o["text-size"].possiblyEvaluate(new oi(u), e.canonical), + o["text-size"].possiblyEvaluate(new oi(d), e.canonical), + ]; + } + if (e.bucket.iconSizeData.kind === "composite") { + let { minZoom: u, maxZoom: d } = e.bucket.iconSizeData; + a.compositeIconSizes = [ + o["icon-size"].possiblyEvaluate(new oi(u), e.canonical), + o["icon-size"].possiblyEvaluate(new oi(d), e.canonical), + ]; + } + let i = r.get("text-line-height") * 24, + s = + r.get("text-rotation-alignment") !== "viewport" && + r.get("symbol-placement") !== "point", + l = r.get("text-keep-upright"), + c = r.get("text-size"); + for (let u of e.bucket.features) { + let d = r.get("text-font").evaluate(u, {}, e.canonical).join(","), + p = c.evaluate(u, {}, e.canonical), + f = a.layoutTextSize.evaluate(u, {}, e.canonical), + m = a.layoutIconSize.evaluate(u, {}, e.canonical), + g = { horizontal: {}, vertical: void 0 }, + v = u.text, + y = [0, 0]; + if (v) { + let C = v.toString(), + E = r.get("text-letter-spacing").evaluate(u, {}, e.canonical) * 24, + T = pSr(C) ? E : 0, + I = r.get("text-anchor").evaluate(u, {}, e.canonical), + k = Wln(n, u, e.canonical); + if (!k) { + let U = r.get("text-radial-offset").evaluate(u, {}, e.canonical); + y = U + ? Xln(I, [U * 24, uNe]) + : r + .get("text-offset") + .evaluate(u, {}, e.canonical) + .map((D) => D * 24); + } + let L = s ? "center" : r.get("text-justify").evaluate(u, {}, e.canonical), + O = + r.get("symbol-placement") === "point" + ? r.get("text-max-width").evaluate(u, {}, e.canonical) * 24 + : 1 / 0, + B = () => { + e.bucket.allowVerticalPlacement && + $Fe(C) && + (g.vertical = zpe( + v, + e.glyphMap, + e.glyphPositions, + e.imagePositions, + d, + O, + i, + I, + "left", + T, + y, + 2, + !0, + f, + p, + )); + }; + if (!s && k) { + let U = new Set(); + if (L === "auto") + for (let N = 0; N < k.values.length; N += 2) U.add(cfe(k.values[N])); + else U.add(L); + let D = !1; + for (let N of U) + if (!g.horizontal[N]) + if (D) g.horizontal[N] = g.horizontal[0]; + else { + let _ = zpe( + v, + e.glyphMap, + e.glyphPositions, + e.imagePositions, + d, + O, + i, + "center", + N, + T, + y, + 1, + !1, + f, + p, + ); + _ && + ((g.horizontal[N] = _), (D = _.positionedLines.length === 1)); + } + B(); + } else { + L === "auto" && (L = cfe(I)); + let U = zpe( + v, + e.glyphMap, + e.glyphPositions, + e.imagePositions, + d, + O, + i, + I, + L, + T, + y, + 1, + !1, + f, + p, + ); + (U && (g.horizontal[L] = U), + B(), + $Fe(C) && + s && + l && + (g.vertical = zpe( + v, + e.glyphMap, + e.glyphPositions, + e.imagePositions, + d, + O, + i, + I, + L, + T, + y, + 2, + !1, + f, + p, + ))); + } + } + let x, + A = !1; + if (u.icon?.name) { + let C = e.imageMap[u.icon.name]; + C && + ((x = n4r( + e.imagePositions[u.icon.name], + r.get("icon-offset").evaluate(u, {}, e.canonical), + r.get("icon-anchor").evaluate(u, {}, e.canonical), + )), + (A = !!C.sdf), + e.bucket.sdfIcons === void 0 + ? (e.bucket.sdfIcons = A) + : e.bucket.sdfIcons !== A && + Ko( + "Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer", + ), + C.pixelRatio === e.bucket.pixelRatio + ? r.get("icon-rotate").constantOr(1) !== 0 && + (e.bucket.iconsNeedLinear = !0) + : (e.bucket.iconsNeedLinear = !0)); + } + let w = Yln(g.horizontal) || g.vertical; + ((e.bucket.iconsInText ||= w ? w.iconsInText : !1), + (w || x) && + g4r( + e.bucket, + u, + g, + x, + e.imageMap, + a, + f, + m, + y, + A, + e.canonical, + e.subdivisionGranularity, + e.hasPromoteId, + )); + } + e.showCollisionBoxes && e.bucket.generateCollisionDebugBuffers(); +} +function cfe(e) { + switch (e) { + case "right": + case "top-right": + case "bottom-right": + return "right"; + case "left": + case "top-left": + case "bottom-left": + return "left"; + } + return "center"; +} +function g4r(e, t, n, r, o, a, i, s, l, c, u, d, p) { + let f = a.textMaxSize.evaluate(t, {}); + f === void 0 && (f = i); + let m = e.layers[0].layout, + g = m.get("icon-offset").evaluate(t, {}, u), + v = Yln(n.horizontal), + y = i / 24, + x = e.tilePixelRatio * y, + A = (e.tilePixelRatio * f) / 24, + w = e.tilePixelRatio * s, + C = e.tilePixelRatio * m.get("symbol-spacing"), + E = m.get("text-padding") * e.tilePixelRatio, + T = R4r(m, t, u, e.tilePixelRatio), + I = (m.get("text-max-angle") / 180) * Math.PI, + k = + m.get("text-rotation-alignment") !== "viewport" && + m.get("symbol-placement") !== "point", + L = + m.get("icon-rotation-alignment").constantOr("viewport") === "map" && + m.get("symbol-placement") !== "point", + O = m.get("symbol-placement"), + B = C / 2, + U = m.get("icon-text-fit"), + D; + r && + U !== "none" && + (e.allowVerticalPlacement && + n.vertical && + (D = Ian(r, n.vertical, U, m.get("icon-text-fit-padding"), g, y)), + v && (r = Ian(r, v, U, m.get("icon-text-fit-padding"), g, y))); + let N = u ? d.line.getGranularityForZoomLevel(u.z) : 1, + _ = (G, Z) => { + Z.x < 0 || + Z.x >= 8192 || + Z.y < 0 || + Z.y >= 8192 || + v4r( + e, + Z, + G, + n, + r, + o, + D, + e.layers[0], + e.collisionBoxArray, + t.index, + t.sourceLayerIndex, + e.index, + x, + [E, E, E, E], + k, + l, + w, + T, + L, + g, + t, + a, + c, + u, + i, + p, + ); + }; + if (O === "line") + for (let G of cNe(t.geometry, 0, 0, Ut, Ut)) { + let Z = UT(G, N), + q = l4r(Z, C, I, n.vertical || v, r, 24, A, e.overscaling, Ut); + for (let H of q) { + let te = v; + (!te || !b4r(e, te.text, B, H)) && _(Z, H); + } + } + else if (O === "line-center") { + for (let G of t.geometry) + if (G.length > 1) { + let Z = UT(G, N), + q = s4r(Z, I, n.vertical || v, r, 24, A); + q && _(Z, q); + } + } else if (t.type === "Polygon") + for (let G of Dfe(t.geometry, 0)) { + let Z = d4r(G, 16); + _(UT(G[0], N, !0), new DL(Z.x, Z.y, 0)); + } + else if (t.type === "LineString") + for (let G of t.geometry) { + let Z = UT(G, N); + _(Z, new DL(Z[0].x, Z[0].y, 0)); + } + else if (t.type === "Point") + for (let G of t.geometry) for (let Z of G) _([Z], new DL(Z.x, Z.y, 0)); +} +function y4r(e, t) { + let n = e.length, + r = t?.values; + if (r?.length > 0) + for (let o = 0; o < r.length; o += 2) { + let a = tme[r[o]], + i = r[o + 1]; + e.emplaceBack(a, i[0], i[1]); + } + return [n, e.length]; +} +function Man(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g) { + let v = c4r(t, n, s, o, a, i, r, e.allowVerticalPlacement), + y = e.textSizeData, + x = null; + (y.kind === "source" + ? ((x = [128 * o.layout.get("text-size").evaluate(i, {})]), + x[0] > 32640 && + Ko( + `${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`, + )) + : y.kind === "composite" && + ((x = [ + 128 * m.compositeTextSizes[0].evaluate(i, {}, g), + 128 * m.compositeTextSizes[1].evaluate(i, {}, g), + ]), + (x[0] > 32640 || x[1] > 32640) && + Ko( + `${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`, + )), + e.addSymbols( + e.text, + v, + x, + s, + a, + i, + u, + t, + c.lineStartIndex, + c.lineLength, + f, + g, + l, + )); + for (let A of d) p[A] = e.text.placedSymbolArray.length - 1; + return v.length * 4; +} +function Yln(e) { + for (let t in e) return e[t]; + return null; +} +function v4r( + e, + t, + n, + r, + o, + a, + i, + s, + l, + c, + u, + d, + p, + f, + m, + g, + v, + y, + x, + A, + w, + C, + E, + T, + I, + k, +) { + let L = e.addToLineVertexArray(t, n), + O = s.layout.get("symbol-height-offset").evaluate(w, {}, T); + O > e.maxHeightOffset && (e.maxHeightOffset = O); + let B, + U, + D, + N, + _ = 0, + G = 0, + Z = 0, + q = 0, + H = -1, + te = -1, + ie = {}, + j = (0, ofe.default)(""); + if (e.allowVerticalPlacement && r.vertical) { + let ce = s.layout.get("text-rotate").evaluate(w, {}, T) + 90, + ue = r.vertical; + ((D = new Gpe(l, t, c, u, d, ue, p, f, m, ce)), + i && (N = new Gpe(l, t, c, u, d, i, v, y, m, ce))); + } + if (o) { + let ce = s.layout.get("icon-rotate").evaluate(w, {}), + ue = s.layout.get("icon-text-fit") !== "none", + ke = Ran(o, ce, E, ue), + se = i ? Ran(i, ce, E, ue) : void 0; + ((U = new Gpe(l, t, c, u, d, o, v, y, !1, ce)), (_ = ke.length * 4)); + let qe = e.iconSizeData, + Me = null; + (qe.kind === "source" + ? ((Me = [128 * s.layout.get("icon-size").evaluate(w, {})]), + Me[0] > 32640 && + Ko( + `${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`, + )) + : qe.kind === "composite" && + ((Me = [ + 128 * C.compositeIconSizes[0].evaluate(w, {}, T), + 128 * C.compositeIconSizes[1].evaluate(w, {}, T), + ]), + (Me[0] > 32640 || Me[1] > 32640) && + Ko( + `${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`, + )), + e.addSymbols( + e.icon, + ke, + Me, + A, + x, + w, + 0, + t, + L.lineStartIndex, + L.lineLength, + -1, + T, + O, + ), + (H = e.icon.placedSymbolArray.length - 1), + se && + ((G = se.length * 4), + e.addSymbols( + e.icon, + se, + Me, + A, + x, + w, + 2, + t, + L.lineStartIndex, + L.lineLength, + -1, + T, + O, + ), + (te = e.icon.placedSymbolArray.length - 1))); + } + let oe = Object.keys(r.horizontal); + for (let ce of oe) { + let ue = r.horizontal[ce]; + B ||= + ((j = (0, ofe.default)(ue.text)), + new Gpe( + l, + t, + c, + u, + d, + ue, + p, + f, + m, + s.layout.get("text-rotate").evaluate(w, {}, T), + )); + let ke = ue.positionedLines.length === 1; + if ( + ((Z += Man( + e, + t, + ue, + a, + s, + m, + w, + g, + O, + L, + r.vertical ? 1 : 3, + ke ? oe : [ce], + ie, + H, + C, + T, + )), + ke) + ) + break; + } + r.vertical && + (q += Man( + e, + t, + r.vertical, + a, + s, + m, + w, + g, + O, + L, + 2, + ["vertical"], + ie, + te, + C, + T, + )); + let J = B ? B.boxStartIndex : e.collisionBoxArray.length, + Y = B ? B.boxEndIndex : e.collisionBoxArray.length, + ae = D ? D.boxStartIndex : e.collisionBoxArray.length, + ne = D ? D.boxEndIndex : e.collisionBoxArray.length, + Se = U ? U.boxStartIndex : e.collisionBoxArray.length, + fe = U ? U.boxEndIndex : e.collisionBoxArray.length, + Ae = N ? N.boxStartIndex : e.collisionBoxArray.length, + Ee = N ? N.boxEndIndex : e.collisionBoxArray.length, + pe = -1, + Re = (ce, ue) => + ce?.circleDiameter ? Math.max(ce.circleDiameter, ue) : ue; + ((pe = Re(B, pe)), (pe = Re(D, pe)), (pe = Re(U, pe)), (pe = Re(N, pe))); + let Le = +(pe > -1); + (Le && (pe *= I / 24), + e.glyphOffsetArray.length >= e.maxGlyphs && + Ko( + "Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907", + ), + w.sortKey !== void 0 && + e.addToSortKeyRanges(e.symbolInstances.length, w.sortKey)); + let Ne = Wln(s, w, T), + [be, ye] = y4r(e.textAnchorOffsets, Ne); + (k && (j = x4r(j, w)), + e.symbolInstances.emplaceBack( + t.x, + t.y, + ie.right >= 0 ? ie.right : -1, + ie.center >= 0 ? ie.center : -1, + ie.left >= 0 ? ie.left : -1, + ie.vertical || -1, + H, + te, + j, + J, + Y, + ae, + ne, + Se, + fe, + Ae, + Ee, + c, + Z, + q, + _, + G, + Le, + 0, + p, + pe, + be, + ye, + O, + )); +} +function b4r(e, t, n, r) { + let o = e.compareText; + if (!(t in o)) o[t] = []; + else { + let a = o[t]; + for (let i = a.length - 1; i >= 0; i--) if (r.dist(a[i]) < n) return !0; + } + return (o[t].push(r), !1); +} +function x4r(e, t) { + return t.id == null || t.properties?.cluster + ? e + : (0, ofe.default)(String(t.id), e); +} +function iQ(e, t, n) { + let r = "never", + o = e.get(t); + return (o ? (r = o) : e.get(n) && (r = "always"), r); +} +function qpe(e, t, n, r, o, a, i, s, l, c, u, d, p, f) { + let m = s ? Math.min(Tan, Math.round(s[0])) : 0, + g = s ? Math.min(Tan, Math.round(s[1])) : 0; + e.emplaceBack( + t, + n, + Math.round(r * 32), + Math.round(o * 32), + a, + i, + (m << 1) + +!!l, + g, + c * 16, + u * 16, + d * 256, + p * 256, + f, + ); +} +function PQ(e, t, n) { + (e.emplaceBack(t.x, t.y, n), + e.emplaceBack(t.x, t.y, n), + e.emplaceBack(t.x, t.y, n), + e.emplaceBack(t.x, t.y, n)); +} +function w4r(e) { + for (let t of e.sections) if (Mln(t.text)) return !0; + return !1; +} +function S4r(e, t) { + return t.replace(/{([^{}]+)}/g, (n, r) => (e && r in e ? String(e[r]) : "")); +} +function R4r(e, t, n, r = 1) { + let o = e.get("icon-padding").evaluate(t, {}, n)?.values; + return [o[0] * r, o[1] * r, o[2] * r, o[3] * r]; +} +function jln(e) { + let t = [], + n = e.id; + return ( + n === void 0 && + t.push(new jt(`layers.${n}`, null, 'missing required property "id"')), + e.render === void 0 && + t.push(new jt(`layers.${n}`, null, 'missing required method "render"')), + e.renderingMode && + e.renderingMode !== "2d" && + e.renderingMode !== "3d" && + t.push( + new jt( + `layers.${n}`, + null, + 'property "renderingMode" must be either "2d" or "3d"', + ), + ), + t + ); +} +function nme(e, t) { + if (e.type === "custom") return new B4r(e, t); + switch (e.type) { + case "background": + return new L4r(e, t); + case "circle": + return new u3r(e, t); + case "color-relief": + return new S3r(e, t); + case "fill": + return new nwr(e, t); + case "fill-extrusion": + return new wwr(e, t); + case "heatmap": + return new m3r(e, t); + case "hillshade": + return new v3r(e, t); + case "line": + return new Fwr(e, t); + case "raster": + return new IAr(e, t); + case "symbol": + return new k4r(e, t); + } +} +function U4r(e, t, n) { + return !(e < 0 || e > 25 || n < 0 || n >= 2 ** e || t < 0 || t >= 2 ** e); +} +function pNe(e, t) { + let { x: n, y: r } = ai.fromLngLat(t); + return !(e < 0 || e > 25 || r < 0 || r >= 1 || n < 0 || n >= 1); +} +function HT(e, t, n, r, o) { + ((e *= 2), e < 0 && (e = e * -1 - 1)); + let a = 1 << n; + return (a * a * e + a * o + r).toString(36) + n.toString(36) + t.toString(36); +} +function N4r(e, t, n) { + t = 2 ** n - t - 1; + let r = Dan(e * 256, t * 256, n), + o = Dan((e + 1) * 256, (t + 1) * 256, n); + return `${r[0]},${r[1]},${o[0]},${o[1]}`; +} +function Dan(e, t, n) { + let r = (2 * nFe) / 256 / 2 ** n; + return [e * r - nFe, t * r - nFe]; +} +function z4r(e, t, n) { + let r = ""; + for (let o = e; o > 0; o--) { + let a = 1 << (o - 1); + r += (t & a ? 1 : 0) + (n & a ? 2 : 0); + } + return r; +} +function fNe(e, t) { + let n = Math.abs(e.wrap * 2) - +(e.wrap < 0), + r = Math.abs(t.wrap * 2) - +(t.wrap < 0); + return ( + e.overscaledZ - t.overscaledZ || + r - n || + t.canonical.y - e.canonical.y || + t.canonical.x - e.canonical.x + ); +} +function ANe(e, t) { + return e - (e % t); +} +function V4r(e) { + return ANe(e + 31, 32); +} +function ocn(e) { + if (!Number.isFinite(e) || e <= 0) return xNe; + let t = ANe(Math.floor(e), 256); + return t === 0 ? 256 : t; +} +function G4r(e) { + let t = e >>> 0; + return ( + (((t & 255) << 24) | + ((t & 65280) << 8) | + ((t >>> 8) & 65280) | + ((t >>> 24) & 255)) >>> + 0 + ); +} +function q4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0; + ((n[o++] = (a >>> 0) & 3), + (n[o++] = (a >>> 2) & 3), + (n[o++] = (a >>> 4) & 3), + (n[o++] = (a >>> 6) & 3), + (n[o++] = (a >>> 8) & 3), + (n[o++] = (a >>> 10) & 3), + (n[o++] = (a >>> 12) & 3), + (n[o++] = (a >>> 14) & 3), + (n[o++] = (a >>> 16) & 3), + (n[o++] = (a >>> 18) & 3), + (n[o++] = (a >>> 20) & 3), + (n[o++] = (a >>> 22) & 3), + (n[o++] = (a >>> 24) & 3), + (n[o++] = (a >>> 26) & 3), + (n[o++] = (a >>> 28) & 3), + (n[o++] = (a >>> 30) & 3), + (n[o++] = (i >>> 0) & 3), + (n[o++] = (i >>> 2) & 3), + (n[o++] = (i >>> 4) & 3), + (n[o++] = (i >>> 6) & 3), + (n[o++] = (i >>> 8) & 3), + (n[o++] = (i >>> 10) & 3), + (n[o++] = (i >>> 12) & 3), + (n[o++] = (i >>> 14) & 3), + (n[o++] = (i >>> 16) & 3), + (n[o++] = (i >>> 18) & 3), + (n[o++] = (i >>> 20) & 3), + (n[o++] = (i >>> 22) & 3), + (n[o++] = (i >>> 24) & 3), + (n[o++] = (i >>> 26) & 3), + (n[o++] = (i >>> 28) & 3), + (n[o] = (i >>> 30) & 3)); +} +function Z4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0; + ((n[o++] = (a >>> 0) & 7), + (n[o++] = (a >>> 3) & 7), + (n[o++] = (a >>> 6) & 7), + (n[o++] = (a >>> 9) & 7), + (n[o++] = (a >>> 12) & 7), + (n[o++] = (a >>> 15) & 7), + (n[o++] = (a >>> 18) & 7), + (n[o++] = (a >>> 21) & 7), + (n[o++] = (a >>> 24) & 7), + (n[o++] = (a >>> 27) & 7), + (n[o++] = ((a >>> 30) | ((i & 1) << 2)) & 7), + (n[o++] = (i >>> 1) & 7), + (n[o++] = (i >>> 4) & 7), + (n[o++] = (i >>> 7) & 7), + (n[o++] = (i >>> 10) & 7), + (n[o++] = (i >>> 13) & 7), + (n[o++] = (i >>> 16) & 7), + (n[o++] = (i >>> 19) & 7), + (n[o++] = (i >>> 22) & 7), + (n[o++] = (i >>> 25) & 7), + (n[o++] = (i >>> 28) & 7), + (n[o++] = ((i >>> 31) | ((s & 3) << 1)) & 7), + (n[o++] = (s >>> 2) & 7), + (n[o++] = (s >>> 5) & 7), + (n[o++] = (s >>> 8) & 7), + (n[o++] = (s >>> 11) & 7), + (n[o++] = (s >>> 14) & 7), + (n[o++] = (s >>> 17) & 7), + (n[o++] = (s >>> 20) & 7), + (n[o++] = (s >>> 23) & 7), + (n[o++] = (s >>> 26) & 7), + (n[o] = (s >>> 29) & 7)); +} +function Q4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0; + ((n[o++] = (a >>> 0) & 15), + (n[o++] = (a >>> 4) & 15), + (n[o++] = (a >>> 8) & 15), + (n[o++] = (a >>> 12) & 15), + (n[o++] = (a >>> 16) & 15), + (n[o++] = (a >>> 20) & 15), + (n[o++] = (a >>> 24) & 15), + (n[o++] = (a >>> 28) & 15), + (n[o++] = (i >>> 0) & 15), + (n[o++] = (i >>> 4) & 15), + (n[o++] = (i >>> 8) & 15), + (n[o++] = (i >>> 12) & 15), + (n[o++] = (i >>> 16) & 15), + (n[o++] = (i >>> 20) & 15), + (n[o++] = (i >>> 24) & 15), + (n[o++] = (i >>> 28) & 15), + (n[o++] = (s >>> 0) & 15), + (n[o++] = (s >>> 4) & 15), + (n[o++] = (s >>> 8) & 15), + (n[o++] = (s >>> 12) & 15), + (n[o++] = (s >>> 16) & 15), + (n[o++] = (s >>> 20) & 15), + (n[o++] = (s >>> 24) & 15), + (n[o++] = (s >>> 28) & 15), + (n[o++] = (l >>> 0) & 15), + (n[o++] = (l >>> 4) & 15), + (n[o++] = (l >>> 8) & 15), + (n[o++] = (l >>> 12) & 15), + (n[o++] = (l >>> 16) & 15), + (n[o++] = (l >>> 20) & 15), + (n[o++] = (l >>> 24) & 15), + (n[o] = (l >>> 28) & 15)); +} +function X4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0; + ((n[o++] = (a >>> 0) & 31), + (n[o++] = (a >>> 5) & 31), + (n[o++] = (a >>> 10) & 31), + (n[o++] = (a >>> 15) & 31), + (n[o++] = (a >>> 20) & 31), + (n[o++] = (a >>> 25) & 31), + (n[o++] = ((a >>> 30) | ((i & 7) << 2)) & 31), + (n[o++] = (i >>> 3) & 31), + (n[o++] = (i >>> 8) & 31), + (n[o++] = (i >>> 13) & 31), + (n[o++] = (i >>> 18) & 31), + (n[o++] = (i >>> 23) & 31), + (n[o++] = ((i >>> 28) | ((s & 1) << 4)) & 31), + (n[o++] = (s >>> 1) & 31), + (n[o++] = (s >>> 6) & 31), + (n[o++] = (s >>> 11) & 31), + (n[o++] = (s >>> 16) & 31), + (n[o++] = (s >>> 21) & 31), + (n[o++] = (s >>> 26) & 31), + (n[o++] = ((s >>> 31) | ((l & 15) << 1)) & 31), + (n[o++] = (l >>> 4) & 31), + (n[o++] = (l >>> 9) & 31), + (n[o++] = (l >>> 14) & 31), + (n[o++] = (l >>> 19) & 31), + (n[o++] = (l >>> 24) & 31), + (n[o++] = ((l >>> 29) | ((c & 3) << 3)) & 31), + (n[o++] = (c >>> 2) & 31), + (n[o++] = (c >>> 7) & 31), + (n[o++] = (c >>> 12) & 31), + (n[o++] = (c >>> 17) & 31), + (n[o++] = (c >>> 22) & 31), + (n[o] = (c >>> 27) & 31)); +} +function W4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0; + ((n[o++] = (a >>> 0) & 63), + (n[o++] = (a >>> 6) & 63), + (n[o++] = (a >>> 12) & 63), + (n[o++] = (a >>> 18) & 63), + (n[o++] = (a >>> 24) & 63), + (n[o++] = ((a >>> 30) | ((i & 15) << 2)) & 63), + (n[o++] = (i >>> 4) & 63), + (n[o++] = (i >>> 10) & 63), + (n[o++] = (i >>> 16) & 63), + (n[o++] = (i >>> 22) & 63), + (n[o++] = ((i >>> 28) | ((s & 3) << 4)) & 63), + (n[o++] = (s >>> 2) & 63), + (n[o++] = (s >>> 8) & 63), + (n[o++] = (s >>> 14) & 63), + (n[o++] = (s >>> 20) & 63), + (n[o++] = (s >>> 26) & 63), + (n[o++] = (l >>> 0) & 63), + (n[o++] = (l >>> 6) & 63), + (n[o++] = (l >>> 12) & 63), + (n[o++] = (l >>> 18) & 63), + (n[o++] = (l >>> 24) & 63), + (n[o++] = ((l >>> 30) | ((c & 15) << 2)) & 63), + (n[o++] = (c >>> 4) & 63), + (n[o++] = (c >>> 10) & 63), + (n[o++] = (c >>> 16) & 63), + (n[o++] = (c >>> 22) & 63), + (n[o++] = ((c >>> 28) | ((u & 3) << 4)) & 63), + (n[o++] = (u >>> 2) & 63), + (n[o++] = (u >>> 8) & 63), + (n[o++] = (u >>> 14) & 63), + (n[o++] = (u >>> 20) & 63), + (n[o] = (u >>> 26) & 63)); +} +function Y4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0, + d = e[t + 6] >>> 0; + ((n[o++] = (a >>> 0) & 127), + (n[o++] = (a >>> 7) & 127), + (n[o++] = (a >>> 14) & 127), + (n[o++] = (a >>> 21) & 127), + (n[o++] = ((a >>> 28) | ((i & 7) << 4)) & 127), + (n[o++] = (i >>> 3) & 127), + (n[o++] = (i >>> 10) & 127), + (n[o++] = (i >>> 17) & 127), + (n[o++] = (i >>> 24) & 127), + (n[o++] = ((i >>> 31) | ((s & 63) << 1)) & 127), + (n[o++] = (s >>> 6) & 127), + (n[o++] = (s >>> 13) & 127), + (n[o++] = (s >>> 20) & 127), + (n[o++] = ((s >>> 27) | ((l & 3) << 5)) & 127), + (n[o++] = (l >>> 2) & 127), + (n[o++] = (l >>> 9) & 127), + (n[o++] = (l >>> 16) & 127), + (n[o++] = (l >>> 23) & 127), + (n[o++] = ((l >>> 30) | ((c & 31) << 2)) & 127), + (n[o++] = (c >>> 5) & 127), + (n[o++] = (c >>> 12) & 127), + (n[o++] = (c >>> 19) & 127), + (n[o++] = ((c >>> 26) | ((u & 1) << 6)) & 127), + (n[o++] = (u >>> 1) & 127), + (n[o++] = (u >>> 8) & 127), + (n[o++] = (u >>> 15) & 127), + (n[o++] = (u >>> 22) & 127), + (n[o++] = ((u >>> 29) | ((d & 15) << 3)) & 127), + (n[o++] = (d >>> 4) & 127), + (n[o++] = (d >>> 11) & 127), + (n[o++] = (d >>> 18) & 127), + (n[o] = (d >>> 25) & 127)); +} +function K4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0, + d = e[t + 6] >>> 0, + p = e[t + 7] >>> 0; + ((n[o++] = (a >>> 0) & 255), + (n[o++] = (a >>> 8) & 255), + (n[o++] = (a >>> 16) & 255), + (n[o++] = (a >>> 24) & 255), + (n[o++] = (i >>> 0) & 255), + (n[o++] = (i >>> 8) & 255), + (n[o++] = (i >>> 16) & 255), + (n[o++] = (i >>> 24) & 255), + (n[o++] = (s >>> 0) & 255), + (n[o++] = (s >>> 8) & 255), + (n[o++] = (s >>> 16) & 255), + (n[o++] = (s >>> 24) & 255), + (n[o++] = (l >>> 0) & 255), + (n[o++] = (l >>> 8) & 255), + (n[o++] = (l >>> 16) & 255), + (n[o++] = (l >>> 24) & 255), + (n[o++] = (c >>> 0) & 255), + (n[o++] = (c >>> 8) & 255), + (n[o++] = (c >>> 16) & 255), + (n[o++] = (c >>> 24) & 255), + (n[o++] = (u >>> 0) & 255), + (n[o++] = (u >>> 8) & 255), + (n[o++] = (u >>> 16) & 255), + (n[o++] = (u >>> 24) & 255), + (n[o++] = (d >>> 0) & 255), + (n[o++] = (d >>> 8) & 255), + (n[o++] = (d >>> 16) & 255), + (n[o++] = (d >>> 24) & 255), + (n[o++] = (p >>> 0) & 255), + (n[o++] = (p >>> 8) & 255), + (n[o++] = (p >>> 16) & 255), + (n[o] = (p >>> 24) & 255)); +} +function J4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0, + d = e[t + 6] >>> 0, + p = e[t + 7] >>> 0, + f = e[t + 8] >>> 0; + ((n[o++] = (a >>> 0) & 511), + (n[o++] = (a >>> 9) & 511), + (n[o++] = (a >>> 18) & 511), + (n[o++] = ((a >>> 27) | ((i & 15) << 5)) & 511), + (n[o++] = (i >>> 4) & 511), + (n[o++] = (i >>> 13) & 511), + (n[o++] = (i >>> 22) & 511), + (n[o++] = ((i >>> 31) | ((s & 255) << 1)) & 511), + (n[o++] = (s >>> 8) & 511), + (n[o++] = (s >>> 17) & 511), + (n[o++] = ((s >>> 26) | ((l & 7) << 6)) & 511), + (n[o++] = (l >>> 3) & 511), + (n[o++] = (l >>> 12) & 511), + (n[o++] = (l >>> 21) & 511), + (n[o++] = ((l >>> 30) | ((c & 127) << 2)) & 511), + (n[o++] = (c >>> 7) & 511), + (n[o++] = (c >>> 16) & 511), + (n[o++] = ((c >>> 25) | ((u & 3) << 7)) & 511), + (n[o++] = (u >>> 2) & 511), + (n[o++] = (u >>> 11) & 511), + (n[o++] = (u >>> 20) & 511), + (n[o++] = ((u >>> 29) | ((d & 63) << 3)) & 511), + (n[o++] = (d >>> 6) & 511), + (n[o++] = (d >>> 15) & 511), + (n[o++] = ((d >>> 24) | ((p & 1) << 8)) & 511), + (n[o++] = (p >>> 1) & 511), + (n[o++] = (p >>> 10) & 511), + (n[o++] = (p >>> 19) & 511), + (n[o++] = ((p >>> 28) | ((f & 31) << 4)) & 511), + (n[o++] = (f >>> 5) & 511), + (n[o++] = (f >>> 14) & 511), + (n[o] = (f >>> 23) & 511)); +} +function j4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0, + d = e[t + 6] >>> 0, + p = e[t + 7] >>> 0, + f = e[t + 8] >>> 0, + m = e[t + 9] >>> 0; + ((n[o++] = (a >>> 0) & 1023), + (n[o++] = (a >>> 10) & 1023), + (n[o++] = (a >>> 20) & 1023), + (n[o++] = ((a >>> 30) | ((i & 255) << 2)) & 1023), + (n[o++] = (i >>> 8) & 1023), + (n[o++] = (i >>> 18) & 1023), + (n[o++] = ((i >>> 28) | ((s & 63) << 4)) & 1023), + (n[o++] = (s >>> 6) & 1023), + (n[o++] = (s >>> 16) & 1023), + (n[o++] = ((s >>> 26) | ((l & 15) << 6)) & 1023), + (n[o++] = (l >>> 4) & 1023), + (n[o++] = (l >>> 14) & 1023), + (n[o++] = ((l >>> 24) | ((c & 3) << 8)) & 1023), + (n[o++] = (c >>> 2) & 1023), + (n[o++] = (c >>> 12) & 1023), + (n[o++] = (c >>> 22) & 1023), + (n[o++] = (u >>> 0) & 1023), + (n[o++] = (u >>> 10) & 1023), + (n[o++] = (u >>> 20) & 1023), + (n[o++] = ((u >>> 30) | ((d & 255) << 2)) & 1023), + (n[o++] = (d >>> 8) & 1023), + (n[o++] = (d >>> 18) & 1023), + (n[o++] = ((d >>> 28) | ((p & 63) << 4)) & 1023), + (n[o++] = (p >>> 6) & 1023), + (n[o++] = (p >>> 16) & 1023), + (n[o++] = ((p >>> 26) | ((f & 15) << 6)) & 1023), + (n[o++] = (f >>> 4) & 1023), + (n[o++] = (f >>> 14) & 1023), + (n[o++] = ((f >>> 24) | ((m & 3) << 8)) & 1023), + (n[o++] = (m >>> 2) & 1023), + (n[o++] = (m >>> 12) & 1023), + (n[o] = (m >>> 22) & 1023)); +} +function $4r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0, + d = e[t + 6] >>> 0, + p = e[t + 7] >>> 0, + f = e[t + 8] >>> 0, + m = e[t + 9] >>> 0, + g = e[t + 10] >>> 0; + ((n[o++] = (a >>> 0) & 2047), + (n[o++] = (a >>> 11) & 2047), + (n[o++] = ((a >>> 22) | ((i & 1) << 10)) & 2047), + (n[o++] = (i >>> 1) & 2047), + (n[o++] = (i >>> 12) & 2047), + (n[o++] = ((i >>> 23) | ((s & 3) << 9)) & 2047), + (n[o++] = (s >>> 2) & 2047), + (n[o++] = (s >>> 13) & 2047), + (n[o++] = ((s >>> 24) | ((l & 7) << 8)) & 2047), + (n[o++] = (l >>> 3) & 2047), + (n[o++] = (l >>> 14) & 2047), + (n[o++] = ((l >>> 25) | ((c & 15) << 7)) & 2047), + (n[o++] = (c >>> 4) & 2047), + (n[o++] = (c >>> 15) & 2047), + (n[o++] = ((c >>> 26) | ((u & 31) << 6)) & 2047), + (n[o++] = (u >>> 5) & 2047), + (n[o++] = (u >>> 16) & 2047), + (n[o++] = ((u >>> 27) | ((d & 63) << 5)) & 2047), + (n[o++] = (d >>> 6) & 2047), + (n[o++] = (d >>> 17) & 2047), + (n[o++] = ((d >>> 28) | ((p & 127) << 4)) & 2047), + (n[o++] = (p >>> 7) & 2047), + (n[o++] = (p >>> 18) & 2047), + (n[o++] = ((p >>> 29) | ((f & 255) << 3)) & 2047), + (n[o++] = (f >>> 8) & 2047), + (n[o++] = (f >>> 19) & 2047), + (n[o++] = ((f >>> 30) | ((m & 511) << 2)) & 2047), + (n[o++] = (m >>> 9) & 2047), + (n[o++] = (m >>> 20) & 2047), + (n[o++] = ((m >>> 31) | ((g & 1023) << 1)) & 2047), + (n[o++] = (g >>> 10) & 2047), + (n[o] = (g >>> 21) & 2047)); +} +function e6r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0, + d = e[t + 6] >>> 0, + p = e[t + 7] >>> 0, + f = e[t + 8] >>> 0, + m = e[t + 9] >>> 0, + g = e[t + 10] >>> 0, + v = e[t + 11] >>> 0; + ((n[o++] = (a >>> 0) & 4095), + (n[o++] = (a >>> 12) & 4095), + (n[o++] = ((a >>> 24) | ((i & 15) << 8)) & 4095), + (n[o++] = (i >>> 4) & 4095), + (n[o++] = (i >>> 16) & 4095), + (n[o++] = ((i >>> 28) | ((s & 255) << 4)) & 4095), + (n[o++] = (s >>> 8) & 4095), + (n[o++] = (s >>> 20) & 4095), + (n[o++] = (l >>> 0) & 4095), + (n[o++] = (l >>> 12) & 4095), + (n[o++] = ((l >>> 24) | ((c & 15) << 8)) & 4095), + (n[o++] = (c >>> 4) & 4095), + (n[o++] = (c >>> 16) & 4095), + (n[o++] = ((c >>> 28) | ((u & 255) << 4)) & 4095), + (n[o++] = (u >>> 8) & 4095), + (n[o++] = (u >>> 20) & 4095), + (n[o++] = (d >>> 0) & 4095), + (n[o++] = (d >>> 12) & 4095), + (n[o++] = ((d >>> 24) | ((p & 15) << 8)) & 4095), + (n[o++] = (p >>> 4) & 4095), + (n[o++] = (p >>> 16) & 4095), + (n[o++] = ((p >>> 28) | ((f & 255) << 4)) & 4095), + (n[o++] = (f >>> 8) & 4095), + (n[o++] = (f >>> 20) & 4095), + (n[o++] = (m >>> 0) & 4095), + (n[o++] = (m >>> 12) & 4095), + (n[o++] = ((m >>> 24) | ((g & 15) << 8)) & 4095), + (n[o++] = (g >>> 4) & 4095), + (n[o++] = (g >>> 16) & 4095), + (n[o++] = ((g >>> 28) | ((v & 255) << 4)) & 4095), + (n[o++] = (v >>> 8) & 4095), + (n[o] = (v >>> 20) & 4095)); +} +function t6r(e, t, n, r) { + let o = r, + a = e[t] >>> 0, + i = e[t + 1] >>> 0, + s = e[t + 2] >>> 0, + l = e[t + 3] >>> 0, + c = e[t + 4] >>> 0, + u = e[t + 5] >>> 0, + d = e[t + 6] >>> 0, + p = e[t + 7] >>> 0, + f = e[t + 8] >>> 0, + m = e[t + 9] >>> 0, + g = e[t + 10] >>> 0, + v = e[t + 11] >>> 0, + y = e[t + 12] >>> 0, + x = e[t + 13] >>> 0, + A = e[t + 14] >>> 0, + w = e[t + 15] >>> 0; + ((n[o++] = (a >>> 0) & 65535), + (n[o++] = (a >>> 16) & 65535), + (n[o++] = (i >>> 0) & 65535), + (n[o++] = (i >>> 16) & 65535), + (n[o++] = (s >>> 0) & 65535), + (n[o++] = (s >>> 16) & 65535), + (n[o++] = (l >>> 0) & 65535), + (n[o++] = (l >>> 16) & 65535), + (n[o++] = (c >>> 0) & 65535), + (n[o++] = (c >>> 16) & 65535), + (n[o++] = (u >>> 0) & 65535), + (n[o++] = (u >>> 16) & 65535), + (n[o++] = (d >>> 0) & 65535), + (n[o++] = (d >>> 16) & 65535), + (n[o++] = (p >>> 0) & 65535), + (n[o++] = (p >>> 16) & 65535), + (n[o++] = (f >>> 0) & 65535), + (n[o++] = (f >>> 16) & 65535), + (n[o++] = (m >>> 0) & 65535), + (n[o++] = (m >>> 16) & 65535), + (n[o++] = (g >>> 0) & 65535), + (n[o++] = (g >>> 16) & 65535), + (n[o++] = (v >>> 0) & 65535), + (n[o++] = (v >>> 16) & 65535), + (n[o++] = (y >>> 0) & 65535), + (n[o++] = (y >>> 16) & 65535), + (n[o++] = (x >>> 0) & 65535), + (n[o++] = (x >>> 16) & 65535), + (n[o++] = (A >>> 0) & 65535), + (n[o++] = (A >>> 16) & 65535), + (n[o++] = (w >>> 0) & 65535), + (n[o] = (w >>> 16) & 65535)); +} +function n6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 1), + (n[o++] = (s >>> 1) & 1), + (n[o++] = (s >>> 2) & 1), + (n[o++] = (s >>> 3) & 1), + (n[o++] = (s >>> 4) & 1), + (n[o++] = (s >>> 5) & 1), + (n[o++] = (s >>> 6) & 1), + (n[o++] = (s >>> 7) & 1), + (n[o++] = (s >>> 8) & 1), + (n[o++] = (s >>> 9) & 1), + (n[o++] = (s >>> 10) & 1), + (n[o++] = (s >>> 11) & 1), + (n[o++] = (s >>> 12) & 1), + (n[o++] = (s >>> 13) & 1), + (n[o++] = (s >>> 14) & 1), + (n[o++] = (s >>> 15) & 1), + (n[o++] = (s >>> 16) & 1), + (n[o++] = (s >>> 17) & 1), + (n[o++] = (s >>> 18) & 1), + (n[o++] = (s >>> 19) & 1), + (n[o++] = (s >>> 20) & 1), + (n[o++] = (s >>> 21) & 1), + (n[o++] = (s >>> 22) & 1), + (n[o++] = (s >>> 23) & 1), + (n[o++] = (s >>> 24) & 1), + (n[o++] = (s >>> 25) & 1), + (n[o++] = (s >>> 26) & 1), + (n[o++] = (s >>> 27) & 1), + (n[o++] = (s >>> 28) & 1), + (n[o++] = (s >>> 29) & 1), + (n[o++] = (s >>> 30) & 1), + (n[o++] = (s >>> 31) & 1)); + } +} +function r6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0, + l = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 3), + (n[o++] = (s >>> 2) & 3), + (n[o++] = (s >>> 4) & 3), + (n[o++] = (s >>> 6) & 3), + (n[o++] = (s >>> 8) & 3), + (n[o++] = (s >>> 10) & 3), + (n[o++] = (s >>> 12) & 3), + (n[o++] = (s >>> 14) & 3), + (n[o++] = (s >>> 16) & 3), + (n[o++] = (s >>> 18) & 3), + (n[o++] = (s >>> 20) & 3), + (n[o++] = (s >>> 22) & 3), + (n[o++] = (s >>> 24) & 3), + (n[o++] = (s >>> 26) & 3), + (n[o++] = (s >>> 28) & 3), + (n[o++] = (s >>> 30) & 3), + (n[o++] = (l >>> 0) & 3), + (n[o++] = (l >>> 2) & 3), + (n[o++] = (l >>> 4) & 3), + (n[o++] = (l >>> 6) & 3), + (n[o++] = (l >>> 8) & 3), + (n[o++] = (l >>> 10) & 3), + (n[o++] = (l >>> 12) & 3), + (n[o++] = (l >>> 14) & 3), + (n[o++] = (l >>> 16) & 3), + (n[o++] = (l >>> 18) & 3), + (n[o++] = (l >>> 20) & 3), + (n[o++] = (l >>> 22) & 3), + (n[o++] = (l >>> 24) & 3), + (n[o++] = (l >>> 26) & 3), + (n[o++] = (l >>> 28) & 3), + (n[o++] = (l >>> 30) & 3)); + } +} +function o6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0, + l = e[a++] >>> 0, + c = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 7), + (n[o++] = (s >>> 3) & 7), + (n[o++] = (s >>> 6) & 7), + (n[o++] = (s >>> 9) & 7), + (n[o++] = (s >>> 12) & 7), + (n[o++] = (s >>> 15) & 7), + (n[o++] = (s >>> 18) & 7), + (n[o++] = (s >>> 21) & 7), + (n[o++] = (s >>> 24) & 7), + (n[o++] = (s >>> 27) & 7), + (n[o++] = ((s >>> 30) | ((l & 1) << 2)) & 7), + (n[o++] = (l >>> 1) & 7), + (n[o++] = (l >>> 4) & 7), + (n[o++] = (l >>> 7) & 7), + (n[o++] = (l >>> 10) & 7), + (n[o++] = (l >>> 13) & 7), + (n[o++] = (l >>> 16) & 7), + (n[o++] = (l >>> 19) & 7), + (n[o++] = (l >>> 22) & 7), + (n[o++] = (l >>> 25) & 7), + (n[o++] = (l >>> 28) & 7), + (n[o++] = ((l >>> 31) | ((c & 3) << 1)) & 7), + (n[o++] = (c >>> 2) & 7), + (n[o++] = (c >>> 5) & 7), + (n[o++] = (c >>> 8) & 7), + (n[o++] = (c >>> 11) & 7), + (n[o++] = (c >>> 14) & 7), + (n[o++] = (c >>> 17) & 7), + (n[o++] = (c >>> 20) & 7), + (n[o++] = (c >>> 23) & 7), + (n[o++] = (c >>> 26) & 7), + (n[o++] = (c >>> 29) & 7)); + } +} +function a6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0, + l = e[a++] >>> 0, + c = e[a++] >>> 0, + u = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 15), + (n[o++] = (s >>> 4) & 15), + (n[o++] = (s >>> 8) & 15), + (n[o++] = (s >>> 12) & 15), + (n[o++] = (s >>> 16) & 15), + (n[o++] = (s >>> 20) & 15), + (n[o++] = (s >>> 24) & 15), + (n[o++] = (s >>> 28) & 15), + (n[o++] = (l >>> 0) & 15), + (n[o++] = (l >>> 4) & 15), + (n[o++] = (l >>> 8) & 15), + (n[o++] = (l >>> 12) & 15), + (n[o++] = (l >>> 16) & 15), + (n[o++] = (l >>> 20) & 15), + (n[o++] = (l >>> 24) & 15), + (n[o++] = (l >>> 28) & 15), + (n[o++] = (c >>> 0) & 15), + (n[o++] = (c >>> 4) & 15), + (n[o++] = (c >>> 8) & 15), + (n[o++] = (c >>> 12) & 15), + (n[o++] = (c >>> 16) & 15), + (n[o++] = (c >>> 20) & 15), + (n[o++] = (c >>> 24) & 15), + (n[o++] = (c >>> 28) & 15), + (n[o++] = (u >>> 0) & 15), + (n[o++] = (u >>> 4) & 15), + (n[o++] = (u >>> 8) & 15), + (n[o++] = (u >>> 12) & 15), + (n[o++] = (u >>> 16) & 15), + (n[o++] = (u >>> 20) & 15), + (n[o++] = (u >>> 24) & 15), + (n[o++] = (u >>> 28) & 15)); + } +} +function i6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0, + l = e[a++] >>> 0, + c = e[a++] >>> 0, + u = e[a++] >>> 0, + d = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 31), + (n[o++] = (s >>> 5) & 31), + (n[o++] = (s >>> 10) & 31), + (n[o++] = (s >>> 15) & 31), + (n[o++] = (s >>> 20) & 31), + (n[o++] = (s >>> 25) & 31), + (n[o++] = ((s >>> 30) | ((l & 7) << 2)) & 31), + (n[o++] = (l >>> 3) & 31), + (n[o++] = (l >>> 8) & 31), + (n[o++] = (l >>> 13) & 31), + (n[o++] = (l >>> 18) & 31), + (n[o++] = (l >>> 23) & 31), + (n[o++] = ((l >>> 28) | ((c & 1) << 4)) & 31), + (n[o++] = (c >>> 1) & 31), + (n[o++] = (c >>> 6) & 31), + (n[o++] = (c >>> 11) & 31), + (n[o++] = (c >>> 16) & 31), + (n[o++] = (c >>> 21) & 31), + (n[o++] = (c >>> 26) & 31), + (n[o++] = ((c >>> 31) | ((u & 15) << 1)) & 31), + (n[o++] = (u >>> 4) & 31), + (n[o++] = (u >>> 9) & 31), + (n[o++] = (u >>> 14) & 31), + (n[o++] = (u >>> 19) & 31), + (n[o++] = (u >>> 24) & 31), + (n[o++] = ((u >>> 29) | ((d & 3) << 3)) & 31), + (n[o++] = (d >>> 2) & 31), + (n[o++] = (d >>> 7) & 31), + (n[o++] = (d >>> 12) & 31), + (n[o++] = (d >>> 17) & 31), + (n[o++] = (d >>> 22) & 31), + (n[o++] = (d >>> 27) & 31)); + } +} +function s6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0, + l = e[a++] >>> 0, + c = e[a++] >>> 0, + u = e[a++] >>> 0, + d = e[a++] >>> 0, + p = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 63), + (n[o++] = (s >>> 6) & 63), + (n[o++] = (s >>> 12) & 63), + (n[o++] = (s >>> 18) & 63), + (n[o++] = (s >>> 24) & 63), + (n[o++] = ((s >>> 30) | ((l & 15) << 2)) & 63), + (n[o++] = (l >>> 4) & 63), + (n[o++] = (l >>> 10) & 63), + (n[o++] = (l >>> 16) & 63), + (n[o++] = (l >>> 22) & 63), + (n[o++] = ((l >>> 28) | ((c & 3) << 4)) & 63), + (n[o++] = (c >>> 2) & 63), + (n[o++] = (c >>> 8) & 63), + (n[o++] = (c >>> 14) & 63), + (n[o++] = (c >>> 20) & 63), + (n[o++] = (c >>> 26) & 63), + (n[o++] = (u >>> 0) & 63), + (n[o++] = (u >>> 6) & 63), + (n[o++] = (u >>> 12) & 63), + (n[o++] = (u >>> 18) & 63), + (n[o++] = (u >>> 24) & 63), + (n[o++] = ((u >>> 30) | ((d & 15) << 2)) & 63), + (n[o++] = (d >>> 4) & 63), + (n[o++] = (d >>> 10) & 63), + (n[o++] = (d >>> 16) & 63), + (n[o++] = (d >>> 22) & 63), + (n[o++] = ((d >>> 28) | ((p & 3) << 4)) & 63), + (n[o++] = (p >>> 2) & 63), + (n[o++] = (p >>> 8) & 63), + (n[o++] = (p >>> 14) & 63), + (n[o++] = (p >>> 20) & 63), + (n[o++] = (p >>> 26) & 63)); + } +} +function l6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0, + l = e[a++] >>> 0, + c = e[a++] >>> 0, + u = e[a++] >>> 0, + d = e[a++] >>> 0, + p = e[a++] >>> 0, + f = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 127), + (n[o++] = (s >>> 7) & 127), + (n[o++] = (s >>> 14) & 127), + (n[o++] = (s >>> 21) & 127), + (n[o++] = ((s >>> 28) | ((l & 7) << 4)) & 127), + (n[o++] = (l >>> 3) & 127), + (n[o++] = (l >>> 10) & 127), + (n[o++] = (l >>> 17) & 127), + (n[o++] = (l >>> 24) & 127), + (n[o++] = ((l >>> 31) | ((c & 63) << 1)) & 127), + (n[o++] = (c >>> 6) & 127), + (n[o++] = (c >>> 13) & 127), + (n[o++] = (c >>> 20) & 127), + (n[o++] = ((c >>> 27) | ((u & 3) << 5)) & 127), + (n[o++] = (u >>> 2) & 127), + (n[o++] = (u >>> 9) & 127), + (n[o++] = (u >>> 16) & 127), + (n[o++] = (u >>> 23) & 127), + (n[o++] = ((u >>> 30) | ((d & 31) << 2)) & 127), + (n[o++] = (d >>> 5) & 127), + (n[o++] = (d >>> 12) & 127), + (n[o++] = (d >>> 19) & 127), + (n[o++] = ((d >>> 26) | ((p & 1) << 6)) & 127), + (n[o++] = (p >>> 1) & 127), + (n[o++] = (p >>> 8) & 127), + (n[o++] = (p >>> 15) & 127), + (n[o++] = (p >>> 22) & 127), + (n[o++] = ((p >>> 29) | ((f & 15) << 3)) & 127), + (n[o++] = (f >>> 4) & 127), + (n[o++] = (f >>> 11) & 127), + (n[o++] = (f >>> 18) & 127), + (n[o++] = (f >>> 25) & 127)); + } +} +function c6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 8; i++) { + let s = e[a++] >>> 0, + l = e[a++] >>> 0, + c = e[a++] >>> 0, + u = e[a++] >>> 0, + d = e[a++] >>> 0, + p = e[a++] >>> 0, + f = e[a++] >>> 0, + m = e[a++] >>> 0; + ((n[o++] = (s >>> 0) & 255), + (n[o++] = (s >>> 8) & 255), + (n[o++] = (s >>> 16) & 255), + (n[o++] = (s >>> 24) & 255), + (n[o++] = (l >>> 0) & 255), + (n[o++] = (l >>> 8) & 255), + (n[o++] = (l >>> 16) & 255), + (n[o++] = (l >>> 24) & 255), + (n[o++] = (c >>> 0) & 255), + (n[o++] = (c >>> 8) & 255), + (n[o++] = (c >>> 16) & 255), + (n[o++] = (c >>> 24) & 255), + (n[o++] = (u >>> 0) & 255), + (n[o++] = (u >>> 8) & 255), + (n[o++] = (u >>> 16) & 255), + (n[o++] = (u >>> 24) & 255), + (n[o++] = (d >>> 0) & 255), + (n[o++] = (d >>> 8) & 255), + (n[o++] = (d >>> 16) & 255), + (n[o++] = (d >>> 24) & 255), + (n[o++] = (p >>> 0) & 255), + (n[o++] = (p >>> 8) & 255), + (n[o++] = (p >>> 16) & 255), + (n[o++] = (p >>> 24) & 255), + (n[o++] = (f >>> 0) & 255), + (n[o++] = (f >>> 8) & 255), + (n[o++] = (f >>> 16) & 255), + (n[o++] = (f >>> 24) & 255), + (n[o++] = (m >>> 0) & 255), + (n[o++] = (m >>> 8) & 255), + (n[o++] = (m >>> 16) & 255), + (n[o++] = (m >>> 24) & 255)); + } +} +function u6r(e, t, n, r) { + let o = r, + a = t; + for (let i = 0; i < 128; i++) { + let s = e[a++] >>> 0; + ((n[o++] = s & 65535), (n[o++] = (s >>> 16) & 65535)); + } +} +function d6r(e, t, n, r, o) { + let a = oUe[o] >>> 0, + i = t, + s = 0, + l = e[i] >>> 0, + c = r; + for (let u = 0; u < 8; u++) { + for (let d = 0; d < 32; d++) + if (s + o <= 32) { + let p = (l >>> s) & a; + ((n[c + d] = p | 0), + (s += o), + s === 32 && ((s = 0), i++, d !== 31 && (l = e[i] >>> 0))); + } else { + let p = 32 - s, + f = l >>> s; + (i++, (l = e[i] >>> 0)); + let m = o - p, + g = (-1 >>> (32 - m)) >>> 0, + v = (f | ((l & g) << p)) & a; + ((n[c + d] = v | 0), (s = m)); + } + ((c += 32), (s = 0), u < 7 && (l = e[i] >>> 0)); + } +} +function acn() { + let e = new Uint8Array(p6r); + return { + dataToBePacked: Array(33), + dataPointers: new Int32Array(33), + byteContainer: e, + byteContainerI32: new Int32Array( + e.buffer, + e.byteOffset, + e.byteLength >>> 2, + ), + exceptionSizes: new Int32Array(33), + }; +} +function f6r(e = 16) { + if (e < 0) + throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`); + let t = Math.max(16, e | 0); + return { encodedWords: new Uint32Array(t), decoderWorkspace: acn() }; +} +function m6r(e, t) { + if (t <= e.encodedWords.length) return e.encodedWords; + let n = new Uint32Array(Math.max(16, t * 2)); + return ((e.encodedWords = n), n); +} +function h6r(e, t, n, r) { + r.byteContainer.length < n && + ((r.byteContainer = new Uint8Array(n * 2)), (r.byteContainerI32 = void 0)); + let o = r.byteContainer, + a = n >>> 2; + if (o.byteOffset & 3) + for (let s = 0; s < a; s = (s + 1) | 0) { + let l = e[(t + s) | 0] | 0, + c = s << 2; + ((o[c] = l & 255), + (o[(c + 1) | 0] = (l >>> 8) & 255), + (o[(c + 2) | 0] = (l >>> 16) & 255), + (o[(c + 3) | 0] = (l >>> 24) & 255)); + } + else { + let s = r.byteContainerI32; + ((!s || + s.buffer !== o.buffer || + s.byteOffset !== o.byteOffset || + s.length < a) && + (s = r.byteContainerI32 = + new Int32Array(o.buffer, o.byteOffset, o.byteLength >>> 2)), + s.set(e.subarray(t, t + a))); + } + let i = n & 3; + if (i > 0) { + let s = e[(t + a) | 0] | 0, + l = a << 2; + for (let c = 0; c < i; c = (c + 1) | 0) + o[(l + c) | 0] = (s >>> (c << 3)) & 255; + } + return o; +} +function g6r(e, t, n) { + let r = e[t++] | 0, + o = n.dataToBePacked; + for (let a = 2; a <= 32; a = (a + 1) | 0) { + if (!((r >>> (a - 1)) & 1)) continue; + if (t >= e.length) + throw Error( + `FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length - t}, encodedWords=${e.length})`, + ); + let i = e[t++] >>> 0, + s = V4r(i), + l = (i * a + 31) >>> 5; + if (t + l > e.length) + throw Error( + `FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${i}, streamWordIndex=${t}, needWords=${l}, availableWords=${e.length - t}, encodedWords=${e.length})`, + ); + let c = o[a]; + (!c || c.length < s) && (c = o[a] = new Uint32Array(s)); + let u = 0; + for (; u < i; u = (u + 32) | 0) (I6r(e, t, c, u, a), (t = (t + a) | 0)); + let d = (u - i) | 0; + ((t = (t - ((d * a) >>> 5)) | 0), (n.exceptionSizes[a] = i)); + } + return t; +} +function y6r(e, t, n, r, o) { + switch (o) { + case 1: + n6r(e, t, n, r); + break; + case 2: + r6r(e, t, n, r); + break; + case 3: + o6r(e, t, n, r); + break; + case 4: + a6r(e, t, n, r); + break; + case 5: + i6r(e, t, n, r); + break; + case 6: + s6r(e, t, n, r); + break; + case 7: + l6r(e, t, n, r); + break; + case 8: + c6r(e, t, n, r); + break; + case 16: + u6r(e, t, n, r); + break; + default: + d6r(e, t, n, r, o); + } + return (t + (o << 3)) | 0; +} +function v6r(e, t, n, r) { + if (n + 2 > t) + throw Error( + `FastPFOR decode: byteContainer underflow at block=${r} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${n}, byteSize=${t})`, + ); + let o = e[n++], + a = e[n++]; + if (o > 32) + throw Error( + `FastPFOR decode: invalid bitWidth=${o} at block=${r} (expected 0..32). This likely indicates corrupted or truncated input.`, + ); + return { bitWidth: o, exceptionCount: a, bytePosIn: n }; +} +function b6r(e, t, n, r, o, a) { + if (n + 1 > t) + throw Error( + `FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${n}, byteSize=${t})`, + ); + let i = e[n++]; + if (i < r || i > 32) + throw Error( + `FastPFOR decode: invalid maxBits=${i} at block=${a} (bitWidth=${r}, expected ${r}..32)`, + ); + let s = (i - r) | 0; + if (s < 1 || s > 32) + throw Error( + `FastPFOR decode: invalid exceptionBitWidth=${s} at block=${a} (bitWidth=${r}, maxBits=${i})`, + ); + if (n + o > t) + throw Error( + `FastPFOR decode: exception positions underflow at block=${a} (need=${o}, have=${t - n})`, + ); + return { maxBits: i, exceptionBitWidth: s, bytePosIn: n }; +} +function x6r(e, t, n, r, o, a, i, s, l) { + let { + maxBits: c, + exceptionBitWidth: u, + bytePosIn: d, + } = b6r(o, a, i, n, r, l); + if (((i = d), u === 1)) { + let v = 1 << n; + for (let y = 0; y < r; y = (y + 1) | 0) { + let x = o[i++]; + e[(x + t) | 0] |= v; + } + return i; + } + let p = s.dataToBePacked[u]; + if (!p) + throw Error( + `FastPFOR decode: missing exception stream for exceptionBitWidth=${u} (bitWidth=${n}, maxBits=${c}) at block ${l}`, + ); + let f = s.dataPointers, + m = f[u] | 0, + g = s.exceptionSizes[u] | 0; + if (m + r > g) + throw Error( + `FastPFOR decode: exception stream overflow for exceptionBitWidth=${u} (ptr=${m}, need ${r}, size=${g}) at block ${l}`, + ); + for (let v = 0; v < r; v = (v + 1) | 0) { + let y = o[i++], + x = p[m++] | 0; + e[(y + t) | 0] |= x << n; + } + return ((f[u] = m), i); +} +function A6r(e, t, n, r, o, a, i, s, l, c) { + let u = n | 0, + d = 0; + for (let p = 0; p < i; p = (p + 1) | 0) { + let f = v6r(s, l, d, p); + d = f.bytePosIn; + let { bitWidth: m, exceptionCount: g } = f, + v = (a + p * 256) | 0; + switch (m) { + case 0: + o.fill(0, v, v + 256); + break; + case 32: + for (let y = 0; y < 256; y = (y + 1) | 0) + o[(v + y) | 0] = e[(u + y) | 0] | 0; + u = (u + 256) | 0; + break; + default: + u = y6r(e, u, o, v, m); + } + g > 0 && (d = x6r(o, v, m, g, s, l, d, c, p)); + } + if (u !== r) + throw Error( + `FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${n}, consumedPackedEnd=${u}, expectedPackedEnd=${r}, packedWords=${r - n}, encoded.length=${e.length})`, + ); +} +function w6r(e, t, n, r, o, a) { + let i = n | 0, + s = e[i] | 0; + if (s <= 0 || i + s > e.length - 1) + throw Error( + `FastPFOR decode: invalid whereMeta=${s} at pageStart=${i} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`, + ); + let l = (i + 1) | 0, + c = (i + s) | 0, + u = e[c] >>> 0, + d = (u + 3) >>> 2, + p = c + 1, + f = p + d; + if (f >= e.length) + throw Error( + `FastPFOR decode: invalid byteSize=${u} (metaInts=${d}, pageStart=${i}, packedEnd=${c}, byteContainerStart=${p}) causes bitmapPos=${f} out of bounds (encoded.length=${e.length})`, + ); + let m = h6r(e, p, u, a), + g = u, + v = g6r(e, f, a); + return ( + a.dataPointers.fill(0), + A6r(e, i, l, c, t, r | 0, (o / 256) | 0, m, g, a), + v + ); +} +function S6r(e, t, n, r, o, a) { + let i = r + ANe(o, 256), + s = r, + l = n; + for (; s !== i;) { + let c = Math.min(aUe, i - s); + ((l = w6r(e, t, l, s, c, a)), (s = (s + c) | 0)); + } + return l; +} +function C6r(e, t, n, r, o, a) { + if (a === 0) return t; + let i = 0, + s = t, + l = t + n, + c = o, + u = o, + d = o + a, + p = 0, + f = 0; + for (; s < l && u < d;) { + let m = (e[s] >>> i) & 255; + if (((i += 8), (s += i >>> 5), (i &= 31), (p |= (m & 127) << f), m & 128)) + ((r[u++] = p | 0), (p = 0), (f = 0)); + else if (((f += 7), f > 28)) + throw Error( + `FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${f}, partial=${p}, decoded=${u - c}/${a}, inPos=${s}, inEnd=${l})`, + ); + } + if (u !== d) + throw Error( + `FastPFOR VByte: truncated stream (decoded=${u - c}, expected=${a}, consumedWords=${s - t}/${n}, vbyteStart=${t}, vbyteEnd=${l})`, + ); + return s; +} +function E6r(e, t, n) { + let r = 0, + o = 0, + a = new Uint32Array(t), + i = n ?? acn(); + if (e.length > 0) { + let c = e[r] | 0; + if (((r = (r + 1) | 0), c & 255)) + throw Error( + `FastPFOR decode: invalid alignedLength=${c} (expected multiple of 256)`, + ); + if (o + c > a.length) + throw Error( + `FastPFOR decode: output buffer too small (outPos=${o}, alignedLength=${c}, out.length=${a.length})`, + ); + ((r = S6r(e, a, r, o, c, i)), (o = (o + c) | 0)); + } + let s = (e.length - r) | 0, + l = (t - o) | 0; + return (C6r(e, r, s, a, o, l), a); +} +function I6r(e, t, n, r, o) { + switch (o) { + case 2: + q4r(e, t, n, r); + return; + case 3: + Z4r(e, t, n, r); + return; + case 4: + Q4r(e, t, n, r); + return; + case 5: + X4r(e, t, n, r); + return; + case 6: + W4r(e, t, n, r); + return; + case 7: + Y4r(e, t, n, r); + return; + case 8: + K4r(e, t, n, r); + return; + case 9: + J4r(e, t, n, r); + return; + case 10: + j4r(e, t, n, r); + return; + case 11: + $4r(e, t, n, r); + return; + case 12: + e6r(e, t, n, r); + return; + case 16: + t6r(e, t, n, r); + return; + case 32: + for (let c = 0; c < 32; c = (c + 1) | 0) + n[(r + c) | 0] = e[(t + c) | 0] | 0; + return; + } + let a = oUe[o] >>> 0, + i = t, + s = 0, + l = e[i] >>> 0; + for (let c = 0; c < 32; c++) + if (s + o <= 32) { + let u = (l >>> s) & a; + ((n[r + c] = u | 0), + (s += o), + s === 32 && ((s = 0), i++, c !== 31 && (l = e[i] >>> 0))); + } else { + let u = 32 - s, + d = l >>> s; + (i++, (l = e[i] >>> 0)); + let p = oUe[o - u] >>> 0, + f = (d | ((l & p) << u)) & a; + ((n[r + c] = f | 0), (s = o - u)); + } +} +function T6r(e, t, n, r) { + if (t < 0 || n < 0 || t + n > e.length) + throw RangeError( + `decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${n}, bytes.length=${e.length})`, + ); + let o = Math.floor(n / 4), + a = n % 4 != 0, + i = a ? o + 1 : o; + if (r.length < i) + throw RangeError( + `decodeBigEndianInt32sInto: out.length=${r.length} < ${i}`, + ); + if (o > 0) { + let s = e.byteOffset + t; + if (s & 3) + for (let l = 0; l < o; l++) { + let c = t + l * 4; + r[l] = (e[c] << 24) | (e[c + 1] << 16) | (e[c + 2] << 8) | e[c + 3] | 0; + } + else { + let l = new Uint32Array(e.buffer, s, o); + for (let c = 0; c < o; c++) r[c] = G4r(l[c]) | 0; + } + } + if (a) { + let s = t + o * 4, + l = n - o * 4, + c = 0; + for (let u = 0; u < l; u++) c |= e[s + u] << (24 - u * 8); + r[o] = c | 0; + } + return i; +} +function Qf(e, t, n) { + let r = new Uint32Array(n), + o = 0, + a = t.get(); + for (let i = 0; i < r.length; i++) { + let s = e[a++], + l = s & 127; + if (s < 128) { + r[o++] = l; + continue; + } + if (((s = e[a++]), (l |= (s & 127) << 7), s < 128)) { + r[o++] = l; + continue; + } + if (((s = e[a++]), (l |= (s & 127) << 14), s < 128)) { + r[o++] = l; + continue; + } + if (((s = e[a++]), (l |= (s & 127) << 21), s < 128)) { + r[o++] = l; + continue; + } + ((s = e[a++]), (l |= (s & 15) << 28), (r[o++] = l)); + } + return (t.set(a), r); +} +function wNe(e, t, n) { + let r = new BigUint64Array(n); + for (let o = 0; o < r.length; o++) r[o] = k6r(e, t); + return r; +} +function k6r(e, t) { + let n = 0n, + r = 0, + o = t.get(); + for (; o < e.length;) { + let a = e[o++]; + if (((n |= BigInt(a & 127) << BigInt(r)), !(a & 128))) break; + if (((r += 7), r >= 64)) throw Error("Varint too long"); + } + return (t.set(o), n); +} +function R6r(e, t, n) { + let r = new Float64Array(n); + for (let o = 0; o < n; o++) r[o] = P6r(e, t); + return r; +} +function P6r(e, t) { + let n, r; + return ( + (r = e[t.get()]), + t.increment(), + (n = r & 127), + r < 128 || + ((r = e[t.get()]), t.increment(), (n |= (r & 127) << 7), r < 128) || + ((r = e[t.get()]), t.increment(), (n |= (r & 127) << 14), r < 128) || + ((r = e[t.get()]), t.increment(), (n |= (r & 127) << 21), r < 128) + ? n + : ((r = e[t.get()]), (n |= (r & 15) << 28), M6r(n, e, t)) + ); +} +function M6r(e, t, n) { + let r, o; + if ( + ((o = t[n.get()]), + n.increment(), + (r = (o & 112) >> 4), + o < 128 || + ((o = t[n.get()]), n.increment(), (r |= (o & 127) << 3), o < 128) || + ((o = t[n.get()]), n.increment(), (r |= (o & 127) << 10), o < 128) || + ((o = t[n.get()]), n.increment(), (r |= (o & 127) << 17), o < 128) || + ((o = t[n.get()]), n.increment(), (r |= (o & 127) << 24), o < 128) || + ((o = t[n.get()]), n.increment(), (r |= (o & 1) << 31), o < 128)) + ) + return r * 4294967296 + (e >>> 0); + throw Error("Expected varint not more than 10 bytes"); +} +function D6r(e, t, n, r) { + return L6r(e, t, n, r, f6r(n >>> 2)); +} +function L6r(e, t, n, r, o) { + let a = r.get(); + if (n & 3) + throw Error( + `FastPFOR: invalid encodedByteLength=${n} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`, + ); + let i = n >>> 2, + s = m6r(o, i); + T6r(e, a, n, s); + let l = E6r(s.subarray(0, i), t, o.decoderWorkspace); + return (r.add(n), l); +} +function Yo(e) { + return (e >>> 1) ^ -(e & 1); +} +function qf(e) { + return (e >> 1n) ^ -(e & 1n); +} +function HC(e) { + return e % 2 == 1 ? (e + 1) / -2 : e / 2; +} +function B6r(e) { + let t = new Int32Array(e.length); + for (let n = 0; n < e.length; n++) t[n] = Yo(e[n]); + return t; +} +function O6r(e) { + let t = new BigInt64Array(e.length); + for (let n = 0; n < e.length; n++) t[n] = qf(e[n]); + return t; +} +function F6r(e) { + for (let t = 0; t < e.length; t++) e[t] = HC(e[t]); +} +function iUe(e, t, n) { + if (n === void 0) { + n = 0; + for (let a = 0; a < t; a++) n += e[a]; + } + let r = new Uint32Array(n), + o = 0; + for (let a = 0; a < t; a++) { + let i = e[a], + s = e[a + t]; + (r.fill(s, o, o + i), (o += i)); + } + return r; +} +function sUe(e, t, n) { + if (n === void 0) { + n = 0; + for (let a = 0; a < t; a++) n += Number(e[a]); + } + let r = new BigUint64Array(n), + o = 0; + for (let a = 0; a < t; a++) { + let i = Number(e[a]), + s = e[a + t]; + (r.fill(s, o, o + i), (o += i)); + } + return r; +} +function icn(e, t, n) { + let r = new Float64Array(n), + o = 0; + for (let a = 0; a < t; a++) { + let i = e[a], + s = e[a + t]; + (r.fill(s, o, o + i), (o += i)); + } + return r; +} +function Lan(e) { + let t = new Int32Array(e.length); + t[0] = Yo(e[0]); + let n = (e.length / 4) * 4, + r = 1; + if (n >= 4) + for (; r < n - 4; r += 4) { + let o = e[r], + a = e[r + 1], + i = e[r + 2], + s = e[r + 3]; + ((t[r] = Yo(o) + t[r - 1]), + (t[r + 1] = Yo(a) + t[r]), + (t[r + 2] = Yo(i) + t[r + 1]), + (t[r + 3] = Yo(s) + t[r + 2])); + } + for (; r !== e.length; ++r) t[r] = Yo(e[r]) + t[r - 1]; + return t; +} +function Ban(e) { + let t = new BigInt64Array(e.length); + t[0] = qf(e[0]); + let n = (e.length / 4) * 4, + r = 1; + if (n >= 4) + for (; r < n - 4; r += 4) { + let o = e[r], + a = e[r + 1], + i = e[r + 2], + s = e[r + 3]; + ((t[r] = qf(o) + t[r - 1]), + (t[r + 1] = qf(a) + t[r]), + (t[r + 2] = qf(i) + t[r + 1]), + (t[r + 3] = qf(s) + t[r + 2])); + } + for (; r !== t.length; ++r) t[r] = qf(e[r]) + t[r - 1]; + return t; +} +function U6r(e) { + e[0] = HC(e[0]); + let t = (e.length / 4) * 4, + n = 1; + if (t >= 4) + for (; n < t - 4; n += 4) { + let r = e[n], + o = e[n + 1], + a = e[n + 2], + i = e[n + 3]; + ((e[n] = HC(r) + e[n - 1]), + (e[n + 1] = HC(o) + e[n]), + (e[n + 2] = HC(a) + e[n + 1]), + (e[n + 3] = HC(i) + e[n + 2])); + } + for (; n !== e.length; ++n) e[n] = HC(e[n]) + e[n - 1]; +} +function N6r(e, t, n) { + if (n === void 0) { + n = 0; + for (let a = 0; a < t; a++) n += e[a]; + } + let r = new Int32Array(n), + o = 0; + for (let a = 0; a < t; a++) { + let i = e[a], + s = e[a + t]; + ((s = Yo(s)), r.fill(s, o, o + i), (o += i)); + } + return r; +} +function z6r(e, t, n) { + if (n === void 0) { + n = 0; + for (let a = 0; a < t; a++) n += Number(e[a]); + } + let r = new BigInt64Array(n), + o = 0; + for (let a = 0; a < t; a++) { + let i = Number(e[a]), + s = e[a + t]; + ((s = qf(s)), r.fill(s, o, o + i), (o += i)); + } + return r; +} +function _6r(e, t, n) { + let r = new Float64Array(n), + o = 0; + for (let a = 0; a < t; a++) { + let i = e[a], + s = e[a + t]; + ((s = HC(s)), r.fill(s, o, o + i), (o += i)); + } + return r; +} +function SNe(e) { + let t = (e.length / 4) * 4, + n = 1; + if (t >= 4) + for (let r = e[0]; n < t - 4; n += 4) + ((r = e[n] += r), + (r = e[n + 1] += r), + (r = e[n + 2] += r), + (r = e[n + 3] += r)); + for (; n !== e.length;) ((e[n] += e[n - 1]), ++n); +} +function H6r(e) { + let t = 0; + for (let n = 0; n < e.length; n++) ((e[n] += t), (t = e[n])); +} +function V6r(e) { + if (e.length < 2) return new Int32Array(e); + let t = new Int32Array(e.length); + ((t[0] = Yo(e[0])), (t[1] = Yo(e[1]))); + let n = (e.length / 4) * 4, + r = 2; + if (n >= 4) + for (; r < n - 4; r += 4) { + let o = e[r], + a = e[r + 1], + i = e[r + 2], + s = e[r + 3]; + ((t[r] = Yo(o) + t[r - 2]), + (t[r + 1] = Yo(a) + t[r - 1]), + (t[r + 2] = Yo(i) + t[r]), + (t[r + 3] = Yo(s) + t[r + 1])); + } + for (; r !== e.length; r += 2) + ((t[r] = Yo(e[r]) + t[r - 2]), (t[r + 1] = Yo(e[r + 1]) + t[r - 1])); + return t; +} +function scn(e, t, n, r) { + if (e.length < 2) return new Int32Array(e); + let o = new Int32Array(e.length), + a = Yo(e[0]), + i = Yo(e[1]); + ((o[0] = zC(Math.round(a * t), n, r)), (o[1] = zC(Math.round(i * t), n, r))); + let s = e.length / 16, + l = 2; + if (s >= 4) + for (; l < s - 4; l += 4) { + let c = e[l], + u = e[l + 1], + d = Yo(c) + a, + p = Yo(u) + i; + ((o[l] = zC(Math.round(d * t), n, r)), + (o[l + 1] = zC(Math.round(p * t), n, r))); + let f = e[l + 2], + m = e[l + 3]; + ((a = Yo(f) + d), + (i = Yo(m) + p), + (o[l + 2] = zC(Math.round(a * t), n, r)), + (o[l + 3] = zC(Math.round(i * t), n, r))); + } + for (; l !== e.length; l += 2) + ((a += Yo(e[l])), + (i += Yo(e[l + 1])), + (o[l] = zC(Math.round(a * t), n, r)), + (o[l + 1] = zC(Math.round(i * t), n, r))); + return o; +} +function zC(e, t, n) { + return Math.min(n, Math.max(t, e)); +} +function G6r(e) { + let t = new Int32Array(e.length + 1); + ((t[0] = 0), (t[1] = Yo(e[0]))); + let n = t[1]; + for (let r = 2; r !== t.length; ++r) { + let o = e[r - 1], + a = Yo(o); + ((n += a), (t[r] = t[r - 1] + n)); + } + return new Uint32Array(t); +} +function q6r(e, t, n) { + let r = new Int32Array(n + 1); + r[0] = 0; + let o = 1, + a = r[0]; + for (let i = 0; i < t; i++) { + let s = e[i], + l = e[i + t]; + l = Yo(l); + for (let c = o; c < o + s; c++) ((r[c] = l + a), (a = r[c])); + o += s; + } + return r; +} +function Z6r(e, t, n) { + let r = new Uint32Array(n + 1); + r[0] = 0; + let o = 1, + a = r[0]; + for (let i = 0; i < t; i++) { + let s = e[i], + l = e[i + t]; + for (let c = o; c < o + s; c++) ((r[c] = l + a), (a = r[c])); + o += s; + } + return r; +} +function Q6r(e, t, n) { + let r = new Int32Array(n), + o = 0, + a = 0; + for (let i = 0; i < t; i++) { + let s = e[i], + l = e[i + t], + c = Yo(l); + for (let u = 0; u < s; u++) ((a += c), (r[o++] = a)); + } + return r; +} +function X6r(e, t, n) { + let r = new BigInt64Array(n), + o = 0, + a = 0n; + for (let i = 0; i < t; i++) { + let s = Number(e[i]), + l = e[i + t], + c = qf(l); + for (let u = 0; u < s; u++) ((a += c), (r[o++] = a)); + } + return r; +} +function Oan(e) { + let t = new Uint32Array(e.length); + t[0] = Yo(e[0]) >>> 0; + for (let n = 1; n < e.length; n++) t[n] = (t[n - 1] + Yo(e[n])) >>> 0; + return t; +} +function Fan(e) { + let t = new BigUint64Array(e.length); + t[0] = BigInt.asUintN(64, qf(e[0])); + for (let n = 1; n < e.length; n++) + t[n] = BigInt.asUintN(64, t[n - 1] + qf(e[n])); + return t; +} +function W6r(e) { + if (e.length < 2) return new Uint32Array(e); + let t = new Uint32Array(e.length); + ((t[0] = Yo(e[0]) >>> 0), (t[1] = Yo(e[1]) >>> 0)); + for (let n = 2; n < e.length; n += 2) + ((t[n] = (t[n - 2] + Yo(e[n])) >>> 0), + (t[n + 1] = (t[n - 1] + Yo(e[n + 1])) >>> 0)); + return t; +} +function Y6r(e, t, n, r) { + let o = scn(e, t, n, r); + return new Uint32Array(o); +} +function K6r(e) { + return e[1]; +} +function J6r(e) { + return Yo(e[1]); +} +function j6r(e) { + if (e.length === 2) { + let t = Yo(e[1]); + return [t, t]; + } + return [Yo(e[2]), Yo(e[3])]; +} +function $6r(e) { + return e[1]; +} +function eCr(e) { + return qf(e[1]); +} +function tCr(e) { + if (e.length === 2) { + let t = qf(e[1]); + return [t, t]; + } + return [qf(e[2]), qf(e[3])]; +} +function zs(e, t) { + let n = cCr(e, t); + return n.logicalLevelTechnique1 === xo.MORTON + ? sCr(n, e, t) + : (xo.RLE === n.logicalLevelTechnique1 || + xo.RLE === n.logicalLevelTechnique2) && + Ly.NONE !== n.physicalLevelTechnique + ? lCr(n, e, t) + : n; +} +function sCr(e, t, n) { + let r = Qf(t, n, 2); + return { + physicalStreamType: e.physicalStreamType, + logicalStreamType: e.logicalStreamType, + logicalLevelTechnique1: e.logicalLevelTechnique1, + logicalLevelTechnique2: e.logicalLevelTechnique2, + physicalLevelTechnique: e.physicalLevelTechnique, + numValues: e.numValues, + byteLength: e.byteLength, + decompressedCount: e.decompressedCount, + numBits: r[0], + coordinateShift: r[1], + }; +} +function lCr(e, t, n) { + let r = Qf(t, n, 2); + return { + physicalStreamType: e.physicalStreamType, + logicalStreamType: e.logicalStreamType, + logicalLevelTechnique1: e.logicalLevelTechnique1, + logicalLevelTechnique2: e.logicalLevelTechnique2, + physicalLevelTechnique: e.physicalLevelTechnique, + numValues: e.numValues, + byteLength: e.byteLength, + decompressedCount: r[1], + runs: r[0], + numRleValues: r[1], + }; +} +function cCr(e, t) { + let n = e[t.get()], + r = nCr[n >> 4], + o = {}; + switch (r) { + case ld.DATA: + o = { dictionaryType: oCr[n & 15] }; + break; + case ld.OFFSET: + o = { offsetType: aCr[n & 15] }; + break; + case ld.LENGTH: + o = { lengthType: iCr[n & 15] }; + } + t.increment(); + let a = e[t.get()], + i = Uan[a >> 5], + s = Uan[(a >> 2) & 7], + l = rCr[a & 3]; + t.increment(); + let c = Qf(e, t, 2), + u = c[0], + d = c[1]; + return { + physicalStreamType: r, + logicalStreamType: o, + logicalLevelTechnique1: i, + logicalLevelTechnique2: s, + physicalLevelTechnique: l, + numValues: u, + byteLength: d, + decompressedCount: u, + }; +} +function n7(e, t, n) { + if (!t) return e; + let r = t.size(), + o = e.constructor, + a = new o(r), + i = 0; + for (let s = 0; s < r; s++) a[s] = t.get(s) ? e[i++] : n; + return a; +} +function uCr(e, t, n) { + if (!n) return e; + let r = n.size(), + o = new gv(e, t), + a = new gv(new Uint8Array(Math.ceil(r / 8)), r), + i = 0; + for (let s = 0; s < r; s++) { + let l = n.get(s) ? o.get(i++) : !1; + a.set(s, l); + } + return a.getBuffer(); +} +function lcn(e, t, n) { + for (let r = 0; r < e; r++) { + let o = zs(t, n); + n.add(o.byteLength); + } +} +function jL(e, t, n, r, o) { + let a = dCr(e, Math.ceil(t / 8), n, r); + return o ? uCr(a, t, o) : a; +} +function dCr(e, t, n, r) { + let o = new Uint8Array(t), + a = 0, + i = r.get() + n; + for (; a < t && !(r.get() >= i);) { + let s = e[r.increment()]; + if (s <= 127) { + let l = s + 3, + c = e[r.increment()], + u = Math.min(a + l, t); + (o.fill(c, a, u), (a = u)); + } else { + let l = 256 - s; + for (let c = 0; c < l && a < t; c++) o[a++] = e[r.increment()]; + } + } + return (r.set(i), o); +} +function ccn(e, t, n, r) { + let o = t.get(), + a = o + n * Float32Array.BYTES_PER_ELEMENT, + i = new Uint8Array(e.subarray(o, a)).buffer, + s = new Float32Array(i); + return (t.set(a), r ? n7(s, r, 0) : s); +} +function ucn(e, t, n, r) { + let o = t.get(), + a = o + n * Float64Array.BYTES_PER_ELEMENT, + i = new Uint8Array(e.subarray(o, a)).buffer, + s = new Float64Array(i); + return (t.set(a), r ? n7(s, r, 0) : s); +} +function pCr(e, t, n) { + let r = t.get(), + o = n * Uint32Array.BYTES_PER_ELEMENT, + a = new DataView(e.buffer, e.byteOffset, e.byteLength), + i = new Uint32Array(n); + for (let s = 0; s < n; s++) + i[s] = a.getUint32(r + s * Uint32Array.BYTES_PER_ELEMENT, !0); + return (t.add(o), i); +} +function fCr(e, t, n) { + let r = t.get(), + o = n * BigUint64Array.BYTES_PER_ELEMENT, + a = new DataView(e.buffer, e.byteOffset, e.byteLength), + i = new BigUint64Array(n); + for (let s = 0; s < n; s++) + i[s] = a.getBigUint64(r + s * BigUint64Array.BYTES_PER_ELEMENT, !0); + return (t.add(o), i); +} +function CNe(e, t, n) { + return n - t >= 12 ? mCr.decode(e.subarray(t, n)) : hCr(e, t, n); +} +function hCr(e, t, n) { + let r = "", + o = t; + for (; o < n;) { + let a = e[o], + i = null, + s = a > 239 ? 4 : a > 223 ? 3 : a > 191 ? 2 : 1; + if (o + s > n) break; + let l, c, u; + (s === 1 + ? a < 128 && (i = a) + : s === 2 + ? ((l = e[o + 1]), + (l & 192) == 128 && + ((i = ((a & 31) << 6) | (l & 63)), i <= 127 && (i = null))) + : s === 3 + ? ((l = e[o + 1]), + (c = e[o + 2]), + (l & 192) == 128 && + (c & 192) == 128 && + ((i = ((a & 15) << 12) | ((l & 63) << 6) | (c & 63)), + (i <= 2047 || (i >= 55296 && i <= 57343)) && (i = null))) + : s === 4 && + ((l = e[o + 1]), + (c = e[o + 2]), + (u = e[o + 3]), + (l & 192) == 128 && + (c & 192) == 128 && + (u & 192) == 128 && + ((i = + ((a & 15) << 18) | + ((l & 63) << 12) | + ((c & 63) << 6) | + (u & 63)), + (i <= 65535 || i >= 1114112) && (i = null))), + i === null + ? ((i = 65533), (s = 1)) + : i > 65535 && + ((i -= 65536), + (r += String.fromCharCode(((i >>> 10) & 1023) | 55296)), + (i = 56320 | (i & 1023))), + (r += String.fromCharCode(i)), + (o += s)); + } + return r; +} +function ufe(e, t, n, r, o) { + return xCr($L(e, t, n), n, r, o); +} +function Gf(e, t, n, r, o) { + return ACr($L(e, t, n), n, r, o); +} +function VC(e, t, n) { + return SCr($L(e, t, n), n); +} +function $L(e, t, n) { + let r = n.physicalLevelTechnique; + switch (r) { + case Ly.FAST_PFOR: + return D6r(e, n.numValues, n.byteLength, t); + case Ly.VARINT: + return Qf(e, t, n.numValues); + case Ly.NONE: + return pCr(e, t, n.numValues); + default: + throw Error( + `Specified physicalLevelTechnique ${r} is not supported (yet).`, + ); + } +} +function OQ(e, t, n) { + let r = n.physicalLevelTechnique; + switch (r) { + case Ly.VARINT: + return wNe(e, t, n.numValues); + case Ly.NONE: + return fCr(e, t, n.numValues); + default: + throw Error( + `Specified physicalLevelTechnique ${r} is not supported (yet).`, + ); + } +} +function gCr(e, t, n) { + let r = $L(e, t, n); + return r.length === 1 ? Yo(r[0]) : J6r(r); +} +function ENe(e, t, n) { + let r = $L(e, t, n); + return r.length === 1 + ? n.logicalLevelTechnique1 === xo.DELTA + ? Yo(r[0]) + : r[0] + : K6r(r); +} +function dcn(e, t, n) { + return j6r($L(e, t, n)); +} +function pcn(e, t, n) { + return tCr(wNe(e, t, n.numValues)); +} +function fcn(e, t, n, r) { + return hcn(OQ(e, t, n), n, r); +} +function INe(e, t, n, r) { + return gcn(OQ(e, t, n), n, r); +} +function yCr(e, t, n, r) { + let o = vCr(e, t, n, !1); + return r ? n7(o, r, 0) : o; +} +function vCr(e, t, n, r) { + if (n.physicalLevelTechnique === Ly.VARINT) + return wCr(R6r(e, t, n.numValues), n, r); + let o = OQ(e, t, n), + a = r ? hcn(o, n) : gcn(o, n); + return Float64Array.from(a, Number); +} +function bCr(e, t, n) { + let r = OQ(e, t, n); + return r.length === 1 ? qf(r[0]) : eCr(r); +} +function mcn(e, t, n) { + let r = OQ(e, t, n); + return r.length === 1 + ? n.logicalLevelTechnique1 === xo.DELTA + ? qf(r[0]) + : r[0] + : $6r(r); +} +function xCr(e, t, n, r) { + let o; + switch (t.logicalLevelTechnique1) { + case xo.DELTA: + if (t.logicalLevelTechnique2 === xo.RLE) { + let a = t; + if (!r) return Q6r(e, a.runs, a.numRleValues); + ((e = iUe(e, a.runs, a.numRleValues)), (o = Lan(e))); + } else o = Lan(e); + break; + case xo.RLE: + o = N6r(e, t.runs, t.numRleValues); + break; + case xo.MORTON: + (SNe(e), (o = new Int32Array(e))); + break; + case xo.COMPONENTWISE_DELTA: + if (n && !r) return scn(e, n.scale, n.min, n.max); + o = V6r(e); + break; + case xo.NONE: + o = B6r(e); + break; + default: + throw Error( + `The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`, + ); + } + return r ? n7(o, r, 0) : o; +} +function ACr(e, t, n, r) { + let o; + switch (t.logicalLevelTechnique1) { + case xo.DELTA: + if (t.logicalLevelTechnique2 === xo.RLE) { + let a = t; + o = Oan(iUe(e, a.runs, a.numRleValues)); + } else o = Oan(e); + break; + case xo.RLE: + o = iUe(e, t.runs, t.numRleValues); + break; + case xo.MORTON: + (SNe(e), (o = e)); + break; + case xo.COMPONENTWISE_DELTA: + o = n && !r ? Y6r(e, n.scale, n.min, n.max) : W6r(e); + break; + case xo.NONE: + o = e; + break; + default: + throw Error( + `The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`, + ); + } + return r ? n7(o, r, 0) : o; +} +function hcn(e, t, n) { + let r; + switch (t.logicalLevelTechnique1) { + case xo.DELTA: + if (t.logicalLevelTechnique2 === xo.RLE) { + let o = t; + if (!n) return X6r(e, o.runs, o.numRleValues); + ((e = sUe(e, o.runs, o.numRleValues)), (r = Ban(e))); + } else r = Ban(e); + break; + case xo.RLE: + r = z6r(e, t.runs, t.numRleValues); + break; + case xo.NONE: + r = O6r(e); + break; + default: + throw Error( + `The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`, + ); + } + return n ? n7(r, n, 0n) : r; +} +function gcn(e, t, n) { + let r; + switch (t.logicalLevelTechnique1) { + case xo.DELTA: + if (t.logicalLevelTechnique2 === xo.RLE) { + let o = t; + r = Fan(sUe(e, o.runs, o.numRleValues)); + } else r = Fan(e); + break; + case xo.RLE: + r = sUe(e, t.runs, t.numRleValues); + break; + case xo.NONE: + r = e; + break; + default: + throw Error( + `The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`, + ); + } + return n ? n7(r, n, 0n) : r; +} +function wCr(e, t, n) { + switch (t.logicalLevelTechnique1) { + case xo.DELTA: + if (t.logicalLevelTechnique2 === xo.RLE) { + let r = t; + e = icn(e, r.runs, r.numRleValues); + } + return (U6r(e), e); + case xo.RLE: + return ECr(e, t, n); + case xo.NONE: + return (n && F6r(e), e); + default: + throw Error( + `The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`, + ); + } +} +function SCr(e, t) { + if ( + t.logicalLevelTechnique1 === xo.DELTA && + t.logicalLevelTechnique2 === xo.NONE + ) + return G6r(e); + if ( + t.logicalLevelTechnique1 === xo.RLE && + t.logicalLevelTechnique2 === xo.NONE + ) { + let n = t; + return Z6r(e, n.runs, n.numRleValues); + } + if ( + t.logicalLevelTechnique1 === xo.NONE && + t.logicalLevelTechnique2 === xo.NONE + ) { + H6r(e); + let n = new Uint32Array(t.numValues + 1); + return ((n[0] = 0), n.set(e, 1), n); + } + if ( + t.logicalLevelTechnique1 === xo.DELTA && + t.logicalLevelTechnique2 === xo.RLE + ) { + let n = t, + r = q6r(e, n.runs, n.numRleValues); + return (SNe(r), new Uint32Array(r)); + } + throw Error( + "Only delta encoding is supported for transforming length to offset streams yet.", + ); +} +function ome(e, t, n, r, o = "int32") { + let a = e.logicalLevelTechnique1; + if (a === xo.RLE) return e.runs === 1 ? Ns.CONST : Ns.FLAT; + if (a !== xo.DELTA || e.logicalLevelTechnique2 !== xo.RLE) + return e.numValues === 1 ? Ns.CONST : Ns.FLAT; + let i = t instanceof gv ? t.size() : t, + s = e; + if (s.numRleValues !== i) return Ns.FLAT; + if (s.runs === 1) return Ns.SEQUENCE; + if (s.runs !== 2) return e.numValues === 1 ? Ns.CONST : Ns.FLAT; + let l = r.get(); + if (e.physicalLevelTechnique === Ly.VARINT) + return CCr(n, r, o) ? Ns.SEQUENCE : e.numValues === 1 ? Ns.CONST : Ns.FLAT; + let c = r.get(), + u = new Int32Array(n.buffer, n.byteOffset + c, 4); + return ( + r.set(l), + u[2] === 2 && u[3] === 2 + ? Ns.SEQUENCE + : e.numValues === 1 + ? Ns.CONST + : Ns.FLAT + ); +} +function CCr(e, t, n) { + let r = new rcn(t.get()); + if (n === "int64") { + let a = wNe(e, r, 4); + return a[2] === 2n && a[3] === 2n; + } + let o = Qf(e, r, 4); + return o[2] === 2 && o[3] === 2; +} +function ECr(e, t, n) { + return n ? _6r(e, t.runs, t.numRleValues) : icn(e, t.runs, t.numRleValues); +} +function TNe(e, t, n) { + return { x: Nan(e, t) - n, y: Nan(e >> 1, t) - n }; +} +function Nan(e, t) { + let n = 0; + for (let r = 0; r < t; r++) n |= (e & (1 << (2 * r))) >> r; + return n; +} +function TCr(e) { + let t = Array(e.numGeometries), + n = 1, + r = 1, + o = 1, + a = 0, + i = 0, + s = 0, + { mortonSettings: l, topologyVector: c } = e, + { geometryOffsets: u, partOffsets: d, ringOffsets: p } = c, + f = e.vertexOffsets, + m = !f || f.length === 0, + g = e.containsPolygonGeometry(), + v = e.vertexBuffer; + for (let y = 0; y < e.numGeometries; y++) { + let x = e.geometryType(y); + switch (x) { + case Zf.POINT: + { + let A, w; + if (m) ((A = v[i++]), (w = v[i++])); + else if (e.vertexBufferType === r7.MORTON) { + let C = v[f[s++]], + E = TNe(C, l.numBits, l.coordinateShift); + ((A = E.x), (w = E.y)); + } else { + let C = f[s++] * 2; + ((A = v[C]), (w = v[C + 1])); + } + ((t[a++] = [[new ft(A, w)]]), u && o++, d && n++, p && r++); + } + break; + case Zf.MULTIPOINT: + { + let A = u[o] - u[o - 1]; + o++; + let w; + if (m) { + w = Array(A); + for (let C = 0; C < A; C++) { + let E = v[i++], + T = v[i++]; + w[C] = new ft(E, T); + } + } else ((w = BT(e.vertexBufferType, v, f, s, A, !1, l)), (s += A)); + ((t[a++] = w.map((C) => [C])), (n += A), (r += A)); + } + break; + case Zf.LINESTRING: + { + let A; + (g ? ((A = p[r] - p[r - 1]), r++) : (A = d[n] - d[n - 1]), n++); + let w; + (m + ? ((w = AL(v, i, A, !1)), (i += A * 2)) + : ((w = BT(e.vertexBufferType, v, f, s, A, !1, l)), (s += A)), + (t[a++] = [w]), + u && o++); + } + break; + case Zf.POLYGON: + { + let A = d[n] - d[n - 1]; + n++; + let w = Array(A - 1), + C, + E = p[r] - p[r - 1]; + if ((r++, m)) { + ((C = AL(v, i, E, !0)), (i += E * 2)); + for (let T = 0; T < w.length; T++) + ((E = p[r] - p[r - 1]), + r++, + (w[T] = AL(v, i, E, !0)), + (i += E * 2)); + } else { + ((C = BT(e.vertexBufferType, v, f, s, E, !0, l)), (s += E)); + for (let T = 0; T < w.length; T++) + ((E = p[r] - p[r - 1]), + r++, + (w[T] = BT(e.vertexBufferType, v, f, s, E, !0, l)), + (s += E)); + } + ((t[a++] = [C].concat(w)), u && o++); + } + break; + case Zf.MULTILINESTRING: + { + let A = u[o] - u[o - 1]; + o++; + let w = Array(A); + for (let C = 0; C < A; C++) { + let E; + if ( + (g ? ((E = p[r] - p[r - 1]), r++) : (E = d[n] - d[n - 1]), n++, m) + ) + ((w[C] = AL(v, i, E, !1)), (i += E * 2)); + else { + let T = BT(e.vertexBufferType, v, f, s, E, !1, l); + ((w[C] = T), (s += E)); + } + } + t[a++] = w; + } + break; + case Zf.MULTIPOLYGON: + { + let A = u[o] - u[o - 1]; + o++; + let w = Array(A); + for (let C = 0; C < A; C++) { + let E = d[n] - d[n - 1]; + n++; + let T, + I = Array(E - 1), + k = p[r] - p[r - 1]; + (r++, + m + ? ((T = AL(v, i, k, !0)), (i += k * 2)) + : ((T = BT(e.vertexBufferType, v, f, s, k, !0, l)), (s += k))); + for (let L = 0; L < I.length; L++) { + let O = p[r] - p[r - 1]; + (r++, + m + ? ((I[L] = AL(v, i, O, !0)), (i += O * 2)) + : ((I[L] = BT(e.vertexBufferType, v, f, s, O, !0, l)), + (s += O))); + } + w[C] = [T].concat(I); + } + t[a++] = w.flat(); + } + break; + default: + throw Error( + `The specified geometry type (${x}) is currently not supported.`, + ); + } + } + return t; +} +function BT(e, t, n, r, o, a, i) { + return e === r7.MORTON ? RCr(t, n, r, o, a, i) : kCr(t, n, r, o, a); +} +function AL(e, t, n, r) { + let o = Array(r ? n + 1 : n); + for (let a = 0; a < n * 2; a += 2) { + let i = e[t + a], + s = e[t + a + 1]; + o[a / 2] = new ft(i, s); + } + return (r && (o[o.length - 1] = o[0]), o); +} +function kCr(e, t, n, r, o) { + let a = Array(o ? r + 1 : r); + for (let i = 0; i < r * 2; i += 2) { + let s = t[n + i / 2] * 2, + l = e[s], + c = e[s + 1]; + a[i / 2] = new ft(l, c); + } + return (o && (a[a.length - 1] = a[0]), a); +} +function RCr(e, t, n, r, o, a) { + let i = Array(o ? r + 1 : r); + for (let s = 0; s < r; s++) { + let l = e[t[n + s]], + c = TNe(l, a.numBits, a.coordinateShift); + i[s] = new ft(c.x, c.y); + } + return (o && (i[i.length - 1] = i[0]), i); +} +function PCr(e, t, n, r, o) { + return new xcn(e, t, r7.VEC_2, n, r, o); +} +function MCr(e, t, n, r, o, a) { + return new xcn(e, t, r7.MORTON, n, r, o, a); +} +function Acn(e, t, n, r) { + return new wcn(r7.VEC_2, e, t, n, r); +} +function DCr(e, t, n, r, o) { + return new wcn(r7.MORTON, e, t, n, r, o); +} +function zan(e, t, n, r, o, a) { + return new LCr(e, t, n, r, o, a); +} +function _an(e, t, n, r, o) { + return new BCr(e, t, n, r, o); +} +function OCr(e, t, n, r, o) { + let a = zs(e, n), + i = ome(a, r, e, n), + s, + l, + c, + u; + if (i === Ns.CONST) { + let A = ENe(e, n, a), + w, + C, + E, + T; + for (let I = 0; I < t - 1; I++) { + let k = zs(e, n); + switch (k.physicalStreamType) { + case ld.LENGTH: + switch (k.logicalStreamType.lengthType) { + case tp.GEOMETRIES: + w = VC(e, n, k); + break; + case tp.PARTS: + C = VC(e, n, k); + break; + case tp.RINGS: + E = VC(e, n, k); + break; + case tp.TRIANGLES: + T = VC(e, n, k); + } + break; + case ld.OFFSET: + switch (k.logicalStreamType.offsetType) { + case Cw.VERTEX: + s = Gf(e, n, k); + break; + case Cw.INDEX: + u = Gf(e, n, k); + } + break; + case ld.DATA: + if (xh.VERTEX === k.logicalStreamType.dictionaryType) + l = ufe(e, n, k, o); + else { + let L = k; + ((c = { numBits: L.numBits, coordinateShift: L.coordinateShift }), + (l = Gf(e, n, k, o))); + } + } + } + return u + ? w !== void 0 || C !== void 0 + ? zan(r, A, T, u, l, { + geometryOffsets: w, + partOffsets: C, + ringOffsets: E, + }) + : zan(r, A, T, u, l) + : c === void 0 + ? PCr( + r, + A, + { geometryOffsets: w, partOffsets: C, ringOffsets: E }, + s, + l, + ) + : MCr( + r, + A, + { geometryOffsets: w, partOffsets: C, ringOffsets: E }, + s, + l, + c, + ); + } + let d = Gf(e, n, a), + p, + f, + m, + g; + for (let A = 0; A < t - 1; A++) { + let w = zs(e, n); + switch (w.physicalStreamType) { + case ld.LENGTH: + switch (w.logicalStreamType.lengthType) { + case tp.GEOMETRIES: + p = Gf(e, n, w); + break; + case tp.PARTS: + f = Gf(e, n, w); + break; + case tp.RINGS: + m = Gf(e, n, w); + break; + case tp.TRIANGLES: + g = VC(e, n, w); + } + break; + case ld.OFFSET: + switch (w.logicalStreamType.offsetType) { + case Cw.VERTEX: + s = Gf(e, n, w); + break; + case Cw.INDEX: + u = Gf(e, n, w); + } + break; + case ld.DATA: + if (xh.VERTEX === w.logicalStreamType.dictionaryType) + l = ufe(e, n, w, o); + else { + let C = w; + ((c = { numBits: C.numBits, coordinateShift: C.coordinateShift }), + (l = Gf(e, n, w, o))); + } + } + } + let v, y, x; + return ( + p + ? ((v = rFe(d, p, 2)), + f && m + ? ((y = Han(d, v, f, !1)), (x = UCr(d, v, y, m))) + : f && (y = FCr(d, v, f))) + : f && m + ? ((y = rFe(d, f, 1)), (x = Han(d, y, m, !0))) + : f && (y = rFe(d, f, 0)), + u && !y + ? _an(d, g, u, l) + : u + ? _an(d, g, u, l, { + geometryOffsets: v, + partOffsets: y, + ringOffsets: x, + }) + : c === void 0 + ? Acn(d, { geometryOffsets: v, partOffsets: y, ringOffsets: x }, s, l) + : DCr( + d, + { geometryOffsets: v, partOffsets: y, ringOffsets: x }, + s, + l, + c, + ) + ); +} +function rFe(e, t, n) { + let r = new Uint32Array(e.length + 1), + o = 0; + r[0] = o; + let a = 0; + for (let i = 0; i < e.length; i++) o = r[i + 1] = o + (e[i] > n ? t[a++] : 1); + return r; +} +function Han(e, t, n, r) { + let o = new Uint32Array(t[t.length - 1] + 1), + a = 0; + o[0] = a; + let i = 1, + s = 0; + for (let l = 0; l < e.length; l++) { + let c = e[l], + u = t[l + 1] - t[l]; + if (c === 5 || c === 2 || (r && (c === 4 || c === 1))) + for (let d = 0; d < u; d++) a = o[i++] = a + n[s++]; + else for (let d = 0; d < u; d++) o[i++] = ++a; + } + return o; +} +function FCr(e, t, n) { + let r = new Uint32Array(t[t.length - 1] + 1), + o = 0; + r[0] = o; + let a = 1, + i = 0; + for (let s = 0; s < e.length; s++) { + let l = e[s], + c = t[s + 1] - t[s]; + if (l === 4 || l === 1) for (let u = 0; u < c; u++) o = r[a++] = o + n[i++]; + else for (let u = 0; u < c; u++) r[a++] = ++o; + } + return r; +} +function UCr(e, t, n, r) { + let o = new Uint32Array(n[n.length - 1] + 1), + a = 0; + o[0] = a; + let i = 1, + s = 1, + l = 0; + for (let c = 0; c < e.length; c++) { + let u = e[c], + d = t[c + 1] - t[c]; + if (u !== 0 && u !== 3) + for (let p = 0; p < d; p++) { + let f = n[i] - n[i - 1]; + i++; + for (let m = 0; m < f; m++) a = o[s++] = a + r[l++]; + } + else for (let p = 0; p < d; p++) ((o[s++] = ++a), i++); + } + return o; +} +function _Cr(e, t) { + let n = 0; + for (let r = 0; r < t.length; r++) { + let o = t[r]; + o === 255 ? (n++, r++) : (n += e[o]); + } + return n; +} +function HCr(e, t, n) { + let r = new Uint32Array(t.length); + for (let i = 1; i < t.length; i++) r[i] = r[i - 1] + t[i - 1]; + let o = new Uint8Array(_Cr(t, n)), + a = 0; + for (let i = 0; i < n.length; i++) { + let s = n[i]; + if (s === 255) (i++, (o[a++] = n[i])); + else { + let l = t[s], + c = r[s]; + for (; l-- > 0;) o[a++] = e[c++]; + } + } + return o; +} +function Icn(e, t, n, r, o) { + let a, + i, + s, + l, + c, + u = o, + d, + p; + for (let f = 0; f < r; f++) { + let m = zs(t, n); + switch (m.physicalStreamType) { + case ld.PRESENT: { + let g = new gv(jL(t, m.numValues, m.byteLength, n), m.numValues); + u = o ?? g; + break; + } + case ld.OFFSET: + i = Gf(t, n, m, void 0, u); + break; + case ld.LENGTH: { + let g = VC(t, n, m); + tp.DICTIONARY === m.logicalStreamType.lengthType + ? (a = g) + : tp.SYMBOL === m.logicalStreamType.lengthType + ? (l = g) + : (d = g); + break; + } + case ld.DATA: { + let g = t.subarray(n.get(), n.get() + m.byteLength); + n.add(m.byteLength); + let v = m.logicalStreamType.dictionaryType; + xh.FSST === v + ? (c = g) + : xh.SINGLE === v || xh.SHARED === v + ? (s = g) + : xh.NONE === v && (p = g); + break; + } + } + } + return VCr(e, c, i, a, s, l, u) ?? GCr(e, s, i, a, u) ?? qCr(e, d, p, i, u); +} +function VCr(e, t, n, r, o, a, i) { + if (t) { + if (!n || !r || !o || !a) + throw Error(`Incomplete FSST dictionary string column "${e}"`); + return new Ecn(e, n, r, o, a, t, i); + } +} +function GCr(e, t, n, r, o) { + if (t) { + if (!n || !r) throw Error(`Incomplete dictionary string column "${e}"`); + return o ? new LL(e, n, r, t, o) : new LL(e, n, r, t); + } +} +function qCr(e, t, n, r, o) { + if (t && n) { + if (r) return o ? new LL(e, r, t, n, o) : new LL(e, r, t, n); + if (o && o.size() !== t.length - 1) { + let a = new Uint32Array(o.size()), + i = 0; + for (let s = 0; s < o.size(); s++) o.get(s) ? (a[s] = i++) : (a[s] = 0); + return new LL(e, a, t, n, o); + } + return o ? new Van(e, t, n, o) : new Van(e, t, n); + } +} +function ZCr(e, t, n, r) { + let o, + a, + i, + s, + l = !1; + for (; !l;) { + let f = zs(e, t); + switch (f.physicalStreamType) { + case ld.LENGTH: + tp.DICTIONARY === f.logicalStreamType.lengthType + ? (o = VC(e, t, f)) + : (i = VC(e, t, f)); + break; + case ld.DATA: + (xh.SINGLE === f.logicalStreamType.dictionaryType || + xh.SHARED === f.logicalStreamType.dictionaryType + ? ((a = e.subarray(t.get(), t.get() + f.byteLength)), (l = !0)) + : (s = e.subarray(t.get(), t.get() + f.byteLength)), + t.add(f.byteLength)); + } + } + if (n.type !== "complexType") + throw Error( + `Shared dictionary column ${n.name} must be a complex (struct) column.`, + ); + if (!o || !a) + throw Error(`Incomplete shared dictionary for column "${n.name}"`); + let c = n.complexType.children, + u = [], + d = s ? {} : void 0, + p = 0; + for (let f of c) { + let m = Qf(e, t, 1)[0]; + if (m === 0) continue; + let g = f.name ? `${n.name}${f.name}` : n.name; + if (r && !r.has(g)) { + lcn(m, e, t); + continue; + } + if (f.type !== "scalarField" || f.scalarField.physicalType !== Ua.STRING) + throw Error( + "Currently only scalar string fields are implemented for a struct.", + ); + if ((m > 1 && !f.nullable) || (m === 1 && f.nullable)) + throw Error( + `The number of streams for the child field ${f.name} does not match its nullability. nullibilty: ${f.nullable}, numStreams: ${m}`, + ); + let v; + if (f.nullable) { + let x = zs(e, t); + v = new gv(jL(e, x.numValues, x.byteLength, t), x.numValues); + } + let y = Gf(e, t, zs(e, t), void 0, v); + if (s) { + if (!i) + throw Error(`Incomplete shared FSST dictionary for column "${g}"`); + u[p++] = new Ecn(g, y, o, a, i, s, v, d); + } else u[p++] = new LL(g, y, o, a, v); + } + return u; +} +function QCr(e, t, n, r) { + let o = XCr(n); + if (r === 0) return o.map((u) => new Gan(u, [])); + let a = WCr(e, t, r), + i = (a.presentStream ? a.presentCount : a.lengthStream.length) / o.length, + s = [], + l = 0, + c = 0; + for (let u = 0; u < o.length; u++) { + let d = $Cr(a, u, i, l, c); + (s.push(new Gan(o[u], d.value, d.nullabilityBuffer)), + (l = d.countsEnd), + (c = d.valuesEnd)); + } + return s; +} +function XCr(e) { + let t = e.type === "complexType" ? e.complexType.children : void 0; + return !t || t.length === 0 + ? [e.name] + : t.map((n) => e.name + (n.name ?? "")); +} +function WCr(e, t, n) { + let r = e[t.get()]; + t.add(1); + let o = Gf(e, t, zs(e, t)), + a = n - 1, + i = []; + (r & Ew.STRING && (a -= YCr(e, t, i)), + (a -= KCr(e, t, r, i)), + (a -= JCr(e, t, r, i))); + let s, + l = 0; + if (r & Ew.PRESENCE) { + let u = jCr(e, t); + ((s = u.value), (l = u.count), a--); + } + let c = new Uint32Array(); + if ((a > 0 && ((c = Gf(e, t, zs(e, t))), a--), a !== 0)) + throw Error( + `Unexpected number of remaining streams while decoding map column: ${a}`, + ); + return { + lengthStream: o, + dictionary: i, + presentStream: s, + presentCount: l, + flattenedValues: c, + }; +} +function YCr(e, t, n) { + let r = e[t.get()]; + t.add(1); + let o = Icn("", e, t, r); + if (o) for (let a = 0; a < o.size; a++) n.push(o.getValue(a)); + return r; +} +function KCr(e, t, n, r) { + let o = 0; + return ( + n & Ew.INT32 + ? (TL(r, ufe(e, t, zs(e, t))), o++) + : n & Ew.INT64 && (TL(r, fcn(e, t, zs(e, t))), o++), + n & Ew.UINT32 + ? (TL(r, Gf(e, t, zs(e, t))), o++) + : n & Ew.UINT64 && (TL(r, INe(e, t, zs(e, t))), o++), + o + ); +} +function JCr(e, t, n, r) { + let o = 0; + return ( + n & Ew.FLOAT && (TL(r, ccn(e, t, zs(e, t).numValues)), o++), + n & Ew.DOUBLE && (TL(r, ucn(e, t, zs(e, t).numValues)), o++), + o + ); +} +function jCr(e, t) { + let n = zs(e, t); + if (n.physicalStreamType !== ld.PRESENT) + throw Error( + `Expected PRESENT stream for map column but found: ${n.physicalStreamType}`, + ); + let r = n.numValues, + o = t.get(), + a = new gv(jL(e, r, n.byteLength, t), r); + return (t.set(o + n.byteLength), { value: a, count: r }); +} +function $Cr(e, t, n, r, o) { + let { + lengthStream: a, + flattenedValues: i, + presentStream: s, + dictionary: l, + } = e, + c = t * n, + u = n, + d; + if (s) { + ((d = new gv(new Uint8Array(Math.ceil(n / 8)), n)), (u = 0)); + for (let x = 0; x < n; x++) s.get(c + x) && (d.set(x, !0), u++); + } + let p = r + u; + if (p > a.length) + throw Error("Merged map counts underflow while decoding child streams"); + let f = Array(n), + m = r, + g = o; + for (let x = 0; x < n; x++) { + if (s && !s.get(c + x)) { + f[x] = null; + continue; + } + let A = g + a[m++]; + if (A > i.length) + throw Error("Map value stream underflow while decoding feature payload"); + let w = e5r(i, g, A, l); + ((f[x] = w.value), (g = w.nextIndex)); + } + let v = 0; + for (let x = r; x < p; x++) v += a[x]; + let y = o + v; + if (g !== y) throw Error("Unused flattened map values remain after decode"); + return { value: f, nullabilityBuffer: d, countsEnd: p, valuesEnd: y }; +} +function e5r(e, t, n, r) { + return n - t === 1 || e[t] === NT.START_LIST + ? RNe(e, t, n, r) + : Tcn(e, t, n, r); +} +function Tcn(e, t, n, r) { + let o = Object.create(null), + a = t; + for (; a < n;) { + let i = kcn(e[a++], r); + if (typeof i != "string") + throw Error( + `Map key dictionary index does not resolve to a string: ${i}`, + ); + let s = RNe(e, a, n, r); + ((o[i] = s.value), (a = s.nextIndex)); + } + return { value: o, nextIndex: a }; +} +function RNe(e, t, n, r) { + if (t >= n) throw Error("Unexpected end of map value stream"); + let o = e[t]; + if (o === NT.FALSE) return { value: !1, nextIndex: t + 1 }; + if (o === NT.TRUE) return { value: !0, nextIndex: t + 1 }; + if (o === NT.START_MAP) { + let a = qan(e, t, n); + return { value: Tcn(e, t + 2, a, r).value, nextIndex: a }; + } + if (o === NT.START_LIST) { + let a = qan(e, t, n), + i = [], + s = t + 2; + for (; s < a;) { + let l = RNe(e, s, a, r); + (i.push(l.value), (s = l.nextIndex)); + } + return { value: i, nextIndex: a }; + } + return { value: kcn(o, r), nextIndex: t + 1 }; +} +function qan(e, t, n) { + if (t + 1 >= n) throw Error("Missing length for nested map/list payload"); + let r = e[t + 1]; + if (r < 2) throw Error(`Invalid nested payload length: ${r}`); + let o = t + r; + if (o > n) throw Error("Nested payload exceeds containing payload bounds"); + return o; +} +function kcn(e, t) { + let n = e - NT.COUNT; + if (n < 0 || n >= t.length) + throw Error(`Scalar dictionary index out of range: ${e}`); + return t[n]; +} +function TL(e, t) { + for (let n of t) e.push(n); +} +function t5r(e, t, n, r, o, a) { + return n.type === "scalarType" + ? a && !a.has(n.name) + ? (lcn(r, e, t), null) + : n5r(r, e, t, o, n.scalarType, n) + : n.complexType?.physicalType === ZC.MAP + ? QCr(e, t, n, r) + : r === 0 + ? null + : ZCr(e, t, n, a); +} +function n5r(e, t, n, r, o, a) { + let i; + if (e === 0) return null; + if (a.nullable) { + let l = zs(t, n), + c = l.numValues, + u = n.get(), + d = jL(t, c, l.byteLength, n); + (n.set(u + l.byteLength), (i = new gv(d, l.numValues))); + } + let s = i ?? r; + switch (o.physicalType) { + case Ua.UINT_32: + case Ua.INT_32: + return s5r(t, n, a, o, s); + case Ua.STRING: { + let l = a.nullable ? e - 1 : e; + return Icn(a.name, t, n, l, i) ?? null; + } + case Ua.BOOLEAN: + return r5r(t, n, a, r, s); + case Ua.UINT_64: + case Ua.INT_64: + return i5r(t, n, a, s, o); + case Ua.FLOAT: + return o5r(t, n, a, s); + case Ua.DOUBLE: + return a5r(t, n, a, s); + default: + throw Error( + `The specified data type for the field is currently not supported: ${o}`, + ); + } +} +function r5r(e, t, n, r, o) { + let a = zs(e, t), + i = a.numValues, + s = t.get(), + l = FQ(o) ? o : void 0, + c = jL(e, i, a.byteLength, t, l); + t.set(s + a.byteLength); + let u = new gv(c, i); + return new NCr(n.name, u, o); +} +function o5r(e, t, n, r) { + let o = zs(e, t), + a = FQ(r) ? r : void 0, + i = ccn(e, t, o.numValues, a); + return new zCr(n.name, i, r); +} +function a5r(e, t, n, r) { + let o = zs(e, t), + a = FQ(r) ? r : void 0, + i = ucn(e, t, o.numValues, a); + return new gNe(n.name, i, r); +} +function i5r(e, t, n, r, o) { + let a = zs(e, t), + i = ome(a, r, e, t, "int64"), + s = o.physicalType === Ua.INT_64; + if (i === Ns.FLAT) { + let c = FQ(r) ? r : void 0, + u = s ? fcn(e, t, a, c) : INe(e, t, a, c); + return new ycn(n.name, u, r); + } + if (i === Ns.SEQUENCE) { + let c = pcn(e, t, a); + return new vcn(n.name, c[0], c[1], a.numRleValues, s); + } + let l = s ? bCr(e, t, a) : mcn(e, t, a); + return new Ccn(n.name, l, r, s); +} +function s5r(e, t, n, r, o) { + let a = zs(e, t), + i = ome(a, o, e, t), + s = r.physicalType === Ua.INT_32; + if (i === Ns.FLAT) { + let c = FQ(o) ? o : void 0, + u = s ? ufe(e, t, a, void 0, c) : Gf(e, t, a, void 0, c); + return new hNe(n.name, u, o); + } + if (i === Ns.SEQUENCE) { + let c = dcn(e, t, a); + return new yNe(n.name, c[0], c[1], a.numRleValues, s); + } + let l = s ? gCr(e, t, a) : ENe(e, t, a); + return new vNe(n.name, l, o, s); +} +function FQ(e) { + return e instanceof gv; +} +function Rcn(e) { + switch (e) { + case ep.ID: + case ep.ID | ep.ID_NULLABLE: + case ep.ID | ep.ID_LONG: + case ep.ID | ep.ID_LONG | ep.ID_NULLABLE: + return { + nullable: (e & ep.ID_NULLABLE) !== 0, + columnScope: OZ.FEATURE, + type: "scalarType", + scalarType: { + longID: (e & ep.ID_LONG) !== 0, + type: "logicalType", + logicalType: ncn.ID, + }, + }; + case ep.GEOMETRY: + return { + nullable: !1, + columnScope: OZ.FEATURE, + type: "complexType", + complexType: { + type: "physicalType", + physicalType: ZC.GEOMETRY, + children: [], + }, + }; + case ep.STRUCT: + return { + nullable: !1, + columnScope: OZ.FEATURE, + type: "complexType", + complexType: { + type: "physicalType", + physicalType: ZC.STRUCT, + children: [], + }, + }; + case ep.MAP: + return { + nullable: !0, + columnScope: OZ.FEATURE, + type: "complexType", + complexType: { + type: "physicalType", + physicalType: ZC.MAP, + children: [], + }, + }; + default: + return p5r(e); + } +} +function l5r(e) { + return e >= ep.SCALAR_BASE; +} +function Pcn(e) { + return e === ep.STRUCT || e === ep.MAP; +} +function c5r(e) { + if (e.type === "scalarType") { + let t = e.scalarType; + if (t.type === "physicalType") + switch (t.physicalType) { + case Ua.BOOLEAN: + case Ua.INT_8: + case Ua.UINT_8: + case Ua.INT_32: + case Ua.UINT_32: + case Ua.INT_64: + case Ua.UINT_64: + case Ua.FLOAT: + case Ua.DOUBLE: + return !1; + case Ua.STRING: + return !0; + default: + return !1; + } + if (t.type === "logicalType") return !1; + } else if (e.type === "complexType") { + let t = e.complexType; + if (t.type === "physicalType") + switch (t.physicalType) { + case ZC.GEOMETRY: + case ZC.STRUCT: + case ZC.MAP: + return !0; + default: + return !1; + } + } + return (console.warn("Unexpected column type in hasStreamCount", e), !1); +} +function u5r(e) { + return ( + e.type === "scalarType" && + e.scalarType?.type === "logicalType" && + e.scalarType.logicalType === ncn.ID + ); +} +function d5r(e) { + return ( + e.type === "complexType" && + e.complexType?.type === "physicalType" && + e.complexType.physicalType === ZC.GEOMETRY + ); +} +function p5r(e) { + let t; + switch (e) { + case 10: + case 11: + t = Ua.BOOLEAN; + break; + case 12: + case 13: + t = Ua.INT_8; + break; + case 14: + case 15: + t = Ua.UINT_8; + break; + case 16: + case 17: + t = Ua.INT_32; + break; + case 18: + case 19: + t = Ua.UINT_32; + break; + case 20: + case 21: + t = Ua.INT_64; + break; + case 22: + case 23: + t = Ua.UINT_64; + break; + case 24: + case 25: + t = Ua.FLOAT; + break; + case 26: + case 27: + t = Ua.DOUBLE; + break; + case 28: + case 29: + t = Ua.STRING; + break; + default: + return null; + } + return { + nullable: !!(e & 1), + columnScope: OZ.FEATURE, + type: "scalarType", + scalarType: { longID: !1, type: "physicalType", physicalType: t }, + }; +} +function PNe(e, t) { + let n = Qf(e, t, 1)[0]; + if (n === 0) return ""; + let r = t.get(), + o = r + n, + a = e.subarray(r, o); + return (t.add(n), f5r.decode(a)); +} +function m5r(e) { + let { name: t, nullable: n } = e; + return e.type === "scalarType" + ? { type: "scalarField", scalarField: e.scalarType, name: t, nullable: n } + : { + type: "complexField", + complexField: e.complexType, + name: t, + nullable: n, + }; +} +function Mcn(e, t) { + let n = Qf(e, t, 1)[0] >>> 0, + r = n >= ep.SCALAR_BASE ? Rcn(n) : null; + if (!r) + throw Error( + `Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`, + ); + let o = { ...r, name: PNe(e, t) }; + if (o.type === "complexType" && Pcn(n)) { + let a = o.complexType, + i = Qf(e, t, 1)[0] >>> 0; + a.children = Array(i); + for (let s = 0; s < i; s++) a.children[s] = Mcn(e, t); + } + return m5r(o); +} +function h5r(e, t) { + let n = Qf(e, t, 1)[0] >>> 0, + r = Rcn(n); + if (!r) throw Error(`Unsupported column type code ${n}. Supported: ${Zan}`); + let o; + if (l5r(n)) o = PNe(e, t); + else if (n < ep.GEOMETRY) o = "id"; + else if (n === ep.GEOMETRY) o = "geometry"; + else throw Error(`Unsupported column type code ${n}. Supported: ${Zan}`); + let a = { ...r, name: o }; + if (a.type === "complexType" && Pcn(n)) { + let i = Qf(e, t, 1)[0] >>> 0, + s = a.complexType; + s.children = Array(i); + for (let l = 0; l < i; l++) s.children[l] = Mcn(e, t); + } + return a; +} +function g5r(e, t) { + let n = {}; + n.featureTables = []; + let r = {}; + if (((r.name = PNe(e, t)), r.name.length === 0)) + throw Error("Missing layer name"); + let o = Qf(e, t, 1)[0] >>> 0, + a = Qf(e, t, 1)[0] >>> 0; + r.columns = Array(a); + for (let i = 0; i < a; i++) r.columns[i] = h5r(e, t); + return (n.featureTables.push(r), [n, o]); +} +function y5r(e, t, n = !0) { + let r = new rcn(0), + o = []; + for (; r.get() < e.length;) { + let a = Qf(e, r, 1)[0] >>> 0, + i = r.get() + a; + if (i > e.length) throw Error(`Block overruns tile: ${i} > ${e.length}`); + let s = Qf(e, r, 1)[0] >>> 0; + if (s !== 1 && s !== 2) { + r.set(i); + continue; + } + let [l, c] = g5r(e, r), + u = l.featureTables[0], + d = null, + p = null, + f = [], + m = 0; + for (let v of u.columns) { + let y = v.name; + if (u5r(v)) { + let x = null; + if (v.nullable) { + let w = zs(e, r), + C = r.get(), + E = jL(e, w.numValues, w.byteLength, r); + (r.set(C + w.byteLength), (x = new gv(E, w.numValues))); + } + let A = zs(e, r); + ((m = x ? x.size() : A.decompressedCount), + (d = v5r(e, v, r, y, A, x ?? m, n))); + } else if (d5r(v)) { + let x = Qf(e, r, 1)[0]; + if (m === 0) { + let A = r.get(); + ((m = zs(e, r).decompressedCount), r.set(A)); + } + (t && (t.scale = t.extent / c), (p = OCr(e, x, r, m, t))); + } else { + let x = c5r(v) ? Qf(e, r, 1)[0] : 1; + if (x === 0) continue; + let A = t5r(e, r, v, x, m, void 0); + if (A) + if (Array.isArray(A)) for (let w of A) f.push(w); + else f.push(A); + } + } + let g = new H4r(u.name, p, d, f, c); + (o.push(g), r.set(i)); + } + return o; +} +function v5r(e, t, n, r, o, a, i = !1) { + let s = t.scalarType?.longID ? Ua.UINT_64 : Ua.UINT_32, + l = typeof a == "number" ? void 0 : a, + c = ome(o, a, e, n, s === Ua.UINT_64 ? "int64" : "int32"); + if (s === Ua.UINT_32) + switch (c) { + case Ns.FLAT: + return new hNe(r, Gf(e, n, o, void 0, l), a); + case Ns.SEQUENCE: { + let u = dcn(e, n, o); + return new yNe(r, u[0], u[1], o.numRleValues, !1); + } + case Ns.CONST: + return new vNe(r, ENe(e, n, o), a, !1); + } + switch (c) { + case Ns.FLAT: + return i + ? new gNe(r, yCr(e, n, o, l), a) + : new ycn(r, INe(e, n, o, l), a); + case Ns.SEQUENCE: { + let u = pcn(e, n, o); + return new vcn(r, u[0], u[1], o.numRleValues, !1); + } + case Ns.CONST: + return new Ccn(r, mcn(e, n, o), a, !1); + } + throw Error("Vector type not supported for id column."); +} +function S5r(e) { + return typeof e == "object" && !!e && "evaluate" in e; +} +function Qan(e, t, n, r, o) { + return Sfe(e, (a, i) => { + let s = t instanceof Hfe ? t.get(i) : null; + return S5r(s) ? s.evaluate(n, r, void 0, o) : s; + }); +} +function C5r(e, t) { + return t - e; +} +var Kvr, + Xan, + Jvr, + jvr, + $vr, + Wan, + lUe = (e, t) => () => ( + t || (e((t = { exports: {} }).exports, t), (e = null)), + t.exports + ), + ebr = (e, t, n, r) => { + if ((t && typeof t == "object") || typeof t == "function") + for (var o = jvr(t), a = 0, i = o.length, s; a < i; a++) + ((s = o[a]), + !Wan.call(e, s) && + s !== n && + Xan(e, s, { + get: ((l) => t[l]).bind(null, s), + enumerable: !(r = Jvr(t, s)) || r.enumerable, + })); + return e; + }, + tbr = (e, t, n) => ( + (n = e == null ? {} : Kvr($vr(e))), + ebr( + t || !e || !e.__esModule || !Wan.call(e, "default") + ? Xan(n, "default", { value: e, enumerable: !0 }) + : n, + e, + ) + ), + yon, + Rpe, + Fd, + ffe, + yv, + Gx, + cQ, + sin, + pUe, + xon, + cin, + Ut = 8192, + wfe, + gbr = 1, + won, + _Oe = null, + vin = async (e, t) => { + let n = new Blob([new Uint8Array(e)], { type: "image/png" }); + try { + return createImageBitmap(n, t); + } catch (r) { + throw Error( + `Could not load image because of ${Vp(r).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`, + ); + } + }, + bin = (e) => + new Promise((t, n) => { + let r = new Image(); + ((r.onload = () => { + (t(r), + URL.revokeObjectURL(r.src), + (r.onload = null), + window.requestAnimationFrame( + () => + (r.src = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="), + )); + }), + (r.onerror = () => + n( + Error( + "Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.", + ), + ))); + let o = new Blob([new Uint8Array(e)], { type: "image/png" }); + r.src = URL.createObjectURL(o); + }), + vv = 85.051129, + Sin, + Cin, + Son = "AbortError", + ZL, + KT, + Xpe = "global-dispatcher", + qZ, + bbr = (e) => + e.startsWith("file:") || (Efe()?.startsWith("file:") && !/^\w+:/.test(e)), + mQ = async function (e, t) { + if (e.url.includes("://") && !/^https?:|^file:/.test(e.url)) { + let n = AUe(e.url); + if (n) { + let r = await n(e, t); + return !r.data && e.type === "arrayBuffer" + ? rr(r, { data: new ArrayBuffer(0) }) + : r; + } + if (VT(self) && self.worker?.actor) + return self.worker.actor.sendAsync( + { type: "GR", data: e, targetMapId: Xpe }, + t, + ); + } + if (!bbr(e.url)) { + if ( + fetch && + Request && + AbortController && + Object.hasOwn(Request.prototype, "signal") + ) + return xbr(e, t); + if (VT(self) && self.worker?.actor) + return self.worker.actor.sendAsync( + { type: "GR", data: e, mustQueue: !0, targetMapId: Xpe }, + t, + ); + } + return Abr(e, t); + }, + hQ = (e, t) => mQ(rr(e, { type: "json" }), t), + wUe = (e, t) => mQ(rr(e, { type: "arrayBuffer" }), t), + kin = (e) => { + let t = window.document.createElement("video"); + return ( + (t.muted = !0), + new Promise((n) => { + t.onloadstart = () => { + n(t); + }; + for (let r of e) { + let o = window.document.createElement("source"); + (SUe(r) || (t.crossOrigin = "Anonymous"), + (o.src = r), + t.appendChild(o)); + } + }) + ); + }, + JC = class { + constructor(e, t = {}) { + (rr(this, t), (this.type = e)); + } + }, + lr, + Qp = class { + on(e, t) { + return ( + (this._listeners ||= {}), + Con(e, t, this._listeners), + { + unsubscribe: () => { + this.off(e, t); + }, + } + ); + } + off(e, t) { + return ( + HOe(e, t, this._listeners), + HOe(e, t, this._oneTimeListeners), + this + ); + } + once(e, t) { + return t + ? ((this._oneTimeListeners ||= {}), + Con(e, t, this._oneTimeListeners), + this) + : new Promise((n) => this.once(e, n)); + } + fire(e, t) { + let n = typeof e == "string" ? new JC(e, t || {}) : e, + r = n.type; + if (this.listens(r)) { + n.target = this; + let o = this._listeners?.[r]?.slice() ?? []; + for (let s of o) s.call(this, n); + let a = this._oneTimeListeners?.[r]?.slice() ?? []; + for (let s of a) (HOe(r, s, this._oneTimeListeners), s.call(this, n)); + let i = this._eventedParent; + i && + (rr( + n, + typeof this._eventedParentData == "function" + ? this._eventedParentData() + : this._eventedParentData, + ), + i.fire(n)); + } else n instanceof lr && console.error(n.error); + return this; + } + listens(e) { + return !!( + this._listeners?.[e]?.length || + this._oneTimeListeners?.[e]?.length || + this._eventedParent?.listens(e) + ); + } + setEventedParent(e, t) { + return ((this._eventedParent = e), (this._eventedParentData = t), this); + } + }, + Rin, + bt, + Pin, + jt = class { + constructor(e, t, n, r, o = "error") { + ((this.message = (e ? `${e}: ` : "") + n), + r && (this.identifier = r), + (this.severity = o), + t != null && t.__line__ && (this.line = t.__line__)); + } + }, + gQ, + bn, + fo, + Uo, + mv, + Ife, + zT, + bo, + wbr, + Tfe, + yQ, + kfe, + ZZ, + Rfe, + vQ, + Pfe, + Sbr, + Min = 0.96422, + Din = 0.82521, + Lin = 0.13793103448275862, + aFe = 0.20689655172413793, + Bin, + Cbr, + Ebr, + Rbr, + Mbr, + Kr, + Lbr, + iFe = class { + constructor(e, t, n, r, o, a) { + ((this.text = e), + (this.image = t), + (this.scale = n), + (this.fontStack = r), + (this.textColor = o), + (this.verticalAlign = a)); + } + }, + Iw = class e { + constructor(t) { + this.sections = t; + } + static fromString(t) { + return new e([new iFe(t, null, null, null, null, null)]); + } + isEmpty() { + return ( + this.sections.length === 0 || + !this.sections.some( + (t) => t.text.length !== 0 || (t.image && t.image.name.length !== 0), + ) + ); + } + static factory(t) { + return t instanceof e ? t : e.fromString(t); + } + toString() { + return this.sections.length === 0 + ? "" + : this.sections.map((t) => t.text).join(""); + } + }, + qx = class e { + constructor(t) { + this.values = t.slice(); + } + static parse(t) { + if (t instanceof e) return t; + if (typeof t == "number") return new e([t, t, t, t]); + if (Array.isArray(t) && !(t.length < 1 || t.length > 4)) { + for (let n of t) if (typeof n != "number") return; + switch (t.length) { + case 1: + t = [t[0], t[0], t[0], t[0]]; + break; + case 2: + t = [t[0], t[1], t[0], t[1]]; + break; + case 3: + t = [t[0], t[1], t[2], t[1]]; + } + return new e(t); + } + } + toString() { + return JSON.stringify(this.values); + } + static interpolate(t, n, r) { + return new e(BL(t.values, n.values, r)); + } + }, + Zx = class e { + constructor(t) { + this.values = t.slice(); + } + static parse(t) { + if (t instanceof e) return t; + if (typeof t == "number") return new e([t]); + if (Array.isArray(t)) { + for (let n of t) if (typeof n != "number") return; + return new e(t); + } + } + toString() { + return JSON.stringify(this.values); + } + static interpolate(t, n, r) { + return new e(BL(t.values, n.values, r)); + } + }, + My = class e { + constructor(t) { + this.values = t.slice(); + } + static parse(t) { + if (t instanceof e) return t; + if (typeof t == "string") { + let r = Kr.parse(t); + return r ? new e([r]) : void 0; + } + if (!Array.isArray(t)) return; + let n = []; + for (let r of t) { + if (typeof r != "string") return; + let o = Kr.parse(r); + if (!o) return; + n.push(o); + } + return new e(n); + } + toString() { + return JSON.stringify(this.values); + } + static interpolate(t, n, r, o = "rgb") { + let a = []; + if (t.values.length != n.values.length) + throw Error( + `colorArray: Arrays have mismatched length (${t.values.length} vs. ${n.values.length}), cannot interpolate.`, + ); + for (let i = 0; i < t.values.length; i++) + a.push(Kr.interpolate(t.values[i], n.values[i], r, o)); + return new e(a); + } + }, + tl, + Bbr, + Hx = class e { + constructor(t) { + this.values = t.slice(); + } + static parse(t) { + if (t instanceof e) return t; + if (!(!Array.isArray(t) || t.length < 1 || t.length % 2 != 0)) { + for (let n = 0; n < t.length; n += 2) { + let r = t[n], + o = t[n + 1]; + if ( + typeof r != "string" || + !Bbr.has(r) || + !Array.isArray(o) || + o.length !== 2 || + typeof o[0] != "number" || + typeof o[1] != "number" + ) + return; + } + return new e(t); + } + } + toString() { + return JSON.stringify(this.values); + } + static interpolate(t, n, r, o) { + let a = t.values, + i = n.values; + if (a.length !== i.length) + throw new tl( + `Cannot interpolate values of different length. from: ${t.toString()}, to: ${n.toString()}`, + o, + ); + let s = []; + for (let l = 0; l < a.length; l += 2) { + if (a[l] !== i[l]) + throw new tl( + `Cannot interpolate values containing mismatched anchors. from[${l}]: ${a[l]}, to[${l}]: ${i[l]}`, + o, + ); + s.push(a[l]); + let [c, u] = a[l + 1], + [d, p] = i[l + 1]; + s.push([qC(c, d, r), qC(u, p, r)]); + } + return new e(s); + } + }, + Vx = class e { + constructor(t) { + ((this.name = t.name), (this.available = t.available)); + } + toString() { + return this.name; + } + static fromString(t) { + return t ? new e({ name: t, available: !1 }) : null; + } + }, + Dw = class e { + constructor(t, n, r) { + ((this.from = t), (this.to = n), (this.transition = r)); + } + toString() { + return this.from === this.to && this.transition === 1 + ? this.from + : JSON.stringify([this.from, this.to, this.transition]); + } + static interpolate(t, n, r) { + return new e(t, n, r); + } + static parse(t) { + if (t instanceof e) return t; + if ( + Array.isArray(t) && + t.length === 3 && + typeof t[0] == "string" && + typeof t[1] == "string" && + typeof t[2] == "number" + ) + return new e(t[0], t[1], t[2]); + if ( + typeof t == "object" && + typeof t.from == "string" && + typeof t.to == "string" && + typeof t.transition == "number" + ) + return new e(t.from, t.to, t.transition); + if (typeof t == "string") return new e(t, t, 1); + } + }, + EUe = class { + constructor(e, t, n) { + ((this.sensitivity = e + ? t + ? "variant" + : "case" + : t + ? "accent" + : "base"), + (this.locale = n), + (this.collator = new Intl.Collator(this.locale ? this.locale : [], { + sensitivity: this.sensitivity, + usage: "search", + }))); + } + compare(e, t) { + return this.collator.compare(e, t); + } + resolvedLocale() { + return new Intl.Collator(this.locale ? this.locale : []).resolvedOptions() + .locale; + } + }, + FL = class e { + constructor(t, n) { + ((this.type = t), (this.value = n)); + } + static parse(t, n) { + if (t.length !== 2) + return n.error( + `'literal' expression requires exactly one argument, but found ${t.length - 1} instead.`, + ); + if (!OL(t[1])) return n.error(`invalid value of type "${typeof t[1]}"`); + let r = t[1], + o = yc(r), + a = n.expectedType; + return ( + o.kind === "array" && + o.N === 0 && + a && + a.kind === "array" && + (typeof a.N != "number" || a.N === 0) && + (o = a), + new e(o, r) + ); + } + evaluate() { + return this.value; + } + eachChild() {} + outputDefined() { + return !0; + } + }, + Obr, + zin = class { + constructor() { + ((this.globals = null), + (this.feature = null), + (this.featureState = null), + (this.formattedSection = null), + (this._parseColorCache = new Map()), + (this.availableImages = null), + (this.canonical = null)); + } + id() { + return this.feature && "id" in this.feature ? this.feature.id : null; + } + geometryType() { + return this.feature + ? typeof this.feature.type == "number" + ? Obr[this.feature.type] + : this.feature.type + : null; + } + geometry() { + return this.feature && "geometry" in this.feature + ? this.feature.geometry + : null; + } + canonicalID() { + return this.canonical; + } + properties() { + return (this.feature && this.feature.properties) || {}; + } + parseColor(e) { + let t = this._parseColorCache.get(e); + return (t || ((t = Kr.parse(e)), this._parseColorCache.set(e, t)), t); + } + }, + IUe = class e { + constructor(t, n, r, o) { + ((this.type = t), + (this.input = n), + (this.key = o), + (this.labels = []), + (this.outputs = [])); + for (let [a, i] of r) (this.labels.push(a), this.outputs.push(i)); + } + static parse(t, n) { + if (t.length - 1 < 4) + return n.error( + `Expected at least 4 arguments, but found only ${t.length - 1}.`, + ); + if ((t.length - 1) % 2 != 0) + return n.error("Expected an even number of arguments."); + let r = n.parse(t[1], 1, bn); + if (!r) return null; + let o = [], + a = null; + n.expectedType && n.expectedType.kind !== "value" && (a = n.expectedType); + for (let i = 1; i < t.length; i += 2) { + let s = i === 1 ? -1 / 0 : t[i], + l = t[i + 1], + c = i, + u = i + 1; + if (typeof s != "number") + return n.error( + 'Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + c, + ); + if (o.length && o[o.length - 1][0] >= s) + return n.error( + 'Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', + c, + ); + let d = n.parse(l, u, a); + if (!d) return null; + ((a ||= d.type), o.push([s, d])); + } + return new e(a, r, o, n.key); + } + evaluate(t) { + let n = this.labels, + r = this.outputs; + if (n.length === 1) return r[0].evaluate(t); + let o = this.input.evaluate(t); + if (o <= n[0]) return r[0].evaluate(t); + let a = n.length; + return o >= n[a - 1] + ? r[a - 1].evaluate(t) + : r[Mfe(n, o, this.key)].evaluate(t); + } + eachChild(t) { + t(this.input); + for (let n of this.outputs) t(n); + } + outputDefined() { + return this.outputs.every((t) => t.outputDefined()); + } + }, + Dy = class e { + constructor(t, n, r, o, a, i) { + ((this.type = t), + (this.operator = n), + (this.interpolation = r), + (this.input = o), + (this.key = i), + (this.labels = []), + (this.outputs = [])); + for (let [s, l] of a) (this.labels.push(s), this.outputs.push(l)); + } + static interpolationFactor(t, n, r, o) { + let a = 0; + if (t.name === "exponential") a = QOe(n, t.base, r, o); + else if (t.name === "linear") a = QOe(n, 1, r, o); + else if (t.name === "cubic-bezier") { + let i = t.controlPoints; + a = Fbr(i[0], i[1], i[2], i[3])(QOe(n, 1, r, o)); + } + return a; + } + static parse(t, n) { + let [r, o, a, ...i] = t; + if (!Array.isArray(o) || o.length === 0) + return n.error("Expected an interpolation type expression.", 1); + if (o[0] === "linear") o = { name: "linear" }; + else if (o[0] === "exponential") { + let c = o[1]; + if (typeof c != "number") + return n.error( + "Exponential interpolation requires a numeric base.", + 1, + 1, + ); + o = { name: "exponential", base: c }; + } else if (o[0] === "cubic-bezier") { + let c = o.slice(1); + if ( + c.length !== 4 || + c.some((u) => typeof u != "number" || u < 0 || u > 1) + ) + return n.error( + "Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.", + 1, + ); + o = { name: "cubic-bezier", controlPoints: c }; + } else return n.error(`Unknown interpolation type ${String(o[0])}`, 1, 0); + if (t.length - 1 < 4) + return n.error( + `Expected at least 4 arguments, but found only ${t.length - 1}.`, + ); + if ((t.length - 1) % 2 != 0) + return n.error("Expected an even number of arguments."); + if (((a = n.parse(a, 2, bn)), !a)) return null; + let s = [], + l = null; + (r === "interpolate-hcl" || r === "interpolate-lab") && + n.expectedType != ZZ + ? (l = mv) + : n.expectedType && + n.expectedType.kind !== "value" && + (l = n.expectedType); + for (let c = 0; c < i.length; c += 2) { + let u = i[c], + d = i[c + 1], + p = c + 3, + f = c + 4; + if (typeof u != "number") + return n.error( + 'Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + p, + ); + if (s.length && s[s.length - 1][0] >= u) + return n.error( + 'Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', + p, + ); + let m = n.parse(d, f, l); + if (!m) return null; + ((l ||= m.type), s.push([u, m])); + } + return !NC(l, bn) && + !NC(l, Ife) && + !NC(l, mv) && + !NC(l, kfe) && + !NC(l, Rfe) && + !NC(l, ZZ) && + !NC(l, Pfe) && + !NC(l, Im(bn)) + ? n.error(`Type ${Al(l)} is not interpolatable.`) + : new e(l, r, o, a, s, n.key); + } + evaluate(t) { + let n = this.labels, + r = this.outputs; + if (n.length === 1) return r[0].evaluate(t); + let o = this.input.evaluate(t); + if (o <= n[0]) return r[0].evaluate(t); + let a = n.length; + if (o >= n[a - 1]) return r[a - 1].evaluate(t); + let i = Mfe(n, o, this.key), + s = n[i], + l = n[i + 1], + c = e.interpolationFactor(this.interpolation, o, s, l), + u = r[i].evaluate(t), + d = r[i + 1].evaluate(t); + switch (this.operator) { + case "interpolate": + switch (this.type.kind) { + case "number": + return qC(u, d, c); + case "color": + return Kr.interpolate(u, d, c); + case "padding": + return qx.interpolate(u, d, c); + case "colorArray": + return My.interpolate(u, d, c); + case "numberArray": + return Zx.interpolate(u, d, c); + case "variableAnchorOffsetCollection": + return Hx.interpolate(u, d, c, this.key); + case "array": + return BL(u, d, c); + case "projectionDefinition": + return Dw.interpolate(u, d, c); + } + case "interpolate-hcl": + switch (this.type.kind) { + case "color": + return Kr.interpolate(u, d, c, "hcl"); + case "colorArray": + return My.interpolate(u, d, c, "hcl"); + } + case "interpolate-lab": + switch (this.type.kind) { + case "color": + return Kr.interpolate(u, d, c, "lab"); + case "colorArray": + return My.interpolate(u, d, c, "lab"); + } + } + } + eachChild(t) { + t(this.input); + for (let n of this.outputs) t(n); + } + outputDefined() { + return this.outputs.every((t) => t.outputDefined()); + } + }, + Hs, + _in = class e { + constructor(t) { + ((this.type = yQ), (this.sections = t)); + } + static parse(t, n) { + if (t.length < 2) return n.error("Expected at least one argument."); + let r = t[1]; + if (!Array.isArray(r) && typeof r == "object") + return n.error("First argument must be an image or text section."); + let o = [], + a = !1; + for (let i = 1; i <= t.length - 1; ++i) { + let s = t[i]; + if (a && typeof s == "object" && !Array.isArray(s)) { + a = !1; + let l = null; + if (s["font-scale"] && ((l = n.parse(s["font-scale"], 1, bn)), !l)) + return null; + let c = null; + if (s["text-font"] && ((c = n.parse(s["text-font"], 1, Im(fo))), !c)) + return null; + let u = null; + if (s["text-color"] && ((u = n.parse(s["text-color"], 1, mv)), !u)) + return null; + let d = null; + if (s["vertical-align"]) { + if ( + typeof s["vertical-align"] == "string" && + !Lbr.includes(s["vertical-align"]) + ) + return n.error( + `'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${s["vertical-align"]}' instead.`, + ); + if (((d = n.parse(s["vertical-align"], 1, fo)), !d)) return null; + } + let p = o[o.length - 1]; + ((p.scale = l), + (p.font = c), + (p.textColor = u), + (p.verticalAlign = d)); + } else { + let l = n.parse(t[i], 1, bo); + if (!l) return null; + let c = l.type.kind; + if ( + c !== "string" && + c !== "value" && + c !== "null" && + c !== "resolvedImage" + ) + return n.error( + "Formatted text type must be 'string', 'value', 'image' or 'null'.", + ); + ((a = !0), + o.push({ + content: l, + scale: null, + font: null, + textColor: null, + verticalAlign: null, + })); + } + } + return new e(o); + } + evaluate(t) { + return new Iw( + this.sections.map((n) => { + let r = n.content.evaluate(t); + return yc(r) === vQ + ? new iFe( + "", + r, + null, + null, + null, + n.verticalAlign ? n.verticalAlign.evaluate(t) : null, + ) + : new iFe( + NZ(r), + null, + n.scale ? n.scale.evaluate(t) : null, + n.font ? n.font.evaluate(t).join(",") : null, + n.textColor ? n.textColor.evaluate(t) : null, + n.verticalAlign ? n.verticalAlign.evaluate(t) : null, + ); + }), + ); + } + eachChild(t) { + for (let n of this.sections) + (t(n.content), + n.scale && t(n.scale), + n.font && t(n.font), + n.textColor && t(n.textColor), + n.verticalAlign && t(n.verticalAlign)); + } + outputDefined() { + return !1; + } + }, + Mpe, + ww = class e { + constructor(t, n, r) { + ((this.type = t), (this.args = n), (this.key = r)); + } + static parse(t, n) { + if (t.length < 2) return n.error("Expected at least one argument."); + let r = 1, + o, + a = t[0]; + if (a === "array") { + let s; + if (t.length > 2) { + let c = t[1]; + if (typeof c != "string" || !(c in Mpe) || c === "object") + return n.error( + 'The item type argument of "array" must be one of string, number, boolean', + 1, + ); + ((s = Mpe[c]), r++); + } else s = bo; + let l; + if (t.length > 3) { + if ( + t[2] !== null && + (typeof t[2] != "number" || t[2] < 0 || t[2] !== Math.floor(t[2])) + ) + return n.error( + 'The length argument to "array" must be a positive integer literal', + 2, + ); + ((l = t[2]), r++); + } + o = Im(s, l); + } else { + if (!Mpe[a]) throw Error(`Types doesn't contain name = ${a}`); + o = Mpe[a]; + } + let i = []; + for (; r < t.length; r++) { + let s = n.parse(t[r], r, bo); + if (!s) return null; + i.push(s); + } + return new e(o, i, n.key); + } + evaluate(t) { + for (let n = 0; n < this.args.length; n++) { + let r = this.args[n].evaluate(t); + if (!QZ(this.type, yc(r))) return r; + if (n === this.args.length - 1) + throw new tl( + `Expected value to be of type ${Al(this.type)}, but found ${Al(yc(r))} instead.`, + this.key, + ); + } + throw Error(); + } + eachChild(t) { + this.args.forEach(t); + } + outputDefined() { + return this.args.every((t) => t.outputDefined()); + } + }, + Ton, + EL = class e { + constructor(t, n, r) { + ((this.type = t), (this.args = n), (this.key = r)); + } + static parse(t, n) { + if (t.length < 2) return n.error("Expected at least one argument."); + let r = t[0]; + if (!Ton[r]) + throw Error(`Can't parse ${r} as it is not part of the known types`); + if ((r === "to-boolean" || r === "to-string") && t.length !== 2) + return n.error("Expected one argument."); + let o = Ton[r], + a = []; + for (let i = 1; i < t.length; i++) { + let s = n.parse(t[i], i, bo); + if (!s) return null; + a.push(s); + } + return new e(o, a, n.key); + } + evaluate(t) { + switch (this.type.kind) { + case "boolean": + return !!this.args[0].evaluate(t); + case "color": { + let n, r; + for (let o of this.args) { + if (((n = o.evaluate(t)), (r = null), n instanceof Kr)) return n; + if (typeof n == "string") { + let a = t.parseColor(n); + if (a) return a; + } else if ( + Array.isArray(n) && + ((r = + n.length < 3 || n.length > 4 + ? `Invalid rgba value ${JSON.stringify(n)}: expected an array containing either three or four numeric values.` + : Nin(n[0], n[1], n[2], n[3])), + !r) + ) + return new Kr(n[0] / 255, n[1] / 255, n[2] / 255, n[3]); + } + throw new tl( + r || + `Could not parse color from value '${typeof n == "string" ? n : JSON.stringify(n)}'`, + this.key, + ); + } + case "padding": { + let n; + for (let r of this.args) { + n = r.evaluate(t); + let o = qx.parse(n); + if (o) return o; + } + throw new tl( + `Could not parse padding from value '${typeof n == "string" ? n : JSON.stringify(n)}'`, + this.key, + ); + } + case "numberArray": { + let n; + for (let r of this.args) { + n = r.evaluate(t); + let o = Zx.parse(n); + if (o) return o; + } + throw new tl( + `Could not parse numberArray from value '${typeof n == "string" ? n : JSON.stringify(n)}'`, + this.key, + ); + } + case "colorArray": { + let n; + for (let r of this.args) { + n = r.evaluate(t); + let o = My.parse(n); + if (o) return o; + } + throw new tl( + `Could not parse colorArray from value '${typeof n == "string" ? n : JSON.stringify(n)}'`, + this.key, + ); + } + case "variableAnchorOffsetCollection": { + let n; + for (let r of this.args) { + n = r.evaluate(t); + let o = Hx.parse(n); + if (o) return o; + } + throw new tl( + `Could not parse variableAnchorOffsetCollection from value '${typeof n == "string" ? n : JSON.stringify(n)}'`, + this.key, + ); + } + case "number": { + let n = null; + for (let r of this.args) { + if (((n = r.evaluate(t)), n === null)) return 0; + let o = Number(n); + if (!isNaN(o)) return o; + } + throw new tl( + `Could not convert ${JSON.stringify(n)} to number.`, + this.key, + ); + } + case "formatted": + return Iw.fromString(NZ(this.args[0].evaluate(t))); + case "resolvedImage": + return Vx.fromString(NZ(this.args[0].evaluate(t))); + case "projectionDefinition": { + let n = this.args[0].evaluate(t); + if (Dw.parse(n)) return n; + throw new tl( + `Could not parse projectionDefinition from value '${typeof n == "string" ? n : JSON.stringify(n)}'`, + this.key, + ); + } + default: + return NZ(this.args[0].evaluate(t)); + } + } + eachChild(t) { + this.args.forEach(t); + } + outputDefined() { + return this.args.every((t) => t.outputDefined()); + } + }, + Vin = class e { + constructor(t, n) { + ((this.type = n.type), (this.bindings = [].concat(t)), (this.result = n)); + } + evaluate(t) { + return this.result.evaluate(t); + } + eachChild(t) { + for (let n of this.bindings) t(n[1]); + t(this.result); + } + static parse(t, n) { + if (t.length < 4) + return n.error( + `Expected at least 3 arguments, but found ${t.length - 1} instead.`, + ); + let r = []; + for (let a = 1; a < t.length - 1; a += 2) { + let i = t[a]; + if (typeof i != "string") + return n.error(`Expected string, but found ${typeof i} instead.`, a); + if (/[^a-zA-Z0-9_]/.test(i)) + return n.error( + "Variable names must contain only alphanumeric characters or '_'.", + a, + ); + let s = n.parse(t[a + 1], a + 1); + if (!s) return null; + r.push([i, s]); + } + let o = n.parse(t[t.length - 1], t.length - 1, n.expectedType, r); + return o ? new e(r, o) : null; + } + outputDefined() { + return this.result.outputDefined(); + } + }, + Gin = class e { + constructor(t, n) { + ((this.type = n.type), (this.name = t), (this.boundExpression = n)); + } + static parse(t, n) { + if (t.length !== 2 || typeof t[1] != "string") + return n.error( + "'var' expression requires exactly one string literal argument.", + ); + let r = t[1]; + return n.scope.has(r) + ? new e(r, n.scope.get(r)) + : n.error( + `Unknown variable "${r}". Make sure "${r}" has been bound in an enclosing "let" expression before using it.`, + 1, + ); + } + evaluate(t) { + return this.boundExpression.evaluate(t); + } + eachChild() {} + outputDefined() { + return !1; + } + }, + _br = class e { + constructor(t, n, r, o) { + ((this.type = t), (this.index = n), (this.input = r), (this.key = o)); + } + static parse(t, n) { + if (t.length !== 3) + return n.error( + `Expected 2 arguments, but found ${t.length - 1} instead.`, + ); + let r = n.parse(t[1], 1, bn), + o = n.parse(t[2], 2, Im(n.expectedType || bo)); + if (!r || !o) return null; + let a = o.type; + return new e(a.itemType, r, o, n.key); + } + evaluate(t) { + let n = this.index.evaluate(t), + r = this.input.evaluate(t); + if (n < 0) throw new tl(`Array index out of bounds: ${n} < 0.`, this.key); + if (n >= r.length) + throw new tl( + `Array index out of bounds: ${n} > ${r.length - 1}.`, + this.key, + ); + if (n !== Math.floor(n)) + throw new tl( + `Array index must be an integer, but found ${n} instead.`, + this.key, + ); + return r[n]; + } + eachChild(t) { + (t(this.index), t(this.input)); + } + outputDefined() { + return !1; + } + }, + Hbr = class e { + constructor(t, n, r) { + ((this.needle = t), + (this.haystack = n), + (this.key = r), + (this.type = Uo)); + } + static parse(t, n) { + if (t.length !== 3) + return n.error( + `Expected 2 arguments, but found ${t.length - 1} instead.`, + ); + let r = n.parse(t[1], 1, bo), + o = n.parse(t[2], 2, bo); + return !r || !o + ? null + : CUe(r.type, [Uo, fo, bn, gQ, bo]) + ? new e(r, o, n.key) + : n.error( + `Expected first argument to be of type boolean, string, number or null, but found ${Al(r.type)} instead`, + ); + } + evaluate(t) { + let n = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if (!r) return !1; + if (!_T(n, ["boolean", "string", "number", "null"])) + throw new tl( + `Expected first argument to be of type boolean, string, number or null, but found ${Al(yc(n))} instead.`, + this.key, + ); + if (!_T(r, ["string", "array"])) + throw new tl( + `Expected second argument to be of type array or string, but found ${Al(yc(r))} instead.`, + this.key, + ); + return r.indexOf(n) >= 0; + } + eachChild(t) { + (t(this.needle), t(this.haystack)); + } + outputDefined() { + return !0; + } + }, + Vbr = class e { + constructor(t, n, r, o) { + ((this.needle = t), + (this.haystack = n), + (this.key = r), + (this.fromIndex = o), + (this.type = bn)); + } + static parse(t, n) { + if (t.length <= 2 || t.length >= 5) + return n.error( + `Expected 2 or 3 arguments, but found ${t.length - 1} instead.`, + ); + let r = n.parse(t[1], 1, bo), + o = n.parse(t[2], 2, bo); + if (!r || !o) return null; + if (!CUe(r.type, [Uo, fo, bn, gQ, bo])) + return n.error( + `Expected first argument to be of type boolean, string, number or null, but found ${Al(r.type)} instead`, + ); + if (t.length === 4) { + let a = n.parse(t[3], 3, bn); + return a ? new e(r, o, n.key, a) : null; + } + return new e(r, o, n.key); + } + evaluate(t) { + let n = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if (!_T(n, ["boolean", "string", "number", "null"])) + throw new tl( + `Expected first argument to be of type boolean, string, number or null, but found ${Al(yc(n))} instead.`, + this.key, + ); + let o; + if ( + (this.fromIndex && (o = this.fromIndex.evaluate(t)), _T(r, ["string"])) + ) { + let a = r.indexOf(n, o); + return a === -1 ? -1 : [...r.slice(0, a)].length; + } + if (_T(r, ["array"])) return r.indexOf(n, o); + throw new tl( + `Expected second argument to be of type array or string, but found ${Al(yc(r))} instead.`, + this.key, + ); + } + eachChild(t) { + (t(this.needle), t(this.haystack), this.fromIndex && t(this.fromIndex)); + } + outputDefined() { + return !1; + } + }, + Gbr = class e { + constructor(t, n, r, o, a, i) { + ((this.inputType = t), + (this.type = n), + (this.input = r), + (this.cases = o), + (this.outputs = a), + (this.otherwise = i)); + } + static parse(t, n) { + if (t.length < 5) + return n.error( + `Expected at least 4 arguments, but found only ${t.length - 1}.`, + ); + if (t.length % 2 != 1) + return n.error("Expected an even number of arguments."); + let r, o; + n.expectedType && n.expectedType.kind !== "value" && (o = n.expectedType); + let a = {}, + i = []; + for (let c = 2; c < t.length - 1; c += 2) { + let u = t[c], + d = t[c + 1]; + Array.isArray(u) || (u = [u]); + let p = n.concat(c); + if (u.length === 0) + return p.error("Expected at least one branch label."); + for (let m of u) { + if (typeof m != "number" && typeof m != "string") + return p.error("Branch labels must be numbers or strings."); + if (typeof m == "number" && Math.abs(m) > 9007199254740991) + return p.error( + "Branch labels must be integers no larger than 9007199254740991.", + ); + if (typeof m == "number" && Math.floor(m) !== m) + return p.error("Numeric branch labels must be integer values."); + if (!r) r = yc(m); + else if (p.checkSubtype(r, yc(m))) return null; + if (a[String(m)] !== void 0) + return p.error("Branch labels must be unique."); + a[String(m)] = i.length; + } + let f = n.parse(d, c, o); + if (!f) return null; + ((o ||= f.type), i.push(f)); + } + let s = n.parse(t[1], 1, bo); + if (!s) return null; + let l = n.parse(t[t.length - 1], t.length - 1, o); + return !l || + (s.type.kind !== "value" && n.concat(1).checkSubtype(r, s.type)) + ? null + : new e(r, o, s, a, i, l); + } + evaluate(t) { + let n = this.input.evaluate(t); + return ( + (yc(n) === this.inputType && this.outputs[this.cases[n]]) || + this.otherwise + ).evaluate(t); + } + eachChild(t) { + (t(this.input), this.outputs.forEach(t), t(this.otherwise)); + } + outputDefined() { + return ( + this.outputs.every((t) => t.outputDefined()) && + this.otherwise.outputDefined() + ); + } + }, + qbr = class e { + constructor(t, n, r) { + ((this.type = t), (this.branches = n), (this.otherwise = r)); + } + static parse(t, n) { + if (t.length < 4) + return n.error( + `Expected at least 3 arguments, but found only ${t.length - 1}.`, + ); + if (t.length % 2 != 0) + return n.error("Expected an odd number of arguments."); + let r; + n.expectedType && n.expectedType.kind !== "value" && (r = n.expectedType); + let o = []; + for (let i = 1; i < t.length - 1; i += 2) { + let s = n.parse(t[i], i, Uo); + if (!s) return null; + let l = n.parse(t[i + 1], i + 1, r); + if (!l) return null; + (o.push([s, l]), (r ||= l.type)); + } + let a = n.parse(t[t.length - 1], t.length - 1, r); + if (!a) return null; + if (!r) throw Error("Can't infer output type"); + return new e(r, o, a); + } + evaluate(t) { + for (let [n, r] of this.branches) if (n.evaluate(t)) return r.evaluate(t); + return this.otherwise.evaluate(t); + } + eachChild(t) { + for (let [n, r] of this.branches) (t(n), t(r)); + t(this.otherwise); + } + outputDefined() { + return ( + this.branches.every(([t, n]) => n.outputDefined()) && + this.otherwise.outputDefined() + ); + } + }, + Zbr = class e { + constructor(t, n, r, o, a) { + ((this.type = t), + (this.input = n), + (this.beginIndex = r), + (this.key = o), + (this.endIndex = a)); + } + static parse(t, n) { + if (t.length <= 2 || t.length >= 5) + return n.error( + `Expected 2 or 3 arguments, but found ${t.length - 1} instead.`, + ); + let r = n.parse(t[1], 1, bo), + o = n.parse(t[2], 2, bn); + if (!r || !o) return null; + if (!CUe(r.type, [Im(bo), fo, bo])) + return n.error( + `Expected first argument to be of type array or string, but found ${Al(r.type)} instead`, + ); + if (t.length === 4) { + let a = n.parse(t[3], 3, bn); + return a ? new e(r.type, r, o, n.key, a) : null; + } + return new e(r.type, r, o, n.key); + } + evaluate(t) { + let n = this.input.evaluate(t), + r = this.beginIndex.evaluate(t), + o; + if ((this.endIndex && (o = this.endIndex.evaluate(t)), _T(n, ["string"]))) + return [...n].slice(r, o).join(""); + if (_T(n, ["array"])) return n.slice(r, o); + throw new tl( + `Expected first argument to be of type array or string, but found ${Al(yc(n))} instead.`, + this.key, + ); + } + eachChild(t) { + (t(this.input), t(this.beginIndex), this.endIndex && t(this.endIndex)); + } + outputDefined() { + return !1; + } + }, + qin = class e { + constructor(t, n) { + ((this.type = t), (this.args = n)); + } + static parse(t, n) { + if (t.length < 2) return n.error("Expected at least one argument."); + let r = null, + o = n.expectedType; + o && o.kind !== "value" && (r = o); + let a = []; + for (let i of t.slice(1)) { + let s = n.parse(i, 1 + a.length, r, void 0, { typeAnnotation: "omit" }); + if (!s) return null; + ((r ||= s.type), a.push(s)); + } + if (!r) throw Error("No output type"); + return o && a.some((i) => QZ(o, i.type)) ? new e(bo, a) : new e(r, a); + } + evaluate(t) { + let n = null, + r = 0, + o; + for (let a of this.args) + if ( + (r++, + (n = a.evaluate(t)), + n && + n instanceof Vx && + !n.available && + ((o ||= n.name), (n = null), r === this.args.length && (n = o)), + n !== null) + ) + break; + return n; + } + eachChild(t) { + this.args.forEach(t); + } + outputDefined() { + return this.args.every((t) => t.outputDefined()); + } + }, + rxr, + oxr, + axr, + ixr, + sxr, + lxr, + Qin = class e { + constructor(t, n, r) { + ((this.type = Tfe), + (this.locale = r), + (this.caseSensitive = t), + (this.diacriticSensitive = n)); + } + static parse(t, n) { + if (t.length !== 2) return n.error("Expected one argument."); + let r = t[1]; + if (typeof r != "object" || Array.isArray(r)) + return n.error("Collator options argument must be an object."); + let o = n.parse( + r["case-sensitive"] !== void 0 && r["case-sensitive"], + 1, + Uo, + ); + if (!o) return null; + let a = n.parse( + r["diacritic-sensitive"] !== void 0 && r["diacritic-sensitive"], + 1, + Uo, + ); + if (!a) return null; + let i = null; + return r.locale && ((i = n.parse(r.locale, 1, fo)), !i) + ? null + : new e(o, a, i); + } + evaluate(t) { + return new EUe( + this.caseSensitive.evaluate(t), + this.diacriticSensitive.evaluate(t), + this.locale ? this.locale.evaluate(t) : null, + ); + } + eachChild(t) { + (t(this.caseSensitive), + t(this.diacriticSensitive), + this.locale && t(this.locale)); + } + outputDefined() { + return !1; + } + }, + cxr = class e { + constructor(t, n, r, o, a, i) { + ((this.type = fo), + (this.number = t), + (this.locale = n), + (this.currency = r), + (this.unit = o), + (this.minFractionDigits = a), + (this.maxFractionDigits = i)); + } + static parse(t, n) { + if (t.length !== 3) return n.error("Expected two arguments."); + let r = n.parse(t[1], 1, bn); + if (!r) return null; + let o = t[2]; + if (typeof o != "object" || Array.isArray(o)) + return n.error("NumberFormat options argument must be an object."); + let a = null; + if (o.locale && ((a = n.parse(o.locale, 1, fo)), !a)) return null; + let i = null; + if (o.currency && ((i = n.parse(o.currency, 1, fo)), !i)) return null; + let s = null; + if (o.unit && ((s = n.parse(o.unit, 1, fo)), !s)) return null; + if (i && s) + return n.error( + "NumberFormat options `currency` and `unit` are mutually exclusive", + ); + let l = null; + if ( + o["min-fraction-digits"] && + ((l = n.parse(o["min-fraction-digits"], 1, bn)), !l) + ) + return null; + let c = null; + return o["max-fraction-digits"] && + ((c = n.parse(o["max-fraction-digits"], 1, bn)), !c) + ? null + : new e(r, a, i, s, l, c); + } + evaluate(t) { + return new Intl.NumberFormat(this.locale ? this.locale.evaluate(t) : [], { + style: this.currency ? "currency" : this.unit ? "unit" : "decimal", + currency: this.currency ? this.currency.evaluate(t) : void 0, + unit: this.unit ? this.unit.evaluate(t) : void 0, + minimumFractionDigits: this.minFractionDigits + ? this.minFractionDigits.evaluate(t) + : void 0, + maximumFractionDigits: this.maxFractionDigits + ? this.maxFractionDigits.evaluate(t) + : void 0, + }).format(this.number.evaluate(t)); + } + eachChild(t) { + (t(this.number), + this.locale && t(this.locale), + this.currency && t(this.currency), + this.unit && t(this.unit), + this.minFractionDigits && t(this.minFractionDigits), + this.maxFractionDigits && t(this.maxFractionDigits)); + } + outputDefined() { + return !1; + } + }, + uxr = class e { + constructor(t) { + ((this.type = vQ), (this.input = t)); + } + static parse(t, n) { + if (t.length !== 2) return n.error("Expected two arguments."); + let r = n.parse(t[1], 1, fo); + return r ? new e(r) : n.error("No image name provided."); + } + evaluate(t) { + let n = this.input.evaluate(t), + r = Vx.fromString(n); + return ( + r && + t.availableImages && + (r.available = t.availableImages.indexOf(n) > -1), + r + ); + } + eachChild(t) { + t(this.input); + } + outputDefined() { + return !1; + } + }, + dxr = class e { + constructor(t, n) { + ((this.input = t), (this.key = n), (this.type = bn)); + } + static parse(t, n) { + if (t.length !== 2) + return n.error( + `Expected 1 argument, but found ${t.length - 1} instead.`, + ); + let r = n.parse(t[1], 1); + return r + ? r.type.kind !== "array" && + r.type.kind !== "string" && + r.type.kind !== "value" + ? n.error( + `Expected argument of type string or array, but found ${Al(r.type)} instead.`, + ) + : new e(r, n.key) + : null; + } + evaluate(t) { + let n = this.input.evaluate(t); + if (typeof n == "string") return [...n].length; + if (Array.isArray(n)) return n.length; + throw new tl( + `Expected value to be of type string or array, but found ${Al(yc(n))} instead.`, + this.key, + ); + } + eachChild(t) { + t(this.input); + } + outputDefined() { + return !1; + } + }, + _x = 8192, + RUe = class e { + constructor(t, n) { + ((this.type = Uo), (this.geojson = t), (this.geometries = n)); + } + static parse(t, n) { + if (t.length !== 2) + return n.error( + `'within' expression requires exactly one argument, but found ${t.length - 1} instead.`, + ); + if (OL(t[1])) { + let r = t[1]; + if (r.type === "FeatureCollection") { + let o = []; + for (let a of r.features) { + let { type: i, coordinates: s } = a.geometry; + (i === "Polygon" && o.push(s), + i === "MultiPolygon" && o.push(...s)); + } + if (o.length) + return new e(r, { type: "MultiPolygon", coordinates: o }); + } else if (r.type === "Feature") { + let o = r.geometry.type; + if (o === "Polygon" || o === "MultiPolygon") + return new e(r, r.geometry); + } else if (r.type === "Polygon" || r.type === "MultiPolygon") + return new e(r, r); + } + return n.error( + "'within' expression requires valid geojson object that contains polygon geometry type.", + ); + } + evaluate(t) { + if (t.geometry() != null && t.canonicalID() != null) { + if (t.geometryType() === "Point") return Cxr(t, this.geometries); + if (t.geometryType() === "LineString") return Exr(t, this.geometries); + } + return !1; + } + eachChild() {} + outputDefined() { + return !0; + } + }, + Kin = class { + constructor(e = [], t = (n, r) => (n < r ? -1 : +(n > r))) { + if ( + ((this.data = e), + (this.length = this.data.length), + (this.compare = t), + this.length > 0) + ) + for (let n = (this.length >> 1) - 1; n >= 0; n--) this._down(n); + } + push(e) { + (this.data.push(e), this._up(this.length++)); + } + pop() { + if (this.length === 0) return; + let e = this.data[0], + t = this.data.pop(); + return (--this.length > 0 && ((this.data[0] = t), this._down(0)), e); + } + peek() { + return this.data[0]; + } + _up(e) { + let { data: t, compare: n } = this, + r = t[e]; + for (; e > 0;) { + let o = (e - 1) >> 1, + a = t[o]; + if (n(r, a) >= 0) break; + ((t[e] = a), (e = o)); + } + t[e] = r; + } + _down(e) { + let { data: t, compare: n } = this, + r = this.length >> 1, + o = t[e]; + for (; e < r;) { + let a = (e << 1) + 1, + i = a + 1; + if ((i < this.length && n(t[i], t[a]) < 0 && (a = i), n(t[a], o) >= 0)) + break; + ((t[e] = t[a]), (e = a)); + } + t[e] = o; + } + }, + Don, + PUe = class { + constructor(e) { + let t = Don * 6378.137 * 1000, + n = Math.cos(e * Don), + r = 1 / (1 - 0.0066943799901413165 * (1 - n * n)), + o = Math.sqrt(r); + ((this.kx = t * o * n), (this.ky = t * o * r * 0.9933056200098587)); + } + distance(e, t) { + let n = this.wrap(e[0] - t[0]) * this.kx, + r = (e[1] - t[1]) * this.ky; + return Math.sqrt(n * n + r * r); + } + pointOnLine(e, t) { + let n = 1 / 0, + r, + o, + a, + i; + for (let s = 0; s < e.length - 1; s++) { + let l = e[s][0], + c = e[s][1], + u = this.wrap(e[s + 1][0] - l) * this.kx, + d = (e[s + 1][1] - c) * this.ky, + p = 0; + ((u !== 0 || d !== 0) && + ((p = + (this.wrap(t[0] - l) * this.kx * u + (t[1] - c) * this.ky * d) / + (u * u + d * d)), + p > 1 + ? ((l = e[s + 1][0]), (c = e[s + 1][1])) + : p > 0 && ((l += (u / this.kx) * p), (c += (d / this.ky) * p))), + (u = this.wrap(t[0] - l) * this.kx), + (d = (t[1] - c) * this.ky)); + let f = u * u + d * d; + f < n && ((n = f), (r = l), (o = c), (a = s), (i = p)); + } + return { point: [r, o], index: a, t: Math.max(0, Math.min(1, i)) }; + } + wrap(e) { + for (; e < -180;) e += 360; + for (; e > 180;) e -= 360; + return e; + } + }, + LUe = class e { + constructor(t, n) { + ((this.type = bn), (this.geojson = t), (this.geometries = n)); + } + static parse(t, n) { + if (t.length !== 2) + return n.error( + `'distance' expression requires exactly one argument, but found ${t.length - 1} instead.`, + ); + if (OL(t[1])) { + let r = t[1]; + if (r.type === "FeatureCollection") + return new e(r, r.features.map((o) => XOe(o.geometry)).flat()); + if (r.type === "Feature") return new e(r, XOe(r.geometry)); + if ("type" in r && "coordinates" in r) return new e(r, XOe(r)); + } + return n.error( + "'distance' expression requires valid geojson object that contains polygon geometry type.", + ); + } + evaluate(t) { + if (t.geometry() != null && t.canonicalID() != null) { + if (t.geometryType() === "Point") return Mxr(t, this.geometries); + if (t.geometryType() === "LineString") return Dxr(t, this.geometries); + if (t.geometryType() === "Polygon") return Lxr(t, this.geometries); + } + return NaN; + } + eachChild() {} + outputDefined() { + return !0; + } + }, + Bxr = class e { + constructor(t) { + let n = null; + for (let r of t) + if (!n) n = r.type; + else if (n === r.type) continue; + else { + n = bo; + break; + } + ((this.type = Im(n ?? bo, t.length)), (this.arr = t)); + } + static parse(t, n) { + if (t.length !== 2) + return n.error( + `'semiliteral' expression requires exactly one argument, but found ${t.length - 1} instead.`, + ); + if (!OL(t[1])) return n.error(`invalid value of type "${typeof t[1]}"`); + let r = t[1], + o = yc(r); + if (o.kind === "array") { + let a = r, + i = n.concat(1), + s = []; + for (let l = 0; l < a.length; l++) { + let c = i.parse(a[l], l, bo); + if (!c) return null; + s.push(c); + } + return new e(s); + } + return new FL(o, r); + } + evaluate(t) { + return this.arr.map((n) => n.evaluate(t)); + } + eachChild(t) { + this.arr.forEach(t); + } + outputDefined() { + return this.arr.every((t) => t.outputDefined()); + } + }, + BUe = class e { + constructor(t) { + ((this.key = t), (this.type = bo)); + } + static parse(t, n) { + if (t.length !== 2) + return n.error( + `Expected 1 argument, but found ${t.length - 1} instead.`, + ); + let r = t[1]; + return r == null + ? n.error("Global state property must be defined.") + : typeof r == "string" + ? new e(r) + : n.error( + `Global state property must be string, but found ${typeof t[1]} instead.`, + ); + } + evaluate(t) { + let n = t.globals?.globalState; + return !n || Object.keys(n).length === 0 + ? null + : (UZ(n, this.key) ?? null); + } + eachChild() {} + outputDefined() { + return !1; + } + }, + kL, + Nx, + Oxr = class e { + constructor(t, n = []) { + ((this.parent = t), (this.bindings = {})); + for (let [r, o] of n) this.bindings[r] = o; + } + concat(t) { + return new e(this, t); + } + get(t) { + if (this.bindings[t]) return this.bindings[t]; + if (this.parent) return this.parent.get(t); + throw Error(`${t} not found in scope.`); + } + has(t) { + return this.bindings[t] ? !0 : this.parent ? this.parent.has(t) : !1; + } + }, + jin = class e { + constructor(t, n, r = [], o, a = new Oxr(), i = []) { + ((this.registry = t), + (this.path = r), + (this.key = r.map((s) => `[${s}]`).join("")), + (this.scope = a), + (this.errors = i), + (this.expectedType = o), + (this._isConstant = n)); + } + parse(t, n, r, o, a = {}) { + return n == null ? this._parse(t, a) : this.concat(n, r, o)._parse(t, a); + } + _parse(t, n) { + (t === null || + typeof t == "string" || + typeof t == "boolean" || + typeof t == "number") && + (t = ["literal", t]); + let r = this.key; + function o(a, i, s) { + return s === "assert" + ? new ww(i, [a], r) + : s === "coerce" + ? new EL(i, [a], r) + : a; + } + if (Array.isArray(t)) { + if (t.length === 0) + return this.error( + 'Expected an array with at least one element. If you wanted a literal array, use ["literal", []].', + ); + let a = t[0]; + if (typeof a != "string") + return ( + this.error( + `Expression name must be a string, but found ${typeof a} instead. If you wanted a literal array, use ["literal", [...]].`, + 0, + ), + null + ); + let i = this.registry[a]; + if (i) { + let s = i.parse(t, this); + if (!s) return null; + if (this.expectedType) { + let l = this.expectedType, + c = s.type; + if ( + (l.kind === "string" || + l.kind === "number" || + l.kind === "boolean" || + l.kind === "object" || + l.kind === "array") && + c.kind === "value" + ) + s = o(s, l, n.typeAnnotation || "assert"); + else if ( + (l.kind === "projectionDefinition" && + ["string", "array", "value"].includes(c.kind)) || + (["color", "formatted", "resolvedImage"].includes(l.kind) && + ["value", "string"].includes(c.kind)) || + (["padding", "numberArray"].includes(l.kind) && + ["value", "number", "array"].includes(c.kind)) || + (l.kind === "colorArray" && + ["value", "string", "array"].includes(c.kind)) || + (l.kind === "variableAnchorOffsetCollection" && + ["value", "array"].includes(c.kind)) + ) + s = o(s, l, n.typeAnnotation || "coerce"); + else if (this.checkSubtype(l, c)) return null; + } + if ( + !(s instanceof FL) && + s.type.kind !== "resolvedImage" && + this._isConstant(s) + ) { + let l = new zin(); + try { + s = new FL(s.type, s.evaluate(l)); + } catch (c) { + return (this.error(c.message), null); + } + } + return s; + } + return this.error( + `Unknown expression "${a}". If you wanted a literal array, use ["literal", [...]].`, + 0, + ); + } + return t === void 0 + ? this.error("'undefined' value invalid. Use null instead.") + : typeof t == "object" + ? this.error('Bare objects invalid. Use ["literal", {...}] instead.') + : this.error(`Expected an array, but found ${typeof t} instead.`); + } + concat(t, n, r) { + let o = typeof t == "number" ? this.path.concat(t) : this.path, + a = r ? this.scope.concat(r) : this.scope; + return new e( + this.registry, + this._isConstant, + o, + n || null, + a, + this.errors, + ); + } + error(t, ...n) { + let r = `${this.key}${n.map((o) => `[${o}]`).join("")}`; + this.errors.push(new Nx(r, t)); + } + checkSubtype(t, n) { + let r = QZ(t, n); + return (r && this.error(r), r); + } + }, + JT = class e { + constructor(t, n, r, o, a) { + ((this.name = t), + (this.type = n), + (this._evaluate = r), + (this.args = o), + (this.key = a)); + } + evaluate(t) { + return this._evaluate(t, this.args, this.key); + } + eachChild(t) { + this.args.forEach(t); + } + outputDefined() { + return !1; + } + static parse(t, n) { + let r = t[0], + o = e.definitions[r]; + if (!o) + return n.error( + `Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`, + 0, + ); + let a = Array.isArray(o) ? o[0] : o.type, + i = Array.isArray(o) ? [[o[1], o[2]]] : o.overloads, + s = i.filter(([c]) => !Array.isArray(c) || c.length === t.length - 1), + l = null; + for (let [c, u] of s) { + l = new jin(n.registry, Jpe, n.path, null, n.scope); + let d = [], + p = !1; + for (let f = 1; f < t.length; f++) { + let m = t[f], + g = Array.isArray(c) ? c[f - 1] : c.type, + v = l.parse(m, 1 + d.length, g); + if (!v) { + p = !0; + break; + } + d.push(v); + } + if (!p) { + if (Array.isArray(c) && c.length !== d.length) { + l.error( + `Expected ${c.length} arguments, but found ${d.length} instead.`, + ); + continue; + } + for (let f = 0; f < d.length; f++) { + let m = Array.isArray(c) ? c[f] : c.type, + g = d[f]; + l.concat(f + 1).checkSubtype(m, g.type); + } + if (l.errors.length === 0) return new e(r, a, u, d, n.key); + } + } + if (s.length === 1) n.errors.push(...l.errors); + else { + let c = (s.length ? s : i).map(([d]) => Uxr(d)).join(" | "), + u = []; + for (let d = 1; d < t.length; d++) { + let p = n.parse(t[d], 1 + u.length); + if (!p) return null; + u.push(Al(p.type)); + } + n.error( + `Expected arguments of type ${c}, but found (${u.join(", ")}) instead.`, + ); + } + return null; + } + static register(t, n) { + e.definitions = n; + for (let r in n) t[r] = e; + } + }, + FUe, + UUe = class { + constructor(e, t, n, r) { + ((this.expression = e), + (this._warningHistory = {}), + (this._evaluator = new zin()), + (this._defaultValue = n ? isn(n) : null), + (this._enumValues = n && n.type === "enum" ? n.values : null), + (this._globalState = r), + (this._rootKey = t)); + } + evaluateWithoutErrorHandling(e, t, n, r, o, a) { + return ( + this._globalState && (e = NL(e, this._globalState)), + (this._evaluator.globals = e), + (this._evaluator.feature = t), + (this._evaluator.featureState = n), + (this._evaluator.canonical = r), + (this._evaluator.availableImages = o || null), + (this._evaluator.formattedSection = a), + this.expression.evaluate(this._evaluator) + ); + } + evaluate(e, t, n, r, o, a) { + (this._globalState && (e = NL(e, this._globalState)), + (this._evaluator.globals = e), + (this._evaluator.feature = t || null), + (this._evaluator.featureState = n || null), + (this._evaluator.canonical = r), + (this._evaluator.availableImages = o || null), + (this._evaluator.formattedSection = a || null)); + try { + let i = this.expression.evaluate(this._evaluator); + if (i == null || (typeof i == "number" && i !== i)) + return this._defaultValue; + if (this._enumValues && !(i in this._enumValues)) + throw new tl( + `Expected value to be one of ${Object.keys(this._enumValues) + .map((s) => JSON.stringify(s)) + .join(", ")}, but found ${JSON.stringify(i)} instead.`, + "", + ); + return i; + } catch (i) { + let s = i instanceof tl ? i.path : "", + l = `${s}|${i.message}`; + return ( + this._warningHistory[l] || + ((this._warningHistory[l] = !0), + typeof console < "u" && + console.warn( + nsn(this._rootKey, s, i.message, this._defaultValue), + )), + this._defaultValue + ); + } + } + }, + KZ = class { + constructor(e, t, n) { + ((this.kind = e), + (this._styleExpression = t), + (this.isStateDependent = e !== "constant" && !WZ(t.expression)), + (this.globalStateRefs = AQ(t.expression)), + (this._globalState = n)); + } + evaluateWithoutErrorHandling(e, t, n, r, o, a) { + return ( + this._globalState && (e = NL(e, this._globalState)), + this._styleExpression.evaluateWithoutErrorHandling(e, t, n, r, o, a) + ); + } + evaluate(e, t, n, r, o, a) { + return ( + this._globalState && (e = NL(e, this._globalState)), + this._styleExpression.evaluate(e, t, n, r, o, a) + ); + } + }, + jpe = class { + constructor(e, t, n, r, o) { + ((this.kind = e), + (this.zoomStops = n), + (this._styleExpression = t), + (this.isStateDependent = e !== "camera" && !WZ(t.expression)), + (this.globalStateRefs = AQ(t.expression)), + (this.interpolationType = r), + (this._globalState = o)); + } + evaluateWithoutErrorHandling(e, t, n, r, o, a) { + return ( + this._globalState && (e = NL(e, this._globalState)), + this._styleExpression.evaluateWithoutErrorHandling(e, t, n, r, o, a) + ); + } + evaluate(e, t, n, r, o, a) { + return ( + this._globalState && (e = NL(e, this._globalState)), + this._styleExpression.evaluate(e, t, n, r, o, a) + ); + } + interpolationFactor(e, t, n) { + return this.interpolationType + ? Dy.interpolationFactor(this.interpolationType, e, t, n) + : 0; + } + }, + asn = class e { + constructor(t, n, r) { + ((this.isStateDependent = !1), + (this.globalStateRefs = new Set()), + (this._globalState = null), + rsn(n), + (this._parameters = t), + (this._specification = r), + (this._rootKey = n), + (this._defaultValue = isn(r)), + (this._warningHistory = {})); + let o = esn(this._parameters, this._specification); + ((this.kind = o.kind), + (this.interpolationFactor = o.interpolationFactor), + (this.zoomStops = o.zoomStops), + (this.interpolationType = o.interpolationType), + (this._innerEvaluate = o.evaluate)); + } + evaluate(t, n) { + try { + return this._innerEvaluate(t, n); + } catch (r) { + let o = r instanceof Error ? r.message : String(r), + a = `|${o}`; + return ( + this._warningHistory[a] || + ((this._warningHistory[a] = !0), + typeof console < "u" && + console.warn(nsn(this._rootKey, "", o, this._defaultValue))), + this._defaultValue + ); + } + } + static deserialize(t) { + return new e(t._parameters, t._rootKey, t._specification); + } + static serialize(t) { + return { + _parameters: t._parameters, + _specification: t._specification, + _rootKey: t._rootKey, + }; + } + }, + Jxr, + Hon, + Von = 1114111, + hAr, + Gon, + yAr, + vAr = class { + constructor(e, t, n) { + ((this._rootKey = t), (this._globalState = n), this.setValue(e)); + } + evaluate() { + return this._literalValue ?? this._compiledValue.evaluate({}); + } + setValue(e) { + if (e == null || e === "visible" || e === "none") { + ((this._literalValue = e === "none" ? "none" : "visible"), + (this._compiledValue = void 0), + (this._globalStateRefs = new Set())); + return; + } + let t = Nfe(e, this._rootKey, yAr, this._globalState); + if (t.result === "error") + throw ( + (this._literalValue = "visible"), + (this._compiledValue = void 0), + Error(t.value.map((n) => `${n.key}: ${n.message}`).join(", ")) + ); + ((this._literalValue = void 0), + (this._compiledValue = t.value), + (this._globalStateRefs = AQ(t.value.expression))); + } + getGlobalStateRefs() { + return this._globalStateRefs; + } + }, + Sh, + VUe, + fFe = class e { + constructor(t, n, r) { + let o = (this.cells = []); + if (t instanceof ArrayBuffer) { + this.arrayBuffer = t; + let i = new Int32Array(this.arrayBuffer); + ((t = i[0]), (n = i[1]), (r = i[2]), (this.d = n + 2 * r)); + for (let c = 0; c < this.d * this.d; c++) { + let u = i[3 + c], + d = i[3 + c + 1]; + o.push(u === d ? null : i.subarray(u, d)); + } + let s = i[3 + o.length], + l = i[3 + o.length + 1]; + ((this.keys = i.subarray(s, l)), + (this.bboxes = i.subarray(l)), + (this.insert = this._insertReadonly)); + } else { + this.d = n + 2 * r; + for (let i = 0; i < this.d * this.d; i++) o.push([]); + ((this.keys = []), (this.bboxes = [])); + } + ((this.n = n), + (this.extent = t), + (this.padding = r), + (this.scale = n / t), + (this.uid = 0)); + let a = (r / n) * t; + ((this.min = -a), (this.max = t + a)); + } + insert(t, n, r, o, a) { + (this._forEachCell( + n, + r, + o, + a, + this._insertCell, + this.uid++, + void 0, + void 0, + ), + this.keys.push(t), + this.bboxes.push(n), + this.bboxes.push(r), + this.bboxes.push(o), + this.bboxes.push(a)); + } + _insertReadonly() { + throw Error( + "Cannot insert into a GridIndex created from an ArrayBuffer.", + ); + } + _insertCell(t, n, r, o, a, i) { + this.cells[a].push(i); + } + query(t, n, r, o, a) { + let i = this.min, + s = this.max; + if (t <= i && n <= i && s <= r && s <= o && !a) return [...this.keys]; + { + let l = []; + return (this._forEachCell(t, n, r, o, this._queryCell, l, {}, a), l); + } + } + _queryCell(t, n, r, o, a, i, s, l) { + let c = this.cells[a]; + if (c !== null) { + let u = this.keys, + d = this.bboxes; + for (let p of c) + if (s[p] === void 0) { + let f = p * 4; + ( + l + ? l(d[f + 0], d[f + 1], d[f + 2], d[f + 3]) + : t <= d[f + 2] && + n <= d[f + 3] && + r >= d[f + 0] && + o >= d[f + 1] + ) + ? ((s[p] = !0), i.push(u[p])) + : (s[p] = !1); + } + } + } + _forEachCell(t, n, r, o, a, i, s, l) { + let c = this._convertToCellCoord(t), + u = this._convertToCellCoord(n), + d = this._convertToCellCoord(r), + p = this._convertToCellCoord(o); + for (let f = c; f <= d; f++) + for (let m = u; m <= p; m++) { + let g = this.d * m + f; + if ( + (!l || + l( + this._convertFromCellCoord(f), + this._convertFromCellCoord(m), + this._convertFromCellCoord(f + 1), + this._convertFromCellCoord(m + 1), + )) && + a.call(this, t, n, r, o, g, i, s, l) + ) + return; + } + } + _convertFromCellCoord(t) { + return (t - this.padding) / this.scale; + } + _convertToCellCoord(t) { + return Math.max( + 0, + Math.min(this.d - 1, Math.floor(t * this.scale) + this.padding), + ); + } + toArrayBuffer() { + if (this.arrayBuffer) return this.arrayBuffer; + let t = this.cells, + n = 3 + this.cells.length + 1 + 1, + r = 0; + for (let i of this.cells) r += i.length; + let o = new Int32Array(n + r + this.keys.length + this.bboxes.length); + ((o[0] = this.extent), (o[1] = this.n), (o[2] = this.padding)); + let a = n; + for (let i = 0; i < t.length; i++) { + let s = t[i]; + ((o[3 + i] = a), o.set(s, a), (a += s.length)); + } + return ( + (o[3 + t.length] = a), + o.set(this.keys, a), + (a += this.keys.length), + (o[3 + t.length + 1] = a), + o.set(this.bboxes, a), + (a += this.bboxes.length), + o.buffer + ); + } + static serialize(t, n) { + let r = t.toArrayBuffer(); + return (n && n.push(r), { buffer: r }); + } + static deserialize(t) { + return new e(t.buffer); + } + }, + Sw, + efe = class { + constructor() { + this.first = !0; + } + update(e, t) { + let n = Math.floor(e); + return this.first + ? ((this.first = !1), + (this.lastIntegerZoom = n), + (this.lastIntegerZoomTime = 0), + (this.lastZoom = e), + (this.lastFloorZoom = n), + !0) + : (this.lastFloorZoom > n + ? ((this.lastIntegerZoom = n + 1), (this.lastIntegerZoomTime = t)) + : this.lastFloorZoom < n && + ((this.lastIntegerZoom = n), (this.lastIntegerZoomTime = t)), + e !== this.lastZoom && + ((this.lastZoom = e), (this.lastFloorZoom = n), !0)); + } + }, + oi = class { + constructor(e, t) { + ((this.zoom = e), + t + ? ((this.now = t.now || 0), + (this.fadeDuration = t.fadeDuration || 0), + (this.zoomHistory = t.zoomHistory || new efe()), + (this.transition = t.transition || {})) + : ((this.now = 0), + (this.fadeDuration = 0), + (this.zoomHistory = new efe()), + (this.transition = {}))); + } + crossFadingFactor() { + return this.fadeDuration === 0 + ? 1 + : Math.min( + (this.now - this.zoomHistory.lastIntegerZoomTime) / + this.fadeDuration, + 1, + ); + } + getCrossfadeParameters() { + let e = this.zoom, + t = e - Math.floor(e), + n = this.crossFadingFactor(); + return e > this.zoomHistory.lastIntegerZoom + ? { fromScale: 2, toScale: 1, t: t + (1 - t) * n } + : { fromScale: 0.5, toScale: 1, t: 1 - (1 - n) * t }; + } + }, + jZ = class { + constructor(e, t, n, r) { + ((this.property = e), + (this.value = t), + (this.expression = Qxr( + t === void 0 ? e.specification.default : t, + n, + e.specification, + r, + ))); + } + isDataDriven() { + return ( + this.expression.kind === "source" || + this.expression.kind === "composite" + ); + } + getGlobalStateRefs() { + return this.expression.globalStateRefs || new Set(); + } + readsGlobalState(e) { + let t = this.getGlobalStateRefs(); + return e.some((n) => t.has(n)); + } + possiblyEvaluate(e, t, n) { + return this.property.possiblyEvaluate(this, e, t, n); + } + }, + mFe = class { + constructor(e, t, n) { + ((this.property = e), (this.value = new jZ(e, void 0, t, n))); + } + transitioned(e, t) { + return t.value === this.value + ? t + : new qon( + this.property, + this.value, + t, + rr({}, e.transition, this.transition), + e.now, + ); + } + untransitioned() { + return new qon(this.property, this.value, null, {}, 0); + } + }, + wQ = class { + constructor(e, t, n) { + ((this._properties = e), + (this._values = Object.create(e.defaultTransitionablePropertyValues)), + (this._globalState = n), + (this._rootKey = t)); + } + _propertyRootKey(e) { + return `${this._rootKey}.${String(e)}`; + } + hasProperty(e) { + return e in this._properties.defaultTransitionablePropertyValues; + } + getValue(e) { + return Ah(this._values[e].value.value); + } + setValue(e, t) { + (Object.hasOwn(this._values, e) || + (this._values[e] = new mFe( + this._values[e].property, + this._propertyRootKey(e), + this._globalState, + )), + (this._values[e].value = new jZ( + this._values[e].property, + t === null ? void 0 : Ah(t), + this._propertyRootKey(e), + this._globalState, + ))); + } + setValues(e) { + for (let t in e) { + let n = e[t]; + t.endsWith("-transition") + ? this.setTransition(t.slice(0, -11), n) + : hv(this._values[t].value.value, n) || this.setValue(t, n); + } + } + getTransition(e) { + return Ah(this._values[e].transition); + } + setTransition(e, t) { + (Object.hasOwn(this._values, e) || + (this._values[e] = new mFe( + this._values[e].property, + this._propertyRootKey(e), + this._globalState, + )), + (this._values[e].transition = Ah(t) || void 0)); + } + retainPriorGlobalState(e, t, n) { + for (let r of Object.keys(n._values)) + for (let o = n._values[r]; o; o = o.prior) { + let { value: a } = o; + a.property.specification.transition && + !a.isDataDriven() && + a.expression._globalState === this._globalState && + a.readsGlobalState(e) && + (o.value = new jZ( + a.property, + a.value, + this._propertyRootKey(r), + t, + )); + } + } + applyGlobalStateChange(e, t, n, r) { + this.retainPriorGlobalState(e, t, n); + let o = !1; + for (let a of Object.keys(this._values)) { + let { value: i } = this._values[a]; + i.readsGlobalState(e) && (this.setValue(a, i.value), (o = !0)); + } + return o ? this.transitioned(r, n) : n; + } + serialize() { + let e = {}; + for (let t of Object.keys(this._values)) { + let n = this.getValue(t); + n !== void 0 && (e[t] = n); + let r = this.getTransition(t); + r !== void 0 && (e[`${t}-transition`] = r); + } + return e; + } + transitioned(e, t) { + let n = new Zon(this._properties); + for (let r of Object.keys(this._values)) + n._values[r] = this._values[r].transitioned(e, t._values[r]); + return n; + } + untransitioned() { + let e = new Zon(this._properties); + for (let t of Object.keys(this._values)) + e._values[t] = this._values[t].untransitioned(); + return e; + } + }, + qon = class { + constructor(e, t, n, r, o) { + ((this.property = e), + (this.value = t), + (this.begin = o + r.delay || 0), + (this.end = this.begin + r.duration || 0), + e.specification.transition && + (r.delay || r.duration) && + (this.prior = n)); + } + possiblyEvaluate(e, t, n) { + let r = e.now || 0, + o = this.value.possiblyEvaluate(e, t, n), + a = this.prior; + if (!a) return o; + if (r > this.end || this.value.isDataDriven()) + return ((this.prior = null), o); + if (r < this.begin) return a.possiblyEvaluate(e, t, n); + { + let i = (r - this.begin) / (this.end - this.begin); + return this.property.interpolate( + a.possiblyEvaluate(e, t, n), + o, + hbr(i), + ); + } + } + }, + Zon = class { + constructor(e) { + ((this._properties = e), + (this._values = Object.create(e.defaultTransitioningPropertyValues))); + } + possiblyEvaluate(e, t, n) { + let r = new Hfe(this._properties); + for (let o of Object.keys(this._values)) + r._values[o] = this._values[o].possiblyEvaluate(e, t, n); + return r; + } + hasTransition() { + for (let e of Object.keys(this._values)) + if (this._values[e].prior) return !0; + return !1; + } + }, + wAr = class { + constructor(e, t, n) { + ((this._properties = e), + (this._values = Object.create(e.defaultPropertyValues)), + (this._globalState = n), + (this._rootKey = t)); + } + _propertyRootKey(e) { + return `${this._rootKey}.${String(e)}`; + } + hasValue(e) { + return this._values[e].value !== void 0; + } + hasProperty(e) { + return e in this._properties.defaultPropertyValues; + } + getValue(e) { + return Ah(this._values[e].value); + } + setValue(e, t) { + this._values[e] = new jZ( + this._values[e].property, + t === null ? void 0 : Ah(t), + this._propertyRootKey(e), + this._globalState, + ); + } + serialize() { + let e = {}; + for (let t of Object.keys(this._values)) { + let n = this.getValue(t); + n !== void 0 && (e[t] = n); + } + return e; + } + possiblyEvaluate(e, t, n) { + let r = new Hfe(this._properties); + for (let o of Object.keys(this._values)) + r._values[o] = this._values[o].possiblyEvaluate(e, t, n); + return r; + } + }, + Py = class { + constructor(e, t, n) { + ((this.property = e), (this.value = t), (this.parameters = n)); + } + isConstant() { + return this.value.kind === "constant"; + } + constantOr(e) { + return this.value.kind === "constant" ? this.value.value : e; + } + evaluate(e, t, n, r) { + return this.property.evaluate(this.value, this.parameters, e, t, n, r); + } + }, + Hfe = class { + constructor(e) { + ((this._properties = e), + (this._values = Object.create(e.defaultPossiblyEvaluatedValues))); + } + get(e) { + return this._values[e]; + } + }, + Mn = class { + constructor(e, t) { + ((this.specification = e), (this.name = t)); + } + possiblyEvaluate(e, t) { + if (e.isDataDriven()) throw Error("Value should not be data driven"); + return e.expression.evaluate(t); + } + interpolate(e, t, n) { + if (ksn(e, t)) + return ( + Ko( + `Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`, + ), + t + ); + let r = this.specification.type, + o = Hs[r]; + return o ? o(e, t, n) : e; + } + }, + dr = class { + constructor(e, t, n) { + ((this.specification = e), (this.name = t), (this.overrides = n)); + } + possiblyEvaluate(e, t, n, r) { + return e.expression.kind === "constant" || e.expression.kind === "camera" + ? new Py( + this, + { + kind: "constant", + value: e.expression.evaluate(t, null, {}, n, r), + }, + t, + ) + : new Py(this, e.expression, t); + } + interpolate(e, t, n) { + if (e.value.kind !== "constant" || t.value.kind !== "constant") return e; + if (e.value.value === void 0 || t.value.value === void 0) + return new Py(this, { kind: "constant", value: void 0 }, e.parameters); + if (ksn(e.value.value, t.value.value)) + return ( + Ko( + `Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`, + ), + t + ); + let r = this.specification.type, + o = Hs[r]; + if (o) { + let a = o(e.value.value, t.value.value, n); + return new Py(this, { kind: "constant", value: a }, e.parameters); + } + return e; + } + evaluate(e, t, n, r, o, a) { + return e.kind === "constant" ? e.value : e.evaluate(t, n, r, o, a); + } + }, + $Z, + Rsn = class { + constructor(e, t) { + ((this.specification = e), (this.name = t)); + } + possiblyEvaluate(e, t, n, r) { + if (e.value !== void 0) { + if (e.expression.kind === "constant") { + let o = e.expression.evaluate(t, null, {}, n, r); + return this._calculate(o, o, o, t); + } + return this._calculate( + e.expression.evaluate(new oi(Math.floor(t.zoom - 1), t)), + e.expression.evaluate(new oi(Math.floor(t.zoom), t)), + e.expression.evaluate(new oi(Math.floor(t.zoom + 1), t)), + t, + ); + } + } + _calculate(e, t, n, r) { + return r.zoom > r.zoomHistory.lastIntegerZoom + ? { from: e, to: t } + : { from: n, to: t }; + } + interpolate(e) { + return e; + } + }, + Vfe = class { + constructor(e, t) { + ((this.specification = e), (this.name = t)); + } + possiblyEvaluate(e, t, n, r) { + return !!e.expression.evaluate(t, null, {}, n, r); + } + interpolate() { + return !1; + } + }, + np = class { + constructor(e) { + ((this.properties = e), + (this.defaultPropertyValues = {}), + (this.defaultTransitionablePropertyValues = {}), + (this.defaultTransitioningPropertyValues = {}), + (this.defaultPossiblyEvaluatedValues = {}), + (this.overridableProperties = [])); + for (let t in e) { + let n = e[t]; + n.specification.overridable && this.overridableProperties.push(t); + let r = (this.defaultPropertyValues[t] = new jZ( + n, + void 0, + n.name, + void 0, + )), + o = (this.defaultTransitionablePropertyValues[t] = new mFe( + n, + n.name, + void 0, + )); + ((this.defaultTransitioningPropertyValues[t] = o.untransitioned()), + (this.defaultPossiblyEvaluatedValues[t] = r.possiblyEvaluate({}))); + } + } + }, + Xon = + " is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?", + JOe = + " is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?", + bv, + SAr, + CAr = () => + (SAr ||= new np({ + "raster-opacity": new Mn( + bt.paint_raster["raster-opacity"], + "raster-opacity", + ), + "raster-hue-rotate": new Mn( + bt.paint_raster["raster-hue-rotate"], + "raster-hue-rotate", + ), + "raster-brightness-min": new Mn( + bt.paint_raster["raster-brightness-min"], + "raster-brightness-min", + ), + "raster-brightness-max": new Mn( + bt.paint_raster["raster-brightness-max"], + "raster-brightness-max", + ), + "raster-saturation": new Mn( + bt.paint_raster["raster-saturation"], + "raster-saturation", + ), + "raster-contrast": new Mn( + bt.paint_raster["raster-contrast"], + "raster-contrast", + ), + resampling: new Mn(bt.paint_raster.resampling, "resampling"), + "raster-resampling": new Mn( + bt.paint_raster["raster-resampling"], + "raster-resampling", + ), + "raster-fade-duration": new Mn( + bt.paint_raster["raster-fade-duration"], + "raster-fade-duration", + ), + })), + EAr, + Gfe = (e) => e.type === "raster", + IAr, + TAr, + SQ = class { + constructor(e, t) { + ((this._structArray = e), + (this._pos1 = t * this.size), + (this._pos2 = this._pos1 / 2), + (this._pos4 = this._pos1 / 4), + (this._pos8 = this._pos1 / 8)); + } + }, + wl = class { + constructor() { + ((this.isTransferred = !1), (this.capacity = -1), this.resize(0)); + } + static serialize(e, t) { + return ( + e._trim(), + t && ((e.isTransferred = !0), t.push(e.arrayBuffer)), + { length: e.length, arrayBuffer: e.arrayBuffer } + ); + } + static deserialize(e) { + let t = Object.create(this.prototype); + return ( + (t.arrayBuffer = e.arrayBuffer), + (t.length = e.length), + (t.capacity = e.arrayBuffer.byteLength / t.bytesPerElement), + t._refreshViews(), + t + ); + } + _trim() { + this.length !== this.capacity && + ((this.capacity = this.length), + (this.arrayBuffer = this.arrayBuffer.slice( + 0, + this.length * this.bytesPerElement, + )), + this._refreshViews()); + } + clear() { + this.length = 0; + } + resize(e) { + (this.reserve(e), (this.length = e)); + } + reserve(e) { + if (e > this.capacity) { + ((this.capacity = Math.max(e, Math.floor(this.capacity * 5), 128)), + (this.arrayBuffer = new ArrayBuffer( + this.capacity * this.bytesPerElement, + ))); + let t = this.uint8; + (this._refreshViews(), t && this.uint8.set(t)); + } + } + _refreshViews() { + throw Error( + "_refreshViews() must be implemented by each concrete StructArray layout", + ); + } + freeBufferAfterUpload() { + ((this.arrayBuffer = new ArrayBuffer(0)), this._refreshViews()); + } + }, + eQ, + tfe, + hFe, + gFe, + yFe, + tQ, + vFe, + bFe, + xFe, + AFe, + wFe, + SFe, + CFe, + EFe, + IFe, + nfe, + TFe, + kFe, + rfe, + RFe, + PFe, + MFe, + DFe, + LFe, + Psn, + ZUe, + Msn, + Dsn, + Lsn, + Bsn, + Osn, + Fsn, + Usn, + Nsn, + zsn, + _sn, + Lw, + Hsn, + Vsn, + RAr, + PAr, + MAr, + DAr, + LAr, + xL, + Yon, + BAr, + OAr, + FAr, + Kon, + Gsn, + UAr, + qsn, + xv, + BFe, + Zsn, + OFe, + NAr, + Vs = class e { + constructor(t = []) { + ((this._forceNewSegmentOnNextPrepare = !1), (this.segments = t)); + } + prepareSegment(t, n, r, o) { + let a = this.segments[this.segments.length - 1]; + return ( + t > e.MAX_VERTEX_ARRAY_LENGTH && + Ko( + `Max vertices per segment is ${e.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${e.MAX_VERTEX_ARRAY_LENGTH} vertices.`, + ), + this._forceNewSegmentOnNextPrepare || + !a || + a.vertexLength + t > e.MAX_VERTEX_ARRAY_LENGTH || + a.sortKey !== o + ? this.createNewSegment(n, r, o) + : a + ); + } + createNewSegment(t, n, r) { + let o = { + vertexOffset: t.length, + primitiveOffset: n.length, + vertexLength: 0, + primitiveLength: 0, + vaos: {}, + }; + return ( + r !== void 0 && (o.sortKey = r), + (this._forceNewSegmentOnNextPrepare = !1), + this.segments.push(o), + o + ); + } + getOrCreateLatestSegment(t, n, r) { + return this.prepareSegment(0, t, n, r); + } + forceNewSegmentOnNextPrepare() { + this._forceNewSegmentOnNextPrepare = !0; + } + get() { + return this.segments; + } + destroy() { + for (let t of this.segments) for (let n in t.vaos) t.vaos[n].destroy(); + } + static simpleSegment(t, n, r, o) { + return new e([ + { + vertexOffset: t, + primitiveOffset: n, + vertexLength: r, + primitiveLength: o, + vaos: {}, + sortKey: 0, + }, + ]); + } + }, + zAr, + _Ar, + HAr, + VAr, + ofe, + Qsn = class e { + constructor() { + ((this.ids = []), (this.positions = []), (this.indexed = !1)); + } + add(t, n, r, o) { + (this.ids.push(jon(t)), this.positions.push(n, r, o)); + } + getPositions(t) { + if (!this.indexed) + throw Error( + "Trying to get index, but feature positions are not indexed", + ); + let n = jon(t), + r = 0, + o = this.ids.length - 1; + for (; r < o;) { + let i = (r + o) >> 1; + this.ids[i] >= n ? (o = i) : (r = i + 1); + } + let a = []; + for (; this.ids[r] === n;) { + let i = this.positions[3 * r], + s = this.positions[3 * r + 1], + l = this.positions[3 * r + 2]; + (a.push({ index: i, start: s, end: l }), r++); + } + return a; + } + static serialize(t, n) { + let r = new Float64Array(t.ids), + o = new Uint32Array(t.positions); + return ( + FFe(r, o, 0, r.length - 1), + n && n.push(r.buffer, o.buffer), + { ids: r, positions: o } + ); + } + static deserialize(t) { + let n = new e(); + return ( + (n.ids = t.ids), + (n.positions = t.positions), + (n.indexed = !0), + n + ); + } + }, + Bw = class { + constructor(e, t) { + ((this.gl = e.gl), (this.location = t)); + } + }, + ar, + Un, + Ao, + Rm, + YL, + Ow, + QUe, + XUe, + GAr, + Uy, + BZ = class { + constructor(e, t, n) { + ((this.value = e), + (this.uniformNames = t.map((r) => `u_${r}`)), + (this.type = n)); + } + setUniform(e, t, n) { + e.set(n.constantOr(this.value)); + } + getBinding(e, t, n) { + return this.type === "color" ? new Ow(e, t) : new Un(e, t); + } + }, + OT = class { + constructor(e, t) { + ((this.uniformNames = t.map((n) => `u_${n}`)), + (this.patternFrom = null), + (this.patternTo = null), + (this.pixelRatioFrom = 1), + (this.pixelRatioTo = 1)); + } + setConstantPatternPositions(e, t) { + ((this.pixelRatioFrom = t.pixelRatio), + (this.pixelRatioTo = e.pixelRatio), + (this.patternFrom = t.tlbr), + (this.patternTo = e.tlbr)); + } + setConstantDashPositions(e, t) { + ((this.dashTo = [0, e.y, e.height, e.width]), + (this.dashFrom = [0, t.y, t.height, t.width])); + } + setUniform(e, t, n, r) { + let o = null; + (r === "u_pattern_to" + ? (o = this.patternTo) + : r === "u_pattern_from" + ? (o = this.patternFrom) + : r === "u_dasharray_to" + ? (o = this.dashTo) + : r === "u_dasharray_from" + ? (o = this.dashFrom) + : r === "u_pixel_ratio_to" + ? (o = this.pixelRatioTo) + : r === "u_pixel_ratio_from" && (o = this.pixelRatioFrom), + o !== null && e.set(o)); + } + getBinding(e, t, n) { + return n.startsWith("u_pattern") || n.startsWith("u_dasharray_") + ? new YL(e, t) + : new Un(e, t); + } + }, + Aw = class { + constructor(e, t, n, r) { + ((this.expression = e), + (this.type = n), + (this.maxValue = 0), + (this.paintVertexAttributes = t.map((o) => ({ + name: `a_${o}`, + type: "Float32", + components: n === "color" ? 2 : 1, + offset: 0, + }))), + (this.paintVertexArray = new r())); + } + populatePaintArray(e, t, n) { + let r = this.paintVertexArray.length, + o = this.expression.evaluate( + new oi(0, n), + t, + {}, + n.canonical, + [], + n.formattedSection, + ); + (this.paintVertexArray.resize(e), this._setPaintValue(r, e, o)); + } + updatePaintArray(e, t, n, r, o) { + let a = this.expression.evaluate(new oi(0, o), n, r); + this._setPaintValue(e, t, a); + } + _setPaintValue(e, t, n) { + if (this.type === "color") { + let r = UFe(n); + for (let o = e; o < t; o++) + this.paintVertexArray.emplace(o, r[0], r[1]); + } else { + for (let r = e; r < t; r++) this.paintVertexArray.emplace(r, n); + this.maxValue = Math.max(this.maxValue, Math.abs(n)); + } + } + upload(e) { + this.paintVertexArray?.arrayBuffer.byteLength && + (this.paintVertexBuffer?.buffer + ? this.paintVertexBuffer.updateData(this.paintVertexArray) + : (this.paintVertexBuffer = e.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent, + ))); + } + destroy() { + this.paintVertexBuffer && this.paintVertexBuffer.destroy(); + } + }, + pv = class { + constructor(e, t, n, r, o, a) { + ((this.expression = e), + (this.uniformNames = t.map((i) => `u_${i}_t`)), + (this.type = n), + (this.useIntegerZoom = r), + (this.zoom = o), + (this.maxValue = 0), + (this.paintVertexAttributes = t.map((i) => ({ + name: `a_${i}`, + type: "Float32", + components: n === "color" ? 4 : 2, + offset: 0, + }))), + (this.paintVertexArray = new a())); + } + populatePaintArray(e, t, n) { + let r = this.expression.evaluate( + new oi(this.zoom, n), + t, + {}, + n.canonical, + [], + n.formattedSection, + ), + o = this.expression.evaluate( + new oi(this.zoom + 1, n), + t, + {}, + n.canonical, + [], + n.formattedSection, + ), + a = this.paintVertexArray.length; + (this.paintVertexArray.resize(e), this._setPaintValue(a, e, r, o)); + } + updatePaintArray(e, t, n, r, o) { + let a = this.expression.evaluate(new oi(this.zoom, o), n, r), + i = this.expression.evaluate(new oi(this.zoom + 1, o), n, r); + this._setPaintValue(e, t, a, i); + } + _setPaintValue(e, t, n, r) { + if (this.type === "color") { + let o = UFe(n), + a = UFe(r); + for (let i = e; i < t; i++) + this.paintVertexArray.emplace(i, o[0], o[1], a[0], a[1]); + } else { + for (let o = e; o < t; o++) this.paintVertexArray.emplace(o, n, r); + this.maxValue = Math.max(this.maxValue, Math.abs(n), Math.abs(r)); + } + } + upload(e) { + this.paintVertexArray?.arrayBuffer.byteLength && + (this.paintVertexBuffer?.buffer + ? this.paintVertexBuffer.updateData(this.paintVertexArray) + : (this.paintVertexBuffer = e.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent, + ))); + } + destroy() { + this.paintVertexBuffer && this.paintVertexBuffer.destroy(); + } + setUniform(e, t) { + let n = this.useIntegerZoom ? Math.floor(t.zoom) : t.zoom, + r = qr( + this.expression.interpolationFactor(n, this.zoom, this.zoom + 1), + 0, + 1, + ); + e.set(r); + } + getBinding(e, t, n) { + return new Un(e, t); + } + }, + _C = class { + constructor(e, t, n, r, o, a) { + ((this.expression = e), + (this.type = t), + (this.useIntegerZoom = n), + (this.zoom = r), + (this.layerId = a), + (this.zoomInPaintVertexArray = new o()), + (this.zoomOutPaintVertexArray = new o())); + } + populatePaintArray(e, t, n) { + let r = this.zoomInPaintVertexArray.length; + (this.zoomInPaintVertexArray.resize(e), + this.zoomOutPaintVertexArray.resize(e), + this._setPaintValues(r, e, this.getPositionIds(t), n)); + } + updatePaintArray(e, t, n, r, o) { + this._setPaintValues(e, t, this.getPositionIds(n), o); + } + _setPaintValues(e, t, n, r) { + let o = this.getPositions(r); + if (!o || !n) return; + let a = o[n.min], + i = o[n.mid], + s = o[n.max]; + if (a && i && s) + for (let l = e; l < t; l++) + (this.emplace(this.zoomInPaintVertexArray, l, a, i), + this.emplace(this.zoomOutPaintVertexArray, l, s, i)); + } + upload(e) { + if ( + this.zoomInPaintVertexArray?.arrayBuffer.byteLength && + this.zoomOutPaintVertexArray?.arrayBuffer.byteLength + ) { + let t = this.getVertexAttributes(); + ((this.zoomInPaintVertexBuffer = e.createVertexBuffer( + this.zoomInPaintVertexArray, + t, + this.expression.isStateDependent, + )), + (this.zoomOutPaintVertexBuffer = e.createVertexBuffer( + this.zoomOutPaintVertexArray, + t, + this.expression.isStateDependent, + ))); + } + } + destroy() { + (this.zoomOutPaintVertexBuffer && this.zoomOutPaintVertexBuffer.destroy(), + this.zoomInPaintVertexBuffer && this.zoomInPaintVertexBuffer.destroy()); + } + }, + Xsn, + Wsn, + Ysn = class { + constructor(e, t, n) { + ((this.binders = {}), (this._buffers = [])); + let r = []; + for (let o in e.paint._values) { + if (!n(o)) continue; + let a = e.paint.get(o); + if (!(a instanceof Py) || !UL(a.property.specification)) continue; + let i = qAr(o, e.type), + s = a.value, + l = a.property.specification.type, + c = a.property.useIntegerZoom, + u = a.property.specification["property-type"], + d = u === "cross-faded" || u === "cross-faded-data-driven"; + if (s.kind === "constant") + ((this.binders[o] = d ? new OT(s.value, i) : new BZ(s.value, i, l)), + r.push(`/u_${o}`)); + else if (s.kind === "source" || d) { + let p = $on(o, l, "source"); + ((this.binders[o] = d + ? o === "line-dasharray" + ? new Wsn(s, l, c, t, p, e.id) + : new Xsn(s, l, c, t, p, e.id) + : new Aw(s, i, l, p)), + r.push(`/a_${o}`)); + } else { + let p = $on(o, l, "composite"); + ((this.binders[o] = new pv(s, i, l, c, t, p)), r.push(`/z_${o}`)); + } + } + this.cacheKey = r.sort().join(""); + } + getMaxValue(e) { + let t = this.binders[e]; + return t instanceof Aw || t instanceof pv ? t.maxValue : 0; + } + populatePaintArrays(e, t, n) { + for (let r in this.binders) { + let o = this.binders[r]; + (o instanceof Aw || o instanceof pv || o instanceof _C) && + o.populatePaintArray(e, t, n); + } + } + setConstantPatternPositions(e, t) { + for (let n in this.binders) { + let r = this.binders[n]; + r instanceof OT && r.setConstantPatternPositions(e, t); + } + } + setConstantDashPositions(e, t) { + for (let n in this.binders) { + let r = this.binders[n]; + r instanceof OT && r.setConstantDashPositions(e, t); + } + } + updatePaintArrays(e, t, n, r, o) { + let a = !1; + for (let i of e) { + let s = t.getPositions(i.id); + for (let l of s) { + let c = n.feature(l.index); + for (let u in this.binders) { + let d = this.binders[u]; + (d instanceof Aw || d instanceof pv || d instanceof _C) && + d.expression.isStateDependent === !0 && + ((d.expression = r.paint.get(u).value), + d.updatePaintArray(l.start, l.end, c, i.state, o), + (a = !0)); + } + } + } + return a; + } + defines() { + let e = []; + for (let t in this.binders) { + let n = this.binders[t]; + (n instanceof BZ || n instanceof OT) && + e.push(...n.uniformNames.map((r) => `#define HAS_UNIFORM_${r}`)); + } + return e; + } + getBinderAttributes() { + let e = []; + for (let t in this.binders) { + let n = this.binders[t]; + if (n instanceof Aw || n instanceof pv) + for (let r of n.paintVertexAttributes) e.push(r.name); + else if (n instanceof _C) { + let r = n.getVertexAttributes(); + for (let o of r) e.push(o.name); + } + } + return e; + } + getBinderUniforms() { + let e = []; + for (let t in this.binders) { + let n = this.binders[t]; + if (n instanceof BZ || n instanceof OT || n instanceof pv) + for (let r of n.uniformNames) e.push(r); + } + return e; + } + getPaintVertexBuffers() { + return this._buffers; + } + getUniforms(e, t) { + let n = []; + for (let r in this.binders) { + let o = this.binders[r]; + if (o instanceof BZ || o instanceof OT || o instanceof pv) { + for (let a of o.uniformNames) + if (t[a]) { + let i = o.getBinding(e, t[a], a); + n.push({ name: a, property: r, binding: i }); + } + } + } + return n; + } + setUniforms(e, t, n, r) { + for (let { name: o, property: a, binding: i } of t) + this.binders[a].setUniform(i, r, n.get(a), o); + } + updatePaintBuffers(e) { + this._buffers = []; + for (let t in this.binders) { + let n = this.binders[t]; + if (e && n instanceof _C) { + let r = + e.fromScale === 2 + ? n.zoomInPaintVertexBuffer + : n.zoomOutPaintVertexBuffer; + r && this._buffers.push(r); + } else + (n instanceof Aw || n instanceof pv) && + n.paintVertexBuffer && + this._buffers.push(n.paintVertexBuffer); + } + } + upload(e) { + for (let t in this.binders) { + let n = this.binders[t]; + (n instanceof Aw || n instanceof pv || n instanceof _C) && n.upload(e); + } + this.updatePaintBuffers(); + } + destroy() { + for (let e in this.binders) { + let t = this.binders[e]; + (t instanceof Aw || t instanceof pv || t instanceof _C) && t.destroy(); + } + } + }, + qT = class { + constructor(e, t, n = () => !0) { + this.programConfigurations = {}; + for (let r of e) this.programConfigurations[r.id] = new Ysn(r, t, n); + ((this.needsUpload = !1), + (this._featureMap = new Qsn()), + (this._bufferOffset = 0)); + } + populatePaintArrays(e, t, n, r) { + for (let o in this.programConfigurations) + this.programConfigurations[o].populatePaintArrays(e, t, r); + (t.id !== void 0 && this._featureMap.add(t.id, n, this._bufferOffset, e), + (this._bufferOffset = e), + (this.needsUpload = !0)); + } + updatePaintArrays(e, t, n, r) { + for (let o of n) + this.needsUpload = + this.programConfigurations[o.id].updatePaintArrays( + e, + this._featureMap, + t, + o, + r, + ) || this.needsUpload; + } + get(e) { + return this.programConfigurations[e]; + } + upload(e) { + if (this.needsUpload) { + for (let t in this.programConfigurations) + this.programConfigurations[t].upload(e); + this.needsUpload = !1; + } + } + destroy() { + for (let e in this.programConfigurations) + this.programConfigurations[e].destroy(); + } + }, + NFe = 16383, + ean, + tan = -32768, + WUe = class { + constructor(e) { + ((this.zoom = e.zoom), + (this.overscaling = e.overscaling), + (this.layers = e.layers), + (this.layerIds = this.layers.map((t) => t.id)), + (this.index = e.index), + (this.hasDependencies = !1), + (this.layoutVertexArray = new RAr()), + (this.indexArray = new xv()), + (this.segments = new Vs()), + (this.programConfigurations = new qT(e.layers, e.zoom)), + (this.stateDependentLayerIds = this.layers + .filter((t) => t.isStateDependent()) + .map((t) => t.id))); + } + populate(e, t, n) { + let r = this.layers[0], + o = [], + a = null, + i = !1, + s = r.type === "heatmap"; + if (r.type === "circle") { + let d = r; + ((a = d.layout.get("circle-sort-key")), + (i = !a.isConstant()), + (s ||= d.paint.get("circle-pitch-alignment") === "map")); + } + let l = s ? t.subdivisionGranularity.circle : 1, + c = new oi(this.zoom), + u = this.layers[0]._featureFilter.needGeometry; + for (let { feature: d, id: p, index: f, sourceLayerIndex: m } of e) { + let g = jC(d, u); + if (!this.layers[0]._featureFilter.filter(c, g, n)) continue; + let v = i ? a.evaluate(g, {}, n) : void 0, + y = { + id: p, + properties: d.properties, + type: d.type, + sourceLayerIndex: m, + index: f, + geometry: u ? g.geometry : jT(d), + patterns: {}, + sortKey: v, + }; + o.push(y); + } + i && o.sort((d, p) => d.sortKey - p.sortKey); + for (let d of o) { + let { geometry: p, index: f, sourceLayerIndex: m } = d, + g = e[f].feature; + (this.addFeature(d, p, f, n, l), + t.featureIndex.insert(g, p, f, m, this.index)); + } + } + update(e, t, n) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + e, + t, + this.stateDependentLayers, + { imagePositions: n }, + ); + } + addFeatures(e) {} + isEmpty() { + return this.layoutVertexArray.length === 0; + } + uploadPending() { + return !this.uploaded || this.programConfigurations.needsUpload; + } + upload(e) { + (this.uploaded || + ((this.layoutVertexBuffer = e.createVertexBuffer( + this.layoutVertexArray, + NAr, + )), + (this.indexBuffer = e.createIndexBuffer(this.indexArray))), + this.programConfigurations.upload(e), + (this.uploaded = !0)); + } + destroy() { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + } + addFeature(e, t, n, r, o = 1) { + let a; + switch (o) { + case 1: + a = [0, 7]; + break; + case 3: + a = [0, 2, 5, 7]; + break; + case 5: + a = [0, 1, 3, 4, 6, 7]; + break; + case 7: + a = [0, 1, 2, 3, 4, 5, 6, 7]; + break; + default: + throw Error( + `Invalid circle bucket granularity: ${o}; valid values are 1, 3, 5, 7.`, + ); + } + let i = a.length; + for (let s of t) + for (let l of s) { + let { x: c, y: u } = l; + if (c < 0 || c >= 8192 || u < 0 || u >= 8192) continue; + let d = this.segments.prepareSegment( + i * i, + this.layoutVertexArray, + this.indexArray, + e.sortKey, + ), + p = d.vertexLength; + for (let f = 0; f < i; f++) + for (let m = 0; m < i; m++) + QAr(this.layoutVertexArray, c, u, a[m], a[f]); + for (let f = 0; f < i - 1; f++) + for (let m = 0; m < i - 1; m++) { + let g = p + f * i + m, + v = p + (f + 1) * i + m; + (this.indexArray.emplaceBack(g, v + 1, g + 1), + this.indexArray.emplaceBack(g, v, v + 1)); + } + ((d.vertexLength += i * i), + (d.primitiveLength += (i - 1) * (i - 1) * 2)); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + e, + n, + { imagePositions: {}, canonical: r }, + ); + } + }, + a3r, + i3r = () => + (a3r ||= new np({ + "circle-sort-key": new dr( + bt.layout_circle["circle-sort-key"], + "circle-sort-key", + ), + })), + s3r, + l3r = () => + (s3r ||= new np({ + "circle-radius": new dr( + bt.paint_circle["circle-radius"], + "circle-radius", + ), + "circle-color": new dr(bt.paint_circle["circle-color"], "circle-color"), + "circle-blur": new dr(bt.paint_circle["circle-blur"], "circle-blur"), + "circle-opacity": new dr( + bt.paint_circle["circle-opacity"], + "circle-opacity", + ), + "circle-translate": new Mn( + bt.paint_circle["circle-translate"], + "circle-translate", + ), + "circle-translate-anchor": new Mn( + bt.paint_circle["circle-translate-anchor"], + "circle-translate-anchor", + ), + "circle-pitch-scale": new Mn( + bt.paint_circle["circle-pitch-scale"], + "circle-pitch-scale", + ), + "circle-pitch-alignment": new Mn( + bt.paint_circle["circle-pitch-alignment"], + "circle-pitch-alignment", + ), + "circle-stroke-width": new dr( + bt.paint_circle["circle-stroke-width"], + "circle-stroke-width", + ), + "circle-stroke-color": new dr( + bt.paint_circle["circle-stroke-color"], + "circle-stroke-color", + ), + "circle-stroke-opacity": new dr( + bt.paint_circle["circle-stroke-opacity"], + "circle-stroke-opacity", + ), + })), + c3r, + $sn = (e) => e.type === "circle", + u3r, + eln, + d3r, + p3r = () => + (d3r ||= new np({ + "heatmap-radius": new dr( + bt.paint_heatmap["heatmap-radius"], + "heatmap-radius", + ), + "heatmap-weight": new dr( + bt.paint_heatmap["heatmap-weight"], + "heatmap-weight", + ), + "heatmap-intensity": new Mn( + bt.paint_heatmap["heatmap-intensity"], + "heatmap-intensity", + ), + "heatmap-color": new Vfe( + bt.paint_heatmap["heatmap-color"], + "heatmap-color", + ), + "heatmap-opacity": new Mn( + bt.paint_heatmap["heatmap-opacity"], + "heatmap-opacity", + ), + })), + f3r, + Xfe = class e { + constructor(t, n) { + jUe(this, t, 1, n); + } + resize(t) { + tln(this, t, 1); + } + clone() { + return new e( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + } + static copy(t, n, r, o, a) { + $Ue(t, n, r, o, a, 1); + } + }, + ss = class e { + constructor(t, n) { + jUe(this, t, 4, n); + } + resize(t) { + tln(this, t, 4); + } + replace(t, n) { + n + ? this.data.set(t) + : (this.data = + t instanceof Uint8ClampedArray ? new Uint8Array(t.buffer) : t); + } + clone() { + return new e( + { width: this.width, height: this.height }, + new Uint8Array(this.data), + ); + } + static copy(t, n, r, o, a) { + $Ue(t, n, r, o, a, 4); + } + setPixel(t, n, r) { + let o = (t * this.width + n) * 4; + ((this.data[o + 0] = Math.round((r.r * 255) / r.a)), + (this.data[o + 1] = Math.round((r.g * 255) / r.a)), + (this.data[o + 2] = Math.round((r.b * 255) / r.a)), + (this.data[o + 3] = Math.round(r.a * 255))); + } + }, + CQ = "big-fb", + nln = (e) => e.type === "heatmap", + m3r, + h3r, + g3r = () => + (h3r ||= new np({ + "hillshade-illumination-direction": new Mn( + bt.paint_hillshade["hillshade-illumination-direction"], + "hillshade-illumination-direction", + ), + "hillshade-illumination-altitude": new Mn( + bt.paint_hillshade["hillshade-illumination-altitude"], + "hillshade-illumination-altitude", + ), + "hillshade-illumination-anchor": new Mn( + bt.paint_hillshade["hillshade-illumination-anchor"], + "hillshade-illumination-anchor", + ), + "hillshade-exaggeration": new Mn( + bt.paint_hillshade["hillshade-exaggeration"], + "hillshade-exaggeration", + ), + "hillshade-shadow-color": new Mn( + bt.paint_hillshade["hillshade-shadow-color"], + "hillshade-shadow-color", + ), + "hillshade-highlight-color": new Mn( + bt.paint_hillshade["hillshade-highlight-color"], + "hillshade-highlight-color", + ), + "hillshade-accent-color": new Mn( + bt.paint_hillshade["hillshade-accent-color"], + "hillshade-accent-color", + ), + "hillshade-method": new Mn( + bt.paint_hillshade["hillshade-method"], + "hillshade-method", + ), + resampling: new Mn(bt.paint_hillshade.resampling, "resampling"), + })), + y3r, + rln = (e) => e.type === "hillshade", + v3r, + b3r, + x3r = () => + (b3r ||= new np({ + "color-relief-opacity": new Mn( + bt["paint_color-relief"]["color-relief-opacity"], + "color-relief-opacity", + ), + "color-relief-color": new Vfe( + bt["paint_color-relief"]["color-relief-color"], + "color-relief-color", + ), + resampling: new Mn(bt["paint_color-relief"].resampling, "resampling"), + })), + A3r, + cd = class { + constructor(e, t, n, r) { + ((this.context = e), + (this.format = n), + (this.texture = e.gl.createTexture()), + (this._ownedHandle = this.texture), + this.update(t, r)); + } + update(e, t, n) { + let { width: r, height: o } = e, + a = (this.size?.[0] !== r || this.size[1] !== o) && !n, + { context: i } = this, + { gl: s } = i; + ((this.useMipmap = !!t?.useMipmap), + a && + this.size && + this.format === s.RGBA && + (s.deleteTexture(this.texture), + (this.texture = s.createTexture()), + (this._ownedHandle = this.texture), + (this.magFilter = void 0), + (this.minFilter = void 0), + (this.wrap = void 0)), + s.bindTexture(s.TEXTURE_2D, this.texture), + i.pixelStoreUnpackFlipY.set(!1), + i.pixelStoreUnpack.set(1)); + let l = this.format === s.RGBA && t?.premultiply !== !1; + if (a) + if (((this.size = [r, o]), this.format === s.RGBA && r > 0 && o > 0)) { + let c = this.useMipmap + ? Math.floor(Math.log2(Math.max(r, o))) + 1 + : 1; + if ((s.texStorage2D(s.TEXTURE_2D, c, s.RGBA8, r, o), Ope(e))) { + i.pixelStoreUnpackPremultiplyAlpha.set(!1); + let { data: u } = e; + (l && u && (u = jOe(u)), + u && + s.texSubImage2D( + s.TEXTURE_2D, + 0, + 0, + 0, + r, + o, + s.RGBA, + s.UNSIGNED_BYTE, + u, + )); + } else + (i.pixelStoreUnpackPremultiplyAlpha.set(l), + s.texSubImage2D( + s.TEXTURE_2D, + 0, + 0, + 0, + s.RGBA, + s.UNSIGNED_BYTE, + e, + )); + } else + Ope(e) + ? (i.pixelStoreUnpackPremultiplyAlpha.set(!1), + this._uploadRawData(e, l, r, o, s)) + : (i.pixelStoreUnpackPremultiplyAlpha.set(l), + this._uploadDomImage(e, s)); + else { + let { x: c, y: u } = n || { x: 0, y: 0 }; + Ope(e) + ? (i.pixelStoreUnpackPremultiplyAlpha.set(!1), + this._updateRawData(e, l, c, u, r, o, s)) + : (i.pixelStoreUnpackPremultiplyAlpha.set(l), + this._updateDomImage(e, c, u, s)); + } + (this.useMipmap && + !(Ope(e) && e.data === null) && + s.generateMipmap(s.TEXTURE_2D), + i.pixelStoreUnpackFlipY.setDefault(), + i.pixelStoreUnpack.setDefault(), + i.pixelStoreUnpackPremultiplyAlpha.setDefault()); + } + _uploadDomImage(e, t) { + t.texImage2D( + t.TEXTURE_2D, + 0, + this.format, + this.format, + t.UNSIGNED_BYTE, + e, + ); + } + _uploadRawData(e, t, n, r, o) { + let { data: a } = e; + (t && a && (a = jOe(a)), + o.texImage2D( + o.TEXTURE_2D, + 0, + this.format, + n, + r, + 0, + this.format, + o.UNSIGNED_BYTE, + a, + )); + } + _updateDomImage(e, t, n, r) { + r.texSubImage2D(r.TEXTURE_2D, 0, t, n, r.RGBA, r.UNSIGNED_BYTE, e); + } + _updateRawData(e, t, n, r, o, a, i) { + let { data: s } = e; + (t && s && (s = jOe(s)), + i.texSubImage2D( + i.TEXTURE_2D, + 0, + n, + r, + o, + a, + i.RGBA, + i.UNSIGNED_BYTE, + s, + )); + } + bind(e, t, n) { + let { context: r } = this, + { gl: o } = r; + (this.texture !== this._ownedHandle && (this.texture = this._ownedHandle), + o.bindTexture(o.TEXTURE_2D, this.texture), + (n === o.LINEAR_MIPMAP_NEAREST || n === o.LINEAR_MIPMAP_LINEAR) && + !this.useMipmap && + (n = o.LINEAR)); + let a = n || e; + (e !== this.magFilter && + (o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MAG_FILTER, e), + (this.magFilter = e)), + a !== this.minFilter && + (o.texParameteri(o.TEXTURE_2D, o.TEXTURE_MIN_FILTER, a), + (this.minFilter = a)), + t !== this.wrap && + (o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_S, t), + o.texParameteri(o.TEXTURE_2D, o.TEXTURE_WRAP_T, t), + (this.wrap = t))); + } + generateMipmap() { + if (!this.useMipmap) return; + let { gl: e } = this.context; + (e.bindTexture(e.TEXTURE_2D, this.texture), + e.generateMipmap(e.TEXTURE_2D)); + } + destroy() { + let { gl: e } = this.context; + (e.deleteTexture(this.texture), + (this.texture = null), + (this._ownedHandle = null)); + } + }, + w3r, + aln = (e) => e.type === "color-relief", + S3r, + _Fe, + C3r, + nQ, + HFe = !1, + GFe = !1, + hc, + ife = 0, + qFe, + ZFe, + Ry, + RZ, + LT, + PZ, + MZ, + zx = class { + constructor(e, t) { + if (t > e) + throw Error( + "Min granularity must not be greater than base granularity.", + ); + ((this._baseZoomGranularity = e), (this._minGranularity = t)); + } + getGranularityForZoomLevel(e) { + let t = 1 << e; + return Math.max( + Math.floor(this._baseZoomGranularity / t), + this._minGranularity, + 1, + ); + } + }, + Wfe, + PL = -32768, + ML = 32767, + q3r = class { + constructor(e, t) { + ((this._vertexBuffer = []), + (this._vertexDictionary = new Map()), + (this._used = !1), + (this._granularity = e), + (this._granularityCellSize = Ut / e), + (this._canonical = t)); + } + _getKey(e, t) { + return ((e += 32768), (t += 32768), (e << 16) | (t << 0)); + } + _vertexToIndex(e, t) { + if (e < -32768 || t < -32768 || e > 32767 || t > 32767) + throw Error( + "Vertex coordinates are out of signed 16 bit integer range.", + ); + let n = Math.round(e) | 0, + r = Math.round(t) | 0, + o = this._getKey(n, r), + a = this._vertexDictionary.get(o); + if (a !== void 0) return a; + let i = this._vertexBuffer.length / 2; + return ( + this._vertexDictionary.set(o, i), + this._vertexBuffer.push(n, r), + i + ); + } + _subdivideTrianglesScanline(e, t) { + if (this._granularity < 2) return X3r(this._vertexBuffer, Q3r(e, t)); + let n = [], + r = e.length; + for (let o = 0; o < r; o += 3) { + let a = [t[e[o + 0]], t[e[o + 1]], t[e[o + 2]]], + i = [ + this._vertexBuffer[a[0] * 2 + 0], + this._vertexBuffer[a[0] * 2 + 1], + this._vertexBuffer[a[1] * 2 + 0], + this._vertexBuffer[a[1] * 2 + 1], + this._vertexBuffer[a[2] * 2 + 0], + this._vertexBuffer[a[2] * 2 + 1], + ], + s = 1 / 0, + l = 1 / 0, + c = -1 / 0, + u = -1 / 0; + for (let g = 0; g < 3; g++) { + let v = i[g * 2], + y = i[g * 2 + 1]; + ((s = Math.min(s, v)), + (c = Math.max(c, v)), + (l = Math.min(l, y)), + (u = Math.max(u, y))); + } + if (s === c || l === u) continue; + let d = Math.floor(s / this._granularityCellSize), + p = Math.ceil(c / this._granularityCellSize), + f = Math.floor(l / this._granularityCellSize), + m = Math.ceil(u / this._granularityCellSize); + if (d === p && f === m) { + n.push(...a); + continue; + } + for (let g = f; g < m; g++) { + let v = this._scanlineGenerateVertexRingForCellRow(g, i, a); + W3r(this._vertexBuffer, v, n); + } + } + return n; + } + _scanlineGenerateVertexRingForCellRow(e, t, n) { + let r = e * this._granularityCellSize, + o = r + this._granularityCellSize, + a = []; + for (let i = 0; i < 3; i++) { + let s = t[i * 2], + l = t[i * 2 + 1], + c = t[((i + 1) * 2) % 6], + u = t[((i + 1) * 2 + 1) % 6], + d = t[((i + 2) * 2) % 6], + p = t[((i + 2) * 2 + 1) % 6], + f = c - s, + m = u - l, + g = f === 0, + v = m === 0, + y = (r - l) / m, + x = (o - l) / m, + A = Math.min(y, x), + w = Math.max(y, x); + if ((!v && (A >= 1 || w <= 0)) || (v && (l < r || l > o))) { + u >= r && u <= o && a.push(n[(i + 1) % 3]); + continue; + } + if (!v && A > 0) { + let T = s + f * A, + I = l + m * A; + a.push(this._vertexToIndex(T, I)); + } + let C = s + f * Math.max(A, 0), + E = s + f * Math.min(w, 1); + if ( + (g || this._generateIntraEdgeVertices(a, s, l, c, u, C, E), + !v && w < 1) + ) { + let T = s + f * w, + I = l + m * w; + a.push(this._vertexToIndex(T, I)); + } + ((v || (u >= r && u <= o)) && a.push(n[(i + 1) % 3]), + !v && + (u <= r || u >= o) && + this._generateInterEdgeVertices(a, s, l, c, u, d, p, E, r, o)); + } + return a; + } + _generateIntraEdgeVertices(e, t, n, r, o, a, i) { + let s = r - t, + l = o - n, + c = l === 0, + u = c ? Math.min(t, r) : Math.min(a, i), + d = c ? Math.max(t, r) : Math.max(a, i), + p = Math.floor(u / this._granularityCellSize) + 1, + f = Math.ceil(d / this._granularityCellSize) - 1; + if (c ? t < r : a < i) + for (let m = p; m <= f; m++) { + let g = m * this._granularityCellSize, + v = n + (l * (g - t)) / s; + e.push(this._vertexToIndex(g, v)); + } + else + for (let m = f; m >= p; m--) { + let g = m * this._granularityCellSize, + v = n + (l * (g - t)) / s; + e.push(this._vertexToIndex(g, v)); + } + } + _generateInterEdgeVertices(e, t, n, r, o, a, i, s, l, c) { + let u = o - n, + d = a - r, + p = i - o, + f = (l - o) / p, + m = (c - o) / p, + g = Math.min(f, m), + v = Math.max(f, m), + y = r + d * g, + x = Math.floor(Math.min(y, s) / this._granularityCellSize) + 1, + A = Math.ceil(Math.max(y, s) / this._granularityCellSize) - 1, + w = s < y, + C = p === 0; + if (C && (i === l || i === c)) return; + if (C || g >= 1 || v <= 0) { + let T = t - a, + I = n - i, + k = (l - i) / I, + L = (c - i) / I, + O = a + T * Math.min(k, L); + ((x = Math.floor(Math.min(O, s) / this._granularityCellSize) + 1), + (A = Math.ceil(Math.max(O, s) / this._granularityCellSize) - 1), + (w = s < O)); + } + let E = u > 0 ? c : l; + if (w) + for (let T = x; T <= A; T++) { + let I = T * this._granularityCellSize; + e.push(this._vertexToIndex(I, E)); + } + else + for (let T = A; T >= x; T--) { + let I = T * this._granularityCellSize; + e.push(this._vertexToIndex(I, E)); + } + } + _generateOutline(e, t) { + let n = [], + r = 0; + for (let o of e) { + let a = + this._granularity < 2 + ? this._ringPathIndices(o, r, t) + : this._pointArrayToIndices(UT(o, this._granularity, !0)); + r += o.length; + let i = []; + for (let s = 1; s < a.length; s++) (i.push(a[s - 1]), i.push(a[s])); + n.push(i); + } + return n; + } + _ringPathIndices(e, t, n) { + let r = n.slice(t, t + e.length); + return (r.length >= 2 && dln(e) && r.push(r[0]), r); + } + _handlePoles(e) { + let t = !1, + n = !1; + (this._canonical && + (this._canonical.y === 0 && (t = !0), + this._canonical.y === (1 << this._canonical.z) - 1 && (n = !0)), + (t || n) && this._fillPoles(e, t, n)); + } + _ensureNoPoleVertices() { + let e = this._vertexBuffer; + for (let t = 0; t < e.length; t += 2) { + let n = e[t + 1]; + (n === -32768 && (e[t + 1] = -32767), + n === 32767 && (e[t + 1] = 32766)); + } + } + _generatePoleQuad(e, t, n, r, o, a) { + r > o == (a === -32768) + ? (e.push(n), + e.push(t), + e.push(this._vertexToIndex(r, a)), + e.push(this._vertexToIndex(o, a)), + e.push(n), + e.push(this._vertexToIndex(r, a))) + : (e.push(t), + e.push(n), + e.push(this._vertexToIndex(r, a)), + e.push(n), + e.push(this._vertexToIndex(o, a)), + e.push(this._vertexToIndex(r, a))); + } + _fillPoles(e, t, n) { + let r = this._vertexBuffer, + o = Ut, + a = e.length; + for (let i = 2; i < a; i += 3) { + let s = e[i - 2], + l = e[i - 1], + c = e[i], + u = r[s * 2], + d = r[s * 2 + 1], + p = r[l * 2], + f = r[l * 2 + 1], + m = r[c * 2], + g = r[c * 2 + 1]; + (t && + (d === 0 && f === 0 && this._generatePoleQuad(e, s, l, u, p, PL), + f === 0 && g === 0 && this._generatePoleQuad(e, l, c, p, m, PL), + g === 0 && d === 0 && this._generatePoleQuad(e, c, s, m, u, PL)), + n && + (d === o && f === o && this._generatePoleQuad(e, s, l, u, p, ML), + f === o && g === o && this._generatePoleQuad(e, l, c, p, m, ML), + g === o && d === o && this._generatePoleQuad(e, c, s, m, u, ML))); + } + } + _initializeVertices(e) { + let t = []; + for (let n = 0; n < e.length; n += 2) + t.push(this._vertexToIndex(e[n], e[n + 1])); + return t; + } + subdividePolygonInternal(e, t) { + if (this._used) throw Error("Subdivision: multiple use not allowed."); + this._used = !0; + let { flattened: n, holeIndices: r } = Z3r(e), + o = this._initializeVertices(n), + a; + try { + let s = E3r(n, r); + a = this._subdivideTrianglesScanline(s, o); + } catch (s) { + console.error(s); + } + let i = []; + return ( + t && (i = this._generateOutline(e, o)), + this._ensureNoPoleVertices(), + this._handlePoles(a), + this._granularity >= 2 && + this._canonical?.z === 0 && + ((a = this._removeTrianglesOutsideTileX(a)), + (i = i.map((s) => this._removeLinesOutsideTileX(s)))), + { + verticesFlattened: this._vertexBuffer, + indicesTriangles: a, + indicesLineList: i, + } + ); + } + _vertexOutsideTileX(e) { + let t = this._vertexBuffer[e * 2]; + return t < 0 || t > 8192; + } + _removeTrianglesOutsideTileX(e) { + let t = []; + for (let n = 0; n < e.length; n += 3) + this._vertexOutsideTileX(e[n]) || + this._vertexOutsideTileX(e[n + 1]) || + this._vertexOutsideTileX(e[n + 2]) || + t.push(e[n], e[n + 1], e[n + 2]); + return t; + } + _removeLinesOutsideTileX(e) { + let t = []; + for (let n = 0; n < e.length; n += 2) + this._vertexOutsideTileX(e[n]) || + this._vertexOutsideTileX(e[n + 1]) || + t.push(e[n], e[n + 1]); + return t; + } + _pointArrayToIndices(e) { + let t = []; + for (let n of e) t.push(this._vertexToIndex(n.x, n.y)); + return t; + } + }, + fln = class { + constructor(e) { + ((this.zoom = e.zoom), + (this.overscaling = e.overscaling), + (this.layers = e.layers), + (this.layerIds = this.layers.map((t) => t.id)), + (this.index = e.index), + (this.hasDependencies = !1), + (this.sdfPatterns = {}), + (this.patternFeatures = []), + (this.layoutVertexArray = new PAr()), + (this.indexArray = new xv()), + (this.indexArray2 = new BFe()), + (this.programConfigurations = new qT(e.layers, e.zoom)), + (this.segments = new Vs()), + (this.segments2 = new Vs()), + (this.stateDependentLayerIds = this.layers + .filter((t) => t.isStateDependent()) + .map((t) => t.id))); + } + populate(e, t, n) { + this.hasDependencies = afe("fill", this.layers, t); + let r = this.layers[0].layout.get("fill-sort-key"), + o = !r.isConstant(), + a = [], + i = new oi(this.zoom), + s = this.layers[0]._featureFilter.needGeometry; + for (let { feature: l, id: c, index: u, sourceLayerIndex: d } of e) { + let p = jC(l, s); + if (!this.layers[0]._featureFilter.filter(i, p, n)) continue; + let f = o ? r.evaluate(p, {}, n, t.availableImages) : void 0, + m = { + id: c, + properties: l.properties, + type: l.type, + sourceLayerIndex: d, + index: u, + geometry: s ? p.geometry : jT(l), + patterns: {}, + sortKey: f, + }; + a.push(m); + } + o && a.sort((l, c) => l.sortKey - c.sortKey); + for (let l of a) { + let { geometry: c, index: u, sourceLayerIndex: d } = l; + if (this.hasDependencies) { + let f = tNe("fill", this.layers, l, { zoom: this.zoom }, t); + this.patternFeatures.push(f); + } else this.addFeature(l, c, u, n, {}, t.subdivisionGranularity); + let p = e[u].feature; + t.featureIndex.insert(p, c, u, d, this.index); + } + } + update(e, t, n) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + e, + t, + this.stateDependentLayers, + { imagePositions: n }, + ); + } + addFeatures({ + options: e, + canonical: t, + patternPositions: n, + patternMap: r, + }) { + this.detectSdfPatterns(r); + for (let o of this.patternFeatures) + this.addFeature(o, o.geometry, o.index, t, n, e.subdivisionGranularity); + } + detectSdfPatterns(e) { + for (let t of this.patternFeatures) + for (let n in t.patterns) { + let r = t.patterns[n]; + (this.recordSdfPattern(n, e[r.min]), + this.recordSdfPattern(n, e[r.mid]), + this.recordSdfPattern(n, e[r.max])); + } + for (let t of this.layers) { + let n = t.paint.get("fill-pattern").constantOr(null); + n && + (this.recordSdfPattern(t.id, e[n.from.toString()]), + this.recordSdfPattern(t.id, e[n.to.toString()])); + } + } + recordSdfPattern(e, t) { + if (!t) return; + let n = t.sdf === !0, + r = this.sdfPatterns[e]; + r === void 0 + ? (this.sdfPatterns[e] = n) + : r !== n && + Ko( + `Style sheet warning: Cannot mix SDF and non-SDF fill patterns in layer "${e}"`, + ); + } + isEmpty() { + return this.layoutVertexArray.length === 0; + } + uploadPending() { + return !this.uploaded || this.programConfigurations.needsUpload; + } + upload(e) { + (this.uploaded || + ((this.layoutVertexBuffer = e.createVertexBuffer( + this.layoutVertexArray, + C3r, + )), + (this.indexBuffer = e.createIndexBuffer(this.indexArray)), + (this.indexBuffer2 = e.createIndexBuffer(this.indexArray2))), + this.programConfigurations.upload(e), + (this.uploaded = !0)); + } + destroy() { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.indexBuffer2.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.segments2.destroy()); + } + addFeature(e, t, n, r, o, a) { + for (let i of Dfe(t, 500)) { + let s = uln(i, r, a.fill.getGranularityForZoomLevel(r.z)), + l = this.layoutVertexArray; + pln( + (c, u) => { + l.emplaceBack(c, u); + }, + this.segments, + this.layoutVertexArray, + this.indexArray, + s.verticesFlattened, + s.indicesTriangles, + this.segments2, + this.indexArray2, + s.indicesLineList, + ); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + e, + n, + { imagePositions: o, canonical: r }, + ); + } + }, + J3r, + j3r = () => + (J3r ||= new np({ + "fill-sort-key": new dr(bt.layout_fill["fill-sort-key"], "fill-sort-key"), + })), + $3r, + ewr = () => + ($3r ||= new np({ + "fill-antialias": new Mn( + bt.paint_fill["fill-antialias"], + "fill-antialias", + ), + "fill-opacity": new dr(bt.paint_fill["fill-opacity"], "fill-opacity"), + "fill-layer-opacity": new Mn( + bt.paint_fill["fill-layer-opacity"], + "fill-layer-opacity", + ), + "fill-color": new dr(bt.paint_fill["fill-color"], "fill-color"), + "fill-outline-color": new dr( + bt.paint_fill["fill-outline-color"], + "fill-outline-color", + ), + "fill-translate": new Mn( + bt.paint_fill["fill-translate"], + "fill-translate", + ), + "fill-translate-anchor": new Mn( + bt.paint_fill["fill-translate-anchor"], + "fill-translate-anchor", + ), + "fill-pattern": new $Z(bt.paint_fill["fill-pattern"], "fill-pattern"), + })), + twr, + mln = (e) => e.type === "fill", + nwr, + WFe, + rwr, + owr, + By = class e { + constructor() { + ((this.minX = 1 / 0), + (this.maxX = -1 / 0), + (this.minY = 1 / 0), + (this.maxY = -1 / 0)); + } + extend(t) { + return ( + (this.minX = Math.min(this.minX, t.x)), + (this.minY = Math.min(this.minY, t.y)), + (this.maxX = Math.max(this.maxX, t.x)), + (this.maxY = Math.max(this.maxY, t.y)), + this + ); + } + expandBy(t) { + return ( + (this.minX -= t), + (this.minY -= t), + (this.maxX += t), + (this.maxY += t), + (this.minX > this.maxX || this.minY > this.maxY) && + ((this.minX = 1 / 0), + (this.maxX = -1 / 0), + (this.minY = 1 / 0), + (this.maxY = -1 / 0)), + this + ); + } + shrinkBy(t) { + return this.expandBy(-t); + } + map(t) { + let n = new e(); + return ( + n.extend(t(new ft(this.minX, this.minY))), + n.extend(t(new ft(this.maxX, this.minY))), + n.extend(t(new ft(this.minX, this.maxY))), + n.extend(t(new ft(this.maxX, this.maxY))), + n + ); + } + static fromPoints(t) { + let n = new e(); + for (let r of t) n.extend(r); + return n; + } + contains(t) { + return ( + t.x >= this.minX && + t.x <= this.maxX && + t.y >= this.minY && + t.y <= this.maxY + ); + } + empty() { + return this.minX > this.maxX; + } + width() { + return this.maxX - this.minX; + } + height() { + return this.maxY - this.minY; + } + covers(t) { + return ( + !this.empty() && + !t.empty() && + t.minX >= this.minX && + t.maxX <= this.maxX && + t.minY >= this.minY && + t.maxY <= this.maxY + ); + } + intersects(t) { + return ( + !this.empty() && + !t.empty() && + t.minX <= this.maxX && + t.maxX >= this.minX && + t.minY <= this.maxY && + t.maxY >= this.minY + ); + } + }, + hln, + EQ = class { + constructor(e, t, n, r, o) { + for ( + this.properties = Object.create(null), + this.extent = n, + this.type = 0, + this.id = void 0, + this._pbf = e, + this._geometry = -1, + this._keys = r, + this._values = o; + e.pos < t; + ) { + let a = e.readVarint(); + if (a === 8) this.id = e.readVarint(); + else if (a === 18) { + let i = e.readVarint() + e.pos; + for (; e.pos < i;) { + let s = r[e.readVarint()], + l = o[e.readVarint()]; + this.properties[s] = l; + } + } else + a === 24 + ? (this.type = e.readVarint()) + : (a === 34 && (this._geometry = e.pos), e.skip(a)); + } + } + loadGeometry() { + if (this._geometry < 0) throw Error("feature has no geometry"); + let e = this._pbf; + e.pos = this._geometry; + let t = e.readVarint() + e.pos, + n = [], + r, + o = 1, + a = 0, + i = 0, + s = 0; + for (; e.pos < t;) { + if (a <= 0) { + let l = e.readVarint(); + if (((o = l & 7), (a = l >> 3), a === 0)) continue; + } + if ((a--, o === 1)) + ((i += e.readSVarint()), + (s += e.readSVarint()), + r && n.push(r), + (r = [new ft(i, s)])); + else if (o === 2) + ((i += e.readSVarint()), + (s += e.readSVarint()), + r && r.push(new ft(i, s))); + else if (o === 7) r && r.push(r[0].clone()); + else throw Error(`unknown command ${o}`); + } + return (r && n.push(r), n); + } + bbox() { + if (this._geometry < 0) throw Error("feature has no geometry"); + let e = this._pbf; + e.pos = this._geometry; + let t = e.readVarint() + e.pos, + n = 1, + r = 0, + o = 0, + a = 0, + i = 1 / 0, + s = -1 / 0, + l = 1 / 0, + c = -1 / 0; + for (; e.pos < t;) { + if (r <= 0) { + let u = e.readVarint(); + if (((n = u & 7), (r = u >> 3), r === 0)) continue; + } + if ((r--, n === 1 || n === 2)) + ((o += e.readSVarint()), + (a += e.readSVarint()), + o < i && (i = o), + o > s && (s = o), + a < l && (l = a), + a > c && (c = a)); + else if (n !== 7) throw Error(`unknown command ${n}`); + } + return [i, l, s, c]; + } + toGeoJSON(e, t, n) { + let r = this.extent * 2 ** n, + o = this.extent * e, + a = this.extent * t, + i = this.loadGeometry(); + function s(d) { + return [ + ((d.x + o) * 360) / r - 180, + (360 / Math.PI) * + Math.atan(Math.exp((1 - ((d.y + a) * 2) / r) * Math.PI)) - + 90, + ]; + } + function l(d) { + return d.map(s); + } + let c; + if (this.type === 1) { + let d = []; + for (let f of i) d.push(f[0]); + let p = l(d); + c = + d.length === 1 + ? { type: "Point", coordinates: p[0] } + : { type: "MultiPoint", coordinates: p }; + } else if (this.type === 2) { + let d = i.map(l); + c = + d.length === 1 + ? { type: "LineString", coordinates: d[0] } + : { type: "MultiLineString", coordinates: d }; + } else if (this.type === 3) { + let d = gln(i), + p = []; + for (let f of d) p.push(f.map(l)); + c = + p.length === 1 + ? { type: "Polygon", coordinates: p[0] } + : { type: "MultiPolygon", coordinates: p }; + } else throw Error("unknown feature type"); + let u = { type: "Feature", geometry: c, properties: this.properties }; + return (this.id != null && (u.id = this.id), u); + } + }, + iwr = class { + constructor(e, t) { + for ( + this.version = 1, + this.name = "", + this.extent = 4096, + this.length = 0, + this._pbf = e, + this._keys = [], + this._values = [], + this._features = [], + t === void 0 && (t = e.length); + e.pos < t; + ) { + let n = e.readVarint(); + n === 10 + ? (this.name = e.readString()) + : n === 18 + ? (this._features.push(e.pos), e.skip(n)) + : n === 26 + ? this._keys.push(e.readString()) + : n === 34 + ? this._values.push(swr(e)) + : n === 40 + ? (this.extent = e.readVarint()) + : n === 120 + ? (this.version = e.readVarint()) + : e.skip(n); + } + this.length = this._features.length; + } + feature(e) { + if (e < 0 || e >= this._features.length) + throw Error("feature index out of bounds"); + this._pbf.pos = this._features[e]; + let t = this._pbf.readVarint() + this._pbf.pos; + return new EQ(this._pbf, t, this.extent, this._keys, this._values); + } + }, + lwr = class { + constructor(e, t = e.length) { + let n = Object.create(null); + for (; e.pos < t;) { + let r = e.readVarint(); + if (r === 26) { + let o = new iwr(e, e.readVarint() + e.pos); + o.length && (n[o.name] = o); + } else e.skip(r); + } + this.layers = n; + } + }, + Pm = 6371008.8, + pr = class e { + constructor(t, n) { + if (isNaN(t) || isNaN(n)) + throw Error(`Invalid LngLat object: (${t}, ${n})`); + if (((this.lng = +t), (this.lat = +n), this.lat > 90 || this.lat < -90)) + throw Error( + "Invalid LngLat latitude value: must be between -90 and 90", + ); + } + wrap() { + return new e(jg(this.lng, -180, 180), this.lat); + } + toArray() { + return [this.lng, this.lat]; + } + toString() { + return `LngLat(${this.lng}, ${this.lat})`; + } + distanceTo(t) { + let n = Math.PI / 180, + r = this.lat * n, + o = t.lat * n, + a = + Math.sin(r) * Math.sin(o) + + Math.cos(r) * Math.cos(o) * Math.cos((t.lng - this.lng) * n); + return Pm * Math.acos(Math.min(a, 1)); + } + static convert(t) { + if (t instanceof e) return t; + if (Array.isArray(t) && (t.length === 2 || t.length === 3)) + return new e(Number(t[0]), Number(t[1])); + if (!Array.isArray(t) && typeof t == "object" && t) + return new e(Number("lng" in t ? t.lng : t.lon), Number(t.lat)); + throw Error( + "`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]", + ); + } + }, + yln, + ai = class e { + constructor(t, n, r = 0) { + ((this.x = +t), (this.y = +n), (this.z = +r)); + } + static fromLngLat(t, n = 0) { + let r = pr.convert(t); + return new e($T(r.lng), e7(r.lat), $C(n, r.lat)); + } + toLngLat() { + return new pr(Yfe(this.x), VL(this.y)); + } + toAltitude() { + return nNe(this.z, this.y); + } + meterInMercatorCoordinateUnits() { + return (1 / yln) * cwr(VL(this.y)); + } + }, + e5 = 89.25, + $Oe = 8192, + xln = class { + constructor(e) { + ((this.zoom = e.zoom), + (this.overscaling = e.overscaling), + (this.layers = e.layers), + (this.layerIds = this.layers.map((t) => t.id)), + (this.index = e.index), + (this.hasDependencies = !1), + (this.layoutVertexArray = new MAr()), + (this.centroidVertexArray = new Lw()), + (this.indexArray = new xv()), + (this.programConfigurations = new qT(e.layers, e.zoom)), + (this.segments = new Vs()), + (this.stateDependentLayerIds = this.layers + .filter((t) => t.isStateDependent()) + .map((t) => t.id))); + } + populate(e, t, n) { + ((this.features = []), + (this.hasDependencies = afe("fill-extrusion", this.layers, t))); + let r = new oi(this.zoom), + o = this.layers[0], + a = o.layout.get("fill-extrusion-rounded-corner-distance"), + i = a > 0 ? pwr(a, n) : 0, + s = o._featureFilter.needGeometry; + for (let { feature: l, id: c, index: u, sourceLayerIndex: d } of e) { + let p = jC(l, s); + if (!o._featureFilter.filter(r, p, n)) continue; + let f = { + id: c, + sourceLayerIndex: d, + index: u, + geometry: dwr(s ? p.geometry : jT(l), i), + properties: l.properties, + type: l.type, + patterns: {}, + }; + (this.hasDependencies + ? this.features.push( + tNe("fill-extrusion", this.layers, f, { zoom: this.zoom }, t), + ) + : this.addFeature(f, f.geometry, u, n, {}, t.subdivisionGranularity), + t.featureIndex.insert(l, f.geometry, u, d, this.index, !0)); + } + } + addFeatures({ options: e, canonical: t, patternPositions: n }) { + for (let r of this.features) { + let { geometry: o } = r; + this.addFeature(r, o, r.index, t, n, e.subdivisionGranularity); + } + } + update(e, t, n) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + e, + t, + this.stateDependentLayers, + { imagePositions: n }, + ); + } + isEmpty() { + return ( + this.layoutVertexArray.length === 0 && + this.centroidVertexArray.length === 0 + ); + } + uploadPending() { + return !this.uploaded || this.programConfigurations.needsUpload; + } + upload(e) { + (this.uploaded || + ((this.layoutVertexBuffer = e.createVertexBuffer( + this.layoutVertexArray, + owr, + )), + (this.centroidVertexBuffer = e.createVertexBuffer( + this.centroidVertexArray, + rwr.members, + !0, + )), + (this.indexBuffer = e.createIndexBuffer(this.indexArray))), + this.programConfigurations.upload(e), + (this.uploaded = !0)); + } + destroy() { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.centroidVertexBuffer.destroy()); + } + addFeature(e, t, n, r, o, a) { + for (let i of Dfe(t, 500)) { + let s = { x: 0, y: 0, sampleCount: 0 }, + l = this.layoutVertexArray.length; + this.processPolygon(s, r, e, i, a); + let c = this.layoutVertexArray.length - l, + u = Math.floor(s.x / s.sampleCount), + d = Math.floor(s.y / s.sampleCount); + for (let p = 0; p < c; p++) this.centroidVertexArray.emplaceBack(u, d); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + e, + n, + { imagePositions: o, canonical: r }, + ); + } + processPolygon(e, t, n, r, o) { + if (r.length < 1 || ian(r[0])) return; + for (let u of r) u.length !== 0 && gwr(e, u); + let a = { + segment: this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + ), + }, + i = o.fill.getGranularityForZoomLevel(t.z), + s = EQ.types[n.type] === "Polygon"; + for (let u of r) { + if (u.length === 0 || ian(u)) continue; + let d = UT(u, i, s); + this._generateSideFaces(d, a); + } + if (!s) return; + let l = uln(r, t, i, !1), + c = this.layoutVertexArray; + pln( + (u, d) => { + DZ(c, u, d, 0, 0, 1, 1, 0); + }, + this.segments, + this.layoutVertexArray, + this.indexArray, + l.verticesFlattened, + l.indicesTriangles, + ); + } + _generateSideFaces(e, t) { + let n = 0; + for (let r = 1; r < e.length; r++) { + let o = e[r], + a = e[r - 1]; + if (YFe(o, a)) continue; + t.segment.vertexLength + 4 > Vs.MAX_VERTEX_ARRAY_LENGTH && + (t.segment = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + )); + let i = o.sub(a)._perp()._unit(), + s = a.dist(o); + (n + s > 32768 && (n = 0), + DZ(this.layoutVertexArray, o.x, o.y, i.x, i.y, 0, 0, n), + DZ(this.layoutVertexArray, o.x, o.y, i.x, i.y, 0, 1, n), + (n += s), + DZ(this.layoutVertexArray, a.x, a.y, i.x, i.y, 0, 0, n), + DZ(this.layoutVertexArray, a.x, a.y, i.x, i.y, 0, 1, n)); + let l = t.segment.vertexLength; + (this.indexArray.emplaceBack(l, l + 2, l + 1), + this.indexArray.emplaceBack(l + 1, l + 2, l + 3), + (t.segment.vertexLength += 4), + (t.segment.primitiveLength += 2)); + } + } + }, + ywr, + vwr = () => + (ywr ||= new np({ + "fill-extrusion-rounded-corner-distance": new Mn( + bt["layout_fill-extrusion"]["fill-extrusion-rounded-corner-distance"], + "fill-extrusion-rounded-corner-distance", + ), + })), + bwr, + xwr = () => + (bwr ||= new np({ + "fill-extrusion-opacity": new Mn( + bt["paint_fill-extrusion"]["fill-extrusion-opacity"], + "fill-extrusion-opacity", + ), + "fill-extrusion-color": new dr( + bt["paint_fill-extrusion"]["fill-extrusion-color"], + "fill-extrusion-color", + ), + "fill-extrusion-translate": new Mn( + bt["paint_fill-extrusion"]["fill-extrusion-translate"], + "fill-extrusion-translate", + ), + "fill-extrusion-translate-anchor": new Mn( + bt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"], + "fill-extrusion-translate-anchor", + ), + "fill-extrusion-pattern": new $Z( + bt["paint_fill-extrusion"]["fill-extrusion-pattern"], + "fill-extrusion-pattern", + ), + "fill-extrusion-height": new dr( + bt["paint_fill-extrusion"]["fill-extrusion-height"], + "fill-extrusion-height", + ), + "fill-extrusion-base": new dr( + bt["paint_fill-extrusion"]["fill-extrusion-base"], + "fill-extrusion-base", + ), + "fill-extrusion-vertical-gradient": new Mn( + bt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"], + "fill-extrusion-vertical-gradient", + ), + })), + Awr, + Aln = (e) => e.type === "fill-extrusion", + wwr, + Iwr = "geojsonvt_clip_start", + Twr = "geojsonvt_clip_end", + KFe, + kwr, + JFe, + Rwr, + Pwr, + wln = 0.5, + lan, + Sln = class { + constructor(e) { + ((this.zoom = e.zoom), + (this.overscaling = e.overscaling), + (this.layers = e.layers), + (this.layerIds = this.layers.map((t) => t.id)), + (this.index = e.index), + (this.hasDependencies = !1), + (this.patternFeatures = []), + (this.lineClipsArray = []), + (this.gradients = {})); + for (let t of this.layers) this.gradients[t.id] = {}; + ((this.layoutVertexArray = new DAr()), + (this.layoutVertexArray2 = new LAr()), + (this.indexArray = new xv()), + (this.programConfigurations = new qT(e.layers, e.zoom)), + (this.segments = new Vs()), + (this.maxLineLength = 0), + (this.stateDependentLayerIds = this.layers + .filter((t) => t.isStateDependent()) + .map((t) => t.id))); + } + populate(e, t, n) { + this.hasDependencies = + afe("line", this.layers, t) || this.hasLineDasharray(this.layers); + let r = this.layers[0].layout.get("line-sort-key"), + o = !r.isConstant(), + a = [], + i = new oi(this.zoom), + s = this.layers[0]._featureFilter.needGeometry; + for (let { feature: l, id: c, index: u, sourceLayerIndex: d } of e) { + let p = jC(l, s); + if (!this.layers[0]._featureFilter.filter(i, p, n)) continue; + let f = o ? r.evaluate(p, {}, n) : void 0, + m = { + id: c, + properties: l.properties, + type: l.type, + sourceLayerIndex: d, + index: u, + geometry: s ? p.geometry : jT(l), + patterns: {}, + dashes: {}, + sortKey: f, + }; + a.push(m); + } + o && a.sort((l, c) => l.sortKey - c.sortKey); + for (let l of a) { + let { geometry: c, index: u, sourceLayerIndex: d } = l; + this.hasDependencies + ? (afe("line", this.layers, t) + ? tNe("line", this.layers, l, { zoom: this.zoom }, t) + : this.hasLineDasharray(this.layers) && + this.addLineDashDependencies(this.layers, l, this.zoom, t), + this.patternFeatures.push(l)) + : this.addFeature(l, c, u, n, {}, {}, t.subdivisionGranularity); + let p = e[u].feature; + t.featureIndex.insert(p, c, u, d, this.index); + } + } + update(e, t, n, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + e, + t, + this.stateDependentLayers, + { imagePositions: n, dashPositions: r }, + ); + } + addFeatures({ + options: e, + canonical: t, + patternPositions: n, + dashPositions: r, + }) { + for (let o of this.patternFeatures) + this.addFeature( + o, + o.geometry, + o.index, + t, + n, + r, + e.subdivisionGranularity, + ); + } + isEmpty() { + return this.layoutVertexArray.length === 0; + } + uploadPending() { + return !this.uploaded || this.programConfigurations.needsUpload; + } + upload(e) { + (this.uploaded || + (this.layoutVertexArray2.length !== 0 && + (this.layoutVertexBuffer2 = e.createVertexBuffer( + this.layoutVertexArray2, + Rwr, + )), + (this.layoutVertexBuffer = e.createVertexBuffer( + this.layoutVertexArray, + kwr, + )), + (this.indexBuffer = e.createIndexBuffer(this.indexArray))), + this.programConfigurations.upload(e), + (this.uploaded = !0)); + } + destroy() { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + } + lineFeatureClips(e) { + if ( + e.properties && + Object.hasOwn(e.properties, "geojsonvt_clip_start") && + Object.hasOwn(e.properties, "geojsonvt_clip_end") + ) + return { start: +e.properties[Iwr], end: +e.properties[Twr] }; + } + addFeature(e, t, n, r, o, a, i) { + let s = this.layers[0].layout, + l = s.get("line-join").evaluate(e, {}), + c = s.get("line-cap").evaluate(e, {}), + u = s.get("line-miter-limit").evaluate(e, {}), + d = s.get("line-round-limit").evaluate(e, {}); + this.lineClips = this.lineFeatureClips(e); + for (let p of t) this.addLine(p, e, l, c, u, d, r, i); + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + e, + n, + { imagePositions: o, dashPositions: a, canonical: r }, + ); + } + addLine(e, t, n, r, o, a, i, s) { + ((this.distance = 0), + (this.scaledDistance = 0), + (this.totalDistance = 0)); + let l = i ? s.line.getGranularityForZoomLevel(i.z) : 1; + if (((e = UT(e, l)), this.lineClips)) { + this.lineClipsArray.push(this.lineClips); + for (let A = 0; A < e.length - 1; A++) + this.totalDistance += e[A].dist(e[A + 1]); + (this.updateScaledDistance(), + (this.maxLineLength = Math.max( + this.maxLineLength, + this.totalDistance, + ))); + } + let c = EQ.types[t.type] === "Polygon", + u = e.length; + for (; u >= 2 && e[u - 1].equals(e[u - 2]);) u--; + let d = 0; + for (; d < u - 1 && e[d].equals(e[d + 1]);) d++; + if (u - d < (c ? 3 : 2)) return; + n === "bevel" && (o = 1.05); + let p = this.overscaling <= 16 ? (15 * Ut) / (512 * this.overscaling) : 0, + f = this.segments.prepareSegment( + u * 10, + this.layoutVertexArray, + this.indexArray, + ), + m, + g, + v, + y, + x; + ((this.e1 = this.e2 = -1), + c && ((m = e[u - 2]), (x = e[d].sub(m)._unit()._perp()))); + for (let A = d; A < u; A++) { + if ( + ((v = A === u - 1 ? (c ? e[d + 1] : void 0) : e[A + 1]), + v && e[A].equals(v)) + ) + continue; + (x && (y = x), + m && (g = m), + (m = e[A]), + (x = v ? v.sub(m)._unit()._perp() : y), + (y ||= x)); + let w = y.add(x); + (w.x !== 0 || w.y !== 0) && w._unit(); + let C = y.x * x.x + y.y * x.y, + E = w.x * x.x + w.y * x.y, + T = E === 0 ? 1 / 0 : 1 / E, + I = 2 * Math.sqrt(2 - 2 * E), + k = E < Pwr && g && v, + L = y.x * x.y - y.y * x.x > 0; + if (k && A > d) { + let U = m.dist(g); + if (U > 2 * p) { + let D = m.sub( + m + .sub(g) + ._mult(p / U) + ._round(), + ); + (this.updateDistance(g, D), + this.addCurrentVertex(D, y, 0, 0, f), + (g = D)); + } + } + let O = g && v, + B = O ? n : c ? "butt" : r; + if ( + (O && + B === "round" && + (T < a ? (B = "miter") : T <= 2 && (B = "fakeround")), + B === "miter" && T > o && (B = "bevel"), + B === "bevel" && (T > 2 && (B = "flipbevel"), T < o && (B = "miter")), + g && this.updateDistance(g, m), + B === "miter") + ) + (w._mult(T), this.addCurrentVertex(m, w, 0, 0, f)); + else if (B === "flipbevel") { + if (T > 100) w = x.mult(-1); + else { + let U = (T * y.add(x).mag()) / y.sub(x).mag(); + w._perp()._mult(U * (L ? -1 : 1)); + } + (this.addCurrentVertex(m, w, 0, 0, f), + this.addCurrentVertex(m, w.mult(-1), 0, 0, f)); + } else if (B === "bevel" || B === "fakeround") { + let U = -Math.sqrt(T * T - 1), + D = L ? U : 0, + N = L ? 0 : U; + if ((g && this.addCurrentVertex(m, y, D, N, f), B === "fakeround")) { + let _ = Math.round((I * 180) / Math.PI / 20); + for (let G = 1; G < _; G++) { + let Z = G / _; + if (Z !== 0.5) { + let H = Z - 0.5, + te = 1.0904 + C * (-3.2452 + C * (3.55645 - C * 1.43519)), + ie = 0.848013 + C * (-1.06021 + C * 0.215638); + Z += Z * H * (Z - 1) * (te * H * H + ie); + } + let q = x + .sub(y) + ._mult(Z) + ._add(y) + ._unit() + ._mult(L ? -1 : 1); + this.addHalfVertex(m, q.x, q.y, !1, L, 0, f); + } + } + v && this.addCurrentVertex(m, x, -D, -N, f); + } else if (B === "butt") this.addCurrentVertex(m, w, 0, 0, f); + else if (B === "square") { + let U = g ? 1 : -1; + this.addCurrentVertex(m, w, U, U, f); + } else + B === "round" && + (g && + (this.addCurrentVertex(m, y, 0, 0, f), + this.addCurrentVertex(m, y, 1, 1, f, !0)), + v && + (this.addCurrentVertex(m, x, -1, -1, f, !0), + this.addCurrentVertex(m, x, 0, 0, f))); + if (k && A < u - 1) { + let U = m.dist(v); + if (U > 2 * p) { + let D = m.add( + v + .sub(m) + ._mult(p / U) + ._round(), + ); + (this.updateDistance(m, D), + this.addCurrentVertex(D, x, 0, 0, f), + (m = D)); + } + } + } + } + addCurrentVertex(e, t, n, r, o, a = !1) { + let i = t.x + t.y * n, + s = t.y - t.x * n, + l = -t.x + t.y * r, + c = -t.y - t.x * r; + (this.addHalfVertex(e, i, s, a, !1, n, o), + this.addHalfVertex(e, l, c, a, !0, -r, o), + this.distance > lan / 2 && + this.totalDistance === 0 && + ((this.distance = 0), + this.updateScaledDistance(), + this.addCurrentVertex(e, t, n, r, o, a))); + } + addHalfVertex({ x: e, y: t }, n, r, o, a, i, s) { + let l = + (this.lineClips + ? this.scaledDistance * (lan - 1) + : this.scaledDistance) * wln; + if ( + (this.layoutVertexArray.emplaceBack( + (e << 1) + +!!o, + (t << 1) + +!!a, + Math.round(63 * n) + 128, + Math.round(63 * r) + 128, + ((i === 0 ? 0 : i < 0 ? -1 : 1) + 1) | ((l & 63) << 2), + l >> 6, + ), + this.lineClips) + ) { + let u = + (this.scaledDistance - this.lineClips.start) / + (this.lineClips.end - this.lineClips.start); + this.layoutVertexArray2.emplaceBack(u, this.lineClipsArray.length); + } + let c = s.vertexLength++; + (this.e1 >= 0 && + this.e2 >= 0 && + (this.indexArray.emplaceBack(this.e1, c, this.e2), s.primitiveLength++), + a ? (this.e2 = c) : (this.e1 = c)); + } + updateScaledDistance() { + this.scaledDistance = this.lineClips + ? this.lineClips.start + + ((this.lineClips.end - this.lineClips.start) * this.distance) / + this.totalDistance + : this.distance; + } + updateDistance(e, t) { + ((this.distance += e.dist(t)), this.updateScaledDistance()); + } + hasLineDasharray(e) { + for (let t of e) { + let n = t.paint.get("line-dasharray"); + if (n && !n.isConstant()) return !0; + } + return !1; + } + addLineDashDependencies(e, t, n, r) { + for (let o of e) { + let a = o.paint.get("line-dasharray"); + if (!a || a.value.kind === "constant") continue; + let i = o.layout.get("line-cap").evaluate(t, {}) === "round", + s = { dasharray: a.value.evaluate({ zoom: n - 1 }, t, {}), round: i }, + l = { dasharray: a.value.evaluate({ zoom: n }, t, {}), round: i }, + c = { dasharray: a.value.evaluate({ zoom: n + 1 }, t, {}), round: i }, + u = `${s.dasharray.join(",")},${s.round}`, + d = `${l.dasharray.join(",")},${l.round}`, + p = `${c.dasharray.join(",")},${c.round}`; + ((r.dashDependencies[u] = s), + (r.dashDependencies[d] = l), + (r.dashDependencies[p] = c), + (t.dashes[o.id] = { min: u, mid: d, max: p })); + } + } + }, + Mwr, + Dwr = () => + (Mwr ||= new np({ + "line-cap": new dr(bt.layout_line["line-cap"], "line-cap"), + "line-join": new dr(bt.layout_line["line-join"], "line-join"), + "line-miter-limit": new dr( + bt.layout_line["line-miter-limit"], + "line-miter-limit", + ), + "line-round-limit": new dr( + bt.layout_line["line-round-limit"], + "line-round-limit", + ), + "line-sort-key": new dr(bt.layout_line["line-sort-key"], "line-sort-key"), + })), + Lwr, + Bwr = () => + (Lwr ||= new np({ + "line-opacity": new dr(bt.paint_line["line-opacity"], "line-opacity"), + "line-layer-opacity": new Mn( + bt.paint_line["line-layer-opacity"], + "line-layer-opacity", + ), + "line-color": new dr(bt.paint_line["line-color"], "line-color"), + "line-translate": new Mn( + bt.paint_line["line-translate"], + "line-translate", + ), + "line-translate-anchor": new Mn( + bt.paint_line["line-translate-anchor"], + "line-translate-anchor", + ), + "line-width": new dr(bt.paint_line["line-width"], "line-width"), + "line-gap-width": new dr( + bt.paint_line["line-gap-width"], + "line-gap-width", + ), + "line-offset": new dr(bt.paint_line["line-offset"], "line-offset"), + "line-blur": new dr(bt.paint_line["line-blur"], "line-blur"), + "line-dasharray": new $Z( + bt.paint_line["line-dasharray"], + "line-dasharray", + ), + "line-pattern": new $Z(bt.paint_line["line-pattern"], "line-pattern"), + "line-gradient": new Vfe(bt.paint_line["line-gradient"], "line-gradient"), + })), + can, + Owr, + Npe, + Cln = (e) => e.type === "line", + Fwr, + Uwr, + Nwr, + zwr, + dan, + Eln, + lfe, + Qwr, + Xwr, + Wwr, + fan = 1604, + Ywr, + Tln, + kln, + gan, + yan, + IL, + hSr, + gSr, + iNe = class e { + constructor(t = "", n = [], r = []) { + ((this.text = t), + (this.sections = n), + (this.sectionIndex = r), + (this.imageSectionID = null), + (this._graphemes = null)); + } + graphemes() { + return ((this._graphemes ??= jFe(this.text)), this._graphemes); + } + static fromFeature(t, n) { + let r = new e(); + for (let o of t.sections) + o.image ? r.addImageSection(o) : r.addTextSection(o, n); + return r; + } + length() { + return this.graphemes().length; + } + getSection(t) { + return this.sections[this.sectionIndex[t]]; + } + getSectionIndex(t) { + return this.sectionIndex[t]; + } + verticalizePunctuation() { + ((this.text = mSr(this.text)), (this._graphemes = null)); + } + hasZeroWidthSpaces() { + return this.text.includes("​"); + } + trim() { + let t = this.graphemes(), + n = 0; + for (; n < t.length && Aan(t[n]);) n++; + let r = t.length; + for (; r > n && Aan(t[r - 1]);) r--; + ((this.text = t.slice(n, r).join("")), + (this.sectionIndex = this.sectionIndex.slice(n, r)), + (this._graphemes = null)); + } + substring(t, n) { + let r = this.graphemes().slice(t, n).join(""), + o = this.sectionIndex.slice(t, n); + return new e(r, this.sections, o); + } + toCodeUnitIndex(t) { + return this.graphemes().slice(0, t).join("").length; + } + toString() { + return this.text; + } + getMaxScale() { + return this.sectionIndex.reduce( + (t, n) => Math.max(t, this.sections[n].scale), + 0, + ); + } + getMaxImageSize(t) { + let n = 0, + r = 0; + for (let o = 0; o < this.length(); o++) { + let a = this.getSection(o); + if ("imageName" in a) { + let i = t[a.imageName]; + if (!i) continue; + let s = i.displaySize; + ((n = Math.max(n, s[0])), (r = Math.max(r, s[1]))); + } + } + return { maxImageWidth: n, maxImageHeight: r }; + } + _appendSection(t, n) { + let r = this.graphemes(), + o = r.length > 0 ? r[r.length - 1] : "", + a = jFe(o + t); + ((this.text += t), + (this._graphemes = r.slice(0, o ? -1 : void 0).concat(a))); + let i = a.length - +!!o; + for (let s = 0; s < i; s++) this.sectionIndex.push(n); + } + addTextSection(t, n) { + (this.sections.push({ + scale: t.scale || 1, + verticalAlign: t.verticalAlign || "bottom", + fontStack: t.fontStack || n, + }), + this._appendSection(t.text, this.sections.length - 1)); + } + addImageSection(t) { + let n = t.image ? t.image.name : ""; + if (n.length === 0) { + Ko("Can't add FormattedSection with an empty image."); + return; + } + let r = this.getNextImageSectionCharCode(); + if (!r) { + Ko("Reached maximum number of images 6401"); + return; + } + (this.sections.push({ + scale: 1, + verticalAlign: t.verticalAlign || "bottom", + imageName: n, + }), + this._appendSection(String.fromCharCode(r), this.sections.length - 1)); + } + getNextImageSectionCharCode() { + return this.imageSectionID + ? this.imageSectionID >= 63743 + ? null + : ++this.imageSectionID + : ((this.imageSectionID = 57344), this.imageSectionID); + } + determineLineBreaks(t, n, r, o, a) { + let i = [], + s = this.determineAverageLineWidth(t, n, r, o, a), + l = this.hasZeroWidthSpaces(), + c = this.graphemes(), + u = null, + d = 0, + p = 0; + for (let f = 0; f < c.length; f++) { + let m = c[f]; + if (f > 0) { + let g = c[f - 1].codePointAt(0), + v = m.codePointAt(0), + y = Vwr(g), + x = pan(g) && pan(v); + (hSr[g] || + y || + "imageName" in this.getSection(f - 1) || + (c[f + 1] !== void 0 && gSr[v]) || + (x && (u ??= dSr(this.text)).has(p))) && + i.push(wan(f, d, s, i, ySr(g, v, y && l), !1)); + } + (aNe(m.codePointAt(0)) || (d += ban(m, this.getSection(f), r, o, t, a)), + (p += m.length)); + } + return Dln(wan(this.length(), d, s, i, 0, !0)); + } + determineAverageLineWidth(t, n, r, o, a) { + let i = 0, + s = 0; + for (let c of this.graphemes()) { + let u = this.getSection(s); + ((i += ban(c, u, r, o, t, a)), s++); + } + let l = Math.max(1, Math.ceil(i / n)); + return i / l; + } + }, + sNe, + bSr, + xSr, + ASr, + eUe = 4294967296, + Nms, + San, + Bln = class { + constructor(e) { + ((this.buf = ArrayBuffer.isView(e) ? e : new Uint8Array(e)), + (this.dataView = new DataView( + this.buf.buffer, + this.buf.byteOffset, + this.buf.byteLength, + )), + (this.pos = 0), + (this.type = 0), + (this._valueStart = -1), + (this.length = this.buf.length)); + } + readFields(e, t, n = this.length) { + let r; + for (; (r = this.nextField(n));) e(r, t, this); + return t; + } + readMessage(e, t) { + return this.readFields(e, t, this.readVarint() + this.pos); + } + readFixed32() { + let e = this.dataView.getUint32(this.pos, !0); + return ((this.pos += 4), e); + } + readSFixed32() { + let e = this.dataView.getInt32(this.pos, !0); + return ((this.pos += 4), e); + } + readFixed64() { + let e = + this.dataView.getUint32(this.pos, !0) + + this.dataView.getUint32(this.pos + 4, !0) * eUe; + return ((this.pos += 8), e); + } + readSFixed64() { + let e = + this.dataView.getUint32(this.pos, !0) + + this.dataView.getInt32(this.pos + 4, !0) * eUe; + return ((this.pos += 8), e); + } + readFloat() { + let e = this.dataView.getFloat32(this.pos, !0); + return ((this.pos += 4), e); + } + readDouble() { + let e = this.dataView.getFloat64(this.pos, !0); + return ((this.pos += 8), e); + } + readVarint(e) { + let t = this.buf, + n = t[this.pos++]; + if (n < 128) return n; + let r = n & 127, + o; + return ( + (o = t[this.pos++]), + (r |= (o & 127) << 7), + o < 128 || + ((o = t[this.pos++]), (r |= (o & 127) << 14), o < 128) || + ((o = t[this.pos++]), (r |= (o & 127) << 21), o < 128) + ? r + : ((o = t[this.pos]), (r |= (o & 15) << 28), MSr(r, e, this)) + ); + } + readSVarint() { + let e = this.readVarint(); + return e % 2 == 1 ? (e + 1) / -2 : e / 2; + } + readBoolean() { + return !!this.readVarint(); + } + readString() { + let e = this.readVarint() + this.pos, + t = this.pos; + return ( + (this.pos = e), + e - t >= 12 && San + ? San.decode(this.buf.subarray(t, e)) + : LSr(this.buf, t, e) + ); + } + readBytes() { + let e = this.readVarint() + this.pos, + t = this.buf.subarray(this.pos, e); + return ((this.pos = e), t); + } + readPackedVarint(e = [], t) { + let n = this.readPackedEnd(); + for (; this.pos < n;) e.push(this.readVarint(t)); + return e; + } + readPackedSVarint(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readSVarint()); + return e; + } + readPackedBoolean(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readBoolean()); + return e; + } + readPackedFloat(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readFloat()); + return e; + } + readPackedDouble(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readDouble()); + return e; + } + readPackedFixed32(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readFixed32()); + return e; + } + readPackedSFixed32(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readSFixed32()); + return e; + } + readPackedFixed64(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readFixed64()); + return e; + } + readPackedSFixed64(e = []) { + let t = this.readPackedEnd(); + for (; this.pos < t;) e.push(this.readSFixed64()); + return e; + } + readPackedEnd() { + return this.type === 2 ? this.readVarint() + this.pos : this.pos + 1; + } + nextField(e = this.length) { + if ( + (this.pos === this._valueStart && this.skip(this.type), this.pos >= e) + ) + return 0; + let t = this.readVarint(); + return ((this.type = t & 7), (this._valueStart = this.pos), t >>> 3); + } + skip(e) { + let t = e & 7; + if (t === 0) for (; this.buf[this.pos++] > 127;); + else if (t === 2) this.pos = this.readVarint() + this.pos; + else if (t === 5) this.pos += 4; + else if (t === 1) this.pos += 8; + else throw Error(`Unimplemented type: ${t}`); + } + }, + $fe = class { + constructor( + e, + { + pixelRatio: t, + version: n, + isWebGLImage: r = !1, + stretchX: o, + stretchY: a, + content: i, + textFitWidth: s, + textFitHeight: l, + }, + ) { + ((this.paddedRect = e), + (this.pixelRatio = t), + (this.stretchX = o), + (this.stretchY = a), + (this.content = i), + (this.version = n), + (this.needsFirstWebGLRender = r), + (this.textFitWidth = s), + (this.textFitHeight = l)); + } + get tl() { + return [this.paddedRect.x + 1, this.paddedRect.y + 1]; + } + get br() { + return [ + this.paddedRect.x + this.paddedRect.w - 1, + this.paddedRect.y + this.paddedRect.h - 1, + ]; + } + get tlbr() { + return this.tl.concat(this.br); + } + get displaySize() { + return [ + (this.paddedRect.w - 2) / this.pixelRatio, + (this.paddedRect.h - 2) / this.pixelRatio, + ]; + } + }, + USr = class { + constructor(e, t) { + let n = {}, + r = {}; + ((this.haveRenderCallbacks = []), (this.patchedUpdateVersion = -1)); + let o = []; + (this.addImages(e, n, o), this.addImages(t, r, o)); + let { w: a, h: i } = lNe(o), + s = new ss({ width: a || 1, height: i || 1 }); + for (let l in e) { + let c = e[l]; + if (c.isWebGLImage) continue; + let u = n[l].paddedRect; + ss.copy(c.data, s, { x: 0, y: 0 }, { x: u.x + 1, y: u.y + 1 }, c.data); + } + for (let l in t) { + let c = t[l], + u = r[l].paddedRect, + d = u.x + 1, + p = u.y + 1, + f = c.data.width, + m = c.data.height; + (ss.copy(c.data, s, { x: 0, y: 0 }, { x: d, y: p }, c.data), + ss.copy( + c.data, + s, + { x: 0, y: m - 1 }, + { x: d, y: p - 1 }, + { width: f, height: 1 }, + ), + ss.copy( + c.data, + s, + { x: 0, y: 0 }, + { x: d, y: p + m }, + { width: f, height: 1 }, + ), + ss.copy( + c.data, + s, + { x: f - 1, y: 0 }, + { x: d - 1, y: p }, + { width: 1, height: m }, + ), + ss.copy( + c.data, + s, + { x: 0, y: 0 }, + { x: d + f, y: p }, + { width: 1, height: m }, + )); + } + ((this.image = s), (this.iconPositions = n), (this.patternPositions = r)); + } + addImages(e, t, n) { + for (let r in e) { + let o = e[r], + a = { x: 0, y: 0, w: o.data.width + 2, h: o.data.height + 2 }; + (n.push(a), + (t[r] = new $fe(a, o)), + o.hasRenderCallback && this.haveRenderCallbacks.push(r)); + } + } + patchUpdatedImages(e, t) { + if ( + (e.dispatchRenderCallbacks(this.haveRenderCallbacks), + this.patchedUpdateVersion !== e.updateVersion) + ) { + this.patchedUpdateVersion = e.updateVersion; + for (let n in this.iconPositions) + this.patchUpdatedImage(this.iconPositions[n], e.getImage(n), t); + for (let n in this.patternPositions) + this.patchUpdatedImage(this.patternPositions[n], e.getImage(n), t); + } + } + patchUpdatedImage(e, t, n) { + if (!e || !t || (!e.needsFirstWebGLRender && e.version === t.version)) + return; + ((e.needsFirstWebGLRender = !1), (e.version = t.version)); + let [r, o] = e.tl, + a = t.userImage?.data; + if (!TQ(a)) { + n.update(t.data, void 0, { x: r, y: o }); + return; + } + let { width: i, height: s } = t.data; + (n.context.setCustomLayerDefaults(), + a.renderWithWebGL({ + gl: n.context.gl, + texture: n.texture, + x: r, + y: o, + width: i, + height: s, + }), + n.context.setDirty()); + } + }, + Uln, + Can, + Tan = 32640, + DL, + Gpe = class { + constructor(e, t, n, r, o, a, i, s, l, c) { + if (((this.boxStartIndex = e.length), l)) { + let { top: u, bottom: d, collisionPadding: p } = a; + p && ((u -= p[1]), (d += p[3])); + let f = d - u; + f > 0 && ((f = Math.max(10, f)), (this.circleDiameter = f)); + } else { + let u = + a.image?.content && (a.image.textFitWidth || a.image.textFitHeight) + ? Hln(a) + : { x1: a.left, y1: a.top, x2: a.right, y2: a.bottom }; + ((u.y1 = u.y1 * i - s[0]), + (u.y2 = u.y2 * i + s[2]), + (u.x1 = u.x1 * i - s[3]), + (u.x2 = u.x2 * i + s[1])); + let d = a.collisionPadding; + if ( + (d && + ((u.x1 -= d[0] * i), + (u.y1 -= d[1] * i), + (u.x2 += d[2] * i), + (u.y2 += d[3] * i)), + c) + ) { + let p = new ft(u.x1, u.y1), + f = new ft(u.x2, u.y1), + m = new ft(u.x1, u.y2), + g = new ft(u.x2, u.y2), + v = (c * Math.PI) / 180; + (p._rotate(v), + f._rotate(v), + m._rotate(v), + g._rotate(v), + (u.x1 = Math.min(p.x, f.x, m.x, g.x)), + (u.x2 = Math.max(p.x, f.x, m.x, g.x)), + (u.y1 = Math.min(p.y, f.y, m.y, g.y)), + (u.y2 = Math.max(p.y, f.y, m.y, g.y))); + } + e.emplaceBack(t.x, t.y, u.x1, u.y1, u.x2, u.y2, n, r, o); + } + this.boxEndIndex = e.length; + } + }, + u4r = class { + constructor(e = [], t = (n, r) => (n < r ? -1 : +(n > r))) { + if ( + ((this.data = e), + (this.length = this.data.length), + (this.compare = t), + this.length > 0) + ) + for (let n = (this.length >> 1) - 1; n >= 0; n--) this._down(n); + } + push(e) { + (this.data.push(e), this._up(this.length++)); + } + pop() { + if (this.length === 0) return; + let e = this.data[0], + t = this.data.pop(); + return (--this.length > 0 && ((this.data[0] = t), this._down(0)), e); + } + peek() { + return this.data[0]; + } + _up(e) { + let { data: t, compare: n } = this, + r = t[e]; + for (; e > 0;) { + let o = (e - 1) >> 1, + a = t[o]; + if (n(r, a) >= 0) break; + ((t[e] = a), (e = o)); + } + t[e] = r; + } + _down(e) { + let { data: t, compare: n } = this, + r = this.length >> 1, + o = t[e]; + for (; e < r;) { + let a = (e << 1) + 1, + i = a + 1; + if ((i < this.length && n(t[i], t[a]) < 0 && (a = i), n(t[a], o) >= 0)) + break; + ((t[e] = t[a]), (e = a)); + } + t[e] = o; + } + }, + CL = class { + constructor(e, t, n, r) { + ((this.p = new ft(e, t)), + (this.h = n), + (this.d = f4r(this.p, r)), + (this.max = this.d + this.h * Math.SQRT2)); + } + }, + tme, + uNe = 1 / 0, + A4r, + nUe = class { + constructor(e) { + ((this.layoutVertexArray = new BAr()), + (this.indexArray = new xv()), + (this.programConfigurations = e), + (this.segments = new Vs()), + (this.dynamicLayoutVertexArray = new OAr()), + (this.opacityVertexArray = new FAr()), + (this.hasVisibleVertices = !1), + (this.placedSymbolArray = new Dsn())); + } + isEmpty() { + return ( + this.layoutVertexArray.length === 0 && + this.indexArray.length === 0 && + this.dynamicLayoutVertexArray.length === 0 && + this.opacityVertexArray.length === 0 + ); + } + upload(e, t, n, r) { + this.isEmpty() || + (n && + ((this.layoutVertexBuffer = e.createVertexBuffer( + this.layoutVertexArray, + Uwr.members, + )), + (this.indexBuffer = e.createIndexBuffer(this.indexArray, t)), + (this.dynamicLayoutVertexBuffer = e.createVertexBuffer( + this.dynamicLayoutVertexArray, + Nwr.members, + !0, + )), + (this.opacityVertexBuffer = e.createVertexBuffer( + this.opacityVertexArray, + A4r, + !0, + )), + (this.opacityVertexBuffer.itemSize = 1)), + (n || r) && this.programConfigurations.upload(e)); + } + destroy() { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.dynamicLayoutVertexBuffer.destroy(), + this.opacityVertexBuffer.destroy()); + } + }, + rUe = class { + constructor(e, t, n) { + ((this.layoutVertexArray = new e()), + (this.layoutAttributes = t), + (this.indexArray = new n()), + (this.segments = new Vs()), + (this.collisionVertexArray = new UAr())); + } + upload(e) { + ((this.layoutVertexBuffer = e.createVertexBuffer( + this.layoutVertexArray, + this.layoutAttributes, + )), + (this.indexBuffer = e.createIndexBuffer(this.indexArray)), + (this.collisionVertexBuffer = e.createVertexBuffer( + this.collisionVertexArray, + zwr.members, + !0, + ))); + } + destroy() { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.segments.destroy(), + this.collisionVertexBuffer.destroy()); + } + }, + MQ = class { + constructor(e) { + ((this.collisionBoxArray = e.collisionBoxArray), + (this.zoom = e.zoom), + (this.overscaling = e.overscaling), + (this.layers = e.layers), + (this.layerIds = this.layers.map((i) => i.id)), + (this.index = e.index), + (this.pixelRatio = e.pixelRatio), + (this.sourceLayerIndex = e.sourceLayerIndex), + (this.hasDependencies = !0), + (this.hasRTLText = !1), + (this.maxHeightOffset = 0), + (this.sortKeyRanges = []), + (this.collisionCircleArray = []), + (this.maxGlyphs = 65535)); + let t = this.layers[0]._unevaluatedLayout._values; + ((this.textSizeData = kan(this.zoom, t["text-size"])), + (this.iconSizeData = kan(this.zoom, t["icon-size"]))); + let n = this.layers[0].layout, + r = n.get("symbol-sort-key"), + o = n.get("symbol-z-order"); + ((this.canOverlap = + iQ(n, "text-overlap", "text-allow-overlap") !== "never" || + iQ(n, "icon-overlap", "icon-allow-overlap") !== "never" || + n.get("text-ignore-placement") || + n.get("icon-ignore-placement")), + (this.sortFeaturesByKey = o !== "viewport-y" && !r.isConstant())); + let a = o === "viewport-y" || (o === "auto" && !this.sortFeaturesByKey); + ((this.sortFeaturesByY = a && this.canOverlap), + n.get("symbol-placement") === "point" && + (this.writingModes = n.get("text-writing-mode").map((i) => Uln[i])), + (this.stateDependentLayerIds = this.layers + .filter((i) => i.isStateDependent()) + .map((i) => i.id)), + (this.sourceID = e.sourceID)); + } + createArrays() { + ((this.text = new nUe( + new qT(this.layers, this.zoom, (e) => e.startsWith("text")), + )), + (this.icon = new nUe( + new qT(this.layers, this.zoom, (e) => e.startsWith("icon")), + )), + (this.glyphOffsetArray = new Osn()), + (this.lineVertexArray = new Fsn()), + (this.symbolInstances = new Bsn()), + (this.textAnchorOffsets = new Nsn())); + } + calculateGlyphDependencies(e, t, n, r, o) { + let a = (r || this.allowVerticalPlacement) && o, + i = iNe.fromFeature(e, n), + s = i.graphemes(); + for (let l = 0; l < s.length; l++) { + let c = i.getSection(l); + if ("imageName" in c) continue; + let u = (t[c.fontStack] ||= { default: {} }).default, + d = s[l]; + IQ(d) && (u[d] = !0); + for (let p of d) { + if (((u[p] = !0), !a)) continue; + let f = IL[p]; + f && (u[f] = !0); + } + } + } + populate(e, t, n) { + let r = this.layers[0], + o = r.layout, + a = o.get("text-font"), + i = o.get("text-field"), + s = o.get("icon-image"), + l = + (i.value.kind !== "constant" || + (i.value.value instanceof Iw && !i.value.value.isEmpty()) || + i.value.value.toString().length > 0) && + (a.value.kind !== "constant" || a.value.value.length > 0), + c = + s.value.kind !== "constant" || + !!s.value.value || + Object.keys(s.parameters).length > 0, + u = o.get("symbol-sort-key"); + if (((this.features = []), !l && !c)) return; + let { iconDependencies: d, glyphDependencies: p, availableImages: f } = t, + m = new oi(this.zoom); + for (let { feature: g, id: v, index: y, sourceLayerIndex: x } of e) { + let A = r._featureFilter.needGeometry, + w = jC(g, A); + if (!r._featureFilter.filter(m, w, n)) continue; + A || (w.geometry = jT(g)); + let C; + if (l) { + let k = r.getValueAndResolveTokens("text-field", w, n, f), + L = Iw.factory(k); + ((this.hasRTLText ||= w4r(L)), (C = lSr(L, r, w))); + } + let E; + if (c) { + let k = r.getValueAndResolveTokens("icon-image", w, n, f); + E = k instanceof Vx ? k : Vx.fromString(k); + } + if (!C && !E) continue; + let T = this.sortFeaturesByKey ? u.evaluate(w, {}, n) : void 0, + I = { + id: v, + text: C, + icon: E, + index: y, + sourceLayerIndex: x, + geometry: w.geometry, + properties: g.properties, + type: EQ.types[g.type], + sortKey: T, + }; + if ((this.features.push(I), E && (d[E.name] = !0), C)) { + let k = a.evaluate(w, {}, n).join(","), + L = + o.get("text-rotation-alignment") !== "viewport" && + o.get("symbol-placement") !== "point"; + this.allowVerticalPlacement = this.writingModes?.includes(2); + let O = $Fe(C.toString()); + this.calculateGlyphDependencies(C, p, k, L, O); + for (let B of C.sections) B.image && (d[B.image.name] = !0); + } + } + (o.get("symbol-placement") === "line" && + (this.features = uSr(this.features)), + this.sortFeaturesByKey && + this.features.sort((g, v) => g.sortKey - v.sortKey)); + } + update(e, t, n) { + this.stateDependentLayers.length && + (this.text.programConfigurations.updatePaintArrays(e, t, this.layers, { + imagePositions: n, + }), + this.icon.programConfigurations.updatePaintArrays(e, t, this.layers, { + imagePositions: n, + })); + } + addFeatures({ + options: e, + canonical: t, + glyphMap: n, + glyphPositions: r, + iconMap: o, + iconPositions: a, + showCollisionBoxes: i, + }) { + h4r({ + bucket: this, + glyphMap: n, + glyphPositions: r, + imageMap: o, + imagePositions: a, + showCollisionBoxes: i, + canonical: t, + subdivisionGranularity: e.subdivisionGranularity, + hasPromoteId: e.featureIndex.promoteId != null, + }); + } + isEmpty() { + return this.symbolInstances.length === 0; + } + uploadPending() { + return ( + !this.uploaded || + this.text.programConfigurations.needsUpload || + this.icon.programConfigurations.needsUpload + ); + } + upload(e) { + (!this.uploaded && + this.hasDebugData() && + (this.textCollisionBox.upload(e), this.iconCollisionBox.upload(e)), + this.text.upload( + e, + this.sortFeaturesByY, + !this.uploaded, + this.text.programConfigurations.needsUpload, + ), + this.icon.upload( + e, + this.sortFeaturesByY, + !this.uploaded, + this.icon.programConfigurations.needsUpload, + ), + (this.uploaded = !0)); + } + destroyDebugData() { + (this.textCollisionBox.destroy(), this.iconCollisionBox.destroy()); + } + destroy() { + (this.text.destroy(), + this.icon.destroy(), + this.hasDebugData() && this.destroyDebugData()); + } + addToLineVertexArray(e, t) { + let n = this.lineVertexArray.length; + if (e.segment !== void 0) { + let r = e.dist(t[e.segment + 1]), + o = e.dist(t[e.segment]), + a = {}; + for (let i = e.segment + 1; i < t.length; i++) + ((a[i] = { x: t[i].x, y: t[i].y, tileUnitDistanceFromAnchor: r }), + i < t.length - 1 && (r += t[i + 1].dist(t[i]))); + for (let i = e.segment || 0; i >= 0; i--) + ((a[i] = { x: t[i].x, y: t[i].y, tileUnitDistanceFromAnchor: o }), + i > 0 && (o += t[i - 1].dist(t[i]))); + for (let i = 0; i < t.length; i++) { + let s = a[i]; + this.lineVertexArray.emplaceBack( + s.x, + s.y, + s.tileUnitDistanceFromAnchor, + ); + } + } + return { lineStartIndex: n, lineLength: this.lineVertexArray.length - n }; + } + addSymbols(e, t, n, r, o, a, i, s, l, c, u, d, p) { + let { indexArray: f, layoutVertexArray: m } = e, + g = e.segments.prepareSegment( + 4 * t.length, + m, + f, + this.canOverlap ? a.sortKey : void 0, + ), + v = this.glyphOffsetArray.length, + y = g.vertexLength, + x = this.allowVerticalPlacement && i === 2 ? Math.PI / 2 : 0, + A = a.text && a.text.sections; + for (let w = 0; w < t.length; w++) { + let { + tl: C, + tr: E, + bl: T, + br: I, + tex: k, + pixelOffsetTL: L, + pixelOffsetBR: O, + minFontScaleX: B, + minFontScaleY: U, + glyphOffset: D, + isSDF: N, + sectionIndex: _, + } = t[w], + G = g.vertexLength, + Z = D[1]; + (qpe(m, s.x, s.y, C.x, Z + C.y, k.x, k.y, n, N, L.x, L.y, B, U, p), + qpe( + m, + s.x, + s.y, + E.x, + Z + E.y, + k.x + k.w, + k.y, + n, + N, + O.x, + L.y, + B, + U, + p, + ), + qpe( + m, + s.x, + s.y, + T.x, + Z + T.y, + k.x, + k.y + k.h, + n, + N, + L.x, + O.y, + B, + U, + p, + ), + qpe( + m, + s.x, + s.y, + I.x, + Z + I.y, + k.x + k.w, + k.y + k.h, + n, + N, + O.x, + O.y, + B, + U, + p, + ), + PQ(e.dynamicLayoutVertexArray, s, x), + f.emplaceBack(G, G + 2, G + 1), + f.emplaceBack(G + 1, G + 2, G + 3), + (g.vertexLength += 4), + (g.primitiveLength += 2), + this.glyphOffsetArray.emplaceBack(D[0]), + (w === t.length - 1 || _ !== t[w + 1].sectionIndex) && + e.programConfigurations.populatePaintArrays(m.length, a, a.index, { + imagePositions: {}, + canonical: d, + formattedSection: A?.[_], + })); + } + e.placedSymbolArray.emplaceBack( + s.x, + s.y, + v, + this.glyphOffsetArray.length - v, + y, + l, + c, + s.segment, + n ? n[0] : 0, + n ? n[1] : 0, + r[0], + r[1], + i, + 0, + !1, + 0, + u, + p, + ); + } + _addCollisionDebugVertex(e, t, n, r, o, a) { + return ( + t.emplaceBack(0, 0), + e.emplaceBack(n.x, n.y, r, o, Math.round(a.x), Math.round(a.y)) + ); + } + addCollisionDebugVertices(e, t, n, r, o, a, i) { + let s = o.segments.prepareSegment(4, o.layoutVertexArray, o.indexArray), + l = s.vertexLength, + { layoutVertexArray: c, collisionVertexArray: u } = o, + { anchorX: d, anchorY: p } = i; + (this._addCollisionDebugVertex(c, u, a, d, p, new ft(e, t)), + this._addCollisionDebugVertex(c, u, a, d, p, new ft(n, t)), + this._addCollisionDebugVertex(c, u, a, d, p, new ft(n, r)), + this._addCollisionDebugVertex(c, u, a, d, p, new ft(e, r)), + (s.vertexLength += 4)); + let f = o.indexArray; + (f.emplaceBack(l, l + 1), + f.emplaceBack(l + 1, l + 2), + f.emplaceBack(l + 2, l + 3), + f.emplaceBack(l + 3, l), + (s.primitiveLength += 4)); + } + addDebugCollisionBoxes(e, t, n, r) { + for (let o = e; o < t; o++) { + let a = this.collisionBoxArray.get(o), + { x1: i, y1: s, x2: l, y2: c } = a; + this.addCollisionDebugVertices( + i, + s, + l, + c, + r ? this.textCollisionBox : this.iconCollisionBox, + a.anchorPoint, + n, + ); + } + } + generateCollisionDebugBuffers() { + (this.hasDebugData() && this.destroyDebugData(), + (this.textCollisionBox = new rUe(Kon, dan.members, BFe)), + (this.iconCollisionBox = new rUe(Kon, dan.members, BFe))); + for (let e = 0; e < this.symbolInstances.length; e++) { + let t = this.symbolInstances.get(e); + (this.addDebugCollisionBoxes( + t.textBoxStartIndex, + t.textBoxEndIndex, + t, + !0, + ), + this.addDebugCollisionBoxes( + t.verticalTextBoxStartIndex, + t.verticalTextBoxEndIndex, + t, + !0, + ), + this.addDebugCollisionBoxes( + t.iconBoxStartIndex, + t.iconBoxEndIndex, + t, + !1, + ), + this.addDebugCollisionBoxes( + t.verticalIconBoxStartIndex, + t.verticalIconBoxEndIndex, + t, + !1, + )); + } + } + _deserializeCollisionBoxesForSymbol(e, t, n, r, o, a, i, s, l) { + let c = {}; + for (let u = t; u < n; u++) { + let d = e.get(u); + ((c.textBox = { + x1: d.x1, + y1: d.y1, + x2: d.x2, + y2: d.y2, + anchorPointX: d.anchorPointX, + anchorPointY: d.anchorPointY, + }), + (c.textFeatureIndex = d.featureIndex)); + break; + } + for (let u = r; u < o; u++) { + let d = e.get(u); + ((c.verticalTextBox = { + x1: d.x1, + y1: d.y1, + x2: d.x2, + y2: d.y2, + anchorPointX: d.anchorPointX, + anchorPointY: d.anchorPointY, + }), + (c.verticalTextFeatureIndex = d.featureIndex)); + break; + } + for (let u = a; u < i; u++) { + let d = e.get(u); + ((c.iconBox = { + x1: d.x1, + y1: d.y1, + x2: d.x2, + y2: d.y2, + anchorPointX: d.anchorPointX, + anchorPointY: d.anchorPointY, + }), + (c.iconFeatureIndex = d.featureIndex)); + break; + } + for (let u = s; u < l; u++) { + let d = e.get(u); + ((c.verticalIconBox = { + x1: d.x1, + y1: d.y1, + x2: d.x2, + y2: d.y2, + anchorPointX: d.anchorPointX, + anchorPointY: d.anchorPointY, + }), + (c.verticalIconFeatureIndex = d.featureIndex)); + break; + } + return c; + } + deserializeCollisionBoxes(e) { + this.collisionArrays = []; + for (let t = 0; t < this.symbolInstances.length; t++) { + let n = this.symbolInstances.get(t); + this.collisionArrays.push( + this._deserializeCollisionBoxesForSymbol( + e, + n.textBoxStartIndex, + n.textBoxEndIndex, + n.verticalTextBoxStartIndex, + n.verticalTextBoxEndIndex, + n.iconBoxStartIndex, + n.iconBoxEndIndex, + n.verticalIconBoxStartIndex, + n.verticalIconBoxEndIndex, + ), + ); + } + } + hasTextData() { + return this.text.segments.get().length > 0; + } + hasIconData() { + return this.icon.segments.get().length > 0; + } + hasDebugData() { + return this.textCollisionBox && this.iconCollisionBox; + } + hasTextCollisionBoxData() { + return ( + this.hasDebugData() && this.textCollisionBox.segments.get().length > 0 + ); + } + hasIconCollisionBoxData() { + return ( + this.hasDebugData() && this.iconCollisionBox.segments.get().length > 0 + ); + } + addIndicesForPlacedSymbol(e, t) { + let n = e.placedSymbolArray.get(t), + r = n.vertexStartIndex + n.numGlyphs * 4; + for (let o = n.vertexStartIndex; o < r; o += 4) + (e.indexArray.emplaceBack(o, o + 2, o + 1), + e.indexArray.emplaceBack(o + 1, o + 2, o + 3)); + } + getSortedSymbolIndexes(e) { + if (this.sortedAngle === e && this.symbolInstanceIndexes !== void 0) + return this.symbolInstanceIndexes; + let t = Math.sin(e), + n = Math.cos(e), + r = [], + o = [], + a = []; + for (let i = 0; i < this.symbolInstances.length; ++i) { + a.push(i); + let s = this.symbolInstances.get(i); + (r.push(Math.round(t * s.anchorX + n * s.anchorY) | 0), + o.push(s.featureIndex)); + } + return (a.sort((i, s) => r[i] - r[s] || o[s] - o[i]), a); + } + addToSortKeyRanges(e, t) { + let n = this.sortKeyRanges[this.sortKeyRanges.length - 1]; + n?.sortKey === t + ? (n.symbolInstanceEnd = e + 1) + : this.sortKeyRanges.push({ + sortKey: t, + symbolInstanceStart: e, + symbolInstanceEnd: e + 1, + }); + } + sortFeatures(e) { + if ( + this.sortFeaturesByY && + this.sortedAngle !== e && + !( + this.text.segments.get().length > 1 || + this.icon.segments.get().length > 1 + ) + ) { + ((this.symbolInstanceIndexes = this.getSortedSymbolIndexes(e)), + (this.sortedAngle = e), + this.text.indexArray.clear(), + this.icon.indexArray.clear(), + (this.featureSortOrder = [])); + for (let t of this.symbolInstanceIndexes) { + let n = this.symbolInstances.get(t); + this.featureSortOrder.push(n.featureIndex); + let r = [ + n.rightJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.leftJustifiedTextSymbolIndex, + ]; + for (let o = 0; o < r.length; o++) { + let a = r[o]; + a >= 0 && + r.indexOf(a) === o && + this.addIndicesForPlacedSymbol(this.text, a); + } + (n.verticalPlacedTextSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.text, + n.verticalPlacedTextSymbolIndex, + ), + n.placedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + n.placedIconSymbolIndex, + ), + n.verticalPlacedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + n.verticalPlacedIconSymbolIndex, + )); + } + (this.text.indexBuffer && + this.text.indexBuffer.updateData(this.text.indexArray), + this.icon.indexBuffer && + this.icon.indexBuffer.updateData(this.icon.indexArray)); + } + } + }, + C4r, + E4r = () => + (C4r ||= new np({ + "symbol-placement": new Mn( + bt.layout_symbol["symbol-placement"], + "symbol-placement", + ), + "symbol-spacing": new Mn( + bt.layout_symbol["symbol-spacing"], + "symbol-spacing", + ), + "symbol-avoid-edges": new Mn( + bt.layout_symbol["symbol-avoid-edges"], + "symbol-avoid-edges", + ), + "symbol-sort-key": new dr( + bt.layout_symbol["symbol-sort-key"], + "symbol-sort-key", + ), + "symbol-z-order": new Mn( + bt.layout_symbol["symbol-z-order"], + "symbol-z-order", + ), + "icon-allow-overlap": new Mn( + bt.layout_symbol["icon-allow-overlap"], + "icon-allow-overlap", + ), + "icon-overlap": new Mn(bt.layout_symbol["icon-overlap"], "icon-overlap"), + "icon-ignore-placement": new Mn( + bt.layout_symbol["icon-ignore-placement"], + "icon-ignore-placement", + ), + "icon-optional": new Mn( + bt.layout_symbol["icon-optional"], + "icon-optional", + ), + "icon-rotation-alignment": new dr( + bt.layout_symbol["icon-rotation-alignment"], + "icon-rotation-alignment", + ), + "icon-size": new dr(bt.layout_symbol["icon-size"], "icon-size"), + "icon-text-fit": new Mn( + bt.layout_symbol["icon-text-fit"], + "icon-text-fit", + ), + "icon-text-fit-padding": new Mn( + bt.layout_symbol["icon-text-fit-padding"], + "icon-text-fit-padding", + ), + "icon-image": new dr(bt.layout_symbol["icon-image"], "icon-image"), + "icon-rotate": new dr(bt.layout_symbol["icon-rotate"], "icon-rotate"), + "icon-padding": new dr(bt.layout_symbol["icon-padding"], "icon-padding"), + "icon-keep-upright": new Mn( + bt.layout_symbol["icon-keep-upright"], + "icon-keep-upright", + ), + "icon-offset": new dr(bt.layout_symbol["icon-offset"], "icon-offset"), + "icon-anchor": new dr(bt.layout_symbol["icon-anchor"], "icon-anchor"), + "icon-pitch-alignment": new Mn( + bt.layout_symbol["icon-pitch-alignment"], + "icon-pitch-alignment", + ), + "text-pitch-alignment": new Mn( + bt.layout_symbol["text-pitch-alignment"], + "text-pitch-alignment", + ), + "text-rotation-alignment": new Mn( + bt.layout_symbol["text-rotation-alignment"], + "text-rotation-alignment", + ), + "text-field": new dr(bt.layout_symbol["text-field"], "text-field"), + "text-font": new dr(bt.layout_symbol["text-font"], "text-font"), + "text-size": new dr(bt.layout_symbol["text-size"], "text-size"), + "text-max-width": new dr( + bt.layout_symbol["text-max-width"], + "text-max-width", + ), + "text-line-height": new Mn( + bt.layout_symbol["text-line-height"], + "text-line-height", + ), + "text-letter-spacing": new dr( + bt.layout_symbol["text-letter-spacing"], + "text-letter-spacing", + ), + "text-justify": new dr(bt.layout_symbol["text-justify"], "text-justify"), + "text-radial-offset": new dr( + bt.layout_symbol["text-radial-offset"], + "text-radial-offset", + ), + "text-variable-anchor": new Mn( + bt.layout_symbol["text-variable-anchor"], + "text-variable-anchor", + ), + "text-variable-anchor-offset": new dr( + bt.layout_symbol["text-variable-anchor-offset"], + "text-variable-anchor-offset", + ), + "text-anchor": new dr(bt.layout_symbol["text-anchor"], "text-anchor"), + "text-max-angle": new Mn( + bt.layout_symbol["text-max-angle"], + "text-max-angle", + ), + "text-writing-mode": new Mn( + bt.layout_symbol["text-writing-mode"], + "text-writing-mode", + ), + "text-rotate": new dr(bt.layout_symbol["text-rotate"], "text-rotate"), + "text-padding": new Mn(bt.layout_symbol["text-padding"], "text-padding"), + "text-keep-upright": new Mn( + bt.layout_symbol["text-keep-upright"], + "text-keep-upright", + ), + "text-transform": new dr( + bt.layout_symbol["text-transform"], + "text-transform", + ), + "text-offset": new dr(bt.layout_symbol["text-offset"], "text-offset"), + "text-allow-overlap": new Mn( + bt.layout_symbol["text-allow-overlap"], + "text-allow-overlap", + ), + "text-overlap": new Mn(bt.layout_symbol["text-overlap"], "text-overlap"), + "text-ignore-placement": new Mn( + bt.layout_symbol["text-ignore-placement"], + "text-ignore-placement", + ), + "text-optional": new Mn( + bt.layout_symbol["text-optional"], + "text-optional", + ), + "symbol-height-offset": new dr( + bt.layout_symbol["symbol-height-offset"], + "symbol-height-offset", + ), + "symbol-height-anchor": new Mn( + bt.layout_symbol["symbol-height-anchor"], + "symbol-height-anchor", + ), + })), + I4r, + T4r = () => + (I4r ||= new np({ + "icon-opacity": new dr(bt.paint_symbol["icon-opacity"], "icon-opacity"), + "icon-color": new dr(bt.paint_symbol["icon-color"], "icon-color"), + "icon-halo-color": new dr( + bt.paint_symbol["icon-halo-color"], + "icon-halo-color", + ), + "icon-halo-width": new dr( + bt.paint_symbol["icon-halo-width"], + "icon-halo-width", + ), + "icon-halo-blur": new dr( + bt.paint_symbol["icon-halo-blur"], + "icon-halo-blur", + ), + "icon-translate": new Mn( + bt.paint_symbol["icon-translate"], + "icon-translate", + ), + "icon-translate-anchor": new Mn( + bt.paint_symbol["icon-translate-anchor"], + "icon-translate-anchor", + ), + "text-opacity": new dr(bt.paint_symbol["text-opacity"], "text-opacity"), + "text-color": new dr(bt.paint_symbol["text-color"], "text-color", { + runtimeType: mv, + getOverride: (e) => e.textColor, + hasOverride: (e) => !!e.textColor, + }), + "text-halo-color": new dr( + bt.paint_symbol["text-halo-color"], + "text-halo-color", + ), + "text-halo-width": new dr( + bt.paint_symbol["text-halo-width"], + "text-halo-width", + ), + "text-halo-blur": new dr( + bt.paint_symbol["text-halo-blur"], + "text-halo-blur", + ), + "text-translate": new Mn( + bt.paint_symbol["text-translate"], + "text-translate", + ), + "text-translate-anchor": new Mn( + bt.paint_symbol["text-translate-anchor"], + "text-translate-anchor", + ), + })), + tFe, + Kln = class { + constructor(e) { + if (e.property.overrides === void 0) + throw Error( + "overrides must be provided to instantiate FormatSectionOverride class", + ); + ((this.type = e.property.overrides + ? e.property.overrides.runtimeType + : gQ), + (this.defaultValue = e)); + } + evaluate(e) { + if (e.formattedSection) { + let t = this.defaultValue.property.overrides; + if (t?.hasOverride(e.formattedSection)) + return t.getOverride(e.formattedSection); + } + return e.feature && e.featureState + ? this.defaultValue.evaluate(e.feature, e.featureState) + : this.defaultValue.property.specification.default; + } + eachChild(e) { + if (!this.defaultValue.isConstant()) { + let t = this.defaultValue.value; + e(t._styleExpression.expression); + } + } + outputDefined() { + return !1; + } + serialize() { + return null; + } + }, + dNe = (e) => e.type === "symbol", + k4r, + P4r, + M4r = () => + (P4r ||= new np({ + "background-color": new Mn( + bt.paint_background["background-color"], + "background-color", + ), + "background-pattern": new Rsn( + bt.paint_background["background-pattern"], + "background-pattern", + ), + "background-opacity": new Mn( + bt.paint_background["background-opacity"], + "background-opacity", + ), + })), + D4r, + Jln = (e) => e.type === "background", + L4r, + $ln = (e) => e.type === "custom", + B4r, + O4r = class { + constructor(e) { + ((this._methodToThrottle = e), + (this._triggered = !1), + (this._channel = new MessageChannel()), + (this._channel.port2.onmessage = () => { + ((this._triggered = !1), this._methodToThrottle()); + })); + } + trigger() { + this._triggered || + ((this._triggered = !0), this._channel?.port1.postMessage(!0)); + } + remove() { + (delete this._channel, (this._methodToThrottle = () => {})); + } + }, + F4r, + ecn = class { + constructor(e, t) { + ((this.target = e), + (this.mapId = t), + (this.resolveRejects = {}), + (this.tasks = {}), + (this.taskQueue = []), + (this.abortControllers = {}), + (this.messageHandlers = {}), + (this.invoker = new O4r(() => this.process())), + (this.subscription = GZ( + this.target, + "message", + (n) => this.receive(n), + !1, + )), + (this.globalScope = VT(self) ? e : window)); + } + registerMessageHandler(e, t) { + this.messageHandlers[e] = t; + } + unregisterMessageHandler(e) { + delete this.messageHandlers[e]; + } + sendAsync(e, t) { + return new Promise((n, r) => { + let o = Math.round(Math.random() * 1000000000000000000) + .toString(36) + .substring(0, 10), + a = t + ? GZ( + t.signal, + "abort", + () => { + (a?.unsubscribe(), delete this.resolveRejects[o]); + let l = { + id: o, + type: "", + origin: location.origin, + targetMapId: e.targetMapId, + sourceMapId: this.mapId, + }; + (this.target.postMessage(l), r(new ZL(t.signal.reason))); + }, + F4r, + ) + : null; + this.resolveRejects[o] = { + resolve: (l) => { + (a?.unsubscribe(), n(l)); + }, + reject: (l) => { + (a?.unsubscribe(), r(l)); + }, + }; + let i = [], + s = { + ...e, + id: o, + sourceMapId: this.mapId, + origin: location.origin, + data: _Z(e.data, i), + }; + this.target.postMessage(s, { transfer: i }); + }); + } + receive(e) { + let t = e.data, + n = t.id, + r = ["file://", "resource://android", "null"], + o = [t.origin, location.origin], + a = t.origin === location.origin, + i = o.some((s) => r.includes(s)); + if ((a || i) && !(t.targetMapId && this.mapId !== t.targetMapId)) { + if (t.type === "") { + delete this.tasks[n]; + let s = this.abortControllers[n]; + (delete this.abortControllers[n], s && s.abort()); + return; + } + if (VT(self) || t.mustQueue) { + ((this.tasks[n] = t), this.taskQueue.push(n), this.invoker.trigger()); + return; + } + this.processTask(n, t); + } + } + process() { + if (this.taskQueue.length === 0) return; + let e = this.taskQueue.shift(), + t = this.tasks[e]; + (delete this.tasks[e], + this.taskQueue.length > 0 && this.invoker.trigger(), + t && this.processTask(e, t)); + } + async processTask(e, t) { + if (t.type === "") { + let o = this.resolveRejects[e]; + if ((delete this.resolveRejects[e], !o)) return; + t.error ? o.reject(Vp(HZ(t.error))) : o.resolve(HZ(t.data)); + return; + } + if (!this.messageHandlers[t.type]) { + this.completeTask(e, null, null); + return; + } + let n = HZ(t.data), + r = new AbortController(); + this.abortControllers[e] = r; + try { + let o = await this.messageHandlers[t.type](t.sourceMapId, n, r); + this.completeTask(e, null, o); + } catch (o) { + this.completeTask(e, Vp(o)); + } + } + completeTask(e, t, n) { + let r = []; + delete this.abortControllers[e]; + let o = { + id: e, + type: "", + sourceMapId: this.mapId, + origin: location.origin, + error: t ? _Z(t) : null, + data: _Z(n, r), + }; + this.target.postMessage(o, { transfer: r }); + } + remove() { + (this.invoker.remove(), this.subscription.unsubscribe()); + } + }, + DQ = class { + constructor(e, t, n) { + if (!U4r(e, t, n)) + throw Error( + `x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2 ** e}, 0<=y<${2 ** e} 0<=z<=25 `, + ); + ((this.z = e), + (this.x = t), + (this.y = n), + (this.key = HT(0, e, e, t, n))); + } + equals(e) { + return this.z === e.z && this.x === e.x && this.y === e.y; + } + url(e, t, n) { + let r = N4r(this.x, this.y, this.z), + o = z4r(this.z, this.x, this.y); + return e[(this.x + this.y) % e.length] + .replace( + /{prefix}/g, + (this.x % 16).toString(16) + (this.y % 16).toString(16), + ) + .replace(/{z}/g, String(this.z)) + .replace(/{x}/g, String(this.x)) + .replace( + /{y}/g, + String(n === "tms" ? 2 ** this.z - this.y - 1 : this.y), + ) + .replace(/{ratio}/g, t > 1 ? "@2x" : "") + .replace(/{quadkey}/g, o) + .replace(/{bbox-epsg-3857}/g, r); + } + isChildOf(e) { + let t = this.z - e.z; + return t > 0 && e.x === this.x >> t && e.y === this.y >> t; + } + getTilePoint(e) { + let t = 2 ** this.z; + return new ft((e.x * t - this.x) * Ut, (e.y * t - this.y) * Ut); + } + toString() { + return `${this.z}/${this.x}/${this.y}`; + } + }, + LQ = class { + constructor(e, t) { + ((this.wrap = e), + (this.canonical = t), + (this.key = HT(e, t.z, t.z, t.x, t.y))); + } + }, + Xp = class e { + constructor(t, n, r, o, a) { + if (((this.terrainRttPosMatrix32f = null), t < r)) + throw Error(`overscaledZ should be >= z; overscaledZ = ${t}; z = ${r}`); + ((this.overscaledZ = t), + (this.wrap = n), + (this.canonical = new DQ(r, +o, +a)), + (this.key = HT(n, t, r, o, a))); + } + clone() { + return new e( + this.overscaledZ, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + } + equals(t) { + return ( + this.overscaledZ === t.overscaledZ && + this.wrap === t.wrap && + this.canonical.equals(t.canonical) + ); + } + scaledTo(t) { + if (t > this.overscaledZ) + throw Error( + `targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`, + ); + let n = this.canonical.z - t; + return t > this.canonical.z + ? new e( + t, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ) + : new e(t, this.wrap, t, this.canonical.x >> n, this.canonical.y >> n); + } + isOverscaled() { + return this.overscaledZ > this.canonical.z; + } + calculateScaledKey(t, n) { + if (t > this.overscaledZ) + throw Error( + `targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`, + ); + let r = this.canonical.z - t; + return t > this.canonical.z + ? HT( + this.wrap * +n, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ) + : HT( + this.wrap * +n, + t, + t, + this.canonical.x >> r, + this.canonical.y >> r, + ); + } + isChildOf(t) { + if (t.wrap !== this.wrap || this.overscaledZ - t.overscaledZ <= 0) + return !1; + if (t.overscaledZ === 0) return this.overscaledZ > 0; + let n = this.canonical.z - t.canonical.z; + return n < 0 + ? !1 + : t.canonical.x === this.canonical.x >> n && + t.canonical.y === this.canonical.y >> n; + } + children(t) { + if (this.overscaledZ >= t) + return [ + new e( + this.overscaledZ + 1, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ), + ]; + let n = this.canonical.z + 1, + r = this.canonical.x * 2, + o = this.canonical.y * 2; + return [ + new e(n, this.wrap, n, r, o), + new e(n, this.wrap, n, r + 1, o), + new e(n, this.wrap, n, r, o + 1), + new e(n, this.wrap, n, r + 1, o + 1), + ]; + } + isLessThan(t) { + return this.wrap < t.wrap + ? !0 + : this.wrap > t.wrap + ? !1 + : this.overscaledZ < t.overscaledZ + ? !0 + : this.overscaledZ > t.overscaledZ + ? !1 + : this.canonical.x < t.canonical.x + ? !0 + : this.canonical.x > t.canonical.x + ? !1 + : this.canonical.y < t.canonical.y; + } + wrapped() { + return new e( + this.overscaledZ, + 0, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + } + unwrapTo(t) { + return new e( + this.overscaledZ, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y, + ); + } + overscaleFactor() { + return 2 ** (this.overscaledZ - this.canonical.z); + } + toUnwrapped() { + return new LQ(this.wrap, this.canonical); + } + toString() { + return `${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`; + } + getTilePoint(t) { + return this.canonical.getTilePoint(new ai(t.x - this.wrap, t.y)); + } + normalizeCoordinates(t, n, r = Ut) { + if (t >= 0 && t < r && n >= 0 && n < r) + return { tileID: this, x: t, y: n }; + let o = Math.floor(t / r), + a = Math.floor(n / r), + i = t - o * r, + s = n - a * r, + l = this.canonical.z, + c = 1 << l, + u = this.canonical.y + a; + if (u < 0 || u >= c) return null; + let d = this.canonical.x + o, + p = this.wrap; + return ( + d < 0 + ? ((p -= Math.ceil(-d / c)), (d = ((d % c) + c) % c)) + : d >= c && ((p += Math.floor(d / c)), (d %= c)), + { tileID: new e(this.overscaledZ, p, l, d, u), x: i, y: s } + ); + } + }, + nFe, + BQ = "_geojsonTileLayer", + _4r = class { + constructor(e) { + ((this._stringToNumber = {}), (this._numberToString = [])); + for (let t = 0; t < e.length; t++) { + let n = e[t]; + ((this._stringToNumber[n] = t), (this._numberToString[t] = n)); + } + } + encode(e) { + return this._stringToNumber[e]; + } + decode(e) { + if (e >= this._numberToString.length) + throw Error( + `Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`, + ); + return this._numberToString[e]; + } + }, + mNe = class { + constructor(e, t, n, r, o) { + ((this.type = "Feature"), + (this._vectorTileFeature = e), + (this._x = n), + (this._y = r), + (this._z = t)); + for (let a in e.properties) + typeof e.properties[a] == "string" && + e.properties[a].startsWith("__$json__:") && + (e.properties[a] = JSON.parse(e.properties[a].slice(10))); + ((this.properties = e.properties), (this.id = o)); + } + projectPoint(e, t, n, r) { + return [ + ((e.x + t) * 360) / r - 180, + (360 / Math.PI) * + Math.atan(Math.exp((1 - ((e.y + n) * 2) / r) * Math.PI)) - + 90, + ]; + } + projectLine(e, t, n, r) { + return e.map((o) => this.projectPoint(o, t, n, r)); + } + get geometry() { + if (this._geometry) return this._geometry; + let e = this._vectorTileFeature, + t = e.extent * 2 ** this._z, + n = e.extent * this._x, + r = e.extent * this._y, + o = e.loadGeometry(); + switch (e.type) { + case 1: { + let a = []; + for (let s of o) a.push(s[0]); + let i = this.projectLine(a, n, r, t); + this._geometry = + a.length === 1 + ? { type: "Point", coordinates: i[0] } + : { type: "MultiPoint", coordinates: i }; + break; + } + case 2: { + let a = o.map((i) => this.projectLine(i, n, r, t)); + this._geometry = + a.length === 1 + ? { type: "LineString", coordinates: a[0] } + : { type: "MultiLineString", coordinates: a }; + break; + } + case 3: { + let a = gln(o), + i = []; + for (let s of a) i.push(s.map((l) => this.projectLine(l, n, r, t))); + this._geometry = + i.length === 1 + ? { type: "Polygon", coordinates: i[0] } + : { type: "MultiPolygon", coordinates: i }; + break; + } + default: + throw Error(`unknown feature type: ${e.type}`); + } + return this._geometry; + } + set geometry(e) { + this._geometry = e; + } + toJSON() { + let e = { geometry: this.geometry }; + for (let t in this) + t !== "_geometry" && + t !== "_vectorTileFeature" && + t !== "_x" && + t !== "_y" && + t !== "_z" && + (e[t] = this[t]); + return e; + } + }, + t7 = class { + constructor(e, t, n) { + ((this._name = e), + (this.dataBuffer = t), + typeof n == "number" + ? (this._size = n) + : ((this.nullabilityBuffer = n), (this._size = n.size()))); + } + getValue(e) { + return this.nullabilityBuffer && !this.nullabilityBuffer.get(e) + ? null + : this.getValueFromBuffer(e); + } + has(e) { + return this.nullabilityBuffer?.get(e) || !this.nullabilityBuffer; + } + get name() { + return this._name; + } + get size() { + return this._size; + } + }, + rme, + hNe, + gNe, + tcn, + yNe, + vNe, + H4r = class { + constructor(e, t, n, r, o = 4096) { + if ( + ((this._name = e), + (this._geometryVector = t), + (this._idVector = n), + (this._propertyVectors = r), + (this._extent = o), + e.length === 0) + ) + throw Error("Missing layer name"); + } + get name() { + return this._name; + } + get idVector() { + return this._idVector; + } + get geometryVector() { + return this._geometryVector; + } + get propertyVectors() { + return this._propertyVectors ?? []; + } + getPropertyVector(e) { + return ( + (this.propertyVectorsMap ||= new Map( + this.propertyVectors.map((t) => [t.name, t]), + )), + this.propertyVectorsMap.get(e) + ); + } + get numFeatures() { + return this.geometryVector.numGeometries; + } + get extent() { + return this._extent; + } + getFeatures() { + let e = [], + t = this.geometryVector.getGeometries(); + for (let n = 0; n < this.numFeatures; n++) { + let r; + if (this.idVector) { + let i = this.idVector.getValue(n); + i !== null && + (r = this.containsMaxSafeIntegerValues(this.idVector) + ? Number(i) + : i); + } + let o = { + coordinates: t[n], + type: this.geometryVector.geometryType(n), + }, + a = {}; + for (let i of this.propertyVectors) { + if (!i) continue; + let s = i.name, + l = i.getValue(n); + l !== null && (a[s] = l); + } + e.push({ id: r, geometry: o, properties: a }); + } + return e; + } + containsMaxSafeIntegerValues(e) { + return ( + e instanceof hNe || + e instanceof vNe || + e instanceof yNe || + e instanceof gNe + ); + } + }, + OZ, + Ua, + ZC, + ncn, + rcn = class { + constructor(e) { + this.value = e; + } + get() { + return this.value; + } + set(e) { + this.value = e; + } + increment() { + return this.value++; + } + add(e) { + this.value += e; + } + }, + xo, + Ly, + bNe, + oUe, + xNe = 65536, + aUe, + p6r, + ld, + xh, + Cw, + tp, + nCr, + Uan, + rCr, + oCr, + aCr, + iCr, + Ns, + gv = class { + constructor(e, t) { + ((this.values = e), (this._size = t)); + } + get(e) { + let t = Math.floor(e / 8), + n = e % 8; + return ((this.values[t] >> n) & 1) == 1; + } + set(e, t) { + let n = Math.floor(e / 8), + r = e % 8; + this.values[n] = this.values[n] | (+!!t << r); + } + getInt(e) { + let t = Math.floor(e / 8), + n = e % 8; + return (this.values[t] >> n) & 1; + } + size() { + return this._size; + } + getBuffer() { + return this.values; + } + }, + mCr, + ycn, + vcn, + Zf, + ICr, + r7, + bcn = class { + constructor(e, t, n, r, o) { + ((this._vertexBufferType = e), + (this._topologyVector = t), + (this._vertexOffsets = n), + (this._vertexBuffer = r), + (this._mortonSettings = o)); + } + get vertexBufferType() { + return this._vertexBufferType; + } + get topologyVector() { + return this._topologyVector; + } + get vertexOffsets() { + return this._vertexOffsets; + } + get vertexBuffer() { + return this._vertexBuffer; + } + getSimpleEncodedVertex(e) { + let t = this.vertexOffsets ? this.vertexOffsets[e] * 2 : e * 2; + return [this.vertexBuffer[t], this.vertexBuffer[t + 1]]; + } + getVertex(e) { + if (this.vertexOffsets && this.mortonSettings) { + let n = this.vertexOffsets[e], + r = this.vertexBuffer[n], + o = TNe( + r, + this.mortonSettings.numBits, + this.mortonSettings.coordinateShift, + ); + return [o.x, o.y]; + } + let t = this.vertexOffsets ? this.vertexOffsets[e] * 2 : e * 2; + return [this.vertexBuffer[t], this.vertexBuffer[t + 1]]; + } + getGeometries() { + return TCr(this); + } + get mortonSettings() { + return this._mortonSettings; + } + }, + xcn, + wcn, + Scn, + LCr, + BCr, + NCr, + zCr, + Ccn, + kNe, + Van, + LL, + Ecn, + Gan, + Ew, + NT, + ep, + f5r, + Zan = "0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)", + oFe, + b5r = class { + constructor(e, t) { + switch ( + ((this._featureData = e), + (this.properties = this._featureData.properties || {}), + this._featureData.geometry?.type) + ) { + case Zf.POINT: + case Zf.MULTIPOINT: + this.type = 1; + break; + case Zf.LINESTRING: + case Zf.MULTILINESTRING: + this.type = 2; + break; + case Zf.POLYGON: + case Zf.MULTIPOLYGON: + this.type = 3; + break; + default: + this.type = 0; + } + ((this.extent = t), (this.id = Number(this._featureData.id))); + } + loadGeometry() { + let e = []; + for (let t of this._featureData.geometry.coordinates) { + let n = []; + for (let r of t) n.push(new ft(r.x, r.y)); + e.push(n); + } + return e; + } + }, + x5r = class { + constructor(e) { + ((this.features = []), + (this.featureTable = e), + (this.name = e.name), + (this.extent = e.extent), + (this.version = 2), + (this.features = e.getFeatures()), + (this.length = this.features.length)); + } + feature(e) { + return new b5r(this.features[e], this.extent); + } + }, + A5r = class { + constructor(e) { + this.layers = {}; + let t = y5r(new Uint8Array(e)); + this.layers = t.reduce((n, r) => ({ ...n, [r.name]: new x5r(r) }), {}); + } + }, + w5r = class { + constructor(e, t) { + ((this.tileID = e), + (this.x = e.canonical.x), + (this.y = e.canonical.y), + (this.z = e.canonical.z), + (this.grid = new fFe(Ut, 16, 0)), + (this.grid3D = new fFe(Ut, 16, 0)), + (this.featureIndexArray = new _sn()), + (this.promoteId = t)); + } + insert(e, t, n, r, o, a) { + let i = this.featureIndexArray.length; + this.featureIndexArray.emplaceBack(n, r, o); + let s = a ? this.grid3D : this.grid; + for (let l of t) { + let c = [1 / 0, 1 / 0, -1 / 0, -1 / 0]; + for (let u of l) + ((c[0] = Math.min(c[0], u.x)), + (c[1] = Math.min(c[1], u.y)), + (c[2] = Math.max(c[2], u.x)), + (c[3] = Math.max(c[3], u.y))); + c[0] < 8192 && + c[1] < 8192 && + c[2] >= 0 && + c[3] >= 0 && + s.insert(i, c[0], c[1], c[2], c[3]); + } + } + loadVTLayers() { + if (!this.vtLayers) { + switch (this.encoding) { + case "mlt": + this.vtLayers = new A5r(this.rawTileData).layers; + break; + default: + this.vtLayers = new lwr(new Bln(this.rawTileData)).layers; + } + this.sourceLayerCoder = new _4r( + this.vtLayers ? Object.keys(this.vtLayers).sort() : [BQ], + ); + } + return this.vtLayers; + } + query(e, t, n, r) { + this.loadVTLayers(); + let o = e.params, + a = Ut / e.tileSize / e.scale, + i = zL(o.filter, "queryRenderedFeatures filter", o.globalState), + s = e.queryGeometry, + l = e.queryPadding * a, + c = By.fromPoints(s), + u = this.grid.query(c.minX - l, c.minY - l, c.maxX + l, c.maxY + l), + d = By.fromPoints(e.cameraQueryGeometry).expandBy(l), + p = this.grid3D.query(d.minX, d.minY, d.maxX, d.maxY, (g, v, y, x) => + KAr(e.cameraQueryGeometry, g - l, v - l, y + l, x + l), + ); + for (let g of p) u.push(g); + u.sort(C5r); + let f = {}, + m; + for (let g of u) { + if (g === m) continue; + m = g; + let v = this.featureIndexArray.get(g), + y = null; + this.loadMatchingFeature( + f, + v.bucketIndex, + v.sourceLayerIndex, + v.featureIndex, + i, + o.layers, + o.availableImages, + t, + n, + r, + (x, A, w) => ( + (y ||= jT(x)), + A.queryIntersectsFeature({ + queryGeometry: s, + feature: x, + featureState: w, + geometry: y, + zoom: this.z, + transform: e.transform, + pixelsToTileUnits: a, + pixelPosMatrix: e.pixelPosMatrix, + unwrappedTileID: this.tileID.toUnwrapped(), + getElevation: e.getElevation, + }) + ), + ); + } + return f; + } + loadMatchingFeature(e, t, n, r, o, a, i, s, l, c, u) { + let d = this.bucketLayerIDs[t]; + if (a && !d.some((g) => a.has(g))) return; + let p = this.sourceLayerCoder.decode(n), + f = this.vtLayers[p].feature(r); + if (o.needGeometry) { + let g = jC(f, !0); + if ( + !o.filter(new oi(this.tileID.overscaledZ), g, this.tileID.canonical) + ) + return; + } else if (!o.filter(new oi(this.tileID.overscaledZ), f)) return; + let m = this.getId(f, p); + for (let g of d) { + if (a && !a.has(g)) continue; + let v = s[g]; + if (!v) continue; + let y = {}; + m && c && (y = c.getState(v.sourceLayer || "_geojsonTileLayer", m)); + let x = rr({}, l[g]); + ((x.paint = Qan(x.paint, v.paint, f, y, i)), + (x.layout = Qan(x.layout, v.layout, f, y, i))); + let A = !u || u(f, v, y); + if (!A) continue; + let w = new mNe(f, this.z, this.x, this.y, m); + w.layer = x; + let C = e[g]; + (C === void 0 && (C = e[g] = []), + C.push({ featureIndex: r, feature: w, intersectionZ: A })); + } + } + lookupSymbolFeatures(e, t, n, r, o, a, i, s) { + let l = {}; + this.loadVTLayers(); + let c = zL( + o.filterSpec, + "queryRenderedFeatures symbol filter", + o.globalState, + ); + for (let u of e) this.loadMatchingFeature(l, n, r, u, c, a, i, s, t); + return l; + } + hasLayer(e) { + for (let t of this.bucketLayerIDs) + for (let n of t) if (e === n) return !0; + return !1; + } + getId(e, t) { + let n = e.id; + if (this.promoteId) { + let r = + typeof this.promoteId == "string" + ? this.promoteId + : this.promoteId[t]; + ((n = e.properties[r]), + typeof n == "boolean" && (n = Number(n)), + n === void 0 && + e.properties?.cluster && + this.promoteId && + (n = Number(e.properties.cluster_id))); + } + return n; + } + }, + Dcn = class { + constructor(e, t) { + ((this.max = e), (this.onRemove = t), this.reset()); + } + reset() { + for (let e in this.data) + for (let t of this.data[e]) + (t.timeout && clearTimeout(t.timeout), this.onRemove(t.value)); + return ((this.data = {}), (this.order = []), this); + } + add(e, t, n) { + let r = e.wrapped().key; + this.data[r] === void 0 && (this.data[r] = []); + let o = { value: t, timeout: void 0 }; + if ( + (n !== void 0 && + (o.timeout = setTimeout(() => { + this.remove(e, o); + }, n)), + this.data[r].push(o), + this.order.push(r), + this.order.length > this.max) + ) { + let a = this._getAndRemoveByKey(this.order[0]); + a && this.onRemove(a); + } + return this; + } + has(e) { + return e.wrapped().key in this.data; + } + getAndRemove(e) { + return this.has(e) ? this._getAndRemoveByKey(e.wrapped().key) : null; + } + _getAndRemoveByKey(e) { + let t = this.data[e].shift(); + return ( + t.timeout && clearTimeout(t.timeout), + this.data[e].length === 0 && delete this.data[e], + this.order.splice(this.order.indexOf(e), 1), + t.value + ); + } + getByKey(e) { + let t = this.data[e]; + return t ? t[0].value : null; + } + get(e) { + return this.has(e) ? this.data[e.wrapped().key][0].value : null; + } + remove(e, t) { + if (!this.has(e)) return this; + let n = e.wrapped().key, + r = t === void 0 ? 0 : this.data[n].indexOf(t), + o = this.data[n][r]; + return ( + this.data[n].splice(r, 1), + o.timeout && clearTimeout(o.timeout), + this.data[n].length === 0 && delete this.data[n], + this.onRemove(o.value), + this.order.splice(this.order.indexOf(n), 1), + this + ); + } + setMaxSize(e) { + for (this.max = e; this.order.length > this.max;) { + let t = this._getAndRemoveByKey(this.order[0]); + t && this.onRemove(t); + } + return this; + } + filter(e) { + let t = []; + for (let n in this.data) + for (let r of this.data[n]) e(r.value) || t.push(r); + for (let n of t) this.remove(n.value.tileID, n); + } + }; +var Lcn = P(() => { + ((Kvr = Object.create), + (Xan = Object.defineProperty), + (Jvr = Object.getOwnPropertyDescriptor), + (jvr = Object.getOwnPropertyNames), + ($vr = Object.getPrototypeOf), + (Wan = Object.prototype.hasOwnProperty)); + ((ft.prototype = { + clone() { + return new ft(this.x, this.y); + }, + add(e) { + return this.clone()._add(e); + }, + sub(e) { + return this.clone()._sub(e); + }, + multByPoint(e) { + return this.clone()._multByPoint(e); + }, + divByPoint(e) { + return this.clone()._divByPoint(e); + }, + mult(e) { + return this.clone()._mult(e); + }, + div(e) { + return this.clone()._div(e); + }, + rotate(e) { + return this.clone()._rotate(e); + }, + rotateAround(e, t) { + return this.clone()._rotateAround(e, t); + }, + matMult(e) { + return this.clone()._matMult(e); + }, + unit() { + return this.clone()._unit(); + }, + perp() { + return this.clone()._perp(); + }, + round() { + return this.clone()._round(); + }, + mag() { + return Math.sqrt(this.x * this.x + this.y * this.y); + }, + equals(e) { + return this.x === e.x && this.y === e.y; + }, + dist(e) { + return Math.sqrt(this.distSqr(e)); + }, + distSqr(e) { + let t = e.x - this.x, + n = e.y - this.y; + return t * t + n * n; + }, + angle() { + return Math.atan2(this.y, this.x); + }, + angleTo(e) { + return Math.atan2(this.y - e.y, this.x - e.x); + }, + angleWith(e) { + return this.angleWithSep(e.x, e.y); + }, + angleWithSep(e, t) { + return Math.atan2(this.x * t - this.y * e, this.x * e + this.y * t); + }, + _matMult(e) { + let t = e[0] * this.x + e[1] * this.y, + n = e[2] * this.x + e[3] * this.y; + return ((this.x = t), (this.y = n), this); + }, + _add(e) { + return ((this.x += e.x), (this.y += e.y), this); + }, + _sub(e) { + return ((this.x -= e.x), (this.y -= e.y), this); + }, + _mult(e) { + return ((this.x *= e), (this.y *= e), this); + }, + _div(e) { + return ((this.x /= e), (this.y /= e), this); + }, + _multByPoint(e) { + return ((this.x *= e.x), (this.y *= e.y), this); + }, + _divByPoint(e) { + return ((this.x /= e.x), (this.y /= e.y), this); + }, + _unit() { + return (this._div(this.mag()), this); + }, + _perp() { + let e = this.y; + return ((this.y = this.x), (this.x = -e), this); + }, + _rotate(e) { + let t = Math.cos(e), + n = Math.sin(e), + r = t * this.x - n * this.y, + o = n * this.x + t * this.y; + return ((this.x = r), (this.y = o), this); + }, + _rotateAround(e, t) { + let n = Math.cos(e), + r = Math.sin(e), + o = t.x + n * (this.x - t.x) - r * (this.y - t.y), + a = t.y + r * (this.x - t.x) + n * (this.y - t.y); + return ((this.x = o), (this.y = a), this); + }, + _round() { + return ( + (this.x = Math.round(this.x)), + (this.y = Math.round(this.y)), + this + ); + }, + constructor: ft, + }), + (ft.convert = function (e) { + if (e instanceof ft) return e; + if (Array.isArray(e)) return new ft(+e[0], +e[1]); + if (e.x !== void 0 && e.y !== void 0) return new ft(+e.x, +e.y); + throw Error("Expected [x, y] or {x, y} point format"); + })); + Fd = typeof Float32Array < "u" ? Float32Array : Array; + ffe = abr; + yv = ibr; + ((Gx = hfe), (cQ = Fy)); + (function () { + var e = ein(); + return function (t, n, r, o, a, i) { + var s, l; + for ( + n ||= 3, + r ||= 0, + l = o ? Math.min(o * n + r, t.length) : t.length, + s = r; + s < l; + s += n + ) + ((e[0] = t[s]), + (e[1] = t[s + 1]), + (e[2] = t[s + 2]), + a(e, e, i), + (t[s] = e[0]), + (t[s + 1] = e[1]), + (t[s + 2] = e[2])); + return t; + }; + })(); + sin = cbr; + (function () { + var e = sbr(); + return function (t, n, r, o, a, i) { + var s, l; + for ( + n ||= 4, + r ||= 0, + l = o ? Math.min(o * n + r, t.length) : t.length, + s = r; + s < l; + s += n + ) + ((e[0] = t[s]), + (e[1] = t[s + 1]), + (e[2] = t[s + 2]), + (e[3] = t[s + 3]), + a(e, e, i), + (t[s] = e[0]), + (t[s + 1] = e[1]), + (t[s + 2] = e[2]), + (t[s + 3] = e[3])); + return t; + }; + })(); + ((pUe = lbr), (xon = ubr)); + ((function () { + var e = ein(), + t = von(1, 0, 0), + n = von(0, 1, 0); + return function (r, o, a) { + var i = bc(o, a); + return i < -0.999999 + ? (wh(e, t, o), + cQ(e) < 0.000001 && wh(e, n, o), + Tm(e, e), + dbr(r, e, Math.PI), + r) + : i > 0.999999 + ? ((r[0] = 0), (r[1] = 0), (r[2] = 0), (r[3] = 1), r) + : (wh(e, o, a), + (r[0] = e[0]), + (r[1] = e[1]), + (r[2] = e[2]), + (r[3] = 1 + i), + xon(r, r)); + }; + })(), + (function () { + var e = bon(), + t = bon(); + return function (n, r, o, a, i, s) { + return ( + FZ(e, r, i, s), + FZ(t, o, a, s), + FZ(n, e, t, 2 * s * (1 - s)), + n + ); + }; + })(), + (function () { + var e = uUe(); + return function (t, n, r, o) { + return ( + (e[0] = r[0]), + (e[3] = r[1]), + (e[6] = r[2]), + (e[1] = o[0]), + (e[4] = o[1]), + (e[7] = o[2]), + (e[2] = -n[0]), + (e[5] = -n[1]), + (e[8] = -n[2]), + xon(t, pbr(t, e)) + ); + }; + })()); + cin = fbr; + (function () { + var e = bfe(); + return function (t, n, r, o, a, i) { + var s, l; + for ( + n ||= 2, + r ||= 0, + l = o ? Math.min(o * n + r, t.length) : t.length, + s = r; + s < l; + s += n + ) + ((e[0] = t[s]), + (e[1] = t[s + 1]), + a(e, e, i), + (t[s] = e[0]), + (t[s + 1] = e[1])); + return t; + }; + })(); + wfe = Afe(0.25, 0.1, 0.25, 1); + won = {}; + ((Sin = { + touchstart: !0, + touchmove: !0, + touchmoveWindow: !0, + touchend: !0, + touchcancel: !0, + }), + (Cin = { + dblclick: !0, + click: !0, + mouseover: !0, + mouseout: !0, + mousedown: !0, + mousemove: !0, + mousemoveWindow: !0, + mouseup: !0, + mouseupWindow: !0, + contextmenu: !0, + wheel: !0, + })); + ZL = class extends Error { + constructor(e = Son) { + (super(e instanceof Error ? e.message : e), + (this.name = Son), + e instanceof Error && e.stack && (this.stack = e.stack)); + } + }; + KT = { + MAX_PARALLEL_IMAGE_REQUESTS: 16, + MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME: 8, + MAX_TILE_CACHE_ZOOM_LEVELS: 5, + REGISTERED_PROTOCOLS: {}, + WORKER_URL: "", + }; + qZ = class extends Error { + constructor(e, t, n, r) { + (super(`AJAXError: ${t} (${e}): ${n}`), + (this.status = e), + (this.statusText = t), + (this.url = n), + (this.body = r)); + } + }; + ((lr = class extends JC { + constructor(e, t = {}) { + super("error", rr({ error: e }, t)); + } + }), + (Rin = { + $version: 8, + $root: { + version: { required: !0, type: "enum", values: [8] }, + name: { type: "string" }, + metadata: { type: "*" }, + center: { type: "array", value: "number", length: 2 }, + centerAltitude: { type: "number" }, + zoom: { type: "number" }, + bearing: { type: "number", default: 0, period: 360, units: "degrees" }, + pitch: { type: "number", default: 0, units: "degrees" }, + roll: { type: "number", default: 0, units: "degrees" }, + state: { type: "state", default: {} }, + light: { type: "light" }, + sky: { type: "sky" }, + projection: { type: "projection" }, + terrain: { type: "terrain" }, + sources: { required: !0, type: "sources" }, + sprite: { type: "sprite" }, + glyphs: { type: "string" }, + "font-faces": { type: "fontFaces" }, + transition: { type: "transition" }, + layers: { required: !0, type: "array", value: "layer" }, + }, + sources: { "*": { type: "source" } }, + source: [ + "source_vector", + "source_raster", + "source_raster_dem", + "source_geojson", + "source_video", + "source_image", + ], + source_vector: { + type: { required: !0, type: "enum", values: { vector: {} } }, + url: { type: "string" }, + tiles: { type: "array", value: "string" }, + bounds: { + type: "array", + value: "number", + length: 4, + default: [-180, -85.051129, 180, 85.051129], + }, + scheme: { type: "enum", values: { xyz: {}, tms: {} }, default: "xyz" }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + attribution: { type: "string" }, + promoteId: { type: "promoteId" }, + volatile: { type: "boolean", default: !1 }, + encoding: { + type: "enum", + values: { mvt: {}, mlt: {} }, + default: "mvt", + }, + "*": { type: "*" }, + }, + source_raster: { + type: { required: !0, type: "enum", values: { raster: {} } }, + url: { type: "string" }, + tiles: { type: "array", value: "string" }, + bounds: { + type: "array", + value: "number", + length: 4, + default: [-180, -85.051129, 180, 85.051129], + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + tileSize: { type: "number", default: 512, units: "pixels" }, + scheme: { type: "enum", values: { xyz: {}, tms: {} }, default: "xyz" }, + attribution: { type: "string" }, + volatile: { type: "boolean", default: !1 }, + "*": { type: "*" }, + }, + source_raster_dem: { + type: { required: !0, type: "enum", values: { "raster-dem": {} } }, + url: { type: "string" }, + tiles: { type: "array", value: "string" }, + bounds: { + type: "array", + value: "number", + length: 4, + default: [-180, -85.051129, 180, 85.051129], + }, + minzoom: { type: "number", default: 0 }, + maxzoom: { type: "number", default: 22 }, + tileSize: { type: "number", default: 512, units: "pixels" }, + attribution: { type: "string" }, + encoding: { + type: "enum", + values: { terrarium: {}, mapbox: {}, custom: {} }, + default: "mapbox", + }, + redFactor: { type: "number", default: 1 }, + blueFactor: { type: "number", default: 1 }, + greenFactor: { type: "number", default: 1 }, + baseShift: { type: "number", default: 0 }, + volatile: { type: "boolean", default: !1 }, + "*": { type: "*" }, + }, + source_geojson: { + type: { required: !0, type: "enum", values: { geojson: {} } }, + data: { required: !0, type: "*" }, + maxzoom: { type: "number", default: 18 }, + attribution: { type: "string" }, + buffer: { type: "number", default: 128, maximum: 512, minimum: 0 }, + filter: { type: "filter" }, + tolerance: { type: "number", default: 0.375 }, + cluster: { type: "boolean", default: !1 }, + clusterRadius: { type: "number", default: 50, minimum: 0 }, + clusterMaxZoom: { type: "number" }, + clusterMinPoints: { type: "number" }, + clusterProperties: { type: "*" }, + lineMetrics: { type: "boolean", default: !1 }, + generateId: { type: "boolean", default: !1 }, + promoteId: { type: "promoteId" }, + }, + source_video: { + type: { required: !0, type: "enum", values: { video: {} } }, + urls: { required: !0, type: "array", value: "string" }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { type: "array", length: 2, value: "number" }, + }, + }, + source_image: { + type: { required: !0, type: "enum", values: { image: {} } }, + url: { type: "string" }, + coordinates: { + required: !0, + type: "array", + length: 4, + value: { type: "array", length: 2, value: "number" }, + }, + }, + layer: { + id: { type: "string", required: !0 }, + type: { + type: "enum", + values: { + fill: {}, + line: {}, + symbol: {}, + circle: {}, + heatmap: {}, + "fill-extrusion": {}, + raster: {}, + hillshade: {}, + "color-relief": {}, + background: {}, + }, + required: !0, + }, + metadata: { type: "*" }, + source: { type: "string" }, + "source-layer": { type: "string" }, + minzoom: { type: "number", minimum: 0, maximum: 24 }, + maxzoom: { type: "number", minimum: 0, maximum: 24 }, + filter: { type: "filter" }, + layout: { type: "layout" }, + paint: { type: "paint" }, + }, + layout: [ + "layout_fill", + "layout_line", + "layout_circle", + "layout_heatmap", + "layout_fill-extrusion", + "layout_symbol", + "layout_raster", + "layout_hillshade", + "layout_color-relief", + "layout_background", + ], + layout_background: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + layout_fill: { + "fill-sort-key": { + type: "number", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + layout_circle: { + "circle-sort-key": { + type: "number", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + layout_heatmap: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + "layout_fill-extrusion": { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + "fill-extrusion-rounded-corner-distance": { + type: "number", + default: 0, + minimum: 0, + units: "meters", + "property-type": "constant", + }, + }, + layout_line: { + "line-cap": { + type: "enum", + values: { butt: {}, round: {}, square: {} }, + default: "butt", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "line-join": { + type: "enum", + values: { bevel: {}, round: {}, miter: {} }, + default: "miter", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "line-miter-limit": { + type: "number", + default: 2, + requires: [{ "line-join": "miter" }], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "line-round-limit": { + type: "number", + default: 1.05, + requires: [{ "line-join": "round" }], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "line-sort-key": { + type: "number", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + layout_symbol: { + "symbol-placement": { + type: "enum", + values: { point: {}, line: {}, "line-center": {} }, + default: "point", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "symbol-spacing": { + type: "number", + default: 250, + minimum: 1, + units: "pixels", + requires: [{ "symbol-placement": "line" }], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "symbol-avoid-edges": { + type: "boolean", + default: !1, + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "symbol-sort-key": { + type: "number", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "symbol-z-order": { + type: "enum", + values: { auto: {}, "viewport-y": {}, source: {} }, + default: "auto", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-allow-overlap": { + type: "boolean", + default: !1, + requires: ["icon-image", { "!": "icon-overlap" }], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-overlap": { + type: "enum", + values: { never: {}, always: {}, cooperative: {} }, + requires: ["icon-image"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-ignore-placement": { + type: "boolean", + default: !1, + requires: ["icon-image"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-optional": { + type: "boolean", + default: !1, + requires: ["icon-image", "text-field"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-rotation-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "icon-size": { + type: "number", + default: 1, + minimum: 0, + units: "factor of the original icon size", + requires: ["icon-image"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "icon-text-fit": { + type: "enum", + values: { none: {}, width: {}, height: {}, both: {} }, + default: "none", + requires: ["icon-image", "text-field"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-text-fit-padding": { + type: "array", + value: "number", + length: 4, + default: [0, 0, 0, 0], + units: "pixels", + requires: [ + "icon-image", + "text-field", + { "icon-text-fit": ["both", "width", "height"] }, + ], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-image": { + type: "resolvedImage", + tokens: !0, + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "icon-rotate": { + type: "number", + default: 0, + period: 360, + units: "degrees", + requires: ["icon-image"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "icon-padding": { + type: "padding", + default: [2], + units: "pixels", + requires: ["icon-image"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "icon-keep-upright": { + type: "boolean", + default: !1, + requires: [ + "icon-image", + { "icon-rotation-alignment": "map" }, + { "symbol-placement": ["line", "line-center"] }, + ], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-offset": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + requires: ["icon-image"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "icon-anchor": { + type: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: ["icon-image"], + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "icon-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["icon-image"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {}, auto: {} }, + default: "auto", + requires: ["text-field"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-rotation-alignment": { + type: "enum", + values: { map: {}, viewport: {}, "viewport-glyph": {}, auto: {} }, + default: "auto", + requires: ["text-field"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-field": { + type: "formatted", + default: "", + tokens: !0, + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-font": { + type: "array", + value: "string", + default: ["Open Sans Regular", "Arial Unicode MS Regular"], + requires: ["text-field"], + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-size": { + type: "number", + default: 16, + minimum: 0, + units: "pixels", + requires: ["text-field"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-max-width": { + type: "number", + default: 10, + minimum: 0, + units: "ems", + requires: ["text-field"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-line-height": { + type: "number", + default: 1.2, + units: "ems", + requires: ["text-field"], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-letter-spacing": { + type: "number", + default: 0, + units: "ems", + requires: ["text-field"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-justify": { + type: "enum", + values: { auto: {}, left: {}, center: {}, right: {} }, + default: "center", + requires: ["text-field"], + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-radial-offset": { + type: "number", + units: "ems", + default: 0, + requires: ["text-field"], + "property-type": "data-driven", + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + }, + "text-variable-anchor": { + type: "array", + value: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + requires: ["text-field", { "symbol-placement": ["point"] }], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-variable-anchor-offset": { + type: "variableAnchorOffsetCollection", + requires: ["text-field", { "symbol-placement": ["point"] }], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-anchor": { + type: "enum", + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + "top-left": {}, + "top-right": {}, + "bottom-left": {}, + "bottom-right": {}, + }, + default: "center", + requires: ["text-field", { "!": "text-variable-anchor" }], + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-max-angle": { + type: "number", + default: 45, + units: "degrees", + requires: [ + "text-field", + { "symbol-placement": ["line", "line-center"] }, + ], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-writing-mode": { + type: "array", + value: "enum", + values: { horizontal: {}, vertical: {} }, + requires: ["text-field", { "symbol-placement": ["point"] }], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-rotate": { + type: "number", + default: 0, + period: 360, + units: "degrees", + requires: ["text-field"], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-padding": { + type: "number", + default: 2, + minimum: 0, + units: "pixels", + requires: ["text-field"], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-keep-upright": { + type: "boolean", + default: !0, + requires: [ + "text-field", + { "text-rotation-alignment": "map" }, + { "symbol-placement": ["line", "line-center"] }, + ], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-transform": { + type: "enum", + values: { none: {}, uppercase: {}, lowercase: {} }, + default: "none", + requires: ["text-field"], + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-offset": { + type: "array", + value: "number", + units: "ems", + length: 2, + default: [0, 0], + requires: ["text-field", { "!": "text-radial-offset" }], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "text-allow-overlap": { + type: "boolean", + default: !1, + requires: ["text-field", { "!": "text-overlap" }], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-overlap": { + type: "enum", + values: { never: {}, always: {}, cooperative: {} }, + requires: ["text-field"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-ignore-placement": { + type: "boolean", + default: !1, + requires: ["text-field"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-optional": { + type: "boolean", + default: !1, + requires: ["text-field", "icon-image"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "symbol-height-offset": { + type: "number", + default: 0, + units: "meters", + requires: [{ "symbol-placement": ["point"] }], + expression: { interpolated: !0, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + "symbol-height-anchor": { + type: "enum", + values: { ground: {}, absolute: {} }, + default: "ground", + requires: ["symbol-height-offset"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + layout_raster: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + layout_hillshade: { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + "layout_color-relief": { + visibility: { + type: "enum", + values: { visible: {}, none: {} }, + default: "visible", + expression: { interpolated: !1, parameters: ["global-state"] }, + "property-type": "data-constant", + }, + }, + filter: { + type: "boolean", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "data-driven", + }, + filter_operator: { + type: "enum", + values: { + "==": {}, + "!=": {}, + ">": {}, + ">=": {}, + "<": {}, + "<=": {}, + in: {}, + "!in": {}, + all: {}, + any: {}, + none: {}, + has: {}, + "!has": {}, + }, + }, + geometry_type: { + type: "enum", + values: { Point: {}, LineString: {}, Polygon: {} }, + }, + function: { + expression: { type: "expression" }, + stops: { type: "array", value: "function_stop" }, + base: { type: "number", default: 1, minimum: 0 }, + property: { type: "string", default: "$zoom" }, + type: { + type: "enum", + values: { + identity: {}, + exponential: {}, + interval: {}, + categorical: {}, + }, + default: "exponential", + }, + colorSpace: { + type: "enum", + values: { rgb: {}, lab: {}, hcl: {} }, + default: "rgb", + }, + default: { type: "*", required: !1 }, + }, + function_stop: { + type: "array", + minimum: 0, + maximum: 24, + value: ["number", "color"], + length: 2, + }, + expression: { type: "array", value: "expression_name", minimum: 1 }, + light: { + anchor: { + type: "enum", + default: "viewport", + values: { map: {}, viewport: {} }, + "property-type": "data-constant", + transition: !1, + expression: { interpolated: !1, parameters: ["zoom"] }, + }, + position: { + type: "array", + default: [1.15, 210, 30], + length: 3, + value: "number", + "property-type": "data-constant", + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + }, + color: { + type: "color", + "property-type": "data-constant", + default: "#ffffff", + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + intensity: { + type: "number", + "property-type": "data-constant", + default: 0.5, + minimum: 0, + maximum: 1, + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + }, + sky: { + "sky-color": { + type: "color", + "property-type": "data-constant", + default: "#88C6FC", + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + "horizon-color": { + type: "color", + "property-type": "data-constant", + default: "#ffffff", + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + "fog-color": { + type: "color", + "property-type": "data-constant", + default: "#ffffff", + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + "fog-ground-blend": { + type: "number", + "property-type": "data-constant", + default: 0.5, + minimum: 0, + maximum: 1, + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + "horizon-fog-blend": { + type: "number", + "property-type": "data-constant", + default: 0.8, + minimum: 0, + maximum: 1, + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + "sky-horizon-blend": { + type: "number", + "property-type": "data-constant", + default: 0.8, + minimum: 0, + maximum: 1, + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + "atmosphere-blend": { + type: "number", + "property-type": "data-constant", + default: 0.8, + minimum: 0, + maximum: 1, + expression: { interpolated: !0, parameters: ["zoom"] }, + transition: !0, + }, + }, + terrain: { + source: { type: "string", required: !0 }, + exaggeration: { type: "number", minimum: 0, default: 1 }, + }, + projection: { + type: { + type: "projectionDefinition", + default: "mercator", + "property-type": "data-constant", + transition: !1, + expression: { interpolated: !0, parameters: ["zoom"] }, + }, + }, + paint: [ + "paint_fill", + "paint_line", + "paint_circle", + "paint_heatmap", + "paint_fill-extrusion", + "paint_symbol", + "paint_raster", + "paint_hillshade", + "paint_color-relief", + "paint_background", + ], + paint_fill: { + "fill-antialias": { + type: "boolean", + default: !0, + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "fill-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "fill-layer-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "global-state"], + }, + "property-type": "data-constant", + }, + "fill-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "fill-outline-color": { + type: "color", + transition: !0, + requires: [{ "!": "fill-pattern" }, { "fill-antialias": !0 }], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "fill-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "fill-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-translate"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "fill-pattern": { + type: "resolvedImage", + transition: !0, + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "cross-faded-data-driven", + }, + }, + "paint_fill-extrusion": { + "fill-extrusion-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "fill-extrusion-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "fill-extrusion-pattern" }], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "fill-extrusion-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "fill-extrusion-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["fill-extrusion-translate"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "fill-extrusion-pattern": { + type: "resolvedImage", + transition: !0, + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "cross-faded-data-driven", + }, + "fill-extrusion-height": { + type: "number", + default: 0, + units: "meters", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "fill-extrusion-base": { + type: "number", + default: 0, + units: "meters", + transition: !0, + requires: ["fill-extrusion-height"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "fill-extrusion-vertical-gradient": { + type: "boolean", + default: !0, + transition: !1, + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + }, + paint_line: { + "line-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "line-layer-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "global-state"], + }, + "property-type": "data-constant", + }, + "line-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "line-pattern" }], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "line-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "line-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["line-translate"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "line-width": { + type: "number", + default: 1, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "line-gap-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "line-offset": { + type: "number", + default: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "line-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "line-dasharray": { + type: "array", + value: "number", + minimum: 0, + transition: !0, + units: "line widths", + requires: [{ "!": "line-pattern" }], + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "cross-faded-data-driven", + }, + "line-pattern": { + type: "resolvedImage", + transition: !0, + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + "property-type": "cross-faded-data-driven", + }, + "line-gradient": { + type: "color", + transition: !1, + requires: [ + { "!": "line-dasharray" }, + { "!": "line-pattern" }, + { source: "geojson", has: { lineMetrics: !0 } }, + ], + expression: { interpolated: !0, parameters: ["line-progress"] }, + "property-type": "color-ramp", + }, + }, + paint_circle: { + "circle-radius": { + type: "number", + default: 5, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "circle-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "circle-blur": { + type: "number", + default: 0, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "circle-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "circle-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "circle-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["circle-translate"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "circle-pitch-scale": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "circle-pitch-alignment": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "viewport", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "circle-stroke-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "circle-stroke-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "circle-stroke-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + }, + paint_heatmap: { + "heatmap-radius": { + type: "number", + default: 30, + minimum: 1, + transition: !0, + units: "pixels", + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "heatmap-weight": { + type: "number", + default: 1, + minimum: 0, + transition: !1, + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "heatmap-intensity": { + type: "number", + default: 1, + minimum: 0, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "heatmap-color": { + type: "color", + default: [ + "interpolate", + ["linear"], + ["heatmap-density"], + 0, + "rgba(0, 0, 255, 0)", + 0.1, + "royalblue", + 0.3, + "cyan", + 0.5, + "lime", + 0.7, + "yellow", + 1, + "red", + ], + transition: !1, + expression: { interpolated: !0, parameters: ["heatmap-density"] }, + "property-type": "color-ramp", + }, + "heatmap-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + }, + paint_symbol: { + "icon-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "icon-color": { + type: "color", + default: "#000000", + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "icon-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + transition: !0, + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "icon-halo-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "icon-halo-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "icon-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + requires: ["icon-image"], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "icon-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["icon-image", "icon-translate"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "text-color": { + type: "color", + default: "#000000", + transition: !0, + overridable: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "text-halo-color": { + type: "color", + default: "rgba(0, 0, 0, 0)", + transition: !0, + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "text-halo-width": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "text-halo-blur": { + type: "number", + default: 0, + minimum: 0, + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { + interpolated: !0, + parameters: ["zoom", "feature", "feature-state"], + }, + "property-type": "data-driven", + }, + "text-translate": { + type: "array", + value: "number", + length: 2, + default: [0, 0], + transition: !0, + units: "pixels", + requires: ["text-field"], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "text-translate-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "map", + requires: ["text-field", "text-translate"], + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + }, + paint_raster: { + "raster-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "raster-hue-rotate": { + type: "number", + default: 0, + period: 360, + transition: !0, + units: "degrees", + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "raster-brightness-min": { + type: "number", + default: 0, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "raster-brightness-max": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "raster-saturation": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "raster-contrast": { + type: "number", + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + resampling: { + type: "enum", + values: { linear: {}, nearest: {} }, + default: "linear", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "raster-resampling": { + type: "enum", + values: { linear: {}, nearest: {} }, + default: "linear", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "raster-fade-duration": { + type: "number", + default: 300, + minimum: 0, + transition: !1, + units: "milliseconds", + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + }, + paint_hillshade: { + "hillshade-illumination-direction": { + type: "numberArray", + default: 335, + minimum: 0, + maximum: 359, + transition: !1, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "hillshade-illumination-altitude": { + type: "numberArray", + default: 45, + minimum: 0, + maximum: 90, + transition: !1, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "hillshade-illumination-anchor": { + type: "enum", + values: { map: {}, viewport: {} }, + default: "viewport", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "hillshade-exaggeration": { + type: "number", + default: 0.5, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "hillshade-shadow-color": { + type: "colorArray", + default: "#000000", + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "hillshade-highlight-color": { + type: "colorArray", + default: "#FFFFFF", + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "hillshade-accent-color": { + type: "color", + default: "#000000", + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "hillshade-method": { + type: "enum", + values: { + standard: {}, + basic: {}, + combined: {}, + igor: {}, + multidirectional: {}, + }, + default: "standard", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + resampling: { + type: "enum", + values: { linear: {}, nearest: {} }, + default: "linear", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + }, + "paint_color-relief": { + "color-relief-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "color-relief-color": { + type: "color", + transition: !1, + expression: { interpolated: !0, parameters: ["elevation"] }, + "property-type": "color-ramp", + }, + resampling: { + type: "enum", + values: { linear: {}, nearest: {} }, + default: "linear", + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + }, + paint_background: { + "background-color": { + type: "color", + default: "#000000", + transition: !0, + requires: [{ "!": "background-pattern" }], + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + "background-pattern": { + type: "resolvedImage", + transition: !0, + expression: { interpolated: !1, parameters: ["zoom"] }, + "property-type": "cross-faded", + }, + "background-opacity": { + type: "number", + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ["zoom"] }, + "property-type": "data-constant", + }, + }, + transition: { + duration: { + type: "number", + default: 300, + minimum: 0, + units: "milliseconds", + }, + delay: { + type: "number", + default: 0, + minimum: 0, + units: "milliseconds", + }, + }, + "property-type": { + "data-driven": { type: "property-type" }, + "cross-faded": { type: "property-type" }, + "cross-faded-data-driven": { type: "property-type" }, + "color-ramp": { type: "property-type" }, + "data-constant": { type: "property-type" }, + constant: { type: "property-type" }, + }, + promoteId: { "*": { type: "string" } }, + interpolation: { type: "array", value: "interpolation_name", minimum: 1 }, + interpolation_name: { + type: "enum", + values: { + linear: { + syntax: { + overloads: [{ parameters: [], "output-type": "interpolation" }], + parameters: [], + }, + }, + exponential: { + syntax: { + overloads: [ + { parameters: ["base"], "output-type": "interpolation" }, + ], + parameters: [{ name: "base", type: "number literal" }], + }, + }, + "cubic-bezier": { + syntax: { + overloads: [ + { + parameters: ["x1", "y1", "x2", "y2"], + "output-type": "interpolation", + }, + ], + parameters: [ + { name: "x1", type: "number literal" }, + { name: "y1", type: "number literal" }, + { name: "x2", type: "number literal" }, + { name: "y2", type: "number literal" }, + ], + }, + }, + }, + }, + }), + (bt = Rin), + (Pin = [ + "type", + "source", + "source-layer", + "minzoom", + "maxzoom", + "filter", + "layout", + ]), + (gQ = { kind: "null" }), + (bn = { kind: "number" }), + (fo = { kind: "string" }), + (Uo = { kind: "boolean" }), + (mv = { kind: "color" }), + (Ife = { kind: "projectionDefinition" }), + (zT = { kind: "object" }), + (bo = { kind: "value" }), + (wbr = { kind: "error" }), + (Tfe = { kind: "collator" }), + (yQ = { kind: "formatted" }), + (kfe = { kind: "padding" }), + (ZZ = { kind: "colorArray" }), + (Rfe = { kind: "numberArray" }), + (vQ = { kind: "resolvedImage" }), + (Pfe = { kind: "variableAnchorOffsetCollection" })); + Sbr = [gQ, bn, fo, Uo, mv, Ife, yQ, zT, Im(bo), kfe, Rfe, ZZ, vQ, Pfe]; + ((Bin = 3 * aFe * aFe), (Cbr = Math.PI / 180), (Ebr = 180 / Math.PI)); + Rbr = + Object.hasOwn || + function (e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + }; + Mbr = { + aliceblue: [240, 248, 255], + antiquewhite: [250, 235, 215], + aqua: [0, 255, 255], + aquamarine: [127, 255, 212], + azure: [240, 255, 255], + beige: [245, 245, 220], + bisque: [255, 228, 196], + black: [0, 0, 0], + blanchedalmond: [255, 235, 205], + blue: [0, 0, 255], + blueviolet: [138, 43, 226], + brown: [165, 42, 42], + burlywood: [222, 184, 135], + cadetblue: [95, 158, 160], + chartreuse: [127, 255, 0], + chocolate: [210, 105, 30], + coral: [255, 127, 80], + cornflowerblue: [100, 149, 237], + cornsilk: [255, 248, 220], + crimson: [220, 20, 60], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgoldenrod: [184, 134, 11], + darkgray: [169, 169, 169], + darkgreen: [0, 100, 0], + darkgrey: [169, 169, 169], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkseagreen: [143, 188, 143], + darkslateblue: [72, 61, 139], + darkslategray: [47, 79, 79], + darkslategrey: [47, 79, 79], + darkturquoise: [0, 206, 209], + darkviolet: [148, 0, 211], + deeppink: [255, 20, 147], + deepskyblue: [0, 191, 255], + dimgray: [105, 105, 105], + dimgrey: [105, 105, 105], + dodgerblue: [30, 144, 255], + firebrick: [178, 34, 34], + floralwhite: [255, 250, 240], + forestgreen: [34, 139, 34], + fuchsia: [255, 0, 255], + gainsboro: [220, 220, 220], + ghostwhite: [248, 248, 255], + gold: [255, 215, 0], + goldenrod: [218, 165, 32], + gray: [128, 128, 128], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + grey: [128, 128, 128], + honeydew: [240, 255, 240], + hotpink: [255, 105, 180], + indianred: [205, 92, 92], + indigo: [75, 0, 130], + ivory: [255, 255, 240], + khaki: [240, 230, 140], + lavender: [230, 230, 250], + lavenderblush: [255, 240, 245], + lawngreen: [124, 252, 0], + lemonchiffon: [255, 250, 205], + lightblue: [173, 216, 230], + lightcoral: [240, 128, 128], + lightcyan: [224, 255, 255], + lightgoldenrodyellow: [250, 250, 210], + lightgray: [211, 211, 211], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightsalmon: [255, 160, 122], + lightseagreen: [32, 178, 170], + lightskyblue: [135, 206, 250], + lightslategray: [119, 136, 153], + lightslategrey: [119, 136, 153], + lightsteelblue: [176, 196, 222], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + limegreen: [50, 205, 50], + linen: [250, 240, 230], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + mediumaquamarine: [102, 205, 170], + mediumblue: [0, 0, 205], + mediumorchid: [186, 85, 211], + mediumpurple: [147, 112, 219], + mediumseagreen: [60, 179, 113], + mediumslateblue: [123, 104, 238], + mediumspringgreen: [0, 250, 154], + mediumturquoise: [72, 209, 204], + mediumvioletred: [199, 21, 133], + midnightblue: [25, 25, 112], + mintcream: [245, 255, 250], + mistyrose: [255, 228, 225], + moccasin: [255, 228, 181], + navajowhite: [255, 222, 173], + navy: [0, 0, 128], + oldlace: [253, 245, 230], + olive: [128, 128, 0], + olivedrab: [107, 142, 35], + orange: [255, 165, 0], + orangered: [255, 69, 0], + orchid: [218, 112, 214], + palegoldenrod: [238, 232, 170], + palegreen: [152, 251, 152], + paleturquoise: [175, 238, 238], + palevioletred: [219, 112, 147], + papayawhip: [255, 239, 213], + peachpuff: [255, 218, 185], + peru: [205, 133, 63], + pink: [255, 192, 203], + plum: [221, 160, 221], + powderblue: [176, 224, 230], + purple: [128, 0, 128], + rebeccapurple: [102, 51, 153], + red: [255, 0, 0], + rosybrown: [188, 143, 143], + royalblue: [65, 105, 225], + saddlebrown: [139, 69, 19], + salmon: [250, 128, 114], + sandybrown: [244, 164, 96], + seagreen: [46, 139, 87], + seashell: [255, 245, 238], + sienna: [160, 82, 45], + silver: [192, 192, 192], + skyblue: [135, 206, 235], + slateblue: [106, 90, 205], + slategray: [112, 128, 144], + slategrey: [112, 128, 144], + snow: [255, 250, 250], + springgreen: [0, 255, 127], + steelblue: [70, 130, 180], + tan: [210, 180, 140], + teal: [0, 128, 128], + thistle: [216, 191, 216], + tomato: [255, 99, 71], + turquoise: [64, 224, 208], + violet: [238, 130, 238], + wheat: [245, 222, 179], + white: [255, 255, 255], + whitesmoke: [245, 245, 245], + yellow: [255, 255, 0], + yellowgreen: [154, 205, 50], + }; + ((Kr = class e { + constructor(t, n, r, o = 1, a = !0) { + ((this.r = t), + (this.g = n), + (this.b = r), + (this.a = o), + a || + ((this.r *= o), + (this.g *= o), + (this.b *= o), + o || this.overwriteGetter("rgb", [t, n, r, o]))); + } + static { + this.black = new e(0, 0, 0, 1); + } + static { + this.white = new e(1, 1, 1, 1); + } + static { + this.transparent = new e(0, 0, 0, 0); + } + static { + this.red = new e(1, 0, 0, 1); + } + static parse(t) { + if (t instanceof e) return t; + if (typeof t != "string") return; + let n = Pbr(t); + if (n) return new e(...n, !1); + } + get rgb() { + let { r: t, g: n, b: r, a: o } = this, + a = o || 1 / 0; + return this.overwriteGetter("rgb", [t / a, n / a, r / a, o]); + } + get hcl() { + return this.overwriteGetter("hcl", Ibr(this.rgb)); + } + get lab() { + return this.overwriteGetter("lab", Fin(this.rgb)); + } + overwriteGetter(t, n) { + return (Object.defineProperty(this, t, { value: n }), n); + } + toString() { + let [t, n, r, o] = this.rgb; + return `rgba(${[t, n, r].map((a) => Math.round(a * 255)).join(",")},${o})`; + } + static interpolate(t, n, r, o = "rgb") { + switch (o) { + case "rgb": { + let [a, i, s, l] = BL(t.rgb, n.rgb, r); + return new e(a, i, s, l, !1); + } + case "hcl": { + let [a, i, s, l] = t.hcl, + [c, u, d, p] = n.hcl, + f, + m; + if (!isNaN(a) && !isNaN(c)) { + let A = c - a; + (c > a && A > 180 ? (A -= 360) : c < a && a - c > 180 && (A += 360), + (f = a + r * A)); + } else + isNaN(a) + ? isNaN(c) + ? (f = NaN) + : ((f = c), (s === 1 || s === 0) && (m = u)) + : ((f = a), (d === 1 || d === 0) && (m = i)); + let [g, v, y, x] = Tbr([ + f, + m ?? qC(i, u, r), + qC(s, d, r), + qC(l, p, r), + ]); + return new e(g, v, y, x, !1); + } + case "lab": { + let [a, i, s, l] = Uin(BL(t.lab, n.lab, r)); + return new e(a, i, s, l, !1); + } + } + } + }), + (Lbr = ["bottom", "center", "top"]), + (tl = class extends Error { + constructor(e, t) { + (super(e), (this.name = "RuntimeError"), (this.path = t)); + } + toJSON() { + return this.message; + } + }), + (Bbr = new Set([ + "center", + "left", + "right", + "top", + "bottom", + "top-left", + "top-right", + "bottom-left", + "bottom-right", + ]))); + Obr = ["Unknown", "Point", "LineString", "Polygon"]; + Hs = { + color: Kr.interpolate, + number: qC, + padding: qx.interpolate, + numberArray: Zx.interpolate, + colorArray: My.interpolate, + variableAnchorOffsetCollection: Hx.interpolate, + array: BL, + }; + ((Mpe = { string: fo, number: bn, boolean: Uo, object: zT }), + (Ton = { + "to-boolean": Uo, + "to-color": mv, + "to-number": bn, + "to-string": fo, + })); + ((rxr = QL("==", Qbr, Zin)), + (oxr = QL("!=", Xbr, jbr)), + (axr = QL("<", Wbr, $br)), + (ixr = QL(">", Ybr, exr)), + (sxr = QL("<=", Kbr, txr)), + (lxr = QL(">=", Jbr, nxr))); + Don = Math.PI / 180; + ((kL = { + "==": rxr, + "!=": oxr, + ">": ixr, + "<": axr, + ">=": lxr, + "<=": sxr, + array: ww, + at: _br, + boolean: ww, + case: qbr, + coalesce: qin, + collator: Qin, + format: _in, + image: uxr, + in: Hbr, + "index-of": Vbr, + interpolate: Dy, + "interpolate-hcl": Dy, + "interpolate-lab": Dy, + length: dxr, + let: Vin, + literal: FL, + match: Gbr, + number: ww, + "number-format": cxr, + object: ww, + semiliteral: Bxr, + slice: Zbr, + step: IUe, + string: ww, + "to-boolean": EL, + "to-color": EL, + "to-number": EL, + "to-string": EL, + var: Gin, + within: RUe, + distance: LUe, + "global-state": BUe, + }), + (Nx = class extends Error { + constructor(e, t) { + (super(t), (this.message = t), (this.key = e)); + } + })); + JT.register(kL, { + error: [ + wbr, + [fo], + (e, [t], n) => { + throw new tl(t.evaluate(e), n); + }, + ], + typeof: [fo, [bo], (e, [t]) => Al(yc(t.evaluate(e)))], + "to-rgba": [ + Im(bn, 4), + [mv], + (e, [t]) => { + let [n, r, o, a] = t.evaluate(e).rgb; + return [n * 255, r * 255, o * 255, a]; + }, + ], + rgb: [mv, [bn, bn, bn], Fon], + rgba: [mv, [bn, bn, bn, bn], Fon], + has: { + type: Uo, + overloads: [ + [[fo], (e, [t]) => Uon(t.evaluate(e), e.properties())], + [[fo, zT], (e, [t, n]) => Uon(t.evaluate(e), n.evaluate(e))], + ], + }, + get: { + type: bo, + overloads: [ + [[fo], (e, [t]) => WOe(t.evaluate(e), e.properties())], + [[fo, zT], (e, [t, n]) => WOe(t.evaluate(e), n.evaluate(e))], + ], + }, + "feature-state": [ + bo, + [fo], + (e, [t]) => WOe(t.evaluate(e), e.featureState || {}), + ], + properties: [zT, [], (e) => e.properties()], + "geometry-type": [fo, [], (e) => e.geometryType()], + id: [bo, [], (e) => e.id()], + zoom: [bn, [], (e) => e.globals.zoom], + "heatmap-density": [bn, [], (e) => e.globals.heatmapDensity || 0], + elevation: [bn, [], (e) => e.globals.elevation || 0], + "line-progress": [bn, [], (e) => e.globals.lineProgress || 0], + accumulated: [ + bo, + [], + (e) => (e.globals.accumulated === void 0 ? null : e.globals.accumulated), + ], + "+": [ + bn, + DT(bn), + (e, t) => { + let n = 0; + for (let r of t) n += r.evaluate(e); + return n; + }, + ], + "*": [ + bn, + DT(bn), + (e, t) => { + let n = 1; + for (let r of t) n *= r.evaluate(e); + return n; + }, + ], + "-": { + type: bn, + overloads: [ + [[bn, bn], (e, [t, n]) => t.evaluate(e) - n.evaluate(e)], + [[bn], (e, [t]) => -t.evaluate(e)], + ], + }, + "/": [bn, [bn, bn], (e, [t, n]) => t.evaluate(e) / n.evaluate(e)], + "%": [bn, [bn, bn], (e, [t, n]) => t.evaluate(e) % n.evaluate(e)], + ln2: [bn, [], () => Math.LN2], + pi: [bn, [], () => Math.PI], + e: [bn, [], () => Math.E], + "^": [bn, [bn, bn], (e, [t, n]) => t.evaluate(e) ** +n.evaluate(e)], + sqrt: [bn, [bn], (e, [t]) => Math.sqrt(t.evaluate(e))], + log10: [bn, [bn], (e, [t]) => Math.log(t.evaluate(e)) / Math.LN10], + ln: [bn, [bn], (e, [t]) => Math.log(t.evaluate(e))], + log2: [bn, [bn], (e, [t]) => Math.log(t.evaluate(e)) / Math.LN2], + sin: [bn, [bn], (e, [t]) => Math.sin(t.evaluate(e))], + cos: [bn, [bn], (e, [t]) => Math.cos(t.evaluate(e))], + tan: [bn, [bn], (e, [t]) => Math.tan(t.evaluate(e))], + asin: [bn, [bn], (e, [t]) => Math.asin(t.evaluate(e))], + acos: [bn, [bn], (e, [t]) => Math.acos(t.evaluate(e))], + atan: [bn, [bn], (e, [t]) => Math.atan(t.evaluate(e))], + min: [bn, DT(bn), (e, t) => Math.min(...t.map((n) => n.evaluate(e)))], + max: [bn, DT(bn), (e, t) => Math.max(...t.map((n) => n.evaluate(e)))], + abs: [bn, [bn], (e, [t]) => Math.abs(t.evaluate(e))], + round: [ + bn, + [bn], + (e, [t]) => { + let n = t.evaluate(e); + return n < 0 ? -Math.round(-n) : Math.round(n); + }, + ], + floor: [bn, [bn], (e, [t]) => Math.floor(t.evaluate(e))], + ceil: [bn, [bn], (e, [t]) => Math.ceil(t.evaluate(e))], + "filter-==": [ + Uo, + [fo, bo], + (e, [t, n]) => e.properties()[t.value] === n.value, + ], + "filter-id-==": [Uo, [bo], (e, [t]) => e.id() === t.value], + "filter-type-==": [Uo, [fo], (e, [t]) => e.geometryType() === t.value], + "filter-<": [ + Uo, + [fo, bo], + (e, [t, n]) => { + let r = e.properties()[t.value], + o = n.value; + return typeof r == typeof o && r < o; + }, + ], + "filter-id-<": [ + Uo, + [bo], + (e, [t]) => { + let n = e.id(), + r = t.value; + return typeof n == typeof r && n < r; + }, + ], + "filter->": [ + Uo, + [fo, bo], + (e, [t, n]) => { + let r = e.properties()[t.value], + o = n.value; + return typeof r == typeof o && r > o; + }, + ], + "filter-id->": [ + Uo, + [bo], + (e, [t]) => { + let n = e.id(), + r = t.value; + return typeof n == typeof r && n > r; + }, + ], + "filter-<=": [ + Uo, + [fo, bo], + (e, [t, n]) => { + let r = e.properties()[t.value], + o = n.value; + return typeof r == typeof o && r <= o; + }, + ], + "filter-id-<=": [ + Uo, + [bo], + (e, [t]) => { + let n = e.id(), + r = t.value; + return typeof n == typeof r && n <= r; + }, + ], + "filter->=": [ + Uo, + [fo, bo], + (e, [t, n]) => { + let r = e.properties()[t.value], + o = n.value; + return typeof r == typeof o && r >= o; + }, + ], + "filter-id->=": [ + Uo, + [bo], + (e, [t]) => { + let n = e.id(), + r = t.value; + return typeof n == typeof r && n >= r; + }, + ], + "filter-has": [ + Uo, + [bo], + (e, [t]) => { + let n = t.value, + r = e.properties(); + return n in r && r[n] !== void 0; + }, + ], + "filter-has-id": [Uo, [], (e) => e.id() !== null && e.id() !== void 0], + "filter-type-in": [ + Uo, + [Im(fo)], + (e, [t]) => t.value.indexOf(e.geometryType()) >= 0, + ], + "filter-id-in": [Uo, [Im(bo)], (e, [t]) => t.value.indexOf(e.id()) >= 0], + "filter-in-small": [ + Uo, + [fo, Im(bo)], + (e, [t, n]) => n.value.indexOf(e.properties()[t.value]) >= 0, + ], + "filter-in-large": [ + Uo, + [fo, Im(bo)], + (e, [t, n]) => + Fxr(e.properties()[t.value], n.value, 0, n.value.length - 1), + ], + all: { + type: Uo, + overloads: [ + [[Uo, Uo], (e, [t, n]) => t.evaluate(e) && n.evaluate(e)], + [ + DT(Uo), + (e, t) => { + for (let n of t) if (!n.evaluate(e)) return !1; + return !0; + }, + ], + ], + }, + any: { + type: Uo, + overloads: [ + [[Uo, Uo], (e, [t, n]) => t.evaluate(e) || n.evaluate(e)], + [ + DT(Uo), + (e, t) => { + for (let n of t) if (n.evaluate(e)) return !0; + return !1; + }, + ], + ], + }, + "!": [Uo, [Uo], (e, [t]) => !t.evaluate(e)], + "is-supported-script": [ + Uo, + [fo], + (e, [t]) => { + let n = e.globals && e.globals.isSupportedScript; + return !n || n(t.evaluate(e)); + }, + ], + upcase: [fo, [fo], (e, [t]) => t.evaluate(e).toUpperCase()], + downcase: [fo, [fo], (e, [t]) => t.evaluate(e).toLowerCase()], + concat: [fo, DT(bo), (e, t) => t.map((n) => NZ(n.evaluate(e))).join("")], + split: [ + Im(fo), + [fo, fo], + (e, [t, n]) => t.evaluate(e).split(n.evaluate(e)), + ], + join: [fo, [Im(fo), fo], (e, [t, n]) => t.evaluate(e).join(n.evaluate(e))], + "resolved-locale": [fo, [Tfe], (e, [t]) => t.evaluate(e).resolvedLocale()], + }); + FUe = /^(.*)-transition$/; + Jxr = { + type: "boolean", + default: !1, + transition: !1, + "property-type": "data-driven", + expression: { interpolated: !1, parameters: ["zoom", "feature"] }, + }; + Hon = { promoteId: oAr }; + hAr = /^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i; + Gon = { + "*"() { + return []; + }, + array: _Ue, + boolean: eAr, + number: zfe, + color: dFe, + constants: usn, + enum: JZ, + filter: HUe, + function: dsn, + layer: gsn, + object: Yg, + source: ysn, + light: vsn, + sky: bsn, + terrain: xsn, + projection: dAr, + projectionDefinition: pAr, + string: XC, + formatted: aAr, + resolvedImage: iAr, + padding: sAr, + numberArray: lAr, + colorArray: cAr, + variableAnchorOffsetCollection: uAr, + sprite: Asn, + state: wsn, + fontFaces: Ssn, + }; + ((Wg.source = ky(Ty(ysn))), + (Wg.sprite = ky(Ty(Asn))), + (Wg.glyphs = ky(Ty(Csn))), + (Wg.fontFaces = ky(Ty(Ssn))), + (Wg.light = ky(Ty(vsn))), + (Wg.sky = ky(Ty(bsn))), + (Wg.terrain = ky(Ty(xsn))), + (Wg.state = ky(Ty(wsn))), + (Wg.layer = ky(Ty(gsn))), + (Wg.filter = ky(Ty(HUe))), + (Wg.paintProperty = ky(Ty(msn))), + (Wg.layoutProperty = ky(Ty(hsn)))); + yAr = { + type: "enum", + "property-type": "data-constant", + expression: { interpolated: !1, parameters: ["global-state"] }, + values: { visible: {}, none: {} }, + transition: !1, + default: "visible", + }; + ((Sh = Wg), + (VUe = new Set( + Object.keys(bt) + .filter((e) => e.startsWith("source_")) + .map((e) => e.slice(7).replaceAll("_", "-")), + ))); + Sw = {}; + (Hn("Object", Object), + Hn("Set", Set), + Hn("TransferableGridIndex", fFe), + Hn("Color", Kr), + Hn("Error", Error), + Hn("AJAXError", qZ), + Hn("ResolvedImage", Vx), + Hn("StylePropertyFunction", asn), + Hn("StyleExpression", UUe, { omit: ["_evaluator"] }), + Hn("ZoomDependentExpression", jpe), + Hn("ZoomConstantExpression", KZ), + Hn("CompoundExpression", JT, { omit: ["_evaluate"] })); + for (let e in kL) kL[e]._classRegistryKey || Hn(`Expression_${e}`, kL[e]); + $Z = class extends dr { + possiblyEvaluate(e, t, n, r) { + if (e.value === void 0) + return new Py(this, { kind: "constant", value: void 0 }, t); + if (e.expression.kind === "constant") { + let o = e.expression.evaluate(t, null, {}, n, r), + a = + e.property.specification.type === "resolvedImage" && + typeof o != "string" + ? o.name + : o, + i = this._calculate(a, a, a, t); + return new Py(this, { kind: "constant", value: i }, t); + } + if (e.expression.kind === "camera") { + let o = this._calculate( + e.expression.evaluate({ zoom: t.zoom - 1 }), + e.expression.evaluate({ zoom: t.zoom }), + e.expression.evaluate({ zoom: t.zoom + 1 }), + t, + ); + return new Py(this, { kind: "constant", value: o }, t); + } + return new Py(this, e.expression, t); + } + evaluate(e, t, n, r, o, a) { + if (e.kind === "source") { + let i = e.evaluate(t, n, r, o, a); + return this._calculate(i, i, i, t); + } + return e.kind === "composite" + ? this._calculate( + e.evaluate({ zoom: Math.floor(t.zoom) - 1 }, n, r), + e.evaluate({ zoom: Math.floor(t.zoom) }, n, r), + e.evaluate({ zoom: Math.floor(t.zoom) + 1 }, n, r), + t, + ) + : e.value; + } + _calculate(e, t, n, r) { + return r.zoom > r.zoomHistory.lastIntegerZoom + ? { from: e, to: t } + : { from: n, to: t }; + } + interpolate(e) { + return e; + } + }; + (Hn("DataDrivenProperty", dr), + Hn("DataConstantProperty", Mn), + Hn("CrossFadedDataDrivenProperty", $Z), + Hn("CrossFadedProperty", Rsn), + Hn("ColorRampProperty", Vfe)); + ((bv = class extends Qp { + constructor(e, t, n) { + if ( + (super(), + (this.id = e.id), + (this.type = e.type), + (this._globalState = n), + (this._featureFilter = { + filter: () => !0, + needGeometry: !1, + getGlobalStateRefs: () => new Set(), + }), + (this._visibilityExpression = bAr( + this.visibility, + `layers[${this.id}].layout.visibility`, + n, + )), + e.type !== "custom" && + ((this.metadata = e.metadata), + (this.minzoom = e.minzoom), + (this.maxzoom = e.maxzoom), + e.type !== "background" && + ((this.source = e.source), + (this.sourceLayer = e["source-layer"]), + (this.filter = e.filter), + (this._featureFilter = zL( + e.filter, + `layers[${this.id}].filter`, + n, + ))), + t.layout && + (this._unevaluatedLayout = new wAr( + t.layout, + `layers[${this.id}].layout`, + n, + )), + t.paint)) + ) { + this._transitionablePaint = new wQ( + t.paint, + `layers[${this.id}].paint`, + n, + ); + for (let r in e.paint) + this.setPaintProperty(r, e.paint[r], { validate: !1 }); + for (let r in e.layout) + this.setLayoutProperty(r, e.layout[r], { validate: !1 }); + ((this._transitioningPaint = + this._transitionablePaint.untransitioned()), + (this.paint = new Hfe(t.paint))); + } + } + setFilter(e) { + ((this.filter = e), + (this._featureFilter = zL( + e, + `layers[${this.id}].filter`, + this._globalState, + ))); + } + getCrossfadeParameters() { + return this._crossfadeParameters; + } + getLayoutProperty(e) { + if (e === "visibility") return this.visibility; + if (this._transitionablePaint?.hasProperty(e)) throw Error(e + Xon); + if (!this._unevaluatedLayout) + throw Error( + `Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`, + ); + return this._unevaluatedLayout.getValue(e); + } + getLayoutAffectingGlobalStateRefs() { + let e = new Set(); + for (let t of this._visibilityExpression.getGlobalStateRefs()) e.add(t); + if (this._unevaluatedLayout) + for (let t in this._unevaluatedLayout._values) { + let n = this._unevaluatedLayout._values[t]; + for (let r of n.getGlobalStateRefs()) e.add(r); + } + for (let t of this._featureFilter.getGlobalStateRefs()) e.add(t); + return e; + } + getPaintAffectingGlobalStateRefs() { + let e = new globalThis.Map(); + if (this._transitionablePaint) + for (let t in this._transitionablePaint._values) { + let n = this._transitionablePaint._values[t].value; + for (let r of n.getGlobalStateRefs()) { + let o = e.get(r) ?? []; + (o.push({ name: t, value: n.value }), e.set(r, o)); + } + } + return e; + } + getVisibilityAffectingGlobalStateRefs() { + return this._visibilityExpression.getGlobalStateRefs(); + } + setLayoutProperty(e, t, n = {}) { + if (e === "visibility") { + ((this.visibility = t), + this._visibilityExpression.setValue(t), + this.recalculateVisibility()); + return; + } + if (this._transitionablePaint?.hasProperty(e)) { + this.fire(new lr(Error(e + Xon))); + return; + } + (t != null && + this._validate( + Sh.layoutProperty, + `layers.${this.id}.layout.${e}`, + e, + t, + n, + )) || + this._unevaluatedLayout.setValue(e, t); + } + getPaintProperty(e) { + if (e.endsWith("-transition")) { + let t = e.slice(0, -11); + if (t === "visibility" || this._unevaluatedLayout?.hasProperty(t)) + throw Error(e + JOe); + return this._transitionablePaint.getTransition(t); + } + if (e === "visibility" || this._unevaluatedLayout?.hasProperty(e)) + throw Error(e + JOe); + return this._transitionablePaint.getValue(e); + } + setPaintProperty(e, t, n = {}) { + if (e === "visibility" || this._unevaluatedLayout?.hasProperty(e)) + return (this.fire(new lr(Error(e + JOe))), !1); + if ( + t != null && + this._validate( + Sh.paintProperty, + `layers.${this.id}.paint.${e}`, + e, + t, + n, + ) + ) + return !1; + if (e.endsWith("-transition")) + return ( + this._transitionablePaint.setTransition(e.slice(0, -11), t || void 0), + !1 + ); + { + let r = this._transitionablePaint._values[e], + o = + r.property.specification["property-type"] === + "cross-faded-data-driven", + a = r.value.isDataDriven(), + i = r.value; + (this._transitionablePaint.setValue(e, t), + this._handleSpecialPaintPropertyUpdate(e)); + let s = this._transitionablePaint._values[e].value; + return ( + s.isDataDriven() || + a || + o || + this._handleOverridablePaintPropertyUpdate(e, i, s) + ); + } + } + _handleSpecialPaintPropertyUpdate(e) {} + _handleOverridablePaintPropertyUpdate(e, t, n) { + return !1; + } + isHidden(e = this.minzoom, t = !1) { + return (this.minzoom && + e < (t ? Math.floor(this.minzoom) : this.minzoom)) || + (this.maxzoom && e >= this.maxzoom) + ? !0 + : this._evaluatedVisibility === "none"; + } + updateTransitions(e) { + this._transitioningPaint = this._transitionablePaint.transitioned( + e, + this._transitioningPaint, + ); + } + retainPriorGlobalState(e, t) { + this._transitionablePaint?.retainPriorGlobalState( + e, + t, + this._transitioningPaint, + ); + } + hasTransition() { + return this._transitioningPaint.hasTransition(); + } + recalculateVisibility() { + this._evaluatedVisibility = this._visibilityExpression.evaluate(); + } + recalculate(e, t) { + (e.getCrossfadeParameters && + (this._crossfadeParameters = e.getCrossfadeParameters()), + this._unevaluatedLayout && + (this.layout = this._unevaluatedLayout.possiblyEvaluate( + e, + void 0, + t, + )), + (this.paint = this._transitioningPaint.possiblyEvaluate(e, void 0, t))); + } + serialize() { + let e = { + id: this.id, + type: this.type, + source: this.source, + "source-layer": this.sourceLayer, + metadata: this.metadata, + minzoom: this.minzoom, + maxzoom: this.maxzoom, + filter: this.filter, + layout: this._unevaluatedLayout?.serialize(), + paint: this._transitionablePaint?.serialize(), + }; + return ( + this.visibility && + ((e.layout ||= {}), (e.layout.visibility = this.visibility)), + vUe( + e, + (t, n) => + t !== void 0 && + !(n === "layout" && !Object.keys(t).length) && + !(n === "paint" && !Object.keys(t).length), + ) + ); + } + _validate(e, t, n, r, o = {}) { + return WL( + this, + e, + { key: t, layerType: this.type, objectKey: n, value: r }, + o, + ); + } + is3D() { + return !1; + } + isTileClipped() { + return !1; + } + hasOffscreenPass() { + return !1; + } + resize() {} + isStateDependent() { + for (let e in this.paint._values) { + let t = this.paint.get(e); + if ( + t instanceof Py && + UL(t.property.specification) && + (t.value.kind === "source" || t.value.kind === "composite") && + t.value.isStateDependent + ) + return !0; + } + return !1; + } + }), + (EAr = { + get paint() { + return CAr(); + }, + }), + (IAr = class extends bv { + constructor(e, t) { + super(e, EAr, t); + } + }), + (TAr = { + Int8: Int8Array, + Uint8: Uint8Array, + Int16: Int16Array, + Uint16: Uint16Array, + Int32: Int32Array, + Uint32: Uint32Array, + Float32: Float32Array, + })); + eQ = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t) { + let n = this.length; + return (this.resize(n + 1), this.emplace(n, e, t)); + } + emplace(e, t, n) { + let r = e * 2; + return ((this.int16[r + 0] = t), (this.int16[r + 1] = n), e); + } + }; + ((eQ.prototype.bytesPerElement = 4), Hn("StructArrayLayout2i4", eQ)); + tfe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n) { + let r = this.length; + return (this.resize(r + 1), this.emplace(r, e, t, n)); + } + emplace(e, t, n, r) { + let o = e * 3; + return ( + (this.int16[o + 0] = t), + (this.int16[o + 1] = n), + (this.int16[o + 2] = r), + e + ); + } + }; + ((tfe.prototype.bytesPerElement = 6), Hn("StructArrayLayout3i6", tfe)); + hFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r) { + let o = this.length; + return (this.resize(o + 1), this.emplace(o, e, t, n, r)); + } + emplace(e, t, n, r, o) { + let a = e * 4; + return ( + (this.int16[a + 0] = t), + (this.int16[a + 1] = n), + (this.int16[a + 2] = r), + (this.int16[a + 3] = o), + e + ); + } + }; + ((hFe.prototype.bytesPerElement = 8), Hn("StructArrayLayout4i8", hFe)); + gFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a) { + let i = this.length; + return (this.resize(i + 1), this.emplace(i, e, t, n, r, o, a)); + } + emplace(e, t, n, r, o, a, i) { + let s = e * 6; + return ( + (this.int16[s + 0] = t), + (this.int16[s + 1] = n), + (this.int16[s + 2] = r), + (this.int16[s + 3] = o), + (this.int16[s + 4] = a), + (this.int16[s + 5] = i), + e + ); + } + }; + ((gFe.prototype.bytesPerElement = 12), Hn("StructArrayLayout2i4i12", gFe)); + yFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a) { + let i = this.length; + return (this.resize(i + 1), this.emplace(i, e, t, n, r, o, a)); + } + emplace(e, t, n, r, o, a, i) { + let s = e * 4, + l = e * 8; + return ( + (this.int16[s + 0] = t), + (this.int16[s + 1] = n), + (this.uint8[l + 4] = r), + (this.uint8[l + 5] = o), + (this.uint8[l + 6] = a), + (this.uint8[l + 7] = i), + e + ); + } + }; + ((yFe.prototype.bytesPerElement = 8), Hn("StructArrayLayout2i4ub8", yFe)); + tQ = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack(e, t) { + let n = this.length; + return (this.resize(n + 1), this.emplace(n, e, t)); + } + emplace(e, t, n) { + let r = e * 2; + return ((this.float32[r + 0] = t), (this.float32[r + 1] = n), e); + } + }; + ((tQ.prototype.bytesPerElement = 8), Hn("StructArrayLayout2f8", tQ)); + vFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a, i, s, l, c) { + let u = this.length; + return ( + this.resize(u + 1), + this.emplace(u, e, t, n, r, o, a, i, s, l, c) + ); + } + emplace(e, t, n, r, o, a, i, s, l, c, u) { + let d = e * 10; + return ( + (this.uint16[d + 0] = t), + (this.uint16[d + 1] = n), + (this.uint16[d + 2] = r), + (this.uint16[d + 3] = o), + (this.uint16[d + 4] = a), + (this.uint16[d + 5] = i), + (this.uint16[d + 6] = s), + (this.uint16[d + 7] = l), + (this.uint16[d + 8] = c), + (this.uint16[d + 9] = u), + e + ); + } + }; + ((vFe.prototype.bytesPerElement = 20), Hn("StructArrayLayout10ui20", vFe)); + bFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a, i, s) { + let l = this.length; + return (this.resize(l + 1), this.emplace(l, e, t, n, r, o, a, i, s)); + } + emplace(e, t, n, r, o, a, i, s, l) { + let c = e * 8; + return ( + (this.uint16[c + 0] = t), + (this.uint16[c + 1] = n), + (this.uint16[c + 2] = r), + (this.uint16[c + 3] = o), + (this.uint16[c + 4] = a), + (this.uint16[c + 5] = i), + (this.uint16[c + 6] = s), + (this.uint16[c + 7] = l), + e + ); + } + }; + ((bFe.prototype.bytesPerElement = 16), Hn("StructArrayLayout8ui16", bFe)); + xFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a, i, s, l, c, u, d, p) { + let f = this.length; + return ( + this.resize(f + 1), + this.emplace(f, e, t, n, r, o, a, i, s, l, c, u, d, p) + ); + } + emplace(e, t, n, r, o, a, i, s, l, c, u, d, p, f) { + let m = e * 14, + g = e * 7; + return ( + (this.int16[m + 0] = t), + (this.int16[m + 1] = n), + (this.int16[m + 2] = r), + (this.int16[m + 3] = o), + (this.uint16[m + 4] = a), + (this.uint16[m + 5] = i), + (this.uint16[m + 6] = s), + (this.uint16[m + 7] = l), + (this.int16[m + 8] = c), + (this.int16[m + 9] = u), + (this.int16[m + 10] = d), + (this.int16[m + 11] = p), + (this.float32[g + 6] = f), + e + ); + } + }; + ((xFe.prototype.bytesPerElement = 28), + Hn("StructArrayLayout4i4ui4i1f28", xFe)); + AFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack(e, t, n) { + let r = this.length; + return (this.resize(r + 1), this.emplace(r, e, t, n)); + } + emplace(e, t, n, r) { + let o = e * 3; + return ( + (this.float32[o + 0] = t), + (this.float32[o + 1] = n), + (this.float32[o + 2] = r), + e + ); + } + }; + ((AFe.prototype.bytesPerElement = 12), Hn("StructArrayLayout3f12", AFe)); + wFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer))); + } + emplaceBack(e) { + let t = this.length; + return (this.resize(t + 1), this.emplace(t, e)); + } + emplace(e, t) { + let n = e * 1; + return ((this.uint32[n + 0] = t), e); + } + }; + ((wFe.prototype.bytesPerElement = 4), Hn("StructArrayLayout1ul4", wFe)); + SFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a, i, s, l) { + let c = this.length; + return (this.resize(c + 1), this.emplace(c, e, t, n, r, o, a, i, s, l)); + } + emplace(e, t, n, r, o, a, i, s, l, c) { + let u = e * 10, + d = e * 5; + return ( + (this.int16[u + 0] = t), + (this.int16[u + 1] = n), + (this.int16[u + 2] = r), + (this.int16[u + 3] = o), + (this.int16[u + 4] = a), + (this.int16[u + 5] = i), + (this.uint32[d + 3] = s), + (this.uint16[u + 8] = l), + (this.uint16[u + 9] = c), + e + ); + } + }; + ((SFe.prototype.bytesPerElement = 20), + Hn("StructArrayLayout6i1ul2ui20", SFe)); + CFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a) { + let i = this.length; + return (this.resize(i + 1), this.emplace(i, e, t, n, r, o, a)); + } + emplace(e, t, n, r, o, a, i) { + let s = e * 6; + return ( + (this.int16[s + 0] = t), + (this.int16[s + 1] = n), + (this.int16[s + 2] = r), + (this.int16[s + 3] = o), + (this.int16[s + 4] = a), + (this.int16[s + 5] = i), + e + ); + } + }; + ((CFe.prototype.bytesPerElement = 12), Hn("StructArrayLayout2i2i2i12", CFe)); + EFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o) { + let a = this.length; + return (this.resize(a + 1), this.emplace(a, e, t, n, r, o)); + } + emplace(e, t, n, r, o, a) { + let i = e * 4, + s = e * 8; + return ( + (this.float32[i + 0] = t), + (this.float32[i + 1] = n), + (this.float32[i + 2] = r), + (this.int16[s + 6] = o), + (this.int16[s + 7] = a), + e + ); + } + }; + ((EFe.prototype.bytesPerElement = 16), Hn("StructArrayLayout2f1f2i16", EFe)); + IFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a) { + let i = this.length; + return (this.resize(i + 1), this.emplace(i, e, t, n, r, o, a)); + } + emplace(e, t, n, r, o, a, i) { + let s = e * 16, + l = e * 4, + c = e * 8; + return ( + (this.uint8[s + 0] = t), + (this.uint8[s + 1] = n), + (this.float32[l + 1] = r), + (this.float32[l + 2] = o), + (this.int16[c + 6] = a), + (this.int16[c + 7] = i), + e + ); + } + }; + ((IFe.prototype.bytesPerElement = 16), Hn("StructArrayLayout2ub2f2i16", IFe)); + nfe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n) { + let r = this.length; + return (this.resize(r + 1), this.emplace(r, e, t, n)); + } + emplace(e, t, n, r) { + let o = e * 3; + return ( + (this.uint16[o + 0] = t), + (this.uint16[o + 1] = n), + (this.uint16[o + 2] = r), + e + ); + } + }; + ((nfe.prototype.bytesPerElement = 6), Hn("StructArrayLayout3ui6", nfe)); + TFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g, v, y) { + let x = this.length; + return ( + this.resize(x + 1), + this.emplace(x, e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g, v, y) + ); + } + emplace(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g, v, y, x) { + let A = e * 26, + w = e * 13, + C = e * 52; + return ( + (this.int16[A + 0] = t), + (this.int16[A + 1] = n), + (this.uint16[A + 2] = r), + (this.uint16[A + 3] = o), + (this.uint32[w + 2] = a), + (this.uint32[w + 3] = i), + (this.uint32[w + 4] = s), + (this.uint16[A + 10] = l), + (this.uint16[A + 11] = c), + (this.uint16[A + 12] = u), + (this.float32[w + 7] = d), + (this.float32[w + 8] = p), + (this.uint8[C + 36] = f), + (this.uint8[C + 37] = m), + (this.uint8[C + 38] = g), + (this.uint32[w + 10] = v), + (this.int16[A + 22] = y), + (this.float32[w + 12] = x), + e + ); + } + }; + ((TFe.prototype.bytesPerElement = 52), + Hn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52", TFe)); + kFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack( + e, + t, + n, + r, + o, + a, + i, + s, + l, + c, + u, + d, + p, + f, + m, + g, + v, + y, + x, + A, + w, + C, + E, + T, + I, + k, + L, + O, + B, + ) { + let U = this.length; + return ( + this.resize(U + 1), + this.emplace( + U, + e, + t, + n, + r, + o, + a, + i, + s, + l, + c, + u, + d, + p, + f, + m, + g, + v, + y, + x, + A, + w, + C, + E, + T, + I, + k, + L, + O, + B, + ) + ); + } + emplace( + e, + t, + n, + r, + o, + a, + i, + s, + l, + c, + u, + d, + p, + f, + m, + g, + v, + y, + x, + A, + w, + C, + E, + T, + I, + k, + L, + O, + B, + U, + ) { + let D = e * 34, + N = e * 17; + return ( + (this.int16[D + 0] = t), + (this.int16[D + 1] = n), + (this.int16[D + 2] = r), + (this.int16[D + 3] = o), + (this.int16[D + 4] = a), + (this.int16[D + 5] = i), + (this.int16[D + 6] = s), + (this.int16[D + 7] = l), + (this.uint16[D + 8] = c), + (this.uint16[D + 9] = u), + (this.uint16[D + 10] = d), + (this.uint16[D + 11] = p), + (this.uint16[D + 12] = f), + (this.uint16[D + 13] = m), + (this.uint16[D + 14] = g), + (this.uint16[D + 15] = v), + (this.uint16[D + 16] = y), + (this.uint16[D + 17] = x), + (this.uint16[D + 18] = A), + (this.uint16[D + 19] = w), + (this.uint16[D + 20] = C), + (this.uint16[D + 21] = E), + (this.uint16[D + 22] = T), + (this.uint32[N + 12] = I), + (this.float32[N + 13] = k), + (this.float32[N + 14] = L), + (this.uint16[D + 30] = O), + (this.uint16[D + 31] = B), + (this.float32[N + 16] = U), + e + ); + } + }; + ((kFe.prototype.bytesPerElement = 68), + Hn("StructArrayLayout8i15ui1ul2f2ui1f68", kFe)); + rfe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack(e) { + let t = this.length; + return (this.resize(t + 1), this.emplace(t, e)); + } + emplace(e, t) { + let n = e * 1; + return ((this.float32[n + 0] = t), e); + } + }; + ((rfe.prototype.bytesPerElement = 4), Hn("StructArrayLayout1f4", rfe)); + RFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack(e, t, n) { + let r = this.length; + return (this.resize(r + 1), this.emplace(r, e, t, n)); + } + emplace(e, t, n, r) { + let o = e * 6, + a = e * 3; + return ( + (this.uint16[o + 0] = t), + (this.float32[a + 1] = n), + (this.float32[a + 2] = r), + e + ); + } + }; + ((RFe.prototype.bytesPerElement = 12), Hn("StructArrayLayout1ui2f12", RFe)); + PFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + } + emplaceBack(e, t, n) { + let r = this.length; + return (this.resize(r + 1), this.emplace(r, e, t, n)); + } + emplace(e, t, n, r) { + let o = e * 2, + a = e * 4; + return ( + (this.uint32[o + 0] = t), + (this.uint16[a + 2] = n), + (this.uint16[a + 3] = r), + e + ); + } + }; + ((PFe.prototype.bytesPerElement = 8), Hn("StructArrayLayout1ul2ui8", PFe)); + MFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + } + emplaceBack(e, t) { + let n = this.length; + return (this.resize(n + 1), this.emplace(n, e, t)); + } + emplace(e, t, n) { + let r = e * 2; + return ((this.uint16[r + 0] = t), (this.uint16[r + 1] = n), e); + } + }; + ((MFe.prototype.bytesPerElement = 4), Hn("StructArrayLayout2ui4", MFe)); + DFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer))); + } + emplaceBack(e) { + let t = this.length; + return (this.resize(t + 1), this.emplace(t, e)); + } + emplace(e, t) { + let n = e * 1; + return ((this.uint16[n + 0] = t), e); + } + }; + ((DFe.prototype.bytesPerElement = 2), Hn("StructArrayLayout1ui2", DFe)); + LFe = class extends wl { + _refreshViews() { + ((this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer))); + } + emplaceBack(e, t, n, r) { + let o = this.length; + return (this.resize(o + 1), this.emplace(o, e, t, n, r)); + } + emplace(e, t, n, r, o) { + let a = e * 4; + return ( + (this.float32[a + 0] = t), + (this.float32[a + 1] = n), + (this.float32[a + 2] = r), + (this.float32[a + 3] = o), + e + ); + } + }; + ((LFe.prototype.bytesPerElement = 16), Hn("StructArrayLayout4f16", LFe)); + Psn = class extends SQ { + get anchorPointX() { + return this._structArray.int16[this._pos2 + 0]; + } + get anchorPointY() { + return this._structArray.int16[this._pos2 + 1]; + } + get x1() { + return this._structArray.int16[this._pos2 + 2]; + } + get y1() { + return this._structArray.int16[this._pos2 + 3]; + } + get x2() { + return this._structArray.int16[this._pos2 + 4]; + } + get y2() { + return this._structArray.int16[this._pos2 + 5]; + } + get featureIndex() { + return this._structArray.uint32[this._pos4 + 3]; + } + get sourceLayerIndex() { + return this._structArray.uint16[this._pos2 + 8]; + } + get bucketIndex() { + return this._structArray.uint16[this._pos2 + 9]; + } + get anchorPoint() { + return new ft(this.anchorPointX, this.anchorPointY); + } + }; + Psn.prototype.size = 20; + ZUe = class extends SFe { + get(e) { + return new Psn(this, e); + } + }; + Hn("CollisionBoxArray", ZUe); + Msn = class extends SQ { + get anchorX() { + return this._structArray.int16[this._pos2 + 0]; + } + get anchorY() { + return this._structArray.int16[this._pos2 + 1]; + } + get glyphStartIndex() { + return this._structArray.uint16[this._pos2 + 2]; + } + get numGlyphs() { + return this._structArray.uint16[this._pos2 + 3]; + } + get vertexStartIndex() { + return this._structArray.uint32[this._pos4 + 2]; + } + get lineStartIndex() { + return this._structArray.uint32[this._pos4 + 3]; + } + get lineLength() { + return this._structArray.uint32[this._pos4 + 4]; + } + get segment() { + return this._structArray.uint16[this._pos2 + 10]; + } + get lowerSize() { + return this._structArray.uint16[this._pos2 + 11]; + } + get upperSize() { + return this._structArray.uint16[this._pos2 + 12]; + } + get lineOffsetX() { + return this._structArray.float32[this._pos4 + 7]; + } + get lineOffsetY() { + return this._structArray.float32[this._pos4 + 8]; + } + get writingMode() { + return this._structArray.uint8[this._pos1 + 36]; + } + get placedOrientation() { + return this._structArray.uint8[this._pos1 + 37]; + } + set placedOrientation(e) { + this._structArray.uint8[this._pos1 + 37] = e; + } + get hidden() { + return this._structArray.uint8[this._pos1 + 38]; + } + set hidden(e) { + this._structArray.uint8[this._pos1 + 38] = e; + } + get crossTileID() { + return this._structArray.uint32[this._pos4 + 10]; + } + set crossTileID(e) { + this._structArray.uint32[this._pos4 + 10] = e; + } + get associatedIconIndex() { + return this._structArray.int16[this._pos2 + 22]; + } + get heightOffset() { + return this._structArray.float32[this._pos4 + 12]; + } + }; + Msn.prototype.size = 52; + Dsn = class extends TFe { + get(e) { + return new Msn(this, e); + } + }; + Hn("PlacedSymbolArray", Dsn); + Lsn = class extends SQ { + get anchorX() { + return this._structArray.int16[this._pos2 + 0]; + } + get anchorY() { + return this._structArray.int16[this._pos2 + 1]; + } + get rightJustifiedTextSymbolIndex() { + return this._structArray.int16[this._pos2 + 2]; + } + get centerJustifiedTextSymbolIndex() { + return this._structArray.int16[this._pos2 + 3]; + } + get leftJustifiedTextSymbolIndex() { + return this._structArray.int16[this._pos2 + 4]; + } + get verticalPlacedTextSymbolIndex() { + return this._structArray.int16[this._pos2 + 5]; + } + get placedIconSymbolIndex() { + return this._structArray.int16[this._pos2 + 6]; + } + get verticalPlacedIconSymbolIndex() { + return this._structArray.int16[this._pos2 + 7]; + } + get key() { + return this._structArray.uint16[this._pos2 + 8]; + } + get textBoxStartIndex() { + return this._structArray.uint16[this._pos2 + 9]; + } + get textBoxEndIndex() { + return this._structArray.uint16[this._pos2 + 10]; + } + get verticalTextBoxStartIndex() { + return this._structArray.uint16[this._pos2 + 11]; + } + get verticalTextBoxEndIndex() { + return this._structArray.uint16[this._pos2 + 12]; + } + get iconBoxStartIndex() { + return this._structArray.uint16[this._pos2 + 13]; + } + get iconBoxEndIndex() { + return this._structArray.uint16[this._pos2 + 14]; + } + get verticalIconBoxStartIndex() { + return this._structArray.uint16[this._pos2 + 15]; + } + get verticalIconBoxEndIndex() { + return this._structArray.uint16[this._pos2 + 16]; + } + get featureIndex() { + return this._structArray.uint16[this._pos2 + 17]; + } + get numHorizontalGlyphVertices() { + return this._structArray.uint16[this._pos2 + 18]; + } + get numVerticalGlyphVertices() { + return this._structArray.uint16[this._pos2 + 19]; + } + get numIconVertices() { + return this._structArray.uint16[this._pos2 + 20]; + } + get numVerticalIconVertices() { + return this._structArray.uint16[this._pos2 + 21]; + } + get useRuntimeCollisionCircles() { + return this._structArray.uint16[this._pos2 + 22]; + } + get crossTileID() { + return this._structArray.uint32[this._pos4 + 12]; + } + set crossTileID(e) { + this._structArray.uint32[this._pos4 + 12] = e; + } + get textBoxScale() { + return this._structArray.float32[this._pos4 + 13]; + } + get collisionCircleDiameter() { + return this._structArray.float32[this._pos4 + 14]; + } + get textAnchorOffsetStartIndex() { + return this._structArray.uint16[this._pos2 + 30]; + } + get textAnchorOffsetEndIndex() { + return this._structArray.uint16[this._pos2 + 31]; + } + get heightOffset() { + return this._structArray.float32[this._pos4 + 16]; + } + }; + Lsn.prototype.size = 68; + Bsn = class extends kFe { + get(e) { + return new Lsn(this, e); + } + }; + Hn("SymbolInstanceArray", Bsn); + Osn = class extends rfe { + getoffsetX(e) { + return this.float32[e * 1 + 0]; + } + }; + Hn("GlyphOffsetArray", Osn); + Fsn = class extends tfe { + getx(e) { + return this.int16[e * 3 + 0]; + } + gety(e) { + return this.int16[e * 3 + 1]; + } + gettileUnitDistanceFromAnchor(e) { + return this.int16[e * 3 + 2]; + } + }; + Hn("SymbolLineVertexArray", Fsn); + Usn = class extends SQ { + get textAnchor() { + return this._structArray.uint16[this._pos2 + 0]; + } + get textOffset0() { + return this._structArray.float32[this._pos4 + 1]; + } + get textOffset1() { + return this._structArray.float32[this._pos4 + 2]; + } + }; + Usn.prototype.size = 12; + Nsn = class extends RFe { + get(e) { + return new Usn(this, e); + } + }; + Hn("TextAnchorOffsetArray", Nsn); + zsn = class extends SQ { + get featureIndex() { + return this._structArray.uint32[this._pos4 + 0]; + } + get sourceLayerIndex() { + return this._structArray.uint16[this._pos2 + 2]; + } + get bucketIndex() { + return this._structArray.uint16[this._pos2 + 3]; + } + }; + zsn.prototype.size = 8; + _sn = class extends PFe { + get(e) { + return new zsn(this, e); + } + }; + Hn("FeatureIndexArray", _sn); + ((Lw = class extends eQ {}), + (Hsn = class extends tfe {}), + (Vsn = class extends hFe {}), + (RAr = class extends eQ {}), + (PAr = class extends eQ {}), + (MAr = class extends gFe {}), + (DAr = class extends yFe {}), + (LAr = class extends tQ {}), + (xL = class extends vFe {}), + (Yon = class extends bFe {}), + (BAr = class extends xFe {}), + (OAr = class extends AFe {}), + (FAr = class extends wFe {}), + (Kon = class extends CFe {}), + (Gsn = class extends EFe {}), + (UAr = class extends IFe {}), + (qsn = class extends nfe {}), + (xv = class extends nfe {}), + (BFe = class extends MFe {}), + (Zsn = class extends DFe {}), + (OFe = nl([{ name: "a_pos", components: 2, type: "Int16" }], 4)), + (NAr = OFe.members)); + (OFe.size, OFe.alignment); + ((Vs.MAX_VERTEX_ARRAY_LENGTH = 65535), Hn("SegmentVector", Vs)); + ((zAr = nl([ + { name: "a_pattern_from", components: 4, type: "Uint16" }, + { name: "a_pattern_to", components: 4, type: "Uint16" }, + { name: "a_pixel_ratio_from", components: 1, type: "Uint16" }, + { name: "a_pixel_ratio_to", components: 1, type: "Uint16" }, + ])), + (_Ar = nl([ + { name: "a_dasharray_from", components: 4, type: "Uint16" }, + { name: "a_dasharray_to", components: 4, type: "Uint16" }, + ])), + (HAr = lUe((e, t) => { + function n(r, o) { + for ( + var a = r.length & 3, + i = r.length - a, + s = o, + l, + c = 3432918353, + u = 461845907, + d, + p = 0; + p < i; + ) + ((d = + (r.charCodeAt(p) & 255) | + ((r.charCodeAt(++p) & 255) << 8) | + ((r.charCodeAt(++p) & 255) << 16) | + ((r.charCodeAt(++p) & 255) << 24)), + ++p, + (d = + ((d & 65535) * c + ((((d >>> 16) * c) & 65535) << 16)) & + 4294967295), + (d = (d << 15) | (d >>> 17)), + (d = + ((d & 65535) * u + ((((d >>> 16) * u) & 65535) << 16)) & + 4294967295), + (s ^= d), + (s = (s << 13) | (s >>> 19)), + (l = + ((s & 65535) * 5 + ((((s >>> 16) * 5) & 65535) << 16)) & + 4294967295), + (s = (l & 65535) + 27492 + ((((l >>> 16) + 58964) & 65535) << 16))); + switch (((d = 0), a)) { + case 3: + d ^= (r.charCodeAt(p + 2) & 255) << 16; + case 2: + d ^= (r.charCodeAt(p + 1) & 255) << 8; + case 1: + ((d ^= r.charCodeAt(p) & 255), + (d = + ((d & 65535) * c + ((((d >>> 16) * c) & 65535) << 16)) & + 4294967295), + (d = (d << 15) | (d >>> 17)), + (d = + ((d & 65535) * u + ((((d >>> 16) * u) & 65535) << 16)) & + 4294967295), + (s ^= d)); + } + return ( + (s ^= r.length), + (s ^= s >>> 16), + (s = + ((s & 65535) * 2246822507 + + ((((s >>> 16) * 2246822507) & 65535) << 16)) & + 4294967295), + (s ^= s >>> 13), + (s = + ((s & 65535) * 3266489909 + + ((((s >>> 16) * 3266489909) & 65535) << 16)) & + 4294967295), + (s ^= s >>> 16), + s >>> 0 + ); + } + t !== void 0 && (t.exports = n); + })), + (VAr = lUe((e, t) => { + function n(r, o) { + for (var a = r.length, i = o ^ a, s = 0, l; a >= 4;) + ((l = + (r.charCodeAt(s) & 255) | + ((r.charCodeAt(++s) & 255) << 8) | + ((r.charCodeAt(++s) & 255) << 16) | + ((r.charCodeAt(++s) & 255) << 24)), + (l = + (l & 65535) * 1540483477 + + ((((l >>> 16) * 1540483477) & 65535) << 16)), + (l ^= l >>> 24), + (l = + (l & 65535) * 1540483477 + + ((((l >>> 16) * 1540483477) & 65535) << 16)), + (i = + ((i & 65535) * 1540483477 + + ((((i >>> 16) * 1540483477) & 65535) << 16)) ^ + l), + (a -= 4), + ++s); + switch (a) { + case 3: + i ^= (r.charCodeAt(s + 2) & 255) << 16; + case 2: + i ^= (r.charCodeAt(s + 1) & 255) << 8; + case 1: + ((i ^= r.charCodeAt(s) & 255), + (i = + (i & 65535) * 1540483477 + + ((((i >>> 16) * 1540483477) & 65535) << 16))); + } + return ( + (i ^= i >>> 13), + (i = + (i & 65535) * 1540483477 + + ((((i >>> 16) * 1540483477) & 65535) << 16)), + (i ^= i >>> 15), + i >>> 0 + ); + } + t.exports = n; + })), + (ofe = tbr( + lUe((e, t) => { + var n = HAr(), + r = VAr(); + ((t.exports = n), (t.exports.murmur3 = n), (t.exports.murmur2 = r)); + })(), + 1, + ))); + Hn("FeaturePositionMap", Qsn); + ((ar = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = 0)); + } + set(e) { + this.current !== e && + ((this.current = e), this.gl.uniform1i(this.location, e)); + } + }), + (Un = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = 0)); + } + set(e) { + this.current !== e && + ((this.current = e), this.gl.uniform1f(this.location, e)); + } + }), + (Ao = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = [0, 0])); + } + set(e) { + (e[0] !== this.current[0] || e[1] !== this.current[1]) && + ((this.current = e), this.gl.uniform2f(this.location, e[0], e[1])); + } + }), + (Rm = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = [0, 0, 0])); + } + set(e) { + (e[0] !== this.current[0] || + e[1] !== this.current[1] || + e[2] !== this.current[2]) && + ((this.current = e), + this.gl.uniform3f(this.location, e[0], e[1], e[2])); + } + }), + (YL = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = [0, 0, 0, 0])); + } + set(e) { + (e[0] !== this.current[0] || + e[1] !== this.current[1] || + e[2] !== this.current[2] || + e[3] !== this.current[3]) && + ((this.current = e), + this.gl.uniform4f(this.location, e[0], e[1], e[2], e[3])); + } + }), + (Ow = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = Kr.transparent)); + } + set(e) { + (e.r !== this.current.r || + e.g !== this.current.g || + e.b !== this.current.b || + e.a !== this.current.a) && + ((this.current = e), + this.gl.uniform4f(this.location, e.r, e.g, e.b, e.a)); + } + }), + (QUe = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = [])); + } + set(e) { + if (e != this.current) { + this.current = e; + let t = new Float32Array(e.length * 4); + for (let n = 0; n < e.length; n++) + ((t[4 * n] = e[n].r), + (t[4 * n + 1] = e[n].g), + (t[4 * n + 2] = e[n].b), + (t[4 * n + 3] = e[n].a)); + this.gl.uniform4fv(this.location, t); + } + } + }), + (XUe = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = [])); + } + set(e) { + if (e != this.current) { + this.current = e; + let t = new Float32Array(e); + this.gl.uniform1fv(this.location, t); + } + } + }), + (GAr = new Float32Array(16)), + (Uy = class extends Bw { + constructor(e, t) { + (super(e, t), (this.current = GAr)); + } + set(e) { + if (e[12] !== this.current[12] || e[0] !== this.current[0]) { + ((this.current = e), this.gl.uniformMatrix4fv(this.location, !1, e)); + return; + } + for (let t = 1; t < 16; t++) + if (e[t] !== this.current[t]) { + ((this.current = e), + this.gl.uniformMatrix4fv(this.location, !1, e)); + break; + } + } + })); + ((Xsn = class extends _C { + getPositions(e) { + return e.imagePositions; + } + getPositionIds(e) { + return e.patterns?.[this.layerId]; + } + getVertexAttributes() { + return zAr.members; + } + emplace(e, t, n, r) { + e.emplace( + t, + n.tlbr[0], + n.tlbr[1], + n.tlbr[2], + n.tlbr[3], + r.tlbr[0], + r.tlbr[1], + r.tlbr[2], + r.tlbr[3], + n.pixelRatio, + r.pixelRatio, + ); + } + }), + (Wsn = class extends _C { + getPositions(e) { + return e.dashPositions; + } + getPositionIds(e) { + return e.dashes?.[this.layerId]; + } + getVertexAttributes() { + return _Ar.members; + } + emplace(e, t, n, r) { + e.emplace(t, 0, n.y, n.height, n.width, 0, r.y, r.height, r.width); + } + })); + (Hn("ConstantBinder", BZ), + Hn("CrossFadedConstantBinder", OT), + Hn("SourceExpressionBinder", Aw), + Hn("CrossFadedPatternBinder", Xsn), + Hn("CrossFadedDasharrayBinder", Wsn), + Hn("CompositeExpressionBinder", pv), + Hn("ProgramConfiguration", Ysn, { omit: ["_buffers"] }), + Hn("ProgramConfigurationSet", qT)); + ean = -NFe - 1; + Hn("CircleBucket", WUe, { omit: ["layers"] }); + ((c3r = { + get paint() { + return l3r(); + }, + get layout() { + return i3r(); + }, + }), + (u3r = class extends bv { + constructor(e, t) { + super(e, c3r, t); + } + createBucket(e) { + return new WUe(e); + } + queryRadius(e) { + let t = e; + return ( + RL("circle-radius", this, t) + + RL("circle-stroke-width", this, t) + + Zfe(this.paint.get("circle-translate")) + ); + } + queryIntersectsFeature({ + queryGeometry: e, + feature: t, + featureState: n, + geometry: r, + transform: o, + pixelsToTileUnits: a, + unwrappedTileID: i, + getElevation: s, + }) { + let l = Qfe( + e, + this.paint.get("circle-translate"), + this.paint.get("circle-translate-anchor"), + -o.bearingInRadians, + a, + ), + c = + this.paint.get("circle-radius").evaluate(t, n) + + this.paint.get("circle-stroke-width").evaluate(t, n), + u = this.paint.get("circle-pitch-scale"), + d = this.paint.get("circle-pitch-alignment"), + p, + f; + return ( + d === "map" + ? ((p = l), (f = c * a)) + : ((p = o3r(l, o, i, s)), (f = c)), + jsn( + { + queryGeometry: p, + size: f, + transform: o, + unwrappedTileID: i, + getElevation: s, + pitchAlignment: d, + pitchScale: u, + }, + r, + ) + ); + } + }), + (eln = class extends WUe {})); + Hn("HeatmapBucket", eln, { omit: ["layers"] }); + f3r = { + get paint() { + return p3r(); + }, + }; + (Hn("AlphaImage", Xfe), Hn("RGBAImage", ss)); + ((m3r = class extends bv { + createBucket(e) { + return new eln(e); + } + constructor(e, t) { + (super(e, f3r, t), + (this.heatmapFbos = new Map()), + this._updateColorRamp()); + } + _handleSpecialPaintPropertyUpdate(e) { + e === "heatmap-color" && this._updateColorRamp(); + } + _updateColorRamp() { + let e = + this._transitionablePaint._values["heatmap-color"].value.expression; + ((this.colorRamp = eNe({ + expression: e, + evaluationKey: "heatmapDensity", + image: this.colorRamp, + })), + (this.colorRampTexture = null)); + } + resize() { + this.heatmapFbos.has("big-fb") && this.heatmapFbos.delete(CQ); + } + queryRadius(e) { + return RL("heatmap-radius", this, e); + } + queryIntersectsFeature({ + queryGeometry: e, + feature: t, + featureState: n, + geometry: r, + transform: o, + pixelsToTileUnits: a, + unwrappedTileID: i, + getElevation: s, + }) { + return jsn( + { + queryGeometry: e, + size: this.paint.get("heatmap-radius").evaluate(t, n) * a, + transform: o, + unwrappedTileID: i, + getElevation: s, + }, + r, + ); + } + hasOffscreenPass() { + return this.paint.get("heatmap-opacity") !== 0 && !this.isHidden(); + } + }), + (y3r = { + get paint() { + return g3r(); + }, + }), + (v3r = class extends bv { + constructor(e, t) { + (super(e, y3r, t), + this.recalculate({ zoom: 0, zoomHistory: {} }, void 0)); + } + getIlluminationProperties() { + let e = this.paint.get("hillshade-illumination-direction").values, + t = this.paint.get("hillshade-illumination-altitude").values, + n = this.paint.get("hillshade-highlight-color").values, + r = this.paint.get("hillshade-shadow-color").values, + o = Math.max(e.length, t.length, n.length, r.length); + ((e = e.concat(Array(o - e.length).fill(e.at(-1)))), + (t = t.concat(Array(o - t.length).fill(t.at(-1)))), + (n = n.concat(Array(o - n.length).fill(n.at(-1)))), + (r = r.concat(Array(o - r.length).fill(r.at(-1))))); + let a = t.map(_s); + return { + directionRadians: e.map(_s), + altitudeRadians: a, + shadowColor: r, + highlightColor: n, + }; + } + hasOffscreenPass() { + return ( + this.paint.get("hillshade-exaggeration") !== 0 && !this.isHidden() + ); + } + }), + (A3r = { + get paint() { + return x3r(); + }, + })); + w3r = class e { + static { + this.byteViewCache = new WeakMap(); + } + constructor(t, n, r, o = 1, a = 1, i = 1, s = 0) { + if (((this.uid = t), n.height !== n.width)) + throw RangeError("DEM tiles must be square"); + if (r && !["mapbox", "terrarium", "custom"].includes(r)) { + Ko( + `"${r}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`, + ); + return; + } + this.stride = n.height; + let l = (this.dim = n.height - 4); + switch ( + ((this.data = new Uint32Array(n.data.buffer)), + e.byteViewCache.set(this, new Uint8Array(this.data.buffer)), + r) + ) { + case "terrarium": + ((this.redFactor = 256), + (this.greenFactor = 1), + (this.blueFactor = 0.00390625), + (this.baseShift = 32768)); + break; + case "custom": + ((this.redFactor = o), + (this.greenFactor = a), + (this.blueFactor = i), + (this.baseShift = s)); + break; + default: + ((this.redFactor = 6553.6), + (this.greenFactor = 25.6), + (this.blueFactor = 0.1), + (this.baseShift = 1e4)); + } + for (let u = -2; u < l + 2; u++) { + let d = this._idx(0, Math.max(0, Math.min(l - 1, u))); + ((u < 0 || u >= l) && this.data.copyWithin(this._idx(0, u), d, d + l), + this.data.fill(this.data[d], this._idx(-2, u), this._idx(0, u)), + this.data.fill( + this.data[d + l - 1], + this._idx(l, u), + this._idx(l + 1, u) + 1, + )); + } + let c = this._getByteView(); + ((this.min = 9007199254740991), (this.max = -9007199254740991)); + for (let u = 0; u < l; u++) + for (let d = 0; d < l; d++) { + let p = this._idx(u, d) * 4, + f = this._unpackAtIndex(c, p); + (f > this.max && (this.max = f), f < this.min && (this.min = f)); + } + } + get(t, n) { + let r = this._getByteView(), + o = this._idx(t, n) * 4; + return this._unpackAtIndex(r, o); + } + sampleBilinear(t, n) { + let r = Math.floor(t), + o = Math.floor(n); + if (r < -1 || r >= this.dim || o < -1 || o >= this.dim) + throw RangeError( + `Out of range source coordinates for DEM data. x: ${t}, y: ${n}, dim: ${this.dim}`, + ); + let a = this._getByteView(), + i = ((o + 2) * this.stride + r + 2) * 4, + s = this.stride * 4, + l = t - r, + c = n - o, + u = this._unpackAtIndex(a, i), + d = this._unpackAtIndex(a, i + 4), + p = this._unpackAtIndex(a, i + s), + f = this._unpackAtIndex(a, i + s + 4); + return ( + u * (1 - l) * (1 - c) + d * l * (1 - c) + p * (1 - l) * c + f * l * c + ); + } + getUnpackVector() { + return [ + this.redFactor, + this.greenFactor, + this.blueFactor, + this.baseShift, + ]; + } + _idx(t, n) { + if (t < -2 || t >= this.dim + 2 || n < -2 || n >= this.dim + 2) + throw RangeError( + `Out of range source coordinates for DEM data. x: ${t}, y: ${n}, dim: ${this.dim}`, + ); + return (n + 2) * this.stride + (t + 2); + } + unpack(t, n, r) { + return ( + t * this.redFactor + + n * this.greenFactor + + r * this.blueFactor - + this.baseShift + ); + } + pack(t) { + return oln(t, this.getUnpackVector()); + } + getPixels() { + return new ss( + { width: this.stride, height: this.stride }, + this._getByteView(), + ); + } + backfillBorder(t, n, r) { + if (this.dim !== t.dim) throw Error("dem dimension mismatch"); + let o = n * this.dim, + a = n * this.dim + this.dim, + i = r * this.dim, + s = r * this.dim + this.dim; + switch (n) { + case -1: + o = a - 2; + break; + case 1: + a = o + 2; + } + switch (r) { + case -1: + i = s - 2; + break; + case 1: + s = i + 2; + } + let l = -n * this.dim, + c = -r * this.dim; + for (let u = i; u < s; u++) + for (let d = o; d < a; d++) + this.data[this._idx(d, u)] = t.data[this._idx(d + l, u + c)]; + } + _getByteView() { + let t = e.byteViewCache.get(this); + return ( + t?.buffer !== this.data.buffer && + ((t = new Uint8Array(this.data.buffer)), + e.byteViewCache.set(this, t)), + t + ); + } + _unpackAtIndex(t, n) { + return this.unpack(t[n], t[n + 1], t[n + 2]); + } + }; + Hn("DEMData", w3r); + ((S3r = class extends bv { + constructor(e, t) { + super(e, A3r, t); + } + _createColorRamp(e) { + let t = { elevationStops: [], colorStops: [] }, + n = + this._transitionablePaint._values["color-relief-color"].value + .expression; + if (n instanceof KZ && n._styleExpression.expression instanceof Dy) { + this.colorRampExpression = n; + let a = n._styleExpression.expression; + ((t.elevationStops = a.labels), (t.colorStops = [])); + for (let i of t.elevationStops) + t.colorStops.push(a.evaluate({ globals: { elevation: i } })); + } + if ( + (t.elevationStops.length < 1 && + ((t.elevationStops = [0]), (t.colorStops = [Kr.transparent])), + t.elevationStops.length < 2 && + (t.elevationStops.push(t.elevationStops[0] + 1), + t.colorStops.push(t.colorStops[0])), + t.elevationStops.length <= e) + ) + return t; + let r = { elevationStops: [], colorStops: [] }, + o = (t.elevationStops.length - 1) / (e - 1); + for (let a = 0; a < t.elevationStops.length - 0.5; a += o) + (r.elevationStops.push(t.elevationStops[Math.round(a)]), + r.colorStops.push(t.colorStops[Math.round(a)])); + return ( + Ko( + `Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`, + ), + r + ); + } + _colorRampChanged() { + return ( + this.colorRampExpression != + this._transitionablePaint._values["color-relief-color"].value.expression + ); + } + getColorRampTextures(e, t, n) { + if (this.colorRampTextures && !this._colorRampChanged()) + return this.colorRampTextures; + let r = this._createColorRamp(t), + o = new ss({ width: r.colorStops.length, height: 1 }), + a = new ss({ width: r.colorStops.length, height: 1 }); + for (let i = 0; i < r.elevationStops.length; i++) { + let s = oln(r.elevationStops[i], n); + (a.setPixel(0, i, new Kr(s.r / 255, s.g / 255, s.b / 255, 1)), + o.setPixel(0, i, r.colorStops[i])); + } + return ( + (this.colorRampTextures = { + elevationTexture: new cd(e, a, e.gl.RGBA), + colorTexture: new cd(e, o, e.gl.RGBA), + }), + this.colorRampTextures + ); + } + hasOffscreenPass() { + return !this.isHidden() && !!this.colorRampTextures; + } + }), + (_Fe = nl([{ name: "a_pos", components: 2, type: "Int16" }], 4)), + (C3r = _Fe.members)); + (_Fe.size, _Fe.alignment); + nQ = new Set(); + ((hc = new Float64Array()), (qFe = []), (ZFe = [])); + ((Ry = []), + (RZ = []), + (LT = new Uint32Array()), + (PZ = new Uint32Array()), + (MZ = new Uint32Array(256))); + Wfe = class e { + constructor(t) { + ((this.fill = t.fill), + (this.line = t.line), + (this.tile = t.tile), + (this.stencil = t.stencil), + (this.circle = t.circle)); + } + static { + this.noSubdivision = new e({ + fill: new zx(0, 0), + line: new zx(0, 0), + tile: new zx(0, 0), + stencil: new zx(0, 0), + circle: 1, + }); + } + }; + (Hn("SubdivisionGranularityExpression", zx), + Hn("SubdivisionGranularitySetting", Wfe)); + Hn("FillBucket", fln, { omit: ["layers", "patternFeatures"] }); + ((twr = { + get paint() { + return ewr(); + }, + get layout() { + return j3r(); + }, + }), + (nwr = class extends bv { + constructor(e, t) { + super(e, twr, t); + } + recalculate(e, t) { + super.recalculate(e, t); + let n = this.paint._values["fill-outline-color"]; + n.value.kind === "constant" && + n.value.value === void 0 && + (this.paint._values["fill-outline-color"] = + this.paint._values["fill-color"]); + } + createBucket(e) { + return new fln(e); + } + queryRadius() { + return Zfe(this.paint.get("fill-translate")); + } + queryIntersectsFeature({ + queryGeometry: e, + geometry: t, + transform: n, + pixelsToTileUnits: r, + }) { + return Ksn( + Qfe( + e, + this.paint.get("fill-translate"), + this.paint.get("fill-translate-anchor"), + -n.bearingInRadians, + r, + ), + t, + ); + } + isTileClipped() { + return !0; + } + }), + (WFe = nl( + [ + { name: "a_pos", components: 2, type: "Int16" }, + { name: "a_normal_ed", components: 4, type: "Int16" }, + ], + 4, + )), + (rwr = nl([{ name: "a_centroid", components: 2, type: "Int16" }], 4)), + (owr = WFe.members)); + (WFe.size, WFe.alignment); + hln = By.fromPoints([new ft(0, 0), new ft(Ut, Ut)]); + EQ.types = ["Unknown", "Point", "LineString", "Polygon"]; + yln = 2 * Math.PI * Pm; + Hn("FillExtrusionBucket", xln, { omit: ["layers", "features"] }); + ((Awr = { + get paint() { + return xwr(); + }, + get layout() { + return vwr(); + }, + }), + (wwr = class extends bv { + constructor(e, t) { + super(e, Awr, t); + } + createBucket(e) { + return new xln(e); + } + queryRadius() { + return Zfe(this.paint.get("fill-extrusion-translate")); + } + is3D() { + return !0; + } + queryIntersectsFeature({ + queryGeometry: e, + feature: t, + featureState: n, + geometry: r, + transform: o, + pixelsToTileUnits: a, + pixelPosMatrix: i, + }) { + let s = Qfe( + e, + this.paint.get("fill-extrusion-translate"), + this.paint.get("fill-extrusion-translate-anchor"), + -o.bearingInRadians, + a, + ), + l = this.paint.get("fill-extrusion-height").evaluate(t, n), + c = this.paint.get("fill-extrusion-base").evaluate(t, n), + u = Ewr(s, i, 0), + d = Cwr(r, c, l, i), + p = d[0], + f = d[1]; + return Swr(p, f, u); + } + })); + ((KFe = nl( + [ + { name: "a_pos_normal", components: 2, type: "Int16" }, + { name: "a_data", components: 4, type: "Uint8" }, + ], + 4, + )), + (kwr = KFe.members)); + (KFe.size, KFe.alignment); + ((JFe = nl([ + { name: "a_uv_x", components: 1, type: "Float32" }, + { name: "a_split_index", components: 1, type: "Float32" }, + ])), + (Rwr = JFe.members)); + (JFe.size, JFe.alignment); + ((Pwr = Math.cos(37.5 * (Math.PI / 180))), (lan = 16384 / wln)); + Hn("LineBucket", Sln, { omit: ["layers", "patternFeatures"] }); + ((can = { + get paint() { + return Bwr(); + }, + get layout() { + return Dwr(); + }, + }), + (Owr = class extends dr { + possiblyEvaluate(e, t) { + return ( + (t = new oi(Math.floor(t.zoom), { + now: t.now, + fadeDuration: t.fadeDuration, + zoomHistory: t.zoomHistory, + transition: t.transition, + })), + super.possiblyEvaluate(e, t) + ); + } + evaluate(e, t, n, r) { + return ( + (t = rr({}, t, { zoom: Math.floor(t.zoom) })), + super.evaluate(e, t, n, r) + ); + } + }), + (Fwr = class extends bv { + constructor(e, t) { + (super(e, can, t), + (this.gradientVersion = 0), + Npe || + ((Npe = new Owr( + can.paint.properties["line-width"].specification, + "line-floorwidth", + )), + (Npe.useIntegerZoom = !0))); + } + _handleSpecialPaintPropertyUpdate(e) { + if (e === "line-gradient") { + let t = this.gradientExpression(); + ((this.stepInterpolant = Zxr(t) + ? t._styleExpression.expression instanceof IUe + : !1), + (this.gradientVersion = + (this.gradientVersion + 1) % 9007199254740991)); + } + } + gradientExpression() { + return this._transitionablePaint._values["line-gradient"].value + .expression; + } + recalculate(e, t) { + (super.recalculate(e, t), + (this.paint._values["line-floorwidth"] = Npe.possiblyEvaluate( + this._transitioningPaint._values["line-width"].value, + e, + ))); + } + createBucket(e) { + return new Sln(e); + } + queryRadius(e) { + let t = e, + n = uan(RL("line-width", this, t), RL("line-gap-width", this, t)), + r = RL("line-offset", this, t); + return n / 2 + Math.abs(r) + Zfe(this.paint.get("line-translate")); + } + queryIntersectsFeature({ + queryGeometry: e, + feature: t, + featureState: n, + geometry: r, + transform: o, + pixelsToTileUnits: a, + }) { + let i = Qfe( + e, + this.paint.get("line-translate"), + this.paint.get("line-translate-anchor"), + -o.bearingInRadians, + a, + ), + s = + (a / 2) * + uan( + this.paint.get("line-width").evaluate(t, n), + this.paint.get("line-gap-width").evaluate(t, n), + ), + l = this.paint.get("line-offset").evaluate(t, n); + return (l && (r = $Ar(r, l * a)), XAr(i, r, s)); + } + isTileClipped() { + return !0; + } + })); + ((Uwr = nl( + [ + { name: "a_pos_offset", components: 4, type: "Int16" }, + { name: "a_data", components: 4, type: "Uint16" }, + { name: "a_pixeloffset", components: 4, type: "Int16" }, + { name: "a_height_offset", components: 1, type: "Float32" }, + ], + 4, + )), + (Nwr = nl( + [{ name: "a_projected_pos", components: 3, type: "Float32" }], + 4, + ))); + nl([{ name: "a_fade_opacity", components: 1, type: "Uint32" }], 4); + zwr = nl([ + { name: "a_placed", components: 2, type: "Uint8" }, + { name: "a_shift", components: 2, type: "Float32" }, + { name: "a_box_real", components: 2, type: "Int16" }, + ]); + nl([ + { type: "Int16", name: "anchorPointX" }, + { type: "Int16", name: "anchorPointY" }, + { type: "Int16", name: "x1" }, + { type: "Int16", name: "y1" }, + { type: "Int16", name: "x2" }, + { type: "Int16", name: "y2" }, + { type: "Uint32", name: "featureIndex" }, + { type: "Uint16", name: "sourceLayerIndex" }, + { type: "Uint16", name: "bucketIndex" }, + ]); + ((dan = nl( + [ + { name: "a_pos", components: 2, type: "Int16" }, + { name: "a_anchor_pos", components: 2, type: "Int16" }, + { name: "a_extrude", components: 2, type: "Int16" }, + ], + 4, + )), + (Eln = nl( + [ + { name: "a_pos", components: 2, type: "Float32" }, + { name: "a_radius", components: 1, type: "Float32" }, + { name: "a_flags", components: 2, type: "Int16" }, + ], + 4, + ))); + (nl([{ name: "triangle", components: 3, type: "Uint16" }]), + nl([ + { type: "Int16", name: "anchorX" }, + { type: "Int16", name: "anchorY" }, + { type: "Uint16", name: "glyphStartIndex" }, + { type: "Uint16", name: "numGlyphs" }, + { type: "Uint32", name: "vertexStartIndex" }, + { type: "Uint32", name: "lineStartIndex" }, + { type: "Uint32", name: "lineLength" }, + { type: "Uint16", name: "segment" }, + { type: "Uint16", name: "lowerSize" }, + { type: "Uint16", name: "upperSize" }, + { type: "Float32", name: "lineOffsetX" }, + { type: "Float32", name: "lineOffsetY" }, + { type: "Uint8", name: "writingMode" }, + { type: "Uint8", name: "placedOrientation" }, + { type: "Uint8", name: "hidden" }, + { type: "Uint32", name: "crossTileID" }, + { type: "Int16", name: "associatedIconIndex" }, + { type: "Float32", name: "heightOffset" }, + ]), + nl([ + { type: "Int16", name: "anchorX" }, + { type: "Int16", name: "anchorY" }, + { type: "Int16", name: "rightJustifiedTextSymbolIndex" }, + { type: "Int16", name: "centerJustifiedTextSymbolIndex" }, + { type: "Int16", name: "leftJustifiedTextSymbolIndex" }, + { type: "Int16", name: "verticalPlacedTextSymbolIndex" }, + { type: "Int16", name: "placedIconSymbolIndex" }, + { type: "Int16", name: "verticalPlacedIconSymbolIndex" }, + { type: "Uint16", name: "key" }, + { type: "Uint16", name: "textBoxStartIndex" }, + { type: "Uint16", name: "textBoxEndIndex" }, + { type: "Uint16", name: "verticalTextBoxStartIndex" }, + { type: "Uint16", name: "verticalTextBoxEndIndex" }, + { type: "Uint16", name: "iconBoxStartIndex" }, + { type: "Uint16", name: "iconBoxEndIndex" }, + { type: "Uint16", name: "verticalIconBoxStartIndex" }, + { type: "Uint16", name: "verticalIconBoxEndIndex" }, + { type: "Uint16", name: "featureIndex" }, + { type: "Uint16", name: "numHorizontalGlyphVertices" }, + { type: "Uint16", name: "numVerticalGlyphVertices" }, + { type: "Uint16", name: "numIconVertices" }, + { type: "Uint16", name: "numVerticalIconVertices" }, + { type: "Uint16", name: "useRuntimeCollisionCircles" }, + { type: "Uint32", name: "crossTileID" }, + { type: "Float32", name: "textBoxScale" }, + { type: "Float32", name: "collisionCircleDiameter" }, + { type: "Uint16", name: "textAnchorOffsetStartIndex" }, + { type: "Uint16", name: "textAnchorOffsetEndIndex" }, + { type: "Float32", name: "heightOffset" }, + ]), + nl([{ type: "Float32", name: "offsetX" }]), + nl([ + { type: "Int16", name: "x" }, + { type: "Int16", name: "y" }, + { type: "Int16", name: "tileUnitDistanceFromAnchor" }, + ]), + nl([ + { type: "Uint16", name: "textAnchor" }, + { type: "Float32", components: 2, name: "textOffset" }, + ])); + lfe = new (class { + constructor() { + ((this.TIMEOUT = 5000), + (this.applyArabicShaping = null), + (this.processBidirectionalText = null), + (this.processStyledBidirectionalText = null), + (this.pluginStatus = "unavailable"), + (this.pluginURL = null), + (this.loadScriptResolve = () => {})); + } + setState(e) { + ((this.pluginStatus = e.pluginStatus), (this.pluginURL = e.pluginURL)); + } + getState() { + return { pluginStatus: this.pluginStatus, pluginURL: this.pluginURL }; + } + setMethods(e) { + if (lfe.isParsed()) throw Error("RTL text plugin already registered."); + ((this.applyArabicShaping = e.applyArabicShaping), + (this.processBidirectionalText = e.processBidirectionalText), + (this.processStyledBidirectionalText = + e.processStyledBidirectionalText), + this.loadScriptResolve()); + } + isParsed() { + return ( + this.applyArabicShaping != null && + this.processBidirectionalText != null && + this.processStyledBidirectionalText != null + ); + } + getRTLTextPluginStatus() { + return this.pluginStatus; + } + async syncState(e, t) { + if (this.isParsed()) return this.getState(); + if (e.pluginStatus !== "loading") return (this.setState(e), e); + let n = e.pluginURL, + r = new Promise((a) => { + this.loadScriptResolve = a; + }), + o = new Promise((a) => setTimeout(() => a(), this.TIMEOUT)); + if ((await t(n), await Promise.race([r, o]), this.isParsed())) { + let a = { pluginStatus: "loaded", pluginURL: n }; + return (this.setState(a), a); + } + throw ( + this.setState({ pluginStatus: "error", pluginURL: "" }), + Error(`RTL Text Plugin failed to import scripts from ${n}`) + ); + } + })(); + ((Qwr = { + C: "18g,1;g2,3;4nb,1", + D: "17k,1;5,1;1,1;1,5;4,d;1,7;1,2;z,2;8,g;i,12;1,2;9,1;1,1;1,2;14,3;2,1;28,9;3,f;2,4;1,1;2,3;2,6;7a,1;2,5;1,1;g,a;5,2;2,6;1,f", + R: "17m,4;1,1;1,1;5,4;l,1;14,3;1,3;g,i;12,1;2,9;1,1;1,1;2,2;1,1;o,2;2x,3;f,2;4,1;1,2;3,2;6u,j;b,1;r,3;1,1;2,2;6,1", + T: "174,b;1,1;1a,l;g,1;2t,7;2,6;2,2;1,4;bt,9;16,o;1,t;1clb,1", + }), + (Xwr = { + 1569: [65152, 0, 0, 0], + 1570: [65153, 65154, 0, 0], + 1571: [65155, 65156, 0, 0], + 1572: [65157, 65158, 0, 0], + 1573: [65159, 65160, 0, 0], + 1574: [65161, 65162, 65163, 65164], + 1575: [65165, 65166, 0, 0], + 1576: [65167, 65168, 65169, 65170], + 1577: [65171, 65172, 0, 0], + 1578: [65173, 65174, 65175, 65176], + 1579: [65177, 65178, 65179, 65180], + 1580: [65181, 65182, 65183, 65184], + 1581: [65185, 65186, 65187, 65188], + 1582: [65189, 65190, 65191, 65192], + 1583: [65193, 65194, 0, 0], + 1584: [65195, 65196, 0, 0], + 1585: [65197, 65198, 0, 0], + 1586: [65199, 65200, 0, 0], + 1587: [65201, 65202, 65203, 65204], + 1588: [65205, 65206, 65207, 65208], + 1589: [65209, 65210, 65211, 65212], + 1590: [65213, 65214, 65215, 65216], + 1591: [65217, 65218, 65219, 65220], + 1592: [65221, 65222, 65223, 65224], + 1593: [65225, 65226, 65227, 65228], + 1594: [65229, 65230, 65231, 65232], + 1601: [65233, 65234, 65235, 65236], + 1602: [65237, 65238, 65239, 65240], + 1603: [65241, 65242, 65243, 65244], + 1604: [65245, 65246, 65247, 65248], + 1605: [65249, 65250, 65251, 65252], + 1606: [65253, 65254, 65255, 65256], + 1607: [65257, 65258, 65259, 65260], + 1608: [65261, 65262, 0, 0], + 1609: [65263, 65264, 64488, 64489], + 1610: [65265, 65266, 65267, 65268], + 1611: [65136, 0, 0, 65137], + 1612: [65138, 0, 0, 0], + 1613: [65140, 0, 0, 0], + 1614: [65142, 0, 0, 65143], + 1615: [65144, 0, 0, 65145], + 1616: [65146, 0, 0, 65147], + 1617: [65148, 0, 0, 65149], + 1618: [65150, 0, 0, 65151], + 1649: [64336, 64337, 0, 0], + 1655: [64477, 0, 0, 0], + 1657: [64358, 64359, 64360, 64361], + 1658: [64350, 64351, 64352, 64353], + 1659: [64338, 64339, 64340, 64341], + 1662: [64342, 64343, 64344, 64345], + 1663: [64354, 64355, 64356, 64357], + 1664: [64346, 64347, 64348, 64349], + 1667: [64374, 64375, 64376, 64377], + 1668: [64370, 64371, 64372, 64373], + 1670: [64378, 64379, 64380, 64381], + 1671: [64382, 64383, 64384, 64385], + 1672: [64392, 64393, 0, 0], + 1676: [64388, 64389, 0, 0], + 1677: [64386, 64387, 0, 0], + 1678: [64390, 64391, 0, 0], + 1681: [64396, 64397, 0, 0], + 1688: [64394, 64395, 0, 0], + 1700: [64362, 64363, 64364, 64365], + 1702: [64366, 64367, 64368, 64369], + 1705: [64398, 64399, 64400, 64401], + 1709: [64467, 64468, 64469, 64470], + 1711: [64402, 64403, 64404, 64405], + 1713: [64410, 64411, 64412, 64413], + 1715: [64406, 64407, 64408, 64409], + 1722: [64414, 64415, 0, 0], + 1723: [64416, 64417, 64418, 64419], + 1726: [64426, 64427, 64428, 64429], + 1728: [64420, 64421, 0, 0], + 1729: [64422, 64423, 64424, 64425], + 1733: [64480, 64481, 0, 0], + 1734: [64473, 64474, 0, 0], + 1735: [64471, 64472, 0, 0], + 1736: [64475, 64476, 0, 0], + 1737: [64482, 64483, 0, 0], + 1739: [64478, 64479, 0, 0], + 1740: [64508, 64509, 64510, 64511], + 1744: [64484, 64485, 64486, 64487], + 1746: [64430, 64431, 0, 0], + 1747: [64432, 64433, 0, 0], + }), + (Wwr = { + لآ: [65269, 65270], + لأ: [65271, 65272], + لإ: [65273, 65274], + لا: [65275, 65276], + }), + (Ywr = + /[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/)); + Tln = new Map(); + for (let [e, t] of Object.entries(Qwr)) Kwr(t, e, Tln); + kln = typeof Intl < "u" && "Segmenter" in Intl; + IL = { + "!": "︕", + "#": "#", + $: "$", + "%": "%", + "&": "&", + "(": "︵", + ")": "︶", + "*": "*", + "+": "+", + ",": "︐", + "-": "︲", + ".": "・", + "/": "/", + ":": "︓", + ";": "︔", + "<": "︿", + "=": "=", + ">": "﹀", + "?": "︖", + "@": "@", + "[": "﹇", + "\\": "\", + "]": "﹈", + "^": "^", + _: "︳", + "`": "`", + "{": "︷", + "|": "―", + "}": "︸", + "~": "~", + "¢": "¢", + "£": "£", + "¥": "¥", + "¦": "¦", + "¬": "¬", + "¯": " ̄", + "–": "︲", + "—": "︱", + "‘": "﹃", + "’": "﹄", + "“": "﹁", + "”": "﹂", + "…": "︙", + "⋯": "︙", + "‧": "・", + "₩": "₩", + "、": "︑", + "。": "︒", + "〈": "︿", + "〉": "﹀", + "《": "︽", + "》": "︾", + "「": "﹁", + "」": "﹂", + "『": "﹃", + "』": "﹄", + "【": "︻", + "】": "︼", + "〔": "︹", + "〕": "︺", + "〖": "︗", + "〗": "︘", + "!": "︕", + "(": "︵", + ")": "︶", + ",": "︐", + "-": "︲", + ".": "・", + ":": "︓", + ";": "︔", + "<": "︿", + ">": "﹀", + "?": "︖", + "[": "﹇", + "]": "﹈", + "_": "︳", + "{": "︷", + "|": "―", + "}": "︸", + "⦅": "︵", + "⦆": "︶", + "。": "︒", + "「": "﹁", + "」": "﹂", + }; + ((hSr = { + 10: !0, + 13: !0, + 32: !0, + 38: !0, + 41: !0, + 43: !0, + 45: !0, + 47: !0, + 173: !0, + 183: !0, + 8203: !0, + 8208: !0, + 8211: !0, + 8231: !0, + }), + (gSr = { 40: !0 })); + ((sNe = vSr()), + (bSr = /[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/), + (xSr = new Set(["WS", "FSI", "LRI", "RLI", "PDI"])), + (ASr = new Set(["S", "B"]))); + ((Nms = 1 / eUe), + (San = typeof TextDecoder > "u" ? null : new TextDecoder("utf-8"))); + (Hn("ImagePosition", $fe), Hn("ImageAtlas", USr)); + Uln = (function (e) { + return ( + (e[(e.none = 0)] = "none"), + (e[(e.horizontal = 1)] = "horizontal"), + (e[(e.vertical = 2)] = "vertical"), + (e[(e.horizontalOnly = 3)] = "horizontalOnly"), + e + ); + })(Uln || {}); + Can = /^\p{gc=M}$/u; + DL = class e extends ft { + constructor(t, n, r, o) { + (super(t, n), (this.angle = r), o !== void 0 && (this.segment = o)); + } + clone() { + return new e(this.x, this.y, this.angle, this.segment); + } + }; + Hn("Anchor", DL); + tme = (function (e) { + return ( + (e[(e.center = 1)] = "center"), + (e[(e.left = 2)] = "left"), + (e[(e.right = 3)] = "right"), + (e[(e.top = 4)] = "top"), + (e[(e.bottom = 5)] = "bottom"), + (e[(e["top-left"] = 6)] = "top-left"), + (e[(e["top-right"] = 7)] = "top-right"), + (e[(e["bottom-left"] = 8)] = "bottom-left"), + (e[(e["bottom-right"] = 9)] = "bottom-right"), + e + ); + })({}); + A4r = [{ name: "a_fade_opacity", components: 1, type: "Uint8", offset: 0 }]; + Hn("SymbolBuffers", nUe); + Hn("CollisionBuffers", rUe); + Hn("SymbolBucket", MQ, { + omit: ["layers", "collisionBoxArray", "features", "compareText"], + }); + tFe = { + get paint() { + return T4r(); + }, + get layout() { + return E4r(); + }, + }; + Hn("FormatSectionOverride", Kln, { omit: ["defaultValue"] }); + k4r = class e extends bv { + constructor(t, n) { + super(t, tFe, n); + } + recalculate(t, n) { + super.recalculate(t, n); + let r = this.layout.get("icon-rotation-alignment"); + if ( + ((r.value.kind !== "constant" || r.value.value === "auto") && + (this.layout._values["icon-rotation-alignment"] = new Py( + r.property, + { + kind: "constant", + value: + this.layout.get("symbol-placement") === "point" + ? "viewport" + : "map", + }, + r.parameters, + )), + this.layout.get("text-rotation-alignment") === "auto" && + (this.layout.get("symbol-placement") === "point" + ? (this.layout._values["text-rotation-alignment"] = "viewport") + : (this.layout._values["text-rotation-alignment"] = "map")), + this.layout.get("text-pitch-alignment") === "auto" && + (this.layout._values["text-pitch-alignment"] = + this.layout.get("text-rotation-alignment") === "map" + ? "map" + : "viewport"), + this.layout.get("icon-pitch-alignment") === "auto" && + (this.layout._values["icon-pitch-alignment"] = this.layout + .get("icon-rotation-alignment") + .constantOr("viewport")), + this.layout.get("symbol-placement") === "point") + ) { + let o = this.layout.get("text-writing-mode"); + if (o) { + let a = []; + for (let i of o) a.includes(i) || a.push(i); + this.layout._values["text-writing-mode"] = a; + } else this.layout._values["text-writing-mode"] = ["horizontal"]; + } + this._setPaintOverrides(); + } + getValueAndResolveTokens(t, n, r, o) { + let a = this.layout.get(t).evaluate(n, {}, r, o), + i = this._unevaluatedLayout._values[t]; + return !i.isDataDriven() && !Ufe(i.value) && a ? S4r(n.properties, a) : a; + } + createBucket(t) { + return new MQ(t); + } + queryRadius() { + return 0; + } + queryIntersectsFeature() { + throw Error("Should take a different path in FeatureIndex"); + } + _setPaintOverrides() { + for (let t of tFe.paint.overridableProperties) { + if (!e.hasPaintOverride(this.layout, t)) continue; + let n = this.paint.get(t), + r = new UUe( + new Kln(n), + `layers[${this.id}].paint.${n.property.name}`, + n.property.specification, + ), + o = null; + ((o = + n.value.kind === "constant" || n.value.kind === "source" + ? new KZ("source", r) + : new jpe("composite", r, n.value.zoomStops)), + (this.paint._values[t] = new Py(n.property, o, n.parameters))); + } + } + _handleOverridablePaintPropertyUpdate(t, n, r) { + return !this.layout || n.isDataDriven() || r.isDataDriven() + ? !1 + : e.hasPaintOverride(this.layout, t); + } + static hasPaintOverride(t, n) { + let r = t.get("text-field"), + o = tFe.paint.properties[n], + a = !1, + i = (s) => { + for (let l of s) + if (o.overrides?.hasOverride(l)) { + a = !0; + return; + } + }; + if (r.value.kind === "constant" && r.value.value instanceof Iw) + i(r.value.value.sections); + else if (r.value.kind === "source" || r.value.kind === "composite") { + let s = (c) => { + if (!a) + if (c instanceof FL && yc(c.value) === yQ) { + let u = c.value; + i(u.sections); + } else c instanceof _in ? i(c.sections) : c.eachChild(s); + }, + l = r.value; + l._styleExpression && s(l._styleExpression.expression); + } + return a; + } + }; + ((D4r = { + get paint() { + return M4r(); + }, + }), + (L4r = class extends bv { + constructor(e, t) { + super(e, D4r, t); + } + })); + B4r = class extends bv { + constructor(e, t) { + (super(e, {}, t), + (this.onAdd = (n) => { + this.implementation.onAdd && + this.implementation.onAdd(n, n.painter.context.gl); + }), + (this.onRemove = (n) => { + this.implementation.onRemove && + this.implementation.onRemove(n, n.painter.context.gl); + }), + (this.implementation = e)); + } + is3D() { + return this.implementation.renderingMode === "3d"; + } + hasOffscreenPass() { + return this.implementation.prerender !== void 0; + } + recalculate() {} + updateTransitions() {} + hasTransition() { + return !1; + } + serialize() { + throw Error("Custom layers cannot be serialized"); + } + }; + F4r = { once: !0 }; + nFe = Math.PI * 6378137; + (Hn("CanonicalTileID", DQ), + Hn("OverscaledTileID", Xp, { omit: ["terrainRttPosMatrix32f"] })); + ((rme = class extends t7 {}), + (hNe = class extends rme { + getValueFromBuffer(e) { + return this.dataBuffer[e]; + } + }), + (gNe = class extends rme { + getValueFromBuffer(e) { + return this.dataBuffer[e]; + } + }), + (tcn = class extends t7 { + constructor(e, t, n, r) { + (super(e, t, r), (this.delta = n)); + } + }), + (yNe = class extends tcn { + constructor(e, t, n, r, o) { + super(e, o ? Int32Array.of(t) : Uint32Array.of(t), n, r); + } + getValueFromBuffer(e) { + return this.dataBuffer[0] + e * this.delta; + } + }), + (vNe = class extends t7 { + constructor(e, t, n, r) { + super(e, r ? Int32Array.of(t) : Uint32Array.of(t), n); + } + getValueFromBuffer(e) { + return this.dataBuffer[0]; + } + }), + (OZ = { FEATURE: 0, VERTEX: 1 }), + (Ua = { + BOOLEAN: 0, + INT_8: 1, + UINT_8: 2, + INT_32: 3, + UINT_32: 4, + INT_64: 5, + UINT_64: 6, + FLOAT: 7, + DOUBLE: 8, + STRING: 9, + }), + (ZC = { GEOMETRY: 0, STRUCT: 1, MAP: 2 }), + (ncn = { ID: 0 })); + (function (e) { + ((e.NONE = "NONE"), + (e.DELTA = "DELTA"), + (e.COMPONENTWISE_DELTA = "COMPONENTWISE_DELTA"), + (e.RLE = "RLE"), + (e.MORTON = "MORTON")); + })((xo ||= {})); + (function (e) { + ((e.NONE = "NONE"), (e.FAST_PFOR = "FAST_PFOR"), (e.VARINT = "VARINT")); + })((Ly ||= {})); + bNe = new Uint32Array(33); + bNe[0] = 0; + for (let e = 1; e <= 32; e++) + bNe[e] = e === 32 ? 4294967295 : 4294967295 >>> (32 - e); + oUe = bNe; + ((aUe = ocn(xNe)), (p6r = ((3 * aUe) / 256 + aUe) | 0)); + (function (e) { + ((e.PRESENT = "PRESENT"), + (e.DATA = "DATA"), + (e.OFFSET = "OFFSET"), + (e.LENGTH = "LENGTH")); + })((ld ||= {})); + (function (e) { + ((e.NONE = "NONE"), + (e.SINGLE = "SINGLE"), + (e.SHARED = "SHARED"), + (e.VERTEX = "VERTEX"), + (e.MORTON = "MORTON"), + (e.FSST = "FSST")); + })((xh ||= {})); + (function (e) { + ((e.VERTEX = "VERTEX"), + (e.INDEX = "INDEX"), + (e.STRING = "STRING"), + (e.KEY = "KEY")); + })((Cw ||= {})); + (function (e) { + ((e.VAR_BINARY = "VAR_BINARY"), + (e.GEOMETRIES = "GEOMETRIES"), + (e.PARTS = "PARTS"), + (e.RINGS = "RINGS"), + (e.TRIANGLES = "TRIANGLES"), + (e.SYMBOL = "SYMBOL"), + (e.DICTIONARY = "DICTIONARY")); + })((tp ||= {})); + ((nCr = [ld.PRESENT, ld.DATA, ld.OFFSET, ld.LENGTH]), + (Uan = [xo.NONE, xo.DELTA, xo.COMPONENTWISE_DELTA, xo.RLE, xo.MORTON]), + (rCr = [Ly.NONE, Ly.FAST_PFOR, Ly.VARINT]), + (oCr = [xh.NONE, xh.SINGLE, xh.SHARED, xh.VERTEX, xh.MORTON, xh.FSST]), + (aCr = [Cw.VERTEX, Cw.INDEX, Cw.STRING, Cw.KEY]), + (iCr = [ + tp.VAR_BINARY, + tp.GEOMETRIES, + tp.PARTS, + tp.RINGS, + tp.TRIANGLES, + tp.SYMBOL, + tp.DICTIONARY, + ])); + (function (e) { + ((e[(e.FLAT = 0)] = "FLAT"), + (e[(e.CONST = 1)] = "CONST"), + (e[(e.SEQUENCE = 2)] = "SEQUENCE"), + (e[(e.DICTIONARY = 3)] = "DICTIONARY"), + (e[(e.FSST_DICTIONARY = 4)] = "FSST_DICTIONARY")); + })((Ns ||= {})); + mCr = new TextDecoder(); + ((ycn = class extends rme { + getValueFromBuffer(e) { + return this.dataBuffer[e]; + } + }), + (vcn = class extends tcn { + constructor(e, t, n, r, o) { + super(e, o ? BigInt64Array.of(t) : BigUint64Array.of(t), n, r); + } + getValueFromBuffer(e) { + return this.dataBuffer[0] + BigInt(e) * this.delta; + } + })); + (function (e) { + ((e[(e.POINT = 0)] = "POINT"), + (e[(e.LINESTRING = 1)] = "LINESTRING"), + (e[(e.POLYGON = 2)] = "POLYGON"), + (e[(e.MULTIPOINT = 3)] = "MULTIPOINT"), + (e[(e.MULTILINESTRING = 4)] = "MULTILINESTRING"), + (e[(e.MULTIPOLYGON = 5)] = "MULTIPOLYGON")); + })((Zf ||= {})); + (function (e) { + ((e[(e.POINT = 0)] = "POINT"), + (e[(e.LINESTRING = 1)] = "LINESTRING"), + (e[(e.POLYGON = 2)] = "POLYGON")); + })((ICr ||= {})); + (function (e) { + ((e[(e.MORTON = 0)] = "MORTON"), + (e[(e.VEC_2 = 1)] = "VEC_2"), + (e[(e.VEC_3 = 2)] = "VEC_3")); + })((r7 ||= {})); + xcn = class extends bcn { + constructor(e, t, n, r, o, a, i) { + (super(n, r, o, a, i), + (this._numGeometries = e), + (this._geometryType = t)); + } + geometryType(e) { + return this._geometryType; + } + get numGeometries() { + return this._numGeometries; + } + containsPolygonGeometry() { + return ( + this._geometryType === Zf.POLYGON || + this._geometryType === Zf.MULTIPOLYGON + ); + } + containsSingleGeometryType() { + return !0; + } + }; + ((wcn = class extends bcn { + constructor(e, t, n, r, o, a) { + (super(e, n, r, o, a), (this._geometryTypes = t)); + } + geometryType(e) { + return this._geometryTypes[e]; + } + get numGeometries() { + return this._geometryTypes.length; + } + containsPolygonGeometry() { + for (let e = 0; e < this.numGeometries; e++) + if ( + this.geometryType(e) === Zf.POLYGON || + this.geometryType(e) === Zf.MULTIPOLYGON + ) + return !0; + return !1; + } + containsSingleGeometryType() { + return !1; + } + }), + (Scn = class { + constructor(e, t, n, r) { + ((this._triangleOffsets = e), + (this._indexBuffer = t), + (this._vertexBuffer = n), + (this._topologyVector = r)); + } + get triangleOffsets() { + return this._triangleOffsets; + } + get indexBuffer() { + return this._indexBuffer; + } + get vertexBuffer() { + return this._vertexBuffer; + } + get topologyVector() { + return this._topologyVector; + } + getGeometries() { + if (!this._topologyVector) + throw Error( + "Cannot convert GpuVector to coordinates without topology information", + ); + let e = new Uint32Array(this.numGeometries); + for (let t = 0; t < this.numGeometries; t++) + e[t] = this.geometryType(t); + return Acn( + e, + this._topologyVector, + void 0, + this._vertexBuffer, + ).getGeometries(); + } + [Symbol.iterator]() { + return null; + } + })); + LCr = class extends Scn { + constructor(e, t, n, r, o, a) { + (super(n, r, o, a), (this._numGeometries = e), (this._geometryType = t)); + } + geometryType(e) { + return this._geometryType; + } + get numGeometries() { + return this._numGeometries; + } + containsSingleGeometryType() { + return !0; + } + }; + BCr = class extends Scn { + constructor(e, t, n, r, o) { + (super(t, n, r, o), (this._geometryTypes = e)); + } + geometryType(e) { + return this._geometryTypes[e]; + } + get numGeometries() { + return this._geometryTypes.length; + } + containsSingleGeometryType() { + return !1; + } + }; + ((NCr = class extends t7 { + constructor(e, t, n) { + (super(e, t.getBuffer(), n), (this.dataVector = t)); + } + getValueFromBuffer(e) { + return this.dataVector.get(e); + } + }), + (zCr = class extends rme { + getValueFromBuffer(e) { + return this.dataBuffer[e]; + } + }), + (Ccn = class extends t7 { + constructor(e, t, n, r) { + super(e, r ? BigInt64Array.of(t) : BigUint64Array.of(t), n); + } + getValueFromBuffer(e) { + return this.dataBuffer[0]; + } + }), + (kNe = class extends t7 { + constructor(e, t, n, r) { + (super(e, n, r), (this.offsetBuffer = t)); + } + }), + (Van = class extends kNe { + constructor(e, t, n, r) { + super(e, t, n, r ?? t.length - 1); + } + getValueFromBuffer(e) { + let t = this.offsetBuffer[e], + n = this.offsetBuffer[e + 1]; + return CNe(this.dataBuffer, t, n); + } + }), + (LL = class extends kNe { + constructor(e, t, n, r, o) { + (super(e, n, r, o ?? t.length), + (this.indexBuffer = t), + (this.indexBuffer = t)); + } + getValueFromBuffer(e) { + let t = this.indexBuffer[e], + n = this.offsetBuffer[t], + r = this.offsetBuffer[t + 1]; + return CNe(this.dataBuffer, n, r); + } + })); + Ecn = class extends kNe { + constructor(e, t, n, r, o, a, i, s) { + (super(e, n, r, i ?? t.length), + (this.indexBuffer = t), + (this.symbolOffsetBuffer = o), + (this.symbolTableBuffer = a), + (this.sharedDictionaryCache = s)); + } + getValueFromBuffer(e) { + this.decodedDictionary ?? + ((this.decodedDictionary = + this.sharedDictionaryCache?.decodedDictionary), + this.decodedDictionary ?? + ((this.decodedDictionary = this.decodeDictionary()), + this.sharedDictionaryCache && + (this.sharedDictionaryCache.decodedDictionary = + this.decodedDictionary))); + let t = this.indexBuffer[e], + n = this.offsetBuffer[t], + r = this.offsetBuffer[t + 1]; + return CNe(this.decodedDictionary, n, r); + } + decodeDictionary() { + return ( + (this.symbolLengthBuffer ??= this.offsetToLengthBuffer( + this.symbolOffsetBuffer, + )), + HCr(this.symbolTableBuffer, this.symbolLengthBuffer, this.dataBuffer) + ); + } + offsetToLengthBuffer(e) { + let t = new Uint32Array(e.length - 1), + n = e[0]; + for (let r = 1; r < e.length; r++) { + let o = e[r]; + ((t[r - 1] = o - n), (n = o)); + } + return t; + } + }; + Gan = class extends t7 { + constructor(e, t, n) { + (super(e, new Uint8Array(), n ?? t.length), (this.values = t)); + } + getValueFromBuffer(e) { + return this.values[e]; + } + }; + (function (e) { + ((e[(e.STRING = 1)] = "STRING"), + (e[(e.INT32 = 2)] = "INT32"), + (e[(e.UINT32 = 4)] = "UINT32"), + (e[(e.INT64 = 8)] = "INT64"), + (e[(e.UINT64 = 16)] = "UINT64"), + (e[(e.FLOAT = 32)] = "FLOAT"), + (e[(e.DOUBLE = 64)] = "DOUBLE"), + (e[(e.PRESENCE = 128)] = "PRESENCE")); + })((Ew ||= {})); + (function (e) { + ((e[(e.FALSE = 0)] = "FALSE"), + (e[(e.TRUE = 1)] = "TRUE"), + (e[(e.START_MAP = 2)] = "START_MAP"), + (e[(e.START_LIST = 3)] = "START_LIST"), + (e[(e.COUNT = 4)] = "COUNT")); + })((NT ||= {})); + ep = { + ID: 0, + ID_NULLABLE: 1, + ID_LONG: 2, + GEOMETRY: 4, + SCALAR_BASE: 10, + STRUCT: 30, + MAP: 31, + }; + f5r = new TextDecoder(); + oFe = ocn(xNe); + ((oFe / 32) * 4, ((3 * oFe) / 256 + oFe) | 0); + Hn("FeatureIndex", w5r, { omit: ["rawTileData", "sourceLayerCoder"] }); +}); +function Yun() { + var e = new Fd(4); + return ( + Fd != Float32Array && ((e[1] = 0), (e[2] = 0)), + (e[0] = 1), + (e[3] = 1), + e + ); +} +function I5r(e, t) { + var n = t[0], + r = t[1], + o = t[2], + a = t[3], + i = n * a - o * r; + return i + ? ((i = 1 / i), + (e[0] = a * i), + (e[1] = -r * i), + (e[2] = -o * i), + (e[3] = n * i), + e) + : null; +} +function T5r(e) { + return e[0] * e[3] - e[2] * e[1]; +} +function k5r(e, t, n) { + var r = t[0], + o = t[1], + a = t[2], + i = t[3], + s = Math.sin(n), + l = Math.cos(n); + return ( + (e[0] = r * l + a * s), + (e[1] = o * l + i * s), + (e[2] = r * -s + a * l), + (e[3] = o * -s + i * l), + e + ); +} +function vi() { + return R5r.getCurrentTime(); +} +function LNe() { + return ( + (Ocn ??= { + getAttribute: Element.prototype.getAttribute, + getAttributeNames: Element.prototype.getAttributeNames, + querySelectorAll: Element.prototype.querySelectorAll, + remove: Element.prototype.remove, + removeAttribute: Element.prototype.removeAttribute, + localName: Object.getOwnPropertyDescriptor(Element.prototype, "localName") + .get, + namespaceURI: Object.getOwnPropertyDescriptor( + Element.prototype, + "namespaceURI", + ).get, + }), + Ocn + ); +} +function z5r(e, t) { + let n = {}; + for (let r in e) r !== "ref" && (n[r] = e[r]); + return ( + Pin.forEach((r) => { + r in t && (n[r] = t[r]); + }), + n + ); +} +function Ncn(e) { + e = e.slice(); + let t = Object.create(null); + for (let n = 0; n < e.length; n++) t[e[n].id] = e[n]; + for (let n = 0; n < e.length; n++) + "ref" in e[n] && (e[n] = z5r(e[n], t[e[n].ref])); + return e; +} +function yi(e, t) { + if (Array.isArray(e)) { + if (!Array.isArray(t) || e.length !== t.length) return !1; + for (let n = 0; n < e.length; n++) if (!yi(e[n], t[n])) return !1; + return !0; + } + if (typeof e == "object" && e && t !== null) { + if (typeof t != "object" || Object.keys(e).length !== Object.keys(t).length) + return !1; + for (let n in e) if (!yi(e[n], t[n])) return !1; + return !0; + } + return e === t; +} +function e1(e, t) { + e.push(t); +} +function Kun(e, t, n) { + e1(n, { command: "addSource", args: [e, t[e]] }); +} +function Jun(e, t, n) { + (e1(t, { command: "removeSource", args: [e] }), (n[e] = !0)); +} +function _5r(e, t, n, r) { + (Jun(e, n, r), Kun(e, t, n)); +} +function H5r(e, t, n) { + let r; + for (r in e[n]) + if ( + Object.prototype.hasOwnProperty.call(e[n], r) && + r !== "data" && + !yi(e[n][r], t[n][r]) + ) + return !1; + for (r in t[n]) + if ( + Object.prototype.hasOwnProperty.call(t[n], r) && + r !== "data" && + !yi(e[n][r], t[n][r]) + ) + return !1; + return !0; +} +function V5r(e, t, n, r) { + ((e ||= {}), (t ||= {})); + let o; + for (o in e) + Object.prototype.hasOwnProperty.call(e, o) && + (Object.prototype.hasOwnProperty.call(t, o) || Jun(o, n, r)); + for (o in t) + Object.prototype.hasOwnProperty.call(t, o) && + (Object.prototype.hasOwnProperty.call(e, o) + ? yi(e[o], t[o]) || + (e[o].type === "geojson" && t[o].type === "geojson" && H5r(e, t, o) + ? e1(n, { command: "setGeoJSONSourceData", args: [o, t[o].data] }) + : _5r(o, t, n, r)) + : Kun(o, t, n)); +} +function zcn(e, t, n, r, o) { + e1(t, { command: o, args: [n, r, e[r]] }); +} +function ime(e, t, n, r, o) { + ((e ||= {}), (t ||= {})); + for (let a in e) + Object.prototype.hasOwnProperty.call(e, a) && + (yi(e[a], t[a]) || zcn(t, n, r, a, o)); + for (let a in t) + Object.prototype.hasOwnProperty.call(t, a) && + !Object.prototype.hasOwnProperty.call(e, a) && + (yi(e[a], t[a]) || zcn(t, n, r, a, o)); +} +function _cn(e) { + return e.id; +} +function Hcn(e, t) { + return ((e[t.id] = t), e); +} +function G5r(e, t, n) { + ((e ||= []), (t ||= [])); + let r = e.map(_cn), + o = t.map(_cn), + a = e.reduce(Hcn, {}), + i = t.reduce(Hcn, {}), + s = r.slice(), + l = Object.create(null), + c, + u, + d, + p, + f; + for (let m = 0, g = 0; m < r.length; m++) + ((c = r[m]), + Object.prototype.hasOwnProperty.call(i, c) + ? g++ + : (e1(n, { command: "removeLayer", args: [c] }), + s.splice(s.indexOf(c, g), 1))); + for (let m = 0, g = 0; m < o.length; m++) + ((c = o[o.length - 1 - m]), + s[s.length - 1 - m] !== c && + (Object.prototype.hasOwnProperty.call(a, c) + ? (e1(n, { command: "removeLayer", args: [c] }), + s.splice(s.lastIndexOf(c, s.length - g), 1)) + : g++, + (p = s[s.length - m]), + e1(n, { command: "addLayer", args: [i[c], p] }), + s.splice(s.length - m, 0, c), + (l[c] = !0))); + for (let m = 0; m < o.length; m++) + if (((c = o[m]), (u = a[c]), (d = i[c]), !(l[c] || yi(u, d)))) { + if ( + !yi(u.source, d.source) || + !yi(u["source-layer"], d["source-layer"]) || + !yi(u.type, d.type) + ) { + (e1(n, { command: "removeLayer", args: [c] }), + (p = s[s.lastIndexOf(c) + 1]), + e1(n, { command: "addLayer", args: [d, p] })); + continue; + } + for (f in (ime(u.layout, d.layout, n, c, "setLayoutProperty"), + ime(u.paint, d.paint, n, c, "setPaintProperty"), + yi(u.filter, d.filter) || + e1(n, { command: "setFilter", args: [c, d.filter] }), + (!yi(u.minzoom, d.minzoom) || !yi(u.maxzoom, d.maxzoom)) && + e1(n, { + command: "setLayerZoomRange", + args: [c, d.minzoom, d.maxzoom], + }), + u)) + Object.prototype.hasOwnProperty.call(u, f) && + f !== "layout" && + f !== "paint" && + f !== "filter" && + f !== "metadata" && + f !== "minzoom" && + f !== "maxzoom" && + (f.indexOf("paint.") === 0 + ? ime(u[f], d[f], n, c, "setPaintProperty") + : yi(u[f], d[f]) || + e1(n, { command: "setLayerProperty", args: [c, f, d[f]] })); + for (f in d) + Object.prototype.hasOwnProperty.call(d, f) && + !Object.prototype.hasOwnProperty.call(u, f) && + f !== "layout" && + f !== "paint" && + f !== "filter" && + f !== "metadata" && + f !== "minzoom" && + f !== "maxzoom" && + (f.indexOf("paint.") === 0 + ? ime(u[f], d[f], n, c, "setPaintProperty") + : yi(u[f], d[f]) || + e1(n, { command: "setLayerProperty", args: [c, f, d[f]] })); + } +} +function q5r(e, t) { + if (!e) return [{ command: "setStyle", args: [t] }]; + let n = []; + try { + if (!yi(e.version, t.version)) return [{ command: "setStyle", args: [t] }]; + (yi(e.center, t.center) || + n.push({ command: "setCenter", args: [t.center] }), + yi(e.state, t.state) || + n.push({ command: "setGlobalState", args: [t.state] }), + yi(e.centerAltitude, t.centerAltitude) || + n.push({ command: "setCenterAltitude", args: [t.centerAltitude] }), + yi(e.zoom, t.zoom) || n.push({ command: "setZoom", args: [t.zoom] }), + yi(e.bearing, t.bearing) || + n.push({ command: "setBearing", args: [t.bearing] }), + yi(e.pitch, t.pitch) || n.push({ command: "setPitch", args: [t.pitch] }), + yi(e.roll, t.roll) || n.push({ command: "setRoll", args: [t.roll] }), + yi(e.sprite, t.sprite) || + n.push({ command: "setSprite", args: [t.sprite] }), + yi(e.glyphs, t.glyphs) || + n.push({ command: "setGlyphs", args: [t.glyphs] }), + yi(e["font-faces"], t["font-faces"]) || + n.push({ command: "setFontFaces", args: [t["font-faces"]] }), + yi(e.transition, t.transition) || + n.push({ command: "setTransition", args: [t.transition] }), + yi(e.light, t.light) || n.push({ command: "setLight", args: [t.light] })); + let r = !yi(e.terrain, t.terrain); + (r && !t.terrain && n.push({ command: "setTerrain", args: [void 0] }), + yi(e.sky, t.sky) || n.push({ command: "setSky", args: [t.sky] }), + yi(e.projection, t.projection) || + n.push({ command: "setProjection", args: [t.projection] })); + let o = {}, + a = []; + V5r(e.sources, t.sources, a, o); + let i = []; + (e.layers && + e.layers.forEach((s) => { + "source" in s && o[s.source] + ? n.push({ command: "removeLayer", args: [s.id] }) + : i.push(s); + }), + (n = n.concat(a)), + G5r(i, t.layers, n), + r && t.terrain && n.push({ command: "setTerrain", args: [t.terrain] })); + } catch (r) { + (console.warn("Unable to compute style diff:", r), + (n = [{ command: "setStyle", args: [t] }])); + } + return n; +} +function Z5r() { + let e = {}, + t = bt.$version; + for (let n in bt.$root) { + let r = bt.$root[n]; + if (r.required) { + let o = null; + ((o = n === "version" ? t : r.type === "array" ? [] : {}), + o != null && (e[n] = o)); + } + } + return e; +} +function bme(e) { + let t = []; + if (typeof e == "string") t.push({ id: "default", url: e }); + else if (e && e.length > 0) { + let n = []; + for (let { id: r, url: o } of e) { + let a = `${r}${o}`; + n.includes(a) || (n.push(a), t.push({ id: r, url: o })); + } + } + return t; +} +function Vcn(e, t, n) { + try { + let r = new URL(e); + return ((r.pathname += `${t}${n}`), r.toString()); + } catch { + throw Error( + `Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`, + ); + } +} +async function Q5r(e, t, n, r) { + let o = bme(e), + a = n > 1 ? "@2x" : "", + i = {}, + s = {}; + for (let { id: l, url: c } of o) { + let u = await t.transformRequest(Vcn(c, a, ".json"), "SpriteJSON"); + i[l] = hQ(u, r); + let d = await t.transformRequest(Vcn(c, a, ".png"), "SpriteImage"); + s[l] = Xx.getImage(d, r); + } + return ( + await Promise.all([...Object.values(i), ...Object.values(s)]), + X5r(i, s) + ); +} +async function X5r(e, t) { + let n = {}; + for (let r in e) { + n[r] = {}; + let o = (await t[r]).data; + if (!o) + throw Error( + `Could not load sprite image for ${r}: the response is empty`, + ); + let a = M0.getImageCanvasContext(o), + i = (await e[r]).data; + for (let s in i) { + let { + width: l, + height: c, + x: u, + y: d, + sdf: p, + pixelRatio: f, + stretchX: m, + stretchY: g, + content: v, + textFitWidth: y, + textFitHeight: x, + } = i[s], + A = { width: l, height: c, x: u, y: d, context: a }; + n[r][s] = { + data: null, + pixelRatio: f, + sdf: p, + stretchX: m, + stretchY: g, + content: v, + textFitWidth: y, + textFitHeight: x, + spriteData: A, + }; + } + } + return n; +} +function j5r(e) { + let t = /^u\+([0-9a-f]*)(\?+)$/i.exec(e); + if (t) { + let [, o, a] = t; + return o.length + a.length > 6 + ? null + : Gcn( + parseInt(`${o}${"0".repeat(a.length)}`, 16), + parseInt(`${o}${"f".repeat(a.length)}`, 16), + ); + } + let n = /^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i.exec(e); + if (!n) return null; + let r = parseInt(n[1], 16); + return Gcn(r, n[2] === void 0 ? r : parseInt(n[2], 16)); +} +function Gcn(e, t) { + return e > t || e > jNe ? null : { start: e, end: Math.min(t, jNe) }; +} +function $5r(e, t) { + return e.ranges.some(({ start: n, end: r }) => t >= n && t <= r); +} +function qcn(e, t, n, r, o, a, i, s, l) { + for (let c = t; c < t + r; c++) Zcn(e, n * a + c, a, o, i, s, l); + for (let c = n; c < n + o; c++) Zcn(e, c * a + t, 1, r, i, s, l); +} +function Zcn(e, t, n, r, o, a, i) { + ((a[0] = 0), (i[0] = -100000000000000000000), (i[1] = $Ne), (o[0] = e[t])); + for (let s = 1, l = 0, c = 0; s < r; s++) { + o[s] = e[t + s * n]; + let u = s * s; + do { + let d = a[l]; + c = (o[s] - o[d] + u - d * d) / (s - d) / 2; + } while (c <= i[l] && --l > -1); + (l++, (a[l] = s), (i[l] = c), (i[l + 1] = $Ne)); + } + for (let s = 0, l = 0; s < r; s++) { + for (; i[l + 1] < s;) l++; + let c = a[l], + u = s - c; + e[t + s * n] = o[c] + u * u; + } +} +function p8r(e) { + if (!e) return !1; + let t = globalThis.location; + if (!t) return !1; + try { + return new URL(e, t.href).origin !== t.origin; + } catch { + return !1; + } +} +function f8r() { + let e = import.meta.url; + if (!/^https?:/.test(e)) return ""; + let t = e.endsWith("-dev.mjs") + ? "maplibre-gl-worker-dev.mjs" + : "maplibre-gl-worker.mjs"; + return new URL(`./${t}`, e).href; +} +function ONe(e, t) { + if (t) + try { + return new Worker(e, { type: "module" }); + } catch (n) { + console.warn( + "Module worker not supported, falling back to classic worker", + n, + ); + } + return new Worker(e); +} +async function m8r(e) { + let t = await fetch(e); + if (!t.ok) throw Error(`Failed to fetch worker script (${t.status}): ${e}`); + let n = await t.text(), + r = new Blob([n], { type: "text/javascript" }); + return URL.createObjectURL(r); +} +function h8r(e) { + let t = new Blob( + [`import ${JSON.stringify(new URL(e, import.meta.url).href)}`], + { type: "text/javascript" }, + ); + return URL.createObjectURL(t); +} +async function g8r() { + let e = KT.WORKER_URL || f8r(), + t = !e?.endsWith(".cjs"); + if (!p8r(e)) return ONe(e, t); + if (t) { + let r = h8r(e); + try { + return ONe(r, t); + } finally { + URL.revokeObjectURL(r); + } + } + let n = await m8r(e); + try { + return ONe(n, t); + } finally { + URL.revokeObjectURL(n); + } +} +function $un() { + return ((Qcn ||= new jun()), Qcn); +} +function b8r() { + return ( + sme || + ((sme = new edn($un(), Xpe)), + sme.registerMessageHandler("GR", (e, t, n) => mQ(t, n))), + sme + ); +} +function x8r(e, t) { + let n = kw(); + return ( + vc(n, n, [1, 1, 0]), + Gp(n, n, [e.width * 0.5, e.height * 0.5, 1]), + e.calculatePosMatrix ? QT(n, n, e.calculatePosMatrix(t.toUnwrapped())) : n + ); +} +function A8r(e, t, n) { + if (e) + for (let r of e) { + let o = t[r]; + if (o?.source === n && o.type === "fill-extrusion") return !0; + } + else + for (let r in t) { + let o = t[r]; + if (o.source === n && o.type === "fill-extrusion") return !0; + } + return !1; +} +function w8r(e, t, n, r, o, a, i) { + let s = A8r(o?.layers ?? null, t, e.id), + l = a.maxPitchScaleFactor(), + c = e.tilesIn(r, l, s); + c.sort(tdn); + let u = []; + for (let d of c) + u.push({ + wrappedTileID: d.tileID.wrapped().key, + queryResults: d.tile.queryRenderedFeatures( + t, + n, + e.getState(), + d.queryGeometry, + d.cameraQueryGeometry, + d.scale, + o, + a, + l, + x8r(a, d.tileID), + i ? (p, f) => i(d.tileID, p, f) : void 0, + ), + }); + return I8r(E8r(u), e); +} +function S8r(e, t, n, r, o, a, i) { + let s = {}, + l = a.queryRenderedSymbols(r), + c = []; + for (let u of Object.keys(l).map(Number)) c.push(i[u]); + c.sort(tdn); + for (let u of c) { + let d = u.featureIndex.lookupSymbolFeatures( + l[u.bucketInstanceId], + t, + u.bucketIndex, + u.sourceLayerIndex, + { filterSpec: o.filter, globalState: o.globalState }, + o.layers, + o.availableImages, + e, + ); + for (let p in d) { + s[p] ||= []; + let f = d[p]; + f.sort((m, g) => { + let v = u.featureSortOrder; + if (v) { + let y = v.indexOf(m.featureIndex); + return v.indexOf(g.featureIndex) - y; + } + return g.featureIndex - m.featureIndex; + }); + for (let m of f) s[p].push(m); + } + } + return T8r(s, e, n); +} +function C8r(e, t) { + let n = e.getRenderableIds().map((a) => e.getTileByID(a)), + r = [], + o = {}; + for (let a of n) { + let i = a.tileID.canonical.key; + o[i] || ((o[i] = !0), a.querySourceFeatures(r, t)); + } + return r; +} +function tdn(e, t) { + let n = e.tileID, + r = t.tileID; + return ( + n.overscaledZ - r.overscaledZ || + n.canonical.y - r.canonical.y || + n.wrap - r.wrap || + n.canonical.x - r.canonical.x + ); +} +function E8r(e) { + let t = {}, + n = {}; + for (let { queryResults: r, wrappedTileID: o } of e) { + n[o] ||= {}; + let a = n[o]; + for (let i in r) { + let s = r[i]; + a[i] ||= {}; + let l = a[i]; + t[i] ||= []; + for (let c of s) + l[c.featureIndex] || ((l[c.featureIndex] = !0), t[i].push(c)); + } + } + return t; +} +function I8r(e, t) { + for (let n in e) for (let r of e[n]) ndn(r, t); + return e; +} +function T8r(e, t, n) { + for (let r in e) + for (let o of e[r]) { + let a = n[t[r].source]; + ndn(o, a); + } + return e; +} +function ndn(e, t) { + let n = e.feature, + r = t.getFeatureState(n.layer["source-layer"], n.id); + ((n.source = n.layer.source), + n.layer["source-layer"] && (n.sourceLayer = n.layer["source-layer"]), + (n.state = r)); +} +async function rdn(e, t, n, r) { + let o = e; + if ( + (e.url + ? (o = (await hQ(await t.transformRequest(e.url, "Source"), n)).data) + : await M0.frameAsync(n, r), + !o) + ) + return null; + let a = qL(rr(o, e), [ + "tiles", + "minzoom", + "maxzoom", + "attribution", + "bounds", + "scheme", + "tileSize", + "encoding", + ]); + return ( + "vector_layers" in o && + o.vector_layers && + (a.vectorLayerIds = o.vector_layers.map((i) => i.id)), + a + ); +} +function Cme(e, t) { + return t ? e.properties[t] : e.id; +} +function P8r(e, t) { + let n = new Map(); + if (e == null || e.type == null) return n; + if (e.type === "Feature") { + let r = Cme(e, t); + return r == null ? void 0 : (n.set(r, e), n); + } + if (e.type === "FeatureCollection") { + let r = new Set(); + for (let o of e.features) { + let a = Cme(o, t); + if (a == null || r.has(a)) return; + (r.add(a), n.set(a, o)); + } + return n; + } +} +function M8r(e, t, n) { + let r = []; + if (t.removeAll) e.clear(); + else if (t.remove) + for (let o of t.remove) { + let a = e.get(o); + a && (r.push(a.geometry), e.delete(o)); + } + if (t.add) + for (let o of t.add) { + let a = Cme(o, n); + if (a == null) continue; + let i = e.get(a); + (i && r.push(i.geometry), r.push(o.geometry), e.set(a, o)); + } + if (t.update) + for (let o of t.update) { + let a = e.get(o.id); + if (!a) continue; + let i = !!o.newGeometry, + s = + o.removeAllProperties || + o.removeProperties?.length > 0 || + o.addOrUpdateProperties?.length > 0; + if (!i && !s) continue; + r.push(a.geometry); + let l = { ...a }; + if ( + (e.set(o.id, l), + i && (r.push(o.newGeometry), (l.geometry = o.newGeometry)), + s) + ) { + if ( + ((l.properties = o.removeAllProperties + ? {} + : { ...(l.properties || {}) }), + o.removeProperties) + ) + for (let c of o.removeProperties) delete l.properties[c]; + if (o.addOrUpdateProperties) + for (let { key: c, value: u } of o.addOrUpdateProperties) + l.properties[c] = u; + } + } + return r; +} +function D8r(e, t, n) { + if (!e) return t || {}; + if (!t) return e || {}; + let r = Xcn(e, n), + o = Xcn(t, n); + L8r(r, o); + let a = {}; + if ( + ((r.removeAll || o.removeAll) && (a.removeAll = !0), + (a.remove = new Set([...r.remove, ...o.remove])), + (a.add = new Map([...r.add, ...o.add])), + (a.update = new Map([...r.update, ...o.update])), + a.remove.size && a.add.size) + ) + for (let i of a.add.keys()) a.remove.delete(i); + return O8r(a); +} +function L8r(e, t) { + t.removeAll && + (e.add.clear(), e.update.clear(), e.remove.clear(), t.remove.clear()); + for (let n of t.remove) (e.add.delete(n), e.update.delete(n)); + for (let [n, r] of t.update) { + let o = e.update.get(n); + o && (t.update.set(n, B8r(o, r)), e.update.delete(n)); + } +} +function B8r(e, t) { + let n = { id: e.id }; + if ( + (t.removeAllProperties && + (delete e.removeProperties, + delete e.addOrUpdateProperties, + delete t.removeProperties), + t.removeProperties && e.addOrUpdateProperties) + ) { + let r = new Set(t.removeProperties); + e.addOrUpdateProperties = e.addOrUpdateProperties.filter( + (o) => !r.has(o.key), + ); + } + return ( + (e.removeAllProperties || t.removeAllProperties) && + (n.removeAllProperties = !0), + (e.removeProperties || t.removeProperties) && + (n.removeProperties = [ + ...(e.removeProperties || []), + ...(t.removeProperties || []), + ]), + (e.addOrUpdateProperties || t.addOrUpdateProperties) && + (n.addOrUpdateProperties = [ + ...(e.addOrUpdateProperties || []), + ...(t.addOrUpdateProperties || []), + ]), + (e.newGeometry || t.newGeometry) && + (n.newGeometry = t.newGeometry || e.newGeometry), + n + ); +} +function Xcn(e, t) { + if (!e) return {}; + let n = {}; + return ( + (n.removeAll = e.removeAll), + (n.remove = new Set(e.remove || [])), + (n.add = new Map(e.add?.map((r) => [Cme(r, t), r]))), + (n.update = new Map(e.update?.map((r) => [r.id, r]))), + n + ); +} +function O8r(e) { + let t = {}; + return ( + e.removeAll && (t.removeAll = e.removeAll), + e.remove && (t.remove = Array.from(e.remove)), + e.add && (t.add = Array.from(e.add.values())), + e.update && (t.update = Array.from(e.update.values())), + t + ); +} +function idn(e) { + return !e || e.length === 0 + ? [] + : typeof e[0] == "number" + ? [e] + : e.flatMap((t) => idn(t)); +} +function xme(e) { + return e.type === "GeometryCollection" + ? e.geometries.flatMap((t) => xme(t)) + : idn(e.coordinates); +} +function Wcn(e) { + let t = new Fw(), + n; + switch (e.type) { + case "FeatureCollection": + n = e.features.flatMap((r) => xme(r.geometry)); + break; + case "Feature": + n = xme(e.geometry); + break; + default: + n = xme(e); + } + if (n.length === 0) return t; + for (let r of n) { + let [o, a] = r; + t.extend([o, a]); + } + return t; +} +function F8r({ x: e, y: t, z: n }, r = 0) { + let o = Yfe((e - r) / 2 ** n), + a = VL((t + 1 + r) / 2 ** n), + i = Yfe((e + 1 + r) / 2 ** n), + s = VL((t - r) / 2 ** n); + return new Fw([o, a], [i, s]); +} +function _8r(e) { + e *= Math.PI / 180; + let t = Math.sin(e), + n = Math.cos(e); + return [ + (2 * n + 1) / 3, + (-Math.sqrt(3) * t - n + 1) / 3, + (Math.sqrt(3) * t - n + 1) / 3, + ]; +} +function H8r(e) { + return e > 0 ? 1 / (1 - e) : 1 + e; +} +function V8r(e) { + return e > 0 ? 1 - 1 / (1.001 - e) : -e; +} +function sdn(e, t) { + let n = G8r(t, "16bit"), + r = Lw.deserialize({ + arrayBuffer: n.vertices, + length: n.vertices.byteLength / 2 / 2, + }), + o = xv.deserialize({ + arrayBuffer: n.indices, + length: n.indices.byteLength / 2 / 3, + }); + return new qQ( + e.createVertexBuffer(r, o7.members), + e.createIndexBuffer(o), + Vs.simpleSegment(0, 0, r.length, o.length), + ); +} +function G8r(e, t) { + let n = e.granularity === void 0 ? 1 : Math.max(e.granularity, 1), + r = n + (e.generateBorders ? 2 : 0), + o = + n + + (e.extendToNorthPole || e.generateBorders ? 1 : 0) + + (e.extendToSouthPole || e.generateBorders ? 1 : 0), + a = r + 1, + i = o + 1, + s = e.generateBorders ? -1 : 0, + l = e.generateBorders || e.extendToNorthPole ? -1 : 0, + c = n + +!!e.generateBorders, + u = n + (e.generateBorders || e.extendToSouthPole ? 1 : 0), + d = a * i, + p = r * o * 6, + f = a * i > 65536; + if (f && t === "16bit") + throw Error( + "Granularity is too large and meshes would not fit inside 16 bit vertex indices.", + ); + let m = f || t === "32bit", + g = new Int16Array(d * 2), + v = 0; + for (let A = l; A <= u; A++) + for (let w = s; w <= c; w++) { + let C = (w / n) * Ut; + (w === -1 && (C = -lme), w === n + 1 && (C = Ut + lme)); + let E = (A / n) * Ut; + (A === -1 && (E = e.extendToNorthPole ? PL : -lme), + A === n + 1 && (E = e.extendToSouthPole ? ML : Ut + lme), + (g[v++] = C), + (g[v++] = E)); + } + let y = m ? new Uint32Array(p) : new Uint16Array(p), + x = 0; + for (let A = 0; A < o; A++) + for (let w = 0; w < r; w++) { + let C = w + A * a, + E = w + 1 + A * a, + T = w + (A + 1) * a, + I = w + 1 + (A + 1) * a; + ((y[x++] = C), + (y[x++] = T), + (y[x++] = E), + (y[x++] = E), + (y[x++] = T), + (y[x++] = I)); + } + return { + vertices: g.buffer.slice(0), + indices: y.buffer.slice(0), + uses32bitIndices: m, + }; +} +function q8r(e) { + let t = By.fromPoints(e), + n = t.width(), + r = t.height(), + o = Math.max(0, Math.floor(-Math.log(Math.max(n, r)) / Math.LN2)), + a = 2 ** o; + return new DQ( + o, + Math.floor(((t.minX + t.maxX) / 2) * a), + Math.floor(((t.minY + t.maxY) / 2) * a), + ); +} +function Z8r(e) { + let t = e[1].x - e[0].x, + n = e[1].y - e[0].y, + r = e[2].x - e[0].x; + return t * (e[2].y - e[0].y) - n * r < 0; +} +function Q8r(e, t) { + if (t === "flat" || ldn(e)) return rB; + let [n, r, o, a] = e, + i = n.x - r.x + o.x - a.x, + s = n.y - r.y + o.y - a.y, + l = [r.x - o.x, r.y - o.y, a.x - o.x, a.y - o.y], + [c, u, d, p] = l, + f = T5r(l), + m = (i * p - d * s) / f, + g = (c * s - i * u) / f, + v = [1, 1 + m, 1 + m + g, 1 + g], + y = Math.max(...v) / Math.min(...v), + x = t === "perspective" ? 0 : X8r(y); + return !(y >= 1 && y <= 512) || x >= 1 ? rB : [m, g, x]; +} +function X8r(e) { + let t = (1 - 4 / e) / 0.9921875; + return Math.max(0, t); +} +function ldn(e) { + let [t, n, r, o] = e; + return t.x + r.x === n.x + o.x && t.y + r.y === n.y + o.y; +} +function $8r(e, t) { + let n = {}; + if (!t) return n; + for (let r of e) { + let o = r.layerIds.map((a) => t.getLayer(a)).filter(Boolean); + if (o.length !== 0) { + ((r.layers = o), + r.stateDependentLayerIds && + (r.stateDependentLayers = r.stateDependentLayerIds.map( + (a) => o.filter((i) => i.id === a)[0], + ))); + for (let a of o) n[a.id] = r; + } + } + return n; +} +function tze() { + return ((Ycn ||= new eEr()), Ycn); +} +function Kcn(e) { + let t = []; + for (let n in e) t.push({ id: n, state: e[n] }); + return t; +} +function nEr(e, t, n, r) { + let o = qp([], e, t), + a = (1 / o[3] / n) * r; + return sin(o, o, [a, a, 1 / o[3], a]); +} +function rEr(e, t, n, r) { + let o = r ? 4 : 0, + a = r ? 0 : 4, + i = 0, + s = [], + l = []; + for (let d = 0; d < 4; d++) { + let p = Gx([], e[d + a], e[d + o]), + f = Fy(p); + (Ss(p, p, 1 / f), s.push(f), l.push(p)); + } + for (let d = 0; d < 4; d++) { + let p = uin(e[d + o], l[d], n); + i = p !== null && p >= 0 ? Math.max(i, p) : Math.max(i, s[d]); + } + let c = oEr(e, t), + u = aEr(n, c); + if (u !== null) { + let d = u / bc(l[0], c); + i = Math.min(i, d); + } + for (let d = 0; d < 4; d++) { + let p = Math.min(i, s[d]); + e[d + a] = [ + e[d + o][0] + l[d][0] * p, + e[d + o][1] + l[d][1] * p, + e[d + o][2] + l[d][2] * p, + 1, + ]; + } +} +function oEr(e, t) { + let n = Gx([], e[t[0]], e[t[1]]), + r = Gx([], e[t[2]], e[t[1]]), + o = [0, 0, 0, 0]; + return (Tm(o, wh([], n, r)), (o[3] = -bc(o, e[t[0]])), o); +} +function aEr(e, t) { + let n = cQ(e), + r = iin([], e, 1 / n), + o = Gx([], t, Ss([], r, bc(t, r))), + a = cQ(o); + if (a > 0) { + let i = Math.sqrt(1 - r[3] * r[3]), + s = Ss([], r, -r[3]), + l = Kg([], s, Ss([], o, i / a)); + return xfe(t, l); + } + return null; +} +function iEr(e, t, n) { + let r = t.intersectsFrustum(e); + if (!n || r === 0) return r; + let o = t.intersectsPlane(n); + return o === 0 ? 0 : r === 2 && o === 2 ? 2 : 1; +} +function Jcn(e, t, n) { + let r = 0, + o = (n - t) / 10; + for (let a = 0; a < 10; a++) { + let i = t + ((a + 0.5) / 10) * (n - t); + r += o * Math.cos(i) ** +e; + } + return r; +} +function nze(e, t) { + return function (n, r, o, a, i) { + let s = 2 * ((e - 1) / Zp(Math.cos(_s(e5 - i)) / Math.cos(_s(e5))) - 1), + l = Math.acos(o / a), + c = 2 * Jcn(s - 1, 0, _s(i / 2)), + u = Math.min(_s(e5), l + _s(i / 2)), + d = Math.min(u, l - _s(i / 2)), + p = Jcn(s - 1, d, u), + f = Math.atan(r / o), + m = Math.hypot(r, o), + g = n; + return ( + (g += Zp(a / m / Math.max(0.5, Math.cos(_s(i / 2))))), + (g += (s * Zp(Math.cos(f))) / 2), + (g -= Zp(Math.max(1, p / c / t)) / 2), + g + ); + }; +} +function fze(e, t) { + let n = (t.roundZoom ? Math.round : Math.floor)( + e.zoom + Zp(e.tileSize / t.tileSize), + ); + return Math.max(0, n); +} +function lEr(e, t) { + let n = e5 - e.pitch - e.fov / 2, + r = qr((15 - n) / 15, 0, 1), + o = Math.max(500, t ?? 0); + return e.elevation + r * o; +} +function cEr(e, t, n) { + let r = e.planes[1], + o = e.points.map((l) => { + let c = r[0] * l[0] + r[1] * l[1] + r[2] * l[2] + r[3]; + if (Math.abs(c) > 0.000001) return l; + let u = [l[0] - n[0], l[1] - n[1], l[2] - n[2]], + d = r[0] * u[0] + r[1] * u[1] + r[2] * u[2]; + if (d >= -0.000000001) return l; + let p = t / -d; + return [l[0] + u[0] * p, l[1] + u[1] * p, l[2] + u[2] * p, l[3]]; + }), + a = e.planes.map((l, c) => (c === 1 ? [l[0], l[1], l[2], l[3] + t] : l)), + i = [1 / 0, 1 / 0, 1 / 0], + s = [-1 / 0, -1 / 0, -1 / 0]; + for (let l of o) + for (let c = 0; c < 3; c++) + ((i[c] = Math.min(i[c], l[c])), (s[c] = Math.max(s[c], l[c]))); + return new pze(o, a, new dze(i, s)); +} +function uEr(e, t, n, r) { + let o = Math.hypot(t[0], t[1], t[2]); + if (o === 0) return { frustum: e, plane: t }; + let a = 1 + r / Pm, + i = qr(-t[3] / o, -1, 1), + s = Math.cos(Math.acos(i) + Math.acos(1 / a)); + return { + frustum: cEr(e, Math.sqrt(a * a - 1), n), + plane: [t[0], t[1], t[2], -s * o], + }; +} +function iB(e, t) { + let n = e.getCameraFrustum(), + r = e.getClippingPlane(); + r && + t.maxContentElevation > 0 && + ({ frustum: n, plane: r } = uEr( + n, + r, + e.cameraPosition, + t.maxContentElevation, + )); + let o = bln(e), + a = ai.fromLngLat(e.center, e.elevation), + i = lEr(e, t.maxContentElevation), + s = e.getCoveringTilesDetailsProvider(), + l = s.allowVariableZoom(e, t), + c = fze(e, t), + u = t.minzoom || 0, + d = t.maxzoom === void 0 ? e.maxZoom : t.maxzoom, + p = Math.min(Math.max(0, c), d), + f = 2 ** p, + m = [f * o.x, f * o.y, 0], + g = [f * a.x, f * a.y, 0], + v = Math.hypot(a.x - o.x, a.y - o.y), + y = Math.abs(a.z - o.z), + x = Math.hypot(v, y), + A = (E) => ({ zoom: 0, x: 0, y: 0, wrap: E, fullyVisible: !1 }), + w = [], + C = []; + if (e.renderWorldCopies && s.allowWorldCopies()) + for (let E = 1; E <= 3; E++) (w.push(A(-E)), w.push(A(E))); + for (w.push(A(0)); w.length > 0;) { + let E = w.pop(), + { x: T, y: I, fullyVisible: k } = E, + L = { x: T, y: I, z: E.zoom }, + O = s.getTileBoundingVolume(L, E.wrap, i, t); + if (!k) { + let N = iEr(n, O, r); + if (N === 0) continue; + k = N === 2; + } + let B = s.distanceToTile2d(o.x, o.y, L, O), + U = c; + (l && + (U = (t.calculateTileZoom || sEr)( + e.zoom + Zp(e.tileSize / t.tileSize), + B, + y, + x, + e.fov, + )), + (U = (t.roundZoom ? Math.round : Math.floor)(U)), + (U = Math.max(0, U))); + let D = Math.min(U, d); + if (((E.wrap = s.getWrap(a, L, E.wrap)), E.zoom >= D)) { + if (E.zoom < u) continue; + let N = p - E.zoom, + _ = m[0] - 0.5 - (T << N), + G = m[1] - 0.5 - (I << N), + Z = t.reparseOverscaled ? Math.max(E.zoom, U) : E.zoom; + C.push({ + tileID: new Xp(E.zoom === d ? Z : E.zoom, E.wrap, E.zoom, T, I), + distanceSq: cin([g[0] - 0.5 - T, g[1] - 0.5 - I]), + tileDistanceToCamera: Math.sqrt(_ * _ + G * G), + }); + continue; + } + for (let N = 0; N < 4; N++) { + let _ = (T << 1) + (N % 2), + G = (I << 1) + (N >> 1), + Z = E.zoom + 1; + w.push({ zoom: Z, x: _, y: G, wrap: E.wrap, fullyVisible: k }); + } + } + return C.sort((E, T) => E.distanceSq - T.distanceSq).map((E) => E.tileID); +} +function jcn(e) { + return e === "raster" || e === "image" || e === "video"; +} +function dEr(e, t, n, r, o, a, i) { + let s = vi(), + l = pin(t); + for (let c of t) { + let u = e.getTileById(c.key); + ((u.fadingDirection === 0 || u.fadeOpacity === 0) && u.resetFadeLogic(), + !pEr(e, u, n, s, r, o, i) && + (fEr(e, u, n, s, a, i) || mEr(u, l, s, i) || u.resetFadeLogic())); + } +} +function pEr(e, t, n, r, o, a, i) { + if (!t.hasData()) return !1; + let { tileID: s, fadingRole: l, fadingDirection: c, fadingParentID: u } = t; + if (l === 0 && c === 1 && u) return ((n[u.key] = u), !0); + let d = Math.max(s.overscaledZ - o, a); + for (let p = s.overscaledZ - 1; p >= d; p--) { + let f = s.scaledTo(p), + m = e.getLoadedTile(f); + if (m) + return ( + t.setCrossFadeLogic({ + fadingRole: 0, + fadingDirection: 1, + fadingParentID: m.tileID, + fadeEndTime: r + i, + }), + m.setCrossFadeLogic({ + fadingRole: 1, + fadingDirection: 0, + fadeEndTime: r + i, + }), + (n[f.key] = f), + !0 + ); + } + return !1; +} +function fEr(e, t, n, r, o, a) { + if (!t.hasData()) return !1; + let i = t.tileID.children(o), + s = $cn(e, t, i, n, r, o, a); + if (s) return !0; + for (let l of i) $cn(e, t, l.children(o), n, r, o, a) && (s = !0); + return s; +} +function $cn(e, t, n, r, o, a, i) { + if (n[0].overscaledZ >= a) return !1; + let s = !1; + for (let l of n) { + let c = e.getLoadedTile(l); + if (!c) continue; + let { fadingRole: u, fadingDirection: d, fadingParentID: p } = c; + ((u !== 0 || d !== 0 || !p) && + (c.setCrossFadeLogic({ + fadingRole: 0, + fadingDirection: 0, + fadingParentID: t.tileID, + fadeEndTime: o + i, + }), + t.setCrossFadeLogic({ + fadingRole: 1, + fadingDirection: 1, + fadeEndTime: o + i, + })), + (r[l.key] = l), + (s = !0)); + } + return s; +} +function mEr(e, t, n, r) { + let o = e.tileID; + if (e.selfFading) return !0; + if (e.hasData()) return !1; + if (t.has(o)) { + let a = n + r; + return (e.setSelfFadeLogic(a), !0); + } + return !1; +} +function hEr(e, t) { + if (t <= 0) return !1; + let n = vi(); + for (let r of e.getAllTiles()) if (r.fadeEndTime >= n) return !0; + return !1; +} +function gEr(e, t) { + let n = t.getRenderableIds(); + for (let r of n) { + if (!e.neighboringTiles?.[r]) continue; + let o = t.getTileById(r); + (e.neighboringTiles[r].backfilled || eun(e, o), + !o.neighboringTiles?.[e.tileID.key]?.backfilled && eun(o, e)); + } +} +function eun(e, t) { + ((e.needsHillshadePrepare = !0), + (e.needsTerrainPrepare = !0), + (e.needsColorReliefPrepare = !0)); + let n = t.tileID.canonical.x - e.tileID.canonical.x, + r = t.tileID.canonical.y - e.tileID.canonical.y, + o = 2 ** e.tileID.canonical.z, + a = t.tileID.key; + (n !== 0 || r !== 0) && + (Math.abs(r) > 1 || + (Math.abs(n) > 1 && + (Math.abs(n + o) === 1 ? (n += o) : Math.abs(n - o) === 1 && (n -= o)), + t.dem && + e.dem && + (e.dem.backfillBorder(t.dem, n, r), + e.neighboringTiles?.[a] && (e.neighboringTiles[a].backfilled = !0)))); +} +function Ame(e, t, n, r, o) { + return o ? (e ? e(t, n) + r : r === 0 ? void 0 : r) : r; +} +function cme(e, t) { + let n = !0; + return (e === "always" || ((e === "never" || t === "never") && (n = !1)), n); +} +function vEr(e, t) { + let n = 1 / (t[0] * t[0] + t[1] * t[1] + t[2] * t[2]), + r = 1 / (t[8] * t[8] + t[9] * t[9] + t[10] * t[10]), + o = t[0] * n, + a = t[4] * n, + i = t[8] * r, + s = t[1] * n, + l = t[5] * n, + c = t[9] * r, + u = t[2] * n, + d = t[6] * n, + p = t[10] * r; + ((e[0] = o), + (e[1] = a), + (e[2] = i), + (e[4] = s), + (e[5] = l), + (e[6] = c), + (e[8] = u), + (e[9] = d), + (e[10] = p)); + let f = t[12], + m = t[13], + g = t[14]; + return ( + (e[12] = -o * f - s * m - u * g), + (e[13] = -a * f - l * m - d * g), + (e[14] = -i * f - c * m - p * g), + (e[3] = 0), + (e[7] = 0), + (e[11] = 0), + (e[15] = 1), + e + ); +} +function bEr(e, t) { + return ( + (e[0] = 1 / t[0]), + (e[1] = 0), + (e[2] = 0), + (e[3] = 0), + (e[4] = 0), + (e[5] = 1 / t[5]), + (e[6] = 0), + (e[7] = 0), + (e[8] = 0), + (e[9] = 0), + (e[10] = 0), + (e[11] = 1 / t[14]), + (e[12] = 0), + (e[13] = 0), + (e[14] = -1), + (e[15] = t[10] / t[14]), + e + ); +} +function xEr(e, t) { + let n = 1 / (t[0] * t[5] - t[1] * t[4]); + return ( + (e[0] = t[5] * n), + (e[1] = -t[1] * n), + (e[2] = 0), + (e[3] = 0), + (e[4] = -t[4] * n), + (e[5] = t[0] * n), + (e[6] = 0), + (e[7] = 0), + (e[8] = 0), + (e[9] = 0), + (e[10] = 1 / t[10]), + (e[11] = 0), + (e[12] = 0), + (e[13] = 0), + (e[14] = 0), + (e[15] = 1 / t[15]), + e + ); +} +function mze(e, t, n) { + let r = kw(); + if (!e) { + let { vecSouth: o, vecEast: a } = hze(t), + i = Yun(); + ((i[0] = a[0]), + (i[1] = a[1]), + (i[2] = o[0]), + (i[3] = o[1]), + I5r(i, i), + (r[0] = i[0]), + (r[1] = i[1]), + (r[4] = i[2]), + (r[5] = i[3])); + } + return (Gp(r, r, [1 / n, 1 / n, 1]), r); +} +function wEr(e, t, n, r) { + if (e) { + let o = kw(); + if (!t) { + let { vecSouth: a, vecEast: i } = hze(n); + ((o[0] = i[0]), (o[1] = i[1]), (o[4] = a[0]), (o[5] = a[1])); + } + return (Gp(o, o, [r, r, 1]), o); + } + return n.pixelsToClipSpaceMatrix; +} +function hze(e) { + let t = Math.cos(e.rollInRadians), + n = Math.sin(e.rollInRadians), + r = Math.cos(e.pitchInRadians), + o = Math.cos(e.bearingInRadians), + a = Math.sin(e.bearingInRadians), + i = bfe(); + ((i[0] = -o * r * n - a * t), (i[1] = -a * r * n + o * t)); + let s = mUe(i); + s < 0.000000001 ? hUe(i) : fUe(i, i, 1 / s); + let l = bfe(); + ((l[0] = o * r * t - a * n), (l[1] = a * r * t + o * n)); + let c = mUe(l); + return ( + c < 0.000000001 ? hUe(l) : fUe(l, l, 1 / c), + { vecEast: l, vecSouth: i } + ); +} +function a7(e, t, n) { + return Ame( + e.getElevation, + t, + n, + e.heightOffset ?? 0, + e.heightAnchorGround ?? !0, + ); +} +function gze(e, t, n, r) { + let o; + r == null + ? ((o = [e, t, 0, 1]), yze(o, o, n)) + : ((o = [e, t, r, 1]), qp(o, o, n)); + let a = o[3]; + return { + point: new ft(o[0] / a, o[1] / a), + signedDistanceFromCamera: a, + isOccluded: !1, + }; +} +function udn(e, t) { + return 0.5 + (e / t) * 0.5; +} +function SEr(e, t) { + return e.x >= -t[0] && e.x <= t[0] && e.y >= -t[1] && e.y <= t[1]; +} +function CEr(e, t, n, r, o, a, i, s, l, c, u, d, p) { + let f = n ? e.textSizeData : e.iconSizeData, + m = RQ(f, t.transform.zoom), + g = [(256 / t.width) * 2 + 1, (256 / t.height) * 2 + 1], + v = n ? e.text.dynamicLayoutVertexArray : e.icon.dynamicLayoutVertexArray; + v.clear(); + let y = e.lineVertexArray, + x = n ? e.text.placedSymbolArray : e.icon.placedSymbolArray, + A = t.transform.width / t.transform.height, + w = !1; + for (let C = 0; C < x.length; C++) { + let E = x.get(C); + if (E.hidden || (E.writingMode === 2 && !w)) { + oB(E.numGlyphs, v); + continue; + } + w = !1; + let T = new ft(E.anchorX, E.anchorY), + I = { + getElevation: p, + pitchedLabelPlaneMatrix: r, + lineVertexArray: y, + pitchWithMap: a, + projectionCache: { + projections: {}, + offsets: {}, + cachedAnchorPoint: void 0, + anyProjectionOccluded: !1, + }, + transform: t.transform, + tileAnchorPoint: T, + unwrappedTileID: l, + width: c, + height: u, + translation: d, + }, + k = fdn(E.anchorX, E.anchorY, I); + if (!SEr(k.point, g)) { + oB(E.numGlyphs, v); + continue; + } + let L = k.signedDistanceFromCamera, + O = udn(t.transform.cameraToCenterDistance, L), + B = eme(f, m, E), + U = a + ? (B * t.transform.getPitchedTextCorrection(E.anchorX, E.anchorY, l)) / + O + : B * O, + D = oun({ + projectionContext: I, + pitchedLabelPlaneMatrixInverse: o, + symbol: E, + fontSize: U, + flip: !1, + keepUpright: i, + glyphOffsetArray: e.glyphOffsetArray, + dynamicLayoutVertexArray: v, + aspectRatio: A, + rotateToLine: s, + }); + ((w = D.useVertical), + (D.notEnoughRoom || + w || + (D.needsFlipping && + oun({ + projectionContext: I, + pitchedLabelPlaneMatrixInverse: o, + symbol: E, + fontSize: U, + flip: !0, + keepUpright: i, + glyphOffsetArray: e.glyphOffsetArray, + dynamicLayoutVertexArray: v, + aspectRatio: A, + rotateToLine: s, + }).notEnoughRoom)) && + oB(E.numGlyphs, v)); + } + n + ? e.text.dynamicLayoutVertexBuffer.updateData(v) + : e.icon.dynamicLayoutVertexBuffer.updateData(v); +} +function ddn(e, t, n, r, o, a, i, s) { + let l = a.glyphStartIndex + a.numGlyphs, + c = a.lineStartIndex, + u = a.lineStartIndex + a.lineLength, + d = t.getoffsetX(a.glyphStartIndex), + p = t.getoffsetX(l - 1), + f = Eme(e * d, n, r, o, a.segment, c, u, s, i); + if (!f) return null; + let m = Eme(e * p, n, r, o, a.segment, c, u, s, i); + return !m || s.projectionCache.anyProjectionOccluded + ? null + : { first: f, last: m }; +} +function run(e, t, n, r) { + return e === 1 && Math.abs(n.y - t.y) > Math.abs(n.x - t.x) * r + ? { useVertical: !0 } + : (e === 2 ? t.y < n.y : t.x > n.x) + ? { needsFlipping: !0 } + : null; +} +function oun(e) { + let { + projectionContext: t, + pitchedLabelPlaneMatrixInverse: n, + symbol: r, + fontSize: o, + flip: a, + keepUpright: i, + glyphOffsetArray: s, + dynamicLayoutVertexArray: l, + aspectRatio: c, + rotateToLine: u, + } = e, + d = o / 24, + p = r.lineOffsetX * d, + f = r.lineOffsetY * d, + m; + if (r.numGlyphs > 1) { + let g = r.glyphStartIndex + r.numGlyphs, + v = r.lineStartIndex, + y = r.lineStartIndex + r.lineLength, + x = ddn(d, s, p, f, a, r, u, t); + if (!x) return { notEnoughRoom: !0 }; + let A = ume(x.first.point.x, x.first.point.y, t, n), + w = ume(x.last.point.x, x.last.point.y, t, n); + if (i && !a) { + let C = run(r.writingMode, A, w, c); + if (C) return C; + } + m = [x.first]; + for (let C = r.glyphStartIndex + 1; C < g - 1; C++) { + let E = Eme(d * s.getoffsetX(C), p, f, a, r.segment, v, y, t, u); + if (!E) return { notEnoughRoom: !0 }; + m.push(E); + } + m.push(x.last); + } else { + if (i && !a) { + let v = i7(t.tileAnchorPoint.x, t.tileAnchorPoint.y, t).point, + y = r.lineStartIndex + r.segment + 1, + x = new ft(t.lineVertexArray.getx(y), t.lineVertexArray.gety(y)), + A = i7(x.x, x.y, t), + w = + A.signedDistanceFromCamera > 0 + ? A.point + : pdn(t.tileAnchorPoint, x, v, 1, t), + C = ume(v.x, v.y, t, n), + E = ume(w.x, w.y, t, n), + T = run(r.writingMode, C, E, c); + if (T) return T; + } + let g = Eme( + d * s.getoffsetX(r.glyphStartIndex), + p, + f, + a, + r.segment, + r.lineStartIndex, + r.lineStartIndex + r.lineLength, + t, + u, + ); + if (!g || t.projectionCache.anyProjectionOccluded) + return { notEnoughRoom: !0 }; + m = [g]; + } + for (let g of m) PQ(l, g.point, g.angle); + return {}; +} +function pdn(e, t, n, r, o) { + let a = e.add(e.sub(t)._unit()), + i = i7(a.x, a.y, o).point, + s = n.sub(i); + return n.add(s._mult(r / s.mag())); +} +function oze(e, t, n) { + let r = t.projectionCache; + if (r.projections[e]) return r.projections[e]; + let o = new ft(t.lineVertexArray.getx(e), t.lineVertexArray.gety(e)), + a = i7(o.x, o.y, t); + if (a.signedDistanceFromCamera > 0) + return ( + (r.projections[e] = a.point), + (r.anyProjectionOccluded ||= a.isOccluded), + a.point + ); + let i = e - n.direction, + s = + n.distanceFromAnchor === 0 + ? t.tileAnchorPoint + : new ft(t.lineVertexArray.getx(i), t.lineVertexArray.gety(i)), + l = n.absOffsetX - n.distanceFromAnchor + 1; + return pdn(s, o, n.previousVertex, l, t); +} +function i7(e, t, n) { + let r = e + n.translation[0], + o = t + n.translation[1], + a; + return ( + n.pitchWithMap + ? ((a = gze(r, o, n.pitchedLabelPlaneMatrix, a7(n, r, o))), + (a.isOccluded = !1)) + : ((a = n.transform.projectTileCoordinates( + r, + o, + n.unwrappedTileID, + a7(n, r, o), + )), + (a.point.x = (a.point.x * 0.5 + 0.5) * n.width), + (a.point.y = (-a.point.y * 0.5 + 0.5) * n.height)), + a + ); +} +function ume(e, t, n, r) { + if (n.pitchWithMap) { + let o = [e, t, 0, 1]; + qp(o, o, r); + let a = o[0] / o[3], + i = o[1] / o[3]; + return n.transform.projectTileCoordinates( + a, + i, + n.unwrappedTileID, + a7(n, a, i), + ).point; + } + return { x: (e / n.width) * 2 - 1, y: 1 - (t / n.height) * 2 }; +} +function fdn(e, t, n) { + return n.transform.projectTileCoordinates( + e, + t, + n.unwrappedTileID, + a7(n, e, t), + ); +} +function aze(e, t, n) { + return e + ._unit() + ._perp() + ._mult(t * n); +} +function EEr(e, t, n, r, o, a, i, s, l) { + if (s.projectionCache.offsets[e]) return s.projectionCache.offsets[e]; + let c = n.add(t); + if (e + l.direction < r || e + l.direction >= o) + return ((s.projectionCache.offsets[e] = c), c); + let u = oze(e + l.direction, s, l), + d = aze(u.sub(n), i, l.direction), + p = n.add(d), + f = u.add(d); + return ( + (s.projectionCache.offsets[e] = min(a, c, p, f) || c), + s.projectionCache.offsets[e] + ); +} +function Eme(e, t, n, r, o, a, i, s, l) { + let c = r ? e - t : e + t, + u = c > 0 ? 1 : -1, + d = 0; + (r && ((u *= -1), (d = Math.PI)), u < 0 && (d += Math.PI)); + let p = u > 0 ? a + o : a + o + 1, + f; + s.projectionCache.cachedAnchorPoint + ? (f = s.projectionCache.cachedAnchorPoint) + : ((f = i7(s.tileAnchorPoint.x, s.tileAnchorPoint.y, s).point), + (s.projectionCache.cachedAnchorPoint = f)); + let m = f, + g = f, + v, + y, + x = 0, + A = 0, + w = Math.abs(c), + C = [], + E; + for (; x + A <= w;) { + if (((p += u), p < a || p >= i)) return null; + ((x += A), (g = m), (y = v)); + let L = { + absOffsetX: w, + direction: u, + distanceFromAnchor: x, + previousVertex: g, + }; + if (((m = oze(p, s, L)), n === 0)) (C.push(g), (E = m.sub(g))); + else { + let O, + B = m.sub(g); + ((O = B.mag() === 0 ? aze(oze(p + u, s, L).sub(m), n, u) : aze(B, n, u)), + (y ||= g.add(O)), + (v = EEr(p, O, m, a, i, y, n, s, L)), + C.push(y), + (E = v.sub(y))); + } + A = E.mag(); + } + let T = (w - x) / A, + I = E._mult(T)._add(y || g), + k = d + Math.atan2(m.y - g.y, m.x - g.x); + return (C.push(I), { point: I, angle: l ? k : 0, path: C }); +} +function oB(e, t) { + for (let n = 0; n < e; n++) { + let r = t.length; + (t.resize(r + 4), t.float32.set(IEr, r * 3)); + } +} +function yze(e, t, n) { + let r = t[0], + o = t[1]; + return ( + (e[0] = n[0] * r + n[4] * o + n[12]), + (e[1] = n[1] * r + n[5] * o + n[13]), + (e[3] = n[3] * r + n[7] * o + n[15]), + e + ); +} +function TEr(e, t) { + let n = AEr; + return ( + xEr(n, t.pitchedLabelPlaneMatrix), + e.map((r) => { + let o = gze(r.x, r.y, n, a7(t, r.x, r.y)), + a = t.transform.projectTileCoordinates( + o.point.x, + o.point.y, + t.unwrappedTileID, + a7(t, o.point.x, o.point.y), + ); + return ( + (a.point.x = (a.point.x * 0.5 + 0.5) * t.width), + (a.point.y = (-a.point.y * 0.5 + 0.5) * t.height), + a + ); + }) + ); +} +function kEr(e) { + let t = 0, + n = 0, + r = 0, + o = 0; + for (let a = 0; a < e.length; a++) + e[a].isOccluded + ? ((r = a + 1), (o = 0)) + : (o++, o > n && ((n = o), (t = r))); + return e.slice(t, t + n); +} +function sun(e, t, n, r, o) { + let { horizontalAlign: a, verticalAlign: i } = kQ(e), + s = -(a - 0.5) * t, + l = -(i - 0.5) * n; + return new ft(s + r[0] * o, l + r[1] * o); +} +function lun(e, t, n, r, o, a) { + (!r || r.length === 0) && (r = [0, 0, 0, 0]); + let i = r[0] - 100, + s = r[1] - 100, + l = r[2] - 100, + c = r[3] - 100; + (e.emplaceBack(+!!t, +!!n, o || 0, a || 0, i, s), + e.emplaceBack(+!!t, +!!n, o || 0, a || 0, l, s), + e.emplaceBack(+!!t, +!!n, o || 0, a || 0, l, c), + e.emplaceBack(+!!t, +!!n, o || 0, a || 0, i, c)); +} +function cun(e) { + if (e.opacity === 0 && !e.placed) return 0; + if (e.opacity === 1 && e.placed) return 4294967295; + let t = +!!e.placed, + n = Math.floor(e.opacity * 127); + return n * LEr + t * BEr + n * OEr + t * FEr + n * 512 + t * 256 + n * 2 + t; +} +function ize(e, t, n, r, o, a) { + if (o - r <= n) return; + let i = (r + o) >> 1; + (mdn(e, t, i, r, o, a), + ize(e, t, n, r, i - 1, 1 - a), + ize(e, t, n, i + 1, o, 1 - a)); +} +function mdn(e, t, n, r, o, a) { + for (; o > r;) { + if (o - r > 600) { + let c = o - r + 1, + u = n - r + 1, + d = Math.log(c), + p = 0.5 * Math.exp((2 * d) / 3), + f = 0.5 * Math.sqrt((d * p * (c - p)) / c) * (u - c / 2 < 0 ? -1 : 1); + mdn( + e, + t, + n, + Math.max(r, Math.floor(n - (u * p) / c + f)), + Math.min(o, Math.floor(n + ((c - u) * p) / c + f)), + a, + ); + } + let i = t[2 * n + a], + s = r, + l = o; + for (zQ(e, t, r, n), t[2 * o + a] > i && zQ(e, t, r, o); s < l;) { + for (zQ(e, t, s, l), s++, l--; t[2 * s + a] < i;) s++; + for (; t[2 * l + a] > i;) l--; + } + (t[2 * r + a] === i ? zQ(e, t, r, l) : (l++, zQ(e, t, l, o)), + l <= n && (r = l + 1), + n <= l && (o = l - 1)); + } +} +function zQ(e, t, n, r) { + (FNe(e, n, r), FNe(t, 2 * n, 2 * r), FNe(t, 2 * n + 1, 2 * r + 1)); +} +function FNe(e, t, n) { + let r = e[t]; + ((e[t] = e[n]), (e[n] = r)); +} +function dun(e, t, n, r) { + let o = e - n, + a = t - r; + return o * o + a * a; +} +function Ba(e, t) { + let n = /#pragma maplibre: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g, + r = t.match(/in ([\w]+) ([\w]+)/g), + o = e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g), + a = t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g), + i = a ? a.concat(o) : o, + s = r ? r.length : 0, + l = {}; + return ( + (e = e.replace( + n, + (c, u, d, p, f) => ( + (l[f] = !0), + u === "define" + ? ` #ifndef HAS_UNIFORM_u_${f} in ${d} ${p} ${f}; #else uniform ${d} ${p} u_${f}; #endif -`:` +` + : ` #ifdef HAS_UNIFORM_u_${f} ${d} ${p} ${f} = u_${f}; #endif -`)),t=t.replace(n,(c,u,d,p,f)=>{let m=p==="float"?"vec2":"vec4",g=f.match(/color/)?"color":m;return l[f]?u==="define"?` +` + ), + )), + (t = t.replace(n, (c, u, d, p, f) => { + let m = p === "float" ? "vec2" : "vec4", + g = f.match(/color/) ? "color" : m; + return l[f] + ? u === "define" + ? ` #ifndef HAS_UNIFORM_u_${f} uniform lowp float u_${f}_t; layout(location = ${s++}) in ${d} ${m} a_${f}; @@ -188,40 +117454,6391 @@ out ${d} ${p} ${f}; #else uniform ${d} ${p} u_${f}; #endif -`:g==="vec4"?` +` + : g === "vec4" + ? ` #ifndef HAS_UNIFORM_u_${f} ${f} = a_${f}; #else ${d} ${p} ${f} = u_${f}; #endif -`:` +` + : ` #ifndef HAS_UNIFORM_u_${f} ${f} = unpack_mix_${g}(a_${f}, u_${f}_t); #else ${d} ${p} ${f} = u_${f}; #endif -`:u==="define"?` +` + : u === "define" + ? ` #ifndef HAS_UNIFORM_u_${f} uniform lowp float u_${f}_t; layout(location = ${s++}) in ${d} ${m} a_${f}; #else uniform ${d} ${p} u_${f}; #endif -`:g==="vec4"?` +` + : g === "vec4" + ? ` #ifndef HAS_UNIFORM_u_${f} ${d} ${p} ${f} = a_${f}; #else ${d} ${p} ${f} = u_${f}; #endif -`:` +` + : ` #ifndef HAS_UNIFORM_u_${f} ${d} ${p} ${f} = unpack_mix_${g}(a_${f}, u_${f}_t); #else ${d} ${p} ${f} = u_${f}; #endif -`}),{fragmentSource:e,vertexSource:t,staticAttributes:r,staticUniforms:i}}function Ime(e,t){if(!e.renderWorldCopies||e.lngRange)return;let n=t.lng-e.center.lng;t.lng+=n>180?-360:n<-180?360:0}function mun(e){return Math.max(0,Math.floor(e))}function bze(e,t,n,r){if(r<0||r>=1)return yun;let o=Math.floor(n),a=n-o;for(let i of e.zooms){let s=1<o;a++){let i=(n+r)/2;t(e,i)?r=i:n=i}return{lo:n,hi:r}}function wme(e,t){return bze(e.index,e.exaggeration,(e.near[0]+t*e.dx)/e.worldSize,(e.near[1]+t*e.dy)/e.worldSize)}function dme(e,t){return vdn(wme(e,t),e.near[2]+t*e.dz)}function vun({near:e,far:t},n,r,o){let a=t[0]-e[0],i=t[1]-e[1],s=t[2]-e[2];return((n-e[0])*a+(r-e[1])*i+(o-e[2])*s)/(a*a+i*i+s*s)}function xdn(){Ko("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}function Adn(e){if(e.useSlerp)if(e.k<1){let t=xUe(e.startEulerAngles.roll,e.startEulerAngles.pitch,e.startEulerAngles.bearing),n=xUe(e.endEulerAngles.roll,e.endEulerAngles.pitch,e.endEulerAngles.bearing),r=new Float64Array(4);FZ(r,t,n,e.k);let o=Ain(r);e.tr.setRoll(o.roll),e.tr.setPitch(o.pitch),e.tr.setBearing(o.bearing)}else e.tr.setRoll(e.endEulerAngles.roll),e.tr.setPitch(e.endEulerAngles.pitch),e.tr.setBearing(e.endEulerAngles.bearing);else e.tr.setRoll(Hs.number(e.startEulerAngles.roll,e.endEulerAngles.roll,e.k)),e.tr.setPitch(Hs.number(e.startEulerAngles.pitch,e.endEulerAngles.pitch,e.k)),e.tr.setBearing(Hs.number(e.startEulerAngles.bearing,e.endEulerAngles.bearing,e.k))}function wdn(e,t,n,r,o){let a=o.padding,i=Av(o.worldSize,n.getNorthWest()),s=Av(o.worldSize,n.getNorthEast()),l=Av(o.worldSize,n.getSouthEast()),c=Av(o.worldSize,n.getSouthWest()),u=_s(-r),d=i.rotate(u),p=s.rotate(u),f=l.rotate(u),m=c.rotate(u),g=new ft(Math.max(d.x,p.x,m.x,f.x),Math.max(d.y,p.y,m.y,f.y)),v=new ft(Math.min(d.x,p.x,m.x,f.x),Math.min(d.y,p.y,m.y,f.y)),y=g.sub(v),x=o.width-(a.left+a.right+t.left+t.right),A=o.height-(a.top+a.bottom+t.top+t.bottom),w=x/y.x,C=A/y.y;if(C<0||w<0){xdn();return}let E=Math.min(Zp(o.scale*Math.min(w,C)),e.maxZoom),T=ft.convert(e.offset),I=(t.left-t.right)/2,k=(t.top-t.bottom)/2,L=new ft(I,k).rotate(_s(r)),O=T.add(L).mult(o.scale/km(E));return{center:KL(o.worldSize,i.add(l).div(2).sub(O)),zoom:E,bearing:r}}function Cdn(e){let t=aB(e.worldSize,e.center.lat);return 2*Math.PI*t}function rIr(e,t,n){let r=rp(t),o=rp(n),a=bc(r,o),i=Math.acos(a),s=Cdn(e);return i/(2*Math.PI)*s}function oIr(e,t){return[QC(e*Math.PI*2+Math.PI,Math.PI*2),2*Math.atan(Math.exp(Math.PI-t*Math.PI*2))-Math.PI*0.5]}function aIr(e,t){let n=Math.cos(t),r=new Float64Array(3);return r[0]=Math.sin(e)*n,r[1]=Math.sin(t),r[2]=Math.cos(e)*n,r}function t5(e,t,n,r,o){let a=1/(1<0.000001){let r=e[0]/n,o=e[2]/n,a=Math.acos(o),i=(r>0?a:-a)/Math.PI*180;return new pr(jg(i,-180,180),t)}return new pr(0,t)}function iIr(e,t){return vfe(WC(),-e.lng,-e.lat,t)}function sIr(e){let t=e[0],n=e[1],r=e[2],o=e[3];return{lng:-Math.atan2(2*(o*t+n*r),1-2*(t*t+n*n))*180/Math.PI,lat:-Math.asin(qr(2*(o*n-r*t),-1,1))*180/Math.PI,bearing:Math.atan2(2*(o*r+t*n),1-2*(n*n+r*r))*180/Math.PI}}function xun(e,t){let n=e.cameraPosition,r=Fy(n);if(r<=1)return e.screenPointToLocation(t);let o=Wa();Tm(o,n);let a=e.getRayDirectionFromPixel(t),i=-bc(a,o),s=Wa();lQ(s,a,o,i);let l=Fy(s);if(l<0.000000001)return e.screenPointToLocation(t);let c=Math.atan2(l,i),u=Math.asin(1/r)*0.9;if(c=0?90:-90,s=e.locationToScreenPoint(new pr(0,i)),l=t.x-s.x,c=t.y-s.y,u=l*l+c*c,d=qr(1-(vv-Math.abs(a))/12,0,1),p=d*d*(3-2*d),f=QC(r-o+180,360)-180,m=0;if(p>0&&n){let g=(l*n.y-c*n.x)/Math.max(u,400);m=(i>0?1:-1)*g*180/Math.PI}return o+(1-p)*f+p*m}function uIr(e){let t=Wa();return t[0]=e[0]*-e[3],t[1]=e[1]*-e[3],t[2]=e[2]*-e[3],{center:t,radius:Math.sqrt(1-e[3]*e[3])}}function dIr(e,t,n){let r=Wa();Gx(r,n,e);let o=Wa();return lQ(o,e,r,t/cQ(r)),o}function Rme(e){return Math.cos(e*Math.PI/180)}function Wp(e,t){let n=Rme(e),r=Rme(t);return Zp(r/n)}function pIr(e,t){return 360/Cdn({worldSize:e,center:{lat:t}})}function fIr(e,t){let n=e.rotate(t.bearingInRadians),r=t.zoom+Wp(t.center.lat,0),o=YT(1/Rme(t.center.lat),1/Rme(Math.min(Math.abs(t.center.lat),60)),fQ(r,7,3,0,1)),a=pIr(t.worldSize,t.center.lat);return new pr(t.center.lng-n.x*a*o,qr(t.center.lat+n.y*a,-vv,vv))}function zNe(e){let t=0.5*e,n=Math.sin(t),r=Math.cos(t);return Math.log(n+r)-Math.log(r-n)}function Aun(e,t,n,r){let o=e.lat+n*r;if(Math.abs(n)>1){let a=e.lat+n,i=(Math.sign(a)===Math.sign(e.lat)?Math.abs(e.lat):-Math.abs(e.lat))*Math.PI/180,s=Math.abs(e.lat+n)*Math.PI/180,l=zNe(i+r*(s-i)),c=zNe(i),u=zNe(s),d=(l-c)/(u-c),p=e.lng+t*d;return new pr(p,o)}{let a=e.lng+t*r;return new pr(a,o)}}function pme(e,t,n=1){let r=bc(e,t),o=n*n,a=Wa(),i=Wa();Ss(i,t,r),Gx(a,e,i);let s=o-bc(a,a);if(s<0)return null;let l=bc(e,e)-o,c=-r+(r<0?1:-1)*Math.sqrt(s),u=l/c,d=c,p=Math.max(u,d);return p<0?null:{tMin:Math.min(u,d),tMax:p}}function Idn(e,t){let n=t*0.01569612305760477,r=qr((e-n)/(9*n),0,1);return r*r*(3-2*r)}function Sme(e,t,n){let r=e-t;return r<0?-r:Math.max(0,r-n)}function HNe(e,t,n,r,o){let a=e-n,i;return i=a<0?Math.min(-a,1+a-o):a>o?Math.min(Math.max(a-o,0),1-a):0,Math.max(i,Sme(t,r,o))}function wun(e,t){let n=1/0,r=-1/0;for(let o of t){let a=bc(e,o);n=Math.min(n,a),r=Math.max(r,a)}return{min:n,max:r}}function kdn(e,t){let n=Wa();lQ(n,e.origin,e.direction,t);let r=Fy(n),o=Wa();Ss(o,n,1/r);let a=GQ(o),i=ai.fromLngLat(a),s=new ai(i.x,qr(i.y,0,0.999999999)),l=bze(e.index,e.exaggeration,s.x,s.y),c=Math.abs(a.lat)>85.051129?0:l.elevation;return{sample:{...l,elevation:c},radius:r,mercator:s}}function Cun(e,t){let{sample:n,radius:r}=kdn(e,t);return vdn(n,(r-1)*Pm)}function Eun(e,t){let n=rp(e);return Ss(n,n,1+t/Pm)}function Iun(e,t,n){let r=hfe(Wa(),n,e);return bc(r,t)}function gIr(e,t,n){let r={constrainOverride:t};if(Array.isArray(e)){let o=new bun({type:e},n);return{projection:o,transform:new Tun(r),cameraHelper:new kun(o)}}switch(e){case"mercator":return{projection:new sze,transform:new Tme(r),cameraHelper:new kme};case"globe":{let o=new bun({type:["interpolate",["linear"],["zoom"],11,"vertical-perspective",12,"mercator"]},{});return{projection:o,transform:new Tun(r),cameraHelper:new kun(o)}}case"vertical-perspective":return{projection:new Sdn,transform:new Tdn(r),cameraHelper:new Rdn};default:return Ko(`Unknown projection name: ${e}. Falling back to mercator projection.`),{projection:new sze,transform:new Tme(r),cameraHelper:new kme}}}function EIr(e,t){for(let[n,r]of Object.entries(Mme)){let o=e.getUniformBlockIndex(t,n);o!==e.INVALID_INDEX&&e.uniformBlockBinding(t,o,r)}}function xze(e){let t={},n=0;for(let{name:r,type:o}of e){let[a,i]=IIr[o];n=Math.ceil(n/i)*i,t[r]=n,n+=a}return{offsets:t,contentWords:n,sizeWords:Math.ceil(n/4)*4}}function Mdn(e){return new Aze(e,Mme.ProjectionUBO,Pdn)}function Pun(e,t){let n=e.pending;n.set(t.mainMatrix,eB.u_projection_matrix),n.set(t.fallbackMatrix,eB.u_projection_fallback_matrix),n.set(t.tileMercatorCoords,eB.u_projection_tile_mercator_coords),n.set(t.clippingPlane,eB.u_projection_clipping_plane),n[eB.u_projection_transition]=t.projectionTransition,e.pendingWords[eB.u_projection_clip_antimeridian]=+!!t.clipAntimeridian,e.upload()}function TIr(e,t){if(!t){e.projectionUniformBuffer.bind();return}let n=t.uniformBufferKey;if(n===void 0){Pun(e.projectionUniformBuffer,t);return}let r=e.keyedProjectionUniformBuffers.get(n);if(r){r.bind();return}let o=e.freeProjectionUniformBuffers.pop()??Mdn(e);e.keyedProjectionUniformBuffers.set(n,o),Pun(o,t)}function kIr(e){e.freeProjectionUniformBuffers.push(...e.keyedProjectionUniformBuffers.values()),e.keyedProjectionUniformBuffers.clear()}function RIr(e){e.projectionUniformBuffer.destroy();for(let t of e.keyedProjectionUniformBuffers.values())t.destroy();for(let t of e.freeProjectionUniformBuffers)t.destroy()}function PIr(e){return new Aze(e,Mme.TerrainUBO,Ddn)}function MIr(e,t){let n=e.pending;n.set(t.u_terrain_matrix,fme.u_terrain_matrix),n.set(t.u_terrain_unpack,fme.u_terrain_unpack),n[fme.u_terrain_dim]=t.u_terrain_dim,n[fme.u_terrain_exaggeration]=t.u_terrain_exaggeration,e.upload()}function VNe(e){let t=[];for(let n of e){if(n===null)continue;let r=n.split(" ");t.push(r.pop())}return t}function DIr(e,t){let n=new Set([e.INT,e.INT_VEC2,e.INT_VEC3,e.INT_VEC4,e.UNSIGNED_INT,e.UNSIGNED_INT_VEC2,e.UNSIGNED_INT_VEC3,e.UNSIGNED_INT_VEC4]),r=new Set,o=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let a=0;a>16,s>>16],u_pixel_coord_lower:[i&65535,s&65535]}}function BIr(e,t,n,r){let o=n.patternAtlas.getPattern(e.from.toString()),a=n.patternAtlas.getPattern(e.to.toString()),{width:i,height:s}=n.patternAtlas.getPixelSize(),l=2**r.tileID.overscaledZ,c=r.tileSize*2**n.transform.tileZoom/l,u=c*(r.tileID.canonical.x+r.tileID.wrap*l),d=c*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:o.tl,u_pattern_br_a:o.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[i,s],u_mix:t.t,u_pattern_size_a:o.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/k0(r,1,n.transform.tileZoom),u_pixel_coord_upper:[u>>16,d>>16],u_pixel_coord_lower:[u&65535,d&65535]}}function eTr(e,t){let n=2**t.canonical.z,r=t.canonical.y;return[new ai(0,r/n).toLngLat().lat,new ai(0,(r+1)/n).toLngLat().lat]}function wze(e,t){return 1/k0(e,1,t.tileZoom)}function Ndn(e,t,n){return Pw(e.transform,t,n.paint.get("line-translate"),n.paint.get("line-translate-anchor"))}function u7r(e){return new Aze(e,Mme.FrameUBO,Hdn)}function d7r(e,t){let n=e.pending,{transform:r}=t,o=t.context.gl;n[$g.u_units_to_pixels]=1/r.pixelsToGLUnits[0],n[$g.u_units_to_pixels+1]=1/r.pixelsToGLUnits[1],n[$g.u_world_size]=o.drawingBufferWidth,n[$g.u_world_size+1]=o.drawingBufferHeight,n[$g.u_camera_to_center_distance]=r.cameraToCenterDistance,n[$g.u_symbol_fade_change]=t.options.fadeDuration?t.symbolFadeChange:1,n[$g.u_aspect_ratio]=r.width/r.height,n[$g.u_device_pixel_ratio]=t.pixelRatio,n[$g.u_viewport_size]=r.width,n[$g.u_viewport_size+1]=r.height,n[$g.u_pixel_extrude_scale]=1/r.width,n[$g.u_pixel_extrude_scale+1]=1/r.height,n[$g.u_pitch]=r.pitch/360*2*Math.PI,e.upload()}function f7r(e,t,n){let r=t?.transitionState??0;return{currentPass:"offscreen",currentLayer:0,opaquePassCutoff:1/0,depthRangeFor3D:[0,1],isRenderingToTexture:!1,transform:e,terrain:n,projectionTransition:r,isRenderingGlobe:r>0}}function Xf(e,t,n={}){let r=e.transform.getProjectionData({overscaledTileID:t,aligned:n.aligned,applyGlobeMatrix:!e.isRenderingToTexture,applyTerrainMatrix:n.applyTerrainMatrix??!0});return e.isRenderingToTexture||(r.uniformBufferKey=n.aligned?`${t.key}/aligned`:t.key),r}function Ch(e,t){return e.isRenderingToTexture?null:e.terrain?.getTerrainData(t)??null}function Bun(e,t,n,r,o,a){let i=e.context,s=i.gl,l=e.useProgram("collisionBox"),c=[],u=0,d=0;for(let y of r){let x=t.getTile(y).getBucket(n);if(!x)continue;let A=o?x.textCollisionBox:x.iconCollisionBox,w=x.collisionCircleArray;w.length>0&&(c.push({circleArray:w,circleOffset:d,coord:y}),u+=w.length/4,d=u),A&&l.draw(i,s.LINES,Ho.disabled,ii.disabled,e.colorModeForRenderPass(),Ya.disabled,null,Ch(a,y),Xf(a,y),n.id,A.layoutVertexBuffer,A.indexBuffer,A.segments,null,e.transform.zoom,null,null,A.collisionVertexBuffer)}if(!o||!c.length)return;let p=e.useProgram("collisionCircle"),f=new Gsn;f.resize(u*4),f._trim();let m=0;for(let y of c)for(let x=0;xu.getElevation(f,T,I):void 0;x7r(g,d,p,l,c,A,C,y,w,Pw(c,m,i,s),f.toUnwrapped(),E,n.layout.get("symbol-height-anchor")==="ground")}}}function b7r(e,t,n,r,o,a){let i=t.tileAnchorPoint.add(new ft(t.translation[0],t.translation[1]));if(t.pitchWithMap){let s=r.mult(a);n||(s=s.rotate(-o));let l=i.add(s);return gze(l.x,l.y,t.pitchedLabelPlaneMatrix,a7(t,l.x,l.y)).point}if(n){let s=i7(t.tileAnchorPoint.x+1,t.tileAnchorPoint.y,t).point.sub(e),l=Math.atan(s.y/s.x)+(s.x<0?Math.PI:0);return e.add(r.rotate(l))}return e.add(r)}function x7r(e,t,n,r,o,a,i,s,l,c,u,d,p){let f=e.text.placedSymbolArray,m=e.text.dynamicLayoutVertexArray,g=e.icon.dynamicLayoutVertexArray,v={};m.clear();for(let y=0;y=0&&(v[x.associatedIconIndex]={shiftedAnchor:G,angle:Z})}}if(l){g.clear();let y=e.icon.placedSymbolArray;for(let x=0;xe.style.map.terrain.getElevation(B,ee,K):void 0;CEr(D,e,o,fe,Me,y,c,n.layout.get("text-rotation-alignment")==="map",B.toUnwrapped(),g.width,g.height,Ee,Qe)}let ye=o&&T||Le,ce=y?fe:e.transform.clipSpaceToPixelsMatrix,ue=x||ye?h7r:ce,ke=G&&n.paint.get(o?"text-halo-width":"icon-halo-width").constantOr(1)!==0,se;se=G?D.iconsInText?yTr(Z.kind,te,A,y,x,ye,e,ue,Ae,Ee,j,oe,k,Ne,be):_dn(Z.kind,te,A,y,x,ye,e,ue,Ae,Ee,o,j,ke,k,Ne,be):zdn(Z.kind,te,A,y,x,ye,e,ue,Ae,Ee,o,j,k,Ne,be);let qe={program:H,buffers:N,uniformValues:se,projectionData:pe,atlasTexture:J,atlasTextureIcon:ae,atlasInterpolation:Y,atlasInterpolationIcon:ne,isSDF:G,hasHalo:ke};if(w&&D.canOverlap){C=!0;let Me=N.segments.get();for(let Qe of Me)I.push({segments:new Vs([Qe]),sortKey:Qe.sortKey,state:qe,terrainData:ie})}else I.push({segments:N.segments,sortKey:0,state:qe,terrainData:ie})}C&&I.sort((B,U)=>B.sortKey-U.sortKey);let L=n.paint.get(o?"text-halo-width":"icon-halo-width").constantOr(null)??1/0,O=n.layout.get("text-letter-spacing").constantOr(0)*24<0||L>1;for(let B of I){let U=B.state;f.activeTexture.set(m.TEXTURE0),U.atlasTexture.bind(U.atlasInterpolation,m.CLAMP_TO_EDGE),U.atlasTextureIcon&&(f.activeTexture.set(m.TEXTURE1),U.atlasTextureIcon&&U.atlasTextureIcon.bind(U.atlasInterpolationIcon,m.CLAMP_TO_EDGE));let D=U.isSDF&&U.hasHalo;if(D){let N=U.uniformValues;N.u_is_halo=1,O&&(N.u_is_plain=0,Fun(U.buffers,B.segments,n,e,U.program,E,u,d,N,U.projectionData,B.terrainData),N.u_is_halo=0,N.u_is_plain=1)}Fun(U.buffers,B.segments,n,e,U.program,E,u,d,U.uniformValues,U.projectionData,B.terrainData),D&&!O&&(U.uniformValues.u_is_halo=0)}}function Fun(e,t,n,r,o,a,i,s,l,c,u){let d=r.context,p=d.gl;o.draw(d,p.TRIANGLES,a,i,s,Ya.backCCW,l,u,c,n.id,e.layoutVertexBuffer,e.indexBuffer,t,n.paint,r.transform.zoom,e.programConfigurations.get(n.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function w7r(e,t,n,r,o){if(o.currentPass!=="translucent")return;let a=n.paint.get("circle-opacity"),i=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=!n.layout.get("circle-sort-key").isConstant();if(a.constantOr(1)===0&&(i.constantOr(1)===0||s.constantOr(1)===0))return;let c=e.context,u=c.gl,d=e.transform,p=e.getDepthModeForSublayer(0,Ho.ReadOnly),f=ii.disabled,m=e.colorModeForRenderPass(),g=[],v=d.getCircleRadiusCorrection();for(let y of r){let x=t.getTile(y),A=x.getBucket(n);if(!A)continue;let w=n.paint.get("circle-translate"),C=n.paint.get("circle-translate-anchor"),E=Pw(d,x,w,C),T=A.programConfigurations.get(n.id),I=e.useProgram("circle",T),{layoutVertexBuffer:k,indexBuffer:L}=A,O=Ch(o,y),B={programConfiguration:T,program:I,layoutVertexBuffer:k,indexBuffer:L,uniformValues:QIr(e,x,n,E,v),terrainData:O,projectionData:Xf(o,y)};if(l){let U=A.segments.get();for(let D of U)g.push({segments:new Vs([D]),sortKey:D.sortKey,state:B})}else g.push({segments:A.segments,sortKey:0,state:B})}l&&g.sort((y,x)=>y.sortKey-x.sortKey);for(let y of g){let{programConfiguration:x,program:A,layoutVertexBuffer:w,indexBuffer:C,uniformValues:E,terrainData:T,projectionData:I}=y.state,k=y.segments;A.draw(c,u.TRIANGLES,p,f,m,Ya.backCCW,E,T,I,n.id,w,C,k,n.paint,e.transform.zoom,x)}}function S7r(e,t,n,r,o){if(n.paint.get("heatmap-opacity")===0)return;let a=e.context;if(e.style.map.terrain){for(let i of r){let s=t.getTile(i);t.hasRenderableParent(i)||(o.currentPass==="offscreen"?I7r(e,s,n,i,o):o.currentPass==="translucent"&&T7r(e,n,i,o))}a.viewport.set([0,0,e.width,e.height])}else o.currentPass==="offscreen"?C7r(e,t,n,r,o):o.currentPass==="translucent"&&E7r(e,n)}function C7r(e,t,n,r,o){let a=e.context,i=a.gl,s=e.transform,l=ii.disabled,c=new Yl([i.ONE,i.ONE],Kr.transparent,[!0,!0,!0,!0]);k7r(a,e,n),a.clear({color:Kr.transparent});for(let u of r){if(t.hasRenderableParent(u))continue;let d=t.getTile(u),p=d.getBucket(n);if(!p)continue;let f=p.programConfigurations.get(n.id),m=e.useProgram("heatmap",f),g=Xf(o,u,{applyTerrainMatrix:!1}),v=s.getCircleRadiusCorrection();m.draw(a,i.TRIANGLES,Ho.disabled,l,c,Ya.backCCW,Fdn(d,s.zoom,n.paint.get("heatmap-intensity"),v),null,g,n.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,n.paint,s.zoom,f)}a.viewport.set([0,0,e.width,e.height])}function E7r(e,t){let n=e.context,r=n.gl;n.setColorMode(e.colorModeForRenderPass());let o=t.heatmapFbos.get(CQ);o&&(n.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,o.colorAttachment.get()),n.activeTexture.set(r.TEXTURE1),Gdn(n,t).bind(r.LINEAR,r.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,r.TRIANGLES,Ho.disabled,ii.disabled,e.colorModeForRenderPass(),Ya.disabled,Udn(e,t,0,1),null,null,t.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,t.paint,e.transform.zoom))}function I7r(e,t,n,r,o){let a=e.context,i=a.gl,s=ii.disabled,l=new Yl([i.ONE,i.ONE],Kr.transparent,[!0,!0,!0,!0]),c=t.getBucket(n);if(!c)return;let u=r.key,d=n.heatmapFbos.get(u);d||(d=Vdn(a,t.tileSize,t.tileSize),n.heatmapFbos.set(u,d)),a.bindFramebuffer.set(d.framebuffer),a.viewport.set([0,0,t.tileSize,t.tileSize]),a.clear({color:Kr.transparent});let p=c.programConfigurations.get(n.id),f=e.useProgram("heatmap",p,!o.isRenderingGlobe),m=Xf(o,t.tileID),g=Ch(o,r);f.draw(a,i.TRIANGLES,Ho.disabled,s,l,Ya.disabled,Fdn(t,e.transform.zoom,n.paint.get("heatmap-intensity"),1),g,m,n.id,c.layoutVertexBuffer,c.indexBuffer,c.segments,n.paint,e.transform.zoom,p)}function T7r(e,t,n,r){let o=e.context,a=o.gl,i=e.transform;o.setColorMode(e.colorModeForRenderPass());let s=Gdn(o,t),l=n.key,c=t.heatmapFbos.get(l);if(!c)return;o.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,c.colorAttachment.get()),o.activeTexture.set(a.TEXTURE1),s.bind(a.LINEAR,a.CLAMP_TO_EDGE);let u=Xf(r,n,{applyTerrainMatrix:r.isRenderingGlobe});e.useProgram("heatmapTexture").draw(o,a.TRIANGLES,Ho.disabled,ii.disabled,e.colorModeForRenderPass(),Ya.disabled,Udn(e,t,0,1),null,u,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,i.zoom),c.destroy(),t.heatmapFbos.delete(l)}function k7r(e,t,n){let r=e.gl;e.activeTexture.set(r.TEXTURE1),e.viewport.set([0,0,t.width/4,t.height/4]);let o=n.heatmapFbos.get(CQ);o?(r.bindTexture(r.TEXTURE_2D,o.colorAttachment.get()),e.bindFramebuffer.set(o.framebuffer)):(o=Vdn(e,t.width/4,t.height/4),n.heatmapFbos.set(CQ,o))}function Vdn(e,t,n){let r=e.gl,o=r.createTexture();r.bindTexture(r.TEXTURE_2D,o),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texStorage2D(r.TEXTURE_2D,1,r.RGBA16F,t,n);let a=e.createFramebuffer(t,n,!1,!1);return a.colorAttachment.set(o),a}function Gdn(e,t){return t.colorRampTexture||=new cd(e,t.colorRamp,e.gl.RGBA),t.colorRampTexture}function qdn(e,t,n){let r=e.context,o=r.bindFramebuffer.get(),a=r.viewport.get(),[,,i,s]=a;return R7r(e,i,s),r.viewport.set([0,0,i,s]),r.clear({color:Kr.transparent,depth:1,stencil:0}),e.currentStencilSource=void 0,e.renderTileClippingMasks(t,n),{compositeTarget:o,compositeViewport:a}}function R7r(e,t,n){let r=e.context.gl;if(!e.layerOpacityFbo){let a=e.context.createFramebuffer(t,n,!0,!0),i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,t,n,0,r.RGBA,r.UNSIGNED_BYTE,null),a.colorAttachment.set(i),a.depthAttachment.set(e.context.createRenderbuffer(r.DEPTH_STENCIL,t,n)),e.layerOpacityFbo=a,e.context.bindFramebuffer.set(e.layerOpacityFbo.framebuffer);return}if(e.layerOpacityFbo.width===t&&e.layerOpacityFbo.height===n){e.context.bindFramebuffer.set(e.layerOpacityFbo.framebuffer);return}let o=e.layerOpacityFbo;r.bindTexture(r.TEXTURE_2D,o.colorAttachment.get()),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,t,n,0,r.RGBA,r.UNSIGNED_BYTE,null),e.context.bindRenderbuffer.set(o.depthAttachment.get()),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,t,n),e.context.bindRenderbuffer.set(null),o.width=t,o.height=n,e.context.bindFramebuffer.set(o.framebuffer)}function Zdn(e,t,n,r){let o=e.context,a=o.gl;o.bindFramebuffer.set(n.compositeTarget),o.viewport.set(n.compositeViewport),o.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.layerOpacityFbo.colorAttachment.get()),e.useProgram("layerOpacity").draw(o,a.TRIANGLES,Ho.disabled,ii.disabled,e.colorModeForRenderPass(),Ya.disabled,fTr(t,0),null,null,r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom),e.currentStencilSource=void 0}function Qdn(e,t,n,r,o,a,i,s){let l=256;if(o.stepInterpolant){let c=t.getSource().maxzoom,u=i.canonical.z===c?Math.ceil(1<e.options.anisotropicFilterPitch&&m.texParameterf(m.TEXTURE_2D,f.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,f.extTextureFilterAnisotropicMax);let D=Ch(u,T),N=Xf(u,T,{aligned:x}),_=z8r(B,O,U.fadeMix,n,s,l),G=d??v.getMeshFromTileID(f,T.canonical,a,i,"raster"),Z=o?o[T.overscaledZ]:ii.disabled;g.draw(f,m.TRIANGLES,I,Z,y,c?Ya.frontCCW:Ya.backCCW,_,D,N,n.id,G.vertexBuffer,G.indexBuffer,G.segments)}}function H7r(e,t,n,r){let o={parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:{tileOpacity:1,parentTileOpacity:1,fadeMix:{opacity:1,mix:0}}};if(n===0||r)return o;if(e.fadingParentID){let a=t.getLoadedTile(e.fadingParentID);if(!a)return o;let i=2**(a.tileID.overscaledZ-e.tileID.overscaledZ);return{parentTile:a,parentScaleBy:i,parentTopLeft:[e.tileID.canonical.x*i%1,e.tileID.canonical.y*i%1],fadeValues:V7r(e,a,n)}}return e.selfFading?{parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:G7r(e,n)}:o}function V7r(e,t,n){let r=vi(),o=(r-e.timeAdded)/n,a=(r-t.timeAdded)/n,i=e.fadingDirection===1,s=qr(o,0,1),l=qr(1-a,0,1),c=i?s:l;return{tileOpacity:c,parentTileOpacity:i?l:s,fadeMix:{opacity:1,mix:1-c}}}function G7r(e,t){let n=(vi()-e.timeAdded)/t,r=qr(n,0,1);return{tileOpacity:r,fadeMix:{opacity:r,mix:0}}}function q7r(e,t,n,r,o){let a=n.paint.get("background-color"),i=n.paint.get("background-opacity");if(i===0)return;let s=e.context,l=s.gl,c=e.style.projection,u=e.transform,d=u.tileSize,p=n.paint.get("background-pattern");if(e.isPatternMissing(p))return;let f=!p&&a.a===1&&i===1&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(o.currentPass!==f)return;let m=ii.disabled,g=e.getDepthModeForSublayer(0,f==="opaque"?Ho.ReadWrite:Ho.ReadOnly),v=e.colorModeForRenderPass(),y=e.useProgram(p?"backgroundPattern":"background"),x=r||iB(u,{tileSize:d,terrain:e.style.map.terrain});p&&(s.activeTexture.set(l.TEXTURE0),e.patternAtlas.bind(e.context));let A=n.getCrossfadeParameters();for(let w of x){let C=Xf(o,w),E=p?ATr(i,e,p,{tileID:w,tileSize:d},A):xTr(i,a),T=Ch(o,w),I=c.getMeshFromTileID(s,w.canonical,!1,!0,"raster");y.draw(s,l.TRIANGLES,g,m,v,Ya.backCCW,E,T,C,n.id,I.vertexBuffer,I.indexBuffer,I.segments)}}function K7r(e){let t=e.transform.padding;_un(e,e.transform.height-(t.top||0),3,Z7r),_un(e,t.bottom||0,3,Q7r),Hun(e,t.left||0,3,X7r),Hun(e,e.transform.width-(t.right||0),3,W7r);let n=e.transform.centerPoint;J7r(e,n.x,e.transform.height-n.y,Y7r)}function J7r(e,t,n,r){Pme(e,t-1,n-10,2,20,r),Pme(e,t-10,n-1,20,2,r)}function _un(e,t,n,r){Pme(e,0,t+n/2,e.transform.width,n,r)}function Hun(e,t,n,r){Pme(e,t-n/2,0,n,e.transform.height,r)}function Pme(e,t,n,r,o,a){let i=e.context,s=i.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,n*e.pixelRatio,r*e.pixelRatio,o*e.pixelRatio),i.clear({color:a}),s.disable(s.SCISSOR_TEST)}function j7r(e,t,n,r){for(let o of n)$7r(e,t,o,r)}function $7r(e,t,n,r){let o=e.context,a=o.gl,i=e.useProgram("debug"),s=Ho.disabled,l=ii.disabled,c=e.colorModeForRenderPass(),u="$debug",d=Ch(r,n);o.activeTexture.set(a.TEXTURE0);let p=t.getTileByID(n.key).latestRawTileData?.byteLength||0,f=Math.floor(p/1024),m=t.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*0.5,v=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(v+=` => ${n.overscaledZ}`),ekr(e,`${v} ${f}kB`);let y=Xf(r,n);i.draw(o,a.TRIANGLES,s,l,Yl.alphaBlended,Ya.disabled,Mun(Kr.transparent,g),null,y,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),i.draw(o,a.LINE_STRIP,s,l,c,Ya.disabled,Mun(Kr.red),d,y,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function ekr(e,t){e.initDebugOverlayCanvas();let n=e.debugOverlayCanvas,r=e.context.gl,o=e.debugOverlayCanvas.getContext("2d");o.clearRect(0,0,n.width,n.height),o.shadowColor="white",o.shadowBlur=2,o.lineWidth=1.5,o.strokeStyle="white",o.textBaseline="top",o.font="bold 36px Open Sans, sans-serif",o.fillText(t,5,5),o.strokeText(t,5,5),e.debugOverlayTexture.update(n),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}function tkr(e,t){let n=null,r=Object.values(e._layers).flatMap((s)=>s.source&&!s.isHidden(t)?[e.tileManagers[s.source]]:[]),o=r.filter((s)=>s.getSource().type==="vector"),a=r.filter((s)=>s.getSource().type!=="vector"),i=(s)=>{(!n||n.getSource().maxzoom 180 ? -360 : n < -180 ? 360 : 0; +} +function mun(e) { + return Math.max(0, Math.floor(e)); +} +function bze(e, t, n, r) { + if (r < 0 || r >= 1) return yun; + let o = Math.floor(n), + a = n - o; + for (let i of e.zooms) { + let s = 1 << i, + l = a * s, + c = r * s, + u = Math.floor(l), + d = Math.floor(c), + p = `${o}/${i}/${u}/${d}`; + if (!e.samplerPerTile.has(p)) continue; + let f = e.samplerPerTile.get(p); + return f + ? { + covered: !0, + demLoaded: !0, + elevation: + f(Math.min((l - u) * Ut, hun), Math.min((c - d) * Ut, hun), Ut) * t, + } + : { covered: !0, demLoaded: !1, elevation: 0 }; + } + return yun; +} +function vdn(e, t) { + return e.covered && t <= e.elevation + 0.000001; +} +function bdn(e, t, n, r, o) { + for (let a = 0; a < 40 && r - n > o; a++) { + let i = (n + r) / 2; + t(e, i) ? (r = i) : (n = i); + } + return { lo: n, hi: r }; +} +function wme(e, t) { + return bze( + e.index, + e.exaggeration, + (e.near[0] + t * e.dx) / e.worldSize, + (e.near[1] + t * e.dy) / e.worldSize, + ); +} +function dme(e, t) { + return vdn(wme(e, t), e.near[2] + t * e.dz); +} +function vun({ near: e, far: t }, n, r, o) { + let a = t[0] - e[0], + i = t[1] - e[1], + s = t[2] - e[2]; + return ( + ((n - e[0]) * a + (r - e[1]) * i + (o - e[2]) * s) / (a * a + i * i + s * s) + ); +} +function xdn() { + Ko( + "Map cannot fit within canvas with the given bounds, padding, and/or offset.", + ); +} +function Adn(e) { + if (e.useSlerp) + if (e.k < 1) { + let t = xUe( + e.startEulerAngles.roll, + e.startEulerAngles.pitch, + e.startEulerAngles.bearing, + ), + n = xUe( + e.endEulerAngles.roll, + e.endEulerAngles.pitch, + e.endEulerAngles.bearing, + ), + r = new Float64Array(4); + FZ(r, t, n, e.k); + let o = Ain(r); + (e.tr.setRoll(o.roll), + e.tr.setPitch(o.pitch), + e.tr.setBearing(o.bearing)); + } else + (e.tr.setRoll(e.endEulerAngles.roll), + e.tr.setPitch(e.endEulerAngles.pitch), + e.tr.setBearing(e.endEulerAngles.bearing)); + else + (e.tr.setRoll( + Hs.number(e.startEulerAngles.roll, e.endEulerAngles.roll, e.k), + ), + e.tr.setPitch( + Hs.number(e.startEulerAngles.pitch, e.endEulerAngles.pitch, e.k), + ), + e.tr.setBearing( + Hs.number(e.startEulerAngles.bearing, e.endEulerAngles.bearing, e.k), + )); +} +function wdn(e, t, n, r, o) { + let a = o.padding, + i = Av(o.worldSize, n.getNorthWest()), + s = Av(o.worldSize, n.getNorthEast()), + l = Av(o.worldSize, n.getSouthEast()), + c = Av(o.worldSize, n.getSouthWest()), + u = _s(-r), + d = i.rotate(u), + p = s.rotate(u), + f = l.rotate(u), + m = c.rotate(u), + g = new ft(Math.max(d.x, p.x, m.x, f.x), Math.max(d.y, p.y, m.y, f.y)), + v = new ft(Math.min(d.x, p.x, m.x, f.x), Math.min(d.y, p.y, m.y, f.y)), + y = g.sub(v), + x = o.width - (a.left + a.right + t.left + t.right), + A = o.height - (a.top + a.bottom + t.top + t.bottom), + w = x / y.x, + C = A / y.y; + if (C < 0 || w < 0) { + xdn(); + return; + } + let E = Math.min(Zp(o.scale * Math.min(w, C)), e.maxZoom), + T = ft.convert(e.offset), + I = (t.left - t.right) / 2, + k = (t.top - t.bottom) / 2, + L = new ft(I, k).rotate(_s(r)), + O = T.add(L).mult(o.scale / km(E)); + return { + center: KL(o.worldSize, i.add(l).div(2).sub(O)), + zoom: E, + bearing: r, + }; +} +function Cdn(e) { + let t = aB(e.worldSize, e.center.lat); + return 2 * Math.PI * t; +} +function rIr(e, t, n) { + let r = rp(t), + o = rp(n), + a = bc(r, o), + i = Math.acos(a), + s = Cdn(e); + return (i / (2 * Math.PI)) * s; +} +function oIr(e, t) { + return [ + QC(e * Math.PI * 2 + Math.PI, Math.PI * 2), + 2 * Math.atan(Math.exp(Math.PI - t * Math.PI * 2)) - Math.PI * 0.5, + ]; +} +function aIr(e, t) { + let n = Math.cos(t), + r = new Float64Array(3); + return ( + (r[0] = Math.sin(e) * n), + (r[1] = Math.sin(t)), + (r[2] = Math.cos(e) * n), + r + ); +} +function t5(e, t, n, r, o) { + let a = 1 / (1 << o), + i = (e / Ut) * a + n * a, + s = (t / Ut) * a + r * a, + l = QC(i * Math.PI * 2 + Math.PI, Math.PI * 2), + c = 2 * Math.atan(Math.exp(Math.PI - s * Math.PI * 2)) - Math.PI * 0.5, + u = Math.cos(c), + d = new Float64Array(3); + return ( + (d[0] = Math.sin(l) * u), + (d[1] = Math.sin(c)), + (d[2] = Math.cos(l) * u), + d + ); +} +function rp(e) { + return aIr((e.lng * Math.PI) / 180, (e.lat * Math.PI) / 180); +} +function aB(e, t) { + return e / (2 * Math.PI) / Math.cos((t * Math.PI) / 180); +} +function Edn(e) { + let t = qp(WC(), [0, 0, 0, 1], e.modelViewProjectionMatrix); + return ( + qp(t, t, e.inverseProjectionMatrix), + [t[0] / t[3], t[1] / t[3], t[2] / t[3]] + ); +} +function GQ(e) { + let t = (Math.asin(e[1]) / Math.PI) * 180, + n = Math.sqrt(e[0] * e[0] + e[2] * e[2]); + if (n > 0.000001) { + let r = e[0] / n, + o = e[2] / n, + a = Math.acos(o), + i = ((r > 0 ? a : -a) / Math.PI) * 180; + return new pr(jg(i, -180, 180), t); + } + return new pr(0, t); +} +function iIr(e, t) { + return vfe(WC(), -e.lng, -e.lat, t); +} +function sIr(e) { + let t = e[0], + n = e[1], + r = e[2], + o = e[3]; + return { + lng: + (-Math.atan2(2 * (o * t + n * r), 1 - 2 * (t * t + n * n)) * 180) / + Math.PI, + lat: (-Math.asin(qr(2 * (o * n - r * t), -1, 1)) * 180) / Math.PI, + bearing: + (Math.atan2(2 * (o * r + t * n), 1 - 2 * (n * n + r * r)) * 180) / + Math.PI, + }; +} +function xun(e, t) { + let n = e.cameraPosition, + r = Fy(n); + if (r <= 1) return e.screenPointToLocation(t); + let o = Wa(); + Tm(o, n); + let a = e.getRayDirectionFromPixel(t), + i = -bc(a, o), + s = Wa(); + lQ(s, a, o, i); + let l = Fy(s); + if (l < 0.000000001) return e.screenPointToLocation(t); + let c = Math.atan2(l, i), + u = Math.asin(1 / r) * 0.9; + if (c < u) return e.screenPointToLocation(t); + let d = r * Math.sin(u), + p = Math.asin(qr(d, -1, 1)) - u, + f = (r * Math.cos(u)) / Math.sqrt(Math.max(1 - d * d, 0.000000000001)) - 1, + m = NNe - p, + g = c - u, + v = p + (f * g * m) / (m + f * g), + y = Wa(); + Ss(y, s, 1 / l); + let x = Wa(); + return ( + Ss(x, o, Math.cos(qr(v, 0, NNe))), + lQ(x, x, y, Math.sin(qr(v, 0, NNe))), + Tm(x, x), + GQ(x) + ); +} +function lIr(e, t, n, r, o = !0) { + let a = xun(e, n), + i = t; + if (r) i = xun(e, n.sub(r)); + else if (!e.isPointOnMapSurface(n)) return; + let s = rp(a), + l = rp(i), + c = iIr(e.center, e.bearing), + u = wh(Wa(), l, s), + d = Math.sqrt(bc(u, u)), + p = Math.acos(qr(bc(l, s), -1, 1)) / 2, + f = Math.sin(p), + m = d + ? pUe((u[1] / d) * f, (-u[0] / d) * f, (u[2] / d) * f, Math.cos(p)) + : pUe(0, 0, 0, 1), + { lng: g, lat: v, bearing: y } = sIr(lin(WC(), c, m)), + x = e.center.lat, + A = e.zoom, + w = qr(v, -90, 90), + C = o ? cIr(e, n, r, g) : g; + (e.setCenter(new pr(jg(C, -180, 180), w)), + o || e.setBearing(y), + e.setZoom(A + Wp(x, e.center.lat))); +} +function cIr(e, t, n, r) { + let o = e.center.lng, + a = e.center.lat, + i = a >= 0 ? 90 : -90, + s = e.locationToScreenPoint(new pr(0, i)), + l = t.x - s.x, + c = t.y - s.y, + u = l * l + c * c, + d = qr(1 - (vv - Math.abs(a)) / 12, 0, 1), + p = d * d * (3 - 2 * d), + f = QC(r - o + 180, 360) - 180, + m = 0; + if (p > 0 && n) { + let g = (l * n.y - c * n.x) / Math.max(u, 400); + m = ((i > 0 ? 1 : -1) * g * 180) / Math.PI; + } + return o + (1 - p) * f + p * m; +} +function uIr(e) { + let t = Wa(); + return ( + (t[0] = e[0] * -e[3]), + (t[1] = e[1] * -e[3]), + (t[2] = e[2] * -e[3]), + { center: t, radius: Math.sqrt(1 - e[3] * e[3]) } + ); +} +function dIr(e, t, n) { + let r = Wa(); + Gx(r, n, e); + let o = Wa(); + return (lQ(o, e, r, t / cQ(r)), o); +} +function Rme(e) { + return Math.cos((e * Math.PI) / 180); +} +function Wp(e, t) { + let n = Rme(e), + r = Rme(t); + return Zp(r / n); +} +function pIr(e, t) { + return 360 / Cdn({ worldSize: e, center: { lat: t } }); +} +function fIr(e, t) { + let n = e.rotate(t.bearingInRadians), + r = t.zoom + Wp(t.center.lat, 0), + o = YT( + 1 / Rme(t.center.lat), + 1 / Rme(Math.min(Math.abs(t.center.lat), 60)), + fQ(r, 7, 3, 0, 1), + ), + a = pIr(t.worldSize, t.center.lat); + return new pr( + t.center.lng - n.x * a * o, + qr(t.center.lat + n.y * a, -vv, vv), + ); +} +function zNe(e) { + let t = 0.5 * e, + n = Math.sin(t), + r = Math.cos(t); + return Math.log(n + r) - Math.log(r - n); +} +function Aun(e, t, n, r) { + let o = e.lat + n * r; + if (Math.abs(n) > 1) { + let a = e.lat + n, + i = + ((Math.sign(a) === Math.sign(e.lat) + ? Math.abs(e.lat) + : -Math.abs(e.lat)) * + Math.PI) / + 180, + s = (Math.abs(e.lat + n) * Math.PI) / 180, + l = zNe(i + r * (s - i)), + c = zNe(i), + u = zNe(s), + d = (l - c) / (u - c), + p = e.lng + t * d; + return new pr(p, o); + } + { + let a = e.lng + t * r; + return new pr(a, o); + } +} +function pme(e, t, n = 1) { + let r = bc(e, t), + o = n * n, + a = Wa(), + i = Wa(); + (Ss(i, t, r), Gx(a, e, i)); + let s = o - bc(a, a); + if (s < 0) return null; + let l = bc(e, e) - o, + c = -r + (r < 0 ? 1 : -1) * Math.sqrt(s), + u = l / c, + d = c, + p = Math.max(u, d); + return p < 0 ? null : { tMin: Math.min(u, d), tMax: p }; +} +function Idn(e, t) { + let n = t * 0.01569612305760477, + r = qr((e - n) / (9 * n), 0, 1); + return r * r * (3 - 2 * r); +} +function Sme(e, t, n) { + let r = e - t; + return r < 0 ? -r : Math.max(0, r - n); +} +function HNe(e, t, n, r, o) { + let a = e - n, + i; + return ( + (i = + a < 0 + ? Math.min(-a, 1 + a - o) + : a > o + ? Math.min(Math.max(a - o, 0), 1 - a) + : 0), + Math.max(i, Sme(t, r, o)) + ); +} +function wun(e, t) { + let n = 1 / 0, + r = -1 / 0; + for (let o of t) { + let a = bc(e, o); + ((n = Math.min(n, a)), (r = Math.max(r, a))); + } + return { min: n, max: r }; +} +function kdn(e, t) { + let n = Wa(); + lQ(n, e.origin, e.direction, t); + let r = Fy(n), + o = Wa(); + Ss(o, n, 1 / r); + let a = GQ(o), + i = ai.fromLngLat(a), + s = new ai(i.x, qr(i.y, 0, 0.999999999)), + l = bze(e.index, e.exaggeration, s.x, s.y), + c = Math.abs(a.lat) > 85.051129 ? 0 : l.elevation; + return { sample: { ...l, elevation: c }, radius: r, mercator: s }; +} +function Cun(e, t) { + let { sample: n, radius: r } = kdn(e, t); + return vdn(n, (r - 1) * Pm); +} +function Eun(e, t) { + let n = rp(e); + return Ss(n, n, 1 + t / Pm); +} +function Iun(e, t, n) { + let r = hfe(Wa(), n, e); + return bc(r, t); +} +function gIr(e, t, n) { + let r = { constrainOverride: t }; + if (Array.isArray(e)) { + let o = new bun({ type: e }, n); + return { projection: o, transform: new Tun(r), cameraHelper: new kun(o) }; + } + switch (e) { + case "mercator": + return { + projection: new sze(), + transform: new Tme(r), + cameraHelper: new kme(), + }; + case "globe": { + let o = new bun( + { + type: [ + "interpolate", + ["linear"], + ["zoom"], + 11, + "vertical-perspective", + 12, + "mercator", + ], + }, + {}, + ); + return { projection: o, transform: new Tun(r), cameraHelper: new kun(o) }; + } + case "vertical-perspective": + return { + projection: new Sdn(), + transform: new Tdn(r), + cameraHelper: new Rdn(), + }; + default: + return ( + Ko( + `Unknown projection name: ${e}. Falling back to mercator projection.`, + ), + { + projection: new sze(), + transform: new Tme(r), + cameraHelper: new kme(), + } + ); + } +} +function EIr(e, t) { + for (let [n, r] of Object.entries(Mme)) { + let o = e.getUniformBlockIndex(t, n); + o !== e.INVALID_INDEX && e.uniformBlockBinding(t, o, r); + } +} +function xze(e) { + let t = {}, + n = 0; + for (let { name: r, type: o } of e) { + let [a, i] = IIr[o]; + ((n = Math.ceil(n / i) * i), (t[r] = n), (n += a)); + } + return { offsets: t, contentWords: n, sizeWords: Math.ceil(n / 4) * 4 }; +} +function Mdn(e) { + return new Aze(e, Mme.ProjectionUBO, Pdn); +} +function Pun(e, t) { + let n = e.pending; + (n.set(t.mainMatrix, eB.u_projection_matrix), + n.set(t.fallbackMatrix, eB.u_projection_fallback_matrix), + n.set(t.tileMercatorCoords, eB.u_projection_tile_mercator_coords), + n.set(t.clippingPlane, eB.u_projection_clipping_plane), + (n[eB.u_projection_transition] = t.projectionTransition), + (e.pendingWords[eB.u_projection_clip_antimeridian] = +!!t.clipAntimeridian), + e.upload()); +} +function TIr(e, t) { + if (!t) { + e.projectionUniformBuffer.bind(); + return; + } + let n = t.uniformBufferKey; + if (n === void 0) { + Pun(e.projectionUniformBuffer, t); + return; + } + let r = e.keyedProjectionUniformBuffers.get(n); + if (r) { + r.bind(); + return; + } + let o = e.freeProjectionUniformBuffers.pop() ?? Mdn(e); + (e.keyedProjectionUniformBuffers.set(n, o), Pun(o, t)); +} +function kIr(e) { + (e.freeProjectionUniformBuffers.push( + ...e.keyedProjectionUniformBuffers.values(), + ), + e.keyedProjectionUniformBuffers.clear()); +} +function RIr(e) { + e.projectionUniformBuffer.destroy(); + for (let t of e.keyedProjectionUniformBuffers.values()) t.destroy(); + for (let t of e.freeProjectionUniformBuffers) t.destroy(); +} +function PIr(e) { + return new Aze(e, Mme.TerrainUBO, Ddn); +} +function MIr(e, t) { + let n = e.pending; + (n.set(t.u_terrain_matrix, fme.u_terrain_matrix), + n.set(t.u_terrain_unpack, fme.u_terrain_unpack), + (n[fme.u_terrain_dim] = t.u_terrain_dim), + (n[fme.u_terrain_exaggeration] = t.u_terrain_exaggeration), + e.upload()); +} +function VNe(e) { + let t = []; + for (let n of e) { + if (n === null) continue; + let r = n.split(" "); + t.push(r.pop()); + } + return t; +} +function DIr(e, t) { + let n = new Set([ + e.INT, + e.INT_VEC2, + e.INT_VEC3, + e.INT_VEC4, + e.UNSIGNED_INT, + e.UNSIGNED_INT_VEC2, + e.UNSIGNED_INT_VEC3, + e.UNSIGNED_INT_VEC4, + ]), + r = new Set(), + o = e.getProgramParameter(t, e.ACTIVE_ATTRIBUTES); + for (let a = 0; a < o; a++) { + let i = e.getActiveAttrib(t, a); + i && n.has(i.type) && r.add(i.name); + } + return r; +} +function Ldn(e, t, n) { + let r = 1 / k0(n, 1, t.transform.tileZoom), + o = 2 ** n.tileID.overscaledZ, + a = (n.tileSize * 2 ** t.transform.tileZoom) / o, + i = a * (n.tileID.canonical.x + n.tileID.wrap * o), + s = a * n.tileID.canonical.y; + return { + u_image: 0, + u_texsize: n.imageAtlasTexture.size, + u_scale: [r, e.fromScale, e.toScale], + u_fade: e.t, + u_pixel_coord_upper: [i >> 16, s >> 16], + u_pixel_coord_lower: [i & 65535, s & 65535], + }; +} +function BIr(e, t, n, r) { + let o = n.patternAtlas.getPattern(e.from.toString()), + a = n.patternAtlas.getPattern(e.to.toString()), + { width: i, height: s } = n.patternAtlas.getPixelSize(), + l = 2 ** r.tileID.overscaledZ, + c = (r.tileSize * 2 ** n.transform.tileZoom) / l, + u = c * (r.tileID.canonical.x + r.tileID.wrap * l), + d = c * r.tileID.canonical.y; + return { + u_image: 0, + u_pattern_tl_a: o.tl, + u_pattern_br_a: o.br, + u_pattern_tl_b: a.tl, + u_pattern_br_b: a.br, + u_texsize: [i, s], + u_mix: t.t, + u_pattern_size_a: o.displaySize, + u_pattern_size_b: a.displaySize, + u_scale_a: t.fromScale, + u_scale_b: t.toScale, + u_tile_units_to_pixels: 1 / k0(r, 1, n.transform.tileZoom), + u_pixel_coord_upper: [u >> 16, d >> 16], + u_pixel_coord_lower: [u & 65535, d & 65535], + }; +} +function eTr(e, t) { + let n = 2 ** t.canonical.z, + r = t.canonical.y; + return [ + new ai(0, r / n).toLngLat().lat, + new ai(0, (r + 1) / n).toLngLat().lat, + ]; +} +function wze(e, t) { + return 1 / k0(e, 1, t.tileZoom); +} +function Ndn(e, t, n) { + return Pw( + e.transform, + t, + n.paint.get("line-translate"), + n.paint.get("line-translate-anchor"), + ); +} +function u7r(e) { + return new Aze(e, Mme.FrameUBO, Hdn); +} +function d7r(e, t) { + let n = e.pending, + { transform: r } = t, + o = t.context.gl; + ((n[$g.u_units_to_pixels] = 1 / r.pixelsToGLUnits[0]), + (n[$g.u_units_to_pixels + 1] = 1 / r.pixelsToGLUnits[1]), + (n[$g.u_world_size] = o.drawingBufferWidth), + (n[$g.u_world_size + 1] = o.drawingBufferHeight), + (n[$g.u_camera_to_center_distance] = r.cameraToCenterDistance), + (n[$g.u_symbol_fade_change] = t.options.fadeDuration + ? t.symbolFadeChange + : 1), + (n[$g.u_aspect_ratio] = r.width / r.height), + (n[$g.u_device_pixel_ratio] = t.pixelRatio), + (n[$g.u_viewport_size] = r.width), + (n[$g.u_viewport_size + 1] = r.height), + (n[$g.u_pixel_extrude_scale] = 1 / r.width), + (n[$g.u_pixel_extrude_scale + 1] = 1 / r.height), + (n[$g.u_pitch] = (r.pitch / 360) * 2 * Math.PI), + e.upload()); +} +function f7r(e, t, n) { + let r = t?.transitionState ?? 0; + return { + currentPass: "offscreen", + currentLayer: 0, + opaquePassCutoff: 1 / 0, + depthRangeFor3D: [0, 1], + isRenderingToTexture: !1, + transform: e, + terrain: n, + projectionTransition: r, + isRenderingGlobe: r > 0, + }; +} +function Xf(e, t, n = {}) { + let r = e.transform.getProjectionData({ + overscaledTileID: t, + aligned: n.aligned, + applyGlobeMatrix: !e.isRenderingToTexture, + applyTerrainMatrix: n.applyTerrainMatrix ?? !0, + }); + return ( + e.isRenderingToTexture || + (r.uniformBufferKey = n.aligned ? `${t.key}/aligned` : t.key), + r + ); +} +function Ch(e, t) { + return e.isRenderingToTexture ? null : (e.terrain?.getTerrainData(t) ?? null); +} +function Bun(e, t, n, r, o, a) { + let i = e.context, + s = i.gl, + l = e.useProgram("collisionBox"), + c = [], + u = 0, + d = 0; + for (let y of r) { + let x = t.getTile(y).getBucket(n); + if (!x) continue; + let A = o ? x.textCollisionBox : x.iconCollisionBox, + w = x.collisionCircleArray; + (w.length > 0 && + (c.push({ circleArray: w, circleOffset: d, coord: y }), + (u += w.length / 4), + (d = u)), + A && + l.draw( + i, + s.LINES, + Ho.disabled, + ii.disabled, + e.colorModeForRenderPass(), + Ya.disabled, + null, + Ch(a, y), + Xf(a, y), + n.id, + A.layoutVertexBuffer, + A.indexBuffer, + A.segments, + null, + e.transform.zoom, + null, + null, + A.collisionVertexBuffer, + )); + } + if (!o || !c.length) return; + let p = e.useProgram("collisionCircle"), + f = new Gsn(); + (f.resize(u * 4), f._trim()); + let m = 0; + for (let y of c) + for (let x = 0; x < y.circleArray.length / 4; x++) { + let A = x * 4, + w = y.circleArray[A + 0], + C = y.circleArray[A + 1], + E = y.circleArray[A + 2], + T = y.circleArray[A + 3]; + (f.emplace(m++, w, C, E, T, 0), + f.emplace(m++, w, C, E, T, 1), + f.emplace(m++, w, C, E, T, 2), + f.emplace(m++, w, C, E, T, 3)); + } + (!hme || hme.length < u * 2) && (hme = m7r(u)); + let g = i.createIndexBuffer(hme, !0), + v = i.createVertexBuffer(f, Eln.members, !0); + for (let y of c) + p.draw( + i, + s.TRIANGLES, + Ho.disabled, + ii.disabled, + e.colorModeForRenderPass(), + Ya.disabled, + null, + Ch(a, y.coord), + null, + n.id, + v, + g, + Vs.simpleSegment( + 0, + y.circleOffset * 2, + y.circleArray.length, + y.circleArray.length / 2, + ), + null, + e.transform.zoom, + null, + null, + null, + ); + (v.destroy(), g.destroy()); +} +function m7r(e) { + let t = e * 2, + n = new qsn(); + (n.resize(t), n._trim()); + for (let r = 0; r < t; r++) { + let o = r * 6; + ((n.uint16[o + 0] = r * 4 + 0), + (n.uint16[o + 1] = r * 4 + 1), + (n.uint16[o + 2] = r * 4 + 2), + (n.uint16[o + 3] = r * 4 + 2), + (n.uint16[o + 4] = r * 4 + 3), + (n.uint16[o + 5] = r * 4 + 0)); + } + return n; +} +function g7r(e, t, n, r, o, a) { + if (a.currentPass !== "translucent") return; + let i = ii.disabled, + s = e.colorModeForRenderPass(); + ((n._unevaluatedLayout.hasValue("text-variable-anchor") || + n._unevaluatedLayout.hasValue("text-variable-anchor-offset")) && + v7r( + r, + e, + n, + t, + n.layout.get("text-rotation-alignment"), + n.layout.get("text-pitch-alignment"), + n.paint.get("text-translate"), + n.paint.get("text-translate-anchor"), + o, + ), + n.paint.get("icon-opacity").constantOr(1) !== 0 && + Oun( + e, + t, + n, + r, + !1, + n.paint.get("icon-translate"), + n.paint.get("icon-translate-anchor"), + n.layout.get("icon-rotation-alignment").constantOr("viewport"), + n.layout.get("icon-pitch-alignment"), + n.layout.get("icon-keep-upright"), + i, + s, + a, + ), + n.paint.get("text-opacity").constantOr(1) !== 0 && + Oun( + e, + t, + n, + r, + !0, + n.paint.get("text-translate"), + n.paint.get("text-translate-anchor"), + n.layout.get("text-rotation-alignment"), + n.layout.get("text-pitch-alignment"), + n.layout.get("text-keep-upright"), + i, + s, + a, + ), + t.map.showCollisionBoxes && + (Bun(e, t, n, r, !0, a), Bun(e, t, n, r, !1, a))); +} +function y7r(e, t, n, r, o, a) { + let { horizontalAlign: i, verticalAlign: s } = kQ(e), + l = -(i - 0.5) * t, + c = -(s - 0.5) * n; + return new ft((l / o + r[0]) * a, (c / o + r[1]) * a); +} +function v7r(e, t, n, r, o, a, i, s, l) { + let c = t.transform, + u = t.style.map.terrain, + d = o === "map", + p = a === "map"; + for (let f of e) { + let m = r.getTile(f), + g = m.getBucket(n); + if (!g?.text?.segments.get().length) continue; + let v = g.textSizeData, + y = RQ(v, c.zoom), + x = k0(m, 1, t.transform.zoom), + A = mze(d, t.transform, x), + w = n.layout.get("icon-text-fit") !== "none" && g.hasIconData(); + if (y) { + let C = 2 ** (c.zoom - m.tileID.overscaledZ), + E = u ? (T, I) => u.getElevation(f, T, I) : void 0; + x7r( + g, + d, + p, + l, + c, + A, + C, + y, + w, + Pw(c, m, i, s), + f.toUnwrapped(), + E, + n.layout.get("symbol-height-anchor") === "ground", + ); + } + } +} +function b7r(e, t, n, r, o, a) { + let i = t.tileAnchorPoint.add(new ft(t.translation[0], t.translation[1])); + if (t.pitchWithMap) { + let s = r.mult(a); + n || (s = s.rotate(-o)); + let l = i.add(s); + return gze(l.x, l.y, t.pitchedLabelPlaneMatrix, a7(t, l.x, l.y)).point; + } + if (n) { + let s = i7(t.tileAnchorPoint.x + 1, t.tileAnchorPoint.y, t).point.sub(e), + l = Math.atan(s.y / s.x) + (s.x < 0 ? Math.PI : 0); + return e.add(r.rotate(l)); + } + return e.add(r); +} +function x7r(e, t, n, r, o, a, i, s, l, c, u, d, p) { + let f = e.text.placedSymbolArray, + m = e.text.dynamicLayoutVertexArray, + g = e.icon.dynamicLayoutVertexArray, + v = {}; + m.clear(); + for (let y = 0; y < f.length; y++) { + let x = f.get(y), + A = e.allowVerticalPlacement && !x.placedOrientation, + w = !x.hidden && x.crossTileID && !A ? r[x.crossTileID] : null; + if (!w) oB(x.numGlyphs, m); + else { + let C = new ft(x.anchorX, x.anchorY), + E = { + getElevation: d, + heightOffset: x.heightOffset, + heightAnchorGround: p, + width: o.width, + height: o.height, + pitchedLabelPlaneMatrix: a, + lineVertexArray: null, + pitchWithMap: n, + transform: o, + projectionCache: null, + tileAnchorPoint: C, + translation: c, + unwrappedTileID: u, + }, + T = n ? fdn(C.x, C.y, E) : i7(C.x, C.y, E), + I = udn(o.cameraToCenterDistance, T.signedDistanceFromCamera), + k = (eme(e.textSizeData, s, x) * I) / 24; + n && (k *= e.tilePixelRatio / i); + let { + width: L, + height: O, + anchor: B, + textOffset: U, + textBoxScale: D, + } = w, + N = y7r(B, L, O, U, D, k), + _ = o.getPitchedTextCorrection(C.x + c[0], C.y + c[1], u), + G = b7r(T.point, E, t, N, -o.bearingInRadians, _), + Z = + e.allowVerticalPlacement && x.placedOrientation === 2 + ? Math.PI / 2 + : 0; + for (let q = 0; q < x.numGlyphs; q++) PQ(m, G, Z); + l && + x.associatedIconIndex >= 0 && + (v[x.associatedIconIndex] = { shiftedAnchor: G, angle: Z }); + } + } + if (l) { + g.clear(); + let y = e.icon.placedSymbolArray; + for (let x = 0; x < y.length; x++) { + let A = y.get(x); + if (A.hidden) oB(A.numGlyphs, g); + else { + let w = v[x]; + if (!w) oB(A.numGlyphs, g); + else + for (let C = 0; C < A.numGlyphs; C++) PQ(g, w.shiftedAnchor, w.angle); + } + } + e.icon.dynamicLayoutVertexBuffer.updateData(g); + } + e.text.dynamicLayoutVertexBuffer.updateData(m); +} +function A7r(e, t, n) { + return n.iconsInText && t + ? "symbolTextAndIcon" + : e + ? "symbolSDF" + : "symbolIcon"; +} +function Oun(e, t, n, r, o, a, i, s, l, c, u, d, p) { + let f = e.context, + m = f.gl, + g = e.transform, + v = s === "map", + y = l === "map", + x = s !== "viewport" && n.layout.get("symbol-placement") !== "point", + A = v && !y && !x, + w = !n.layout.get("symbol-sort-key").isConstant(), + C = !1, + E = e.getDepthModeForSublayer(0, Ho.ReadOnly), + T = + n._unevaluatedLayout.hasValue("text-variable-anchor") || + n._unevaluatedLayout.hasValue("text-variable-anchor-offset"), + I = [], + k = g.getCircleRadiusCorrection(); + for (let B of r) { + let U = t.getTile(B), + D = U.getBucket(n); + if (!D) continue; + let N = o ? D.text : D.icon; + if (!N?.segments.get().length || !N.hasVisibleVertices) continue; + let _ = N.programConfigurations.get(n.id), + G = o || D.sdfIcons, + Z = o ? D.textSizeData : D.iconSizeData, + q = y || g.pitch !== 0, + H = e.useProgram(A7r(G, o, D), _), + te = RQ(Z, g.zoom), + ie = Ch(p, B), + j, + oe = [0, 0], + J, + Y, + ae = null, + ne; + if (o) { + if ( + ((J = U.glyphAtlasTexture), + (Y = m.LINEAR), + (j = U.glyphAtlasTexture.size), + D.iconsInText) + ) { + ((oe = U.imageAtlasTexture.size), (ae = U.imageAtlasTexture)); + let Me = Z.kind === "composite" || Z.kind === "camera"; + ne = + q || e.options.rotating || e.options.zooming || Me + ? m.LINEAR + : m.NEAREST; + } + } else { + let Me = + n.layout.get("icon-size").constantOr(0) !== 1 || D.iconsNeedLinear; + ((J = U.imageAtlasTexture), + (Y = + G || e.options.rotating || e.options.zooming || Me || q + ? m.LINEAR + : m.NEAREST), + (j = U.imageAtlasTexture.size)); + } + let Se = k0(U, 1, e.transform.zoom), + fe = mze(v, e.transform, Se), + Ae = wEr(y, v, e.transform, Se), + Ee = Pw(g, U, a, i), + pe = Xf(p, B), + Re = T && D.hasTextData(), + Le = n.layout.get("icon-text-fit") !== "none" && Re && D.hasIconData(), + Ne = n._unevaluatedLayout.hasValue("icon-offset"), + be = n.layout.get("symbol-height-anchor") === "ground"; + if (x) { + let Me = kw(); + vEr(Me, fe); + let Qe = e.style.map.terrain + ? (ee, K) => e.style.map.terrain.getElevation(B, ee, K) + : void 0; + CEr( + D, + e, + o, + fe, + Me, + y, + c, + n.layout.get("text-rotation-alignment") === "map", + B.toUnwrapped(), + g.width, + g.height, + Ee, + Qe, + ); + } + let ye = (o && T) || Le, + ce = y ? fe : e.transform.clipSpaceToPixelsMatrix, + ue = x || ye ? h7r : ce, + ke = + G && + n.paint.get(o ? "text-halo-width" : "icon-halo-width").constantOr(1) !== + 0, + se; + se = G + ? D.iconsInText + ? yTr(Z.kind, te, A, y, x, ye, e, ue, Ae, Ee, j, oe, k, Ne, be) + : _dn(Z.kind, te, A, y, x, ye, e, ue, Ae, Ee, o, j, ke, k, Ne, be) + : zdn(Z.kind, te, A, y, x, ye, e, ue, Ae, Ee, o, j, k, Ne, be); + let qe = { + program: H, + buffers: N, + uniformValues: se, + projectionData: pe, + atlasTexture: J, + atlasTextureIcon: ae, + atlasInterpolation: Y, + atlasInterpolationIcon: ne, + isSDF: G, + hasHalo: ke, + }; + if (w && D.canOverlap) { + C = !0; + let Me = N.segments.get(); + for (let Qe of Me) + I.push({ + segments: new Vs([Qe]), + sortKey: Qe.sortKey, + state: qe, + terrainData: ie, + }); + } else + I.push({ segments: N.segments, sortKey: 0, state: qe, terrainData: ie }); + } + C && I.sort((B, U) => B.sortKey - U.sortKey); + let L = + n.paint.get(o ? "text-halo-width" : "icon-halo-width").constantOr(null) ?? + 1 / 0, + O = n.layout.get("text-letter-spacing").constantOr(0) * 24 < 0 || L > 1; + for (let B of I) { + let U = B.state; + (f.activeTexture.set(m.TEXTURE0), + U.atlasTexture.bind(U.atlasInterpolation, m.CLAMP_TO_EDGE), + U.atlasTextureIcon && + (f.activeTexture.set(m.TEXTURE1), + U.atlasTextureIcon && + U.atlasTextureIcon.bind(U.atlasInterpolationIcon, m.CLAMP_TO_EDGE))); + let D = U.isSDF && U.hasHalo; + if (D) { + let N = U.uniformValues; + ((N.u_is_halo = 1), + O && + ((N.u_is_plain = 0), + Fun( + U.buffers, + B.segments, + n, + e, + U.program, + E, + u, + d, + N, + U.projectionData, + B.terrainData, + ), + (N.u_is_halo = 0), + (N.u_is_plain = 1))); + } + (Fun( + U.buffers, + B.segments, + n, + e, + U.program, + E, + u, + d, + U.uniformValues, + U.projectionData, + B.terrainData, + ), + D && !O && (U.uniformValues.u_is_halo = 0)); + } +} +function Fun(e, t, n, r, o, a, i, s, l, c, u) { + let d = r.context, + p = d.gl; + o.draw( + d, + p.TRIANGLES, + a, + i, + s, + Ya.backCCW, + l, + u, + c, + n.id, + e.layoutVertexBuffer, + e.indexBuffer, + t, + n.paint, + r.transform.zoom, + e.programConfigurations.get(n.id), + e.dynamicLayoutVertexBuffer, + e.opacityVertexBuffer, + ); +} +function w7r(e, t, n, r, o) { + if (o.currentPass !== "translucent") return; + let a = n.paint.get("circle-opacity"), + i = n.paint.get("circle-stroke-width"), + s = n.paint.get("circle-stroke-opacity"), + l = !n.layout.get("circle-sort-key").isConstant(); + if (a.constantOr(1) === 0 && (i.constantOr(1) === 0 || s.constantOr(1) === 0)) + return; + let c = e.context, + u = c.gl, + d = e.transform, + p = e.getDepthModeForSublayer(0, Ho.ReadOnly), + f = ii.disabled, + m = e.colorModeForRenderPass(), + g = [], + v = d.getCircleRadiusCorrection(); + for (let y of r) { + let x = t.getTile(y), + A = x.getBucket(n); + if (!A) continue; + let w = n.paint.get("circle-translate"), + C = n.paint.get("circle-translate-anchor"), + E = Pw(d, x, w, C), + T = A.programConfigurations.get(n.id), + I = e.useProgram("circle", T), + { layoutVertexBuffer: k, indexBuffer: L } = A, + O = Ch(o, y), + B = { + programConfiguration: T, + program: I, + layoutVertexBuffer: k, + indexBuffer: L, + uniformValues: QIr(e, x, n, E, v), + terrainData: O, + projectionData: Xf(o, y), + }; + if (l) { + let U = A.segments.get(); + for (let D of U) + g.push({ segments: new Vs([D]), sortKey: D.sortKey, state: B }); + } else g.push({ segments: A.segments, sortKey: 0, state: B }); + } + l && g.sort((y, x) => y.sortKey - x.sortKey); + for (let y of g) { + let { + programConfiguration: x, + program: A, + layoutVertexBuffer: w, + indexBuffer: C, + uniformValues: E, + terrainData: T, + projectionData: I, + } = y.state, + k = y.segments; + A.draw( + c, + u.TRIANGLES, + p, + f, + m, + Ya.backCCW, + E, + T, + I, + n.id, + w, + C, + k, + n.paint, + e.transform.zoom, + x, + ); + } +} +function S7r(e, t, n, r, o) { + if (n.paint.get("heatmap-opacity") === 0) return; + let a = e.context; + if (e.style.map.terrain) { + for (let i of r) { + let s = t.getTile(i); + t.hasRenderableParent(i) || + (o.currentPass === "offscreen" + ? I7r(e, s, n, i, o) + : o.currentPass === "translucent" && T7r(e, n, i, o)); + } + a.viewport.set([0, 0, e.width, e.height]); + } else + o.currentPass === "offscreen" + ? C7r(e, t, n, r, o) + : o.currentPass === "translucent" && E7r(e, n); +} +function C7r(e, t, n, r, o) { + let a = e.context, + i = a.gl, + s = e.transform, + l = ii.disabled, + c = new Yl([i.ONE, i.ONE], Kr.transparent, [!0, !0, !0, !0]); + (k7r(a, e, n), a.clear({ color: Kr.transparent })); + for (let u of r) { + if (t.hasRenderableParent(u)) continue; + let d = t.getTile(u), + p = d.getBucket(n); + if (!p) continue; + let f = p.programConfigurations.get(n.id), + m = e.useProgram("heatmap", f), + g = Xf(o, u, { applyTerrainMatrix: !1 }), + v = s.getCircleRadiusCorrection(); + m.draw( + a, + i.TRIANGLES, + Ho.disabled, + l, + c, + Ya.backCCW, + Fdn(d, s.zoom, n.paint.get("heatmap-intensity"), v), + null, + g, + n.id, + p.layoutVertexBuffer, + p.indexBuffer, + p.segments, + n.paint, + s.zoom, + f, + ); + } + a.viewport.set([0, 0, e.width, e.height]); +} +function E7r(e, t) { + let n = e.context, + r = n.gl; + n.setColorMode(e.colorModeForRenderPass()); + let o = t.heatmapFbos.get(CQ); + o && + (n.activeTexture.set(r.TEXTURE0), + r.bindTexture(r.TEXTURE_2D, o.colorAttachment.get()), + n.activeTexture.set(r.TEXTURE1), + Gdn(n, t).bind(r.LINEAR, r.CLAMP_TO_EDGE), + e + .useProgram("heatmapTexture") + .draw( + n, + r.TRIANGLES, + Ho.disabled, + ii.disabled, + e.colorModeForRenderPass(), + Ya.disabled, + Udn(e, t, 0, 1), + null, + null, + t.id, + e.viewportBuffer, + e.quadTriangleIndexBuffer, + e.viewportSegments, + t.paint, + e.transform.zoom, + )); +} +function I7r(e, t, n, r, o) { + let a = e.context, + i = a.gl, + s = ii.disabled, + l = new Yl([i.ONE, i.ONE], Kr.transparent, [!0, !0, !0, !0]), + c = t.getBucket(n); + if (!c) return; + let u = r.key, + d = n.heatmapFbos.get(u); + (d || ((d = Vdn(a, t.tileSize, t.tileSize)), n.heatmapFbos.set(u, d)), + a.bindFramebuffer.set(d.framebuffer), + a.viewport.set([0, 0, t.tileSize, t.tileSize]), + a.clear({ color: Kr.transparent })); + let p = c.programConfigurations.get(n.id), + f = e.useProgram("heatmap", p, !o.isRenderingGlobe), + m = Xf(o, t.tileID), + g = Ch(o, r); + f.draw( + a, + i.TRIANGLES, + Ho.disabled, + s, + l, + Ya.disabled, + Fdn(t, e.transform.zoom, n.paint.get("heatmap-intensity"), 1), + g, + m, + n.id, + c.layoutVertexBuffer, + c.indexBuffer, + c.segments, + n.paint, + e.transform.zoom, + p, + ); +} +function T7r(e, t, n, r) { + let o = e.context, + a = o.gl, + i = e.transform; + o.setColorMode(e.colorModeForRenderPass()); + let s = Gdn(o, t), + l = n.key, + c = t.heatmapFbos.get(l); + if (!c) return; + (o.activeTexture.set(a.TEXTURE0), + a.bindTexture(a.TEXTURE_2D, c.colorAttachment.get()), + o.activeTexture.set(a.TEXTURE1), + s.bind(a.LINEAR, a.CLAMP_TO_EDGE)); + let u = Xf(r, n, { applyTerrainMatrix: r.isRenderingGlobe }); + (e + .useProgram("heatmapTexture") + .draw( + o, + a.TRIANGLES, + Ho.disabled, + ii.disabled, + e.colorModeForRenderPass(), + Ya.disabled, + Udn(e, t, 0, 1), + null, + u, + t.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments, + t.paint, + i.zoom, + ), + c.destroy(), + t.heatmapFbos.delete(l)); +} +function k7r(e, t, n) { + let r = e.gl; + (e.activeTexture.set(r.TEXTURE1), + e.viewport.set([0, 0, t.width / 4, t.height / 4])); + let o = n.heatmapFbos.get(CQ); + o + ? (r.bindTexture(r.TEXTURE_2D, o.colorAttachment.get()), + e.bindFramebuffer.set(o.framebuffer)) + : ((o = Vdn(e, t.width / 4, t.height / 4)), n.heatmapFbos.set(CQ, o)); +} +function Vdn(e, t, n) { + let r = e.gl, + o = r.createTexture(); + (r.bindTexture(r.TEXTURE_2D, o), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_S, r.CLAMP_TO_EDGE), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_T, r.CLAMP_TO_EDGE), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_MIN_FILTER, r.LINEAR), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_MAG_FILTER, r.LINEAR), + r.texStorage2D(r.TEXTURE_2D, 1, r.RGBA16F, t, n)); + let a = e.createFramebuffer(t, n, !1, !1); + return (a.colorAttachment.set(o), a); +} +function Gdn(e, t) { + return ( + (t.colorRampTexture ||= new cd(e, t.colorRamp, e.gl.RGBA)), + t.colorRampTexture + ); +} +function qdn(e, t, n) { + let r = e.context, + o = r.bindFramebuffer.get(), + a = r.viewport.get(), + [, , i, s] = a; + return ( + R7r(e, i, s), + r.viewport.set([0, 0, i, s]), + r.clear({ color: Kr.transparent, depth: 1, stencil: 0 }), + (e.currentStencilSource = void 0), + e.renderTileClippingMasks(t, n), + { compositeTarget: o, compositeViewport: a } + ); +} +function R7r(e, t, n) { + let r = e.context.gl; + if (!e.layerOpacityFbo) { + let a = e.context.createFramebuffer(t, n, !0, !0), + i = r.createTexture(); + (r.bindTexture(r.TEXTURE_2D, i), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_S, r.CLAMP_TO_EDGE), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_T, r.CLAMP_TO_EDGE), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_MIN_FILTER, r.LINEAR), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_MAG_FILTER, r.LINEAR), + r.texImage2D( + r.TEXTURE_2D, + 0, + r.RGBA, + t, + n, + 0, + r.RGBA, + r.UNSIGNED_BYTE, + null, + ), + a.colorAttachment.set(i), + a.depthAttachment.set( + e.context.createRenderbuffer(r.DEPTH_STENCIL, t, n), + ), + (e.layerOpacityFbo = a), + e.context.bindFramebuffer.set(e.layerOpacityFbo.framebuffer)); + return; + } + if (e.layerOpacityFbo.width === t && e.layerOpacityFbo.height === n) { + e.context.bindFramebuffer.set(e.layerOpacityFbo.framebuffer); + return; + } + let o = e.layerOpacityFbo; + (r.bindTexture(r.TEXTURE_2D, o.colorAttachment.get()), + r.texImage2D( + r.TEXTURE_2D, + 0, + r.RGBA, + t, + n, + 0, + r.RGBA, + r.UNSIGNED_BYTE, + null, + ), + e.context.bindRenderbuffer.set(o.depthAttachment.get()), + r.renderbufferStorage(r.RENDERBUFFER, r.DEPTH_STENCIL, t, n), + e.context.bindRenderbuffer.set(null), + (o.width = t), + (o.height = n), + e.context.bindFramebuffer.set(o.framebuffer)); +} +function Zdn(e, t, n, r) { + let o = e.context, + a = o.gl; + (o.bindFramebuffer.set(n.compositeTarget), + o.viewport.set(n.compositeViewport), + o.activeTexture.set(a.TEXTURE0), + a.bindTexture(a.TEXTURE_2D, e.layerOpacityFbo.colorAttachment.get()), + e + .useProgram("layerOpacity") + .draw( + o, + a.TRIANGLES, + Ho.disabled, + ii.disabled, + e.colorModeForRenderPass(), + Ya.disabled, + fTr(t, 0), + null, + null, + r.id, + e.viewportBuffer, + e.quadTriangleIndexBuffer, + e.viewportSegments, + r.paint, + e.transform.zoom, + ), + (e.currentStencilSource = void 0)); +} +function Qdn(e, t, n, r, o, a, i, s) { + let l = 256; + if (o.stepInterpolant) { + let c = t.getSource().maxzoom, + u = + i.canonical.z === c + ? Math.ceil(1 << (e.transform.maxZoom - i.canonical.z)) + : 1, + d = (a.maxLineLength / Ut) * 1024 * u; + l = qr(fin(d), 256, n.maxTextureSize); + } + return ( + (s.gradient = eNe({ + expression: o.gradientExpression(), + evaluationKey: "lineProgress", + resolution: l, + image: s.gradient || void 0, + clips: a.lineClipsArray, + })), + s.texture + ? s.texture.update(s.gradient) + : (s.texture = new cd(n, s.gradient, r.RGBA)), + (s.version = o.gradientVersion), + s.texture + ); +} +function P7r(e, t, n, r, o) { + (e.activeTexture.set(t.TEXTURE0), + n.imageAtlasTexture.bind(t.LINEAR, t.CLAMP_TO_EDGE), + r.updatePaintBuffers(o)); +} +function M7r(e, t, n, r, o, a) { + ((o || e.lineAtlas.dirty) && + (t.activeTexture.set(n.TEXTURE0), e.lineAtlas.bind(t)), + r.updatePaintBuffers(a)); +} +function D7r(e, t, n, r, o, a, i) { + let s = a.gradients[o.id], + l = s.texture; + (o.gradientVersion !== s.version && (l = Qdn(e, t, n, r, o, a, i, s)), + n.activeTexture.set(r.TEXTURE0), + l.bind(o.stepInterpolant ? r.NEAREST : r.LINEAR, r.CLAMP_TO_EDGE)); +} +function L7r(e, t, n, r, o, a, i, s, l) { + let c = a.gradients[o.id], + u = c.texture; + (o.gradientVersion !== c.version && (u = Qdn(e, t, n, r, o, a, i, c)), + n.activeTexture.set(r.TEXTURE0), + u.bind(o.stepInterpolant ? r.NEAREST : r.LINEAR, r.CLAMP_TO_EDGE), + n.activeTexture.set(r.TEXTURE1), + e.lineAtlas.bind(n), + s.updatePaintBuffers(l)); +} +function B7r(e, t, n, r, o) { + if (o.currentPass !== "translucent") return; + let a = n.paint.get("line-opacity"), + i = n.paint.get("line-width"), + s = n.paint.get("line-layer-opacity"); + if (a.constantOr(1) !== 0 && i.constantOr(1) !== 0 && s !== 0) { + if (s < 1) { + let l = qdn(e, n, r); + (Uun(e, t, n, r, o), Zdn(e, s, l, n)); + return; + } + Uun(e, t, n, r, o); + } +} +function Uun(e, t, n, r, o) { + let a = e.getDepthModeForSublayer(0, Ho.ReadOnly), + i = e.colorModeForRenderPass(), + s = n.paint.get("line-dasharray"), + l = s.constantOr(1), + c = n.paint.get("line-pattern"), + u = c.constantOr(1), + d = n.paint.get("line-gradient"), + p = n.getCrossfadeParameters(), + f; + f = u + ? "linePattern" + : l && d + ? "lineGradientSDF" + : l + ? "lineSDF" + : d + ? "lineGradient" + : "line"; + let m = e.context, + g = m.gl, + v = e.transform, + y = !0; + for (let x of r) { + let A = t.getTile(x); + if (u && !A.patternsLoaded()) continue; + let w = A.getBucket(n); + if (!w) continue; + let C = w.programConfigurations.get(n.id), + E = e.context.program.get(), + T = e.useProgram(f, C), + I = y || T.program !== E, + k = Ch(o, x), + L = c.constantOr(null), + O = s?.constantOr(null); + if (L && A.imageAtlas) { + let _ = A.imageAtlas, + G = _.patternPositions[L.to.toString()], + Z = _.patternPositions[L.from.toString()]; + G && Z && C.setConstantPatternPositions(G, Z); + } else if (O) { + let _ = n.layout.get("line-cap").constantOr(null) === "round", + G = e.lineAtlas.getDash(O.to, _), + Z = e.lineAtlas.getDash(O.from, _); + C.setConstantDashPositions(G, Z); + } + let B = Xf(o, x), + U = v.getPixelScale(), + D; + u + ? ((D = cTr(e, A, n, U, p)), P7r(m, g, A, C, p)) + : l && d + ? ((D = dTr(e, A, n, U, p, w.lineClipsArray.length)), + L7r(e, t, m, g, n, w, x, C, p)) + : l + ? ((D = uTr(e, A, n, U, p)), M7r(e, m, g, C, I, p)) + : d + ? ((D = lTr(e, A, n, U, w.lineClipsArray.length)), + D7r(e, t, m, g, n, w, x)) + : (D = Dme(e, A, n, U)); + let N = e.stencilModeForClipping(x); + (T.draw( + m, + g.TRIANGLES, + a, + N, + i, + Ya.disabled, + D, + k, + B, + n.id, + w.layoutVertexBuffer, + w.indexBuffer, + w.segments, + n.paint, + e.transform.zoom, + C, + w.layoutVertexBuffer2, + ), + (y = !1)); + } +} +function Xdn(e, t, n, r, o) { + if (!n || !r?.imageAtlas) return; + let a = r.imageAtlas.patternPositions, + i = a[n.to.toString()], + s = a[n.from.toString()]; + if ((!i && s && (i = s), !s && i && (s = i), !i || !s)) { + let l = o.getPaintProperty(t); + ((i = a[l]), (s = a[l])); + } + i && s && e.setConstantPatternPositions(i, s); +} +function O7r(e, t, n, r, o) { + let a = n.paint.get("fill-color"), + i = n.paint.get("fill-opacity"), + s = n.paint.get("fill-layer-opacity"); + if (i.constantOr(1) === 0 || s === 0) return; + if (s < 1) { + if (o.currentPass !== "translucent") return; + let u = qdn(e, n, r); + (Nun(e, t, n, r, o), Zdn(e, s, u, n)); + return; + } + let l = n.paint.get("fill-pattern"), + c = + e.opaquePassEnabledForLayer() && + !l.constantOr(1) && + a.constantOr(Kr.transparent).a === 1 && + i.constantOr(0) === 1; + if (c && o.currentPass === "opaque") { + let u = e.colorModeForRenderPass(); + Cze(e, t, n, r, e.getDepthModeForSublayer(1, Ho.ReadWrite), u, !1, o); + return; + } + if (c && o.currentPass === "translucent") { + Wdn(e, t, n, r, o); + return; + } + o.currentPass === "translucent" && Nun(e, t, n, r, o); +} +function Nun(e, t, n, r, o) { + let a = e.colorModeForRenderPass(); + (Cze(e, t, n, r, e.getDepthModeForSublayer(1, Ho.ReadOnly), a, !1, o), + Wdn(e, t, n, r, o)); +} +function Wdn(e, t, n, r, o) { + if (!n.paint.get("fill-antialias")) return; + let a = e.colorModeForRenderPass(); + Cze( + e, + t, + n, + r, + e.getDepthModeForSublayer( + n.getPaintProperty("fill-outline-color") ? 2 : 0, + Ho.ReadOnly, + ), + a, + !0, + o, + ); +} +function Cze(e, t, n, r, o, a, i, s) { + let l = e.context.gl, + c = "fill-pattern", + u = n.paint.get(c), + d = u?.constantOr(1), + p = n.getCrossfadeParameters(), + f, + m, + g, + v, + y, + x = e.transform, + A = n.paint.get("fill-translate"), + w = n.paint.get("fill-translate-anchor"); + i + ? ((m = + d && !n.getPaintProperty("fill-outline-color") + ? "fillOutlinePattern" + : "fillOutline"), + (f = l.LINES)) + : ((m = d ? "fillPattern" : "fill"), (f = l.TRIANGLES)); + let C = u.constantOr(null); + for (let E of r) { + let T = t.getTile(E); + if (d && !T.patternsLoaded()) continue; + let I = T.getBucket(n); + if (!I) continue; + let k = I.sdfPatterns[n.id] ?? !1, + L = I.programConfigurations.get(n.id), + O = e.useProgram(m, L), + B = Ch(s, E); + (d && + (e.context.activeTexture.set(l.TEXTURE0), + T.imageAtlasTexture.bind(l.LINEAR, l.CLAMP_TO_EDGE), + L.updatePaintBuffers(p)), + Xdn(L, c, C, T, n)); + let U = Xf(s, E), + D = Pw(x, T, A, w); + i + ? ((v = I.indexBuffer2), + (y = I.segments2), + (g = m === "fillOutlinePattern" && d ? qIr(e, p, T, D, k) : GIr(D))) + : ((v = I.indexBuffer), + (y = I.segments), + (g = d ? Odn(e, p, T, D, k) : VIr(D))); + let N = e.stencilModeForClipping(E); + O.draw( + e.context, + f, + o, + N, + a, + Ya.backCCW, + g, + B, + U, + n.id, + I.layoutVertexBuffer, + v, + y, + n.paint, + e.transform.zoom, + L, + ); + } +} +function F7r(e, t, n, r, o) { + let a = n.paint.get("fill-extrusion-opacity"); + if (a !== 0 && o.currentPass === "translucent") { + let i = new Ho(e.context.gl.LEQUAL, Ho.ReadWrite, o.depthRangeFor3D); + if (a === 1 && !n.paint.get("fill-extrusion-pattern").constantOr(1)) { + let s = e.colorModeForRenderPass(); + ZNe(e, t, n, r, i, ii.disabled, s, o); + } else + (ZNe(e, t, n, r, i, ii.disabled, Yl.disabled, o), + ZNe( + e, + t, + n, + r, + i, + e.stencilModeFor3D(), + e.colorModeForRenderPass(), + o, + )); + } +} +function ZNe(e, t, n, r, o, a, i, s) { + let l = e.context, + c = l.gl, + u = "fill-extrusion-pattern", + d = n.paint.get(u), + p = d.constantOr(1), + f = n.getCrossfadeParameters(), + m = n.paint.get("fill-extrusion-opacity"), + g = d.constantOr(null), + v = e.transform; + for (let y of r) { + let x = t.getTile(y), + A = x.getBucket(n); + if (!A) continue; + let w = Ch(s, y), + C = A.programConfigurations.get(n.id), + E = e.useProgram(p ? "fillExtrusionPattern" : "fillExtrusion", C); + p && + (e.context.activeTexture.set(c.TEXTURE0), + x.imageAtlasTexture.bind(c.LINEAR, c.CLAMP_TO_EDGE), + C.updatePaintBuffers(f)); + let T = Xf(s, y); + Xdn(C, u, g, x, n); + let I = Pw( + v, + x, + n.paint.get("fill-extrusion-translate"), + n.paint.get("fill-extrusion-translate-anchor"), + ), + k = n.paint.get("fill-extrusion-vertical-gradient"), + L = p ? UIr(e, k, m, I, y, f, x) : Bdn(e, k, m, I); + E.draw( + l, + l.gl.TRIANGLES, + o, + a, + i, + Ya.backCCW, + L, + w, + T, + n.id, + A.layoutVertexBuffer, + A.indexBuffer, + A.segments, + n.paint, + e.transform.zoom, + C, + e.style.map.terrain && A.centroidVertexBuffer, + ); + } +} +function U7r(e, t, n, r, o) { + if (o.currentPass !== "offscreen" && o.currentPass !== "translucent") return; + let a = e.context, + i = e.style.projection.useSubdivision, + s = e.getDepthModeForSublayer(0, Ho.ReadOnly), + l = e.colorModeForRenderPass(); + if (o.currentPass === "offscreen") + (N7r(e, t, r, n, s, ii.disabled, l), + a.viewport.set([0, 0, e.width, e.height])); + else if (o.currentPass === "translucent") + if (i) { + let [c, u, d] = e.stencilConfigForOverlapTwoPass(r); + (QNe(e, t, n, d, c, s, l, !1, o), QNe(e, t, n, d, u, s, l, !0, o)); + } else { + let [c, u] = e.getStencilConfigForOverlapAndUpdateStencilID(r); + QNe(e, t, n, u, c, s, l, !1, o); + } +} +function QNe(e, t, n, r, o, a, i, s, l) { + let c = e.style.projection, + u = e.context, + d = u.gl, + p = [ + `#define NUM_ILLUMINATION_SOURCES ${n.paint.get("hillshade-highlight-color").values.length}`, + ], + f = e.useProgram("hillshade", null, !1, p), + m = !e.options.moving; + for (let g of r) { + let v = t.getTile(g), + y = v.fbo; + if (!y) continue; + let x = c.getMeshFromTileID(u, g.canonical, s, !0, "raster"), + A = Ch(l, g); + (u.activeTexture.set(d.TEXTURE0), + d.bindTexture(d.TEXTURE_2D, y.colorAttachment.get())); + let w = Xf(l, g, { aligned: m }); + f.draw( + u, + d.TRIANGLES, + a, + o[g.overscaledZ], + i, + Ya.backCCW, + jIr(e, v, n), + A, + w, + n.id, + x.vertexBuffer, + x.indexBuffer, + x.segments, + ); + } +} +function N7r(e, t, n, r, o, a, i) { + let s = e.context, + l = s.gl, + c = r.paint.get("resampling") === "nearest" ? l.NEAREST : l.LINEAR; + for (let u of n) { + let d = t.getTile(u), + p = d.dem; + if (!p?.data || !d.needsHillshadePrepare) continue; + let f = p.dim + 2, + m = p.stride, + g = p.getPixels(); + if ( + (s.activeTexture.set(l.TEXTURE1), + s.pixelStoreUnpackPremultiplyAlpha.set(!1), + (d.demTexture ||= e.getTileTexture(m)), + d.demTexture) + ) { + let y = d.demTexture; + (y.update(g, { premultiply: !1 }), y.bind(l.NEAREST, l.CLAMP_TO_EDGE)); + } else + ((d.demTexture = new cd(s, g, l.RGBA, { premultiply: !1 })), + d.demTexture.bind(l.NEAREST, l.CLAMP_TO_EDGE)); + s.activeTexture.set(l.TEXTURE0); + let v = d.fbo; + if (!v) { + let y = new cd(s, { width: f, height: f, data: null }, l.RGBA); + (y.bind(c, l.CLAMP_TO_EDGE), + (v = d.fbo = s.createFramebuffer(f, f, !0, !1)), + v.colorAttachment.set(y.texture)); + } + (s.bindFramebuffer.set(v.framebuffer), + s.viewport.set([0, 0, f, f]), + e + .useProgram("hillshadePrepare") + .draw( + s, + l.TRIANGLES, + o, + a, + i, + Ya.disabled, + $Ir(d.tileID, p), + null, + null, + r.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments, + ), + (d.needsHillshadePrepare = !1)); + } +} +function z7r(e, t, n, r, o) { + if (o.currentPass !== "translucent" || !r.length) return; + let a = e.style.projection.useSubdivision, + i = e.getDepthModeForSublayer(0, Ho.ReadOnly), + s = e.colorModeForRenderPass(); + if (a) { + let [l, c, u] = e.stencilConfigForOverlapTwoPass(r); + (XNe(e, t, n, u, l, i, s, !1, o), XNe(e, t, n, u, c, i, s, !0, o)); + } else { + let [l, c] = e.getStencilConfigForOverlapAndUpdateStencilID(r); + XNe(e, t, n, c, l, i, s, !1, o); + } +} +function XNe(e, t, n, r, o, a, i, s, l) { + let c = e.style.projection, + u = e.context, + d = u.gl, + p = e.useProgram("colorRelief"), + f = !e.options.moving, + m = n.paint.get("resampling") === "nearest" ? d.NEAREST : d.LINEAR, + g = !0, + v = 0; + for (let y of r) { + let x = t.getTile(y), + A = x.dem; + if (!A?.data) continue; + if (g) { + zun ||= d.getParameter(d.MAX_TEXTURE_SIZE); + let I = zun, + { elevationTexture: k, colorTexture: L } = n.getColorRampTextures( + u, + I, + A.getUnpackVector(), + ); + (u.activeTexture.set(d.TEXTURE1), + k.bind(d.NEAREST, d.CLAMP_TO_EDGE), + u.activeTexture.set(d.TEXTURE4), + L.bind(d.LINEAR, d.CLAMP_TO_EDGE), + (g = !1), + (v = k.size[0])); + } + let w = A.stride; + (u.activeTexture.set(d.TEXTURE0), + (!x.demTexture || x.needsColorReliefPrepare) && + (u.pixelStoreUnpackPremultiplyAlpha.set(!1), + (x.demTexture ||= + e.getTileTexture(w) ?? + new cd(u, { width: w, height: w, data: null }, d.RGBA)), + x.demTexture.update(A.getPixels(), { premultiply: !1 }), + (x.needsColorReliefPrepare = !1)), + x.demTexture.bind(m, d.CLAMP_TO_EDGE)); + let C = c.getMeshFromTileID(u, y.canonical, s, !0, "raster"), + E = Ch(l, y), + T = Xf(l, y, { aligned: f }); + p.draw( + u, + d.TRIANGLES, + a, + o[y.overscaledZ], + i, + Ya.backCCW, + nTr(n, x.dem, v), + E, + T, + n.id, + C.vertexBuffer, + C.indexBuffer, + C.segments, + ); + } +} +function _7r(e, t, n, r, o) { + if ( + o.currentPass !== "translucent" || + n.paint.get("raster-opacity") === 0 || + !r.length + ) + return; + let a = t.getSource(), + i = e.style.projection.useSubdivision; + if (a instanceof ZQ) + gme( + e, + t, + n, + r, + null, + !1, + !1, + a.tileCoords, + a.imageWarp, + a.flippedWindingOrder, + o, + a.getMesh(e.context, i), + ); + else if (i) { + let [s, l, c] = e.stencilConfigForOverlapTwoPass(r); + (gme(e, t, n, c, s, !1, !0, WNe, rB, !1, o), + gme(e, t, n, c, l, !0, !0, WNe, rB, !1, o)); + } else { + let [s, l] = e.getStencilConfigForOverlapAndUpdateStencilID(r); + gme(e, t, n, l, s, !1, !0, WNe, rB, !1, o); + } +} +function gme(e, t, n, r, o, a, i, s, l, c = !1, u, d = null) { + let p = r[r.length - 1].overscaledZ, + f = e.context, + m = f.gl, + g = e.useProgram("raster"), + v = e.style.projection, + y = e.colorModeForRenderPass(), + x = !e.options.moving, + A = n.paint.get("raster-opacity"), + w = + n.paint.get("resampling") === "nearest" || + n.paint.get("raster-resampling") === "nearest" + ? m.NEAREST + : m.LINEAR, + C = n.paint.get("raster-fade-duration"), + E = !!e.style.map.terrain; + for (let T of r) { + let I = e.getDepthModeForSublayer( + T.overscaledZ - p, + A === 1 ? Ho.ReadWrite : Ho.ReadOnly, + m.LESS, + ), + k = t.getTile(T); + (f.activeTexture.set(m.TEXTURE0), + k.texture.bind(w, m.CLAMP_TO_EDGE, m.LINEAR_MIPMAP_NEAREST), + f.activeTexture.set(m.TEXTURE1)); + let { + parentTile: L, + parentScaleBy: O, + parentTopLeft: B, + fadeValues: U, + } = H7r(k, t, C, E); + ((k.fadeOpacity = U.tileOpacity), + L + ? ((L.fadeOpacity = U.parentTileOpacity), + L.texture.bind(w, m.CLAMP_TO_EDGE, m.LINEAR_MIPMAP_NEAREST)) + : k.texture.bind(w, m.CLAMP_TO_EDGE, m.LINEAR_MIPMAP_NEAREST), + k.texture.useMipmap && + f.extTextureFilterAnisotropic && + e.transform.pitch > e.options.anisotropicFilterPitch && + m.texParameterf( + m.TEXTURE_2D, + f.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT, + f.extTextureFilterAnisotropicMax, + )); + let D = Ch(u, T), + N = Xf(u, T, { aligned: x }), + _ = z8r(B, O, U.fadeMix, n, s, l), + G = d ?? v.getMeshFromTileID(f, T.canonical, a, i, "raster"), + Z = o ? o[T.overscaledZ] : ii.disabled; + g.draw( + f, + m.TRIANGLES, + I, + Z, + y, + c ? Ya.frontCCW : Ya.backCCW, + _, + D, + N, + n.id, + G.vertexBuffer, + G.indexBuffer, + G.segments, + ); + } +} +function H7r(e, t, n, r) { + let o = { + parentTile: null, + parentScaleBy: 1, + parentTopLeft: [0, 0], + fadeValues: { + tileOpacity: 1, + parentTileOpacity: 1, + fadeMix: { opacity: 1, mix: 0 }, + }, + }; + if (n === 0 || r) return o; + if (e.fadingParentID) { + let a = t.getLoadedTile(e.fadingParentID); + if (!a) return o; + let i = 2 ** (a.tileID.overscaledZ - e.tileID.overscaledZ); + return { + parentTile: a, + parentScaleBy: i, + parentTopLeft: [ + (e.tileID.canonical.x * i) % 1, + (e.tileID.canonical.y * i) % 1, + ], + fadeValues: V7r(e, a, n), + }; + } + return e.selfFading + ? { + parentTile: null, + parentScaleBy: 1, + parentTopLeft: [0, 0], + fadeValues: G7r(e, n), + } + : o; +} +function V7r(e, t, n) { + let r = vi(), + o = (r - e.timeAdded) / n, + a = (r - t.timeAdded) / n, + i = e.fadingDirection === 1, + s = qr(o, 0, 1), + l = qr(1 - a, 0, 1), + c = i ? s : l; + return { + tileOpacity: c, + parentTileOpacity: i ? l : s, + fadeMix: { opacity: 1, mix: 1 - c }, + }; +} +function G7r(e, t) { + let n = (vi() - e.timeAdded) / t, + r = qr(n, 0, 1); + return { tileOpacity: r, fadeMix: { opacity: r, mix: 0 } }; +} +function q7r(e, t, n, r, o) { + let a = n.paint.get("background-color"), + i = n.paint.get("background-opacity"); + if (i === 0) return; + let s = e.context, + l = s.gl, + c = e.style.projection, + u = e.transform, + d = u.tileSize, + p = n.paint.get("background-pattern"); + if (e.isPatternMissing(p)) return; + let f = + !p && a.a === 1 && i === 1 && e.opaquePassEnabledForLayer() + ? "opaque" + : "translucent"; + if (o.currentPass !== f) return; + let m = ii.disabled, + g = e.getDepthModeForSublayer( + 0, + f === "opaque" ? Ho.ReadWrite : Ho.ReadOnly, + ), + v = e.colorModeForRenderPass(), + y = e.useProgram(p ? "backgroundPattern" : "background"), + x = r || iB(u, { tileSize: d, terrain: e.style.map.terrain }); + p && (s.activeTexture.set(l.TEXTURE0), e.patternAtlas.bind(e.context)); + let A = n.getCrossfadeParameters(); + for (let w of x) { + let C = Xf(o, w), + E = p ? ATr(i, e, p, { tileID: w, tileSize: d }, A) : xTr(i, a), + T = Ch(o, w), + I = c.getMeshFromTileID(s, w.canonical, !1, !0, "raster"); + y.draw( + s, + l.TRIANGLES, + g, + m, + v, + Ya.backCCW, + E, + T, + C, + n.id, + I.vertexBuffer, + I.indexBuffer, + I.segments, + ); + } +} +function K7r(e) { + let t = e.transform.padding; + (_un(e, e.transform.height - (t.top || 0), 3, Z7r), + _un(e, t.bottom || 0, 3, Q7r), + Hun(e, t.left || 0, 3, X7r), + Hun(e, e.transform.width - (t.right || 0), 3, W7r)); + let n = e.transform.centerPoint; + J7r(e, n.x, e.transform.height - n.y, Y7r); +} +function J7r(e, t, n, r) { + (Pme(e, t - 1, n - 10, 2, 20, r), Pme(e, t - 10, n - 1, 20, 2, r)); +} +function _un(e, t, n, r) { + Pme(e, 0, t + n / 2, e.transform.width, n, r); +} +function Hun(e, t, n, r) { + Pme(e, t - n / 2, 0, n, e.transform.height, r); +} +function Pme(e, t, n, r, o, a) { + let i = e.context, + s = i.gl; + (s.enable(s.SCISSOR_TEST), + s.scissor( + t * e.pixelRatio, + n * e.pixelRatio, + r * e.pixelRatio, + o * e.pixelRatio, + ), + i.clear({ color: a }), + s.disable(s.SCISSOR_TEST)); +} +function j7r(e, t, n, r) { + for (let o of n) $7r(e, t, o, r); +} +function $7r(e, t, n, r) { + let o = e.context, + a = o.gl, + i = e.useProgram("debug"), + s = Ho.disabled, + l = ii.disabled, + c = e.colorModeForRenderPass(), + u = "$debug", + d = Ch(r, n); + o.activeTexture.set(a.TEXTURE0); + let p = t.getTileByID(n.key).latestRawTileData?.byteLength || 0, + f = Math.floor(p / 1024), + m = t.getTile(n).tileSize, + g = (512 / Math.min(m, 512)) * (n.overscaledZ / e.transform.zoom) * 0.5, + v = n.canonical.toString(); + (n.overscaledZ !== n.canonical.z && (v += ` => ${n.overscaledZ}`), + ekr(e, `${v} ${f}kB`)); + let y = Xf(r, n); + (i.draw( + o, + a.TRIANGLES, + s, + l, + Yl.alphaBlended, + Ya.disabled, + Mun(Kr.transparent, g), + null, + y, + u, + e.debugBuffer, + e.quadTriangleIndexBuffer, + e.debugSegments, + ), + i.draw( + o, + a.LINE_STRIP, + s, + l, + c, + Ya.disabled, + Mun(Kr.red), + d, + y, + u, + e.debugBuffer, + e.tileBorderIndexBuffer, + e.debugSegments, + )); +} +function ekr(e, t) { + e.initDebugOverlayCanvas(); + let n = e.debugOverlayCanvas, + r = e.context.gl, + o = e.debugOverlayCanvas.getContext("2d"); + (o.clearRect(0, 0, n.width, n.height), + (o.shadowColor = "white"), + (o.shadowBlur = 2), + (o.lineWidth = 1.5), + (o.strokeStyle = "white"), + (o.textBaseline = "top"), + (o.font = "bold 36px Open Sans, sans-serif"), + o.fillText(t, 5, 5), + o.strokeText(t, 5, 5), + e.debugOverlayTexture.update(n), + e.debugOverlayTexture.bind(r.LINEAR, r.CLAMP_TO_EDGE)); +} +function tkr(e, t) { + let n = null, + r = Object.values(e._layers).flatMap((s) => + s.source && !s.isHidden(t) ? [e.tileManagers[s.source]] : [], + ), + o = r.filter((s) => s.getSource().type === "vector"), + a = r.filter((s) => s.getSource().type !== "vector"), + i = (s) => { + (!n || n.getSource().maxzoom < s.getSource().maxzoom) && (n = s); + }; + for (let s of o) i(s); + if (!n) for (let s of a) i(s); + return n; +} +function nkr(e, t, n, r) { + let { isRenderingGlobe: o } = r, + a = e.context, + i = n.implementation, + s = e.style.projection, + l = e.transform, + c = l.getProjectionDataForCustomLayer(o), + u = { + farZ: l.farZ, + nearZ: l.nearZ, + fov: (l.fov * Math.PI) / 180, + modelViewProjectionMatrix: l.modelViewProjectionMatrix, + projectionMatrix: l.projectionMatrix, + shaderData: { + variantName: s.shaderVariantName, + vertexShaderPrelude: `const float PI = 3.141592653589793; uniform mat4 u_projection_matrix; -${s.shaderPreludeCode.vertexSource}`,define:s.shaderDefine},defaultProjectionData:c,getProjectionData:(p)=>l.getProjectionData({overscaledTileID:new Xp(p.tileID.canonical.z,p.tileID.wrap??0,p.tileID.canonical.z,p.tileID.canonical.x,p.tileID.canonical.y),aligned:p.aligned,applyGlobeMatrix:p.applyGlobeMatrix,applyTerrainMatrix:p.applyTerrainMatrix})},d=i.renderingMode?i.renderingMode:"2d";if(r.currentPass==="offscreen"){let p=i.prerender;p&&(e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),p.call(i,a.gl,u),a.setDirty(),e.setBaseState())}else if(r.currentPass==="translucent"){e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),a.setStencilMode(ii.disabled);let p=d==="3d"?e.getDepthModeFor3D():e.getDepthModeForSublayer(0,Ho.ReadOnly);a.setDepthMode(p),i.render(a.gl,u),a.setDirty(),e.setBaseState(),a.bindFramebuffer.set(null)}}function rkr(e,t){let n=e.context,r=n.gl,o=e.transform,a=Yl.unblended,i=new Ho(r.LEQUAL,Ho.ReadWrite,[0,1]),s=t.tileManager.getRenderableTiles(),l=e.useProgram("terrainDepth");n.bindFramebuffer.set(t.getFramebuffer().framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:Kr.white,depth:1});for(let c of s){let u=t.getTerrainMesh(c.tileID),d=t.getTerrainData(c.tileID),p=o.getProjectionData({overscaledTileID:c.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),f=CIr(t.getSkirtLength(o.zoom));l.draw(n,r.TRIANGLES,i,ii.disabled,a,Ya.backCCW,f,d,p,"terrain",u.vertexBuffer,u.indexBuffer,u.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}function okr(e,t,n,r){let{isRenderingGlobe:o}=r,a=e.context,i=a.gl,s=e.transform,l=e.colorModeForRenderPass(),c=e.getDepthModeFor3D(),u=e.useProgram("terrain");a.bindFramebuffer.set(null),a.viewport.set([0,0,e.width,e.height]);for(let d of n){let p=t.getTerrainMesh(d.tileID),f=e.renderToTexture.getTexture(d),m=t.getTerrainData(d.tileID);a.activeTexture.set(i.TEXTURE0),f.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_LINEAR);let g=t.getSkirtLength(s.zoom),v=s.calculateFogMatrix(d.tileID.toUnwrapped()),y=SIr(g,v,e.style.sky,s.pitch,o),x=Xf(r,d.tileID,{applyTerrainMatrix:!1});u.draw(a,i.TRIANGLES,c,ii.disabled,l,Ya.backCCW,y,m,x,"terrain",p.vertexBuffer,p.indexBuffer,p.segments)}}function Ydn(e,t){if(!t.mesh){let n=new Lw;n.emplaceBack(-1,-1),n.emplaceBack(1,-1),n.emplaceBack(1,1),n.emplaceBack(-1,1);let r=new xv;r.emplaceBack(0,1,2),r.emplaceBack(0,2,3),t.mesh=new qQ(e.createVertexBuffer(n,o7.members),e.createIndexBuffer(r),Vs.simpleSegment(0,0,n.length,r.length))}return t.mesh}function akr(e,t){let n=e.context,r=n.gl,o=ETr(t,e.transform,e.pixelRatio),a=new Ho(r.LEQUAL,Ho.ReadWrite,[0,1]),i=ii.disabled,s=e.colorModeForRenderPass(),l=e.useProgram("sky"),c=Ydn(n,t);l.draw(n,r.TRIANGLES,a,i,s,Ya.disabled,o,null,void 0,"sky",c.vertexBuffer,c.indexBuffer,c.segments)}function ikr(e,t){let n=e.getCartesianPosition();nin(n,n);let r=Oy(new Float64Array(16));return e.properties.get("anchor")==="map"&&(Rw(r,r,t.rollInRadians),XT(r,r,-t.pitchInRadians),Rw(r,r,t.bearingInRadians),XT(r,r,t.center.lat*Math.PI/180),dUe(r,r,-t.center.lng*Math.PI/180)),rin(n,n,r),n}function skr(e,t,n){let r=e.context,o=r.gl,a=e.useProgram("atmosphere"),i=new Ho(o.LEQUAL,Ho.ReadOnly,[0,1]),s=e.transform,l=ikr(n,e.transform),c=s.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),u=aB(s.worldSize,s.center.lat),d=Edn(s),p=Idn(Fy(d)-u,u),f=t.properties.get("atmosphere-blend")*c.projectionTransition*p;if(f===0)return;let m=STr(l,f,d,u,s.inverseProjectionMatrix),g=Ydn(r,t);a.draw(r,o.TRIANGLES,i,ii.disabled,Yl.alphaBlended,Ya.disabled,m,null,null,"atmosphere",g.vertexBuffer,g.indexBuffer,g.segments)}function Eze(e,t){let n=!1,r=null,o,a=()=>{r=null,n&&=(e(...o),r=setTimeout(a,t),!1)};return(...i)=>(n=!0,o=i,r||a(),r)}function HQ(e,t){(!e.duration||e.duration({around:r,panDelta:r.sub(n)}),activateOnStart:!0,moveStateManager:new Bme({checkCorrectEvent:(n)=>n.button===0&&!n.ctrlKey}),enable:e,assignEvents:Ome})}function Tkr({enable:e,clickTolerance:t,aroundCenter:n=!0,minPixelCenterThreshold:r=100,rotateSpeed:o=0.8},a){return new Lme({clickTolerance:t,move:(i,s)=>{let l=a();if(n&&Math.abs(l.y-i.y)>r)return{bearingDelta:win(new ft(i.x,s.y),s,l)};let c=(s.x-i.x)*o;return n&&s.yi.button===0&&i.ctrlKey||i.button===2&&!i.ctrlKey}),enable:e,assignEvents:Ome})}function kkr({enable:e,clickTolerance:t,pitchSpeed:n=-0.5}){return new Lme({clickTolerance:t,move:(r,o)=>({pitchDelta:(o.y-r.y)*n}),moveStateManager:new Bme({checkCorrectEvent:(r)=>r.button===0&&r.ctrlKey||r.button===2}),enable:e,assignEvents:Ome})}function Rkr({enable:e,clickTolerance:t,rollDegreesPerPixelMoved:n=0.3},r){return new Lme({clickTolerance:t,move:(o,a)=>{let i=r(),s=(a.x-o.x)*n;return a.yo.button===2&&o.ctrlKey}),enable:e,assignEvents:Ome})}function yme(e,t,n){for(let r=0;rMath.abs(e.x)}function Fkr(e){return e*(2-e)}function KNe(e){return e.panDelta?.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta||e.rollDelta}function rRr(e,t,n,r=!1){if(r||!n.getCoveringTilesDetailsProvider().allowWorldCopies())return e?.wrap();let o=new pr(e.lng,e.lat);if(e=new pr(e.lng,e.lat),t){let a=new pr(e.lng-360,e.lat),i=new pr(e.lng+360,e.lat),s=n.locationToScreenPoint(e).distSqr(t);n.locationToScreenPoint(a).distSqr(t)180;){let a=n.locationToScreenPoint(e);if(a.x>=0&&a.y>=0&&a.x<=n.width&&a.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e.lng!==o.lng&&n.isPointOnMapSurface(n.locationToScreenPoint(e))?e:o}function oRr(e,t,n){let r=e.classList;for(let o in Jdn)r.remove(`maplibregl-${n}-anchor-${o}`);r.add(`maplibregl-${n}-anchor-${t}`)}function Ny(e,t,n=[]){let r=Cl.createNS("http://www.w3.org/2000/svg",e);for(let o in t)r.setAttributeNS(null,o,t[o]);for(let o of n)r.appendChild(o);return r}function aRr(){return JNe||(JNe=Ny("svg",{display:"block",height:"41px",width:"27px",viewBox:"0 0 27 41"},[Ny("g",{"fill-rule":"nonzero"},[Ny("g",{transform:"translate(3.0, 29.0)",fill:"#000000"},[["10.5","5.25002273"],["10.5","5.25002273"],["9.5","4.77275007"],["8.5","4.29549936"],["7.5","3.81822308"],["6.5","3.34094679"],["5.5","2.86367051"],["4.5","2.38636864"]].map(([e,t])=>Ny("ellipse",{opacity:"0.04",cx:"10.5",cy:"5.80029008",rx:e,ry:t}))),Ny("g",{fill:jdn},[Ny("path",{d:"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"})]),Ny("g",{opacity:"0.25",fill:"#000000"},[Ny("path",{d:"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"})]),Ny("g",{transform:"translate(6.0, 7.0)",fill:"#FFFFFF"}),Ny("g",{transform:"translate(8.0, 8.0)"},[Ny("circle",{fill:"#000000",opacity:"0.25",cx:"5.5",cy:"5.5",r:"5.4999962"}),Ny("circle",{fill:"#FFFFFF",cx:"5.5",cy:"5.5",r:"5.4999962"})])])]),JNe)}function iRr(e){return e.firstElementChild.children[1]}var E5r="6.11.2",MNe,Bcn,DNe,M0,R5r,P5r,M5r,D5r,L5r,Ocn,Cl,Xx,B5r=class{constructor(e){this._transformRequestFn=e??null}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}},Yp,hr,Fcn,wv,Gs,t1,ame,O5r,Ucn,F5r,U5r,BNe,N5r,W5r,Y5r=class{constructor(e){this._imageManager=e,this._entries={},this._image=new ss({width:1,height:1}),this._dirty=!0}destroy(){this._texture&&=(this._texture.destroy(),null),this._entries={},this._image=new ss({width:1,height:1}),this._dirty=!0}getPixelSize(){let{width:e,height:t}=this._image;return{width:e,height:t}}getPattern(e){let t=this._imageManager.getImage(e);if(!t)return null;let n=this._entries[e];if(n?.image!==t){let r={w:t.data.width+2,h:t.data.height+2,x:0,y:0};this._entries[e]={bin:r,position:new $fe(r,t),image:t}}else if(n.position.version!==t.version)n.position.version=t.version;else return n.position;return this._update(),this._entries[e].position}bind(e){let t=e.gl;this._texture?this._dirty&&=(this._texture.update(this._image),!1):(this._texture=new cd(e,this._image,t.RGBA),this._dirty=!1),this._texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_update(){for(let o in this._entries)this._imageManager.getImage(o)||delete this._entries[o];let e=[];for(let o in this._entries)e.push(this._entries[o].bin);let{w:t,h:n}=lNe(e),r=this._image;r.resize({width:t||1,height:n||1});for(let o in this._entries){let{bin:a}=this._entries[o],i=a.x+1,s=a.y+1,l=this._entries[o].image.data,{width:c,height:u}=l;ss.copy(l,r,{x:0,y:0},{x:i,y:s},{width:c,height:u}),ss.copy(l,r,{x:0,y:u-1},{x:i,y:s-1},{width:c,height:1}),ss.copy(l,r,{x:0,y:0},{x:i,y:s+u},{width:c,height:1}),ss.copy(l,r,{x:c-1,y:0},{x:i-1,y:s},{width:1,height:u}),ss.copy(l,r,{x:0,y:0},{x:i+c,y:s},{width:1,height:u})}this._dirty=!0}},jNe=1114111,K5r,J5r=0,e8r=class{constructor(e){this.requestManager=e,this._faces={},this._registered=new Set}setFontFaces(e){this._unregisterAll(),this._faces={};for(let[t,n]of Object.entries(e??{})){let r=Array.isArray(n)?n:[n];this._faces[t]=r.map((o)=>this._declareFontFace(t,o)).filter((o)=>o!==null)}}hasFontFaces(){return Object.keys(this._faces).length>0}async getFontFamily(e,t){for(let n of e.split(","))for(let r of this._faces[n.trim()]??[])if($5r(r,t)&&(r.loaded??=this._loadFontFace(r),await r.loaded))return r.family;return null}_declareFontFace(e,t){let n=typeof t=="string"?{url:t}:t;if(typeof n?.url!="string")return Ko(`Ignoring the font face declared for "${e}": it has no URL.`),null;let r=`maplibre-gl-font-face-${J5r++}`,o=n["unicode-range"];if(!o?.length)return{url:n.url,ranges:[K5r],family:r};let a=[];for(let i of o){let s=j5r(i);if(!s){Ko(`Ignoring the unicode range "${i}" of the font face at ${n.url}: it is not a valid range.`);continue}a.push(s)}return a.length?{url:n.url,ranges:a,family:r}:null}async _loadFontFace(e){if(typeof FontFace>"u"||typeof document>"u"||!document.fonts)return Ko(`Ignoring the font face at ${e.url}: this environment has no CSS Font Loading API.`),!1;let t;try{return t=new FontFace(e.family,await this._downloadFontFile(e.url)),Object.values(this._faces).some((n)=>n.includes(e))?(document.fonts.add(t),this._registered.add(t),await t.load(),!0):!1}catch(n){return t&&this._unregister(t),Ko(`Ignoring the font face at ${e.url}: ${Vp(n).message}`),!1}}async _downloadFontFile(e){let t=await this.requestManager.transformRequest(e,"Glyphs"),n=await wUe(t,new AbortController);if(!n?.data)throw Error(`the response was empty for the font file at ${e}`);return n.data}_unregister(e){document.fonts?.delete(e),this._registered.delete(e)}_unregisterAll(){for(let e of this._registered)document.fonts?.delete(e);this._registered.clear()}destroy(){this._unregisterAll(),this._faces={}}},$Ne=100000000000000000000,uze,t8r=class{constructor({fontSize:e=24,buffer:t=3,radius:n=8,cutoff:r=0.25,fontFamily:o="sans-serif",fontWeight:a="normal",fontStyle:i="normal",lang:s=null}={}){this.buffer=t,this.radius=n,this.cutoff=r,this.lang=s;let l=this.size=e+t*4,c=this._createCanvas(l),u=this.ctx=c.getContext("2d",{willReadFrequently:!0});u.font=`${i} ${a} ${e}px ${o}`,u.textBaseline="alphabetic",u.textAlign="left",u.fillStyle="black",this.gridOuter=new Float64Array(l*l),this.gridInner=new Float64Array(l*l),this.f=new Float64Array(l),this.z=new Float64Array(l+1),this.v=new Uint16Array(l)}_createCanvas(e){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(e,e);let t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:r,actualBoundingBoxLeft:o,actualBoundingBoxRight:a}=this.ctx.measureText(e),i=Math.ceil(n),s=Math.floor(-o),l=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a)-s)),c=Math.max(0,Math.min(this.size-this.buffer,i+Math.ceil(r))),u=l+2*this.buffer,d=c+2*this.buffer,p=Math.max(u*d,0),f=new Uint8ClampedArray(p),m={data:f,width:u,height:d,glyphWidth:l,glyphHeight:c,glyphTop:i,glyphLeft:s,glyphAdvance:t};if(l===0||c===0)return m;let{ctx:g,buffer:v,gridInner:y,gridOuter:x}=this;this.lang&&(g.lang=this.lang),g.clearRect(v,v,l,c),g.fillText(e,v-s,v+i);let A=g.getImageData(v,v,l,c);x.fill($Ne,0,p),y.fill(0,0,p);let w=3;for(let I=0;I{let n=new t8r(e);return n.buffer=t,n},o8r=class{constructor(e,t,n,r=r8r){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={},this.lang=n,this.fontFaceManager=new e8r(e),this.createRasterizer=r}setURL(e){this.url=e}setFontFaces(e){this.fontFaceManager.setFontFaces(e),this.entries={}}async getGlyphs(e){let t=[];for(let o in e)for(let a in e[o])for(let i of e[o][a])t.push(this._getAndCacheGlyphsPromise(o,i,a));let n=await Promise.all(t),r={};for(let{stack:o,id:a,variant:i,glyph:s}of n)r[o]||={},r[o][i]||={},r[o][i][a]=s&&{id:s.id,bitmap:s.bitmap.clone(),metrics:s.metrics};return r}async _getAndCacheGlyphsPromise(e,t,n){this.entries[e]??={glyphs:{default:{}},requests:{},ranges:{}};let r=this.entries[e],o=r.glyphs[n]||={},a=o[t];if(a!==void 0)return{stack:e,id:t,variant:n,glyph:a};if(n!=="default")return o[t]=null,{stack:e,id:t,variant:n,glyph:null};let i=t.codePointAt(0),s=this.fontFaceManager.hasFontFaces()?await this.fontFaceManager.getFontFamily(e,i):null;return s?(a=o[t]=await this._drawGlyph(r,e,t,s),{stack:e,id:t,variant:n,glyph:a}):!this.url||IQ(t)||this._charUsesLocalIdeographFontFamily(i)?(a=o[t]=await this._drawGlyph(r,e,t),{stack:e,id:t,variant:n,glyph:a}):{...await this._downloadAndCacheRangePromise(e,t),variant:n}}async _downloadAndCacheRangePromise(e,t){let n=t.codePointAt(0),r=this.entries[e],o=Math.floor(n/256);if(r.ranges[o])return{stack:e,id:t,glyph:null};r.requests[o]||=this._loadGlyphRange(e,o);try{let a=await r.requests[o];for(let i in a)r.glyphs.default[String.fromCodePoint(+i)]=a[+i];return r.ranges[o]=!0,{stack:e,id:t,glyph:a[n]||null}}catch(a){let i=r.glyphs.default[t]=await this._drawGlyph(r,e,t);return this._warnOnMissingGlyphRange(i,o,n,Vp(a)),{stack:e,id:t,glyph:i}}}async _loadGlyphRange(e,t){let n=t*256,r=n+255,o=await this.requestManager.transformRequest(this.url.replace("{fontstack}",e).replace("{range}",`${n}-${r}`),"Glyphs"),a=await wUe(o,new AbortController);if(!a?.data)throw Error(`Could not load glyph range. range: ${t}, ${n}-${r}`);let i={};for(let s of Oln(a.data))i[s.id]=s;return i}_warnOnMissingGlyphRange(e,t,n,r){let o=t*256,a=o+255,i=n.toString(16).padStart(4,"0").toUpperCase();Ko(`Unable to load glyph range ${t}, ${o}-${a}. Rendering codepoint U+${i} locally instead. ${r}`)}_charUsesLocalIdeographFontFamily(e){return!!this.localIdeographFontFamily&&Iln(e)}async _drawGlyph(e,t,n,r){let o=(await this._getTinySDF(e,t,n,r)).draw(n),a=/^\p{gc=Cf}+$/u.test(n);return{id:n.codePointAt(0),bitmap:new Xfe({width:o.width||60,height:o.height||60},o.data),metrics:{width:a?0:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+0.5||0,top:o.glyphTop/2-27.5||-8,advance:a?0:o.glyphAdvance/2||24,isDoubleResolution:!0}}}_getTinySDF(e,t,n,r){let o=IQ(n);if(r){let l=o?"clusterTinySDFs":"fontFaceTinySDFs";return e[l]??={},e[l][r]||=this._createTinySDF(r,!1,o?3:1),e[l][r]}let a=t===n8r&&this.localIdeographFontFamily!==""&&this._charUsesLocalIdeographFontFamily(n.codePointAt(0)),i=a?this.localIdeographFontFamily:t;if(o)return e.clusterTinySDFs??={},e.clusterTinySDFs[i]||=this._createTinySDF(i,!0,3),e.clusterTinySDFs[i];let s=a?"ideographTinySDF":"tinySDF";return e[s]||=this._createTinySDF(i),e[s]}async _createTinySDF(e,t=!0,n=1){let r=e?e.split(","):[];r.push("sans-serif");let o=r.map((s)=>/[-\w]+/.test(s)?s:`'${CSS.escape(s)}'`).join(","),a=t?this._fontWeight(r[0]):void 0,i=t?this._fontStyle(r[0]):"normal";if(typeof document<"u"&&document.fonts?.load)try{await document.fonts.load(`${i} ${a||"normal"} 48px ${o}`)}catch(s){Ko(`Failed to load font "${o}": ${Vp(s).message}`)}return this.createRasterizer({fontSize:48,buffer:Math.max(6,Math.ceil(48*(n-1)/4)),radius:16,cutoff:0.25,fontFamily:o,fontWeight:a,fontStyle:i,lang:this.lang},6)}_fontStyle(e){return/italic/i.test(e)?"italic":/oblique/i.test(e)?"oblique":"normal"}_fontWeight(e){let t={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950},n;for(let[r,o]of Object.entries(t))RegExp(`\\b${r}\\b`,"i").test(e)&&(n=`${o}`);return n}destroy(){for(let e in this.entries){let t=this.entries[e];t.tinySDF=null,t.ideographTinySDF=null,t.fontFaceTinySDFs={},t.glyphs={default:{}},t.requests={},t.ranges={}}this.entries={},this.fontFaceManager.destroy()}},a8r,i8r=()=>a8r||=new np({anchor:new Mn(bt.light.anchor,"anchor"),position:new Mn(bt.light.position,"position"),color:new Mn(bt.light.color,"color"),intensity:new Mn(bt.light.intensity,"intensity")}),s8r,l8r,c8r=()=>l8r||=new np({"sky-color":new Mn(bt.sky["sky-color"],"sky-color"),"horizon-color":new Mn(bt.sky["horizon-color"],"horizon-color"),"fog-color":new Mn(bt.sky["fog-color"],"fog-color"),"fog-ground-blend":new Mn(bt.sky["fog-ground-blend"],"fog-ground-blend"),"horizon-fog-blend":new Mn(bt.sky["horizon-fog-blend"],"horizon-fog-blend"),"sky-horizon-blend":new Mn(bt.sky["sky-horizon-blend"],"sky-horizon-blend"),"atmosphere-blend":new Mn(bt.sky["atmosphere-blend"],"atmosphere-blend")}),u8r,d8r=class{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(e,t){let n=e.join(",")+String(t);return this.dashEntry[n]||=this.addDash(e,t),this.dashEntry[n]}getDashRanges(e,t,n){let r=e.length%2==1,o=[],a=r?-e[e.length-1]*n:0,i=e[0]*n,s=!0;o.push({left:a,right:i,isDash:s,zeroLength:e[0]===0});let l=e[0];for(let c=1;c1&&(l=e[++s]);let u=Math.abs(c-l.left),d=Math.abs(c-l.right),p=Math.min(u,d),f,m=o/n*(r+1);if(l.isDash){let g=r-Math.abs(m);f=Math.sqrt(p*p+g*g)}else f=r-Math.sqrt(p*p+m*m);this.data[i+c]=Math.max(0,Math.min(255,f+128))}}}addRegularDash(e){for(let i=e.length-1;i>=0;--i){let s=e[i],l=e[i+1];s.zeroLength?e.splice(i,1):l?.isDash===s.isDash&&(l.left=s.left,e.splice(i,1))}let t=e[0],n=e[e.length-1];t.isDash===n.isDash&&(t.left=n.left-this.width,n.right=t.right+this.width);let r=this.width*this.nextRow,o=0,a=e[o];for(let i=0;i1&&(a=e[++o]);let s=Math.abs(i-a.left),l=Math.abs(i-a.right),c=Math.min(s,l),u=a.isDash?c:-c;this.data[r+i]=Math.max(0,Math.min(255,u+128))}}addDash(e,t){let n=t?7:0,r=2*n+1;if(this.nextRow+r>this.height)return Ko("LineAtlas out of space"),null;let o=0;for(let i of e)o+=i;if(o!==0){let i=this.width/o,s=this.getDashRanges(e,this.width,i);t?this.addRoundDash(s,i,n):this.addRegularDash(s)}let a={y:this.nextRow+n,height:2*n,width:o};return this.nextRow+=r,this.dirty=!0,a}bind(e){let t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))}},y8r="maplibre_preloaded_worker_pool",jun=class e{constructor(){this.active={},this.workersPromise=null}async acquire(t){if(this.active[t]=!0,!this.workersPromise){let n=[];for(;n.length{for(let o of r)o.terminate()})}}isPreloaded(){return!!this.active[y8r]}numActive(){return Object.keys(this.active).length}},v8r,Qcn,edn,sme,Fw=class e{constructor(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):Array.isArray(t)&&(t.length===4?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])))}setNorthEast(t){return this._ne=t instanceof pr?new pr(t.lng,t.lat):pr.convert(t),this}setSouthWest(t){return this._sw=t instanceof pr?new pr(t.lng,t.lat):pr.convert(t),this}extend(t){let n=this._sw,r=this._ne,o,a;if(t instanceof pr)o=t,a=t;else if(t instanceof e){if(o=t._sw,a=t._ne,!o||!a)return this}else{if(Array.isArray(t)){if(t.length===4||t.every(Array.isArray)){let i=t;return this.extend(e.convert(i))}{let i=t;return this.extend(pr.convert(i))}}return t&&(("lng"in t)||("lon"in t))&&"lat"in t?this.extend(pr.convert(t)):this}return!n&&!r?(this._sw=new pr(o.lng,o.lat),this._ne=new pr(a.lng,a.lat)):(n.lng=Math.min(o.lng,n.lng),n.lat=Math.min(o.lat,n.lat),r.lng=Math.max(a.lng,r.lng),r.lat=Math.max(a.lat,r.lat)),this}getCenter(){return new pr((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new pr(this.getWest(),this.getNorth())}getSouthEast(){return new pr(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){let{lng:n,lat:r}=pr.convert(t),o=this._sw.lat<=r&&r<=this._ne.lat,a=this._sw.lng<=n&&n<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=n&&n>=this._ne.lng),o&&a}intersects(t){if(t=e.convert(t),!(t.getNorth()>=this.getSouth()&&t.getSouth()<=this.getNorth()))return!1;let n=Math.abs(this.getEast()-this.getWest()),r=Math.abs(t.getEast()-t.getWest());if(n>=360||r>=360)return!0;let o=jg(this.getWest(),-180,180),a=jg(this.getEast(),-180,180),i=jg(t.getWest(),-180,180),s=jg(t.getEast(),-180,180),l=o>a,c=i>s;return l&&c?!0:l?s>=o||i<=a:c?a>=i||o<=s:i<=a&&s>=o}static convert(t){return t instanceof e||!t?t:new e(t)}static fromLngLat(t,n=0){let r=360*n/40075017,o=r/Math.cos(Math.PI/180*t.lat);return new e(new pr(t.lng-o,t.lat-r),new pr(t.lng+o,t.lat+r))}adjustAntiMeridian(){let t=new pr(this._sw.lng,this._sw.lat),n=new pr(this._ne.lng,this._ne.lat);return t.lng>n.lng?new e(t,new pr(n.lng+360,n.lat)):new e(t,n)}},odn=class{constructor(e,t,n){this.bounds=Fw.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=n||24}validateBounds(e){return!Array.isArray(e)||e.length!==4?[-180,-90,180,90]:[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]}contains(e){let t=2**e.z,n={minX:Math.floor($T(this.bounds.getWest())*t),minY:Math.floor(e7(this.bounds.getNorth())*t),maxX:Math.ceil($T(this.bounds.getEast())*t),maxY:Math.ceil(e7(this.bounds.getSouth())*t)};return e.x>=n.minX&&e.x=n.minY&&e.y({u_tl_parent:new Ao(e,t.u_tl_parent),u_scale_parent:new Un(e,t.u_scale_parent),u_buffer_scale:new Un(e,t.u_buffer_scale),u_image_warp:new Rm(e,t.u_image_warp),u_fade_t:new Un(e,t.u_fade_t),u_opacity:new Un(e,t.u_opacity),u_image0:new ar(e,t.u_image0),u_image1:new ar(e,t.u_image1),u_brightness_low:new Un(e,t.u_brightness_low),u_brightness_high:new Un(e,t.u_brightness_high),u_saturation_factor:new Un(e,t.u_saturation_factor),u_contrast_factor:new Un(e,t.u_contrast_factor),u_spin_weights:new Rm(e,t.u_spin_weights),u_coords_top:new YL(e,t.u_coords_top),u_coords_bottom:new YL(e,t.u_coords_bottom)}),z8r=(e,t,n,r,o,a)=>({u_tl_parent:e,u_scale_parent:t,u_buffer_scale:1,u_image_warp:a,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get("raster-brightness-min"),u_brightness_high:r.paint.get("raster-brightness-max"),u_saturation_factor:V8r(r.paint.get("raster-saturation")),u_contrast_factor:H8r(r.paint.get("raster-contrast")),u_spin_weights:_8r(r.paint.get("raster-hue-rotate")),u_coords_top:[o[0].x,o[0].y,o[1].x,o[1].y],u_coords_bottom:[o[3].x,o[3].y,o[2].x,o[2].y]}),qQ=class{constructor(e,t,n){this.vertexBuffer=e,this.indexBuffer=t,this.segments=n}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}},o7,lme,ZQ,W8r,Y8r,K8r,J8r=(e,t,n,r)=>{let o=new(j8r(t.type))(e,t,n,r);if(o.id!==e)throw Error(`Expected Source id to be ${e} instead of ${o.id}`);return o},j8r=(e)=>{switch(e){case"geojson":return U8r;case"image":return ZQ;case"raster":return adn;case"raster-dem":return R8r;case"vector":return k8r;case"video":return W8r;case"canvas":return Y8r}return K8r[e]},eze="RTLPluginLoaded",eEr,Ycn=null,cdn=class{constructor(e,t){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=e,this.uid=yUe(),this.uses=0,this.tileSize=t,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rttObjects=[],this.rttFingerprint={},this.expiredRequestCount=0,this.state="loading",this.featureStateRevision=-1}isRenderable(e){return this.hasData()&&(!this.fadeEndTime||this.fadingDirection!==0||this.fadeOpacity>0)&&(e||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:e,fadingDirection:t,fadingParentID:n,fadeEndTime:r}){this.resetFadeLogic(),this.fadingRole=e,this.fadingDirection=t,this.fadingParentID=n,this.fadeEndTime=r}setSelfFadeLogic(e){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=e}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=vi(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state==="errored"||this.state==="loaded"||this.state==="reloading"}clearTextures(e){this.demTexture&&e.saveTileTexture(this.demTexture),this.demTexture=null}getRTT(e){return this.rttObjects[e]}acquireRTT(e,t,n){return this.rttObjects[t]=e.acquireRTT(n)}releaseRTT(e){if(this.rttObjects.length!==0){for(let t of this.rttObjects)t&&e.releaseRTT(t);this.rttObjects.length=0}}loadVectorData(e,t,n){if(e?.etagUnmodified===!0){this.state="loaded";return}if(this.hasData()&&this.unloadVectorData(),this.state="loaded",!e){this.collisionBoxArray=new ZUe;return}e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestEncoding=e.encoding,this.latestFeatureIndex.rawTileData=e.rawTileData,this.latestFeatureIndex.encoding=e.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=$8r(e.buckets,t?.style),this.hasSymbolBuckets=!1;for(let r in this.buckets){let o=this.buckets[r];if(o instanceof MQ)if(this.hasSymbolBuckets=!0,n)o.justReloaded=!0;else break}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let r in this.buckets){let o=this.buckets[r];if(o instanceof MQ&&o.hasRTLText){this.hasRTLText=!0,tze().lazyLoad();break}}this.queryPadding=0;for(let r in this.buckets){let o=this.buckets[r];this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(r).queryRadius(o))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage),this.dashPositions=e.dashPositions}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.imageAtlas=null,this.dashPositions=null,this.latestFeatureIndex=null,this.state="unloaded"}getBucket(e){return this.buckets[e.id]}upload(e){for(let n in this.buckets){let r=this.buckets[n];r.uploadPending()&&r.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new cd(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&=(this.glyphAtlasTexture=new cd(e,this.glyphAtlasImage,t.ALPHA),null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,n,r,o,a,i,s,l,c,u){return this.latestFeatureIndex?.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:o,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:i,queryPadding:this.queryPadding*l,getElevation:u},e,t,n):{}}querySourceFeatures(e,t){let n=this.latestFeatureIndex;if(!n?.rawTileData)return;let r=n.loadVTLayers(),o=t?.sourceLayer?t.sourceLayer:"",a=r._geojsonTileLayer||r[o];if(!a)return;let i=zL(t?.filter,`querySourceFeatures[${o}].filter`,t?.globalState),{z:s,x:l,y:c}=this.tileID.canonical,u={z:s,x:l,y:c};for(let d=0;dn)r=!1;else if(!t)r=!0;else if(this.expirationTimethis.max[0]||t.aabb.min[1]>this.max[1]||t.aabb.min[2]>this.max[2]||t.aabb.max[0]0?(n+=t[o]*this.min[o],r+=t[o]*this.max[o]):(r+=t[o]*this.min[o],n+=t[o]*this.max[o]);return n>=0?2:r<0?0:1}},pze=class e{constructor(t,n,r){this.points=t,this.planes=n,this.aabb=r}static fromInvProjectionMatrix(t,n=1,r=0,o,a){let i=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],s=a?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],l=2**r,c=i.map((f)=>nEr(f,t,n,l));o&&rEr(c,s[0],o,a);let u=s.map((f)=>{let m=Gx([],c[f[0]],c[f[1]]),g=Gx([],c[f[2]],c[f[1]]),v=Tm([],wh([],m,g)),y=-bc(v,c[f[1]]);return v.concat(y)}),d=[1/0,1/0,1/0],p=[-1/0,-1/0,-1/0];for(let f of c)for(let m=0;m<3;m++)d[m]=Math.min(d[m],f[m]),p[m]=Math.max(p[m],f[m]);return new e(c,u,new dze(d,p))}},sEr,tun=class{constructor(){this._tiles={}}handleWrapJump(e){let t={};for(let n in this._tiles){let r=this._tiles[n];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t}setFeatureState(e,t,n){for(let r in this._tiles)this._tiles[r].setFeatureState(e,t,n)}getAllTiles(){return Object.values(this._tiles)}getAllIds(e=!1){return e?Object.values(this._tiles).map((t)=>t.tileID).sort(fNe).map((t)=>t.key):Object.keys(this._tiles)}getTileById(e){return this._tiles[e]}setTile(e,t){this._tiles[e]=t}deleteTileById(e){delete this._tiles[e]}getLoadedTile(e){let t=this.getTileById(e.key);return t?.hasData()?t:null}isIdRenderable(e,t=!1){return this.getTileById(e)?.isRenderable(t)}getRenderableIds(e=0,t){let n=[];for(let r of this.getAllIds())this.isIdRenderable(r,t)&&n.push(this.getTileById(r));return t?n.sort((r,o)=>{let a=r.tileID,i=o.tileID,s=new ft(a.canonical.x,a.canonical.y)._rotate(-e),l=new ft(i.canonical.x,i.canonical.y)._rotate(-e);return a.overscaledZ-i.overscaledZ||l.y-s.y||l.x-s.x}).map((r)=>r.tileID.key):n.map((r)=>r.tileID).sort(fNe).map((r)=>r.key)}},rze,yEr=class{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let n=1;n0?(r-a)/i:0;return this.points[o].mult(1-s).add(this.points[t].mult(s))}},nun=class{constructor(e,t,n){let r=this.boxCells=[],o=this.circleCells=[];this.xCellCount=Math.ceil(e/n),this.yCellCount=Math.ceil(t/n);for(let a=0;athis.width||r<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=n&&this.height<=r){if(o)return[{key:null,x1:e,y1:t,x2:n,y2:r}];for(let l=0;l0}hitTestCircle(e,t,n,r,o){let a=e-n,i=e+n,s=t-n,l=t+n;if(i<0||a>this.width||l<0||s>this.height)return!1;let c=[],u={hitTest:!0,overlapMode:r,circle:{x:e,y:t,radius:n},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,i,l,this._queryCellCircle,c,u,o),c.length>0}_queryCell(e,t,n,r,o,a,i,s){let{seenUids:l,hitTest:c,overlapMode:u}=i,d=this.boxCells[o],p=0.000001;if(d!==null){let m=this.bboxes;for(let g of d)if(!l.box[g]){l.box[g]=!0;let v=g*4,y=this.boxKeys[g];if(e<=m[v+2]+p&&t<=m[v+3]+p&&n>=m[v+0]-p&&r>=m[v+1]-p&&(!s||s(y))&&(!c||!cme(u,y.overlapMode))&&(a.push({key:y,x1:m[v],y1:m[v+1],x2:m[v+2],y2:m[v+3]}),c))return!0}}let f=this.circleCells[o];if(f!==null){let m=this.circles;for(let g of f)if(!l.circle[g]){l.circle[g]=!0;let v=g*3,y=this.circleKeys[g];if(this._circleAndRectCollide(m[v],m[v+1],m[v+2],e,t,n,r)&&(!s||s(y))&&(!c||!cme(u,y.overlapMode))){let x=m[v],A=m[v+1],w=m[v+2];if(a.push({key:y,x1:x-w,y1:A-w,x2:x+w,y2:A+w}),c)return!0}}}return!1}_queryCellCircle(e,t,n,r,o,a,i,s){let{circle:l,seenUids:c,overlapMode:u}=i,d=this.boxCells[o];if(d!==null){let f=this.bboxes;for(let m of d)if(!c.box[m]){c.box[m]=!0;let g=m*4,v=this.boxKeys[m];if(this._circleAndRectCollide(l.x,l.y,l.radius,f[g+0],f[g+1],f[g+2],f[g+3])&&(!s||s(v))&&!cme(u,v.overlapMode))return a.push(!0),!0}}let p=this.circleCells[o];if(p!==null){let f=this.circles;for(let m of p)if(!c.circle[m]){c.circle[m]=!0;let g=m*3,v=this.circleKeys[m];if(this._circlesCollide(f[g],f[g+1],f[g+2],l.x,l.y,l.radius)&&(!s||s(v))&&!cme(u,v.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,n,r,o,a,i,s){let l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),u=this._convertToXCellCoord(n),d=this._convertToYCellCoord(r);for(let p=l;p<=u;p++)for(let f=c;f<=d;f++){let m=this.xCellCount*f+p;if(o.call(this,e,t,n,r,m,a,i,s))return}}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,n,r,o,a){let i=r-e,s=o-t,l=n+a;return l*l>i*i+s*s}_circleAndRectCollide(e,t,n,r,o,a,i){let s=(a-r)/2,l=Math.abs(e-(r+s));if(l>s+n)return!1;let c=(i-o)/2,u=Math.abs(t-(o+c));if(u>c+n)return!1;if(l<=s||u<=c)return!0;let d=l-s,p=u-c;return d*d+p*p<=n*n}},AEr,IEr,REr=class{constructor(e,t=new nun(e.width+200,e.height+200,25),n=new nun(e.width+200,e.height+200,25)){this.transform=e,this.grid=t,this.ignoredGrid=n,this.pitchFactor=Math.cos(e.pitch*Math.PI/180)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+100,this.screenBottomBoundary=e.height+100,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.perspectiveRatioCutoff=0.6}placeCollisionBox(e,t,n,r,o,a,i,s,l,c,u,d,p=0,f=!0){let m=e.anchorPointX+s[0],g=e.anchorPointY+s[1],v=this.projectAndGetPerspectiveRatio(m,g,o,Ame(c,m,g,p,f),d),y=n*v.perspectiveRatio,x;if(!a&&!i){let k=v.x+(u?u.x*y:0),L=v.y+(u?u.y*y:0);x={allPointsOccluded:!1,box:[k+e.x1*y,L+e.y1*y,k+e.x2*y,L+e.y2*y]}}else x=this._projectCollisionBox(e,y,r,o,a,i,s,v,c,u,d,p,f);let[A,w,C,E]=x.box,T=a?x.allPointsOccluded:v.isOccluded,I=T;return I||=v.perspectiveRatio=1;q--)_.push(D.path[q]);for(let q=1;qH.signedDistanceFromCamera<=0)?[]:q.map((H)=>H.point)}let Z=[];if(_.length>0){let q=_[0].clone(),H=_[0].clone();for(let te=1;te<_.length;te++)q.x=Math.min(q.x,_[te].x),q.y=Math.min(q.y,_[te].y),H.x=Math.max(H.x,_[te].x),H.y=Math.max(H.y,_[te].y);Z=q.x>=O.x&&H.x<=B.x&&q.y>=O.y&&H.y<=B.y?[_]:H.xB.x||H.yB.y?[]:cNe([_],O.x,O.y,B.x,B.y)}for(let q of Z){U.reset(q,L*0.25);let H=0;H=U.length<=0.5*L?1:Math.ceil(U.paddedLength/G)+1;for(let te=0;te=this.screenRightBoundary||r<100||t>this.screenBottomBoundary}isInsideGrid(e,t,n,r){return n>=0&&e=0&&tthis.projectAndGetPerspectiveRatio(_.x,_.y,r,Ame(l,_.x,_.y,d,p),u));D=N.some((_)=>!_.isOccluded),U=N.map((_)=>new ft(_.x,_.y))}else D=!0;return{box:din(U),allPointsOccluded:!D}}},aun=class{constructor(e,t,n,r){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):r&&n?1:0,this.placed=n}isHidden(){return this.opacity===0&&!this.placed}},UQ=class{constructor(e,t,n,r,o){this.text=new aun(e?e.text:null,t,n,o),this.icon=new aun(e?e.icon:null,t,r,o)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}},iun=class{constructor(e,t,n){this.text=e,this.icon=t,this.skipFade=n}},PEr=class{constructor(e,t,n,r,o){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=n,this.bucketIndex=r,this.tileID=o}},MEr=class{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:(n)=>n.collisionGroupID===t}}return this.collisionGroups[e]}},DEr=class{constructor(e,t,n,r,o){this.transform=e.clone(),this.terrain=t,this.collisionIndex=new REr(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new MEr(r),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;if(t)return(n,r)=>t.getElevation(e,n,r)}getBucketParts(e,t,n,r){let o=n.getBucket(t),a=n.latestFeatureIndex;if(!o||!a||t.id!==o.layerIds[0])return;let i=n.collisionBoxArray,s=o.layers[0].layout,l=o.layers[0].paint,c=2**(this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/Ut,d=n.tileID.toUnwrapped(),p=s.get("text-rotation-alignment")==="map",f=k0(n,1,this.transform.zoom),m=Pw(this.collisionIndex.transform,n,l.get("text-translate"),l.get("text-translate-anchor")),g=Pw(this.collisionIndex.transform,n,l.get("icon-translate"),l.get("icon-translate-anchor")),v=mze(p,this.transform,f);this.retainedQueryData[o.bucketInstanceId]=new PEr(o.bucketInstanceId,a,o.sourceLayerIndex,o.index,n.tileID);let y={bucket:o,layout:s,translationText:m,translationIcon:g,unwrappedTileID:d,pitchedLabelPlaneMatrix:v,scale:c,textPixelRatio:u,holdingForFade:n.holdingForSymbolFade(),collisionBoxArray:i,partiallyEvaluatedTextSize:RQ(o.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(r)for(let x of o.sortKeyRanges){let{sortKey:A,symbolInstanceStart:w,symbolInstanceEnd:C}=x;e.push({sortKey:A,symbolInstanceStart:w,symbolInstanceEnd:C,parameters:y})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:y})}attemptAnchorPlacement(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x,A,w,C){let E=tme[e.textAnchor],T=[e.textOffset0,e.textOffset1],I=sun(E,n,r,T,o),k=this.collisionIndex.placeCollisionBox(t,d,s,l,c,i,a,g,u.predicate,x,I,A,w,C);if((!y||this.collisionIndex.placeCollisionBox(y,d,s,l,c,i,a,v,u.predicate,x,I,A,w,C).placeable)&&k.placeable){let L;if(this.prevPlacement?.variableOffsets[p.crossTileID]&&this.prevPlacement?.placements[p.crossTileID]?.text&&(L=this.prevPlacement.variableOffsets[p.crossTileID].anchor),p.crossTileID===0)throw Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:T,width:n,height:r,anchor:E,textBoxScale:o,prevAnchor:L},this.markUsedJustification(f,E,p,m),f.allowVerticalPlacement&&(this.markUsedOrientation(f,m,p),this.placedOrientations[p.crossTileID]=m),{shift:I,placedGlyphBoxes:k}}}placeLayerBucketPart(e,t,n){let{bucket:r,layout:o,translationText:a,translationIcon:i,unwrappedTileID:s,pitchedLabelPlaneMatrix:l,textPixelRatio:c,holdingForFade:u,collisionBoxArray:d,partiallyEvaluatedTextSize:p,collisionGroup:f}=e.parameters,m=o.get("text-optional"),g=o.get("icon-optional"),v=iQ(o,"text-overlap","text-allow-overlap"),y=v==="always",x=iQ(o,"icon-overlap","icon-allow-overlap"),A=x==="always",w=o.get("text-rotation-alignment")==="map",C=o.get("text-pitch-alignment")==="map",E=o.get("icon-text-fit")!=="none",T=o.get("symbol-z-order")==="viewport-y",I=o.get("symbol-height-anchor")==="ground",k=y&&(A||!r.hasIconData()||g),L=A&&(y||!r.hasTextData()||m);!r.collisionArrays&&d&&r.deserializeCollisionBoxes(d);let O=this.retainedQueryData[r.bucketInstanceId].tileID,B=this._getTerrainElevationFunc(O),U=this.transform.getFastPathSimpleProjectionMatrix(O),D=(N,_,G)=>{if(t[N.crossTileID])return;if(u){this.placements[N.crossTileID]=new iun(!1,!1,!1);return}let Z=N.heightOffset,q=!1,H=!1,te=!0,ie=null,j={box:null,placeable:!1,offscreen:null,occluded:!1},oe={box:null,placeable:!1,offscreen:null},J=null,Y=null,ae=null,ne=0,Se=0,fe=0;_.textFeatureIndex?ne=_.textFeatureIndex:N.useRuntimeCollisionCircles&&(ne=N.featureIndex),_.verticalTextFeatureIndex&&(Se=_.verticalTextFeatureIndex);let Ae=_.textBox;if(Ae){let ye=(se)=>{let qe=1;if(r.allowVerticalPlacement&&!se&&this.prevPlacement){let Me=this.prevPlacement.placedOrientations[N.crossTileID];Me&&(this.placedOrientations[N.crossTileID]=Me,qe=Me,this.markUsedOrientation(r,qe,N))}return qe},ce=(se,qe)=>{if(r.allowVerticalPlacement&&N.numVerticalGlyphVertices>0&&_.verticalTextBox){for(let Me of r.writingModes)if(Me===2?(j=qe(),oe=j):j=se(),j?.placeable)break}else j=se()},{textAnchorOffsetStartIndex:ue,textAnchorOffsetEndIndex:ke}=N;if(ke===ue){let se=(qe,Me)=>{let Qe=this.collisionIndex.placeCollisionBox(qe,v,c,O,s,C,w,a,f.predicate,B,void 0,U,Z,I);return Qe?.placeable&&(this.markUsedOrientation(r,Me,N),this.placedOrientations[N.crossTileID]=Me),Qe};ce(()=>se(Ae,1),()=>{let qe=_.verticalTextBox;return r.allowVerticalPlacement&&N.numVerticalGlyphVertices>0&&qe?se(qe,2):{box:null,offscreen:null}}),ye(j?.placeable)}else{let se=tme[this.prevPlacement?.variableOffsets[N.crossTileID]?.anchor],qe=(Qe,ee,K)=>{let we=Qe.x2-Qe.x1,ze=Qe.y2-Qe.y1,tt=N.textBoxScale,Pe=E&&x==="never"?ee:null,Ke=null,Ue=v==="never"?1:2,Ze="never";se&&Ue++;for(let ct=0;ctqe(Ae,_.iconBox,1),()=>{let Qe=_.verticalTextBox,ee=j?.placeable;return r.allowVerticalPlacement&&!ee&&N.numVerticalGlyphVertices>0&&Qe?qe(Qe,_.verticalIconBox,2):{box:null,occluded:!0,offscreen:null}}),j&&(q=j.placeable,te=j.offscreen);let Me=ye(j?.placeable);if(!q&&this.prevPlacement){let Qe=this.prevPlacement.variableOffsets[N.crossTileID];Qe&&(this.variableOffsets[N.crossTileID]=Qe,this.markUsedJustification(r,Qe.anchor,N,Me))}}}if(J=j,q=J?.placeable,te=J?.offscreen,N.useRuntimeCollisionCircles&&N.centerJustifiedTextSymbolIndex>=0){let ye=r.text.placedSymbolArray.get(N.centerJustifiedTextSymbolIndex),ce=eme(r.textSizeData,p,ye),ue=o.get("text-padding"),ke=N.collisionCircleDiameter;Y=this.collisionIndex.placeCollisionCircles(v,ye,r.lineVertexArray,r.glyphOffsetArray,ce,s,l,n,C,f.predicate,ke,ue,a,B),Y.circles.length&&Y.collisionDetected&&!n&&Ko("Collisions detected, but collision boxes are not shown"),q=y||Y.circles.length>0&&!Y.collisionDetected,te&&=Y.offscreen}if(_.iconFeatureIndex&&(fe=_.iconFeatureIndex),_.iconBox){let ye=(ce)=>this.collisionIndex.placeCollisionBox(ce,x,c,O,s,C,w,i,f.predicate,B,E&&ie?ie:void 0,U,Z,I);oe&&oe.placeable&&_.verticalIconBox?(ae=ye(_.verticalIconBox),H=ae.placeable):(ae=ye(_.iconBox),H=ae.placeable),te&&=ae.offscreen}let Ee=m||N.numHorizontalGlyphVertices===0&&N.numVerticalGlyphVertices===0,pe=g||N.numIconVertices===0;!Ee&&!pe?H=q=H&&q:pe?Ee||(H&&=q):q=H&&q;let Re=q&&J.placeable,Le=H&&ae.placeable;if(Re&&(oe&&oe.placeable&&Se?this.collisionIndex.insertCollisionBox(J.box,v,o.get("text-ignore-placement"),r.bucketInstanceId,Se,f.ID):this.collisionIndex.insertCollisionBox(J.box,v,o.get("text-ignore-placement"),r.bucketInstanceId,ne,f.ID)),Le&&this.collisionIndex.insertCollisionBox(ae.box,x,o.get("icon-ignore-placement"),r.bucketInstanceId,fe,f.ID),Y&&q&&this.collisionIndex.insertCollisionCircles(Y.circles,v,o.get("text-ignore-placement"),r.bucketInstanceId,ne,f.ID),n&&this.storeCollisionData(r.bucketInstanceId,G,_,J,ae,Y),N.crossTileID===0)throw Error("symbolInstance.crossTileID can't be 0");if(r.bucketInstanceId===0)throw Error("bucket.bucketInstanceId can't be 0");let Ne=(q||k)&&!J?.occluded,be=(H||L)&&!ae?.occluded;this.placements[N.crossTileID]=new iun(Ne,be,te||r.justReloaded),t[N.crossTileID]=!0};if(T){if(e.symbolInstanceStart!==0)throw Error("bucket.bucketInstanceId should be 0");let N=r.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let _=N.length-1;_>=0;--_){let G=N[_];D(r.symbolInstances.get(G),r.collisionArrays[G],G)}}else for(let N=e.symbolInstanceStart;N=0&&(a>=0&&s!==a?e.text.placedSymbolArray.get(s).crossTileID=0:e.text.placedSymbolArray.get(s).crossTileID=n.crossTileID)}markUsedOrientation(e,t,n){let r=t===1||t===3?t:0,o=t===2?t:0,a=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(let i of a)e.text.placedSymbolArray.get(i).placedOrientation=r;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=o)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,n=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let r=t?t.symbolFadeChange(e):1,o=t?t.opacities:{},a=t?t.variableOffsets:{},i=t?t.placedOrientations:{};for(let s in this.placements){let l=this.placements[s],c=o[s];c?(this.opacities[s]=new UQ(c,r,l.text,l.icon),n||=l.text!==c.text.placed,n||=l.icon!==c.icon.placed):(this.opacities[s]=new UQ(null,r,l.text,l.icon,l.skipFade),n||=l.text||l.icon)}for(let s in o){let l=o[s];if(!this.opacities[s]){let c=new UQ(l,r,!1,!1);c.isHidden()||(this.opacities[s]=c,n||=l.text.placed,n||=l.icon.placed)}}for(let s in a)!this.variableOffsets[s]&&this.opacities[s]&&!this.opacities[s].isHidden()&&(this.variableOffsets[s]=a[s]);for(let s in i)!this.placedOrientations[s]&&this.opacities[s]&&!this.opacities[s].isHidden()&&(this.placedOrientations[s]=i[s]);if(t&&t.lastPlacementChangeTime===void 0)throw Error("Last placement time for previous placement is not defined");n?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let n={};for(let r of t){let o=r.getBucket(e);o&&r.latestFeatureIndex&&e.id===o.layerIds[0]&&this.updateBucketOpacities(o,r.tileID,n,r.collisionBoxArray)}}updateBucketOpacities(e,t,n,r){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let o=e.layers[0],a=o.layout,i=new UQ(null,0,!1,!1,!0),s=a.get("text-allow-overlap"),l=a.get("icon-allow-overlap"),c=o._unevaluatedLayout.hasValue("text-variable-anchor")||o._unevaluatedLayout.hasValue("text-variable-anchor-offset"),u=a.get("text-rotation-alignment")==="map",d=a.get("text-pitch-alignment")==="map",p=a.get("icon-text-fit")!=="none",f=new UQ(null,0,s&&(l||!e.hasIconData()||a.get("icon-optional")),l&&(s||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);let m=(v,y,x)=>{for(let A=0;A0||A>0,I=y.numIconVertices>0,k=this.placedOrientations[y.crossTileID],L=k===2,O=k===1||k===3;if(T){let U=cun(E.text),D=L?NQ:U;m(e.text,x,D);let N=O?NQ:U;m(e.text,A,N);let _=E.text.isHidden(),G=[y.rightJustifiedTextSymbolIndex,y.centerJustifiedTextSymbolIndex,y.leftJustifiedTextSymbolIndex];for(let H of G)H>=0&&(e.text.placedSymbolArray.get(H).hidden=_||L?1:0);y.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(y.verticalPlacedTextSymbolIndex).hidden=_||O?1:0);let Z=this.variableOffsets[y.crossTileID];Z&&this.markUsedJustification(e,Z.anchor,y,k);let q=this.placedOrientations[y.crossTileID];q&&(this.markUsedJustification(e,"left",y,q),this.markUsedOrientation(e,q,y))}if(I){let U=cun(E.icon),D=!(p&&y.verticalPlacedIconSymbolIndex&&L);if(y.placedIconSymbolIndex>=0){let N=D?U:NQ;m(e.icon,y.numIconVertices,N),e.icon.placedSymbolArray.get(y.placedIconSymbolIndex).hidden=E.icon.isHidden()}if(y.verticalPlacedIconSymbolIndex>=0){let N=D?NQ:U;m(e.icon,y.numVerticalIconVertices,N),e.icon.placedSymbolArray.get(y.verticalPlacedIconSymbolIndex).hidden=E.icon.isHidden()}}let B=g?.has(v)?g.get(v):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let U=e.collisionArrays[v];if(U){let D=new ft(0,0);if(U.textBox||U.verticalTextBox){let N=!0;if(c){let _=this.variableOffsets[w];_?(D=sun(_.anchor,_.width,_.height,_.textOffset,_.textBoxScale),u&&D._rotate(d?-this.transform.bearingInRadians:this.transform.bearingInRadians)):N=!1}if(U.textBox||U.verticalTextBox){let _;U.textBox&&(_=L),U.verticalTextBox&&(_=O),lun(e.textCollisionBox.collisionVertexArray,E.text.placed,!N||_,B.text,D.x,D.y)}}if(U.iconBox||U.verticalIconBox){let N=!(O||!U.verticalIconBox),_;U.iconBox&&(_=N),U.verticalIconBox&&(_=!N),lun(e.iconCollisionBox.collisionVertexArray,E.icon.placed,_,B.icon,p?D.x:0,p?D.y:0)}}}}if(e.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);e.bucketInstanceId in this.collisionCircleArrays&&(e.collisionCircleArray=this.collisionCircleArrays[e.bucketInstanceId],delete this.collisionCircleArrays[e.bucketInstanceId])}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}},LEr=33554432,BEr=16777216,OEr=131072,FEr=65536,NQ=0,UEr=class{constructor(e){this._sortAcrossTiles=e.layout.get("symbol-z-order")!=="viewport-y"&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,n,r,o){let a=this._bucketParts;for(;this._currentTileIndexi.sortKey-s.sortKey));this._currentPartIndex!this._forceFullPlacement&&vi()-r>2;for(;this._currentPlacementIndex>=0;){let a=t[e[this._currentPlacementIndex]],i=this.placement.collisionIndex.transform.zoom;if(dNe(a)&&a.layout&&(!a.minzoom||a.minzoom<=i)&&(!a.maxzoom||a.maxzoom>i)){if(this._inProgressLayer||=new UEr(a),this._inProgressLayer.continuePlacement(n[a.source],this.placement,this._showCollisionBoxes,a,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}},uun,Sl,zEr=class e{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[n,r]=new Uint8Array(t,0,2);if(n!==219)throw Error("Data does not appear to be in a KDBush format.");let o=r>>4;if(o!==1)throw Error(`Got v${o} data when expected v1.`);let a=uun[r&15];if(!a)throw Error("Unrecognized array type.");let[i]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new e(s,i,a,void 0,t)}constructor(t,n=64,r=Float64Array,o=ArrayBuffer,a){if(isNaN(t)||t<0)throw Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let i=uun.indexOf(this.ArrayType),s=t*2*this.ArrayType.BYTES_PER_ELEMENT,l=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-l%8)%8;if(i<0)throw Error(`Unexpected typed array class: ${r}.`);if(a)this.data=a,this.ids=new this.IndexArrayType(a,8,t),this.coords=new r(a,8+l+c,t*2),this._pos=t*2,this._finished=!0;else{let u=this.data=new o(8+s+l+c);this.ids=new this.IndexArrayType(u,8,t),this.coords=new r(u,8+l+c,t*2),this._pos=0,this._finished=!1,new Uint8Array(u,0,2).set([219,16+i]),new Uint16Array(u,2,1)[0]=n,new Uint32Array(u,4,1)[0]=t}}add(t,n){let r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=n,r}finish(){let t=this._pos>>1;if(t!==this.numItems)throw Error(`Added ${t} items when expected ${this.numItems}.`);return ize(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,r,o){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:i,nodeSize:s}=this;Sl[0]=0,Sl[1]=a.length-1,Sl[2]=0;let l=3,c=[];for(;l>0;){let u=Sl[--l],d=Sl[--l],p=Sl[--l];if(d-p<=s){for(let v=p;v<=d;v++){let y=i[2*v],x=i[2*v+1];y>=t&&y<=r&&x>=n&&x<=o&&c.push(a[v])}continue}let f=p+d>>1,m=i[2*f],g=i[2*f+1];m>=t&&m<=r&&g>=n&&g<=o&&c.push(a[f]),(u===0?t<=m:n<=g)&&(Sl[l++]=p,Sl[l++]=f-1,Sl[l++]=1-u),(u===0?r>=m:o>=g)&&(Sl[l++]=f+1,Sl[l++]=d,Sl[l++]=1-u)}return c}within(t,n,r){let o=[];return this.withinInto(t,n,r,o),o}withinInto(t,n,r,o){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:i,nodeSize:s}=this;Sl[0]=0,Sl[1]=a.length-1,Sl[2]=0;let l=3,c=0,u=r*r;for(;l>0;){let d=Sl[--l],p=Sl[--l],f=Sl[--l];if(p-f<=s){for(let y=f;y<=p;y++)dun(i[2*y],i[2*y+1],t,n)<=u&&(o[c++]=a[y]);continue}let m=f+p>>1,g=i[2*m],v=i[2*m+1];dun(g,v,t,n)<=u&&(o[c++]=a[m]),(d===0?t-r<=g:n-r<=v)&&(Sl[l++]=f,Sl[l++]=m-1,Sl[l++]=1-d),(d===0?t+r>=g:n+r>=v)&&(Sl[l++]=m+1,Sl[l++]=p,Sl[l++]=1-d)}return c}},_Q,_Er=class{constructor(e,t,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let r=new Map;for(let o=0;o({x:Math.floor(s.anchorX*_Q),y:Math.floor(s.anchorY*_Q)})),crossTileIDs:a.map((s)=>s.crossTileID)};if(i.positions.length>128){let s=new zEr(i.positions.length,16,Uint16Array);for(let{x:l,y:c}of i.positions)s.add(l,c);s.finish(),delete i.positions,i.index=s}this._symbolsByKey[o]=i}}getScaledCoordinates(e,t){let{x:n,y:r,z:o}=this.tileID.canonical,{x:a,y:i,z:s}=t.canonical,l=s-o,c=_Q/2**l,u=(a*Ut+e.anchorX)*c,d=(i*Ut+e.anchorY)*c,p=n*Ut*_Q,f=r*Ut*_Q;return{x:Math.floor(u-p),y:Math.floor(d-f)}}findMatches(e,t,n){let r=this.tileID.canonical.ze)}},HEr=class{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}},VEr=class{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(t!==0)for(let n in this.indexes){let r=this.indexes[n],o={};for(let a in r){let i=r[a];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),o[i.tileID.key]=i}this.indexes[n]=o}this.lng=e}addBucket(e,t,n){if(this.indexes[e.overscaledZ]?.[e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let o=0;oe.overscaledZ)for(let i in a){let s=a[i];s.tileID.isChildOf(e)&&s.findMatches(t.symbolInstances,e,r)}else{let i=a[e.scaledTo(Number(o)).key];i&&i.findMatches(t.symbolInstances,e,r)}}for(let o=0;o + l.getProjectionData({ + overscaledTileID: new Xp( + p.tileID.canonical.z, + p.tileID.wrap ?? 0, + p.tileID.canonical.z, + p.tileID.canonical.x, + p.tileID.canonical.y, + ), + aligned: p.aligned, + applyGlobeMatrix: p.applyGlobeMatrix, + applyTerrainMatrix: p.applyTerrainMatrix, + }), + }, + d = i.renderingMode ? i.renderingMode : "2d"; + if (r.currentPass === "offscreen") { + let p = i.prerender; + p && + (e.setCustomLayerDefaults(), + a.setColorMode(e.colorModeForRenderPass()), + p.call(i, a.gl, u), + a.setDirty(), + e.setBaseState()); + } else if (r.currentPass === "translucent") { + (e.setCustomLayerDefaults(), + a.setColorMode(e.colorModeForRenderPass()), + a.setStencilMode(ii.disabled)); + let p = + d === "3d" + ? e.getDepthModeFor3D() + : e.getDepthModeForSublayer(0, Ho.ReadOnly); + (a.setDepthMode(p), + i.render(a.gl, u), + a.setDirty(), + e.setBaseState(), + a.bindFramebuffer.set(null)); + } +} +function rkr(e, t) { + let n = e.context, + r = n.gl, + o = e.transform, + a = Yl.unblended, + i = new Ho(r.LEQUAL, Ho.ReadWrite, [0, 1]), + s = t.tileManager.getRenderableTiles(), + l = e.useProgram("terrainDepth"); + (n.bindFramebuffer.set(t.getFramebuffer().framebuffer), + n.viewport.set([ + 0, + 0, + e.width / devicePixelRatio, + e.height / devicePixelRatio, + ]), + n.clear({ color: Kr.white, depth: 1 })); + for (let c of s) { + let u = t.getTerrainMesh(c.tileID), + d = t.getTerrainData(c.tileID), + p = o.getProjectionData({ + overscaledTileID: c.tileID, + applyTerrainMatrix: !1, + applyGlobeMatrix: !0, + }), + f = CIr(t.getSkirtLength(o.zoom)); + l.draw( + n, + r.TRIANGLES, + i, + ii.disabled, + a, + Ya.backCCW, + f, + d, + p, + "terrain", + u.vertexBuffer, + u.indexBuffer, + u.segments, + ); + } + (n.bindFramebuffer.set(null), n.viewport.set([0, 0, e.width, e.height])); +} +function okr(e, t, n, r) { + let { isRenderingGlobe: o } = r, + a = e.context, + i = a.gl, + s = e.transform, + l = e.colorModeForRenderPass(), + c = e.getDepthModeFor3D(), + u = e.useProgram("terrain"); + (a.bindFramebuffer.set(null), a.viewport.set([0, 0, e.width, e.height])); + for (let d of n) { + let p = t.getTerrainMesh(d.tileID), + f = e.renderToTexture.getTexture(d), + m = t.getTerrainData(d.tileID); + (a.activeTexture.set(i.TEXTURE0), + f.bind(i.LINEAR, i.CLAMP_TO_EDGE, i.LINEAR_MIPMAP_LINEAR)); + let g = t.getSkirtLength(s.zoom), + v = s.calculateFogMatrix(d.tileID.toUnwrapped()), + y = SIr(g, v, e.style.sky, s.pitch, o), + x = Xf(r, d.tileID, { applyTerrainMatrix: !1 }); + u.draw( + a, + i.TRIANGLES, + c, + ii.disabled, + l, + Ya.backCCW, + y, + m, + x, + "terrain", + p.vertexBuffer, + p.indexBuffer, + p.segments, + ); + } +} +function Ydn(e, t) { + if (!t.mesh) { + let n = new Lw(); + (n.emplaceBack(-1, -1), + n.emplaceBack(1, -1), + n.emplaceBack(1, 1), + n.emplaceBack(-1, 1)); + let r = new xv(); + (r.emplaceBack(0, 1, 2), + r.emplaceBack(0, 2, 3), + (t.mesh = new qQ( + e.createVertexBuffer(n, o7.members), + e.createIndexBuffer(r), + Vs.simpleSegment(0, 0, n.length, r.length), + ))); + } + return t.mesh; +} +function akr(e, t) { + let n = e.context, + r = n.gl, + o = ETr(t, e.transform, e.pixelRatio), + a = new Ho(r.LEQUAL, Ho.ReadWrite, [0, 1]), + i = ii.disabled, + s = e.colorModeForRenderPass(), + l = e.useProgram("sky"), + c = Ydn(n, t); + l.draw( + n, + r.TRIANGLES, + a, + i, + s, + Ya.disabled, + o, + null, + void 0, + "sky", + c.vertexBuffer, + c.indexBuffer, + c.segments, + ); +} +function ikr(e, t) { + let n = e.getCartesianPosition(); + nin(n, n); + let r = Oy(new Float64Array(16)); + return ( + e.properties.get("anchor") === "map" && + (Rw(r, r, t.rollInRadians), + XT(r, r, -t.pitchInRadians), + Rw(r, r, t.bearingInRadians), + XT(r, r, (t.center.lat * Math.PI) / 180), + dUe(r, r, (-t.center.lng * Math.PI) / 180)), + rin(n, n, r), + n + ); +} +function skr(e, t, n) { + let r = e.context, + o = r.gl, + a = e.useProgram("atmosphere"), + i = new Ho(o.LEQUAL, Ho.ReadOnly, [0, 1]), + s = e.transform, + l = ikr(n, e.transform), + c = s.getProjectionData({ + overscaledTileID: null, + applyGlobeMatrix: !0, + applyTerrainMatrix: !0, + }), + u = aB(s.worldSize, s.center.lat), + d = Edn(s), + p = Idn(Fy(d) - u, u), + f = t.properties.get("atmosphere-blend") * c.projectionTransition * p; + if (f === 0) return; + let m = STr(l, f, d, u, s.inverseProjectionMatrix), + g = Ydn(r, t); + a.draw( + r, + o.TRIANGLES, + i, + ii.disabled, + Yl.alphaBlended, + Ya.disabled, + m, + null, + null, + "atmosphere", + g.vertexBuffer, + g.indexBuffer, + g.segments, + ); +} +function Eze(e, t) { + let n = !1, + r = null, + o, + a = () => { + ((r = null), (n &&= (e(...o), (r = setTimeout(a, t)), !1))); + }; + return (...i) => ((n = !0), (o = i), r || a(), r); +} +function HQ(e, t) { + (!e.duration || e.duration < t.duration) && + ((e.duration = t.duration), (e.easing = t.easing)); +} +function VQ(e, t, n) { + let { maxSpeed: r, linearity: o, deceleration: a } = n, + i = qr((e * o) / (t / 1000), -r, r), + s = Math.abs(i) / (a * o); + return { easing: n.easing, duration: s * 1000, amount: (s / 2) * i }; +} +function lze(e, t) { + if (e.length !== t.length) + throw Error( + `The number of touches and points are not equal - touches ${e.length}, points ${t.length}`, + ); + let n = {}; + for (let r = 0; r < e.length; r++) n[e[r].identifier] = t[r]; + return n; +} +function Akr(e) { + let t = new ft(0, 0); + for (let n of e) t._add(n); + return t.div(e.length); +} +function Ekr(e, t) { + let n = Ckr[t]; + return e.buttons === void 0 || (e.buttons & n) !== n; +} +function Ikr({ enable: e, clickTolerance: t }) { + return new Lme({ + clickTolerance: t, + move: (n, r) => ({ around: r, panDelta: r.sub(n) }), + activateOnStart: !0, + moveStateManager: new Bme({ + checkCorrectEvent: (n) => n.button === 0 && !n.ctrlKey, + }), + enable: e, + assignEvents: Ome, + }); +} +function Tkr( + { + enable: e, + clickTolerance: t, + aroundCenter: n = !0, + minPixelCenterThreshold: r = 100, + rotateSpeed: o = 0.8, + }, + a, +) { + return new Lme({ + clickTolerance: t, + move: (i, s) => { + let l = a(); + if (n && Math.abs(l.y - i.y) > r) + return { bearingDelta: win(new ft(i.x, s.y), s, l) }; + let c = (s.x - i.x) * o; + return (n && s.y < l.y && (c = -c), { bearingDelta: c }); + }, + moveStateManager: new Bme({ + checkCorrectEvent: (i) => + (i.button === 0 && i.ctrlKey) || (i.button === 2 && !i.ctrlKey), + }), + enable: e, + assignEvents: Ome, + }); +} +function kkr({ enable: e, clickTolerance: t, pitchSpeed: n = -0.5 }) { + return new Lme({ + clickTolerance: t, + move: (r, o) => ({ pitchDelta: (o.y - r.y) * n }), + moveStateManager: new Bme({ + checkCorrectEvent: (r) => (r.button === 0 && r.ctrlKey) || r.button === 2, + }), + enable: e, + assignEvents: Ome, + }); +} +function Rkr( + { enable: e, clickTolerance: t, rollDegreesPerPixelMoved: n = 0.3 }, + r, +) { + return new Lme({ + clickTolerance: t, + move: (o, a) => { + let i = r(), + s = (a.x - o.x) * n; + return (a.y < i.y && (s = -s), { rollDelta: s }); + }, + moveStateManager: new Bme({ + checkCorrectEvent: (o) => o.button === 2 && o.ctrlKey, + }), + enable: e, + assignEvents: Ome, + }); +} +function yme(e, t, n) { + for (let r = 0; r < e.length; r++) if (e[r].identifier === n) return t[r]; +} +function Gun(e, t) { + return Math.log(e / t) / Math.LN2; +} +function qun(e, t) { + return (e.angleWith(t) * 180) / Math.PI; +} +function YNe(e) { + return Math.abs(e.y) > Math.abs(e.x); +} +function Fkr(e) { + return e * (2 - e); +} +function KNe(e) { + return ( + e.panDelta?.mag() || + e.zoomDelta || + e.bearingDelta || + e.pitchDelta || + e.rollDelta + ); +} +function rRr(e, t, n, r = !1) { + if (r || !n.getCoveringTilesDetailsProvider().allowWorldCopies()) + return e?.wrap(); + let o = new pr(e.lng, e.lat); + if (((e = new pr(e.lng, e.lat)), t)) { + let a = new pr(e.lng - 360, e.lat), + i = new pr(e.lng + 360, e.lat), + s = n.locationToScreenPoint(e).distSqr(t); + n.locationToScreenPoint(a).distSqr(t) < s + ? (e = a) + : n.locationToScreenPoint(i).distSqr(t) < s && (e = i); + } + for (; Math.abs(e.lng - n.center.lng) > 180;) { + let a = n.locationToScreenPoint(e); + if (a.x >= 0 && a.y >= 0 && a.x <= n.width && a.y <= n.height) break; + e.lng > n.center.lng ? (e.lng -= 360) : (e.lng += 360); + } + return e.lng !== o.lng && n.isPointOnMapSurface(n.locationToScreenPoint(e)) + ? e + : o; +} +function oRr(e, t, n) { + let r = e.classList; + for (let o in Jdn) r.remove(`maplibregl-${n}-anchor-${o}`); + r.add(`maplibregl-${n}-anchor-${t}`); +} +function Ny(e, t, n = []) { + let r = Cl.createNS("http://www.w3.org/2000/svg", e); + for (let o in t) r.setAttributeNS(null, o, t[o]); + for (let o of n) r.appendChild(o); + return r; +} +function aRr() { + return ( + JNe || + ((JNe = Ny( + "svg", + { display: "block", height: "41px", width: "27px", viewBox: "0 0 27 41" }, + [ + Ny("g", { "fill-rule": "nonzero" }, [ + Ny( + "g", + { transform: "translate(3.0, 29.0)", fill: "#000000" }, + [ + ["10.5", "5.25002273"], + ["10.5", "5.25002273"], + ["9.5", "4.77275007"], + ["8.5", "4.29549936"], + ["7.5", "3.81822308"], + ["6.5", "3.34094679"], + ["5.5", "2.86367051"], + ["4.5", "2.38636864"], + ].map(([e, t]) => + Ny("ellipse", { + opacity: "0.04", + cx: "10.5", + cy: "5.80029008", + rx: e, + ry: t, + }), + ), + ), + Ny("g", { fill: jdn }, [ + Ny("path", { + d: "M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z", + }), + ]), + Ny("g", { opacity: "0.25", fill: "#000000" }, [ + Ny("path", { + d: "M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z", + }), + ]), + Ny("g", { transform: "translate(6.0, 7.0)", fill: "#FFFFFF" }), + Ny("g", { transform: "translate(8.0, 8.0)" }, [ + Ny("circle", { + fill: "#000000", + opacity: "0.25", + cx: "5.5", + cy: "5.5", + r: "5.4999962", + }), + Ny("circle", { + fill: "#FFFFFF", + cx: "5.5", + cy: "5.5", + r: "5.4999962", + }), + ]), + ]), + ], + )), + JNe) + ); +} +function iRr(e) { + return e.firstElementChild.children[1]; +} +var E5r = "6.11.2", + MNe, + Bcn, + DNe, + M0, + R5r, + P5r, + M5r, + D5r, + L5r, + Ocn, + Cl, + Xx, + B5r = class { + constructor(e) { + this._transformRequestFn = e ?? null; + } + transformRequest(e, t) { + return ( + (this._transformRequestFn && this._transformRequestFn(e, t)) || { + url: e, + } + ); + } + setTransformRequest(e) { + this._transformRequestFn = e; + } + }, + Yp, + hr, + Fcn, + wv, + Gs, + t1, + ame, + O5r, + Ucn, + F5r, + U5r, + BNe, + N5r, + W5r, + Y5r = class { + constructor(e) { + ((this._imageManager = e), + (this._entries = {}), + (this._image = new ss({ width: 1, height: 1 })), + (this._dirty = !0)); + } + destroy() { + ((this._texture &&= (this._texture.destroy(), null)), + (this._entries = {}), + (this._image = new ss({ width: 1, height: 1 })), + (this._dirty = !0)); + } + getPixelSize() { + let { width: e, height: t } = this._image; + return { width: e, height: t }; + } + getPattern(e) { + let t = this._imageManager.getImage(e); + if (!t) return null; + let n = this._entries[e]; + if (n?.image !== t) { + let r = { w: t.data.width + 2, h: t.data.height + 2, x: 0, y: 0 }; + this._entries[e] = { bin: r, position: new $fe(r, t), image: t }; + } else if (n.position.version !== t.version) + n.position.version = t.version; + else return n.position; + return (this._update(), this._entries[e].position); + } + bind(e) { + let t = e.gl; + (this._texture + ? (this._dirty &&= (this._texture.update(this._image), !1)) + : ((this._texture = new cd(e, this._image, t.RGBA)), + (this._dirty = !1)), + this._texture.bind(t.LINEAR, t.CLAMP_TO_EDGE)); + } + _update() { + for (let o in this._entries) + this._imageManager.getImage(o) || delete this._entries[o]; + let e = []; + for (let o in this._entries) e.push(this._entries[o].bin); + let { w: t, h: n } = lNe(e), + r = this._image; + r.resize({ width: t || 1, height: n || 1 }); + for (let o in this._entries) { + let { bin: a } = this._entries[o], + i = a.x + 1, + s = a.y + 1, + l = this._entries[o].image.data, + { width: c, height: u } = l; + (ss.copy(l, r, { x: 0, y: 0 }, { x: i, y: s }, { width: c, height: u }), + ss.copy( + l, + r, + { x: 0, y: u - 1 }, + { x: i, y: s - 1 }, + { width: c, height: 1 }, + ), + ss.copy( + l, + r, + { x: 0, y: 0 }, + { x: i, y: s + u }, + { width: c, height: 1 }, + ), + ss.copy( + l, + r, + { x: c - 1, y: 0 }, + { x: i - 1, y: s }, + { width: 1, height: u }, + ), + ss.copy( + l, + r, + { x: 0, y: 0 }, + { x: i + c, y: s }, + { width: 1, height: u }, + )); + } + this._dirty = !0; + } + }, + jNe = 1114111, + K5r, + J5r = 0, + e8r = class { + constructor(e) { + ((this.requestManager = e), + (this._faces = {}), + (this._registered = new Set())); + } + setFontFaces(e) { + (this._unregisterAll(), (this._faces = {})); + for (let [t, n] of Object.entries(e ?? {})) { + let r = Array.isArray(n) ? n : [n]; + this._faces[t] = r + .map((o) => this._declareFontFace(t, o)) + .filter((o) => o !== null); + } + } + hasFontFaces() { + return Object.keys(this._faces).length > 0; + } + async getFontFamily(e, t) { + for (let n of e.split(",")) + for (let r of this._faces[n.trim()] ?? []) + if ( + $5r(r, t) && + ((r.loaded ??= this._loadFontFace(r)), await r.loaded) + ) + return r.family; + return null; + } + _declareFontFace(e, t) { + let n = typeof t == "string" ? { url: t } : t; + if (typeof n?.url != "string") + return ( + Ko(`Ignoring the font face declared for "${e}": it has no URL.`), + null + ); + let r = `maplibre-gl-font-face-${J5r++}`, + o = n["unicode-range"]; + if (!o?.length) return { url: n.url, ranges: [K5r], family: r }; + let a = []; + for (let i of o) { + let s = j5r(i); + if (!s) { + Ko( + `Ignoring the unicode range "${i}" of the font face at ${n.url}: it is not a valid range.`, + ); + continue; + } + a.push(s); + } + return a.length ? { url: n.url, ranges: a, family: r } : null; + } + async _loadFontFace(e) { + if (typeof FontFace > "u" || typeof document > "u" || !document.fonts) + return ( + Ko( + `Ignoring the font face at ${e.url}: this environment has no CSS Font Loading API.`, + ), + !1 + ); + let t; + try { + return ( + (t = new FontFace(e.family, await this._downloadFontFile(e.url))), + Object.values(this._faces).some((n) => n.includes(e)) + ? (document.fonts.add(t), + this._registered.add(t), + await t.load(), + !0) + : !1 + ); + } catch (n) { + return ( + t && this._unregister(t), + Ko(`Ignoring the font face at ${e.url}: ${Vp(n).message}`), + !1 + ); + } + } + async _downloadFontFile(e) { + let t = await this.requestManager.transformRequest(e, "Glyphs"), + n = await wUe(t, new AbortController()); + if (!n?.data) + throw Error(`the response was empty for the font file at ${e}`); + return n.data; + } + _unregister(e) { + (document.fonts?.delete(e), this._registered.delete(e)); + } + _unregisterAll() { + for (let e of this._registered) document.fonts?.delete(e); + this._registered.clear(); + } + destroy() { + (this._unregisterAll(), (this._faces = {})); + } + }, + $Ne = 100000000000000000000, + uze, + t8r = class { + constructor({ + fontSize: e = 24, + buffer: t = 3, + radius: n = 8, + cutoff: r = 0.25, + fontFamily: o = "sans-serif", + fontWeight: a = "normal", + fontStyle: i = "normal", + lang: s = null, + } = {}) { + ((this.buffer = t), + (this.radius = n), + (this.cutoff = r), + (this.lang = s)); + let l = (this.size = e + t * 4), + c = this._createCanvas(l), + u = (this.ctx = c.getContext("2d", { willReadFrequently: !0 })); + ((u.font = `${i} ${a} ${e}px ${o}`), + (u.textBaseline = "alphabetic"), + (u.textAlign = "left"), + (u.fillStyle = "black"), + (this.gridOuter = new Float64Array(l * l)), + (this.gridInner = new Float64Array(l * l)), + (this.f = new Float64Array(l)), + (this.z = new Float64Array(l + 1)), + (this.v = new Uint16Array(l))); + } + _createCanvas(e) { + if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, e); + let t = document.createElement("canvas"); + return ((t.width = t.height = e), t); + } + draw(e) { + let { + width: t, + actualBoundingBoxAscent: n, + actualBoundingBoxDescent: r, + actualBoundingBoxLeft: o, + actualBoundingBoxRight: a, + } = this.ctx.measureText(e), + i = Math.ceil(n), + s = Math.floor(-o), + l = Math.max(0, Math.min(this.size - this.buffer, Math.ceil(a) - s)), + c = Math.max(0, Math.min(this.size - this.buffer, i + Math.ceil(r))), + u = l + 2 * this.buffer, + d = c + 2 * this.buffer, + p = Math.max(u * d, 0), + f = new Uint8ClampedArray(p), + m = { + data: f, + width: u, + height: d, + glyphWidth: l, + glyphHeight: c, + glyphTop: i, + glyphLeft: s, + glyphAdvance: t, + }; + if (l === 0 || c === 0) return m; + let { ctx: g, buffer: v, gridInner: y, gridOuter: x } = this; + (this.lang && (g.lang = this.lang), + g.clearRect(v, v, l, c), + g.fillText(e, v - s, v + i)); + let A = g.getImageData(v, v, l, c); + (x.fill($Ne, 0, p), y.fill(0, 0, p)); + let w = 3; + for (let I = 0; I < c; I++) { + let k = (I + v) * u + v; + for (let L = 0; L < l; L++, w += 4, k++) { + let O = A.data[w]; + if (O === 0) continue; + let B = uze[O]; + ((x[k] = Math.max(0, B)), (y[k] = Math.max(0, -B))); + } + } + qcn(x, 0, 0, u, d, u, this.f, this.v, this.z); + let C = Math.min(v, 1); + qcn(y, v - C, v - C, l + 2 * C, c + 2 * C, u, this.f, this.v, this.z); + let E = 255 / this.radius, + T = 255 * (1 - this.cutoff); + for (let I = 0; I < p; I++) { + let k = Math.sqrt(x[I]) - Math.sqrt(y[I]); + f[I] = Math.round(T - E * k); + } + return m; + } + }, + n8r, + r8r = (e, t) => { + let n = new t8r(e); + return ((n.buffer = t), n); + }, + o8r = class { + constructor(e, t, n, r = r8r) { + ((this.requestManager = e), + (this.localIdeographFontFamily = t), + (this.entries = {}), + (this.lang = n), + (this.fontFaceManager = new e8r(e)), + (this.createRasterizer = r)); + } + setURL(e) { + this.url = e; + } + setFontFaces(e) { + (this.fontFaceManager.setFontFaces(e), (this.entries = {})); + } + async getGlyphs(e) { + let t = []; + for (let o in e) + for (let a in e[o]) + for (let i of e[o][a]) + t.push(this._getAndCacheGlyphsPromise(o, i, a)); + let n = await Promise.all(t), + r = {}; + for (let { stack: o, id: a, variant: i, glyph: s } of n) + ((r[o] ||= {}), + (r[o][i] ||= {}), + (r[o][i][a] = s && { + id: s.id, + bitmap: s.bitmap.clone(), + metrics: s.metrics, + })); + return r; + } + async _getAndCacheGlyphsPromise(e, t, n) { + this.entries[e] ??= { glyphs: { default: {} }, requests: {}, ranges: {} }; + let r = this.entries[e], + o = (r.glyphs[n] ||= {}), + a = o[t]; + if (a !== void 0) return { stack: e, id: t, variant: n, glyph: a }; + if (n !== "default") + return ((o[t] = null), { stack: e, id: t, variant: n, glyph: null }); + let i = t.codePointAt(0), + s = this.fontFaceManager.hasFontFaces() + ? await this.fontFaceManager.getFontFamily(e, i) + : null; + return s + ? ((a = o[t] = await this._drawGlyph(r, e, t, s)), + { stack: e, id: t, variant: n, glyph: a }) + : !this.url || IQ(t) || this._charUsesLocalIdeographFontFamily(i) + ? ((a = o[t] = await this._drawGlyph(r, e, t)), + { stack: e, id: t, variant: n, glyph: a }) + : { ...(await this._downloadAndCacheRangePromise(e, t)), variant: n }; + } + async _downloadAndCacheRangePromise(e, t) { + let n = t.codePointAt(0), + r = this.entries[e], + o = Math.floor(n / 256); + if (r.ranges[o]) return { stack: e, id: t, glyph: null }; + r.requests[o] ||= this._loadGlyphRange(e, o); + try { + let a = await r.requests[o]; + for (let i in a) r.glyphs.default[String.fromCodePoint(+i)] = a[+i]; + return ((r.ranges[o] = !0), { stack: e, id: t, glyph: a[n] || null }); + } catch (a) { + let i = (r.glyphs.default[t] = await this._drawGlyph(r, e, t)); + return ( + this._warnOnMissingGlyphRange(i, o, n, Vp(a)), + { stack: e, id: t, glyph: i } + ); + } + } + async _loadGlyphRange(e, t) { + let n = t * 256, + r = n + 255, + o = await this.requestManager.transformRequest( + this.url.replace("{fontstack}", e).replace("{range}", `${n}-${r}`), + "Glyphs", + ), + a = await wUe(o, new AbortController()); + if (!a?.data) + throw Error(`Could not load glyph range. range: ${t}, ${n}-${r}`); + let i = {}; + for (let s of Oln(a.data)) i[s.id] = s; + return i; + } + _warnOnMissingGlyphRange(e, t, n, r) { + let o = t * 256, + a = o + 255, + i = n.toString(16).padStart(4, "0").toUpperCase(); + Ko( + `Unable to load glyph range ${t}, ${o}-${a}. Rendering codepoint U+${i} locally instead. ${r}`, + ); + } + _charUsesLocalIdeographFontFamily(e) { + return !!this.localIdeographFontFamily && Iln(e); + } + async _drawGlyph(e, t, n, r) { + let o = (await this._getTinySDF(e, t, n, r)).draw(n), + a = /^\p{gc=Cf}+$/u.test(n); + return { + id: n.codePointAt(0), + bitmap: new Xfe( + { width: o.width || 60, height: o.height || 60 }, + o.data, + ), + metrics: { + width: a ? 0 : o.glyphWidth / 2 || 24, + height: o.glyphHeight / 2 || 24, + left: o.glyphLeft / 2 + 0.5 || 0, + top: o.glyphTop / 2 - 27.5 || -8, + advance: a ? 0 : o.glyphAdvance / 2 || 24, + isDoubleResolution: !0, + }, + }; + } + _getTinySDF(e, t, n, r) { + let o = IQ(n); + if (r) { + let l = o ? "clusterTinySDFs" : "fontFaceTinySDFs"; + return ( + (e[l] ??= {}), + (e[l][r] ||= this._createTinySDF(r, !1, o ? 3 : 1)), + e[l][r] + ); + } + let a = + t === n8r && + this.localIdeographFontFamily !== "" && + this._charUsesLocalIdeographFontFamily(n.codePointAt(0)), + i = a ? this.localIdeographFontFamily : t; + if (o) + return ( + (e.clusterTinySDFs ??= {}), + (e.clusterTinySDFs[i] ||= this._createTinySDF(i, !0, 3)), + e.clusterTinySDFs[i] + ); + let s = a ? "ideographTinySDF" : "tinySDF"; + return ((e[s] ||= this._createTinySDF(i)), e[s]); + } + async _createTinySDF(e, t = !0, n = 1) { + let r = e ? e.split(",") : []; + r.push("sans-serif"); + let o = r + .map((s) => (/[-\w]+/.test(s) ? s : `'${CSS.escape(s)}'`)) + .join(","), + a = t ? this._fontWeight(r[0]) : void 0, + i = t ? this._fontStyle(r[0]) : "normal"; + if (typeof document < "u" && document.fonts?.load) + try { + await document.fonts.load(`${i} ${a || "normal"} 48px ${o}`); + } catch (s) { + Ko(`Failed to load font "${o}": ${Vp(s).message}`); + } + return this.createRasterizer( + { + fontSize: 48, + buffer: Math.max(6, Math.ceil((48 * (n - 1)) / 4)), + radius: 16, + cutoff: 0.25, + fontFamily: o, + fontWeight: a, + fontStyle: i, + lang: this.lang, + }, + 6, + ); + } + _fontStyle(e) { + return /italic/i.test(e) + ? "italic" + : /oblique/i.test(e) + ? "oblique" + : "normal"; + } + _fontWeight(e) { + let t = { + thin: 100, + hairline: 100, + "extra light": 200, + "ultra light": 200, + light: 300, + normal: 400, + regular: 400, + medium: 500, + semibold: 600, + demibold: 600, + bold: 700, + "extra bold": 800, + "ultra bold": 800, + black: 900, + heavy: 900, + "extra black": 950, + "ultra black": 950, + }, + n; + for (let [r, o] of Object.entries(t)) + RegExp(`\\b${r}\\b`, "i").test(e) && (n = `${o}`); + return n; + } + destroy() { + for (let e in this.entries) { + let t = this.entries[e]; + ((t.tinySDF = null), + (t.ideographTinySDF = null), + (t.fontFaceTinySDFs = {}), + (t.glyphs = { default: {} }), + (t.requests = {}), + (t.ranges = {})); + } + ((this.entries = {}), this.fontFaceManager.destroy()); + } + }, + a8r, + i8r = () => + (a8r ||= new np({ + anchor: new Mn(bt.light.anchor, "anchor"), + position: new Mn(bt.light.position, "position"), + color: new Mn(bt.light.color, "color"), + intensity: new Mn(bt.light.intensity, "intensity"), + })), + s8r, + l8r, + c8r = () => + (l8r ||= new np({ + "sky-color": new Mn(bt.sky["sky-color"], "sky-color"), + "horizon-color": new Mn(bt.sky["horizon-color"], "horizon-color"), + "fog-color": new Mn(bt.sky["fog-color"], "fog-color"), + "fog-ground-blend": new Mn( + bt.sky["fog-ground-blend"], + "fog-ground-blend", + ), + "horizon-fog-blend": new Mn( + bt.sky["horizon-fog-blend"], + "horizon-fog-blend", + ), + "sky-horizon-blend": new Mn( + bt.sky["sky-horizon-blend"], + "sky-horizon-blend", + ), + "atmosphere-blend": new Mn( + bt.sky["atmosphere-blend"], + "atmosphere-blend", + ), + })), + u8r, + d8r = class { + constructor(e, t) { + ((this.width = e), + (this.height = t), + (this.nextRow = 0), + (this.data = new Uint8Array(this.width * this.height)), + (this.dashEntry = {})); + } + getDash(e, t) { + let n = e.join(",") + String(t); + return ((this.dashEntry[n] ||= this.addDash(e, t)), this.dashEntry[n]); + } + getDashRanges(e, t, n) { + let r = e.length % 2 == 1, + o = [], + a = r ? -e[e.length - 1] * n : 0, + i = e[0] * n, + s = !0; + o.push({ left: a, right: i, isDash: s, zeroLength: e[0] === 0 }); + let l = e[0]; + for (let c = 1; c < e.length; c++) { + s = !s; + let u = e[c]; + ((a = l * n), + (l += u), + (i = l * n), + o.push({ left: a, right: i, isDash: s, zeroLength: u === 0 })); + } + return o; + } + addRoundDash(e, t, n) { + let r = t / 2; + for (let o = -n; o <= n; o++) { + let a = this.nextRow + n + o, + i = this.width * a, + s = 0, + l = e[s]; + for (let c = 0; c < this.width; c++) { + c / l.right > 1 && (l = e[++s]); + let u = Math.abs(c - l.left), + d = Math.abs(c - l.right), + p = Math.min(u, d), + f, + m = (o / n) * (r + 1); + if (l.isDash) { + let g = r - Math.abs(m); + f = Math.sqrt(p * p + g * g); + } else f = r - Math.sqrt(p * p + m * m); + this.data[i + c] = Math.max(0, Math.min(255, f + 128)); + } + } + } + addRegularDash(e) { + for (let i = e.length - 1; i >= 0; --i) { + let s = e[i], + l = e[i + 1]; + s.zeroLength + ? e.splice(i, 1) + : l?.isDash === s.isDash && ((l.left = s.left), e.splice(i, 1)); + } + let t = e[0], + n = e[e.length - 1]; + t.isDash === n.isDash && + ((t.left = n.left - this.width), (n.right = t.right + this.width)); + let r = this.width * this.nextRow, + o = 0, + a = e[o]; + for (let i = 0; i < this.width; i++) { + i / a.right > 1 && (a = e[++o]); + let s = Math.abs(i - a.left), + l = Math.abs(i - a.right), + c = Math.min(s, l), + u = a.isDash ? c : -c; + this.data[r + i] = Math.max(0, Math.min(255, u + 128)); + } + } + addDash(e, t) { + let n = t ? 7 : 0, + r = 2 * n + 1; + if (this.nextRow + r > this.height) + return (Ko("LineAtlas out of space"), null); + let o = 0; + for (let i of e) o += i; + if (o !== 0) { + let i = this.width / o, + s = this.getDashRanges(e, this.width, i); + t ? this.addRoundDash(s, i, n) : this.addRegularDash(s); + } + let a = { y: this.nextRow + n, height: 2 * n, width: o }; + return ((this.nextRow += r), (this.dirty = !0), a); + } + bind(e) { + let t = e.gl; + this.texture + ? (t.bindTexture(t.TEXTURE_2D, this.texture), + this.dirty && + ((this.dirty = !1), + t.texSubImage2D( + t.TEXTURE_2D, + 0, + 0, + 0, + this.width, + this.height, + t.ALPHA, + t.UNSIGNED_BYTE, + this.data, + ))) + : ((this.texture = t.createTexture()), + t.bindTexture(t.TEXTURE_2D, this.texture), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.REPEAT), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.REPEAT), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.LINEAR), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, t.LINEAR), + t.texImage2D( + t.TEXTURE_2D, + 0, + t.ALPHA, + this.width, + this.height, + 0, + t.ALPHA, + t.UNSIGNED_BYTE, + this.data, + )); + } + }, + y8r = "maplibre_preloaded_worker_pool", + jun = class e { + constructor() { + ((this.active = {}), (this.workersPromise = null)); + } + async acquire(t) { + if (((this.active[t] = !0), !this.workersPromise)) { + let n = []; + for (; n.length < e.workerCount;) n.push(g8r()); + this.workersPromise = Promise.all(n); + } + return (await this.workersPromise).slice(); + } + release(t) { + if ( + (delete this.active[t], this.numActive() === 0 && this.workersPromise) + ) { + let n = this.workersPromise; + ((this.workersPromise = null), + n.then((r) => { + for (let o of r) o.terminate(); + })); + } + } + isPreloaded() { + return !!this.active[y8r]; + } + numActive() { + return Object.keys(this.active).length; + } + }, + v8r, + Qcn, + edn, + sme, + Fw = class e { + constructor(t, n) { + t && + (n + ? this.setSouthWest(t).setNorthEast(n) + : Array.isArray(t) && + (t.length === 4 + ? this.setSouthWest([t[0], t[1]]).setNorthEast([t[2], t[3]]) + : this.setSouthWest(t[0]).setNorthEast(t[1]))); + } + setNorthEast(t) { + return ( + (this._ne = t instanceof pr ? new pr(t.lng, t.lat) : pr.convert(t)), + this + ); + } + setSouthWest(t) { + return ( + (this._sw = t instanceof pr ? new pr(t.lng, t.lat) : pr.convert(t)), + this + ); + } + extend(t) { + let n = this._sw, + r = this._ne, + o, + a; + if (t instanceof pr) ((o = t), (a = t)); + else if (t instanceof e) { + if (((o = t._sw), (a = t._ne), !o || !a)) return this; + } else { + if (Array.isArray(t)) { + if (t.length === 4 || t.every(Array.isArray)) { + let i = t; + return this.extend(e.convert(i)); + } + { + let i = t; + return this.extend(pr.convert(i)); + } + } + return t && ("lng" in t || "lon" in t) && "lat" in t + ? this.extend(pr.convert(t)) + : this; + } + return ( + !n && !r + ? ((this._sw = new pr(o.lng, o.lat)), + (this._ne = new pr(a.lng, a.lat))) + : ((n.lng = Math.min(o.lng, n.lng)), + (n.lat = Math.min(o.lat, n.lat)), + (r.lng = Math.max(a.lng, r.lng)), + (r.lat = Math.max(a.lat, r.lat))), + this + ); + } + getCenter() { + return new pr( + (this._sw.lng + this._ne.lng) / 2, + (this._sw.lat + this._ne.lat) / 2, + ); + } + getSouthWest() { + return this._sw; + } + getNorthEast() { + return this._ne; + } + getNorthWest() { + return new pr(this.getWest(), this.getNorth()); + } + getSouthEast() { + return new pr(this.getEast(), this.getSouth()); + } + getWest() { + return this._sw.lng; + } + getSouth() { + return this._sw.lat; + } + getEast() { + return this._ne.lng; + } + getNorth() { + return this._ne.lat; + } + toArray() { + return [this._sw.toArray(), this._ne.toArray()]; + } + toString() { + return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`; + } + isEmpty() { + return !(this._sw && this._ne); + } + contains(t) { + let { lng: n, lat: r } = pr.convert(t), + o = this._sw.lat <= r && r <= this._ne.lat, + a = this._sw.lng <= n && n <= this._ne.lng; + return ( + this._sw.lng > this._ne.lng && + (a = this._sw.lng >= n && n >= this._ne.lng), + o && a + ); + } + intersects(t) { + if ( + ((t = e.convert(t)), + !(t.getNorth() >= this.getSouth() && t.getSouth() <= this.getNorth())) + ) + return !1; + let n = Math.abs(this.getEast() - this.getWest()), + r = Math.abs(t.getEast() - t.getWest()); + if (n >= 360 || r >= 360) return !0; + let o = jg(this.getWest(), -180, 180), + a = jg(this.getEast(), -180, 180), + i = jg(t.getWest(), -180, 180), + s = jg(t.getEast(), -180, 180), + l = o > a, + c = i > s; + return l && c + ? !0 + : l + ? s >= o || i <= a + : c + ? a >= i || o <= s + : i <= a && s >= o; + } + static convert(t) { + return t instanceof e || !t ? t : new e(t); + } + static fromLngLat(t, n = 0) { + let r = (360 * n) / 40075017, + o = r / Math.cos((Math.PI / 180) * t.lat); + return new e(new pr(t.lng - o, t.lat - r), new pr(t.lng + o, t.lat + r)); + } + adjustAntiMeridian() { + let t = new pr(this._sw.lng, this._sw.lat), + n = new pr(this._ne.lng, this._ne.lat); + return t.lng > n.lng ? new e(t, new pr(n.lng + 360, n.lat)) : new e(t, n); + } + }, + odn = class { + constructor(e, t, n) { + ((this.bounds = Fw.convert(this.validateBounds(e))), + (this.minzoom = t || 0), + (this.maxzoom = n || 24)); + } + validateBounds(e) { + return !Array.isArray(e) || e.length !== 4 + ? [-180, -90, 180, 90] + : [ + Math.max(-180, e[0]), + Math.max(-90, e[1]), + Math.min(180, e[2]), + Math.min(90, e[3]), + ]; + } + contains(e) { + let t = 2 ** e.z, + n = { + minX: Math.floor($T(this.bounds.getWest()) * t), + minY: Math.floor(e7(this.bounds.getNorth()) * t), + maxX: Math.ceil($T(this.bounds.getEast()) * t), + maxY: Math.ceil(e7(this.bounds.getSouth()) * t), + }; + return e.x >= n.minX && e.x < n.maxX && e.y >= n.minY && e.y < n.maxY; + } + }, + k8r, + adn, + R8r, + U8r, + rB, + N8r = (e, t) => ({ + u_tl_parent: new Ao(e, t.u_tl_parent), + u_scale_parent: new Un(e, t.u_scale_parent), + u_buffer_scale: new Un(e, t.u_buffer_scale), + u_image_warp: new Rm(e, t.u_image_warp), + u_fade_t: new Un(e, t.u_fade_t), + u_opacity: new Un(e, t.u_opacity), + u_image0: new ar(e, t.u_image0), + u_image1: new ar(e, t.u_image1), + u_brightness_low: new Un(e, t.u_brightness_low), + u_brightness_high: new Un(e, t.u_brightness_high), + u_saturation_factor: new Un(e, t.u_saturation_factor), + u_contrast_factor: new Un(e, t.u_contrast_factor), + u_spin_weights: new Rm(e, t.u_spin_weights), + u_coords_top: new YL(e, t.u_coords_top), + u_coords_bottom: new YL(e, t.u_coords_bottom), + }), + z8r = (e, t, n, r, o, a) => ({ + u_tl_parent: e, + u_scale_parent: t, + u_buffer_scale: 1, + u_image_warp: a, + u_fade_t: n.mix, + u_opacity: n.opacity * r.paint.get("raster-opacity"), + u_image0: 0, + u_image1: 1, + u_brightness_low: r.paint.get("raster-brightness-min"), + u_brightness_high: r.paint.get("raster-brightness-max"), + u_saturation_factor: V8r(r.paint.get("raster-saturation")), + u_contrast_factor: H8r(r.paint.get("raster-contrast")), + u_spin_weights: _8r(r.paint.get("raster-hue-rotate")), + u_coords_top: [o[0].x, o[0].y, o[1].x, o[1].y], + u_coords_bottom: [o[3].x, o[3].y, o[2].x, o[2].y], + }), + qQ = class { + constructor(e, t, n) { + ((this.vertexBuffer = e), (this.indexBuffer = t), (this.segments = n)); + } + destroy() { + (this.vertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.segments.destroy(), + (this.vertexBuffer = null), + (this.indexBuffer = null), + (this.segments = null)); + } + }, + o7, + lme, + ZQ, + W8r, + Y8r, + K8r, + J8r = (e, t, n, r) => { + let o = new (j8r(t.type))(e, t, n, r); + if (o.id !== e) + throw Error(`Expected Source id to be ${e} instead of ${o.id}`); + return o; + }, + j8r = (e) => { + switch (e) { + case "geojson": + return U8r; + case "image": + return ZQ; + case "raster": + return adn; + case "raster-dem": + return R8r; + case "vector": + return k8r; + case "video": + return W8r; + case "canvas": + return Y8r; + } + return K8r[e]; + }, + eze = "RTLPluginLoaded", + eEr, + Ycn = null, + cdn = class { + constructor(e, t) { + ((this.timeAdded = 0), + (this.fadeEndTime = 0), + (this.fadeOpacity = 1), + (this.tileID = e), + (this.uid = yUe()), + (this.uses = 0), + (this.tileSize = t), + (this.buckets = {}), + (this.expirationTime = null), + (this.queryPadding = 0), + (this.hasSymbolBuckets = !1), + (this.hasRTLText = !1), + (this.dependencies = {}), + (this.rttObjects = []), + (this.rttFingerprint = {}), + (this.expiredRequestCount = 0), + (this.state = "loading"), + (this.featureStateRevision = -1)); + } + isRenderable(e) { + return ( + this.hasData() && + (!this.fadeEndTime || + this.fadingDirection !== 0 || + this.fadeOpacity > 0) && + (e || !this.holdingForSymbolFade()) + ); + } + setCrossFadeLogic({ + fadingRole: e, + fadingDirection: t, + fadingParentID: n, + fadeEndTime: r, + }) { + (this.resetFadeLogic(), + (this.fadingRole = e), + (this.fadingDirection = t), + (this.fadingParentID = n), + (this.fadeEndTime = r)); + } + setSelfFadeLogic(e) { + (this.resetFadeLogic(), (this.selfFading = !0), (this.fadeEndTime = e)); + } + resetFadeLogic() { + ((this.fadingRole = null), + (this.fadingDirection = null), + (this.fadingParentID = null), + (this.selfFading = !1), + (this.timeAdded = vi()), + (this.fadeEndTime = 0), + (this.fadeOpacity = 1)); + } + wasRequested() { + return ( + this.state === "errored" || + this.state === "loaded" || + this.state === "reloading" + ); + } + clearTextures(e) { + (this.demTexture && e.saveTileTexture(this.demTexture), + (this.demTexture = null)); + } + getRTT(e) { + return this.rttObjects[e]; + } + acquireRTT(e, t, n) { + return (this.rttObjects[t] = e.acquireRTT(n)); + } + releaseRTT(e) { + if (this.rttObjects.length !== 0) { + for (let t of this.rttObjects) t && e.releaseRTT(t); + this.rttObjects.length = 0; + } + } + loadVectorData(e, t, n) { + if (e?.etagUnmodified === !0) { + this.state = "loaded"; + return; + } + if ( + (this.hasData() && this.unloadVectorData(), (this.state = "loaded"), !e) + ) { + this.collisionBoxArray = new ZUe(); + return; + } + (e.featureIndex && + ((this.latestFeatureIndex = e.featureIndex), + e.rawTileData + ? ((this.latestRawTileData = e.rawTileData), + (this.latestEncoding = e.encoding), + (this.latestFeatureIndex.rawTileData = e.rawTileData), + (this.latestFeatureIndex.encoding = e.encoding)) + : this.latestRawTileData && + ((this.latestFeatureIndex.rawTileData = this.latestRawTileData), + (this.latestFeatureIndex.encoding = this.latestEncoding))), + (this.collisionBoxArray = e.collisionBoxArray), + (this.buckets = $8r(e.buckets, t?.style)), + (this.hasSymbolBuckets = !1)); + for (let r in this.buckets) { + let o = this.buckets[r]; + if (o instanceof MQ) + if (((this.hasSymbolBuckets = !0), n)) o.justReloaded = !0; + else break; + } + if (((this.hasRTLText = !1), this.hasSymbolBuckets)) + for (let r in this.buckets) { + let o = this.buckets[r]; + if (o instanceof MQ && o.hasRTLText) { + ((this.hasRTLText = !0), tze().lazyLoad()); + break; + } + } + this.queryPadding = 0; + for (let r in this.buckets) { + let o = this.buckets[r]; + this.queryPadding = Math.max( + this.queryPadding, + t.style.getLayer(r).queryRadius(o), + ); + } + (e.imageAtlas && (this.imageAtlas = e.imageAtlas), + e.glyphAtlasImage && (this.glyphAtlasImage = e.glyphAtlasImage), + (this.dashPositions = e.dashPositions)); + } + unloadVectorData() { + for (let e in this.buckets) this.buckets[e].destroy(); + ((this.buckets = {}), + this.imageAtlasTexture && this.imageAtlasTexture.destroy(), + this.glyphAtlasTexture && this.glyphAtlasTexture.destroy(), + (this.imageAtlas = null), + (this.dashPositions = null), + (this.latestFeatureIndex = null), + (this.state = "unloaded")); + } + getBucket(e) { + return this.buckets[e.id]; + } + upload(e) { + for (let n in this.buckets) { + let r = this.buckets[n]; + r.uploadPending() && r.upload(e); + } + let t = e.gl; + (this.imageAtlas && + !this.imageAtlas.uploaded && + ((this.imageAtlasTexture = new cd(e, this.imageAtlas.image, t.RGBA)), + (this.imageAtlas.uploaded = !0)), + (this.glyphAtlasImage &&= + ((this.glyphAtlasTexture = new cd(e, this.glyphAtlasImage, t.ALPHA)), + null))); + } + prepare(e) { + this.imageAtlas && + this.imageAtlas.patchUpdatedImages(e, this.imageAtlasTexture); + } + queryRenderedFeatures(e, t, n, r, o, a, i, s, l, c, u) { + return this.latestFeatureIndex?.rawTileData + ? this.latestFeatureIndex.query( + { + queryGeometry: r, + cameraQueryGeometry: o, + scale: a, + tileSize: this.tileSize, + pixelPosMatrix: c, + transform: s, + params: i, + queryPadding: this.queryPadding * l, + getElevation: u, + }, + e, + t, + n, + ) + : {}; + } + querySourceFeatures(e, t) { + let n = this.latestFeatureIndex; + if (!n?.rawTileData) return; + let r = n.loadVTLayers(), + o = t?.sourceLayer ? t.sourceLayer : "", + a = r._geojsonTileLayer || r[o]; + if (!a) return; + let i = zL(t?.filter, `querySourceFeatures[${o}].filter`, t?.globalState), + { z: s, x: l, y: c } = this.tileID.canonical, + u = { z: s, x: l, y: c }; + for (let d = 0; d < a.length; d++) { + let p = a.feature(d); + if (i.needGeometry) { + let g = jC(p, !0); + if ( + !i.filter(new oi(this.tileID.overscaledZ), g, this.tileID.canonical) + ) + continue; + } else if (!i.filter(new oi(this.tileID.overscaledZ), p)) continue; + let f = n.getId(p, o), + m = new mNe(p, s, l, c, f); + ((m.tile = u), e.push(m)); + } + } + hasData() { + return ( + this.state === "loaded" || + this.state === "reloading" || + this.state === "expired" + ); + } + patternsLoaded() { + return ( + this.imageAtlas && + !!Object.keys(this.imageAtlas.patternPositions).length + ); + } + setExpiryData(e) { + let t = this.expirationTime; + if (e.cacheControl) { + let n = gin(e.cacheControl); + n["max-age"] && + (this.expirationTime = Date.now() + n["max-age"] * 1000); + } else e.expires && (this.expirationTime = new Date(e.expires).getTime()); + if (this.expirationTime) { + let n = Date.now(), + r = !1; + if (this.expirationTime > n) r = !1; + else if (!t) r = !0; + else if (this.expirationTime < t) r = !0; + else { + let o = this.expirationTime - t; + o ? (this.expirationTime = n + Math.max(o, 30000)) : (r = !0); + } + r + ? (this.expiredRequestCount++, (this.state = "expired")) + : (this.expiredRequestCount = 0); + } + } + getExpiryTimeout() { + if (this.expirationTime) + return this.expiredRequestCount + ? 1000 * (1 << Math.min(this.expiredRequestCount - 1, 31)) + : Math.min(this.expirationTime - new Date().getTime(), 2147483647); + } + setFeatureState(e, t, n) { + if ( + !this.latestFeatureIndex?.rawTileData || + Object.keys(e).length === 0 || + this.featureStateRevision === n + ) + return; + this.featureStateRevision = n; + let r = this.latestFeatureIndex.loadVTLayers(); + for (let o in this.buckets) { + if (!t.style.hasLayer(o)) continue; + let a = this.buckets[o], + i = a.layers[0].sourceLayer || "_geojsonTileLayer", + s = r[i], + l = e[i]; + if (!s || !l || l.length === 0) continue; + a.update( + l, + s, + this.imageAtlas?.patternPositions || {}, + this.dashPositions || {}, + ); + let c = t?.style?.getLayer(o); + c && + (this.queryPadding = Math.max(this.queryPadding, c.queryRadius(a))); + } + } + holdingForSymbolFade() { + return this.symbolFadeHoldUntil !== void 0; + } + symbolFadeFinished() { + return !this.symbolFadeHoldUntil || this.symbolFadeHoldUntil < vi(); + } + clearSymbolFadeHold() { + this.symbolFadeHoldUntil = void 0; + } + setSymbolHoldDuration(e) { + this.symbolFadeHoldUntil = vi() + e; + } + setDependencies(e, t) { + let n = {}; + for (let r of t) n[r] = !0; + this.dependencies[e] = n; + } + hasDependency(e, t) { + for (let n of e) { + let r = this.dependencies[n]; + if (r) { + for (let o of t) if (r[o]) return !0; + } + } + return !1; + } + }, + tEr = class { + constructor() { + ((this.state = {}), + (this.stateChanges = {}), + (this.deletedStates = {}), + (this.revision = 0)); + } + updateState(e, t, n) { + let r = String(t); + if ( + ((this.stateChanges[e] ||= {}), + (this.stateChanges[e][r] ||= {}), + rr(this.stateChanges[e][r], n), + this.deletedStates[e] === null) + ) { + this.deletedStates[e] = {}; + for (let o in this.state[e]) + if (o === r) { + this.deletedStates[e][r] = {}; + for (let a in this.state[e][o]) + n[a] === void 0 && (this.deletedStates[e][r][a] = null); + } else this.deletedStates[e][o] = null; + } else if (this.deletedStates[e]?.[r] === null) { + this.deletedStates[e][r] = {}; + for (let o in this.state[e][r]) + n[o] === void 0 && (this.deletedStates[e][r][o] = null); + } else + for (let o in n) + this.deletedStates[e]?.[r]?.[o] === null && + delete this.deletedStates[e][r][o]; + } + removeFeatureState(e, t, n) { + if (this.deletedStates[e] === null) return; + let r = String(t); + if (((this.deletedStates[e] ||= {}), n && t !== void 0)) + this.deletedStates[e][r] !== null && + ((this.deletedStates[e][r] ||= {}), + (this.deletedStates[e][r][n] = null)); + else if (t !== void 0) + if (this.stateChanges[e]?.[r]) + for (n in ((this.deletedStates[e][r] = {}), this.stateChanges[e][r])) + this.deletedStates[e][r][n] = null; + else this.deletedStates[e][r] = null; + else this.deletedStates[e] = null; + } + getState(e, t) { + let n = String(t), + r = this.state[e] || {}, + o = this.stateChanges[e] || {}, + a = rr({}, r[n], o[n]); + if (this.deletedStates[e] === null) return {}; + if (this.deletedStates[e]) { + let i = this.deletedStates[e][t]; + if (i === null) return {}; + for (let s in i) delete a[s]; + } + return a; + } + initializeTileState(e, t) { + let n = {}; + for (let r in this.state) n[r] = Kcn(this.state[r]); + e.setFeatureState(n, t, this.revision); + } + coalesceChanges(e, t) { + let n = {}; + for (let o in this.stateChanges) { + ((this.state[o] ||= {}), (n[o] ||= {})); + for (let a in this.stateChanges[o]) + ((this.state[o][a] ||= {}), + rr(this.state[o][a], this.stateChanges[o][a]), + (n[o][a] = this.state[o][a])); + } + for (let o in this.deletedStates) + if ( + ((this.state[o] ||= {}), + (n[o] ||= {}), + this.deletedStates[o] === null) + ) + for (let a in this.state[o]) + ((this.state[o][a] = {}), (n[o][a] = {})); + else + for (let a in this.deletedStates[o]) { + if (this.deletedStates[o][a] === null) this.state[o][a] = {}; + else + for (let i of Object.keys(this.deletedStates[o][a])) + delete this.state[o][a][i]; + n[o][a] = this.state[o][a]; + } + if ( + ((this.stateChanges = {}), + (this.deletedStates = {}), + Object.keys(n).length === 0) + ) + return; + this.revision++; + let r = {}; + for (let o in n) r[o] = Kcn(n[o]); + e.setFeatureState(r, t, this.revision); + } + }, + dze = class e { + constructor(t, n) { + ((this.min = t), + (this.max = n), + (this.center = Ss([], Kg([], this.min, this.max), 0.5))); + } + quadrant(t) { + let n = [t % 2 == 0, t < 2], + r = mfe(this.min), + o = mfe(this.max); + for (let a = 0; a < n.length; a++) + ((r[a] = n[a] ? this.min[a] : this.center[a]), + (o[a] = n[a] ? this.center[a] : this.max[a])); + return ((o[2] = this.max[2]), new e(r, o)); + } + distanceX(t) { + return Math.max(Math.min(this.max[0], t[0]), this.min[0]) - t[0]; + } + distanceY(t) { + return Math.max(Math.min(this.max[1], t[1]), this.min[1]) - t[1]; + } + intersectsFrustum(t) { + let n = !0; + for (let r of t.planes) { + let o = this.intersectsPlane(r); + if (o === 0) return 0; + o === 1 && (n = !1); + } + return n + ? 2 + : t.aabb.min[0] > this.max[0] || + t.aabb.min[1] > this.max[1] || + t.aabb.min[2] > this.max[2] || + t.aabb.max[0] < this.min[0] || + t.aabb.max[1] < this.min[1] || + t.aabb.max[2] < this.min[2] + ? 0 + : 1; + } + intersectsPlane(t) { + let n = t[3], + r = t[3]; + for (let o = 0; o < 3; o++) + t[o] > 0 + ? ((n += t[o] * this.min[o]), (r += t[o] * this.max[o])) + : ((r += t[o] * this.min[o]), (n += t[o] * this.max[o])); + return n >= 0 ? 2 : r < 0 ? 0 : 1; + } + }, + pze = class e { + constructor(t, n, r) { + ((this.points = t), (this.planes = n), (this.aabb = r)); + } + static fromInvProjectionMatrix(t, n = 1, r = 0, o, a) { + let i = [ + [-1, 1, -1, 1], + [1, 1, -1, 1], + [1, -1, -1, 1], + [-1, -1, -1, 1], + [-1, 1, 1, 1], + [1, 1, 1, 1], + [1, -1, 1, 1], + [-1, -1, 1, 1], + ], + s = a + ? [ + [6, 5, 4], + [0, 1, 2], + [0, 3, 7], + [2, 1, 5], + [3, 2, 6], + [0, 4, 5], + ] + : [ + [0, 1, 2], + [6, 5, 4], + [0, 3, 7], + [2, 1, 5], + [3, 2, 6], + [0, 4, 5], + ], + l = 2 ** r, + c = i.map((f) => nEr(f, t, n, l)); + o && rEr(c, s[0], o, a); + let u = s.map((f) => { + let m = Gx([], c[f[0]], c[f[1]]), + g = Gx([], c[f[2]], c[f[1]]), + v = Tm([], wh([], m, g)), + y = -bc(v, c[f[1]]); + return v.concat(y); + }), + d = [1 / 0, 1 / 0, 1 / 0], + p = [-1 / 0, -1 / 0, -1 / 0]; + for (let f of c) + for (let m = 0; m < 3; m++) + ((d[m] = Math.min(d[m], f[m])), (p[m] = Math.max(p[m], f[m]))); + return new e(c, u, new dze(d, p)); + } + }, + sEr, + tun = class { + constructor() { + this._tiles = {}; + } + handleWrapJump(e) { + let t = {}; + for (let n in this._tiles) { + let r = this._tiles[n]; + ((r.tileID = r.tileID.unwrapTo(r.tileID.wrap + e)), + (t[r.tileID.key] = r)); + } + this._tiles = t; + } + setFeatureState(e, t, n) { + for (let r in this._tiles) this._tiles[r].setFeatureState(e, t, n); + } + getAllTiles() { + return Object.values(this._tiles); + } + getAllIds(e = !1) { + return e + ? Object.values(this._tiles) + .map((t) => t.tileID) + .sort(fNe) + .map((t) => t.key) + : Object.keys(this._tiles); + } + getTileById(e) { + return this._tiles[e]; + } + setTile(e, t) { + this._tiles[e] = t; + } + deleteTileById(e) { + delete this._tiles[e]; + } + getLoadedTile(e) { + let t = this.getTileById(e.key); + return t?.hasData() ? t : null; + } + isIdRenderable(e, t = !1) { + return this.getTileById(e)?.isRenderable(t); + } + getRenderableIds(e = 0, t) { + let n = []; + for (let r of this.getAllIds()) + this.isIdRenderable(r, t) && n.push(this.getTileById(r)); + return t + ? n + .sort((r, o) => { + let a = r.tileID, + i = o.tileID, + s = new ft(a.canonical.x, a.canonical.y)._rotate(-e), + l = new ft(i.canonical.x, i.canonical.y)._rotate(-e); + return a.overscaledZ - i.overscaledZ || l.y - s.y || l.x - s.x; + }) + .map((r) => r.tileID.key) + : n + .map((r) => r.tileID) + .sort(fNe) + .map((r) => r.key); + } + }, + rze, + yEr = class { + constructor(e, t) { + this.reset(e, t); + } + reset(e, t) { + ((this.points = e || []), (this._distances = [0])); + for (let n = 1; n < this.points.length; n++) + this._distances[n] = + this._distances[n - 1] + this.points[n].dist(this.points[n - 1]); + ((this.length = this._distances[this._distances.length - 1]), + (this.padding = Math.min(t || 0, this.length * 0.5)), + (this.paddedLength = this.length - this.padding * 2)); + } + lerp(e) { + if (this.points.length === 1) return this.points[0]; + e = qr(e, 0, 1); + let t = 1, + n = this._distances[t], + r = e * this.paddedLength + this.padding; + for (; n < r && t < this._distances.length;) n = this._distances[++t]; + let o = t - 1, + a = this._distances[o], + i = n - a, + s = i > 0 ? (r - a) / i : 0; + return this.points[o].mult(1 - s).add(this.points[t].mult(s)); + } + }, + nun = class { + constructor(e, t, n) { + let r = (this.boxCells = []), + o = (this.circleCells = []); + ((this.xCellCount = Math.ceil(e / n)), + (this.yCellCount = Math.ceil(t / n))); + for (let a = 0; a < this.xCellCount * this.yCellCount; a++) + (r.push([]), o.push([])); + ((this.circleKeys = []), + (this.boxKeys = []), + (this.bboxes = []), + (this.circles = []), + (this.width = e), + (this.height = t), + (this.xScale = this.xCellCount / e), + (this.yScale = this.yCellCount / t), + (this.boxUid = 0), + (this.circleUid = 0)); + } + keysLength() { + return this.boxKeys.length + this.circleKeys.length; + } + insert(e, t, n, r, o) { + (this._forEachCell(t, n, r, o, this._insertBoxCell, this.boxUid++), + this.boxKeys.push(e), + this.bboxes.push(t), + this.bboxes.push(n), + this.bboxes.push(r), + this.bboxes.push(o)); + } + insertCircle(e, t, n, r) { + (this._forEachCell( + t - r, + n - r, + t + r, + n + r, + this._insertCircleCell, + this.circleUid++, + ), + this.circleKeys.push(e), + this.circles.push(t), + this.circles.push(n), + this.circles.push(r)); + } + _insertBoxCell(e, t, n, r, o, a) { + this.boxCells[o].push(a); + } + _insertCircleCell(e, t, n, r, o, a) { + this.circleCells[o].push(a); + } + _query(e, t, n, r, o, a, i) { + if (n < 0 || e > this.width || r < 0 || t > this.height) return []; + let s = []; + if (e <= 0 && t <= 0 && this.width <= n && this.height <= r) { + if (o) return [{ key: null, x1: e, y1: t, x2: n, y2: r }]; + for (let l = 0; l < this.boxKeys.length; l++) + s.push({ + key: this.boxKeys[l], + x1: this.bboxes[l * 4], + y1: this.bboxes[l * 4 + 1], + x2: this.bboxes[l * 4 + 2], + y2: this.bboxes[l * 4 + 3], + }); + for (let l = 0; l < this.circleKeys.length; l++) { + let c = this.circles[l * 3], + u = this.circles[l * 3 + 1], + d = this.circles[l * 3 + 2]; + s.push({ + key: this.circleKeys[l], + x1: c - d, + y1: u - d, + x2: c + d, + y2: u + d, + }); + } + } else { + let l = { + hitTest: o, + overlapMode: a, + seenUids: { box: {}, circle: {} }, + }; + this._forEachCell(e, t, n, r, this._queryCell, s, l, i); + } + return s; + } + query(e, t, n, r) { + return this._query(e, t, n, r, !1, null); + } + hitTest(e, t, n, r, o, a) { + return this._query(e, t, n, r, !0, o, a).length > 0; + } + hitTestCircle(e, t, n, r, o) { + let a = e - n, + i = e + n, + s = t - n, + l = t + n; + if (i < 0 || a > this.width || l < 0 || s > this.height) return !1; + let c = [], + u = { + hitTest: !0, + overlapMode: r, + circle: { x: e, y: t, radius: n }, + seenUids: { box: {}, circle: {} }, + }; + return ( + this._forEachCell(a, s, i, l, this._queryCellCircle, c, u, o), + c.length > 0 + ); + } + _queryCell(e, t, n, r, o, a, i, s) { + let { seenUids: l, hitTest: c, overlapMode: u } = i, + d = this.boxCells[o], + p = 0.000001; + if (d !== null) { + let m = this.bboxes; + for (let g of d) + if (!l.box[g]) { + l.box[g] = !0; + let v = g * 4, + y = this.boxKeys[g]; + if ( + e <= m[v + 2] + p && + t <= m[v + 3] + p && + n >= m[v + 0] - p && + r >= m[v + 1] - p && + (!s || s(y)) && + (!c || !cme(u, y.overlapMode)) && + (a.push({ + key: y, + x1: m[v], + y1: m[v + 1], + x2: m[v + 2], + y2: m[v + 3], + }), + c) + ) + return !0; + } + } + let f = this.circleCells[o]; + if (f !== null) { + let m = this.circles; + for (let g of f) + if (!l.circle[g]) { + l.circle[g] = !0; + let v = g * 3, + y = this.circleKeys[g]; + if ( + this._circleAndRectCollide( + m[v], + m[v + 1], + m[v + 2], + e, + t, + n, + r, + ) && + (!s || s(y)) && + (!c || !cme(u, y.overlapMode)) + ) { + let x = m[v], + A = m[v + 1], + w = m[v + 2]; + if ( + (a.push({ key: y, x1: x - w, y1: A - w, x2: x + w, y2: A + w }), + c) + ) + return !0; + } + } + } + return !1; + } + _queryCellCircle(e, t, n, r, o, a, i, s) { + let { circle: l, seenUids: c, overlapMode: u } = i, + d = this.boxCells[o]; + if (d !== null) { + let f = this.bboxes; + for (let m of d) + if (!c.box[m]) { + c.box[m] = !0; + let g = m * 4, + v = this.boxKeys[m]; + if ( + this._circleAndRectCollide( + l.x, + l.y, + l.radius, + f[g + 0], + f[g + 1], + f[g + 2], + f[g + 3], + ) && + (!s || s(v)) && + !cme(u, v.overlapMode) + ) + return (a.push(!0), !0); + } + } + let p = this.circleCells[o]; + if (p !== null) { + let f = this.circles; + for (let m of p) + if (!c.circle[m]) { + c.circle[m] = !0; + let g = m * 3, + v = this.circleKeys[m]; + if ( + this._circlesCollide( + f[g], + f[g + 1], + f[g + 2], + l.x, + l.y, + l.radius, + ) && + (!s || s(v)) && + !cme(u, v.overlapMode) + ) + return (a.push(!0), !0); + } + } + } + _forEachCell(e, t, n, r, o, a, i, s) { + let l = this._convertToXCellCoord(e), + c = this._convertToYCellCoord(t), + u = this._convertToXCellCoord(n), + d = this._convertToYCellCoord(r); + for (let p = l; p <= u; p++) + for (let f = c; f <= d; f++) { + let m = this.xCellCount * f + p; + if (o.call(this, e, t, n, r, m, a, i, s)) return; + } + } + _convertToXCellCoord(e) { + return Math.max( + 0, + Math.min(this.xCellCount - 1, Math.floor(e * this.xScale)), + ); + } + _convertToYCellCoord(e) { + return Math.max( + 0, + Math.min(this.yCellCount - 1, Math.floor(e * this.yScale)), + ); + } + _circlesCollide(e, t, n, r, o, a) { + let i = r - e, + s = o - t, + l = n + a; + return l * l > i * i + s * s; + } + _circleAndRectCollide(e, t, n, r, o, a, i) { + let s = (a - r) / 2, + l = Math.abs(e - (r + s)); + if (l > s + n) return !1; + let c = (i - o) / 2, + u = Math.abs(t - (o + c)); + if (u > c + n) return !1; + if (l <= s || u <= c) return !0; + let d = l - s, + p = u - c; + return d * d + p * p <= n * n; + } + }, + AEr, + IEr, + REr = class { + constructor( + e, + t = new nun(e.width + 200, e.height + 200, 25), + n = new nun(e.width + 200, e.height + 200, 25), + ) { + ((this.transform = e), + (this.grid = t), + (this.ignoredGrid = n), + (this.pitchFactor = + Math.cos((e.pitch * Math.PI) / 180) * e.cameraToCenterDistance), + (this.screenRightBoundary = e.width + 100), + (this.screenBottomBoundary = e.height + 100), + (this.gridRightBoundary = e.width + 200), + (this.gridBottomBoundary = e.height + 200), + (this.perspectiveRatioCutoff = 0.6)); + } + placeCollisionBox(e, t, n, r, o, a, i, s, l, c, u, d, p = 0, f = !0) { + let m = e.anchorPointX + s[0], + g = e.anchorPointY + s[1], + v = this.projectAndGetPerspectiveRatio(m, g, o, Ame(c, m, g, p, f), d), + y = n * v.perspectiveRatio, + x; + if (!a && !i) { + let k = v.x + (u ? u.x * y : 0), + L = v.y + (u ? u.y * y : 0); + x = { + allPointsOccluded: !1, + box: [k + e.x1 * y, L + e.y1 * y, k + e.x2 * y, L + e.y2 * y], + }; + } else + x = this._projectCollisionBox(e, y, r, o, a, i, s, v, c, u, d, p, f); + let [A, w, C, E] = x.box, + T = a ? x.allPointsOccluded : v.isOccluded, + I = T; + return ( + (I ||= v.perspectiveRatio < this.perspectiveRatioCutoff), + (I ||= !this.isInsideGrid(A, w, C, E)), + I || (t !== "always" && this.grid.hitTest(A, w, C, E, t, l)) + ? { box: [A, w, C, E], placeable: !1, offscreen: !1, occluded: T } + : { + box: [A, w, C, E], + placeable: !0, + offscreen: this.isOffscreen(A, w, C, E), + occluded: T, + } + ); + } + placeCollisionCircles(e, t, n, r, o, a, i, s, l, c, u, d, p, f) { + let m = [], + g = new ft(t.anchorX, t.anchorY), + v = this.getPerspectiveRatio(g.x, g.y, a, f?.(g.x, g.y)), + y = + (l + ? (o * + this.transform.getPitchedTextCorrection( + t.anchorX, + t.anchorY, + a, + )) / + v + : o * v) / 24, + x = { + projections: {}, + offsets: {}, + cachedAnchorPoint: void 0, + anyProjectionOccluded: !1, + }, + A = t.lineOffsetX * y, + w = t.lineOffsetY * y, + C = { + getElevation: f, + pitchedLabelPlaneMatrix: i, + lineVertexArray: n, + pitchWithMap: l, + projectionCache: x, + transform: this.transform, + tileAnchorPoint: g, + unwrappedTileID: a, + width: this.transform.width, + height: this.transform.height, + translation: p, + }, + E = ddn(y, r, A, w, !1, t, !1, C), + T = !1, + I = !1, + k = !0; + if (E) { + let L = u * 0.5 * v + d, + O = new ft(-100, -100), + B = new ft(this.screenRightBoundary, this.screenBottomBoundary), + U = new yEr(), + { first: D, last: N } = E, + _ = []; + for (let q = D.path.length - 1; q >= 1; q--) _.push(D.path[q]); + for (let q = 1; q < N.path.length; q++) _.push(N.path[q]); + let G = L * 2.5; + if (l) { + let q = this.projectPathToScreenSpace(_, C); + _ = q.some((H) => H.signedDistanceFromCamera <= 0) + ? [] + : q.map((H) => H.point); + } + let Z = []; + if (_.length > 0) { + let q = _[0].clone(), + H = _[0].clone(); + for (let te = 1; te < _.length; te++) + ((q.x = Math.min(q.x, _[te].x)), + (q.y = Math.min(q.y, _[te].y)), + (H.x = Math.max(H.x, _[te].x)), + (H.y = Math.max(H.y, _[te].y))); + Z = + q.x >= O.x && H.x <= B.x && q.y >= O.y && H.y <= B.y + ? [_] + : H.x < O.x || q.x > B.x || H.y < O.y || q.y > B.y + ? [] + : cNe([_], O.x, O.y, B.x, B.y); + } + for (let q of Z) { + U.reset(q, L * 0.25); + let H = 0; + H = U.length <= 0.5 * L ? 1 : Math.ceil(U.paddedLength / G) + 1; + for (let te = 0; te < H; te++) { + let ie = te / Math.max(H - 1, 1), + j = U.lerp(ie), + oe = j.x + 100, + J = j.y + 100; + m.push(oe, J, L, 0); + let Y = oe - L, + ae = J - L, + ne = oe + L, + Se = J + L; + if ( + ((k &&= this.isOffscreen(Y, ae, ne, Se)), + (I ||= this.isInsideGrid(Y, ae, ne, Se)), + e !== "always" && + this.grid.hitTestCircle(oe, J, L, e, c) && + ((T = !0), !s)) + ) + return { circles: [], offscreen: !1, collisionDetected: T }; + } + } + } + return { + circles: (!s && T) || !I || v < this.perspectiveRatioCutoff ? [] : m, + offscreen: k, + collisionDetected: T, + }; + } + projectPathToScreenSpace(e, t) { + return kEr(TEr(e, t)); + } + queryRenderedSymbols(e) { + if ( + e.length === 0 || + (this.grid.keysLength() === 0 && this.ignoredGrid.keysLength() === 0) + ) + return {}; + let t = [], + n = new By(); + for (let u of e) { + let d = new ft(u.x + 100, u.y + 100); + (n.extend(d), t.push(d)); + } + let { minX: r, minY: o, maxX: a, maxY: i } = n, + s = this.grid + .query(r, o, a, i) + .concat(this.ignoredGrid.query(r, o, a, i)), + l = {}, + c = {}; + for (let u of s) { + let d = u.key; + if ( + (l[d.bucketInstanceId] === void 0 && (l[d.bucketInstanceId] = {}), + l[d.bucketInstanceId][d.featureIndex]) + ) + continue; + let p = [ + new ft(u.x1, u.y1), + new ft(u.x2, u.y1), + new ft(u.x2, u.y2), + new ft(u.x1, u.y2), + ]; + YUe(t, p) && + ((l[d.bucketInstanceId][d.featureIndex] = !0), + c[d.bucketInstanceId] === void 0 && (c[d.bucketInstanceId] = []), + c[d.bucketInstanceId].push(d.featureIndex)); + } + return c; + } + insertCollisionBox(e, t, n, r, o, a) { + let i = n ? this.ignoredGrid : this.grid, + s = { + bucketInstanceId: r, + featureIndex: o, + collisionGroupID: a, + overlapMode: t, + }; + i.insert(s, e[0], e[1], e[2], e[3]); + } + insertCollisionCircles(e, t, n, r, o, a) { + let i = n ? this.ignoredGrid : this.grid, + s = { + bucketInstanceId: r, + featureIndex: o, + collisionGroupID: a, + overlapMode: t, + }; + for (let l = 0; l < e.length; l += 4) + i.insertCircle(s, e[l], e[l + 1], e[l + 2]); + } + projectAndGetPerspectiveRatio(e, t, n, r, o) { + if (o) { + let a; + r == null + ? ((a = [e, t, 0, 1]), yze(a, a, o)) + : ((a = [e, t, r, 1]), qp(a, a, o)); + let i = a[3]; + return { + x: ((a[0] / i + 1) / 2) * this.transform.width + 100, + y: ((-a[1] / i + 1) / 2) * this.transform.height + 100, + perspectiveRatio: + 0.5 + 0.5 * (this.transform.cameraToCenterDistance / i), + isOccluded: !1, + signedDistanceFromCamera: i, + }; + } + { + let a = this.transform.projectTileCoordinates(e, t, n, r); + return { + x: ((a.point.x + 1) / 2) * this.transform.width + 100, + y: ((-a.point.y + 1) / 2) * this.transform.height + 100, + perspectiveRatio: + 0.5 + + 0.5 * + (this.transform.cameraToCenterDistance / + a.signedDistanceFromCamera), + isOccluded: a.isOccluded, + signedDistanceFromCamera: a.signedDistanceFromCamera, + }; + } + } + getPerspectiveRatio(e, t, n, r) { + let o = this.transform.projectTileCoordinates(e, t, n, r); + return ( + 0.5 + + 0.5 * + (this.transform.cameraToCenterDistance / o.signedDistanceFromCamera) + ); + } + isOffscreen(e, t, n, r) { + return ( + n < 100 || + e >= this.screenRightBoundary || + r < 100 || + t > this.screenBottomBoundary + ); + } + isInsideGrid(e, t, n, r) { + return ( + n >= 0 && + e < this.gridRightBoundary && + r >= 0 && + t < this.gridBottomBoundary + ); + } + getViewportMatrix() { + let e = Oy([]); + return (vc(e, e, [-100, -100, 0]), e); + } + _projectCollisionBox(e, t, n, r, o, a, i, s, l, c, u, d = 0, p = !0) { + let f = 1, + m = 0, + g = 0, + v = 1, + y = e.anchorPointX + i[0], + x = e.anchorPointY + i[1]; + if (a && !o) { + let N = this.projectAndGetPerspectiveRatio( + y + 1, + x, + r, + Ame(l, y + 1, x, d, p), + u, + ), + _ = N.x - s.x, + G = N.y - s.y, + Z = Math.atan(G / _) + (_ < 0 ? Math.PI : 0), + q = Math.sin(Z), + H = Math.cos(Z); + ((f = H), (m = q), (g = -q), (v = H)); + } else if (!a && o) { + let N = hze(this.transform); + ((f = N.vecEast[0]), + (m = N.vecEast[1]), + (g = N.vecSouth[0]), + (v = N.vecSouth[1])); + } + let { x: A, y: w } = s, + C = t; + if ( + o && + ((A = y), + (w = x), + (C = 2 ** -(this.transform.zoom - n.overscaledZ)), + (C *= this.transform.getPitchedTextCorrection(y, x, r)), + !c) + ) { + let N = + s.signedDistanceFromCamera / this.transform.cameraToCenterDistance, + _ = qr(0.5 + 0.5 * N, 0, 4); + C *= _; + } + c && ((A += f * c.x * C + g * c.y * C), (w += m * c.x * C + v * c.y * C)); + let E = e.x1 * C, + T = e.x2 * C, + I = (E + T) / 2, + k = e.y1 * C, + L = e.y2 * C, + O = (k + L) / 2, + B = [ + { offsetX: E, offsetY: k }, + { offsetX: I, offsetY: k }, + { offsetX: T, offsetY: k }, + { offsetX: T, offsetY: O }, + { offsetX: T, offsetY: L }, + { offsetX: I, offsetY: L }, + { offsetX: E, offsetY: L }, + { offsetX: E, offsetY: O }, + ], + U = []; + for (let { offsetX: N, offsetY: _ } of B) + U.push(new ft(A + f * N + g * _, w + m * N + v * _)); + let D = !1; + if (o) { + let N = U.map((_) => + this.projectAndGetPerspectiveRatio( + _.x, + _.y, + r, + Ame(l, _.x, _.y, d, p), + u, + ), + ); + ((D = N.some((_) => !_.isOccluded)), + (U = N.map((_) => new ft(_.x, _.y)))); + } else D = !0; + return { box: din(U), allPointsOccluded: !D }; + } + }, + aun = class { + constructor(e, t, n, r) { + ((this.opacity = e + ? Math.max(0, Math.min(1, e.opacity + (e.placed ? t : -t))) + : r && n + ? 1 + : 0), + (this.placed = n)); + } + isHidden() { + return this.opacity === 0 && !this.placed; + } + }, + UQ = class { + constructor(e, t, n, r, o) { + ((this.text = new aun(e ? e.text : null, t, n, o)), + (this.icon = new aun(e ? e.icon : null, t, r, o))); + } + isHidden() { + return this.text.isHidden() && this.icon.isHidden(); + } + }, + iun = class { + constructor(e, t, n) { + ((this.text = e), (this.icon = t), (this.skipFade = n)); + } + }, + PEr = class { + constructor(e, t, n, r, o) { + ((this.bucketInstanceId = e), + (this.featureIndex = t), + (this.sourceLayerIndex = n), + (this.bucketIndex = r), + (this.tileID = o)); + } + }, + MEr = class { + constructor(e) { + ((this.crossSourceCollisions = e), + (this.maxGroupID = 0), + (this.collisionGroups = {})); + } + get(e) { + if (this.crossSourceCollisions) return { ID: 0, predicate: null }; + if (!this.collisionGroups[e]) { + let t = ++this.maxGroupID; + this.collisionGroups[e] = { + ID: t, + predicate: (n) => n.collisionGroupID === t, + }; + } + return this.collisionGroups[e]; + } + }, + DEr = class { + constructor(e, t, n, r, o) { + ((this.transform = e.clone()), + (this.terrain = t), + (this.collisionIndex = new REr(this.transform)), + (this.placements = {}), + (this.opacities = {}), + (this.variableOffsets = {}), + (this.stale = !1), + (this.commitTime = 0), + (this.fadeDuration = n), + (this.retainedQueryData = {}), + (this.collisionGroups = new MEr(r)), + (this.collisionCircleArrays = {}), + (this.collisionBoxArrays = new Map()), + (this.prevPlacement = o), + o && (o.prevPlacement = void 0), + (this.placedOrientations = {})); + } + _getTerrainElevationFunc(e) { + let t = this.terrain; + if (t) return (n, r) => t.getElevation(e, n, r); + } + getBucketParts(e, t, n, r) { + let o = n.getBucket(t), + a = n.latestFeatureIndex; + if (!o || !a || t.id !== o.layerIds[0]) return; + let i = n.collisionBoxArray, + s = o.layers[0].layout, + l = o.layers[0].paint, + c = 2 ** (this.transform.zoom - n.tileID.overscaledZ), + u = n.tileSize / Ut, + d = n.tileID.toUnwrapped(), + p = s.get("text-rotation-alignment") === "map", + f = k0(n, 1, this.transform.zoom), + m = Pw( + this.collisionIndex.transform, + n, + l.get("text-translate"), + l.get("text-translate-anchor"), + ), + g = Pw( + this.collisionIndex.transform, + n, + l.get("icon-translate"), + l.get("icon-translate-anchor"), + ), + v = mze(p, this.transform, f); + this.retainedQueryData[o.bucketInstanceId] = new PEr( + o.bucketInstanceId, + a, + o.sourceLayerIndex, + o.index, + n.tileID, + ); + let y = { + bucket: o, + layout: s, + translationText: m, + translationIcon: g, + unwrappedTileID: d, + pitchedLabelPlaneMatrix: v, + scale: c, + textPixelRatio: u, + holdingForFade: n.holdingForSymbolFade(), + collisionBoxArray: i, + partiallyEvaluatedTextSize: RQ(o.textSizeData, this.transform.zoom), + collisionGroup: this.collisionGroups.get(o.sourceID), + }; + if (r) + for (let x of o.sortKeyRanges) { + let { sortKey: A, symbolInstanceStart: w, symbolInstanceEnd: C } = x; + e.push({ + sortKey: A, + symbolInstanceStart: w, + symbolInstanceEnd: C, + parameters: y, + }); + } + else + e.push({ + symbolInstanceStart: 0, + symbolInstanceEnd: o.symbolInstances.length, + parameters: y, + }); + } + attemptAnchorPlacement( + e, + t, + n, + r, + o, + a, + i, + s, + l, + c, + u, + d, + p, + f, + m, + g, + v, + y, + x, + A, + w, + C, + ) { + let E = tme[e.textAnchor], + T = [e.textOffset0, e.textOffset1], + I = sun(E, n, r, T, o), + k = this.collisionIndex.placeCollisionBox( + t, + d, + s, + l, + c, + i, + a, + g, + u.predicate, + x, + I, + A, + w, + C, + ); + if ( + (!y || + this.collisionIndex.placeCollisionBox( + y, + d, + s, + l, + c, + i, + a, + v, + u.predicate, + x, + I, + A, + w, + C, + ).placeable) && + k.placeable + ) { + let L; + if ( + (this.prevPlacement?.variableOffsets[p.crossTileID] && + this.prevPlacement?.placements[p.crossTileID]?.text && + (L = this.prevPlacement.variableOffsets[p.crossTileID].anchor), + p.crossTileID === 0) + ) + throw Error("symbolInstance.crossTileID can't be 0"); + return ( + (this.variableOffsets[p.crossTileID] = { + textOffset: T, + width: n, + height: r, + anchor: E, + textBoxScale: o, + prevAnchor: L, + }), + this.markUsedJustification(f, E, p, m), + f.allowVerticalPlacement && + (this.markUsedOrientation(f, m, p), + (this.placedOrientations[p.crossTileID] = m)), + { shift: I, placedGlyphBoxes: k } + ); + } + } + placeLayerBucketPart(e, t, n) { + let { + bucket: r, + layout: o, + translationText: a, + translationIcon: i, + unwrappedTileID: s, + pitchedLabelPlaneMatrix: l, + textPixelRatio: c, + holdingForFade: u, + collisionBoxArray: d, + partiallyEvaluatedTextSize: p, + collisionGroup: f, + } = e.parameters, + m = o.get("text-optional"), + g = o.get("icon-optional"), + v = iQ(o, "text-overlap", "text-allow-overlap"), + y = v === "always", + x = iQ(o, "icon-overlap", "icon-allow-overlap"), + A = x === "always", + w = o.get("text-rotation-alignment") === "map", + C = o.get("text-pitch-alignment") === "map", + E = o.get("icon-text-fit") !== "none", + T = o.get("symbol-z-order") === "viewport-y", + I = o.get("symbol-height-anchor") === "ground", + k = y && (A || !r.hasIconData() || g), + L = A && (y || !r.hasTextData() || m); + !r.collisionArrays && d && r.deserializeCollisionBoxes(d); + let O = this.retainedQueryData[r.bucketInstanceId].tileID, + B = this._getTerrainElevationFunc(O), + U = this.transform.getFastPathSimpleProjectionMatrix(O), + D = (N, _, G) => { + if (t[N.crossTileID]) return; + if (u) { + this.placements[N.crossTileID] = new iun(!1, !1, !1); + return; + } + let Z = N.heightOffset, + q = !1, + H = !1, + te = !0, + ie = null, + j = { box: null, placeable: !1, offscreen: null, occluded: !1 }, + oe = { box: null, placeable: !1, offscreen: null }, + J = null, + Y = null, + ae = null, + ne = 0, + Se = 0, + fe = 0; + (_.textFeatureIndex + ? (ne = _.textFeatureIndex) + : N.useRuntimeCollisionCircles && (ne = N.featureIndex), + _.verticalTextFeatureIndex && (Se = _.verticalTextFeatureIndex)); + let Ae = _.textBox; + if (Ae) { + let ye = (se) => { + let qe = 1; + if (r.allowVerticalPlacement && !se && this.prevPlacement) { + let Me = this.prevPlacement.placedOrientations[N.crossTileID]; + Me && + ((this.placedOrientations[N.crossTileID] = Me), + (qe = Me), + this.markUsedOrientation(r, qe, N)); + } + return qe; + }, + ce = (se, qe) => { + if ( + r.allowVerticalPlacement && + N.numVerticalGlyphVertices > 0 && + _.verticalTextBox + ) { + for (let Me of r.writingModes) + if ( + (Me === 2 ? ((j = qe()), (oe = j)) : (j = se()), + j?.placeable) + ) + break; + } else j = se(); + }, + { textAnchorOffsetStartIndex: ue, textAnchorOffsetEndIndex: ke } = + N; + if (ke === ue) { + let se = (qe, Me) => { + let Qe = this.collisionIndex.placeCollisionBox( + qe, + v, + c, + O, + s, + C, + w, + a, + f.predicate, + B, + void 0, + U, + Z, + I, + ); + return ( + Qe?.placeable && + (this.markUsedOrientation(r, Me, N), + (this.placedOrientations[N.crossTileID] = Me)), + Qe + ); + }; + (ce( + () => se(Ae, 1), + () => { + let qe = _.verticalTextBox; + return r.allowVerticalPlacement && + N.numVerticalGlyphVertices > 0 && + qe + ? se(qe, 2) + : { box: null, offscreen: null }; + }, + ), + ye(j?.placeable)); + } else { + let se = + tme[ + this.prevPlacement?.variableOffsets[N.crossTileID]?.anchor + ], + qe = (Qe, ee, K) => { + let we = Qe.x2 - Qe.x1, + ze = Qe.y2 - Qe.y1, + tt = N.textBoxScale, + Pe = E && x === "never" ? ee : null, + Ke = null, + Ue = v === "never" ? 1 : 2, + Ze = "never"; + se && Ue++; + for (let ct = 0; ct < Ue; ct++) { + for (let Rt = ue; Rt < ke; Rt++) { + let de = r.textAnchorOffsets.get(Rt); + if (se && de.textAnchor !== se) continue; + let ge = this.attemptAnchorPlacement( + de, + Qe, + we, + ze, + tt, + w, + C, + c, + O, + s, + f, + Ze, + N, + r, + K, + a, + i, + Pe, + B, + U, + Z, + I, + ); + if (ge && ((Ke = ge.placedGlyphBoxes), Ke?.placeable)) + return ((q = !0), (ie = ge.shift), Ke); + } + se ? (se = null) : (Ze = v); + } + return ( + n && + !Ke && + (Ke = { + box: this.collisionIndex.placeCollisionBox( + Ae, + "always", + c, + O, + s, + C, + w, + a, + f.predicate, + B, + void 0, + U, + Z, + I, + ).box, + offscreen: !1, + placeable: !1, + occluded: !1, + }), + Ke + ); + }; + (ce( + () => qe(Ae, _.iconBox, 1), + () => { + let Qe = _.verticalTextBox, + ee = j?.placeable; + return r.allowVerticalPlacement && + !ee && + N.numVerticalGlyphVertices > 0 && + Qe + ? qe(Qe, _.verticalIconBox, 2) + : { box: null, occluded: !0, offscreen: null }; + }, + ), + j && ((q = j.placeable), (te = j.offscreen))); + let Me = ye(j?.placeable); + if (!q && this.prevPlacement) { + let Qe = this.prevPlacement.variableOffsets[N.crossTileID]; + Qe && + ((this.variableOffsets[N.crossTileID] = Qe), + this.markUsedJustification(r, Qe.anchor, N, Me)); + } + } + } + if ( + ((J = j), + (q = J?.placeable), + (te = J?.offscreen), + N.useRuntimeCollisionCircles && + N.centerJustifiedTextSymbolIndex >= 0) + ) { + let ye = r.text.placedSymbolArray.get( + N.centerJustifiedTextSymbolIndex, + ), + ce = eme(r.textSizeData, p, ye), + ue = o.get("text-padding"), + ke = N.collisionCircleDiameter; + ((Y = this.collisionIndex.placeCollisionCircles( + v, + ye, + r.lineVertexArray, + r.glyphOffsetArray, + ce, + s, + l, + n, + C, + f.predicate, + ke, + ue, + a, + B, + )), + Y.circles.length && + Y.collisionDetected && + !n && + Ko("Collisions detected, but collision boxes are not shown"), + (q = y || (Y.circles.length > 0 && !Y.collisionDetected)), + (te &&= Y.offscreen)); + } + if ((_.iconFeatureIndex && (fe = _.iconFeatureIndex), _.iconBox)) { + let ye = (ce) => + this.collisionIndex.placeCollisionBox( + ce, + x, + c, + O, + s, + C, + w, + i, + f.predicate, + B, + E && ie ? ie : void 0, + U, + Z, + I, + ); + (oe && oe.placeable && _.verticalIconBox + ? ((ae = ye(_.verticalIconBox)), (H = ae.placeable)) + : ((ae = ye(_.iconBox)), (H = ae.placeable)), + (te &&= ae.offscreen)); + } + let Ee = + m || + (N.numHorizontalGlyphVertices === 0 && + N.numVerticalGlyphVertices === 0), + pe = g || N.numIconVertices === 0; + !Ee && !pe ? (H = q = H && q) : pe ? Ee || (H &&= q) : (q = H && q); + let Re = q && J.placeable, + Le = H && ae.placeable; + if ( + (Re && + (oe && oe.placeable && Se + ? this.collisionIndex.insertCollisionBox( + J.box, + v, + o.get("text-ignore-placement"), + r.bucketInstanceId, + Se, + f.ID, + ) + : this.collisionIndex.insertCollisionBox( + J.box, + v, + o.get("text-ignore-placement"), + r.bucketInstanceId, + ne, + f.ID, + )), + Le && + this.collisionIndex.insertCollisionBox( + ae.box, + x, + o.get("icon-ignore-placement"), + r.bucketInstanceId, + fe, + f.ID, + ), + Y && + q && + this.collisionIndex.insertCollisionCircles( + Y.circles, + v, + o.get("text-ignore-placement"), + r.bucketInstanceId, + ne, + f.ID, + ), + n && this.storeCollisionData(r.bucketInstanceId, G, _, J, ae, Y), + N.crossTileID === 0) + ) + throw Error("symbolInstance.crossTileID can't be 0"); + if (r.bucketInstanceId === 0) + throw Error("bucket.bucketInstanceId can't be 0"); + let Ne = (q || k) && !J?.occluded, + be = (H || L) && !ae?.occluded; + ((this.placements[N.crossTileID] = new iun( + Ne, + be, + te || r.justReloaded, + )), + (t[N.crossTileID] = !0)); + }; + if (T) { + if (e.symbolInstanceStart !== 0) + throw Error("bucket.bucketInstanceId should be 0"); + let N = r.getSortedSymbolIndexes(-this.transform.bearingInRadians); + for (let _ = N.length - 1; _ >= 0; --_) { + let G = N[_]; + D(r.symbolInstances.get(G), r.collisionArrays[G], G); + } + } else + for (let N = e.symbolInstanceStart; N < e.symbolInstanceEnd; N++) + D(r.symbolInstances.get(N), r.collisionArrays[N], N); + r.justReloaded = !1; + } + storeCollisionData(e, t, n, r, o, a) { + if (n.textBox || n.iconBox) { + let i; + this.collisionBoxArrays.has(e) + ? (i = this.collisionBoxArrays.get(e)) + : ((i = new Map()), this.collisionBoxArrays.set(e, i)); + let s; + (i.has(t) + ? (s = i.get(t)) + : ((s = { text: null, icon: null }), i.set(t, s)), + n.textBox && (s.text = r.box), + n.iconBox && (s.icon = o.box)); + } + if (a) { + let i = this.collisionCircleArrays[e]; + i === void 0 && (i = this.collisionCircleArrays[e] = []); + for (let s = 0; s < a.circles.length; s += 4) + (i.push(a.circles[s + 0] - 100), + i.push(a.circles[s + 1] - 100), + i.push(a.circles[s + 2]), + i.push(+!!a.collisionDetected)); + } + } + markUsedJustification(e, t, n, r) { + let o = { + left: n.leftJustifiedTextSymbolIndex, + center: n.centerJustifiedTextSymbolIndex, + right: n.rightJustifiedTextSymbolIndex, + }, + a; + a = r === 2 ? n.verticalPlacedTextSymbolIndex : o[cfe(t)]; + let i = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + n.verticalPlacedTextSymbolIndex, + ]; + for (let s of i) + s >= 0 && + (a >= 0 && s !== a + ? (e.text.placedSymbolArray.get(s).crossTileID = 0) + : (e.text.placedSymbolArray.get(s).crossTileID = n.crossTileID)); + } + markUsedOrientation(e, t, n) { + let r = t === 1 || t === 3 ? t : 0, + o = t === 2 ? t : 0, + a = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + ]; + for (let i of a) e.text.placedSymbolArray.get(i).placedOrientation = r; + n.verticalPlacedTextSymbolIndex && + (e.text.placedSymbolArray.get( + n.verticalPlacedTextSymbolIndex, + ).placedOrientation = o); + } + commit(e) { + ((this.commitTime = e), + (this.zoomAtLastRecencyCheck = this.transform.zoom)); + let t = this.prevPlacement, + n = !1; + this.prevZoomAdjustment = t ? t.zoomAdjustment(this.transform.zoom) : 0; + let r = t ? t.symbolFadeChange(e) : 1, + o = t ? t.opacities : {}, + a = t ? t.variableOffsets : {}, + i = t ? t.placedOrientations : {}; + for (let s in this.placements) { + let l = this.placements[s], + c = o[s]; + c + ? ((this.opacities[s] = new UQ(c, r, l.text, l.icon)), + (n ||= l.text !== c.text.placed), + (n ||= l.icon !== c.icon.placed)) + : ((this.opacities[s] = new UQ(null, r, l.text, l.icon, l.skipFade)), + (n ||= l.text || l.icon)); + } + for (let s in o) { + let l = o[s]; + if (!this.opacities[s]) { + let c = new UQ(l, r, !1, !1); + c.isHidden() || + ((this.opacities[s] = c), + (n ||= l.text.placed), + (n ||= l.icon.placed)); + } + } + for (let s in a) + !this.variableOffsets[s] && + this.opacities[s] && + !this.opacities[s].isHidden() && + (this.variableOffsets[s] = a[s]); + for (let s in i) + !this.placedOrientations[s] && + this.opacities[s] && + !this.opacities[s].isHidden() && + (this.placedOrientations[s] = i[s]); + if (t && t.lastPlacementChangeTime === void 0) + throw Error( + "Last placement time for previous placement is not defined", + ); + n + ? (this.lastPlacementChangeTime = e) + : typeof this.lastPlacementChangeTime != "number" && + (this.lastPlacementChangeTime = t ? t.lastPlacementChangeTime : e); + } + updateLayerOpacities(e, t) { + let n = {}; + for (let r of t) { + let o = r.getBucket(e); + o && + r.latestFeatureIndex && + e.id === o.layerIds[0] && + this.updateBucketOpacities(o, r.tileID, n, r.collisionBoxArray); + } + } + updateBucketOpacities(e, t, n, r) { + (e.hasTextData() && + (e.text.opacityVertexArray.clear(), (e.text.hasVisibleVertices = !1)), + e.hasIconData() && + (e.icon.opacityVertexArray.clear(), (e.icon.hasVisibleVertices = !1)), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexArray.clear(), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexArray.clear()); + let o = e.layers[0], + a = o.layout, + i = new UQ(null, 0, !1, !1, !0), + s = a.get("text-allow-overlap"), + l = a.get("icon-allow-overlap"), + c = + o._unevaluatedLayout.hasValue("text-variable-anchor") || + o._unevaluatedLayout.hasValue("text-variable-anchor-offset"), + u = a.get("text-rotation-alignment") === "map", + d = a.get("text-pitch-alignment") === "map", + p = a.get("icon-text-fit") !== "none", + f = new UQ( + null, + 0, + s && (l || !e.hasIconData() || a.get("icon-optional")), + l && (s || !e.hasTextData() || a.get("text-optional")), + !0, + ); + !e.collisionArrays && + r && + (e.hasIconCollisionBoxData() || e.hasTextCollisionBoxData()) && + e.deserializeCollisionBoxes(r); + let m = (v, y, x) => { + for (let A = 0; A < y / 4; A++) v.opacityVertexArray.emplaceBack(x); + v.hasVisibleVertices ||= x !== NQ; + }, + g = this.collisionBoxArrays.get(e.bucketInstanceId); + for (let v = 0; v < e.symbolInstances.length; v++) { + let y = e.symbolInstances.get(v), + { + numHorizontalGlyphVertices: x, + numVerticalGlyphVertices: A, + crossTileID: w, + } = y, + C = n[w], + E = this.opacities[w]; + (C ? (E = i) : E || ((E = f), (this.opacities[w] = E)), (n[w] = !0)); + let T = x > 0 || A > 0, + I = y.numIconVertices > 0, + k = this.placedOrientations[y.crossTileID], + L = k === 2, + O = k === 1 || k === 3; + if (T) { + let U = cun(E.text), + D = L ? NQ : U; + m(e.text, x, D); + let N = O ? NQ : U; + m(e.text, A, N); + let _ = E.text.isHidden(), + G = [ + y.rightJustifiedTextSymbolIndex, + y.centerJustifiedTextSymbolIndex, + y.leftJustifiedTextSymbolIndex, + ]; + for (let H of G) + H >= 0 && (e.text.placedSymbolArray.get(H).hidden = _ || L ? 1 : 0); + y.verticalPlacedTextSymbolIndex >= 0 && + (e.text.placedSymbolArray.get( + y.verticalPlacedTextSymbolIndex, + ).hidden = _ || O ? 1 : 0); + let Z = this.variableOffsets[y.crossTileID]; + Z && this.markUsedJustification(e, Z.anchor, y, k); + let q = this.placedOrientations[y.crossTileID]; + q && + (this.markUsedJustification(e, "left", y, q), + this.markUsedOrientation(e, q, y)); + } + if (I) { + let U = cun(E.icon), + D = !(p && y.verticalPlacedIconSymbolIndex && L); + if (y.placedIconSymbolIndex >= 0) { + let N = D ? U : NQ; + (m(e.icon, y.numIconVertices, N), + (e.icon.placedSymbolArray.get(y.placedIconSymbolIndex).hidden = + E.icon.isHidden())); + } + if (y.verticalPlacedIconSymbolIndex >= 0) { + let N = D ? NQ : U; + (m(e.icon, y.numVerticalIconVertices, N), + (e.icon.placedSymbolArray.get( + y.verticalPlacedIconSymbolIndex, + ).hidden = E.icon.isHidden())); + } + } + let B = g?.has(v) ? g.get(v) : { text: null, icon: null }; + if (e.hasIconCollisionBoxData() || e.hasTextCollisionBoxData()) { + let U = e.collisionArrays[v]; + if (U) { + let D = new ft(0, 0); + if (U.textBox || U.verticalTextBox) { + let N = !0; + if (c) { + let _ = this.variableOffsets[w]; + _ + ? ((D = sun( + _.anchor, + _.width, + _.height, + _.textOffset, + _.textBoxScale, + )), + u && + D._rotate( + d + ? -this.transform.bearingInRadians + : this.transform.bearingInRadians, + )) + : (N = !1); + } + if (U.textBox || U.verticalTextBox) { + let _; + (U.textBox && (_ = L), + U.verticalTextBox && (_ = O), + lun( + e.textCollisionBox.collisionVertexArray, + E.text.placed, + !N || _, + B.text, + D.x, + D.y, + )); + } + } + if (U.iconBox || U.verticalIconBox) { + let N = !(O || !U.verticalIconBox), + _; + (U.iconBox && (_ = N), + U.verticalIconBox && (_ = !N), + lun( + e.iconCollisionBox.collisionVertexArray, + E.icon.placed, + _, + B.icon, + p ? D.x : 0, + p ? D.y : 0, + )); + } + } + } + } + if ( + (e.sortFeatures(-this.transform.bearingInRadians), + this.retainedQueryData[e.bucketInstanceId] && + (this.retainedQueryData[e.bucketInstanceId].featureSortOrder = + e.featureSortOrder), + e.hasTextData() && + e.text.opacityVertexBuffer && + e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray), + e.hasIconData() && + e.icon.opacityVertexBuffer && + e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexBuffer && + e.iconCollisionBox.collisionVertexBuffer.updateData( + e.iconCollisionBox.collisionVertexArray, + ), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexBuffer && + e.textCollisionBox.collisionVertexBuffer.updateData( + e.textCollisionBox.collisionVertexArray, + ), + e.text.opacityVertexArray.length !== + e.text.layoutVertexArray.length / 4) + ) + throw Error( + `bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`, + ); + if ( + e.icon.opacityVertexArray.length !== + e.icon.layoutVertexArray.length / 4 + ) + throw Error( + `bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`, + ); + e.bucketInstanceId in this.collisionCircleArrays && + ((e.collisionCircleArray = + this.collisionCircleArrays[e.bucketInstanceId]), + delete this.collisionCircleArrays[e.bucketInstanceId]); + } + symbolFadeChange(e) { + return this.fadeDuration === 0 + ? 1 + : (e - this.commitTime) / this.fadeDuration + this.prevZoomAdjustment; + } + zoomAdjustment(e) { + return Math.max(0, (this.transform.zoom - e) / 1.5); + } + hasTransitions(e) { + return this.stale || e - this.lastPlacementChangeTime < this.fadeDuration; + } + stillRecent(e, t) { + let n = + this.zoomAtLastRecencyCheck === t ? 1 - this.zoomAdjustment(t) : 1; + return ( + (this.zoomAtLastRecencyCheck = t), + this.commitTime + this.fadeDuration * n > e + ); + } + setStale() { + this.stale = !0; + } + }, + LEr = 33554432, + BEr = 16777216, + OEr = 131072, + FEr = 65536, + NQ = 0, + UEr = class { + constructor(e) { + ((this._sortAcrossTiles = + e.layout.get("symbol-z-order") !== "viewport-y" && + !e.layout.get("symbol-sort-key").isConstant()), + (this._currentTileIndex = 0), + (this._currentPartIndex = 0), + (this._seenCrossTileIDs = {}), + (this._bucketParts = [])); + } + continuePlacement(e, t, n, r, o) { + let a = this._bucketParts; + for (; this._currentTileIndex < e.length;) { + let i = e[this._currentTileIndex]; + if ( + (t.getBucketParts(a, r, i, this._sortAcrossTiles), + this._currentTileIndex++, + o()) + ) + return !0; + } + for ( + this._sortAcrossTiles && + ((this._sortAcrossTiles = !1), a.sort((i, s) => i.sortKey - s.sortKey)); + this._currentPartIndex < a.length; + ) { + let i = a[this._currentPartIndex]; + if ( + (t.placeLayerBucketPart(i, this._seenCrossTileIDs, n), + this._currentPartIndex++, + o()) + ) + return !0; + } + return !1; + } + }, + NEr = class { + constructor(e, t, n, r, o, a, i, s) { + ((this.placement = new DEr(e, t, a, i, s)), + (this._currentPlacementIndex = n.length - 1), + (this._forceFullPlacement = r), + (this._showCollisionBoxes = o), + (this._done = !1)); + } + isDone() { + return this._done; + } + continuePlacement(e, t, n) { + let r = vi(), + o = () => !this._forceFullPlacement && vi() - r > 2; + for (; this._currentPlacementIndex >= 0;) { + let a = t[e[this._currentPlacementIndex]], + i = this.placement.collisionIndex.transform.zoom; + if ( + dNe(a) && + a.layout && + (!a.minzoom || a.minzoom <= i) && + (!a.maxzoom || a.maxzoom > i) + ) { + if ( + ((this._inProgressLayer ||= new UEr(a)), + this._inProgressLayer.continuePlacement( + n[a.source], + this.placement, + this._showCollisionBoxes, + a, + o, + )) + ) + return; + delete this._inProgressLayer; + } + this._currentPlacementIndex--; + } + this._done = !0; + } + commit(e) { + return (this.placement.commit(e), this.placement); + } + }, + uun, + Sl, + zEr = class e { + static from(t) { + if (!t || t.byteLength === void 0 || t.buffer) + throw Error( + "Data must be an instance of ArrayBuffer or SharedArrayBuffer.", + ); + let [n, r] = new Uint8Array(t, 0, 2); + if (n !== 219) + throw Error("Data does not appear to be in a KDBush format."); + let o = r >> 4; + if (o !== 1) throw Error(`Got v${o} data when expected v1.`); + let a = uun[r & 15]; + if (!a) throw Error("Unrecognized array type."); + let [i] = new Uint16Array(t, 2, 1), + [s] = new Uint32Array(t, 4, 1); + return new e(s, i, a, void 0, t); + } + constructor(t, n = 64, r = Float64Array, o = ArrayBuffer, a) { + if (isNaN(t) || t < 0) throw Error(`Unexpected numItems value: ${t}.`); + ((this.numItems = +t), + (this.nodeSize = Math.min(Math.max(+n, 2), 65535)), + (this.ArrayType = r), + (this.IndexArrayType = t < 65536 ? Uint16Array : Uint32Array)); + let i = uun.indexOf(this.ArrayType), + s = t * 2 * this.ArrayType.BYTES_PER_ELEMENT, + l = t * this.IndexArrayType.BYTES_PER_ELEMENT, + c = (8 - (l % 8)) % 8; + if (i < 0) throw Error(`Unexpected typed array class: ${r}.`); + if (a) + ((this.data = a), + (this.ids = new this.IndexArrayType(a, 8, t)), + (this.coords = new r(a, 8 + l + c, t * 2)), + (this._pos = t * 2), + (this._finished = !0)); + else { + let u = (this.data = new o(8 + s + l + c)); + ((this.ids = new this.IndexArrayType(u, 8, t)), + (this.coords = new r(u, 8 + l + c, t * 2)), + (this._pos = 0), + (this._finished = !1), + new Uint8Array(u, 0, 2).set([219, 16 + i]), + (new Uint16Array(u, 2, 1)[0] = n), + (new Uint32Array(u, 4, 1)[0] = t)); + } + } + add(t, n) { + let r = this._pos >> 1; + return ( + (this.ids[r] = r), + (this.coords[this._pos++] = t), + (this.coords[this._pos++] = n), + r + ); + } + finish() { + let t = this._pos >> 1; + if (t !== this.numItems) + throw Error(`Added ${t} items when expected ${this.numItems}.`); + return ( + ize(this.ids, this.coords, this.nodeSize, 0, this.numItems - 1, 0), + (this._finished = !0), + this + ); + } + range(t, n, r, o) { + if (!this._finished) + throw Error("Data not yet indexed - call index.finish()."); + let { ids: a, coords: i, nodeSize: s } = this; + ((Sl[0] = 0), (Sl[1] = a.length - 1), (Sl[2] = 0)); + let l = 3, + c = []; + for (; l > 0;) { + let u = Sl[--l], + d = Sl[--l], + p = Sl[--l]; + if (d - p <= s) { + for (let v = p; v <= d; v++) { + let y = i[2 * v], + x = i[2 * v + 1]; + y >= t && y <= r && x >= n && x <= o && c.push(a[v]); + } + continue; + } + let f = (p + d) >> 1, + m = i[2 * f], + g = i[2 * f + 1]; + (m >= t && m <= r && g >= n && g <= o && c.push(a[f]), + (u === 0 ? t <= m : n <= g) && + ((Sl[l++] = p), (Sl[l++] = f - 1), (Sl[l++] = 1 - u)), + (u === 0 ? r >= m : o >= g) && + ((Sl[l++] = f + 1), (Sl[l++] = d), (Sl[l++] = 1 - u))); + } + return c; + } + within(t, n, r) { + let o = []; + return (this.withinInto(t, n, r, o), o); + } + withinInto(t, n, r, o) { + if (!this._finished) + throw Error("Data not yet indexed - call index.finish()."); + let { ids: a, coords: i, nodeSize: s } = this; + ((Sl[0] = 0), (Sl[1] = a.length - 1), (Sl[2] = 0)); + let l = 3, + c = 0, + u = r * r; + for (; l > 0;) { + let d = Sl[--l], + p = Sl[--l], + f = Sl[--l]; + if (p - f <= s) { + for (let y = f; y <= p; y++) + dun(i[2 * y], i[2 * y + 1], t, n) <= u && (o[c++] = a[y]); + continue; + } + let m = (f + p) >> 1, + g = i[2 * m], + v = i[2 * m + 1]; + (dun(g, v, t, n) <= u && (o[c++] = a[m]), + (d === 0 ? t - r <= g : n - r <= v) && + ((Sl[l++] = f), (Sl[l++] = m - 1), (Sl[l++] = 1 - d)), + (d === 0 ? t + r >= g : n + r >= v) && + ((Sl[l++] = m + 1), (Sl[l++] = p), (Sl[l++] = 1 - d))); + } + return c; + } + }, + _Q, + _Er = class { + constructor(e, t, n) { + ((this.tileID = e), + (this.bucketInstanceId = n), + (this._symbolsByKey = {})); + let r = new Map(); + for (let o = 0; o < t.length; o++) { + let a = t.get(o), + i = a.key, + s = r.get(i); + s ? s.push(a) : r.set(i, [a]); + } + for (let [o, a] of r) { + let i = { + positions: a.map((s) => ({ + x: Math.floor(s.anchorX * _Q), + y: Math.floor(s.anchorY * _Q), + })), + crossTileIDs: a.map((s) => s.crossTileID), + }; + if (i.positions.length > 128) { + let s = new zEr(i.positions.length, 16, Uint16Array); + for (let { x: l, y: c } of i.positions) s.add(l, c); + (s.finish(), delete i.positions, (i.index = s)); + } + this._symbolsByKey[o] = i; + } + } + getScaledCoordinates(e, t) { + let { x: n, y: r, z: o } = this.tileID.canonical, + { x: a, y: i, z: s } = t.canonical, + l = s - o, + c = _Q / 2 ** l, + u = (a * Ut + e.anchorX) * c, + d = (i * Ut + e.anchorY) * c, + p = n * Ut * _Q, + f = r * Ut * _Q; + return { x: Math.floor(u - p), y: Math.floor(d - f) }; + } + findMatches(e, t, n) { + let r = + this.tileID.canonical.z < t.canonical.z + ? 1 + : 2 ** (this.tileID.canonical.z - t.canonical.z); + for (let o = 0; o < e.length; o++) { + let a = e.get(o); + if (a.crossTileID) continue; + let i = this._symbolsByKey[a.key]; + if (!i) continue; + let s = this.getScaledCoordinates(a, t); + i.index + ? this.findMatchesForIndexedEntry(i, a, s, r, n) + : i.positions && this.findMatchesForNonIndexedEntry(i, a, s, r, n); + } + } + findMatchesForIndexedEntry(e, t, n, r, o) { + let a = e.index.range(n.x - r, n.y - r, n.x + r, n.y + r), + i = 1 / 0; + for (let s of a) s < i && !o[e.crossTileIDs[s]] && (i = s); + if (i !== 1 / 0) { + let s = e.crossTileIDs[i]; + ((o[s] = !0), (t.crossTileID = s)); + } + } + findMatchesForNonIndexedEntry(e, t, n, r, o) { + for (let a = 0; a < e.positions.length; a++) { + let i = e.positions[a], + s = e.crossTileIDs[a]; + if (Math.abs(i.x - n.x) <= r && Math.abs(i.y - n.y) <= r && !o[s]) { + ((o[s] = !0), (t.crossTileID = s)); + break; + } + } + } + getCrossTileIDsLists() { + return Object.values(this._symbolsByKey).map(({ crossTileIDs: e }) => e); + } + }, + HEr = class { + constructor() { + this.maxCrossTileID = 0; + } + generate() { + return ++this.maxCrossTileID; + } + }, + VEr = class { + constructor() { + ((this.indexes = {}), (this.usedCrossTileIDs = {}), (this.lng = 0)); + } + handleWrapJump(e) { + let t = Math.round((e - this.lng) / 360); + if (t !== 0) + for (let n in this.indexes) { + let r = this.indexes[n], + o = {}; + for (let a in r) { + let i = r[a]; + ((i.tileID = i.tileID.unwrapTo(i.tileID.wrap + t)), + (o[i.tileID.key] = i)); + } + this.indexes[n] = o; + } + this.lng = e; + } + addBucket(e, t, n) { + if (this.indexes[e.overscaledZ]?.[e.key]) { + if ( + this.indexes[e.overscaledZ][e.key].bucketInstanceId === + t.bucketInstanceId + ) + return !1; + this.removeBucketCrossTileIDs( + e.overscaledZ, + this.indexes[e.overscaledZ][e.key], + ); + } + for (let o = 0; o < t.symbolInstances.length; o++) { + let a = t.symbolInstances.get(o); + a.crossTileID = 0; + } + this.usedCrossTileIDs[e.overscaledZ] ||= {}; + let r = this.usedCrossTileIDs[e.overscaledZ]; + for (let o in this.indexes) { + let a = this.indexes[o]; + if (Number(o) > e.overscaledZ) + for (let i in a) { + let s = a[i]; + s.tileID.isChildOf(e) && s.findMatches(t.symbolInstances, e, r); + } + else { + let i = a[e.scaledTo(Number(o)).key]; + i && i.findMatches(t.symbolInstances, e, r); + } + } + for (let o = 0; o < t.symbolInstances.length; o++) { + let a = t.symbolInstances.get(o); + a.crossTileID || + ((a.crossTileID = n.generate()), (r[a.crossTileID] = !0)); + } + return ( + this.indexes[e.overscaledZ] === void 0 && + (this.indexes[e.overscaledZ] = {}), + (this.indexes[e.overscaledZ][e.key] = new _Er( + e, + t.symbolInstances, + t.bucketInstanceId, + )), + !0 + ); + } + removeBucketCrossTileIDs(e, t) { + for (let n of t.getCrossTileIDsLists()) + for (let r of n) delete this.usedCrossTileIDs[e][r]; + } + removeStaleBuckets(e) { + let t = !1; + for (let n in this.indexes) { + let r = this.indexes[n]; + for (let o in r) + e[r[o].bucketInstanceId] || + (this.removeBucketCrossTileIDs(n, r[o]), delete r[o], (t = !0)); + } + return t; + } + }, + hdn = class { + constructor() { + ((this.layerIndexes = {}), + (this.crossTileIDs = new HEr()), + (this.maxBucketInstanceId = 0), + (this.bucketsInCurrentPlacement = {})); + } + addLayer(e, t, n) { + let r = this.layerIndexes[e.id]; + r === void 0 && (r = this.layerIndexes[e.id] = new VEr()); + let o = !1, + a = {}; + r.handleWrapJump(n); + for (let i of t) { + let s = i.getBucket(e); + e.id === s?.layerIds[0] && + ((s.bucketInstanceId ||= + ((this.maxBucketInstanceId += 1), this.maxBucketInstanceId)), + r.addBucket(i.tileID, s, this.crossTileIDs) && (o = !0), + (a[s.bucketInstanceId] = !0)); + } + return (r.removeStaleBuckets(a) && (o = !0), o); + } + pruneUnusedLayers(e) { + let t = {}; + for (let n of e) t[n] = !0; + for (let n in this.layerIndexes) t[n] || delete this.layerIndexes[n]; + } + }, + GEr = `#ifdef GL_ES precision mediump float; #else #if !defined(lowp) @@ -234,7 +123851,8 @@ precision mediump float; #define highp #endif #endif -out highp vec4 fragColor;layout(std140) uniform ProjectionUBO {highp mat4 u_projection_matrix;highp mat4 u_projection_fallback_matrix;highp vec4 u_projection_tile_mercator_coords;highp vec4 u_projection_clipping_plane;highp float u_projection_transition;highp int u_projection_clip_antimeridian;};layout(std140) uniform FrameUBO {highp vec2 u_units_to_pixels;highp vec2 u_world_size;highp float u_camera_to_center_distance;highp float u_symbol_fade_change;highp float u_aspect_ratio;highp float u_device_pixel_ratio;highp vec2 u_viewport_size;highp vec2 u_pixel_extrude_scale;highp float u_pitch;};`,qEr=`#ifdef GL_ES +out highp vec4 fragColor;layout(std140) uniform ProjectionUBO {highp mat4 u_projection_matrix;highp mat4 u_projection_fallback_matrix;highp vec4 u_projection_tile_mercator_coords;highp vec4 u_projection_clipping_plane;highp float u_projection_transition;highp int u_projection_clip_antimeridian;};layout(std140) uniform FrameUBO {highp vec2 u_units_to_pixels;highp vec2 u_world_size;highp float u_camera_to_center_distance;highp float u_symbol_fade_change;highp float u_aspect_ratio;highp float u_device_pixel_ratio;highp vec2 u_viewport_size;highp vec2 u_pixel_extrude_scale;highp float u_pitch;};`, + qEr = `#ifdef GL_ES precision highp float; #else #if !defined(lowp) @@ -282,15 +123900,22 @@ return 0.0; #endif }const float PI=3.141592653589793; #define PROJECTION_UBO -layout(std140) uniform ProjectionUBO {highp mat4 u_projection_matrix;highp mat4 u_projection_fallback_matrix;highp vec4 u_projection_tile_mercator_coords;highp vec4 u_projection_clipping_plane;highp float u_projection_transition;highp int u_projection_clip_antimeridian;};layout(std140) uniform FrameUBO {highp vec2 u_units_to_pixels;highp vec2 u_world_size;highp float u_camera_to_center_distance;highp float u_symbol_fade_change;highp float u_aspect_ratio;highp float u_device_pixel_ratio;highp vec2 u_viewport_size;highp vec2 u_pixel_extrude_scale;highp float u_pitch;};`,ZEr=`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity; +layout(std140) uniform ProjectionUBO {highp mat4 u_projection_matrix;highp mat4 u_projection_fallback_matrix;highp vec4 u_projection_tile_mercator_coords;highp vec4 u_projection_clipping_plane;highp float u_projection_transition;highp int u_projection_clip_antimeridian;};layout(std140) uniform FrameUBO {highp vec2 u_units_to_pixels;highp vec2 u_world_size;highp float u_camera_to_center_distance;highp float u_symbol_fade_change;highp float u_aspect_ratio;highp float u_device_pixel_ratio;highp vec2 u_viewport_size;highp vec2 u_pixel_extrude_scale;highp float u_pitch;};`, + ZEr = `uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,QEr="layout(location=0) in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}",XEr=`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity; +}`, + QEr = + "layout(location=0) in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}", + XEr = `uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,WEr="uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}",YEr=`in vec3 v_data;flat in float v_visibility; +}`, + WEr = + "uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}", + YEr = `in vec3 v_data;flat in float v_visibility; #pragma maplibre: define highp vec4 color #pragma maplibre: define mediump float radius #pragma maplibre: define lowp float blur @@ -310,7 +123935,8 @@ vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_bl #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,KEr=`uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform vec2 u_translate;layout(location=0) in ivec2 a_pos;out vec3 v_data;flat out float v_visibility; +}`, + KEr = `uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform vec2 u_translate;layout(location=0) in ivec2 a_pos;out vec3 v_data;flat out float v_visibility; #pragma maplibre: define highp vec4 color #pragma maplibre: define mediump float radius #pragma maplibre: define lowp float blur @@ -342,16 +123968,9559 @@ vec2 angles=extrude*angle_scale;vec3 corner_vector=globeRotateVector(center_vect #else gl_Position=projectTileWithElevation(corner_position,ele); #endif -} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`,pun="void main() {fragColor=vec4(1.0);}",Qx,gdn="#define PROJECTION_MERCATOR",ydn="mercator",sze=class{constructor(){this._cachedMesh=null}get name(){return"mercator"}get useSubdivision(){return!1}get shaderVariantName(){return ydn}get shaderDefine(){return gdn}get shaderPreludeCode(){return Qx.projectionMercator}get vertexShaderPreludeCode(){return Qx.projectionMercator.vertexSource}get subdivisionGranularity(){return Wfe.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}destroy(){}getMeshFromTileID(e,t,n,r,o){if(this._cachedMesh)return this._cachedMesh;let a=new Lw;a.emplaceBack(0,0),a.emplaceBack(Ut,0),a.emplaceBack(0,Ut),a.emplaceBack(Ut,Ut);let i=e.createVertexBuffer(a,o7.members),s=Vs.simpleSegment(0,0,4,2),l=new xv;l.emplaceBack(1,0,2),l.emplaceBack(1,2,3);let c=e.createIndexBuffer(l);return this._cachedMesh=new qQ(i,c,s),this._cachedMesh}recalculate(){}hasTransition(){return!1}},fun=class e{constructor(t=0,n=0,r=0,o=0){if(isNaN(t)||t<0||isNaN(n)||n<0||isNaN(r)||r<0||isNaN(o)||o<0)throw Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=n,this.left=r,this.right=o}interpolate(t,n,r){return n.top!=null&&t.top!=null&&(this.top=Hs.number(t.top,n.top,r)),n.bottom!=null&&t.bottom!=null&&(this.bottom=Hs.number(t.bottom,n.bottom,r)),n.left!=null&&t.left!=null&&(this.left=Hs.number(t.left,n.left,r)),n.right!=null&&t.right!=null&&(this.right=Hs.number(t.right,n.right,r)),this}getCenter(t,n){let r=qr((this.left+t-this.right)/2,0,t),o=qr((this.top+n-this.bottom)/2,0,n);return new ft(r,o)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new e(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}},vze=class{constructor(e,t){this.applyConstrain=(n,r)=>this._constrainOverride===null?this._callbacks.defaultConstrain(n,r):this._constrainOverride(n,r),this._callbacks=e,this._tileSize=512,this._renderWorldCopies=t?.renderWorldCopies===void 0||!!t?.renderWorldCopies,this._minZoom=t?.minZoom||0,this._maxZoom=t?.maxZoom||22,this._minPitch=t?.minPitch===void 0||t?.minPitch===null?0:t?.minPitch,this._maxPitch=t?.maxPitch===void 0||t?.maxPitch===null?60:t?.maxPitch,this._constrainOverride=t?.constrainOverride??null,this.setMaxBounds(),this._width=0,this._height=0,this._center=new pr(0,0),this._elevation=0,this._zoom=0,this._tileZoom=mun(this._zoom),this._scale=km(this._zoom),this._bearingInRadians=0,this._fovInRadians=0.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new fun,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(e,t){this._constrainOverride=e.constrainOverride,this._latRange=e.latRange,this._lngRange=e.lngRange,this._width=e.width,this._height=e.height,this._center=e.center,this._elevation=e.elevation,this._minElevationForCurrentTile=e.minElevationForCurrentTile,this._zoom=e.zoom,this._tileZoom=mun(this._zoom),this._scale=km(this._zoom),this._bearingInRadians=e.bearingInRadians,this._fovInRadians=e.fovInRadians,this._pitchInRadians=e.pitchInRadians,this._rollInRadians=e.rollInRadians,this._unmodified=e.unmodified,this._edgeInsets=new fun(e.padding.top,e.padding.bottom,e.padding.left,e.padding.right),this._minZoom=e.minZoom,this._maxZoom=e.maxZoom,this._minPitch=e.minPitch,this._maxPitch=e.maxPitch,this._renderWorldCopies=e.renderWorldCopies,this._cameraToCenterDistance=e.cameraToCenterDistance,this._nearZ=e.nearZ,this._farZ=e.farZ,this._autoCalculateNearFarZ=e.autoCalculateNearFarZ,t&&this.constrainInternal(),this._calcMatrices()}get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(e){this._minElevationForCurrentTile=e}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(e){if(this._minZoom===e)return;this._minZoom=e;let t=this._unmodified;this.setZoom(this.applyConstrain(this._center,this.zoom).zoom),this._unmodified=t}get maxZoom(){return this._maxZoom}setMaxZoom(e){if(this._maxZoom===e)return;this._maxZoom=e;let t=this._unmodified;this.setZoom(this.applyConstrain(this._center,this.zoom).zoom),this._unmodified=t}get minPitch(){return this._minPitch}setMinPitch(e){if(this._minPitch===e)return;this._minPitch=e;let t=this._unmodified;this.setPitch(Math.max(this.pitch,e)),this._unmodified=t}get maxPitch(){return this._maxPitch}setMaxPitch(e){if(this._maxPitch===e)return;this._maxPitch=e;let t=this._unmodified;this.setPitch(Math.min(this.pitch,e)),this._unmodified=t}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get constrainOverride(){return this._constrainOverride}setConstrainOverride(e){e===void 0&&(e=null),this._constrainOverride!==e&&(this._constrainOverride=e,this.constrainInternal(),this._calcMatrices())}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new ft(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(e){let t=jg(e,-180,180)*Math.PI/180;this._bearingInRadians!==t&&(this._unmodified=!1,this._bearingInRadians=t,this._calcMatrices(),this._rotationMatrix=Yun(),k5r(this._rotationMatrix,this._rotationMatrix,-this._bearingInRadians))}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(e){let t=qr(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==t&&(this._unmodified=!1,this._pitchInRadians=t,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(e){let t=e/180*Math.PI;this._rollInRadians!==t&&(this._unmodified=!1,this._rollInRadians=t,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return fv(this._fovInRadians)}setFov(e){e=qr(e,0.1,150),this.fov!==e&&(this._unmodified=!1,this._fovInRadians=_s(e),this._calcMatrices())}get zoom(){return this._zoom}setZoom(e){let t=this.applyConstrain(this._center,e).zoom;this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this._tileZoom=Math.max(0,Math.floor(t)),this._scale=km(t),this.constrainInternal(),this._calcMatrices())}get center(){return this._center}setCenter(e){(e.lat!==this._center.lat||e.lng!==this._center.lng)&&(this._unmodified=!1,this._center=e,this.constrainInternal(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(e){e!==this._elevation&&(this._elevation=e,this.constrainInternal(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(e,t){this._autoCalculateNearFarZ=!1,this._nearZ=e,this._farZ=t,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,n){this._unmodified=!1,this._edgeInsets.interpolate(e,t,n),this.constrainInternal(),this._calcMatrices()}resize(e,t,n=!0){this._width=e,this._height=t,n&&this.constrainInternal(),this._calcMatrices()}getMaxBounds(){return this._latRange?.length!==2||this._lngRange?.length!==2?null:new Fw([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]])}setMaxBounds(e){e?(this._lngRange=[e.getWest(),e.getEast()],this._latRange=[e.getSouth(),e.getNorth()],this.constrainInternal()):(this._lngRange=null,this._latRange=[-vv,vv])}getCameraQueryGeometry(e,t){if(t.length===1)return[t[0],e];{let{minX:n,minY:r,maxX:o,maxY:a}=By.fromPoints(t).extend(e);return[new ft(n,r),new ft(o,r),new ft(o,a),new ft(n,a),new ft(n,r)]}}constrainInternal(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:n}=this.applyConstrain(this.center,this.zoom);this.setCenter(t),this.setZoom(n),this._unmodified=e,this._constraining=!1}_calcMatrices(){if(this._pixelPerMeter=$C(1,this.center.lat)*this.worldSize,!this._width||!this._height)return;this._pixelsToGLUnits=[2/this._width,-2/this._height];let e=Oy(new Float64Array(16));Gp(e,e,[this._width/2,-this._height/2,1]),vc(e,e,[1,-1,0]),this._clipSpaceToPixelsMatrix=e,e=Oy(new Float64Array(16)),Gp(e,e,[1,-1,1]),vc(e,e,[-1,-1,0]),Gp(e,e,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=e;let t=this.fovInRadians/2;this._cameraToCenterDistance=0.5/Math.tan(t)*this._height,this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(e,t,n,r){let o=n===void 0?this.bearing:n,a=r=r===void 0?this.pitch:r,{distanceToCenter:i,clampedElevation:s}=this._distanceToCenterFromAltElevationPitch(t,this.elevation,a),{x:l,y:c}=Jfe(a,o),u=ai.fromLngLat(e,t),d=nNe(1,u.y),p,f,m=0;do{if(m+=1,m>10)break;f=i/d;let g=l*f,v=c*f;p=new ai(u.x+g,u.y+v),d=1/p.meterInMercatorCoordinateUnits()}while(Math.abs(i-f*d)>0.000000000001);return{center:p.toLngLat(),elevation:s,zoom:Zp(this.height/2/Math.tan(this.fovInRadians/2)/f/this.tileSize)}}recalculateZoomAndCenter(e){if(this.elevation-e===0)return;let t=1/this.worldSize,n=$C(1,this.center.lat)*this.worldSize,r=ai.fromLngLat(this.center,this.elevation),o=r.x/t,a=r.y/t,i=r.z/t,s=this.pitch,l=this.bearing,{x:c,y:u,z:d}=Jfe(s,l),p=this.cameraToCenterDistance,f=o+p*-c,m=a+p*-u,g=i+p*d,{distanceToCenter:v,clampedElevation:y}=this._distanceToCenterFromAltElevationPitch(g/n,e,s),x=v*n,A=f+c*x,w=m+u*x,C=new ai(A*t,w*t,0).toLngLat(),E=$C(1,C.lat),T=Zp(this.height/2/Math.tan(this.fovInRadians/2)/v/E/this.tileSize);this._elevation=y,this._center=C,this.setZoom(T)}_distanceToCenterFromAltElevationPitch(e,t,n){let r=-Math.cos(_s(n)),o=e-t,a,i=t;return r*o>=0||Math.abs(r)=0?1<r}allowWorldCopies(){return!0}prepareNextFrame(){}},jEr,$Er,hun,gun=-0.5,eIr=class{constructor(e,t,n,r="auto"){this._meshCache={},this.painter=e,this.tileManager=new $Er(t),this.options=n,this.exaggeration=typeof n.exaggeration=="number"?n.exaggeration:1,this._terrainSkirtLength=r,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache=new Map,this._elevationSamplerCache=new Map}destroy(){this._fbo&&=(this._fbo.destroy(),null),this._fboDepthTexture&&=(this._fboDepthTexture.destroy(),null),this._emptyDemTexture&&=(this._emptyDemTexture.destroy(),null),this._emptyDepthTexture&&=(this._emptyDepthTexture.destroy(),null);for(let e in this._meshCache)this._meshCache[e].destroy();this._meshCache={},this.tileManager.destruct()}getDEMElevation(e,t,n,r=Ut){let o=e.normalizeCoordinates(t,n,r);if(!o)return 0;let a=this.getElevationSampler(o.tileID);return a?a(o.x,o.y,r):0}getElevationForLngLatZoom(e,t){if(!pNe(t,e.wrap()))return 0;let{tileID:n,mercatorX:r,mercatorY:o}=this._getOverscaledTileIDFromLngLatZoom(e,t);return this.getElevation(n,r%Ut,o%Ut,Ut)}getElevationForLngLat(e,t){let n=this.getCoverageIndex();if(n){let a=ai.fromLngLat(e),i=bze(n,this.exaggeration,a.x,a.y);if(i.demLoaded)return i.elevation}let r=iB(t,{maxzoom:this.tileManager.maxzoom,minzoom:this.tileManager.minzoom,tileSize:512,terrain:this}),o=0;for(let a of r)a.canonical.z>o&&(o=Math.min(a.canonical.z,this.tileManager.maxzoom));return this.getElevationForLngLatZoom(e,o)}getElevation(e,t,n,r=Ut){return this.getDEMElevation(e,t,n,r)*this.exaggeration}resetElevationCache(){this._elevationSamplerCache.clear(),this._coverageIndex=void 0}getCoverageIndex(){return this._coverageIndex===void 0&&(this._coverageIndex=this._buildCoverageIndex()),this._coverageIndex}_buildCoverageIndex(){let e=[],t=new Map,n=0,r=0;for(let o of this.tileManager.getRenderableTiles()){if(!o)continue;let{canonical:a,wrap:i}=o.tileID;e.includes(a.z)||e.push(a.z);let s=this.getElevationSampler(o.tileID);t.set(`${i}/${a.z}/${a.x}/${a.y}`,s);let{minElevation:l,maxElevation:c}=this.getMinMaxElevation(o.tileID);n=Math.min(n,l??0),r=Math.max(r,c??0)}return t.size===0?null:(e.sort((o,a)=>a-o),{zooms:e,samplerPerTile:t,minElevation:n-10,maxElevation:r+10})}getElevationSampler(e){let t=e.key,n=this._elevationSamplerCache.get(t);if(n)return n;let r=this.tileManager.getSourceTile(e,!0),o=r?.dem;if(!r||!o)return null;let a=this._getDEMTileMatrix(e,r),i=a[0]*o.dim,s=a[5]*o.dim,l=a[12]*o.dim+gun,c=a[13]*o.dim+gun,u=(d,p,f)=>{let m=f===8192?1:Ut/f;return o.sampleBilinear(d*m*i+l,p*m*s+c)};return this._elevationSamplerCache.set(t,u),u}_getDEMTileMatrix(e,t){let n=`${t.tileID.key}/${e.key}`,r=this._demMatrixCache.get(n);if(r)return r;let o=e.canonical.z-t.tileID.canonical.z,a=e.canonical.x-(e.canonical.x>>o<>o<0,n=t&&e.canonical.y===0,r=t&&e.canonical.y===(1<{o=qr(+o,this.minZoom,this.maxZoom);let a={center:new pr(r.lng,r.lat),zoom:o},i=this._helper._lngRange;!this._helper._renderWorldCopies&&i===null&&(i=[-179.9999999999,179.9999999999]);let s=this.tileSize*km(a.zoom),l=0,c=s,u=0,d=s,p=0,f=0,{x:m,y:g}=this.size;if(this._helper._latRange){let C=this._helper._latRange;l=e7(C[1])*s,c=e7(C[0])*s,c-lc&&(A=c-C)}if(i){let C=(u+d)/2,E=v;this._helper._renderWorldCopies&&(E=jg(v,C-s/2,C+s/2));let T=m/2;E-Td&&(x=d-T)}if(x!==void 0||A!==void 0){let C=new ft(x??v,A??y);a.center=KL(s,C).wrap()}return a},this.applyConstrain=(r,o)=>this._helper.applyConstrain(r,o),this._helper=n??new vze({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(r,o)=>this.defaultConstrain(r,o)},t),this._coveringTilesDetailsProvider=new JEr}clone(){let t=new e;return t.apply(this,!1),t}apply(t,n){this._helper.apply(t,n)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(t){let n=[new LQ(0,t)];if(this._helper._renderWorldCopies){let r=this.screenPointToMercatorCoordinate(new ft(0,0)),o=this.screenPointToMercatorCoordinate(new ft(this._helper._width,0)),a=this.screenPointToMercatorCoordinate(new ft(this._helper._width,this._helper._height)),i=this.screenPointToMercatorCoordinate(new ft(0,this._helper._height)),s=Math.floor(Math.min(r.x,o.x,a.x,i.x)),l=Math.floor(Math.max(r.x,o.x,a.x,i.x));for(let c=s-1;c<=l+1;c++)c!==0&&n.push(new LQ(c,t))}return n}getCameraFrustum(){return pze.fromInvProjectionMatrix(this._invViewProjMatrix,this.worldSize)}getClippingPlane(){return null}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(t){let n=this.screenPointToLocation(this.centerPoint,t),r=t?t.getElevationForLngLat(n,this):0;this._helper.recalculateZoomAndCenter(r)}setLocationAtPoint(t,n,r=this.elevation){let o=r-this.elevation,a=this.screenPointToMercatorCoordinateAtZ(n,o),i=this.screenPointToMercatorCoordinateAtZ(this.centerPoint,0),s=ai.fromLngLat(t),l=new ai(s.x-(a.x-i.x),s.y-(a.y-i.y));this.setCenter(l?.toLngLat()),this._helper._renderWorldCopies&&this.setCenter(this.center.wrap())}locationToScreenPoint(t,n){return n?this.coordinatePoint(ai.fromLngLat(t),n.getElevationForLngLat(t,this),this._pixelMatrix3D):this.coordinatePoint(ai.fromLngLat(t))}screenPointToLocation(t,n){return this.screenPointToMercatorCoordinate(t,n)?.toLngLat()}screenPointToLocationAtElevation(t,n){return this.screenPointToMercatorCoordinateAtZ(t,n-this.elevation)?.toLngLat()}screenPointToMercatorCoordinate(t,n){if(n){let r=this.screenTerrainPointToMercatorCoordinate(t,n);if(r!=null)return r}return this.screenPointToMercatorCoordinateAtZ(t)}screenTerrainPointToMercatorCoordinate(t,n){let r=n.getCoverageIndex();if(!r)return null;let{near:o,far:a}=this.getRaySegmentFromPixel(t),i=this.worldSize,s=a[0]-o[0],l=a[1]-o[1],c=a[2]-o[2],u={index:r,exaggeration:n.exaggeration,near:o,dx:s,dy:l,dz:c,worldSize:i},d=0,p=1;if(c===0){if(o[2]>r.maxElevation||o[2]p)return null}let f=Math.hypot(s,l),m=qr(Math.ceil(f*(p-d)/4),1,512),g=0,v=!dme(u,0);for(let y=0;y<=m;y++){let x=d+(p-d)*y/m;if(!v)v=!dme(u,x);else if(dme(u,x)){let{lo:A,hi:w}=bdn(u,dme,g,x,0.001/f),C=wme(u,A),E=wme(u,w),T=o[2]+A*c-C.elevation,I=o[2]+w*c-E.elevation,k=C.covered&&T>I?qr(A+T*(w-A)/(T-I),A,w):w;return new ai((o[0]+k*s)/i,(o[1]+k*l)/i,wme(u,k).elevation)}g=x}return null}getRaySegmentFromPixel(t){let n=[t.x,t.y,0,1],r=[t.x,t.y,1,1];qp(n,n,this._pixelMatrixInverse),qp(r,r,this._pixelMatrixInverse);let o=n[3],a=r[3],i=this.elevation;return{near:[n[0]/o,n[1]/o,n[2]/o+i],far:[r[0]/a,r[1]/a,r[2]/a+i]}}screenPointToMercatorCoordinateAtZ(t,n){let r=n||0,{near:o,far:a}=this.getRaySegmentFromPixel(t),i=o[2]===a[2]?0:(r+this.elevation-o[2])/(a[2]-o[2]);return new ai(Hs.number(o[0],a[0],i)/this.worldSize,Hs.number(o[1],a[1],i)/this.worldSize,r)}coordinatePoint(t,n=0,r=this._pixelMatrix){let o=this._coordinateClipPoint(t,n,r),a=o[3];return a>0?new ft(o[0]/a,o[1]/a):this._offScreenPointBehindCamera(o[0],o[1],a)}_coordinateClipPoint(t,n,r){let o=[t.x*this.worldSize,t.y*this.worldSize,n,1];return qp(o,o,r)}_offScreenPointBehindCamera(t,n,r){let o=this.width/2,a=this.height/2,i=t-o*r,s=n-a*r;i===0&&s===0&&(s=1);let l=o+this.width,c=a+this.height,u=Math.min(i===0?1/0:l/Math.abs(i),s===0?1/0:c/Math.abs(s));return new ft(o+i*u,a+s*u)}getBounds(){let t=Math.max(0,this._helper._height/2-JL(this));return new Fw().extend(this.screenPointToLocation(new ft(0,t))).extend(this.screenPointToLocation(new ft(this._helper._width,t))).extend(this.screenPointToLocation(new ft(this._helper._width,this._helper._height))).extend(this.screenPointToLocation(new ft(0,this._helper._height)))}isPointOnMapSurface(t,n){return n?this.screenTerrainPointToMercatorCoordinate(t,n)!=null:t.y>this.centerPoint.y-JL(this)}calculatePosMatrix(t,n=!1,r=!1){let o=t.key??HT(t.wrap,t.canonical.z,t.canonical.z,t.canonical.x,t.canonical.y),a=n?this._alignedPosMatrixCache:this._posMatrixCache;if(a.has(o)){let l=a.get(o);return r?l.f32:l.f64}let i=Kfe(t,this.worldSize);QT(i,n?this._alignedProjMatrix:this._viewProjMatrix,i);let s={f64:i,f32:new Float32Array(i)};return a.set(o,s),r?s.f32:s.f64}calculateFogMatrix(t){let n=t.key,r=this._fogMatrixCacheF32;if(r.has(n))return r.get(n);let o=Kfe(t,this.worldSize);return QT(o,this._fogMatrix,o),r.set(n,new Float32Array(o)),r.get(n)}calculateCenterFromCameraLngLatAlt(t,n,r,o){return this._helper.calculateCenterFromCameraLngLatAlt(t,n,r,o)}calculateCameraOptionsFromTo(t,n,r,o){let a=ai.fromLngLat(t,n),i=ai.fromLngLat(r,o),s=i.x-a.x,l=i.y-a.y,c=i.z-a.z,u=Math.hypot(s,l,c);if(u===0)throw Error("Can't calculate camera options with same From and To");let d=Math.hypot(s,l),p=Zp(this.cameraToCenterDistance/u/this.tileSize),f=fv(Math.atan2(s,-l)),m=fv(Math.acos(d/u));return m=c<0?90-m:90+m,{center:i.toLngLat(),elevation:o,zoom:p,pitch:m,bearing:f}}_calculateNearFarZ(t,n,r){let o=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),a=t-o*this._helper._pixelPerMeter/Math.cos(n),i=o<0?a:t,s=Math.PI/2+this.pitchInRadians,l=_s(this.fov)*(Math.abs(Math.cos(_s(this.roll)))*this.height+Math.abs(Math.sin(_s(this.roll)))*this.width)/this.height*(0.5+r.y/this.height),c=Math.sin(l)*i/Math.sin(qr(Math.PI-s-l,0.01,Math.PI-0.01)),u=JL(this),d=Math.atan(u/this._helper.cameraToCenterDistance),p=_s(90-e5),f=d>p?2*d*(0.5+r.y/(u*2)):p,m=Math.sin(f)*i/Math.sin(qr(Math.PI-s-f,0.01,Math.PI-0.01)),g=Math.min(c,m);this._helper._farZ=(Math.cos(Math.PI/2-n)*g+i)*1.01,this._helper._nearZ=this._helper._height/50}_calcMatrices(t=this._helper.autoCalculateNearFarZ){let n=this.centerOffset,r=Av(this.worldSize,this.center),{x:o,y:a}=r,i=_s(Math.min(this.pitch,e5)),s=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(i));t&&this._calculateNearFarZ(s,i,n);let l;l=new Float64Array(16),ffe(l,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),bEr(this._invProjMatrix,l),l[8]=-n.x*2/this._helper._width,l[9]=n.y*2/this._helper._height,this._projectionMatrix=pfe(l),Gp(l,l,[1,-1,1]),vc(l,l,[0,0,-this._helper.cameraToCenterDistance]),Rw(l,l,-this.rollInRadians),XT(l,l,this.pitchInRadians),Rw(l,l,-this.bearingInRadians),vc(l,l,[-o,-a,0]),this._mercatorMatrix=Gp([],l,[this.worldSize,this.worldSize,this.worldSize]),Gp(l,l,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=QT(new Float64Array(16),this.clipSpaceToPixelsMatrix,l),vc(l,l,[0,0,-this.elevation]),this._viewProjMatrix=l,this._invViewProjMatrix=sQ([],l);let c=[0,0,-1,1];qp(c,c,this._invViewProjMatrix),this._cameraPosition=[c[0]/c[3],c[1]/c[3],c[2]/c[3]],this._fogMatrix=new Float64Array(16),ffe(this._fogMatrix,this.fovInRadians,this.width/this.height,s,this._helper._farZ),this._fogMatrix[8]=-n.x*2/this.width,this._fogMatrix[9]=n.y*2/this.height,Gp(this._fogMatrix,this._fogMatrix,[1,-1,1]),vc(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),Rw(this._fogMatrix,this._fogMatrix,-this.rollInRadians),XT(this._fogMatrix,this._fogMatrix,this.pitchInRadians),Rw(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),vc(this._fogMatrix,this._fogMatrix,[-o,-a,0]),Gp(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),vc(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=QT(new Float64Array(16),this.clipSpaceToPixelsMatrix,l);let u=this._helper._width%2/2,d=this._helper._height%2/2,p=Math.cos(this.bearingInRadians),f=Math.sin(-this.bearingInRadians),m=o-Math.round(o)+p*u+f*d,g=a-Math.round(a)+p*d+f*u,v=new Float64Array(l);if(vc(v,v,[m>0.5?m-1:m,g>0.5?g-1:g,0]),this._alignedProjMatrix=v,l=sQ(new Float64Array(16),this._pixelMatrix),!l)throw Error("failed to invert matrix");this._pixelMatrixInverse=l,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;let t=this.screenPointToMercatorCoordinate(new ft(0,0)),n=[t.x*this.worldSize,t.y*this.worldSize,0,1];return qp(n,n,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return Math.cos(this.pitchInRadians)*this.cameraToCenterDistance/this.pixelsPerMeter+this.elevation}getCameraLngLat(){let t=$C(1,this.center.lat)*this.worldSize,n=this._helper.cameraToCenterDistance/t;return oNe(this.center,this.elevation,this.pitch,this.bearing,n).toLngLat()}getProjectionData(t){let{overscaledTileID:n,aligned:r,applyTerrainMatrix:o}=t,a=this._helper.getMercatorTileCoordinates(n),i=n?this.calculatePosMatrix(n,r,!0):null,s;return s=n?.terrainRttPosMatrix32f&&o?n.terrainRttPosMatrix32f:i||gUe(),{mainMatrix:s,tileMercatorCoords:a,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:s,clipAntimeridian:!1}}isLocationOccluded(t,n,r){if(!n?.getCoverageIndex())return!1;let o=ai.fromLngLat(t);r??=n.getElevationForLngLat(t,this);let a=this._coordinateClipPoint(o,r,this._pixelMatrix3D),i=a[3];if(i<=0||a[2]>i)return!0;let s=new ft(a[0]/i,a[1]/i),l=this.screenTerrainPointToMercatorCoordinate(s,n);if(l==null)return!1;let c=this.getRaySegmentFromPixel(s),u=vun(c,o.x*this.worldSize,o.y*this.worldSize,r);return vun(c,l.x*this.worldSize,l.y*this.worldSize,l.z){if(l&&e.setZoom(Hs.number(n,f,A)),bUe(o,a)||Adn({startEulerAngles:o,endEulerAngles:a,tr:e,k:A,useSlerp:o.roll!=a.roll}),s&&(e.interpolatePadding(r,t.padding,A),u=e.centerPoint.add(t.offsetAsPoint)),t.around)e.setLocationAtPoint(t.around,t.aroundPoint);else{let w=km(e.zoom-n),C=(f>n?Math.min(2,v):Math.max(0.5,v))**(1-A),E=KL(e.worldSize,m.add(g.mult(A*C)).mult(w));e.setLocationAtPoint(e.renderWorldCopies?E.wrap():E,u)}},x=this._transformAtAnimationEnd(e,f,a,t.padding);return t.around?x.setLocationAtPoint(t.around,t.aroundPoint):x.setLocationAtPoint(p,x.centerPoint.add(t.offsetAsPoint)),{easeFunc:y,isZooming:l,elevationCenter:x.center}}handleFlyTo(e,t){let n=t.zoom!==void 0,r=e.zoom,o=e.applyConstrain(pr.convert(t.center||t.locationAtOffset),n?+t.zoom:r),{center:a,zoom:i}=o;Ime(e,a);let s=e.worldSize,l=Av(s,t.locationAtOffset),c=Av(s,a).sub(l),u=c.mag(),d=km(i-r),p=t.minZoom===void 0?e.minZoom:+t.minZoom,f=Math.max(p,e.minZoom),m=Math.min(f,r,i),g=e.applyConstrain(a,m).zoom,v=km(g-r),y=(A,w,C,E)=>{e.setZoom(A===1?i:r+Zp(w));let T=A===1?a:KL(s,l.add(c.mult(C)));e.setLocationAtPoint(e.renderWorldCopies?T.wrap():T,E)},x=this._transformAtAnimationEnd(e,i,{roll:t.roll,pitch:t.pitch,bearing:t.bearing},t.padding);return x.setLocationAtPoint(a,x.centerPoint.add(t.offsetAsPoint)),{easeFunc:y,scaleOfZoom:d,targetCenter:x.center,scaleOfMinZoom:v,pixelPathLength:u}}_transformAtAnimationEnd(e,t,n,r){let o=e.clone();return o.setZoom(t),o.setRoll(n.roll),o.setPitch(n.pitch),o.setBearing(n.bearing),o.setPadding(r),o}},tIr,nIr=()=>tIr||=new np({type:new Mn(bt.projection.type,"type")}),UNe,Sdn=class{constructor(){this._tileMeshCache={}}get name(){return"vertical-perspective"}get transitionState(){return 1}get useSubdivision(){return!0}get shaderVariantName(){return"globe"}get shaderDefine(){return"#define GLOBE"}get shaderPreludeCode(){return Qx.projectionGlobe}get vertexShaderPreludeCode(){return Qx.projectionMercator.vertexSource}get subdivisionGranularity(){return UNe}get useGlobeControls(){return!0}destroy(){}_getMeshKey(e){return`${e.granularity.toString(36)}_${e.generateBorders?"b":""}${e.extendToNorthPole?"n":""}${e.extendToSouthPole?"s":""}`}getMeshFromTileID(e,t,n,r,o){let a=(o==="stencil"?UNe.stencil:UNe.tile).getGranularityForZoomLevel(t.z),i=t.y===0&&r,s=t.y===(1<>0&1)==1?n[0]:t[0],(o>>1&1)==1?n[1]:t[1],(o>>2&1)==1?n[2]:t[2]]);return new e(r,[[-1,0,0,n[0]],[1,0,0,-t[0]],[0,-1,0,n[1]],[0,1,0,-t[1]],[0,0,-1,n[2]],[0,0,1,-t[2]]],t,n)}static fromCenterSizeAngles(t,n,r){let o=vfe([],r[0],r[1],r[2]),a=gfe([],[n[0],0,0],o),i=gfe([],[0,n[1],0],o),s=gfe([],[0,0,n[2]],o),l=[...t],c=[...t];for(let d=0;d<8;d++)for(let p=0;p<3;p++){let f=t[p]+a[p]*((d>>0&1)==1?1:-1)+i[p]*((d>>1&1)==1?1:-1)+s[p]*((d>>2&1)==1?1:-1);l[p]=Math.min(l[p],f),c[p]=Math.max(c[p],f)}let u=[];for(let d=0;d<8;d++){let p=[...t];Kg(p,p,Ss([],a,(d>>0&1)==1?1:-1)),Kg(p,p,Ss([],i,(d>>1&1)==1?1:-1)),Kg(p,p,Ss([],s,(d>>2&1)==1?1:-1)),u.push(p)}return new e(u,[[...a,-bc(a,u[0])],[...i,-bc(i,u[0])],[...s,-bc(s,u[0])],[-a[0],-a[1],-a[2],-bc(a,u[7])],[-i[0],-i[1],-i[2],-bc(i,u[7])],[-s[0],-s[1],-s[2],-bc(s,u[7])]],l,c)}intersectsFrustum(t){let n=!0,r=this.points.length,o=this.planes.length,a=t.planes.length,i=t.points.length;for(let s=0;s=0&&c++}if(c===0)return 0;c=0&&c++}if(c===0)return 0}return 1}intersectsPlane(t){let n=this.points.length,r=0;for(let o=0;o=0&&r++}return r===n?2:r===0?0:1}},hIr=class{constructor(){this._boundingVolumeCache=new mIr(this._computeTileBoundingVolume)}prepareNextFrame(){this._boundingVolumeCache.swapBuffers()}distanceToTile2d(e,t,n,r){let o=1<4}allowWorldCopies(){return!1}getTileBoundingVolume(e,t,n,r){return this._boundingVolumeCache.getTileBoundingVolume(e,t,n,r)}_computeTileBoundingVolume(e,t,n,r){let o=Math.min(0,n),a=Math.max(0,n);if(r?.terrain){let i=new Xp(e.z,t,e.z,e.x,e.y),s=r.terrain.getMinMaxElevation(i);o=s.minElevation??o,a=Math.max(s.maxElevation??a,a)}if(o/=Pm,a/=Pm,o+=1,a+=1,e.z<=0)return _Ne.fromAabb([-a,-a,-a],[a,a,a]);if(e.z===1)return _Ne.fromAabb([e.x===0?-a:0,e.y===0?0:-a,-a],[e.x===0?0:a,e.y===0?a:0,a]);{let i=[t5(0,0,e.x,e.y,e.z),t5(Ut,0,e.x,e.y,e.z),t5(Ut,Ut,e.x,e.y,e.z),t5(0,Ut,e.x,e.y,e.z)],s=[];for(let I of i)s.push(Ss([],I,a));if(a!==o)for(let I of i)s.push(Ss([],I,o));e.y===0&&s.push([0,1,0]),e.y===(1<=(1<{let a=qr(r.lat,-vv,vv),i=qr(+o,this.minZoom+Wp(0,a),this.maxZoom);return{center:new pr(r.lng,a),zoom:i}},this.applyConstrain=(r,o)=>this._helper.applyConstrain(r,o),this._helper=n??new vze({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(r,o)=>this.defaultConstrain(r,o)},t),this._coveringTilesDetailsProvider=new hIr}clone(){let t=new e;return t.apply(this,!1),t}apply(t,n){this._helper.apply(t,n)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixF64}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){let t=Wa();return t[0]=this._cameraPosition[0],t[1]=this._cameraPosition[1],t[2]=this._cameraPosition[2],t}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(t){let{overscaledTileID:n,applyGlobeMatrix:r}=t,o=this._helper.getMercatorTileCoordinates(n);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:o,clippingPlane:this._cachedClippingPlane,projectionTransition:+!!r,fallbackMatrix:this._globeViewProjMatrix32f,clipAntimeridian:n?.canonical.z===0}}_computeClippingPlane(t){let n=this.pitchInRadians,r=this.cameraToCenterDistance/t,o=Math.sin(n)*r,a=Math.cos(n)*r+1,i=1/Math.sqrt(o*o+a*a)*1,s=-o,l=a,c=Math.sqrt(s*s+l*l);s/=c,l/=c;let u=[0,s,l];yfe(u,u,[0,0,0],-this.bearingInRadians),GL(u,u,[0,0,0],-1*this.center.lat*Math.PI/180),WT(u,u,[0,0,0],this.center.lng*Math.PI/180);let d=1/Fy(u);return Ss(u,u,d),[...u,-i*d]}isLocationOccluded(t,n,r){let o=n?.getCoverageIndex();r??=o?n.getElevationForLngLat(t,this):0;let a=Eun(t,r);if(!this.isSurfacePointVisible(a))return!0;if(!o)return!1;let i=this._projectSurfacePointToScreen(a),s=this.cameraPosition,l=this.getRayDirectionFromPixel(i),c=Iun(s,l,a);if(c<=0)return!0;let u=this.screenTerrainPointToMercatorCoordinate(i,n);return u!=null&&Iun(s,l,Eun(u.toLngLat(),u.z))a&&(a=p),fs&&(s=f)}let u=[c.lng+i,c.lat+l,c.lng+a,c.lat+s];return this.isSurfacePointOnScreen([0,1,0])&&(u[3]=90,u[0]=-180,u[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(u[1]=-90,u[0]=-180,u[2]=180),new Fw(u)}calculateCenterFromCameraLngLatAlt(t,n,r,o){return this._helper.calculateCenterFromCameraLngLatAlt(t,n,r,o)}calculateCameraOptionsFromTo(t,n,r,o){let a=pr.convert(r),i=rp(pr.convert(t));Ss(i,i,1+n/Pm);let s=rp(a),l=Ss(Wa(),s,1+o/Pm),c=hfe(Wa(),i,s),u=Fy(c);if(u=-x&&g<=x,w=y>=-x&&y<=x,C,E;if(A&&w){let L=this.center.lng*Math.PI/180,O=this.center.lat*Math.PI/180,B=pQ(p,L),U=pQ(g,O),D=pQ(f,L),N=pQ(y,O);B+U=0}isSurfacePointOnScreen(t){if(!this.isSurfacePointVisible(t))return!1;let n=WC();return qp(n,[...t,1],this._globeViewProjMatrixF64),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3],n[0]>-1&&n[0]<1&&n[1]>-1&&n[1]<1&&n[2]>-1&&n[2]<1}unprojectScreenPoint(t){let n=this._cameraPosition,r=this.getRayDirectionFromPixel(t),o=pme(n,r);if(o){let u=Wa();Kg(u,n,[r[0]*o.tMin,r[1]*o.tMin,r[2]*o.tMin]);let d=Wa();return Tm(d,u),GQ(d)}let a=this._cachedClippingPlane,i=a[0]*r[0]+a[1]*r[1]+a[2]*r[2],s=-xfe(a,n)/i,l=Wa();if(s>0)Kg(l,n,[r[0]*s,r[1]*s,r[2]*s]);else{let u=Wa();Kg(u,n,[r[0]*2,r[1]*2,r[2]*2]);let d=xfe(this._cachedClippingPlane,u);Gx(l,u,[this._cachedClippingPlane[0]*d,this._cachedClippingPlane[1]*d,this._cachedClippingPlane[2]*d])}let c=uIr(a);return GQ(dIr(c.center,c.radius,l))}getProjectionDataForCustomLayer(t=!0){let n=this.getProjectionData({overscaledTileID:new Xp(0,0,0,0,0),applyGlobeMatrix:t});return n.tileMercatorCoords=[0,0,1,1],n}getFastPathSimpleProjectionMatrix(t){}},Tun=class e{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(t){this._helper.setMinZoom(t)}setMaxZoom(t){this._helper.setMaxZoom(t)}setMinPitch(t){this._helper.setMinPitch(t)}setMaxPitch(t){this._helper.setMaxPitch(t)}setRenderWorldCopies(t){this._helper.setRenderWorldCopies(t)}setBearing(t){this._helper.setBearing(t)}setPitch(t){this._helper.setPitch(t)}setRoll(t){this._helper.setRoll(t)}setFov(t){this._helper.setFov(t)}setZoom(t){this._helper.setZoom(t)}setCenter(t){this._helper.setCenter(t)}setElevation(t){this._helper.setElevation(t)}setMinElevationForCurrentTile(t){this._helper.setMinElevationForCurrentTile(t)}setPadding(t){this._helper.setPadding(t)}interpolatePadding(t,n,r){this._helper.interpolatePadding(t,n,r)}isPaddingEqual(t){return this._helper.isPaddingEqual(t)}resize(t,n,r=!0){this._helper.resize(t,n,r)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(t){this._helper.setMaxBounds(t)}setConstrainOverride(t){this._helper.setConstrainOverride(t)}overrideNearFarZ(t,n){this._helper.overrideNearFarZ(t,n)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(t){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),t)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(t){this._globeness=t,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().prepareNextFrame(),this._mercatorTransform.getCoveringTilesDetailsProvider().prepareNextFrame()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(t){this._globeness=1,this.defaultConstrain=(n,r)=>this.currentTransform.defaultConstrain(n,r),this.applyConstrain=(n,r)=>this._helper.applyConstrain(n,r),this._helper=new vze({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(n,r)=>this.defaultConstrain(n,r)},t),this._globeness=1,this._mercatorTransform=new Tme(void 0,this._helper),this._verticalPerspectiveTransform=new Tdn(void 0,this._helper)}clone(){let t=new e;return t._globeness=this._globeness,t.apply(this,!1),t}apply(t,n){this._helper.apply(t,n)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(t){let n=this._mercatorTransform.getProjectionData(t),r=this._verticalPerspectiveTransform.getProjectionData(t);return{mainMatrix:this.isGlobeRendering?r.mainMatrix:n.mainMatrix,clippingPlane:r.clippingPlane,tileMercatorCoords:r.tileMercatorCoords,projectionTransition:t.applyGlobeMatrix?this._globeness:0,fallbackMatrix:n.fallbackMatrix,clipAntimeridian:r.clipAntimeridian}}isLocationOccluded(t,n,r){return this.currentTransform.isLocationOccluded(t,n,r)}transformLightDirection(t){return this.currentTransform.transformLightDirection(t)}getPixelScale(){return YT(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return YT(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(t,n,r){let o=this._mercatorTransform.getPitchedTextCorrection(t,n,r),a=this._verticalPerspectiveTransform.getPitchedTextCorrection(t,n,r);return YT(o,a,this._globeness)}projectTileCoordinates(t,n,r,o){return this.currentTransform.projectTileCoordinates(t,n,r,o)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform._calcMatrices(),this._mercatorTransform._calcMatrices(this.autoCalculateNearFarZ&&!this.isGlobeRendering))}calculateFogMatrix(t){return this.currentTransform.calculateFogMatrix(t)}getVisibleUnwrappedCoordinates(t){return this.currentTransform.getVisibleUnwrappedCoordinates(t)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(t){this.currentTransform.recalculateZoomAndCenter(t)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this.currentTransform.getCameraAltitude()}getCameraLngLat(){return this.currentTransform.getCameraLngLat()}populateCache(t){this._mercatorTransform.populateCache(t),this._verticalPerspectiveTransform.populateCache(t)}getBounds(){return this.currentTransform.getBounds()}calculateCenterFromCameraLngLatAlt(t,n,r,o){return this._helper.calculateCenterFromCameraLngLatAlt(t,n,r,o)}calculateCameraOptionsFromTo(t,n,r,o){return this.currentTransform.calculateCameraOptionsFromTo(t,n,r,o)}setLocationAtPoint(t,n,r){this.currentTransform.setLocationAtPoint(t,n,r)}locationToScreenPoint(t,n){return this.currentTransform.locationToScreenPoint(t,n)}screenPointToMercatorCoordinate(t,n){return this.currentTransform.screenPointToMercatorCoordinate(t,n)}screenTerrainPointToMercatorCoordinate(t,n){return this.currentTransform.screenTerrainPointToMercatorCoordinate(t,n)}screenPointToLocation(t,n){return this.currentTransform.screenPointToLocation(t,n)}screenPointToLocationAtElevation(t,n){return this.currentTransform.screenPointToLocationAtElevation(t,n)}isPointOnMapSurface(t,n){return this.currentTransform.isPointOnMapSurface(t,n)}getRayDirectionFromPixel(t){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(t)}getProjectionDataForCustomLayer(t=!0){let n=this._mercatorTransform.getProjectionDataForCustomLayer(t);if(!this.isGlobeRendering)return n;let r=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(t);return r.fallbackMatrix=n.mainMatrix,r.projectionTransition=this._globeness,r}getFastPathSimpleProjectionMatrix(t){return this.currentTransform.getFastPathSimpleProjectionMatrix(t)}},Rdn=class e{get useGlobeControls(){return!0}handlePanInertia(t,n){let r=fIr(t,n);return Math.abs(r.lng-n.center.lng)>180&&(r.lng=n.center.lng+179.5*Math.sign(r.lng-n.center.lng)),{easingCenter:r,easingOffset:new ft(0,0)}}handleMapControlsRollPitchBearingZoom(t,n){let r=t.around,o=n.screenPointToLocation(r);t.bearingDelta&&n.setBearing(n.bearing+t.bearingDelta),t.pitchDelta&&n.setPitch(n.pitch+t.pitchDelta),t.rollDelta&&n.setRoll(n.roll+t.rollDelta);let a=n.zoom;t.zoomDelta&&n.setZoom(n.zoom+t.zoomDelta);let i=n.zoom-a;if(i===0)return;let s=R0(n.center.lng,o.lng),l=s/(Math.abs(s/180)+1),c=R0(n.center.lat,o.lat),u=n.getRayDirectionFromPixel(r),d=n.cameraPosition,p=bc(d,u)*-1,f=Wa();Kg(f,d,[u[0]*p,u[1]*p,u[2]*p]);let m=Fy(f),g=m-1,v=Math.exp(-Math.max(g-0.3,0)*0.5),y=fQ(m,0.95,0.999,0,1),x=aB(n.worldSize,n.center.lat)/Math.min(n.width,n.height),A=fQ(x,0.9,0.5,1,0.25),w=Math.min(v,YT(1,A,y)),C=(1-km(-i))*w,E=n.center.lat,T=n.zoom,I=new pr(n.center.lng+l*C,qr(n.center.lat+c*C,-vv,vv));n.setLocationAtPoint(o,r);let k=n.center,L=fQ(Math.abs(s),45,85,0,1),O=Math.max(L,y)**0.25,B=R0(k.lng,I.lng),U=R0(k.lat,I.lat);n.setCenter(new pr(k.lng+B*O,k.lat+U*O).wrap()),n.setZoom(T+Wp(E,n.center.lat))}handleMapControlsPan(t,n,r){t.panDelta&&lIr(n,r,n.isPointOnMapSurface(t.around)?t.around:n.centerPoint,t.panDelta)}cameraForBoxAndBearing(t,n,r,o,a){let i=wdn(t,n,r,o,a);if(!i)return;let s=n.left/a.width*2-1,l=(a.width-n.right)/a.width*2-1,c=n.top/a.height*-2+1,u=(a.height-n.bottom)/a.height*-2+1,d=R0(r.getWest(),r.getEast())<0,p=d?r.getEast():r.getWest(),f=d?r.getWest():r.getEast(),m=Math.max(r.getNorth(),r.getSouth()),g=Math.min(r.getNorth(),r.getSouth()),v=p+R0(p,f)*0.5,y=m+R0(m,g)*0.5,x=a.clone();x.setCenter(i.center),x.setBearing(i.bearing),x.setPitch(0),x.setRoll(0),x.setZoom(i.zoom);let A=x.modelViewProjectionMatrix,w=[rp(r.getNorthWest()),rp(r.getNorthEast()),rp(r.getSouthWest()),rp(r.getSouthEast()),rp(new pr(f,y)),rp(new pr(p,y)),rp(new pr(v,m)),rp(new pr(v,g))],C=rp(i.center),E=1/0;for(let T of w)s<0&&(E=e.getLesserNonNegativeNonNull(E,e.solveVectorScale(T,C,A,"x",s))),l>0&&(E=e.getLesserNonNegativeNonNull(E,e.solveVectorScale(T,C,A,"x",l))),c>0&&(E=e.getLesserNonNegativeNonNull(E,e.solveVectorScale(T,C,A,"y",c))),u<0&&(E=e.getLesserNonNegativeNonNull(E,e.solveVectorScale(T,C,A,"y",u)));if(!Number.isFinite(E)||E===0){xdn();return}return i.zoom=Math.min(x.zoom+Zp(E),t.maxZoom),i}handleJumpToCenterZoom(t,n){let r=t.center.lat,o=t.applyConstrain(n.center?pr.convert(n.center):t.center,t.zoom).center;t.setCenter(o.wrap());let a=n.zoom===void 0?t.zoom+Wp(r,o.lat):+n.zoom;t.zoom!==a&&t.setZoom(a)}handleEaseTo(t,n){let{zoom:r,center:o,padding:a}=t,i={roll:t.roll,pitch:t.pitch,bearing:t.bearing},s={roll:n.roll===void 0?t.roll:n.roll,pitch:n.pitch===void 0?t.pitch:n.pitch,bearing:n.bearing===void 0?t.bearing:n.bearing},l=n.zoom!==void 0,c=!t.isPaddingEqual(n.padding),u=!1,d=n.center?pr.convert(n.center):o,p=t.applyConstrain(d,r).center;Ime(t,p);let f=t.clone();f.setCenter(p),f.setZoom(l?+n.zoom:r+Wp(o.lat,d.lat)),f.setBearing(n.bearing);let m=new ft(qr(t.centerPoint.x+n.offsetAsPoint.x,0,t.width),qr(t.centerPoint.y+n.offsetAsPoint.y,0,t.height));f.setLocationAtPoint(p,m);let g=(n.offset&&n.offsetAsPoint.mag())>0?f.center:p,v=l?+n.zoom:r+Wp(o.lat,g.lat),y=r+Wp(o.lat,0),x=v+Wp(g.lat,0),A=R0(o.lng,g.lng),w=R0(o.lat,g.lat),C=km(x-y);return u=v!==r,{easeFunc:(E)=>{if(bUe(i,s)||Adn({startEulerAngles:i,endEulerAngles:s,tr:t,k:E,useSlerp:i.roll!=s.roll}),c&&t.interpolatePadding(a,n.padding,E),n.around)Ko("Easing around a point is not supported under globe projection."),t.setLocationAtPoint(n.around,n.aroundPoint);else{let T=E*(x>y?Math.min(2,C):Math.max(0.5,C))**(1-E),I=Aun(o,A,w,T);t.setCenter(I.wrap())}if(u){let T=Hs.number(y,x,E)+Wp(0,t.center.lat);t.setZoom(T)}},isZooming:u,elevationCenter:g}}handleFlyTo(t,n){let r=n.zoom!==void 0,{center:o,zoom:a,padding:i}=t,s=!t.isPaddingEqual(n.padding),l=t.applyConstrain(pr.convert(n.center||n.locationAtOffset),a).center,c=r?+n.zoom:t.zoom+Wp(t.center.lat,l.lat),u=t.clone();u.setCenter(l),u.setZoom(c),u.setBearing(n.bearing);let d=new ft(qr(t.centerPoint.x+n.offsetAsPoint.x,0,t.width),qr(t.centerPoint.y+n.offsetAsPoint.y,0,t.height));u.setLocationAtPoint(l,d);let p=u.center;Ime(t,p);let f=rIr(t,o,p),m=a+Wp(o.lat,0),g=c+Wp(p.lat,0),v=km(g-m),y=typeof n.minZoom=="number"?+n.minZoom:t.minZoom,x=Math.max(y,t.minZoom)+Wp(p.lat,0),A=Math.min(x,m,g)+Wp(0,p.lat),w=t.applyConstrain(p,A).zoom+Wp(p.lat,0),C=km(w-m),E=R0(o.lng,p.lng),T=R0(o.lat,p.lat);return{easeFunc:(I,k,L,O)=>{let B=Aun(o,E,T,L);s&&t.interpolatePadding(i,n.padding,I);let U=I===1?p:B;t.setCenter(U.wrap());let D=m+Zp(k);t.setZoom(I===1?c:D+Wp(0,U.lat))},scaleOfZoom:v,targetCenter:p,scaleOfMinZoom:C,pixelPathLength:f}}static solveVectorScale(t,n,r,o,a){let i=a,s=o==="x"?[r[0],r[4],r[8],r[12]]:[r[1],r[5],r[9],r[13]],l=[r[3],r[7],r[11],r[15]],c=t[0]*s[0]+t[1]*s[1]+t[2]*s[2],u=t[0]*l[0]+t[1]*l[1]+t[2]*l[2],d=n[0]*s[0]+n[1]*s[1]+n[2]*s[2],p=n[0]*l[0]+n[1]*l[1]+n[2]*l[2],f=(d+s[3]-i*p-i*l[3])/(d-c-i*p+i*u);return d+i*u===c+i*p||l[3]*(c-d)+s[3]*(p-u)+c*p===d*u?null:f}static getLesserNonNegativeNonNull(t,n){return n!==null&&n>=0&&n({u_depth:new ar(e,t.u_depth),u_terrain:new ar(e,t.u_terrain)}),AIr=(e,t)=>({u_texture:new ar(e,t.u_texture),u_ele_delta:new Un(e,t.u_ele_delta),u_fog_matrix:new Uy(e,t.u_fog_matrix),u_fog_color:new Ow(e,t.u_fog_color),u_fog_ground_blend:new Un(e,t.u_fog_ground_blend),u_fog_ground_blend_opacity:new Un(e,t.u_fog_ground_blend_opacity),u_horizon_color:new Ow(e,t.u_horizon_color),u_horizon_fog_blend:new Un(e,t.u_horizon_fog_blend),u_is_globe_mode:new Un(e,t.u_is_globe_mode)}),wIr=(e,t)=>({u_ele_delta:new Un(e,t.u_ele_delta)}),SIr=(e,t,n,r,o)=>({u_texture:0,u_ele_delta:e,u_fog_matrix:t,u_fog_color:n?n.properties.get("fog-color"):Kr.white,u_fog_ground_blend:n?n.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:o?0:n?n.calculateFogBlendOpacity(r):0,u_horizon_color:n?n.properties.get("horizon-color"):Kr.white,u_horizon_fog_blend:n?n.properties.get("horizon-fog-blend"):1,u_is_globe_mode:+!!o}),CIr=(e)=>({u_ele_delta:e}),Mme,IIr,Aze=class{constructor(e,t,n){this.context=e,this.binding=t,this.contentWords=n.contentWords;let r=e.gl;this.buffer=r.createBuffer(),r.bindBuffer(r.UNIFORM_BUFFER,this.buffer),r.bufferData(r.UNIFORM_BUFFER,n.sizeWords*4,r.DYNAMIC_DRAW),this.uploaded=new Float32Array(n.sizeWords),this.pending=new Float32Array(n.sizeWords),this.uploadedWords=new Uint32Array(this.uploaded.buffer),this.pendingWords=new Uint32Array(this.pending.buffer),this.hasData=!1}upload(){let e=this.context.gl,t=!this.hasData;if(!t){let n=this.pendingWords,r=this.uploadedWords;for(let o=0;o=0&&(this.attributes[k]={location:L,isInteger:I.has(k)})}c.deleteShader(E),c.deleteShader(C);for(let k of y)if(k&&!T[k]){let L=c.getUniformLocation(this.program,k);L&&(T[k]=L)}this.fixedUniforms=r(e,T),this.terrainUniforms=xIr(e,T),this.binderUniforms=n?n.getUniforms(e,T):[]}draw(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x){let A=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.terrainUniformBuffer.bind(),e.frameUniformBuffer.bind(),e.setDepthMode(n),e.setStencilMode(r),e.setColorMode(o),e.setCullFace(a),s){e.activeTexture.set(A.TEXTURE2),A.bindTexture(A.TEXTURE_2D,s.depthTexture),e.activeTexture.set(A.TEXTURE3),A.bindTexture(A.TEXTURE_2D,s.texture);for(let C in this.terrainUniforms)this.terrainUniforms[C].set(s[C]);MIr(e.terrainUniformBuffer,s)}if(TIr(e,l),i)for(let C in this.fixedUniforms)this.fixedUniforms[C].set(i[C]);g&&g.setUniforms(e,this.binderUniforms,f,{zoom:m});let w=0;switch(t){case A.LINES:w=2;break;case A.TRIANGLES:w=3;break;case A.LINE_STRIP:w=1}for(let C of p.get())C.vaos||={},C.vaos[c]||=new bIr,C.vaos[c].bind(e,this,u,g?g.getPaintVertexBuffers():[],d,C.vertexOffset,v,y,x),A.drawElements(t,C.primitiveLength*w,A.UNSIGNED_SHORT,C.primitiveOffset*w*2)}},OIr=(e,t)=>({u_lightpos:new Rm(e,t.u_lightpos),u_lightpos_globe:new Rm(e,t.u_lightpos_globe),u_lightintensity:new Un(e,t.u_lightintensity),u_lightcolor:new Rm(e,t.u_lightcolor),u_vertical_gradient:new Un(e,t.u_vertical_gradient),u_opacity:new Un(e,t.u_opacity),u_fill_translate:new Ao(e,t.u_fill_translate)}),FIr=(e,t)=>({u_lightpos:new Rm(e,t.u_lightpos),u_lightpos_globe:new Rm(e,t.u_lightpos_globe),u_lightintensity:new Un(e,t.u_lightintensity),u_lightcolor:new Rm(e,t.u_lightcolor),u_vertical_gradient:new Un(e,t.u_vertical_gradient),u_height_factor:new Un(e,t.u_height_factor),u_opacity:new Un(e,t.u_opacity),u_fill_translate:new Ao(e,t.u_fill_translate),u_image:new ar(e,t.u_image),u_texsize:new Ao(e,t.u_texsize),u_pixel_coord_upper:new Ao(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Ao(e,t.u_pixel_coord_lower),u_scale:new Rm(e,t.u_scale),u_fade:new Un(e,t.u_fade)}),Bdn=(e,t,n,r)=>{let o=e.style.light,a=o.getCartesianPosition(),i=uUe();o.properties.get("anchor")==="viewport"&&Yan(i,e.transform.bearingInRadians),oin(a,a,i);let s=e.transform.transformLightDirection(a),l=o.properties.get("color");return{u_lightpos:a,u_lightpos_globe:s,u_lightintensity:o.properties.get("intensity"),u_lightcolor:[l.r,l.g,l.b],u_vertical_gradient:+t,u_opacity:n,u_fill_translate:r}},UIr=(e,t,n,r,o,a,i)=>rr(Bdn(e,t,n,r),Ldn(a,e,i),{u_height_factor:-(2**o.overscaledZ)/i.tileSize/8}),NIr=(e,t)=>({u_fill_translate:new Ao(e,t.u_fill_translate)}),zIr=(e,t)=>({u_image:new ar(e,t.u_image),u_texsize:new Ao(e,t.u_texsize),u_pixel_coord_upper:new Ao(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Ao(e,t.u_pixel_coord_lower),u_scale:new Rm(e,t.u_scale),u_fade:new Un(e,t.u_fade),u_sdf_pattern:new ar(e,t.u_sdf_pattern),u_fill_translate:new Ao(e,t.u_fill_translate)}),_Ir=(e,t)=>({u_fill_translate:new Ao(e,t.u_fill_translate)}),HIr=(e,t)=>({u_image:new ar(e,t.u_image),u_texsize:new Ao(e,t.u_texsize),u_pixel_coord_upper:new Ao(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Ao(e,t.u_pixel_coord_lower),u_scale:new Rm(e,t.u_scale),u_fade:new Un(e,t.u_fade),u_sdf_pattern:new ar(e,t.u_sdf_pattern),u_fill_translate:new Ao(e,t.u_fill_translate)}),Odn=(e,t,n,r,o)=>rr(Ldn(t,e,n),{u_fill_translate:r,u_sdf_pattern:+!!o}),VIr=(e)=>({u_fill_translate:e}),GIr=(e)=>({u_fill_translate:e}),qIr=(e,t,n,r,o)=>Odn(e,t,n,r,o),ZIr=(e,t)=>({u_scale_with_map:new ar(e,t.u_scale_with_map),u_pitch_with_map:new ar(e,t.u_pitch_with_map),u_extrude_scale:new Ao(e,t.u_extrude_scale),u_globe_extrude_scale:new Un(e,t.u_globe_extrude_scale),u_translate:new Ao(e,t.u_translate)}),QIr=(e,t,n,r,o)=>{let a=e.transform,i,s,l=0;if(n.paint.get("circle-pitch-alignment")==="map"){let c=k0(t,1,a.zoom);i=!0,s=[c,c],l=c/(Ut*2**t.tileID.overscaledZ)*2*Math.PI*o}else i=!1,s=a.pixelsToGLUnits;return{u_scale_with_map:+(n.paint.get("circle-pitch-scale")==="map"),u_pitch_with_map:+i,u_extrude_scale:s,u_globe_extrude_scale:l,u_translate:r}},XIr=(e,t)=>({u_color:new Ow(e,t.u_color),u_overlay:new ar(e,t.u_overlay),u_overlay_scale:new Un(e,t.u_overlay_scale)}),Mun=(e,t=1)=>({u_color:e,u_overlay:0,u_overlay_scale:t}),WIr=(e,t)=>({u_extrude_scale:new Un(e,t.u_extrude_scale),u_intensity:new Un(e,t.u_intensity),u_globe_extrude_scale:new Un(e,t.u_globe_extrude_scale)}),YIr=(e,t)=>({u_matrix:new Uy(e,t.u_matrix),u_image:new ar(e,t.u_image),u_color_ramp:new ar(e,t.u_color_ramp),u_opacity:new Un(e,t.u_opacity)}),Fdn=(e,t,n,r)=>{let o=k0(e,1,t)/(Ut*2**e.tileID.overscaledZ)*2*Math.PI*r;return{u_extrude_scale:k0(e,1,t),u_intensity:n,u_globe_extrude_scale:o}},Udn=(e,t,n,r)=>{let o=kw();return yv(o,0,e.width,e.height,0,0,1),{u_matrix:o,u_image:n,u_color_ramp:r,u_opacity:t.paint.get("heatmap-opacity")}},KIr=(e,t)=>({u_image:new ar(e,t.u_image),u_latrange:new Ao(e,t.u_latrange),u_exaggeration:new Un(e,t.u_exaggeration),u_altitudes:new XUe(e,t.u_altitudes),u_azimuths:new XUe(e,t.u_azimuths),u_accent:new Ow(e,t.u_accent),u_method:new ar(e,t.u_method),u_shadows:new QUe(e,t.u_shadows),u_highlights:new QUe(e,t.u_highlights)}),JIr=(e,t)=>({u_matrix:new Uy(e,t.u_matrix),u_image:new ar(e,t.u_image),u_dimension:new Ao(e,t.u_dimension),u_zoom:new Un(e,t.u_zoom),u_unpack:new YL(e,t.u_unpack)}),jIr=(e,t,n)=>{let r=n.paint.get("hillshade-accent-color"),o;switch(n.paint.get("hillshade-method")){case"basic":o=4;break;case"combined":o=1;break;case"igor":o=2;break;case"multidirectional":o=3;break;default:o=0}let a=n.getIlluminationProperties();for(let i=0;i{let n=t.stride,r=kw();return yv(r,0,Ut,-Ut,0,0,1),vc(r,r,[0,-Ut,0]),{u_matrix:r,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:t.getUnpackVector()}},tTr=(e,t)=>({u_image:new ar(e,t.u_image),u_unpack:new YL(e,t.u_unpack),u_dimension:new Ao(e,t.u_dimension),u_elevation_stops:new ar(e,t.u_elevation_stops),u_color_stops:new ar(e,t.u_color_stops),u_color_ramp_size:new ar(e,t.u_color_ramp_size),u_opacity:new Un(e,t.u_opacity)}),nTr=(e,t,n=0)=>({u_image:0,u_unpack:t.getUnpackVector(),u_dimension:[t.stride,t.stride],u_elevation_stops:1,u_color_stops:4,u_color_ramp_size:n,u_opacity:e.paint.get("color-relief-opacity")}),rTr=(e,t)=>({u_translation:new Ao(e,t.u_translation),u_ratio:new Un(e,t.u_ratio)}),oTr=(e,t)=>({u_translation:new Ao(e,t.u_translation),u_ratio:new Un(e,t.u_ratio),u_image:new ar(e,t.u_image),u_image_height:new Un(e,t.u_image_height)}),aTr=(e,t)=>({u_translation:new Ao(e,t.u_translation),u_texsize:new Ao(e,t.u_texsize),u_ratio:new Un(e,t.u_ratio),u_image:new ar(e,t.u_image),u_scale:new Rm(e,t.u_scale),u_fade:new Un(e,t.u_fade)}),iTr=(e,t)=>({u_translation:new Ao(e,t.u_translation),u_ratio:new Un(e,t.u_ratio),u_image:new ar(e,t.u_image),u_mix:new Un(e,t.u_mix),u_tileratio:new Un(e,t.u_tileratio),u_crossfade_from:new Un(e,t.u_crossfade_from),u_crossfade_to:new Un(e,t.u_crossfade_to),u_lineatlas_width:new Un(e,t.u_lineatlas_width),u_lineatlas_height:new Un(e,t.u_lineatlas_height)}),sTr=(e,t)=>({u_translation:new Ao(e,t.u_translation),u_ratio:new Un(e,t.u_ratio),u_image:new ar(e,t.u_image),u_image_height:new Un(e,t.u_image_height),u_tileratio:new Un(e,t.u_tileratio),u_crossfade_from:new Un(e,t.u_crossfade_from),u_crossfade_to:new Un(e,t.u_crossfade_to),u_image_dash:new ar(e,t.u_image_dash),u_mix:new Un(e,t.u_mix),u_lineatlas_width:new Un(e,t.u_lineatlas_width),u_lineatlas_height:new Un(e,t.u_lineatlas_height)}),Dme=(e,t,n,r)=>{let o=e.transform;return{u_translation:Ndn(e,t,n),u_ratio:r/k0(t,1,o.zoom)}},lTr=(e,t,n,r,o)=>rr(Dme(e,t,n,r),{u_image:0,u_image_height:o}),cTr=(e,t,n,r,o)=>{let a=e.transform,i=wze(t,a);return{u_translation:Ndn(e,t,n),u_texsize:t.imageAtlasTexture.size,u_ratio:r/k0(t,1,a.zoom),u_image:0,u_scale:[i,o.fromScale,o.toScale],u_fade:o.t}},uTr=(e,t,n,r,o)=>{let a=e.transform,i=wze(t,a);return rr(Dme(e,t,n,r),{u_tileratio:i,u_crossfade_from:o.fromScale,u_crossfade_to:o.toScale,u_image:0,u_mix:o.t,u_lineatlas_width:e.lineAtlas.width,u_lineatlas_height:e.lineAtlas.height})},dTr=(e,t,n,r,o,a)=>{let i=e.transform,s=wze(t,i);return rr(Dme(e,t,n,r),{u_image:0,u_image_height:a,u_tileratio:s,u_crossfade_from:o.fromScale,u_crossfade_to:o.toScale,u_image_dash:1,u_mix:o.t,u_lineatlas_width:e.lineAtlas.width,u_lineatlas_height:e.lineAtlas.height})},pTr=(e,t)=>({u_image:new ar(e,t.u_image),u_opacity:new Un(e,t.u_opacity)}),fTr=(e,t)=>({u_image:t,u_opacity:e}),mTr=(e,t)=>({u_is_size_zoom_constant:new ar(e,t.u_is_size_zoom_constant),u_is_size_feature_constant:new ar(e,t.u_is_size_feature_constant),u_size_t:new Un(e,t.u_size_t),u_size:new Un(e,t.u_size),u_rotate_symbol:new ar(e,t.u_rotate_symbol),u_label_plane_matrix:new Uy(e,t.u_label_plane_matrix),u_coord_matrix:new Uy(e,t.u_coord_matrix),u_is_text:new ar(e,t.u_is_text),u_pitch_with_map:new ar(e,t.u_pitch_with_map),u_is_along_line:new ar(e,t.u_is_along_line),u_is_variable_anchor:new ar(e,t.u_is_variable_anchor),u_texsize:new Ao(e,t.u_texsize),u_texture:new ar(e,t.u_texture),u_translation:new Ao(e,t.u_translation),u_pitched_scale:new Un(e,t.u_pitched_scale),u_is_offset:new ar(e,t.u_is_offset),u_height_anchor_ground:new ar(e,t.u_height_anchor_ground)}),hTr=(e,t)=>({u_is_size_zoom_constant:new ar(e,t.u_is_size_zoom_constant),u_is_size_feature_constant:new ar(e,t.u_is_size_feature_constant),u_size_t:new Un(e,t.u_size_t),u_size:new Un(e,t.u_size),u_rotate_symbol:new ar(e,t.u_rotate_symbol),u_label_plane_matrix:new Uy(e,t.u_label_plane_matrix),u_coord_matrix:new Uy(e,t.u_coord_matrix),u_is_text:new ar(e,t.u_is_text),u_pitch_with_map:new ar(e,t.u_pitch_with_map),u_is_along_line:new ar(e,t.u_is_along_line),u_is_variable_anchor:new ar(e,t.u_is_variable_anchor),u_texsize:new Ao(e,t.u_texsize),u_texture:new ar(e,t.u_texture),u_gamma_scale:new Un(e,t.u_gamma_scale),u_is_halo:new ar(e,t.u_is_halo),u_is_plain:new ar(e,t.u_is_plain),u_translation:new Ao(e,t.u_translation),u_pitched_scale:new Un(e,t.u_pitched_scale),u_is_offset:new ar(e,t.u_is_offset),u_height_anchor_ground:new ar(e,t.u_height_anchor_ground)}),gTr=(e,t)=>({u_is_size_zoom_constant:new ar(e,t.u_is_size_zoom_constant),u_is_size_feature_constant:new ar(e,t.u_is_size_feature_constant),u_size_t:new Un(e,t.u_size_t),u_size:new Un(e,t.u_size),u_rotate_symbol:new ar(e,t.u_rotate_symbol),u_label_plane_matrix:new Uy(e,t.u_label_plane_matrix),u_coord_matrix:new Uy(e,t.u_coord_matrix),u_is_text:new ar(e,t.u_is_text),u_pitch_with_map:new ar(e,t.u_pitch_with_map),u_is_along_line:new ar(e,t.u_is_along_line),u_is_variable_anchor:new ar(e,t.u_is_variable_anchor),u_texsize:new Ao(e,t.u_texsize),u_texsize_icon:new Ao(e,t.u_texsize_icon),u_texture:new ar(e,t.u_texture),u_texture_icon:new ar(e,t.u_texture_icon),u_gamma_scale:new Un(e,t.u_gamma_scale),u_is_halo:new ar(e,t.u_is_halo),u_translation:new Ao(e,t.u_translation),u_pitched_scale:new Un(e,t.u_pitched_scale),u_is_offset:new ar(e,t.u_is_offset),u_height_anchor_ground:new ar(e,t.u_height_anchor_ground)}),zdn=(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m)=>({u_is_size_zoom_constant:+(e==="constant"||e==="source"),u_is_size_feature_constant:+(e==="constant"||e==="camera"),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_rotate_symbol:+n,u_label_plane_matrix:s,u_coord_matrix:l,u_is_text:+u,u_pitch_with_map:+r,u_is_along_line:o,u_is_variable_anchor:a,u_texsize:d,u_texture:0,u_translation:c,u_pitched_scale:p,u_is_offset:f,u_height_anchor_ground:+m}),_dn=(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g)=>{let v=i.transform;return rr(zdn(e,t,n,r,o,a,i,s,l,c,u,d,f,m,g),{u_gamma_scale:r?Math.cos(v.pitch*Math.PI/180)*v.cameraToCenterDistance:1,u_is_halo:+!!p,u_is_plain:1})},yTr=(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m)=>rr(_dn(e,t,n,r,o,a,i,s,l,c,!0,u,!0,p,f,m),{u_texsize_icon:d,u_texture_icon:1}),vTr=(e,t)=>({u_opacity:new Un(e,t.u_opacity),u_color:new Ow(e,t.u_color)}),bTr=(e,t)=>({u_opacity:new Un(e,t.u_opacity),u_image:new ar(e,t.u_image),u_pattern_tl_a:new Ao(e,t.u_pattern_tl_a),u_pattern_br_a:new Ao(e,t.u_pattern_br_a),u_pattern_tl_b:new Ao(e,t.u_pattern_tl_b),u_pattern_br_b:new Ao(e,t.u_pattern_br_b),u_texsize:new Ao(e,t.u_texsize),u_mix:new Un(e,t.u_mix),u_pattern_size_a:new Ao(e,t.u_pattern_size_a),u_pattern_size_b:new Ao(e,t.u_pattern_size_b),u_scale_a:new Un(e,t.u_scale_a),u_scale_b:new Un(e,t.u_scale_b),u_pixel_coord_upper:new Ao(e,t.u_pixel_coord_upper),u_pixel_coord_lower:new Ao(e,t.u_pixel_coord_lower),u_tile_units_to_pixels:new Un(e,t.u_tile_units_to_pixels)}),xTr=(e,t)=>({u_opacity:e,u_color:t}),ATr=(e,t,n,r,o)=>rr(BIr(n,o,t,r),{u_opacity:e}),wTr=(e,t)=>({u_sun_pos:new Rm(e,t.u_sun_pos),u_atmosphere_blend:new Un(e,t.u_atmosphere_blend),u_globe_position:new Rm(e,t.u_globe_position),u_globe_radius:new Un(e,t.u_globe_radius),u_inv_proj_matrix:new Uy(e,t.u_inv_proj_matrix)}),STr=(e,t,n,r,o)=>({u_sun_pos:e,u_atmosphere_blend:t,u_globe_position:n,u_globe_radius:r,u_inv_proj_matrix:o}),CTr=(e,t)=>({u_sky_color:new Ow(e,t.u_sky_color),u_horizon_color:new Ow(e,t.u_horizon_color),u_horizon:new Ao(e,t.u_horizon),u_horizon_normal:new Ao(e,t.u_horizon_normal),u_sky_horizon_blend:new Un(e,t.u_sky_horizon_blend),u_sky_blend:new Un(e,t.u_sky_blend),u_inv_proj_matrix:new Uy(e,t.u_inv_proj_matrix),u_globe_position:new Rm(e,t.u_globe_position),u_globe_radius:new Un(e,t.u_globe_radius),u_atmosphere_blend:new Un(e,t.u_atmosphere_blend)}),ETr=(e,t,n)=>{let r=Math.cos(t.rollInRadians),o=Math.sin(t.rollInRadians),a=JL(t),i=t.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition,s=Edn(t),l=aB(t.worldSize,t.center.lat);return{u_sky_color:e.properties.get("sky-color"),u_horizon_color:e.properties.get("horizon-color"),u_horizon:[(t.width/2-a*o)*n,(t.height/2+a*r)*n],u_horizon_normal:[-o,r],u_sky_horizon_blend:e.properties.get("sky-horizon-blend")*t.height/2*n,u_sky_blend:i,u_inv_proj_matrix:t.inverseProjectionMatrix,u_globe_position:s,u_globe_radius:l,u_atmosphere_blend:e.properties.get("atmosphere-blend")*Idn(Fy(s)-l,l)}},mme=(e,t)=>({}),ITr,TTr=class{constructor(e,t,n){this.context=e;let r=e.gl;this.buffer=r.createBuffer(),this.dynamicDraw=!!n,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||t.freeBufferAfterUpload()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){let e=this.context.gl;this.buffer&&(e.deleteBuffer(this.buffer),delete this.buffer)}},Dun,kTr=class{constructor(e,t,n,r){this.length=t.length,this.attributes=n,this.itemSize=t.bytesPerElement,this.dynamicDraw=r,this.context=e;let o=e.gl;this.buffer=o.createBuffer(),e.bindVertexBuffer.set(this.buffer),o.bufferData(o.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||t.freeBufferAfterUpload()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let n of this.attributes){let r=t.attributes[n.name];r!==void 0&&e.enableVertexAttribArray(r.location)}}setVertexAttribPointers(e,t,n){for(let r of this.attributes){let o=t.attributes[r.name];if(o!==void 0){let a=r.offset+this.itemSize*(n||0);o.isInteger?e.vertexAttribIPointer(o.location,r.components,e[Dun[r.type]],this.itemSize,a):e.vertexAttribPointer(o.location,r.components,e[Dun[r.type]],!1,this.itemSize,a)}}}destroy(){let e=this.context.gl;this.buffer&&(e.deleteBuffer(this.buffer),delete this.buffer)}},bi=class{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}},RTr,PTr,MTr,DTr,LTr,BTr,OTr,FTr,UTr,NTr,zTr,_Tr,HTr,VTr,GTr,qTr,ZTr,QTr,XTr,WTr,YTr,KTr,JTr,jTr,$Tr,e7r,t7r,n7r,r7r,o7r,a7r,Sze,i7r,s7r,l7r,c7r=class{constructor(e,t,n,r,o){this.context=e,this.width=t,this.height=n;let a=e.gl,i=this.framebuffer=a.createFramebuffer();if(this.colorAttachment=new i7r(e,i),r)this.depthAttachment=o?new l7r(e,i):new s7r(e,i);else if(o)throw Error("Stencil cannot be set without depth")}destroy(){let e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){let n=this.depthAttachment.get();n&&e.deleteRenderbuffer(n)}e.deleteFramebuffer(this.framebuffer)}},Hdn,$g,Yl=class{constructor(e,t,n){this.blendFunction=e,this.blendColor=t,this.mask=n}},p7r=class{constructor(e){this.gl=e,this.clearColor=new RTr(this),this.clearDepth=new PTr(this),this.clearStencil=new MTr(this),this.colorMask=new DTr(this),this.depthMask=new LTr(this),this.stencilMask=new BTr(this),this.stencilFunc=new OTr(this),this.stencilOp=new FTr(this),this.stencilTest=new UTr(this),this.depthRange=new NTr(this),this.depthTest=new zTr(this),this.depthFunc=new _Tr(this),this.blend=new HTr(this),this.blendFunc=new VTr(this),this.blendColor=new GTr(this),this.blendEquation=new qTr(this),this.cullFace=new ZTr(this),this.cullFaceSide=new QTr(this),this.frontFace=new XTr(this),this.program=new WTr(this),this.activeTexture=new YTr(this),this.viewport=new KTr(this),this.bindFramebuffer=new JTr(this),this.bindRenderbuffer=new jTr(this),this.bindTexture=new $Tr(this),this.bindVertexBuffer=new e7r(this),this.bindElementBuffer=new t7r(this),this.bindVertexArray=new n7r(this),this.pixelStoreUnpack=new r7r(this),this.pixelStoreUnpackPremultiplyAlpha=new o7r(this),this.pixelStoreUnpackFlipY=new a7r(this),this.extTextureFilterAnisotropic=e.getExtension("EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),e.getExtension("EXT_color_buffer_half_float"),e.getExtension("EXT_color_buffer_float"),this.boundUniformBuffers=[],this.projectionUniformBuffer=Mdn(this),this.keyedProjectionUniformBuffers=new Map,this.freeProjectionUniformBuffers=[],this.terrainUniformBuffer=PIr(this),this.frameUniformBuffer=u7r(this)}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0,this.boundUniformBuffers=[]}setCustomLayerDefaults(){this.unbindVAO(),this.cullFace.setDefault(),this.activeTexture.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}createIndexBuffer(e,t){return new TTr(this,e,t)}createVertexBuffer(e,t,n){return new kTr(this,e,t,n)}createRenderbuffer(e,t,n){let r=this.gl,o=r.createRenderbuffer();return this.bindRenderbuffer.set(o),r.renderbufferStorage(r.RENDERBUFFER,e,t,n),this.bindRenderbuffer.set(null),o}createFramebuffer(e,t,n,r){return new c7r(this,e,t,n,r)}clear({color:e,depth:t,stencil:n}){let r=this.gl,o=0;e&&(o|=r.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),t!==void 0&&(o|=r.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(t),this.depthMask.set(!0)),n!==void 0&&(o|=r.STENCIL_BUFFER_BIT,this.clearStencil.set(n),this.stencilMask.set(255)),r.clear(o)}setCullFace(e){e.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func===this.gl.ALWAYS&&!e.mask?this.depthTest.set(!1):(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range))}setStencilMode(e){e.test.func===this.gl.ALWAYS&&!e.mask?this.stencilTest.set(!1):(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask}))}setColorMode(e){hv(e.blendFunction,Yl.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){return this.gl.createVertexArray()}deleteVertexArray(e){this.gl.deleteVertexArray(e)}unbindVAO(){this.bindVertexArray.set(null)}},Ho=class{constructor(e,t,n){this.func=e,this.mask=t,this.range=n}},GNe=7680,ii=class{constructor(e,t,n,r,o,a){this.test=e,this.ref=t,this.mask=n,this.fail=r,this.depthFail=o,this.pass=a}},Lun=1029,qNe=2305,Ya=class{constructor(e,t,n){this.enable=e,this.mode=t,this.frontFace=n}},hme,h7r,zun=0,WNe,Z7r,Q7r,X7r,W7r,Y7r,lkr,ckr,ukr,dkr=class{constructor(e){this._getHashParams=()=>new URLSearchParams(window.location.hash.replace("#","")),this._getCurrentHash=()=>{let t=this._getHashParams();return this._hashName?(t.get(this._hashName)||"").split("/"):([...t.keys()][0]??"").split("/")},this._onHashChange=()=>{let t=this._getCurrentHash();if(!this._isValidHash(t))return!1;let n=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:n,pitch:+(t[4]||0)}),!0},this._updateHashUnthrottled=()=>{let t=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,t)},this._removeHash=()=>{let t=this._getHashParams();if(this._hashName)t.delete(this._hashName);else{let a=Array.from(t.keys());a.length>0&&t.delete(a[0])}let n=decodeURIComponent(t.toString()).replace(/=&/g,"&").replace(/=$/g,""),r=n?`#${n}`:"",o=window.location.href.replace(/(#.+)?$/,r);o=o.replace("&&","&"),window.history.replaceState(window.history.state,null,o)},this._updateHash=Eze(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){let t=this._map.getCenter(),n=Math.round(this._map.getZoom()*100)/100,r=10**Math.ceil((n*Math.LN2+Math.log(2.8444444444444446))/Math.LN10),o=Math.round(t.lng*r)/r,a=Math.round(t.lat*r)/r,i=this._map.getBearing(),s=this._map.getPitch(),l="";if(l+=e?`/${o}/${a}/${n}`:`${n}/${a}/${o}`,(i||s)&&(l+=`/${Math.round(i*10)/10}`),s&&(l+=`/${Math.round(s)}`),this._hashName){let c=this._getHashParams();return c.set(this._hashName,l),`#${decodeURIComponent(c.toString()).replace(/=&/g,"&").replace(/=$/g,"")}`}return`#${l}`}_isValidHash(e){if(e.length<3||e.some((o)=>isNaN(+o)))return!1;try{new pr(+e[2],+e[1])}catch{return!1}let t=+e[0],n=+(e[3]||0),r=+(e[4]||0);return t>=this._map.getMinZoom()&&t<=this._map.getMaxZoom()&&n>=-180&&n<=180&&r>=this._map.getMinPitch()&&r<=this._map.getMaxPitch()}},QQ,pkr,fkr,mkr,hkr,gkr,ykr=class{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:vi(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=vi();for(;e.length>0&&t-e[0].time>160;)e.shift()}_getVelocityEntries(){let e=this._inertiaBuffer,t=vi()-60,n=Math.max(0,e.length-2);for(;n>0&&e[n-1].time>=t;)n--;return e.slice(n)}_onMoveEnd(e){this._drainInertiaBuffer();let t=this._getVelocityEntries();if(t.length<2){this.clear();return}let n={zoom:0,bearing:0,pitch:0,roll:0,pan:new ft(0,0),pinchAround:void 0,around:void 0};for(let{settings:a}of t)a.around&&(n.around=a.around),a.pinchAround&&(n.pinchAround=a.pinchAround);for(let{settings:a}of t.slice(1))n.zoom+=a.zoomDelta||0,n.bearing+=a.bearingDelta||0,n.pitch+=a.pitchDelta||0,n.roll+=a.rollDelta||0,a.panDelta&&n.pan._add(a.panDelta);if(!n.pan.mag()&&!n.zoom&&!n.bearing&&!n.pitch&&!n.roll){this.clear();return}let r=vi()-t[0].time,o={};if(n.pan.mag()){let a=VQ(n.pan.mag(),r,rr({},pkr,e||{})),i=n.pan.mult(a.amount/n.pan.mag()),s=this._map._camera.cameraHelper.handlePanInertia(i,this._map._camera.transform);o.center=s.easingCenter,o.offset=s.easingOffset,HQ(o,a)}if(n.zoom){let a=VQ(n.zoom,r,fkr);o.zoom=P0(this._map.getZoom()+a.amount,this._map.getZoomSnap(),a.amount),HQ(o,a)}if(n.bearing){let a=VQ(n.bearing,r,mkr);o.bearing=this._map.getBearing()+qr(a.amount,-179,179),HQ(o,a)}if(n.pitch){let a=VQ(n.pitch,r,hkr);o.pitch=this._map.getPitch()+a.amount,HQ(o,a)}if(n.roll){let a=VQ(n.roll,r,gkr);o.roll=this._map.getRoll()+qr(a.amount,-179,179),HQ(o,a)}if(o.zoom||o.bearing){let a=n.pinchAround===void 0?n.around:n.pinchAround;o.around=a?this._map.unproject(a):this._map.getCenter()}return this.clear(),rr(o,{noMoveStart:!0})}},vkr=class{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new O5r(this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new t1(e.type,this._map,e))}mouseup(e){this._map.fire(new t1(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new t1(e.type,this._map,e))}dblclick(e){return this._firePreventable(new t1(e.type,this._map,e))}mouseover(e){this._map.fire(new t1(e.type,this._map,e))}mouseout(e){this._map.fire(new t1(e.type,this._map,e))}touchstart(e){return this._firePreventable(new ame(e.type,this._map,e))}touchmove(e){this._map.fire(new ame(e.type,this._map,e))}touchend(e){this._map.fire(new ame(e.type,this._map,e))}touchcancel(e){this._map.fire(new ame(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}},bkr=class{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent,this._clearLongPress(),this._touchActive=!1}mousemove(e){this._map.fire(new t1(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new t1("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}touchstart(e,t,n){if(this._clearLongPress(),this._touchActive=n.length>0,n.length!==1)return;this._longPressStart=t[0];let r=n[0];this._longPressTimer=setTimeout(()=>{this._longPressTimer=void 0;let o=new MouseEvent("contextmenu",{clientX:r.clientX,clientY:r.clientY,button:2,bubbles:!0,cancelable:!0});this._map.fire(new t1("contextmenu",this._map,o))},500)}touchmove(e,t,n){this._longPressTimer&&(n.length!==1||!this._longPressStart||t[0].dist(this._longPressStart)>this._clickTolerance)&&this._clearLongPress()}touchend(){this._touchActive=!1,this._clearLongPress()}touchcancel(){this._touchActive=!1,this._clearLongPress()}_clearLongPress(){this._longPressTimer&&=(clearTimeout(this._longPressTimer),void 0),this._longPressStart=void 0}contextmenu(e){if(this._touchActive){e.preventDefault();return}this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new t1(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}},xkr=class{constructor(e,t,n){this._map=e,this._tr=n,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1,t.boxZoom&&typeof t.boxZoom=="object"&&(this._boxZoomEnd=t.boxZoom.boxZoomEnd)}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&e.button===0&&(Cl.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let n=t;if(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)o.fitScreenCoordinates(n,r,this._tr.bearing,{linear:!0})}}}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&=(this._box.remove(),null),Cl.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,t){return this._map.fire(new Ucn(e,{originalEvent:t}))}},wkr=class{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,t,n){(this.centroid||n.length>this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=Akr(t),this.touches=lze(n,t)))}touchmove(e,t,n){if(this.aborted||!this.centroid)return;let r=lze(n,t);for(let o in this.touches){let a=this.touches[o],i=r[o];(!i||i.dist(a)>30)&&(this.aborted=!0)}}touchend(e,t,n){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),n.length===0){let r=!this.aborted&&this.centroid;if(this.reset(),r)return r}}},cze=class{constructor(e){this.singleTap=new wkr(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,n){this.singleTap.touchstart(e,t,n)}touchmove(e,t,n){this.singleTap.touchmove(e,t,n)}touchend(e,t,n){let r=this.singleTap.touchend(e,t,n);if(r){let o=e.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(r)<30;if((!o||!a)&&this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}},Skr=class{constructor(e,t){this._tr=t,this._zoomIn=new cze({numTouches:1,numTaps:2}),this._zoomOut=new cze({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,n){this._zoomIn.touchstart(e,t,n),this._zoomOut.touchstart(e,t,n)}touchmove(e,t,n){this._zoomIn.touchmove(e,t,n),this._zoomOut.touchmove(e,t,n)}touchend(e,t,n){let r=this._zoomIn.touchend(e,t,n),o=this._zoomOut.touchend(e,t,n),a=this._tr;if(r)return this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:(i)=>i.easeTo({duration:300,zoom:P0(a.zoom+1,i.getZoomSnap()),around:a.transform.isPointOnMapSurface(r)?a.unproject(r):void 0},{originalEvent:e})};if(o)return this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:(i)=>i.easeTo({duration:300,zoom:P0(a.zoom-1,i.getZoomSnap()),around:a.transform.isPointOnMapSurface(o)?a.unproject(o):void 0},{originalEvent:e})}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}},Lme=class{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.rollDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=Array.isArray(t)?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let n=this._lastPoint;if(!n)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e)){this.reset(e);return}let r=Array.isArray(t)?t[0]:t;if(!(!this._moved&&r.dist(n){e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=(t)=>{t.preventDefault()}},Pkr=class{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new ft(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,n){return this._calculateTransform(e,t,n)}touchmove(e,t,n){if(this._active){if(this._shouldBePrevented(n.length)){this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e);return}return e.preventDefault(),this._calculateTransform(e,t,n)}}touchend(e,t,n){this._calculateTransform(e,t,n),this._active&&this._shouldBePrevented(n.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,t,n){n.length>0&&(this._active=!0);let r=lze(n,t),o=new ft(0,0),a=new ft(0,0),i=0;for(let l in r){let c=r[l],u=this._touches[l];u&&(o._add(c),a._add(c.sub(u)),i++,r[l]=c)}if(this._touches=r,this._shouldBePrevented(i)||!a.mag())return;let s=a.div(i);if(this._sum._add(s),!(this._sum.mag(){let s=this._tr;i.easeTo({duration:300,easeId:"keyboardHandler",easing:Fkr,zoom:t?P0(s.zoom+t*(e.shiftKey?2:1),i.getZoomSnap()):s.zoom,bearing:s.bearing+n*this._bearingStep,pitch:s.pitch+r*this._pitchStep,offset:[-o*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}},Zun=4.000244140625,Ukr=class{constructor(e,t,n){this._onTimeout=(r)=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(r)},this._map=e,this._tr=n,this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=0.01,this._wheelZoomRate=0.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return this._map.cooperativeGestures.isEnabled()?!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e)):!1}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e)){this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);return}let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?e.deltaY*40:e.deltaY,n=vi(),r=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,t!==0&&t%Zun==0?this._type="wheel":t!==0&&Math.abs(t)<4?this._type="trackpad":r>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._needsRerender=!1,this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let t=Cl.mousePos(this._map.getCanvas(),e),n=this._tr;this._aroundPoint=this._aroundCenter?n.transform.locationToScreenPoint(pr.convert(n.center)):t,this._needsRerender||(this._needsRerender=!0,this._triggerRenderFrame())}renderFrame(){if(!this._needsRerender||(this._needsRerender=!1,!this.isActive()))return;let e=this._tr.transform;if(typeof this._lastExpectedZoom=="number"){let i=e.zoom-this._lastExpectedZoom;typeof this._startZoom=="number"&&(this._startZoom+=i),typeof this._targetZoom=="number"&&(this._targetZoom+=i)}if(this._delta!==0){let i=this._type==="wheel"&&Math.abs(this._delta)>Zun?this._wheelZoomRate:this._defaultZoomRate,s=2/(1+Math.exp(-Math.abs(this._delta*i)));this._delta<0&&s!==0&&(s=1/s);let l=typeof this._targetZoom=="number"?km(this._targetZoom):e.scale,c=e.applyConstrain(e.getCameraLngLat(),Zp(l*s)).zoom,u=this._map.getZoomSnap();if(this._type==="wheel"&&u>0){let d=P0(e.zoom,u);this._targetZoom=P0(c,u,c-d)}else this._targetZoom=c;this._type==="wheel"&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let t=typeof this._targetZoom=="number"?this._targetZoom:e.zoom,n=this._startZoom,r=this._easing,o=!1,a;if(this._type==="wheel"&&n&&r){let i=vi()-this._lastWheelEventTime,s=Math.min((i+5)/200,1),l=r(s);a=Hs.number(n,t,l),s<1?this._needsRerender=!0:o=!0}else a=t,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout},200)),this._lastExpectedZoom=a,{noInertia:!0,needsRenderFrame:!o,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let t=wfe;if(this._prevEase){let n=this._prevEase,r=(vi()-n.start)/n.duration,o=n.easing(r+0.01)-n.easing(r),a=0.27/Math.sqrt(o*o+0.0001)*0.01,i=Math.sqrt(0.0729-a*a);t=Afe(a,i,0.25,1)}return this._prevEase={start:vi(),duration:e,easing:t},t}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}},Nkr=class{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}},zkr=class{constructor(e,t){this._tr=t,this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:(n)=>{n.easeTo({duration:300,zoom:P0(this._tr.zoom+(e.shiftKey?-1:1),n.getZoomSnap()),around:this._tr.transform.isPointOnMapSurface(t)?this._tr.unproject(t):void 0},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}},_kr=class{constructor(){this._tap=new cze({numTouches:1,numTaps:1}),this._zoomRate=1,this.reset()}setZoomRate(e){this._zoomRate=e??1}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,n){if(!this._swipePoint)if(!this._tapTime)this._tap.touchstart(e,t,n);else{let r=t[0],o=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(r)<30;!o||!a?this.reset():n.length>0&&(this._swipePoint=r,this._swipeTouch=n[0].identifier)}}touchmove(e,t,n){if(!this._tapTime)this._tap.touchmove(e,t,n);else if(this._swipePoint){if(n[0].identifier!==this._swipeTouch)return;let r=t[0],o=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:o/128*this._zoomRate}}}touchend(e,t,n){if(this._tapTime)this._swipePoint&&n.length===0&&this.reset();else{let r=this._tap.touchend(e,t,n);r&&(this._tapTime=e.timeStamp,this._tapPoint=r)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}},Hkr=class{constructor(e,t,n){this._el=e,this._mousePan=t,this._touchPan=n}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}},Vkr=class{constructor(e,t,n,r){this._pitchWithRotate=e.pitchWithRotate,this._rollEnabled=e.rollEnabled,this._mouseRotate=t,this._mousePitch=n,this._mouseRoll=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}},Gkr=class{constructor(e,t,n,r){this._el=e,this._touchZoom=t,this._touchRotate=n,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}setZoomRate(e){this._touchZoom.setZoomRate(e),this._tapDragZoom.setZoomRate(e)}setZoomThreshold(e){this._touchZoom.setZoomThreshold(e)}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}},qkr=class{constructor(e,t){this._bypassKey=navigator.userAgent.includes("Mac")?"metaKey":"ctrlKey",this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=Cl.create("div","maplibregl-cooperative-gesture-screen",e);let t=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(t=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let n=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),r=document.createElement("div");r.className="maplibregl-desktop-message",r.textContent=t,this._container.appendChild(r);let o=document.createElement("div");o.className="maplibregl-mobile-message",o.textContent=n,this._container.appendChild(o),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(this._container.remove(),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,t){this._enabled&&(this._map.fire(new Yp("cooperativegestureprevented",{gestureType:e,originalEvent:t})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}},Zkr=class{constructor(e){this._camera=e}get transform(){return this._camera._requestedCameraState||this._camera.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.screenPointToLocation(ft.convert(e),this._camera.terrain)}},vme=(e)=>e.zoom||e.drag||e.roll||e.pitch||e.rotate,Qkr,Xkr=class{get _ownerDocument(){return this._el?.ownerDocument||document}get _ownerWindow(){return this._el?.ownerDocument?.defaultView||window}constructor(e,t,n){this._terrainGesture={inFlight:!1,anchorElevation:null},this.handleWindowEvent=(o)=>{this.handleEvent(o,`${o.type}Window`)},this.handleEvent=(o,a)=>{if(o.type==="blur"){this.stop(!0);return}this._updatingCamera=!0;let i=o.type==="renderFrame"?void 0:o,s={needsRenderFrame:!1},l={},c={};for(let{handlerName:p,handler:f,allowed:m}of this._handlers){if(!f.isEnabled())continue;let g;if(this._blockedByActive(c,m,p))f.reset();else if(f[a||o.type]){if(Iin(o,a||o.type)){let v=Cl.mousePos(this._map.getCanvas(),o);g=f[a||o.type](o,v)}else if(Ein(o,a||o.type)){let v=o.touches,y=this._getMapTouches(v),x=Cl.touchPos(this._map.getCanvas(),y);g=f[a||o.type](o,x,y)}else Tin(a||o.type)||(g=f[a||o.type](o));this.mergeHandlerResult(s,l,g,p,i),g?.needsRenderFrame&&this._triggerRenderFrame()}(g||f.isActive())&&(c[p]=f)}let u={};for(let p in this._previousActiveHandlers)c[p]||(u[p]=i);this._previousActiveHandlers=c,(Object.keys(u).length||KNe(s))&&(this._changes.push([s,l,u]),this._triggerRenderFrame()),(Object.keys(c).length||KNe(s))&&this._camera.stop(!0),this._updatingCamera=!1;let{cameraAnimation:d}=s;d&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],d(this._map))},this._map=e,this._camera=t,this._transformProvider=new Zkr(this._camera),this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new ykr(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);let r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[this._ownerDocument,"mousemove",{capture:!0}],[this._ownerDocument,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[this._ownerWindow,"blur",void 0]];for(let[o,a,i]of this._listeners)o.addEventListener(a,o===this._ownerDocument?this.handleWindowEvent:this.handleEvent,i)}destroy(){for(let[e,t,n]of this._listeners)e.removeEventListener(t,e===this._ownerDocument?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(e){let t=this._map,n=t.getCanvasContainer();this._add("mapEvent",new vkr(t,e));let r=t.boxZoom=new xkr(t,e,this._transformProvider);this._add("boxZoom",r),e.interactive&&e.boxZoom&&r.enable();let o=t.cooperativeGestures=new qkr(t,e.cooperativeGestures);this._add("cooperativeGestures",o),e.cooperativeGestures&&o.enable();let a=new Skr(t,this._transformProvider),i=new zkr(t,this._transformProvider);t.doubleClickZoom=new Nkr(i,a),this._add("tapZoom",a),this._add("clickZoom",i),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let s=new _kr;this._add("tapDragZoom",s);let l=t.touchPitch=new Lkr(t);this._add("touchPitch",l),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let c=()=>this._camera.transform.centerPoint,u=Tkr(e,c),d=kkr(e),p=Rkr(e,c);t.dragRotate=new Vkr(e,u,d,p),this._add("mouseRotate",u,["mousePitch"]),this._add("mousePitch",d,["mouseRotate","mouseRoll"]),this._add("mouseRoll",p,["mousePitch"]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let f=Ikr(e),m=new Pkr(e,t);t.dragPan=new Hkr(n,f,m),this._add("mousePan",f),this._add("touchPan",m,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let g=new Dkr,v=new Mkr;t.touchZoomRotate=new Gkr(n,v,g,s),this._add("touchRotate",g,["touchPan","touchZoom"]),this._add("touchZoom",v,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate),this._add("blockableMapEvent",new bkr(t,e),["touchPan"]);let y=t.scrollZoom=new Ukr(t,()=>this._triggerRenderFrame(),this._transformProvider);this._add("scrollZoom",y,["mousePan"]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let x=t.keyboard=new Okr(t,this._transformProvider);this._add("keyboard",x),e.interactive&&e.keyboard&&t.keyboard.enable()}_add(e,t,n){this._handlers.push({handlerName:e,handler:t,allowed:n}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!vme(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,n){for(let r in e)if(r!==n&&!t?.includes(r))return!0;return!1}_getMapTouches(e){let t=[];for(let n of e){let r=n.target;this._el.contains(r)&&t.push(n)}return t}mergeHandlerResult(e,t,n,r,o){if(!n)return;rr(e,n);let a={handlerName:r,originalEvent:n.originalEvent||o};n.zoomDelta!==void 0&&(t.zoom=a),n.panDelta!==void 0&&(t.drag=a),n.rollDelta!==void 0&&(t.roll=a),n.pitchDelta!==void 0&&(t.pitch=a),n.bearingDelta!==void 0&&(t.rotate=a)}_applyChanges(){let e={},t={},n={};for(let[r,o,a]of this._changes)r.panDelta&&(e.panDelta=(e.panDelta||new ft(0,0))._add(r.panDelta)),r.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+r.pitchDelta),r.rollDelta&&(e.rollDelta=(e.rollDelta||0)+r.rollDelta),r.around!==void 0&&(e.around=r.around),r.pinchAround!==void 0&&(e.pinchAround=r.pinchAround),r.noInertia&&(e.noInertia=r.noInertia),rr(t,o),rr(n,a);this._updateMapTransform(e,t,n),this._changes=[]}_updateMapTransform(e,t,n){let r=this._map.terrain;if(!KNe(e)){this._fireEvents(t,n,!0);return}let o=this._camera.getTransformForUpdate();this._camera.stop(!0);let{panDelta:a,zoomDelta:i,bearingDelta:s,pitchDelta:l,rollDelta:c}=e,{around:u,aroundOnSurface:d}=this._resolveAround(e,r,o),p=r?this._terrainGestureElevation(r,u,d,o,t):void 0,f={panDelta:a,zoomDelta:i,rollDelta:c,pitchDelta:l,bearingDelta:s,around:u,aroundElevation:p};this._camera.cameraHelper.useGlobeControls&&!o.isPointOnMapSurface(u)&&(u=o.centerPoint);let m=this._computePreZoomAroundLoc(o,u,a,p);this._handleMapControls({terrain:r,tr:o,deltasForHelper:f,preZoomAroundLoc:m,combinedEventsInProgress:t,panDelta:a}),this._camera.applyUpdatedTransform(o),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,n,!0)}_resolveAround(e,t,n){let r=e.pinchAround===void 0?e.around:e.pinchAround;return r||=this._camera.transform.centerPoint,t&&!n.isPointOnMapSurface(r)?{around:n.centerPoint,aroundOnSurface:!1}:{around:r,aroundOnSurface:!0}}_terrainGestureElevation(e,t,n,r,o){if(!n)return;if(this._terrainGesture.anchorElevation===null&&(o.drag||o.zoom)){let i=r.screenTerrainPointToMercatorCoordinate(t,e);this._terrainGesture.anchorElevation=i?i.z:void 0}let a=this._terrainGesture.anchorElevation;if(a!=null&&!(t.distSqr(r.centerPoint)<0.01)&&!(a-r.elevation>=0.9*(r.getCameraAltitude()-r.elevation)))return a}_computePreZoomAroundLoc(e,t,n,r){if(t.distSqr(e.centerPoint)<0.01)return e.center;let o=n?t.sub(n):t;return r===void 0?e.screenPointToLocation(o):e.screenPointToLocationAtElevation(o,r)}_handleMapControls({terrain:e,tr:t,deltasForHelper:n,preZoomAroundLoc:r,combinedEventsInProgress:o,panDelta:a}){let i=this._camera.cameraHelper;if(i.handleMapControlsRollPitchBearingZoom(n,t),!e&&!i.useGlobeControls&&!t.isPointOnMapSurface(n.around)){a&&t.setCenter(t.screenPointToLocation(t.centerPoint.sub(a)));return}if(!e){i.handleMapControlsPan(n,t,r);return}if(!this._terrainGesture.inFlight){this._terrainGesture.inFlight=!0,this._camera.elevationFreeze=!0,i.handleMapControlsPan(n,t,r);return}if(!i.useGlobeControls&&n.aroundElevation===void 0&&o.drag&&a){t.setCenter(t.screenPointToLocation(t.centerPoint.sub(a)));return}i.handleMapControlsPan(n,t,r)}_fireEvents(e,t,n){let r=vme(this._eventsInProgress),o=vme(e),a={};for(let u in e){let{originalEvent:d}=e[u];this._eventsInProgress[u]||(a[`${u}start`]=d),this._eventsInProgress[u]=e[u]}!r&&o&&this._fireEvent("movestart",o.originalEvent);for(let u in a)this._fireEvent(u,a[u]);o&&this._fireEvent("move",o.originalEvent);for(let u in e){let{originalEvent:d}=e[u];this._fireEvent(u,d)}let i={},s;for(let u in this._eventsInProgress){let{handlerName:d,originalEvent:p}=this._eventsInProgress[u];this._handlersById[d].isActive()||(delete this._eventsInProgress[u],s=t[d]||p,i[`${u}end`]=s)}for(let u in i)this._fireEvent(u,i[u]);let l=vme(this._eventsInProgress),c=(r||o)&&!l;if(c&&this._terrainGesture.inFlight){this._camera.elevationFreeze=!1,this._terrainGesture={inFlight:!1,anchorElevation:null};let u=this._camera.getTransformForUpdate();this._map.getCenterClampedToGround()&&u.recalculateZoomAndCenter(this._map.terrain),this._camera.applyUpdatedTransform(u)}if(n&&c){this._updatingCamera=!0;let u=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),d=(p)=>p!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Qkr("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}},Wkr,Kdn,Ykr=class{constructor(e=Kdn){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=(t)=>{t&&(t.type==="terrain"||t.dataType==="style"||t.dataType==="source"&&(t.sourceDataType==="metadata"||t.sourceDataType==="visibility"))&&this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):!this._container.classList.contains("maplibregl-compact")&&!this._container.classList.contains("maplibregl-attrib-empty")&&(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=Cl.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=Cl.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=Cl.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let n=this._map._getUIString(`AttributionControl.${t}`);e.title=n,e.setAttribute("aria-label",n)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((r)=>typeof r=="string"?r:"")):typeof this.options.customAttribution=="string"&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let r=this._map.style.stylesheet;this.styleOwner=r.owner,this.styleId=r.id}let t=this._map.style.tileManagers;for(let r in t){let o=t[r];if(o.used||o.usedForTerrain){let a=o.getSource();a.attribution&&!e.includes(a.attribution)&&e.push(a.attribution)}}e=e.filter((r)=>String(r).trim()),e.sort((r,o)=>r.length-o.length),e=e.filter((r,o)=>{for(let a=o+1;a{let t=this._container.children;if(t.length){let n=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&n.classList.add("maplibregl-compact"):n.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options?.compact,this._container=Cl.create("div","maplibregl-ctrl");let t=Cl.create("a","maplibregl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://maplibre.org/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}},Jkr=class{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,n=t?this._queue.concat(t):this._queue;for(let r of n)if(r.id===e){r.cancelled=!0;return}}run(e=0){if(this._currentlyRunning)throw Error("Attempting to run(), but is already running.");let t=this._currentlyRunning=this._queue;this._queue=[];let n=!1,r;for(let o of t)if(!o.cancelled){try{o.callback(e)}catch(a){n||(n=!0,r=a)}if(this._cleared)break}if(this._cleared=!1,this._currentlyRunning=!1,n)throw r}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}},Qun,jkr=class{constructor(e,t,n,r){this._tileKeys=e.map((o)=>o.key).sort().join(),this._revision=t,this._zoom=n,this._visibleLayerIds=r}difference(e){return this._revision===e?._revision?this._visibleLayerIds===e._visibleLayerIds?this._tileKeys===e._tileKeys?this._zoom===e._zoom?"none":"zoom":"sourceTiles":"visibleLayers":"revision"}},tB,$kr=class{constructor(e,t){this.needsFollowUpFrame=!1,this.painter=e,this.terrain=t,this.rttSize=t.tileManager.tileSize*t.qualityFactor}getTexture(e){return e.getRTT(this._stacks.length-1).texture}prepareForRender(e,t){let n=t!==this._lastPrepareZoom;this._lastPrepareZoom=t,this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.tileManager.getRenderableTiles(),this._renderableLayerIds=e._order.filter((s)=>!e._layers[s].isHidden(t));let r=this._renderableLayerIds.join(),o=new Set;for(let s of this._renderableLayerIds){let l=e._layers[s],c=l.source;c&&tB[l.type]&&o.add(c)}this._coordsAscending={},this._rttFingerprints={};for(let s of o){let l=e.tileManagers[s];if(!l)continue;this._coordsAscending[s]={};let c=this._coordsAscending[s],u=l.getSource(),d=u instanceof ZQ?u.terrainTileRanges:null;for(let m of l.getVisibleCoordinates()){let g=this.terrain.tileManager.getTerrainCoords(m,d);for(let v in g)c[v]||=[],c[v].push(g[v])}this._rttFingerprints[s]={};let p=this._rttFingerprints[s],f=l.getState().revision;for(let m in c)p[m]=new jkr(c[m],f,t,r)}this.needsFollowUpFrame=!1;let a=n||this.painter.options.moving,i=!1;for(let s of this._renderableTiles){let l=this._textureDifference(s);l!=="none"&&(l==="zoom"&&a||l==="visibleLayers"&&n?this.needsFollowUpFrame=!0:l==="zoom"||l==="sourceTiles"?(i?this.needsFollowUpFrame=!0:s.releaseRTT(this.painter),i=!0):s.releaseRTT(this.painter))}}_textureDifference(e){let t="none";for(let n in this._rttFingerprints){let r=this._rttFingerprints[n][e.tileID.key];if(!r)continue;let o=r.difference(e.rttFingerprint[n]);Qun.indexOf(o)>Qun.indexOf(t)&&(t=o)}return t}renderLayer(e,t){if(e.isHidden(this.painter.transform.zoom))return!1;let n=e.type,r=this.painter,o=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(tB[n]&&((!this._prevType||!tB[this._prevType])&&this._stacks.push([]),this._prevType=n,this._stacks[this._stacks.length-1].push(e.id),!o))return!0;if(tB[this._prevType]||tB[n]&&o){this._prevType=n;let a=this._stacks.length-1,i=this._stacks[a]||[];t.isRenderingToTexture=!0;for(let s of this._renderableTiles){if(this._rttTiles.push(s),s.getRTT(a))continue;let l=s.acquireRTT(r,a,this.rttSize);r.bindRTT(l),r.context.clear({color:Kr.transparent,stencil:0}),r.currentStencilSource=void 0;for(let c of i){let u=r.style._layers[c],d=u.source?this._coordsAscending[u.source][s.tileID.key]:[s.tileID];r.context.viewport.set([0,0,this.rttSize,this.rttSize]),r.renderTileClippingMasks(u,d),r.renderLayer(r,r.style.tileManagers[u.source],u,d,t),u.source&&(s.rttFingerprint[u.source]=this._rttFingerprints[u.source][s.tileID.key])}l.texture.generateMipmap()}return t.isRenderingToTexture=!1,okr(this.painter,this.terrain,this._rttTiles,t),this._rttTiles=[],tB[n]}return!1}},eRr,tRr,Xun,nRr,Jdn,Wun,jdn="#3FB1CE",JNe,nB,sRr,lRr,l1s;var $dn=P(()=>{Lcn();M0={frame(e,t,n,r){let o=r||window,a=o.requestAnimationFrame((s)=>{i(),t(s)}),{unsubscribe:i}=GZ(e.signal,"abort",()=>{i(),o.cancelAnimationFrame(a),n(new ZL(e.signal.reason))},!1)},frameAsync(e,t){return new Promise((n,r)=>{this.frame(e,n,r,t)})},getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t;if(dfe()&&!cUe())t=new OffscreenCanvas(e.width,e.height).getContext("2d",{willReadFrequently:!0});else{let n=window.document.createElement("canvas");n.width=e.width,n.height=e.height,t=n.getContext("2d",{willReadFrequently:!0})}if(!t)throw Error("failed to create canvas 2d context");return t.drawImage(e,0,0,e.width,e.height),t},resolveURL(e){return MNe||=document.createElement("a"),MNe.href=e,MNe.href},get hardwareConcurrency(){return typeof navigator<"u"&&navigator.hardwareConcurrency||4},get prefersReducedMotion(){return DNe===void 0?matchMedia?(Bcn??=matchMedia("(prefers-reduced-motion: reduce)"),Bcn.matches):!1:DNe},set prefersReducedMotion(e){DNe=e}},R5r=new class{constructor(){this._frozenAt=null}getCurrentTime(){return this._frozenAt===null?performance.now():this._frozenAt}setNow(e){this._frozenAt=e}restoreNow(){this._frozenAt=null}isFrozen(){return this._frozenAt!==null}};P5r=new Set("a.abbr.b.bdi.bdo.br.cite.code.del.div.em.i.img.ins.kbd.li.mark.ol.p.q.s.samp.small.span.strong.sub.sup.time.u.ul.var.wbr".split(".")),M5r=new Set(["alt","class","datetime","dir","height","href","hreflang","lang","referrerpolicy","rel","role","src","target","title","translate","type","width"]),D5r=new Set(["href","src"]),L5r=new Set(["http:","https:","mailto:"]);Cl=class e{static{this.docStyle=typeof window<"u"&&window.document?.documentElement.style}static{this.selectProp=!e.docStyle||"userSelect"in e.docStyle?"userSelect":"webkitUserSelect"}static create(t,n,r){let o=window.document.createElement(t);return n!==void 0&&(o.className=n),r&&r.appendChild(o),o}static createNS(t,n){return window.document.createElementNS(t,n)}static disableDrag(){e.docStyle&&e.selectProp&&(e.userSelect=e.docStyle[e.selectProp],e.docStyle[e.selectProp]="none")}static enableDrag(){e.docStyle&&e.selectProp&&(e.docStyle[e.selectProp]=e.userSelect)}static suppressClickInternal(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener("click",e.suppressClickInternal,!0)}static suppressClick(){window.addEventListener("click",e.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener("click",e.suppressClickInternal,!0)},0)}static getScale(t){let n=t.getBoundingClientRect();return{x:n.width/t.offsetWidth||1,y:n.height/t.offsetHeight||1,boundingClientRect:n}}static getPoint(t,n,r){let o=n.boundingClientRect;return new ft((r.clientX-o.left)/n.x-t.clientLeft,(r.clientY-o.top)/n.y-t.clientTop)}static mousePos(t,n){let r=e.getScale(t);return e.getPoint(t,r,n)}static touchPos(t,n){let r=[],o=e.getScale(t);for(let a of n)r.push(e.getPoint(t,o,a));return r}static sanitize(t){let n=new DOMParser().parseFromString(t,"text/html").body,{querySelectorAll:r,remove:o}=LNe();for(let i of Array.from(r.call(n,"*")))e.isAllowedElement(i)?e.removeDisallowedAttributes(i):o.call(i);let a=document.createDocumentFragment();return a.append(...n.childNodes),a}static isAllowedElement(t){let{namespaceURI:n,localName:r}=LNe();return n.call(t)==="http://www.w3.org/1999/xhtml"&&P5r.has(r.call(t))}static removeDisallowedAttributes(t){let{getAttributeNames:n,getAttribute:r,removeAttribute:o}=LNe();for(let a of n.call(t))e.isAllowedAttribute(a,r.call(t,a))||o.call(t,a)}static isAllowedAttribute(t,n){if(!M5r.has(t)&&!t.startsWith("aria-"))return!1;if(!D5r.has(t))return!0;try{return L5r.has(new URL(n,"https://maplibre.invalid/").protocol)}catch{return!1}}};(function(e){let t,n,r,o;e.resetRequestQueue=()=>{t=[],n=0,r=0,o={}},e.addThrottleControl=(d)=>{let p=r++;return o[p]=d,p},e.removeThrottleControl=(d)=>{delete o[d],c()};let a=()=>{for(let d of Object.keys(o))if(o[d]())return!0;return!1};async function i(d,p,f,m,g=!0,v){let y=await d.transformRequest(p,f);return Cfe(m.signal),Xx.getImage(y,m,g,v)}e.transformAndGetImage=i,e.getImage=(d,p,f=!0,m)=>new Promise((g,v)=>{d.headers||={},d.headers.accept="image/webp,*/*",rr(d,{type:"image"});let y={abortController:p,requestParameters:d,supportImageRefresh:f,imageBitmapOptions:m,state:"queued",onError:(x)=>{v(x)},onSuccess:(x)=>{g(x)}};t.push(y),c()});let s=(d,p)=>typeof createImageBitmap=="function"?vin(d,p):bin(d),l=async(d)=>{d.state="running";let{requestParameters:p,supportImageRefresh:f,imageBitmapOptions:m,onError:g,onSuccess:v,abortController:y}=d,x=f===!1&&!m&&!VT(self)&&!AUe(p.url)&&(!p.headers||Object.keys(p.headers).reduce((w,C)=>w&&C==="accept",!0));n++;let A=x?u(p,y):mQ(p,y);try{let w=await A;delete d.abortController,d.state="completed",w.data instanceof HTMLImageElement||KC(w.data)?v(w):!w.data||w.data.byteLength===0?v({data:null,cacheControl:w.cacheControl,expires:w.expires}):v({data:await s(w.data,m),cacheControl:w.cacheControl,expires:w.expires})}catch(w){delete d.abortController,g(Vp(w))}finally{n--,c()}},c=()=>{let d=a()?KT.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:KT.MAX_PARALLEL_IMAGE_REQUESTS;for(let p=n;p0;p++){let f=t.shift();if(f.abortController.signal.aborted){p--;continue}l(f)}},u=(d,p)=>new Promise((f,m)=>{let g=new Image,{url:v,credentials:y}=d;y&&y==="include"?g.crossOrigin="use-credentials":(y&&y==="same-origin"||!SUe(v))&&(g.crossOrigin="anonymous"),p.signal.addEventListener("abort",()=>{g.src="",m(new ZL(p.signal.reason))}),g.fetchPriority="high",g.onload=()=>{g.onerror=g.onload=null,f({data:g})},g.onerror=()=>{g.onerror=g.onload=null,!p.signal.aborted&&m(Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},g.src=v})})(Xx||={}),Xx.resetRequestQueue();Yp=class extends JC{},hr=class extends Yp{},Fcn=class extends Yp{constructor(e={}){super("style.load",e)}},wv=class extends Yp{constructor(e,t={}){super(e,t),this.dataType="style"}},Gs=class extends Yp{constructor(e,t={}){super(e,t),this.dataType="source"}},t1=class extends Yp{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n,r={}){n=n instanceof MouseEvent?n:new MouseEvent(e,n);let o=Cl.mousePos(t.getCanvas(),n),a=t.unproject(o);super(e,rr({point:o,lngLat:a,originalEvent:n},r)),this._defaultPrevented=!1,this.target=t}},ame=class extends Yp{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){let r=e==="touchend"?n.changedTouches:n.touches,o=Cl.touchPos(t.getCanvasContainer(),r),a=o.map((l)=>t.unproject(l)),i=o.reduce((l,c,u,d)=>l.add(c.div(d.length)),new ft(0,0)),s=t.unproject(i);super(e,{points:o,point:i,lngLats:a,lngLat:s,originalEvent:n}),this._defaultPrevented=!1}},O5r=class extends Yp{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t){super("wheel",{originalEvent:t}),this._defaultPrevented=!1}},Ucn=class extends Yp{},F5r=class extends Yp{constructor(e={}){super("terrain",e)}},U5r=class extends Yp{constructor(e={}){super("projectiontransition",e)}},BNe=class extends Yp{},N5r=class extends Yp{constructor(e={}){super("styleimagemissing",e)}};W5r=class extends Qp{constructor(){super(),this.images={},this.updateVersion=0,this.loaded=!1,this.requestors=[],this.missingImageResolver=null,this._spriteImagesIds={},this._imagesIds=null,this._renderCallbacksDispatchedThisFrame={}}destroy(){for(let e of Object.keys(this.images))this.removeImage(e);this._spriteImagesIds={}}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:t,promiseResolve:n}of this.requestors)n(this._getImagesForIds(t));this.requestors=[]}}getImage(e){let t=this.images[e];if(t&&!t.data&&t.spriteData){let n=t.spriteData;t.data=new ss({width:n.width,height:n.height},n.context.getImageData(n.x,n.y,n.width,n.height).data),t.spriteData=null}return t}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t,this._imagesIds=null,t.isWebGLImage&&this.updateImage(e,t,!1))}_validate(e,t){let n=!0,r=t.data||t.spriteData;return this._validateStretch(t.stretchX,r?.width)||(this.fire(new lr(Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(t.stretchY,r?.height)||(this.fire(new lr(Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(t.content,t)||(this.fire(new lr(Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let n=0;for(let r of e){if(r[0]=e[1]}updateImage(e,t,n=!0){let r=this.images[e];if(n){let o=r.data||r.spriteData;if(o.width!==t.data.width||o.height!==t.data.height)throw Error(`size mismatch between old image (${o.width}x${o.height}) and new image (${t.data.width}x${t.data.height}).`)}t.version=(r.version??0)+1,this.images[e]=t,this.updateVersion++}removeImage(e){let t=this.images[e];t&&(delete this.images[e],this._imagesIds=null,t.userImage?.onRemove&&t.userImage.onRemove())}listImages(){return this._imagesIds??=Object.keys(this.images),this._imagesIds}_getSpriteImageId(e,t){return e==="default"?t:`${e}:${t}`}setSpriteImages(e,t){let n=this._spriteImagesIds[e]??[],r=[];for(let i in t){let s=this._getSpriteImageId(e,i);r.push(s),s in this.images?this.updateImage(s,t[i],!1):this.addImage(s,t[i])}let o=new Set(r),a=n.filter((i)=>!o.has(i));for(let i of a)this.removeImage(i);return this._spriteImagesIds[e]=r,{loaded:r,removed:a}}removeSpriteImages(e){let t=this._spriteImagesIds[e]??[];for(let n of t)this.removeImage(n);return delete this._spriteImagesIds[e],t}removeAllSpriteImages(){let e=Object.values(this._spriteImagesIds).flat();for(let t of e)this.removeImage(t);return this._spriteImagesIds={},e}setMissingImageResolver(e){this.missingImageResolver=e}getImages(e){return new Promise((t,n)=>{let r=!0;if(!this.isLoaded())for(let o of e)this.images[o]||(r=!1);this.isLoaded()||r?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})})}async _getImagesForIds(e){let t=new Set(e.filter((o)=>!this.getImage(o))),n=this.missingImageResolver;n&&await Promise.allSettled(Array.from(t,(o)=>n(o)));let r={};for(let o of e){let a=this.getImage(o);a&&(t.delete(o),r[o]={data:a.data.clone(),pixelRatio:a.pixelRatio,sdf:a.sdf,version:a.version,stretchX:a.stretchX,stretchY:a.stretchY,content:a.content,textFitWidth:a.textFitWidth,textFitHeight:a.textFitHeight,hasRenderCallback:!!a.userImage?.render,isWebGLImage:a.isWebGLImage})}for(let o of t)this.fire(new N5r({id:o})),Ko(`Image "${o}" could not be loaded. Please make sure you have added the image before it is needed with map.addImage(), resolved it with map.setMissingStyleImageResolver(), or included it in a "sprite" property in your style.`);return r}beginFrame(){this._renderCallbacksDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let t of e){if(this._renderCallbacksDispatchedThisFrame[t])continue;this._renderCallbacksDispatchedThisFrame[t]=!0;let n=this.getImage(t);n||Ko(`Image with ID: "${t}" was not found`),Fln(n)&&this.updateImage(t,n)}}cloneImages(){let e={};for(let t in this.images){let n=this.images[t];e[t]={...n,data:n.data?n.data.clone():null}}return e}},K5r={start:0,end:jNe};uze=new Float64Array(256);for(let e=0;e<256;e++){let t=0.5-(e/255)**0.45454545454545453;uze[e]=t*Math.abs(t)}uze[255]=-100000000000000000000;n8r=bt.layout_symbol["text-font"].default.join(","),s8r=class extends Qp{constructor(e,t){super(),this._transitionable=new wQ(i8r(),"light",t),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}getCartesianPosition(){return hin(this.properties.get("position"))}setLight(e,t={}){this._validate(Sh.light,e,t)||this._transitionable.setValues(e)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n){return WL(this,e,{value:t},n)}},u8r=class extends Qp{constructor(e,t){super(),this._transitionable=new wQ(c8r(),"sky",t),this.setSky(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new oi(0))}setSky(e,t={}){return!this._validate(Sh.sky,e,t)&&(e||={"sky-color":"transparent","horizon-color":"transparent","fog-color":"transparent","fog-ground-blend":1,"atmosphere-blend":0},this._transitionable.setValues(e),!0)}getSky(){return this._transitionable.serialize()}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}applyGlobalStateChange(e,t,n){this._transitioning=this._transitionable.applyGlobalStateChange(e,t,this._transitioning,n)}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,t,n={}){return WL(this,e,{value:t},n)}calculateFogBlendOpacity(e){return e<60?0:e<70?(e-60)/10:1}};v8r=Math.floor(M0.hardwareConcurrency/2);jun.workerCount=yin(globalThis)?Math.max(Math.min(v8r,3),1):1;edn=class extends Qp{constructor(e,t){super(),this.workerPool=e,this.actors=[],this.currentActor=0,this.id=t,this.removed=!1,this.workerErrorSubscriptions=[],this.actorsPromise=this.initActors(t)}async initActors(e){let t=await this.workerPool.acquire(e);if(this.removed)return[];if(this.actors=t.map((n,r)=>{this.workerErrorSubscriptions.push(GZ(n,"error",()=>{this.fire(new lr(Error("Worker failed to load. Check that the worker URL is correct.")))},!1));let o=new ecn(n,e);return o.name=`Worker ${r}`,o}),!this.actors.length)throw Error("No actors found");return this.actors}async broadcast(e,t){let n=await this.actorsPromise;return Promise.all(n.map((r)=>r.sendAsync({type:e,data:t})))}async getActor(){let e=await this.actorsPromise;return this.currentActor=(this.currentActor+1)%e.length,e[this.currentActor]}async waitForInitComplete(){this.actors.length===0&&await this.actorsPromise}getReadyActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(e=!0){this.removed=!0;for(let t of this.actors)t.remove();for(let t of this.workerErrorSubscriptions)t.unsubscribe();this.actors=[],this.workerErrorSubscriptions=[],this.setEventedParent(null),e&&this.workerPool.release(this.id)}async registerMessageHandler(e,t){let n=await this.actorsPromise;for(let r of n)r.registerMessageHandler(e,t)}async unregisterMessageHandler(e){let t=await this.actorsPromise;for(let n of t)n.unregisterMessageHandler(e)}};k8r=class extends Qp{constructor(e,t,n,r){if(super(),this.id=e,this.dispatcher=n,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,rr(this,qL(t,["url","scheme","tileSize","promoteId","encoding"])),this._options=rr({type:"vector"},t),this._collectResourceTiming=t.collectResourceTiming,this.tileSize!==512)throw Error("vector tile sources must have a tileSize of 512");this.setEventedParent(r)}async load(e=!1){this._loaded=!1,this.fire(new Gs("dataloading")),this._tileJSONRequest=new AbortController;try{let t=await rdn(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(rr(this,t),t.bounds&&(this.tileBounds=new odn(t.bounds,this.minzoom,this.maxzoom)),this.fire(new Gs("data",{sourceDataType:"metadata"})),this.fire(new Gs("data",{sourceDataType:"content",sourceDataChanged:e})))}catch(t){this._tileJSONRequest=null,this._loaded=!0,Mw(t)||this.fire(new lr(Vp(t)))}}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}setSourceProperty(e){this._tileJSONRequest&&this._tileJSONRequest.abort(),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}serialize(){return rr({},this._options)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:await this.map._requestManager.transformRequest(t,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:await this._getOverzoomParameters(e),etag:e.etag};if(n.request.collectResourceTiming=this._collectResourceTiming,await this.dispatcher.waitForInitComplete(),e.aborted)return;let r="RT";if(!e.actor||e.state==="expired")e.actor=this.dispatcher.getReadyActor(),r="LT";else if(e.state==="loading")return new Promise((o,a)=>{e.reloadPromise={resolve:o,reject:a}});e.abortController=new AbortController;try{let o=await e.actor.sendAsync({type:r,data:n},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,o);let a={};return o?.etagUnmodified&&(a.unmodified=!0),a}catch(o){if(delete e.abortController,e.aborted||Mw(o))return;if(o&&o.status!==404)throw o;this._afterTileLoadWorkerResponse(e,null)}}async _getOverzoomParameters(e){if(e.tileID.canonical.z<=this.maxzoom||this.map._zoomLevelsToOverscale===void 0)return;let t=e.tileID.scaledTo(this.maxzoom).canonical,n=t.url(this.tiles,this.map.getPixelRatio(),this.scheme);return{maxZoomTileID:t,overzoomRequest:await this.map._requestManager.transformRequest(n,"Tile")}}_afterTileLoadWorkerResponse(e,t){if(t?.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.etag=t?.etag,e.loadVectorData(t,this.map.painter),e.reloadPromise){let n=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(n.resolve).catch(n.reject)}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&await e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}})}async unloadTile(e){e.unloadVectorData(),e.actor&&await e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}})}hasTransition(){return!1}},adn=class extends Qp{constructor(e,t,n,r){super(),this.id=e,this.dispatcher=n,this.setEventedParent(r),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._premultiplyAlpha=!0,this._options=rr({type:"raster"},t),rr(this,qL(t,["url","scheme","tileSize"]))}async load(e=!1){this._loaded=!1,this.fire(new Gs("dataloading")),this._tileJSONRequest=new AbortController;try{let t=await rdn(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,t&&(rr(this,t),t.bounds&&(this.tileBounds=new odn(t.bounds,this.minzoom,this.maxzoom)),this.fire(new Gs("data",{sourceDataType:"metadata"})),this.fire(new Gs("data",{sourceDataType:"content",sourceDataChanged:e})))}catch(t){this._tileJSONRequest=null,this._loaded=!0,Mw(t)||this.fire(new lr(Vp(t)))}}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}setSourceProperty(e){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null),e(),this.load(!0)}setTiles(e){return this.setSourceProperty(()=>{this.tiles=e,this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return rr({},this._options)}setPremultiplyAlpha(e){return this._premultiplyAlpha===e||this.setSourceProperty(()=>{this._premultiplyAlpha=e}),this}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this._premultiplyAlpha,r=n?void 0:{premultiplyAlpha:"none"};e.abortController=new AbortController;try{let o=await Xx.transformAndGetImage(this.map._requestManager,t,"Tile",e.abortController,this.map._refreshExpiredTiles,r);if(delete e.abortController,e.aborted){e.state="unloaded";return}if(o){this.map._refreshExpiredTiles&&(o.cacheControl||o.expires)&&e.setExpiryData({cacheControl:o.cacheControl,expires:o.expires});let a=this.map.painter.context,i=a.gl,s=o.data??new ss({width:1,height:1},new Uint8Array(4));e.texture=this.map.painter.getTileTexture(s.width),e.texture?e.texture.update(s,{useMipmap:!0,premultiply:n}):(e.texture=new cd(a,s,i.RGBA,{useMipmap:!0,premultiply:n}),e.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST)),e.state="loaded"}}catch(o){if(delete e.abortController,e.aborted)e.state="unloaded";else if(o)throw e.state="errored",o}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController)}async unloadTile(e){e.texture&&this.map.painter.saveTileTexture(e.texture)}hasTransition(){return!1}},R8r=class extends adn{constructor(e,t,n,r){super(e,t,n,r),this.type="raster-dem",this.maxzoom=22,this._options=rr({type:"raster-dem"},t),this.encoding=t.encoding||"mapbox",this.redFactor=t.redFactor,this.greenFactor=t.greenFactor,this.blueFactor=t.blueFactor,this.baseShift=t.baseShift}async loadTile(e){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let n=await Xx.transformAndGetImage(this.map._requestManager,t,"Tile",e.abortController,this.map._refreshExpiredTiles,{colorSpaceConversion:"none"});if(delete e.abortController,e.aborted){e.state="unloaded";return}if(n){if(this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires}),!n.data){e.state="loaded";return}let r=n.data,o=KC(r)&&dfe()?r:await this.readImageNow(r),a={type:this.type,uid:e.uid,source:this.id,rawImageData:o,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(e.actor&&e.state!=="expired"&&e.state!=="reloading")return;await this.dispatcher.waitForInitComplete(),(!e.actor||e.state==="expired")&&(e.actor=this.dispatcher.getReadyActor()),e.dem=await e.actor.sendAsync({type:"LDT",data:a}),e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.needsColorReliefPrepare=!0,e.state="loaded"}}catch(n){if(delete e.abortController,e.aborted)e.state="unloaded";else if(n)throw e.state="errored",n}}async readImageNow(e){if(typeof VideoFrame<"u"&&cUe()){let t=e.width+4,n=e.height+4;try{return new ss({width:t,height:n},await xin(e,-2,-2,t,n))}catch{}}return M0.getImageData(e,2)}_getNeighboringTiles(e){let t=e.canonical,n=2**t.z,r=(t.x-1+n)%n,o=t.x===0?e.wrap-1:e.wrap,a=(t.x+1+n)%n,i=t.x+1===n?e.wrap+1:e.wrap,s={};return s[new Xp(e.overscaledZ,o,t.z,r,t.y).key]={backfilled:!1},s[new Xp(e.overscaledZ,i,t.z,a,t.y).key]={backfilled:!1},t.y>0&&(s[new Xp(e.overscaledZ,o,t.z,r,t.y-1).key]={backfilled:!1},s[new Xp(e.overscaledZ,e.wrap,t.z,t.x,t.y-1).key]={backfilled:!1},s[new Xp(e.overscaledZ,i,t.z,a,t.y-1).key]={backfilled:!1}),t.y+1Wcn(t))}}shouldReloadTile(e,{affectedBounds:t}){if(e.state==="loading")return!0;if(e.state==="unloaded")return!1;let{buffer:n,extent:r}=this.workerOptions.geojsonVtOptions,o=F8r(e.tileID.canonical,n/r);for(let a of t)if(o.intersects(a))return!0;return!1}loaded(){return!this._isUpdatingWorker&&!this._hasPendingWorkerUpdate()}async loadTile(e){let t=e.actor?"RT":"LT";e.actor=await this.actorPromise;let n={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};e.abortController=new AbortController;try{let r=await(await this.actorPromise).sendAsync({type:t,data:n},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(r,this.map.painter,t==="RT")}catch(r){if(delete e.abortController,e.aborted||Mw(r))return;throw r}}async abortTile(e){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}async unloadTile(e){e.unloadVectorData(),await(await this.actorPromise).sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}})}onRemove(){this._removed=!0,this.actorPromise.then((e)=>e.sendAsync({type:"RS",data:{type:this.type,source:this.id}}))}serialize(){return rr({},this._options,{type:this.type,data:this._data.updateable?{type:"FeatureCollection",features:Array.from(this._data.updateable.values())}:this._data.url||this._data.geojson})}hasTransition(){return!1}},rB=[0,0,1];o7=nl([{name:"a_pos",type:"Int16",components:2}]),lme=Ut/128;ZQ=class extends Qp{constructor(e,t,n,r){super(),this.imageWarp=rB,this.flippedWindingOrder=!1,this._warp="auto",this._imageDirty=!1,this._subdividedQuad=!1,this._subdividedMesh=null,this.id=e,this.dispatcher=n,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t}async load(e){if(this.options.url===void 0){this._loaded=!0,this._finishLoading();return}this._loaded=!1,this.fire(new Gs("dataloading")),this.url=this.options.url,this._abortController=new AbortController;try{let t=await Xx.transformAndGetImage(this.map._requestManager,this.url,"Image",this._abortController);this._abortController=null,this._loaded=!0,t?.data?(this._setImage(t.data),e&&(this.coordinates=e),this._finishLoading()):this.fire(new lr(Error(`Could not load image ${this.url}: the response is empty`)))}catch(t){if(Mw(t))return;this._abortController=null,this._loaded=!0,this.fire(new lr(Vp(t)))}}loaded(){return this._loaded}updateImage(e){return this._abortController&&=(this._abortController.abort(),null),"image"in e?(this._loaded=!0,this._setImage(e.image),e.coordinates&&(this.coordinates=e.coordinates),this._finishLoading(),this):e.url?(this.options.url=e.url,this.load(e.coordinates),this):this}_setImage(e){this.image=e,this._imageDirty=!0}getMesh(e,t){return!this._subdividedQuad||t?null:(this._subdividedMesh??=sdn(e,{granularity:16}),this._subdividedMesh)}_disposeTexture(){this.texture?.destroy(),this.texture=null}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new Gs("data",{sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._abortController&&=(this._abortController.abort(),null),this._disposeTexture(),this._subdividedMesh?.destroy(),this._subdividedMesh=null,this.image=null,this.tiles={}}setWarp(e){return this._warp===e?this:(this._warp=e,this.tileCoords&&this.setCoordinates(this.coordinates),this)}getWarp(){return this._warp}setCoordinates(e){this.coordinates=e;let t=e.map(ai.fromLngLat);return this.tileID=q8r(t),this.terrainTileRanges=this._getOverlappingTileRanges(t),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=t.map((n)=>this.tileID.getTilePoint(n)._round()),this.imageWarp=Q8r(this.tileCoords,this._warp),this._subdividedQuad=this.imageWarp[2]>0&&!ldn(this.tileCoords),this.flippedWindingOrder=Z8r(this.tileCoords),this.fire(new Gs("data",{sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let e=this.map.painter.context,t=e.gl;this.texture?this._imageDirty&&(this.texture.update(this.image),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)):(this.texture=new cd(e,this.image,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)),this._imageDirty=!1;let n=!1;for(let r in this.tiles){let o=this.tiles[r];o.state!=="loaded"&&(o.state="loaded",o.texture=this.texture,n=!0)}n&&this.fire(new Gs("data",{sourceDataType:"idle",sourceId:this.id}))}async loadTile(e){this.tileID?.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"}serialize(){let e={type:"image",coordinates:this.coordinates};return this.options.url!==void 0&&(e.url=this.options.url),e}hasTransition(){return!1}_getOverlappingTileRanges(e){let{minX:t,minY:n,maxX:r,maxY:o}=By.fromPoints(e),a={};for(let i=0;i<=25;i++){let s=2**i,l=Math.floor(t*s),c=Math.floor(n*s),u=Math.floor(r*s),d=Math.floor(o*s),p=(l%s+s)%s,f=u%s,m=Math.floor(l/s),g=Math.floor(u/s);a[i]={minWrap:m,maxWrap:g,minTileXWrapped:p,maxTileXWrapped:f,minTileY:c,maxTileY:d}}return a}};W8r=class extends ZQ{constructor(e,t,n,r){super(e,t,n,r),this._onPlayingHandler=()=>{this.map?.triggerRepaint()},this.roundZoom=!0,this.type="video",this.options=t}async load(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push((await this.map._requestManager.transformRequest(t,"Source")).url);try{let t=await kin(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener("playing",this._onPlayingHandler),this.map&&this.video.play(),this._finishLoading()}catch(t){this.fire(new lr(Vp(t)))}}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let t=this.video.seekable;et.end(0)?this.fire(new lr(new jt(`sources.${this.id}`,null,`Playback for this video can be set only between the ${t.start(0)} and ${t.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}onRemove(){super.onRemove(),this.video&&(this.video.removeEventListener("playing",this._onPlayingHandler),this.video.pause())}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let e=this.map.painter.context,t=e.gl;this.texture?this.video.paused||(this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this.texture=new cd(e,this.video,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE));let n=!1;for(let r in this.tiles){let o=this.tiles[r];o.state!=="loaded"&&(o.state="loaded",o.texture=this.texture,n=!0)}n&&this.fire(new Gs("data",{sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},Y8r=class extends ZQ{constructor(e,t,n,r){super(e,t,n,r),t.coordinates?(!Array.isArray(t.coordinates)||t.coordinates.length!==4||t.coordinates.some((o)=>!Array.isArray(o)||o.length!==2||o.some((a)=>typeof a!="number")))&&this.fire(new lr(new jt(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new lr(new jt(`sources.${e}`,null,'missing required property "coordinates"'))),t.animate&&typeof t.animate!="boolean"&&this.fire(new lr(new jt(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),t.canvas?typeof t.canvas!="string"&&!(t.canvas instanceof HTMLCanvasElement)&&this.fire(new lr(new jt(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new lr(new jt(`sources.${e}`,null,'missing required property "canvas"'))),this.options=t,this.animate=t.animate===void 0||t.animate}async load(){if(this._loaded=!0,this.canvas||=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new lr(Error("Canvas dimensions cannot be less than or equal to zero.")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&=(this.prepare(),!1)},this._finishLoading()}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this._playing=!1,super.onRemove()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let t=this.map.painter.context,n=t.gl;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new cd(t,this.canvas,n.RGBA,{premultiply:!0}),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let o in this.tiles){let a=this.tiles[o];a.state!=="loaded"&&(a.state="loaded",a.texture=this.texture,r=!0)}r&&this.fire(new Gs("data",{sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}},K8r={};eEr=class extends Qp{constructor(...e){super(...e),this.status="unavailable",this.url=null,this.dispatcher=b8r()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch((t)=>{throw this.status="error",t})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}async setRTLTextPlugin(e,t=!1){if(this.url)throw Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=M0.resolveURL(e),!this.url)throw Error(`requested url ${e} is invalid`);if(this.status==="unavailable")if(t)this.status="deferred",this._syncState(this.status);else return this._requestImport();else if(this.status==="requested")return this._requestImport()}async _requestImport(){await this._syncState("loading"),this.status="loaded",this.fire(new JC(eze))}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}};sEr=nze(9.314,3);rze=class e extends Qp{static{this.maxUnderzooming=10}static{this.maxOverzooming=3}constructor(t,n,r){super(),this._maxContentElevationSeen=0,this.id=t,this.dispatcher=r,this.on("data",(o)=>{this._dataHandler(o)}),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=J8r(t,n,r,this),this._inViewTiles=new tun,this._outOfViewCache=new Dcn(0,(o)=>this._unloadTile(o)),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new tEr,this._didEmitContent=!1,this._updated=!1}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source?.onAdd&&this._source.onAdd(t)}onRemove(t){for(let n of this._inViewTiles.getAllTiles())n.unloadVectorData();this.clearTiles(),this._source?.onRemove&&this._source.onRemove(t),this._inViewTiles=new tun}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if((this.used!==void 0||this.usedForTerrain!==void 0)&&!this.used&&!this.usedForTerrain)return!0;if(!this._updated)return!1;for(let t of this._inViewTiles.getAllTiles())if(t.state!=="loaded"&&t.state!=="errored")return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;let t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}async _loadTile(t,n,r,o){try{let a=await this._source.loadTile(t);this._tileLoaded(t,n,r,o,a)}catch(a){t.state="errored",a.status===404?this.update(this.transform,this.terrain):this._source.fire(new lr(Vp(a),{tile:t}))}}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new Gs("dataabort",{tile:t,coord:t.tileID}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.map?this.map.painter:null);for(let n of this._inViewTiles.getAllTiles())n.upload(t),n.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(t){return this._inViewTiles.getRenderableIds(this.transform?.bearingInRadians,t)}hasRenderableParent(t){let n=t.overscaledZ-1;if(n>=this._source.minzoom){let r=this.getLoadedTile(t.scaledTo(n));if(r)return this._inViewTiles.isIdRenderable(r.tileID.key)}return!1}reload(t,n=void 0){if(this._paused){this._shouldReloadOnResume=!0;return}this._outOfViewCache.reset();for(let r of this._inViewTiles.getAllIds()){let o=this._inViewTiles.getTileById(r);(!n||this._source.shouldReloadTile(o,n))&&(t?this._reloadTile(r,o.state==="errored"?"loading":"expired"):o.state!=="errored"&&this._reloadTile(r,"reloading"))}}async _reloadTile(t,n){let r=this._inViewTiles.getTileById(t);if(!r)return;let o=r.hasData();r.state!=="loading"&&(r.state=n),await this._loadTile(r,t,n,o)}_tileLoaded(t,n,r,o,a){o||(t.timeAdded=vi(),t.selfFading&&(t.fadeEndTime=t.timeAdded+this._rasterFadeDuration)),r==="expired"&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(n,t),!a?.unmodified&&(this.getSource().type==="raster-dem"&&t.dem&&gEr(t,this._inViewTiles),t.featureStateRevision=-1,this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new Gs("data",{tile:t,coord:t.tileID})))}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._inViewTiles.getTileById(t)}_retainLoadedChildren(t,n){let r=this._getLoadedDescendents(n),o=new Set;for(let a of n){let i=r[a.key];if(!i?.length){o.add(a);continue}let s=a.overscaledZ+e.maxOverzooming,l=i.filter((d)=>d.tileID.overscaledZ<=s);if(!l.length){o.add(a);continue}let c=Math.min(...l.map((d)=>d.tileID.overscaledZ)),u=l.filter((d)=>d.tileID.overscaledZ===c).map((d)=>d.tileID);for(let d of u)t[d.key]=d;this._areDescendentsComplete(u,c,a.overscaledZ)||o.add(a)}return o}_getLoadedDescendents(t){let n={};for(let r of this._inViewTiles.getAllTiles().filter((o)=>o.hasData()))for(let o of t)r.tileID.isChildOf(o)&&(n[o.key]||=[],n[o.key].push(r));return n}_areDescendentsComplete(t,n,r){return t.length===1&&t[0].isOverscaled()?t[0].overscaledZ===n:4**(n-r)===t.length}getLoadedTile(t){return this._inViewTiles.getLoadedTile(t)}updateCacheSize(t){let n=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=this._maxTileCacheZoomLevels===null?KT.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels,o=Math.floor(n*r),a=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,o):o;this._outOfViewCache.setMaxSize(a)}handleWrapJump(t){let n=(t-(this._prevLng===void 0?t:this._prevLng))/360,r=Math.round(n);this._prevLng=t,r&&(this._inViewTiles.handleWrapJump(r),this._resetTileReloadTimers())}_updateMaxContentElevation(){let t=this._maxContentElevationSeen,n=this.map?.style?._layers;if(!n)return t;let r=this._inViewTiles.getAllTiles();for(let o in n){let a=n[o];if(a.type!=="symbol"||a.source!==this.id||a.isHidden(this.transform.zoom))continue;let i=a;if(!i.layout)continue;let s=i.layout.get("symbol-height-offset");if(t=Math.max(t,s.constantOr(0)),!s.isConstant())for(let l of r){let c=l.getBucket(a);c&&c.maxHeightOffset>t&&(t=c.maxHeightOffset)}}return this._maxContentElevationSeen=t,t}update(t,n){if(!this._sourceLoaded||this._paused)return;this.transform=t,this.terrain=n,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng);let r;!this.used&&!this.usedForTerrain?r=[]:this._source.tileID?r=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((l)=>new Xp(l.canonical.z,l.wrap,l.canonical.z,l.canonical.x,l.canonical.y)):(r=iB(t,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type==="vector"&&this.map._zoomLevelsToOverscale!==void 0?Math.max(this._source.maxzoom,t.maxZoom-this.map._zoomLevelsToOverscale):this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:n,calculateTileZoom:this._source.calculateTileZoom,maxContentElevation:this._updateMaxContentElevation()}),this._source.hasTile&&(r=r.filter((l)=>this._source.hasTile(l)))),this.usedForTerrain&&(r=this._addTerrainIdealTiles(r));let o=r.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,o&&this.fire(new Gs("data",{sourceDataType:"idle",sourceId:this.id}));let a=fze(t,this._source),i=this._updateRetainedTiles(r,a),s=jcn(this._source.type);s&&this._rasterFadeDuration>0&&!n&&dEr(this._inViewTiles,r,i,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),s?this._cleanUpRasterTiles(i):this._cleanUpVectorTiles(i)}_cleanUpRasterTiles(t){for(let n of this._inViewTiles.getAllIds())t[n]||this._removeTile(n)}_cleanUpVectorTiles(t){for(let n of this._inViewTiles.getAllIds()){let r=this._inViewTiles.getTileById(n);if(t[n]){r.clearSymbolFadeHold();continue}if(!r.hasSymbolBuckets){this._removeTile(n);continue}r.holdingForSymbolFade()?r.symbolFadeFinished()&&this._removeTile(n):r.setSymbolHoldDuration(this.map._fadeDuration)}}_addTerrainIdealTiles(t){let n=[];for(let r of t)if(r.canonical.z>this._source.minzoom){let o=r.scaledTo(r.canonical.z-1);n.push(o);let a=r.scaledTo(Math.max(this._source.minzoom,Math.min(r.canonical.z,5)));n.push(a)}return t.concat(n)}releaseSymbolFadeTiles(){for(let t of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(t).holdingForSymbolFade()&&this._removeTile(t)}_updateRetainedTiles(t,n){let r=new Set;for(let l of t)this._addTile(l).hasData()||r.add(l);let o=t.reduce((l,c)=>(l[c.key]=c,l),{}),a=this._retainLoadedChildren(o,r),i={},s=Math.max(n-e.maxUnderzooming,this._source.minzoom);for(let l of a){let c=this._inViewTiles.getTileById(l.key),u=c?.wasRequested();for(let d=l.overscaledZ-1;d>=s;--d){let p=l.scaledTo(d);if(i[p.key])break;if(i[p.key]=!0,c=this.getTile(p),!c&&u&&(c=this._addTile(p)),c){let f=c.hasData();if((f||!this.map?.cancelPendingTileRequestsWhileZooming||u)&&(o[p.key]=p),u=c.wasRequested(),f)break}}}return o}_addTile(t){let n=this._inViewTiles.getTileById(t.key);if(n)return n;n=this._outOfViewCache.getAndRemove(t),n&&(n.resetFadeLogic(),this._setTileReloadTimer(t.key,n),n.tileID=t,this._state.initializeTileState(n,this.map?this.map.painter:null));let r=n;return n||(n=new cdn(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(n,t.key,n.state,!1)),n.uses++,this._inViewTiles.setTile(t.key,n),r||this._source.fire(new Gs("dataloading",{tile:n,coord:n.tileID})),n}_setTileReloadTimer(t,n){this._clearTileReloadTimer(t);let r=n.getExpiryTimeout();if(r){let o=()=>{this._reloadTile(t,"expired"),delete this._timers[t]};this._timers[t]=setTimeout(o,r)}}_clearTileReloadTimer(t){let n=this._timers[t];n&&(clearTimeout(n),delete this._timers[t])}_resetTileReloadTimers(){for(let t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);this._setTileReloadTimer(t,n)}}refreshTiles(t){for(let n of this._inViewTiles.getAllIds()){let r=this._inViewTiles.getTileById(n);(this._inViewTiles.isIdRenderable(n)||r.state=="errored")&&t.some((o)=>o.equals(r.tileID.canonical))&&this._reloadTile(n,"expired")}}_removeTile(t){let n=this._inViewTiles.getTileById(t);n&&(n.uses--,this._inViewTiles.deleteTileById(t),this._clearTileReloadTimer(t),!(n.uses>0)&&(n.hasData()&&n.state!=="reloading"?this._outOfViewCache.add(n.tileID,n,n.getExpiryTimeout()):(n.aborted=!0,this._abortTile(n),this._unloadTile(n))))}_dataHandler(t){if(t.dataType==="source"){if(t.sourceDataType==="metadata"){this._sourceLoaded=!0;return}t.sourceDataType==="content"&&this._sourceLoaded&&!this._paused&&(this.reload(t.sourceDataChanged,t.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}}resetMaxContentElevation(){this._maxContentElevationSeen=0}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1,this.resetMaxContentElevation();for(let t of this._inViewTiles.getAllIds())this._removeTile(t);this._outOfViewCache.reset()}tilesIn(t,n,r){let o=[],a=this.transform;if(!a)return o;let i=a.getCoveringTilesDetailsProvider().allowWorldCopies(),s=r?a.getCameraQueryGeometry(t):t,l=(f)=>a.screenPointToMercatorCoordinate(f,this.terrain),c=this.transformBbox(t,l,!i),u=this.transformBbox(s,l,!i),d=this.getIds(),p=By.fromPoints(u);for(let f of d){let m=this._inViewTiles.getTileById(f);if(m.holdingForSymbolFade())continue;let g=i?[m.tileID]:[m.tileID.unwrapTo(-1),m.tileID.unwrapTo(0)],v=2**(a.zoom-m.tileID.overscaledZ),y=n*m.queryPadding*Ut/m.tileSize/v;for(let x of g){let A=p.map((w)=>x.getTilePoint(new ai(w.x,w.y)));if(A.expandBy(y),A.intersects(hln)){let w=c.map((E)=>x.getTilePoint(E)),C=u.map((E)=>x.getTilePoint(E));o.push({tile:m,tileID:i?x:x.unwrapTo(0),queryGeometry:w,cameraQueryGeometry:C,scale:v})}}}return o}transformBbox(t,n,r){let o=t.map(n);if(r){let a=By.fromPoints(t);a.shrinkBy(Math.min(a.width(),a.height())*0.001);let i=a.map(n);By.fromPoints(o).covers(i)||(o=o.map((s)=>s.x>0.5?new ai(s.x-1,s.y,s.z):s))}return o}getVisibleCoordinates(t){let n=this.getRenderableIds(t).map((r)=>this._inViewTiles.getTileById(r).tileID);return this.transform&&this.transform.populateCache(n),n}hasTransition(){return this._source.hasTransition()?!0:jcn(this._source.type)&&hEr(this._inViewTiles,this._rasterFadeDuration)}setRasterFadeDuration(t){this._rasterFadeDuration=t}setFeatureState(t,n,r){t||=BQ,this._state.updateState(t,n,r)}removeFeatureState(t,n,r){t||=BQ,this._state.removeFeatureState(t,n,r)}getFeatureState(t,n){return t||=BQ,this._state.getState(t,n)}setDependencies(t,n,r){let o=this._inViewTiles.getTileById(t);o&&o.setDependencies(n,r)}reloadTilesForDependencies(t,n){for(let r of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(r).hasDependency(t,n)&&this._reloadTile(r,"reloading");this._outOfViewCache.filter((r)=>!r.hasDependency(t,n))}areTilesLoaded(){for(let t of this._inViewTiles.getAllTiles())if(t.state!=="loaded"&&t.state!=="errored")return!1;return!0}};AEr=kw();IEr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);uun=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Sl=new Uint32Array(96);_Q=512/Ut/2,Qx={prelude:Ba(GEr,qEr),projectionMercator:Ba(` -void clipAntimeridian() {}`,"float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}"),projectionGlobe:Ba("in highp float v_projection_tile_x;void clipAntimeridian() {if (u_projection_clip_antimeridian !=0 && (v_projection_tile_x < 0.0 || v_projection_tile_x >=8192.0)) {discard;}}",`#define GLOBE_RADIUS 6371008.8 +} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`, + pun = "void main() {fragColor=vec4(1.0);}", + Qx, + gdn = "#define PROJECTION_MERCATOR", + ydn = "mercator", + sze = class { + constructor() { + this._cachedMesh = null; + } + get name() { + return "mercator"; + } + get useSubdivision() { + return !1; + } + get shaderVariantName() { + return ydn; + } + get shaderDefine() { + return gdn; + } + get shaderPreludeCode() { + return Qx.projectionMercator; + } + get vertexShaderPreludeCode() { + return Qx.projectionMercator.vertexSource; + } + get subdivisionGranularity() { + return Wfe.noSubdivision; + } + get useGlobeControls() { + return !1; + } + get transitionState() { + return 0; + } + destroy() {} + getMeshFromTileID(e, t, n, r, o) { + if (this._cachedMesh) return this._cachedMesh; + let a = new Lw(); + (a.emplaceBack(0, 0), + a.emplaceBack(Ut, 0), + a.emplaceBack(0, Ut), + a.emplaceBack(Ut, Ut)); + let i = e.createVertexBuffer(a, o7.members), + s = Vs.simpleSegment(0, 0, 4, 2), + l = new xv(); + (l.emplaceBack(1, 0, 2), l.emplaceBack(1, 2, 3)); + let c = e.createIndexBuffer(l); + return ((this._cachedMesh = new qQ(i, c, s)), this._cachedMesh); + } + recalculate() {} + hasTransition() { + return !1; + } + }, + fun = class e { + constructor(t = 0, n = 0, r = 0, o = 0) { + if ( + isNaN(t) || + t < 0 || + isNaN(n) || + n < 0 || + isNaN(r) || + r < 0 || + isNaN(o) || + o < 0 + ) + throw Error( + "Invalid value for edge-insets, top, bottom, left and right must all be numbers", + ); + ((this.top = t), (this.bottom = n), (this.left = r), (this.right = o)); + } + interpolate(t, n, r) { + return ( + n.top != null && + t.top != null && + (this.top = Hs.number(t.top, n.top, r)), + n.bottom != null && + t.bottom != null && + (this.bottom = Hs.number(t.bottom, n.bottom, r)), + n.left != null && + t.left != null && + (this.left = Hs.number(t.left, n.left, r)), + n.right != null && + t.right != null && + (this.right = Hs.number(t.right, n.right, r)), + this + ); + } + getCenter(t, n) { + let r = qr((this.left + t - this.right) / 2, 0, t), + o = qr((this.top + n - this.bottom) / 2, 0, n); + return new ft(r, o); + } + equals(t) { + return ( + this.top === t.top && + this.bottom === t.bottom && + this.left === t.left && + this.right === t.right + ); + } + clone() { + return new e(this.top, this.bottom, this.left, this.right); + } + toJSON() { + return { + top: this.top, + bottom: this.bottom, + left: this.left, + right: this.right, + }; + } + }, + vze = class { + constructor(e, t) { + ((this.applyConstrain = (n, r) => + this._constrainOverride === null + ? this._callbacks.defaultConstrain(n, r) + : this._constrainOverride(n, r)), + (this._callbacks = e), + (this._tileSize = 512), + (this._renderWorldCopies = + t?.renderWorldCopies === void 0 || !!t?.renderWorldCopies), + (this._minZoom = t?.minZoom || 0), + (this._maxZoom = t?.maxZoom || 22), + (this._minPitch = + t?.minPitch === void 0 || t?.minPitch === null ? 0 : t?.minPitch), + (this._maxPitch = + t?.maxPitch === void 0 || t?.maxPitch === null ? 60 : t?.maxPitch), + (this._constrainOverride = t?.constrainOverride ?? null), + this.setMaxBounds(), + (this._width = 0), + (this._height = 0), + (this._center = new pr(0, 0)), + (this._elevation = 0), + (this._zoom = 0), + (this._tileZoom = mun(this._zoom)), + (this._scale = km(this._zoom)), + (this._bearingInRadians = 0), + (this._fovInRadians = 0.6435011087932844), + (this._pitchInRadians = 0), + (this._rollInRadians = 0), + (this._unmodified = !0), + (this._edgeInsets = new fun()), + (this._minElevationForCurrentTile = 0), + (this._autoCalculateNearFarZ = !0)); + } + apply(e, t) { + ((this._constrainOverride = e.constrainOverride), + (this._latRange = e.latRange), + (this._lngRange = e.lngRange), + (this._width = e.width), + (this._height = e.height), + (this._center = e.center), + (this._elevation = e.elevation), + (this._minElevationForCurrentTile = e.minElevationForCurrentTile), + (this._zoom = e.zoom), + (this._tileZoom = mun(this._zoom)), + (this._scale = km(this._zoom)), + (this._bearingInRadians = e.bearingInRadians), + (this._fovInRadians = e.fovInRadians), + (this._pitchInRadians = e.pitchInRadians), + (this._rollInRadians = e.rollInRadians), + (this._unmodified = e.unmodified), + (this._edgeInsets = new fun( + e.padding.top, + e.padding.bottom, + e.padding.left, + e.padding.right, + )), + (this._minZoom = e.minZoom), + (this._maxZoom = e.maxZoom), + (this._minPitch = e.minPitch), + (this._maxPitch = e.maxPitch), + (this._renderWorldCopies = e.renderWorldCopies), + (this._cameraToCenterDistance = e.cameraToCenterDistance), + (this._nearZ = e.nearZ), + (this._farZ = e.farZ), + (this._autoCalculateNearFarZ = e.autoCalculateNearFarZ), + t && this.constrainInternal(), + this._calcMatrices()); + } + get pixelsToClipSpaceMatrix() { + return this._pixelsToClipSpaceMatrix; + } + get clipSpaceToPixelsMatrix() { + return this._clipSpaceToPixelsMatrix; + } + get minElevationForCurrentTile() { + return this._minElevationForCurrentTile; + } + setMinElevationForCurrentTile(e) { + this._minElevationForCurrentTile = e; + } + get tileSize() { + return this._tileSize; + } + get tileZoom() { + return this._tileZoom; + } + get scale() { + return this._scale; + } + get width() { + return this._width; + } + get height() { + return this._height; + } + get bearingInRadians() { + return this._bearingInRadians; + } + get lngRange() { + return this._lngRange; + } + get latRange() { + return this._latRange; + } + get pixelsToGLUnits() { + return this._pixelsToGLUnits; + } + get minZoom() { + return this._minZoom; + } + setMinZoom(e) { + if (this._minZoom === e) return; + this._minZoom = e; + let t = this._unmodified; + (this.setZoom(this.applyConstrain(this._center, this.zoom).zoom), + (this._unmodified = t)); + } + get maxZoom() { + return this._maxZoom; + } + setMaxZoom(e) { + if (this._maxZoom === e) return; + this._maxZoom = e; + let t = this._unmodified; + (this.setZoom(this.applyConstrain(this._center, this.zoom).zoom), + (this._unmodified = t)); + } + get minPitch() { + return this._minPitch; + } + setMinPitch(e) { + if (this._minPitch === e) return; + this._minPitch = e; + let t = this._unmodified; + (this.setPitch(Math.max(this.pitch, e)), (this._unmodified = t)); + } + get maxPitch() { + return this._maxPitch; + } + setMaxPitch(e) { + if (this._maxPitch === e) return; + this._maxPitch = e; + let t = this._unmodified; + (this.setPitch(Math.min(this.pitch, e)), (this._unmodified = t)); + } + get renderWorldCopies() { + return this._renderWorldCopies; + } + setRenderWorldCopies(e) { + (e === void 0 ? (e = !0) : e === null && (e = !1), + (this._renderWorldCopies = e)); + } + get constrainOverride() { + return this._constrainOverride; + } + setConstrainOverride(e) { + (e === void 0 && (e = null), + this._constrainOverride !== e && + ((this._constrainOverride = e), + this.constrainInternal(), + this._calcMatrices())); + } + get worldSize() { + return this._tileSize * this._scale; + } + get centerOffset() { + return this.centerPoint._sub(this.size._div(2)); + } + get size() { + return new ft(this._width, this._height); + } + get bearing() { + return (this._bearingInRadians / Math.PI) * 180; + } + setBearing(e) { + let t = (jg(e, -180, 180) * Math.PI) / 180; + this._bearingInRadians !== t && + ((this._unmodified = !1), + (this._bearingInRadians = t), + this._calcMatrices(), + (this._rotationMatrix = Yun()), + k5r( + this._rotationMatrix, + this._rotationMatrix, + -this._bearingInRadians, + )); + } + get rotationMatrix() { + return this._rotationMatrix; + } + get pitchInRadians() { + return this._pitchInRadians; + } + get pitch() { + return (this._pitchInRadians / Math.PI) * 180; + } + setPitch(e) { + let t = (qr(e, this.minPitch, this.maxPitch) / 180) * Math.PI; + this._pitchInRadians !== t && + ((this._unmodified = !1), + (this._pitchInRadians = t), + this._calcMatrices()); + } + get rollInRadians() { + return this._rollInRadians; + } + get roll() { + return (this._rollInRadians / Math.PI) * 180; + } + setRoll(e) { + let t = (e / 180) * Math.PI; + this._rollInRadians !== t && + ((this._unmodified = !1), + (this._rollInRadians = t), + this._calcMatrices()); + } + get fovInRadians() { + return this._fovInRadians; + } + get fov() { + return fv(this._fovInRadians); + } + setFov(e) { + ((e = qr(e, 0.1, 150)), + this.fov !== e && + ((this._unmodified = !1), + (this._fovInRadians = _s(e)), + this._calcMatrices())); + } + get zoom() { + return this._zoom; + } + setZoom(e) { + let t = this.applyConstrain(this._center, e).zoom; + this._zoom !== t && + ((this._unmodified = !1), + (this._zoom = t), + (this._tileZoom = Math.max(0, Math.floor(t))), + (this._scale = km(t)), + this.constrainInternal(), + this._calcMatrices()); + } + get center() { + return this._center; + } + setCenter(e) { + (e.lat !== this._center.lat || e.lng !== this._center.lng) && + ((this._unmodified = !1), + (this._center = e), + this.constrainInternal(), + this._calcMatrices()); + } + get elevation() { + return this._elevation; + } + setElevation(e) { + e !== this._elevation && + ((this._elevation = e), this.constrainInternal(), this._calcMatrices()); + } + get padding() { + return this._edgeInsets.toJSON(); + } + setPadding(e) { + this._edgeInsets.equals(e) || + ((this._unmodified = !1), + this._edgeInsets.interpolate(this._edgeInsets, e, 1), + this._calcMatrices()); + } + get centerPoint() { + return this._edgeInsets.getCenter(this._width, this._height); + } + get pixelsPerMeter() { + return this._pixelPerMeter; + } + get unmodified() { + return this._unmodified; + } + get cameraToCenterDistance() { + return this._cameraToCenterDistance; + } + get nearZ() { + return this._nearZ; + } + get farZ() { + return this._farZ; + } + get autoCalculateNearFarZ() { + return this._autoCalculateNearFarZ; + } + overrideNearFarZ(e, t) { + ((this._autoCalculateNearFarZ = !1), + (this._nearZ = e), + (this._farZ = t), + this._calcMatrices()); + } + clearNearFarZOverride() { + ((this._autoCalculateNearFarZ = !0), this._calcMatrices()); + } + isPaddingEqual(e) { + return this._edgeInsets.equals(e); + } + interpolatePadding(e, t, n) { + ((this._unmodified = !1), + this._edgeInsets.interpolate(e, t, n), + this.constrainInternal(), + this._calcMatrices()); + } + resize(e, t, n = !0) { + ((this._width = e), + (this._height = t), + n && this.constrainInternal(), + this._calcMatrices()); + } + getMaxBounds() { + return this._latRange?.length !== 2 || this._lngRange?.length !== 2 + ? null + : new Fw( + [this._lngRange[0], this._latRange[0]], + [this._lngRange[1], this._latRange[1]], + ); + } + setMaxBounds(e) { + e + ? ((this._lngRange = [e.getWest(), e.getEast()]), + (this._latRange = [e.getSouth(), e.getNorth()]), + this.constrainInternal()) + : ((this._lngRange = null), (this._latRange = [-vv, vv])); + } + getCameraQueryGeometry(e, t) { + if (t.length === 1) return [t[0], e]; + { + let { minX: n, minY: r, maxX: o, maxY: a } = By.fromPoints(t).extend(e); + return [ + new ft(n, r), + new ft(o, r), + new ft(o, a), + new ft(n, a), + new ft(n, r), + ]; + } + } + constrainInternal() { + if (!this.center || !this._width || !this._height || this._constraining) + return; + this._constraining = !0; + let e = this._unmodified, + { center: t, zoom: n } = this.applyConstrain(this.center, this.zoom); + (this.setCenter(t), + this.setZoom(n), + (this._unmodified = e), + (this._constraining = !1)); + } + _calcMatrices() { + if ( + ((this._pixelPerMeter = $C(1, this.center.lat) * this.worldSize), + !this._width || !this._height) + ) + return; + this._pixelsToGLUnits = [2 / this._width, -2 / this._height]; + let e = Oy(new Float64Array(16)); + (Gp(e, e, [this._width / 2, -this._height / 2, 1]), + vc(e, e, [1, -1, 0]), + (this._clipSpaceToPixelsMatrix = e), + (e = Oy(new Float64Array(16))), + Gp(e, e, [1, -1, 1]), + vc(e, e, [-1, -1, 0]), + Gp(e, e, [2 / this._width, 2 / this._height, 1]), + (this._pixelsToClipSpaceMatrix = e)); + let t = this.fovInRadians / 2; + ((this._cameraToCenterDistance = (0.5 / Math.tan(t)) * this._height), + this._callbacks.calcMatrices()); + } + calculateCenterFromCameraLngLatAlt(e, t, n, r) { + let o = n === void 0 ? this.bearing : n, + a = (r = r === void 0 ? this.pitch : r), + { distanceToCenter: i, clampedElevation: s } = + this._distanceToCenterFromAltElevationPitch(t, this.elevation, a), + { x: l, y: c } = Jfe(a, o), + u = ai.fromLngLat(e, t), + d = nNe(1, u.y), + p, + f, + m = 0; + do { + if (((m += 1), m > 10)) break; + f = i / d; + let g = l * f, + v = c * f; + ((p = new ai(u.x + g, u.y + v)), + (d = 1 / p.meterInMercatorCoordinateUnits())); + } while (Math.abs(i - f * d) > 0.000000000001); + return { + center: p.toLngLat(), + elevation: s, + zoom: Zp( + this.height / 2 / Math.tan(this.fovInRadians / 2) / f / this.tileSize, + ), + }; + } + recalculateZoomAndCenter(e) { + if (this.elevation - e === 0) return; + let t = 1 / this.worldSize, + n = $C(1, this.center.lat) * this.worldSize, + r = ai.fromLngLat(this.center, this.elevation), + o = r.x / t, + a = r.y / t, + i = r.z / t, + s = this.pitch, + l = this.bearing, + { x: c, y: u, z: d } = Jfe(s, l), + p = this.cameraToCenterDistance, + f = o + p * -c, + m = a + p * -u, + g = i + p * d, + { distanceToCenter: v, clampedElevation: y } = + this._distanceToCenterFromAltElevationPitch(g / n, e, s), + x = v * n, + A = f + c * x, + w = m + u * x, + C = new ai(A * t, w * t, 0).toLngLat(), + E = $C(1, C.lat), + T = Zp( + this.height / + 2 / + Math.tan(this.fovInRadians / 2) / + v / + E / + this.tileSize, + ); + ((this._elevation = y), (this._center = C), this.setZoom(T)); + } + _distanceToCenterFromAltElevationPitch(e, t, n) { + let r = -Math.cos(_s(n)), + o = e - t, + a, + i = t; + return ( + r * o >= 0 || Math.abs(r) < Math.cos(_s(89.25)) + ? ((a = 1e4), (i = e + a * r)) + : (a = -o / r), + { distanceToCenter: a, clampedElevation: i } + ); + } + getCameraPoint() { + let e = this.pitchInRadians, + t = Math.tan(e) * (this.cameraToCenterDistance || 1); + return this.centerPoint.add( + new ft( + t * Math.sin(this.rollInRadians), + t * Math.cos(this.rollInRadians), + ), + ); + } + getMercatorTileCoordinates(e) { + if (!e) return [0, 0, 1, 1]; + let t = e.canonical.z >= 0 ? 1 << e.canonical.z : 2 ** e.canonical.z; + return [e.canonical.x / t, e.canonical.y / t, 1 / t / Ut, 1 / t / Ut]; + } + }, + JEr = class { + distanceToTile2d(e, t, n, r) { + let o = r, + a = o.distanceX([e, t]), + i = o.distanceY([e, t]); + return Math.hypot(a, i); + } + getWrap(e, t, n) { + return n; + } + getTileBoundingVolume(e, t, n, r) { + let o = Math.min(0, n), + a = Math.max(0, n); + if (r?.terrain) { + let s = new Xp(e.z, t, e.z, e.x, e.y), + l = r.terrain.getMinMaxElevation(s); + ((o = l.minElevation ?? o), (a = l.maxElevation ?? a)); + } + let i = 1 << e.z; + return new dze( + [t + e.x / i, e.y / i, o], + [t + (e.x + 1) / i, (e.y + 1) / i, a], + ); + } + allowVariableZoom(e, t) { + let n = + (e.fov * + (Math.abs(Math.cos(e.rollInRadians)) * e.height + + Math.abs(Math.sin(e.rollInRadians)) * e.width)) / + e.height, + r = qr(78.5 - n / 2, 0, 60); + return !!t.terrain || e.pitch > r; + } + allowWorldCopies() { + return !0; + } + prepareNextFrame() {} + }, + jEr, + $Er, + hun, + gun = -0.5, + eIr = class { + constructor(e, t, n, r = "auto") { + ((this._meshCache = {}), + (this.painter = e), + (this.tileManager = new $Er(t)), + (this.options = n), + (this.exaggeration = + typeof n.exaggeration == "number" ? n.exaggeration : 1), + (this._terrainSkirtLength = r), + (this.qualityFactor = 2), + (this.meshSize = 128), + (this._demMatrixCache = new Map()), + (this._elevationSamplerCache = new Map())); + } + destroy() { + ((this._fbo &&= (this._fbo.destroy(), null)), + (this._fboDepthTexture &&= (this._fboDepthTexture.destroy(), null)), + (this._emptyDemTexture &&= (this._emptyDemTexture.destroy(), null)), + (this._emptyDepthTexture &&= + (this._emptyDepthTexture.destroy(), null))); + for (let e in this._meshCache) this._meshCache[e].destroy(); + ((this._meshCache = {}), this.tileManager.destruct()); + } + getDEMElevation(e, t, n, r = Ut) { + let o = e.normalizeCoordinates(t, n, r); + if (!o) return 0; + let a = this.getElevationSampler(o.tileID); + return a ? a(o.x, o.y, r) : 0; + } + getElevationForLngLatZoom(e, t) { + if (!pNe(t, e.wrap())) return 0; + let { + tileID: n, + mercatorX: r, + mercatorY: o, + } = this._getOverscaledTileIDFromLngLatZoom(e, t); + return this.getElevation(n, r % Ut, o % Ut, Ut); + } + getElevationForLngLat(e, t) { + let n = this.getCoverageIndex(); + if (n) { + let a = ai.fromLngLat(e), + i = bze(n, this.exaggeration, a.x, a.y); + if (i.demLoaded) return i.elevation; + } + let r = iB(t, { + maxzoom: this.tileManager.maxzoom, + minzoom: this.tileManager.minzoom, + tileSize: 512, + terrain: this, + }), + o = 0; + for (let a of r) + a.canonical.z > o && + (o = Math.min(a.canonical.z, this.tileManager.maxzoom)); + return this.getElevationForLngLatZoom(e, o); + } + getElevation(e, t, n, r = Ut) { + return this.getDEMElevation(e, t, n, r) * this.exaggeration; + } + resetElevationCache() { + (this._elevationSamplerCache.clear(), (this._coverageIndex = void 0)); + } + getCoverageIndex() { + return ( + this._coverageIndex === void 0 && + (this._coverageIndex = this._buildCoverageIndex()), + this._coverageIndex + ); + } + _buildCoverageIndex() { + let e = [], + t = new Map(), + n = 0, + r = 0; + for (let o of this.tileManager.getRenderableTiles()) { + if (!o) continue; + let { canonical: a, wrap: i } = o.tileID; + e.includes(a.z) || e.push(a.z); + let s = this.getElevationSampler(o.tileID); + t.set(`${i}/${a.z}/${a.x}/${a.y}`, s); + let { minElevation: l, maxElevation: c } = this.getMinMaxElevation( + o.tileID, + ); + ((n = Math.min(n, l ?? 0)), (r = Math.max(r, c ?? 0))); + } + return t.size === 0 + ? null + : (e.sort((o, a) => a - o), + { + zooms: e, + samplerPerTile: t, + minElevation: n - 10, + maxElevation: r + 10, + }); + } + getElevationSampler(e) { + let t = e.key, + n = this._elevationSamplerCache.get(t); + if (n) return n; + let r = this.tileManager.getSourceTile(e, !0), + o = r?.dem; + if (!r || !o) return null; + let a = this._getDEMTileMatrix(e, r), + i = a[0] * o.dim, + s = a[5] * o.dim, + l = a[12] * o.dim + gun, + c = a[13] * o.dim + gun, + u = (d, p, f) => { + let m = f === 8192 ? 1 : Ut / f; + return o.sampleBilinear(d * m * i + l, p * m * s + c); + }; + return (this._elevationSamplerCache.set(t, u), u); + } + _getDEMTileMatrix(e, t) { + let n = `${t.tileID.key}/${e.key}`, + r = this._demMatrixCache.get(n); + if (r) return r; + let o = e.canonical.z - t.tileID.canonical.z, + a = e.canonical.x - ((e.canonical.x >> o) << o), + i = e.canonical.y - ((e.canonical.y >> o) << o), + s = Jan(new Float64Array(16), [1 / (Ut << o), 1 / (Ut << o), 0]); + return (vc(s, s, [a * Ut, i * Ut, 0]), this._demMatrixCache.set(n, s), s); + } + getTerrainData(e) { + if (!this._emptyDemTexture) { + let r = this.painter.context, + o = new ss({ width: 1, height: 1 }, new Uint8Array(4)); + ((this._emptyDepthTexture = new cd(r, o, r.gl.RGBA, { + premultiply: !1, + })), + (this._emptyDemUnpack = [0, 0, 0, 0]), + (this._emptyDemTexture = new cd( + r, + new ss({ width: 1, height: 1 }), + r.gl.RGBA, + { premultiply: !1 }, + )), + this._emptyDemTexture.bind(r.gl.NEAREST, r.gl.CLAMP_TO_EDGE), + (this._emptyDemMatrix = Oy([]))); + } + let t = this.tileManager.getSourceTile(e, !0); + if (t?.dem && (!t.demTexture || t.needsTerrainPrepare)) { + let r = this.painter.context; + ((t.demTexture ||= this.painter.getTileTexture(t.dem.stride)), + t.demTexture + ? t.demTexture.update(t.dem.getPixels(), { premultiply: !1 }) + : (t.demTexture = new cd(r, t.dem.getPixels(), r.gl.RGBA, { + premultiply: !1, + })), + t.demTexture.bind(r.gl.NEAREST, r.gl.CLAMP_TO_EDGE), + (t.needsTerrainPrepare = !1)); + } + let n = t ? this._getDEMTileMatrix(e, t) : this._emptyDemMatrix; + return { + u_depth: 2, + u_terrain: 3, + u_terrain_dim: t?.dem?.dim || 1, + u_terrain_matrix: n, + u_terrain_unpack: t?.dem?.getUnpackVector() || this._emptyDemUnpack, + u_terrain_exaggeration: this.exaggeration, + texture: (t?.demTexture || this._emptyDemTexture).texture, + depthTexture: (this._fboDepthTexture || this._emptyDepthTexture) + .texture, + tile: t, + }; + } + getFramebuffer() { + let e = this.painter, + t = e.width / devicePixelRatio, + n = e.height / devicePixelRatio; + return ( + this._fbo && + (this._fbo.width !== t || this._fbo.height !== n) && + (this._fbo.destroy(), + this._fboDepthTexture.destroy(), + delete this._fbo, + delete this._fboDepthTexture), + this._fboDepthTexture || + ((this._fboDepthTexture = new cd( + e.context, + { width: t, height: n, data: null }, + e.context.gl.RGBA, + { premultiply: !1 }, + )), + this._fboDepthTexture.bind( + e.context.gl.NEAREST, + e.context.gl.CLAMP_TO_EDGE, + )), + this._fbo || + ((this._fbo = e.context.createFramebuffer(t, n, !0, !1)), + this._fbo.depthAttachment.set( + e.context.createRenderbuffer(e.context.gl.DEPTH_COMPONENT16, t, n), + )), + this._fbo.colorAttachment.set(this._fboDepthTexture.texture), + this._fbo + ); + } + getTerrainMesh(e) { + let t = this.painter.style.projection?.transitionState > 0, + n = t && e.canonical.y === 0, + r = t && e.canonical.y === (1 << e.canonical.z) - 1, + o = `m_${n ? "n" : ""}_${r ? "s" : ""}`; + if (this._meshCache[o]) return this._meshCache[o]; + let a = this.painter.context, + i = new Hsn(), + s = new xv(), + l = this.meshSize, + c = Ut / l, + u = l * l; + for (let p = 0; p <= l; p++) + for (let f = 0; f <= l; f++) i.emplaceBack(f * c, p * c, 0); + for (let p = 0; p < u; p += l + 1) + for (let f = 0; f < l; f++) + (s.emplaceBack(f + p, l + f + p + 1, l + f + p + 2), + s.emplaceBack(f + p, l + f + p + 2, f + p + 1)); + this._terrainSkirtLength !== "none" && + this._buildSkirts(i, s, l, c, n, r); + let d = new qQ( + a.createVertexBuffer(i, jEr.members), + a.createIndexBuffer(s), + Vs.simpleSegment(0, 0, i.length, s.length), + ); + return ((this._meshCache[o] = d), d); + } + getSkirtLength(e) { + return (2 * Math.PI * Pm) / 2 ** Math.max(e, 0) / 5; + } + getMinTileElevationForLngLatZoom(e, t) { + if (!pNe(t, e.wrap())) return 0; + let { tileID: n } = this._getOverscaledTileIDFromLngLatZoom(e, t); + return this.getMinMaxElevation(n).minElevation ?? 0; + } + getMinMaxElevation(e) { + let t = this.tileManager.getSourceTile(e, !0), + n = { minElevation: null, maxElevation: null }; + return ( + t?.dem && + ((n.minElevation = t.dem.min * this.exaggeration), + (n.maxElevation = t.dem.max * this.exaggeration)), + n + ); + } + _getOverscaledTileIDFromLngLatZoom(e, t) { + let n = ai.fromLngLat(e.wrap()), + r = (1 << t) * Ut, + o = n.x * r, + a = n.y * r, + i = Math.floor(o / Ut), + s = Math.floor(a / Ut); + return { tileID: new Xp(t, 0, t, i, s), mercatorX: o, mercatorY: a }; + } + _buildSkirts(e, t, n, r, o, a) { + let i = e.length, + s = i + (n + 1), + l = (n + 1) * n, + c = o ? PL : 0, + u = +!o, + d = a ? ML : Ut, + p = +!a; + for (let g = 0; g <= n; g++) e.emplaceBack(g * r, c, u); + for (let g = 0; g <= n; g++) e.emplaceBack(g * r, d, p); + for (let g = 0; g < n; g++) + (t.emplaceBack(l + g, s + g, s + g + 1), + t.emplaceBack(l + g, s + g + 1, l + g + 1), + t.emplaceBack(0 + g, i + g + 1, i + g), + t.emplaceBack(0 + g, 0 + g + 1, i + g + 1)); + let f = e.length, + m = f + (n + 1) * 2; + for (let g of [0, 1]) + for (let v = 0; v <= n; v++) + for (let y of [0, 1]) e.emplaceBack(g * Ut, v * r, y); + for (let g = 0; g < n * 2; g += 2) + (t.emplaceBack(f + g, f + g + 1, f + g + 3), + t.emplaceBack(f + g, f + g + 3, f + g + 2), + t.emplaceBack(m + g, m + g + 3, m + g + 1), + t.emplaceBack(m + g, m + g + 2, m + g + 3)); + } + }, + yun, + Tme = class e { + get pixelsToClipSpaceMatrix() { + return this._helper.pixelsToClipSpaceMatrix; + } + get clipSpaceToPixelsMatrix() { + return this._helper.clipSpaceToPixelsMatrix; + } + get pixelsToGLUnits() { + return this._helper.pixelsToGLUnits; + } + get centerOffset() { + return this._helper.centerOffset; + } + get size() { + return this._helper.size; + } + get rotationMatrix() { + return this._helper.rotationMatrix; + } + get centerPoint() { + return this._helper.centerPoint; + } + get pixelsPerMeter() { + return this._helper.pixelsPerMeter; + } + setMinZoom(t) { + this._helper.setMinZoom(t); + } + setMaxZoom(t) { + this._helper.setMaxZoom(t); + } + setMinPitch(t) { + this._helper.setMinPitch(t); + } + setMaxPitch(t) { + this._helper.setMaxPitch(t); + } + setRenderWorldCopies(t) { + this._helper.setRenderWorldCopies(t); + } + setBearing(t) { + this._helper.setBearing(t); + } + setPitch(t) { + this._helper.setPitch(t); + } + setRoll(t) { + this._helper.setRoll(t); + } + setFov(t) { + this._helper.setFov(t); + } + setZoom(t) { + this._helper.setZoom(t); + } + setCenter(t) { + this._helper.setCenter(t); + } + setElevation(t) { + this._helper.setElevation(t); + } + setMinElevationForCurrentTile(t) { + this._helper.setMinElevationForCurrentTile(t); + } + setPadding(t) { + this._helper.setPadding(t); + } + interpolatePadding(t, n, r) { + this._helper.interpolatePadding(t, n, r); + } + isPaddingEqual(t) { + return this._helper.isPaddingEqual(t); + } + resize(t, n, r = !0) { + this._helper.resize(t, n, r); + } + getMaxBounds() { + return this._helper.getMaxBounds(); + } + setMaxBounds(t) { + this._helper.setMaxBounds(t); + } + setConstrainOverride(t) { + this._helper.setConstrainOverride(t); + } + overrideNearFarZ(t, n) { + this._helper.overrideNearFarZ(t, n); + } + clearNearFarZOverride() { + this._helper.clearNearFarZOverride(); + } + getCameraQueryGeometry(t) { + return this._helper.getCameraQueryGeometry(this.getCameraPoint(), t); + } + get tileSize() { + return this._helper.tileSize; + } + get tileZoom() { + return this._helper.tileZoom; + } + get scale() { + return this._helper.scale; + } + get worldSize() { + return this._helper.worldSize; + } + get width() { + return this._helper.width; + } + get height() { + return this._helper.height; + } + get lngRange() { + return this._helper.lngRange; + } + get latRange() { + return this._helper.latRange; + } + get minZoom() { + return this._helper.minZoom; + } + get maxZoom() { + return this._helper.maxZoom; + } + get zoom() { + return this._helper.zoom; + } + get center() { + return this._helper.center; + } + get minPitch() { + return this._helper.minPitch; + } + get maxPitch() { + return this._helper.maxPitch; + } + get pitch() { + return this._helper.pitch; + } + get pitchInRadians() { + return this._helper.pitchInRadians; + } + get roll() { + return this._helper.roll; + } + get rollInRadians() { + return this._helper.rollInRadians; + } + get bearing() { + return this._helper.bearing; + } + get bearingInRadians() { + return this._helper.bearingInRadians; + } + get fov() { + return this._helper.fov; + } + get fovInRadians() { + return this._helper.fovInRadians; + } + get elevation() { + return this._helper.elevation; + } + get minElevationForCurrentTile() { + return this._helper.minElevationForCurrentTile; + } + get padding() { + return this._helper.padding; + } + get unmodified() { + return this._helper.unmodified; + } + get renderWorldCopies() { + return this._helper.renderWorldCopies; + } + get cameraToCenterDistance() { + return this._helper.cameraToCenterDistance; + } + get constrainOverride() { + return this._helper.constrainOverride; + } + get nearZ() { + return this._helper.nearZ; + } + get farZ() { + return this._helper.farZ; + } + get autoCalculateNearFarZ() { + return this._helper.autoCalculateNearFarZ; + } + setTransitionState(t) {} + constructor(t, n) { + ((this._posMatrixCache = new Map()), + (this._alignedPosMatrixCache = new Map()), + (this._fogMatrixCacheF32 = new Map()), + (this.defaultConstrain = (r, o) => { + o = qr(+o, this.minZoom, this.maxZoom); + let a = { center: new pr(r.lng, r.lat), zoom: o }, + i = this._helper._lngRange; + !this._helper._renderWorldCopies && + i === null && + (i = [-179.9999999999, 179.9999999999]); + let s = this.tileSize * km(a.zoom), + l = 0, + c = s, + u = 0, + d = s, + p = 0, + f = 0, + { x: m, y: g } = this.size; + if (this._helper._latRange) { + let C = this._helper._latRange; + ((l = e7(C[1]) * s), + (c = e7(C[0]) * s), + c - l < g && (p = g / (c - l))); + } + i && + ((u = jg($T(i[0]) * s, 0, s)), + (d = jg($T(i[1]) * s, 0, s)), + d < u && (d += s), + d - u < m && (f = m / (d - u))); + let { x: v, y } = Av(s, r), + x, + A, + w = Math.max(f || 0, p || 0); + if (w) { + let C = new ft(f ? (d + u) / 2 : v, p ? (c + l) / 2 : y); + return ((a.center = KL(s, C).wrap()), (a.zoom += Zp(w)), a); + } + if (this._helper._latRange) { + let C = g / 2; + (y - C < l && (A = l + C), y + C > c && (A = c - C)); + } + if (i) { + let C = (u + d) / 2, + E = v; + this._helper._renderWorldCopies && + (E = jg(v, C - s / 2, C + s / 2)); + let T = m / 2; + (E - T < u && (x = u + T), E + T > d && (x = d - T)); + } + if (x !== void 0 || A !== void 0) { + let C = new ft(x ?? v, A ?? y); + a.center = KL(s, C).wrap(); + } + return a; + }), + (this.applyConstrain = (r, o) => this._helper.applyConstrain(r, o)), + (this._helper = + n ?? + new vze( + { + calcMatrices: () => this._calcMatrices(), + defaultConstrain: (r, o) => this.defaultConstrain(r, o), + }, + t, + )), + (this._coveringTilesDetailsProvider = new JEr())); + } + clone() { + let t = new e(); + return (t.apply(this, !1), t); + } + apply(t, n) { + this._helper.apply(t, n); + } + get cameraPosition() { + return this._cameraPosition; + } + get projectionMatrix() { + return this._projectionMatrix; + } + get modelViewProjectionMatrix() { + return this._viewProjMatrix; + } + get inverseProjectionMatrix() { + return this._invProjMatrix; + } + get mercatorMatrix() { + return this._mercatorMatrix; + } + getVisibleUnwrappedCoordinates(t) { + let n = [new LQ(0, t)]; + if (this._helper._renderWorldCopies) { + let r = this.screenPointToMercatorCoordinate(new ft(0, 0)), + o = this.screenPointToMercatorCoordinate( + new ft(this._helper._width, 0), + ), + a = this.screenPointToMercatorCoordinate( + new ft(this._helper._width, this._helper._height), + ), + i = this.screenPointToMercatorCoordinate( + new ft(0, this._helper._height), + ), + s = Math.floor(Math.min(r.x, o.x, a.x, i.x)), + l = Math.floor(Math.max(r.x, o.x, a.x, i.x)); + for (let c = s - 1; c <= l + 1; c++) c !== 0 && n.push(new LQ(c, t)); + } + return n; + } + getCameraFrustum() { + return pze.fromInvProjectionMatrix( + this._invViewProjMatrix, + this.worldSize, + ); + } + getClippingPlane() { + return null; + } + getCoveringTilesDetailsProvider() { + return this._coveringTilesDetailsProvider; + } + recalculateZoomAndCenter(t) { + let n = this.screenPointToLocation(this.centerPoint, t), + r = t ? t.getElevationForLngLat(n, this) : 0; + this._helper.recalculateZoomAndCenter(r); + } + setLocationAtPoint(t, n, r = this.elevation) { + let o = r - this.elevation, + a = this.screenPointToMercatorCoordinateAtZ(n, o), + i = this.screenPointToMercatorCoordinateAtZ(this.centerPoint, 0), + s = ai.fromLngLat(t), + l = new ai(s.x - (a.x - i.x), s.y - (a.y - i.y)); + (this.setCenter(l?.toLngLat()), + this._helper._renderWorldCopies && this.setCenter(this.center.wrap())); + } + locationToScreenPoint(t, n) { + return n + ? this.coordinatePoint( + ai.fromLngLat(t), + n.getElevationForLngLat(t, this), + this._pixelMatrix3D, + ) + : this.coordinatePoint(ai.fromLngLat(t)); + } + screenPointToLocation(t, n) { + return this.screenPointToMercatorCoordinate(t, n)?.toLngLat(); + } + screenPointToLocationAtElevation(t, n) { + return this.screenPointToMercatorCoordinateAtZ( + t, + n - this.elevation, + )?.toLngLat(); + } + screenPointToMercatorCoordinate(t, n) { + if (n) { + let r = this.screenTerrainPointToMercatorCoordinate(t, n); + if (r != null) return r; + } + return this.screenPointToMercatorCoordinateAtZ(t); + } + screenTerrainPointToMercatorCoordinate(t, n) { + let r = n.getCoverageIndex(); + if (!r) return null; + let { near: o, far: a } = this.getRaySegmentFromPixel(t), + i = this.worldSize, + s = a[0] - o[0], + l = a[1] - o[1], + c = a[2] - o[2], + u = { + index: r, + exaggeration: n.exaggeration, + near: o, + dx: s, + dy: l, + dz: c, + worldSize: i, + }, + d = 0, + p = 1; + if (c === 0) { + if (o[2] > r.maxElevation || o[2] < r.minElevation) return null; + } else { + let y = (r.maxElevation - o[2]) / c, + x = (r.minElevation - o[2]) / c; + if ( + ((d = Math.max(d, Math.min(y, x))), + (p = Math.min(p, Math.max(y, x))), + d > p) + ) + return null; + } + let f = Math.hypot(s, l), + m = qr(Math.ceil((f * (p - d)) / 4), 1, 512), + g = 0, + v = !dme(u, 0); + for (let y = 0; y <= m; y++) { + let x = d + ((p - d) * y) / m; + if (!v) v = !dme(u, x); + else if (dme(u, x)) { + let { lo: A, hi: w } = bdn(u, dme, g, x, 0.001 / f), + C = wme(u, A), + E = wme(u, w), + T = o[2] + A * c - C.elevation, + I = o[2] + w * c - E.elevation, + k = C.covered && T > I ? qr(A + (T * (w - A)) / (T - I), A, w) : w; + return new ai( + (o[0] + k * s) / i, + (o[1] + k * l) / i, + wme(u, k).elevation, + ); + } + g = x; + } + return null; + } + getRaySegmentFromPixel(t) { + let n = [t.x, t.y, 0, 1], + r = [t.x, t.y, 1, 1]; + (qp(n, n, this._pixelMatrixInverse), qp(r, r, this._pixelMatrixInverse)); + let o = n[3], + a = r[3], + i = this.elevation; + return { + near: [n[0] / o, n[1] / o, n[2] / o + i], + far: [r[0] / a, r[1] / a, r[2] / a + i], + }; + } + screenPointToMercatorCoordinateAtZ(t, n) { + let r = n || 0, + { near: o, far: a } = this.getRaySegmentFromPixel(t), + i = o[2] === a[2] ? 0 : (r + this.elevation - o[2]) / (a[2] - o[2]); + return new ai( + Hs.number(o[0], a[0], i) / this.worldSize, + Hs.number(o[1], a[1], i) / this.worldSize, + r, + ); + } + coordinatePoint(t, n = 0, r = this._pixelMatrix) { + let o = this._coordinateClipPoint(t, n, r), + a = o[3]; + return a > 0 + ? new ft(o[0] / a, o[1] / a) + : this._offScreenPointBehindCamera(o[0], o[1], a); + } + _coordinateClipPoint(t, n, r) { + let o = [t.x * this.worldSize, t.y * this.worldSize, n, 1]; + return qp(o, o, r); + } + _offScreenPointBehindCamera(t, n, r) { + let o = this.width / 2, + a = this.height / 2, + i = t - o * r, + s = n - a * r; + i === 0 && s === 0 && (s = 1); + let l = o + this.width, + c = a + this.height, + u = Math.min( + i === 0 ? 1 / 0 : l / Math.abs(i), + s === 0 ? 1 / 0 : c / Math.abs(s), + ); + return new ft(o + i * u, a + s * u); + } + getBounds() { + let t = Math.max(0, this._helper._height / 2 - JL(this)); + return new Fw() + .extend(this.screenPointToLocation(new ft(0, t))) + .extend(this.screenPointToLocation(new ft(this._helper._width, t))) + .extend( + this.screenPointToLocation( + new ft(this._helper._width, this._helper._height), + ), + ) + .extend(this.screenPointToLocation(new ft(0, this._helper._height))); + } + isPointOnMapSurface(t, n) { + return n + ? this.screenTerrainPointToMercatorCoordinate(t, n) != null + : t.y > this.centerPoint.y - JL(this); + } + calculatePosMatrix(t, n = !1, r = !1) { + let o = + t.key ?? + HT( + t.wrap, + t.canonical.z, + t.canonical.z, + t.canonical.x, + t.canonical.y, + ), + a = n ? this._alignedPosMatrixCache : this._posMatrixCache; + if (a.has(o)) { + let l = a.get(o); + return r ? l.f32 : l.f64; + } + let i = Kfe(t, this.worldSize); + QT(i, n ? this._alignedProjMatrix : this._viewProjMatrix, i); + let s = { f64: i, f32: new Float32Array(i) }; + return (a.set(o, s), r ? s.f32 : s.f64); + } + calculateFogMatrix(t) { + let n = t.key, + r = this._fogMatrixCacheF32; + if (r.has(n)) return r.get(n); + let o = Kfe(t, this.worldSize); + return ( + QT(o, this._fogMatrix, o), + r.set(n, new Float32Array(o)), + r.get(n) + ); + } + calculateCenterFromCameraLngLatAlt(t, n, r, o) { + return this._helper.calculateCenterFromCameraLngLatAlt(t, n, r, o); + } + calculateCameraOptionsFromTo(t, n, r, o) { + let a = ai.fromLngLat(t, n), + i = ai.fromLngLat(r, o), + s = i.x - a.x, + l = i.y - a.y, + c = i.z - a.z, + u = Math.hypot(s, l, c); + if (u === 0) + throw Error("Can't calculate camera options with same From and To"); + let d = Math.hypot(s, l), + p = Zp(this.cameraToCenterDistance / u / this.tileSize), + f = fv(Math.atan2(s, -l)), + m = fv(Math.acos(d / u)); + return ( + (m = c < 0 ? 90 - m : 90 + m), + { center: i.toLngLat(), elevation: o, zoom: p, pitch: m, bearing: f } + ); + } + _calculateNearFarZ(t, n, r) { + let o = Math.min( + this.elevation, + this.minElevationForCurrentTile, + this.getCameraAltitude() - 100, + ), + a = t - (o * this._helper._pixelPerMeter) / Math.cos(n), + i = o < 0 ? a : t, + s = Math.PI / 2 + this.pitchInRadians, + l = + ((_s(this.fov) * + (Math.abs(Math.cos(_s(this.roll))) * this.height + + Math.abs(Math.sin(_s(this.roll))) * this.width)) / + this.height) * + (0.5 + r.y / this.height), + c = + (Math.sin(l) * i) / + Math.sin(qr(Math.PI - s - l, 0.01, Math.PI - 0.01)), + u = JL(this), + d = Math.atan(u / this._helper.cameraToCenterDistance), + p = _s(90 - e5), + f = d > p ? 2 * d * (0.5 + r.y / (u * 2)) : p, + m = + (Math.sin(f) * i) / + Math.sin(qr(Math.PI - s - f, 0.01, Math.PI - 0.01)), + g = Math.min(c, m); + ((this._helper._farZ = (Math.cos(Math.PI / 2 - n) * g + i) * 1.01), + (this._helper._nearZ = this._helper._height / 50)); + } + _calcMatrices(t = this._helper.autoCalculateNearFarZ) { + let n = this.centerOffset, + r = Av(this.worldSize, this.center), + { x: o, y: a } = r, + i = _s(Math.min(this.pitch, e5)), + s = Math.max( + this._helper.cameraToCenterDistance / 2, + this._helper.cameraToCenterDistance + + (this._helper._elevation * this._helper._pixelPerMeter) / + Math.cos(i), + ); + t && this._calculateNearFarZ(s, i, n); + let l; + ((l = new Float64Array(16)), + ffe( + l, + this.fovInRadians, + this._helper._width / this._helper._height, + this._helper._nearZ, + this._helper._farZ, + ), + (this._invProjMatrix = new Float64Array(16)), + bEr(this._invProjMatrix, l), + (l[8] = (-n.x * 2) / this._helper._width), + (l[9] = (n.y * 2) / this._helper._height), + (this._projectionMatrix = pfe(l)), + Gp(l, l, [1, -1, 1]), + vc(l, l, [0, 0, -this._helper.cameraToCenterDistance]), + Rw(l, l, -this.rollInRadians), + XT(l, l, this.pitchInRadians), + Rw(l, l, -this.bearingInRadians), + vc(l, l, [-o, -a, 0]), + (this._mercatorMatrix = Gp([], l, [ + this.worldSize, + this.worldSize, + this.worldSize, + ])), + Gp(l, l, [1, 1, this._helper._pixelPerMeter]), + (this._pixelMatrix = QT( + new Float64Array(16), + this.clipSpaceToPixelsMatrix, + l, + )), + vc(l, l, [0, 0, -this.elevation]), + (this._viewProjMatrix = l), + (this._invViewProjMatrix = sQ([], l))); + let c = [0, 0, -1, 1]; + (qp(c, c, this._invViewProjMatrix), + (this._cameraPosition = [c[0] / c[3], c[1] / c[3], c[2] / c[3]]), + (this._fogMatrix = new Float64Array(16)), + ffe( + this._fogMatrix, + this.fovInRadians, + this.width / this.height, + s, + this._helper._farZ, + ), + (this._fogMatrix[8] = (-n.x * 2) / this.width), + (this._fogMatrix[9] = (n.y * 2) / this.height), + Gp(this._fogMatrix, this._fogMatrix, [1, -1, 1]), + vc(this._fogMatrix, this._fogMatrix, [ + 0, + 0, + -this.cameraToCenterDistance, + ]), + Rw(this._fogMatrix, this._fogMatrix, -this.rollInRadians), + XT(this._fogMatrix, this._fogMatrix, this.pitchInRadians), + Rw(this._fogMatrix, this._fogMatrix, -this.bearingInRadians), + vc(this._fogMatrix, this._fogMatrix, [-o, -a, 0]), + Gp(this._fogMatrix, this._fogMatrix, [ + 1, + 1, + this._helper._pixelPerMeter, + ]), + vc(this._fogMatrix, this._fogMatrix, [0, 0, -this.elevation]), + (this._pixelMatrix3D = QT( + new Float64Array(16), + this.clipSpaceToPixelsMatrix, + l, + ))); + let u = (this._helper._width % 2) / 2, + d = (this._helper._height % 2) / 2, + p = Math.cos(this.bearingInRadians), + f = Math.sin(-this.bearingInRadians), + m = o - Math.round(o) + p * u + f * d, + g = a - Math.round(a) + p * d + f * u, + v = new Float64Array(l); + if ( + (vc(v, v, [m > 0.5 ? m - 1 : m, g > 0.5 ? g - 1 : g, 0]), + (this._alignedProjMatrix = v), + (l = sQ(new Float64Array(16), this._pixelMatrix)), + !l) + ) + throw Error("failed to invert matrix"); + ((this._pixelMatrixInverse = l), this._clearMatrixCaches()); + } + _clearMatrixCaches() { + (this._posMatrixCache.clear(), + this._alignedPosMatrixCache.clear(), + this._fogMatrixCacheF32.clear()); + } + maxPitchScaleFactor() { + if (!this._pixelMatrixInverse) return 1; + let t = this.screenPointToMercatorCoordinate(new ft(0, 0)), + n = [t.x * this.worldSize, t.y * this.worldSize, 0, 1]; + return ( + qp(n, n, this._pixelMatrix)[3] / this._helper.cameraToCenterDistance + ); + } + getCameraPoint() { + return this._helper.getCameraPoint(); + } + getCameraAltitude() { + return ( + (Math.cos(this.pitchInRadians) * this.cameraToCenterDistance) / + this.pixelsPerMeter + + this.elevation + ); + } + getCameraLngLat() { + let t = $C(1, this.center.lat) * this.worldSize, + n = this._helper.cameraToCenterDistance / t; + return oNe( + this.center, + this.elevation, + this.pitch, + this.bearing, + n, + ).toLngLat(); + } + getProjectionData(t) { + let { overscaledTileID: n, aligned: r, applyTerrainMatrix: o } = t, + a = this._helper.getMercatorTileCoordinates(n), + i = n ? this.calculatePosMatrix(n, r, !0) : null, + s; + return ( + (s = + n?.terrainRttPosMatrix32f && o + ? n.terrainRttPosMatrix32f + : i || gUe()), + { + mainMatrix: s, + tileMercatorCoords: a, + clippingPlane: [0, 0, 0, 0], + projectionTransition: 0, + fallbackMatrix: s, + clipAntimeridian: !1, + } + ); + } + isLocationOccluded(t, n, r) { + if (!n?.getCoverageIndex()) return !1; + let o = ai.fromLngLat(t); + r ??= n.getElevationForLngLat(t, this); + let a = this._coordinateClipPoint(o, r, this._pixelMatrix3D), + i = a[3]; + if (i <= 0 || a[2] > i) return !0; + let s = new ft(a[0] / i, a[1] / i), + l = this.screenTerrainPointToMercatorCoordinate(s, n); + if (l == null) return !1; + let c = this.getRaySegmentFromPixel(s), + u = vun(c, o.x * this.worldSize, o.y * this.worldSize, r); + return vun(c, l.x * this.worldSize, l.y * this.worldSize, l.z) < u * 0.99; + } + getPixelScale() { + return 1; + } + getCircleRadiusCorrection() { + return 1; + } + getPitchedTextCorrection(t, n, r) { + return 1; + } + transformLightDirection(t) { + return mfe(t); + } + getRayDirectionFromPixel(t) { + throw Error("Not implemented."); + } + projectTileCoordinates(t, n, r, o) { + let a = this.calculatePosMatrix(r), + i; + o == null + ? ((i = [t, n, 0, 1]), yze(i, i, a)) + : ((i = [t, n, o, 1]), qp(i, i, a)); + let s = i[3]; + return { + point: new ft(i[0] / s, i[1] / s), + signedDistanceFromCamera: s, + isOccluded: !1, + }; + } + populateCache(t) { + for (let n of t) this.calculatePosMatrix(n); + } + getProjectionDataForCustomLayer(t = !0) { + let n = new Xp(0, 0, 0, 0, 0), + r = this.getProjectionData({ + overscaledTileID: n, + applyGlobeMatrix: t, + }), + o = Kfe(n, this.worldSize); + QT(o, this._viewProjMatrix, o); + let a = [Ut, Ut, this.worldSize / this._helper.pixelsPerMeter], + i = YC(); + return ( + Gp(i, o, a), + { + ...r, + tileMercatorCoords: [0, 0, 1, 1], + fallbackMatrix: i, + mainMatrix: i, + } + ); + } + getFastPathSimpleProjectionMatrix(t) { + return this.calculatePosMatrix(t); + } + }, + kme = class { + get useGlobeControls() { + return !1; + } + handlePanInertia(e, t) { + let n = e.mag(), + r = Math.abs(JL(t)); + return { + easingOffset: e.mult(Math.min((r * 0.75) / n, 1)), + easingCenter: t.center, + }; + } + handleMapControlsRollPitchBearingZoom(e, t) { + (e.bearingDelta && t.setBearing(t.bearing + e.bearingDelta), + e.pitchDelta && t.setPitch(t.pitch + e.pitchDelta), + e.rollDelta && t.setRoll(t.roll + e.rollDelta), + e.zoomDelta && t.setZoom(t.zoom + e.zoomDelta)); + } + handleMapControlsPan(e, t, n) { + e.around.distSqr(t.centerPoint) < 0.01 || + t.setLocationAtPoint(n, e.around, e.aroundElevation); + } + cameraForBoxAndBearing(e, t, n, r, o) { + return wdn(e, t, n, r, o); + } + handleJumpToCenterZoom(e, t) { + let n = t.zoom === void 0 ? e.zoom : +t.zoom; + (e.zoom !== n && e.setZoom(+t.zoom), + t.center !== void 0 && e.setCenter(pr.convert(t.center))); + } + handleEaseTo(e, t) { + let { zoom: n, padding: r } = e, + o = { roll: e.roll, pitch: e.pitch, bearing: e.bearing }, + a = { + roll: t.roll === void 0 ? e.roll : t.roll, + pitch: t.pitch === void 0 ? e.pitch : t.pitch, + bearing: t.bearing === void 0 ? e.bearing : t.bearing, + }, + i = t.zoom !== void 0, + s = !e.isPaddingEqual(t.padding), + l = !1, + c = i ? +t.zoom : e.zoom, + u = e.centerPoint.add(t.offsetAsPoint), + d = e.screenPointToLocation(u), + { center: p, zoom: f } = e.applyConstrain( + pr.convert(t.center || d), + c ?? n, + ); + Ime(e, p); + let m = Av(e.worldSize, d), + g = Av(e.worldSize, p).sub(m), + v = km(f - n); + l = f !== n; + let y = (A) => { + if ( + (l && e.setZoom(Hs.number(n, f, A)), + bUe(o, a) || + Adn({ + startEulerAngles: o, + endEulerAngles: a, + tr: e, + k: A, + useSlerp: o.roll != a.roll, + }), + s && + (e.interpolatePadding(r, t.padding, A), + (u = e.centerPoint.add(t.offsetAsPoint))), + t.around) + ) + e.setLocationAtPoint(t.around, t.aroundPoint); + else { + let w = km(e.zoom - n), + C = (f > n ? Math.min(2, v) : Math.max(0.5, v)) ** (1 - A), + E = KL(e.worldSize, m.add(g.mult(A * C)).mult(w)); + e.setLocationAtPoint(e.renderWorldCopies ? E.wrap() : E, u); + } + }, + x = this._transformAtAnimationEnd(e, f, a, t.padding); + return ( + t.around + ? x.setLocationAtPoint(t.around, t.aroundPoint) + : x.setLocationAtPoint(p, x.centerPoint.add(t.offsetAsPoint)), + { easeFunc: y, isZooming: l, elevationCenter: x.center } + ); + } + handleFlyTo(e, t) { + let n = t.zoom !== void 0, + r = e.zoom, + o = e.applyConstrain( + pr.convert(t.center || t.locationAtOffset), + n ? +t.zoom : r, + ), + { center: a, zoom: i } = o; + Ime(e, a); + let s = e.worldSize, + l = Av(s, t.locationAtOffset), + c = Av(s, a).sub(l), + u = c.mag(), + d = km(i - r), + p = t.minZoom === void 0 ? e.minZoom : +t.minZoom, + f = Math.max(p, e.minZoom), + m = Math.min(f, r, i), + g = e.applyConstrain(a, m).zoom, + v = km(g - r), + y = (A, w, C, E) => { + e.setZoom(A === 1 ? i : r + Zp(w)); + let T = A === 1 ? a : KL(s, l.add(c.mult(C))); + e.setLocationAtPoint(e.renderWorldCopies ? T.wrap() : T, E); + }, + x = this._transformAtAnimationEnd( + e, + i, + { roll: t.roll, pitch: t.pitch, bearing: t.bearing }, + t.padding, + ); + return ( + x.setLocationAtPoint(a, x.centerPoint.add(t.offsetAsPoint)), + { + easeFunc: y, + scaleOfZoom: d, + targetCenter: x.center, + scaleOfMinZoom: v, + pixelPathLength: u, + } + ); + } + _transformAtAnimationEnd(e, t, n, r) { + let o = e.clone(); + return ( + o.setZoom(t), + o.setRoll(n.roll), + o.setPitch(n.pitch), + o.setBearing(n.bearing), + o.setPadding(r), + o + ); + } + }, + tIr, + nIr = () => (tIr ||= new np({ type: new Mn(bt.projection.type, "type") })), + UNe, + Sdn = class { + constructor() { + this._tileMeshCache = {}; + } + get name() { + return "vertical-perspective"; + } + get transitionState() { + return 1; + } + get useSubdivision() { + return !0; + } + get shaderVariantName() { + return "globe"; + } + get shaderDefine() { + return "#define GLOBE"; + } + get shaderPreludeCode() { + return Qx.projectionGlobe; + } + get vertexShaderPreludeCode() { + return Qx.projectionMercator.vertexSource; + } + get subdivisionGranularity() { + return UNe; + } + get useGlobeControls() { + return !0; + } + destroy() {} + _getMeshKey(e) { + return `${e.granularity.toString(36)}_${e.generateBorders ? "b" : ""}${e.extendToNorthPole ? "n" : ""}${e.extendToSouthPole ? "s" : ""}`; + } + getMeshFromTileID(e, t, n, r, o) { + let a = ( + o === "stencil" ? UNe.stencil : UNe.tile + ).getGranularityForZoomLevel(t.z), + i = t.y === 0 && r, + s = t.y === (1 << t.z) - 1 && r; + return this._getMesh(e, { + granularity: a, + generateBorders: n, + extendToNorthPole: i, + extendToSouthPole: s, + }); + } + _getMesh(e, t) { + let n = this._getMeshKey(t); + if (n in this._tileMeshCache) return this._tileMeshCache[n]; + let r = sdn(e, t); + return ((this._tileMeshCache[n] = r), r); + } + recalculate(e) {} + hasTransition() { + return !1; + } + }, + bun, + NNe, + mIr = class { + constructor(e) { + ((this._cachePrevious = new Map()), + (this._cache = new Map()), + (this._hadAnyChanges = !1), + (this._boundingVolumeFactory = e)); + } + swapBuffers() { + if (!this._hadAnyChanges) return; + let e = this._cachePrevious; + ((this._cachePrevious = this._cache), + (this._cache = e), + this._cache.clear(), + (this._hadAnyChanges = !1)); + } + getTileBoundingVolume(e, t, n, r) { + let o = `${e.z}_${e.x}_${e.y}_${r?.terrain ? "t" : ""}_${Math.round(n)}`, + a = this._cache.get(o); + if (a) return a; + let i = this._cachePrevious.get(o); + if (i) return (this._cache.set(o, i), i); + let s = this._boundingVolumeFactory(e, t, n, r); + return (this._cache.set(o, s), (this._hadAnyChanges = !0), s); + } + }, + _Ne = class e { + constructor(t, n, r, o) { + ((this.min = r), (this.max = o), (this.points = t), (this.planes = n)); + } + static fromAabb(t, n) { + let r = []; + for (let o = 0; o < 8; o++) + r.push([ + ((o >> 0) & 1) == 1 ? n[0] : t[0], + ((o >> 1) & 1) == 1 ? n[1] : t[1], + ((o >> 2) & 1) == 1 ? n[2] : t[2], + ]); + return new e( + r, + [ + [-1, 0, 0, n[0]], + [1, 0, 0, -t[0]], + [0, -1, 0, n[1]], + [0, 1, 0, -t[1]], + [0, 0, -1, n[2]], + [0, 0, 1, -t[2]], + ], + t, + n, + ); + } + static fromCenterSizeAngles(t, n, r) { + let o = vfe([], r[0], r[1], r[2]), + a = gfe([], [n[0], 0, 0], o), + i = gfe([], [0, n[1], 0], o), + s = gfe([], [0, 0, n[2]], o), + l = [...t], + c = [...t]; + for (let d = 0; d < 8; d++) + for (let p = 0; p < 3; p++) { + let f = + t[p] + + a[p] * (((d >> 0) & 1) == 1 ? 1 : -1) + + i[p] * (((d >> 1) & 1) == 1 ? 1 : -1) + + s[p] * (((d >> 2) & 1) == 1 ? 1 : -1); + ((l[p] = Math.min(l[p], f)), (c[p] = Math.max(c[p], f))); + } + let u = []; + for (let d = 0; d < 8; d++) { + let p = [...t]; + (Kg(p, p, Ss([], a, ((d >> 0) & 1) == 1 ? 1 : -1)), + Kg(p, p, Ss([], i, ((d >> 1) & 1) == 1 ? 1 : -1)), + Kg(p, p, Ss([], s, ((d >> 2) & 1) == 1 ? 1 : -1)), + u.push(p)); + } + return new e( + u, + [ + [...a, -bc(a, u[0])], + [...i, -bc(i, u[0])], + [...s, -bc(s, u[0])], + [-a[0], -a[1], -a[2], -bc(a, u[7])], + [-i[0], -i[1], -i[2], -bc(i, u[7])], + [-s[0], -s[1], -s[2], -bc(s, u[7])], + ], + l, + c, + ); + } + intersectsFrustum(t) { + let n = !0, + r = this.points.length, + o = this.planes.length, + a = t.planes.length, + i = t.points.length; + for (let s = 0; s < a; s++) { + let l = t.planes[s], + c = 0; + for (let u = 0; u < r; u++) { + let d = this.points[u]; + l[0] * d[0] + l[1] * d[1] + l[2] * d[2] + l[3] >= 0 && c++; + } + if (c === 0) return 0; + c < r && (n = !1); + } + if (n) return 2; + for (let s = 0; s < o; s++) { + let l = this.planes[s], + c = 0; + for (let u = 0; u < i; u++) { + let d = t.points[u]; + l[0] * d[0] + l[1] * d[1] + l[2] * d[2] + l[3] >= 0 && c++; + } + if (c === 0) return 0; + } + return 1; + } + intersectsPlane(t) { + let n = this.points.length, + r = 0; + for (let o = 0; o < n; o++) { + let a = this.points[o]; + t[0] * a[0] + t[1] * a[1] + t[2] * a[2] + t[3] >= 0 && r++; + } + return r === n ? 2 : r === 0 ? 0 : 1; + } + }, + hIr = class { + constructor() { + this._boundingVolumeCache = new mIr(this._computeTileBoundingVolume); + } + prepareNextFrame() { + this._boundingVolumeCache.swapBuffers(); + } + distanceToTile2d(e, t, n, r) { + let o = 1 << n.z, + a = 1 / o, + i = n.x / o, + s = n.y / o, + l = 0.5, + c = 2; + return ( + (c = Math.min(c, HNe(e, t, i, s, a))), + (c = Math.min(c, HNe(e, t, i + l, -s - a, a))), + (c = Math.min(c, HNe(e, t, i + l, 2 - s - a, a))), + c + ); + } + getWrap(e, t, n) { + let r = 1 << t.z, + o = 1 / r, + a = t.x / r, + i = Sme(e.x, a, o), + s = Sme(e.x, a - 1, o), + l = Sme(e.x, a + 1, o), + c = Math.min(i, s, l); + return c === l ? 1 : c === s ? -1 : 0; + } + allowVariableZoom(e, t) { + return fze(e, t) > 4; + } + allowWorldCopies() { + return !1; + } + getTileBoundingVolume(e, t, n, r) { + return this._boundingVolumeCache.getTileBoundingVolume(e, t, n, r); + } + _computeTileBoundingVolume(e, t, n, r) { + let o = Math.min(0, n), + a = Math.max(0, n); + if (r?.terrain) { + let i = new Xp(e.z, t, e.z, e.x, e.y), + s = r.terrain.getMinMaxElevation(i); + ((o = s.minElevation ?? o), (a = Math.max(s.maxElevation ?? a, a))); + } + if (((o /= Pm), (a /= Pm), (o += 1), (a += 1), e.z <= 0)) + return _Ne.fromAabb([-a, -a, -a], [a, a, a]); + if (e.z === 1) + return _Ne.fromAabb( + [e.x === 0 ? -a : 0, e.y === 0 ? 0 : -a, -a], + [e.x === 0 ? 0 : a, e.y === 0 ? a : 0, a], + ); + { + let i = [ + t5(0, 0, e.x, e.y, e.z), + t5(Ut, 0, e.x, e.y, e.z), + t5(Ut, Ut, e.x, e.y, e.z), + t5(0, Ut, e.x, e.y, e.z), + ], + s = []; + for (let I of i) s.push(Ss([], I, a)); + if (a !== o) for (let I of i) s.push(Ss([], I, o)); + (e.y === 0 && s.push([0, 1, 0]), + e.y === (1 << e.z) - 1 && s.push([0, -1, 0])); + let l = [1, 1, 1], + c = [-1, -1, -1]; + for (let I of s) + for (let k = 0; k < 3; k++) + ((l[k] = Math.min(l[k], I[k])), (c[k] = Math.max(c[k], I[k]))); + let u = t5(Ut / 2, Ut / 2, e.x, e.y, e.z), + d = wh([], [0, 1, 0], u); + Tm(d, d); + let p = wh([], u, d); + Tm(p, p); + let f = wh([], i[2], i[1]); + Tm(f, f); + let m = wh([], i[0], i[3]); + (Tm(m, m), + s.push(Ss([], u, a)), + e.y >= (1 << e.z) / 2 && + s.push(Ss([], t5(Ut / 2, 0, e.x, e.y, e.z), a)), + e.y < (1 << e.z) / 2 && + s.push(Ss([], t5(Ut / 2, Ut, e.x, e.y, e.z), a))); + let g = wun(u, s), + v = wun(p, s), + y = [-u[0], -u[1], -u[2], g.max], + x = [u[0], u[1], u[2], -g.min], + A = [-p[0], -p[1], -p[2], v.max], + w = [p[0], p[1], p[2], -v.min], + C = [...f, 0], + E = [...m, 0], + T = []; + return ( + e.y === 0 + ? T.push(Jg(E, C, y), Jg(E, C, x)) + : T.push(Jg(A, C, y), Jg(A, C, x), Jg(A, E, y), Jg(A, E, x)), + e.y === (1 << e.z) - 1 + ? T.push(Jg(E, C, y), Jg(E, C, x)) + : T.push(Jg(w, C, y), Jg(w, C, x), Jg(w, E, y), Jg(w, E, x)), + new _Ne(T, [y, x, A, w, C, E], l, c) + ); + } + } + }, + Sun = 0.000000000001, + Tdn = class e { + get pixelsToClipSpaceMatrix() { + return this._helper.pixelsToClipSpaceMatrix; + } + get clipSpaceToPixelsMatrix() { + return this._helper.clipSpaceToPixelsMatrix; + } + get pixelsToGLUnits() { + return this._helper.pixelsToGLUnits; + } + get centerOffset() { + return this._helper.centerOffset; + } + get size() { + return this._helper.size; + } + get rotationMatrix() { + return this._helper.rotationMatrix; + } + get centerPoint() { + return this._helper.centerPoint; + } + get pixelsPerMeter() { + return this._helper.pixelsPerMeter; + } + setMinZoom(t) { + this._helper.setMinZoom(t); + } + setMaxZoom(t) { + this._helper.setMaxZoom(t); + } + setMinPitch(t) { + this._helper.setMinPitch(t); + } + setMaxPitch(t) { + this._helper.setMaxPitch(t); + } + setRenderWorldCopies(t) { + this._helper.setRenderWorldCopies(t); + } + setBearing(t) { + this._helper.setBearing(t); + } + setPitch(t) { + this._helper.setPitch(t); + } + setRoll(t) { + this._helper.setRoll(t); + } + setFov(t) { + this._helper.setFov(t); + } + setZoom(t) { + this._helper.setZoom(t); + } + setCenter(t) { + this._helper.setCenter(t); + } + setElevation(t) { + this._helper.setElevation(t); + } + setMinElevationForCurrentTile(t) { + this._helper.setMinElevationForCurrentTile(t); + } + setPadding(t) { + this._helper.setPadding(t); + } + interpolatePadding(t, n, r) { + this._helper.interpolatePadding(t, n, r); + } + isPaddingEqual(t) { + return this._helper.isPaddingEqual(t); + } + resize(t, n) { + this._helper.resize(t, n); + } + getMaxBounds() { + return this._helper.getMaxBounds(); + } + setMaxBounds(t) { + this._helper.setMaxBounds(t); + } + setConstrainOverride(t) { + this._helper.setConstrainOverride(t); + } + overrideNearFarZ(t, n) { + this._helper.overrideNearFarZ(t, n); + } + clearNearFarZOverride() { + this._helper.clearNearFarZOverride(); + } + getCameraQueryGeometry(t) { + return this._helper.getCameraQueryGeometry(this.getCameraPoint(), t); + } + get tileSize() { + return this._helper.tileSize; + } + get tileZoom() { + return this._helper.tileZoom; + } + get scale() { + return this._helper.scale; + } + get worldSize() { + return this._helper.worldSize; + } + get width() { + return this._helper.width; + } + get height() { + return this._helper.height; + } + get lngRange() { + return this._helper.lngRange; + } + get latRange() { + return this._helper.latRange; + } + get minZoom() { + return this._helper.minZoom; + } + get maxZoom() { + return this._helper.maxZoom; + } + get zoom() { + return this._helper.zoom; + } + get center() { + return this._helper.center; + } + get minPitch() { + return this._helper.minPitch; + } + get maxPitch() { + return this._helper.maxPitch; + } + get pitch() { + return this._helper.pitch; + } + get pitchInRadians() { + return this._helper.pitchInRadians; + } + get roll() { + return this._helper.roll; + } + get rollInRadians() { + return this._helper.rollInRadians; + } + get bearing() { + return this._helper.bearing; + } + get bearingInRadians() { + return this._helper.bearingInRadians; + } + get fov() { + return this._helper.fov; + } + get fovInRadians() { + return this._helper.fovInRadians; + } + get elevation() { + return this._helper.elevation; + } + get minElevationForCurrentTile() { + return this._helper.minElevationForCurrentTile; + } + get padding() { + return this._helper.padding; + } + get unmodified() { + return this._helper.unmodified; + } + get renderWorldCopies() { + return this._helper.renderWorldCopies; + } + get constrainOverride() { + return this._helper.constrainOverride; + } + get nearZ() { + return this._helper.nearZ; + } + get farZ() { + return this._helper.farZ; + } + get autoCalculateNearFarZ() { + return this._helper.autoCalculateNearFarZ; + } + setTransitionState(t) {} + constructor(t, n) { + ((this._cachedClippingPlane = WC()), + (this._projectionMatrix = uQ()), + (this._globeViewProjMatrix32f = gUe()), + (this._globeViewProjMatrixF64 = uQ()), + (this._globeViewProjMatrixF64Inverted = uQ()), + (this._globeProjMatrixInverted = uQ()), + (this._cameraPosition = Wa()), + (this.defaultConstrain = (r, o) => { + let a = qr(r.lat, -vv, vv), + i = qr(+o, this.minZoom + Wp(0, a), this.maxZoom); + return { center: new pr(r.lng, a), zoom: i }; + }), + (this.applyConstrain = (r, o) => this._helper.applyConstrain(r, o)), + (this._helper = + n ?? + new vze( + { + calcMatrices: () => this._calcMatrices(), + defaultConstrain: (r, o) => this.defaultConstrain(r, o), + }, + t, + )), + (this._coveringTilesDetailsProvider = new hIr())); + } + clone() { + let t = new e(); + return (t.apply(this, !1), t); + } + apply(t, n) { + this._helper.apply(t, n); + } + get projectionMatrix() { + return this._projectionMatrix; + } + get modelViewProjectionMatrix() { + return this._globeViewProjMatrixF64; + } + get inverseProjectionMatrix() { + return this._globeProjMatrixInverted; + } + get cameraPosition() { + let t = Wa(); + return ( + (t[0] = this._cameraPosition[0]), + (t[1] = this._cameraPosition[1]), + (t[2] = this._cameraPosition[2]), + t + ); + } + get cameraToCenterDistance() { + return this._helper.cameraToCenterDistance; + } + getProjectionData(t) { + let { overscaledTileID: n, applyGlobeMatrix: r } = t, + o = this._helper.getMercatorTileCoordinates(n); + return { + mainMatrix: this._globeViewProjMatrix32f, + tileMercatorCoords: o, + clippingPlane: this._cachedClippingPlane, + projectionTransition: +!!r, + fallbackMatrix: this._globeViewProjMatrix32f, + clipAntimeridian: n?.canonical.z === 0, + }; + } + _computeClippingPlane(t) { + let n = this.pitchInRadians, + r = this.cameraToCenterDistance / t, + o = Math.sin(n) * r, + a = Math.cos(n) * r + 1, + i = (1 / Math.sqrt(o * o + a * a)) * 1, + s = -o, + l = a, + c = Math.sqrt(s * s + l * l); + ((s /= c), (l /= c)); + let u = [0, s, l]; + (yfe(u, u, [0, 0, 0], -this.bearingInRadians), + GL(u, u, [0, 0, 0], (-1 * this.center.lat * Math.PI) / 180), + WT(u, u, [0, 0, 0], (this.center.lng * Math.PI) / 180)); + let d = 1 / Fy(u); + return (Ss(u, u, d), [...u, -i * d]); + } + isLocationOccluded(t, n, r) { + let o = n?.getCoverageIndex(); + r ??= o ? n.getElevationForLngLat(t, this) : 0; + let a = Eun(t, r); + if (!this.isSurfacePointVisible(a)) return !0; + if (!o) return !1; + let i = this._projectSurfacePointToScreen(a), + s = this.cameraPosition, + l = this.getRayDirectionFromPixel(i), + c = Iun(s, l, a); + if (c <= 0) return !0; + let u = this.screenTerrainPointToMercatorCoordinate(i, n); + return u != null && Iun(s, l, Eun(u.toLngLat(), u.z)) < c * 0.99; + } + transformLightDirection(t) { + let n = (this._helper._center.lng * Math.PI) / 180, + r = (this._helper._center.lat * Math.PI) / 180, + o = Math.cos(r), + a = [Math.sin(n) * o, Math.sin(r), Math.cos(n) * o], + i = [a[2], 0, -a[0]], + s = [0, 0, 0]; + (wh(s, i, a), Tm(i, i), Tm(s, s)); + let l = [ + i[0] * t[0] + s[0] * t[1] + a[0] * t[2], + i[1] * t[0] + s[1] * t[1] + a[1] * t[2], + i[2] * t[0] + s[2] * t[1] + a[2] * t[2], + ], + c = [0, 0, 0]; + return (Tm(c, l), c); + } + getPixelScale() { + return 1 / Math.cos((this._helper._center.lat * Math.PI) / 180); + } + getCircleRadiusCorrection() { + return Math.cos((this._helper._center.lat * Math.PI) / 180); + } + getPitchedTextCorrection(t, n, r) { + let o = rNe(t, n, r.canonical), + a = oIr(o.x, o.y); + return this.getCircleRadiusCorrection() / Math.cos(a[1]); + } + projectTileCoordinates(t, n, r, o) { + let a = r.canonical, + i = t5(t, n, a.x, a.y, a.z), + s = 1 + (o ?? 0) / Pm, + l = i[0] * s, + c = i[1] * s, + u = i[2] * s, + d = [l, c, u, 1]; + qp(d, d, this._globeViewProjMatrixF64); + let p; + if (s <= 1) { + let f = this._cachedClippingPlane; + p = f[0] * i[0] + f[1] * i[1] + f[2] * i[2] + f[3] < 0; + } else p = this._isLineOfSightBlocked(l, c, u); + return { + point: new ft(d[0] / d[3], d[1] / d[3]), + signedDistanceFromCamera: d[3], + isOccluded: p, + }; + } + _isLineOfSightBlocked(t, n, r) { + let o = this._cameraPosition, + a = t - o[0], + i = n - o[1], + s = r - o[2], + l = a * a + i * i + s * s; + if (l === 0) return !1; + let c = qr(-(o[0] * a + o[1] * i + o[2] * s) / l, 0, 1), + u = o[0] + c * a, + d = o[1] + c * i, + p = o[2] + c * s; + return u * u + d * d + p * p < 1; + } + _calcMatrices(t = this._helper.autoCalculateNearFarZ) { + let n = aB(this.worldSize, this.center.lat), + r = YC(); + (t && + ((this._helper._nearZ = 0.5), + (this._helper._farZ = this.cameraToCenterDistance + n * 2)), + ffe( + r, + this.fovInRadians, + this.width / this.height, + this._helper._nearZ, + this._helper._farZ, + )); + let o = this.centerOffset; + ((r[8] = (-o.x * 2) / this._helper._width), + (r[9] = (o.y * 2) / this._helper._height), + (this._projectionMatrix = pfe(r)), + (this._globeProjMatrixInverted = YC()), + sQ(this._globeProjMatrixInverted, r), + vc(r, r, [0, 0, -this.cameraToCenterDistance]), + Rw(r, r, this.rollInRadians), + XT(r, r, -this.pitchInRadians), + Rw(r, r, this.bearingInRadians), + vc(r, r, [0, 0, -n])); + let a = Wa(); + ((a[0] = n), + (a[1] = n), + (a[2] = n), + XT(r, r, (this.center.lat * Math.PI) / 180), + dUe(r, r, (-this.center.lng * Math.PI) / 180), + Gp(r, r, a), + (this._globeViewProjMatrixF64 = r), + (this._globeViewProjMatrix32f = new Float32Array(r)), + (this._globeViewProjMatrixF64Inverted = YC()), + sQ(this._globeViewProjMatrixF64Inverted, r)); + let i = Wa(); + ((this._cameraPosition = Wa()), + (this._cameraPosition[2] = this.cameraToCenterDistance / n), + yfe(this._cameraPosition, this._cameraPosition, i, -this.rollInRadians), + GL(this._cameraPosition, this._cameraPosition, i, this.pitchInRadians), + yfe( + this._cameraPosition, + this._cameraPosition, + i, + -this.bearingInRadians, + ), + Kg(this._cameraPosition, this._cameraPosition, [0, 0, 1]), + GL( + this._cameraPosition, + this._cameraPosition, + i, + (-this.center.lat * Math.PI) / 180, + ), + WT( + this._cameraPosition, + this._cameraPosition, + i, + (this.center.lng * Math.PI) / 180, + ), + (this._cachedClippingPlane = this._computeClippingPlane(n))); + let s = pfe(this._globeViewProjMatrixF64Inverted); + (Gp(s, s, [1, 1, -1]), + (this._cachedFrustum = pze.fromInvProjectionMatrix( + s, + 1, + 0, + this._cachedClippingPlane, + !0, + ))); + } + calculateFogMatrix(t) { + Ko("calculateFogMatrix is not supported on globe projection."); + let n = YC(); + return (Oy(n), n); + } + getVisibleUnwrappedCoordinates(t) { + return [new LQ(0, t)]; + } + getCameraFrustum() { + return this._cachedFrustum; + } + getClippingPlane() { + return this._cachedClippingPlane; + } + getCoveringTilesDetailsProvider() { + return this._coveringTilesDetailsProvider; + } + recalculateZoomAndCenter(t) { + if (t) { + Ko( + "terrain is not fully supported on vertical perspective projection.", + ); + return; + } + this._helper.recalculateZoomAndCenter(0); + } + maxPitchScaleFactor() { + return 1; + } + getCameraPoint() { + return this._helper.getCameraPoint(); + } + getCameraAltitude() { + return (Fy(this._cameraPosition) - 1) * Pm; + } + getCameraLngLat() { + let t = Wa(); + return (Tm(t, this._cameraPosition), GQ(t)); + } + populateCache(t) {} + getBounds() { + let t = this.width * 0.5, + n = this.height * 0.5, + r = [ + new ft(0, 0), + new ft(t, 0), + new ft(this.width, 0), + new ft(this.width, n), + new ft(this.width, this.height), + new ft(t, this.height), + new ft(0, this.height), + new ft(0, n), + ], + o = []; + for (let d of r) o.push(this.unprojectScreenPoint(d)); + let a = 0, + i = 0, + s = 0, + l = 0, + c = this.center; + for (let d of o) { + let p = R0(c.lng, d.lng), + f = R0(c.lat, d.lat); + (p < i && (i = p), + p > a && (a = p), + f < l && (l = f), + f > s && (s = f)); + } + let u = [c.lng + i, c.lat + l, c.lng + a, c.lat + s]; + return ( + this.isSurfacePointOnScreen([0, 1, 0]) && + ((u[3] = 90), (u[0] = -180), (u[2] = 180)), + this.isSurfacePointOnScreen([0, -1, 0]) && + ((u[1] = -90), (u[0] = -180), (u[2] = 180)), + new Fw(u) + ); + } + calculateCenterFromCameraLngLatAlt(t, n, r, o) { + return this._helper.calculateCenterFromCameraLngLatAlt(t, n, r, o); + } + calculateCameraOptionsFromTo(t, n, r, o) { + let a = pr.convert(r), + i = rp(pr.convert(t)); + Ss(i, i, 1 + n / Pm); + let s = rp(a), + l = Ss(Wa(), s, 1 + o / Pm), + c = hfe(Wa(), i, s), + u = Fy(c); + if (u < Sun || tin(i, l) < Sun) + throw Error("Can't calculate camera options with same From and To"); + let d = Wa(); + (WT(c, c, d, -_s(a.lng)), GL(c, c, d, _s(a.lat))); + let p = fv(Math.acos(qr(c[2] / u, -1, 1))), + f = + Math.hypot(c[0], c[1]) < u * 0.000000001 + ? this.bearing + : fv(Math.atan2(-c[0], -c[1])); + return { + center: a, + elevation: o, + zoom: Zp(this.cameraToCenterDistance / u / aB(this.tileSize, a.lat)), + pitch: p, + bearing: f, + }; + } + setLocationAtPoint(t, n, r) { + let o = rp(this.unprojectScreenPoint(n)), + a = rp(t), + i = Wa(); + ain(i); + let s = Wa(); + (WT(s, o, i, (-this.center.lng * Math.PI) / 180), + GL(s, s, i, (this.center.lat * Math.PI) / 180)); + let l = a[0] * a[0] + a[2] * a[2], + c = s[0] * s[0]; + if (l < c) return; + let u = Math.sqrt(l - c), + d = -u, + p = dQ(a[0], a[2], s[0], u), + f = dQ(a[0], a[2], s[0], d), + m = Wa(); + WT(m, a, i, -p); + let g = dQ(m[1], m[2], s[1], s[2]), + v = Wa(); + WT(v, a, i, -f); + let y = dQ(v[1], v[2], s[1], s[2]), + x = Math.PI * 0.5, + A = g >= -x && g <= x, + w = y >= -x && y <= x, + C, + E; + if (A && w) { + let L = (this.center.lng * Math.PI) / 180, + O = (this.center.lat * Math.PI) / 180, + B = pQ(p, L), + U = pQ(g, O), + D = pQ(f, L), + N = pQ(y, O); + B + U < D + N ? ((C = p), (E = g)) : ((C = f), (E = y)); + } else if (A) ((C = p), (E = g)); + else if (w) ((C = f), (E = y)); + else return; + let T = (C / Math.PI) * 180, + I = (E / Math.PI) * 180, + k = this.center.lat; + (this.setCenter(new pr(T, qr(I, -90, 90))), + this.setZoom(this.zoom + Wp(k, this.center.lat))); + } + locationToScreenPoint(t, n) { + let r = rp(t); + if (n) { + let o = n.getElevationForLngLatZoom(t, this._helper._tileZoom); + Ss(r, r, 1 + o / Pm); + } + return this._projectSurfacePointToScreen(r); + } + _projectSurfacePointToScreen(t) { + let n = WC(); + return ( + qp(n, [...t, 1], this._globeViewProjMatrixF64), + (n[0] /= n[3]), + (n[1] /= n[3]), + new ft( + (n[0] * 0.5 + 0.5) * this.width, + (-n[1] * 0.5 + 0.5) * this.height, + ) + ); + } + screenPointToMercatorCoordinate(t, n) { + if (n) { + let r = this.screenTerrainPointToMercatorCoordinate(t, n); + if (r) return r; + } + return ai.fromLngLat(this.unprojectScreenPoint(t)); + } + screenTerrainPointToMercatorCoordinate(t, n) { + let r = n.getCoverageIndex(); + if (!r) return null; + let o = this.cameraPosition, + a = this.getRayDirectionFromPixel(t), + i = pme(o, a, 1 + r.maxElevation / Pm); + if (!i) return null; + let s = pme(o, a, 1 + r.minElevation / Pm), + l = Math.max(i.tMin, 0), + c = s ? s.tMin : i.tMax; + if (c <= l) return null; + let u = { + index: r, + exaggeration: n.exaggeration, + origin: o, + direction: a, + }, + d = 0; + for (let p = 0; p <= 256; p++) { + let f = l + ((c - l) * p) / 256; + if (Cun(u, f)) { + let { hi: m } = bdn(u, Cun, d, f, 0.000000000001), + { sample: g, mercator: v } = kdn(u, m); + return new ai(v.x, v.y, g.elevation); + } + d = f; + } + return null; + } + screenPointToLocation(t, n) { + return this.screenPointToMercatorCoordinate(t, n)?.toLngLat(); + } + screenPointToLocationAtElevation(t, n) { + return this.screenPointToLocation(t); + } + isPointOnMapSurface(t, n) { + let r = this._cameraPosition; + return !!pme(r, this.getRayDirectionFromPixel(t)); + } + getRayDirectionFromPixel(t) { + let n = WC(); + ((n[0] = (t.x / this.width) * 2 - 1), + (n[1] = ((t.y / this.height) * 2 - 1) * -1), + (n[2] = 1), + (n[3] = 1), + qp(n, n, this._globeViewProjMatrixF64Inverted), + (n[0] /= n[3]), + (n[1] /= n[3]), + (n[2] /= n[3])); + let r = Wa(); + ((r[0] = n[0] - this._cameraPosition[0]), + (r[1] = n[1] - this._cameraPosition[1]), + (r[2] = n[2] - this._cameraPosition[2])); + let o = Wa(); + return (Tm(o, r), o); + } + isSurfacePointVisible(t) { + let n = this._cachedClippingPlane; + return n[0] * t[0] + n[1] * t[1] + n[2] * t[2] + n[3] >= 0; + } + isSurfacePointOnScreen(t) { + if (!this.isSurfacePointVisible(t)) return !1; + let n = WC(); + return ( + qp(n, [...t, 1], this._globeViewProjMatrixF64), + (n[0] /= n[3]), + (n[1] /= n[3]), + (n[2] /= n[3]), + n[0] > -1 && n[0] < 1 && n[1] > -1 && n[1] < 1 && n[2] > -1 && n[2] < 1 + ); + } + unprojectScreenPoint(t) { + let n = this._cameraPosition, + r = this.getRayDirectionFromPixel(t), + o = pme(n, r); + if (o) { + let u = Wa(); + Kg(u, n, [r[0] * o.tMin, r[1] * o.tMin, r[2] * o.tMin]); + let d = Wa(); + return (Tm(d, u), GQ(d)); + } + let a = this._cachedClippingPlane, + i = a[0] * r[0] + a[1] * r[1] + a[2] * r[2], + s = -xfe(a, n) / i, + l = Wa(); + if (s > 0) Kg(l, n, [r[0] * s, r[1] * s, r[2] * s]); + else { + let u = Wa(); + Kg(u, n, [r[0] * 2, r[1] * 2, r[2] * 2]); + let d = xfe(this._cachedClippingPlane, u); + Gx(l, u, [ + this._cachedClippingPlane[0] * d, + this._cachedClippingPlane[1] * d, + this._cachedClippingPlane[2] * d, + ]); + } + let c = uIr(a); + return GQ(dIr(c.center, c.radius, l)); + } + getProjectionDataForCustomLayer(t = !0) { + let n = this.getProjectionData({ + overscaledTileID: new Xp(0, 0, 0, 0, 0), + applyGlobeMatrix: t, + }); + return ((n.tileMercatorCoords = [0, 0, 1, 1]), n); + } + getFastPathSimpleProjectionMatrix(t) {} + }, + Tun = class e { + get pixelsToClipSpaceMatrix() { + return this._helper.pixelsToClipSpaceMatrix; + } + get clipSpaceToPixelsMatrix() { + return this._helper.clipSpaceToPixelsMatrix; + } + get pixelsToGLUnits() { + return this._helper.pixelsToGLUnits; + } + get centerOffset() { + return this._helper.centerOffset; + } + get size() { + return this._helper.size; + } + get rotationMatrix() { + return this._helper.rotationMatrix; + } + get centerPoint() { + return this._helper.centerPoint; + } + get pixelsPerMeter() { + return this._helper.pixelsPerMeter; + } + setMinZoom(t) { + this._helper.setMinZoom(t); + } + setMaxZoom(t) { + this._helper.setMaxZoom(t); + } + setMinPitch(t) { + this._helper.setMinPitch(t); + } + setMaxPitch(t) { + this._helper.setMaxPitch(t); + } + setRenderWorldCopies(t) { + this._helper.setRenderWorldCopies(t); + } + setBearing(t) { + this._helper.setBearing(t); + } + setPitch(t) { + this._helper.setPitch(t); + } + setRoll(t) { + this._helper.setRoll(t); + } + setFov(t) { + this._helper.setFov(t); + } + setZoom(t) { + this._helper.setZoom(t); + } + setCenter(t) { + this._helper.setCenter(t); + } + setElevation(t) { + this._helper.setElevation(t); + } + setMinElevationForCurrentTile(t) { + this._helper.setMinElevationForCurrentTile(t); + } + setPadding(t) { + this._helper.setPadding(t); + } + interpolatePadding(t, n, r) { + this._helper.interpolatePadding(t, n, r); + } + isPaddingEqual(t) { + return this._helper.isPaddingEqual(t); + } + resize(t, n, r = !0) { + this._helper.resize(t, n, r); + } + getMaxBounds() { + return this._helper.getMaxBounds(); + } + setMaxBounds(t) { + this._helper.setMaxBounds(t); + } + setConstrainOverride(t) { + this._helper.setConstrainOverride(t); + } + overrideNearFarZ(t, n) { + this._helper.overrideNearFarZ(t, n); + } + clearNearFarZOverride() { + this._helper.clearNearFarZOverride(); + } + getCameraQueryGeometry(t) { + return this._helper.getCameraQueryGeometry(this.getCameraPoint(), t); + } + get tileSize() { + return this._helper.tileSize; + } + get tileZoom() { + return this._helper.tileZoom; + } + get scale() { + return this._helper.scale; + } + get worldSize() { + return this._helper.worldSize; + } + get width() { + return this._helper.width; + } + get height() { + return this._helper.height; + } + get lngRange() { + return this._helper.lngRange; + } + get latRange() { + return this._helper.latRange; + } + get minZoom() { + return this._helper.minZoom; + } + get maxZoom() { + return this._helper.maxZoom; + } + get zoom() { + return this._helper.zoom; + } + get center() { + return this._helper.center; + } + get minPitch() { + return this._helper.minPitch; + } + get maxPitch() { + return this._helper.maxPitch; + } + get pitch() { + return this._helper.pitch; + } + get pitchInRadians() { + return this._helper.pitchInRadians; + } + get roll() { + return this._helper.roll; + } + get rollInRadians() { + return this._helper.rollInRadians; + } + get bearing() { + return this._helper.bearing; + } + get bearingInRadians() { + return this._helper.bearingInRadians; + } + get fov() { + return this._helper.fov; + } + get fovInRadians() { + return this._helper.fovInRadians; + } + get elevation() { + return this._helper.elevation; + } + get minElevationForCurrentTile() { + return this._helper.minElevationForCurrentTile; + } + get padding() { + return this._helper.padding; + } + get unmodified() { + return this._helper.unmodified; + } + get renderWorldCopies() { + return this._helper.renderWorldCopies; + } + get cameraToCenterDistance() { + return this._helper.cameraToCenterDistance; + } + get constrainOverride() { + return this._helper.constrainOverride; + } + get nearZ() { + return this._helper.nearZ; + } + get farZ() { + return this._helper.farZ; + } + get autoCalculateNearFarZ() { + return this._helper.autoCalculateNearFarZ; + } + get isGlobeRendering() { + return this._globeness > 0; + } + setTransitionState(t) { + ((this._globeness = t), + this._calcMatrices(), + this._verticalPerspectiveTransform + .getCoveringTilesDetailsProvider() + .prepareNextFrame(), + this._mercatorTransform + .getCoveringTilesDetailsProvider() + .prepareNextFrame()); + } + get currentTransform() { + return this.isGlobeRendering + ? this._verticalPerspectiveTransform + : this._mercatorTransform; + } + constructor(t) { + ((this._globeness = 1), + (this.defaultConstrain = (n, r) => + this.currentTransform.defaultConstrain(n, r)), + (this.applyConstrain = (n, r) => this._helper.applyConstrain(n, r)), + (this._helper = new vze( + { + calcMatrices: () => this._calcMatrices(), + defaultConstrain: (n, r) => this.defaultConstrain(n, r), + }, + t, + )), + (this._globeness = 1), + (this._mercatorTransform = new Tme(void 0, this._helper)), + (this._verticalPerspectiveTransform = new Tdn(void 0, this._helper))); + } + clone() { + let t = new e(); + return ((t._globeness = this._globeness), t.apply(this, !1), t); + } + apply(t, n) { + this._helper.apply(t, n); + } + get projectionMatrix() { + return this.currentTransform.projectionMatrix; + } + get modelViewProjectionMatrix() { + return this.currentTransform.modelViewProjectionMatrix; + } + get inverseProjectionMatrix() { + return this.currentTransform.inverseProjectionMatrix; + } + get cameraPosition() { + return this.currentTransform.cameraPosition; + } + getProjectionData(t) { + let n = this._mercatorTransform.getProjectionData(t), + r = this._verticalPerspectiveTransform.getProjectionData(t); + return { + mainMatrix: this.isGlobeRendering ? r.mainMatrix : n.mainMatrix, + clippingPlane: r.clippingPlane, + tileMercatorCoords: r.tileMercatorCoords, + projectionTransition: t.applyGlobeMatrix ? this._globeness : 0, + fallbackMatrix: n.fallbackMatrix, + clipAntimeridian: r.clipAntimeridian, + }; + } + isLocationOccluded(t, n, r) { + return this.currentTransform.isLocationOccluded(t, n, r); + } + transformLightDirection(t) { + return this.currentTransform.transformLightDirection(t); + } + getPixelScale() { + return YT( + this._mercatorTransform.getPixelScale(), + this._verticalPerspectiveTransform.getPixelScale(), + this._globeness, + ); + } + getCircleRadiusCorrection() { + return YT( + this._mercatorTransform.getCircleRadiusCorrection(), + this._verticalPerspectiveTransform.getCircleRadiusCorrection(), + this._globeness, + ); + } + getPitchedTextCorrection(t, n, r) { + let o = this._mercatorTransform.getPitchedTextCorrection(t, n, r), + a = this._verticalPerspectiveTransform.getPitchedTextCorrection( + t, + n, + r, + ); + return YT(o, a, this._globeness); + } + projectTileCoordinates(t, n, r, o) { + return this.currentTransform.projectTileCoordinates(t, n, r, o); + } + _calcMatrices() { + this._helper._width && + this._helper._height && + (this._verticalPerspectiveTransform._calcMatrices(), + this._mercatorTransform._calcMatrices( + this.autoCalculateNearFarZ && !this.isGlobeRendering, + )); + } + calculateFogMatrix(t) { + return this.currentTransform.calculateFogMatrix(t); + } + getVisibleUnwrappedCoordinates(t) { + return this.currentTransform.getVisibleUnwrappedCoordinates(t); + } + getCameraFrustum() { + return this.currentTransform.getCameraFrustum(); + } + getClippingPlane() { + return this.currentTransform.getClippingPlane(); + } + getCoveringTilesDetailsProvider() { + return this.currentTransform.getCoveringTilesDetailsProvider(); + } + recalculateZoomAndCenter(t) { + this.currentTransform.recalculateZoomAndCenter(t); + } + maxPitchScaleFactor() { + return this._mercatorTransform.maxPitchScaleFactor(); + } + getCameraPoint() { + return this._helper.getCameraPoint(); + } + getCameraAltitude() { + return this.currentTransform.getCameraAltitude(); + } + getCameraLngLat() { + return this.currentTransform.getCameraLngLat(); + } + populateCache(t) { + (this._mercatorTransform.populateCache(t), + this._verticalPerspectiveTransform.populateCache(t)); + } + getBounds() { + return this.currentTransform.getBounds(); + } + calculateCenterFromCameraLngLatAlt(t, n, r, o) { + return this._helper.calculateCenterFromCameraLngLatAlt(t, n, r, o); + } + calculateCameraOptionsFromTo(t, n, r, o) { + return this.currentTransform.calculateCameraOptionsFromTo(t, n, r, o); + } + setLocationAtPoint(t, n, r) { + this.currentTransform.setLocationAtPoint(t, n, r); + } + locationToScreenPoint(t, n) { + return this.currentTransform.locationToScreenPoint(t, n); + } + screenPointToMercatorCoordinate(t, n) { + return this.currentTransform.screenPointToMercatorCoordinate(t, n); + } + screenTerrainPointToMercatorCoordinate(t, n) { + return this.currentTransform.screenTerrainPointToMercatorCoordinate(t, n); + } + screenPointToLocation(t, n) { + return this.currentTransform.screenPointToLocation(t, n); + } + screenPointToLocationAtElevation(t, n) { + return this.currentTransform.screenPointToLocationAtElevation(t, n); + } + isPointOnMapSurface(t, n) { + return this.currentTransform.isPointOnMapSurface(t, n); + } + getRayDirectionFromPixel(t) { + return this._verticalPerspectiveTransform.getRayDirectionFromPixel(t); + } + getProjectionDataForCustomLayer(t = !0) { + let n = this._mercatorTransform.getProjectionDataForCustomLayer(t); + if (!this.isGlobeRendering) return n; + let r = + this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(t); + return ( + (r.fallbackMatrix = n.mainMatrix), + (r.projectionTransition = this._globeness), + r + ); + } + getFastPathSimpleProjectionMatrix(t) { + return this.currentTransform.getFastPathSimpleProjectionMatrix(t); + } + }, + Rdn = class e { + get useGlobeControls() { + return !0; + } + handlePanInertia(t, n) { + let r = fIr(t, n); + return ( + Math.abs(r.lng - n.center.lng) > 180 && + (r.lng = n.center.lng + 179.5 * Math.sign(r.lng - n.center.lng)), + { easingCenter: r, easingOffset: new ft(0, 0) } + ); + } + handleMapControlsRollPitchBearingZoom(t, n) { + let r = t.around, + o = n.screenPointToLocation(r); + (t.bearingDelta && n.setBearing(n.bearing + t.bearingDelta), + t.pitchDelta && n.setPitch(n.pitch + t.pitchDelta), + t.rollDelta && n.setRoll(n.roll + t.rollDelta)); + let a = n.zoom; + t.zoomDelta && n.setZoom(n.zoom + t.zoomDelta); + let i = n.zoom - a; + if (i === 0) return; + let s = R0(n.center.lng, o.lng), + l = s / (Math.abs(s / 180) + 1), + c = R0(n.center.lat, o.lat), + u = n.getRayDirectionFromPixel(r), + d = n.cameraPosition, + p = bc(d, u) * -1, + f = Wa(); + Kg(f, d, [u[0] * p, u[1] * p, u[2] * p]); + let m = Fy(f), + g = m - 1, + v = Math.exp(-Math.max(g - 0.3, 0) * 0.5), + y = fQ(m, 0.95, 0.999, 0, 1), + x = aB(n.worldSize, n.center.lat) / Math.min(n.width, n.height), + A = fQ(x, 0.9, 0.5, 1, 0.25), + w = Math.min(v, YT(1, A, y)), + C = (1 - km(-i)) * w, + E = n.center.lat, + T = n.zoom, + I = new pr(n.center.lng + l * C, qr(n.center.lat + c * C, -vv, vv)); + n.setLocationAtPoint(o, r); + let k = n.center, + L = fQ(Math.abs(s), 45, 85, 0, 1), + O = Math.max(L, y) ** 0.25, + B = R0(k.lng, I.lng), + U = R0(k.lat, I.lat); + (n.setCenter(new pr(k.lng + B * O, k.lat + U * O).wrap()), + n.setZoom(T + Wp(E, n.center.lat))); + } + handleMapControlsPan(t, n, r) { + t.panDelta && + lIr( + n, + r, + n.isPointOnMapSurface(t.around) ? t.around : n.centerPoint, + t.panDelta, + ); + } + cameraForBoxAndBearing(t, n, r, o, a) { + let i = wdn(t, n, r, o, a); + if (!i) return; + let s = (n.left / a.width) * 2 - 1, + l = ((a.width - n.right) / a.width) * 2 - 1, + c = (n.top / a.height) * -2 + 1, + u = ((a.height - n.bottom) / a.height) * -2 + 1, + d = R0(r.getWest(), r.getEast()) < 0, + p = d ? r.getEast() : r.getWest(), + f = d ? r.getWest() : r.getEast(), + m = Math.max(r.getNorth(), r.getSouth()), + g = Math.min(r.getNorth(), r.getSouth()), + v = p + R0(p, f) * 0.5, + y = m + R0(m, g) * 0.5, + x = a.clone(); + (x.setCenter(i.center), + x.setBearing(i.bearing), + x.setPitch(0), + x.setRoll(0), + x.setZoom(i.zoom)); + let A = x.modelViewProjectionMatrix, + w = [ + rp(r.getNorthWest()), + rp(r.getNorthEast()), + rp(r.getSouthWest()), + rp(r.getSouthEast()), + rp(new pr(f, y)), + rp(new pr(p, y)), + rp(new pr(v, m)), + rp(new pr(v, g)), + ], + C = rp(i.center), + E = 1 / 0; + for (let T of w) + (s < 0 && + (E = e.getLesserNonNegativeNonNull( + E, + e.solveVectorScale(T, C, A, "x", s), + )), + l > 0 && + (E = e.getLesserNonNegativeNonNull( + E, + e.solveVectorScale(T, C, A, "x", l), + )), + c > 0 && + (E = e.getLesserNonNegativeNonNull( + E, + e.solveVectorScale(T, C, A, "y", c), + )), + u < 0 && + (E = e.getLesserNonNegativeNonNull( + E, + e.solveVectorScale(T, C, A, "y", u), + ))); + if (!Number.isFinite(E) || E === 0) { + xdn(); + return; + } + return ((i.zoom = Math.min(x.zoom + Zp(E), t.maxZoom)), i); + } + handleJumpToCenterZoom(t, n) { + let r = t.center.lat, + o = t.applyConstrain( + n.center ? pr.convert(n.center) : t.center, + t.zoom, + ).center; + t.setCenter(o.wrap()); + let a = n.zoom === void 0 ? t.zoom + Wp(r, o.lat) : +n.zoom; + t.zoom !== a && t.setZoom(a); + } + handleEaseTo(t, n) { + let { zoom: r, center: o, padding: a } = t, + i = { roll: t.roll, pitch: t.pitch, bearing: t.bearing }, + s = { + roll: n.roll === void 0 ? t.roll : n.roll, + pitch: n.pitch === void 0 ? t.pitch : n.pitch, + bearing: n.bearing === void 0 ? t.bearing : n.bearing, + }, + l = n.zoom !== void 0, + c = !t.isPaddingEqual(n.padding), + u = !1, + d = n.center ? pr.convert(n.center) : o, + p = t.applyConstrain(d, r).center; + Ime(t, p); + let f = t.clone(); + (f.setCenter(p), + f.setZoom(l ? +n.zoom : r + Wp(o.lat, d.lat)), + f.setBearing(n.bearing)); + let m = new ft( + qr(t.centerPoint.x + n.offsetAsPoint.x, 0, t.width), + qr(t.centerPoint.y + n.offsetAsPoint.y, 0, t.height), + ); + f.setLocationAtPoint(p, m); + let g = (n.offset && n.offsetAsPoint.mag()) > 0 ? f.center : p, + v = l ? +n.zoom : r + Wp(o.lat, g.lat), + y = r + Wp(o.lat, 0), + x = v + Wp(g.lat, 0), + A = R0(o.lng, g.lng), + w = R0(o.lat, g.lat), + C = km(x - y); + return ( + (u = v !== r), + { + easeFunc: (E) => { + if ( + (bUe(i, s) || + Adn({ + startEulerAngles: i, + endEulerAngles: s, + tr: t, + k: E, + useSlerp: i.roll != s.roll, + }), + c && t.interpolatePadding(a, n.padding, E), + n.around) + ) + (Ko( + "Easing around a point is not supported under globe projection.", + ), + t.setLocationAtPoint(n.around, n.aroundPoint)); + else { + let T = + E * (x > y ? Math.min(2, C) : Math.max(0.5, C)) ** (1 - E), + I = Aun(o, A, w, T); + t.setCenter(I.wrap()); + } + if (u) { + let T = Hs.number(y, x, E) + Wp(0, t.center.lat); + t.setZoom(T); + } + }, + isZooming: u, + elevationCenter: g, + } + ); + } + handleFlyTo(t, n) { + let r = n.zoom !== void 0, + { center: o, zoom: a, padding: i } = t, + s = !t.isPaddingEqual(n.padding), + l = t.applyConstrain( + pr.convert(n.center || n.locationAtOffset), + a, + ).center, + c = r ? +n.zoom : t.zoom + Wp(t.center.lat, l.lat), + u = t.clone(); + (u.setCenter(l), u.setZoom(c), u.setBearing(n.bearing)); + let d = new ft( + qr(t.centerPoint.x + n.offsetAsPoint.x, 0, t.width), + qr(t.centerPoint.y + n.offsetAsPoint.y, 0, t.height), + ); + u.setLocationAtPoint(l, d); + let p = u.center; + Ime(t, p); + let f = rIr(t, o, p), + m = a + Wp(o.lat, 0), + g = c + Wp(p.lat, 0), + v = km(g - m), + y = typeof n.minZoom == "number" ? +n.minZoom : t.minZoom, + x = Math.max(y, t.minZoom) + Wp(p.lat, 0), + A = Math.min(x, m, g) + Wp(0, p.lat), + w = t.applyConstrain(p, A).zoom + Wp(p.lat, 0), + C = km(w - m), + E = R0(o.lng, p.lng), + T = R0(o.lat, p.lat); + return { + easeFunc: (I, k, L, O) => { + let B = Aun(o, E, T, L); + s && t.interpolatePadding(i, n.padding, I); + let U = I === 1 ? p : B; + t.setCenter(U.wrap()); + let D = m + Zp(k); + t.setZoom(I === 1 ? c : D + Wp(0, U.lat)); + }, + scaleOfZoom: v, + targetCenter: p, + scaleOfMinZoom: C, + pixelPathLength: f, + }; + } + static solveVectorScale(t, n, r, o, a) { + let i = a, + s = o === "x" ? [r[0], r[4], r[8], r[12]] : [r[1], r[5], r[9], r[13]], + l = [r[3], r[7], r[11], r[15]], + c = t[0] * s[0] + t[1] * s[1] + t[2] * s[2], + u = t[0] * l[0] + t[1] * l[1] + t[2] * l[2], + d = n[0] * s[0] + n[1] * s[1] + n[2] * s[2], + p = n[0] * l[0] + n[1] * l[1] + n[2] * l[2], + f = (d + s[3] - i * p - i * l[3]) / (d - c - i * p + i * u); + return d + i * u === c + i * p || + l[3] * (c - d) + s[3] * (p - u) + c * p === d * u + ? null + : f; + } + static getLesserNonNegativeNonNull(t, n) { + return n !== null && n >= 0 && n < t ? n : t; + } + }, + kun = class { + constructor(e) { + ((this._globe = e), + (this._mercatorCameraHelper = new kme()), + (this._verticalPerspectiveCameraHelper = new Rdn())); + } + get useGlobeControls() { + return this._globe.useGlobeRendering; + } + get currentHelper() { + return this.useGlobeControls + ? this._verticalPerspectiveCameraHelper + : this._mercatorCameraHelper; + } + handlePanInertia(e, t) { + return this.currentHelper.handlePanInertia(e, t); + } + handleMapControlsRollPitchBearingZoom(e, t) { + this.currentHelper.handleMapControlsRollPitchBearingZoom(e, t); + } + handleMapControlsPan(e, t, n) { + this.currentHelper.handleMapControlsPan(e, t, n); + } + cameraForBoxAndBearing(e, t, n, r, o) { + return this.currentHelper.cameraForBoxAndBearing(e, t, n, r, o); + } + handleJumpToCenterZoom(e, t) { + this.currentHelper.handleJumpToCenterZoom(e, t); + } + handleEaseTo(e, t) { + return this.currentHelper.handleEaseTo(e, t); + } + handleFlyTo(e, t) { + return this.currentHelper.handleFlyTo(e, t); + } + }, + yIr, + Run, + vIr, + bIr = class { + constructor() { + ((this.boundProgram = null), + (this.boundLayoutVertexBuffer = null), + (this.boundPaintVertexBuffers = []), + (this.boundIndexBuffer = null), + (this.boundVertexOffset = null), + (this.boundDynamicVertexBuffer = null), + (this.vao = null)); + } + bind(e, t, n, r, o, a, i, s, l) { + this.context = e; + let c = this.boundPaintVertexBuffers.length !== r.length; + for (let u = 0; !c && u < r.length; u++) + this.boundPaintVertexBuffers[u] !== r[u] && (c = !0); + !this.vao || + this.boundProgram !== t || + this.boundLayoutVertexBuffer !== n || + c || + this.boundIndexBuffer !== o || + this.boundVertexOffset !== a || + this.boundDynamicVertexBuffer !== i || + this.boundDynamicVertexBuffer2 !== s || + this.boundDynamicVertexBuffer3 !== l + ? this.freshBind(t, n, r, o, a, i, s, l) + : e.bindVertexArray.set(this.vao); + } + freshBind(e, t, n, r, o, a, i, s) { + let l = e.numAttributes, + c = this.context, + u = c.gl; + (this.vao && this.destroy(), + (this.vao = c.createVertexArray()), + c.bindVertexArray.set(this.vao), + (this.boundProgram = e), + (this.boundLayoutVertexBuffer = t), + (this.boundPaintVertexBuffers = n), + (this.boundIndexBuffer = r), + (this.boundVertexOffset = o), + (this.boundDynamicVertexBuffer = a), + (this.boundDynamicVertexBuffer2 = i), + (this.boundDynamicVertexBuffer3 = s), + t.enableAttributes(u, e)); + for (let d of n) d.enableAttributes(u, e); + (a && a.enableAttributes(u, e), + i && i.enableAttributes(u, e), + s && s.enableAttributes(u, e), + t.bind(), + t.setVertexAttribPointers(u, e, o)); + for (let d of n) (d.bind(), d.setVertexAttribPointers(u, e, o)); + (a && (a.bind(), a.setVertexAttribPointers(u, e, o)), + r && r.bind(), + i && (i.bind(), i.setVertexAttribPointers(u, e, o)), + s && (s.bind(), s.setVertexAttribPointers(u, e, o)), + (c.currentNumAttributes = l)); + } + destroy() { + this.vao &&= (this.context.deleteVertexArray(this.vao), null); + } + }, + xIr = (e, t) => ({ + u_depth: new ar(e, t.u_depth), + u_terrain: new ar(e, t.u_terrain), + }), + AIr = (e, t) => ({ + u_texture: new ar(e, t.u_texture), + u_ele_delta: new Un(e, t.u_ele_delta), + u_fog_matrix: new Uy(e, t.u_fog_matrix), + u_fog_color: new Ow(e, t.u_fog_color), + u_fog_ground_blend: new Un(e, t.u_fog_ground_blend), + u_fog_ground_blend_opacity: new Un(e, t.u_fog_ground_blend_opacity), + u_horizon_color: new Ow(e, t.u_horizon_color), + u_horizon_fog_blend: new Un(e, t.u_horizon_fog_blend), + u_is_globe_mode: new Un(e, t.u_is_globe_mode), + }), + wIr = (e, t) => ({ u_ele_delta: new Un(e, t.u_ele_delta) }), + SIr = (e, t, n, r, o) => ({ + u_texture: 0, + u_ele_delta: e, + u_fog_matrix: t, + u_fog_color: n ? n.properties.get("fog-color") : Kr.white, + u_fog_ground_blend: n ? n.properties.get("fog-ground-blend") : 1, + u_fog_ground_blend_opacity: o ? 0 : n ? n.calculateFogBlendOpacity(r) : 0, + u_horizon_color: n ? n.properties.get("horizon-color") : Kr.white, + u_horizon_fog_blend: n ? n.properties.get("horizon-fog-blend") : 1, + u_is_globe_mode: +!!o, + }), + CIr = (e) => ({ u_ele_delta: e }), + Mme, + IIr, + Aze = class { + constructor(e, t, n) { + ((this.context = e), + (this.binding = t), + (this.contentWords = n.contentWords)); + let r = e.gl; + ((this.buffer = r.createBuffer()), + r.bindBuffer(r.UNIFORM_BUFFER, this.buffer), + r.bufferData(r.UNIFORM_BUFFER, n.sizeWords * 4, r.DYNAMIC_DRAW), + (this.uploaded = new Float32Array(n.sizeWords)), + (this.pending = new Float32Array(n.sizeWords)), + (this.uploadedWords = new Uint32Array(this.uploaded.buffer)), + (this.pendingWords = new Uint32Array(this.pending.buffer)), + (this.hasData = !1)); + } + upload() { + let e = this.context.gl, + t = !this.hasData; + if (!t) { + let n = this.pendingWords, + r = this.uploadedWords; + for (let o = 0; o < this.contentWords; o++) + if (n[o] !== r[o]) { + t = !0; + break; + } + } + if (!t) { + this.bind(); + return; + } + (e.bindBufferBase(e.UNIFORM_BUFFER, this.binding, this.buffer), + (this.context.boundUniformBuffers[this.binding] = this.buffer), + e.bufferData(e.UNIFORM_BUFFER, this.pending, e.DYNAMIC_DRAW), + this.uploaded.set(this.pending), + (this.hasData = !0)); + } + bind() { + let e = this.context.boundUniformBuffers; + if (e[this.binding] === this.buffer) return; + let t = this.context.gl; + (t.bindBufferBase(t.UNIFORM_BUFFER, this.binding, this.buffer), + (e[this.binding] = this.buffer)); + } + destroy() { + let e = this.context.gl; + this.buffer && (e.deleteBuffer(this.buffer), delete this.buffer); + } + }, + Pdn, + eB, + Ddn, + fme, + LIr = class { + constructor(e, t, n, r, o, a, i, s, l = []) { + let c = e.gl; + this.program = c.createProgram(); + let u = VNe(t.staticAttributes), + d = n ? n.getBinderAttributes() : [], + p = u.concat(d), + f = Qx.prelude.staticUniforms ? VNe(Qx.prelude.staticUniforms) : [], + m = t.staticUniforms ? VNe(t.staticUniforms) : [], + g = n ? n.getBinderUniforms() : [], + v = f.concat(m).concat(g), + y = []; + for (let k of v) y.includes(k) || y.push(k); + let x = n ? n.defines() : []; + (x.unshift("#version 300 es"), + o && x.push("#define OVERDRAW_INSPECTOR;"), + a && x.push("#define TERRAIN3D;"), + s && x.push(s), + l && x.push(...l)); + let A = x.concat( + Qx.prelude.fragmentSource, + i.fragmentSource, + t.fragmentSource, + ).join(` +`), + w = x.concat(Qx.prelude.vertexSource, i.vertexSource, t.vertexSource) + .join(` +`), + C = c.createShader(c.FRAGMENT_SHADER); + if (c.isContextLost()) { + this.failedToCreate = !0; + return; + } + (c.shaderSource(C, A), + c.compileShader(C), + c.attachShader(this.program, C)); + let E = c.createShader(c.VERTEX_SHADER); + if (c.isContextLost()) { + this.failedToCreate = !0; + return; + } + (c.shaderSource(E, w), + c.compileShader(E), + c.attachShader(this.program, E), + (this.attributes = {})); + let T = {}; + if ( + ((this.numAttributes = p.length), + c.linkProgram(this.program), + !c.getProgramParameter(this.program, c.LINK_STATUS)) + ) { + if (c.isContextLost()) { + this.failedToCreate = !0; + return; + } + throw c.getShaderParameter(C, c.COMPILE_STATUS) + ? c.getShaderParameter(E, c.COMPILE_STATUS) + ? Error( + `Program failed to link: ${c.getProgramInfoLog(this.program)}`, + ) + : Error(`Could not compile vertex shader: ${c.getShaderInfoLog(E)}`) + : Error( + `Could not compile fragment shader: ${c.getShaderInfoLog(C)}`, + ); + } + EIr(c, this.program); + let I = DIr(c, this.program); + for (let k of p) { + if (!k) continue; + let L = c.getAttribLocation(this.program, k); + L >= 0 && (this.attributes[k] = { location: L, isInteger: I.has(k) }); + } + (c.deleteShader(E), c.deleteShader(C)); + for (let k of y) + if (k && !T[k]) { + let L = c.getUniformLocation(this.program, k); + L && (T[k] = L); + } + ((this.fixedUniforms = r(e, T)), + (this.terrainUniforms = xIr(e, T)), + (this.binderUniforms = n ? n.getUniforms(e, T) : [])); + } + draw(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g, v, y, x) { + let A = e.gl; + if (this.failedToCreate) return; + if ( + (e.program.set(this.program), + e.terrainUniformBuffer.bind(), + e.frameUniformBuffer.bind(), + e.setDepthMode(n), + e.setStencilMode(r), + e.setColorMode(o), + e.setCullFace(a), + s) + ) { + (e.activeTexture.set(A.TEXTURE2), + A.bindTexture(A.TEXTURE_2D, s.depthTexture), + e.activeTexture.set(A.TEXTURE3), + A.bindTexture(A.TEXTURE_2D, s.texture)); + for (let C in this.terrainUniforms) this.terrainUniforms[C].set(s[C]); + MIr(e.terrainUniformBuffer, s); + } + if ((TIr(e, l), i)) + for (let C in this.fixedUniforms) this.fixedUniforms[C].set(i[C]); + g && g.setUniforms(e, this.binderUniforms, f, { zoom: m }); + let w = 0; + switch (t) { + case A.LINES: + w = 2; + break; + case A.TRIANGLES: + w = 3; + break; + case A.LINE_STRIP: + w = 1; + } + for (let C of p.get()) + ((C.vaos ||= {}), + (C.vaos[c] ||= new bIr()), + C.vaos[c].bind( + e, + this, + u, + g ? g.getPaintVertexBuffers() : [], + d, + C.vertexOffset, + v, + y, + x, + ), + A.drawElements( + t, + C.primitiveLength * w, + A.UNSIGNED_SHORT, + C.primitiveOffset * w * 2, + )); + } + }, + OIr = (e, t) => ({ + u_lightpos: new Rm(e, t.u_lightpos), + u_lightpos_globe: new Rm(e, t.u_lightpos_globe), + u_lightintensity: new Un(e, t.u_lightintensity), + u_lightcolor: new Rm(e, t.u_lightcolor), + u_vertical_gradient: new Un(e, t.u_vertical_gradient), + u_opacity: new Un(e, t.u_opacity), + u_fill_translate: new Ao(e, t.u_fill_translate), + }), + FIr = (e, t) => ({ + u_lightpos: new Rm(e, t.u_lightpos), + u_lightpos_globe: new Rm(e, t.u_lightpos_globe), + u_lightintensity: new Un(e, t.u_lightintensity), + u_lightcolor: new Rm(e, t.u_lightcolor), + u_vertical_gradient: new Un(e, t.u_vertical_gradient), + u_height_factor: new Un(e, t.u_height_factor), + u_opacity: new Un(e, t.u_opacity), + u_fill_translate: new Ao(e, t.u_fill_translate), + u_image: new ar(e, t.u_image), + u_texsize: new Ao(e, t.u_texsize), + u_pixel_coord_upper: new Ao(e, t.u_pixel_coord_upper), + u_pixel_coord_lower: new Ao(e, t.u_pixel_coord_lower), + u_scale: new Rm(e, t.u_scale), + u_fade: new Un(e, t.u_fade), + }), + Bdn = (e, t, n, r) => { + let o = e.style.light, + a = o.getCartesianPosition(), + i = uUe(); + (o.properties.get("anchor") === "viewport" && + Yan(i, e.transform.bearingInRadians), + oin(a, a, i)); + let s = e.transform.transformLightDirection(a), + l = o.properties.get("color"); + return { + u_lightpos: a, + u_lightpos_globe: s, + u_lightintensity: o.properties.get("intensity"), + u_lightcolor: [l.r, l.g, l.b], + u_vertical_gradient: +t, + u_opacity: n, + u_fill_translate: r, + }; + }, + UIr = (e, t, n, r, o, a, i) => + rr(Bdn(e, t, n, r), Ldn(a, e, i), { + u_height_factor: -(2 ** o.overscaledZ) / i.tileSize / 8, + }), + NIr = (e, t) => ({ u_fill_translate: new Ao(e, t.u_fill_translate) }), + zIr = (e, t) => ({ + u_image: new ar(e, t.u_image), + u_texsize: new Ao(e, t.u_texsize), + u_pixel_coord_upper: new Ao(e, t.u_pixel_coord_upper), + u_pixel_coord_lower: new Ao(e, t.u_pixel_coord_lower), + u_scale: new Rm(e, t.u_scale), + u_fade: new Un(e, t.u_fade), + u_sdf_pattern: new ar(e, t.u_sdf_pattern), + u_fill_translate: new Ao(e, t.u_fill_translate), + }), + _Ir = (e, t) => ({ u_fill_translate: new Ao(e, t.u_fill_translate) }), + HIr = (e, t) => ({ + u_image: new ar(e, t.u_image), + u_texsize: new Ao(e, t.u_texsize), + u_pixel_coord_upper: new Ao(e, t.u_pixel_coord_upper), + u_pixel_coord_lower: new Ao(e, t.u_pixel_coord_lower), + u_scale: new Rm(e, t.u_scale), + u_fade: new Un(e, t.u_fade), + u_sdf_pattern: new ar(e, t.u_sdf_pattern), + u_fill_translate: new Ao(e, t.u_fill_translate), + }), + Odn = (e, t, n, r, o) => + rr(Ldn(t, e, n), { u_fill_translate: r, u_sdf_pattern: +!!o }), + VIr = (e) => ({ u_fill_translate: e }), + GIr = (e) => ({ u_fill_translate: e }), + qIr = (e, t, n, r, o) => Odn(e, t, n, r, o), + ZIr = (e, t) => ({ + u_scale_with_map: new ar(e, t.u_scale_with_map), + u_pitch_with_map: new ar(e, t.u_pitch_with_map), + u_extrude_scale: new Ao(e, t.u_extrude_scale), + u_globe_extrude_scale: new Un(e, t.u_globe_extrude_scale), + u_translate: new Ao(e, t.u_translate), + }), + QIr = (e, t, n, r, o) => { + let a = e.transform, + i, + s, + l = 0; + if (n.paint.get("circle-pitch-alignment") === "map") { + let c = k0(t, 1, a.zoom); + ((i = !0), + (s = [c, c]), + (l = (c / (Ut * 2 ** t.tileID.overscaledZ)) * 2 * Math.PI * o)); + } else ((i = !1), (s = a.pixelsToGLUnits)); + return { + u_scale_with_map: +(n.paint.get("circle-pitch-scale") === "map"), + u_pitch_with_map: +i, + u_extrude_scale: s, + u_globe_extrude_scale: l, + u_translate: r, + }; + }, + XIr = (e, t) => ({ + u_color: new Ow(e, t.u_color), + u_overlay: new ar(e, t.u_overlay), + u_overlay_scale: new Un(e, t.u_overlay_scale), + }), + Mun = (e, t = 1) => ({ u_color: e, u_overlay: 0, u_overlay_scale: t }), + WIr = (e, t) => ({ + u_extrude_scale: new Un(e, t.u_extrude_scale), + u_intensity: new Un(e, t.u_intensity), + u_globe_extrude_scale: new Un(e, t.u_globe_extrude_scale), + }), + YIr = (e, t) => ({ + u_matrix: new Uy(e, t.u_matrix), + u_image: new ar(e, t.u_image), + u_color_ramp: new ar(e, t.u_color_ramp), + u_opacity: new Un(e, t.u_opacity), + }), + Fdn = (e, t, n, r) => { + let o = (k0(e, 1, t) / (Ut * 2 ** e.tileID.overscaledZ)) * 2 * Math.PI * r; + return { + u_extrude_scale: k0(e, 1, t), + u_intensity: n, + u_globe_extrude_scale: o, + }; + }, + Udn = (e, t, n, r) => { + let o = kw(); + return ( + yv(o, 0, e.width, e.height, 0, 0, 1), + { + u_matrix: o, + u_image: n, + u_color_ramp: r, + u_opacity: t.paint.get("heatmap-opacity"), + } + ); + }, + KIr = (e, t) => ({ + u_image: new ar(e, t.u_image), + u_latrange: new Ao(e, t.u_latrange), + u_exaggeration: new Un(e, t.u_exaggeration), + u_altitudes: new XUe(e, t.u_altitudes), + u_azimuths: new XUe(e, t.u_azimuths), + u_accent: new Ow(e, t.u_accent), + u_method: new ar(e, t.u_method), + u_shadows: new QUe(e, t.u_shadows), + u_highlights: new QUe(e, t.u_highlights), + }), + JIr = (e, t) => ({ + u_matrix: new Uy(e, t.u_matrix), + u_image: new ar(e, t.u_image), + u_dimension: new Ao(e, t.u_dimension), + u_zoom: new Un(e, t.u_zoom), + u_unpack: new YL(e, t.u_unpack), + }), + jIr = (e, t, n) => { + let r = n.paint.get("hillshade-accent-color"), + o; + switch (n.paint.get("hillshade-method")) { + case "basic": + o = 4; + break; + case "combined": + o = 1; + break; + case "igor": + o = 2; + break; + case "multidirectional": + o = 3; + break; + default: + o = 0; + } + let a = n.getIlluminationProperties(); + for (let i = 0; i < a.directionRadians.length; i++) + n.paint.get("hillshade-illumination-anchor") === "viewport" && + (a.directionRadians[i] += e.transform.bearingInRadians); + return { + u_image: 0, + u_latrange: eTr(e, t.tileID), + u_exaggeration: n.paint.get("hillshade-exaggeration"), + u_altitudes: a.altitudeRadians, + u_azimuths: a.directionRadians, + u_accent: r, + u_method: o, + u_highlights: a.highlightColor, + u_shadows: a.shadowColor, + }; + }, + $Ir = (e, t) => { + let n = t.stride, + r = kw(); + return ( + yv(r, 0, Ut, -Ut, 0, 0, 1), + vc(r, r, [0, -Ut, 0]), + { + u_matrix: r, + u_image: 1, + u_dimension: [n, n], + u_zoom: e.overscaledZ, + u_unpack: t.getUnpackVector(), + } + ); + }, + tTr = (e, t) => ({ + u_image: new ar(e, t.u_image), + u_unpack: new YL(e, t.u_unpack), + u_dimension: new Ao(e, t.u_dimension), + u_elevation_stops: new ar(e, t.u_elevation_stops), + u_color_stops: new ar(e, t.u_color_stops), + u_color_ramp_size: new ar(e, t.u_color_ramp_size), + u_opacity: new Un(e, t.u_opacity), + }), + nTr = (e, t, n = 0) => ({ + u_image: 0, + u_unpack: t.getUnpackVector(), + u_dimension: [t.stride, t.stride], + u_elevation_stops: 1, + u_color_stops: 4, + u_color_ramp_size: n, + u_opacity: e.paint.get("color-relief-opacity"), + }), + rTr = (e, t) => ({ + u_translation: new Ao(e, t.u_translation), + u_ratio: new Un(e, t.u_ratio), + }), + oTr = (e, t) => ({ + u_translation: new Ao(e, t.u_translation), + u_ratio: new Un(e, t.u_ratio), + u_image: new ar(e, t.u_image), + u_image_height: new Un(e, t.u_image_height), + }), + aTr = (e, t) => ({ + u_translation: new Ao(e, t.u_translation), + u_texsize: new Ao(e, t.u_texsize), + u_ratio: new Un(e, t.u_ratio), + u_image: new ar(e, t.u_image), + u_scale: new Rm(e, t.u_scale), + u_fade: new Un(e, t.u_fade), + }), + iTr = (e, t) => ({ + u_translation: new Ao(e, t.u_translation), + u_ratio: new Un(e, t.u_ratio), + u_image: new ar(e, t.u_image), + u_mix: new Un(e, t.u_mix), + u_tileratio: new Un(e, t.u_tileratio), + u_crossfade_from: new Un(e, t.u_crossfade_from), + u_crossfade_to: new Un(e, t.u_crossfade_to), + u_lineatlas_width: new Un(e, t.u_lineatlas_width), + u_lineatlas_height: new Un(e, t.u_lineatlas_height), + }), + sTr = (e, t) => ({ + u_translation: new Ao(e, t.u_translation), + u_ratio: new Un(e, t.u_ratio), + u_image: new ar(e, t.u_image), + u_image_height: new Un(e, t.u_image_height), + u_tileratio: new Un(e, t.u_tileratio), + u_crossfade_from: new Un(e, t.u_crossfade_from), + u_crossfade_to: new Un(e, t.u_crossfade_to), + u_image_dash: new ar(e, t.u_image_dash), + u_mix: new Un(e, t.u_mix), + u_lineatlas_width: new Un(e, t.u_lineatlas_width), + u_lineatlas_height: new Un(e, t.u_lineatlas_height), + }), + Dme = (e, t, n, r) => { + let o = e.transform; + return { u_translation: Ndn(e, t, n), u_ratio: r / k0(t, 1, o.zoom) }; + }, + lTr = (e, t, n, r, o) => + rr(Dme(e, t, n, r), { u_image: 0, u_image_height: o }), + cTr = (e, t, n, r, o) => { + let a = e.transform, + i = wze(t, a); + return { + u_translation: Ndn(e, t, n), + u_texsize: t.imageAtlasTexture.size, + u_ratio: r / k0(t, 1, a.zoom), + u_image: 0, + u_scale: [i, o.fromScale, o.toScale], + u_fade: o.t, + }; + }, + uTr = (e, t, n, r, o) => { + let a = e.transform, + i = wze(t, a); + return rr(Dme(e, t, n, r), { + u_tileratio: i, + u_crossfade_from: o.fromScale, + u_crossfade_to: o.toScale, + u_image: 0, + u_mix: o.t, + u_lineatlas_width: e.lineAtlas.width, + u_lineatlas_height: e.lineAtlas.height, + }); + }, + dTr = (e, t, n, r, o, a) => { + let i = e.transform, + s = wze(t, i); + return rr(Dme(e, t, n, r), { + u_image: 0, + u_image_height: a, + u_tileratio: s, + u_crossfade_from: o.fromScale, + u_crossfade_to: o.toScale, + u_image_dash: 1, + u_mix: o.t, + u_lineatlas_width: e.lineAtlas.width, + u_lineatlas_height: e.lineAtlas.height, + }); + }, + pTr = (e, t) => ({ + u_image: new ar(e, t.u_image), + u_opacity: new Un(e, t.u_opacity), + }), + fTr = (e, t) => ({ u_image: t, u_opacity: e }), + mTr = (e, t) => ({ + u_is_size_zoom_constant: new ar(e, t.u_is_size_zoom_constant), + u_is_size_feature_constant: new ar(e, t.u_is_size_feature_constant), + u_size_t: new Un(e, t.u_size_t), + u_size: new Un(e, t.u_size), + u_rotate_symbol: new ar(e, t.u_rotate_symbol), + u_label_plane_matrix: new Uy(e, t.u_label_plane_matrix), + u_coord_matrix: new Uy(e, t.u_coord_matrix), + u_is_text: new ar(e, t.u_is_text), + u_pitch_with_map: new ar(e, t.u_pitch_with_map), + u_is_along_line: new ar(e, t.u_is_along_line), + u_is_variable_anchor: new ar(e, t.u_is_variable_anchor), + u_texsize: new Ao(e, t.u_texsize), + u_texture: new ar(e, t.u_texture), + u_translation: new Ao(e, t.u_translation), + u_pitched_scale: new Un(e, t.u_pitched_scale), + u_is_offset: new ar(e, t.u_is_offset), + u_height_anchor_ground: new ar(e, t.u_height_anchor_ground), + }), + hTr = (e, t) => ({ + u_is_size_zoom_constant: new ar(e, t.u_is_size_zoom_constant), + u_is_size_feature_constant: new ar(e, t.u_is_size_feature_constant), + u_size_t: new Un(e, t.u_size_t), + u_size: new Un(e, t.u_size), + u_rotate_symbol: new ar(e, t.u_rotate_symbol), + u_label_plane_matrix: new Uy(e, t.u_label_plane_matrix), + u_coord_matrix: new Uy(e, t.u_coord_matrix), + u_is_text: new ar(e, t.u_is_text), + u_pitch_with_map: new ar(e, t.u_pitch_with_map), + u_is_along_line: new ar(e, t.u_is_along_line), + u_is_variable_anchor: new ar(e, t.u_is_variable_anchor), + u_texsize: new Ao(e, t.u_texsize), + u_texture: new ar(e, t.u_texture), + u_gamma_scale: new Un(e, t.u_gamma_scale), + u_is_halo: new ar(e, t.u_is_halo), + u_is_plain: new ar(e, t.u_is_plain), + u_translation: new Ao(e, t.u_translation), + u_pitched_scale: new Un(e, t.u_pitched_scale), + u_is_offset: new ar(e, t.u_is_offset), + u_height_anchor_ground: new ar(e, t.u_height_anchor_ground), + }), + gTr = (e, t) => ({ + u_is_size_zoom_constant: new ar(e, t.u_is_size_zoom_constant), + u_is_size_feature_constant: new ar(e, t.u_is_size_feature_constant), + u_size_t: new Un(e, t.u_size_t), + u_size: new Un(e, t.u_size), + u_rotate_symbol: new ar(e, t.u_rotate_symbol), + u_label_plane_matrix: new Uy(e, t.u_label_plane_matrix), + u_coord_matrix: new Uy(e, t.u_coord_matrix), + u_is_text: new ar(e, t.u_is_text), + u_pitch_with_map: new ar(e, t.u_pitch_with_map), + u_is_along_line: new ar(e, t.u_is_along_line), + u_is_variable_anchor: new ar(e, t.u_is_variable_anchor), + u_texsize: new Ao(e, t.u_texsize), + u_texsize_icon: new Ao(e, t.u_texsize_icon), + u_texture: new ar(e, t.u_texture), + u_texture_icon: new ar(e, t.u_texture_icon), + u_gamma_scale: new Un(e, t.u_gamma_scale), + u_is_halo: new ar(e, t.u_is_halo), + u_translation: new Ao(e, t.u_translation), + u_pitched_scale: new Un(e, t.u_pitched_scale), + u_is_offset: new ar(e, t.u_is_offset), + u_height_anchor_ground: new ar(e, t.u_height_anchor_ground), + }), + zdn = (e, t, n, r, o, a, i, s, l, c, u, d, p, f, m) => ({ + u_is_size_zoom_constant: +(e === "constant" || e === "source"), + u_is_size_feature_constant: +(e === "constant" || e === "camera"), + u_size_t: t ? t.uSizeT : 0, + u_size: t ? t.uSize : 0, + u_rotate_symbol: +n, + u_label_plane_matrix: s, + u_coord_matrix: l, + u_is_text: +u, + u_pitch_with_map: +r, + u_is_along_line: o, + u_is_variable_anchor: a, + u_texsize: d, + u_texture: 0, + u_translation: c, + u_pitched_scale: p, + u_is_offset: f, + u_height_anchor_ground: +m, + }), + _dn = (e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g) => { + let v = i.transform; + return rr(zdn(e, t, n, r, o, a, i, s, l, c, u, d, f, m, g), { + u_gamma_scale: r + ? Math.cos((v.pitch * Math.PI) / 180) * v.cameraToCenterDistance + : 1, + u_is_halo: +!!p, + u_is_plain: 1, + }); + }, + yTr = (e, t, n, r, o, a, i, s, l, c, u, d, p, f, m) => + rr(_dn(e, t, n, r, o, a, i, s, l, c, !0, u, !0, p, f, m), { + u_texsize_icon: d, + u_texture_icon: 1, + }), + vTr = (e, t) => ({ + u_opacity: new Un(e, t.u_opacity), + u_color: new Ow(e, t.u_color), + }), + bTr = (e, t) => ({ + u_opacity: new Un(e, t.u_opacity), + u_image: new ar(e, t.u_image), + u_pattern_tl_a: new Ao(e, t.u_pattern_tl_a), + u_pattern_br_a: new Ao(e, t.u_pattern_br_a), + u_pattern_tl_b: new Ao(e, t.u_pattern_tl_b), + u_pattern_br_b: new Ao(e, t.u_pattern_br_b), + u_texsize: new Ao(e, t.u_texsize), + u_mix: new Un(e, t.u_mix), + u_pattern_size_a: new Ao(e, t.u_pattern_size_a), + u_pattern_size_b: new Ao(e, t.u_pattern_size_b), + u_scale_a: new Un(e, t.u_scale_a), + u_scale_b: new Un(e, t.u_scale_b), + u_pixel_coord_upper: new Ao(e, t.u_pixel_coord_upper), + u_pixel_coord_lower: new Ao(e, t.u_pixel_coord_lower), + u_tile_units_to_pixels: new Un(e, t.u_tile_units_to_pixels), + }), + xTr = (e, t) => ({ u_opacity: e, u_color: t }), + ATr = (e, t, n, r, o) => rr(BIr(n, o, t, r), { u_opacity: e }), + wTr = (e, t) => ({ + u_sun_pos: new Rm(e, t.u_sun_pos), + u_atmosphere_blend: new Un(e, t.u_atmosphere_blend), + u_globe_position: new Rm(e, t.u_globe_position), + u_globe_radius: new Un(e, t.u_globe_radius), + u_inv_proj_matrix: new Uy(e, t.u_inv_proj_matrix), + }), + STr = (e, t, n, r, o) => ({ + u_sun_pos: e, + u_atmosphere_blend: t, + u_globe_position: n, + u_globe_radius: r, + u_inv_proj_matrix: o, + }), + CTr = (e, t) => ({ + u_sky_color: new Ow(e, t.u_sky_color), + u_horizon_color: new Ow(e, t.u_horizon_color), + u_horizon: new Ao(e, t.u_horizon), + u_horizon_normal: new Ao(e, t.u_horizon_normal), + u_sky_horizon_blend: new Un(e, t.u_sky_horizon_blend), + u_sky_blend: new Un(e, t.u_sky_blend), + u_inv_proj_matrix: new Uy(e, t.u_inv_proj_matrix), + u_globe_position: new Rm(e, t.u_globe_position), + u_globe_radius: new Un(e, t.u_globe_radius), + u_atmosphere_blend: new Un(e, t.u_atmosphere_blend), + }), + ETr = (e, t, n) => { + let r = Math.cos(t.rollInRadians), + o = Math.sin(t.rollInRadians), + a = JL(t), + i = t.getProjectionData({ + overscaledTileID: null, + applyGlobeMatrix: !0, + applyTerrainMatrix: !0, + }).projectionTransition, + s = Edn(t), + l = aB(t.worldSize, t.center.lat); + return { + u_sky_color: e.properties.get("sky-color"), + u_horizon_color: e.properties.get("horizon-color"), + u_horizon: [(t.width / 2 - a * o) * n, (t.height / 2 + a * r) * n], + u_horizon_normal: [-o, r], + u_sky_horizon_blend: + ((e.properties.get("sky-horizon-blend") * t.height) / 2) * n, + u_sky_blend: i, + u_inv_proj_matrix: t.inverseProjectionMatrix, + u_globe_position: s, + u_globe_radius: l, + u_atmosphere_blend: + e.properties.get("atmosphere-blend") * Idn(Fy(s) - l, l), + }; + }, + mme = (e, t) => ({}), + ITr, + TTr = class { + constructor(e, t, n) { + this.context = e; + let r = e.gl; + ((this.buffer = r.createBuffer()), + (this.dynamicDraw = !!n), + this.context.unbindVAO(), + e.bindElementBuffer.set(this.buffer), + r.bufferData( + r.ELEMENT_ARRAY_BUFFER, + t.arrayBuffer, + this.dynamicDraw ? r.DYNAMIC_DRAW : r.STATIC_DRAW, + ), + this.dynamicDraw || t.freeBufferAfterUpload()); + } + bind() { + this.context.bindElementBuffer.set(this.buffer); + } + updateData(e) { + let t = this.context.gl; + if (!this.dynamicDraw) + throw Error("Attempted to update data while not in dynamic mode."); + (this.context.unbindVAO(), + this.bind(), + t.bufferSubData(t.ELEMENT_ARRAY_BUFFER, 0, e.arrayBuffer)); + } + destroy() { + let e = this.context.gl; + this.buffer && (e.deleteBuffer(this.buffer), delete this.buffer); + } + }, + Dun, + kTr = class { + constructor(e, t, n, r) { + ((this.length = t.length), + (this.attributes = n), + (this.itemSize = t.bytesPerElement), + (this.dynamicDraw = r), + (this.context = e)); + let o = e.gl; + ((this.buffer = o.createBuffer()), + e.bindVertexBuffer.set(this.buffer), + o.bufferData( + o.ARRAY_BUFFER, + t.arrayBuffer, + this.dynamicDraw ? o.DYNAMIC_DRAW : o.STATIC_DRAW, + ), + this.dynamicDraw || t.freeBufferAfterUpload()); + } + bind() { + this.context.bindVertexBuffer.set(this.buffer); + } + updateData(e) { + if (e.length !== this.length) + throw Error( + `Length of new data is ${e.length}, which doesn't match current length of ${this.length}`, + ); + let t = this.context.gl; + (this.bind(), t.bufferSubData(t.ARRAY_BUFFER, 0, e.arrayBuffer)); + } + enableAttributes(e, t) { + for (let n of this.attributes) { + let r = t.attributes[n.name]; + r !== void 0 && e.enableVertexAttribArray(r.location); + } + } + setVertexAttribPointers(e, t, n) { + for (let r of this.attributes) { + let o = t.attributes[r.name]; + if (o !== void 0) { + let a = r.offset + this.itemSize * (n || 0); + o.isInteger + ? e.vertexAttribIPointer( + o.location, + r.components, + e[Dun[r.type]], + this.itemSize, + a, + ) + : e.vertexAttribPointer( + o.location, + r.components, + e[Dun[r.type]], + !1, + this.itemSize, + a, + ); + } + } + } + destroy() { + let e = this.context.gl; + this.buffer && (e.deleteBuffer(this.buffer), delete this.buffer); + } + }, + bi = class { + constructor(e) { + ((this.gl = e.gl), + (this.default = this.getDefault()), + (this.current = this.default), + (this.dirty = !1)); + } + get() { + return this.current; + } + set(e) {} + getDefault() { + return this.default; + } + setDefault() { + this.set(this.default); + } + }, + RTr, + PTr, + MTr, + DTr, + LTr, + BTr, + OTr, + FTr, + UTr, + NTr, + zTr, + _Tr, + HTr, + VTr, + GTr, + qTr, + ZTr, + QTr, + XTr, + WTr, + YTr, + KTr, + JTr, + jTr, + $Tr, + e7r, + t7r, + n7r, + r7r, + o7r, + a7r, + Sze, + i7r, + s7r, + l7r, + c7r = class { + constructor(e, t, n, r, o) { + ((this.context = e), (this.width = t), (this.height = n)); + let a = e.gl, + i = (this.framebuffer = a.createFramebuffer()); + if (((this.colorAttachment = new i7r(e, i)), r)) + this.depthAttachment = o ? new l7r(e, i) : new s7r(e, i); + else if (o) throw Error("Stencil cannot be set without depth"); + } + destroy() { + let e = this.context.gl, + t = this.colorAttachment.get(); + if ((t && e.deleteTexture(t), this.depthAttachment)) { + let n = this.depthAttachment.get(); + n && e.deleteRenderbuffer(n); + } + e.deleteFramebuffer(this.framebuffer); + } + }, + Hdn, + $g, + Yl = class { + constructor(e, t, n) { + ((this.blendFunction = e), (this.blendColor = t), (this.mask = n)); + } + }, + p7r = class { + constructor(e) { + ((this.gl = e), + (this.clearColor = new RTr(this)), + (this.clearDepth = new PTr(this)), + (this.clearStencil = new MTr(this)), + (this.colorMask = new DTr(this)), + (this.depthMask = new LTr(this)), + (this.stencilMask = new BTr(this)), + (this.stencilFunc = new OTr(this)), + (this.stencilOp = new FTr(this)), + (this.stencilTest = new UTr(this)), + (this.depthRange = new NTr(this)), + (this.depthTest = new zTr(this)), + (this.depthFunc = new _Tr(this)), + (this.blend = new HTr(this)), + (this.blendFunc = new VTr(this)), + (this.blendColor = new GTr(this)), + (this.blendEquation = new qTr(this)), + (this.cullFace = new ZTr(this)), + (this.cullFaceSide = new QTr(this)), + (this.frontFace = new XTr(this)), + (this.program = new WTr(this)), + (this.activeTexture = new YTr(this)), + (this.viewport = new KTr(this)), + (this.bindFramebuffer = new JTr(this)), + (this.bindRenderbuffer = new jTr(this)), + (this.bindTexture = new $Tr(this)), + (this.bindVertexBuffer = new e7r(this)), + (this.bindElementBuffer = new t7r(this)), + (this.bindVertexArray = new n7r(this)), + (this.pixelStoreUnpack = new r7r(this)), + (this.pixelStoreUnpackPremultiplyAlpha = new o7r(this)), + (this.pixelStoreUnpackFlipY = new a7r(this)), + (this.extTextureFilterAnisotropic = e.getExtension( + "EXT_texture_filter_anisotropic", + )), + this.extTextureFilterAnisotropic && + (this.extTextureFilterAnisotropicMax = e.getParameter( + this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT, + )), + (this.maxTextureSize = e.getParameter(e.MAX_TEXTURE_SIZE)), + e.getExtension("EXT_color_buffer_half_float"), + e.getExtension("EXT_color_buffer_float"), + (this.boundUniformBuffers = []), + (this.projectionUniformBuffer = Mdn(this)), + (this.keyedProjectionUniformBuffers = new Map()), + (this.freeProjectionUniformBuffers = []), + (this.terrainUniformBuffer = PIr(this)), + (this.frameUniformBuffer = u7r(this))); + } + setDefault() { + (this.unbindVAO(), + this.clearColor.setDefault(), + this.clearDepth.setDefault(), + this.clearStencil.setDefault(), + this.colorMask.setDefault(), + this.depthMask.setDefault(), + this.stencilMask.setDefault(), + this.stencilFunc.setDefault(), + this.stencilOp.setDefault(), + this.stencilTest.setDefault(), + this.depthRange.setDefault(), + this.depthTest.setDefault(), + this.depthFunc.setDefault(), + this.blend.setDefault(), + this.blendFunc.setDefault(), + this.blendColor.setDefault(), + this.blendEquation.setDefault(), + this.cullFace.setDefault(), + this.cullFaceSide.setDefault(), + this.frontFace.setDefault(), + this.program.setDefault(), + this.activeTexture.setDefault(), + this.bindFramebuffer.setDefault(), + this.pixelStoreUnpack.setDefault(), + this.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.pixelStoreUnpackFlipY.setDefault()); + } + setDirty() { + ((this.clearColor.dirty = !0), + (this.clearDepth.dirty = !0), + (this.clearStencil.dirty = !0), + (this.colorMask.dirty = !0), + (this.depthMask.dirty = !0), + (this.stencilMask.dirty = !0), + (this.stencilFunc.dirty = !0), + (this.stencilOp.dirty = !0), + (this.stencilTest.dirty = !0), + (this.depthRange.dirty = !0), + (this.depthTest.dirty = !0), + (this.depthFunc.dirty = !0), + (this.blend.dirty = !0), + (this.blendFunc.dirty = !0), + (this.blendColor.dirty = !0), + (this.blendEquation.dirty = !0), + (this.cullFace.dirty = !0), + (this.cullFaceSide.dirty = !0), + (this.frontFace.dirty = !0), + (this.program.dirty = !0), + (this.activeTexture.dirty = !0), + (this.viewport.dirty = !0), + (this.bindFramebuffer.dirty = !0), + (this.bindRenderbuffer.dirty = !0), + (this.bindTexture.dirty = !0), + (this.bindVertexBuffer.dirty = !0), + (this.bindElementBuffer.dirty = !0), + (this.bindVertexArray.dirty = !0), + (this.pixelStoreUnpack.dirty = !0), + (this.pixelStoreUnpackPremultiplyAlpha.dirty = !0), + (this.pixelStoreUnpackFlipY.dirty = !0), + (this.boundUniformBuffers = [])); + } + setCustomLayerDefaults() { + (this.unbindVAO(), + this.cullFace.setDefault(), + this.activeTexture.setDefault(), + this.pixelStoreUnpack.setDefault(), + this.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.pixelStoreUnpackFlipY.setDefault()); + } + createIndexBuffer(e, t) { + return new TTr(this, e, t); + } + createVertexBuffer(e, t, n) { + return new kTr(this, e, t, n); + } + createRenderbuffer(e, t, n) { + let r = this.gl, + o = r.createRenderbuffer(); + return ( + this.bindRenderbuffer.set(o), + r.renderbufferStorage(r.RENDERBUFFER, e, t, n), + this.bindRenderbuffer.set(null), + o + ); + } + createFramebuffer(e, t, n, r) { + return new c7r(this, e, t, n, r); + } + clear({ color: e, depth: t, stencil: n }) { + let r = this.gl, + o = 0; + (e && + ((o |= r.COLOR_BUFFER_BIT), + this.clearColor.set(e), + this.colorMask.set([!0, !0, !0, !0])), + t !== void 0 && + ((o |= r.DEPTH_BUFFER_BIT), + this.depthRange.set([0, 1]), + this.clearDepth.set(t), + this.depthMask.set(!0)), + n !== void 0 && + ((o |= r.STENCIL_BUFFER_BIT), + this.clearStencil.set(n), + this.stencilMask.set(255)), + r.clear(o)); + } + setCullFace(e) { + e.enable === !1 + ? this.cullFace.set(!1) + : (this.cullFace.set(!0), + this.cullFaceSide.set(e.mode), + this.frontFace.set(e.frontFace)); + } + setDepthMode(e) { + e.func === this.gl.ALWAYS && !e.mask + ? this.depthTest.set(!1) + : (this.depthTest.set(!0), + this.depthFunc.set(e.func), + this.depthMask.set(e.mask), + this.depthRange.set(e.range)); + } + setStencilMode(e) { + e.test.func === this.gl.ALWAYS && !e.mask + ? this.stencilTest.set(!1) + : (this.stencilTest.set(!0), + this.stencilMask.set(e.mask), + this.stencilOp.set([e.fail, e.depthFail, e.pass]), + this.stencilFunc.set({ + func: e.test.func, + ref: e.ref, + mask: e.test.mask, + })); + } + setColorMode(e) { + (hv(e.blendFunction, Yl.Replace) + ? this.blend.set(!1) + : (this.blend.set(!0), + this.blendFunc.set(e.blendFunction), + this.blendColor.set(e.blendColor)), + this.colorMask.set(e.mask)); + } + createVertexArray() { + return this.gl.createVertexArray(); + } + deleteVertexArray(e) { + this.gl.deleteVertexArray(e); + } + unbindVAO() { + this.bindVertexArray.set(null); + } + }, + Ho = class { + constructor(e, t, n) { + ((this.func = e), (this.mask = t), (this.range = n)); + } + }, + GNe = 7680, + ii = class { + constructor(e, t, n, r, o, a) { + ((this.test = e), + (this.ref = t), + (this.mask = n), + (this.fail = r), + (this.depthFail = o), + (this.pass = a)); + } + }, + Lun = 1029, + qNe = 2305, + Ya = class { + constructor(e, t, n) { + ((this.enable = e), (this.mode = t), (this.frontFace = n)); + } + }, + hme, + h7r, + zun = 0, + WNe, + Z7r, + Q7r, + X7r, + W7r, + Y7r, + lkr, + ckr, + ukr, + dkr = class { + constructor(e) { + ((this._getHashParams = () => + new URLSearchParams(window.location.hash.replace("#", ""))), + (this._getCurrentHash = () => { + let t = this._getHashParams(); + return this._hashName + ? (t.get(this._hashName) || "").split("/") + : ([...t.keys()][0] ?? "").split("/"); + }), + (this._onHashChange = () => { + let t = this._getCurrentHash(); + if (!this._isValidHash(t)) return !1; + let n = + this._map.dragRotate.isEnabled() && + this._map.touchZoomRotate.isEnabled() + ? +(t[3] || 0) + : this._map.getBearing(); + return ( + this._map.jumpTo({ + center: [+t[2], +t[1]], + zoom: +t[0], + bearing: n, + pitch: +(t[4] || 0), + }), + !0 + ); + }), + (this._updateHashUnthrottled = () => { + let t = window.location.href.replace(/(#.*)?$/, this.getHashString()); + window.history.replaceState(window.history.state, null, t); + }), + (this._removeHash = () => { + let t = this._getHashParams(); + if (this._hashName) t.delete(this._hashName); + else { + let a = Array.from(t.keys()); + a.length > 0 && t.delete(a[0]); + } + let n = decodeURIComponent(t.toString()) + .replace(/=&/g, "&") + .replace(/=$/g, ""), + r = n ? `#${n}` : "", + o = window.location.href.replace(/(#.+)?$/, r); + ((o = o.replace("&&", "&")), + window.history.replaceState(window.history.state, null, o)); + }), + (this._updateHash = Eze(this._updateHashUnthrottled, 300)), + (this._hashName = e && encodeURIComponent(e))); + } + addTo(e) { + return ( + (this._map = e), + addEventListener("hashchange", this._onHashChange, !1), + this._map.on("moveend", this._updateHash), + this + ); + } + remove() { + return ( + removeEventListener("hashchange", this._onHashChange, !1), + this._map.off("moveend", this._updateHash), + clearTimeout(this._updateHash()), + this._removeHash(), + delete this._map, + this + ); + } + getHashString(e) { + let t = this._map.getCenter(), + n = Math.round(this._map.getZoom() * 100) / 100, + r = + 10 ** + Math.ceil((n * Math.LN2 + Math.log(2.8444444444444446)) / Math.LN10), + o = Math.round(t.lng * r) / r, + a = Math.round(t.lat * r) / r, + i = this._map.getBearing(), + s = this._map.getPitch(), + l = ""; + if ( + ((l += e ? `/${o}/${a}/${n}` : `${n}/${a}/${o}`), + (i || s) && (l += `/${Math.round(i * 10) / 10}`), + s && (l += `/${Math.round(s)}`), + this._hashName) + ) { + let c = this._getHashParams(); + return ( + c.set(this._hashName, l), + `#${decodeURIComponent(c.toString()).replace(/=&/g, "&").replace(/=$/g, "")}` + ); + } + return `#${l}`; + } + _isValidHash(e) { + if (e.length < 3 || e.some((o) => isNaN(+o))) return !1; + try { + new pr(+e[2], +e[1]); + } catch { + return !1; + } + let t = +e[0], + n = +(e[3] || 0), + r = +(e[4] || 0); + return ( + t >= this._map.getMinZoom() && + t <= this._map.getMaxZoom() && + n >= -180 && + n <= 180 && + r >= this._map.getMinPitch() && + r <= this._map.getMaxPitch() + ); + } + }, + QQ, + pkr, + fkr, + mkr, + hkr, + gkr, + ykr = class { + constructor(e) { + ((this._map = e), this.clear()); + } + clear() { + this._inertiaBuffer = []; + } + record(e) { + (this._drainInertiaBuffer(), + this._inertiaBuffer.push({ time: vi(), settings: e })); + } + _drainInertiaBuffer() { + let e = this._inertiaBuffer, + t = vi(); + for (; e.length > 0 && t - e[0].time > 160;) e.shift(); + } + _getVelocityEntries() { + let e = this._inertiaBuffer, + t = vi() - 60, + n = Math.max(0, e.length - 2); + for (; n > 0 && e[n - 1].time >= t;) n--; + return e.slice(n); + } + _onMoveEnd(e) { + this._drainInertiaBuffer(); + let t = this._getVelocityEntries(); + if (t.length < 2) { + this.clear(); + return; + } + let n = { + zoom: 0, + bearing: 0, + pitch: 0, + roll: 0, + pan: new ft(0, 0), + pinchAround: void 0, + around: void 0, + }; + for (let { settings: a } of t) + (a.around && (n.around = a.around), + a.pinchAround && (n.pinchAround = a.pinchAround)); + for (let { settings: a } of t.slice(1)) + ((n.zoom += a.zoomDelta || 0), + (n.bearing += a.bearingDelta || 0), + (n.pitch += a.pitchDelta || 0), + (n.roll += a.rollDelta || 0), + a.panDelta && n.pan._add(a.panDelta)); + if (!n.pan.mag() && !n.zoom && !n.bearing && !n.pitch && !n.roll) { + this.clear(); + return; + } + let r = vi() - t[0].time, + o = {}; + if (n.pan.mag()) { + let a = VQ(n.pan.mag(), r, rr({}, pkr, e || {})), + i = n.pan.mult(a.amount / n.pan.mag()), + s = this._map._camera.cameraHelper.handlePanInertia( + i, + this._map._camera.transform, + ); + ((o.center = s.easingCenter), (o.offset = s.easingOffset), HQ(o, a)); + } + if (n.zoom) { + let a = VQ(n.zoom, r, fkr); + ((o.zoom = P0( + this._map.getZoom() + a.amount, + this._map.getZoomSnap(), + a.amount, + )), + HQ(o, a)); + } + if (n.bearing) { + let a = VQ(n.bearing, r, mkr); + ((o.bearing = this._map.getBearing() + qr(a.amount, -179, 179)), + HQ(o, a)); + } + if (n.pitch) { + let a = VQ(n.pitch, r, hkr); + ((o.pitch = this._map.getPitch() + a.amount), HQ(o, a)); + } + if (n.roll) { + let a = VQ(n.roll, r, gkr); + ((o.roll = this._map.getRoll() + qr(a.amount, -179, 179)), HQ(o, a)); + } + if (o.zoom || o.bearing) { + let a = n.pinchAround === void 0 ? n.around : n.pinchAround; + o.around = a ? this._map.unproject(a) : this._map.getCenter(); + } + return (this.clear(), rr(o, { noMoveStart: !0 })); + } + }, + vkr = class { + constructor(e, t) { + ((this._map = e), (this._clickTolerance = t.clickTolerance)); + } + reset() { + delete this._mousedownPos; + } + wheel(e) { + return this._firePreventable(new O5r(this._map, e)); + } + mousedown(e, t) { + return ( + (this._mousedownPos = t), + this._firePreventable(new t1(e.type, this._map, e)) + ); + } + mouseup(e) { + this._map.fire(new t1(e.type, this._map, e)); + } + click(e, t) { + (this._mousedownPos && + this._mousedownPos.dist(t) >= this._clickTolerance) || + this._map.fire(new t1(e.type, this._map, e)); + } + dblclick(e) { + return this._firePreventable(new t1(e.type, this._map, e)); + } + mouseover(e) { + this._map.fire(new t1(e.type, this._map, e)); + } + mouseout(e) { + this._map.fire(new t1(e.type, this._map, e)); + } + touchstart(e) { + return this._firePreventable(new ame(e.type, this._map, e)); + } + touchmove(e) { + this._map.fire(new ame(e.type, this._map, e)); + } + touchend(e) { + this._map.fire(new ame(e.type, this._map, e)); + } + touchcancel(e) { + this._map.fire(new ame(e.type, this._map, e)); + } + _firePreventable(e) { + if ((this._map.fire(e), e.defaultPrevented)) return {}; + } + isEnabled() { + return !0; + } + isActive() { + return !1; + } + enable() {} + disable() {} + }, + bkr = class { + constructor(e, t) { + ((this._map = e), (this._clickTolerance = t.clickTolerance)); + } + reset() { + ((this._delayContextMenu = !1), + (this._ignoreContextMenu = !0), + delete this._contextMenuEvent, + this._clearLongPress(), + (this._touchActive = !1)); + } + mousemove(e) { + this._map.fire(new t1(e.type, this._map, e)); + } + mousedown() { + ((this._delayContextMenu = !0), (this._ignoreContextMenu = !1)); + } + mouseup() { + ((this._delayContextMenu = !1), + this._contextMenuEvent && + (this._map.fire( + new t1("contextmenu", this._map, this._contextMenuEvent), + ), + delete this._contextMenuEvent)); + } + touchstart(e, t, n) { + if ( + (this._clearLongPress(), + (this._touchActive = n.length > 0), + n.length !== 1) + ) + return; + this._longPressStart = t[0]; + let r = n[0]; + this._longPressTimer = setTimeout(() => { + this._longPressTimer = void 0; + let o = new MouseEvent("contextmenu", { + clientX: r.clientX, + clientY: r.clientY, + button: 2, + bubbles: !0, + cancelable: !0, + }); + this._map.fire(new t1("contextmenu", this._map, o)); + }, 500); + } + touchmove(e, t, n) { + this._longPressTimer && + (n.length !== 1 || + !this._longPressStart || + t[0].dist(this._longPressStart) > this._clickTolerance) && + this._clearLongPress(); + } + touchend() { + ((this._touchActive = !1), this._clearLongPress()); + } + touchcancel() { + ((this._touchActive = !1), this._clearLongPress()); + } + _clearLongPress() { + ((this._longPressTimer &&= (clearTimeout(this._longPressTimer), void 0)), + (this._longPressStart = void 0)); + } + contextmenu(e) { + if (this._touchActive) { + e.preventDefault(); + return; + } + (this._delayContextMenu + ? (this._contextMenuEvent = e) + : this._ignoreContextMenu || + this._map.fire(new t1(e.type, this._map, e)), + this._map.listens("contextmenu") && e.preventDefault()); + } + isEnabled() { + return !0; + } + isActive() { + return !1; + } + enable() {} + disable() {} + }, + xkr = class { + constructor(e, t, n) { + ((this._map = e), + (this._tr = n), + (this._el = e.getCanvasContainer()), + (this._container = e.getContainer()), + (this._clickTolerance = t.clickTolerance || 1), + t.boxZoom && + typeof t.boxZoom == "object" && + (this._boxZoomEnd = t.boxZoom.boxZoomEnd)); + } + isEnabled() { + return !!this._enabled; + } + isActive() { + return !!this._active; + } + enable() { + this.isEnabled() || (this._enabled = !0); + } + disable() { + this.isEnabled() && (this._enabled = !1); + } + mousedown(e, t) { + this.isEnabled() && + e.shiftKey && + e.button === 0 && + (Cl.disableDrag(), + (this._startPos = this._lastPos = t), + (this._active = !0)); + } + mousemoveWindow(e, t) { + if (!this._active) return; + let n = t; + if ( + this._lastPos.equals(n) || + (!this._box && n.dist(this._startPos) < this._clickTolerance) + ) + return; + let r = this._startPos; + ((this._lastPos = n), + this._box || + ((this._box = Cl.create( + "div", + "maplibregl-boxzoom", + this._container, + )), + this._container.classList.add("maplibregl-crosshair"), + this._fireEvent("boxzoomstart", e))); + let o = Math.min(r.x, n.x), + a = Math.max(r.x, n.x), + i = Math.min(r.y, n.y), + s = Math.max(r.y, n.y); + ((this._box.style.transform = `translate(${o}px,${i}px)`), + (this._box.style.width = `${a - o}px`), + (this._box.style.height = `${s - i}px`)); + } + mouseupWindow(e, t) { + if (!this._active || e.button !== 0) return; + let n = this._startPos, + r = t; + if ((this.reset(), Cl.suppressClick(), n.x === r.x && n.y === r.y)) + this._fireEvent("boxzoomcancel", e); + else { + if ( + (this._map.fire(new Ucn("boxzoomend", { originalEvent: e })), + this._boxZoomEnd) + ) { + this._boxZoomEnd(this._map, n, r, e); + return; + } + return { + cameraAnimation: (o) => + o.fitScreenCoordinates(n, r, this._tr.bearing, { linear: !0 }), + }; + } + } + keydown(e) { + this._active && + e.keyCode === 27 && + (this.reset(), this._fireEvent("boxzoomcancel", e)); + } + reset() { + ((this._active = !1), + this._container.classList.remove("maplibregl-crosshair"), + (this._box &&= (this._box.remove(), null)), + Cl.enableDrag(), + delete this._startPos, + delete this._lastPos); + } + _fireEvent(e, t) { + return this._map.fire(new Ucn(e, { originalEvent: t })); + } + }, + wkr = class { + constructor(e) { + (this.reset(), (this.numTouches = e.numTouches)); + } + reset() { + (delete this.centroid, + delete this.startTime, + delete this.touches, + (this.aborted = !1)); + } + touchstart(e, t, n) { + ((this.centroid || n.length > this.numTouches) && (this.aborted = !0), + !this.aborted && + (this.startTime === void 0 && (this.startTime = e.timeStamp), + n.length === this.numTouches && + ((this.centroid = Akr(t)), (this.touches = lze(n, t))))); + } + touchmove(e, t, n) { + if (this.aborted || !this.centroid) return; + let r = lze(n, t); + for (let o in this.touches) { + let a = this.touches[o], + i = r[o]; + (!i || i.dist(a) > 30) && (this.aborted = !0); + } + } + touchend(e, t, n) { + if ( + ((!this.centroid || e.timeStamp - this.startTime > 500) && + (this.aborted = !0), + n.length === 0) + ) { + let r = !this.aborted && this.centroid; + if ((this.reset(), r)) return r; + } + } + }, + cze = class { + constructor(e) { + ((this.singleTap = new wkr(e)), (this.numTaps = e.numTaps), this.reset()); + } + reset() { + ((this.lastTime = 1 / 0), + delete this.lastTap, + (this.count = 0), + this.singleTap.reset()); + } + touchstart(e, t, n) { + this.singleTap.touchstart(e, t, n); + } + touchmove(e, t, n) { + this.singleTap.touchmove(e, t, n); + } + touchend(e, t, n) { + let r = this.singleTap.touchend(e, t, n); + if (r) { + let o = e.timeStamp - this.lastTime < 500, + a = !this.lastTap || this.lastTap.dist(r) < 30; + if ( + ((!o || !a) && this.reset(), + this.count++, + (this.lastTime = e.timeStamp), + (this.lastTap = r), + this.count === this.numTaps) + ) + return (this.reset(), r); + } + } + }, + Skr = class { + constructor(e, t) { + ((this._tr = t), + (this._zoomIn = new cze({ numTouches: 1, numTaps: 2 })), + (this._zoomOut = new cze({ numTouches: 2, numTaps: 1 })), + this.reset()); + } + reset() { + ((this._active = !1), this._zoomIn.reset(), this._zoomOut.reset()); + } + touchstart(e, t, n) { + (this._zoomIn.touchstart(e, t, n), this._zoomOut.touchstart(e, t, n)); + } + touchmove(e, t, n) { + (this._zoomIn.touchmove(e, t, n), this._zoomOut.touchmove(e, t, n)); + } + touchend(e, t, n) { + let r = this._zoomIn.touchend(e, t, n), + o = this._zoomOut.touchend(e, t, n), + a = this._tr; + if (r) + return ( + (this._active = !0), + e.preventDefault(), + setTimeout(() => this.reset(), 0), + { + cameraAnimation: (i) => + i.easeTo( + { + duration: 300, + zoom: P0(a.zoom + 1, i.getZoomSnap()), + around: a.transform.isPointOnMapSurface(r) + ? a.unproject(r) + : void 0, + }, + { originalEvent: e }, + ), + } + ); + if (o) + return ( + (this._active = !0), + e.preventDefault(), + setTimeout(() => this.reset(), 0), + { + cameraAnimation: (i) => + i.easeTo( + { + duration: 300, + zoom: P0(a.zoom - 1, i.getZoomSnap()), + around: a.transform.isPointOnMapSurface(o) + ? a.unproject(o) + : void 0, + }, + { originalEvent: e }, + ), + } + ); + } + touchcancel() { + this.reset(); + } + enable() { + this._enabled = !0; + } + disable() { + ((this._enabled = !1), this.reset()); + } + isEnabled() { + return this._enabled; + } + isActive() { + return this._active; + } + }, + Lme = class { + constructor(e) { + ((this._enabled = !!e.enable), + (this._moveStateManager = e.moveStateManager), + (this._clickTolerance = e.clickTolerance || 1), + (this._moveFunction = e.move), + (this._activateOnStart = !!e.activateOnStart), + e.assignEvents(this), + this.reset()); + } + reset(e) { + ((this._active = !1), + (this._moved = !1), + delete this._lastPoint, + this._moveStateManager.endMove(e)); + } + _move(...e) { + let t = this._moveFunction(...e); + if ( + t.bearingDelta || + t.pitchDelta || + t.rollDelta || + t.around || + t.panDelta + ) + return ((this._active = !0), t); + } + dragStart(e, t) { + this.isEnabled() && + !this._lastPoint && + this._moveStateManager.isValidStartEvent(e) && + (this._moveStateManager.startMove(e), + (this._lastPoint = Array.isArray(t) ? t[0] : t), + this._activateOnStart && this._lastPoint && (this._active = !0)); + } + dragMove(e, t) { + if (!this.isEnabled()) return; + let n = this._lastPoint; + if (!n) return; + if ((e.preventDefault(), !this._moveStateManager.isValidMoveEvent(e))) { + this.reset(e); + return; + } + let r = Array.isArray(t) ? t[0] : t; + if (!(!this._moved && r.dist(n) < this._clickTolerance)) + return ((this._moved = !0), (this._lastPoint = r), this._move(n, r)); + } + dragEnd(e) { + this.isEnabled() && + this._lastPoint && + this._moveStateManager.isValidEndEvent(e) && + (this._moved && Cl.suppressClick(), this.reset(e)); + } + enable() { + this._enabled = !0; + } + disable() { + ((this._enabled = !1), this.reset()); + } + isEnabled() { + return this._enabled; + } + isActive() { + return this._active; + } + getClickTolerance() { + return this._clickTolerance; + } + }, + Ckr, + Bme = class { + constructor(e) { + this._correctEvent = e.checkCorrectEvent; + } + startMove(e) { + this._eventButton = e.button; + } + endMove(e) { + delete this._eventButton; + } + isValidStartEvent(e) { + return this._correctEvent(e); + } + isValidMoveEvent(e) { + return !Ekr(e, this._eventButton); + } + isValidEndEvent(e) { + return e.button === this._eventButton; + } + }, + Ome = (e) => { + ((e.mousedown = e.dragStart), + (e.mousemoveWindow = e.dragMove), + (e.mouseup = e.dragEnd), + (e.contextmenu = (t) => { + t.preventDefault(); + })); + }, + Pkr = class { + constructor(e, t) { + ((this._clickTolerance = e.clickTolerance || 1), + (this._map = t), + this.reset()); + } + reset() { + ((this._active = !1), (this._touches = {}), (this._sum = new ft(0, 0))); + } + _shouldBePrevented(e) { + return e < (this._map.cooperativeGestures.isEnabled() ? 2 : 1); + } + touchstart(e, t, n) { + return this._calculateTransform(e, t, n); + } + touchmove(e, t, n) { + if (this._active) { + if (this._shouldBePrevented(n.length)) { + this._map.cooperativeGestures.notifyGestureBlocked("touch_pan", e); + return; + } + return (e.preventDefault(), this._calculateTransform(e, t, n)); + } + } + touchend(e, t, n) { + (this._calculateTransform(e, t, n), + this._active && this._shouldBePrevented(n.length) && this.reset()); + } + touchcancel() { + this.reset(); + } + _calculateTransform(e, t, n) { + n.length > 0 && (this._active = !0); + let r = lze(n, t), + o = new ft(0, 0), + a = new ft(0, 0), + i = 0; + for (let l in r) { + let c = r[l], + u = this._touches[l]; + u && (o._add(c), a._add(c.sub(u)), i++, (r[l] = c)); + } + if (((this._touches = r), this._shouldBePrevented(i) || !a.mag())) return; + let s = a.div(i); + if ((this._sum._add(s), !(this._sum.mag() < this._clickTolerance))) + return { around: o.div(i), panDelta: s }; + } + enable() { + this._enabled = !0; + } + disable() { + ((this._enabled = !1), this.reset()); + } + isEnabled() { + return this._enabled; + } + isActive() { + return this._active; + } + }, + Ize = class { + constructor() { + this.reset(); + } + reset() { + ((this._active = !1), delete this._firstTwoTouches); + } + touchstart(e, t, n) { + this._firstTwoTouches || + n.length < 2 || + ((this._firstTwoTouches = [n[0].identifier, n[1].identifier]), + this._start([t[0], t[1]])); + } + touchmove(e, t, n) { + if (!this._firstTwoTouches) return; + e.preventDefault(); + let [r, o] = this._firstTwoTouches, + a = yme(n, t, r), + i = yme(n, t, o); + if (!a || !i) return; + let s = this._aroundCenter ? null : a.add(i).div(2); + return this._move([a, i], s, e); + } + touchend(e, t, n) { + if (!this._firstTwoTouches) return; + let [r, o] = this._firstTwoTouches, + a = yme(n, t, r), + i = yme(n, t, o); + (a && i) || (this._active && Cl.suppressClick(), this.reset()); + } + touchcancel() { + this.reset(); + } + enable(e) { + ((this._enabled = !0), + (this._aroundCenter = !!e && e.around === "center")); + } + disable() { + ((this._enabled = !1), this.reset()); + } + isEnabled() { + return !!this._enabled; + } + isActive() { + return !!this._active; + } + }, + Vun = 0.1, + Mkr, + Dkr, + Lkr, + Bkr, + Okr = class { + constructor(e, t) { + this._tr = t; + let n = Bkr; + ((this._panStep = n.panStep), + (this._bearingStep = n.bearingStep), + (this._pitchStep = n.pitchStep), + (this._rotationDisabled = !1)); + } + reset() { + this._active = !1; + } + keydown(e) { + if (e.altKey || e.ctrlKey || e.metaKey) return; + let t = 0, + n = 0, + r = 0, + o = 0, + a = 0; + switch (e.keyCode) { + case 61: + case 107: + case 171: + case 187: + t = 1; + break; + case 189: + case 109: + case 173: + t = -1; + break; + case 37: + e.shiftKey ? (n = -1) : (e.preventDefault(), (o = -1)); + break; + case 39: + e.shiftKey ? (n = 1) : (e.preventDefault(), (o = 1)); + break; + case 38: + e.shiftKey ? (r = 1) : (e.preventDefault(), (a = -1)); + break; + case 40: + e.shiftKey ? (r = -1) : (e.preventDefault(), (a = 1)); + break; + default: + return; + } + return ( + this._rotationDisabled && ((n = 0), (r = 0)), + { + cameraAnimation: (i) => { + let s = this._tr; + i.easeTo( + { + duration: 300, + easeId: "keyboardHandler", + easing: Fkr, + zoom: t + ? P0(s.zoom + t * (e.shiftKey ? 2 : 1), i.getZoomSnap()) + : s.zoom, + bearing: s.bearing + n * this._bearingStep, + pitch: s.pitch + r * this._pitchStep, + offset: [-o * this._panStep, -a * this._panStep], + center: s.center, + }, + { originalEvent: e }, + ); + }, + } + ); + } + enable() { + this._enabled = !0; + } + disable() { + ((this._enabled = !1), this.reset()); + } + isEnabled() { + return this._enabled; + } + isActive() { + return this._active; + } + disableRotation() { + this._rotationDisabled = !0; + } + enableRotation() { + this._rotationDisabled = !1; + } + }, + Zun = 4.000244140625, + Ukr = class { + constructor(e, t, n) { + ((this._onTimeout = (r) => { + ((this._type = "wheel"), + (this._delta -= this._lastValue), + this._active || this._start(r)); + }), + (this._map = e), + (this._tr = n), + (this._triggerRenderFrame = t), + (this._delta = 0), + (this._defaultZoomRate = 0.01), + (this._wheelZoomRate = 0.0022222222222222222)); + } + setZoomRate(e) { + this._defaultZoomRate = e; + } + setWheelZoomRate(e) { + this._wheelZoomRate = e; + } + isEnabled() { + return !!this._enabled; + } + isActive() { + return !!this._active || this._finishTimeout !== void 0; + } + isZooming() { + return !!this._zooming; + } + enable(e) { + this.isEnabled() || + ((this._enabled = !0), + (this._aroundCenter = !!e && e.around === "center")); + } + disable() { + this.isEnabled() && (this._enabled = !1); + } + _shouldBePrevented(e) { + return this._map.cooperativeGestures.isEnabled() + ? !(e.ctrlKey || this._map.cooperativeGestures.isBypassed(e)) + : !1; + } + wheel(e) { + if (!this.isEnabled()) return; + if (this._shouldBePrevented(e)) { + this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom", e); + return; + } + let t = + e.deltaMode === WheelEvent.DOM_DELTA_LINE ? e.deltaY * 40 : e.deltaY, + n = vi(), + r = n - (this._lastWheelEventTime || 0); + ((this._lastWheelEventTime = n), + t !== 0 && t % Zun == 0 + ? (this._type = "wheel") + : t !== 0 && Math.abs(t) < 4 + ? (this._type = "trackpad") + : r > 400 + ? ((this._type = null), + (this._lastValue = t), + (this._timeout = setTimeout(this._onTimeout, 40, e))) + : this._type || + ((this._type = Math.abs(r * t) < 200 ? "trackpad" : "wheel"), + this._timeout && + (clearTimeout(this._timeout), + (this._timeout = null), + (t += this._lastValue))), + e.shiftKey && t && (t /= 4), + this._type && + ((this._lastWheelEvent = e), + (this._delta -= t), + this._active || this._start(e)), + e.preventDefault()); + } + _start(e) { + if (!this._delta) return; + ((this._needsRerender = !1), + (this._active = !0), + this.isZooming() || (this._zooming = !0), + this._finishTimeout && + (clearTimeout(this._finishTimeout), delete this._finishTimeout)); + let t = Cl.mousePos(this._map.getCanvas(), e), + n = this._tr; + ((this._aroundPoint = this._aroundCenter + ? n.transform.locationToScreenPoint(pr.convert(n.center)) + : t), + this._needsRerender || + ((this._needsRerender = !0), this._triggerRenderFrame())); + } + renderFrame() { + if ( + !this._needsRerender || + ((this._needsRerender = !1), !this.isActive()) + ) + return; + let e = this._tr.transform; + if (typeof this._lastExpectedZoom == "number") { + let i = e.zoom - this._lastExpectedZoom; + (typeof this._startZoom == "number" && (this._startZoom += i), + typeof this._targetZoom == "number" && (this._targetZoom += i)); + } + if (this._delta !== 0) { + let i = + this._type === "wheel" && Math.abs(this._delta) > Zun + ? this._wheelZoomRate + : this._defaultZoomRate, + s = 2 / (1 + Math.exp(-Math.abs(this._delta * i))); + this._delta < 0 && s !== 0 && (s = 1 / s); + let l = + typeof this._targetZoom == "number" + ? km(this._targetZoom) + : e.scale, + c = e.applyConstrain(e.getCameraLngLat(), Zp(l * s)).zoom, + u = this._map.getZoomSnap(); + if (this._type === "wheel" && u > 0) { + let d = P0(e.zoom, u); + this._targetZoom = P0(c, u, c - d); + } else this._targetZoom = c; + (this._type === "wheel" && + ((this._startZoom = e.zoom), + (this._easing = this._smoothOutEasing(200))), + (this._delta = 0)); + } + let t = typeof this._targetZoom == "number" ? this._targetZoom : e.zoom, + n = this._startZoom, + r = this._easing, + o = !1, + a; + if (this._type === "wheel" && n && r) { + let i = vi() - this._lastWheelEventTime, + s = Math.min((i + 5) / 200, 1), + l = r(s); + ((a = Hs.number(n, t, l)), + s < 1 ? (this._needsRerender = !0) : (o = !0)); + } else ((a = t), (o = !0)); + return ( + (this._active = !0), + o && + ((this._active = !1), + (this._finishTimeout = setTimeout(() => { + ((this._zooming = !1), + this._triggerRenderFrame(), + delete this._targetZoom, + delete this._lastExpectedZoom, + delete this._finishTimeout); + }, 200))), + (this._lastExpectedZoom = a), + { + noInertia: !0, + needsRenderFrame: !o, + zoomDelta: a - e.zoom, + around: this._aroundPoint, + originalEvent: this._lastWheelEvent, + } + ); + } + _smoothOutEasing(e) { + let t = wfe; + if (this._prevEase) { + let n = this._prevEase, + r = (vi() - n.start) / n.duration, + o = n.easing(r + 0.01) - n.easing(r), + a = (0.27 / Math.sqrt(o * o + 0.0001)) * 0.01, + i = Math.sqrt(0.0729 - a * a); + t = Afe(a, i, 0.25, 1); + } + return ((this._prevEase = { start: vi(), duration: e, easing: t }), t); + } + reset() { + ((this._active = !1), + (this._zooming = !1), + delete this._targetZoom, + delete this._lastExpectedZoom, + this._finishTimeout && + (clearTimeout(this._finishTimeout), delete this._finishTimeout)); + } + }, + Nkr = class { + constructor(e, t) { + ((this._clickZoom = e), (this._tapZoom = t)); + } + enable() { + (this._clickZoom.enable(), this._tapZoom.enable()); + } + disable() { + (this._clickZoom.disable(), this._tapZoom.disable()); + } + isEnabled() { + return this._clickZoom.isEnabled() && this._tapZoom.isEnabled(); + } + isActive() { + return this._clickZoom.isActive() || this._tapZoom.isActive(); + } + }, + zkr = class { + constructor(e, t) { + ((this._tr = t), this.reset()); + } + reset() { + this._active = !1; + } + dblclick(e, t) { + return ( + e.preventDefault(), + { + cameraAnimation: (n) => { + n.easeTo( + { + duration: 300, + zoom: P0( + this._tr.zoom + (e.shiftKey ? -1 : 1), + n.getZoomSnap(), + ), + around: this._tr.transform.isPointOnMapSurface(t) + ? this._tr.unproject(t) + : void 0, + }, + { originalEvent: e }, + ); + }, + } + ); + } + enable() { + this._enabled = !0; + } + disable() { + ((this._enabled = !1), this.reset()); + } + isEnabled() { + return this._enabled; + } + isActive() { + return this._active; + } + }, + _kr = class { + constructor() { + ((this._tap = new cze({ numTouches: 1, numTaps: 1 })), + (this._zoomRate = 1), + this.reset()); + } + setZoomRate(e) { + this._zoomRate = e ?? 1; + } + reset() { + ((this._active = !1), + delete this._swipePoint, + delete this._swipeTouch, + delete this._tapTime, + delete this._tapPoint, + this._tap.reset()); + } + touchstart(e, t, n) { + if (!this._swipePoint) + if (!this._tapTime) this._tap.touchstart(e, t, n); + else { + let r = t[0], + o = e.timeStamp - this._tapTime < 500, + a = this._tapPoint.dist(r) < 30; + !o || !a + ? this.reset() + : n.length > 0 && + ((this._swipePoint = r), (this._swipeTouch = n[0].identifier)); + } + } + touchmove(e, t, n) { + if (!this._tapTime) this._tap.touchmove(e, t, n); + else if (this._swipePoint) { + if (n[0].identifier !== this._swipeTouch) return; + let r = t[0], + o = r.y - this._swipePoint.y; + return ( + (this._swipePoint = r), + e.preventDefault(), + (this._active = !0), + { zoomDelta: (o / 128) * this._zoomRate } + ); + } + } + touchend(e, t, n) { + if (this._tapTime) this._swipePoint && n.length === 0 && this.reset(); + else { + let r = this._tap.touchend(e, t, n); + r && ((this._tapTime = e.timeStamp), (this._tapPoint = r)); + } + } + touchcancel() { + this.reset(); + } + enable() { + this._enabled = !0; + } + disable() { + ((this._enabled = !1), this.reset()); + } + isEnabled() { + return this._enabled; + } + isActive() { + return this._active; + } + }, + Hkr = class { + constructor(e, t, n) { + ((this._el = e), (this._mousePan = t), (this._touchPan = n)); + } + enable(e) { + ((this._inertiaOptions = e || {}), + this._mousePan.enable(), + this._touchPan.enable(), + this._el.classList.add("maplibregl-touch-drag-pan")); + } + disable() { + (this._mousePan.disable(), + this._touchPan.disable(), + this._el.classList.remove("maplibregl-touch-drag-pan")); + } + isEnabled() { + return this._mousePan.isEnabled() && this._touchPan.isEnabled(); + } + isActive() { + return this._mousePan.isActive() || this._touchPan.isActive(); + } + }, + Vkr = class { + constructor(e, t, n, r) { + ((this._pitchWithRotate = e.pitchWithRotate), + (this._rollEnabled = e.rollEnabled), + (this._mouseRotate = t), + (this._mousePitch = n), + (this._mouseRoll = r)); + } + enable() { + (this._mouseRotate.enable(), + this._pitchWithRotate && this._mousePitch.enable(), + this._rollEnabled && this._mouseRoll.enable()); + } + disable() { + (this._mouseRotate.disable(), + this._mousePitch.disable(), + this._mouseRoll.disable()); + } + isEnabled() { + return ( + this._mouseRotate.isEnabled() && + (!this._pitchWithRotate || this._mousePitch.isEnabled()) && + (!this._rollEnabled || this._mouseRoll.isEnabled()) + ); + } + isActive() { + return ( + this._mouseRotate.isActive() || + this._mousePitch.isActive() || + this._mouseRoll.isActive() + ); + } + }, + Gkr = class { + constructor(e, t, n, r) { + ((this._el = e), + (this._touchZoom = t), + (this._touchRotate = n), + (this._tapDragZoom = r), + (this._rotationDisabled = !1), + (this._enabled = !0)); + } + enable(e) { + (this._touchZoom.enable(e), + this._rotationDisabled || this._touchRotate.enable(e), + this._tapDragZoom.enable(), + this._el.classList.add("maplibregl-touch-zoom-rotate")); + } + disable() { + (this._touchZoom.disable(), + this._touchRotate.disable(), + this._tapDragZoom.disable(), + this._el.classList.remove("maplibregl-touch-zoom-rotate")); + } + isEnabled() { + return ( + this._touchZoom.isEnabled() && + (this._rotationDisabled || this._touchRotate.isEnabled()) && + this._tapDragZoom.isEnabled() + ); + } + isActive() { + return ( + this._touchZoom.isActive() || + this._touchRotate.isActive() || + this._tapDragZoom.isActive() + ); + } + setZoomRate(e) { + (this._touchZoom.setZoomRate(e), this._tapDragZoom.setZoomRate(e)); + } + setZoomThreshold(e) { + this._touchZoom.setZoomThreshold(e); + } + disableRotation() { + ((this._rotationDisabled = !0), this._touchRotate.disable()); + } + enableRotation() { + ((this._rotationDisabled = !1), + this._touchZoom.isEnabled() && this._touchRotate.enable()); + } + }, + qkr = class { + constructor(e, t) { + ((this._bypassKey = navigator.userAgent.includes("Mac") + ? "metaKey" + : "ctrlKey"), + (this._map = e), + (this._options = t), + (this._enabled = !1)); + } + isActive() { + return !1; + } + reset() {} + _setupUI() { + if (this._container) return; + let e = this._map.getCanvasContainer(); + (e.classList.add("maplibregl-cooperative-gestures"), + (this._container = Cl.create( + "div", + "maplibregl-cooperative-gesture-screen", + e, + ))); + let t = this._map._getUIString( + "CooperativeGesturesHandler.WindowsHelpText", + ); + this._bypassKey === "metaKey" && + (t = this._map._getUIString("CooperativeGesturesHandler.MacHelpText")); + let n = this._map._getUIString( + "CooperativeGesturesHandler.MobileHelpText", + ), + r = document.createElement("div"); + ((r.className = "maplibregl-desktop-message"), + (r.textContent = t), + this._container.appendChild(r)); + let o = document.createElement("div"); + ((o.className = "maplibregl-mobile-message"), + (o.textContent = n), + this._container.appendChild(o), + this._container.setAttribute("aria-hidden", "true")); + } + _destroyUI() { + (this._container && + (this._container.remove(), + this._map + .getCanvasContainer() + .classList.remove("maplibregl-cooperative-gestures")), + delete this._container); + } + enable() { + (this._setupUI(), (this._enabled = !0)); + } + disable() { + ((this._enabled = !1), this._destroyUI()); + } + isEnabled() { + return this._enabled; + } + isBypassed(e) { + return e[this._bypassKey]; + } + notifyGestureBlocked(e, t) { + this._enabled && + (this._map.fire( + new Yp("cooperativegestureprevented", { + gestureType: e, + originalEvent: t, + }), + ), + this._container.classList.add("maplibregl-show"), + setTimeout(() => { + this._container.classList.remove("maplibregl-show"); + }, 100)); + } + }, + Zkr = class { + constructor(e) { + this._camera = e; + } + get transform() { + return this._camera._requestedCameraState || this._camera.transform; + } + get center() { + return { lng: this.transform.center.lng, lat: this.transform.center.lat }; + } + get zoom() { + return this.transform.zoom; + } + get pitch() { + return this.transform.pitch; + } + get bearing() { + return this.transform.bearing; + } + unproject(e) { + return this.transform.screenPointToLocation( + ft.convert(e), + this._camera.terrain, + ); + } + }, + vme = (e) => e.zoom || e.drag || e.roll || e.pitch || e.rotate, + Qkr, + Xkr = class { + get _ownerDocument() { + return this._el?.ownerDocument || document; + } + get _ownerWindow() { + return this._el?.ownerDocument?.defaultView || window; + } + constructor(e, t, n) { + ((this._terrainGesture = { inFlight: !1, anchorElevation: null }), + (this.handleWindowEvent = (o) => { + this.handleEvent(o, `${o.type}Window`); + }), + (this.handleEvent = (o, a) => { + if (o.type === "blur") { + this.stop(!0); + return; + } + this._updatingCamera = !0; + let i = o.type === "renderFrame" ? void 0 : o, + s = { needsRenderFrame: !1 }, + l = {}, + c = {}; + for (let { handlerName: p, handler: f, allowed: m } of this + ._handlers) { + if (!f.isEnabled()) continue; + let g; + if (this._blockedByActive(c, m, p)) f.reset(); + else if (f[a || o.type]) { + if (Iin(o, a || o.type)) { + let v = Cl.mousePos(this._map.getCanvas(), o); + g = f[a || o.type](o, v); + } else if (Ein(o, a || o.type)) { + let v = o.touches, + y = this._getMapTouches(v), + x = Cl.touchPos(this._map.getCanvas(), y); + g = f[a || o.type](o, x, y); + } else Tin(a || o.type) || (g = f[a || o.type](o)); + (this.mergeHandlerResult(s, l, g, p, i), + g?.needsRenderFrame && this._triggerRenderFrame()); + } + (g || f.isActive()) && (c[p] = f); + } + let u = {}; + for (let p in this._previousActiveHandlers) c[p] || (u[p] = i); + ((this._previousActiveHandlers = c), + (Object.keys(u).length || KNe(s)) && + (this._changes.push([s, l, u]), this._triggerRenderFrame()), + (Object.keys(c).length || KNe(s)) && this._camera.stop(!0), + (this._updatingCamera = !1)); + let { cameraAnimation: d } = s; + d && + (this._inertia.clear(), + this._fireEvents({}, {}, !0), + (this._changes = []), + d(this._map)); + }), + (this._map = e), + (this._camera = t), + (this._transformProvider = new Zkr(this._camera)), + (this._el = this._map.getCanvasContainer()), + (this._handlers = []), + (this._handlersById = {}), + (this._changes = []), + (this._inertia = new ykr(e)), + (this._bearingSnap = n.bearingSnap), + (this._previousActiveHandlers = {}), + (this._eventsInProgress = {}), + this._addDefaultHandlers(n)); + let r = this._el; + this._listeners = [ + [r, "touchstart", { passive: !0 }], + [r, "touchmove", { passive: !1 }], + [r, "touchend", void 0], + [r, "touchcancel", void 0], + [r, "mousedown", void 0], + [r, "mousemove", void 0], + [r, "mouseup", void 0], + [this._ownerDocument, "mousemove", { capture: !0 }], + [this._ownerDocument, "mouseup", void 0], + [r, "mouseover", void 0], + [r, "mouseout", void 0], + [r, "dblclick", void 0], + [r, "click", void 0], + [r, "keydown", { capture: !1 }], + [r, "keyup", void 0], + [r, "wheel", { passive: !1 }], + [r, "contextmenu", void 0], + [this._ownerWindow, "blur", void 0], + ]; + for (let [o, a, i] of this._listeners) + o.addEventListener( + a, + o === this._ownerDocument ? this.handleWindowEvent : this.handleEvent, + i, + ); + } + destroy() { + for (let [e, t, n] of this._listeners) + e.removeEventListener( + t, + e === this._ownerDocument ? this.handleWindowEvent : this.handleEvent, + n, + ); + } + _addDefaultHandlers(e) { + let t = this._map, + n = t.getCanvasContainer(); + this._add("mapEvent", new vkr(t, e)); + let r = (t.boxZoom = new xkr(t, e, this._transformProvider)); + (this._add("boxZoom", r), e.interactive && e.boxZoom && r.enable()); + let o = (t.cooperativeGestures = new qkr(t, e.cooperativeGestures)); + (this._add("cooperativeGestures", o), + e.cooperativeGestures && o.enable()); + let a = new Skr(t, this._transformProvider), + i = new zkr(t, this._transformProvider); + ((t.doubleClickZoom = new Nkr(i, a)), + this._add("tapZoom", a), + this._add("clickZoom", i), + e.interactive && e.doubleClickZoom && t.doubleClickZoom.enable()); + let s = new _kr(); + this._add("tapDragZoom", s); + let l = (t.touchPitch = new Lkr(t)); + (this._add("touchPitch", l), + e.interactive && e.touchPitch && t.touchPitch.enable(e.touchPitch)); + let c = () => this._camera.transform.centerPoint, + u = Tkr(e, c), + d = kkr(e), + p = Rkr(e, c); + ((t.dragRotate = new Vkr(e, u, d, p)), + this._add("mouseRotate", u, ["mousePitch"]), + this._add("mousePitch", d, ["mouseRotate", "mouseRoll"]), + this._add("mouseRoll", p, ["mousePitch"]), + e.interactive && e.dragRotate && t.dragRotate.enable()); + let f = Ikr(e), + m = new Pkr(e, t); + ((t.dragPan = new Hkr(n, f, m)), + this._add("mousePan", f), + this._add("touchPan", m, ["touchZoom", "touchRotate"]), + e.interactive && e.dragPan && t.dragPan.enable(e.dragPan)); + let g = new Dkr(), + v = new Mkr(); + ((t.touchZoomRotate = new Gkr(n, v, g, s)), + this._add("touchRotate", g, ["touchPan", "touchZoom"]), + this._add("touchZoom", v, ["touchPan", "touchRotate"]), + e.interactive && + e.touchZoomRotate && + t.touchZoomRotate.enable(e.touchZoomRotate), + this._add("blockableMapEvent", new bkr(t, e), ["touchPan"])); + let y = (t.scrollZoom = new Ukr( + t, + () => this._triggerRenderFrame(), + this._transformProvider, + )); + (this._add("scrollZoom", y, ["mousePan"]), + e.interactive && e.scrollZoom && t.scrollZoom.enable(e.scrollZoom)); + let x = (t.keyboard = new Okr(t, this._transformProvider)); + (this._add("keyboard", x), + e.interactive && e.keyboard && t.keyboard.enable()); + } + _add(e, t, n) { + (this._handlers.push({ handlerName: e, handler: t, allowed: n }), + (this._handlersById[e] = t)); + } + stop(e) { + if (!this._updatingCamera) { + for (let { handler: t } of this._handlers) t.reset(); + (this._inertia.clear(), + this._fireEvents({}, {}, e), + (this._changes = [])); + } + } + isActive() { + for (let { handler: e } of this._handlers) if (e.isActive()) return !0; + return !1; + } + isZooming() { + return !!this._eventsInProgress.zoom || this._map.scrollZoom.isZooming(); + } + isRotating() { + return !!this._eventsInProgress.rotate; + } + isMoving() { + return !!vme(this._eventsInProgress) || this.isZooming(); + } + _blockedByActive(e, t, n) { + for (let r in e) if (r !== n && !t?.includes(r)) return !0; + return !1; + } + _getMapTouches(e) { + let t = []; + for (let n of e) { + let r = n.target; + this._el.contains(r) && t.push(n); + } + return t; + } + mergeHandlerResult(e, t, n, r, o) { + if (!n) return; + rr(e, n); + let a = { handlerName: r, originalEvent: n.originalEvent || o }; + (n.zoomDelta !== void 0 && (t.zoom = a), + n.panDelta !== void 0 && (t.drag = a), + n.rollDelta !== void 0 && (t.roll = a), + n.pitchDelta !== void 0 && (t.pitch = a), + n.bearingDelta !== void 0 && (t.rotate = a)); + } + _applyChanges() { + let e = {}, + t = {}, + n = {}; + for (let [r, o, a] of this._changes) + (r.panDelta && + (e.panDelta = (e.panDelta || new ft(0, 0))._add(r.panDelta)), + r.zoomDelta && (e.zoomDelta = (e.zoomDelta || 0) + r.zoomDelta), + r.bearingDelta && + (e.bearingDelta = (e.bearingDelta || 0) + r.bearingDelta), + r.pitchDelta && (e.pitchDelta = (e.pitchDelta || 0) + r.pitchDelta), + r.rollDelta && (e.rollDelta = (e.rollDelta || 0) + r.rollDelta), + r.around !== void 0 && (e.around = r.around), + r.pinchAround !== void 0 && (e.pinchAround = r.pinchAround), + r.noInertia && (e.noInertia = r.noInertia), + rr(t, o), + rr(n, a)); + (this._updateMapTransform(e, t, n), (this._changes = [])); + } + _updateMapTransform(e, t, n) { + let r = this._map.terrain; + if (!KNe(e)) { + this._fireEvents(t, n, !0); + return; + } + let o = this._camera.getTransformForUpdate(); + this._camera.stop(!0); + let { + panDelta: a, + zoomDelta: i, + bearingDelta: s, + pitchDelta: l, + rollDelta: c, + } = e, + { around: u, aroundOnSurface: d } = this._resolveAround(e, r, o), + p = r ? this._terrainGestureElevation(r, u, d, o, t) : void 0, + f = { + panDelta: a, + zoomDelta: i, + rollDelta: c, + pitchDelta: l, + bearingDelta: s, + around: u, + aroundElevation: p, + }; + this._camera.cameraHelper.useGlobeControls && + !o.isPointOnMapSurface(u) && + (u = o.centerPoint); + let m = this._computePreZoomAroundLoc(o, u, a, p); + (this._handleMapControls({ + terrain: r, + tr: o, + deltasForHelper: f, + preZoomAroundLoc: m, + combinedEventsInProgress: t, + panDelta: a, + }), + this._camera.applyUpdatedTransform(o), + this._map._update(), + e.noInertia || this._inertia.record(e), + this._fireEvents(t, n, !0)); + } + _resolveAround(e, t, n) { + let r = e.pinchAround === void 0 ? e.around : e.pinchAround; + return ( + (r ||= this._camera.transform.centerPoint), + t && !n.isPointOnMapSurface(r) + ? { around: n.centerPoint, aroundOnSurface: !1 } + : { around: r, aroundOnSurface: !0 } + ); + } + _terrainGestureElevation(e, t, n, r, o) { + if (!n) return; + if (this._terrainGesture.anchorElevation === null && (o.drag || o.zoom)) { + let i = r.screenTerrainPointToMercatorCoordinate(t, e); + this._terrainGesture.anchorElevation = i ? i.z : void 0; + } + let a = this._terrainGesture.anchorElevation; + if ( + a != null && + !(t.distSqr(r.centerPoint) < 0.01) && + !(a - r.elevation >= 0.9 * (r.getCameraAltitude() - r.elevation)) + ) + return a; + } + _computePreZoomAroundLoc(e, t, n, r) { + if (t.distSqr(e.centerPoint) < 0.01) return e.center; + let o = n ? t.sub(n) : t; + return r === void 0 + ? e.screenPointToLocation(o) + : e.screenPointToLocationAtElevation(o, r); + } + _handleMapControls({ + terrain: e, + tr: t, + deltasForHelper: n, + preZoomAroundLoc: r, + combinedEventsInProgress: o, + panDelta: a, + }) { + let i = this._camera.cameraHelper; + if ( + (i.handleMapControlsRollPitchBearingZoom(n, t), + !e && !i.useGlobeControls && !t.isPointOnMapSurface(n.around)) + ) { + a && t.setCenter(t.screenPointToLocation(t.centerPoint.sub(a))); + return; + } + if (!e) { + i.handleMapControlsPan(n, t, r); + return; + } + if (!this._terrainGesture.inFlight) { + ((this._terrainGesture.inFlight = !0), + (this._camera.elevationFreeze = !0), + i.handleMapControlsPan(n, t, r)); + return; + } + if (!i.useGlobeControls && n.aroundElevation === void 0 && o.drag && a) { + t.setCenter(t.screenPointToLocation(t.centerPoint.sub(a))); + return; + } + i.handleMapControlsPan(n, t, r); + } + _fireEvents(e, t, n) { + let r = vme(this._eventsInProgress), + o = vme(e), + a = {}; + for (let u in e) { + let { originalEvent: d } = e[u]; + (this._eventsInProgress[u] || (a[`${u}start`] = d), + (this._eventsInProgress[u] = e[u])); + } + !r && o && this._fireEvent("movestart", o.originalEvent); + for (let u in a) this._fireEvent(u, a[u]); + o && this._fireEvent("move", o.originalEvent); + for (let u in e) { + let { originalEvent: d } = e[u]; + this._fireEvent(u, d); + } + let i = {}, + s; + for (let u in this._eventsInProgress) { + let { handlerName: d, originalEvent: p } = this._eventsInProgress[u]; + this._handlersById[d].isActive() || + (delete this._eventsInProgress[u], + (s = t[d] || p), + (i[`${u}end`] = s)); + } + for (let u in i) this._fireEvent(u, i[u]); + let l = vme(this._eventsInProgress), + c = (r || o) && !l; + if (c && this._terrainGesture.inFlight) { + ((this._camera.elevationFreeze = !1), + (this._terrainGesture = { inFlight: !1, anchorElevation: null })); + let u = this._camera.getTransformForUpdate(); + (this._map.getCenterClampedToGround() && + u.recalculateZoomAndCenter(this._map.terrain), + this._camera.applyUpdatedTransform(u)); + } + if (n && c) { + this._updatingCamera = !0; + let u = this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions), + d = (p) => p !== 0 && -this._bearingSnap < p && p < this._bearingSnap; + (u && (u.essential || !M0.prefersReducedMotion) + ? (d(u.bearing || this._map.getBearing()) && (u.bearing = 0), + (u.freezeElevation = !0), + this._map.easeTo(u, { originalEvent: s })) + : (this._fireEvent("moveend", s), + d(this._map.getBearing()) && this._map.resetNorth()), + (this._updatingCamera = !1)); + } + } + _fireEvent(e, t) { + this._camera.fire(new hr(e, t ? { originalEvent: t } : {})); + } + _requestFrame() { + return ( + this._map.triggerRepaint(), + this._map._renderTaskQueue.add((e) => { + (delete this._frameId, + this.handleEvent(new Qkr("renderFrame", { timeStamp: e })), + this._applyChanges()); + }) + ); + } + _triggerRenderFrame() { + this._frameId === void 0 && (this._frameId = this._requestFrame()); + } + }, + Wkr, + Kdn, + Ykr = class { + constructor(e = Kdn) { + ((this._toggleAttribution = () => { + this._container.classList.contains("maplibregl-compact") && + (this._container.classList.contains("maplibregl-compact-show") + ? (this._container.setAttribute("open", ""), + this._container.classList.remove("maplibregl-compact-show")) + : (this._container.classList.add("maplibregl-compact-show"), + this._container.removeAttribute("open"))); + }), + (this._updateData = (t) => { + t && + (t.type === "terrain" || + t.dataType === "style" || + (t.dataType === "source" && + (t.sourceDataType === "metadata" || + t.sourceDataType === "visibility"))) && + this._updateAttributions(); + }), + (this._updateCompact = () => { + this._map.getCanvasContainer().offsetWidth <= 640 || this._compact + ? this._compact === !1 + ? this._container.setAttribute("open", "") + : !this._container.classList.contains("maplibregl-compact") && + !this._container.classList.contains( + "maplibregl-attrib-empty", + ) && + (this._container.setAttribute("open", ""), + this._container.classList.add( + "maplibregl-compact", + "maplibregl-compact-show", + )) + : (this._container.setAttribute("open", ""), + this._container.classList.contains("maplibregl-compact") && + this._container.classList.remove( + "maplibregl-compact", + "maplibregl-compact-show", + )); + }), + (this._updateCompactMinimize = () => { + this._container.classList.contains("maplibregl-compact") && + this._container.classList.contains("maplibregl-compact-show") && + this._container.classList.remove("maplibregl-compact-show"); + }), + (this.options = e)); + } + getDefaultPosition() { + return "bottom-right"; + } + onAdd(e) { + return ( + (this._map = e), + (this._compact = this.options.compact), + (this._container = Cl.create( + "details", + "maplibregl-ctrl maplibregl-ctrl-attrib", + )), + (this._compactButton = Cl.create( + "summary", + "maplibregl-ctrl-attrib-button", + this._container, + )), + this._compactButton.addEventListener("click", this._toggleAttribution), + this._setElementTitle(this._compactButton, "ToggleAttribution"), + (this._innerContainer = Cl.create( + "div", + "maplibregl-ctrl-attrib-inner", + this._container, + )), + this._updateAttributions(), + this._updateCompact(), + this._map.on("styledata", this._updateData), + this._map.on("sourcedata", this._updateData), + this._map.on("terrain", this._updateData), + this._map.on("resize", this._updateCompact), + this._map.on("drag", this._updateCompactMinimize), + this._container + ); + } + onRemove() { + (this._container.remove(), + this._map.off("styledata", this._updateData), + this._map.off("sourcedata", this._updateData), + this._map.off("terrain", this._updateData), + this._map.off("resize", this._updateCompact), + this._map.off("drag", this._updateCompactMinimize), + (this._map = void 0), + (this._compact = void 0), + (this._attribHTML = void 0)); + } + _setElementTitle(e, t) { + let n = this._map._getUIString(`AttributionControl.${t}`); + ((e.title = n), e.setAttribute("aria-label", n)); + } + _updateAttributions() { + if (!this._map.style) return; + let e = []; + if ( + (this.options.customAttribution && + (Array.isArray(this.options.customAttribution) + ? (e = e.concat( + this.options.customAttribution.map((r) => + typeof r == "string" ? r : "", + ), + )) + : typeof this.options.customAttribution == "string" && + e.push(this.options.customAttribution)), + this._map.style.stylesheet) + ) { + let r = this._map.style.stylesheet; + ((this.styleOwner = r.owner), (this.styleId = r.id)); + } + let t = this._map.style.tileManagers; + for (let r in t) { + let o = t[r]; + if (o.used || o.usedForTerrain) { + let a = o.getSource(); + a.attribution && !e.includes(a.attribution) && e.push(a.attribution); + } + } + ((e = e.filter((r) => String(r).trim())), + e.sort((r, o) => r.length - o.length), + (e = e.filter((r, o) => { + for (let a = o + 1; a < e.length; a++) + if (e[a].includes(r)) return !1; + return !0; + }))); + let n = e.join(" | "); + n !== this._attribHTML && + ((this._attribHTML = n), + e.length + ? (this._innerContainer.replaceChildren(Cl.sanitize(n)), + this._container.classList.remove("maplibregl-attrib-empty")) + : this._container.classList.add("maplibregl-attrib-empty"), + this._updateCompact(), + (this._editLink = null)); + } + }, + Kkr = class { + constructor(e = {}) { + ((this._updateCompact = () => { + let t = this._container.children; + if (t.length) { + let n = t[0]; + this._map.getCanvasContainer().offsetWidth <= 640 || this._compact + ? this._compact !== !1 && n.classList.add("maplibregl-compact") + : n.classList.remove("maplibregl-compact"); + } + }), + (this.options = e)); + } + getDefaultPosition() { + return "bottom-left"; + } + onAdd(e) { + ((this._map = e), + (this._compact = this.options?.compact), + (this._container = Cl.create("div", "maplibregl-ctrl"))); + let t = Cl.create("a", "maplibregl-ctrl-logo"); + return ( + (t.target = "_blank"), + (t.rel = "noopener nofollow"), + (t.href = "https://maplibre.org/"), + t.setAttribute( + "aria-label", + this._map._getUIString("LogoControl.Title"), + ), + t.setAttribute("rel", "noopener nofollow"), + this._container.appendChild(t), + (this._container.style.display = "block"), + this._map.on("resize", this._updateCompact), + this._updateCompact(), + this._container + ); + } + onRemove() { + (this._container.remove(), + this._map.off("resize", this._updateCompact), + (this._map = void 0), + (this._compact = void 0)); + } + }, + Jkr = class { + constructor() { + ((this._queue = []), + (this._id = 0), + (this._cleared = !1), + (this._currentlyRunning = !1)); + } + add(e) { + let t = ++this._id; + return (this._queue.push({ callback: e, id: t, cancelled: !1 }), t); + } + remove(e) { + let t = this._currentlyRunning, + n = t ? this._queue.concat(t) : this._queue; + for (let r of n) + if (r.id === e) { + r.cancelled = !0; + return; + } + } + run(e = 0) { + if (this._currentlyRunning) + throw Error("Attempting to run(), but is already running."); + let t = (this._currentlyRunning = this._queue); + this._queue = []; + let n = !1, + r; + for (let o of t) + if (!o.cancelled) { + try { + o.callback(e); + } catch (a) { + n || ((n = !0), (r = a)); + } + if (this._cleared) break; + } + if (((this._cleared = !1), (this._currentlyRunning = !1), n)) throw r; + } + clear() { + (this._currentlyRunning && (this._cleared = !0), (this._queue = [])); + } + }, + Qun, + jkr = class { + constructor(e, t, n, r) { + ((this._tileKeys = e + .map((o) => o.key) + .sort() + .join()), + (this._revision = t), + (this._zoom = n), + (this._visibleLayerIds = r)); + } + difference(e) { + return this._revision === e?._revision + ? this._visibleLayerIds === e._visibleLayerIds + ? this._tileKeys === e._tileKeys + ? this._zoom === e._zoom + ? "none" + : "zoom" + : "sourceTiles" + : "visibleLayers" + : "revision"; + } + }, + tB, + $kr = class { + constructor(e, t) { + ((this.needsFollowUpFrame = !1), + (this.painter = e), + (this.terrain = t), + (this.rttSize = t.tileManager.tileSize * t.qualityFactor)); + } + getTexture(e) { + return e.getRTT(this._stacks.length - 1).texture; + } + prepareForRender(e, t) { + let n = t !== this._lastPrepareZoom; + ((this._lastPrepareZoom = t), + (this._stacks = []), + (this._prevType = null), + (this._rttTiles = []), + (this._renderableTiles = this.terrain.tileManager.getRenderableTiles()), + (this._renderableLayerIds = e._order.filter( + (s) => !e._layers[s].isHidden(t), + ))); + let r = this._renderableLayerIds.join(), + o = new Set(); + for (let s of this._renderableLayerIds) { + let l = e._layers[s], + c = l.source; + c && tB[l.type] && o.add(c); + } + ((this._coordsAscending = {}), (this._rttFingerprints = {})); + for (let s of o) { + let l = e.tileManagers[s]; + if (!l) continue; + this._coordsAscending[s] = {}; + let c = this._coordsAscending[s], + u = l.getSource(), + d = u instanceof ZQ ? u.terrainTileRanges : null; + for (let m of l.getVisibleCoordinates()) { + let g = this.terrain.tileManager.getTerrainCoords(m, d); + for (let v in g) ((c[v] ||= []), c[v].push(g[v])); + } + this._rttFingerprints[s] = {}; + let p = this._rttFingerprints[s], + f = l.getState().revision; + for (let m in c) p[m] = new jkr(c[m], f, t, r); + } + this.needsFollowUpFrame = !1; + let a = n || this.painter.options.moving, + i = !1; + for (let s of this._renderableTiles) { + let l = this._textureDifference(s); + l !== "none" && + ((l === "zoom" && a) || (l === "visibleLayers" && n) + ? (this.needsFollowUpFrame = !0) + : l === "zoom" || l === "sourceTiles" + ? (i + ? (this.needsFollowUpFrame = !0) + : s.releaseRTT(this.painter), + (i = !0)) + : s.releaseRTT(this.painter)); + } + } + _textureDifference(e) { + let t = "none"; + for (let n in this._rttFingerprints) { + let r = this._rttFingerprints[n][e.tileID.key]; + if (!r) continue; + let o = r.difference(e.rttFingerprint[n]); + Qun.indexOf(o) > Qun.indexOf(t) && (t = o); + } + return t; + } + renderLayer(e, t) { + if (e.isHidden(this.painter.transform.zoom)) return !1; + let n = e.type, + r = this.painter, + o = + this._renderableLayerIds[this._renderableLayerIds.length - 1] === + e.id; + if ( + tB[n] && + ((!this._prevType || !tB[this._prevType]) && this._stacks.push([]), + (this._prevType = n), + this._stacks[this._stacks.length - 1].push(e.id), + !o) + ) + return !0; + if (tB[this._prevType] || (tB[n] && o)) { + this._prevType = n; + let a = this._stacks.length - 1, + i = this._stacks[a] || []; + t.isRenderingToTexture = !0; + for (let s of this._renderableTiles) { + if ((this._rttTiles.push(s), s.getRTT(a))) continue; + let l = s.acquireRTT(r, a, this.rttSize); + (r.bindRTT(l), + r.context.clear({ color: Kr.transparent, stencil: 0 }), + (r.currentStencilSource = void 0)); + for (let c of i) { + let u = r.style._layers[c], + d = u.source + ? this._coordsAscending[u.source][s.tileID.key] + : [s.tileID]; + (r.context.viewport.set([0, 0, this.rttSize, this.rttSize]), + r.renderTileClippingMasks(u, d), + r.renderLayer(r, r.style.tileManagers[u.source], u, d, t), + u.source && + (s.rttFingerprint[u.source] = + this._rttFingerprints[u.source][s.tileID.key])); + } + l.texture.generateMipmap(); + } + return ( + (t.isRenderingToTexture = !1), + okr(this.painter, this.terrain, this._rttTiles, t), + (this._rttTiles = []), + tB[n] + ); + } + return !1; + } + }, + eRr, + tRr, + Xun, + nRr, + Jdn, + Wun, + jdn = "#3FB1CE", + JNe, + nB, + sRr, + lRr, + l1s; +var $dn = P(() => { + Lcn(); + ((M0 = { + frame(e, t, n, r) { + let o = r || window, + a = o.requestAnimationFrame((s) => { + (i(), t(s)); + }), + { unsubscribe: i } = GZ( + e.signal, + "abort", + () => { + (i(), o.cancelAnimationFrame(a), n(new ZL(e.signal.reason))); + }, + !1, + ); + }, + frameAsync(e, t) { + return new Promise((n, r) => { + this.frame(e, n, r, t); + }); + }, + getImageData(e, t = 0) { + return this.getImageCanvasContext(e).getImageData( + -t, + -t, + e.width + 2 * t, + e.height + 2 * t, + ); + }, + getImageCanvasContext(e) { + let t; + if (dfe() && !cUe()) + t = new OffscreenCanvas(e.width, e.height).getContext("2d", { + willReadFrequently: !0, + }); + else { + let n = window.document.createElement("canvas"); + ((n.width = e.width), + (n.height = e.height), + (t = n.getContext("2d", { willReadFrequently: !0 }))); + } + if (!t) throw Error("failed to create canvas 2d context"); + return (t.drawImage(e, 0, 0, e.width, e.height), t); + }, + resolveURL(e) { + return ((MNe ||= document.createElement("a")), (MNe.href = e), MNe.href); + }, + get hardwareConcurrency() { + return (typeof navigator < "u" && navigator.hardwareConcurrency) || 4; + }, + get prefersReducedMotion() { + return DNe === void 0 + ? matchMedia + ? ((Bcn ??= matchMedia("(prefers-reduced-motion: reduce)")), + Bcn.matches) + : !1 + : DNe; + }, + set prefersReducedMotion(e) { + DNe = e; + }, + }), + (R5r = new (class { + constructor() { + this._frozenAt = null; + } + getCurrentTime() { + return this._frozenAt === null ? performance.now() : this._frozenAt; + } + setNow(e) { + this._frozenAt = e; + } + restoreNow() { + this._frozenAt = null; + } + isFrozen() { + return this._frozenAt !== null; + } + })())); + ((P5r = new Set( + "a.abbr.b.bdi.bdo.br.cite.code.del.div.em.i.img.ins.kbd.li.mark.ol.p.q.s.samp.small.span.strong.sub.sup.time.u.ul.var.wbr".split( + ".", + ), + )), + (M5r = new Set([ + "alt", + "class", + "datetime", + "dir", + "height", + "href", + "hreflang", + "lang", + "referrerpolicy", + "rel", + "role", + "src", + "target", + "title", + "translate", + "type", + "width", + ])), + (D5r = new Set(["href", "src"])), + (L5r = new Set(["http:", "https:", "mailto:"]))); + Cl = class e { + static { + this.docStyle = + typeof window < "u" && window.document?.documentElement.style; + } + static { + this.selectProp = + !e.docStyle || "userSelect" in e.docStyle + ? "userSelect" + : "webkitUserSelect"; + } + static create(t, n, r) { + let o = window.document.createElement(t); + return (n !== void 0 && (o.className = n), r && r.appendChild(o), o); + } + static createNS(t, n) { + return window.document.createElementNS(t, n); + } + static disableDrag() { + e.docStyle && + e.selectProp && + ((e.userSelect = e.docStyle[e.selectProp]), + (e.docStyle[e.selectProp] = "none")); + } + static enableDrag() { + e.docStyle && e.selectProp && (e.docStyle[e.selectProp] = e.userSelect); + } + static suppressClickInternal(t) { + (t.preventDefault(), + t.stopPropagation(), + window.removeEventListener("click", e.suppressClickInternal, !0)); + } + static suppressClick() { + (window.addEventListener("click", e.suppressClickInternal, !0), + window.setTimeout(() => { + window.removeEventListener("click", e.suppressClickInternal, !0); + }, 0)); + } + static getScale(t) { + let n = t.getBoundingClientRect(); + return { + x: n.width / t.offsetWidth || 1, + y: n.height / t.offsetHeight || 1, + boundingClientRect: n, + }; + } + static getPoint(t, n, r) { + let o = n.boundingClientRect; + return new ft( + (r.clientX - o.left) / n.x - t.clientLeft, + (r.clientY - o.top) / n.y - t.clientTop, + ); + } + static mousePos(t, n) { + let r = e.getScale(t); + return e.getPoint(t, r, n); + } + static touchPos(t, n) { + let r = [], + o = e.getScale(t); + for (let a of n) r.push(e.getPoint(t, o, a)); + return r; + } + static sanitize(t) { + let n = new DOMParser().parseFromString(t, "text/html").body, + { querySelectorAll: r, remove: o } = LNe(); + for (let i of Array.from(r.call(n, "*"))) + e.isAllowedElement(i) ? e.removeDisallowedAttributes(i) : o.call(i); + let a = document.createDocumentFragment(); + return (a.append(...n.childNodes), a); + } + static isAllowedElement(t) { + let { namespaceURI: n, localName: r } = LNe(); + return n.call(t) === "http://www.w3.org/1999/xhtml" && P5r.has(r.call(t)); + } + static removeDisallowedAttributes(t) { + let { getAttributeNames: n, getAttribute: r, removeAttribute: o } = LNe(); + for (let a of n.call(t)) + e.isAllowedAttribute(a, r.call(t, a)) || o.call(t, a); + } + static isAllowedAttribute(t, n) { + if (!M5r.has(t) && !t.startsWith("aria-")) return !1; + if (!D5r.has(t)) return !0; + try { + return L5r.has(new URL(n, "https://maplibre.invalid/").protocol); + } catch { + return !1; + } + } + }; + ((function (e) { + let t, n, r, o; + ((e.resetRequestQueue = () => { + ((t = []), (n = 0), (r = 0), (o = {})); + }), + (e.addThrottleControl = (d) => { + let p = r++; + return ((o[p] = d), p); + }), + (e.removeThrottleControl = (d) => { + (delete o[d], c()); + })); + let a = () => { + for (let d of Object.keys(o)) if (o[d]()) return !0; + return !1; + }; + async function i(d, p, f, m, g = !0, v) { + let y = await d.transformRequest(p, f); + return (Cfe(m.signal), Xx.getImage(y, m, g, v)); + } + ((e.transformAndGetImage = i), + (e.getImage = (d, p, f = !0, m) => + new Promise((g, v) => { + ((d.headers ||= {}), + (d.headers.accept = "image/webp,*/*"), + rr(d, { type: "image" })); + let y = { + abortController: p, + requestParameters: d, + supportImageRefresh: f, + imageBitmapOptions: m, + state: "queued", + onError: (x) => { + v(x); + }, + onSuccess: (x) => { + g(x); + }, + }; + (t.push(y), c()); + }))); + let s = (d, p) => + typeof createImageBitmap == "function" ? vin(d, p) : bin(d), + l = async (d) => { + d.state = "running"; + let { + requestParameters: p, + supportImageRefresh: f, + imageBitmapOptions: m, + onError: g, + onSuccess: v, + abortController: y, + } = d, + x = + f === !1 && + !m && + !VT(self) && + !AUe(p.url) && + (!p.headers || + Object.keys(p.headers).reduce((w, C) => w && C === "accept", !0)); + n++; + let A = x ? u(p, y) : mQ(p, y); + try { + let w = await A; + (delete d.abortController, + (d.state = "completed"), + w.data instanceof HTMLImageElement || KC(w.data) + ? v(w) + : !w.data || w.data.byteLength === 0 + ? v({ + data: null, + cacheControl: w.cacheControl, + expires: w.expires, + }) + : v({ + data: await s(w.data, m), + cacheControl: w.cacheControl, + expires: w.expires, + })); + } catch (w) { + (delete d.abortController, g(Vp(w))); + } finally { + (n--, c()); + } + }, + c = () => { + let d = a() + ? KT.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME + : KT.MAX_PARALLEL_IMAGE_REQUESTS; + for (let p = n; p < d && t.length > 0; p++) { + let f = t.shift(); + if (f.abortController.signal.aborted) { + p--; + continue; + } + l(f); + } + }, + u = (d, p) => + new Promise((f, m) => { + let g = new Image(), + { url: v, credentials: y } = d; + (y && y === "include" + ? (g.crossOrigin = "use-credentials") + : ((y && y === "same-origin") || !SUe(v)) && + (g.crossOrigin = "anonymous"), + p.signal.addEventListener("abort", () => { + ((g.src = ""), m(new ZL(p.signal.reason))); + }), + (g.fetchPriority = "high"), + (g.onload = () => { + ((g.onerror = g.onload = null), f({ data: g })); + }), + (g.onerror = () => { + ((g.onerror = g.onload = null), + !p.signal.aborted && + m( + Error( + "Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.", + ), + )); + }), + (g.src = v)); + }); + })((Xx ||= {})), + Xx.resetRequestQueue()); + ((Yp = class extends JC {}), + (hr = class extends Yp {}), + (Fcn = class extends Yp { + constructor(e = {}) { + super("style.load", e); + } + }), + (wv = class extends Yp { + constructor(e, t = {}) { + (super(e, t), (this.dataType = "style")); + } + }), + (Gs = class extends Yp { + constructor(e, t = {}) { + (super(e, t), (this.dataType = "source")); + } + }), + (t1 = class extends Yp { + preventDefault() { + this._defaultPrevented = !0; + } + get defaultPrevented() { + return this._defaultPrevented; + } + constructor(e, t, n, r = {}) { + n = n instanceof MouseEvent ? n : new MouseEvent(e, n); + let o = Cl.mousePos(t.getCanvas(), n), + a = t.unproject(o); + (super(e, rr({ point: o, lngLat: a, originalEvent: n }, r)), + (this._defaultPrevented = !1), + (this.target = t)); + } + }), + (ame = class extends Yp { + preventDefault() { + this._defaultPrevented = !0; + } + get defaultPrevented() { + return this._defaultPrevented; + } + constructor(e, t, n) { + let r = e === "touchend" ? n.changedTouches : n.touches, + o = Cl.touchPos(t.getCanvasContainer(), r), + a = o.map((l) => t.unproject(l)), + i = o.reduce((l, c, u, d) => l.add(c.div(d.length)), new ft(0, 0)), + s = t.unproject(i); + (super(e, { + points: o, + point: i, + lngLats: a, + lngLat: s, + originalEvent: n, + }), + (this._defaultPrevented = !1)); + } + }), + (O5r = class extends Yp { + preventDefault() { + this._defaultPrevented = !0; + } + get defaultPrevented() { + return this._defaultPrevented; + } + constructor(e, t) { + (super("wheel", { originalEvent: t }), (this._defaultPrevented = !1)); + } + }), + (Ucn = class extends Yp {}), + (F5r = class extends Yp { + constructor(e = {}) { + super("terrain", e); + } + }), + (U5r = class extends Yp { + constructor(e = {}) { + super("projectiontransition", e); + } + }), + (BNe = class extends Yp {}), + (N5r = class extends Yp { + constructor(e = {}) { + super("styleimagemissing", e); + } + })); + ((W5r = class extends Qp { + constructor() { + (super(), + (this.images = {}), + (this.updateVersion = 0), + (this.loaded = !1), + (this.requestors = []), + (this.missingImageResolver = null), + (this._spriteImagesIds = {}), + (this._imagesIds = null), + (this._renderCallbacksDispatchedThisFrame = {})); + } + destroy() { + for (let e of Object.keys(this.images)) this.removeImage(e); + this._spriteImagesIds = {}; + } + isLoaded() { + return this.loaded; + } + setLoaded(e) { + if (this.loaded !== e && ((this.loaded = e), e)) { + for (let { ids: t, promiseResolve: n } of this.requestors) + n(this._getImagesForIds(t)); + this.requestors = []; + } + } + getImage(e) { + let t = this.images[e]; + if (t && !t.data && t.spriteData) { + let n = t.spriteData; + ((t.data = new ss( + { width: n.width, height: n.height }, + n.context.getImageData(n.x, n.y, n.width, n.height).data, + )), + (t.spriteData = null)); + } + return t; + } + addImage(e, t) { + if (this.images[e]) + throw Error(`Image id ${e} already exist, use updateImage instead`); + this._validate(e, t) && + ((this.images[e] = t), + (this._imagesIds = null), + t.isWebGLImage && this.updateImage(e, t, !1)); + } + _validate(e, t) { + let n = !0, + r = t.data || t.spriteData; + return ( + this._validateStretch(t.stretchX, r?.width) || + (this.fire( + new lr(Error(`Image "${e}" has invalid "stretchX" value`)), + ), + (n = !1)), + this._validateStretch(t.stretchY, r?.height) || + (this.fire( + new lr(Error(`Image "${e}" has invalid "stretchY" value`)), + ), + (n = !1)), + this._validateContent(t.content, t) || + (this.fire(new lr(Error(`Image "${e}" has invalid "content" value`))), + (n = !1)), + n + ); + } + _validateStretch(e, t) { + if (!e) return !0; + let n = 0; + for (let r of e) { + if (r[0] < n || r[1] < r[0] || t < r[1]) return !1; + n = r[1]; + } + return !0; + } + _validateContent(e, t) { + if (!e) return !0; + if (e.length !== 4) return !1; + let n = t.spriteData, + r = n?.width || t.data.width, + o = n?.height || t.data.height; + return e[0] < 0 || + r < e[0] || + e[1] < 0 || + o < e[1] || + e[2] < 0 || + r < e[2] || + e[3] < 0 || + o < e[3] || + e[2] < e[0] + ? !1 + : e[3] >= e[1]; + } + updateImage(e, t, n = !0) { + let r = this.images[e]; + if (n) { + let o = r.data || r.spriteData; + if (o.width !== t.data.width || o.height !== t.data.height) + throw Error( + `size mismatch between old image (${o.width}x${o.height}) and new image (${t.data.width}x${t.data.height}).`, + ); + } + ((t.version = (r.version ?? 0) + 1), + (this.images[e] = t), + this.updateVersion++); + } + removeImage(e) { + let t = this.images[e]; + t && + (delete this.images[e], + (this._imagesIds = null), + t.userImage?.onRemove && t.userImage.onRemove()); + } + listImages() { + return ((this._imagesIds ??= Object.keys(this.images)), this._imagesIds); + } + _getSpriteImageId(e, t) { + return e === "default" ? t : `${e}:${t}`; + } + setSpriteImages(e, t) { + let n = this._spriteImagesIds[e] ?? [], + r = []; + for (let i in t) { + let s = this._getSpriteImageId(e, i); + (r.push(s), + s in this.images + ? this.updateImage(s, t[i], !1) + : this.addImage(s, t[i])); + } + let o = new Set(r), + a = n.filter((i) => !o.has(i)); + for (let i of a) this.removeImage(i); + return ((this._spriteImagesIds[e] = r), { loaded: r, removed: a }); + } + removeSpriteImages(e) { + let t = this._spriteImagesIds[e] ?? []; + for (let n of t) this.removeImage(n); + return (delete this._spriteImagesIds[e], t); + } + removeAllSpriteImages() { + let e = Object.values(this._spriteImagesIds).flat(); + for (let t of e) this.removeImage(t); + return ((this._spriteImagesIds = {}), e); + } + setMissingImageResolver(e) { + this.missingImageResolver = e; + } + getImages(e) { + return new Promise((t, n) => { + let r = !0; + if (!this.isLoaded()) for (let o of e) this.images[o] || (r = !1); + this.isLoaded() || r + ? t(this._getImagesForIds(e)) + : this.requestors.push({ ids: e, promiseResolve: t }); + }); + } + async _getImagesForIds(e) { + let t = new Set(e.filter((o) => !this.getImage(o))), + n = this.missingImageResolver; + n && (await Promise.allSettled(Array.from(t, (o) => n(o)))); + let r = {}; + for (let o of e) { + let a = this.getImage(o); + a && + (t.delete(o), + (r[o] = { + data: a.data.clone(), + pixelRatio: a.pixelRatio, + sdf: a.sdf, + version: a.version, + stretchX: a.stretchX, + stretchY: a.stretchY, + content: a.content, + textFitWidth: a.textFitWidth, + textFitHeight: a.textFitHeight, + hasRenderCallback: !!a.userImage?.render, + isWebGLImage: a.isWebGLImage, + })); + } + for (let o of t) + (this.fire(new N5r({ id: o })), + Ko( + `Image "${o}" could not be loaded. Please make sure you have added the image before it is needed with map.addImage(), resolved it with map.setMissingStyleImageResolver(), or included it in a "sprite" property in your style.`, + )); + return r; + } + beginFrame() { + this._renderCallbacksDispatchedThisFrame = {}; + } + dispatchRenderCallbacks(e) { + for (let t of e) { + if (this._renderCallbacksDispatchedThisFrame[t]) continue; + this._renderCallbacksDispatchedThisFrame[t] = !0; + let n = this.getImage(t); + (n || Ko(`Image with ID: "${t}" was not found`), + Fln(n) && this.updateImage(t, n)); + } + } + cloneImages() { + let e = {}; + for (let t in this.images) { + let n = this.images[t]; + e[t] = { ...n, data: n.data ? n.data.clone() : null }; + } + return e; + } + }), + (K5r = { start: 0, end: jNe })); + uze = new Float64Array(256); + for (let e = 0; e < 256; e++) { + let t = 0.5 - (e / 255) ** 0.45454545454545453; + uze[e] = t * Math.abs(t); + } + uze[255] = -100000000000000000000; + ((n8r = bt.layout_symbol["text-font"].default.join(",")), + (s8r = class extends Qp { + constructor(e, t) { + (super(), + (this._transitionable = new wQ(i8r(), "light", t)), + this.setLight(e), + (this._transitioning = this._transitionable.untransitioned())); + } + getLight() { + return this._transitionable.serialize(); + } + getCartesianPosition() { + return hin(this.properties.get("position")); + } + setLight(e, t = {}) { + this._validate(Sh.light, e, t) || this._transitionable.setValues(e); + } + updateTransitions(e) { + this._transitioning = this._transitionable.transitioned( + e, + this._transitioning, + ); + } + hasTransition() { + return this._transitioning.hasTransition(); + } + applyGlobalStateChange(e, t, n) { + this._transitioning = this._transitionable.applyGlobalStateChange( + e, + t, + this._transitioning, + n, + ); + } + recalculate(e) { + this.properties = this._transitioning.possiblyEvaluate(e); + } + _validate(e, t, n) { + return WL(this, e, { value: t }, n); + } + }), + (u8r = class extends Qp { + constructor(e, t) { + (super(), + (this._transitionable = new wQ(c8r(), "sky", t)), + this.setSky(e), + (this._transitioning = this._transitionable.untransitioned()), + this.recalculate(new oi(0))); + } + setSky(e, t = {}) { + return ( + !this._validate(Sh.sky, e, t) && + ((e ||= { + "sky-color": "transparent", + "horizon-color": "transparent", + "fog-color": "transparent", + "fog-ground-blend": 1, + "atmosphere-blend": 0, + }), + this._transitionable.setValues(e), + !0) + ); + } + getSky() { + return this._transitionable.serialize(); + } + updateTransitions(e) { + this._transitioning = this._transitionable.transitioned( + e, + this._transitioning, + ); + } + hasTransition() { + return this._transitioning.hasTransition(); + } + applyGlobalStateChange(e, t, n) { + this._transitioning = this._transitionable.applyGlobalStateChange( + e, + t, + this._transitioning, + n, + ); + } + recalculate(e) { + this.properties = this._transitioning.possiblyEvaluate(e); + } + _validate(e, t, n = {}) { + return WL(this, e, { value: t }, n); + } + calculateFogBlendOpacity(e) { + return e < 60 ? 0 : e < 70 ? (e - 60) / 10 : 1; + } + })); + v8r = Math.floor(M0.hardwareConcurrency / 2); + jun.workerCount = yin(globalThis) ? Math.max(Math.min(v8r, 3), 1) : 1; + edn = class extends Qp { + constructor(e, t) { + (super(), + (this.workerPool = e), + (this.actors = []), + (this.currentActor = 0), + (this.id = t), + (this.removed = !1), + (this.workerErrorSubscriptions = []), + (this.actorsPromise = this.initActors(t))); + } + async initActors(e) { + let t = await this.workerPool.acquire(e); + if (this.removed) return []; + if ( + ((this.actors = t.map((n, r) => { + this.workerErrorSubscriptions.push( + GZ( + n, + "error", + () => { + this.fire( + new lr( + Error( + "Worker failed to load. Check that the worker URL is correct.", + ), + ), + ); + }, + !1, + ), + ); + let o = new ecn(n, e); + return ((o.name = `Worker ${r}`), o); + })), + !this.actors.length) + ) + throw Error("No actors found"); + return this.actors; + } + async broadcast(e, t) { + let n = await this.actorsPromise; + return Promise.all(n.map((r) => r.sendAsync({ type: e, data: t }))); + } + async getActor() { + let e = await this.actorsPromise; + return ( + (this.currentActor = (this.currentActor + 1) % e.length), + e[this.currentActor] + ); + } + async waitForInitComplete() { + this.actors.length === 0 && (await this.actorsPromise); + } + getReadyActor() { + return ( + (this.currentActor = (this.currentActor + 1) % this.actors.length), + this.actors[this.currentActor] + ); + } + remove(e = !0) { + this.removed = !0; + for (let t of this.actors) t.remove(); + for (let t of this.workerErrorSubscriptions) t.unsubscribe(); + ((this.actors = []), + (this.workerErrorSubscriptions = []), + this.setEventedParent(null), + e && this.workerPool.release(this.id)); + } + async registerMessageHandler(e, t) { + let n = await this.actorsPromise; + for (let r of n) r.registerMessageHandler(e, t); + } + async unregisterMessageHandler(e) { + let t = await this.actorsPromise; + for (let n of t) n.unregisterMessageHandler(e); + } + }; + ((k8r = class extends Qp { + constructor(e, t, n, r) { + if ( + (super(), + (this.id = e), + (this.dispatcher = n), + (this.type = "vector"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.scheme = "xyz"), + (this.tileSize = 512), + (this.reparseOverscaled = !0), + (this.isTileClipped = !0), + (this._loaded = !1), + rr(this, qL(t, ["url", "scheme", "tileSize", "promoteId", "encoding"])), + (this._options = rr({ type: "vector" }, t)), + (this._collectResourceTiming = t.collectResourceTiming), + this.tileSize !== 512) + ) + throw Error("vector tile sources must have a tileSize of 512"); + this.setEventedParent(r); + } + async load(e = !1) { + ((this._loaded = !1), + this.fire(new Gs("dataloading")), + (this._tileJSONRequest = new AbortController())); + try { + let t = await rdn( + this._options, + this.map._requestManager, + this._tileJSONRequest, + this.map._ownerWindow, + ); + ((this._tileJSONRequest = null), + (this._loaded = !0), + t && + (rr(this, t), + t.bounds && + (this.tileBounds = new odn(t.bounds, this.minzoom, this.maxzoom)), + this.fire(new Gs("data", { sourceDataType: "metadata" })), + this.fire( + new Gs("data", { + sourceDataType: "content", + sourceDataChanged: e, + }), + ))); + } catch (t) { + ((this._tileJSONRequest = null), + (this._loaded = !0), + Mw(t) || this.fire(new lr(Vp(t)))); + } + } + loaded() { + return this._loaded; + } + hasTile(e) { + return !this.tileBounds || this.tileBounds.contains(e.canonical); + } + onAdd(e) { + ((this.map = e), this.load()); + } + setSourceProperty(e) { + (this._tileJSONRequest && this._tileJSONRequest.abort(), + e(), + this.load(!0)); + } + setTiles(e) { + return ( + this.setSourceProperty(() => { + ((this.tiles = e), (this._options.tiles = e)); + }), + this + ); + } + setUrl(e) { + return ( + this.setSourceProperty(() => { + ((this.url = e), (this._options.url = e)); + }), + this + ); + } + onRemove() { + this._tileJSONRequest &&= (this._tileJSONRequest.abort(), null); + } + serialize() { + return rr({}, this._options); + } + async loadTile(e) { + let t = e.tileID.canonical.url( + this.tiles, + this.map.getPixelRatio(), + this.scheme, + ), + n = { + request: await this.map._requestManager.transformRequest(t, "Tile"), + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + tileSize: this.tileSize * e.tileID.overscaleFactor(), + type: this.type, + source: this.id, + pixelRatio: this.map.getPixelRatio(), + showCollisionBoxes: this.map.showCollisionBoxes, + promoteId: this.promoteId, + subdivisionGranularity: + this.map.style.projection.subdivisionGranularity, + encoding: this.encoding, + overzoomParameters: await this._getOverzoomParameters(e), + etag: e.etag, + }; + if ( + ((n.request.collectResourceTiming = this._collectResourceTiming), + await this.dispatcher.waitForInitComplete(), + e.aborted) + ) + return; + let r = "RT"; + if (!e.actor || e.state === "expired") + ((e.actor = this.dispatcher.getReadyActor()), (r = "LT")); + else if (e.state === "loading") + return new Promise((o, a) => { + e.reloadPromise = { resolve: o, reject: a }; + }); + e.abortController = new AbortController(); + try { + let o = await e.actor.sendAsync( + { type: r, data: n }, + e.abortController, + ); + if ((delete e.abortController, e.aborted)) return; + this._afterTileLoadWorkerResponse(e, o); + let a = {}; + return (o?.etagUnmodified && (a.unmodified = !0), a); + } catch (o) { + if ((delete e.abortController, e.aborted || Mw(o))) return; + if (o && o.status !== 404) throw o; + this._afterTileLoadWorkerResponse(e, null); + } + } + async _getOverzoomParameters(e) { + if ( + e.tileID.canonical.z <= this.maxzoom || + this.map._zoomLevelsToOverscale === void 0 + ) + return; + let t = e.tileID.scaledTo(this.maxzoom).canonical, + n = t.url(this.tiles, this.map.getPixelRatio(), this.scheme); + return { + maxZoomTileID: t, + overzoomRequest: await this.map._requestManager.transformRequest( + n, + "Tile", + ), + }; + } + _afterTileLoadWorkerResponse(e, t) { + if ( + (t?.resourceTiming && (e.resourceTiming = t.resourceTiming), + t && this.map._refreshExpiredTiles && e.setExpiryData(t), + (e.etag = t?.etag), + e.loadVectorData(t, this.map.painter), + e.reloadPromise) + ) { + let n = e.reloadPromise; + ((e.reloadPromise = null), + this.loadTile(e).then(n.resolve).catch(n.reject)); + } + } + async abortTile(e) { + (e.abortController && + (e.abortController.abort(), delete e.abortController), + e.actor && + (await e.actor.sendAsync({ + type: "AT", + data: { uid: e.uid, type: this.type, source: this.id }, + }))); + } + async unloadTile(e) { + (e.unloadVectorData(), + e.actor && + (await e.actor.sendAsync({ + type: "RMT", + data: { uid: e.uid, type: this.type, source: this.id }, + }))); + } + hasTransition() { + return !1; + } + }), + (adn = class extends Qp { + constructor(e, t, n, r) { + (super(), + (this.id = e), + (this.dispatcher = n), + this.setEventedParent(r), + (this.type = "raster"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.roundZoom = !0), + (this.scheme = "xyz"), + (this.tileSize = 512), + (this._loaded = !1), + (this._premultiplyAlpha = !0), + (this._options = rr({ type: "raster" }, t)), + rr(this, qL(t, ["url", "scheme", "tileSize"]))); + } + async load(e = !1) { + ((this._loaded = !1), + this.fire(new Gs("dataloading")), + (this._tileJSONRequest = new AbortController())); + try { + let t = await rdn( + this._options, + this.map._requestManager, + this._tileJSONRequest, + this.map._ownerWindow, + ); + ((this._tileJSONRequest = null), + (this._loaded = !0), + t && + (rr(this, t), + t.bounds && + (this.tileBounds = new odn( + t.bounds, + this.minzoom, + this.maxzoom, + )), + this.fire(new Gs("data", { sourceDataType: "metadata" })), + this.fire( + new Gs("data", { + sourceDataType: "content", + sourceDataChanged: e, + }), + ))); + } catch (t) { + ((this._tileJSONRequest = null), + (this._loaded = !0), + Mw(t) || this.fire(new lr(Vp(t)))); + } + } + loaded() { + return this._loaded; + } + onAdd(e) { + ((this.map = e), this.load()); + } + onRemove() { + this._tileJSONRequest &&= (this._tileJSONRequest.abort(), null); + } + setSourceProperty(e) { + ((this._tileJSONRequest &&= (this._tileJSONRequest.abort(), null)), + e(), + this.load(!0)); + } + setTiles(e) { + return ( + this.setSourceProperty(() => { + ((this.tiles = e), (this._options.tiles = e)); + }), + this + ); + } + setUrl(e) { + return ( + this.setSourceProperty(() => { + ((this.url = e), (this._options.url = e)); + }), + this + ); + } + serialize() { + return rr({}, this._options); + } + setPremultiplyAlpha(e) { + return ( + this._premultiplyAlpha === e || + this.setSourceProperty(() => { + this._premultiplyAlpha = e; + }), + this + ); + } + hasTile(e) { + return !this.tileBounds || this.tileBounds.contains(e.canonical); + } + async loadTile(e) { + let t = e.tileID.canonical.url( + this.tiles, + this.map.getPixelRatio(), + this.scheme, + ), + n = this._premultiplyAlpha, + r = n ? void 0 : { premultiplyAlpha: "none" }; + e.abortController = new AbortController(); + try { + let o = await Xx.transformAndGetImage( + this.map._requestManager, + t, + "Tile", + e.abortController, + this.map._refreshExpiredTiles, + r, + ); + if ((delete e.abortController, e.aborted)) { + e.state = "unloaded"; + return; + } + if (o) { + this.map._refreshExpiredTiles && + (o.cacheControl || o.expires) && + e.setExpiryData({ + cacheControl: o.cacheControl, + expires: o.expires, + }); + let a = this.map.painter.context, + i = a.gl, + s = o.data ?? new ss({ width: 1, height: 1 }, new Uint8Array(4)); + ((e.texture = this.map.painter.getTileTexture(s.width)), + e.texture + ? e.texture.update(s, { useMipmap: !0, premultiply: n }) + : ((e.texture = new cd(a, s, i.RGBA, { + useMipmap: !0, + premultiply: n, + })), + e.texture.bind( + i.LINEAR, + i.CLAMP_TO_EDGE, + i.LINEAR_MIPMAP_NEAREST, + )), + (e.state = "loaded")); + } + } catch (o) { + if ((delete e.abortController, e.aborted)) e.state = "unloaded"; + else if (o) throw ((e.state = "errored"), o); + } + } + async abortTile(e) { + e.abortController && + (e.abortController.abort(), delete e.abortController); + } + async unloadTile(e) { + e.texture && this.map.painter.saveTileTexture(e.texture); + } + hasTransition() { + return !1; + } + }), + (R8r = class extends adn { + constructor(e, t, n, r) { + (super(e, t, n, r), + (this.type = "raster-dem"), + (this.maxzoom = 22), + (this._options = rr({ type: "raster-dem" }, t)), + (this.encoding = t.encoding || "mapbox"), + (this.redFactor = t.redFactor), + (this.greenFactor = t.greenFactor), + (this.blueFactor = t.blueFactor), + (this.baseShift = t.baseShift)); + } + async loadTile(e) { + let t = e.tileID.canonical.url( + this.tiles, + this.map.getPixelRatio(), + this.scheme, + ); + ((e.neighboringTiles = this._getNeighboringTiles(e.tileID)), + (e.abortController = new AbortController())); + try { + let n = await Xx.transformAndGetImage( + this.map._requestManager, + t, + "Tile", + e.abortController, + this.map._refreshExpiredTiles, + { colorSpaceConversion: "none" }, + ); + if ((delete e.abortController, e.aborted)) { + e.state = "unloaded"; + return; + } + if (n) { + if ( + (this.map._refreshExpiredTiles && + (n.cacheControl || n.expires) && + e.setExpiryData({ + cacheControl: n.cacheControl, + expires: n.expires, + }), + !n.data) + ) { + e.state = "loaded"; + return; + } + let r = n.data, + o = KC(r) && dfe() ? r : await this.readImageNow(r), + a = { + type: this.type, + uid: e.uid, + source: this.id, + rawImageData: o, + encoding: this.encoding, + redFactor: this.redFactor, + greenFactor: this.greenFactor, + blueFactor: this.blueFactor, + baseShift: this.baseShift, + }; + if (e.actor && e.state !== "expired" && e.state !== "reloading") + return; + (await this.dispatcher.waitForInitComplete(), + (!e.actor || e.state === "expired") && + (e.actor = this.dispatcher.getReadyActor()), + (e.dem = await e.actor.sendAsync({ type: "LDT", data: a })), + (e.needsHillshadePrepare = !0), + (e.needsTerrainPrepare = !0), + (e.needsColorReliefPrepare = !0), + (e.state = "loaded")); + } + } catch (n) { + if ((delete e.abortController, e.aborted)) e.state = "unloaded"; + else if (n) throw ((e.state = "errored"), n); + } + } + async readImageNow(e) { + if (typeof VideoFrame < "u" && cUe()) { + let t = e.width + 4, + n = e.height + 4; + try { + return new ss({ width: t, height: n }, await xin(e, -2, -2, t, n)); + } catch {} + } + return M0.getImageData(e, 2); + } + _getNeighboringTiles(e) { + let t = e.canonical, + n = 2 ** t.z, + r = (t.x - 1 + n) % n, + o = t.x === 0 ? e.wrap - 1 : e.wrap, + a = (t.x + 1 + n) % n, + i = t.x + 1 === n ? e.wrap + 1 : e.wrap, + s = {}; + return ( + (s[new Xp(e.overscaledZ, o, t.z, r, t.y).key] = { backfilled: !1 }), + (s[new Xp(e.overscaledZ, i, t.z, a, t.y).key] = { backfilled: !1 }), + t.y > 0 && + ((s[new Xp(e.overscaledZ, o, t.z, r, t.y - 1).key] = { + backfilled: !1, + }), + (s[new Xp(e.overscaledZ, e.wrap, t.z, t.x, t.y - 1).key] = { + backfilled: !1, + }), + (s[new Xp(e.overscaledZ, i, t.z, a, t.y - 1).key] = { + backfilled: !1, + })), + t.y + 1 < n && + ((s[new Xp(e.overscaledZ, o, t.z, r, t.y + 1).key] = { + backfilled: !1, + }), + (s[new Xp(e.overscaledZ, e.wrap, t.z, t.x, t.y + 1).key] = { + backfilled: !1, + }), + (s[new Xp(e.overscaledZ, i, t.z, a, t.y + 1).key] = { + backfilled: !1, + })), + s + ); + } + async unloadTile(e) { + (e.demTexture && this.map.painter.saveTileTexture(e.demTexture), + e.fbo && (e.fbo.destroy(), delete e.fbo), + e.dem && delete e.dem, + delete e.neighboringTiles, + (e.state = "unloaded"), + e.actor && + (await e.actor.sendAsync({ + type: "RDT", + data: { type: this.type, uid: e.uid, source: this.id }, + }))); + } + })); + ((U8r = class extends Qp { + constructor(e, t, n, r) { + (super(), + (this.id = e), + (this.type = "geojson"), + (this.minzoom = 0), + (this.maxzoom = 18), + (this.tileSize = 512), + (this.isTileClipped = !0), + (this.reparseOverscaled = !0), + (this._removed = !1), + (this._isUpdatingWorker = !1), + (this._pendingWorkerUpdate = { data: t.data }), + (this.actorPromise = n.getActor()), + this.setEventedParent(r), + (this._data = + typeof t.data == "string" ? { url: t.data } : { geojson: t.data }), + (this._options = rr({}, t)), + (this._collectResourceTiming = t.collectResourceTiming), + t.maxzoom !== void 0 && (this.maxzoom = t.maxzoom), + t.type && (this.type = t.type), + t.attribution && (this.attribution = t.attribution), + (this.promoteId = t.promoteId), + t.clusterMaxZoom !== void 0 && + this.maxzoom <= t.clusterMaxZoom && + Ko( + `The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${t.clusterMaxZoom}".`, + ), + (this.workerOptions = rr( + { + source: this.id, + geojsonVtOptions: { + buffer: this._pixelsToTileUnits( + t.buffer === void 0 ? 128 : t.buffer, + ), + tolerance: this._pixelsToTileUnits( + t.tolerance === void 0 ? 0.375 : t.tolerance, + ), + extent: Ut, + maxZoom: this.maxzoom, + lineMetrics: t.lineMetrics || !1, + generateId: t.generateId || !1, + promoteId: this._promoteIdKey, + cluster: t.cluster || !1, + clusterOptions: { + maxZoom: this._getClusterMaxZoom(t.clusterMaxZoom), + minPoints: Math.max(2, t.clusterMinPoints || 2), + extent: Ut, + radius: this._pixelsToTileUnits(t.clusterRadius || 50), + log: !1, + generateId: t.generateId || !1, + }, + }, + clusterProperties: t.clusterProperties, + filter: t.filter, + }, + t.workerOptions, + ))); + } + get _promoteIdKey() { + return typeof this.promoteId == "string" ? this.promoteId : void 0; + } + _hasPendingWorkerUpdate() { + return ( + this._pendingWorkerUpdate.data !== void 0 || + this._pendingWorkerUpdate.diff !== void 0 || + this._pendingWorkerUpdate.updateCluster + ); + } + _pixelsToTileUnits(e) { + return e * (Ut / this.tileSize); + } + _tileUnitsToPixels(e) { + return e / (Ut / this.tileSize); + } + _getClusterMaxZoom(e) { + let t = e ? Math.round(e) : this.maxzoom - 1; + return ( + Number.isInteger(e) || + e === void 0 || + Ko( + `Integer expected for option 'clusterMaxZoom': provided value "${e}" rounded to "${t}"`, + ), + t + ); + } + async load() { + await this._updateWorkerData(); + } + onAdd(e) { + ((this.map = e), this.load()); + } + setData(e) { + return ( + (this._data = typeof e == "string" ? { url: e } : { geojson: e }), + (this._pendingWorkerUpdate = { data: e }), + this._updateWorkerData() + ); + } + updateData(e) { + return ( + (this._pendingWorkerUpdate.diff = D8r( + this._pendingWorkerUpdate.diff, + e, + this._promoteIdKey, + )), + this._updateWorkerData() + ); + } + async getData() { + return ( + this._data.url && (await this.once("data")), + this._data.geojson + ? this._data.geojson + : { + type: "FeatureCollection", + features: Array.from(this._data.updateable.values()), + } + ); + } + async getBounds() { + return Wcn(await this.getData()); + } + setClusterOptions(e) { + return ( + (this.workerOptions.geojsonVtOptions.cluster = e.cluster), + e.clusterRadius !== void 0 && + (this.workerOptions.geojsonVtOptions.clusterOptions.radius = + this._pixelsToTileUnits(e.clusterRadius)), + e.clusterMaxZoom !== void 0 && + (this.workerOptions.geojsonVtOptions.clusterOptions.maxZoom = + this._getClusterMaxZoom(e.clusterMaxZoom)), + (this._pendingWorkerUpdate.updateCluster = !0), + this._updateWorkerData() + ); + } + getClusterOptions() { + let { cluster: e, clusterOptions: t } = + this.workerOptions.geojsonVtOptions; + return { + cluster: e, + clusterMaxZoom: t.maxZoom, + clusterRadius: this._tileUnitsToPixels(t.radius), + }; + } + async getClusterExpansionZoom(e) { + return (await this.actorPromise).sendAsync({ + type: "GCEZ", + data: { type: this.type, clusterId: e, source: this.id }, + }); + } + async getClusterChildren(e) { + return (await this.actorPromise).sendAsync({ + type: "GCC", + data: { type: this.type, clusterId: e, source: this.id }, + }); + } + async getClusterLeaves(e, t, n) { + return (await this.actorPromise).sendAsync({ + type: "GCL", + data: { + type: this.type, + source: this.id, + clusterId: e, + limit: t, + offset: n, + }, + }); + } + async _updateWorkerData() { + if (this._isUpdatingWorker) return this._updatePromise; + if (!this._hasPendingWorkerUpdate()) { + Ko(`No pending worker updates for GeoJSONSource ${this.id}.`); + return; + } + let { data: e, diff: t, updateCluster: n } = this._pendingWorkerUpdate, + r = this._getLoadGeoJSONParameters(e, t, n); + (e === void 0 + ? t + ? (this._pendingWorkerUpdate.diff = void 0) + : n && (this._pendingWorkerUpdate.updateCluster = void 0) + : (this._pendingWorkerUpdate.data = void 0), + (this._updatePromise = this._dispatchWorkerUpdate(r)), + await this._updatePromise); + } + async _getLoadGeoJSONParameters(e, t, n) { + let r = rr({ type: this.type, source: this.id }, this.workerOptions); + if (typeof e == "string") + return ( + (r.request = await this.map._requestManager.transformRequest( + M0.resolveURL(e), + "Source", + )), + (r.request.collectResourceTiming = this._collectResourceTiming), + r + ); + if (e !== void 0) return ((r.data = e), r); + if (t) return ((r.dataDiff = t), r); + if (n) return ((r.updateCluster = !0), r); + } + async _dispatchWorkerUpdate(e) { + ((this._isUpdatingWorker = !0), this.fire(new Gs("dataloading"))); + try { + let t = await e, + n = await ( + await this.actorPromise + ).sendAsync({ type: "LD", data: t }); + if (((this._isUpdatingWorker = !1), this._removed || n.abandoned)) { + this.fire(new Gs("dataabort")); + return; + } + n.data && (this._data = { geojson: n.data }); + let r = this._applyDiffToSource(t.dataDiff), + o = this._getShouldReloadTileOptions(r), + a = {}; + (this._applyResourceTiming(a, n), + this.fire(new Gs("data", { ...a, sourceDataType: "metadata" })), + this.fire( + new Gs("data", { + ...a, + sourceDataType: "content", + shouldReloadTileOptions: o, + }), + )); + } catch (t) { + if (((this._isUpdatingWorker = !1), this._removed)) { + this.fire(new Gs("dataabort")); + return; + } + this.fire(new lr(Vp(t))); + } finally { + this._hasPendingWorkerUpdate() && (await this._updateWorkerData()); + } + } + _applyResourceTiming(e, t) { + if (!this._collectResourceTiming) return; + let n = t.resourceTiming?.[this.id]; + if (!n) return; + let r = n.slice(0); + r?.length && rr(e, { resourceTiming: r }); + } + _applyDiffToSource(e) { + if (!e) return; + let t = this._promoteIdKey; + if (!this._data.url && !this._data.updateable) { + let r = P8r(this._data.geojson, t); + if (!r) + throw Error( + `GeoJSONSource "${this.id}": GeoJSON data is not compatible with updateData`, + ); + this._data = { updateable: r }; + } + if (!this._data.updateable) return; + let n = M8r(this._data.updateable, e, t); + if (!(e.removeAll || this._options.cluster)) return n; + } + _getShouldReloadTileOptions(e) { + if (e) return { affectedBounds: e.filter(Boolean).map((t) => Wcn(t)) }; + } + shouldReloadTile(e, { affectedBounds: t }) { + if (e.state === "loading") return !0; + if (e.state === "unloaded") return !1; + let { buffer: n, extent: r } = this.workerOptions.geojsonVtOptions, + o = F8r(e.tileID.canonical, n / r); + for (let a of t) if (o.intersects(a)) return !0; + return !1; + } + loaded() { + return !this._isUpdatingWorker && !this._hasPendingWorkerUpdate(); + } + async loadTile(e) { + let t = e.actor ? "RT" : "LT"; + e.actor = await this.actorPromise; + let n = { + type: this.type, + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + maxZoom: this.maxzoom, + tileSize: this.tileSize, + source: this.id, + pixelRatio: this.map.getPixelRatio(), + showCollisionBoxes: this.map.showCollisionBoxes, + promoteId: this.promoteId, + subdivisionGranularity: + this.map.style.projection.subdivisionGranularity, + }; + e.abortController = new AbortController(); + try { + let r = await ( + await this.actorPromise + ).sendAsync({ type: t, data: n }, e.abortController); + (delete e.abortController, + e.unloadVectorData(), + e.aborted || e.loadVectorData(r, this.map.painter, t === "RT")); + } catch (r) { + if ((delete e.abortController, e.aborted || Mw(r))) return; + throw r; + } + } + async abortTile(e) { + (e.abortController && + (e.abortController.abort(), delete e.abortController), + (e.aborted = !0)); + } + async unloadTile(e) { + (e.unloadVectorData(), + await ( + await this.actorPromise + ).sendAsync({ + type: "RMT", + data: { uid: e.uid, type: this.type, source: this.id }, + })); + } + onRemove() { + ((this._removed = !0), + this.actorPromise.then((e) => + e.sendAsync({ + type: "RS", + data: { type: this.type, source: this.id }, + }), + )); + } + serialize() { + return rr({}, this._options, { + type: this.type, + data: this._data.updateable + ? { + type: "FeatureCollection", + features: Array.from(this._data.updateable.values()), + } + : this._data.url || this._data.geojson, + }); + } + hasTransition() { + return !1; + } + }), + (rB = [0, 0, 1])); + ((o7 = nl([{ name: "a_pos", type: "Int16", components: 2 }])), + (lme = Ut / 128)); + ZQ = class extends Qp { + constructor(e, t, n, r) { + (super(), + (this.imageWarp = rB), + (this.flippedWindingOrder = !1), + (this._warp = "auto"), + (this._imageDirty = !1), + (this._subdividedQuad = !1), + (this._subdividedMesh = null), + (this.id = e), + (this.dispatcher = n), + (this.coordinates = t.coordinates), + (this.type = "image"), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.tileSize = 512), + (this.tiles = {}), + (this._loaded = !1), + this.setEventedParent(r), + (this.options = t)); + } + async load(e) { + if (this.options.url === void 0) { + ((this._loaded = !0), this._finishLoading()); + return; + } + ((this._loaded = !1), + this.fire(new Gs("dataloading")), + (this.url = this.options.url), + (this._abortController = new AbortController())); + try { + let t = await Xx.transformAndGetImage( + this.map._requestManager, + this.url, + "Image", + this._abortController, + ); + ((this._abortController = null), + (this._loaded = !0), + t?.data + ? (this._setImage(t.data), + e && (this.coordinates = e), + this._finishLoading()) + : this.fire( + new lr( + Error( + `Could not load image ${this.url}: the response is empty`, + ), + ), + )); + } catch (t) { + if (Mw(t)) return; + ((this._abortController = null), + (this._loaded = !0), + this.fire(new lr(Vp(t)))); + } + } + loaded() { + return this._loaded; + } + updateImage(e) { + return ( + (this._abortController &&= (this._abortController.abort(), null)), + "image" in e + ? ((this._loaded = !0), + this._setImage(e.image), + e.coordinates && (this.coordinates = e.coordinates), + this._finishLoading(), + this) + : e.url + ? ((this.options.url = e.url), this.load(e.coordinates), this) + : this + ); + } + _setImage(e) { + ((this.image = e), (this._imageDirty = !0)); + } + getMesh(e, t) { + return !this._subdividedQuad || t + ? null + : ((this._subdividedMesh ??= sdn(e, { granularity: 16 })), + this._subdividedMesh); + } + _disposeTexture() { + (this.texture?.destroy(), (this.texture = null)); + } + _finishLoading() { + this.map && + (this.setCoordinates(this.coordinates), + this.fire(new Gs("data", { sourceDataType: "metadata" }))); + } + onAdd(e) { + ((this.map = e), this.load()); + } + onRemove() { + ((this._abortController &&= (this._abortController.abort(), null)), + this._disposeTexture(), + this._subdividedMesh?.destroy(), + (this._subdividedMesh = null), + (this.image = null), + (this.tiles = {})); + } + setWarp(e) { + return this._warp === e + ? this + : ((this._warp = e), + this.tileCoords && this.setCoordinates(this.coordinates), + this); + } + getWarp() { + return this._warp; + } + setCoordinates(e) { + this.coordinates = e; + let t = e.map(ai.fromLngLat); + return ( + (this.tileID = q8r(t)), + (this.terrainTileRanges = this._getOverlappingTileRanges(t)), + (this.minzoom = this.maxzoom = this.tileID.z), + (this.tileCoords = t.map((n) => this.tileID.getTilePoint(n)._round())), + (this.imageWarp = Q8r(this.tileCoords, this._warp)), + (this._subdividedQuad = this.imageWarp[2] > 0 && !ldn(this.tileCoords)), + (this.flippedWindingOrder = Z8r(this.tileCoords)), + this.fire(new Gs("data", { sourceDataType: "content" })), + this + ); + } + prepare() { + if (Object.keys(this.tiles).length === 0 || !this.image) return; + let e = this.map.painter.context, + t = e.gl; + (this.texture + ? this._imageDirty && + (this.texture.update(this.image), + this.texture.bind(t.LINEAR, t.CLAMP_TO_EDGE)) + : ((this.texture = new cd(e, this.image, t.RGBA)), + this.texture.bind(t.LINEAR, t.CLAMP_TO_EDGE)), + (this._imageDirty = !1)); + let n = !1; + for (let r in this.tiles) { + let o = this.tiles[r]; + o.state !== "loaded" && + ((o.state = "loaded"), (o.texture = this.texture), (n = !0)); + } + n && + this.fire( + new Gs("data", { sourceDataType: "idle", sourceId: this.id }), + ); + } + async loadTile(e) { + this.tileID?.equals(e.tileID.canonical) + ? ((this.tiles[String(e.tileID.wrap)] = e), (e.buckets = {})) + : (e.state = "errored"); + } + serialize() { + let e = { type: "image", coordinates: this.coordinates }; + return (this.options.url !== void 0 && (e.url = this.options.url), e); + } + hasTransition() { + return !1; + } + _getOverlappingTileRanges(e) { + let { minX: t, minY: n, maxX: r, maxY: o } = By.fromPoints(e), + a = {}; + for (let i = 0; i <= 25; i++) { + let s = 2 ** i, + l = Math.floor(t * s), + c = Math.floor(n * s), + u = Math.floor(r * s), + d = Math.floor(o * s), + p = ((l % s) + s) % s, + f = u % s, + m = Math.floor(l / s), + g = Math.floor(u / s); + a[i] = { + minWrap: m, + maxWrap: g, + minTileXWrapped: p, + maxTileXWrapped: f, + minTileY: c, + maxTileY: d, + }; + } + return a; + } + }; + ((W8r = class extends ZQ { + constructor(e, t, n, r) { + (super(e, t, n, r), + (this._onPlayingHandler = () => { + this.map?.triggerRepaint(); + }), + (this.roundZoom = !0), + (this.type = "video"), + (this.options = t)); + } + async load() { + this._loaded = !1; + let e = this.options; + this.urls = []; + for (let t of e.urls) + this.urls.push( + (await this.map._requestManager.transformRequest(t, "Source")).url, + ); + try { + let t = await kin(this.urls); + if (((this._loaded = !0), !t)) return; + ((this.video = t), + (this.video.loop = !0), + this.video.addEventListener("playing", this._onPlayingHandler), + this.map && this.video.play(), + this._finishLoading()); + } catch (t) { + this.fire(new lr(Vp(t))); + } + } + pause() { + this.video && this.video.pause(); + } + play() { + this.video && this.video.play(); + } + seek(e) { + if (this.video) { + let t = this.video.seekable; + e < t.start(0) || e > t.end(0) + ? this.fire( + new lr( + new jt( + `sources.${this.id}`, + null, + `Playback for this video can be set only between the ${t.start(0)} and ${t.end(0)}-second mark.`, + ), + ), + ) + : (this.video.currentTime = e); + } + } + getVideo() { + return this.video; + } + onAdd(e) { + this.map || + ((this.map = e), + this.load(), + this.video && + (this.video.play(), this.setCoordinates(this.coordinates))); + } + onRemove() { + (super.onRemove(), + this.video && + (this.video.removeEventListener("playing", this._onPlayingHandler), + this.video.pause())); + } + prepare() { + if (Object.keys(this.tiles).length === 0 || this.video.readyState < 2) + return; + let e = this.map.painter.context, + t = e.gl; + this.texture + ? this.video.paused || + (this.texture.bind(t.LINEAR, t.CLAMP_TO_EDGE), + t.texSubImage2D( + t.TEXTURE_2D, + 0, + 0, + 0, + t.RGBA, + t.UNSIGNED_BYTE, + this.video, + )) + : ((this.texture = new cd(e, this.video, t.RGBA)), + this.texture.bind(t.LINEAR, t.CLAMP_TO_EDGE)); + let n = !1; + for (let r in this.tiles) { + let o = this.tiles[r]; + o.state !== "loaded" && + ((o.state = "loaded"), (o.texture = this.texture), (n = !0)); + } + n && + this.fire( + new Gs("data", { sourceDataType: "idle", sourceId: this.id }), + ); + } + serialize() { + return { type: "video", urls: this.urls, coordinates: this.coordinates }; + } + hasTransition() { + return this.video && !this.video.paused; + } + }), + (Y8r = class extends ZQ { + constructor(e, t, n, r) { + (super(e, t, n, r), + t.coordinates + ? (!Array.isArray(t.coordinates) || + t.coordinates.length !== 4 || + t.coordinates.some( + (o) => + !Array.isArray(o) || + o.length !== 2 || + o.some((a) => typeof a != "number"), + )) && + this.fire( + new lr( + new jt( + `sources.${e}`, + null, + '"coordinates" property must be an array of 4 longitude/latitude array pairs', + ), + ), + ) + : this.fire( + new lr( + new jt( + `sources.${e}`, + null, + 'missing required property "coordinates"', + ), + ), + ), + t.animate && + typeof t.animate != "boolean" && + this.fire( + new lr( + new jt( + `sources.${e}`, + null, + 'optional "animate" property must be a boolean value', + ), + ), + ), + t.canvas + ? typeof t.canvas != "string" && + !(t.canvas instanceof HTMLCanvasElement) && + this.fire( + new lr( + new jt( + `sources.${e}`, + null, + '"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance', + ), + ), + ) + : this.fire( + new lr( + new jt( + `sources.${e}`, + null, + 'missing required property "canvas"', + ), + ), + ), + (this.options = t), + (this.animate = t.animate === void 0 || t.animate)); + } + async load() { + if ( + ((this._loaded = !0), + (this.canvas ||= + this.options.canvas instanceof HTMLCanvasElement + ? this.options.canvas + : document.getElementById(this.options.canvas)), + (this.width = this.canvas.width), + (this.height = this.canvas.height), + this._hasInvalidDimensions()) + ) { + this.fire( + new lr( + Error("Canvas dimensions cannot be less than or equal to zero."), + ), + ); + return; + } + ((this.play = function () { + ((this._playing = !0), this.map.triggerRepaint()); + }), + (this.pause = function () { + this._playing &&= (this.prepare(), !1); + }), + this._finishLoading()); + } + getCanvas() { + return this.canvas; + } + onAdd(e) { + ((this.map = e), + this.load(), + this.canvas && this.animate && this.play()); + } + onRemove() { + ((this._playing = !1), super.onRemove()); + } + prepare() { + let e = !1; + if ( + (this.canvas.width !== this.width && + ((this.width = this.canvas.width), (e = !0)), + this.canvas.height !== this.height && + ((this.height = this.canvas.height), (e = !0)), + this._hasInvalidDimensions() || Object.keys(this.tiles).length === 0) + ) + return; + let t = this.map.painter.context, + n = t.gl; + this.texture + ? (e || this._playing) && + this.texture.update(this.canvas, { premultiply: !0 }) + : ((this.texture = new cd(t, this.canvas, n.RGBA, { + premultiply: !0, + })), + this.texture.bind(n.LINEAR, n.CLAMP_TO_EDGE)); + let r = !1; + for (let o in this.tiles) { + let a = this.tiles[o]; + a.state !== "loaded" && + ((a.state = "loaded"), (a.texture = this.texture), (r = !0)); + } + r && + this.fire( + new Gs("data", { sourceDataType: "idle", sourceId: this.id }), + ); + } + serialize() { + return { + type: "canvas", + animate: this.animate, + canvas: this.options.canvas, + coordinates: this.coordinates, + }; + } + hasTransition() { + return this._playing; + } + _hasInvalidDimensions() { + for (let e of [this.canvas.width, this.canvas.height]) + if (isNaN(e) || e <= 0) return !0; + return !1; + } + }), + (K8r = {})); + eEr = class extends Qp { + constructor(...e) { + (super(...e), + (this.status = "unavailable"), + (this.url = null), + (this.dispatcher = b8r())); + } + _syncState(e) { + return ( + (this.status = e), + this.dispatcher + .broadcast("SRPS", { pluginStatus: e, pluginURL: this.url }) + .catch((t) => { + throw ((this.status = "error"), t); + }) + ); + } + getRTLTextPluginStatus() { + return this.status; + } + clearRTLTextPlugin() { + ((this.status = "unavailable"), (this.url = null)); + } + async setRTLTextPlugin(e, t = !1) { + if (this.url) + throw Error("setRTLTextPlugin cannot be called multiple times."); + if (((this.url = M0.resolveURL(e)), !this.url)) + throw Error(`requested url ${e} is invalid`); + if (this.status === "unavailable") + if (t) ((this.status = "deferred"), this._syncState(this.status)); + else return this._requestImport(); + else if (this.status === "requested") return this._requestImport(); + } + async _requestImport() { + (await this._syncState("loading"), + (this.status = "loaded"), + this.fire(new JC(eze))); + } + lazyLoad() { + this.status === "unavailable" + ? (this.status = "requested") + : this.status === "deferred" && this._requestImport(); + } + }; + sEr = nze(9.314, 3); + rze = class e extends Qp { + static { + this.maxUnderzooming = 10; + } + static { + this.maxOverzooming = 3; + } + constructor(t, n, r) { + (super(), + (this._maxContentElevationSeen = 0), + (this.id = t), + (this.dispatcher = r), + this.on("data", (o) => { + this._dataHandler(o); + }), + this.on("dataloading", () => { + this._sourceErrored = !1; + }), + this.on("error", () => { + this._sourceErrored = this._source.loaded(); + }), + (this._source = J8r(t, n, r, this)), + (this._inViewTiles = new tun()), + (this._outOfViewCache = new Dcn(0, (o) => this._unloadTile(o))), + (this._timers = {}), + (this._maxTileCacheSize = null), + (this._maxTileCacheZoomLevels = null), + (this._rasterFadeDuration = 0), + (this._maxFadingAncestorLevels = 5), + (this._state = new tEr()), + (this._didEmitContent = !1), + (this._updated = !1)); + } + onAdd(t) { + ((this.map = t), + (this._maxTileCacheSize = t ? t._maxTileCacheSize : null), + (this._maxTileCacheZoomLevels = t ? t._maxTileCacheZoomLevels : null), + this._source?.onAdd && this._source.onAdd(t)); + } + onRemove(t) { + for (let n of this._inViewTiles.getAllTiles()) n.unloadVectorData(); + (this.clearTiles(), + this._source?.onRemove && this._source.onRemove(t), + (this._inViewTiles = new tun())); + } + loaded() { + if (this._sourceErrored) return !0; + if (!this._sourceLoaded || !this._source.loaded()) return !1; + if ( + (this.used !== void 0 || this.usedForTerrain !== void 0) && + !this.used && + !this.usedForTerrain + ) + return !0; + if (!this._updated) return !1; + for (let t of this._inViewTiles.getAllTiles()) + if (t.state !== "loaded" && t.state !== "errored") return !1; + return !0; + } + getSource() { + return this._source; + } + getState() { + return this._state; + } + pause() { + this._paused = !0; + } + resume() { + if (!this._paused) return; + let t = this._shouldReloadOnResume; + ((this._paused = !1), + (this._shouldReloadOnResume = !1), + t && this.reload(), + this.transform && this.update(this.transform, this.terrain)); + } + async _loadTile(t, n, r, o) { + try { + let a = await this._source.loadTile(t); + this._tileLoaded(t, n, r, o, a); + } catch (a) { + ((t.state = "errored"), + a.status === 404 + ? this.update(this.transform, this.terrain) + : this._source.fire(new lr(Vp(a), { tile: t }))); + } + } + _unloadTile(t) { + this._source.unloadTile && this._source.unloadTile(t); + } + _abortTile(t) { + (this._source.abortTile && this._source.abortTile(t), + this._source.fire(new Gs("dataabort", { tile: t, coord: t.tileID }))); + } + serialize() { + return this._source.serialize(); + } + prepare(t) { + (this._source.prepare && this._source.prepare(), + this._state.coalesceChanges( + this._inViewTiles, + this.map ? this.map.painter : null, + )); + for (let n of this._inViewTiles.getAllTiles()) + (n.upload(t), n.prepare(this.map.style.imageManager)); + } + getIds() { + return this._inViewTiles.getAllIds(!0); + } + getRenderableIds(t) { + return this._inViewTiles.getRenderableIds( + this.transform?.bearingInRadians, + t, + ); + } + hasRenderableParent(t) { + let n = t.overscaledZ - 1; + if (n >= this._source.minzoom) { + let r = this.getLoadedTile(t.scaledTo(n)); + if (r) return this._inViewTiles.isIdRenderable(r.tileID.key); + } + return !1; + } + reload(t, n = void 0) { + if (this._paused) { + this._shouldReloadOnResume = !0; + return; + } + this._outOfViewCache.reset(); + for (let r of this._inViewTiles.getAllIds()) { + let o = this._inViewTiles.getTileById(r); + (!n || this._source.shouldReloadTile(o, n)) && + (t + ? this._reloadTile(r, o.state === "errored" ? "loading" : "expired") + : o.state !== "errored" && this._reloadTile(r, "reloading")); + } + } + async _reloadTile(t, n) { + let r = this._inViewTiles.getTileById(t); + if (!r) return; + let o = r.hasData(); + (r.state !== "loading" && (r.state = n), + await this._loadTile(r, t, n, o)); + } + _tileLoaded(t, n, r, o, a) { + (o || + ((t.timeAdded = vi()), + t.selfFading && + (t.fadeEndTime = t.timeAdded + this._rasterFadeDuration)), + r === "expired" && (t.refreshedUponExpiration = !0), + this._setTileReloadTimer(n, t), + !a?.unmodified && + (this.getSource().type === "raster-dem" && + t.dem && + gEr(t, this._inViewTiles), + (t.featureStateRevision = -1), + this._state.initializeTileState( + t, + this.map ? this.map.painter : null, + ), + t.aborted || + this._source.fire(new Gs("data", { tile: t, coord: t.tileID })))); + } + getTile(t) { + return this.getTileByID(t.key); + } + getTileByID(t) { + return this._inViewTiles.getTileById(t); + } + _retainLoadedChildren(t, n) { + let r = this._getLoadedDescendents(n), + o = new Set(); + for (let a of n) { + let i = r[a.key]; + if (!i?.length) { + o.add(a); + continue; + } + let s = a.overscaledZ + e.maxOverzooming, + l = i.filter((d) => d.tileID.overscaledZ <= s); + if (!l.length) { + o.add(a); + continue; + } + let c = Math.min(...l.map((d) => d.tileID.overscaledZ)), + u = l.filter((d) => d.tileID.overscaledZ === c).map((d) => d.tileID); + for (let d of u) t[d.key] = d; + this._areDescendentsComplete(u, c, a.overscaledZ) || o.add(a); + } + return o; + } + _getLoadedDescendents(t) { + let n = {}; + for (let r of this._inViewTiles.getAllTiles().filter((o) => o.hasData())) + for (let o of t) + r.tileID.isChildOf(o) && ((n[o.key] ||= []), n[o.key].push(r)); + return n; + } + _areDescendentsComplete(t, n, r) { + return t.length === 1 && t[0].isOverscaled() + ? t[0].overscaledZ === n + : 4 ** (n - r) === t.length; + } + getLoadedTile(t) { + return this._inViewTiles.getLoadedTile(t); + } + updateCacheSize(t) { + let n = + (Math.ceil(t.width / this._source.tileSize) + 1) * + (Math.ceil(t.height / this._source.tileSize) + 1), + r = + this._maxTileCacheZoomLevels === null + ? KT.MAX_TILE_CACHE_ZOOM_LEVELS + : this._maxTileCacheZoomLevels, + o = Math.floor(n * r), + a = + typeof this._maxTileCacheSize == "number" + ? Math.min(this._maxTileCacheSize, o) + : o; + this._outOfViewCache.setMaxSize(a); + } + handleWrapJump(t) { + let n = (t - (this._prevLng === void 0 ? t : this._prevLng)) / 360, + r = Math.round(n); + ((this._prevLng = t), + r && + (this._inViewTiles.handleWrapJump(r), this._resetTileReloadTimers())); + } + _updateMaxContentElevation() { + let t = this._maxContentElevationSeen, + n = this.map?.style?._layers; + if (!n) return t; + let r = this._inViewTiles.getAllTiles(); + for (let o in n) { + let a = n[o]; + if ( + a.type !== "symbol" || + a.source !== this.id || + a.isHidden(this.transform.zoom) + ) + continue; + let i = a; + if (!i.layout) continue; + let s = i.layout.get("symbol-height-offset"); + if (((t = Math.max(t, s.constantOr(0))), !s.isConstant())) + for (let l of r) { + let c = l.getBucket(a); + c && c.maxHeightOffset > t && (t = c.maxHeightOffset); + } + } + return ((this._maxContentElevationSeen = t), t); + } + update(t, n) { + if (!this._sourceLoaded || this._paused) return; + ((this.transform = t), + (this.terrain = n), + this.updateCacheSize(t), + this.handleWrapJump(this.transform.center.lng)); + let r; + (!this.used && !this.usedForTerrain + ? (r = []) + : this._source.tileID + ? (r = t + .getVisibleUnwrappedCoordinates(this._source.tileID) + .map( + (l) => + new Xp( + l.canonical.z, + l.wrap, + l.canonical.z, + l.canonical.x, + l.canonical.y, + ), + )) + : ((r = iB(t, { + tileSize: this.usedForTerrain + ? this.tileSize + : this._source.tileSize, + minzoom: this._source.minzoom, + maxzoom: + this._source.type === "vector" && + this.map._zoomLevelsToOverscale !== void 0 + ? Math.max( + this._source.maxzoom, + t.maxZoom - this.map._zoomLevelsToOverscale, + ) + : this._source.maxzoom, + roundZoom: !this.usedForTerrain && this._source.roundZoom, + reparseOverscaled: this._source.reparseOverscaled, + terrain: n, + calculateTileZoom: this._source.calculateTileZoom, + maxContentElevation: this._updateMaxContentElevation(), + })), + this._source.hasTile && + (r = r.filter((l) => this._source.hasTile(l)))), + this.usedForTerrain && (r = this._addTerrainIdealTiles(r))); + let o = r.length === 0 && !this._updated && this._didEmitContent; + ((this._updated = !0), + o && + this.fire( + new Gs("data", { sourceDataType: "idle", sourceId: this.id }), + )); + let a = fze(t, this._source), + i = this._updateRetainedTiles(r, a), + s = jcn(this._source.type); + (s && + this._rasterFadeDuration > 0 && + !n && + dEr( + this._inViewTiles, + r, + i, + this._maxFadingAncestorLevels, + this._source.minzoom, + this._source.maxzoom, + this._rasterFadeDuration, + ), + s ? this._cleanUpRasterTiles(i) : this._cleanUpVectorTiles(i)); + } + _cleanUpRasterTiles(t) { + for (let n of this._inViewTiles.getAllIds()) t[n] || this._removeTile(n); + } + _cleanUpVectorTiles(t) { + for (let n of this._inViewTiles.getAllIds()) { + let r = this._inViewTiles.getTileById(n); + if (t[n]) { + r.clearSymbolFadeHold(); + continue; + } + if (!r.hasSymbolBuckets) { + this._removeTile(n); + continue; + } + r.holdingForSymbolFade() + ? r.symbolFadeFinished() && this._removeTile(n) + : r.setSymbolHoldDuration(this.map._fadeDuration); + } + } + _addTerrainIdealTiles(t) { + let n = []; + for (let r of t) + if (r.canonical.z > this._source.minzoom) { + let o = r.scaledTo(r.canonical.z - 1); + n.push(o); + let a = r.scaledTo( + Math.max(this._source.minzoom, Math.min(r.canonical.z, 5)), + ); + n.push(a); + } + return t.concat(n); + } + releaseSymbolFadeTiles() { + for (let t of this._inViewTiles.getAllIds()) + this._inViewTiles.getTileById(t).holdingForSymbolFade() && + this._removeTile(t); + } + _updateRetainedTiles(t, n) { + let r = new Set(); + for (let l of t) this._addTile(l).hasData() || r.add(l); + let o = t.reduce((l, c) => ((l[c.key] = c), l), {}), + a = this._retainLoadedChildren(o, r), + i = {}, + s = Math.max(n - e.maxUnderzooming, this._source.minzoom); + for (let l of a) { + let c = this._inViewTiles.getTileById(l.key), + u = c?.wasRequested(); + for (let d = l.overscaledZ - 1; d >= s; --d) { + let p = l.scaledTo(d); + if (i[p.key]) break; + if ( + ((i[p.key] = !0), + (c = this.getTile(p)), + !c && u && (c = this._addTile(p)), + c) + ) { + let f = c.hasData(); + if ( + ((f || !this.map?.cancelPendingTileRequestsWhileZooming || u) && + (o[p.key] = p), + (u = c.wasRequested()), + f) + ) + break; + } + } + } + return o; + } + _addTile(t) { + let n = this._inViewTiles.getTileById(t.key); + if (n) return n; + ((n = this._outOfViewCache.getAndRemove(t)), + n && + (n.resetFadeLogic(), + this._setTileReloadTimer(t.key, n), + (n.tileID = t), + this._state.initializeTileState( + n, + this.map ? this.map.painter : null, + ))); + let r = n; + return ( + n || + ((n = new cdn(t, this._source.tileSize * t.overscaleFactor())), + this._loadTile(n, t.key, n.state, !1)), + n.uses++, + this._inViewTiles.setTile(t.key, n), + r || + this._source.fire( + new Gs("dataloading", { tile: n, coord: n.tileID }), + ), + n + ); + } + _setTileReloadTimer(t, n) { + this._clearTileReloadTimer(t); + let r = n.getExpiryTimeout(); + if (r) { + let o = () => { + (this._reloadTile(t, "expired"), delete this._timers[t]); + }; + this._timers[t] = setTimeout(o, r); + } + } + _clearTileReloadTimer(t) { + let n = this._timers[t]; + n && (clearTimeout(n), delete this._timers[t]); + } + _resetTileReloadTimers() { + for (let t in this._timers) + (clearTimeout(this._timers[t]), delete this._timers[t]); + for (let t of this._inViewTiles.getAllIds()) { + let n = this._inViewTiles.getTileById(t); + this._setTileReloadTimer(t, n); + } + } + refreshTiles(t) { + for (let n of this._inViewTiles.getAllIds()) { + let r = this._inViewTiles.getTileById(n); + (this._inViewTiles.isIdRenderable(n) || r.state == "errored") && + t.some((o) => o.equals(r.tileID.canonical)) && + this._reloadTile(n, "expired"); + } + } + _removeTile(t) { + let n = this._inViewTiles.getTileById(t); + n && + (n.uses--, + this._inViewTiles.deleteTileById(t), + this._clearTileReloadTimer(t), + !(n.uses > 0) && + (n.hasData() && n.state !== "reloading" + ? this._outOfViewCache.add(n.tileID, n, n.getExpiryTimeout()) + : ((n.aborted = !0), this._abortTile(n), this._unloadTile(n)))); + } + _dataHandler(t) { + if (t.dataType === "source") { + if (t.sourceDataType === "metadata") { + this._sourceLoaded = !0; + return; + } + t.sourceDataType === "content" && + this._sourceLoaded && + !this._paused && + (this.reload(t.sourceDataChanged, t.shouldReloadTileOptions), + this.transform && this.update(this.transform, this.terrain), + (this._didEmitContent = !0)); + } + } + resetMaxContentElevation() { + this._maxContentElevationSeen = 0; + } + clearTiles() { + ((this._shouldReloadOnResume = !1), + (this._paused = !1), + this.resetMaxContentElevation()); + for (let t of this._inViewTiles.getAllIds()) this._removeTile(t); + this._outOfViewCache.reset(); + } + tilesIn(t, n, r) { + let o = [], + a = this.transform; + if (!a) return o; + let i = a.getCoveringTilesDetailsProvider().allowWorldCopies(), + s = r ? a.getCameraQueryGeometry(t) : t, + l = (f) => a.screenPointToMercatorCoordinate(f, this.terrain), + c = this.transformBbox(t, l, !i), + u = this.transformBbox(s, l, !i), + d = this.getIds(), + p = By.fromPoints(u); + for (let f of d) { + let m = this._inViewTiles.getTileById(f); + if (m.holdingForSymbolFade()) continue; + let g = i ? [m.tileID] : [m.tileID.unwrapTo(-1), m.tileID.unwrapTo(0)], + v = 2 ** (a.zoom - m.tileID.overscaledZ), + y = (n * m.queryPadding * Ut) / m.tileSize / v; + for (let x of g) { + let A = p.map((w) => x.getTilePoint(new ai(w.x, w.y))); + if ((A.expandBy(y), A.intersects(hln))) { + let w = c.map((E) => x.getTilePoint(E)), + C = u.map((E) => x.getTilePoint(E)); + o.push({ + tile: m, + tileID: i ? x : x.unwrapTo(0), + queryGeometry: w, + cameraQueryGeometry: C, + scale: v, + }); + } + } + } + return o; + } + transformBbox(t, n, r) { + let o = t.map(n); + if (r) { + let a = By.fromPoints(t); + a.shrinkBy(Math.min(a.width(), a.height()) * 0.001); + let i = a.map(n); + By.fromPoints(o).covers(i) || + (o = o.map((s) => (s.x > 0.5 ? new ai(s.x - 1, s.y, s.z) : s))); + } + return o; + } + getVisibleCoordinates(t) { + let n = this.getRenderableIds(t).map( + (r) => this._inViewTiles.getTileById(r).tileID, + ); + return (this.transform && this.transform.populateCache(n), n); + } + hasTransition() { + return this._source.hasTransition() + ? !0 + : jcn(this._source.type) && + hEr(this._inViewTiles, this._rasterFadeDuration); + } + setRasterFadeDuration(t) { + this._rasterFadeDuration = t; + } + setFeatureState(t, n, r) { + ((t ||= BQ), this._state.updateState(t, n, r)); + } + removeFeatureState(t, n, r) { + ((t ||= BQ), this._state.removeFeatureState(t, n, r)); + } + getFeatureState(t, n) { + return ((t ||= BQ), this._state.getState(t, n)); + } + setDependencies(t, n, r) { + let o = this._inViewTiles.getTileById(t); + o && o.setDependencies(n, r); + } + reloadTilesForDependencies(t, n) { + for (let r of this._inViewTiles.getAllIds()) + this._inViewTiles.getTileById(r).hasDependency(t, n) && + this._reloadTile(r, "reloading"); + this._outOfViewCache.filter((r) => !r.hasDependency(t, n)); + } + areTilesLoaded() { + for (let t of this._inViewTiles.getAllTiles()) + if (t.state !== "loaded" && t.state !== "errored") return !1; + return !0; + } + }; + AEr = kw(); + IEr = new Float32Array([ + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + ]); + ((uun = [ + Int8Array, + Uint8Array, + Uint8ClampedArray, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]), + (Sl = new Uint32Array(96))); + ((_Q = 512 / Ut / 2), + (Qx = { + prelude: Ba(GEr, qEr), + projectionMercator: Ba( + ` +void clipAntimeridian() {}`, + "float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}", + ), + projectionGlobe: Ba( + "in highp float v_projection_tile_x;void clipAntimeridian() {if (u_projection_clip_antimeridian !=0 && (v_projection_tile_x < 0.0 || v_projection_tile_x >=8192.0)) {discard;}}", + `#define GLOBE_RADIUS 6371008.8 #ifndef PROJECTION_UBO uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix; #endif out highp float v_projection_tile_x;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos );}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float t=exp(PI-(mercator_pos_y*PI*2.0));return (2.0*t)/(t*t+1.0);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY);if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;float spherical_x=mercator_pos.x*PI*2.0+PI;float t=exp(PI-(mercator_pos.y*PI*2.0));float t2=t*t;float denom=t2+1.0;float sin_sy=(t2-1.0)/denom;float cos_sy=(2.0*t)/denom;vec3 pos=vec3(sin(spherical_x)*cos_sy,sin_sy,cos(spherical_x)*cos_sy -);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {v_projection_tile_x=posInTile.x;vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {v_projection_tile_x=posInTile.x;vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:Ba(ZEr,QEr),backgroundPattern:Ba(XEr,WEr),circle:Ba(YEr,KEr),clippingMask:Ba(pun,"layout(location=0) in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}"),heatmap:Ba(`uniform highp float u_intensity;in vec2 v_extrude; +);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {v_projection_tile_x=posInTile.x;vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {v_projection_tile_x=posInTile.x;vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`, + ), + background: Ba(ZEr, QEr), + backgroundPattern: Ba(XEr, WEr), + circle: Ba(YEr, KEr), + clippingMask: Ba( + pun, + "layout(location=0) in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}", + ), + heatmap: Ba( + `uniform highp float u_intensity;in vec2 v_extrude; #pragma maplibre: define highp float weight #define GAUSS_COEF 0.3989422804014327 void main() { @@ -360,7 +133529,8 @@ float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;layout(location=0) in ivec2 a_pos;out vec2 v_extrude; +}`, + `uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;layout(location=0) in ivec2 a_pos;out vec2 v_extrude; #pragma maplibre: define highp float weight #pragma maplibre: define mediump float radius const highp float ZERO=1.0/255.0/16.0; @@ -374,11 +133544,26 @@ vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToS #else gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center)); #endif -}`),heatmapTexture:Ba(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity; +}`, + ), + heatmapTexture: Ba( + `uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(0.0); #endif -}`,"uniform mat4 u_matrix;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world_size,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:Ba("flat in float v_placed;flat in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}","layout(location=0) in vec2 a_anchor_pos;layout(location=1) in vec2 a_placed;layout(location=2) in vec2 a_box_real;flat out float v_placed;flat out float v_notUsed;void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:Ba("flat in float v_radius;in vec2 v_extrude;flat in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);fragColor=color*alpha*opacity_t;}","layout(location=0) in vec2 a_pos;layout(location=1) in float a_radius;layout(location=2) in vec2 a_flags;flat out float v_radius;out vec2 v_extrude;flat out float v_collision;void main() {float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),colorRelief:Ba(`#ifdef GL_ES +}`, + "uniform mat4 u_matrix;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world_size,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}", + ), + collisionBox: Ba( + "flat in float v_placed;flat in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}", + "layout(location=0) in vec2 a_anchor_pos;layout(location=1) in vec2 a_placed;layout(location=2) in vec2 a_box_real;flat out float v_placed;flat out float v_notUsed;void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}", + ), + collisionCircle: Ba( + "flat in float v_radius;in vec2 v_extrude;flat in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);fragColor=color*alpha*opacity_t;}", + "layout(location=0) in vec2 a_pos;layout(location=1) in float a_radius;layout(location=2) in vec2 a_flags;flat out float v_radius;out vec2 v_extrude;flat out float v_collision;void main() {float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}", + ), + colorRelief: Ba( + `#ifdef GL_ES precision highp float; #endif uniform sampler2D u_image;uniform vec4 u_unpack;uniform sampler2D u_elevation_stops;uniform sampler2D u_color_stops;uniform int u_color_ramp_size;uniform float u_opacity;in vec2 v_pos;float getElevation(vec2 coord) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}float getElevationStop(int stop) {vec4 data=texelFetch(u_elevation_stops,ivec2(stop,0),0)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {float el=getElevation(v_pos);int r=(u_color_ramp_size-1);int l=0;float el_l=getElevationStop(l);float el_r=getElevationStop(r);while(r-l > 1){int m=(r+l)/2;float el_m=getElevationStop(m);if(el < el_m){r=m;el_r=el_m;}else @@ -386,13 +133571,25 @@ uniform sampler2D u_image;uniform vec4 u_unpack;uniform sampler2D u_elevation_st #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,"uniform vec2 u_dimension;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);highp vec2 epsilon=2.0/u_dimension;float scale=(u_dimension.x-4.0)/u_dimension.x;v_pos=(a_pos/8192.0)*scale+epsilon;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}"),debug:Ba("uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}","layout(location=0) in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}"),depth:Ba(pun,`layout(location=0) in vec2 a_pos;void main() { +}`, + "uniform vec2 u_dimension;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);highp vec2 epsilon=2.0/u_dimension;float scale=(u_dimension.x-4.0)/u_dimension.x;v_pos=(a_pos/8192.0)*scale+epsilon;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}", + ), + debug: Ba( + "uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}", + "layout(location=0) in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}", + ), + depth: Ba( + pun, + `layout(location=0) in vec2 a_pos;void main() { #ifdef GLOBE gl_Position=projectTileFor3D(a_pos,0.0); #else gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0); #endif -}`),fill:Ba(`#pragma maplibre: define highp vec4 color +}`, + ), + fill: Ba( + `#pragma maplibre: define highp vec4 color #pragma maplibre: define lowp float opacity void main() { #pragma maplibre: initialize highp vec4 color @@ -401,13 +133598,17 @@ fragColor=color*opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos; +}`, + `uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos; #pragma maplibre: define highp vec4 color #pragma maplibre: define lowp float opacity void main() { #pragma maplibre: initialize highp vec4 color #pragma maplibre: initialize lowp float opacity -if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}gl_Position=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:Ba(`in vec2 v_pos; +if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}gl_Position=projectTile(a_pos+u_fill_translate,a_pos);}`, + ), + fillOutline: Ba( + `in vec2 v_pos; #ifdef GLOBE in float v_depth; #endif @@ -423,7 +133624,8 @@ if (v_depth > 1.0) {discard;} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos; +}`, + `uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos; #ifdef GLOBE out float v_depth; #endif @@ -436,7 +133638,10 @@ if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}gl_Position=pr #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif -}`),fillOutlinePattern:Ba(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;uniform bool u_sdf_pattern;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos; +}`, + ), + fillOutlinePattern: Ba( + `uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;uniform bool u_sdf_pattern;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos; #ifdef GLOBE in float v_depth; #endif @@ -456,7 +133661,8 @@ if (v_depth > 1.0) {discard;} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos; +}`, + `uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos; #ifdef GLOBE out float v_depth; #endif @@ -477,7 +133683,10 @@ if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}vec2 pattern_t #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif -}`),fillPattern:Ba(`#ifdef GL_ES +}`, + ), + fillPattern: Ba( + `#ifdef GL_ES precision highp float; #endif uniform vec2 u_texsize;uniform float u_fade;uniform bool u_sdf_pattern;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b; @@ -494,7 +133703,8 @@ vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b; +}`, + `uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b; #pragma maplibre: define lowp float opacity #pragma maplibre: define highp vec4 color #pragma maplibre: define lowp vec4 pattern_from @@ -508,11 +133718,15 @@ void main() { #pragma maplibre: initialize mediump vec4 pattern_to #pragma maplibre: initialize lowp float pixel_ratio_from #pragma maplibre: initialize lowp float pixel_ratio_to -if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:Ba(`in vec4 v_color;void main() {fragColor=v_color; +if (opacity < 0.01) {gl_Position=vec4(-2.0,-2.0,-2.0,1.0);return;}vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`, + ), + fillExtrusion: Ba( + `in vec4 v_color;void main() {fragColor=v_color; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;layout(location=1) in ivec4 a_normal_ed; +}`, + `uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;layout(location=0) in vec2 a_pos;layout(location=1) in ivec4 a_normal_ed; #ifdef TERRAIN3D layout(location=2) in vec2 a_centroid; #endif @@ -540,7 +133754,10 @@ float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0 #ifdef GLOBE mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition); #endif -directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+gradient_base)*pow(gradient_height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:Ba(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in vec4 v_lighting; +directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+gradient_base)*pow(gradient_height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`, + ), + fillExtrusionPattern: Ba( + `uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in vec4 v_lighting; #pragma maplibre: define lowp float base #pragma maplibre: define lowp float height #pragma maplibre: define lowp vec4 pattern_from @@ -558,7 +133775,8 @@ vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;layout(location=0) in vec2 a_pos;layout(location=1) in ivec4 a_normal_ed; +}`, + `uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;layout(location=0) in vec2 a_pos;layout(location=1) in ivec4 a_normal_ed; #ifdef TERRAIN3D layout(location=2) in vec2 a_centroid; #endif @@ -593,14 +133811,21 @@ gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); #endif vec2 pos=a_normal_ed.x==1 && a_normal_ed.y==0 && a_normal_ed.z==16384 ? a_pos -: vec2(edgedistance,elevation*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+gradient_base)*pow(gradient_height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:Ba(`#ifdef GL_ES +: vec2(edgedistance,elevation*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+gradient_base)*pow(gradient_height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`, + ), + hillshadePrepare: Ba( + `#ifdef GL_ES precision highp float; #endif uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(ivec2 texel) {vec4 data=texelFetch(u_image,texel,0)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {ivec2 pos=ivec2(gl_FragCoord.xy)+ivec2(1);float tileSize=u_dimension.x-4.0;float a=getElevation(pos+ivec2(-1,-1));float b=getElevation(pos+ivec2(0,-1));float c=getElevation(pos+ivec2(1,-1));float d=getElevation(pos+ivec2(-1,0));float e=getElevation(pos);float f=getElevation(pos+ivec2(1,0));float g=getElevation(pos+ivec2(-1,1));float h=getElevation(pos+ivec2(0,1));float i=getElevation(pos+ivec2(1,1));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))*tileSize/pow(2.0,exaggeration+(28.2562-u_zoom));fragColor=clamp(vec4(deriv.x/8.0+128.0/255.0,deriv.y/8.0+128.0/255.0,1.0,1.0),0.0,1.0); #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;layout(location=0) in vec2 a_pos;layout(location=1) in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Ba(`uniform sampler2D u_image;in highp vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES]; +}`, + "uniform mat4 u_matrix;uniform vec2 u_dimension;layout(location=0) in vec2 a_pos;layout(location=1) in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}", + ), + hillshade: Ba( + `uniform sampler2D u_image;in highp vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES]; #define PI 3.141592653589793 #define STANDARD 0 #define COMBINED 1 @@ -613,7 +133838,11 @@ float get_aspect(vec2 deriv){return deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/ #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,"uniform mat4 u_matrix;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}"),line:Ba(`flat in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale; +}`, + "uniform mat4 u_matrix;layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}", + ), + line: Ba( + `flat in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale; #ifdef GLOBE in float v_depth; #endif @@ -631,7 +133860,8 @@ if (v_depth > 1.0) {discard;} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,` +}`, + ` #define scale 0.015873016 layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;out vec2 v_normal;flat out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar; #ifdef GLOBE @@ -659,7 +133889,10 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -v_width2=vec2(outset,inset);}`),lineGradient:Ba(`uniform sampler2D u_image;flat in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv; +v_width2=vec2(outset,inset);}`, + ), + lineGradient: Ba( + `uniform sampler2D u_image;flat in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv; #ifdef GLOBE in float v_depth; #endif @@ -675,7 +133908,8 @@ if (v_depth > 1.0) {discard;} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,` +}`, + ` #define scale 0.015873016 layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;layout(location=2) in float a_uv_x;layout(location=3) in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform float u_image_height;out vec2 v_normal;flat out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv; #ifdef GLOBE @@ -701,7 +133935,10 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -v_width2=vec2(outset,inset);}`),linePattern:Ba(`#ifdef GL_ES +v_width2=vec2(outset,inset);}`, + ), + linePattern: Ba( + `#ifdef GL_ES precision highp float; #endif uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;in vec2 v_normal;flat in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;flat in float v_width; @@ -728,7 +133965,8 @@ if (v_depth > 1.0) {discard;} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,` +}`, + ` #define scale 0.015873016 #define LINE_DISTANCE_SCALE 2.0 layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;out vec2 v_normal;flat out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;flat out float v_width; @@ -765,7 +134003,10 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Ba(`uniform lowp float u_lineatlas_width;uniform sampler2D u_image;uniform float u_mix;in vec2 v_normal;flat in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale; +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`, + ), + lineSDF: Ba( + `uniform lowp float u_lineatlas_width;uniform sampler2D u_image;uniform float u_mix;in vec2 v_normal;flat in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale; #ifdef GLOBE in float v_depth; #endif @@ -791,7 +134032,8 @@ if (v_depth > 1.0) {discard;} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,` +}`, + ` #define scale 0.015873016 #define LINE_DISTANCE_SCALE 2.0 layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;flat out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale; @@ -826,7 +134068,10 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),lineGradientSDF:Ba(`uniform sampler2D u_image;uniform sampler2D u_image_dash;uniform float u_mix;uniform lowp float u_lineatlas_width;in vec2 v_normal;flat in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;in highp vec2 v_uv; +float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`, + ), + lineGradientSDF: Ba( + `uniform sampler2D u_image;uniform sampler2D u_image_dash;uniform float u_mix;uniform lowp float u_lineatlas_width;in vec2 v_normal;flat in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;in highp vec2 v_uv; #ifdef GLOBE in float v_depth; #endif @@ -850,7 +134095,8 @@ if (v_depth > 1.0) {discard;} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,` +}`, + ` #define scale 0.015873016 #define LINE_DISTANCE_SCALE 2.0 layout(location=0) in ivec2 a_pos_normal;layout(location=1) in uvec4 a_data;layout(location=2) in float a_uv_x;layout(location=3) in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform float u_image_height;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;flat out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;out vec2 v_tex_a;out vec2 v_tex_b; @@ -883,23 +134129,35 @@ v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif -float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),layerOpacity:Ba(`uniform sampler2D u_image;uniform float u_opacity;in vec2 v_pos;void main() {fragColor=texture(u_image,v_pos)*u_opacity; +float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`, + ), + layerOpacity: Ba( + `uniform sampler2D u_image;uniform float u_opacity;in vec2 v_pos;void main() {fragColor=texture(u_image,v_pos)*u_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(0.0); #endif -}`,"layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=vec4(a_pos.x*2.0-1.0,1.0-a_pos.y*2.0,0.0,1.0);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),raster:Ba(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec3 v_pos0;in vec3 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture(u_image0,v_pos0.xy/v_pos0.z);vec4 color1=texture(u_image1,v_pos1.xy/v_pos1.z);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +}`, + "layout(location=0) in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=vec4(a_pos.x*2.0-1.0,1.0-a_pos.y*2.0,0.0,1.0);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}", + ), + raster: Ba( + `uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec3 v_pos0;in vec3 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture(u_image0,v_pos0.xy/v_pos0.z);vec4 color1=texture(u_image1,v_pos1.xy/v_pos1.z);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec3 u_image_warp;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;layout(location=0) in vec2 a_pos;out vec3 v_pos0;out vec3 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 topLeft=u_coords_top.xy;vec2 topRight=u_coords_top.zw;vec2 bottomLeft=u_coords_bottom.xy;vec2 bottomRight=u_coords_bottom.zw;vec2 bilinearPos=mix(mix(topLeft,topRight,fractionalPos.x),mix(bottomLeft,bottomRight,fractionalPos.x),fractionalPos.y);float denominator=dot(u_image_warp.xy,fractionalPos)+1.0;vec2 acrossTop=topRight-topLeft+u_image_warp.x*topRight;vec2 downLeft=bottomLeft-topLeft+u_image_warp.y*bottomLeft;vec2 projectivePos=(acrossTop*fractionalPos.x+downLeft*fractionalPos.y+topLeft)/denominator;vec2 position=mix(projectivePos,bilinearPos,u_image_warp.z);gl_Position=projectTile(position,position);vec2 texturePos=((fractionalPos-0.5)/u_buffer_scale)+0.5; +}`, + `uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec3 u_image_warp;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;layout(location=0) in vec2 a_pos;out vec3 v_pos0;out vec3 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 topLeft=u_coords_top.xy;vec2 topRight=u_coords_top.zw;vec2 bottomLeft=u_coords_bottom.xy;vec2 bottomRight=u_coords_bottom.zw;vec2 bilinearPos=mix(mix(topLeft,topRight,fractionalPos.x),mix(bottomLeft,bottomRight,fractionalPos.x),fractionalPos.y);float denominator=dot(u_image_warp.xy,fractionalPos)+1.0;vec2 acrossTop=topRight-topLeft+u_image_warp.x*topRight;vec2 downLeft=bottomLeft-topLeft+u_image_warp.y*bottomLeft;vec2 projectivePos=(acrossTop*fractionalPos.x+downLeft*fractionalPos.y+topLeft)/denominator;vec2 position=mix(projectivePos,bilinearPos,u_image_warp.z);gl_Position=projectTile(position,position);vec2 texturePos=((fractionalPos-0.5)/u_buffer_scale)+0.5; #ifdef GLOBE if (a_pos.y <-32767.5) {texturePos.y=0.0;}if (a_pos.y > 32766.5) {texturePos.y=1.0;} #endif -float perspectiveRatio=mix(1.0/denominator,1.0,u_image_warp.z);v_pos0=vec3(texturePos*perspectiveRatio,perspectiveRatio);vec2 parentPos=(texturePos*u_scale_parent)+u_tl_parent;v_pos1=vec3(parentPos*perspectiveRatio,perspectiveRatio);}`),symbolIcon:Ba(`uniform sampler2D u_texture;in vec2 v_tex;flat in float v_total_opacity;void main() {fragColor=texture(u_texture,v_tex)*v_total_opacity; +float perspectiveRatio=mix(1.0/denominator,1.0,u_image_warp.z);v_pos0=vec3(texturePos*perspectiveRatio,perspectiveRatio);vec2 parentPos=(texturePos*u_scale_parent)+u_tl_parent;v_pos1=vec3(parentPos*perspectiveRatio,perspectiveRatio);}`, + ), + symbolIcon: Ba( + `uniform sampler2D u_texture;in vec2 v_tex;flat in float v_total_opacity;void main() {fragColor=texture(u_texture,v_tex)*v_total_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec4 a_pixeloffset;layout(location=3) in vec3 a_projected_pos;layout(location=4) in uint a_fade_opacity;layout(location=5) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform bool u_rotate_symbol;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec2 v_tex;flat out float v_total_opacity; +}`, + `layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec4 a_pixeloffset;layout(location=3) in vec3 a_projected_pos;layout(location=4) in uint a_fade_opacity;layout(location=5) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform bool u_rotate_symbol;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec2 v_tex;flat out float v_total_opacity; #pragma maplibre: define lowp float opacity void main() { #pragma maplibre: initialize lowp float opacity @@ -909,7 +134167,10 @@ u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ra #ifdef GLOBE if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} #endif -vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;}`),symbolSDF:Ba(`#define SDF_PX 8.0 +vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;}`, + ), + symbolSDF: Ba( + `#define SDF_PX 8.0 uniform bool u_is_halo;uniform bool u_is_plain;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform bool u_is_text;in vec2 v_data0;in vec3 v_data1; #pragma maplibre: define highp vec4 fill_color #pragma maplibre: define highp vec4 halo_color @@ -924,7 +134185,8 @@ float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scal #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec4 a_pixeloffset;layout(location=3) in vec3 a_projected_pos;layout(location=4) in uint a_fade_opacity;layout(location=5) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform bool u_rotate_symbol;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec2 v_data0;out vec3 v_data1; +}`, + `layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec4 a_pixeloffset;layout(location=3) in vec3 a_projected_pos;layout(location=4) in uint a_fade_opacity;layout(location=5) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform bool u_rotate_symbol;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec2 v_data0;out vec3 v_data1; #pragma maplibre: define highp vec4 fill_color #pragma maplibre: define highp vec4 halo_color #pragma maplibre: define lowp float opacity @@ -942,7 +134204,10 @@ u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ra #ifdef GLOBE if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} #endif -vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,total_opacity);}`),symbolTextAndIcon:Ba(`#define SDF_PX 8.0 +vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,total_opacity);}`, + ), + symbolTextAndIcon: Ba( + `#define SDF_PX 8.0 #define SDF 1.0 #define ICON 0.0 uniform bool u_is_halo;uniform bool u_is_text;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;in vec4 v_data0;in vec3 v_data1;flat in float v_is_sdf; @@ -963,7 +134228,8 @@ return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float ga #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif -}`,`layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec3 a_projected_pos;layout(location=3) in uint a_fade_opacity;layout(location=4) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec4 v_data0;out vec3 v_data1;flat out float v_is_sdf; +}`, + `layout(location=0) in vec4 a_pos_offset;layout(location=1) in uvec4 a_data;layout(location=2) in vec3 a_projected_pos;layout(location=3) in uint a_fade_opacity;layout(location=4) in float a_height_offset;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;uniform bool u_is_offset;uniform bool u_height_anchor_ground;out vec4 v_data0;out vec3 v_data1;flat out float v_is_sdf; #pragma maplibre: define highp vec4 fill_color #pragma maplibre: define highp vec4 halo_color #pragma maplibre: define lowp float opacity @@ -981,16 +134247,33355 @@ u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ra #ifdef GLOBE if(u_pitch_with_map && !u_is_along_line) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} #endif -vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec3(gamma_scale,size,total_opacity);v_is_sdf=is_sdf;}`),terrain:Ba("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && u_fog_ground_blend_opacity > 0.0 && v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}","layout(location=0) in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:Ba("in float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {fragColor=pack(v_depth);}","layout(location=0) in vec3 a_pos3d;uniform float u_ele_delta;out float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}"),atmosphere:Ba(`#ifdef GL_ES +vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec3(gamma_scale,size,total_opacity);v_is_sdf=is_sdf;}`, + ), + terrain: Ba( + "uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && u_fog_ground_blend_opacity > 0.0 && v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}", + "layout(location=0) in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}", + ), + terrainDepth: Ba( + "in float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {fragColor=pack(v_depth);}", + "layout(location=0) in vec3 a_pos3d;uniform float u_ele_delta;out float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}", + ), + atmosphere: Ba( + `#ifdef GL_ES precision highp float; #endif in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d < 0.0) return vec2(1e5,-1e5);return vec2((-b-sqrt(d))/(2.0*a),(-b+sqrt(d))/(2.0*a));}vec4 atmosphere(vec3 r,vec3 r0,vec3 pSun,float iSun,float rPlanet,float rAtmos,vec3 kRlh,float kMie,float shRlh,float shMie,float g) {pSun=normalize(pSun);r=normalize(r);vec2 p=rsi(r0,r,rAtmos);if (p.x > p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x <=p2.y && p2.x > 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j < jSteps; j++) {vec3 jPos=iPos+pSun*jTime;float jHeight=length(jPos)-rPlanet;jOdRlh+=exp(-jHeight/shRlh)*jStepSize;jOdMie+=exp(-jHeight/shMie)*jStepSize;jTime+=jStepSize;}vec3 attn=exp(-(kMie*(iOdMie+jOdMie)+kRlh*(iOdRlh+jOdRlh)));totalRlh+=odStepRlh*attn;totalMie+=odStepMie*attn;iTime+=iStepSize;}float opacity=exp(-(length(kRlh)*length(totalRlh)+kMie*length(totalMie)));vec3 color=iSun*(pRlh*kRlh*totalRlh+pMie*kMie*totalMie);return vec4(color,opacity);}void main() {vec3 scale_camera_pos=-u_globe_position*EARTH_RADIUS/u_globe_radius;vec4 color=atmosphere(normalize(view_direction),scale_camera_pos,u_sun_pos,22.0,EARTH_RADIUS,ATMOS_RADIUS,vec3(5.5e-6,13.0e-6,22.4e-6),21e-6,8e3,1.2e3,0.758 -);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`,"layout(location=0) in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}"),sky:Ba("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;in vec3 v_view_direction;const float ATMOSPHERE_HEIGHT_TO_GLOBE_RADIUS=100000.0/6371000.0;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;float opacity=1.0;if (u_sky_blend > 0.0) {vec3 ray=normalize(v_view_direction);float globe_distance=length(u_globe_position);float angle_to_globe_center=acos(clamp(dot(ray,u_globe_position)/globe_distance,-1.0,1.0));float horizon_angle=asin(min(u_globe_radius/globe_distance,1.0));blend=mix(blend,((angle_to_globe_center-horizon_angle)*u_camera_to_center_distance+1.0)*u_device_pixel_ratio,u_sky_blend);float closest_approach=max(dot(ray,u_globe_position),0.0);float lowest_altitude=sqrt(max(globe_distance*globe_distance-closest_approach*closest_approach,0.0))-u_globe_radius;float atmosphere_height=u_globe_radius*ATMOSPHERE_HEIGHT_TO_GLOBE_RADIUS;float inside_atmosphere=1.0-smoothstep(atmosphere_height,10.0*atmosphere_height,globe_distance-u_globe_radius);float through_atmosphere=1.0-smoothstep(0.0,atmosphere_height,lowest_altitude);opacity=inside_atmosphere*through_atmosphere*(1.0-u_atmosphere_blend);}if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor*=mix(1.0,opacity,u_sky_blend);}","layout(location=0) in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 v_view_direction;void main() {v_view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,1.0,1.0);}")};jEr=nl([{name:"a_pos3d",type:"Int16",components:3}]),$Er=class extends Qp{constructor(e){super(),this._lastTilesetChange=vi(),this.tileManager=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=e._source.tileSize*2**this.deltaZoom,e.usedForTerrain=!0,e.tileSize=this.tileSize}destruct(){this.tileManager.usedForTerrain=!1,this.tileManager.tileSize=null,this.releaseAllRTT()}getSource(){return this.tileManager._source}update(e,t){this.tileManager.update(e,t),this._renderableTilesKeys=[];let n={},r=!1;for(let o of iB(e,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:t}))n[o.key]=!0,this._renderableTilesKeys.push(o.key),this._tiles[o.key]||(o.terrainRttPosMatrix32f=new Float32Array(16),yv(o.terrainRttPosMatrix32f,0,Ut,Ut,0,0,1),this._tiles[o.key]=new cdn(o,this.tileSize),this._lastTilesetChange=vi(),r=!0);for(let o in this._tiles)n[o]||(this._tiles[o].releaseRTT(this.tileManager.map.painter),delete this._tiles[o],r=!0);return r}releaseRTT(e){for(let t in this._tiles){let n=this._tiles[t];(n.tileID.equals(e)||n.tileID.isChildOf(e)||e.isChildOf(n.tileID))&&n.releaseRTT(this.tileManager.map.painter)}}releaseAllRTT(){for(let e in this._tiles)this._tiles[e].releaseRTT(this.tileManager.map.painter)}getRenderableTiles(){return this._renderableTilesKeys.map((e)=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e,t){return t?this._getTerrainCoordsForTileRanges(e,t):this._getTerrainCoordsForRegularTile(e)}_getTerrainCoordsForRegularTile(e){let t={};for(let n of this._renderableTilesKeys){let r=this._tiles[n].tileID,o=e.clone(),a=YC();if(r.canonical.equals(e.canonical))yv(a,0,Ut,Ut,0,0,1);else if(r.canonical.isChildOf(e.canonical)){let i=r.canonical.z-e.canonical.z,s=r.canonical.x-(r.canonical.x>>i<>i<>i;yv(a,0,c,c,0,0,1),vc(a,a,[-s*c,-l*c,0])}else if(e.canonical.isChildOf(r.canonical)){let i=e.canonical.z-r.canonical.z,s=e.canonical.x-(e.canonical.x>>i<>i<>i;yv(a,0,Ut,Ut,0,0,1),vc(a,a,[s*c,l*c,0]),Gp(a,a,[1/2**i,1/2**i,0])}else continue;o.terrainRttPosMatrix32f=new Float32Array(a),t[n]=o}return t}_getTerrainCoordsForTileRanges(e,t){let n={};for(let r of this._renderableTilesKeys){let o=this._tiles[r].tileID;if(!this._isWithinTileRanges(o,t))continue;let a=e.clone(),i=YC();if(o.canonical.z===e.canonical.z){let s=e.canonical.x-o.canonical.x+e.wrap*(1<e.canonical.z){let s=o.canonical.z-e.canonical.z,l=o.canonical.x-(o.canonical.x>>s<>s<>s),d=e.canonical.y-(o.canonical.y>>s),p=Ut>>s;yv(i,0,p,p,0,0,1),vc(i,i,[-l*p+u*Ut,-c*p+d*Ut,0])}else{let s=e.canonical.z-o.canonical.z,l=e.canonical.x-(e.canonical.x>>s<>s<>s)-o.canonical.x,d=(e.canonical.y>>s)-o.canonical.y,p=Ut<n.maxzoom&&(r=n.maxzoom),r=n.minzoom&&!o?.dem;)o=this.findTileInCaches(e.scaledTo(r--).key);return o}findTileInCaches(e){let t=this.tileManager.getTileByID(e);return t||(t=this.tileManager._outOfViewCache.getByKey(e),t)}anyTilesAfterTime(e=vi()){return this._lastTilesetChange>=e}_isWithinTileRanges(e,t){let n=t[e.canonical.z];return!!n&&(e.wrap>n.minWrap||e.wrap=n.minTileXWrapped&&e.canonical.x<=n.maxTileXWrapped&&e.canonical.y>=n.minTileY&&e.canonical.y<=n.maxTileY)}},hun=Ut*0.999999999999,yun={covered:!1,demLoaded:!1,elevation:0};UNe=new Wfe({fill:new zx(128,2),line:new zx(512,0),tile:new zx(128,32),stencil:new zx(128,1),circle:3}),bun=class extends Qp{constructor(e,t){super(),this._transitionable=new wQ(nIr(),"projection",t),this.setProjection(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new oi(0)),this._mercatorProjection=new sze,this._verticalPerspectiveProjection=new Sdn}get transitionState(){let e=this.properties.get("type");if(typeof e=="string"&&e==="mercator")return 0;if(typeof e=="string"&&e==="vertical-perspective")return 1;if(e instanceof Dw){if(e.from===e.to)return e.from==="mercator"?0:1;if(e.from==="vertical-perspective"&&e.to==="mercator")return 1-e.transition;if(e.from==="mercator"&&e.to==="vertical-perspective")return e.transition}return 1}get useGlobeRendering(){return this.transitionState>0}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return"globe"}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}getMeshFromTileID(e,t,n,r,o){return this.currentProjection.getMeshFromTileID(e,t,n,r,o)}setProjection(e){this._transitionable.setValue("type",e?.type||"mercator")}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}};NNe=Math.PI*0.98;yIr=Z5r(),Run=class extends Qp{constructor(e,t={}){super(),this._rtlPluginLoaded=()=>{for(let r in this.tileManagers){let o=this.tileManagers[r].getSource().type;(o==="vector"||o==="geojson")&&this.tileManagers[r].reload()}},this.map=e,this.dispatcher=new edn($un(),e._getMapId()).setEventedParent(this),this.dispatcher.registerMessageHandler("GG",(r,o)=>this.getGlyphs(r,o)),this.dispatcher.registerMessageHandler("GI",(r,o)=>this.getImages(r,o)),this.dispatcher.registerMessageHandler("GDA",(r,o)=>this.getDashes(r,o)),this.imageManager=new W5r,this.imageManager.setEventedParent(this),this.imageManager.setMissingImageResolver(e._missingStyleImageResolver),this.patternAtlas=new Y5r(this.imageManager);let n=e._container?.lang||typeof document<"u"&&document.documentElement?.lang||void 0;this.glyphManager=new o8r(e._requestManager,t.localIdeographFontFamily,n),this.lineAtlas=new d8r(256,512),this.crossTileSymbolIndex=new hdn,this._setInitialValues(),this._resetUpdates(),this.dispatcher.broadcast("SR",Efe()),tze().on(eze,this._rtlPluginLoaded),this.on("data",(r)=>{if(r.dataType!=="source"||r.sourceDataType!=="metadata")return;let o=this.tileManagers[r.sourceId];if(!o)return;let a=o.getSource();if(a?.vectorLayerIds)for(let i in this._layers){let s=this._layers[i];s.source===a.id&&this._validateLayer(s)}})}_setInitialValues(){this._layers={},this._order=[],this.tileManagers={},this.zoomHistory=new efe,this._imagesListDirty=!1,this._globalState={},this._serializedLayers={},this.stylesheet=null,this.light=null,this.sky=null,this.projection&&(this.projection.destroy(),delete this.projection),this._loaded=!1,this._changed=!1,this._updatedLayers={},this._updatedSources={},this._changedImages={},this._glyphsDidChange=!1,this._updatedPaintProps={},this._layerOrderChanged=!1,this._symbolPlacementTriggered=!1,this._placedProjectionTransition=void 0,this.crossTileSymbolIndex=new(this.crossTileSymbolIndex?.constructor||Object),this.pauseablePlacement=void 0,this.placement=void 0,this.z=0}setGlobalStateProperty(e,t){this._checkLoaded();let n=t===null?this.stylesheet.state?.[e]?.default??null:t;return this._setGlobalStateValues({[e]:n}),this}getGlobalState(){return this._globalState}setGlobalState(e){this._checkLoaded();let t={};for(let n in e)t[n]=e[n].default;this._setGlobalStateValues(t)}_setGlobalStateValues(e){let t=[];for(let r in e)hv(e[r],this._globalState[r])||t.push(r);if(t.length===0)return;let n={...this._globalState};for(let r of t)this._globalState[r]=e[r];this._applyGlobalStateChanges(t,n)}_applyGlobalStateChanges(e,t){let n=new Set,r={};for(let a of e)r[a]=this._globalState[a];for(let a in this._layers){let i=this._layers[a];i.retainPriorGlobalState(e,t);let s=i.getLayoutAffectingGlobalStateRefs(),l=i.getPaintAffectingGlobalStateRefs(),c=i.getVisibilityAffectingGlobalStateRefs();for(let u of e){if(s.has(u)&&n.add(i.source),l.has(u))for(let{name:d,value:p}of l.get(u))this._updatePaintProperty(i,d,p,{validate:!1});c?.has(u)&&(i.recalculateVisibility(),this._updateLayer(i))}}let o={now:vi(),transition:this.getTransition()};this.light?.applyGlobalStateChange(e,t,o),this.sky?.applyGlobalStateChange(e,t,o),this.dispatcher.broadcast("UGS",r);for(let a in this.tileManagers)n.has(a)&&(this._reloadSource(a),this._changed=!0)}async loadURL(e,t={},n){this.fire(new wv("dataloading")),t.validate=typeof t.validate!="boolean"||t.validate,this._loadStyleRequest=new AbortController;let r=this._loadStyleRequest;try{let o=await this.map._requestManager.transformRequest(e,"Style");Cfe(r.signal);let a=await hQ(o,r);this._loadStyleRequest===r&&(this._loadStyleRequest=null),this._load(a.data,t,n)}catch(o){this._loadStyleRequest===r&&(this._loadStyleRequest=null),o&&!r.signal.aborted&&this.fire(new lr(Vp(o)))}}loadJSON(e,t={},n){this.fire(new wv("dataloading")),this._frameRequest=new AbortController,M0.frameAsync(this._frameRequest,this.map._ownerWindow).then(()=>{this._frameRequest=null,t.validate=t.validate!==!1,this._load(e,t,n)}).catch(()=>{})}loadEmpty(){this.fire(new wv("dataloading")),this._load(yIr,{validate:!1})}_load(e,t,n){let r=t.transformStyle?t.transformStyle(n,e):e;if(!(t.validate&&GUe(this,r))){r={...r},this._loaded=!0,this.stylesheet=r;for(let o in r.sources)this.addSource(o,r.sources[o],{validate:!1});r.sprite?this._loadSprite(r.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(r.glyphs),this.glyphManager.setFontFaces(r["font-faces"]),this._createLayers(),this.light=new s8r(this.stylesheet.light??{},this._globalState),this._setProjectionInternal(this.stylesheet.projection?.type||"mercator"),this.sky=new u8r(this.stylesheet.sky,this._globalState),this.sky.setEventedParent(this),this.map.setTerrain(this.stylesheet.terrain??null,{validate:!1}),this.fire(new wv("data")),this.fire(new Fcn)}}_createLayers(){let e=Ncn(this.stylesheet.layers);this.setGlobalState(this.stylesheet.state??null),this.dispatcher.broadcast("SL",e),this._order=e.map((t)=>t.id),this._layers={},this._serializedLayers=null;for(let t of e){let n=nme(t,this._globalState);if(n.setEventedParent(this,{layer:{id:t.id}}),this._layers[t.id]=n,Gfe(n)&&this.tileManagers[n.source]){let r=t.paint?.["raster-fade-duration"]??n.paint.get("raster-fade-duration");this.tileManagers[n.source].setRasterFadeDuration(r)}}}async _loadSprite(e,t=!1,n=void 0){this.imageManager.setLoaded(!1);let r=new AbortController;this._spriteRequest=r;let o;try{let a=await Q5r(e,this.map._requestManager,this.map.getPixelRatio(),r);if(!a)return;for(let i in a){let{loaded:s,removed:l}=this.imageManager.setSpriteImages(i,a[i]);this._markImagesChanged(l),t&&this._markImagesChanged(s)}}catch(a){o=a,r.signal.aborted||this.fire(new lr(o))}finally{this._spriteRequest=null,this.imageManager.setLoaded(!0),t&&(this._changed=!0),this.dispatcher.broadcast("SI",this.imageManager.listImages()),this.fire(new wv("data")),n?.(o)}}_unloadSprite(){this._markImagesChanged(this.imageManager.removeAllSpriteImages()),this._imagesListDirty=!0,this._changed=!0,this.fire(new wv("data"))}_validateLayer(e){let t=this.tileManagers[e.source];if(!t)return;let n=e.sourceLayer;if(!n)return;let r=t.getSource();(r.type==="geojson"||r.vectorLayerIds&&!r.vectorLayerIds.includes(n))&&this.fire(new lr(Error(`Source layer "${n}" does not exist on source "${r.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.tileManagers)if(!this.tileManagers[e].loaded())return!1;return this.imageManager.isLoaded()}_serializeByIds(e,t=!1){let n=this._serializedAllLayers();if(!e||e.length===0)return Object.values(t?Ah(n):n);let r=[];for(let o of e)if(n[o]){let a=t?Ah(n[o]):n[o];r.push(a)}return r}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let n of t){let r=this._layers[n];r.type!=="custom"&&(e[n]=r.serialize())}return e}hasTransitions(){if(this.light?.hasTransition()||this.sky?.hasTransition()||this.projection?.hasTransition())return!0;for(let e in this.tileManagers)if(this.tileManagers[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw Error("Style is not done loading.")}update(e){if(!this._loaded)return;let t=this._changed;if(t){this._imagesListDirty&&=(this.dispatcher.broadcast("SI",this.imageManager.listImages()),!1);let o=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);(o.length||a.length)&&this._updateWorkerLayers(o,a);for(let i in this._updatedSources){let s=this._updatedSources[i];if(s==="reload")this._reloadSource(i);else if(s==="clear")this._clearSource(i);else throw Error(`Invalid action ${s}`)}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let i in this._updatedPaintProps)this._layers[i].updateTransitions(e);this._resetUpdates()}let n={};for(let o in this.tileManagers){let a=this.tileManagers[o];n[o]=a.used,a.used=!1}let r=this.imageManager.listImages();for(let o of this._order){let a=this._layers[o];a.recalculate(e,r),!a.isHidden(e.zoom)&&a.source&&(this.tileManagers[a.source].used=!0)}for(let o in n){let a=this.tileManagers[o];!!n[o]!=!!a.used&&a.fire(new Gs("data",{sourceDataType:"visibility",sourceId:o}))}this.light.recalculate(e),this.sky.recalculate(e),this.projection.recalculate(e),this.z=e.zoom,t&&this.fire(new wv("data"))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.tileManagers)this.tileManagers[t].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.tileManagers)this.tileManagers[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,t={}){this._checkLoaded();let n=this.serialize();if(e=t.transformStyle?t.transformStyle(n,e):e,(t.validate??!0)&&GUe(this,e))return!1;e=Ah(e),e.layers=Ncn(e.layers);let r=q5r(n,e),o=this._getOperationsToPerform(r);if(o.unimplemented.length>0)throw Error(`Unimplemented: ${o.unimplemented.join(", ")}.`);if(o.operations.length===0)return!1;for(let a of o.operations)a();return this.stylesheet=e,this._serializedLayers=null,this.fire(new Fcn({style:this})),!0}_getOperationsToPerform(e){let t=[],n=[];for(let r of e)switch(r.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":case"setRoll":continue;case"addLayer":{let[o,a]=r.args;t.push(()=>this.addLayer(o,a));break}case"removeLayer":{let[o]=r.args;t.push(()=>this.removeLayer(o));break}case"setPaintProperty":{let[o,a,i]=r.args;t.push(()=>this.setPaintProperty(o,a,i));break}case"setLayoutProperty":{let[o,a,i]=r.args;t.push(()=>this.setLayoutProperty(o,a,i));break}case"setFilter":{let[o,a]=r.args;t.push(()=>this.setFilter(o,a));break}case"addSource":{let[o,a]=r.args;t.push(()=>this.addSource(o,a));break}case"removeSource":{let[o]=r.args;t.push(()=>this.removeSource(o));break}case"setLayerZoomRange":{let[o,a,i]=r.args;t.push(()=>this.setLayerZoomRange(o,a,i));break}case"setLight":{let[o]=r.args;t.push(()=>this.setLight(o));break}case"setGeoJSONSourceData":{let[o,a]=r.args;t.push(()=>this.setGeoJSONSourceData(o,a));break}case"setGlyphs":{let[o]=r.args;t.push(()=>this.setGlyphs(o));break}case"setFontFaces":{let[o]=r.args;t.push(()=>this.setFontFaces(o));break}case"setSprite":{let[o]=r.args;t.push(()=>this.setSprite(o));break}case"setTerrain":{let[o]=r.args;t.push(()=>this.map.setTerrain(o));break}case"setSky":{let[o]=r.args;t.push(()=>this.setSky(o));break}case"setProjection":{let[o]=r.args;t.push(()=>this.setProjection(o));break}case"setGlobalState":{let[o]=r.args;t.push(()=>this.setGlobalState(o));break}case"setTransition":t.push(()=>{});break;default:n.push(r.command)}return{operations:t,unimplemented:n}}addImage(e,t){if(this.getImage(e)){this.fire(new lr(Error(`An image named "${e}" already exists.`)));return}this.imageManager.addImage(e,t),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}setMissingImageResolver(e){this.imageManager.setMissingImageResolver(e)}removeImage(e){if(!this.getImage(e)){this.fire(new lr(Error(`An image named "${e}" does not exist.`)));return}this.imageManager.removeImage(e),this._afterImageUpdated(e)}_markImagesChanged(e){for(let t of e)this._changedImages[t]=!0}_afterImageUpdated(e){this._changedImages[e]=!0,this._imagesListDirty=!0,this._changed=!0,this.fire(new wv("data"))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,t,n={}){if(this._checkLoaded(),this.tileManagers[e]!==void 0)throw Error(`Source "${e}" already exists.`);if(!t.type)throw Error(`The type property must be defined, but only the following properties were given: ${Object.keys(t).join(", ")}.`);if(VUe.has(t.type)&&this._validate(Sh.source,`sources.${e}`,t,null,n))return;this.map?._collectResourceTiming&&(t.collectResourceTiming=!0);let r=this.tileManagers[e]=new rze(e,t,this.dispatcher);r.style=this,r.setEventedParent(this,()=>({isSourceLoaded:r.loaded(),source:r.serialize(),sourceId:e})),r.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.tileManagers[e]===void 0)throw Error(`There is no source with this ID=${e}`);for(let n in this._layers)if(this._layers[n].source===e)return this.fire(new lr(Error(`Source "${e}" cannot be removed while layer "${n}" is using it.`)));let t=this.tileManagers[e];delete this.tileManagers[e],delete this._updatedSources[e],t.fire(new Gs("data",{sourceDataType:"metadata",sourceId:e})),t.setEventedParent(null),t.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),this.tileManagers[e]===void 0)throw Error(`There is no source with this ID=${e}`);let n=this.tileManagers[e].getSource();if(n.type!=="geojson")throw Error(`geojsonSource.type is ${n.type}, which is !== 'geojson`);n.setData(t),this._changed=!0}getSource(e){return this.tileManagers[e]?.getSource()}addLayer(e,t,n={}){this._checkLoaded();let r=e.id;if(this.getLayer(r)){this.fire(new lr(Error(`Layer "${r}" already exists on this map.`)));return}let o;if(e.type==="custom"){if(_fe(this,jln(e)))return;o=nme(e,this._globalState)}else{if("source"in e&&typeof e.source=="object"&&(this.addSource(r,e.source),e=Ah(e),e=rr(e,{source:r})),this._validate(Sh.layer,`layers.${r}`,e,{arrayIndex:-1},n))return;o=nme(e,this._globalState),this._validateLayer(o),o.setEventedParent(this,{layer:{id:r}})}let a=t?this._order.indexOf(t):this._order.length;if(t&&a===-1){this.fire(new lr(Error(`Cannot add layer "${r}" before non-existing layer "${t}".`)));return}if(this._order.splice(a,0,r),this._layerOrderChanged=!0,this._layers[r]=o,this._removedLayers[r]&&o.source&&o.type!=="custom"){let i=this._removedLayers[r];delete this._removedLayers[r],i.type===o.type?(this._updatedSources[o.source]="reload",this.tileManagers[o.source].pause()):this._updatedSources[o.source]="clear"}this._updateLayer(o),o.onAdd&&o.onAdd(this.map)}moveLayer(e,t){if(this._checkLoaded(),this._changed=!0,!this._layers[e]){this.fire(new lr(Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));return}if(e===t)return;if(t&&!this._order.includes(t)){this.fire(new lr(Error(`Cannot move layer "${e}" before non-existing layer "${t}".`)));return}let n=this._order.indexOf(e);this._order.splice(n,1);let r=t?this._order.indexOf(t):this._order.length;this._order.splice(r,0,e),this._layerOrderChanged=!0}removeLayer(e){this._checkLoaded();let t=this._layers[e];if(!t){this.fire(new lr(Error(`Cannot remove non-existing layer "${e}".`)));return}t.setEventedParent(null);let n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],t.type==="symbol"&&t.source&&this.tileManagers[t.source]?.resetMaxContentElevation(),t.onRemove&&t.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,t,n){this._checkLoaded();let r=this.getLayer(e);if(!r){this.fire(new lr(Error(`Cannot set the zoom range of non-existing layer "${e}".`)));return}(r.minzoom!==t||r.maxzoom!==n)&&(t!=null&&(r.minzoom=t),n!=null&&(r.maxzoom=n),this._updateLayer(r))}setFilter(e,t,n={}){this._checkLoaded();let r=this.getLayer(e);if(!r){this.fire(new lr(Error(`Cannot filter non-existing layer "${e}".`)));return}if(!hv(r.filter,t)){if(t==null){r.setFilter(void 0),this._updateLayer(r);return}this._validate(Sh.filter,`layers.${r.id}.filter`,t,null,n)||(r.setFilter(Ah(t)),this._updateLayer(r))}}getFilter(e){return Ah(this.getLayer(e).filter)}setLayoutProperty(e,t,n,r={}){this._checkLoaded();let o=this.getLayer(e);if(!o){this.fire(new lr(Error(`Cannot style non-existing layer "${e}".`)));return}hv(o.getLayoutProperty(t),n)||(o.setLayoutProperty(t,n,r),this._updateLayer(o))}getLayoutProperty(e,t){let n=this.getLayer(e);if(!n){this.fire(new lr(Error(`Cannot get style of non-existing layer "${e}".`)));return}return n.getLayoutProperty(t)}setPaintProperty(e,t,n,r={}){this._checkLoaded();let o=this.getLayer(e);if(!o){this.fire(new lr(Error(`Cannot style non-existing layer "${e}".`)));return}hv(o.getPaintProperty(t),n)||this._updatePaintProperty(o,t,n,r)}_updatePaintProperty(e,t,n,r={}){e.setPaintProperty(t,n,r)&&this._updateLayer(e),Gfe(e)&&t==="raster-fade-duration"&&this.tileManagers[e.source].setRasterFadeDuration(n),this._changed=!0,this._updatedPaintProps[e.id]=!0,e.type==="symbol"&&this.triggerSymbolPlacement(),this._serializedLayers=null}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,t){this._checkLoaded();let{source:n,sourceLayer:r}=e,o=this.tileManagers[n];if(o===void 0){this.fire(new lr(Error(`The source '${n}' does not exist in the map's style.`)));return}let a=o.getSource().type;if(a==="geojson"&&r){this.fire(new lr(Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if(a==="vector"&&!r){this.fire(new lr(Error("The sourceLayer parameter must be provided for vector source types.")));return}if(e.id===void 0){this.fire(new lr(Error("The feature id parameter must be provided.")));return}let i=["__proto__","constructor","prototype"];if(t&&Object.keys(t).some((s)=>i.includes(s))){this.fire(new lr(Error(`The feature state should not include one of the following keys: ${i}`)));return}o.setFeatureState(r,e.id,t)}removeFeatureState(e,t){this._checkLoaded();let n=e.source,r=this.tileManagers[n];if(r===void 0){this.fire(new lr(Error(`The source '${n}' does not exist in the map's style.`)));return}let o=r.getSource().type,a=o==="vector"?e.sourceLayer:void 0;if(o==="vector"&&!a){this.fire(new lr(Error("The sourceLayer parameter must be provided for vector source types.")));return}if(t&&typeof e.id!="string"&&typeof e.id!="number"){this.fire(new lr(Error("A feature id is required to remove its specific state property.")));return}r.removeFeatureState(a,e.id,t)}getFeatureState(e){this._checkLoaded();let{source:t,sourceLayer:n}=e,r=this.tileManagers[t];if(r===void 0){this.fire(new lr(Error(`The source '${t}' does not exist in the map's style.`)));return}if(r.getSource().type==="vector"&&!n){this.fire(new lr(Error("The sourceLayer parameter must be provided for vector source types.")));return}return e.id===void 0&&this.fire(new lr(Error("The feature id parameter must be provided."))),r.getFeatureState(n,e.id)}getTransition(){return rr({duration:300,delay:0},this.stylesheet?.transition)}serialize(){if(!this._loaded)return;let e=Sfe(this.tileManagers,(o)=>o.serialize()),t=this._serializeByIds(this._order,!0),n=this.map.getTerrain()||void 0,r=this.stylesheet;return vUe({version:r.version,name:r.name,metadata:r.metadata,light:r.light,sky:r.sky,center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch,sprite:r.sprite,glyphs:r.glyphs,"font-faces":r["font-faces"],transition:r.transition,projection:r.projection,state:r.state,sources:e,layers:t,terrain:n},(o)=>o!==void 0)}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.tileManagers[e.source].getSource().type!=="raster"&&(this._updatedSources[e.source]="reload",this.tileManagers[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=(a)=>this._layers[a].type==="fill-extrusion",n={},r=[];for(let a=this._order.length-1;a>=0;a--){let i=this._order[a];if(t(i)){n[i]=a;for(let s of e){let l=s[i];if(l)for(let c of l)r.push(c)}}}r.sort((a,i)=>i.intersectionZ-a.intersectionZ);let o=[];for(let a=this._order.length-1;a>=0;a--){let i=this._order[a];if(t(i))for(let s=r.length-1;s>=0;s--){let l=r[s].feature;if(n[l.layer.id]this.map.terrain.getElevation(c,u,d):void 0));return this.placement&&o.push(S8r(this._layers,a,this.tileManagers,e,s,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(e,t){t?.filter&&this._validate(Sh.filter,"querySourceFeatures.filter",t.filter,null,t);let n=this.tileManagers[e];return n?C8r(n,t?{...t,globalState:this._globalState}:{globalState:this._globalState}):[]}getLight(){return this.light.getLight()}setLight(e,t={}){this._checkLoaded();let n=this.light.getLight(),r=!1;for(let a in e)if(!hv(e[a],n[a])){r=!0;break}if(!r)return;let o={now:vi(),transition:rr({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,t),this.light.updateTransitions(o)}getProjection(){return this.stylesheet?.projection}setProjection(e){this._checkLoaded();let t=e??{type:"mercator"};if(this.stylesheet.projection=e,this.projection){if(this.projection.name===t.type)return;this.projection.destroy(),delete this.projection}this._setProjectionInternal(t.type)}getSky(){return this.stylesheet?.sky}setSky(e,t={}){this._checkLoaded();let n=this.getSky(),r=!1;if(!e&&!n)return;if(e&&!n)r=!0;else if(!e&&n)r=!0;else for(let a in e)if(!hv(e[a],n[a])){r=!0;break}if(!r)return;let o={now:vi(),transition:rr({duration:300,delay:0},this.stylesheet.transition)};this.sky.setSky(e,t)&&(this.stylesheet.sky=e,this.sky.updateTransitions(o))}_setProjectionInternal(e){let t=gIr(e,this.map._camera?.transform.constrainOverride,this._globalState);this.projection=t.projection,this.map.migrateProjection(t.transform,t.cameraHelper);for(let n in this.tileManagers)this.tileManagers[n].reload()}_validate(e,t,n,r,o={}){return o.validate!==!1&&WL(this,e,{key:t,style:this.serialize(),value:n,...r},o)}_remove(e=!0){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null),tze().off(eze,this._rtlPluginLoaded);for(let t in this._layers)this._layers[t].setEventedParent(null);for(let t in this.tileManagers){let n=this.tileManagers[t];n.setEventedParent(null),n.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),e&&this.dispatcher.broadcast("RM",void 0),this.dispatcher.remove(e)}_clearSource(e){this.tileManagers[e].clearTiles()}_reloadSource(e){this.tileManagers[e].resume(),this.tileManagers[e].reload()}_updateSources(e){for(let t in this.tileManagers)this.tileManagers[t].update(e,this.map.terrain)}_generateCollisionBoxes(){for(let e in this.tileManagers)this._reloadSource(e)}triggerSymbolPlacement(){this._symbolPlacementTriggered=!0}_placementInputsChanged(e,t,n){let r=this.pauseablePlacement;return!r||this._symbolPlacementTriggered||this._placedProjectionTransition!==this.projection?.transitionState||r._showCollisionBoxes!==t||r.placement.collisionGroups.crossSourceCollisions!==n||r.placement.transform.renderWorldCopies!==e.renderWorldCopies||!jan(r.placement.transform.modelViewProjectionMatrix,e.modelViewProjectionMatrix)}_updatePlacement(e,t,n,r,o=!1){let a=!1,i=!1,s={};for(let u of this._order){let d=this._layers[u];if(d.type!=="symbol")continue;if(!s[d.source]){let f=this.tileManagers[d.source];s[d.source]=f.getRenderableIds(!0).map((m)=>f.getTileByID(m)).sort((m,g)=>g.tileID.overscaledZ-m.tileID.overscaledZ||(m.tileID.isLessThan(g.tileID)?-1:1))}let p=this.crossTileSymbolIndex.addLayer(d,s[d.source],e.center.lng);a||=p}this.crossTileSymbolIndex.pruneUnusedLayers(this._order),o||=this._layerOrderChanged||n===0;let l=a||this._placementInputsChanged(e,t,r),c=this.pauseablePlacement?.isDone()&&!this.placement.stillRecent(vi(),e.zoom);if((o||!this.pauseablePlacement||c&&(l||this.placement.stale))&&(this._symbolPlacementTriggered=!1,this._placedProjectionTransition=this.projection?.transitionState,this.pauseablePlacement=new NEr(e,this.map.terrain,this._order,o,t,n,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?l&&this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,s),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(vi()),i=!0),a&&this.pauseablePlacement.placement.setStale()),i||a)for(let u of this._order){let d=this._layers[u];d.type==="symbol"&&this.placement.updateLayerOpacities(d,s[d.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(vi())}_releaseSymbolFadeTiles(){for(let e in this.tileManagers)this.tileManagers[e].releaseSymbolFadeTiles()}async getImages(e,t){let n=await this.imageManager.getImages(t.icons);this._updateTilesForChangedImages();let r=this.tileManagers[t.source];return r&&r.setDependencies(t.tileID.key,t.type,t.icons),n}async getGlyphs(e,t){let n=await this.glyphManager.getGlyphs(t.stacks),r=this.tileManagers[t.source];return r&&r.setDependencies(t.tileID.key,t.type,[""]),n}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,t={}){this._checkLoaded(),!(e&&this._validate(Sh.glyphs,"glyphs",e,null,t))&&(this._changed=!0,this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}getFontFaces(){return this.stylesheet["font-faces"]||null}setFontFaces(e){this._checkLoaded(),this._changed=!0,this._glyphsDidChange=!0,this.stylesheet["font-faces"]=e,this.glyphManager.setFontFaces(e)}async getDashes(e,t){let n={};for(let[r,o]of Object.entries(t.dashes))n[r]=this.lineAtlas.getDash(o.dasharray,o.round);return n}addSprite(e,t,n={},r){this._checkLoaded();let o=[{id:e,url:t}],a=[...bme(this.stylesheet.sprite),...o];this._validate(Sh.sprite,"sprite",a,null,n)||(this.stylesheet.sprite=a,this._loadSprite(o,!0,r))}removeSprite(e){this._checkLoaded();let t=bme(this.stylesheet.sprite);if(!t.find((r)=>r.id===e)){this.fire(new lr(Error(`Sprite "${e}" doesn't exists on this map.`)));return}let n=this.imageManager.removeSpriteImages(e);this._markImagesChanged(n),t.splice(t.findIndex((r)=>r.id===e),1),this.stylesheet.sprite=t.length>0?t:void 0,this._imagesListDirty=!0,this._changed=!0,this.fire(new wv("data"))}getSprite(){return bme(this.stylesheet.sprite)}setSprite(e,t={},n){this._checkLoaded(),!(e&&this._validate(Sh.sprite,"sprite",e,null,t))&&(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,n):(this._unloadSprite(),n&&n(null)))}destroy(){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null);for(let e in this.tileManagers){let t=this.tileManagers[e];t.setEventedParent(null),t.onRemove(this.map)}this.tileManagers={},this.imageManager&&(this.imageManager.setEventedParent(null),this.imageManager.destroy(),this.patternAtlas.destroy()),this.glyphManager&&this.glyphManager.destroy();for(let e in this._layers){let t=this._layers[e];t.setEventedParent(null),t.onRemove&&t.onRemove(this.map)}this._setInitialValues(),this.setEventedParent(null),this.dispatcher.unregisterMessageHandler("GG"),this.dispatcher.unregisterMessageHandler("GI"),this.dispatcher.unregisterMessageHandler("GDA"),this.dispatcher.remove(!0),this._listeners={},this._oneTimeListeners={}}},vIr=nl([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),Mme={ProjectionUBO:0,TerrainUBO:1,FrameUBO:2};IIr={float:[1,1],int:[1,1],vec2:[2,2],vec4:[4,4],mat4:[16,4]};Pdn=xze([{name:"u_projection_matrix",type:"mat4"},{name:"u_projection_fallback_matrix",type:"mat4"},{name:"u_projection_tile_mercator_coords",type:"vec4"},{name:"u_projection_clipping_plane",type:"vec4"},{name:"u_projection_transition",type:"float"},{name:"u_projection_clip_antimeridian",type:"int"}]),eB=Pdn.offsets;Ddn=xze([{name:"u_terrain_matrix",type:"mat4"},{name:"u_terrain_unpack",type:"vec4"},{name:"u_terrain_dim",type:"float"},{name:"u_terrain_exaggeration",type:"float"}]),fme=Ddn.offsets;ITr={fillExtrusion:OIr,fillExtrusionPattern:FIr,fill:NIr,fillPattern:zIr,fillOutline:_Ir,fillOutlinePattern:HIr,circle:ZIr,collisionBox:mme,collisionCircle:mme,debug:XIr,depth:mme,clippingMask:mme,heatmap:WIr,heatmapTexture:YIr,hillshade:KIr,hillshadePrepare:JIr,colorRelief:tTr,line:rTr,lineGradient:oTr,linePattern:aTr,lineSDF:iTr,lineGradientSDF:sTr,layerOpacity:pTr,raster:N8r,symbolIcon:mTr,symbolSDF:hTr,symbolTextAndIcon:gTr,background:vTr,backgroundPattern:bTr,terrain:AIr,terrainDepth:wIr,atmosphere:wTr,sky:CTr},Dun={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},RTr=class extends bi{getDefault(){return Kr.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}},PTr=class extends bi{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}},MTr=class extends bi{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}},DTr=class extends bi{getDefault(){return[!0,!0,!0,!0]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}},LTr=class extends bi{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}},BTr=class extends bi{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}},OTr=class extends bi{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){let t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}},FTr=class extends bi{getDefault(){let e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}},UTr=class extends bi{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}},NTr=class extends bi{getDefault(){return[0,1]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}},zTr=class extends bi{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}},_Tr=class extends bi{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}},HTr=class extends bi{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}},VTr=class extends bi{getDefault(){let e=this.gl;return[e.ONE,e.ZERO]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}},GTr=class extends bi{getDefault(){return Kr.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}},qTr=class extends bi{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}},ZTr=class extends bi{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}},QTr=class extends bi{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}},XTr=class extends bi{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}},WTr=class extends bi{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}},YTr=class extends bi{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}},KTr=class extends bi{getDefault(){let e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}},JTr=class extends bi{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}},jTr=class extends bi{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},$Tr=class extends bi{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}},e7r=class extends bi{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}},t7r=class extends bi{getDefault(){return null}set(e){let t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}},n7r=class extends bi{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.bindVertexArray(e),this.current=e,this.dirty=!1)}},r7r=class extends bi{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}},o7r=class extends bi{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}},a7r=class extends bi{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}},Sze=class extends bi{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}},i7r=class extends Sze{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}},s7r=class extends Sze{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},l7r=class extends Sze{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},Hdn=xze([{name:"u_units_to_pixels",type:"vec2"},{name:"u_world_size",type:"vec2"},{name:"u_camera_to_center_distance",type:"float"},{name:"u_symbol_fade_change",type:"float"},{name:"u_aspect_ratio",type:"float"},{name:"u_device_pixel_ratio",type:"float"},{name:"u_viewport_size",type:"vec2"},{name:"u_pixel_extrude_scale",type:"vec2"},{name:"u_pitch",type:"float"}]),$g=Hdn.offsets;Yl.Replace=[1,0],Yl.disabled=new Yl(Yl.Replace,Kr.transparent,[!1,!1,!1,!1]),Yl.unblended=new Yl(Yl.Replace,Kr.transparent,[!0,!0,!0,!0]),Yl.alphaBlended=new Yl([1,771],Kr.transparent,[!0,!0,!0,!0]);Ho.ReadOnly=!1,Ho.ReadWrite=!0,Ho.disabled=new Ho(519,Ho.ReadOnly,[0,1]);ii.disabled=new ii({func:519,mask:0},0,0,GNe,GNe,GNe);Ya.disabled=new Ya(!1,Lun,qNe),Ya.backCCW=new Ya(!0,Lun,qNe),Ya.frontCCW=new Ya(!0,1028,qNe);h7r=Oy(new Float32Array(16));WNe=[new ft(0,0),new ft(Ut,0),new ft(Ut,Ut),new ft(0,Ut)];Z7r=new Kr(1,0,0,1),Q7r=new Kr(0,1,0,1),X7r=new Kr(0,0,1,1),W7r=new Kr(1,0,1,1),Y7r=new Kr(0,1,1,1);lkr={symbol:g7r,circle:w7r,heatmap:S7r,line:B7r,fill:O7r,fillExtrusion:F7r,hillshade:U7r,colorRelief:z7r,raster:_7r,background:q7r,sky:akr,atmosphere:skr,custom:nkr,debug:j7r,debugPadding:K7r,terrainDepth:rkr},ckr=class e{constructor(t,n){this.drawFunctions=lkr,this.context=new p7r(t),this.transform=n,this.layerOpacityFbo=null,this._tileTextures={},this._rttObjectRecyclePool=[],this._rttSharedFbo=null,this.terrainFacilitator={depthDirty:!0,matrix:Oy(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=rze.maxOverzooming+rze.maxUnderzooming+1,this.depthEpsilon=0.0000152587890625,this.crossTileSymbolIndex=new hdn}resize(t,n,r){if(this.width=Math.round(t*r),this.height=Math.round(n*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let o of this.style._order)this.style._layers[o].resize()}setup(){let t=this.context,n=new Lw;n.emplaceBack(0,0),n.emplaceBack(Ut,0),n.emplaceBack(0,Ut),n.emplaceBack(Ut,Ut),this.tileExtentBuffer=t.createVertexBuffer(n,o7.members),this.tileExtentSegments=Vs.simpleSegment(0,0,4,2);let r=new Lw;r.emplaceBack(0,0),r.emplaceBack(Ut,0),r.emplaceBack(0,Ut),r.emplaceBack(Ut,Ut),this.debugBuffer=t.createVertexBuffer(r,o7.members),this.debugSegments=Vs.simpleSegment(0,0,4,5);let o=new Vsn;o.emplaceBack(0,0,0,0),o.emplaceBack(Ut,0,Ut,0),o.emplaceBack(0,Ut,0,Ut),o.emplaceBack(Ut,Ut,Ut,Ut),this.rasterBoundsBuffer=t.createVertexBuffer(o,vIr.members),this.rasterBoundsSegments=Vs.simpleSegment(0,0,4,2);let a=new Lw;a.emplaceBack(0,0),a.emplaceBack(Ut,0),a.emplaceBack(0,Ut),a.emplaceBack(Ut,Ut),this.rasterBoundsBufferPosOnly=t.createVertexBuffer(a,o7.members),this.rasterBoundsSegmentsPosOnly=Vs.simpleSegment(0,0,4,5);let i=new Lw;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(i,o7.members),this.viewportSegments=Vs.simpleSegment(0,0,4,2);let s=new Zsn;s.emplaceBack(0),s.emplaceBack(1),s.emplaceBack(3),s.emplaceBack(2),s.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(s);let l=new xv;l.emplaceBack(1,0,2),l.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(l);let c=this.context.gl;this.stencilClearMode=new ii({func:c.ALWAYS,mask:0},0,255,c.ZERO,c.ZERO,c.ZERO),this.tileExtentMesh=new qQ(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){let t=this.context,n=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let r=kw();yv(r,0,this.width,this.height,0,0,1),Gp(r,r,[n.drawingBufferWidth,n.drawingBufferHeight,0]);let o={mainMatrix:r,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:r,clipAntimeridian:!1};this.useProgram("clippingMask",null,!0).draw(t,n.TRIANGLES,Ho.disabled,this.stencilClearMode,Yl.disabled,Ya.disabled,null,null,o,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}renderTileClippingMasks(t,n){if(this.currentStencilSource===t.source||!t.isTileClipped()||!n?.length)return;this.currentStencilSource=t.source,this.nextStencilID+n.length>256&&this.clearStencil();let r=this.context;r.setColorMode(Yl.disabled),r.setDepthMode(Ho.disabled);let o={};for(let a of n)o[a.key]=this.nextStencilID++;this.style.projection.useSubdivision&&this._renderTileMasks(o,n,!0),this._renderTileMasks(o,n,!1),this._tileClippingMaskIDs=o}_renderTileMasks(t,n,r){let o=this.context,a=o.gl,i=this.style.projection,s=this.renderContext,l=this.useProgram("clippingMask");for(let c of n){let u=t[c.key],d=Ch(s,c),p=i.getMeshFromTileID(this.context,c.canonical,r,!0,"stencil"),f=Xf(s,c);l.draw(o,a.TRIANGLES,Ho.disabled,new ii({func:a.ALWAYS,mask:0},u,255,a.KEEP,a.KEEP,a.REPLACE),Yl.disabled,s.isRenderingToTexture?Ya.disabled:Ya.backCCW,null,d,f,"$clipping",p.vertexBuffer,p.indexBuffer,p.segments)}}_renderTilesDepthBuffer(){let t=this.context,n=t.gl,r=this.style.projection,o=this.transform,a=this.useProgram("depth"),i=this.getDepthModeFor3D(),s=iB(o,{tileSize:o.tileSize});for(let l of s){let c=Ch(this.renderContext,l),u=r.getMeshFromTileID(this.context,l.canonical,!0,!0,"raster"),d=Xf(this.renderContext,l);a.draw(t,n.TRIANGLES,i,ii.disabled,Yl.disabled,Ya.backCCW,null,c,d,"$clipping",u.vertexBuffer,u.indexBuffer,u.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let t=this.nextStencilID++,n=this.context.gl;return new ii({func:n.NOTEQUAL,mask:255},t,255,n.KEEP,n.KEEP,n.REPLACE)}stencilModeForClipping(t){let n=this.context.gl;return new ii({func:n.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,n.KEEP,n.KEEP,n.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(t){let n=this.context.gl,r=t.sort((i,s)=>s.overscaledZ-i.overscaledZ),o=r[r.length-1].overscaledZ,a=r[0].overscaledZ-o+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();let i={};for(let s=0;ss.overscaledZ-i.overscaledZ),o=r[r.length-1].overscaledZ,a=r[0].overscaledZ-o+1;if(this.clearStencil(),a>1){let i={},s={};for(let l=0;l=0;r.currentLayer--){let u=this.style._layers[o[r.currentLayer]];if(u.isHidden(this.transform.zoom))continue;let d=a[u.source],p=i[u.source];this.renderTileClippingMasks(u,p),this.renderLayer(this,d,u,p,r)}r.currentPass="translucent";let c=!1;for(r.currentLayer=0;r.currentLayer0?n.pop():null}acquireRTT(t){let n=this.context.gl,r=this._rttObjectRecyclePool.pop();if(r)return r.size!==t&&(r.texture.update({width:t,height:t,data:null},{premultiply:!1,useMipmap:!0}),r.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_LINEAR),this.context.extTextureFilterAnisotropic&&n.texParameterf(n.TEXTURE_2D,this.context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this.context.extTextureFilterAnisotropicMax),r.size=t),r;let o=new cd(this.context,{width:t,height:t,data:null},n.RGBA,{premultiply:!1,useMipmap:!0});return o.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_LINEAR),this.context.extTextureFilterAnisotropic&&n.texParameterf(n.TEXTURE_2D,this.context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this.context.extTextureFilterAnisotropicMax),{texture:o,size:t}}bindRTT(t){let n=this.context.gl,r=t.size;if(!this._rttSharedFbo){let o=this.context.createFramebuffer(r,r,!0,!0),a=this.context.createRenderbuffer(n.DEPTH_STENCIL,r,r);o.depthAttachment.set(a),this._rttSharedFbo={fbo:o,depthRenderbuffer:a,size:r}}this._rttSharedFbo.size!==r&&(this.context.bindRenderbuffer.set(this._rttSharedFbo.depthRenderbuffer),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,r,r),this.context.bindRenderbuffer.set(null),this._rttSharedFbo.fbo.width=r,this._rttSharedFbo.fbo.height=r,this._rttSharedFbo.size=r),this._rttSharedFbo.fbo.colorAttachment.set(t.texture.texture),this.context.bindFramebuffer.set(this._rttSharedFbo.fbo.framebuffer)}releaseRTT(t){this._rttObjectRecyclePool.push(t)}clearRTTPool(){for(let t of this._rttObjectRecyclePool)t.texture.destroy();this._rttObjectRecyclePool.length=0}destroyRTTResources(){if(this.clearRTTPool(),!this._rttSharedFbo)return;this._rttSharedFbo.fbo.colorAttachment.set(null),this._rttSharedFbo.fbo.depthAttachment.set(null);let t=this.context.gl;t.deleteRenderbuffer(this._rttSharedFbo.depthRenderbuffer),t.deleteFramebuffer(this._rttSharedFbo.fbo.framebuffer),this._rttSharedFbo=null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;let n=this.patternAtlas.getPattern(t.from.toString()),r=this.patternAtlas.getPattern(t.to.toString());return!n||!r}useProgram(t,n,r=!1,o=[]){this.cache||={};let a=!!this.style.map.terrain,i=this.style.projection,s=r?Qx.projectionMercator:i.shaderPreludeCode,l=r?gdn:i.shaderDefine,c=`/${r?ydn:i.shaderVariantName}`,u=n?n.cacheKey:"",d=this._showOverdrawInspector?"/overdraw":"",p=a?"/terrain":"",f=o?`/${o.join("/")}`:"",m=t+u+c+d+p+f;return this.cache[m]||=new LIr(this.context,Qx[t],n,ITr[t],this._showOverdrawInspector,a,s,l,o),this.cache[m]}setCustomLayerDefaults(){this.context.setCustomLayerDefaults()}setBaseState(){let t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;let t=this.context.gl;this.debugOverlayTexture=new cd(this.context,this.debugOverlayCanvas,t.RGBA)}}destroy(){if(this._tileTextures){for(let t in this._tileTextures){let n=this._tileTextures[t];if(n)for(let r of n)r.destroy()}this._tileTextures={}}if(this.destroyRTTResources(),this.layerOpacityFbo?.destroy(),this.layerOpacityFbo=null,this.tileExtentBuffer&&this.tileExtentBuffer.destroy(),this.debugBuffer&&this.debugBuffer.destroy(),this.rasterBoundsBuffer&&this.rasterBoundsBuffer.destroy(),this.rasterBoundsBufferPosOnly&&this.rasterBoundsBufferPosOnly.destroy(),this.viewportBuffer&&this.viewportBuffer.destroy(),this.tileBorderIndexBuffer&&this.tileBorderIndexBuffer.destroy(),this.quadTriangleIndexBuffer&&this.quadTriangleIndexBuffer.destroy(),this.tileExtentMesh&&this.tileExtentMesh.vertexBuffer?.destroy(),this.tileExtentMesh&&this.tileExtentMesh.indexBuffer?.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),RIr(this.context),this.context.terrainUniformBuffer.destroy(),this.context.frameUniformBuffer.destroy(),this.cache){for(let t in this.cache){let n=this.cache[t];n?.program&&this.context.gl.deleteProgram(n.program)}this.cache={}}this.context&&this.context.setDefault()}overLimit(){let{drawingBufferWidth:t,drawingBufferHeight:n}=this.context.gl;return this.width!==t||this.height!==n}},ukr=class extends Error{constructor(e,t){super("WebGL2 is required to display this map. We are sorry, but it seems that your browser does not support WebGL2, a technology for rendering 3D graphics on the web. Read more on https://wiki.openstreetmap.org/wiki/This_map_requires_WebGL"),this.name="GPUInitializationError",this.requestedAttributes=e,this.statusMessage=t?.statusMessage??null}};QQ={linearity:0.3,easing:Afe(0,0,0.3,1)},pkr=rr({deceleration:2500,maxSpeed:1400},QQ),fkr=rr({deceleration:20,maxSpeed:1400},QQ),mkr=rr({deceleration:1000,maxSpeed:360},QQ),hkr=rr({deceleration:1000,maxSpeed:90},QQ),gkr=rr({deceleration:1000,maxSpeed:360},QQ);Ckr={0:1,2:2};Mkr=class extends Ize{constructor(){super(),this._zoomRate=1,this._zoomThreshold=Vun}setZoomRate(e){this._zoomRate=e??1}setZoomThreshold(e){this._zoomThreshold=e??Vun}reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,t){let n=this._distance;if(this._distance=e[0].dist(e[1]),!(!this._active&&Math.abs(Gun(this._distance,this._startDistance))=2,o=t.mag()>=2;if(!r&&!o)return;if(!r||!o)return this._firstMove===void 0&&(this._firstMove=n),n-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return YNe(e)&&YNe(t)&&a}},Bkr={panStep:100,bearingStep:15,pitchStep:10};Qkr=class extends JC{};Wkr=class extends Qp{constructor(e){super(),this._renderFrameCallback=()=>{let t=Math.min((vi()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this.transform=new Tme,this.cameraHelper=new kme,e.minZoom!==void 0&&this.transform.setMinZoom(e.minZoom),e.maxZoom!==void 0&&this.transform.setMaxZoom(e.maxZoom),e.minPitch!==void 0&&this.transform.setMinPitch(e.minPitch),e.maxPitch!==void 0&&this.transform.setMaxPitch(e.maxPitch),e.renderWorldCopies!==void 0&&this.transform.setRenderWorldCopies(e.renderWorldCopies),e.transformConstrain!==null&&this.transform.setConstrainOverride(e.transformConstrain),this._moving=!1,this._zooming=!1,this._bearingSnap=e.bearingSnap,this._zoomSnap=e.zoomSnap,this._requestRenderFrame=e.requestRenderFrame,this._cancelRenderFrame=e.cancelRenderFrame,this.terrain=e.terrain,this._centerClampedToGround=e.centerClampedToGround??!0,this.transformCameraUpdate=e.transformCameraUpdate??null,this._stopHandlers=e.stopHandlers??(()=>{}),this.on("moveend",()=>{delete this._requestedCameraState})}setTerrain(e){this.terrain=e,this.applyTerrainChange()}migrateProjection(e,t){if(e.apply(this.transform,!0),this.transform=e,this.cameraHelper=t,this._requestedCameraState){let n=e.clone();n.apply(this._requestedCameraState,!0),this._requestedCameraState=n}}getCenter(){return new pr(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}getCenterElevation(){return this.transform.elevation}setCenterElevation(e,t){return this.jumpTo({elevation:e},t),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(e){this._centerClampedToGround=e}panBy(e,t,n){return e=ft.convert(e).mult(-1),this.panTo(this.transform.center,rr({offset:e},t),n)}panTo(e,t,n){return this.easeTo(rr({center:e},t),n)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,t,n){return this.easeTo(rr({zoom:e},t),n)}zoomIn(e,t){return this.zoomTo(P0(this.getZoom()+1,this._zoomSnap),e,t),this}zoomOut(e,t){return this.zoomTo(P0(this.getZoom()-1,this._zoomSnap),e,t),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(e,t){return e!=this.transform.fov&&(this.applyTransformChange((n)=>n.setFov(e)),this.fire(new hr("movestart",t)).fire(new hr("move",t)).fire(new hr("moveend",t))),this}getBearing(){return this.transform.bearing}setZoomSnap(e){return this._zoomSnap=e,this}getZoomSnap(){return this._zoomSnap}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,t,n){return this.easeTo(rr({bearing:e},t),n)}resetNorth(e,t){return this.rotateTo(0,rr({duration:1000},e),t),this}resetNorthPitch(e,t){return this.easeTo(rr({bearing:0,pitch:0,roll:0,duration:1000},e),t),this}snapToNorth(e,t){return Math.abs(this.getBearing()){m.easeFunc(g),this.terrain&&!e.freezeElevation&&this._updateElevation(g,n),this.applyUpdatedTransform(n),this._fireMoveEvents(t)},(g)=>{this.terrain&&e.freezeElevation?this._finalizeElevation():this.elevationFreeze=!1,this._afterEase(t,g)},e),this}_prepareEase(e,t,n={}){this._moving=!0,!t&&!n.moving&&this.fire(new hr("movestart",e)),this._zooming&&!n.zooming&&this.fire(new hr("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new hr("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new hr("pitchstart",e)),this._rolling&&!n.rolling&&this.fire(new hr("rollstart",e))}_prepareElevation(e,t){this._elevationCenter=e,this._elevationStart=t.elevation,this._elevationTarget=this.terrain.getElevationForLngLat(e,t),this.elevationFreeze=!0}_updateElevation(e,t){(this._elevationStart===void 0||this._elevationCenter===void 0)&&this._prepareElevation(t.center,t),t.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,t.tileZoom));let n=this.terrain.getElevationForLngLat(this._elevationCenter,t);if(e<1&&n!==this._elevationTarget){let r=this._elevationTarget-this._elevationStart,o=(n-(r*e+this._elevationStart))/(1-e);this._elevationStart+=e*(r-o),this._elevationTarget=n}t.setElevation(Hs.number(this._elevationStart,this._elevationTarget,e))}_finalizeElevation(){this.elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}applyTerrainChange(){if(this.elevationFreeze)return;let e=this.transform;e.setMinElevationForCurrentTile(this.terrain?this.terrain.getMinTileElevationForLngLatZoom(e.center,e.tileZoom):0),this.getCenterClampedToGround()&&e.setElevation(this.terrain?this.terrain.getElevationForLngLat(e.center,e):0)}getTransformForUpdate(){return!this.transformCameraUpdate&&!this.terrain?this.transform:(this._requestedCameraState||=this.transform.clone(),this._requestedCameraState)}_elevateCameraIfInsideTerrain(e){if(!this.terrain&&e.elevation>=0&&e.pitch<=90)return{};let t=e.getCameraLngLat(),n=e.getCameraAltitude(),r=this.terrain?this.terrain.getElevationForLngLatZoom(t,e.zoom):0;if(nthis._elevateCameraIfInsideTerrain(r)),this.transformCameraUpdate&&t.push((r)=>this.transformCameraUpdate(r)),!t.length)return;let n=e.clone();for(let r of t){let o=n.clone(),{center:a,zoom:i,roll:s,pitch:l,bearing:c,elevation:u}=r(o);a&&o.setCenter(a),u!==void 0&&o.setElevation(u),i!==void 0&&o.setZoom(i),s!==void 0&&o.setRoll(s),l!==void 0&&o.setPitch(l),c!==void 0&&o.setBearing(c),n.apply(o,!1)}this.transform.apply(n,!1)}applyTransformChange(e){let t=this._requestedCameraState!==void 0,n=this.getTransformForUpdate();e(n),this.applyUpdatedTransform(n),t||delete this._requestedCameraState}_fireMoveEvents(e){this.fire(new hr("move",e)),this._zooming&&this.fire(new hr("zoom",e)),this._rotating&&this.fire(new hr("rotate",e)),this._pitching&&this.fire(new hr("pitch",e)),this._rolling&&this.fire(new hr("roll",e))}_afterEase(e,t){if(this._easeId&&t&&this._easeId===t)return;delete this._easeId;let n=this._zooming,r=this._rotating,o=this._pitching,a=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,n&&this.fire(new hr("zoomend",e)),r&&this.fire(new hr("rotateend",e)),o&&this.fire(new hr("pitchend",e)),a&&this.fire(new hr("rollend",e)),this.fire(new hr("moveend",e))}flyTo(e,t){if(!e.essential&&M0.prefersReducedMotion){let U=qL(e,["center","zoom","bearing","pitch","roll","elevation","padding"]);return this.jumpTo(U,t)}this.stop(),e=rr({offset:[0,0],speed:1.2,curve:1.42,easing:wfe},e),e.zoom!==void 0&&this._zoomSnap&&(e.zoom=P0(e.zoom,this._zoomSnap));let n=this.getTransformForUpdate(),{bearing:r,pitch:o,roll:a,padding:i}=n,s=e.bearing===void 0?r:this._normalizeBearing(e.bearing,r),l=e.pitch===void 0?o:+e.pitch,c=e.roll===void 0?a:this._normalizeBearing(e.roll,a),u=e.padding===void 0?n.padding:e.padding,d=ft.convert(e.offset),p=n.centerPoint.add(d),f=n.screenPointToLocation(p),m=this.cameraHelper.handleFlyTo(n,{bearing:s,pitch:l,roll:c,padding:u,locationAtOffset:f,offsetAsPoint:d,center:e.center,minZoom:e.minZoom,zoom:e.zoom}),g=e.curve,v=Math.max(n.width,n.height),y=v/m.scaleOfZoom,x=m.pixelPathLength,A=v/m.scaleOfMinZoom;g=Math.min(g,Math.sqrt(A/x*2));let w=g*g;function C(U){let D=(y*y-v*v+(U?-1:1)*w*w*x*x)/(2*(U?y:v)*w*x);return Math.log(Math.sqrt(D*D+1)-D)}function E(U){return(Math.exp(U)-Math.exp(-U))/2}function T(U){return(Math.exp(U)+Math.exp(-U))/2}function I(U){return E(U)/T(U)}let k=C(!1),L=function(U){return T(k)/T(k+g*U)},O=function(U){return v*((T(k)*I(k+g*U)-E(k))/w)/x},B=(C(!0)-k)/g;if(Math.abs(x)<0.000002||!isFinite(B)){if(Math.abs(v-y)<0.000001)return this.easeTo(e,t);let U=y0,L=(D)=>Math.exp(U*g*D)}if(e.duration!==void 0)e.duration=+e.duration;else{let U=e.screenSpeed===void 0?+e.speed:+e.screenSpeed/g;e.duration=1000*B/U}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=r!==s,this._pitching=l!==o,this._rolling=c!==a,this._padding=!n.isPaddingEqual(u),this._prepareEase(t,!1),this.terrain&&this._prepareElevation(m.targetCenter,n),this._ease((U)=>{let D=U*B,N=1/L(D),_=O(D);this._rotating&&n.setBearing(Hs.number(r,s,U)),this._pitching&&n.setPitch(Hs.number(o,l,U)),this._rolling&&n.setRoll(Hs.number(a,c,U)),this._padding&&(n.interpolatePadding(i,u,U),p=n.centerPoint.add(d)),m.easeFunc(U,N,_,p),this.terrain&&!e.freezeElevation&&this._updateElevation(U,n),this.applyUpdatedTransform(n),this._fireMoveEvents(t)},()=>{this.terrain&&e.freezeElevation?this._finalizeElevation():this.elevationFreeze=!1,this._afterEase(t)},e),this}isEasing(){return!!this._easeFrameId}stop(e){return this._stop(e)}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let n=this._onEaseEnd;delete this._onEaseEnd,n.call(this,t)}return e||this._stopHandlers(),this}_ease(e,t,n){n.animate===!1||n.duration===0?(e(1),t()):(this._easeStart=vi(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,t){e=jg(e,-180,180);let n=Math.abs(e-t);return Math.abs(e-360-t)MapLibre'},Qun=["none","zoom","sourceTiles","visibleLayers","revision"],tB={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0,"color-relief":!0},eRr={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"MapLibre logo","Map.Title":"Map","Marker.Title":"Map marker","NavigationControl.ResetBearing":"Drag to rotate map, click to reset north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","Popup.Close":"Close popup","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","GlobeControl.Enable":"Enable globe","GlobeControl.Disable":"Disable globe","TerrainControl.Enable":"Enable terrain","TerrainControl.Disable":"Disable terrain","CooperativeGesturesHandler.WindowsHelpText":"Use Ctrl + scroll to zoom the map","CooperativeGesturesHandler.MacHelpText":"Use ⌘ + scroll to zoom the map","CooperativeGesturesHandler.MobileHelpText":"Use two fingers to move the map"},tRr=E5r,Xun={hash:!1,interactive:!0,bearingSnap:7,zoomSnap:0,attributionControl:Kdn,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:"high-performance",failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:KT.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,transformConstrain:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:"sans-serif",pitchWithRotate:!0,rollEnabled:!1,rotateSpeed:0.8,pitchSpeed:-0.5,reduceMotion:void 0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0,terrainSkirtLength:"auto",zoomLevelsToOverscale:4,anisotropicFilterPitch:20},nRr=class extends Qp{get _ownerWindow(){return this._container?.ownerDocument?.defaultView||window}constructor(e){super(),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Jkr,this._controls=[],this._mapId=yUe(),this._styleUrl=null,this._missingStyleImageResolver=null,this._lostContextStyle={style:null,images:null},this._contextLost=(o)=>{if(o.preventDefault(),this._frameRequest&&=(this._frameRequest.abort(),null),this.painter.destroy(),this._lostContextStyle=this._getStyleAndImages(),!this.style){this.fire(new BNe("webglcontextlost",{originalEvent:o}));return}for(let a of Object.values(this.style._layers))if(a.type==="custom"&&console.warn(`Custom layer with id '${a.id}' cannot be restored after WebGL context loss. You will need to re-add it manually after context restoration.`),a._listeners)for(let[i]of Object.entries(a._listeners))console.warn(`Custom layer with id '${a.id}' had event listeners for event '${i}' which cannot be restored after WebGL context loss. You will need to re-add them manually after context restoration.`);this.style.destroy(),this.style=null,this.fire(new BNe("webglcontextlost",{originalEvent:o}))},this._contextRestored=(o)=>{if(this._lostContextStyle.style&&this.setStyle(this._lostContextStyle.style,{diff:!1}),this._lostContextStyle.images&&this.style){this.style.imageManager.images=this._lostContextStyle.images;for(let a in this._lostContextStyle.images){let i=this._lostContextStyle.images[a];i.isWebGLImage&&this.style.imageManager.updateImage(a,i,!1)}}this._lostContextStyle={style:null,images:null};try{this._setupPainter()}catch(a){this.fire(new lr(a));return}this.resize(),this._update(),this._resizeInternal(),this.fire(new BNe("webglcontextrestored",{originalEvent:o}))},this._onMapScroll=(o)=>{if(o.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()};let t={...Xun,...e,canvasContextAttributes:{...Xun.canvasContextAttributes,...e.canvasContextAttributes}};if(t.minZoom!=null&&t.maxZoom!=null&&t.minZoom>t.maxZoom)throw Error("maxZoom must be greater than or equal to minZoom");if(t.minPitch!=null&&t.maxPitch!=null&&t.minPitch>t.maxPitch)throw Error("maxPitch must be greater than or equal to minPitch");if(t.minPitch!=null&&t.minPitch<0)throw Error("minPitch must be greater than or equal to 0");if(t.maxPitch!=null&&t.maxPitch>180)throw Error("maxPitch must be less than or equal to 180");this._camera=new Wkr({minZoom:t.minZoom,maxZoom:t.maxZoom,minPitch:t.minPitch,maxPitch:t.maxPitch,bearingSnap:t.bearingSnap,zoomSnap:t.zoomSnap,renderWorldCopies:t.renderWorldCopies,centerClampedToGround:t.centerClampedToGround,terrain:this.terrain,transformConstrain:t.transformConstrain,requestRenderFrame:(o)=>this._requestRenderFrame(o),cancelRenderFrame:(o)=>this._cancelRenderFrame(o),transformCameraUpdate:t.transformCameraUpdate,stopHandlers:()=>this._handlers?.stop(!1)}),this._camera.setEventedParent(this),this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._maxTileCacheZoomLevels=t.maxTileCacheZoomLevels,this._canvasContextAttributes={...t.canvasContextAttributes},this._trackResize=t.trackResize===!0,this._terrainSkirtLength=t.terrainSkirtLength,this._refreshExpiredTiles=t.refreshExpiredTiles===!0,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions===!0,this._collectResourceTiming=t.collectResourceTiming===!0,this._locale={...eRr,...t.locale},this._clickTolerance=t.clickTolerance,this._overridePixelRatio=t.pixelRatio,this._maxCanvasSize=t.maxCanvasSize,this._zoomLevelsToOverscale=t.zoomLevelsToOverscale,this.cancelPendingTileRequestsWhileZooming=t.cancelPendingTileRequestsWhileZooming===!0,this.setAnisotropicFilterPitch(t.anisotropicFilterPitch),t.reduceMotion!==void 0&&(M0.prefersReducedMotion=t.reduceMotion),this._requestManager=new B5r(t.transformRequest),this._container=this._resolveContainer(t.container),t.maxBounds&&this.setMaxBounds(t.maxBounds),this._setupContainer();try{this._setupPainter()}catch(o){throw this._cleanupContainer(),o}this._imageQueueHandle=Xx.addThrottleControl(()=>this.isMoving()),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.markTerrainDepthDirty(),this._update(!0)}),this.once("idle",()=>this._idleTriggered=!0),this._handlers=new Xkr(this,this._camera,t),typeof window<"u"&&(this._ownerWindow.addEventListener("online",this._onWindowOnline,!1),this._setupResizeObserver());let n=typeof t.hash=="string"&&t.hash||void 0;this._hash=t.hash?new dkr(n).addTo(this):void 0,this._hash?._onHashChange()||(this.jumpTo({center:t.center,elevation:t.elevation,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch,roll:t.roll}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,rr({},t.fitBoundsOptions,{duration:0}))));let r=typeof t.style=="string"||t.style?.projection?.type!=="globe";this.resize(null,r),this._localIdeographFontFamily=t.localIdeographFontFamily,this._validateStyle=t.validateStyle,t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily}),t.attributionControl&&this.addControl(new Ykr(typeof t.attributionControl=="boolean"?void 0:t.attributionControl)),t.maplibreLogo&&this.addControl(new Kkr,t.logoPosition),this.on("style.load",()=>{if(r||this._resizeTransform(),this._camera.transform.unmodified){let o=qL(this.style.stylesheet,["center","zoom","bearing","pitch","roll"]);this.jumpTo(o)}}),this.on("data",(o)=>{this._update(o.dataType==="style"),this.fire(o.dataType==="style"?new wv("styledata",o):new Gs("sourcedata",o))}),this.on("dataloading",(o)=>{this.fire(o.dataType==="style"?new wv("styledataloading",o):new Gs("sourcedataloading",o))}),this.on("dataabort",(o)=>{this.fire(new Gs("sourcedataabort",o))})}_getMapId(){return this._mapId}setGlobalStateProperty(e,t){return this.style.setGlobalStateProperty(e,t),this._update(!0)}getGlobalState(){return this.style.getGlobalState()}addControl(e,t){if(t===void 0&&(t=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e?.onAdd)return this.fire(new lr(Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let n=e.onAdd(this);this._controls.push(e);let r=this._controlPositions[t];return t.includes("bottom")?r.insertBefore(n,r.firstChild):r.appendChild(n),this}removeControl(e){if(!e?.onRemove)return this.fire(new lr(Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let t=this._controls.indexOf(e);return t>-1&&this._controls.splice(t,1),e.onRemove(this),this}hasControl(e){return this._controls.includes(e)}coveringTiles(e){return iB(this._camera.transform,e)}setTransformCameraUpdate(e){this._camera.transformCameraUpdate=e}getCenter(){return new pr(this._camera.transform.center.lng,this._camera.transform.center.lat)}setCenter(e,t){return this._camera.setCenter(e,t),this}getCenterElevation(){return this._camera.transform.elevation}setCenterElevation(e,t){return this._camera.setCenterElevation(e,t),this}setCenterClampedToGround(e){this._camera.setCenterClampedToGround(e)}panBy(e,t,n){return this._camera.panBy(e,t,n),this}panTo(e,t,n){return this._camera.panTo(e,t,n),this}getZoom(){return this._camera.transform.zoom}setZoom(e,t){return this._camera.setZoom(e,t),this}zoomTo(e,t,n){return this._camera.zoomTo(e,t,n),this}zoomIn(e,t){return this._camera.zoomIn(e,t),this}zoomOut(e,t){return this._camera.zoomOut(e,t),this}getVerticalFieldOfView(){return this._camera.transform.fov}setVerticalFieldOfView(e,t){return this._camera.setVerticalFieldOfView(e,t),this}getBearing(){return this._camera.transform.bearing}setBearing(e,t){return this._camera.setBearing(e,t),this}getZoomSnap(){return this._camera.getZoomSnap()}setZoomSnap(e){return this._camera.setZoomSnap(e),this}getPadding(){return this._camera.transform.padding}setPadding(e,t){return this._camera.setPadding(e,t),this}rotateTo(e,t,n){return this._camera.rotateTo(e,t,n),this}resetNorth(e,t){return this._camera.resetNorth(e,t),this}resetNorthPitch(e,t){return this._camera.resetNorthPitch(e,t),this}snapToNorth(e,t){return this._camera.snapToNorth(e,t),this}getPitch(){return this._camera.transform.pitch}setPitch(e,t){return this._camera.setPitch(e,t),this}getRoll(){return this._camera.transform.roll}setRoll(e,t){return this._camera.setRoll(e,t),this}cameraForBounds(e,t){return this._camera.cameraForBounds(e,t)}fitBounds(e,t,n){return this._camera.fitBounds(e,t,n),this}fitScreenCoordinates(e,t,n,r,o){return this._camera.fitScreenCoordinates(e,t,n,r,o),this}jumpTo(e,t){return this._camera.jumpTo(e,t),this}calculateAnchoredCameraOptions(e){return this._camera.calculateAnchoredCameraOptions(e)}calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,o){return this._camera.calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,o)}easeTo(e,t){return this._camera.easeTo(e,t),this}flyTo(e,t){return this._camera.flyTo(e,t),this}stop(){return this._camera.stop(),this}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLat(pr.convert(e),this._camera.transform):null}getCenterClampedToGround(){return this._camera.getCenterClampedToGround()}calculateCameraOptionsFromTo(e,t,n,r){return r==null&&this.terrain&&(r=this.terrain.getElevationForLngLat(n,this._camera.transform)),this._camera.transform.calculateCameraOptionsFromTo(e,t,n,r??0)}resize(e,t=!0){if(this._lostContextStyle.style!==null)return this;this._resizeInternal(t);let n=!this._camera._moving;return n&&(this.stop(),this.fire(new hr("movestart",e)).fire(new hr("move",e))),this.fire(new Yp("resize",e)),n&&this.fire(new hr("moveend",e)),this}_resizeInternal(e=!0){let[t,n]=this._containerDimensions(),r=this._getClampedPixelRatio(t,n);if(this._resizeCanvas(t,n,r),this.painter.resize(t,n,r),this.painter.overLimit()){let o=this.painter.context.gl;this._maxCanvasSize=[o.drawingBufferWidth,o.drawingBufferHeight];let a=this._getClampedPixelRatio(t,n);this._resizeCanvas(t,n,a),this.painter.resize(t,n,a)}this._resizeTransform(e)}_resizeTransform(e=!0){let[t,n]=this._containerDimensions();this._camera.transform.resize(t,n,e),this._camera._requestedCameraState?.resize(t,n,e)}_getClampedPixelRatio(e,t){let{0:n,1:r}=this._maxCanvasSize,o=this.getPixelRatio(),a=e*o,i=t*o,s=a>n?n/a:1,l=i>r?r/i:1,c=Math.min(s,l);return c<1&&Ko("The canvas is larger than maxCanvasSize and is rendered at a lower pixel ratio to fit. Increase maxCanvasSize, within MAX_TEXTURE_SIZE, to render at full resolution."),c*o}getPixelRatio(){return this._overridePixelRatio??devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this._camera.transform.getBounds()}getMaxBounds(){return this._camera.transform.getMaxBounds()}setMaxBounds(e){return this._camera.applyTransformChange((t)=>t.setMaxBounds(Fw.convert(e))),this._update()}setMinZoom(e){if(e??=-2,e>=-2&&e<=this._camera.transform.maxZoom){let t=this._camera.transform.zoom;return this._camera.applyTransformChange((n)=>n.setMinZoom(e)),this._update(),t!==this._camera.transform.zoom&&this.fire(new hr("zoomstart")).fire(new hr("zoom")).fire(new hr("zoomend")).fire(new hr("movestart")).fire(new hr("move")).fire(new hr("moveend")),this}throw Error("minZoom must be between -2 and the current maxZoom, inclusive")}getMinZoom(e=!1){let t=this._camera.transform;return e?t.applyConstrain(t.center,t.minZoom).zoom:t.minZoom}setMaxZoom(e){if(e??=22,e>=this._camera.transform.minZoom){let t=this._camera.transform.zoom;return this._camera.applyTransformChange((n)=>n.setMaxZoom(e)),this._update(),t!==this._camera.transform.zoom&&this.fire(new hr("zoomstart")).fire(new hr("zoom")).fire(new hr("zoomend")).fire(new hr("movestart")).fire(new hr("move")).fire(new hr("moveend")),this}throw Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this._camera.transform.maxZoom}setMinPitch(e){if(e??=0,e<0)throw Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this._camera.transform.maxPitch){let t=this._camera.transform.pitch;return this._camera.applyTransformChange((n)=>n.setMinPitch(e)),this._update(),t!==this._camera.transform.pitch&&this.fire(new hr("pitchstart")).fire(new hr("pitch")).fire(new hr("pitchend")).fire(new hr("movestart")).fire(new hr("move")).fire(new hr("moveend")),this}throw Error("minPitch must be between 0 and the current maxPitch, inclusive")}getMinPitch(){return this._camera.transform.minPitch}setMaxPitch(e){if(e??=60,e>180)throw Error("maxPitch must be less than or equal to 180");if(e>=this._camera.transform.minPitch){let t=this._camera.transform.pitch;return this._camera.applyTransformChange((n)=>n.setMaxPitch(e)),this._update(),t!==this._camera.transform.pitch&&this.fire(new hr("pitchstart")).fire(new hr("pitch")).fire(new hr("pitchend")).fire(new hr("movestart")).fire(new hr("move")).fire(new hr("moveend")),this}throw Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this._camera.transform.maxPitch}getAnisotropicFilterPitch(){return this._anisotropicFilterPitch}setAnisotropicFilterPitch(e){if(e??=20,e>180)throw Error("anisotropicFilterPitch must be less than or equal to 180");if(e<0)throw Error("anisotropicFilterPitch must be greater than or equal to 0");return this._anisotropicFilterPitch=e,this._update()}getRenderWorldCopies(){return this._camera.transform.renderWorldCopies}setRenderWorldCopies(e){return this._camera.applyTransformChange((t)=>t.setRenderWorldCopies(e)),this._update()}setTransformConstrain(e){return this._camera.applyTransformChange((t)=>t.setConstrainOverride(e)),this._update()}project(e){return this._camera.transform.locationToScreenPoint(pr.convert(e),this.style&&this.terrain)}unproject(e){return this._camera.transform.screenPointToLocation(ft.convert(e),this.terrain)}isMoving(){return this._camera.isMoving()||this._handlers?.isMoving()||!1}isZooming(){return this._camera.isZooming()||this._handlers?.isZooming()||!1}isRotating(){return this._camera.isRotating()||this._handlers?.isRotating()||!1}_createDelegates(e,t,n){if(e==="mouseenter"||e==="mouseover"){let r=!1;return{mousemove:(o)=>{let a=t.filter((s)=>this.getLayer(s)),i=a.length===0?[]:this.queryRenderedFeatures(o.point,{layers:a});i.length?r||(r=!0,n.call(this,new t1(e,this,o.originalEvent,{features:i}))):r=!1},mouseout:()=>{r=!1}}}if(e==="mouseleave"||e==="mouseout"){let r=!1;return{mousemove:(o)=>{let a=t.filter((i)=>this.getLayer(i));(a.length===0?[]:this.queryRenderedFeatures(o.point,{layers:a})).length?r=!0:r&&(r=!1,n.call(this,new t1(e,this,o.originalEvent)))},mouseout:(o)=>{r&&(r=!1,n.call(this,new t1(e,this,o.originalEvent)))}}}{let r=(o)=>{let a=t.filter((s)=>this.getLayer(s)),i=a.length===0?[]:this.queryRenderedFeatures(o.point,{layers:a});i.length&&(o.features=i,n.call(this,o),delete o.features)};return{[e]:r}}}_addDelegatedListener(e,t){this._delegatedListeners||={},this._delegatedListeners[e]||=[],this._delegatedListeners[e].push(t);for(let n in t.delegates)this.on(n,t.delegates[n])}_removeDelegatedListener(e,t,n){if(!this._delegatedListeners?.[e])return;let r=this._delegatedListeners[e];for(let o=0;ot.includes(i))){for(let i in a.delegates)this.off(i,a.delegates[i]);r.splice(o,1);return}}}on(e,t,n){if(n===void 0)return super.on(e,t);let r=typeof t=="string"?[t]:t,o={layers:r,listener:n,delegates:this._createDelegates(e,r,n)};return this._addDelegatedListener(e,o),{unsubscribe:()=>{this._removeDelegatedListener(e,r,n)}}}once(e,t,n){if(n===void 0)return super.once(e,t);let r=typeof t=="string"?[t]:t,o={layers:r,listener:n,delegates:this._createDelegates(e,r,(a)=>{this._removeDelegatedListener(e,r,n),n.call(this,a)})};return this._addDelegatedListener(e,o),this}off(e,t,n){if(n===void 0)return super.off(e,t);let r=typeof t=="string"?[t]:t;return this._removeDelegatedListener(e,r,n),this}queryRenderedFeatures(e,t){if(!this.style)return[];let n,r=e instanceof ft||Array.isArray(e),o=r?e:[[0,0],[this._camera.transform.width,this._camera.transform.height]];if(t||=(r?{}:e)||{},o instanceof ft||typeof o[0]=="number")n=[ft.convert(o)];else{let a=ft.convert(o[0]),i=ft.convert(o[1]);n=[a,new ft(i.x,a.y),i,new ft(a.x,i.y),a]}return this.style.queryRenderedFeatures(n,t,this._camera.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,t){return t=rr({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},t),this._styleUrl=typeof e=="string"?e:null,t.diff!==!1&&t.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,t),this):(this._localIdeographFontFamily=t.localIdeographFontFamily,this._updateStyle(e,t))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(t==null)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(this._diffStyleRequest?.abort(),this._diffStyleRequest=null,t.transformStyle&&this.style&&!this.style._loaded){this.style.once("style.load",()=>this._updateStyle(e,t));return}let n=this.style&&t.transformStyle?this.style.serialize():void 0;if(this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e)this.style=new Run(this,t||{});else return this._frameRequest&&=(this._frameRequest.abort(),null),this.style?.projection?.destroy(),delete this.style,this;return this.style.setEventedParent(this,{style:this.style}),typeof e=="string"?this.style.loadURL(e,t,n):this.style.loadJSON(e,t,n),this}_lazyInitEmptyStyle(){this.style||(this.style=new Run(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}async _diffStyle(e,t){if(this._diffStyleRequest?.abort(),typeof e=="string"){let n=e;this._diffStyleRequest=new AbortController;let r=this._diffStyleRequest;try{let o=await this._requestManager.transformRequest(n,"Style");if(r.signal.aborted){this._diffStyleRequest=null;return}let a=await hQ(o,r);this._diffStyleRequest=null,this._updateDiff(a.data,t)}catch(o){this._diffStyleRequest=null,Mw(o)||this.fire(new lr(Vp(o)))}}else typeof e=="object"&&(this._diffStyleRequest=null,this._updateDiff(e,t))}_updateDiff(e,t){try{this.style.setState(e,t)&&this._update(!0)}catch(n){Ko(`Unable to perform style diff: ${Vp(n).message}. Rebuilding the style from scratch.`),this._updateStyle(e,t)}}getStyle(){if(this.style)return this.style.serialize()}getStyleUrl(){return this._styleUrl}_getStyleAndImages(){return this.style?{style:this.style.serialize(),images:this.style.imageManager.cloneImages()}:{style:null,images:{}}}isStyleLoaded(){if(!this.style){Ko("There is no style added to the map.");return}return this.style.loaded()}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let t=this.style?.tileManagers[e];if(t===void 0){this.fire(new lr(Error(`There is no tile manager with ID '${e}'`)));return}return t.loaded()}setTerrain(e,t={}){if(this.style._checkLoaded(),e&&WL(this,Sh.terrain,{value:e},t))return this;if(this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),!e)this.terrain&&this.terrain.destroy(),this.terrain=null,this.painter.renderToTexture=null,this.painter.destroyRTTResources(),this._camera.setTerrain(null);else{let n=this.style.tileManagers[e.source];if(!n)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain===null&&n.reload();for(let r in this.style._layers){let o=this.style._layers[r];o.type==="hillshade"&&o.source===e.source&&Ko("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality."),o.type==="color-relief"&&o.source===e.source&&Ko("You are using the same source for a color-relief layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain&&this.terrain.destroy(),this.terrain=new eIr(this.painter,n,e,this._terrainSkirtLength),this.painter.renderToTexture=new $kr(this.painter,this.terrain),this._camera.setTerrain(this.terrain),this._terrainDataCallback=(r)=>this._handleTerrainDataEvent(r,e.source),this.style.on("data",this._terrainDataCallback)}return this.style.triggerSymbolPlacement(),this.fire(new F5r({terrain:e})),this}_handleTerrainDataEvent(e,t){if(e.dataType==="style"){this.terrain.tileManager.releaseAllRTT();return}let n=e.sourceId===t;if(n&&(this.terrain.resetElevationCache(),this.style.triggerSymbolPlacement()),n&&e.tile&&(this.painter.markTerrainDepthDirty(),this._camera.applyTerrainChange()),e.tile){if(e.source?.type==="image"){this.terrain.tileManager.releaseAllRTT();return}this.terrain.tileManager.releaseRTT(e.tile.tileID)}}getTerrain(){return this.terrain?.options??null}areTilesLoaded(){let e=this.style?.tileManagers;for(let t of Object.values(e))if(!t.areTilesLoaded())return!1;return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style?.getSource(e)}setSourceTileLodParams(e,t,n){if(n){let r=this.getSource(n);if(!r)throw Error(`There is no source with ID "${n}", cannot set LOD parameters`);r.calculateTileZoom=nze(Math.max(1,e),Math.max(1,t))}else for(let r in this.style.tileManagers)this.style.tileManagers[r].getSource().calculateTileZoom=nze(Math.max(1,e),Math.max(1,t));return this._update(!0),this}refreshTiles(e,t){let n=this.style.tileManagers[e];if(!n)throw Error(`There is no tile manager with ID "${e}", cannot refresh tile`);t===void 0?n.reload(!0):n.refreshTiles(t.map((r)=>new DQ(r.z,r.x,r.y)))}addImage(e,t,n={}){this._lazyInitEmptyStyle();let r=this._createStyleImage(t,n);return r?(this.style.addImage(e,r),r.userImage?.onAdd&&r.userImage.onAdd(this,e),this):this}setMissingStyleImageResolver(e){return this._missingStyleImageResolver=e,this.style?.setMissingImageResolver(e),this}_createStyleImage(e,t={}){let{pixelRatio:n=1,sdf:r=!1,stretchX:o,stretchY:a,content:i,textFitWidth:s,textFitHeight:l}=t;if(e instanceof HTMLImageElement||KC(e)){let{width:c,height:u,data:d}=M0.getImageData(e);return{data:new ss({width:c,height:u},d),pixelRatio:n,stretchX:o,stretchY:a,content:i,textFitWidth:s,textFitHeight:l,sdf:r,version:0}}if(e.width===void 0||e.height===void 0)return this.fire(new lr(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`"))),null;{let{width:c,height:u,data:d}=e,p=e,f=TQ(p.data);return{data:f?new ss({width:c,height:u}):new ss({width:c,height:u},new Uint8Array(d)),pixelRatio:n,stretchX:o,stretchY:a,content:i,textFitWidth:s,textFitHeight:l,sdf:r,version:0,isWebGLImage:f,userImage:p}}}updateImage(e,t){let n=this.style.getImage(e);if(!n)return this.fire(new lr(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:r,height:o,data:a}=t instanceof HTMLImageElement||KC(t)?M0.getImageData(t):t;if(r===void 0||o===void 0)return this.fire(new lr(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(r!==n.data.width||o!==n.data.height)return this.fire(new lr(Error("The width and height of the updated image must be that same as the previous version of the image")));if(n.isWebGLImage=TQ(a),n.isWebGLImage)n.userImage=t;else{let i=!(t instanceof HTMLImageElement||KC(t));n.data.replace(a,i)}return this.style.updateImage(e,n),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new lr(Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}async loadImage(e){let t=await Xx.getImage(await this._requestManager.transformRequest(e,"Image"),new AbortController);if(!t.data)throw Error(`Could not load image ${e}: the response is empty`);return t}listImages(){return this.style?.listImages()??[]}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style?.getLayer(e)}getLayersOrder(){return this.style?.getLayersOrder()??[]}setLayerZoomRange(e,t,n){return this.style.setLayerZoomRange(e,t,n),this._update(!0)}setFilter(e,t,n={}){return this.style?.setFilter(e,t,n),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,n,r={}){return this.style?.setPaintProperty(e,t,n,r),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,n,r={}){return this.style.setLayoutProperty(e,t,n,r),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}setFontFaces(e){return this._lazyInitEmptyStyle(),this.style.setFontFaces(e),this._update(!0)}getFontFaces(){return this.style.getFontFaces()}addSprite(e,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,n,(r)=>{r||this._update(!0)}),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,(n)=>{n||this._update(!0)}),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSky(e,t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=Math.floor(this._container.clientWidth)||400,t=Math.floor(this._container.clientHeight)||300),[e,t]}_shouldHandleInitialResize(){if(!this._container?.clientWidth||!this._container.clientHeight)return!1;let[e,t]=this._containerDimensions();return e!==this._camera.transform.width||t!==this._camera.transform.height}_setupResizeObserver(){let e=!1,t=Eze((r)=>{this._trackResize&&!this._removed&&(this.resize(r),this.redraw())},50),n=this._ownerWindow.ResizeObserver??ResizeObserver;this._resizeObserver=new n((r)=>{!e&&(e=!0,!this._shouldHandleInitialResize())||t(r)}),this._resizeObserver.observe(this._container)}_resolveContainer(e){if(typeof e=="string"){let t=document.getElementById(e);if(!t)throw Error(`Container '${e}' not found.`);return t}if(e instanceof HTMLElement||e&&typeof e=="object"&&e.nodeType===1)return e;throw Error("Invalid type: 'container' must be a String or HTMLElement.")}_setupContainer(){let e=this._containerDimensions(),t=this._getClampedPixelRatio(e[0],e[1]),n=this._container;n.classList.add("maplibregl-map");let r=this._canvasContainer=Cl.create("div","maplibregl-canvas-container",n);this._interactive&&r.classList.add("maplibregl-interactive"),this._canvas=Cl.create("canvas","maplibregl-canvas",r),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._resizeCanvas(e[0],e[1],t);let o=this._controlContainer=Cl.create("div","maplibregl-control-container",n),a=this._controlPositions={};for(let i of["top-left","top-right","bottom-left","bottom-right"])a[i]=Cl.create("div",`maplibregl-ctrl-${i} `,o);this._container.addEventListener("scroll",this._onMapScroll,!1)}_cleanupContainer(){this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),this._canvasContainer.remove(),this._controlContainer.remove(),this._container.removeEventListener("scroll",this._onMapScroll,!1),this._container.classList.remove("maplibregl-map")}_resizeCanvas(e,t,n){let r=Math.round(n*e),o=Math.round(n*t);this._canvas.width=r,this._canvas.height=o,this._canvas.style.width=`${r/n}px`,this._canvas.style.height=`${o/n}px`}_setupPainter(){let e={...this._canvasContextAttributes,alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0},t=null;this._canvas.addEventListener("webglcontextcreationerror",(r)=>{t=r},{once:!0});let n=this._canvas.getContext("webgl2",e);if(!n)throw new ukr(e,t);this.painter=new ckr(n,this._camera.transform)}migrateProjection(e,t){this._camera.migrateProjection(e,t),this.painter.transform=e,this.fire(new U5r({newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?._loaded?(this._styleDirty||=e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let t=this._idleTriggered?this._fadeDuration:0,n=this.style.projection?.transitionState>0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let r=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let i=this._camera.transform.zoom,s=vi();this.style.zoomHistory.update(i,s);let l=new oi(i,{now:s,fadeDuration:t,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),c=l.crossFadingFactor();(c!==1||c!==this._crossFadingFactor)&&(r=!0,this._crossFadingFactor=c),this.style.update(l)}let o=this.style.projection?.transitionState>0!==n;this._camera.transform.setTransitionState(this.style.projection?.transitionState),this.style&&(this._sourcesDirty||o)&&(this._sourcesDirty=!1,this.style._updateSources(this._camera.transform)),this.terrain?(this.terrain.tileManager.update(this._camera.transform,this.terrain)&&this.terrain.resetElevationCache(),this._camera.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._camera.transform.center,this._camera.transform.tileZoom)),!this._camera.elevationFreeze&&this.getCenterClampedToGround()&&this._camera.transform.setElevation(this.terrain.getElevationForLngLat(this._camera.transform.center,this._camera.transform))):(this._camera.transform.setMinElevationForCurrentTile(0),this.getCenterClampedToGround()&&this._camera.transform.setElevation(0)),this._placementDirty=this.style?._updatePlacement(this._camera.transform,this.showCollisionBoxes,t,this._crossSourceCollisions,o),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:t,showPadding:this.showPadding,anisotropicFilterPitch:this.getAnisotropicFilterPitch()}),this.fire(new Yp("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new Yp("load"))),this.style&&(this.style.hasTransitions()||r)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let a=this._sourcesDirty||this._styleDirty||this._placementDirty||this.painter.renderToTexture?.needsFollowUpFrame;return a||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new Yp("idle")),this._loaded&&!this._fullyLoaded&&!a&&(this._fullyLoaded=!0),this}redraw(){return this.style&&(this._frameRequest&&=(this._frameRequest.abort(),null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(let t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&=(this._frameRequest.abort(),null),this._renderTaskQueue.clear(),this._diffStyleRequest?.abort(),this.painter.destroy(),this._handlers.destroy(),this.setStyle(null),typeof window<"u"&&this._ownerWindow.removeEventListener("online",this._onWindowOnline,!1),Xx.removeThrottleControl(this._imageQueueHandle),this._resizeObserver?.disconnect();let e=this.painter.context.gl.getExtension("WEBGL_lose_context");e?.loseContext&&e.loseContext(),this._cleanupContainer(),this._removed=!0,this.fire(new Yp("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,M0.frame(this._frameRequest,(e)=>{this._frameRequest=null;try{this._render(e)}catch(t){if(!Mw(t))throw t}},()=>{},this._ownerWindow))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return tRr}getCameraTargetElevation(){return this._camera.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(e){return this._lazyInitEmptyStyle(),this.style.setProjection(e),this._update(!0)}};Jdn={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};Wun={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};nB=class extends JC{},sRr=class extends JC{},lRr=class extends Qp{constructor(e){if(super(),this._onClick=(t)=>{this.fire(new sRr("click",{originalEvent:t}))},this._onKeyPress=(t)=>{(t.code==="Space"||t.code==="Enter")&&this.togglePopup()},this._onKeyDown=(t)=>{if(!this._defaultMarker||!this._draggable||!this._map||!this._lngLat||t.composedPath()[0]!==this._element||t.altKey||t.ctrlKey||t.metaKey)return;let n=Wun[t.key];if(!n)return;t.preventDefault(),t.stopPropagation();let r=t.shiftKey?10:1,o=this._map.project(this._lngLat);this.setLngLat(this._map.unproject(new ft(o.x+n[0]*r,o.y+n[1]*r))),this._keyboardDragActive||(this._keyboardDragActive=!0,this.fire(new nB("dragstart"))),this.fire(new nB("drag"))},this._onKeyUp=(t)=>{Wun[t.key]&&this._endKeyboardDrag()},this._onBlur=()=>{this._endKeyboardDrag()},this._onMapClick=(t)=>{let n=t.originalEvent.target,r=this._element;this._popup&&(n===r||r.contains(n))&&this.togglePopup()},this._updateCoveredUnthrottled=()=>{let t=this._map?.terrain;if(!t||!this._isInViewport())return;let n=this._isCovered(t);n&&this._popup?.isOpen()&&this._popup.remove(),this._element.style.opacity=n?this._opacityWhenCovered:this._opacity,this._element.classList.toggle("maplibregl-marker-covered",n)},this._updateCovered=Eze(this._updateCoveredUnthrottled,100),this._update=(t)=>{if(!this._map)return;this._lngLat=rRr(this._lngLat,this._flatPos,this._map._camera.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map._camera.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let n="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?n=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let r="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?r="rotateX(0deg)":this._pitchAlignment==="map"&&(r=`rotateX(${this._map.getPitch()}deg)`),!this._subpixelPositioning&&t?.type!=="move"&&(this._pos=this._pos.round()),this._element.style.transform=`${Jdn[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${n}`,this._updateOpacity()},this._onMove=(t)=>{if(!this._isDragging){let n=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=n}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new nB("dragstart"))),this.fire(new nB("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new nB("dragend")),this._state="inactive"},this._addDragHandler=(t)=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e?.anchor||"center",this._color=e?.color||jdn,this._scale=e?.scale||1,this._draggable=e?.draggable||!1,this._clickTolerance=e?.clickTolerance||0,this._subpixelPositioning=e?.subpixelPositioning||!1,this._isDragging=!1,this._roleManaged=!1,this._tabIndexManaged=!1,this._keyboardDragActive=!1,this._state="inactive",this._rotation=e?.rotation||0,this._rotationAlignment=e?.rotationAlignment||"auto",this._pitchAlignment=e?.pitchAlignment&&e.pitchAlignment!=="auto"?e.pitchAlignment:this._rotationAlignment,this.setOpacity(e?.opacity,e?.opacityWhenCovered),e?.element)this._element=e.element,this._offset=ft.convert(e?.offset||[0,0]);else{this._defaultMarker=!0,this._element=Cl.create("div");let t=aRr().cloneNode(!0);t.setAttributeNS(null,"height",`${41*this._scale}px`),t.setAttributeNS(null,"width",`${27*this._scale}px`),iRr(t).setAttributeNS(null,"fill",this._color),this._element.appendChild(t),this._offset=ft.convert(e?.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(t)=>{t.preventDefault()}),this._element.addEventListener("mousedown",(t)=>{t.preventDefault()}),oRr(this._element,this._anchor,"marker"),e?.className)for(let t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._defaultMarker&&!this._element.hasAttribute("aria-label")&&this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),this._updateAccessibilityRole(),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),e.on("projectiontransition",this._update),e.on("idle",this._update),this._element.addEventListener("click",this._onClick),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("projectiontransition",this._update),this._map.off("idle",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),this._element.removeEventListener("click",this._onClick),this._element.removeEventListener("keydown",this._onKeyDown),this._element.removeEventListener("keyup",this._onKeyUp),this._element.removeEventListener("blur",this._onBlur),this._element.removeEventListener("keypress",this._onKeyPress),this._keyboardDragActive=!1,this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=pr.convert(e),this._pos=null,this._update(),this._popup&&this._popup.setLngLat(this._lngLat),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress)),e){if(!("offset"in e.options)){let t=13.5/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,(24.6+t)*-1],"bottom-right":[-t,(24.6+t)*-1],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._element.addEventListener("keypress",this._onKeyPress)}return this._updateTabIndex(),this._updateAccessibilityRole(),this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}_endKeyboardDrag(){this._keyboardDragActive&&(this._keyboardDragActive=!1,this.fire(new nB("dragend")))}getPopup(){return this._popup}togglePopup(){let e=this._popup;if(this._element.style.opacity===this._opacityWhenCovered)return this;if(e)e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map));else return this;return this}_updateOpacity(){if(!this._isInViewport())return;let e=this._map?.terrain,t=this._map._camera.transform.isLocationOccluded(this._lngLat);if(!e||t){let n=t?this._opacityWhenCovered:this._opacity;this._element.style.opacity!==n&&(this._element.style.opacity=n,this._element.classList.toggle("maplibregl-marker-covered",t));return}this._updateCovered()}_isInViewport(){let{width:e,height:t}=this._map._camera.transform;return!!this._pos&&this._pos.x>=0&&this._pos.y>=0&&this._pos.x<=e&&this._pos.y<=t}_isCovered(e){let t=this._map._camera.transform,n=e.getElevationForLngLat(this._lngLat,t),r=Math.max(0,-this._offset.y)/t.pixelsPerMeter,o=Math.sin(this._map.getPitch()*Math.PI/180)*r;return t.isLocationOccluded(this._lngLat,e,n+o)}getOffset(){return this._offset}setOffset(e){return this._offset=ft.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._element.classList.toggle("maplibregl-marker-draggable",this._draggable),this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this._defaultMarker&&(this._draggable?(this._element.addEventListener("keydown",this._onKeyDown),this._element.addEventListener("keyup",this._onKeyUp),this._element.addEventListener("blur",this._onBlur)):(this._element.removeEventListener("keydown",this._onKeyDown),this._element.removeEventListener("keyup",this._onKeyUp),this._element.removeEventListener("blur",this._onBlur),this._endKeyboardDrag())),this._updateTabIndex(),this._updateAccessibilityRole(),this}isDraggable(){return this._draggable}_updateTabIndex(){this._popup||this._defaultMarker&&this._draggable?this._element.hasAttribute("tabindex")||(this._element.setAttribute("tabindex","0"),this._tabIndexManaged=!0):this._tabIndexManaged&&=(this._element.getAttribute("tabindex")==="0"&&this._element.removeAttribute("tabindex"),!1)}_updateAccessibilityRole(){if(!this._defaultMarker||this._element.hasAttribute("role")&&!this._roleManaged)return;let e=this._draggable||this._popup?"button":"img";this._element.setAttribute("role",e),this._roleManaged=!0}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!=="auto"?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return(this._opacity===void 0||e===void 0&&t===void 0)&&(this._opacity="1",this._opacityWhenCovered="0.2"),e!==void 0&&(this._opacity=String(e)),t!==void 0&&(this._opacityWhenCovered=String(t)),this._map&&this._updateOpacity(),this}},l1s=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ")});var epn=me(function(J2s,cRr){});var Mze;var hpn=P(()=>{Mze=window;Mze.Prism=Mze.Prism??{};Mze.Prism.manual=!0});var gpn=me(function(ixs,Hme){var BRr=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},Ar=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,r={},o={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function g(v){if(v instanceof a)return new a(v.type,g(v.content),v.alias);else if(Array.isArray(v))return v.map(g);else return v.replace(/&/g,"&").replace(/"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw Error()}catch(x){var g=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(x.stack)||[])[1];if(g){var v=document.getElementsByTagName("script");for(var y in v)if(v[y].src==g)return v[y]}return null}},isActive:function(g,v,y){var x="no-"+v;while(g){var A=g.classList;if(A.contains(v))return!0;if(A.contains(x))return!1;g=g.parentElement}return!!y}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(g,v){var y=o.util.clone(o.languages[g]);for(var x in v)y[x]=v[x];return y},insertBefore:function(g,v,y,x){x=x||o.languages;var A=x[g],w={};for(var C in A)if(A.hasOwnProperty(C)){if(C==v){for(var E in y)if(y.hasOwnProperty(E))w[E]=y[E]}if(!y.hasOwnProperty(C))w[C]=A[C]}var T=x[g];return x[g]=w,o.languages.DFS(o.languages,function(I,k){if(k===T&&I!=g)this[I]=w}),w},DFS:function g(v,y,x,A){A=A||{};var w=o.util.objId;for(var C in v)if(v.hasOwnProperty(C)){y.call(v,C,v[C],x||C);var E=v[C],T=o.util.type(E);if(T==="Object"&&!A[w(E)])A[w(E)]=!0,g(E,y,null,A);else if(T==="Array"&&!A[w(E)])A[w(E)]=!0,g(E,y,C,A)}}},plugins:{},highlightAll:function(g,v){o.highlightAllUnder(document,g,v)},highlightAllUnder:function(g,v,y){var x={callback:y,container:g,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};o.hooks.run("before-highlightall",x),x.elements=Array.prototype.slice.apply(x.container.querySelectorAll(x.selector)),o.hooks.run("before-all-elements-highlight",x);for(var A=0,w;w=x.elements[A++];)o.highlightElement(w,v===!0,x.callback)},highlightElement:function(g,v,y){var x=o.util.getLanguage(g),A=o.languages[x];o.util.setLanguage(g,x);var w=g.parentElement;if(w&&w.nodeName.toLowerCase()==="pre")o.util.setLanguage(w,x);var C=g.textContent,E={element:g,language:x,grammar:A,code:C};function T(k){E.highlightedCode=k,o.hooks.run("before-insert",E),E.element.innerHTML=E.highlightedCode,o.hooks.run("after-highlight",E),o.hooks.run("complete",E),y&&y.call(E.element)}if(o.hooks.run("before-sanity-check",E),w=E.element.parentElement,w&&w.nodeName.toLowerCase()==="pre"&&!w.hasAttribute("tabindex"))w.setAttribute("tabindex","0");if(!E.code){o.hooks.run("complete",E),y&&y.call(E.element);return}if(o.hooks.run("before-highlight",E),!E.grammar){T(o.util.encode(E.code));return}if(v&&e.Worker){var I=new Worker(o.filename);I.onmessage=function(k){T(k.data)},I.postMessage(JSON.stringify({language:E.language,code:E.code,immediateClose:!0}))}else T(o.highlight(E.code,E.grammar,E.language))},highlight:function(g,v,y){var x={code:g,grammar:v,language:y};if(o.hooks.run("before-tokenize",x),!x.grammar)throw Error('The language "'+x.language+'" has no grammar.');return x.tokens=o.tokenize(x.code,x.grammar),o.hooks.run("after-tokenize",x),a.stringify(o.util.encode(x.tokens),x.language)},tokenize:function(g,v){var y=v.rest;if(y){for(var x in y)v[x]=y[x];delete v.rest}var A=new l;return c(A,A.head,g),s(g,A,v,A.head,0),d(A)},hooks:{all:{},add:function(g,v){var y=o.hooks.all;y[g]=y[g]||[],y[g].push(v)},run:function(g,v){var y=o.hooks.all[g];if(!y||!y.length)return;for(var x=0,A;A=y[x++];)A(v)}},Token:a};e.Prism=o;function a(g,v,y,x){this.type=g,this.content=v,this.alias=y,this.length=(x||"").length|0}a.stringify=function g(v,y){if(typeof v=="string")return v;if(Array.isArray(v)){var x="";return v.forEach(function(T){x+=g(T,y)}),x}var A={type:v.type,content:g(v.content,y),tag:"span",classes:["token",v.type],attributes:{},language:y},w=v.alias;if(w)if(Array.isArray(w))Array.prototype.push.apply(A.classes,w);else A.classes.push(w);o.hooks.run("wrap",A);var C="";for(var E in A.attributes)C+=" "+E+'="'+(A.attributes[E]||"").replace(/"/g,""")+'"';return"<"+A.tag+' class="'+A.classes.join(" ")+'"'+C+">"+A.content+""};function i(g,v,y,x){g.lastIndex=v;var A=g.exec(y);if(A&&x&&A[1]){var w=A[1].length;A.index+=w,A[0]=A[0].slice(w)}return A}function s(g,v,y,x,A,w){for(var C in y){if(!y.hasOwnProperty(C)||!y[C])continue;var E=y[C];E=Array.isArray(E)?E:[E];for(var T=0;T=w.reach)break;var G=N.value;if(v.length>g.length)return;if(G instanceof a)continue;var Z=1,q;if(O){if(q=i(D,_,g,L),!q||q.index>=g.length)break;var j=q.index,H=q.index+q[0].length,te=_;te+=N.value.length;while(j>=te)N=N.next,te+=N.value.length;if(te-=N.value.length,_=te,N.value instanceof a)continue;for(var ie=N;ie!==v.tail&&(tew.reach)w.reach=ae;var ne=N.prev;if(J)ne=c(v,ne,J),_+=J.length;u(v,ne,Z);var Se=new a(C,k?o.tokenize(oe,k):oe,B,oe);if(N=c(v,ne,Se),Y)c(v,N,Y);if(Z>1){var fe={cause:C+","+T,reach:ae};if(s(g,v,y,N.prev,_,fe),w&&fe.reach>w.reach)w.reach=fe.reach}}}}}function l(){var g={value:null,prev:null,next:null},v={value:null,prev:g,next:null};g.next=v,this.head=g,this.tail=v,this.length=0}function c(g,v,y){var x=v.next,A={value:y,prev:v,next:x};return v.next=A,x.prev=A,g.length++,A}function u(g,v,y){var x=v.next;for(var A=0;A/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};Ar.languages.markup.tag.inside["attr-value"].inside.entity=Ar.languages.markup.entity;Ar.languages.markup.doctype.inside["internal-subset"].inside=Ar.languages.markup;Ar.hooks.add("wrap",function(e){if(e.type==="entity")e.attributes.title=e.content.replace(/&/,"&")});Object.defineProperty(Ar.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r["language-"+n]={pattern:/(^$)/i,lookbehind:!0,inside:Ar.languages[n]},r.cdata=/^$/i;var o={"included-cdata":{pattern://i,inside:r}};o["language-"+n]={pattern:/[\s\S]+/,inside:Ar.languages[n]};var a={};a[t]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:o},Ar.languages.insertBefore("markup","cdata",a)}});Object.defineProperty(Ar.languages.markup.tag,"addAttribute",{value:function(e,t){Ar.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Ar.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});Ar.languages.html=Ar.languages.markup;Ar.languages.mathml=Ar.languages.markup;Ar.languages.svg=Ar.languages.markup;Ar.languages.xml=Ar.languages.extend("markup",{});Ar.languages.ssml=Ar.languages.xml;Ar.languages.atom=Ar.languages.xml;Ar.languages.rss=Ar.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;if(n)n.tag.addInlined("style","css"),n.tag.addAttribute("style","css")})(Ar);Ar.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Ar.languages.javascript=Ar.languages.extend("clike",{"class-name":[Ar.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Ar.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Ar.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Ar.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Ar.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Ar.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Ar.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Ar.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Ar.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Ar.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Ar.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});if(Ar.languages.markup)Ar.languages.markup.tag.addInlined("script","javascript"),Ar.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript");Ar.languages.js=Ar.languages.javascript;(function(){if(typeof Ar>"u"||typeof document>"u")return;if(!Element.prototype.matches)Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;var e="Loading…",t=function(p,f){return"✖ Error "+p+" while fetching file: "+f},n="✖ Error: File does not exist or is empty",r={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},o="data-src-status",a="loading",i="loaded",s="failed",l="pre[data-src]:not(["+o+'="'+i+'"]):not(['+o+'="'+a+'"])';function c(p,f,m){var g=new XMLHttpRequest;g.open("GET",p,!0),g.onreadystatechange=function(){if(g.readyState==4)if(g.status<400&&g.responseText)f(g.responseText);else if(g.status>=400)m(t(g.status,g.statusText));else m(n)},g.send(null)}function u(p){var f=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(p||"");if(f){var m=Number(f[1]),g=f[2],v=f[3];if(!g)return[m,m];if(!v)return[m,void 0];return[m,Number(v)]}return}Ar.hooks.add("before-highlightall",function(p){p.selector+=", "+l}),Ar.hooks.add("before-sanity-check",function(p){var f=p.element;if(f.matches(l)){p.code="",f.setAttribute(o,a);var m=f.appendChild(document.createElement("CODE"));m.textContent=e;var g=f.getAttribute("data-src"),v=p.language;if(v==="none"){var y=(/\.(\w+)$/.exec(g)||[,"none"])[1];v=r[y]||y}Ar.util.setLanguage(m,v),Ar.util.setLanguage(f,v);var x=Ar.plugins.autoloader;if(x)x.loadLanguages(v);c(g,function(A){f.setAttribute(o,i);var w=u(f.getAttribute("data-range"));if(w){var C=A.split(/\r\n?|\n/g),E=w[0],T=w[1]==null?C.length:w[1];if(E<0)E+=C.length;if(E=Math.max(0,Math.min(E-1,C.length)),T<0)T+=C.length;if(T=Math.max(0,Math.min(T,C.length)),A=C.slice(E,T).join(` -`),!f.hasAttribute("data-start"))f.setAttribute("data-start",String(E+1))}m.textContent=A,Ar.highlightElement(m)},function(A){f.setAttribute(o,s),m.textContent=A})}}),Ar.plugins.fileHighlight={highlight:function(f){var m=(f||document).querySelectorAll(l);for(var g=0,v;v=m[g++];)Ar.highlightElement(v)}};var d=!1;Ar.fileHighlight=function(){if(!d)console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),d=!0;Ar.plugins.fileHighlight.highlight.apply(this,arguments)}})()});var ypn=P(()=>{Prism.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-\/÷^]|[<>]=?/,/\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,"class-name":/\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\b/,punctuation:/[{}():,¬«»《》]/}});var vpn=P(()=>{(function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;var o=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside;for(var i=0;i{Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/});Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}});Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}});Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/});delete Prism.languages.c.boolean});var xpn=P(()=>{(function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,function(){return t.source});e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,function(){return n})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])})(Prism)});var Apn=P(()=>{(function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby})(Prism)});var wpn=P(()=>{(function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,operator:[/->/,e.languages.ruby.operator],punctuation:/[(){}[\].,;\\]/}),e.languages.insertBefore("crystal","string-literal",{attribute:{pattern:/@\[.*?\]/,inside:{delimiter:{pattern:/^@\[|\]$/,alias:"punctuation"},attribute:{pattern:/^(\s*)\w+/,lookbehind:!0,alias:"class-name"},args:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.crystal}}},expansion:{pattern:/\{(?:\{.*?\}|%.*?%)\}/,inside:{content:{pattern:/^(\{.)[\s\S]+(?=.\}$)/,lookbehind:!0,inside:e.languages.crystal},delimiter:{pattern:/^\{[\{%]|[\}%]\}$/,alias:"operator"}}},char:{pattern:/'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,greedy:!0}})})(Prism)});var Spn=P(()=>{(function(e){function t(q,H){return q.replace(/<<(\d+)>>/g,function(te,ie){return"(?:"+H[+ie]+")"})}function n(q,H,te){return RegExp(t(q,H),te||"")}function r(q,H){for(var te=0;te>/g,function(){return"(?:"+q+")"});return q.replace(/<>/g,"[^\\s\\S]")}var o={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function a(q){return"\\b(?:"+q.trim().replace(/ /g,"|")+")\\b"}var i=a(o.typeDeclaration),s=RegExp(a(o.type+" "+o.typeDeclaration+" "+o.contextual+" "+o.other)),l=a(o.typeDeclaration+" "+o.contextual+" "+o.other),c=a(o.type+" "+o.typeDeclaration+" "+o.other),u=r(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),d=r(/\((?:[^()]|<>)*\)/.source,2),p=/@?\b[A-Za-z_]\w*\b/.source,f=t(/<<0>>(?:\s*<<1>>)?/.source,[p,u]),m=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[l,f]),g=/\[\s*(?:,\s*)*\]/.source,v=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[m,g]),y=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[u,d,g]),x=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[y]),A=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[x,m,g]),w={keyword:s,punctuation:/[<>()?,.:[\]]/},C=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,E=/"(?:\\.|[^\\"\r\n])*"/.source,T=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[T]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[E]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[m]),lookbehind:!0,inside:w},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[p,A]),lookbehind:!0,inside:w},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[p]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[i,f]),lookbehind:!0,inside:w},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[m]),lookbehind:!0,inside:w},{pattern:n(/(\bwhere\s+)<<0>>/.source,[p]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[v]),lookbehind:!0,inside:w},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[A,c,p]),inside:w}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[p]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[p]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[d]),lookbehind:!0,alias:"class-name",inside:w},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[A,m]),inside:w,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[A]),lookbehind:!0,inside:w,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[p,u]),inside:{function:n(/^<<0>>/.source,[p]),generic:{pattern:RegExp(u),alias:"class-name",inside:w}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[i,f,p,A,s.source,d,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[f,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(A),greedy:!0,inside:w},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var I=E+"|"+C,k=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[I]),L=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[k]),2),O=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,B=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[m,L]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[O,B]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[O]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[L]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var U=/:[^}\r\n]+/.source,D=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[k]),2),N=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[D,U]),_=r(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[I]),2),G=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[_,U]);function Z(q,H){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[q]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[H,U]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[N]),lookbehind:!0,greedy:!0,inside:Z(N,D)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[G]),lookbehind:!0,greedy:!0,inside:Z(G,_)}],char:{pattern:RegExp(C),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(Prism)});var Cpn=P(()=>{(function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:n={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp(`\\[(?:[^[\\]"']|`+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=n,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},o={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|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|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:o,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:o})})(Prism)});var Epn=P(()=>{Prism.languages.csv={value:/[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,punctuation:/,/}});var Ipn=P(()=>{Prism.languages.d=Prism.languages.extend("clike",{comment:[{pattern:/^\s*#!.+/,greedy:!0},{pattern:RegExp(/(^|[^\\])/.source+"(?:"+[/\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source,/\/\/.*/.source,/\/\*[\s\S]*?\*\//.source].join("|")+")"),lookbehind:!0,greedy:!0}],string:[{pattern:RegExp([/\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source,/\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source,/\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source,/\bq"(.)[\s\S]*?\2"/.source,/(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source].join("|"),"m"),greedy:!0},{pattern:/\bq\{(?:\{[^{}]*\}|[^{}])*\}/,greedy:!0,alias:"token-string"}],keyword:/\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/,number:[/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,{pattern:/((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,lookbehind:!0}],operator:/\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/});Prism.languages.insertBefore("d","string",{char:/'(?:\\(?:\W|\w+)|[^\\])'/});Prism.languages.insertBefore("d","keyword",{property:/\B@\w*/});Prism.languages.insertBefore("d","function",{register:{pattern:/\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,alias:"variable"}})});var Tpn=P(()=>{(function(e){var t=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],n=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};e.languages.dart=e.languages.extend("clike",{"class-name":[r,{pattern:RegExp(n+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:r.inside}],keyword:t,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),e.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.dart}}},string:/[\s\S]+/}},string:void 0}),e.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),e.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})})(Prism)});var kpn=P(()=>{(function(e){var t=/\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source,n=/(?:[ \t]+(?![ \t])(?:)?|)/.source.replace(//g,function(){return t}),r=/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source,o=/--[\w-]+=(?:|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(//g,function(){return r}),a={pattern:RegExp(r),greedy:!0},i={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function s(l,c){return l=l.replace(//g,function(){return o}).replace(//g,function(){return n}),RegExp(l,c)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:s(/(^(?:ONBUILD)?\w+)(?:)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[a,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:s(/(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:s(/(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\]+)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:s(/(^ONBUILD)\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:i,string:a,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker})(Prism)});var Rpn=P(()=>{Prism.languages["go-mod"]=Prism.languages["go-module"]={comment:{pattern:/\/\/.*/,greedy:!0},version:{pattern:/(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/,lookbehind:!0,alias:"number"},"go-version":{pattern:/((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/,lookbehind:!0,alias:"number"},keyword:{pattern:/^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m,lookbehind:!0},operator:/=>/,punctuation:/[()[\],]/}});var Ppn=P(()=>{Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/});Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}});delete Prism.languages.go["class-name"]});var Mpn=P(()=>{Prism.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:!0},char:{pattern:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:!0},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import|qualified)\b/,punctuation:/\./}},builtin:/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:[{pattern:/`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,greedy:!0},{pattern:/(\s)\.(?=\s)/,lookbehind:!0},/[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/],hvariable:{pattern:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,inside:{punctuation:/\./}},constant:{pattern:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:]/};Prism.languages.hs=Prism.languages.haskell});var Dpn=P(()=>{Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}});var Lpn=P(()=>{(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism)});var Bpn=P(()=>{(function(e){e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]});function t(s,l){return RegExp(s.replace(//g,function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source}),l)}e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});var n=["function","function-variable","method","method-variable","property-access"];for(var r=0;r{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json});var Fpn=P(()=>{(function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{*\.{3}(?:[^{}]|)*\})/.source;function a(l,c){return l=l.replace(//g,function(){return n}).replace(//g,function(){return r}).replace(//g,function(){return o}),RegExp(l,c)}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(l){if(!l)return"";if(typeof l==="string")return l;if(typeof l.content==="string")return l.content;return l.content.map(i).join("")},s=function(l){var c=[];for(var u=0;u0&&c[c.length-1].tagName===i(d.content[0].content[1]))c.pop()}else if(d.content[d.content.length-1].content==="/>");else c.push({tagName:i(d.content[0].content[1]),openedBraces:0});else if(c.length>0&&d.type==="punctuation"&&d.content==="{")c[c.length-1].openedBraces++;else if(c.length>0&&c[c.length-1].openedBraces>0&&d.type==="punctuation"&&d.content==="}")c[c.length-1].openedBraces--;else p=!0;if(p||typeof d==="string"){if(c.length>0&&c[c.length-1].openedBraces===0){var f=i(d);if(u0&&(typeof l[u-1]==="string"||l[u-1].type==="plain-text"))f=i(l[u-1])+f,l.splice(u-1,1),u--;l[u]=new e.Token("plain-text",f,null,f)}}if(d.content&&typeof d.content!=="string")s(d.content)}};e.hooks.add("after-tokenize",function(l){if(l.language!=="jsx"&&l.language!=="tsx")return;s(l.tokens)})})(Prism)});var Upn=P(()=>{(function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin})(Prism)});var Npn=P(()=>{Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/});Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}})});var zpn=P(()=>{Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}});var _pn=P(()=>{Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}});var Hpn=P(()=>{(function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(u){return u=u.replace(//g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+u+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(u){["url","bold","italic","strike","code-snippet"].forEach(function(d){if(u!==d)e.languages.markdown[u].inside.content.inside[d]=e.languages.markdown[d]})}),e.hooks.add("after-tokenize",function(u){if(u.language!=="markdown"&&u.language!=="md")return;function d(p){if(!p||typeof p==="string")return;for(var f=0,m=p.length;f",quot:'"'},l=String.fromCodePoint||String.fromCharCode;function c(u){var d=u.replace(i,"");return d=d.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(p,f){if(f=f.toLowerCase(),f[0]==="#"){var m;if(f[1]==="x")m=parseInt(f.slice(2),16);else m=Number(f.slice(1));return l(m)}else{var g=s[f];if(g)return g;return p}}),d}e.languages.md=e.languages.markdown})(Prism)});var Vpn=P(()=>{(function(e){function t(n,r){return"___"+n.toUpperCase()+r+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language!==r)return;var i=n.tokenStack=[];n.code=n.code.replace(o,function(s){if(typeof a==="function"&&!a(s))return s;var l=i.length,c;while(n.code.indexOf(c=t(r,l))!==-1)++l;return i[l]=s,c}),n.grammar=e.languages.markup}},tokenizePlaceholders:{value:function(n,r){if(n.language!==r||!n.tokenStack)return;n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);function i(s){for(var l=0;l=a.length)break;var c=s[l];if(typeof c==="string"||c.content&&typeof c.content==="string"){var u=a[o],d=n.tokenStack[u],p=typeof c==="string"?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++o;var g=p.substring(0,m),v=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),x=[];if(g)x.push.apply(x,i([g]));if(x.push(v),y)x.push.apply(x,i([y]));if(typeof c==="string")s.splice.apply(s,[l,1].concat(x));else c.content=x}}else if(c.content)i(c.content)}return s}i(n.tokens)}}})})(Prism)});var Gpn=P(()=>{Prism.languages.nim={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/,greedy:!0},char:{pattern:/'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/,greedy:!0},function:{pattern:/(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,greedy:!0,inside:{operator:/\*$/}},identifier:{pattern:/`[^`\r\n]+`/,greedy:!0,inside:{punctuation:/`/}},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,keyword:/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m,lookbehind:!0},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}});var qpn=P(()=>{Prism.languages.objectivec=Prism.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/});delete Prism.languages.objectivec["class-name"];Prism.languages.objc=Prism.languages.objectivec});var Zpn=P(()=>{Prism.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/}});var Qpn=P(()=>{(function(e){var t=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,t+/\s*/.source+t].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(Prism)});var Xpn=P(()=>{(function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,o=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:o,punctuation:a};var i={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:i}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:i}}];e.languages.insertBefore("php","variable",{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:o,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",function(l){if(!/<\?/.test(l.code))return;var c=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;e.languages["markup-templating"].buildPlaceholders(l,"php",c)}),e.hooks.add("after-tokenize",function(l){e.languages["markup-templating"].tokenizePlaceholders(l,"php")})})(Prism)});var Wpn=P(()=>{(function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}})(Prism)});var Ypn=P(()=>{Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/};Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python;Prism.languages.py=Prism.languages.python});var Kpn=P(()=>{(function(e){var t=/"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source,n=/\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source,r=/(?:[^\\()[\]{}"'/]||\/(?![*/])||\(*\)|\[*\]|\{*\}|\\[\s\S])/.source.replace(//g,function(){return t}).replace(//g,function(){return n});for(var o=0;o<2;o++)r=r.replace(//g,function(){return r});r=r.replace(//g,"[^\\s\\S]"),e.languages.qml={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},"javascript-function":{pattern:RegExp(/((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(*\)\s*\{*\}/.source.replace(//g,function(){return r}),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},"class-name":{pattern:/((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,lookbehind:!0},property:[{pattern:/((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0},{pattern:/((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0,inside:{keyword:/^property/,property:/\w+(?:\.\w+)*/}}],"javascript-expression":{pattern:RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}]))+/.source.replace(//g,function(){return r}),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},keyword:/\b(?:as|import|on)\b/,punctuation:/[{}[\]:;,]/}})(Prism)});var Jpn=P(()=>{Prism.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}});var jpn=P(()=>{(function(e){var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|)*\*\//.source;for(var n=0;n<2;n++)t=t.replace(//g,function(){return t});t=t.replace(//g,function(){return/[^\s\S]/.source}),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(Prism)});var $pn=P(()=>{(function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})})(Prism)});var efn=P(()=>{Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}});Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]});Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/});Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}});Prism.languages.scss.atrule.inside.rest=Prism.languages.scss});var tfn=P(()=>{Prism.languages.solidity=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:!0},keyword:/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/});Prism.languages.insertBefore("solidity","keyword",{builtin:/\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/});Prism.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:!0,alias:"number"}});Prism.languages.sol=Prism.languages.solidity});var nfn=P(()=>{Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}});var rfn=P(()=>{Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+(/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+")+"|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/};Prism.languages.swift["string-literal"].forEach(function(e){e.inside.interpolation.inside=Prism.languages.swift})});var ofn=P(()=>{(function(e){var t=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function n(r){return r.replace(/__/g,function(){return t})}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}})(Prism)});var afn=P(()=>{(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0})(Prism)});var ifn=P(()=>{(function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript})(Prism)});var sfn=P(()=>{(function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern://,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript})(Prism)});var lfn=P(()=>{Prism.languages.vala=Prism.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/});Prism.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:Prism.languages.vala}},string:/[\s\S]+/}}});Prism.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}})});var cfn=P(()=>{(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(s,l){l=(l||"").replace(/m/g,"")+"m";var c=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,function(){return r}).replace(/<>/g,function(){return s});return RegExp(c,l)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,function(){return r}).replace(/<>/g,function(){return"(?:"+o+"|"+a+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(Prism)});var ufn=P(()=>{(function(e){function t(l){return function(){return l}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,r="\\b(?!"+n.source+")(?!\\d)\\w+\\b",o=/align\s*\((?:[^()]|\([^()]*\))*\)/.source,a=/(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace(//g,t(o)),i=/(?:\bpromise\b|(?:\berror\.)?(?:\.)*(?!\s+))/.source.replace(//g,t(r)),s="(?!\\s)(?:!?\\s*(?:"+a+"\\s*)*"+i+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp(/(:\s*)(?=\s*(?:\s*)?[=;,)])|(?=\s*(?:\s*)?\{)/.source.replace(//g,t(s)).replace(//g,t(o))),lookbehind:!0,inside:null},{pattern:RegExp(/(\)\s*)(?=\s*(?:\s*)?;)/.source.replace(//g,t(s)).replace(//g,t(o))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach(function(l){if(l.inside===null)l.inside=e.languages.zig})})(Prism)});var ORr={};var dfn=P(()=>{ypn();vpn();bpn();xpn();Apn();wpn();Spn();Cpn();Epn();Ipn();Tpn();kpn();Rpn();Ppn();Mpn();Dpn();Lpn();Bpn();Opn();Fpn();Upn();Npn();zpn();_pn();Hpn();Vpn();Gpn();qpn();Zpn();Qpn();Xpn();Wpn();Ypn();Kpn();Jpn();jpn();$pn();efn();tfn();nfn();rfn();ofn();afn();ifn();sfn();lfn();cfn();ufn()});async function pfn(){return await FRr,{highlightElement:(e,t)=>Dze.default.highlightElement(e,t)}}var Dze,FRr;var ffn=P(()=>{hpn();Dze=z(gpn(),1);window.Prism=Dze.default;FRr=Promise.resolve().then(() => (dfn(),ORr))});function NRr(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}function PB(e,t){return new zRr[e](t)}function Uhn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function DB(e){return document.createElementNS("http://www.w3.org/1999/xhtml",e)}function mHe(){let e=DB("canvas");return e.style.display="block",e}function Nhn(e){l5=e}function zhn(){return l5}function LB(...e){let t="THREE."+e.shift();if(l5)l5("log",t,...e);else console.log(t,...e)}function _hn(e){let t=e[0];if(typeof t==="string"&&t.startsWith("TSL:")){let n=e[1];if(n&&n.isStackTrace)e[0]+=" "+n.getLocation();else e[1]='Stack trace not available. Enable "THREE.Node.captureStackTrace" to capture stack traces.'}return e}function zn(...e){e=_hn(e);let t="THREE."+e.shift();if(l5)l5("warn",t,...e);else{let n=e[0];if(n&&n.isStackTrace)console.warn(n.getError(t));else console.warn(t,...e)}}function wr(...e){e=_hn(e);let t="THREE."+e.shift();if(l5)l5("error",t,...e);else{let n=e[0];if(n&&n.isStackTrace)console.error(n.getError(t));else console.error(t,...e)}}function Kx(...e){let t=e.join(" ");if(t in yfn)return;yfn[t]=!0,zn(...e)}function Hhn(e,t,n){return new Promise(function(r,o){function a(){switch(e.clientWaitSync(t,e.SYNC_FLUSH_COMMANDS_BIT,0)){case e.WAIT_FAILED:o();break;case e.TIMEOUT_EXPIRED:setTimeout(a,n);break;default:r()}}setTimeout(a,n)})}class Lh{addEventListener(e,t){if(this._listeners===void 0)this._listeners={};let n=this._listeners;if(n[e]===void 0)n[e]=[];if(n[e].indexOf(t)===-1)n[e].push(t)}hasEventListener(e,t){let n=this._listeners;if(n===void 0)return!1;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){let n=this._listeners;if(n===void 0)return;let r=n[e];if(r!==void 0){let o=r.indexOf(t);if(o!==-1)r.splice(o,1)}}dispatchEvent(e){let t=this._listeners;if(t===void 0)return;let n=t[e.type];if(n!==void 0){e.target=this;let r=n.slice(0);for(let o=0,a=r.length;o>8&255]+Mm[e>>16&255]+Mm[e>>24&255]+"-"+Mm[t&255]+Mm[t>>8&255]+"-"+Mm[t>>16&15|64]+Mm[t>>24&255]+"-"+Mm[n&63|128]+Mm[n>>8&255]+"-"+Mm[n>>16&255]+Mm[n>>24&255]+Mm[r&255]+Mm[r>>8&255]+Mm[r>>16&255]+Mm[r>>24&255]).toLowerCase()}function to(e,t,n){return Math.max(t,Math.min(n,e))}function hHe(e,t){return(e%t+t)%t}function _Rr(e,t,n,r,o){return r+(e-t)*(o-r)/(n-t)}function HRr(e,t,n){if(e!==t)return(n-e)/(t-e);else return 0}function cX(e,t,n){return(1-n)*e+n*t}function VRr(e,t,n,r){return cX(e,t,1-Math.exp(-n*r))}function GRr(e,t=1){return t-Math.abs(hHe(e,t*2)-t)}function qRr(e,t,n){if(e<=t)return 0;if(e>=n)return 1;return e=(e-t)/(n-t),e*e*(3-2*e)}function ZRr(e,t,n){if(e<=t)return 0;if(e>=n)return 1;return e=(e-t)/(n-t),e*e*e*(e*(e*6-15)+10)}function QRr(e,t){return e+Math.floor(Math.random()*(t-e+1))}function XRr(e,t){return e+Math.random()*(t-e)}function WRr(e){return e*(0.5-Math.random())}function YRr(e){if(e!==void 0)vfn=e;let t=vfn+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function KRr(e){return e*b7}function JRr(e){return e*x7}function jRr(e){return e>0&&Number.isInteger(e)&&2**Math.round(Math.log2(e))===e}function $Rr(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function ePr(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function tPr(e,t,n,r,o){let{cos:a,sin:i}=Math,s=a(n/2),l=i(n/2),c=a((t+r)/2),u=i((t+r)/2),d=a((t-r)/2),p=i((t-r)/2),f=a((r-t)/2),m=i((r-t)/2);switch(o){case"XYX":e.set(s*u,l*d,l*p,s*c);break;case"YZY":e.set(l*p,s*u,l*d,s*c);break;case"ZXZ":e.set(l*d,l*p,s*u,s*c);break;case"XZX":e.set(s*u,l*m,l*f,s*c);break;case"YXY":e.set(l*f,s*u,l*m,s*c);break;case"ZYZ":e.set(l*m,l*f,s*u,s*c);break;default:zn("MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+o)}}function Th(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return e/4294967295;case Uint16Array:return e/65535;case Uint8Array:case Uint8ClampedArray:return e/255;case Int32Array:return Math.max(e/2147483647,-1);case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw Error("THREE.MathUtils: Invalid component type.")}}function No(e,t){switch(t.constructor){case Float32Array:return e;case Uint32Array:return Math.round(e*4294967295);case Uint16Array:return Math.round(e*65535);case Uint8Array:case Uint8ClampedArray:return Math.round(e*255);case Int32Array:return Math.round(e*2147483647);case Int16Array:return Math.round(e*32767);case Int8Array:return Math.round(e*127);default:throw Error("THREE.MathUtils: Invalid component type.")}}function nPr(){let e={enabled:!0,workingColorSpace:"srgb-linear",spaces:{},convert:function(o,a,i){if(this.enabled===!1||a===i||!a||!i)return o;if(this.spaces[a].transfer==="srgb")o.r=Xw(o.r),o.g=Xw(o.g),o.b=Xw(o.b);if(this.spaces[a].primaries!==this.spaces[i].primaries)o.applyMatrix3(this.spaces[a].toXYZ),o.applyMatrix3(this.spaces[i].fromXYZ);if(this.spaces[i].transfer==="srgb")o.r=MB(o.r),o.g=MB(o.g),o.b=MB(o.b);return o},workingToColorSpace:function(o,a){return this.convert(o,this.workingColorSpace,a)},colorSpaceToWorking:function(o,a){return this.convert(o,a,this.workingColorSpace)},getPrimaries:function(o){return this.spaces[o].primaries},getTransfer:function(o){if(o==="")return"linear";return this.spaces[o].transfer},getToneMappingMode:function(o){return this.spaces[o].outputColorSpaceConfig.toneMappingMode||"standard"},getLuminanceCoefficients:function(o,a=this.workingColorSpace){return o.fromArray(this.spaces[a].luminanceCoefficients)},define:function(o){Object.assign(this.spaces,o)},_getMatrix:function(o,a,i){return o.copy(this.spaces[a].toXYZ).multiply(this.spaces[i].fromXYZ)},_getDrawingBufferColorSpace:function(o){return this.spaces[o].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(o=this.workingColorSpace){return this.spaces[o].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(o,a){return Kx("ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),e.workingToColorSpace(o,a)},toWorkingColorSpace:function(o,a){return Kx("ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),e.colorSpaceToWorking(o,a)}},t=[0.64,0.33,0.3,0.6,0.15,0.06],n=[0.2126,0.7152,0.0722],r=[0.3127,0.329];return e.define({["srgb-linear"]:{primaries:t,whitePoint:r,transfer:"linear",toXYZ:xfn,fromXYZ:Afn,luminanceCoefficients:n,workingColorSpaceConfig:{unpackColorSpace:"srgb"},outputColorSpaceConfig:{drawingBufferColorSpace:"srgb"}},["srgb"]:{primaries:t,whitePoint:r,transfer:"srgb",toXYZ:xfn,fromXYZ:Afn,luminanceCoefficients:n,outputColorSpaceConfig:{drawingBufferColorSpace:"srgb"}}}),e}function Xw(e){return e<0.04045?e*0.0773993808:Math.pow(e*0.9478672986+0.0521327014,2.4)}function MB(e){return e<0.0031308?e*12.92:1.055*Math.pow(e,0.41666)-0.055}class M0e{static getDataURL(e,t="image/png"){if(/^data:/i.test(e.src))return e.src;if(typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{if(uB===void 0)uB=DB("canvas");uB.width=e.width,uB.height=e.height;let r=uB.getContext("2d");if(e instanceof ImageData)r.putImageData(e,0,0);else r.drawImage(e,0,0,e.width,e.height);n=uB}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let t=DB("canvas");t.width=e.width,t.height=e.height;let n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);let r=n.getImageData(0,0,e.width,e.height),o=r.data;for(let a=0;a>>0}enable(e){this.mask|=1<p+f)l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this});else if(!l.inputState.pinching&&d<=p-f)l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this})}else if(s!==null&&e.gripSpace){if(o=t.getPose(e.gripSpace,n),o!==null){if(s.matrix.fromArray(o.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),s.matrixWorldNeedsUpdate=!0,o.linearVelocity)s.hasLinearVelocity=!0,s.linearVelocity.copy(o.linearVelocity);else s.hasLinearVelocity=!1;if(o.angularVelocity)s.hasAngularVelocity=!0,s.angularVelocity.copy(o.angularVelocity);else s.hasAngularVelocity=!1;if(s.eventsEnabled)s.dispatchEvent({type:"gripUpdated",data:e,target:this})}}if(i!==null){if(r=t.getPose(e.targetRaySpace,n),r===null&&o!==null)r=o;if(r!==null){if(i.matrix.fromArray(r.transform.matrix),i.matrix.decompose(i.position,i.rotation,i.scale),i.matrixWorldNeedsUpdate=!0,r.linearVelocity)i.hasLinearVelocity=!0,i.linearVelocity.copy(r.linearVelocity);else i.hasLinearVelocity=!1;if(r.angularVelocity)i.hasAngularVelocity=!0,i.angularVelocity.copy(r.angularVelocity);else i.hasAngularVelocity=!1;this.dispatchEvent(dPr)}}}if(i!==null)i.visible=r!==null;if(s!==null)s.visible=o!==null;if(l!==null)l.visible=a!==null;return this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){let n=new Qw;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}function zze(e,t,n){if(n<0)n+=1;if(n>1)n-=1;if(n<0.16666666666666666)return e+(t-e)*6*n;if(n<0.5)return t;if(n<0.6666666666666666)return e+(t-e)*6*(0.6666666666666666-n);return e}class MX{constructor(e,t=0.00025){this.isFogExp2=!0,this.name="",this.color=new _n(e),this.density=t}clone(){return new MX(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class DX{constructor(e,t=1,n=1000){this.isFog=!0,this.name="",this.color=new _n(e),this.near=t,this.far=n}clone(){return new DX(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class kh{constructor(e=new he,t=new he,n=new he){this.a=e,this.b=t,this.c=n}static getNormal(e,t,n,r){r.subVectors(n,t),Cv.subVectors(e,t),r.cross(Cv);let o=r.lengthSq();if(o>0)return r.multiplyScalar(1/Math.sqrt(o));return r.set(0,0,0)}static getBarycoord(e,t,n,r,o){Cv.subVectors(r,t),_w.subVectors(n,t),_ze.subVectors(e,t);let a=Cv.dot(Cv),i=Cv.dot(_w),s=Cv.dot(_ze),l=_w.dot(_w),c=_w.dot(_ze),u=a*l-i*i;if(u===0)return o.set(0,0,0),null;let d=1/u,p=(l*s-i*c)*d,f=(a*c-i*s)*d;return o.set(1-p-f,f,p)}static containsPoint(e,t,n,r){if(this.getBarycoord(e,t,n,r,Hw)===null)return!1;return Hw.x>=0&&Hw.y>=0&&Hw.x+Hw.y<=1}static getInterpolation(e,t,n,r,o,a,i,s){if(this.getBarycoord(e,t,n,r,Hw)===null){if(s.x=0,s.y=0,"z"in s)s.z=0;if("w"in s)s.w=0;return null}return s.setScalar(0),s.addScaledVector(o,Hw.x),s.addScaledVector(a,Hw.y),s.addScaledVector(i,Hw.z),s}static getInterpolatedAttribute(e,t,n,r,o,a){return qze.setScalar(0),Zze.setScalar(0),Qze.setScalar(0),qze.fromBufferAttribute(e,t),Zze.fromBufferAttribute(e,n),Qze.fromBufferAttribute(e,r),a.setScalar(0),a.addScaledVector(qze,o.x),a.addScaledVector(Zze,o.y),a.addScaledVector(Qze,o.z),a}static isFrontFacing(e,t,n,r){return Cv.subVectors(n,t),_w.subVectors(e,t),Cv.cross(_w).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Cv.subVectors(this.c,this.b),_w.subVectors(this.a,this.b),Cv.cross(_w).length()*0.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(0.3333333333333333)}getNormal(e){return kh.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return kh.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,r,o){return kh.getInterpolation(e,this.a,this.b,this.c,t,n,r,o)}containsPoint(e){return kh.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return kh.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n=this.a,r=this.b,o=this.c,a,i;mB.subVectors(r,n),hB.subVectors(o,n),Hze.subVectors(e,n);let s=mB.dot(Hze),l=hB.dot(Hze);if(s<=0&&l<=0)return t.copy(n);Vze.subVectors(e,r);let c=mB.dot(Vze),u=hB.dot(Vze);if(c>=0&&u<=c)return t.copy(r);let d=s*u-c*l;if(d<=0&&s>=0&&c<=0)return a=s/(s-c),t.copy(n).addScaledVector(mB,a);Gze.subVectors(e,o);let p=mB.dot(Gze),f=hB.dot(Gze);if(f>=0&&p<=f)return t.copy(o);let m=p*l-s*f;if(m<=0&&l>=0&&f<=0)return i=l/(l-f),t.copy(n).addScaledVector(hB,i);let g=c*f-p*u;if(g<=0&&u-c>=0&&p-f>=0)return Rfn.subVectors(o,r),i=(u-c)/(u-c+(p-f)),t.copy(r).addScaledVector(Rfn,i);let v=1/(g+m+d);return a=m*v,i=d*v,t.copy(n).addScaledVector(mB,a).addScaledVector(hB,i)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}class Il{constructor(e=new he(1/0,1/0,1/0),t=new he(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,Ev),Ev.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;if(e.normal.x>0)t=e.normal.x*this.min.x,n=e.normal.x*this.max.x;else t=e.normal.x*this.max.x,n=e.normal.x*this.min.x;if(e.normal.y>0)t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y;else t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y;if(e.normal.z>0)t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z;else t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z;return t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(KQ),Qme.subVectors(this.max,KQ),gB.subVectors(e.a,KQ),yB.subVectors(e.b,KQ),vB.subVectors(e.c,KQ),o5.subVectors(yB,gB),a5.subVectors(vB,yB),s7.subVectors(gB,vB);let t=[0,-o5.z,o5.y,0,-a5.z,a5.y,0,-s7.z,s7.y,o5.z,0,-o5.x,a5.z,0,-a5.x,s7.z,0,-s7.x,-o5.y,o5.x,0,-a5.y,a5.x,0,-s7.y,s7.x,0];if(!Xze(t,gB,yB,vB,Qme))return!1;if(t=[1,0,0,0,1,0,0,0,1],!Xze(t,gB,yB,vB,Qme))return!1;return Xme.crossVectors(o5,a5),t=[Xme.x,Xme.y,Xme.z],Xze(t,gB,yB,vB,Qme)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Ev).distanceTo(e)}getBoundingSphere(e){if(this.isEmpty())e.makeEmpty();else this.getCenter(e.center),e.radius=this.getSize(Ev).length()*0.5;return e}intersect(e){if(this.min.max(e.min),this.max.min(e.max),this.isEmpty())this.makeEmpty();return this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){if(this.isEmpty())return this;return Vw[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Vw[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Vw[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Vw[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Vw[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Vw[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Vw[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Vw[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Vw),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}}function Xze(e,t,n,r,o){for(let a=0,i=e.length-3;a<=i;a+=3){l7.fromArray(e,a);let s=o.x*Math.abs(l7.x)+o.y*Math.abs(l7.y)+o.z*Math.abs(l7.z),l=t.dot(l7),c=n.dot(l7),u=r.dot(l7);if(Math.max(-Math.max(l,c,u),Math.min(l,c,u))>s)return!1}return!0}function pPr(){let e=new ArrayBuffer(4),t=new Float32Array(e),n=new Uint32Array(e),r=new Uint32Array(512),o=new Uint32Array(512);for(let l=0;l<256;++l){let c=l-127;if(c<-27)r[l]=0,r[l|256]=32768,o[l]=24,o[l|256]=24;else if(c<-14)r[l]=1024>>-c-14,r[l|256]=1024>>-c-14|32768,o[l]=-c-1,o[l|256]=-c-1;else if(c<=15)r[l]=c+15<<10,r[l|256]=c+15<<10|32768,o[l]=13,o[l|256]=13;else if(c<128)r[l]=31744,r[l|256]=64512,o[l]=24,o[l|256]=24;else r[l]=31744,r[l|256]=64512,o[l]=13,o[l|256]=13}let a=new Uint32Array(2048),i=new Uint32Array(64),s=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,u=0;while((c&8388608)===0)c<<=1,u-=8388608;c&=-8388609,u+=947912704,a[l]=c|u}for(let l=1024;l<2048;++l)a[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)i[l]=l<<23;i[31]=1199570944,i[32]=2147483648;for(let l=33;l<63;++l)i[l]=2147483648+(l-32<<23);i[63]=3347054592;for(let l=1;l<64;++l)if(l!==32)s[l]=1024;return{floatView:t,uint32View:n,baseTable:r,shiftTable:o,mantissaTable:a,exponentTable:i,offsetTable:s}}function L0(e){if(Math.abs(e)>65504)zn("DataUtils.toHalfFloat(): Value out of range.");e=to(e,-65504,65504),Zw.floatView[0]=e;let t=Zw.uint32View[0],n=t>>23&511;return Zw.baseTable[n]+((t&8388607)>>Zw.shiftTable[n])}function sX(e){let t=e>>10;return Zw.uint32View[0]=Zw.mantissaTable[Zw.offsetTable[t]+(e&1023)]+Zw.exponentTable[t],Zw.floatView[0]}class eS{static toHalfFloat(e){return L0(e)}static fromHalfFloat(e){return sX(e)}}class op{constructor(e=new he,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;if(t!==void 0)n.copy(t);else mPr.setFromPoints(e).getCenter(n);let r=0;for(let o=0,a=e.length;othis.radius*this.radius)t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center);return t}getBoundingBox(e){if(this.isEmpty())return e.makeEmpty(),e;return e.set(this.center,this.center),e.expandByScalar(this.radius),e}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;JQ.subVectors(e,this.center);let t=JQ.lengthSq();if(t>this.radius*this.radius){let n=Math.sqrt(t),r=(n-this.radius)*0.5;this.center.addScaledVector(JQ,r/n),this.radius+=r}return this}union(e){if(e.isEmpty())return this;if(this.isEmpty())return this.copy(e),this;if(this.center.equals(e.center)===!0)this.radius=Math.max(this.radius,e.radius);else Wze.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(JQ.copy(e.center).add(Wze)),this.expandByPoint(JQ.copy(e.center).sub(Wze));return this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}}class QB{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=35044,this.updateRanges=[],this.version=0,this.uuid=a1()}onUploadCallback(){}set needsUpdate(e){if(e===!0)this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,o=this.stride;r1))return null;return t.copy(e.start).addScaledVector(r,a)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||yPr.getNormalMatrix(e),r=this.coplanarPoint(Kze).applyMatrix4(e),o=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(o),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}toJSON(){return{normal:this.normal.toArray(),constant:this.constant}}fromJSON(e){return this.normal.fromArray(e.normal),this.constant=e.constant,this}}function Jme(e,t,n,r,o,a){if(SB.subVectors(e,n).addScalar(0.5).multiply(r),o!==void 0)eX.x=a*SB.x-o*SB.y,eX.y=o*SB.x+a*SB.y;else eX.copy(SB);e.copy(t),e.x+=eX.x,e.y+=eX.y,e.applyMatrix4(qhn)}class Vy{constructor(e=new he,t=new he(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Gw)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);if(n<0)return t.copy(this.origin);return t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=Gw.subVectors(e,this.origin).dot(this.direction);if(t<0)return this.origin.distanceToSquared(e);return Gw.copy(this.origin).addScaledVector(this.direction,t),Gw.distanceToSquared(e)}distanceSqToSegment(e,t,n,r){jze.copy(e).add(t).multiplyScalar(0.5),$me.copy(t).sub(e).normalize(),ehe.copy(this.origin).sub(jze);let o=e.distanceTo(t)*0.5,a=-this.direction.dot($me),i=ehe.dot(this.direction),s=-ehe.dot($me),l=ehe.lengthSq(),c=Math.abs(1-a*a),u,d,p,f;if(c>0)if(u=a*s-i,d=a*i-s,f=o*c,u>=0)if(d>=-f)if(d<=f){let m=1/c;u*=m,d*=m,p=u*(u+a*d+2*i)+d*(a*u+d+2*s)+l}else d=o,u=Math.max(0,-(a*d+i)),p=-u*u+d*(d+2*s)+l;else d=-o,u=Math.max(0,-(a*d+i)),p=-u*u+d*(d+2*s)+l;else if(d<=-f)u=Math.max(0,-(-a*o+i)),d=u>0?-o:Math.min(Math.max(-o,-s),o),p=-u*u+d*(d+2*s)+l;else if(d<=f)u=0,d=Math.min(Math.max(-o,-s),o),p=d*(d+2*s)+l;else u=Math.max(0,-(a*o+i)),d=u>0?o:Math.min(Math.max(-o,-s),o),p=-u*u+d*(d+2*s)+l;else d=a>0?-o:o,u=Math.max(0,-(a*d+i)),p=-u*u+d*(d+2*s)+l;if(n)n.copy(this.origin).addScaledVector(this.direction,u);if(r)r.copy(jze).addScaledVector($me,d);return p}intersectSphere(e,t){if(e.radius<0)return null;Gw.subVectors(e.center,this.origin);let n=Gw.dot(this.direction),r=Gw.dot(Gw)-n*n,o=e.radius*e.radius;if(r>o)return null;let a=Math.sqrt(o-r),i=n-a,s=n+a;if(s<0)return null;if(i<0)return this.at(s,t);return this.at(i,t)}intersectsSphere(e){if(e.radius<0)return!1;return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(t===0){if(e.distanceToPoint(this.origin)===0)return 0;return null}let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);if(n===null)return null;return this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);if(t===0)return!0;if(e.normal.dot(this.direction)*t<0)return!0;return!1}intersectBox(e,t){let n,r,o,a,i,s,l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,d=this.origin;if(l>=0)n=(e.min.x-d.x)*l,r=(e.max.x-d.x)*l;else n=(e.max.x-d.x)*l,r=(e.min.x-d.x)*l;if(c>=0)o=(e.min.y-d.y)*c,a=(e.max.y-d.y)*c;else o=(e.max.y-d.y)*c,a=(e.min.y-d.y)*c;if(n>a||o>r)return null;if(o>n||isNaN(n))n=o;if(a=0)i=(e.min.z-d.z)*u,s=(e.max.z-d.z)*u;else i=(e.max.z-d.z)*u,s=(e.min.z-d.z)*u;if(n>s||i>r)return null;if(i>n||n!==n)n=i;if(s=0?n:r,t)}intersectsBox(e){return this.intersectBox(e,Gw)!==null}intersectTriangle(e,t,n,r,o){let a=this.origin,i=this.direction,{x:s,y:l,z:c}=i,u=e.x-a.x,d=e.y-a.y,p=e.z-a.z,f=t.x-a.x,m=t.y-a.y,g=t.z-a.z,v=n.x-a.x,y=n.y-a.y,x=n.z-a.z,A=Math.abs(s),w=Math.abs(l),C=Math.abs(c),E,T,I,k,L,O,B,U,D,N,_,G;if(A>=w&&A>=C)if(I=s,O=u,D=f,G=v,s>=0)E=l,T=c,k=d,L=p,B=m,U=g,N=y,_=x;else E=c,T=l,k=p,L=d,B=g,U=m,N=x,_=y;else if(w>=C)if(I=l,O=d,D=m,G=y,l>=0)E=c,T=s,k=p,L=u,B=g,U=f,N=x,_=v;else E=s,T=c,k=u,L=p,B=f,U=g,N=v,_=x;else if(I=c,O=p,D=g,G=x,c>=0)E=s,T=l,k=u,L=d,B=f,U=m,N=v,_=y;else E=l,T=s,k=d,L=u,B=m,U=f,N=y,_=v;if(I===0)return null;let Z=E/I,q=T/I,H=1/I,te=k-Z*O,ie=L-q*O,j=B-Z*D,oe=U-q*D,J=N-Z*G,Y=_-q*G,ae=J*oe-Y*j,ne=te*Y-ie*J,Se=j*ie-oe*te;if(r){if(ae<0||ne<0||Se<0)return null}else if((ae<0||ne<0||Se<0)&&(ae>0||ne>0||Se>0))return null;let fe=ae+ne+Se;if(fe===0)return null;let Ae=H*(ae*O+ne*D+Se*G);if(fe>0?Ae<0:Ae>0)return null;return this.at(Ae/fe,o)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}function bPr(e,t,n,r,o,a,i,s){let l;if(t.side===1)l=r.intersectTriangle(i,a,o,!0,s);else l=r.intersectTriangle(o,a,i,t.side===0,s);if(l===null)return null;ihe.copy(s),ihe.applyMatrix4(e.matrixWorld);let c=n.ray.origin.distanceTo(ihe);if(cn.far)return null;return{distance:c,point:ihe.clone(),object:e}}function she(e,t,n,r,o,a,i,s,l,c){e.getVertexPosition(s,nhe),e.getVertexPosition(l,rhe),e.getVertexPosition(c,ohe);let u=bPr(e,t,n,r,nhe,rhe,ohe,Ofn);if(u){let d=new he;if(kh.getBarycoord(Ofn,nhe,rhe,ohe,d),o)u.uv=kh.getInterpolatedAttribute(o,s,l,c,d,new vt);if(a)u.uv1=kh.getInterpolatedAttribute(a,s,l,c,d,new vt);if(i){if(u.normal=kh.getInterpolatedAttribute(i,s,l,c,d,new he),u.normal.dot(r.direction)>0)u.normal.multiplyScalar(-1)}let p={a:s,b:l,c,normal:new he,materialIndex:0};kh.getNormal(nhe,rhe,ohe,p.normal),u.face=p,u.barycoord=d}return u}class zX{constructor(e=[],t=[]){this.uuid=a1(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){let e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){zn("Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let n=0,r=this.bones.length;n0?e.max.x:e.min.x,uhe.y=r.normal.y>0?e.max.y:e.min.y,uhe.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(uhe)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}class _X{constructor(){this.coordinateSystem=2000,this._frustums=[],this._count=0}setFromArrayCamera(e){let t=e.cameras,n=this._frustums;for(let r=0;r=o.length)o.push({start:-1,count:-1,z:-1,index:-1});let i=o[this.index];a.push(i),this.index++,i.start=e,i.count=t,i.z=n,i.index=r}reset(){this.list.length=0,this.index=0}}function PPr(e,t,n=0){let r=t.itemSize;if(e.isInterleavedBufferAttribute||e.array.constructor!==t.array.constructor){let o=e.count;for(let a=0;ar)return;o_e.applyMatrix4(e.matrixWorld);let c=t.ray.origin.distanceTo(o_e);if(ct.far)return;return{distance:c,point:Qfn.clone().applyMatrix4(e.matrixWorld),index:i,face:null,faceIndex:null,barycoord:null,object:e}}function Kfn(e,t,n,r,o,a,i){let s=g_e.distanceSqToPoint(e);if(so.far)return;a.push({distance:c,distanceToRay:Math.sqrt(s),point:l,index:t,face:null,faceIndex:null,barycoord:null,object:i})}}class l1{constructor(){this.type="Curve",this.arcLengthDivisions=200,this.needsUpdate=!1,this.cacheArcLengths=null}getPoint(){zn("Curve: .getPoint() not implemented.")}getPointAt(e,t){let n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){let t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){let e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let t=[],n,r=this.getPoint(0),o=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),o+=n.distanceTo(r),t.push(o),r=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t=null){let n=this.getLengths(),r=0,o=n.length,a;if(t)a=t;else a=e*n[o-1];let i=0,s=o-1,l;while(i<=s)if(r=Math.floor(i+(s-i)/2),l=n[r]-a,l<0)i=r+1;else if(l>0)s=r-1;else{s=r;break}if(r=s,n[r]===a)return r/(o-1);let c=n[r],d=n[r+1]-c,p=(a-c)/d;return(r+p)/(o-1)}getTangent(e,t){let r=e-0.0001,o=e+0.0001;if(r<0)r=0;if(o>1)o=1;let a=this.getPoint(r),i=this.getPoint(o),s=t||(a.isVector2?new vt:new he);return s.copy(i).sub(a).normalize(),s}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t=!1){let n=new he,r=[],o=[],a=[],i=new he,s=new Vn;for(let p=0;p<=e;p++){let f=p/e;r[p]=this.getTangentAt(f,new he)}o[0]=new he,a[0]=new he;let l=Number.MAX_VALUE,c=Math.abs(r[0].x),u=Math.abs(r[0].y),d=Math.abs(r[0].z);if(c<=l)l=c,n.set(1,0,0);if(u<=l)l=u,n.set(0,1,0);if(d<=l)n.set(0,0,1);i.crossVectors(r[0],n).normalize(),o[0].crossVectors(r[0],i),a[0].crossVectors(r[0],o[0]);for(let p=1;p<=e;p++){if(o[p]=o[p-1].clone(),a[p]=a[p-1].clone(),i.crossVectors(r[p-1],r[p]),i.length()>Number.EPSILON){i.normalize();let f=Math.acos(to(r[p-1].dot(r[p]),-1,1));o[p].applyMatrix4(s.makeRotationAxis(i,f))}a[p].crossVectors(r[p],o[p])}if(t===!0){let p=Math.acos(to(o[0].dot(o[e]),-1,1));if(p/=e,r[0].dot(i.crossVectors(o[0],o[e]))>0)p=-p;for(let f=1;f<=e;f++)o[f].applyMatrix4(s.makeRotationAxis(r[f],p*f)),a[f].crossVectors(r[f],o[f])}return{tangents:r,normals:o,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}function THe(){let e=0,t=0,n=0,r=0;function o(a,i,s,l){e=a,t=s,n=-3*a+3*i-2*s-l,r=2*a-2*i+s+l}return{initCatmullRom:function(a,i,s,l,c){o(i,s,c*(s-a),c*(l-i))},initNonuniformCatmullRom:function(a,i,s,l,c,u,d){let p=(i-a)/c-(s-a)/(c+u)+(s-i)/u,f=(s-i)/u-(l-i)/(u+d)+(l-s)/d;p*=u,f*=u,o(i,s,p,f)},calc:function(a){let i=a*a,s=i*a;return e+t*a+n*i+r*s}}}function $fn(e,t,n,r,o){let a=(r-t)*0.5,i=(o-n)*0.5,s=e*e,l=e*s;return(2*n-2*r+a+i)*l+(-3*n+3*r-2*a-i)*s+a*e+n}function MPr(e,t){let n=1-e;return n*n*t}function DPr(e,t){return 2*(1-e)*e*t}function LPr(e,t){return e*e*t}function uX(e,t,n,r){return MPr(e,t)+DPr(e,n)+LPr(e,r)}function BPr(e,t){let n=1-e;return n*n*n*t}function OPr(e,t){let n=1-e;return 3*n*n*e*t}function FPr(e,t){return 3*(1-e)*e*e*t}function UPr(e,t){return e*e*e*t}function dX(e,t,n,r,o){return BPr(e,t)+OPr(e,n)+FPr(e,r)+UPr(e,o)}function NPr(e,t,n=2){let r=t&&t.length,o=r?t[0]*n:e.length,a=Qhn(e,0,o,n,!0),i=[];if(!a||a.next===a.prev)return i;let s,l,c;if(r)a=GPr(e,t,a,n);if(e.length>80*n){s=e[0],l=e[1];let u=s,d=l;for(let p=n;pu)u=f;if(m>d)d=m}c=Math.max(u-s,d-l),c=c!==0?32767/c:0}return fX(a,i,n,s,l,c,0),i}function Qhn(e,t,n,r,o){let a;if(o===e9r(e,t,n,r)>0)for(let i=t;i=t;i-=r)a=emn(i/r|0,e[i],e[i+1],a);if(a&&BB(a,a.next))hX(a),a=a.next;return a}function w7(e,t){if(!e)return e;if(!t)t=e;let n=e,r;do if(r=!1,!n.steiner&&(BB(n,n.next)||Jl(n.prev,n,n.next)===0)){if(hX(n),n=t=n.prev,n===n.next)break;r=!0}else n=n.next;while(r||n!==t);return t}function fX(e,t,n,r,o,a,i){if(!e)return;if(!i&&a)WPr(e,r,o,a);let s=e;while(e.prev!==e.next){let l=e.prev,c=e.next;if(a?_Pr(e,r,o,a):zPr(e)){t.push(l.i,e.i,c.i),hX(e),e=c.next,s=c.next;continue}if(e=c,e===s){if(!i)fX(w7(e),t,n,r,o,a,1);else if(i===1)e=HPr(w7(e),t),fX(e,t,n,r,o,a,2);else if(i===2)VPr(e,t,n,r,o,a);break}}}function zPr(e){let t=e.prev,n=e,r=e.next;if(Jl(t,n,r)>=0)return!1;let o=t.x,a=n.x,i=r.x,s=t.y,l=n.y,c=r.y,u=Math.min(o,a,i),d=Math.min(s,l,c),p=Math.max(o,a,i),f=Math.max(s,l,c),m=r.next;while(m!==t){if(m.x>=u&&m.x<=p&&m.y>=d&&m.y<=f&&lX(o,s,a,l,i,c,m.x,m.y)&&Jl(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function _Pr(e,t,n,r){let o=e.prev,a=e,i=e.next;if(Jl(o,a,i)>=0)return!1;let s=o.x,l=a.x,c=i.x,u=o.y,d=a.y,p=i.y,f=Math.min(s,l,c),m=Math.min(u,d,p),g=Math.max(s,l,c),v=Math.max(u,d,p),y=y_e(f,m,t,n,r),x=y_e(g,v,t,n,r),{prevZ:A,nextZ:w}=e;while(A&&A.z>=y&&w&&w.z<=x){if(A.x>=f&&A.x<=g&&A.y>=m&&A.y<=v&&A!==o&&A!==i&&lX(s,u,l,d,c,p,A.x,A.y)&&Jl(A.prev,A,A.next)>=0)return!1;if(A=A.prevZ,w.x>=f&&w.x<=g&&w.y>=m&&w.y<=v&&w!==o&&w!==i&&lX(s,u,l,d,c,p,w.x,w.y)&&Jl(w.prev,w,w.next)>=0)return!1;w=w.nextZ}while(A&&A.z>=y){if(A.x>=f&&A.x<=g&&A.y>=m&&A.y<=v&&A!==o&&A!==i&&lX(s,u,l,d,c,p,A.x,A.y)&&Jl(A.prev,A,A.next)>=0)return!1;A=A.prevZ}while(w&&w.z<=x){if(w.x>=f&&w.x<=g&&w.y>=m&&w.y<=v&&w!==o&&w!==i&&lX(s,u,l,d,c,p,w.x,w.y)&&Jl(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function HPr(e,t){let n=e;do{let r=n.prev,o=n.next.next;if(!BB(r,o)&&Whn(r,n,n.next,o)&&mX(r,o)&&mX(o,r))t.push(r.i,n.i,o.i),hX(n),hX(n.next),n=e=o;n=n.next}while(n!==e);return w7(n)}function VPr(e,t,n,r,o,a){let i=e;do{let s=i.next.next;while(s!==i.prev){if(i.i!==s.i&&JPr(i,s)){let l=Yhn(i,s);i=w7(i,i.next),l=w7(l,l.next),fX(i,t,n,r,o,a,0),fX(l,t,n,r,o,a,0);return}s=s.next}i=i.next}while(i!==e)}function GPr(e,t,n,r){let o=[];for(let a=0,i=t.length;a=n.next.y&&n.next.y!==n.y){let d=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(d<=r&&d>a){if(a=d,i=n.x=n.x&&n.x>=l&&r!==n.x&&Xhn(oi.x||n.x===i.x&&XPr(i,n))))i=n,u=d}n=n.next}while(n!==s);return i}function XPr(e,t){return Jl(e.prev,e,t.prev)<0&&Jl(t.next,e,e.next)<0}function WPr(e,t,n,r){let o=e;do{if(o.z===0)o.z=y_e(o.x,o.y,t,n,r);o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,YPr(o)}function YPr(e){let t,n=1;do{let r=e,o;e=null;let a=null;t=0;while(r){t++;let i=r,s=0;for(let c=0;c0||l>0&&i){if(s!==0&&(l===0||!i||r.z<=i.z))o=r,r=r.nextZ,s--;else o=i,i=i.nextZ,l--;if(a)a.nextZ=o;else e=o;o.prevZ=a,a=o}r=i}a.nextZ=null,n*=2}while(t>1);return e}function y_e(e,t,n,r,o){return e=(e-n)*o|0,t=(t-r)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function KPr(e){let t=e,n=e;do{if(t.x=(e-i)*(a-s)&&(e-i)*(r-s)>=(n-i)*(t-s)&&(n-i)*(a-s)>=(o-i)*(r-s)}function lX(e,t,n,r,o,a,i,s){return!(e===i&&t===s)&&Xhn(e,t,n,r,o,a,i,s)}function JPr(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!jPr(e,t)&&(mX(e,t)&&mX(t,e)&&$Pr(e,t)&&(Jl(e.prev,e,t.prev)||Jl(e,t.prev,t))||BB(e,t)&&Jl(e.prev,e,e.next)>0&&Jl(t.prev,t,t.next)>0)}function Jl(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function BB(e,t){return e.x===t.x&&e.y===t.y}function Whn(e,t,n,r){let o=Ahe(Jl(e,t,n)),a=Ahe(Jl(e,t,r)),i=Ahe(Jl(n,r,e)),s=Ahe(Jl(n,r,t));if(o!==a&&i!==s)return!0;if(o===0&&xhe(e,n,t))return!0;if(a===0&&xhe(e,r,t))return!0;if(i===0&&xhe(n,e,r))return!0;if(s===0&&xhe(n,t,r))return!0;return!1}function xhe(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function Ahe(e){return e>0?1:e<0?-1:0}function jPr(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&Whn(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function mX(e,t){return Jl(e.prev,e,e.next)<0?Jl(e,t,e.next)>=0&&Jl(e,e.prev,t)>=0:Jl(e,t,e.prev)<0||Jl(e,e.next,t)<0}function $Pr(e,t){let n=e,r=!1,o=(e.x+t.x)/2,a=(e.y+t.y)/2;do{if(n.y>a!==n.next.y>a&&n.next.y!==n.y&&o<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x)r=!r;n=n.next}while(n!==e);return r}function Yhn(e,t){let n=v_e(e.i,e.x,e.y),r=v_e(t.i,t.x,t.y),o=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function emn(e,t,n,r){let o=v_e(e,t,n);if(!r)o.prev=o,o.next=o;else o.next=r.next,o.prev=r,r.next.prev=o,r.next=o;return o}function hX(e){if(e.next.prev=e.prev,e.prev.next=e.next,e.prevZ)e.prevZ.nextZ=e.nextZ;if(e.nextZ)e.nextZ.prevZ=e.prevZ}function v_e(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function e9r(e,t,n,r){let o=0;for(let a=t,i=n-r;a2&&e[t-1].equals(e[0]))e.pop()}function nmn(e,t){for(let n=0;n=r)continue;d.push(c.times[f]);for(let g=0;ga.tracks[l].times[0])s=a.tracks[l].times[0];for(let l=0;l=s.times[m]){let y=m*d+u,x=y+d-u;g=s.values.slice(y,x)}else{let y=s.createInterpolant(),x=u,A=d-u;y.evaluate(a),g=y.resultBuffer.slice(x,A)}if(l==="quaternion")new Vo().fromArray(g).normalize().conjugate().toArray(g);let v=c.times.length;for(let y=0;y=o)){let i=t[1];if(e=o)break t}a=n,n=0;break n}break e}while(n>>1;if(et)--a;if(++a,o!==0||a!==r){if(o>=a)a=Math.max(a,1),o=a-1;let i=this.getValueSize();this.times=n.slice(o,a),this.values=this.values.slice(o*i,a*i)}return this}validate(){let e=!0,t=this.getValueSize();if(t-Math.floor(t)!==0)wr("KeyframeTrack: Invalid value size in track.",this),e=!1;let n=this.times,r=this.values,o=n.length;if(o===0)wr("KeyframeTrack: Track is empty.",this),e=!1;let a=null;for(let i=0;i!==o;i++){let s=n[i];if(typeof s==="number"&&isNaN(s)){wr("KeyframeTrack: Time is not a valid number.",this,i,s),e=!1;break}if(a!==null&&a>s){wr("KeyframeTrack: Out of order keys.",this,i,s,a),e=!1;break}a=s}if(r!==void 0){if(Uhn(r))for(let i=0,s=r.length;i!==s;++i){let l=r[i];if(isNaN(l)){wr("KeyframeTrack: Value is not a valid number.",this,i,l),e=!1;break}}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),r=this.getInterpolation()===2302,o=e.length-1,a=1;for(let i=1;i0){e[a]=e[o];for(let i=o*n,s=a*n,l=0;l!==n;++l)t[s+l]=t[i+l];++a}if(a!==e.length)this.times=e.slice(0,a),this.values=t.slice(0,a*n);else this.times=e,this.values=t;return this}clone(){let e=this.times.slice(),t=this.values.slice(),r=new this.constructor(this.name,e,t);if(r.createInterpolant=this.createInterpolant,pX(this.settings))r.settings={inTangents:this.settings.inTangents.slice(),outTangents:this.settings.outTangents.slice()};return r}}function imn(e,t){for(let n=0,r=e.length;n!==r;n+=2)e[n]*=t}class S7{constructor(e="",t=-1,n=[],r=2500){if(this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=a1(),this.userData={},this.duration<0)this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let a=0,i=n.length;a!==i;++a)t.push(p9r(n[a]).scale(r));let o=new this(e.name,e.duration,t,e.blendMode);return o.uuid=e.uuid,o.userData=JSON.parse(e.userData||"{}"),o}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode,userData:JSON.stringify(e.userData)};for(let o=0,a=n.length;o!==a;++o)t.push(F0.toJSON(n[o]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let o=t.length,a=[];for(let i=0;i1){let u=c[1],d=r[u];if(!d)r[u]=d=[];d.push(l)}}let a=[];for(let i in r)a.push(this.CreateFromMorphTargetSequence(i,r[i],t,n));return a}resetDuration(){let e=this.tracks,t=0;for(let n=0,r=e.length;n!==r;++n){let o=this.tracks[n];t=Math.max(t,o.times[o.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e0)this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let s=t,l=t+t;s!==l;++s)if(n[s]!==n[s+t]){i.setValue(n,r);break}}saveOriginalState(){let e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let o=n,a=r;o!==a;++o)t[o]=t[r+o%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){let e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=0.5)for(let a=0;a!==o;++a)e[t+a]=e[n+a]}_slerp(e,t,n,r){Vo.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,o){let a=this._workIndex*o;Vo.multiplyQuaternionsFlat(e,a,e,t,e,n),Vo.slerpFlat(e,t,e,t,e,a,r)}_lerp(e,t,n,r,o){let a=1-r;for(let i=0;i!==o;++i){let s=t+i;e[s]=e[s]*a+e[n+i]*r}}_lerpAdditive(e,t,n,r,o){for(let a=0;a!==o;++a){let i=t+a;e[i]=e[i]+e[n+a]*r}}}class o0n{constructor(e,t,n){let r=n||Ka.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];if(r!==void 0)r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,o=n.length;r!==o;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class Ka{constructor(e,t,n){this.path=t,this.parsedPath=n||Ka.parseTrackName(t),this.node=Ka.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){if(!(e&&e.isAnimationObjectGroup))return new Ka(e,t,n);else return new Ka.Composite(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(y9r,"")}static parseTrackName(e){let t=S9r.exec(e);if(t===null)throw Error("THREE.PropertyBinding: Cannot parse trackName: "+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){let o=n.nodeName.substring(r+1);if(C9r.indexOf(o)!==-1)n.nodeName=n.nodeName.substring(0,r),n.objectName=o}if(n.propertyName===null||n.propertyName.length===0)throw Error("THREE.PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){let n=function(o){for(let a=0;a=o){let u=o++,d=e[u];t[d.uuid]=c,e[c]=d,t[l]=u,e[u]=s;for(let p=0,f=r;p!==f;++p){let m=n[p],g=m[u],v=m[c];m[c]=g,m[u]=v}}}this.nCachedObjects_=o}uncache(){let e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length,o=this.nCachedObjects_,a=e.length;for(let i=0,s=arguments.length;i!==s;++i){let l=arguments[i],c=l.uuid,u=t[c];if(u!==void 0)if(delete t[c],u0){let s=this._interpolants,l=this._propertyBindings;switch(this.blendMode){case 2501:for(let c=0,u=s.length;c!==u;++c)s[c].evaluate(a),l[c].accumulateAdditive(i);break;case 2500:default:for(let c=0,u=s.length;c!==u;++c)s[c].evaluate(a),l[c].accumulate(r,i)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;let n=this._weightInterpolant;if(n!==null){let r=n.evaluate(e)[0];if(t*=r,e>n.parameterPositions[1]){if(this.stopFading(),r===0)this.enabled=!1}}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;let n=this._timeScaleInterpolant;if(n!==null){let r=n.evaluate(e)[0];if(t*=r,e>n.parameterPositions[1]){if(t===0)this.paused=!0;else{if(this._restoreTimeScale!==null)t=this._restoreTimeScale;this.timeScale=t}this.stopWarping()}}}return this._effectiveTimeScale=t,t}_updateTime(e){let t=this._clip.duration,n=this.loop,r=this.time+e,o=this._loopCount,a=n===2202;if(e===0){if(o===-1)return r;return a&&(o&1)===1?t-r:r}if(n===2200){if(o===-1)this._loopCount=0,this._setEndings(!0,!0,!1);e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}if(this.clampWhenFinished)this.paused=!0;else this.enabled=!1;this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(o===-1)if(e>=0)o=0,this._setEndings(!0,this.repetitions===0,a);else this._setEndings(this.repetitions===0,!0,a);if(r>=t||r<0){let i=Math.floor(r/t);r-=t*i,o+=Math.abs(i);let s=this.repetitions-o;if(s<=0){if(this.clampWhenFinished)this.paused=!0;else this.enabled=!1;r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1})}else{if(s===1){let l=e<0;this._setEndings(l,!l,a)}else this._setEndings(!1,!1,a);this._loopCount=o,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:i})}}else this._loopCount=o,this.time=r;if(a&&(o&1)===1)return t-r}return r}_setEndings(e,t,n){let r=this._interpolantSettings;if(n)r.endingStart=2401,r.endingEnd=2401;else{if(e)r.endingStart=this.zeroSlopeAtStart?2401:2400;else r.endingStart=2402;if(t)r.endingEnd=this.zeroSlopeAtEnd?2401:2400;else r.endingEnd=2402}}_scheduleFading(e,t,n){let r=this._mixer,o=r.time,a=this._weightInterpolant;if(a===null)a=r._lendControlInterpolant(),this._weightInterpolant=a;let i=a.parameterPositions,s=a.sampleValues;return i[0]=o,s[0]=t,i[1]=o+e,s[1]=n,this}}class xge{constructor(e){this.value=e}clone(){return new xge(this.value.clone===void 0?this.value:this.value.clone())}}class JHe{constructor(e,t,n,r,o,a=!1){this.isGLBufferAttribute=!0,this.name="",this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=r,this.count=o,this.normalized=a,this.version=0}set needsUpdate(e){if(e===!0)this.version++}setBuffer(e){return this.buffer=e,this}setType(e,t){return this.type=e,this.elementSize=t,this}setItemSize(e){return this.itemSize=e,this}setCount(e){return this.count=e,this}}class yW{constructor(e,t,n=0,r=1/0){this.ray=new Vy(e,t),this.near=n,this.far=r,this.camera=null,this.layers=new $w,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){if(t.isPerspectiveCamera)this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,0.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t;else if(t.isOrthographicCamera)this.ray.origin.set(e.x,e.y,t.projectionMatrix.elements[14]).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t;else wr("Raycaster: Unsupported camera type: "+t.type)}setFromXRController(e){return vmn.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(vmn),this}intersectObject(e,t=!0,n=[]){return x_e(e,this,n,t),n.sort(bmn),n}intersectObjects(e,t=!0,n=[]){for(let r=0,o=e.length;r=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,xmn).distanceTo(e)}intersect(e){if(this.min.max(e.min),this.max.min(e.max),this.isEmpty())this.makeEmpty();return this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}class $He{constructor(e=new he,t=new he){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(0.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){Amn.subVectors(e,this.start),Ehe.subVectors(this.end,this.start);let n=Ehe.dot(Ehe);if(n===0)return 0;let o=Ehe.dot(Amn)/n;if(t)o=to(o,0,1);return o}closestPointToPoint(e,t,n){let r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}distanceSqToLine3(e,t=T9r,n=k9r){let o,a,i=this.start,s=e.start,l=this.end,c=e.end;kB.subVectors(l,i),RB.subVectors(c,s),f_e.subVectors(i,s);let u=kB.dot(kB),d=RB.dot(RB),p=RB.dot(f_e);if(u<=0.00000000000000010000000000000001&&d<=0.00000000000000010000000000000001)return t.copy(i),n.copy(s),t.sub(n),t.dot(t);if(u<=0.00000000000000010000000000000001)o=0,a=p/d,a=to(a,0,1);else{let f=kB.dot(f_e);if(d<=0.00000000000000010000000000000001)a=0,o=to(-f/u,0,1);else{let m=kB.dot(RB),g=u*d-m*m;if(g!==0)o=to((m*p-f*d)/g,0,1);else o=0;if(a=(m*o+p)/d,a<0)a=0,o=to(-f/u,0,1);else if(a>1)a=1,o=to((m-f)/u,0,1)}}return t.copy(i).addScaledVector(kB,o),n.copy(s).addScaledVector(RB,a),t.distanceToSquared(n)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}function a0n(e){let t=[];if(e.isBone===!0)t.push(e);for(let n=0;ns.y!==m.y>s.y&&s.x<(m.x-f.x)*(s.y-f.y)/(m.y-f.y)+f.x)c=!c}return c}function t(s,l){let c=l.getCenter(new vt);if(e(c,s))return c;let u=c.y,d=[],p=s.length;for(let f=0;fu!==g.y>u){let v=m.x+(u-m.y)*(g.x-m.x)/(g.y-m.y);d.push(v)}}if(d.length>1)d.sort((f,m)=>f-m),c.x=(d[0]+d[1])/2;return c}let n=this.userData.style&&this.userData.style.fillRule||"nonzero";if(n!=="nonzero"&&n!=="evenodd")zn('Fill-rule "'+n+'" is not supported, falling back to "nonzero".'),n="nonzero";let r=n==="nonzero"?(s)=>s!==0:(s)=>(s&1)!==0,o=[];for(let s of this.subPaths){let l=s.getPoints();if(l.length<3)continue;let c=_y.area(l);if(c===0)continue;let u=new wge;for(let d=0;dl.absArea-s.absArea);for(let s=0;s=0;u--){let d=o[u];if(!d.boundingBox.containsBox(l.boundingBox))continue;if(!e(l.interiorPoint,d.points))continue;l.container=d.exclude?d.container:d,c=d.winding,l.winding+=c;break}if(r(l.winding)===r(c))l.exclude=!0}for(let s of o){if(s.exclude)continue;s.role=s.container===null||s.container.role==="hole"?"outer":"hole"}let a=[],i=new Map;for(let s of o){if(s.exclude||s.role!=="outer")continue;let l=new D7;l.curves=s.subPath.curves,a.push(l),i.set(s,l)}for(let s of o){if(s.exclude||s.role!=="hole")continue;let l=i.get(s.container);if(!l)continue;let c=new A7;c.curves=s.subPath.curves,l.holes.push(c)}return a}}function P9r(e,t){let n=e.image&&e.image.width?e.image.width/e.image.height:1;if(n>t)e.repeat.x=1,e.repeat.y=n/t,e.offset.x=0,e.offset.y=(1-e.repeat.y)/2;else e.repeat.x=t/n,e.repeat.y=1,e.offset.x=(1-e.repeat.x)/2,e.offset.y=0;return e}function M9r(e,t){let n=e.image&&e.image.width?e.image.width/e.image.height:1;if(n>t)e.repeat.x=t/n,e.repeat.y=1,e.offset.x=(1-e.repeat.x)/2,e.offset.y=0;else e.repeat.x=1,e.repeat.y=n/t,e.offset.x=0,e.offset.y=(1-e.repeat.y)/2;return e}function D9r(e){return e.repeat.x=1,e.repeat.y=1,e.offset.x=0,e.offset.y=0,e}function Sge(e,t,n,r){let o=L9r(r);switch(n){case 1021:return e*t;case 1028:return e*t/o.components*o.byteLength;case 1029:return e*t/o.components*o.byteLength;case 1030:return e*t*2/o.components*o.byteLength;case 1031:return e*t*2/o.components*o.byteLength;case 1022:return e*t*3/o.components*o.byteLength;case 1023:return e*t*4/o.components*o.byteLength;case 1033:return e*t*4/o.components*o.byteLength;case 33776:case 33777:return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8;case 33778:case 33779:return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16;case 35841:case 35843:return Math.max(e,16)*Math.max(t,8)/4;case 35840:case 35842:return Math.max(e,8)*Math.max(t,8)/2;case 36196:case 37492:case 37488:case 37489:return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8;case 37496:case 37490:case 37491:return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16;case 37808:return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16;case 37809:return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16;case 37810:return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16;case 37811:return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16;case 37812:return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16;case 37813:return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16;case 37814:return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16;case 37815:return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16;case 37816:return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16;case 37817:return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16;case 37818:return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16;case 37819:return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16;case 37820:return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16;case 37821:return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16;case 36492:case 36494:case 36495:return Math.ceil(e/4)*Math.ceil(t/4)*16;case 36283:case 36284:return Math.ceil(e/4)*Math.ceil(t/4)*8;case 36285:case 36286:return Math.ceil(e/4)*Math.ceil(t/4)*16}throw Error(`Unable to determine texture byte length for ${n} format.`)}function L9r(e){switch(e){case 1009:case 1010:return{byteLength:1,components:1};case 1012:case 1011:case 1016:return{byteLength:2,components:1};case 1017:case 1018:return{byteLength:2,components:4};case 1014:case 1013:case 1015:return{byteLength:4,components:1};case 35902:case 35899:return{byteLength:4,components:3}}throw Error(`THREE.TextureUtils: Unknown texture type ${e}.`)}class mVe{static contain(e,t){return P9r(e,t)}static cover(e,t){return M9r(e,t)}static fill(e){return D9r(e)}static getByteLength(e,t,n,r){return Sge(e,t,n,r)}}var A_e="186",Bm,Om,w_e=0,Bhe=1,S_e=2,kmn=3,Ohe=0,u5=1,E7=2,Yw=3,$x=0,Rh=1,Ph=2,Rv=0,Kw=1,Fhe=2,Uhe=3,Nhe=4,yX=5,Rmn=6,I7=100,C_e=101,E_e=102,I_e=103,T_e=104,k_e=200,R_e=201,P_e=202,M_e=203,OB=204,FB=205,D_e=206,L_e=207,B_e=208,O_e=209,F_e=210,U_e=211,N_e=212,z_e=213,__e=214,H_e=0,V_e=1,G_e=2,zhe=3,q_e=4,Z_e=5,Q_e=6,X_e=7,W_e=0,Y_e=1,K_e=2,B0=0,_he=1,Hhe=2,Vhe=3,UB=4,Ghe=5,qhe=6,Zhe=7,Pmn="attached",Mmn="detached",Dmn=300,T7=301,d5=302,vX=303,bX=304,NB=306,J_e=1000,xX=1001,j_e=1002,Jw=1003,$_e=1004,Lmn=1004,zB=1005,Bmn=1005,Mh=1006,AX=1007,Omn=1007,p5=1008,Fmn=1008,Fm=1009,eHe=1010,tHe=1011,_B=1012,Qhe=1013,Dh=1014,s1=1015,O0=1016,Xhe=1017,Whe=1018,k7=1020,nHe=35902,rHe=35899,oHe=1021,aHe=1022,$p=1023,eA=1026,f5=1027,iHe=1028,HB=1029,tA=1030,Yhe=1031,Umn=1032,m5=1033,wX=33776,SX=33777,CX=33778,EX=33779,Khe=35840,Jhe=35841,jhe=35842,$he=35843,e0e=36196,t0e=37492,n0e=37496,r0e=37488,o0e=37489,IX=37490,a0e=37491,i0e=37808,s0e=37809,l0e=37810,c0e=37811,u0e=37812,d0e=37813,p0e=37814,f0e=37815,m0e=37816,h0e=37817,g0e=37818,y0e=37819,v0e=37820,b0e=37821,x0e=36492,A0e=36494,w0e=36495,S0e=36283,C0e=36284,TX=36285,E0e=36286,Nmn=2200,zmn=2201,_mn=2202,Hmn=2300,Vmn=2301,Gmn=2302,qmn=2303,Zmn=2400,Qmn=2401,Xmn=2402,Wmn=2500,Ymn=2501,Kmn=0,Jmn=1,jmn=2,$mn=3200,ehn=3201,thn=3202,nhn=3203,I0e=0,sHe=1,h5="",jw="srgb",VB="srgb-linear",T0e="linear",cs="srgb",rhn="",ohn="rg",ahn="ga",ihn=0,shn=7680,lhn=7681,chn=7682,uhn=7683,dhn=34055,phn=34056,fhn=5386,mhn=512,hhn=513,ghn=514,yhn=515,vhn=516,bhn=517,xhn=518,Ahn=519,lHe=512,cHe=513,uHe=514,kX=515,dHe=516,pHe=517,RX=518,fHe=519,whn=35044,k0e=35048,Shn=35040,Chn=35045,Ehn=35049,Ihn=35041,Thn=35046,khn=35050,Rhn=35042,Phn="100",R0e="300 es",P0e=2000,Mhn=2001,Dhn,Lhn,Bhn,Ohn,Fhn,zRr,yfn,l5=null,Vhn,Mm,vfn=1234567,b7,x7,g5,vt,Vo,he,Bze,bfn,Ur,Oze,xfn,Afn,jo,uB,rPr=0,gHe,oPr=0,Uze,El,Ja,PX,ef,GB,yHe,qB,vHe,Vn,dB,Sv,aPr,iPr,n5,Vme,r1,wfn,Sfn,Hy,sPr=0,Cfn,pB,zw,Gme,YQ,lPr,cPr,Efn,Ifn,Tfn,kfn,uPr,fB,Nze,Go,Qw,dPr,Ghn,r5,qme,_n,Dm,y5,Cv,_w,_ze,Hw,mB,hB,Rfn,Hze,Vze,Gze,qze,Zze,Qze,Vw,Ev,Zme,gB,yB,vB,o5,a5,s7,KQ,Qme,Xme,l7,Zw,Ud,Wme,fPr=0,si,LX,BX,bHe,OX,R7,FX,P7,xHe,Jn,mPr,JQ,Wze,hPr=0,zy,Yze,bB,o1,jQ,jp,Jr,Eh,Kze,gPr,yPr,vPr=0,ap,UX,xB,$Q,AB,wB,SB,eX,qhn,Yme,tX,Kme,Pfn,Jze,Mfn,D0e,jme,Dfn,L0e,Gw,jze,$me,ehe,Um,Lfn,c7,the,Bfn,nhe,rhe,ohe,$ze,ahe,Ofn,ihe,Na,nX,Ffn,Ufn,xPr,Nfn,lhe,e_e,zfn,t_e,B0e,NX,jl,_fn,APr,Jx,CB,Hfn,che,Vfn,wPr,rX,oX,O0e,u7,SPr,uhe,Gfn,D0,IPr,TPr,kPr,dhe,d7,aX,qfn,RPr,r_e,Lm,phe,F0e,Wf,Mhe,Dhe,Zfn,iX,fhe,o_e,Qfn,jx,Xfn,Wfn,Gy,U0e,HX,Yfn,g_e,hhe,ghe,N0e,z0e,AHe,wHe,XB,SHe,CHe,M7,EHe,IHe,nA,_0e,VX,rA,GX,qX,tS,v5,nS,ZX,yhe,vhe,a_e,bhe,H0e,WB,V0e,Jfn,jfn,i_e,s_e,l_e,G0e,QX,q0e,XX,Z0e,WX,YX,KX,Lhe,Q0e,A7,D7,JX,t9r,jX,$X,YB,oA,eW,tW,rS,nW,rW,oW,aW,X0e,omn,W0e,RHe,a9r=`void main() { +);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`, + "layout(location=0) in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}", + ), + sky: Ba( + "uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;in vec3 v_view_direction;const float ATMOSPHERE_HEIGHT_TO_GLOBE_RADIUS=100000.0/6371000.0;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;float opacity=1.0;if (u_sky_blend > 0.0) {vec3 ray=normalize(v_view_direction);float globe_distance=length(u_globe_position);float angle_to_globe_center=acos(clamp(dot(ray,u_globe_position)/globe_distance,-1.0,1.0));float horizon_angle=asin(min(u_globe_radius/globe_distance,1.0));blend=mix(blend,((angle_to_globe_center-horizon_angle)*u_camera_to_center_distance+1.0)*u_device_pixel_ratio,u_sky_blend);float closest_approach=max(dot(ray,u_globe_position),0.0);float lowest_altitude=sqrt(max(globe_distance*globe_distance-closest_approach*closest_approach,0.0))-u_globe_radius;float atmosphere_height=u_globe_radius*ATMOSPHERE_HEIGHT_TO_GLOBE_RADIUS;float inside_atmosphere=1.0-smoothstep(atmosphere_height,10.0*atmosphere_height,globe_distance-u_globe_radius);float through_atmosphere=1.0-smoothstep(0.0,atmosphere_height,lowest_altitude);opacity=inside_atmosphere*through_atmosphere*(1.0-u_atmosphere_blend);}if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor*=mix(1.0,opacity,u_sky_blend);}", + "layout(location=0) in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 v_view_direction;void main() {v_view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,1.0,1.0);}", + ), + })); + ((jEr = nl([{ name: "a_pos3d", type: "Int16", components: 3 }])), + ($Er = class extends Qp { + constructor(e) { + (super(), + (this._lastTilesetChange = vi()), + (this.tileManager = e), + (this._tiles = {}), + (this._renderableTilesKeys = []), + (this._sourceTileCache = {}), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.deltaZoom = 1), + (this.tileSize = e._source.tileSize * 2 ** this.deltaZoom), + (e.usedForTerrain = !0), + (e.tileSize = this.tileSize)); + } + destruct() { + ((this.tileManager.usedForTerrain = !1), + (this.tileManager.tileSize = null), + this.releaseAllRTT()); + } + getSource() { + return this.tileManager._source; + } + update(e, t) { + (this.tileManager.update(e, t), (this._renderableTilesKeys = [])); + let n = {}, + r = !1; + for (let o of iB(e, { + tileSize: this.tileSize, + minzoom: this.minzoom, + maxzoom: this.maxzoom, + reparseOverscaled: !1, + terrain: t, + })) + ((n[o.key] = !0), + this._renderableTilesKeys.push(o.key), + this._tiles[o.key] || + ((o.terrainRttPosMatrix32f = new Float32Array(16)), + yv(o.terrainRttPosMatrix32f, 0, Ut, Ut, 0, 0, 1), + (this._tiles[o.key] = new cdn(o, this.tileSize)), + (this._lastTilesetChange = vi()), + (r = !0))); + for (let o in this._tiles) + n[o] || + (this._tiles[o].releaseRTT(this.tileManager.map.painter), + delete this._tiles[o], + (r = !0)); + return r; + } + releaseRTT(e) { + for (let t in this._tiles) { + let n = this._tiles[t]; + (n.tileID.equals(e) || + n.tileID.isChildOf(e) || + e.isChildOf(n.tileID)) && + n.releaseRTT(this.tileManager.map.painter); + } + } + releaseAllRTT() { + for (let e in this._tiles) + this._tiles[e].releaseRTT(this.tileManager.map.painter); + } + getRenderableTiles() { + return this._renderableTilesKeys.map((e) => this.getTileByID(e)); + } + getTileByID(e) { + return this._tiles[e]; + } + getTerrainCoords(e, t) { + return t + ? this._getTerrainCoordsForTileRanges(e, t) + : this._getTerrainCoordsForRegularTile(e); + } + _getTerrainCoordsForRegularTile(e) { + let t = {}; + for (let n of this._renderableTilesKeys) { + let r = this._tiles[n].tileID, + o = e.clone(), + a = YC(); + if (r.canonical.equals(e.canonical)) yv(a, 0, Ut, Ut, 0, 0, 1); + else if (r.canonical.isChildOf(e.canonical)) { + let i = r.canonical.z - e.canonical.z, + s = r.canonical.x - ((r.canonical.x >> i) << i), + l = r.canonical.y - ((r.canonical.y >> i) << i), + c = Ut >> i; + (yv(a, 0, c, c, 0, 0, 1), vc(a, a, [-s * c, -l * c, 0])); + } else if (e.canonical.isChildOf(r.canonical)) { + let i = e.canonical.z - r.canonical.z, + s = e.canonical.x - ((e.canonical.x >> i) << i), + l = e.canonical.y - ((e.canonical.y >> i) << i), + c = Ut >> i; + (yv(a, 0, Ut, Ut, 0, 0, 1), + vc(a, a, [s * c, l * c, 0]), + Gp(a, a, [1 / 2 ** i, 1 / 2 ** i, 0])); + } else continue; + ((o.terrainRttPosMatrix32f = new Float32Array(a)), (t[n] = o)); + } + return t; + } + _getTerrainCoordsForTileRanges(e, t) { + let n = {}; + for (let r of this._renderableTilesKeys) { + let o = this._tiles[r].tileID; + if (!this._isWithinTileRanges(o, t)) continue; + let a = e.clone(), + i = YC(); + if (o.canonical.z === e.canonical.z) { + let s = + e.canonical.x - o.canonical.x + e.wrap * (1 << e.canonical.z), + l = e.canonical.y - o.canonical.y; + (yv(i, 0, Ut, Ut, 0, 0, 1), vc(i, i, [s * Ut, l * Ut, 0])); + } else if (o.canonical.z > e.canonical.z) { + let s = o.canonical.z - e.canonical.z, + l = + o.canonical.x - + ((o.canonical.x >> s) << s) + + e.wrap * (1 << o.canonical.z), + c = o.canonical.y - ((o.canonical.y >> s) << s), + u = e.canonical.x - (o.canonical.x >> s), + d = e.canonical.y - (o.canonical.y >> s), + p = Ut >> s; + (yv(i, 0, p, p, 0, 0, 1), + vc(i, i, [-l * p + u * Ut, -c * p + d * Ut, 0])); + } else { + let s = e.canonical.z - o.canonical.z, + l = + e.canonical.x - + ((e.canonical.x >> s) << s) + + e.wrap * (1 << e.canonical.z), + c = e.canonical.y - ((e.canonical.y >> s) << s), + u = (e.canonical.x >> s) - o.canonical.x, + d = (e.canonical.y >> s) - o.canonical.y, + p = Ut << s; + (yv(i, 0, p, p, 0, 0, 1), + vc(i, i, [l * Ut + u * p, c * Ut + d * p, 0])); + } + ((a.terrainRttPosMatrix32f = new Float32Array(i)), (n[r] = a)); + } + return n; + } + getSourceTile(e, t) { + let n = this.tileManager._source, + r = e.overscaledZ - this.deltaZoom; + if ((r > n.maxzoom && (r = n.maxzoom), r < n.minzoom)) return; + this._sourceTileCache[e.key] ||= e.scaledTo(r).key; + let o = this.findTileInCaches(this._sourceTileCache[e.key]); + if (!o?.dem && t) + for (; r >= n.minzoom && !o?.dem;) + o = this.findTileInCaches(e.scaledTo(r--).key); + return o; + } + findTileInCaches(e) { + let t = this.tileManager.getTileByID(e); + return t || ((t = this.tileManager._outOfViewCache.getByKey(e)), t); + } + anyTilesAfterTime(e = vi()) { + return this._lastTilesetChange >= e; + } + _isWithinTileRanges(e, t) { + let n = t[e.canonical.z]; + return ( + !!n && + (e.wrap > n.minWrap || + e.wrap < n.maxWrap || + (e.canonical.x >= n.minTileXWrapped && + e.canonical.x <= n.maxTileXWrapped && + e.canonical.y >= n.minTileY && + e.canonical.y <= n.maxTileY)) + ); + } + }), + (hun = Ut * 0.999999999999), + (yun = { covered: !1, demLoaded: !1, elevation: 0 })); + ((UNe = new Wfe({ + fill: new zx(128, 2), + line: new zx(512, 0), + tile: new zx(128, 32), + stencil: new zx(128, 1), + circle: 3, + })), + (bun = class extends Qp { + constructor(e, t) { + (super(), + (this._transitionable = new wQ(nIr(), "projection", t)), + this.setProjection(e), + (this._transitioning = this._transitionable.untransitioned()), + this.recalculate(new oi(0)), + (this._mercatorProjection = new sze()), + (this._verticalPerspectiveProjection = new Sdn())); + } + get transitionState() { + let e = this.properties.get("type"); + if (typeof e == "string" && e === "mercator") return 0; + if (typeof e == "string" && e === "vertical-perspective") return 1; + if (e instanceof Dw) { + if (e.from === e.to) return e.from === "mercator" ? 0 : 1; + if (e.from === "vertical-perspective" && e.to === "mercator") + return 1 - e.transition; + if (e.from === "mercator" && e.to === "vertical-perspective") + return e.transition; + } + return 1; + } + get useGlobeRendering() { + return this.transitionState > 0; + } + get currentProjection() { + return this.useGlobeRendering + ? this._verticalPerspectiveProjection + : this._mercatorProjection; + } + get name() { + return "globe"; + } + get useSubdivision() { + return this.currentProjection.useSubdivision; + } + get shaderVariantName() { + return this.currentProjection.shaderVariantName; + } + get shaderDefine() { + return this.currentProjection.shaderDefine; + } + get shaderPreludeCode() { + return this.currentProjection.shaderPreludeCode; + } + get vertexShaderPreludeCode() { + return this.currentProjection.vertexShaderPreludeCode; + } + get subdivisionGranularity() { + return this.currentProjection.subdivisionGranularity; + } + get useGlobeControls() { + return this.transitionState > 0; + } + destroy() { + (this._mercatorProjection.destroy(), + this._verticalPerspectiveProjection.destroy()); + } + getMeshFromTileID(e, t, n, r, o) { + return this.currentProjection.getMeshFromTileID(e, t, n, r, o); + } + setProjection(e) { + this._transitionable.setValue("type", e?.type || "mercator"); + } + updateTransitions(e) { + this._transitioning = this._transitionable.transitioned( + e, + this._transitioning, + ); + } + hasTransition() { + return ( + this._transitioning.hasTransition() || + this.currentProjection.hasTransition() + ); + } + recalculate(e) { + this.properties = this._transitioning.possiblyEvaluate(e); + } + })); + NNe = Math.PI * 0.98; + ((yIr = Z5r()), + (Run = class extends Qp { + constructor(e, t = {}) { + (super(), + (this._rtlPluginLoaded = () => { + for (let r in this.tileManagers) { + let o = this.tileManagers[r].getSource().type; + (o === "vector" || o === "geojson") && + this.tileManagers[r].reload(); + } + }), + (this.map = e), + (this.dispatcher = new edn($un(), e._getMapId()).setEventedParent( + this, + )), + this.dispatcher.registerMessageHandler("GG", (r, o) => + this.getGlyphs(r, o), + ), + this.dispatcher.registerMessageHandler("GI", (r, o) => + this.getImages(r, o), + ), + this.dispatcher.registerMessageHandler("GDA", (r, o) => + this.getDashes(r, o), + ), + (this.imageManager = new W5r()), + this.imageManager.setEventedParent(this), + this.imageManager.setMissingImageResolver( + e._missingStyleImageResolver, + ), + (this.patternAtlas = new Y5r(this.imageManager))); + let n = + e._container?.lang || + (typeof document < "u" && document.documentElement?.lang) || + void 0; + ((this.glyphManager = new o8r( + e._requestManager, + t.localIdeographFontFamily, + n, + )), + (this.lineAtlas = new d8r(256, 512)), + (this.crossTileSymbolIndex = new hdn()), + this._setInitialValues(), + this._resetUpdates(), + this.dispatcher.broadcast("SR", Efe()), + tze().on(eze, this._rtlPluginLoaded), + this.on("data", (r) => { + if (r.dataType !== "source" || r.sourceDataType !== "metadata") + return; + let o = this.tileManagers[r.sourceId]; + if (!o) return; + let a = o.getSource(); + if (a?.vectorLayerIds) + for (let i in this._layers) { + let s = this._layers[i]; + s.source === a.id && this._validateLayer(s); + } + })); + } + _setInitialValues() { + ((this._layers = {}), + (this._order = []), + (this.tileManagers = {}), + (this.zoomHistory = new efe()), + (this._imagesListDirty = !1), + (this._globalState = {}), + (this._serializedLayers = {}), + (this.stylesheet = null), + (this.light = null), + (this.sky = null), + this.projection && + (this.projection.destroy(), delete this.projection), + (this._loaded = !1), + (this._changed = !1), + (this._updatedLayers = {}), + (this._updatedSources = {}), + (this._changedImages = {}), + (this._glyphsDidChange = !1), + (this._updatedPaintProps = {}), + (this._layerOrderChanged = !1), + (this._symbolPlacementTriggered = !1), + (this._placedProjectionTransition = void 0), + (this.crossTileSymbolIndex = new ( + this.crossTileSymbolIndex?.constructor || Object + )()), + (this.pauseablePlacement = void 0), + (this.placement = void 0), + (this.z = 0)); + } + setGlobalStateProperty(e, t) { + this._checkLoaded(); + let n = t === null ? (this.stylesheet.state?.[e]?.default ?? null) : t; + return (this._setGlobalStateValues({ [e]: n }), this); + } + getGlobalState() { + return this._globalState; + } + setGlobalState(e) { + this._checkLoaded(); + let t = {}; + for (let n in e) t[n] = e[n].default; + this._setGlobalStateValues(t); + } + _setGlobalStateValues(e) { + let t = []; + for (let r in e) hv(e[r], this._globalState[r]) || t.push(r); + if (t.length === 0) return; + let n = { ...this._globalState }; + for (let r of t) this._globalState[r] = e[r]; + this._applyGlobalStateChanges(t, n); + } + _applyGlobalStateChanges(e, t) { + let n = new Set(), + r = {}; + for (let a of e) r[a] = this._globalState[a]; + for (let a in this._layers) { + let i = this._layers[a]; + i.retainPriorGlobalState(e, t); + let s = i.getLayoutAffectingGlobalStateRefs(), + l = i.getPaintAffectingGlobalStateRefs(), + c = i.getVisibilityAffectingGlobalStateRefs(); + for (let u of e) { + if ((s.has(u) && n.add(i.source), l.has(u))) + for (let { name: d, value: p } of l.get(u)) + this._updatePaintProperty(i, d, p, { validate: !1 }); + c?.has(u) && (i.recalculateVisibility(), this._updateLayer(i)); + } + } + let o = { now: vi(), transition: this.getTransition() }; + (this.light?.applyGlobalStateChange(e, t, o), + this.sky?.applyGlobalStateChange(e, t, o), + this.dispatcher.broadcast("UGS", r)); + for (let a in this.tileManagers) + n.has(a) && (this._reloadSource(a), (this._changed = !0)); + } + async loadURL(e, t = {}, n) { + (this.fire(new wv("dataloading")), + (t.validate = typeof t.validate != "boolean" || t.validate), + (this._loadStyleRequest = new AbortController())); + let r = this._loadStyleRequest; + try { + let o = await this.map._requestManager.transformRequest(e, "Style"); + Cfe(r.signal); + let a = await hQ(o, r); + (this._loadStyleRequest === r && (this._loadStyleRequest = null), + this._load(a.data, t, n)); + } catch (o) { + (this._loadStyleRequest === r && (this._loadStyleRequest = null), + o && !r.signal.aborted && this.fire(new lr(Vp(o)))); + } + } + loadJSON(e, t = {}, n) { + (this.fire(new wv("dataloading")), + (this._frameRequest = new AbortController()), + M0.frameAsync(this._frameRequest, this.map._ownerWindow) + .then(() => { + ((this._frameRequest = null), + (t.validate = t.validate !== !1), + this._load(e, t, n)); + }) + .catch(() => {})); + } + loadEmpty() { + (this.fire(new wv("dataloading")), this._load(yIr, { validate: !1 })); + } + _load(e, t, n) { + let r = t.transformStyle ? t.transformStyle(n, e) : e; + if (!(t.validate && GUe(this, r))) { + ((r = { ...r }), (this._loaded = !0), (this.stylesheet = r)); + for (let o in r.sources) + this.addSource(o, r.sources[o], { validate: !1 }); + (r.sprite + ? this._loadSprite(r.sprite) + : this.imageManager.setLoaded(!0), + this.glyphManager.setURL(r.glyphs), + this.glyphManager.setFontFaces(r["font-faces"]), + this._createLayers(), + (this.light = new s8r( + this.stylesheet.light ?? {}, + this._globalState, + )), + this._setProjectionInternal( + this.stylesheet.projection?.type || "mercator", + ), + (this.sky = new u8r(this.stylesheet.sky, this._globalState)), + this.sky.setEventedParent(this), + this.map.setTerrain(this.stylesheet.terrain ?? null, { + validate: !1, + }), + this.fire(new wv("data")), + this.fire(new Fcn())); + } + } + _createLayers() { + let e = Ncn(this.stylesheet.layers); + (this.setGlobalState(this.stylesheet.state ?? null), + this.dispatcher.broadcast("SL", e), + (this._order = e.map((t) => t.id)), + (this._layers = {}), + (this._serializedLayers = null)); + for (let t of e) { + let n = nme(t, this._globalState); + if ( + (n.setEventedParent(this, { layer: { id: t.id } }), + (this._layers[t.id] = n), + Gfe(n) && this.tileManagers[n.source]) + ) { + let r = + t.paint?.["raster-fade-duration"] ?? + n.paint.get("raster-fade-duration"); + this.tileManagers[n.source].setRasterFadeDuration(r); + } + } + } + async _loadSprite(e, t = !1, n = void 0) { + this.imageManager.setLoaded(!1); + let r = new AbortController(); + this._spriteRequest = r; + let o; + try { + let a = await Q5r( + e, + this.map._requestManager, + this.map.getPixelRatio(), + r, + ); + if (!a) return; + for (let i in a) { + let { loaded: s, removed: l } = this.imageManager.setSpriteImages( + i, + a[i], + ); + (this._markImagesChanged(l), t && this._markImagesChanged(s)); + } + } catch (a) { + ((o = a), r.signal.aborted || this.fire(new lr(o))); + } finally { + ((this._spriteRequest = null), + this.imageManager.setLoaded(!0), + t && (this._changed = !0), + this.dispatcher.broadcast("SI", this.imageManager.listImages()), + this.fire(new wv("data")), + n?.(o)); + } + } + _unloadSprite() { + (this._markImagesChanged(this.imageManager.removeAllSpriteImages()), + (this._imagesListDirty = !0), + (this._changed = !0), + this.fire(new wv("data"))); + } + _validateLayer(e) { + let t = this.tileManagers[e.source]; + if (!t) return; + let n = e.sourceLayer; + if (!n) return; + let r = t.getSource(); + (r.type === "geojson" || + (r.vectorLayerIds && !r.vectorLayerIds.includes(n))) && + this.fire( + new lr( + Error( + `Source layer "${n}" does not exist on source "${r.id}" as specified by style layer "${e.id}".`, + ), + ), + ); + } + loaded() { + if (!this._loaded || Object.keys(this._updatedSources).length) + return !1; + for (let e in this.tileManagers) + if (!this.tileManagers[e].loaded()) return !1; + return this.imageManager.isLoaded(); + } + _serializeByIds(e, t = !1) { + let n = this._serializedAllLayers(); + if (!e || e.length === 0) return Object.values(t ? Ah(n) : n); + let r = []; + for (let o of e) + if (n[o]) { + let a = t ? Ah(n[o]) : n[o]; + r.push(a); + } + return r; + } + _serializedAllLayers() { + let e = this._serializedLayers; + if (e) return e; + e = this._serializedLayers = {}; + let t = Object.keys(this._layers); + for (let n of t) { + let r = this._layers[n]; + r.type !== "custom" && (e[n] = r.serialize()); + } + return e; + } + hasTransitions() { + if ( + this.light?.hasTransition() || + this.sky?.hasTransition() || + this.projection?.hasTransition() + ) + return !0; + for (let e in this.tileManagers) + if (this.tileManagers[e].hasTransition()) return !0; + for (let e in this._layers) + if (this._layers[e].hasTransition()) return !0; + return !1; + } + _checkLoaded() { + if (!this._loaded) throw Error("Style is not done loading."); + } + update(e) { + if (!this._loaded) return; + let t = this._changed; + if (t) { + this._imagesListDirty &&= + (this.dispatcher.broadcast("SI", this.imageManager.listImages()), + !1); + let o = Object.keys(this._updatedLayers), + a = Object.keys(this._removedLayers); + (o.length || a.length) && this._updateWorkerLayers(o, a); + for (let i in this._updatedSources) { + let s = this._updatedSources[i]; + if (s === "reload") this._reloadSource(i); + else if (s === "clear") this._clearSource(i); + else throw Error(`Invalid action ${s}`); + } + (this._updateTilesForChangedImages(), + this._updateTilesForChangedGlyphs()); + for (let i in this._updatedPaintProps) + this._layers[i].updateTransitions(e); + this._resetUpdates(); + } + let n = {}; + for (let o in this.tileManagers) { + let a = this.tileManagers[o]; + ((n[o] = a.used), (a.used = !1)); + } + let r = this.imageManager.listImages(); + for (let o of this._order) { + let a = this._layers[o]; + (a.recalculate(e, r), + !a.isHidden(e.zoom) && + a.source && + (this.tileManagers[a.source].used = !0)); + } + for (let o in n) { + let a = this.tileManagers[o]; + !!n[o] != !!a.used && + a.fire( + new Gs("data", { sourceDataType: "visibility", sourceId: o }), + ); + } + (this.light.recalculate(e), + this.sky.recalculate(e), + this.projection.recalculate(e), + (this.z = e.zoom), + t && this.fire(new wv("data"))); + } + _updateTilesForChangedImages() { + let e = Object.keys(this._changedImages); + if (e.length) { + for (let t in this.tileManagers) + this.tileManagers[t].reloadTilesForDependencies( + ["icons", "patterns"], + e, + ); + this._changedImages = {}; + } + } + _updateTilesForChangedGlyphs() { + if (this._glyphsDidChange) { + for (let e in this.tileManagers) + this.tileManagers[e].reloadTilesForDependencies(["glyphs"], [""]); + this._glyphsDidChange = !1; + } + } + _updateWorkerLayers(e, t) { + this.dispatcher.broadcast("UL", { + layers: this._serializeByIds(e, !1), + removedIds: t, + }); + } + _resetUpdates() { + ((this._changed = !1), + (this._updatedLayers = {}), + (this._removedLayers = {}), + (this._updatedSources = {}), + (this._updatedPaintProps = {}), + (this._changedImages = {}), + (this._glyphsDidChange = !1)); + } + setState(e, t = {}) { + this._checkLoaded(); + let n = this.serialize(); + if ( + ((e = t.transformStyle ? t.transformStyle(n, e) : e), + (t.validate ?? !0) && GUe(this, e)) + ) + return !1; + ((e = Ah(e)), (e.layers = Ncn(e.layers))); + let r = q5r(n, e), + o = this._getOperationsToPerform(r); + if (o.unimplemented.length > 0) + throw Error(`Unimplemented: ${o.unimplemented.join(", ")}.`); + if (o.operations.length === 0) return !1; + for (let a of o.operations) a(); + return ( + (this.stylesheet = e), + (this._serializedLayers = null), + this.fire(new Fcn({ style: this })), + !0 + ); + } + _getOperationsToPerform(e) { + let t = [], + n = []; + for (let r of e) + switch (r.command) { + case "setCenter": + case "setZoom": + case "setBearing": + case "setPitch": + case "setRoll": + continue; + case "addLayer": { + let [o, a] = r.args; + t.push(() => this.addLayer(o, a)); + break; + } + case "removeLayer": { + let [o] = r.args; + t.push(() => this.removeLayer(o)); + break; + } + case "setPaintProperty": { + let [o, a, i] = r.args; + t.push(() => this.setPaintProperty(o, a, i)); + break; + } + case "setLayoutProperty": { + let [o, a, i] = r.args; + t.push(() => this.setLayoutProperty(o, a, i)); + break; + } + case "setFilter": { + let [o, a] = r.args; + t.push(() => this.setFilter(o, a)); + break; + } + case "addSource": { + let [o, a] = r.args; + t.push(() => this.addSource(o, a)); + break; + } + case "removeSource": { + let [o] = r.args; + t.push(() => this.removeSource(o)); + break; + } + case "setLayerZoomRange": { + let [o, a, i] = r.args; + t.push(() => this.setLayerZoomRange(o, a, i)); + break; + } + case "setLight": { + let [o] = r.args; + t.push(() => this.setLight(o)); + break; + } + case "setGeoJSONSourceData": { + let [o, a] = r.args; + t.push(() => this.setGeoJSONSourceData(o, a)); + break; + } + case "setGlyphs": { + let [o] = r.args; + t.push(() => this.setGlyphs(o)); + break; + } + case "setFontFaces": { + let [o] = r.args; + t.push(() => this.setFontFaces(o)); + break; + } + case "setSprite": { + let [o] = r.args; + t.push(() => this.setSprite(o)); + break; + } + case "setTerrain": { + let [o] = r.args; + t.push(() => this.map.setTerrain(o)); + break; + } + case "setSky": { + let [o] = r.args; + t.push(() => this.setSky(o)); + break; + } + case "setProjection": { + let [o] = r.args; + t.push(() => this.setProjection(o)); + break; + } + case "setGlobalState": { + let [o] = r.args; + t.push(() => this.setGlobalState(o)); + break; + } + case "setTransition": + t.push(() => {}); + break; + default: + n.push(r.command); + } + return { operations: t, unimplemented: n }; + } + addImage(e, t) { + if (this.getImage(e)) { + this.fire(new lr(Error(`An image named "${e}" already exists.`))); + return; + } + (this.imageManager.addImage(e, t), this._afterImageUpdated(e)); + } + updateImage(e, t) { + this.imageManager.updateImage(e, t); + } + getImage(e) { + return this.imageManager.getImage(e); + } + setMissingImageResolver(e) { + this.imageManager.setMissingImageResolver(e); + } + removeImage(e) { + if (!this.getImage(e)) { + this.fire(new lr(Error(`An image named "${e}" does not exist.`))); + return; + } + (this.imageManager.removeImage(e), this._afterImageUpdated(e)); + } + _markImagesChanged(e) { + for (let t of e) this._changedImages[t] = !0; + } + _afterImageUpdated(e) { + ((this._changedImages[e] = !0), + (this._imagesListDirty = !0), + (this._changed = !0), + this.fire(new wv("data"))); + } + listImages() { + return (this._checkLoaded(), this.imageManager.listImages()); + } + addSource(e, t, n = {}) { + if ((this._checkLoaded(), this.tileManagers[e] !== void 0)) + throw Error(`Source "${e}" already exists.`); + if (!t.type) + throw Error( + `The type property must be defined, but only the following properties were given: ${Object.keys(t).join(", ")}.`, + ); + if ( + VUe.has(t.type) && + this._validate(Sh.source, `sources.${e}`, t, null, n) + ) + return; + this.map?._collectResourceTiming && (t.collectResourceTiming = !0); + let r = (this.tileManagers[e] = new rze(e, t, this.dispatcher)); + ((r.style = this), + r.setEventedParent(this, () => ({ + isSourceLoaded: r.loaded(), + source: r.serialize(), + sourceId: e, + })), + r.onAdd(this.map), + (this._changed = !0)); + } + removeSource(e) { + if ((this._checkLoaded(), this.tileManagers[e] === void 0)) + throw Error(`There is no source with this ID=${e}`); + for (let n in this._layers) + if (this._layers[n].source === e) + return this.fire( + new lr( + Error( + `Source "${e}" cannot be removed while layer "${n}" is using it.`, + ), + ), + ); + let t = this.tileManagers[e]; + (delete this.tileManagers[e], + delete this._updatedSources[e], + t.fire(new Gs("data", { sourceDataType: "metadata", sourceId: e })), + t.setEventedParent(null), + t.onRemove(this.map), + (this._changed = !0)); + } + setGeoJSONSourceData(e, t) { + if ((this._checkLoaded(), this.tileManagers[e] === void 0)) + throw Error(`There is no source with this ID=${e}`); + let n = this.tileManagers[e].getSource(); + if (n.type !== "geojson") + throw Error(`geojsonSource.type is ${n.type}, which is !== 'geojson`); + (n.setData(t), (this._changed = !0)); + } + getSource(e) { + return this.tileManagers[e]?.getSource(); + } + addLayer(e, t, n = {}) { + this._checkLoaded(); + let r = e.id; + if (this.getLayer(r)) { + this.fire(new lr(Error(`Layer "${r}" already exists on this map.`))); + return; + } + let o; + if (e.type === "custom") { + if (_fe(this, jln(e))) return; + o = nme(e, this._globalState); + } else { + if ( + ("source" in e && + typeof e.source == "object" && + (this.addSource(r, e.source), + (e = Ah(e)), + (e = rr(e, { source: r }))), + this._validate(Sh.layer, `layers.${r}`, e, { arrayIndex: -1 }, n)) + ) + return; + ((o = nme(e, this._globalState)), + this._validateLayer(o), + o.setEventedParent(this, { layer: { id: r } })); + } + let a = t ? this._order.indexOf(t) : this._order.length; + if (t && a === -1) { + this.fire( + new lr( + Error( + `Cannot add layer "${r}" before non-existing layer "${t}".`, + ), + ), + ); + return; + } + if ( + (this._order.splice(a, 0, r), + (this._layerOrderChanged = !0), + (this._layers[r] = o), + this._removedLayers[r] && o.source && o.type !== "custom") + ) { + let i = this._removedLayers[r]; + (delete this._removedLayers[r], + i.type === o.type + ? ((this._updatedSources[o.source] = "reload"), + this.tileManagers[o.source].pause()) + : (this._updatedSources[o.source] = "clear")); + } + (this._updateLayer(o), o.onAdd && o.onAdd(this.map)); + } + moveLayer(e, t) { + if ((this._checkLoaded(), (this._changed = !0), !this._layers[e])) { + this.fire( + new lr( + Error( + `The layer '${e}' does not exist in the map's style and cannot be moved.`, + ), + ), + ); + return; + } + if (e === t) return; + if (t && !this._order.includes(t)) { + this.fire( + new lr( + Error( + `Cannot move layer "${e}" before non-existing layer "${t}".`, + ), + ), + ); + return; + } + let n = this._order.indexOf(e); + this._order.splice(n, 1); + let r = t ? this._order.indexOf(t) : this._order.length; + (this._order.splice(r, 0, e), (this._layerOrderChanged = !0)); + } + removeLayer(e) { + this._checkLoaded(); + let t = this._layers[e]; + if (!t) { + this.fire(new lr(Error(`Cannot remove non-existing layer "${e}".`))); + return; + } + t.setEventedParent(null); + let n = this._order.indexOf(e); + (this._order.splice(n, 1), + (this._layerOrderChanged = !0), + (this._changed = !0), + (this._removedLayers[e] = t), + delete this._layers[e], + this._serializedLayers && delete this._serializedLayers[e], + delete this._updatedLayers[e], + delete this._updatedPaintProps[e], + t.type === "symbol" && + t.source && + this.tileManagers[t.source]?.resetMaxContentElevation(), + t.onRemove && t.onRemove(this.map)); + } + getLayer(e) { + return this._layers[e]; + } + getLayersOrder() { + return [...this._order]; + } + hasLayer(e) { + return e in this._layers; + } + setLayerZoomRange(e, t, n) { + this._checkLoaded(); + let r = this.getLayer(e); + if (!r) { + this.fire( + new lr( + Error(`Cannot set the zoom range of non-existing layer "${e}".`), + ), + ); + return; + } + (r.minzoom !== t || r.maxzoom !== n) && + (t != null && (r.minzoom = t), + n != null && (r.maxzoom = n), + this._updateLayer(r)); + } + setFilter(e, t, n = {}) { + this._checkLoaded(); + let r = this.getLayer(e); + if (!r) { + this.fire(new lr(Error(`Cannot filter non-existing layer "${e}".`))); + return; + } + if (!hv(r.filter, t)) { + if (t == null) { + (r.setFilter(void 0), this._updateLayer(r)); + return; + } + this._validate(Sh.filter, `layers.${r.id}.filter`, t, null, n) || + (r.setFilter(Ah(t)), this._updateLayer(r)); + } + } + getFilter(e) { + return Ah(this.getLayer(e).filter); + } + setLayoutProperty(e, t, n, r = {}) { + this._checkLoaded(); + let o = this.getLayer(e); + if (!o) { + this.fire(new lr(Error(`Cannot style non-existing layer "${e}".`))); + return; + } + hv(o.getLayoutProperty(t), n) || + (o.setLayoutProperty(t, n, r), this._updateLayer(o)); + } + getLayoutProperty(e, t) { + let n = this.getLayer(e); + if (!n) { + this.fire( + new lr(Error(`Cannot get style of non-existing layer "${e}".`)), + ); + return; + } + return n.getLayoutProperty(t); + } + setPaintProperty(e, t, n, r = {}) { + this._checkLoaded(); + let o = this.getLayer(e); + if (!o) { + this.fire(new lr(Error(`Cannot style non-existing layer "${e}".`))); + return; + } + hv(o.getPaintProperty(t), n) || this._updatePaintProperty(o, t, n, r); + } + _updatePaintProperty(e, t, n, r = {}) { + (e.setPaintProperty(t, n, r) && this._updateLayer(e), + Gfe(e) && + t === "raster-fade-duration" && + this.tileManagers[e.source].setRasterFadeDuration(n), + (this._changed = !0), + (this._updatedPaintProps[e.id] = !0), + e.type === "symbol" && this.triggerSymbolPlacement(), + (this._serializedLayers = null)); + } + getPaintProperty(e, t) { + return this.getLayer(e).getPaintProperty(t); + } + setFeatureState(e, t) { + this._checkLoaded(); + let { source: n, sourceLayer: r } = e, + o = this.tileManagers[n]; + if (o === void 0) { + this.fire( + new lr( + Error(`The source '${n}' does not exist in the map's style.`), + ), + ); + return; + } + let a = o.getSource().type; + if (a === "geojson" && r) { + this.fire( + new lr( + Error("GeoJSON sources cannot have a sourceLayer parameter."), + ), + ); + return; + } + if (a === "vector" && !r) { + this.fire( + new lr( + Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + return; + } + if (e.id === void 0) { + this.fire( + new lr(Error("The feature id parameter must be provided.")), + ); + return; + } + let i = ["__proto__", "constructor", "prototype"]; + if (t && Object.keys(t).some((s) => i.includes(s))) { + this.fire( + new lr( + Error( + `The feature state should not include one of the following keys: ${i}`, + ), + ), + ); + return; + } + o.setFeatureState(r, e.id, t); + } + removeFeatureState(e, t) { + this._checkLoaded(); + let n = e.source, + r = this.tileManagers[n]; + if (r === void 0) { + this.fire( + new lr( + Error(`The source '${n}' does not exist in the map's style.`), + ), + ); + return; + } + let o = r.getSource().type, + a = o === "vector" ? e.sourceLayer : void 0; + if (o === "vector" && !a) { + this.fire( + new lr( + Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + return; + } + if (t && typeof e.id != "string" && typeof e.id != "number") { + this.fire( + new lr( + Error( + "A feature id is required to remove its specific state property.", + ), + ), + ); + return; + } + r.removeFeatureState(a, e.id, t); + } + getFeatureState(e) { + this._checkLoaded(); + let { source: t, sourceLayer: n } = e, + r = this.tileManagers[t]; + if (r === void 0) { + this.fire( + new lr( + Error(`The source '${t}' does not exist in the map's style.`), + ), + ); + return; + } + if (r.getSource().type === "vector" && !n) { + this.fire( + new lr( + Error( + "The sourceLayer parameter must be provided for vector source types.", + ), + ), + ); + return; + } + return ( + e.id === void 0 && + this.fire( + new lr(Error("The feature id parameter must be provided.")), + ), + r.getFeatureState(n, e.id) + ); + } + getTransition() { + return rr({ duration: 300, delay: 0 }, this.stylesheet?.transition); + } + serialize() { + if (!this._loaded) return; + let e = Sfe(this.tileManagers, (o) => o.serialize()), + t = this._serializeByIds(this._order, !0), + n = this.map.getTerrain() || void 0, + r = this.stylesheet; + return vUe( + { + version: r.version, + name: r.name, + metadata: r.metadata, + light: r.light, + sky: r.sky, + center: r.center, + zoom: r.zoom, + bearing: r.bearing, + pitch: r.pitch, + sprite: r.sprite, + glyphs: r.glyphs, + "font-faces": r["font-faces"], + transition: r.transition, + projection: r.projection, + state: r.state, + sources: e, + layers: t, + terrain: n, + }, + (o) => o !== void 0, + ); + } + _updateLayer(e) { + ((this._updatedLayers[e.id] = !0), + e.source && + !this._updatedSources[e.source] && + this.tileManagers[e.source].getSource().type !== "raster" && + ((this._updatedSources[e.source] = "reload"), + this.tileManagers[e.source].pause()), + (this._serializedLayers = null), + (this._changed = !0)); + } + _flattenAndSortRenderedFeatures(e) { + let t = (a) => this._layers[a].type === "fill-extrusion", + n = {}, + r = []; + for (let a = this._order.length - 1; a >= 0; a--) { + let i = this._order[a]; + if (t(i)) { + n[i] = a; + for (let s of e) { + let l = s[i]; + if (l) for (let c of l) r.push(c); + } + } + } + r.sort((a, i) => i.intersectionZ - a.intersectionZ); + let o = []; + for (let a = this._order.length - 1; a >= 0; a--) { + let i = this._order[a]; + if (t(i)) + for (let s = r.length - 1; s >= 0; s--) { + let l = r[s].feature; + if (n[l.layer.id] < a) break; + (o.push(l), r.pop()); + } + else + for (let s of e) { + let l = s[i]; + if (l) for (let c of l) o.push(c.feature); + } + } + return o; + } + queryRenderedFeatures(e, t, n) { + t?.filter && + this._validate( + Sh.filter, + "queryRenderedFeatures.filter", + t.filter, + null, + t, + ); + let r = {}; + if (t?.layers) { + if (!(Array.isArray(t.layers) || t.layers instanceof Set)) + return ( + this.fire( + new lr( + Error( + "parameters.layers must be an Array or a Set of strings", + ), + ), + ), + [] + ); + for (let l of t.layers) { + let c = this._layers[l]; + if (!c) + return ( + this.fire( + new lr( + Error( + `The layer '${l}' does not exist in the map's style and cannot be queried for features.`, + ), + ), + ), + [] + ); + r[c.source] = !0; + } + } + let o = []; + t.availableImages = this.imageManager.listImages(); + let a = this._serializedAllLayers(), + i = + t.layers instanceof Set + ? t.layers + : Array.isArray(t.layers) + ? new Set(t.layers) + : null, + s = { ...t, layers: i, globalState: this._globalState }; + for (let l in this.tileManagers) + (!t.layers || r[l]) && + o.push( + w8r( + this.tileManagers[l], + this._layers, + a, + e, + s, + n, + this.map.terrain + ? (c, u, d) => this.map.terrain.getElevation(c, u, d) + : void 0, + ), + ); + return ( + this.placement && + o.push( + S8r( + this._layers, + a, + this.tileManagers, + e, + s, + this.placement.collisionIndex, + this.placement.retainedQueryData, + ), + ), + this._flattenAndSortRenderedFeatures(o) + ); + } + querySourceFeatures(e, t) { + t?.filter && + this._validate( + Sh.filter, + "querySourceFeatures.filter", + t.filter, + null, + t, + ); + let n = this.tileManagers[e]; + return n + ? C8r( + n, + t + ? { ...t, globalState: this._globalState } + : { globalState: this._globalState }, + ) + : []; + } + getLight() { + return this.light.getLight(); + } + setLight(e, t = {}) { + this._checkLoaded(); + let n = this.light.getLight(), + r = !1; + for (let a in e) + if (!hv(e[a], n[a])) { + r = !0; + break; + } + if (!r) return; + let o = { + now: vi(), + transition: rr( + { duration: 300, delay: 0 }, + this.stylesheet.transition, + ), + }; + (this.light.setLight(e, t), this.light.updateTransitions(o)); + } + getProjection() { + return this.stylesheet?.projection; + } + setProjection(e) { + this._checkLoaded(); + let t = e ?? { type: "mercator" }; + if (((this.stylesheet.projection = e), this.projection)) { + if (this.projection.name === t.type) return; + (this.projection.destroy(), delete this.projection); + } + this._setProjectionInternal(t.type); + } + getSky() { + return this.stylesheet?.sky; + } + setSky(e, t = {}) { + this._checkLoaded(); + let n = this.getSky(), + r = !1; + if (!e && !n) return; + if (e && !n) r = !0; + else if (!e && n) r = !0; + else + for (let a in e) + if (!hv(e[a], n[a])) { + r = !0; + break; + } + if (!r) return; + let o = { + now: vi(), + transition: rr( + { duration: 300, delay: 0 }, + this.stylesheet.transition, + ), + }; + this.sky.setSky(e, t) && + ((this.stylesheet.sky = e), this.sky.updateTransitions(o)); + } + _setProjectionInternal(e) { + let t = gIr( + e, + this.map._camera?.transform.constrainOverride, + this._globalState, + ); + ((this.projection = t.projection), + this.map.migrateProjection(t.transform, t.cameraHelper)); + for (let n in this.tileManagers) this.tileManagers[n].reload(); + } + _validate(e, t, n, r, o = {}) { + return ( + o.validate !== !1 && + WL(this, e, { key: t, style: this.serialize(), value: n, ...r }, o) + ); + } + _remove(e = !0) { + ((this._frameRequest &&= (this._frameRequest.abort(), null)), + (this._loadStyleRequest &&= (this._loadStyleRequest.abort(), null)), + (this._spriteRequest &&= (this._spriteRequest.abort(), null)), + tze().off(eze, this._rtlPluginLoaded)); + for (let t in this._layers) this._layers[t].setEventedParent(null); + for (let t in this.tileManagers) { + let n = this.tileManagers[t]; + (n.setEventedParent(null), n.onRemove(this.map)); + } + (this.imageManager.setEventedParent(null), + this.setEventedParent(null), + e && this.dispatcher.broadcast("RM", void 0), + this.dispatcher.remove(e)); + } + _clearSource(e) { + this.tileManagers[e].clearTiles(); + } + _reloadSource(e) { + (this.tileManagers[e].resume(), this.tileManagers[e].reload()); + } + _updateSources(e) { + for (let t in this.tileManagers) + this.tileManagers[t].update(e, this.map.terrain); + } + _generateCollisionBoxes() { + for (let e in this.tileManagers) this._reloadSource(e); + } + triggerSymbolPlacement() { + this._symbolPlacementTriggered = !0; + } + _placementInputsChanged(e, t, n) { + let r = this.pauseablePlacement; + return ( + !r || + this._symbolPlacementTriggered || + this._placedProjectionTransition !== + this.projection?.transitionState || + r._showCollisionBoxes !== t || + r.placement.collisionGroups.crossSourceCollisions !== n || + r.placement.transform.renderWorldCopies !== e.renderWorldCopies || + !jan( + r.placement.transform.modelViewProjectionMatrix, + e.modelViewProjectionMatrix, + ) + ); + } + _updatePlacement(e, t, n, r, o = !1) { + let a = !1, + i = !1, + s = {}; + for (let u of this._order) { + let d = this._layers[u]; + if (d.type !== "symbol") continue; + if (!s[d.source]) { + let f = this.tileManagers[d.source]; + s[d.source] = f + .getRenderableIds(!0) + .map((m) => f.getTileByID(m)) + .sort( + (m, g) => + g.tileID.overscaledZ - m.tileID.overscaledZ || + (m.tileID.isLessThan(g.tileID) ? -1 : 1), + ); + } + let p = this.crossTileSymbolIndex.addLayer( + d, + s[d.source], + e.center.lng, + ); + a ||= p; + } + (this.crossTileSymbolIndex.pruneUnusedLayers(this._order), + (o ||= this._layerOrderChanged || n === 0)); + let l = a || this._placementInputsChanged(e, t, r), + c = + this.pauseablePlacement?.isDone() && + !this.placement.stillRecent(vi(), e.zoom); + if ( + ((o || + !this.pauseablePlacement || + (c && (l || this.placement.stale))) && + ((this._symbolPlacementTriggered = !1), + (this._placedProjectionTransition = + this.projection?.transitionState), + (this.pauseablePlacement = new NEr( + e, + this.map.terrain, + this._order, + o, + t, + n, + r, + this.placement, + )), + (this._layerOrderChanged = !1)), + this.pauseablePlacement.isDone() + ? l && this.placement.setStale() + : (this.pauseablePlacement.continuePlacement( + this._order, + this._layers, + s, + ), + this.pauseablePlacement.isDone() && + ((this.placement = this.pauseablePlacement.commit(vi())), + (i = !0)), + a && this.pauseablePlacement.placement.setStale()), + i || a) + ) + for (let u of this._order) { + let d = this._layers[u]; + d.type === "symbol" && + this.placement.updateLayerOpacities(d, s[d.source]); + } + return ( + !this.pauseablePlacement.isDone() || + this.placement.hasTransitions(vi()) + ); + } + _releaseSymbolFadeTiles() { + for (let e in this.tileManagers) + this.tileManagers[e].releaseSymbolFadeTiles(); + } + async getImages(e, t) { + let n = await this.imageManager.getImages(t.icons); + this._updateTilesForChangedImages(); + let r = this.tileManagers[t.source]; + return (r && r.setDependencies(t.tileID.key, t.type, t.icons), n); + } + async getGlyphs(e, t) { + let n = await this.glyphManager.getGlyphs(t.stacks), + r = this.tileManagers[t.source]; + return (r && r.setDependencies(t.tileID.key, t.type, [""]), n); + } + getGlyphsUrl() { + return this.stylesheet.glyphs || null; + } + setGlyphs(e, t = {}) { + (this._checkLoaded(), + !(e && this._validate(Sh.glyphs, "glyphs", e, null, t)) && + ((this._changed = !0), + (this._glyphsDidChange = !0), + (this.stylesheet.glyphs = e), + (this.glyphManager.entries = {}), + this.glyphManager.setURL(e))); + } + getFontFaces() { + return this.stylesheet["font-faces"] || null; + } + setFontFaces(e) { + (this._checkLoaded(), + (this._changed = !0), + (this._glyphsDidChange = !0), + (this.stylesheet["font-faces"] = e), + this.glyphManager.setFontFaces(e)); + } + async getDashes(e, t) { + let n = {}; + for (let [r, o] of Object.entries(t.dashes)) + n[r] = this.lineAtlas.getDash(o.dasharray, o.round); + return n; + } + addSprite(e, t, n = {}, r) { + this._checkLoaded(); + let o = [{ id: e, url: t }], + a = [...bme(this.stylesheet.sprite), ...o]; + this._validate(Sh.sprite, "sprite", a, null, n) || + ((this.stylesheet.sprite = a), this._loadSprite(o, !0, r)); + } + removeSprite(e) { + this._checkLoaded(); + let t = bme(this.stylesheet.sprite); + if (!t.find((r) => r.id === e)) { + this.fire(new lr(Error(`Sprite "${e}" doesn't exists on this map.`))); + return; + } + let n = this.imageManager.removeSpriteImages(e); + (this._markImagesChanged(n), + t.splice( + t.findIndex((r) => r.id === e), + 1, + ), + (this.stylesheet.sprite = t.length > 0 ? t : void 0), + (this._imagesListDirty = !0), + (this._changed = !0), + this.fire(new wv("data"))); + } + getSprite() { + return bme(this.stylesheet.sprite); + } + setSprite(e, t = {}, n) { + (this._checkLoaded(), + !(e && this._validate(Sh.sprite, "sprite", e, null, t)) && + ((this.stylesheet.sprite = e), + e + ? this._loadSprite(e, !0, n) + : (this._unloadSprite(), n && n(null)))); + } + destroy() { + ((this._frameRequest &&= (this._frameRequest.abort(), null)), + (this._loadStyleRequest &&= (this._loadStyleRequest.abort(), null)), + (this._spriteRequest &&= (this._spriteRequest.abort(), null))); + for (let e in this.tileManagers) { + let t = this.tileManagers[e]; + (t.setEventedParent(null), t.onRemove(this.map)); + } + ((this.tileManagers = {}), + this.imageManager && + (this.imageManager.setEventedParent(null), + this.imageManager.destroy(), + this.patternAtlas.destroy()), + this.glyphManager && this.glyphManager.destroy()); + for (let e in this._layers) { + let t = this._layers[e]; + (t.setEventedParent(null), t.onRemove && t.onRemove(this.map)); + } + (this._setInitialValues(), + this.setEventedParent(null), + this.dispatcher.unregisterMessageHandler("GG"), + this.dispatcher.unregisterMessageHandler("GI"), + this.dispatcher.unregisterMessageHandler("GDA"), + this.dispatcher.remove(!0), + (this._listeners = {}), + (this._oneTimeListeners = {})); + } + }), + (vIr = nl([ + { name: "a_pos", type: "Int16", components: 2 }, + { name: "a_texture_pos", type: "Int16", components: 2 }, + ])), + (Mme = { ProjectionUBO: 0, TerrainUBO: 1, FrameUBO: 2 })); + IIr = { + float: [1, 1], + int: [1, 1], + vec2: [2, 2], + vec4: [4, 4], + mat4: [16, 4], + }; + ((Pdn = xze([ + { name: "u_projection_matrix", type: "mat4" }, + { name: "u_projection_fallback_matrix", type: "mat4" }, + { name: "u_projection_tile_mercator_coords", type: "vec4" }, + { name: "u_projection_clipping_plane", type: "vec4" }, + { name: "u_projection_transition", type: "float" }, + { name: "u_projection_clip_antimeridian", type: "int" }, + ])), + (eB = Pdn.offsets)); + ((Ddn = xze([ + { name: "u_terrain_matrix", type: "mat4" }, + { name: "u_terrain_unpack", type: "vec4" }, + { name: "u_terrain_dim", type: "float" }, + { name: "u_terrain_exaggeration", type: "float" }, + ])), + (fme = Ddn.offsets)); + ((ITr = { + fillExtrusion: OIr, + fillExtrusionPattern: FIr, + fill: NIr, + fillPattern: zIr, + fillOutline: _Ir, + fillOutlinePattern: HIr, + circle: ZIr, + collisionBox: mme, + collisionCircle: mme, + debug: XIr, + depth: mme, + clippingMask: mme, + heatmap: WIr, + heatmapTexture: YIr, + hillshade: KIr, + hillshadePrepare: JIr, + colorRelief: tTr, + line: rTr, + lineGradient: oTr, + linePattern: aTr, + lineSDF: iTr, + lineGradientSDF: sTr, + layerOpacity: pTr, + raster: N8r, + symbolIcon: mTr, + symbolSDF: hTr, + symbolTextAndIcon: gTr, + background: vTr, + backgroundPattern: bTr, + terrain: AIr, + terrainDepth: wIr, + atmosphere: wTr, + sky: CTr, + }), + (Dun = { + Int8: "BYTE", + Uint8: "UNSIGNED_BYTE", + Int16: "SHORT", + Uint16: "UNSIGNED_SHORT", + Int32: "INT", + Uint32: "UNSIGNED_INT", + Float32: "FLOAT", + }), + (RTr = class extends bi { + getDefault() { + return Kr.transparent; + } + set(e) { + let t = this.current; + (e.r !== t.r || + e.g !== t.g || + e.b !== t.b || + e.a !== t.a || + this.dirty) && + (this.gl.clearColor(e.r, e.g, e.b, e.a), + (this.current = e), + (this.dirty = !1)); + } + }), + (PTr = class extends bi { + getDefault() { + return 1; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.clearDepth(e), (this.current = e), (this.dirty = !1)); + } + }), + (MTr = class extends bi { + getDefault() { + return 0; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.clearStencil(e), (this.current = e), (this.dirty = !1)); + } + }), + (DTr = class extends bi { + getDefault() { + return [!0, !0, !0, !0]; + } + set(e) { + let t = this.current; + (e[0] !== t[0] || + e[1] !== t[1] || + e[2] !== t[2] || + e[3] !== t[3] || + this.dirty) && + (this.gl.colorMask(e[0], e[1], e[2], e[3]), + (this.current = e), + (this.dirty = !1)); + } + }), + (LTr = class extends bi { + getDefault() { + return !0; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.depthMask(e), (this.current = e), (this.dirty = !1)); + } + }), + (BTr = class extends bi { + getDefault() { + return 255; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.stencilMask(e), (this.current = e), (this.dirty = !1)); + } + }), + (OTr = class extends bi { + getDefault() { + return { func: this.gl.ALWAYS, ref: 0, mask: 255 }; + } + set(e) { + let t = this.current; + (e.func !== t.func || + e.ref !== t.ref || + e.mask !== t.mask || + this.dirty) && + (this.gl.stencilFunc(e.func, e.ref, e.mask), + (this.current = e), + (this.dirty = !1)); + } + }), + (FTr = class extends bi { + getDefault() { + let e = this.gl; + return [e.KEEP, e.KEEP, e.KEEP]; + } + set(e) { + let t = this.current; + (e[0] !== t[0] || e[1] !== t[1] || e[2] !== t[2] || this.dirty) && + (this.gl.stencilOp(e[0], e[1], e[2]), + (this.current = e), + (this.dirty = !1)); + } + }), + (UTr = class extends bi { + getDefault() { + return !1; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (e ? t.enable(t.STENCIL_TEST) : t.disable(t.STENCIL_TEST), + (this.current = e), + (this.dirty = !1)); + } + }), + (NTr = class extends bi { + getDefault() { + return [0, 1]; + } + set(e) { + let t = this.current; + (e[0] !== t[0] || e[1] !== t[1] || this.dirty) && + (this.gl.depthRange(e[0], e[1]), + (this.current = e), + (this.dirty = !1)); + } + }), + (zTr = class extends bi { + getDefault() { + return !1; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (e ? t.enable(t.DEPTH_TEST) : t.disable(t.DEPTH_TEST), + (this.current = e), + (this.dirty = !1)); + } + }), + (_Tr = class extends bi { + getDefault() { + return this.gl.LESS; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.depthFunc(e), (this.current = e), (this.dirty = !1)); + } + }), + (HTr = class extends bi { + getDefault() { + return !1; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (e ? t.enable(t.BLEND) : t.disable(t.BLEND), + (this.current = e), + (this.dirty = !1)); + } + }), + (VTr = class extends bi { + getDefault() { + let e = this.gl; + return [e.ONE, e.ZERO]; + } + set(e) { + let t = this.current; + (e[0] !== t[0] || e[1] !== t[1] || this.dirty) && + (this.gl.blendFunc(e[0], e[1]), + (this.current = e), + (this.dirty = !1)); + } + }), + (GTr = class extends bi { + getDefault() { + return Kr.transparent; + } + set(e) { + let t = this.current; + (e.r !== t.r || + e.g !== t.g || + e.b !== t.b || + e.a !== t.a || + this.dirty) && + (this.gl.blendColor(e.r, e.g, e.b, e.a), + (this.current = e), + (this.dirty = !1)); + } + }), + (qTr = class extends bi { + getDefault() { + return this.gl.FUNC_ADD; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.blendEquation(e), (this.current = e), (this.dirty = !1)); + } + }), + (ZTr = class extends bi { + getDefault() { + return !1; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (e ? t.enable(t.CULL_FACE) : t.disable(t.CULL_FACE), + (this.current = e), + (this.dirty = !1)); + } + }), + (QTr = class extends bi { + getDefault() { + return this.gl.BACK; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.cullFace(e), (this.current = e), (this.dirty = !1)); + } + }), + (XTr = class extends bi { + getDefault() { + return this.gl.CCW; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.frontFace(e), (this.current = e), (this.dirty = !1)); + } + }), + (WTr = class extends bi { + getDefault() { + return null; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.useProgram(e), (this.current = e), (this.dirty = !1)); + } + }), + (YTr = class extends bi { + getDefault() { + return this.gl.TEXTURE0; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.activeTexture(e), (this.current = e), (this.dirty = !1)); + } + }), + (KTr = class extends bi { + getDefault() { + let e = this.gl; + return [0, 0, e.drawingBufferWidth, e.drawingBufferHeight]; + } + set(e) { + let t = this.current; + (e[0] !== t[0] || + e[1] !== t[1] || + e[2] !== t[2] || + e[3] !== t[3] || + this.dirty) && + (this.gl.viewport(e[0], e[1], e[2], e[3]), + (this.current = e), + (this.dirty = !1)); + } + }), + (JTr = class extends bi { + getDefault() { + return null; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (t.bindFramebuffer(t.FRAMEBUFFER, e), + (this.current = e), + (this.dirty = !1)); + } + }), + (jTr = class extends bi { + getDefault() { + return null; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (t.bindRenderbuffer(t.RENDERBUFFER, e), + (this.current = e), + (this.dirty = !1)); + } + }), + ($Tr = class extends bi { + getDefault() { + return null; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (t.bindTexture(t.TEXTURE_2D, e), (this.current = e), (this.dirty = !1)); + } + }), + (e7r = class extends bi { + getDefault() { + return null; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (t.bindBuffer(t.ARRAY_BUFFER, e), + (this.current = e), + (this.dirty = !1)); + } + }), + (t7r = class extends bi { + getDefault() { + return null; + } + set(e) { + let t = this.gl; + (t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, e), + (this.current = e), + (this.dirty = !1)); + } + }), + (n7r = class extends bi { + getDefault() { + return null; + } + set(e) { + (e !== this.current || this.dirty) && + (this.gl.bindVertexArray(e), (this.current = e), (this.dirty = !1)); + } + }), + (r7r = class extends bi { + getDefault() { + return 4; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (t.pixelStorei(t.UNPACK_ALIGNMENT, e), + (this.current = e), + (this.dirty = !1)); + } + }), + (o7r = class extends bi { + getDefault() { + return !1; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL, e), + (this.current = e), + (this.dirty = !1)); + } + }), + (a7r = class extends bi { + getDefault() { + return !1; + } + set(e) { + if (e === this.current && !this.dirty) return; + let t = this.gl; + (t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL, e), + (this.current = e), + (this.dirty = !1)); + } + }), + (Sze = class extends bi { + constructor(e, t) { + (super(e), (this.context = e), (this.parent = t)); + } + getDefault() { + return null; + } + }), + (i7r = class extends Sze { + setDirty() { + this.dirty = !0; + } + set(e) { + if (e === this.current && !this.dirty) return; + this.context.bindFramebuffer.set(this.parent); + let t = this.gl; + (t.framebufferTexture2D( + t.FRAMEBUFFER, + t.COLOR_ATTACHMENT0, + t.TEXTURE_2D, + e, + 0, + ), + (this.current = e), + (this.dirty = !1)); + } + }), + (s7r = class extends Sze { + set(e) { + if (e === this.current && !this.dirty) return; + this.context.bindFramebuffer.set(this.parent); + let t = this.gl; + (t.framebufferRenderbuffer( + t.FRAMEBUFFER, + t.DEPTH_ATTACHMENT, + t.RENDERBUFFER, + e, + ), + (this.current = e), + (this.dirty = !1)); + } + }), + (l7r = class extends Sze { + set(e) { + if (e === this.current && !this.dirty) return; + this.context.bindFramebuffer.set(this.parent); + let t = this.gl; + (t.framebufferRenderbuffer( + t.FRAMEBUFFER, + t.DEPTH_STENCIL_ATTACHMENT, + t.RENDERBUFFER, + e, + ), + (this.current = e), + (this.dirty = !1)); + } + }), + (Hdn = xze([ + { name: "u_units_to_pixels", type: "vec2" }, + { name: "u_world_size", type: "vec2" }, + { name: "u_camera_to_center_distance", type: "float" }, + { name: "u_symbol_fade_change", type: "float" }, + { name: "u_aspect_ratio", type: "float" }, + { name: "u_device_pixel_ratio", type: "float" }, + { name: "u_viewport_size", type: "vec2" }, + { name: "u_pixel_extrude_scale", type: "vec2" }, + { name: "u_pitch", type: "float" }, + ])), + ($g = Hdn.offsets)); + ((Yl.Replace = [1, 0]), + (Yl.disabled = new Yl(Yl.Replace, Kr.transparent, [!1, !1, !1, !1])), + (Yl.unblended = new Yl(Yl.Replace, Kr.transparent, [!0, !0, !0, !0])), + (Yl.alphaBlended = new Yl([1, 771], Kr.transparent, [!0, !0, !0, !0]))); + ((Ho.ReadOnly = !1), + (Ho.ReadWrite = !0), + (Ho.disabled = new Ho(519, Ho.ReadOnly, [0, 1]))); + ii.disabled = new ii({ func: 519, mask: 0 }, 0, 0, GNe, GNe, GNe); + ((Ya.disabled = new Ya(!1, Lun, qNe)), + (Ya.backCCW = new Ya(!0, Lun, qNe)), + (Ya.frontCCW = new Ya(!0, 1028, qNe))); + h7r = Oy(new Float32Array(16)); + WNe = [new ft(0, 0), new ft(Ut, 0), new ft(Ut, Ut), new ft(0, Ut)]; + ((Z7r = new Kr(1, 0, 0, 1)), + (Q7r = new Kr(0, 1, 0, 1)), + (X7r = new Kr(0, 0, 1, 1)), + (W7r = new Kr(1, 0, 1, 1)), + (Y7r = new Kr(0, 1, 1, 1))); + ((lkr = { + symbol: g7r, + circle: w7r, + heatmap: S7r, + line: B7r, + fill: O7r, + fillExtrusion: F7r, + hillshade: U7r, + colorRelief: z7r, + raster: _7r, + background: q7r, + sky: akr, + atmosphere: skr, + custom: nkr, + debug: j7r, + debugPadding: K7r, + terrainDepth: rkr, + }), + (ckr = class e { + constructor(t, n) { + ((this.drawFunctions = lkr), + (this.context = new p7r(t)), + (this.transform = n), + (this.layerOpacityFbo = null), + (this._tileTextures = {}), + (this._rttObjectRecyclePool = []), + (this._rttSharedFbo = null), + (this.terrainFacilitator = { + depthDirty: !0, + matrix: Oy(new Float64Array(16)), + renderTime: 0, + }), + this.setup(), + (this.numSublayers = rze.maxOverzooming + rze.maxUnderzooming + 1), + (this.depthEpsilon = 0.0000152587890625), + (this.crossTileSymbolIndex = new hdn())); + } + resize(t, n, r) { + if ( + ((this.width = Math.round(t * r)), + (this.height = Math.round(n * r)), + (this.pixelRatio = r), + this.context.viewport.set([0, 0, this.width, this.height]), + this.style) + ) + for (let o of this.style._order) this.style._layers[o].resize(); + } + setup() { + let t = this.context, + n = new Lw(); + (n.emplaceBack(0, 0), + n.emplaceBack(Ut, 0), + n.emplaceBack(0, Ut), + n.emplaceBack(Ut, Ut), + (this.tileExtentBuffer = t.createVertexBuffer(n, o7.members)), + (this.tileExtentSegments = Vs.simpleSegment(0, 0, 4, 2))); + let r = new Lw(); + (r.emplaceBack(0, 0), + r.emplaceBack(Ut, 0), + r.emplaceBack(0, Ut), + r.emplaceBack(Ut, Ut), + (this.debugBuffer = t.createVertexBuffer(r, o7.members)), + (this.debugSegments = Vs.simpleSegment(0, 0, 4, 5))); + let o = new Vsn(); + (o.emplaceBack(0, 0, 0, 0), + o.emplaceBack(Ut, 0, Ut, 0), + o.emplaceBack(0, Ut, 0, Ut), + o.emplaceBack(Ut, Ut, Ut, Ut), + (this.rasterBoundsBuffer = t.createVertexBuffer(o, vIr.members)), + (this.rasterBoundsSegments = Vs.simpleSegment(0, 0, 4, 2))); + let a = new Lw(); + (a.emplaceBack(0, 0), + a.emplaceBack(Ut, 0), + a.emplaceBack(0, Ut), + a.emplaceBack(Ut, Ut), + (this.rasterBoundsBufferPosOnly = t.createVertexBuffer( + a, + o7.members, + )), + (this.rasterBoundsSegmentsPosOnly = Vs.simpleSegment(0, 0, 4, 5))); + let i = new Lw(); + (i.emplaceBack(0, 0), + i.emplaceBack(1, 0), + i.emplaceBack(0, 1), + i.emplaceBack(1, 1), + (this.viewportBuffer = t.createVertexBuffer(i, o7.members)), + (this.viewportSegments = Vs.simpleSegment(0, 0, 4, 2))); + let s = new Zsn(); + (s.emplaceBack(0), + s.emplaceBack(1), + s.emplaceBack(3), + s.emplaceBack(2), + s.emplaceBack(0), + (this.tileBorderIndexBuffer = t.createIndexBuffer(s))); + let l = new xv(); + (l.emplaceBack(1, 0, 2), + l.emplaceBack(1, 2, 3), + (this.quadTriangleIndexBuffer = t.createIndexBuffer(l))); + let c = this.context.gl; + ((this.stencilClearMode = new ii( + { func: c.ALWAYS, mask: 0 }, + 0, + 255, + c.ZERO, + c.ZERO, + c.ZERO, + )), + (this.tileExtentMesh = new qQ( + this.tileExtentBuffer, + this.quadTriangleIndexBuffer, + this.tileExtentSegments, + ))); + } + clearStencil() { + let t = this.context, + n = t.gl; + ((this.nextStencilID = 1), (this.currentStencilSource = void 0)); + let r = kw(); + (yv(r, 0, this.width, this.height, 0, 0, 1), + Gp(r, r, [n.drawingBufferWidth, n.drawingBufferHeight, 0])); + let o = { + mainMatrix: r, + tileMercatorCoords: [0, 0, 1, 1], + clippingPlane: [0, 0, 0, 0], + projectionTransition: 0, + fallbackMatrix: r, + clipAntimeridian: !1, + }; + this.useProgram("clippingMask", null, !0).draw( + t, + n.TRIANGLES, + Ho.disabled, + this.stencilClearMode, + Yl.disabled, + Ya.disabled, + null, + null, + o, + "$clipping", + this.viewportBuffer, + this.quadTriangleIndexBuffer, + this.viewportSegments, + ); + } + renderTileClippingMasks(t, n) { + if ( + this.currentStencilSource === t.source || + !t.isTileClipped() || + !n?.length + ) + return; + ((this.currentStencilSource = t.source), + this.nextStencilID + n.length > 256 && this.clearStencil()); + let r = this.context; + (r.setColorMode(Yl.disabled), r.setDepthMode(Ho.disabled)); + let o = {}; + for (let a of n) o[a.key] = this.nextStencilID++; + (this.style.projection.useSubdivision && + this._renderTileMasks(o, n, !0), + this._renderTileMasks(o, n, !1), + (this._tileClippingMaskIDs = o)); + } + _renderTileMasks(t, n, r) { + let o = this.context, + a = o.gl, + i = this.style.projection, + s = this.renderContext, + l = this.useProgram("clippingMask"); + for (let c of n) { + let u = t[c.key], + d = Ch(s, c), + p = i.getMeshFromTileID( + this.context, + c.canonical, + r, + !0, + "stencil", + ), + f = Xf(s, c); + l.draw( + o, + a.TRIANGLES, + Ho.disabled, + new ii( + { func: a.ALWAYS, mask: 0 }, + u, + 255, + a.KEEP, + a.KEEP, + a.REPLACE, + ), + Yl.disabled, + s.isRenderingToTexture ? Ya.disabled : Ya.backCCW, + null, + d, + f, + "$clipping", + p.vertexBuffer, + p.indexBuffer, + p.segments, + ); + } + } + _renderTilesDepthBuffer() { + let t = this.context, + n = t.gl, + r = this.style.projection, + o = this.transform, + a = this.useProgram("depth"), + i = this.getDepthModeFor3D(), + s = iB(o, { tileSize: o.tileSize }); + for (let l of s) { + let c = Ch(this.renderContext, l), + u = r.getMeshFromTileID( + this.context, + l.canonical, + !0, + !0, + "raster", + ), + d = Xf(this.renderContext, l); + a.draw( + t, + n.TRIANGLES, + i, + ii.disabled, + Yl.disabled, + Ya.backCCW, + null, + c, + d, + "$clipping", + u.vertexBuffer, + u.indexBuffer, + u.segments, + ); + } + } + stencilModeFor3D() { + ((this.currentStencilSource = void 0), + this.nextStencilID + 1 > 256 && this.clearStencil()); + let t = this.nextStencilID++, + n = this.context.gl; + return new ii( + { func: n.NOTEQUAL, mask: 255 }, + t, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ); + } + stencilModeForClipping(t) { + let n = this.context.gl; + return new ii( + { func: n.EQUAL, mask: 255 }, + this._tileClippingMaskIDs[t.key], + 0, + n.KEEP, + n.KEEP, + n.REPLACE, + ); + } + getStencilConfigForOverlapAndUpdateStencilID(t) { + let n = this.context.gl, + r = t.sort((i, s) => s.overscaledZ - i.overscaledZ), + o = r[r.length - 1].overscaledZ, + a = r[0].overscaledZ - o + 1; + if (a > 1) { + ((this.currentStencilSource = void 0), + this.nextStencilID + a > 256 && this.clearStencil()); + let i = {}; + for (let s = 0; s < a; s++) + i[s + o] = new ii( + { func: n.GEQUAL, mask: 255 }, + s + this.nextStencilID, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ); + return ((this.nextStencilID += a), [i, r]); + } + return [{ [o]: ii.disabled }, r]; + } + stencilConfigForOverlapTwoPass(t) { + let n = this.context.gl, + r = t.sort((i, s) => s.overscaledZ - i.overscaledZ), + o = r[r.length - 1].overscaledZ, + a = r[0].overscaledZ - o + 1; + if ((this.clearStencil(), a > 1)) { + let i = {}, + s = {}; + for (let l = 0; l < a; l++) + ((i[l + o] = new ii( + { func: n.GREATER, mask: 255 }, + a + 1 + l, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + )), + (s[l + o] = new ii( + { func: n.GREATER, mask: 255 }, + 1 + l, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ))); + return ((this.nextStencilID = a * 2 + 1), [i, s, r]); + } + return ( + (this.nextStencilID = 3), + [ + { + [o]: new ii( + { func: n.GREATER, mask: 255 }, + 2, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ), + }, + { + [o]: new ii( + { func: n.GREATER, mask: 255 }, + 1, + 255, + n.KEEP, + n.KEEP, + n.REPLACE, + ), + }, + r, + ] + ); + } + colorModeForRenderPass() { + let t = this.context.gl; + if (this._showOverdrawInspector) { + let n = 0.125; + return new Yl([t.CONSTANT_COLOR, t.ONE], new Kr(n, n, n, 0), [ + !0, + !0, + !0, + !0, + ]); + } + return this.renderContext.currentPass === "opaque" + ? Yl.unblended + : Yl.alphaBlended; + } + getDepthModeForSublayer(t, n, r) { + if (!this.opaquePassEnabledForLayer()) return Ho.disabled; + let o = + 1 - + ((1 + this.renderContext.currentLayer) * this.numSublayers + t) * + this.depthEpsilon; + return new Ho(r || this.context.gl.LEQUAL, n, [o, o]); + } + getDepthModeFor3D() { + return new Ho( + this.context.gl.LEQUAL, + Ho.ReadWrite, + this.renderContext.depthRangeFor3D, + ); + } + opaquePassEnabledForLayer() { + return ( + this.renderContext.currentLayer < this.renderContext.opaquePassCutoff + ); + } + render(t, n) { + ((this.style = t), (this.options = n)); + let r = (this.renderContext = f7r( + this.transform, + t.projection, + t.map.terrain ?? null, + )); + ((this.lineAtlas = t.lineAtlas), + (this.imageManager = t.imageManager), + (this.patternAtlas = t.patternAtlas), + (this.glyphManager = t.glyphManager), + (this.symbolFadeChange = t.placement.symbolFadeChange(vi())), + d7r(this.context.frameUniformBuffer, this), + this.imageManager.beginFrame(), + kIr(this.context)); + let o = this.style._order, + a = this.style.tileManagers, + i = {}, + s = {}, + l = {}; + for (let u in a) { + let d = a[u]; + (d.used && d.prepare(this.context), + (i[u] = d.getVisibleCoordinates(!1)), + (s[u] = i[u].slice().reverse()), + (l[u] = d.getVisibleCoordinates(!0).reverse())); + } + r.opaquePassCutoff = 1 / 0; + for (let u = 0; u < o.length; u++) { + let d = o[u]; + if (this.style._layers[d].is3D()) { + r.opaquePassCutoff = u; + break; + } + } + (this.maybeDrawDepth(), + this.renderToTexture && + (this.renderToTexture.prepareForRender( + this.style, + this.transform.zoom, + ), + (r.opaquePassCutoff = 0)), + (r.currentPass = "offscreen")); + for (let u of o) { + let d = this.style._layers[u]; + if (!d.hasOffscreenPass() || d.isHidden(this.transform.zoom)) + continue; + let p = s[d.source]; + (d.type === "custom" || p.length) && + this.renderLayer(this, a[d.source], d, p, r); + } + if ( + (this.context.viewport.set([0, 0, this.width, this.height]), + this.context.bindFramebuffer.set(null), + this.context.clear({ + color: n.showOverdrawInspector ? Kr.black : Kr.transparent, + depth: 1, + }), + this.clearStencil(), + this.style.sky && this.drawFunctions.sky(this, this.style.sky), + (this._showOverdrawInspector = n.showOverdrawInspector), + (r.depthRangeFor3D = [ + 0, + 1 - (t._order.length + 2) * this.numSublayers * this.depthEpsilon, + ]), + !this.renderToTexture) + ) + for ( + r.currentPass = "opaque", r.currentLayer = o.length - 1; + r.currentLayer >= 0; + r.currentLayer-- + ) { + let u = this.style._layers[o[r.currentLayer]]; + if (u.isHidden(this.transform.zoom)) continue; + let d = a[u.source], + p = i[u.source]; + (this.renderTileClippingMasks(u, p), + this.renderLayer(this, d, u, p, r)); + } + r.currentPass = "translucent"; + let c = !1; + for (r.currentLayer = 0; r.currentLayer < o.length; r.currentLayer++) { + let u = this.style._layers[o[r.currentLayer]]; + if (u.isHidden(this.transform.zoom)) continue; + let d = a[u.source]; + if (this.renderToTexture?.renderLayer(u, r)) continue; + !this.opaquePassEnabledForLayer() && + !c && + ((c = !0), + r.isRenderingGlobe && + !this.style.map.terrain && + this._renderTilesDepthBuffer()); + let p = (u.type === "symbol" ? l : s)[u.source]; + (this.renderTileClippingMasks(u, i[u.source]), + this.renderLayer(this, d, u, p, r)); + } + if ( + (r.isRenderingGlobe && + this.drawFunctions.atmosphere( + this, + this.style.sky, + this.style.light, + ), + this.options.showTileBoundaries) + ) { + let u = tkr(this.style, this.transform.zoom); + u && this.drawFunctions.debug(this, u, u.getVisibleCoordinates(), r); + } + (this.options.showPadding && this.drawFunctions.debugPadding(this), + this.renderToTexture && !this.options.moving && this.clearRTTPool(), + this.context.setDefault()); + } + markTerrainDepthDirty() { + this.terrainFacilitator.depthDirty = !0; + } + maybeDrawDepth() { + if (!this.style?.projection || !this.style.map?.terrain) return; + let t = this.terrainFacilitator.matrix, + n = this.transform.modelViewProjectionMatrix, + r = this.terrainFacilitator.depthDirty; + ((r ||= !$an(t, n)), + (r ||= this.style.map.terrain.tileManager.anyTilesAfterTime( + this.terrainFacilitator.renderTime, + )), + r && + (Kan(t, n), + (this.terrainFacilitator.renderTime = vi()), + (this.terrainFacilitator.depthDirty = !1), + this.drawFunctions.terrainDepth(this, this.style.map.terrain))); + } + renderLayer(t, n, r, o, a) { + if ( + r.isHidden(this.transform.zoom) || + (r.type !== "background" && r.type !== "custom" && !(o || []).length) + ) + return; + this.id = r.id; + let i = this.drawFunctions; + dNe(r) + ? i.symbol(t, n, r, o, this.style.placement.variableOffsets, a) + : $sn(r) + ? i.circle(t, n, r, o, a) + : nln(r) + ? i.heatmap(t, n, r, o, a) + : Cln(r) + ? i.line(t, n, r, o, a) + : mln(r) + ? i.fill(t, n, r, o, a) + : Aln(r) + ? i.fillExtrusion(t, n, r, o, a) + : rln(r) + ? i.hillshade(t, n, r, o, a) + : aln(r) + ? i.colorRelief(t, n, r, o, a) + : Gfe(r) + ? i.raster(t, n, r, o, a) + : Jln(r) + ? i.background(t, n, r, o, a) + : $ln(r) && i.custom(t, n, r, a); + } + static { + this.MAX_TEXTURE_POOL_SIZE_PER_BUCKET = 50; + } + saveTileTexture(t) { + let n = this._tileTextures[t.size[0]]; + n + ? n.length < e.MAX_TEXTURE_POOL_SIZE_PER_BUCKET + ? n.push(t) + : t.destroy() + : (this._tileTextures[t.size[0]] = [t]); + } + getTileTexture(t) { + let n = this._tileTextures[t]; + return n && n.length > 0 ? n.pop() : null; + } + acquireRTT(t) { + let n = this.context.gl, + r = this._rttObjectRecyclePool.pop(); + if (r) + return ( + r.size !== t && + (r.texture.update( + { width: t, height: t, data: null }, + { premultiply: !1, useMipmap: !0 }, + ), + r.texture.bind(n.LINEAR, n.CLAMP_TO_EDGE, n.LINEAR_MIPMAP_LINEAR), + this.context.extTextureFilterAnisotropic && + n.texParameterf( + n.TEXTURE_2D, + this.context.extTextureFilterAnisotropic + .TEXTURE_MAX_ANISOTROPY_EXT, + this.context.extTextureFilterAnisotropicMax, + ), + (r.size = t)), + r + ); + let o = new cd( + this.context, + { width: t, height: t, data: null }, + n.RGBA, + { premultiply: !1, useMipmap: !0 }, + ); + return ( + o.bind(n.LINEAR, n.CLAMP_TO_EDGE, n.LINEAR_MIPMAP_LINEAR), + this.context.extTextureFilterAnisotropic && + n.texParameterf( + n.TEXTURE_2D, + this.context.extTextureFilterAnisotropic + .TEXTURE_MAX_ANISOTROPY_EXT, + this.context.extTextureFilterAnisotropicMax, + ), + { texture: o, size: t } + ); + } + bindRTT(t) { + let n = this.context.gl, + r = t.size; + if (!this._rttSharedFbo) { + let o = this.context.createFramebuffer(r, r, !0, !0), + a = this.context.createRenderbuffer(n.DEPTH_STENCIL, r, r); + (o.depthAttachment.set(a), + (this._rttSharedFbo = { fbo: o, depthRenderbuffer: a, size: r })); + } + (this._rttSharedFbo.size !== r && + (this.context.bindRenderbuffer.set( + this._rttSharedFbo.depthRenderbuffer, + ), + n.renderbufferStorage(n.RENDERBUFFER, n.DEPTH_STENCIL, r, r), + this.context.bindRenderbuffer.set(null), + (this._rttSharedFbo.fbo.width = r), + (this._rttSharedFbo.fbo.height = r), + (this._rttSharedFbo.size = r)), + this._rttSharedFbo.fbo.colorAttachment.set(t.texture.texture), + this.context.bindFramebuffer.set(this._rttSharedFbo.fbo.framebuffer)); + } + releaseRTT(t) { + this._rttObjectRecyclePool.push(t); + } + clearRTTPool() { + for (let t of this._rttObjectRecyclePool) t.texture.destroy(); + this._rttObjectRecyclePool.length = 0; + } + destroyRTTResources() { + if ((this.clearRTTPool(), !this._rttSharedFbo)) return; + (this._rttSharedFbo.fbo.colorAttachment.set(null), + this._rttSharedFbo.fbo.depthAttachment.set(null)); + let t = this.context.gl; + (t.deleteRenderbuffer(this._rttSharedFbo.depthRenderbuffer), + t.deleteFramebuffer(this._rttSharedFbo.fbo.framebuffer), + (this._rttSharedFbo = null)); + } + isPatternMissing(t) { + if (!t) return !1; + if (!t.from || !t.to) return !0; + let n = this.patternAtlas.getPattern(t.from.toString()), + r = this.patternAtlas.getPattern(t.to.toString()); + return !n || !r; + } + useProgram(t, n, r = !1, o = []) { + this.cache ||= {}; + let a = !!this.style.map.terrain, + i = this.style.projection, + s = r ? Qx.projectionMercator : i.shaderPreludeCode, + l = r ? gdn : i.shaderDefine, + c = `/${r ? ydn : i.shaderVariantName}`, + u = n ? n.cacheKey : "", + d = this._showOverdrawInspector ? "/overdraw" : "", + p = a ? "/terrain" : "", + f = o ? `/${o.join("/")}` : "", + m = t + u + c + d + p + f; + return ( + (this.cache[m] ||= new LIr( + this.context, + Qx[t], + n, + ITr[t], + this._showOverdrawInspector, + a, + s, + l, + o, + )), + this.cache[m] + ); + } + setCustomLayerDefaults() { + this.context.setCustomLayerDefaults(); + } + setBaseState() { + let t = this.context.gl; + (this.context.cullFace.set(!1), + this.context.viewport.set([0, 0, this.width, this.height]), + this.context.blendEquation.set(t.FUNC_ADD)); + } + initDebugOverlayCanvas() { + if (this.debugOverlayCanvas == null) { + ((this.debugOverlayCanvas = document.createElement("canvas")), + (this.debugOverlayCanvas.width = 512), + (this.debugOverlayCanvas.height = 512)); + let t = this.context.gl; + this.debugOverlayTexture = new cd( + this.context, + this.debugOverlayCanvas, + t.RGBA, + ); + } + } + destroy() { + if (this._tileTextures) { + for (let t in this._tileTextures) { + let n = this._tileTextures[t]; + if (n) for (let r of n) r.destroy(); + } + this._tileTextures = {}; + } + if ( + (this.destroyRTTResources(), + this.layerOpacityFbo?.destroy(), + (this.layerOpacityFbo = null), + this.tileExtentBuffer && this.tileExtentBuffer.destroy(), + this.debugBuffer && this.debugBuffer.destroy(), + this.rasterBoundsBuffer && this.rasterBoundsBuffer.destroy(), + this.rasterBoundsBufferPosOnly && + this.rasterBoundsBufferPosOnly.destroy(), + this.viewportBuffer && this.viewportBuffer.destroy(), + this.tileBorderIndexBuffer && this.tileBorderIndexBuffer.destroy(), + this.quadTriangleIndexBuffer && + this.quadTriangleIndexBuffer.destroy(), + this.tileExtentMesh && this.tileExtentMesh.vertexBuffer?.destroy(), + this.tileExtentMesh && this.tileExtentMesh.indexBuffer?.destroy(), + this.debugOverlayTexture && this.debugOverlayTexture.destroy(), + RIr(this.context), + this.context.terrainUniformBuffer.destroy(), + this.context.frameUniformBuffer.destroy(), + this.cache) + ) { + for (let t in this.cache) { + let n = this.cache[t]; + n?.program && this.context.gl.deleteProgram(n.program); + } + this.cache = {}; + } + this.context && this.context.setDefault(); + } + overLimit() { + let { drawingBufferWidth: t, drawingBufferHeight: n } = this.context.gl; + return this.width !== t || this.height !== n; + } + }), + (ukr = class extends Error { + constructor(e, t) { + (super( + "WebGL2 is required to display this map. We are sorry, but it seems that your browser does not support WebGL2, a technology for rendering 3D graphics on the web. Read more on https://wiki.openstreetmap.org/wiki/This_map_requires_WebGL", + ), + (this.name = "GPUInitializationError"), + (this.requestedAttributes = e), + (this.statusMessage = t?.statusMessage ?? null)); + } + })); + ((QQ = { linearity: 0.3, easing: Afe(0, 0, 0.3, 1) }), + (pkr = rr({ deceleration: 2500, maxSpeed: 1400 }, QQ)), + (fkr = rr({ deceleration: 20, maxSpeed: 1400 }, QQ)), + (mkr = rr({ deceleration: 1000, maxSpeed: 360 }, QQ)), + (hkr = rr({ deceleration: 1000, maxSpeed: 90 }, QQ)), + (gkr = rr({ deceleration: 1000, maxSpeed: 360 }, QQ))); + Ckr = { 0: 1, 2: 2 }; + Mkr = class extends Ize { + constructor() { + (super(), (this._zoomRate = 1), (this._zoomThreshold = Vun)); + } + setZoomRate(e) { + this._zoomRate = e ?? 1; + } + setZoomThreshold(e) { + this._zoomThreshold = e ?? Vun; + } + reset() { + (super.reset(), delete this._distance, delete this._startDistance); + } + _start(e) { + this._startDistance = this._distance = e[0].dist(e[1]); + } + _move(e, t) { + let n = this._distance; + if ( + ((this._distance = e[0].dist(e[1])), + !( + !this._active && + Math.abs(Gun(this._distance, this._startDistance)) < + this._zoomThreshold + )) + ) + return ( + (this._active = !0), + { zoomDelta: Gun(this._distance, n) * this._zoomRate, pinchAround: t } + ); + } + }; + Dkr = class extends Ize { + reset() { + (super.reset(), + delete this._minDiameter, + delete this._startVector, + delete this._vector); + } + _start(e) { + ((this._startVector = this._vector = e[0].sub(e[1])), + (this._minDiameter = e[0].dist(e[1]))); + } + _move(e, t, n) { + let r = this._vector; + if ( + ((this._vector = e[0].sub(e[1])), + this._active || !this._isBelowThreshold(this._vector)) + ) + return ( + (this._active = !0), + { bearingDelta: qun(this._vector, r), pinchAround: t } + ); + } + _isBelowThreshold(e) { + this._minDiameter = Math.min(this._minDiameter, e.mag()); + let t = (25 / (Math.PI * this._minDiameter)) * 360, + n = qun(e, this._startVector); + return Math.abs(n) < t; + } + }; + ((Lkr = class extends Ize { + constructor(e) { + (super(), (this._currentTouchCount = 0), (this._map = e)); + } + reset() { + (super.reset(), + (this._valid = void 0), + delete this._firstMove, + delete this._lastPoints); + } + touchstart(e, t, n) { + (super.touchstart(e, t, n), (this._currentTouchCount = n.length)); + } + _start(e) { + ((this._lastPoints = e), YNe(e[0].sub(e[1])) && (this._valid = !1)); + } + _move(e, t, n) { + if ( + this._map.cooperativeGestures.isEnabled() && + this._currentTouchCount < 3 + ) + return; + let r = e[0].sub(this._lastPoints[0]), + o = e[1].sub(this._lastPoints[1]); + if ( + ((this._valid = this.gestureBeginsVertically(r, o, n.timeStamp)), + this._valid) + ) + return ( + (this._lastPoints = e), + (this._active = !0), + { pitchDelta: ((r.y + o.y) / 2) * -0.5 } + ); + } + gestureBeginsVertically(e, t, n) { + if (this._valid !== void 0) return this._valid; + let r = e.mag() >= 2, + o = t.mag() >= 2; + if (!r && !o) return; + if (!r || !o) + return ( + this._firstMove === void 0 && (this._firstMove = n), + n - this._firstMove < 100 && void 0 + ); + let a = e.y > 0 == t.y > 0; + return YNe(e) && YNe(t) && a; + } + }), + (Bkr = { panStep: 100, bearingStep: 15, pitchStep: 10 })); + Qkr = class extends JC {}; + ((Wkr = class extends Qp { + constructor(e) { + (super(), + (this._renderFrameCallback = () => { + let t = Math.min( + (vi() - this._easeStart) / this._easeOptions.duration, + 1, + ); + (this._onEaseFrame(this._easeOptions.easing(t)), + t < 1 && this._easeFrameId + ? (this._easeFrameId = this._requestRenderFrame( + this._renderFrameCallback, + )) + : this.stop()); + }), + (this.transform = new Tme()), + (this.cameraHelper = new kme()), + e.minZoom !== void 0 && this.transform.setMinZoom(e.minZoom), + e.maxZoom !== void 0 && this.transform.setMaxZoom(e.maxZoom), + e.minPitch !== void 0 && this.transform.setMinPitch(e.minPitch), + e.maxPitch !== void 0 && this.transform.setMaxPitch(e.maxPitch), + e.renderWorldCopies !== void 0 && + this.transform.setRenderWorldCopies(e.renderWorldCopies), + e.transformConstrain !== null && + this.transform.setConstrainOverride(e.transformConstrain), + (this._moving = !1), + (this._zooming = !1), + (this._bearingSnap = e.bearingSnap), + (this._zoomSnap = e.zoomSnap), + (this._requestRenderFrame = e.requestRenderFrame), + (this._cancelRenderFrame = e.cancelRenderFrame), + (this.terrain = e.terrain), + (this._centerClampedToGround = e.centerClampedToGround ?? !0), + (this.transformCameraUpdate = e.transformCameraUpdate ?? null), + (this._stopHandlers = e.stopHandlers ?? (() => {})), + this.on("moveend", () => { + delete this._requestedCameraState; + })); + } + setTerrain(e) { + ((this.terrain = e), this.applyTerrainChange()); + } + migrateProjection(e, t) { + if ( + (e.apply(this.transform, !0), + (this.transform = e), + (this.cameraHelper = t), + this._requestedCameraState) + ) { + let n = e.clone(); + (n.apply(this._requestedCameraState, !0), + (this._requestedCameraState = n)); + } + } + getCenter() { + return new pr(this.transform.center.lng, this.transform.center.lat); + } + setCenter(e, t) { + return this.jumpTo({ center: e }, t); + } + getCenterElevation() { + return this.transform.elevation; + } + setCenterElevation(e, t) { + return (this.jumpTo({ elevation: e }, t), this); + } + getCenterClampedToGround() { + return this._centerClampedToGround; + } + setCenterClampedToGround(e) { + this._centerClampedToGround = e; + } + panBy(e, t, n) { + return ( + (e = ft.convert(e).mult(-1)), + this.panTo(this.transform.center, rr({ offset: e }, t), n) + ); + } + panTo(e, t, n) { + return this.easeTo(rr({ center: e }, t), n); + } + getZoom() { + return this.transform.zoom; + } + setZoom(e, t) { + return (this.jumpTo({ zoom: e }, t), this); + } + zoomTo(e, t, n) { + return this.easeTo(rr({ zoom: e }, t), n); + } + zoomIn(e, t) { + return (this.zoomTo(P0(this.getZoom() + 1, this._zoomSnap), e, t), this); + } + zoomOut(e, t) { + return (this.zoomTo(P0(this.getZoom() - 1, this._zoomSnap), e, t), this); + } + getVerticalFieldOfView() { + return this.transform.fov; + } + setVerticalFieldOfView(e, t) { + return ( + e != this.transform.fov && + (this.applyTransformChange((n) => n.setFov(e)), + this.fire(new hr("movestart", t)) + .fire(new hr("move", t)) + .fire(new hr("moveend", t))), + this + ); + } + getBearing() { + return this.transform.bearing; + } + setZoomSnap(e) { + return ((this._zoomSnap = e), this); + } + getZoomSnap() { + return this._zoomSnap; + } + setBearing(e, t) { + return (this.jumpTo({ bearing: e }, t), this); + } + getPadding() { + return this.transform.padding; + } + setPadding(e, t) { + return (this.jumpTo({ padding: e }, t), this); + } + rotateTo(e, t, n) { + return this.easeTo(rr({ bearing: e }, t), n); + } + resetNorth(e, t) { + return (this.rotateTo(0, rr({ duration: 1000 }, e), t), this); + } + resetNorthPitch(e, t) { + return ( + this.easeTo( + rr({ bearing: 0, pitch: 0, roll: 0, duration: 1000 }, e), + t, + ), + this + ); + } + snapToNorth(e, t) { + return Math.abs(this.getBearing()) < this._bearingSnap + ? this.resetNorth(e, t) + : this; + } + getPitch() { + return this.transform.pitch; + } + setPitch(e, t) { + return (this.jumpTo({ pitch: e }, t), this); + } + getRoll() { + return this.transform.roll; + } + setRoll(e, t) { + return (this.jumpTo({ roll: e }, t), this); + } + cameraForBounds(e, t) { + e = Fw.convert(e).adjustAntiMeridian(); + let n = t?.bearing || 0; + return this._cameraForBoxAndBearing( + e.getNorthWest(), + e.getSouthEast(), + n, + t, + ); + } + _cameraForBoxAndBearing(e, t, n, r) { + let o = { top: 0, bottom: 0, right: 0, left: 0 }; + if ( + ((r = rr( + { padding: o, offset: [0, 0], maxZoom: this.transform.maxZoom }, + r, + )), + typeof r.padding == "number") + ) { + let c = r.padding; + r.padding = { top: c, bottom: c, right: c, left: c }; + } + let a = rr(o, r.padding); + r.padding = a; + let i = this.transform, + s = new Fw(e, t), + l = this.cameraHelper.cameraForBoxAndBearing(r, a, s, n, i); + return ( + l && this._zoomSnap && (l.zoom = P0(l.zoom, this._zoomSnap, -1)), + l + ); + } + fitBounds(e, t, n) { + return this._fitInternal(this.cameraForBounds(e, t), t, n); + } + fitScreenCoordinates(e, t, n, r, o) { + return this._fitInternal( + this._cameraForBoxAndBearing( + this.transform.screenPointToLocation(ft.convert(e)), + this.transform.screenPointToLocation(ft.convert(t)), + n, + r, + ), + r, + o, + ); + } + _fitInternal(e, t, n) { + return e + ? ((t = rr(e, t)), + delete t.padding, + t.linear ? this.easeTo(t, n) : this.flyTo(t, n)) + : this; + } + jumpTo(e, t) { + (this.stop(), + e.zoom !== void 0 && + this._zoomSnap && + (e.zoom = P0(e.zoom, this._zoomSnap))); + let n = this.getTransformForUpdate(), + r = !1, + o = !1, + a = !1, + i = n.zoom; + (this.terrain && + n.setElevation( + this.terrain.getElevationForLngLat( + e.center ? pr.convert(e.center) : n.center, + n, + ), + ), + this.cameraHelper.handleJumpToCenterZoom(n, e)); + let s = n.zoom !== i; + return ( + e.elevation !== void 0 && + n.elevation !== +e.elevation && + n.setElevation(+e.elevation), + e.bearing !== void 0 && + n.bearing !== +e.bearing && + ((r = !0), n.setBearing(+e.bearing)), + e.pitch !== void 0 && + n.pitch !== +e.pitch && + ((o = !0), n.setPitch(+e.pitch)), + e.roll !== void 0 && + n.roll !== +e.roll && + ((a = !0), n.setRoll(+e.roll)), + e.padding != null && + !n.isPaddingEqual(e.padding) && + n.setPadding(e.padding), + this.applyUpdatedTransform(n), + this.fire(new hr("movestart", t)).fire(new hr("move", t)), + s && + this.fire(new hr("zoomstart", t)) + .fire(new hr("zoom", t)) + .fire(new hr("zoomend", t)), + r && + this.fire(new hr("rotatestart", t)) + .fire(new hr("rotate", t)) + .fire(new hr("rotateend", t)), + o && + this.fire(new hr("pitchstart", t)) + .fire(new hr("pitch", t)) + .fire(new hr("pitchend", t)), + a && + this.fire(new hr("rollstart", t)) + .fire(new hr("roll", t)) + .fire(new hr("rollend", t)), + this.fire(new hr("moveend", t)) + ); + } + calculateAnchoredCameraOptions(e) { + let t = this.transform.clone(), + n = pr.convert(e.anchorLocation), + r = ft.convert(e.anchorScreenPoint), + o = { + panDelta: r.sub( + this.transform.locationToScreenPoint(n, this.terrain), + ), + zoomDelta: e.zoom === void 0 ? 0 : e.zoom - t.zoom, + bearingDelta: 0, + pitchDelta: 0, + rollDelta: 0, + around: r, + aroundElevation: this.terrain?.getElevationForLngLat(n, t), + }; + return ( + this.cameraHelper.handleMapControlsRollPitchBearingZoom(o, t), + this.cameraHelper.handleMapControlsPan(o, t, n), + { center: t.center, zoom: t.zoom } + ); + } + calculateCameraOptionsFromCameraLngLatAltRotation(e, t, n, r, o) { + let a = this.transform.calculateCenterFromCameraLngLatAlt(e, t, n, r); + return { + center: a.center, + elevation: a.elevation, + zoom: a.zoom, + bearing: n, + pitch: r, + roll: o, + }; + } + easeTo(e, t) { + (this._stop(!1, e.easeId), + (e = rr({ offset: [0, 0], duration: 500, easing: wfe }, e)), + e.zoom !== void 0 && + this._zoomSnap && + (e.zoom = P0(e.zoom, this._zoomSnap)), + (e.animate === !1 || (!e.essential && M0.prefersReducedMotion)) && + (e.duration = 0)); + let n = this.getTransformForUpdate(), + r = this.getBearing(), + { pitch: o, roll: a } = n, + i = e.bearing === void 0 ? r : this._normalizeBearing(e.bearing, r), + s = e.pitch === void 0 ? o : +e.pitch, + l = e.roll === void 0 ? a : this._normalizeBearing(e.roll, a), + c = e.padding === void 0 ? n.padding : e.padding, + u = ft.convert(e.offset), + d, + p; + e.around && + ((d = pr.convert(e.around)), (p = n.locationToScreenPoint(d))); + let f = { + moving: this._moving, + zooming: this._zooming, + rotating: this._rotating, + pitching: this._pitching, + rolling: this._rolling, + }, + m = this.cameraHelper.handleEaseTo(n, { + bearing: i, + pitch: s, + roll: l, + padding: c, + around: d, + aroundPoint: p, + offsetAsPoint: u, + offset: e.offset, + zoom: e.zoom, + center: e.center, + }); + return ( + (this._rotating ||= r !== i), + (this._pitching ||= s !== o), + (this._rolling ||= l !== a), + (this._padding = !n.isPaddingEqual(c)), + (this._zooming ||= m.isZooming), + (this._easeId = e.easeId), + this._prepareEase(t, e.noMoveStart, f), + this.terrain && this._prepareElevation(m.elevationCenter, n), + this._ease( + (g) => { + (m.easeFunc(g), + this.terrain && !e.freezeElevation && this._updateElevation(g, n), + this.applyUpdatedTransform(n), + this._fireMoveEvents(t)); + }, + (g) => { + (this.terrain && e.freezeElevation + ? this._finalizeElevation() + : (this.elevationFreeze = !1), + this._afterEase(t, g)); + }, + e, + ), + this + ); + } + _prepareEase(e, t, n = {}) { + ((this._moving = !0), + !t && !n.moving && this.fire(new hr("movestart", e)), + this._zooming && !n.zooming && this.fire(new hr("zoomstart", e)), + this._rotating && !n.rotating && this.fire(new hr("rotatestart", e)), + this._pitching && !n.pitching && this.fire(new hr("pitchstart", e)), + this._rolling && !n.rolling && this.fire(new hr("rollstart", e))); + } + _prepareElevation(e, t) { + ((this._elevationCenter = e), + (this._elevationStart = t.elevation), + (this._elevationTarget = this.terrain.getElevationForLngLat(e, t)), + (this.elevationFreeze = !0)); + } + _updateElevation(e, t) { + ((this._elevationStart === void 0 || this._elevationCenter === void 0) && + this._prepareElevation(t.center, t), + t.setMinElevationForCurrentTile( + this.terrain.getMinTileElevationForLngLatZoom( + this._elevationCenter, + t.tileZoom, + ), + )); + let n = this.terrain.getElevationForLngLat(this._elevationCenter, t); + if (e < 1 && n !== this._elevationTarget) { + let r = this._elevationTarget - this._elevationStart, + o = (n - (r * e + this._elevationStart)) / (1 - e); + ((this._elevationStart += e * (r - o)), (this._elevationTarget = n)); + } + t.setElevation(Hs.number(this._elevationStart, this._elevationTarget, e)); + } + _finalizeElevation() { + ((this.elevationFreeze = !1), + this.getCenterClampedToGround() && + this.transform.recalculateZoomAndCenter(this.terrain)); + } + applyTerrainChange() { + if (this.elevationFreeze) return; + let e = this.transform; + (e.setMinElevationForCurrentTile( + this.terrain + ? this.terrain.getMinTileElevationForLngLatZoom(e.center, e.tileZoom) + : 0, + ), + this.getCenterClampedToGround() && + e.setElevation( + this.terrain ? this.terrain.getElevationForLngLat(e.center, e) : 0, + )); + } + getTransformForUpdate() { + return !this.transformCameraUpdate && !this.terrain + ? this.transform + : ((this._requestedCameraState ||= this.transform.clone()), + this._requestedCameraState); + } + _elevateCameraIfInsideTerrain(e) { + if (!this.terrain && e.elevation >= 0 && e.pitch <= 90) return {}; + let t = e.getCameraLngLat(), + n = e.getCameraAltitude(), + r = this.terrain + ? this.terrain.getElevationForLngLatZoom(t, e.zoom) + : 0; + if (n < r) { + let o = e.calculateCameraOptionsFromTo(t, r, e.center, e.elevation); + return { pitch: o.pitch, zoom: o.zoom }; + } + return {}; + } + applyUpdatedTransform(e) { + let t = []; + if ( + (t.push((r) => this._elevateCameraIfInsideTerrain(r)), + this.transformCameraUpdate && + t.push((r) => this.transformCameraUpdate(r)), + !t.length) + ) + return; + let n = e.clone(); + for (let r of t) { + let o = n.clone(), + { + center: a, + zoom: i, + roll: s, + pitch: l, + bearing: c, + elevation: u, + } = r(o); + (a && o.setCenter(a), + u !== void 0 && o.setElevation(u), + i !== void 0 && o.setZoom(i), + s !== void 0 && o.setRoll(s), + l !== void 0 && o.setPitch(l), + c !== void 0 && o.setBearing(c), + n.apply(o, !1)); + } + this.transform.apply(n, !1); + } + applyTransformChange(e) { + let t = this._requestedCameraState !== void 0, + n = this.getTransformForUpdate(); + (e(n), + this.applyUpdatedTransform(n), + t || delete this._requestedCameraState); + } + _fireMoveEvents(e) { + (this.fire(new hr("move", e)), + this._zooming && this.fire(new hr("zoom", e)), + this._rotating && this.fire(new hr("rotate", e)), + this._pitching && this.fire(new hr("pitch", e)), + this._rolling && this.fire(new hr("roll", e))); + } + _afterEase(e, t) { + if (this._easeId && t && this._easeId === t) return; + delete this._easeId; + let n = this._zooming, + r = this._rotating, + o = this._pitching, + a = this._rolling; + ((this._moving = !1), + (this._zooming = !1), + (this._rotating = !1), + (this._pitching = !1), + (this._rolling = !1), + (this._padding = !1), + n && this.fire(new hr("zoomend", e)), + r && this.fire(new hr("rotateend", e)), + o && this.fire(new hr("pitchend", e)), + a && this.fire(new hr("rollend", e)), + this.fire(new hr("moveend", e))); + } + flyTo(e, t) { + if (!e.essential && M0.prefersReducedMotion) { + let U = qL(e, [ + "center", + "zoom", + "bearing", + "pitch", + "roll", + "elevation", + "padding", + ]); + return this.jumpTo(U, t); + } + (this.stop(), + (e = rr({ offset: [0, 0], speed: 1.2, curve: 1.42, easing: wfe }, e)), + e.zoom !== void 0 && + this._zoomSnap && + (e.zoom = P0(e.zoom, this._zoomSnap))); + let n = this.getTransformForUpdate(), + { bearing: r, pitch: o, roll: a, padding: i } = n, + s = e.bearing === void 0 ? r : this._normalizeBearing(e.bearing, r), + l = e.pitch === void 0 ? o : +e.pitch, + c = e.roll === void 0 ? a : this._normalizeBearing(e.roll, a), + u = e.padding === void 0 ? n.padding : e.padding, + d = ft.convert(e.offset), + p = n.centerPoint.add(d), + f = n.screenPointToLocation(p), + m = this.cameraHelper.handleFlyTo(n, { + bearing: s, + pitch: l, + roll: c, + padding: u, + locationAtOffset: f, + offsetAsPoint: d, + center: e.center, + minZoom: e.minZoom, + zoom: e.zoom, + }), + g = e.curve, + v = Math.max(n.width, n.height), + y = v / m.scaleOfZoom, + x = m.pixelPathLength, + A = v / m.scaleOfMinZoom; + g = Math.min(g, Math.sqrt((A / x) * 2)); + let w = g * g; + function C(U) { + let D = + (y * y - v * v + (U ? -1 : 1) * w * w * x * x) / + (2 * (U ? y : v) * w * x); + return Math.log(Math.sqrt(D * D + 1) - D); + } + function E(U) { + return (Math.exp(U) - Math.exp(-U)) / 2; + } + function T(U) { + return (Math.exp(U) + Math.exp(-U)) / 2; + } + function I(U) { + return E(U) / T(U); + } + let k = C(!1), + L = function (U) { + return T(k) / T(k + g * U); + }, + O = function (U) { + return (v * ((T(k) * I(k + g * U) - E(k)) / w)) / x; + }, + B = (C(!0) - k) / g; + if (Math.abs(x) < 0.000002 || !isFinite(B)) { + if (Math.abs(v - y) < 0.000001) return this.easeTo(e, t); + let U = y < v ? -1 : 1; + ((B = Math.abs(Math.log(y / v)) / g), + (O = () => 0), + (L = (D) => Math.exp(U * g * D))); + } + if (e.duration !== void 0) e.duration = +e.duration; + else { + let U = e.screenSpeed === void 0 ? +e.speed : +e.screenSpeed / g; + e.duration = (1000 * B) / U; + } + return ( + e.maxDuration && e.duration > e.maxDuration && (e.duration = 0), + (this._zooming = !0), + (this._rotating = r !== s), + (this._pitching = l !== o), + (this._rolling = c !== a), + (this._padding = !n.isPaddingEqual(u)), + this._prepareEase(t, !1), + this.terrain && this._prepareElevation(m.targetCenter, n), + this._ease( + (U) => { + let D = U * B, + N = 1 / L(D), + _ = O(D); + (this._rotating && n.setBearing(Hs.number(r, s, U)), + this._pitching && n.setPitch(Hs.number(o, l, U)), + this._rolling && n.setRoll(Hs.number(a, c, U)), + this._padding && + (n.interpolatePadding(i, u, U), (p = n.centerPoint.add(d))), + m.easeFunc(U, N, _, p), + this.terrain && !e.freezeElevation && this._updateElevation(U, n), + this.applyUpdatedTransform(n), + this._fireMoveEvents(t)); + }, + () => { + (this.terrain && e.freezeElevation + ? this._finalizeElevation() + : (this.elevationFreeze = !1), + this._afterEase(t)); + }, + e, + ), + this + ); + } + isEasing() { + return !!this._easeFrameId; + } + stop(e) { + return this._stop(e); + } + _stop(e, t) { + if ( + (this._easeFrameId && + (this._cancelRenderFrame(this._easeFrameId), + delete this._easeFrameId, + delete this._onEaseFrame), + this._onEaseEnd) + ) { + let n = this._onEaseEnd; + (delete this._onEaseEnd, n.call(this, t)); + } + return (e || this._stopHandlers(), this); + } + _ease(e, t, n) { + n.animate === !1 || n.duration === 0 + ? (e(1), t()) + : ((this._easeStart = vi()), + (this._easeOptions = n), + (this._onEaseFrame = e), + (this._onEaseEnd = t), + (this._easeFrameId = this._requestRenderFrame( + this._renderFrameCallback, + ))); + } + _normalizeBearing(e, t) { + e = jg(e, -180, 180); + let n = Math.abs(e - t); + return ( + Math.abs(e - 360 - t) < n && (e -= 360), + Math.abs(e + 360 - t) < n && (e += 360), + e + ); + } + isMoving() { + return this._moving; + } + isZooming() { + return this._zooming; + } + isRotating() { + return this._rotating; + } + }), + (Kdn = { + compact: !0, + customAttribution: + 'MapLibre', + }), + (Qun = ["none", "zoom", "sourceTiles", "visibleLayers", "revision"]), + (tB = { + background: !0, + fill: !0, + line: !0, + raster: !0, + hillshade: !0, + "color-relief": !0, + }), + (eRr = { + "AttributionControl.ToggleAttribution": "Toggle attribution", + "AttributionControl.MapFeedback": "Map feedback", + "FullscreenControl.Enter": "Enter fullscreen", + "FullscreenControl.Exit": "Exit fullscreen", + "GeolocateControl.FindMyLocation": "Find my location", + "GeolocateControl.LocationNotAvailable": "Location not available", + "LogoControl.Title": "MapLibre logo", + "Map.Title": "Map", + "Marker.Title": "Map marker", + "NavigationControl.ResetBearing": + "Drag to rotate map, click to reset north", + "NavigationControl.ZoomIn": "Zoom in", + "NavigationControl.ZoomOut": "Zoom out", + "Popup.Close": "Close popup", + "ScaleControl.Feet": "ft", + "ScaleControl.Meters": "m", + "ScaleControl.Kilometers": "km", + "ScaleControl.Miles": "mi", + "ScaleControl.NauticalMiles": "nm", + "GlobeControl.Enable": "Enable globe", + "GlobeControl.Disable": "Disable globe", + "TerrainControl.Enable": "Enable terrain", + "TerrainControl.Disable": "Disable terrain", + "CooperativeGesturesHandler.WindowsHelpText": + "Use Ctrl + scroll to zoom the map", + "CooperativeGesturesHandler.MacHelpText": + "Use ⌘ + scroll to zoom the map", + "CooperativeGesturesHandler.MobileHelpText": + "Use two fingers to move the map", + }), + (tRr = E5r), + (Xun = { + hash: !1, + interactive: !0, + bearingSnap: 7, + zoomSnap: 0, + attributionControl: Kdn, + maplibreLogo: !1, + refreshExpiredTiles: !0, + canvasContextAttributes: { + antialias: !1, + preserveDrawingBuffer: !1, + powerPreference: "high-performance", + failIfMajorPerformanceCaveat: !1, + desynchronized: !1, + contextType: void 0, + }, + scrollZoom: !0, + minZoom: -2, + maxZoom: 22, + minPitch: 0, + maxPitch: 60, + boxZoom: !0, + dragRotate: !0, + dragPan: !0, + keyboard: !0, + doubleClickZoom: !0, + touchZoomRotate: !0, + touchPitch: !0, + cooperativeGestures: !1, + trackResize: !0, + center: [0, 0], + elevation: 0, + zoom: 0, + bearing: 0, + pitch: 0, + roll: 0, + renderWorldCopies: !0, + maxTileCacheSize: null, + maxTileCacheZoomLevels: KT.MAX_TILE_CACHE_ZOOM_LEVELS, + transformRequest: null, + transformCameraUpdate: null, + transformConstrain: null, + fadeDuration: 300, + crossSourceCollisions: !0, + clickTolerance: 3, + localIdeographFontFamily: "sans-serif", + pitchWithRotate: !0, + rollEnabled: !1, + rotateSpeed: 0.8, + pitchSpeed: -0.5, + reduceMotion: void 0, + validateStyle: !0, + maxCanvasSize: [4096, 4096], + cancelPendingTileRequestsWhileZooming: !0, + centerClampedToGround: !0, + terrainSkirtLength: "auto", + zoomLevelsToOverscale: 4, + anisotropicFilterPitch: 20, + }), + (nRr = class extends Qp { + get _ownerWindow() { + return this._container?.ownerDocument?.defaultView || window; + } + constructor(e) { + (super(), + (this._idleTriggered = !1), + (this._crossFadingFactor = 1), + (this._renderTaskQueue = new Jkr()), + (this._controls = []), + (this._mapId = yUe()), + (this._styleUrl = null), + (this._missingStyleImageResolver = null), + (this._lostContextStyle = { style: null, images: null }), + (this._contextLost = (o) => { + if ( + (o.preventDefault(), + (this._frameRequest &&= (this._frameRequest.abort(), null)), + this.painter.destroy(), + (this._lostContextStyle = this._getStyleAndImages()), + !this.style) + ) { + this.fire(new BNe("webglcontextlost", { originalEvent: o })); + return; + } + for (let a of Object.values(this.style._layers)) + if ( + (a.type === "custom" && + console.warn( + `Custom layer with id '${a.id}' cannot be restored after WebGL context loss. You will need to re-add it manually after context restoration.`, + ), + a._listeners) + ) + for (let [i] of Object.entries(a._listeners)) + console.warn( + `Custom layer with id '${a.id}' had event listeners for event '${i}' which cannot be restored after WebGL context loss. You will need to re-add them manually after context restoration.`, + ); + (this.style.destroy(), + (this.style = null), + this.fire(new BNe("webglcontextlost", { originalEvent: o }))); + }), + (this._contextRestored = (o) => { + if ( + (this._lostContextStyle.style && + this.setStyle(this._lostContextStyle.style, { diff: !1 }), + this._lostContextStyle.images && this.style) + ) { + this.style.imageManager.images = this._lostContextStyle.images; + for (let a in this._lostContextStyle.images) { + let i = this._lostContextStyle.images[a]; + i.isWebGLImage && this.style.imageManager.updateImage(a, i, !1); + } + } + this._lostContextStyle = { style: null, images: null }; + try { + this._setupPainter(); + } catch (a) { + this.fire(new lr(a)); + return; + } + (this.resize(), + this._update(), + this._resizeInternal(), + this.fire(new BNe("webglcontextrestored", { originalEvent: o }))); + }), + (this._onMapScroll = (o) => { + if (o.target === this._container) + return ( + (this._container.scrollTop = 0), + (this._container.scrollLeft = 0), + !1 + ); + }), + (this._onWindowOnline = () => { + this._update(); + })); + let t = { + ...Xun, + ...e, + canvasContextAttributes: { + ...Xun.canvasContextAttributes, + ...e.canvasContextAttributes, + }, + }; + if (t.minZoom != null && t.maxZoom != null && t.minZoom > t.maxZoom) + throw Error("maxZoom must be greater than or equal to minZoom"); + if (t.minPitch != null && t.maxPitch != null && t.minPitch > t.maxPitch) + throw Error("maxPitch must be greater than or equal to minPitch"); + if (t.minPitch != null && t.minPitch < 0) + throw Error("minPitch must be greater than or equal to 0"); + if (t.maxPitch != null && t.maxPitch > 180) + throw Error("maxPitch must be less than or equal to 180"); + ((this._camera = new Wkr({ + minZoom: t.minZoom, + maxZoom: t.maxZoom, + minPitch: t.minPitch, + maxPitch: t.maxPitch, + bearingSnap: t.bearingSnap, + zoomSnap: t.zoomSnap, + renderWorldCopies: t.renderWorldCopies, + centerClampedToGround: t.centerClampedToGround, + terrain: this.terrain, + transformConstrain: t.transformConstrain, + requestRenderFrame: (o) => this._requestRenderFrame(o), + cancelRenderFrame: (o) => this._cancelRenderFrame(o), + transformCameraUpdate: t.transformCameraUpdate, + stopHandlers: () => this._handlers?.stop(!1), + })), + this._camera.setEventedParent(this), + (this._interactive = t.interactive), + (this._maxTileCacheSize = t.maxTileCacheSize), + (this._maxTileCacheZoomLevels = t.maxTileCacheZoomLevels), + (this._canvasContextAttributes = { ...t.canvasContextAttributes }), + (this._trackResize = t.trackResize === !0), + (this._terrainSkirtLength = t.terrainSkirtLength), + (this._refreshExpiredTiles = t.refreshExpiredTiles === !0), + (this._fadeDuration = t.fadeDuration), + (this._crossSourceCollisions = t.crossSourceCollisions === !0), + (this._collectResourceTiming = t.collectResourceTiming === !0), + (this._locale = { ...eRr, ...t.locale }), + (this._clickTolerance = t.clickTolerance), + (this._overridePixelRatio = t.pixelRatio), + (this._maxCanvasSize = t.maxCanvasSize), + (this._zoomLevelsToOverscale = t.zoomLevelsToOverscale), + (this.cancelPendingTileRequestsWhileZooming = + t.cancelPendingTileRequestsWhileZooming === !0), + this.setAnisotropicFilterPitch(t.anisotropicFilterPitch), + t.reduceMotion !== void 0 && + (M0.prefersReducedMotion = t.reduceMotion), + (this._requestManager = new B5r(t.transformRequest)), + (this._container = this._resolveContainer(t.container)), + t.maxBounds && this.setMaxBounds(t.maxBounds), + this._setupContainer()); + try { + this._setupPainter(); + } catch (o) { + throw (this._cleanupContainer(), o); + } + ((this._imageQueueHandle = Xx.addThrottleControl(() => + this.isMoving(), + )), + this.on("move", () => this._update(!1)), + this.on("moveend", () => this._update(!1)), + this.on("zoom", () => this._update(!0)), + this.on("terrain", () => { + (this.painter.markTerrainDepthDirty(), this._update(!0)); + }), + this.once("idle", () => (this._idleTriggered = !0)), + (this._handlers = new Xkr(this, this._camera, t)), + typeof window < "u" && + (this._ownerWindow.addEventListener( + "online", + this._onWindowOnline, + !1, + ), + this._setupResizeObserver())); + let n = (typeof t.hash == "string" && t.hash) || void 0; + ((this._hash = t.hash ? new dkr(n).addTo(this) : void 0), + this._hash?._onHashChange() || + (this.jumpTo({ + center: t.center, + elevation: t.elevation, + zoom: t.zoom, + bearing: t.bearing, + pitch: t.pitch, + roll: t.roll, + }), + t.bounds && + (this.resize(), + this.fitBounds( + t.bounds, + rr({}, t.fitBoundsOptions, { duration: 0 }), + )))); + let r = + typeof t.style == "string" || t.style?.projection?.type !== "globe"; + (this.resize(null, r), + (this._localIdeographFontFamily = t.localIdeographFontFamily), + (this._validateStyle = t.validateStyle), + t.style && + this.setStyle(t.style, { + localIdeographFontFamily: t.localIdeographFontFamily, + }), + t.attributionControl && + this.addControl( + new Ykr( + typeof t.attributionControl == "boolean" + ? void 0 + : t.attributionControl, + ), + ), + t.maplibreLogo && this.addControl(new Kkr(), t.logoPosition), + this.on("style.load", () => { + if ( + (r || this._resizeTransform(), this._camera.transform.unmodified) + ) { + let o = qL(this.style.stylesheet, [ + "center", + "zoom", + "bearing", + "pitch", + "roll", + ]); + this.jumpTo(o); + } + }), + this.on("data", (o) => { + (this._update(o.dataType === "style"), + this.fire( + o.dataType === "style" + ? new wv("styledata", o) + : new Gs("sourcedata", o), + )); + }), + this.on("dataloading", (o) => { + this.fire( + o.dataType === "style" + ? new wv("styledataloading", o) + : new Gs("sourcedataloading", o), + ); + }), + this.on("dataabort", (o) => { + this.fire(new Gs("sourcedataabort", o)); + })); + } + _getMapId() { + return this._mapId; + } + setGlobalStateProperty(e, t) { + return (this.style.setGlobalStateProperty(e, t), this._update(!0)); + } + getGlobalState() { + return this.style.getGlobalState(); + } + addControl(e, t) { + if ( + (t === void 0 && + (t = e.getDefaultPosition ? e.getDefaultPosition() : "top-right"), + !e?.onAdd) + ) + return this.fire( + new lr( + Error( + "Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.", + ), + ), + ); + let n = e.onAdd(this); + this._controls.push(e); + let r = this._controlPositions[t]; + return ( + t.includes("bottom") + ? r.insertBefore(n, r.firstChild) + : r.appendChild(n), + this + ); + } + removeControl(e) { + if (!e?.onRemove) + return this.fire( + new lr( + Error( + "Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.", + ), + ), + ); + let t = this._controls.indexOf(e); + return (t > -1 && this._controls.splice(t, 1), e.onRemove(this), this); + } + hasControl(e) { + return this._controls.includes(e); + } + coveringTiles(e) { + return iB(this._camera.transform, e); + } + setTransformCameraUpdate(e) { + this._camera.transformCameraUpdate = e; + } + getCenter() { + return new pr( + this._camera.transform.center.lng, + this._camera.transform.center.lat, + ); + } + setCenter(e, t) { + return (this._camera.setCenter(e, t), this); + } + getCenterElevation() { + return this._camera.transform.elevation; + } + setCenterElevation(e, t) { + return (this._camera.setCenterElevation(e, t), this); + } + setCenterClampedToGround(e) { + this._camera.setCenterClampedToGround(e); + } + panBy(e, t, n) { + return (this._camera.panBy(e, t, n), this); + } + panTo(e, t, n) { + return (this._camera.panTo(e, t, n), this); + } + getZoom() { + return this._camera.transform.zoom; + } + setZoom(e, t) { + return (this._camera.setZoom(e, t), this); + } + zoomTo(e, t, n) { + return (this._camera.zoomTo(e, t, n), this); + } + zoomIn(e, t) { + return (this._camera.zoomIn(e, t), this); + } + zoomOut(e, t) { + return (this._camera.zoomOut(e, t), this); + } + getVerticalFieldOfView() { + return this._camera.transform.fov; + } + setVerticalFieldOfView(e, t) { + return (this._camera.setVerticalFieldOfView(e, t), this); + } + getBearing() { + return this._camera.transform.bearing; + } + setBearing(e, t) { + return (this._camera.setBearing(e, t), this); + } + getZoomSnap() { + return this._camera.getZoomSnap(); + } + setZoomSnap(e) { + return (this._camera.setZoomSnap(e), this); + } + getPadding() { + return this._camera.transform.padding; + } + setPadding(e, t) { + return (this._camera.setPadding(e, t), this); + } + rotateTo(e, t, n) { + return (this._camera.rotateTo(e, t, n), this); + } + resetNorth(e, t) { + return (this._camera.resetNorth(e, t), this); + } + resetNorthPitch(e, t) { + return (this._camera.resetNorthPitch(e, t), this); + } + snapToNorth(e, t) { + return (this._camera.snapToNorth(e, t), this); + } + getPitch() { + return this._camera.transform.pitch; + } + setPitch(e, t) { + return (this._camera.setPitch(e, t), this); + } + getRoll() { + return this._camera.transform.roll; + } + setRoll(e, t) { + return (this._camera.setRoll(e, t), this); + } + cameraForBounds(e, t) { + return this._camera.cameraForBounds(e, t); + } + fitBounds(e, t, n) { + return (this._camera.fitBounds(e, t, n), this); + } + fitScreenCoordinates(e, t, n, r, o) { + return (this._camera.fitScreenCoordinates(e, t, n, r, o), this); + } + jumpTo(e, t) { + return (this._camera.jumpTo(e, t), this); + } + calculateAnchoredCameraOptions(e) { + return this._camera.calculateAnchoredCameraOptions(e); + } + calculateCameraOptionsFromCameraLngLatAltRotation(e, t, n, r, o) { + return this._camera.calculateCameraOptionsFromCameraLngLatAltRotation( + e, + t, + n, + r, + o, + ); + } + easeTo(e, t) { + return (this._camera.easeTo(e, t), this); + } + flyTo(e, t) { + return (this._camera.flyTo(e, t), this); + } + stop() { + return (this._camera.stop(), this); + } + queryTerrainElevation(e) { + return this.terrain + ? this.terrain.getElevationForLngLat( + pr.convert(e), + this._camera.transform, + ) + : null; + } + getCenterClampedToGround() { + return this._camera.getCenterClampedToGround(); + } + calculateCameraOptionsFromTo(e, t, n, r) { + return ( + r == null && + this.terrain && + (r = this.terrain.getElevationForLngLat(n, this._camera.transform)), + this._camera.transform.calculateCameraOptionsFromTo(e, t, n, r ?? 0) + ); + } + resize(e, t = !0) { + if (this._lostContextStyle.style !== null) return this; + this._resizeInternal(t); + let n = !this._camera._moving; + return ( + n && + (this.stop(), + this.fire(new hr("movestart", e)).fire(new hr("move", e))), + this.fire(new Yp("resize", e)), + n && this.fire(new hr("moveend", e)), + this + ); + } + _resizeInternal(e = !0) { + let [t, n] = this._containerDimensions(), + r = this._getClampedPixelRatio(t, n); + if ( + (this._resizeCanvas(t, n, r), + this.painter.resize(t, n, r), + this.painter.overLimit()) + ) { + let o = this.painter.context.gl; + this._maxCanvasSize = [o.drawingBufferWidth, o.drawingBufferHeight]; + let a = this._getClampedPixelRatio(t, n); + (this._resizeCanvas(t, n, a), this.painter.resize(t, n, a)); + } + this._resizeTransform(e); + } + _resizeTransform(e = !0) { + let [t, n] = this._containerDimensions(); + (this._camera.transform.resize(t, n, e), + this._camera._requestedCameraState?.resize(t, n, e)); + } + _getClampedPixelRatio(e, t) { + let { 0: n, 1: r } = this._maxCanvasSize, + o = this.getPixelRatio(), + a = e * o, + i = t * o, + s = a > n ? n / a : 1, + l = i > r ? r / i : 1, + c = Math.min(s, l); + return ( + c < 1 && + Ko( + "The canvas is larger than maxCanvasSize and is rendered at a lower pixel ratio to fit. Increase maxCanvasSize, within MAX_TEXTURE_SIZE, to render at full resolution.", + ), + c * o + ); + } + getPixelRatio() { + return this._overridePixelRatio ?? devicePixelRatio; + } + setPixelRatio(e) { + ((this._overridePixelRatio = e), this.resize()); + } + getBounds() { + return this._camera.transform.getBounds(); + } + getMaxBounds() { + return this._camera.transform.getMaxBounds(); + } + setMaxBounds(e) { + return ( + this._camera.applyTransformChange((t) => + t.setMaxBounds(Fw.convert(e)), + ), + this._update() + ); + } + setMinZoom(e) { + if (((e ??= -2), e >= -2 && e <= this._camera.transform.maxZoom)) { + let t = this._camera.transform.zoom; + return ( + this._camera.applyTransformChange((n) => n.setMinZoom(e)), + this._update(), + t !== this._camera.transform.zoom && + this.fire(new hr("zoomstart")) + .fire(new hr("zoom")) + .fire(new hr("zoomend")) + .fire(new hr("movestart")) + .fire(new hr("move")) + .fire(new hr("moveend")), + this + ); + } + throw Error( + "minZoom must be between -2 and the current maxZoom, inclusive", + ); + } + getMinZoom(e = !1) { + let t = this._camera.transform; + return e ? t.applyConstrain(t.center, t.minZoom).zoom : t.minZoom; + } + setMaxZoom(e) { + if (((e ??= 22), e >= this._camera.transform.minZoom)) { + let t = this._camera.transform.zoom; + return ( + this._camera.applyTransformChange((n) => n.setMaxZoom(e)), + this._update(), + t !== this._camera.transform.zoom && + this.fire(new hr("zoomstart")) + .fire(new hr("zoom")) + .fire(new hr("zoomend")) + .fire(new hr("movestart")) + .fire(new hr("move")) + .fire(new hr("moveend")), + this + ); + } + throw Error("maxZoom must be greater than the current minZoom"); + } + getMaxZoom() { + return this._camera.transform.maxZoom; + } + setMinPitch(e) { + if (((e ??= 0), e < 0)) + throw Error("minPitch must be greater than or equal to 0"); + if (e >= 0 && e <= this._camera.transform.maxPitch) { + let t = this._camera.transform.pitch; + return ( + this._camera.applyTransformChange((n) => n.setMinPitch(e)), + this._update(), + t !== this._camera.transform.pitch && + this.fire(new hr("pitchstart")) + .fire(new hr("pitch")) + .fire(new hr("pitchend")) + .fire(new hr("movestart")) + .fire(new hr("move")) + .fire(new hr("moveend")), + this + ); + } + throw Error( + "minPitch must be between 0 and the current maxPitch, inclusive", + ); + } + getMinPitch() { + return this._camera.transform.minPitch; + } + setMaxPitch(e) { + if (((e ??= 60), e > 180)) + throw Error("maxPitch must be less than or equal to 180"); + if (e >= this._camera.transform.minPitch) { + let t = this._camera.transform.pitch; + return ( + this._camera.applyTransformChange((n) => n.setMaxPitch(e)), + this._update(), + t !== this._camera.transform.pitch && + this.fire(new hr("pitchstart")) + .fire(new hr("pitch")) + .fire(new hr("pitchend")) + .fire(new hr("movestart")) + .fire(new hr("move")) + .fire(new hr("moveend")), + this + ); + } + throw Error("maxPitch must be greater than the current minPitch"); + } + getMaxPitch() { + return this._camera.transform.maxPitch; + } + getAnisotropicFilterPitch() { + return this._anisotropicFilterPitch; + } + setAnisotropicFilterPitch(e) { + if (((e ??= 20), e > 180)) + throw Error( + "anisotropicFilterPitch must be less than or equal to 180", + ); + if (e < 0) + throw Error( + "anisotropicFilterPitch must be greater than or equal to 0", + ); + return ((this._anisotropicFilterPitch = e), this._update()); + } + getRenderWorldCopies() { + return this._camera.transform.renderWorldCopies; + } + setRenderWorldCopies(e) { + return ( + this._camera.applyTransformChange((t) => t.setRenderWorldCopies(e)), + this._update() + ); + } + setTransformConstrain(e) { + return ( + this._camera.applyTransformChange((t) => t.setConstrainOverride(e)), + this._update() + ); + } + project(e) { + return this._camera.transform.locationToScreenPoint( + pr.convert(e), + this.style && this.terrain, + ); + } + unproject(e) { + return this._camera.transform.screenPointToLocation( + ft.convert(e), + this.terrain, + ); + } + isMoving() { + return this._camera.isMoving() || this._handlers?.isMoving() || !1; + } + isZooming() { + return this._camera.isZooming() || this._handlers?.isZooming() || !1; + } + isRotating() { + return this._camera.isRotating() || this._handlers?.isRotating() || !1; + } + _createDelegates(e, t, n) { + if (e === "mouseenter" || e === "mouseover") { + let r = !1; + return { + mousemove: (o) => { + let a = t.filter((s) => this.getLayer(s)), + i = + a.length === 0 + ? [] + : this.queryRenderedFeatures(o.point, { layers: a }); + i.length + ? r || + ((r = !0), + n.call( + this, + new t1(e, this, o.originalEvent, { features: i }), + )) + : (r = !1); + }, + mouseout: () => { + r = !1; + }, + }; + } + if (e === "mouseleave" || e === "mouseout") { + let r = !1; + return { + mousemove: (o) => { + let a = t.filter((i) => this.getLayer(i)); + (a.length === 0 + ? [] + : this.queryRenderedFeatures(o.point, { layers: a }) + ).length + ? (r = !0) + : r && + ((r = !1), n.call(this, new t1(e, this, o.originalEvent))); + }, + mouseout: (o) => { + r && ((r = !1), n.call(this, new t1(e, this, o.originalEvent))); + }, + }; + } + { + let r = (o) => { + let a = t.filter((s) => this.getLayer(s)), + i = + a.length === 0 + ? [] + : this.queryRenderedFeatures(o.point, { layers: a }); + i.length && ((o.features = i), n.call(this, o), delete o.features); + }; + return { [e]: r }; + } + } + _addDelegatedListener(e, t) { + ((this._delegatedListeners ||= {}), + (this._delegatedListeners[e] ||= []), + this._delegatedListeners[e].push(t)); + for (let n in t.delegates) this.on(n, t.delegates[n]); + } + _removeDelegatedListener(e, t, n) { + if (!this._delegatedListeners?.[e]) return; + let r = this._delegatedListeners[e]; + for (let o = 0; o < r.length; o++) { + let a = r[o]; + if ( + a.listener === n && + a.layers.length === t.length && + a.layers.every((i) => t.includes(i)) + ) { + for (let i in a.delegates) this.off(i, a.delegates[i]); + r.splice(o, 1); + return; + } + } + } + on(e, t, n) { + if (n === void 0) return super.on(e, t); + let r = typeof t == "string" ? [t] : t, + o = { + layers: r, + listener: n, + delegates: this._createDelegates(e, r, n), + }; + return ( + this._addDelegatedListener(e, o), + { + unsubscribe: () => { + this._removeDelegatedListener(e, r, n); + }, + } + ); + } + once(e, t, n) { + if (n === void 0) return super.once(e, t); + let r = typeof t == "string" ? [t] : t, + o = { + layers: r, + listener: n, + delegates: this._createDelegates(e, r, (a) => { + (this._removeDelegatedListener(e, r, n), n.call(this, a)); + }), + }; + return (this._addDelegatedListener(e, o), this); + } + off(e, t, n) { + if (n === void 0) return super.off(e, t); + let r = typeof t == "string" ? [t] : t; + return (this._removeDelegatedListener(e, r, n), this); + } + queryRenderedFeatures(e, t) { + if (!this.style) return []; + let n, + r = e instanceof ft || Array.isArray(e), + o = r + ? e + : [ + [0, 0], + [this._camera.transform.width, this._camera.transform.height], + ]; + if ( + ((t ||= (r ? {} : e) || {}), + o instanceof ft || typeof o[0] == "number") + ) + n = [ft.convert(o)]; + else { + let a = ft.convert(o[0]), + i = ft.convert(o[1]); + n = [a, new ft(i.x, a.y), i, new ft(a.x, i.y), a]; + } + return this.style.queryRenderedFeatures(n, t, this._camera.transform); + } + querySourceFeatures(e, t) { + return this.style.querySourceFeatures(e, t); + } + setStyle(e, t) { + return ( + (t = rr( + {}, + { + localIdeographFontFamily: this._localIdeographFontFamily, + validate: this._validateStyle, + }, + t, + )), + (this._styleUrl = typeof e == "string" ? e : null), + t.diff !== !1 && + t.localIdeographFontFamily === this._localIdeographFontFamily && + this.style && + e + ? (this._diffStyle(e, t), this) + : ((this._localIdeographFontFamily = t.localIdeographFontFamily), + this._updateStyle(e, t)) + ); + } + setTransformRequest(e) { + return (this._requestManager.setTransformRequest(e), this); + } + _getUIString(e) { + let t = this._locale[e]; + if (t == null) throw Error(`Missing UI string '${e}'`); + return t; + } + _updateStyle(e, t) { + if ( + (this._diffStyleRequest?.abort(), + (this._diffStyleRequest = null), + t.transformStyle && this.style && !this.style._loaded) + ) { + this.style.once("style.load", () => this._updateStyle(e, t)); + return; + } + let n = + this.style && t.transformStyle ? this.style.serialize() : void 0; + if ( + (this.style && + (this.style.setEventedParent(null), this.style._remove(!e)), + e) + ) + this.style = new Run(this, t || {}); + else + return ( + (this._frameRequest &&= (this._frameRequest.abort(), null)), + this.style?.projection?.destroy(), + delete this.style, + this + ); + return ( + this.style.setEventedParent(this, { style: this.style }), + typeof e == "string" + ? this.style.loadURL(e, t, n) + : this.style.loadJSON(e, t, n), + this + ); + } + _lazyInitEmptyStyle() { + this.style || + ((this.style = new Run(this, {})), + this.style.setEventedParent(this, { style: this.style }), + this.style.loadEmpty()); + } + async _diffStyle(e, t) { + if ((this._diffStyleRequest?.abort(), typeof e == "string")) { + let n = e; + this._diffStyleRequest = new AbortController(); + let r = this._diffStyleRequest; + try { + let o = await this._requestManager.transformRequest(n, "Style"); + if (r.signal.aborted) { + this._diffStyleRequest = null; + return; + } + let a = await hQ(o, r); + ((this._diffStyleRequest = null), this._updateDiff(a.data, t)); + } catch (o) { + ((this._diffStyleRequest = null), + Mw(o) || this.fire(new lr(Vp(o)))); + } + } else + typeof e == "object" && + ((this._diffStyleRequest = null), this._updateDiff(e, t)); + } + _updateDiff(e, t) { + try { + this.style.setState(e, t) && this._update(!0); + } catch (n) { + (Ko( + `Unable to perform style diff: ${Vp(n).message}. Rebuilding the style from scratch.`, + ), + this._updateStyle(e, t)); + } + } + getStyle() { + if (this.style) return this.style.serialize(); + } + getStyleUrl() { + return this._styleUrl; + } + _getStyleAndImages() { + return this.style + ? { + style: this.style.serialize(), + images: this.style.imageManager.cloneImages(), + } + : { style: null, images: {} }; + } + isStyleLoaded() { + if (!this.style) { + Ko("There is no style added to the map."); + return; + } + return this.style.loaded(); + } + addSource(e, t) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSource(e, t), + this._update(!0) + ); + } + isSourceLoaded(e) { + let t = this.style?.tileManagers[e]; + if (t === void 0) { + this.fire(new lr(Error(`There is no tile manager with ID '${e}'`))); + return; + } + return t.loaded(); + } + setTerrain(e, t = {}) { + if ( + (this.style._checkLoaded(), + e && WL(this, Sh.terrain, { value: e }, t)) + ) + return this; + if ( + (this._terrainDataCallback && + this.style.off("data", this._terrainDataCallback), + !e) + ) + (this.terrain && this.terrain.destroy(), + (this.terrain = null), + (this.painter.renderToTexture = null), + this.painter.destroyRTTResources(), + this._camera.setTerrain(null)); + else { + let n = this.style.tileManagers[e.source]; + if (!n) + throw Error( + `cannot load terrain, because there exists no source with ID: ${e.source}`, + ); + this.terrain === null && n.reload(); + for (let r in this.style._layers) { + let o = this.style._layers[r]; + (o.type === "hillshade" && + o.source === e.source && + Ko( + "You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.", + ), + o.type === "color-relief" && + o.source === e.source && + Ko( + "You are using the same source for a color-relief layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.", + )); + } + (this.terrain && this.terrain.destroy(), + (this.terrain = new eIr( + this.painter, + n, + e, + this._terrainSkirtLength, + )), + (this.painter.renderToTexture = new $kr( + this.painter, + this.terrain, + )), + this._camera.setTerrain(this.terrain), + (this._terrainDataCallback = (r) => + this._handleTerrainDataEvent(r, e.source)), + this.style.on("data", this._terrainDataCallback)); + } + return ( + this.style.triggerSymbolPlacement(), + this.fire(new F5r({ terrain: e })), + this + ); + } + _handleTerrainDataEvent(e, t) { + if (e.dataType === "style") { + this.terrain.tileManager.releaseAllRTT(); + return; + } + let n = e.sourceId === t; + if ( + (n && + (this.terrain.resetElevationCache(), + this.style.triggerSymbolPlacement()), + n && + e.tile && + (this.painter.markTerrainDepthDirty(), + this._camera.applyTerrainChange()), + e.tile) + ) { + if (e.source?.type === "image") { + this.terrain.tileManager.releaseAllRTT(); + return; + } + this.terrain.tileManager.releaseRTT(e.tile.tileID); + } + } + getTerrain() { + return this.terrain?.options ?? null; + } + areTilesLoaded() { + let e = this.style?.tileManagers; + for (let t of Object.values(e)) if (!t.areTilesLoaded()) return !1; + return !0; + } + removeSource(e) { + return (this.style.removeSource(e), this._update(!0)); + } + getSource(e) { + return this.style?.getSource(e); + } + setSourceTileLodParams(e, t, n) { + if (n) { + let r = this.getSource(n); + if (!r) + throw Error( + `There is no source with ID "${n}", cannot set LOD parameters`, + ); + r.calculateTileZoom = nze(Math.max(1, e), Math.max(1, t)); + } else + for (let r in this.style.tileManagers) + this.style.tileManagers[r].getSource().calculateTileZoom = nze( + Math.max(1, e), + Math.max(1, t), + ); + return (this._update(!0), this); + } + refreshTiles(e, t) { + let n = this.style.tileManagers[e]; + if (!n) + throw Error( + `There is no tile manager with ID "${e}", cannot refresh tile`, + ); + t === void 0 + ? n.reload(!0) + : n.refreshTiles(t.map((r) => new DQ(r.z, r.x, r.y))); + } + addImage(e, t, n = {}) { + this._lazyInitEmptyStyle(); + let r = this._createStyleImage(t, n); + return r + ? (this.style.addImage(e, r), + r.userImage?.onAdd && r.userImage.onAdd(this, e), + this) + : this; + } + setMissingStyleImageResolver(e) { + return ( + (this._missingStyleImageResolver = e), + this.style?.setMissingImageResolver(e), + this + ); + } + _createStyleImage(e, t = {}) { + let { + pixelRatio: n = 1, + sdf: r = !1, + stretchX: o, + stretchY: a, + content: i, + textFitWidth: s, + textFitHeight: l, + } = t; + if (e instanceof HTMLImageElement || KC(e)) { + let { width: c, height: u, data: d } = M0.getImageData(e); + return { + data: new ss({ width: c, height: u }, d), + pixelRatio: n, + stretchX: o, + stretchY: a, + content: i, + textFitWidth: s, + textFitHeight: l, + sdf: r, + version: 0, + }; + } + if (e.width === void 0 || e.height === void 0) + return ( + this.fire( + new lr( + Error( + "Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", + ), + ), + ), + null + ); + { + let { width: c, height: u, data: d } = e, + p = e, + f = TQ(p.data); + return { + data: f + ? new ss({ width: c, height: u }) + : new ss({ width: c, height: u }, new Uint8Array(d)), + pixelRatio: n, + stretchX: o, + stretchY: a, + content: i, + textFitWidth: s, + textFitHeight: l, + sdf: r, + version: 0, + isWebGLImage: f, + userImage: p, + }; + } + } + updateImage(e, t) { + let n = this.style.getImage(e); + if (!n) + return this.fire( + new lr( + Error( + "The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.", + ), + ), + ); + let { + width: r, + height: o, + data: a, + } = t instanceof HTMLImageElement || KC(t) ? M0.getImageData(t) : t; + if (r === void 0 || o === void 0) + return this.fire( + new lr( + Error( + "Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`", + ), + ), + ); + if (r !== n.data.width || o !== n.data.height) + return this.fire( + new lr( + Error( + "The width and height of the updated image must be that same as the previous version of the image", + ), + ), + ); + if (((n.isWebGLImage = TQ(a)), n.isWebGLImage)) n.userImage = t; + else { + let i = !(t instanceof HTMLImageElement || KC(t)); + n.data.replace(a, i); + } + return (this.style.updateImage(e, n), this); + } + getImage(e) { + return this.style.getImage(e); + } + hasImage(e) { + return e + ? !!this.style.getImage(e) + : (this.fire(new lr(Error("Missing required image id"))), !1); + } + removeImage(e) { + this.style.removeImage(e); + } + async loadImage(e) { + let t = await Xx.getImage( + await this._requestManager.transformRequest(e, "Image"), + new AbortController(), + ); + if (!t.data) + throw Error(`Could not load image ${e}: the response is empty`); + return t; + } + listImages() { + return this.style?.listImages() ?? []; + } + addLayer(e, t) { + return ( + this._lazyInitEmptyStyle(), + this.style.addLayer(e, t), + this._update(!0) + ); + } + moveLayer(e, t) { + return (this.style.moveLayer(e, t), this._update(!0)); + } + removeLayer(e) { + return (this.style.removeLayer(e), this._update(!0)); + } + getLayer(e) { + return this.style?.getLayer(e); + } + getLayersOrder() { + return this.style?.getLayersOrder() ?? []; + } + setLayerZoomRange(e, t, n) { + return (this.style.setLayerZoomRange(e, t, n), this._update(!0)); + } + setFilter(e, t, n = {}) { + return (this.style?.setFilter(e, t, n), this._update(!0)); + } + getFilter(e) { + return this.style.getFilter(e); + } + setPaintProperty(e, t, n, r = {}) { + return (this.style?.setPaintProperty(e, t, n, r), this._update(!0)); + } + getPaintProperty(e, t) { + return this.style.getPaintProperty(e, t); + } + setLayoutProperty(e, t, n, r = {}) { + return (this.style.setLayoutProperty(e, t, n, r), this._update(!0)); + } + getLayoutProperty(e, t) { + return this.style.getLayoutProperty(e, t); + } + setGlyphs(e, t = {}) { + return ( + this._lazyInitEmptyStyle(), + this.style.setGlyphs(e, t), + this._update(!0) + ); + } + getGlyphs() { + return this.style.getGlyphsUrl(); + } + setFontFaces(e) { + return ( + this._lazyInitEmptyStyle(), + this.style.setFontFaces(e), + this._update(!0) + ); + } + getFontFaces() { + return this.style.getFontFaces(); + } + addSprite(e, t, n = {}) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSprite(e, t, n, (r) => { + r || this._update(!0); + }), + this + ); + } + removeSprite(e) { + return ( + this._lazyInitEmptyStyle(), + this.style.removeSprite(e), + this._update(!0) + ); + } + getSprite() { + return this.style.getSprite(); + } + setSprite(e, t = {}) { + return ( + this._lazyInitEmptyStyle(), + this.style.setSprite(e, t, (n) => { + n || this._update(!0); + }), + this + ); + } + setLight(e, t = {}) { + return ( + this._lazyInitEmptyStyle(), + this.style.setLight(e, t), + this._update(!0) + ); + } + getLight() { + return this.style.getLight(); + } + setSky(e, t = {}) { + return ( + this._lazyInitEmptyStyle(), + this.style.setSky(e, t), + this._update(!0) + ); + } + getSky() { + return this.style.getSky(); + } + setFeatureState(e, t) { + return (this.style.setFeatureState(e, t), this._update()); + } + removeFeatureState(e, t) { + return (this.style.removeFeatureState(e, t), this._update()); + } + getFeatureState(e) { + return this.style.getFeatureState(e); + } + getContainer() { + return this._container; + } + getCanvasContainer() { + return this._canvasContainer; + } + getCanvas() { + return this._canvas; + } + _containerDimensions() { + let e = 0, + t = 0; + return ( + this._container && + ((e = Math.floor(this._container.clientWidth) || 400), + (t = Math.floor(this._container.clientHeight) || 300)), + [e, t] + ); + } + _shouldHandleInitialResize() { + if (!this._container?.clientWidth || !this._container.clientHeight) + return !1; + let [e, t] = this._containerDimensions(); + return ( + e !== this._camera.transform.width || + t !== this._camera.transform.height + ); + } + _setupResizeObserver() { + let e = !1, + t = Eze((r) => { + this._trackResize && + !this._removed && + (this.resize(r), this.redraw()); + }, 50), + n = this._ownerWindow.ResizeObserver ?? ResizeObserver; + ((this._resizeObserver = new n((r) => { + (!e && ((e = !0), !this._shouldHandleInitialResize())) || t(r); + })), + this._resizeObserver.observe(this._container)); + } + _resolveContainer(e) { + if (typeof e == "string") { + let t = document.getElementById(e); + if (!t) throw Error(`Container '${e}' not found.`); + return t; + } + if ( + e instanceof HTMLElement || + (e && typeof e == "object" && e.nodeType === 1) + ) + return e; + throw Error( + "Invalid type: 'container' must be a String or HTMLElement.", + ); + } + _setupContainer() { + let e = this._containerDimensions(), + t = this._getClampedPixelRatio(e[0], e[1]), + n = this._container; + n.classList.add("maplibregl-map"); + let r = (this._canvasContainer = Cl.create( + "div", + "maplibregl-canvas-container", + n, + )); + (this._interactive && r.classList.add("maplibregl-interactive"), + (this._canvas = Cl.create("canvas", "maplibregl-canvas", r)), + this._canvas.addEventListener( + "webglcontextlost", + this._contextLost, + !1, + ), + this._canvas.addEventListener( + "webglcontextrestored", + this._contextRestored, + !1, + ), + this._canvas.setAttribute("tabindex", this._interactive ? "0" : "-1"), + this._canvas.setAttribute( + "aria-label", + this._getUIString("Map.Title"), + ), + this._canvas.setAttribute("role", "region"), + this._resizeCanvas(e[0], e[1], t)); + let o = (this._controlContainer = Cl.create( + "div", + "maplibregl-control-container", + n, + )), + a = (this._controlPositions = {}); + for (let i of ["top-left", "top-right", "bottom-left", "bottom-right"]) + a[i] = Cl.create("div", `maplibregl-ctrl-${i} `, o); + this._container.addEventListener("scroll", this._onMapScroll, !1); + } + _cleanupContainer() { + (this._canvas.removeEventListener( + "webglcontextrestored", + this._contextRestored, + !1, + ), + this._canvas.removeEventListener( + "webglcontextlost", + this._contextLost, + !1, + ), + this._canvasContainer.remove(), + this._controlContainer.remove(), + this._container.removeEventListener("scroll", this._onMapScroll, !1), + this._container.classList.remove("maplibregl-map")); + } + _resizeCanvas(e, t, n) { + let r = Math.round(n * e), + o = Math.round(n * t); + ((this._canvas.width = r), + (this._canvas.height = o), + (this._canvas.style.width = `${r / n}px`), + (this._canvas.style.height = `${o / n}px`)); + } + _setupPainter() { + let e = { + ...this._canvasContextAttributes, + alpha: !0, + depth: !0, + stencil: !0, + premultipliedAlpha: !0, + }, + t = null; + this._canvas.addEventListener( + "webglcontextcreationerror", + (r) => { + t = r; + }, + { once: !0 }, + ); + let n = this._canvas.getContext("webgl2", e); + if (!n) throw new ukr(e, t); + this.painter = new ckr(n, this._camera.transform); + } + migrateProjection(e, t) { + (this._camera.migrateProjection(e, t), + (this.painter.transform = e), + this.fire(new U5r({ newProjection: this.style.projection.name }))); + } + loaded() { + return ( + !this._styleDirty && + !this._sourcesDirty && + !!this.style && + this.style.loaded() + ); + } + _update(e) { + return this.style?._loaded + ? ((this._styleDirty ||= e), + (this._sourcesDirty = !0), + this.triggerRepaint(), + this) + : this; + } + _requestRenderFrame(e) { + return (this._update(), this._renderTaskQueue.add(e)); + } + _cancelRenderFrame(e) { + this._renderTaskQueue.remove(e); + } + _render(e) { + let t = this._idleTriggered ? this._fadeDuration : 0, + n = this.style.projection?.transitionState > 0; + if ( + (this.painter.context.setDirty(), + this.painter.setBaseState(), + this._renderTaskQueue.run(e), + this._removed) + ) + return; + let r = !1; + if (this.style && this._styleDirty) { + this._styleDirty = !1; + let i = this._camera.transform.zoom, + s = vi(); + this.style.zoomHistory.update(i, s); + let l = new oi(i, { + now: s, + fadeDuration: t, + zoomHistory: this.style.zoomHistory, + transition: this.style.getTransition(), + }), + c = l.crossFadingFactor(); + ((c !== 1 || c !== this._crossFadingFactor) && + ((r = !0), (this._crossFadingFactor = c)), + this.style.update(l)); + } + let o = this.style.projection?.transitionState > 0 !== n; + (this._camera.transform.setTransitionState( + this.style.projection?.transitionState, + ), + this.style && + (this._sourcesDirty || o) && + ((this._sourcesDirty = !1), + this.style._updateSources(this._camera.transform)), + this.terrain + ? (this.terrain.tileManager.update( + this._camera.transform, + this.terrain, + ) && this.terrain.resetElevationCache(), + this._camera.transform.setMinElevationForCurrentTile( + this.terrain.getMinTileElevationForLngLatZoom( + this._camera.transform.center, + this._camera.transform.tileZoom, + ), + ), + !this._camera.elevationFreeze && + this.getCenterClampedToGround() && + this._camera.transform.setElevation( + this.terrain.getElevationForLngLat( + this._camera.transform.center, + this._camera.transform, + ), + )) + : (this._camera.transform.setMinElevationForCurrentTile(0), + this.getCenterClampedToGround() && + this._camera.transform.setElevation(0)), + (this._placementDirty = this.style?._updatePlacement( + this._camera.transform, + this.showCollisionBoxes, + t, + this._crossSourceCollisions, + o, + )), + this.painter.render(this.style, { + showTileBoundaries: this.showTileBoundaries, + showOverdrawInspector: this._showOverdrawInspector, + rotating: this.isRotating(), + zooming: this.isZooming(), + moving: this.isMoving(), + fadeDuration: t, + showPadding: this.showPadding, + anisotropicFilterPitch: this.getAnisotropicFilterPitch(), + }), + this.fire(new Yp("render")), + this.loaded() && + !this._loaded && + ((this._loaded = !0), this.fire(new Yp("load"))), + this.style && + (this.style.hasTransitions() || r) && + (this._styleDirty = !0), + this.style && + !this._placementDirty && + this.style._releaseSymbolFadeTiles()); + let a = + this._sourcesDirty || + this._styleDirty || + this._placementDirty || + this.painter.renderToTexture?.needsFollowUpFrame; + return ( + a || this._repaint + ? this.triggerRepaint() + : !this.isMoving() && this.loaded() && this.fire(new Yp("idle")), + this._loaded && !this._fullyLoaded && !a && (this._fullyLoaded = !0), + this + ); + } + redraw() { + return ( + this.style && + ((this._frameRequest &&= (this._frameRequest.abort(), null)), + this._render(0)), + this + ); + } + remove() { + this._hash && this._hash.remove(); + for (let t of this._controls) t.onRemove(this); + ((this._controls = []), + (this._frameRequest &&= (this._frameRequest.abort(), null)), + this._renderTaskQueue.clear(), + this._diffStyleRequest?.abort(), + this.painter.destroy(), + this._handlers.destroy(), + this.setStyle(null), + typeof window < "u" && + this._ownerWindow.removeEventListener( + "online", + this._onWindowOnline, + !1, + ), + Xx.removeThrottleControl(this._imageQueueHandle), + this._resizeObserver?.disconnect()); + let e = this.painter.context.gl.getExtension("WEBGL_lose_context"); + (e?.loseContext && e.loseContext(), + this._cleanupContainer(), + (this._removed = !0), + this.fire(new Yp("remove"))); + } + triggerRepaint() { + this.style && + !this._frameRequest && + ((this._frameRequest = new AbortController()), + M0.frame( + this._frameRequest, + (e) => { + this._frameRequest = null; + try { + this._render(e); + } catch (t) { + if (!Mw(t)) throw t; + } + }, + () => {}, + this._ownerWindow, + )); + } + get showTileBoundaries() { + return !!this._showTileBoundaries; + } + set showTileBoundaries(e) { + this._showTileBoundaries !== e && + ((this._showTileBoundaries = e), this._update()); + } + get showPadding() { + return !!this._showPadding; + } + set showPadding(e) { + this._showPadding !== e && ((this._showPadding = e), this._update()); + } + get showCollisionBoxes() { + return !!this._showCollisionBoxes; + } + set showCollisionBoxes(e) { + this._showCollisionBoxes !== e && + ((this._showCollisionBoxes = e), + e ? this.style._generateCollisionBoxes() : this._update()); + } + get showOverdrawInspector() { + return !!this._showOverdrawInspector; + } + set showOverdrawInspector(e) { + this._showOverdrawInspector !== e && + ((this._showOverdrawInspector = e), this._update()); + } + get repaint() { + return !!this._repaint; + } + set repaint(e) { + this._repaint !== e && ((this._repaint = e), this.triggerRepaint()); + } + get vertices() { + return !!this._vertices; + } + set vertices(e) { + ((this._vertices = e), this._update()); + } + get version() { + return tRr; + } + getCameraTargetElevation() { + return this._camera.transform.elevation; + } + getProjection() { + return this.style.getProjection(); + } + setProjection(e) { + return ( + this._lazyInitEmptyStyle(), + this.style.setProjection(e), + this._update(!0) + ); + } + })); + Jdn = { + center: "translate(-50%,-50%)", + top: "translate(-50%,0)", + "top-left": "translate(0,0)", + "top-right": "translate(-100%,0)", + bottom: "translate(-50%,-100%)", + "bottom-left": "translate(0,-100%)", + "bottom-right": "translate(-100%,-100%)", + left: "translate(0,-50%)", + right: "translate(-100%,-50%)", + }; + Wun = { + ArrowLeft: [-1, 0], + ArrowRight: [1, 0], + ArrowUp: [0, -1], + ArrowDown: [0, 1], + }; + ((nB = class extends JC {}), + (sRr = class extends JC {}), + (lRr = class extends Qp { + constructor(e) { + if ( + (super(), + (this._onClick = (t) => { + this.fire(new sRr("click", { originalEvent: t })); + }), + (this._onKeyPress = (t) => { + (t.code === "Space" || t.code === "Enter") && this.togglePopup(); + }), + (this._onKeyDown = (t) => { + if ( + !this._defaultMarker || + !this._draggable || + !this._map || + !this._lngLat || + t.composedPath()[0] !== this._element || + t.altKey || + t.ctrlKey || + t.metaKey + ) + return; + let n = Wun[t.key]; + if (!n) return; + (t.preventDefault(), t.stopPropagation()); + let r = t.shiftKey ? 10 : 1, + o = this._map.project(this._lngLat); + (this.setLngLat( + this._map.unproject(new ft(o.x + n[0] * r, o.y + n[1] * r)), + ), + this._keyboardDragActive || + ((this._keyboardDragActive = !0), + this.fire(new nB("dragstart"))), + this.fire(new nB("drag"))); + }), + (this._onKeyUp = (t) => { + Wun[t.key] && this._endKeyboardDrag(); + }), + (this._onBlur = () => { + this._endKeyboardDrag(); + }), + (this._onMapClick = (t) => { + let n = t.originalEvent.target, + r = this._element; + this._popup && (n === r || r.contains(n)) && this.togglePopup(); + }), + (this._updateCoveredUnthrottled = () => { + let t = this._map?.terrain; + if (!t || !this._isInViewport()) return; + let n = this._isCovered(t); + (n && this._popup?.isOpen() && this._popup.remove(), + (this._element.style.opacity = n + ? this._opacityWhenCovered + : this._opacity), + this._element.classList.toggle("maplibregl-marker-covered", n)); + }), + (this._updateCovered = Eze(this._updateCoveredUnthrottled, 100)), + (this._update = (t) => { + if (!this._map) return; + ((this._lngLat = rRr( + this._lngLat, + this._flatPos, + this._map._camera.transform, + )), + (this._flatPos = this._pos = + this._map.project(this._lngLat)._add(this._offset)), + this._map.terrain && + (this._flatPos = this._map._camera.transform + .locationToScreenPoint(this._lngLat) + ._add(this._offset))); + let n = ""; + this._rotationAlignment === "viewport" || + this._rotationAlignment === "auto" + ? (n = `rotateZ(${this._rotation}deg)`) + : this._rotationAlignment === "map" && + (n = `rotateZ(${this._rotation - this._map.getBearing()}deg)`); + let r = ""; + (this._pitchAlignment === "viewport" || + this._pitchAlignment === "auto" + ? (r = "rotateX(0deg)") + : this._pitchAlignment === "map" && + (r = `rotateX(${this._map.getPitch()}deg)`), + !this._subpixelPositioning && + t?.type !== "move" && + (this._pos = this._pos.round()), + (this._element.style.transform = `${Jdn[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${n}`), + this._updateOpacity()); + }), + (this._onMove = (t) => { + if (!this._isDragging) { + let n = this._clickTolerance || this._map._clickTolerance; + this._isDragging = t.point.dist(this._pointerdownPos) >= n; + } + this._isDragging && + ((this._pos = t.point.sub(this._positionDelta)), + (this._lngLat = this._map.unproject(this._pos)), + this.setLngLat(this._lngLat), + (this._element.style.pointerEvents = "none"), + this._state === "pending" && + ((this._state = "active"), this.fire(new nB("dragstart"))), + this.fire(new nB("drag"))); + }), + (this._onUp = () => { + ((this._element.style.pointerEvents = "auto"), + (this._positionDelta = null), + (this._pointerdownPos = null), + (this._isDragging = !1), + this._map.off("mousemove", this._onMove), + this._map.off("touchmove", this._onMove), + this._state === "active" && this.fire(new nB("dragend")), + (this._state = "inactive")); + }), + (this._addDragHandler = (t) => { + this._element.contains(t.originalEvent.target) && + (t.preventDefault(), + (this._positionDelta = t.point.sub(this._pos).add(this._offset)), + (this._pointerdownPos = t.point), + (this._state = "pending"), + this._map.on("mousemove", this._onMove), + this._map.on("touchmove", this._onMove), + this._map.once("mouseup", this._onUp), + this._map.once("touchend", this._onUp)); + }), + (this._anchor = e?.anchor || "center"), + (this._color = e?.color || jdn), + (this._scale = e?.scale || 1), + (this._draggable = e?.draggable || !1), + (this._clickTolerance = e?.clickTolerance || 0), + (this._subpixelPositioning = e?.subpixelPositioning || !1), + (this._isDragging = !1), + (this._roleManaged = !1), + (this._tabIndexManaged = !1), + (this._keyboardDragActive = !1), + (this._state = "inactive"), + (this._rotation = e?.rotation || 0), + (this._rotationAlignment = e?.rotationAlignment || "auto"), + (this._pitchAlignment = + e?.pitchAlignment && e.pitchAlignment !== "auto" + ? e.pitchAlignment + : this._rotationAlignment), + this.setOpacity(e?.opacity, e?.opacityWhenCovered), + e?.element) + ) + ((this._element = e.element), + (this._offset = ft.convert(e?.offset || [0, 0]))); + else { + ((this._defaultMarker = !0), (this._element = Cl.create("div"))); + let t = aRr().cloneNode(!0); + (t.setAttributeNS(null, "height", `${41 * this._scale}px`), + t.setAttributeNS(null, "width", `${27 * this._scale}px`), + iRr(t).setAttributeNS(null, "fill", this._color), + this._element.appendChild(t), + (this._offset = ft.convert(e?.offset || [0, -14]))); + } + if ( + (this._element.classList.add("maplibregl-marker"), + this._element.addEventListener("dragstart", (t) => { + t.preventDefault(); + }), + this._element.addEventListener("mousedown", (t) => { + t.preventDefault(); + }), + oRr(this._element, this._anchor, "marker"), + e?.className) + ) + for (let t of e.className.split(" ")) this._element.classList.add(t); + this._popup = null; + } + addTo(e) { + return ( + this.remove(), + (this._map = e), + this._defaultMarker && + !this._element.hasAttribute("aria-label") && + this._element.setAttribute( + "aria-label", + e._getUIString("Marker.Title"), + ), + this._updateAccessibilityRole(), + e.getCanvasContainer().appendChild(this._element), + e.on("move", this._update), + e.on("moveend", this._update), + e.on("terrain", this._update), + e.on("projectiontransition", this._update), + e.on("idle", this._update), + this._element.addEventListener("click", this._onClick), + this.setDraggable(this._draggable), + this._update(), + this._map.on("click", this._onMapClick), + this + ); + } + remove() { + return ( + this._map && + (this._map.off("click", this._onMapClick), + this._map.off("move", this._update), + this._map.off("moveend", this._update), + this._map.off("terrain", this._update), + this._map.off("projectiontransition", this._update), + this._map.off("idle", this._update), + this._map.off("mousedown", this._addDragHandler), + this._map.off("touchstart", this._addDragHandler), + this._map.off("mouseup", this._onUp), + this._map.off("touchend", this._onUp), + this._map.off("mousemove", this._onMove), + this._map.off("touchmove", this._onMove), + delete this._map), + this._element.removeEventListener("click", this._onClick), + this._element.removeEventListener("keydown", this._onKeyDown), + this._element.removeEventListener("keyup", this._onKeyUp), + this._element.removeEventListener("blur", this._onBlur), + this._element.removeEventListener("keypress", this._onKeyPress), + (this._keyboardDragActive = !1), + this._element.remove(), + this._popup && this._popup.remove(), + this + ); + } + getLngLat() { + return this._lngLat; + } + setLngLat(e) { + return ( + (this._lngLat = pr.convert(e)), + (this._pos = null), + this._update(), + this._popup && this._popup.setLngLat(this._lngLat), + this + ); + } + getElement() { + return this._element; + } + setPopup(e) { + if ( + (this._popup && + (this._popup.remove(), + (this._popup = null), + this._element.removeEventListener("keypress", this._onKeyPress)), + e) + ) { + if (!("offset" in e.options)) { + let t = 13.5 / Math.SQRT2; + e.options.offset = this._defaultMarker + ? { + top: [0, 0], + "top-left": [0, 0], + "top-right": [0, 0], + bottom: [0, -38.1], + "bottom-left": [t, (24.6 + t) * -1], + "bottom-right": [-t, (24.6 + t) * -1], + left: [13.5, -24.6], + right: [-13.5, -24.6], + } + : this._offset; + } + ((this._popup = e), + this._element.addEventListener("keypress", this._onKeyPress)); + } + return (this._updateTabIndex(), this._updateAccessibilityRole(), this); + } + setSubpixelPositioning(e) { + return ((this._subpixelPositioning = e), this); + } + _endKeyboardDrag() { + this._keyboardDragActive && + ((this._keyboardDragActive = !1), this.fire(new nB("dragend"))); + } + getPopup() { + return this._popup; + } + togglePopup() { + let e = this._popup; + if (this._element.style.opacity === this._opacityWhenCovered) + return this; + if (e) + e.isOpen() + ? e.remove() + : (e.setLngLat(this._lngLat), e.addTo(this._map)); + else return this; + return this; + } + _updateOpacity() { + if (!this._isInViewport()) return; + let e = this._map?.terrain, + t = this._map._camera.transform.isLocationOccluded(this._lngLat); + if (!e || t) { + let n = t ? this._opacityWhenCovered : this._opacity; + this._element.style.opacity !== n && + ((this._element.style.opacity = n), + this._element.classList.toggle("maplibregl-marker-covered", t)); + return; + } + this._updateCovered(); + } + _isInViewport() { + let { width: e, height: t } = this._map._camera.transform; + return ( + !!this._pos && + this._pos.x >= 0 && + this._pos.y >= 0 && + this._pos.x <= e && + this._pos.y <= t + ); + } + _isCovered(e) { + let t = this._map._camera.transform, + n = e.getElevationForLngLat(this._lngLat, t), + r = Math.max(0, -this._offset.y) / t.pixelsPerMeter, + o = Math.sin((this._map.getPitch() * Math.PI) / 180) * r; + return t.isLocationOccluded(this._lngLat, e, n + o); + } + getOffset() { + return this._offset; + } + setOffset(e) { + return ((this._offset = ft.convert(e)), this._update(), this); + } + addClassName(e) { + this._element.classList.add(e); + } + removeClassName(e) { + this._element.classList.remove(e); + } + toggleClassName(e) { + return this._element.classList.toggle(e); + } + setDraggable(e) { + return ( + (this._draggable = !!e), + this._element.classList.toggle( + "maplibregl-marker-draggable", + this._draggable, + ), + this._map && + (e + ? (this._map.on("mousedown", this._addDragHandler), + this._map.on("touchstart", this._addDragHandler)) + : (this._map.off("mousedown", this._addDragHandler), + this._map.off("touchstart", this._addDragHandler))), + this._defaultMarker && + (this._draggable + ? (this._element.addEventListener("keydown", this._onKeyDown), + this._element.addEventListener("keyup", this._onKeyUp), + this._element.addEventListener("blur", this._onBlur)) + : (this._element.removeEventListener("keydown", this._onKeyDown), + this._element.removeEventListener("keyup", this._onKeyUp), + this._element.removeEventListener("blur", this._onBlur), + this._endKeyboardDrag())), + this._updateTabIndex(), + this._updateAccessibilityRole(), + this + ); + } + isDraggable() { + return this._draggable; + } + _updateTabIndex() { + this._popup || (this._defaultMarker && this._draggable) + ? this._element.hasAttribute("tabindex") || + (this._element.setAttribute("tabindex", "0"), + (this._tabIndexManaged = !0)) + : (this._tabIndexManaged &&= + (this._element.getAttribute("tabindex") === "0" && + this._element.removeAttribute("tabindex"), + !1)); + } + _updateAccessibilityRole() { + if ( + !this._defaultMarker || + (this._element.hasAttribute("role") && !this._roleManaged) + ) + return; + let e = this._draggable || this._popup ? "button" : "img"; + (this._element.setAttribute("role", e), (this._roleManaged = !0)); + } + setRotation(e) { + return ((this._rotation = e || 0), this._update(), this); + } + getRotation() { + return this._rotation; + } + setRotationAlignment(e) { + return ((this._rotationAlignment = e || "auto"), this._update(), this); + } + getRotationAlignment() { + return this._rotationAlignment; + } + setPitchAlignment(e) { + return ( + (this._pitchAlignment = + e && e !== "auto" ? e : this._rotationAlignment), + this._update(), + this + ); + } + getPitchAlignment() { + return this._pitchAlignment; + } + setOpacity(e, t) { + return ( + (this._opacity === void 0 || (e === void 0 && t === void 0)) && + ((this._opacity = "1"), (this._opacityWhenCovered = "0.2")), + e !== void 0 && (this._opacity = String(e)), + t !== void 0 && (this._opacityWhenCovered = String(t)), + this._map && this._updateOpacity(), + this + ); + } + }), + (l1s = [ + "a[href]", + "[tabindex]:not([tabindex='-1'])", + "[contenteditable]:not([contenteditable='false'])", + "button:not([disabled])", + "input:not([disabled])", + "select:not([disabled])", + "textarea:not([disabled])", + ].join(", "))); +}); +var epn = me(function (J2s, cRr) {}); +var Mze; +var hpn = P(() => { + Mze = window; + Mze.Prism = Mze.Prism ?? {}; + Mze.Prism.manual = !0; +}); +var gpn = me(function (ixs, Hme) { + var BRr = + typeof window < "u" + ? window + : typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope + ? self + : {}, + Ar = (function (e) { + var t = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, + n = 0, + r = {}, + o = { + manual: e.Prism && e.Prism.manual, + disableWorkerMessageHandler: + e.Prism && e.Prism.disableWorkerMessageHandler, + util: { + encode: function g(v) { + if (v instanceof a) return new a(v.type, g(v.content), v.alias); + else if (Array.isArray(v)) return v.map(g); + else + return v + .replace(/&/g, "&") + .replace(/ "u") return null; + if ( + document.currentScript && + document.currentScript.tagName === "SCRIPT" + ) + return document.currentScript; + try { + throw Error(); + } catch (x) { + var g = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(x.stack) || + [])[1]; + if (g) { + var v = document.getElementsByTagName("script"); + for (var y in v) if (v[y].src == g) return v[y]; + } + return null; + } + }, + isActive: function (g, v, y) { + var x = "no-" + v; + while (g) { + var A = g.classList; + if (A.contains(v)) return !0; + if (A.contains(x)) return !1; + g = g.parentElement; + } + return !!y; + }, + }, + languages: { + plain: r, + plaintext: r, + text: r, + txt: r, + extend: function (g, v) { + var y = o.util.clone(o.languages[g]); + for (var x in v) y[x] = v[x]; + return y; + }, + insertBefore: function (g, v, y, x) { + x = x || o.languages; + var A = x[g], + w = {}; + for (var C in A) + if (A.hasOwnProperty(C)) { + if (C == v) { + for (var E in y) if (y.hasOwnProperty(E)) w[E] = y[E]; + } + if (!y.hasOwnProperty(C)) w[C] = A[C]; + } + var T = x[g]; + return ( + (x[g] = w), + o.languages.DFS(o.languages, function (I, k) { + if (k === T && I != g) this[I] = w; + }), + w + ); + }, + DFS: function g(v, y, x, A) { + A = A || {}; + var w = o.util.objId; + for (var C in v) + if (v.hasOwnProperty(C)) { + y.call(v, C, v[C], x || C); + var E = v[C], + T = o.util.type(E); + if (T === "Object" && !A[w(E)]) + ((A[w(E)] = !0), g(E, y, null, A)); + else if (T === "Array" && !A[w(E)]) + ((A[w(E)] = !0), g(E, y, C, A)); + } + }, + }, + plugins: {}, + highlightAll: function (g, v) { + o.highlightAllUnder(document, g, v); + }, + highlightAllUnder: function (g, v, y) { + var x = { + callback: y, + container: g, + selector: + 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code', + }; + (o.hooks.run("before-highlightall", x), + (x.elements = Array.prototype.slice.apply( + x.container.querySelectorAll(x.selector), + )), + o.hooks.run("before-all-elements-highlight", x)); + for (var A = 0, w; (w = x.elements[A++]);) + o.highlightElement(w, v === !0, x.callback); + }, + highlightElement: function (g, v, y) { + var x = o.util.getLanguage(g), + A = o.languages[x]; + o.util.setLanguage(g, x); + var w = g.parentElement; + if (w && w.nodeName.toLowerCase() === "pre") + o.util.setLanguage(w, x); + var C = g.textContent, + E = { element: g, language: x, grammar: A, code: C }; + function T(k) { + ((E.highlightedCode = k), + o.hooks.run("before-insert", E), + (E.element.innerHTML = E.highlightedCode), + o.hooks.run("after-highlight", E), + o.hooks.run("complete", E), + y && y.call(E.element)); + } + if ( + (o.hooks.run("before-sanity-check", E), + (w = E.element.parentElement), + w && + w.nodeName.toLowerCase() === "pre" && + !w.hasAttribute("tabindex")) + ) + w.setAttribute("tabindex", "0"); + if (!E.code) { + (o.hooks.run("complete", E), y && y.call(E.element)); + return; + } + if ((o.hooks.run("before-highlight", E), !E.grammar)) { + T(o.util.encode(E.code)); + return; + } + if (v && e.Worker) { + var I = new Worker(o.filename); + ((I.onmessage = function (k) { + T(k.data); + }), + I.postMessage( + JSON.stringify({ + language: E.language, + code: E.code, + immediateClose: !0, + }), + )); + } else T(o.highlight(E.code, E.grammar, E.language)); + }, + highlight: function (g, v, y) { + var x = { code: g, grammar: v, language: y }; + if ((o.hooks.run("before-tokenize", x), !x.grammar)) + throw Error('The language "' + x.language + '" has no grammar.'); + return ( + (x.tokens = o.tokenize(x.code, x.grammar)), + o.hooks.run("after-tokenize", x), + a.stringify(o.util.encode(x.tokens), x.language) + ); + }, + tokenize: function (g, v) { + var y = v.rest; + if (y) { + for (var x in y) v[x] = y[x]; + delete v.rest; + } + var A = new l(); + return (c(A, A.head, g), s(g, A, v, A.head, 0), d(A)); + }, + hooks: { + all: {}, + add: function (g, v) { + var y = o.hooks.all; + ((y[g] = y[g] || []), y[g].push(v)); + }, + run: function (g, v) { + var y = o.hooks.all[g]; + if (!y || !y.length) return; + for (var x = 0, A; (A = y[x++]);) A(v); + }, + }, + Token: a, + }; + e.Prism = o; + function a(g, v, y, x) { + ((this.type = g), + (this.content = v), + (this.alias = y), + (this.length = (x || "").length | 0)); + } + a.stringify = function g(v, y) { + if (typeof v == "string") return v; + if (Array.isArray(v)) { + var x = ""; + return ( + v.forEach(function (T) { + x += g(T, y); + }), + x + ); + } + var A = { + type: v.type, + content: g(v.content, y), + tag: "span", + classes: ["token", v.type], + attributes: {}, + language: y, + }, + w = v.alias; + if (w) + if (Array.isArray(w)) Array.prototype.push.apply(A.classes, w); + else A.classes.push(w); + o.hooks.run("wrap", A); + var C = ""; + for (var E in A.attributes) + C += + " " + + E + + '="' + + (A.attributes[E] || "").replace(/"/g, """) + + '"'; + return ( + "<" + + A.tag + + ' class="' + + A.classes.join(" ") + + '"' + + C + + ">" + + A.content + + "" + ); + }; + function i(g, v, y, x) { + g.lastIndex = v; + var A = g.exec(y); + if (A && x && A[1]) { + var w = A[1].length; + ((A.index += w), (A[0] = A[0].slice(w))); + } + return A; + } + function s(g, v, y, x, A, w) { + for (var C in y) { + if (!y.hasOwnProperty(C) || !y[C]) continue; + var E = y[C]; + E = Array.isArray(E) ? E : [E]; + for (var T = 0; T < E.length; ++T) { + if (w && w.cause == C + "," + T) return; + var I = E[T], + k = I.inside, + L = !!I.lookbehind, + O = !!I.greedy, + B = I.alias; + if (O && !I.pattern.global) { + var U = I.pattern.toString().match(/[imsuy]*$/)[0]; + I.pattern = RegExp(I.pattern.source, U + "g"); + } + var D = I.pattern || I; + for ( + var N = x.next, _ = A; + N !== v.tail; + _ += N.value.length, N = N.next + ) { + if (w && _ >= w.reach) break; + var G = N.value; + if (v.length > g.length) return; + if (G instanceof a) continue; + var Z = 1, + q; + if (O) { + if (((q = i(D, _, g, L)), !q || q.index >= g.length)) break; + var j = q.index, + H = q.index + q[0].length, + te = _; + te += N.value.length; + while (j >= te) ((N = N.next), (te += N.value.length)); + if (((te -= N.value.length), (_ = te), N.value instanceof a)) + continue; + for ( + var ie = N; + ie !== v.tail && (te < H || typeof ie.value === "string"); + ie = ie.next + ) + (Z++, (te += ie.value.length)); + (Z--, (G = g.slice(_, te)), (q.index -= _)); + } else if (((q = i(D, 0, G, L)), !q)) continue; + var j = q.index, + oe = q[0], + J = G.slice(0, j), + Y = G.slice(j + oe.length), + ae = _ + G.length; + if (w && ae > w.reach) w.reach = ae; + var ne = N.prev; + if (J) ((ne = c(v, ne, J)), (_ += J.length)); + u(v, ne, Z); + var Se = new a(C, k ? o.tokenize(oe, k) : oe, B, oe); + if (((N = c(v, ne, Se)), Y)) c(v, N, Y); + if (Z > 1) { + var fe = { cause: C + "," + T, reach: ae }; + if ((s(g, v, y, N.prev, _, fe), w && fe.reach > w.reach)) + w.reach = fe.reach; + } + } + } + } + } + function l() { + var g = { value: null, prev: null, next: null }, + v = { value: null, prev: g, next: null }; + ((g.next = v), (this.head = g), (this.tail = v), (this.length = 0)); + } + function c(g, v, y) { + var x = v.next, + A = { value: y, prev: v, next: x }; + return ((v.next = A), (x.prev = A), g.length++, A); + } + function u(g, v, y) { + var x = v.next; + for (var A = 0; A < y && x !== g.tail; A++) x = x.next; + ((v.next = x), (x.prev = v), (g.length -= A)); + } + function d(g) { + var v = [], + y = g.head.next; + while (y !== g.tail) (v.push(y.value), (y = y.next)); + return v; + } + if (!e.document) { + if (!e.addEventListener) return o; + if (!o.disableWorkerMessageHandler) + e.addEventListener( + "message", + function (g) { + var v = JSON.parse(g.data), + { language: y, code: x, immediateClose: A } = v; + if ((e.postMessage(o.highlight(x, o.languages[y], y)), A)) + e.close(); + }, + !1, + ); + return o; + } + var p = o.util.currentScript(); + if (p) { + if (((o.filename = p.src), p.hasAttribute("data-manual"))) + o.manual = !0; + } + function f() { + if (!o.manual) o.highlightAll(); + } + if (!o.manual) { + var m = document.readyState; + if (m === "loading" || (m === "interactive" && p && p.defer)) + document.addEventListener("DOMContentLoaded", f); + else if (window.requestAnimationFrame) window.requestAnimationFrame(f); + else window.setTimeout(f, 16); + } + return o; + })(BRr); + if (typeof Hme < "u" && Hme.exports) Hme.exports = Ar; + if (typeof global < "u") global.Prism = Ar; + Ar.languages.markup = { + comment: { pattern: //, greedy: !0 }, + prolog: { pattern: /<\?[\s\S]+?\?>/, greedy: !0 }, + doctype: { + pattern: + /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i, + greedy: !0, + inside: { + "internal-subset": { + pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/, + lookbehind: !0, + greedy: !0, + inside: null, + }, + string: { pattern: /"[^"]*"|'[^']*'/, greedy: !0 }, + punctuation: /^$|[[\]]/, + "doctype-tag": /^DOCTYPE/i, + name: /[^\s<>'"]+/, + }, + }, + cdata: { pattern: //i, greedy: !0 }, + tag: { + pattern: + /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, + greedy: !0, + inside: { + tag: { + pattern: /^<\/?[^\s>\/]+/, + inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ }, + }, + "special-attr": [], + "attr-value": { + pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, + inside: { + punctuation: [ + { pattern: /^=/, alias: "attr-equals" }, + { pattern: /^(\s*)["']|["']$/, lookbehind: !0 }, + ], + }, + }, + punctuation: /\/?>/, + "attr-name": { + pattern: /[^\s>\/]+/, + inside: { namespace: /^[^\s>\/:]+:/ }, + }, + }, + }, + entity: [ + { pattern: /&[\da-z]{1,8};/i, alias: "named-entity" }, + /&#x?[\da-f]{1,8};/i, + ], + }; + Ar.languages.markup.tag.inside["attr-value"].inside.entity = + Ar.languages.markup.entity; + Ar.languages.markup.doctype.inside["internal-subset"].inside = + Ar.languages.markup; + Ar.hooks.add("wrap", function (e) { + if (e.type === "entity") + e.attributes.title = e.content.replace(/&/, "&"); + }); + Object.defineProperty(Ar.languages.markup.tag, "addInlined", { + value: function (t, n) { + var r = {}; + ((r["language-" + n] = { + pattern: /(^$)/i, + lookbehind: !0, + inside: Ar.languages[n], + }), + (r.cdata = /^$/i)); + var o = { + "included-cdata": { pattern: //i, inside: r }, + }; + o["language-" + n] = { pattern: /[\s\S]+/, inside: Ar.languages[n] }; + var a = {}; + ((a[t] = { + pattern: RegExp( + /(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace( + /__/g, + function () { + return t; + }, + ), + "i", + ), + lookbehind: !0, + greedy: !0, + inside: o, + }), + Ar.languages.insertBefore("markup", "cdata", a)); + }, + }); + Object.defineProperty(Ar.languages.markup.tag, "addAttribute", { + value: function (e, t) { + Ar.languages.markup.tag.inside["special-attr"].push({ + pattern: RegExp( + /(^|["'\s])/.source + + "(?:" + + e + + ")" + + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, + "i", + ), + lookbehind: !0, + inside: { + "attr-name": /^[^\s=]+/, + "attr-value": { + pattern: /=[\s\S]+/, + inside: { + value: { + pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/, + lookbehind: !0, + alias: [t, "language-" + t], + inside: Ar.languages[t], + }, + punctuation: [{ pattern: /^=/, alias: "attr-equals" }, /"|'/], + }, + }, + }, + }); + }, + }); + Ar.languages.html = Ar.languages.markup; + Ar.languages.mathml = Ar.languages.markup; + Ar.languages.svg = Ar.languages.markup; + Ar.languages.xml = Ar.languages.extend("markup", {}); + Ar.languages.ssml = Ar.languages.xml; + Ar.languages.atom = Ar.languages.xml; + Ar.languages.rss = Ar.languages.xml; + (function (e) { + var t = + /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/; + ((e.languages.css = { + comment: /\/\*[\s\S]*?\*\//, + atrule: { + pattern: RegExp( + "@[\\w-](?:" + + /[^;{\s"']|\s+(?!\s)/.source + + "|" + + t.source + + ")*?" + + /(?:;|(?=\s*\{))/.source, + ), + inside: { + rule: /^@[\w-]+/, + "selector-function-argument": { + pattern: + /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/, + lookbehind: !0, + alias: "selector", + }, + keyword: { + pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, + lookbehind: !0, + }, + }, + }, + url: { + pattern: RegExp( + "\\burl\\((?:" + + t.source + + "|" + + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + + ")\\)", + "i", + ), + greedy: !0, + inside: { + function: /^url/i, + punctuation: /^\(|\)$/, + string: { pattern: RegExp("^" + t.source + "$"), alias: "url" }, + }, + }, + selector: { + pattern: RegExp( + `(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + + t.source + + ")*(?=\\s*\\{)", + ), + lookbehind: !0, + }, + string: { pattern: t, greedy: !0 }, + property: { + pattern: + /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i, + lookbehind: !0, + }, + important: /!important\b/i, + function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i, lookbehind: !0 }, + punctuation: /[(){};:,]/, + }), + (e.languages.css.atrule.inside.rest = e.languages.css)); + var n = e.languages.markup; + if (n) + (n.tag.addInlined("style", "css"), n.tag.addAttribute("style", "css")); + })(Ar); + Ar.languages.clike = { + comment: [ + { + pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, + lookbehind: !0, + greedy: !0, + }, + { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }, + ], + string: { + pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, + greedy: !0, + }, + "class-name": { + pattern: + /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i, + lookbehind: !0, + inside: { punctuation: /[.\\]/ }, + }, + keyword: + /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/, + boolean: /\b(?:false|true)\b/, + function: /\b\w+(?=\()/, + number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, + operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, + punctuation: /[{}[\];(),.:]/, + }; + Ar.languages.javascript = Ar.languages.extend("clike", { + "class-name": [ + Ar.languages.clike["class-name"], + { + pattern: + /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/, + lookbehind: !0, + }, + ], + keyword: [ + { pattern: /((?:^|\})\s*)catch\b/, lookbehind: !0 }, + { + pattern: + /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, + lookbehind: !0, + }, + ], + function: + /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, + number: { + pattern: RegExp( + /(^|[^\w$])/.source + + "(?:" + + (/NaN|Infinity/.source + + "|" + + /0[bB][01]+(?:_[01]+)*n?/.source + + "|" + + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + + "|" + + /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + + "|" + + /\d+(?:_\d+)*n/.source + + "|" + + /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/ + .source) + + ")" + + /(?![\w$])/.source, + ), + lookbehind: !0, + }, + operator: + /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/, + }); + Ar.languages.javascript["class-name"][0].pattern = + /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/; + Ar.languages.insertBefore("javascript", "keyword", { + regex: { + pattern: RegExp( + /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + + /\//.source + + "(?:" + + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/ + .source + + "|" + + /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/ + .source + + ")" + + /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/ + .source, + ), + lookbehind: !0, + greedy: !0, + inside: { + "regex-source": { + pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, + lookbehind: !0, + alias: "language-regex", + inside: Ar.languages.regex, + }, + "regex-delimiter": /^\/|\/$/, + "regex-flags": /^[a-z]+$/, + }, + }, + "function-variable": { + pattern: + /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/, + alias: "function", + }, + parameter: [ + { + pattern: + /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/, + lookbehind: !0, + inside: Ar.languages.javascript, + }, + { + pattern: + /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i, + lookbehind: !0, + inside: Ar.languages.javascript, + }, + { + pattern: + /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/, + lookbehind: !0, + inside: Ar.languages.javascript, + }, + { + pattern: + /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/, + lookbehind: !0, + inside: Ar.languages.javascript, + }, + ], + constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/, + }); + Ar.languages.insertBefore("javascript", "string", { + hashbang: { pattern: /^#!.*/, greedy: !0, alias: "comment" }, + "template-string": { + pattern: + /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/, + greedy: !0, + inside: { + "template-punctuation": { pattern: /^`|`$/, alias: "string" }, + interpolation: { + pattern: + /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/, + lookbehind: !0, + inside: { + "interpolation-punctuation": { + pattern: /^\$\{|\}$/, + alias: "punctuation", + }, + rest: Ar.languages.javascript, + }, + }, + string: /[\s\S]+/, + }, + }, + "string-property": { + pattern: + /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m, + lookbehind: !0, + greedy: !0, + alias: "property", + }, + }); + Ar.languages.insertBefore("javascript", "operator", { + "literal-property": { + pattern: + /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m, + lookbehind: !0, + alias: "property", + }, + }); + if (Ar.languages.markup) + (Ar.languages.markup.tag.addInlined("script", "javascript"), + Ar.languages.markup.tag.addAttribute( + /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/ + .source, + "javascript", + )); + Ar.languages.js = Ar.languages.javascript; + (function () { + if (typeof Ar > "u" || typeof document > "u") return; + if (!Element.prototype.matches) + Element.prototype.matches = + Element.prototype.msMatchesSelector || + Element.prototype.webkitMatchesSelector; + var e = "Loading…", + t = function (p, f) { + return "✖ Error " + p + " while fetching file: " + f; + }, + n = "✖ Error: File does not exist or is empty", + r = { + js: "javascript", + py: "python", + rb: "ruby", + ps1: "powershell", + psm1: "powershell", + sh: "bash", + bat: "batch", + h: "c", + tex: "latex", + }, + o = "data-src-status", + a = "loading", + i = "loaded", + s = "failed", + l = + "pre[data-src]:not([" + + o + + '="' + + i + + '"]):not([' + + o + + '="' + + a + + '"])'; + function c(p, f, m) { + var g = new XMLHttpRequest(); + (g.open("GET", p, !0), + (g.onreadystatechange = function () { + if (g.readyState == 4) + if (g.status < 400 && g.responseText) f(g.responseText); + else if (g.status >= 400) m(t(g.status, g.statusText)); + else m(n); + }), + g.send(null)); + } + function u(p) { + var f = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(p || ""); + if (f) { + var m = Number(f[1]), + g = f[2], + v = f[3]; + if (!g) return [m, m]; + if (!v) return [m, void 0]; + return [m, Number(v)]; + } + return; + } + (Ar.hooks.add("before-highlightall", function (p) { + p.selector += ", " + l; + }), + Ar.hooks.add("before-sanity-check", function (p) { + var f = p.element; + if (f.matches(l)) { + ((p.code = ""), f.setAttribute(o, a)); + var m = f.appendChild(document.createElement("CODE")); + m.textContent = e; + var g = f.getAttribute("data-src"), + v = p.language; + if (v === "none") { + var y = (/\.(\w+)$/.exec(g) || [, "none"])[1]; + v = r[y] || y; + } + (Ar.util.setLanguage(m, v), Ar.util.setLanguage(f, v)); + var x = Ar.plugins.autoloader; + if (x) x.loadLanguages(v); + c( + g, + function (A) { + f.setAttribute(o, i); + var w = u(f.getAttribute("data-range")); + if (w) { + var C = A.split(/\r\n?|\n/g), + E = w[0], + T = w[1] == null ? C.length : w[1]; + if (E < 0) E += C.length; + if (((E = Math.max(0, Math.min(E - 1, C.length))), T < 0)) + T += C.length; + if ( + ((T = Math.max(0, Math.min(T, C.length))), + (A = C.slice(E, T).join(` +`)), + !f.hasAttribute("data-start")) + ) + f.setAttribute("data-start", String(E + 1)); + } + ((m.textContent = A), Ar.highlightElement(m)); + }, + function (A) { + (f.setAttribute(o, s), (m.textContent = A)); + }, + ); + } + }), + (Ar.plugins.fileHighlight = { + highlight: function (f) { + var m = (f || document).querySelectorAll(l); + for (var g = 0, v; (v = m[g++]);) Ar.highlightElement(v); + }, + })); + var d = !1; + Ar.fileHighlight = function () { + if (!d) + (console.warn( + "Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.", + ), + (d = !0)); + Ar.plugins.fileHighlight.highlight.apply(this, arguments); + }; + })(); +}); +var ypn = P(() => { + Prism.languages.applescript = { + comment: [ + /\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/, + /--.+/, + /#.+/, + ], + string: /"(?:\\.|[^"\\\r\n])*"/, + number: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i, + operator: [ + /[&=≠≤≥*+\-\/÷^]|[<>]=?/, + /\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\b/, + ], + keyword: + /\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/, + "class-name": + /\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\b/, + punctuation: /[{}():,¬«»《》]/, + }; +}); +var vpn = P(() => { + (function (e) { + var t = + "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b", + n = { + pattern: /(^(["']?)\w+\2)[ \t]+\S.*/, + lookbehind: !0, + alias: "punctuation", + inside: null, + }, + r = { + bash: n, + environment: { pattern: RegExp("\\$" + t), alias: "constant" }, + variable: [ + { + pattern: /\$?\(\([\s\S]+?\)\)/, + greedy: !0, + inside: { + variable: [ + { pattern: /(^\$\(\([\s\S]+)\)\)/, lookbehind: !0 }, + /^\$\(\(/, + ], + number: + /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/, + operator: + /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/, + punctuation: /\(\(?|\)\)?|,|;/, + }, + }, + { + pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/, + greedy: !0, + inside: { variable: /^\$\(|^`|\)$|`$/ }, + }, + { + pattern: /\$\{[^}]+\}/, + greedy: !0, + inside: { + operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/, + punctuation: /[\[\]]/, + environment: { + pattern: RegExp("(\\{)" + t), + lookbehind: !0, + alias: "constant", + }, + }, + }, + /\$(?:\w+|[#?*!@$])/, + ], + entity: + /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/, + }; + ((e.languages.bash = { + shebang: { pattern: /^#!\s*\/.*/, alias: "important" }, + comment: { pattern: /(^|[^"{\\$])#.*/, lookbehind: !0 }, + "function-name": [ + { + pattern: /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/, + lookbehind: !0, + alias: "function", + }, + { pattern: /\b[\w-]+(?=\s*\(\s*\)\s*\{)/, alias: "function" }, + ], + "for-or-select": { + pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/, + alias: "variable", + lookbehind: !0, + }, + "assign-left": { + pattern: /(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/, + inside: { + environment: { + pattern: RegExp("(^|[\\s;|&]|[<>]\\()" + t), + lookbehind: !0, + alias: "constant", + }, + }, + alias: "variable", + lookbehind: !0, + }, + parameter: { + pattern: /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/, + alias: "variable", + lookbehind: !0, + }, + string: [ + { + pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/, + lookbehind: !0, + greedy: !0, + inside: r, + }, + { + pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/, + lookbehind: !0, + greedy: !0, + inside: { bash: n }, + }, + { + pattern: + /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/, + lookbehind: !0, + greedy: !0, + inside: r, + }, + { pattern: /(^|[^$\\])'[^']*'/, lookbehind: !0, greedy: !0 }, + { + pattern: /\$'(?:[^'\\]|\\[\s\S])*'/, + greedy: !0, + inside: { entity: r.entity }, + }, + ], + environment: { pattern: RegExp("\\$?" + t), alias: "constant" }, + variable: r.variable, + function: { + pattern: + /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/, + lookbehind: !0, + }, + keyword: { + pattern: + /(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/, + lookbehind: !0, + }, + builtin: { + pattern: + /(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/, + lookbehind: !0, + alias: "class-name", + }, + boolean: { + pattern: /(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/, + lookbehind: !0, + }, + "file-descriptor": { pattern: /\B&\d\b/, alias: "important" }, + operator: { + pattern: + /\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/, + inside: { "file-descriptor": { pattern: /^\d/, alias: "important" } }, + }, + punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/, + number: { pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/, lookbehind: !0 }, + }), + (n.inside = e.languages.bash)); + var o = [ + "comment", + "function-name", + "for-or-select", + "assign-left", + "parameter", + "string", + "environment", + "function", + "keyword", + "builtin", + "boolean", + "file-descriptor", + "operator", + "punctuation", + "number", + ], + a = r.variable[1].inside; + for (var i = 0; i < o.length; i++) a[o[i]] = e.languages.bash[o[i]]; + ((e.languages.sh = e.languages.bash), + (e.languages.shell = e.languages.bash)); + })(Prism); +}); +var bpn = P(() => { + Prism.languages.c = Prism.languages.extend("clike", { + comment: { + pattern: + /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/, + greedy: !0, + }, + string: { pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, greedy: !0 }, + "class-name": { + pattern: + /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/, + lookbehind: !0, + }, + keyword: + /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/, + function: /\b[a-z_]\w*(?=\s*\()/i, + number: + /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i, + operator: />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/, + }); + Prism.languages.insertBefore("c", "string", { + char: { pattern: /'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/, greedy: !0 }, + }); + Prism.languages.insertBefore("c", "string", { + macro: { + pattern: + /(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im, + lookbehind: !0, + greedy: !0, + alias: "property", + inside: { + string: [ + { pattern: /^(#\s*include\s*)<[^>]+>/, lookbehind: !0 }, + Prism.languages.c.string, + ], + char: Prism.languages.c.char, + comment: Prism.languages.c.comment, + "macro-name": [ + { pattern: /(^#\s*define\s+)\w+\b(?!\()/i, lookbehind: !0 }, + { + pattern: /(^#\s*define\s+)\w+\b(?=\()/i, + lookbehind: !0, + alias: "function", + }, + ], + directive: { + pattern: /^(#\s*)[a-z]+/, + lookbehind: !0, + alias: "keyword", + }, + "directive-hash": /^#/, + punctuation: /##|\\(?=[\r\n])/, + expression: { pattern: /\S[\s\S]*/, inside: Prism.languages.c }, + }, + }, + }); + Prism.languages.insertBefore("c", "function", { + constant: + /\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/, + }); + delete Prism.languages.c.boolean; +}); +var xpn = P(() => { + (function (e) { + var t = + /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, + n = /\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace( + //g, + function () { + return t.source; + }, + ); + ((e.languages.cpp = e.languages.extend("c", { + "class-name": [ + { + pattern: RegExp( + /(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace( + //g, + function () { + return t.source; + }, + ), + ), + lookbehind: !0, + }, + /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, + /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i, + /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/, + ], + keyword: t, + number: { + pattern: + /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i, + greedy: !0, + }, + operator: + />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/, + boolean: /\b(?:false|true)\b/, + })), + e.languages.insertBefore("cpp", "string", { + module: { + pattern: RegExp( + /(\b(?:import|module)\s+)/.source + + "(?:" + + /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source + + "|" + + /(?:\s*:\s*)?|:\s*/.source.replace( + //g, + function () { + return n; + }, + ) + + ")", + ), + lookbehind: !0, + greedy: !0, + inside: { string: /^[<"][\s\S]+/, operator: /:/, punctuation: /\./ }, + }, + "raw-string": { + pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, + alias: "string", + greedy: !0, + }, + }), + e.languages.insertBefore("cpp", "keyword", { + "generic-function": { + pattern: + /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i, + inside: { + function: /^\w+/, + generic: { + pattern: /<[\s\S]+/, + alias: "class-name", + inside: e.languages.cpp, + }, + }, + }, + }), + e.languages.insertBefore("cpp", "operator", { + "double-colon": { pattern: /::/, alias: "punctuation" }, + }), + e.languages.insertBefore("cpp", "class-name", { + "base-clause": { + pattern: + /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/, + lookbehind: !0, + greedy: !0, + inside: e.languages.extend("cpp", {}), + }, + }), + e.languages.insertBefore( + "inside", + "double-colon", + { "class-name": /\b[a-z_]\w*\b(?!\s*::)/i }, + e.languages.cpp["base-clause"], + )); + })(Prism); +}); +var Apn = P(() => { + (function (e) { + ((e.languages.ruby = e.languages.extend("clike", { + comment: { pattern: /#.*|^=begin\s[\s\S]*?^=end/m, greedy: !0 }, + "class-name": { + pattern: + /(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/, + lookbehind: !0, + inside: { punctuation: /[.\\]/ }, + }, + keyword: + /\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/, + operator: + /\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/, + punctuation: /[(){}[\].,;]/, + })), + e.languages.insertBefore("ruby", "operator", { + "double-colon": { pattern: /::/, alias: "punctuation" }, + })); + var t = { + pattern: /((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/, + lookbehind: !0, + inside: { + content: { + pattern: /^(#\{)[\s\S]+(?=\}$)/, + lookbehind: !0, + inside: e.languages.ruby, + }, + delimiter: { pattern: /^#\{|\}$/, alias: "punctuation" }, + }, + }; + delete e.languages.ruby.function; + var n = + "(?:" + + [ + /([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source, + /\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source, + /\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source, + /\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source, + /<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source, + ].join("|") + + ")", + r = /(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/ + .source; + (e.languages.insertBefore("ruby", "keyword", { + "regex-literal": [ + { + pattern: RegExp(/%r/.source + n + /[egimnosux]{0,6}/.source), + greedy: !0, + inside: { interpolation: t, regex: /[\s\S]+/ }, + }, + { + pattern: + /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/, + lookbehind: !0, + greedy: !0, + inside: { interpolation: t, regex: /[\s\S]+/ }, + }, + ], + variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/, + symbol: [ + { pattern: RegExp(/(^|[^:]):/.source + r), lookbehind: !0, greedy: !0 }, + { + pattern: RegExp(/([\r\n{(,][ \t]*)/.source + r + /(?=:(?!:))/.source), + lookbehind: !0, + greedy: !0, + }, + ], + "method-definition": { + pattern: /(\bdef\s+)\w+(?:\s*\.\s*\w+)?/, + lookbehind: !0, + inside: { + function: /\b\w+$/, + keyword: /^self\b/, + "class-name": /^\w+/, + punctuation: /\./, + }, + }, + }), + e.languages.insertBefore("ruby", "string", { + "string-literal": [ + { + pattern: RegExp(/%[qQiIwWs]?/.source + n), + greedy: !0, + inside: { interpolation: t, string: /[\s\S]+/ }, + }, + { + pattern: + /("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/, + greedy: !0, + inside: { interpolation: t, string: /[\s\S]+/ }, + }, + { + pattern: /<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i, + alias: "heredoc-string", + greedy: !0, + inside: { + delimiter: { + pattern: /^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i, + inside: { symbol: /\b\w+/, punctuation: /^<<[-~]?/ }, + }, + interpolation: t, + string: /[\s\S]+/, + }, + }, + { + pattern: /<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i, + alias: "heredoc-string", + greedy: !0, + inside: { + delimiter: { + pattern: /^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i, + inside: { symbol: /\b\w+/, punctuation: /^<<[-~]?'|'$/ }, + }, + string: /[\s\S]+/, + }, + }, + ], + "command-literal": [ + { + pattern: RegExp(/%x/.source + n), + greedy: !0, + inside: { + interpolation: t, + command: { pattern: /[\s\S]+/, alias: "string" }, + }, + }, + { + pattern: /`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/, + greedy: !0, + inside: { + interpolation: t, + command: { pattern: /[\s\S]+/, alias: "string" }, + }, + }, + ], + }), + delete e.languages.ruby.string, + e.languages.insertBefore("ruby", "number", { + builtin: + /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/, + constant: /\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/, + }), + (e.languages.rb = e.languages.ruby)); + })(Prism); +}); +var wpn = P(() => { + (function (e) { + ((e.languages.crystal = e.languages.extend("ruby", { + keyword: [ + /\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/, + { pattern: /(\.\s*)(?:is_a|responds_to)\?/, lookbehind: !0 }, + ], + number: + /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/, + operator: [/->/, e.languages.ruby.operator], + punctuation: /[(){}[\].,;\\]/, + })), + e.languages.insertBefore("crystal", "string-literal", { + attribute: { + pattern: /@\[.*?\]/, + inside: { + delimiter: { pattern: /^@\[|\]$/, alias: "punctuation" }, + attribute: { + pattern: /^(\s*)\w+/, + lookbehind: !0, + alias: "class-name", + }, + args: { pattern: /\S(?:[\s\S]*\S)?/, inside: e.languages.crystal }, + }, + }, + expansion: { + pattern: /\{(?:\{.*?\}|%.*?%)\}/, + inside: { + content: { + pattern: /^(\{.)[\s\S]+(?=.\}$)/, + lookbehind: !0, + inside: e.languages.crystal, + }, + delimiter: { pattern: /^\{[\{%]|[\}%]\}$/, alias: "operator" }, + }, + }, + char: { + pattern: + /'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/, + greedy: !0, + }, + })); + })(Prism); +}); +var Spn = P(() => { + (function (e) { + function t(q, H) { + return q.replace(/<<(\d+)>>/g, function (te, ie) { + return "(?:" + H[+ie] + ")"; + }); + } + function n(q, H, te) { + return RegExp(t(q, H), te || ""); + } + function r(q, H) { + for (var te = 0; te < H; te++) + q = q.replace(/<>/g, function () { + return "(?:" + q + ")"; + }); + return q.replace(/<>/g, "[^\\s\\S]"); + } + var o = { + type: "bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void", + typeDeclaration: "class enum interface record struct", + contextual: + "add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)", + other: + "abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield", + }; + function a(q) { + return "\\b(?:" + q.trim().replace(/ /g, "|") + ")\\b"; + } + var i = a(o.typeDeclaration), + s = RegExp( + a( + o.type + " " + o.typeDeclaration + " " + o.contextual + " " + o.other, + ), + ), + l = a(o.typeDeclaration + " " + o.contextual + " " + o.other), + c = a(o.type + " " + o.typeDeclaration + " " + o.other), + u = r(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source, 2), + d = r(/\((?:[^()]|<>)*\)/.source, 2), + p = /@?\b[A-Za-z_]\w*\b/.source, + f = t(/<<0>>(?:\s*<<1>>)?/.source, [p, u]), + m = t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source, [l, f]), + g = /\[\s*(?:,\s*)*\]/.source, + v = t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source, [m, g]), + y = t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source, [u, d, g]), + x = t(/\(<<0>>+(?:,<<0>>+)+\)/.source, [y]), + A = t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source, [ + x, + m, + g, + ]), + w = { keyword: s, punctuation: /[<>()?,.:[\]]/ }, + C = /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source, + E = /"(?:\\.|[^\\"\r\n])*"/.source, + T = /@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source; + ((e.languages.csharp = e.languages.extend("clike", { + string: [ + { + pattern: n(/(^|[^$\\])<<0>>/.source, [T]), + lookbehind: !0, + greedy: !0, + }, + { + pattern: n(/(^|[^@$\\])<<0>>/.source, [E]), + lookbehind: !0, + greedy: !0, + }, + ], + "class-name": [ + { + pattern: n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source, [m]), + lookbehind: !0, + inside: w, + }, + { + pattern: n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source, [p, A]), + lookbehind: !0, + inside: w, + }, + { pattern: n(/(\busing\s+)<<0>>(?=\s*=)/.source, [p]), lookbehind: !0 }, + { + pattern: n(/(\b<<0>>\s+)<<1>>/.source, [i, f]), + lookbehind: !0, + inside: w, + }, + { + pattern: n(/(\bcatch\s*\(\s*)<<0>>/.source, [m]), + lookbehind: !0, + inside: w, + }, + { pattern: n(/(\bwhere\s+)<<0>>/.source, [p]), lookbehind: !0 }, + { + pattern: n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source, [v]), + lookbehind: !0, + inside: w, + }, + { + pattern: n( + /\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/ + .source, + [A, c, p], + ), + inside: w, + }, + ], + keyword: s, + number: + /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i, + operator: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/, + punctuation: /\?\.?|::|[{}[\];(),.:]/, + })), + e.languages.insertBefore("csharp", "number", { + range: { pattern: /\.\./, alias: "operator" }, + }), + e.languages.insertBefore("csharp", "punctuation", { + "named-parameter": { + pattern: n(/([(,]\s*)<<0>>(?=\s*:)/.source, [p]), + lookbehind: !0, + alias: "punctuation", + }, + }), + e.languages.insertBefore("csharp", "class-name", { + namespace: { + pattern: n( + /(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/ + .source, + [p], + ), + lookbehind: !0, + inside: { punctuation: /\./ }, + }, + "type-expression": { + pattern: n( + /(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/ + .source, + [d], + ), + lookbehind: !0, + alias: "class-name", + inside: w, + }, + "return-type": { + pattern: n( + /<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ + .source, + [A, m], + ), + inside: w, + alias: "class-name", + }, + "constructor-invocation": { + pattern: n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source, [A]), + lookbehind: !0, + inside: w, + alias: "class-name", + }, + "generic-method": { + pattern: n(/<<0>>\s*<<1>>(?=\s*\()/.source, [p, u]), + inside: { + function: n(/^<<0>>/.source, [p]), + generic: { pattern: RegExp(u), alias: "class-name", inside: w }, + }, + }, + "type-list": { + pattern: n( + /\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/ + .source, + [i, f, p, A, s.source, d, /\bnew\s*\(\s*\)/.source], + ), + lookbehind: !0, + inside: { + "record-arguments": { + pattern: n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source, [f, d]), + lookbehind: !0, + greedy: !0, + inside: e.languages.csharp, + }, + keyword: s, + "class-name": { pattern: RegExp(A), greedy: !0, inside: w }, + punctuation: /[,()]/, + }, + }, + preprocessor: { + pattern: /(^[\t ]*)#.*/m, + lookbehind: !0, + alias: "property", + inside: { + directive: { + pattern: + /(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/, + lookbehind: !0, + alias: "keyword", + }, + }, + }, + })); + var I = E + "|" + C, + k = t( + /\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source, + [I], + ), + L = r(t(/[^"'/()]|<<0>>|\(<>*\)/.source, [k]), 2), + O = + /\b(?:assembly|event|field|method|module|param|property|return|type)\b/ + .source, + B = t(/<<0>>(?:\s*\(<<1>>*\))?/.source, [m, L]); + e.languages.insertBefore("csharp", "class-name", { + attribute: { + pattern: n( + /((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/ + .source, + [O, B], + ), + lookbehind: !0, + greedy: !0, + inside: { + target: { + pattern: n(/^<<0>>(?=\s*:)/.source, [O]), + alias: "keyword", + }, + "attribute-arguments": { + pattern: n(/\(<<0>>*\)/.source, [L]), + inside: e.languages.csharp, + }, + "class-name": { pattern: RegExp(m), inside: { punctuation: /\./ } }, + punctuation: /[:,]/, + }, + }, + }); + var U = /:[^}\r\n]+/.source, + D = r(t(/[^"'/()]|<<0>>|\(<>*\)/.source, [k]), 2), + N = t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [D, U]), + _ = r( + t( + /[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/ + .source, + [I], + ), + 2, + ), + G = t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source, [_, U]); + function Z(q, H) { + return { + interpolation: { + pattern: n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source, [q]), + lookbehind: !0, + inside: { + "format-string": { + pattern: n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source, [H, U]), + lookbehind: !0, + inside: { punctuation: /^:/ }, + }, + punctuation: /^\{|\}$/, + expression: { + pattern: /[\s\S]+/, + alias: "language-csharp", + inside: e.languages.csharp, + }, + }, + }, + string: /[\s\S]+/, + }; + } + (e.languages.insertBefore("csharp", "string", { + "interpolation-string": [ + { + pattern: n( + /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source, + [N], + ), + lookbehind: !0, + greedy: !0, + inside: Z(N, D), + }, + { + pattern: n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source, [G]), + lookbehind: !0, + greedy: !0, + inside: Z(G, _), + }, + ], + char: { pattern: RegExp(C), greedy: !0 }, + }), + (e.languages.dotnet = e.languages.cs = e.languages.csharp)); + })(Prism); +}); +var Cpn = P(() => { + (function (e) { + var t = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, + n; + ((e.languages.css.selector = { + pattern: e.languages.css.selector.pattern, + lookbehind: !0, + inside: (n = { + "pseudo-element": + /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/, + "pseudo-class": /:[-\w]+/, + class: /\.[-\w]+/, + id: /#[-\w]+/, + attribute: { + pattern: RegExp(`\\[(?:[^[\\]"']|` + t.source + ")*\\]"), + greedy: !0, + inside: { + punctuation: /^\[|\]$/, + "case-sensitivity": { + pattern: /(\s)[si]$/i, + lookbehind: !0, + alias: "keyword", + }, + namespace: { + pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/, + lookbehind: !0, + inside: { punctuation: /\|$/ }, + }, + "attr-name": { + pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/, + lookbehind: !0, + }, + "attr-value": [ + t, + { + pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/, + lookbehind: !0, + }, + ], + operator: /[|~*^$]?=/, + }, + }, + "n-th": [ + { + pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/, + lookbehind: !0, + inside: { number: /[\dn]+/, operator: /[+-]/ }, + }, + { pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i, lookbehind: !0 }, + ], + combinator: />|\+|~|\|\|/, + punctuation: /[(),]/, + }), + }), + (e.languages.css.atrule.inside["selector-function-argument"].inside = n), + e.languages.insertBefore("css", "property", { + variable: { + pattern: + /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i, + lookbehind: !0, + }, + })); + var r = { pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/, lookbehind: !0 }, + o = { pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/, lookbehind: !0 }; + e.languages.insertBefore("css", "function", { + operator: { pattern: /(\s)[+\-*\/](?=\s)/, lookbehind: !0 }, + hexcode: { pattern: /\B#[\da-f]{3,8}\b/i, alias: "color" }, + color: [ + { + pattern: + /(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|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|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i, + lookbehind: !0, + }, + { + pattern: + /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i, + inside: { + unit: r, + number: o, + function: /[\w-]+(?=\()/, + punctuation: /[(),]/, + }, + }, + ], + entity: /\\[\da-f]{1,8}/i, + unit: r, + number: o, + }); + })(Prism); +}); +var Epn = P(() => { + Prism.languages.csv = { + value: /[^\r\n,"]+|"(?:[^"]|"")*"(?!")/, + punctuation: /,/, + }; +}); +var Ipn = P(() => { + Prism.languages.d = Prism.languages.extend("clike", { + comment: [ + { pattern: /^\s*#!.+/, greedy: !0 }, + { + pattern: RegExp( + /(^|[^\\])/.source + + "(?:" + + [ + /\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source, + /\/\/.*/.source, + /\/\*[\s\S]*?\*\//.source, + ].join("|") + + ")", + ), + lookbehind: !0, + greedy: !0, + }, + ], + string: [ + { + pattern: RegExp( + [ + /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source, + /\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source, + /\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source, + /\bq"(.)[\s\S]*?\2"/.source, + /(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source, + ].join("|"), + "m", + ), + greedy: !0, + }, + { + pattern: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/, + greedy: !0, + alias: "token-string", + }, + ], + keyword: + /\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/, + number: [ + /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i, + { + pattern: + /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i, + lookbehind: !0, + }, + ], + operator: + /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/, + }); + Prism.languages.insertBefore("d", "string", { + char: /'(?:\\(?:\W|\w+)|[^\\])'/, + }); + Prism.languages.insertBefore("d", "keyword", { property: /\B@\w*/ }); + Prism.languages.insertBefore("d", "function", { + register: { + pattern: + /\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/, + alias: "variable", + }, + }); +}); +var Tpn = P(() => { + (function (e) { + var t = [ + /\b(?:async|sync|yield)\*/, + /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/, + ], + n = /(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source, + r = { + pattern: RegExp(n + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source), + lookbehind: !0, + inside: { + namespace: { + pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/, + inside: { punctuation: /\./ }, + }, + }, + }; + ((e.languages.dart = e.languages.extend("clike", { + "class-name": [ + r, + { + pattern: RegExp(n + /[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source), + lookbehind: !0, + inside: r.inside, + }, + ], + keyword: t, + operator: + /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/, + })), + e.languages.insertBefore("dart", "string", { + "string-literal": { + pattern: + /r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/, + greedy: !0, + inside: { + interpolation: { + pattern: + /((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/, + lookbehind: !0, + inside: { + punctuation: /^\$\{?|\}$/, + expression: { pattern: /[\s\S]+/, inside: e.languages.dart }, + }, + }, + string: /[\s\S]+/, + }, + }, + string: void 0, + }), + e.languages.insertBefore("dart", "class-name", { + metadata: { pattern: /@\w+/, alias: "function" }, + }), + e.languages.insertBefore("dart", "class-name", { + generics: { + pattern: + /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/, + inside: { + "class-name": r, + keyword: t, + punctuation: /[<>(),.:]/, + operator: /[?&|]/, + }, + }, + })); + })(Prism); +}); +var kpn = P(() => { + (function (e) { + var t = /\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source, + n = /(?:[ \t]+(?![ \t])(?:)?|)/.source.replace( + //g, + function () { + return t; + }, + ), + r = + /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/ + .source, + o = /--[\w-]+=(?:|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace( + //g, + function () { + return r; + }, + ), + a = { pattern: RegExp(r), greedy: !0 }, + i = { pattern: /(^[ \t]*)#.*/m, lookbehind: !0, greedy: !0 }; + function s(l, c) { + return ( + (l = l + .replace(//g, function () { + return o; + }) + .replace(//g, function () { + return n; + })), + RegExp(l, c) + ); + } + ((e.languages.docker = { + instruction: { + pattern: + /(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im, + lookbehind: !0, + greedy: !0, + inside: { + options: { + pattern: s( + /(^(?:ONBUILD)?\w+)(?:)*/.source, + "i", + ), + lookbehind: !0, + greedy: !0, + inside: { + property: { pattern: /(^|\s)--[\w-]+/, lookbehind: !0 }, + string: [ + a, + { pattern: /(=)(?!["'])(?:[^\s\\]|\\.)+/, lookbehind: !0 }, + ], + operator: /\\$/m, + punctuation: /=/, + }, + }, + keyword: [ + { + pattern: s( + /(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\b/ + .source, + "i", + ), + lookbehind: !0, + greedy: !0, + }, + { + pattern: s( + /(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\]+)AS/ + .source, + "i", + ), + lookbehind: !0, + greedy: !0, + }, + { + pattern: s(/(^ONBUILD)\w+/.source, "i"), + lookbehind: !0, + greedy: !0, + }, + { pattern: /^\w+/, greedy: !0 }, + ], + comment: i, + string: a, + variable: /\$(?:\w+|\{[^{}"'\\]*\})/, + operator: /\\$/m, + }, + }, + comment: i, + }), + (e.languages.dockerfile = e.languages.docker)); + })(Prism); +}); +var Rpn = P(() => { + Prism.languages["go-mod"] = Prism.languages["go-module"] = { + comment: { pattern: /\/\/.*/, greedy: !0 }, + version: { + pattern: /(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/, + lookbehind: !0, + alias: "number", + }, + "go-version": { + pattern: /((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/, + lookbehind: !0, + alias: "number", + }, + keyword: { + pattern: /^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m, + lookbehind: !0, + }, + operator: /=>/, + punctuation: /[()[\],]/, + }; +}); +var Ppn = P(() => { + Prism.languages.go = Prism.languages.extend("clike", { + string: { + pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/, + lookbehind: !0, + greedy: !0, + }, + keyword: + /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/, + boolean: /\b(?:_|false|iota|nil|true)\b/, + number: [ + /\b0(?:b[01_]+|o[0-7_]+)i?\b/i, + /\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i, + /(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i, + ], + operator: + /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./, + builtin: + /\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/, + }); + Prism.languages.insertBefore("go", "string", { + char: { pattern: /'(?:\\.|[^'\\\r\n]){0,10}'/, greedy: !0 }, + }); + delete Prism.languages.go["class-name"]; +}); +var Mpn = P(() => { + Prism.languages.haskell = { + comment: { + pattern: + /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m, + lookbehind: !0, + }, + char: { + pattern: + /'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/, + alias: "string", + }, + string: { pattern: /"(?:[^\\"]|\\(?:\S|\s+\\))*"/, greedy: !0 }, + keyword: + /\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/, + "import-statement": { + pattern: + /(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m, + lookbehind: !0, + inside: { + keyword: /\b(?:as|hiding|import|qualified)\b/, + punctuation: /\./, + }, + }, + builtin: + /\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/, + number: /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i, + operator: [ + { pattern: /`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/, greedy: !0 }, + { pattern: /(\s)\.(?=\s)/, lookbehind: !0 }, + /[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/, + ], + hvariable: { + pattern: /\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/, + inside: { punctuation: /\./ }, + }, + constant: { + pattern: /\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/, + inside: { punctuation: /\./ }, + }, + punctuation: /[{}[\];(),.:]/, + }; + Prism.languages.hs = Prism.languages.haskell; +}); +var Dpn = P(() => { + Prism.languages.ini = { + comment: { pattern: /(^[ \f\t\v]*)[#;][^\n\r]*/m, lookbehind: !0 }, + section: { + pattern: /(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m, + lookbehind: !0, + inside: { + "section-name": { + pattern: /(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/, + lookbehind: !0, + alias: "selector", + }, + punctuation: /\[|\]/, + }, + }, + key: { + pattern: + /(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m, + lookbehind: !0, + alias: "attr-name", + }, + value: { + pattern: /(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/, + lookbehind: !0, + alias: "attr-value", + inside: { "inner-value": { pattern: /^("|').+(?=\1$)/, lookbehind: !0 } }, + }, + punctuation: /=/, + }; +}); +var Lpn = P(() => { + (function (e) { + var t = + /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/, + n = /(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source, + r = { + pattern: RegExp( + /(^|[^\w.])/.source + n + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source, + ), + lookbehind: !0, + inside: { + namespace: { + pattern: /^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/, + inside: { punctuation: /\./ }, + }, + punctuation: /\./, + }, + }; + ((e.languages.java = e.languages.extend("clike", { + string: { + pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"/, + lookbehind: !0, + greedy: !0, + }, + "class-name": [ + r, + { + pattern: RegExp( + /(^|[^\w.])/.source + + n + + /[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/ + .source, + ), + lookbehind: !0, + inside: r.inside, + }, + { + pattern: RegExp( + /(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/ + .source + + n + + /[A-Z]\w*\b/.source, + ), + lookbehind: !0, + inside: r.inside, + }, + ], + keyword: t, + function: [ + e.languages.clike.function, + { pattern: /(::\s*)[a-z_]\w*/, lookbehind: !0 }, + ], + number: + /\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i, + operator: { + pattern: + /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m, + lookbehind: !0, + }, + constant: /\b[A-Z][A-Z_\d]+\b/, + })), + e.languages.insertBefore("java", "string", { + "triple-quoted-string": { + pattern: /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/, + greedy: !0, + alias: "string", + }, + char: { pattern: /'(?:\\.|[^'\\\r\n]){1,6}'/, greedy: !0 }, + }), + e.languages.insertBefore("java", "class-name", { + annotation: { + pattern: /(^|[^.])@\w+(?:\s*\.\s*\w+)*/, + lookbehind: !0, + alias: "punctuation", + }, + generics: { + pattern: + /<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/, + inside: { + "class-name": r, + keyword: t, + punctuation: /[<>(),.:]/, + operator: /[?&|]/, + }, + }, + import: [ + { + pattern: RegExp( + /(\bimport\s+)/.source + n + /(?:[A-Z]\w*|\*)(?=\s*;)/.source, + ), + lookbehind: !0, + inside: { + namespace: r.inside.namespace, + punctuation: /\./, + operator: /\*/, + "class-name": /\w+/, + }, + }, + { + pattern: RegExp( + /(\bimport\s+static\s+)/.source + n + /(?:\w+|\*)(?=\s*;)/.source, + ), + lookbehind: !0, + alias: "static", + inside: { + namespace: r.inside.namespace, + static: /\b\w+$/, + punctuation: /\./, + operator: /\*/, + "class-name": /\w+/, + }, + }, + ], + namespace: { + pattern: RegExp( + /(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace( + //g, + function () { + return t.source; + }, + ), + ), + lookbehind: !0, + inside: { punctuation: /\./ }, + }, + })); + })(Prism); +}); +var Bpn = P(() => { + (function (e) { + (e.languages.insertBefore("javascript", "function-variable", { + "method-variable": { + pattern: RegExp( + "(\\.\\s*)" + + e.languages.javascript["function-variable"].pattern.source, + ), + lookbehind: !0, + alias: ["function-variable", "method", "function", "property-access"], + }, + }), + e.languages.insertBefore("javascript", "function", { + method: { + pattern: RegExp("(\\.\\s*)" + e.languages.javascript.function.source), + lookbehind: !0, + alias: ["function", "property-access"], + }, + }), + e.languages.insertBefore("javascript", "constant", { + "known-class-name": [ + { + pattern: + /\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/, + alias: "class-name", + }, + { pattern: /\b(?:[A-Z]\w*)Error\b/, alias: "class-name" }, + ], + })); + function t(s, l) { + return RegExp( + s.replace(//g, function () { + return /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/ + .source; + }), + l, + ); + } + (e.languages.insertBefore("javascript", "keyword", { + imports: { + pattern: t( + /(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/ + .source, + ), + lookbehind: !0, + inside: e.languages.javascript, + }, + exports: { + pattern: t( + /(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/ + .source, + ), + lookbehind: !0, + inside: e.languages.javascript, + }, + }), + e.languages.javascript.keyword.unshift( + { pattern: /\b(?:as|default|export|from|import)\b/, alias: "module" }, + { + pattern: + /\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/, + alias: "control-flow", + }, + { pattern: /\bnull\b/, alias: ["null", "nil"] }, + { pattern: /\bundefined\b/, alias: "nil" }, + ), + e.languages.insertBefore("javascript", "operator", { + spread: { pattern: /\.{3}/, alias: "operator" }, + arrow: { pattern: /=>/, alias: "operator" }, + }), + e.languages.insertBefore("javascript", "punctuation", { + "property-access": { + pattern: t(/(\.\s*)#?/.source), + lookbehind: !0, + }, + "maybe-class-name": { + pattern: /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/, + lookbehind: !0, + }, + dom: { + pattern: + /\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/, + alias: "variable", + }, + console: { pattern: /\bconsole(?=\s*\.)/, alias: "class-name" }, + })); + var n = [ + "function", + "function-variable", + "method", + "method-variable", + "property-access", + ]; + for (var r = 0; r < n.length; r++) { + var o = n[r], + a = e.languages.javascript[o]; + if (e.util.type(a) === "RegExp") + a = e.languages.javascript[o] = { pattern: a }; + var i = a.inside || {}; + ((a.inside = i), (i["maybe-class-name"] = /^[A-Z][\s\S]*/)); + } + })(Prism); +}); +var Opn = P(() => { + Prism.languages.json = { + property: { + pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, + lookbehind: !0, + greedy: !0, + }, + string: { + pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, + lookbehind: !0, + greedy: !0, + }, + comment: { pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, greedy: !0 }, + number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, + punctuation: /[{}[\],]/, + operator: /:/, + boolean: /\b(?:false|true)\b/, + null: { pattern: /\bnull\b/, alias: "keyword" }, + }; + Prism.languages.webmanifest = Prism.languages.json; +}); +var Fpn = P(() => { + (function (e) { + var t = e.util.clone(e.languages.javascript), + n = /(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source, + r = /(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source, + o = /(?:\{*\.{3}(?:[^{}]|)*\})/.source; + function a(l, c) { + return ( + (l = l + .replace(//g, function () { + return n; + }) + .replace(//g, function () { + return r; + }) + .replace(//g, function () { + return o; + })), + RegExp(l, c) + ); + } + ((o = a(o).source), + (e.languages.jsx = e.languages.extend("markup", t)), + (e.languages.jsx.tag.pattern = a( + /<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/ + .source, + )), + (e.languages.jsx.tag.inside.tag.pattern = /^<\/?[^\s>\/]*/), + (e.languages.jsx.tag.inside["attr-value"].pattern = + /=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/), + (e.languages.jsx.tag.inside.tag.inside["class-name"] = + /^[A-Z]\w*(?:\.[A-Z]\w*)*$/), + (e.languages.jsx.tag.inside.comment = t.comment), + e.languages.insertBefore( + "inside", + "attr-name", + { spread: { pattern: a(//.source), inside: e.languages.jsx } }, + e.languages.jsx.tag, + ), + e.languages.insertBefore( + "inside", + "special-attr", + { + script: { + pattern: a(/=/.source), + alias: "language-javascript", + inside: { + "script-punctuation": { + pattern: /^=(?=\{)/, + alias: "punctuation", + }, + rest: e.languages.jsx, + }, + }, + }, + e.languages.jsx.tag, + )); + var i = function (l) { + if (!l) return ""; + if (typeof l === "string") return l; + if (typeof l.content === "string") return l.content; + return l.content.map(i).join(""); + }, + s = function (l) { + var c = []; + for (var u = 0; u < l.length; u++) { + var d = l[u], + p = !1; + if (typeof d !== "string") + if (d.type === "tag" && d.content[0] && d.content[0].type === "tag") + if (d.content[0].content[0].content === " 0 && + c[c.length - 1].tagName === i(d.content[0].content[1]) + ) + c.pop(); + } else if (d.content[d.content.length - 1].content === "/>"); + else + c.push({ + tagName: i(d.content[0].content[1]), + openedBraces: 0, + }); + else if ( + c.length > 0 && + d.type === "punctuation" && + d.content === "{" + ) + c[c.length - 1].openedBraces++; + else if ( + c.length > 0 && + c[c.length - 1].openedBraces > 0 && + d.type === "punctuation" && + d.content === "}" + ) + c[c.length - 1].openedBraces--; + else p = !0; + if (p || typeof d === "string") { + if (c.length > 0 && c[c.length - 1].openedBraces === 0) { + var f = i(d); + if ( + u < l.length - 1 && + (typeof l[u + 1] === "string" || l[u + 1].type === "plain-text") + ) + ((f += i(l[u + 1])), l.splice(u + 1, 1)); + if ( + u > 0 && + (typeof l[u - 1] === "string" || l[u - 1].type === "plain-text") + ) + ((f = i(l[u - 1]) + f), l.splice(u - 1, 1), u--); + l[u] = new e.Token("plain-text", f, null, f); + } + } + if (d.content && typeof d.content !== "string") s(d.content); + } + }; + e.hooks.add("after-tokenize", function (l) { + if (l.language !== "jsx" && l.language !== "tsx") return; + s(l.tokens); + }); + })(Prism); +}); +var Upn = P(() => { + (function (e) { + ((e.languages.kotlin = e.languages.extend("clike", { + keyword: { + pattern: + /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/, + lookbehind: !0, + }, + function: [ + { pattern: /(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/, greedy: !0 }, + { + pattern: /(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/, + lookbehind: !0, + greedy: !0, + }, + ], + number: + /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/, + operator: + /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/, + })), + delete e.languages.kotlin["class-name"]); + var t = { + "interpolation-punctuation": { + pattern: /^\$\{?|\}$/, + alias: "punctuation", + }, + expression: { pattern: /[\s\S]+/, inside: e.languages.kotlin }, + }; + (e.languages.insertBefore("kotlin", "string", { + "string-literal": [ + { + pattern: /"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/, + alias: "multiline", + inside: { + interpolation: { + pattern: /\$(?:[a-z_]\w*|\{[^{}]*\})/i, + inside: t, + }, + string: /[\s\S]+/, + }, + }, + { + pattern: /"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/, + alias: "singleline", + inside: { + interpolation: { + pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i, + lookbehind: !0, + inside: t, + }, + string: /[\s\S]+/, + }, + }, + ], + char: { + pattern: /'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/, + greedy: !0, + }, + }), + delete e.languages.kotlin.string, + e.languages.insertBefore("kotlin", "keyword", { + annotation: { + pattern: /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/, + alias: "builtin", + }, + }), + e.languages.insertBefore("kotlin", "function", { + label: { pattern: /\b\w+@|@\w+\b/, alias: "symbol" }, + }), + (e.languages.kt = e.languages.kotlin), + (e.languages.kts = e.languages.kotlin)); + })(Prism); +}); +var Npn = P(() => { + Prism.languages.less = Prism.languages.extend("css", { + comment: [ + /\/\*[\s\S]*?\*\//, + { pattern: /(^|[^\\])\/\/.*/, lookbehind: !0 }, + ], + atrule: { + pattern: + /@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/, + inside: { punctuation: /[:()]/ }, + }, + selector: { + pattern: + /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/, + inside: { variable: /@+[\w-]+/ }, + }, + property: /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/, + operator: /[+\-*\/]/, + }); + Prism.languages.insertBefore("less", "property", { + variable: [ + { pattern: /@[\w-]+\s*:/, inside: { punctuation: /:/ } }, + /@@?[\w-]+/, + ], + "mixin-usage": { + pattern: /([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/, + lookbehind: !0, + alias: "function", + }, + }); +}); +var zpn = P(() => { + Prism.languages.lua = { + comment: /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m, + string: { + pattern: + /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/, + greedy: !0, + }, + number: + /\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i, + keyword: + /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/, + function: /(?!\d)\w+(?=\s*(?:[({]))/, + operator: [ + /[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/, + { pattern: /(^|[^.])\.\.(?!\.)/, lookbehind: !0 }, + ], + punctuation: /[\[\](){},;]|\.+|:+/, + }; +}); +var _pn = P(() => { + Prism.languages.makefile = { + comment: { + pattern: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/, + lookbehind: !0, + }, + string: { + pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, + greedy: !0, + }, + "builtin-target": { + pattern: /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/, + alias: "builtin", + }, + target: { + pattern: /^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m, + alias: "symbol", + inside: { variable: /\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/ }, + }, + variable: /\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/, + keyword: + /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/, + function: { + pattern: + /(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/, + lookbehind: !0, + }, + operator: /(?:::|[?:+!])?=|[|@]/, + punctuation: /[:;(){}]/, + }; +}); +var Hpn = P(() => { + (function (e) { + var t = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source; + function n(u) { + return ( + (u = u.replace(//g, function () { + return t; + })), + RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + u + ")") + ); + } + var r = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, + o = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace( + /__/g, + function () { + return r; + }, + ), + a = /\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/ + .source; + ((e.languages.markdown = e.languages.extend("markup", {})), + e.languages.insertBefore("markdown", "prolog", { + "front-matter-block": { + pattern: /(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/, + lookbehind: !0, + greedy: !0, + inside: { + punctuation: /^---|---$/, + "front-matter": { + pattern: /\S+(?:\s+\S+)*/, + alias: ["yaml", "language-yaml"], + inside: e.languages.yaml, + }, + }, + }, + blockquote: { pattern: /^>(?:[\t ]*>)*/m, alias: "punctuation" }, + table: { + pattern: RegExp("^" + o + a + "(?:" + o + ")*", "m"), + inside: { + "table-data-rows": { + pattern: RegExp("^(" + o + a + ")(?:" + o + ")*$"), + lookbehind: !0, + inside: { + "table-data": { + pattern: RegExp(r), + inside: e.languages.markdown, + }, + punctuation: /\|/, + }, + }, + "table-line": { + pattern: RegExp("^(" + o + ")" + a + "$"), + lookbehind: !0, + inside: { punctuation: /\||:?-{3,}:?/ }, + }, + "table-header-row": { + pattern: RegExp("^" + o + "$"), + inside: { + "table-header": { + pattern: RegExp(r), + alias: "important", + inside: e.languages.markdown, + }, + punctuation: /\|/, + }, + }, + }, + }, + code: [ + { + pattern: + /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/, + lookbehind: !0, + alias: "keyword", + }, + { + pattern: /^```[\s\S]*?^```$/m, + greedy: !0, + inside: { + "code-block": { + pattern: /^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m, + lookbehind: !0, + }, + "code-language": { pattern: /^(```).+/, lookbehind: !0 }, + punctuation: /```/, + }, + }, + ], + title: [ + { + pattern: /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m, + alias: "important", + inside: { punctuation: /==+$|--+$/ }, + }, + { + pattern: /(^\s*)#.+/m, + lookbehind: !0, + alias: "important", + inside: { punctuation: /^#+|#+$/ }, + }, + ], + hr: { + pattern: /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m, + lookbehind: !0, + alias: "punctuation", + }, + list: { + pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m, + lookbehind: !0, + alias: "punctuation", + }, + "url-reference": { + pattern: + /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/, + inside: { + variable: { pattern: /^(!?\[)[^\]]+/, lookbehind: !0 }, + string: + /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/, + punctuation: /^[\[\]!:]|[<>]/, + }, + alias: "url", + }, + bold: { + pattern: n( + /\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/ + .source, + ), + lookbehind: !0, + greedy: !0, + inside: { + content: { + pattern: /(^..)[\s\S]+(?=..$)/, + lookbehind: !0, + inside: {}, + }, + punctuation: /\*\*|__/, + }, + }, + italic: { + pattern: n( + /\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/ + .source, + ), + lookbehind: !0, + greedy: !0, + inside: { + content: { + pattern: /(^.)[\s\S]+(?=.$)/, + lookbehind: !0, + inside: {}, + }, + punctuation: /[*_]/, + }, + }, + strike: { + pattern: n(/(~~?)(?:(?!~))+\2/.source), + lookbehind: !0, + greedy: !0, + inside: { + content: { + pattern: /(^~~?)[\s\S]+(?=\1$)/, + lookbehind: !0, + inside: {}, + }, + punctuation: /~~?/, + }, + }, + "code-snippet": { + pattern: + /(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/, + lookbehind: !0, + greedy: !0, + alias: ["code", "keyword"], + }, + url: { + pattern: n( + /!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/ + .source, + ), + lookbehind: !0, + greedy: !0, + inside: { + operator: /^!/, + content: { + pattern: /(^\[)[^\]]+(?=\])/, + lookbehind: !0, + inside: {}, + }, + variable: { pattern: /(^\][ \t]?\[)[^\]]+(?=\]$)/, lookbehind: !0 }, + url: { pattern: /(^\]\()[^\s)]+/, lookbehind: !0 }, + string: { + pattern: /(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/, + lookbehind: !0, + }, + }, + }, + }), + ["url", "bold", "italic", "strike"].forEach(function (u) { + ["url", "bold", "italic", "strike", "code-snippet"].forEach( + function (d) { + if (u !== d) + e.languages.markdown[u].inside.content.inside[d] = + e.languages.markdown[d]; + }, + ); + }), + e.hooks.add("after-tokenize", function (u) { + if (u.language !== "markdown" && u.language !== "md") return; + function d(p) { + if (!p || typeof p === "string") return; + for (var f = 0, m = p.length; f < m; f++) { + var g = p[f]; + if (g.type !== "code") { + d(g.content); + continue; + } + var v = g.content[1], + y = g.content[3]; + if ( + v && + y && + v.type === "code-language" && + y.type === "code-block" && + typeof v.content === "string" + ) { + var x = v.content + .replace(/\b#/g, "sharp") + .replace(/\b\+\+/g, "pp"); + x = (/[a-z][\w-]*/i.exec(x) || [""])[0].toLowerCase(); + var A = "language-" + x; + if (!y.alias) y.alias = [A]; + else if (typeof y.alias === "string") y.alias = [y.alias, A]; + else y.alias.push(A); + } + } + } + d(u.tokens); + }), + e.hooks.add("wrap", function (u) { + if (u.type !== "code-block") return; + var d = ""; + for (var p = 0, f = u.classes.length; p < f; p++) { + var m = u.classes[p], + g = /language-(.+)/.exec(m); + if (g) { + d = g[1]; + break; + } + } + var v = e.languages[d]; + if (!v) { + if (d && d !== "none" && e.plugins.autoloader) { + var y = + "md-" + + new Date().valueOf() + + "-" + + Math.floor(Math.random() * 10000000000000000); + ((u.attributes.id = y), + e.plugins.autoloader.loadLanguages(d, function () { + var x = document.getElementById(y); + if (x) + x.innerHTML = e.highlight(x.textContent, e.languages[d], d); + })); + } + } else u.content = e.highlight(c(u.content), v, d); + })); + var i = RegExp(e.languages.markup.tag.pattern.source, "gi"), + s = { amp: "&", lt: "<", gt: ">", quot: '"' }, + l = String.fromCodePoint || String.fromCharCode; + function c(u) { + var d = u.replace(i, ""); + return ( + (d = d.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function (p, f) { + if (((f = f.toLowerCase()), f[0] === "#")) { + var m; + if (f[1] === "x") m = parseInt(f.slice(2), 16); + else m = Number(f.slice(1)); + return l(m); + } else { + var g = s[f]; + if (g) return g; + return p; + } + })), + d + ); + } + e.languages.md = e.languages.markdown; + })(Prism); +}); +var Vpn = P(() => { + (function (e) { + function t(n, r) { + return "___" + n.toUpperCase() + r + "___"; + } + Object.defineProperties((e.languages["markup-templating"] = {}), { + buildPlaceholders: { + value: function (n, r, o, a) { + if (n.language !== r) return; + var i = (n.tokenStack = []); + ((n.code = n.code.replace(o, function (s) { + if (typeof a === "function" && !a(s)) return s; + var l = i.length, + c; + while (n.code.indexOf((c = t(r, l))) !== -1) ++l; + return ((i[l] = s), c); + })), + (n.grammar = e.languages.markup)); + }, + }, + tokenizePlaceholders: { + value: function (n, r) { + if (n.language !== r || !n.tokenStack) return; + n.grammar = e.languages[r]; + var o = 0, + a = Object.keys(n.tokenStack); + function i(s) { + for (var l = 0; l < s.length; l++) { + if (o >= a.length) break; + var c = s[l]; + if ( + typeof c === "string" || + (c.content && typeof c.content === "string") + ) { + var u = a[o], + d = n.tokenStack[u], + p = typeof c === "string" ? c : c.content, + f = t(r, u), + m = p.indexOf(f); + if (m > -1) { + ++o; + var g = p.substring(0, m), + v = new e.Token( + r, + e.tokenize(d, n.grammar), + "language-" + r, + d, + ), + y = p.substring(m + f.length), + x = []; + if (g) x.push.apply(x, i([g])); + if ((x.push(v), y)) x.push.apply(x, i([y])); + if (typeof c === "string") + s.splice.apply(s, [l, 1].concat(x)); + else c.content = x; + } + } else if (c.content) i(c.content); + } + return s; + } + i(n.tokens); + }, + }, + }); + })(Prism); +}); +var Gpn = P(() => { + Prism.languages.nim = { + comment: { pattern: /#.*/, greedy: !0 }, + string: { + pattern: + /(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/, + greedy: !0, + }, + char: { pattern: /'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/, greedy: !0 }, + function: { + pattern: + /(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/, + greedy: !0, + inside: { operator: /\*$/ }, + }, + identifier: { + pattern: /`[^`\r\n]+`/, + greedy: !0, + inside: { punctuation: /`/ }, + }, + number: + /\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/, + keyword: + /\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/, + operator: { + pattern: + /(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m, + lookbehind: !0, + }, + punctuation: /[({\[]\.|\.[)}\]]|[`(){}\[\],:]/, + }; +}); +var qpn = P(() => { + Prism.languages.objectivec = Prism.languages.extend("c", { + string: { pattern: /@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, greedy: !0 }, + keyword: + /\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/, + operator: /-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/, + }); + delete Prism.languages.objectivec["class-name"]; + Prism.languages.objc = Prism.languages.objectivec; +}); +var Zpn = P(() => { + Prism.languages.ocaml = { + comment: { pattern: /\(\*[\s\S]*?\*\)/, greedy: !0 }, + char: { + pattern: /'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i, + greedy: !0, + }, + string: [ + { pattern: /"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/, greedy: !0 }, + { pattern: /\{([a-z_]*)\|[\s\S]*?\|\1\}/, greedy: !0 }, + ], + number: [ + /\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i, + /\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i, + /\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i, + ], + directive: { pattern: /\B#\w+/, alias: "property" }, + label: { pattern: /\B~\w+/, alias: "property" }, + "type-variable": { pattern: /\B'\w+/, alias: "function" }, + variant: { pattern: /`\w+/, alias: "symbol" }, + keyword: + /\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/, + boolean: /\b(?:false|true)\b/, + "operator-like-punctuation": { + pattern: /\[[<>|]|[>|]\]|\{<|>\}/, + alias: "punctuation", + }, + operator: + /\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/, + punctuation: /;;|::|[(){}\[\].,:;#]|\b_\b/, + }; +}); +var Qpn = P(() => { + (function (e) { + var t = + /(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/ + .source; + e.languages.perl = { + comment: [ + { pattern: /(^\s*)=\w[\s\S]*?=cut.*/m, lookbehind: !0, greedy: !0 }, + { pattern: /(^|[^\\$])#.*/, lookbehind: !0, greedy: !0 }, + ], + string: [ + { + pattern: RegExp( + /\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source + + "(?:" + + [ + /([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source, + /([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source, + t, + ].join("|") + + ")", + ), + greedy: !0, + }, + { pattern: /("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/, greedy: !0 }, + { pattern: /'(?:[^'\\\r\n]|\\.)*'/, greedy: !0 }, + ], + regex: [ + { + pattern: RegExp( + /\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source + + "(?:" + + [ + /([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source, + /([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source, + t, + ].join("|") + + ")" + + /[msixpodualngc]*/.source, + ), + greedy: !0, + }, + { + pattern: RegExp( + /(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source + + "(?:" + + [ + /([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/ + .source, + /([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/ + .source, + t + /\s*/.source + t, + ].join("|") + + ")" + + /[msixpodualngcer]*/.source, + ), + lookbehind: !0, + greedy: !0, + }, + { + pattern: + /\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/, + greedy: !0, + }, + ], + variable: [ + /[&*$@%]\{\^[A-Z]+\}/, + /[&*$@%]\^[A-Z_]/, + /[&*$@%]#?(?=\{)/, + /[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/, + /[&*$@%]\d+/, + /(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/, + ], + filehandle: { pattern: /<(?![<=])\S*?>|\b_\b/, alias: "symbol" }, + "v-string": { + pattern: /v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/, + alias: "string", + }, + function: { pattern: /(\bsub[ \t]+)\w+/, lookbehind: !0 }, + keyword: + /\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/, + number: + /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/, + operator: + /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/, + punctuation: /[{}[\];(),:]/, + }; + })(Prism); +}); +var Xpn = P(() => { + (function (e) { + var t = /\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/, + n = [ + { pattern: /\b(?:false|true)\b/i, alias: "boolean" }, + { + pattern: /(::\s*)\b[a-z_]\w*\b(?!\s*\()/i, + greedy: !0, + lookbehind: !0, + }, + { + pattern: /(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i, + greedy: !0, + lookbehind: !0, + }, + /\b(?:null)\b/i, + /\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/, + ], + r = + /\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i, + o = + /|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/, + a = /[{}\[\](),:;]/; + e.languages.php = { + delimiter: { pattern: /\?>$|^<\?(?:php(?=\s)|=)?/i, alias: "important" }, + comment: t, + variable: /\$+(?:\w+\b|(?=\{))/, + package: { + pattern: + /(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i, + lookbehind: !0, + inside: { punctuation: /\\/ }, + }, + "class-name-definition": { + pattern: /(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i, + lookbehind: !0, + alias: "class-name", + }, + "function-definition": { + pattern: /(\bfunction\s+)[a-z_]\w*(?=\s*\()/i, + lookbehind: !0, + alias: "function", + }, + keyword: [ + { + pattern: + /(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i, + alias: "type-casting", + greedy: !0, + lookbehind: !0, + }, + { + pattern: + /([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i, + alias: "type-hint", + greedy: !0, + lookbehind: !0, + }, + { + pattern: + /(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i, + alias: "return-type", + greedy: !0, + lookbehind: !0, + }, + { + pattern: + /\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i, + alias: "type-declaration", + greedy: !0, + }, + { + pattern: /(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i, + alias: "type-declaration", + greedy: !0, + lookbehind: !0, + }, + { + pattern: /\b(?:parent|self|static)(?=\s*::)/i, + alias: "static-context", + greedy: !0, + }, + { pattern: /(\byield\s+)from\b/i, lookbehind: !0 }, + /\bclass\b/i, + { + pattern: + /((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i, + lookbehind: !0, + }, + ], + "argument-name": { + pattern: /([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i, + lookbehind: !0, + }, + "class-name": [ + { + pattern: + /(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i, + greedy: !0, + lookbehind: !0, + }, + { pattern: /(\|\s*)\b[a-z_]\w*(?!\\)\b/i, greedy: !0, lookbehind: !0 }, + { pattern: /\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i, greedy: !0 }, + { + pattern: /(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i, + alias: "class-name-fully-qualified", + greedy: !0, + lookbehind: !0, + inside: { punctuation: /\\/ }, + }, + { + pattern: /(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i, + alias: "class-name-fully-qualified", + greedy: !0, + inside: { punctuation: /\\/ }, + }, + { + pattern: + /(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i, + alias: "class-name-fully-qualified", + greedy: !0, + lookbehind: !0, + inside: { punctuation: /\\/ }, + }, + { + pattern: /\b[a-z_]\w*(?=\s*\$)/i, + alias: "type-declaration", + greedy: !0, + }, + { + pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i, + alias: ["class-name-fully-qualified", "type-declaration"], + greedy: !0, + inside: { punctuation: /\\/ }, + }, + { + pattern: /\b[a-z_]\w*(?=\s*::)/i, + alias: "static-context", + greedy: !0, + }, + { + pattern: /(?:\\?\b[a-z_]\w*)+(?=\s*::)/i, + alias: ["class-name-fully-qualified", "static-context"], + greedy: !0, + inside: { punctuation: /\\/ }, + }, + { + pattern: /([(,?]\s*)[a-z_]\w*(?=\s*\$)/i, + alias: "type-hint", + greedy: !0, + lookbehind: !0, + }, + { + pattern: /([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i, + alias: ["class-name-fully-qualified", "type-hint"], + greedy: !0, + lookbehind: !0, + inside: { punctuation: /\\/ }, + }, + { + pattern: /(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i, + alias: "return-type", + greedy: !0, + lookbehind: !0, + }, + { + pattern: /(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i, + alias: ["class-name-fully-qualified", "return-type"], + greedy: !0, + lookbehind: !0, + inside: { punctuation: /\\/ }, + }, + ], + constant: n, + function: { + pattern: /(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i, + lookbehind: !0, + inside: { punctuation: /\\/ }, + }, + property: { pattern: /(->\s*)\w+/, lookbehind: !0 }, + number: r, + operator: o, + punctuation: a, + }; + var i = { + pattern: + /\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/, + lookbehind: !0, + inside: e.languages.php, + }, + s = [ + { + pattern: /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/, + alias: "nowdoc-string", + greedy: !0, + inside: { + delimiter: { + pattern: /^<<<'[^']+'|[a-z_]\w*;$/i, + alias: "symbol", + inside: { punctuation: /^<<<'?|[';]$/ }, + }, + }, + }, + { + pattern: + /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i, + alias: "heredoc-string", + greedy: !0, + inside: { + delimiter: { + pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i, + alias: "symbol", + inside: { punctuation: /^<<<"?|[";]$/ }, + }, + interpolation: i, + }, + }, + { + pattern: /`(?:\\[\s\S]|[^\\`])*`/, + alias: "backtick-quoted-string", + greedy: !0, + }, + { + pattern: /'(?:\\[\s\S]|[^\\'])*'/, + alias: "single-quoted-string", + greedy: !0, + }, + { + pattern: /"(?:\\[\s\S]|[^\\"])*"/, + alias: "double-quoted-string", + greedy: !0, + inside: { interpolation: i }, + }, + ]; + (e.languages.insertBefore("php", "variable", { + string: s, + attribute: { + pattern: + /#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im, + greedy: !0, + inside: { + "attribute-content": { + pattern: /^(#\[)[\s\S]+(?=\]$)/, + lookbehind: !0, + inside: { + comment: t, + string: s, + "attribute-class-name": [ + { + pattern: /([^:]|^)\b[a-z_]\w*(?!\\)\b/i, + alias: "class-name", + greedy: !0, + lookbehind: !0, + }, + { + pattern: /([^:]|^)(?:\\?\b[a-z_]\w*)+/i, + alias: ["class-name", "class-name-fully-qualified"], + greedy: !0, + lookbehind: !0, + inside: { punctuation: /\\/ }, + }, + ], + constant: n, + number: r, + operator: o, + punctuation: a, + }, + }, + delimiter: { pattern: /^#\[|\]$/, alias: "punctuation" }, + }, + }, + }), + e.hooks.add("before-tokenize", function (l) { + if (!/<\?/.test(l.code)) return; + var c = + /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g; + e.languages["markup-templating"].buildPlaceholders(l, "php", c); + }), + e.hooks.add("after-tokenize", function (l) { + e.languages["markup-templating"].tokenizePlaceholders(l, "php"); + })); + })(Prism); +}); +var Wpn = P(() => { + (function (e) { + var t = (e.languages.powershell = { + comment: [ + { pattern: /(^|[^`])<#[\s\S]*?#>/, lookbehind: !0 }, + { pattern: /(^|[^`])#.*/, lookbehind: !0 }, + ], + string: [ + { pattern: /"(?:`[\s\S]|[^`"])*"/, greedy: !0, inside: null }, + { pattern: /'(?:[^']|'')*'/, greedy: !0 }, + ], + namespace: /\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i, + boolean: /\$(?:false|true)\b/i, + variable: /\$\w+\b/, + function: [ + /\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i, + /\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i, + ], + keyword: + /\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i, + operator: { + pattern: + /(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i, + lookbehind: !0, + }, + punctuation: /[|{}[\];(),.]/, + }); + t.string[0].inside = { + function: { + pattern: /(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/, + lookbehind: !0, + inside: t, + }, + boolean: t.boolean, + variable: t.variable, + }; + })(Prism); +}); +var Ypn = P(() => { + Prism.languages.python = { + comment: { pattern: /(^|[^\\])#.*/, lookbehind: !0, greedy: !0 }, + "string-interpolation": { + pattern: + /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i, + greedy: !0, + inside: { + interpolation: { + pattern: + /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/, + lookbehind: !0, + inside: { + "format-spec": { pattern: /(:)[^:(){}]+(?=\}$)/, lookbehind: !0 }, + "conversion-option": { + pattern: /![sra](?=[:}]$)/, + alias: "punctuation", + }, + rest: null, + }, + }, + string: /[\s\S]+/, + }, + }, + "triple-quoted-string": { + pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i, + greedy: !0, + alias: "string", + }, + string: { + pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i, + greedy: !0, + }, + function: { + pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, + lookbehind: !0, + }, + "class-name": { pattern: /(\bclass\s+)\w+/i, lookbehind: !0 }, + decorator: { + pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m, + lookbehind: !0, + alias: ["annotation", "punctuation"], + inside: { punctuation: /\./ }, + }, + keyword: + /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/, + builtin: + /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, + boolean: /\b(?:False|None|True)\b/, + number: + /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i, + operator: /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, + punctuation: /[{}[\];(),.:]/, + }; + Prism.languages.python[ + "string-interpolation" + ].inside.interpolation.inside.rest = Prism.languages.python; + Prism.languages.py = Prism.languages.python; +}); +var Kpn = P(() => { + (function (e) { + var t = /"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source, + n = /\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source, + r = + /(?:[^\\()[\]{}"'/]||\/(?![*/])||\(*\)|\[*\]|\{*\}|\\[\s\S])/.source + .replace(//g, function () { + return t; + }) + .replace(//g, function () { + return n; + }); + for (var o = 0; o < 2; o++) + r = r.replace(//g, function () { + return r; + }); + ((r = r.replace(//g, "[^\\s\\S]")), + (e.languages.qml = { + comment: { pattern: /\/\/.*|\/\*[\s\S]*?\*\//, greedy: !0 }, + "javascript-function": { + pattern: RegExp( + /((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(*\)\s*\{*\}/.source.replace( + //g, + function () { + return r; + }, + ), + "m", + ), + lookbehind: !0, + greedy: !0, + alias: "language-javascript", + inside: e.languages.javascript, + }, + "class-name": { + pattern: /((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m, + lookbehind: !0, + }, + property: [ + { + pattern: /((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, + lookbehind: !0, + }, + { + pattern: + /((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, + lookbehind: !0, + inside: { keyword: /^property/, property: /\w+(?:\.\w+)*/ }, + }, + ], + "javascript-expression": { + pattern: RegExp( + /(:[ \t]*)(?![\s;}[])(?:(?!$|[;}]))+/.source.replace( + //g, + function () { + return r; + }, + ), + "m", + ), + lookbehind: !0, + greedy: !0, + alias: "language-javascript", + inside: e.languages.javascript, + }, + string: { pattern: /"(?:\\.|[^\\"\r\n])*"/, greedy: !0 }, + keyword: /\b(?:as|import|on)\b/, + punctuation: /[{}[\]:;,]/, + })); + })(Prism); +}); +var Jpn = P(() => { + Prism.languages.r = { + comment: /#.*/, + string: { pattern: /(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, + "percent-operator": { pattern: /%[^%\s]*%/, alias: "operator" }, + boolean: /\b(?:FALSE|TRUE)\b/, + ellipsis: /\.\.(?:\.|\d+)/, + number: [ + /\b(?:Inf|NaN)\b/, + /(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/, + ], + keyword: + /\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/, + operator: /->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/, + punctuation: /[(){}\[\],;]/, + }; +}); +var jpn = P(() => { + (function (e) { + var t = /\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|)*\*\//.source; + for (var n = 0; n < 2; n++) + t = t.replace(//g, function () { + return t; + }); + ((t = t.replace(//g, function () { + return /[^\s\S]/.source; + })), + (e.languages.rust = { + comment: [ + { + pattern: RegExp(/(^|[^\\])/.source + t), + lookbehind: !0, + greedy: !0, + }, + { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }, + ], + string: { + pattern: /b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/, + greedy: !0, + }, + char: { + pattern: + /b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/, + greedy: !0, + }, + attribute: { + pattern: /#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/, + greedy: !0, + alias: "attr-name", + inside: { string: null }, + }, + "closure-params": { + pattern: /([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/, + lookbehind: !0, + greedy: !0, + inside: { + "closure-punctuation": { pattern: /^\||\|$/, alias: "punctuation" }, + rest: null, + }, + }, + "lifetime-annotation": { pattern: /'\w+/, alias: "symbol" }, + "fragment-specifier": { + pattern: /(\$\w+:)[a-z]+/, + lookbehind: !0, + alias: "punctuation", + }, + variable: /\$\w+/, + "function-definition": { + pattern: /(\bfn\s+)\w+/, + lookbehind: !0, + alias: "function", + }, + "type-definition": { + pattern: /(\b(?:enum|struct|trait|type|union)\s+)\w+/, + lookbehind: !0, + alias: "class-name", + }, + "module-declaration": [ + { + pattern: /(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/, + lookbehind: !0, + alias: "namespace", + }, + { + pattern: + /(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/, + lookbehind: !0, + alias: "namespace", + inside: { punctuation: /::/ }, + }, + ], + keyword: [ + /\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/, + /\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/, + ], + function: /\b[a-z_]\w*(?=\s*(?:::\s*<|\())/, + macro: { pattern: /\b\w+!/, alias: "property" }, + constant: /\b[A-Z_][A-Z_\d]+\b/, + "class-name": /\b[A-Z]\w*\b/, + namespace: { + pattern: /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/, + inside: { punctuation: /::/ }, + }, + number: + /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/, + boolean: /\b(?:false|true)\b/, + punctuation: /->|\.\.=|\.{1,3}|::|[{}[\];(),:]/, + operator: /[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/, + }), + (e.languages.rust["closure-params"].inside.rest = e.languages.rust), + (e.languages.rust.attribute.inside.string = e.languages.rust.string)); + })(Prism); +}); +var $pn = P(() => { + (function (e) { + ((e.languages.sass = e.languages.extend("css", { + comment: { + pattern: /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m, + lookbehind: !0, + greedy: !0, + }, + })), + e.languages.insertBefore("sass", "atrule", { + "atrule-line": { + pattern: /^(?:[ \t]*)[@+=].+/m, + greedy: !0, + inside: { atrule: /(?:@[\w-]+|[+=])/ }, + }, + }), + delete e.languages.sass.atrule); + var t = /\$[-\w]+|#\{\$[-\w]+\}/, + n = [ + /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/, + { pattern: /(\s)-(?=\s)/, lookbehind: !0 }, + ]; + (e.languages.insertBefore("sass", "property", { + "variable-line": { + pattern: /^[ \t]*\$.+/m, + greedy: !0, + inside: { punctuation: /:/, variable: t, operator: n }, + }, + "property-line": { + pattern: /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m, + greedy: !0, + inside: { + property: [ + /[^:\s]+(?=\s*:)/, + { pattern: /(:)[^:\s]+/, lookbehind: !0 }, + ], + punctuation: /:/, + variable: t, + operator: n, + important: e.languages.sass.important, + }, + }, + }), + delete e.languages.sass.property, + delete e.languages.sass.important, + e.languages.insertBefore("sass", "punctuation", { + selector: { + pattern: + /^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m, + lookbehind: !0, + greedy: !0, + }, + })); + })(Prism); +}); +var efn = P(() => { + Prism.languages.scss = Prism.languages.extend("css", { + comment: { + pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, + lookbehind: !0, + }, + atrule: { + pattern: /@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/, + inside: { rule: /@[\w-]+/ }, + }, + url: /(?:[-a-z]+-)?url(?=\()/i, + selector: { + pattern: + /(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/, + inside: { + parent: { pattern: /&/, alias: "important" }, + placeholder: /%[-\w]+/, + variable: /\$[-\w]+|#\{\$[-\w]+\}/, + }, + }, + property: { + pattern: /(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/, + inside: { variable: /\$[-\w]+|#\{\$[-\w]+\}/ }, + }, + }); + Prism.languages.insertBefore("scss", "atrule", { + keyword: [ + /@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i, + { pattern: /( )(?:from|through)(?= )/, lookbehind: !0 }, + ], + }); + Prism.languages.insertBefore("scss", "important", { + variable: /\$[-\w]+|#\{\$[-\w]+\}/, + }); + Prism.languages.insertBefore("scss", "function", { + "module-modifier": { + pattern: /\b(?:as|hide|show|with)\b/i, + alias: "keyword", + }, + placeholder: { pattern: /%[-\w]+/, alias: "selector" }, + statement: { pattern: /\B!(?:default|optional)\b/i, alias: "keyword" }, + boolean: /\b(?:false|true)\b/, + null: { pattern: /\bnull\b/, alias: "keyword" }, + operator: { + pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/, + lookbehind: !0, + }, + }); + Prism.languages.scss.atrule.inside.rest = Prism.languages.scss; +}); +var tfn = P(() => { + Prism.languages.solidity = Prism.languages.extend("clike", { + "class-name": { + pattern: + /(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/, + lookbehind: !0, + }, + keyword: + /\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/, + operator: + /=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/, + }); + Prism.languages.insertBefore("solidity", "keyword", { + builtin: + /\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/, + }); + Prism.languages.insertBefore("solidity", "number", { + version: { + pattern: /([<>]=?|\^)\d+\.\d+\.\d+\b/, + lookbehind: !0, + alias: "number", + }, + }); + Prism.languages.sol = Prism.languages.solidity; +}); +var nfn = P(() => { + Prism.languages.sql = { + comment: { + pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, + lookbehind: !0, + }, + variable: [ + { pattern: /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, greedy: !0 }, + /@[\w.$]+/, + ], + string: { + pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/, + greedy: !0, + lookbehind: !0, + }, + identifier: { + pattern: /(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/, + greedy: !0, + lookbehind: !0, + inside: { punctuation: /^`|`$/ }, + }, + function: + /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i, + keyword: + /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i, + boolean: /\b(?:FALSE|NULL|TRUE)\b/i, + number: /\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i, + operator: + /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, + punctuation: /[;[\]()`,.]/, + }; +}); +var rfn = P(() => { + Prism.languages.swift = { + comment: { + pattern: + /(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/, + lookbehind: !0, + greedy: !0, + }, + "string-literal": [ + { + pattern: RegExp( + /(^|[^"#])/.source + + "(?:" + + /"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/ + .source + + "|" + + /"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/ + .source + + ")" + + /(?!["#])/.source, + ), + lookbehind: !0, + greedy: !0, + inside: { + interpolation: { + pattern: /(\\\()(?:[^()]|\([^()]*\))*(?=\))/, + lookbehind: !0, + inside: null, + }, + "interpolation-punctuation": { + pattern: /^\)|\\\($/, + alias: "punctuation", + }, + punctuation: /\\(?=[\r\n])/, + string: /[\s\S]+/, + }, + }, + { + pattern: RegExp( + /(^|[^"#])(#+)/.source + + "(?:" + + /"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/ + .source + + "|" + + /"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source + + ")\\2", + ), + lookbehind: !0, + greedy: !0, + inside: { + interpolation: { + pattern: /(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/, + lookbehind: !0, + inside: null, + }, + "interpolation-punctuation": { + pattern: /^\)|\\#+\($/, + alias: "punctuation", + }, + string: /[\s\S]+/, + }, + }, + ], + directive: { + pattern: RegExp( + /#/.source + + "(?:" + + (/(?:elseif|if)\b/.source + + "(?:[ \t]*" + + /(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/ + .source + + ")+") + + "|" + + /(?:else|endif)\b/.source + + ")", + ), + alias: "property", + inside: { + "directive-name": /^#\w+/, + boolean: /\b(?:false|true)\b/, + number: /\b\d+(?:\.\d+)*\b/, + operator: /!|&&|\|\||[<>]=?/, + punctuation: /[(),]/, + }, + }, + literal: { + pattern: + /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/, + alias: "constant", + }, + "other-directive": { pattern: /#\w+\b/, alias: "property" }, + attribute: { pattern: /@\w+/, alias: "atrule" }, + "function-definition": { + pattern: /(\bfunc\s+)\w+/, + lookbehind: !0, + alias: "function", + }, + label: { + pattern: + /\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/, + lookbehind: !0, + alias: "important", + }, + keyword: + /\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/, + boolean: /\b(?:false|true)\b/, + nil: { pattern: /\bnil\b/, alias: "constant" }, + "short-argument": /\$\d+\b/, + omit: { pattern: /\b_\b/, alias: "keyword" }, + number: + /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i, + "class-name": /\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/, + function: /\b[a-z_]\w*(?=\s*\()/i, + constant: /\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/, + operator: /[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/, + punctuation: /[{}[\]();,.:\\]/, + }; + Prism.languages.swift["string-literal"].forEach(function (e) { + e.inside.interpolation.inside = Prism.languages.swift; + }); +}); +var ofn = P(() => { + (function (e) { + var t = /(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source; + function n(r) { + return r.replace(/__/g, function () { + return t; + }); + } + e.languages.toml = { + comment: { pattern: /#.*/, greedy: !0 }, + table: { + pattern: RegExp( + n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source), + "m", + ), + lookbehind: !0, + greedy: !0, + alias: "class-name", + }, + key: { + pattern: RegExp( + n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source), + "m", + ), + lookbehind: !0, + greedy: !0, + alias: "property", + }, + string: { + pattern: + /"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/, + greedy: !0, + }, + date: [ + { + pattern: + /\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i, + alias: "number", + }, + { pattern: /\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/, alias: "number" }, + ], + number: + /(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/, + boolean: /\b(?:false|true)\b/, + punctuation: /[.,=[\]{}]/, + }; + })(Prism); +}); +var afn = P(() => { + (function (e) { + var t = e.util.clone(e.languages.typescript); + ((e.languages.tsx = e.languages.extend("jsx", t)), + delete e.languages.tsx.parameter, + delete e.languages.tsx["literal-property"]); + var n = e.languages.tsx.tag; + ((n.pattern = RegExp( + /(^|[^\w$]|(?=<\/))/.source + "(?:" + n.pattern.source + ")", + n.pattern.flags, + )), + (n.lookbehind = !0)); + })(Prism); +}); +var ifn = P(() => { + (function (e) { + ((e.languages.typescript = e.languages.extend("javascript", { + "class-name": { + pattern: + /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, + lookbehind: !0, + greedy: !0, + inside: null, + }, + builtin: + /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/, + })), + e.languages.typescript.keyword.push( + /\b(?:abstract|declare|is|keyof|readonly|require)\b/, + /\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/, + /\btype\b(?=\s*(?:[\{*]|$))/, + ), + delete e.languages.typescript.parameter, + delete e.languages.typescript["literal-property"]); + var t = e.languages.extend("typescript", {}); + (delete t["class-name"], + (e.languages.typescript["class-name"].inside = t), + e.languages.insertBefore("typescript", "function", { + decorator: { + pattern: /@[$\w\xA0-\uFFFF]+/, + inside: { + at: { pattern: /^@/, alias: "operator" }, + function: /^[\s\S]+/, + }, + }, + "generic-function": { + pattern: + /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/, + greedy: !0, + inside: { + function: + /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/, + generic: { pattern: /<[\s\S]+/, alias: "class-name", inside: t }, + }, + }, + }), + (e.languages.ts = e.languages.typescript)); + })(Prism); +}); +var sfn = P(() => { + (function (e) { + var t = + /\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/; + ((e.languages.typoscript = { + comment: [ + { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0 }, + { + pattern: /(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/, + lookbehind: !0, + greedy: !0, + }, + { pattern: /(^|[^"'])#.*/, lookbehind: !0, greedy: !0 }, + ], + function: [ + { + pattern: + //, + inside: { + string: { + pattern: /"[^"\r\n]*"|'[^'\r\n]*'/, + inside: { keyword: t }, + }, + keyword: { pattern: /INCLUDE_TYPOSCRIPT/ }, + }, + }, + { + pattern: /@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/, + inside: { string: /"[^"\r\n]*"|'[^'\r\n]*'/ }, + }, + ], + string: { + pattern: /^([^=]*=[< ]?)(?:(?!\]\n).)*/, + lookbehind: !0, + inside: { + function: /\{\$.*\}/, + keyword: t, + number: /^\d+$/, + punctuation: /[,|:]/, + }, + }, + keyword: t, + number: { pattern: /\b\d+\s*[.{=]/, inside: { operator: /[.{=]/ } }, + tag: { pattern: /\.?[-\w\\]+\.?/, inside: { punctuation: /\./ } }, + punctuation: /[{}[\];(),.:|]/, + operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, + }), + (e.languages.tsconfig = e.languages.typoscript)); + })(Prism); +}); +var lfn = P(() => { + Prism.languages.vala = Prism.languages.extend("clike", { + "class-name": [ + { + pattern: /\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/, + inside: { punctuation: /\./ }, + }, + { + pattern: /(\[)[A-Z]\w*(?:\.\w+)*\b/, + lookbehind: !0, + inside: { punctuation: /\./ }, + }, + { + pattern: + /(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/, + lookbehind: !0, + inside: { punctuation: /\./ }, + }, + { + pattern: + /((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/, + lookbehind: !0, + inside: { punctuation: /\./ }, + }, + ], + keyword: + /\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i, + function: /\b\w+(?=\s*\()/, + number: + /(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i, + operator: + /\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./, + punctuation: /[{}[\];(),.:]/, + constant: /\b[A-Z0-9_]+\b/, + }); + Prism.languages.insertBefore("vala", "string", { + "raw-string": { pattern: /"""[\s\S]*?"""/, greedy: !0, alias: "string" }, + "template-string": { + pattern: /@"[\s\S]*?"/, + greedy: !0, + inside: { + interpolation: { + pattern: /\$(?:\([^)]*\)|[a-zA-Z]\w*)/, + inside: { + delimiter: { pattern: /^\$\(?|\)$/, alias: "punctuation" }, + rest: Prism.languages.vala, + }, + }, + string: /[\s\S]+/, + }, + }, + }); + Prism.languages.insertBefore("vala", "keyword", { + regex: { + pattern: + /\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/, + greedy: !0, + inside: { + "regex-source": { + pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, + lookbehind: !0, + alias: "language-regex", + inside: Prism.languages.regex, + }, + "regex-delimiter": /^\//, + "regex-flags": /^[a-z]+$/, + }, + }, + }); +}); +var cfn = P(() => { + (function (e) { + var t = /[*&][^\s[\]{},]+/, + n = + /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, + r = + "(?:" + + n.source + + "(?:[ \t]+" + + t.source + + ")?|" + + t.source + + "(?:[ \t]+" + + n.source + + ")?)", + o = + /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace( + //g, + function () { + return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/ + .source; + }, + ), + a = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source; + function i(s, l) { + l = (l || "").replace(/m/g, "") + "m"; + var c = + /([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source + .replace(/<>/g, function () { + return r; + }) + .replace(/<>/g, function () { + return s; + }); + return RegExp(c, l); + } + ((e.languages.yaml = { + scalar: { + pattern: RegExp( + /([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace( + /<>/g, + function () { + return r; + }, + ), + ), + lookbehind: !0, + alias: "string", + }, + comment: /#.*/, + key: { + pattern: RegExp( + /((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source + .replace(/<>/g, function () { + return r; + }) + .replace(/<>/g, function () { + return "(?:" + o + "|" + a + ")"; + }), + ), + lookbehind: !0, + greedy: !0, + alias: "atrule", + }, + directive: { + pattern: /(^[ \t]*)%.+/m, + lookbehind: !0, + alias: "important", + }, + datetime: { + pattern: i( + /\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/ + .source, + ), + lookbehind: !0, + alias: "number", + }, + boolean: { + pattern: i(/false|true/.source, "i"), + lookbehind: !0, + alias: "important", + }, + null: { + pattern: i(/null|~/.source, "i"), + lookbehind: !0, + alias: "important", + }, + string: { pattern: i(a), lookbehind: !0, greedy: !0 }, + number: { + pattern: i( + /[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/ + .source, + "i", + ), + lookbehind: !0, + }, + tag: n, + important: t, + punctuation: /---|[:[\]{}\-,|>?]|\.\.\./, + }), + (e.languages.yml = e.languages.yaml)); + })(Prism); +}); +var ufn = P(() => { + (function (e) { + function t(l) { + return function () { + return l; + }; + } + var n = + /\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/, + r = "\\b(?!" + n.source + ")(?!\\d)\\w+\\b", + o = /align\s*\((?:[^()]|\([^()]*\))*\)/.source, + a = + /(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace( + //g, + t(o), + ), + i = + /(?:\bpromise\b|(?:\berror\.)?(?:\.)*(?!\s+))/.source.replace( + //g, + t(r), + ), + s = "(?!\\s)(?:!?\\s*(?:" + a + "\\s*)*" + i + ")+"; + ((e.languages.zig = { + comment: [{ pattern: /\/\/[/!].*/, alias: "doc-comment" }, /\/{2}.*/], + string: [ + { + pattern: /(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/, + lookbehind: !0, + greedy: !0, + }, + { + pattern: /([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/, + lookbehind: !0, + greedy: !0, + }, + ], + char: { + pattern: + /(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/, + lookbehind: !0, + greedy: !0, + }, + builtin: /\B@(?!\d)\w+(?=\s*\()/, + label: { + pattern: + /(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/, + lookbehind: !0, + }, + "class-name": [ + /\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/, + { + pattern: RegExp( + /(:\s*)(?=\s*(?:\s*)?[=;,)])|(?=\s*(?:\s*)?\{)/.source + .replace(//g, t(s)) + .replace(//g, t(o)), + ), + lookbehind: !0, + inside: null, + }, + { + pattern: RegExp( + /(\)\s*)(?=\s*(?:\s*)?;)/.source + .replace(//g, t(s)) + .replace(//g, t(o)), + ), + lookbehind: !0, + inside: null, + }, + ], + "builtin-type": { + pattern: + /\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/, + alias: "keyword", + }, + keyword: n, + function: /\b(?!\d)\w+(?=\s*\()/, + number: + /\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/, + boolean: /\b(?:false|true)\b/, + operator: + /\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/, + punctuation: /[.:,;(){}[\]]/, + }), + e.languages.zig["class-name"].forEach(function (l) { + if (l.inside === null) l.inside = e.languages.zig; + })); + })(Prism); +}); +var ORr = {}; +var dfn = P(() => { + ypn(); + vpn(); + bpn(); + xpn(); + Apn(); + wpn(); + Spn(); + Cpn(); + Epn(); + Ipn(); + Tpn(); + kpn(); + Rpn(); + Ppn(); + Mpn(); + Dpn(); + Lpn(); + Bpn(); + Opn(); + Fpn(); + Upn(); + Npn(); + zpn(); + _pn(); + Hpn(); + Vpn(); + Gpn(); + qpn(); + Zpn(); + Qpn(); + Xpn(); + Wpn(); + Ypn(); + Kpn(); + Jpn(); + jpn(); + $pn(); + efn(); + tfn(); + nfn(); + rfn(); + ofn(); + afn(); + ifn(); + sfn(); + lfn(); + cfn(); + ufn(); +}); +async function pfn() { + return ( + await FRr, + { highlightElement: (e, t) => Dze.default.highlightElement(e, t) } + ); +} +var Dze, FRr; +var ffn = P(() => { + hpn(); + Dze = z(gpn(), 1); + window.Prism = Dze.default; + FRr = Promise.resolve().then(() => (dfn(), ORr)); +}); +function NRr(e) { + for (let t = e.length - 1; t >= 0; --t) if (e[t] >= 65535) return !0; + return !1; +} +function PB(e, t) { + return new zRr[e](t); +} +function Uhn(e) { + return ArrayBuffer.isView(e) && !(e instanceof DataView); +} +function DB(e) { + return document.createElementNS("http://www.w3.org/1999/xhtml", e); +} +function mHe() { + let e = DB("canvas"); + return ((e.style.display = "block"), e); +} +function Nhn(e) { + l5 = e; +} +function zhn() { + return l5; +} +function LB(...e) { + let t = "THREE." + e.shift(); + if (l5) l5("log", t, ...e); + else console.log(t, ...e); +} +function _hn(e) { + let t = e[0]; + if (typeof t === "string" && t.startsWith("TSL:")) { + let n = e[1]; + if (n && n.isStackTrace) e[0] += " " + n.getLocation(); + else + e[1] = + 'Stack trace not available. Enable "THREE.Node.captureStackTrace" to capture stack traces.'; + } + return e; +} +function zn(...e) { + e = _hn(e); + let t = "THREE." + e.shift(); + if (l5) l5("warn", t, ...e); + else { + let n = e[0]; + if (n && n.isStackTrace) console.warn(n.getError(t)); + else console.warn(t, ...e); + } +} +function wr(...e) { + e = _hn(e); + let t = "THREE." + e.shift(); + if (l5) l5("error", t, ...e); + else { + let n = e[0]; + if (n && n.isStackTrace) console.error(n.getError(t)); + else console.error(t, ...e); + } +} +function Kx(...e) { + let t = e.join(" "); + if (t in yfn) return; + ((yfn[t] = !0), zn(...e)); +} +function Hhn(e, t, n) { + return new Promise(function (r, o) { + function a() { + switch (e.clientWaitSync(t, e.SYNC_FLUSH_COMMANDS_BIT, 0)) { + case e.WAIT_FAILED: + o(); + break; + case e.TIMEOUT_EXPIRED: + setTimeout(a, n); + break; + default: + r(); + } + } + setTimeout(a, n); + }); +} +class Lh { + addEventListener(e, t) { + if (this._listeners === void 0) this._listeners = {}; + let n = this._listeners; + if (n[e] === void 0) n[e] = []; + if (n[e].indexOf(t) === -1) n[e].push(t); + } + hasEventListener(e, t) { + let n = this._listeners; + if (n === void 0) return !1; + return n[e] !== void 0 && n[e].indexOf(t) !== -1; + } + removeEventListener(e, t) { + let n = this._listeners; + if (n === void 0) return; + let r = n[e]; + if (r !== void 0) { + let o = r.indexOf(t); + if (o !== -1) r.splice(o, 1); + } + } + dispatchEvent(e) { + let t = this._listeners; + if (t === void 0) return; + let n = t[e.type]; + if (n !== void 0) { + e.target = this; + let r = n.slice(0); + for (let o = 0, a = r.length; o < a; o++) r[o].call(this, e); + e.target = null; + } + } +} +function a1() { + let e = (Math.random() * 4294967295) | 0, + t = (Math.random() * 4294967295) | 0, + n = (Math.random() * 4294967295) | 0, + r = (Math.random() * 4294967295) | 0; + return ( + Mm[e & 255] + + Mm[(e >> 8) & 255] + + Mm[(e >> 16) & 255] + + Mm[(e >> 24) & 255] + + "-" + + Mm[t & 255] + + Mm[(t >> 8) & 255] + + "-" + + Mm[((t >> 16) & 15) | 64] + + Mm[(t >> 24) & 255] + + "-" + + Mm[(n & 63) | 128] + + Mm[(n >> 8) & 255] + + "-" + + Mm[(n >> 16) & 255] + + Mm[(n >> 24) & 255] + + Mm[r & 255] + + Mm[(r >> 8) & 255] + + Mm[(r >> 16) & 255] + + Mm[(r >> 24) & 255] + ).toLowerCase(); +} +function to(e, t, n) { + return Math.max(t, Math.min(n, e)); +} +function hHe(e, t) { + return ((e % t) + t) % t; +} +function _Rr(e, t, n, r, o) { + return r + ((e - t) * (o - r)) / (n - t); +} +function HRr(e, t, n) { + if (e !== t) return (n - e) / (t - e); + else return 0; +} +function cX(e, t, n) { + return (1 - n) * e + n * t; +} +function VRr(e, t, n, r) { + return cX(e, t, 1 - Math.exp(-n * r)); +} +function GRr(e, t = 1) { + return t - Math.abs(hHe(e, t * 2) - t); +} +function qRr(e, t, n) { + if (e <= t) return 0; + if (e >= n) return 1; + return ((e = (e - t) / (n - t)), e * e * (3 - 2 * e)); +} +function ZRr(e, t, n) { + if (e <= t) return 0; + if (e >= n) return 1; + return ((e = (e - t) / (n - t)), e * e * e * (e * (e * 6 - 15) + 10)); +} +function QRr(e, t) { + return e + Math.floor(Math.random() * (t - e + 1)); +} +function XRr(e, t) { + return e + Math.random() * (t - e); +} +function WRr(e) { + return e * (0.5 - Math.random()); +} +function YRr(e) { + if (e !== void 0) vfn = e; + let t = (vfn += 1831565813); + return ( + (t = Math.imul(t ^ (t >>> 15), t | 1)), + (t ^= t + Math.imul(t ^ (t >>> 7), t | 61)), + ((t ^ (t >>> 14)) >>> 0) / 4294967296 + ); +} +function KRr(e) { + return e * b7; +} +function JRr(e) { + return e * x7; +} +function jRr(e) { + return e > 0 && Number.isInteger(e) && 2 ** Math.round(Math.log2(e)) === e; +} +function $Rr(e) { + return Math.pow(2, Math.ceil(Math.log(e) / Math.LN2)); +} +function ePr(e) { + return Math.pow(2, Math.floor(Math.log(e) / Math.LN2)); +} +function tPr(e, t, n, r, o) { + let { cos: a, sin: i } = Math, + s = a(n / 2), + l = i(n / 2), + c = a((t + r) / 2), + u = i((t + r) / 2), + d = a((t - r) / 2), + p = i((t - r) / 2), + f = a((r - t) / 2), + m = i((r - t) / 2); + switch (o) { + case "XYX": + e.set(s * u, l * d, l * p, s * c); + break; + case "YZY": + e.set(l * p, s * u, l * d, s * c); + break; + case "ZXZ": + e.set(l * d, l * p, s * u, s * c); + break; + case "XZX": + e.set(s * u, l * m, l * f, s * c); + break; + case "YXY": + e.set(l * f, s * u, l * m, s * c); + break; + case "ZYZ": + e.set(l * m, l * f, s * u, s * c); + break; + default: + zn( + "MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: " + + o, + ); + } +} +function Th(e, t) { + switch (t.constructor) { + case Float32Array: + return e; + case Uint32Array: + return e / 4294967295; + case Uint16Array: + return e / 65535; + case Uint8Array: + case Uint8ClampedArray: + return e / 255; + case Int32Array: + return Math.max(e / 2147483647, -1); + case Int16Array: + return Math.max(e / 32767, -1); + case Int8Array: + return Math.max(e / 127, -1); + default: + throw Error("THREE.MathUtils: Invalid component type."); + } +} +function No(e, t) { + switch (t.constructor) { + case Float32Array: + return e; + case Uint32Array: + return Math.round(e * 4294967295); + case Uint16Array: + return Math.round(e * 65535); + case Uint8Array: + case Uint8ClampedArray: + return Math.round(e * 255); + case Int32Array: + return Math.round(e * 2147483647); + case Int16Array: + return Math.round(e * 32767); + case Int8Array: + return Math.round(e * 127); + default: + throw Error("THREE.MathUtils: Invalid component type."); + } +} +function nPr() { + let e = { + enabled: !0, + workingColorSpace: "srgb-linear", + spaces: {}, + convert: function (o, a, i) { + if (this.enabled === !1 || a === i || !a || !i) return o; + if (this.spaces[a].transfer === "srgb") + ((o.r = Xw(o.r)), (o.g = Xw(o.g)), (o.b = Xw(o.b))); + if (this.spaces[a].primaries !== this.spaces[i].primaries) + (o.applyMatrix3(this.spaces[a].toXYZ), + o.applyMatrix3(this.spaces[i].fromXYZ)); + if (this.spaces[i].transfer === "srgb") + ((o.r = MB(o.r)), (o.g = MB(o.g)), (o.b = MB(o.b))); + return o; + }, + workingToColorSpace: function (o, a) { + return this.convert(o, this.workingColorSpace, a); + }, + colorSpaceToWorking: function (o, a) { + return this.convert(o, a, this.workingColorSpace); + }, + getPrimaries: function (o) { + return this.spaces[o].primaries; + }, + getTransfer: function (o) { + if (o === "") return "linear"; + return this.spaces[o].transfer; + }, + getToneMappingMode: function (o) { + return ( + this.spaces[o].outputColorSpaceConfig.toneMappingMode || "standard" + ); + }, + getLuminanceCoefficients: function (o, a = this.workingColorSpace) { + return o.fromArray(this.spaces[a].luminanceCoefficients); + }, + define: function (o) { + Object.assign(this.spaces, o); + }, + _getMatrix: function (o, a, i) { + return o.copy(this.spaces[a].toXYZ).multiply(this.spaces[i].fromXYZ); + }, + _getDrawingBufferColorSpace: function (o) { + return this.spaces[o].outputColorSpaceConfig.drawingBufferColorSpace; + }, + _getUnpackColorSpace: function (o = this.workingColorSpace) { + return this.spaces[o].workingColorSpaceConfig.unpackColorSpace; + }, + fromWorkingColorSpace: function (o, a) { + return ( + Kx( + "ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().", + ), + e.workingToColorSpace(o, a) + ); + }, + toWorkingColorSpace: function (o, a) { + return ( + Kx( + "ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().", + ), + e.colorSpaceToWorking(o, a) + ); + }, + }, + t = [0.64, 0.33, 0.3, 0.6, 0.15, 0.06], + n = [0.2126, 0.7152, 0.0722], + r = [0.3127, 0.329]; + return ( + e.define({ + ["srgb-linear"]: { + primaries: t, + whitePoint: r, + transfer: "linear", + toXYZ: xfn, + fromXYZ: Afn, + luminanceCoefficients: n, + workingColorSpaceConfig: { unpackColorSpace: "srgb" }, + outputColorSpaceConfig: { drawingBufferColorSpace: "srgb" }, + }, + ["srgb"]: { + primaries: t, + whitePoint: r, + transfer: "srgb", + toXYZ: xfn, + fromXYZ: Afn, + luminanceCoefficients: n, + outputColorSpaceConfig: { drawingBufferColorSpace: "srgb" }, + }, + }), + e + ); +} +function Xw(e) { + return e < 0.04045 + ? e * 0.0773993808 + : Math.pow(e * 0.9478672986 + 0.0521327014, 2.4); +} +function MB(e) { + return e < 0.0031308 ? e * 12.92 : 1.055 * Math.pow(e, 0.41666) - 0.055; +} +class M0e { + static getDataURL(e, t = "image/png") { + if (/^data:/i.test(e.src)) return e.src; + if (typeof HTMLCanvasElement > "u") return e.src; + let n; + if (e instanceof HTMLCanvasElement) n = e; + else { + if (uB === void 0) uB = DB("canvas"); + ((uB.width = e.width), (uB.height = e.height)); + let r = uB.getContext("2d"); + if (e instanceof ImageData) r.putImageData(e, 0, 0); + else r.drawImage(e, 0, 0, e.width, e.height); + n = uB; + } + return n.toDataURL(t); + } + static sRGBToLinear(e) { + if ( + (typeof HTMLImageElement < "u" && e instanceof HTMLImageElement) || + (typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement) || + (typeof ImageBitmap < "u" && e instanceof ImageBitmap) + ) { + let t = DB("canvas"); + ((t.width = e.width), (t.height = e.height)); + let n = t.getContext("2d"); + n.drawImage(e, 0, 0, e.width, e.height); + let r = n.getImageData(0, 0, e.width, e.height), + o = r.data; + for (let a = 0; a < o.length; a++) o[a] = Xw(o[a] / 255) * 255; + return (n.putImageData(r, 0, 0), t); + } else if (e.data) { + let t = e.data.slice(0); + for (let n = 0; n < t.length; n++) + if (t instanceof Uint8Array || t instanceof Uint8ClampedArray) + t[n] = Math.floor(Xw(t[n] / 255) * 255); + else t[n] = Xw(t[n]); + return { data: t, width: e.width, height: e.height }; + } else + return ( + zn( + "ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.", + ), + e + ); + } +} +class Tv { + constructor(e = null) { + ((this.isTextureSource = !0), + Object.defineProperty(this, "id", { value: rPr++ }), + (this.uuid = a1()), + (this.data = e), + (this.dataReady = !0), + (this.version = 0)); + } + getSize(e) { + let t = this.data; + if (typeof HTMLVideoElement < "u" && t instanceof HTMLVideoElement) + e.set(t.videoWidth, t.videoHeight, 0); + else if (typeof VideoFrame < "u" && t instanceof VideoFrame) + e.set(t.displayWidth, t.displayHeight, 0); + else if (t !== null) e.set(t.width, t.height, t.depth || 0); + else e.set(0, 0, 0); + return e; + } + set needsUpdate(e) { + if (e === !0) this.version++; + } + toJSON(e) { + let t = e === void 0 || typeof e === "string"; + if (!t && e.images[this.uuid] !== void 0) return e.images[this.uuid]; + let n = { uuid: this.uuid, url: "" }, + r = this.data; + if (r !== null) { + let o; + if (Array.isArray(r)) { + o = []; + for (let a = 0, i = r.length; a < i; a++) + if (r[a].isDataTexture) o.push(Fze(r[a].image)); + else o.push(Fze(r[a])); + } else o = Fze(r); + n.url = o; + } + if (!t) e.images[this.uuid] = n; + return n; + } +} +function Fze(e) { + if ( + (typeof HTMLImageElement < "u" && e instanceof HTMLImageElement) || + (typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement) || + (typeof ImageBitmap < "u" && e instanceof ImageBitmap) + ) + return M0e.getDataURL(e); + else if (e.data) + return { + data: Array.from(e.data), + width: e.width, + height: e.height, + type: e.data.constructor.name, + }; + else return (zn("Texture: Unable to serialize Texture."), {}); +} +class $w { + constructor() { + this.mask = 1; + } + set(e) { + this.mask = ((1 << e) | 0) >>> 0; + } + enable(e) { + this.mask |= (1 << e) | 0; + } + enableAll() { + this.mask = -1; + } + toggle(e) { + this.mask ^= (1 << e) | 0; + } + disable(e) { + this.mask &= ~((1 << e) | 0); + } + disableAll() { + this.mask = 0; + } + test(e) { + return (this.mask & e.mask) !== 0; + } + isEnabled(e) { + return (this.mask & ((1 << e) | 0)) !== 0; + } +} +class ZB { + constructor() { + ((this._targetRay = null), (this._grip = null), (this._hand = null)); + } + getHandSpace() { + if (this._hand === null) + ((this._hand = new Qw()), + (this._hand.matrixAutoUpdate = !1), + (this._hand.visible = !1), + (this._hand.joints = {}), + (this._hand.inputState = { pinching: !1 })); + return this._hand; + } + getTargetRaySpace() { + if (this._targetRay === null) + ((this._targetRay = new Qw()), + (this._targetRay.matrixAutoUpdate = !1), + (this._targetRay.visible = !1), + (this._targetRay.hasLinearVelocity = !1), + (this._targetRay.linearVelocity = new he()), + (this._targetRay.hasAngularVelocity = !1), + (this._targetRay.angularVelocity = new he())); + return this._targetRay; + } + getGripSpace() { + if (this._grip === null) + ((this._grip = new Qw()), + (this._grip.matrixAutoUpdate = !1), + (this._grip.visible = !1), + (this._grip.hasLinearVelocity = !1), + (this._grip.linearVelocity = new he()), + (this._grip.hasAngularVelocity = !1), + (this._grip.angularVelocity = new he()), + (this._grip.eventsEnabled = !1)); + return this._grip; + } + dispatchEvent(e) { + if (this._targetRay !== null) this._targetRay.dispatchEvent(e); + if (this._grip !== null) this._grip.dispatchEvent(e); + if (this._hand !== null) this._hand.dispatchEvent(e); + return this; + } + connect(e) { + if (e && e.hand) { + let t = this._hand; + if (t) for (let n of e.hand.values()) this._getHandJoint(t, n); + } + return (this.dispatchEvent({ type: "connected", data: e }), this); + } + disconnect(e) { + if ( + (this.dispatchEvent({ type: "disconnected", data: e }), + this._targetRay !== null) + ) + this._targetRay.visible = !1; + if (this._grip !== null) this._grip.visible = !1; + if (this._hand !== null) this._hand.visible = !1; + return this; + } + update(e, t, n) { + let r = null, + o = null, + a = null, + i = this._targetRay, + s = this._grip, + l = this._hand; + if (e && t.session.visibilityState !== "visible-blurred") { + if (l && e.hand) { + a = !0; + for (let m of e.hand.values()) { + let g = t.getJointPose(m, n), + v = this._getHandJoint(l, m); + if (g !== null) + (v.matrix.fromArray(g.transform.matrix), + v.matrix.decompose(v.position, v.rotation, v.scale), + (v.matrixWorldNeedsUpdate = !0), + (v.jointRadius = g.radius)); + v.visible = g !== null; + } + let c = l.joints["index-finger-tip"], + u = l.joints["thumb-tip"], + d = c.position.distanceTo(u.position), + p = 0.02, + f = 0.005; + if (l.inputState.pinching && d > p + f) + ((l.inputState.pinching = !1), + this.dispatchEvent({ + type: "pinchend", + handedness: e.handedness, + target: this, + })); + else if (!l.inputState.pinching && d <= p - f) + ((l.inputState.pinching = !0), + this.dispatchEvent({ + type: "pinchstart", + handedness: e.handedness, + target: this, + })); + } else if (s !== null && e.gripSpace) { + if (((o = t.getPose(e.gripSpace, n)), o !== null)) { + if ( + (s.matrix.fromArray(o.transform.matrix), + s.matrix.decompose(s.position, s.rotation, s.scale), + (s.matrixWorldNeedsUpdate = !0), + o.linearVelocity) + ) + ((s.hasLinearVelocity = !0), + s.linearVelocity.copy(o.linearVelocity)); + else s.hasLinearVelocity = !1; + if (o.angularVelocity) + ((s.hasAngularVelocity = !0), + s.angularVelocity.copy(o.angularVelocity)); + else s.hasAngularVelocity = !1; + if (s.eventsEnabled) + s.dispatchEvent({ type: "gripUpdated", data: e, target: this }); + } + } + if (i !== null) { + if (((r = t.getPose(e.targetRaySpace, n)), r === null && o !== null)) + r = o; + if (r !== null) { + if ( + (i.matrix.fromArray(r.transform.matrix), + i.matrix.decompose(i.position, i.rotation, i.scale), + (i.matrixWorldNeedsUpdate = !0), + r.linearVelocity) + ) + ((i.hasLinearVelocity = !0), + i.linearVelocity.copy(r.linearVelocity)); + else i.hasLinearVelocity = !1; + if (r.angularVelocity) + ((i.hasAngularVelocity = !0), + i.angularVelocity.copy(r.angularVelocity)); + else i.hasAngularVelocity = !1; + this.dispatchEvent(dPr); + } + } + } + if (i !== null) i.visible = r !== null; + if (s !== null) s.visible = o !== null; + if (l !== null) l.visible = a !== null; + return this; + } + _getHandJoint(e, t) { + if (e.joints[t.jointName] === void 0) { + let n = new Qw(); + ((n.matrixAutoUpdate = !1), + (n.visible = !1), + (e.joints[t.jointName] = n), + e.add(n)); + } + return e.joints[t.jointName]; + } +} +function zze(e, t, n) { + if (n < 0) n += 1; + if (n > 1) n -= 1; + if (n < 0.16666666666666666) return e + (t - e) * 6 * n; + if (n < 0.5) return t; + if (n < 0.6666666666666666) return e + (t - e) * 6 * (0.6666666666666666 - n); + return e; +} +class MX { + constructor(e, t = 0.00025) { + ((this.isFogExp2 = !0), + (this.name = ""), + (this.color = new _n(e)), + (this.density = t)); + } + clone() { + return new MX(this.color, this.density); + } + toJSON() { + return { + type: "FogExp2", + name: this.name, + color: this.color.getHex(), + density: this.density, + }; + } +} +class DX { + constructor(e, t = 1, n = 1000) { + ((this.isFog = !0), + (this.name = ""), + (this.color = new _n(e)), + (this.near = t), + (this.far = n)); + } + clone() { + return new DX(this.color, this.near, this.far); + } + toJSON() { + return { + type: "Fog", + name: this.name, + color: this.color.getHex(), + near: this.near, + far: this.far, + }; + } +} +class kh { + constructor(e = new he(), t = new he(), n = new he()) { + ((this.a = e), (this.b = t), (this.c = n)); + } + static getNormal(e, t, n, r) { + (r.subVectors(n, t), Cv.subVectors(e, t), r.cross(Cv)); + let o = r.lengthSq(); + if (o > 0) return r.multiplyScalar(1 / Math.sqrt(o)); + return r.set(0, 0, 0); + } + static getBarycoord(e, t, n, r, o) { + (Cv.subVectors(r, t), _w.subVectors(n, t), _ze.subVectors(e, t)); + let a = Cv.dot(Cv), + i = Cv.dot(_w), + s = Cv.dot(_ze), + l = _w.dot(_w), + c = _w.dot(_ze), + u = a * l - i * i; + if (u === 0) return (o.set(0, 0, 0), null); + let d = 1 / u, + p = (l * s - i * c) * d, + f = (a * c - i * s) * d; + return o.set(1 - p - f, f, p); + } + static containsPoint(e, t, n, r) { + if (this.getBarycoord(e, t, n, r, Hw) === null) return !1; + return Hw.x >= 0 && Hw.y >= 0 && Hw.x + Hw.y <= 1; + } + static getInterpolation(e, t, n, r, o, a, i, s) { + if (this.getBarycoord(e, t, n, r, Hw) === null) { + if (((s.x = 0), (s.y = 0), "z" in s)) s.z = 0; + if ("w" in s) s.w = 0; + return null; + } + return ( + s.setScalar(0), + s.addScaledVector(o, Hw.x), + s.addScaledVector(a, Hw.y), + s.addScaledVector(i, Hw.z), + s + ); + } + static getInterpolatedAttribute(e, t, n, r, o, a) { + return ( + qze.setScalar(0), + Zze.setScalar(0), + Qze.setScalar(0), + qze.fromBufferAttribute(e, t), + Zze.fromBufferAttribute(e, n), + Qze.fromBufferAttribute(e, r), + a.setScalar(0), + a.addScaledVector(qze, o.x), + a.addScaledVector(Zze, o.y), + a.addScaledVector(Qze, o.z), + a + ); + } + static isFrontFacing(e, t, n, r) { + return (Cv.subVectors(n, t), _w.subVectors(e, t), Cv.cross(_w).dot(r) < 0); + } + set(e, t, n) { + return (this.a.copy(e), this.b.copy(t), this.c.copy(n), this); + } + setFromPointsAndIndices(e, t, n, r) { + return (this.a.copy(e[t]), this.b.copy(e[n]), this.c.copy(e[r]), this); + } + setFromAttributeAndIndices(e, t, n, r) { + return ( + this.a.fromBufferAttribute(e, t), + this.b.fromBufferAttribute(e, n), + this.c.fromBufferAttribute(e, r), + this + ); + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + return (this.a.copy(e.a), this.b.copy(e.b), this.c.copy(e.c), this); + } + getArea() { + return ( + Cv.subVectors(this.c, this.b), + _w.subVectors(this.a, this.b), + Cv.cross(_w).length() * 0.5 + ); + } + getMidpoint(e) { + return e + .addVectors(this.a, this.b) + .add(this.c) + .multiplyScalar(0.3333333333333333); + } + getNormal(e) { + return kh.getNormal(this.a, this.b, this.c, e); + } + getPlane(e) { + return e.setFromCoplanarPoints(this.a, this.b, this.c); + } + getBarycoord(e, t) { + return kh.getBarycoord(e, this.a, this.b, this.c, t); + } + getInterpolation(e, t, n, r, o) { + return kh.getInterpolation(e, this.a, this.b, this.c, t, n, r, o); + } + containsPoint(e) { + return kh.containsPoint(e, this.a, this.b, this.c); + } + isFrontFacing(e) { + return kh.isFrontFacing(this.a, this.b, this.c, e); + } + intersectsBox(e) { + return e.intersectsTriangle(this); + } + closestPointToPoint(e, t) { + let n = this.a, + r = this.b, + o = this.c, + a, + i; + (mB.subVectors(r, n), hB.subVectors(o, n), Hze.subVectors(e, n)); + let s = mB.dot(Hze), + l = hB.dot(Hze); + if (s <= 0 && l <= 0) return t.copy(n); + Vze.subVectors(e, r); + let c = mB.dot(Vze), + u = hB.dot(Vze); + if (c >= 0 && u <= c) return t.copy(r); + let d = s * u - c * l; + if (d <= 0 && s >= 0 && c <= 0) + return ((a = s / (s - c)), t.copy(n).addScaledVector(mB, a)); + Gze.subVectors(e, o); + let p = mB.dot(Gze), + f = hB.dot(Gze); + if (f >= 0 && p <= f) return t.copy(o); + let m = p * l - s * f; + if (m <= 0 && l >= 0 && f <= 0) + return ((i = l / (l - f)), t.copy(n).addScaledVector(hB, i)); + let g = c * f - p * u; + if (g <= 0 && u - c >= 0 && p - f >= 0) + return ( + Rfn.subVectors(o, r), + (i = (u - c) / (u - c + (p - f))), + t.copy(r).addScaledVector(Rfn, i) + ); + let v = 1 / (g + m + d); + return ( + (a = m * v), + (i = d * v), + t.copy(n).addScaledVector(mB, a).addScaledVector(hB, i) + ); + } + equals(e) { + return e.a.equals(this.a) && e.b.equals(this.b) && e.c.equals(this.c); + } +} +class Il { + constructor( + e = new he(1 / 0, 1 / 0, 1 / 0), + t = new he(-1 / 0, -1 / 0, -1 / 0), + ) { + ((this.isBox3 = !0), (this.min = e), (this.max = t)); + } + set(e, t) { + return (this.min.copy(e), this.max.copy(t), this); + } + setFromArray(e) { + this.makeEmpty(); + for (let t = 0, n = e.length; t < n; t += 3) + this.expandByPoint(Ev.fromArray(e, t)); + return this; + } + setFromBufferAttribute(e) { + this.makeEmpty(); + for (let t = 0, n = e.count; t < n; t++) + this.expandByPoint(Ev.fromBufferAttribute(e, t)); + return this; + } + setFromPoints(e) { + this.makeEmpty(); + for (let t = 0, n = e.length; t < n; t++) this.expandByPoint(e[t]); + return this; + } + setFromCenterAndSize(e, t) { + let n = Ev.copy(t).multiplyScalar(0.5); + return (this.min.copy(e).sub(n), this.max.copy(e).add(n), this); + } + setFromObject(e, t = !1) { + return (this.makeEmpty(), this.expandByObject(e, t)); + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + return (this.min.copy(e.min), this.max.copy(e.max), this); + } + makeEmpty() { + return ( + (this.min.x = this.min.y = this.min.z = 1 / 0), + (this.max.x = this.max.y = this.max.z = -1 / 0), + this + ); + } + isEmpty() { + return ( + this.max.x < this.min.x || + this.max.y < this.min.y || + this.max.z < this.min.z + ); + } + getCenter(e) { + return this.isEmpty() + ? e.set(0, 0, 0) + : e.addVectors(this.min, this.max).multiplyScalar(0.5); + } + getSize(e) { + return this.isEmpty() ? e.set(0, 0, 0) : e.subVectors(this.max, this.min); + } + expandByPoint(e) { + return (this.min.min(e), this.max.max(e), this); + } + expandByVector(e) { + return (this.min.sub(e), this.max.add(e), this); + } + expandByScalar(e) { + return (this.min.addScalar(-e), this.max.addScalar(e), this); + } + expandByObject(e, t = !1) { + e.updateWorldMatrix(!1, !1); + let n = e.geometry; + if (n !== void 0) { + let o = n.getAttribute("position"); + if (t === !0 && o !== void 0 && e.isInstancedMesh !== !0) + for (let a = 0, i = o.count; a < i; a++) { + if (e.isMesh === !0) e.getVertexPosition(a, Ev); + else Ev.fromBufferAttribute(o, a); + (Ev.applyMatrix4(e.matrixWorld), this.expandByPoint(Ev)); + } + else { + if (e.boundingBox !== void 0) { + if (e.boundingBox === null) e.computeBoundingBox(); + Zme.copy(e.boundingBox); + } else { + if (n.boundingBox === null) n.computeBoundingBox(); + Zme.copy(n.boundingBox); + } + (Zme.applyMatrix4(e.matrixWorld), this.union(Zme)); + } + } + let r = e.children; + for (let o = 0, a = r.length; o < a; o++) this.expandByObject(r[o], t); + return this; + } + containsPoint(e) { + return ( + e.x >= this.min.x && + e.x <= this.max.x && + e.y >= this.min.y && + e.y <= this.max.y && + e.z >= this.min.z && + e.z <= this.max.z + ); + } + containsBox(e) { + return ( + this.min.x <= e.min.x && + e.max.x <= this.max.x && + this.min.y <= e.min.y && + e.max.y <= this.max.y && + this.min.z <= e.min.z && + e.max.z <= this.max.z + ); + } + getParameter(e, t) { + return t.set( + (e.x - this.min.x) / (this.max.x - this.min.x), + (e.y - this.min.y) / (this.max.y - this.min.y), + (e.z - this.min.z) / (this.max.z - this.min.z), + ); + } + intersectsBox(e) { + return ( + e.max.x >= this.min.x && + e.min.x <= this.max.x && + e.max.y >= this.min.y && + e.min.y <= this.max.y && + e.max.z >= this.min.z && + e.min.z <= this.max.z + ); + } + intersectsSphere(e) { + return ( + this.clampPoint(e.center, Ev), + Ev.distanceToSquared(e.center) <= e.radius * e.radius + ); + } + intersectsPlane(e) { + let t, n; + if (e.normal.x > 0) + ((t = e.normal.x * this.min.x), (n = e.normal.x * this.max.x)); + else ((t = e.normal.x * this.max.x), (n = e.normal.x * this.min.x)); + if (e.normal.y > 0) + ((t += e.normal.y * this.min.y), (n += e.normal.y * this.max.y)); + else ((t += e.normal.y * this.max.y), (n += e.normal.y * this.min.y)); + if (e.normal.z > 0) + ((t += e.normal.z * this.min.z), (n += e.normal.z * this.max.z)); + else ((t += e.normal.z * this.max.z), (n += e.normal.z * this.min.z)); + return t <= -e.constant && n >= -e.constant; + } + intersectsTriangle(e) { + if (this.isEmpty()) return !1; + (this.getCenter(KQ), + Qme.subVectors(this.max, KQ), + gB.subVectors(e.a, KQ), + yB.subVectors(e.b, KQ), + vB.subVectors(e.c, KQ), + o5.subVectors(yB, gB), + a5.subVectors(vB, yB), + s7.subVectors(gB, vB)); + let t = [ + 0, + -o5.z, + o5.y, + 0, + -a5.z, + a5.y, + 0, + -s7.z, + s7.y, + o5.z, + 0, + -o5.x, + a5.z, + 0, + -a5.x, + s7.z, + 0, + -s7.x, + -o5.y, + o5.x, + 0, + -a5.y, + a5.x, + 0, + -s7.y, + s7.x, + 0, + ]; + if (!Xze(t, gB, yB, vB, Qme)) return !1; + if (((t = [1, 0, 0, 0, 1, 0, 0, 0, 1]), !Xze(t, gB, yB, vB, Qme))) + return !1; + return ( + Xme.crossVectors(o5, a5), + (t = [Xme.x, Xme.y, Xme.z]), + Xze(t, gB, yB, vB, Qme) + ); + } + clampPoint(e, t) { + return t.copy(e).clamp(this.min, this.max); + } + distanceToPoint(e) { + return this.clampPoint(e, Ev).distanceTo(e); + } + getBoundingSphere(e) { + if (this.isEmpty()) e.makeEmpty(); + else + (this.getCenter(e.center), (e.radius = this.getSize(Ev).length() * 0.5)); + return e; + } + intersect(e) { + if ((this.min.max(e.min), this.max.min(e.max), this.isEmpty())) + this.makeEmpty(); + return this; + } + union(e) { + return (this.min.min(e.min), this.max.max(e.max), this); + } + applyMatrix4(e) { + if (this.isEmpty()) return this; + return ( + Vw[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(e), + Vw[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(e), + Vw[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(e), + Vw[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(e), + Vw[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(e), + Vw[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(e), + Vw[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(e), + Vw[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(e), + this.setFromPoints(Vw), + this + ); + } + translate(e) { + return (this.min.add(e), this.max.add(e), this); + } + equals(e) { + return e.min.equals(this.min) && e.max.equals(this.max); + } + toJSON() { + return { min: this.min.toArray(), max: this.max.toArray() }; + } + fromJSON(e) { + return (this.min.fromArray(e.min), this.max.fromArray(e.max), this); + } +} +function Xze(e, t, n, r, o) { + for (let a = 0, i = e.length - 3; a <= i; a += 3) { + l7.fromArray(e, a); + let s = o.x * Math.abs(l7.x) + o.y * Math.abs(l7.y) + o.z * Math.abs(l7.z), + l = t.dot(l7), + c = n.dot(l7), + u = r.dot(l7); + if (Math.max(-Math.max(l, c, u), Math.min(l, c, u)) > s) return !1; + } + return !0; +} +function pPr() { + let e = new ArrayBuffer(4), + t = new Float32Array(e), + n = new Uint32Array(e), + r = new Uint32Array(512), + o = new Uint32Array(512); + for (let l = 0; l < 256; ++l) { + let c = l - 127; + if (c < -27) + ((r[l] = 0), (r[l | 256] = 32768), (o[l] = 24), (o[l | 256] = 24)); + else if (c < -14) + ((r[l] = 1024 >> (-c - 14)), + (r[l | 256] = (1024 >> (-c - 14)) | 32768), + (o[l] = -c - 1), + (o[l | 256] = -c - 1)); + else if (c <= 15) + ((r[l] = (c + 15) << 10), + (r[l | 256] = ((c + 15) << 10) | 32768), + (o[l] = 13), + (o[l | 256] = 13)); + else if (c < 128) + ((r[l] = 31744), (r[l | 256] = 64512), (o[l] = 24), (o[l | 256] = 24)); + else ((r[l] = 31744), (r[l | 256] = 64512), (o[l] = 13), (o[l | 256] = 13)); + } + let a = new Uint32Array(2048), + i = new Uint32Array(64), + s = new Uint32Array(64); + for (let l = 1; l < 1024; ++l) { + let c = l << 13, + u = 0; + while ((c & 8388608) === 0) ((c <<= 1), (u -= 8388608)); + ((c &= -8388609), (u += 947912704), (a[l] = c | u)); + } + for (let l = 1024; l < 2048; ++l) a[l] = 939524096 + ((l - 1024) << 13); + for (let l = 1; l < 31; ++l) i[l] = l << 23; + ((i[31] = 1199570944), (i[32] = 2147483648)); + for (let l = 33; l < 63; ++l) i[l] = 2147483648 + ((l - 32) << 23); + i[63] = 3347054592; + for (let l = 1; l < 64; ++l) if (l !== 32) s[l] = 1024; + return { + floatView: t, + uint32View: n, + baseTable: r, + shiftTable: o, + mantissaTable: a, + exponentTable: i, + offsetTable: s, + }; +} +function L0(e) { + if (Math.abs(e) > 65504) zn("DataUtils.toHalfFloat(): Value out of range."); + ((e = to(e, -65504, 65504)), (Zw.floatView[0] = e)); + let t = Zw.uint32View[0], + n = (t >> 23) & 511; + return Zw.baseTable[n] + ((t & 8388607) >> Zw.shiftTable[n]); +} +function sX(e) { + let t = e >> 10; + return ( + (Zw.uint32View[0] = + Zw.mantissaTable[Zw.offsetTable[t] + (e & 1023)] + Zw.exponentTable[t]), + Zw.floatView[0] + ); +} +class eS { + static toHalfFloat(e) { + return L0(e); + } + static fromHalfFloat(e) { + return sX(e); + } +} +class op { + constructor(e = new he(), t = -1) { + ((this.isSphere = !0), (this.center = e), (this.radius = t)); + } + set(e, t) { + return (this.center.copy(e), (this.radius = t), this); + } + setFromPoints(e, t) { + let n = this.center; + if (t !== void 0) n.copy(t); + else mPr.setFromPoints(e).getCenter(n); + let r = 0; + for (let o = 0, a = e.length; o < a; o++) + r = Math.max(r, n.distanceToSquared(e[o])); + return ((this.radius = Math.sqrt(r)), this); + } + copy(e) { + return (this.center.copy(e.center), (this.radius = e.radius), this); + } + isEmpty() { + return this.radius < 0; + } + makeEmpty() { + return (this.center.set(0, 0, 0), (this.radius = -1), this); + } + containsPoint(e) { + return e.distanceToSquared(this.center) <= this.radius * this.radius; + } + distanceToPoint(e) { + return e.distanceTo(this.center) - this.radius; + } + intersectsSphere(e) { + let t = this.radius + e.radius; + return e.center.distanceToSquared(this.center) <= t * t; + } + intersectsBox(e) { + return e.intersectsSphere(this); + } + intersectsPlane(e) { + return Math.abs(e.distanceToPoint(this.center)) <= this.radius; + } + clampPoint(e, t) { + let n = this.center.distanceToSquared(e); + if ((t.copy(e), n > this.radius * this.radius)) + (t.sub(this.center).normalize(), + t.multiplyScalar(this.radius).add(this.center)); + return t; + } + getBoundingBox(e) { + if (this.isEmpty()) return (e.makeEmpty(), e); + return (e.set(this.center, this.center), e.expandByScalar(this.radius), e); + } + applyMatrix4(e) { + return ( + this.center.applyMatrix4(e), + (this.radius = this.radius * e.getMaxScaleOnAxis()), + this + ); + } + translate(e) { + return (this.center.add(e), this); + } + expandByPoint(e) { + if (this.isEmpty()) return (this.center.copy(e), (this.radius = 0), this); + JQ.subVectors(e, this.center); + let t = JQ.lengthSq(); + if (t > this.radius * this.radius) { + let n = Math.sqrt(t), + r = (n - this.radius) * 0.5; + (this.center.addScaledVector(JQ, r / n), (this.radius += r)); + } + return this; + } + union(e) { + if (e.isEmpty()) return this; + if (this.isEmpty()) return (this.copy(e), this); + if (this.center.equals(e.center) === !0) + this.radius = Math.max(this.radius, e.radius); + else + (Wze.subVectors(e.center, this.center).setLength(e.radius), + this.expandByPoint(JQ.copy(e.center).add(Wze)), + this.expandByPoint(JQ.copy(e.center).sub(Wze))); + return this; + } + equals(e) { + return e.center.equals(this.center) && e.radius === this.radius; + } + clone() { + return new this.constructor().copy(this); + } + toJSON() { + return { radius: this.radius, center: this.center.toArray() }; + } + fromJSON(e) { + return ((this.radius = e.radius), this.center.fromArray(e.center), this); + } +} +class QB { + constructor(e, t) { + ((this.isInterleavedBuffer = !0), + (this.array = e), + (this.stride = t), + (this.count = e !== void 0 ? e.length / t : 0), + (this.usage = 35044), + (this.updateRanges = []), + (this.version = 0), + (this.uuid = a1())); + } + onUploadCallback() {} + set needsUpdate(e) { + if (e === !0) this.version++; + } + setUsage(e) { + return ((this.usage = e), this); + } + addUpdateRange(e, t) { + this.updateRanges.push({ start: e, count: t }); + } + clearUpdateRanges() { + this.updateRanges.length = 0; + } + copy(e) { + return ( + (this.array = new e.array.constructor(e.array)), + (this.count = e.count), + (this.stride = e.stride), + (this.usage = e.usage), + this + ); + } + copyAt(e, t, n) { + ((e *= this.stride), (n *= t.stride)); + for (let r = 0, o = this.stride; r < o; r++) + this.array[e + r] = t.array[n + r]; + return this; + } + set(e, t = 0) { + return (this.array.set(e, t), this); + } + clone(e) { + if (e.arrayBuffers === void 0) e.arrayBuffers = {}; + if (this.array.buffer._uuid === void 0) this.array.buffer._uuid = a1(); + if (e.arrayBuffers[this.array.buffer._uuid] === void 0) + e.arrayBuffers[this.array.buffer._uuid] = this.array.slice(0).buffer; + let t = new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]), + n = new this.constructor(t, this.stride); + return (n.setUsage(this.usage), n); + } + onUpload(e) { + return ((this.onUploadCallback = e), this); + } + toJSON(e) { + if (e.arrayBuffers === void 0) e.arrayBuffers = {}; + if (this.array.buffer._uuid === void 0) this.array.buffer._uuid = a1(); + if (e.arrayBuffers[this.array.buffer._uuid] === void 0) + e.arrayBuffers[this.array.buffer._uuid] = Array.from( + new Uint32Array(this.array.buffer), + ); + let t = { + uuid: this.uuid, + buffer: this.array.buffer._uuid, + type: this.array.constructor.name, + stride: this.stride, + }; + return ((t.usage = this.usage), t); + } +} +class c5 { + constructor(e, t, n, r = !1) { + ((this.isInterleavedBufferAttribute = !0), + (this.name = ""), + (this.data = e), + (this.itemSize = t), + (this.offset = n), + (this.normalized = r)); + } + get count() { + return this.data.count; + } + get array() { + return this.data.array; + } + set needsUpdate(e) { + this.data.needsUpdate = e; + } + applyMatrix4(e) { + for (let t = 0, n = this.data.count; t < n; t++) + (Eh.fromBufferAttribute(this, t), + Eh.applyMatrix4(e), + this.setXYZ(t, Eh.x, Eh.y, Eh.z)); + return this; + } + applyNormalMatrix(e) { + for (let t = 0, n = this.count; t < n; t++) + (Eh.fromBufferAttribute(this, t), + Eh.applyNormalMatrix(e), + this.setXYZ(t, Eh.x, Eh.y, Eh.z)); + return this; + } + transformDirection(e) { + for (let t = 0, n = this.count; t < n; t++) + (Eh.fromBufferAttribute(this, t), + Eh.transformDirection(e), + this.setXYZ(t, Eh.x, Eh.y, Eh.z)); + return this; + } + getComponent(e, t) { + let n = this.array[e * this.data.stride + this.offset + t]; + if (this.normalized) n = Th(n, this.array); + return n; + } + setComponent(e, t, n) { + if (this.normalized) n = No(n, this.array); + return ( + (this.data.array[e * this.data.stride + this.offset + t] = n), + this + ); + } + setX(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.data.array[e * this.data.stride + this.offset] = t), this); + } + setY(e, t) { + if (this.normalized) t = No(t, this.array); + return ( + (this.data.array[e * this.data.stride + this.offset + 1] = t), + this + ); + } + setZ(e, t) { + if (this.normalized) t = No(t, this.array); + return ( + (this.data.array[e * this.data.stride + this.offset + 2] = t), + this + ); + } + setW(e, t) { + if (this.normalized) t = No(t, this.array); + return ( + (this.data.array[e * this.data.stride + this.offset + 3] = t), + this + ); + } + getX(e) { + let t = this.data.array[e * this.data.stride + this.offset]; + if (this.normalized) t = Th(t, this.array); + return t; + } + getY(e) { + let t = this.data.array[e * this.data.stride + this.offset + 1]; + if (this.normalized) t = Th(t, this.array); + return t; + } + getZ(e) { + let t = this.data.array[e * this.data.stride + this.offset + 2]; + if (this.normalized) t = Th(t, this.array); + return t; + } + getW(e) { + let t = this.data.array[e * this.data.stride + this.offset + 3]; + if (this.normalized) t = Th(t, this.array); + return t; + } + setXY(e, t, n) { + if (((e = e * this.data.stride + this.offset), this.normalized)) + ((t = No(t, this.array)), (n = No(n, this.array))); + return ((this.data.array[e + 0] = t), (this.data.array[e + 1] = n), this); + } + setXYZ(e, t, n, r) { + if (((e = e * this.data.stride + this.offset), this.normalized)) + ((t = No(t, this.array)), + (n = No(n, this.array)), + (r = No(r, this.array))); + return ( + (this.data.array[e + 0] = t), + (this.data.array[e + 1] = n), + (this.data.array[e + 2] = r), + this + ); + } + setXYZW(e, t, n, r, o) { + if (((e = e * this.data.stride + this.offset), this.normalized)) + ((t = No(t, this.array)), + (n = No(n, this.array)), + (r = No(r, this.array)), + (o = No(o, this.array))); + return ( + (this.data.array[e + 0] = t), + (this.data.array[e + 1] = n), + (this.data.array[e + 2] = r), + (this.data.array[e + 3] = o), + this + ); + } + clone(e) { + if (e === void 0) { + LB( + "InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.", + ); + let t = []; + for (let n = 0; n < this.count; n++) { + let r = n * this.data.stride + this.offset; + for (let o = 0; o < this.itemSize; o++) t.push(this.data.array[r + o]); + } + return new si( + new this.array.constructor(t), + this.itemSize, + this.normalized, + ); + } else { + if (e.interleavedBuffers === void 0) e.interleavedBuffers = {}; + if (e.interleavedBuffers[this.data.uuid] === void 0) + e.interleavedBuffers[this.data.uuid] = this.data.clone(e); + return new c5( + e.interleavedBuffers[this.data.uuid], + this.itemSize, + this.offset, + this.normalized, + ); + } + } + toJSON(e) { + if (e === void 0) { + LB( + "InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.", + ); + let t = []; + for (let n = 0; n < this.count; n++) { + let r = n * this.data.stride + this.offset; + for (let o = 0; o < this.itemSize; o++) t.push(this.data.array[r + o]); + } + return { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: t, + normalized: this.normalized, + }; + } else { + if (e.interleavedBuffers === void 0) e.interleavedBuffers = {}; + if (e.interleavedBuffers[this.data.uuid] === void 0) + e.interleavedBuffers[this.data.uuid] = this.data.toJSON(e); + return { + isInterleavedBufferAttribute: !0, + itemSize: this.itemSize, + data: this.data.uuid, + offset: this.offset, + normalized: this.normalized, + }; + } + } +} +class Ih { + constructor(e = new he(1, 0, 0), t = 0) { + ((this.isPlane = !0), (this.normal = e), (this.constant = t)); + } + set(e, t) { + return (this.normal.copy(e), (this.constant = t), this); + } + setComponents(e, t, n, r) { + return (this.normal.set(e, t, n), (this.constant = r), this); + } + setFromNormalAndCoplanarPoint(e, t) { + return (this.normal.copy(e), (this.constant = -t.dot(this.normal)), this); + } + setFromCoplanarPoints(e, t, n) { + let r = Kze.subVectors(n, t).cross(gPr.subVectors(e, t)).normalize(); + return (this.setFromNormalAndCoplanarPoint(r, e), this); + } + copy(e) { + return (this.normal.copy(e.normal), (this.constant = e.constant), this); + } + normalize() { + let e = 1 / this.normal.length(); + return (this.normal.multiplyScalar(e), (this.constant *= e), this); + } + negate() { + return ((this.constant *= -1), this.normal.negate(), this); + } + distanceToPoint(e) { + return this.normal.dot(e) + this.constant; + } + distanceToSphere(e) { + return this.distanceToPoint(e.center) - e.radius; + } + projectPoint(e, t) { + return t.copy(e).addScaledVector(this.normal, -this.distanceToPoint(e)); + } + intersectLine(e, t, n = !0) { + let r = e.delta(Kze), + o = this.normal.dot(r); + if (o === 0) { + if (this.distanceToPoint(e.start) === 0) return t.copy(e.start); + return null; + } + let a = -(e.start.dot(this.normal) + this.constant) / o; + if (n === !0 && (a < 0 || a > 1)) return null; + return t.copy(e.start).addScaledVector(r, a); + } + intersectsLine(e) { + let t = this.distanceToPoint(e.start), + n = this.distanceToPoint(e.end); + return (t < 0 && n > 0) || (n < 0 && t > 0); + } + intersectsBox(e) { + return e.intersectsPlane(this); + } + intersectsSphere(e) { + return e.intersectsPlane(this); + } + coplanarPoint(e) { + return e.copy(this.normal).multiplyScalar(-this.constant); + } + applyMatrix4(e, t) { + let n = t || yPr.getNormalMatrix(e), + r = this.coplanarPoint(Kze).applyMatrix4(e), + o = this.normal.applyMatrix3(n).normalize(); + return ((this.constant = -r.dot(o)), this); + } + translate(e) { + return ((this.constant -= e.dot(this.normal)), this); + } + equals(e) { + return e.normal.equals(this.normal) && e.constant === this.constant; + } + clone() { + return new this.constructor().copy(this); + } + toJSON() { + return { normal: this.normal.toArray(), constant: this.constant }; + } + fromJSON(e) { + return ( + this.normal.fromArray(e.normal), + (this.constant = e.constant), + this + ); + } +} +function Jme(e, t, n, r, o, a) { + if ((SB.subVectors(e, n).addScalar(0.5).multiply(r), o !== void 0)) + ((eX.x = a * SB.x - o * SB.y), (eX.y = o * SB.x + a * SB.y)); + else eX.copy(SB); + (e.copy(t), (e.x += eX.x), (e.y += eX.y), e.applyMatrix4(qhn)); +} +class Vy { + constructor(e = new he(), t = new he(0, 0, -1)) { + ((this.origin = e), (this.direction = t)); + } + set(e, t) { + return (this.origin.copy(e), this.direction.copy(t), this); + } + copy(e) { + return (this.origin.copy(e.origin), this.direction.copy(e.direction), this); + } + at(e, t) { + return t.copy(this.origin).addScaledVector(this.direction, e); + } + lookAt(e) { + return (this.direction.copy(e).sub(this.origin).normalize(), this); + } + recast(e) { + return (this.origin.copy(this.at(e, Gw)), this); + } + closestPointToPoint(e, t) { + t.subVectors(e, this.origin); + let n = t.dot(this.direction); + if (n < 0) return t.copy(this.origin); + return t.copy(this.origin).addScaledVector(this.direction, n); + } + distanceToPoint(e) { + return Math.sqrt(this.distanceSqToPoint(e)); + } + distanceSqToPoint(e) { + let t = Gw.subVectors(e, this.origin).dot(this.direction); + if (t < 0) return this.origin.distanceToSquared(e); + return ( + Gw.copy(this.origin).addScaledVector(this.direction, t), + Gw.distanceToSquared(e) + ); + } + distanceSqToSegment(e, t, n, r) { + (jze.copy(e).add(t).multiplyScalar(0.5), + $me.copy(t).sub(e).normalize(), + ehe.copy(this.origin).sub(jze)); + let o = e.distanceTo(t) * 0.5, + a = -this.direction.dot($me), + i = ehe.dot(this.direction), + s = -ehe.dot($me), + l = ehe.lengthSq(), + c = Math.abs(1 - a * a), + u, + d, + p, + f; + if (c > 0) + if (((u = a * s - i), (d = a * i - s), (f = o * c), u >= 0)) + if (d >= -f) + if (d <= f) { + let m = 1 / c; + ((u *= m), + (d *= m), + (p = u * (u + a * d + 2 * i) + d * (a * u + d + 2 * s) + l)); + } else + ((d = o), + (u = Math.max(0, -(a * d + i))), + (p = -u * u + d * (d + 2 * s) + l)); + else + ((d = -o), + (u = Math.max(0, -(a * d + i))), + (p = -u * u + d * (d + 2 * s) + l)); + else if (d <= -f) + ((u = Math.max(0, -(-a * o + i))), + (d = u > 0 ? -o : Math.min(Math.max(-o, -s), o)), + (p = -u * u + d * (d + 2 * s) + l)); + else if (d <= f) + ((u = 0), + (d = Math.min(Math.max(-o, -s), o)), + (p = d * (d + 2 * s) + l)); + else + ((u = Math.max(0, -(a * o + i))), + (d = u > 0 ? o : Math.min(Math.max(-o, -s), o)), + (p = -u * u + d * (d + 2 * s) + l)); + else + ((d = a > 0 ? -o : o), + (u = Math.max(0, -(a * d + i))), + (p = -u * u + d * (d + 2 * s) + l)); + if (n) n.copy(this.origin).addScaledVector(this.direction, u); + if (r) r.copy(jze).addScaledVector($me, d); + return p; + } + intersectSphere(e, t) { + if (e.radius < 0) return null; + Gw.subVectors(e.center, this.origin); + let n = Gw.dot(this.direction), + r = Gw.dot(Gw) - n * n, + o = e.radius * e.radius; + if (r > o) return null; + let a = Math.sqrt(o - r), + i = n - a, + s = n + a; + if (s < 0) return null; + if (i < 0) return this.at(s, t); + return this.at(i, t); + } + intersectsSphere(e) { + if (e.radius < 0) return !1; + return this.distanceSqToPoint(e.center) <= e.radius * e.radius; + } + distanceToPlane(e) { + let t = e.normal.dot(this.direction); + if (t === 0) { + if (e.distanceToPoint(this.origin) === 0) return 0; + return null; + } + let n = -(this.origin.dot(e.normal) + e.constant) / t; + return n >= 0 ? n : null; + } + intersectPlane(e, t) { + let n = this.distanceToPlane(e); + if (n === null) return null; + return this.at(n, t); + } + intersectsPlane(e) { + let t = e.distanceToPoint(this.origin); + if (t === 0) return !0; + if (e.normal.dot(this.direction) * t < 0) return !0; + return !1; + } + intersectBox(e, t) { + let n, + r, + o, + a, + i, + s, + l = 1 / this.direction.x, + c = 1 / this.direction.y, + u = 1 / this.direction.z, + d = this.origin; + if (l >= 0) ((n = (e.min.x - d.x) * l), (r = (e.max.x - d.x) * l)); + else ((n = (e.max.x - d.x) * l), (r = (e.min.x - d.x) * l)); + if (c >= 0) ((o = (e.min.y - d.y) * c), (a = (e.max.y - d.y) * c)); + else ((o = (e.max.y - d.y) * c), (a = (e.min.y - d.y) * c)); + if (n > a || o > r) return null; + if (o > n || isNaN(n)) n = o; + if (a < r || isNaN(r)) r = a; + if (u >= 0) ((i = (e.min.z - d.z) * u), (s = (e.max.z - d.z) * u)); + else ((i = (e.max.z - d.z) * u), (s = (e.min.z - d.z) * u)); + if (n > s || i > r) return null; + if (i > n || n !== n) n = i; + if (s < r || r !== r) r = s; + if (r < 0) return null; + return this.at(n >= 0 ? n : r, t); + } + intersectsBox(e) { + return this.intersectBox(e, Gw) !== null; + } + intersectTriangle(e, t, n, r, o) { + let a = this.origin, + i = this.direction, + { x: s, y: l, z: c } = i, + u = e.x - a.x, + d = e.y - a.y, + p = e.z - a.z, + f = t.x - a.x, + m = t.y - a.y, + g = t.z - a.z, + v = n.x - a.x, + y = n.y - a.y, + x = n.z - a.z, + A = Math.abs(s), + w = Math.abs(l), + C = Math.abs(c), + E, + T, + I, + k, + L, + O, + B, + U, + D, + N, + _, + G; + if (A >= w && A >= C) + if (((I = s), (O = u), (D = f), (G = v), s >= 0)) + ((E = l), + (T = c), + (k = d), + (L = p), + (B = m), + (U = g), + (N = y), + (_ = x)); + else + ((E = c), + (T = l), + (k = p), + (L = d), + (B = g), + (U = m), + (N = x), + (_ = y)); + else if (w >= C) + if (((I = l), (O = d), (D = m), (G = y), l >= 0)) + ((E = c), + (T = s), + (k = p), + (L = u), + (B = g), + (U = f), + (N = x), + (_ = v)); + else + ((E = s), + (T = c), + (k = u), + (L = p), + (B = f), + (U = g), + (N = v), + (_ = x)); + else if (((I = c), (O = p), (D = g), (G = x), c >= 0)) + ((E = s), (T = l), (k = u), (L = d), (B = f), (U = m), (N = v), (_ = y)); + else + ((E = l), (T = s), (k = d), (L = u), (B = m), (U = f), (N = y), (_ = v)); + if (I === 0) return null; + let Z = E / I, + q = T / I, + H = 1 / I, + te = k - Z * O, + ie = L - q * O, + j = B - Z * D, + oe = U - q * D, + J = N - Z * G, + Y = _ - q * G, + ae = J * oe - Y * j, + ne = te * Y - ie * J, + Se = j * ie - oe * te; + if (r) { + if (ae < 0 || ne < 0 || Se < 0) return null; + } else if ((ae < 0 || ne < 0 || Se < 0) && (ae > 0 || ne > 0 || Se > 0)) + return null; + let fe = ae + ne + Se; + if (fe === 0) return null; + let Ae = H * (ae * O + ne * D + Se * G); + if (fe > 0 ? Ae < 0 : Ae > 0) return null; + return this.at(Ae / fe, o); + } + applyMatrix4(e) { + return ( + this.origin.applyMatrix4(e), + this.direction.transformDirection(e), + this + ); + } + equals(e) { + return e.origin.equals(this.origin) && e.direction.equals(this.direction); + } + clone() { + return new this.constructor().copy(this); + } +} +function bPr(e, t, n, r, o, a, i, s) { + let l; + if (t.side === 1) l = r.intersectTriangle(i, a, o, !0, s); + else l = r.intersectTriangle(o, a, i, t.side === 0, s); + if (l === null) return null; + (ihe.copy(s), ihe.applyMatrix4(e.matrixWorld)); + let c = n.ray.origin.distanceTo(ihe); + if (c < n.near || c > n.far) return null; + return { distance: c, point: ihe.clone(), object: e }; +} +function she(e, t, n, r, o, a, i, s, l, c) { + (e.getVertexPosition(s, nhe), + e.getVertexPosition(l, rhe), + e.getVertexPosition(c, ohe)); + let u = bPr(e, t, n, r, nhe, rhe, ohe, Ofn); + if (u) { + let d = new he(); + if ((kh.getBarycoord(Ofn, nhe, rhe, ohe, d), o)) + u.uv = kh.getInterpolatedAttribute(o, s, l, c, d, new vt()); + if (a) u.uv1 = kh.getInterpolatedAttribute(a, s, l, c, d, new vt()); + if (i) { + if ( + ((u.normal = kh.getInterpolatedAttribute(i, s, l, c, d, new he())), + u.normal.dot(r.direction) > 0) + ) + u.normal.multiplyScalar(-1); + } + let p = { a: s, b: l, c, normal: new he(), materialIndex: 0 }; + (kh.getNormal(nhe, rhe, ohe, p.normal), (u.face = p), (u.barycoord = d)); + } + return u; +} +class zX { + constructor(e = [], t = []) { + ((this.uuid = a1()), + (this.bones = e.slice(0)), + (this.boneInverses = t), + (this.boneMatrices = null), + (this.boneTexture = null), + this.init()); + } + init() { + let e = this.bones, + t = this.boneInverses; + if (((this.boneMatrices = new Float32Array(e.length * 16)), t.length === 0)) + this.calculateInverses(); + else if (e.length !== t.length) { + (zn( + "Skeleton: Number of inverse bone matrices does not match amount of bones.", + ), + (this.boneInverses = [])); + for (let n = 0, r = this.bones.length; n < r; n++) + this.boneInverses.push(new Vn()); + } + } + calculateInverses() { + this.boneInverses.length = 0; + for (let e = 0, t = this.bones.length; e < t; e++) { + let n = new Vn(); + if (this.bones[e]) n.copy(this.bones[e].matrixWorld).invert(); + this.boneInverses.push(n); + } + } + pose() { + for (let e = 0, t = this.bones.length; e < t; e++) { + let n = this.bones[e]; + if (n) n.matrixWorld.copy(this.boneInverses[e]).invert(); + } + for (let e = 0, t = this.bones.length; e < t; e++) { + let n = this.bones[e]; + if (n) { + if (n.parent && n.parent.isBone) + (n.matrix.copy(n.parent.matrixWorld).invert(), + n.matrix.multiply(n.matrixWorld)); + else n.matrix.copy(n.matrixWorld); + n.matrix.decompose(n.position, n.quaternion, n.scale); + } + } + } + update() { + let e = this.bones, + t = this.boneInverses, + n = this.boneMatrices, + r = this.boneTexture; + for (let o = 0, a = e.length; o < a; o++) { + let i = e[o] ? e[o].matrixWorld : APr; + (_fn.multiplyMatrices(i, t[o]), _fn.toArray(n, o * 16)); + } + if (r !== null) r.needsUpdate = !0; + } + clone() { + return new zX(this.bones, this.boneInverses); + } + computeBoneTexture() { + let e = Math.sqrt(this.bones.length * 4); + ((e = Math.ceil(e / 4) * 4), (e = Math.max(e, 4))); + let t = new Float32Array(e * e * 4); + t.set(this.boneMatrices); + let n = new jl(t, e, e, 1023, 1015); + return ( + (n.needsUpdate = !0), + (this.boneMatrices = t), + (this.boneTexture = n), + this + ); + } + getBoneByName(e) { + for (let t = 0, n = this.bones.length; t < n; t++) { + let r = this.bones[t]; + if (r.name === e) return r; + } + return; + } + dispose() { + if (this.boneTexture !== null) + (this.boneTexture.dispose(), (this.boneTexture = null)); + } + fromJSON(e, t) { + this.uuid = e.uuid; + for (let n = 0, r = e.bones.length; n < r; n++) { + let o = e.bones[n], + a = t[o]; + if (a === void 0) + (zn("Skeleton: No bone found with UUID:", o), (a = new NX())); + (this.bones.push(a), + this.boneInverses.push(new Vn().fromArray(e.boneInverses[n]))); + } + return (this.init(), this); + } + toJSON() { + let e = { + metadata: { + version: 4.7, + type: "Skeleton", + generator: "Skeleton.toJSON", + }, + bones: [], + boneInverses: [], + }; + e.uuid = this.uuid; + let t = this.bones, + n = this.boneInverses; + for (let r = 0, o = t.length; r < o; r++) { + let a = t[r]; + e.bones.push(a.uuid); + let i = n[r]; + e.boneInverses.push(i.toArray()); + } + return e; + } +} +class Ww { + constructor( + e = new Ih(), + t = new Ih(), + n = new Ih(), + r = new Ih(), + o = new Ih(), + a = new Ih(), + ) { + this.planes = [e, t, n, r, o, a]; + } + set(e, t, n, r, o, a) { + let i = this.planes; + return ( + i[0].copy(e), + i[1].copy(t), + i[2].copy(n), + i[3].copy(r), + i[4].copy(o), + i[5].copy(a), + this + ); + } + copy(e) { + let t = this.planes; + for (let n = 0; n < 6; n++) t[n].copy(e.planes[n]); + return this; + } + setFromProjectionMatrix(e, t = 2000, n = !1) { + let r = this.planes, + o = e.elements, + a = o[0], + i = o[1], + s = o[2], + l = o[3], + c = o[4], + u = o[5], + d = o[6], + p = o[7], + f = o[8], + m = o[9], + g = o[10], + v = o[11], + y = o[12], + x = o[13], + A = o[14], + w = o[15]; + if ( + (r[0].setComponents(l - a, p - c, v - f, w - y).normalize(), + r[1].setComponents(l + a, p + c, v + f, w + y).normalize(), + r[2].setComponents(l + i, p + u, v + m, w + x).normalize(), + r[3].setComponents(l - i, p - u, v - m, w - x).normalize(), + n) + ) + (r[4].setComponents(s, d, g, A).normalize(), + r[5].setComponents(l - s, p - d, v - g, w - A).normalize()); + else if ( + (r[4].setComponents(l - s, p - d, v - g, w - A).normalize(), t === 2000) + ) + r[5].setComponents(l + s, p + d, v + g, w + A).normalize(); + else if (t === 2001) r[5].setComponents(s, d, g, A).normalize(); + else + throw Error( + "THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: " + + t, + ); + return this; + } + intersectsObject(e) { + if (e.boundingSphere !== void 0) { + if (e.boundingSphere === null) e.computeBoundingSphere(); + u7.copy(e.boundingSphere).applyMatrix4(e.matrixWorld); + } else { + let t = e.geometry; + if (t.boundingSphere === null) t.computeBoundingSphere(); + u7.copy(t.boundingSphere).applyMatrix4(e.matrixWorld); + } + return this.intersectsSphere(u7); + } + intersectsSprite(e) { + u7.center.set(0, 0, 0); + let t = SPr.distanceTo(e.center); + return ( + (u7.radius = 0.7071067811865476 + t), + u7.applyMatrix4(e.matrixWorld), + this.intersectsSphere(u7) + ); + } + intersectsSphere(e) { + let t = this.planes, + n = e.center, + r = -e.radius; + for (let o = 0; o < 6; o++) if (t[o].distanceToPoint(n) < r) return !1; + return !0; + } + intersectsBox(e) { + let t = this.planes; + for (let n = 0; n < 6; n++) { + let r = t[n]; + if ( + ((uhe.x = r.normal.x > 0 ? e.max.x : e.min.x), + (uhe.y = r.normal.y > 0 ? e.max.y : e.min.y), + (uhe.z = r.normal.z > 0 ? e.max.z : e.min.z), + r.distanceToPoint(uhe) < 0) + ) + return !1; + } + return !0; + } + containsPoint(e) { + let t = this.planes; + for (let n = 0; n < 6; n++) if (t[n].distanceToPoint(e) < 0) return !1; + return !0; + } + clone() { + return new this.constructor().copy(this); + } +} +class _X { + constructor() { + ((this.coordinateSystem = 2000), (this._frustums = []), (this._count = 0)); + } + setFromArrayCamera(e) { + let t = e.cameras, + n = this._frustums; + for (let r = 0; r < t.length; r++) { + let o = t[r]; + if ( + (Gfn.multiplyMatrices(o.projectionMatrix, o.matrixWorldInverse), + n[r] === void 0) + ) + n[r] = new Ww(); + n[r].setFromProjectionMatrix(Gfn, o.coordinateSystem, o.reversedDepth); + } + return ((this._count = t.length), this); + } + intersectsObject(e) { + let t = this._frustums; + for (let n = 0; n < this._count; n++) + if (t[n].intersectsObject(e)) return !0; + return !1; + } + intersectsSprite(e) { + let t = this._frustums; + for (let n = 0; n < this._count; n++) + if (t[n].intersectsSprite(e)) return !0; + return !1; + } + intersectsSphere(e) { + let t = this._frustums; + for (let n = 0; n < this._count; n++) + if (t[n].intersectsSphere(e)) return !0; + return !1; + } + intersectsBox(e) { + let t = this._frustums; + for (let n = 0; n < this._count; n++) if (t[n].intersectsBox(e)) return !0; + return !1; + } + containsPoint(e) { + let t = this._frustums; + for (let n = 0; n < this._count; n++) if (t[n].containsPoint(e)) return !0; + return !1; + } + copy(e) { + this.coordinateSystem = e.coordinateSystem; + let t = this._frustums, + n = e._frustums; + for (let r = 0; r < e._count; r++) { + if (t[r] === void 0) t[r] = new Ww(); + t[r].copy(n[r]); + } + return ((this._count = e._count), this); + } + clone() { + return new _X().copy(this); + } +} +function n_e(e, t) { + return e - t; +} +function CPr(e, t) { + return e.z - t.z; +} +function EPr(e, t) { + return t.z - e.z; +} +class Zhn { + constructor() { + ((this.index = 0), (this.pool = []), (this.list = [])); + } + push(e, t, n, r) { + let o = this.pool, + a = this.list; + if (this.index >= o.length) + o.push({ start: -1, count: -1, z: -1, index: -1 }); + let i = o[this.index]; + (a.push(i), + this.index++, + (i.start = e), + (i.count = t), + (i.z = n), + (i.index = r)); + } + reset() { + ((this.list.length = 0), (this.index = 0)); + } +} +function PPr(e, t, n = 0) { + let r = t.itemSize; + if ( + e.isInterleavedBufferAttribute || + e.array.constructor !== t.array.constructor + ) { + let o = e.count; + for (let a = 0; a < o; a++) + for (let i = 0; i < r; i++) + t.setComponent(a + n, i, e.getComponent(a, i)); + } else t.array.set(e.array, n * r); + t.needsUpdate = !0; +} +function p7(e, t) { + if (e.constructor !== t.constructor) { + let n = Math.min(e.length, t.length); + for (let r = 0; r < n; r++) t[r] = e[r]; + } else { + let n = Math.min(e.length, t.length); + t.set(new e.constructor(e.buffer, 0, n)); + } +} +function mhe(e, t, n, r, o, a, i) { + let s = e.geometry.attributes.position; + if ( + (Mhe.fromBufferAttribute(s, o), + Dhe.fromBufferAttribute(s, a), + n.distanceSqToSegment(Mhe, Dhe, o_e, Qfn) > r) + ) + return; + o_e.applyMatrix4(e.matrixWorld); + let c = t.ray.origin.distanceTo(o_e); + if (c < t.near || c > t.far) return; + return { + distance: c, + point: Qfn.clone().applyMatrix4(e.matrixWorld), + index: i, + face: null, + faceIndex: null, + barycoord: null, + object: e, + }; +} +function Kfn(e, t, n, r, o, a, i) { + let s = g_e.distanceSqToPoint(e); + if (s < n) { + let l = new he(); + (g_e.closestPointToPoint(e, l), l.applyMatrix4(r)); + let c = o.ray.origin.distanceTo(l); + if (c < o.near || c > o.far) return; + a.push({ + distance: c, + distanceToRay: Math.sqrt(s), + point: l, + index: t, + face: null, + faceIndex: null, + barycoord: null, + object: i, + }); + } +} +class l1 { + constructor() { + ((this.type = "Curve"), + (this.arcLengthDivisions = 200), + (this.needsUpdate = !1), + (this.cacheArcLengths = null)); + } + getPoint() { + zn("Curve: .getPoint() not implemented."); + } + getPointAt(e, t) { + let n = this.getUtoTmapping(e); + return this.getPoint(n, t); + } + getPoints(e = 5) { + let t = []; + for (let n = 0; n <= e; n++) t.push(this.getPoint(n / e)); + return t; + } + getSpacedPoints(e = 5) { + let t = []; + for (let n = 0; n <= e; n++) t.push(this.getPointAt(n / e)); + return t; + } + getLength() { + let e = this.getLengths(); + return e[e.length - 1]; + } + getLengths(e = this.arcLengthDivisions) { + if ( + this.cacheArcLengths && + this.cacheArcLengths.length === e + 1 && + !this.needsUpdate + ) + return this.cacheArcLengths; + this.needsUpdate = !1; + let t = [], + n, + r = this.getPoint(0), + o = 0; + t.push(0); + for (let a = 1; a <= e; a++) + ((n = this.getPoint(a / e)), (o += n.distanceTo(r)), t.push(o), (r = n)); + return ((this.cacheArcLengths = t), t); + } + updateArcLengths() { + ((this.needsUpdate = !0), this.getLengths()); + } + getUtoTmapping(e, t = null) { + let n = this.getLengths(), + r = 0, + o = n.length, + a; + if (t) a = t; + else a = e * n[o - 1]; + let i = 0, + s = o - 1, + l; + while (i <= s) + if (((r = Math.floor(i + (s - i) / 2)), (l = n[r] - a), l < 0)) i = r + 1; + else if (l > 0) s = r - 1; + else { + s = r; + break; + } + if (((r = s), n[r] === a)) return r / (o - 1); + let c = n[r], + d = n[r + 1] - c, + p = (a - c) / d; + return (r + p) / (o - 1); + } + getTangent(e, t) { + let r = e - 0.0001, + o = e + 0.0001; + if (r < 0) r = 0; + if (o > 1) o = 1; + let a = this.getPoint(r), + i = this.getPoint(o), + s = t || (a.isVector2 ? new vt() : new he()); + return (s.copy(i).sub(a).normalize(), s); + } + getTangentAt(e, t) { + let n = this.getUtoTmapping(e); + return this.getTangent(n, t); + } + computeFrenetFrames(e, t = !1) { + let n = new he(), + r = [], + o = [], + a = [], + i = new he(), + s = new Vn(); + for (let p = 0; p <= e; p++) { + let f = p / e; + r[p] = this.getTangentAt(f, new he()); + } + ((o[0] = new he()), (a[0] = new he())); + let l = Number.MAX_VALUE, + c = Math.abs(r[0].x), + u = Math.abs(r[0].y), + d = Math.abs(r[0].z); + if (c <= l) ((l = c), n.set(1, 0, 0)); + if (u <= l) ((l = u), n.set(0, 1, 0)); + if (d <= l) n.set(0, 0, 1); + (i.crossVectors(r[0], n).normalize(), + o[0].crossVectors(r[0], i), + a[0].crossVectors(r[0], o[0])); + for (let p = 1; p <= e; p++) { + if ( + ((o[p] = o[p - 1].clone()), + (a[p] = a[p - 1].clone()), + i.crossVectors(r[p - 1], r[p]), + i.length() > Number.EPSILON) + ) { + i.normalize(); + let f = Math.acos(to(r[p - 1].dot(r[p]), -1, 1)); + o[p].applyMatrix4(s.makeRotationAxis(i, f)); + } + a[p].crossVectors(r[p], o[p]); + } + if (t === !0) { + let p = Math.acos(to(o[0].dot(o[e]), -1, 1)); + if (((p /= e), r[0].dot(i.crossVectors(o[0], o[e])) > 0)) p = -p; + for (let f = 1; f <= e; f++) + (o[f].applyMatrix4(s.makeRotationAxis(r[f], p * f)), + a[f].crossVectors(r[f], o[f])); + } + return { tangents: r, normals: o, binormals: a }; + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + return ((this.arcLengthDivisions = e.arcLengthDivisions), this); + } + toJSON() { + let e = { + metadata: { version: 4.7, type: "Curve", generator: "Curve.toJSON" }, + }; + return ( + (e.arcLengthDivisions = this.arcLengthDivisions), + (e.type = this.type), + e + ); + } + fromJSON(e) { + return ((this.arcLengthDivisions = e.arcLengthDivisions), this); + } +} +function THe() { + let e = 0, + t = 0, + n = 0, + r = 0; + function o(a, i, s, l) { + ((e = a), + (t = s), + (n = -3 * a + 3 * i - 2 * s - l), + (r = 2 * a - 2 * i + s + l)); + } + return { + initCatmullRom: function (a, i, s, l, c) { + o(i, s, c * (s - a), c * (l - i)); + }, + initNonuniformCatmullRom: function (a, i, s, l, c, u, d) { + let p = (i - a) / c - (s - a) / (c + u) + (s - i) / u, + f = (s - i) / u - (l - i) / (u + d) + (l - s) / d; + ((p *= u), (f *= u), o(i, s, p, f)); + }, + calc: function (a) { + let i = a * a, + s = i * a; + return e + t * a + n * i + r * s; + }, + }; +} +function $fn(e, t, n, r, o) { + let a = (r - t) * 0.5, + i = (o - n) * 0.5, + s = e * e, + l = e * s; + return ( + (2 * n - 2 * r + a + i) * l + (-3 * n + 3 * r - 2 * a - i) * s + a * e + n + ); +} +function MPr(e, t) { + let n = 1 - e; + return n * n * t; +} +function DPr(e, t) { + return 2 * (1 - e) * e * t; +} +function LPr(e, t) { + return e * e * t; +} +function uX(e, t, n, r) { + return MPr(e, t) + DPr(e, n) + LPr(e, r); +} +function BPr(e, t) { + let n = 1 - e; + return n * n * n * t; +} +function OPr(e, t) { + let n = 1 - e; + return 3 * n * n * e * t; +} +function FPr(e, t) { + return 3 * (1 - e) * e * e * t; +} +function UPr(e, t) { + return e * e * e * t; +} +function dX(e, t, n, r, o) { + return BPr(e, t) + OPr(e, n) + FPr(e, r) + UPr(e, o); +} +function NPr(e, t, n = 2) { + let r = t && t.length, + o = r ? t[0] * n : e.length, + a = Qhn(e, 0, o, n, !0), + i = []; + if (!a || a.next === a.prev) return i; + let s, l, c; + if (r) a = GPr(e, t, a, n); + if (e.length > 80 * n) { + ((s = e[0]), (l = e[1])); + let u = s, + d = l; + for (let p = n; p < o; p += n) { + let f = e[p], + m = e[p + 1]; + if (f < s) s = f; + if (m < l) l = m; + if (f > u) u = f; + if (m > d) d = m; + } + ((c = Math.max(u - s, d - l)), (c = c !== 0 ? 32767 / c : 0)); + } + return (fX(a, i, n, s, l, c, 0), i); +} +function Qhn(e, t, n, r, o) { + let a; + if (o === e9r(e, t, n, r) > 0) + for (let i = t; i < n; i += r) a = emn((i / r) | 0, e[i], e[i + 1], a); + else + for (let i = n - r; i >= t; i -= r) a = emn((i / r) | 0, e[i], e[i + 1], a); + if (a && BB(a, a.next)) (hX(a), (a = a.next)); + return a; +} +function w7(e, t) { + if (!e) return e; + if (!t) t = e; + let n = e, + r; + do + if ( + ((r = !1), !n.steiner && (BB(n, n.next) || Jl(n.prev, n, n.next) === 0)) + ) { + if ((hX(n), (n = t = n.prev), n === n.next)) break; + r = !0; + } else n = n.next; + while (r || n !== t); + return t; +} +function fX(e, t, n, r, o, a, i) { + if (!e) return; + if (!i && a) WPr(e, r, o, a); + let s = e; + while (e.prev !== e.next) { + let l = e.prev, + c = e.next; + if (a ? _Pr(e, r, o, a) : zPr(e)) { + (t.push(l.i, e.i, c.i), hX(e), (e = c.next), (s = c.next)); + continue; + } + if (((e = c), e === s)) { + if (!i) fX(w7(e), t, n, r, o, a, 1); + else if (i === 1) ((e = HPr(w7(e), t)), fX(e, t, n, r, o, a, 2)); + else if (i === 2) VPr(e, t, n, r, o, a); + break; + } + } +} +function zPr(e) { + let t = e.prev, + n = e, + r = e.next; + if (Jl(t, n, r) >= 0) return !1; + let o = t.x, + a = n.x, + i = r.x, + s = t.y, + l = n.y, + c = r.y, + u = Math.min(o, a, i), + d = Math.min(s, l, c), + p = Math.max(o, a, i), + f = Math.max(s, l, c), + m = r.next; + while (m !== t) { + if ( + m.x >= u && + m.x <= p && + m.y >= d && + m.y <= f && + lX(o, s, a, l, i, c, m.x, m.y) && + Jl(m.prev, m, m.next) >= 0 + ) + return !1; + m = m.next; + } + return !0; +} +function _Pr(e, t, n, r) { + let o = e.prev, + a = e, + i = e.next; + if (Jl(o, a, i) >= 0) return !1; + let s = o.x, + l = a.x, + c = i.x, + u = o.y, + d = a.y, + p = i.y, + f = Math.min(s, l, c), + m = Math.min(u, d, p), + g = Math.max(s, l, c), + v = Math.max(u, d, p), + y = y_e(f, m, t, n, r), + x = y_e(g, v, t, n, r), + { prevZ: A, nextZ: w } = e; + while (A && A.z >= y && w && w.z <= x) { + if ( + A.x >= f && + A.x <= g && + A.y >= m && + A.y <= v && + A !== o && + A !== i && + lX(s, u, l, d, c, p, A.x, A.y) && + Jl(A.prev, A, A.next) >= 0 + ) + return !1; + if ( + ((A = A.prevZ), + w.x >= f && + w.x <= g && + w.y >= m && + w.y <= v && + w !== o && + w !== i && + lX(s, u, l, d, c, p, w.x, w.y) && + Jl(w.prev, w, w.next) >= 0) + ) + return !1; + w = w.nextZ; + } + while (A && A.z >= y) { + if ( + A.x >= f && + A.x <= g && + A.y >= m && + A.y <= v && + A !== o && + A !== i && + lX(s, u, l, d, c, p, A.x, A.y) && + Jl(A.prev, A, A.next) >= 0 + ) + return !1; + A = A.prevZ; + } + while (w && w.z <= x) { + if ( + w.x >= f && + w.x <= g && + w.y >= m && + w.y <= v && + w !== o && + w !== i && + lX(s, u, l, d, c, p, w.x, w.y) && + Jl(w.prev, w, w.next) >= 0 + ) + return !1; + w = w.nextZ; + } + return !0; +} +function HPr(e, t) { + let n = e; + do { + let r = n.prev, + o = n.next.next; + if (!BB(r, o) && Whn(r, n, n.next, o) && mX(r, o) && mX(o, r)) + (t.push(r.i, n.i, o.i), hX(n), hX(n.next), (n = e = o)); + n = n.next; + } while (n !== e); + return w7(n); +} +function VPr(e, t, n, r, o, a) { + let i = e; + do { + let s = i.next.next; + while (s !== i.prev) { + if (i.i !== s.i && JPr(i, s)) { + let l = Yhn(i, s); + ((i = w7(i, i.next)), + (l = w7(l, l.next)), + fX(i, t, n, r, o, a, 0), + fX(l, t, n, r, o, a, 0)); + return; + } + s = s.next; + } + i = i.next; + } while (i !== e); +} +function GPr(e, t, n, r) { + let o = []; + for (let a = 0, i = t.length; a < i; a++) { + let s = t[a] * r, + l = a < i - 1 ? t[a + 1] * r : e.length, + c = Qhn(e, s, l, r, !1); + if (c === c.next) c.steiner = !0; + o.push(KPr(c)); + } + o.sort(qPr); + for (let a = 0; a < o.length; a++) n = ZPr(o[a], n); + return n; +} +function qPr(e, t) { + let n = e.x - t.x; + if (n === 0) { + if (((n = e.y - t.y), n === 0)) { + let r = (e.next.y - e.y) / (e.next.x - e.x), + o = (t.next.y - t.y) / (t.next.x - t.x); + n = r - o; + } + } + return n; +} +function ZPr(e, t) { + let n = QPr(e, t); + if (!n) return t; + let r = Yhn(n, e); + return (w7(r, r.next), w7(n, n.next)); +} +function QPr(e, t) { + let n = t, + { x: r, y: o } = e, + a = -1 / 0, + i; + if (BB(e, n)) return n; + do { + if (BB(e, n.next)) return n.next; + else if (o <= n.y && o >= n.next.y && n.next.y !== n.y) { + let d = n.x + ((o - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); + if (d <= r && d > a) { + if (((a = d), (i = n.x < n.next.x ? n : n.next), d === r)) return i; + } + } + n = n.next; + } while (n !== t); + if (!i) return null; + let s = i, + l = i.x, + c = i.y, + u = 1 / 0; + n = i; + do { + if ( + r >= n.x && + n.x >= l && + r !== n.x && + Xhn(o < c ? r : a, o, l, c, o < c ? a : r, o, n.x, n.y) + ) { + let d = Math.abs(o - n.y) / (r - n.x); + if ( + mX(n, e) && + (d < u || (d === u && (n.x > i.x || (n.x === i.x && XPr(i, n))))) + ) + ((i = n), (u = d)); + } + n = n.next; + } while (n !== s); + return i; +} +function XPr(e, t) { + return Jl(e.prev, e, t.prev) < 0 && Jl(t.next, e, e.next) < 0; +} +function WPr(e, t, n, r) { + let o = e; + do { + if (o.z === 0) o.z = y_e(o.x, o.y, t, n, r); + ((o.prevZ = o.prev), (o.nextZ = o.next), (o = o.next)); + } while (o !== e); + ((o.prevZ.nextZ = null), (o.prevZ = null), YPr(o)); +} +function YPr(e) { + let t, + n = 1; + do { + let r = e, + o; + e = null; + let a = null; + t = 0; + while (r) { + t++; + let i = r, + s = 0; + for (let c = 0; c < n; c++) if ((s++, (i = i.nextZ), !i)) break; + let l = n; + while (s > 0 || (l > 0 && i)) { + if (s !== 0 && (l === 0 || !i || r.z <= i.z)) + ((o = r), (r = r.nextZ), s--); + else ((o = i), (i = i.nextZ), l--); + if (a) a.nextZ = o; + else e = o; + ((o.prevZ = a), (a = o)); + } + r = i; + } + ((a.nextZ = null), (n *= 2)); + } while (t > 1); + return e; +} +function y_e(e, t, n, r, o) { + return ( + (e = ((e - n) * o) | 0), + (t = ((t - r) * o) | 0), + (e = (e | (e << 8)) & 16711935), + (e = (e | (e << 4)) & 252645135), + (e = (e | (e << 2)) & 858993459), + (e = (e | (e << 1)) & 1431655765), + (t = (t | (t << 8)) & 16711935), + (t = (t | (t << 4)) & 252645135), + (t = (t | (t << 2)) & 858993459), + (t = (t | (t << 1)) & 1431655765), + e | (t << 1) + ); +} +function KPr(e) { + let t = e, + n = e; + do { + if (t.x < n.x || (t.x === n.x && t.y < n.y)) n = t; + t = t.next; + } while (t !== e); + return n; +} +function Xhn(e, t, n, r, o, a, i, s) { + return ( + (o - i) * (t - s) >= (e - i) * (a - s) && + (e - i) * (r - s) >= (n - i) * (t - s) && + (n - i) * (a - s) >= (o - i) * (r - s) + ); +} +function lX(e, t, n, r, o, a, i, s) { + return !(e === i && t === s) && Xhn(e, t, n, r, o, a, i, s); +} +function JPr(e, t) { + return ( + e.next.i !== t.i && + e.prev.i !== t.i && + !jPr(e, t) && + ((mX(e, t) && + mX(t, e) && + $Pr(e, t) && + (Jl(e.prev, e, t.prev) || Jl(e, t.prev, t))) || + (BB(e, t) && Jl(e.prev, e, e.next) > 0 && Jl(t.prev, t, t.next) > 0)) + ); +} +function Jl(e, t, n) { + return (t.y - e.y) * (n.x - t.x) - (t.x - e.x) * (n.y - t.y); +} +function BB(e, t) { + return e.x === t.x && e.y === t.y; +} +function Whn(e, t, n, r) { + let o = Ahe(Jl(e, t, n)), + a = Ahe(Jl(e, t, r)), + i = Ahe(Jl(n, r, e)), + s = Ahe(Jl(n, r, t)); + if (o !== a && i !== s) return !0; + if (o === 0 && xhe(e, n, t)) return !0; + if (a === 0 && xhe(e, r, t)) return !0; + if (i === 0 && xhe(n, e, r)) return !0; + if (s === 0 && xhe(n, t, r)) return !0; + return !1; +} +function xhe(e, t, n) { + return ( + t.x <= Math.max(e.x, n.x) && + t.x >= Math.min(e.x, n.x) && + t.y <= Math.max(e.y, n.y) && + t.y >= Math.min(e.y, n.y) + ); +} +function Ahe(e) { + return e > 0 ? 1 : e < 0 ? -1 : 0; +} +function jPr(e, t) { + let n = e; + do { + if ( + n.i !== e.i && + n.next.i !== e.i && + n.i !== t.i && + n.next.i !== t.i && + Whn(n, n.next, e, t) + ) + return !0; + n = n.next; + } while (n !== e); + return !1; +} +function mX(e, t) { + return Jl(e.prev, e, e.next) < 0 + ? Jl(e, t, e.next) >= 0 && Jl(e, e.prev, t) >= 0 + : Jl(e, t, e.prev) < 0 || Jl(e, e.next, t) < 0; +} +function $Pr(e, t) { + let n = e, + r = !1, + o = (e.x + t.x) / 2, + a = (e.y + t.y) / 2; + do { + if ( + n.y > a !== n.next.y > a && + n.next.y !== n.y && + o < ((n.next.x - n.x) * (a - n.y)) / (n.next.y - n.y) + n.x + ) + r = !r; + n = n.next; + } while (n !== e); + return r; +} +function Yhn(e, t) { + let n = v_e(e.i, e.x, e.y), + r = v_e(t.i, t.x, t.y), + o = e.next, + a = t.prev; + return ( + (e.next = t), + (t.prev = e), + (n.next = o), + (o.prev = n), + (r.next = n), + (n.prev = r), + (a.next = r), + (r.prev = a), + r + ); +} +function emn(e, t, n, r) { + let o = v_e(e, t, n); + if (!r) ((o.prev = o), (o.next = o)); + else ((o.next = r.next), (o.prev = r), (r.next.prev = o), (r.next = o)); + return o; +} +function hX(e) { + if (((e.next.prev = e.prev), (e.prev.next = e.next), e.prevZ)) + e.prevZ.nextZ = e.nextZ; + if (e.nextZ) e.nextZ.prevZ = e.prevZ; +} +function v_e(e, t, n) { + return { + i: e, + x: t, + y: n, + prev: null, + next: null, + z: 0, + prevZ: null, + nextZ: null, + steiner: !1, + }; +} +function e9r(e, t, n, r) { + let o = 0; + for (let a = t, i = n - r; a < n; a += r) + ((o += (e[i] - e[a]) * (e[a + 1] + e[i + 1])), (i = a)); + return o; +} +class Khn { + static triangulate(e, t, n = 2) { + return NPr(e, t, n); + } +} +class _y { + static area(e) { + let t = e.length, + n = 0; + for (let r = t - 1, o = 0; o < t; r = o++) + n += e[r].x * e[o].y - e[o].x * e[r].y; + return n * 0.5; + } + static isClockWise(e) { + return _y.area(e) < 0; + } + static triangulateShape(e, t) { + let n = [], + r = [], + o = []; + (tmn(e), nmn(n, e)); + let a = e.length; + t.forEach(tmn); + for (let s = 0; s < t.length; s++) + (r.push(a), (a += t[s].length), nmn(n, t[s])); + let i = Khn.triangulate(n, r); + for (let s = 0; s < i.length; s += 3) o.push(i.slice(s, s + 3)); + return o; + } +} +function tmn(e) { + let t = e.length; + if (t > 2 && e[t - 1].equals(e[0])) e.pop(); +} +function nmn(e, t) { + for (let n = 0; n < t.length; n++) (e.push(t[n].x), e.push(t[n].y)); +} +function n9r(e, t, n) { + if (((n.shapes = []), Array.isArray(e))) + for (let r = 0, o = e.length; r < o; r++) { + let a = e[r]; + n.shapes.push(a.uuid); + } + else n.shapes.push(e.uuid); + if (((n.options = Object.assign({}, t)), t.extrudePath !== void 0)) + n.options.extrudePath = t.extrudePath.toJSON(); + return n; +} +function r9r(e, t) { + if (((t.shapes = []), Array.isArray(e))) + for (let n = 0, r = e.length; n < r; n++) { + let o = e[n]; + t.shapes.push(o.uuid); + } + else t.shapes.push(e.uuid); + return t; +} +function rmn(e, t, n) { + let r = `${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`, + o = `${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`; + if (n.has(r) === !0 || n.has(o) === !0) return !1; + else return (n.add(r), n.add(o), !0); +} +function L7(e) { + let t = {}; + for (let n in e) { + t[n] = {}; + for (let r in e[n]) { + let o = e[n][r]; + if (amn(o)) + if (o.isRenderTargetTexture) + (zn( + "UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms().", + ), + (t[n][r] = null)); + else t[n][r] = o.clone(); + else if (Array.isArray(o)) + if (amn(o[0])) { + let a = []; + for (let i = 0, s = o.length; i < s; i++) a[i] = o[i].clone(); + t[n][r] = a; + } else t[n][r] = o.slice(); + else t[n][r] = o; + } + } + return t; +} +function Nm(e) { + let t = {}; + for (let n = 0; n < e.length; n++) { + let r = L7(e[n]); + for (let o in r) t[o] = r[o]; + } + return t; +} +function amn(e) { + return ( + e && + (e.isColor || + e.isMatrix3 || + e.isMatrix4 || + e.isVector2 || + e.isVector3 || + e.isVector4 || + e.isTexture || + e.isQuaternion) + ); +} +function o9r(e) { + let t = []; + for (let n = 0; n < e.length; n++) t.push(e[n].clone()); + return t; +} +function kHe(e) { + let t = e.getRenderTarget(); + if (t === null) return e.outputColorSpace; + if (t.isXRRenderTarget === !0) return t.texture.colorSpace; + return jo.workingColorSpace; +} +function Iv(e, t) { + if (!e || e.constructor === t) return e; + if (typeof t.BYTES_PER_ELEMENT === "number") return new t(e); + return Array.prototype.slice.call(e); +} +function pX(e) { + return e !== void 0 && e.inTangents !== void 0 && e.outTangents !== void 0; +} +function Jhn(e) { + function t(o, a) { + return e[o] - e[a]; + } + let n = e.length, + r = Array(n); + for (let o = 0; o !== n; ++o) r[o] = o; + return (r.sort(t), r); +} +function b_e(e, t, n) { + let r = e.length, + o = new e.constructor(r); + for (let a = 0, i = 0; i !== r; ++a) { + let s = n[a] * t; + for (let l = 0; l !== t; ++l) o[i++] = e[s + l]; + } + return o; +} +function jhn(e, t, n, r) { + let o = 1, + a = e[0]; + while (a !== void 0 && a[r] === void 0) a = e[o++]; + if (a === void 0) return; + let i = a[r]; + if (i === void 0) return; + if (Array.isArray(i)) + do { + if (((i = a[r]), i !== void 0)) (t.push(a.time), n.push(...i)); + a = e[o++]; + } while (a !== void 0); + else if (i.toArray !== void 0) + do { + if (((i = a[r]), i !== void 0)) (t.push(a.time), i.toArray(n, n.length)); + a = e[o++]; + } while (a !== void 0); + else + do { + if (((i = a[r]), i !== void 0)) (t.push(a.time), n.push(i)); + a = e[o++]; + } while (a !== void 0); +} +function s9r(e, t, n, r, o = 30) { + let a = e.clone(); + a.name = t; + let i = []; + for (let l = 0; l < a.tracks.length; ++l) { + let c = a.tracks[l], + u = c.getValueSize(), + d = [], + p = []; + for (let f = 0; f < c.times.length; ++f) { + let m = c.times[f] * o; + if (m < n || m >= r) continue; + d.push(c.times[f]); + for (let g = 0; g < u; ++g) p.push(c.values[f * u + g]); + } + if (d.length === 0) continue; + ((c.times = Iv(d, c.times.constructor)), + (c.values = Iv(p, c.values.constructor)), + i.push(c)); + } + a.tracks = i; + let s = 1 / 0; + for (let l = 0; l < a.tracks.length; ++l) + if (s > a.tracks[l].times[0]) s = a.tracks[l].times[0]; + for (let l = 0; l < a.tracks.length; ++l) a.tracks[l].shift(-1 * s); + return (a.resetDuration(), a); +} +function l9r(e, t = 0, n = e, r = 30) { + if (r <= 0) r = 30; + let o = n.tracks.length, + a = t / r; + for (let i = 0; i < o; ++i) { + let s = n.tracks[i], + l = s.ValueTypeName; + if (l === "bool" || l === "string") continue; + let c = e.tracks.find(function (y) { + return y.name === s.name && y.ValueTypeName === l; + }); + if (c === void 0) continue; + let u = 0, + d = s.getValueSize(); + if (s.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) + u = d / 3; + let p = 0, + f = c.getValueSize(); + if (c.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) + p = f / 3; + let m = s.times.length - 1, + g; + if (a <= s.times[0]) { + let y = u, + x = d - u; + g = s.values.slice(y, x); + } else if (a >= s.times[m]) { + let y = m * d + u, + x = y + d - u; + g = s.values.slice(y, x); + } else { + let y = s.createInterpolant(), + x = u, + A = d - u; + (y.evaluate(a), (g = y.resultBuffer.slice(x, A))); + } + if (l === "quaternion") + new Vo().fromArray(g).normalize().conjugate().toArray(g); + let v = c.times.length; + for (let y = 0; y < v; ++y) { + let x = y * f + p; + if (l === "quaternion") + Vo.multiplyQuaternionsFlat(c.values, x, g, 0, c.values, x); + else { + let A = f - p * 2; + for (let w = 0; w < A; ++w) c.values[x + w] -= g[w]; + } + } + } + return ((e.blendMode = 2501), e); +} +class PHe { + static convertArray(e, t) { + return Iv(e, t); + } + static isTypedArray(e) { + return Uhn(e); + } + static hasTangents(e) { + return pX(e); + } + static getKeyframeOrder(e) { + return Jhn(e); + } + static sortedArray(e, t, n) { + return b_e(e, t, n); + } + static flattenJSON(e, t, n, r) { + jhn(e, t, n, r); + } + static subclip(e, t, n, r, o = 30) { + return s9r(e, t, n, r, o); + } + static makeClipAdditive(e, t = 0, n = e, r = 30) { + return l9r(e, t, n, r); + } +} +class b5 { + constructor(e, t, n, r) { + ((this.parameterPositions = e), + (this._cachedIndex = 0), + (this.resultBuffer = r !== void 0 ? r : new t.constructor(n)), + (this.sampleValues = t), + (this.valueSize = n), + (this.settings = null), + (this.DefaultSettings_ = {})); + } + evaluate(e) { + let t = this.parameterPositions, + n = this._cachedIndex, + r = t[n], + o = t[n - 1]; + e: { + t: { + let a; + n: { + r: if (!(e < r)) { + for (let i = n + 2; ;) { + if (r === void 0) { + if (e < o) break r; + return ( + (n = t.length), + (this._cachedIndex = n), + this.copySampleValue_(n - 1) + ); + } + if (n === i) break; + if (((o = r), (r = t[++n]), e < r)) break t; + } + a = t.length; + break n; + } + if (!(e >= o)) { + let i = t[1]; + if (e < i) ((n = 2), (o = i)); + for (let s = n - 2; ;) { + if (o === void 0) + return ((this._cachedIndex = 0), this.copySampleValue_(0)); + if (n === s) break; + if (((r = o), (o = t[--n - 1]), e >= o)) break t; + } + ((a = n), (n = 0)); + break n; + } + break e; + } + while (n < a) { + let i = (n + a) >>> 1; + if (e < t[i]) a = i; + else n = i + 1; + } + if (((r = t[n]), (o = t[n - 1]), o === void 0)) + return ((this._cachedIndex = 0), this.copySampleValue_(0)); + if (r === void 0) + return ( + (n = t.length), + (this._cachedIndex = n), + this.copySampleValue_(n - 1) + ); + } + ((this._cachedIndex = n), this.intervalChanged_(n, o, r)); + } + return this.interpolate_(n, o, e, r); + } + getSettings_() { + return this.settings || this.DefaultSettings_; + } + copySampleValue_(e) { + let t = this.resultBuffer, + n = this.sampleValues, + r = this.valueSize, + o = e * r; + for (let a = 0; a !== r; ++a) t[a] = n[o + a]; + return t; + } + interpolate_() { + throw Error("THREE.Interpolant: Call to abstract method."); + } + intervalChanged_() {} +} +function $hn(e, t, n, r, o) { + let a = 1 - e; + return a * a * a * t + 3 * a * a * e * n + 3 * a * e * e * r + e * e * e * o; +} +function c9r(e, t, n, r, o) { + let a = 1 - e; + return 3 * a * a * (n - t) + 6 * a * e * (r - n) + 3 * e * e * (o - r); +} +function u9r(e, t, n, r, o) { + let a = (e - t) / (o - t); + for (let i = 0; i < 8; i++) { + let s = $hn(a, t, n, r, o) - e; + if (Math.abs(s) < 0.0000000001) break; + let l = c9r(a, t, n, r, o); + if (Math.abs(l) < 0.0000000001) break; + a = Math.max(0, Math.min(1, a - s / l)); + } + return a; +} +class F0 { + constructor(e, t, n, r) { + if (e === void 0) + throw Error("THREE.KeyframeTrack: track name is undefined"); + if (t === void 0 || t.length === 0) + throw Error("THREE.KeyframeTrack: no keyframes in track named " + e); + ((this.name = e), + (this.times = Iv(t, this.TimeBufferType)), + (this.values = Iv(n, this.ValueBufferType)), + this.setInterpolation(r || this.DefaultInterpolation)); + } + static toJSON(e) { + let t = e.constructor, + n; + if (t.toJSON !== this.toJSON) n = t.toJSON(e); + else { + n = { + name: e.name, + times: Iv(e.times, Array), + values: Iv(e.values, Array), + }; + let r = e.getInterpolation(); + if (r !== e.DefaultInterpolation) n.interpolation = r; + if (pX(e.settings)) + n.settings = { + inTangents: Iv(e.settings.inTangents, Array), + outTangents: Iv(e.settings.outTangents, Array), + }; + } + return ((n.type = e.ValueTypeName), n); + } + InterpolantFactoryMethodDiscrete(e) { + return new rge(this.times, this.values, this.getValueSize(), e); + } + InterpolantFactoryMethodLinear(e) { + return new uW(this.times, this.values, this.getValueSize(), e); + } + InterpolantFactoryMethodSmooth(e) { + return new nge(this.times, this.values, this.getValueSize(), e); + } + InterpolantFactoryMethodBezier(e) { + let t = new oge(this.times, this.values, this.getValueSize(), e); + if (this.settings) + ((t.inTangents = this.settings.inTangents), + (t.outTangents = this.settings.outTangents)); + return t; + } + setInterpolation(e) { + let t; + switch (e) { + case 2300: + t = this.InterpolantFactoryMethodDiscrete; + break; + case 2301: + t = this.InterpolantFactoryMethodLinear; + break; + case 2302: + t = this.InterpolantFactoryMethodSmooth; + break; + case 2303: + t = this.InterpolantFactoryMethodBezier; + break; + } + if (t === void 0) { + let n = + "unsupported interpolation for " + + this.ValueTypeName + + " keyframe track named " + + this.name; + if (this.createInterpolant === void 0) + if (e !== this.DefaultInterpolation) + this.setInterpolation(this.DefaultInterpolation); + else throw Error(n); + return (zn("KeyframeTrack:", n), this); + } + return ((this.createInterpolant = t), this); + } + getInterpolation() { + switch (this.createInterpolant) { + case this.InterpolantFactoryMethodDiscrete: + return 2300; + case this.InterpolantFactoryMethodLinear: + return 2301; + case this.InterpolantFactoryMethodSmooth: + return 2302; + case this.InterpolantFactoryMethodBezier: + return 2303; + } + } + getValueSize() { + return this.values.length / this.times.length; + } + shift(e) { + if (e !== 0) { + let t = this.times; + for (let n = 0, r = t.length; n !== r; ++n) t[n] += e; + } + return this; + } + scale(e) { + if (e !== 1) { + let t = this.times; + for (let n = 0, r = t.length; n !== r; ++n) t[n] *= e; + if (pX(this.settings)) + (imn(this.settings.inTangents, e), imn(this.settings.outTangents, e)); + } + return this; + } + trim(e, t) { + let n = this.times, + r = n.length, + o = 0, + a = r - 1; + while (o !== r && n[o] < e) ++o; + while (a !== -1 && n[a] > t) --a; + if ((++a, o !== 0 || a !== r)) { + if (o >= a) ((a = Math.max(a, 1)), (o = a - 1)); + let i = this.getValueSize(); + ((this.times = n.slice(o, a)), + (this.values = this.values.slice(o * i, a * i))); + } + return this; + } + validate() { + let e = !0, + t = this.getValueSize(); + if (t - Math.floor(t) !== 0) + (wr("KeyframeTrack: Invalid value size in track.", this), (e = !1)); + let n = this.times, + r = this.values, + o = n.length; + if (o === 0) (wr("KeyframeTrack: Track is empty.", this), (e = !1)); + let a = null; + for (let i = 0; i !== o; i++) { + let s = n[i]; + if (typeof s === "number" && isNaN(s)) { + (wr("KeyframeTrack: Time is not a valid number.", this, i, s), + (e = !1)); + break; + } + if (a !== null && a > s) { + (wr("KeyframeTrack: Out of order keys.", this, i, s, a), (e = !1)); + break; + } + a = s; + } + if (r !== void 0) { + if (Uhn(r)) + for (let i = 0, s = r.length; i !== s; ++i) { + let l = r[i]; + if (isNaN(l)) { + (wr("KeyframeTrack: Value is not a valid number.", this, i, l), + (e = !1)); + break; + } + } + } + return e; + } + optimize() { + let e = this.times.slice(), + t = this.values.slice(), + n = this.getValueSize(), + r = this.getInterpolation() === 2302, + o = e.length - 1, + a = 1; + for (let i = 1; i < o; ++i) { + let s = !1, + l = e[i], + c = e[i + 1]; + if (l !== c && (i !== 1 || l !== e[0])) + if (!r) { + let u = i * n, + d = u - n, + p = u + n; + for (let f = 0; f !== n; ++f) { + let m = t[u + f]; + if (m !== t[d + f] || m !== t[p + f]) { + s = !0; + break; + } + } + } else s = !0; + if (s) { + if (i !== a) { + e[a] = e[i]; + let u = i * n, + d = a * n; + for (let p = 0; p !== n; ++p) t[d + p] = t[u + p]; + } + ++a; + } + } + if (o > 0) { + e[a] = e[o]; + for (let i = o * n, s = a * n, l = 0; l !== n; ++l) t[s + l] = t[i + l]; + ++a; + } + if (a !== e.length) + ((this.times = e.slice(0, a)), (this.values = t.slice(0, a * n))); + else ((this.times = e), (this.values = t)); + return this; + } + clone() { + let e = this.times.slice(), + t = this.values.slice(), + r = new this.constructor(this.name, e, t); + if (((r.createInterpolant = this.createInterpolant), pX(this.settings))) + r.settings = { + inTangents: this.settings.inTangents.slice(), + outTangents: this.settings.outTangents.slice(), + }; + return r; + } +} +function imn(e, t) { + for (let n = 0, r = e.length; n !== r; n += 2) e[n] *= t; +} +class S7 { + constructor(e = "", t = -1, n = [], r = 2500) { + if ( + ((this.name = e), + (this.tracks = n), + (this.duration = t), + (this.blendMode = r), + (this.uuid = a1()), + (this.userData = {}), + this.duration < 0) + ) + this.resetDuration(); + } + static parse(e) { + let t = [], + n = e.tracks, + r = 1 / (e.fps || 1); + for (let a = 0, i = n.length; a !== i; ++a) t.push(p9r(n[a]).scale(r)); + let o = new this(e.name, e.duration, t, e.blendMode); + return ( + (o.uuid = e.uuid), + (o.userData = JSON.parse(e.userData || "{}")), + o + ); + } + static toJSON(e) { + let t = [], + n = e.tracks, + r = { + name: e.name, + duration: e.duration, + tracks: t, + uuid: e.uuid, + blendMode: e.blendMode, + userData: JSON.stringify(e.userData), + }; + for (let o = 0, a = n.length; o !== a; ++o) t.push(F0.toJSON(n[o])); + return r; + } + static CreateFromMorphTargetSequence(e, t, n, r) { + let o = t.length, + a = []; + for (let i = 0; i < o; i++) { + let s = [], + l = []; + (s.push((i + o - 1) % o, i, (i + 1) % o), l.push(0, 1, 0)); + let c = Jhn(s); + if (((s = b_e(s, 1, c)), (l = b_e(l, 1, c)), !r && s[0] === 0)) + (s.push(o), l.push(l[0])); + a.push( + new KB(".morphTargetInfluences[" + t[i].name + "]", s, l).scale(1 / n), + ); + } + return new this(e, -1, a); + } + static findByName(e, t) { + let n = e; + if (!Array.isArray(e)) { + let r = e; + n = (r.geometry && r.geometry.animations) || r.animations; + } + for (let r = 0; r < n.length; r++) if (n[r].name === t) return n[r]; + return null; + } + static CreateClipsFromMorphTargetSequences(e, t, n) { + let r = {}, + o = /^([\w-]*?)([\d]+)$/; + for (let i = 0, s = e.length; i < s; i++) { + let l = e[i], + c = l.name.match(o); + if (c && c.length > 1) { + let u = c[1], + d = r[u]; + if (!d) r[u] = d = []; + d.push(l); + } + } + let a = []; + for (let i in r) a.push(this.CreateFromMorphTargetSequence(i, r[i], t, n)); + return a; + } + resetDuration() { + let e = this.tracks, + t = 0; + for (let n = 0, r = e.length; n !== r; ++n) { + let o = this.tracks[n]; + t = Math.max(t, o.times[o.times.length - 1]); + } + return ((this.duration = t), this); + } + trim() { + for (let e = 0; e < this.tracks.length; e++) + this.tracks[e].trim(0, this.duration); + return this; + } + validate() { + let e = !0; + for (let t = 0; t < this.tracks.length; t++) + e = e && this.tracks[t].validate(); + return e; + } + optimize() { + for (let e = 0; e < this.tracks.length; e++) this.tracks[e].optimize(); + return this; + } + clone() { + let e = []; + for (let n = 0; n < this.tracks.length; n++) e.push(this.tracks[n].clone()); + let t = new this.constructor(this.name, this.duration, e, this.blendMode); + return ((t.userData = JSON.parse(JSON.stringify(this.userData))), t); + } + toJSON() { + return this.constructor.toJSON(this); + } +} +function d9r(e) { + switch (e.toLowerCase()) { + case "scalar": + case "double": + case "float": + case "number": + case "integer": + return KB; + case "vector": + case "vector2": + case "vector3": + case "vector4": + return pW; + case "color": + return dW; + case "quaternion": + return JB; + case "bool": + case "boolean": + return oS; + case "string": + return aS; + } + throw Error("THREE.KeyframeTrack: Unsupported typeName: " + e); +} +function p9r(e) { + if (e.type === void 0) + throw Error("THREE.KeyframeTrack: track type undefined, can not parse"); + let t = d9r(e.type); + if (e.times === void 0) { + let r = [], + o = []; + (jhn(e.keys, r, o, "value"), (e.times = r), (e.values = o)); + } + let n; + if (t.parse !== void 0) n = t.parse(e); + else n = new t(e.name, e.times, e.values, e.interpolation); + if (pX(e.settings)) + n.settings = { + inTangents: Iv(e.settings.inTangents, Float32Array), + outTangents: Iv(e.settings.outTangents, Float32Array), + }; + return n; +} +function smn(e) { + try { + let t = e.slice(e.indexOf(":") + 1); + return new URL(t).protocol === "blob:"; + } catch (t) { + return !1; + } +} +class fW { + constructor(e, t, n) { + let r = this, + o = !1, + a = 0, + i = 0, + s = void 0, + l = []; + ((this.onStart = void 0), + (this.onLoad = e), + (this.onProgress = t), + (this.onError = n), + (this._abortController = null), + (this.itemStart = function (c) { + if ((i++, o === !1)) { + if (r.onStart !== void 0) r.onStart(c, a, i); + } + o = !0; + }), + (this.itemEnd = function (c) { + if ((a++, r.onProgress !== void 0)) r.onProgress(c, a, i); + if (a === i) { + if (((o = !1), r.onLoad !== void 0)) r.onLoad(); + } + }), + (this.itemError = function (c) { + if (r.onError !== void 0) r.onError(c); + }), + (this.resolveURL = function (c) { + if (((c = c.normalize("NFC")), s)) return s(c); + return c; + }), + (this.setURLModifier = function (c) { + return ((s = c), this); + }), + (this.addHandler = function (c, u) { + return (l.push(c, u), this); + }), + (this.removeHandler = function (c) { + let u = l.indexOf(c); + if (u !== -1) l.splice(u, 2); + return this; + }), + (this.getHandler = function (c) { + for (let u = 0, d = l.length; u < d; u += 2) { + let p = l[u], + f = l[u + 1]; + if (p.global) p.lastIndex = 0; + if (p.test(c)) return f; + } + return null; + }), + (this.abort = function () { + return ( + this.abortController.abort(), + (this._abortController = null), + this + ); + })); + } + get abortController() { + if (!this._abortController) this._abortController = new AbortController(); + return this._abortController; + } +} +class tf { + constructor(e) { + if ( + ((this.manager = e !== void 0 ? e : MHe), + (this.crossOrigin = "anonymous"), + (this.withCredentials = !1), + (this.path = ""), + (this.resourcePath = ""), + (this.requestHeader = {}), + typeof __THREE_DEVTOOLS__ < "u") + ) + __THREE_DEVTOOLS__.dispatchEvent( + new CustomEvent("observe", { detail: this }), + ); + } + load() {} + loadAsync(e, t) { + let n = this; + return new Promise(function (r, o) { + n.load(e, r, t, o); + }); + } + parse() {} + setCrossOrigin(e) { + return ((this.crossOrigin = e), this); + } + setWithCredentials(e) { + return ((this.withCredentials = e), this); + } + setPath(e) { + return ((this.path = e), this); + } + setResourcePath(e) { + return ((this.resourcePath = e), this); + } + setRequestHeader(e) { + return ((this.requestHeader = e), this); + } + abort() { + return this; + } +} +class jB { + constructor(e) { + ((this.camera = e), + (this.intensity = 1), + (this.bias = 0), + (this.biasNode = null), + (this.normalBias = 0), + (this.radius = 1), + (this.blurSamples = 8), + (this.mapSize = new vt(512, 512)), + (this.mapType = 1009), + (this.map = null), + (this.mapPass = null), + (this.matrix = new Vn()), + (this.autoUpdate = !0), + (this.needsUpdate = !1), + (this._frustum = new Ww()), + (this._frameExtents = new vt(1, 1)), + (this._viewportCount = 1), + (this._viewports = [new Ja(0, 0, 1, 1)])); + } + getViewportCount() { + return this._viewportCount; + } + getCamera() { + return this.camera; + } + getFrustum() { + return this._frustum; + } + updateMatrices(e) { + let t = this.camera; + (lmn.setFromMatrixPosition(e.matrixWorld), + t.position.copy(lmn), + cmn.setFromMatrixPosition(e.target.matrixWorld), + t.lookAt(cmn), + t.updateMatrixWorld(), + this._updateMatrix(t, this.matrix, this._frustum)); + } + _updateMatrix(e, t, n, r) { + (c_e.multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse), + n.setFromProjectionMatrix(c_e, e.coordinateSystem, e.reversedDepth)); + let o = this._frameExtents, + a = r ? r.z / o.x : 1, + i = r ? r.w / o.y : 1, + s = r ? r.x / o.x : 0, + l = r ? r.y / o.y : 0; + if (e.coordinateSystem === 2001 || e.reversedDepth) + t.set( + 0.5 * a, + 0, + 0, + 0.5 * a + s, + 0, + 0.5 * i, + 0, + 0.5 * i + l, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + ); + else + t.set( + 0.5 * a, + 0, + 0, + 0.5 * a + s, + 0, + 0.5 * i, + 0, + 0.5 * i + l, + 0, + 0, + 0.5, + 0.5, + 0, + 0, + 0, + 1, + ); + t.multiply(c_e); + } + getViewport(e) { + return this._viewports[e]; + } + getFrameExtents() { + return this._frameExtents; + } + dispose() { + if (this.map) this.map.dispose(); + if (this.mapPass) this.mapPass.dispose(); + } + copy(e) { + return ( + (this.camera = e.camera.clone()), + (this.intensity = e.intensity), + (this.bias = e.bias), + (this.radius = e.radius), + (this.autoUpdate = e.autoUpdate), + (this.needsUpdate = e.needsUpdate), + (this.normalBias = e.normalBias), + (this.blurSamples = e.blurSamples), + this.mapSize.copy(e.mapSize), + (this.biasNode = e.biasNode), + this + ); + } + clone() { + return new this.constructor().copy(this); + } + toJSON() { + let e = {}; + return ( + (e.intensity = this.intensity), + (e.bias = this.bias), + (e.normalBias = this.normalBias), + (e.radius = this.radius), + (e.blurSamples = this.blurSamples), + (e.mapSize = this.mapSize.toArray()), + (e.camera = this.camera.toJSON(!1).object), + delete e.camera.matrix, + e + ); + } +} +class mW { + constructor() { + ((this.isSphericalHarmonics3 = !0), (this.coefficients = [])); + for (let e = 0; e < 9; e++) this.coefficients.push(new he()); + } + set(e) { + for (let t = 0; t < 9; t++) this.coefficients[t].copy(e[t]); + return this; + } + zero() { + for (let e = 0; e < 9; e++) this.coefficients[e].set(0, 0, 0); + return this; + } + getAt(e, t) { + let { x: n, y: r, z: o } = e, + a = this.coefficients; + return ( + t.copy(a[0]).multiplyScalar(0.282095), + t.addScaledVector(a[1], 0.488603 * r), + t.addScaledVector(a[2], 0.488603 * o), + t.addScaledVector(a[3], 0.488603 * n), + t.addScaledVector(a[4], 1.092548 * (n * r)), + t.addScaledVector(a[5], 1.092548 * (r * o)), + t.addScaledVector(a[6], 0.315392 * (3 * o * o - 1)), + t.addScaledVector(a[7], 1.092548 * (n * o)), + t.addScaledVector(a[8], 0.546274 * (n * n - r * r)), + t + ); + } + getIrradianceAt(e, t) { + let { x: n, y: r, z: o } = e, + a = this.coefficients; + return ( + t.copy(a[0]).multiplyScalar(0.886227), + t.addScaledVector(a[1], 1.023328 * r), + t.addScaledVector(a[2], 1.023328 * o), + t.addScaledVector(a[3], 1.023328 * n), + t.addScaledVector(a[4], 0.858086 * n * r), + t.addScaledVector(a[5], 0.858086 * r * o), + t.addScaledVector(a[6], 0.743125 * o * o - 0.247708), + t.addScaledVector(a[7], 0.858086 * n * o), + t.addScaledVector(a[8], 0.429043 * (n * n - r * r)), + t + ); + } + add(e) { + for (let t = 0; t < 9; t++) this.coefficients[t].add(e.coefficients[t]); + return this; + } + addScaledSH(e, t) { + for (let n = 0; n < 9; n++) + this.coefficients[n].addScaledVector(e.coefficients[n], t); + return this; + } + scale(e) { + for (let t = 0; t < 9; t++) this.coefficients[t].multiplyScalar(e); + return this; + } + lerp(e, t) { + for (let n = 0; n < 9; n++) this.coefficients[n].lerp(e.coefficients[n], t); + return this; + } + equals(e) { + for (let t = 0; t < 9; t++) + if (!this.coefficients[t].equals(e.coefficients[t])) return !1; + return !0; + } + copy(e) { + return this.set(e.coefficients); + } + clone() { + return new this.constructor().copy(this); + } + fromArray(e, t = 0) { + let n = this.coefficients; + for (let r = 0; r < 9; r++) n[r].fromArray(e, t + r * 3); + return this; + } + toArray(e = [], t = 0) { + let n = this.coefficients; + for (let r = 0; r < 9; r++) n[r].toArray(e, t + r * 3); + return e; + } + static getBasisAt(e, t) { + let { x: n, y: r, z: o } = e; + ((t[0] = 0.282095), + (t[1] = 0.488603 * r), + (t[2] = 0.488603 * o), + (t[3] = 0.488603 * n), + (t[4] = 1.092548 * n * r), + (t[5] = 1.092548 * r * o), + (t[6] = 0.315392 * (3 * o * o - 1)), + (t[7] = 1.092548 * n * o), + (t[8] = 0.546274 * (n * n - r * r))); + } +} +class gX { + static extractUrlBase(e) { + let t = e.lastIndexOf("/"); + if (t === -1) return "./"; + return e.slice(0, t + 1); + } + static resolveURL(e, t) { + if (typeof e !== "string" || e === "") return ""; + if (/^https?:\/\//i.test(t) && /^\//.test(e)) + t = t.replace(/(^https?:\/\/[^\/]+).*/i, "$1"); + if (/^(https?:)?\/\//i.test(e)) return e; + if (/^data:.*,.*$/i.test(e)) return e; + if (/^blob:.*$/i.test(e)) return e; + return t + e; + } +} +class gW { + static getContext() { + if (Che === void 0) + Che = new (window.AudioContext || window.webkitAudioContext)(); + return Che; + } + static setContext(e) { + Che = e; + } +} +class _He { + constructor() { + ((this.type = "StereoCamera"), + (this.aspect = 1), + (this.eyeSep = 0.064), + (this.cameraL = new Kl()), + this.cameraL.layers.enable(1), + (this.cameraL.matrixAutoUpdate = !1), + (this.cameraR = new Kl()), + this.cameraR.layers.enable(2), + (this.cameraR.matrixAutoUpdate = !1), + (this._cache = { + focus: null, + fov: null, + aspect: null, + near: null, + far: null, + zoom: null, + eyeSep: null, + })); + } + update(e) { + let t = this._cache; + if ( + t.focus !== e.focus || + t.fov !== e.fov || + t.aspect !== e.aspect * this.aspect || + t.near !== e.near || + t.far !== e.far || + t.zoom !== e.zoom || + t.eyeSep !== this.eyeSep + ) { + ((t.focus = e.focus), + (t.fov = e.fov), + (t.aspect = e.aspect * this.aspect), + (t.near = e.near), + (t.far = e.far), + (t.zoom = e.zoom), + (t.eyeSep = this.eyeSep), + f7.copy(e.projectionMatrix)); + let r = t.eyeSep / 2, + o = (r * t.near) / t.focus, + a = (t.near * Math.tan(b7 * t.fov * 0.5)) / t.zoom, + i, + s; + ((gmn.elements[12] = -r), + (hmn.elements[12] = r), + (i = -a * t.aspect + o), + (s = a * t.aspect + o), + (f7.elements[0] = (2 * t.near) / (s - i)), + (f7.elements[8] = (s + i) / (s - i)), + this.cameraL.projectionMatrix.copy(f7), + (i = -a * t.aspect - o), + (s = a * t.aspect - o), + (f7.elements[0] = (2 * t.near) / (s - i)), + (f7.elements[8] = (s + i) / (s - i)), + this.cameraR.projectionMatrix.copy(f7)); + } + (this.cameraL.matrix.copy(e.matrixWorld).multiply(gmn), + (this.cameraL.matrixWorldNeedsUpdate = !0), + this.cameraR.matrix.copy(e.matrixWorld).multiply(hmn), + (this.cameraR.matrixWorldNeedsUpdate = !0)); + } +} +class gge { + constructor() { + ((this._previousTime = 0), + (this._currentTime = 0), + (this._startTime = performance.now()), + (this._delta = 0), + (this._elapsed = 0), + (this._timescale = 1), + (this._document = null), + (this._pageVisibilityHandler = null)); + } + connect(e) { + if (((this._document = e), e.hidden !== void 0)) + ((this._pageVisibilityHandler = m9r.bind(this)), + e.addEventListener( + "visibilitychange", + this._pageVisibilityHandler, + !1, + )); + } + disconnect() { + if (this._pageVisibilityHandler !== null) + (this._document.removeEventListener( + "visibilitychange", + this._pageVisibilityHandler, + ), + (this._pageVisibilityHandler = null)); + this._document = null; + } + getDelta() { + return this._delta / 1000; + } + getElapsed() { + return this._elapsed / 1000; + } + getTimescale() { + return this._timescale; + } + setTimescale(e) { + return ((this._timescale = e), this); + } + reset() { + return ((this._currentTime = performance.now() - this._startTime), this); + } + dispose() { + this.disconnect(); + } + update(e) { + if (this._pageVisibilityHandler !== null && this._document.hidden === !0) + this._delta = 0; + else + ((this._previousTime = this._currentTime), + (this._currentTime = + (e !== void 0 ? e : performance.now()) - this._startTime), + (this._delta = + (this._currentTime - this._previousTime) * this._timescale), + (this._elapsed += this._delta)); + return this; + } +} +function m9r() { + if (this._document.hidden === !1) this.reset(); +} +class GHe { + constructor(e, t = 2048) { + ((this.analyser = e.context.createAnalyser()), + (this.analyser.fftSize = t), + (this.data = new Uint8Array(this.analyser.frequencyBinCount)), + e.getOutput().connect(this.analyser)); + } + getFrequencyData() { + return (this.analyser.getByteFrequencyData(this.data), this.data); + } + getAverageFrequency() { + let e = 0, + t = this.getFrequencyData(); + for (let n = 0; n < t.length; n++) e += t[n]; + return e / t.length; + } +} +class vge { + constructor(e, t, n) { + ((this.binding = e), (this.valueSize = n)); + let r, o, a; + switch (t) { + case "quaternion": + ((r = this._slerp), + (o = this._slerpAdditive), + (a = this._setAdditiveIdentityQuaternion), + (this.buffer = new Float64Array(n * 6)), + (this._workIndex = 5)); + break; + case "string": + case "bool": + ((r = this._select), + (o = this._select), + (a = this._setAdditiveIdentityOther), + (this.buffer = Array(n * 5))); + break; + default: + ((r = this._lerp), + (o = this._lerpAdditive), + (a = this._setAdditiveIdentityNumeric), + (this.buffer = new Float64Array(n * 5))); + } + ((this._mixBufferRegion = r), + (this._mixBufferRegionAdditive = o), + (this._setIdentity = a), + (this._origIndex = 3), + (this._addIndex = 4), + (this.cumulativeWeight = 0), + (this.cumulativeWeightAdditive = 0), + (this.useCount = 0), + (this.referenceCount = 0)); + } + accumulate(e, t) { + let n = this.buffer, + r = this.valueSize, + o = e * r + r, + a = this.cumulativeWeight; + if (a === 0) { + for (let i = 0; i !== r; ++i) n[o + i] = n[i]; + a = t; + } else { + a += t; + let i = t / a; + this._mixBufferRegion(n, o, 0, i, r); + } + this.cumulativeWeight = a; + } + accumulateAdditive(e) { + let t = this.buffer, + n = this.valueSize, + r = n * this._addIndex; + if (this.cumulativeWeightAdditive === 0) this._setIdentity(); + (this._mixBufferRegionAdditive(t, r, 0, e, n), + (this.cumulativeWeightAdditive += e)); + } + apply(e) { + let t = this.valueSize, + n = this.buffer, + r = e * t + t, + o = this.cumulativeWeight, + a = this.cumulativeWeightAdditive, + i = this.binding; + if ( + ((this.cumulativeWeight = 0), (this.cumulativeWeightAdditive = 0), o < 1) + ) { + let s = t * this._origIndex; + this._mixBufferRegion(n, r, s, 1 - o, t); + } + if (a > 0) this._mixBufferRegionAdditive(n, r, this._addIndex * t, 1, t); + for (let s = t, l = t + t; s !== l; ++s) + if (n[s] !== n[s + t]) { + i.setValue(n, r); + break; + } + } + saveOriginalState() { + let e = this.binding, + t = this.buffer, + n = this.valueSize, + r = n * this._origIndex; + e.getValue(t, r); + for (let o = n, a = r; o !== a; ++o) t[o] = t[r + (o % n)]; + (this._setIdentity(), + (this.cumulativeWeight = 0), + (this.cumulativeWeightAdditive = 0)); + } + restoreOriginalState() { + let e = this.valueSize * 3; + this.binding.setValue(this.buffer, e); + } + _setAdditiveIdentityNumeric() { + let e = this._addIndex * this.valueSize, + t = e + this.valueSize; + for (let n = e; n < t; n++) this.buffer[n] = 0; + } + _setAdditiveIdentityQuaternion() { + (this._setAdditiveIdentityNumeric(), + (this.buffer[this._addIndex * this.valueSize + 3] = 1)); + } + _setAdditiveIdentityOther() { + let e = this._origIndex * this.valueSize, + t = this._addIndex * this.valueSize; + for (let n = 0; n < this.valueSize; n++) + this.buffer[t + n] = this.buffer[e + n]; + } + _select(e, t, n, r, o) { + if (r >= 0.5) for (let a = 0; a !== o; ++a) e[t + a] = e[n + a]; + } + _slerp(e, t, n, r) { + Vo.slerpFlat(e, t, e, t, e, n, r); + } + _slerpAdditive(e, t, n, r, o) { + let a = this._workIndex * o; + (Vo.multiplyQuaternionsFlat(e, a, e, t, e, n), + Vo.slerpFlat(e, t, e, t, e, a, r)); + } + _lerp(e, t, n, r, o) { + let a = 1 - r; + for (let i = 0; i !== o; ++i) { + let s = t + i; + e[s] = e[s] * a + e[n + i] * r; + } + } + _lerpAdditive(e, t, n, r, o) { + for (let a = 0; a !== o; ++a) { + let i = t + a; + e[i] = e[i] + e[n + a] * r; + } + } +} +class o0n { + constructor(e, t, n) { + let r = n || Ka.parseTrackName(t); + ((this._targetGroup = e), (this._bindings = e.subscribe_(t, r))); + } + getValue(e, t) { + this.bind(); + let n = this._targetGroup.nCachedObjects_, + r = this._bindings[n]; + if (r !== void 0) r.getValue(e, t); + } + setValue(e, t) { + let n = this._bindings; + for (let r = this._targetGroup.nCachedObjects_, o = n.length; r !== o; ++r) + n[r].setValue(e, t); + } + bind() { + let e = this._bindings; + for (let t = this._targetGroup.nCachedObjects_, n = e.length; t !== n; ++t) + e[t].bind(); + } + unbind() { + let e = this._bindings; + for (let t = this._targetGroup.nCachedObjects_, n = e.length; t !== n; ++t) + e[t].unbind(); + } +} +class Ka { + constructor(e, t, n) { + ((this.path = t), + (this.parsedPath = n || Ka.parseTrackName(t)), + (this.node = Ka.findNode(e, this.parsedPath.nodeName)), + (this.rootNode = e), + (this.getValue = this._getValue_unbound), + (this.setValue = this._setValue_unbound)); + } + static create(e, t, n) { + if (!(e && e.isAnimationObjectGroup)) return new Ka(e, t, n); + else return new Ka.Composite(e, t, n); + } + static sanitizeNodeName(e) { + return e.replace(/\s/g, "_").replace(y9r, ""); + } + static parseTrackName(e) { + let t = S9r.exec(e); + if (t === null) + throw Error("THREE.PropertyBinding: Cannot parse trackName: " + e); + let n = { + nodeName: t[2], + objectName: t[3], + objectIndex: t[4], + propertyName: t[5], + propertyIndex: t[6], + }, + r = n.nodeName && n.nodeName.lastIndexOf("."); + if (r !== void 0 && r !== -1) { + let o = n.nodeName.substring(r + 1); + if (C9r.indexOf(o) !== -1) + ((n.nodeName = n.nodeName.substring(0, r)), (n.objectName = o)); + } + if (n.propertyName === null || n.propertyName.length === 0) + throw Error( + "THREE.PropertyBinding: can not parse propertyName from trackName: " + + e, + ); + return n; + } + static findNode(e, t) { + if ( + t === void 0 || + t === "" || + t === "." || + t === -1 || + t === e.name || + t === e.uuid + ) + return e; + if (e.skeleton) { + let n = e.skeleton.getBoneByName(t); + if (n !== void 0) return n; + } + if (e.children) { + let n = function (o) { + for (let a = 0; a < o.length; a++) { + let i = o[a]; + if (i.name === t || i.uuid === t) return i; + let s = n(i.children); + if (s) return s; + } + return null; + }, + r = n(e.children); + if (r) return r; + } + return null; + } + _getValue_unavailable() {} + _setValue_unavailable() {} + _getValue_direct(e, t) { + e[t] = this.targetObject[this.propertyName]; + } + _getValue_array(e, t) { + let n = this.resolvedProperty; + for (let r = 0, o = n.length; r !== o; ++r) e[t++] = n[r]; + } + _getValue_arrayElement(e, t) { + e[t] = this.resolvedProperty[this.propertyIndex]; + } + _getValue_toArray(e, t) { + this.resolvedProperty.toArray(e, t); + } + _setValue_direct(e, t) { + this.targetObject[this.propertyName] = e[t]; + } + _setValue_direct_setNeedsUpdate(e, t) { + ((this.targetObject[this.propertyName] = e[t]), + (this.targetObject.needsUpdate = !0)); + } + _setValue_direct_setMatrixWorldNeedsUpdate(e, t) { + ((this.targetObject[this.propertyName] = e[t]), + (this.targetObject.matrixWorldNeedsUpdate = !0)); + } + _setValue_array(e, t) { + let n = this.resolvedProperty; + for (let r = 0, o = n.length; r !== o; ++r) n[r] = e[t++]; + } + _setValue_array_setNeedsUpdate(e, t) { + let n = this.resolvedProperty; + for (let r = 0, o = n.length; r !== o; ++r) n[r] = e[t++]; + this.targetObject.needsUpdate = !0; + } + _setValue_array_setMatrixWorldNeedsUpdate(e, t) { + let n = this.resolvedProperty; + for (let r = 0, o = n.length; r !== o; ++r) n[r] = e[t++]; + this.targetObject.matrixWorldNeedsUpdate = !0; + } + _setValue_arrayElement(e, t) { + this.resolvedProperty[this.propertyIndex] = e[t]; + } + _setValue_arrayElement_setNeedsUpdate(e, t) { + ((this.resolvedProperty[this.propertyIndex] = e[t]), + (this.targetObject.needsUpdate = !0)); + } + _setValue_arrayElement_setMatrixWorldNeedsUpdate(e, t) { + ((this.resolvedProperty[this.propertyIndex] = e[t]), + (this.targetObject.matrixWorldNeedsUpdate = !0)); + } + _setValue_fromArray(e, t) { + this.resolvedProperty.fromArray(e, t); + } + _setValue_fromArray_setNeedsUpdate(e, t) { + (this.resolvedProperty.fromArray(e, t), + (this.targetObject.needsUpdate = !0)); + } + _setValue_fromArray_setMatrixWorldNeedsUpdate(e, t) { + (this.resolvedProperty.fromArray(e, t), + (this.targetObject.matrixWorldNeedsUpdate = !0)); + } + _getValue_unbound(e, t) { + (this.bind(), this.getValue(e, t)); + } + _setValue_unbound(e, t) { + (this.bind(), this.setValue(e, t)); + } + bind() { + let e = this.node, + t = this.parsedPath, + { objectName: n, propertyName: r, propertyIndex: o } = t; + if (!e) ((e = Ka.findNode(this.rootNode, t.nodeName)), (this.node = e)); + if ( + ((this.getValue = this._getValue_unavailable), + (this.setValue = this._setValue_unavailable), + !e) + ) { + zn("PropertyBinding: No target node found for track: " + this.path + "."); + return; + } + if (n) { + let l = t.objectIndex; + switch (n) { + case "materials": + if (!e.material) { + wr( + "PropertyBinding: Can not bind to material as node does not have a material.", + this, + ); + return; + } + if (!e.material.materials) { + wr( + "PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.", + this, + ); + return; + } + e = e.material.materials; + break; + case "bones": + if (!e.skeleton) { + wr( + "PropertyBinding: Can not bind to bones as node does not have a skeleton.", + this, + ); + return; + } + e = e.skeleton.bones; + for (let c = 0; c < e.length; c++) + if (e[c].name === l) { + l = c; + break; + } + break; + case "map": + if ("map" in e) { + e = e.map; + break; + } + if (!e.material) { + wr( + "PropertyBinding: Can not bind to material as node does not have a material.", + this, + ); + return; + } + if (!e.material.map) { + wr( + "PropertyBinding: Can not bind to material.map as node.material does not have a map.", + this, + ); + return; + } + e = e.material.map; + break; + default: + if (e[n] === void 0) { + wr( + "PropertyBinding: Can not bind to objectName of node undefined.", + this, + ); + return; + } + e = e[n]; + } + if (l !== void 0) { + if (e[l] === void 0) { + wr( + "PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.", + this, + e, + ); + return; + } + e = e[l]; + } + } + let a = e[r]; + if (a === void 0) { + let l = t.nodeName; + wr( + "PropertyBinding: Trying to update property for track: " + + l + + "." + + r + + " but it wasn't found.", + e, + ); + return; + } + let i = this.Versioning.None; + if (((this.targetObject = e), e.isMaterial === !0)) + i = this.Versioning.NeedsUpdate; + else if (e.isObject3D === !0) i = this.Versioning.MatrixWorldNeedsUpdate; + let s = this.BindingType.Direct; + if (o !== void 0) { + if (r === "morphTargetInfluences") { + if (!e.geometry) { + wr( + "PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.", + this, + ); + return; + } + if (!e.geometry.morphAttributes) { + wr( + "PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.", + this, + ); + return; + } + if (e.morphTargetDictionary[o] !== void 0) + o = e.morphTargetDictionary[o]; + } + ((s = this.BindingType.ArrayElement), + (this.resolvedProperty = a), + (this.propertyIndex = o)); + } else if (a.fromArray !== void 0 && a.toArray !== void 0) + ((s = this.BindingType.HasFromToArray), (this.resolvedProperty = a)); + else if (Array.isArray(a)) + ((s = this.BindingType.EntireArray), (this.resolvedProperty = a)); + else this.propertyName = r; + ((this.getValue = this.GetterByBindingType[s]), + (this.setValue = this.SetterByBindingTypeAndVersioning[s][i])); + } + unbind() { + ((this.node = null), + (this.getValue = this._getValue_unbound), + (this.setValue = this._setValue_unbound)); + } +} +class QHe { + constructor() { + ((this.isAnimationObjectGroup = !0), + (this.uuid = a1()), + (this._objects = Array.prototype.slice.call(arguments)), + (this.nCachedObjects_ = 0)); + let e = {}; + this._indicesByUUID = e; + for (let n = 0, r = arguments.length; n !== r; ++n) + e[arguments[n].uuid] = n; + ((this._paths = []), + (this._parsedPaths = []), + (this._bindings = []), + (this._bindingsIndicesByPath = {})); + let t = this; + this.stats = { + objects: { + get total() { + return t._objects.length; + }, + get inUse() { + return this.total - t.nCachedObjects_; + }, + }, + get bindingsPerObject() { + return t._bindings.length; + }, + }; + } + add() { + let e = this._objects, + t = this._indicesByUUID, + n = this._paths, + r = this._parsedPaths, + o = this._bindings, + a = o.length, + i = void 0, + s = e.length, + l = this.nCachedObjects_; + for (let c = 0, u = arguments.length; c !== u; ++c) { + let d = arguments[c], + p = d.uuid, + f = t[p]; + if (f === void 0) { + ((f = s++), (t[p] = f), e.push(d)); + for (let m = 0, g = a; m !== g; ++m) o[m].push(new Ka(d, n[m], r[m])); + } else if (f < l) { + i = e[f]; + let m = --l, + g = e[m]; + ((t[g.uuid] = f), (e[f] = g), (t[p] = m), (e[m] = d)); + for (let v = 0, y = a; v !== y; ++v) { + let x = o[v], + A = x[m], + w = x[f]; + if (((x[f] = A), w === void 0)) w = new Ka(d, n[v], r[v]); + x[m] = w; + } + } else if (e[f] !== i) + wr( + "AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.", + ); + } + this.nCachedObjects_ = l; + } + remove() { + let e = this._objects, + t = this._indicesByUUID, + n = this._bindings, + r = n.length, + o = this.nCachedObjects_; + for (let a = 0, i = arguments.length; a !== i; ++a) { + let s = arguments[a], + l = s.uuid, + c = t[l]; + if (c !== void 0 && c >= o) { + let u = o++, + d = e[u]; + ((t[d.uuid] = c), (e[c] = d), (t[l] = u), (e[u] = s)); + for (let p = 0, f = r; p !== f; ++p) { + let m = n[p], + g = m[u], + v = m[c]; + ((m[c] = g), (m[u] = v)); + } + } + } + this.nCachedObjects_ = o; + } + uncache() { + let e = this._objects, + t = this._indicesByUUID, + n = this._bindings, + r = n.length, + o = this.nCachedObjects_, + a = e.length; + for (let i = 0, s = arguments.length; i !== s; ++i) { + let l = arguments[i], + c = l.uuid, + u = t[c]; + if (u !== void 0) + if ((delete t[c], u < o)) { + let d = --o, + p = e[d], + f = --a, + m = e[f]; + if (u !== d) t[p.uuid] = u; + if (((e[u] = p), d !== f)) t[m.uuid] = d; + ((e[d] = m), e.pop()); + for (let g = 0, v = r; g !== v; ++g) { + let y = n[g], + x = y[d], + A = y[f]; + ((y[u] = x), (y[d] = A), y.pop()); + } + } else { + let d = --a, + p = e[d]; + if (u !== d) t[p.uuid] = u; + ((e[u] = p), e.pop()); + for (let f = 0, m = r; f !== m; ++f) { + let g = n[f]; + ((g[u] = g[d]), g.pop()); + } + } + } + this.nCachedObjects_ = o; + } + subscribe_(e, t) { + let n = this._bindingsIndicesByPath, + r = n[e], + o = this._bindings; + if (r !== void 0) return o[r]; + let a = this._paths, + i = this._parsedPaths, + s = this._objects, + l = s.length, + c = this.nCachedObjects_, + u = Array(l); + ((r = o.length), (n[e] = r), a.push(e), i.push(t), o.push(u)); + for (let d = c, p = s.length; d !== p; ++d) { + let f = s[d]; + u[d] = new Ka(f, e, t); + } + return u; + } + unsubscribe_(e) { + let t = this._bindingsIndicesByPath, + n = t[e]; + if (n !== void 0) { + let r = this._paths, + o = this._parsedPaths, + a = this._bindings, + i = a.length - 1, + s = a[i], + l = r[i]; + ((t[l] = n), + (a[n] = s), + a.pop(), + (o[n] = o[i]), + o.pop(), + (r[n] = r[i]), + r.pop()); + } + } +} +class bge { + constructor(e, t, n = null, r = t.blendMode) { + ((this._mixer = e), + (this._clip = t), + (this._localRoot = n), + (this.blendMode = r)); + let o = t.tracks, + a = o.length, + i = Array(a), + s = { endingStart: 2400, endingEnd: 2400 }; + for (let l = 0; l !== a; ++l) { + let c = o[l].createInterpolant(null); + ((i[l] = c), (c.settings = s)); + } + ((this._interpolantSettings = s), + (this._interpolants = i), + (this._propertyBindings = Array(a)), + (this._cacheIndex = null), + (this._byClipCacheIndex = null), + (this._timeScaleInterpolant = null), + (this._restoreTimeScale = null), + (this._weightInterpolant = null), + (this.loop = 2201), + (this._loopCount = -1), + (this._startTime = null), + (this.time = 0), + (this.timeScale = 1), + (this._effectiveTimeScale = 1), + (this.weight = 1), + (this._effectiveWeight = 1), + (this.repetitions = 1 / 0), + (this.paused = !1), + (this.enabled = !0), + (this.clampWhenFinished = !1), + (this.zeroSlopeAtStart = !0), + (this.zeroSlopeAtEnd = !0)); + } + play() { + return (this._mixer._activateAction(this), this); + } + stop() { + return (this._mixer._deactivateAction(this), this.reset()); + } + reset() { + return ( + (this.paused = !1), + (this.enabled = !0), + (this.time = 0), + (this._loopCount = -1), + (this._startTime = null), + this.stopFading().stopWarping() + ); + } + isRunning() { + return ( + this.enabled && + !this.paused && + this.timeScale !== 0 && + this._startTime === null && + this._mixer._isActiveAction(this) + ); + } + isScheduled() { + return this._mixer._isActiveAction(this); + } + startAt(e) { + return ((this._startTime = e), this); + } + setLoop(e, t) { + return ((this.loop = e), (this.repetitions = t), this); + } + setEffectiveWeight(e) { + return ( + (this.weight = e), + (this._effectiveWeight = this.enabled ? e : 0), + this.stopFading() + ); + } + getEffectiveWeight() { + return this._effectiveWeight; + } + fadeIn(e) { + return this._scheduleFading(e, 0, 1); + } + fadeOut(e) { + return this._scheduleFading(e, 1, 0); + } + crossFadeFrom(e, t, n = !1) { + if ((e.fadeOut(t), this.fadeIn(t), n === !0)) { + let r = this._clip.duration, + o = e._clip.duration, + a = o / r, + i = r / o; + ((e._restoreTimeScale = e.timeScale), + (this._restoreTimeScale = this.timeScale), + e.warp(1, a, t), + this.warp(i, 1, t)); + } + return this; + } + crossFadeTo(e, t, n = !1) { + return e.crossFadeFrom(this, t, n); + } + stopFading() { + let e = this._weightInterpolant; + if (e !== null) + ((this._weightInterpolant = null), + this._mixer._takeBackControlInterpolant(e)); + return this; + } + setEffectiveTimeScale(e) { + return ( + (this.timeScale = e), + (this._effectiveTimeScale = this.paused ? 0 : e), + this.stopWarping() + ); + } + getEffectiveTimeScale() { + return this._effectiveTimeScale; + } + setDuration(e) { + return ((this.timeScale = this._clip.duration / e), this.stopWarping()); + } + syncWith(e) { + return ( + (this.time = e.time), + (this.timeScale = e.timeScale), + this.stopWarping() + ); + } + halt(e) { + return this.warp(this._effectiveTimeScale, 0, e); + } + warp(e, t, n) { + let r = this._mixer, + o = r.time, + a = this.timeScale, + i = this._timeScaleInterpolant; + if (i === null) + ((i = r._lendControlInterpolant()), (this._timeScaleInterpolant = i)); + let s = i.parameterPositions, + l = i.sampleValues; + return ((s[0] = o), (s[1] = o + n), (l[0] = e / a), (l[1] = t / a), this); + } + stopWarping() { + let e = this._timeScaleInterpolant; + if (e !== null) + ((this._timeScaleInterpolant = null), + this._mixer._takeBackControlInterpolant(e)); + return ((this._restoreTimeScale = null), this); + } + getMixer() { + return this._mixer; + } + getClip() { + return this._clip; + } + getRoot() { + return this._localRoot || this._mixer._root; + } + _update(e, t, n, r) { + if (!this.enabled) { + this._updateWeight(e); + return; + } + let o = this._startTime; + if (o !== null) { + let s = (e - o) * n; + if (s < 0 || n === 0) t = 0; + else ((this._startTime = null), (t = n * s)); + } + t *= this._updateTimeScale(e); + let a = this._updateTime(t), + i = this._updateWeight(e); + if (i > 0) { + let s = this._interpolants, + l = this._propertyBindings; + switch (this.blendMode) { + case 2501: + for (let c = 0, u = s.length; c !== u; ++c) + (s[c].evaluate(a), l[c].accumulateAdditive(i)); + break; + case 2500: + default: + for (let c = 0, u = s.length; c !== u; ++c) + (s[c].evaluate(a), l[c].accumulate(r, i)); + } + } + } + _updateWeight(e) { + let t = 0; + if (this.enabled) { + t = this.weight; + let n = this._weightInterpolant; + if (n !== null) { + let r = n.evaluate(e)[0]; + if (((t *= r), e > n.parameterPositions[1])) { + if ((this.stopFading(), r === 0)) this.enabled = !1; + } + } + } + return ((this._effectiveWeight = t), t); + } + _updateTimeScale(e) { + let t = 0; + if (!this.paused) { + t = this.timeScale; + let n = this._timeScaleInterpolant; + if (n !== null) { + let r = n.evaluate(e)[0]; + if (((t *= r), e > n.parameterPositions[1])) { + if (t === 0) this.paused = !0; + else { + if (this._restoreTimeScale !== null) t = this._restoreTimeScale; + this.timeScale = t; + } + this.stopWarping(); + } + } + } + return ((this._effectiveTimeScale = t), t); + } + _updateTime(e) { + let t = this._clip.duration, + n = this.loop, + r = this.time + e, + o = this._loopCount, + a = n === 2202; + if (e === 0) { + if (o === -1) return r; + return a && (o & 1) === 1 ? t - r : r; + } + if (n === 2200) { + if (o === -1) ((this._loopCount = 0), this._setEndings(!0, !0, !1)); + e: { + if (r >= t) r = t; + else if (r < 0) r = 0; + else { + this.time = r; + break e; + } + if (this.clampWhenFinished) this.paused = !0; + else this.enabled = !1; + ((this.time = r), + this._mixer.dispatchEvent({ + type: "finished", + action: this, + direction: e < 0 ? -1 : 1, + })); + } + } else { + if (o === -1) + if (e >= 0) ((o = 0), this._setEndings(!0, this.repetitions === 0, a)); + else this._setEndings(this.repetitions === 0, !0, a); + if (r >= t || r < 0) { + let i = Math.floor(r / t); + ((r -= t * i), (o += Math.abs(i))); + let s = this.repetitions - o; + if (s <= 0) { + if (this.clampWhenFinished) this.paused = !0; + else this.enabled = !1; + ((r = e > 0 ? t : 0), + (this.time = r), + this._mixer.dispatchEvent({ + type: "finished", + action: this, + direction: e > 0 ? 1 : -1, + })); + } else { + if (s === 1) { + let l = e < 0; + this._setEndings(l, !l, a); + } else this._setEndings(!1, !1, a); + ((this._loopCount = o), + (this.time = r), + this._mixer.dispatchEvent({ + type: "loop", + action: this, + loopDelta: i, + })); + } + } else ((this._loopCount = o), (this.time = r)); + if (a && (o & 1) === 1) return t - r; + } + return r; + } + _setEndings(e, t, n) { + let r = this._interpolantSettings; + if (n) ((r.endingStart = 2401), (r.endingEnd = 2401)); + else { + if (e) r.endingStart = this.zeroSlopeAtStart ? 2401 : 2400; + else r.endingStart = 2402; + if (t) r.endingEnd = this.zeroSlopeAtEnd ? 2401 : 2400; + else r.endingEnd = 2402; + } + } + _scheduleFading(e, t, n) { + let r = this._mixer, + o = r.time, + a = this._weightInterpolant; + if (a === null) + ((a = r._lendControlInterpolant()), (this._weightInterpolant = a)); + let i = a.parameterPositions, + s = a.sampleValues; + return ((i[0] = o), (s[0] = t), (i[1] = o + e), (s[1] = n), this); + } +} +class xge { + constructor(e) { + this.value = e; + } + clone() { + return new xge( + this.value.clone === void 0 ? this.value : this.value.clone(), + ); + } +} +class JHe { + constructor(e, t, n, r, o, a = !1) { + ((this.isGLBufferAttribute = !0), + (this.name = ""), + (this.buffer = e), + (this.type = t), + (this.itemSize = n), + (this.elementSize = r), + (this.count = o), + (this.normalized = a), + (this.version = 0)); + } + set needsUpdate(e) { + if (e === !0) this.version++; + } + setBuffer(e) { + return ((this.buffer = e), this); + } + setType(e, t) { + return ((this.type = e), (this.elementSize = t), this); + } + setItemSize(e) { + return ((this.itemSize = e), this); + } + setCount(e) { + return ((this.count = e), this); + } +} +class yW { + constructor(e, t, n = 0, r = 1 / 0) { + ((this.ray = new Vy(e, t)), + (this.near = n), + (this.far = r), + (this.camera = null), + (this.layers = new $w()), + (this.params = { + Mesh: {}, + Line: { threshold: 1 }, + LOD: {}, + Points: { threshold: 1 }, + Sprite: {}, + })); + } + set(e, t) { + this.ray.set(e, t); + } + setFromCamera(e, t) { + if (t.isPerspectiveCamera) + (this.ray.origin.setFromMatrixPosition(t.matrixWorld), + this.ray.direction + .set(e.x, e.y, 0.5) + .unproject(t) + .sub(this.ray.origin) + .normalize(), + (this.camera = t)); + else if (t.isOrthographicCamera) + (this.ray.origin + .set(e.x, e.y, t.projectionMatrix.elements[14]) + .unproject(t), + this.ray.direction.set(0, 0, -1).transformDirection(t.matrixWorld), + (this.camera = t)); + else wr("Raycaster: Unsupported camera type: " + t.type); + } + setFromXRController(e) { + return ( + vmn.identity().extractRotation(e.matrixWorld), + this.ray.origin.setFromMatrixPosition(e.matrixWorld), + this.ray.direction.set(0, 0, -1).applyMatrix4(vmn), + this + ); + } + intersectObject(e, t = !0, n = []) { + return (x_e(e, this, n, t), n.sort(bmn), n); + } + intersectObjects(e, t = !0, n = []) { + for (let r = 0, o = e.length; r < o; r++) x_e(e[r], this, n, t); + return (n.sort(bmn), n); + } +} +function bmn(e, t) { + return e.distance - t.distance; +} +function x_e(e, t, n, r) { + let o = !0; + if (e.layers.test(t.layers)) { + if (e.raycast(t, n) === !1) o = !1; + } + if (o === !0 && r === !0) { + let a = e.children; + for (let i = 0, s = a.length; i < s; i++) x_e(a[i], t, n, !0); + } +} +class vW { + constructor(e = !0) { + ((this.autoStart = e), + (this.startTime = 0), + (this.oldTime = 0), + (this.elapsedTime = 0), + (this.running = !1), + zn( + "Clock: This module has been deprecated. Please use THREE.Timer instead.", + )); + } + start() { + ((this.startTime = performance.now()), + (this.oldTime = this.startTime), + (this.elapsedTime = 0), + (this.running = !0)); + } + stop() { + (this.getElapsedTime(), (this.running = !1), (this.autoStart = !1)); + } + getElapsedTime() { + return (this.getDelta(), this.elapsedTime); + } + getDelta() { + let e = 0; + if (this.autoStart && !this.running) return (this.start(), 0); + if (this.running) { + let t = performance.now(); + ((e = (t - this.oldTime) / 1000), + (this.oldTime = t), + (this.elapsedTime += e)); + } + return e; + } +} +class iS { + constructor(e = 1, t = 0, n = 0) { + ((this.radius = e), (this.phi = t), (this.theta = n)); + } + set(e, t, n) { + return ((this.radius = e), (this.phi = t), (this.theta = n), this); + } + copy(e) { + return ( + (this.radius = e.radius), + (this.phi = e.phi), + (this.theta = e.theta), + this + ); + } + makeSafe() { + return ((this.phi = to(this.phi, 0.000001, Math.PI - 0.000001)), this); + } + setFromVector3(e) { + return this.setFromCartesianCoords(e.x, e.y, e.z); + } + setFromCartesianCoords(e, t, n) { + if (((this.radius = Math.sqrt(e * e + t * t + n * n)), this.radius === 0)) + ((this.theta = 0), (this.phi = 0)); + else + ((this.theta = Math.atan2(e, n)), + (this.phi = Math.acos(to(t / this.radius, -1, 1)))); + return this; + } + clone() { + return new this.constructor().copy(this); + } +} +class jHe { + constructor(e = 1, t = 0, n = 0) { + ((this.radius = e), (this.theta = t), (this.y = n)); + } + set(e, t, n) { + return ((this.radius = e), (this.theta = t), (this.y = n), this); + } + copy(e) { + return ( + (this.radius = e.radius), + (this.theta = e.theta), + (this.y = e.y), + this + ); + } + setFromVector3(e) { + return this.setFromCartesianCoords(e.x, e.y, e.z); + } + setFromCartesianCoords(e, t, n) { + return ( + (this.radius = Math.sqrt(e * e + n * n)), + (this.theta = Math.atan2(e, n)), + (this.y = t), + this + ); + } + clone() { + return new this.constructor().copy(this); + } +} +class wge { + constructor(e = new vt(1 / 0, 1 / 0), t = new vt(-1 / 0, -1 / 0)) { + ((this.isBox2 = !0), (this.min = e), (this.max = t)); + } + set(e, t) { + return (this.min.copy(e), this.max.copy(t), this); + } + setFromPoints(e) { + this.makeEmpty(); + for (let t = 0, n = e.length; t < n; t++) this.expandByPoint(e[t]); + return this; + } + setFromCenterAndSize(e, t) { + let n = xmn.copy(t).multiplyScalar(0.5); + return (this.min.copy(e).sub(n), this.max.copy(e).add(n), this); + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + return (this.min.copy(e.min), this.max.copy(e.max), this); + } + makeEmpty() { + return ( + (this.min.x = this.min.y = 1 / 0), + (this.max.x = this.max.y = -1 / 0), + this + ); + } + isEmpty() { + return this.max.x < this.min.x || this.max.y < this.min.y; + } + getCenter(e) { + return this.isEmpty() + ? e.set(0, 0) + : e.addVectors(this.min, this.max).multiplyScalar(0.5); + } + getSize(e) { + return this.isEmpty() ? e.set(0, 0) : e.subVectors(this.max, this.min); + } + expandByPoint(e) { + return (this.min.min(e), this.max.max(e), this); + } + expandByVector(e) { + return (this.min.sub(e), this.max.add(e), this); + } + expandByScalar(e) { + return (this.min.addScalar(-e), this.max.addScalar(e), this); + } + containsPoint(e) { + return ( + e.x >= this.min.x && + e.x <= this.max.x && + e.y >= this.min.y && + e.y <= this.max.y + ); + } + containsBox(e) { + return ( + this.min.x <= e.min.x && + e.max.x <= this.max.x && + this.min.y <= e.min.y && + e.max.y <= this.max.y + ); + } + getParameter(e, t) { + return t.set( + (e.x - this.min.x) / (this.max.x - this.min.x), + (e.y - this.min.y) / (this.max.y - this.min.y), + ); + } + intersectsBox(e) { + return ( + e.max.x >= this.min.x && + e.min.x <= this.max.x && + e.max.y >= this.min.y && + e.min.y <= this.max.y + ); + } + clampPoint(e, t) { + return t.copy(e).clamp(this.min, this.max); + } + distanceToPoint(e) { + return this.clampPoint(e, xmn).distanceTo(e); + } + intersect(e) { + if ((this.min.max(e.min), this.max.min(e.max), this.isEmpty())) + this.makeEmpty(); + return this; + } + union(e) { + return (this.min.min(e.min), this.max.max(e.max), this); + } + translate(e) { + return (this.min.add(e), this.max.add(e), this); + } + equals(e) { + return e.min.equals(this.min) && e.max.equals(this.max); + } +} +class $He { + constructor(e = new he(), t = new he()) { + ((this.start = e), (this.end = t)); + } + set(e, t) { + return (this.start.copy(e), this.end.copy(t), this); + } + copy(e) { + return (this.start.copy(e.start), this.end.copy(e.end), this); + } + getCenter(e) { + return e.addVectors(this.start, this.end).multiplyScalar(0.5); + } + delta(e) { + return e.subVectors(this.end, this.start); + } + distanceSq() { + return this.start.distanceToSquared(this.end); + } + distance() { + return this.start.distanceTo(this.end); + } + at(e, t) { + return this.delta(t).multiplyScalar(e).add(this.start); + } + closestPointToPointParameter(e, t) { + (Amn.subVectors(e, this.start), Ehe.subVectors(this.end, this.start)); + let n = Ehe.dot(Ehe); + if (n === 0) return 0; + let o = Ehe.dot(Amn) / n; + if (t) o = to(o, 0, 1); + return o; + } + closestPointToPoint(e, t, n) { + let r = this.closestPointToPointParameter(e, t); + return this.delta(n).multiplyScalar(r).add(this.start); + } + distanceSqToLine3(e, t = T9r, n = k9r) { + let o, + a, + i = this.start, + s = e.start, + l = this.end, + c = e.end; + (kB.subVectors(l, i), RB.subVectors(c, s), f_e.subVectors(i, s)); + let u = kB.dot(kB), + d = RB.dot(RB), + p = RB.dot(f_e); + if ( + u <= 0.00000000000000010000000000000001 && + d <= 0.00000000000000010000000000000001 + ) + return (t.copy(i), n.copy(s), t.sub(n), t.dot(t)); + if (u <= 0.00000000000000010000000000000001) + ((o = 0), (a = p / d), (a = to(a, 0, 1))); + else { + let f = kB.dot(f_e); + if (d <= 0.00000000000000010000000000000001) + ((a = 0), (o = to(-f / u, 0, 1))); + else { + let m = kB.dot(RB), + g = u * d - m * m; + if (g !== 0) o = to((m * p - f * d) / g, 0, 1); + else o = 0; + if (((a = (m * o + p) / d), a < 0)) ((a = 0), (o = to(-f / u, 0, 1))); + else if (a > 1) ((a = 1), (o = to((m - f) / u, 0, 1))); + } + } + return ( + t.copy(i).addScaledVector(kB, o), + n.copy(s).addScaledVector(RB, a), + t.distanceToSquared(n) + ); + } + applyMatrix4(e) { + return (this.start.applyMatrix4(e), this.end.applyMatrix4(e), this); + } + equals(e) { + return e.start.equals(this.start) && e.end.equals(this.end); + } + clone() { + return new this.constructor().copy(this); + } +} +function a0n(e) { + let t = []; + if (e.isBone === !0) t.push(e); + for (let n = 0; n < e.children.length; n++) t.push(...a0n(e.children[n])); + return t; +} +function ud(e, t, n, r, o, a, i) { + khe.set(o, a, i).unproject(r); + let s = t[e]; + if (s !== void 0) { + let l = n.getAttribute("position"); + for (let c = 0, u = s.length; c < u; c++) + l.setXYZ(s[c], khe.x, khe.y, khe.z); + } +} +class fVe { + constructor() { + ((this.type = "ShapePath"), + (this.color = new _n()), + (this.subPaths = []), + (this.currentPath = null), + (this.userData = {})); + } + moveTo(e, t) { + return ( + (this.currentPath = new A7()), + this.subPaths.push(this.currentPath), + this.currentPath.moveTo(e, t), + this + ); + } + lineTo(e, t) { + return (this.currentPath.lineTo(e, t), this); + } + quadraticCurveTo(e, t, n, r) { + return (this.currentPath.quadraticCurveTo(e, t, n, r), this); + } + bezierCurveTo(e, t, n, r, o, a) { + return (this.currentPath.bezierCurveTo(e, t, n, r, o, a), this); + } + splineThru(e) { + return (this.currentPath.splineThru(e), this); + } + toShapes() { + function e(s, l) { + let c = !1, + u = l.length; + for (let d = 0, p = u - 1; d < u; p = d++) { + let f = l[d], + m = l[p]; + if ( + f.y > s.y !== m.y > s.y && + s.x < ((m.x - f.x) * (s.y - f.y)) / (m.y - f.y) + f.x + ) + c = !c; + } + return c; + } + function t(s, l) { + let c = l.getCenter(new vt()); + if (e(c, s)) return c; + let u = c.y, + d = [], + p = s.length; + for (let f = 0; f < p; f++) { + let m = s[f], + g = s[(f + 1) % p]; + if (m.y > u !== g.y > u) { + let v = m.x + ((u - m.y) * (g.x - m.x)) / (g.y - m.y); + d.push(v); + } + } + if (d.length > 1) (d.sort((f, m) => f - m), (c.x = (d[0] + d[1]) / 2)); + return c; + } + let n = (this.userData.style && this.userData.style.fillRule) || "nonzero"; + if (n !== "nonzero" && n !== "evenodd") + (zn('Fill-rule "' + n + '" is not supported, falling back to "nonzero".'), + (n = "nonzero")); + let r = n === "nonzero" ? (s) => s !== 0 : (s) => (s & 1) !== 0, + o = []; + for (let s of this.subPaths) { + let l = s.getPoints(); + if (l.length < 3) continue; + let c = _y.area(l); + if (c === 0) continue; + let u = new wge(); + for (let d = 0; d < l.length; d++) u.expandByPoint(l[d]); + o.push({ + subPath: s, + points: l, + boundingBox: u, + interiorPoint: t(l, u), + absArea: Math.abs(c), + winding: c < 0 ? -1 : 1, + container: null, + exclude: !1, + role: null, + }); + } + o.sort((s, l) => l.absArea - s.absArea); + for (let s = 0; s < o.length; s++) { + let l = o[s], + c = 0; + for (let u = s - 1; u >= 0; u--) { + let d = o[u]; + if (!d.boundingBox.containsBox(l.boundingBox)) continue; + if (!e(l.interiorPoint, d.points)) continue; + ((l.container = d.exclude ? d.container : d), + (c = d.winding), + (l.winding += c)); + break; + } + if (r(l.winding) === r(c)) l.exclude = !0; + } + for (let s of o) { + if (s.exclude) continue; + s.role = + s.container === null || s.container.role === "hole" ? "outer" : "hole"; + } + let a = [], + i = new Map(); + for (let s of o) { + if (s.exclude || s.role !== "outer") continue; + let l = new D7(); + ((l.curves = s.subPath.curves), a.push(l), i.set(s, l)); + } + for (let s of o) { + if (s.exclude || s.role !== "hole") continue; + let l = i.get(s.container); + if (!l) continue; + let c = new A7(); + ((c.curves = s.subPath.curves), l.holes.push(c)); + } + return a; + } +} +function P9r(e, t) { + let n = e.image && e.image.width ? e.image.width / e.image.height : 1; + if (n > t) + ((e.repeat.x = 1), + (e.repeat.y = n / t), + (e.offset.x = 0), + (e.offset.y = (1 - e.repeat.y) / 2)); + else + ((e.repeat.x = t / n), + (e.repeat.y = 1), + (e.offset.x = (1 - e.repeat.x) / 2), + (e.offset.y = 0)); + return e; +} +function M9r(e, t) { + let n = e.image && e.image.width ? e.image.width / e.image.height : 1; + if (n > t) + ((e.repeat.x = t / n), + (e.repeat.y = 1), + (e.offset.x = (1 - e.repeat.x) / 2), + (e.offset.y = 0)); + else + ((e.repeat.x = 1), + (e.repeat.y = n / t), + (e.offset.x = 0), + (e.offset.y = (1 - e.repeat.y) / 2)); + return e; +} +function D9r(e) { + return ( + (e.repeat.x = 1), + (e.repeat.y = 1), + (e.offset.x = 0), + (e.offset.y = 0), + e + ); +} +function Sge(e, t, n, r) { + let o = L9r(r); + switch (n) { + case 1021: + return e * t; + case 1028: + return ((e * t) / o.components) * o.byteLength; + case 1029: + return ((e * t) / o.components) * o.byteLength; + case 1030: + return ((e * t * 2) / o.components) * o.byteLength; + case 1031: + return ((e * t * 2) / o.components) * o.byteLength; + case 1022: + return ((e * t * 3) / o.components) * o.byteLength; + case 1023: + return ((e * t * 4) / o.components) * o.byteLength; + case 1033: + return ((e * t * 4) / o.components) * o.byteLength; + case 33776: + case 33777: + return Math.floor((e + 3) / 4) * Math.floor((t + 3) / 4) * 8; + case 33778: + case 33779: + return Math.floor((e + 3) / 4) * Math.floor((t + 3) / 4) * 16; + case 35841: + case 35843: + return (Math.max(e, 16) * Math.max(t, 8)) / 4; + case 35840: + case 35842: + return (Math.max(e, 8) * Math.max(t, 8)) / 2; + case 36196: + case 37492: + case 37488: + case 37489: + return Math.floor((e + 3) / 4) * Math.floor((t + 3) / 4) * 8; + case 37496: + case 37490: + case 37491: + return Math.floor((e + 3) / 4) * Math.floor((t + 3) / 4) * 16; + case 37808: + return Math.floor((e + 3) / 4) * Math.floor((t + 3) / 4) * 16; + case 37809: + return Math.floor((e + 4) / 5) * Math.floor((t + 3) / 4) * 16; + case 37810: + return Math.floor((e + 4) / 5) * Math.floor((t + 4) / 5) * 16; + case 37811: + return Math.floor((e + 5) / 6) * Math.floor((t + 4) / 5) * 16; + case 37812: + return Math.floor((e + 5) / 6) * Math.floor((t + 5) / 6) * 16; + case 37813: + return Math.floor((e + 7) / 8) * Math.floor((t + 4) / 5) * 16; + case 37814: + return Math.floor((e + 7) / 8) * Math.floor((t + 5) / 6) * 16; + case 37815: + return Math.floor((e + 7) / 8) * Math.floor((t + 7) / 8) * 16; + case 37816: + return Math.floor((e + 9) / 10) * Math.floor((t + 4) / 5) * 16; + case 37817: + return Math.floor((e + 9) / 10) * Math.floor((t + 5) / 6) * 16; + case 37818: + return Math.floor((e + 9) / 10) * Math.floor((t + 7) / 8) * 16; + case 37819: + return Math.floor((e + 9) / 10) * Math.floor((t + 9) / 10) * 16; + case 37820: + return Math.floor((e + 11) / 12) * Math.floor((t + 9) / 10) * 16; + case 37821: + return Math.floor((e + 11) / 12) * Math.floor((t + 11) / 12) * 16; + case 36492: + case 36494: + case 36495: + return Math.ceil(e / 4) * Math.ceil(t / 4) * 16; + case 36283: + case 36284: + return Math.ceil(e / 4) * Math.ceil(t / 4) * 8; + case 36285: + case 36286: + return Math.ceil(e / 4) * Math.ceil(t / 4) * 16; + } + throw Error(`Unable to determine texture byte length for ${n} format.`); +} +function L9r(e) { + switch (e) { + case 1009: + case 1010: + return { byteLength: 1, components: 1 }; + case 1012: + case 1011: + case 1016: + return { byteLength: 2, components: 1 }; + case 1017: + case 1018: + return { byteLength: 2, components: 4 }; + case 1014: + case 1013: + case 1015: + return { byteLength: 4, components: 1 }; + case 35902: + case 35899: + return { byteLength: 4, components: 3 }; + } + throw Error(`THREE.TextureUtils: Unknown texture type ${e}.`); +} +class mVe { + static contain(e, t) { + return P9r(e, t); + } + static cover(e, t) { + return M9r(e, t); + } + static fill(e) { + return D9r(e); + } + static getByteLength(e, t, n, r) { + return Sge(e, t, n, r); + } +} +var A_e = "186", + Bm, + Om, + w_e = 0, + Bhe = 1, + S_e = 2, + kmn = 3, + Ohe = 0, + u5 = 1, + E7 = 2, + Yw = 3, + $x = 0, + Rh = 1, + Ph = 2, + Rv = 0, + Kw = 1, + Fhe = 2, + Uhe = 3, + Nhe = 4, + yX = 5, + Rmn = 6, + I7 = 100, + C_e = 101, + E_e = 102, + I_e = 103, + T_e = 104, + k_e = 200, + R_e = 201, + P_e = 202, + M_e = 203, + OB = 204, + FB = 205, + D_e = 206, + L_e = 207, + B_e = 208, + O_e = 209, + F_e = 210, + U_e = 211, + N_e = 212, + z_e = 213, + __e = 214, + H_e = 0, + V_e = 1, + G_e = 2, + zhe = 3, + q_e = 4, + Z_e = 5, + Q_e = 6, + X_e = 7, + W_e = 0, + Y_e = 1, + K_e = 2, + B0 = 0, + _he = 1, + Hhe = 2, + Vhe = 3, + UB = 4, + Ghe = 5, + qhe = 6, + Zhe = 7, + Pmn = "attached", + Mmn = "detached", + Dmn = 300, + T7 = 301, + d5 = 302, + vX = 303, + bX = 304, + NB = 306, + J_e = 1000, + xX = 1001, + j_e = 1002, + Jw = 1003, + $_e = 1004, + Lmn = 1004, + zB = 1005, + Bmn = 1005, + Mh = 1006, + AX = 1007, + Omn = 1007, + p5 = 1008, + Fmn = 1008, + Fm = 1009, + eHe = 1010, + tHe = 1011, + _B = 1012, + Qhe = 1013, + Dh = 1014, + s1 = 1015, + O0 = 1016, + Xhe = 1017, + Whe = 1018, + k7 = 1020, + nHe = 35902, + rHe = 35899, + oHe = 1021, + aHe = 1022, + $p = 1023, + eA = 1026, + f5 = 1027, + iHe = 1028, + HB = 1029, + tA = 1030, + Yhe = 1031, + Umn = 1032, + m5 = 1033, + wX = 33776, + SX = 33777, + CX = 33778, + EX = 33779, + Khe = 35840, + Jhe = 35841, + jhe = 35842, + $he = 35843, + e0e = 36196, + t0e = 37492, + n0e = 37496, + r0e = 37488, + o0e = 37489, + IX = 37490, + a0e = 37491, + i0e = 37808, + s0e = 37809, + l0e = 37810, + c0e = 37811, + u0e = 37812, + d0e = 37813, + p0e = 37814, + f0e = 37815, + m0e = 37816, + h0e = 37817, + g0e = 37818, + y0e = 37819, + v0e = 37820, + b0e = 37821, + x0e = 36492, + A0e = 36494, + w0e = 36495, + S0e = 36283, + C0e = 36284, + TX = 36285, + E0e = 36286, + Nmn = 2200, + zmn = 2201, + _mn = 2202, + Hmn = 2300, + Vmn = 2301, + Gmn = 2302, + qmn = 2303, + Zmn = 2400, + Qmn = 2401, + Xmn = 2402, + Wmn = 2500, + Ymn = 2501, + Kmn = 0, + Jmn = 1, + jmn = 2, + $mn = 3200, + ehn = 3201, + thn = 3202, + nhn = 3203, + I0e = 0, + sHe = 1, + h5 = "", + jw = "srgb", + VB = "srgb-linear", + T0e = "linear", + cs = "srgb", + rhn = "", + ohn = "rg", + ahn = "ga", + ihn = 0, + shn = 7680, + lhn = 7681, + chn = 7682, + uhn = 7683, + dhn = 34055, + phn = 34056, + fhn = 5386, + mhn = 512, + hhn = 513, + ghn = 514, + yhn = 515, + vhn = 516, + bhn = 517, + xhn = 518, + Ahn = 519, + lHe = 512, + cHe = 513, + uHe = 514, + kX = 515, + dHe = 516, + pHe = 517, + RX = 518, + fHe = 519, + whn = 35044, + k0e = 35048, + Shn = 35040, + Chn = 35045, + Ehn = 35049, + Ihn = 35041, + Thn = 35046, + khn = 35050, + Rhn = 35042, + Phn = "100", + R0e = "300 es", + P0e = 2000, + Mhn = 2001, + Dhn, + Lhn, + Bhn, + Ohn, + Fhn, + zRr, + yfn, + l5 = null, + Vhn, + Mm, + vfn = 1234567, + b7, + x7, + g5, + vt, + Vo, + he, + Bze, + bfn, + Ur, + Oze, + xfn, + Afn, + jo, + uB, + rPr = 0, + gHe, + oPr = 0, + Uze, + El, + Ja, + PX, + ef, + GB, + yHe, + qB, + vHe, + Vn, + dB, + Sv, + aPr, + iPr, + n5, + Vme, + r1, + wfn, + Sfn, + Hy, + sPr = 0, + Cfn, + pB, + zw, + Gme, + YQ, + lPr, + cPr, + Efn, + Ifn, + Tfn, + kfn, + uPr, + fB, + Nze, + Go, + Qw, + dPr, + Ghn, + r5, + qme, + _n, + Dm, + y5, + Cv, + _w, + _ze, + Hw, + mB, + hB, + Rfn, + Hze, + Vze, + Gze, + qze, + Zze, + Qze, + Vw, + Ev, + Zme, + gB, + yB, + vB, + o5, + a5, + s7, + KQ, + Qme, + Xme, + l7, + Zw, + Ud, + Wme, + fPr = 0, + si, + LX, + BX, + bHe, + OX, + R7, + FX, + P7, + xHe, + Jn, + mPr, + JQ, + Wze, + hPr = 0, + zy, + Yze, + bB, + o1, + jQ, + jp, + Jr, + Eh, + Kze, + gPr, + yPr, + vPr = 0, + ap, + UX, + xB, + $Q, + AB, + wB, + SB, + eX, + qhn, + Yme, + tX, + Kme, + Pfn, + Jze, + Mfn, + D0e, + jme, + Dfn, + L0e, + Gw, + jze, + $me, + ehe, + Um, + Lfn, + c7, + the, + Bfn, + nhe, + rhe, + ohe, + $ze, + ahe, + Ofn, + ihe, + Na, + nX, + Ffn, + Ufn, + xPr, + Nfn, + lhe, + e_e, + zfn, + t_e, + B0e, + NX, + jl, + _fn, + APr, + Jx, + CB, + Hfn, + che, + Vfn, + wPr, + rX, + oX, + O0e, + u7, + SPr, + uhe, + Gfn, + D0, + IPr, + TPr, + kPr, + dhe, + d7, + aX, + qfn, + RPr, + r_e, + Lm, + phe, + F0e, + Wf, + Mhe, + Dhe, + Zfn, + iX, + fhe, + o_e, + Qfn, + jx, + Xfn, + Wfn, + Gy, + U0e, + HX, + Yfn, + g_e, + hhe, + ghe, + N0e, + z0e, + AHe, + wHe, + XB, + SHe, + CHe, + M7, + EHe, + IHe, + nA, + _0e, + VX, + rA, + GX, + qX, + tS, + v5, + nS, + ZX, + yhe, + vhe, + a_e, + bhe, + H0e, + WB, + V0e, + Jfn, + jfn, + i_e, + s_e, + l_e, + G0e, + QX, + q0e, + XX, + Z0e, + WX, + YX, + KX, + Lhe, + Q0e, + A7, + D7, + JX, + t9r, + jX, + $X, + YB, + oA, + eW, + tW, + rS, + nW, + rW, + oW, + aW, + X0e, + omn, + W0e, + RHe, + a9r = `void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); -}`,i9r=`void main() { +}`, + i9r = `void main() { gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 ); -}`,Ac,iW,sW,Y0e,K0e,J0e,j0e,$0e,lW,cW,ege,tge,nge,uW,rge,oge,oS,dW,KB,age,JB,aS,pW,kv,MHe,qw,e0n,i1,DHe,LHe,EB,C7,BHe,OHe,FHe,aA,ige,c_e,lmn,cmn,whe,She,Yx,$B,i5,umn,dmn,Kl,t0n,sge,n0n,lge,qy,r0n,cge,uge,dge,pge,pmn,hW,eO,fge,u_e,UHe,f9r,fmn,mmn,d_e,NHe,Che,zHe,hmn,gmn,f7,IB=-90,TB=1,mge,hge,m7,p_e,h9r,h7,g7,HHe,yge,y7,ymn,g9r,v7,VHe,qHe="\\[\\]\\.:\\/",y9r,ZHe,v9r,b9r,x9r,A9r,w9r,S9r,C9r,E9r,XHe,WHe,I9r=0,YHe,KHe,vmn,Age,xmn,Amn,Ehe,kB,RB,f_e,T9r,k9r,wmn,eVe,s5,Ihe,m_e,tVe,nVe,R9r,Smn,Cmn,rVe,oVe,aVe,Emn,The,Imn,iVe,khe,xc,sVe,Rhe,lVe,cVe,uVe,Tmn,Phe,h_e,dVe,pVe,bW;var hVe=P(()=>{Bm={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},Om={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Dhn={COMPUTE:"compute",RENDER:"render"},Lhn={PERSPECTIVE:"perspective",LINEAR:"linear",FLAT:"flat"},Bhn={NORMAL:"normal",CENTROID:"centroid",SAMPLE:"sample",FIRST:"first",EITHER:"either"},Ohn={TEXTURE_COMPARE:"depthTextureCompare"},Fhn={NONE:0,SHARED:1,FULL:2};zRr={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};yfn={};Vhn={[0]:1,[2]:6,[4]:7,[3]:5,[1]:0,[6]:2,[7]:4,[5]:3};Mm=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],b7=Math.PI/180,x7=180/Math.PI;g5={DEG2RAD:b7,RAD2DEG:x7,generateUUID:a1,clamp:to,euclideanModulo:hHe,mapLinear:_Rr,inverseLerp:HRr,lerp:cX,damp:VRr,pingpong:GRr,smoothstep:qRr,smootherstep:ZRr,randInt:QRr,randFloat:XRr,randFloatSpread:WRr,seededRandom:YRr,degToRad:KRr,radToDeg:JRr,isPowerOfTwo:jRr,ceilPowerOfTwo:$Rr,floorPowerOfTwo:ePr,setQuaternionFromProperEuler:tPr,normalize:No,denormalize:Th};vt=class vt{static{vt.prototype.isVector2=!0}constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw Error("THREE.Vector2: index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw Error("THREE.Vector2: index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=to(this.x,e.x,t.x),this.y=to(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=to(this.x,e,t),this.y=to(this.y,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(to(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(to(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){let n=Math.cos(t),r=Math.sin(t),o=this.x-e.x,a=this.y-e.y;return this.x=o*n-a*r+e.x,this.y=o*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}};Vo=class Vo{constructor(e=0,t=0,n=0,r=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,o,a,i){let s=n[r+0],l=n[r+1],c=n[r+2],u=n[r+3],d=o[a+0],p=o[a+1],f=o[a+2],m=o[a+3];if(u!==m||s!==d||l!==p||c!==f){let g=s*d+l*p+c*f+u*m;if(g<0)d=-d,p=-p,f=-f,m=-m,g=-g;let v=1-i;if(g<0.9995){let y=Math.acos(g),x=Math.sin(y);v=Math.sin(v*y)/x,i=Math.sin(i*y)/x,s=s*v+d*i,l=l*v+p*i,c=c*v+f*i,u=u*v+m*i}else{s=s*v+d*i,l=l*v+p*i,c=c*v+f*i,u=u*v+m*i;let y=1/Math.sqrt(s*s+l*l+c*c+u*u);s*=y,l*=y,c*=y,u*=y}}e[t]=s,e[t+1]=l,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,o,a){let i=n[r],s=n[r+1],l=n[r+2],c=n[r+3],u=o[a],d=o[a+1],p=o[a+2],f=o[a+3];return e[t]=i*f+c*u+s*p-l*d,e[t+1]=s*f+c*d+l*u-i*p,e[t+2]=l*f+c*p+i*d-s*u,e[t+3]=c*f-i*u-s*d-l*p,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){let{_x:n,_y:r,_z:o,_order:a}=e,{cos:i,sin:s}=Math,l=i(n/2),c=i(r/2),u=i(o/2),d=s(n/2),p=s(r/2),f=s(o/2);switch(a){case"XYZ":this._x=d*c*u+l*p*f,this._y=l*p*u-d*c*f,this._z=l*c*f+d*p*u,this._w=l*c*u-d*p*f;break;case"YXZ":this._x=d*c*u+l*p*f,this._y=l*p*u-d*c*f,this._z=l*c*f-d*p*u,this._w=l*c*u+d*p*f;break;case"ZXY":this._x=d*c*u-l*p*f,this._y=l*p*u+d*c*f,this._z=l*c*f+d*p*u,this._w=l*c*u-d*p*f;break;case"ZYX":this._x=d*c*u-l*p*f,this._y=l*p*u+d*c*f,this._z=l*c*f-d*p*u,this._w=l*c*u+d*p*f;break;case"YZX":this._x=d*c*u+l*p*f,this._y=l*p*u+d*c*f,this._z=l*c*f-d*p*u,this._w=l*c*u-d*p*f;break;case"XZY":this._x=d*c*u-l*p*f,this._y=l*p*u-d*c*f,this._z=l*c*f+d*p*u,this._w=l*c*u+d*p*f;break;default:zn("Quaternion: .setFromEuler() encountered an unknown order: "+a)}if(t===!0)this._onChangeCallback();return this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],o=t[8],a=t[1],i=t[5],s=t[9],l=t[2],c=t[6],u=t[10],d=n+i+u;if(d>0){let p=0.5/Math.sqrt(d+1);this._w=0.25/p,this._x=(c-s)*p,this._y=(o-l)*p,this._z=(a-r)*p}else if(n>i&&n>u){let p=2*Math.sqrt(1+n-i-u);this._w=(c-s)/p,this._x=0.25*p,this._y=(r+a)/p,this._z=(o+l)/p}else if(i>u){let p=2*Math.sqrt(1+i-n-u);this._w=(o-l)/p,this._x=(r+a)/p,this._y=0.25*p,this._z=(s+c)/p}else{let p=2*Math.sqrt(1+u-n-i);this._w=(a-r)/p,this._x=(o+l)/p,this._y=(s+c)/p,this._z=0.25*p}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;if(n<0.00000001)if(n=0,Math.abs(e.x)>Math.abs(e.z))this._x=-e.y,this._y=e.x,this._z=0,this._w=n;else this._x=0,this._y=-e.z,this._z=e.y,this._w=n;else this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n;return this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(to(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(n===0)return this;let r=Math.min(1,t/n);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();if(e===0)this._x=0,this._y=0,this._z=0,this._w=1;else e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e;return this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){let{_x:n,_y:r,_z:o,_w:a}=e,{_x:i,_y:s,_z:l,_w:c}=t;return this._x=n*c+a*i+r*l-o*s,this._y=r*c+a*s+o*i-n*l,this._z=o*c+a*l+n*s-r*i,this._w=a*c-n*i-r*s-o*l,this._onChangeCallback(),this}slerp(e,t){let{_x:n,_y:r,_z:o,_w:a}=e,i=this.dot(e);if(i<0)n=-n,r=-r,o=-o,a=-a,i=-i;let s=1-t;if(i<0.9995){let l=Math.acos(i),c=Math.sin(l);s=Math.sin(s*l)/c,t=Math.sin(t*l)/c,this._x=this._x*s+n*t,this._y=this._y*s+r*t,this._z=this._z*s+o*t,this._w=this._w*s+a*t,this._onChangeCallback()}else this._x=this._x*s+n*t,this._y=this._y*s+r*t,this._z=this._z*s+o*t,this._w=this._w*s+a*t,this.normalize();return this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){let e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),r=Math.sqrt(1-n),o=Math.sqrt(n);return this.set(r*Math.sin(e),r*Math.cos(e),o*Math.sin(t),o*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}};he=class he{static{he.prototype.isVector3=!0}constructor(e=0,t=0,n=0){this.x=e,this.y=t,this.z=n}set(e,t,n){if(n===void 0)n=this.z;return this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw Error("THREE.Vector3: index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("THREE.Vector3: index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(bfn.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(bfn.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,o=e.elements;return this.x=o[0]*t+o[3]*n+o[6]*r,this.y=o[1]*t+o[4]*n+o[7]*r,this.z=o[2]*t+o[5]*n+o[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,o=e.elements,a=1/(o[3]*t+o[7]*n+o[11]*r+o[15]);return this.x=(o[0]*t+o[4]*n+o[8]*r+o[12])*a,this.y=(o[1]*t+o[5]*n+o[9]*r+o[13])*a,this.z=(o[2]*t+o[6]*n+o[10]*r+o[14])*a,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,{x:o,y:a,z:i,w:s}=e,l=2*(a*r-i*n),c=2*(i*t-o*r),u=2*(o*n-a*t);return this.x=t+s*l+a*u-i*c,this.y=n+s*c+i*l-o*u,this.z=r+s*u+o*c-a*l,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*r,this.y=o[1]*t+o[5]*n+o[9]*r,this.z=o[2]*t+o[6]*n+o[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=to(this.x,e.x,t.x),this.y=to(this.y,e.y,t.y),this.z=to(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=to(this.x,e,t),this.y=to(this.y,e,t),this.z=to(this.z,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(to(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){let{x:n,y:r,z:o}=e,{x:a,y:i,z:s}=t;return this.x=r*s-o*i,this.y=o*a-n*s,this.z=n*i-r*a,this}projectOnVector(e){let t=e.lengthSq();if(t===0)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return Bze.copy(this).projectOnVector(e),this.sub(Bze)}reflect(e){return this.sub(Bze.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(to(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}};Bze=new he,bfn=new Vo;Ur=class Ur{static{Ur.prototype.isMatrix3=!0}constructor(e,t,n,r,o,a,i,s,l){if(this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0)this.set(e,t,n,r,o,a,i,s,l)}set(e,t,n,r,o,a,i,s,l){let c=this.elements;return c[0]=e,c[1]=r,c[2]=i,c[3]=t,c[4]=o,c[5]=s,c[6]=n,c[7]=a,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,o=this.elements,a=n[0],i=n[3],s=n[6],l=n[1],c=n[4],u=n[7],d=n[2],p=n[5],f=n[8],m=r[0],g=r[3],v=r[6],y=r[1],x=r[4],A=r[7],w=r[2],C=r[5],E=r[8];return o[0]=a*m+i*y+s*w,o[3]=a*g+i*x+s*C,o[6]=a*v+i*A+s*E,o[1]=l*m+c*y+u*w,o[4]=l*g+c*x+u*C,o[7]=l*v+c*A+u*E,o[2]=d*m+p*y+f*w,o[5]=d*g+p*x+f*C,o[8]=d*v+p*A+f*E,this}multiplyScalar(e){let t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],a=e[4],i=e[5],s=e[6],l=e[7],c=e[8];return t*a*c-t*i*l-n*o*c+n*i*s+r*o*l-r*a*s}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],o=e[3],a=e[4],i=e[5],s=e[6],l=e[7],c=e[8],u=c*a-i*l,d=i*s-c*o,p=l*o-a*s,f=t*u+n*d+r*p;if(f===0)return this.set(0,0,0,0,0,0,0,0,0);let m=1/f;return e[0]=u*m,e[1]=(r*l-c*n)*m,e[2]=(i*n-r*a)*m,e[3]=d*m,e[4]=(c*t-r*s)*m,e[5]=(r*o-i*t)*m,e[6]=p*m,e[7]=(n*s-l*t)*m,e[8]=(a*t-n*o)*m,this}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,o,a,i){let s=Math.cos(o),l=Math.sin(o);return this.set(n*s,n*l,-n*(s*a+l*i)+a+e,-r*l,r*s,-r*(-l*a+s*i)+i+t,0,0,1),this}scale(e,t){return Kx("Matrix3: .scale() is deprecated. Use .makeScale() instead."),this.premultiply(Oze.makeScale(e,t)),this}rotate(e){return Kx("Matrix3: .rotate() is deprecated. Use .makeRotation() instead."),this.premultiply(Oze.makeRotation(-e)),this}translate(e,t){return Kx("Matrix3: .translate() is deprecated. Use .makeTranslation() instead."),this.premultiply(Oze.makeTranslation(e,t)),this}makeTranslation(e,t){if(e.isVector2)this.set(1,0,e.x,0,1,e.y,0,0,1);else this.set(1,0,e,0,1,t,0,0,1);return this}makeRotation(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){let t=this.elements,n=e.elements;for(let r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){let n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}};Oze=new Ur,xfn=new Ur().set(0.4123908,0.3575843,0.1804808,0.212639,0.7151687,0.0721923,0.0193308,0.1191948,0.9505322),Afn=new Ur().set(3.2409699,-1.5373832,-0.4986108,-0.9692436,1.8759675,0.0415551,0.0556301,-0.203977,1.0569715);jo=nPr();gHe=class gHe extends Tv{constructor(e=null){Kx('Source: "Source" has been renamed to "TextureSource". Please update your code to use "THREE.TextureSource" instead.');super(e);this.isSource=!0}};Uze=new he;El=class El extends Lh{constructor(e=El.DEFAULT_IMAGE,t=El.DEFAULT_MAPPING,n=1001,r=1001,o=1006,a=1008,i=1023,s=1009,l=El.DEFAULT_ANISOTROPY,c=""){super();this.isTexture=!0,Object.defineProperty(this,"id",{value:oPr++}),this.uuid=a1(),this.name="",this.source=new Tv(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=n,this.wrapT=r,this.magFilter=o,this.minFilter=a,this.anisotropy=l,this.format=i,this.internalFormat=null,this.type=s,this.offset=new vt(0,0),this.repeat=new vt(1,1),this.center=new vt(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Ur,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=c,this.userData={},this.updateRanges=[],this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.isArrayTexture=e&&e.depth&&e.depth>1?!0:!1,this.pmremVersion=0,this.normalized=!1}get width(){return this.source.getSize(Uze).x}get height(){return this.source.getSize(Uze).y}get depth(){return this.source.getSize(Uze).z}get image(){return this.source.data}set image(e){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.normalized=e.normalized,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(let t in e){let n=e[t];if(n===void 0){zn(`Texture.setValues(): parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){zn(`Texture.setValues(): property '${t}' does not exist.`);continue}if(r&&n&&(r.isVector2&&n.isVector2))r.copy(n);else if(r&&n&&(r.isVector3&&n.isVector3))r.copy(n);else if(r&&n&&(r.isMatrix3&&n.isMatrix3))r.copy(n);else this[t]=n}}toJSON(e){let t=e===void 0||typeof e==="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];let n={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,normalized:this.normalized,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(Object.keys(this.userData).length>0)n.userData=this.userData;if(!t)e.textures[this.uuid]=n;return n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==300)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case 1000:e.x=e.x-Math.floor(e.x);break;case 1001:e.x=e.x<0?0:1;break;case 1002:if(Math.abs(Math.floor(e.x)%2)===1)e.x=Math.ceil(e.x)-e.x;else e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case 1000:e.y=e.y-Math.floor(e.y);break;case 1001:e.y=e.y<0?0:1;break;case 1002:if(Math.abs(Math.floor(e.y)%2)===1)e.y=Math.ceil(e.y)-e.y;else e.y=e.y-Math.floor(e.y);break}if(this.flipY)e.y=1-e.y;return e}set needsUpdate(e){if(e===!0)this.version++,this.source.needsUpdate=!0}set needsPMREMUpdate(e){if(e===!0)this.pmremVersion++}};El.DEFAULT_IMAGE=null;El.DEFAULT_MAPPING=300;El.DEFAULT_ANISOTROPY=1;Ja=class Ja{static{Ja.prototype.isVector4=!0}constructor(e=0,t=0,n=0,r=1){this.x=e,this.y=t,this.z=n,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw Error("THREE.Vector4: index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("THREE.Vector4: index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,o=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*o,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*o,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*o,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*o,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);if(t<0.0001)this.x=1,this.y=0,this.z=0;else this.x=e.x/t,this.y=e.y/t,this.z=e.z/t;return this}setAxisAngleFromRotationMatrix(e){let t,n,r,o,a=0.01,i=0.1,s=e.elements,l=s[0],c=s[4],u=s[8],d=s[1],p=s[5],f=s[9],m=s[2],g=s[6],v=s[10];if(Math.abs(c-d)<0.01&&Math.abs(u-m)<0.01&&Math.abs(f-g)<0.01){if(Math.abs(c+d)<0.1&&Math.abs(u+m)<0.1&&Math.abs(f+g)<0.1&&Math.abs(l+p+v-3)<0.1)return this.set(1,0,0,0),this;t=Math.PI;let x=(l+1)/2,A=(p+1)/2,w=(v+1)/2,C=(c+d)/4,E=(u+m)/4,T=(f+g)/4;if(x>A&&x>w)if(x<0.01)n=0,r=0.707106781,o=0.707106781;else n=Math.sqrt(x),r=C/n,o=E/n;else if(A>w)if(A<0.01)n=0.707106781,r=0,o=0.707106781;else r=Math.sqrt(A),n=C/r,o=T/r;else if(w<0.01)n=0.707106781,r=0.707106781,o=0;else o=Math.sqrt(w),n=E/o,r=T/o;return this.set(n,r,o,t),this}let y=Math.sqrt((g-f)*(g-f)+(u-m)*(u-m)+(d-c)*(d-c));if(Math.abs(y)<0.001)y=1;return this.x=(g-f)/y,this.y=(u-m)/y,this.z=(d-c)/y,this.w=Math.acos((l+p+v-1)/2),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=to(this.x,e.x,t.x),this.y=to(this.y,e.y,t.y),this.z=to(this.z,e.z,t.z),this.w=to(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=to(this.x,e,t),this.y=to(this.y,e,t),this.z=to(this.z,e,t),this.w=to(this.w,e,t),this}clampLength(e,t){let n=this.length();return this.divideScalar(n||1).multiplyScalar(to(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}};PX=class PX extends Lh{constructor(e=1,t=1,n={}){super();n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:1006,depthBuffer:!0,stencilBuffer:!1,resolveColorBuffer:!0,resolveDepthBuffer:!0,resolveStencilBuffer:!0,storeMultisampledColorBuffer:!0,storeMultisampledDepthBuffer:!0,storeMultisampledStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1,useArrayDepthTexture:!1},n),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=n.depth,this.scissor=new Ja(0,0,e,t),this.scissorTest=!1,this.viewport=new Ja(0,0,e,t),this.textures=[];let r={width:e,height:t,depth:n.depth},o=new El(r),a=n.count;for(let i=0;i1;this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t1){for(let t=0;t1){for(let n=0;n0)r.userData=this.userData;if(r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.pivot!==null)r.pivot=this.pivot.toArray();if(this.morphTargetDictionary!==void 0)r.morphTargetDictionary=Object.assign({},this.morphTargetDictionary);if(this.morphTargetInfluences!==void 0)r.morphTargetInfluences=this.morphTargetInfluences.slice();if(this.isInstancedMesh){if(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null)r.instanceColor=this.instanceColor.toJSON()}if(this.isBatchedMesh){if(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.geometryInfo=this._geometryInfo.map((i)=>({...i,boundingBox:i.boundingBox?i.boundingBox.toJSON():void 0,boundingSphere:i.boundingSphere?i.boundingSphere.toJSON():void 0})),r.instanceInfo=this._instanceInfo.map((i)=>({...i})),r.availableInstanceIds=this._availableInstanceIds.slice(),r.availableGeometryIds=this._availableGeometryIds.slice(),r.nextIndexStart=this._nextIndexStart,r.nextVertexStart=this._nextVertexStart,r.geometryCount=this._geometryCount,r.maxInstanceCount=this._maxInstanceCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.matricesTexture=this._matricesTexture.toJSON(e),r.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null)r.colorsTexture=this._colorsTexture.toJSON(e);if(this.boundingSphere!==null)r.boundingSphere=this.boundingSphere.toJSON();if(this.boundingBox!==null)r.boundingBox=this.boundingBox.toJSON()}function o(i,s){if(i[s.uuid]===void 0)i[s.uuid]=s.toJSON(e);return s.uuid}if(this.isScene){if(this.background){if(this.background.isColor)r.background=this.background.toJSON();else if(this.background.isTexture)r.background=this.background.toJSON(e).uuid}if(this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0)r.environment=this.environment.toJSON(e).uuid}else if(this.isMesh||this.isLine||this.isPoints){r.geometry=o(e.geometries,this.geometry);let i=this.geometry.parameters;if(i!==void 0&&i.shapes!==void 0){let s=i.shapes;if(Array.isArray(s))for(let l=0,c=s.length;l0){r.children=[];for(let i=0;i0){r.animations=[];for(let i=0;i0)n.geometries=i;if(s.length>0)n.materials=s;if(l.length>0)n.textures=l;if(c.length>0)n.images=c;if(u.length>0)n.shapes=u;if(d.length>0)n.skeletons=d;if(p.length>0)n.animations=p;if(f.length>0)n.nodes=f}return n.object=r,n;function a(i){let s=[];for(let l in i){let c=i[l];delete c.metadata,s.push(c)}return s}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.pivot=e.pivot!==null?e.pivot.clone():null,this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.static=e.static,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,jo.colorSpaceToWorking(this,t),this}setRGB(e,t,n,r=jo.workingColorSpace){return this.r=e,this.g=t,this.b=n,jo.colorSpaceToWorking(this,r),this}setHSL(e,t,n,r=jo.workingColorSpace){if(e=hHe(e,1),t=to(t,0,1),n=to(n,0,1),t===0)this.r=this.g=this.b=n;else{let o=n<=0.5?n*(1+t):n+t-n*t,a=2*n-o;this.r=zze(a,o,e+0.3333333333333333),this.g=zze(a,o,e),this.b=zze(a,o,e-0.3333333333333333)}return jo.colorSpaceToWorking(this,r),this}setStyle(e,t="srgb"){function n(o){if(o===void 0)return;if(parseFloat(o)<1)zn("Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let o,a=r[1],i=r[2];switch(a){case"rgb":case"rgba":if(o=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(i))return n(o[4]),this.setRGB(Math.min(255,parseInt(o[1],10))/255,Math.min(255,parseInt(o[2],10))/255,Math.min(255,parseInt(o[3],10))/255,t);if(o=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(i))return n(o[4]),this.setRGB(Math.min(100,parseInt(o[1],10))/100,Math.min(100,parseInt(o[2],10))/100,Math.min(100,parseInt(o[3],10))/100,t);break;case"hsl":case"hsla":if(o=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(i))return n(o[4]),this.setHSL(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,t);break;default:zn("Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){let o=r[1],a=o.length;if(a===3)return this.setRGB(parseInt(o.charAt(0),16)/15,parseInt(o.charAt(1),16)/15,parseInt(o.charAt(2),16)/15,t);else if(a===6)return this.setHex(parseInt(o,16),t);else zn("Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t="srgb"){let n=Ghn[e.toLowerCase()];if(n!==void 0)this.setHex(n,t);else zn("Color: Unknown color "+e);return this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Xw(e.r),this.g=Xw(e.g),this.b=Xw(e.b),this}copyLinearToSRGB(e){return this.r=MB(e.r),this.g=MB(e.g),this.b=MB(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e="srgb"){return jo.workingToColorSpace(Dm.copy(this),e),Math.round(to(Dm.r*255,0,255))*65536+Math.round(to(Dm.g*255,0,255))*256+Math.round(to(Dm.b*255,0,255))}getHexString(e="srgb"){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=jo.workingColorSpace){jo.workingToColorSpace(Dm.copy(this),t);let{r:n,g:r,b:o}=Dm,a=Math.max(n,r,o),i=Math.min(n,r,o),s,l,c=(i+a)/2;if(i===a)s=0,l=0;else{let u=a-i;switch(l=c<=0.5?u/(a+i):u/(2-a-i),a){case n:s=(r-o)/u+(rt.count)zn("BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.");t.needsUpdate=!0}return this}computeBoundingBox(){if(this.boundingBox===null)this.boundingBox=new Il;let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){wr("BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new he(-1/0,-1/0,-1/0),new he(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,r=t.length;n0)e.userData=this.userData;if(this.parameters!==void 0&&this._transformed!==!0){let s=this.parameters;for(let l in s)if(s[l]!==void 0)e[l]=s[l];return e}e.data={attributes:{}};let t=this.index;if(t!==null)e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)};let n=this.attributes;for(let s in n){let l=n[s];e.data.attributes[s]=l.toJSON(e.data)}let r={},o=!1;for(let s in this.morphAttributes){let l=this.morphAttributes[s],c=[];for(let u=0,d=l.length;u0)r[s]=c,o=!0}if(o)e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative;let a=this.groups;if(a.length>0)e.data.groups=JSON.parse(JSON.stringify(a));let i=this.boundingSphere;if(i!==null)e.data.boundingSphere=i.toJSON();return e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;let t={};this.name=e.name;let n=e.index;if(n!==null)this.setIndex(n.clone());let r=e.attributes;for(let l in r){let c=r[l];this.setAttribute(l,c.clone(t))}let o=e.morphAttributes;for(let l in o){let c=[],u=o[l];for(let d=0,p=u.length;d0!==e>0)this.version++;this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e===void 0)return;for(let t in e){let n=e[t];if(n===void 0){zn(`Material: parameter '${t}' has value of undefined.`);continue}let r=this[t];if(r===void 0){zn(`Material: '${t}' is not a property of THREE.${this.type}.`);continue}if(r&&r.isColor)r.set(n);else if(r&&r.isVector2&&(n&&n.isVector2)||r&&r.isEuler&&(n&&n.isEuler)||r&&r.isVector3&&(n&&n.isVector3))r.copy(n);else this[t]=n}}toJSON(e){let t=e===void 0||typeof e==="string";if(t)e={textures:{},images:{}};let n={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};if(n.uuid=this.uuid,n.type=this.type,n.blending=this.blending,n.side=this.side,n.shadowSide=this.shadowSide,n.vertexColors=this.vertexColors,n.opacity=this.opacity,n.transparent=this.transparent,n.blendSrc=this.blendSrc,n.blendDst=this.blendDst,n.blendEquation=this.blendEquation,n.blendSrcAlpha=this.blendSrcAlpha,n.blendDstAlpha=this.blendDstAlpha,n.blendEquationAlpha=this.blendEquationAlpha,n.blendColor=this.blendColor.getHex(),n.blendAlpha=this.blendAlpha,n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.clipIntersection=this.clipIntersection,n.clipShadows=this.clipShadows,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,n.stencilWrite=this.stencilWrite,n.polygonOffset=this.polygonOffset,n.polygonOffsetFactor=this.polygonOffsetFactor,n.polygonOffsetUnits=this.polygonOffsetUnits,n.dithering=this.dithering,n.alphaTest=this.alphaTest,n.alphaHash=this.alphaHash,n.alphaToCoverage=this.alphaToCoverage,n.premultipliedAlpha=this.premultipliedAlpha,n.forceSinglePass=this.forceSinglePass,n.allowOverride=this.allowOverride,n.visible=this.visible,n.toneMapped=this.toneMapped,n.name=this.name,this.color&&this.color.isColor)n.color=this.color.getHex();if(this.roughness!==void 0)n.roughness=this.roughness;if(this.metalness!==void 0)n.metalness=this.metalness;if(this.sheen!==void 0)n.sheen=this.sheen;if(this.sheenColor&&this.sheenColor.isColor)n.sheenColor=this.sheenColor.getHex();if(this.sheenRoughness!==void 0)n.sheenRoughness=this.sheenRoughness;if(this.emissive&&this.emissive.isColor)n.emissive=this.emissive.getHex();if(this.emissiveIntensity!==void 0)n.emissiveIntensity=this.emissiveIntensity;if(this.specular&&this.specular.isColor)n.specular=this.specular.getHex();if(this.specularIntensity!==void 0)n.specularIntensity=this.specularIntensity;if(this.specularColor&&this.specularColor.isColor)n.specularColor=this.specularColor.getHex();if(this.shininess!==void 0)n.shininess=this.shininess;if(this.clearcoat!==void 0)n.clearcoat=this.clearcoat;if(this.clearcoatRoughness!==void 0)n.clearcoatRoughness=this.clearcoatRoughness;if(this.clearcoatMap&&this.clearcoatMap.isTexture)n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid;if(this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture)n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid;if(this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture)n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray();if(this.sheenColorMap&&this.sheenColorMap.isTexture)n.sheenColorMap=this.sheenColorMap.toJSON(e).uuid;if(this.sheenRoughnessMap&&this.sheenRoughnessMap.isTexture)n.sheenRoughnessMap=this.sheenRoughnessMap.toJSON(e).uuid;if(this.dispersion!==void 0)n.dispersion=this.dispersion;if(this.retroreflectivity!==void 0)n.retroreflectivity=this.retroreflectivity;if(this.iridescence!==void 0)n.iridescence=this.iridescence;if(this.iridescenceIOR!==void 0)n.iridescenceIOR=this.iridescenceIOR;if(this.iridescenceThicknessRange!==void 0)n.iridescenceThicknessRange=this.iridescenceThicknessRange;if(this.iridescenceMap&&this.iridescenceMap.isTexture)n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid;if(this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture)n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid;if(this.anisotropy!==void 0)n.anisotropy=this.anisotropy;if(this.anisotropyRotation!==void 0)n.anisotropyRotation=this.anisotropyRotation;if(this.anisotropyMap&&this.anisotropyMap.isTexture)n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid;if(this.map&&this.map.isTexture)n.map=this.map.toJSON(e).uuid;if(this.matcap&&this.matcap.isTexture)n.matcap=this.matcap.toJSON(e).uuid;if(this.alphaMap&&this.alphaMap.isTexture)n.alphaMap=this.alphaMap.toJSON(e).uuid;if(this.lightMap&&this.lightMap.isTexture)n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity;if(this.aoMap&&this.aoMap.isTexture)n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity;if(this.bumpMap&&this.bumpMap.isTexture)n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale;if(this.normalMap&&this.normalMap.isTexture)n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray();if(this.displacementMap&&this.displacementMap.isTexture)n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias;if(this.roughnessMap&&this.roughnessMap.isTexture)n.roughnessMap=this.roughnessMap.toJSON(e).uuid;if(this.metalnessMap&&this.metalnessMap.isTexture)n.metalnessMap=this.metalnessMap.toJSON(e).uuid;if(this.emissiveMap&&this.emissiveMap.isTexture)n.emissiveMap=this.emissiveMap.toJSON(e).uuid;if(this.specularMap&&this.specularMap.isTexture)n.specularMap=this.specularMap.toJSON(e).uuid;if(this.specularIntensityMap&&this.specularIntensityMap.isTexture)n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid;if(this.specularColorMap&&this.specularColorMap.isTexture)n.specularColorMap=this.specularColorMap.toJSON(e).uuid;if(this.envMap&&this.envMap.isTexture){if(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0)n.combine=this.combine}if(this.envMapRotation!==void 0)n.envMapRotation=this.envMapRotation.toArray();if(this.envMapIntensity!==void 0)n.envMapIntensity=this.envMapIntensity;if(this.reflectivity!==void 0)n.reflectivity=this.reflectivity;if(this.refractionRatio!==void 0)n.refractionRatio=this.refractionRatio;if(this.gradientMap&&this.gradientMap.isTexture)n.gradientMap=this.gradientMap.toJSON(e).uuid;if(this.transmission!==void 0)n.transmission=this.transmission;if(this.transmissionMap&&this.transmissionMap.isTexture)n.transmissionMap=this.transmissionMap.toJSON(e).uuid;if(this.thickness!==void 0)n.thickness=this.thickness;if(this.thicknessMap&&this.thicknessMap.isTexture)n.thicknessMap=this.thicknessMap.toJSON(e).uuid;if(this.attenuationDistance!==void 0)n.attenuationDistance=this.attenuationDistance;if(this.attenuationColor!==void 0)n.attenuationColor=this.attenuationColor.getHex();if(this.size!==void 0)n.size=this.size;if(this.sizeAttenuation!==void 0)n.sizeAttenuation=this.sizeAttenuation;if(Array.isArray(this.clippingPlanes)&&this.clippingPlanes.length>0)n.clippingPlanes=this.clippingPlanes.map((o)=>o.toJSON());if(this.rotation!==void 0)n.rotation=this.rotation;if(this.depthPacking!==void 0)n.depthPacking=this.depthPacking;if(this.linewidth!==void 0)n.linewidth=this.linewidth;if(this.linecap!==void 0)n.linecap=this.linecap;if(this.linejoin!==void 0)n.linejoin=this.linejoin;if(this.dashSize!==void 0)n.dashSize=this.dashSize;if(this.gapSize!==void 0)n.gapSize=this.gapSize;if(this.scale!==void 0)n.scale=this.scale;if(this.wireframe!==void 0)n.wireframe=this.wireframe;if(this.wireframeLinewidth!==void 0)n.wireframeLinewidth=this.wireframeLinewidth;if(this.wireframeLinecap!==void 0)n.wireframeLinecap=this.wireframeLinecap;if(this.wireframeLinejoin!==void 0)n.wireframeLinejoin=this.wireframeLinejoin;if(this.flatShading!==void 0)n.flatShading=this.flatShading;if(this.fog!==void 0)n.fog=this.fog;if(Object.keys(this.userData).length>0)n.userData=this.userData;function r(o){let a=[];for(let i in o){let s=o[i];delete s.metadata,a.push(s)}return a}if(t){let o=r(e.textures),a=r(e.images);if(o.length>0)n.textures=o;if(a.length>0)n.images=a}return n}fromJSON(e,t){if(e.uuid!==void 0)this.uuid=e.uuid;if(e.name!==void 0)this.name=e.name;if(e.color!==void 0&&this.color!==void 0)this.color.setHex(e.color);if(e.roughness!==void 0)this.roughness=e.roughness;if(e.metalness!==void 0)this.metalness=e.metalness;if(e.sheen!==void 0)this.sheen=e.sheen;if(e.sheenColor!==void 0)this.sheenColor=new _n().setHex(e.sheenColor);if(e.sheenRoughness!==void 0)this.sheenRoughness=e.sheenRoughness;if(e.emissive!==void 0&&this.emissive!==void 0)this.emissive.setHex(e.emissive);if(e.specular!==void 0&&this.specular!==void 0)this.specular.setHex(e.specular);if(e.specularIntensity!==void 0)this.specularIntensity=e.specularIntensity;if(e.specularColor!==void 0&&this.specularColor!==void 0)this.specularColor.setHex(e.specularColor);if(e.shininess!==void 0)this.shininess=e.shininess;if(e.clearcoat!==void 0)this.clearcoat=e.clearcoat;if(e.clearcoatRoughness!==void 0)this.clearcoatRoughness=e.clearcoatRoughness;if(e.dispersion!==void 0)this.dispersion=e.dispersion;if(e.retroreflectivity!==void 0)this.retroreflectivity=e.retroreflectivity;if(e.iridescence!==void 0)this.iridescence=e.iridescence;if(e.iridescenceIOR!==void 0)this.iridescenceIOR=e.iridescenceIOR;if(e.iridescenceThicknessRange!==void 0)this.iridescenceThicknessRange=e.iridescenceThicknessRange;if(e.transmission!==void 0)this.transmission=e.transmission;if(e.thickness!==void 0)this.thickness=e.thickness;if(e.attenuationDistance!==void 0)this.attenuationDistance=e.attenuationDistance;if(e.attenuationColor!==void 0&&this.attenuationColor!==void 0)this.attenuationColor.setHex(e.attenuationColor);if(e.anisotropy!==void 0)this.anisotropy=e.anisotropy;if(e.anisotropyRotation!==void 0)this.anisotropyRotation=e.anisotropyRotation;if(e.fog!==void 0)this.fog=e.fog;if(e.flatShading!==void 0)this.flatShading=e.flatShading;if(e.blending!==void 0)this.blending=e.blending;if(e.combine!==void 0)this.combine=e.combine;if(e.side!==void 0)this.side=e.side;if(e.shadowSide!==void 0)this.shadowSide=e.shadowSide;if(e.opacity!==void 0)this.opacity=e.opacity;if(e.transparent!==void 0)this.transparent=e.transparent;if(e.alphaTest!==void 0)this.alphaTest=e.alphaTest;if(e.alphaHash!==void 0)this.alphaHash=e.alphaHash;if(e.depthFunc!==void 0)this.depthFunc=e.depthFunc;if(e.depthTest!==void 0)this.depthTest=e.depthTest;if(e.depthWrite!==void 0)this.depthWrite=e.depthWrite;if(e.colorWrite!==void 0)this.colorWrite=e.colorWrite;if(e.clippingPlanes!==void 0)this.clippingPlanes=e.clippingPlanes.map((n)=>new Ih().fromJSON(n));if(e.clipIntersection!==void 0)this.clipIntersection=e.clipIntersection;if(e.clipShadows!==void 0)this.clipShadows=e.clipShadows;if(e.depthPacking!==void 0)this.depthPacking=e.depthPacking;if(e.blendSrc!==void 0)this.blendSrc=e.blendSrc;if(e.blendDst!==void 0)this.blendDst=e.blendDst;if(e.blendEquation!==void 0)this.blendEquation=e.blendEquation;if(e.blendSrcAlpha!==void 0)this.blendSrcAlpha=e.blendSrcAlpha;if(e.blendDstAlpha!==void 0)this.blendDstAlpha=e.blendDstAlpha;if(e.blendEquationAlpha!==void 0)this.blendEquationAlpha=e.blendEquationAlpha;if(e.blendColor!==void 0&&this.blendColor!==void 0)this.blendColor.setHex(e.blendColor);if(e.blendAlpha!==void 0)this.blendAlpha=e.blendAlpha;if(e.stencilWriteMask!==void 0)this.stencilWriteMask=e.stencilWriteMask;if(e.stencilFunc!==void 0)this.stencilFunc=e.stencilFunc;if(e.stencilRef!==void 0)this.stencilRef=e.stencilRef;if(e.stencilFuncMask!==void 0)this.stencilFuncMask=e.stencilFuncMask;if(e.stencilFail!==void 0)this.stencilFail=e.stencilFail;if(e.stencilZFail!==void 0)this.stencilZFail=e.stencilZFail;if(e.stencilZPass!==void 0)this.stencilZPass=e.stencilZPass;if(e.stencilWrite!==void 0)this.stencilWrite=e.stencilWrite;if(e.wireframe!==void 0)this.wireframe=e.wireframe;if(e.wireframeLinewidth!==void 0)this.wireframeLinewidth=e.wireframeLinewidth;if(e.wireframeLinecap!==void 0)this.wireframeLinecap=e.wireframeLinecap;if(e.wireframeLinejoin!==void 0)this.wireframeLinejoin=e.wireframeLinejoin;if(e.rotation!==void 0)this.rotation=e.rotation;if(e.linewidth!==void 0)this.linewidth=e.linewidth;if(e.linecap!==void 0)this.linecap=e.linecap;if(e.linejoin!==void 0)this.linejoin=e.linejoin;if(e.dashSize!==void 0)this.dashSize=e.dashSize;if(e.gapSize!==void 0)this.gapSize=e.gapSize;if(e.scale!==void 0)this.scale=e.scale;if(e.polygonOffset!==void 0)this.polygonOffset=e.polygonOffset;if(e.polygonOffsetFactor!==void 0)this.polygonOffsetFactor=e.polygonOffsetFactor;if(e.polygonOffsetUnits!==void 0)this.polygonOffsetUnits=e.polygonOffsetUnits;if(e.dithering!==void 0)this.dithering=e.dithering;if(e.alphaToCoverage!==void 0)this.alphaToCoverage=e.alphaToCoverage;if(e.premultipliedAlpha!==void 0)this.premultipliedAlpha=e.premultipliedAlpha;if(e.forceSinglePass!==void 0)this.forceSinglePass=e.forceSinglePass;if(e.allowOverride!==void 0)this.allowOverride=e.allowOverride;if(e.visible!==void 0)this.visible=e.visible;if(e.toneMapped!==void 0)this.toneMapped=e.toneMapped;if(e.userData!==void 0)this.userData=e.userData;if(e.vertexColors!==void 0)if(typeof e.vertexColors==="number")this.vertexColors=e.vertexColors>0;else this.vertexColors=e.vertexColors;if(e.size!==void 0)this.size=e.size;if(e.sizeAttenuation!==void 0)this.sizeAttenuation=e.sizeAttenuation;if(e.map!==void 0)this.map=t[e.map]||null;if(e.matcap!==void 0)this.matcap=t[e.matcap]||null;if(e.alphaMap!==void 0)this.alphaMap=t[e.alphaMap]||null;if(e.bumpMap!==void 0)this.bumpMap=t[e.bumpMap]||null;if(e.bumpScale!==void 0)this.bumpScale=e.bumpScale;if(e.normalMap!==void 0)this.normalMap=t[e.normalMap]||null;if(e.normalMapType!==void 0)this.normalMapType=e.normalMapType;if(e.normalScale!==void 0){let n=e.normalScale;if(Array.isArray(n)===!1)n=[n,n];this.normalScale=new vt().fromArray(n)}if(e.displacementMap!==void 0)this.displacementMap=t[e.displacementMap]||null;if(e.displacementScale!==void 0)this.displacementScale=e.displacementScale;if(e.displacementBias!==void 0)this.displacementBias=e.displacementBias;if(e.roughnessMap!==void 0)this.roughnessMap=t[e.roughnessMap]||null;if(e.metalnessMap!==void 0)this.metalnessMap=t[e.metalnessMap]||null;if(e.emissiveMap!==void 0)this.emissiveMap=t[e.emissiveMap]||null;if(e.emissiveIntensity!==void 0)this.emissiveIntensity=e.emissiveIntensity;if(e.specularMap!==void 0)this.specularMap=t[e.specularMap]||null;if(e.specularIntensityMap!==void 0)this.specularIntensityMap=t[e.specularIntensityMap]||null;if(e.specularColorMap!==void 0)this.specularColorMap=t[e.specularColorMap]||null;if(e.envMap!==void 0)this.envMap=t[e.envMap]||null;if(e.envMapRotation!==void 0)this.envMapRotation.fromArray(e.envMapRotation);if(e.envMapIntensity!==void 0)this.envMapIntensity=e.envMapIntensity;if(e.reflectivity!==void 0)this.reflectivity=e.reflectivity;if(e.refractionRatio!==void 0)this.refractionRatio=e.refractionRatio;if(e.lightMap!==void 0)this.lightMap=t[e.lightMap]||null;if(e.lightMapIntensity!==void 0)this.lightMapIntensity=e.lightMapIntensity;if(e.aoMap!==void 0)this.aoMap=t[e.aoMap]||null;if(e.aoMapIntensity!==void 0)this.aoMapIntensity=e.aoMapIntensity;if(e.gradientMap!==void 0)this.gradientMap=t[e.gradientMap]||null;if(e.clearcoatMap!==void 0)this.clearcoatMap=t[e.clearcoatMap]||null;if(e.clearcoatRoughnessMap!==void 0)this.clearcoatRoughnessMap=t[e.clearcoatRoughnessMap]||null;if(e.clearcoatNormalMap!==void 0)this.clearcoatNormalMap=t[e.clearcoatNormalMap]||null;if(e.clearcoatNormalScale!==void 0)this.clearcoatNormalScale=new vt().fromArray(e.clearcoatNormalScale);if(e.iridescenceMap!==void 0)this.iridescenceMap=t[e.iridescenceMap]||null;if(e.iridescenceThicknessMap!==void 0)this.iridescenceThicknessMap=t[e.iridescenceThicknessMap]||null;if(e.transmissionMap!==void 0)this.transmissionMap=t[e.transmissionMap]||null;if(e.thicknessMap!==void 0)this.thicknessMap=t[e.thicknessMap]||null;if(e.anisotropyMap!==void 0)this.anisotropyMap=t[e.anisotropyMap]||null;if(e.sheenColorMap!==void 0)this.sheenColorMap=t[e.sheenColorMap]||null;if(e.sheenRoughnessMap!==void 0)this.sheenRoughnessMap=t[e.sheenRoughnessMap]||null;return this}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;let t=e.clippingPlanes,n=null;if(t!==null){let r=t.length;n=Array(r);for(let o=0;o!==r;++o)n[o]=t[o].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.allowOverride=e.allowOverride,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){if(e===!0)this.version++}};UX=class UX extends ap{constructor(e){super();this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new _n(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}};$Q=new he,AB=new he,wB=new he,SB=new vt,eX=new vt,qhn=new Vn,Yme=new he,tX=new he,Kme=new he,Pfn=new vt,Jze=new vt,Mfn=new vt;D0e=class D0e extends Go{constructor(e=new UX){super();if(this.isSprite=!0,this.type="Sprite",xB===void 0){xB=new Jr;let t=new Float32Array([-0.5,-0.5,0,0,0,0.5,-0.5,0,1,0,0.5,0.5,0,1,1,-0.5,0.5,0,0,1]),n=new QB(t,5);xB.setIndex([0,1,2,0,2,3]),xB.setAttribute("position",new c5(n,3,0,!1)),xB.setAttribute("uv",new c5(n,2,3,!1))}this.geometry=xB,this.material=e,this.center=new vt(0.5,0.5),this.count=1}intersectsFrustum(e){return e.intersectsSprite(this)}raycast(e,t){if(e.camera===null)wr('Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.');if(AB.setFromMatrixScale(this.matrixWorld),qhn.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),wB.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1)AB.multiplyScalar(-wB.z);let n=this.material.rotation,r,o;if(n!==0)o=Math.cos(n),r=Math.sin(n);let a=this.center;Jme(Yme.set(-0.5,-0.5,0),wB,a,AB,r,o),Jme(tX.set(0.5,-0.5,0),wB,a,AB,r,o),Jme(Kme.set(0.5,0.5,0),wB,a,AB,r,o),Pfn.set(0,0),Jze.set(1,0),Mfn.set(1,1);let i=e.ray.intersectTriangle(Yme,tX,Kme,!1,$Q);if(i===null){if(Jme(tX.set(-0.5,0.5,0),wB,a,AB,r,o),Jze.set(0,1),i=e.ray.intersectTriangle(Yme,Kme,tX,!1,$Q),i===null)return}let s=e.ray.origin.distanceTo($Q);if(se.far)return;t.push({distance:s,point:$Q.clone(),uv:kh.getInterpolation($Q,Yme,tX,Kme,Pfn,Jze,Mfn,new vt),face:null,object:this})}copy(e,t){if(super.copy(e,t),e.center!==void 0)this.center.copy(e.center);return this.material=e.material,this}};jme=new he,Dfn=new he;L0e=class L0e extends Go{constructor(){super();this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);let t=e.levels;for(let n=0,r=t.length;n0){let n,r;for(n=1,r=t.length;n0){jme.setFromMatrixPosition(this.matrixWorld);let r=e.ray.origin.distanceTo(jme);this.getObjectForDistance(r).raycast(e,t)}}update(e){let t=this.levels;if(t.length>1){jme.setFromMatrixPosition(e.matrixWorld),Dfn.setFromMatrixPosition(this.matrixWorld);let n=jme.distanceTo(Dfn)/e.zoom;t[0].object.visible=!0;let r,o;for(r=1,o=t.length;r=a)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}this._currentLevel=r-1;for(;r0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,a=r.length;o(e.far-e.near)**2)return}if(Lfn.copy(o).invert(),c7.copy(e.ray).applyMatrix4(Lfn),n.boundingBox!==null){if(c7.intersectsBox(n.boundingBox)===!1)return}this._computeIntersections(e,t,c7)}_computeIntersections(e,t,n){let r,o=this.geometry,a=this.material,i=o.index,s=o.attributes.position,l=o.attributes.uv,c=o.attributes.uv1,u=o.attributes.normal,{groups:d,drawRange:p}=o;if(i!==null)if(Array.isArray(a))for(let f=0,m=d.length;f65535?new Uint32Array(r):new Uint16Array(r);t.setIndex(new si(o,1))}this._geometryInitialized=!0}}_validateGeometry(e){let t=this.geometry;if(Boolean(e.getIndex())!==Boolean(t.getIndex()))throw Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(let n in t.attributes){if(!e.hasAttribute(n))throw Error(`THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);let r=e.getAttribute(n),o=t.getAttribute(n);if(r.itemSize!==o.itemSize||r.normalized!==o.normalized)throw Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(e){let t=this._instanceInfo;if(e<0||e>=t.length||t[e].active===!1)throw Error(`THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`)}validateGeometryId(e){let t=this._geometryInfo;if(e<0||e>=t.length||t[e].active===!1)throw Error(`THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`)}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){if(this.boundingBox===null)this.boundingBox=new Il;let e=this.boundingBox,t=this._instanceInfo;e.makeEmpty();for(let n=0,r=t.length;n=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw Error("THREE.BatchedMesh: Maximum item count reached.");let n={visible:!0,active:!0,geometryIndex:e},r=null;if(this._availableInstanceIds.length>0)this._availableInstanceIds.sort(n_e),r=this._availableInstanceIds.shift(),this._instanceInfo[r]=n;else r=this._instanceInfo.length,this._instanceInfo.push(n);let o=this._matricesTexture;D0.identity().toArray(o.image.data,r*16),o.needsUpdate=!0;let a=this._colorsTexture;if(a)IPr.toArray(a.image.data,r*4),a.needsUpdate=!0;return this._visibilityChanged=!0,r}addGeometry(e,t=-1,n=-1){this._initializeGeometry(e),this._validateGeometry(e);let r={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},o=this._geometryInfo;r.vertexStart=this._nextVertexStart,r.reservedVertexCount=t===-1?e.getAttribute("position").count:t;let a=e.getIndex();if(a!==null)r.indexStart=this._nextIndexStart,r.reservedIndexCount=n===-1?a.count:n;if(r.indexStart!==-1&&r.indexStart+r.reservedIndexCount>this._maxIndexCount||r.vertexStart+r.reservedVertexCount>this._maxVertexCount)throw Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let s;if(this._availableGeometryIds.length>0)this._availableGeometryIds.sort(n_e),s=this._availableGeometryIds.shift(),o[s]=r;else s=this._geometryCount,this._geometryCount++,o.push(r);return this.setGeometryAt(s,e),this._nextIndexStart=r.indexStart+r.reservedIndexCount,this._nextVertexStart=r.vertexStart+r.reservedVertexCount,s}setGeometryAt(e,t){if(e>=this._geometryCount)throw Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);let n=this.geometry,r=n.getIndex()!==null,o=n.getIndex(),a=t.getIndex(),i=this._geometryInfo[e];if(r&&a.count>i.reservedIndexCount||t.attributes.position.count>i.reservedVertexCount)throw Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");let{vertexStart:s,reservedVertexCount:l}=i;i.vertexCount=t.getAttribute("position").count;for(let c in n.attributes){let u=t.getAttribute(c),d=n.getAttribute(c);PPr(u,d,s);let p=u.itemSize;for(let f=u.count,m=l;f=t.length||t[e].active===!1)return this;let n=this._instanceInfo;for(let r=0,o=n.length;ri).sort((a,i)=>n[a].vertexStart-n[i].vertexStart),o=this.geometry;for(let a=0,i=n.length;a=this._geometryCount)return null;let n=this.geometry,r=this._geometryInfo[e];if(r.boundingBox===null){let o=new Il,a=n.index,i=n.attributes.position;for(let s=r.start,l=r.start+r.count;s=this._geometryCount)return null;let n=this.geometry,r=this._geometryInfo[e];if(r.boundingSphere===null){let o=new op;this.getBoundingBoxAt(e,dhe),dhe.getCenter(o.center);let a=n.index,i=n.attributes.position,s=0;for(let l=r.start,c=r.start+r.count;li.active);if(Math.max(...n.map((i)=>i.vertexStart+i.reservedVertexCount))>e)throw Error(`THREE.BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`);if(this.geometry.index){if(Math.max(...n.map((s)=>s.indexStart+s.reservedIndexCount))>t)throw Error(`THREE.BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`)}let o=this.geometry;if(o.dispose(),this._maxVertexCount=e,this._maxIndexCount=t,this._geometryInitialized)this._geometryInitialized=!1,this.geometry=new Jr,this._initializeGeometry(o);let a=this.geometry;if(o.index)p7(o.index.array,a.index.array);for(let i in o.attributes)p7(o.attributes[i].array,a.attributes[i].array)}raycast(e,t){let n=this._instanceInfo,r=this._geometryInfo,o=this.matrixWorld,a=this.geometry;if(Lm.material=this.material,Lm.geometry.index=a.index,Lm.geometry.attributes=a.attributes,Lm.geometry.boundingBox===null)Lm.geometry.boundingBox=new Il;if(Lm.geometry.boundingSphere===null)Lm.geometry.boundingSphere=new op;for(let i=0,s=n.length;i({...t,boundingBox:t.boundingBox!==null?t.boundingBox.clone():null,boundingSphere:t.boundingSphere!==null?t.boundingSphere.clone():null})),this._instanceInfo=e._instanceInfo.map((t)=>({...t})),this._availableInstanceIds=e._availableInstanceIds.slice(),this._availableGeometryIds=e._availableGeometryIds.slice(),this._nextIndexStart=e._nextIndexStart,this._nextVertexStart=e._nextVertexStart,this._geometryCount=e._geometryCount,this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._multiDrawBytesPerElement=e._multiDrawBytesPerElement,this._indirectTexture=e._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null)this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice();return this}dispose(){if(super.dispose(),this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null)this._colorsTexture.dispose(),this._colorsTexture=null}onBeforeRender(e,t,n,r,o){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;let a=r.getIndex(),i=a===null?1:a.array.BYTES_PER_ELEMENT,s=1;if(o.wireframe)s=2,i=r.attributes.position.count>65535?4:2;let l=this._instanceInfo,c=this._multiDrawStarts,u=this._multiDrawCounts,d=this._geometryInfo,p=this.perObjectFrustumCulled,f=this._indirectTexture,m=f.image.data,g=n.isArrayCamera?kPr:TPr;if(p)if(n.isArrayCamera)g.setFromArrayCamera(n);else D0.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),g.setFromProjectionMatrix(D0,n.coordinateSystem,n.reversedDepth);let v=0;if(this.sortObjects){D0.copy(this.matrixWorld).invert(),aX.setFromMatrixPosition(n.matrixWorld).applyMatrix4(D0),qfn.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(D0);for(let A=0,w=l.length;A0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,a=r.length;o0){let r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let o=0,a=r.length;o=e.HAVE_CURRENT_DATA)this.needsUpdate=!0}dispose(){if(this._requestVideoFrameCallbackId!==0)this.source.data.cancelVideoFrameCallback(this._requestVideoFrameCallbackId),this._requestVideoFrameCallbackId=0;super.dispose()}};AHe=class AHe extends z0e{constructor(e,t,n,r,o,a,i,s){super({},e,t,n,r,o,a,i,s);this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(e){this.image=e,this.needsUpdate=!0}};wHe=class wHe extends El{constructor(e,t){super({width:e,height:t});this.isFramebufferTexture=!0,this.magFilter=1003,this.minFilter=1003,this.generateMipmaps=!1,this.needsUpdate=!0}};XB=class XB extends El{constructor(e,t,n,r,o,a,i,s,l,c,u,d){super(null,a,i,s,l,c,r,o,u,d);this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}};SHe=class SHe extends XB{constructor(e,t,n,r,o,a){super(e,t,n,o,a);this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=1001,this.layerUpdates=new Set}copy(e){return super.copy(e),this.wrapR=e.wrapR,this}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}};CHe=class CHe extends XB{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,301);this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}};M7=class M7 extends El{constructor(e=[],t=301,n,r,o,a,i,s,l,c){super(e,t,n,r,o,a,i,s,l,c);this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}};EHe=class EHe extends El{constructor(e,t,n,r,o,a,i,s,l){super(e,t,n,r,o,a,i,s,l);this.isCanvasTexture=!0,this.needsUpdate=!0}};IHe=class IHe extends El{constructor(e,t,n,r,o,a,i,s,l){super(e,t,n,r,o,a,i,s,l);this.isHTMLTexture=!0,this.generateMipmaps=!1,this.needsUpdate=!0;let c=e?e.parentNode:null;if(c!==null&&"requestPaint"in c)c.onpaint=()=>{this.needsUpdate=!0},c.requestPaint()}dispose(){let e=this.image?this.image.parentNode:null;if(e!==null&&"onpaint"in e)e.onpaint=null;super.dispose()}};nA=class nA extends El{constructor(e,t,n=1014,r,o,a,i=1003,s=1003,l,c=1026,u=1){if(c!==1026&&c!==1027)throw Error("THREE.DepthTexture: format must be either THREE.DepthFormat or THREE.DepthStencilFormat");let d={width:e,height:t,depth:u};super(d,r,o,a,i,s,c,n,l);this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new Tv(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){let t=super.toJSON(e);return t.compareFunction=this.compareFunction,t}};_0e=class _0e extends nA{constructor(e,t=1014,n=301,r,o,a=1003,i=1003,s,l=1026){let c={width:e,height:e,depth:1},u=[c,c,c,c,c,c];super(e,e,t,n,r,o,a,i,s,l);this.image=u,this.isCubeDepthTexture=!0,this.isCubeTexture=!0}get images(){return this.image}set images(e){this.image=e}};VX=class VX extends El{constructor(e=null){super();this.sourceTexture=e,this.isExternalTexture=!0}copy(e){return super.copy(e),this.sourceTexture=e.sourceTexture,this}};rA=class rA extends Jr{constructor(e=1,t=1,n=1,r=1,o=1,a=1){super();this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:o,depthSegments:a};let i=this;r=Math.floor(r),o=Math.floor(o),a=Math.floor(a);let s=[],l=[],c=[],u=[],d=0,p=0;f("z","y","x",-1,-1,n,t,e,a,o,0),f("z","y","x",1,-1,n,t,-e,a,o,1),f("x","z","y",1,1,e,n,t,r,a,2),f("x","z","y",1,-1,e,n,-t,r,a,3),f("x","y","z",1,-1,e,t,n,r,o,4),f("x","y","z",-1,-1,e,t,-n,r,o,5),this.setIndex(s),this.setAttribute("position",new Jn(l,3)),this.setAttribute("normal",new Jn(c,3)),this.setAttribute("uv",new Jn(u,2));function f(m,g,v,y,x,A,w,C,E,T,I){let k=A/E,L=w/T,O=A/2,B=w/2,U=C/2,D=E+1,N=T+1,_=0,G=0,Z=new he;for(let q=0;q0?1:-1,c.push(Z.x,Z.y,Z.z),u.push(te/E),u.push(1-q/T),_+=1}}for(let q=0;q0){let I=(y-1)*m;for(let k=0;k0)x(!0);if(t>0)x(!1)}this.setIndex(c),this.setAttribute("position",new Jn(u,3)),this.setAttribute("normal",new Jn(d,3)),this.setAttribute("uv",new Jn(p,2));function y(){let A=new he,w=new he,C=0,E=(t-e)/n;for(let T=0;T<=o;T++){let I=[],k=T/o,L=k*(t-e)+e;for(let O=0;O<=r;O++){let B=O/r,U=B*s+i,D=Math.sin(U),N=Math.cos(U);w.x=L*D,w.y=-k*n+g,w.z=L*N,u.push(w.x,w.y,w.z),A.set(D,E,N).normalize(),d.push(A.x,A.y,A.z),p.push(B,1-k),I.push(f++)}m.push(I)}for(let T=0;T0||I!==0)c.push(k,L,B),C+=3;if(t>0||I!==o-1)c.push(L,O,B),C+=3}l.addGroup(v,C,0),v+=C}function x(A){let w=f,C=new vt,E=new he,T=0,I=A===!0?e:t,k=A===!0?1:-1;for(let O=1;O<=r;O++)u.push(0,g*k,0),d.push(0,k,0),p.push(0.5,0.5),f++;let L=f;for(let O=0;O<=r;O++){let U=O/r*s+i,D=Math.cos(U),N=Math.sin(U);E.x=I*N,E.y=g*k,E.z=I*D,u.push(E.x,E.y,E.z),d.push(0,k,0),C.x=D*0.5+0.5,C.y=N*0.5*k+0.5,p.push(C.x,C.y),f++}for(let O=0;O0.9&&E<0.1){if(x<0.2)a[y+0]+=1;if(A<0.2)a[y+2]+=1;if(w<0.2)a[y+4]+=1}}}function d(y){o.push(y.x,y.y,y.z)}function p(y,x){let A=y*3;x.x=e[A+0],x.y=e[A+1],x.z=e[A+2]}function f(){let y=new he,x=new he,A=new he,w=new he,C=new vt,E=new vt,T=new vt;for(let I=0,k=0;Ir)o-=r;if(o0?0:(Math.floor(Math.abs(i)/o)+1)*o;else if(s===0&&i===o-1)i=o-2,s=1;let l,c;if(this.closed||i>0)l=r[(i-1)%o];else jfn.subVectors(r[0],r[1]).add(r[0]),l=jfn;let u=r[i%o],d=r[(i+1)%o];if(this.closed||i+2r.length-2?r.length-1:a+1],u=r[a>r.length-3?r.length-1:a+2];return n.set($fn(i,s.x,l.x,c.x,u.x),$fn(i,s.y,l.y,c.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){let a=r[o]-n,i=this.curves[o],s=i.getLength(),l=s===0?0:1-a/s;return i.getPointAt(l,t)}o++}return null}getLength(){let e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let e=[],t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0]))t.push(t[0]);return t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){let u=l.getPoint(0);if(!u.equals(this.currentPoint))this.lineTo(u.x,u.y)}this.curves.push(l);let c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};D7=class D7 extends A7{constructor(e){super(e);this.uuid=a1(),this.type="Shape",this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;nNumber.EPSILON){let Qe=Math.sqrt(qe),ee=Math.sqrt(ke*ke+se*se),K=Re.x-ue/Qe,we=Re.y+ce/Qe,ze=Le.x-se/ee,tt=Le.y+ke/ee,Pe=((ze-K)*se-(tt-we)*ke)/(ce*se-ue*ke);Ne=K+ce*Pe-pe.x,be=we+ue*Pe-pe.y;let Ke=Ne*Ne+be*be;if(Ke<=2)return new vt(Ne,be);else ye=Math.sqrt(Ke/2)}else{let Qe=!1;if(ce>Number.EPSILON){if(ke>Number.EPSILON)Qe=!0}else if(ce<-Number.EPSILON){if(ke<-Number.EPSILON)Qe=!0}else if(Math.sign(ue)===Math.sign(se))Qe=!0;if(Qe)Ne=-ue,be=ce,ye=Math.sqrt(qe);else Ne=ce,be=ue,ye=Math.sqrt(qe/2)}return new vt(Ne/ye,be/ye)}let Z=[];for(let pe=0,Re=D.length,Le=Re-1,Ne=pe+1;pe=0;pe--){let Re=pe/g,Le=p*Math.cos(Re*Math.PI/2),Ne=f*Math.sin(Re*Math.PI/2)+m;for(let be=0,ye=D.length;be=0){let Ne=Le,be=Le-1;if(be<0)be=pe.length-1;for(let ye=0,ce=c+g*2;ye0)p.push(x,A,C);if(v!==n-1||s0)t.defines=this.defines;t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;let n={};for(let r in this.extensions)if(this.extensions[r]===!0)n[r]=!0;if(Object.keys(n).length>0)t.extensions=n;return t}fromJSON(e,t){if(super.fromJSON(e,t),e.uniforms!==void 0)for(let n in e.uniforms){let r=e.uniforms[n];switch(this.uniforms[n]={},r.type){case"t":this.uniforms[n].value=t[r.value]||null;break;case"c":this.uniforms[n].value=new _n().setHex(r.value);break;case"v2":this.uniforms[n].value=new vt().fromArray(r.value);break;case"v3":this.uniforms[n].value=new he().fromArray(r.value);break;case"v4":this.uniforms[n].value=new Ja().fromArray(r.value);break;case"m3":this.uniforms[n].value=new Ur().fromArray(r.value);break;case"m4":this.uniforms[n].value=new Vn().fromArray(r.value);break;default:this.uniforms[n].value=r.value}}if(e.defines!==void 0)this.defines=e.defines;if(e.vertexShader!==void 0)this.vertexShader=e.vertexShader;if(e.fragmentShader!==void 0)this.fragmentShader=e.fragmentShader;if(e.glslVersion!==void 0)this.glslVersion=e.glslVersion;if(e.extensions!==void 0)for(let n in e.extensions)this.extensions[n]=e.extensions[n];if(e.lights!==void 0)this.lights=e.lights;if(e.clipping!==void 0)this.clipping=e.clipping;return this}};iW=class iW extends Ac{constructor(e){super(e);this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}};sW=class sW extends ap{constructor(e){super();this.isMeshStandardMaterial=!0,this.type="MeshStandardMaterial",this.defines={STANDARD:""},this.color=new _n(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _n(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Hy,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}};Y0e=class Y0e extends sW{constructor(e){super();this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new vt(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return to(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+0.4*t)/(1-0.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new _n(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new _n(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new _n(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._retroreflectivity=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){if(this._anisotropy>0!==e>0)this.version++;this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){if(this._clearcoat>0!==e>0)this.version++;this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){if(this._iridescence>0!==e>0)this.version++;this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){if(this._dispersion>0!==e>0)this.version++;this._dispersion=e}get retroreflectivity(){return this._retroreflectivity}set retroreflectivity(e){if(this._retroreflectivity>0!==e>0)this.version++;this._retroreflectivity=e}get sheen(){return this._sheen}set sheen(e){if(this._sheen>0!==e>0)this.version++;this._sheen=e}get transmission(){return this._transmission}set transmission(e){if(this._transmission>0!==e>0)this.version++;this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.retroreflectivity=e.retroreflectivity,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}};K0e=class K0e extends ap{constructor(e){super();this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new _n(16777215),this.specular=new _n(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _n(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Hy,this.combine=0,this.reflectivity=1,this.envMapIntensity=1,this.refractionRatio=0.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.envMapIntensity=e.envMapIntensity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}};J0e=class J0e extends ap{constructor(e){super();this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new _n(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _n(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}};j0e=class j0e extends ap{constructor(e){super();this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}};$0e=class $0e extends ap{constructor(e){super();this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new _n(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new _n(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Hy,this.combine=0,this.reflectivity=1,this.envMapIntensity=1,this.refractionRatio=0.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.envMapIntensity=e.envMapIntensity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}};lW=class lW extends ap{constructor(e){super();this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}};cW=class cW extends ap{constructor(e){super();this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}};ege=class ege extends ap{constructor(e){super();this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new _n(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this.fog=e.fog,this}};tge=class tge extends Wf{constructor(e){super();this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}};nge=class nge extends b5{constructor(e,t,n,r){super(e,t,n,r);this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:2400,endingEnd:2400}}intervalChanged_(e,t,n){let r=this.parameterPositions,o=e-2,a=e+1,i=r[o],s=r[a];if(i===void 0)switch(this.getSettings_().endingStart){case 2401:o=e,i=2*t-n;break;case 2402:o=r.length-2,i=t+r[o]-r[o+1];break;default:o=e,i=n}if(s===void 0)switch(this.getSettings_().endingEnd){case 2401:a=e,s=2*n-t;break;case 2402:a=1,s=n+r[1]-r[0];break;default:a=e-1,s=t}let l=(n-t)*0.5,c=this.valueSize;this._weightPrev=l/(t-i),this._weightNext=l/(s-n),this._offsetPrev=o*c,this._offsetNext=a*c}interpolate_(e,t,n,r){let o=this.resultBuffer,a=this.sampleValues,i=this.valueSize,s=e*i,l=s-i,c=this._offsetPrev,u=this._offsetNext,d=this._weightPrev,p=this._weightNext,f=(n-t)/(r-t),m=f*f,g=m*f,v=-d*g+2*d*m-d*f,y=(1+d)*g+(-1.5-2*d)*m+(-0.5+d)*f+1,x=(-1-p)*g+(1.5+p)*m+0.5*f,A=p*g-p*m;for(let w=0;w!==i;++w)o[w]=v*a[c+w]+y*a[l+w]+x*a[s+w]+A*a[u+w];return o}};uW=class uW extends b5{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let o=this.resultBuffer,a=this.sampleValues,i=this.valueSize,s=e*i,l=s-i,c=(n-t)/(r-t),u=1-c;for(let d=0;d!==i;++d)o[d]=a[l+d]*u+a[s+d]*c;return o}};rge=class rge extends b5{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}};oge=class oge extends b5{interpolate_(e,t,n,r){let o=this.resultBuffer,a=this.sampleValues,i=this.valueSize,s=e*i,l=s-i,c=this.inTangents,u=this.outTangents;if(!c||!u){let f=(n-t)/(r-t),m=1-f;for(let g=0;g!==i;++g)o[g]=a[l+g]*m+a[s+g]*f;return o}let d=i*2,p=e-1;for(let f=0;f!==i;++f){let m=a[l+f],g=a[s+f],v=p*d+f*2,y=u[v],x=u[v+1],A=e*d+f*2,w=c[A],C=c[A+1],E=u9r(n,t,y,w,r);o[f]=$hn(E,m,x,C,g)}return o}};F0.prototype.ValueTypeName="";F0.prototype.TimeBufferType=Float32Array;F0.prototype.ValueBufferType=Float32Array;F0.prototype.DefaultInterpolation=2301;oS=class oS extends F0{constructor(e,t,n){super(e,t,n)}};oS.prototype.ValueTypeName="bool";oS.prototype.ValueBufferType=Array;oS.prototype.DefaultInterpolation=2300;oS.prototype.InterpolantFactoryMethodLinear=void 0;oS.prototype.InterpolantFactoryMethodSmooth=void 0;dW=class dW extends F0{constructor(e,t,n,r){super(e,t,n,r)}};dW.prototype.ValueTypeName="color";KB=class KB extends F0{constructor(e,t,n,r){super(e,t,n,r)}};KB.prototype.ValueTypeName="number";age=class age extends b5{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let o=this.resultBuffer,a=this.sampleValues,i=this.valueSize,s=(n-t)/(r-t),l=e*i;for(let c=l+i;l!==c;l+=4)Vo.slerpFlat(o,0,a,l-i,a,l,s);return o}};JB=class JB extends F0{constructor(e,t,n,r){super(e,t,n,r)}InterpolantFactoryMethodLinear(e){return new age(this.times,this.values,this.getValueSize(),e)}};JB.prototype.ValueTypeName="quaternion";JB.prototype.InterpolantFactoryMethodSmooth=void 0;aS=class aS extends F0{constructor(e,t,n){super(e,t,n)}};aS.prototype.ValueTypeName="string";aS.prototype.ValueBufferType=Array;aS.prototype.DefaultInterpolation=2300;aS.prototype.InterpolantFactoryMethodLinear=void 0;aS.prototype.InterpolantFactoryMethodSmooth=void 0;pW=class pW extends F0{constructor(e,t,n,r){super(e,t,n,r)}};pW.prototype.ValueTypeName="vector";kv={enabled:!1,files:{},add:function(e,t){if(this.enabled===!1)return;if(smn(e))return;this.files[e]=t},get:function(e){if(this.enabled===!1)return;if(smn(e))return;return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};MHe=new fW;tf.DEFAULT_MATERIAL_NAME="__DEFAULT";qw={};e0n=class e0n extends Error{constructor(e,t){super(e);this.response=t}};i1=class i1 extends tf{constructor(e){super(e);this.mimeType="",this.responseType="",this._abortController=new AbortController}load(e,t,n,r){if(e===void 0)e="";if(this.path!==void 0)e=this.path+e;e=this.manager.resolveURL(e);let o=kv.get(`file:${e}`);if(o!==void 0){this.manager.itemStart(e),setTimeout(()=>{if(t)t(o);this.manager.itemEnd(e)},0);return}if(qw[e]!==void 0){qw[e].push({onLoad:t,onProgress:n,onError:r});return}qw[e]=[],qw[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin",signal:typeof AbortSignal.any==="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),i=this.mimeType,s=this.responseType;fetch(a).then((l)=>{if(l.status===200||l.status===0){if(l.status===0)zn("FileLoader: HTTP Status 0 received.");if(typeof ReadableStream>"u"||l.body===void 0||l.body.getReader===void 0)return l;let c=qw[e],u=l.body.getReader(),d=l.headers.get("X-File-Size")||l.headers.get("Content-Length"),p=d?parseInt(d):0,f=p!==0,m=0,g=new ReadableStream({start(v){y();function y(){u.read().then(({done:x,value:A})=>{if(x)v.close();else{m+=A.byteLength;let w=new ProgressEvent("progress",{lengthComputable:f,loaded:m,total:p});for(let C=0,E=c.length;C{v.error(x)})}}});return new Response(g)}else throw new e0n(`fetch for "${l.url}" responded with ${l.status}: ${l.statusText}`,l)}).then((l)=>{switch(s){case"arraybuffer":return l.arrayBuffer();case"blob":return l.blob();case"document":return l.text().then((c)=>new DOMParser().parseFromString(c,i));case"json":return l.json();default:if(i==="")return l.text();else{let u=/charset="?([^;"\s]*)"?/i.exec(i),d=u&&u[1]?u[1].toLowerCase():void 0,p=new TextDecoder(d);return l.arrayBuffer().then((f)=>p.decode(f))}}}).then((l)=>{kv.add(`file:${e}`,l);let c=qw[e];delete qw[e];for(let u=0,d=c.length;u{let c=qw[e];if(c===void 0)throw this.manager.itemError(e),l;delete qw[e];for(let u=0,d=c.length;u{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}};DHe=class DHe extends tf{constructor(e){super(e)}load(e,t,n,r){let o=this,a=new i1(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(i){try{t(o.parse(JSON.parse(i)))}catch(s){if(r)r(s);else wr(s);o.manager.itemError(e)}},n,r)}parse(e){let t=[];for(let n=0;n0){let s=new fW(t);o=new C7(s),o.setCrossOrigin(this.crossOrigin);for(let l=0,c=e.length;l0){r=new C7(this.manager),r.setCrossOrigin(this.crossOrigin);for(let a=0,i=e.length;a{let v=null,y=null;if(g.boundingBox!==void 0)v=new Il().fromJSON(g.boundingBox);if(g.boundingSphere!==void 0)y=new op().fromJSON(g.boundingSphere);return{...g,boundingBox:v,boundingSphere:y}}),a._instanceInfo=e.instanceInfo,a._availableInstanceIds=e._availableInstanceIds,a._availableGeometryIds=e._availableGeometryIds,a._nextIndexStart=e.nextIndexStart,a._nextVertexStart=e.nextVertexStart,a._geometryCount=e.geometryCount,a._maxInstanceCount=e.maxInstanceCount,a._maxVertexCount=e.maxVertexCount,a._maxIndexCount=e.maxIndexCount,a._geometryInitialized=e.geometryInitialized,a._matricesTexture=l(e.matricesTexture.uuid),a._indirectTexture=l(e.indirectTexture.uuid),e.colorsTexture!==void 0)a._colorsTexture=l(e.colorsTexture.uuid);if(e.boundingSphere!==void 0)a.boundingSphere=new op().fromJSON(e.boundingSphere);if(e.boundingBox!==void 0)a.boundingBox=new Il().fromJSON(e.boundingBox);break;case"LOD":a=new L0e;break;case"Line":a=new jx(i(e.geometry),s(e.material));break;case"LineLoop":a=new U0e(i(e.geometry),s(e.material));break;case"LineSegments":a=new Gy(i(e.geometry),s(e.material));break;case"PointCloud":case"Points":a=new N0e(i(e.geometry),s(e.material));break;case"Sprite":a=new D0e(s(e.material));break;case"Group":a=new Qw;break;case"Bone":a=new NX;break;default:a=new Go}if(a.uuid=e.uuid,e.name!==void 0)a.name=e.name;if(e.matrix!==void 0){if(a.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0)a.matrixAutoUpdate=e.matrixAutoUpdate;if(a.matrixAutoUpdate)a.matrix.decompose(a.position,a.quaternion,a.scale)}else{if(e.position!==void 0)a.position.fromArray(e.position);if(e.rotation!==void 0)a.rotation.fromArray(e.rotation);if(e.quaternion!==void 0)a.quaternion.fromArray(e.quaternion);if(e.scale!==void 0)a.scale.fromArray(e.scale)}if(e.up!==void 0)a.up.fromArray(e.up);if(e.pivot!==void 0)a.pivot=new he().fromArray(e.pivot);if(e.morphTargetDictionary!==void 0)a.morphTargetDictionary=Object.assign({},e.morphTargetDictionary);if(e.morphTargetInfluences!==void 0)a.morphTargetInfluences=e.morphTargetInfluences.slice();if(e.castShadow!==void 0)a.castShadow=e.castShadow;if(e.receiveShadow!==void 0)a.receiveShadow=e.receiveShadow;if(e.shadow){if(e.shadow.intensity!==void 0)a.shadow.intensity=e.shadow.intensity;if(e.shadow.bias!==void 0)a.shadow.bias=e.shadow.bias;if(e.shadow.normalBias!==void 0)a.shadow.normalBias=e.shadow.normalBias;if(e.shadow.radius!==void 0)a.shadow.radius=e.shadow.radius;if(e.shadow.blurSamples!==void 0)a.shadow.blurSamples=e.shadow.blurSamples;if(e.shadow.focus!==void 0)a.shadow.focus=e.shadow.focus;if(e.shadow.aspect!==void 0)a.shadow.aspect=e.shadow.aspect;if(e.shadow.mapSize!==void 0)a.shadow.mapSize.fromArray(e.shadow.mapSize);if(e.shadow.camera!==void 0)a.shadow.camera=this.parseObject(e.shadow.camera)}if(e.visible!==void 0)a.visible=e.visible;if(e.frustumCulled!==void 0)a.frustumCulled=e.frustumCulled;if(e.renderOrder!==void 0)a.renderOrder=e.renderOrder;if(e.static!==void 0)a.static=e.static;if(e.userData!==void 0)a.userData=e.userData;if(e.layers!==void 0)a.layers.mask=e.layers;if(e.children!==void 0){let d=e.children;for(let p=0;p"u")zn("ImageBitmapLoader: createImageBitmap() not supported.");if(typeof fetch>"u")zn("ImageBitmapLoader: fetch() not supported.");this.options={premultiplyAlpha:"none"},this._abortController=new AbortController}setOptions(e){return this.options=e,this}load(e,t,n,r){if(e===void 0)e="";if(this.path!==void 0)e=this.path+e;e=this.manager.resolveURL(e);let o=this,a=kv.get(`image-bitmap:${e}`);if(a!==void 0){if(o.manager.itemStart(e),a.then){a.then((l)=>{if(d_e.has(a)===!0){if(r)r(d_e.get(a));o.manager.itemError(e),o.manager.itemEnd(e)}else{if(t)t(l);o.manager.itemEnd(e)}});return}setTimeout(function(){if(t)t(a);o.manager.itemEnd(e)},0);return}let i={};i.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",i.headers=this.requestHeader,i.signal=typeof AbortSignal.any==="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal;let s=fetch(e,i).then(function(l){return l.blob()}).then(function(l){return createImageBitmap(l,Object.assign({},o.options,{colorSpaceConversion:"none"}))}).then(function(l){if(kv.add(`image-bitmap:${e}`,l),t)t(l);return o.manager.itemEnd(e),l}).catch(function(l){if(r)r(l);d_e.set(s,l),kv.remove(`image-bitmap:${e}`),o.manager.itemError(e),o.manager.itemEnd(e)});kv.add(`image-bitmap:${e}`,s),o.manager.itemStart(e)}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}};zHe=class zHe extends tf{constructor(e){super(e)}load(e,t,n,r){let o=this,a=new i1(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(s){try{let l=s.slice(0),c=gW.getContext(),u=e+"#decode";o.manager.itemStart(u),c.decodeAudioData(l,function(d){t(d),o.manager.itemEnd(u)}).catch(function(d){i(d),o.manager.itemEnd(u)})}catch(l){i(l)}},n,r);function i(s){if(r)r(s);else wr(s);o.manager.itemError(e)}}};hmn=new Vn,gmn=new Vn,f7=new Vn;mge=class mge extends Go{constructor(e,t,n){super();this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;let r=new Kl(IB,TB,e,t);r.layers=this.layers,this.add(r);let o=new Kl(IB,TB,e,t);o.layers=this.layers,this.add(o);let a=new Kl(IB,TB,e,t);a.layers=this.layers,this.add(a);let i=new Kl(IB,TB,e,t);i.layers=this.layers,this.add(i);let s=new Kl(IB,TB,e,t);s.layers=this.layers,this.add(s);let l=new Kl(IB,TB,e,t);l.layers=this.layers,this.add(l)}updateCoordinateSystem(){let e=this.coordinateSystem,t=this.children.concat(),[n,r,o,a,i,s]=t;for(let l of t)this.remove(l);if(e===2000)n.up.set(0,1,0),n.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),o.up.set(0,0,-1),o.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),i.up.set(0,1,0),i.lookAt(0,0,1),s.up.set(0,1,0),s.lookAt(0,0,-1);else if(e===2001)n.up.set(0,-1,0),n.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),o.up.set(0,0,1),o.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),i.up.set(0,-1,0),i.lookAt(0,0,1),s.up.set(0,-1,0),s.lookAt(0,0,-1);else throw Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(let l of t)this.add(l),l.updateMatrixWorld()}update(e,t){if(this.parent===null)this.updateMatrixWorld();let{renderTarget:n,activeMipmapLevel:r}=this;if(this.coordinateSystem!==e.coordinateSystem)this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem();let[o,a,i,s,l,c]=this.children,u=e.getRenderTarget(),d=e.getActiveCubeFace(),p=e.getActiveMipmapLevel(),f=e.xr.enabled;e.xr.enabled=!1;let m=n.texture.generateMipmaps;n.texture.generateMipmaps=!1;let g=!1;if(e.isWebGLRenderer===!0)g=e.state.buffers.depth.getReversed();else g=e.reversedDepthBuffer;if(e.setRenderTarget(n,0,r),g&&e.autoClear===!1)e.clearDepth();if(e.render(t,o),e.setRenderTarget(n,1,r),g&&e.autoClear===!1)e.clearDepth();if(e.render(t,a),e.setRenderTarget(n,2,r),g&&e.autoClear===!1)e.clearDepth();if(e.render(t,i),e.setRenderTarget(n,3,r),g&&e.autoClear===!1)e.clearDepth();if(e.render(t,s),e.setRenderTarget(n,4,r),g&&e.autoClear===!1)e.clearDepth();if(e.render(t,l),n.texture.generateMipmaps=m,e.setRenderTarget(n,5,r),g&&e.autoClear===!1)e.clearDepth();e.render(t,c),e.setRenderTarget(u,d,p),e.xr.enabled=f,n.texture.needsPMREMUpdate=!0}};hge=class hge extends Kl{constructor(e=[]){super();this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}};m7=new he,p_e=new Vo,h9r=new he,h7=new he,g7=new he;HHe=class HHe extends Go{constructor(){super();this.type="AudioListener",this.context=gW.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._timer=new gge}getInput(){return this.gain}removeFilter(){if(this.filter!==null)this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null;return this}getFilter(){return this.filter}setFilter(e){if(this.filter!==null)this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination);else this.gain.disconnect(this.context.destination);return this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,0.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e),this._timer.update();let t=this.context.listener;if(this.timeDelta=this._timer.getDelta(),this.matrixWorld.decompose(m7,p_e,h9r),h7.set(0,0,-1).applyQuaternion(p_e),g7.set(0,1,0).applyQuaternion(p_e),t.positionX){let n=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(m7.x,n),t.positionY.linearRampToValueAtTime(m7.y,n),t.positionZ.linearRampToValueAtTime(m7.z,n),t.forwardX.linearRampToValueAtTime(h7.x,n),t.forwardY.linearRampToValueAtTime(h7.y,n),t.forwardZ.linearRampToValueAtTime(h7.z,n),t.upX.linearRampToValueAtTime(g7.x,n),t.upY.linearRampToValueAtTime(g7.y,n),t.upZ.linearRampToValueAtTime(g7.z,n)}else t.setPosition(m7.x,m7.y,m7.z),t.setOrientation(h7.x,h7.y,h7.z,g7.x,g7.y,g7.z)}};yge=class yge extends Go{constructor(e){super();this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){if(this.buffer=e,this.sourceType="buffer",this.autoplay)this.play();return this}play(e=0){if(this.isPlaying===!0){zn("Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){zn("Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;let t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){zn("Audio: this Audio has no playback control.");return}if(this.isPlaying===!0){if(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0)this._progress=this._progress%(this.duration||this.buffer.duration);this.source.stop(),this.source.onended=null,this.isPlaying=!1}return this}stop(e=0){if(this.hasPlaybackControl===!1){zn("Audio: this Audio has no playback control.");return}if(this._progress=0,this.source!==null)this.source.stop(this.context.currentTime+e),this.source.onended=null;return this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;let t=this._actions,n=this._nActiveActions,r=this.time+=e,o=Math.sign(e),a=this._accuIndex^=1;for(let l=0;l!==n;++l)t[l]._update(r,e,o,a);let i=this._bindings,s=this._nActiveBindings;for(let l=0;l!==s;++l)i[l].apply(a);return this}setTime(e){this.time=0;for(let t=0;t1)for(let u=0;u0.99999)this.quaternion.set(0,0,0,1);else if(e.y<-0.99999)this.quaternion.set(1,0,0,0);else{Tmn.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Tmn,t)}}setLength(e,t=e*0.2,n=t*0.2){this.line.scale.set(1,Math.max(0.0001,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){super.dispose(),this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}};pVe=class pVe extends Gy{constructor(e=1){let t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,0.6,0,0,1,0,0.6,1,0,0,0,1,0,0.6,1],r=new Jr;r.setAttribute("position",new Jn(t,3)),r.setAttribute("color",new Jn(n,3));let o=new Wf({vertexColors:!0,toneMapped:!1});super(r,o);this.type="AxesHelper"}setColors(e,t,n){let r=new _n,o=this.geometry.attributes.color.array;return r.set(e),r.toArray(o,0),r.toArray(o,3),r.set(t),r.toArray(o,6),r.toArray(o,9),r.set(n),r.toArray(o,12),r.toArray(o,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){super.dispose(),this.geometry.dispose(),this.material.dispose()}};bW=class bW extends Lh{constructor(e,t=null){super();this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(e){if(this.domElement!==null)this.disconnect();this.domElement=e}disconnect(){}dispose(){}update(){}};if(typeof __THREE_DEVTOOLS__<"u")__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"186"}}));if(typeof window<"u")if(window.__THREE__)zn("WARNING: Multiple instances of Three.js being imported.");else window.__THREE__="186"});var CW={};Xs(CW,{ACESFilmicToneMapping:()=>UB,AddEquation:()=>I7,AddOperation:()=>K_e,AdditiveAnimationBlendMode:()=>Ymn,AdditiveBlending:()=>Fhe,AgXToneMapping:()=>qhe,AlphaFormat:()=>oHe,AlwaysCompare:()=>fHe,AlwaysDepth:()=>V_e,AlwaysStencilFunc:()=>Ahn,AmbientLight:()=>uge,AnimationAction:()=>bge,AnimationClip:()=>S7,AnimationLoader:()=>DHe,AnimationMixer:()=>XHe,AnimationObjectGroup:()=>QHe,AnimationUtils:()=>PHe,ArcCurve:()=>V0e,ArrayCamera:()=>hge,ArrowHelper:()=>dVe,AttachedBindMode:()=>Pmn,Audio:()=>yge,AudioAnalyser:()=>GHe,AudioContext:()=>gW,AudioListener:()=>HHe,AudioLoader:()=>zHe,AxesHelper:()=>pVe,BackSide:()=>Rh,BasicDepthPacking:()=>$mn,BasicShadowMap:()=>Ohe,BatchedMesh:()=>F0e,BezierInterpolant:()=>oge,Bone:()=>NX,BooleanKeyframeTrack:()=>oS,Box2:()=>wge,Box3:()=>Il,Box3Helper:()=>cVe,BoxGeometry:()=>rA,BoxHelper:()=>lVe,BufferAttribute:()=>si,BufferGeometry:()=>Jr,BufferGeometryLoader:()=>fge,ByteType:()=>eHe,Cache:()=>kv,Camera:()=>$B,CameraHelper:()=>sVe,CanvasTexture:()=>EHe,CapsuleGeometry:()=>GX,CatmullRomCurve3:()=>G0e,CineonToneMapping:()=>Vhe,CircleGeometry:()=>qX,ClampToEdgeWrapping:()=>xX,Clock:()=>vW,Color:()=>_n,ColorKeyframeTrack:()=>dW,ColorManagement:()=>jo,Compatibility:()=>Ohn,CompressedArrayTexture:()=>SHe,CompressedCubeTexture:()=>CHe,CompressedTexture:()=>XB,CompressedTextureLoader:()=>LHe,ConeGeometry:()=>v5,ConstantAlphaFactor:()=>z_e,ConstantColorFactor:()=>U_e,Controls:()=>bW,CubeCamera:()=>mge,CubeDepthTexture:()=>_0e,CubeReflectionMapping:()=>T7,CubeRefractionMapping:()=>d5,CubeTexture:()=>M7,CubeTextureLoader:()=>BHe,CubeUVReflectionMapping:()=>NB,CubicBezierCurve:()=>QX,CubicBezierCurve3:()=>q0e,CubicInterpolant:()=>nge,CullFaceBack:()=>Bhe,CullFaceFront:()=>S_e,CullFaceFrontBack:()=>kmn,CullFaceNone:()=>w_e,Curve:()=>l1,CurvePath:()=>Q0e,CustomBlending:()=>yX,CustomToneMapping:()=>Ghe,CylinderGeometry:()=>tS,Cylindrical:()=>jHe,Data3DTexture:()=>qB,DataArrayTexture:()=>GB,DataTexture:()=>jl,DataTextureLoader:()=>OHe,DataUtils:()=>eS,DecrementStencilOp:()=>uhn,DecrementWrapStencilOp:()=>phn,DefaultLoadingManager:()=>MHe,DepthFormat:()=>eA,DepthStencilFormat:()=>f5,DepthTexture:()=>nA,DetachedBindMode:()=>Mmn,DirectionalLight:()=>cge,DirectionalLightHelper:()=>iVe,DiscreteInterpolant:()=>rge,DodecahedronGeometry:()=>ZX,DoubleSide:()=>Ph,DstAlphaFactor:()=>D_e,DstColorFactor:()=>B_e,DynamicCopyUsage:()=>khn,DynamicDrawUsage:()=>k0e,DynamicReadUsage:()=>Ehn,EdgesGeometry:()=>H0e,EllipseCurve:()=>WB,EqualCompare:()=>uHe,EqualDepth:()=>q_e,EqualStencilFunc:()=>ghn,EquirectangularReflectionMapping:()=>vX,EquirectangularRefractionMapping:()=>bX,Euler:()=>Hy,EventDispatcher:()=>Lh,ExternalTexture:()=>VX,ExtrudeGeometry:()=>JX,FileLoader:()=>i1,Float16BufferAttribute:()=>xHe,Float32BufferAttribute:()=>Jn,FloatType:()=>s1,Fog:()=>DX,FogExp2:()=>MX,FramebufferTexture:()=>wHe,FrontSide:()=>$x,Frustum:()=>Ww,FrustumArray:()=>_X,GLBufferAttribute:()=>JHe,GLSL1:()=>Phn,GLSL3:()=>R0e,GreaterCompare:()=>dHe,GreaterDepth:()=>Q_e,GreaterEqualCompare:()=>RX,GreaterEqualDepth:()=>Z_e,GreaterEqualStencilFunc:()=>xhn,GreaterStencilFunc:()=>vhn,GridHelper:()=>oVe,Group:()=>Qw,HTMLTexture:()=>IHe,HalfFloatType:()=>O0,HemisphereLight:()=>ige,HemisphereLightHelper:()=>rVe,IcosahedronGeometry:()=>jX,ImageBitmapLoader:()=>NHe,ImageLoader:()=>C7,ImageUtils:()=>M0e,IncrementStencilOp:()=>chn,IncrementWrapStencilOp:()=>dhn,InstancedBufferAttribute:()=>Jx,InstancedBufferGeometry:()=>eO,InstancedInterleavedBuffer:()=>KHe,InstancedMesh:()=>O0e,Int16BufferAttribute:()=>OX,Int32BufferAttribute:()=>FX,Int8BufferAttribute:()=>LX,IntType:()=>Qhe,InterleavedBuffer:()=>QB,InterleavedBufferAttribute:()=>c5,Interpolant:()=>b5,InterpolateBezier:()=>qmn,InterpolateDiscrete:()=>Hmn,InterpolateLinear:()=>Vmn,InterpolateSmooth:()=>Gmn,InterpolationSamplingMode:()=>Bhn,InterpolationSamplingType:()=>Lhn,InvertStencilOp:()=>fhn,KeepStencilOp:()=>shn,KeyframeTrack:()=>F0,LOD:()=>L0e,LatheGeometry:()=>$X,Layers:()=>$w,LessCompare:()=>cHe,LessDepth:()=>G_e,LessEqualCompare:()=>kX,LessEqualDepth:()=>zhe,LessEqualStencilFunc:()=>yhn,LessStencilFunc:()=>hhn,Light:()=>aA,LightProbe:()=>pge,LightShadow:()=>jB,Line:()=>jx,Line3:()=>$He,LineBasicMaterial:()=>Wf,LineCurve:()=>XX,LineCurve3:()=>Z0e,LineDashedMaterial:()=>tge,LineLoop:()=>U0e,LineSegments:()=>Gy,LinearFilter:()=>Mh,LinearInterpolant:()=>uW,LinearMipMapLinearFilter:()=>Fmn,LinearMipMapNearestFilter:()=>Omn,LinearMipmapLinearFilter:()=>p5,LinearMipmapNearestFilter:()=>AX,LinearSRGBColorSpace:()=>VB,LinearToneMapping:()=>_he,LinearTransfer:()=>T0e,Loader:()=>tf,LoaderUtils:()=>gX,LoadingManager:()=>fW,LoopOnce:()=>Nmn,LoopPingPong:()=>_mn,LoopRepeat:()=>zmn,MOUSE:()=>Bm,Material:()=>ap,MaterialBlending:()=>Rmn,MaterialLoader:()=>hW,MathUtils:()=>g5,Matrix2:()=>Age,Matrix3:()=>Ur,Matrix4:()=>Vn,MaxEquation:()=>T_e,Mesh:()=>Na,MeshBasicMaterial:()=>Um,MeshDepthMaterial:()=>lW,MeshDistanceMaterial:()=>cW,MeshLambertMaterial:()=>$0e,MeshMatcapMaterial:()=>ege,MeshNormalMaterial:()=>j0e,MeshPhongMaterial:()=>K0e,MeshPhysicalMaterial:()=>Y0e,MeshStandardMaterial:()=>sW,MeshToonMaterial:()=>J0e,MinEquation:()=>I_e,MirroredRepeatWrapping:()=>j_e,MixOperation:()=>Y_e,MultiplyBlending:()=>Nhe,MultiplyOperation:()=>W_e,NearestFilter:()=>Jw,NearestMipMapLinearFilter:()=>Bmn,NearestMipMapNearestFilter:()=>Lmn,NearestMipmapLinearFilter:()=>zB,NearestMipmapNearestFilter:()=>$_e,NeutralToneMapping:()=>Zhe,NeverCompare:()=>lHe,NeverDepth:()=>H_e,NeverStencilFunc:()=>mhn,NoBlending:()=>Rv,NoColorSpace:()=>h5,NoNormalPacking:()=>rhn,NoToneMapping:()=>B0,NormalAnimationBlendMode:()=>Wmn,NormalBlending:()=>Kw,NormalGAPacking:()=>ahn,NormalRGPacking:()=>ohn,NotEqualCompare:()=>pHe,NotEqualDepth:()=>X_e,NotEqualStencilFunc:()=>bhn,NumberKeyframeTrack:()=>KB,Object3D:()=>Go,ObjectLoader:()=>UHe,ObjectSpaceNormalMap:()=>sHe,OctahedronGeometry:()=>YB,OneFactor:()=>R_e,OneMinusConstantAlphaFactor:()=>__e,OneMinusConstantColorFactor:()=>N_e,OneMinusDstAlphaFactor:()=>L_e,OneMinusDstColorFactor:()=>O_e,OneMinusSrcAlphaFactor:()=>FB,OneMinusSrcColorFactor:()=>M_e,OrthographicCamera:()=>qy,PCFShadowMap:()=>u5,PCFSoftShadowMap:()=>E7,PMREMGenerator:()=>Ige,Path:()=>A7,PerspectiveCamera:()=>Kl,Plane:()=>Ih,PlaneGeometry:()=>oA,PlaneHelper:()=>uVe,PointLight:()=>lge,PointLightHelper:()=>nVe,Points:()=>N0e,PointsMaterial:()=>HX,PolarGridHelper:()=>aVe,PolyhedronGeometry:()=>nS,PositionalAudio:()=>VHe,PropertyBinding:()=>Ka,PropertyMixer:()=>vge,QuadraticBezierCurve:()=>WX,QuadraticBezierCurve3:()=>YX,Quaternion:()=>Vo,QuaternionKeyframeTrack:()=>JB,QuaternionLinearInterpolant:()=>age,R11_EAC_Format:()=>r0e,RED_GREEN_RGTC2_Format:()=>TX,RED_RGTC1_Format:()=>S0e,REVISION:()=>A_e,RG11_EAC_Format:()=>IX,RGBADepthPacking:()=>ehn,RGBAFormat:()=>$p,RGBAIntegerFormat:()=>m5,RGBA_ASTC_10x10_Format:()=>y0e,RGBA_ASTC_10x5_Format:()=>m0e,RGBA_ASTC_10x6_Format:()=>h0e,RGBA_ASTC_10x8_Format:()=>g0e,RGBA_ASTC_12x10_Format:()=>v0e,RGBA_ASTC_12x12_Format:()=>b0e,RGBA_ASTC_4x4_Format:()=>i0e,RGBA_ASTC_5x4_Format:()=>s0e,RGBA_ASTC_5x5_Format:()=>l0e,RGBA_ASTC_6x5_Format:()=>c0e,RGBA_ASTC_6x6_Format:()=>u0e,RGBA_ASTC_8x5_Format:()=>d0e,RGBA_ASTC_8x6_Format:()=>p0e,RGBA_ASTC_8x8_Format:()=>f0e,RGBA_BPTC_Format:()=>x0e,RGBA_ETC2_EAC_Format:()=>n0e,RGBA_PVRTC_2BPPV1_Format:()=>$he,RGBA_PVRTC_4BPPV1_Format:()=>jhe,RGBA_S3TC_DXT1_Format:()=>SX,RGBA_S3TC_DXT3_Format:()=>CX,RGBA_S3TC_DXT5_Format:()=>EX,RGBDepthPacking:()=>thn,RGBFormat:()=>aHe,RGBIntegerFormat:()=>Umn,RGB_BPTC_SIGNED_Format:()=>A0e,RGB_BPTC_UNSIGNED_Format:()=>w0e,RGB_ETC1_Format:()=>e0e,RGB_ETC2_Format:()=>t0e,RGB_PVRTC_2BPPV1_Format:()=>Jhe,RGB_PVRTC_4BPPV1_Format:()=>Khe,RGB_S3TC_DXT1_Format:()=>wX,RGDepthPacking:()=>nhn,RGFormat:()=>tA,RGIntegerFormat:()=>Yhe,RawShaderMaterial:()=>iW,Ray:()=>Vy,Raycaster:()=>yW,RectAreaLight:()=>dge,RedFormat:()=>iHe,RedIntegerFormat:()=>HB,ReinhardToneMapping:()=>Hhe,RenderObjectRefreshType:()=>Fhn,RenderTarget:()=>PX,RenderTarget3D:()=>WHe,RepeatWrapping:()=>J_e,ReplaceStencilOp:()=>lhn,ReverseSubtractEquation:()=>E_e,RingGeometry:()=>eW,SIGNED_R11_EAC_Format:()=>o0e,SIGNED_RED_GREEN_RGTC2_Format:()=>E0e,SIGNED_RED_RGTC1_Format:()=>C0e,SIGNED_RG11_EAC_Format:()=>a0e,SRGBColorSpace:()=>jw,SRGBTransfer:()=>cs,Scene:()=>y5,ShaderChunk:()=>qo,ShaderLib:()=>Pv,ShaderMaterial:()=>Ac,ShadowMaterial:()=>W0e,Shape:()=>D7,ShapeGeometry:()=>tW,ShapePath:()=>fVe,ShapeUtils:()=>_y,ShortType:()=>tHe,Skeleton:()=>zX,SkeletonHelper:()=>tVe,SkinnedMesh:()=>B0e,Source:()=>gHe,Sphere:()=>op,SphereGeometry:()=>rS,Spherical:()=>iS,SphericalHarmonics3:()=>mW,SplineCurve:()=>KX,SpotLight:()=>sge,SpotLightHelper:()=>eVe,Sprite:()=>D0e,SpriteMaterial:()=>UX,SrcAlphaFactor:()=>OB,SrcAlphaSaturateFactor:()=>F_e,SrcColorFactor:()=>P_e,StaticCopyUsage:()=>Thn,StaticDrawUsage:()=>whn,StaticReadUsage:()=>Chn,StereoCamera:()=>_He,StreamCopyUsage:()=>Rhn,StreamDrawUsage:()=>Shn,StreamReadUsage:()=>Ihn,StringKeyframeTrack:()=>aS,SubtractEquation:()=>C_e,SubtractiveBlending:()=>Uhe,TOUCH:()=>Om,TangentSpaceNormalMap:()=>I0e,TetrahedronGeometry:()=>nW,Texture:()=>El,TextureLoader:()=>FHe,TextureSource:()=>Tv,TextureUtils:()=>mVe,Timer:()=>gge,TimestampQuery:()=>Dhn,TorusGeometry:()=>rW,TorusKnotGeometry:()=>oW,Triangle:()=>kh,TriangleFanDrawMode:()=>jmn,TriangleStripDrawMode:()=>Jmn,TrianglesDrawMode:()=>Kmn,TubeGeometry:()=>aW,UVMapping:()=>Dmn,Uint16BufferAttribute:()=>R7,Uint32BufferAttribute:()=>P7,Uint8BufferAttribute:()=>BX,Uint8ClampedBufferAttribute:()=>bHe,Uniform:()=>xge,UniformsGroup:()=>YHe,UniformsLib:()=>Gn,UniformsUtils:()=>RHe,UnsignedByteType:()=>Fm,UnsignedInt101111Type:()=>rHe,UnsignedInt248Type:()=>k7,UnsignedInt5999Type:()=>nHe,UnsignedIntType:()=>Dh,UnsignedShort4444Type:()=>Xhe,UnsignedShort5551Type:()=>Whe,UnsignedShortType:()=>_B,VSMShadowMap:()=>Yw,Vector2:()=>vt,Vector3:()=>he,Vector4:()=>Ja,VectorKeyframeTrack:()=>pW,VideoFrameTexture:()=>AHe,VideoTexture:()=>z0e,WebGL3DRenderTarget:()=>vHe,WebGLArrayRenderTarget:()=>yHe,WebGLCoordinateSystem:()=>P0e,WebGLCubeRenderTarget:()=>kge,WebGLRenderTarget:()=>ef,WebGLRenderer:()=>oO,WebGLUtils:()=>Pge,WebGPUCoordinateSystem:()=>Mhn,WebXRController:()=>ZB,WireframeGeometry:()=>X0e,WrapAroundEnding:()=>Xmn,ZeroCurvatureEnding:()=>Zmn,ZeroFactor:()=>k_e,ZeroSlopeEnding:()=>Qmn,ZeroStencilOp:()=>ihn,createCanvasElement:()=>mHe,error:()=>wr,getConsoleFunction:()=>zhn,log:()=>LB,setConsoleFunction:()=>Nhn,warn:()=>zn,warnOnce:()=>Kx});function T0n(){let e=null,t=!1,n=null,r=null;function o(a,i){r=e.requestAnimationFrame(o),n(a,i)}return{start:function(){if(t===!0)return;if(n===null)return;if(e===null)return;r=e.requestAnimationFrame(o),t=!0},stop:function(){if(e!==null)e.cancelAnimationFrame(r);t=!1},setAnimationLoop:function(a){n=a},setContext:function(a){e=a}}}function B9r(e){let t=new WeakMap;function n(s,l){let{array:c,usage:u}=s,d=c.byteLength,p=e.createBuffer();e.bindBuffer(l,p),e.bufferData(l,c,u),s.onUploadCallback();let f;if(c instanceof Float32Array)f=e.FLOAT;else if(typeof Float16Array<"u"&&c instanceof Float16Array)f=e.HALF_FLOAT;else if(c instanceof Uint16Array)if(s.isFloat16BufferAttribute)f=e.HALF_FLOAT;else f=e.UNSIGNED_SHORT;else if(c instanceof Int16Array)f=e.SHORT;else if(c instanceof Uint32Array)f=e.UNSIGNED_INT;else if(c instanceof Int32Array)f=e.INT;else if(c instanceof Int8Array)f=e.BYTE;else if(c instanceof Uint8Array)f=e.UNSIGNED_BYTE;else if(c instanceof Uint8ClampedArray)f=e.UNSIGNED_BYTE;else throw Error("THREE.WebGLAttributes: Unsupported buffer data format: "+c);return{buffer:p,type:f,bytesPerElement:c.BYTES_PER_ELEMENT,version:s.version,size:d}}function r(s,l,c){let{array:u,updateRanges:d}=l;if(e.bindBuffer(c,s),d.length===0)e.bufferSubData(c,0,u);else{d.sort((f,m)=>f.start-m.start);let p=0;for(let f=1;f0;A=t.get(A,w)}return A}function m(x){let A=!1,w=f(x);if(w===null)v(i,s);else if(w&&w.isColor)v(w,1),A=!0;let C=e.xr.getEnvironmentBlendMode();if(C==="additive")n.buffers.color.setClear(0,0,0,1,a);else if(C==="alpha-blend")n.buffers.color.setClear(0,0,0,0,a);if(e.autoClear||A)n.buffers.depth.setTest(!0),n.buffers.depth.setMask(!0),n.buffers.color.setMask(!0),e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil)}function g(x,A){let w=f(A);if(w&&(w.isCubeTexture||w.mapping===NB)){if(c===void 0)c=new Na(new rA(1,1,1),new Ac({name:"BackgroundCubeMaterial",uniforms:L7(Pv.backgroundCube.uniforms),vertexShader:Pv.backgroundCube.vertexShader,fragmentShader:Pv.backgroundCube.fragmentShader,side:Rh,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(C,E,T){this.matrixWorld.copyPosition(T.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(c);if(c.material.uniforms.envMap.value=w,c.material.uniforms.backgroundBlurriness.value=A.backgroundBlurriness,c.material.uniforms.backgroundIntensity.value=A.backgroundIntensity,c.material.uniforms.backgroundRotation.value.setFromMatrix4(hLr.makeRotationFromEuler(A.backgroundRotation)).transpose(),w.isCubeTexture&&w.isRenderTargetTexture===!1)c.material.uniforms.backgroundRotation.value.premultiply(k0n);if(c.material.toneMapped=jo.getTransfer(w.colorSpace)!==cs,u!==w||d!==w.version||p!==e.toneMapping)c.material.needsUpdate=!0,u=w,d=w.version,p=e.toneMapping;c.layers.enableAll(),x.unshift(c,c.geometry,c.material,0,0,null)}else if(w&&w.isTexture){if(l===void 0)l=new Na(new oA(2,2),new Ac({name:"BackgroundMaterial",uniforms:L7(Pv.background.uniforms),vertexShader:Pv.background.vertexShader,fragmentShader:Pv.background.fragmentShader,side:$x,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),l.geometry.deleteAttribute("normal"),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(l);if(l.material.uniforms.t2D.value=w,l.material.uniforms.backgroundIntensity.value=A.backgroundIntensity,l.material.toneMapped=jo.getTransfer(w.colorSpace)!==cs,w.matrixAutoUpdate===!0)w.updateMatrix();if(l.material.uniforms.uvTransform.value.copy(w.matrix),u!==w||d!==w.version||p!==e.toneMapping)l.material.needsUpdate=!0,u=w,d=w.version,p=e.toneMapping;l.layers.enableAll(),x.unshift(l,l.geometry,l.material,0,0,null)}}function v(x,A){x.getRGB(Cge,kHe(e)),n.buffers.color.setClear(Cge.r,Cge.g,Cge.b,A,a)}function y(){if(c!==void 0)c.geometry.dispose(),c.material.dispose(),c=void 0;if(l!==void 0)l.geometry.dispose(),l.material.dispose(),l=void 0}return{getClearColor:function(){return i},setClearColor:function(x,A=1){i.set(x),s=A,v(i,s)},getClearAlpha:function(){return s},setClearAlpha:function(x){s=x,v(i,s)},render:m,addToRenderList:g,dispose:y}}function yLr(e,t){let n=e.getParameter(e.MAX_VERTEX_ATTRIBS),r={},o=p(null),a=o,i=!1;function s(O,B,U,D,N){let _=!1,G=d(O,D,U,B);if(a!==G)a=G,c(a.object);if(_=f(O,D,U,N),_)m(O,D,U,N);if(N!==null)t.update(N,e.ELEMENT_ARRAY_BUFFER);if(_||i){if(i=!1,w(O,B,U,D),N!==null)e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.get(N).buffer)}}function l(){return e.createVertexArray()}function c(O){return e.bindVertexArray(O)}function u(O){return e.deleteVertexArray(O)}function d(O,B,U,D){let N=D.wireframe===!0,_=r[B.id];if(_===void 0)_={},r[B.id]=_;let G=O.isInstancedMesh===!0?O.id:0,Z=_[G];if(Z===void 0)Z={},_[G]=Z;let q=Z[U.id];if(q===void 0)q={},Z[U.id]=q;let H=q[N];if(H===void 0)H=p(l()),q[N]=H;return H}function p(O){let B=[],U=[],D=[];for(let N=0;N=0){let te=N[q],ie=_[q];if(ie===void 0){if(q==="instanceMatrix"&&O.instanceMatrix)ie=O.instanceMatrix;if(q==="instanceColor"&&O.instanceColor)ie=O.instanceColor}if(te===void 0)return!0;if(te.attribute!==ie)return!0;if(ie&&te.data!==ie.data)return!0;G++}if(a.attributesNum!==G)return!0;if(a.index!==D)return!0;return!1}function m(O,B,U,D){let N={},_=B.attributes,G=0,Z=U.getAttributes();for(let q in Z)if(Z[q].location>=0){let te=_[q];if(te===void 0){if(q==="instanceMatrix"&&O.instanceMatrix)te=O.instanceMatrix;if(q==="instanceColor"&&O.instanceColor)te=O.instanceColor}let ie={};if(ie.attribute=te,te&&te.data)ie.data=te.data;N[q]=ie,G++}a.attributes=N,a.attributesNum=G,a.index=D}function g(){let O=a.newAttributes;for(let B=0,U=O.length;B=0){let H=N[Z];if(H===void 0){if(Z==="instanceMatrix"&&O.instanceMatrix)H=O.instanceMatrix;if(Z==="instanceColor"&&O.instanceColor)H=O.instanceColor}if(H!==void 0){let te=H.normalized,ie=H.itemSize,j=t.get(H);if(j===void 0)continue;let{buffer:oe,type:J,bytesPerElement:Y}=j,ae=J===e.INT||J===e.UNSIGNED_INT||H.gpuType===Qhe;if(H.isInterleavedBufferAttribute){let ne=H.data,Se=ne.stride,fe=H.offset;if(ne.isInstancedInterleavedBuffer){for(let Ae=0;Ae0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return"highp";T="mediump"}if(T==="mediump"){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0)return"mediump"}return"lowp"}let c=n.precision!==void 0?n.precision:"highp",u=l(c);if(u!==c)zn("WebGLRenderer:",c,"not supported, using",u,"instead."),c=u;let d=n.logarithmicDepthBuffer===!0,p=n.reversedDepthBuffer===!0&&t.has("EXT_clip_control");if(n.reversedDepthBuffer===!0&&p===!1)zn("WebGLRenderer: Unable to use reversed depth buffer due to missing EXT_clip_control extension. Fallback to default depth buffer.");let f=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),m=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),g=e.getParameter(e.MAX_TEXTURE_SIZE),v=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),y=e.getParameter(e.MAX_VERTEX_ATTRIBS),x=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),A=e.getParameter(e.MAX_VARYING_VECTORS),w=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),C=e.getParameter(e.MAX_SAMPLES),E=e.getParameter(e.SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:a,getMaxPrecision:l,textureFormatReadable:i,textureTypeReadable:s,precision:c,logarithmicDepthBuffer:d,reversedDepthBuffer:p,maxTextures:f,maxVertexTextures:m,maxTextureSize:g,maxCubemapSize:v,maxAttributes:y,maxVertexUniforms:x,maxVaryings:A,maxFragmentUniforms:w,maxSamples:C,samples:E}}function xLr(e){let t=this,n=null,r=0,o=!1,a=!1,i=new Ih,s=new Ur,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,p){let f=d.length!==0||p||r!==0||o;return o=p,r=d.length,f},this.beginShadows=function(){a=!0,u(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(d,p){n=u(d,p,0)},this.setState=function(d,p,f){let{clippingPlanes:m,clipIntersection:g,clipShadows:v}=d,y=e.get(d);if(!o||m===null||m.length===0||a&&!v)if(a)u(null);else c();else{let x=a?0:r,A=x*4,w=y.clippingState||null;l.value=w,w=u(m,p,A,f);for(let C=0;C!==A;++C)w[C]=n[C];y.clippingState=w,this.numIntersection=g?this.numPlanes:0,this.numPlanes+=x}};function c(){if(l.value!==n)l.value=n,l.needsUpdate=r>0;t.numPlanes=r,t.numIntersection=0}function u(d,p,f,m){let g=d!==null?d.length:0,v=null;if(g!==0){if(v=l.value,m!==!0||v===null){let y=f+g*4,x=p.matrixWorldInverse;if(s.getNormalMatrix(x),v===null||v.length0)this._blur(s,0,0,t);return this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){if(this._cubemapMaterial===null)this._cubemapMaterial=c0n(),this._compileMaterial(this._cubemapMaterial)}compileEquirectangularShader(){if(this._equirectMaterial===null)this._equirectMaterial=l0n(),this._compileMaterial(this._equirectMaterial)}dispose(){if(this._dispose(),this._cubemapMaterial!==null)this._cubemapMaterial.dispose();if(this._equirectMaterial!==null)this._equirectMaterial.dispose();if(this._backgroundBox!==null)this._backgroundBox.geometry.dispose(),this._backgroundBox.material.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){if(this._blurMaterial!==null)this._blurMaterial.dispose();if(this._ggxMaterial!==null)this._ggxMaterial.dispose();if(this._pingPongRenderTarget!==null)this._pingPongRenderTarget.dispose();for(let e=0;e2?w:0,w,w),u.setRenderTarget(r),v)u.render(m,s);u.render(e,s)}u.toneMapping=p,u.autoClear=d,e.background=y}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===T7||e.mapping===d5;if(r){if(this._cubemapMaterial===null)this._cubemapMaterial=c0n();this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1}else if(this._equirectMaterial===null)this._equirectMaterial=l0n();let o=r?this._cubemapMaterial:this._equirectMaterial,a=this._lodMeshes[0];a.material=o;let i=o.uniforms;i.envMap.value=e;let s=this._cubeSize;tO(t,0,0,3*s,2*s),n.setRenderTarget(t),n.render(a,xW)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;let r=this._lodMeshes.length;for(let o=1;of-nO?n-f+nO:0),v=4*(this._cubeSize-m);s.envMap.value=e.texture,s.roughness.value=p,s.mipInt.value=f-t,tO(o,g,v,3*m,2*m),r.setRenderTarget(o),r.render(i,xW),s.envMap.value=o.texture,s.roughness.value=0,s.mipInt.value=f-n,tO(e,g,v,3*m,2*m),r.setRenderTarget(e),r.render(i,xW)}_blur(e,t,n,r){let o=this._pingPongRenderTarget,a=Math.min(r,Math.PI)/Math.SQRT2;this._blurPass(e,o,t,n,a),this._blurPass(o,e,n,n,a)}_blurPass(e,t,n,r,o){let a=this._renderer,i=this._blurMaterial,s=this._lodMeshes[r];s.material=i;let l=i.uniforms;l.envMap.value=e.texture,l.sigma.value=o,l.mipInt.value=this._lodMax-n;let c=this._sizeLods[r],u=3*c*(r>this._lodMax-nO?r-this._lodMax+nO:0),d=4*(this._cubeSize-c);tO(t,u,d,3*c,2*c),a.setRenderTarget(t),a.render(s,xW)}}function ELr(e){let t=[],n=[],r=e,o=e-nO+1+ALr;for(let a=0;a2?0:-1,w=[x,A,0,x+0.6666666666666666,A,0,x+0.6666666666666666,A+1,0,x,A,0,x+0.6666666666666666,A+1,0,x,A+1,0];m.set(w,f*p*y);for(let C=0;CnO)r--}return{lodMeshes:n,sizeLods:t}}function s0n(e,t,n){let r=new ef(e,t,n);return r.texture.mapping=NB,r.texture.name="PMREM.cubeUv",r.scissorTest=!0,r}function tO(e,t,n,r,o){e.viewport.set(t,n,r,o),e.scissor.set(t,n,r,o)}function ILr(e,t,n){return new Ac({name:"PMREMGGXConvolution",defines:{GGX_SAMPLES:SLr,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},roughness:{value:0},mipInt:{value:0}},vertexShader:Tge(),fragmentShader:` +}`, + Ac, + iW, + sW, + Y0e, + K0e, + J0e, + j0e, + $0e, + lW, + cW, + ege, + tge, + nge, + uW, + rge, + oge, + oS, + dW, + KB, + age, + JB, + aS, + pW, + kv, + MHe, + qw, + e0n, + i1, + DHe, + LHe, + EB, + C7, + BHe, + OHe, + FHe, + aA, + ige, + c_e, + lmn, + cmn, + whe, + She, + Yx, + $B, + i5, + umn, + dmn, + Kl, + t0n, + sge, + n0n, + lge, + qy, + r0n, + cge, + uge, + dge, + pge, + pmn, + hW, + eO, + fge, + u_e, + UHe, + f9r, + fmn, + mmn, + d_e, + NHe, + Che, + zHe, + hmn, + gmn, + f7, + IB = -90, + TB = 1, + mge, + hge, + m7, + p_e, + h9r, + h7, + g7, + HHe, + yge, + y7, + ymn, + g9r, + v7, + VHe, + qHe = "\\[\\]\\.:\\/", + y9r, + ZHe, + v9r, + b9r, + x9r, + A9r, + w9r, + S9r, + C9r, + E9r, + XHe, + WHe, + I9r = 0, + YHe, + KHe, + vmn, + Age, + xmn, + Amn, + Ehe, + kB, + RB, + f_e, + T9r, + k9r, + wmn, + eVe, + s5, + Ihe, + m_e, + tVe, + nVe, + R9r, + Smn, + Cmn, + rVe, + oVe, + aVe, + Emn, + The, + Imn, + iVe, + khe, + xc, + sVe, + Rhe, + lVe, + cVe, + uVe, + Tmn, + Phe, + h_e, + dVe, + pVe, + bW; +var hVe = P(() => { + ((Bm = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }), + (Om = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }), + (Dhn = { COMPUTE: "compute", RENDER: "render" }), + (Lhn = { PERSPECTIVE: "perspective", LINEAR: "linear", FLAT: "flat" }), + (Bhn = { + NORMAL: "normal", + CENTROID: "centroid", + SAMPLE: "sample", + FIRST: "first", + EITHER: "either", + }), + (Ohn = { TEXTURE_COMPARE: "depthTextureCompare" }), + (Fhn = { NONE: 0, SHARED: 1, FULL: 2 })); + zRr = { + Int8Array, + Uint8Array, + Uint8ClampedArray, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + }; + yfn = {}; + Vhn = { [0]: 1, [2]: 6, [4]: 7, [3]: 5, [1]: 0, [6]: 2, [7]: 4, [5]: 3 }; + ((Mm = [ + "00", + "01", + "02", + "03", + "04", + "05", + "06", + "07", + "08", + "09", + "0a", + "0b", + "0c", + "0d", + "0e", + "0f", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "1a", + "1b", + "1c", + "1d", + "1e", + "1f", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "2a", + "2b", + "2c", + "2d", + "2e", + "2f", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "3a", + "3b", + "3c", + "3d", + "3e", + "3f", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "4a", + "4b", + "4c", + "4d", + "4e", + "4f", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "5a", + "5b", + "5c", + "5d", + "5e", + "5f", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "67", + "68", + "69", + "6a", + "6b", + "6c", + "6d", + "6e", + "6f", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "79", + "7a", + "7b", + "7c", + "7d", + "7e", + "7f", + "80", + "81", + "82", + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "8a", + "8b", + "8c", + "8d", + "8e", + "8f", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "98", + "99", + "9a", + "9b", + "9c", + "9d", + "9e", + "9f", + "a0", + "a1", + "a2", + "a3", + "a4", + "a5", + "a6", + "a7", + "a8", + "a9", + "aa", + "ab", + "ac", + "ad", + "ae", + "af", + "b0", + "b1", + "b2", + "b3", + "b4", + "b5", + "b6", + "b7", + "b8", + "b9", + "ba", + "bb", + "bc", + "bd", + "be", + "bf", + "c0", + "c1", + "c2", + "c3", + "c4", + "c5", + "c6", + "c7", + "c8", + "c9", + "ca", + "cb", + "cc", + "cd", + "ce", + "cf", + "d0", + "d1", + "d2", + "d3", + "d4", + "d5", + "d6", + "d7", + "d8", + "d9", + "da", + "db", + "dc", + "dd", + "de", + "df", + "e0", + "e1", + "e2", + "e3", + "e4", + "e5", + "e6", + "e7", + "e8", + "e9", + "ea", + "eb", + "ec", + "ed", + "ee", + "ef", + "f0", + "f1", + "f2", + "f3", + "f4", + "f5", + "f6", + "f7", + "f8", + "f9", + "fa", + "fb", + "fc", + "fd", + "fe", + "ff", + ]), + (b7 = Math.PI / 180), + (x7 = 180 / Math.PI)); + g5 = { + DEG2RAD: b7, + RAD2DEG: x7, + generateUUID: a1, + clamp: to, + euclideanModulo: hHe, + mapLinear: _Rr, + inverseLerp: HRr, + lerp: cX, + damp: VRr, + pingpong: GRr, + smoothstep: qRr, + smootherstep: ZRr, + randInt: QRr, + randFloat: XRr, + randFloatSpread: WRr, + seededRandom: YRr, + degToRad: KRr, + radToDeg: JRr, + isPowerOfTwo: jRr, + ceilPowerOfTwo: $Rr, + floorPowerOfTwo: ePr, + setQuaternionFromProperEuler: tPr, + normalize: No, + denormalize: Th, + }; + vt = class vt { + static { + vt.prototype.isVector2 = !0; + } + constructor(e = 0, t = 0) { + ((this.x = e), (this.y = t)); + } + get width() { + return this.x; + } + set width(e) { + this.x = e; + } + get height() { + return this.y; + } + set height(e) { + this.y = e; + } + set(e, t) { + return ((this.x = e), (this.y = t), this); + } + setScalar(e) { + return ((this.x = e), (this.y = e), this); + } + setX(e) { + return ((this.x = e), this); + } + setY(e) { + return ((this.y = e), this); + } + setComponent(e, t) { + switch (e) { + case 0: + this.x = t; + break; + case 1: + this.y = t; + break; + default: + throw Error("THREE.Vector2: index is out of range: " + e); + } + return this; + } + getComponent(e) { + switch (e) { + case 0: + return this.x; + case 1: + return this.y; + default: + throw Error("THREE.Vector2: index is out of range: " + e); + } + } + clone() { + return new this.constructor(this.x, this.y); + } + copy(e) { + return ((this.x = e.x), (this.y = e.y), this); + } + add(e) { + return ((this.x += e.x), (this.y += e.y), this); + } + addScalar(e) { + return ((this.x += e), (this.y += e), this); + } + addVectors(e, t) { + return ((this.x = e.x + t.x), (this.y = e.y + t.y), this); + } + addScaledVector(e, t) { + return ((this.x += e.x * t), (this.y += e.y * t), this); + } + sub(e) { + return ((this.x -= e.x), (this.y -= e.y), this); + } + subScalar(e) { + return ((this.x -= e), (this.y -= e), this); + } + subVectors(e, t) { + return ((this.x = e.x - t.x), (this.y = e.y - t.y), this); + } + multiply(e) { + return ((this.x *= e.x), (this.y *= e.y), this); + } + multiplyScalar(e) { + return ((this.x *= e), (this.y *= e), this); + } + divide(e) { + return ((this.x /= e.x), (this.y /= e.y), this); + } + divideScalar(e) { + return this.multiplyScalar(1 / e); + } + applyMatrix3(e) { + let t = this.x, + n = this.y, + r = e.elements; + return ( + (this.x = r[0] * t + r[3] * n + r[6]), + (this.y = r[1] * t + r[4] * n + r[7]), + this + ); + } + min(e) { + return ( + (this.x = Math.min(this.x, e.x)), + (this.y = Math.min(this.y, e.y)), + this + ); + } + max(e) { + return ( + (this.x = Math.max(this.x, e.x)), + (this.y = Math.max(this.y, e.y)), + this + ); + } + clamp(e, t) { + return ( + (this.x = to(this.x, e.x, t.x)), + (this.y = to(this.y, e.y, t.y)), + this + ); + } + clampScalar(e, t) { + return ((this.x = to(this.x, e, t)), (this.y = to(this.y, e, t)), this); + } + clampLength(e, t) { + let n = this.length(); + return this.divideScalar(n || 1).multiplyScalar(to(n, e, t)); + } + floor() { + return ( + (this.x = Math.floor(this.x)), + (this.y = Math.floor(this.y)), + this + ); + } + ceil() { + return ((this.x = Math.ceil(this.x)), (this.y = Math.ceil(this.y)), this); + } + round() { + return ( + (this.x = Math.round(this.x)), + (this.y = Math.round(this.y)), + this + ); + } + roundToZero() { + return ( + (this.x = Math.trunc(this.x)), + (this.y = Math.trunc(this.y)), + this + ); + } + negate() { + return ((this.x = -this.x), (this.y = -this.y), this); + } + dot(e) { + return this.x * e.x + this.y * e.y; + } + cross(e) { + return this.x * e.y - this.y * e.x; + } + lengthSq() { + return this.x * this.x + this.y * this.y; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + angle() { + return Math.atan2(-this.y, -this.x) + Math.PI; + } + angleTo(e) { + let t = Math.sqrt(this.lengthSq() * e.lengthSq()); + if (t === 0) return Math.PI / 2; + let n = this.dot(e) / t; + return Math.acos(to(n, -1, 1)); + } + distanceTo(e) { + return Math.sqrt(this.distanceToSquared(e)); + } + distanceToSquared(e) { + let t = this.x - e.x, + n = this.y - e.y; + return t * t + n * n; + } + manhattanDistanceTo(e) { + return Math.abs(this.x - e.x) + Math.abs(this.y - e.y); + } + setLength(e) { + return this.normalize().multiplyScalar(e); + } + lerp(e, t) { + return ( + (this.x += (e.x - this.x) * t), + (this.y += (e.y - this.y) * t), + this + ); + } + lerpVectors(e, t, n) { + return ( + (this.x = e.x + (t.x - e.x) * n), + (this.y = e.y + (t.y - e.y) * n), + this + ); + } + equals(e) { + return e.x === this.x && e.y === this.y; + } + fromArray(e, t = 0) { + return ((this.x = e[t]), (this.y = e[t + 1]), this); + } + toArray(e = [], t = 0) { + return ((e[t] = this.x), (e[t + 1] = this.y), e); + } + fromBufferAttribute(e, t) { + return ((this.x = e.getX(t)), (this.y = e.getY(t)), this); + } + rotateAround(e, t) { + let n = Math.cos(t), + r = Math.sin(t), + o = this.x - e.x, + a = this.y - e.y; + return ( + (this.x = o * n - a * r + e.x), + (this.y = o * r + a * n + e.y), + this + ); + } + random() { + return ((this.x = Math.random()), (this.y = Math.random()), this); + } + *[Symbol.iterator]() { + (yield this.x, yield this.y); + } + }; + Vo = class Vo { + constructor(e = 0, t = 0, n = 0, r = 1) { + ((this.isQuaternion = !0), + (this._x = e), + (this._y = t), + (this._z = n), + (this._w = r)); + } + static slerpFlat(e, t, n, r, o, a, i) { + let s = n[r + 0], + l = n[r + 1], + c = n[r + 2], + u = n[r + 3], + d = o[a + 0], + p = o[a + 1], + f = o[a + 2], + m = o[a + 3]; + if (u !== m || s !== d || l !== p || c !== f) { + let g = s * d + l * p + c * f + u * m; + if (g < 0) ((d = -d), (p = -p), (f = -f), (m = -m), (g = -g)); + let v = 1 - i; + if (g < 0.9995) { + let y = Math.acos(g), + x = Math.sin(y); + ((v = Math.sin(v * y) / x), + (i = Math.sin(i * y) / x), + (s = s * v + d * i), + (l = l * v + p * i), + (c = c * v + f * i), + (u = u * v + m * i)); + } else { + ((s = s * v + d * i), + (l = l * v + p * i), + (c = c * v + f * i), + (u = u * v + m * i)); + let y = 1 / Math.sqrt(s * s + l * l + c * c + u * u); + ((s *= y), (l *= y), (c *= y), (u *= y)); + } + } + ((e[t] = s), (e[t + 1] = l), (e[t + 2] = c), (e[t + 3] = u)); + } + static multiplyQuaternionsFlat(e, t, n, r, o, a) { + let i = n[r], + s = n[r + 1], + l = n[r + 2], + c = n[r + 3], + u = o[a], + d = o[a + 1], + p = o[a + 2], + f = o[a + 3]; + return ( + (e[t] = i * f + c * u + s * p - l * d), + (e[t + 1] = s * f + c * d + l * u - i * p), + (e[t + 2] = l * f + c * p + i * d - s * u), + (e[t + 3] = c * f - i * u - s * d - l * p), + e + ); + } + get x() { + return this._x; + } + set x(e) { + ((this._x = e), this._onChangeCallback()); + } + get y() { + return this._y; + } + set y(e) { + ((this._y = e), this._onChangeCallback()); + } + get z() { + return this._z; + } + set z(e) { + ((this._z = e), this._onChangeCallback()); + } + get w() { + return this._w; + } + set w(e) { + ((this._w = e), this._onChangeCallback()); + } + set(e, t, n, r) { + return ( + (this._x = e), + (this._y = t), + (this._z = n), + (this._w = r), + this._onChangeCallback(), + this + ); + } + clone() { + return new this.constructor(this._x, this._y, this._z, this._w); + } + copy(e) { + return ( + (this._x = e.x), + (this._y = e.y), + (this._z = e.z), + (this._w = e.w), + this._onChangeCallback(), + this + ); + } + setFromEuler(e, t = !0) { + let { _x: n, _y: r, _z: o, _order: a } = e, + { cos: i, sin: s } = Math, + l = i(n / 2), + c = i(r / 2), + u = i(o / 2), + d = s(n / 2), + p = s(r / 2), + f = s(o / 2); + switch (a) { + case "XYZ": + ((this._x = d * c * u + l * p * f), + (this._y = l * p * u - d * c * f), + (this._z = l * c * f + d * p * u), + (this._w = l * c * u - d * p * f)); + break; + case "YXZ": + ((this._x = d * c * u + l * p * f), + (this._y = l * p * u - d * c * f), + (this._z = l * c * f - d * p * u), + (this._w = l * c * u + d * p * f)); + break; + case "ZXY": + ((this._x = d * c * u - l * p * f), + (this._y = l * p * u + d * c * f), + (this._z = l * c * f + d * p * u), + (this._w = l * c * u - d * p * f)); + break; + case "ZYX": + ((this._x = d * c * u - l * p * f), + (this._y = l * p * u + d * c * f), + (this._z = l * c * f - d * p * u), + (this._w = l * c * u + d * p * f)); + break; + case "YZX": + ((this._x = d * c * u + l * p * f), + (this._y = l * p * u + d * c * f), + (this._z = l * c * f - d * p * u), + (this._w = l * c * u - d * p * f)); + break; + case "XZY": + ((this._x = d * c * u - l * p * f), + (this._y = l * p * u - d * c * f), + (this._z = l * c * f + d * p * u), + (this._w = l * c * u + d * p * f)); + break; + default: + zn("Quaternion: .setFromEuler() encountered an unknown order: " + a); + } + if (t === !0) this._onChangeCallback(); + return this; + } + setFromAxisAngle(e, t) { + let n = t / 2, + r = Math.sin(n); + return ( + (this._x = e.x * r), + (this._y = e.y * r), + (this._z = e.z * r), + (this._w = Math.cos(n)), + this._onChangeCallback(), + this + ); + } + setFromRotationMatrix(e) { + let t = e.elements, + n = t[0], + r = t[4], + o = t[8], + a = t[1], + i = t[5], + s = t[9], + l = t[2], + c = t[6], + u = t[10], + d = n + i + u; + if (d > 0) { + let p = 0.5 / Math.sqrt(d + 1); + ((this._w = 0.25 / p), + (this._x = (c - s) * p), + (this._y = (o - l) * p), + (this._z = (a - r) * p)); + } else if (n > i && n > u) { + let p = 2 * Math.sqrt(1 + n - i - u); + ((this._w = (c - s) / p), + (this._x = 0.25 * p), + (this._y = (r + a) / p), + (this._z = (o + l) / p)); + } else if (i > u) { + let p = 2 * Math.sqrt(1 + i - n - u); + ((this._w = (o - l) / p), + (this._x = (r + a) / p), + (this._y = 0.25 * p), + (this._z = (s + c) / p)); + } else { + let p = 2 * Math.sqrt(1 + u - n - i); + ((this._w = (a - r) / p), + (this._x = (o + l) / p), + (this._y = (s + c) / p), + (this._z = 0.25 * p)); + } + return (this._onChangeCallback(), this); + } + setFromUnitVectors(e, t) { + let n = e.dot(t) + 1; + if (n < 0.00000001) + if (((n = 0), Math.abs(e.x) > Math.abs(e.z))) + ((this._x = -e.y), (this._y = e.x), (this._z = 0), (this._w = n)); + else ((this._x = 0), (this._y = -e.z), (this._z = e.y), (this._w = n)); + else + ((this._x = e.y * t.z - e.z * t.y), + (this._y = e.z * t.x - e.x * t.z), + (this._z = e.x * t.y - e.y * t.x), + (this._w = n)); + return this.normalize(); + } + angleTo(e) { + return 2 * Math.acos(Math.abs(to(this.dot(e), -1, 1))); + } + rotateTowards(e, t) { + let n = this.angleTo(e); + if (n === 0) return this; + let r = Math.min(1, t / n); + return (this.slerp(e, r), this); + } + identity() { + return this.set(0, 0, 0, 1); + } + invert() { + return this.conjugate(); + } + conjugate() { + return ( + (this._x *= -1), + (this._y *= -1), + (this._z *= -1), + this._onChangeCallback(), + this + ); + } + dot(e) { + return this._x * e._x + this._y * e._y + this._z * e._z + this._w * e._w; + } + lengthSq() { + return ( + this._x * this._x + + this._y * this._y + + this._z * this._z + + this._w * this._w + ); + } + length() { + return Math.sqrt( + this._x * this._x + + this._y * this._y + + this._z * this._z + + this._w * this._w, + ); + } + normalize() { + let e = this.length(); + if (e === 0) ((this._x = 0), (this._y = 0), (this._z = 0), (this._w = 1)); + else + ((e = 1 / e), + (this._x = this._x * e), + (this._y = this._y * e), + (this._z = this._z * e), + (this._w = this._w * e)); + return (this._onChangeCallback(), this); + } + multiply(e) { + return this.multiplyQuaternions(this, e); + } + premultiply(e) { + return this.multiplyQuaternions(e, this); + } + multiplyQuaternions(e, t) { + let { _x: n, _y: r, _z: o, _w: a } = e, + { _x: i, _y: s, _z: l, _w: c } = t; + return ( + (this._x = n * c + a * i + r * l - o * s), + (this._y = r * c + a * s + o * i - n * l), + (this._z = o * c + a * l + n * s - r * i), + (this._w = a * c - n * i - r * s - o * l), + this._onChangeCallback(), + this + ); + } + slerp(e, t) { + let { _x: n, _y: r, _z: o, _w: a } = e, + i = this.dot(e); + if (i < 0) ((n = -n), (r = -r), (o = -o), (a = -a), (i = -i)); + let s = 1 - t; + if (i < 0.9995) { + let l = Math.acos(i), + c = Math.sin(l); + ((s = Math.sin(s * l) / c), + (t = Math.sin(t * l) / c), + (this._x = this._x * s + n * t), + (this._y = this._y * s + r * t), + (this._z = this._z * s + o * t), + (this._w = this._w * s + a * t), + this._onChangeCallback()); + } else + ((this._x = this._x * s + n * t), + (this._y = this._y * s + r * t), + (this._z = this._z * s + o * t), + (this._w = this._w * s + a * t), + this.normalize()); + return this; + } + slerpQuaternions(e, t, n) { + return this.copy(e).slerp(t, n); + } + random() { + let e = 2 * Math.PI * Math.random(), + t = 2 * Math.PI * Math.random(), + n = Math.random(), + r = Math.sqrt(1 - n), + o = Math.sqrt(n); + return this.set( + r * Math.sin(e), + r * Math.cos(e), + o * Math.sin(t), + o * Math.cos(t), + ); + } + equals(e) { + return ( + e._x === this._x && + e._y === this._y && + e._z === this._z && + e._w === this._w + ); + } + fromArray(e, t = 0) { + return ( + (this._x = e[t]), + (this._y = e[t + 1]), + (this._z = e[t + 2]), + (this._w = e[t + 3]), + this._onChangeCallback(), + this + ); + } + toArray(e = [], t = 0) { + return ( + (e[t] = this._x), + (e[t + 1] = this._y), + (e[t + 2] = this._z), + (e[t + 3] = this._w), + e + ); + } + fromBufferAttribute(e, t) { + return ( + (this._x = e.getX(t)), + (this._y = e.getY(t)), + (this._z = e.getZ(t)), + (this._w = e.getW(t)), + this._onChangeCallback(), + this + ); + } + toJSON() { + return this.toArray(); + } + _onChange(e) { + return ((this._onChangeCallback = e), this); + } + _onChangeCallback() {} + *[Symbol.iterator]() { + (yield this._x, yield this._y, yield this._z, yield this._w); + } + }; + he = class he { + static { + he.prototype.isVector3 = !0; + } + constructor(e = 0, t = 0, n = 0) { + ((this.x = e), (this.y = t), (this.z = n)); + } + set(e, t, n) { + if (n === void 0) n = this.z; + return ((this.x = e), (this.y = t), (this.z = n), this); + } + setScalar(e) { + return ((this.x = e), (this.y = e), (this.z = e), this); + } + setX(e) { + return ((this.x = e), this); + } + setY(e) { + return ((this.y = e), this); + } + setZ(e) { + return ((this.z = e), this); + } + setComponent(e, t) { + switch (e) { + case 0: + this.x = t; + break; + case 1: + this.y = t; + break; + case 2: + this.z = t; + break; + default: + throw Error("THREE.Vector3: index is out of range: " + e); + } + return this; + } + getComponent(e) { + switch (e) { + case 0: + return this.x; + case 1: + return this.y; + case 2: + return this.z; + default: + throw Error("THREE.Vector3: index is out of range: " + e); + } + } + clone() { + return new this.constructor(this.x, this.y, this.z); + } + copy(e) { + return ((this.x = e.x), (this.y = e.y), (this.z = e.z), this); + } + add(e) { + return ((this.x += e.x), (this.y += e.y), (this.z += e.z), this); + } + addScalar(e) { + return ((this.x += e), (this.y += e), (this.z += e), this); + } + addVectors(e, t) { + return ( + (this.x = e.x + t.x), + (this.y = e.y + t.y), + (this.z = e.z + t.z), + this + ); + } + addScaledVector(e, t) { + return ( + (this.x += e.x * t), + (this.y += e.y * t), + (this.z += e.z * t), + this + ); + } + sub(e) { + return ((this.x -= e.x), (this.y -= e.y), (this.z -= e.z), this); + } + subScalar(e) { + return ((this.x -= e), (this.y -= e), (this.z -= e), this); + } + subVectors(e, t) { + return ( + (this.x = e.x - t.x), + (this.y = e.y - t.y), + (this.z = e.z - t.z), + this + ); + } + multiply(e) { + return ((this.x *= e.x), (this.y *= e.y), (this.z *= e.z), this); + } + multiplyScalar(e) { + return ((this.x *= e), (this.y *= e), (this.z *= e), this); + } + multiplyVectors(e, t) { + return ( + (this.x = e.x * t.x), + (this.y = e.y * t.y), + (this.z = e.z * t.z), + this + ); + } + applyEuler(e) { + return this.applyQuaternion(bfn.setFromEuler(e)); + } + applyAxisAngle(e, t) { + return this.applyQuaternion(bfn.setFromAxisAngle(e, t)); + } + applyMatrix3(e) { + let t = this.x, + n = this.y, + r = this.z, + o = e.elements; + return ( + (this.x = o[0] * t + o[3] * n + o[6] * r), + (this.y = o[1] * t + o[4] * n + o[7] * r), + (this.z = o[2] * t + o[5] * n + o[8] * r), + this + ); + } + applyNormalMatrix(e) { + return this.applyMatrix3(e).normalize(); + } + applyMatrix4(e) { + let t = this.x, + n = this.y, + r = this.z, + o = e.elements, + a = 1 / (o[3] * t + o[7] * n + o[11] * r + o[15]); + return ( + (this.x = (o[0] * t + o[4] * n + o[8] * r + o[12]) * a), + (this.y = (o[1] * t + o[5] * n + o[9] * r + o[13]) * a), + (this.z = (o[2] * t + o[6] * n + o[10] * r + o[14]) * a), + this + ); + } + applyQuaternion(e) { + let t = this.x, + n = this.y, + r = this.z, + { x: o, y: a, z: i, w: s } = e, + l = 2 * (a * r - i * n), + c = 2 * (i * t - o * r), + u = 2 * (o * n - a * t); + return ( + (this.x = t + s * l + a * u - i * c), + (this.y = n + s * c + i * l - o * u), + (this.z = r + s * u + o * c - a * l), + this + ); + } + project(e) { + return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4( + e.projectionMatrix, + ); + } + unproject(e) { + return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4( + e.matrixWorld, + ); + } + transformDirection(e) { + let t = this.x, + n = this.y, + r = this.z, + o = e.elements; + return ( + (this.x = o[0] * t + o[4] * n + o[8] * r), + (this.y = o[1] * t + o[5] * n + o[9] * r), + (this.z = o[2] * t + o[6] * n + o[10] * r), + this.normalize() + ); + } + divide(e) { + return ((this.x /= e.x), (this.y /= e.y), (this.z /= e.z), this); + } + divideScalar(e) { + return this.multiplyScalar(1 / e); + } + min(e) { + return ( + (this.x = Math.min(this.x, e.x)), + (this.y = Math.min(this.y, e.y)), + (this.z = Math.min(this.z, e.z)), + this + ); + } + max(e) { + return ( + (this.x = Math.max(this.x, e.x)), + (this.y = Math.max(this.y, e.y)), + (this.z = Math.max(this.z, e.z)), + this + ); + } + clamp(e, t) { + return ( + (this.x = to(this.x, e.x, t.x)), + (this.y = to(this.y, e.y, t.y)), + (this.z = to(this.z, e.z, t.z)), + this + ); + } + clampScalar(e, t) { + return ( + (this.x = to(this.x, e, t)), + (this.y = to(this.y, e, t)), + (this.z = to(this.z, e, t)), + this + ); + } + clampLength(e, t) { + let n = this.length(); + return this.divideScalar(n || 1).multiplyScalar(to(n, e, t)); + } + floor() { + return ( + (this.x = Math.floor(this.x)), + (this.y = Math.floor(this.y)), + (this.z = Math.floor(this.z)), + this + ); + } + ceil() { + return ( + (this.x = Math.ceil(this.x)), + (this.y = Math.ceil(this.y)), + (this.z = Math.ceil(this.z)), + this + ); + } + round() { + return ( + (this.x = Math.round(this.x)), + (this.y = Math.round(this.y)), + (this.z = Math.round(this.z)), + this + ); + } + roundToZero() { + return ( + (this.x = Math.trunc(this.x)), + (this.y = Math.trunc(this.y)), + (this.z = Math.trunc(this.z)), + this + ); + } + negate() { + return ((this.x = -this.x), (this.y = -this.y), (this.z = -this.z), this); + } + dot(e) { + return this.x * e.x + this.y * e.y + this.z * e.z; + } + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z; + } + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + } + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + setLength(e) { + return this.normalize().multiplyScalar(e); + } + lerp(e, t) { + return ( + (this.x += (e.x - this.x) * t), + (this.y += (e.y - this.y) * t), + (this.z += (e.z - this.z) * t), + this + ); + } + lerpVectors(e, t, n) { + return ( + (this.x = e.x + (t.x - e.x) * n), + (this.y = e.y + (t.y - e.y) * n), + (this.z = e.z + (t.z - e.z) * n), + this + ); + } + cross(e) { + return this.crossVectors(this, e); + } + crossVectors(e, t) { + let { x: n, y: r, z: o } = e, + { x: a, y: i, z: s } = t; + return ( + (this.x = r * s - o * i), + (this.y = o * a - n * s), + (this.z = n * i - r * a), + this + ); + } + projectOnVector(e) { + let t = e.lengthSq(); + if (t === 0) return this.set(0, 0, 0); + let n = e.dot(this) / t; + return this.copy(e).multiplyScalar(n); + } + projectOnPlane(e) { + return (Bze.copy(this).projectOnVector(e), this.sub(Bze)); + } + reflect(e) { + return this.sub(Bze.copy(e).multiplyScalar(2 * this.dot(e))); + } + angleTo(e) { + let t = Math.sqrt(this.lengthSq() * e.lengthSq()); + if (t === 0) return Math.PI / 2; + let n = this.dot(e) / t; + return Math.acos(to(n, -1, 1)); + } + distanceTo(e) { + return Math.sqrt(this.distanceToSquared(e)); + } + distanceToSquared(e) { + let t = this.x - e.x, + n = this.y - e.y, + r = this.z - e.z; + return t * t + n * n + r * r; + } + manhattanDistanceTo(e) { + return ( + Math.abs(this.x - e.x) + Math.abs(this.y - e.y) + Math.abs(this.z - e.z) + ); + } + setFromSpherical(e) { + return this.setFromSphericalCoords(e.radius, e.phi, e.theta); + } + setFromSphericalCoords(e, t, n) { + let r = Math.sin(t) * e; + return ( + (this.x = r * Math.sin(n)), + (this.y = Math.cos(t) * e), + (this.z = r * Math.cos(n)), + this + ); + } + setFromCylindrical(e) { + return this.setFromCylindricalCoords(e.radius, e.theta, e.y); + } + setFromCylindricalCoords(e, t, n) { + return ( + (this.x = e * Math.sin(t)), + (this.y = n), + (this.z = e * Math.cos(t)), + this + ); + } + setFromMatrixPosition(e) { + let t = e.elements; + return ((this.x = t[12]), (this.y = t[13]), (this.z = t[14]), this); + } + setFromMatrixScale(e) { + let t = this.setFromMatrixColumn(e, 0).length(), + n = this.setFromMatrixColumn(e, 1).length(), + r = this.setFromMatrixColumn(e, 2).length(); + return ((this.x = t), (this.y = n), (this.z = r), this); + } + setFromMatrixColumn(e, t) { + return this.fromArray(e.elements, t * 4); + } + setFromMatrix3Column(e, t) { + return this.fromArray(e.elements, t * 3); + } + setFromEuler(e) { + return ((this.x = e._x), (this.y = e._y), (this.z = e._z), this); + } + setFromColor(e) { + return ((this.x = e.r), (this.y = e.g), (this.z = e.b), this); + } + equals(e) { + return e.x === this.x && e.y === this.y && e.z === this.z; + } + fromArray(e, t = 0) { + return ((this.x = e[t]), (this.y = e[t + 1]), (this.z = e[t + 2]), this); + } + toArray(e = [], t = 0) { + return ((e[t] = this.x), (e[t + 1] = this.y), (e[t + 2] = this.z), e); + } + fromBufferAttribute(e, t) { + return ( + (this.x = e.getX(t)), + (this.y = e.getY(t)), + (this.z = e.getZ(t)), + this + ); + } + random() { + return ( + (this.x = Math.random()), + (this.y = Math.random()), + (this.z = Math.random()), + this + ); + } + randomDirection() { + let e = Math.random() * Math.PI * 2, + t = Math.random() * 2 - 1, + n = Math.sqrt(1 - t * t); + return ( + (this.x = n * Math.cos(e)), + (this.y = t), + (this.z = n * Math.sin(e)), + this + ); + } + *[Symbol.iterator]() { + (yield this.x, yield this.y, yield this.z); + } + }; + ((Bze = new he()), (bfn = new Vo())); + Ur = class Ur { + static { + Ur.prototype.isMatrix3 = !0; + } + constructor(e, t, n, r, o, a, i, s, l) { + if (((this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1]), e !== void 0)) + this.set(e, t, n, r, o, a, i, s, l); + } + set(e, t, n, r, o, a, i, s, l) { + let c = this.elements; + return ( + (c[0] = e), + (c[1] = r), + (c[2] = i), + (c[3] = t), + (c[4] = o), + (c[5] = s), + (c[6] = n), + (c[7] = a), + (c[8] = l), + this + ); + } + identity() { + return (this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this); + } + copy(e) { + let t = this.elements, + n = e.elements; + return ( + (t[0] = n[0]), + (t[1] = n[1]), + (t[2] = n[2]), + (t[3] = n[3]), + (t[4] = n[4]), + (t[5] = n[5]), + (t[6] = n[6]), + (t[7] = n[7]), + (t[8] = n[8]), + this + ); + } + extractBasis(e, t, n) { + return ( + e.setFromMatrix3Column(this, 0), + t.setFromMatrix3Column(this, 1), + n.setFromMatrix3Column(this, 2), + this + ); + } + setFromMatrix4(e) { + let t = e.elements; + return ( + this.set(t[0], t[4], t[8], t[1], t[5], t[9], t[2], t[6], t[10]), + this + ); + } + multiply(e) { + return this.multiplyMatrices(this, e); + } + premultiply(e) { + return this.multiplyMatrices(e, this); + } + multiplyMatrices(e, t) { + let n = e.elements, + r = t.elements, + o = this.elements, + a = n[0], + i = n[3], + s = n[6], + l = n[1], + c = n[4], + u = n[7], + d = n[2], + p = n[5], + f = n[8], + m = r[0], + g = r[3], + v = r[6], + y = r[1], + x = r[4], + A = r[7], + w = r[2], + C = r[5], + E = r[8]; + return ( + (o[0] = a * m + i * y + s * w), + (o[3] = a * g + i * x + s * C), + (o[6] = a * v + i * A + s * E), + (o[1] = l * m + c * y + u * w), + (o[4] = l * g + c * x + u * C), + (o[7] = l * v + c * A + u * E), + (o[2] = d * m + p * y + f * w), + (o[5] = d * g + p * x + f * C), + (o[8] = d * v + p * A + f * E), + this + ); + } + multiplyScalar(e) { + let t = this.elements; + return ( + (t[0] *= e), + (t[3] *= e), + (t[6] *= e), + (t[1] *= e), + (t[4] *= e), + (t[7] *= e), + (t[2] *= e), + (t[5] *= e), + (t[8] *= e), + this + ); + } + determinant() { + let e = this.elements, + t = e[0], + n = e[1], + r = e[2], + o = e[3], + a = e[4], + i = e[5], + s = e[6], + l = e[7], + c = e[8]; + return ( + t * a * c - t * i * l - n * o * c + n * i * s + r * o * l - r * a * s + ); + } + invert() { + let e = this.elements, + t = e[0], + n = e[1], + r = e[2], + o = e[3], + a = e[4], + i = e[5], + s = e[6], + l = e[7], + c = e[8], + u = c * a - i * l, + d = i * s - c * o, + p = l * o - a * s, + f = t * u + n * d + r * p; + if (f === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0); + let m = 1 / f; + return ( + (e[0] = u * m), + (e[1] = (r * l - c * n) * m), + (e[2] = (i * n - r * a) * m), + (e[3] = d * m), + (e[4] = (c * t - r * s) * m), + (e[5] = (r * o - i * t) * m), + (e[6] = p * m), + (e[7] = (n * s - l * t) * m), + (e[8] = (a * t - n * o) * m), + this + ); + } + transpose() { + let e, + t = this.elements; + return ( + (e = t[1]), + (t[1] = t[3]), + (t[3] = e), + (e = t[2]), + (t[2] = t[6]), + (t[6] = e), + (e = t[5]), + (t[5] = t[7]), + (t[7] = e), + this + ); + } + getNormalMatrix(e) { + return this.setFromMatrix4(e).invert().transpose(); + } + transposeIntoArray(e) { + let t = this.elements; + return ( + (e[0] = t[0]), + (e[1] = t[3]), + (e[2] = t[6]), + (e[3] = t[1]), + (e[4] = t[4]), + (e[5] = t[7]), + (e[6] = t[2]), + (e[7] = t[5]), + (e[8] = t[8]), + this + ); + } + setUvTransform(e, t, n, r, o, a, i) { + let s = Math.cos(o), + l = Math.sin(o); + return ( + this.set( + n * s, + n * l, + -n * (s * a + l * i) + a + e, + -r * l, + r * s, + -r * (-l * a + s * i) + i + t, + 0, + 0, + 1, + ), + this + ); + } + scale(e, t) { + return ( + Kx("Matrix3: .scale() is deprecated. Use .makeScale() instead."), + this.premultiply(Oze.makeScale(e, t)), + this + ); + } + rotate(e) { + return ( + Kx("Matrix3: .rotate() is deprecated. Use .makeRotation() instead."), + this.premultiply(Oze.makeRotation(-e)), + this + ); + } + translate(e, t) { + return ( + Kx( + "Matrix3: .translate() is deprecated. Use .makeTranslation() instead.", + ), + this.premultiply(Oze.makeTranslation(e, t)), + this + ); + } + makeTranslation(e, t) { + if (e.isVector2) this.set(1, 0, e.x, 0, 1, e.y, 0, 0, 1); + else this.set(1, 0, e, 0, 1, t, 0, 0, 1); + return this; + } + makeRotation(e) { + let t = Math.cos(e), + n = Math.sin(e); + return (this.set(t, -n, 0, n, t, 0, 0, 0, 1), this); + } + makeScale(e, t) { + return (this.set(e, 0, 0, 0, t, 0, 0, 0, 1), this); + } + equals(e) { + let t = this.elements, + n = e.elements; + for (let r = 0; r < 9; r++) if (t[r] !== n[r]) return !1; + return !0; + } + fromArray(e, t = 0) { + for (let n = 0; n < 9; n++) this.elements[n] = e[n + t]; + return this; + } + toArray(e = [], t = 0) { + let n = this.elements; + return ( + (e[t] = n[0]), + (e[t + 1] = n[1]), + (e[t + 2] = n[2]), + (e[t + 3] = n[3]), + (e[t + 4] = n[4]), + (e[t + 5] = n[5]), + (e[t + 6] = n[6]), + (e[t + 7] = n[7]), + (e[t + 8] = n[8]), + e + ); + } + clone() { + return new this.constructor().fromArray(this.elements); + } + }; + ((Oze = new Ur()), + (xfn = new Ur().set( + 0.4123908, + 0.3575843, + 0.1804808, + 0.212639, + 0.7151687, + 0.0721923, + 0.0193308, + 0.1191948, + 0.9505322, + )), + (Afn = new Ur().set( + 3.2409699, + -1.5373832, + -0.4986108, + -0.9692436, + 1.8759675, + 0.0415551, + 0.0556301, + -0.203977, + 1.0569715, + ))); + jo = nPr(); + gHe = class gHe extends Tv { + constructor(e = null) { + Kx( + 'Source: "Source" has been renamed to "TextureSource". Please update your code to use "THREE.TextureSource" instead.', + ); + super(e); + this.isSource = !0; + } + }; + Uze = new he(); + El = class El extends Lh { + constructor( + e = El.DEFAULT_IMAGE, + t = El.DEFAULT_MAPPING, + n = 1001, + r = 1001, + o = 1006, + a = 1008, + i = 1023, + s = 1009, + l = El.DEFAULT_ANISOTROPY, + c = "", + ) { + super(); + ((this.isTexture = !0), + Object.defineProperty(this, "id", { value: oPr++ }), + (this.uuid = a1()), + (this.name = ""), + (this.source = new Tv(e)), + (this.mipmaps = []), + (this.mapping = t), + (this.channel = 0), + (this.wrapS = n), + (this.wrapT = r), + (this.magFilter = o), + (this.minFilter = a), + (this.anisotropy = l), + (this.format = i), + (this.internalFormat = null), + (this.type = s), + (this.offset = new vt(0, 0)), + (this.repeat = new vt(1, 1)), + (this.center = new vt(0, 0)), + (this.rotation = 0), + (this.matrixAutoUpdate = !0), + (this.matrix = new Ur()), + (this.generateMipmaps = !0), + (this.premultiplyAlpha = !1), + (this.flipY = !0), + (this.unpackAlignment = 4), + (this.colorSpace = c), + (this.userData = {}), + (this.updateRanges = []), + (this.version = 0), + (this.onUpdate = null), + (this.renderTarget = null), + (this.isRenderTargetTexture = !1), + (this.isArrayTexture = e && e.depth && e.depth > 1 ? !0 : !1), + (this.pmremVersion = 0), + (this.normalized = !1)); + } + get width() { + return this.source.getSize(Uze).x; + } + get height() { + return this.source.getSize(Uze).y; + } + get depth() { + return this.source.getSize(Uze).z; + } + get image() { + return this.source.data; + } + set image(e) { + this.source.data = e; + } + updateMatrix() { + this.matrix.setUvTransform( + this.offset.x, + this.offset.y, + this.repeat.x, + this.repeat.y, + this.rotation, + this.center.x, + this.center.y, + ); + } + addUpdateRange(e, t) { + this.updateRanges.push({ start: e, count: t }); + } + clearUpdateRanges() { + this.updateRanges.length = 0; + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + return ( + (this.name = e.name), + (this.source = e.source), + (this.mipmaps = e.mipmaps.slice(0)), + (this.mapping = e.mapping), + (this.channel = e.channel), + (this.wrapS = e.wrapS), + (this.wrapT = e.wrapT), + (this.magFilter = e.magFilter), + (this.minFilter = e.minFilter), + (this.anisotropy = e.anisotropy), + (this.format = e.format), + (this.internalFormat = e.internalFormat), + (this.type = e.type), + (this.normalized = e.normalized), + this.offset.copy(e.offset), + this.repeat.copy(e.repeat), + this.center.copy(e.center), + (this.rotation = e.rotation), + (this.matrixAutoUpdate = e.matrixAutoUpdate), + this.matrix.copy(e.matrix), + (this.generateMipmaps = e.generateMipmaps), + (this.premultiplyAlpha = e.premultiplyAlpha), + (this.flipY = e.flipY), + (this.unpackAlignment = e.unpackAlignment), + (this.colorSpace = e.colorSpace), + (this.renderTarget = e.renderTarget), + (this.isRenderTargetTexture = e.isRenderTargetTexture), + (this.isArrayTexture = e.isArrayTexture), + (this.userData = JSON.parse(JSON.stringify(e.userData))), + (this.needsUpdate = !0), + this + ); + } + setValues(e) { + for (let t in e) { + let n = e[t]; + if (n === void 0) { + zn(`Texture.setValues(): parameter '${t}' has value of undefined.`); + continue; + } + let r = this[t]; + if (r === void 0) { + zn(`Texture.setValues(): property '${t}' does not exist.`); + continue; + } + if (r && n && r.isVector2 && n.isVector2) r.copy(n); + else if (r && n && r.isVector3 && n.isVector3) r.copy(n); + else if (r && n && r.isMatrix3 && n.isMatrix3) r.copy(n); + else this[t] = n; + } + } + toJSON(e) { + let t = e === void 0 || typeof e === "string"; + if (!t && e.textures[this.uuid] !== void 0) return e.textures[this.uuid]; + let n = { + metadata: { + version: 4.7, + type: "Texture", + generator: "Texture.toJSON", + }, + uuid: this.uuid, + name: this.name, + image: this.source.toJSON(e).uuid, + mapping: this.mapping, + channel: this.channel, + repeat: [this.repeat.x, this.repeat.y], + offset: [this.offset.x, this.offset.y], + center: [this.center.x, this.center.y], + rotation: this.rotation, + wrap: [this.wrapS, this.wrapT], + format: this.format, + internalFormat: this.internalFormat, + type: this.type, + normalized: this.normalized, + colorSpace: this.colorSpace, + minFilter: this.minFilter, + magFilter: this.magFilter, + anisotropy: this.anisotropy, + flipY: this.flipY, + generateMipmaps: this.generateMipmaps, + premultiplyAlpha: this.premultiplyAlpha, + unpackAlignment: this.unpackAlignment, + }; + if (Object.keys(this.userData).length > 0) n.userData = this.userData; + if (!t) e.textures[this.uuid] = n; + return n; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + transformUv(e) { + if (this.mapping !== 300) return e; + if ((e.applyMatrix3(this.matrix), e.x < 0 || e.x > 1)) + switch (this.wrapS) { + case 1000: + e.x = e.x - Math.floor(e.x); + break; + case 1001: + e.x = e.x < 0 ? 0 : 1; + break; + case 1002: + if (Math.abs(Math.floor(e.x) % 2) === 1) e.x = Math.ceil(e.x) - e.x; + else e.x = e.x - Math.floor(e.x); + break; + } + if (e.y < 0 || e.y > 1) + switch (this.wrapT) { + case 1000: + e.y = e.y - Math.floor(e.y); + break; + case 1001: + e.y = e.y < 0 ? 0 : 1; + break; + case 1002: + if (Math.abs(Math.floor(e.y) % 2) === 1) e.y = Math.ceil(e.y) - e.y; + else e.y = e.y - Math.floor(e.y); + break; + } + if (this.flipY) e.y = 1 - e.y; + return e; + } + set needsUpdate(e) { + if (e === !0) (this.version++, (this.source.needsUpdate = !0)); + } + set needsPMREMUpdate(e) { + if (e === !0) this.pmremVersion++; + } + }; + El.DEFAULT_IMAGE = null; + El.DEFAULT_MAPPING = 300; + El.DEFAULT_ANISOTROPY = 1; + Ja = class Ja { + static { + Ja.prototype.isVector4 = !0; + } + constructor(e = 0, t = 0, n = 0, r = 1) { + ((this.x = e), (this.y = t), (this.z = n), (this.w = r)); + } + get width() { + return this.z; + } + set width(e) { + this.z = e; + } + get height() { + return this.w; + } + set height(e) { + this.w = e; + } + set(e, t, n, r) { + return ((this.x = e), (this.y = t), (this.z = n), (this.w = r), this); + } + setScalar(e) { + return ((this.x = e), (this.y = e), (this.z = e), (this.w = e), this); + } + setX(e) { + return ((this.x = e), this); + } + setY(e) { + return ((this.y = e), this); + } + setZ(e) { + return ((this.z = e), this); + } + setW(e) { + return ((this.w = e), this); + } + setComponent(e, t) { + switch (e) { + case 0: + this.x = t; + break; + case 1: + this.y = t; + break; + case 2: + this.z = t; + break; + case 3: + this.w = t; + break; + default: + throw Error("THREE.Vector4: index is out of range: " + e); + } + return this; + } + getComponent(e) { + switch (e) { + case 0: + return this.x; + case 1: + return this.y; + case 2: + return this.z; + case 3: + return this.w; + default: + throw Error("THREE.Vector4: index is out of range: " + e); + } + } + clone() { + return new this.constructor(this.x, this.y, this.z, this.w); + } + copy(e) { + return ( + (this.x = e.x), + (this.y = e.y), + (this.z = e.z), + (this.w = e.w !== void 0 ? e.w : 1), + this + ); + } + add(e) { + return ( + (this.x += e.x), + (this.y += e.y), + (this.z += e.z), + (this.w += e.w), + this + ); + } + addScalar(e) { + return ((this.x += e), (this.y += e), (this.z += e), (this.w += e), this); + } + addVectors(e, t) { + return ( + (this.x = e.x + t.x), + (this.y = e.y + t.y), + (this.z = e.z + t.z), + (this.w = e.w + t.w), + this + ); + } + addScaledVector(e, t) { + return ( + (this.x += e.x * t), + (this.y += e.y * t), + (this.z += e.z * t), + (this.w += e.w * t), + this + ); + } + sub(e) { + return ( + (this.x -= e.x), + (this.y -= e.y), + (this.z -= e.z), + (this.w -= e.w), + this + ); + } + subScalar(e) { + return ((this.x -= e), (this.y -= e), (this.z -= e), (this.w -= e), this); + } + subVectors(e, t) { + return ( + (this.x = e.x - t.x), + (this.y = e.y - t.y), + (this.z = e.z - t.z), + (this.w = e.w - t.w), + this + ); + } + multiply(e) { + return ( + (this.x *= e.x), + (this.y *= e.y), + (this.z *= e.z), + (this.w *= e.w), + this + ); + } + multiplyScalar(e) { + return ((this.x *= e), (this.y *= e), (this.z *= e), (this.w *= e), this); + } + applyMatrix4(e) { + let t = this.x, + n = this.y, + r = this.z, + o = this.w, + a = e.elements; + return ( + (this.x = a[0] * t + a[4] * n + a[8] * r + a[12] * o), + (this.y = a[1] * t + a[5] * n + a[9] * r + a[13] * o), + (this.z = a[2] * t + a[6] * n + a[10] * r + a[14] * o), + (this.w = a[3] * t + a[7] * n + a[11] * r + a[15] * o), + this + ); + } + divide(e) { + return ( + (this.x /= e.x), + (this.y /= e.y), + (this.z /= e.z), + (this.w /= e.w), + this + ); + } + divideScalar(e) { + return this.multiplyScalar(1 / e); + } + setAxisAngleFromQuaternion(e) { + this.w = 2 * Math.acos(e.w); + let t = Math.sqrt(1 - e.w * e.w); + if (t < 0.0001) ((this.x = 1), (this.y = 0), (this.z = 0)); + else ((this.x = e.x / t), (this.y = e.y / t), (this.z = e.z / t)); + return this; + } + setAxisAngleFromRotationMatrix(e) { + let t, + n, + r, + o, + a = 0.01, + i = 0.1, + s = e.elements, + l = s[0], + c = s[4], + u = s[8], + d = s[1], + p = s[5], + f = s[9], + m = s[2], + g = s[6], + v = s[10]; + if ( + Math.abs(c - d) < 0.01 && + Math.abs(u - m) < 0.01 && + Math.abs(f - g) < 0.01 + ) { + if ( + Math.abs(c + d) < 0.1 && + Math.abs(u + m) < 0.1 && + Math.abs(f + g) < 0.1 && + Math.abs(l + p + v - 3) < 0.1 + ) + return (this.set(1, 0, 0, 0), this); + t = Math.PI; + let x = (l + 1) / 2, + A = (p + 1) / 2, + w = (v + 1) / 2, + C = (c + d) / 4, + E = (u + m) / 4, + T = (f + g) / 4; + if (x > A && x > w) + if (x < 0.01) ((n = 0), (r = 0.707106781), (o = 0.707106781)); + else ((n = Math.sqrt(x)), (r = C / n), (o = E / n)); + else if (A > w) + if (A < 0.01) ((n = 0.707106781), (r = 0), (o = 0.707106781)); + else ((r = Math.sqrt(A)), (n = C / r), (o = T / r)); + else if (w < 0.01) ((n = 0.707106781), (r = 0.707106781), (o = 0)); + else ((o = Math.sqrt(w)), (n = E / o), (r = T / o)); + return (this.set(n, r, o, t), this); + } + let y = Math.sqrt( + (g - f) * (g - f) + (u - m) * (u - m) + (d - c) * (d - c), + ); + if (Math.abs(y) < 0.001) y = 1; + return ( + (this.x = (g - f) / y), + (this.y = (u - m) / y), + (this.z = (d - c) / y), + (this.w = Math.acos((l + p + v - 1) / 2)), + this + ); + } + setFromMatrixPosition(e) { + let t = e.elements; + return ( + (this.x = t[12]), + (this.y = t[13]), + (this.z = t[14]), + (this.w = t[15]), + this + ); + } + min(e) { + return ( + (this.x = Math.min(this.x, e.x)), + (this.y = Math.min(this.y, e.y)), + (this.z = Math.min(this.z, e.z)), + (this.w = Math.min(this.w, e.w)), + this + ); + } + max(e) { + return ( + (this.x = Math.max(this.x, e.x)), + (this.y = Math.max(this.y, e.y)), + (this.z = Math.max(this.z, e.z)), + (this.w = Math.max(this.w, e.w)), + this + ); + } + clamp(e, t) { + return ( + (this.x = to(this.x, e.x, t.x)), + (this.y = to(this.y, e.y, t.y)), + (this.z = to(this.z, e.z, t.z)), + (this.w = to(this.w, e.w, t.w)), + this + ); + } + clampScalar(e, t) { + return ( + (this.x = to(this.x, e, t)), + (this.y = to(this.y, e, t)), + (this.z = to(this.z, e, t)), + (this.w = to(this.w, e, t)), + this + ); + } + clampLength(e, t) { + let n = this.length(); + return this.divideScalar(n || 1).multiplyScalar(to(n, e, t)); + } + floor() { + return ( + (this.x = Math.floor(this.x)), + (this.y = Math.floor(this.y)), + (this.z = Math.floor(this.z)), + (this.w = Math.floor(this.w)), + this + ); + } + ceil() { + return ( + (this.x = Math.ceil(this.x)), + (this.y = Math.ceil(this.y)), + (this.z = Math.ceil(this.z)), + (this.w = Math.ceil(this.w)), + this + ); + } + round() { + return ( + (this.x = Math.round(this.x)), + (this.y = Math.round(this.y)), + (this.z = Math.round(this.z)), + (this.w = Math.round(this.w)), + this + ); + } + roundToZero() { + return ( + (this.x = Math.trunc(this.x)), + (this.y = Math.trunc(this.y)), + (this.z = Math.trunc(this.z)), + (this.w = Math.trunc(this.w)), + this + ); + } + negate() { + return ( + (this.x = -this.x), + (this.y = -this.y), + (this.z = -this.z), + (this.w = -this.w), + this + ); + } + dot(e) { + return this.x * e.x + this.y * e.y + this.z * e.z + this.w * e.w; + } + lengthSq() { + return ( + this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w + ); + } + length() { + return Math.sqrt( + this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w, + ); + } + manhattanLength() { + return ( + Math.abs(this.x) + + Math.abs(this.y) + + Math.abs(this.z) + + Math.abs(this.w) + ); + } + normalize() { + return this.divideScalar(this.length() || 1); + } + setLength(e) { + return this.normalize().multiplyScalar(e); + } + lerp(e, t) { + return ( + (this.x += (e.x - this.x) * t), + (this.y += (e.y - this.y) * t), + (this.z += (e.z - this.z) * t), + (this.w += (e.w - this.w) * t), + this + ); + } + lerpVectors(e, t, n) { + return ( + (this.x = e.x + (t.x - e.x) * n), + (this.y = e.y + (t.y - e.y) * n), + (this.z = e.z + (t.z - e.z) * n), + (this.w = e.w + (t.w - e.w) * n), + this + ); + } + equals(e) { + return ( + e.x === this.x && e.y === this.y && e.z === this.z && e.w === this.w + ); + } + fromArray(e, t = 0) { + return ( + (this.x = e[t]), + (this.y = e[t + 1]), + (this.z = e[t + 2]), + (this.w = e[t + 3]), + this + ); + } + toArray(e = [], t = 0) { + return ( + (e[t] = this.x), + (e[t + 1] = this.y), + (e[t + 2] = this.z), + (e[t + 3] = this.w), + e + ); + } + fromBufferAttribute(e, t) { + return ( + (this.x = e.getX(t)), + (this.y = e.getY(t)), + (this.z = e.getZ(t)), + (this.w = e.getW(t)), + this + ); + } + random() { + return ( + (this.x = Math.random()), + (this.y = Math.random()), + (this.z = Math.random()), + (this.w = Math.random()), + this + ); + } + *[Symbol.iterator]() { + (yield this.x, yield this.y, yield this.z, yield this.w); + } + }; + PX = class PX extends Lh { + constructor(e = 1, t = 1, n = {}) { + super(); + ((n = Object.assign( + { + generateMipmaps: !1, + internalFormat: null, + minFilter: 1006, + depthBuffer: !0, + stencilBuffer: !1, + resolveColorBuffer: !0, + resolveDepthBuffer: !0, + resolveStencilBuffer: !0, + storeMultisampledColorBuffer: !0, + storeMultisampledDepthBuffer: !0, + storeMultisampledStencilBuffer: !0, + depthTexture: null, + samples: 0, + count: 1, + depth: 1, + multiview: !1, + useArrayDepthTexture: !1, + }, + n, + )), + (this.isRenderTarget = !0), + (this.width = e), + (this.height = t), + (this.depth = n.depth), + (this.scissor = new Ja(0, 0, e, t)), + (this.scissorTest = !1), + (this.viewport = new Ja(0, 0, e, t)), + (this.textures = [])); + let r = { width: e, height: t, depth: n.depth }, + o = new El(r), + a = n.count; + for (let i = 0; i < a; i++) + ((this.textures[i] = o.clone()), + (this.textures[i].isRenderTargetTexture = !0), + (this.textures[i].renderTarget = this)); + (this._setTextureOptions(n), + (this.depthBuffer = n.depthBuffer), + (this.stencilBuffer = n.stencilBuffer), + (this.resolveColorBuffer = n.resolveColorBuffer), + (this.resolveDepthBuffer = n.resolveDepthBuffer), + (this.resolveStencilBuffer = n.resolveStencilBuffer), + (this.storeMultisampledColorBuffer = n.storeMultisampledColorBuffer), + (this.storeMultisampledDepthBuffer = n.storeMultisampledDepthBuffer), + (this.storeMultisampledStencilBuffer = + n.storeMultisampledStencilBuffer), + (this._depthTexture = null), + (this.depthTexture = n.depthTexture), + (this.samples = n.samples), + (this.multiview = n.multiview), + (this.useArrayDepthTexture = n.useArrayDepthTexture)); + } + _setTextureOptions(e = {}) { + let t = { + minFilter: 1006, + generateMipmaps: !1, + flipY: !1, + internalFormat: null, + }; + if (e.mapping !== void 0) t.mapping = e.mapping; + if (e.wrapS !== void 0) t.wrapS = e.wrapS; + if (e.wrapT !== void 0) t.wrapT = e.wrapT; + if (e.wrapR !== void 0) t.wrapR = e.wrapR; + if (e.magFilter !== void 0) t.magFilter = e.magFilter; + if (e.minFilter !== void 0) t.minFilter = e.minFilter; + if (e.format !== void 0) t.format = e.format; + if (e.type !== void 0) t.type = e.type; + if (e.anisotropy !== void 0) t.anisotropy = e.anisotropy; + if (e.colorSpace !== void 0) t.colorSpace = e.colorSpace; + if (e.flipY !== void 0) t.flipY = e.flipY; + if (e.generateMipmaps !== void 0) t.generateMipmaps = e.generateMipmaps; + if (e.internalFormat !== void 0) t.internalFormat = e.internalFormat; + for (let n = 0; n < this.textures.length; n++) + this.textures[n].setValues(t); + } + get texture() { + return this.textures[0]; + } + set texture(e) { + this.textures[0] = e; + } + set depthTexture(e) { + if ( + this._depthTexture !== null && + this._depthTexture.renderTarget === this + ) + this._depthTexture.renderTarget = null; + if (e !== null && e.renderTarget === null) e.renderTarget = this; + this._depthTexture = e; + } + get depthTexture() { + return this._depthTexture; + } + setSize(e, t, n = 1) { + if (this.width !== e || this.height !== t || this.depth !== n) { + ((this.width = e), (this.height = t), (this.depth = n)); + for (let r = 0, o = this.textures.length; r < o; r++) + if ( + ((this.textures[r].image.width = e), + (this.textures[r].image.height = t), + (this.textures[r].image.depth = n), + this.textures[r].isData3DTexture !== !0) + ) + this.textures[r].isArrayTexture = this.textures[r].image.depth > 1; + this.dispose(); + } + (this.viewport.set(0, 0, e, t), this.scissor.set(0, 0, e, t)); + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + ((this.width = e.width), + (this.height = e.height), + (this.depth = e.depth), + this.scissor.copy(e.scissor), + (this.scissorTest = e.scissorTest), + this.viewport.copy(e.viewport), + (this.textures.length = 0)); + for (let t = 0, n = e.textures.length; t < n; t++) { + ((this.textures[t] = e.textures[t].clone()), + (this.textures[t].isRenderTargetTexture = !0), + (this.textures[t].renderTarget = this)); + let r = Object.assign({}, e.textures[t].image); + this.textures[t].source = new Tv(r); + } + if ( + ((this.depthBuffer = e.depthBuffer), + (this.stencilBuffer = e.stencilBuffer), + (this.resolveColorBuffer = e.resolveColorBuffer), + (this.resolveDepthBuffer = e.resolveDepthBuffer), + (this.resolveStencilBuffer = e.resolveStencilBuffer), + (this.storeMultisampledColorBuffer = e.storeMultisampledColorBuffer), + (this.storeMultisampledDepthBuffer = e.storeMultisampledDepthBuffer), + (this.storeMultisampledStencilBuffer = + e.storeMultisampledStencilBuffer), + e.depthTexture !== null) + ) + if (e.depthTexture.renderTarget === e) { + let t = e.depthTexture.clone(); + ((t.renderTarget = null), (this.depthTexture = t)); + } else this.depthTexture = e.depthTexture; + return ( + (this.samples = e.samples), + (this.multiview = e.multiview), + (this.useArrayDepthTexture = e.useArrayDepthTexture), + this + ); + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + }; + ef = class ef extends PX { + constructor(e = 1, t = 1, n = {}) { + super(e, t, n); + this.isWebGLRenderTarget = !0; + } + }; + GB = class GB extends El { + constructor(e = null, t = 1, n = 1, r = 1) { + super(null); + ((this.isDataArrayTexture = !0), + (this.image = { data: e, width: t, height: n, depth: r }), + (this.magFilter = 1003), + (this.minFilter = 1003), + (this.wrapR = 1001), + (this.generateMipmaps = !1), + (this.flipY = !1), + (this.unpackAlignment = 1), + (this.layerUpdates = new Set())); + } + copy(e) { + return (super.copy(e), (this.wrapR = e.wrapR), this); + } + addLayerUpdate(e) { + this.layerUpdates.add(e); + } + clearLayerUpdates() { + this.layerUpdates.clear(); + } + }; + yHe = class yHe extends ef { + constructor(e = 1, t = 1, n = 1, r = {}) { + super(e, t, r); + ((this.isWebGLArrayRenderTarget = !0), + (this.depth = n), + (this.texture = new GB(null, e, t, n)), + this._setTextureOptions(r), + (this.texture.isRenderTargetTexture = !0)); + } + }; + qB = class qB extends El { + constructor(e = null, t = 1, n = 1, r = 1) { + super(null); + ((this.isData3DTexture = !0), + (this.image = { data: e, width: t, height: n, depth: r }), + (this.magFilter = 1003), + (this.minFilter = 1003), + (this.wrapR = 1001), + (this.generateMipmaps = !1), + (this.flipY = !1), + (this.unpackAlignment = 1)); + } + copy(e) { + return (super.copy(e), (this.wrapR = e.wrapR), this); + } + }; + vHe = class vHe extends ef { + constructor(e = 1, t = 1, n = 1, r = {}) { + super(e, t, r); + ((this.isWebGL3DRenderTarget = !0), + (this.depth = n), + (this.texture = new qB(null, e, t, n)), + this._setTextureOptions(r), + (this.texture.isRenderTargetTexture = !0)); + } + }; + Vn = class Vn { + static { + Vn.prototype.isMatrix4 = !0; + } + constructor(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g) { + if ( + ((this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]), + e !== void 0) + ) + this.set(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g); + } + set(e, t, n, r, o, a, i, s, l, c, u, d, p, f, m, g) { + let v = this.elements; + return ( + (v[0] = e), + (v[4] = t), + (v[8] = n), + (v[12] = r), + (v[1] = o), + (v[5] = a), + (v[9] = i), + (v[13] = s), + (v[2] = l), + (v[6] = c), + (v[10] = u), + (v[14] = d), + (v[3] = p), + (v[7] = f), + (v[11] = m), + (v[15] = g), + this + ); + } + identity() { + return (this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this); + } + clone() { + return new Vn().fromArray(this.elements); + } + copy(e) { + let t = this.elements, + n = e.elements; + return ( + (t[0] = n[0]), + (t[1] = n[1]), + (t[2] = n[2]), + (t[3] = n[3]), + (t[4] = n[4]), + (t[5] = n[5]), + (t[6] = n[6]), + (t[7] = n[7]), + (t[8] = n[8]), + (t[9] = n[9]), + (t[10] = n[10]), + (t[11] = n[11]), + (t[12] = n[12]), + (t[13] = n[13]), + (t[14] = n[14]), + (t[15] = n[15]), + this + ); + } + copyPosition(e) { + let t = this.elements, + n = e.elements; + return ((t[12] = n[12]), (t[13] = n[13]), (t[14] = n[14]), this); + } + setFromMatrix3(e) { + let t = e.elements; + return ( + this.set( + t[0], + t[3], + t[6], + 0, + t[1], + t[4], + t[7], + 0, + t[2], + t[5], + t[8], + 0, + 0, + 0, + 0, + 1, + ), + this + ); + } + extractBasis(e, t, n) { + if (this.determinantAffine() === 0) + return (e.set(1, 0, 0), t.set(0, 1, 0), n.set(0, 0, 1), this); + return ( + e.setFromMatrixColumn(this, 0), + t.setFromMatrixColumn(this, 1), + n.setFromMatrixColumn(this, 2), + this + ); + } + makeBasis(e, t, n) { + return ( + this.set( + e.x, + t.x, + n.x, + 0, + e.y, + t.y, + n.y, + 0, + e.z, + t.z, + n.z, + 0, + 0, + 0, + 0, + 1, + ), + this + ); + } + extractRotation(e) { + if (e.determinantAffine() === 0) return this.identity(); + let t = this.elements, + n = e.elements, + r = 1 / dB.setFromMatrixColumn(e, 0).length(), + o = 1 / dB.setFromMatrixColumn(e, 1).length(), + a = 1 / dB.setFromMatrixColumn(e, 2).length(); + return ( + (t[0] = n[0] * r), + (t[1] = n[1] * r), + (t[2] = n[2] * r), + (t[3] = 0), + (t[4] = n[4] * o), + (t[5] = n[5] * o), + (t[6] = n[6] * o), + (t[7] = 0), + (t[8] = n[8] * a), + (t[9] = n[9] * a), + (t[10] = n[10] * a), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + this + ); + } + makeRotationFromEuler(e) { + let t = this.elements, + { x: n, y: r, z: o } = e, + a = Math.cos(n), + i = Math.sin(n), + s = Math.cos(r), + l = Math.sin(r), + c = Math.cos(o), + u = Math.sin(o); + if (e.order === "XYZ") { + let d = a * c, + p = a * u, + f = i * c, + m = i * u; + ((t[0] = s * c), + (t[4] = -s * u), + (t[8] = l), + (t[1] = p + f * l), + (t[5] = d - m * l), + (t[9] = -i * s), + (t[2] = m - d * l), + (t[6] = f + p * l), + (t[10] = a * s)); + } else if (e.order === "YXZ") { + let d = s * c, + p = s * u, + f = l * c, + m = l * u; + ((t[0] = d + m * i), + (t[4] = f * i - p), + (t[8] = a * l), + (t[1] = a * u), + (t[5] = a * c), + (t[9] = -i), + (t[2] = p * i - f), + (t[6] = m + d * i), + (t[10] = a * s)); + } else if (e.order === "ZXY") { + let d = s * c, + p = s * u, + f = l * c, + m = l * u; + ((t[0] = d - m * i), + (t[4] = -a * u), + (t[8] = f + p * i), + (t[1] = p + f * i), + (t[5] = a * c), + (t[9] = m - d * i), + (t[2] = -a * l), + (t[6] = i), + (t[10] = a * s)); + } else if (e.order === "ZYX") { + let d = a * c, + p = a * u, + f = i * c, + m = i * u; + ((t[0] = s * c), + (t[4] = f * l - p), + (t[8] = d * l + m), + (t[1] = s * u), + (t[5] = m * l + d), + (t[9] = p * l - f), + (t[2] = -l), + (t[6] = i * s), + (t[10] = a * s)); + } else if (e.order === "YZX") { + let d = a * s, + p = a * l, + f = i * s, + m = i * l; + ((t[0] = s * c), + (t[4] = m - d * u), + (t[8] = f * u + p), + (t[1] = u), + (t[5] = a * c), + (t[9] = -i * c), + (t[2] = -l * c), + (t[6] = p * u + f), + (t[10] = d - m * u)); + } else if (e.order === "XZY") { + let d = a * s, + p = a * l, + f = i * s, + m = i * l; + ((t[0] = s * c), + (t[4] = -u), + (t[8] = l * c), + (t[1] = d * u + m), + (t[5] = a * c), + (t[9] = p * u - f), + (t[2] = f * u - p), + (t[6] = i * c), + (t[10] = m * u + d)); + } + return ( + (t[3] = 0), + (t[7] = 0), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + this + ); + } + makeRotationFromQuaternion(e) { + return this.compose(aPr, e, iPr); + } + lookAt(e, t, n) { + let r = this.elements; + if ((r1.subVectors(e, t), r1.lengthSq() === 0)) r1.z = 1; + if ((r1.normalize(), n5.crossVectors(n, r1), n5.lengthSq() === 0)) { + if (Math.abs(n.z) === 1) r1.x += 0.0001; + else r1.z += 0.0001; + (r1.normalize(), n5.crossVectors(n, r1)); + } + return ( + n5.normalize(), + Vme.crossVectors(r1, n5), + (r[0] = n5.x), + (r[4] = Vme.x), + (r[8] = r1.x), + (r[1] = n5.y), + (r[5] = Vme.y), + (r[9] = r1.y), + (r[2] = n5.z), + (r[6] = Vme.z), + (r[10] = r1.z), + this + ); + } + multiply(e) { + return this.multiplyMatrices(this, e); + } + premultiply(e) { + return this.multiplyMatrices(e, this); + } + multiplyMatrices(e, t) { + let n = e.elements, + r = t.elements, + o = this.elements, + a = n[0], + i = n[4], + s = n[8], + l = n[12], + c = n[1], + u = n[5], + d = n[9], + p = n[13], + f = n[2], + m = n[6], + g = n[10], + v = n[14], + y = n[3], + x = n[7], + A = n[11], + w = n[15], + C = r[0], + E = r[4], + T = r[8], + I = r[12], + k = r[1], + L = r[5], + O = r[9], + B = r[13], + U = r[2], + D = r[6], + N = r[10], + _ = r[14], + G = r[3], + Z = r[7], + q = r[11], + H = r[15]; + return ( + (o[0] = a * C + i * k + s * U + l * G), + (o[4] = a * E + i * L + s * D + l * Z), + (o[8] = a * T + i * O + s * N + l * q), + (o[12] = a * I + i * B + s * _ + l * H), + (o[1] = c * C + u * k + d * U + p * G), + (o[5] = c * E + u * L + d * D + p * Z), + (o[9] = c * T + u * O + d * N + p * q), + (o[13] = c * I + u * B + d * _ + p * H), + (o[2] = f * C + m * k + g * U + v * G), + (o[6] = f * E + m * L + g * D + v * Z), + (o[10] = f * T + m * O + g * N + v * q), + (o[14] = f * I + m * B + g * _ + v * H), + (o[3] = y * C + x * k + A * U + w * G), + (o[7] = y * E + x * L + A * D + w * Z), + (o[11] = y * T + x * O + A * N + w * q), + (o[15] = y * I + x * B + A * _ + w * H), + this + ); + } + multiplyScalar(e) { + let t = this.elements; + return ( + (t[0] *= e), + (t[4] *= e), + (t[8] *= e), + (t[12] *= e), + (t[1] *= e), + (t[5] *= e), + (t[9] *= e), + (t[13] *= e), + (t[2] *= e), + (t[6] *= e), + (t[10] *= e), + (t[14] *= e), + (t[3] *= e), + (t[7] *= e), + (t[11] *= e), + (t[15] *= e), + this + ); + } + determinant() { + let e = this.elements, + t = e[0], + n = e[4], + r = e[8], + o = e[12], + a = e[1], + i = e[5], + s = e[9], + l = e[13], + c = e[2], + u = e[6], + d = e[10], + p = e[14], + f = e[3], + m = e[7], + g = e[11], + v = e[15], + y = s * p - l * d, + x = i * p - l * u, + A = i * d - s * u, + w = a * p - l * c, + C = a * d - s * c, + E = a * u - i * c; + return ( + t * (m * y - g * x + v * A) - + n * (f * y - g * w + v * C) + + r * (f * x - m * w + v * E) - + o * (f * A - m * C + g * E) + ); + } + determinantAffine() { + let e = this.elements, + t = e[0], + n = e[4], + r = e[8], + o = e[1], + a = e[5], + i = e[9], + s = e[2], + l = e[6], + c = e[10]; + return t * (a * c - i * l) - n * (o * c - i * s) + r * (o * l - a * s); + } + transpose() { + let e = this.elements, + t; + return ( + (t = e[1]), + (e[1] = e[4]), + (e[4] = t), + (t = e[2]), + (e[2] = e[8]), + (e[8] = t), + (t = e[6]), + (e[6] = e[9]), + (e[9] = t), + (t = e[3]), + (e[3] = e[12]), + (e[12] = t), + (t = e[7]), + (e[7] = e[13]), + (e[13] = t), + (t = e[11]), + (e[11] = e[14]), + (e[14] = t), + this + ); + } + setPosition(e, t, n) { + let r = this.elements; + if (e.isVector3) ((r[12] = e.x), (r[13] = e.y), (r[14] = e.z)); + else ((r[12] = e), (r[13] = t), (r[14] = n)); + return this; + } + invert() { + let e = this.elements, + t = e[0], + n = e[1], + r = e[2], + o = e[3], + a = e[4], + i = e[5], + s = e[6], + l = e[7], + c = e[8], + u = e[9], + d = e[10], + p = e[11], + f = e[12], + m = e[13], + g = e[14], + v = e[15], + y = t * i - n * a, + x = t * s - r * a, + A = t * l - o * a, + w = n * s - r * i, + C = n * l - o * i, + E = r * l - o * s, + T = c * m - u * f, + I = c * g - d * f, + k = c * v - p * f, + L = u * g - d * m, + O = u * v - p * m, + B = d * v - p * g, + U = y * B - x * O + A * L + w * k - C * I + E * T; + if (U === 0) + return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + let D = 1 / U; + return ( + (e[0] = (i * B - s * O + l * L) * D), + (e[1] = (r * O - n * B - o * L) * D), + (e[2] = (m * E - g * C + v * w) * D), + (e[3] = (d * C - u * E - p * w) * D), + (e[4] = (s * k - a * B - l * I) * D), + (e[5] = (t * B - r * k + o * I) * D), + (e[6] = (g * A - f * E - v * x) * D), + (e[7] = (c * E - d * A + p * x) * D), + (e[8] = (a * O - i * k + l * T) * D), + (e[9] = (n * k - t * O - o * T) * D), + (e[10] = (f * C - m * A + v * y) * D), + (e[11] = (u * A - c * C - p * y) * D), + (e[12] = (i * I - a * L - s * T) * D), + (e[13] = (t * L - n * I + r * T) * D), + (e[14] = (m * x - f * w - g * y) * D), + (e[15] = (c * w - u * x + d * y) * D), + this + ); + } + scale(e) { + let t = this.elements, + { x: n, y: r, z: o } = e; + return ( + (t[0] *= n), + (t[4] *= r), + (t[8] *= o), + (t[1] *= n), + (t[5] *= r), + (t[9] *= o), + (t[2] *= n), + (t[6] *= r), + (t[10] *= o), + (t[3] *= n), + (t[7] *= r), + (t[11] *= o), + this + ); + } + getMaxScaleOnAxis() { + let e = this.elements, + t = e[0] * e[0] + e[1] * e[1] + e[2] * e[2], + n = e[4] * e[4] + e[5] * e[5] + e[6] * e[6], + r = e[8] * e[8] + e[9] * e[9] + e[10] * e[10]; + return Math.sqrt(Math.max(t, n, r)); + } + makeTranslation(e, t, n) { + if (e.isVector3) + this.set(1, 0, 0, e.x, 0, 1, 0, e.y, 0, 0, 1, e.z, 0, 0, 0, 1); + else this.set(1, 0, 0, e, 0, 1, 0, t, 0, 0, 1, n, 0, 0, 0, 1); + return this; + } + makeRotationX(e) { + let t = Math.cos(e), + n = Math.sin(e); + return (this.set(1, 0, 0, 0, 0, t, -n, 0, 0, n, t, 0, 0, 0, 0, 1), this); + } + makeRotationY(e) { + let t = Math.cos(e), + n = Math.sin(e); + return (this.set(t, 0, n, 0, 0, 1, 0, 0, -n, 0, t, 0, 0, 0, 0, 1), this); + } + makeRotationZ(e) { + let t = Math.cos(e), + n = Math.sin(e); + return (this.set(t, -n, 0, 0, n, t, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this); + } + makeRotationAxis(e, t) { + let n = Math.cos(t), + r = Math.sin(t), + o = 1 - n, + { x: a, y: i, z: s } = e, + l = o * a, + c = o * i; + return ( + this.set( + l * a + n, + l * i - r * s, + l * s + r * i, + 0, + l * i + r * s, + c * i + n, + c * s - r * a, + 0, + l * s - r * i, + c * s + r * a, + o * s * s + n, + 0, + 0, + 0, + 0, + 1, + ), + this + ); + } + makeScale(e, t, n) { + return (this.set(e, 0, 0, 0, 0, t, 0, 0, 0, 0, n, 0, 0, 0, 0, 1), this); + } + makeShear(e, t, n, r, o, a) { + return (this.set(1, n, o, 0, e, 1, a, 0, t, r, 1, 0, 0, 0, 0, 1), this); + } + compose(e, t, n) { + let r = this.elements, + { _x: o, _y: a, _z: i, _w: s } = t, + l = o + o, + c = a + a, + u = i + i, + d = o * l, + p = o * c, + f = o * u, + m = a * c, + g = a * u, + v = i * u, + y = s * l, + x = s * c, + A = s * u, + { x: w, y: C, z: E } = n; + return ( + (r[0] = (1 - (m + v)) * w), + (r[1] = (p + A) * w), + (r[2] = (f - x) * w), + (r[3] = 0), + (r[4] = (p - A) * C), + (r[5] = (1 - (d + v)) * C), + (r[6] = (g + y) * C), + (r[7] = 0), + (r[8] = (f + x) * E), + (r[9] = (g - y) * E), + (r[10] = (1 - (d + m)) * E), + (r[11] = 0), + (r[12] = e.x), + (r[13] = e.y), + (r[14] = e.z), + (r[15] = 1), + this + ); + } + decompose(e, t, n) { + let r = this.elements; + ((e.x = r[12]), (e.y = r[13]), (e.z = r[14])); + let o = this.determinantAffine(); + if (o === 0) return (n.set(1, 1, 1), t.identity(), this); + let a = dB.set(r[0], r[1], r[2]).length(), + i = dB.set(r[4], r[5], r[6]).length(), + s = dB.set(r[8], r[9], r[10]).length(); + if (o < 0) a = -a; + Sv.copy(this); + let l = 1 / a, + c = 1 / i, + u = 1 / s; + return ( + (Sv.elements[0] *= l), + (Sv.elements[1] *= l), + (Sv.elements[2] *= l), + (Sv.elements[4] *= c), + (Sv.elements[5] *= c), + (Sv.elements[6] *= c), + (Sv.elements[8] *= u), + (Sv.elements[9] *= u), + (Sv.elements[10] *= u), + t.setFromRotationMatrix(Sv), + (n.x = a), + (n.y = i), + (n.z = s), + this + ); + } + makePerspective(e, t, n, r, o, a, i = 2000, s = !1) { + let l = this.elements, + c = (2 * o) / (t - e), + u = (2 * o) / (n - r), + d = (t + e) / (t - e), + p = (n + r) / (n - r), + f, + m; + if (s) ((f = o / (a - o)), (m = (a * o) / (a - o))); + else if (i === 2000) + ((f = -(a + o) / (a - o)), (m = (-2 * a * o) / (a - o))); + else if (i === 2001) ((f = -a / (a - o)), (m = (-a * o) / (a - o))); + else + throw Error( + "THREE.Matrix4.makePerspective(): Invalid coordinate system: " + i, + ); + return ( + (l[0] = c), + (l[4] = 0), + (l[8] = d), + (l[12] = 0), + (l[1] = 0), + (l[5] = u), + (l[9] = p), + (l[13] = 0), + (l[2] = 0), + (l[6] = 0), + (l[10] = f), + (l[14] = m), + (l[3] = 0), + (l[7] = 0), + (l[11] = -1), + (l[15] = 0), + this + ); + } + makeOrthographic(e, t, n, r, o, a, i = 2000, s = !1) { + let l = this.elements, + c = 2 / (t - e), + u = 2 / (n - r), + d = -(t + e) / (t - e), + p = -(n + r) / (n - r), + f, + m; + if (s) ((f = 1 / (a - o)), (m = a / (a - o))); + else if (i === 2000) ((f = -2 / (a - o)), (m = -(a + o) / (a - o))); + else if (i === 2001) ((f = -1 / (a - o)), (m = -o / (a - o))); + else + throw Error( + "THREE.Matrix4.makeOrthographic(): Invalid coordinate system: " + i, + ); + return ( + (l[0] = c), + (l[4] = 0), + (l[8] = 0), + (l[12] = d), + (l[1] = 0), + (l[5] = u), + (l[9] = 0), + (l[13] = p), + (l[2] = 0), + (l[6] = 0), + (l[10] = f), + (l[14] = m), + (l[3] = 0), + (l[7] = 0), + (l[11] = 0), + (l[15] = 1), + this + ); + } + equals(e) { + let t = this.elements, + n = e.elements; + for (let r = 0; r < 16; r++) if (t[r] !== n[r]) return !1; + return !0; + } + fromArray(e, t = 0) { + for (let n = 0; n < 16; n++) this.elements[n] = e[n + t]; + return this; + } + toArray(e = [], t = 0) { + let n = this.elements; + return ( + (e[t] = n[0]), + (e[t + 1] = n[1]), + (e[t + 2] = n[2]), + (e[t + 3] = n[3]), + (e[t + 4] = n[4]), + (e[t + 5] = n[5]), + (e[t + 6] = n[6]), + (e[t + 7] = n[7]), + (e[t + 8] = n[8]), + (e[t + 9] = n[9]), + (e[t + 10] = n[10]), + (e[t + 11] = n[11]), + (e[t + 12] = n[12]), + (e[t + 13] = n[13]), + (e[t + 14] = n[14]), + (e[t + 15] = n[15]), + e + ); + } + }; + ((dB = new he()), + (Sv = new Vn()), + (aPr = new he(0, 0, 0)), + (iPr = new he(1, 1, 1)), + (n5 = new he()), + (Vme = new he()), + (r1 = new he()), + (wfn = new Vn()), + (Sfn = new Vo())); + Hy = class Hy { + constructor(e = 0, t = 0, n = 0, r = Hy.DEFAULT_ORDER) { + ((this.isEuler = !0), + (this._x = e), + (this._y = t), + (this._z = n), + (this._order = r)); + } + get x() { + return this._x; + } + set x(e) { + ((this._x = e), this._onChangeCallback()); + } + get y() { + return this._y; + } + set y(e) { + ((this._y = e), this._onChangeCallback()); + } + get z() { + return this._z; + } + set z(e) { + ((this._z = e), this._onChangeCallback()); + } + get order() { + return this._order; + } + set order(e) { + ((this._order = e), this._onChangeCallback()); + } + set(e, t, n, r = this._order) { + return ( + (this._x = e), + (this._y = t), + (this._z = n), + (this._order = r), + this._onChangeCallback(), + this + ); + } + clone() { + return new this.constructor(this._x, this._y, this._z, this._order); + } + copy(e) { + return ( + (this._x = e._x), + (this._y = e._y), + (this._z = e._z), + (this._order = e._order), + this._onChangeCallback(), + this + ); + } + setFromRotationMatrix(e, t = this._order, n = !0) { + let r = e.elements, + o = r[0], + a = r[4], + i = r[8], + s = r[1], + l = r[5], + c = r[9], + u = r[2], + d = r[6], + p = r[10]; + switch (t) { + case "XYZ": + if (((this._y = Math.asin(to(i, -1, 1))), Math.abs(i) < 0.9999999)) + ((this._x = Math.atan2(-c, p)), (this._z = Math.atan2(-a, o))); + else ((this._x = Math.atan2(d, l)), (this._z = 0)); + break; + case "YXZ": + if (((this._x = Math.asin(-to(c, -1, 1))), Math.abs(c) < 0.9999999)) + ((this._y = Math.atan2(i, p)), (this._z = Math.atan2(s, l))); + else ((this._y = Math.atan2(-u, o)), (this._z = 0)); + break; + case "ZXY": + if (((this._x = Math.asin(to(d, -1, 1))), Math.abs(d) < 0.9999999)) + ((this._y = Math.atan2(-u, p)), (this._z = Math.atan2(-a, l))); + else ((this._y = 0), (this._z = Math.atan2(s, o))); + break; + case "ZYX": + if (((this._y = Math.asin(-to(u, -1, 1))), Math.abs(u) < 0.9999999)) + ((this._x = Math.atan2(d, p)), (this._z = Math.atan2(s, o))); + else ((this._x = 0), (this._z = Math.atan2(-a, l))); + break; + case "YZX": + if (((this._z = Math.asin(to(s, -1, 1))), Math.abs(s) < 0.9999999)) + ((this._x = Math.atan2(-c, l)), (this._y = Math.atan2(-u, o))); + else ((this._x = 0), (this._y = Math.atan2(i, p))); + break; + case "XZY": + if (((this._z = Math.asin(-to(a, -1, 1))), Math.abs(a) < 0.9999999)) + ((this._x = Math.atan2(d, l)), (this._y = Math.atan2(i, o))); + else ((this._x = Math.atan2(-c, p)), (this._y = 0)); + break; + default: + zn( + "Euler: .setFromRotationMatrix() encountered an unknown order: " + + t, + ); + } + if (((this._order = t), n === !0)) this._onChangeCallback(); + return this; + } + setFromQuaternion(e, t, n) { + return ( + wfn.makeRotationFromQuaternion(e), + this.setFromRotationMatrix(wfn, t, n) + ); + } + setFromVector3(e, t = this._order) { + return this.set(e.x, e.y, e.z, t); + } + reorder(e) { + return (Sfn.setFromEuler(this), this.setFromQuaternion(Sfn, e)); + } + equals(e) { + return ( + e._x === this._x && + e._y === this._y && + e._z === this._z && + e._order === this._order + ); + } + fromArray(e) { + if ( + ((this._x = e[0]), (this._y = e[1]), (this._z = e[2]), e[3] !== void 0) + ) + this._order = e[3]; + return (this._onChangeCallback(), this); + } + toArray(e = [], t = 0) { + return ( + (e[t] = this._x), + (e[t + 1] = this._y), + (e[t + 2] = this._z), + (e[t + 3] = this._order), + e + ); + } + _onChange(e) { + return ((this._onChangeCallback = e), this); + } + _onChangeCallback() {} + *[Symbol.iterator]() { + (yield this._x, yield this._y, yield this._z, yield this._order); + } + }; + Hy.DEFAULT_ORDER = "XYZ"; + ((Cfn = new he()), + (pB = new Vo()), + (zw = new Vn()), + (Gme = new he()), + (YQ = new he()), + (lPr = new he()), + (cPr = new Vo()), + (Efn = new he(1, 0, 0)), + (Ifn = new he(0, 1, 0)), + (Tfn = new he(0, 0, 1)), + (kfn = { type: "added" }), + (uPr = { type: "removed" }), + (fB = { type: "childadded", child: null }), + (Nze = { type: "childremoved", child: null })); + Go = class Go extends Lh { + constructor() { + super(); + ((this.isObject3D = !0), + Object.defineProperty(this, "id", { value: sPr++ }), + (this.uuid = a1()), + (this.name = ""), + (this.type = "Object3D"), + (this.parent = null), + (this.children = []), + (this.up = Go.DEFAULT_UP.clone())); + let e = new he(), + t = new Hy(), + n = new Vo(), + r = new he(1, 1, 1); + function o() { + n.setFromEuler(t, !1); + } + function a() { + t.setFromQuaternion(n, void 0, !1); + } + (t._onChange(o), + n._onChange(a), + Object.defineProperties(this, { + position: { configurable: !0, enumerable: !0, value: e }, + rotation: { configurable: !0, enumerable: !0, value: t }, + quaternion: { configurable: !0, enumerable: !0, value: n }, + scale: { configurable: !0, enumerable: !0, value: r }, + modelViewMatrix: { value: new Vn() }, + normalMatrix: { value: new Ur() }, + }), + (this.matrix = new Vn()), + (this.matrixWorld = new Vn()), + (this.matrixAutoUpdate = Go.DEFAULT_MATRIX_AUTO_UPDATE), + (this.matrixWorldAutoUpdate = Go.DEFAULT_MATRIX_WORLD_AUTO_UPDATE), + (this.matrixWorldNeedsUpdate = !1), + (this.layers = new $w()), + (this.visible = !0), + (this.castShadow = !1), + (this.receiveShadow = !1), + (this.frustumCulled = !0), + (this.renderOrder = 0), + (this.animations = []), + (this.customDepthMaterial = void 0), + (this.customDistanceMaterial = void 0), + (this.static = !1), + (this.userData = {}), + (this.pivot = null)); + } + onBeforeShadow() {} + onAfterShadow() {} + onBeforeRender() {} + onAfterRender() {} + applyMatrix4(e) { + if (this.matrixAutoUpdate) this.updateMatrix(); + (this.matrix.premultiply(e), + this.matrix.decompose(this.position, this.quaternion, this.scale)); + } + applyQuaternion(e) { + return (this.quaternion.premultiply(e), this); + } + setRotationFromAxisAngle(e, t) { + this.quaternion.setFromAxisAngle(e, t); + } + setRotationFromEuler(e) { + this.quaternion.setFromEuler(e, !0); + } + setRotationFromMatrix(e) { + this.quaternion.setFromRotationMatrix(e); + } + setRotationFromQuaternion(e) { + this.quaternion.copy(e); + } + rotateOnAxis(e, t) { + return (pB.setFromAxisAngle(e, t), this.quaternion.multiply(pB), this); + } + rotateOnWorldAxis(e, t) { + return (pB.setFromAxisAngle(e, t), this.quaternion.premultiply(pB), this); + } + rotateX(e) { + return this.rotateOnAxis(Efn, e); + } + rotateY(e) { + return this.rotateOnAxis(Ifn, e); + } + rotateZ(e) { + return this.rotateOnAxis(Tfn, e); + } + translateOnAxis(e, t) { + return ( + Cfn.copy(e).applyQuaternion(this.quaternion), + this.position.add(Cfn.multiplyScalar(t)), + this + ); + } + translateX(e) { + return this.translateOnAxis(Efn, e); + } + translateY(e) { + return this.translateOnAxis(Ifn, e); + } + translateZ(e) { + return this.translateOnAxis(Tfn, e); + } + localToWorld(e) { + return (this.updateWorldMatrix(!0, !1), e.applyMatrix4(this.matrixWorld)); + } + worldToLocal(e) { + return ( + this.updateWorldMatrix(!0, !1), + e.applyMatrix4(zw.copy(this.matrixWorld).invert()) + ); + } + lookAt(e, t, n) { + if (e.isVector3) Gme.copy(e); + else Gme.set(e, t, n); + let r = this.parent; + if ( + (this.updateWorldMatrix(!0, !1), + YQ.setFromMatrixPosition(this.matrixWorld), + this.isCamera || this.isLight) + ) + zw.lookAt(YQ, Gme, this.up); + else zw.lookAt(Gme, YQ, this.up); + if ((this.quaternion.setFromRotationMatrix(zw), r)) + (zw.extractRotation(r.matrixWorld), + pB.setFromRotationMatrix(zw), + this.quaternion.premultiply(pB.invert())); + } + add(e) { + if (arguments.length > 1) { + for (let t = 0; t < arguments.length; t++) this.add(arguments[t]); + return this; + } + if (e === this) + return ( + wr("Object3D.add: object can't be added as a child of itself.", e), + this + ); + if (e && e.isObject3D) + (e.removeFromParent(), + (e.parent = this), + this.children.push(e), + e.dispatchEvent(kfn), + (fB.child = e), + this.dispatchEvent(fB), + (fB.child = null)); + else wr("Object3D.add: object not an instance of THREE.Object3D.", e); + return this; + } + remove(e) { + if (arguments.length > 1) { + for (let n = 0; n < arguments.length; n++) this.remove(arguments[n]); + return this; + } + let t = this.children.indexOf(e); + if (t !== -1) + ((e.parent = null), + this.children.splice(t, 1), + e.dispatchEvent(uPr), + (Nze.child = e), + this.dispatchEvent(Nze), + (Nze.child = null)); + return this; + } + removeFromParent() { + let e = this.parent; + if (e !== null) e.remove(this); + return this; + } + clear() { + return this.remove(...this.children); + } + attach(e) { + if ( + (this.updateWorldMatrix(!0, !1), + zw.copy(this.matrixWorld).invert(), + e.parent !== null) + ) + (e.parent.updateWorldMatrix(!0, !1), zw.multiply(e.parent.matrixWorld)); + return ( + e.applyMatrix4(zw), + e.removeFromParent(), + (e.parent = this), + this.children.push(e), + e.updateWorldMatrix(!1, !0), + e.dispatchEvent(kfn), + (fB.child = e), + this.dispatchEvent(fB), + (fB.child = null), + this + ); + } + getObjectById(e) { + return this.getObjectByProperty("id", e); + } + getObjectByName(e) { + return this.getObjectByProperty("name", e); + } + getObjectByProperty(e, t) { + if (this[e] === t) return this; + for (let n = 0, r = this.children.length; n < r; n++) { + let a = this.children[n].getObjectByProperty(e, t); + if (a !== void 0) return a; + } + return; + } + getObjectsByProperty(e, t, n = []) { + if (this[e] === t) n.push(this); + let r = this.children; + for (let o = 0, a = r.length; o < a; o++) + r[o].getObjectsByProperty(e, t, n); + return n; + } + getWorldPosition(e) { + return ( + this.updateWorldMatrix(!0, !1), + e.setFromMatrixPosition(this.matrixWorld) + ); + } + getWorldQuaternion(e) { + return ( + this.updateWorldMatrix(!0, !1), + this.matrixWorld.decompose(YQ, e, lPr), + e + ); + } + getWorldScale(e) { + return ( + this.updateWorldMatrix(!0, !1), + this.matrixWorld.decompose(YQ, cPr, e), + e + ); + } + getWorldDirection(e) { + this.updateWorldMatrix(!0, !1); + let t = this.matrixWorld.elements; + return e.set(t[8], t[9], t[10]).normalize(); + } + raycast() {} + intersectsFrustum() {} + traverse(e) { + e(this); + let t = this.children; + for (let n = 0, r = t.length; n < r; n++) t[n].traverse(e); + } + traverseVisible(e) { + if (this.visible === !1) return; + e(this); + let t = this.children; + for (let n = 0, r = t.length; n < r; n++) t[n].traverseVisible(e); + } + traverseAncestors(e) { + let t = this.parent; + if (t !== null) (e(t), t.traverseAncestors(e)); + } + updateMatrix() { + this.matrix.compose(this.position, this.quaternion, this.scale); + let e = this.pivot; + if (e !== null) { + let { x: t, y: n, z: r } = e, + o = this.matrix.elements; + ((o[12] += t - o[0] * t - o[4] * n - o[8] * r), + (o[13] += n - o[1] * t - o[5] * n - o[9] * r), + (o[14] += r - o[2] * t - o[6] * n - o[10] * r)); + } + this.matrixWorldNeedsUpdate = !0; + } + updateMatrixWorld(e) { + if (this.matrixAutoUpdate) this.updateMatrix(); + if (this.matrixWorldNeedsUpdate || e) { + if (this.matrixWorldAutoUpdate === !0) + if (this.parent === null) this.matrixWorld.copy(this.matrix); + else + this.matrixWorld.multiplyMatrices( + this.parent.matrixWorld, + this.matrix, + ); + ((this.matrixWorldNeedsUpdate = !1), (e = !0)); + } + let t = this.children; + for (let n = 0, r = t.length; n < r; n++) t[n].updateMatrixWorld(e); + } + updateWorldMatrix(e, t, n = !1) { + let r = this.parent; + if (e === !0 && r !== null) r.updateWorldMatrix(!0, !1); + if (this.matrixAutoUpdate) this.updateMatrix(); + if (this.matrixWorldNeedsUpdate || n) { + if (this.matrixWorldAutoUpdate === !0) + if (this.parent === null) this.matrixWorld.copy(this.matrix); + else + this.matrixWorld.multiplyMatrices( + this.parent.matrixWorld, + this.matrix, + ); + ((this.matrixWorldNeedsUpdate = !1), (n = !0)); + } + if (t === !0) { + let o = this.children; + for (let a = 0, i = o.length; a < i; a++) + o[a].updateWorldMatrix(!1, !0, n); + } + } + toJSON(e) { + let t = e === void 0 || typeof e === "string", + n = {}; + if (t) + ((e = { + geometries: {}, + materials: {}, + textures: {}, + images: {}, + shapes: {}, + skeletons: {}, + animations: {}, + nodes: {}, + }), + (n.metadata = { + version: 4.7, + type: "Object", + generator: "Object3D.toJSON", + })); + let r = {}; + if ( + ((r.uuid = this.uuid), + (r.type = this.type), + (r.name = this.name), + (r.castShadow = this.castShadow), + (r.receiveShadow = this.receiveShadow), + (r.visible = this.visible), + (r.frustumCulled = this.frustumCulled), + (r.renderOrder = this.renderOrder), + (r.static = this.static), + (r.matrixAutoUpdate = this.matrixAutoUpdate), + Object.keys(this.userData).length > 0) + ) + r.userData = this.userData; + if ( + ((r.layers = this.layers.mask), + (r.matrix = this.matrix.toArray()), + (r.up = this.up.toArray()), + this.pivot !== null) + ) + r.pivot = this.pivot.toArray(); + if (this.morphTargetDictionary !== void 0) + r.morphTargetDictionary = Object.assign({}, this.morphTargetDictionary); + if (this.morphTargetInfluences !== void 0) + r.morphTargetInfluences = this.morphTargetInfluences.slice(); + if (this.isInstancedMesh) { + if ( + ((r.type = "InstancedMesh"), + (r.count = this.count), + (r.instanceMatrix = this.instanceMatrix.toJSON()), + this.instanceColor !== null) + ) + r.instanceColor = this.instanceColor.toJSON(); + } + if (this.isBatchedMesh) { + if ( + ((r.type = "BatchedMesh"), + (r.perObjectFrustumCulled = this.perObjectFrustumCulled), + (r.sortObjects = this.sortObjects), + (r.drawRanges = this._drawRanges), + (r.reservedRanges = this._reservedRanges), + (r.geometryInfo = this._geometryInfo.map((i) => ({ + ...i, + boundingBox: i.boundingBox ? i.boundingBox.toJSON() : void 0, + boundingSphere: i.boundingSphere + ? i.boundingSphere.toJSON() + : void 0, + }))), + (r.instanceInfo = this._instanceInfo.map((i) => ({ ...i }))), + (r.availableInstanceIds = this._availableInstanceIds.slice()), + (r.availableGeometryIds = this._availableGeometryIds.slice()), + (r.nextIndexStart = this._nextIndexStart), + (r.nextVertexStart = this._nextVertexStart), + (r.geometryCount = this._geometryCount), + (r.maxInstanceCount = this._maxInstanceCount), + (r.maxVertexCount = this._maxVertexCount), + (r.maxIndexCount = this._maxIndexCount), + (r.geometryInitialized = this._geometryInitialized), + (r.matricesTexture = this._matricesTexture.toJSON(e)), + (r.indirectTexture = this._indirectTexture.toJSON(e)), + this._colorsTexture !== null) + ) + r.colorsTexture = this._colorsTexture.toJSON(e); + if (this.boundingSphere !== null) + r.boundingSphere = this.boundingSphere.toJSON(); + if (this.boundingBox !== null) + r.boundingBox = this.boundingBox.toJSON(); + } + function o(i, s) { + if (i[s.uuid] === void 0) i[s.uuid] = s.toJSON(e); + return s.uuid; + } + if (this.isScene) { + if (this.background) { + if (this.background.isColor) r.background = this.background.toJSON(); + else if (this.background.isTexture) + r.background = this.background.toJSON(e).uuid; + } + if ( + this.environment && + this.environment.isTexture && + this.environment.isRenderTargetTexture !== !0 + ) + r.environment = this.environment.toJSON(e).uuid; + } else if (this.isMesh || this.isLine || this.isPoints) { + r.geometry = o(e.geometries, this.geometry); + let i = this.geometry.parameters; + if (i !== void 0 && i.shapes !== void 0) { + let s = i.shapes; + if (Array.isArray(s)) + for (let l = 0, c = s.length; l < c; l++) { + let u = s[l]; + o(e.shapes, u); + } + else o(e.shapes, s); + } + } + if (this.isSkinnedMesh) { + if ( + ((r.bindMode = this.bindMode), + (r.bindMatrix = this.bindMatrix.toArray()), + this.skeleton !== void 0) + ) + (o(e.skeletons, this.skeleton), (r.skeleton = this.skeleton.uuid)); + } + if (this.material !== void 0) + if (Array.isArray(this.material)) { + let i = []; + for (let s = 0, l = this.material.length; s < l; s++) + i.push(o(e.materials, this.material[s])); + r.material = i; + } else r.material = o(e.materials, this.material); + if (this.children.length > 0) { + r.children = []; + for (let i = 0; i < this.children.length; i++) + r.children.push(this.children[i].toJSON(e).object); + } + if (this.animations.length > 0) { + r.animations = []; + for (let i = 0; i < this.animations.length; i++) { + let s = this.animations[i]; + r.animations.push(o(e.animations, s)); + } + } + if (t) { + let i = a(e.geometries), + s = a(e.materials), + l = a(e.textures), + c = a(e.images), + u = a(e.shapes), + d = a(e.skeletons), + p = a(e.animations), + f = a(e.nodes); + if (i.length > 0) n.geometries = i; + if (s.length > 0) n.materials = s; + if (l.length > 0) n.textures = l; + if (c.length > 0) n.images = c; + if (u.length > 0) n.shapes = u; + if (d.length > 0) n.skeletons = d; + if (p.length > 0) n.animations = p; + if (f.length > 0) n.nodes = f; + } + return ((n.object = r), n); + function a(i) { + let s = []; + for (let l in i) { + let c = i[l]; + (delete c.metadata, s.push(c)); + } + return s; + } + } + clone(e) { + return new this.constructor().copy(this, e); + } + copy(e, t = !0) { + if ( + ((this.name = e.name), + this.up.copy(e.up), + this.position.copy(e.position), + (this.rotation.order = e.rotation.order), + this.quaternion.copy(e.quaternion), + this.scale.copy(e.scale), + (this.pivot = e.pivot !== null ? e.pivot.clone() : null), + this.matrix.copy(e.matrix), + this.matrixWorld.copy(e.matrixWorld), + (this.matrixAutoUpdate = e.matrixAutoUpdate), + (this.matrixWorldAutoUpdate = e.matrixWorldAutoUpdate), + (this.matrixWorldNeedsUpdate = e.matrixWorldNeedsUpdate), + (this.layers.mask = e.layers.mask), + (this.visible = e.visible), + (this.castShadow = e.castShadow), + (this.receiveShadow = e.receiveShadow), + (this.frustumCulled = e.frustumCulled), + (this.renderOrder = e.renderOrder), + (this.static = e.static), + (this.animations = e.animations.slice()), + (this.userData = JSON.parse(JSON.stringify(e.userData))), + t === !0) + ) + for (let n = 0; n < e.children.length; n++) { + let r = e.children[n]; + this.add(r.clone()); + } + return this; + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + }; + Go.DEFAULT_UP = new he(0, 1, 0); + Go.DEFAULT_MATRIX_AUTO_UPDATE = !0; + Go.DEFAULT_MATRIX_WORLD_AUTO_UPDATE = !0; + Qw = class Qw extends Go { + constructor() { + super(); + ((this.isGroup = !0), (this.type = "Group")); + } + }; + dPr = { type: "move" }; + ((Ghn = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074, + }), + (r5 = { h: 0, s: 0, l: 0 }), + (qme = { h: 0, s: 0, l: 0 })); + _n = class _n { + constructor(e, t, n) { + return ( + (this.isColor = !0), + (this.r = 1), + (this.g = 1), + (this.b = 1), + this.set(e, t, n) + ); + } + set(e, t, n) { + if (t === void 0 && n === void 0) { + let r = e; + if (r && r.isColor) this.copy(r); + else if (typeof r === "number") this.setHex(r); + else if (typeof r === "string") this.setStyle(r); + } else this.setRGB(e, t, n); + return this; + } + setScalar(e) { + return ((this.r = e), (this.g = e), (this.b = e), this); + } + setHex(e, t = "srgb") { + return ( + (e = Math.floor(e)), + (this.r = ((e >> 16) & 255) / 255), + (this.g = ((e >> 8) & 255) / 255), + (this.b = (e & 255) / 255), + jo.colorSpaceToWorking(this, t), + this + ); + } + setRGB(e, t, n, r = jo.workingColorSpace) { + return ( + (this.r = e), + (this.g = t), + (this.b = n), + jo.colorSpaceToWorking(this, r), + this + ); + } + setHSL(e, t, n, r = jo.workingColorSpace) { + if (((e = hHe(e, 1)), (t = to(t, 0, 1)), (n = to(n, 0, 1)), t === 0)) + this.r = this.g = this.b = n; + else { + let o = n <= 0.5 ? n * (1 + t) : n + t - n * t, + a = 2 * n - o; + ((this.r = zze(a, o, e + 0.3333333333333333)), + (this.g = zze(a, o, e)), + (this.b = zze(a, o, e - 0.3333333333333333))); + } + return (jo.colorSpaceToWorking(this, r), this); + } + setStyle(e, t = "srgb") { + function n(o) { + if (o === void 0) return; + if (parseFloat(o) < 1) + zn("Color: Alpha component of " + e + " will be ignored."); + } + let r; + if ((r = /^(\w+)\(([^\)]*)\)/.exec(e))) { + let o, + a = r[1], + i = r[2]; + switch (a) { + case "rgb": + case "rgba": + if ( + (o = + /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec( + i, + )) + ) + return ( + n(o[4]), + this.setRGB( + Math.min(255, parseInt(o[1], 10)) / 255, + Math.min(255, parseInt(o[2], 10)) / 255, + Math.min(255, parseInt(o[3], 10)) / 255, + t, + ) + ); + if ( + (o = + /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec( + i, + )) + ) + return ( + n(o[4]), + this.setRGB( + Math.min(100, parseInt(o[1], 10)) / 100, + Math.min(100, parseInt(o[2], 10)) / 100, + Math.min(100, parseInt(o[3], 10)) / 100, + t, + ) + ); + break; + case "hsl": + case "hsla": + if ( + (o = + /^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec( + i, + )) + ) + return ( + n(o[4]), + this.setHSL( + parseFloat(o[1]) / 360, + parseFloat(o[2]) / 100, + parseFloat(o[3]) / 100, + t, + ) + ); + break; + default: + zn("Color: Unknown color model " + e); + } + } else if ((r = /^\#([A-Fa-f\d]+)$/.exec(e))) { + let o = r[1], + a = o.length; + if (a === 3) + return this.setRGB( + parseInt(o.charAt(0), 16) / 15, + parseInt(o.charAt(1), 16) / 15, + parseInt(o.charAt(2), 16) / 15, + t, + ); + else if (a === 6) return this.setHex(parseInt(o, 16), t); + else zn("Color: Invalid hex color " + e); + } else if (e && e.length > 0) return this.setColorName(e, t); + return this; + } + setColorName(e, t = "srgb") { + let n = Ghn[e.toLowerCase()]; + if (n !== void 0) this.setHex(n, t); + else zn("Color: Unknown color " + e); + return this; + } + clone() { + return new this.constructor(this.r, this.g, this.b); + } + copy(e) { + return ((this.r = e.r), (this.g = e.g), (this.b = e.b), this); + } + copySRGBToLinear(e) { + return ((this.r = Xw(e.r)), (this.g = Xw(e.g)), (this.b = Xw(e.b)), this); + } + copyLinearToSRGB(e) { + return ((this.r = MB(e.r)), (this.g = MB(e.g)), (this.b = MB(e.b)), this); + } + convertSRGBToLinear() { + return (this.copySRGBToLinear(this), this); + } + convertLinearToSRGB() { + return (this.copyLinearToSRGB(this), this); + } + getHex(e = "srgb") { + return ( + jo.workingToColorSpace(Dm.copy(this), e), + Math.round(to(Dm.r * 255, 0, 255)) * 65536 + + Math.round(to(Dm.g * 255, 0, 255)) * 256 + + Math.round(to(Dm.b * 255, 0, 255)) + ); + } + getHexString(e = "srgb") { + return ("000000" + this.getHex(e).toString(16)).slice(-6); + } + getHSL(e, t = jo.workingColorSpace) { + jo.workingToColorSpace(Dm.copy(this), t); + let { r: n, g: r, b: o } = Dm, + a = Math.max(n, r, o), + i = Math.min(n, r, o), + s, + l, + c = (i + a) / 2; + if (i === a) ((s = 0), (l = 0)); + else { + let u = a - i; + switch (((l = c <= 0.5 ? u / (a + i) : u / (2 - a - i)), a)) { + case n: + s = (r - o) / u + (r < o ? 6 : 0); + break; + case r: + s = (o - n) / u + 2; + break; + case o: + s = (n - r) / u + 4; + break; + } + s /= 6; + } + return ((e.h = s), (e.s = l), (e.l = c), e); + } + getRGB(e, t = jo.workingColorSpace) { + return ( + jo.workingToColorSpace(Dm.copy(this), t), + (e.r = Dm.r), + (e.g = Dm.g), + (e.b = Dm.b), + e + ); + } + getStyle(e = "srgb") { + jo.workingToColorSpace(Dm.copy(this), e); + let { r: t, g: n, b: r } = Dm; + if (e !== "srgb") + return `color(${e} ${t.toFixed(3)} ${n.toFixed(3)} ${r.toFixed(3)})`; + return `rgb(${Math.round(t * 255)},${Math.round(n * 255)},${Math.round(r * 255)})`; + } + offsetHSL(e, t, n) { + return (this.getHSL(r5), this.setHSL(r5.h + e, r5.s + t, r5.l + n)); + } + add(e) { + return ((this.r += e.r), (this.g += e.g), (this.b += e.b), this); + } + addColors(e, t) { + return ( + (this.r = e.r + t.r), + (this.g = e.g + t.g), + (this.b = e.b + t.b), + this + ); + } + addScalar(e) { + return ((this.r += e), (this.g += e), (this.b += e), this); + } + sub(e) { + return ( + (this.r = Math.max(0, this.r - e.r)), + (this.g = Math.max(0, this.g - e.g)), + (this.b = Math.max(0, this.b - e.b)), + this + ); + } + multiply(e) { + return ((this.r *= e.r), (this.g *= e.g), (this.b *= e.b), this); + } + multiplyScalar(e) { + return ((this.r *= e), (this.g *= e), (this.b *= e), this); + } + lerp(e, t) { + return ( + (this.r += (e.r - this.r) * t), + (this.g += (e.g - this.g) * t), + (this.b += (e.b - this.b) * t), + this + ); + } + lerpColors(e, t, n) { + return ( + (this.r = e.r + (t.r - e.r) * n), + (this.g = e.g + (t.g - e.g) * n), + (this.b = e.b + (t.b - e.b) * n), + this + ); + } + lerpHSL(e, t) { + (this.getHSL(r5), e.getHSL(qme)); + let n = cX(r5.h, qme.h, t), + r = cX(r5.s, qme.s, t), + o = cX(r5.l, qme.l, t); + return (this.setHSL(n, r, o), this); + } + setFromVector3(e) { + return ((this.r = e.x), (this.g = e.y), (this.b = e.z), this); + } + applyMatrix3(e) { + let t = this.r, + n = this.g, + r = this.b, + o = e.elements; + return ( + (this.r = o[0] * t + o[3] * n + o[6] * r), + (this.g = o[1] * t + o[4] * n + o[7] * r), + (this.b = o[2] * t + o[5] * n + o[8] * r), + this + ); + } + equals(e) { + return e.r === this.r && e.g === this.g && e.b === this.b; + } + fromArray(e, t = 0) { + return ((this.r = e[t]), (this.g = e[t + 1]), (this.b = e[t + 2]), this); + } + toArray(e = [], t = 0) { + return ((e[t] = this.r), (e[t + 1] = this.g), (e[t + 2] = this.b), e); + } + fromBufferAttribute(e, t) { + return ( + (this.r = e.getX(t)), + (this.g = e.getY(t)), + (this.b = e.getZ(t)), + this + ); + } + toJSON() { + return this.getHex(); + } + *[Symbol.iterator]() { + (yield this.r, yield this.g, yield this.b); + } + }; + Dm = new _n(); + _n.NAMES = Ghn; + y5 = class y5 extends Go { + constructor() { + super(); + if ( + ((this.isScene = !0), + (this.type = "Scene"), + (this.background = null), + (this.environment = null), + (this.fog = null), + (this.backgroundBlurriness = 0), + (this.backgroundIntensity = 1), + (this.backgroundRotation = new Hy()), + (this.environmentIntensity = 1), + (this.environmentRotation = new Hy()), + (this.overrideMaterial = null), + typeof __THREE_DEVTOOLS__ < "u") + ) + __THREE_DEVTOOLS__.dispatchEvent( + new CustomEvent("observe", { detail: this }), + ); + } + copy(e, t) { + if ((super.copy(e, t), e.background !== null)) + this.background = e.background.clone(); + if (e.environment !== null) this.environment = e.environment.clone(); + if (e.fog !== null) this.fog = e.fog.clone(); + if ( + ((this.backgroundBlurriness = e.backgroundBlurriness), + (this.backgroundIntensity = e.backgroundIntensity), + this.backgroundRotation.copy(e.backgroundRotation), + (this.environmentIntensity = e.environmentIntensity), + this.environmentRotation.copy(e.environmentRotation), + e.overrideMaterial !== null) + ) + this.overrideMaterial = e.overrideMaterial.clone(); + return ((this.matrixAutoUpdate = e.matrixAutoUpdate), this); + } + toJSON(e) { + let t = super.toJSON(e); + if (this.fog !== null) t.object.fog = this.fog.toJSON(); + return ( + (t.object.backgroundBlurriness = this.backgroundBlurriness), + (t.object.backgroundIntensity = this.backgroundIntensity), + (t.object.backgroundRotation = this.backgroundRotation.toArray()), + (t.object.environmentIntensity = this.environmentIntensity), + (t.object.environmentRotation = this.environmentRotation.toArray()), + t + ); + } + }; + ((Cv = new he()), + (_w = new he()), + (_ze = new he()), + (Hw = new he()), + (mB = new he()), + (hB = new he()), + (Rfn = new he()), + (Hze = new he()), + (Vze = new he()), + (Gze = new he()), + (qze = new Ja()), + (Zze = new Ja()), + (Qze = new Ja())); + ((Vw = [ + new he(), + new he(), + new he(), + new he(), + new he(), + new he(), + new he(), + new he(), + ]), + (Ev = new he()), + (Zme = new Il()), + (gB = new he()), + (yB = new he()), + (vB = new he()), + (o5 = new he()), + (a5 = new he()), + (s7 = new he()), + (KQ = new he()), + (Qme = new he()), + (Xme = new he()), + (l7 = new he())); + Zw = pPr(); + ((Ud = new he()), (Wme = new vt())); + si = class si extends Lh { + constructor(e, t, n = !1) { + super(); + if (Array.isArray(e)) + throw TypeError( + "THREE.BufferAttribute: array should be a Typed Array.", + ); + ((this.isBufferAttribute = !0), + Object.defineProperty(this, "id", { value: fPr++ }), + (this.name = ""), + (this.array = e), + (this.itemSize = t), + (this.count = e !== void 0 ? e.length / t : 0), + (this.normalized = n), + (this.usage = 35044), + (this.updateRanges = []), + (this.gpuType = 1015), + (this.version = 0)); + } + onUploadCallback() {} + set needsUpdate(e) { + if (e === !0) this.version++; + } + setUsage(e) { + return ((this.usage = e), this); + } + addUpdateRange(e, t) { + this.updateRanges.push({ start: e, count: t }); + } + clearUpdateRanges() { + this.updateRanges.length = 0; + } + copy(e) { + return ( + (this.name = e.name), + (this.array = new e.array.constructor(e.array)), + (this.itemSize = e.itemSize), + (this.count = e.count), + (this.normalized = e.normalized), + (this.usage = e.usage), + (this.gpuType = e.gpuType), + this + ); + } + copyAt(e, t, n) { + ((e *= this.itemSize), (n *= t.itemSize)); + for (let r = 0, o = this.itemSize; r < o; r++) + this.array[e + r] = t.array[n + r]; + return this; + } + copyArray(e) { + return (this.array.set(e), this); + } + applyMatrix3(e) { + if (this.itemSize === 2) + for (let t = 0, n = this.count; t < n; t++) + (Wme.fromBufferAttribute(this, t), + Wme.applyMatrix3(e), + this.setXY(t, Wme.x, Wme.y)); + else if (this.itemSize === 3) + for (let t = 0, n = this.count; t < n; t++) + (Ud.fromBufferAttribute(this, t), + Ud.applyMatrix3(e), + this.setXYZ(t, Ud.x, Ud.y, Ud.z)); + return this; + } + applyMatrix4(e) { + for (let t = 0, n = this.count; t < n; t++) + (Ud.fromBufferAttribute(this, t), + Ud.applyMatrix4(e), + this.setXYZ(t, Ud.x, Ud.y, Ud.z)); + return this; + } + applyNormalMatrix(e) { + for (let t = 0, n = this.count; t < n; t++) + (Ud.fromBufferAttribute(this, t), + Ud.applyNormalMatrix(e), + this.setXYZ(t, Ud.x, Ud.y, Ud.z)); + return this; + } + transformDirection(e) { + for (let t = 0, n = this.count; t < n; t++) + (Ud.fromBufferAttribute(this, t), + Ud.transformDirection(e), + this.setXYZ(t, Ud.x, Ud.y, Ud.z)); + return this; + } + set(e, t = 0) { + return (this.array.set(e, t), this); + } + getComponent(e, t) { + let n = this.array[e * this.itemSize + t]; + if (this.normalized) n = Th(n, this.array); + return n; + } + setComponent(e, t, n) { + if (this.normalized) n = No(n, this.array); + return ((this.array[e * this.itemSize + t] = n), this); + } + getX(e) { + let t = this.array[e * this.itemSize]; + if (this.normalized) t = Th(t, this.array); + return t; + } + setX(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize] = t), this); + } + getY(e) { + let t = this.array[e * this.itemSize + 1]; + if (this.normalized) t = Th(t, this.array); + return t; + } + setY(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize + 1] = t), this); + } + getZ(e) { + let t = this.array[e * this.itemSize + 2]; + if (this.normalized) t = Th(t, this.array); + return t; + } + setZ(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize + 2] = t), this); + } + getW(e) { + let t = this.array[e * this.itemSize + 3]; + if (this.normalized) t = Th(t, this.array); + return t; + } + setW(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize + 3] = t), this); + } + setXY(e, t, n) { + if (((e *= this.itemSize), this.normalized)) + ((t = No(t, this.array)), (n = No(n, this.array))); + return ((this.array[e + 0] = t), (this.array[e + 1] = n), this); + } + setXYZ(e, t, n, r) { + if (((e *= this.itemSize), this.normalized)) + ((t = No(t, this.array)), + (n = No(n, this.array)), + (r = No(r, this.array))); + return ( + (this.array[e + 0] = t), + (this.array[e + 1] = n), + (this.array[e + 2] = r), + this + ); + } + setXYZW(e, t, n, r, o) { + if (((e *= this.itemSize), this.normalized)) + ((t = No(t, this.array)), + (n = No(n, this.array)), + (r = No(r, this.array)), + (o = No(o, this.array))); + return ( + (this.array[e + 0] = t), + (this.array[e + 1] = n), + (this.array[e + 2] = r), + (this.array[e + 3] = o), + this + ); + } + onUpload(e) { + return ((this.onUploadCallback = e), this); + } + clone() { + return new this.constructor(this.array, this.itemSize).copy(this); + } + toJSON() { + let e = { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: Array.from(this.array), + normalized: this.normalized, + }; + return ( + (e.name = this.name), + (e.usage = this.usage), + (e.gpuType = this.gpuType), + e + ); + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + }; + LX = class LX extends si { + constructor(e, t, n) { + super(new Int8Array(e), t, n); + } + }; + BX = class BX extends si { + constructor(e, t, n) { + super(new Uint8Array(e), t, n); + } + }; + bHe = class bHe extends si { + constructor(e, t, n) { + super(new Uint8ClampedArray(e), t, n); + } + }; + OX = class OX extends si { + constructor(e, t, n) { + super(new Int16Array(e), t, n); + } + }; + R7 = class R7 extends si { + constructor(e, t, n) { + super(new Uint16Array(e), t, n); + } + }; + FX = class FX extends si { + constructor(e, t, n) { + super(new Int32Array(e), t, n); + } + }; + P7 = class P7 extends si { + constructor(e, t, n) { + super(new Uint32Array(e), t, n); + } + }; + xHe = class xHe extends si { + constructor(e, t, n) { + super(new Uint16Array(e), t, n); + this.isFloat16BufferAttribute = !0; + } + getX(e) { + let t = sX(this.array[e * this.itemSize]); + if (this.normalized) t = Th(t, this.array); + return t; + } + setX(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize] = L0(t)), this); + } + getY(e) { + let t = sX(this.array[e * this.itemSize + 1]); + if (this.normalized) t = Th(t, this.array); + return t; + } + setY(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize + 1] = L0(t)), this); + } + getZ(e) { + let t = sX(this.array[e * this.itemSize + 2]); + if (this.normalized) t = Th(t, this.array); + return t; + } + setZ(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize + 2] = L0(t)), this); + } + getW(e) { + let t = sX(this.array[e * this.itemSize + 3]); + if (this.normalized) t = Th(t, this.array); + return t; + } + setW(e, t) { + if (this.normalized) t = No(t, this.array); + return ((this.array[e * this.itemSize + 3] = L0(t)), this); + } + setXY(e, t, n) { + if (((e *= this.itemSize), this.normalized)) + ((t = No(t, this.array)), (n = No(n, this.array))); + return ((this.array[e + 0] = L0(t)), (this.array[e + 1] = L0(n)), this); + } + setXYZ(e, t, n, r) { + if (((e *= this.itemSize), this.normalized)) + ((t = No(t, this.array)), + (n = No(n, this.array)), + (r = No(r, this.array))); + return ( + (this.array[e + 0] = L0(t)), + (this.array[e + 1] = L0(n)), + (this.array[e + 2] = L0(r)), + this + ); + } + setXYZW(e, t, n, r, o) { + if (((e *= this.itemSize), this.normalized)) + ((t = No(t, this.array)), + (n = No(n, this.array)), + (r = No(r, this.array)), + (o = No(o, this.array))); + return ( + (this.array[e + 0] = L0(t)), + (this.array[e + 1] = L0(n)), + (this.array[e + 2] = L0(r)), + (this.array[e + 3] = L0(o)), + this + ); + } + }; + Jn = class Jn extends si { + constructor(e, t, n) { + super(new Float32Array(e), t, n); + } + }; + ((mPr = new Il()), (JQ = new he()), (Wze = new he())); + ((zy = new Vn()), + (Yze = new Go()), + (bB = new he()), + (o1 = new Il()), + (jQ = new Il()), + (jp = new he())); + Jr = class Jr extends Lh { + constructor() { + super(); + ((this.isBufferGeometry = !0), + Object.defineProperty(this, "id", { value: hPr++ }), + (this.uuid = a1()), + (this.name = ""), + (this.type = "BufferGeometry"), + (this.index = null), + (this.indirect = null), + (this.indirectOffset = 0), + (this.attributes = {}), + (this.morphAttributes = {}), + (this.morphTargetsRelative = !1), + (this.groups = []), + (this.boundingBox = null), + (this.boundingSphere = null), + (this.drawRange = { start: 0, count: 1 / 0 }), + (this.userData = {}), + (this._transformed = !1)); + } + getIndex() { + return this.index; + } + setIndex(e) { + if (Array.isArray(e)) this.index = new (NRr(e) ? P7 : R7)(e, 1); + else this.index = e; + return this; + } + setIndirect(e, t = 0) { + return ((this.indirect = e), (this.indirectOffset = t), this); + } + getIndirect() { + return this.indirect; + } + getAttribute(e) { + return this.attributes[e]; + } + setAttribute(e, t) { + return ((this.attributes[e] = t), this); + } + deleteAttribute(e) { + return (delete this.attributes[e], this); + } + hasAttribute(e) { + return this.attributes[e] !== void 0; + } + addGroup(e, t, n = 0) { + this.groups.push({ start: e, count: t, materialIndex: n }); + } + clearGroups() { + this.groups = []; + } + setDrawRange(e, t) { + ((this.drawRange.start = e), (this.drawRange.count = t)); + } + applyMatrix4(e) { + let t = this.attributes.position; + if (t !== void 0) (t.applyMatrix4(e), (t.needsUpdate = !0)); + let n = this.attributes.normal; + if (n !== void 0) { + let o = new Ur().getNormalMatrix(e); + (n.applyNormalMatrix(o), (n.needsUpdate = !0)); + } + let r = this.attributes.tangent; + if (r !== void 0) (r.transformDirection(e), (r.needsUpdate = !0)); + if (this.boundingBox !== null) this.computeBoundingBox(); + if (this.boundingSphere !== null) this.computeBoundingSphere(); + return ((this._transformed = !0), this); + } + applyQuaternion(e) { + return (zy.makeRotationFromQuaternion(e), this.applyMatrix4(zy), this); + } + rotateX(e) { + return (zy.makeRotationX(e), this.applyMatrix4(zy), this); + } + rotateY(e) { + return (zy.makeRotationY(e), this.applyMatrix4(zy), this); + } + rotateZ(e) { + return (zy.makeRotationZ(e), this.applyMatrix4(zy), this); + } + translate(e, t, n) { + return (zy.makeTranslation(e, t, n), this.applyMatrix4(zy), this); + } + scale(e, t, n) { + return (zy.makeScale(e, t, n), this.applyMatrix4(zy), this); + } + lookAt(e) { + return ( + Yze.lookAt(e), + Yze.updateMatrix(), + this.applyMatrix4(Yze.matrix), + this + ); + } + center() { + return ( + this.computeBoundingBox(), + this.boundingBox.getCenter(bB).negate(), + this.translate(bB.x, bB.y, bB.z), + this + ); + } + setFromPoints(e) { + let t = this.getAttribute("position"); + if (t === void 0) { + let n = []; + for (let r = 0, o = e.length; r < o; r++) { + let a = e[r]; + n.push(a.x, a.y, a.z || 0); + } + this.setAttribute("position", new Jn(n, 3)); + } else { + let n = Math.min(e.length, t.count); + for (let r = 0; r < n; r++) { + let o = e[r]; + t.setXYZ(r, o.x, o.y, o.z || 0); + } + if (e.length > t.count) + zn( + "BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.", + ); + t.needsUpdate = !0; + } + return this; + } + computeBoundingBox() { + if (this.boundingBox === null) this.boundingBox = new Il(); + let e = this.attributes.position, + t = this.morphAttributes.position; + if (e && e.isGLBufferAttribute) { + (wr( + "BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.", + this, + ), + this.boundingBox.set( + new he(-1 / 0, -1 / 0, -1 / 0), + new he(1 / 0, 1 / 0, 1 / 0), + )); + return; + } + if (e !== void 0) { + if ((this.boundingBox.setFromBufferAttribute(e), t)) + for (let n = 0, r = t.length; n < r; n++) { + let o = t[n]; + if ((o1.setFromBufferAttribute(o), this.morphTargetsRelative)) + (jp.addVectors(this.boundingBox.min, o1.min), + this.boundingBox.expandByPoint(jp), + jp.addVectors(this.boundingBox.max, o1.max), + this.boundingBox.expandByPoint(jp)); + else + (this.boundingBox.expandByPoint(o1.min), + this.boundingBox.expandByPoint(o1.max)); + } + } else this.boundingBox.makeEmpty(); + if ( + isNaN(this.boundingBox.min.x) || + isNaN(this.boundingBox.min.y) || + isNaN(this.boundingBox.min.z) + ) + wr( + 'BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', + this, + ); + } + computeBoundingSphere() { + if (this.boundingSphere === null) this.boundingSphere = new op(); + let e = this.attributes.position, + t = this.morphAttributes.position; + if (e && e.isGLBufferAttribute) { + (wr( + "BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.", + this, + ), + this.boundingSphere.set(new he(), 1 / 0)); + return; + } + if (e) { + let n = this.boundingSphere.center; + if ((o1.setFromBufferAttribute(e), t)) + for (let o = 0, a = t.length; o < a; o++) { + let i = t[o]; + if ((jQ.setFromBufferAttribute(i), this.morphTargetsRelative)) + (jp.addVectors(o1.min, jQ.min), + o1.expandByPoint(jp), + jp.addVectors(o1.max, jQ.max), + o1.expandByPoint(jp)); + else (o1.expandByPoint(jQ.min), o1.expandByPoint(jQ.max)); + } + o1.getCenter(n); + let r = 0; + for (let o = 0, a = e.count; o < a; o++) + (jp.fromBufferAttribute(e, o), + (r = Math.max(r, n.distanceToSquared(jp)))); + if (t) + for (let o = 0, a = t.length; o < a; o++) { + let i = t[o], + s = this.morphTargetsRelative; + for (let l = 0, c = i.count; l < c; l++) { + if ((jp.fromBufferAttribute(i, l), s)) + (bB.fromBufferAttribute(e, l), jp.add(bB)); + r = Math.max(r, n.distanceToSquared(jp)); + } + } + if ( + ((this.boundingSphere.radius = Math.sqrt(r)), + isNaN(this.boundingSphere.radius)) + ) + wr( + 'BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', + this, + ); + } + } + computeTangents() { + let e = this.index, + t = this.attributes; + if ( + e === null || + t.position === void 0 || + t.normal === void 0 || + t.uv === void 0 + ) { + wr( + "BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)", + ); + return; + } + let { position: n, normal: r, uv: o } = t, + a = this.getAttribute("tangent"); + if (a === void 0 || a.count !== n.count) + ((a = new si(new Float32Array(4 * n.count), 4)), + this.setAttribute("tangent", a)); + let i = [], + s = []; + for (let T = 0; T < n.count; T++) ((i[T] = new he()), (s[T] = new he())); + let l = new he(), + c = new he(), + u = new he(), + d = new vt(), + p = new vt(), + f = new vt(), + m = new he(), + g = new he(); + function v(T, I, k) { + (l.fromBufferAttribute(n, T), + c.fromBufferAttribute(n, I), + u.fromBufferAttribute(n, k), + d.fromBufferAttribute(o, T), + p.fromBufferAttribute(o, I), + f.fromBufferAttribute(o, k), + c.sub(l), + u.sub(l), + p.sub(d), + f.sub(d)); + let L = 1 / (p.x * f.y - f.x * p.y); + if (!isFinite(L)) return; + (m + .copy(c) + .multiplyScalar(f.y) + .addScaledVector(u, -p.y) + .multiplyScalar(L), + g + .copy(u) + .multiplyScalar(p.x) + .addScaledVector(c, -f.x) + .multiplyScalar(L), + i[T].add(m), + i[I].add(m), + i[k].add(m), + s[T].add(g), + s[I].add(g), + s[k].add(g)); + } + let y = this.groups; + if (y.length === 0) y = [{ start: 0, count: e.count }]; + for (let T = 0, I = y.length; T < I; ++T) { + let k = y[T], + { start: L, count: O } = k; + for (let B = L, U = L + O; B < U; B += 3) + v(e.getX(B + 0), e.getX(B + 1), e.getX(B + 2)); + } + let x = new he(), + A = new he(), + w = new he(), + C = new he(); + function E(T) { + (w.fromBufferAttribute(r, T), C.copy(w)); + let I = i[T]; + (x.copy(I), + x.sub(w.multiplyScalar(w.dot(I))).normalize(), + A.crossVectors(C, I)); + let L = A.dot(s[T]) < 0 ? -1 : 1; + a.setXYZW(T, x.x, x.y, x.z, L); + } + for (let T = 0, I = y.length; T < I; ++T) { + let k = y[T], + { start: L, count: O } = k; + for (let B = L, U = L + O; B < U; B += 3) + (E(e.getX(B + 0)), E(e.getX(B + 1)), E(e.getX(B + 2))); + } + this._transformed = !0; + } + computeVertexNormals() { + let e = this.index, + t = this.getAttribute("position"); + if (t !== void 0) { + let n = this.getAttribute("normal"); + if (n === void 0 || n.count !== t.count) + ((n = new si(new Float32Array(t.count * 3), 3)), + this.setAttribute("normal", n)); + else for (let d = 0, p = n.count; d < p; d++) n.setXYZ(d, 0, 0, 0); + let r = new he(), + o = new he(), + a = new he(), + i = new he(), + s = new he(), + l = new he(), + c = new he(), + u = new he(); + if (e) + for (let d = 0, p = e.count; d < p; d += 3) { + let f = e.getX(d + 0), + m = e.getX(d + 1), + g = e.getX(d + 2); + (r.fromBufferAttribute(t, f), + o.fromBufferAttribute(t, m), + a.fromBufferAttribute(t, g), + c.subVectors(a, o), + u.subVectors(r, o), + c.cross(u), + i.fromBufferAttribute(n, f), + s.fromBufferAttribute(n, m), + l.fromBufferAttribute(n, g), + i.add(c), + s.add(c), + l.add(c), + n.setXYZ(f, i.x, i.y, i.z), + n.setXYZ(m, s.x, s.y, s.z), + n.setXYZ(g, l.x, l.y, l.z)); + } + else + for (let d = 0, p = t.count; d < p; d += 3) + (r.fromBufferAttribute(t, d + 0), + o.fromBufferAttribute(t, d + 1), + a.fromBufferAttribute(t, d + 2), + c.subVectors(a, o), + u.subVectors(r, o), + c.cross(u), + n.setXYZ(d + 0, c.x, c.y, c.z), + n.setXYZ(d + 1, c.x, c.y, c.z), + n.setXYZ(d + 2, c.x, c.y, c.z)); + (this.normalizeNormals(), (n.needsUpdate = !0)); + } + } + normalizeNormals() { + let e = this.attributes.normal; + for (let t = 0, n = e.count; t < n; t++) + (jp.fromBufferAttribute(e, t), + jp.normalize(), + e.setXYZ(t, jp.x, jp.y, jp.z)); + } + toNonIndexed() { + function e(i, s) { + let { array: l, itemSize: c, normalized: u } = i, + d = new l.constructor(s.length * c), + p = 0, + f = 0; + for (let m = 0, g = s.length; m < g; m++) { + if (i.isInterleavedBufferAttribute) + p = s[m] * i.data.stride + i.offset; + else p = s[m] * c; + for (let v = 0; v < c; v++) d[f++] = l[p++]; + } + return new si(d, c, u); + } + if (this.index === null) + return ( + zn( + "BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.", + ), + this + ); + let t = new Jr(), + n = this.index.array, + r = this.attributes; + for (let i in r) { + let s = r[i], + l = e(s, n); + t.setAttribute(i, l); + } + let o = this.morphAttributes; + for (let i in o) { + let s = [], + l = o[i]; + for (let c = 0, u = l.length; c < u; c++) { + let d = l[c], + p = e(d, n); + s.push(p); + } + t.morphAttributes[i] = s; + } + t.morphTargetsRelative = this.morphTargetsRelative; + let a = this.groups; + for (let i = 0, s = a.length; i < s; i++) { + let l = a[i]; + t.addGroup(l.start, l.count, l.materialIndex); + } + return t; + } + toJSON() { + let e = { + metadata: { + version: 4.7, + type: "BufferGeometry", + generator: "BufferGeometry.toJSON", + }, + }; + if ( + ((e.uuid = this.uuid), + (e.type = + this.parameters !== void 0 && this._transformed === !0 + ? "BufferGeometry" + : this.type), + (e.name = this.name), + Object.keys(this.userData).length > 0) + ) + e.userData = this.userData; + if (this.parameters !== void 0 && this._transformed !== !0) { + let s = this.parameters; + for (let l in s) if (s[l] !== void 0) e[l] = s[l]; + return e; + } + e.data = { attributes: {} }; + let t = this.index; + if (t !== null) + e.data.index = { + type: t.array.constructor.name, + array: Array.prototype.slice.call(t.array), + }; + let n = this.attributes; + for (let s in n) { + let l = n[s]; + e.data.attributes[s] = l.toJSON(e.data); + } + let r = {}, + o = !1; + for (let s in this.morphAttributes) { + let l = this.morphAttributes[s], + c = []; + for (let u = 0, d = l.length; u < d; u++) { + let p = l[u]; + c.push(p.toJSON(e.data)); + } + if (c.length > 0) ((r[s] = c), (o = !0)); + } + if (o) + ((e.data.morphAttributes = r), + (e.data.morphTargetsRelative = this.morphTargetsRelative)); + let a = this.groups; + if (a.length > 0) e.data.groups = JSON.parse(JSON.stringify(a)); + let i = this.boundingSphere; + if (i !== null) e.data.boundingSphere = i.toJSON(); + return e; + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + ((this.index = null), + (this.attributes = {}), + (this.morphAttributes = {}), + (this.groups = []), + (this.boundingBox = null), + (this.boundingSphere = null)); + let t = {}; + this.name = e.name; + let n = e.index; + if (n !== null) this.setIndex(n.clone()); + let r = e.attributes; + for (let l in r) { + let c = r[l]; + this.setAttribute(l, c.clone(t)); + } + let o = e.morphAttributes; + for (let l in o) { + let c = [], + u = o[l]; + for (let d = 0, p = u.length; d < p; d++) c.push(u[d].clone(t)); + this.morphAttributes[l] = c; + } + this.morphTargetsRelative = e.morphTargetsRelative; + let a = e.groups; + for (let l = 0, c = a.length; l < c; l++) { + let u = a[l]; + this.addGroup(u.start, u.count, u.materialIndex); + } + let i = e.boundingBox; + if (i !== null) this.boundingBox = i.clone(); + let s = e.boundingSphere; + if (s !== null) this.boundingSphere = s.clone(); + return ( + (this.drawRange.start = e.drawRange.start), + (this.drawRange.count = e.drawRange.count), + (this.userData = e.userData), + (this._transformed = e._transformed), + this + ); + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + }; + Eh = new he(); + ((Kze = new he()), (gPr = new he()), (yPr = new Ur())); + ap = class ap extends Lh { + constructor() { + super(); + ((this.isMaterial = !0), + Object.defineProperty(this, "id", { value: vPr++ }), + (this.uuid = a1()), + (this.name = ""), + (this.type = "Material"), + (this.blending = 1), + (this.side = 0), + (this.vertexColors = !1), + (this.opacity = 1), + (this.transparent = !1), + (this.alphaHash = !1), + (this.blendSrc = 204), + (this.blendDst = 205), + (this.blendEquation = 100), + (this.blendSrcAlpha = null), + (this.blendDstAlpha = null), + (this.blendEquationAlpha = null), + (this.blendColor = new _n(0, 0, 0)), + (this.blendAlpha = 0), + (this.depthFunc = 3), + (this.depthTest = !0), + (this.depthWrite = !0), + (this.stencilWriteMask = 255), + (this.stencilFunc = 519), + (this.stencilRef = 0), + (this.stencilFuncMask = 255), + (this.stencilFail = 7680), + (this.stencilZFail = 7680), + (this.stencilZPass = 7680), + (this.stencilWrite = !1), + (this.clippingPlanes = null), + (this.clipIntersection = !1), + (this.clipShadows = !1), + (this.shadowSide = null), + (this.colorWrite = !0), + (this.precision = null), + (this.polygonOffset = !1), + (this.polygonOffsetFactor = 0), + (this.polygonOffsetUnits = 0), + (this.dithering = !1), + (this.alphaToCoverage = !1), + (this.premultipliedAlpha = !1), + (this.forceSinglePass = !1), + (this.allowOverride = !0), + (this.visible = !0), + (this.toneMapped = !0), + (this.userData = {}), + (this.version = 0), + (this._alphaTest = 0)); + } + get alphaTest() { + return this._alphaTest; + } + set alphaTest(e) { + if (this._alphaTest > 0 !== e > 0) this.version++; + this._alphaTest = e; + } + onBeforeRender() {} + onBeforeCompile() {} + customProgramCacheKey() { + return this.onBeforeCompile.toString(); + } + setValues(e) { + if (e === void 0) return; + for (let t in e) { + let n = e[t]; + if (n === void 0) { + zn(`Material: parameter '${t}' has value of undefined.`); + continue; + } + let r = this[t]; + if (r === void 0) { + zn(`Material: '${t}' is not a property of THREE.${this.type}.`); + continue; + } + if (r && r.isColor) r.set(n); + else if ( + (r && r.isVector2 && n && n.isVector2) || + (r && r.isEuler && n && n.isEuler) || + (r && r.isVector3 && n && n.isVector3) + ) + r.copy(n); + else this[t] = n; + } + } + toJSON(e) { + let t = e === void 0 || typeof e === "string"; + if (t) e = { textures: {}, images: {} }; + let n = { + metadata: { + version: 4.7, + type: "Material", + generator: "Material.toJSON", + }, + }; + if ( + ((n.uuid = this.uuid), + (n.type = this.type), + (n.blending = this.blending), + (n.side = this.side), + (n.shadowSide = this.shadowSide), + (n.vertexColors = this.vertexColors), + (n.opacity = this.opacity), + (n.transparent = this.transparent), + (n.blendSrc = this.blendSrc), + (n.blendDst = this.blendDst), + (n.blendEquation = this.blendEquation), + (n.blendSrcAlpha = this.blendSrcAlpha), + (n.blendDstAlpha = this.blendDstAlpha), + (n.blendEquationAlpha = this.blendEquationAlpha), + (n.blendColor = this.blendColor.getHex()), + (n.blendAlpha = this.blendAlpha), + (n.depthFunc = this.depthFunc), + (n.depthTest = this.depthTest), + (n.depthWrite = this.depthWrite), + (n.colorWrite = this.colorWrite), + (n.clipIntersection = this.clipIntersection), + (n.clipShadows = this.clipShadows), + (n.stencilWriteMask = this.stencilWriteMask), + (n.stencilFunc = this.stencilFunc), + (n.stencilRef = this.stencilRef), + (n.stencilFuncMask = this.stencilFuncMask), + (n.stencilFail = this.stencilFail), + (n.stencilZFail = this.stencilZFail), + (n.stencilZPass = this.stencilZPass), + (n.stencilWrite = this.stencilWrite), + (n.polygonOffset = this.polygonOffset), + (n.polygonOffsetFactor = this.polygonOffsetFactor), + (n.polygonOffsetUnits = this.polygonOffsetUnits), + (n.dithering = this.dithering), + (n.alphaTest = this.alphaTest), + (n.alphaHash = this.alphaHash), + (n.alphaToCoverage = this.alphaToCoverage), + (n.premultipliedAlpha = this.premultipliedAlpha), + (n.forceSinglePass = this.forceSinglePass), + (n.allowOverride = this.allowOverride), + (n.visible = this.visible), + (n.toneMapped = this.toneMapped), + (n.name = this.name), + this.color && this.color.isColor) + ) + n.color = this.color.getHex(); + if (this.roughness !== void 0) n.roughness = this.roughness; + if (this.metalness !== void 0) n.metalness = this.metalness; + if (this.sheen !== void 0) n.sheen = this.sheen; + if (this.sheenColor && this.sheenColor.isColor) + n.sheenColor = this.sheenColor.getHex(); + if (this.sheenRoughness !== void 0) + n.sheenRoughness = this.sheenRoughness; + if (this.emissive && this.emissive.isColor) + n.emissive = this.emissive.getHex(); + if (this.emissiveIntensity !== void 0) + n.emissiveIntensity = this.emissiveIntensity; + if (this.specular && this.specular.isColor) + n.specular = this.specular.getHex(); + if (this.specularIntensity !== void 0) + n.specularIntensity = this.specularIntensity; + if (this.specularColor && this.specularColor.isColor) + n.specularColor = this.specularColor.getHex(); + if (this.shininess !== void 0) n.shininess = this.shininess; + if (this.clearcoat !== void 0) n.clearcoat = this.clearcoat; + if (this.clearcoatRoughness !== void 0) + n.clearcoatRoughness = this.clearcoatRoughness; + if (this.clearcoatMap && this.clearcoatMap.isTexture) + n.clearcoatMap = this.clearcoatMap.toJSON(e).uuid; + if (this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture) + n.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(e).uuid; + if (this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture) + ((n.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(e).uuid), + (n.clearcoatNormalScale = this.clearcoatNormalScale.toArray())); + if (this.sheenColorMap && this.sheenColorMap.isTexture) + n.sheenColorMap = this.sheenColorMap.toJSON(e).uuid; + if (this.sheenRoughnessMap && this.sheenRoughnessMap.isTexture) + n.sheenRoughnessMap = this.sheenRoughnessMap.toJSON(e).uuid; + if (this.dispersion !== void 0) n.dispersion = this.dispersion; + if (this.retroreflectivity !== void 0) + n.retroreflectivity = this.retroreflectivity; + if (this.iridescence !== void 0) n.iridescence = this.iridescence; + if (this.iridescenceIOR !== void 0) + n.iridescenceIOR = this.iridescenceIOR; + if (this.iridescenceThicknessRange !== void 0) + n.iridescenceThicknessRange = this.iridescenceThicknessRange; + if (this.iridescenceMap && this.iridescenceMap.isTexture) + n.iridescenceMap = this.iridescenceMap.toJSON(e).uuid; + if ( + this.iridescenceThicknessMap && + this.iridescenceThicknessMap.isTexture + ) + n.iridescenceThicknessMap = this.iridescenceThicknessMap.toJSON(e).uuid; + if (this.anisotropy !== void 0) n.anisotropy = this.anisotropy; + if (this.anisotropyRotation !== void 0) + n.anisotropyRotation = this.anisotropyRotation; + if (this.anisotropyMap && this.anisotropyMap.isTexture) + n.anisotropyMap = this.anisotropyMap.toJSON(e).uuid; + if (this.map && this.map.isTexture) n.map = this.map.toJSON(e).uuid; + if (this.matcap && this.matcap.isTexture) + n.matcap = this.matcap.toJSON(e).uuid; + if (this.alphaMap && this.alphaMap.isTexture) + n.alphaMap = this.alphaMap.toJSON(e).uuid; + if (this.lightMap && this.lightMap.isTexture) + ((n.lightMap = this.lightMap.toJSON(e).uuid), + (n.lightMapIntensity = this.lightMapIntensity)); + if (this.aoMap && this.aoMap.isTexture) + ((n.aoMap = this.aoMap.toJSON(e).uuid), + (n.aoMapIntensity = this.aoMapIntensity)); + if (this.bumpMap && this.bumpMap.isTexture) + ((n.bumpMap = this.bumpMap.toJSON(e).uuid), + (n.bumpScale = this.bumpScale)); + if (this.normalMap && this.normalMap.isTexture) + ((n.normalMap = this.normalMap.toJSON(e).uuid), + (n.normalMapType = this.normalMapType), + (n.normalScale = this.normalScale.toArray())); + if (this.displacementMap && this.displacementMap.isTexture) + ((n.displacementMap = this.displacementMap.toJSON(e).uuid), + (n.displacementScale = this.displacementScale), + (n.displacementBias = this.displacementBias)); + if (this.roughnessMap && this.roughnessMap.isTexture) + n.roughnessMap = this.roughnessMap.toJSON(e).uuid; + if (this.metalnessMap && this.metalnessMap.isTexture) + n.metalnessMap = this.metalnessMap.toJSON(e).uuid; + if (this.emissiveMap && this.emissiveMap.isTexture) + n.emissiveMap = this.emissiveMap.toJSON(e).uuid; + if (this.specularMap && this.specularMap.isTexture) + n.specularMap = this.specularMap.toJSON(e).uuid; + if (this.specularIntensityMap && this.specularIntensityMap.isTexture) + n.specularIntensityMap = this.specularIntensityMap.toJSON(e).uuid; + if (this.specularColorMap && this.specularColorMap.isTexture) + n.specularColorMap = this.specularColorMap.toJSON(e).uuid; + if (this.envMap && this.envMap.isTexture) { + if (((n.envMap = this.envMap.toJSON(e).uuid), this.combine !== void 0)) + n.combine = this.combine; + } + if (this.envMapRotation !== void 0) + n.envMapRotation = this.envMapRotation.toArray(); + if (this.envMapIntensity !== void 0) + n.envMapIntensity = this.envMapIntensity; + if (this.reflectivity !== void 0) n.reflectivity = this.reflectivity; + if (this.refractionRatio !== void 0) + n.refractionRatio = this.refractionRatio; + if (this.gradientMap && this.gradientMap.isTexture) + n.gradientMap = this.gradientMap.toJSON(e).uuid; + if (this.transmission !== void 0) n.transmission = this.transmission; + if (this.transmissionMap && this.transmissionMap.isTexture) + n.transmissionMap = this.transmissionMap.toJSON(e).uuid; + if (this.thickness !== void 0) n.thickness = this.thickness; + if (this.thicknessMap && this.thicknessMap.isTexture) + n.thicknessMap = this.thicknessMap.toJSON(e).uuid; + if (this.attenuationDistance !== void 0) + n.attenuationDistance = this.attenuationDistance; + if (this.attenuationColor !== void 0) + n.attenuationColor = this.attenuationColor.getHex(); + if (this.size !== void 0) n.size = this.size; + if (this.sizeAttenuation !== void 0) + n.sizeAttenuation = this.sizeAttenuation; + if (Array.isArray(this.clippingPlanes) && this.clippingPlanes.length > 0) + n.clippingPlanes = this.clippingPlanes.map((o) => o.toJSON()); + if (this.rotation !== void 0) n.rotation = this.rotation; + if (this.depthPacking !== void 0) n.depthPacking = this.depthPacking; + if (this.linewidth !== void 0) n.linewidth = this.linewidth; + if (this.linecap !== void 0) n.linecap = this.linecap; + if (this.linejoin !== void 0) n.linejoin = this.linejoin; + if (this.dashSize !== void 0) n.dashSize = this.dashSize; + if (this.gapSize !== void 0) n.gapSize = this.gapSize; + if (this.scale !== void 0) n.scale = this.scale; + if (this.wireframe !== void 0) n.wireframe = this.wireframe; + if (this.wireframeLinewidth !== void 0) + n.wireframeLinewidth = this.wireframeLinewidth; + if (this.wireframeLinecap !== void 0) + n.wireframeLinecap = this.wireframeLinecap; + if (this.wireframeLinejoin !== void 0) + n.wireframeLinejoin = this.wireframeLinejoin; + if (this.flatShading !== void 0) n.flatShading = this.flatShading; + if (this.fog !== void 0) n.fog = this.fog; + if (Object.keys(this.userData).length > 0) n.userData = this.userData; + function r(o) { + let a = []; + for (let i in o) { + let s = o[i]; + (delete s.metadata, a.push(s)); + } + return a; + } + if (t) { + let o = r(e.textures), + a = r(e.images); + if (o.length > 0) n.textures = o; + if (a.length > 0) n.images = a; + } + return n; + } + fromJSON(e, t) { + if (e.uuid !== void 0) this.uuid = e.uuid; + if (e.name !== void 0) this.name = e.name; + if (e.color !== void 0 && this.color !== void 0) + this.color.setHex(e.color); + if (e.roughness !== void 0) this.roughness = e.roughness; + if (e.metalness !== void 0) this.metalness = e.metalness; + if (e.sheen !== void 0) this.sheen = e.sheen; + if (e.sheenColor !== void 0) + this.sheenColor = new _n().setHex(e.sheenColor); + if (e.sheenRoughness !== void 0) this.sheenRoughness = e.sheenRoughness; + if (e.emissive !== void 0 && this.emissive !== void 0) + this.emissive.setHex(e.emissive); + if (e.specular !== void 0 && this.specular !== void 0) + this.specular.setHex(e.specular); + if (e.specularIntensity !== void 0) + this.specularIntensity = e.specularIntensity; + if (e.specularColor !== void 0 && this.specularColor !== void 0) + this.specularColor.setHex(e.specularColor); + if (e.shininess !== void 0) this.shininess = e.shininess; + if (e.clearcoat !== void 0) this.clearcoat = e.clearcoat; + if (e.clearcoatRoughness !== void 0) + this.clearcoatRoughness = e.clearcoatRoughness; + if (e.dispersion !== void 0) this.dispersion = e.dispersion; + if (e.retroreflectivity !== void 0) + this.retroreflectivity = e.retroreflectivity; + if (e.iridescence !== void 0) this.iridescence = e.iridescence; + if (e.iridescenceIOR !== void 0) this.iridescenceIOR = e.iridescenceIOR; + if (e.iridescenceThicknessRange !== void 0) + this.iridescenceThicknessRange = e.iridescenceThicknessRange; + if (e.transmission !== void 0) this.transmission = e.transmission; + if (e.thickness !== void 0) this.thickness = e.thickness; + if (e.attenuationDistance !== void 0) + this.attenuationDistance = e.attenuationDistance; + if (e.attenuationColor !== void 0 && this.attenuationColor !== void 0) + this.attenuationColor.setHex(e.attenuationColor); + if (e.anisotropy !== void 0) this.anisotropy = e.anisotropy; + if (e.anisotropyRotation !== void 0) + this.anisotropyRotation = e.anisotropyRotation; + if (e.fog !== void 0) this.fog = e.fog; + if (e.flatShading !== void 0) this.flatShading = e.flatShading; + if (e.blending !== void 0) this.blending = e.blending; + if (e.combine !== void 0) this.combine = e.combine; + if (e.side !== void 0) this.side = e.side; + if (e.shadowSide !== void 0) this.shadowSide = e.shadowSide; + if (e.opacity !== void 0) this.opacity = e.opacity; + if (e.transparent !== void 0) this.transparent = e.transparent; + if (e.alphaTest !== void 0) this.alphaTest = e.alphaTest; + if (e.alphaHash !== void 0) this.alphaHash = e.alphaHash; + if (e.depthFunc !== void 0) this.depthFunc = e.depthFunc; + if (e.depthTest !== void 0) this.depthTest = e.depthTest; + if (e.depthWrite !== void 0) this.depthWrite = e.depthWrite; + if (e.colorWrite !== void 0) this.colorWrite = e.colorWrite; + if (e.clippingPlanes !== void 0) + this.clippingPlanes = e.clippingPlanes.map((n) => new Ih().fromJSON(n)); + if (e.clipIntersection !== void 0) + this.clipIntersection = e.clipIntersection; + if (e.clipShadows !== void 0) this.clipShadows = e.clipShadows; + if (e.depthPacking !== void 0) this.depthPacking = e.depthPacking; + if (e.blendSrc !== void 0) this.blendSrc = e.blendSrc; + if (e.blendDst !== void 0) this.blendDst = e.blendDst; + if (e.blendEquation !== void 0) this.blendEquation = e.blendEquation; + if (e.blendSrcAlpha !== void 0) this.blendSrcAlpha = e.blendSrcAlpha; + if (e.blendDstAlpha !== void 0) this.blendDstAlpha = e.blendDstAlpha; + if (e.blendEquationAlpha !== void 0) + this.blendEquationAlpha = e.blendEquationAlpha; + if (e.blendColor !== void 0 && this.blendColor !== void 0) + this.blendColor.setHex(e.blendColor); + if (e.blendAlpha !== void 0) this.blendAlpha = e.blendAlpha; + if (e.stencilWriteMask !== void 0) + this.stencilWriteMask = e.stencilWriteMask; + if (e.stencilFunc !== void 0) this.stencilFunc = e.stencilFunc; + if (e.stencilRef !== void 0) this.stencilRef = e.stencilRef; + if (e.stencilFuncMask !== void 0) + this.stencilFuncMask = e.stencilFuncMask; + if (e.stencilFail !== void 0) this.stencilFail = e.stencilFail; + if (e.stencilZFail !== void 0) this.stencilZFail = e.stencilZFail; + if (e.stencilZPass !== void 0) this.stencilZPass = e.stencilZPass; + if (e.stencilWrite !== void 0) this.stencilWrite = e.stencilWrite; + if (e.wireframe !== void 0) this.wireframe = e.wireframe; + if (e.wireframeLinewidth !== void 0) + this.wireframeLinewidth = e.wireframeLinewidth; + if (e.wireframeLinecap !== void 0) + this.wireframeLinecap = e.wireframeLinecap; + if (e.wireframeLinejoin !== void 0) + this.wireframeLinejoin = e.wireframeLinejoin; + if (e.rotation !== void 0) this.rotation = e.rotation; + if (e.linewidth !== void 0) this.linewidth = e.linewidth; + if (e.linecap !== void 0) this.linecap = e.linecap; + if (e.linejoin !== void 0) this.linejoin = e.linejoin; + if (e.dashSize !== void 0) this.dashSize = e.dashSize; + if (e.gapSize !== void 0) this.gapSize = e.gapSize; + if (e.scale !== void 0) this.scale = e.scale; + if (e.polygonOffset !== void 0) this.polygonOffset = e.polygonOffset; + if (e.polygonOffsetFactor !== void 0) + this.polygonOffsetFactor = e.polygonOffsetFactor; + if (e.polygonOffsetUnits !== void 0) + this.polygonOffsetUnits = e.polygonOffsetUnits; + if (e.dithering !== void 0) this.dithering = e.dithering; + if (e.alphaToCoverage !== void 0) + this.alphaToCoverage = e.alphaToCoverage; + if (e.premultipliedAlpha !== void 0) + this.premultipliedAlpha = e.premultipliedAlpha; + if (e.forceSinglePass !== void 0) + this.forceSinglePass = e.forceSinglePass; + if (e.allowOverride !== void 0) this.allowOverride = e.allowOverride; + if (e.visible !== void 0) this.visible = e.visible; + if (e.toneMapped !== void 0) this.toneMapped = e.toneMapped; + if (e.userData !== void 0) this.userData = e.userData; + if (e.vertexColors !== void 0) + if (typeof e.vertexColors === "number") + this.vertexColors = e.vertexColors > 0; + else this.vertexColors = e.vertexColors; + if (e.size !== void 0) this.size = e.size; + if (e.sizeAttenuation !== void 0) + this.sizeAttenuation = e.sizeAttenuation; + if (e.map !== void 0) this.map = t[e.map] || null; + if (e.matcap !== void 0) this.matcap = t[e.matcap] || null; + if (e.alphaMap !== void 0) this.alphaMap = t[e.alphaMap] || null; + if (e.bumpMap !== void 0) this.bumpMap = t[e.bumpMap] || null; + if (e.bumpScale !== void 0) this.bumpScale = e.bumpScale; + if (e.normalMap !== void 0) this.normalMap = t[e.normalMap] || null; + if (e.normalMapType !== void 0) this.normalMapType = e.normalMapType; + if (e.normalScale !== void 0) { + let n = e.normalScale; + if (Array.isArray(n) === !1) n = [n, n]; + this.normalScale = new vt().fromArray(n); + } + if (e.displacementMap !== void 0) + this.displacementMap = t[e.displacementMap] || null; + if (e.displacementScale !== void 0) + this.displacementScale = e.displacementScale; + if (e.displacementBias !== void 0) + this.displacementBias = e.displacementBias; + if (e.roughnessMap !== void 0) + this.roughnessMap = t[e.roughnessMap] || null; + if (e.metalnessMap !== void 0) + this.metalnessMap = t[e.metalnessMap] || null; + if (e.emissiveMap !== void 0) this.emissiveMap = t[e.emissiveMap] || null; + if (e.emissiveIntensity !== void 0) + this.emissiveIntensity = e.emissiveIntensity; + if (e.specularMap !== void 0) this.specularMap = t[e.specularMap] || null; + if (e.specularIntensityMap !== void 0) + this.specularIntensityMap = t[e.specularIntensityMap] || null; + if (e.specularColorMap !== void 0) + this.specularColorMap = t[e.specularColorMap] || null; + if (e.envMap !== void 0) this.envMap = t[e.envMap] || null; + if (e.envMapRotation !== void 0) + this.envMapRotation.fromArray(e.envMapRotation); + if (e.envMapIntensity !== void 0) + this.envMapIntensity = e.envMapIntensity; + if (e.reflectivity !== void 0) this.reflectivity = e.reflectivity; + if (e.refractionRatio !== void 0) + this.refractionRatio = e.refractionRatio; + if (e.lightMap !== void 0) this.lightMap = t[e.lightMap] || null; + if (e.lightMapIntensity !== void 0) + this.lightMapIntensity = e.lightMapIntensity; + if (e.aoMap !== void 0) this.aoMap = t[e.aoMap] || null; + if (e.aoMapIntensity !== void 0) this.aoMapIntensity = e.aoMapIntensity; + if (e.gradientMap !== void 0) this.gradientMap = t[e.gradientMap] || null; + if (e.clearcoatMap !== void 0) + this.clearcoatMap = t[e.clearcoatMap] || null; + if (e.clearcoatRoughnessMap !== void 0) + this.clearcoatRoughnessMap = t[e.clearcoatRoughnessMap] || null; + if (e.clearcoatNormalMap !== void 0) + this.clearcoatNormalMap = t[e.clearcoatNormalMap] || null; + if (e.clearcoatNormalScale !== void 0) + this.clearcoatNormalScale = new vt().fromArray(e.clearcoatNormalScale); + if (e.iridescenceMap !== void 0) + this.iridescenceMap = t[e.iridescenceMap] || null; + if (e.iridescenceThicknessMap !== void 0) + this.iridescenceThicknessMap = t[e.iridescenceThicknessMap] || null; + if (e.transmissionMap !== void 0) + this.transmissionMap = t[e.transmissionMap] || null; + if (e.thicknessMap !== void 0) + this.thicknessMap = t[e.thicknessMap] || null; + if (e.anisotropyMap !== void 0) + this.anisotropyMap = t[e.anisotropyMap] || null; + if (e.sheenColorMap !== void 0) + this.sheenColorMap = t[e.sheenColorMap] || null; + if (e.sheenRoughnessMap !== void 0) + this.sheenRoughnessMap = t[e.sheenRoughnessMap] || null; + return this; + } + clone() { + return new this.constructor().copy(this); + } + copy(e) { + ((this.name = e.name), + (this.blending = e.blending), + (this.side = e.side), + (this.vertexColors = e.vertexColors), + (this.opacity = e.opacity), + (this.transparent = e.transparent), + (this.blendSrc = e.blendSrc), + (this.blendDst = e.blendDst), + (this.blendEquation = e.blendEquation), + (this.blendSrcAlpha = e.blendSrcAlpha), + (this.blendDstAlpha = e.blendDstAlpha), + (this.blendEquationAlpha = e.blendEquationAlpha), + this.blendColor.copy(e.blendColor), + (this.blendAlpha = e.blendAlpha), + (this.depthFunc = e.depthFunc), + (this.depthTest = e.depthTest), + (this.depthWrite = e.depthWrite), + (this.stencilWriteMask = e.stencilWriteMask), + (this.stencilFunc = e.stencilFunc), + (this.stencilRef = e.stencilRef), + (this.stencilFuncMask = e.stencilFuncMask), + (this.stencilFail = e.stencilFail), + (this.stencilZFail = e.stencilZFail), + (this.stencilZPass = e.stencilZPass), + (this.stencilWrite = e.stencilWrite)); + let t = e.clippingPlanes, + n = null; + if (t !== null) { + let r = t.length; + n = Array(r); + for (let o = 0; o !== r; ++o) n[o] = t[o].clone(); + } + return ( + (this.clippingPlanes = n), + (this.clipIntersection = e.clipIntersection), + (this.clipShadows = e.clipShadows), + (this.shadowSide = e.shadowSide), + (this.colorWrite = e.colorWrite), + (this.precision = e.precision), + (this.polygonOffset = e.polygonOffset), + (this.polygonOffsetFactor = e.polygonOffsetFactor), + (this.polygonOffsetUnits = e.polygonOffsetUnits), + (this.dithering = e.dithering), + (this.alphaTest = e.alphaTest), + (this.alphaHash = e.alphaHash), + (this.alphaToCoverage = e.alphaToCoverage), + (this.premultipliedAlpha = e.premultipliedAlpha), + (this.forceSinglePass = e.forceSinglePass), + (this.allowOverride = e.allowOverride), + (this.visible = e.visible), + (this.toneMapped = e.toneMapped), + (this.userData = JSON.parse(JSON.stringify(e.userData))), + this + ); + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + set needsUpdate(e) { + if (e === !0) this.version++; + } + }; + UX = class UX extends ap { + constructor(e) { + super(); + ((this.isSpriteMaterial = !0), + (this.type = "SpriteMaterial"), + (this.color = new _n(16777215)), + (this.map = null), + (this.alphaMap = null), + (this.rotation = 0), + (this.sizeAttenuation = !0), + (this.transparent = !0), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + (this.map = e.map), + (this.alphaMap = e.alphaMap), + (this.rotation = e.rotation), + (this.sizeAttenuation = e.sizeAttenuation), + (this.fog = e.fog), + this + ); + } + }; + (($Q = new he()), + (AB = new he()), + (wB = new he()), + (SB = new vt()), + (eX = new vt()), + (qhn = new Vn()), + (Yme = new he()), + (tX = new he()), + (Kme = new he()), + (Pfn = new vt()), + (Jze = new vt()), + (Mfn = new vt())); + D0e = class D0e extends Go { + constructor(e = new UX()) { + super(); + if (((this.isSprite = !0), (this.type = "Sprite"), xB === void 0)) { + xB = new Jr(); + let t = new Float32Array([ + -0.5, -0.5, 0, 0, 0, 0.5, -0.5, 0, 1, 0, 0.5, 0.5, 0, 1, 1, -0.5, + 0.5, 0, 0, 1, + ]), + n = new QB(t, 5); + (xB.setIndex([0, 1, 2, 0, 2, 3]), + xB.setAttribute("position", new c5(n, 3, 0, !1)), + xB.setAttribute("uv", new c5(n, 2, 3, !1))); + } + ((this.geometry = xB), + (this.material = e), + (this.center = new vt(0.5, 0.5)), + (this.count = 1)); + } + intersectsFrustum(e) { + return e.intersectsSprite(this); + } + raycast(e, t) { + if (e.camera === null) + wr( + 'Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.', + ); + if ( + (AB.setFromMatrixScale(this.matrixWorld), + qhn.copy(e.camera.matrixWorld), + this.modelViewMatrix.multiplyMatrices( + e.camera.matrixWorldInverse, + this.matrixWorld, + ), + wB.setFromMatrixPosition(this.modelViewMatrix), + e.camera.isPerspectiveCamera && this.material.sizeAttenuation === !1) + ) + AB.multiplyScalar(-wB.z); + let n = this.material.rotation, + r, + o; + if (n !== 0) ((o = Math.cos(n)), (r = Math.sin(n))); + let a = this.center; + (Jme(Yme.set(-0.5, -0.5, 0), wB, a, AB, r, o), + Jme(tX.set(0.5, -0.5, 0), wB, a, AB, r, o), + Jme(Kme.set(0.5, 0.5, 0), wB, a, AB, r, o), + Pfn.set(0, 0), + Jze.set(1, 0), + Mfn.set(1, 1)); + let i = e.ray.intersectTriangle(Yme, tX, Kme, !1, $Q); + if (i === null) { + if ( + (Jme(tX.set(-0.5, 0.5, 0), wB, a, AB, r, o), + Jze.set(0, 1), + (i = e.ray.intersectTriangle(Yme, Kme, tX, !1, $Q)), + i === null) + ) + return; + } + let s = e.ray.origin.distanceTo($Q); + if (s < e.near || s > e.far) return; + t.push({ + distance: s, + point: $Q.clone(), + uv: kh.getInterpolation($Q, Yme, tX, Kme, Pfn, Jze, Mfn, new vt()), + face: null, + object: this, + }); + } + copy(e, t) { + if ((super.copy(e, t), e.center !== void 0)) this.center.copy(e.center); + return ((this.material = e.material), this); + } + }; + ((jme = new he()), (Dfn = new he())); + L0e = class L0e extends Go { + constructor() { + super(); + ((this.isLOD = !0), + (this._currentLevel = 0), + (this.type = "LOD"), + Object.defineProperties(this, { + levels: { enumerable: !0, value: [] }, + }), + (this.autoUpdate = !0)); + } + copy(e) { + super.copy(e, !1); + let t = e.levels; + for (let n = 0, r = t.length; n < r; n++) { + let o = t[n]; + this.addLevel(o.object.clone(), o.distance, o.hysteresis); + } + return ((this.autoUpdate = e.autoUpdate), this); + } + addLevel(e, t = 0, n = 0) { + t = Math.abs(t); + let r = this.levels, + o; + for (o = 0; o < r.length; o++) if (t < r[o].distance) break; + return ( + r.splice(o, 0, { distance: t, hysteresis: n, object: e }), + this.add(e), + this + ); + } + removeLevel(e) { + let t = this.levels; + for (let n = 0; n < t.length; n++) + if (t[n].distance === e) { + let r = t.splice(n, 1); + return (this.remove(r[0].object), !0); + } + return !1; + } + getCurrentLevel() { + return this._currentLevel; + } + getObjectForDistance(e) { + let t = this.levels; + if (t.length > 0) { + let n, r; + for (n = 1, r = t.length; n < r; n++) { + let o = t[n].distance; + if (t[n].object.visible) o -= o * t[n].hysteresis; + if (e < o) break; + } + return t[n - 1].object; + } + return null; + } + raycast(e, t) { + if (this.levels.length > 0) { + jme.setFromMatrixPosition(this.matrixWorld); + let r = e.ray.origin.distanceTo(jme); + this.getObjectForDistance(r).raycast(e, t); + } + } + update(e) { + let t = this.levels; + if (t.length > 1) { + (jme.setFromMatrixPosition(e.matrixWorld), + Dfn.setFromMatrixPosition(this.matrixWorld)); + let n = jme.distanceTo(Dfn) / e.zoom; + t[0].object.visible = !0; + let r, o; + for (r = 1, o = t.length; r < o; r++) { + let a = t[r].distance; + if (t[r].object.visible) a -= a * t[r].hysteresis; + if (n >= a) + ((t[r - 1].object.visible = !1), (t[r].object.visible = !0)); + else break; + } + this._currentLevel = r - 1; + for (; r < o; r++) t[r].object.visible = !1; + } + } + toJSON(e) { + let t = super.toJSON(e); + ((t.object.autoUpdate = this.autoUpdate), (t.object.levels = [])); + let n = this.levels; + for (let r = 0, o = n.length; r < o; r++) { + let a = n[r]; + t.object.levels.push({ + object: a.object.uuid, + distance: a.distance, + hysteresis: a.hysteresis, + }); + } + return t; + } + }; + ((Gw = new he()), (jze = new he()), ($me = new he()), (ehe = new he())); + Um = class Um extends ap { + constructor(e) { + super(); + ((this.isMeshBasicMaterial = !0), + (this.type = "MeshBasicMaterial"), + (this.color = new _n(16777215)), + (this.map = null), + (this.lightMap = null), + (this.lightMapIntensity = 1), + (this.aoMap = null), + (this.aoMapIntensity = 1), + (this.specularMap = null), + (this.alphaMap = null), + (this.envMap = null), + (this.envMapRotation = new Hy()), + (this.combine = 0), + (this.reflectivity = 1), + (this.refractionRatio = 0.98), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.wireframeLinecap = "round"), + (this.wireframeLinejoin = "round"), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + (this.map = e.map), + (this.lightMap = e.lightMap), + (this.lightMapIntensity = e.lightMapIntensity), + (this.aoMap = e.aoMap), + (this.aoMapIntensity = e.aoMapIntensity), + (this.specularMap = e.specularMap), + (this.alphaMap = e.alphaMap), + (this.envMap = e.envMap), + this.envMapRotation.copy(e.envMapRotation), + (this.combine = e.combine), + (this.reflectivity = e.reflectivity), + (this.refractionRatio = e.refractionRatio), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.wireframeLinecap = e.wireframeLinecap), + (this.wireframeLinejoin = e.wireframeLinejoin), + (this.fog = e.fog), + this + ); + } + }; + ((Lfn = new Vn()), + (c7 = new Vy()), + (the = new op()), + (Bfn = new he()), + (nhe = new he()), + (rhe = new he()), + (ohe = new he()), + ($ze = new he()), + (ahe = new he()), + (Ofn = new he()), + (ihe = new he())); + Na = class Na extends Go { + constructor(e = new Jr(), t = new Um()) { + super(); + ((this.isMesh = !0), + (this.type = "Mesh"), + (this.geometry = e), + (this.material = t), + (this.morphTargetDictionary = void 0), + (this.morphTargetInfluences = void 0), + (this.count = 1), + this.updateMorphTargets()); + } + copy(e, t) { + if ((super.copy(e, t), e.morphTargetInfluences !== void 0)) + this.morphTargetInfluences = e.morphTargetInfluences.slice(); + if (e.morphTargetDictionary !== void 0) + this.morphTargetDictionary = Object.assign({}, e.morphTargetDictionary); + return ( + (this.material = Array.isArray(e.material) + ? e.material.slice() + : e.material), + (this.geometry = e.geometry), + this + ); + } + updateMorphTargets() { + let t = this.geometry.morphAttributes, + n = Object.keys(t); + if (n.length > 0) { + let r = t[n[0]]; + if (r !== void 0) { + ((this.morphTargetInfluences = []), + (this.morphTargetDictionary = {})); + for (let o = 0, a = r.length; o < a; o++) { + let i = r[o].name || String(o); + (this.morphTargetInfluences.push(0), + (this.morphTargetDictionary[i] = o)); + } + } + } + } + getVertexPosition(e, t) { + let n = this.geometry, + r = n.attributes.position, + o = n.morphAttributes.position, + a = n.morphTargetsRelative; + t.fromBufferAttribute(r, e); + let i = this.morphTargetInfluences; + if (o && i) { + ahe.set(0, 0, 0); + for (let s = 0, l = o.length; s < l; s++) { + let c = i[s], + u = o[s]; + if (c === 0) continue; + if (($ze.fromBufferAttribute(u, e), a)) ahe.addScaledVector($ze, c); + else ahe.addScaledVector($ze.sub(t), c); + } + t.add(ahe); + } + return t; + } + intersectsFrustum(e) { + return e.intersectsObject(this); + } + raycast(e, t) { + let n = this.geometry, + r = this.material, + o = this.matrixWorld; + if (r === void 0) return; + if (n.boundingSphere === null) n.computeBoundingSphere(); + if ( + (the.copy(n.boundingSphere), + the.applyMatrix4(o), + c7.copy(e.ray).recast(e.near), + the.containsPoint(c7.origin) === !1) + ) { + if (c7.intersectSphere(the, Bfn) === null) return; + if (c7.origin.distanceToSquared(Bfn) > (e.far - e.near) ** 2) return; + } + if ( + (Lfn.copy(o).invert(), + c7.copy(e.ray).applyMatrix4(Lfn), + n.boundingBox !== null) + ) { + if (c7.intersectsBox(n.boundingBox) === !1) return; + } + this._computeIntersections(e, t, c7); + } + _computeIntersections(e, t, n) { + let r, + o = this.geometry, + a = this.material, + i = o.index, + s = o.attributes.position, + l = o.attributes.uv, + c = o.attributes.uv1, + u = o.attributes.normal, + { groups: d, drawRange: p } = o; + if (i !== null) + if (Array.isArray(a)) + for (let f = 0, m = d.length; f < m; f++) { + let g = d[f], + v = a[g.materialIndex], + y = Math.max(g.start, p.start), + x = Math.min( + i.count, + Math.min(g.start + g.count, p.start + p.count), + ); + for (let A = y, w = x; A < w; A += 3) { + let C = i.getX(A), + E = i.getX(A + 1), + T = i.getX(A + 2); + if (((r = she(this, v, e, n, l, c, u, C, E, T)), r)) + ((r.faceIndex = Math.floor(A / 3)), + (r.face.materialIndex = g.materialIndex), + t.push(r)); + } + } + else { + let f = Math.max(0, p.start), + m = Math.min(i.count, p.start + p.count); + for (let g = f, v = m; g < v; g += 3) { + let y = i.getX(g), + x = i.getX(g + 1), + A = i.getX(g + 2); + if (((r = she(this, a, e, n, l, c, u, y, x, A)), r)) + ((r.faceIndex = Math.floor(g / 3)), t.push(r)); + } + } + else if (s !== void 0) + if (Array.isArray(a)) + for (let f = 0, m = d.length; f < m; f++) { + let g = d[f], + v = a[g.materialIndex], + y = Math.max(g.start, p.start), + x = Math.min( + s.count, + Math.min(g.start + g.count, p.start + p.count), + ); + for (let A = y, w = x; A < w; A += 3) { + let C = A, + E = A + 1, + T = A + 2; + if (((r = she(this, v, e, n, l, c, u, C, E, T)), r)) + ((r.faceIndex = Math.floor(A / 3)), + (r.face.materialIndex = g.materialIndex), + t.push(r)); + } + } + else { + let f = Math.max(0, p.start), + m = Math.min(s.count, p.start + p.count); + for (let g = f, v = m; g < v; g += 3) { + let y = g, + x = g + 1, + A = g + 2; + if (((r = she(this, a, e, n, l, c, u, y, x, A)), r)) + ((r.faceIndex = Math.floor(g / 3)), t.push(r)); + } + } + } + }; + ((nX = new Ja()), + (Ffn = new Ja()), + (Ufn = new Ja()), + (xPr = new Ja()), + (Nfn = new Vn()), + (lhe = new he()), + (e_e = new op()), + (zfn = new Vn()), + (t_e = new Vy())); + B0e = class B0e extends Na { + constructor(e, t) { + super(e, t); + ((this.isSkinnedMesh = !0), + (this.type = "SkinnedMesh"), + (this.bindMode = "attached"), + (this.bindMatrix = new Vn()), + (this.bindMatrixInverse = new Vn()), + (this.boundingBox = null), + (this.boundingSphere = null)); + } + computeBoundingBox() { + let e = this.geometry; + if (this.boundingBox === null) this.boundingBox = new Il(); + this.boundingBox.makeEmpty(); + let t = e.getAttribute("position"); + for (let n = 0; n < t.count; n++) + (this.getVertexPosition(n, lhe), this.boundingBox.expandByPoint(lhe)); + } + computeBoundingSphere() { + let e = this.geometry; + if (this.boundingSphere === null) this.boundingSphere = new op(); + this.boundingSphere.makeEmpty(); + let t = e.getAttribute("position"); + for (let n = 0; n < t.count; n++) + (this.getVertexPosition(n, lhe), + this.boundingSphere.expandByPoint(lhe)); + } + copy(e, t) { + if ( + (super.copy(e, t), + (this.bindMode = e.bindMode), + this.bindMatrix.copy(e.bindMatrix), + this.bindMatrixInverse.copy(e.bindMatrixInverse), + (this.skeleton = e.skeleton), + e.boundingBox !== null) + ) + this.boundingBox = e.boundingBox.clone(); + if (e.boundingSphere !== null) + this.boundingSphere = e.boundingSphere.clone(); + return this; + } + raycast(e, t) { + let n = this.material, + r = this.matrixWorld; + if (n === void 0) return; + if (this.boundingSphere === null) this.computeBoundingSphere(); + if ( + (e_e.copy(this.boundingSphere), + e_e.applyMatrix4(r), + e.ray.intersectsSphere(e_e) === !1) + ) + return; + if ( + (zfn.copy(r).invert(), + t_e.copy(e.ray).applyMatrix4(zfn), + this.boundingBox !== null) + ) { + if (t_e.intersectsBox(this.boundingBox) === !1) return; + } + this._computeIntersections(e, t, t_e); + } + getVertexPosition(e, t) { + return (super.getVertexPosition(e, t), this.applyBoneTransform(e, t), t); + } + bind(e, t) { + if (((this.skeleton = e), t === void 0)) + (this.updateMatrixWorld(!0), + this.skeleton.calculateInverses(), + (t = this.matrixWorld)); + (this.bindMatrix.copy(t), this.bindMatrixInverse.copy(t).invert()); + } + pose() { + this.skeleton.pose(); + } + normalizeSkinWeights() { + let e = new Ja(), + t = this.geometry.attributes.skinWeight; + for (let n = 0, r = t.count; n < r; n++) { + e.fromBufferAttribute(t, n); + let o = 1 / e.manhattanLength(); + if (o !== 1 / 0) e.multiplyScalar(o); + else e.set(1, 0, 0, 0); + t.setXYZW(n, e.x, e.y, e.z, e.w); + } + } + updateMatrixWorld(e) { + if ((super.updateMatrixWorld(e), this.bindMode === "attached")) + this.bindMatrixInverse.copy(this.matrixWorld).invert(); + else if (this.bindMode === "detached") + this.bindMatrixInverse.copy(this.bindMatrix).invert(); + else zn("SkinnedMesh: Unrecognized bindMode: " + this.bindMode); + } + applyBoneTransform(e, t) { + let n = this.skeleton, + r = this.geometry; + if ( + (Ffn.fromBufferAttribute(r.attributes.skinIndex, e), + Ufn.fromBufferAttribute(r.attributes.skinWeight, e), + t.isVector4) + ) + (nX.copy(t), t.set(0, 0, 0, 0)); + else (nX.set(...t, 1), t.set(0, 0, 0)); + nX.applyMatrix4(this.bindMatrix); + for (let o = 0; o < 4; o++) { + let a = Ufn.getComponent(o); + if (a !== 0) { + let i = Ffn.getComponent(o); + (Nfn.multiplyMatrices(n.bones[i].matrixWorld, n.boneInverses[i]), + t.addScaledVector(xPr.copy(nX).applyMatrix4(Nfn), a)); + } + } + if (t.isVector4) t.w = nX.w; + return t.applyMatrix4(this.bindMatrixInverse); + } + }; + NX = class NX extends Go { + constructor() { + super(); + ((this.isBone = !0), (this.type = "Bone")); + } + }; + jl = class jl extends El { + constructor( + e = null, + t = 1, + n = 1, + r, + o, + a, + i, + s, + l = 1003, + c = 1003, + u, + d, + ) { + super(null, a, i, s, l, c, r, o, u, d); + ((this.isDataTexture = !0), + (this.image = { data: e, width: t, height: n }), + (this.generateMipmaps = !1), + (this.flipY = !1), + (this.unpackAlignment = 1)); + } + }; + ((_fn = new Vn()), (APr = new Vn())); + Jx = class Jx extends si { + constructor(e, t, n, r = 1) { + super(e, t, n); + ((this.isInstancedBufferAttribute = !0), (this.meshPerAttribute = r)); + } + copy(e) { + return ( + super.copy(e), + (this.meshPerAttribute = e.meshPerAttribute), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ( + (e.meshPerAttribute = this.meshPerAttribute), + (e.isInstancedBufferAttribute = !0), + e + ); + } + }; + ((CB = new Vn()), + (Hfn = new Vn()), + (che = []), + (Vfn = new Il()), + (wPr = new Vn()), + (rX = new Na()), + (oX = new op())); + O0e = class O0e extends Na { + constructor(e, t, n) { + super(e, t); + ((this.isInstancedMesh = !0), + (this.instanceMatrix = new Jx(new Float32Array(n * 16), 16)), + (this.instanceColor = null), + (this.morphTexture = null), + (this.count = n), + (this.boundingBox = null), + (this.boundingSphere = null)); + for (let r = 0; r < n; r++) this.setMatrixAt(r, wPr); + } + computeBoundingBox() { + let e = this.geometry, + t = this.count; + if (this.boundingBox === null) this.boundingBox = new Il(); + if (e.boundingBox === null) e.computeBoundingBox(); + this.boundingBox.makeEmpty(); + for (let n = 0; n < t; n++) + (this.getMatrixAt(n, CB), + Vfn.copy(e.boundingBox).applyMatrix4(CB), + this.boundingBox.union(Vfn)); + } + computeBoundingSphere() { + let e = this.geometry, + t = this.count; + if (this.boundingSphere === null) this.boundingSphere = new op(); + if (e.boundingSphere === null) e.computeBoundingSphere(); + this.boundingSphere.makeEmpty(); + for (let n = 0; n < t; n++) + (this.getMatrixAt(n, CB), + oX.copy(e.boundingSphere).applyMatrix4(CB), + this.boundingSphere.union(oX)); + } + copy(e, t) { + if ( + (super.copy(e, t), + this.instanceMatrix.copy(e.instanceMatrix), + e.morphTexture !== null) + ) + this.morphTexture = e.morphTexture.clone(); + if (e.instanceColor !== null) + this.instanceColor = e.instanceColor.clone(); + if (((this.count = e.count), e.boundingBox !== null)) + this.boundingBox = e.boundingBox.clone(); + if (e.boundingSphere !== null) + this.boundingSphere = e.boundingSphere.clone(); + return this; + } + getColorAt(e, t) { + if (this.instanceColor === null) return t.setRGB(1, 1, 1); + else return t.fromArray(this.instanceColor.array, e * 3); + } + getMatrixAt(e, t) { + return t.fromArray(this.instanceMatrix.array, e * 16); + } + getMorphAt(e, t) { + let n = t.morphTargetInfluences, + r = this.morphTexture.source.data.data, + o = n.length + 1, + a = e * o + 1; + for (let i = 0; i < n.length; i++) n[i] = r[a + i]; + } + raycast(e, t) { + let n = this.matrixWorld, + r = this.count; + if ( + ((rX.geometry = this.geometry), + (rX.material = this.material), + rX.material === void 0) + ) + return; + if (this.boundingSphere === null) this.computeBoundingSphere(); + if ( + (oX.copy(this.boundingSphere), + oX.applyMatrix4(n), + e.ray.intersectsSphere(oX) === !1) + ) + return; + for (let o = 0; o < r; o++) { + (this.getMatrixAt(o, CB), + Hfn.multiplyMatrices(n, CB), + (rX.matrixWorld = Hfn), + rX.raycast(e, che)); + for (let a = 0, i = che.length; a < i; a++) { + let s = che[a]; + ((s.instanceId = o), (s.object = this), t.push(s)); + } + che.length = 0; + } + } + setColorAt(e, t) { + if (this.instanceColor === null) + this.instanceColor = new Jx( + new Float32Array(this.instanceMatrix.count * 3).fill(1), + 3, + ); + return (t.toArray(this.instanceColor.array, e * 3), this); + } + setMatrixAt(e, t) { + return (t.toArray(this.instanceMatrix.array, e * 16), this); + } + setMorphAt(e, t) { + let n = t.morphTargetInfluences, + r = n.length + 1; + if (this.morphTexture === null) + this.morphTexture = new jl( + new Float32Array(r * this.count), + r, + this.count, + 1028, + 1015, + ); + let o = this.morphTexture.source.data.data, + a = 0; + for (let l = 0; l < n.length; l++) a += n[l]; + let i = this.geometry.morphTargetsRelative ? 1 : 1 - a, + s = r * e; + return ((o[s] = i), o.set(n, s + 1), this); + } + updateMorphTargets() {} + dispose() { + if ((super.dispose(), this.morphTexture !== null)) + (this.morphTexture.dispose(), (this.morphTexture = null)); + } + }; + ((u7 = new op()), (SPr = new vt(0.5, 0.5)), (uhe = new he())); + Gfn = new Vn(); + ((D0 = new Vn()), + (IPr = new _n(1, 1, 1)), + (TPr = new Ww()), + (kPr = new _X()), + (dhe = new Il()), + (d7 = new op()), + (aX = new he()), + (qfn = new he()), + (RPr = new he()), + (r_e = new Zhn()), + (Lm = new Na()), + (phe = [])); + F0e = class F0e extends Na { + constructor(e, t, n = t * 2, r) { + super(new Jr(), r); + ((this.isBatchedMesh = !0), + (this.perObjectFrustumCulled = !0), + (this.sortObjects = !0), + (this.boundingBox = null), + (this.boundingSphere = null), + (this.customSort = null), + (this._instanceInfo = []), + (this._geometryInfo = []), + (this._availableInstanceIds = []), + (this._availableGeometryIds = []), + (this._nextIndexStart = 0), + (this._nextVertexStart = 0), + (this._geometryCount = 0), + (this._visibilityChanged = !0), + (this._geometryInitialized = !1), + (this._maxInstanceCount = e), + (this._maxVertexCount = t), + (this._maxIndexCount = n), + (this._multiDrawCounts = new Int32Array(e)), + (this._multiDrawStarts = new Int32Array(e)), + (this._multiDrawCount = 0), + (this._multiDrawBytesPerElement = 1), + (this._matricesTexture = null), + (this._indirectTexture = null), + (this._colorsTexture = null), + this._initMatricesTexture(), + this._initIndirectTexture()); + } + get maxInstanceCount() { + return this._maxInstanceCount; + } + get instanceCount() { + return this._instanceInfo.length - this._availableInstanceIds.length; + } + get unusedVertexCount() { + return this._maxVertexCount - this._nextVertexStart; + } + get unusedIndexCount() { + return this._maxIndexCount - this._nextIndexStart; + } + _initMatricesTexture() { + let e = Math.sqrt(this._maxInstanceCount * 4); + ((e = Math.ceil(e / 4) * 4), (e = Math.max(e, 4))); + let t = new Float32Array(e * e * 4), + n = new jl(t, e, e, 1023, 1015); + this._matricesTexture = n; + } + _initIndirectTexture() { + let e = Math.sqrt(this._maxInstanceCount); + e = Math.ceil(e); + let t = new Uint32Array(e * e), + n = new jl(t, e, e, 1029, 1014); + this._indirectTexture = n; + } + _initColorsTexture() { + let e = Math.sqrt(this._maxInstanceCount); + e = Math.ceil(e); + let t = new Float32Array(e * e * 4).fill(1), + n = new jl(t, e, e, 1023, 1015); + ((n.colorSpace = jo.workingColorSpace), (this._colorsTexture = n)); + } + _initializeGeometry(e) { + let t = this.geometry, + n = this._maxVertexCount, + r = this._maxIndexCount; + if (this._geometryInitialized === !1) { + for (let o in e.attributes) { + let a = e.getAttribute(o), + { array: i, itemSize: s, normalized: l } = a, + c = new i.constructor(n * s), + u = new si(c, s, l); + t.setAttribute(o, u); + } + if (e.getIndex() !== null) { + let o = n > 65535 ? new Uint32Array(r) : new Uint16Array(r); + t.setIndex(new si(o, 1)); + } + this._geometryInitialized = !0; + } + } + _validateGeometry(e) { + let t = this.geometry; + if (Boolean(e.getIndex()) !== Boolean(t.getIndex())) + throw Error( + 'THREE.BatchedMesh: All geometries must consistently have "index".', + ); + for (let n in t.attributes) { + if (!e.hasAttribute(n)) + throw Error( + `THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`, + ); + let r = e.getAttribute(n), + o = t.getAttribute(n); + if (r.itemSize !== o.itemSize || r.normalized !== o.normalized) + throw Error( + "THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.", + ); + } + } + validateInstanceId(e) { + let t = this._instanceInfo; + if (e < 0 || e >= t.length || t[e].active === !1) + throw Error( + `THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`, + ); + } + validateGeometryId(e) { + let t = this._geometryInfo; + if (e < 0 || e >= t.length || t[e].active === !1) + throw Error( + `THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`, + ); + } + setCustomSort(e) { + return ((this.customSort = e), this); + } + computeBoundingBox() { + if (this.boundingBox === null) this.boundingBox = new Il(); + let e = this.boundingBox, + t = this._instanceInfo; + e.makeEmpty(); + for (let n = 0, r = t.length; n < r; n++) { + if (t[n].active === !1) continue; + let o = t[n].geometryIndex; + (this.getMatrixAt(n, D0), + this.getBoundingBoxAt(o, dhe).applyMatrix4(D0), + e.union(dhe)); + } + } + computeBoundingSphere() { + if (this.boundingSphere === null) this.boundingSphere = new op(); + let e = this.boundingSphere, + t = this._instanceInfo; + e.makeEmpty(); + for (let n = 0, r = t.length; n < r; n++) { + if (t[n].active === !1) continue; + let o = t[n].geometryIndex; + (this.getMatrixAt(n, D0), + this.getBoundingSphereAt(o, d7).applyMatrix4(D0), + e.union(d7)); + } + } + addInstance(e) { + if ( + this._instanceInfo.length >= this.maxInstanceCount && + this._availableInstanceIds.length === 0 + ) + throw Error("THREE.BatchedMesh: Maximum item count reached."); + let n = { visible: !0, active: !0, geometryIndex: e }, + r = null; + if (this._availableInstanceIds.length > 0) + (this._availableInstanceIds.sort(n_e), + (r = this._availableInstanceIds.shift()), + (this._instanceInfo[r] = n)); + else ((r = this._instanceInfo.length), this._instanceInfo.push(n)); + let o = this._matricesTexture; + (D0.identity().toArray(o.image.data, r * 16), (o.needsUpdate = !0)); + let a = this._colorsTexture; + if (a) (IPr.toArray(a.image.data, r * 4), (a.needsUpdate = !0)); + return ((this._visibilityChanged = !0), r); + } + addGeometry(e, t = -1, n = -1) { + (this._initializeGeometry(e), this._validateGeometry(e)); + let r = { + vertexStart: -1, + vertexCount: -1, + reservedVertexCount: -1, + indexStart: -1, + indexCount: -1, + reservedIndexCount: -1, + start: -1, + count: -1, + boundingBox: null, + boundingSphere: null, + active: !0, + }, + o = this._geometryInfo; + ((r.vertexStart = this._nextVertexStart), + (r.reservedVertexCount = + t === -1 ? e.getAttribute("position").count : t)); + let a = e.getIndex(); + if (a !== null) + ((r.indexStart = this._nextIndexStart), + (r.reservedIndexCount = n === -1 ? a.count : n)); + if ( + (r.indexStart !== -1 && + r.indexStart + r.reservedIndexCount > this._maxIndexCount) || + r.vertexStart + r.reservedVertexCount > this._maxVertexCount + ) + throw Error( + "THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.", + ); + let s; + if (this._availableGeometryIds.length > 0) + (this._availableGeometryIds.sort(n_e), + (s = this._availableGeometryIds.shift()), + (o[s] = r)); + else ((s = this._geometryCount), this._geometryCount++, o.push(r)); + return ( + this.setGeometryAt(s, e), + (this._nextIndexStart = r.indexStart + r.reservedIndexCount), + (this._nextVertexStart = r.vertexStart + r.reservedVertexCount), + s + ); + } + setGeometryAt(e, t) { + if (e >= this._geometryCount) + throw Error("THREE.BatchedMesh: Maximum geometry count reached."); + this._validateGeometry(t); + let n = this.geometry, + r = n.getIndex() !== null, + o = n.getIndex(), + a = t.getIndex(), + i = this._geometryInfo[e]; + if ( + (r && a.count > i.reservedIndexCount) || + t.attributes.position.count > i.reservedVertexCount + ) + throw Error( + "THREE.BatchedMesh: Reserved space not large enough for provided geometry.", + ); + let { vertexStart: s, reservedVertexCount: l } = i; + i.vertexCount = t.getAttribute("position").count; + for (let c in n.attributes) { + let u = t.getAttribute(c), + d = n.getAttribute(c); + PPr(u, d, s); + let p = u.itemSize; + for (let f = u.count, m = l; f < m; f++) { + let g = s + f; + for (let v = 0; v < p; v++) d.setComponent(g, v, 0); + } + ((d.needsUpdate = !0), d.addUpdateRange(s * p, l * p)); + } + if (r) { + let { indexStart: c, reservedIndexCount: u } = i; + i.indexCount = t.getIndex().count; + for (let d = 0; d < a.count; d++) o.setX(c + d, s + a.getX(d)); + for (let d = a.count, p = u; d < p; d++) o.setX(c + d, s); + ((o.needsUpdate = !0), o.addUpdateRange(c, i.reservedIndexCount)); + } + if ( + ((i.start = r ? i.indexStart : i.vertexStart), + (i.count = r ? i.indexCount : i.vertexCount), + (i.boundingBox = null), + t.boundingBox !== null) + ) + i.boundingBox = t.boundingBox.clone(); + if (((i.boundingSphere = null), t.boundingSphere !== null)) + i.boundingSphere = t.boundingSphere.clone(); + return ((this._visibilityChanged = !0), e); + } + deleteGeometry(e) { + let t = this._geometryInfo; + if (e >= t.length || t[e].active === !1) return this; + let n = this._instanceInfo; + for (let r = 0, o = n.length; r < o; r++) + if (n[r].active && n[r].geometryIndex === e) this.deleteInstance(r); + return ( + (t[e].active = !1), + this._availableGeometryIds.push(e), + (this._visibilityChanged = !0), + this + ); + } + deleteInstance(e) { + return ( + this.validateInstanceId(e), + (this._instanceInfo[e].active = !1), + this._availableInstanceIds.push(e), + (this._visibilityChanged = !0), + this + ); + } + optimize() { + let e = 0, + t = 0, + n = this._geometryInfo, + r = n + .map((a, i) => i) + .sort((a, i) => n[a].vertexStart - n[i].vertexStart), + o = this.geometry; + for (let a = 0, i = n.length; a < i; a++) { + let s = r[a], + l = n[s]; + if (l.active === !1) continue; + if (o.index !== null) { + if (l.indexStart !== t) { + let { indexStart: c, vertexStart: u, reservedIndexCount: d } = l, + p = o.index, + f = p.array, + m = e - u; + for (let g = c; g < c + d; g++) f[g] = f[g] + m; + (p.array.copyWithin(t, c, c + d), + p.addUpdateRange(t, d), + (p.needsUpdate = !0), + (l.indexStart = t)); + } + t += l.reservedIndexCount; + } + if (l.vertexStart !== e) { + let { vertexStart: c, reservedVertexCount: u } = l, + d = o.attributes; + for (let p in d) { + let f = d[p], + { array: m, itemSize: g } = f; + (m.copyWithin(e * g, c * g, (c + u) * g), + f.addUpdateRange(e * g, u * g), + (f.needsUpdate = !0)); + } + l.vertexStart = e; + } + ((e += l.reservedVertexCount), + (l.start = o.index ? l.indexStart : l.vertexStart)); + } + return ( + (this._nextIndexStart = t), + (this._nextVertexStart = e), + (this._visibilityChanged = !0), + this + ); + } + getBoundingBoxAt(e, t) { + if (e >= this._geometryCount) return null; + let n = this.geometry, + r = this._geometryInfo[e]; + if (r.boundingBox === null) { + let o = new Il(), + a = n.index, + i = n.attributes.position; + for (let s = r.start, l = r.start + r.count; s < l; s++) { + let c = s; + if (a) c = a.getX(c); + o.expandByPoint(aX.fromBufferAttribute(i, c)); + } + r.boundingBox = o; + } + return (t.copy(r.boundingBox), t); + } + getBoundingSphereAt(e, t) { + if (e >= this._geometryCount) return null; + let n = this.geometry, + r = this._geometryInfo[e]; + if (r.boundingSphere === null) { + let o = new op(); + (this.getBoundingBoxAt(e, dhe), dhe.getCenter(o.center)); + let a = n.index, + i = n.attributes.position, + s = 0; + for (let l = r.start, c = r.start + r.count; l < c; l++) { + let u = l; + if (a) u = a.getX(u); + (aX.fromBufferAttribute(i, u), + (s = Math.max(s, o.center.distanceToSquared(aX)))); + } + ((o.radius = Math.sqrt(s)), (r.boundingSphere = o)); + } + return (t.copy(r.boundingSphere), t); + } + setMatrixAt(e, t) { + this.validateInstanceId(e); + let n = this._matricesTexture, + r = this._matricesTexture.image.data; + return (t.toArray(r, e * 16), (n.needsUpdate = !0), this); + } + getMatrixAt(e, t) { + return ( + this.validateInstanceId(e), + t.fromArray(this._matricesTexture.image.data, e * 16) + ); + } + setColorAt(e, t) { + if ((this.validateInstanceId(e), this._colorsTexture === null)) + this._initColorsTexture(); + return ( + t.toArray(this._colorsTexture.image.data, e * 4), + (this._colorsTexture.needsUpdate = !0), + this + ); + } + getColorAt(e, t) { + if ((this.validateInstanceId(e), this._colorsTexture === null)) + if (t.isVector4) return t.set(1, 1, 1, 1); + else return t.setRGB(1, 1, 1); + else return t.fromArray(this._colorsTexture.image.data, e * 4); + } + setVisibleAt(e, t) { + if ((this.validateInstanceId(e), this._instanceInfo[e].visible === t)) + return this; + return ( + (this._instanceInfo[e].visible = t), + (this._visibilityChanged = !0), + this + ); + } + getVisibleAt(e) { + return (this.validateInstanceId(e), this._instanceInfo[e].visible); + } + setGeometryIdAt(e, t) { + return ( + this.validateInstanceId(e), + this.validateGeometryId(t), + (this._instanceInfo[e].geometryIndex = t), + (this._visibilityChanged = !0), + this + ); + } + getGeometryIdAt(e) { + return (this.validateInstanceId(e), this._instanceInfo[e].geometryIndex); + } + getGeometryRangeAt(e, t = {}) { + this.validateGeometryId(e); + let n = this._geometryInfo[e]; + return ( + (t.vertexStart = n.vertexStart), + (t.vertexCount = n.vertexCount), + (t.reservedVertexCount = n.reservedVertexCount), + (t.indexStart = n.indexStart), + (t.indexCount = n.indexCount), + (t.reservedIndexCount = n.reservedIndexCount), + (t.start = n.start), + (t.count = n.count), + t + ); + } + setInstanceCount(e) { + let t = this._availableInstanceIds, + n = this._instanceInfo; + t.sort(n_e); + while (t[t.length - 1] === n.length - 1) (n.pop(), t.pop()); + if (e < n.length) + throw Error( + `THREE.BatchedMesh: Instance ids outside the range ${e} are being used. Cannot shrink instance count.`, + ); + let r = new Int32Array(e), + o = new Int32Array(e); + (p7(this._multiDrawCounts, r), + p7(this._multiDrawStarts, o), + (this._multiDrawCounts = r), + (this._multiDrawStarts = o), + (this._maxInstanceCount = e)); + let a = this._indirectTexture, + i = this._matricesTexture, + s = this._colorsTexture; + if ( + (a.dispose(), + this._initIndirectTexture(), + p7(a.image.data, this._indirectTexture.image.data), + i.dispose(), + this._initMatricesTexture(), + p7(i.image.data, this._matricesTexture.image.data), + s) + ) + (s.dispose(), + this._initColorsTexture(), + p7(s.image.data, this._colorsTexture.image.data)); + } + setGeometrySize(e, t) { + let n = [...this._geometryInfo].filter((i) => i.active); + if (Math.max(...n.map((i) => i.vertexStart + i.reservedVertexCount)) > e) + throw Error( + `THREE.BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`, + ); + if (this.geometry.index) { + if (Math.max(...n.map((s) => s.indexStart + s.reservedIndexCount)) > t) + throw Error( + `THREE.BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`, + ); + } + let o = this.geometry; + if ( + (o.dispose(), + (this._maxVertexCount = e), + (this._maxIndexCount = t), + this._geometryInitialized) + ) + ((this._geometryInitialized = !1), + (this.geometry = new Jr()), + this._initializeGeometry(o)); + let a = this.geometry; + if (o.index) p7(o.index.array, a.index.array); + for (let i in o.attributes) + p7(o.attributes[i].array, a.attributes[i].array); + } + raycast(e, t) { + let n = this._instanceInfo, + r = this._geometryInfo, + o = this.matrixWorld, + a = this.geometry; + if ( + ((Lm.material = this.material), + (Lm.geometry.index = a.index), + (Lm.geometry.attributes = a.attributes), + Lm.geometry.boundingBox === null) + ) + Lm.geometry.boundingBox = new Il(); + if (Lm.geometry.boundingSphere === null) + Lm.geometry.boundingSphere = new op(); + for (let i = 0, s = n.length; i < s; i++) { + if (!n[i].visible || !n[i].active) continue; + let l = n[i].geometryIndex, + c = r[l]; + (Lm.geometry.setDrawRange(c.start, c.count), + this.getMatrixAt(i, Lm.matrixWorld).premultiply(o), + this.getBoundingBoxAt(l, Lm.geometry.boundingBox), + this.getBoundingSphereAt(l, Lm.geometry.boundingSphere), + Lm.raycast(e, phe)); + for (let u = 0, d = phe.length; u < d; u++) { + let p = phe[u]; + ((p.object = this), (p.batchId = i), t.push(p)); + } + phe.length = 0; + } + ((Lm.material = null), + (Lm.geometry.index = null), + (Lm.geometry.attributes = {}), + Lm.geometry.setDrawRange(0, 1 / 0)); + } + copy(e) { + if ( + (super.copy(e), + (this.geometry = e.geometry.clone()), + (this.perObjectFrustumCulled = e.perObjectFrustumCulled), + (this.sortObjects = e.sortObjects), + (this.boundingBox = + e.boundingBox !== null ? e.boundingBox.clone() : null), + (this.boundingSphere = + e.boundingSphere !== null ? e.boundingSphere.clone() : null), + (this._geometryInfo = e._geometryInfo.map((t) => ({ + ...t, + boundingBox: t.boundingBox !== null ? t.boundingBox.clone() : null, + boundingSphere: + t.boundingSphere !== null ? t.boundingSphere.clone() : null, + }))), + (this._instanceInfo = e._instanceInfo.map((t) => ({ ...t }))), + (this._availableInstanceIds = e._availableInstanceIds.slice()), + (this._availableGeometryIds = e._availableGeometryIds.slice()), + (this._nextIndexStart = e._nextIndexStart), + (this._nextVertexStart = e._nextVertexStart), + (this._geometryCount = e._geometryCount), + (this._maxInstanceCount = e._maxInstanceCount), + (this._maxVertexCount = e._maxVertexCount), + (this._maxIndexCount = e._maxIndexCount), + (this._geometryInitialized = e._geometryInitialized), + (this._multiDrawCounts = e._multiDrawCounts.slice()), + (this._multiDrawStarts = e._multiDrawStarts.slice()), + (this._multiDrawBytesPerElement = e._multiDrawBytesPerElement), + (this._indirectTexture = e._indirectTexture.clone()), + (this._indirectTexture.image.data = + this._indirectTexture.image.data.slice()), + (this._matricesTexture = e._matricesTexture.clone()), + (this._matricesTexture.image.data = + this._matricesTexture.image.data.slice()), + this._colorsTexture !== null) + ) + ((this._colorsTexture = e._colorsTexture.clone()), + (this._colorsTexture.image.data = + this._colorsTexture.image.data.slice())); + return this; + } + dispose() { + if ( + (super.dispose(), + this.geometry.dispose(), + this._matricesTexture.dispose(), + (this._matricesTexture = null), + this._indirectTexture.dispose(), + (this._indirectTexture = null), + this._colorsTexture !== null) + ) + (this._colorsTexture.dispose(), (this._colorsTexture = null)); + } + onBeforeRender(e, t, n, r, o) { + if ( + !this._visibilityChanged && + !this.perObjectFrustumCulled && + !this.sortObjects + ) + return; + let a = r.getIndex(), + i = a === null ? 1 : a.array.BYTES_PER_ELEMENT, + s = 1; + if (o.wireframe) + ((s = 2), (i = r.attributes.position.count > 65535 ? 4 : 2)); + let l = this._instanceInfo, + c = this._multiDrawStarts, + u = this._multiDrawCounts, + d = this._geometryInfo, + p = this.perObjectFrustumCulled, + f = this._indirectTexture, + m = f.image.data, + g = n.isArrayCamera ? kPr : TPr; + if (p) + if (n.isArrayCamera) g.setFromArrayCamera(n); + else + (D0.multiplyMatrices( + n.projectionMatrix, + n.matrixWorldInverse, + ).multiply(this.matrixWorld), + g.setFromProjectionMatrix(D0, n.coordinateSystem, n.reversedDepth)); + let v = 0; + if (this.sortObjects) { + (D0.copy(this.matrixWorld).invert(), + aX.setFromMatrixPosition(n.matrixWorld).applyMatrix4(D0), + qfn + .set(0, 0, -1) + .transformDirection(n.matrixWorld) + .transformDirection(D0)); + for (let A = 0, w = l.length; A < w; A++) + if (l[A].visible && l[A].active) { + let C = l[A].geometryIndex; + (this.getMatrixAt(A, D0), + this.getBoundingSphereAt(C, d7).applyMatrix4(D0)); + let E = !1; + if (p) E = !g.intersectsSphere(d7); + if (!E) { + let T = d[C], + I = RPr.subVectors(d7.center, aX).dot(qfn); + r_e.push(T.start, T.count, I, A); + } + } + let y = r_e.list, + x = this.customSort; + if (x === null) y.sort(o.transparent ? EPr : CPr); + else x.call(this, y, n); + for (let A = 0, w = y.length; A < w; A++) { + let C = y[A]; + ((c[v] = C.start * i * s), + (u[v] = C.count * s), + (m[v] = C.index), + v++); + } + r_e.reset(); + } else + for (let y = 0, x = l.length; y < x; y++) + if (l[y].visible && l[y].active) { + let A = l[y].geometryIndex, + w = !1; + if (p) + (this.getMatrixAt(y, D0), + this.getBoundingSphereAt(A, d7).applyMatrix4(D0), + (w = !g.intersectsSphere(d7))); + if (!w) { + let C = d[A]; + ((c[v] = C.start * i * s), (u[v] = C.count * s), (m[v] = y), v++); + } + } + ((f.needsUpdate = !0), + (this._multiDrawCount = v), + (this._multiDrawBytesPerElement = i), + (this._visibilityChanged = !1)); + } + onBeforeShadow(e, t, n, r, o, a) { + this.onBeforeRender(e, null, r, o, a); + } + }; + Wf = class Wf extends ap { + constructor(e) { + super(); + ((this.isLineBasicMaterial = !0), + (this.type = "LineBasicMaterial"), + (this.color = new _n(16777215)), + (this.map = null), + (this.linewidth = 1), + (this.linecap = "round"), + (this.linejoin = "round"), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + (this.map = e.map), + (this.linewidth = e.linewidth), + (this.linecap = e.linecap), + (this.linejoin = e.linejoin), + (this.fog = e.fog), + this + ); + } + }; + ((Mhe = new he()), + (Dhe = new he()), + (Zfn = new Vn()), + (iX = new Vy()), + (fhe = new op()), + (o_e = new he()), + (Qfn = new he())); + jx = class jx extends Go { + constructor(e = new Jr(), t = new Wf()) { + super(); + ((this.isLine = !0), + (this.type = "Line"), + (this.geometry = e), + (this.material = t), + (this.morphTargetDictionary = void 0), + (this.morphTargetInfluences = void 0), + this.updateMorphTargets()); + } + copy(e, t) { + return ( + super.copy(e, t), + (this.material = Array.isArray(e.material) + ? e.material.slice() + : e.material), + (this.geometry = e.geometry), + this + ); + } + computeLineDistances() { + let e = this.geometry; + if (e.index === null) { + let t = e.attributes.position, + n = [0]; + for (let r = 1, o = t.count; r < o; r++) + (Mhe.fromBufferAttribute(t, r - 1), + Dhe.fromBufferAttribute(t, r), + (n[r] = n[r - 1]), + (n[r] += Mhe.distanceTo(Dhe))); + e.setAttribute("lineDistance", new Jn(n, 1)); + } else + zn( + "Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.", + ); + return this; + } + intersectsFrustum(e) { + return e.intersectsObject(this); + } + raycast(e, t) { + let n = this.geometry, + r = this.matrixWorld, + o = e.params.Line.threshold, + a = n.drawRange; + if (n.boundingSphere === null) n.computeBoundingSphere(); + if ( + (fhe.copy(n.boundingSphere), + fhe.applyMatrix4(r), + (fhe.radius += o), + e.ray.intersectsSphere(fhe) === !1) + ) + return; + (Zfn.copy(r).invert(), iX.copy(e.ray).applyMatrix4(Zfn)); + let i = o / ((this.scale.x + this.scale.y + this.scale.z) / 3), + s = i * i, + l = this.isLineSegments ? 2 : 1, + c = n.index, + d = n.attributes.position; + if (c !== null) { + let p = Math.max(0, a.start), + f = Math.min(c.count, a.start + a.count); + for (let m = p, g = f - 1; m < g; m += l) { + let v = c.getX(m), + y = c.getX(m + 1), + x = mhe(this, e, iX, s, v, y, m); + if (x) t.push(x); + } + if (this.isLineLoop) { + let m = c.getX(f - 1), + g = c.getX(p), + v = mhe(this, e, iX, s, m, g, f - 1); + if (v) t.push(v); + } + } else { + let p = Math.max(0, a.start), + f = Math.min(d.count, a.start + a.count); + for (let m = p, g = f - 1; m < g; m += l) { + let v = mhe(this, e, iX, s, m, m + 1, m); + if (v) t.push(v); + } + if (this.isLineLoop) { + let m = mhe(this, e, iX, s, f - 1, p, f - 1); + if (m) t.push(m); + } + } + } + updateMorphTargets() { + let t = this.geometry.morphAttributes, + n = Object.keys(t); + if (n.length > 0) { + let r = t[n[0]]; + if (r !== void 0) { + ((this.morphTargetInfluences = []), + (this.morphTargetDictionary = {})); + for (let o = 0, a = r.length; o < a; o++) { + let i = r[o].name || String(o); + (this.morphTargetInfluences.push(0), + (this.morphTargetDictionary[i] = o)); + } + } + } + } + }; + ((Xfn = new he()), (Wfn = new he())); + Gy = class Gy extends jx { + constructor(e, t) { + super(e, t); + ((this.isLineSegments = !0), (this.type = "LineSegments")); + } + computeLineDistances() { + let e = this.geometry; + if (e.index === null) { + let t = e.attributes.position, + n = []; + for (let r = 0, o = t.count; r < o; r += 2) + (Xfn.fromBufferAttribute(t, r), + Wfn.fromBufferAttribute(t, r + 1), + (n[r] = r === 0 ? 0 : n[r - 1]), + (n[r + 1] = n[r] + Xfn.distanceTo(Wfn))); + e.setAttribute("lineDistance", new Jn(n, 1)); + } else + zn( + "LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.", + ); + return this; + } + }; + U0e = class U0e extends jx { + constructor(e, t) { + super(e, t); + ((this.isLineLoop = !0), (this.type = "LineLoop")); + } + }; + HX = class HX extends ap { + constructor(e) { + super(); + ((this.isPointsMaterial = !0), + (this.type = "PointsMaterial"), + (this.color = new _n(16777215)), + (this.map = null), + (this.alphaMap = null), + (this.size = 1), + (this.sizeAttenuation = !0), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + (this.map = e.map), + (this.alphaMap = e.alphaMap), + (this.size = e.size), + (this.sizeAttenuation = e.sizeAttenuation), + (this.fog = e.fog), + this + ); + } + }; + ((Yfn = new Vn()), (g_e = new Vy()), (hhe = new op()), (ghe = new he())); + N0e = class N0e extends Go { + constructor(e = new Jr(), t = new HX()) { + super(); + ((this.isPoints = !0), + (this.type = "Points"), + (this.geometry = e), + (this.material = t), + (this.morphTargetDictionary = void 0), + (this.morphTargetInfluences = void 0), + this.updateMorphTargets()); + } + copy(e, t) { + return ( + super.copy(e, t), + (this.material = Array.isArray(e.material) + ? e.material.slice() + : e.material), + (this.geometry = e.geometry), + this + ); + } + intersectsFrustum(e) { + return e.intersectsObject(this); + } + raycast(e, t) { + let n = this.geometry, + r = this.matrixWorld, + o = e.params.Points.threshold, + a = n.drawRange; + if (n.boundingSphere === null) n.computeBoundingSphere(); + if ( + (hhe.copy(n.boundingSphere), + hhe.applyMatrix4(r), + (hhe.radius += o), + e.ray.intersectsSphere(hhe) === !1) + ) + return; + (Yfn.copy(r).invert(), g_e.copy(e.ray).applyMatrix4(Yfn)); + let i = o / ((this.scale.x + this.scale.y + this.scale.z) / 3), + s = i * i, + l = n.index, + u = n.attributes.position; + if (l !== null) { + let d = Math.max(0, a.start), + p = Math.min(l.count, a.start + a.count); + for (let f = d, m = p; f < m; f++) { + let g = l.getX(f); + (ghe.fromBufferAttribute(u, g), Kfn(ghe, g, s, r, e, t, this)); + } + } else { + let d = Math.max(0, a.start), + p = Math.min(u.count, a.start + a.count); + for (let f = d, m = p; f < m; f++) + (ghe.fromBufferAttribute(u, f), Kfn(ghe, f, s, r, e, t, this)); + } + } + updateMorphTargets() { + let t = this.geometry.morphAttributes, + n = Object.keys(t); + if (n.length > 0) { + let r = t[n[0]]; + if (r !== void 0) { + ((this.morphTargetInfluences = []), + (this.morphTargetDictionary = {})); + for (let o = 0, a = r.length; o < a; o++) { + let i = r[o].name || String(o); + (this.morphTargetInfluences.push(0), + (this.morphTargetDictionary[i] = o)); + } + } + } + } + }; + z0e = class z0e extends El { + constructor(e, t, n, r, o = 1006, a = 1006, i, s, l) { + super(e, t, n, r, o, a, i, s, l); + ((this.isVideoTexture = !0), + (this.generateMipmaps = !1), + (this._requestVideoFrameCallbackId = 0)); + let c = this; + function u() { + ((c.needsUpdate = !0), + (c._requestVideoFrameCallbackId = e.requestVideoFrameCallback(u))); + } + if ("requestVideoFrameCallback" in e) + this._requestVideoFrameCallbackId = e.requestVideoFrameCallback(u); + } + clone() { + return new this.constructor(this.image).copy(this); + } + update() { + let e = this.image; + if ( + "requestVideoFrameCallback" in e === !1 && + e.readyState >= e.HAVE_CURRENT_DATA + ) + this.needsUpdate = !0; + } + dispose() { + if (this._requestVideoFrameCallbackId !== 0) + (this.source.data.cancelVideoFrameCallback( + this._requestVideoFrameCallbackId, + ), + (this._requestVideoFrameCallbackId = 0)); + super.dispose(); + } + }; + AHe = class AHe extends z0e { + constructor(e, t, n, r, o, a, i, s) { + super({}, e, t, n, r, o, a, i, s); + this.isVideoFrameTexture = !0; + } + update() {} + clone() { + return new this.constructor().copy(this); + } + setFrame(e) { + ((this.image = e), (this.needsUpdate = !0)); + } + }; + wHe = class wHe extends El { + constructor(e, t) { + super({ width: e, height: t }); + ((this.isFramebufferTexture = !0), + (this.magFilter = 1003), + (this.minFilter = 1003), + (this.generateMipmaps = !1), + (this.needsUpdate = !0)); + } + }; + XB = class XB extends El { + constructor(e, t, n, r, o, a, i, s, l, c, u, d) { + super(null, a, i, s, l, c, r, o, u, d); + ((this.isCompressedTexture = !0), + (this.image = { width: t, height: n }), + (this.mipmaps = e), + (this.flipY = !1), + (this.generateMipmaps = !1)); + } + }; + SHe = class SHe extends XB { + constructor(e, t, n, r, o, a) { + super(e, t, n, o, a); + ((this.isCompressedArrayTexture = !0), + (this.image.depth = r), + (this.wrapR = 1001), + (this.layerUpdates = new Set())); + } + copy(e) { + return (super.copy(e), (this.wrapR = e.wrapR), this); + } + addLayerUpdate(e) { + this.layerUpdates.add(e); + } + clearLayerUpdates() { + this.layerUpdates.clear(); + } + }; + CHe = class CHe extends XB { + constructor(e, t, n) { + super(void 0, e[0].width, e[0].height, t, n, 301); + ((this.isCompressedCubeTexture = !0), + (this.isCubeTexture = !0), + (this.image = e)); + } + }; + M7 = class M7 extends El { + constructor(e = [], t = 301, n, r, o, a, i, s, l, c) { + super(e, t, n, r, o, a, i, s, l, c); + ((this.isCubeTexture = !0), (this.flipY = !1)); + } + get images() { + return this.image; + } + set images(e) { + this.image = e; + } + }; + EHe = class EHe extends El { + constructor(e, t, n, r, o, a, i, s, l) { + super(e, t, n, r, o, a, i, s, l); + ((this.isCanvasTexture = !0), (this.needsUpdate = !0)); + } + }; + IHe = class IHe extends El { + constructor(e, t, n, r, o, a, i, s, l) { + super(e, t, n, r, o, a, i, s, l); + ((this.isHTMLTexture = !0), + (this.generateMipmaps = !1), + (this.needsUpdate = !0)); + let c = e ? e.parentNode : null; + if (c !== null && "requestPaint" in c) + ((c.onpaint = () => { + this.needsUpdate = !0; + }), + c.requestPaint()); + } + dispose() { + let e = this.image ? this.image.parentNode : null; + if (e !== null && "onpaint" in e) e.onpaint = null; + super.dispose(); + } + }; + nA = class nA extends El { + constructor( + e, + t, + n = 1014, + r, + o, + a, + i = 1003, + s = 1003, + l, + c = 1026, + u = 1, + ) { + if (c !== 1026 && c !== 1027) + throw Error( + "THREE.DepthTexture: format must be either THREE.DepthFormat or THREE.DepthStencilFormat", + ); + let d = { width: e, height: t, depth: u }; + super(d, r, o, a, i, s, c, n, l); + ((this.isDepthTexture = !0), + (this.flipY = !1), + (this.generateMipmaps = !1), + (this.compareFunction = null)); + } + copy(e) { + return ( + super.copy(e), + (this.source = new Tv(Object.assign({}, e.image))), + (this.compareFunction = e.compareFunction), + this + ); + } + toJSON(e) { + let t = super.toJSON(e); + return ((t.compareFunction = this.compareFunction), t); + } + }; + _0e = class _0e extends nA { + constructor(e, t = 1014, n = 301, r, o, a = 1003, i = 1003, s, l = 1026) { + let c = { width: e, height: e, depth: 1 }, + u = [c, c, c, c, c, c]; + super(e, e, t, n, r, o, a, i, s, l); + ((this.image = u), + (this.isCubeDepthTexture = !0), + (this.isCubeTexture = !0)); + } + get images() { + return this.image; + } + set images(e) { + this.image = e; + } + }; + VX = class VX extends El { + constructor(e = null) { + super(); + ((this.sourceTexture = e), (this.isExternalTexture = !0)); + } + copy(e) { + return (super.copy(e), (this.sourceTexture = e.sourceTexture), this); + } + }; + rA = class rA extends Jr { + constructor(e = 1, t = 1, n = 1, r = 1, o = 1, a = 1) { + super(); + ((this.type = "BoxGeometry"), + (this.parameters = { + width: e, + height: t, + depth: n, + widthSegments: r, + heightSegments: o, + depthSegments: a, + })); + let i = this; + ((r = Math.floor(r)), (o = Math.floor(o)), (a = Math.floor(a))); + let s = [], + l = [], + c = [], + u = [], + d = 0, + p = 0; + (f("z", "y", "x", -1, -1, n, t, e, a, o, 0), + f("z", "y", "x", 1, -1, n, t, -e, a, o, 1), + f("x", "z", "y", 1, 1, e, n, t, r, a, 2), + f("x", "z", "y", 1, -1, e, n, -t, r, a, 3), + f("x", "y", "z", 1, -1, e, t, n, r, o, 4), + f("x", "y", "z", -1, -1, e, t, -n, r, o, 5), + this.setIndex(s), + this.setAttribute("position", new Jn(l, 3)), + this.setAttribute("normal", new Jn(c, 3)), + this.setAttribute("uv", new Jn(u, 2))); + function f(m, g, v, y, x, A, w, C, E, T, I) { + let k = A / E, + L = w / T, + O = A / 2, + B = w / 2, + U = C / 2, + D = E + 1, + N = T + 1, + _ = 0, + G = 0, + Z = new he(); + for (let q = 0; q < N; q++) { + let H = q * L - B; + for (let te = 0; te < D; te++) { + let ie = te * k - O; + ((Z[m] = ie * y), + (Z[g] = H * x), + (Z[v] = U), + l.push(Z.x, Z.y, Z.z), + (Z[m] = 0), + (Z[g] = 0), + (Z[v] = C > 0 ? 1 : -1), + c.push(Z.x, Z.y, Z.z), + u.push(te / E), + u.push(1 - q / T), + (_ += 1)); + } + } + for (let q = 0; q < T; q++) + for (let H = 0; H < E; H++) { + let te = d + H + D * q, + ie = d + H + D * (q + 1), + j = d + (H + 1) + D * (q + 1), + oe = d + (H + 1) + D * q; + (s.push(te, ie, oe), s.push(ie, j, oe), (G += 6)); + } + (i.addGroup(p, G, I), (p += G), (d += _)); + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new rA( + e.width, + e.height, + e.depth, + e.widthSegments, + e.heightSegments, + e.depthSegments, + ); + } + }; + GX = class GX extends Jr { + constructor(e = 1, t = 1, n = 4, r = 8, o = 1) { + super(); + ((this.type = "CapsuleGeometry"), + (this.parameters = { + radius: e, + height: t, + capSegments: n, + radialSegments: r, + heightSegments: o, + }), + (t = Math.max(0, t)), + (n = Math.max(1, Math.floor(n))), + (r = Math.max(3, Math.floor(r))), + (o = Math.max(1, Math.floor(o)))); + let a = [], + i = [], + s = [], + l = [], + c = t / 2, + u = (Math.PI / 2) * e, + d = t, + p = 2 * u + d, + f = n * 2 + o, + m = r + 1, + g = new he(), + v = new he(); + for (let y = 0; y <= f; y++) { + let x = 0, + A = 0, + w = 0, + C = 0; + if (y <= n) { + let I = y / n, + k = (I * Math.PI) / 2; + ((A = -c - e * Math.cos(k)), + (w = e * Math.sin(k)), + (C = -e * Math.cos(k)), + (x = I * u)); + } else if (y <= n + o) { + let I = (y - n) / o; + ((A = -c + I * t), (w = e), (C = 0), (x = u + I * d)); + } else { + let I = (y - n - o) / n, + k = (I * Math.PI) / 2; + ((A = c + e * Math.sin(k)), + (w = e * Math.cos(k)), + (C = e * Math.sin(k)), + (x = u + d + I * u)); + } + let E = Math.max(0, Math.min(1, x / p)), + T = 0; + if (y === 0) T = 0.5 / r; + else if (y === f) T = -0.5 / r; + for (let I = 0; I <= r; I++) { + let k = I / r, + L = k * Math.PI * 2, + O = Math.sin(L), + B = Math.cos(L); + ((v.x = -w * B), + (v.y = A), + (v.z = w * O), + i.push(v.x, v.y, v.z), + g.set(-w * B, C, w * O), + g.normalize(), + s.push(g.x, g.y, g.z), + l.push(k + T, E)); + } + if (y > 0) { + let I = (y - 1) * m; + for (let k = 0; k < r; k++) { + let L = I + k, + O = I + k + 1, + B = y * m + k, + U = y * m + k + 1; + (a.push(L, O, B), a.push(O, U, B)); + } + } + } + (this.setIndex(a), + this.setAttribute("position", new Jn(i, 3)), + this.setAttribute("normal", new Jn(s, 3)), + this.setAttribute("uv", new Jn(l, 2))); + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new GX( + e.radius, + e.height, + e.capSegments, + e.radialSegments, + e.heightSegments, + ); + } + }; + qX = class qX extends Jr { + constructor(e = 1, t = 32, n = 0, r = Math.PI * 2) { + super(); + ((this.type = "CircleGeometry"), + (this.parameters = { + radius: e, + segments: t, + thetaStart: n, + thetaLength: r, + }), + (t = Math.max(3, t))); + let o = [], + a = [], + i = [], + s = [], + l = new he(), + c = new vt(); + (a.push(0, 0, 0), i.push(0, 0, 1), s.push(0.5, 0.5)); + for (let u = 0, d = 3; u <= t; u++, d += 3) { + let p = n + (u / t) * r; + ((l.x = e * Math.cos(p)), + (l.y = e * Math.sin(p)), + a.push(l.x, l.y, l.z), + i.push(0, 0, 1), + (c.x = (a[d] / e + 1) / 2), + (c.y = (a[d + 1] / e + 1) / 2), + s.push(c.x, c.y)); + } + for (let u = 1; u <= t; u++) o.push(u, u + 1, 0); + (this.setIndex(o), + this.setAttribute("position", new Jn(a, 3)), + this.setAttribute("normal", new Jn(i, 3)), + this.setAttribute("uv", new Jn(s, 2))); + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new qX(e.radius, e.segments, e.thetaStart, e.thetaLength); + } + }; + tS = class tS extends Jr { + constructor( + e = 1, + t = 1, + n = 1, + r = 32, + o = 1, + a = !1, + i = 0, + s = Math.PI * 2, + ) { + super(); + ((this.type = "CylinderGeometry"), + (this.parameters = { + radiusTop: e, + radiusBottom: t, + height: n, + radialSegments: r, + heightSegments: o, + openEnded: a, + thetaStart: i, + thetaLength: s, + })); + let l = this; + ((r = Math.floor(r)), (o = Math.floor(o))); + let c = [], + u = [], + d = [], + p = [], + f = 0, + m = [], + g = n / 2, + v = 0; + if ((y(), a === !1)) { + if (e > 0) x(!0); + if (t > 0) x(!1); + } + (this.setIndex(c), + this.setAttribute("position", new Jn(u, 3)), + this.setAttribute("normal", new Jn(d, 3)), + this.setAttribute("uv", new Jn(p, 2))); + function y() { + let A = new he(), + w = new he(), + C = 0, + E = (t - e) / n; + for (let T = 0; T <= o; T++) { + let I = [], + k = T / o, + L = k * (t - e) + e; + for (let O = 0; O <= r; O++) { + let B = O / r, + U = B * s + i, + D = Math.sin(U), + N = Math.cos(U); + ((w.x = L * D), + (w.y = -k * n + g), + (w.z = L * N), + u.push(w.x, w.y, w.z), + A.set(D, E, N).normalize(), + d.push(A.x, A.y, A.z), + p.push(B, 1 - k), + I.push(f++)); + } + m.push(I); + } + for (let T = 0; T < r; T++) + for (let I = 0; I < o; I++) { + let k = m[I][T], + L = m[I + 1][T], + O = m[I + 1][T + 1], + B = m[I][T + 1]; + if (e > 0 || I !== 0) (c.push(k, L, B), (C += 3)); + if (t > 0 || I !== o - 1) (c.push(L, O, B), (C += 3)); + } + (l.addGroup(v, C, 0), (v += C)); + } + function x(A) { + let w = f, + C = new vt(), + E = new he(), + T = 0, + I = A === !0 ? e : t, + k = A === !0 ? 1 : -1; + for (let O = 1; O <= r; O++) + (u.push(0, g * k, 0), d.push(0, k, 0), p.push(0.5, 0.5), f++); + let L = f; + for (let O = 0; O <= r; O++) { + let U = (O / r) * s + i, + D = Math.cos(U), + N = Math.sin(U); + ((E.x = I * N), + (E.y = g * k), + (E.z = I * D), + u.push(E.x, E.y, E.z), + d.push(0, k, 0), + (C.x = D * 0.5 + 0.5), + (C.y = N * 0.5 * k + 0.5), + p.push(C.x, C.y), + f++); + } + for (let O = 0; O < r; O++) { + let B = w + O, + U = L + O; + if (A === !0) c.push(U, U + 1, B); + else c.push(U + 1, U, B); + T += 3; + } + (l.addGroup(v, T, A === !0 ? 1 : 2), (v += T)); + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new tS( + e.radiusTop, + e.radiusBottom, + e.height, + e.radialSegments, + e.heightSegments, + e.openEnded, + e.thetaStart, + e.thetaLength, + ); + } + }; + v5 = class v5 extends tS { + constructor(e = 1, t = 1, n = 32, r = 1, o = !1, a = 0, i = Math.PI * 2) { + super(0, e, t, n, r, o, a, i); + ((this.type = "ConeGeometry"), + (this.parameters = { + radius: e, + height: t, + radialSegments: n, + heightSegments: r, + openEnded: o, + thetaStart: a, + thetaLength: i, + })); + } + static fromJSON(e) { + return new v5( + e.radius, + e.height, + e.radialSegments, + e.heightSegments, + e.openEnded, + e.thetaStart, + e.thetaLength, + ); + } + }; + nS = class nS extends Jr { + constructor(e = [], t = [], n = 1, r = 0) { + super(); + ((this.type = "PolyhedronGeometry"), + (this.parameters = { vertices: e, indices: t, radius: n, detail: r })); + let o = [], + a = []; + if ( + (i(r), + l(n), + c(), + this.setAttribute("position", new Jn(o, 3)), + this.setAttribute("normal", new Jn(o.slice(), 3)), + this.setAttribute("uv", new Jn(a, 2)), + r === 0) + ) + this.computeVertexNormals(); + else this.normalizeNormals(); + function i(y) { + let x = new he(), + A = new he(), + w = new he(); + for (let C = 0; C < t.length; C += 3) + (p(t[C + 0], x), p(t[C + 1], A), p(t[C + 2], w), s(x, A, w, y)); + } + function s(y, x, A, w) { + let C = w + 1, + E = []; + for (let T = 0; T <= C; T++) { + E[T] = []; + let I = y.clone().lerp(A, T / C), + k = x.clone().lerp(A, T / C), + L = C - T; + for (let O = 0; O <= L; O++) + if (O === 0 && T === C) E[T][O] = I; + else E[T][O] = I.clone().lerp(k, O / L); + } + for (let T = 0; T < C; T++) + for (let I = 0; I < 2 * (C - T) - 1; I++) { + let k = Math.floor(I / 2); + if (I % 2 === 0) (d(E[T][k + 1]), d(E[T + 1][k]), d(E[T][k])); + else (d(E[T][k + 1]), d(E[T + 1][k + 1]), d(E[T + 1][k])); + } + } + function l(y) { + let x = new he(); + for (let A = 0; A < o.length; A += 3) + ((x.x = o[A + 0]), + (x.y = o[A + 1]), + (x.z = o[A + 2]), + x.normalize().multiplyScalar(y), + (o[A + 0] = x.x), + (o[A + 1] = x.y), + (o[A + 2] = x.z)); + } + function c() { + let y = new he(); + for (let x = 0; x < o.length; x += 3) { + ((y.x = o[x + 0]), (y.y = o[x + 1]), (y.z = o[x + 2])); + let A = g(y) / 2 / Math.PI + 0.5, + w = v(y) / Math.PI + 0.5; + a.push(A, 1 - w); + } + (f(), u()); + } + function u() { + for (let y = 0; y < a.length; y += 6) { + let x = a[y + 0], + A = a[y + 2], + w = a[y + 4], + C = Math.max(x, A, w), + E = Math.min(x, A, w); + if (C > 0.9 && E < 0.1) { + if (x < 0.2) a[y + 0] += 1; + if (A < 0.2) a[y + 2] += 1; + if (w < 0.2) a[y + 4] += 1; + } + } + } + function d(y) { + o.push(y.x, y.y, y.z); + } + function p(y, x) { + let A = y * 3; + ((x.x = e[A + 0]), (x.y = e[A + 1]), (x.z = e[A + 2])); + } + function f() { + let y = new he(), + x = new he(), + A = new he(), + w = new he(), + C = new vt(), + E = new vt(), + T = new vt(); + for (let I = 0, k = 0; I < o.length; I += 9, k += 6) { + (y.set(o[I + 0], o[I + 1], o[I + 2]), + x.set(o[I + 3], o[I + 4], o[I + 5]), + A.set(o[I + 6], o[I + 7], o[I + 8]), + C.set(a[k + 0], a[k + 1]), + E.set(a[k + 2], a[k + 3]), + T.set(a[k + 4], a[k + 5]), + w.copy(y).add(x).add(A).divideScalar(3)); + let L = g(w); + (m(C, k + 0, y, L), m(E, k + 2, x, L), m(T, k + 4, A, L)); + } + } + function m(y, x, A, w) { + if (w < 0 && y.x === 1) a[x] = y.x - 1; + if (A.x === 0 && A.z === 0) a[x] = w / 2 / Math.PI + 0.5; + } + function g(y) { + return Math.atan2(y.z, -y.x); + } + function v(y) { + return Math.atan2(-y.y, Math.sqrt(y.x * y.x + y.z * y.z)); + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new nS(e.vertices, e.indices, e.radius, e.detail); + } + }; + ZX = class ZX extends nS { + constructor(e = 1, t = 0) { + let n = (1 + Math.sqrt(5)) / 2, + r = 1 / n, + o = [ + -1, + -1, + -1, + -1, + -1, + 1, + -1, + 1, + -1, + -1, + 1, + 1, + 1, + -1, + -1, + 1, + -1, + 1, + 1, + 1, + -1, + 1, + 1, + 1, + 0, + -r, + -n, + 0, + -r, + n, + 0, + r, + -n, + 0, + r, + n, + -r, + -n, + 0, + -r, + n, + 0, + r, + -n, + 0, + r, + n, + 0, + -n, + 0, + -r, + n, + 0, + -r, + -n, + 0, + r, + n, + 0, + r, + ], + a = [ + 3, 11, 7, 3, 7, 15, 3, 15, 13, 7, 19, 17, 7, 17, 6, 7, 6, 15, 17, 4, + 8, 17, 8, 10, 17, 10, 6, 8, 0, 16, 8, 16, 2, 8, 2, 10, 0, 12, 1, 0, 1, + 18, 0, 18, 16, 6, 10, 2, 6, 2, 13, 6, 13, 15, 2, 16, 18, 2, 18, 3, 2, + 3, 13, 18, 1, 9, 18, 9, 11, 18, 11, 3, 4, 14, 12, 4, 12, 0, 4, 0, 8, + 11, 9, 5, 11, 5, 19, 11, 19, 7, 19, 5, 14, 19, 14, 4, 19, 4, 17, 1, + 12, 14, 1, 14, 5, 1, 5, 9, + ]; + super(o, a, e, t); + ((this.type = "DodecahedronGeometry"), + (this.parameters = { radius: e, detail: t })); + } + static fromJSON(e) { + return new ZX(e.radius, e.detail); + } + }; + ((yhe = new he()), (vhe = new he()), (a_e = new he()), (bhe = new kh())); + H0e = class H0e extends Jr { + constructor(e = null, t = 1) { + super(); + if ( + ((this.type = "EdgesGeometry"), + (this.parameters = { geometry: e, thresholdAngle: t }), + e !== null) + ) { + let r = Math.pow(10, 4), + o = Math.cos(b7 * t), + a = e.getIndex(), + i = e.getAttribute("position"), + s = a ? a.count : i.count, + l = [0, 0, 0], + c = ["a", "b", "c"], + u = [, , ,], + d = {}, + p = []; + for (let f = 0; f < s; f += 3) { + if (a) + ((l[0] = a.getX(f)), + (l[1] = a.getX(f + 1)), + (l[2] = a.getX(f + 2))); + else ((l[0] = f), (l[1] = f + 1), (l[2] = f + 2)); + let { a: m, b: g, c: v } = bhe; + if ( + (m.fromBufferAttribute(i, l[0]), + g.fromBufferAttribute(i, l[1]), + v.fromBufferAttribute(i, l[2]), + bhe.getNormal(a_e), + (u[0] = `${Math.round(m.x * r)},${Math.round(m.y * r)},${Math.round(m.z * r)}`), + (u[1] = `${Math.round(g.x * r)},${Math.round(g.y * r)},${Math.round(g.z * r)}`), + (u[2] = `${Math.round(v.x * r)},${Math.round(v.y * r)},${Math.round(v.z * r)}`), + u[0] === u[1] || u[1] === u[2] || u[2] === u[0]) + ) + continue; + for (let y = 0; y < 3; y++) { + let x = (y + 1) % 3, + A = u[y], + w = u[x], + C = bhe[c[y]], + E = bhe[c[x]], + T = `${A}_${w}`, + I = `${w}_${A}`; + if (I in d && d[I]) { + if (a_e.dot(d[I].normal) <= o) + (p.push(C.x, C.y, C.z), p.push(E.x, E.y, E.z)); + d[I] = null; + } else if (!(T in d)) + d[T] = { index0: l[y], index1: l[x], normal: a_e.clone() }; + } + } + for (let f in d) + if (d[f]) { + let { index0: m, index1: g } = d[f]; + (yhe.fromBufferAttribute(i, m), + vhe.fromBufferAttribute(i, g), + p.push(yhe.x, yhe.y, yhe.z), + p.push(vhe.x, vhe.y, vhe.z)); + } + this.setAttribute("position", new Jn(p, 3)); + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + }; + WB = class WB extends l1 { + constructor( + e = 0, + t = 0, + n = 1, + r = 1, + o = 0, + a = Math.PI * 2, + i = !1, + s = 0, + ) { + super(); + ((this.isEllipseCurve = !0), + (this.type = "EllipseCurve"), + (this.aX = e), + (this.aY = t), + (this.xRadius = n), + (this.yRadius = r), + (this.aStartAngle = o), + (this.aEndAngle = a), + (this.aClockwise = i), + (this.aRotation = s)); + } + getPoint(e, t = new vt()) { + let n = t, + r = Math.PI * 2, + o = this.aEndAngle - this.aStartAngle, + a = Math.abs(o) < Number.EPSILON; + while (o < 0) o += r; + while (o > r) o -= r; + if (o < Number.EPSILON) + if (a) o = 0; + else o = r; + if (this.aClockwise === !0 && !a) + if (o === r) o = -r; + else o = o - r; + let i = this.aStartAngle + e * o, + s = this.aX + this.xRadius * Math.cos(i), + l = this.aY + this.yRadius * Math.sin(i); + if (this.aRotation !== 0) { + let c = Math.cos(this.aRotation), + u = Math.sin(this.aRotation), + d = s - this.aX, + p = l - this.aY; + ((s = d * c - p * u + this.aX), (l = d * u + p * c + this.aY)); + } + return n.set(s, l); + } + copy(e) { + return ( + super.copy(e), + (this.aX = e.aX), + (this.aY = e.aY), + (this.xRadius = e.xRadius), + (this.yRadius = e.yRadius), + (this.aStartAngle = e.aStartAngle), + (this.aEndAngle = e.aEndAngle), + (this.aClockwise = e.aClockwise), + (this.aRotation = e.aRotation), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ( + (e.aX = this.aX), + (e.aY = this.aY), + (e.xRadius = this.xRadius), + (e.yRadius = this.yRadius), + (e.aStartAngle = this.aStartAngle), + (e.aEndAngle = this.aEndAngle), + (e.aClockwise = this.aClockwise), + (e.aRotation = this.aRotation), + e + ); + } + fromJSON(e) { + return ( + super.fromJSON(e), + (this.aX = e.aX), + (this.aY = e.aY), + (this.xRadius = e.xRadius), + (this.yRadius = e.yRadius), + (this.aStartAngle = e.aStartAngle), + (this.aEndAngle = e.aEndAngle), + (this.aClockwise = e.aClockwise), + (this.aRotation = e.aRotation), + this + ); + } + }; + V0e = class V0e extends WB { + constructor(e, t, n, r, o, a) { + super(e, t, n, n, r, o, a); + ((this.isArcCurve = !0), (this.type = "ArcCurve")); + } + }; + ((Jfn = new he()), + (jfn = new he()), + (i_e = new THe()), + (s_e = new THe()), + (l_e = new THe())); + G0e = class G0e extends l1 { + constructor(e = [], t = !1, n = "centripetal", r = 0.5) { + super(); + ((this.isCatmullRomCurve3 = !0), + (this.type = "CatmullRomCurve3"), + (this.points = e), + (this.closed = t), + (this.curveType = n), + (this.tension = r)); + } + getPoint(e, t = new he()) { + let n = t, + r = this.points, + o = r.length, + a = (o - (this.closed ? 0 : 1)) * e, + i = Math.floor(a), + s = a - i; + if (this.closed) i += i > 0 ? 0 : (Math.floor(Math.abs(i) / o) + 1) * o; + else if (s === 0 && i === o - 1) ((i = o - 2), (s = 1)); + let l, c; + if (this.closed || i > 0) l = r[(i - 1) % o]; + else (jfn.subVectors(r[0], r[1]).add(r[0]), (l = jfn)); + let u = r[i % o], + d = r[(i + 1) % o]; + if (this.closed || i + 2 < o) c = r[(i + 2) % o]; + else (Jfn.subVectors(r[o - 1], r[o - 2]).add(r[o - 1]), (c = Jfn)); + if (this.curveType === "centripetal" || this.curveType === "chordal") { + let p = this.curveType === "chordal" ? 0.5 : 0.25, + f = Math.pow(l.distanceToSquared(u), p), + m = Math.pow(u.distanceToSquared(d), p), + g = Math.pow(d.distanceToSquared(c), p); + if (m < 0.0001) m = 1; + if (f < 0.0001) f = m; + if (g < 0.0001) g = m; + (i_e.initNonuniformCatmullRom(l.x, u.x, d.x, c.x, f, m, g), + s_e.initNonuniformCatmullRom(l.y, u.y, d.y, c.y, f, m, g), + l_e.initNonuniformCatmullRom(l.z, u.z, d.z, c.z, f, m, g)); + } else if (this.curveType === "catmullrom") + (i_e.initCatmullRom(l.x, u.x, d.x, c.x, this.tension), + s_e.initCatmullRom(l.y, u.y, d.y, c.y, this.tension), + l_e.initCatmullRom(l.z, u.z, d.z, c.z, this.tension)); + return (n.set(i_e.calc(s), s_e.calc(s), l_e.calc(s)), n); + } + copy(e) { + (super.copy(e), (this.points = [])); + for (let t = 0, n = e.points.length; t < n; t++) { + let r = e.points[t]; + this.points.push(r.clone()); + } + return ( + (this.closed = e.closed), + (this.curveType = e.curveType), + (this.tension = e.tension), + this + ); + } + toJSON() { + let e = super.toJSON(); + e.points = []; + for (let t = 0, n = this.points.length; t < n; t++) { + let r = this.points[t]; + e.points.push(r.toArray()); + } + return ( + (e.closed = this.closed), + (e.curveType = this.curveType), + (e.tension = this.tension), + e + ); + } + fromJSON(e) { + (super.fromJSON(e), (this.points = [])); + for (let t = 0, n = e.points.length; t < n; t++) { + let r = e.points[t]; + this.points.push(new he().fromArray(r)); + } + return ( + (this.closed = e.closed), + (this.curveType = e.curveType), + (this.tension = e.tension), + this + ); + } + }; + QX = class QX extends l1 { + constructor(e = new vt(), t = new vt(), n = new vt(), r = new vt()) { + super(); + ((this.isCubicBezierCurve = !0), + (this.type = "CubicBezierCurve"), + (this.v0 = e), + (this.v1 = t), + (this.v2 = n), + (this.v3 = r)); + } + getPoint(e, t = new vt()) { + let n = t, + r = this.v0, + o = this.v1, + a = this.v2, + i = this.v3; + return (n.set(dX(e, r.x, o.x, a.x, i.x), dX(e, r.y, o.y, a.y, i.y)), n); + } + copy(e) { + return ( + super.copy(e), + this.v0.copy(e.v0), + this.v1.copy(e.v1), + this.v2.copy(e.v2), + this.v3.copy(e.v3), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ( + (e.v0 = this.v0.toArray()), + (e.v1 = this.v1.toArray()), + (e.v2 = this.v2.toArray()), + (e.v3 = this.v3.toArray()), + e + ); + } + fromJSON(e) { + return ( + super.fromJSON(e), + this.v0.fromArray(e.v0), + this.v1.fromArray(e.v1), + this.v2.fromArray(e.v2), + this.v3.fromArray(e.v3), + this + ); + } + }; + q0e = class q0e extends l1 { + constructor(e = new he(), t = new he(), n = new he(), r = new he()) { + super(); + ((this.isCubicBezierCurve3 = !0), + (this.type = "CubicBezierCurve3"), + (this.v0 = e), + (this.v1 = t), + (this.v2 = n), + (this.v3 = r)); + } + getPoint(e, t = new he()) { + let n = t, + r = this.v0, + o = this.v1, + a = this.v2, + i = this.v3; + return ( + n.set( + dX(e, r.x, o.x, a.x, i.x), + dX(e, r.y, o.y, a.y, i.y), + dX(e, r.z, o.z, a.z, i.z), + ), + n + ); + } + copy(e) { + return ( + super.copy(e), + this.v0.copy(e.v0), + this.v1.copy(e.v1), + this.v2.copy(e.v2), + this.v3.copy(e.v3), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ( + (e.v0 = this.v0.toArray()), + (e.v1 = this.v1.toArray()), + (e.v2 = this.v2.toArray()), + (e.v3 = this.v3.toArray()), + e + ); + } + fromJSON(e) { + return ( + super.fromJSON(e), + this.v0.fromArray(e.v0), + this.v1.fromArray(e.v1), + this.v2.fromArray(e.v2), + this.v3.fromArray(e.v3), + this + ); + } + }; + XX = class XX extends l1 { + constructor(e = new vt(), t = new vt()) { + super(); + ((this.isLineCurve = !0), + (this.type = "LineCurve"), + (this.v1 = e), + (this.v2 = t)); + } + getPoint(e, t = new vt()) { + let n = t; + if (e === 1) n.copy(this.v2); + else (n.copy(this.v2).sub(this.v1), n.multiplyScalar(e).add(this.v1)); + return n; + } + getPointAt(e, t) { + return this.getPoint(e, t); + } + getTangent(e, t = new vt()) { + return t.subVectors(this.v2, this.v1).normalize(); + } + getTangentAt(e, t) { + return this.getTangent(e, t); + } + copy(e) { + return (super.copy(e), this.v1.copy(e.v1), this.v2.copy(e.v2), this); + } + toJSON() { + let e = super.toJSON(); + return ((e.v1 = this.v1.toArray()), (e.v2 = this.v2.toArray()), e); + } + fromJSON(e) { + return ( + super.fromJSON(e), + this.v1.fromArray(e.v1), + this.v2.fromArray(e.v2), + this + ); + } + }; + Z0e = class Z0e extends l1 { + constructor(e = new he(), t = new he()) { + super(); + ((this.isLineCurve3 = !0), + (this.type = "LineCurve3"), + (this.v1 = e), + (this.v2 = t)); + } + getPoint(e, t = new he()) { + let n = t; + if (e === 1) n.copy(this.v2); + else (n.copy(this.v2).sub(this.v1), n.multiplyScalar(e).add(this.v1)); + return n; + } + getPointAt(e, t) { + return this.getPoint(e, t); + } + getTangent(e, t = new he()) { + return t.subVectors(this.v2, this.v1).normalize(); + } + getTangentAt(e, t) { + return this.getTangent(e, t); + } + copy(e) { + return (super.copy(e), this.v1.copy(e.v1), this.v2.copy(e.v2), this); + } + toJSON() { + let e = super.toJSON(); + return ((e.v1 = this.v1.toArray()), (e.v2 = this.v2.toArray()), e); + } + fromJSON(e) { + return ( + super.fromJSON(e), + this.v1.fromArray(e.v1), + this.v2.fromArray(e.v2), + this + ); + } + }; + WX = class WX extends l1 { + constructor(e = new vt(), t = new vt(), n = new vt()) { + super(); + ((this.isQuadraticBezierCurve = !0), + (this.type = "QuadraticBezierCurve"), + (this.v0 = e), + (this.v1 = t), + (this.v2 = n)); + } + getPoint(e, t = new vt()) { + let n = t, + r = this.v0, + o = this.v1, + a = this.v2; + return (n.set(uX(e, r.x, o.x, a.x), uX(e, r.y, o.y, a.y)), n); + } + copy(e) { + return ( + super.copy(e), + this.v0.copy(e.v0), + this.v1.copy(e.v1), + this.v2.copy(e.v2), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ( + (e.v0 = this.v0.toArray()), + (e.v1 = this.v1.toArray()), + (e.v2 = this.v2.toArray()), + e + ); + } + fromJSON(e) { + return ( + super.fromJSON(e), + this.v0.fromArray(e.v0), + this.v1.fromArray(e.v1), + this.v2.fromArray(e.v2), + this + ); + } + }; + YX = class YX extends l1 { + constructor(e = new he(), t = new he(), n = new he()) { + super(); + ((this.isQuadraticBezierCurve3 = !0), + (this.type = "QuadraticBezierCurve3"), + (this.v0 = e), + (this.v1 = t), + (this.v2 = n)); + } + getPoint(e, t = new he()) { + let n = t, + r = this.v0, + o = this.v1, + a = this.v2; + return ( + n.set(uX(e, r.x, o.x, a.x), uX(e, r.y, o.y, a.y), uX(e, r.z, o.z, a.z)), + n + ); + } + copy(e) { + return ( + super.copy(e), + this.v0.copy(e.v0), + this.v1.copy(e.v1), + this.v2.copy(e.v2), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ( + (e.v0 = this.v0.toArray()), + (e.v1 = this.v1.toArray()), + (e.v2 = this.v2.toArray()), + e + ); + } + fromJSON(e) { + return ( + super.fromJSON(e), + this.v0.fromArray(e.v0), + this.v1.fromArray(e.v1), + this.v2.fromArray(e.v2), + this + ); + } + }; + KX = class KX extends l1 { + constructor(e = []) { + super(); + ((this.isSplineCurve = !0), + (this.type = "SplineCurve"), + (this.points = e)); + } + getPoint(e, t = new vt()) { + let n = t, + r = this.points, + o = (r.length - 1) * e, + a = Math.floor(o), + i = o - a, + s = r[a === 0 ? a : a - 1], + l = r[a], + c = r[a > r.length - 2 ? r.length - 1 : a + 1], + u = r[a > r.length - 3 ? r.length - 1 : a + 2]; + return (n.set($fn(i, s.x, l.x, c.x, u.x), $fn(i, s.y, l.y, c.y, u.y)), n); + } + copy(e) { + (super.copy(e), (this.points = [])); + for (let t = 0, n = e.points.length; t < n; t++) { + let r = e.points[t]; + this.points.push(r.clone()); + } + return this; + } + toJSON() { + let e = super.toJSON(); + e.points = []; + for (let t = 0, n = this.points.length; t < n; t++) { + let r = this.points[t]; + e.points.push(r.toArray()); + } + return e; + } + fromJSON(e) { + (super.fromJSON(e), (this.points = [])); + for (let t = 0, n = e.points.length; t < n; t++) { + let r = e.points[t]; + this.points.push(new vt().fromArray(r)); + } + return this; + } + }; + Lhe = Object.freeze({ + __proto__: null, + ArcCurve: V0e, + CatmullRomCurve3: G0e, + CubicBezierCurve: QX, + CubicBezierCurve3: q0e, + EllipseCurve: WB, + LineCurve: XX, + LineCurve3: Z0e, + QuadraticBezierCurve: WX, + QuadraticBezierCurve3: YX, + SplineCurve: KX, + }); + Q0e = class Q0e extends l1 { + constructor() { + super(); + ((this.type = "CurvePath"), (this.curves = []), (this.autoClose = !1)); + } + add(e) { + this.curves.push(e); + } + closePath() { + let e = this.curves[0].getPoint(0), + t = this.curves[this.curves.length - 1].getPoint(1); + if (!e.equals(t)) { + let n = e.isVector2 === !0 ? "LineCurve" : "LineCurve3"; + this.curves.push(new Lhe[n](t, e)); + } + return this; + } + getPoint(e, t) { + let n = e * this.getLength(), + r = this.getCurveLengths(), + o = 0; + while (o < r.length) { + if (r[o] >= n) { + let a = r[o] - n, + i = this.curves[o], + s = i.getLength(), + l = s === 0 ? 0 : 1 - a / s; + return i.getPointAt(l, t); + } + o++; + } + return null; + } + getLength() { + let e = this.getCurveLengths(); + return e[e.length - 1]; + } + updateArcLengths() { + ((this.needsUpdate = !0), + (this.cacheLengths = null), + this.getCurveLengths()); + } + getCurveLengths() { + if (this.cacheLengths && this.cacheLengths.length === this.curves.length) + return this.cacheLengths; + let e = [], + t = 0; + for (let n = 0, r = this.curves.length; n < r; n++) + ((t += this.curves[n].getLength()), e.push(t)); + return ((this.cacheLengths = e), e); + } + getSpacedPoints(e = 40) { + let t = []; + for (let n = 0; n <= e; n++) t.push(this.getPoint(n / e)); + if (this.autoClose) t.push(t[0]); + return t; + } + getPoints(e = 12) { + let t = [], + n; + for (let r = 0, o = this.curves; r < o.length; r++) { + let a = o[r], + i = a.isEllipseCurve + ? e * 2 + : a.isLineCurve || a.isLineCurve3 + ? 1 + : a.isSplineCurve + ? e * a.points.length + : e, + s = a.getPoints(i); + for (let l = 0; l < s.length; l++) { + let c = s[l]; + if (n && n.equals(c)) continue; + (t.push(c), (n = c)); + } + } + if (this.autoClose && t.length > 1 && !t[t.length - 1].equals(t[0])) + t.push(t[0]); + return t; + } + copy(e) { + (super.copy(e), (this.curves = [])); + for (let t = 0, n = e.curves.length; t < n; t++) { + let r = e.curves[t]; + this.curves.push(r.clone()); + } + return ((this.autoClose = e.autoClose), this); + } + toJSON() { + let e = super.toJSON(); + ((e.autoClose = this.autoClose), (e.curves = [])); + for (let t = 0, n = this.curves.length; t < n; t++) { + let r = this.curves[t]; + e.curves.push(r.toJSON()); + } + return e; + } + fromJSON(e) { + (super.fromJSON(e), (this.autoClose = e.autoClose), (this.curves = [])); + for (let t = 0, n = e.curves.length; t < n; t++) { + let r = e.curves[t]; + this.curves.push(new Lhe[r.type]().fromJSON(r)); + } + return this; + } + }; + A7 = class A7 extends Q0e { + constructor(e) { + super(); + if (((this.type = "Path"), (this.currentPoint = new vt()), e)) + this.setFromPoints(e); + } + setFromPoints(e) { + this.moveTo(e[0].x, e[0].y); + for (let t = 1, n = e.length; t < n; t++) this.lineTo(e[t].x, e[t].y); + return this; + } + moveTo(e, t) { + return (this.currentPoint.set(e, t), this); + } + lineTo(e, t) { + let n = new XX(this.currentPoint.clone(), new vt(e, t)); + return (this.curves.push(n), this.currentPoint.set(e, t), this); + } + quadraticCurveTo(e, t, n, r) { + let o = new WX(this.currentPoint.clone(), new vt(e, t), new vt(n, r)); + return (this.curves.push(o), this.currentPoint.set(n, r), this); + } + bezierCurveTo(e, t, n, r, o, a) { + let i = new QX( + this.currentPoint.clone(), + new vt(e, t), + new vt(n, r), + new vt(o, a), + ); + return (this.curves.push(i), this.currentPoint.set(o, a), this); + } + splineThru(e) { + let t = [this.currentPoint.clone()].concat(e), + n = new KX(t); + return ( + this.curves.push(n), + this.currentPoint.copy(e[e.length - 1]), + this + ); + } + arc(e, t, n, r, o, a) { + let i = this.currentPoint.x, + s = this.currentPoint.y; + return (this.absarc(e + i, t + s, n, r, o, a), this); + } + absarc(e, t, n, r, o, a) { + return (this.absellipse(e, t, n, n, r, o, a), this); + } + ellipse(e, t, n, r, o, a, i, s) { + let l = this.currentPoint.x, + c = this.currentPoint.y; + return (this.absellipse(e + l, t + c, n, r, o, a, i, s), this); + } + absellipse(e, t, n, r, o, a, i, s) { + let l = new WB(e, t, n, r, o, a, i, s); + if (this.curves.length > 0) { + let u = l.getPoint(0); + if (!u.equals(this.currentPoint)) this.lineTo(u.x, u.y); + } + this.curves.push(l); + let c = l.getPoint(1); + return (this.currentPoint.copy(c), this); + } + copy(e) { + return (super.copy(e), this.currentPoint.copy(e.currentPoint), this); + } + toJSON() { + let e = super.toJSON(); + return ((e.currentPoint = this.currentPoint.toArray()), e); + } + fromJSON(e) { + return ( + super.fromJSON(e), + this.currentPoint.fromArray(e.currentPoint), + this + ); + } + }; + D7 = class D7 extends A7 { + constructor(e) { + super(e); + ((this.uuid = a1()), (this.type = "Shape"), (this.holes = [])); + } + getPointsHoles(e) { + let t = []; + for (let n = 0, r = this.holes.length; n < r; n++) + t[n] = this.holes[n].getPoints(e); + return t; + } + extractPoints(e) { + return { shape: this.getPoints(e), holes: this.getPointsHoles(e) }; + } + copy(e) { + (super.copy(e), (this.holes = [])); + for (let t = 0, n = e.holes.length; t < n; t++) { + let r = e.holes[t]; + this.holes.push(r.clone()); + } + return this; + } + toJSON() { + let e = super.toJSON(); + ((e.uuid = this.uuid), (e.holes = [])); + for (let t = 0, n = this.holes.length; t < n; t++) { + let r = this.holes[t]; + e.holes.push(r.toJSON()); + } + return e; + } + fromJSON(e) { + (super.fromJSON(e), (this.uuid = e.uuid), (this.holes = [])); + for (let t = 0, n = e.holes.length; t < n; t++) { + let r = e.holes[t]; + this.holes.push(new A7().fromJSON(r)); + } + return this; + } + }; + JX = class JX extends Jr { + constructor( + e = new D7([ + new vt(0.5, 0.5), + new vt(-0.5, 0.5), + new vt(-0.5, -0.5), + new vt(0.5, -0.5), + ]), + t = {}, + ) { + super(); + ((this.type = "ExtrudeGeometry"), + (this.parameters = { shapes: e, options: t }), + (e = Array.isArray(e) ? e : [e])); + let n = this, + r = [], + o = []; + for (let i = 0, s = e.length; i < s; i++) { + let l = e[i]; + a(l); + } + (this.setAttribute("position", new Jn(r, 3)), + this.setAttribute("uv", new Jn(o, 2)), + this.computeVertexNormals()); + function a(i) { + let s = [], + l = t.curveSegments !== void 0 ? t.curveSegments : 12, + c = t.steps !== void 0 ? t.steps : 1, + u = t.depth !== void 0 ? t.depth : 1, + d = t.bevelEnabled !== void 0 ? t.bevelEnabled : !0, + p = t.bevelThickness !== void 0 ? t.bevelThickness : 0.2, + f = t.bevelSize !== void 0 ? t.bevelSize : p - 0.1, + m = t.bevelOffset !== void 0 ? t.bevelOffset : 0, + g = t.bevelSegments !== void 0 ? t.bevelSegments : 3, + v = t.extrudePath, + y = t.UVGenerator !== void 0 ? t.UVGenerator : t9r, + x, + A = !1, + w, + C, + E, + T; + if (v) { + ((x = v.getSpacedPoints(c)), (A = !0), (d = !1)); + let pe = v.isCatmullRomCurve3 ? v.closed : !1; + ((w = v.computeFrenetFrames(c, pe)), + (C = new he()), + (E = new he()), + (T = new he())); + } + if (!d) ((g = 0), (p = 0), (f = 0), (m = 0)); + let I = i.extractPoints(l), + { shape: k, holes: L } = I; + if (!_y.isClockWise(k)) { + k = k.reverse(); + for (let pe = 0, Re = L.length; pe < Re; pe++) { + let Le = L[pe]; + if (_y.isClockWise(Le)) L[pe] = Le.reverse(); + } + } + function B(pe) { + let Ne = pe[0]; + for (let be = 1; be <= pe.length; be++) { + let ye = be % pe.length, + ce = pe[ye], + ue = ce.x - Ne.x, + ke = ce.y - Ne.y, + se = ue * ue + ke * ke, + qe = Math.max( + Math.abs(ce.x), + Math.abs(ce.y), + Math.abs(Ne.x), + Math.abs(Ne.y), + ), + Me = 0.000000000000000000010000000000000001 * qe * qe; + if (se <= Me) { + (pe.splice(ye, 1), be--); + continue; + } + Ne = ce; + } + } + (B(k), L.forEach(B)); + let U = L.length, + D = k; + for (let pe = 0; pe < U; pe++) { + let Re = L[pe]; + k = k.concat(Re); + } + function N(pe, Re, Le) { + if (!Re) wr("ExtrudeGeometry: vec does not exist"); + return pe.clone().addScaledVector(Re, Le); + } + let _ = k.length; + function G(pe, Re, Le) { + let Ne, + be, + ye, + ce = pe.x - Re.x, + ue = pe.y - Re.y, + ke = Le.x - pe.x, + se = Le.y - pe.y, + qe = ce * ce + ue * ue, + Me = ce * se - ue * ke; + if (Math.abs(Me) > Number.EPSILON) { + let Qe = Math.sqrt(qe), + ee = Math.sqrt(ke * ke + se * se), + K = Re.x - ue / Qe, + we = Re.y + ce / Qe, + ze = Le.x - se / ee, + tt = Le.y + ke / ee, + Pe = ((ze - K) * se - (tt - we) * ke) / (ce * se - ue * ke); + ((Ne = K + ce * Pe - pe.x), (be = we + ue * Pe - pe.y)); + let Ke = Ne * Ne + be * be; + if (Ke <= 2) return new vt(Ne, be); + else ye = Math.sqrt(Ke / 2); + } else { + let Qe = !1; + if (ce > Number.EPSILON) { + if (ke > Number.EPSILON) Qe = !0; + } else if (ce < -Number.EPSILON) { + if (ke < -Number.EPSILON) Qe = !0; + } else if (Math.sign(ue) === Math.sign(se)) Qe = !0; + if (Qe) ((Ne = -ue), (be = ce), (ye = Math.sqrt(qe))); + else ((Ne = ce), (be = ue), (ye = Math.sqrt(qe / 2))); + } + return new vt(Ne / ye, be / ye); + } + let Z = []; + for ( + let pe = 0, Re = D.length, Le = Re - 1, Ne = pe + 1; + pe < Re; + pe++, Le++, Ne++ + ) { + if (Le === Re) Le = 0; + if (Ne === Re) Ne = 0; + Z[pe] = G(D[pe], D[Le], D[Ne]); + } + let q = [], + H, + te = Z.concat(); + for (let pe = 0, Re = U; pe < Re; pe++) { + let Le = L[pe]; + H = []; + for ( + let Ne = 0, be = Le.length, ye = be - 1, ce = Ne + 1; + Ne < be; + Ne++, ye++, ce++ + ) { + if (ye === be) ye = 0; + if (ce === be) ce = 0; + H[Ne] = G(Le[Ne], Le[ye], Le[ce]); + } + (q.push(H), (te = te.concat(H))); + } + let ie; + if (g === 0) ie = _y.triangulateShape(D, L); + else { + let pe = [], + Re = []; + for (let Le = 0; Le < g; Le++) { + let Ne = Le / g, + be = p * Math.cos((Ne * Math.PI) / 2), + ye = f * Math.sin((Ne * Math.PI) / 2) + m; + for (let ce = 0, ue = D.length; ce < ue; ce++) { + let ke = N(D[ce], Z[ce], ye); + if ((ne(ke.x, ke.y, -be), Ne === 0)) pe.push(ke); + } + for (let ce = 0, ue = U; ce < ue; ce++) { + let ke = L[ce]; + H = q[ce]; + let se = []; + for (let qe = 0, Me = ke.length; qe < Me; qe++) { + let Qe = N(ke[qe], H[qe], ye); + if ((ne(Qe.x, Qe.y, -be), Ne === 0)) se.push(Qe); + } + if (Ne === 0) Re.push(se); + } + } + ie = _y.triangulateShape(pe, Re); + } + let j = ie.length, + oe = f + m; + for (let pe = 0; pe < _; pe++) { + let Re = d ? N(k[pe], te[pe], oe) : k[pe]; + if (!A) ne(Re.x, Re.y, 0); + else + (E.copy(w.normals[0]).multiplyScalar(Re.x), + C.copy(w.binormals[0]).multiplyScalar(Re.y), + T.copy(x[0]).add(E).add(C), + ne(T.x, T.y, T.z)); + } + for (let pe = 1; pe <= c; pe++) + for (let Re = 0; Re < _; Re++) { + let Le = d ? N(k[Re], te[Re], oe) : k[Re]; + if (!A) ne(Le.x, Le.y, (u / c) * pe); + else + (E.copy(w.normals[pe]).multiplyScalar(Le.x), + C.copy(w.binormals[pe]).multiplyScalar(Le.y), + T.copy(x[pe]).add(E).add(C), + ne(T.x, T.y, T.z)); + } + for (let pe = g - 1; pe >= 0; pe--) { + let Re = pe / g, + Le = p * Math.cos((Re * Math.PI) / 2), + Ne = f * Math.sin((Re * Math.PI) / 2) + m; + for (let be = 0, ye = D.length; be < ye; be++) { + let ce = N(D[be], Z[be], Ne); + ne(ce.x, ce.y, u + Le); + } + for (let be = 0, ye = L.length; be < ye; be++) { + let ce = L[be]; + H = q[be]; + for (let ue = 0, ke = ce.length; ue < ke; ue++) { + let se = N(ce[ue], H[ue], Ne); + if (!A) ne(se.x, se.y, u + Le); + else ne(se.x, se.y + x[c - 1].y, x[c - 1].x + Le); + } + } + } + (J(), Y()); + function J() { + let pe = r.length / 3; + if (d) { + let Re = 0, + Le = _ * Re; + for (let Ne = 0; Ne < j; Ne++) { + let be = ie[Ne]; + Se(be[2] + Le, be[1] + Le, be[0] + Le); + } + ((Re = c + g * 2), (Le = _ * Re)); + for (let Ne = 0; Ne < j; Ne++) { + let be = ie[Ne]; + Se(be[0] + Le, be[1] + Le, be[2] + Le); + } + } else { + for (let Re = 0; Re < j; Re++) { + let Le = ie[Re]; + Se(Le[2], Le[1], Le[0]); + } + for (let Re = 0; Re < j; Re++) { + let Le = ie[Re]; + Se(Le[0] + _ * c, Le[1] + _ * c, Le[2] + _ * c); + } + } + n.addGroup(pe, r.length / 3 - pe, 0); + } + function Y() { + let pe = r.length / 3, + Re = 0; + (ae(D, Re), (Re += D.length)); + for (let Le = 0, Ne = L.length; Le < Ne; Le++) { + let be = L[Le]; + (ae(be, Re), (Re += be.length)); + } + n.addGroup(pe, r.length / 3 - pe, 1); + } + function ae(pe, Re) { + let Le = pe.length; + while (--Le >= 0) { + let Ne = Le, + be = Le - 1; + if (be < 0) be = pe.length - 1; + for (let ye = 0, ce = c + g * 2; ye < ce; ye++) { + let ue = _ * ye, + ke = _ * (ye + 1), + se = Re + Ne + ue, + qe = Re + be + ue, + Me = Re + be + ke, + Qe = Re + Ne + ke; + fe(se, qe, Me, Qe); + } + } + } + function ne(pe, Re, Le) { + (s.push(pe), s.push(Re), s.push(Le)); + } + function Se(pe, Re, Le) { + (Ae(pe), Ae(Re), Ae(Le)); + let Ne = r.length / 3, + be = y.generateTopUV(n, r, Ne - 3, Ne - 2, Ne - 1); + (Ee(be[0]), Ee(be[1]), Ee(be[2])); + } + function fe(pe, Re, Le, Ne) { + (Ae(pe), Ae(Re), Ae(Ne), Ae(Re), Ae(Le), Ae(Ne)); + let be = r.length / 3, + ye = y.generateSideWallUV(n, r, be - 6, be - 3, be - 2, be - 1); + (Ee(ye[0]), Ee(ye[1]), Ee(ye[3]), Ee(ye[1]), Ee(ye[2]), Ee(ye[3])); + } + function Ae(pe) { + (r.push(s[pe * 3 + 0]), r.push(s[pe * 3 + 1]), r.push(s[pe * 3 + 2])); + } + function Ee(pe) { + (o.push(pe.x), o.push(pe.y)); + } + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + toJSON() { + let e = super.toJSON(), + t = this.parameters.shapes, + n = this.parameters.options; + return n9r(t, n, e); + } + static fromJSON(e, t) { + let n = []; + for (let o = 0, a = e.shapes.length; o < a; o++) { + let i = t[e.shapes[o]]; + n.push(i); + } + let r = e.options.extrudePath; + if (r !== void 0) e.options.extrudePath = new Lhe[r.type]().fromJSON(r); + return new JX(n, e.options); + } + }; + t9r = { + generateTopUV: function (e, t, n, r, o) { + let a = t[n * 3], + i = t[n * 3 + 1], + s = t[r * 3], + l = t[r * 3 + 1], + c = t[o * 3], + u = t[o * 3 + 1]; + return [new vt(a, i), new vt(s, l), new vt(c, u)]; + }, + generateSideWallUV: function (e, t, n, r, o, a) { + let i = t[n * 3], + s = t[n * 3 + 1], + l = t[n * 3 + 2], + c = t[r * 3], + u = t[r * 3 + 1], + d = t[r * 3 + 2], + p = t[o * 3], + f = t[o * 3 + 1], + m = t[o * 3 + 2], + g = t[a * 3], + v = t[a * 3 + 1], + y = t[a * 3 + 2]; + if (Math.abs(s - u) < Math.abs(i - c)) + return [ + new vt(i, 1 - l), + new vt(c, 1 - d), + new vt(p, 1 - m), + new vt(g, 1 - y), + ]; + else + return [ + new vt(s, 1 - l), + new vt(u, 1 - d), + new vt(f, 1 - m), + new vt(v, 1 - y), + ]; + }, + }; + jX = class jX extends nS { + constructor(e = 1, t = 0) { + let n = (1 + Math.sqrt(5)) / 2, + r = [ + -1, + n, + 0, + 1, + n, + 0, + -1, + -n, + 0, + 1, + -n, + 0, + 0, + -1, + n, + 0, + 1, + n, + 0, + -1, + -n, + 0, + 1, + -n, + n, + 0, + -1, + n, + 0, + 1, + -n, + 0, + -1, + -n, + 0, + 1, + ], + o = [ + 0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, 1, 5, 9, 5, 11, 4, + 11, 10, 2, 10, 7, 6, 7, 1, 8, 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, + 8, 9, 4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1, + ]; + super(r, o, e, t); + ((this.type = "IcosahedronGeometry"), + (this.parameters = { radius: e, detail: t })); + } + static fromJSON(e) { + return new jX(e.radius, e.detail); + } + }; + $X = class $X extends Jr { + constructor( + e = [new vt(0, -0.5), new vt(0.5, 0), new vt(0, 0.5)], + t = 12, + n = 0, + r = Math.PI * 2, + ) { + super(); + ((this.type = "LatheGeometry"), + (this.parameters = { + points: e, + segments: t, + phiStart: n, + phiLength: r, + }), + (t = Math.floor(t)), + (r = to(r, 0, Math.PI * 2))); + let o = [], + a = [], + i = [], + s = [], + l = [], + c = 1 / t, + u = new he(), + d = new vt(), + p = new he(), + f = new he(), + m = new he(), + g = 0, + v = 0; + for (let y = 0; y <= e.length - 1; y++) + switch (y) { + case 0: + ((g = e[y + 1].x - e[y].x), + (v = e[y + 1].y - e[y].y), + (p.x = v * 1), + (p.y = -g), + (p.z = v * 0), + m.copy(p), + p.normalize(), + s.push(p.x, p.y, p.z)); + break; + case e.length - 1: + s.push(m.x, m.y, m.z); + break; + default: + ((g = e[y + 1].x - e[y].x), + (v = e[y + 1].y - e[y].y), + (p.x = v * 1), + (p.y = -g), + (p.z = v * 0), + f.copy(p), + (p.x += m.x), + (p.y += m.y), + (p.z += m.z), + p.normalize(), + s.push(p.x, p.y, p.z), + m.copy(f)); + } + for (let y = 0; y <= t; y++) { + let x = n + y * c * r, + A = Math.sin(x), + w = Math.cos(x); + for (let C = 0; C <= e.length - 1; C++) { + ((u.x = e[C].x * A), + (u.y = e[C].y), + (u.z = e[C].x * w), + a.push(u.x, u.y, u.z), + (d.x = y / t), + (d.y = C / (e.length - 1)), + i.push(d.x, d.y)); + let E = s[3 * C + 0] * A, + T = s[3 * C + 1], + I = s[3 * C + 0] * w; + l.push(E, T, I); + } + } + for (let y = 0; y < t; y++) + for (let x = 0; x < e.length - 1; x++) { + let A = x + y * e.length, + w = A, + C = A + e.length, + E = A + e.length + 1, + T = A + 1; + (o.push(w, C, T), o.push(E, T, C)); + } + (this.setIndex(o), + this.setAttribute("position", new Jn(a, 3)), + this.setAttribute("uv", new Jn(i, 2)), + this.setAttribute("normal", new Jn(l, 3))); + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new $X(e.points, e.segments, e.phiStart, e.phiLength); + } + }; + YB = class YB extends nS { + constructor(e = 1, t = 0) { + let n = [1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1], + r = [ + 0, 2, 4, 0, 4, 3, 0, 3, 5, 0, 5, 2, 1, 2, 5, 1, 5, 3, 1, 3, 4, 1, 4, + 2, + ]; + super(n, r, e, t); + ((this.type = "OctahedronGeometry"), + (this.parameters = { radius: e, detail: t })); + } + static fromJSON(e) { + return new YB(e.radius, e.detail); + } + }; + oA = class oA extends Jr { + constructor(e = 1, t = 1, n = 1, r = 1) { + super(); + ((this.type = "PlaneGeometry"), + (this.parameters = { + width: e, + height: t, + widthSegments: n, + heightSegments: r, + })); + let o = e / 2, + a = t / 2, + i = Math.floor(n), + s = Math.floor(r), + l = i + 1, + c = s + 1, + u = e / i, + d = t / s, + p = [], + f = [], + m = [], + g = []; + for (let v = 0; v < c; v++) { + let y = v * d - a; + for (let x = 0; x < l; x++) { + let A = x * u - o; + (f.push(A, -y, 0), m.push(0, 0, 1), g.push(x / i), g.push(1 - v / s)); + } + } + for (let v = 0; v < s; v++) + for (let y = 0; y < i; y++) { + let x = y + l * v, + A = y + l * (v + 1), + w = y + 1 + l * (v + 1), + C = y + 1 + l * v; + (p.push(x, A, C), p.push(A, w, C)); + } + (this.setIndex(p), + this.setAttribute("position", new Jn(f, 3)), + this.setAttribute("normal", new Jn(m, 3)), + this.setAttribute("uv", new Jn(g, 2))); + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new oA(e.width, e.height, e.widthSegments, e.heightSegments); + } + }; + eW = class eW extends Jr { + constructor(e = 0.5, t = 1, n = 32, r = 1, o = 0, a = Math.PI * 2) { + super(); + ((this.type = "RingGeometry"), + (this.parameters = { + innerRadius: e, + outerRadius: t, + thetaSegments: n, + phiSegments: r, + thetaStart: o, + thetaLength: a, + }), + (n = Math.max(3, n)), + (r = Math.max(1, r))); + let i = [], + s = [], + l = [], + c = [], + u = e, + d = (t - e) / r, + p = new he(), + f = new vt(); + for (let m = 0; m <= r; m++) { + for (let g = 0; g <= n; g++) { + let v = o + (g / n) * a; + ((p.x = u * Math.cos(v)), + (p.y = u * Math.sin(v)), + s.push(p.x, p.y, p.z), + l.push(0, 0, 1), + (f.x = (p.x / t + 1) / 2), + (f.y = (p.y / t + 1) / 2), + c.push(f.x, f.y)); + } + u += d; + } + for (let m = 0; m < r; m++) { + let g = m * (n + 1); + for (let v = 0; v < n; v++) { + let y = v + g, + x = y, + A = y + n + 1, + w = y + n + 2, + C = y + 1; + (i.push(x, A, C), i.push(A, w, C)); + } + } + (this.setIndex(i), + this.setAttribute("position", new Jn(s, 3)), + this.setAttribute("normal", new Jn(l, 3)), + this.setAttribute("uv", new Jn(c, 2))); + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new eW( + e.innerRadius, + e.outerRadius, + e.thetaSegments, + e.phiSegments, + e.thetaStart, + e.thetaLength, + ); + } + }; + tW = class tW extends Jr { + constructor( + e = new D7([new vt(0, 0.5), new vt(-0.5, -0.5), new vt(0.5, -0.5)]), + t = 12, + ) { + super(); + ((this.type = "ShapeGeometry"), + (this.parameters = { shapes: e, curveSegments: t })); + let n = [], + r = [], + o = [], + a = [], + i = 0, + s = 0; + if (Array.isArray(e) === !1) l(e); + else + for (let c = 0; c < e.length; c++) + (l(e[c]), this.addGroup(i, s, c), (i += s), (s = 0)); + (this.setIndex(n), + this.setAttribute("position", new Jn(r, 3)), + this.setAttribute("normal", new Jn(o, 3)), + this.setAttribute("uv", new Jn(a, 2))); + function l(c) { + let u = r.length / 3, + d = c.extractPoints(t), + { shape: p, holes: f } = d; + if (_y.isClockWise(p) === !1) p = p.reverse(); + for (let g = 0, v = f.length; g < v; g++) { + let y = f[g]; + if (_y.isClockWise(y) === !0) f[g] = y.reverse(); + } + let m = _y.triangulateShape(p, f); + for (let g = 0, v = f.length; g < v; g++) { + let y = f[g]; + p = p.concat(y); + } + for (let g = 0, v = p.length; g < v; g++) { + let y = p[g]; + (r.push(y.x, y.y, 0), o.push(0, 0, 1), a.push(y.x, y.y)); + } + for (let g = 0, v = m.length; g < v; g++) { + let y = m[g], + x = y[0] + u, + A = y[1] + u, + w = y[2] + u; + (n.push(x, A, w), (s += 3)); + } + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + toJSON() { + let e = super.toJSON(), + t = this.parameters.shapes; + return r9r(t, e); + } + static fromJSON(e, t) { + let n = []; + for (let r = 0, o = e.shapes.length; r < o; r++) { + let a = t[e.shapes[r]]; + n.push(a); + } + return new tW(n, e.curveSegments); + } + }; + rS = class rS extends Jr { + constructor( + e = 1, + t = 32, + n = 16, + r = 0, + o = Math.PI * 2, + a = 0, + i = Math.PI, + ) { + super(); + ((this.type = "SphereGeometry"), + (this.parameters = { + radius: e, + widthSegments: t, + heightSegments: n, + phiStart: r, + phiLength: o, + thetaStart: a, + thetaLength: i, + }), + (t = Math.max(3, Math.floor(t))), + (n = Math.max(2, Math.floor(n)))); + let s = Math.min(a + i, Math.PI), + l = 0, + c = [], + u = new he(), + d = new he(), + p = [], + f = [], + m = [], + g = []; + for (let v = 0; v <= n; v++) { + let y = [], + x = v / n, + A = a + x * i, + w = e * Math.cos(A), + C = Math.sqrt(e * e - w * w), + E = 0; + if (v === 0 && a === 0) E = 0.5 / t; + else if (v === n && s === Math.PI) E = -0.5 / t; + for (let T = 0; T <= t; T++) { + let I = T / t, + k = r + I * o; + ((u.x = -C * Math.cos(k)), + (u.y = w), + (u.z = C * Math.sin(k)), + f.push(u.x, u.y, u.z), + d.copy(u).normalize(), + m.push(d.x, d.y, d.z), + g.push(I + E, 1 - x), + y.push(l++)); + } + c.push(y); + } + for (let v = 0; v < n; v++) + for (let y = 0; y < t; y++) { + let x = c[v][y + 1], + A = c[v][y], + w = c[v + 1][y], + C = c[v + 1][y + 1]; + if (v !== 0 || a > 0) p.push(x, A, C); + if (v !== n - 1 || s < Math.PI) p.push(A, w, C); + } + (this.setIndex(p), + this.setAttribute("position", new Jn(f, 3)), + this.setAttribute("normal", new Jn(m, 3)), + this.setAttribute("uv", new Jn(g, 2))); + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new rS( + e.radius, + e.widthSegments, + e.heightSegments, + e.phiStart, + e.phiLength, + e.thetaStart, + e.thetaLength, + ); + } + }; + nW = class nW extends nS { + constructor(e = 1, t = 0) { + let n = [1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1], + r = [2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1]; + super(n, r, e, t); + ((this.type = "TetrahedronGeometry"), + (this.parameters = { radius: e, detail: t })); + } + static fromJSON(e) { + return new nW(e.radius, e.detail); + } + }; + rW = class rW extends Jr { + constructor( + e = 1, + t = 0.4, + n = 12, + r = 48, + o = Math.PI * 2, + a = 0, + i = Math.PI * 2, + ) { + super(); + ((this.type = "TorusGeometry"), + (this.parameters = { + radius: e, + tube: t, + radialSegments: n, + tubularSegments: r, + arc: o, + thetaStart: a, + thetaLength: i, + }), + (n = Math.floor(n)), + (r = Math.floor(r))); + let s = [], + l = [], + c = [], + u = [], + d = new he(), + p = new he(), + f = new he(); + for (let m = 0; m <= n; m++) { + let g = a + (m / n) * i; + for (let v = 0; v <= r; v++) { + let y = (v / r) * o; + ((p.x = (e + t * Math.cos(g)) * Math.cos(y)), + (p.y = (e + t * Math.cos(g)) * Math.sin(y)), + (p.z = t * Math.sin(g)), + l.push(p.x, p.y, p.z), + (d.x = e * Math.cos(y)), + (d.y = e * Math.sin(y)), + f.subVectors(p, d).normalize(), + c.push(f.x, f.y, f.z), + u.push(v / r), + u.push(m / n)); + } + } + for (let m = 1; m <= n; m++) + for (let g = 1; g <= r; g++) { + let v = (r + 1) * m + g - 1, + y = (r + 1) * (m - 1) + g - 1, + x = (r + 1) * (m - 1) + g, + A = (r + 1) * m + g; + (s.push(v, y, A), s.push(y, x, A)); + } + (this.setIndex(s), + this.setAttribute("position", new Jn(l, 3)), + this.setAttribute("normal", new Jn(c, 3)), + this.setAttribute("uv", new Jn(u, 2))); + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new rW( + e.radius, + e.tube, + e.radialSegments, + e.tubularSegments, + e.arc, + e.thetaStart, + e.thetaLength, + ); + } + }; + oW = class oW extends Jr { + constructor(e = 1, t = 0.4, n = 64, r = 8, o = 2, a = 3) { + super(); + ((this.type = "TorusKnotGeometry"), + (this.parameters = { + radius: e, + tube: t, + tubularSegments: n, + radialSegments: r, + p: o, + q: a, + }), + (n = Math.floor(n)), + (r = Math.floor(r))); + let i = [], + s = [], + l = [], + c = [], + u = new he(), + d = new he(), + p = new he(), + f = new he(), + m = new he(), + g = new he(), + v = new he(); + for (let x = 0; x <= n; ++x) { + let A = (x / n) * o * Math.PI * 2; + (y(A, o, a, e, p), + y(A + 0.01, o, a, e, f), + g.subVectors(f, p), + v.addVectors(f, p), + m.crossVectors(g, v), + v.crossVectors(m, g), + m.normalize(), + v.normalize()); + for (let w = 0; w <= r; ++w) { + let C = (w / r) * Math.PI * 2, + E = -t * Math.cos(C), + T = t * Math.sin(C); + ((u.x = p.x + (E * v.x + T * m.x)), + (u.y = p.y + (E * v.y + T * m.y)), + (u.z = p.z + (E * v.z + T * m.z)), + s.push(u.x, u.y, u.z), + d.subVectors(u, p).normalize(), + l.push(d.x, d.y, d.z), + c.push(x / n), + c.push(w / r)); + } + } + for (let x = 1; x <= n; x++) + for (let A = 1; A <= r; A++) { + let w = (r + 1) * (x - 1) + (A - 1), + C = (r + 1) * x + (A - 1), + E = (r + 1) * x + A, + T = (r + 1) * (x - 1) + A; + (i.push(w, C, T), i.push(C, E, T)); + } + (this.setIndex(i), + this.setAttribute("position", new Jn(s, 3)), + this.setAttribute("normal", new Jn(l, 3)), + this.setAttribute("uv", new Jn(c, 2))); + function y(x, A, w, C, E) { + let T = Math.cos(x), + I = Math.sin(x), + k = (w / A) * x, + L = Math.cos(k); + ((E.x = C * (2 + L) * 0.5 * T), + (E.y = C * (2 + L) * I * 0.5), + (E.z = C * Math.sin(k) * 0.5)); + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + static fromJSON(e) { + return new oW( + e.radius, + e.tube, + e.tubularSegments, + e.radialSegments, + e.p, + e.q, + ); + } + }; + aW = class aW extends Jr { + constructor( + e = new YX(new he(-1, -1, 0), new he(-1, 1, 0), new he(1, 1, 0)), + t = 64, + n = 1, + r = 8, + o = !1, + ) { + super(); + ((this.type = "TubeGeometry"), + (this.parameters = { + path: e, + tubularSegments: t, + radius: n, + radialSegments: r, + closed: o, + })); + let a = e.computeFrenetFrames(t, o); + ((this.tangents = a.tangents), + (this.normals = a.normals), + (this.binormals = a.binormals)); + let i = new he(), + s = new he(), + l = new vt(), + c = new he(), + u = [], + d = [], + p = [], + f = []; + (m(), + this.setIndex(f), + this.setAttribute("position", new Jn(u, 3)), + this.setAttribute("normal", new Jn(d, 3)), + this.setAttribute("uv", new Jn(p, 2))); + function m() { + for (let x = 0; x < t; x++) g(x); + (g(o === !1 ? t : 0), y(), v()); + } + function g(x) { + c = e.getPointAt(x / t, c); + let A = a.normals[x], + w = a.binormals[x]; + for (let C = 0; C <= r; C++) { + let E = (C / r) * Math.PI * 2, + T = Math.sin(E), + I = -Math.cos(E); + ((s.x = I * A.x + T * w.x), + (s.y = I * A.y + T * w.y), + (s.z = I * A.z + T * w.z), + s.normalize(), + d.push(s.x, s.y, s.z), + (i.x = c.x + n * s.x), + (i.y = c.y + n * s.y), + (i.z = c.z + n * s.z), + u.push(i.x, i.y, i.z)); + } + } + function v() { + for (let x = 1; x <= t; x++) + for (let A = 1; A <= r; A++) { + let w = (r + 1) * (x - 1) + (A - 1), + C = (r + 1) * x + (A - 1), + E = (r + 1) * x + A, + T = (r + 1) * (x - 1) + A; + (f.push(w, C, T), f.push(C, E, T)); + } + } + function y() { + for (let x = 0; x <= t; x++) + for (let A = 0; A <= r; A++) + ((l.x = x / t), (l.y = A / r), p.push(l.x, l.y)); + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ((e.path = this.parameters.path.toJSON()), e); + } + static fromJSON(e) { + return new aW( + new Lhe[e.path.type]().fromJSON(e.path), + e.tubularSegments, + e.radius, + e.radialSegments, + e.closed, + ); + } + }; + X0e = class X0e extends Jr { + constructor(e = null) { + super(); + if ( + ((this.type = "WireframeGeometry"), + (this.parameters = { geometry: e }), + e !== null) + ) { + let t = [], + n = new Set(), + r = new he(), + o = new he(); + if (e.index !== null) { + let a = e.attributes.position, + { index: i, groups: s } = e; + if (s.length === 0) + s = [{ start: 0, count: i.count, materialIndex: 0 }]; + for (let l = 0, c = s.length; l < c; ++l) { + let u = s[l], + { start: d, count: p } = u; + for (let f = d, m = d + p; f < m; f += 3) + for (let g = 0; g < 3; g++) { + let v = i.getX(f + g), + y = i.getX(f + ((g + 1) % 3)); + if ( + (r.fromBufferAttribute(a, v), + o.fromBufferAttribute(a, y), + rmn(r, o, n) === !0) + ) + (t.push(r.x, r.y, r.z), t.push(o.x, o.y, o.z)); + } + } + } else { + let a = e.attributes.position; + for (let i = 0, s = a.count / 3; i < s; i++) + for (let l = 0; l < 3; l++) { + let c = 3 * i + l, + u = 3 * i + ((l + 1) % 3); + if ( + (r.fromBufferAttribute(a, c), + o.fromBufferAttribute(a, u), + rmn(r, o, n) === !0) + ) + (t.push(r.x, r.y, r.z), t.push(o.x, o.y, o.z)); + } + } + this.setAttribute("position", new Jn(t, 3)); + } + } + copy(e) { + return ( + super.copy(e), + (this.parameters = Object.assign({}, e.parameters)), + this + ); + } + }; + omn = Object.freeze({ + __proto__: null, + BoxGeometry: rA, + CapsuleGeometry: GX, + CircleGeometry: qX, + ConeGeometry: v5, + CylinderGeometry: tS, + DodecahedronGeometry: ZX, + EdgesGeometry: H0e, + ExtrudeGeometry: JX, + IcosahedronGeometry: jX, + LatheGeometry: $X, + OctahedronGeometry: YB, + PlaneGeometry: oA, + PolyhedronGeometry: nS, + RingGeometry: eW, + ShapeGeometry: tW, + SphereGeometry: rS, + TetrahedronGeometry: nW, + TorusGeometry: rW, + TorusKnotGeometry: oW, + TubeGeometry: aW, + WireframeGeometry: X0e, + }); + W0e = class W0e extends ap { + constructor(e) { + super(); + ((this.isShadowMaterial = !0), + (this.type = "ShadowMaterial"), + (this.color = new _n(0)), + (this.transparent = !0), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + (this.fog = e.fog), + this + ); + } + }; + RHe = { clone: L7, merge: Nm }; + Ac = class Ac extends ap { + constructor(e) { + super(); + if ( + ((this.isShaderMaterial = !0), + (this.type = "ShaderMaterial"), + (this.defines = {}), + (this.uniforms = {}), + (this.uniformsGroups = []), + (this.vertexShader = a9r), + (this.fragmentShader = i9r), + (this.linewidth = 1), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.fog = !1), + (this.lights = !1), + (this.clipping = !1), + (this.forceSinglePass = !0), + (this.extensions = { clipCullDistance: !1, multiDraw: !1 }), + (this.defaultAttributeValues = { + color: [1, 1, 1], + uv: [0, 0], + uv1: [0, 0], + }), + (this.index0AttributeName = void 0), + (this.uniformsNeedUpdate = !1), + (this.glslVersion = null), + e !== void 0) + ) + this.setValues(e); + } + copy(e) { + return ( + super.copy(e), + (this.fragmentShader = e.fragmentShader), + (this.vertexShader = e.vertexShader), + (this.uniforms = L7(e.uniforms)), + (this.uniformsGroups = o9r(e.uniformsGroups)), + (this.defines = Object.assign({}, e.defines)), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.fog = e.fog), + (this.lights = e.lights), + (this.clipping = e.clipping), + (this.extensions = Object.assign({}, e.extensions)), + (this.glslVersion = e.glslVersion), + (this.defaultAttributeValues = Object.assign( + {}, + e.defaultAttributeValues, + )), + (this.index0AttributeName = e.index0AttributeName), + (this.uniformsNeedUpdate = e.uniformsNeedUpdate), + this + ); + } + toJSON(e) { + let t = super.toJSON(e); + ((t.glslVersion = this.glslVersion), (t.uniforms = {})); + for (let r in this.uniforms) { + let a = this.uniforms[r].value; + if (a && a.isTexture) + t.uniforms[r] = { type: "t", value: a.toJSON(e).uuid }; + else if (a && a.isColor) + t.uniforms[r] = { type: "c", value: a.getHex() }; + else if (a && a.isVector2) + t.uniforms[r] = { type: "v2", value: a.toArray() }; + else if (a && a.isVector3) + t.uniforms[r] = { type: "v3", value: a.toArray() }; + else if (a && a.isVector4) + t.uniforms[r] = { type: "v4", value: a.toArray() }; + else if (a && a.isMatrix3) + t.uniforms[r] = { type: "m3", value: a.toArray() }; + else if (a && a.isMatrix4) + t.uniforms[r] = { type: "m4", value: a.toArray() }; + else t.uniforms[r] = { value: a }; + } + if (Object.keys(this.defines).length > 0) t.defines = this.defines; + ((t.vertexShader = this.vertexShader), + (t.fragmentShader = this.fragmentShader), + (t.lights = this.lights), + (t.clipping = this.clipping)); + let n = {}; + for (let r in this.extensions) if (this.extensions[r] === !0) n[r] = !0; + if (Object.keys(n).length > 0) t.extensions = n; + return t; + } + fromJSON(e, t) { + if ((super.fromJSON(e, t), e.uniforms !== void 0)) + for (let n in e.uniforms) { + let r = e.uniforms[n]; + switch (((this.uniforms[n] = {}), r.type)) { + case "t": + this.uniforms[n].value = t[r.value] || null; + break; + case "c": + this.uniforms[n].value = new _n().setHex(r.value); + break; + case "v2": + this.uniforms[n].value = new vt().fromArray(r.value); + break; + case "v3": + this.uniforms[n].value = new he().fromArray(r.value); + break; + case "v4": + this.uniforms[n].value = new Ja().fromArray(r.value); + break; + case "m3": + this.uniforms[n].value = new Ur().fromArray(r.value); + break; + case "m4": + this.uniforms[n].value = new Vn().fromArray(r.value); + break; + default: + this.uniforms[n].value = r.value; + } + } + if (e.defines !== void 0) this.defines = e.defines; + if (e.vertexShader !== void 0) this.vertexShader = e.vertexShader; + if (e.fragmentShader !== void 0) this.fragmentShader = e.fragmentShader; + if (e.glslVersion !== void 0) this.glslVersion = e.glslVersion; + if (e.extensions !== void 0) + for (let n in e.extensions) this.extensions[n] = e.extensions[n]; + if (e.lights !== void 0) this.lights = e.lights; + if (e.clipping !== void 0) this.clipping = e.clipping; + return this; + } + }; + iW = class iW extends Ac { + constructor(e) { + super(e); + ((this.isRawShaderMaterial = !0), (this.type = "RawShaderMaterial")); + } + }; + sW = class sW extends ap { + constructor(e) { + super(); + ((this.isMeshStandardMaterial = !0), + (this.type = "MeshStandardMaterial"), + (this.defines = { STANDARD: "" }), + (this.color = new _n(16777215)), + (this.roughness = 1), + (this.metalness = 0), + (this.map = null), + (this.lightMap = null), + (this.lightMapIntensity = 1), + (this.aoMap = null), + (this.aoMapIntensity = 1), + (this.emissive = new _n(0)), + (this.emissiveIntensity = 1), + (this.emissiveMap = null), + (this.bumpMap = null), + (this.bumpScale = 1), + (this.normalMap = null), + (this.normalMapType = 0), + (this.normalScale = new vt(1, 1)), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + (this.roughnessMap = null), + (this.metalnessMap = null), + (this.alphaMap = null), + (this.envMap = null), + (this.envMapRotation = new Hy()), + (this.envMapIntensity = 1), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.wireframeLinecap = "round"), + (this.wireframeLinejoin = "round"), + (this.flatShading = !1), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + (this.defines = { STANDARD: "" }), + this.color.copy(e.color), + (this.roughness = e.roughness), + (this.metalness = e.metalness), + (this.map = e.map), + (this.lightMap = e.lightMap), + (this.lightMapIntensity = e.lightMapIntensity), + (this.aoMap = e.aoMap), + (this.aoMapIntensity = e.aoMapIntensity), + this.emissive.copy(e.emissive), + (this.emissiveMap = e.emissiveMap), + (this.emissiveIntensity = e.emissiveIntensity), + (this.bumpMap = e.bumpMap), + (this.bumpScale = e.bumpScale), + (this.normalMap = e.normalMap), + (this.normalMapType = e.normalMapType), + this.normalScale.copy(e.normalScale), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + (this.roughnessMap = e.roughnessMap), + (this.metalnessMap = e.metalnessMap), + (this.alphaMap = e.alphaMap), + (this.envMap = e.envMap), + this.envMapRotation.copy(e.envMapRotation), + (this.envMapIntensity = e.envMapIntensity), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.wireframeLinecap = e.wireframeLinecap), + (this.wireframeLinejoin = e.wireframeLinejoin), + (this.flatShading = e.flatShading), + (this.fog = e.fog), + this + ); + } + }; + Y0e = class Y0e extends sW { + constructor(e) { + super(); + ((this.isMeshPhysicalMaterial = !0), + (this.defines = { STANDARD: "", PHYSICAL: "" }), + (this.type = "MeshPhysicalMaterial"), + (this.anisotropyRotation = 0), + (this.anisotropyMap = null), + (this.clearcoatMap = null), + (this.clearcoatRoughness = 0), + (this.clearcoatRoughnessMap = null), + (this.clearcoatNormalScale = new vt(1, 1)), + (this.clearcoatNormalMap = null), + (this.ior = 1.5), + Object.defineProperty(this, "reflectivity", { + get: function () { + return to((2.5 * (this.ior - 1)) / (this.ior + 1), 0, 1); + }, + set: function (t) { + this.ior = (1 + 0.4 * t) / (1 - 0.4 * t); + }, + }), + (this.iridescenceMap = null), + (this.iridescenceIOR = 1.3), + (this.iridescenceThicknessRange = [100, 400]), + (this.iridescenceThicknessMap = null), + (this.sheenColor = new _n(0)), + (this.sheenColorMap = null), + (this.sheenRoughness = 1), + (this.sheenRoughnessMap = null), + (this.transmissionMap = null), + (this.thickness = 0), + (this.thicknessMap = null), + (this.attenuationDistance = 1 / 0), + (this.attenuationColor = new _n(1, 1, 1)), + (this.specularIntensity = 1), + (this.specularIntensityMap = null), + (this.specularColor = new _n(1, 1, 1)), + (this.specularColorMap = null), + (this._anisotropy = 0), + (this._clearcoat = 0), + (this._dispersion = 0), + (this._iridescence = 0), + (this._retroreflectivity = 0), + (this._sheen = 0), + (this._transmission = 0), + this.setValues(e)); + } + get anisotropy() { + return this._anisotropy; + } + set anisotropy(e) { + if (this._anisotropy > 0 !== e > 0) this.version++; + this._anisotropy = e; + } + get clearcoat() { + return this._clearcoat; + } + set clearcoat(e) { + if (this._clearcoat > 0 !== e > 0) this.version++; + this._clearcoat = e; + } + get iridescence() { + return this._iridescence; + } + set iridescence(e) { + if (this._iridescence > 0 !== e > 0) this.version++; + this._iridescence = e; + } + get dispersion() { + return this._dispersion; + } + set dispersion(e) { + if (this._dispersion > 0 !== e > 0) this.version++; + this._dispersion = e; + } + get retroreflectivity() { + return this._retroreflectivity; + } + set retroreflectivity(e) { + if (this._retroreflectivity > 0 !== e > 0) this.version++; + this._retroreflectivity = e; + } + get sheen() { + return this._sheen; + } + set sheen(e) { + if (this._sheen > 0 !== e > 0) this.version++; + this._sheen = e; + } + get transmission() { + return this._transmission; + } + set transmission(e) { + if (this._transmission > 0 !== e > 0) this.version++; + this._transmission = e; + } + copy(e) { + return ( + super.copy(e), + (this.defines = { STANDARD: "", PHYSICAL: "" }), + (this.anisotropy = e.anisotropy), + (this.anisotropyRotation = e.anisotropyRotation), + (this.anisotropyMap = e.anisotropyMap), + (this.clearcoat = e.clearcoat), + (this.clearcoatMap = e.clearcoatMap), + (this.clearcoatRoughness = e.clearcoatRoughness), + (this.clearcoatRoughnessMap = e.clearcoatRoughnessMap), + (this.clearcoatNormalMap = e.clearcoatNormalMap), + this.clearcoatNormalScale.copy(e.clearcoatNormalScale), + (this.dispersion = e.dispersion), + (this.ior = e.ior), + (this.iridescence = e.iridescence), + (this.iridescenceMap = e.iridescenceMap), + (this.iridescenceIOR = e.iridescenceIOR), + (this.iridescenceThicknessRange = [...e.iridescenceThicknessRange]), + (this.iridescenceThicknessMap = e.iridescenceThicknessMap), + (this.retroreflectivity = e.retroreflectivity), + (this.sheen = e.sheen), + this.sheenColor.copy(e.sheenColor), + (this.sheenColorMap = e.sheenColorMap), + (this.sheenRoughness = e.sheenRoughness), + (this.sheenRoughnessMap = e.sheenRoughnessMap), + (this.transmission = e.transmission), + (this.transmissionMap = e.transmissionMap), + (this.thickness = e.thickness), + (this.thicknessMap = e.thicknessMap), + (this.attenuationDistance = e.attenuationDistance), + this.attenuationColor.copy(e.attenuationColor), + (this.specularIntensity = e.specularIntensity), + (this.specularIntensityMap = e.specularIntensityMap), + this.specularColor.copy(e.specularColor), + (this.specularColorMap = e.specularColorMap), + this + ); + } + }; + K0e = class K0e extends ap { + constructor(e) { + super(); + ((this.isMeshPhongMaterial = !0), + (this.type = "MeshPhongMaterial"), + (this.color = new _n(16777215)), + (this.specular = new _n(1118481)), + (this.shininess = 30), + (this.map = null), + (this.lightMap = null), + (this.lightMapIntensity = 1), + (this.aoMap = null), + (this.aoMapIntensity = 1), + (this.emissive = new _n(0)), + (this.emissiveIntensity = 1), + (this.emissiveMap = null), + (this.bumpMap = null), + (this.bumpScale = 1), + (this.normalMap = null), + (this.normalMapType = 0), + (this.normalScale = new vt(1, 1)), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + (this.specularMap = null), + (this.alphaMap = null), + (this.envMap = null), + (this.envMapRotation = new Hy()), + (this.combine = 0), + (this.reflectivity = 1), + (this.envMapIntensity = 1), + (this.refractionRatio = 0.98), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.wireframeLinecap = "round"), + (this.wireframeLinejoin = "round"), + (this.flatShading = !1), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + this.specular.copy(e.specular), + (this.shininess = e.shininess), + (this.map = e.map), + (this.lightMap = e.lightMap), + (this.lightMapIntensity = e.lightMapIntensity), + (this.aoMap = e.aoMap), + (this.aoMapIntensity = e.aoMapIntensity), + this.emissive.copy(e.emissive), + (this.emissiveMap = e.emissiveMap), + (this.emissiveIntensity = e.emissiveIntensity), + (this.bumpMap = e.bumpMap), + (this.bumpScale = e.bumpScale), + (this.normalMap = e.normalMap), + (this.normalMapType = e.normalMapType), + this.normalScale.copy(e.normalScale), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + (this.specularMap = e.specularMap), + (this.alphaMap = e.alphaMap), + (this.envMap = e.envMap), + this.envMapRotation.copy(e.envMapRotation), + (this.combine = e.combine), + (this.reflectivity = e.reflectivity), + (this.envMapIntensity = e.envMapIntensity), + (this.refractionRatio = e.refractionRatio), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.wireframeLinecap = e.wireframeLinecap), + (this.wireframeLinejoin = e.wireframeLinejoin), + (this.flatShading = e.flatShading), + (this.fog = e.fog), + this + ); + } + }; + J0e = class J0e extends ap { + constructor(e) { + super(); + ((this.isMeshToonMaterial = !0), + (this.defines = { TOON: "" }), + (this.type = "MeshToonMaterial"), + (this.color = new _n(16777215)), + (this.map = null), + (this.gradientMap = null), + (this.lightMap = null), + (this.lightMapIntensity = 1), + (this.aoMap = null), + (this.aoMapIntensity = 1), + (this.emissive = new _n(0)), + (this.emissiveIntensity = 1), + (this.emissiveMap = null), + (this.bumpMap = null), + (this.bumpScale = 1), + (this.normalMap = null), + (this.normalMapType = 0), + (this.normalScale = new vt(1, 1)), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + (this.alphaMap = null), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.wireframeLinecap = "round"), + (this.wireframeLinejoin = "round"), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + (this.map = e.map), + (this.gradientMap = e.gradientMap), + (this.lightMap = e.lightMap), + (this.lightMapIntensity = e.lightMapIntensity), + (this.aoMap = e.aoMap), + (this.aoMapIntensity = e.aoMapIntensity), + this.emissive.copy(e.emissive), + (this.emissiveMap = e.emissiveMap), + (this.emissiveIntensity = e.emissiveIntensity), + (this.bumpMap = e.bumpMap), + (this.bumpScale = e.bumpScale), + (this.normalMap = e.normalMap), + (this.normalMapType = e.normalMapType), + this.normalScale.copy(e.normalScale), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + (this.alphaMap = e.alphaMap), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.wireframeLinecap = e.wireframeLinecap), + (this.wireframeLinejoin = e.wireframeLinejoin), + (this.fog = e.fog), + this + ); + } + }; + j0e = class j0e extends ap { + constructor(e) { + super(); + ((this.isMeshNormalMaterial = !0), + (this.type = "MeshNormalMaterial"), + (this.bumpMap = null), + (this.bumpScale = 1), + (this.normalMap = null), + (this.normalMapType = 0), + (this.normalScale = new vt(1, 1)), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.flatShading = !1), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + (this.bumpMap = e.bumpMap), + (this.bumpScale = e.bumpScale), + (this.normalMap = e.normalMap), + (this.normalMapType = e.normalMapType), + this.normalScale.copy(e.normalScale), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.flatShading = e.flatShading), + this + ); + } + }; + $0e = class $0e extends ap { + constructor(e) { + super(); + ((this.isMeshLambertMaterial = !0), + (this.type = "MeshLambertMaterial"), + (this.color = new _n(16777215)), + (this.map = null), + (this.lightMap = null), + (this.lightMapIntensity = 1), + (this.aoMap = null), + (this.aoMapIntensity = 1), + (this.emissive = new _n(0)), + (this.emissiveIntensity = 1), + (this.emissiveMap = null), + (this.bumpMap = null), + (this.bumpScale = 1), + (this.normalMap = null), + (this.normalMapType = 0), + (this.normalScale = new vt(1, 1)), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + (this.specularMap = null), + (this.alphaMap = null), + (this.envMap = null), + (this.envMapRotation = new Hy()), + (this.combine = 0), + (this.reflectivity = 1), + (this.envMapIntensity = 1), + (this.refractionRatio = 0.98), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.wireframeLinecap = "round"), + (this.wireframeLinejoin = "round"), + (this.flatShading = !1), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + this.color.copy(e.color), + (this.map = e.map), + (this.lightMap = e.lightMap), + (this.lightMapIntensity = e.lightMapIntensity), + (this.aoMap = e.aoMap), + (this.aoMapIntensity = e.aoMapIntensity), + this.emissive.copy(e.emissive), + (this.emissiveMap = e.emissiveMap), + (this.emissiveIntensity = e.emissiveIntensity), + (this.bumpMap = e.bumpMap), + (this.bumpScale = e.bumpScale), + (this.normalMap = e.normalMap), + (this.normalMapType = e.normalMapType), + this.normalScale.copy(e.normalScale), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + (this.specularMap = e.specularMap), + (this.alphaMap = e.alphaMap), + (this.envMap = e.envMap), + this.envMapRotation.copy(e.envMapRotation), + (this.combine = e.combine), + (this.reflectivity = e.reflectivity), + (this.envMapIntensity = e.envMapIntensity), + (this.refractionRatio = e.refractionRatio), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.wireframeLinecap = e.wireframeLinecap), + (this.wireframeLinejoin = e.wireframeLinejoin), + (this.flatShading = e.flatShading), + (this.fog = e.fog), + this + ); + } + }; + lW = class lW extends ap { + constructor(e) { + super(); + ((this.isMeshDepthMaterial = !0), + (this.type = "MeshDepthMaterial"), + (this.depthPacking = 3200), + (this.map = null), + (this.alphaMap = null), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + (this.depthPacking = e.depthPacking), + (this.map = e.map), + (this.alphaMap = e.alphaMap), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + this + ); + } + }; + cW = class cW extends ap { + constructor(e) { + super(); + ((this.isMeshDistanceMaterial = !0), + (this.type = "MeshDistanceMaterial"), + (this.map = null), + (this.alphaMap = null), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + (this.map = e.map), + (this.alphaMap = e.alphaMap), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + this + ); + } + }; + ege = class ege extends ap { + constructor(e) { + super(); + ((this.isMeshMatcapMaterial = !0), + (this.defines = { MATCAP: "" }), + (this.type = "MeshMatcapMaterial"), + (this.color = new _n(16777215)), + (this.matcap = null), + (this.map = null), + (this.bumpMap = null), + (this.bumpScale = 1), + (this.normalMap = null), + (this.normalMapType = 0), + (this.normalScale = new vt(1, 1)), + (this.displacementMap = null), + (this.displacementScale = 1), + (this.displacementBias = 0), + (this.alphaMap = null), + (this.wireframe = !1), + (this.wireframeLinewidth = 1), + (this.flatShading = !1), + (this.fog = !0), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + (this.defines = { MATCAP: "" }), + this.color.copy(e.color), + (this.matcap = e.matcap), + (this.map = e.map), + (this.bumpMap = e.bumpMap), + (this.bumpScale = e.bumpScale), + (this.normalMap = e.normalMap), + (this.normalMapType = e.normalMapType), + this.normalScale.copy(e.normalScale), + (this.displacementMap = e.displacementMap), + (this.displacementScale = e.displacementScale), + (this.displacementBias = e.displacementBias), + (this.alphaMap = e.alphaMap), + (this.wireframe = e.wireframe), + (this.wireframeLinewidth = e.wireframeLinewidth), + (this.flatShading = e.flatShading), + (this.fog = e.fog), + this + ); + } + }; + tge = class tge extends Wf { + constructor(e) { + super(); + ((this.isLineDashedMaterial = !0), + (this.type = "LineDashedMaterial"), + (this.scale = 1), + (this.dashSize = 3), + (this.gapSize = 1), + this.setValues(e)); + } + copy(e) { + return ( + super.copy(e), + (this.scale = e.scale), + (this.dashSize = e.dashSize), + (this.gapSize = e.gapSize), + this + ); + } + }; + nge = class nge extends b5 { + constructor(e, t, n, r) { + super(e, t, n, r); + ((this._weightPrev = -0), + (this._offsetPrev = -0), + (this._weightNext = -0), + (this._offsetNext = -0), + (this.DefaultSettings_ = { endingStart: 2400, endingEnd: 2400 })); + } + intervalChanged_(e, t, n) { + let r = this.parameterPositions, + o = e - 2, + a = e + 1, + i = r[o], + s = r[a]; + if (i === void 0) + switch (this.getSettings_().endingStart) { + case 2401: + ((o = e), (i = 2 * t - n)); + break; + case 2402: + ((o = r.length - 2), (i = t + r[o] - r[o + 1])); + break; + default: + ((o = e), (i = n)); + } + if (s === void 0) + switch (this.getSettings_().endingEnd) { + case 2401: + ((a = e), (s = 2 * n - t)); + break; + case 2402: + ((a = 1), (s = n + r[1] - r[0])); + break; + default: + ((a = e - 1), (s = t)); + } + let l = (n - t) * 0.5, + c = this.valueSize; + ((this._weightPrev = l / (t - i)), + (this._weightNext = l / (s - n)), + (this._offsetPrev = o * c), + (this._offsetNext = a * c)); + } + interpolate_(e, t, n, r) { + let o = this.resultBuffer, + a = this.sampleValues, + i = this.valueSize, + s = e * i, + l = s - i, + c = this._offsetPrev, + u = this._offsetNext, + d = this._weightPrev, + p = this._weightNext, + f = (n - t) / (r - t), + m = f * f, + g = m * f, + v = -d * g + 2 * d * m - d * f, + y = (1 + d) * g + (-1.5 - 2 * d) * m + (-0.5 + d) * f + 1, + x = (-1 - p) * g + (1.5 + p) * m + 0.5 * f, + A = p * g - p * m; + for (let w = 0; w !== i; ++w) + o[w] = v * a[c + w] + y * a[l + w] + x * a[s + w] + A * a[u + w]; + return o; + } + }; + uW = class uW extends b5 { + constructor(e, t, n, r) { + super(e, t, n, r); + } + interpolate_(e, t, n, r) { + let o = this.resultBuffer, + a = this.sampleValues, + i = this.valueSize, + s = e * i, + l = s - i, + c = (n - t) / (r - t), + u = 1 - c; + for (let d = 0; d !== i; ++d) o[d] = a[l + d] * u + a[s + d] * c; + return o; + } + }; + rge = class rge extends b5 { + constructor(e, t, n, r) { + super(e, t, n, r); + } + interpolate_(e) { + return this.copySampleValue_(e - 1); + } + }; + oge = class oge extends b5 { + interpolate_(e, t, n, r) { + let o = this.resultBuffer, + a = this.sampleValues, + i = this.valueSize, + s = e * i, + l = s - i, + c = this.inTangents, + u = this.outTangents; + if (!c || !u) { + let f = (n - t) / (r - t), + m = 1 - f; + for (let g = 0; g !== i; ++g) o[g] = a[l + g] * m + a[s + g] * f; + return o; + } + let d = i * 2, + p = e - 1; + for (let f = 0; f !== i; ++f) { + let m = a[l + f], + g = a[s + f], + v = p * d + f * 2, + y = u[v], + x = u[v + 1], + A = e * d + f * 2, + w = c[A], + C = c[A + 1], + E = u9r(n, t, y, w, r); + o[f] = $hn(E, m, x, C, g); + } + return o; + } + }; + F0.prototype.ValueTypeName = ""; + F0.prototype.TimeBufferType = Float32Array; + F0.prototype.ValueBufferType = Float32Array; + F0.prototype.DefaultInterpolation = 2301; + oS = class oS extends F0 { + constructor(e, t, n) { + super(e, t, n); + } + }; + oS.prototype.ValueTypeName = "bool"; + oS.prototype.ValueBufferType = Array; + oS.prototype.DefaultInterpolation = 2300; + oS.prototype.InterpolantFactoryMethodLinear = void 0; + oS.prototype.InterpolantFactoryMethodSmooth = void 0; + dW = class dW extends F0 { + constructor(e, t, n, r) { + super(e, t, n, r); + } + }; + dW.prototype.ValueTypeName = "color"; + KB = class KB extends F0 { + constructor(e, t, n, r) { + super(e, t, n, r); + } + }; + KB.prototype.ValueTypeName = "number"; + age = class age extends b5 { + constructor(e, t, n, r) { + super(e, t, n, r); + } + interpolate_(e, t, n, r) { + let o = this.resultBuffer, + a = this.sampleValues, + i = this.valueSize, + s = (n - t) / (r - t), + l = e * i; + for (let c = l + i; l !== c; l += 4) + Vo.slerpFlat(o, 0, a, l - i, a, l, s); + return o; + } + }; + JB = class JB extends F0 { + constructor(e, t, n, r) { + super(e, t, n, r); + } + InterpolantFactoryMethodLinear(e) { + return new age(this.times, this.values, this.getValueSize(), e); + } + }; + JB.prototype.ValueTypeName = "quaternion"; + JB.prototype.InterpolantFactoryMethodSmooth = void 0; + aS = class aS extends F0 { + constructor(e, t, n) { + super(e, t, n); + } + }; + aS.prototype.ValueTypeName = "string"; + aS.prototype.ValueBufferType = Array; + aS.prototype.DefaultInterpolation = 2300; + aS.prototype.InterpolantFactoryMethodLinear = void 0; + aS.prototype.InterpolantFactoryMethodSmooth = void 0; + pW = class pW extends F0 { + constructor(e, t, n, r) { + super(e, t, n, r); + } + }; + pW.prototype.ValueTypeName = "vector"; + kv = { + enabled: !1, + files: {}, + add: function (e, t) { + if (this.enabled === !1) return; + if (smn(e)) return; + this.files[e] = t; + }, + get: function (e) { + if (this.enabled === !1) return; + if (smn(e)) return; + return this.files[e]; + }, + remove: function (e) { + delete this.files[e]; + }, + clear: function () { + this.files = {}; + }, + }; + MHe = new fW(); + tf.DEFAULT_MATERIAL_NAME = "__DEFAULT"; + qw = {}; + e0n = class e0n extends Error { + constructor(e, t) { + super(e); + this.response = t; + } + }; + i1 = class i1 extends tf { + constructor(e) { + super(e); + ((this.mimeType = ""), + (this.responseType = ""), + (this._abortController = new AbortController())); + } + load(e, t, n, r) { + if (e === void 0) e = ""; + if (this.path !== void 0) e = this.path + e; + e = this.manager.resolveURL(e); + let o = kv.get(`file:${e}`); + if (o !== void 0) { + (this.manager.itemStart(e), + setTimeout(() => { + if (t) t(o); + this.manager.itemEnd(e); + }, 0)); + return; + } + if (qw[e] !== void 0) { + qw[e].push({ onLoad: t, onProgress: n, onError: r }); + return; + } + ((qw[e] = []), qw[e].push({ onLoad: t, onProgress: n, onError: r })); + let a = new Request(e, { + headers: new Headers(this.requestHeader), + credentials: this.withCredentials ? "include" : "same-origin", + signal: + typeof AbortSignal.any === "function" + ? AbortSignal.any([ + this._abortController.signal, + this.manager.abortController.signal, + ]) + : this._abortController.signal, + }), + i = this.mimeType, + s = this.responseType; + (fetch(a) + .then((l) => { + if (l.status === 200 || l.status === 0) { + if (l.status === 0) zn("FileLoader: HTTP Status 0 received."); + if ( + typeof ReadableStream > "u" || + l.body === void 0 || + l.body.getReader === void 0 + ) + return l; + let c = qw[e], + u = l.body.getReader(), + d = + l.headers.get("X-File-Size") || l.headers.get("Content-Length"), + p = d ? parseInt(d) : 0, + f = p !== 0, + m = 0, + g = new ReadableStream({ + start(v) { + y(); + function y() { + u.read().then( + ({ done: x, value: A }) => { + if (x) v.close(); + else { + m += A.byteLength; + let w = new ProgressEvent("progress", { + lengthComputable: f, + loaded: m, + total: p, + }); + for (let C = 0, E = c.length; C < E; C++) { + let T = c[C]; + if (T.onProgress) T.onProgress(w); + } + (v.enqueue(A), y()); + } + }, + (x) => { + v.error(x); + }, + ); + } + }, + }); + return new Response(g); + } else + throw new e0n( + `fetch for "${l.url}" responded with ${l.status}: ${l.statusText}`, + l, + ); + }) + .then((l) => { + switch (s) { + case "arraybuffer": + return l.arrayBuffer(); + case "blob": + return l.blob(); + case "document": + return l + .text() + .then((c) => new DOMParser().parseFromString(c, i)); + case "json": + return l.json(); + default: + if (i === "") return l.text(); + else { + let u = /charset="?([^;"\s]*)"?/i.exec(i), + d = u && u[1] ? u[1].toLowerCase() : void 0, + p = new TextDecoder(d); + return l.arrayBuffer().then((f) => p.decode(f)); + } + } + }) + .then((l) => { + kv.add(`file:${e}`, l); + let c = qw[e]; + delete qw[e]; + for (let u = 0, d = c.length; u < d; u++) { + let p = c[u]; + if (p.onLoad) p.onLoad(l); + } + }) + .catch((l) => { + let c = qw[e]; + if (c === void 0) throw (this.manager.itemError(e), l); + delete qw[e]; + for (let u = 0, d = c.length; u < d; u++) { + let p = c[u]; + if (p.onError) p.onError(l); + } + this.manager.itemError(e); + }) + .finally(() => { + this.manager.itemEnd(e); + }), + this.manager.itemStart(e)); + } + setResponseType(e) { + return ((this.responseType = e), this); + } + setMimeType(e) { + return ((this.mimeType = e), this); + } + abort() { + return ( + this._abortController.abort(), + (this._abortController = new AbortController()), + this + ); + } + }; + DHe = class DHe extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = this, + a = new i1(this.manager); + (a.setPath(this.path), + a.setRequestHeader(this.requestHeader), + a.setWithCredentials(this.withCredentials), + a.load( + e, + function (i) { + try { + t(o.parse(JSON.parse(i))); + } catch (s) { + if (r) r(s); + else wr(s); + o.manager.itemError(e); + } + }, + n, + r, + )); + } + parse(e) { + let t = []; + for (let n = 0; n < e.length; n++) { + let r = S7.parse(e[n]); + t.push(r); + } + return t; + } + }; + LHe = class LHe extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = this, + a = [], + i = new XB(), + s = new i1(this.manager); + (s.setPath(this.path), + s.setResponseType("arraybuffer"), + s.setRequestHeader(this.requestHeader), + s.setWithCredentials(o.withCredentials)); + let l = 0; + function c(u) { + s.load( + e[u], + function (d) { + let p = o.parse(d, !0); + if ( + ((a[u] = { + width: p.width, + height: p.height, + format: p.format, + mipmaps: p.mipmaps, + }), + (l += 1), + l === 6) + ) { + if (p.mipmapCount === 1) i.minFilter = 1006; + if ( + ((i.image = a), (i.format = p.format), (i.needsUpdate = !0), t) + ) + t(i); + } + }, + n, + r, + ); + } + if (Array.isArray(e)) for (let u = 0, d = e.length; u < d; ++u) c(u); + else + s.load( + e, + function (u) { + let d = o.parse(u, !0); + if (d.isCubemap) { + let p = d.mipmaps.length / d.mipmapCount; + for (let f = 0; f < p; f++) { + a[f] = { mipmaps: [] }; + for (let m = 0; m < d.mipmapCount; m++) + (a[f].mipmaps.push(d.mipmaps[f * d.mipmapCount + m]), + (a[f].format = d.format), + (a[f].width = d.width), + (a[f].height = d.height)); + } + i.image = a; + } else + ((i.image.width = d.width), + (i.image.height = d.height), + (i.mipmaps = d.mipmaps)); + if (d.mipmapCount === 1) i.minFilter = 1006; + if (((i.format = d.format), (i.needsUpdate = !0), t)) t(i); + }, + n, + r, + ); + return i; + } + }; + EB = new WeakMap(); + C7 = class C7 extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + if (this.path !== void 0) e = this.path + e; + e = this.manager.resolveURL(e); + let o = this, + a = kv.get(`image:${e}`); + if (a !== void 0) { + if (a.complete === !0) + (o.manager.itemStart(e), + setTimeout(function () { + if (t) t(a); + o.manager.itemEnd(e); + }, 0)); + else { + let u = EB.get(a); + if (u === void 0) ((u = []), EB.set(a, u)); + u.push({ onLoad: t, onError: r }); + } + return a; + } + let i = DB("img"); + function s() { + if ((c(), t)) t(this); + let u = EB.get(this) || []; + for (let d = 0; d < u.length; d++) { + let p = u[d]; + if (p.onLoad) p.onLoad(this); + } + (EB.delete(this), o.manager.itemEnd(e)); + } + function l(u) { + if ((c(), r)) r(u); + kv.remove(`image:${e}`); + let d = EB.get(this) || []; + for (let p = 0; p < d.length; p++) { + let f = d[p]; + if (f.onError) f.onError(u); + } + (EB.delete(this), o.manager.itemError(e), o.manager.itemEnd(e)); + } + function c() { + (i.removeEventListener("load", s, !1), + i.removeEventListener("error", l, !1)); + } + if ( + (i.addEventListener("load", s, !1), + i.addEventListener("error", l, !1), + e.slice(0, 5) !== "data:") + ) { + if (this.crossOrigin !== void 0) i.crossOrigin = this.crossOrigin; + } + return (kv.add(`image:${e}`, i), o.manager.itemStart(e), (i.src = e), i); + } + }; + BHe = class BHe extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = new M7(); + o.colorSpace = "srgb"; + let a = new C7(this.manager); + (a.setCrossOrigin(this.crossOrigin), a.setPath(this.path)); + let i = 0; + function s(l) { + a.load( + e[l], + function (c) { + if (((o.images[l] = c), i++, i === 6)) { + if (((o.needsUpdate = !0), t)) t(o); + } + }, + void 0, + r, + ); + } + for (let l = 0; l < e.length; ++l) s(l); + return o; + } + }; + OHe = class OHe extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = this, + a = new jl(), + i = new i1(this.manager); + return ( + i.setResponseType("arraybuffer"), + i.setRequestHeader(this.requestHeader), + i.setPath(this.path), + i.setWithCredentials(o.withCredentials), + i.load( + e, + function (s) { + let l; + try { + l = o.parse(s); + } catch (c) { + if (r !== void 0) r(c); + else wr(c); + return; + } + if ((o._applyTexData(a, l), t)) t(a, l); + }, + n, + r, + ), + a + ); + } + createDataTexture(e) { + let t = new jl(); + return (this._applyTexData(t, this.parse(e)), t); + } + _applyTexData(e, t) { + if (t.image !== void 0) e.image = t.image; + else if (t.data !== void 0) + ((e.image.width = t.width), + (e.image.height = t.height), + (e.image.data = t.data)); + if ( + ((e.wrapS = t.wrapS !== void 0 ? t.wrapS : 1001), + (e.wrapT = t.wrapT !== void 0 ? t.wrapT : 1001), + (e.magFilter = t.magFilter !== void 0 ? t.magFilter : 1006), + (e.minFilter = t.minFilter !== void 0 ? t.minFilter : 1006), + (e.anisotropy = t.anisotropy !== void 0 ? t.anisotropy : 1), + t.colorSpace !== void 0) + ) + e.colorSpace = t.colorSpace; + if (t.flipY !== void 0) e.flipY = t.flipY; + if (t.format !== void 0) e.format = t.format; + if (t.type !== void 0) e.type = t.type; + if (t.mipmaps !== void 0) ((e.mipmaps = t.mipmaps), (e.minFilter = 1008)); + if (t.mipmapCount === 1) e.minFilter = 1006; + if (t.generateMipmaps !== void 0) e.generateMipmaps = t.generateMipmaps; + e.needsUpdate = !0; + } + }; + FHe = class FHe extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = new El(), + a = new C7(this.manager); + return ( + a.setCrossOrigin(this.crossOrigin), + a.setPath(this.path), + a.load( + e, + function (i) { + if (((o.image = i), (o.needsUpdate = !0), t !== void 0)) t(o); + }, + n, + r, + ), + o + ); + } + }; + aA = class aA extends Go { + constructor(e, t = 1) { + super(); + ((this.isLight = !0), + (this.type = "Light"), + (this.color = new _n(e)), + (this.intensity = t)); + } + copy(e, t) { + return ( + super.copy(e, t), + this.color.copy(e.color), + (this.intensity = e.intensity), + this + ); + } + toJSON(e) { + let t = super.toJSON(e); + return ( + (t.object.color = this.color.getHex()), + (t.object.intensity = this.intensity), + t + ); + } + }; + ige = class ige extends aA { + constructor(e, t, n) { + super(e, n); + ((this.isHemisphereLight = !0), + (this.type = "HemisphereLight"), + this.position.copy(Go.DEFAULT_UP), + this.updateMatrix(), + (this.groundColor = new _n(t))); + } + copy(e, t) { + return (super.copy(e, t), this.groundColor.copy(e.groundColor), this); + } + toJSON(e) { + let t = super.toJSON(e); + return ((t.object.groundColor = this.groundColor.getHex()), t); + } + }; + ((c_e = new Vn()), (lmn = new he()), (cmn = new he())); + ((whe = new he()), (She = new Vo()), (Yx = new he())); + $B = class $B extends Go { + constructor() { + super(); + ((this.isCamera = !0), + (this.type = "Camera"), + (this.matrixWorldInverse = new Vn()), + (this.projectionMatrix = new Vn()), + (this.projectionMatrixInverse = new Vn()), + (this.coordinateSystem = 2000), + (this._reversedDepth = !1)); + } + get reversedDepth() { + return this._reversedDepth; + } + copy(e, t) { + return ( + super.copy(e, t), + this.matrixWorldInverse.copy(e.matrixWorldInverse), + this.projectionMatrix.copy(e.projectionMatrix), + this.projectionMatrixInverse.copy(e.projectionMatrixInverse), + (this.coordinateSystem = e.coordinateSystem), + this + ); + } + getWorldDirection(e) { + return super.getWorldDirection(e).negate(); + } + updateMatrixWorld(e) { + if ( + (super.updateMatrixWorld(e), + this.matrixWorld.decompose(whe, She, Yx), + Yx.x === 1 && Yx.y === 1 && Yx.z === 1) + ) + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + else this.matrixWorldInverse.compose(whe, She, Yx.set(1, 1, 1)).invert(); + } + updateWorldMatrix(e, t, n = !1) { + if ( + (super.updateWorldMatrix(e, t, n), + this.matrixWorld.decompose(whe, She, Yx), + Yx.x === 1 && Yx.y === 1 && Yx.z === 1) + ) + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + else this.matrixWorldInverse.compose(whe, She, Yx.set(1, 1, 1)).invert(); + } + clone() { + return new this.constructor().copy(this); + } + }; + ((i5 = new he()), (umn = new vt()), (dmn = new vt())); + Kl = class Kl extends $B { + constructor(e = 50, t = 1, n = 0.1, r = 2000) { + super(); + ((this.isPerspectiveCamera = !0), + (this.type = "PerspectiveCamera"), + (this.fov = e), + (this.zoom = 1), + (this.near = n), + (this.far = r), + (this.focus = 10), + (this.aspect = t), + (this.view = null), + (this.filmGauge = 35), + (this.filmOffset = 0), + this.updateProjectionMatrix()); + } + copy(e, t) { + return ( + super.copy(e, t), + (this.fov = e.fov), + (this.zoom = e.zoom), + (this.near = e.near), + (this.far = e.far), + (this.focus = e.focus), + (this.aspect = e.aspect), + (this.view = e.view === null ? null : Object.assign({}, e.view)), + (this.filmGauge = e.filmGauge), + (this.filmOffset = e.filmOffset), + this + ); + } + setFocalLength(e) { + let t = (0.5 * this.getFilmHeight()) / e; + ((this.fov = x7 * 2 * Math.atan(t)), this.updateProjectionMatrix()); + } + getFocalLength() { + let e = Math.tan(b7 * 0.5 * this.fov); + return (0.5 * this.getFilmHeight()) / e; + } + getEffectiveFOV() { + return x7 * 2 * Math.atan(Math.tan(b7 * 0.5 * this.fov) / this.zoom); + } + getFilmWidth() { + return this.filmGauge * Math.min(this.aspect, 1); + } + getFilmHeight() { + return this.filmGauge / Math.max(this.aspect, 1); + } + getViewBounds(e, t, n) { + (i5.set(-1, -1, 0.5).applyMatrix4(this.projectionMatrixInverse), + t.set(i5.x, i5.y).multiplyScalar(-e / i5.z), + i5.set(1, 1, 0.5).applyMatrix4(this.projectionMatrixInverse), + n.set(i5.x, i5.y).multiplyScalar(-e / i5.z)); + } + getViewSize(e, t) { + return (this.getViewBounds(e, umn, dmn), t.subVectors(dmn, umn)); + } + setViewOffset(e, t, n, r, o, a) { + if (((this.aspect = e / t), this.view === null)) + this.view = { + enabled: !0, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1, + }; + ((this.view.enabled = !0), + (this.view.fullWidth = e), + (this.view.fullHeight = t), + (this.view.offsetX = n), + (this.view.offsetY = r), + (this.view.width = o), + (this.view.height = a), + this.updateProjectionMatrix()); + } + clearViewOffset() { + if (this.view !== null) this.view.enabled = !1; + this.updateProjectionMatrix(); + } + updateProjectionMatrix() { + let e = this.near, + t = (e * Math.tan(b7 * 0.5 * this.fov)) / this.zoom, + n = 2 * t, + r = this.aspect * n, + o = -0.5 * r, + a = this.view; + if (this.view !== null && this.view.enabled) { + let { fullWidth: s, fullHeight: l } = a; + ((o += (a.offsetX * r) / s), + (t -= (a.offsetY * n) / l), + (r *= a.width / s), + (n *= a.height / l)); + } + let i = this.filmOffset; + if (i !== 0) o += (e * i) / this.getFilmWidth(); + (this.projectionMatrix.makePerspective( + o, + o + r, + t, + t - n, + e, + this.far, + this.coordinateSystem, + this.reversedDepth, + ), + this.projectionMatrixInverse.copy(this.projectionMatrix).invert()); + } + toJSON(e) { + let t = super.toJSON(e); + if ( + ((t.object.fov = this.fov), + (t.object.zoom = this.zoom), + (t.object.near = this.near), + (t.object.far = this.far), + (t.object.focus = this.focus), + (t.object.aspect = this.aspect), + this.view !== null) + ) + t.object.view = Object.assign({}, this.view); + return ( + (t.object.filmGauge = this.filmGauge), + (t.object.filmOffset = this.filmOffset), + t + ); + } + }; + t0n = class t0n extends jB { + constructor() { + super(new Kl(50, 1, 0.5, 500)); + ((this.isSpotLightShadow = !0), (this.focus = 1), (this.aspect = 1)); + } + updateMatrices(e) { + let t = this.camera, + n = x7 * 2 * e.angle * this.focus, + r = (this.mapSize.width / this.mapSize.height) * this.aspect, + o = e.distance || t.far; + if (n !== t.fov || r !== t.aspect || o !== t.far) + ((t.fov = n), (t.aspect = r), (t.far = o), t.updateProjectionMatrix()); + super.updateMatrices(e); + } + copy(e) { + return ( + super.copy(e), + (this.focus = e.focus), + (this.aspect = e.aspect), + this + ); + } + toJSON() { + let e = super.toJSON(); + return ((e.focus = this.focus), (e.aspect = this.aspect), e); + } + }; + sge = class sge extends aA { + constructor(e, t, n = 0, r = Math.PI / 3, o = 0, a = 2) { + super(e, t); + ((this.isSpotLight = !0), + (this.type = "SpotLight"), + this.position.copy(Go.DEFAULT_UP), + this.updateMatrix(), + (this.target = new Go()), + (this.distance = n), + (this.angle = r), + (this.penumbra = o), + (this.decay = a), + (this.map = null), + (this.shadow = new t0n())); + } + get power() { + return this.intensity * Math.PI; + } + set power(e) { + this.intensity = e / Math.PI; + } + dispose() { + (super.dispose(), this.shadow.dispose()); + } + copy(e, t) { + return ( + super.copy(e, t), + (this.distance = e.distance), + (this.angle = e.angle), + (this.penumbra = e.penumbra), + (this.decay = e.decay), + (this.target = e.target.clone()), + (this.map = e.map), + (this.shadow = e.shadow.clone()), + this + ); + } + toJSON(e) { + let t = super.toJSON(e); + if ( + ((t.object.distance = this.distance), + (t.object.angle = this.angle), + (t.object.decay = this.decay), + (t.object.penumbra = this.penumbra), + (t.object.target = this.target.uuid), + this.map && this.map.isTexture) + ) + t.object.map = this.map.toJSON(e).uuid; + return ((t.object.shadow = this.shadow.toJSON()), t); + } + }; + n0n = class n0n extends jB { + constructor() { + super(new Kl(90, 1, 0.5, 500)); + this.isPointLightShadow = !0; + } + }; + lge = class lge extends aA { + constructor(e, t, n = 0, r = 2) { + super(e, t); + ((this.isPointLight = !0), + (this.type = "PointLight"), + (this.distance = n), + (this.decay = r), + (this.shadow = new n0n())); + } + get power() { + return this.intensity * 4 * Math.PI; + } + set power(e) { + this.intensity = e / (4 * Math.PI); + } + dispose() { + (super.dispose(), this.shadow.dispose()); + } + copy(e, t) { + return ( + super.copy(e, t), + (this.distance = e.distance), + (this.decay = e.decay), + (this.shadow = e.shadow.clone()), + this + ); + } + toJSON(e) { + let t = super.toJSON(e); + return ( + (t.object.distance = this.distance), + (t.object.decay = this.decay), + (t.object.shadow = this.shadow.toJSON()), + t + ); + } + }; + qy = class qy extends $B { + constructor(e = -1, t = 1, n = 1, r = -1, o = 0.1, a = 2000) { + super(); + ((this.isOrthographicCamera = !0), + (this.type = "OrthographicCamera"), + (this.zoom = 1), + (this.view = null), + (this.left = e), + (this.right = t), + (this.top = n), + (this.bottom = r), + (this.near = o), + (this.far = a), + this.updateProjectionMatrix()); + } + copy(e, t) { + return ( + super.copy(e, t), + (this.left = e.left), + (this.right = e.right), + (this.top = e.top), + (this.bottom = e.bottom), + (this.near = e.near), + (this.far = e.far), + (this.zoom = e.zoom), + (this.view = e.view === null ? null : Object.assign({}, e.view)), + this + ); + } + setViewOffset(e, t, n, r, o, a) { + if (this.view === null) + this.view = { + enabled: !0, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1, + }; + ((this.view.enabled = !0), + (this.view.fullWidth = e), + (this.view.fullHeight = t), + (this.view.offsetX = n), + (this.view.offsetY = r), + (this.view.width = o), + (this.view.height = a), + this.updateProjectionMatrix()); + } + clearViewOffset() { + if (this.view !== null) this.view.enabled = !1; + this.updateProjectionMatrix(); + } + updateProjectionMatrix() { + let e = (this.right - this.left) / (2 * this.zoom), + t = (this.top - this.bottom) / (2 * this.zoom), + n = (this.right + this.left) / 2, + r = (this.top + this.bottom) / 2, + o = n - e, + a = n + e, + i = r + t, + s = r - t; + if (this.view !== null && this.view.enabled) { + let l = (this.right - this.left) / this.view.fullWidth / this.zoom, + c = (this.top - this.bottom) / this.view.fullHeight / this.zoom; + ((o += l * this.view.offsetX), + (a = o + l * this.view.width), + (i -= c * this.view.offsetY), + (s = i - c * this.view.height)); + } + (this.projectionMatrix.makeOrthographic( + o, + a, + i, + s, + this.near, + this.far, + this.coordinateSystem, + this.reversedDepth, + ), + this.projectionMatrixInverse.copy(this.projectionMatrix).invert()); + } + toJSON(e) { + let t = super.toJSON(e); + if ( + ((t.object.zoom = this.zoom), + (t.object.left = this.left), + (t.object.right = this.right), + (t.object.top = this.top), + (t.object.bottom = this.bottom), + (t.object.near = this.near), + (t.object.far = this.far), + this.view !== null) + ) + t.object.view = Object.assign({}, this.view); + return t; + } + }; + r0n = class r0n extends jB { + constructor() { + super(new qy(-5, 5, 5, -5, 0.5, 500)); + this.isDirectionalLightShadow = !0; + } + }; + cge = class cge extends aA { + constructor(e, t) { + super(e, t); + ((this.isDirectionalLight = !0), + (this.type = "DirectionalLight"), + this.position.copy(Go.DEFAULT_UP), + this.updateMatrix(), + (this.target = new Go()), + (this.shadow = new r0n())); + } + dispose() { + (super.dispose(), this.shadow.dispose()); + } + copy(e) { + return ( + super.copy(e), + (this.target = e.target.clone()), + (this.shadow = e.shadow.clone()), + this + ); + } + toJSON(e) { + let t = super.toJSON(e); + return ( + (t.object.shadow = this.shadow.toJSON()), + (t.object.target = this.target.uuid), + t + ); + } + }; + uge = class uge extends aA { + constructor(e, t) { + super(e, t); + ((this.isAmbientLight = !0), (this.type = "AmbientLight")); + } + }; + dge = class dge extends aA { + constructor(e, t, n = 10, r = 10) { + super(e, t); + ((this.isRectAreaLight = !0), + (this.type = "RectAreaLight"), + (this.width = n), + (this.height = r)); + } + get power() { + return this.intensity * this.width * this.height * Math.PI; + } + set power(e) { + this.intensity = e / (this.width * this.height * Math.PI); + } + copy(e) { + return ( + super.copy(e), + (this.width = e.width), + (this.height = e.height), + this + ); + } + toJSON(e) { + let t = super.toJSON(e); + return ( + (t.object.width = this.width), + (t.object.height = this.height), + t + ); + } + }; + pge = class pge extends aA { + constructor(e = new mW(), t = 1) { + super(void 0, t); + ((this.isLightProbe = !0), (this.sh = e)); + } + copy(e) { + return (super.copy(e), this.sh.copy(e.sh), this); + } + toJSON(e) { + let t = super.toJSON(e); + return ((t.object.sh = this.sh.toArray()), t); + } + }; + pmn = {}; + hW = class hW extends tf { + constructor(e) { + super(e); + this.textures = {}; + } + load(e, t, n, r) { + let o = this, + a = new i1(o.manager); + (a.setPath(o.path), + a.setRequestHeader(o.requestHeader), + a.setWithCredentials(o.withCredentials), + a.load( + e, + function (i) { + try { + t(o.parse(JSON.parse(i))); + } catch (s) { + if (r) r(s); + else wr(s); + o.manager.itemError(e); + } + }, + n, + r, + )); + } + parse(e) { + let t = this.createMaterialFromType(e.type); + return (t.fromJSON(e, this.textures), t); + } + setTextures(e) { + return ((this.textures = e), this); + } + createMaterialFromType(e) { + return hW.createMaterialFromType(e); + } + static createMaterialFromType(e) { + let n = { + ShadowMaterial: W0e, + SpriteMaterial: UX, + RawShaderMaterial: iW, + ShaderMaterial: Ac, + PointsMaterial: HX, + MeshPhysicalMaterial: Y0e, + MeshStandardMaterial: sW, + MeshPhongMaterial: K0e, + MeshToonMaterial: J0e, + MeshNormalMaterial: j0e, + MeshLambertMaterial: $0e, + MeshDepthMaterial: lW, + MeshDistanceMaterial: cW, + MeshBasicMaterial: Um, + MeshMatcapMaterial: ege, + LineDashedMaterial: tge, + LineBasicMaterial: Wf, + Material: ap, + ...pmn, + }[e], + r; + if (n === void 0) + (Kx( + `MaterialLoader: Unknown material type "${e}". Use .registerMaterial() before starting the deserialization process.`, + ), + (r = new ap())); + else r = new n(); + return r; + } + static registerMaterial(e, t) { + pmn[e] = t; + } + }; + eO = class eO extends Jr { + constructor() { + super(); + ((this.isInstancedBufferGeometry = !0), + (this.type = "InstancedBufferGeometry"), + (this.instanceCount = 1 / 0)); + } + copy(e) { + return (super.copy(e), (this.instanceCount = e.instanceCount), this); + } + toJSON() { + let e = super.toJSON(); + return ( + (e.instanceCount = this.instanceCount), + (e.isInstancedBufferGeometry = !0), + e + ); + } + }; + fge = class fge extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = this, + a = new i1(o.manager); + (a.setPath(o.path), + a.setRequestHeader(o.requestHeader), + a.setWithCredentials(o.withCredentials), + a.load( + e, + function (i) { + try { + t(o.parse(JSON.parse(i))); + } catch (s) { + if (r) r(s); + else wr(s); + o.manager.itemError(e); + } + }, + n, + r, + )); + } + parse(e) { + let t = {}, + n = {}; + function r(p, f) { + if (t[f] !== void 0) return t[f]; + let g = p.interleavedBuffers[f], + v = o(p, g.buffer), + y = PB(g.type, v), + x = new QB(y, g.stride); + if (((x.uuid = g.uuid), g.usage !== void 0)) x.setUsage(g.usage); + return ((t[f] = x), x); + } + function o(p, f) { + if (n[f] !== void 0) return n[f]; + let g = p.arrayBuffers[f], + v = new Uint32Array(g).buffer; + return ((n[f] = v), v); + } + let a = e.isInstancedBufferGeometry ? new eO() : new Jr(), + i = e.data.index; + if (i !== void 0) { + let p = PB(i.type, i.array); + a.setIndex(new si(p, 1)); + } + let s = e.data.attributes; + for (let p in s) { + let f = s[p], + m; + if (f.isInterleavedBufferAttribute) { + let g = r(e.data, f.data); + m = new c5(g, f.itemSize, f.offset, f.normalized); + } else { + let g = PB(f.type, f.array); + m = new (f.isInstancedBufferAttribute ? Jx : si)( + g, + f.itemSize, + f.normalized, + ); + } + if (f.name !== void 0) m.name = f.name; + if (f.usage !== void 0) m.setUsage(f.usage); + if (f.gpuType !== void 0) m.gpuType = f.gpuType; + a.setAttribute(p, m); + } + let l = e.data.morphAttributes; + if (l) + for (let p in l) { + let f = l[p], + m = []; + for (let g = 0, v = f.length; g < v; g++) { + let y = f[g], + x; + if (y.isInterleavedBufferAttribute) { + let A = r(e.data, y.data); + x = new c5(A, y.itemSize, y.offset, y.normalized); + } else { + let A = PB(y.type, y.array); + x = new si(A, y.itemSize, y.normalized); + } + if (y.name !== void 0) x.name = y.name; + if (y.usage !== void 0) x.setUsage(y.usage); + if (y.gpuType !== void 0) x.gpuType = y.gpuType; + m.push(x); + } + a.morphAttributes[p] = m; + } + if (e.data.morphTargetsRelative) a.morphTargetsRelative = !0; + let u = e.data.groups || e.data.drawcalls || e.data.offsets; + if (u !== void 0) + for (let p = 0, f = u.length; p !== f; ++p) { + let m = u[p]; + a.addGroup(m.start, m.count, m.materialIndex); + } + let d = e.data.boundingSphere; + if (d !== void 0) a.boundingSphere = new op().fromJSON(d); + if (e.name) a.name = e.name; + if (e.userData) a.userData = e.userData; + return a; + } + }; + u_e = {}; + UHe = class UHe extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = this, + a = this.path === "" ? gX.extractUrlBase(e) : this.path; + this.resourcePath = this.resourcePath || a; + let i = new i1(this.manager); + (i.setPath(this.path), + i.setRequestHeader(this.requestHeader), + i.setWithCredentials(this.withCredentials), + i.load( + e, + function (s) { + let l = null; + try { + l = JSON.parse(s); + } catch (u) { + if (r !== void 0) r(u); + wr("ObjectLoader: Can't parse " + e + ".", u.message); + return; + } + let c = l.metadata; + if ( + c === void 0 || + c.type === void 0 || + c.type.toLowerCase() === "geometry" + ) { + if (r !== void 0) r(Error("THREE.ObjectLoader: Can't load " + e)); + wr("ObjectLoader: Can't load " + e); + return; + } + o.parse(l, t); + }, + n, + r, + )); + } + async loadAsync(e, t) { + let n = this, + r = this.path === "" ? gX.extractUrlBase(e) : this.path; + this.resourcePath = this.resourcePath || r; + let o = new i1(this.manager); + (o.setPath(this.path), + o.setRequestHeader(this.requestHeader), + o.setWithCredentials(this.withCredentials)); + let a = await o.loadAsync(e, t), + i; + try { + i = JSON.parse(a); + } catch (l) { + throw Error("THREE.ObjectLoader: Can't parse " + e + ". " + l.message); + } + let s = i.metadata; + if ( + s === void 0 || + s.type === void 0 || + s.type.toLowerCase() === "geometry" + ) + throw Error("THREE.ObjectLoader: Can't load " + e); + return await n.parseAsync(i); + } + parse(e, t) { + let n = this.parseAnimations(e.animations), + r = this.parseShapes(e.shapes), + o = this.parseGeometries(e.geometries, r), + a = this.parseImages(e.images, function () { + if (t !== void 0) t(l); + }), + i = this.parseTextures(e.textures, a), + s = this.parseMaterials(e.materials, i), + l = this.parseObject(e.object, o, s, i, n), + c = this.parseSkeletons(e.skeletons, l); + if ((this.bindSkeletons(l, c), this.bindLightTargets(l), t !== void 0)) { + let u = !1; + for (let d in a) + if (a[d].data instanceof HTMLImageElement) { + u = !0; + break; + } + if (u === !1) t(l); + } + return l; + } + async parseAsync(e) { + let t = this.parseAnimations(e.animations), + n = this.parseShapes(e.shapes), + r = this.parseGeometries(e.geometries, n), + o = await this.parseImagesAsync(e.images), + a = this.parseTextures(e.textures, o), + i = this.parseMaterials(e.materials, a), + s = this.parseObject(e.object, r, i, a, t), + l = this.parseSkeletons(e.skeletons, s); + return (this.bindSkeletons(s, l), this.bindLightTargets(s), s); + } + static registerGeometry(e, t) { + u_e[e] = t; + } + parseShapes(e) { + let t = {}; + if (e !== void 0) + for (let n = 0, r = e.length; n < r; n++) { + let o = new D7().fromJSON(e[n]); + t[o.uuid] = o; + } + return t; + } + parseSkeletons(e, t) { + let n = {}, + r = {}; + if ( + (t.traverse(function (o) { + if (o.isBone) r[o.uuid] = o; + }), + e !== void 0) + ) + for (let o = 0, a = e.length; o < a; o++) { + let i = new zX().fromJSON(e[o], r); + n[i.uuid] = i; + } + return n; + } + parseGeometries(e, t) { + let n = {}; + if (e !== void 0) { + let r = new fge(); + for (let o = 0, a = e.length; o < a; o++) { + let i, + s = e[o]; + switch (s.type) { + case "BufferGeometry": + case "InstancedBufferGeometry": + i = r.parse(s); + break; + default: + if (s.type in omn) i = omn[s.type].fromJSON(s, t); + else if (s.type in u_e) i = u_e[s.type].fromJSON(s, t); + else + zn( + `ObjectLoader: Unknown geometry type "${s.type}". Use .registerGeometry() before starting the deserialization process.`, + ); + } + if (((i.uuid = s.uuid), s.name !== void 0)) i.name = s.name; + if (s.userData !== void 0) i.userData = s.userData; + n[s.uuid] = i; + } + } + return n; + } + parseMaterials(e, t) { + let n = {}, + r = {}; + if (e !== void 0) { + let o = new hW(); + o.setTextures(t); + for (let a = 0, i = e.length; a < i; a++) { + let s = e[a]; + if (n[s.uuid] === void 0) n[s.uuid] = o.parse(s); + r[s.uuid] = n[s.uuid]; + } + } + return r; + } + parseAnimations(e) { + let t = {}; + if (e !== void 0) + for (let n = 0; n < e.length; n++) { + let r = e[n], + o = S7.parse(r); + t[o.uuid] = o; + } + return t; + } + parseImages(e, t) { + let n = this, + r = {}, + o; + function a(s) { + return ( + (s = n.manager.resolveURL(s)), + n.manager.itemStart(s), + o.load( + s, + function () { + n.manager.itemEnd(s); + }, + void 0, + function () { + (n.manager.itemError(s), n.manager.itemEnd(s)); + }, + ) + ); + } + function i(s) { + if (typeof s === "string") { + let l = s, + c = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(l) ? l : n.resourcePath + l; + return a(c); + } else if (s.data) + return { data: PB(s.type, s.data), width: s.width, height: s.height }; + else return null; + } + if (e !== void 0 && e.length > 0) { + let s = new fW(t); + ((o = new C7(s)), o.setCrossOrigin(this.crossOrigin)); + for (let l = 0, c = e.length; l < c; l++) { + let u = e[l], + d = u.url; + if (Array.isArray(d)) { + let p = []; + for (let f = 0, m = d.length; f < m; f++) { + let g = d[f], + v = i(g); + if (v !== null) + if (v instanceof HTMLImageElement) p.push(v); + else p.push(new jl(v.data, v.width, v.height)); + } + r[u.uuid] = new Tv(p); + } else { + let p = i(u.url); + r[u.uuid] = new Tv(p); + } + } + } + return r; + } + async parseImagesAsync(e) { + let t = this, + n = {}, + r; + async function o(a) { + if (typeof a === "string") { + let i = a, + s = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(i) ? i : t.resourcePath + i; + return await r.loadAsync(s); + } else if (a.data) + return { data: PB(a.type, a.data), width: a.width, height: a.height }; + else return null; + } + if (e !== void 0 && e.length > 0) { + ((r = new C7(this.manager)), r.setCrossOrigin(this.crossOrigin)); + for (let a = 0, i = e.length; a < i; a++) { + let s = e[a], + l = s.url; + if (Array.isArray(l)) { + let c = []; + for (let u = 0, d = l.length; u < d; u++) { + let p = l[u], + f = await o(p); + if (f !== null) + if (f instanceof HTMLImageElement) c.push(f); + else c.push(new jl(f.data, f.width, f.height)); + } + n[s.uuid] = new Tv(c); + } else { + let c = await o(s.url); + n[s.uuid] = new Tv(c); + } + } + } + return n; + } + parseTextures(e, t) { + function n(o, a) { + if (typeof o === "number") return o; + return ( + zn( + "ObjectLoader.parseTexture: Constant should be in numeric form.", + o, + ), + a[o] + ); + } + let r = {}; + if (e !== void 0) + for (let o = 0, a = e.length; o < a; o++) { + let i = e[o]; + if (i.image === void 0) + zn('ObjectLoader: No "image" specified for', i.uuid); + if (t[i.image] === void 0) + zn("ObjectLoader: Undefined image", i.image); + let s = t[i.image], + l = s.data, + c; + if (Array.isArray(l)) { + if (((c = new M7()), l.length === 6)) c.needsUpdate = !0; + } else { + if (l && l.data) c = new jl(); + else c = new El(); + if (l) c.needsUpdate = !0; + } + if (((c.source = s), (c.uuid = i.uuid), i.name !== void 0)) + c.name = i.name; + if (i.mapping !== void 0) c.mapping = n(i.mapping, f9r); + if (i.channel !== void 0) c.channel = i.channel; + if (i.offset !== void 0) c.offset.fromArray(i.offset); + if (i.repeat !== void 0) c.repeat.fromArray(i.repeat); + if (i.center !== void 0) c.center.fromArray(i.center); + if (i.rotation !== void 0) c.rotation = i.rotation; + if (i.wrap !== void 0) + ((c.wrapS = n(i.wrap[0], fmn)), (c.wrapT = n(i.wrap[1], fmn))); + if (i.format !== void 0) c.format = i.format; + if (i.internalFormat !== void 0) c.internalFormat = i.internalFormat; + if (i.type !== void 0) c.type = i.type; + if (i.colorSpace !== void 0) c.colorSpace = i.colorSpace; + if (i.minFilter !== void 0) c.minFilter = n(i.minFilter, mmn); + if (i.magFilter !== void 0) c.magFilter = n(i.magFilter, mmn); + if (i.anisotropy !== void 0) c.anisotropy = i.anisotropy; + if (i.flipY !== void 0) c.flipY = i.flipY; + if (i.generateMipmaps !== void 0) + c.generateMipmaps = i.generateMipmaps; + if (i.premultiplyAlpha !== void 0) + c.premultiplyAlpha = i.premultiplyAlpha; + if (i.unpackAlignment !== void 0) + c.unpackAlignment = i.unpackAlignment; + if (i.compareFunction !== void 0) + c.compareFunction = i.compareFunction; + if (i.normalized !== void 0) c.normalized = i.normalized; + if (i.userData !== void 0) c.userData = i.userData; + r[i.uuid] = c; + } + return r; + } + parseObject(e, t, n, r, o) { + let a; + function i(d) { + if (t[d] === void 0) zn("ObjectLoader: Undefined geometry", d); + return t[d]; + } + function s(d) { + if (d === void 0) return; + if (Array.isArray(d)) { + let p = []; + for (let f = 0, m = d.length; f < m; f++) { + let g = d[f]; + if (n[g] === void 0) zn("ObjectLoader: Undefined material", g); + p.push(n[g]); + } + return p; + } + if (n[d] === void 0) zn("ObjectLoader: Undefined material", d); + return n[d]; + } + function l(d) { + if (r[d] === void 0) zn("ObjectLoader: Undefined texture", d); + return r[d]; + } + let c, u; + switch (e.type) { + case "Scene": + if (((a = new y5()), e.background !== void 0)) + if (Number.isInteger(e.background)) + a.background = new _n(e.background); + else a.background = l(e.background); + if (e.environment !== void 0) a.environment = l(e.environment); + if (e.fog !== void 0) { + if (e.fog.type === "Fog") + a.fog = new DX(e.fog.color, e.fog.near, e.fog.far); + else if (e.fog.type === "FogExp2") + a.fog = new MX(e.fog.color, e.fog.density); + if (e.fog.name !== "") a.fog.name = e.fog.name; + } + if (e.backgroundBlurriness !== void 0) + a.backgroundBlurriness = e.backgroundBlurriness; + if (e.backgroundIntensity !== void 0) + a.backgroundIntensity = e.backgroundIntensity; + if (e.backgroundRotation !== void 0) + a.backgroundRotation.fromArray(e.backgroundRotation); + if (e.environmentIntensity !== void 0) + a.environmentIntensity = e.environmentIntensity; + if (e.environmentRotation !== void 0) + a.environmentRotation.fromArray(e.environmentRotation); + break; + case "PerspectiveCamera": + if ( + ((a = new Kl(e.fov, e.aspect, e.near, e.far)), e.focus !== void 0) + ) + a.focus = e.focus; + if (e.zoom !== void 0) a.zoom = e.zoom; + if (e.filmGauge !== void 0) a.filmGauge = e.filmGauge; + if (e.filmOffset !== void 0) a.filmOffset = e.filmOffset; + if (e.view !== void 0) a.view = Object.assign({}, e.view); + break; + case "OrthographicCamera": + if ( + ((a = new qy(e.left, e.right, e.top, e.bottom, e.near, e.far)), + e.zoom !== void 0) + ) + a.zoom = e.zoom; + if (e.view !== void 0) a.view = Object.assign({}, e.view); + break; + case "AmbientLight": + a = new uge(e.color, e.intensity); + break; + case "DirectionalLight": + ((a = new cge(e.color, e.intensity)), (a.target = e.target || "")); + break; + case "PointLight": + a = new lge(e.color, e.intensity, e.distance, e.decay); + break; + case "RectAreaLight": + a = new dge(e.color, e.intensity, e.width, e.height); + break; + case "SpotLight": + ((a = new sge( + e.color, + e.intensity, + e.distance, + e.angle, + e.penumbra, + e.decay, + )), + (a.target = e.target || "")); + break; + case "HemisphereLight": + a = new ige(e.color, e.groundColor, e.intensity); + break; + case "LightProbe": + let d = new mW().fromArray(e.sh); + a = new pge(d, e.intensity); + break; + case "SkinnedMesh": + if ( + ((c = i(e.geometry)), + (u = s(e.material)), + (a = new B0e(c, u)), + e.bindMode !== void 0) + ) + a.bindMode = e.bindMode; + if (e.bindMatrix !== void 0) a.bindMatrix.fromArray(e.bindMatrix); + if (e.skeleton !== void 0) a.skeleton = e.skeleton; + break; + case "Mesh": + ((c = i(e.geometry)), (u = s(e.material)), (a = new Na(c, u))); + break; + case "InstancedMesh": + ((c = i(e.geometry)), (u = s(e.material))); + let { count: p, instanceMatrix: f, instanceColor: m } = e; + if ( + ((a = new O0e(c, u, p)), + (a.instanceMatrix = new Jx(new Float32Array(f.array), 16)), + m !== void 0) + ) + a.instanceColor = new Jx(new Float32Array(m.array), m.itemSize); + break; + case "BatchedMesh": + if ( + ((c = i(e.geometry)), + (u = s(e.material)), + (a = new F0e( + e.maxInstanceCount, + e.maxVertexCount, + e.maxIndexCount, + u, + )), + (a.geometry = c), + (a.perObjectFrustumCulled = e.perObjectFrustumCulled), + (a.sortObjects = e.sortObjects), + (a._drawRanges = e.drawRanges), + (a._reservedRanges = e.reservedRanges), + (a._geometryInfo = e.geometryInfo.map((g) => { + let v = null, + y = null; + if (g.boundingBox !== void 0) + v = new Il().fromJSON(g.boundingBox); + if (g.boundingSphere !== void 0) + y = new op().fromJSON(g.boundingSphere); + return { ...g, boundingBox: v, boundingSphere: y }; + })), + (a._instanceInfo = e.instanceInfo), + (a._availableInstanceIds = e._availableInstanceIds), + (a._availableGeometryIds = e._availableGeometryIds), + (a._nextIndexStart = e.nextIndexStart), + (a._nextVertexStart = e.nextVertexStart), + (a._geometryCount = e.geometryCount), + (a._maxInstanceCount = e.maxInstanceCount), + (a._maxVertexCount = e.maxVertexCount), + (a._maxIndexCount = e.maxIndexCount), + (a._geometryInitialized = e.geometryInitialized), + (a._matricesTexture = l(e.matricesTexture.uuid)), + (a._indirectTexture = l(e.indirectTexture.uuid)), + e.colorsTexture !== void 0) + ) + a._colorsTexture = l(e.colorsTexture.uuid); + if (e.boundingSphere !== void 0) + a.boundingSphere = new op().fromJSON(e.boundingSphere); + if (e.boundingBox !== void 0) + a.boundingBox = new Il().fromJSON(e.boundingBox); + break; + case "LOD": + a = new L0e(); + break; + case "Line": + a = new jx(i(e.geometry), s(e.material)); + break; + case "LineLoop": + a = new U0e(i(e.geometry), s(e.material)); + break; + case "LineSegments": + a = new Gy(i(e.geometry), s(e.material)); + break; + case "PointCloud": + case "Points": + a = new N0e(i(e.geometry), s(e.material)); + break; + case "Sprite": + a = new D0e(s(e.material)); + break; + case "Group": + a = new Qw(); + break; + case "Bone": + a = new NX(); + break; + default: + a = new Go(); + } + if (((a.uuid = e.uuid), e.name !== void 0)) a.name = e.name; + if (e.matrix !== void 0) { + if ((a.matrix.fromArray(e.matrix), e.matrixAutoUpdate !== void 0)) + a.matrixAutoUpdate = e.matrixAutoUpdate; + if (a.matrixAutoUpdate) + a.matrix.decompose(a.position, a.quaternion, a.scale); + } else { + if (e.position !== void 0) a.position.fromArray(e.position); + if (e.rotation !== void 0) a.rotation.fromArray(e.rotation); + if (e.quaternion !== void 0) a.quaternion.fromArray(e.quaternion); + if (e.scale !== void 0) a.scale.fromArray(e.scale); + } + if (e.up !== void 0) a.up.fromArray(e.up); + if (e.pivot !== void 0) a.pivot = new he().fromArray(e.pivot); + if (e.morphTargetDictionary !== void 0) + a.morphTargetDictionary = Object.assign({}, e.morphTargetDictionary); + if (e.morphTargetInfluences !== void 0) + a.morphTargetInfluences = e.morphTargetInfluences.slice(); + if (e.castShadow !== void 0) a.castShadow = e.castShadow; + if (e.receiveShadow !== void 0) a.receiveShadow = e.receiveShadow; + if (e.shadow) { + if (e.shadow.intensity !== void 0) + a.shadow.intensity = e.shadow.intensity; + if (e.shadow.bias !== void 0) a.shadow.bias = e.shadow.bias; + if (e.shadow.normalBias !== void 0) + a.shadow.normalBias = e.shadow.normalBias; + if (e.shadow.radius !== void 0) a.shadow.radius = e.shadow.radius; + if (e.shadow.blurSamples !== void 0) + a.shadow.blurSamples = e.shadow.blurSamples; + if (e.shadow.focus !== void 0) a.shadow.focus = e.shadow.focus; + if (e.shadow.aspect !== void 0) a.shadow.aspect = e.shadow.aspect; + if (e.shadow.mapSize !== void 0) + a.shadow.mapSize.fromArray(e.shadow.mapSize); + if (e.shadow.camera !== void 0) + a.shadow.camera = this.parseObject(e.shadow.camera); + } + if (e.visible !== void 0) a.visible = e.visible; + if (e.frustumCulled !== void 0) a.frustumCulled = e.frustumCulled; + if (e.renderOrder !== void 0) a.renderOrder = e.renderOrder; + if (e.static !== void 0) a.static = e.static; + if (e.userData !== void 0) a.userData = e.userData; + if (e.layers !== void 0) a.layers.mask = e.layers; + if (e.children !== void 0) { + let d = e.children; + for (let p = 0; p < d.length; p++) + a.add(this.parseObject(d[p], t, n, r, o)); + } + if (e.animations !== void 0) { + let d = e.animations; + for (let p = 0; p < d.length; p++) { + let f = d[p]; + a.animations.push(o[f]); + } + } + if (e.type === "LOD") { + if (e.autoUpdate !== void 0) a.autoUpdate = e.autoUpdate; + let d = e.levels; + for (let p = 0; p < d.length; p++) { + let f = d[p], + m = a.getObjectByProperty("uuid", f.object); + if (m !== void 0) a.addLevel(m, f.distance, f.hysteresis); + } + } + return a; + } + bindSkeletons(e, t) { + if (Object.keys(t).length === 0) return; + e.traverse(function (n) { + if (n.isSkinnedMesh === !0 && n.skeleton !== void 0) { + let r = t[n.skeleton]; + if (r === void 0) + zn("ObjectLoader: No skeleton found with UUID:", n.skeleton); + else n.bind(r, n.bindMatrix); + } + }); + } + bindLightTargets(e) { + e.traverse(function (t) { + if (t.isDirectionalLight || t.isSpotLight) { + let n = t.target, + r = e.getObjectByProperty("uuid", n); + if (r !== void 0) t.target = r; + else t.target = new Go(); + } + }); + } + }; + ((f9r = { + UVMapping: 300, + CubeReflectionMapping: 301, + CubeRefractionMapping: 302, + EquirectangularReflectionMapping: 303, + EquirectangularRefractionMapping: 304, + CubeUVReflectionMapping: 306, + }), + (fmn = { + RepeatWrapping: 1000, + ClampToEdgeWrapping: 1001, + MirroredRepeatWrapping: 1002, + }), + (mmn = { + NearestFilter: 1003, + NearestMipmapNearestFilter: 1004, + NearestMipmapLinearFilter: 1005, + LinearFilter: 1006, + LinearMipmapNearestFilter: 1007, + LinearMipmapLinearFilter: 1008, + }), + (d_e = new WeakMap())); + NHe = class NHe extends tf { + constructor(e) { + super(e); + if (((this.isImageBitmapLoader = !0), typeof createImageBitmap > "u")) + zn("ImageBitmapLoader: createImageBitmap() not supported."); + if (typeof fetch > "u") zn("ImageBitmapLoader: fetch() not supported."); + ((this.options = { premultiplyAlpha: "none" }), + (this._abortController = new AbortController())); + } + setOptions(e) { + return ((this.options = e), this); + } + load(e, t, n, r) { + if (e === void 0) e = ""; + if (this.path !== void 0) e = this.path + e; + e = this.manager.resolveURL(e); + let o = this, + a = kv.get(`image-bitmap:${e}`); + if (a !== void 0) { + if ((o.manager.itemStart(e), a.then)) { + a.then((l) => { + if (d_e.has(a) === !0) { + if (r) r(d_e.get(a)); + (o.manager.itemError(e), o.manager.itemEnd(e)); + } else { + if (t) t(l); + o.manager.itemEnd(e); + } + }); + return; + } + setTimeout(function () { + if (t) t(a); + o.manager.itemEnd(e); + }, 0); + return; + } + let i = {}; + ((i.credentials = + this.crossOrigin === "anonymous" ? "same-origin" : "include"), + (i.headers = this.requestHeader), + (i.signal = + typeof AbortSignal.any === "function" + ? AbortSignal.any([ + this._abortController.signal, + this.manager.abortController.signal, + ]) + : this._abortController.signal)); + let s = fetch(e, i) + .then(function (l) { + return l.blob(); + }) + .then(function (l) { + return createImageBitmap( + l, + Object.assign({}, o.options, { colorSpaceConversion: "none" }), + ); + }) + .then(function (l) { + if ((kv.add(`image-bitmap:${e}`, l), t)) t(l); + return (o.manager.itemEnd(e), l); + }) + .catch(function (l) { + if (r) r(l); + (d_e.set(s, l), + kv.remove(`image-bitmap:${e}`), + o.manager.itemError(e), + o.manager.itemEnd(e)); + }); + (kv.add(`image-bitmap:${e}`, s), o.manager.itemStart(e)); + } + abort() { + return ( + this._abortController.abort(), + (this._abortController = new AbortController()), + this + ); + } + }; + zHe = class zHe extends tf { + constructor(e) { + super(e); + } + load(e, t, n, r) { + let o = this, + a = new i1(this.manager); + (a.setResponseType("arraybuffer"), + a.setPath(this.path), + a.setRequestHeader(this.requestHeader), + a.setWithCredentials(this.withCredentials), + a.load( + e, + function (s) { + try { + let l = s.slice(0), + c = gW.getContext(), + u = e + "#decode"; + (o.manager.itemStart(u), + c + .decodeAudioData(l, function (d) { + (t(d), o.manager.itemEnd(u)); + }) + .catch(function (d) { + (i(d), o.manager.itemEnd(u)); + })); + } catch (l) { + i(l); + } + }, + n, + r, + )); + function i(s) { + if (r) r(s); + else wr(s); + o.manager.itemError(e); + } + } + }; + ((hmn = new Vn()), (gmn = new Vn()), (f7 = new Vn())); + mge = class mge extends Go { + constructor(e, t, n) { + super(); + ((this.type = "CubeCamera"), + (this.renderTarget = n), + (this.coordinateSystem = null), + (this.activeMipmapLevel = 0)); + let r = new Kl(IB, TB, e, t); + ((r.layers = this.layers), this.add(r)); + let o = new Kl(IB, TB, e, t); + ((o.layers = this.layers), this.add(o)); + let a = new Kl(IB, TB, e, t); + ((a.layers = this.layers), this.add(a)); + let i = new Kl(IB, TB, e, t); + ((i.layers = this.layers), this.add(i)); + let s = new Kl(IB, TB, e, t); + ((s.layers = this.layers), this.add(s)); + let l = new Kl(IB, TB, e, t); + ((l.layers = this.layers), this.add(l)); + } + updateCoordinateSystem() { + let e = this.coordinateSystem, + t = this.children.concat(), + [n, r, o, a, i, s] = t; + for (let l of t) this.remove(l); + if (e === 2000) + (n.up.set(0, 1, 0), + n.lookAt(1, 0, 0), + r.up.set(0, 1, 0), + r.lookAt(-1, 0, 0), + o.up.set(0, 0, -1), + o.lookAt(0, 1, 0), + a.up.set(0, 0, 1), + a.lookAt(0, -1, 0), + i.up.set(0, 1, 0), + i.lookAt(0, 0, 1), + s.up.set(0, 1, 0), + s.lookAt(0, 0, -1)); + else if (e === 2001) + (n.up.set(0, -1, 0), + n.lookAt(-1, 0, 0), + r.up.set(0, -1, 0), + r.lookAt(1, 0, 0), + o.up.set(0, 0, 1), + o.lookAt(0, 1, 0), + a.up.set(0, 0, -1), + a.lookAt(0, -1, 0), + i.up.set(0, -1, 0), + i.lookAt(0, 0, 1), + s.up.set(0, -1, 0), + s.lookAt(0, 0, -1)); + else + throw Error( + "THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: " + + e, + ); + for (let l of t) (this.add(l), l.updateMatrixWorld()); + } + update(e, t) { + if (this.parent === null) this.updateMatrixWorld(); + let { renderTarget: n, activeMipmapLevel: r } = this; + if (this.coordinateSystem !== e.coordinateSystem) + ((this.coordinateSystem = e.coordinateSystem), + this.updateCoordinateSystem()); + let [o, a, i, s, l, c] = this.children, + u = e.getRenderTarget(), + d = e.getActiveCubeFace(), + p = e.getActiveMipmapLevel(), + f = e.xr.enabled; + e.xr.enabled = !1; + let m = n.texture.generateMipmaps; + n.texture.generateMipmaps = !1; + let g = !1; + if (e.isWebGLRenderer === !0) g = e.state.buffers.depth.getReversed(); + else g = e.reversedDepthBuffer; + if ((e.setRenderTarget(n, 0, r), g && e.autoClear === !1)) e.clearDepth(); + if ((e.render(t, o), e.setRenderTarget(n, 1, r), g && e.autoClear === !1)) + e.clearDepth(); + if ((e.render(t, a), e.setRenderTarget(n, 2, r), g && e.autoClear === !1)) + e.clearDepth(); + if ((e.render(t, i), e.setRenderTarget(n, 3, r), g && e.autoClear === !1)) + e.clearDepth(); + if ((e.render(t, s), e.setRenderTarget(n, 4, r), g && e.autoClear === !1)) + e.clearDepth(); + if ( + (e.render(t, l), + (n.texture.generateMipmaps = m), + e.setRenderTarget(n, 5, r), + g && e.autoClear === !1) + ) + e.clearDepth(); + (e.render(t, c), + e.setRenderTarget(u, d, p), + (e.xr.enabled = f), + (n.texture.needsPMREMUpdate = !0)); + } + }; + hge = class hge extends Kl { + constructor(e = []) { + super(); + ((this.isArrayCamera = !0), + (this.isMultiViewCamera = !1), + (this.cameras = e)); + } + }; + ((m7 = new he()), + (p_e = new Vo()), + (h9r = new he()), + (h7 = new he()), + (g7 = new he())); + HHe = class HHe extends Go { + constructor() { + super(); + ((this.type = "AudioListener"), + (this.context = gW.getContext()), + (this.gain = this.context.createGain()), + this.gain.connect(this.context.destination), + (this.filter = null), + (this.timeDelta = 0), + (this._timer = new gge())); + } + getInput() { + return this.gain; + } + removeFilter() { + if (this.filter !== null) + (this.gain.disconnect(this.filter), + this.filter.disconnect(this.context.destination), + this.gain.connect(this.context.destination), + (this.filter = null)); + return this; + } + getFilter() { + return this.filter; + } + setFilter(e) { + if (this.filter !== null) + (this.gain.disconnect(this.filter), + this.filter.disconnect(this.context.destination)); + else this.gain.disconnect(this.context.destination); + return ( + (this.filter = e), + this.gain.connect(this.filter), + this.filter.connect(this.context.destination), + this + ); + } + getMasterVolume() { + return this.gain.gain.value; + } + setMasterVolume(e) { + return ( + this.gain.gain.setTargetAtTime(e, this.context.currentTime, 0.01), + this + ); + } + updateMatrixWorld(e) { + (super.updateMatrixWorld(e), this._timer.update()); + let t = this.context.listener; + if ( + ((this.timeDelta = this._timer.getDelta()), + this.matrixWorld.decompose(m7, p_e, h9r), + h7.set(0, 0, -1).applyQuaternion(p_e), + g7.set(0, 1, 0).applyQuaternion(p_e), + t.positionX) + ) { + let n = this.context.currentTime + this.timeDelta; + (t.positionX.linearRampToValueAtTime(m7.x, n), + t.positionY.linearRampToValueAtTime(m7.y, n), + t.positionZ.linearRampToValueAtTime(m7.z, n), + t.forwardX.linearRampToValueAtTime(h7.x, n), + t.forwardY.linearRampToValueAtTime(h7.y, n), + t.forwardZ.linearRampToValueAtTime(h7.z, n), + t.upX.linearRampToValueAtTime(g7.x, n), + t.upY.linearRampToValueAtTime(g7.y, n), + t.upZ.linearRampToValueAtTime(g7.z, n)); + } else + (t.setPosition(m7.x, m7.y, m7.z), + t.setOrientation(h7.x, h7.y, h7.z, g7.x, g7.y, g7.z)); + } + }; + yge = class yge extends Go { + constructor(e) { + super(); + ((this.type = "Audio"), + (this.listener = e), + (this.context = e.context), + (this.gain = this.context.createGain()), + this.gain.connect(e.getInput()), + (this.autoplay = !1), + (this.buffer = null), + (this.detune = 0), + (this.loop = !1), + (this.loopStart = 0), + (this.loopEnd = 0), + (this.offset = 0), + (this.duration = void 0), + (this.playbackRate = 1), + (this.isPlaying = !1), + (this.hasPlaybackControl = !0), + (this.source = null), + (this.sourceType = "empty"), + (this._startedAt = 0), + (this._progress = 0), + (this._connected = !1), + (this.filters = [])); + } + getOutput() { + return this.gain; + } + setNodeSource(e) { + return ( + (this.hasPlaybackControl = !1), + (this.sourceType = "audioNode"), + (this.source = e), + this.connect(), + this + ); + } + setMediaElementSource(e) { + return ( + (this.hasPlaybackControl = !1), + (this.sourceType = "mediaNode"), + (this.source = this.context.createMediaElementSource(e)), + this.connect(), + this + ); + } + setMediaStreamSource(e) { + return ( + (this.hasPlaybackControl = !1), + (this.sourceType = "mediaStreamNode"), + (this.source = this.context.createMediaStreamSource(e)), + this.connect(), + this + ); + } + setBuffer(e) { + if (((this.buffer = e), (this.sourceType = "buffer"), this.autoplay)) + this.play(); + return this; + } + play(e = 0) { + if (this.isPlaying === !0) { + zn("Audio: Audio is already playing."); + return; + } + if (this.hasPlaybackControl === !1) { + zn("Audio: this Audio has no playback control."); + return; + } + this._startedAt = this.context.currentTime + e; + let t = this.context.createBufferSource(); + return ( + (t.buffer = this.buffer), + (t.loop = this.loop), + (t.loopStart = this.loopStart), + (t.loopEnd = this.loopEnd), + (t.onended = this.onEnded.bind(this)), + t.start(this._startedAt, this._progress + this.offset, this.duration), + (this.isPlaying = !0), + (this.source = t), + this.setDetune(this.detune), + this.setPlaybackRate(this.playbackRate), + this.connect() + ); + } + pause() { + if (this.hasPlaybackControl === !1) { + zn("Audio: this Audio has no playback control."); + return; + } + if (this.isPlaying === !0) { + if ( + ((this._progress += + Math.max(this.context.currentTime - this._startedAt, 0) * + this.playbackRate), + this.loop === !0) + ) + this._progress = + this._progress % (this.duration || this.buffer.duration); + (this.source.stop(), + (this.source.onended = null), + (this.isPlaying = !1)); + } + return this; + } + stop(e = 0) { + if (this.hasPlaybackControl === !1) { + zn("Audio: this Audio has no playback control."); + return; + } + if (((this._progress = 0), this.source !== null)) + (this.source.stop(this.context.currentTime + e), + (this.source.onended = null)); + return ((this.isPlaying = !1), this); + } + connect() { + if (this.filters.length > 0) { + this.source.connect(this.filters[0]); + for (let e = 1, t = this.filters.length; e < t; e++) + this.filters[e - 1].connect(this.filters[e]); + this.filters[this.filters.length - 1].connect(this.getOutput()); + } else this.source.connect(this.getOutput()); + return ((this._connected = !0), this); + } + disconnect() { + if (this._connected === !1) return; + if (this.filters.length > 0) { + this.source.disconnect(this.filters[0]); + for (let e = 1, t = this.filters.length; e < t; e++) + this.filters[e - 1].disconnect(this.filters[e]); + this.filters[this.filters.length - 1].disconnect(this.getOutput()); + } else this.source.disconnect(this.getOutput()); + return ((this._connected = !1), this); + } + getFilters() { + return this.filters; + } + setFilters(e) { + if (!e) e = []; + if (this._connected === !0) + (this.disconnect(), (this.filters = e.slice()), this.connect()); + else this.filters = e.slice(); + return this; + } + setDetune(e) { + if ( + ((this.detune = e), + this.isPlaying === !0 && this.source.detune !== void 0) + ) + this.source.detune.setTargetAtTime( + this.detune, + this.context.currentTime, + 0.01, + ); + return this; + } + getDetune() { + return this.detune; + } + getFilter() { + return this.getFilters()[0]; + } + setFilter(e) { + return this.setFilters(e ? [e] : []); + } + setPlaybackRate(e) { + if (this.hasPlaybackControl === !1) { + zn("Audio: this Audio has no playback control."); + return; + } + if (((this.playbackRate = e), this.isPlaying === !0)) + this.source.playbackRate.setTargetAtTime( + this.playbackRate, + this.context.currentTime, + 0.01, + ); + return this; + } + getPlaybackRate() { + return this.playbackRate; + } + onEnded() { + ((this.isPlaying = !1), (this._progress = 0)); + } + getLoop() { + if (this.hasPlaybackControl === !1) + return (zn("Audio: this Audio has no playback control."), !1); + return this.loop; + } + setLoop(e) { + if (this.hasPlaybackControl === !1) { + zn("Audio: this Audio has no playback control."); + return; + } + if (((this.loop = e), this.isPlaying === !0)) + this.source.loop = this.loop; + return this; + } + setLoopStart(e) { + return ((this.loopStart = e), this); + } + setLoopEnd(e) { + return ((this.loopEnd = e), this); + } + getVolume() { + return this.gain.gain.value; + } + setVolume(e) { + return ( + this.gain.gain.setTargetAtTime(e, this.context.currentTime, 0.01), + this + ); + } + copy(e, t) { + if ((super.copy(e, t), e.sourceType !== "buffer")) + return (zn("Audio: Audio source type cannot be copied."), this); + return ( + (this.autoplay = e.autoplay), + (this.buffer = e.buffer), + (this.detune = e.detune), + (this.loop = e.loop), + (this.loopStart = e.loopStart), + (this.loopEnd = e.loopEnd), + (this.offset = e.offset), + (this.duration = e.duration), + (this.playbackRate = e.playbackRate), + (this.hasPlaybackControl = e.hasPlaybackControl), + (this.sourceType = e.sourceType), + (this.filters = e.filters.slice()), + this + ); + } + clone(e) { + return new this.constructor(this.listener).copy(this, e); + } + }; + ((y7 = new he()), (ymn = new Vo()), (g9r = new he()), (v7 = new he())); + VHe = class VHe extends yge { + constructor(e) { + super(e); + ((this.panner = this.context.createPanner()), + (this.panner.panningModel = "HRTF"), + this.panner.connect(this.gain)); + } + connect() { + return (super.connect(), this.panner.connect(this.gain), this); + } + disconnect() { + return (super.disconnect(), this.panner.disconnect(this.gain), this); + } + getOutput() { + return this.panner; + } + getRefDistance() { + return this.panner.refDistance; + } + setRefDistance(e) { + return ((this.panner.refDistance = e), this); + } + getRolloffFactor() { + return this.panner.rolloffFactor; + } + setRolloffFactor(e) { + return ((this.panner.rolloffFactor = e), this); + } + getDistanceModel() { + return this.panner.distanceModel; + } + setDistanceModel(e) { + return ((this.panner.distanceModel = e), this); + } + getMaxDistance() { + return this.panner.maxDistance; + } + setMaxDistance(e) { + return ((this.panner.maxDistance = e), this); + } + setDirectionalCone(e, t, n) { + return ( + (this.panner.coneInnerAngle = e), + (this.panner.coneOuterAngle = t), + (this.panner.coneOuterGain = n), + this + ); + } + updateMatrixWorld(e) { + if ( + (super.updateMatrixWorld(e), + this.hasPlaybackControl === !0 && this.isPlaying === !1) + ) + return; + (this.matrixWorld.decompose(y7, ymn, g9r), + v7.set(0, 0, 1).applyQuaternion(ymn)); + let t = this.panner; + if (t.positionX) { + let n = this.context.currentTime + this.listener.timeDelta; + (t.positionX.linearRampToValueAtTime(y7.x, n), + t.positionY.linearRampToValueAtTime(y7.y, n), + t.positionZ.linearRampToValueAtTime(y7.z, n), + t.orientationX.linearRampToValueAtTime(v7.x, n), + t.orientationY.linearRampToValueAtTime(v7.y, n), + t.orientationZ.linearRampToValueAtTime(v7.z, n)); + } else + (t.setPosition(y7.x, y7.y, y7.z), t.setOrientation(v7.x, v7.y, v7.z)); + } + }; + ((y9r = new RegExp("[" + qHe + "]", "g")), + (ZHe = "[^" + qHe + "]"), + (v9r = "[^" + qHe.replace("\\.", "") + "]"), + (b9r = /((?:WC+[\/:])*)/.source.replace("WC", ZHe)), + (x9r = /(WCOD+)?/.source.replace("WCOD", v9r)), + (A9r = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC", ZHe)), + (w9r = /\.(WC+)(?:\[(.+)\])?/.source.replace("WC", ZHe)), + (S9r = new RegExp("^" + b9r + x9r + A9r + w9r + "$")), + (C9r = ["material", "materials", "bones", "map"])); + Ka.Composite = o0n; + Ka.prototype.BindingType = { + Direct: 0, + EntireArray: 1, + ArrayElement: 2, + HasFromToArray: 3, + }; + Ka.prototype.Versioning = { + None: 0, + NeedsUpdate: 1, + MatrixWorldNeedsUpdate: 2, + }; + Ka.prototype.GetterByBindingType = [ + Ka.prototype._getValue_direct, + Ka.prototype._getValue_array, + Ka.prototype._getValue_arrayElement, + Ka.prototype._getValue_toArray, + ]; + Ka.prototype.SetterByBindingTypeAndVersioning = [ + [ + Ka.prototype._setValue_direct, + Ka.prototype._setValue_direct_setNeedsUpdate, + Ka.prototype._setValue_direct_setMatrixWorldNeedsUpdate, + ], + [ + Ka.prototype._setValue_array, + Ka.prototype._setValue_array_setNeedsUpdate, + Ka.prototype._setValue_array_setMatrixWorldNeedsUpdate, + ], + [ + Ka.prototype._setValue_arrayElement, + Ka.prototype._setValue_arrayElement_setNeedsUpdate, + Ka.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate, + ], + [ + Ka.prototype._setValue_fromArray, + Ka.prototype._setValue_fromArray_setNeedsUpdate, + Ka.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate, + ], + ]; + E9r = new Float32Array(1); + XHe = class XHe extends Lh { + constructor(e) { + super(); + if ( + ((this._root = e), + this._initMemoryManager(), + (this._accuIndex = 0), + (this.time = 0), + (this.timeScale = 1), + typeof __THREE_DEVTOOLS__ < "u") + ) + __THREE_DEVTOOLS__.dispatchEvent( + new CustomEvent("observe", { detail: this }), + ); + } + _bindAction(e, t) { + let n = e._localRoot || this._root, + r = e._clip.tracks, + o = r.length, + { _propertyBindings: a, _interpolants: i } = e, + s = n.uuid, + l = this._bindingsByRootAndName, + c = l[s]; + if (c === void 0) ((c = {}), (l[s] = c)); + for (let u = 0; u !== o; ++u) { + let d = r[u], + p = d.name, + f = c[p]; + if (f !== void 0) (++f.referenceCount, (a[u] = f)); + else { + if (((f = a[u]), f !== void 0)) { + if (f._cacheIndex === null) + (++f.referenceCount, this._addInactiveBinding(f, s, p)); + continue; + } + let m = t && t._propertyBindings[u].binding.parsedPath; + ((f = new vge(Ka.create(n, p, m), d.ValueTypeName, d.getValueSize())), + ++f.referenceCount, + this._addInactiveBinding(f, s, p), + (a[u] = f)); + } + i[u].resultBuffer = f.buffer; + } + } + _activateAction(e) { + if (!this._isActiveAction(e)) { + if (e._cacheIndex === null) { + let n = (e._localRoot || this._root).uuid, + r = e._clip.uuid, + o = this._actionsByClip[r]; + (this._bindAction(e, o && o.knownActions[0]), + this._addInactiveAction(e, r, n)); + } + let t = e._propertyBindings; + for (let n = 0, r = t.length; n !== r; ++n) { + let o = t[n]; + if (o.useCount++ === 0) (this._lendBinding(o), o.saveOriginalState()); + } + this._lendAction(e); + } + } + _deactivateAction(e) { + if (this._isActiveAction(e)) { + let t = e._propertyBindings; + for (let n = 0, r = t.length; n !== r; ++n) { + let o = t[n]; + if (--o.useCount === 0) + (o.restoreOriginalState(), this._takeBackBinding(o)); + } + this._takeBackAction(e); + } + } + _initMemoryManager() { + ((this._actions = []), + (this._nActiveActions = 0), + (this._actionsByClip = {}), + (this._bindings = []), + (this._nActiveBindings = 0), + (this._bindingsByRootAndName = {}), + (this._controlInterpolants = []), + (this._nActiveControlInterpolants = 0)); + let e = this; + this.stats = { + actions: { + get total() { + return e._actions.length; + }, + get inUse() { + return e._nActiveActions; + }, + }, + bindings: { + get total() { + return e._bindings.length; + }, + get inUse() { + return e._nActiveBindings; + }, + }, + controlInterpolants: { + get total() { + return e._controlInterpolants.length; + }, + get inUse() { + return e._nActiveControlInterpolants; + }, + }, + }; + } + _isActiveAction(e) { + let t = e._cacheIndex; + return t !== null && t < this._nActiveActions; + } + _addInactiveAction(e, t, n) { + let r = this._actions, + o = this._actionsByClip, + a = o[t]; + if (a === void 0) + ((a = { knownActions: [e], actionByRoot: {} }), + (e._byClipCacheIndex = 0), + (o[t] = a)); + else { + let i = a.knownActions; + ((e._byClipCacheIndex = i.length), i.push(e)); + } + ((e._cacheIndex = r.length), r.push(e), (a.actionByRoot[n] = e)); + } + _removeInactiveAction(e) { + let t = this._actions, + n = t[t.length - 1], + r = e._cacheIndex; + ((n._cacheIndex = r), (t[r] = n), t.pop(), (e._cacheIndex = null)); + let o = e._clip.uuid, + a = this._actionsByClip, + i = a[o], + s = i.knownActions, + l = s[s.length - 1], + c = e._byClipCacheIndex; + ((l._byClipCacheIndex = c), + (s[c] = l), + s.pop(), + (e._byClipCacheIndex = null)); + let u = i.actionByRoot, + d = (e._localRoot || this._root).uuid; + if ((delete u[d], s.length === 0)) delete a[o]; + this._removeInactiveBindingsForAction(e); + } + _removeInactiveBindingsForAction(e) { + let t = e._propertyBindings; + for (let n = 0, r = t.length; n !== r; ++n) { + let o = t[n]; + if (--o.referenceCount === 0) this._removeInactiveBinding(o); + } + } + _lendAction(e) { + let t = this._actions, + n = e._cacheIndex, + r = this._nActiveActions++, + o = t[r]; + ((e._cacheIndex = r), (t[r] = e), (o._cacheIndex = n), (t[n] = o)); + } + _takeBackAction(e) { + let t = this._actions, + n = e._cacheIndex, + r = --this._nActiveActions, + o = t[r]; + ((e._cacheIndex = r), (t[r] = e), (o._cacheIndex = n), (t[n] = o)); + } + _addInactiveBinding(e, t, n) { + let r = this._bindingsByRootAndName, + o = this._bindings, + a = r[t]; + if (a === void 0) ((a = {}), (r[t] = a)); + ((a[n] = e), (e._cacheIndex = o.length), o.push(e)); + } + _removeInactiveBinding(e) { + let t = this._bindings, + n = e.binding, + r = n.rootNode.uuid, + o = n.path, + a = this._bindingsByRootAndName, + i = a[r], + s = t[t.length - 1], + l = e._cacheIndex; + if ( + ((s._cacheIndex = l), + (t[l] = s), + t.pop(), + delete i[o], + Object.keys(i).length === 0) + ) + delete a[r]; + } + _lendBinding(e) { + let t = this._bindings, + n = e._cacheIndex, + r = this._nActiveBindings++, + o = t[r]; + ((e._cacheIndex = r), (t[r] = e), (o._cacheIndex = n), (t[n] = o)); + } + _takeBackBinding(e) { + let t = this._bindings, + n = e._cacheIndex, + r = --this._nActiveBindings, + o = t[r]; + ((e._cacheIndex = r), (t[r] = e), (o._cacheIndex = n), (t[n] = o)); + } + _lendControlInterpolant() { + let e = this._controlInterpolants, + t = this._nActiveControlInterpolants++, + n = e[t]; + if (n === void 0) + ((n = new uW(new Float32Array(2), new Float32Array(2), 1, E9r)), + (n.__cacheIndex = t), + (e[t] = n)); + return n; + } + _takeBackControlInterpolant(e) { + let t = this._controlInterpolants, + n = e.__cacheIndex, + r = --this._nActiveControlInterpolants, + o = t[r]; + ((e.__cacheIndex = r), (t[r] = e), (o.__cacheIndex = n), (t[n] = o)); + } + clipAction(e, t, n) { + let r = t || this._root, + o = r.uuid, + a = typeof e === "string" ? S7.findByName(r, e) : e, + i = a !== null ? a.uuid : e, + s = this._actionsByClip[i], + l = null; + if (n === void 0) + if (a !== null) n = a.blendMode; + else n = 2500; + if (s !== void 0) { + let u = s.actionByRoot[o]; + if (u !== void 0 && u.blendMode === n) return u; + if (((l = s.knownActions[0]), a === null)) a = l._clip; + } + if (a === null) return null; + let c = new bge(this, a, t, n); + return (this._bindAction(c, l), this._addInactiveAction(c, i, o), c); + } + existingAction(e, t) { + let n = t || this._root, + r = n.uuid, + o = typeof e === "string" ? S7.findByName(n, e) : e, + a = o ? o.uuid : e, + i = this._actionsByClip[a]; + if (i !== void 0) return i.actionByRoot[r] || null; + return null; + } + stopAllAction() { + let e = this._actions, + t = this._nActiveActions; + for (let n = t - 1; n >= 0; --n) e[n].stop(); + return this; + } + update(e) { + e *= this.timeScale; + let t = this._actions, + n = this._nActiveActions, + r = (this.time += e), + o = Math.sign(e), + a = (this._accuIndex ^= 1); + for (let l = 0; l !== n; ++l) t[l]._update(r, e, o, a); + let i = this._bindings, + s = this._nActiveBindings; + for (let l = 0; l !== s; ++l) i[l].apply(a); + return this; + } + setTime(e) { + this.time = 0; + for (let t = 0; t < this._actions.length; t++) this._actions[t].time = 0; + return this.update(e); + } + getRoot() { + return this._root; + } + uncacheClip(e) { + let t = this._actions, + n = e.uuid, + r = this._actionsByClip, + o = r[n]; + if (o !== void 0) { + let a = o.knownActions; + for (let i = 0, s = a.length; i !== s; ++i) { + let l = a[i]; + this._deactivateAction(l); + let c = l._cacheIndex, + u = t[t.length - 1]; + ((l._cacheIndex = null), + (l._byClipCacheIndex = null), + (u._cacheIndex = c), + (t[c] = u), + t.pop(), + this._removeInactiveBindingsForAction(l)); + } + delete r[n]; + } + } + uncacheRoot(e) { + let t = e.uuid, + n = this._actionsByClip; + for (let a in n) { + let i = n[a].actionByRoot, + s = i[t]; + if (s !== void 0) + (this._deactivateAction(s), this._removeInactiveAction(s)); + } + let r = this._bindingsByRootAndName, + o = r[t]; + if (o !== void 0) + for (let a in o) { + let i = o[a]; + (i.restoreOriginalState(), this._removeInactiveBinding(i)); + } + } + uncacheAction(e, t) { + let n = this.existingAction(e, t); + if (n !== null) + (this._deactivateAction(n), this._removeInactiveAction(n)); + } + }; + WHe = class WHe extends PX { + constructor(e = 1, t = 1, n = 1, r = {}) { + super(e, t, r); + ((this.isRenderTarget3D = !0), (this.depth = n)); + for (let o = 0; o < this.textures.length; o++) { + let a = new qB(null, e, t, n); + ((a.isRenderTargetTexture = !0), + (a.renderTarget = this), + (this.textures[o] = a)); + } + this._setTextureOptions(r); + } + }; + YHe = class YHe extends Lh { + constructor() { + super(); + ((this.isUniformsGroup = !0), + Object.defineProperty(this, "id", { value: I9r++ }), + (this.name = ""), + (this.usage = 35044), + (this.uniforms = [])); + } + add(e) { + return (this.uniforms.push(e), this); + } + remove(e) { + let t = this.uniforms.indexOf(e); + if (t !== -1) this.uniforms.splice(t, 1); + return this; + } + setName(e) { + return ((this.name = e), this); + } + setUsage(e) { + return ((this.usage = e), this); + } + dispose() { + this.dispatchEvent({ type: "dispose" }); + } + copy(e) { + ((this.name = e.name), (this.usage = e.usage)); + let t = e.uniforms; + this.uniforms.length = 0; + for (let n = 0, r = t.length; n < r; n++) { + let o = Array.isArray(t[n]) ? t[n] : [t[n]]; + for (let a = 0; a < o.length; a++) this.uniforms.push(o[a].clone()); + } + return this; + } + clone() { + return new this.constructor().copy(this); + } + }; + KHe = class KHe extends QB { + constructor(e, t, n = 1) { + super(e, t); + ((this.isInstancedInterleavedBuffer = !0), (this.meshPerAttribute = n)); + } + copy(e) { + return ( + super.copy(e), + (this.meshPerAttribute = e.meshPerAttribute), + this + ); + } + clone(e) { + let t = super.clone(e); + return ((t.meshPerAttribute = this.meshPerAttribute), t); + } + toJSON(e) { + let t = super.toJSON(e); + return ( + (t.isInstancedInterleavedBuffer = !0), + (t.meshPerAttribute = this.meshPerAttribute), + t + ); + } + }; + vmn = new Vn(); + Age = class Age { + static { + Age.prototype.isMatrix2 = !0; + } + constructor(e, t, n, r) { + if (((this.elements = [1, 0, 0, 1]), e !== void 0)) this.set(e, t, n, r); + } + identity() { + return (this.set(1, 0, 0, 1), this); + } + fromArray(e, t = 0) { + for (let n = 0; n < 4; n++) this.elements[n] = e[n + t]; + return this; + } + set(e, t, n, r) { + let o = this.elements; + return ((o[0] = e), (o[2] = t), (o[1] = n), (o[3] = r), this); + } + }; + xmn = new vt(); + ((Amn = new he()), + (Ehe = new he()), + (kB = new he()), + (RB = new he()), + (f_e = new he()), + (T9r = new he()), + (k9r = new he())); + wmn = new he(); + eVe = class eVe extends Go { + constructor(e, t) { + super(); + ((this.light = e), + (this.matrixAutoUpdate = !1), + (this.color = t), + (this.type = "SpotLightHelper")); + let n = new Jr(), + r = [ + 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, -1, 1, + ]; + for (let a = 0, i = 1, s = 32; a < s; a++, i++) { + let l = (a / s) * Math.PI * 2, + c = (i / s) * Math.PI * 2; + r.push(Math.cos(l), Math.sin(l), 1, Math.cos(c), Math.sin(c), 1); + } + n.setAttribute("position", new Jn(r, 3)); + let o = new Wf({ fog: !1, toneMapped: !1 }); + ((this.cone = new Gy(n, o)), this.add(this.cone), this.update()); + } + dispose() { + (super.dispose(), + this.cone.geometry.dispose(), + this.cone.material.dispose()); + } + update() { + if ( + (this.light.updateWorldMatrix(!0, !1), + this.light.target.updateWorldMatrix(!0, !1), + this.parent) + ) + (this.parent.updateWorldMatrix(!0), + this.matrix + .copy(this.parent.matrixWorld) + .invert() + .multiply(this.light.matrixWorld)); + else this.matrix.copy(this.light.matrixWorld); + this.matrixWorldNeedsUpdate = !0; + let e = this.light.distance ? this.light.distance : 1000, + t = e * Math.tan(this.light.angle); + if ( + (this.cone.scale.set(t, t, e), + wmn.setFromMatrixPosition(this.light.target.matrixWorld), + this.cone.lookAt(wmn), + this.color !== void 0) + ) + this.cone.material.color.set(this.color); + else this.cone.material.color.copy(this.light.color); + } + }; + ((s5 = new he()), (Ihe = new Vn()), (m_e = new Vn())); + tVe = class tVe extends Gy { + constructor(e) { + let t = a0n(e), + n = new Jr(), + r = [], + o = []; + for (let l = 0; l < t.length; l++) { + let c = t[l]; + if (c.parent && c.parent.isBone) + (r.push(0, 0, 0), r.push(0, 0, 0), o.push(0, 0, 0), o.push(0, 0, 0)); + } + (n.setAttribute("position", new Jn(r, 3)), + n.setAttribute("color", new Jn(o, 3))); + let a = new Wf({ + vertexColors: !0, + depthTest: !1, + depthWrite: !1, + toneMapped: !1, + transparent: !0, + }); + super(n, a); + ((this.isSkeletonHelper = !0), + (this.type = "SkeletonHelper"), + (this.root = e), + (this.bones = t), + (this.matrix = e.matrixWorld), + (this.matrixAutoUpdate = !1)); + let i = new _n(255), + s = new _n(65280); + this.setColors(i, s); + } + updateMatrixWorld(e) { + let t = this.bones, + n = this.geometry, + r = n.getAttribute("position"); + m_e.copy(this.root.matrixWorld).invert(); + for (let o = 0, a = 0; o < t.length; o++) { + let i = t[o]; + if (i.parent && i.parent.isBone) + (Ihe.multiplyMatrices(m_e, i.matrixWorld), + s5.setFromMatrixPosition(Ihe), + r.setXYZ(a, s5.x, s5.y, s5.z), + Ihe.multiplyMatrices(m_e, i.parent.matrixWorld), + s5.setFromMatrixPosition(Ihe), + r.setXYZ(a + 1, s5.x, s5.y, s5.z), + (a += 2)); + } + ((n.getAttribute("position").needsUpdate = !0), + super.updateMatrixWorld(e)); + } + setColors(e, t) { + let r = this.geometry.getAttribute("color"); + for (let o = 0; o < r.count; o += 2) + (r.setXYZ(o, e.r, e.g, e.b), r.setXYZ(o + 1, t.r, t.g, t.b)); + return ((r.needsUpdate = !0), this); + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + }; + nVe = class nVe extends Na { + constructor(e, t, n) { + let r = new rS(t, 4, 2), + o = new Um({ wireframe: !0, fog: !1, toneMapped: !1 }); + super(r, o); + ((this.light = e), + (this.color = n), + (this.type = "PointLightHelper"), + (this.matrix = this.light.matrixWorld), + (this.matrixAutoUpdate = !1), + this.update()); + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + update() { + if ( + ((this.matrixWorldNeedsUpdate = !0), + this.light.updateWorldMatrix(!0, !1), + this.color !== void 0) + ) + this.material.color.set(this.color); + else this.material.color.copy(this.light.color); + } + }; + ((R9r = new he()), (Smn = new _n()), (Cmn = new _n())); + rVe = class rVe extends Go { + constructor(e, t, n) { + super(); + ((this.light = e), + (this.matrix = e.matrixWorld), + (this.matrixAutoUpdate = !1), + (this.color = n), + (this.type = "HemisphereLightHelper")); + let r = new YB(t); + if ( + (r.rotateY(Math.PI * 0.5), + (this.material = new Um({ wireframe: !0, fog: !1, toneMapped: !1 })), + this.color === void 0) + ) + this.material.vertexColors = !0; + let o = r.getAttribute("position"), + a = new Float32Array(o.count * 3); + (r.setAttribute("color", new si(a, 3)), + this.add(new Na(r, this.material)), + this.update()); + } + dispose() { + (super.dispose(), + this.children[0].geometry.dispose(), + this.children[0].material.dispose()); + } + update() { + let e = this.children[0]; + if (this.color !== void 0) this.material.color.set(this.color); + else { + let t = e.geometry.getAttribute("color"); + (Smn.copy(this.light.color), Cmn.copy(this.light.groundColor)); + for (let n = 0, r = t.count; n < r; n++) { + let o = n < r / 2 ? Smn : Cmn; + t.setXYZ(n, o.r, o.g, o.b); + } + t.needsUpdate = !0; + } + ((this.matrixWorldNeedsUpdate = !0), + this.light.updateWorldMatrix(!0, !1), + e.lookAt(R9r.setFromMatrixPosition(this.light.matrixWorld).negate())); + } + }; + oVe = class oVe extends Gy { + constructor(e = 10, t = 10, n = 4473924, r = 8947848) { + ((n = new _n(n)), (r = new _n(r))); + let o = t / 2, + a = e / t, + i = e / 2, + s = [], + l = []; + for (let d = 0, p = 0, f = -i; d <= t; d++, f += a) { + (s.push(-i, 0, f, i, 0, f), s.push(f, 0, -i, f, 0, i)); + let m = d === o ? n : r; + (m.toArray(l, p), + (p += 3), + m.toArray(l, p), + (p += 3), + m.toArray(l, p), + (p += 3), + m.toArray(l, p), + (p += 3)); + } + let c = new Jr(); + (c.setAttribute("position", new Jn(s, 3)), + c.setAttribute("color", new Jn(l, 3))); + let u = new Wf({ vertexColors: !0, toneMapped: !1 }); + super(c, u); + this.type = "GridHelper"; + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + }; + aVe = class aVe extends Gy { + constructor(e = 10, t = 16, n = 8, r = 64, o = 4473924, a = 8947848) { + ((o = new _n(o)), (a = new _n(a))); + let i = [], + s = []; + if (t > 1) + for (let u = 0; u < t; u++) { + let d = (u / t) * (Math.PI * 2), + p = Math.sin(d) * e, + f = Math.cos(d) * e; + (i.push(0, 0, 0), i.push(p, 0, f)); + let m = u & 1 ? o : a; + (s.push(m.r, m.g, m.b), s.push(m.r, m.g, m.b)); + } + for (let u = 0; u < n; u++) { + let d = u & 1 ? o : a, + p = e - (e / n) * u; + for (let f = 0; f < r; f++) { + let m = (f / r) * (Math.PI * 2), + g = Math.sin(m) * p, + v = Math.cos(m) * p; + (i.push(g, 0, v), + s.push(d.r, d.g, d.b), + (m = ((f + 1) / r) * (Math.PI * 2)), + (g = Math.sin(m) * p), + (v = Math.cos(m) * p), + i.push(g, 0, v), + s.push(d.r, d.g, d.b)); + } + } + let l = new Jr(); + (l.setAttribute("position", new Jn(i, 3)), + l.setAttribute("color", new Jn(s, 3))); + let c = new Wf({ vertexColors: !0, toneMapped: !1 }); + super(l, c); + this.type = "PolarGridHelper"; + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + }; + ((Emn = new he()), (The = new he()), (Imn = new he())); + iVe = class iVe extends Go { + constructor(e, t, n) { + super(); + if ( + ((this.light = e), + (this.matrix = e.matrixWorld), + (this.matrixAutoUpdate = !1), + (this.color = n), + (this.type = "DirectionalLightHelper"), + t === void 0) + ) + t = 1; + let r = new Jr(); + r.setAttribute( + "position", + new Jn([-t, t, 0, t, t, 0, t, -t, 0, -t, -t, 0, -t, t, 0], 3), + ); + let o = new Wf({ fog: !1, toneMapped: !1 }); + ((this.lightPlane = new jx(r, o)), + this.add(this.lightPlane), + (r = new Jr()), + r.setAttribute("position", new Jn([0, 0, 0, 0, 0, 1], 3)), + (this.targetLine = new jx(r, o)), + this.add(this.targetLine), + this.update()); + } + dispose() { + (super.dispose(), + this.lightPlane.geometry.dispose(), + this.lightPlane.material.dispose(), + this.targetLine.geometry.dispose(), + this.targetLine.material.dispose()); + } + update() { + if ( + ((this.matrixWorldNeedsUpdate = !0), + this.light.updateWorldMatrix(!0, !1), + this.light.target.updateWorldMatrix(!0, !1), + Emn.setFromMatrixPosition(this.light.matrixWorld), + The.setFromMatrixPosition(this.light.target.matrixWorld), + Imn.subVectors(The, Emn), + this.lightPlane.lookAt(The), + this.color !== void 0) + ) + (this.lightPlane.material.color.set(this.color), + this.targetLine.material.color.set(this.color)); + else + (this.lightPlane.material.color.copy(this.light.color), + this.targetLine.material.color.copy(this.light.color)); + (this.targetLine.lookAt(The), (this.targetLine.scale.z = Imn.length())); + } + }; + ((khe = new he()), (xc = new $B())); + sVe = class sVe extends Gy { + constructor(e) { + let t = new Jr(), + n = new Wf({ color: 16777215, vertexColors: !0, toneMapped: !1 }), + r = [], + o = [], + a = {}; + (i("n1", "n2"), + i("n2", "n4"), + i("n4", "n3"), + i("n3", "n1"), + i("f1", "f2"), + i("f2", "f4"), + i("f4", "f3"), + i("f3", "f1"), + i("n1", "f1"), + i("n2", "f2"), + i("n3", "f3"), + i("n4", "f4"), + i("p", "n1"), + i("p", "n2"), + i("p", "n3"), + i("p", "n4"), + i("u1", "u2"), + i("u2", "u3"), + i("u3", "u1"), + i("c", "t"), + i("p", "c"), + i("cn1", "cn2"), + i("cn3", "cn4"), + i("cf1", "cf2"), + i("cf3", "cf4")); + function i(f, m) { + (s(f), s(m)); + } + function s(f) { + if ((r.push(0, 0, 0), o.push(0, 0, 0), a[f] === void 0)) a[f] = []; + a[f].push(r.length / 3 - 1); + } + (t.setAttribute("position", new Jn(r, 3)), + t.setAttribute("color", new Jn(o, 3))); + super(t, n); + if ( + ((this.type = "CameraHelper"), + (this.camera = e), + this.camera.updateProjectionMatrix) + ) + this.camera.updateProjectionMatrix(); + ((this.matrix = e.matrixWorld), + (this.matrixAutoUpdate = !1), + (this.pointMap = a), + this.update()); + let l = new _n(16755200), + c = new _n(16711680), + u = new _n(43775), + d = new _n(16777215), + p = new _n(3355443); + this.setColors(l, c, u, d, p); + } + setColors(e, t, n, r, o) { + let i = this.geometry.getAttribute("color"); + return ( + i.setXYZ(0, e.r, e.g, e.b), + i.setXYZ(1, e.r, e.g, e.b), + i.setXYZ(2, e.r, e.g, e.b), + i.setXYZ(3, e.r, e.g, e.b), + i.setXYZ(4, e.r, e.g, e.b), + i.setXYZ(5, e.r, e.g, e.b), + i.setXYZ(6, e.r, e.g, e.b), + i.setXYZ(7, e.r, e.g, e.b), + i.setXYZ(8, e.r, e.g, e.b), + i.setXYZ(9, e.r, e.g, e.b), + i.setXYZ(10, e.r, e.g, e.b), + i.setXYZ(11, e.r, e.g, e.b), + i.setXYZ(12, e.r, e.g, e.b), + i.setXYZ(13, e.r, e.g, e.b), + i.setXYZ(14, e.r, e.g, e.b), + i.setXYZ(15, e.r, e.g, e.b), + i.setXYZ(16, e.r, e.g, e.b), + i.setXYZ(17, e.r, e.g, e.b), + i.setXYZ(18, e.r, e.g, e.b), + i.setXYZ(19, e.r, e.g, e.b), + i.setXYZ(20, e.r, e.g, e.b), + i.setXYZ(21, e.r, e.g, e.b), + i.setXYZ(22, e.r, e.g, e.b), + i.setXYZ(23, e.r, e.g, e.b), + i.setXYZ(24, t.r, t.g, t.b), + i.setXYZ(25, t.r, t.g, t.b), + i.setXYZ(26, t.r, t.g, t.b), + i.setXYZ(27, t.r, t.g, t.b), + i.setXYZ(28, t.r, t.g, t.b), + i.setXYZ(29, t.r, t.g, t.b), + i.setXYZ(30, t.r, t.g, t.b), + i.setXYZ(31, t.r, t.g, t.b), + i.setXYZ(32, n.r, n.g, n.b), + i.setXYZ(33, n.r, n.g, n.b), + i.setXYZ(34, n.r, n.g, n.b), + i.setXYZ(35, n.r, n.g, n.b), + i.setXYZ(36, n.r, n.g, n.b), + i.setXYZ(37, n.r, n.g, n.b), + i.setXYZ(38, r.r, r.g, r.b), + i.setXYZ(39, r.r, r.g, r.b), + i.setXYZ(40, o.r, o.g, o.b), + i.setXYZ(41, o.r, o.g, o.b), + i.setXYZ(42, o.r, o.g, o.b), + i.setXYZ(43, o.r, o.g, o.b), + i.setXYZ(44, o.r, o.g, o.b), + i.setXYZ(45, o.r, o.g, o.b), + i.setXYZ(46, o.r, o.g, o.b), + i.setXYZ(47, o.r, o.g, o.b), + i.setXYZ(48, o.r, o.g, o.b), + i.setXYZ(49, o.r, o.g, o.b), + (i.needsUpdate = !0), + this + ); + } + update() { + let e = this.geometry, + t = this.pointMap, + n = 1, + r = 1, + o, + a; + if ( + (xc.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse), + this.camera.reversedDepth === !0) + ) + ((o = 1), (a = 0)); + else if (this.camera.coordinateSystem === 2000) ((o = -1), (a = 1)); + else if (this.camera.coordinateSystem === 2001) ((o = 0), (a = 1)); + else + throw Error( + "THREE.CameraHelper.update(): Invalid coordinate system: " + + this.camera.coordinateSystem, + ); + (ud("c", t, e, xc, 0, 0, o), + ud("t", t, e, xc, 0, 0, a), + ud("n1", t, e, xc, -1, -1, o), + ud("n2", t, e, xc, 1, -1, o), + ud("n3", t, e, xc, -1, 1, o), + ud("n4", t, e, xc, 1, 1, o), + ud("f1", t, e, xc, -1, -1, a), + ud("f2", t, e, xc, 1, -1, a), + ud("f3", t, e, xc, -1, 1, a), + ud("f4", t, e, xc, 1, 1, a), + ud("u1", t, e, xc, 0.7, 1.1, o), + ud("u2", t, e, xc, -0.7, 1.1, o), + ud("u3", t, e, xc, 0, 2, o), + ud("cf1", t, e, xc, -1, 0, a), + ud("cf2", t, e, xc, 1, 0, a), + ud("cf3", t, e, xc, 0, -1, a), + ud("cf4", t, e, xc, 0, 1, a), + ud("cn1", t, e, xc, -1, 0, o), + ud("cn2", t, e, xc, 1, 0, o), + ud("cn3", t, e, xc, 0, -1, o), + ud("cn4", t, e, xc, 0, 1, o), + (e.getAttribute("position").needsUpdate = !0)); + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + }; + Rhe = new Il(); + lVe = class lVe extends Gy { + constructor(e, t = 16776960) { + let n = new Uint16Array([ + 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, + 7, + ]), + r = new Float32Array(24), + o = new Jr(); + (o.setIndex(new si(n, 1)), o.setAttribute("position", new si(r, 3))); + super(o, new Wf({ color: t, toneMapped: !1 })); + ((this.object = e), + (this.type = "BoxHelper"), + (this.matrixAutoUpdate = !1), + this.update()); + } + update() { + if (this.object !== void 0) Rhe.setFromObject(this.object); + if (Rhe.isEmpty()) return; + let { min: e, max: t } = Rhe, + n = this.geometry.attributes.position, + r = n.array; + ((r[0] = t.x), + (r[1] = t.y), + (r[2] = t.z), + (r[3] = e.x), + (r[4] = t.y), + (r[5] = t.z), + (r[6] = e.x), + (r[7] = e.y), + (r[8] = t.z), + (r[9] = t.x), + (r[10] = e.y), + (r[11] = t.z), + (r[12] = t.x), + (r[13] = t.y), + (r[14] = e.z), + (r[15] = e.x), + (r[16] = t.y), + (r[17] = e.z), + (r[18] = e.x), + (r[19] = e.y), + (r[20] = e.z), + (r[21] = t.x), + (r[22] = e.y), + (r[23] = e.z), + (n.needsUpdate = !0), + this.geometry.computeBoundingSphere()); + } + setFromObject(e) { + return ((this.object = e), this.update(), this); + } + copy(e, t) { + return (super.copy(e, t), (this.object = e.object), this); + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + }; + cVe = class cVe extends Gy { + constructor(e, t = 16776960) { + let n = new Uint16Array([ + 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, + 7, + ]), + r = [ + 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, + -1, 1, -1, -1, + ], + o = new Jr(); + (o.setIndex(new si(n, 1)), o.setAttribute("position", new Jn(r, 3))); + super(o, new Wf({ color: t, toneMapped: !1 })); + ((this.box = e), + (this.type = "Box3Helper"), + this.geometry.computeBoundingSphere()); + } + updateMatrixWorld(e) { + let t = this.box; + if (t.isEmpty()) return; + (t.getCenter(this.position), + t.getSize(this.scale), + this.scale.multiplyScalar(0.5), + super.updateMatrixWorld(e)); + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + }; + uVe = class uVe extends jx { + constructor(e, t = 1, n = 16776960) { + let r = n, + o = [ + 1, -1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, 1, 0, -1, -1, 0, 1, -1, 0, + 1, 1, 0, + ], + a = new Jr(); + (a.setAttribute("position", new Jn(o, 3)), a.computeBoundingSphere()); + super(a, new Wf({ color: r, toneMapped: !1 })); + ((this.type = "PlaneHelper"), (this.plane = e), (this.size = t)); + let i = [1, 1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0], + s = new Jr(); + (s.setAttribute("position", new Jn(i, 3)), + s.computeBoundingSphere(), + this.add( + new Na( + s, + new Um({ + color: r, + opacity: 0.2, + transparent: !0, + depthWrite: !1, + toneMapped: !1, + }), + ), + )); + } + updateMatrixWorld(e) { + (this.position.set(0, 0, 0), + this.scale.set(0.5 * this.size, 0.5 * this.size, 1), + this.lookAt(this.plane.normal), + this.translateZ(-this.plane.constant), + super.updateMatrixWorld(e)); + } + dispose() { + (super.dispose(), + this.geometry.dispose(), + this.material.dispose(), + this.children[0].geometry.dispose(), + this.children[0].material.dispose()); + } + }; + Tmn = new he(); + dVe = class dVe extends Go { + constructor( + e = new he(0, 0, 1), + t = new he(0, 0, 0), + n = 1, + r = 16776960, + o = n * 0.2, + a = o * 0.2, + ) { + super(); + if (((this.type = "ArrowHelper"), Phe === void 0)) + ((Phe = new Jr()), + Phe.setAttribute("position", new Jn([0, 0, 0, 0, 1, 0], 3)), + (h_e = new v5(0.5, 1, 5, 1)), + h_e.translate(0, -0.5, 0)); + (this.position.copy(t), + (this.line = new jx(Phe, new Wf({ color: r, toneMapped: !1 }))), + (this.line.matrixAutoUpdate = !1), + this.add(this.line), + (this.cone = new Na(h_e, new Um({ color: r, toneMapped: !1 }))), + (this.cone.matrixAutoUpdate = !1), + this.add(this.cone), + this.setDirection(e), + this.setLength(n, o, a)); + } + setDirection(e) { + if (e.y > 0.99999) this.quaternion.set(0, 0, 0, 1); + else if (e.y < -0.99999) this.quaternion.set(1, 0, 0, 0); + else { + Tmn.set(e.z, 0, -e.x).normalize(); + let t = Math.acos(e.y); + this.quaternion.setFromAxisAngle(Tmn, t); + } + } + setLength(e, t = e * 0.2, n = t * 0.2) { + (this.line.scale.set(1, Math.max(0.0001, e - t), 1), + this.line.updateMatrix(), + this.cone.scale.set(n, t, n), + (this.cone.position.y = e), + this.cone.updateMatrix()); + } + setColor(e) { + (this.line.material.color.set(e), this.cone.material.color.set(e)); + } + copy(e) { + return ( + super.copy(e, !1), + this.line.copy(e.line), + this.cone.copy(e.cone), + this + ); + } + dispose() { + (super.dispose(), + this.line.geometry.dispose(), + this.line.material.dispose(), + this.cone.geometry.dispose(), + this.cone.material.dispose()); + } + }; + pVe = class pVe extends Gy { + constructor(e = 1) { + let t = [0, 0, 0, e, 0, 0, 0, 0, 0, 0, e, 0, 0, 0, 0, 0, 0, e], + n = [1, 0, 0, 1, 0.6, 0, 0, 1, 0, 0.6, 1, 0, 0, 0, 1, 0, 0.6, 1], + r = new Jr(); + (r.setAttribute("position", new Jn(t, 3)), + r.setAttribute("color", new Jn(n, 3))); + let o = new Wf({ vertexColors: !0, toneMapped: !1 }); + super(r, o); + this.type = "AxesHelper"; + } + setColors(e, t, n) { + let r = new _n(), + o = this.geometry.attributes.color.array; + return ( + r.set(e), + r.toArray(o, 0), + r.toArray(o, 3), + r.set(t), + r.toArray(o, 6), + r.toArray(o, 9), + r.set(n), + r.toArray(o, 12), + r.toArray(o, 15), + (this.geometry.attributes.color.needsUpdate = !0), + this + ); + } + dispose() { + (super.dispose(), this.geometry.dispose(), this.material.dispose()); + } + }; + bW = class bW extends Lh { + constructor(e, t = null) { + super(); + ((this.object = e), + (this.domElement = t), + (this.enabled = !0), + (this.state = -1), + (this.keys = {}), + (this.mouseButtons = { LEFT: null, MIDDLE: null, RIGHT: null }), + (this.touches = { ONE: null, TWO: null })); + } + connect(e) { + if (this.domElement !== null) this.disconnect(); + this.domElement = e; + } + disconnect() {} + dispose() {} + update() {} + }; + if (typeof __THREE_DEVTOOLS__ < "u") + __THREE_DEVTOOLS__.dispatchEvent( + new CustomEvent("register", { detail: { revision: "186" } }), + ); + if (typeof window < "u") + if (window.__THREE__) + zn("WARNING: Multiple instances of Three.js being imported."); + else window.__THREE__ = "186"; +}); +var CW = {}; +Xs(CW, { + ACESFilmicToneMapping: () => UB, + AddEquation: () => I7, + AddOperation: () => K_e, + AdditiveAnimationBlendMode: () => Ymn, + AdditiveBlending: () => Fhe, + AgXToneMapping: () => qhe, + AlphaFormat: () => oHe, + AlwaysCompare: () => fHe, + AlwaysDepth: () => V_e, + AlwaysStencilFunc: () => Ahn, + AmbientLight: () => uge, + AnimationAction: () => bge, + AnimationClip: () => S7, + AnimationLoader: () => DHe, + AnimationMixer: () => XHe, + AnimationObjectGroup: () => QHe, + AnimationUtils: () => PHe, + ArcCurve: () => V0e, + ArrayCamera: () => hge, + ArrowHelper: () => dVe, + AttachedBindMode: () => Pmn, + Audio: () => yge, + AudioAnalyser: () => GHe, + AudioContext: () => gW, + AudioListener: () => HHe, + AudioLoader: () => zHe, + AxesHelper: () => pVe, + BackSide: () => Rh, + BasicDepthPacking: () => $mn, + BasicShadowMap: () => Ohe, + BatchedMesh: () => F0e, + BezierInterpolant: () => oge, + Bone: () => NX, + BooleanKeyframeTrack: () => oS, + Box2: () => wge, + Box3: () => Il, + Box3Helper: () => cVe, + BoxGeometry: () => rA, + BoxHelper: () => lVe, + BufferAttribute: () => si, + BufferGeometry: () => Jr, + BufferGeometryLoader: () => fge, + ByteType: () => eHe, + Cache: () => kv, + Camera: () => $B, + CameraHelper: () => sVe, + CanvasTexture: () => EHe, + CapsuleGeometry: () => GX, + CatmullRomCurve3: () => G0e, + CineonToneMapping: () => Vhe, + CircleGeometry: () => qX, + ClampToEdgeWrapping: () => xX, + Clock: () => vW, + Color: () => _n, + ColorKeyframeTrack: () => dW, + ColorManagement: () => jo, + Compatibility: () => Ohn, + CompressedArrayTexture: () => SHe, + CompressedCubeTexture: () => CHe, + CompressedTexture: () => XB, + CompressedTextureLoader: () => LHe, + ConeGeometry: () => v5, + ConstantAlphaFactor: () => z_e, + ConstantColorFactor: () => U_e, + Controls: () => bW, + CubeCamera: () => mge, + CubeDepthTexture: () => _0e, + CubeReflectionMapping: () => T7, + CubeRefractionMapping: () => d5, + CubeTexture: () => M7, + CubeTextureLoader: () => BHe, + CubeUVReflectionMapping: () => NB, + CubicBezierCurve: () => QX, + CubicBezierCurve3: () => q0e, + CubicInterpolant: () => nge, + CullFaceBack: () => Bhe, + CullFaceFront: () => S_e, + CullFaceFrontBack: () => kmn, + CullFaceNone: () => w_e, + Curve: () => l1, + CurvePath: () => Q0e, + CustomBlending: () => yX, + CustomToneMapping: () => Ghe, + CylinderGeometry: () => tS, + Cylindrical: () => jHe, + Data3DTexture: () => qB, + DataArrayTexture: () => GB, + DataTexture: () => jl, + DataTextureLoader: () => OHe, + DataUtils: () => eS, + DecrementStencilOp: () => uhn, + DecrementWrapStencilOp: () => phn, + DefaultLoadingManager: () => MHe, + DepthFormat: () => eA, + DepthStencilFormat: () => f5, + DepthTexture: () => nA, + DetachedBindMode: () => Mmn, + DirectionalLight: () => cge, + DirectionalLightHelper: () => iVe, + DiscreteInterpolant: () => rge, + DodecahedronGeometry: () => ZX, + DoubleSide: () => Ph, + DstAlphaFactor: () => D_e, + DstColorFactor: () => B_e, + DynamicCopyUsage: () => khn, + DynamicDrawUsage: () => k0e, + DynamicReadUsage: () => Ehn, + EdgesGeometry: () => H0e, + EllipseCurve: () => WB, + EqualCompare: () => uHe, + EqualDepth: () => q_e, + EqualStencilFunc: () => ghn, + EquirectangularReflectionMapping: () => vX, + EquirectangularRefractionMapping: () => bX, + Euler: () => Hy, + EventDispatcher: () => Lh, + ExternalTexture: () => VX, + ExtrudeGeometry: () => JX, + FileLoader: () => i1, + Float16BufferAttribute: () => xHe, + Float32BufferAttribute: () => Jn, + FloatType: () => s1, + Fog: () => DX, + FogExp2: () => MX, + FramebufferTexture: () => wHe, + FrontSide: () => $x, + Frustum: () => Ww, + FrustumArray: () => _X, + GLBufferAttribute: () => JHe, + GLSL1: () => Phn, + GLSL3: () => R0e, + GreaterCompare: () => dHe, + GreaterDepth: () => Q_e, + GreaterEqualCompare: () => RX, + GreaterEqualDepth: () => Z_e, + GreaterEqualStencilFunc: () => xhn, + GreaterStencilFunc: () => vhn, + GridHelper: () => oVe, + Group: () => Qw, + HTMLTexture: () => IHe, + HalfFloatType: () => O0, + HemisphereLight: () => ige, + HemisphereLightHelper: () => rVe, + IcosahedronGeometry: () => jX, + ImageBitmapLoader: () => NHe, + ImageLoader: () => C7, + ImageUtils: () => M0e, + IncrementStencilOp: () => chn, + IncrementWrapStencilOp: () => dhn, + InstancedBufferAttribute: () => Jx, + InstancedBufferGeometry: () => eO, + InstancedInterleavedBuffer: () => KHe, + InstancedMesh: () => O0e, + Int16BufferAttribute: () => OX, + Int32BufferAttribute: () => FX, + Int8BufferAttribute: () => LX, + IntType: () => Qhe, + InterleavedBuffer: () => QB, + InterleavedBufferAttribute: () => c5, + Interpolant: () => b5, + InterpolateBezier: () => qmn, + InterpolateDiscrete: () => Hmn, + InterpolateLinear: () => Vmn, + InterpolateSmooth: () => Gmn, + InterpolationSamplingMode: () => Bhn, + InterpolationSamplingType: () => Lhn, + InvertStencilOp: () => fhn, + KeepStencilOp: () => shn, + KeyframeTrack: () => F0, + LOD: () => L0e, + LatheGeometry: () => $X, + Layers: () => $w, + LessCompare: () => cHe, + LessDepth: () => G_e, + LessEqualCompare: () => kX, + LessEqualDepth: () => zhe, + LessEqualStencilFunc: () => yhn, + LessStencilFunc: () => hhn, + Light: () => aA, + LightProbe: () => pge, + LightShadow: () => jB, + Line: () => jx, + Line3: () => $He, + LineBasicMaterial: () => Wf, + LineCurve: () => XX, + LineCurve3: () => Z0e, + LineDashedMaterial: () => tge, + LineLoop: () => U0e, + LineSegments: () => Gy, + LinearFilter: () => Mh, + LinearInterpolant: () => uW, + LinearMipMapLinearFilter: () => Fmn, + LinearMipMapNearestFilter: () => Omn, + LinearMipmapLinearFilter: () => p5, + LinearMipmapNearestFilter: () => AX, + LinearSRGBColorSpace: () => VB, + LinearToneMapping: () => _he, + LinearTransfer: () => T0e, + Loader: () => tf, + LoaderUtils: () => gX, + LoadingManager: () => fW, + LoopOnce: () => Nmn, + LoopPingPong: () => _mn, + LoopRepeat: () => zmn, + MOUSE: () => Bm, + Material: () => ap, + MaterialBlending: () => Rmn, + MaterialLoader: () => hW, + MathUtils: () => g5, + Matrix2: () => Age, + Matrix3: () => Ur, + Matrix4: () => Vn, + MaxEquation: () => T_e, + Mesh: () => Na, + MeshBasicMaterial: () => Um, + MeshDepthMaterial: () => lW, + MeshDistanceMaterial: () => cW, + MeshLambertMaterial: () => $0e, + MeshMatcapMaterial: () => ege, + MeshNormalMaterial: () => j0e, + MeshPhongMaterial: () => K0e, + MeshPhysicalMaterial: () => Y0e, + MeshStandardMaterial: () => sW, + MeshToonMaterial: () => J0e, + MinEquation: () => I_e, + MirroredRepeatWrapping: () => j_e, + MixOperation: () => Y_e, + MultiplyBlending: () => Nhe, + MultiplyOperation: () => W_e, + NearestFilter: () => Jw, + NearestMipMapLinearFilter: () => Bmn, + NearestMipMapNearestFilter: () => Lmn, + NearestMipmapLinearFilter: () => zB, + NearestMipmapNearestFilter: () => $_e, + NeutralToneMapping: () => Zhe, + NeverCompare: () => lHe, + NeverDepth: () => H_e, + NeverStencilFunc: () => mhn, + NoBlending: () => Rv, + NoColorSpace: () => h5, + NoNormalPacking: () => rhn, + NoToneMapping: () => B0, + NormalAnimationBlendMode: () => Wmn, + NormalBlending: () => Kw, + NormalGAPacking: () => ahn, + NormalRGPacking: () => ohn, + NotEqualCompare: () => pHe, + NotEqualDepth: () => X_e, + NotEqualStencilFunc: () => bhn, + NumberKeyframeTrack: () => KB, + Object3D: () => Go, + ObjectLoader: () => UHe, + ObjectSpaceNormalMap: () => sHe, + OctahedronGeometry: () => YB, + OneFactor: () => R_e, + OneMinusConstantAlphaFactor: () => __e, + OneMinusConstantColorFactor: () => N_e, + OneMinusDstAlphaFactor: () => L_e, + OneMinusDstColorFactor: () => O_e, + OneMinusSrcAlphaFactor: () => FB, + OneMinusSrcColorFactor: () => M_e, + OrthographicCamera: () => qy, + PCFShadowMap: () => u5, + PCFSoftShadowMap: () => E7, + PMREMGenerator: () => Ige, + Path: () => A7, + PerspectiveCamera: () => Kl, + Plane: () => Ih, + PlaneGeometry: () => oA, + PlaneHelper: () => uVe, + PointLight: () => lge, + PointLightHelper: () => nVe, + Points: () => N0e, + PointsMaterial: () => HX, + PolarGridHelper: () => aVe, + PolyhedronGeometry: () => nS, + PositionalAudio: () => VHe, + PropertyBinding: () => Ka, + PropertyMixer: () => vge, + QuadraticBezierCurve: () => WX, + QuadraticBezierCurve3: () => YX, + Quaternion: () => Vo, + QuaternionKeyframeTrack: () => JB, + QuaternionLinearInterpolant: () => age, + R11_EAC_Format: () => r0e, + RED_GREEN_RGTC2_Format: () => TX, + RED_RGTC1_Format: () => S0e, + REVISION: () => A_e, + RG11_EAC_Format: () => IX, + RGBADepthPacking: () => ehn, + RGBAFormat: () => $p, + RGBAIntegerFormat: () => m5, + RGBA_ASTC_10x10_Format: () => y0e, + RGBA_ASTC_10x5_Format: () => m0e, + RGBA_ASTC_10x6_Format: () => h0e, + RGBA_ASTC_10x8_Format: () => g0e, + RGBA_ASTC_12x10_Format: () => v0e, + RGBA_ASTC_12x12_Format: () => b0e, + RGBA_ASTC_4x4_Format: () => i0e, + RGBA_ASTC_5x4_Format: () => s0e, + RGBA_ASTC_5x5_Format: () => l0e, + RGBA_ASTC_6x5_Format: () => c0e, + RGBA_ASTC_6x6_Format: () => u0e, + RGBA_ASTC_8x5_Format: () => d0e, + RGBA_ASTC_8x6_Format: () => p0e, + RGBA_ASTC_8x8_Format: () => f0e, + RGBA_BPTC_Format: () => x0e, + RGBA_ETC2_EAC_Format: () => n0e, + RGBA_PVRTC_2BPPV1_Format: () => $he, + RGBA_PVRTC_4BPPV1_Format: () => jhe, + RGBA_S3TC_DXT1_Format: () => SX, + RGBA_S3TC_DXT3_Format: () => CX, + RGBA_S3TC_DXT5_Format: () => EX, + RGBDepthPacking: () => thn, + RGBFormat: () => aHe, + RGBIntegerFormat: () => Umn, + RGB_BPTC_SIGNED_Format: () => A0e, + RGB_BPTC_UNSIGNED_Format: () => w0e, + RGB_ETC1_Format: () => e0e, + RGB_ETC2_Format: () => t0e, + RGB_PVRTC_2BPPV1_Format: () => Jhe, + RGB_PVRTC_4BPPV1_Format: () => Khe, + RGB_S3TC_DXT1_Format: () => wX, + RGDepthPacking: () => nhn, + RGFormat: () => tA, + RGIntegerFormat: () => Yhe, + RawShaderMaterial: () => iW, + Ray: () => Vy, + Raycaster: () => yW, + RectAreaLight: () => dge, + RedFormat: () => iHe, + RedIntegerFormat: () => HB, + ReinhardToneMapping: () => Hhe, + RenderObjectRefreshType: () => Fhn, + RenderTarget: () => PX, + RenderTarget3D: () => WHe, + RepeatWrapping: () => J_e, + ReplaceStencilOp: () => lhn, + ReverseSubtractEquation: () => E_e, + RingGeometry: () => eW, + SIGNED_R11_EAC_Format: () => o0e, + SIGNED_RED_GREEN_RGTC2_Format: () => E0e, + SIGNED_RED_RGTC1_Format: () => C0e, + SIGNED_RG11_EAC_Format: () => a0e, + SRGBColorSpace: () => jw, + SRGBTransfer: () => cs, + Scene: () => y5, + ShaderChunk: () => qo, + ShaderLib: () => Pv, + ShaderMaterial: () => Ac, + ShadowMaterial: () => W0e, + Shape: () => D7, + ShapeGeometry: () => tW, + ShapePath: () => fVe, + ShapeUtils: () => _y, + ShortType: () => tHe, + Skeleton: () => zX, + SkeletonHelper: () => tVe, + SkinnedMesh: () => B0e, + Source: () => gHe, + Sphere: () => op, + SphereGeometry: () => rS, + Spherical: () => iS, + SphericalHarmonics3: () => mW, + SplineCurve: () => KX, + SpotLight: () => sge, + SpotLightHelper: () => eVe, + Sprite: () => D0e, + SpriteMaterial: () => UX, + SrcAlphaFactor: () => OB, + SrcAlphaSaturateFactor: () => F_e, + SrcColorFactor: () => P_e, + StaticCopyUsage: () => Thn, + StaticDrawUsage: () => whn, + StaticReadUsage: () => Chn, + StereoCamera: () => _He, + StreamCopyUsage: () => Rhn, + StreamDrawUsage: () => Shn, + StreamReadUsage: () => Ihn, + StringKeyframeTrack: () => aS, + SubtractEquation: () => C_e, + SubtractiveBlending: () => Uhe, + TOUCH: () => Om, + TangentSpaceNormalMap: () => I0e, + TetrahedronGeometry: () => nW, + Texture: () => El, + TextureLoader: () => FHe, + TextureSource: () => Tv, + TextureUtils: () => mVe, + Timer: () => gge, + TimestampQuery: () => Dhn, + TorusGeometry: () => rW, + TorusKnotGeometry: () => oW, + Triangle: () => kh, + TriangleFanDrawMode: () => jmn, + TriangleStripDrawMode: () => Jmn, + TrianglesDrawMode: () => Kmn, + TubeGeometry: () => aW, + UVMapping: () => Dmn, + Uint16BufferAttribute: () => R7, + Uint32BufferAttribute: () => P7, + Uint8BufferAttribute: () => BX, + Uint8ClampedBufferAttribute: () => bHe, + Uniform: () => xge, + UniformsGroup: () => YHe, + UniformsLib: () => Gn, + UniformsUtils: () => RHe, + UnsignedByteType: () => Fm, + UnsignedInt101111Type: () => rHe, + UnsignedInt248Type: () => k7, + UnsignedInt5999Type: () => nHe, + UnsignedIntType: () => Dh, + UnsignedShort4444Type: () => Xhe, + UnsignedShort5551Type: () => Whe, + UnsignedShortType: () => _B, + VSMShadowMap: () => Yw, + Vector2: () => vt, + Vector3: () => he, + Vector4: () => Ja, + VectorKeyframeTrack: () => pW, + VideoFrameTexture: () => AHe, + VideoTexture: () => z0e, + WebGL3DRenderTarget: () => vHe, + WebGLArrayRenderTarget: () => yHe, + WebGLCoordinateSystem: () => P0e, + WebGLCubeRenderTarget: () => kge, + WebGLRenderTarget: () => ef, + WebGLRenderer: () => oO, + WebGLUtils: () => Pge, + WebGPUCoordinateSystem: () => Mhn, + WebXRController: () => ZB, + WireframeGeometry: () => X0e, + WrapAroundEnding: () => Xmn, + ZeroCurvatureEnding: () => Zmn, + ZeroFactor: () => k_e, + ZeroSlopeEnding: () => Qmn, + ZeroStencilOp: () => ihn, + createCanvasElement: () => mHe, + error: () => wr, + getConsoleFunction: () => zhn, + log: () => LB, + setConsoleFunction: () => Nhn, + warn: () => zn, + warnOnce: () => Kx, +}); +function T0n() { + let e = null, + t = !1, + n = null, + r = null; + function o(a, i) { + ((r = e.requestAnimationFrame(o)), n(a, i)); + } + return { + start: function () { + if (t === !0) return; + if (n === null) return; + if (e === null) return; + ((r = e.requestAnimationFrame(o)), (t = !0)); + }, + stop: function () { + if (e !== null) e.cancelAnimationFrame(r); + t = !1; + }, + setAnimationLoop: function (a) { + n = a; + }, + setContext: function (a) { + e = a; + }, + }; +} +function B9r(e) { + let t = new WeakMap(); + function n(s, l) { + let { array: c, usage: u } = s, + d = c.byteLength, + p = e.createBuffer(); + (e.bindBuffer(l, p), e.bufferData(l, c, u), s.onUploadCallback()); + let f; + if (c instanceof Float32Array) f = e.FLOAT; + else if (typeof Float16Array < "u" && c instanceof Float16Array) + f = e.HALF_FLOAT; + else if (c instanceof Uint16Array) + if (s.isFloat16BufferAttribute) f = e.HALF_FLOAT; + else f = e.UNSIGNED_SHORT; + else if (c instanceof Int16Array) f = e.SHORT; + else if (c instanceof Uint32Array) f = e.UNSIGNED_INT; + else if (c instanceof Int32Array) f = e.INT; + else if (c instanceof Int8Array) f = e.BYTE; + else if (c instanceof Uint8Array) f = e.UNSIGNED_BYTE; + else if (c instanceof Uint8ClampedArray) f = e.UNSIGNED_BYTE; + else + throw Error( + "THREE.WebGLAttributes: Unsupported buffer data format: " + c, + ); + return { + buffer: p, + type: f, + bytesPerElement: c.BYTES_PER_ELEMENT, + version: s.version, + size: d, + }; + } + function r(s, l, c) { + let { array: u, updateRanges: d } = l; + if ((e.bindBuffer(c, s), d.length === 0)) e.bufferSubData(c, 0, u); + else { + d.sort((f, m) => f.start - m.start); + let p = 0; + for (let f = 1; f < d.length; f++) { + let m = d[p], + g = d[f]; + if (g.start <= m.start + m.count + 1) + m.count = Math.max(m.count, g.start + g.count - m.start); + else (++p, (d[p] = g)); + } + d.length = p + 1; + for (let f = 0, m = d.length; f < m; f++) { + let g = d[f]; + e.bufferSubData(c, g.start * u.BYTES_PER_ELEMENT, u, g.start, g.count); + } + l.clearUpdateRanges(); + } + l.onUploadCallback(); + } + function o(s) { + if (s.isInterleavedBufferAttribute) s = s.data; + return t.get(s); + } + function a(s) { + if (s.isInterleavedBufferAttribute) s = s.data; + let l = t.get(s); + if (l) (e.deleteBuffer(l.buffer), t.delete(s)); + } + function i(s, l) { + if (s.isInterleavedBufferAttribute) s = s.data; + if (s.isGLBufferAttribute) { + let u = t.get(s); + if (!u || u.version < s.version) + t.set(s, { + buffer: s.buffer, + type: s.type, + bytesPerElement: s.elementSize, + version: s.version, + }); + return; + } + let c = t.get(s); + if (c === void 0) t.set(s, n(s, l)); + else if (c.version < s.version) { + if (c.size !== s.array.byteLength) + throw Error( + "THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.", + ); + (r(c.buffer, s, l), (c.version = s.version)); + } + } + return { get: o, remove: a, update: i }; +} +function gLr(e, t, n, r, o, a) { + let i = new _n(0), + s = o === !0 ? 0 : 1, + l, + c, + u = null, + d = 0, + p = null; + function f(x) { + let A = x.isScene === !0 ? x.background : null; + if (A && A.isTexture) { + let w = x.backgroundBlurriness > 0; + A = t.get(A, w); + } + return A; + } + function m(x) { + let A = !1, + w = f(x); + if (w === null) v(i, s); + else if (w && w.isColor) (v(w, 1), (A = !0)); + let C = e.xr.getEnvironmentBlendMode(); + if (C === "additive") n.buffers.color.setClear(0, 0, 0, 1, a); + else if (C === "alpha-blend") n.buffers.color.setClear(0, 0, 0, 0, a); + if (e.autoClear || A) + (n.buffers.depth.setTest(!0), + n.buffers.depth.setMask(!0), + n.buffers.color.setMask(!0), + e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil)); + } + function g(x, A) { + let w = f(A); + if (w && (w.isCubeTexture || w.mapping === NB)) { + if (c === void 0) + ((c = new Na( + new rA(1, 1, 1), + new Ac({ + name: "BackgroundCubeMaterial", + uniforms: L7(Pv.backgroundCube.uniforms), + vertexShader: Pv.backgroundCube.vertexShader, + fragmentShader: Pv.backgroundCube.fragmentShader, + side: Rh, + depthTest: !1, + depthWrite: !1, + fog: !1, + allowOverride: !1, + }), + )), + c.geometry.deleteAttribute("normal"), + c.geometry.deleteAttribute("uv"), + (c.onBeforeRender = function (C, E, T) { + this.matrixWorld.copyPosition(T.matrixWorld); + }), + Object.defineProperty(c.material, "envMap", { + get: function () { + return this.uniforms.envMap.value; + }, + }), + r.update(c)); + if ( + ((c.material.uniforms.envMap.value = w), + (c.material.uniforms.backgroundBlurriness.value = + A.backgroundBlurriness), + (c.material.uniforms.backgroundIntensity.value = A.backgroundIntensity), + c.material.uniforms.backgroundRotation.value + .setFromMatrix4(hLr.makeRotationFromEuler(A.backgroundRotation)) + .transpose(), + w.isCubeTexture && w.isRenderTargetTexture === !1) + ) + c.material.uniforms.backgroundRotation.value.premultiply(k0n); + if ( + ((c.material.toneMapped = jo.getTransfer(w.colorSpace) !== cs), + u !== w || d !== w.version || p !== e.toneMapping) + ) + ((c.material.needsUpdate = !0), + (u = w), + (d = w.version), + (p = e.toneMapping)); + (c.layers.enableAll(), x.unshift(c, c.geometry, c.material, 0, 0, null)); + } else if (w && w.isTexture) { + if (l === void 0) + ((l = new Na( + new oA(2, 2), + new Ac({ + name: "BackgroundMaterial", + uniforms: L7(Pv.background.uniforms), + vertexShader: Pv.background.vertexShader, + fragmentShader: Pv.background.fragmentShader, + side: $x, + depthTest: !1, + depthWrite: !1, + fog: !1, + allowOverride: !1, + }), + )), + l.geometry.deleteAttribute("normal"), + Object.defineProperty(l.material, "map", { + get: function () { + return this.uniforms.t2D.value; + }, + }), + r.update(l)); + if ( + ((l.material.uniforms.t2D.value = w), + (l.material.uniforms.backgroundIntensity.value = A.backgroundIntensity), + (l.material.toneMapped = jo.getTransfer(w.colorSpace) !== cs), + w.matrixAutoUpdate === !0) + ) + w.updateMatrix(); + if ( + (l.material.uniforms.uvTransform.value.copy(w.matrix), + u !== w || d !== w.version || p !== e.toneMapping) + ) + ((l.material.needsUpdate = !0), + (u = w), + (d = w.version), + (p = e.toneMapping)); + (l.layers.enableAll(), x.unshift(l, l.geometry, l.material, 0, 0, null)); + } + } + function v(x, A) { + (x.getRGB(Cge, kHe(e)), + n.buffers.color.setClear(Cge.r, Cge.g, Cge.b, A, a)); + } + function y() { + if (c !== void 0) + (c.geometry.dispose(), c.material.dispose(), (c = void 0)); + if (l !== void 0) + (l.geometry.dispose(), l.material.dispose(), (l = void 0)); + } + return { + getClearColor: function () { + return i; + }, + setClearColor: function (x, A = 1) { + (i.set(x), (s = A), v(i, s)); + }, + getClearAlpha: function () { + return s; + }, + setClearAlpha: function (x) { + ((s = x), v(i, s)); + }, + render: m, + addToRenderList: g, + dispose: y, + }; +} +function yLr(e, t) { + let n = e.getParameter(e.MAX_VERTEX_ATTRIBS), + r = {}, + o = p(null), + a = o, + i = !1; + function s(O, B, U, D, N) { + let _ = !1, + G = d(O, D, U, B); + if (a !== G) ((a = G), c(a.object)); + if (((_ = f(O, D, U, N)), _)) m(O, D, U, N); + if (N !== null) t.update(N, e.ELEMENT_ARRAY_BUFFER); + if (_ || i) { + if (((i = !1), w(O, B, U, D), N !== null)) + e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t.get(N).buffer); + } + } + function l() { + return e.createVertexArray(); + } + function c(O) { + return e.bindVertexArray(O); + } + function u(O) { + return e.deleteVertexArray(O); + } + function d(O, B, U, D) { + let N = D.wireframe === !0, + _ = r[B.id]; + if (_ === void 0) ((_ = {}), (r[B.id] = _)); + let G = O.isInstancedMesh === !0 ? O.id : 0, + Z = _[G]; + if (Z === void 0) ((Z = {}), (_[G] = Z)); + let q = Z[U.id]; + if (q === void 0) ((q = {}), (Z[U.id] = q)); + let H = q[N]; + if (H === void 0) ((H = p(l())), (q[N] = H)); + return H; + } + function p(O) { + let B = [], + U = [], + D = []; + for (let N = 0; N < n; N++) ((B[N] = 0), (U[N] = 0), (D[N] = 0)); + return { + geometry: null, + program: null, + wireframe: !1, + newAttributes: B, + enabledAttributes: U, + attributeDivisors: D, + object: O, + attributes: {}, + index: null, + }; + } + function f(O, B, U, D) { + let N = a.attributes, + _ = B.attributes, + G = 0, + Z = U.getAttributes(); + for (let q in Z) + if (Z[q].location >= 0) { + let te = N[q], + ie = _[q]; + if (ie === void 0) { + if (q === "instanceMatrix" && O.instanceMatrix) ie = O.instanceMatrix; + if (q === "instanceColor" && O.instanceColor) ie = O.instanceColor; + } + if (te === void 0) return !0; + if (te.attribute !== ie) return !0; + if (ie && te.data !== ie.data) return !0; + G++; + } + if (a.attributesNum !== G) return !0; + if (a.index !== D) return !0; + return !1; + } + function m(O, B, U, D) { + let N = {}, + _ = B.attributes, + G = 0, + Z = U.getAttributes(); + for (let q in Z) + if (Z[q].location >= 0) { + let te = _[q]; + if (te === void 0) { + if (q === "instanceMatrix" && O.instanceMatrix) te = O.instanceMatrix; + if (q === "instanceColor" && O.instanceColor) te = O.instanceColor; + } + let ie = {}; + if (((ie.attribute = te), te && te.data)) ie.data = te.data; + ((N[q] = ie), G++); + } + ((a.attributes = N), (a.attributesNum = G), (a.index = D)); + } + function g() { + let O = a.newAttributes; + for (let B = 0, U = O.length; B < U; B++) O[B] = 0; + } + function v(O) { + y(O, 0); + } + function y(O, B) { + let U = a.newAttributes, + D = a.enabledAttributes, + N = a.attributeDivisors; + if (((U[O] = 1), D[O] === 0)) (e.enableVertexAttribArray(O), (D[O] = 1)); + if (N[O] !== B) (e.vertexAttribDivisor(O, B), (N[O] = B)); + } + function x() { + let O = a.newAttributes, + B = a.enabledAttributes; + for (let U = 0, D = B.length; U < D; U++) + if (B[U] !== O[U]) (e.disableVertexAttribArray(U), (B[U] = 0)); + } + function A(O, B, U, D, N, _, G) { + if (G === !0) e.vertexAttribIPointer(O, B, U, N, _); + else e.vertexAttribPointer(O, B, U, D, N, _); + } + function w(O, B, U, D) { + g(); + let N = D.attributes, + _ = U.getAttributes(), + G = B.defaultAttributeValues; + for (let Z in _) { + let q = _[Z]; + if (q.location >= 0) { + let H = N[Z]; + if (H === void 0) { + if (Z === "instanceMatrix" && O.instanceMatrix) H = O.instanceMatrix; + if (Z === "instanceColor" && O.instanceColor) H = O.instanceColor; + } + if (H !== void 0) { + let te = H.normalized, + ie = H.itemSize, + j = t.get(H); + if (j === void 0) continue; + let { buffer: oe, type: J, bytesPerElement: Y } = j, + ae = J === e.INT || J === e.UNSIGNED_INT || H.gpuType === Qhe; + if (H.isInterleavedBufferAttribute) { + let ne = H.data, + Se = ne.stride, + fe = H.offset; + if (ne.isInstancedInterleavedBuffer) { + for (let Ae = 0; Ae < q.locationSize; Ae++) + y(q.location + Ae, ne.meshPerAttribute); + if (O.isInstancedMesh !== !0 && D._maxInstanceCount === void 0) + D._maxInstanceCount = ne.meshPerAttribute * ne.count; + } else + for (let Ae = 0; Ae < q.locationSize; Ae++) v(q.location + Ae); + e.bindBuffer(e.ARRAY_BUFFER, oe); + for (let Ae = 0; Ae < q.locationSize; Ae++) + A( + q.location + Ae, + ie / q.locationSize, + J, + te, + Se * Y, + (fe + (ie / q.locationSize) * Ae) * Y, + ae, + ); + } else { + if (H.isInstancedBufferAttribute) { + for (let ne = 0; ne < q.locationSize; ne++) + y(q.location + ne, H.meshPerAttribute); + if (O.isInstancedMesh !== !0 && D._maxInstanceCount === void 0) + D._maxInstanceCount = H.meshPerAttribute * H.count; + } else + for (let ne = 0; ne < q.locationSize; ne++) v(q.location + ne); + e.bindBuffer(e.ARRAY_BUFFER, oe); + for (let ne = 0; ne < q.locationSize; ne++) + A( + q.location + ne, + ie / q.locationSize, + J, + te, + ie * Y, + (ie / q.locationSize) * ne * Y, + ae, + ); + } + } else if (G !== void 0) { + let te = G[Z]; + if (te !== void 0) + switch (te.length) { + case 2: + e.vertexAttrib2fv(q.location, te); + break; + case 3: + e.vertexAttrib3fv(q.location, te); + break; + case 4: + e.vertexAttrib4fv(q.location, te); + break; + default: + e.vertexAttrib1fv(q.location, te); + } + } + } + } + x(); + } + function C() { + k(); + for (let O in r) { + let B = r[O]; + for (let U in B) { + let D = B[U]; + for (let N in D) { + let _ = D[N]; + for (let G in _) (u(_[G].object), delete _[G]); + delete D[N]; + } + } + delete r[O]; + } + } + function E(O) { + if (r[O.id] === void 0) return; + let B = r[O.id]; + for (let U in B) { + let D = B[U]; + for (let N in D) { + let _ = D[N]; + for (let G in _) (u(_[G].object), delete _[G]); + delete D[N]; + } + } + delete r[O.id]; + } + function T(O) { + for (let B in r) { + let U = r[B]; + for (let D in U) { + let N = U[D]; + if (N[O.id] === void 0) continue; + let _ = N[O.id]; + for (let G in _) (u(_[G].object), delete _[G]); + delete N[O.id]; + } + } + } + function I(O) { + for (let B in r) { + let U = r[B], + D = O.isInstancedMesh === !0 ? O.id : 0, + N = U[D]; + if (N === void 0) continue; + for (let _ in N) { + let G = N[_]; + for (let Z in G) (u(G[Z].object), delete G[Z]); + delete N[_]; + } + if ((delete U[D], Object.keys(U).length === 0)) delete r[B]; + } + } + function k() { + if ((L(), (i = !0), a === o)) return; + ((a = o), c(a.object)); + } + function L() { + ((o.geometry = null), (o.program = null), (o.wireframe = !1)); + } + return { + setup: s, + reset: k, + resetDefaultState: L, + dispose: C, + releaseStatesOfGeometry: E, + releaseStatesOfObject: I, + releaseStatesOfProgram: T, + initAttributes: g, + enableAttribute: v, + disableUnusedAttributes: x, + }; +} +function vLr(e, t, n) { + let r; + function o(l) { + r = l; + } + function a(l, c) { + (e.drawArrays(r, l, c), n.update(c, r, 1)); + } + function i(l, c, u) { + if (u === 0) return; + (e.drawArraysInstanced(r, l, c, u), n.update(c, r, u)); + } + function s(l, c, u) { + if (u === 0) return; + t.get("WEBGL_multi_draw").multiDrawArraysWEBGL(r, l, 0, c, 0, u); + let p = 0; + for (let f = 0; f < u; f++) p += c[f]; + n.update(p, r, 1); + } + ((this.setMode = o), + (this.render = a), + (this.renderInstances = i), + (this.renderMultiDraw = s)); +} +function bLr(e, t, n, r) { + let o; + function a() { + if (o !== void 0) return o; + if (t.has("EXT_texture_filter_anisotropic") === !0) { + let T = t.get("EXT_texture_filter_anisotropic"); + o = e.getParameter(T.MAX_TEXTURE_MAX_ANISOTROPY_EXT); + } else o = 0; + return o; + } + function i(T) { + if ( + T !== $p && + r.convert(T) !== e.getParameter(e.IMPLEMENTATION_COLOR_READ_FORMAT) + ) + return !1; + return !0; + } + function s(T) { + let I = + T === O0 && + (t.has("EXT_color_buffer_half_float") || t.has("EXT_color_buffer_float")); + if ( + T !== Fm && + T !== s1 && + !I && + r.convert(T) !== e.getParameter(e.IMPLEMENTATION_COLOR_READ_TYPE) + ) + return !1; + return !0; + } + function l(T) { + if (T === "highp") { + if ( + e.getShaderPrecisionFormat(e.VERTEX_SHADER, e.HIGH_FLOAT).precision > + 0 && + e.getShaderPrecisionFormat(e.FRAGMENT_SHADER, e.HIGH_FLOAT).precision > + 0 + ) + return "highp"; + T = "mediump"; + } + if (T === "mediump") { + if ( + e.getShaderPrecisionFormat(e.VERTEX_SHADER, e.MEDIUM_FLOAT).precision > + 0 && + e.getShaderPrecisionFormat(e.FRAGMENT_SHADER, e.MEDIUM_FLOAT) + .precision > 0 + ) + return "mediump"; + } + return "lowp"; + } + let c = n.precision !== void 0 ? n.precision : "highp", + u = l(c); + if (u !== c) + (zn("WebGLRenderer:", c, "not supported, using", u, "instead."), (c = u)); + let d = n.logarithmicDepthBuffer === !0, + p = n.reversedDepthBuffer === !0 && t.has("EXT_clip_control"); + if (n.reversedDepthBuffer === !0 && p === !1) + zn( + "WebGLRenderer: Unable to use reversed depth buffer due to missing EXT_clip_control extension. Fallback to default depth buffer.", + ); + let f = e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS), + m = e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS), + g = e.getParameter(e.MAX_TEXTURE_SIZE), + v = e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE), + y = e.getParameter(e.MAX_VERTEX_ATTRIBS), + x = e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS), + A = e.getParameter(e.MAX_VARYING_VECTORS), + w = e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS), + C = e.getParameter(e.MAX_SAMPLES), + E = e.getParameter(e.SAMPLES); + return { + isWebGL2: !0, + getMaxAnisotropy: a, + getMaxPrecision: l, + textureFormatReadable: i, + textureTypeReadable: s, + precision: c, + logarithmicDepthBuffer: d, + reversedDepthBuffer: p, + maxTextures: f, + maxVertexTextures: m, + maxTextureSize: g, + maxCubemapSize: v, + maxAttributes: y, + maxVertexUniforms: x, + maxVaryings: A, + maxFragmentUniforms: w, + maxSamples: C, + samples: E, + }; +} +function xLr(e) { + let t = this, + n = null, + r = 0, + o = !1, + a = !1, + i = new Ih(), + s = new Ur(), + l = { value: null, needsUpdate: !1 }; + ((this.uniform = l), + (this.numPlanes = 0), + (this.numIntersection = 0), + (this.init = function (d, p) { + let f = d.length !== 0 || p || r !== 0 || o; + return ((o = p), (r = d.length), f); + }), + (this.beginShadows = function () { + ((a = !0), u(null)); + }), + (this.endShadows = function () { + a = !1; + }), + (this.setGlobalState = function (d, p) { + n = u(d, p, 0); + }), + (this.setState = function (d, p, f) { + let { clippingPlanes: m, clipIntersection: g, clipShadows: v } = d, + y = e.get(d); + if (!o || m === null || m.length === 0 || (a && !v)) + if (a) u(null); + else c(); + else { + let x = a ? 0 : r, + A = x * 4, + w = y.clippingState || null; + ((l.value = w), (w = u(m, p, A, f))); + for (let C = 0; C !== A; ++C) w[C] = n[C]; + ((y.clippingState = w), + (this.numIntersection = g ? this.numPlanes : 0), + (this.numPlanes += x)); + } + })); + function c() { + if (l.value !== n) ((l.value = n), (l.needsUpdate = r > 0)); + ((t.numPlanes = r), (t.numIntersection = 0)); + } + function u(d, p, f, m) { + let g = d !== null ? d.length : 0, + v = null; + if (g !== 0) { + if (((v = l.value), m !== !0 || v === null)) { + let y = f + g * 4, + x = p.matrixWorldInverse; + if ((s.getNormalMatrix(x), v === null || v.length < y)) + v = new Float32Array(y); + for (let A = 0, w = f; A !== g; ++A, w += 4) + (i.copy(d[A]).applyMatrix4(x, s), + i.normal.toArray(v, w), + (v[w + 3] = i.constant)); + } + ((l.value = v), (l.needsUpdate = !0)); + } + return ((t.numPlanes = g), (t.numIntersection = 0), v); + } +} +class Ige { + constructor(e) { + ((this._renderer = e), + (this._pingPongRenderTarget = null), + (this._lodMax = 0), + (this._cubeSize = 0), + (this._sizeLods = []), + (this._lodMeshes = []), + (this._backgroundBox = null), + (this._cubemapMaterial = null), + (this._equirectMaterial = null), + (this._blurMaterial = null), + (this._ggxMaterial = null)); + } + fromScene(e, t = 0, n = 0.1, r = 100, o = {}) { + let { size: a = 256, position: i = CLr } = o; + ((gVe = this._renderer.getRenderTarget()), + (yVe = this._renderer.getActiveCubeFace()), + (vVe = this._renderer.getActiveMipmapLevel()), + (bVe = this._renderer.xr.enabled), + (this._renderer.xr.enabled = !1), + this._setSize(a)); + let s = this._allocateTargets(); + if (((s.depthBuffer = !0), this._sceneToCubeUV(e, n, r, s, i), t > 0)) + this._blur(s, 0, 0, t); + return (this._applyPMREM(s), this._cleanup(s), s); + } + fromEquirectangular(e, t = null) { + return this._fromTexture(e, t); + } + fromCubemap(e, t = null) { + return this._fromTexture(e, t); + } + compileCubemapShader() { + if (this._cubemapMaterial === null) + ((this._cubemapMaterial = c0n()), + this._compileMaterial(this._cubemapMaterial)); + } + compileEquirectangularShader() { + if (this._equirectMaterial === null) + ((this._equirectMaterial = l0n()), + this._compileMaterial(this._equirectMaterial)); + } + dispose() { + if ((this._dispose(), this._cubemapMaterial !== null)) + this._cubemapMaterial.dispose(); + if (this._equirectMaterial !== null) this._equirectMaterial.dispose(); + if (this._backgroundBox !== null) + (this._backgroundBox.geometry.dispose(), + this._backgroundBox.material.dispose()); + } + _setSize(e) { + ((this._lodMax = Math.floor(Math.log2(e))), + (this._cubeSize = Math.pow(2, this._lodMax))); + } + _dispose() { + if (this._blurMaterial !== null) this._blurMaterial.dispose(); + if (this._ggxMaterial !== null) this._ggxMaterial.dispose(); + if (this._pingPongRenderTarget !== null) + this._pingPongRenderTarget.dispose(); + for (let e = 0; e < this._lodMeshes.length; e++) + this._lodMeshes[e].geometry.dispose(); + } + _cleanup(e) { + (this._renderer.setRenderTarget(gVe, yVe, vVe), + (this._renderer.xr.enabled = bVe), + (e.scissorTest = !1), + tO(e, 0, 0, e.width, e.height)); + } + _fromTexture(e, t) { + if (e.mapping === T7 || e.mapping === d5) + this._setSize( + e.image.length === 0 ? 16 : e.image[0].width || e.image[0].image.width, + ); + else this._setSize(e.image.width / 4); + ((gVe = this._renderer.getRenderTarget()), + (yVe = this._renderer.getActiveCubeFace()), + (vVe = this._renderer.getActiveMipmapLevel()), + (bVe = this._renderer.xr.enabled), + (this._renderer.xr.enabled = !1)); + let n = t || this._allocateTargets(); + return ( + this._textureToCubeUV(e, n), + this._applyPMREM(n), + this._cleanup(n), + n + ); + } + _allocateTargets() { + let e = 3 * Math.max(this._cubeSize, 112), + t = 4 * this._cubeSize, + n = { + magFilter: Mh, + minFilter: Mh, + generateMipmaps: !1, + type: O0, + format: $p, + colorSpace: VB, + depthBuffer: !1, + }, + r = s0n(e, t, n); + if ( + this._pingPongRenderTarget === null || + this._pingPongRenderTarget.width !== e || + this._pingPongRenderTarget.height !== t + ) { + if (this._pingPongRenderTarget !== null) this._dispose(); + this._pingPongRenderTarget = s0n(e, t, n); + let { _lodMax: o } = this; + (({ lodMeshes: this._lodMeshes, sizeLods: this._sizeLods } = ELr(o)), + (this._blurMaterial = TLr(o, e, t)), + (this._ggxMaterial = ILr(o, e, t))); + } + return r; + } + _compileMaterial(e) { + let t = new Na(new Jr(), e); + this._renderer.compile(t, xW); + } + _sceneToCubeUV(e, t, n, r, o) { + let s = new Kl(90, 1, t, n), + l = [1, -1, 1, 1, 1, 1], + c = [1, 1, 1, -1, -1, -1], + u = this._renderer, + { autoClear: d, toneMapping: p } = u; + if ( + (u.getClearColor(i0n), + (u.toneMapping = B0), + (u.autoClear = !1), + u.state.buffers.depth.getReversed()) + ) + (u.setRenderTarget(r), u.clearDepth(), u.setRenderTarget(null)); + if (this._backgroundBox === null) + this._backgroundBox = new Na( + new rA(), + new Um({ + name: "PMREM.Background", + side: Rh, + depthWrite: !1, + depthTest: !1, + }), + ); + let m = this._backgroundBox, + g = m.material, + v = !1, + y = e.background; + if (y) { + if (y.isColor) (g.color.copy(y), (e.background = null), (v = !0)); + } else (g.color.copy(i0n), (v = !0)); + for (let x = 0; x < 6; x++) { + let A = x % 3; + if (A === 0) + (s.up.set(0, l[x], 0), + s.position.set(o.x, o.y, o.z), + s.lookAt(o.x + c[x], o.y, o.z)); + else if (A === 1) + (s.up.set(0, 0, l[x]), + s.position.set(o.x, o.y, o.z), + s.lookAt(o.x, o.y + c[x], o.z)); + else + (s.up.set(0, l[x], 0), + s.position.set(o.x, o.y, o.z), + s.lookAt(o.x, o.y, o.z + c[x])); + let w = this._cubeSize; + if ((tO(r, A * w, x > 2 ? w : 0, w, w), u.setRenderTarget(r), v)) + u.render(m, s); + u.render(e, s); + } + ((u.toneMapping = p), (u.autoClear = d), (e.background = y)); + } + _textureToCubeUV(e, t) { + let n = this._renderer, + r = e.mapping === T7 || e.mapping === d5; + if (r) { + if (this._cubemapMaterial === null) this._cubemapMaterial = c0n(); + this._cubemapMaterial.uniforms.flipEnvMap.value = + e.isRenderTargetTexture === !1 ? -1 : 1; + } else if (this._equirectMaterial === null) this._equirectMaterial = l0n(); + let o = r ? this._cubemapMaterial : this._equirectMaterial, + a = this._lodMeshes[0]; + a.material = o; + let i = o.uniforms; + i.envMap.value = e; + let s = this._cubeSize; + (tO(t, 0, 0, 3 * s, 2 * s), n.setRenderTarget(t), n.render(a, xW)); + } + _applyPMREM(e) { + let t = this._renderer, + n = t.autoClear; + t.autoClear = !1; + let r = this._lodMeshes.length; + for (let o = 1; o < r; o++) this._applyGGXFilter(e, o - 1, o); + t.autoClear = n; + } + _applyGGXFilter(e, t, n) { + let r = this._renderer, + o = this._pingPongRenderTarget, + a = this._ggxMaterial, + i = this._lodMeshes[n]; + i.material = a; + let s = a.uniforms, + l = n / (this._lodMeshes.length - 1), + c = t / (this._lodMeshes.length - 1), + u = Math.sqrt(l * l - c * c), + d = l * 1.25, + p = u * d, + { _lodMax: f } = this, + m = this._sizeLods[n], + g = 3 * m * (n > f - nO ? n - f + nO : 0), + v = 4 * (this._cubeSize - m); + ((s.envMap.value = e.texture), + (s.roughness.value = p), + (s.mipInt.value = f - t), + tO(o, g, v, 3 * m, 2 * m), + r.setRenderTarget(o), + r.render(i, xW), + (s.envMap.value = o.texture), + (s.roughness.value = 0), + (s.mipInt.value = f - n), + tO(e, g, v, 3 * m, 2 * m), + r.setRenderTarget(e), + r.render(i, xW)); + } + _blur(e, t, n, r) { + let o = this._pingPongRenderTarget, + a = Math.min(r, Math.PI) / Math.SQRT2; + (this._blurPass(e, o, t, n, a), this._blurPass(o, e, n, n, a)); + } + _blurPass(e, t, n, r, o) { + let a = this._renderer, + i = this._blurMaterial, + s = this._lodMeshes[r]; + s.material = i; + let l = i.uniforms; + ((l.envMap.value = e.texture), + (l.sigma.value = o), + (l.mipInt.value = this._lodMax - n)); + let c = this._sizeLods[r], + u = 3 * c * (r > this._lodMax - nO ? r - this._lodMax + nO : 0), + d = 4 * (this._cubeSize - c); + (tO(t, u, d, 3 * c, 2 * c), a.setRenderTarget(t), a.render(s, xW)); + } +} +function ELr(e) { + let t = [], + n = [], + r = e, + o = e - nO + 1 + ALr; + for (let a = 0; a < o; a++) { + let i = Math.pow(2, r); + t.push(i); + let s = 1 / (i - 2), + l = -s, + c = 1 + s, + u = [l, l, c, l, c, c, l, l, c, c, l, c], + d = 6, + p = 6, + f = 3, + m = new Float32Array(f * p * d), + g = new Float32Array(f * p * d); + for (let y = 0; y < d; y++) { + let x = ((y % 3) * 2) / 3 - 1, + A = y > 2 ? 0 : -1, + w = [ + x, + A, + 0, + x + 0.6666666666666666, + A, + 0, + x + 0.6666666666666666, + A + 1, + 0, + x, + A, + 0, + x + 0.6666666666666666, + A + 1, + 0, + x, + A + 1, + 0, + ]; + m.set(w, f * p * y); + for (let C = 0; C < p; C++) { + let E = u[C * 2] * 2 - 1, + T = u[C * 2 + 1] * 2 - 1; + if (y === 0) B7.set(1, T, E); + else if (y === 1) B7.set(-E, 1, -T); + else if (y === 2) B7.set(-E, T, 1); + else if (y === 3) B7.set(-1, T, -E); + else if (y === 4) B7.set(-E, -1, T); + else B7.set(E, T, -1); + B7.toArray(g, (y * p + C) * f); + } + } + let v = new Jr(); + if ( + (v.setAttribute("position", new si(m, f)), + v.setAttribute("outputDirection", new si(g, f)), + n.push(new Na(v, null)), + r > nO) + ) + r--; + } + return { lodMeshes: n, sizeLods: t }; +} +function s0n(e, t, n) { + let r = new ef(e, t, n); + return ( + (r.texture.mapping = NB), + (r.texture.name = "PMREM.cubeUv"), + (r.scissorTest = !0), + r + ); +} +function tO(e, t, n, r, o) { + (e.viewport.set(t, n, r, o), e.scissor.set(t, n, r, o)); +} +function ILr(e, t, n) { + return new Ac({ + name: "PMREMGGXConvolution", + defines: { + GGX_SAMPLES: SLr, + CUBEUV_TEXEL_WIDTH: 1 / t, + CUBEUV_TEXEL_HEIGHT: 1 / n, + CUBEUV_MAX_MIP: `${e}.0`, + }, + uniforms: { + envMap: { value: null }, + roughness: { value: 0 }, + mipInt: { value: 0 }, + }, + vertexShader: Tge(), + fragmentShader: ` precision highp float; precision highp int; @@ -1094,7 +167699,28 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif gl_FragColor = vec4(prefilteredColor, 1.0); } - `,blending:Rv,depthTest:!1,depthWrite:!1})}function TLr(e,t,n){return new Ac({name:"SphericalGaussianBlur",defines:{SAMPLES:wLr,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${e}.0`},uniforms:{envMap:{value:null},sigma:{value:0},mipInt:{value:0}},vertexShader:Tge(),fragmentShader:` + `, + blending: Rv, + depthTest: !1, + depthWrite: !1, + }); +} +function TLr(e, t, n) { + return new Ac({ + name: "SphericalGaussianBlur", + defines: { + SAMPLES: wLr, + CUBEUV_TEXEL_WIDTH: 1 / t, + CUBEUV_TEXEL_HEIGHT: 1 / n, + CUBEUV_MAX_MIP: `${e}.0`, + }, + uniforms: { + envMap: { value: null }, + sigma: { value: 0 }, + mipInt: { value: 0 }, + }, + vertexShader: Tge(), + fragmentShader: ` precision highp float; precision highp int; @@ -1154,7 +167780,18 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif gl_FragColor = vec4( accumColor / accumWeight, 1.0 ); } - `,blending:Rv,depthTest:!1,depthWrite:!1})}function l0n(){return new Ac({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Tge(),fragmentShader:` + `, + blending: Rv, + depthTest: !1, + depthWrite: !1, + }); +} +function l0n() { + return new Ac({ + name: "EquirectangularToCubeUV", + uniforms: { envMap: { value: null } }, + vertexShader: Tge(), + fragmentShader: ` precision mediump float; precision mediump int; @@ -1173,7 +167810,18 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } - `,blending:Rv,depthTest:!1,depthWrite:!1})}function c0n(){return new Ac({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Tge(),fragmentShader:` + `, + blending: Rv, + depthTest: !1, + depthWrite: !1, + }); +} +function c0n() { + return new Ac({ + name: "CubemapToCubeUV", + uniforms: { envMap: { value: null }, flipEnvMap: { value: -1 } }, + vertexShader: Tge(), + fragmentShader: ` precision mediump float; precision mediump int; @@ -1189,7 +167837,14 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); } - `,blending:Rv,depthTest:!1,depthWrite:!1})}function Tge(){return` + `, + blending: Rv, + depthTest: !1, + depthWrite: !1, + }); +} +function Tge() { + return ` precision mediump float; precision mediump int; @@ -1204,7 +167859,401 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif gl_Position = vec4( position, 1.0 ); } - `}function kLr(e){let t=new WeakMap,n=new WeakMap,r=null;function o(p,f=!1){if(p===null||p===void 0)return null;if(f)return i(p);return a(p)}function a(p){if(p&&p.isTexture){let f=p.mapping;if(f===vX||f===bX)if(t.has(p)){let m=t.get(p).texture;return s(m,p.mapping)}else{let m=p.image;if(m&&m.height>0){let g=new kge(m.height);return g.fromEquirectangularTexture(e,p),t.set(p,g),p.addEventListener("dispose",c),s(g.texture,p.mapping)}else return null}}return p}function i(p){if(p&&p.isTexture){let f=p.mapping,m=f===vX||f===bX,g=f===T7||f===d5;if(m||g){let v=n.get(p),y=v!==void 0?v.texture.pmremVersion:0;if(p.isRenderTargetTexture&&p.pmremVersion!==y){if(r===null)r=new Ige(e);return v=m?r.fromEquirectangular(p,v):r.fromCubemap(p,v),v.texture.pmremVersion=p.pmremVersion,n.set(p,v),v.texture}else if(v!==void 0)return v.texture;else{let x=p.image;if(m&&x&&x.height>0||g&&x&&l(x)){if(r===null)r=new Ige(e);return v=m?r.fromEquirectangular(p):r.fromCubemap(p),v.texture.pmremVersion=p.pmremVersion,n.set(p,v),p.addEventListener("dispose",u),v.texture}else return null}}}return p}function s(p,f){if(f===vX)p.mapping=T7;else if(f===bX)p.mapping=d5;return p}function l(p){let f=0,m=6;for(let g=0;g=65535?P7:R7)(p,1);v.version=g;let y=a.get(d);if(y)t.remove(y);a.set(d,v)}function u(d){let p=a.get(d);if(p){let f=d.index;if(f!==null){if(p.versiont.maxTextureSize)C=Math.ceil(w/t.maxTextureSize),w=t.maxTextureSize;let E=new Float32Array(w*C*4*d),T=new GB(E,w,C,d);T.type=s1,T.needsUpdate=!0;let I=A*4;for(let L=0;L 0) { + let g = new kge(m.height); + return ( + g.fromEquirectangularTexture(e, p), + t.set(p, g), + p.addEventListener("dispose", c), + s(g.texture, p.mapping) + ); + } else return null; + } + } + return p; + } + function i(p) { + if (p && p.isTexture) { + let f = p.mapping, + m = f === vX || f === bX, + g = f === T7 || f === d5; + if (m || g) { + let v = n.get(p), + y = v !== void 0 ? v.texture.pmremVersion : 0; + if (p.isRenderTargetTexture && p.pmremVersion !== y) { + if (r === null) r = new Ige(e); + return ( + (v = m ? r.fromEquirectangular(p, v) : r.fromCubemap(p, v)), + (v.texture.pmremVersion = p.pmremVersion), + n.set(p, v), + v.texture + ); + } else if (v !== void 0) return v.texture; + else { + let x = p.image; + if ((m && x && x.height > 0) || (g && x && l(x))) { + if (r === null) r = new Ige(e); + return ( + (v = m ? r.fromEquirectangular(p) : r.fromCubemap(p)), + (v.texture.pmremVersion = p.pmremVersion), + n.set(p, v), + p.addEventListener("dispose", u), + v.texture + ); + } else return null; + } + } + } + return p; + } + function s(p, f) { + if (f === vX) p.mapping = T7; + else if (f === bX) p.mapping = d5; + return p; + } + function l(p) { + let f = 0, + m = 6; + for (let g = 0; g < m; g++) if (p[g] !== void 0) f++; + return f === m; + } + function c(p) { + let f = p.target; + f.removeEventListener("dispose", c); + let m = t.get(f); + if (m !== void 0) (t.delete(f), m.dispose()); + } + function u(p) { + let f = p.target; + f.removeEventListener("dispose", u); + let m = n.get(f); + if (m !== void 0) (n.delete(f), m.dispose()); + } + function d() { + if (((t = new WeakMap()), (n = new WeakMap()), r !== null)) + (r.dispose(), (r = null)); + } + return { get: o, dispose: d }; +} +function RLr(e) { + let t = {}; + function n(r) { + if (t[r] !== void 0) return t[r]; + let o = e.getExtension(r); + return ((t[r] = o), o); + } + return { + has: function (r) { + return n(r) !== null; + }, + init: function () { + (n("EXT_color_buffer_float"), + n("WEBGL_clip_cull_distance"), + n("OES_texture_float_linear"), + n("EXT_color_buffer_half_float"), + n("WEBGL_multisampled_render_to_texture"), + n("WEBGL_render_shared_exponent")); + }, + get: function (r) { + let o = n(r); + if (o === null) Kx("WebGLRenderer: " + r + " extension not supported."); + return o; + }, + }; +} +function PLr(e, t, n, r) { + let o = {}, + a = new WeakMap(); + function i(d) { + let p = d.target; + if (p.index !== null) t.remove(p.index); + for (let m in p.attributes) t.remove(p.attributes[m]); + (p.removeEventListener("dispose", i), delete o[p.id]); + let f = a.get(p); + if (f) (t.remove(f), a.delete(p)); + if ((r.releaseStatesOfGeometry(p), p.isInstancedBufferGeometry === !0)) + delete p._maxInstanceCount; + n.memory.geometries--; + } + function s(d, p) { + if (o[p.id] === !0) return p; + return ( + p.addEventListener("dispose", i), + (o[p.id] = !0), + n.memory.geometries++, + p + ); + } + function l(d) { + let p = d.attributes; + for (let f in p) t.update(p[f], e.ARRAY_BUFFER); + } + function c(d) { + let p = [], + f = d.index, + m = d.attributes.position, + g = 0; + if (m === void 0) return; + if (f !== null) { + let x = f.array; + g = f.version; + for (let A = 0, w = x.length; A < w; A += 3) { + let C = x[A + 0], + E = x[A + 1], + T = x[A + 2]; + p.push(C, E, E, T, T, C); + } + } else { + let x = m.array; + g = m.version; + for (let A = 0, w = x.length / 3 - 1; A < w; A += 3) { + let C = A + 0, + E = A + 1, + T = A + 2; + p.push(C, E, E, T, T, C); + } + } + let v = new (m.count >= 65535 ? P7 : R7)(p, 1); + v.version = g; + let y = a.get(d); + if (y) t.remove(y); + a.set(d, v); + } + function u(d) { + let p = a.get(d); + if (p) { + let f = d.index; + if (f !== null) { + if (p.version < f.version) c(d); + } + } else c(d); + return a.get(d); + } + return { get: s, update: l, getWireframeAttribute: u }; +} +function MLr(e, t, n) { + let r; + function o(d) { + r = d; + } + let a, i; + function s(d) { + ((a = d.type), (i = d.bytesPerElement)); + } + function l(d, p) { + (e.drawElements(r, p, a, d * i), n.update(p, r, 1)); + } + function c(d, p, f) { + if (f === 0) return; + (e.drawElementsInstanced(r, p, a, d * i, f), n.update(p, r, f)); + } + function u(d, p, f) { + if (f === 0) return; + t.get("WEBGL_multi_draw").multiDrawElementsWEBGL(r, p, 0, a, d, 0, f); + let g = 0; + for (let v = 0; v < f; v++) g += p[v]; + n.update(g, r, 1); + } + ((this.setMode = o), + (this.setIndex = s), + (this.render = l), + (this.renderInstances = c), + (this.renderMultiDraw = u)); +} +function DLr(e) { + let t = { geometries: 0, textures: 0 }, + n = { frame: 0, calls: 0, triangles: 0, points: 0, lines: 0 }; + function r(a, i, s) { + switch ((n.calls++, i)) { + case e.TRIANGLES: + n.triangles += s * (a / 3); + break; + case e.LINES: + n.lines += s * (a / 2); + break; + case e.LINE_STRIP: + n.lines += s * (a - 1); + break; + case e.LINE_LOOP: + n.lines += s * a; + break; + case e.POINTS: + n.points += s * a; + break; + default: + wr("WebGLInfo: Unknown draw mode:", i); + break; + } + } + function o() { + ((n.calls = 0), (n.triangles = 0), (n.points = 0), (n.lines = 0)); + } + return { + memory: t, + render: n, + programs: null, + autoReset: !0, + reset: o, + update: r, + }; +} +function LLr(e, t, n) { + let r = new WeakMap(), + o = new Ja(); + function a(i, s, l) { + let c = i.morphTargetInfluences, + u = + s.morphAttributes.position || + s.morphAttributes.normal || + s.morphAttributes.color, + d = u !== void 0 ? u.length : 0, + p = r.get(s); + if (p === void 0 || p.count !== d) { + let k = function () { + (T.dispose(), r.delete(s), s.removeEventListener("dispose", k)); + }; + if (p !== void 0) p.texture.dispose(); + let f = s.morphAttributes.position !== void 0, + m = s.morphAttributes.normal !== void 0, + g = s.morphAttributes.color !== void 0, + v = s.morphAttributes.position || [], + y = s.morphAttributes.normal || [], + x = s.morphAttributes.color || [], + A = 0; + if (f === !0) A = 1; + if (m === !0) A = 2; + if (g === !0) A = 3; + let w = s.attributes.position.count * A, + C = 1; + if (w > t.maxTextureSize) + ((C = Math.ceil(w / t.maxTextureSize)), (w = t.maxTextureSize)); + let E = new Float32Array(w * C * 4 * d), + T = new GB(E, w, C, d); + ((T.type = s1), (T.needsUpdate = !0)); + let I = A * 4; + for (let L = 0; L < d; L++) { + let O = v[L], + B = y[L], + U = x[L], + D = w * C * 4 * L; + for (let N = 0; N < O.count; N++) { + let _ = N * I; + if (f === !0) + (o.fromBufferAttribute(O, N), + (E[D + _ + 0] = o.x), + (E[D + _ + 1] = o.y), + (E[D + _ + 2] = o.z), + (E[D + _ + 3] = 0)); + if (m === !0) + (o.fromBufferAttribute(B, N), + (E[D + _ + 4] = o.x), + (E[D + _ + 5] = o.y), + (E[D + _ + 6] = o.z), + (E[D + _ + 7] = 0)); + if (g === !0) + (o.fromBufferAttribute(U, N), + (E[D + _ + 8] = o.x), + (E[D + _ + 9] = o.y), + (E[D + _ + 10] = o.z), + (E[D + _ + 11] = U.itemSize === 4 ? o.w : 1)); + } + } + ((p = { count: d, texture: T, size: new vt(w, C) }), + r.set(s, p), + s.addEventListener("dispose", k)); + } + if (i.isInstancedMesh === !0 && i.morphTexture !== null) + l.getUniforms().setValue(e, "morphTexture", i.morphTexture, n); + else { + let f = 0; + for (let g = 0; g < c.length; g++) f += c[g]; + let m = s.morphTargetsRelative ? 1 : 1 - f; + (l.getUniforms().setValue(e, "morphTargetBaseInfluence", m), + l.getUniforms().setValue(e, "morphTargetInfluences", c)); + } + (l.getUniforms().setValue(e, "morphTargetsTexture", p.texture, n), + l.getUniforms().setValue(e, "morphTargetsTextureSize", p.size)); + } + return { update: a }; +} +function BLr(e, t, n, r, o) { + let a = new WeakMap(); + function i(c) { + let u = o.render.frame, + d = c.geometry, + p = t.get(c, d); + if (a.get(p) !== u) (t.update(p), a.set(p, u)); + if (c.isInstancedMesh) { + if (c.hasEventListener("dispose", l) === !1) + c.addEventListener("dispose", l); + if (a.get(c) !== u) { + if ( + (n.update(c.instanceMatrix, e.ARRAY_BUFFER), c.instanceColor !== null) + ) + n.update(c.instanceColor, e.ARRAY_BUFFER); + a.set(c, u); + } + } + if (c.isSkinnedMesh) { + let f = c.skeleton; + if (a.get(f) !== u) (f.update(), a.set(f, u)); + } + return p; + } + function s() { + a = new WeakMap(); + } + function l(c) { + let u = c.target; + if ( + (u.removeEventListener("dispose", l), + r.releaseStatesOfObject(u), + n.remove(u.instanceMatrix), + u.instanceColor !== null) + ) + n.remove(u.instanceColor); + } + return { update: i, dispose: s }; +} +function FLr(e, t, n, r, o, a) { + let i = new ef(t, n, { + type: e, + depthBuffer: o, + stencilBuffer: a, + samples: r ? 4 : 0, + storeMultisampledDepthBuffer: !1, + storeMultisampledStencilBuffer: !1, + resolveDepthBuffer: !1, + resolveStencilBuffer: !1, + }), + s = null, + l = null, + c = new Jr(); + (c.setAttribute("position", new Jn([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), + c.setAttribute("uv", new Jn([0, 2, 0, 0, 2, 0], 2))); + let u = new iW({ + uniforms: { tDiffuse: { value: null } }, + vertexShader: ` precision highp float; uniform mat4 modelViewMatrix; @@ -1218,7 +168267,8 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:` + }`, + fragmentShader: ` precision highp float; uniform sampler2D tDiffuse; @@ -1250,17 +168300,788 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif #ifdef SRGB_TRANSFER gl_FragColor = sRGBTransferOETF( gl_FragColor ); #endif - }`,depthTest:!1,depthWrite:!1}),d=new Na(c,u),p=new qy(-1,1,1,-1,0,1),f=null,m=null,g=!1,v,y=null,x=[],A=!1;this.setSize=function(w,C){if(i.setSize(w,C),s!==null)s.setSize(w,C);if(l!==null)l.setSize(w,C);for(let E=0;E0&&x[0].isRenderPass===!0;let{width:C,height:E}=i;if(x.length>0&&s===null)s=new ef(C,E,{type:O0,depthBuffer:!1,stencilBuffer:!1}),l=new ef(C,E,{type:O0,depthBuffer:!1,stencilBuffer:!1});for(let T=0;T0)return e;let o=t*n,a=u0n[o];if(a===void 0)a=new Float32Array(o),u0n[o]=a;if(t!==0){r.toArray(a,0);for(let i=1,s=0;i!==t;++i)s+=n,e[i].toArray(a,s)}return a}function ip(e,t){if(e.length!==t.length)return!1;for(let n=0,r=e.length;n0)this.seq=r.concat(o)}setValue(e,t,n,r){let o=this.map[t];if(o!==void 0)o.setValue(e,n,r)}setOptional(e,t,n){let r=t[n];if(r!==void 0)this.setValue(e,n,r)}static upload(e,t,n,r){for(let o=0,a=t.length;o!==a;++o){let i=t[o],s=n[i.id];if(s.needsUpdate!==!1)i.setValue(e,s.value,r)}}static seqWithValue(e,t){let n=[];for(let r=0,o=e.length;r!==o;++r){let a=e[r];if(a.id in t)n.push(a)}return n}}function g0n(e,t,n){let r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),r}function IBr(e,t){let n=e.split(` -`),r=[],o=Math.max(t-6,0),a=Math.min(t+6,n.length);for(let i=o;i":" "} ${s}: ${n[i]}`)}return r.join(` -`)}function TBr(e){jo._getMatrix(y0n,jo.workingColorSpace,e);let t=`mat3( ${y0n.elements.map((n)=>n.toFixed(4))} )`;switch(jo.getTransfer(e)){case T0e:return[t,"LinearTransferOETF"];case cs:return[t,"sRGBTransferOETF"];default:return zn("WebGLProgram: Unsupported color space: ",e),[t,"LinearTransferOETF"]}}function v0n(e,t,n){let r=e.getShaderParameter(t,e.COMPILE_STATUS),a=(e.getShaderInfoLog(t)||"").trim();if(r&&a==="")return"";let i=/ERROR: 0:(\d+)/.exec(a);if(i){let s=parseInt(i[1]);return n.toUpperCase()+` + }`, + depthTest: !1, + depthWrite: !1, + }), + d = new Na(c, u), + p = new qy(-1, 1, 1, -1, 0, 1), + f = null, + m = null, + g = !1, + v, + y = null, + x = [], + A = !1; + ((this.setSize = function (w, C) { + if ((i.setSize(w, C), s !== null)) s.setSize(w, C); + if (l !== null) l.setSize(w, C); + for (let E = 0; E < x.length; E++) { + let T = x[E]; + if (T.setSize) T.setSize(w, C); + } + }), + (this.setEffects = function (w) { + ((x = w), (A = x.length > 0 && x[0].isRenderPass === !0)); + let { width: C, height: E } = i; + if (x.length > 0 && s === null) + ((s = new ef(C, E, { type: O0, depthBuffer: !1, stencilBuffer: !1 })), + (l = new ef(C, E, { type: O0, depthBuffer: !1, stencilBuffer: !1 }))); + for (let T = 0; T < x.length; T++) { + let I = x[T]; + if (I.setSize) I.setSize(C, E); + } + }), + (this.begin = function (w, C) { + if (g) return !1; + if (w.toneMapping === B0 && x.length === 0) return !1; + if (((y = C), C !== null)) { + let { width: E, height: T } = C; + if (i.width !== E || i.height !== T) this.setSize(E, T); + } + if (A === !1) w.setRenderTarget(i); + return ((v = w.toneMapping), (w.toneMapping = B0), !0); + }), + (this.hasRenderPass = function () { + return A; + }), + (this.end = function (w, C) { + ((w.toneMapping = v), (g = !0)); + let E = i, + T = s; + for (let I = 0; I < x.length; I++) { + let k = x[I]; + if (k.enabled === !1) continue; + if ((k.render(w, T, E, C), k.needsSwap !== !1)) + ((E = T), (T = T === s ? l : s)); + } + if (f !== w.outputColorSpace || m !== w.toneMapping) { + if ( + ((f = w.outputColorSpace), + (m = w.toneMapping), + (u.defines = {}), + jo.getTransfer(f) === cs) + ) + u.defines.SRGB_TRANSFER = ""; + let I = OLr[m]; + if (I) u.defines[I] = ""; + u.needsUpdate = !0; + } + ((u.uniforms.tDiffuse.value = E.texture), + w.setRenderTarget(y), + w.render(d, p), + (y = null), + (g = !1)); + }), + (this.isCompositing = function () { + return g; + }), + (this.dispose = function () { + if ((i.dispose(), s !== null)) s.dispose(); + if (l !== null) l.dispose(); + (c.dispose(), u.dispose()); + })); +} +function rO(e, t, n) { + let r = e[0]; + if (r <= 0 || r > 0) return e; + let o = t * n, + a = u0n[o]; + if (a === void 0) ((a = new Float32Array(o)), (u0n[o] = a)); + if (t !== 0) { + r.toArray(a, 0); + for (let i = 1, s = 0; i !== t; ++i) ((s += n), e[i].toArray(a, s)); + } + return a; +} +function ip(e, t) { + if (e.length !== t.length) return !1; + for (let n = 0, r = e.length; n < r; n++) if (e[n] !== t[n]) return !1; + return !0; +} +function sp(e, t) { + for (let n = 0, r = t.length; n < r; n++) e[n] = t[n]; +} +function Rge(e, t) { + let n = d0n[t]; + if (n === void 0) ((n = new Int32Array(t)), (d0n[t] = n)); + for (let r = 0; r !== t; ++r) n[r] = e.allocateTextureUnit(); + return n; +} +function ULr(e, t) { + let n = this.cache; + if (n[0] === t) return; + (e.uniform1f(this.addr, t), (n[0] = t)); +} +function NLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y) + (e.uniform2f(this.addr, t.x, t.y), (n[0] = t.x), (n[1] = t.y)); + } else { + if (ip(n, t)) return; + (e.uniform2fv(this.addr, t), sp(n, t)); + } +} +function zLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y || n[2] !== t.z) + (e.uniform3f(this.addr, t.x, t.y, t.z), + (n[0] = t.x), + (n[1] = t.y), + (n[2] = t.z)); + } else if (t.r !== void 0) { + if (n[0] !== t.r || n[1] !== t.g || n[2] !== t.b) + (e.uniform3f(this.addr, t.r, t.g, t.b), + (n[0] = t.r), + (n[1] = t.g), + (n[2] = t.b)); + } else { + if (ip(n, t)) return; + (e.uniform3fv(this.addr, t), sp(n, t)); + } +} +function _Lr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y || n[2] !== t.z || n[3] !== t.w) + (e.uniform4f(this.addr, t.x, t.y, t.z, t.w), + (n[0] = t.x), + (n[1] = t.y), + (n[2] = t.z), + (n[3] = t.w)); + } else { + if (ip(n, t)) return; + (e.uniform4fv(this.addr, t), sp(n, t)); + } +} +function HLr(e, t) { + let n = this.cache, + r = t.elements; + if (r === void 0) { + if (ip(n, t)) return; + (e.uniformMatrix2fv(this.addr, !1, t), sp(n, t)); + } else { + if (ip(n, r)) return; + (m0n.set(r), e.uniformMatrix2fv(this.addr, !1, m0n), sp(n, r)); + } +} +function VLr(e, t) { + let n = this.cache, + r = t.elements; + if (r === void 0) { + if (ip(n, t)) return; + (e.uniformMatrix3fv(this.addr, !1, t), sp(n, t)); + } else { + if (ip(n, r)) return; + (f0n.set(r), e.uniformMatrix3fv(this.addr, !1, f0n), sp(n, r)); + } +} +function GLr(e, t) { + let n = this.cache, + r = t.elements; + if (r === void 0) { + if (ip(n, t)) return; + (e.uniformMatrix4fv(this.addr, !1, t), sp(n, t)); + } else { + if (ip(n, r)) return; + (p0n.set(r), e.uniformMatrix4fv(this.addr, !1, p0n), sp(n, r)); + } +} +function qLr(e, t) { + let n = this.cache; + if (n[0] === t) return; + (e.uniform1i(this.addr, t), (n[0] = t)); +} +function ZLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y) + (e.uniform2i(this.addr, t.x, t.y), (n[0] = t.x), (n[1] = t.y)); + } else { + if (ip(n, t)) return; + (e.uniform2iv(this.addr, t), sp(n, t)); + } +} +function QLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y || n[2] !== t.z) + (e.uniform3i(this.addr, t.x, t.y, t.z), + (n[0] = t.x), + (n[1] = t.y), + (n[2] = t.z)); + } else { + if (ip(n, t)) return; + (e.uniform3iv(this.addr, t), sp(n, t)); + } +} +function XLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y || n[2] !== t.z || n[3] !== t.w) + (e.uniform4i(this.addr, t.x, t.y, t.z, t.w), + (n[0] = t.x), + (n[1] = t.y), + (n[2] = t.z), + (n[3] = t.w)); + } else { + if (ip(n, t)) return; + (e.uniform4iv(this.addr, t), sp(n, t)); + } +} +function WLr(e, t) { + let n = this.cache; + if (n[0] === t) return; + (e.uniform1ui(this.addr, t), (n[0] = t)); +} +function YLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y) + (e.uniform2ui(this.addr, t.x, t.y), (n[0] = t.x), (n[1] = t.y)); + } else { + if (ip(n, t)) return; + (e.uniform2uiv(this.addr, t), sp(n, t)); + } +} +function KLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y || n[2] !== t.z) + (e.uniform3ui(this.addr, t.x, t.y, t.z), + (n[0] = t.x), + (n[1] = t.y), + (n[2] = t.z)); + } else { + if (ip(n, t)) return; + (e.uniform3uiv(this.addr, t), sp(n, t)); + } +} +function JLr(e, t) { + let n = this.cache; + if (t.x !== void 0) { + if (n[0] !== t.x || n[1] !== t.y || n[2] !== t.z || n[3] !== t.w) + (e.uniform4ui(this.addr, t.x, t.y, t.z, t.w), + (n[0] = t.x), + (n[1] = t.y), + (n[2] = t.z), + (n[3] = t.w)); + } else { + if (ip(n, t)) return; + (e.uniform4uiv(this.addr, t), sp(n, t)); + } +} +function jLr(e, t, n) { + let r = this.cache, + o = n.allocateTextureUnit(); + if (r[0] !== o) (e.uniform1i(this.addr, o), (r[0] = o)); + let a; + if (this.type === e.SAMPLER_2D_SHADOW) + ((wVe.compareFunction = n.isReversedDepthBuffer() ? RX : kX), (a = wVe)); + else a = R0n; + n.setTexture2D(t || a, o); +} +function $Lr(e, t, n) { + let r = this.cache, + o = n.allocateTextureUnit(); + if (r[0] !== o) (e.uniform1i(this.addr, o), (r[0] = o)); + n.setTexture3D(t || M0n, o); +} +function eBr(e, t, n) { + let r = this.cache, + o = n.allocateTextureUnit(); + if (r[0] !== o) (e.uniform1i(this.addr, o), (r[0] = o)); + n.setTextureCube(t || D0n, o); +} +function tBr(e, t, n) { + let r = this.cache, + o = n.allocateTextureUnit(); + if (r[0] !== o) (e.uniform1i(this.addr, o), (r[0] = o)); + n.setTexture2DArray(t || P0n, o); +} +function nBr(e) { + switch (e) { + case 5126: + return ULr; + case 35664: + return NLr; + case 35665: + return zLr; + case 35666: + return _Lr; + case 35674: + return HLr; + case 35675: + return VLr; + case 35676: + return GLr; + case 5124: + case 35670: + return qLr; + case 35667: + case 35671: + return ZLr; + case 35668: + case 35672: + return QLr; + case 35669: + case 35673: + return XLr; + case 5125: + return WLr; + case 36294: + return YLr; + case 36295: + return KLr; + case 36296: + return JLr; + case 35678: + case 36198: + case 36298: + case 36306: + case 35682: + return jLr; + case 35679: + case 36299: + case 36307: + return $Lr; + case 35680: + case 36300: + case 36308: + case 36293: + return eBr; + case 36289: + case 36303: + case 36311: + case 36292: + return tBr; + } +} +function rBr(e, t) { + e.uniform1fv(this.addr, t); +} +function oBr(e, t) { + let n = rO(t, this.size, 2); + e.uniform2fv(this.addr, n); +} +function aBr(e, t) { + let n = rO(t, this.size, 3); + e.uniform3fv(this.addr, n); +} +function iBr(e, t) { + let n = rO(t, this.size, 4); + e.uniform4fv(this.addr, n); +} +function sBr(e, t) { + let n = rO(t, this.size, 4); + e.uniformMatrix2fv(this.addr, !1, n); +} +function lBr(e, t) { + let n = rO(t, this.size, 9); + e.uniformMatrix3fv(this.addr, !1, n); +} +function cBr(e, t) { + let n = rO(t, this.size, 16); + e.uniformMatrix4fv(this.addr, !1, n); +} +function uBr(e, t) { + e.uniform1iv(this.addr, t); +} +function dBr(e, t) { + e.uniform2iv(this.addr, t); +} +function pBr(e, t) { + e.uniform3iv(this.addr, t); +} +function fBr(e, t) { + e.uniform4iv(this.addr, t); +} +function mBr(e, t) { + e.uniform1uiv(this.addr, t); +} +function hBr(e, t) { + e.uniform2uiv(this.addr, t); +} +function gBr(e, t) { + e.uniform3uiv(this.addr, t); +} +function yBr(e, t) { + e.uniform4uiv(this.addr, t); +} +function vBr(e, t, n) { + let r = this.cache, + o = t.length, + a = Rge(n, o); + if (!ip(r, a)) (e.uniform1iv(this.addr, a), sp(r, a)); + let i; + if (this.type === e.SAMPLER_2D_SHADOW) i = wVe; + else i = R0n; + for (let s = 0; s !== o; ++s) n.setTexture2D(t[s] || i, a[s]); +} +function bBr(e, t, n) { + let r = this.cache, + o = t.length, + a = Rge(n, o); + if (!ip(r, a)) (e.uniform1iv(this.addr, a), sp(r, a)); + for (let i = 0; i !== o; ++i) n.setTexture3D(t[i] || M0n, a[i]); +} +function xBr(e, t, n) { + let r = this.cache, + o = t.length, + a = Rge(n, o); + if (!ip(r, a)) (e.uniform1iv(this.addr, a), sp(r, a)); + for (let i = 0; i !== o; ++i) n.setTextureCube(t[i] || D0n, a[i]); +} +function ABr(e, t, n) { + let r = this.cache, + o = t.length, + a = Rge(n, o); + if (!ip(r, a)) (e.uniform1iv(this.addr, a), sp(r, a)); + for (let i = 0; i !== o; ++i) n.setTexture2DArray(t[i] || P0n, a[i]); +} +function wBr(e) { + switch (e) { + case 5126: + return rBr; + case 35664: + return oBr; + case 35665: + return aBr; + case 35666: + return iBr; + case 35674: + return sBr; + case 35675: + return lBr; + case 35676: + return cBr; + case 5124: + case 35670: + return uBr; + case 35667: + case 35671: + return dBr; + case 35668: + case 35672: + return pBr; + case 35669: + case 35673: + return fBr; + case 5125: + return mBr; + case 36294: + return hBr; + case 36295: + return gBr; + case 36296: + return yBr; + case 35678: + case 36198: + case 36298: + case 36306: + case 35682: + return vBr; + case 35679: + case 36299: + case 36307: + return bBr; + case 35680: + case 36300: + case 36308: + case 36293: + return xBr; + case 36289: + case 36303: + case 36311: + case 36292: + return ABr; + } +} +class L0n { + constructor(e, t, n) { + ((this.id = e), + (this.addr = n), + (this.cache = []), + (this.type = t.type), + (this.setValue = nBr(t.type))); + } +} +class B0n { + constructor(e, t, n) { + ((this.id = e), + (this.addr = n), + (this.cache = []), + (this.type = t.type), + (this.size = t.size), + (this.setValue = wBr(t.type))); + } +} +class O0n { + constructor(e) { + ((this.id = e), (this.seq = []), (this.map = {})); + } + setValue(e, t, n) { + let r = this.seq; + for (let o = 0, a = r.length; o !== a; ++o) { + let i = r[o]; + i.setValue(e, t[i.id], n); + } + } +} +function h0n(e, t) { + (e.seq.push(t), (e.map[t.id] = t)); +} +function SBr(e, t, n) { + let r = e.name, + o = r.length; + xVe.lastIndex = 0; + while (!0) { + let a = xVe.exec(r), + i = xVe.lastIndex, + s = a[1], + l = a[2] === "]", + c = a[3]; + if (l) s = s | 0; + if (c === void 0 || (c === "[" && i + 2 === o)) { + h0n(n, c === void 0 ? new L0n(s, e, t) : new B0n(s, e, t)); + break; + } else { + let d = n.map[s]; + if (d === void 0) ((d = new O0n(s)), h0n(n, d)); + n = d; + } + } +} +class SW { + constructor(e, t) { + ((this.seq = []), (this.map = {})); + let n = e.getProgramParameter(t, e.ACTIVE_UNIFORMS); + for (let a = 0; a < n; ++a) { + let i = e.getActiveUniform(t, a), + s = e.getUniformLocation(t, i.name); + SBr(i, s, this); + } + let r = [], + o = []; + for (let a of this.seq) + if ( + a.type === e.SAMPLER_2D_SHADOW || + a.type === e.SAMPLER_CUBE_SHADOW || + a.type === e.SAMPLER_2D_ARRAY_SHADOW + ) + r.push(a); + else o.push(a); + if (r.length > 0) this.seq = r.concat(o); + } + setValue(e, t, n, r) { + let o = this.map[t]; + if (o !== void 0) o.setValue(e, n, r); + } + setOptional(e, t, n) { + let r = t[n]; + if (r !== void 0) this.setValue(e, n, r); + } + static upload(e, t, n, r) { + for (let o = 0, a = t.length; o !== a; ++o) { + let i = t[o], + s = n[i.id]; + if (s.needsUpdate !== !1) i.setValue(e, s.value, r); + } + } + static seqWithValue(e, t) { + let n = []; + for (let r = 0, o = e.length; r !== o; ++r) { + let a = e[r]; + if (a.id in t) n.push(a); + } + return n; + } +} +function g0n(e, t, n) { + let r = e.createShader(t); + return (e.shaderSource(r, n), e.compileShader(r), r); +} +function IBr(e, t) { + let n = e.split(` +`), + r = [], + o = Math.max(t - 6, 0), + a = Math.min(t + 6, n.length); + for (let i = o; i < a; i++) { + let s = i + 1; + r.push(`${s === t ? ">" : " "} ${s}: ${n[i]}`); + } + return r.join(` +`); +} +function TBr(e) { + jo._getMatrix(y0n, jo.workingColorSpace, e); + let t = `mat3( ${y0n.elements.map((n) => n.toFixed(4))} )`; + switch (jo.getTransfer(e)) { + case T0e: + return [t, "LinearTransferOETF"]; + case cs: + return [t, "sRGBTransferOETF"]; + default: + return ( + zn("WebGLProgram: Unsupported color space: ", e), + [t, "LinearTransferOETF"] + ); + } +} +function v0n(e, t, n) { + let r = e.getShaderParameter(t, e.COMPILE_STATUS), + a = (e.getShaderInfoLog(t) || "").trim(); + if (r && a === "") return ""; + let i = /ERROR: 0:(\d+)/.exec(a); + if (i) { + let s = parseInt(i[1]); + return ( + n.toUpperCase() + + ` -`+a+` +` + + a + + ` -`+IBr(e.getShaderSource(t),s)}else return a}function kBr(e,t){let n=TBr(t);return[`vec4 ${e}( vec4 value ) {`,` return ${n[1]}( vec4( value.rgb * ${n[0]}, value.a ) );`,"}"].join(` -`)}function PBr(e,t){let n=RBr[t];if(n===void 0)return zn("WebGLProgram: Unsupported toneMapping:",t),"vec3 "+e+"( vec3 color ) { return LinearToneMapping( color ); }";return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function MBr(){jo.getLuminanceCoefficients(Ege);let e=Ege.x.toFixed(4),t=Ege.y.toFixed(4),n=Ege.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${e}, ${t}, ${n} );`,"\treturn dot( weights, rgb );","}"].join(` -`)}function DBr(e){return[e.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",e.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(wW).join(` -`)}function LBr(e){let t=[];for(let n in e){let r=e[n];if(r===!1)continue;t.push("#define "+n+" "+r)}return t.join(` -`)}function BBr(e,t){let n={},r=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES);for(let o=0;o")}return SVe(n)}function A0n(e){return e.replace(NBr,zBr)}function zBr(e,t,n,r){let o="";for(let a=parseInt(t);a"); + } + return SVe(n); +} +function A0n(e) { + return e.replace(NBr, zBr); +} +function zBr(e, t, n, r) { + let o = ""; + for (let a = parseInt(t); a < parseInt(n); a++) + o += r + .replace(/\[\s*i\s*\]/g, "[ " + a + " ]") + .replace(/UNROLLED_LOOP_INDEX/g, a); + return o; +} +function w0n(e) { + let t = `precision ${e.precision} float; precision ${e.precision} int; precision ${e.precision} sampler2D; precision ${e.precision} samplerCube; @@ -1277,33 +169098,6495 @@ in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;unif precision ${e.precision} usampler3D; precision ${e.precision} usamplerCube; precision ${e.precision} usampler2DArray; - `;if(e.precision==="highp")t+=` -#define HIGH_PRECISION`;else if(e.precision==="mediump")t+=` -#define MEDIUM_PRECISION`;else if(e.precision==="lowp")t+=` -#define LOW_PRECISION`;return t}function HBr(e){return _Br[e.shadowMapType]||"SHADOWMAP_TYPE_BASIC"}function GBr(e){if(e.envMap===!1)return"ENVMAP_TYPE_CUBE";return VBr[e.envMapMode]||"ENVMAP_TYPE_CUBE"}function ZBr(e){if(e.envMap===!1)return"ENVMAP_MODE_REFLECTION";return qBr[e.envMapMode]||"ENVMAP_MODE_REFLECTION"}function XBr(e){if(e.envMap===!1)return"ENVMAP_BLENDING_NONE";return QBr[e.combine]||"ENVMAP_BLENDING_NONE"}function WBr(e){let t=e.envMapCubeUVHeight;if(t===null)return null;let n=Math.log2(t)-2,r=1/t;return{texelWidth:1/(3*Math.max(Math.pow(2,n),112)),texelHeight:r,maxMip:n}}function YBr(e,t,n,r){let o=e.getContext(),{defines:a,vertexShader:i,fragmentShader:s}=n,l=HBr(n),c=GBr(n),u=ZBr(n),d=XBr(n),p=WBr(n),f=DBr(n),m=LBr(a),g=o.createProgram(),v,y,x=n.glslVersion?"#version "+n.glslVersion+` -`:"";if(n.isRawShaderMaterial){if(v=["#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,m].filter(wW).join(` -`),v.length>0)v+=` -`;if(y=["#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,m].filter(wW).join(` -`),y.length>0)y+=` -`}else v=[w0n(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,m,n.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",n.batching?"#define USE_BATCHING":"",n.batchingColor?"#define USE_BATCHING_COLOR":"",n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.instancingMorph?"#define USE_INSTANCING_MORPH":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+u:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexNormals?"#define HAS_NORMAL":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&n.flatShading===!1?"#define USE_MORPHNORMALS":"",n.morphColors?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.logarithmicDepthBuffer?"#define USE_LOGARITHMIC_DEPTH_BUFFER":"",n.reversedDepthBuffer?"#define USE_REVERSED_DEPTH_BUFFER":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH","\tuniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif",` -`].filter(wW).join(` -`),y=[w0n(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,m,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+c:"",n.envMap?"#define "+u:"",n.envMap?"#define "+d:"",p?"#define CUBEUV_TEXEL_WIDTH "+p.texelWidth:"",p?"#define CUBEUV_TEXEL_HEIGHT "+p.texelHeight:"",p?"#define CUBEUV_MAX_MIP "+p.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.packedNormalMap?"#define USE_PACKED_NORMALMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.dispersion?"#define USE_DISPERSION":"",n.retroreflection?"#define USE_RETROREFLECTION":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&n.flatShading===!1?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas||n.batchingColor?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.numLightProbeGrids>0?"#define USE_LIGHT_PROBES_GRID":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",n.logarithmicDepthBuffer?"#define USE_LOGARITHMIC_DEPTH_BUFFER":"",n.reversedDepthBuffer?"#define USE_REVERSED_DEPTH_BUFFER":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==B0?"#define TONE_MAPPING":"",n.toneMapping!==B0?qo.tonemapping_pars_fragment:"",n.toneMapping!==B0?PBr("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",qo.colorspace_pars_fragment,kBr("linearToOutputTexel",n.outputColorSpace),MBr(),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"",` -`].filter(wW).join(` -`);if(i=SVe(i),i=b0n(i,n),i=x0n(i,n),s=SVe(s),s=b0n(s,n),s=x0n(s,n),i=A0n(i),s=A0n(s),n.isRawShaderMaterial!==!0)x=`#version 300 es -`,v=[f,"#define attribute in","#define varying out","#define texture2D texture"].join(` -`)+` -`+v,y=["#define varying in",n.glslVersion===R0e?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===R0e?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` -`)+` -`+y;let A=x+v+i,w=x+y+s,C=g0n(o,o.VERTEX_SHADER,A),E=g0n(o,o.FRAGMENT_SHADER,w);if(o.attachShader(g,C),o.attachShader(g,E),n.index0AttributeName!==void 0)o.bindAttribLocation(g,0,n.index0AttributeName);else if(n.hasPositionAttribute===!0)o.bindAttribLocation(g,0,"position");o.linkProgram(g);function T(O){if(e.debug.checkShaderErrors){let B=o.getProgramInfoLog(g)||"",U=o.getShaderInfoLog(C)||"",D=o.getShaderInfoLog(E)||"",N=B.trim(),_=U.trim(),G=D.trim(),Z=!0,q=!0;if(o.getProgramParameter(g,o.LINK_STATUS)===!1)if(Z=!1,typeof e.debug.onShaderError==="function")e.debug.onShaderError(o,g,C,E);else{let H=v0n(o,C,"vertex"),te=v0n(o,E,"fragment");wr("WebGLProgram: Shader Error "+o.getError()+" - VALIDATE_STATUS "+o.getProgramParameter(g,o.VALIDATE_STATUS)+` + `; + if (e.precision === "highp") + t += ` +#define HIGH_PRECISION`; + else if (e.precision === "mediump") + t += ` +#define MEDIUM_PRECISION`; + else if (e.precision === "lowp") + t += ` +#define LOW_PRECISION`; + return t; +} +function HBr(e) { + return _Br[e.shadowMapType] || "SHADOWMAP_TYPE_BASIC"; +} +function GBr(e) { + if (e.envMap === !1) return "ENVMAP_TYPE_CUBE"; + return VBr[e.envMapMode] || "ENVMAP_TYPE_CUBE"; +} +function ZBr(e) { + if (e.envMap === !1) return "ENVMAP_MODE_REFLECTION"; + return qBr[e.envMapMode] || "ENVMAP_MODE_REFLECTION"; +} +function XBr(e) { + if (e.envMap === !1) return "ENVMAP_BLENDING_NONE"; + return QBr[e.combine] || "ENVMAP_BLENDING_NONE"; +} +function WBr(e) { + let t = e.envMapCubeUVHeight; + if (t === null) return null; + let n = Math.log2(t) - 2, + r = 1 / t; + return { + texelWidth: 1 / (3 * Math.max(Math.pow(2, n), 112)), + texelHeight: r, + maxMip: n, + }; +} +function YBr(e, t, n, r) { + let o = e.getContext(), + { defines: a, vertexShader: i, fragmentShader: s } = n, + l = HBr(n), + c = GBr(n), + u = ZBr(n), + d = XBr(n), + p = WBr(n), + f = DBr(n), + m = LBr(a), + g = o.createProgram(), + v, + y, + x = n.glslVersion + ? "#version " + + n.glslVersion + + ` +` + : ""; + if (n.isRawShaderMaterial) { + if ( + ((v = [ + "#define SHADER_TYPE " + n.shaderType, + "#define SHADER_NAME " + n.shaderName, + m, + ].filter(wW).join(` +`)), + v.length > 0) + ) + v += ` +`; + if ( + ((y = [ + "#define SHADER_TYPE " + n.shaderType, + "#define SHADER_NAME " + n.shaderName, + m, + ].filter(wW).join(` +`)), + y.length > 0) + ) + y += ` +`; + } else + ((v = [ + w0n(n), + "#define SHADER_TYPE " + n.shaderType, + "#define SHADER_NAME " + n.shaderName, + m, + n.extensionClipCullDistance ? "#define USE_CLIP_DISTANCE" : "", + n.batching ? "#define USE_BATCHING" : "", + n.batchingColor ? "#define USE_BATCHING_COLOR" : "", + n.instancing ? "#define USE_INSTANCING" : "", + n.instancingColor ? "#define USE_INSTANCING_COLOR" : "", + n.instancingMorph ? "#define USE_INSTANCING_MORPH" : "", + n.useFog && n.fog ? "#define USE_FOG" : "", + n.useFog && n.fogExp2 ? "#define FOG_EXP2" : "", + n.map ? "#define USE_MAP" : "", + n.envMap ? "#define USE_ENVMAP" : "", + n.envMap ? "#define " + u : "", + n.lightMap ? "#define USE_LIGHTMAP" : "", + n.aoMap ? "#define USE_AOMAP" : "", + n.bumpMap ? "#define USE_BUMPMAP" : "", + n.normalMap ? "#define USE_NORMALMAP" : "", + n.normalMapObjectSpace ? "#define USE_NORMALMAP_OBJECTSPACE" : "", + n.normalMapTangentSpace ? "#define USE_NORMALMAP_TANGENTSPACE" : "", + n.displacementMap ? "#define USE_DISPLACEMENTMAP" : "", + n.emissiveMap ? "#define USE_EMISSIVEMAP" : "", + n.anisotropy ? "#define USE_ANISOTROPY" : "", + n.anisotropyMap ? "#define USE_ANISOTROPYMAP" : "", + n.clearcoatMap ? "#define USE_CLEARCOATMAP" : "", + n.clearcoatRoughnessMap ? "#define USE_CLEARCOAT_ROUGHNESSMAP" : "", + n.clearcoatNormalMap ? "#define USE_CLEARCOAT_NORMALMAP" : "", + n.iridescenceMap ? "#define USE_IRIDESCENCEMAP" : "", + n.iridescenceThicknessMap ? "#define USE_IRIDESCENCE_THICKNESSMAP" : "", + n.specularMap ? "#define USE_SPECULARMAP" : "", + n.specularColorMap ? "#define USE_SPECULAR_COLORMAP" : "", + n.specularIntensityMap ? "#define USE_SPECULAR_INTENSITYMAP" : "", + n.roughnessMap ? "#define USE_ROUGHNESSMAP" : "", + n.metalnessMap ? "#define USE_METALNESSMAP" : "", + n.alphaMap ? "#define USE_ALPHAMAP" : "", + n.alphaHash ? "#define USE_ALPHAHASH" : "", + n.transmission ? "#define USE_TRANSMISSION" : "", + n.transmissionMap ? "#define USE_TRANSMISSIONMAP" : "", + n.thicknessMap ? "#define USE_THICKNESSMAP" : "", + n.sheenColorMap ? "#define USE_SHEEN_COLORMAP" : "", + n.sheenRoughnessMap ? "#define USE_SHEEN_ROUGHNESSMAP" : "", + n.mapUv ? "#define MAP_UV " + n.mapUv : "", + n.alphaMapUv ? "#define ALPHAMAP_UV " + n.alphaMapUv : "", + n.lightMapUv ? "#define LIGHTMAP_UV " + n.lightMapUv : "", + n.aoMapUv ? "#define AOMAP_UV " + n.aoMapUv : "", + n.emissiveMapUv ? "#define EMISSIVEMAP_UV " + n.emissiveMapUv : "", + n.bumpMapUv ? "#define BUMPMAP_UV " + n.bumpMapUv : "", + n.normalMapUv ? "#define NORMALMAP_UV " + n.normalMapUv : "", + n.displacementMapUv + ? "#define DISPLACEMENTMAP_UV " + n.displacementMapUv + : "", + n.metalnessMapUv ? "#define METALNESSMAP_UV " + n.metalnessMapUv : "", + n.roughnessMapUv ? "#define ROUGHNESSMAP_UV " + n.roughnessMapUv : "", + n.anisotropyMapUv ? "#define ANISOTROPYMAP_UV " + n.anisotropyMapUv : "", + n.clearcoatMapUv ? "#define CLEARCOATMAP_UV " + n.clearcoatMapUv : "", + n.clearcoatNormalMapUv + ? "#define CLEARCOAT_NORMALMAP_UV " + n.clearcoatNormalMapUv + : "", + n.clearcoatRoughnessMapUv + ? "#define CLEARCOAT_ROUGHNESSMAP_UV " + n.clearcoatRoughnessMapUv + : "", + n.iridescenceMapUv + ? "#define IRIDESCENCEMAP_UV " + n.iridescenceMapUv + : "", + n.iridescenceThicknessMapUv + ? "#define IRIDESCENCE_THICKNESSMAP_UV " + n.iridescenceThicknessMapUv + : "", + n.sheenColorMapUv ? "#define SHEEN_COLORMAP_UV " + n.sheenColorMapUv : "", + n.sheenRoughnessMapUv + ? "#define SHEEN_ROUGHNESSMAP_UV " + n.sheenRoughnessMapUv + : "", + n.specularMapUv ? "#define SPECULARMAP_UV " + n.specularMapUv : "", + n.specularColorMapUv + ? "#define SPECULAR_COLORMAP_UV " + n.specularColorMapUv + : "", + n.specularIntensityMapUv + ? "#define SPECULAR_INTENSITYMAP_UV " + n.specularIntensityMapUv + : "", + n.transmissionMapUv + ? "#define TRANSMISSIONMAP_UV " + n.transmissionMapUv + : "", + n.thicknessMapUv ? "#define THICKNESSMAP_UV " + n.thicknessMapUv : "", + n.vertexTangents && n.flatShading === !1 ? "#define USE_TANGENT" : "", + n.vertexNormals ? "#define HAS_NORMAL" : "", + n.vertexColors ? "#define USE_COLOR" : "", + n.vertexAlphas ? "#define USE_COLOR_ALPHA" : "", + n.vertexUv1s ? "#define USE_UV1" : "", + n.vertexUv2s ? "#define USE_UV2" : "", + n.vertexUv3s ? "#define USE_UV3" : "", + n.pointsUvs ? "#define USE_POINTS_UV" : "", + n.flatShading ? "#define FLAT_SHADED" : "", + n.skinning ? "#define USE_SKINNING" : "", + n.morphTargets ? "#define USE_MORPHTARGETS" : "", + n.morphNormals && n.flatShading === !1 ? "#define USE_MORPHNORMALS" : "", + n.morphColors ? "#define USE_MORPHCOLORS" : "", + n.morphTargetsCount > 0 + ? "#define MORPHTARGETS_TEXTURE_STRIDE " + n.morphTextureStride + : "", + n.morphTargetsCount > 0 + ? "#define MORPHTARGETS_COUNT " + n.morphTargetsCount + : "", + n.doubleSided ? "#define DOUBLE_SIDED" : "", + n.flipSided ? "#define FLIP_SIDED" : "", + n.shadowMapEnabled ? "#define USE_SHADOWMAP" : "", + n.shadowMapEnabled ? "#define " + l : "", + n.sizeAttenuation ? "#define USE_SIZEATTENUATION" : "", + n.numLightProbes > 0 ? "#define USE_LIGHT_PROBES" : "", + n.logarithmicDepthBuffer ? "#define USE_LOGARITHMIC_DEPTH_BUFFER" : "", + n.reversedDepthBuffer ? "#define USE_REVERSED_DEPTH_BUFFER" : "", + "uniform mat4 modelMatrix;", + "uniform mat4 modelViewMatrix;", + "uniform mat4 projectionMatrix;", + "uniform mat4 viewMatrix;", + "uniform mat3 normalMatrix;", + "uniform vec3 cameraPosition;", + "uniform bool isOrthographic;", + "#ifdef USE_INSTANCING", + "\tattribute mat4 instanceMatrix;", + "#endif", + "#ifdef USE_INSTANCING_COLOR", + "\tattribute vec3 instanceColor;", + "#endif", + "#ifdef USE_INSTANCING_MORPH", + "\tuniform sampler2D morphTexture;", + "#endif", + "attribute vec3 position;", + "attribute vec3 normal;", + "attribute vec2 uv;", + "#ifdef USE_UV1", + "\tattribute vec2 uv1;", + "#endif", + "#ifdef USE_UV2", + "\tattribute vec2 uv2;", + "#endif", + "#ifdef USE_UV3", + "\tattribute vec2 uv3;", + "#endif", + "#ifdef USE_TANGENT", + "\tattribute vec4 tangent;", + "#endif", + "#if defined( USE_COLOR_ALPHA )", + "\tattribute vec4 color;", + "#elif defined( USE_COLOR )", + "\tattribute vec3 color;", + "#endif", + "#ifdef USE_SKINNING", + "\tattribute vec4 skinIndex;", + "\tattribute vec4 skinWeight;", + "#endif", + ` +`, + ].filter(wW).join(` +`)), + (y = [ + w0n(n), + "#define SHADER_TYPE " + n.shaderType, + "#define SHADER_NAME " + n.shaderName, + m, + n.useFog && n.fog ? "#define USE_FOG" : "", + n.useFog && n.fogExp2 ? "#define FOG_EXP2" : "", + n.alphaToCoverage ? "#define ALPHA_TO_COVERAGE" : "", + n.map ? "#define USE_MAP" : "", + n.matcap ? "#define USE_MATCAP" : "", + n.envMap ? "#define USE_ENVMAP" : "", + n.envMap ? "#define " + c : "", + n.envMap ? "#define " + u : "", + n.envMap ? "#define " + d : "", + p ? "#define CUBEUV_TEXEL_WIDTH " + p.texelWidth : "", + p ? "#define CUBEUV_TEXEL_HEIGHT " + p.texelHeight : "", + p ? "#define CUBEUV_MAX_MIP " + p.maxMip + ".0" : "", + n.lightMap ? "#define USE_LIGHTMAP" : "", + n.aoMap ? "#define USE_AOMAP" : "", + n.bumpMap ? "#define USE_BUMPMAP" : "", + n.normalMap ? "#define USE_NORMALMAP" : "", + n.normalMapObjectSpace ? "#define USE_NORMALMAP_OBJECTSPACE" : "", + n.normalMapTangentSpace ? "#define USE_NORMALMAP_TANGENTSPACE" : "", + n.packedNormalMap ? "#define USE_PACKED_NORMALMAP" : "", + n.emissiveMap ? "#define USE_EMISSIVEMAP" : "", + n.anisotropy ? "#define USE_ANISOTROPY" : "", + n.anisotropyMap ? "#define USE_ANISOTROPYMAP" : "", + n.clearcoat ? "#define USE_CLEARCOAT" : "", + n.clearcoatMap ? "#define USE_CLEARCOATMAP" : "", + n.clearcoatRoughnessMap ? "#define USE_CLEARCOAT_ROUGHNESSMAP" : "", + n.clearcoatNormalMap ? "#define USE_CLEARCOAT_NORMALMAP" : "", + n.dispersion ? "#define USE_DISPERSION" : "", + n.retroreflection ? "#define USE_RETROREFLECTION" : "", + n.iridescence ? "#define USE_IRIDESCENCE" : "", + n.iridescenceMap ? "#define USE_IRIDESCENCEMAP" : "", + n.iridescenceThicknessMap ? "#define USE_IRIDESCENCE_THICKNESSMAP" : "", + n.specularMap ? "#define USE_SPECULARMAP" : "", + n.specularColorMap ? "#define USE_SPECULAR_COLORMAP" : "", + n.specularIntensityMap ? "#define USE_SPECULAR_INTENSITYMAP" : "", + n.roughnessMap ? "#define USE_ROUGHNESSMAP" : "", + n.metalnessMap ? "#define USE_METALNESSMAP" : "", + n.alphaMap ? "#define USE_ALPHAMAP" : "", + n.alphaTest ? "#define USE_ALPHATEST" : "", + n.alphaHash ? "#define USE_ALPHAHASH" : "", + n.sheen ? "#define USE_SHEEN" : "", + n.sheenColorMap ? "#define USE_SHEEN_COLORMAP" : "", + n.sheenRoughnessMap ? "#define USE_SHEEN_ROUGHNESSMAP" : "", + n.transmission ? "#define USE_TRANSMISSION" : "", + n.transmissionMap ? "#define USE_TRANSMISSIONMAP" : "", + n.thicknessMap ? "#define USE_THICKNESSMAP" : "", + n.vertexTangents && n.flatShading === !1 ? "#define USE_TANGENT" : "", + n.vertexColors || n.instancingColor ? "#define USE_COLOR" : "", + n.vertexAlphas || n.batchingColor ? "#define USE_COLOR_ALPHA" : "", + n.vertexUv1s ? "#define USE_UV1" : "", + n.vertexUv2s ? "#define USE_UV2" : "", + n.vertexUv3s ? "#define USE_UV3" : "", + n.pointsUvs ? "#define USE_POINTS_UV" : "", + n.gradientMap ? "#define USE_GRADIENTMAP" : "", + n.flatShading ? "#define FLAT_SHADED" : "", + n.doubleSided ? "#define DOUBLE_SIDED" : "", + n.flipSided ? "#define FLIP_SIDED" : "", + n.shadowMapEnabled ? "#define USE_SHADOWMAP" : "", + n.shadowMapEnabled ? "#define " + l : "", + n.premultipliedAlpha ? "#define PREMULTIPLIED_ALPHA" : "", + n.numLightProbes > 0 ? "#define USE_LIGHT_PROBES" : "", + n.numLightProbeGrids > 0 ? "#define USE_LIGHT_PROBES_GRID" : "", + n.decodeVideoTexture ? "#define DECODE_VIDEO_TEXTURE" : "", + n.decodeVideoTextureEmissive + ? "#define DECODE_VIDEO_TEXTURE_EMISSIVE" + : "", + n.logarithmicDepthBuffer ? "#define USE_LOGARITHMIC_DEPTH_BUFFER" : "", + n.reversedDepthBuffer ? "#define USE_REVERSED_DEPTH_BUFFER" : "", + "uniform mat4 viewMatrix;", + "uniform vec3 cameraPosition;", + "uniform bool isOrthographic;", + n.toneMapping !== B0 ? "#define TONE_MAPPING" : "", + n.toneMapping !== B0 ? qo.tonemapping_pars_fragment : "", + n.toneMapping !== B0 ? PBr("toneMapping", n.toneMapping) : "", + n.dithering ? "#define DITHERING" : "", + n.opaque ? "#define OPAQUE" : "", + qo.colorspace_pars_fragment, + kBr("linearToOutputTexel", n.outputColorSpace), + MBr(), + n.useDepthPacking ? "#define DEPTH_PACKING " + n.depthPacking : "", + ` +`, + ].filter(wW).join(` +`))); + if ( + ((i = SVe(i)), + (i = b0n(i, n)), + (i = x0n(i, n)), + (s = SVe(s)), + (s = b0n(s, n)), + (s = x0n(s, n)), + (i = A0n(i)), + (s = A0n(s)), + n.isRawShaderMaterial !== !0) + ) + ((x = `#version 300 es +`), + (v = + [ + f, + "#define attribute in", + "#define varying out", + "#define texture2D texture", + ].join(` +`) + + ` +` + + v), + (y = + [ + "#define varying in", + n.glslVersion === R0e + ? "" + : "layout(location = 0) out highp vec4 pc_fragColor;", + n.glslVersion === R0e ? "" : "#define gl_FragColor pc_fragColor", + "#define gl_FragDepthEXT gl_FragDepth", + "#define texture2D texture", + "#define textureCube texture", + "#define texture2DProj textureProj", + "#define texture2DLodEXT textureLod", + "#define texture2DProjLodEXT textureProjLod", + "#define textureCubeLodEXT textureLod", + "#define texture2DGradEXT textureGrad", + "#define texture2DProjGradEXT textureProjGrad", + "#define textureCubeGradEXT textureGrad", + ].join(` +`) + + ` +` + + y)); + let A = x + v + i, + w = x + y + s, + C = g0n(o, o.VERTEX_SHADER, A), + E = g0n(o, o.FRAGMENT_SHADER, w); + if ( + (o.attachShader(g, C), + o.attachShader(g, E), + n.index0AttributeName !== void 0) + ) + o.bindAttribLocation(g, 0, n.index0AttributeName); + else if (n.hasPositionAttribute === !0) + o.bindAttribLocation(g, 0, "position"); + o.linkProgram(g); + function T(O) { + if (e.debug.checkShaderErrors) { + let B = o.getProgramInfoLog(g) || "", + U = o.getShaderInfoLog(C) || "", + D = o.getShaderInfoLog(E) || "", + N = B.trim(), + _ = U.trim(), + G = D.trim(), + Z = !0, + q = !0; + if (o.getProgramParameter(g, o.LINK_STATUS) === !1) + if (((Z = !1), typeof e.debug.onShaderError === "function")) + e.debug.onShaderError(o, g, C, E); + else { + let H = v0n(o, C, "vertex"), + te = v0n(o, E, "fragment"); + wr( + "WebGLProgram: Shader Error " + + o.getError() + + " - VALIDATE_STATUS " + + o.getProgramParameter(g, o.VALIDATE_STATUS) + + ` -Material Name: `+O.name+` -Material Type: `+O.type+` +Material Name: ` + + O.name + + ` +Material Type: ` + + O.type + + ` -Program Info Log: `+N+` -`+H+` -`+te)}else if(N!=="")zn("WebGLProgram: Program Info Log:",N);else if(_===""||G==="")q=!1;if(q)O.diagnostics={runnable:Z,programLog:N,vertexShader:{log:_,prefix:v},fragmentShader:{log:G,prefix:y}}}o.deleteShader(C),o.deleteShader(E),I=new SW(o,g),k=BBr(o,g)}let I;this.getUniforms=function(){if(I===void 0)T(this);return I};let k;this.getAttributes=function(){if(k===void 0)T(this);return k};let L=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){if(L===!1)L=o.getProgramParameter(g,CBr);return L},this.destroy=function(){r.releaseStatesOfProgram(this),o.deleteProgram(g),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=EBr++,this.cacheKey=t,this.usedTimes=1,this.program=g,this.vertexShader=C,this.fragmentShader=E,this}class F0n{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e,t,n){let r=this._getShaderCacheForMaterial(e);if(r.has(t)===!1)r.add(t),t.usedTimes++;if(r.has(n)===!1)r.add(n),n.usedTimes++;return this}remove(e){let t=this.materialCache.get(e);for(let n of t)if(n.usedTimes--,n.usedTimes===0)this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderStage(e){return this._getShaderStage(e.vertexShader)}getFragmentShaderStage(e){return this._getShaderStage(e.fragmentShader)}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache,n=t.get(e);if(n===void 0)n=new Set,t.set(e,n);return n}_getShaderStage(e){let t=this.shaderCache,n=t.get(e);if(n===void 0)n=new U0n(e),t.set(e,n);return n}}class U0n{constructor(e){this.id=KBr++,this.code=e,this.usedTimes=0}}function JBr(e){return e===tA||e===IX||e===TX}function jBr(e,t,n,r,o,a){let i=new $w,s=new F0n,l=new Set,c=[],u=new Map,{logarithmicDepthBuffer:d,precision:p}=r,f={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distance",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function m(I){if(l.add(I),I===0)return"uv";return`uv${I}`}function g(I,k,L,O,B,U){let D=O.fog,N=B.geometry,_=I.isMeshStandardMaterial||I.isMeshLambertMaterial||I.isMeshPhongMaterial?O.environment:null,G=I.isMeshStandardMaterial||I.isMeshLambertMaterial&&!I.envMap||I.isMeshPhongMaterial&&!I.envMap,Z=t.get(I.envMap||_,G),q=!!Z&&Z.mapping===NB?Z.image.height:null,H=f[I.type];if(I.precision!==null){if(p=r.getMaxPrecision(I.precision),p!==I.precision)zn("WebGLProgram.getParameters:",I.precision,"not supported, using",p,"instead.")}let te=N.morphAttributes.position||N.morphAttributes.normal||N.morphAttributes.color,ie=te!==void 0?te.length:0,j=0;if(N.morphAttributes.position!==void 0)j=1;if(N.morphAttributes.normal!==void 0)j=2;if(N.morphAttributes.color!==void 0)j=3;let oe,J,Y,ae;if(H){let Gt=Pv[H];oe=Gt.vertexShader,J=Gt.fragmentShader}else{oe=I.vertexShader,J=I.fragmentShader;let Gt=s.getVertexShaderStage(I),tn=s.getFragmentShaderStage(I);s.update(I,Gt,tn),Y=Gt.id,ae=tn.id}let ne=e.getRenderTarget(),Se=e.state.buffers.depth.getReversed(),fe=B.isInstancedMesh===!0,Ae=B.isBatchedMesh===!0,Ee=!!I.map,pe=!!I.matcap,Re=!!Z,Le=!!I.aoMap,Ne=!!I.lightMap,be=!!I.bumpMap&&I.wireframe===!1,ye=!!I.normalMap,ce=!!I.displacementMap,ue=!!I.emissiveMap,ke=!!I.metalnessMap,se=!!I.roughnessMap,qe=I.anisotropy>0,Me=I.clearcoat>0,Qe=I.dispersion>0,ee=I.retroreflectivity>0,K=I.iridescence>0,we=I.sheen>0,ze=I.transmission>0,tt=qe&&!!I.anisotropyMap,Pe=Me&&!!I.clearcoatMap,Ke=Me&&!!I.clearcoatNormalMap,Ue=Me&&!!I.clearcoatRoughnessMap,Ze=K&&!!I.iridescenceMap,ct=K&&!!I.iridescenceThicknessMap,Rt=we&&!!I.sheenColorMap,de=we&&!!I.sheenRoughnessMap,ge=!!I.specularMap,Oe=!!I.specularColorMap,Xe=!!I.specularIntensityMap,$e=ze&&!!I.transmissionMap,Ie=ze&&!!I.thicknessMap,Ge=!!I.gradientMap,_e=!!I.alphaMap,nt=I.alphaTest>0,rt=!!I.alphaHash,ot=!!I.extensions,At=B0;if(I.toneMapped){if(ne===null||ne.isXRRenderTarget===!0)At=e.toneMapping}let en={shaderID:H,shaderType:I.type,shaderName:I.name,vertexShader:oe,fragmentShader:J,defines:I.defines,customVertexShaderID:Y,customFragmentShaderID:ae,isRawShaderMaterial:I.isRawShaderMaterial===!0,glslVersion:I.glslVersion,precision:p,batching:Ae,batchingColor:Ae&&B._colorsTexture!==null,instancing:fe,instancingColor:fe&&B.instanceColor!==null,instancingMorph:fe&&B.morphTexture!==null,outputColorSpace:ne===null?e.outputColorSpace:ne.isXRRenderTarget===!0?ne.texture.colorSpace:jo.workingColorSpace,alphaToCoverage:!!I.alphaToCoverage,map:Ee,matcap:pe,envMap:Re,envMapMode:Re&&Z.mapping,envMapCubeUVHeight:q,aoMap:Le,lightMap:Ne,bumpMap:be,normalMap:ye,displacementMap:ce,emissiveMap:ue,normalMapObjectSpace:ye&&I.normalMapType===sHe,normalMapTangentSpace:ye&&I.normalMapType===I0e,packedNormalMap:ye&&I.normalMapType===I0e&&JBr(I.normalMap.format),metalnessMap:ke,roughnessMap:se,anisotropy:qe,anisotropyMap:tt,clearcoat:Me,clearcoatMap:Pe,clearcoatNormalMap:Ke,clearcoatRoughnessMap:Ue,dispersion:Qe,retroreflection:ee,iridescence:K,iridescenceMap:Ze,iridescenceThicknessMap:ct,sheen:we,sheenColorMap:Rt,sheenRoughnessMap:de,specularMap:ge,specularColorMap:Oe,specularIntensityMap:Xe,transmission:ze,transmissionMap:$e,thicknessMap:Ie,gradientMap:Ge,opaque:I.transparent===!1&&I.blending===Kw&&I.alphaToCoverage===!1,alphaMap:_e,alphaTest:nt,alphaHash:rt,combine:I.combine,mapUv:Ee&&m(I.map.channel),aoMapUv:Le&&m(I.aoMap.channel),lightMapUv:Ne&&m(I.lightMap.channel),bumpMapUv:be&&m(I.bumpMap.channel),normalMapUv:ye&&m(I.normalMap.channel),displacementMapUv:ce&&m(I.displacementMap.channel),emissiveMapUv:ue&&m(I.emissiveMap.channel),metalnessMapUv:ke&&m(I.metalnessMap.channel),roughnessMapUv:se&&m(I.roughnessMap.channel),anisotropyMapUv:tt&&m(I.anisotropyMap.channel),clearcoatMapUv:Pe&&m(I.clearcoatMap.channel),clearcoatNormalMapUv:Ke&&m(I.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Ue&&m(I.clearcoatRoughnessMap.channel),iridescenceMapUv:Ze&&m(I.iridescenceMap.channel),iridescenceThicknessMapUv:ct&&m(I.iridescenceThicknessMap.channel),sheenColorMapUv:Rt&&m(I.sheenColorMap.channel),sheenRoughnessMapUv:de&&m(I.sheenRoughnessMap.channel),specularMapUv:ge&&m(I.specularMap.channel),specularColorMapUv:Oe&&m(I.specularColorMap.channel),specularIntensityMapUv:Xe&&m(I.specularIntensityMap.channel),transmissionMapUv:$e&&m(I.transmissionMap.channel),thicknessMapUv:Ie&&m(I.thicknessMap.channel),alphaMapUv:_e&&m(I.alphaMap.channel),vertexTangents:!!N.attributes.tangent&&(ye||qe),vertexNormals:!!N.attributes.normal,vertexColors:I.vertexColors,vertexAlphas:I.vertexColors===!0&&!!N.attributes.color&&N.attributes.color.itemSize===4,pointsUvs:B.isPoints===!0&&!!N.attributes.uv&&(Ee||_e),fog:!!D,useFog:I.fog===!0,fogExp2:!!D&&D.isFogExp2,flatShading:I.wireframe===!1&&(I.flatShading===!0||N.attributes.normal===void 0&&ye===!1&&(I.isMeshLambertMaterial||I.isMeshPhongMaterial||I.isMeshStandardMaterial||I.isMeshPhysicalMaterial)),sizeAttenuation:I.sizeAttenuation===!0,logarithmicDepthBuffer:d,reversedDepthBuffer:Se,skinning:B.isSkinnedMesh===!0,hasPositionAttribute:N.attributes.position!==void 0,morphTargets:N.morphAttributes.position!==void 0,morphNormals:N.morphAttributes.normal!==void 0,morphColors:N.morphAttributes.color!==void 0,morphTargetsCount:ie,morphTextureStride:j,numSunLights:k.sun.length,numDirLights:k.directional.length,numPointLights:k.point.length,numSpotLights:k.spot.length,numSpotLightMaps:k.spotLightMap.length,numRectAreaLights:k.rectArea.length,numHemiLights:k.hemi.length,numSunLightShadows:k.sunShadowMap.length,numDirLightShadows:k.directionalShadowMap.length,numPointLightShadows:k.pointShadowMap.length,numSpotLightShadows:k.spotShadowMap.length,numSpotLightShadowsWithMaps:k.numSpotLightShadowsWithMaps,numLightProbes:k.numLightProbes,numLightProbeGrids:U.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:I.dithering,shadowMapEnabled:e.shadowMap.enabled&&L.length>0,shadowMapType:e.shadowMap.type,toneMapping:At,decodeVideoTexture:Ee&&I.map.isVideoTexture===!0&&jo.getTransfer(I.map.colorSpace)===cs,decodeVideoTextureEmissive:ue&&I.emissiveMap.isVideoTexture===!0&&jo.getTransfer(I.emissiveMap.colorSpace)===cs,premultipliedAlpha:I.premultipliedAlpha,doubleSided:I.side===Ph,flipSided:I.side===Rh,useDepthPacking:I.depthPacking>=0,depthPacking:I.depthPacking||0,index0AttributeName:I.index0AttributeName,extensionClipCullDistance:ot&&I.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(ot&&I.extensions.multiDraw===!0||Ae)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:I.customProgramCacheKey()};return en.vertexUv1s=l.has(1),en.vertexUv2s=l.has(2),en.vertexUv3s=l.has(3),l.clear(),en}function v(I){let k=[];if(I.shaderID)k.push(I.shaderID);else k.push(I.customVertexShaderID),k.push(I.customFragmentShaderID);if(I.defines!==void 0)for(let L in I.defines)k.push(L),k.push(I.defines[L]);if(I.isRawShaderMaterial===!1)y(k,I),x(k,I),k.push(e.outputColorSpace);return k.push(I.customProgramCacheKey),k.join()}function y(I,k){I.push(k.precision),I.push(k.outputColorSpace),I.push(k.envMapMode),I.push(k.envMapCubeUVHeight),I.push(k.mapUv),I.push(k.alphaMapUv),I.push(k.lightMapUv),I.push(k.aoMapUv),I.push(k.bumpMapUv),I.push(k.normalMapUv),I.push(k.displacementMapUv),I.push(k.emissiveMapUv),I.push(k.metalnessMapUv),I.push(k.roughnessMapUv),I.push(k.anisotropyMapUv),I.push(k.clearcoatMapUv),I.push(k.clearcoatNormalMapUv),I.push(k.clearcoatRoughnessMapUv),I.push(k.iridescenceMapUv),I.push(k.iridescenceThicknessMapUv),I.push(k.sheenColorMapUv),I.push(k.sheenRoughnessMapUv),I.push(k.specularMapUv),I.push(k.specularColorMapUv),I.push(k.specularIntensityMapUv),I.push(k.transmissionMapUv),I.push(k.thicknessMapUv),I.push(k.combine),I.push(k.fogExp2),I.push(k.sizeAttenuation),I.push(k.morphTargetsCount),I.push(k.morphAttributeCount),I.push(k.numSunLights),I.push(k.numDirLights),I.push(k.numPointLights),I.push(k.numSpotLights),I.push(k.numSpotLightMaps),I.push(k.numHemiLights),I.push(k.numRectAreaLights),I.push(k.numSunLightShadows),I.push(k.numDirLightShadows),I.push(k.numPointLightShadows),I.push(k.numSpotLightShadows),I.push(k.numSpotLightShadowsWithMaps),I.push(k.numLightProbes),I.push(k.shadowMapType),I.push(k.toneMapping),I.push(k.numClippingPlanes),I.push(k.numClipIntersection),I.push(k.depthPacking)}function x(I,k){if(i.disableAll(),k.instancing)i.enable(0);if(k.instancingColor)i.enable(1);if(k.instancingMorph)i.enable(2);if(k.matcap)i.enable(3);if(k.envMap)i.enable(4);if(k.normalMapObjectSpace)i.enable(5);if(k.normalMapTangentSpace)i.enable(6);if(k.clearcoat)i.enable(7);if(k.iridescence)i.enable(8);if(k.alphaTest)i.enable(9);if(k.vertexColors)i.enable(10);if(k.vertexAlphas)i.enable(11);if(k.vertexUv1s)i.enable(12);if(k.vertexUv2s)i.enable(13);if(k.vertexUv3s)i.enable(14);if(k.vertexTangents)i.enable(15);if(k.anisotropy)i.enable(16);if(k.alphaHash)i.enable(17);if(k.batching)i.enable(18);if(k.dispersion)i.enable(19);if(k.retroreflection)i.enable(24);if(k.batchingColor)i.enable(20);if(k.gradientMap)i.enable(21);if(k.packedNormalMap)i.enable(22);if(k.vertexNormals)i.enable(23);if(I.push(i.mask),i.disableAll(),k.fog)i.enable(0);if(k.useFog)i.enable(1);if(k.flatShading)i.enable(2);if(k.logarithmicDepthBuffer)i.enable(3);if(k.reversedDepthBuffer)i.enable(4);if(k.skinning)i.enable(5);if(k.morphTargets)i.enable(6);if(k.morphNormals)i.enable(7);if(k.morphColors)i.enable(8);if(k.premultipliedAlpha)i.enable(9);if(k.shadowMapEnabled)i.enable(10);if(k.doubleSided)i.enable(11);if(k.flipSided)i.enable(12);if(k.useDepthPacking)i.enable(13);if(k.dithering)i.enable(14);if(k.transmission)i.enable(15);if(k.sheen)i.enable(16);if(k.opaque)i.enable(17);if(k.pointsUvs)i.enable(18);if(k.decodeVideoTexture)i.enable(19);if(k.decodeVideoTextureEmissive)i.enable(20);if(k.alphaToCoverage)i.enable(21);if(k.numLightProbeGrids>0)i.enable(22);if(k.hasPositionAttribute)i.enable(23);I.push(i.mask)}function A(I){let k=f[I.type],L;if(k){let O=Pv[k];L=RHe.clone(O.uniforms)}else L=I.uniforms;return L}function w(I,k){let L=u.get(k);if(L!==void 0)++L.usedTimes;else L=new YBr(e,k,I,o),c.push(L),u.set(k,L);return L}function C(I){if(--I.usedTimes===0){let k=c.indexOf(I);c[k]=c[c.length-1],c.pop(),u.delete(I.cacheKey),I.destroy()}}function E(I){s.remove(I)}function T(){s.dispose()}return{getParameters:g,getProgramCacheKey:v,getUniforms:A,acquireProgram:w,releaseProgram:C,releaseShaderCache:E,programs:c,dispose:T}}function $Br(){let e=new WeakMap;function t(i){return e.has(i)}function n(i){let s=e.get(i);if(s===void 0)s={},e.set(i,s);return s}function r(i){e.delete(i)}function o(i,s,l){e.get(i)[s]=l}function a(){e=new WeakMap}return{has:t,get:n,remove:r,update:o,dispose:a}}function eOr(e,t){if(e.groupOrder!==t.groupOrder)return e.groupOrder-t.groupOrder;else if(e.renderOrder!==t.renderOrder)return e.renderOrder-t.renderOrder;else if(e.material.id!==t.material.id)return e.material.id-t.material.id;else if(e.materialVariant!==t.materialVariant)return e.materialVariant-t.materialVariant;else if(e.z!==t.z)return e.z-t.z;else return e.id-t.id}function S0n(e,t){if(e.groupOrder!==t.groupOrder)return e.groupOrder-t.groupOrder;else if(e.renderOrder!==t.renderOrder)return e.renderOrder-t.renderOrder;else if(e.z!==t.z)return t.z-e.z;else return e.id-t.id}function C0n(){let e=[],t=0,n=[],r=[],o=[];function a(){t=0,n.length=0,r.length=0,o.length=0}function i(p){let f=0;if(p.isInstancedMesh)f+=2;if(p.isSkinnedMesh)f+=1;return f}function s(p,f,m,g,v,y){let x=e[t];if(x===void 0)x={id:p.id,object:p,geometry:f,material:m,materialVariant:i(p),groupOrder:g,renderOrder:p.renderOrder,z:v,group:y},e[t]=x;else x.id=p.id,x.object=p,x.geometry=f,x.material=m,x.materialVariant=i(p),x.groupOrder=g,x.renderOrder=p.renderOrder,x.z=v,x.group=y;return t++,x}function l(p,f,m,g,v,y,x){if(x.reversedDepth===!0)v=-v;let A=s(p,f,m,g,v,y);if(m.transmission>0)r.push(A);else if(m.transparent===!0)o.push(A);else n.push(A)}function c(p,f,m,g,v,y){let x=s(p,f,m,g,v,y);if(m.transmission>0)r.unshift(x);else if(m.transparent===!0)o.unshift(x);else n.unshift(x)}function u(p,f){if(n.length>1)n.sort(p||eOr);if(r.length>1)r.sort(f||S0n);if(o.length>1)o.sort(f||S0n)}function d(){for(let p=t,f=e.length;p=a.length)i=new C0n,a.push(i);else i=a[o];return i}function n(){e=new WeakMap}return{get:t,dispose:n}}function nOr(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case"SunLight":case"DirectionalLight":n={direction:new he,color:new _n};break;case"SpotLight":n={position:new he,direction:new he,color:new _n,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new he,color:new _n,distance:0,decay:0};break;case"HemisphereLight":n={direction:new he,skyColor:new _n,groundColor:new _n};break;case"RectAreaLight":n={color:new _n,position:new he,halfWidth:new he,halfHeight:new he};break}return e[t.id]=n,n}}}function rOr(){let e={};return{get:function(t){if(e[t.id]!==void 0)return e[t.id];let n;switch(t.type){case"SunLight":case"DirectionalLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new vt};break;case"SpotLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new vt};break;case"PointLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new vt,shadowCameraNear:1,shadowCameraFar:1000};break}return e[t.id]=n,n}}}function aOr(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function iOr(e){let t=new nOr,n=rOr(),r={version:0,hash:{sunLength:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numSunShadows:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],sun:[],sunShadow:[],sunShadowMap:[],sunShadowMatrix:[],sunShadowCascade:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)r.probe.push(new he);let o=new he,a=new Vn,i=new Vn;function s(c){let u=0,d=0,p=0;for(let B=0;B<9;B++)r.probe[B].set(0,0,0);let f=0,m=0,g=0,v=0,y=0,x=0,A=0,w=0,C=0,E=0,T=0,I=0,k=0,L=0;c.sort(aOr);for(let B=0,U=c.length;B0)if(e.has("OES_texture_float_linear")===!0)r.rectAreaLTC1=Gn.LTC_FLOAT_1,r.rectAreaLTC2=Gn.LTC_FLOAT_2;else r.rectAreaLTC1=Gn.LTC_HALF_1,r.rectAreaLTC2=Gn.LTC_HALF_2;r.ambient[0]=u,r.ambient[1]=d,r.ambient[2]=p;let O=r.hash;if(O.sunLength!==f||O.directionalLength!==v||O.pointLength!==y||O.spotLength!==x||O.rectAreaLength!==A||O.hemiLength!==w||O.numSunShadows!==m||O.numDirectionalShadows!==C||O.numPointShadows!==E||O.numSpotShadows!==T||O.numSpotMaps!==I||O.numLightProbes!==L)r.sun.length=f,r.directional.length=v,r.spot.length=x,r.rectArea.length=A,r.point.length=y,r.hemi.length=w,r.sunShadow.length=m,r.sunShadowMap.length=m,r.sunShadowMatrix.length=g,r.sunShadowCascade.length=g,r.directionalShadow.length=C,r.directionalShadowMap.length=C,r.directionalShadowMatrix.length=C,r.pointShadow.length=E,r.pointShadowMap.length=E,r.pointShadowMatrix.length=E,r.spotShadow.length=T,r.spotShadowMap.length=T,r.spotLightMatrix.length=T+I-k,r.spotLightMap.length=I,r.numSpotLightShadowsWithMaps=k,r.numLightProbes=L,O.sunLength=f,O.directionalLength=v,O.pointLength=y,O.spotLength=x,O.rectAreaLength=A,O.hemiLength=w,O.numSunShadows=m,O.numDirectionalShadows=C,O.numPointShadows=E,O.numSpotShadows=T,O.numSpotMaps=I,O.numLightProbes=L,r.version=oOr++}function l(c,u){let d=0,p=0,f=0,m=0,g=0,v=0,y=u.matrixWorldInverse;for(let x=0,A=c.length;x=i.length)s=new E0n(e),i.push(s);else s=i[a];return s}function r(){t=new WeakMap}return{get:n,dispose:r}}function pOr(e,t,n){let r=new Ww,o=new vt,a=new vt,i=new Ja,s=new lW,l=new cW,c={},u=n.maxTextureSize,d={[$x]:Rh,[Rh]:$x,[Ph]:Ph},p=new Ac({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new vt},radius:{value:4}},vertexShader:lOr,fragmentShader:cOr}),f=p.clone();f.defines.HORIZONTAL_PASS=1;let m=new Jr;m.setAttribute("position",new si(new Float32Array([-1,-1,0.5,3,-1,0.5,-1,3,0.5]),3));let g=new Na(m,p),v=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=u5;let y=this.type;this.render=function(E,T,I){if(v.enabled===!1)return;if(v.autoUpdate===!1&&v.needsUpdate===!1)return;if(E.length===0)return;if(this.type===E7)zn("WebGLShadowMap: PCFSoftShadowMap has been removed. Using PCFShadowMap instead."),this.type=u5;let k=e.getRenderTarget(),L=e.getActiveCubeFace(),O=e.getActiveMipmapLevel(),B=e.state;if(B.setBlending(Rv),B.buffers.depth.getReversed()===!0)B.buffers.color.setClear(0,0,0,0);else B.buffers.color.setClear(1,1,1,1);B.buffers.depth.setTest(!0),B.setScissorTest(!1);let U=y!==this.type;if(U)T.traverse(function(D){if(D.material)if(Array.isArray(D.material))D.material.forEach((N)=>N.needsUpdate=!0);else D.material.needsUpdate=!0});for(let D=0,N=E.length;Du||o.y>u){if(o.x>u)a.x=Math.floor(u/Z.x),o.x=a.x*Z.x,G.mapSize.x=a.x;if(o.y>u)a.y=Math.floor(u/Z.y),o.y=a.y*Z.y,G.mapSize.y=a.y}let q=e.state.buffers.depth.getReversed();if(G.camera._reversedDepth=q,G.map===null||U===!0){if(G.map!==null){if(G.map.depthTexture!==null)G.map.depthTexture.dispose(),G.map.depthTexture=null;G.map.dispose()}if(this.type===Yw){if(_.isPointLight){zn("WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.");continue}G.map=new ef(o.x,o.y,{format:tA,type:O0,minFilter:Mh,magFilter:Mh,generateMipmaps:!1}),G.map.texture.name=_.name+".shadowMap",G.map.depthTexture=new nA(o.x,o.y,s1),G.map.depthTexture.name=_.name+".shadowMapDepth",G.map.depthTexture.format=eA,G.map.depthTexture.compareFunction=null,G.map.depthTexture.minFilter=Jw,G.map.depthTexture.magFilter=Jw}else{if(_.isPointLight)G.map=new kge(o.x),G.map.depthTexture=new _0e(o.x,Dh);else G.map=new ef(o.x,o.y),G.map.depthTexture=new nA(o.x,o.y,Dh);if(G.map.depthTexture.name=_.name+".shadowMap",G.map.depthTexture.format=eA,this.type===u5)G.map.depthTexture.compareFunction=q?RX:kX,G.map.depthTexture.minFilter=Mh,G.map.depthTexture.magFilter=Mh;else G.map.depthTexture.compareFunction=null,G.map.depthTexture.minFilter=Jw,G.map.depthTexture.magFilter=Jw}G.camera.updateProjectionMatrix()}if(G.map.isWebGLCubeRenderTarget!==!0&&(G.map.width!==o.x||G.map.height!==o.y))G.map.setSize(o.x,o.y);let H=G.map.isWebGLCubeRenderTarget?6:G.getViewportCount();if(_.isPointLight!==!0)G.updateMatrices(_,I);for(let te=0;te0||T.map&&T.alphaTest>0||T.alphaToCoverage===!0){let B=L.uuid,U=T.uuid,D=c[B];if(D===void 0)D={},c[B]=D;let N=D[U];if(N===void 0)N=L.clone(),D[U]=N,T.addEventListener("dispose",C);L=N}if(L.visible=T.visible,L.wireframe=T.wireframe,k===Yw)L.side=T.shadowSide!==null?T.shadowSide:T.side;else L.side=T.shadowSide!==null?T.shadowSide:d[T.side];if(L.alphaMap=T.alphaMap,L.alphaTest=T.alphaToCoverage===!0?0.5:T.alphaTest,L.map=T.map,L.clipShadows=T.clipShadows,L.clippingPlanes=T.clippingPlanes,L.clipIntersection=T.clipIntersection,L.displacementMap=T.displacementMap,L.displacementScale=T.displacementScale,L.displacementBias=T.displacementBias,L.wireframeLinewidth=T.wireframeLinewidth,L.linewidth=T.linewidth,I.isPointLight===!0&&L.isMeshDistanceMaterial===!0){let B=e.properties.get(L);B.light=I}return L}function w(E,T,I,k,L){if(E.visible===!1)return;if(E.layers.test(T.layers)&&(E.isMesh||E.isLine||E.isPoints)){if((E.castShadow||E.receiveShadow&&L===Yw)&&(!E.frustumCulled||E.intersectsFrustum(r))){E.modelViewMatrix.multiplyMatrices(I.matrixWorldInverse,E.matrixWorld);let U=t.update(E),D=E.material;if(Array.isArray(D)){let N=U.groups;for(let _=0,G=N.length;_=1;else if(q.indexOf("OpenGL ES")!==-1)Z=parseFloat(/^OpenGL ES (\d)/.exec(q)[1]),G=Z>=2;let H=null,te={},ie=e.getParameter(e.SCISSOR_BOX),j=e.getParameter(e.VIEWPORT),oe=new Ja().fromArray(ie),J=new Ja().fromArray(j);function Y(Ie,Ge,_e,nt){let rt=new Uint8Array(4),ot=e.createTexture();e.bindTexture(Ie,ot),e.texParameteri(Ie,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(Ie,e.TEXTURE_MAG_FILTER,e.NEAREST);for(let At=0;At<_e;At++)if(Ie===e.TEXTURE_3D||Ie===e.TEXTURE_2D_ARRAY)e.texImage3D(Ge,0,e.RGBA,1,1,nt,0,e.RGBA,e.UNSIGNED_BYTE,rt);else e.texImage2D(Ge+At,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,rt);return ot}let ae={};ae[e.TEXTURE_2D]=Y(e.TEXTURE_2D,e.TEXTURE_2D,1),ae[e.TEXTURE_CUBE_MAP]=Y(e.TEXTURE_CUBE_MAP,e.TEXTURE_CUBE_MAP_POSITIVE_X,6),ae[e.TEXTURE_2D_ARRAY]=Y(e.TEXTURE_2D_ARRAY,e.TEXTURE_2D_ARRAY,1,1),ae[e.TEXTURE_3D]=Y(e.TEXTURE_3D,e.TEXTURE_3D,1,1),a.setClear(0,0,0,1),i.setClear(1),s.setClear(0),ne(e.DEPTH_TEST),i.setFunc(zhe),be(!1),ye(Bhe),ne(e.CULL_FACE),Le(Rv);function ne(Ie){if(u[Ie]!==!0)e.enable(Ie),u[Ie]=!0}function Se(Ie){if(u[Ie]!==!1)e.disable(Ie),u[Ie]=!1}function fe(Ie,Ge){if(p[Ie]!==Ge){if(e.bindFramebuffer(Ie,Ge),p[Ie]=Ge,Ie===e.DRAW_FRAMEBUFFER)p[e.FRAMEBUFFER]=Ge;if(Ie===e.FRAMEBUFFER)p[e.DRAW_FRAMEBUFFER]=Ge;return!0}return!1}function Ae(Ie,Ge){let _e=m,nt=!1;if(Ie){if(_e=f.get(Ge),_e===void 0)_e=[],f.set(Ge,_e);let rt=Ie.textures;if(_e.length!==rt.length||_e[0]!==e.COLOR_ATTACHMENT0){for(let ot=0,At=rt.length;ot"u"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new vt,u=new WeakMap,d=new Set,p,f=new WeakMap,m=!1;try{m=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch(ee){}function g(ee,K){return m?new OffscreenCanvas(ee,K):DB("canvas")}function v(ee,K,we){let ze=1,tt=Qe(ee);if(tt.width>we||tt.height>we)ze=we/Math.max(tt.width,tt.height);if(ze<1)if(typeof HTMLImageElement<"u"&&ee instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&ee instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&ee instanceof ImageBitmap||typeof VideoFrame<"u"&&ee instanceof VideoFrame){let Pe=Math.floor(ze*tt.width),Ke=Math.floor(ze*tt.height);if(p===void 0)p=g(Pe,Ke);let Ue=K?g(Pe,Ke):p;return Ue.width=Pe,Ue.height=Ke,Ue.getContext("2d").drawImage(ee,0,0,Pe,Ke),zn("WebGLRenderer: Texture has been resized from ("+tt.width+"x"+tt.height+") to ("+Pe+"x"+Ke+")."),Ue}else{if("data"in ee)zn("WebGLRenderer: Image in DataTexture is too big ("+tt.width+"x"+tt.height+").");return ee}return ee}function y(ee){return ee.generateMipmaps}function x(ee){e.generateMipmap(ee)}function A(ee){if(ee.isWebGLCubeRenderTarget)return e.TEXTURE_CUBE_MAP;if(ee.isWebGL3DRenderTarget)return e.TEXTURE_3D;if(ee.isWebGLArrayRenderTarget||ee.isCompressedArrayTexture)return e.TEXTURE_2D_ARRAY;return e.TEXTURE_2D}function w(ee,K,we,ze,tt,Pe=!1){if(ee!==null){if(e[ee]!==void 0)return e[ee];zn("WebGLRenderer: Attempt to use non-existing WebGL internal format '"+ee+"'")}let Ke;if(ze){if(Ke=t.get("EXT_texture_norm16"),!Ke)zn("WebGLRenderer: Unable to use normalized textures without EXT_texture_norm16 extension")}let Ue=K;if(K===e.RED){if(we===e.FLOAT)Ue=e.R32F;if(we===e.HALF_FLOAT)Ue=e.R16F;if(we===e.UNSIGNED_BYTE)Ue=e.R8;if(we===e.UNSIGNED_SHORT&&Ke)Ue=Ke.R16_EXT;if(we===e.SHORT&&Ke)Ue=Ke.R16_SNORM_EXT}if(K===e.RED_INTEGER){if(we===e.UNSIGNED_BYTE)Ue=e.R8UI;if(we===e.UNSIGNED_SHORT)Ue=e.R16UI;if(we===e.UNSIGNED_INT)Ue=e.R32UI;if(we===e.BYTE)Ue=e.R8I;if(we===e.SHORT)Ue=e.R16I;if(we===e.INT)Ue=e.R32I}if(K===e.RG){if(we===e.FLOAT)Ue=e.RG32F;if(we===e.HALF_FLOAT)Ue=e.RG16F;if(we===e.UNSIGNED_BYTE)Ue=e.RG8;if(we===e.UNSIGNED_SHORT&&Ke)Ue=Ke.RG16_EXT;if(we===e.SHORT&&Ke)Ue=Ke.RG16_SNORM_EXT}if(K===e.RG_INTEGER){if(we===e.UNSIGNED_BYTE)Ue=e.RG8UI;if(we===e.UNSIGNED_SHORT)Ue=e.RG16UI;if(we===e.UNSIGNED_INT)Ue=e.RG32UI;if(we===e.BYTE)Ue=e.RG8I;if(we===e.SHORT)Ue=e.RG16I;if(we===e.INT)Ue=e.RG32I}if(K===e.RGB_INTEGER){if(we===e.UNSIGNED_BYTE)Ue=e.RGB8UI;if(we===e.UNSIGNED_SHORT)Ue=e.RGB16UI;if(we===e.UNSIGNED_INT)Ue=e.RGB32UI;if(we===e.BYTE)Ue=e.RGB8I;if(we===e.SHORT)Ue=e.RGB16I;if(we===e.INT)Ue=e.RGB32I}if(K===e.RGBA_INTEGER){if(we===e.UNSIGNED_BYTE)Ue=e.RGBA8UI;if(we===e.UNSIGNED_SHORT)Ue=e.RGBA16UI;if(we===e.UNSIGNED_INT)Ue=e.RGBA32UI;if(we===e.BYTE)Ue=e.RGBA8I;if(we===e.SHORT)Ue=e.RGBA16I;if(we===e.INT)Ue=e.RGBA32I}if(K===e.RGB){if(we===e.UNSIGNED_SHORT&&Ke)Ue=Ke.RGB16_EXT;if(we===e.SHORT&&Ke)Ue=Ke.RGB16_SNORM_EXT;if(we===e.UNSIGNED_INT_5_9_9_9_REV)Ue=e.RGB9_E5;if(we===e.UNSIGNED_INT_10F_11F_11F_REV)Ue=e.R11F_G11F_B10F}if(K===e.RGBA){let Ze=Pe?T0e:jo.getTransfer(tt);if(we===e.FLOAT)Ue=e.RGBA32F;if(we===e.HALF_FLOAT)Ue=e.RGBA16F;if(we===e.UNSIGNED_BYTE)Ue=Ze===cs?e.SRGB8_ALPHA8:e.RGBA8;if(we===e.UNSIGNED_SHORT&&Ke)Ue=Ke.RGBA16_EXT;if(we===e.SHORT&&Ke)Ue=Ke.RGBA16_SNORM_EXT;if(we===e.UNSIGNED_SHORT_4_4_4_4)Ue=e.RGBA4;if(we===e.UNSIGNED_SHORT_5_5_5_1)Ue=e.RGB5_A1}if(Ue===e.R16F||Ue===e.R32F||Ue===e.RG16F||Ue===e.RG32F||Ue===e.RGBA16F||Ue===e.RGBA32F)t.get("EXT_color_buffer_float");return Ue}function C(ee,K){let we;if(ee){if(K===null||K===Dh||K===k7)we=e.DEPTH24_STENCIL8;else if(K===s1)we=e.DEPTH32F_STENCIL8;else if(K===_B)we=e.DEPTH24_STENCIL8,zn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")}else if(K===null||K===Dh||K===k7)we=e.DEPTH_COMPONENT24;else if(K===s1)we=e.DEPTH_COMPONENT32F;else if(K===_B)we=e.DEPTH_COMPONENT16;return we}function E(ee,K){if(y(ee)===!0||ee.isFramebufferTexture&&ee.minFilter!==Jw&&ee.minFilter!==Mh)return Math.log2(Math.max(K.width,K.height))+1;else if(ee.mipmaps!==void 0&&ee.mipmaps.length>0)return ee.mipmaps.length;else if(ee.isCompressedTexture&&Array.isArray(ee.image))return K.mipmaps.length;else return 1}function T(ee){let K=ee.target;if(K.removeEventListener("dispose",T),k(K),K.isVideoTexture)u.delete(K);if(K.isHTMLTexture)d.delete(K)}function I(ee){let K=ee.target;K.removeEventListener("dispose",I),O(K)}function k(ee){let K=r.get(ee);if(K.__webglInit===void 0)return;let we=ee.source,ze=f.get(we);if(ze){let tt=ze[K.__cacheKey];if(tt.usedTimes--,tt.usedTimes===0)L(ee);if(Object.keys(ze).length===0)f.delete(we)}r.remove(ee)}function L(ee){let K=r.get(ee);e.deleteTexture(K.__webglTexture);let we=ee.source,ze=f.get(we);delete ze[K.__cacheKey],i.memory.textures--}function O(ee){let K=r.get(ee);if(ee.depthTexture)ee.depthTexture.dispose(),r.remove(ee.depthTexture);if(ee.isWebGLCubeRenderTarget)for(let ze=0;ze<6;ze++){if(Array.isArray(K.__webglFramebuffer[ze]))for(let tt=0;tt=o.maxTextures)zn("WebGLTextures: Trying to use "+(ee+1)+" texture units while this GPU supports only "+o.maxTextures);return B+=1,ee}function G(ee){let K=[];return K.push(ee.wrapS),K.push(ee.wrapT),K.push(ee.wrapR||0),K.push(ee.magFilter),K.push(ee.minFilter),K.push(ee.anisotropy),K.push(ee.internalFormat),K.push(ee.format),K.push(ee.type),K.push(ee.generateMipmaps),K.push(ee.premultiplyAlpha),K.push(ee.flipY),K.push(ee.unpackAlignment),K.push(ee.colorSpace),K.join()}function Z(ee,K){let we=r.get(ee);if(ee.isVideoTexture)qe(ee);if(ee.isRenderTargetTexture===!1&&ee.isExternalTexture!==!0&&ee.version>0&&we.__version!==ee.version){let ze=ee.image;if(ze===null)zn("WebGLRenderer: Texture marked for update but no image data found.");else if(ze.complete===!1)zn("WebGLRenderer: Texture marked for update but image is incomplete");else{Se(we,ee,K);return}}else if(ee.isExternalTexture)we.__webglTexture=ee.sourceTexture?ee.sourceTexture:null;n.bindTexture(e.TEXTURE_2D,we.__webglTexture,e.TEXTURE0+K)}function q(ee,K){let we=r.get(ee);if(ee.isRenderTargetTexture===!1&&ee.version>0&&we.__version!==ee.version){Se(we,ee,K);return}else if(ee.isExternalTexture)we.__webglTexture=ee.sourceTexture?ee.sourceTexture:null;n.bindTexture(e.TEXTURE_2D_ARRAY,we.__webglTexture,e.TEXTURE0+K)}function H(ee,K){let we=r.get(ee);if(ee.isRenderTargetTexture===!1&&ee.version>0&&we.__version!==ee.version){Se(we,ee,K);return}n.bindTexture(e.TEXTURE_3D,we.__webglTexture,e.TEXTURE0+K)}function te(ee,K){let we=r.get(ee);if(ee.isCubeDepthTexture!==!0&&ee.version>0&&we.__version!==ee.version){fe(we,ee,K);return}n.bindTexture(e.TEXTURE_CUBE_MAP,we.__webglTexture,e.TEXTURE0+K)}let ie={[J_e]:e.REPEAT,[xX]:e.CLAMP_TO_EDGE,[j_e]:e.MIRRORED_REPEAT},j={[Jw]:e.NEAREST,[$_e]:e.NEAREST_MIPMAP_NEAREST,[zB]:e.NEAREST_MIPMAP_LINEAR,[Mh]:e.LINEAR,[AX]:e.LINEAR_MIPMAP_NEAREST,[p5]:e.LINEAR_MIPMAP_LINEAR},oe={[lHe]:e.NEVER,[fHe]:e.ALWAYS,[cHe]:e.LESS,[kX]:e.LEQUAL,[uHe]:e.EQUAL,[RX]:e.GEQUAL,[dHe]:e.GREATER,[pHe]:e.NOTEQUAL};function J(ee,K){if(K.type===s1&&t.has("OES_texture_float_linear")===!1&&(K.magFilter===Mh||K.magFilter===AX||K.magFilter===zB||K.magFilter===p5||K.minFilter===Mh||K.minFilter===AX||K.minFilter===zB||K.minFilter===p5))zn("WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.");if(e.texParameteri(ee,e.TEXTURE_WRAP_S,ie[K.wrapS]),e.texParameteri(ee,e.TEXTURE_WRAP_T,ie[K.wrapT]),ee===e.TEXTURE_3D||ee===e.TEXTURE_2D_ARRAY)e.texParameteri(ee,e.TEXTURE_WRAP_R,ie[K.wrapR]);if(e.texParameteri(ee,e.TEXTURE_MAG_FILTER,j[K.magFilter]),e.texParameteri(ee,e.TEXTURE_MIN_FILTER,j[K.minFilter]),K.compareFunction)e.texParameteri(ee,e.TEXTURE_COMPARE_MODE,e.COMPARE_REF_TO_TEXTURE),e.texParameteri(ee,e.TEXTURE_COMPARE_FUNC,oe[K.compareFunction]);if(t.has("EXT_texture_filter_anisotropic")===!0){if(K.magFilter===Jw)return;if(K.minFilter!==zB&&K.minFilter!==p5)return;if(K.type===s1&&t.has("OES_texture_float_linear")===!1)return;if(K.anisotropy>1||r.get(K).__currentAnisotropy){let we=t.get("EXT_texture_filter_anisotropic");e.texParameterf(ee,we.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(K.anisotropy,o.getMaxAnisotropy())),r.get(K).__currentAnisotropy=K.anisotropy}}}function Y(ee,K){let we=!1;if(ee.__webglInit===void 0)ee.__webglInit=!0,K.addEventListener("dispose",T);let ze=K.source,tt=f.get(ze);if(tt===void 0)tt={},f.set(ze,tt);let Pe=G(K);if(Pe!==ee.__cacheKey){if(tt[Pe]===void 0)tt[Pe]={texture:e.createTexture(),usedTimes:0},i.memory.textures++,we=!0;tt[Pe].usedTimes++;let Ke=tt[ee.__cacheKey];if(Ke!==void 0){if(tt[ee.__cacheKey].usedTimes--,Ke.usedTimes===0)L(K)}ee.__cacheKey=Pe,ee.__webglTexture=tt[Pe].texture}return we}function ae(ee,K,we){return Math.floor(Math.floor(ee/we)/K)}function ne(ee,K,we,ze){let Pe=ee.updateRanges;if(Pe.length===0)n.texSubImage2D(e.TEXTURE_2D,0,0,0,K.width,K.height,we,ze,K.data);else{Pe.sort((Rt,de)=>Rt.start-de.start);let Ke=0;for(let Rt=1;Rt0){if(Xe&&$e)n.texStorage2D(e.TEXTURE_2D,Ge,de,Oe[0].width,Oe[0].height);for(let _e=0,nt=Oe.length;_e0){let rt=Sge(ge.width,ge.height,K.format,K.type);for(let ot of K.layerUpdates){let At=ge.data.subarray(ot*rt/ge.data.BYTES_PER_ELEMENT,(ot+1)*rt/ge.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,_e,0,0,ot,ge.width,ge.height,1,ct,At)}}else n.compressedTexSubImage3D(e.TEXTURE_2D_ARRAY,_e,0,0,0,ge.width,ge.height,Ze.depth,ct,ge.data)}else n.compressedTexImage3D(e.TEXTURE_2D_ARRAY,_e,de,ge.width,ge.height,Ze.depth,0,ge.data,0,0);else zn("WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else if(Xe){if(Ie)n.texSubImage3D(e.TEXTURE_2D_ARRAY,_e,0,0,0,ge.width,ge.height,Ze.depth,ct,Rt,ge.data)}else n.texImage3D(e.TEXTURE_2D_ARRAY,_e,de,ge.width,ge.height,Ze.depth,0,ct,Rt,ge.data);if(K.layerUpdates.size>0)K.clearLayerUpdates()}else{if(Xe&&$e)n.texStorage2D(e.TEXTURE_2D,Ge,de,Oe[0].width,Oe[0].height);for(let _e=0,nt=Oe.length;_e0){let _e=Sge(Ze.width,Ze.height,K.format,K.type);for(let nt of K.layerUpdates){let rt=Ze.data.subarray(nt*_e/Ze.data.BYTES_PER_ELEMENT,(nt+1)*_e/Ze.data.BYTES_PER_ELEMENT);n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,nt,Ze.width,Ze.height,1,ct,Rt,rt)}K.clearLayerUpdates()}else n.texSubImage3D(e.TEXTURE_2D_ARRAY,0,0,0,0,Ze.width,Ze.height,Ze.depth,ct,Rt,Ze.data)}else n.texImage3D(e.TEXTURE_2D_ARRAY,0,de,Ze.width,Ze.height,Ze.depth,0,ct,Rt,Ze.data);else if(K.isData3DTexture)if(Xe){if($e)n.texStorage3D(e.TEXTURE_3D,Ge,de,Ze.width,Ze.height,Ze.depth);if(Ie)n.texSubImage3D(e.TEXTURE_3D,0,0,0,0,Ze.width,Ze.height,Ze.depth,ct,Rt,Ze.data)}else n.texImage3D(e.TEXTURE_3D,0,de,Ze.width,Ze.height,Ze.depth,0,ct,Rt,Ze.data);else if(K.isFramebufferTexture){if($e)if(Xe)n.texStorage2D(e.TEXTURE_2D,Ge,de,Ze.width,Ze.height);else{let _e=Ze.width,nt=Ze.height;for(let rt=0;rt>=1,nt>>=1}}else if(K.isHTMLTexture){if("texElementImage2D"in e){let _e=e.canvas;if(!_e.hasAttribute("layoutsubtree"))_e.setAttribute("layoutsubtree","true");if(Ze.parentNode!==_e){_e.appendChild(Ze),d.add(K),_e.onpaint=(nt)=>{let rt=nt.changedElements;for(let ot of d)if(rt.includes(ot.image))ot.needsUpdate=!0},_e.requestPaint();return}if(e.texElementImage2D.length===3)e.texElementImage2D(e.TEXTURE_2D,e.RGBA8,Ze);else{let{RGBA:rt,RGBA:ot,UNSIGNED_BYTE:At}=e;e.texElementImage2D(e.TEXTURE_2D,0,rt,ot,At,Ze)}e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}}else if(Oe.length>0){if(Xe&&$e){let _e=Qe(Oe[0]);n.texStorage2D(e.TEXTURE_2D,Ge,de,_e.width,_e.height)}for(let _e=0,nt=Oe.length;_e0)nt++;let ot=Qe(de[0]);n.texStorage2D(e.TEXTURE_CUBE_MAP,nt,$e,ot.width,ot.height)}for(let ot=0;ot<6;ot++)if(Rt){if(Ie){if(_e)n.texSubImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+ot,0,0,0,de[ot].width,de[ot].height,Oe,Xe,de[ot].data)}else n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+ot,0,$e,de[ot].width,de[ot].height,0,Oe,Xe,de[ot].data);for(let At=0;At>Pe),ge=Math.max(1,K.height>>Pe);if(tt===e.TEXTURE_3D||tt===e.TEXTURE_2D_ARRAY)n.texImage3D(tt,Pe,Ze,de,ge,K.depth,0,Ke,Ue,null);else n.texImage2D(tt,Pe,Ze,de,ge,0,Ke,Ue,null)}if(n.bindFramebuffer(e.FRAMEBUFFER,ee),se(K))s.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER,ze,tt,Rt.__webglTexture,0,ke(K));else if(tt===e.TEXTURE_2D||tt>=e.TEXTURE_CUBE_MAP_POSITIVE_X&&tt<=e.TEXTURE_CUBE_MAP_NEGATIVE_Z)e.framebufferTexture2D(e.FRAMEBUFFER,ze,tt,Rt.__webglTexture,Pe);n.bindFramebuffer(e.FRAMEBUFFER,null)}function Ee(ee,K,we){if(e.bindRenderbuffer(e.RENDERBUFFER,ee),K.depthBuffer){let ze=K.depthTexture,tt=ze&&ze.isDepthTexture?ze.type:null,Pe=C(K.stencilBuffer,tt),Ke=K.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT;if(se(K))s.renderbufferStorageMultisampleEXT(e.RENDERBUFFER,ke(K),Pe,K.width,K.height);else if(we)e.renderbufferStorageMultisample(e.RENDERBUFFER,ke(K),Pe,K.width,K.height);else e.renderbufferStorage(e.RENDERBUFFER,Pe,K.width,K.height);e.framebufferRenderbuffer(e.FRAMEBUFFER,Ke,e.RENDERBUFFER,ee)}else{let ze=K.textures;for(let tt=0;tt{delete K.__boundDepthTexture,delete K.__depthDisposeCallback,ze.removeEventListener("dispose",tt)};ze.addEventListener("dispose",tt),K.__depthDisposeCallback=tt}K.__boundDepthTexture=ze}if(ee.depthTexture&&!K.__autoAllocateDepthBuffer)if(we)for(let ze=0;ze<6;ze++)pe(K.__webglFramebuffer[ze],ee,ze);else{let ze=ee.texture.mipmaps;if(ze&&ze.length>0)pe(K.__webglFramebuffer[0],ee,0);else pe(K.__webglFramebuffer,ee,0)}else if(we){K.__webglDepthbuffer=[];for(let ze=0;ze<6;ze++)if(n.bindFramebuffer(e.FRAMEBUFFER,K.__webglFramebuffer[ze]),K.__webglDepthbuffer[ze]===void 0)K.__webglDepthbuffer[ze]=e.createRenderbuffer(),Ee(K.__webglDepthbuffer[ze],ee,!1);else{let tt=ee.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,Pe=K.__webglDepthbuffer[ze];e.bindRenderbuffer(e.RENDERBUFFER,Pe),e.framebufferRenderbuffer(e.FRAMEBUFFER,tt,e.RENDERBUFFER,Pe)}}else{let ze=ee.texture.mipmaps;if(ze&&ze.length>0)n.bindFramebuffer(e.FRAMEBUFFER,K.__webglFramebuffer[0]);else n.bindFramebuffer(e.FRAMEBUFFER,K.__webglFramebuffer);if(K.__webglDepthbuffer===void 0)K.__webglDepthbuffer=e.createRenderbuffer(),Ee(K.__webglDepthbuffer,ee,!1);else{let tt=ee.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,Pe=K.__webglDepthbuffer;e.bindRenderbuffer(e.RENDERBUFFER,Pe),e.framebufferRenderbuffer(e.FRAMEBUFFER,tt,e.RENDERBUFFER,Pe)}}n.bindFramebuffer(e.FRAMEBUFFER,null)}function Le(ee,K,we){let ze=r.get(ee);if(K!==void 0)Ae(ze.__webglFramebuffer,ee,ee.texture,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,0);if(we!==void 0)Re(ee)}function Ne(ee){let K=ee.texture,we=r.get(ee),ze=r.get(K);ee.addEventListener("dispose",I);let tt=ee.textures,Pe=ee.isWebGLCubeRenderTarget===!0,Ke=tt.length>1;if(!Ke){if(ze.__webglTexture===void 0)ze.__webglTexture=e.createTexture();ze.__version=K.version,i.memory.textures++}if(Pe){we.__webglFramebuffer=[];for(let Ue=0;Ue<6;Ue++)if(K.mipmaps&&K.mipmaps.length>0){we.__webglFramebuffer[Ue]=[];for(let Ze=0;Ze0){we.__webglFramebuffer=[];for(let Ue=0;Ue0&&se(ee)===!1){we.__webglMultisampledFramebuffer=e.createFramebuffer(),we.__webglColorRenderbuffer=[],n.bindFramebuffer(e.FRAMEBUFFER,we.__webglMultisampledFramebuffer);for(let Ue=0;Ue0)for(let Ze=0;Ze0)for(let Ze=0;Ze0){if(se(ee)===!1){let{textures:K,width:we,height:ze}=ee,tt=e.COLOR_BUFFER_BIT,Pe=ee.stencilBuffer?e.DEPTH_STENCIL_ATTACHMENT:e.DEPTH_ATTACHMENT,Ke=r.get(ee),Ue=K.length>1;if(Ue)for(let ct=0;ct0)n.bindFramebuffer(e.DRAW_FRAMEBUFFER,Ke.__webglFramebuffer[0]);else n.bindFramebuffer(e.DRAW_FRAMEBUFFER,Ke.__webglFramebuffer);for(let ct=0;ct0&&t.has("WEBGL_multisampled_render_to_texture")===!0&&K.__useRenderToTexture!==!1}function qe(ee){let K=i.render.frame;if(u.get(ee)!==K)u.set(ee,K),ee.update()}function Me(ee,K){let{colorSpace:we,format:ze,type:tt}=ee;if(ee.isCompressedTexture===!0||ee.isVideoTexture===!0)return K;if(we!==VB&&we!==h5)if(jo.getTransfer(we)===cs){if(ze!==$p||tt!==Fm)zn("WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.")}else wr("WebGLTextures: Unsupported texture color space:",we);return K}function Qe(ee){if(typeof HTMLImageElement<"u"&&ee instanceof HTMLImageElement)c.width=ee.naturalWidth||ee.width,c.height=ee.naturalHeight||ee.height;else if(typeof VideoFrame<"u"&&ee instanceof VideoFrame)c.width=ee.displayWidth,c.height=ee.displayHeight;else c.width=ee.width,c.height=ee.height;return c}this.allocateTextureUnit=_,this.resetTextureUnits=U,this.getTextureUnits=D,this.setTextureUnits=N,this.setTexture2D=Z,this.setTexture2DArray=q,this.setTexture3D=H,this.setTextureCube=te,this.rebindTextures=Le,this.setupRenderTarget=Ne,this.updateRenderTargetMipmap=be,this.updateMultisampleRenderTarget=ue,this.setupDepthRenderbuffer=Re,this.setupFrameBufferTexture=Ae,this.useMultisampledRTT=se,this.isReversedDepthBuffer=function(){return n.buffers.depth.getReversed()}}function Pge(e,t){function n(r,o=h5){let a,i=jo.getTransfer(o);if(r===Fm)return e.UNSIGNED_BYTE;if(r===Xhe)return e.UNSIGNED_SHORT_4_4_4_4;if(r===Whe)return e.UNSIGNED_SHORT_5_5_5_1;if(r===nHe)return e.UNSIGNED_INT_5_9_9_9_REV;if(r===rHe)return e.UNSIGNED_INT_10F_11F_11F_REV;if(r===eHe)return e.BYTE;if(r===tHe)return e.SHORT;if(r===_B)return e.UNSIGNED_SHORT;if(r===Qhe)return e.INT;if(r===Dh)return e.UNSIGNED_INT;if(r===s1)return e.FLOAT;if(r===O0)return e.HALF_FLOAT;if(r===oHe)return e.ALPHA;if(r===aHe)return e.RGB;if(r===$p)return e.RGBA;if(r===eA)return e.DEPTH_COMPONENT;if(r===f5)return e.DEPTH_STENCIL;if(r===iHe)return e.RED;if(r===HB)return e.RED_INTEGER;if(r===tA)return e.RG;if(r===Yhe)return e.RG_INTEGER;if(r===m5)return e.RGBA_INTEGER;if(r===wX||r===SX||r===CX||r===EX)if(i===cs)if(a=t.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(r===wX)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===SX)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===CX)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===EX)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=t.get("WEBGL_compressed_texture_s3tc"),a!==null){if(r===wX)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===SX)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===CX)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===EX)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===Khe||r===Jhe||r===jhe||r===$he)if(a=t.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(r===Khe)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===Jhe)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===jhe)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===$he)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===e0e||r===t0e||r===n0e||r===r0e||r===o0e||r===IX||r===a0e)if(a=t.get("WEBGL_compressed_texture_etc"),a!==null){if(r===e0e||r===t0e)return i===cs?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(r===n0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC;if(r===r0e)return a.COMPRESSED_R11_EAC;if(r===o0e)return a.COMPRESSED_SIGNED_R11_EAC;if(r===IX)return a.COMPRESSED_RG11_EAC;if(r===a0e)return a.COMPRESSED_SIGNED_RG11_EAC}else return null;if(r===i0e||r===s0e||r===l0e||r===c0e||r===u0e||r===d0e||r===p0e||r===f0e||r===m0e||r===h0e||r===g0e||r===y0e||r===v0e||r===b0e)if(a=t.get("WEBGL_compressed_texture_astc"),a!==null){if(r===i0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===s0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===l0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===c0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===u0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===d0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===p0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===f0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===m0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===h0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===g0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===y0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===v0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===b0e)return i===cs?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===x0e||r===A0e||r===w0e)if(a=t.get("EXT_texture_compression_bptc"),a!==null){if(r===x0e)return i===cs?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===A0e)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===w0e)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===S0e||r===C0e||r===TX||r===E0e)if(a=t.get("EXT_texture_compression_rgtc"),a!==null){if(r===S0e)return a.COMPRESSED_RED_RGTC1_EXT;if(r===C0e)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===TX)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===E0e)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;if(r===k7)return e.UNSIGNED_INT_24_8;return e[r]!==void 0?e[r]:null}return{convert:n}}class N0n{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){let n=new VX(e.texture);if(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)this.depthNear=e.depthNear,this.depthFar=e.depthFar;this.texture=n}}getMesh(e){if(this.texture!==null){if(this.mesh===null){let t=e.cameras[0].viewport,n=new Ac({vertexShader:hOr,fragmentShader:gOr,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new Na(new oA(20,20),n)}}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}function vOr(e,t){function n(v,y){if(v.matrixAutoUpdate===!0)v.updateMatrix();y.value.copy(v.matrix)}function r(v,y){if(y.color.getRGB(v.fogColor.value,kHe(e)),y.isFog)v.fogNear.value=y.near,v.fogFar.value=y.far;else if(y.isFogExp2)v.fogDensity.value=y.density}function o(v,y,x,A,w){if(y.isNodeMaterial)y.uniformsNeedUpdate=!1;else if(y.isMeshBasicMaterial)a(v,y);else if(y.isMeshLambertMaterial){if(a(v,y),y.envMap)v.envMapIntensity.value=y.envMapIntensity}else if(y.isMeshToonMaterial)a(v,y),d(v,y);else if(y.isMeshPhongMaterial){if(a(v,y),u(v,y),y.envMap)v.envMapIntensity.value=y.envMapIntensity}else if(y.isMeshStandardMaterial){if(a(v,y),p(v,y),y.isMeshPhysicalMaterial)f(v,y,w)}else if(y.isMeshMatcapMaterial)a(v,y),m(v,y);else if(y.isMeshDepthMaterial)a(v,y);else if(y.isMeshDistanceMaterial)a(v,y),g(v,y);else if(y.isMeshNormalMaterial)a(v,y);else if(y.isLineBasicMaterial){if(i(v,y),y.isLineDashedMaterial)s(v,y)}else if(y.isPointsMaterial)l(v,y,x,A);else if(y.isSpriteMaterial)c(v,y);else if(y.isShadowMaterial)v.color.value.copy(y.color),v.opacity.value=y.opacity;else if(y.isShaderMaterial)y.uniformsNeedUpdate=!1}function a(v,y){if(v.opacity.value=y.opacity,y.color)v.diffuse.value.copy(y.color);if(y.emissive)v.emissive.value.copy(y.emissive).multiplyScalar(y.emissiveIntensity);if(y.map)v.map.value=y.map,n(y.map,v.mapTransform);if(y.alphaMap)v.alphaMap.value=y.alphaMap,n(y.alphaMap,v.alphaMapTransform);if(y.bumpMap){if(v.bumpMap.value=y.bumpMap,n(y.bumpMap,v.bumpMapTransform),v.bumpScale.value=y.bumpScale,y.side===Rh)v.bumpScale.value*=-1}if(y.normalMap){if(v.normalMap.value=y.normalMap,n(y.normalMap,v.normalMapTransform),v.normalScale.value.copy(y.normalScale),y.side===Rh)v.normalScale.value.negate()}if(y.displacementMap)v.displacementMap.value=y.displacementMap,n(y.displacementMap,v.displacementMapTransform),v.displacementScale.value=y.displacementScale,v.displacementBias.value=y.displacementBias;if(y.emissiveMap)v.emissiveMap.value=y.emissiveMap,n(y.emissiveMap,v.emissiveMapTransform);if(y.specularMap)v.specularMap.value=y.specularMap,n(y.specularMap,v.specularMapTransform);if(y.alphaTest>0)v.alphaTest.value=y.alphaTest;let x=t.get(y),{envMap:A,envMapRotation:w}=x;if(A){if(v.envMap.value=A,v.envMapRotation.value.setFromMatrix4(yOr.makeRotationFromEuler(w)).transpose(),A.isCubeTexture&&A.isRenderTargetTexture===!1)v.envMapRotation.value.premultiply(_0n);v.reflectivity.value=y.reflectivity,v.ior.value=y.ior,v.refractionRatio.value=y.refractionRatio}if(y.lightMap)v.lightMap.value=y.lightMap,v.lightMapIntensity.value=y.lightMapIntensity,n(y.lightMap,v.lightMapTransform);if(y.aoMap)v.aoMap.value=y.aoMap,v.aoMapIntensity.value=y.aoMapIntensity,n(y.aoMap,v.aoMapTransform)}function i(v,y){if(v.diffuse.value.copy(y.color),v.opacity.value=y.opacity,y.map)v.map.value=y.map,n(y.map,v.mapTransform)}function s(v,y){v.dashSize.value=y.dashSize,v.totalSize.value=y.dashSize+y.gapSize,v.scale.value=y.scale}function l(v,y,x,A){if(v.diffuse.value.copy(y.color),v.opacity.value=y.opacity,v.size.value=y.size*x,v.scale.value=A*0.5,y.map)v.map.value=y.map,n(y.map,v.uvTransform);if(y.alphaMap)v.alphaMap.value=y.alphaMap,n(y.alphaMap,v.alphaMapTransform);if(y.alphaTest>0)v.alphaTest.value=y.alphaTest}function c(v,y){if(v.diffuse.value.copy(y.color),v.opacity.value=y.opacity,v.rotation.value=y.rotation,y.map)v.map.value=y.map,n(y.map,v.mapTransform);if(y.alphaMap)v.alphaMap.value=y.alphaMap,n(y.alphaMap,v.alphaMapTransform);if(y.alphaTest>0)v.alphaTest.value=y.alphaTest}function u(v,y){v.specular.value.copy(y.specular),v.shininess.value=Math.max(y.shininess,0.0001)}function d(v,y){if(y.gradientMap)v.gradientMap.value=y.gradientMap}function p(v,y){if(v.metalness.value=y.metalness,y.metalnessMap)v.metalnessMap.value=y.metalnessMap,n(y.metalnessMap,v.metalnessMapTransform);if(v.roughness.value=y.roughness,y.roughnessMap)v.roughnessMap.value=y.roughnessMap,n(y.roughnessMap,v.roughnessMapTransform);if(y.envMap)v.envMapIntensity.value=y.envMapIntensity}function f(v,y,x){if(v.ior.value=y.ior,y.sheen>0){if(v.sheenColor.value.copy(y.sheenColor).multiplyScalar(y.sheen),v.sheenRoughness.value=y.sheenRoughness,y.sheenColorMap)v.sheenColorMap.value=y.sheenColorMap,n(y.sheenColorMap,v.sheenColorMapTransform);if(y.sheenRoughnessMap)v.sheenRoughnessMap.value=y.sheenRoughnessMap,n(y.sheenRoughnessMap,v.sheenRoughnessMapTransform)}if(y.clearcoat>0){if(v.clearcoat.value=y.clearcoat,v.clearcoatRoughness.value=y.clearcoatRoughness,y.clearcoatMap)v.clearcoatMap.value=y.clearcoatMap,n(y.clearcoatMap,v.clearcoatMapTransform);if(y.clearcoatRoughnessMap)v.clearcoatRoughnessMap.value=y.clearcoatRoughnessMap,n(y.clearcoatRoughnessMap,v.clearcoatRoughnessMapTransform);if(y.clearcoatNormalMap){if(v.clearcoatNormalMap.value=y.clearcoatNormalMap,n(y.clearcoatNormalMap,v.clearcoatNormalMapTransform),v.clearcoatNormalScale.value.copy(y.clearcoatNormalScale),y.side===Rh)v.clearcoatNormalScale.value.negate()}}if(y.dispersion>0)v.dispersion.value=y.dispersion;if(y.retroreflectivity>0)v.retroreflectivity.value=y.retroreflectivity;if(y.iridescence>0){if(v.iridescence.value=y.iridescence,v.iridescenceIOR.value=y.iridescenceIOR,v.iridescenceThicknessMinimum.value=y.iridescenceThicknessRange[0],v.iridescenceThicknessMaximum.value=y.iridescenceThicknessRange[1],y.iridescenceMap)v.iridescenceMap.value=y.iridescenceMap,n(y.iridescenceMap,v.iridescenceMapTransform);if(y.iridescenceThicknessMap)v.iridescenceThicknessMap.value=y.iridescenceThicknessMap,n(y.iridescenceThicknessMap,v.iridescenceThicknessMapTransform)}if(y.transmission>0){if(v.transmission.value=y.transmission,v.transmissionSamplerMap.value=x.texture,v.transmissionSamplerSize.value.set(x.width,x.height),y.transmissionMap)v.transmissionMap.value=y.transmissionMap,n(y.transmissionMap,v.transmissionMapTransform);if(v.thickness.value=y.thickness,y.thicknessMap)v.thicknessMap.value=y.thicknessMap,n(y.thicknessMap,v.thicknessMapTransform);v.attenuationDistance.value=y.attenuationDistance,v.attenuationColor.value.copy(y.attenuationColor)}if(y.anisotropy>0){if(v.anisotropyVector.value.set(y.anisotropy*Math.cos(y.anisotropyRotation),y.anisotropy*Math.sin(y.anisotropyRotation)),y.anisotropyMap)v.anisotropyMap.value=y.anisotropyMap,n(y.anisotropyMap,v.anisotropyMapTransform)}if(v.specularIntensity.value=y.specularIntensity,v.specularColor.value.copy(y.specularColor),y.specularColorMap)v.specularColorMap.value=y.specularColorMap,n(y.specularColorMap,v.specularColorMapTransform);if(y.specularIntensityMap)v.specularIntensityMap.value=y.specularIntensityMap,n(y.specularIntensityMap,v.specularIntensityMapTransform)}function m(v,y){if(y.matcap)v.matcap.value=y.matcap}function g(v,y){let x=t.get(y).light;v.referencePosition.value.setFromMatrixPosition(x.matrixWorld),v.nearDistance.value=x.shadow.camera.near,v.farDistance.value=x.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:o}}function bOr(e,t,n,r){let o={},a={},i=[],s=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS);function l(w,C){let E=C.program;r.uniformBlockBinding(w,E)}function c(w,C){let E=o[w.id];if(E===void 0)v(w),E=u(w),o[w.id]=E,w.addEventListener("dispose",x);let T=C.program;r.updateUBOMapping(w,T);let I=t.render.frame;if(a[w.id]!==I)p(w),a[w.id]=I}function u(w){let C=d();w.__bindingPointIndex=C;let E=e.createBuffer(),{__size:T,usage:I}=w;return e.bindBuffer(e.UNIFORM_BUFFER,E),e.bufferData(e.UNIFORM_BUFFER,T,I),e.bindBuffer(e.UNIFORM_BUFFER,null),e.bindBufferBase(e.UNIFORM_BUFFER,C,E),E}function d(){for(let w=0;w0)E+=T-I;return w.__size=E,w.__cache={},this}function y(w){let C={boundary:0,storage:0};if(typeof w==="number"||typeof w==="boolean")C.boundary=4,C.storage=4;else if(w.isVector2)C.boundary=8,C.storage=8;else if(w.isVector3||w.isColor)C.boundary=16,C.storage=12;else if(w.isVector4)C.boundary=16,C.storage=16;else if(w.isMatrix3)C.boundary=48,C.storage=48;else if(w.isMatrix4)C.boundary=64,C.storage=64;else if(w.isTexture)zn("WebGLRenderer: Texture samplers can not be part of an uniforms group.");else if(ArrayBuffer.isView(w))C.boundary=16,C.storage=w.byteLength;else zn("WebGLRenderer: Unsupported uniform value type.",w);return C}function x(w){let C=w.target;C.removeEventListener("dispose",x);let E=i.indexOf(C.__bindingPointIndex);i.splice(E,1),e.deleteBuffer(o[C.id]),delete o[C.id],delete a[C.id]}function A(){for(let w in o)e.deleteBuffer(o[w]);i=[],o={},a={}}return{bind:l,update:c,dispose:A}}function AOr(){if(iA===null)iA=new jl(xOr,16,16,tA,O0),iA.name="DFG_LUT",iA.minFilter=Mh,iA.magFilter=Mh,iA.wrapS=xX,iA.wrapT=xX,iA.generateMipmaps=!1,iA.needsUpdate=!0;return iA}class oO{constructor(e={}){let{canvas:t=mHe(),context:n=null,depth:r=!0,stencil:o=!1,alpha:a=!1,antialias:i=!1,premultipliedAlpha:s=!0,preserveDrawingBuffer:l=!1,powerPreference:c="default",failIfMajorPerformanceCaveat:u=!1,reversedDepthBuffer:d=!1,outputBufferType:p=Fm}=e;this.isWebGLRenderer=!0;let f;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");f=n.getContextAttributes().alpha}else f=a;let m=p,g=new Set([m5,Yhe,HB]),v=new Set([Fm,Dh,_B,k7,Xhe,Whe]),y=new Uint32Array(4),x=new Int32Array(4),A=new he,w=null,C=null,E=[],T=[],I=null;this.domElement=t,this.debug={checkShaderErrors:!0,diagnostics:{keywords:!1},onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=B0,this.toneMappingExposure=1,this.transmissionResolutionScale=1;let k=this,L=!1,O=null,B=null,U=null,D=null;this._outputColorSpace=jw;let N=0,_=0,G=null,Z=-1,q=null,H=new Ja,te=new Ja,ie=null,j=new _n(0),oe=0,{width:J,height:Y}=t,ae=1,ne=null,Se=null,fe=new Ja(0,0,J,Y),Ae=new Ja(0,0,J,Y),Ee=!1,pe=new Ww,Re=!1,Le=!1,Ne=new Vn,be=new he,ye=new Ja,ce={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0},ue=!1;function ke(){return G===null?ae:1}let se=n;function qe(ve,et){return t.getContext(ve,et)}let Me,Qe,ee,K,we,ze,tt,Pe,Ke,Ue,Ze,ct,Rt,de,ge,Oe,Xe,$e,Ie,Ge,_e,nt,rt;try{let ve={alpha:!0,depth:r,stencil:o,antialias:i,premultipliedAlpha:s,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:u};if("setAttribute"in t)t.setAttribute("data-engine",`three.js r${A_e}`);if(t.addEventListener("webglcontextlost",en,!1),t.addEventListener("webglcontextrestored",Gt,!1),t.addEventListener("webglcontextcreationerror",tn,!1),se===null){if(se=qe("webgl2",ve),se===null)if(qe("webgl2"))throw Error("THREE.WebGLRenderer: Error creating WebGL context with your selected attributes.");else throw Error("THREE.WebGLRenderer: Error creating WebGL context.")}ot()}catch(ve){throw t.removeEventListener("webglcontextlost",en,!1),t.removeEventListener("webglcontextrestored",Gt,!1),t.removeEventListener("webglcontextcreationerror",tn,!1),wr("WebGLRenderer: "+ve.message),ve}function ot(){if(Me=new RLr(se),Me.init(),_e=new Pge(se,Me),Qe=new bLr(se,Me,e,_e),ee=new fOr(se,Me),Qe.reversedDepthBuffer&&d)ee.buffers.depth.setReversed(!0);B=se.createFramebuffer(),U=se.createFramebuffer(),D=se.createFramebuffer(),K=new DLr(se),we=new $Br,ze=new mOr(se,Me,ee,we,Qe,_e,K),tt=new kLr(k),Pe=new B9r(se),nt=new yLr(se,Pe),Ke=new PLr(se,Pe,K,nt),Ue=new BLr(se,Ke,Pe,nt,K),$e=new LLr(se,Qe,ze),ge=new xLr(we),Ze=new jBr(k,tt,Me,Qe,nt,ge),ct=new vOr(k,we),Rt=new tOr,de=new sOr(Me),Xe=new gLr(k,tt,ee,Ue,f,s),Oe=new pOr(k,Ue,Qe),rt=new bOr(se,K,Qe,ee),Ie=new vLr(se,Me,K),Ge=new MLr(se,Me,K),K.programs=Ze.programs,k.capabilities=Qe,k.extensions=Me,k.properties=we,k.renderLists=Rt,k.shadowMap=Oe,k.state=ee,k.info=K}if(m!==Fm)I=new FLr(m,t.width,t.height,i,r,o);let At=new z0n(k,se);this.xr=At,this.getContext=function(){return se},this.getContextAttributes=function(){return se.getContextAttributes()},this.forceContextLoss=function(){let ve=Me.get("WEBGL_lose_context");if(ve)ve.loseContext()},this.forceContextRestore=function(){let ve=Me.get("WEBGL_lose_context");if(ve)ve.restoreContext()},this.getPixelRatio=function(){return ae},this.setPixelRatio=function(ve){if(ve===void 0)return;ae=ve,this.setSize(J,Y,!1)},this.getSize=function(ve){return ve.set(J,Y)},this.setSize=function(ve,et,ht=!0){if(At.isPresenting){zn("WebGLRenderer: Can't change size while VR device is presenting.");return}if(J=ve,Y=et,t.width=Math.floor(ve*ae),t.height=Math.floor(et*ae),ht===!0)t.style.width=ve+"px",t.style.height=et+"px";if(I!==null)I.setSize(t.width,t.height);this.setViewport(0,0,ve,et)},this.getDrawingBufferSize=function(ve){return ve.set(J*ae,Y*ae).floor()},this.setDrawingBufferSize=function(ve,et,ht){J=ve,Y=et,ae=ht,t.width=Math.floor(ve*ht),t.height=Math.floor(et*ht),this.setViewport(0,0,ve,et)},this.setEffects=function(ve){if(m===Fm){wr("WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.");return}if(ve){for(let et=0;et{function nn(){if(st.forEach(function(dn){let wn=we.get(dn).currentProgram;if(wn===void 0||wn.isReady())st.delete(dn)}),st.size===0){lt(ve);return}setTimeout(nn,10)}if(Me.get("KHR_parallel_shader_compile")!==null)nn();else setTimeout(nn,10)})};let Et=null;function Mt(ve){if(Et)Et(ve)}function An(){Tn.stop()}function Nn(){Tn.start()}let Tn=new T0n;if(Tn.setAnimationLoop(Mt),typeof self<"u")Tn.setContext(self);this.setAnimationLoop=function(ve){Et=ve,At.setAnimationLoop(ve),ve===null?Tn.stop():Tn.start()},At.addEventListener("sessionstart",An),At.addEventListener("sessionend",Nn),this.render=function(ve,et){if(et!==void 0&&et.isCamera!==!0){wr("WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(L===!0)return;if(O!==null)O.renderStart(ve,et);let ht=At.enabled===!0&&At.isPresenting===!0,st=I!==null&&(G===null||ht)&&I.begin(k,G);if(ve.matrixWorldAutoUpdate===!0)ve.updateMatrixWorld();if(et.parent===null&&et.matrixWorldAutoUpdate===!0)et.updateMatrixWorld();if(At.enabled===!0&&At.isPresenting===!0&&(I===null||I.isCompositing()===!1)){if(At.cameraAutoUpdate===!0)At.updateCamera(et);et=At.getCamera()}if(ve.isScene===!0)ve.onBeforeRender(k,ve,et,G);if(C=de.get(ve,T.length),C.init(et),C.state.textureUnits=ze.getTextureUnits(),T.push(C),Ne.multiplyMatrices(et.projectionMatrix,et.matrixWorldInverse),pe.setFromProjectionMatrix(Ne,P0e,et.reversedDepth),Le=this.localClippingEnabled,Re=ge.init(this.clippingPlanes,Le),w=Rt.get(ve,E.length),w.init(),E.push(w),At.enabled===!0&&At.isPresenting===!0){let dn=k.xr.getDepthSensingMesh();if(dn!==null)Cn(dn,et,-1/0,k.sortObjects)}if(Cn(ve,et,0,k.sortObjects),w.finish(),O!==null)O.updateLights(C.state.lightsArray);if(k.sortObjects===!0)w.sort(ne,Se);if(ue=At.enabled===!1||At.isPresenting===!1||At.hasDepthSensing()===!1,ue)Xe.addToRenderList(w,ve);if(this.info.render.frame++,this.info.autoReset===!0)this.info.reset();if(Re===!0)ge.beginShadows();let lt=C.state.shadowsArray;if(Oe.render(lt,ve,et),Re===!0)ge.endShadows();if((st&&I.hasRenderPass())===!1){let dn=w.opaque,fn=w.transmissive;if(C.setupLights(),et.isArrayCamera){let wn=et.cameras;if(fn.length>0)for(let Qt=0,Qn=wn.length;Qt0)qn(dn,fn,ve,et);if(ue)Xe.render(ve);er(w,ve,et)}}if(G!==null&&_===0)ze.updateMultisampleRenderTarget(G),ze.updateRenderTargetMipmap(G);if(st)I.end(k);if(ve.isScene===!0)ve.onAfterRender(k,ve,et);if(nt.resetDefaultState(),Z=-1,q=null,T.pop(),T.length>0){if(C=T[T.length-1],ze.setTextureUnits(C.state.textureUnits),Re===!0)ge.setGlobalState(k.clippingPlanes,C.state.camera)}else C=null;if(E.pop(),E.length>0)w=E[E.length-1];else w=null;if(O!==null)O.renderEnd()};function Cn(ve,et,ht,st){if(ve.visible===!1)return;if(ve.layers.test(et.layers)){if(ve.isGroup)ht=ve.renderOrder;else if(ve.isLOD){if(ve.autoUpdate===!0)ve.update(et)}else if(ve.isLightProbeGrid)C.pushLightProbeGrid(ve);else if(ve.isLight){if(C.pushLight(ve),ve.castShadow)C.pushShadow(ve)}else if(ve.isSprite){if(!ve.frustumCulled||ve.intersectsFrustum(pe)){if(st)ye.setFromMatrixPosition(ve.matrixWorld).applyMatrix4(Ne);let dn=Ue.update(ve),fn=ve.material;if(fn.visible)w.push(ve,dn,fn,ht,ye.z,null,et)}}else if(ve.isMesh||ve.isLine||ve.isPoints){if(!ve.frustumCulled||ve.intersectsFrustum(pe)){let dn=Ue.update(ve),fn=ve.material;if(st){if(ve.boundingSphere!==void 0){if(ve.boundingSphere===null)ve.computeBoundingSphere();ye.copy(ve.boundingSphere.center)}else{if(dn.boundingSphere===null)dn.computeBoundingSphere();ye.copy(dn.boundingSphere.center)}ye.applyMatrix4(ve.matrixWorld).applyMatrix4(Ne)}if(Array.isArray(fn)){let wn=dn.groups;for(let Qt=0,Qn=wn.length;Qt0)Er(lt,et,ht);if(nn.length>0)Er(nn,et,ht);if(dn.length>0)Er(dn,et,ht);ee.buffers.depth.setTest(!0),ee.buffers.depth.setMask(!0),ee.buffers.color.setMask(!0),ee.setPolygonOffset(!1)}function qn(ve,et,ht,st){if((ht.isScene===!0?ht.overrideMaterial:null)!==null)return;if(C.state.transmissionRenderTarget[st.id]===void 0){let hn=Me.has("EXT_color_buffer_half_float")||Me.has("EXT_color_buffer_float");C.state.transmissionRenderTarget[st.id]=new ef(1,1,{generateMipmaps:!0,type:hn?O0:Fm,minFilter:p5,samples:Math.max(4,Qe.samples),stencilBuffer:o,resolveDepthBuffer:!1,resolveStencilBuffer:!1,storeMultisampledDepthBuffer:!1,storeMultisampledStencilBuffer:!1,colorSpace:jo.workingColorSpace})}let nn=C.state.transmissionRenderTarget[st.id],dn=st.viewport||H;nn.setSize(dn.z*k.transmissionResolutionScale,dn.w*k.transmissionResolutionScale);let fn=k.getRenderTarget(),wn=k.getActiveCubeFace(),Qt=k.getActiveMipmapLevel();if(k.setRenderTarget(nn),k.getClearColor(j),oe=k.getClearAlpha(),oe<1)k.setClearColor(16777215,0.5);if(k.clear(),ue)Xe.render(ht);let Qn=k.toneMapping;k.toneMapping=B0;let fr=st.viewport;if(st.viewport!==void 0)st.viewport=void 0;if(C.setupLightsView(st),Re===!0)ge.setGlobalState(k.clippingPlanes,st);if(Er(ve,ht,st),ze.updateMultisampleRenderTarget(nn),ze.updateRenderTargetMipmap(nn),Me.has("WEBGL_multisampled_render_to_texture")===!1){let hn=!1;for(let nr=0,la=et.length;nr0,st.currentProgram=fr,st.uniformsList=null,fr}function mo(ve){if(ve.uniformsList===null){let et=ve.currentProgram.getUniforms();ve.uniformsList=SW.seqWithValue(et.seq,ve.uniforms)}return ve.uniformsList}function Zo(ve,et){let ht=we.get(ve);ht.outputColorSpace=et.outputColorSpace,ht.batching=et.batching,ht.batchingColor=et.batchingColor,ht.instancing=et.instancing,ht.instancingColor=et.instancingColor,ht.instancingMorph=et.instancingMorph,ht.skinning=et.skinning,ht.morphTargets=et.morphTargets,ht.morphNormals=et.morphNormals,ht.morphColors=et.morphColors,ht.morphTargetsCount=et.morphTargetsCount,ht.numClippingPlanes=et.numClippingPlanes,ht.numIntersection=et.numClipIntersection,ht.vertexAlphas=et.vertexAlphas,ht.vertexTangents=et.vertexTangents,ht.toneMapping=et.toneMapping}function Co(ve,et){if(ve.length===0)return null;if(ve.length===1)return ve[0].texture!==null?ve[0]:null;A.setFromMatrixPosition(et.matrixWorld);for(let ht=0,st=ve.length;ht0),hn=!!ht.morphAttributes.position,nr=!!ht.morphAttributes.normal,la=!!ht.morphAttributes.color,ir=B0;if(st.toneMapped){if(G===null||G.isXRRenderTarget===!0)ir=k.toneMapping}let Or=ht.morphAttributes.position||ht.morphAttributes.normal||ht.morphAttributes.color,_a=Or!==void 0?Or.length:0,kn=we.get(st),ps=C.state.lights;if(Re===!0){if(Le===!0||ve!==q){let ro=ve===q&&st.id===Z;ge.setState(st,ve,ro)}}let uo=!1;if(st.version===kn.__version){if(kn.needsLights&&kn.lightsStateVersion!==ps.state.version)uo=!0;else if(kn.outputColorSpace!==fn)uo=!0;else if(lt.isBatchedMesh&&kn.batching===!1)uo=!0;else if(!lt.isBatchedMesh&&kn.batching===!0)uo=!0;else if(lt.isBatchedMesh&&kn.batchingColor===!0&<._colorsTexture===null)uo=!0;else if(lt.isBatchedMesh&&kn.batchingColor===!1&<._colorsTexture!==null)uo=!0;else if(lt.isInstancedMesh&&kn.instancing===!1)uo=!0;else if(!lt.isInstancedMesh&&kn.instancing===!0)uo=!0;else if(lt.isSkinnedMesh&&kn.skinning===!1)uo=!0;else if(!lt.isSkinnedMesh&&kn.skinning===!0)uo=!0;else if(lt.isInstancedMesh&&kn.instancingColor===!0&<.instanceColor===null)uo=!0;else if(lt.isInstancedMesh&&kn.instancingColor===!1&<.instanceColor!==null)uo=!0;else if(lt.isInstancedMesh&&kn.instancingMorph===!0&<.morphTexture===null)uo=!0;else if(lt.isInstancedMesh&&kn.instancingMorph===!1&<.morphTexture!==null)uo=!0;else if(kn.envMap!==Qt)uo=!0;else if(st.fog===!0&&kn.fog!==nn)uo=!0;else if(kn.numClippingPlanes!==void 0&&(kn.numClippingPlanes!==ge.numPlanes||kn.numIntersection!==ge.numIntersection))uo=!0;else if(kn.vertexAlphas!==Qn)uo=!0;else if(kn.vertexTangents!==fr)uo=!0;else if(kn.morphTargets!==hn)uo=!0;else if(kn.morphNormals!==nr)uo=!0;else if(kn.morphColors!==la)uo=!0;else if(kn.toneMapping!==ir)uo=!0;else if(kn.morphTargetsCount!==_a)uo=!0;else if(!!kn.lightProbeGrid!==C.state.lightProbeGridArray.length>0)uo=!0}else uo=!0,kn.__version=st.version;let fs=kn.currentProgram;if(uo===!0){if(fs=Yr(st,et,lt),O&&st.isNodeMaterial)O.onUpdateProgram(st,fs,kn)}let ea=!1,no=!1,zd=!1,ho=fs.getUniforms(),ta=kn.uniforms;if(ee.useProgram(fs.program))ea=!0,no=!0,zd=!0;if(st.id!==Z)Z=st.id,no=!0;if(kn.needsLights){let ro=Co(C.state.lightProbeGridArray,lt);if(kn.lightProbeGrid!==ro)kn.lightProbeGrid=ro,no=!0}if(ea||q!==ve){if(ee.buffers.depth.getReversed()&&ve.reversedDepth!==!0)ve._reversedDepth=!0,ve.updateProjectionMatrix();ho.setValue(se,"projectionMatrix",ve.projectionMatrix),ho.setValue(se,"viewMatrix",ve.matrixWorldInverse);let al=ho.map.cameraPosition;if(al!==void 0)al.setValue(se,be.setFromMatrixPosition(ve.matrixWorld));if(Qe.logarithmicDepthBuffer)ho.setValue(se,"logDepthBufFC",2/(Math.log(ve.far+1)/Math.LN2));if(st.isMeshPhongMaterial||st.isMeshToonMaterial||st.isMeshLambertMaterial||st.isMeshBasicMaterial||st.isMeshStandardMaterial||st.isShaderMaterial)ho.setValue(se,"isOrthographic",ve.isOrthographicCamera===!0);if(q!==ve)q=ve,no=!0,zd=!0}if(kn.needsLights){if(ps.state.sunShadowMap.length>0)ho.setValue(se,"sunShadowMap",ps.state.sunShadowMap,ze);if(ps.state.directionalShadowMap.length>0)ho.setValue(se,"directionalShadowMap",ps.state.directionalShadowMap,ze);if(ps.state.spotShadowMap.length>0)ho.setValue(se,"spotShadowMap",ps.state.spotShadowMap,ze);if(ps.state.pointShadowMap.length>0)ho.setValue(se,"pointShadowMap",ps.state.pointShadowMap,ze)}if(lt.isSkinnedMesh){ho.setOptional(se,lt,"bindMatrix"),ho.setOptional(se,lt,"bindMatrixInverse");let ro=lt.skeleton;if(ro){if(ro.boneTexture===null)ro.computeBoneTexture();ho.setValue(se,"boneTexture",ro.boneTexture,ze)}}if(lt.isBatchedMesh){if(ho.setOptional(se,lt,"batchingTexture"),ho.setValue(se,"batchingTexture",lt._matricesTexture,ze),ho.setOptional(se,lt,"batchingIdTexture"),ho.setValue(se,"batchingIdTexture",lt._indirectTexture,ze),ho.setOptional(se,lt,"batchingColorTexture"),lt._colorsTexture!==null)ho.setValue(se,"batchingColorTexture",lt._colorsTexture,ze)}let rc=ht.morphAttributes;if(rc.position!==void 0||rc.normal!==void 0||rc.color!==void 0)$e.update(lt,ht,fs);if(no||kn.receiveShadow!==lt.receiveShadow)kn.receiveShadow=lt.receiveShadow,ho.setValue(se,"receiveShadow",lt.receiveShadow);if((st.isMeshStandardMaterial||st.isMeshLambertMaterial||st.isMeshPhongMaterial)&&st.envMap===null&&et.environment!==null)ta.envMapIntensity.value=et.environmentIntensity;if(ta.dfgLUT!==void 0)ta.dfgLUT.value=AOr();if(no){if(ho.setValue(se,"toneMappingExposure",k.toneMappingExposure),kn.needsLights)li(ta,zd);if(nn&&st.fog===!0)ct.refreshFogUniforms(ta,nn);if(ct.refreshMaterialUniforms(ta,st,ae,Y,C.state.transmissionRenderTarget[ve.id]),kn.needsLights&&kn.lightProbeGrid){let ro=kn.lightProbeGrid;ta.probesSH.value=ro.texture,ta.probesMin.value.copy(ro.boundingBox.min),ta.probesMax.value.copy(ro.boundingBox.max),ta.probesResolution.value.copy(ro.resolution)}SW.upload(se,mo(kn),ta,ze)}if(st.isShaderMaterial&&st.uniformsNeedUpdate===!0)SW.upload(se,mo(kn),ta,ze),st.uniformsNeedUpdate=!1;if(st.isSpriteMaterial)ho.setValue(se,"center",lt.center);if(ho.setValue(se,"modelViewMatrix",lt.modelViewMatrix),ho.setValue(se,"normalMatrix",lt.normalMatrix),ho.setValue(se,"modelMatrix",lt.matrixWorld),st.uniformsGroups!==void 0){let ro=st.uniformsGroups;for(let al=0,$a=ro.length;al<$a;al++){let Ha=ro[al];rt.update(Ha,fs),rt.bind(Ha,fs)}}return fs}function li(ve,et){ve.ambientLightColor.needsUpdate=et,ve.lightProbe.needsUpdate=et,ve.sunLights.needsUpdate=et,ve.sunLightShadows.needsUpdate=et,ve.directionalLights.needsUpdate=et,ve.directionalLightShadows.needsUpdate=et,ve.pointLights.needsUpdate=et,ve.pointLightShadows.needsUpdate=et,ve.spotLights.needsUpdate=et,ve.spotLightShadows.needsUpdate=et,ve.rectAreaLights.needsUpdate=et,ve.hemisphereLights.needsUpdate=et}function Pi(ve){return ve.isMeshLambertMaterial||ve.isMeshToonMaterial||ve.isMeshPhongMaterial||ve.isMeshStandardMaterial||ve.isShadowMaterial||ve.isShaderMaterial&&ve.lights===!0}this.getActiveCubeFace=function(){return N},this.getActiveMipmapLevel=function(){return _},this.getRenderTarget=function(){return G},this.setRenderTargetTextures=function(ve,et,ht){let st=we.get(ve);if(st.__autoAllocateDepthBuffer=ve.resolveDepthBuffer===!1,st.__autoAllocateDepthBuffer===!1)st.__useRenderToTexture=!1;we.get(ve.texture).__webglTexture=et,we.get(ve.depthTexture).__webglTexture=st.__autoAllocateDepthBuffer?void 0:ht,st.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(ve,et){let ht=we.get(ve);ht.__webglFramebuffer=et,ht.__useDefaultFramebuffer=et===void 0},this.setRenderTarget=function(ve,et=0,ht=0){G=ve,N=et,_=ht;let st=null,lt=!1,nn=!1;if(ve){let fn=we.get(ve);if(fn.__useDefaultFramebuffer!==void 0){ee.bindFramebuffer(se.FRAMEBUFFER,fn.__webglFramebuffer),H.copy(ve.viewport),te.copy(ve.scissor),ie=ve.scissorTest,ee.viewport(H),ee.scissor(te),ee.setScissorTest(ie),Z=-1;return}else if(fn.__webglFramebuffer===void 0)ze.setupRenderTarget(ve);else if(fn.__hasExternalTextures)ze.rebindTextures(ve,we.get(ve.texture).__webglTexture,we.get(ve.depthTexture).__webglTexture);else if(ve.depthBuffer){let Qn=ve.depthTexture;if(fn.__boundDepthTexture!==Qn){if(Qn!==null&&we.has(Qn)&&(ve.width!==Qn.image.width||ve.height!==Qn.image.height))throw Error("THREE.WebGLRenderer: Attached DepthTexture is initialized to the incorrect size.");ze.setupDepthRenderbuffer(ve)}}let wn=ve.texture;if(wn.isData3DTexture||wn.isDataArrayTexture||wn.isCompressedArrayTexture)nn=!0;let Qt=we.get(ve).__webglFramebuffer;if(ve.isWebGLCubeRenderTarget){if(Array.isArray(Qt[et]))st=Qt[et][ht];else st=Qt[et];lt=!0}else if(ve.samples>0&&ze.useMultisampledRTT(ve)===!1)st=we.get(ve).__webglMultisampledFramebuffer;else if(Array.isArray(Qt))st=Qt[ht];else st=Qt;H.copy(ve.viewport),te.copy(ve.scissor),ie=ve.scissorTest}else H.copy(fe).multiplyScalar(ae).floor(),te.copy(Ae).multiplyScalar(ae).floor(),ie=Ee;if(ht!==0)st=B;if(ee.bindFramebuffer(se.FRAMEBUFFER,st))ee.drawBuffers(ve,st);if(ee.viewport(H),ee.scissor(te),ee.setScissorTest(ie),lt){let fn=we.get(ve.texture);se.framebufferTexture2D(se.FRAMEBUFFER,se.COLOR_ATTACHMENT0,se.TEXTURE_CUBE_MAP_POSITIVE_X+et,fn.__webglTexture,ht)}else if(nn){let fn=et;for(let wn=0;wn1)se.readBuffer(se.COLOR_ATTACHMENT0+fn);let hn=zi(Qt);if(hn.__formatReadable===!1){wr("WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(hn.__typeReadable===!1){wr("WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}if(et>=0&&et<=ve.width-st&&(ht>=0&&ht<=ve.height-lt))se.readPixels(et,ht,st,lt,_e.convert(Qn),_e.convert(fr),nn)}finally{let Qt=G!==null?we.get(G).__webglFramebuffer:null;ee.bindFramebuffer(se.FRAMEBUFFER,Qt)}}},this.readRenderTargetPixelsAsync=async function(ve,et,ht,st,lt,nn,dn,fn=0){if(!(ve&&ve.isWebGLRenderTarget))throw Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let wn=we.get(ve).__webglFramebuffer;if(ve.isWebGLCubeRenderTarget&&dn!==void 0)wn=wn[dn];if(wn)if(et>=0&&et<=ve.width-st&&(ht>=0&&ht<=ve.height-lt)){ee.bindFramebuffer(se.FRAMEBUFFER,wn);let Qt=ve.textures[fn],{format:Qn,type:fr}=Qt;if(ve.textures.length>1)se.readBuffer(se.COLOR_ATTACHMENT0+fn);let hn=zi(Qt);if(hn.__formatReadable===!1)throw Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(hn.__typeReadable===!1)throw Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");let nr=se.createBuffer();se.bindBuffer(se.PIXEL_PACK_BUFFER,nr),se.bufferData(se.PIXEL_PACK_BUFFER,nn.byteLength,se.STREAM_READ),se.readPixels(et,ht,st,lt,_e.convert(Qn),_e.convert(fr),0),se.bindBuffer(se.PIXEL_PACK_BUFFER,null);let la=G!==null?we.get(G).__webglFramebuffer:null;ee.bindFramebuffer(se.FRAMEBUFFER,la);let ir=se.fenceSync(se.SYNC_GPU_COMMANDS_COMPLETE,0);return se.flush(),await Hhn(se,ir,4),se.bindBuffer(se.PIXEL_PACK_BUFFER,nr),se.getBufferSubData(se.PIXEL_PACK_BUFFER,0,nn),se.bindBuffer(se.PIXEL_PACK_BUFFER,null),se.deleteBuffer(nr),se.deleteSync(ir),nn}else throw Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")},this.copyFramebufferToTexture=function(ve,et=null,ht=0){let st=Math.pow(2,-ht),lt=Math.floor(ve.image.width*st),nn=Math.floor(ve.image.height*st),dn=et!==null?et.x:0,fn=et!==null?et.y:0;ze.setTexture2D(ve,0),se.copyTexSubImage2D(se.TEXTURE_2D,ht,0,0,dn,fn,lt,nn),ee.unbindTexture()},this.copyTextureToTexture=function(ve,et,ht=null,st=null,lt=0,nn=0){let dn,fn,wn,Qt,Qn,fr,hn,nr,la,ir=ve.isCompressedTexture?ve.mipmaps[nn]:ve.image;if(ht!==null)dn=ht.max.x-ht.min.x,fn=ht.max.y-ht.min.y,wn=ht.isBox3?ht.max.z-ht.min.z:1,Qt=ht.min.x,Qn=ht.min.y,fr=ht.isBox3?ht.min.z:0;else{let ta=Math.pow(2,-lt);if(dn=Math.floor(ir.width*ta),fn=Math.floor(ir.height*ta),ve.isDataArrayTexture)wn=ir.depth;else if(ve.isData3DTexture)wn=Math.floor(ir.depth*ta);else wn=1;Qt=0,Qn=0,fr=0}if(st!==null)hn=st.x,nr=st.y,la=st.z;else hn=0,nr=0,la=0;let Or=_e.convert(et.format),_a=_e.convert(et.type),kn;if(et.isData3DTexture)ze.setTexture3D(et,0),kn=se.TEXTURE_3D;else if(et.isDataArrayTexture||et.isCompressedArrayTexture)ze.setTexture2DArray(et,0),kn=se.TEXTURE_2D_ARRAY;else ze.setTexture2D(et,0),kn=se.TEXTURE_2D;ee.activeTexture(se.TEXTURE0),ee.pixelStorei(se.UNPACK_FLIP_Y_WEBGL,et.flipY),ee.pixelStorei(se.UNPACK_PREMULTIPLY_ALPHA_WEBGL,et.premultiplyAlpha),ee.pixelStorei(se.UNPACK_ALIGNMENT,et.unpackAlignment);let ps=ee.getParameter(se.UNPACK_ROW_LENGTH),uo=ee.getParameter(se.UNPACK_IMAGE_HEIGHT),fs=ee.getParameter(se.UNPACK_SKIP_PIXELS),ea=ee.getParameter(se.UNPACK_SKIP_ROWS),no=ee.getParameter(se.UNPACK_SKIP_IMAGES);ee.pixelStorei(se.UNPACK_ROW_LENGTH,ir.width),ee.pixelStorei(se.UNPACK_IMAGE_HEIGHT,ir.height),ee.pixelStorei(se.UNPACK_SKIP_PIXELS,Qt),ee.pixelStorei(se.UNPACK_SKIP_ROWS,Qn),ee.pixelStorei(se.UNPACK_SKIP_IMAGES,fr);let zd=ve.isDataArrayTexture||ve.isData3DTexture,ho=et.isDataArrayTexture||et.isData3DTexture;if(ve.isDepthTexture){let ta=we.get(ve),rc=we.get(et),ro=we.get(ta.__renderTarget),al=we.get(rc.__renderTarget);ee.bindFramebuffer(se.READ_FRAMEBUFFER,ro.__webglFramebuffer),ee.bindFramebuffer(se.DRAW_FRAMEBUFFER,al.__webglFramebuffer);for(let $a=0;$a 0, + Me = I.clearcoat > 0, + Qe = I.dispersion > 0, + ee = I.retroreflectivity > 0, + K = I.iridescence > 0, + we = I.sheen > 0, + ze = I.transmission > 0, + tt = qe && !!I.anisotropyMap, + Pe = Me && !!I.clearcoatMap, + Ke = Me && !!I.clearcoatNormalMap, + Ue = Me && !!I.clearcoatRoughnessMap, + Ze = K && !!I.iridescenceMap, + ct = K && !!I.iridescenceThicknessMap, + Rt = we && !!I.sheenColorMap, + de = we && !!I.sheenRoughnessMap, + ge = !!I.specularMap, + Oe = !!I.specularColorMap, + Xe = !!I.specularIntensityMap, + $e = ze && !!I.transmissionMap, + Ie = ze && !!I.thicknessMap, + Ge = !!I.gradientMap, + _e = !!I.alphaMap, + nt = I.alphaTest > 0, + rt = !!I.alphaHash, + ot = !!I.extensions, + At = B0; + if (I.toneMapped) { + if (ne === null || ne.isXRRenderTarget === !0) At = e.toneMapping; + } + let en = { + shaderID: H, + shaderType: I.type, + shaderName: I.name, + vertexShader: oe, + fragmentShader: J, + defines: I.defines, + customVertexShaderID: Y, + customFragmentShaderID: ae, + isRawShaderMaterial: I.isRawShaderMaterial === !0, + glslVersion: I.glslVersion, + precision: p, + batching: Ae, + batchingColor: Ae && B._colorsTexture !== null, + instancing: fe, + instancingColor: fe && B.instanceColor !== null, + instancingMorph: fe && B.morphTexture !== null, + outputColorSpace: + ne === null + ? e.outputColorSpace + : ne.isXRRenderTarget === !0 + ? ne.texture.colorSpace + : jo.workingColorSpace, + alphaToCoverage: !!I.alphaToCoverage, + map: Ee, + matcap: pe, + envMap: Re, + envMapMode: Re && Z.mapping, + envMapCubeUVHeight: q, + aoMap: Le, + lightMap: Ne, + bumpMap: be, + normalMap: ye, + displacementMap: ce, + emissiveMap: ue, + normalMapObjectSpace: ye && I.normalMapType === sHe, + normalMapTangentSpace: ye && I.normalMapType === I0e, + packedNormalMap: ye && I.normalMapType === I0e && JBr(I.normalMap.format), + metalnessMap: ke, + roughnessMap: se, + anisotropy: qe, + anisotropyMap: tt, + clearcoat: Me, + clearcoatMap: Pe, + clearcoatNormalMap: Ke, + clearcoatRoughnessMap: Ue, + dispersion: Qe, + retroreflection: ee, + iridescence: K, + iridescenceMap: Ze, + iridescenceThicknessMap: ct, + sheen: we, + sheenColorMap: Rt, + sheenRoughnessMap: de, + specularMap: ge, + specularColorMap: Oe, + specularIntensityMap: Xe, + transmission: ze, + transmissionMap: $e, + thicknessMap: Ie, + gradientMap: Ge, + opaque: + I.transparent === !1 && I.blending === Kw && I.alphaToCoverage === !1, + alphaMap: _e, + alphaTest: nt, + alphaHash: rt, + combine: I.combine, + mapUv: Ee && m(I.map.channel), + aoMapUv: Le && m(I.aoMap.channel), + lightMapUv: Ne && m(I.lightMap.channel), + bumpMapUv: be && m(I.bumpMap.channel), + normalMapUv: ye && m(I.normalMap.channel), + displacementMapUv: ce && m(I.displacementMap.channel), + emissiveMapUv: ue && m(I.emissiveMap.channel), + metalnessMapUv: ke && m(I.metalnessMap.channel), + roughnessMapUv: se && m(I.roughnessMap.channel), + anisotropyMapUv: tt && m(I.anisotropyMap.channel), + clearcoatMapUv: Pe && m(I.clearcoatMap.channel), + clearcoatNormalMapUv: Ke && m(I.clearcoatNormalMap.channel), + clearcoatRoughnessMapUv: Ue && m(I.clearcoatRoughnessMap.channel), + iridescenceMapUv: Ze && m(I.iridescenceMap.channel), + iridescenceThicknessMapUv: ct && m(I.iridescenceThicknessMap.channel), + sheenColorMapUv: Rt && m(I.sheenColorMap.channel), + sheenRoughnessMapUv: de && m(I.sheenRoughnessMap.channel), + specularMapUv: ge && m(I.specularMap.channel), + specularColorMapUv: Oe && m(I.specularColorMap.channel), + specularIntensityMapUv: Xe && m(I.specularIntensityMap.channel), + transmissionMapUv: $e && m(I.transmissionMap.channel), + thicknessMapUv: Ie && m(I.thicknessMap.channel), + alphaMapUv: _e && m(I.alphaMap.channel), + vertexTangents: !!N.attributes.tangent && (ye || qe), + vertexNormals: !!N.attributes.normal, + vertexColors: I.vertexColors, + vertexAlphas: + I.vertexColors === !0 && + !!N.attributes.color && + N.attributes.color.itemSize === 4, + pointsUvs: B.isPoints === !0 && !!N.attributes.uv && (Ee || _e), + fog: !!D, + useFog: I.fog === !0, + fogExp2: !!D && D.isFogExp2, + flatShading: + I.wireframe === !1 && + (I.flatShading === !0 || + (N.attributes.normal === void 0 && + ye === !1 && + (I.isMeshLambertMaterial || + I.isMeshPhongMaterial || + I.isMeshStandardMaterial || + I.isMeshPhysicalMaterial))), + sizeAttenuation: I.sizeAttenuation === !0, + logarithmicDepthBuffer: d, + reversedDepthBuffer: Se, + skinning: B.isSkinnedMesh === !0, + hasPositionAttribute: N.attributes.position !== void 0, + morphTargets: N.morphAttributes.position !== void 0, + morphNormals: N.morphAttributes.normal !== void 0, + morphColors: N.morphAttributes.color !== void 0, + morphTargetsCount: ie, + morphTextureStride: j, + numSunLights: k.sun.length, + numDirLights: k.directional.length, + numPointLights: k.point.length, + numSpotLights: k.spot.length, + numSpotLightMaps: k.spotLightMap.length, + numRectAreaLights: k.rectArea.length, + numHemiLights: k.hemi.length, + numSunLightShadows: k.sunShadowMap.length, + numDirLightShadows: k.directionalShadowMap.length, + numPointLightShadows: k.pointShadowMap.length, + numSpotLightShadows: k.spotShadowMap.length, + numSpotLightShadowsWithMaps: k.numSpotLightShadowsWithMaps, + numLightProbes: k.numLightProbes, + numLightProbeGrids: U.length, + numClippingPlanes: a.numPlanes, + numClipIntersection: a.numIntersection, + dithering: I.dithering, + shadowMapEnabled: e.shadowMap.enabled && L.length > 0, + shadowMapType: e.shadowMap.type, + toneMapping: At, + decodeVideoTexture: + Ee && + I.map.isVideoTexture === !0 && + jo.getTransfer(I.map.colorSpace) === cs, + decodeVideoTextureEmissive: + ue && + I.emissiveMap.isVideoTexture === !0 && + jo.getTransfer(I.emissiveMap.colorSpace) === cs, + premultipliedAlpha: I.premultipliedAlpha, + doubleSided: I.side === Ph, + flipSided: I.side === Rh, + useDepthPacking: I.depthPacking >= 0, + depthPacking: I.depthPacking || 0, + index0AttributeName: I.index0AttributeName, + extensionClipCullDistance: + ot && + I.extensions.clipCullDistance === !0 && + n.has("WEBGL_clip_cull_distance"), + extensionMultiDraw: + ((ot && I.extensions.multiDraw === !0) || Ae) && + n.has("WEBGL_multi_draw"), + rendererExtensionParallelShaderCompile: n.has( + "KHR_parallel_shader_compile", + ), + customProgramCacheKey: I.customProgramCacheKey(), + }; + return ( + (en.vertexUv1s = l.has(1)), + (en.vertexUv2s = l.has(2)), + (en.vertexUv3s = l.has(3)), + l.clear(), + en + ); + } + function v(I) { + let k = []; + if (I.shaderID) k.push(I.shaderID); + else (k.push(I.customVertexShaderID), k.push(I.customFragmentShaderID)); + if (I.defines !== void 0) + for (let L in I.defines) (k.push(L), k.push(I.defines[L])); + if (I.isRawShaderMaterial === !1) + (y(k, I), x(k, I), k.push(e.outputColorSpace)); + return (k.push(I.customProgramCacheKey), k.join()); + } + function y(I, k) { + (I.push(k.precision), + I.push(k.outputColorSpace), + I.push(k.envMapMode), + I.push(k.envMapCubeUVHeight), + I.push(k.mapUv), + I.push(k.alphaMapUv), + I.push(k.lightMapUv), + I.push(k.aoMapUv), + I.push(k.bumpMapUv), + I.push(k.normalMapUv), + I.push(k.displacementMapUv), + I.push(k.emissiveMapUv), + I.push(k.metalnessMapUv), + I.push(k.roughnessMapUv), + I.push(k.anisotropyMapUv), + I.push(k.clearcoatMapUv), + I.push(k.clearcoatNormalMapUv), + I.push(k.clearcoatRoughnessMapUv), + I.push(k.iridescenceMapUv), + I.push(k.iridescenceThicknessMapUv), + I.push(k.sheenColorMapUv), + I.push(k.sheenRoughnessMapUv), + I.push(k.specularMapUv), + I.push(k.specularColorMapUv), + I.push(k.specularIntensityMapUv), + I.push(k.transmissionMapUv), + I.push(k.thicknessMapUv), + I.push(k.combine), + I.push(k.fogExp2), + I.push(k.sizeAttenuation), + I.push(k.morphTargetsCount), + I.push(k.morphAttributeCount), + I.push(k.numSunLights), + I.push(k.numDirLights), + I.push(k.numPointLights), + I.push(k.numSpotLights), + I.push(k.numSpotLightMaps), + I.push(k.numHemiLights), + I.push(k.numRectAreaLights), + I.push(k.numSunLightShadows), + I.push(k.numDirLightShadows), + I.push(k.numPointLightShadows), + I.push(k.numSpotLightShadows), + I.push(k.numSpotLightShadowsWithMaps), + I.push(k.numLightProbes), + I.push(k.shadowMapType), + I.push(k.toneMapping), + I.push(k.numClippingPlanes), + I.push(k.numClipIntersection), + I.push(k.depthPacking)); + } + function x(I, k) { + if ((i.disableAll(), k.instancing)) i.enable(0); + if (k.instancingColor) i.enable(1); + if (k.instancingMorph) i.enable(2); + if (k.matcap) i.enable(3); + if (k.envMap) i.enable(4); + if (k.normalMapObjectSpace) i.enable(5); + if (k.normalMapTangentSpace) i.enable(6); + if (k.clearcoat) i.enable(7); + if (k.iridescence) i.enable(8); + if (k.alphaTest) i.enable(9); + if (k.vertexColors) i.enable(10); + if (k.vertexAlphas) i.enable(11); + if (k.vertexUv1s) i.enable(12); + if (k.vertexUv2s) i.enable(13); + if (k.vertexUv3s) i.enable(14); + if (k.vertexTangents) i.enable(15); + if (k.anisotropy) i.enable(16); + if (k.alphaHash) i.enable(17); + if (k.batching) i.enable(18); + if (k.dispersion) i.enable(19); + if (k.retroreflection) i.enable(24); + if (k.batchingColor) i.enable(20); + if (k.gradientMap) i.enable(21); + if (k.packedNormalMap) i.enable(22); + if (k.vertexNormals) i.enable(23); + if ((I.push(i.mask), i.disableAll(), k.fog)) i.enable(0); + if (k.useFog) i.enable(1); + if (k.flatShading) i.enable(2); + if (k.logarithmicDepthBuffer) i.enable(3); + if (k.reversedDepthBuffer) i.enable(4); + if (k.skinning) i.enable(5); + if (k.morphTargets) i.enable(6); + if (k.morphNormals) i.enable(7); + if (k.morphColors) i.enable(8); + if (k.premultipliedAlpha) i.enable(9); + if (k.shadowMapEnabled) i.enable(10); + if (k.doubleSided) i.enable(11); + if (k.flipSided) i.enable(12); + if (k.useDepthPacking) i.enable(13); + if (k.dithering) i.enable(14); + if (k.transmission) i.enable(15); + if (k.sheen) i.enable(16); + if (k.opaque) i.enable(17); + if (k.pointsUvs) i.enable(18); + if (k.decodeVideoTexture) i.enable(19); + if (k.decodeVideoTextureEmissive) i.enable(20); + if (k.alphaToCoverage) i.enable(21); + if (k.numLightProbeGrids > 0) i.enable(22); + if (k.hasPositionAttribute) i.enable(23); + I.push(i.mask); + } + function A(I) { + let k = f[I.type], + L; + if (k) { + let O = Pv[k]; + L = RHe.clone(O.uniforms); + } else L = I.uniforms; + return L; + } + function w(I, k) { + let L = u.get(k); + if (L !== void 0) ++L.usedTimes; + else ((L = new YBr(e, k, I, o)), c.push(L), u.set(k, L)); + return L; + } + function C(I) { + if (--I.usedTimes === 0) { + let k = c.indexOf(I); + ((c[k] = c[c.length - 1]), c.pop(), u.delete(I.cacheKey), I.destroy()); + } + } + function E(I) { + s.remove(I); + } + function T() { + s.dispose(); + } + return { + getParameters: g, + getProgramCacheKey: v, + getUniforms: A, + acquireProgram: w, + releaseProgram: C, + releaseShaderCache: E, + programs: c, + dispose: T, + }; +} +function $Br() { + let e = new WeakMap(); + function t(i) { + return e.has(i); + } + function n(i) { + let s = e.get(i); + if (s === void 0) ((s = {}), e.set(i, s)); + return s; + } + function r(i) { + e.delete(i); + } + function o(i, s, l) { + e.get(i)[s] = l; + } + function a() { + e = new WeakMap(); + } + return { has: t, get: n, remove: r, update: o, dispose: a }; +} +function eOr(e, t) { + if (e.groupOrder !== t.groupOrder) return e.groupOrder - t.groupOrder; + else if (e.renderOrder !== t.renderOrder) + return e.renderOrder - t.renderOrder; + else if (e.material.id !== t.material.id) + return e.material.id - t.material.id; + else if (e.materialVariant !== t.materialVariant) + return e.materialVariant - t.materialVariant; + else if (e.z !== t.z) return e.z - t.z; + else return e.id - t.id; +} +function S0n(e, t) { + if (e.groupOrder !== t.groupOrder) return e.groupOrder - t.groupOrder; + else if (e.renderOrder !== t.renderOrder) + return e.renderOrder - t.renderOrder; + else if (e.z !== t.z) return t.z - e.z; + else return e.id - t.id; +} +function C0n() { + let e = [], + t = 0, + n = [], + r = [], + o = []; + function a() { + ((t = 0), (n.length = 0), (r.length = 0), (o.length = 0)); + } + function i(p) { + let f = 0; + if (p.isInstancedMesh) f += 2; + if (p.isSkinnedMesh) f += 1; + return f; + } + function s(p, f, m, g, v, y) { + let x = e[t]; + if (x === void 0) + ((x = { + id: p.id, + object: p, + geometry: f, + material: m, + materialVariant: i(p), + groupOrder: g, + renderOrder: p.renderOrder, + z: v, + group: y, + }), + (e[t] = x)); + else + ((x.id = p.id), + (x.object = p), + (x.geometry = f), + (x.material = m), + (x.materialVariant = i(p)), + (x.groupOrder = g), + (x.renderOrder = p.renderOrder), + (x.z = v), + (x.group = y)); + return (t++, x); + } + function l(p, f, m, g, v, y, x) { + if (x.reversedDepth === !0) v = -v; + let A = s(p, f, m, g, v, y); + if (m.transmission > 0) r.push(A); + else if (m.transparent === !0) o.push(A); + else n.push(A); + } + function c(p, f, m, g, v, y) { + let x = s(p, f, m, g, v, y); + if (m.transmission > 0) r.unshift(x); + else if (m.transparent === !0) o.unshift(x); + else n.unshift(x); + } + function u(p, f) { + if (n.length > 1) n.sort(p || eOr); + if (r.length > 1) r.sort(f || S0n); + if (o.length > 1) o.sort(f || S0n); + } + function d() { + for (let p = t, f = e.length; p < f; p++) { + let m = e[p]; + if (m.id === null) break; + ((m.id = null), + (m.object = null), + (m.geometry = null), + (m.material = null), + (m.group = null)); + } + } + return { + opaque: n, + transmissive: r, + transparent: o, + init: a, + push: l, + unshift: c, + finish: d, + sort: u, + }; +} +function tOr() { + let e = new WeakMap(); + function t(r, o) { + let a = e.get(r), + i; + if (a === void 0) ((i = new C0n()), e.set(r, [i])); + else if (o >= a.length) ((i = new C0n()), a.push(i)); + else i = a[o]; + return i; + } + function n() { + e = new WeakMap(); + } + return { get: t, dispose: n }; +} +function nOr() { + let e = {}; + return { + get: function (t) { + if (e[t.id] !== void 0) return e[t.id]; + let n; + switch (t.type) { + case "SunLight": + case "DirectionalLight": + n = { direction: new he(), color: new _n() }; + break; + case "SpotLight": + n = { + position: new he(), + direction: new he(), + color: new _n(), + distance: 0, + coneCos: 0, + penumbraCos: 0, + decay: 0, + }; + break; + case "PointLight": + n = { position: new he(), color: new _n(), distance: 0, decay: 0 }; + break; + case "HemisphereLight": + n = { + direction: new he(), + skyColor: new _n(), + groundColor: new _n(), + }; + break; + case "RectAreaLight": + n = { + color: new _n(), + position: new he(), + halfWidth: new he(), + halfHeight: new he(), + }; + break; + } + return ((e[t.id] = n), n); + }, + }; +} +function rOr() { + let e = {}; + return { + get: function (t) { + if (e[t.id] !== void 0) return e[t.id]; + let n; + switch (t.type) { + case "SunLight": + case "DirectionalLight": + n = { + shadowIntensity: 1, + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new vt(), + }; + break; + case "SpotLight": + n = { + shadowIntensity: 1, + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new vt(), + }; + break; + case "PointLight": + n = { + shadowIntensity: 1, + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new vt(), + shadowCameraNear: 1, + shadowCameraFar: 1000, + }; + break; + } + return ((e[t.id] = n), n); + }, + }; +} +function aOr(e, t) { + return ( + (t.castShadow ? 2 : 0) - + (e.castShadow ? 2 : 0) + + (t.map ? 1 : 0) - + (e.map ? 1 : 0) + ); +} +function iOr(e) { + let t = new nOr(), + n = rOr(), + r = { + version: 0, + hash: { + sunLength: -1, + directionalLength: -1, + pointLength: -1, + spotLength: -1, + rectAreaLength: -1, + hemiLength: -1, + numSunShadows: -1, + numDirectionalShadows: -1, + numPointShadows: -1, + numSpotShadows: -1, + numSpotMaps: -1, + numLightProbes: -1, + }, + ambient: [0, 0, 0], + probe: [], + sun: [], + sunShadow: [], + sunShadowMap: [], + sunShadowMatrix: [], + sunShadowCascade: [], + directional: [], + directionalShadow: [], + directionalShadowMap: [], + directionalShadowMatrix: [], + spot: [], + spotLightMap: [], + spotShadow: [], + spotShadowMap: [], + spotLightMatrix: [], + rectArea: [], + rectAreaLTC1: null, + rectAreaLTC2: null, + point: [], + pointShadow: [], + pointShadowMap: [], + pointShadowMatrix: [], + hemi: [], + numSpotLightShadowsWithMaps: 0, + numLightProbes: 0, + }; + for (let c = 0; c < 9; c++) r.probe.push(new he()); + let o = new he(), + a = new Vn(), + i = new Vn(); + function s(c) { + let u = 0, + d = 0, + p = 0; + for (let B = 0; B < 9; B++) r.probe[B].set(0, 0, 0); + let f = 0, + m = 0, + g = 0, + v = 0, + y = 0, + x = 0, + A = 0, + w = 0, + C = 0, + E = 0, + T = 0, + I = 0, + k = 0, + L = 0; + c.sort(aOr); + for (let B = 0, U = c.length; B < U; B++) { + let D = c[B], + { color: N, intensity: _, distance: G } = D, + Z = null; + if (D.shadow && D.shadow.map) + if (D.shadow.map.texture.format === tA) Z = D.shadow.map.texture; + else Z = D.shadow.map.depthTexture || D.shadow.map.texture; + if (D.isAmbientLight) ((u += N.r * _), (d += N.g * _), (p += N.b * _)); + else if (D.isLightProbe) { + for (let q = 0; q < 9; q++) + r.probe[q].addScaledVector(D.sh.coefficients[q], _); + L++; + } else if (D.isSunLight) { + let q = t.get(D); + if ((q.color.copy(D.color).multiplyScalar(D.intensity), D.castShadow)) { + let H = D.shadow, + te = n.get(D); + ((te.shadowIntensity = H.intensity), + (te.shadowBias = H.bias), + (te.shadowNormalBias = H.normalBias), + (te.shadowRadius = H.radius), + te.shadowMapSize.copy(H.mapSize).multiply(H.getFrameExtents()), + (r.sunShadow[m] = te), + (r.sunShadowMap[m] = Z)); + let ie = H.getViewportCount(); + for (let j = 0; j < ie; j++) + ((r.sunShadowMatrix[g + j] = H.getMatrix(j)), + (r.sunShadowCascade[g + j] = H._cascadeData[j])); + ((g += ie), m++); + } + ((r.sun[f] = q), f++); + } else if (D.isDirectionalLight) { + let q = t.get(D); + if ((q.color.copy(D.color).multiplyScalar(D.intensity), D.castShadow)) { + let H = D.shadow, + te = n.get(D); + ((te.shadowIntensity = H.intensity), + (te.shadowBias = H.bias), + (te.shadowNormalBias = H.normalBias), + (te.shadowRadius = H.radius), + (te.shadowMapSize = H.mapSize), + (r.directionalShadow[v] = te), + (r.directionalShadowMap[v] = Z), + (r.directionalShadowMatrix[v] = D.shadow.matrix), + C++); + } + ((r.directional[v] = q), v++); + } else if (D.isSpotLight) { + let q = t.get(D); + (q.position.setFromMatrixPosition(D.matrixWorld), + q.color.copy(N).multiplyScalar(_), + (q.distance = G), + (q.coneCos = Math.cos(D.angle)), + (q.penumbraCos = Math.cos(D.angle * (1 - D.penumbra))), + (q.decay = D.decay), + (r.spot[x] = q)); + let H = D.shadow; + if (D.map) { + if ( + ((r.spotLightMap[I] = D.map), + I++, + H.updateMatrices(D), + D.castShadow) + ) + k++; + } + if (((r.spotLightMatrix[x] = H.matrix), D.castShadow)) { + let te = n.get(D); + ((te.shadowIntensity = H.intensity), + (te.shadowBias = H.bias), + (te.shadowNormalBias = H.normalBias), + (te.shadowRadius = H.radius), + (te.shadowMapSize = H.mapSize), + (r.spotShadow[x] = te), + (r.spotShadowMap[x] = Z), + T++); + } + x++; + } else if (D.isRectAreaLight) { + let q = t.get(D); + (q.color.copy(N).multiplyScalar(_), + q.halfWidth.set(D.width * 0.5, 0, 0), + q.halfHeight.set(0, D.height * 0.5, 0), + (r.rectArea[A] = q), + A++); + } else if (D.isPointLight) { + let q = t.get(D); + if ( + (q.color.copy(D.color).multiplyScalar(D.intensity), + (q.distance = D.distance), + (q.decay = D.decay), + D.castShadow) + ) { + let H = D.shadow, + te = n.get(D); + ((te.shadowIntensity = H.intensity), + (te.shadowBias = H.bias), + (te.shadowNormalBias = H.normalBias), + (te.shadowRadius = H.radius), + (te.shadowMapSize = H.mapSize), + (te.shadowCameraNear = H.camera.near), + (te.shadowCameraFar = H.camera.far), + (r.pointShadow[y] = te), + (r.pointShadowMap[y] = Z), + (r.pointShadowMatrix[y] = D.shadow.matrix), + E++); + } + ((r.point[y] = q), y++); + } else if (D.isHemisphereLight) { + let q = t.get(D); + (q.skyColor.copy(D.color).multiplyScalar(_), + q.groundColor.copy(D.groundColor).multiplyScalar(_), + (r.hemi[w] = q), + w++); + } + } + if (A > 0) + if (e.has("OES_texture_float_linear") === !0) + ((r.rectAreaLTC1 = Gn.LTC_FLOAT_1), (r.rectAreaLTC2 = Gn.LTC_FLOAT_2)); + else ((r.rectAreaLTC1 = Gn.LTC_HALF_1), (r.rectAreaLTC2 = Gn.LTC_HALF_2)); + ((r.ambient[0] = u), (r.ambient[1] = d), (r.ambient[2] = p)); + let O = r.hash; + if ( + O.sunLength !== f || + O.directionalLength !== v || + O.pointLength !== y || + O.spotLength !== x || + O.rectAreaLength !== A || + O.hemiLength !== w || + O.numSunShadows !== m || + O.numDirectionalShadows !== C || + O.numPointShadows !== E || + O.numSpotShadows !== T || + O.numSpotMaps !== I || + O.numLightProbes !== L + ) + ((r.sun.length = f), + (r.directional.length = v), + (r.spot.length = x), + (r.rectArea.length = A), + (r.point.length = y), + (r.hemi.length = w), + (r.sunShadow.length = m), + (r.sunShadowMap.length = m), + (r.sunShadowMatrix.length = g), + (r.sunShadowCascade.length = g), + (r.directionalShadow.length = C), + (r.directionalShadowMap.length = C), + (r.directionalShadowMatrix.length = C), + (r.pointShadow.length = E), + (r.pointShadowMap.length = E), + (r.pointShadowMatrix.length = E), + (r.spotShadow.length = T), + (r.spotShadowMap.length = T), + (r.spotLightMatrix.length = T + I - k), + (r.spotLightMap.length = I), + (r.numSpotLightShadowsWithMaps = k), + (r.numLightProbes = L), + (O.sunLength = f), + (O.directionalLength = v), + (O.pointLength = y), + (O.spotLength = x), + (O.rectAreaLength = A), + (O.hemiLength = w), + (O.numSunShadows = m), + (O.numDirectionalShadows = C), + (O.numPointShadows = E), + (O.numSpotShadows = T), + (O.numSpotMaps = I), + (O.numLightProbes = L), + (r.version = oOr++)); + } + function l(c, u) { + let d = 0, + p = 0, + f = 0, + m = 0, + g = 0, + v = 0, + y = u.matrixWorldInverse; + for (let x = 0, A = c.length; x < A; x++) { + let w = c[x]; + if (w.isSunLight) { + let C = r.sun[d]; + (C.direction.setFromMatrixPosition(w.matrixWorld), + C.direction.transformDirection(y), + d++); + } else if (w.isDirectionalLight) { + let C = r.directional[p]; + (C.direction.setFromMatrixPosition(w.matrixWorld), + o.setFromMatrixPosition(w.target.matrixWorld), + C.direction.sub(o), + C.direction.transformDirection(y), + p++); + } else if (w.isSpotLight) { + let C = r.spot[m]; + (C.position.setFromMatrixPosition(w.matrixWorld), + C.position.applyMatrix4(y), + C.direction.setFromMatrixPosition(w.matrixWorld), + o.setFromMatrixPosition(w.target.matrixWorld), + C.direction.sub(o), + C.direction.transformDirection(y), + m++); + } else if (w.isRectAreaLight) { + let C = r.rectArea[g]; + (C.position.setFromMatrixPosition(w.matrixWorld), + C.position.applyMatrix4(y), + i.identity(), + a.copy(w.matrixWorld), + a.premultiply(y), + i.extractRotation(a), + C.halfWidth.set(w.width * 0.5, 0, 0), + C.halfHeight.set(0, w.height * 0.5, 0), + C.halfWidth.applyMatrix4(i), + C.halfHeight.applyMatrix4(i), + g++); + } else if (w.isPointLight) { + let C = r.point[f]; + (C.position.setFromMatrixPosition(w.matrixWorld), + C.position.applyMatrix4(y), + f++); + } else if (w.isHemisphereLight) { + let C = r.hemi[v]; + (C.direction.setFromMatrixPosition(w.matrixWorld), + C.direction.transformDirection(y), + v++); + } + } + } + return { setup: s, setupView: l, state: r }; +} +function E0n(e) { + let t = new iOr(e), + n = [], + r = [], + o = []; + function a(p) { + ((d.camera = p), (n.length = 0), (r.length = 0), (o.length = 0)); + } + function i(p) { + n.push(p); + } + function s(p) { + r.push(p); + } + function l(p) { + o.push(p); + } + function c() { + t.setup(n); + } + function u(p) { + t.setupView(n, p); + } + let d = { + lightsArray: n, + shadowsArray: r, + lightProbeGridArray: o, + camera: null, + lights: t, + transmissionRenderTarget: {}, + textureUnits: 0, + }; + return { + init: a, + state: d, + setupLights: c, + setupLightsView: u, + pushLight: i, + pushShadow: s, + pushLightProbeGrid: l, + }; +} +function sOr(e) { + let t = new WeakMap(); + function n(o, a = 0) { + let i = t.get(o), + s; + if (i === void 0) ((s = new E0n(e)), t.set(o, [s])); + else if (a >= i.length) ((s = new E0n(e)), i.push(s)); + else s = i[a]; + return s; + } + function r() { + t = new WeakMap(); + } + return { get: n, dispose: r }; +} +function pOr(e, t, n) { + let r = new Ww(), + o = new vt(), + a = new vt(), + i = new Ja(), + s = new lW(), + l = new cW(), + c = {}, + u = n.maxTextureSize, + d = { [$x]: Rh, [Rh]: $x, [Ph]: Ph }, + p = new Ac({ + defines: { VSM_SAMPLES: 8 }, + uniforms: { + shadow_pass: { value: null }, + resolution: { value: new vt() }, + radius: { value: 4 }, + }, + vertexShader: lOr, + fragmentShader: cOr, + }), + f = p.clone(); + f.defines.HORIZONTAL_PASS = 1; + let m = new Jr(); + m.setAttribute( + "position", + new si(new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), 3), + ); + let g = new Na(m, p), + v = this; + ((this.enabled = !1), + (this.autoUpdate = !0), + (this.needsUpdate = !1), + (this.type = u5)); + let y = this.type; + this.render = function (E, T, I) { + if (v.enabled === !1) return; + if (v.autoUpdate === !1 && v.needsUpdate === !1) return; + if (E.length === 0) return; + if (this.type === E7) + (zn( + "WebGLShadowMap: PCFSoftShadowMap has been removed. Using PCFShadowMap instead.", + ), + (this.type = u5)); + let k = e.getRenderTarget(), + L = e.getActiveCubeFace(), + O = e.getActiveMipmapLevel(), + B = e.state; + if ((B.setBlending(Rv), B.buffers.depth.getReversed() === !0)) + B.buffers.color.setClear(0, 0, 0, 0); + else B.buffers.color.setClear(1, 1, 1, 1); + (B.buffers.depth.setTest(!0), B.setScissorTest(!1)); + let U = y !== this.type; + if (U) + T.traverse(function (D) { + if (D.material) + if (Array.isArray(D.material)) + D.material.forEach((N) => (N.needsUpdate = !0)); + else D.material.needsUpdate = !0; + }); + for (let D = 0, N = E.length; D < N; D++) { + let _ = E[D], + G = _.shadow; + if (G === void 0) { + zn("WebGLShadowMap:", _, "has no shadow."); + continue; + } + if (G.autoUpdate === !1 && G.needsUpdate === !1) continue; + o.copy(G.mapSize); + let Z = G.getFrameExtents(); + if ((o.multiply(Z), a.copy(G.mapSize), o.x > u || o.y > u)) { + if (o.x > u) + ((a.x = Math.floor(u / Z.x)), (o.x = a.x * Z.x), (G.mapSize.x = a.x)); + if (o.y > u) + ((a.y = Math.floor(u / Z.y)), (o.y = a.y * Z.y), (G.mapSize.y = a.y)); + } + let q = e.state.buffers.depth.getReversed(); + if (((G.camera._reversedDepth = q), G.map === null || U === !0)) { + if (G.map !== null) { + if (G.map.depthTexture !== null) + (G.map.depthTexture.dispose(), (G.map.depthTexture = null)); + G.map.dispose(); + } + if (this.type === Yw) { + if (_.isPointLight) { + zn( + "WebGLShadowMap: VSM shadow maps are not supported for PointLights. Use PCF or BasicShadowMap instead.", + ); + continue; + } + ((G.map = new ef(o.x, o.y, { + format: tA, + type: O0, + minFilter: Mh, + magFilter: Mh, + generateMipmaps: !1, + })), + (G.map.texture.name = _.name + ".shadowMap"), + (G.map.depthTexture = new nA(o.x, o.y, s1)), + (G.map.depthTexture.name = _.name + ".shadowMapDepth"), + (G.map.depthTexture.format = eA), + (G.map.depthTexture.compareFunction = null), + (G.map.depthTexture.minFilter = Jw), + (G.map.depthTexture.magFilter = Jw)); + } else { + if (_.isPointLight) + ((G.map = new kge(o.x)), (G.map.depthTexture = new _0e(o.x, Dh))); + else + ((G.map = new ef(o.x, o.y)), + (G.map.depthTexture = new nA(o.x, o.y, Dh))); + if ( + ((G.map.depthTexture.name = _.name + ".shadowMap"), + (G.map.depthTexture.format = eA), + this.type === u5) + ) + ((G.map.depthTexture.compareFunction = q ? RX : kX), + (G.map.depthTexture.minFilter = Mh), + (G.map.depthTexture.magFilter = Mh)); + else + ((G.map.depthTexture.compareFunction = null), + (G.map.depthTexture.minFilter = Jw), + (G.map.depthTexture.magFilter = Jw)); + } + G.camera.updateProjectionMatrix(); + } + if ( + G.map.isWebGLCubeRenderTarget !== !0 && + (G.map.width !== o.x || G.map.height !== o.y) + ) + G.map.setSize(o.x, o.y); + let H = G.map.isWebGLCubeRenderTarget ? 6 : G.getViewportCount(); + if (_.isPointLight !== !0) G.updateMatrices(_, I); + for (let te = 0; te < H; te++) { + let ie = G.getCamera(te); + if (_.isPointLight) { + let { camera: j, matrix: oe } = G, + J = _.distance || j.far; + if (J !== j.far) ((j.far = J), j.updateProjectionMatrix()); + (AW.setFromMatrixPosition(_.matrixWorld), + j.position.copy(AW), + AVe.copy(j.position), + AVe.add(uOr[te]), + j.up.copy(dOr[te]), + j.lookAt(AVe), + j.updateMatrixWorld(), + oe.makeTranslation(-AW.x, -AW.y, -AW.z), + I0n.multiplyMatrices(j.projectionMatrix, j.matrixWorldInverse), + G._frustum.setFromProjectionMatrix( + I0n, + j.coordinateSystem, + j.reversedDepth, + )); + } + if (G.map.isWebGLCubeRenderTarget) + (e.setRenderTarget(G.map, te), e.clear()); + else { + if (te === 0) (e.setRenderTarget(G.map), e.clear()); + let j = G.getViewport(te); + (i.set(a.x * j.x, a.y * j.y, a.x * j.z, a.y * j.w), B.viewport(i)); + } + ((r = G.getFrustum(te)), w(T, I, ie, _, this.type)); + } + if (G.isPointLightShadow !== !0 && this.type === Yw) x(G, I); + G.needsUpdate = !1; + } + ((y = this.type), (v.needsUpdate = !1), e.setRenderTarget(k, L, O)); + }; + function x(E, T) { + let I = t.update(g); + if (p.defines.VSM_SAMPLES !== E.blurSamples) + ((p.defines.VSM_SAMPLES = E.blurSamples), + (f.defines.VSM_SAMPLES = E.blurSamples), + (p.needsUpdate = !0), + (f.needsUpdate = !0)); + if (E.mapPass === null) + E.mapPass = new ef(o.x, o.y, { format: tA, type: O0 }); + else if ( + E.mapPass.width !== E.map.width || + E.mapPass.height !== E.map.height + ) + E.mapPass.setSize(E.map.width, E.map.height); + ((p.uniforms.shadow_pass.value = E.map.depthTexture), + p.uniforms.resolution.value.set(E.map.width, E.map.height), + (p.uniforms.radius.value = E.radius), + e.setRenderTarget(E.mapPass), + e.clear(), + e.renderBufferDirect(T, null, I, p, g, null), + (f.uniforms.shadow_pass.value = E.mapPass.texture), + f.uniforms.resolution.value.set(E.map.width, E.map.height), + (f.uniforms.radius.value = E.radius), + e.setRenderTarget(E.map), + e.clear(), + e.renderBufferDirect(T, null, I, f, g, null)); + } + function A(E, T, I, k) { + let L = null, + O = + I.isPointLight === !0 + ? E.customDistanceMaterial + : E.customDepthMaterial; + if (O !== void 0) L = O; + else if ( + ((L = I.isPointLight === !0 ? l : s), + (e.localClippingEnabled && + T.clipShadows === !0 && + Array.isArray(T.clippingPlanes) && + T.clippingPlanes.length !== 0) || + (T.displacementMap && T.displacementScale !== 0) || + (T.alphaMap && T.alphaTest > 0) || + (T.map && T.alphaTest > 0) || + T.alphaToCoverage === !0) + ) { + let B = L.uuid, + U = T.uuid, + D = c[B]; + if (D === void 0) ((D = {}), (c[B] = D)); + let N = D[U]; + if (N === void 0) + ((N = L.clone()), (D[U] = N), T.addEventListener("dispose", C)); + L = N; + } + if (((L.visible = T.visible), (L.wireframe = T.wireframe), k === Yw)) + L.side = T.shadowSide !== null ? T.shadowSide : T.side; + else L.side = T.shadowSide !== null ? T.shadowSide : d[T.side]; + if ( + ((L.alphaMap = T.alphaMap), + (L.alphaTest = T.alphaToCoverage === !0 ? 0.5 : T.alphaTest), + (L.map = T.map), + (L.clipShadows = T.clipShadows), + (L.clippingPlanes = T.clippingPlanes), + (L.clipIntersection = T.clipIntersection), + (L.displacementMap = T.displacementMap), + (L.displacementScale = T.displacementScale), + (L.displacementBias = T.displacementBias), + (L.wireframeLinewidth = T.wireframeLinewidth), + (L.linewidth = T.linewidth), + I.isPointLight === !0 && L.isMeshDistanceMaterial === !0) + ) { + let B = e.properties.get(L); + B.light = I; + } + return L; + } + function w(E, T, I, k, L) { + if (E.visible === !1) return; + if (E.layers.test(T.layers) && (E.isMesh || E.isLine || E.isPoints)) { + if ( + (E.castShadow || (E.receiveShadow && L === Yw)) && + (!E.frustumCulled || E.intersectsFrustum(r)) + ) { + E.modelViewMatrix.multiplyMatrices(I.matrixWorldInverse, E.matrixWorld); + let U = t.update(E), + D = E.material; + if (Array.isArray(D)) { + let N = U.groups; + for (let _ = 0, G = N.length; _ < G; _++) { + let Z = N[_], + q = D[Z.materialIndex]; + if (q && q.visible) { + let H = A(E, q, k, L); + (E.onBeforeShadow(e, E, T, I, U, H, Z), + e.renderBufferDirect(I, null, U, H, E, Z), + E.onAfterShadow(e, E, T, I, U, H, Z)); + } + } + } else if (D.visible) { + let N = A(E, D, k, L); + (E.onBeforeShadow(e, E, T, I, U, N, null), + e.renderBufferDirect(I, null, U, N, E, null), + E.onAfterShadow(e, E, T, I, U, N, null)); + } + } + } + let B = E.children; + for (let U = 0, D = B.length; U < D; U++) w(B[U], T, I, k, L); + } + function C(E) { + E.target.removeEventListener("dispose", C); + for (let I in c) { + let k = c[I], + L = E.target.uuid; + if (L in k) (k[L].dispose(), delete k[L]); + } + } +} +function fOr(e, t) { + function n() { + let Ie = !1, + Ge = new Ja(), + _e = null, + nt = new Ja(0, 0, 0, 0); + return { + setMask: function (rt) { + if (_e !== rt && !Ie) (e.colorMask(rt, rt, rt, rt), (_e = rt)); + }, + setLocked: function (rt) { + Ie = rt; + }, + setClear: function (rt, ot, At, en, Gt) { + if (Gt === !0) ((rt *= en), (ot *= en), (At *= en)); + if ((Ge.set(rt, ot, At, en), nt.equals(Ge) === !1)) + (e.clearColor(rt, ot, At, en), nt.copy(Ge)); + }, + reset: function () { + ((Ie = !1), (_e = null), nt.set(-1, 0, 0, 0)); + }, + }; + } + function r() { + let Ie = !1, + Ge = !1, + _e = null, + nt = null, + rt = null; + return { + setReversed: function (ot) { + if (Ge !== ot) { + let At = t.get("EXT_clip_control"); + if (ot) At.clipControlEXT(At.LOWER_LEFT_EXT, At.ZERO_TO_ONE_EXT); + else At.clipControlEXT(At.LOWER_LEFT_EXT, At.NEGATIVE_ONE_TO_ONE_EXT); + Ge = ot; + let en = rt; + ((rt = null), this.setClear(en)); + } + }, + getReversed: function () { + return Ge; + }, + setTest: function (ot) { + if (ot) ne(e.DEPTH_TEST); + else Se(e.DEPTH_TEST); + }, + setMask: function (ot) { + if (_e !== ot && !Ie) (e.depthMask(ot), (_e = ot)); + }, + setFunc: function (ot) { + if (Ge) ot = Vhn[ot]; + if (nt !== ot) { + switch (ot) { + case H_e: + e.depthFunc(e.NEVER); + break; + case V_e: + e.depthFunc(e.ALWAYS); + break; + case G_e: + e.depthFunc(e.LESS); + break; + case zhe: + e.depthFunc(e.LEQUAL); + break; + case q_e: + e.depthFunc(e.EQUAL); + break; + case Z_e: + e.depthFunc(e.GEQUAL); + break; + case Q_e: + e.depthFunc(e.GREATER); + break; + case X_e: + e.depthFunc(e.NOTEQUAL); + break; + default: + e.depthFunc(e.LEQUAL); + } + nt = ot; + } + }, + setLocked: function (ot) { + Ie = ot; + }, + setClear: function (ot) { + if (rt !== ot) { + if (((rt = ot), Ge)) ot = 1 - ot; + e.clearDepth(ot); + } + }, + reset: function () { + ((Ie = !1), (_e = null), (nt = null), (rt = null), (Ge = !1)); + }, + }; + } + function o() { + let Ie = !1, + Ge = null, + _e = null, + nt = null, + rt = null, + ot = null, + At = null, + en = null, + Gt = null; + return { + setTest: function (tn) { + if (!Ie) + if (tn) ne(e.STENCIL_TEST); + else Se(e.STENCIL_TEST); + }, + setMask: function (tn) { + if (Ge !== tn && !Ie) (e.stencilMask(tn), (Ge = tn)); + }, + setFunc: function (tn, Yt, Be) { + if (_e !== tn || nt !== Yt || rt !== Be) + (e.stencilFunc(tn, Yt, Be), (_e = tn), (nt = Yt), (rt = Be)); + }, + setOp: function (tn, Yt, Be) { + if (ot !== tn || At !== Yt || en !== Be) + (e.stencilOp(tn, Yt, Be), (ot = tn), (At = Yt), (en = Be)); + }, + setLocked: function (tn) { + Ie = tn; + }, + setClear: function (tn) { + if (Gt !== tn) (e.clearStencil(tn), (Gt = tn)); + }, + reset: function () { + ((Ie = !1), + (Ge = null), + (_e = null), + (nt = null), + (rt = null), + (ot = null), + (At = null), + (en = null), + (Gt = null)); + }, + }; + } + let a = new n(), + i = new r(), + s = new o(), + l = new WeakMap(), + c = new WeakMap(), + u = {}, + d = {}, + p = {}, + f = new WeakMap(), + m = [], + g = null, + v = !1, + y = null, + x = null, + A = null, + w = null, + C = null, + E = null, + T = null, + I = new _n(0, 0, 0), + k = 0, + L = !1, + O = null, + B = null, + U = null, + D = null, + N = null, + _ = e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS), + G = !1, + Z = 0, + q = e.getParameter(e.VERSION); + if (q.indexOf("WebGL") !== -1) + ((Z = parseFloat(/^WebGL (\d)/.exec(q)[1])), (G = Z >= 1)); + else if (q.indexOf("OpenGL ES") !== -1) + ((Z = parseFloat(/^OpenGL ES (\d)/.exec(q)[1])), (G = Z >= 2)); + let H = null, + te = {}, + ie = e.getParameter(e.SCISSOR_BOX), + j = e.getParameter(e.VIEWPORT), + oe = new Ja().fromArray(ie), + J = new Ja().fromArray(j); + function Y(Ie, Ge, _e, nt) { + let rt = new Uint8Array(4), + ot = e.createTexture(); + (e.bindTexture(Ie, ot), + e.texParameteri(Ie, e.TEXTURE_MIN_FILTER, e.NEAREST), + e.texParameteri(Ie, e.TEXTURE_MAG_FILTER, e.NEAREST)); + for (let At = 0; At < _e; At++) + if (Ie === e.TEXTURE_3D || Ie === e.TEXTURE_2D_ARRAY) + e.texImage3D(Ge, 0, e.RGBA, 1, 1, nt, 0, e.RGBA, e.UNSIGNED_BYTE, rt); + else + e.texImage2D(Ge + At, 0, e.RGBA, 1, 1, 0, e.RGBA, e.UNSIGNED_BYTE, rt); + return ot; + } + let ae = {}; + ((ae[e.TEXTURE_2D] = Y(e.TEXTURE_2D, e.TEXTURE_2D, 1)), + (ae[e.TEXTURE_CUBE_MAP] = Y( + e.TEXTURE_CUBE_MAP, + e.TEXTURE_CUBE_MAP_POSITIVE_X, + 6, + )), + (ae[e.TEXTURE_2D_ARRAY] = Y(e.TEXTURE_2D_ARRAY, e.TEXTURE_2D_ARRAY, 1, 1)), + (ae[e.TEXTURE_3D] = Y(e.TEXTURE_3D, e.TEXTURE_3D, 1, 1)), + a.setClear(0, 0, 0, 1), + i.setClear(1), + s.setClear(0), + ne(e.DEPTH_TEST), + i.setFunc(zhe), + be(!1), + ye(Bhe), + ne(e.CULL_FACE), + Le(Rv)); + function ne(Ie) { + if (u[Ie] !== !0) (e.enable(Ie), (u[Ie] = !0)); + } + function Se(Ie) { + if (u[Ie] !== !1) (e.disable(Ie), (u[Ie] = !1)); + } + function fe(Ie, Ge) { + if (p[Ie] !== Ge) { + if ((e.bindFramebuffer(Ie, Ge), (p[Ie] = Ge), Ie === e.DRAW_FRAMEBUFFER)) + p[e.FRAMEBUFFER] = Ge; + if (Ie === e.FRAMEBUFFER) p[e.DRAW_FRAMEBUFFER] = Ge; + return !0; + } + return !1; + } + function Ae(Ie, Ge) { + let _e = m, + nt = !1; + if (Ie) { + if (((_e = f.get(Ge)), _e === void 0)) ((_e = []), f.set(Ge, _e)); + let rt = Ie.textures; + if (_e.length !== rt.length || _e[0] !== e.COLOR_ATTACHMENT0) { + for (let ot = 0, At = rt.length; ot < At; ot++) + _e[ot] = e.COLOR_ATTACHMENT0 + ot; + ((_e.length = rt.length), (nt = !0)); + } + } else if (_e[0] !== e.BACK) ((_e[0] = e.BACK), (nt = !0)); + if (nt) e.drawBuffers(_e); + } + function Ee(Ie) { + if (g !== Ie) return (e.useProgram(Ie), (g = Ie), !0); + return !1; + } + let pe = { + [I7]: e.FUNC_ADD, + [C_e]: e.FUNC_SUBTRACT, + [E_e]: e.FUNC_REVERSE_SUBTRACT, + }; + ((pe[I_e] = e.MIN), (pe[T_e] = e.MAX)); + let Re = { + [k_e]: e.ZERO, + [R_e]: e.ONE, + [P_e]: e.SRC_COLOR, + [OB]: e.SRC_ALPHA, + [F_e]: e.SRC_ALPHA_SATURATE, + [B_e]: e.DST_COLOR, + [D_e]: e.DST_ALPHA, + [M_e]: e.ONE_MINUS_SRC_COLOR, + [FB]: e.ONE_MINUS_SRC_ALPHA, + [O_e]: e.ONE_MINUS_DST_COLOR, + [L_e]: e.ONE_MINUS_DST_ALPHA, + [U_e]: e.CONSTANT_COLOR, + [N_e]: e.ONE_MINUS_CONSTANT_COLOR, + [z_e]: e.CONSTANT_ALPHA, + [__e]: e.ONE_MINUS_CONSTANT_ALPHA, + }; + function Le(Ie, Ge, _e, nt, rt, ot, At, en, Gt, tn) { + if (Ie === Rv) { + if (v === !0) (Se(e.BLEND), (v = !1)); + return; + } + if (v === !1) (ne(e.BLEND), (v = !0)); + if (Ie !== yX) { + if (Ie !== y || tn !== L) { + if (x !== I7 || C !== I7) + (e.blendEquation(e.FUNC_ADD), (x = I7), (C = I7)); + if (tn) + switch (Ie) { + case Kw: + e.blendFuncSeparate( + e.ONE, + e.ONE_MINUS_SRC_ALPHA, + e.ONE, + e.ONE_MINUS_SRC_ALPHA, + ); + break; + case Fhe: + e.blendFunc(e.ONE, e.ONE); + break; + case Uhe: + e.blendFuncSeparate(e.ZERO, e.ONE_MINUS_SRC_COLOR, e.ZERO, e.ONE); + break; + case Nhe: + e.blendFuncSeparate( + e.DST_COLOR, + e.ONE_MINUS_SRC_ALPHA, + e.ZERO, + e.ONE, + ); + break; + default: + wr("WebGLState: Invalid blending: ", Ie); + break; + } + else + switch (Ie) { + case Kw: + e.blendFuncSeparate( + e.SRC_ALPHA, + e.ONE_MINUS_SRC_ALPHA, + e.ONE, + e.ONE_MINUS_SRC_ALPHA, + ); + break; + case Fhe: + e.blendFuncSeparate(e.SRC_ALPHA, e.ONE, e.ONE, e.ONE); + break; + case Uhe: + wr( + "WebGLState: SubtractiveBlending requires material.premultipliedAlpha = true", + ); + break; + case Nhe: + wr( + "WebGLState: MultiplyBlending requires material.premultipliedAlpha = true", + ); + break; + default: + wr("WebGLState: Invalid blending: ", Ie); + break; + } + ((A = null), + (w = null), + (E = null), + (T = null), + I.set(0, 0, 0), + (k = 0), + (y = Ie), + (L = tn)); + } + return; + } + if ( + ((rt = rt || Ge), (ot = ot || _e), (At = At || nt), Ge !== x || rt !== C) + ) + (e.blendEquationSeparate(pe[Ge], pe[rt]), (x = Ge), (C = rt)); + if (_e !== A || nt !== w || ot !== E || At !== T) + (e.blendFuncSeparate(Re[_e], Re[nt], Re[ot], Re[At]), + (A = _e), + (w = nt), + (E = ot), + (T = At)); + if (en.equals(I) === !1 || Gt !== k) + (e.blendColor(en.r, en.g, en.b, Gt), I.copy(en), (k = Gt)); + ((y = Ie), (L = !1)); + } + function Ne(Ie, Ge) { + Ie.side === Ph ? Se(e.CULL_FACE) : ne(e.CULL_FACE); + let _e = Ie.side === Rh; + if (Ge) _e = !_e; + (be(_e), + Ie.blending === Kw && Ie.transparent === !1 + ? Le(Rv) + : Le( + Ie.blending, + Ie.blendEquation, + Ie.blendSrc, + Ie.blendDst, + Ie.blendEquationAlpha, + Ie.blendSrcAlpha, + Ie.blendDstAlpha, + Ie.blendColor, + Ie.blendAlpha, + Ie.premultipliedAlpha, + ), + i.setFunc(Ie.depthFunc), + i.setTest(Ie.depthTest), + i.setMask(Ie.depthWrite), + a.setMask(Ie.colorWrite)); + let nt = Ie.stencilWrite; + if ((s.setTest(nt), nt)) + (s.setMask(Ie.stencilWriteMask), + s.setFunc(Ie.stencilFunc, Ie.stencilRef, Ie.stencilFuncMask), + s.setOp(Ie.stencilFail, Ie.stencilZFail, Ie.stencilZPass)); + (ue(Ie.polygonOffset, Ie.polygonOffsetFactor, Ie.polygonOffsetUnits), + Ie.alphaToCoverage === !0 + ? ne(e.SAMPLE_ALPHA_TO_COVERAGE) + : Se(e.SAMPLE_ALPHA_TO_COVERAGE)); + } + function be(Ie) { + if (O !== Ie) { + if (Ie) e.frontFace(e.CW); + else e.frontFace(e.CCW); + O = Ie; + } + } + function ye(Ie) { + if (Ie !== w_e) { + if ((ne(e.CULL_FACE), Ie !== B)) + if (Ie === Bhe) e.cullFace(e.BACK); + else if (Ie === S_e) e.cullFace(e.FRONT); + else e.cullFace(e.FRONT_AND_BACK); + } else Se(e.CULL_FACE); + B = Ie; + } + function ce(Ie) { + if (Ie !== U) { + if (G) e.lineWidth(Ie); + U = Ie; + } + } + function ue(Ie, Ge, _e) { + if (Ie) { + if ((ne(e.POLYGON_OFFSET_FILL), D !== Ge || N !== _e)) { + if (((D = Ge), (N = _e), i.getReversed())) Ge = -Ge; + e.polygonOffset(Ge, _e); + } + } else Se(e.POLYGON_OFFSET_FILL); + } + function ke(Ie) { + if (Ie) ne(e.SCISSOR_TEST); + else Se(e.SCISSOR_TEST); + } + function se(Ie) { + if (Ie === void 0) Ie = e.TEXTURE0 + _ - 1; + if (H !== Ie) (e.activeTexture(Ie), (H = Ie)); + } + function qe(Ie, Ge, _e) { + if (_e === void 0) + if (H === null) _e = e.TEXTURE0 + _ - 1; + else _e = H; + let nt = te[_e]; + if (nt === void 0) + ((nt = { type: void 0, texture: void 0 }), (te[_e] = nt)); + if (nt.type !== Ie || nt.texture !== Ge) { + if (H !== _e) (e.activeTexture(_e), (H = _e)); + (e.bindTexture(Ie, Ge || ae[Ie]), (nt.type = Ie), (nt.texture = Ge)); + } + } + function Me() { + let Ie = te[H]; + if (Ie !== void 0 && Ie.type !== void 0) + (e.bindTexture(Ie.type, null), (Ie.type = void 0), (Ie.texture = void 0)); + } + function Qe() { + try { + e.compressedTexImage2D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function ee() { + try { + e.compressedTexImage3D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function K() { + try { + e.texSubImage2D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function we() { + try { + e.texSubImage3D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function ze() { + try { + e.compressedTexSubImage2D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function tt() { + try { + e.compressedTexSubImage3D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function Pe() { + try { + e.texStorage2D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function Ke() { + try { + e.texStorage3D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function Ue() { + try { + e.texImage2D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function Ze() { + try { + e.texImage3D(...arguments); + } catch (Ie) { + wr("WebGLState:", Ie); + } + } + function ct(Ie) { + if (d[Ie] !== void 0) return d[Ie]; + else return e.getParameter(Ie); + } + function Rt(Ie, Ge) { + if (d[Ie] !== Ge) (e.pixelStorei(Ie, Ge), (d[Ie] = Ge)); + } + function de(Ie) { + if (oe.equals(Ie) === !1) (e.scissor(Ie.x, Ie.y, Ie.z, Ie.w), oe.copy(Ie)); + } + function ge(Ie) { + if (J.equals(Ie) === !1) (e.viewport(Ie.x, Ie.y, Ie.z, Ie.w), J.copy(Ie)); + } + function Oe(Ie, Ge) { + let _e = c.get(Ge); + if (_e === void 0) ((_e = new WeakMap()), c.set(Ge, _e)); + let nt = _e.get(Ie); + if (nt === void 0) + ((nt = e.getUniformBlockIndex(Ge, Ie.name)), _e.set(Ie, nt)); + } + function Xe(Ie, Ge) { + let nt = c.get(Ge).get(Ie); + if (l.get(Ge) !== nt) + (e.uniformBlockBinding(Ge, nt, Ie.__bindingPointIndex), l.set(Ge, nt)); + } + function $e() { + (e.disable(e.BLEND), + e.disable(e.CULL_FACE), + e.disable(e.DEPTH_TEST), + e.disable(e.POLYGON_OFFSET_FILL), + e.disable(e.SCISSOR_TEST), + e.disable(e.STENCIL_TEST), + e.disable(e.SAMPLE_ALPHA_TO_COVERAGE), + e.blendEquation(e.FUNC_ADD), + e.blendFunc(e.ONE, e.ZERO), + e.blendFuncSeparate(e.ONE, e.ZERO, e.ONE, e.ZERO), + e.blendColor(0, 0, 0, 0), + e.colorMask(!0, !0, !0, !0), + e.clearColor(0, 0, 0, 0), + e.depthMask(!0), + e.depthFunc(e.LESS), + i.setReversed(!1), + e.clearDepth(1), + e.stencilMask(4294967295), + e.stencilFunc(e.ALWAYS, 0, 4294967295), + e.stencilOp(e.KEEP, e.KEEP, e.KEEP), + e.clearStencil(0), + e.cullFace(e.BACK), + e.frontFace(e.CCW), + e.polygonOffset(0, 0), + e.activeTexture(e.TEXTURE0), + e.bindFramebuffer(e.FRAMEBUFFER, null), + e.bindFramebuffer(e.DRAW_FRAMEBUFFER, null), + e.bindFramebuffer(e.READ_FRAMEBUFFER, null), + e.useProgram(null), + e.lineWidth(1), + e.scissor(0, 0, e.canvas.width, e.canvas.height), + e.viewport(0, 0, e.canvas.width, e.canvas.height), + e.pixelStorei(e.PACK_ALIGNMENT, 4), + e.pixelStorei(e.UNPACK_ALIGNMENT, 4), + e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, !1), + e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !1), + e.pixelStorei( + e.UNPACK_COLORSPACE_CONVERSION_WEBGL, + e.BROWSER_DEFAULT_WEBGL, + ), + e.pixelStorei(e.PACK_ROW_LENGTH, 0), + e.pixelStorei(e.PACK_SKIP_PIXELS, 0), + e.pixelStorei(e.PACK_SKIP_ROWS, 0), + e.pixelStorei(e.UNPACK_ROW_LENGTH, 0), + e.pixelStorei(e.UNPACK_IMAGE_HEIGHT, 0), + e.pixelStorei(e.UNPACK_SKIP_PIXELS, 0), + e.pixelStorei(e.UNPACK_SKIP_ROWS, 0), + e.pixelStorei(e.UNPACK_SKIP_IMAGES, 0), + (u = {}), + (d = {}), + (H = null), + (te = {}), + (p = {}), + (f = new WeakMap()), + (m = []), + (g = null), + (v = !1), + (y = null), + (x = null), + (A = null), + (w = null), + (C = null), + (E = null), + (T = null), + (I = new _n(0, 0, 0)), + (k = 0), + (L = !1), + (O = null), + (B = null), + (U = null), + (D = null), + (N = null), + oe.set(0, 0, e.canvas.width, e.canvas.height), + J.set(0, 0, e.canvas.width, e.canvas.height), + a.reset(), + i.reset(), + s.reset()); + } + return { + buffers: { color: a, depth: i, stencil: s }, + enable: ne, + disable: Se, + bindFramebuffer: fe, + drawBuffers: Ae, + useProgram: Ee, + setBlending: Le, + setMaterial: Ne, + setFlipSided: be, + setCullFace: ye, + setLineWidth: ce, + setPolygonOffset: ue, + setScissorTest: ke, + activeTexture: se, + bindTexture: qe, + unbindTexture: Me, + compressedTexImage2D: Qe, + compressedTexImage3D: ee, + texImage2D: Ue, + texImage3D: Ze, + pixelStorei: Rt, + getParameter: ct, + updateUBOMapping: Oe, + uniformBlockBinding: Xe, + texStorage2D: Pe, + texStorage3D: Ke, + texSubImage2D: K, + texSubImage3D: we, + compressedTexSubImage2D: ze, + compressedTexSubImage3D: tt, + scissor: de, + viewport: ge, + reset: $e, + }; +} +function mOr(e, t, n, r, o, a, i) { + let s = t.has("WEBGL_multisampled_render_to_texture") + ? t.get("WEBGL_multisampled_render_to_texture") + : null, + l = + typeof navigator > "u" ? !1 : /OculusBrowser/g.test(navigator.userAgent), + c = new vt(), + u = new WeakMap(), + d = new Set(), + p, + f = new WeakMap(), + m = !1; + try { + m = + typeof OffscreenCanvas < "u" && + new OffscreenCanvas(1, 1).getContext("2d") !== null; + } catch (ee) {} + function g(ee, K) { + return m ? new OffscreenCanvas(ee, K) : DB("canvas"); + } + function v(ee, K, we) { + let ze = 1, + tt = Qe(ee); + if (tt.width > we || tt.height > we) + ze = we / Math.max(tt.width, tt.height); + if (ze < 1) + if ( + (typeof HTMLImageElement < "u" && ee instanceof HTMLImageElement) || + (typeof HTMLCanvasElement < "u" && ee instanceof HTMLCanvasElement) || + (typeof ImageBitmap < "u" && ee instanceof ImageBitmap) || + (typeof VideoFrame < "u" && ee instanceof VideoFrame) + ) { + let Pe = Math.floor(ze * tt.width), + Ke = Math.floor(ze * tt.height); + if (p === void 0) p = g(Pe, Ke); + let Ue = K ? g(Pe, Ke) : p; + return ( + (Ue.width = Pe), + (Ue.height = Ke), + Ue.getContext("2d").drawImage(ee, 0, 0, Pe, Ke), + zn( + "WebGLRenderer: Texture has been resized from (" + + tt.width + + "x" + + tt.height + + ") to (" + + Pe + + "x" + + Ke + + ").", + ), + Ue + ); + } else { + if ("data" in ee) + zn( + "WebGLRenderer: Image in DataTexture is too big (" + + tt.width + + "x" + + tt.height + + ").", + ); + return ee; + } + return ee; + } + function y(ee) { + return ee.generateMipmaps; + } + function x(ee) { + e.generateMipmap(ee); + } + function A(ee) { + if (ee.isWebGLCubeRenderTarget) return e.TEXTURE_CUBE_MAP; + if (ee.isWebGL3DRenderTarget) return e.TEXTURE_3D; + if (ee.isWebGLArrayRenderTarget || ee.isCompressedArrayTexture) + return e.TEXTURE_2D_ARRAY; + return e.TEXTURE_2D; + } + function w(ee, K, we, ze, tt, Pe = !1) { + if (ee !== null) { + if (e[ee] !== void 0) return e[ee]; + zn( + "WebGLRenderer: Attempt to use non-existing WebGL internal format '" + + ee + + "'", + ); + } + let Ke; + if (ze) { + if (((Ke = t.get("EXT_texture_norm16")), !Ke)) + zn( + "WebGLRenderer: Unable to use normalized textures without EXT_texture_norm16 extension", + ); + } + let Ue = K; + if (K === e.RED) { + if (we === e.FLOAT) Ue = e.R32F; + if (we === e.HALF_FLOAT) Ue = e.R16F; + if (we === e.UNSIGNED_BYTE) Ue = e.R8; + if (we === e.UNSIGNED_SHORT && Ke) Ue = Ke.R16_EXT; + if (we === e.SHORT && Ke) Ue = Ke.R16_SNORM_EXT; + } + if (K === e.RED_INTEGER) { + if (we === e.UNSIGNED_BYTE) Ue = e.R8UI; + if (we === e.UNSIGNED_SHORT) Ue = e.R16UI; + if (we === e.UNSIGNED_INT) Ue = e.R32UI; + if (we === e.BYTE) Ue = e.R8I; + if (we === e.SHORT) Ue = e.R16I; + if (we === e.INT) Ue = e.R32I; + } + if (K === e.RG) { + if (we === e.FLOAT) Ue = e.RG32F; + if (we === e.HALF_FLOAT) Ue = e.RG16F; + if (we === e.UNSIGNED_BYTE) Ue = e.RG8; + if (we === e.UNSIGNED_SHORT && Ke) Ue = Ke.RG16_EXT; + if (we === e.SHORT && Ke) Ue = Ke.RG16_SNORM_EXT; + } + if (K === e.RG_INTEGER) { + if (we === e.UNSIGNED_BYTE) Ue = e.RG8UI; + if (we === e.UNSIGNED_SHORT) Ue = e.RG16UI; + if (we === e.UNSIGNED_INT) Ue = e.RG32UI; + if (we === e.BYTE) Ue = e.RG8I; + if (we === e.SHORT) Ue = e.RG16I; + if (we === e.INT) Ue = e.RG32I; + } + if (K === e.RGB_INTEGER) { + if (we === e.UNSIGNED_BYTE) Ue = e.RGB8UI; + if (we === e.UNSIGNED_SHORT) Ue = e.RGB16UI; + if (we === e.UNSIGNED_INT) Ue = e.RGB32UI; + if (we === e.BYTE) Ue = e.RGB8I; + if (we === e.SHORT) Ue = e.RGB16I; + if (we === e.INT) Ue = e.RGB32I; + } + if (K === e.RGBA_INTEGER) { + if (we === e.UNSIGNED_BYTE) Ue = e.RGBA8UI; + if (we === e.UNSIGNED_SHORT) Ue = e.RGBA16UI; + if (we === e.UNSIGNED_INT) Ue = e.RGBA32UI; + if (we === e.BYTE) Ue = e.RGBA8I; + if (we === e.SHORT) Ue = e.RGBA16I; + if (we === e.INT) Ue = e.RGBA32I; + } + if (K === e.RGB) { + if (we === e.UNSIGNED_SHORT && Ke) Ue = Ke.RGB16_EXT; + if (we === e.SHORT && Ke) Ue = Ke.RGB16_SNORM_EXT; + if (we === e.UNSIGNED_INT_5_9_9_9_REV) Ue = e.RGB9_E5; + if (we === e.UNSIGNED_INT_10F_11F_11F_REV) Ue = e.R11F_G11F_B10F; + } + if (K === e.RGBA) { + let Ze = Pe ? T0e : jo.getTransfer(tt); + if (we === e.FLOAT) Ue = e.RGBA32F; + if (we === e.HALF_FLOAT) Ue = e.RGBA16F; + if (we === e.UNSIGNED_BYTE) Ue = Ze === cs ? e.SRGB8_ALPHA8 : e.RGBA8; + if (we === e.UNSIGNED_SHORT && Ke) Ue = Ke.RGBA16_EXT; + if (we === e.SHORT && Ke) Ue = Ke.RGBA16_SNORM_EXT; + if (we === e.UNSIGNED_SHORT_4_4_4_4) Ue = e.RGBA4; + if (we === e.UNSIGNED_SHORT_5_5_5_1) Ue = e.RGB5_A1; + } + if ( + Ue === e.R16F || + Ue === e.R32F || + Ue === e.RG16F || + Ue === e.RG32F || + Ue === e.RGBA16F || + Ue === e.RGBA32F + ) + t.get("EXT_color_buffer_float"); + return Ue; + } + function C(ee, K) { + let we; + if (ee) { + if (K === null || K === Dh || K === k7) we = e.DEPTH24_STENCIL8; + else if (K === s1) we = e.DEPTH32F_STENCIL8; + else if (K === _B) + ((we = e.DEPTH24_STENCIL8), + zn( + "DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.", + )); + } else if (K === null || K === Dh || K === k7) we = e.DEPTH_COMPONENT24; + else if (K === s1) we = e.DEPTH_COMPONENT32F; + else if (K === _B) we = e.DEPTH_COMPONENT16; + return we; + } + function E(ee, K) { + if ( + y(ee) === !0 || + (ee.isFramebufferTexture && ee.minFilter !== Jw && ee.minFilter !== Mh) + ) + return Math.log2(Math.max(K.width, K.height)) + 1; + else if (ee.mipmaps !== void 0 && ee.mipmaps.length > 0) + return ee.mipmaps.length; + else if (ee.isCompressedTexture && Array.isArray(ee.image)) + return K.mipmaps.length; + else return 1; + } + function T(ee) { + let K = ee.target; + if ((K.removeEventListener("dispose", T), k(K), K.isVideoTexture)) + u.delete(K); + if (K.isHTMLTexture) d.delete(K); + } + function I(ee) { + let K = ee.target; + (K.removeEventListener("dispose", I), O(K)); + } + function k(ee) { + let K = r.get(ee); + if (K.__webglInit === void 0) return; + let we = ee.source, + ze = f.get(we); + if (ze) { + let tt = ze[K.__cacheKey]; + if ((tt.usedTimes--, tt.usedTimes === 0)) L(ee); + if (Object.keys(ze).length === 0) f.delete(we); + } + r.remove(ee); + } + function L(ee) { + let K = r.get(ee); + e.deleteTexture(K.__webglTexture); + let we = ee.source, + ze = f.get(we); + (delete ze[K.__cacheKey], i.memory.textures--); + } + function O(ee) { + let K = r.get(ee); + if (ee.depthTexture) (ee.depthTexture.dispose(), r.remove(ee.depthTexture)); + if (ee.isWebGLCubeRenderTarget) + for (let ze = 0; ze < 6; ze++) { + if (Array.isArray(K.__webglFramebuffer[ze])) + for (let tt = 0; tt < K.__webglFramebuffer[ze].length; tt++) + e.deleteFramebuffer(K.__webglFramebuffer[ze][tt]); + else e.deleteFramebuffer(K.__webglFramebuffer[ze]); + if (K.__webglDepthbuffer) + e.deleteRenderbuffer(K.__webglDepthbuffer[ze]); + } + else { + if (Array.isArray(K.__webglFramebuffer)) + for (let ze = 0; ze < K.__webglFramebuffer.length; ze++) + e.deleteFramebuffer(K.__webglFramebuffer[ze]); + else e.deleteFramebuffer(K.__webglFramebuffer); + if (K.__webglDepthbuffer) e.deleteRenderbuffer(K.__webglDepthbuffer); + if (K.__webglMultisampledFramebuffer) + e.deleteFramebuffer(K.__webglMultisampledFramebuffer); + if (K.__webglColorRenderbuffer) { + for (let ze = 0; ze < K.__webglColorRenderbuffer.length; ze++) + if (K.__webglColorRenderbuffer[ze]) + e.deleteRenderbuffer(K.__webglColorRenderbuffer[ze]); + } + if (K.__webglDepthRenderbuffer) + e.deleteRenderbuffer(K.__webglDepthRenderbuffer); + } + let we = ee.textures; + for (let ze = 0, tt = we.length; ze < tt; ze++) { + let Pe = r.get(we[ze]); + if (Pe.__webglTexture) + (e.deleteTexture(Pe.__webglTexture), i.memory.textures--); + r.remove(we[ze]); + } + r.remove(ee); + } + let B = 0; + function U() { + B = 0; + } + function D() { + return B; + } + function N(ee) { + B = ee; + } + function _() { + let ee = B; + if (ee >= o.maxTextures) + zn( + "WebGLTextures: Trying to use " + + (ee + 1) + + " texture units while this GPU supports only " + + o.maxTextures, + ); + return ((B += 1), ee); + } + function G(ee) { + let K = []; + return ( + K.push(ee.wrapS), + K.push(ee.wrapT), + K.push(ee.wrapR || 0), + K.push(ee.magFilter), + K.push(ee.minFilter), + K.push(ee.anisotropy), + K.push(ee.internalFormat), + K.push(ee.format), + K.push(ee.type), + K.push(ee.generateMipmaps), + K.push(ee.premultiplyAlpha), + K.push(ee.flipY), + K.push(ee.unpackAlignment), + K.push(ee.colorSpace), + K.join() + ); + } + function Z(ee, K) { + let we = r.get(ee); + if (ee.isVideoTexture) qe(ee); + if ( + ee.isRenderTargetTexture === !1 && + ee.isExternalTexture !== !0 && + ee.version > 0 && + we.__version !== ee.version + ) { + let ze = ee.image; + if (ze === null) + zn("WebGLRenderer: Texture marked for update but no image data found."); + else if (ze.complete === !1) + zn("WebGLRenderer: Texture marked for update but image is incomplete"); + else { + Se(we, ee, K); + return; + } + } else if (ee.isExternalTexture) + we.__webglTexture = ee.sourceTexture ? ee.sourceTexture : null; + n.bindTexture(e.TEXTURE_2D, we.__webglTexture, e.TEXTURE0 + K); + } + function q(ee, K) { + let we = r.get(ee); + if ( + ee.isRenderTargetTexture === !1 && + ee.version > 0 && + we.__version !== ee.version + ) { + Se(we, ee, K); + return; + } else if (ee.isExternalTexture) + we.__webglTexture = ee.sourceTexture ? ee.sourceTexture : null; + n.bindTexture(e.TEXTURE_2D_ARRAY, we.__webglTexture, e.TEXTURE0 + K); + } + function H(ee, K) { + let we = r.get(ee); + if ( + ee.isRenderTargetTexture === !1 && + ee.version > 0 && + we.__version !== ee.version + ) { + Se(we, ee, K); + return; + } + n.bindTexture(e.TEXTURE_3D, we.__webglTexture, e.TEXTURE0 + K); + } + function te(ee, K) { + let we = r.get(ee); + if ( + ee.isCubeDepthTexture !== !0 && + ee.version > 0 && + we.__version !== ee.version + ) { + fe(we, ee, K); + return; + } + n.bindTexture(e.TEXTURE_CUBE_MAP, we.__webglTexture, e.TEXTURE0 + K); + } + let ie = { [J_e]: e.REPEAT, [xX]: e.CLAMP_TO_EDGE, [j_e]: e.MIRRORED_REPEAT }, + j = { + [Jw]: e.NEAREST, + [$_e]: e.NEAREST_MIPMAP_NEAREST, + [zB]: e.NEAREST_MIPMAP_LINEAR, + [Mh]: e.LINEAR, + [AX]: e.LINEAR_MIPMAP_NEAREST, + [p5]: e.LINEAR_MIPMAP_LINEAR, + }, + oe = { + [lHe]: e.NEVER, + [fHe]: e.ALWAYS, + [cHe]: e.LESS, + [kX]: e.LEQUAL, + [uHe]: e.EQUAL, + [RX]: e.GEQUAL, + [dHe]: e.GREATER, + [pHe]: e.NOTEQUAL, + }; + function J(ee, K) { + if ( + K.type === s1 && + t.has("OES_texture_float_linear") === !1 && + (K.magFilter === Mh || + K.magFilter === AX || + K.magFilter === zB || + K.magFilter === p5 || + K.minFilter === Mh || + K.minFilter === AX || + K.minFilter === zB || + K.minFilter === p5) + ) + zn( + "WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device.", + ); + if ( + (e.texParameteri(ee, e.TEXTURE_WRAP_S, ie[K.wrapS]), + e.texParameteri(ee, e.TEXTURE_WRAP_T, ie[K.wrapT]), + ee === e.TEXTURE_3D || ee === e.TEXTURE_2D_ARRAY) + ) + e.texParameteri(ee, e.TEXTURE_WRAP_R, ie[K.wrapR]); + if ( + (e.texParameteri(ee, e.TEXTURE_MAG_FILTER, j[K.magFilter]), + e.texParameteri(ee, e.TEXTURE_MIN_FILTER, j[K.minFilter]), + K.compareFunction) + ) + (e.texParameteri(ee, e.TEXTURE_COMPARE_MODE, e.COMPARE_REF_TO_TEXTURE), + e.texParameteri(ee, e.TEXTURE_COMPARE_FUNC, oe[K.compareFunction])); + if (t.has("EXT_texture_filter_anisotropic") === !0) { + if (K.magFilter === Jw) return; + if (K.minFilter !== zB && K.minFilter !== p5) return; + if (K.type === s1 && t.has("OES_texture_float_linear") === !1) return; + if (K.anisotropy > 1 || r.get(K).__currentAnisotropy) { + let we = t.get("EXT_texture_filter_anisotropic"); + (e.texParameterf( + ee, + we.TEXTURE_MAX_ANISOTROPY_EXT, + Math.min(K.anisotropy, o.getMaxAnisotropy()), + ), + (r.get(K).__currentAnisotropy = K.anisotropy)); + } + } + } + function Y(ee, K) { + let we = !1; + if (ee.__webglInit === void 0) + ((ee.__webglInit = !0), K.addEventListener("dispose", T)); + let ze = K.source, + tt = f.get(ze); + if (tt === void 0) ((tt = {}), f.set(ze, tt)); + let Pe = G(K); + if (Pe !== ee.__cacheKey) { + if (tt[Pe] === void 0) + ((tt[Pe] = { texture: e.createTexture(), usedTimes: 0 }), + i.memory.textures++, + (we = !0)); + tt[Pe].usedTimes++; + let Ke = tt[ee.__cacheKey]; + if (Ke !== void 0) { + if ((tt[ee.__cacheKey].usedTimes--, Ke.usedTimes === 0)) L(K); + } + ((ee.__cacheKey = Pe), (ee.__webglTexture = tt[Pe].texture)); + } + return we; + } + function ae(ee, K, we) { + return Math.floor(Math.floor(ee / we) / K); + } + function ne(ee, K, we, ze) { + let Pe = ee.updateRanges; + if (Pe.length === 0) + n.texSubImage2D(e.TEXTURE_2D, 0, 0, 0, K.width, K.height, we, ze, K.data); + else { + Pe.sort((Rt, de) => Rt.start - de.start); + let Ke = 0; + for (let Rt = 1; Rt < Pe.length; Rt++) { + let de = Pe[Ke], + ge = Pe[Rt], + Oe = de.start + de.count, + Xe = ae(ge.start, K.width, 4), + $e = ae(de.start, K.width, 4); + if ( + ge.start <= Oe + 1 && + Xe === $e && + ae(ge.start + ge.count - 1, K.width, 4) === Xe + ) + de.count = Math.max(de.count, ge.start + ge.count - de.start); + else (++Ke, (Pe[Ke] = ge)); + } + Pe.length = Ke + 1; + let Ue = n.getParameter(e.UNPACK_ROW_LENGTH), + Ze = n.getParameter(e.UNPACK_SKIP_PIXELS), + ct = n.getParameter(e.UNPACK_SKIP_ROWS); + n.pixelStorei(e.UNPACK_ROW_LENGTH, K.width); + for (let Rt = 0, de = Pe.length; Rt < de; Rt++) { + let ge = Pe[Rt], + Oe = Math.floor(ge.start / 4), + Xe = Math.ceil(ge.count / 4), + $e = Oe % K.width, + Ie = Math.floor(Oe / K.width), + Ge = Xe, + _e = 1; + (n.pixelStorei(e.UNPACK_SKIP_PIXELS, $e), + n.pixelStorei(e.UNPACK_SKIP_ROWS, Ie), + n.texSubImage2D(e.TEXTURE_2D, 0, $e, Ie, Ge, 1, we, ze, K.data)); + } + (ee.clearUpdateRanges(), + n.pixelStorei(e.UNPACK_ROW_LENGTH, Ue), + n.pixelStorei(e.UNPACK_SKIP_PIXELS, Ze), + n.pixelStorei(e.UNPACK_SKIP_ROWS, ct)); + } + } + function Se(ee, K, we) { + let ze = e.TEXTURE_2D; + if (K.isDataArrayTexture || K.isCompressedArrayTexture) + ze = e.TEXTURE_2D_ARRAY; + if (K.isData3DTexture) ze = e.TEXTURE_3D; + let tt = Y(ee, K), + Pe = K.source; + n.bindTexture(ze, ee.__webglTexture, e.TEXTURE0 + we); + let Ke = r.get(Pe); + if (Pe.version !== Ke.__version || tt === !0) { + if ( + (n.activeTexture(e.TEXTURE0 + we), + (typeof ImageBitmap < "u" && K.image instanceof ImageBitmap) === !1) + ) { + let _e = jo.getPrimaries(jo.workingColorSpace), + nt = K.colorSpace === h5 ? null : jo.getPrimaries(K.colorSpace), + rt = + K.colorSpace === h5 || _e === nt ? e.NONE : e.BROWSER_DEFAULT_WEBGL; + (n.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, K.flipY), + n.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, K.premultiplyAlpha), + n.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL, rt)); + } + n.pixelStorei(e.UNPACK_ALIGNMENT, K.unpackAlignment); + let Ze = v(K.image, !1, o.maxTextureSize); + Ze = Me(K, Ze); + let ct = a.convert(K.format, K.colorSpace), + Rt = a.convert(K.type), + de = w( + K.internalFormat, + ct, + Rt, + K.normalized, + K.colorSpace, + K.isVideoTexture, + ); + J(ze, K); + let ge, + Oe = K.mipmaps, + Xe = K.isVideoTexture !== !0, + $e = Ke.__version === void 0 || tt === !0, + Ie = Pe.dataReady, + Ge = E(K, Ze); + if (K.isDepthTexture) { + if (((de = C(K.format === f5, K.type)), $e)) + if (Xe) n.texStorage2D(e.TEXTURE_2D, 1, de, Ze.width, Ze.height); + else + n.texImage2D( + e.TEXTURE_2D, + 0, + de, + Ze.width, + Ze.height, + 0, + ct, + Rt, + null, + ); + } else if (K.isDataTexture) + if (Oe.length > 0) { + if (Xe && $e) + n.texStorage2D(e.TEXTURE_2D, Ge, de, Oe[0].width, Oe[0].height); + for (let _e = 0, nt = Oe.length; _e < nt; _e++) + if (((ge = Oe[_e]), Xe)) { + if (Ie) + n.texSubImage2D( + e.TEXTURE_2D, + _e, + 0, + 0, + ge.width, + ge.height, + ct, + Rt, + ge.data, + ); + } else + n.texImage2D( + e.TEXTURE_2D, + _e, + de, + ge.width, + ge.height, + 0, + ct, + Rt, + ge.data, + ); + K.generateMipmaps = !1; + } else if (Xe) { + if ($e) n.texStorage2D(e.TEXTURE_2D, Ge, de, Ze.width, Ze.height); + if (Ie) ne(K, Ze, ct, Rt); + } else + n.texImage2D( + e.TEXTURE_2D, + 0, + de, + Ze.width, + Ze.height, + 0, + ct, + Rt, + Ze.data, + ); + else if (K.isCompressedTexture) + if (K.isCompressedArrayTexture) { + if (Xe && $e) + n.texStorage3D( + e.TEXTURE_2D_ARRAY, + Ge, + de, + Oe[0].width, + Oe[0].height, + Ze.depth, + ); + for (let _e = 0, nt = Oe.length; _e < nt; _e++) + if (((ge = Oe[_e]), K.format !== $p)) + if (ct !== null) + if (Xe) { + if (Ie) + if (K.layerUpdates.size > 0) { + let rt = Sge(ge.width, ge.height, K.format, K.type); + for (let ot of K.layerUpdates) { + let At = ge.data.subarray( + (ot * rt) / ge.data.BYTES_PER_ELEMENT, + ((ot + 1) * rt) / ge.data.BYTES_PER_ELEMENT, + ); + n.compressedTexSubImage3D( + e.TEXTURE_2D_ARRAY, + _e, + 0, + 0, + ot, + ge.width, + ge.height, + 1, + ct, + At, + ); + } + } else + n.compressedTexSubImage3D( + e.TEXTURE_2D_ARRAY, + _e, + 0, + 0, + 0, + ge.width, + ge.height, + Ze.depth, + ct, + ge.data, + ); + } else + n.compressedTexImage3D( + e.TEXTURE_2D_ARRAY, + _e, + de, + ge.width, + ge.height, + Ze.depth, + 0, + ge.data, + 0, + 0, + ); + else + zn( + "WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()", + ); + else if (Xe) { + if (Ie) + n.texSubImage3D( + e.TEXTURE_2D_ARRAY, + _e, + 0, + 0, + 0, + ge.width, + ge.height, + Ze.depth, + ct, + Rt, + ge.data, + ); + } else + n.texImage3D( + e.TEXTURE_2D_ARRAY, + _e, + de, + ge.width, + ge.height, + Ze.depth, + 0, + ct, + Rt, + ge.data, + ); + if (K.layerUpdates.size > 0) K.clearLayerUpdates(); + } else { + if (Xe && $e) + n.texStorage2D(e.TEXTURE_2D, Ge, de, Oe[0].width, Oe[0].height); + for (let _e = 0, nt = Oe.length; _e < nt; _e++) + if (((ge = Oe[_e]), K.format !== $p)) + if (ct !== null) + if (Xe) { + if (Ie) + n.compressedTexSubImage2D( + e.TEXTURE_2D, + _e, + 0, + 0, + ge.width, + ge.height, + ct, + ge.data, + ); + } else + n.compressedTexImage2D( + e.TEXTURE_2D, + _e, + de, + ge.width, + ge.height, + 0, + ge.data, + ); + else + zn( + "WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()", + ); + else if (Xe) { + if (Ie) + n.texSubImage2D( + e.TEXTURE_2D, + _e, + 0, + 0, + ge.width, + ge.height, + ct, + Rt, + ge.data, + ); + } else + n.texImage2D( + e.TEXTURE_2D, + _e, + de, + ge.width, + ge.height, + 0, + ct, + Rt, + ge.data, + ); + } + else if (K.isDataArrayTexture) + if (Xe) { + if ($e) + n.texStorage3D( + e.TEXTURE_2D_ARRAY, + Ge, + de, + Ze.width, + Ze.height, + Ze.depth, + ); + if (Ie) + if (K.layerUpdates.size > 0) { + let _e = Sge(Ze.width, Ze.height, K.format, K.type); + for (let nt of K.layerUpdates) { + let rt = Ze.data.subarray( + (nt * _e) / Ze.data.BYTES_PER_ELEMENT, + ((nt + 1) * _e) / Ze.data.BYTES_PER_ELEMENT, + ); + n.texSubImage3D( + e.TEXTURE_2D_ARRAY, + 0, + 0, + 0, + nt, + Ze.width, + Ze.height, + 1, + ct, + Rt, + rt, + ); + } + K.clearLayerUpdates(); + } else + n.texSubImage3D( + e.TEXTURE_2D_ARRAY, + 0, + 0, + 0, + 0, + Ze.width, + Ze.height, + Ze.depth, + ct, + Rt, + Ze.data, + ); + } else + n.texImage3D( + e.TEXTURE_2D_ARRAY, + 0, + de, + Ze.width, + Ze.height, + Ze.depth, + 0, + ct, + Rt, + Ze.data, + ); + else if (K.isData3DTexture) + if (Xe) { + if ($e) + n.texStorage3D(e.TEXTURE_3D, Ge, de, Ze.width, Ze.height, Ze.depth); + if (Ie) + n.texSubImage3D( + e.TEXTURE_3D, + 0, + 0, + 0, + 0, + Ze.width, + Ze.height, + Ze.depth, + ct, + Rt, + Ze.data, + ); + } else + n.texImage3D( + e.TEXTURE_3D, + 0, + de, + Ze.width, + Ze.height, + Ze.depth, + 0, + ct, + Rt, + Ze.data, + ); + else if (K.isFramebufferTexture) { + if ($e) + if (Xe) n.texStorage2D(e.TEXTURE_2D, Ge, de, Ze.width, Ze.height); + else { + let _e = Ze.width, + nt = Ze.height; + for (let rt = 0; rt < Ge; rt++) + (n.texImage2D(e.TEXTURE_2D, rt, de, _e, nt, 0, ct, Rt, null), + (_e >>= 1), + (nt >>= 1)); + } + } else if (K.isHTMLTexture) { + if ("texElementImage2D" in e) { + let _e = e.canvas; + if (!_e.hasAttribute("layoutsubtree")) + _e.setAttribute("layoutsubtree", "true"); + if (Ze.parentNode !== _e) { + (_e.appendChild(Ze), + d.add(K), + (_e.onpaint = (nt) => { + let rt = nt.changedElements; + for (let ot of d) + if (rt.includes(ot.image)) ot.needsUpdate = !0; + }), + _e.requestPaint()); + return; + } + if (e.texElementImage2D.length === 3) + e.texElementImage2D(e.TEXTURE_2D, e.RGBA8, Ze); + else { + let { RGBA: rt, RGBA: ot, UNSIGNED_BYTE: At } = e; + e.texElementImage2D(e.TEXTURE_2D, 0, rt, ot, At, Ze); + } + (e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.LINEAR), + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE), + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE)); + } + } else if (Oe.length > 0) { + if (Xe && $e) { + let _e = Qe(Oe[0]); + n.texStorage2D(e.TEXTURE_2D, Ge, de, _e.width, _e.height); + } + for (let _e = 0, nt = Oe.length; _e < nt; _e++) + if (((ge = Oe[_e]), Xe)) { + if (Ie) n.texSubImage2D(e.TEXTURE_2D, _e, 0, 0, ct, Rt, ge); + } else n.texImage2D(e.TEXTURE_2D, _e, de, ct, Rt, ge); + K.generateMipmaps = !1; + } else if (Xe) { + if ($e) { + let _e = Qe(Ze); + n.texStorage2D(e.TEXTURE_2D, Ge, de, _e.width, _e.height); + } + if (Ie) n.texSubImage2D(e.TEXTURE_2D, 0, 0, 0, ct, Rt, Ze); + } else n.texImage2D(e.TEXTURE_2D, 0, de, ct, Rt, Ze); + if (y(K)) x(ze); + if (((Ke.__version = Pe.version), K.onUpdate)) K.onUpdate(K); + } + ee.__version = K.version; + } + function fe(ee, K, we) { + if (K.image.length !== 6) return; + let ze = Y(ee, K), + tt = K.source; + n.bindTexture(e.TEXTURE_CUBE_MAP, ee.__webglTexture, e.TEXTURE0 + we); + let Pe = r.get(tt); + if (tt.version !== Pe.__version || ze === !0) { + n.activeTexture(e.TEXTURE0 + we); + let Ke = jo.getPrimaries(jo.workingColorSpace), + Ue = K.colorSpace === h5 ? null : jo.getPrimaries(K.colorSpace), + Ze = + K.colorSpace === h5 || Ke === Ue ? e.NONE : e.BROWSER_DEFAULT_WEBGL; + (n.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, K.flipY), + n.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, K.premultiplyAlpha), + n.pixelStorei(e.UNPACK_ALIGNMENT, K.unpackAlignment), + n.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL, Ze)); + let ct = K.isCompressedTexture || K.image[0].isCompressedTexture, + Rt = K.image[0] && K.image[0].isDataTexture, + de = []; + for (let ot = 0; ot < 6; ot++) { + if (!ct && !Rt) de[ot] = v(K.image[ot], !0, o.maxCubemapSize); + else de[ot] = Rt ? K.image[ot].image : K.image[ot]; + de[ot] = Me(K, de[ot]); + } + let ge = de[0], + Oe = a.convert(K.format, K.colorSpace), + Xe = a.convert(K.type), + $e = w(K.internalFormat, Oe, Xe, K.normalized, K.colorSpace), + Ie = K.isVideoTexture !== !0, + Ge = Pe.__version === void 0 || ze === !0, + _e = tt.dataReady, + nt = E(K, ge); + J(e.TEXTURE_CUBE_MAP, K); + let rt; + if (ct) { + if (Ie && Ge) + n.texStorage2D(e.TEXTURE_CUBE_MAP, nt, $e, ge.width, ge.height); + for (let ot = 0; ot < 6; ot++) { + rt = de[ot].mipmaps; + for (let At = 0; At < rt.length; At++) { + let en = rt[At]; + if (K.format !== $p) + if (Oe !== null) + if (Ie) { + if (_e) + n.compressedTexSubImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At, + 0, + 0, + en.width, + en.height, + Oe, + en.data, + ); + } else + n.compressedTexImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At, + $e, + en.width, + en.height, + 0, + en.data, + ); + else + zn( + "WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()", + ); + else if (Ie) { + if (_e) + n.texSubImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At, + 0, + 0, + en.width, + en.height, + Oe, + Xe, + en.data, + ); + } else + n.texImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At, + $e, + en.width, + en.height, + 0, + Oe, + Xe, + en.data, + ); + } + } + } else { + if (((rt = K.mipmaps), Ie && Ge)) { + if (rt.length > 0) nt++; + let ot = Qe(de[0]); + n.texStorage2D(e.TEXTURE_CUBE_MAP, nt, $e, ot.width, ot.height); + } + for (let ot = 0; ot < 6; ot++) + if (Rt) { + if (Ie) { + if (_e) + n.texSubImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + 0, + 0, + 0, + de[ot].width, + de[ot].height, + Oe, + Xe, + de[ot].data, + ); + } else + n.texImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + 0, + $e, + de[ot].width, + de[ot].height, + 0, + Oe, + Xe, + de[ot].data, + ); + for (let At = 0; At < rt.length; At++) { + let Gt = rt[At].image[ot].image; + if (Ie) { + if (_e) + n.texSubImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At + 1, + 0, + 0, + Gt.width, + Gt.height, + Oe, + Xe, + Gt.data, + ); + } else + n.texImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At + 1, + $e, + Gt.width, + Gt.height, + 0, + Oe, + Xe, + Gt.data, + ); + } + } else { + if (Ie) { + if (_e) + n.texSubImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + 0, + 0, + 0, + Oe, + Xe, + de[ot], + ); + } else + n.texImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + 0, + $e, + Oe, + Xe, + de[ot], + ); + for (let At = 0; At < rt.length; At++) { + let en = rt[At]; + if (Ie) { + if (_e) + n.texSubImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At + 1, + 0, + 0, + Oe, + Xe, + en.image[ot], + ); + } else + n.texImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ot, + At + 1, + $e, + Oe, + Xe, + en.image[ot], + ); + } + } + } + if (y(K)) x(e.TEXTURE_CUBE_MAP); + if (((Pe.__version = tt.version), K.onUpdate)) K.onUpdate(K); + } + ee.__version = K.version; + } + function Ae(ee, K, we, ze, tt, Pe) { + let Ke = a.convert(we.format, we.colorSpace), + Ue = a.convert(we.type), + Ze = w(we.internalFormat, Ke, Ue, we.normalized, we.colorSpace), + ct = r.get(K), + Rt = r.get(we); + if (((Rt.__renderTarget = K), !ct.__hasExternalTextures)) { + let de = Math.max(1, K.width >> Pe), + ge = Math.max(1, K.height >> Pe); + if (tt === e.TEXTURE_3D || tt === e.TEXTURE_2D_ARRAY) + n.texImage3D(tt, Pe, Ze, de, ge, K.depth, 0, Ke, Ue, null); + else n.texImage2D(tt, Pe, Ze, de, ge, 0, Ke, Ue, null); + } + if ((n.bindFramebuffer(e.FRAMEBUFFER, ee), se(K))) + s.framebufferTexture2DMultisampleEXT( + e.FRAMEBUFFER, + ze, + tt, + Rt.__webglTexture, + 0, + ke(K), + ); + else if ( + tt === e.TEXTURE_2D || + (tt >= e.TEXTURE_CUBE_MAP_POSITIVE_X && + tt <= e.TEXTURE_CUBE_MAP_NEGATIVE_Z) + ) + e.framebufferTexture2D(e.FRAMEBUFFER, ze, tt, Rt.__webglTexture, Pe); + n.bindFramebuffer(e.FRAMEBUFFER, null); + } + function Ee(ee, K, we) { + if ((e.bindRenderbuffer(e.RENDERBUFFER, ee), K.depthBuffer)) { + let ze = K.depthTexture, + tt = ze && ze.isDepthTexture ? ze.type : null, + Pe = C(K.stencilBuffer, tt), + Ke = K.stencilBuffer ? e.DEPTH_STENCIL_ATTACHMENT : e.DEPTH_ATTACHMENT; + if (se(K)) + s.renderbufferStorageMultisampleEXT( + e.RENDERBUFFER, + ke(K), + Pe, + K.width, + K.height, + ); + else if (we) + e.renderbufferStorageMultisample( + e.RENDERBUFFER, + ke(K), + Pe, + K.width, + K.height, + ); + else e.renderbufferStorage(e.RENDERBUFFER, Pe, K.width, K.height); + e.framebufferRenderbuffer(e.FRAMEBUFFER, Ke, e.RENDERBUFFER, ee); + } else { + let ze = K.textures; + for (let tt = 0; tt < ze.length; tt++) { + let Pe = ze[tt], + Ke = a.convert(Pe.format, Pe.colorSpace), + Ue = a.convert(Pe.type), + Ze = w(Pe.internalFormat, Ke, Ue, Pe.normalized, Pe.colorSpace); + if (se(K)) + s.renderbufferStorageMultisampleEXT( + e.RENDERBUFFER, + ke(K), + Ze, + K.width, + K.height, + ); + else if (we) + e.renderbufferStorageMultisample( + e.RENDERBUFFER, + ke(K), + Ze, + K.width, + K.height, + ); + else e.renderbufferStorage(e.RENDERBUFFER, Ze, K.width, K.height); + } + } + e.bindRenderbuffer(e.RENDERBUFFER, null); + } + function pe(ee, K, we) { + let ze = K.isWebGLCubeRenderTarget === !0; + if ( + (n.bindFramebuffer(e.FRAMEBUFFER, ee), + !(K.depthTexture && K.depthTexture.isDepthTexture)) + ) + throw Error( + "THREE.WebGLTextures: renderTarget.depthTexture must be an instance of THREE.DepthTexture.", + ); + let tt = r.get(K.depthTexture); + if ( + ((tt.__renderTarget = K), + !tt.__webglTexture || + K.depthTexture.image.width !== K.width || + K.depthTexture.image.height !== K.height) + ) + ((K.depthTexture.image.width = K.width), + (K.depthTexture.image.height = K.height), + (K.depthTexture.needsUpdate = !0)); + if (ze) { + if (tt.__webglInit === void 0) + ((tt.__webglInit = !0), K.depthTexture.addEventListener("dispose", T)); + if (tt.__webglTexture === void 0) { + ((tt.__webglTexture = e.createTexture()), + n.bindTexture(e.TEXTURE_CUBE_MAP, tt.__webglTexture), + J(e.TEXTURE_CUBE_MAP, K.depthTexture)); + let ct = a.convert(K.depthTexture.format), + Rt = a.convert(K.depthTexture.type), + de; + if (K.depthTexture.format === eA) de = e.DEPTH_COMPONENT24; + else if (K.depthTexture.format === f5) de = e.DEPTH24_STENCIL8; + for (let ge = 0; ge < 6; ge++) + e.texImage2D( + e.TEXTURE_CUBE_MAP_POSITIVE_X + ge, + 0, + de, + K.width, + K.height, + 0, + ct, + Rt, + null, + ); + } + } else Z(K.depthTexture, 0); + let Pe = tt.__webglTexture, + Ke = ke(K), + Ue = ze ? e.TEXTURE_CUBE_MAP_POSITIVE_X + we : e.TEXTURE_2D, + Ze = + K.depthTexture.format === f5 + ? e.DEPTH_STENCIL_ATTACHMENT + : e.DEPTH_ATTACHMENT; + if (K.depthTexture.format === eA) + if (se(K)) + s.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER, Ze, Ue, Pe, 0, Ke); + else e.framebufferTexture2D(e.FRAMEBUFFER, Ze, Ue, Pe, 0); + else if (K.depthTexture.format === f5) + if (se(K)) + s.framebufferTexture2DMultisampleEXT(e.FRAMEBUFFER, Ze, Ue, Pe, 0, Ke); + else e.framebufferTexture2D(e.FRAMEBUFFER, Ze, Ue, Pe, 0); + else throw Error("THREE.WebGLTextures: Unknown depthTexture format."); + } + function Re(ee) { + let K = r.get(ee), + we = ee.isWebGLCubeRenderTarget === !0; + if (K.__boundDepthTexture !== ee.depthTexture) { + let ze = ee.depthTexture; + if (K.__depthDisposeCallback) K.__depthDisposeCallback(); + if (ze) { + let tt = () => { + (delete K.__boundDepthTexture, + delete K.__depthDisposeCallback, + ze.removeEventListener("dispose", tt)); + }; + (ze.addEventListener("dispose", tt), (K.__depthDisposeCallback = tt)); + } + K.__boundDepthTexture = ze; + } + if (ee.depthTexture && !K.__autoAllocateDepthBuffer) + if (we) + for (let ze = 0; ze < 6; ze++) pe(K.__webglFramebuffer[ze], ee, ze); + else { + let ze = ee.texture.mipmaps; + if (ze && ze.length > 0) pe(K.__webglFramebuffer[0], ee, 0); + else pe(K.__webglFramebuffer, ee, 0); + } + else if (we) { + K.__webglDepthbuffer = []; + for (let ze = 0; ze < 6; ze++) + if ( + (n.bindFramebuffer(e.FRAMEBUFFER, K.__webglFramebuffer[ze]), + K.__webglDepthbuffer[ze] === void 0) + ) + ((K.__webglDepthbuffer[ze] = e.createRenderbuffer()), + Ee(K.__webglDepthbuffer[ze], ee, !1)); + else { + let tt = ee.stencilBuffer + ? e.DEPTH_STENCIL_ATTACHMENT + : e.DEPTH_ATTACHMENT, + Pe = K.__webglDepthbuffer[ze]; + (e.bindRenderbuffer(e.RENDERBUFFER, Pe), + e.framebufferRenderbuffer(e.FRAMEBUFFER, tt, e.RENDERBUFFER, Pe)); + } + } else { + let ze = ee.texture.mipmaps; + if (ze && ze.length > 0) + n.bindFramebuffer(e.FRAMEBUFFER, K.__webglFramebuffer[0]); + else n.bindFramebuffer(e.FRAMEBUFFER, K.__webglFramebuffer); + if (K.__webglDepthbuffer === void 0) + ((K.__webglDepthbuffer = e.createRenderbuffer()), + Ee(K.__webglDepthbuffer, ee, !1)); + else { + let tt = ee.stencilBuffer + ? e.DEPTH_STENCIL_ATTACHMENT + : e.DEPTH_ATTACHMENT, + Pe = K.__webglDepthbuffer; + (e.bindRenderbuffer(e.RENDERBUFFER, Pe), + e.framebufferRenderbuffer(e.FRAMEBUFFER, tt, e.RENDERBUFFER, Pe)); + } + } + n.bindFramebuffer(e.FRAMEBUFFER, null); + } + function Le(ee, K, we) { + let ze = r.get(ee); + if (K !== void 0) + Ae( + ze.__webglFramebuffer, + ee, + ee.texture, + e.COLOR_ATTACHMENT0, + e.TEXTURE_2D, + 0, + ); + if (we !== void 0) Re(ee); + } + function Ne(ee) { + let K = ee.texture, + we = r.get(ee), + ze = r.get(K); + ee.addEventListener("dispose", I); + let tt = ee.textures, + Pe = ee.isWebGLCubeRenderTarget === !0, + Ke = tt.length > 1; + if (!Ke) { + if (ze.__webglTexture === void 0) ze.__webglTexture = e.createTexture(); + ((ze.__version = K.version), i.memory.textures++); + } + if (Pe) { + we.__webglFramebuffer = []; + for (let Ue = 0; Ue < 6; Ue++) + if (K.mipmaps && K.mipmaps.length > 0) { + we.__webglFramebuffer[Ue] = []; + for (let Ze = 0; Ze < K.mipmaps.length; Ze++) + we.__webglFramebuffer[Ue][Ze] = e.createFramebuffer(); + } else we.__webglFramebuffer[Ue] = e.createFramebuffer(); + } else { + if (K.mipmaps && K.mipmaps.length > 0) { + we.__webglFramebuffer = []; + for (let Ue = 0; Ue < K.mipmaps.length; Ue++) + we.__webglFramebuffer[Ue] = e.createFramebuffer(); + } else we.__webglFramebuffer = e.createFramebuffer(); + if (Ke) + for (let Ue = 0, Ze = tt.length; Ue < Ze; Ue++) { + let ct = r.get(tt[Ue]); + if (ct.__webglTexture === void 0) + ((ct.__webglTexture = e.createTexture()), i.memory.textures++); + } + if (ee.samples > 0 && se(ee) === !1) { + ((we.__webglMultisampledFramebuffer = e.createFramebuffer()), + (we.__webglColorRenderbuffer = []), + n.bindFramebuffer(e.FRAMEBUFFER, we.__webglMultisampledFramebuffer)); + for (let Ue = 0; Ue < tt.length; Ue++) { + let Ze = tt[Ue]; + ((we.__webglColorRenderbuffer[Ue] = e.createRenderbuffer()), + e.bindRenderbuffer( + e.RENDERBUFFER, + we.__webglColorRenderbuffer[Ue], + )); + let ct = a.convert(Ze.format, Ze.colorSpace), + Rt = a.convert(Ze.type), + de = w( + Ze.internalFormat, + ct, + Rt, + Ze.normalized, + Ze.colorSpace, + ee.isXRRenderTarget === !0, + ), + ge = ke(ee); + (e.renderbufferStorageMultisample( + e.RENDERBUFFER, + ge, + de, + ee.width, + ee.height, + ), + e.framebufferRenderbuffer( + e.FRAMEBUFFER, + e.COLOR_ATTACHMENT0 + Ue, + e.RENDERBUFFER, + we.__webglColorRenderbuffer[Ue], + )); + } + if ((e.bindRenderbuffer(e.RENDERBUFFER, null), ee.depthBuffer)) + ((we.__webglDepthRenderbuffer = e.createRenderbuffer()), + Ee(we.__webglDepthRenderbuffer, ee, !0)); + n.bindFramebuffer(e.FRAMEBUFFER, null); + } + } + if (Pe) { + (n.bindTexture(e.TEXTURE_CUBE_MAP, ze.__webglTexture), + J(e.TEXTURE_CUBE_MAP, K)); + for (let Ue = 0; Ue < 6; Ue++) + if (K.mipmaps && K.mipmaps.length > 0) + for (let Ze = 0; Ze < K.mipmaps.length; Ze++) + Ae( + we.__webglFramebuffer[Ue][Ze], + ee, + K, + e.COLOR_ATTACHMENT0, + e.TEXTURE_CUBE_MAP_POSITIVE_X + Ue, + Ze, + ); + else + Ae( + we.__webglFramebuffer[Ue], + ee, + K, + e.COLOR_ATTACHMENT0, + e.TEXTURE_CUBE_MAP_POSITIVE_X + Ue, + 0, + ); + if (y(K)) x(e.TEXTURE_CUBE_MAP); + n.unbindTexture(); + } else if (Ke) { + for (let Ue = 0, Ze = tt.length; Ue < Ze; Ue++) { + let ct = tt[Ue], + Rt = r.get(ct), + de = e.TEXTURE_2D; + if (ee.isWebGL3DRenderTarget || ee.isWebGLArrayRenderTarget) + de = ee.isWebGL3DRenderTarget ? e.TEXTURE_3D : e.TEXTURE_2D_ARRAY; + if ( + (n.bindTexture(de, Rt.__webglTexture), + J(de, ct), + Ae(we.__webglFramebuffer, ee, ct, e.COLOR_ATTACHMENT0 + Ue, de, 0), + y(ct)) + ) + x(de); + } + n.unbindTexture(); + } else { + let Ue = e.TEXTURE_2D; + if (ee.isWebGL3DRenderTarget || ee.isWebGLArrayRenderTarget) + Ue = ee.isWebGL3DRenderTarget ? e.TEXTURE_3D : e.TEXTURE_2D_ARRAY; + if ( + (n.bindTexture(Ue, ze.__webglTexture), + J(Ue, K), + K.mipmaps && K.mipmaps.length > 0) + ) + for (let Ze = 0; Ze < K.mipmaps.length; Ze++) + Ae(we.__webglFramebuffer[Ze], ee, K, e.COLOR_ATTACHMENT0, Ue, Ze); + else Ae(we.__webglFramebuffer, ee, K, e.COLOR_ATTACHMENT0, Ue, 0); + if (y(K)) x(Ue); + n.unbindTexture(); + } + if (ee.depthBuffer) Re(ee); + } + function be(ee) { + let K = ee.textures; + for (let we = 0, ze = K.length; we < ze; we++) { + let tt = K[we]; + if (y(tt)) { + let Pe = A(ee), + Ke = r.get(tt).__webglTexture; + (n.bindTexture(Pe, Ke), x(Pe), n.unbindTexture()); + } + } + } + let ye = [], + ce = []; + function ue(ee) { + if (ee.samples > 0) { + if (se(ee) === !1) { + let { textures: K, width: we, height: ze } = ee, + tt = e.COLOR_BUFFER_BIT, + Pe = ee.stencilBuffer + ? e.DEPTH_STENCIL_ATTACHMENT + : e.DEPTH_ATTACHMENT, + Ke = r.get(ee), + Ue = K.length > 1; + if (Ue) + for (let ct = 0; ct < K.length; ct++) + (n.bindFramebuffer( + e.FRAMEBUFFER, + Ke.__webglMultisampledFramebuffer, + ), + e.framebufferRenderbuffer( + e.FRAMEBUFFER, + e.COLOR_ATTACHMENT0 + ct, + e.RENDERBUFFER, + null, + ), + n.bindFramebuffer(e.FRAMEBUFFER, Ke.__webglFramebuffer), + e.framebufferTexture2D( + e.DRAW_FRAMEBUFFER, + e.COLOR_ATTACHMENT0 + ct, + e.TEXTURE_2D, + null, + 0, + )); + n.bindFramebuffer( + e.READ_FRAMEBUFFER, + Ke.__webglMultisampledFramebuffer, + ); + let Ze = ee.texture.mipmaps; + if (Ze && Ze.length > 0) + n.bindFramebuffer(e.DRAW_FRAMEBUFFER, Ke.__webglFramebuffer[0]); + else n.bindFramebuffer(e.DRAW_FRAMEBUFFER, Ke.__webglFramebuffer); + for (let ct = 0; ct < K.length; ct++) { + if (ee.resolveDepthBuffer) { + if (ee.depthBuffer) tt |= e.DEPTH_BUFFER_BIT; + if (ee.stencilBuffer && ee.resolveStencilBuffer) + tt |= e.STENCIL_BUFFER_BIT; + } + if (Ue) { + e.framebufferRenderbuffer( + e.READ_FRAMEBUFFER, + e.COLOR_ATTACHMENT0, + e.RENDERBUFFER, + Ke.__webglColorRenderbuffer[ct], + ); + let Rt = r.get(K[ct]).__webglTexture; + e.framebufferTexture2D( + e.DRAW_FRAMEBUFFER, + e.COLOR_ATTACHMENT0, + e.TEXTURE_2D, + Rt, + 0, + ); + } + if ( + (e.blitFramebuffer(0, 0, we, ze, 0, 0, we, ze, tt, e.NEAREST), + l === !0) + ) { + if ( + ((ye.length = 0), + (ce.length = 0), + ye.push(e.COLOR_ATTACHMENT0 + ct), + ee.depthBuffer && ee.storeMultisampledDepthBuffer === !1) + ) + (ye.push(Pe), + ce.push(Pe), + e.invalidateFramebuffer(e.DRAW_FRAMEBUFFER, ce)); + e.invalidateFramebuffer(e.READ_FRAMEBUFFER, ye); + } + } + if ( + (n.bindFramebuffer(e.READ_FRAMEBUFFER, null), + n.bindFramebuffer(e.DRAW_FRAMEBUFFER, null), + Ue) + ) + for (let ct = 0; ct < K.length; ct++) { + (n.bindFramebuffer( + e.FRAMEBUFFER, + Ke.__webglMultisampledFramebuffer, + ), + e.framebufferRenderbuffer( + e.FRAMEBUFFER, + e.COLOR_ATTACHMENT0 + ct, + e.RENDERBUFFER, + Ke.__webglColorRenderbuffer[ct], + )); + let Rt = r.get(K[ct]).__webglTexture; + (n.bindFramebuffer(e.FRAMEBUFFER, Ke.__webglFramebuffer), + e.framebufferTexture2D( + e.DRAW_FRAMEBUFFER, + e.COLOR_ATTACHMENT0 + ct, + e.TEXTURE_2D, + Rt, + 0, + )); + } + n.bindFramebuffer( + e.DRAW_FRAMEBUFFER, + Ke.__webglMultisampledFramebuffer, + ); + } else if ( + ee.depthBuffer && + ee.storeMultisampledDepthBuffer === !1 && + l + ) { + let K = ee.stencilBuffer + ? e.DEPTH_STENCIL_ATTACHMENT + : e.DEPTH_ATTACHMENT; + e.invalidateFramebuffer(e.DRAW_FRAMEBUFFER, [K]); + } + } + } + function ke(ee) { + return Math.min(o.maxSamples, ee.samples); + } + function se(ee) { + let K = r.get(ee); + return ( + ee.samples > 0 && + t.has("WEBGL_multisampled_render_to_texture") === !0 && + K.__useRenderToTexture !== !1 + ); + } + function qe(ee) { + let K = i.render.frame; + if (u.get(ee) !== K) (u.set(ee, K), ee.update()); + } + function Me(ee, K) { + let { colorSpace: we, format: ze, type: tt } = ee; + if (ee.isCompressedTexture === !0 || ee.isVideoTexture === !0) return K; + if (we !== VB && we !== h5) + if (jo.getTransfer(we) === cs) { + if (ze !== $p || tt !== Fm) + zn( + "WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.", + ); + } else wr("WebGLTextures: Unsupported texture color space:", we); + return K; + } + function Qe(ee) { + if (typeof HTMLImageElement < "u" && ee instanceof HTMLImageElement) + ((c.width = ee.naturalWidth || ee.width), + (c.height = ee.naturalHeight || ee.height)); + else if (typeof VideoFrame < "u" && ee instanceof VideoFrame) + ((c.width = ee.displayWidth), (c.height = ee.displayHeight)); + else ((c.width = ee.width), (c.height = ee.height)); + return c; + } + ((this.allocateTextureUnit = _), + (this.resetTextureUnits = U), + (this.getTextureUnits = D), + (this.setTextureUnits = N), + (this.setTexture2D = Z), + (this.setTexture2DArray = q), + (this.setTexture3D = H), + (this.setTextureCube = te), + (this.rebindTextures = Le), + (this.setupRenderTarget = Ne), + (this.updateRenderTargetMipmap = be), + (this.updateMultisampleRenderTarget = ue), + (this.setupDepthRenderbuffer = Re), + (this.setupFrameBufferTexture = Ae), + (this.useMultisampledRTT = se), + (this.isReversedDepthBuffer = function () { + return n.buffers.depth.getReversed(); + })); +} +function Pge(e, t) { + function n(r, o = h5) { + let a, + i = jo.getTransfer(o); + if (r === Fm) return e.UNSIGNED_BYTE; + if (r === Xhe) return e.UNSIGNED_SHORT_4_4_4_4; + if (r === Whe) return e.UNSIGNED_SHORT_5_5_5_1; + if (r === nHe) return e.UNSIGNED_INT_5_9_9_9_REV; + if (r === rHe) return e.UNSIGNED_INT_10F_11F_11F_REV; + if (r === eHe) return e.BYTE; + if (r === tHe) return e.SHORT; + if (r === _B) return e.UNSIGNED_SHORT; + if (r === Qhe) return e.INT; + if (r === Dh) return e.UNSIGNED_INT; + if (r === s1) return e.FLOAT; + if (r === O0) return e.HALF_FLOAT; + if (r === oHe) return e.ALPHA; + if (r === aHe) return e.RGB; + if (r === $p) return e.RGBA; + if (r === eA) return e.DEPTH_COMPONENT; + if (r === f5) return e.DEPTH_STENCIL; + if (r === iHe) return e.RED; + if (r === HB) return e.RED_INTEGER; + if (r === tA) return e.RG; + if (r === Yhe) return e.RG_INTEGER; + if (r === m5) return e.RGBA_INTEGER; + if (r === wX || r === SX || r === CX || r === EX) + if (i === cs) + if (((a = t.get("WEBGL_compressed_texture_s3tc_srgb")), a !== null)) { + if (r === wX) return a.COMPRESSED_SRGB_S3TC_DXT1_EXT; + if (r === SX) return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT; + if (r === CX) return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT; + if (r === EX) return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT; + } else return null; + else if (((a = t.get("WEBGL_compressed_texture_s3tc")), a !== null)) { + if (r === wX) return a.COMPRESSED_RGB_S3TC_DXT1_EXT; + if (r === SX) return a.COMPRESSED_RGBA_S3TC_DXT1_EXT; + if (r === CX) return a.COMPRESSED_RGBA_S3TC_DXT3_EXT; + if (r === EX) return a.COMPRESSED_RGBA_S3TC_DXT5_EXT; + } else return null; + if (r === Khe || r === Jhe || r === jhe || r === $he) + if (((a = t.get("WEBGL_compressed_texture_pvrtc")), a !== null)) { + if (r === Khe) return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; + if (r === Jhe) return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; + if (r === jhe) return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; + if (r === $he) return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; + } else return null; + if ( + r === e0e || + r === t0e || + r === n0e || + r === r0e || + r === o0e || + r === IX || + r === a0e + ) + if (((a = t.get("WEBGL_compressed_texture_etc")), a !== null)) { + if (r === e0e || r === t0e) + return i === cs ? a.COMPRESSED_SRGB8_ETC2 : a.COMPRESSED_RGB8_ETC2; + if (r === n0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC + : a.COMPRESSED_RGBA8_ETC2_EAC; + if (r === r0e) return a.COMPRESSED_R11_EAC; + if (r === o0e) return a.COMPRESSED_SIGNED_R11_EAC; + if (r === IX) return a.COMPRESSED_RG11_EAC; + if (r === a0e) return a.COMPRESSED_SIGNED_RG11_EAC; + } else return null; + if ( + r === i0e || + r === s0e || + r === l0e || + r === c0e || + r === u0e || + r === d0e || + r === p0e || + r === f0e || + r === m0e || + r === h0e || + r === g0e || + r === y0e || + r === v0e || + r === b0e + ) + if (((a = t.get("WEBGL_compressed_texture_astc")), a !== null)) { + if (r === i0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR + : a.COMPRESSED_RGBA_ASTC_4x4_KHR; + if (r === s0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR + : a.COMPRESSED_RGBA_ASTC_5x4_KHR; + if (r === l0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR + : a.COMPRESSED_RGBA_ASTC_5x5_KHR; + if (r === c0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR + : a.COMPRESSED_RGBA_ASTC_6x5_KHR; + if (r === u0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR + : a.COMPRESSED_RGBA_ASTC_6x6_KHR; + if (r === d0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR + : a.COMPRESSED_RGBA_ASTC_8x5_KHR; + if (r === p0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR + : a.COMPRESSED_RGBA_ASTC_8x6_KHR; + if (r === f0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR + : a.COMPRESSED_RGBA_ASTC_8x8_KHR; + if (r === m0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR + : a.COMPRESSED_RGBA_ASTC_10x5_KHR; + if (r === h0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR + : a.COMPRESSED_RGBA_ASTC_10x6_KHR; + if (r === g0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR + : a.COMPRESSED_RGBA_ASTC_10x8_KHR; + if (r === y0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR + : a.COMPRESSED_RGBA_ASTC_10x10_KHR; + if (r === v0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR + : a.COMPRESSED_RGBA_ASTC_12x10_KHR; + if (r === b0e) + return i === cs + ? a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR + : a.COMPRESSED_RGBA_ASTC_12x12_KHR; + } else return null; + if (r === x0e || r === A0e || r === w0e) + if (((a = t.get("EXT_texture_compression_bptc")), a !== null)) { + if (r === x0e) + return i === cs + ? a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT + : a.COMPRESSED_RGBA_BPTC_UNORM_EXT; + if (r === A0e) return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT; + if (r === w0e) return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT; + } else return null; + if (r === S0e || r === C0e || r === TX || r === E0e) + if (((a = t.get("EXT_texture_compression_rgtc")), a !== null)) { + if (r === S0e) return a.COMPRESSED_RED_RGTC1_EXT; + if (r === C0e) return a.COMPRESSED_SIGNED_RED_RGTC1_EXT; + if (r === TX) return a.COMPRESSED_RED_GREEN_RGTC2_EXT; + if (r === E0e) return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT; + } else return null; + if (r === k7) return e.UNSIGNED_INT_24_8; + return e[r] !== void 0 ? e[r] : null; + } + return { convert: n }; +} +class N0n { + constructor() { + ((this.texture = null), + (this.mesh = null), + (this.depthNear = 0), + (this.depthFar = 0)); + } + init(e, t) { + if (this.texture === null) { + let n = new VX(e.texture); + if (e.depthNear !== t.depthNear || e.depthFar !== t.depthFar) + ((this.depthNear = e.depthNear), (this.depthFar = e.depthFar)); + this.texture = n; + } + } + getMesh(e) { + if (this.texture !== null) { + if (this.mesh === null) { + let t = e.cameras[0].viewport, + n = new Ac({ + vertexShader: hOr, + fragmentShader: gOr, + uniforms: { + depthColor: { value: this.texture }, + depthWidth: { value: t.z }, + depthHeight: { value: t.w }, + }, + }); + this.mesh = new Na(new oA(20, 20), n); + } + } + return this.mesh; + } + reset() { + ((this.texture = null), (this.mesh = null)); + } + getDepthTexture() { + return this.texture; + } +} +function vOr(e, t) { + function n(v, y) { + if (v.matrixAutoUpdate === !0) v.updateMatrix(); + y.value.copy(v.matrix); + } + function r(v, y) { + if ((y.color.getRGB(v.fogColor.value, kHe(e)), y.isFog)) + ((v.fogNear.value = y.near), (v.fogFar.value = y.far)); + else if (y.isFogExp2) v.fogDensity.value = y.density; + } + function o(v, y, x, A, w) { + if (y.isNodeMaterial) y.uniformsNeedUpdate = !1; + else if (y.isMeshBasicMaterial) a(v, y); + else if (y.isMeshLambertMaterial) { + if ((a(v, y), y.envMap)) v.envMapIntensity.value = y.envMapIntensity; + } else if (y.isMeshToonMaterial) (a(v, y), d(v, y)); + else if (y.isMeshPhongMaterial) { + if ((a(v, y), u(v, y), y.envMap)) + v.envMapIntensity.value = y.envMapIntensity; + } else if (y.isMeshStandardMaterial) { + if ((a(v, y), p(v, y), y.isMeshPhysicalMaterial)) f(v, y, w); + } else if (y.isMeshMatcapMaterial) (a(v, y), m(v, y)); + else if (y.isMeshDepthMaterial) a(v, y); + else if (y.isMeshDistanceMaterial) (a(v, y), g(v, y)); + else if (y.isMeshNormalMaterial) a(v, y); + else if (y.isLineBasicMaterial) { + if ((i(v, y), y.isLineDashedMaterial)) s(v, y); + } else if (y.isPointsMaterial) l(v, y, x, A); + else if (y.isSpriteMaterial) c(v, y); + else if (y.isShadowMaterial) + (v.color.value.copy(y.color), (v.opacity.value = y.opacity)); + else if (y.isShaderMaterial) y.uniformsNeedUpdate = !1; + } + function a(v, y) { + if (((v.opacity.value = y.opacity), y.color)) v.diffuse.value.copy(y.color); + if (y.emissive) + v.emissive.value.copy(y.emissive).multiplyScalar(y.emissiveIntensity); + if (y.map) ((v.map.value = y.map), n(y.map, v.mapTransform)); + if (y.alphaMap) + ((v.alphaMap.value = y.alphaMap), n(y.alphaMap, v.alphaMapTransform)); + if (y.bumpMap) { + if ( + ((v.bumpMap.value = y.bumpMap), + n(y.bumpMap, v.bumpMapTransform), + (v.bumpScale.value = y.bumpScale), + y.side === Rh) + ) + v.bumpScale.value *= -1; + } + if (y.normalMap) { + if ( + ((v.normalMap.value = y.normalMap), + n(y.normalMap, v.normalMapTransform), + v.normalScale.value.copy(y.normalScale), + y.side === Rh) + ) + v.normalScale.value.negate(); + } + if (y.displacementMap) + ((v.displacementMap.value = y.displacementMap), + n(y.displacementMap, v.displacementMapTransform), + (v.displacementScale.value = y.displacementScale), + (v.displacementBias.value = y.displacementBias)); + if (y.emissiveMap) + ((v.emissiveMap.value = y.emissiveMap), + n(y.emissiveMap, v.emissiveMapTransform)); + if (y.specularMap) + ((v.specularMap.value = y.specularMap), + n(y.specularMap, v.specularMapTransform)); + if (y.alphaTest > 0) v.alphaTest.value = y.alphaTest; + let x = t.get(y), + { envMap: A, envMapRotation: w } = x; + if (A) { + if ( + ((v.envMap.value = A), + v.envMapRotation.value + .setFromMatrix4(yOr.makeRotationFromEuler(w)) + .transpose(), + A.isCubeTexture && A.isRenderTargetTexture === !1) + ) + v.envMapRotation.value.premultiply(_0n); + ((v.reflectivity.value = y.reflectivity), + (v.ior.value = y.ior), + (v.refractionRatio.value = y.refractionRatio)); + } + if (y.lightMap) + ((v.lightMap.value = y.lightMap), + (v.lightMapIntensity.value = y.lightMapIntensity), + n(y.lightMap, v.lightMapTransform)); + if (y.aoMap) + ((v.aoMap.value = y.aoMap), + (v.aoMapIntensity.value = y.aoMapIntensity), + n(y.aoMap, v.aoMapTransform)); + } + function i(v, y) { + if ((v.diffuse.value.copy(y.color), (v.opacity.value = y.opacity), y.map)) + ((v.map.value = y.map), n(y.map, v.mapTransform)); + } + function s(v, y) { + ((v.dashSize.value = y.dashSize), + (v.totalSize.value = y.dashSize + y.gapSize), + (v.scale.value = y.scale)); + } + function l(v, y, x, A) { + if ( + (v.diffuse.value.copy(y.color), + (v.opacity.value = y.opacity), + (v.size.value = y.size * x), + (v.scale.value = A * 0.5), + y.map) + ) + ((v.map.value = y.map), n(y.map, v.uvTransform)); + if (y.alphaMap) + ((v.alphaMap.value = y.alphaMap), n(y.alphaMap, v.alphaMapTransform)); + if (y.alphaTest > 0) v.alphaTest.value = y.alphaTest; + } + function c(v, y) { + if ( + (v.diffuse.value.copy(y.color), + (v.opacity.value = y.opacity), + (v.rotation.value = y.rotation), + y.map) + ) + ((v.map.value = y.map), n(y.map, v.mapTransform)); + if (y.alphaMap) + ((v.alphaMap.value = y.alphaMap), n(y.alphaMap, v.alphaMapTransform)); + if (y.alphaTest > 0) v.alphaTest.value = y.alphaTest; + } + function u(v, y) { + (v.specular.value.copy(y.specular), + (v.shininess.value = Math.max(y.shininess, 0.0001))); + } + function d(v, y) { + if (y.gradientMap) v.gradientMap.value = y.gradientMap; + } + function p(v, y) { + if (((v.metalness.value = y.metalness), y.metalnessMap)) + ((v.metalnessMap.value = y.metalnessMap), + n(y.metalnessMap, v.metalnessMapTransform)); + if (((v.roughness.value = y.roughness), y.roughnessMap)) + ((v.roughnessMap.value = y.roughnessMap), + n(y.roughnessMap, v.roughnessMapTransform)); + if (y.envMap) v.envMapIntensity.value = y.envMapIntensity; + } + function f(v, y, x) { + if (((v.ior.value = y.ior), y.sheen > 0)) { + if ( + (v.sheenColor.value.copy(y.sheenColor).multiplyScalar(y.sheen), + (v.sheenRoughness.value = y.sheenRoughness), + y.sheenColorMap) + ) + ((v.sheenColorMap.value = y.sheenColorMap), + n(y.sheenColorMap, v.sheenColorMapTransform)); + if (y.sheenRoughnessMap) + ((v.sheenRoughnessMap.value = y.sheenRoughnessMap), + n(y.sheenRoughnessMap, v.sheenRoughnessMapTransform)); + } + if (y.clearcoat > 0) { + if ( + ((v.clearcoat.value = y.clearcoat), + (v.clearcoatRoughness.value = y.clearcoatRoughness), + y.clearcoatMap) + ) + ((v.clearcoatMap.value = y.clearcoatMap), + n(y.clearcoatMap, v.clearcoatMapTransform)); + if (y.clearcoatRoughnessMap) + ((v.clearcoatRoughnessMap.value = y.clearcoatRoughnessMap), + n(y.clearcoatRoughnessMap, v.clearcoatRoughnessMapTransform)); + if (y.clearcoatNormalMap) { + if ( + ((v.clearcoatNormalMap.value = y.clearcoatNormalMap), + n(y.clearcoatNormalMap, v.clearcoatNormalMapTransform), + v.clearcoatNormalScale.value.copy(y.clearcoatNormalScale), + y.side === Rh) + ) + v.clearcoatNormalScale.value.negate(); + } + } + if (y.dispersion > 0) v.dispersion.value = y.dispersion; + if (y.retroreflectivity > 0) + v.retroreflectivity.value = y.retroreflectivity; + if (y.iridescence > 0) { + if ( + ((v.iridescence.value = y.iridescence), + (v.iridescenceIOR.value = y.iridescenceIOR), + (v.iridescenceThicknessMinimum.value = y.iridescenceThicknessRange[0]), + (v.iridescenceThicknessMaximum.value = y.iridescenceThicknessRange[1]), + y.iridescenceMap) + ) + ((v.iridescenceMap.value = y.iridescenceMap), + n(y.iridescenceMap, v.iridescenceMapTransform)); + if (y.iridescenceThicknessMap) + ((v.iridescenceThicknessMap.value = y.iridescenceThicknessMap), + n(y.iridescenceThicknessMap, v.iridescenceThicknessMapTransform)); + } + if (y.transmission > 0) { + if ( + ((v.transmission.value = y.transmission), + (v.transmissionSamplerMap.value = x.texture), + v.transmissionSamplerSize.value.set(x.width, x.height), + y.transmissionMap) + ) + ((v.transmissionMap.value = y.transmissionMap), + n(y.transmissionMap, v.transmissionMapTransform)); + if (((v.thickness.value = y.thickness), y.thicknessMap)) + ((v.thicknessMap.value = y.thicknessMap), + n(y.thicknessMap, v.thicknessMapTransform)); + ((v.attenuationDistance.value = y.attenuationDistance), + v.attenuationColor.value.copy(y.attenuationColor)); + } + if (y.anisotropy > 0) { + if ( + (v.anisotropyVector.value.set( + y.anisotropy * Math.cos(y.anisotropyRotation), + y.anisotropy * Math.sin(y.anisotropyRotation), + ), + y.anisotropyMap) + ) + ((v.anisotropyMap.value = y.anisotropyMap), + n(y.anisotropyMap, v.anisotropyMapTransform)); + } + if ( + ((v.specularIntensity.value = y.specularIntensity), + v.specularColor.value.copy(y.specularColor), + y.specularColorMap) + ) + ((v.specularColorMap.value = y.specularColorMap), + n(y.specularColorMap, v.specularColorMapTransform)); + if (y.specularIntensityMap) + ((v.specularIntensityMap.value = y.specularIntensityMap), + n(y.specularIntensityMap, v.specularIntensityMapTransform)); + } + function m(v, y) { + if (y.matcap) v.matcap.value = y.matcap; + } + function g(v, y) { + let x = t.get(y).light; + (v.referencePosition.value.setFromMatrixPosition(x.matrixWorld), + (v.nearDistance.value = x.shadow.camera.near), + (v.farDistance.value = x.shadow.camera.far)); + } + return { refreshFogUniforms: r, refreshMaterialUniforms: o }; +} +function bOr(e, t, n, r) { + let o = {}, + a = {}, + i = [], + s = e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS); + function l(w, C) { + let E = C.program; + r.uniformBlockBinding(w, E); + } + function c(w, C) { + let E = o[w.id]; + if (E === void 0) + (v(w), (E = u(w)), (o[w.id] = E), w.addEventListener("dispose", x)); + let T = C.program; + r.updateUBOMapping(w, T); + let I = t.render.frame; + if (a[w.id] !== I) (p(w), (a[w.id] = I)); + } + function u(w) { + let C = d(); + w.__bindingPointIndex = C; + let E = e.createBuffer(), + { __size: T, usage: I } = w; + return ( + e.bindBuffer(e.UNIFORM_BUFFER, E), + e.bufferData(e.UNIFORM_BUFFER, T, I), + e.bindBuffer(e.UNIFORM_BUFFER, null), + e.bindBufferBase(e.UNIFORM_BUFFER, C, E), + E + ); + } + function d() { + for (let w = 0; w < s; w++) if (i.indexOf(w) === -1) return (i.push(w), w); + return ( + wr( + "WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached.", + ), + 0 + ); + } + function p(w) { + let C = o[w.id], + { uniforms: E, __cache: T } = w; + e.bindBuffer(e.UNIFORM_BUFFER, C); + for (let I = 0, k = E.length; I < k; I++) { + let L = E[I]; + if (Array.isArray(L)) + for (let O = 0, B = L.length; O < B; O++) f(L[O], I, O, T); + else f(L, I, 0, T); + } + e.bindBuffer(e.UNIFORM_BUFFER, null); + } + function f(w, C, E, T) { + if (g(w, C, E, T) === !0) { + let { __offset: I, value: k } = w; + if (Array.isArray(k)) { + let L = 0; + for (let O = 0; O < k.length; O++) { + let B = k[O], + U = y(B); + if ( + (m(B, w.__data, L), + typeof B !== "number" && + typeof B !== "boolean" && + !B.isMatrix3 && + !ArrayBuffer.isView(B)) + ) + L += U.storage / Float32Array.BYTES_PER_ELEMENT; + } + } else m(k, w.__data, 0); + e.bufferSubData(e.UNIFORM_BUFFER, I, w.__data); + } + } + function m(w, C, E) { + if (typeof w === "number" || typeof w === "boolean") C[0] = w; + else if (w.isMatrix3) + ((C[0] = w.elements[0]), + (C[1] = w.elements[1]), + (C[2] = w.elements[2]), + (C[3] = 0), + (C[4] = w.elements[3]), + (C[5] = w.elements[4]), + (C[6] = w.elements[5]), + (C[7] = 0), + (C[8] = w.elements[6]), + (C[9] = w.elements[7]), + (C[10] = w.elements[8]), + (C[11] = 0)); + else if (ArrayBuffer.isView(w)) + C.set(new w.constructor(w.buffer, w.byteOffset, C.length)); + else w.toArray(C, E); + } + function g(w, C, E, T) { + let I = w.value, + k = C + "_" + E; + if (T[k] === void 0) { + if (typeof I === "number" || typeof I === "boolean") T[k] = I; + else if (ArrayBuffer.isView(I)) T[k] = I.slice(); + else T[k] = I.clone(); + return !0; + } else { + let L = T[k]; + if (typeof I === "number" || typeof I === "boolean") { + if (L !== I) return ((T[k] = I), !0); + } else if (ArrayBuffer.isView(I)) return !0; + else if (L.equals(I) === !1) return (L.copy(I), !0); + } + return !1; + } + function v(w) { + let C = w.uniforms, + E = 0, + T = 16; + for (let k = 0, L = C.length; k < L; k++) { + let O = Array.isArray(C[k]) ? C[k] : [C[k]]; + for (let B = 0, U = O.length; B < U; B++) { + let D = O[B], + N = Array.isArray(D.value) ? D.value : [D.value]; + for (let _ = 0, G = N.length; _ < G; _++) { + let Z = N[_], + q = y(Z), + H = E % T, + te = H % q.boundary, + ie = H + te; + if (((E += te), ie !== 0 && T - ie < q.storage)) E += T - ie; + ((D.__data = new Float32Array( + q.storage / Float32Array.BYTES_PER_ELEMENT, + )), + (D.__offset = E), + (E += q.storage)); + } + } + } + let I = E % T; + if (I > 0) E += T - I; + return ((w.__size = E), (w.__cache = {}), this); + } + function y(w) { + let C = { boundary: 0, storage: 0 }; + if (typeof w === "number" || typeof w === "boolean") + ((C.boundary = 4), (C.storage = 4)); + else if (w.isVector2) ((C.boundary = 8), (C.storage = 8)); + else if (w.isVector3 || w.isColor) ((C.boundary = 16), (C.storage = 12)); + else if (w.isVector4) ((C.boundary = 16), (C.storage = 16)); + else if (w.isMatrix3) ((C.boundary = 48), (C.storage = 48)); + else if (w.isMatrix4) ((C.boundary = 64), (C.storage = 64)); + else if (w.isTexture) + zn( + "WebGLRenderer: Texture samplers can not be part of an uniforms group.", + ); + else if (ArrayBuffer.isView(w)) + ((C.boundary = 16), (C.storage = w.byteLength)); + else zn("WebGLRenderer: Unsupported uniform value type.", w); + return C; + } + function x(w) { + let C = w.target; + C.removeEventListener("dispose", x); + let E = i.indexOf(C.__bindingPointIndex); + (i.splice(E, 1), e.deleteBuffer(o[C.id]), delete o[C.id], delete a[C.id]); + } + function A() { + for (let w in o) e.deleteBuffer(o[w]); + ((i = []), (o = {}), (a = {})); + } + return { bind: l, update: c, dispose: A }; +} +function AOr() { + if (iA === null) + ((iA = new jl(xOr, 16, 16, tA, O0)), + (iA.name = "DFG_LUT"), + (iA.minFilter = Mh), + (iA.magFilter = Mh), + (iA.wrapS = xX), + (iA.wrapT = xX), + (iA.generateMipmaps = !1), + (iA.needsUpdate = !0)); + return iA; +} +class oO { + constructor(e = {}) { + let { + canvas: t = mHe(), + context: n = null, + depth: r = !0, + stencil: o = !1, + alpha: a = !1, + antialias: i = !1, + premultipliedAlpha: s = !0, + preserveDrawingBuffer: l = !1, + powerPreference: c = "default", + failIfMajorPerformanceCaveat: u = !1, + reversedDepthBuffer: d = !1, + outputBufferType: p = Fm, + } = e; + this.isWebGLRenderer = !0; + let f; + if (n !== null) { + if ( + typeof WebGLRenderingContext < "u" && + n instanceof WebGLRenderingContext + ) + throw Error( + "THREE.WebGLRenderer: WebGL 1 is not supported since r163.", + ); + f = n.getContextAttributes().alpha; + } else f = a; + let m = p, + g = new Set([m5, Yhe, HB]), + v = new Set([Fm, Dh, _B, k7, Xhe, Whe]), + y = new Uint32Array(4), + x = new Int32Array(4), + A = new he(), + w = null, + C = null, + E = [], + T = [], + I = null; + ((this.domElement = t), + (this.debug = { + checkShaderErrors: !0, + diagnostics: { keywords: !1 }, + onShaderError: null, + }), + (this.autoClear = !0), + (this.autoClearColor = !0), + (this.autoClearDepth = !0), + (this.autoClearStencil = !0), + (this.sortObjects = !0), + (this.clippingPlanes = []), + (this.localClippingEnabled = !1), + (this.toneMapping = B0), + (this.toneMappingExposure = 1), + (this.transmissionResolutionScale = 1)); + let k = this, + L = !1, + O = null, + B = null, + U = null, + D = null; + this._outputColorSpace = jw; + let N = 0, + _ = 0, + G = null, + Z = -1, + q = null, + H = new Ja(), + te = new Ja(), + ie = null, + j = new _n(0), + oe = 0, + { width: J, height: Y } = t, + ae = 1, + ne = null, + Se = null, + fe = new Ja(0, 0, J, Y), + Ae = new Ja(0, 0, J, Y), + Ee = !1, + pe = new Ww(), + Re = !1, + Le = !1, + Ne = new Vn(), + be = new he(), + ye = new Ja(), + ce = { + background: null, + fog: null, + environment: null, + overrideMaterial: null, + isScene: !0, + }, + ue = !1; + function ke() { + return G === null ? ae : 1; + } + let se = n; + function qe(ve, et) { + return t.getContext(ve, et); + } + let Me, + Qe, + ee, + K, + we, + ze, + tt, + Pe, + Ke, + Ue, + Ze, + ct, + Rt, + de, + ge, + Oe, + Xe, + $e, + Ie, + Ge, + _e, + nt, + rt; + try { + let ve = { + alpha: !0, + depth: r, + stencil: o, + antialias: i, + premultipliedAlpha: s, + preserveDrawingBuffer: l, + powerPreference: c, + failIfMajorPerformanceCaveat: u, + }; + if ("setAttribute" in t) + t.setAttribute("data-engine", `three.js r${A_e}`); + if ( + (t.addEventListener("webglcontextlost", en, !1), + t.addEventListener("webglcontextrestored", Gt, !1), + t.addEventListener("webglcontextcreationerror", tn, !1), + se === null) + ) { + if (((se = qe("webgl2", ve)), se === null)) + if (qe("webgl2")) + throw Error( + "THREE.WebGLRenderer: Error creating WebGL context with your selected attributes.", + ); + else + throw Error("THREE.WebGLRenderer: Error creating WebGL context."); + } + ot(); + } catch (ve) { + throw ( + t.removeEventListener("webglcontextlost", en, !1), + t.removeEventListener("webglcontextrestored", Gt, !1), + t.removeEventListener("webglcontextcreationerror", tn, !1), + wr("WebGLRenderer: " + ve.message), + ve + ); + } + function ot() { + if ( + ((Me = new RLr(se)), + Me.init(), + (_e = new Pge(se, Me)), + (Qe = new bLr(se, Me, e, _e)), + (ee = new fOr(se, Me)), + Qe.reversedDepthBuffer && d) + ) + ee.buffers.depth.setReversed(!0); + ((B = se.createFramebuffer()), + (U = se.createFramebuffer()), + (D = se.createFramebuffer()), + (K = new DLr(se)), + (we = new $Br()), + (ze = new mOr(se, Me, ee, we, Qe, _e, K)), + (tt = new kLr(k)), + (Pe = new B9r(se)), + (nt = new yLr(se, Pe)), + (Ke = new PLr(se, Pe, K, nt)), + (Ue = new BLr(se, Ke, Pe, nt, K)), + ($e = new LLr(se, Qe, ze)), + (ge = new xLr(we)), + (Ze = new jBr(k, tt, Me, Qe, nt, ge)), + (ct = new vOr(k, we)), + (Rt = new tOr()), + (de = new sOr(Me)), + (Xe = new gLr(k, tt, ee, Ue, f, s)), + (Oe = new pOr(k, Ue, Qe)), + (rt = new bOr(se, K, Qe, ee)), + (Ie = new vLr(se, Me, K)), + (Ge = new MLr(se, Me, K)), + (K.programs = Ze.programs), + (k.capabilities = Qe), + (k.extensions = Me), + (k.properties = we), + (k.renderLists = Rt), + (k.shadowMap = Oe), + (k.state = ee), + (k.info = K)); + } + if (m !== Fm) I = new FLr(m, t.width, t.height, i, r, o); + let At = new z0n(k, se); + ((this.xr = At), + (this.getContext = function () { + return se; + }), + (this.getContextAttributes = function () { + return se.getContextAttributes(); + }), + (this.forceContextLoss = function () { + let ve = Me.get("WEBGL_lose_context"); + if (ve) ve.loseContext(); + }), + (this.forceContextRestore = function () { + let ve = Me.get("WEBGL_lose_context"); + if (ve) ve.restoreContext(); + }), + (this.getPixelRatio = function () { + return ae; + }), + (this.setPixelRatio = function (ve) { + if (ve === void 0) return; + ((ae = ve), this.setSize(J, Y, !1)); + }), + (this.getSize = function (ve) { + return ve.set(J, Y); + }), + (this.setSize = function (ve, et, ht = !0) { + if (At.isPresenting) { + zn("WebGLRenderer: Can't change size while VR device is presenting."); + return; + } + if ( + ((J = ve), + (Y = et), + (t.width = Math.floor(ve * ae)), + (t.height = Math.floor(et * ae)), + ht === !0) + ) + ((t.style.width = ve + "px"), (t.style.height = et + "px")); + if (I !== null) I.setSize(t.width, t.height); + this.setViewport(0, 0, ve, et); + }), + (this.getDrawingBufferSize = function (ve) { + return ve.set(J * ae, Y * ae).floor(); + }), + (this.setDrawingBufferSize = function (ve, et, ht) { + ((J = ve), + (Y = et), + (ae = ht), + (t.width = Math.floor(ve * ht)), + (t.height = Math.floor(et * ht)), + this.setViewport(0, 0, ve, et)); + }), + (this.setEffects = function (ve) { + if (m === Fm) { + wr( + "WebGLRenderer: setEffects() requires outputBufferType set to HalfFloatType or FloatType.", + ); + return; + } + if (ve) { + for (let et = 0; et < ve.length; et++) + if (ve[et].isOutputPass === !0) { + zn( + "WebGLRenderer: OutputPass is not needed in setEffects(). Tone mapping and color space conversion are applied automatically.", + ); + break; + } + } + I.setEffects(ve || []); + }), + (this.getCurrentViewport = function (ve) { + return ve.copy(H); + }), + (this.getViewport = function (ve) { + return ve.copy(fe); + }), + (this.setViewport = function (ve, et, ht, st) { + if (ve.isVector4) fe.set(ve.x, ve.y, ve.z, ve.w); + else fe.set(ve, et, ht, st); + ee.viewport(H.copy(fe).multiplyScalar(ae).round()); + }), + (this.getScissor = function (ve) { + return ve.copy(Ae); + }), + (this.setScissor = function (ve, et, ht, st) { + if (ve.isVector4) Ae.set(ve.x, ve.y, ve.z, ve.w); + else Ae.set(ve, et, ht, st); + ee.scissor(te.copy(Ae).multiplyScalar(ae).round()); + }), + (this.getScissorTest = function () { + return Ee; + }), + (this.setScissorTest = function (ve) { + ee.setScissorTest((Ee = ve)); + }), + (this.setOpaqueSort = function (ve) { + ne = ve; + }), + (this.setTransparentSort = function (ve) { + Se = ve; + }), + (this.getClearColor = function (ve) { + return ve.copy(Xe.getClearColor()); + }), + (this.setClearColor = function () { + Xe.setClearColor(...arguments); + }), + (this.getClearAlpha = function () { + return Xe.getClearAlpha(); + }), + (this.setClearAlpha = function () { + Xe.setClearAlpha(...arguments); + }), + (this.clear = function (ve = !0, et = !0, ht = !0) { + let st = 0; + if (ve) { + let lt = !1; + if (G !== null) { + let nn = G.texture.format; + lt = g.has(nn); + } + if (lt) { + let nn = G.texture.type, + dn = v.has(nn), + fn = Xe.getClearColor(), + wn = Xe.getClearAlpha(), + { r: Qt, g: Qn, b: fr } = fn; + if (dn) + ((y[0] = Qt), + (y[1] = Qn), + (y[2] = fr), + (y[3] = wn), + se.clearBufferuiv(se.COLOR, 0, y)); + else + ((x[0] = Qt), + (x[1] = Qn), + (x[2] = fr), + (x[3] = wn), + se.clearBufferiv(se.COLOR, 0, x)); + } else st |= se.COLOR_BUFFER_BIT; + } + if (et) + ((st |= se.DEPTH_BUFFER_BIT), this.state.buffers.depth.setMask(!0)); + if (ht) + ((st |= se.STENCIL_BUFFER_BIT), + this.state.buffers.stencil.setMask(4294967295)); + if (st !== 0) se.clear(st); + }), + (this.clearColor = function () { + this.clear(!0, !1, !1); + }), + (this.clearDepth = function () { + this.clear(!1, !0, !1); + }), + (this.clearStencil = function () { + this.clear(!1, !1, !0); + }), + (this.setNodesHandler = function (ve) { + (ve.setRenderer(this), (O = ve)); + }), + (this.dispose = function () { + (t.removeEventListener("webglcontextlost", en, !1), + t.removeEventListener("webglcontextrestored", Gt, !1), + t.removeEventListener("webglcontextcreationerror", tn, !1), + Xe.dispose(), + Rt.dispose(), + de.dispose(), + we.dispose(), + tt.dispose(), + Ue.dispose(), + nt.dispose(), + rt.dispose(), + Ze.dispose(), + At.dispose(), + At.removeEventListener("sessionstart", An), + At.removeEventListener("sessionend", Nn), + Tn.stop()); + })); + function en(ve) { + (ve.preventDefault(), LB("WebGLRenderer: Context Lost."), (L = !0)); + } + function Gt() { + (LB("WebGLRenderer: Context Restored."), (L = !1)); + let ve = K.autoReset, + et = Oe.enabled, + ht = Oe.autoUpdate, + st = Oe.needsUpdate, + lt = Oe.type; + (ot(), + (K.autoReset = ve), + (Oe.enabled = et), + (Oe.autoUpdate = ht), + (Oe.needsUpdate = st), + (Oe.type = lt)); + } + function tn(ve) { + wr( + "WebGLRenderer: A WebGL context could not be created. Reason: ", + ve.statusMessage, + ); + } + function Yt(ve) { + let et = ve.target; + (et.removeEventListener("dispose", Yt), Be(et)); + } + function Be(ve) { + (Je(ve), we.remove(ve)); + } + function Je(ve) { + let et = we.get(ve).programs; + if (et !== void 0) { + if ( + (et.forEach(function (ht) { + Ze.releaseProgram(ht); + }), + ve.isShaderMaterial) + ) + Ze.releaseShaderCache(ve); + } + } + this.renderBufferDirect = function (ve, et, ht, st, lt, nn) { + if (et === null) et = ce; + let dn = lt.isMesh && lt.matrixWorld.determinantAffine() < 0, + fn = on(ve, et, ht, st, lt); + ee.setMaterial(st, dn); + let wn = ht.index, + Qt = 1; + if (st.wireframe === !0) { + if (((wn = Ke.getWireframeAttribute(ht)), wn === void 0)) return; + Qt = 2; + } + let Qn = ht.drawRange, + fr = ht.attributes.position, + hn = Qn.start * Qt, + nr = (Qn.start + Qn.count) * Qt; + if (nn !== null) + ((hn = Math.max(hn, nn.start * Qt)), + (nr = Math.min(nr, (nn.start + nn.count) * Qt))); + if (wn !== null) ((hn = Math.max(hn, 0)), (nr = Math.min(nr, wn.count))); + else if (fr !== void 0 && fr !== null) + ((hn = Math.max(hn, 0)), (nr = Math.min(nr, fr.count))); + let la = nr - hn; + if (la < 0 || la === 1 / 0) return; + nt.setup(lt, st, fn, ht, wn); + let ir, + Or = Ie; + if (wn !== null) ((ir = Pe.get(wn)), (Or = Ge), Or.setIndex(ir)); + if (lt.isMesh) + if (st.wireframe === !0) + (ee.setLineWidth(st.wireframeLinewidth * ke()), Or.setMode(se.LINES)); + else Or.setMode(se.TRIANGLES); + else if (lt.isLine) { + let _a = st.linewidth; + if (_a === void 0) _a = 1; + if ((ee.setLineWidth(_a * ke()), lt.isLineSegments)) + Or.setMode(se.LINES); + else if (lt.isLineLoop) Or.setMode(se.LINE_LOOP); + else Or.setMode(se.LINE_STRIP); + } else if (lt.isPoints) Or.setMode(se.POINTS); + else if (lt.isSprite) Or.setMode(se.TRIANGLES); + if (lt.isBatchedMesh) + if (!Me.get("WEBGL_multi_draw")) { + let { + _multiDrawStarts: _a, + _multiDrawCounts: kn, + _multiDrawCount: ps, + } = lt, + uo = wn ? Pe.get(wn).bytesPerElement : 1, + fs = we.get(st).currentProgram.getUniforms(); + for (let ea = 0; ea < ps; ea++) + (fs.setValue(se, "_gl_DrawID", ea), Or.render(_a[ea] / uo, kn[ea])); + } else + Or.renderMultiDraw( + lt._multiDrawStarts, + lt._multiDrawCounts, + lt._multiDrawCount, + ); + else if (lt.isInstancedMesh) Or.renderInstances(hn, la, lt.count); + else if (ht.isInstancedBufferGeometry) { + let _a = ht._maxInstanceCount !== void 0 ? ht._maxInstanceCount : 1 / 0, + kn = Math.min(ht.instanceCount, _a); + Or.renderInstances(hn, la, kn); + } else Or.render(hn, la); + }; + function it(ve, et, ht, st) { + if (O !== null && ve.isNodeMaterial) O.setObject(st, ve); + if (Re === !0) ge.setState(ve, ht, !1); + if (ve.transparent === !0 && ve.side === Ph && ve.forceSinglePass === !1) + ((ve.side = Rh), + (ve.needsUpdate = !0), + Yr(ve, et, st), + (ve.side = $x), + (ve.needsUpdate = !0), + Yr(ve, et, st), + (ve.side = Ph)); + else Yr(ve, et, st); + } + ((this.compile = function (ve, et, ht = null) { + if (ht === null) ht = ve; + if (O !== null) O.renderStart(ve, et, ht); + if ( + ((C = de.get(ht)), + C.init(et), + T.push(C), + ht.traverseVisible(function (lt) { + if (lt.isLight && lt.layers.test(et.layers)) { + if ((C.pushLight(lt), lt.castShadow)) C.pushShadow(lt); + } + }), + ve !== ht) + ) + ve.traverseVisible(function (lt) { + if (lt.isLight && lt.layers.test(et.layers)) { + if ((C.pushLight(lt), lt.castShadow)) C.pushShadow(lt); + } + }); + if ((C.setupLights(), O !== null)) O.updateLights(C.state.lightsArray); + if ( + ((Le = this.localClippingEnabled), + (Re = ge.init(this.clippingPlanes, Le)), + Re === !0) + ) + ge.setGlobalState(this.clippingPlanes, et); + if (O !== null) Oe.render(C.state.shadowsArray, ht, et); + let st = new Set(); + if ( + (ve.traverse(function (lt) { + if (!(lt.isMesh || lt.isPoints || lt.isLine || lt.isSprite)) return; + let nn = lt.material; + if (nn) + if (Array.isArray(nn)) + for (let dn = 0; dn < nn.length; dn++) { + let fn = nn[dn]; + (it(fn, ht, et, lt), st.add(fn)); + } + else (it(nn, ht, et, lt), st.add(nn)); + }), + (C = T.pop()), + O !== null) + ) + O.renderEnd(); + return st; + }), + (this.compileAsync = function (ve, et, ht = null) { + let st = this.compile(ve, et, ht); + return new Promise((lt) => { + function nn() { + if ( + (st.forEach(function (dn) { + let wn = we.get(dn).currentProgram; + if (wn === void 0 || wn.isReady()) st.delete(dn); + }), + st.size === 0) + ) { + lt(ve); + return; + } + setTimeout(nn, 10); + } + if (Me.get("KHR_parallel_shader_compile") !== null) nn(); + else setTimeout(nn, 10); + }); + })); + let Et = null; + function Mt(ve) { + if (Et) Et(ve); + } + function An() { + Tn.stop(); + } + function Nn() { + Tn.start(); + } + let Tn = new T0n(); + if ((Tn.setAnimationLoop(Mt), typeof self < "u")) Tn.setContext(self); + ((this.setAnimationLoop = function (ve) { + ((Et = ve), + At.setAnimationLoop(ve), + ve === null ? Tn.stop() : Tn.start()); + }), + At.addEventListener("sessionstart", An), + At.addEventListener("sessionend", Nn), + (this.render = function (ve, et) { + if (et !== void 0 && et.isCamera !== !0) { + wr( + "WebGLRenderer.render: camera is not an instance of THREE.Camera.", + ); + return; + } + if (L === !0) return; + if (O !== null) O.renderStart(ve, et); + let ht = At.enabled === !0 && At.isPresenting === !0, + st = I !== null && (G === null || ht) && I.begin(k, G); + if (ve.matrixWorldAutoUpdate === !0) ve.updateMatrixWorld(); + if (et.parent === null && et.matrixWorldAutoUpdate === !0) + et.updateMatrixWorld(); + if ( + At.enabled === !0 && + At.isPresenting === !0 && + (I === null || I.isCompositing() === !1) + ) { + if (At.cameraAutoUpdate === !0) At.updateCamera(et); + et = At.getCamera(); + } + if (ve.isScene === !0) ve.onBeforeRender(k, ve, et, G); + if ( + ((C = de.get(ve, T.length)), + C.init(et), + (C.state.textureUnits = ze.getTextureUnits()), + T.push(C), + Ne.multiplyMatrices(et.projectionMatrix, et.matrixWorldInverse), + pe.setFromProjectionMatrix(Ne, P0e, et.reversedDepth), + (Le = this.localClippingEnabled), + (Re = ge.init(this.clippingPlanes, Le)), + (w = Rt.get(ve, E.length)), + w.init(), + E.push(w), + At.enabled === !0 && At.isPresenting === !0) + ) { + let dn = k.xr.getDepthSensingMesh(); + if (dn !== null) Cn(dn, et, -1 / 0, k.sortObjects); + } + if ((Cn(ve, et, 0, k.sortObjects), w.finish(), O !== null)) + O.updateLights(C.state.lightsArray); + if (k.sortObjects === !0) w.sort(ne, Se); + if ( + ((ue = + At.enabled === !1 || + At.isPresenting === !1 || + At.hasDepthSensing() === !1), + ue) + ) + Xe.addToRenderList(w, ve); + if ((this.info.render.frame++, this.info.autoReset === !0)) + this.info.reset(); + if (Re === !0) ge.beginShadows(); + let lt = C.state.shadowsArray; + if ((Oe.render(lt, ve, et), Re === !0)) ge.endShadows(); + if ((st && I.hasRenderPass()) === !1) { + let dn = w.opaque, + fn = w.transmissive; + if ((C.setupLights(), et.isArrayCamera)) { + let wn = et.cameras; + if (fn.length > 0) + for (let Qt = 0, Qn = wn.length; Qt < Qn; Qt++) { + let fr = wn[Qt]; + qn(dn, fn, ve, fr); + } + if (ue) Xe.render(ve); + for (let Qt = 0, Qn = wn.length; Qt < Qn; Qt++) { + let fr = wn[Qt]; + er(w, ve, fr, fr.viewport); + } + } else { + if (fn.length > 0) qn(dn, fn, ve, et); + if (ue) Xe.render(ve); + er(w, ve, et); + } + } + if (G !== null && _ === 0) + (ze.updateMultisampleRenderTarget(G), ze.updateRenderTargetMipmap(G)); + if (st) I.end(k); + if (ve.isScene === !0) ve.onAfterRender(k, ve, et); + if ( + (nt.resetDefaultState(), (Z = -1), (q = null), T.pop(), T.length > 0) + ) { + if ( + ((C = T[T.length - 1]), + ze.setTextureUnits(C.state.textureUnits), + Re === !0) + ) + ge.setGlobalState(k.clippingPlanes, C.state.camera); + } else C = null; + if ((E.pop(), E.length > 0)) w = E[E.length - 1]; + else w = null; + if (O !== null) O.renderEnd(); + })); + function Cn(ve, et, ht, st) { + if (ve.visible === !1) return; + if (ve.layers.test(et.layers)) { + if (ve.isGroup) ht = ve.renderOrder; + else if (ve.isLOD) { + if (ve.autoUpdate === !0) ve.update(et); + } else if (ve.isLightProbeGrid) C.pushLightProbeGrid(ve); + else if (ve.isLight) { + if ((C.pushLight(ve), ve.castShadow)) C.pushShadow(ve); + } else if (ve.isSprite) { + if (!ve.frustumCulled || ve.intersectsFrustum(pe)) { + if (st) ye.setFromMatrixPosition(ve.matrixWorld).applyMatrix4(Ne); + let dn = Ue.update(ve), + fn = ve.material; + if (fn.visible) w.push(ve, dn, fn, ht, ye.z, null, et); + } + } else if (ve.isMesh || ve.isLine || ve.isPoints) { + if (!ve.frustumCulled || ve.intersectsFrustum(pe)) { + let dn = Ue.update(ve), + fn = ve.material; + if (st) { + if (ve.boundingSphere !== void 0) { + if (ve.boundingSphere === null) ve.computeBoundingSphere(); + ye.copy(ve.boundingSphere.center); + } else { + if (dn.boundingSphere === null) dn.computeBoundingSphere(); + ye.copy(dn.boundingSphere.center); + } + ye.applyMatrix4(ve.matrixWorld).applyMatrix4(Ne); + } + if (Array.isArray(fn)) { + let wn = dn.groups; + for (let Qt = 0, Qn = wn.length; Qt < Qn; Qt++) { + let fr = wn[Qt], + hn = fn[fr.materialIndex]; + if (hn && hn.visible) w.push(ve, dn, hn, ht, ye.z, fr, et); + } + } else if (fn.visible) w.push(ve, dn, fn, ht, ye.z, null, et); + } + } + } + let nn = ve.children; + for (let dn = 0, fn = nn.length; dn < fn; dn++) Cn(nn[dn], et, ht, st); + } + function er(ve, et, ht, st) { + let { opaque: lt, transmissive: nn, transparent: dn } = ve; + if ((C.setupLightsView(ht), Re === !0)) + ge.setGlobalState(k.clippingPlanes, ht); + if (st) ee.viewport(H.copy(st)); + if (lt.length > 0) Er(lt, et, ht); + if (nn.length > 0) Er(nn, et, ht); + if (dn.length > 0) Er(dn, et, ht); + (ee.buffers.depth.setTest(!0), + ee.buffers.depth.setMask(!0), + ee.buffers.color.setMask(!0), + ee.setPolygonOffset(!1)); + } + function qn(ve, et, ht, st) { + if ((ht.isScene === !0 ? ht.overrideMaterial : null) !== null) return; + if (C.state.transmissionRenderTarget[st.id] === void 0) { + let hn = + Me.has("EXT_color_buffer_half_float") || + Me.has("EXT_color_buffer_float"); + C.state.transmissionRenderTarget[st.id] = new ef(1, 1, { + generateMipmaps: !0, + type: hn ? O0 : Fm, + minFilter: p5, + samples: Math.max(4, Qe.samples), + stencilBuffer: o, + resolveDepthBuffer: !1, + resolveStencilBuffer: !1, + storeMultisampledDepthBuffer: !1, + storeMultisampledStencilBuffer: !1, + colorSpace: jo.workingColorSpace, + }); + } + let nn = C.state.transmissionRenderTarget[st.id], + dn = st.viewport || H; + nn.setSize( + dn.z * k.transmissionResolutionScale, + dn.w * k.transmissionResolutionScale, + ); + let fn = k.getRenderTarget(), + wn = k.getActiveCubeFace(), + Qt = k.getActiveMipmapLevel(); + if ( + (k.setRenderTarget(nn), + k.getClearColor(j), + (oe = k.getClearAlpha()), + oe < 1) + ) + k.setClearColor(16777215, 0.5); + if ((k.clear(), ue)) Xe.render(ht); + let Qn = k.toneMapping; + k.toneMapping = B0; + let fr = st.viewport; + if (st.viewport !== void 0) st.viewport = void 0; + if ((C.setupLightsView(st), Re === !0)) + ge.setGlobalState(k.clippingPlanes, st); + if ( + (Er(ve, ht, st), + ze.updateMultisampleRenderTarget(nn), + ze.updateRenderTargetMipmap(nn), + Me.has("WEBGL_multisampled_render_to_texture") === !1) + ) { + let hn = !1; + for (let nr = 0, la = et.length; nr < la; nr++) { + let ir = et[nr], + { object: Or, geometry: _a, material: kn, group: ps } = ir; + if (kn.side === Ph && Or.layers.test(st.layers)) { + let uo = kn.side; + ((kn.side = Rh), + (kn.needsUpdate = !0), + ur(Or, ht, st, _a, kn, ps), + (kn.side = uo), + (kn.needsUpdate = !0), + (hn = !0)); + } + } + if (hn === !0) + (ze.updateMultisampleRenderTarget(nn), + ze.updateRenderTargetMipmap(nn)); + } + if ( + (k.setRenderTarget(fn, wn, Qt), k.setClearColor(j, oe), fr !== void 0) + ) + st.viewport = fr; + k.toneMapping = Qn; + } + function Er(ve, et, ht) { + let st = et.isScene === !0 ? et.overrideMaterial : null; + for (let lt = 0, nn = ve.length; lt < nn; lt++) { + let dn = ve[lt], + { object: fn, geometry: wn, group: Qt } = dn, + Qn = dn.material; + if (Qn.allowOverride === !0 && st !== null) Qn = st; + if (fn.layers.test(ht.layers)) ur(fn, et, ht, wn, Qn, Qt); + } + } + function ur(ve, et, ht, st, lt, nn) { + if (O !== null && lt.isNodeMaterial) O.setObject(ve, lt); + if ( + (ve.onBeforeRender(k, et, ht, st, lt, nn), + ve.modelViewMatrix.multiplyMatrices( + ht.matrixWorldInverse, + ve.matrixWorld, + ), + ve.normalMatrix.getNormalMatrix(ve.modelViewMatrix), + lt.onBeforeRender(k, et, ht, st, ve, nn), + lt.transparent === !0 && lt.side === Ph && lt.forceSinglePass === !1) + ) + ((lt.side = Rh), + (lt.needsUpdate = !0), + k.renderBufferDirect(ht, et, st, lt, ve, nn), + (lt.side = $x), + (lt.needsUpdate = !0), + k.renderBufferDirect(ht, et, st, lt, ve, nn), + (lt.side = Ph)); + else k.renderBufferDirect(ht, et, st, lt, ve, nn); + ve.onAfterRender(k, et, ht, st, lt, nn); + } + function Yr(ve, et, ht) { + if (et.isScene !== !0) et = ce; + let st = we.get(ve), + lt = C.state.lights, + nn = C.state.shadowsArray, + dn = lt.state.version, + fn = Ze.getParameters( + ve, + lt.state, + nn, + et, + ht, + C.state.lightProbeGridArray, + ), + wn = Ze.getProgramCacheKey(fn), + Qt = st.programs; + ((st.environment = + ve.isMeshStandardMaterial || + ve.isMeshLambertMaterial || + ve.isMeshPhongMaterial + ? et.environment + : null), + (st.fog = et.fog)); + let Qn = + ve.isMeshStandardMaterial || + (ve.isMeshLambertMaterial && !ve.envMap) || + (ve.isMeshPhongMaterial && !ve.envMap); + if ( + ((st.envMap = tt.get(ve.envMap || st.environment, Qn)), + (st.envMapRotation = + st.environment !== null && ve.envMap === null + ? et.environmentRotation + : ve.envMapRotation), + Qt === void 0) + ) + (ve.addEventListener("dispose", Yt), + (Qt = new Map()), + (st.programs = Qt)); + let fr = Qt.get(wn); + if (fr !== void 0) { + if (st.currentProgram === fr && st.lightsStateVersion === dn) + return (Zo(ve, fn), fr); + } else { + if ( + ((fn.uniforms = Ze.getUniforms(ve)), O !== null && ve.isNodeMaterial) + ) + O.build(ve, ht, fn); + (ve.onBeforeCompile(fn, k), + (fr = Ze.acquireProgram(fn, wn)), + Qt.set(wn, fr), + (st.uniforms = fn.uniforms)); + } + let hn = st.uniforms; + if ( + (!ve.isShaderMaterial && !ve.isRawShaderMaterial) || + ve.clipping === !0 + ) + hn.clippingPlanes = ge.uniform; + if ( + (Zo(ve, fn), + (st.needsLights = Pi(ve)), + (st.lightsStateVersion = dn), + st.needsLights) + ) + ((hn.ambientLightColor.value = lt.state.ambient), + (hn.lightProbe.value = lt.state.probe), + (hn.sunLights.value = lt.state.sun), + (hn.sunLightShadows.value = lt.state.sunShadow), + (hn.directionalLights.value = lt.state.directional), + (hn.directionalLightShadows.value = lt.state.directionalShadow), + (hn.spotLights.value = lt.state.spot), + (hn.spotLightShadows.value = lt.state.spotShadow), + (hn.rectAreaLights.value = lt.state.rectArea), + (hn.ltc_1.value = lt.state.rectAreaLTC1), + (hn.ltc_2.value = lt.state.rectAreaLTC2), + (hn.pointLights.value = lt.state.point), + (hn.pointLightShadows.value = lt.state.pointShadow), + (hn.hemisphereLights.value = lt.state.hemi), + (hn.sunShadowMatrix.value = lt.state.sunShadowMatrix), + (hn.sunShadowCascade.value = lt.state.sunShadowCascade), + (hn.directionalShadowMatrix.value = lt.state.directionalShadowMatrix), + (hn.spotLightMatrix.value = lt.state.spotLightMatrix), + (hn.spotLightMap.value = lt.state.spotLightMap), + (hn.pointShadowMatrix.value = lt.state.pointShadowMatrix)); + return ( + (st.lightProbeGrid = C.state.lightProbeGridArray.length > 0), + (st.currentProgram = fr), + (st.uniformsList = null), + fr + ); + } + function mo(ve) { + if (ve.uniformsList === null) { + let et = ve.currentProgram.getUniforms(); + ve.uniformsList = SW.seqWithValue(et.seq, ve.uniforms); + } + return ve.uniformsList; + } + function Zo(ve, et) { + let ht = we.get(ve); + ((ht.outputColorSpace = et.outputColorSpace), + (ht.batching = et.batching), + (ht.batchingColor = et.batchingColor), + (ht.instancing = et.instancing), + (ht.instancingColor = et.instancingColor), + (ht.instancingMorph = et.instancingMorph), + (ht.skinning = et.skinning), + (ht.morphTargets = et.morphTargets), + (ht.morphNormals = et.morphNormals), + (ht.morphColors = et.morphColors), + (ht.morphTargetsCount = et.morphTargetsCount), + (ht.numClippingPlanes = et.numClippingPlanes), + (ht.numIntersection = et.numClipIntersection), + (ht.vertexAlphas = et.vertexAlphas), + (ht.vertexTangents = et.vertexTangents), + (ht.toneMapping = et.toneMapping)); + } + function Co(ve, et) { + if (ve.length === 0) return null; + if (ve.length === 1) return ve[0].texture !== null ? ve[0] : null; + A.setFromMatrixPosition(et.matrixWorld); + for (let ht = 0, st = ve.length; ht < st; ht++) { + let lt = ve[ht]; + if (lt.texture !== null && lt.boundingBox.containsPoint(A)) return lt; + } + return null; + } + function on(ve, et, ht, st, lt) { + if (et.isScene !== !0) et = ce; + ze.resetTextureUnits(); + let nn = et.fog, + dn = + st.isMeshStandardMaterial || + st.isMeshLambertMaterial || + st.isMeshPhongMaterial + ? et.environment + : null, + fn = + G === null + ? k.outputColorSpace + : G.isXRRenderTarget === !0 + ? G.texture.colorSpace + : jo.workingColorSpace, + wn = + st.isMeshStandardMaterial || + (st.isMeshLambertMaterial && !st.envMap) || + (st.isMeshPhongMaterial && !st.envMap), + Qt = tt.get(st.envMap || dn, wn), + Qn = + st.vertexColors === !0 && + !!ht.attributes.color && + ht.attributes.color.itemSize === 4, + fr = !!ht.attributes.tangent && (!!st.normalMap || st.anisotropy > 0), + hn = !!ht.morphAttributes.position, + nr = !!ht.morphAttributes.normal, + la = !!ht.morphAttributes.color, + ir = B0; + if (st.toneMapped) { + if (G === null || G.isXRRenderTarget === !0) ir = k.toneMapping; + } + let Or = + ht.morphAttributes.position || + ht.morphAttributes.normal || + ht.morphAttributes.color, + _a = Or !== void 0 ? Or.length : 0, + kn = we.get(st), + ps = C.state.lights; + if (Re === !0) { + if (Le === !0 || ve !== q) { + let ro = ve === q && st.id === Z; + ge.setState(st, ve, ro); + } + } + let uo = !1; + if (st.version === kn.__version) { + if (kn.needsLights && kn.lightsStateVersion !== ps.state.version) + uo = !0; + else if (kn.outputColorSpace !== fn) uo = !0; + else if (lt.isBatchedMesh && kn.batching === !1) uo = !0; + else if (!lt.isBatchedMesh && kn.batching === !0) uo = !0; + else if ( + lt.isBatchedMesh && + kn.batchingColor === !0 && + lt._colorsTexture === null + ) + uo = !0; + else if ( + lt.isBatchedMesh && + kn.batchingColor === !1 && + lt._colorsTexture !== null + ) + uo = !0; + else if (lt.isInstancedMesh && kn.instancing === !1) uo = !0; + else if (!lt.isInstancedMesh && kn.instancing === !0) uo = !0; + else if (lt.isSkinnedMesh && kn.skinning === !1) uo = !0; + else if (!lt.isSkinnedMesh && kn.skinning === !0) uo = !0; + else if ( + lt.isInstancedMesh && + kn.instancingColor === !0 && + lt.instanceColor === null + ) + uo = !0; + else if ( + lt.isInstancedMesh && + kn.instancingColor === !1 && + lt.instanceColor !== null + ) + uo = !0; + else if ( + lt.isInstancedMesh && + kn.instancingMorph === !0 && + lt.morphTexture === null + ) + uo = !0; + else if ( + lt.isInstancedMesh && + kn.instancingMorph === !1 && + lt.morphTexture !== null + ) + uo = !0; + else if (kn.envMap !== Qt) uo = !0; + else if (st.fog === !0 && kn.fog !== nn) uo = !0; + else if ( + kn.numClippingPlanes !== void 0 && + (kn.numClippingPlanes !== ge.numPlanes || + kn.numIntersection !== ge.numIntersection) + ) + uo = !0; + else if (kn.vertexAlphas !== Qn) uo = !0; + else if (kn.vertexTangents !== fr) uo = !0; + else if (kn.morphTargets !== hn) uo = !0; + else if (kn.morphNormals !== nr) uo = !0; + else if (kn.morphColors !== la) uo = !0; + else if (kn.toneMapping !== ir) uo = !0; + else if (kn.morphTargetsCount !== _a) uo = !0; + else if (!!kn.lightProbeGrid !== C.state.lightProbeGridArray.length > 0) + uo = !0; + } else ((uo = !0), (kn.__version = st.version)); + let fs = kn.currentProgram; + if (uo === !0) { + if (((fs = Yr(st, et, lt)), O && st.isNodeMaterial)) + O.onUpdateProgram(st, fs, kn); + } + let ea = !1, + no = !1, + zd = !1, + ho = fs.getUniforms(), + ta = kn.uniforms; + if (ee.useProgram(fs.program)) ((ea = !0), (no = !0), (zd = !0)); + if (st.id !== Z) ((Z = st.id), (no = !0)); + if (kn.needsLights) { + let ro = Co(C.state.lightProbeGridArray, lt); + if (kn.lightProbeGrid !== ro) ((kn.lightProbeGrid = ro), (no = !0)); + } + if (ea || q !== ve) { + if (ee.buffers.depth.getReversed() && ve.reversedDepth !== !0) + ((ve._reversedDepth = !0), ve.updateProjectionMatrix()); + (ho.setValue(se, "projectionMatrix", ve.projectionMatrix), + ho.setValue(se, "viewMatrix", ve.matrixWorldInverse)); + let al = ho.map.cameraPosition; + if (al !== void 0) + al.setValue(se, be.setFromMatrixPosition(ve.matrixWorld)); + if (Qe.logarithmicDepthBuffer) + ho.setValue( + se, + "logDepthBufFC", + 2 / (Math.log(ve.far + 1) / Math.LN2), + ); + if ( + st.isMeshPhongMaterial || + st.isMeshToonMaterial || + st.isMeshLambertMaterial || + st.isMeshBasicMaterial || + st.isMeshStandardMaterial || + st.isShaderMaterial + ) + ho.setValue(se, "isOrthographic", ve.isOrthographicCamera === !0); + if (q !== ve) ((q = ve), (no = !0), (zd = !0)); + } + if (kn.needsLights) { + if (ps.state.sunShadowMap.length > 0) + ho.setValue(se, "sunShadowMap", ps.state.sunShadowMap, ze); + if (ps.state.directionalShadowMap.length > 0) + ho.setValue( + se, + "directionalShadowMap", + ps.state.directionalShadowMap, + ze, + ); + if (ps.state.spotShadowMap.length > 0) + ho.setValue(se, "spotShadowMap", ps.state.spotShadowMap, ze); + if (ps.state.pointShadowMap.length > 0) + ho.setValue(se, "pointShadowMap", ps.state.pointShadowMap, ze); + } + if (lt.isSkinnedMesh) { + (ho.setOptional(se, lt, "bindMatrix"), + ho.setOptional(se, lt, "bindMatrixInverse")); + let ro = lt.skeleton; + if (ro) { + if (ro.boneTexture === null) ro.computeBoneTexture(); + ho.setValue(se, "boneTexture", ro.boneTexture, ze); + } + } + if (lt.isBatchedMesh) { + if ( + (ho.setOptional(se, lt, "batchingTexture"), + ho.setValue(se, "batchingTexture", lt._matricesTexture, ze), + ho.setOptional(se, lt, "batchingIdTexture"), + ho.setValue(se, "batchingIdTexture", lt._indirectTexture, ze), + ho.setOptional(se, lt, "batchingColorTexture"), + lt._colorsTexture !== null) + ) + ho.setValue(se, "batchingColorTexture", lt._colorsTexture, ze); + } + let rc = ht.morphAttributes; + if (rc.position !== void 0 || rc.normal !== void 0 || rc.color !== void 0) + $e.update(lt, ht, fs); + if (no || kn.receiveShadow !== lt.receiveShadow) + ((kn.receiveShadow = lt.receiveShadow), + ho.setValue(se, "receiveShadow", lt.receiveShadow)); + if ( + (st.isMeshStandardMaterial || + st.isMeshLambertMaterial || + st.isMeshPhongMaterial) && + st.envMap === null && + et.environment !== null + ) + ta.envMapIntensity.value = et.environmentIntensity; + if (ta.dfgLUT !== void 0) ta.dfgLUT.value = AOr(); + if (no) { + if ( + (ho.setValue(se, "toneMappingExposure", k.toneMappingExposure), + kn.needsLights) + ) + li(ta, zd); + if (nn && st.fog === !0) ct.refreshFogUniforms(ta, nn); + if ( + (ct.refreshMaterialUniforms( + ta, + st, + ae, + Y, + C.state.transmissionRenderTarget[ve.id], + ), + kn.needsLights && kn.lightProbeGrid) + ) { + let ro = kn.lightProbeGrid; + ((ta.probesSH.value = ro.texture), + ta.probesMin.value.copy(ro.boundingBox.min), + ta.probesMax.value.copy(ro.boundingBox.max), + ta.probesResolution.value.copy(ro.resolution)); + } + SW.upload(se, mo(kn), ta, ze); + } + if (st.isShaderMaterial && st.uniformsNeedUpdate === !0) + (SW.upload(se, mo(kn), ta, ze), (st.uniformsNeedUpdate = !1)); + if (st.isSpriteMaterial) ho.setValue(se, "center", lt.center); + if ( + (ho.setValue(se, "modelViewMatrix", lt.modelViewMatrix), + ho.setValue(se, "normalMatrix", lt.normalMatrix), + ho.setValue(se, "modelMatrix", lt.matrixWorld), + st.uniformsGroups !== void 0) + ) { + let ro = st.uniformsGroups; + for (let al = 0, $a = ro.length; al < $a; al++) { + let Ha = ro[al]; + (rt.update(Ha, fs), rt.bind(Ha, fs)); + } + } + return fs; + } + function li(ve, et) { + ((ve.ambientLightColor.needsUpdate = et), + (ve.lightProbe.needsUpdate = et), + (ve.sunLights.needsUpdate = et), + (ve.sunLightShadows.needsUpdate = et), + (ve.directionalLights.needsUpdate = et), + (ve.directionalLightShadows.needsUpdate = et), + (ve.pointLights.needsUpdate = et), + (ve.pointLightShadows.needsUpdate = et), + (ve.spotLights.needsUpdate = et), + (ve.spotLightShadows.needsUpdate = et), + (ve.rectAreaLights.needsUpdate = et), + (ve.hemisphereLights.needsUpdate = et)); + } + function Pi(ve) { + return ( + ve.isMeshLambertMaterial || + ve.isMeshToonMaterial || + ve.isMeshPhongMaterial || + ve.isMeshStandardMaterial || + ve.isShadowMaterial || + (ve.isShaderMaterial && ve.lights === !0) + ); + } + ((this.getActiveCubeFace = function () { + return N; + }), + (this.getActiveMipmapLevel = function () { + return _; + }), + (this.getRenderTarget = function () { + return G; + }), + (this.setRenderTargetTextures = function (ve, et, ht) { + let st = we.get(ve); + if ( + ((st.__autoAllocateDepthBuffer = ve.resolveDepthBuffer === !1), + st.__autoAllocateDepthBuffer === !1) + ) + st.__useRenderToTexture = !1; + ((we.get(ve.texture).__webglTexture = et), + (we.get(ve.depthTexture).__webglTexture = st.__autoAllocateDepthBuffer + ? void 0 + : ht), + (st.__hasExternalTextures = !0)); + }), + (this.setRenderTargetFramebuffer = function (ve, et) { + let ht = we.get(ve); + ((ht.__webglFramebuffer = et), + (ht.__useDefaultFramebuffer = et === void 0)); + }), + (this.setRenderTarget = function (ve, et = 0, ht = 0) { + ((G = ve), (N = et), (_ = ht)); + let st = null, + lt = !1, + nn = !1; + if (ve) { + let fn = we.get(ve); + if (fn.__useDefaultFramebuffer !== void 0) { + (ee.bindFramebuffer(se.FRAMEBUFFER, fn.__webglFramebuffer), + H.copy(ve.viewport), + te.copy(ve.scissor), + (ie = ve.scissorTest), + ee.viewport(H), + ee.scissor(te), + ee.setScissorTest(ie), + (Z = -1)); + return; + } else if (fn.__webglFramebuffer === void 0) ze.setupRenderTarget(ve); + else if (fn.__hasExternalTextures) + ze.rebindTextures( + ve, + we.get(ve.texture).__webglTexture, + we.get(ve.depthTexture).__webglTexture, + ); + else if (ve.depthBuffer) { + let Qn = ve.depthTexture; + if (fn.__boundDepthTexture !== Qn) { + if ( + Qn !== null && + we.has(Qn) && + (ve.width !== Qn.image.width || ve.height !== Qn.image.height) + ) + throw Error( + "THREE.WebGLRenderer: Attached DepthTexture is initialized to the incorrect size.", + ); + ze.setupDepthRenderbuffer(ve); + } + } + let wn = ve.texture; + if ( + wn.isData3DTexture || + wn.isDataArrayTexture || + wn.isCompressedArrayTexture + ) + nn = !0; + let Qt = we.get(ve).__webglFramebuffer; + if (ve.isWebGLCubeRenderTarget) { + if (Array.isArray(Qt[et])) st = Qt[et][ht]; + else st = Qt[et]; + lt = !0; + } else if (ve.samples > 0 && ze.useMultisampledRTT(ve) === !1) + st = we.get(ve).__webglMultisampledFramebuffer; + else if (Array.isArray(Qt)) st = Qt[ht]; + else st = Qt; + (H.copy(ve.viewport), te.copy(ve.scissor), (ie = ve.scissorTest)); + } else + (H.copy(fe).multiplyScalar(ae).floor(), + te.copy(Ae).multiplyScalar(ae).floor(), + (ie = Ee)); + if (ht !== 0) st = B; + if (ee.bindFramebuffer(se.FRAMEBUFFER, st)) ee.drawBuffers(ve, st); + if ((ee.viewport(H), ee.scissor(te), ee.setScissorTest(ie), lt)) { + let fn = we.get(ve.texture); + se.framebufferTexture2D( + se.FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + se.TEXTURE_CUBE_MAP_POSITIVE_X + et, + fn.__webglTexture, + ht, + ); + } else if (nn) { + let fn = et; + for (let wn = 0; wn < ve.textures.length; wn++) { + let Qt = we.get(ve.textures[wn]); + se.framebufferTextureLayer( + se.FRAMEBUFFER, + se.COLOR_ATTACHMENT0 + wn, + Qt.__webglTexture, + ht, + fn, + ); + } + } else if (ve !== null && ht !== 0) { + let fn = we.get(ve.texture); + se.framebufferTexture2D( + se.FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + se.TEXTURE_2D, + fn.__webglTexture, + ht, + ); + } + Z = -1; + })); + function zi(ve) { + let et = we.get(ve); + if (et.__readFormat !== ve.format || et.__readType !== ve.type) + ((et.__readFormat = ve.format), + (et.__readType = ve.type), + (et.__formatReadable = Qe.textureFormatReadable(ve.format)), + (et.__typeReadable = Qe.textureTypeReadable(ve.type))); + return et; + } + if ( + ((this.readRenderTargetPixels = function ( + ve, + et, + ht, + st, + lt, + nn, + dn, + fn = 0, + ) { + if (!(ve && ve.isWebGLRenderTarget)) { + wr( + "WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.", + ); + return; + } + let wn = we.get(ve).__webglFramebuffer; + if (ve.isWebGLCubeRenderTarget && dn !== void 0) wn = wn[dn]; + if (wn) { + ee.bindFramebuffer(se.FRAMEBUFFER, wn); + try { + let Qt = ve.textures[fn], + { format: Qn, type: fr } = Qt; + if (ve.textures.length > 1) + se.readBuffer(se.COLOR_ATTACHMENT0 + fn); + let hn = zi(Qt); + if (hn.__formatReadable === !1) { + wr( + "WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.", + ); + return; + } + if (hn.__typeReadable === !1) { + wr( + "WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.", + ); + return; + } + if ( + et >= 0 && + et <= ve.width - st && + ht >= 0 && + ht <= ve.height - lt + ) + se.readPixels(et, ht, st, lt, _e.convert(Qn), _e.convert(fr), nn); + } finally { + let Qt = G !== null ? we.get(G).__webglFramebuffer : null; + ee.bindFramebuffer(se.FRAMEBUFFER, Qt); + } + } + }), + (this.readRenderTargetPixelsAsync = async function ( + ve, + et, + ht, + st, + lt, + nn, + dn, + fn = 0, + ) { + if (!(ve && ve.isWebGLRenderTarget)) + throw Error( + "THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.", + ); + let wn = we.get(ve).__webglFramebuffer; + if (ve.isWebGLCubeRenderTarget && dn !== void 0) wn = wn[dn]; + if (wn) + if ( + et >= 0 && + et <= ve.width - st && + ht >= 0 && + ht <= ve.height - lt + ) { + ee.bindFramebuffer(se.FRAMEBUFFER, wn); + let Qt = ve.textures[fn], + { format: Qn, type: fr } = Qt; + if (ve.textures.length > 1) + se.readBuffer(se.COLOR_ATTACHMENT0 + fn); + let hn = zi(Qt); + if (hn.__formatReadable === !1) + throw Error( + "THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.", + ); + if (hn.__typeReadable === !1) + throw Error( + "THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.", + ); + let nr = se.createBuffer(); + (se.bindBuffer(se.PIXEL_PACK_BUFFER, nr), + se.bufferData( + se.PIXEL_PACK_BUFFER, + nn.byteLength, + se.STREAM_READ, + ), + se.readPixels(et, ht, st, lt, _e.convert(Qn), _e.convert(fr), 0), + se.bindBuffer(se.PIXEL_PACK_BUFFER, null)); + let la = G !== null ? we.get(G).__webglFramebuffer : null; + ee.bindFramebuffer(se.FRAMEBUFFER, la); + let ir = se.fenceSync(se.SYNC_GPU_COMMANDS_COMPLETE, 0); + return ( + se.flush(), + await Hhn(se, ir, 4), + se.bindBuffer(se.PIXEL_PACK_BUFFER, nr), + se.getBufferSubData(se.PIXEL_PACK_BUFFER, 0, nn), + se.bindBuffer(se.PIXEL_PACK_BUFFER, null), + se.deleteBuffer(nr), + se.deleteSync(ir), + nn + ); + } else + throw Error( + "THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.", + ); + }), + (this.copyFramebufferToTexture = function (ve, et = null, ht = 0) { + let st = Math.pow(2, -ht), + lt = Math.floor(ve.image.width * st), + nn = Math.floor(ve.image.height * st), + dn = et !== null ? et.x : 0, + fn = et !== null ? et.y : 0; + (ze.setTexture2D(ve, 0), + se.copyTexSubImage2D(se.TEXTURE_2D, ht, 0, 0, dn, fn, lt, nn), + ee.unbindTexture()); + }), + (this.copyTextureToTexture = function ( + ve, + et, + ht = null, + st = null, + lt = 0, + nn = 0, + ) { + let dn, + fn, + wn, + Qt, + Qn, + fr, + hn, + nr, + la, + ir = ve.isCompressedTexture ? ve.mipmaps[nn] : ve.image; + if (ht !== null) + ((dn = ht.max.x - ht.min.x), + (fn = ht.max.y - ht.min.y), + (wn = ht.isBox3 ? ht.max.z - ht.min.z : 1), + (Qt = ht.min.x), + (Qn = ht.min.y), + (fr = ht.isBox3 ? ht.min.z : 0)); + else { + let ta = Math.pow(2, -lt); + if ( + ((dn = Math.floor(ir.width * ta)), + (fn = Math.floor(ir.height * ta)), + ve.isDataArrayTexture) + ) + wn = ir.depth; + else if (ve.isData3DTexture) wn = Math.floor(ir.depth * ta); + else wn = 1; + ((Qt = 0), (Qn = 0), (fr = 0)); + } + if (st !== null) ((hn = st.x), (nr = st.y), (la = st.z)); + else ((hn = 0), (nr = 0), (la = 0)); + let Or = _e.convert(et.format), + _a = _e.convert(et.type), + kn; + if (et.isData3DTexture) (ze.setTexture3D(et, 0), (kn = se.TEXTURE_3D)); + else if (et.isDataArrayTexture || et.isCompressedArrayTexture) + (ze.setTexture2DArray(et, 0), (kn = se.TEXTURE_2D_ARRAY)); + else (ze.setTexture2D(et, 0), (kn = se.TEXTURE_2D)); + (ee.activeTexture(se.TEXTURE0), + ee.pixelStorei(se.UNPACK_FLIP_Y_WEBGL, et.flipY), + ee.pixelStorei( + se.UNPACK_PREMULTIPLY_ALPHA_WEBGL, + et.premultiplyAlpha, + ), + ee.pixelStorei(se.UNPACK_ALIGNMENT, et.unpackAlignment)); + let ps = ee.getParameter(se.UNPACK_ROW_LENGTH), + uo = ee.getParameter(se.UNPACK_IMAGE_HEIGHT), + fs = ee.getParameter(se.UNPACK_SKIP_PIXELS), + ea = ee.getParameter(se.UNPACK_SKIP_ROWS), + no = ee.getParameter(se.UNPACK_SKIP_IMAGES); + (ee.pixelStorei(se.UNPACK_ROW_LENGTH, ir.width), + ee.pixelStorei(se.UNPACK_IMAGE_HEIGHT, ir.height), + ee.pixelStorei(se.UNPACK_SKIP_PIXELS, Qt), + ee.pixelStorei(se.UNPACK_SKIP_ROWS, Qn), + ee.pixelStorei(se.UNPACK_SKIP_IMAGES, fr)); + let zd = ve.isDataArrayTexture || ve.isData3DTexture, + ho = et.isDataArrayTexture || et.isData3DTexture; + if (ve.isDepthTexture) { + let ta = we.get(ve), + rc = we.get(et), + ro = we.get(ta.__renderTarget), + al = we.get(rc.__renderTarget); + (ee.bindFramebuffer(se.READ_FRAMEBUFFER, ro.__webglFramebuffer), + ee.bindFramebuffer(se.DRAW_FRAMEBUFFER, al.__webglFramebuffer)); + for (let $a = 0; $a < wn; $a++) { + if (zd) + (se.framebufferTextureLayer( + se.READ_FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + we.get(ve).__webglTexture, + lt, + fr + $a, + ), + se.framebufferTextureLayer( + se.DRAW_FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + we.get(et).__webglTexture, + nn, + la + $a, + )); + se.blitFramebuffer( + Qt, + Qn, + dn, + fn, + hn, + nr, + dn, + fn, + se.DEPTH_BUFFER_BIT, + se.NEAREST, + ); + } + (ee.bindFramebuffer(se.READ_FRAMEBUFFER, null), + ee.bindFramebuffer(se.DRAW_FRAMEBUFFER, null)); + } else if (lt !== 0 || ve.isRenderTargetTexture || we.has(ve)) { + let ta = we.get(ve), + rc = we.get(et); + (ee.bindFramebuffer(se.READ_FRAMEBUFFER, U), + ee.bindFramebuffer(se.DRAW_FRAMEBUFFER, D)); + for (let ro = 0; ro < wn; ro++) { + if (zd) + se.framebufferTextureLayer( + se.READ_FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + ta.__webglTexture, + lt, + fr + ro, + ); + else + se.framebufferTexture2D( + se.READ_FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + se.TEXTURE_2D, + ta.__webglTexture, + lt, + ); + if (ho) + se.framebufferTextureLayer( + se.DRAW_FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + rc.__webglTexture, + nn, + la + ro, + ); + else + se.framebufferTexture2D( + se.DRAW_FRAMEBUFFER, + se.COLOR_ATTACHMENT0, + se.TEXTURE_2D, + rc.__webglTexture, + nn, + ); + if (lt !== 0) + se.blitFramebuffer( + Qt, + Qn, + dn, + fn, + hn, + nr, + dn, + fn, + se.COLOR_BUFFER_BIT, + se.NEAREST, + ); + else if (ho) + se.copyTexSubImage3D(kn, nn, hn, nr, la + ro, Qt, Qn, dn, fn); + else se.copyTexSubImage2D(kn, nn, hn, nr, Qt, Qn, dn, fn); + } + (ee.bindFramebuffer(se.READ_FRAMEBUFFER, null), + ee.bindFramebuffer(se.DRAW_FRAMEBUFFER, null)); + } else if (ho) + if (ve.isDataTexture || ve.isData3DTexture) + se.texSubImage3D(kn, nn, hn, nr, la, dn, fn, wn, Or, _a, ir.data); + else if (et.isCompressedArrayTexture) + se.compressedTexSubImage3D( + kn, + nn, + hn, + nr, + la, + dn, + fn, + wn, + Or, + ir.data, + ); + else se.texSubImage3D(kn, nn, hn, nr, la, dn, fn, wn, Or, _a, ir); + else if (ve.isDataTexture) + se.texSubImage2D(se.TEXTURE_2D, nn, hn, nr, dn, fn, Or, _a, ir.data); + else if (ve.isCompressedTexture) + se.compressedTexSubImage2D( + se.TEXTURE_2D, + nn, + hn, + nr, + ir.width, + ir.height, + Or, + ir.data, + ); + else se.texSubImage2D(se.TEXTURE_2D, nn, hn, nr, dn, fn, Or, _a, ir); + if ( + (ee.pixelStorei(se.UNPACK_ROW_LENGTH, ps), + ee.pixelStorei(se.UNPACK_IMAGE_HEIGHT, uo), + ee.pixelStorei(se.UNPACK_SKIP_PIXELS, fs), + ee.pixelStorei(se.UNPACK_SKIP_ROWS, ea), + ee.pixelStorei(se.UNPACK_SKIP_IMAGES, no), + nn === 0 && et.generateMipmaps) + ) + se.generateMipmap(kn); + ee.unbindTexture(); + }), + (this.initRenderTarget = function (ve) { + if (we.get(ve).__webglFramebuffer === void 0) ze.setupRenderTarget(ve); + }), + (this.initTexture = function (ve) { + if (ve.isCubeTexture) ze.setTextureCube(ve, 0); + else if (ve.isData3DTexture) ze.setTexture3D(ve, 0); + else if (ve.isDataArrayTexture || ve.isCompressedArrayTexture) + ze.setTexture2DArray(ve, 0); + else ze.setTexture2D(ve, 0); + ee.unbindTexture(); + }), + (this.resetState = function () { + ((N = 0), (_ = 0), (G = null), ee.reset(), nt.reset()); + }), + typeof __THREE_DEVTOOLS__ < "u") + ) + __THREE_DEVTOOLS__.dispatchEvent( + new CustomEvent("observe", { detail: this }), + ); + } + get coordinateSystem() { + return P0e; + } + get outputColorSpace() { + return this._outputColorSpace; + } + set outputColorSpace(e) { + this._outputColorSpace = e; + let t = this.getContext(); + ((t.drawingBufferColorSpace = jo._getDrawingBufferColorSpace(e)), + (t.unpackColorSpace = jo._getUnpackColorSpace())); + } +} +var O9r = `#ifdef USE_ALPHAHASH if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard; -#endif`,F9r=`#ifdef USE_ALPHAHASH +#endif`, + F9r = `#ifdef USE_ALPHAHASH const float ALPHA_HASH_SCALE = 0.05; float hash2D( vec2 value ) { return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) ); @@ -1338,20 +175621,25 @@ Program Info Log: `+N+` : cases.z; return clamp( threshold , 1.0e-6, 1.0 ); } -#endif`,U9r=`#ifdef USE_ALPHAMAP +#endif`, + U9r = `#ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g; -#endif`,N9r=`#ifdef USE_ALPHAMAP +#endif`, + N9r = `#ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,z9r=`#ifdef USE_ALPHATEST +#endif`, + z9r = `#ifdef USE_ALPHATEST #ifdef ALPHA_TO_COVERAGE diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a ); if ( diffuseColor.a == 0.0 ) discard; #else if ( diffuseColor.a < alphaTest ) discard; #endif -#endif`,_9r=`#ifdef USE_ALPHATEST +#endif`, + _9r = `#ifdef USE_ALPHATEST uniform float alphaTest; -#endif`,H9r=`#ifdef USE_AOMAP +#endif`, + H9r = `#ifdef USE_AOMAP float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0; reflectedLight.indirectDiffuse *= ambientOcclusion; #if defined( USE_CLEARCOAT ) @@ -1364,10 +175652,12 @@ Program Info Log: `+N+` float dotNV = saturate( dot( geometryNormal, geometryViewDir ) ); reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness ); #endif -#endif`,V9r=`#ifdef USE_AOMAP +#endif`, + V9r = `#ifdef USE_AOMAP uniform sampler2D aoMap; uniform float aoMapIntensity; -#endif`,G9r=`#ifdef USE_BATCHING +#endif`, + G9r = `#ifdef USE_BATCHING #if ! defined( GL_ANGLE_multi_draw ) #define gl_DrawID _gl_DrawID uniform int _gl_DrawID; @@ -1401,15 +175691,19 @@ Program Info Log: `+N+` int y = j / size; return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ); } -#endif`,q9r=`#ifdef USE_BATCHING +#endif`, + q9r = `#ifdef USE_BATCHING mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) ); -#endif`,Z9r=`vec3 transformed = vec3( position ); +#endif`, + Z9r = `vec3 transformed = vec3( position ); #ifdef USE_ALPHAHASH vPosition = vec3( position ); -#endif`,Q9r=`vec3 objectNormal = vec3( normal ); +#endif`, + Q9r = `vec3 objectNormal = vec3( normal ); #ifdef USE_TANGENT vec3 objectTangent = vec3( tangent.xyz ); -#endif`,X9r=`float G_BlinnPhong_Implicit( ) { +#endif`, + X9r = `float G_BlinnPhong_Implicit( ) { return 0.25; } float D_BlinnPhong( const in float shininess, const in float dotNH ) { @@ -1423,7 +175717,8 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve float G = G_BlinnPhong_Implicit( ); float D = D_BlinnPhong( shininess, dotNH ); return F * ( G * D ); -} // validated`,W9r=`#ifdef USE_IRIDESCENCE +} // validated`, + W9r = `#ifdef USE_IRIDESCENCE const mat3 XYZ_TO_REC709 = mat3( 3.2404542, -0.9692660, 0.0556434, -1.5371385, 1.8760108, -0.2040259, @@ -1486,7 +175781,8 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve } return max( I, vec3( 0.0 ) ); } -#endif`,Y9r=`#ifdef USE_BUMPMAP +#endif`, + Y9r = `#ifdef USE_BUMPMAP uniform sampler2D bumpMap; uniform float bumpScale; vec2 dHdxy_fwd() { @@ -1507,7 +175803,8 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 ); return normalize( abs( fDet ) * surf_norm - vGrad ); } -#endif`,K9r=`#if NUM_CLIPPING_PLANES > 0 +#endif`, + K9r = `#if NUM_CLIPPING_PLANES > 0 vec4 plane; #ifdef ALPHA_TO_COVERAGE float distanceToPlane, distanceGradient; @@ -1553,20 +175850,27 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve if ( clipped ) discard; #endif #endif -#endif`,J9r=`#if NUM_CLIPPING_PLANES > 0 +#endif`, + J9r = `#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,j9r=`#if NUM_CLIPPING_PLANES > 0 +#endif`, + j9r = `#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; -#endif`,$9r=`#if NUM_CLIPPING_PLANES > 0 +#endif`, + $9r = `#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,eMr=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) +#endif`, + eMr = `#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; -#endif`,tMr=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) +#endif`, + tMr = `#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) varying vec4 vColor; -#endif`,nMr=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) +#endif`, + nMr = `#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) varying vec4 vColor; -#endif`,rMr=`#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) +#endif`, + rMr = `#if defined( USE_COLOR ) || defined( USE_COLOR_ALPHA ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) vColor = vec4( 1.0 ); #endif #ifdef USE_COLOR_ALPHA @@ -1579,7 +175883,8 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_BATCHING_COLOR vColor *= getBatchingColor( getIndirectIndex( gl_DrawID ) ); -#endif`,oMr=`#define PI 3.141592653589793 +#endif`, + oMr = `#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -1650,7 +175955,8 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,aMr=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`, + aMr = `#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -1743,7 +176049,8 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,iMr=`vec3 transformedNormal = objectNormal; +#endif`, + iMr = `vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -1769,21 +176076,27 @@ transformedNormal = normalMatrix * transformedNormal; #endif #ifdef USE_TANGENT transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; -#endif`,sMr=`#ifdef USE_DISPLACEMENTMAP +#endif`, + sMr = `#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,lMr=`#ifdef USE_DISPLACEMENTMAP +#endif`, + lMr = `#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,cMr=`#ifdef USE_EMISSIVEMAP +#endif`, + cMr = `#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE emissiveColor = sRGBTransferEOTF( emissiveColor ); #endif totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,uMr=`#ifdef USE_EMISSIVEMAP +#endif`, + uMr = `#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,dMr="gl_FragColor = linearToOutputTexel( gl_FragColor );",pMr=`vec4 LinearTransferOETF( in vec4 value ) { +#endif`, + dMr = "gl_FragColor = linearToOutputTexel( gl_FragColor );", + pMr = `vec4 LinearTransferOETF( in vec4 value ) { return value; } vec4 sRGBTransferEOTF( in vec4 value ) { @@ -1791,7 +176104,8 @@ vec4 sRGBTransferEOTF( in vec4 value ) { } vec4 sRGBTransferOETF( in vec4 value ) { return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); -}`,fMr=`#ifdef USE_ENVMAP +}`, + fMr = `#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -1818,7 +176132,8 @@ vec4 sRGBTransferOETF( in vec4 value ) { outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif #endif -#endif`,mMr=`#ifdef USE_ENVMAP +#endif`, + mMr = `#ifdef USE_ENVMAP uniform float envMapIntensity; uniform mat3 envMapRotation; #ifdef ENVMAP_TYPE_CUBE @@ -1826,7 +176141,8 @@ vec4 sRGBTransferOETF( in vec4 value ) { #else uniform sampler2D envMap; #endif -#endif`,hMr=`#ifdef USE_ENVMAP +#endif`, + hMr = `#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -1837,7 +176153,8 @@ vec4 sRGBTransferOETF( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,gMr=`#ifdef USE_ENVMAP +#endif`, + gMr = `#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -1848,7 +176165,8 @@ vec4 sRGBTransferOETF( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,yMr=`#ifdef USE_ENVMAP +#endif`, + yMr = `#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -1865,18 +176183,22 @@ vec4 sRGBTransferOETF( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,vMr=`#ifdef USE_FOG +#endif`, + vMr = `#ifdef USE_FOG vFogDepth = - mvPosition.z; -#endif`,bMr=`#ifdef USE_FOG +#endif`, + bMr = `#ifdef USE_FOG varying float vFogDepth; -#endif`,xMr=`#ifdef USE_FOG +#endif`, + xMr = `#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,AMr=`#ifdef USE_FOG +#endif`, + AMr = `#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -1885,7 +176207,8 @@ vec4 sRGBTransferOETF( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,wMr=`#ifdef USE_GRADIENTMAP +#endif`, + wMr = `#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -1897,12 +176220,15 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { vec2 fw = fwidth( coord ) * 0.5; return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); #endif -}`,SMr=`#ifdef USE_LIGHTMAP +}`, + SMr = `#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,CMr=`LambertMaterial material; +#endif`, + CMr = `LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,EMr=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`, + EMr = `varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -1916,7 +176242,8 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,IMr=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`, + IMr = `uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -2045,7 +176372,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi return irradiance; } #endif -#include `,TMr=`#ifdef USE_ENVMAP +#include `, + TMr = `#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = transformNormalByInverseViewMatrix( normal, viewMatrix ); @@ -2102,8 +176430,10 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi } #endif #endif -#endif`,kMr=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,RMr=`varying vec3 vViewPosition; +#endif`, + kMr = `ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`, + RMr = `varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -2115,11 +176445,13 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,PMr=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`, + PMr = `BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,MMr=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`, + MMr = `varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -2136,7 +176468,8 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,DMr=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`, + DMr = `PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb; material.diffuseContribution = diffuseColor.rgb * ( 1.0 - metalnessFactor ); material.metalness = metalnessFactor; @@ -2229,7 +176562,8 @@ material.roughness = min( material.roughness, 1.0 ); material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,LMr=`uniform sampler2D dfgLUT; +#endif`, + LMr = `uniform sampler2D dfgLUT; struct PhysicalMaterial { vec3 diffuseColor; vec3 diffuseContribution; @@ -2596,7 +176930,8 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,BMr=` +}`, + BMr = ` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -2744,7 +177079,8 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,OMr=`#if defined( RE_IndirectDiffuse ) +#endif`, + OMr = `#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -2774,7 +177110,8 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,FMr=`#if defined( RE_IndirectDiffuse ) +#endif`, + FMr = `#if defined( RE_IndirectDiffuse ) #if defined( LAMBERT ) || defined( PHONG ) irradiance += iblIrradiance; #endif @@ -2782,7 +177119,8 @@ IncidentLight directLight; #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,UMr=`#ifdef USE_LIGHT_PROBES_GRID +#endif`, + UMr = `#ifdef USE_LIGHT_PROBES_GRID uniform highp sampler3D probesSH; uniform vec3 probesMin; uniform vec3 probesMax; @@ -2827,27 +177165,34 @@ vec3 getLightProbeGridIrradiance( vec3 worldPos, vec3 worldNormal ) { result += c8 * 0.429043 * ( x * x - y * y ); return max( result, vec3( 0.0 ) ); } -#endif`,NMr=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) +#endif`, + NMr = `#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,zMr=`#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) +#endif`, + zMr = `#if defined( USE_LOGARITHMIC_DEPTH_BUFFER ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,_Mr=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER +#endif`, + _Mr = `#ifdef USE_LOGARITHMIC_DEPTH_BUFFER varying float vFragDepth; varying float vIsPerspective; -#endif`,HMr=`#ifdef USE_LOGARITHMIC_DEPTH_BUFFER +#endif`, + HMr = `#ifdef USE_LOGARITHMIC_DEPTH_BUFFER vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); -#endif`,VMr=`#ifdef USE_MAP +#endif`, + VMr = `#ifdef USE_MAP vec4 sampledDiffuseColor = texture2D( map, vMapUv ); #ifdef DECODE_VIDEO_TEXTURE sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); #endif diffuseColor *= sampledDiffuseColor; -#endif`,GMr=`#ifdef USE_MAP +#endif`, + GMr = `#ifdef USE_MAP uniform sampler2D map; -#endif`,qMr=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`, + qMr = `#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -2859,7 +177204,8 @@ vec3 getLightProbeGridIrradiance( vec3 worldPos, vec3 worldNormal ) { #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,ZMr=`#if defined( USE_POINTS_UV ) +#endif`, + ZMr = `#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -2871,19 +177217,23 @@ vec3 getLightProbeGridIrradiance( vec3 worldPos, vec3 worldNormal ) { #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,QMr=`float metalnessFactor = metalness; +#endif`, + QMr = `float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,XMr=`#ifdef USE_METALNESSMAP +#endif`, + XMr = `#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,WMr=`#ifdef USE_INSTANCING_MORPH +#endif`, + WMr = `#ifdef USE_INSTANCING_MORPH float morphTargetInfluences[ MORPHTARGETS_COUNT ]; float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; } -#endif`,YMr=`#if defined( USE_MORPHCOLORS ) +#endif`, + YMr = `#if defined( USE_MORPHCOLORS ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -2892,12 +177242,14 @@ vec3 getLightProbeGridIrradiance( vec3 worldPos, vec3 worldNormal ) { if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,KMr=`#ifdef USE_MORPHNORMALS +#endif`, + KMr = `#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; } -#endif`,JMr=`#ifdef USE_MORPHTARGETS +#endif`, + JMr = `#ifdef USE_MORPHTARGETS #ifndef USE_INSTANCING_MORPH uniform float morphTargetBaseInfluence; uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -2911,12 +177263,14 @@ vec3 getLightProbeGridIrradiance( vec3 worldPos, vec3 worldNormal ) { ivec3 morphUV = ivec3( x, y, morphTargetIndex ); return texelFetch( morphTargetsTexture, morphUV, 0 ); } -#endif`,jMr=`#ifdef USE_MORPHTARGETS +#endif`, + jMr = `#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; } -#endif`,$Mr=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`, + $Mr = `float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -2957,7 +177311,8 @@ vec3 getLightProbeGridIrradiance( vec3 worldPos, vec3 worldNormal ) { tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,eDr=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`, + eDr = `#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -2975,19 +177330,22 @@ vec3 nonPerturbedNormal = normal;`,eDr=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,tDr=`#ifndef FLAT_SHADED +#endif`, + tDr = `#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,nDr=`#ifndef FLAT_SHADED +#endif`, + nDr = `#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,rDr=`#ifndef FLAT_SHADED +#endif`, + rDr = `#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); @@ -2996,7 +177354,8 @@ vec3 nonPerturbedNormal = normal;`,eDr=`#ifdef USE_NORMALMAP_OBJECTSPACE vBitangent = - vBitangent; #endif #endif -#endif`,oDr=`#ifdef USE_NORMALMAP +#endif`, + oDr = `#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -3018,13 +177377,16 @@ vec3 nonPerturbedNormal = normal;`,eDr=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,aDr=`#ifdef USE_CLEARCOAT +#endif`, + aDr = `#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,iDr=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`, + iDr = `#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,sDr=`#ifdef USE_CLEARCOATMAP +#endif`, + sDr = `#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -3033,18 +177395,21 @@ vec3 nonPerturbedNormal = normal;`,eDr=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,lDr=`#ifdef USE_IRIDESCENCEMAP +#endif`, + lDr = `#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,cDr=`#ifdef OPAQUE +#endif`, + cDr = `#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,uDr=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`, + uDr = `vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -3123,9 +177488,11 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const #else return ( near * far ) / ( ( far - near ) * depth - far ); #endif -}`,dDr=`#ifdef PREMULTIPLIED_ALPHA +}`, + dDr = `#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,pDr=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`, + pDr = `vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -3133,22 +177500,27 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`, + fDr = `#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,mDr=`#ifdef DITHERING +#endif`, + mDr = `#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } -#endif`,hDr=`float roughnessFactor = roughness; +#endif`, + hDr = `float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,gDr=`#ifdef USE_ROUGHNESSMAP +#endif`, + gDr = `#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,yDr=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`, + yDr = `#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -3399,7 +177771,8 @@ gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING } #endif #endif -#endif`,vDr=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`, + vDr = `#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -3444,7 +177817,8 @@ gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,bDr=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SUN_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`, + bDr = `#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SUN_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) #ifdef HAS_NORMAL vec3 shadowWorldNormal = transformNormalByInverseViewMatrix( transformedNormal, viewMatrix ); #else @@ -3484,7 +177858,8 @@ gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,xDr=`float getShadowMask() { +#endif`, + xDr = `float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_SUN_LIGHT_SHADOWS > 0 @@ -3525,12 +177900,14 @@ gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING #endif #endif return shadow; -}`,ADr=`#ifdef USE_SKINNING +}`, + ADr = `#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,wDr=`#ifdef USE_SKINNING +#endif`, + wDr = `#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -3545,7 +177922,8 @@ gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,SDr=`#ifdef USE_SKINNING +#endif`, + SDr = `#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -3553,7 +177931,8 @@ gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,CDr=`#ifdef USE_SKINNING +#endif`, + CDr = `#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -3564,17 +177943,21 @@ gl_Position = projectionMatrix * mvPosition;`,fDr=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,EDr=`float specularStrength; +#endif`, + EDr = `float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,IDr=`#ifdef USE_SPECULARMAP +#endif`, + IDr = `#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,TDr=`#if defined( TONE_MAPPING ) +#endif`, + TDr = `#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,kDr=`#ifndef saturate +#endif`, + kDr = `#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -3671,7 +178054,8 @@ vec3 NeutralToneMapping( vec3 color ) { float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); return mix( color, vec3( newPeak ), g ); } -vec3 CustomToneMapping( vec3 color ) { return color; }`,RDr=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`, + RDr = `#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -3692,7 +178076,8 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,RDr=`#ifdef USE_TRANSMIS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,PDr=`#ifdef USE_TRANSMISSION +#endif`, + PDr = `#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -3818,7 +178203,8 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,RDr=`#ifdef USE_TRANSMIS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,MDr=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`, + MDr = `#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -3888,7 +178274,8 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,RDr=`#ifdef USE_TRANSMIS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,DDr=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`, + DDr = `#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -3982,7 +178369,8 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,RDr=`#ifdef USE_TRANSMIS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,LDr=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`, + LDr = `#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -4053,7 +178441,8 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,RDr=`#ifdef USE_TRANSMIS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,BDr=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`, + BDr = `#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING worldPosition = batchingMatrix * worldPosition; @@ -4062,12 +178451,14 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,RDr=`#ifdef USE_TRANSMIS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`,ODr=`varying vec2 vUv; +#endif`, + ODr = `varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,FDr=`uniform sampler2D t2D; +}`, + FDr = `uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -4079,14 +178470,16 @@ void main() { gl_FragColor = texColor; #include #include -}`,UDr=`varying vec3 vWorldDirection; +}`, + UDr = `varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,NDr=`#ifdef ENVMAP_TYPE_CUBE +}`, + NDr = `#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -4108,14 +178501,16 @@ void main() { gl_FragColor = texColor; #include #include -}`,zDr=`varying vec3 vWorldDirection; +}`, + zDr = `varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,_Dr=`uniform samplerCube tCube; +}`, + _Dr = `uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -4125,7 +178520,8 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,HDr=`#include +}`, + HDr = `#include #include #include #include @@ -4152,7 +178548,8 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,VDr=`#if DEPTH_PACKING == 3200 +}`, + VDr = `#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -4190,7 +178587,8 @@ void main() { #elif DEPTH_PACKING == 3203 gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 ); #endif -}`,GDr=`#define DISTANCE +}`, + GDr = `#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -4217,7 +178615,8 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,qDr=`#define DISTANCE +}`, + qDr = `#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -4240,13 +178639,15 @@ void main() { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = vec4( dist, 0.0, 0.0, 1.0 ); -}`,ZDr=`varying vec3 vWorldDirection; +}`, + ZDr = `varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,QDr=`uniform sampler2D tEquirect; +}`, + QDr = `uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -4255,7 +178656,8 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,XDr=`uniform float scale; +}`, + XDr = `uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -4277,7 +178679,8 @@ void main() { #include #include #include -}`,WDr=`uniform vec3 diffuse; +}`, + WDr = `uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -4305,7 +178708,8 @@ void main() { #include #include #include -}`,YDr=`#include +}`, + YDr = `#include #include #include #include @@ -4337,7 +178741,8 @@ void main() { #include #include #include -}`,KDr=`uniform vec3 diffuse; +}`, + KDr = `uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -4385,7 +178790,8 @@ void main() { #include #include #include -}`,JDr=`#define LAMBERT +}`, + JDr = `#define LAMBERT varying vec3 vViewPosition; #include #include @@ -4424,7 +178830,8 @@ void main() { #include #include #include -}`,jDr=`#define LAMBERT +}`, + jDr = `#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -4482,7 +178889,8 @@ void main() { #include #include #include -}`,$Dr=`#define MATCAP +}`, + $Dr = `#define MATCAP varying vec3 vViewPosition; #include #include @@ -4516,7 +178924,8 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,eLr=`#define MATCAP +}`, + eLr = `#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -4562,7 +178971,8 @@ void main() { #include #include #include -}`,tLr=`#define NORMAL +}`, + tLr = `#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -4595,7 +179005,8 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,nLr=`#define NORMAL +}`, + nLr = `#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -4616,7 +179027,8 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,rLr=`#define PHONG +}`, + rLr = `#define PHONG varying vec3 vViewPosition; #include #include @@ -4655,7 +179067,8 @@ void main() { #include #include #include -}`,oLr=`#define PHONG +}`, + oLr = `#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -4715,7 +179128,8 @@ void main() { #include #include #include -}`,aLr=`#define STANDARD +}`, + aLr = `#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -4758,7 +179172,8 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,iLr=`#define STANDARD +}`, + iLr = `#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -4886,7 +179301,8 @@ void main() { #include #include #include -}`,sLr=`#define TOON +}`, + sLr = `#define TOON varying vec3 vViewPosition; #include #include @@ -4923,7 +179339,8 @@ void main() { #include #include #include -}`,lLr=`#define TOON +}`, + lLr = `#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -4975,7 +179392,8 @@ void main() { #include #include #include -}`,cLr=`uniform float size; +}`, + cLr = `uniform float size; uniform float scale; #include #include @@ -5006,7 +179424,8 @@ void main() { #include #include #include -}`,uLr=`uniform vec3 diffuse; +}`, + uLr = `uniform vec3 diffuse; uniform float opacity; #include #include @@ -5031,7 +179450,8 @@ void main() { #include #include #include -}`,dLr=`#include +}`, + dLr = `#include #include #include #include @@ -5054,7 +179474,8 @@ void main() { #include #include #include -}`,pLr=`uniform vec3 color; +}`, + pLr = `uniform vec3 color; uniform float opacity; #include #include @@ -5070,7 +179491,8 @@ void main() { #include #include #include -}`,fLr=`uniform float rotation; +}`, + fLr = `uniform float rotation; uniform vec2 center; #include #include @@ -5094,7 +179516,8 @@ void main() { #include #include #include -}`,mLr=`uniform vec3 diffuse; +}`, + mLr = `uniform vec3 diffuse; uniform float opacity; #include #include @@ -5119,9 +179542,56 @@ void main() { #include #include #include -}`,qo,Gn,Pv,Cge,hLr,k0n,nO=4,ALr=6,wLr=20,SLr=256,xW,i0n,gVe=null,yVe=0,vVe=0,bVe=!1,CLr,B7,kge,OLr,R0n,wVe,P0n,M0n,D0n,u0n,d0n,p0n,f0n,m0n,xVe,CBr=37297,EBr=0,y0n,RBr,Ege,OBr,FBr,NBr,_Br,VBr,qBr,QBr,KBr=0,oOr=0,lOr=`void main() { +}`, + qo, + Gn, + Pv, + Cge, + hLr, + k0n, + nO = 4, + ALr = 6, + wLr = 20, + SLr = 256, + xW, + i0n, + gVe = null, + yVe = 0, + vVe = 0, + bVe = !1, + CLr, + B7, + kge, + OLr, + R0n, + wVe, + P0n, + M0n, + D0n, + u0n, + d0n, + p0n, + f0n, + m0n, + xVe, + CBr = 37297, + EBr = 0, + y0n, + RBr, + Ege, + OBr, + FBr, + NBr, + _Br, + VBr, + qBr, + QBr, + KBr = 0, + oOr = 0, + lOr = `void main() { gl_Position = vec4( position, 1.0 ); -}`,cOr=`uniform sampler2D shadow_pass; +}`, + cOr = `uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; void main() { @@ -5146,12 +179616,19 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( max( 0.0, squared_mean - mean * mean ) ); gl_FragColor = vec4( mean, std_dev, 0.0, 1.0 ); -}`,uOr,dOr,I0n,AW,AVe,hOr=` +}`, + uOr, + dOr, + I0n, + AW, + AVe, + hOr = ` void main() { gl_Position = vec4( position, 1.0 ); -}`,gOr=` +}`, + gOr = ` uniform sampler2DArray depthColor; uniform float depthWidth; uniform float depthHeight; @@ -5170,7 +179647,614 @@ void main() { } -}`,z0n,yOr,_0n,xOr,iA=null;var O7=P(()=>{hVe();hVe();qo={alphahash_fragment:O9r,alphahash_pars_fragment:F9r,alphamap_fragment:U9r,alphamap_pars_fragment:N9r,alphatest_fragment:z9r,alphatest_pars_fragment:_9r,aomap_fragment:H9r,aomap_pars_fragment:V9r,batching_pars_vertex:G9r,batching_vertex:q9r,begin_vertex:Z9r,beginnormal_vertex:Q9r,bsdfs:X9r,iridescence_fragment:W9r,bumpmap_pars_fragment:Y9r,clipping_planes_fragment:K9r,clipping_planes_pars_fragment:J9r,clipping_planes_pars_vertex:j9r,clipping_planes_vertex:$9r,color_fragment:eMr,color_pars_fragment:tMr,color_pars_vertex:nMr,color_vertex:rMr,common:oMr,cube_uv_reflection_fragment:aMr,defaultnormal_vertex:iMr,displacementmap_pars_vertex:sMr,displacementmap_vertex:lMr,emissivemap_fragment:cMr,emissivemap_pars_fragment:uMr,colorspace_fragment:dMr,colorspace_pars_fragment:pMr,envmap_fragment:fMr,envmap_common_pars_fragment:mMr,envmap_pars_fragment:hMr,envmap_pars_vertex:gMr,envmap_physical_pars_fragment:TMr,envmap_vertex:yMr,fog_vertex:vMr,fog_pars_vertex:bMr,fog_fragment:xMr,fog_pars_fragment:AMr,gradientmap_pars_fragment:wMr,lightmap_pars_fragment:SMr,lights_lambert_fragment:CMr,lights_lambert_pars_fragment:EMr,lights_pars_begin:IMr,lights_toon_fragment:kMr,lights_toon_pars_fragment:RMr,lights_phong_fragment:PMr,lights_phong_pars_fragment:MMr,lights_physical_fragment:DMr,lights_physical_pars_fragment:LMr,lights_fragment_begin:BMr,lights_fragment_maps:OMr,lights_fragment_end:FMr,lightprobes_pars_fragment:UMr,logdepthbuf_fragment:NMr,logdepthbuf_pars_fragment:zMr,logdepthbuf_pars_vertex:_Mr,logdepthbuf_vertex:HMr,map_fragment:VMr,map_pars_fragment:GMr,map_particle_fragment:qMr,map_particle_pars_fragment:ZMr,metalnessmap_fragment:QMr,metalnessmap_pars_fragment:XMr,morphinstance_vertex:WMr,morphcolor_vertex:YMr,morphnormal_vertex:KMr,morphtarget_pars_vertex:JMr,morphtarget_vertex:jMr,normal_fragment_begin:$Mr,normal_fragment_maps:eDr,normal_pars_fragment:tDr,normal_pars_vertex:nDr,normal_vertex:rDr,normalmap_pars_fragment:oDr,clearcoat_normal_fragment_begin:aDr,clearcoat_normal_fragment_maps:iDr,clearcoat_pars_fragment:sDr,iridescence_pars_fragment:lDr,opaque_fragment:cDr,packing:uDr,premultiplied_alpha_fragment:dDr,project_vertex:pDr,dithering_fragment:fDr,dithering_pars_fragment:mDr,roughnessmap_fragment:hDr,roughnessmap_pars_fragment:gDr,shadowmap_pars_fragment:yDr,shadowmap_pars_vertex:vDr,shadowmap_vertex:bDr,shadowmask_pars_fragment:xDr,skinbase_vertex:ADr,skinning_pars_vertex:wDr,skinning_vertex:SDr,skinnormal_vertex:CDr,specularmap_fragment:EDr,specularmap_pars_fragment:IDr,tonemapping_fragment:TDr,tonemapping_pars_fragment:kDr,transmission_fragment:RDr,transmission_pars_fragment:PDr,uv_pars_fragment:MDr,uv_pars_vertex:DDr,uv_vertex:LDr,worldpos_vertex:BDr,background_vert:ODr,background_frag:FDr,backgroundCube_vert:UDr,backgroundCube_frag:NDr,cube_vert:zDr,cube_frag:_Dr,depth_vert:HDr,depth_frag:VDr,distance_vert:GDr,distance_frag:qDr,equirect_vert:ZDr,equirect_frag:QDr,linedashed_vert:XDr,linedashed_frag:WDr,meshbasic_vert:YDr,meshbasic_frag:KDr,meshlambert_vert:JDr,meshlambert_frag:jDr,meshmatcap_vert:$Dr,meshmatcap_frag:eLr,meshnormal_vert:tLr,meshnormal_frag:nLr,meshphong_vert:rLr,meshphong_frag:oLr,meshphysical_vert:aLr,meshphysical_frag:iLr,meshtoon_vert:sLr,meshtoon_frag:lLr,points_vert:cLr,points_frag:uLr,shadow_vert:dLr,shadow_frag:pLr,sprite_vert:fLr,sprite_frag:mLr},Gn={common:{diffuse:{value:new _n(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Ur},alphaMap:{value:null},alphaMapTransform:{value:new Ur},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Ur}},envmap:{envMap:{value:null},envMapRotation:{value:new Ur},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:0.98},dfgLUT:{value:null}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Ur}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Ur}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Ur},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Ur},normalScale:{value:new vt(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Ur},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Ur}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Ur}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Ur}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:0.00025},fogNear:{value:1},fogFar:{value:2000},fogColor:{value:new _n(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},sunLights:{value:[],properties:{direction:{},color:{}}},sunLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},sunShadowMatrix:{value:[]},sunShadowCascade:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null},probesSH:{value:null},probesMin:{value:new he},probesMax:{value:new he},probesResolution:{value:new he}},points:{diffuse:{value:new _n(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Ur},alphaTest:{value:0},uvTransform:{value:new Ur}},sprite:{diffuse:{value:new _n(16777215)},opacity:{value:1},center:{value:new vt(0.5,0.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Ur},alphaMap:{value:null},alphaMapTransform:{value:new Ur},alphaTest:{value:0}}},Pv={basic:{uniforms:Nm([Gn.common,Gn.specularmap,Gn.envmap,Gn.aomap,Gn.lightmap,Gn.fog]),vertexShader:qo.meshbasic_vert,fragmentShader:qo.meshbasic_frag},lambert:{uniforms:Nm([Gn.common,Gn.specularmap,Gn.envmap,Gn.aomap,Gn.lightmap,Gn.emissivemap,Gn.bumpmap,Gn.normalmap,Gn.displacementmap,Gn.fog,Gn.lights,{emissive:{value:new _n(0)},envMapIntensity:{value:1}}]),vertexShader:qo.meshlambert_vert,fragmentShader:qo.meshlambert_frag},phong:{uniforms:Nm([Gn.common,Gn.specularmap,Gn.envmap,Gn.aomap,Gn.lightmap,Gn.emissivemap,Gn.bumpmap,Gn.normalmap,Gn.displacementmap,Gn.fog,Gn.lights,{emissive:{value:new _n(0)},specular:{value:new _n(1118481)},shininess:{value:30},envMapIntensity:{value:1}}]),vertexShader:qo.meshphong_vert,fragmentShader:qo.meshphong_frag},standard:{uniforms:Nm([Gn.common,Gn.envmap,Gn.aomap,Gn.lightmap,Gn.emissivemap,Gn.bumpmap,Gn.normalmap,Gn.displacementmap,Gn.roughnessmap,Gn.metalnessmap,Gn.fog,Gn.lights,{emissive:{value:new _n(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:qo.meshphysical_vert,fragmentShader:qo.meshphysical_frag},toon:{uniforms:Nm([Gn.common,Gn.aomap,Gn.lightmap,Gn.emissivemap,Gn.bumpmap,Gn.normalmap,Gn.displacementmap,Gn.gradientmap,Gn.fog,Gn.lights,{emissive:{value:new _n(0)}}]),vertexShader:qo.meshtoon_vert,fragmentShader:qo.meshtoon_frag},matcap:{uniforms:Nm([Gn.common,Gn.bumpmap,Gn.normalmap,Gn.displacementmap,Gn.fog,{matcap:{value:null}}]),vertexShader:qo.meshmatcap_vert,fragmentShader:qo.meshmatcap_frag},points:{uniforms:Nm([Gn.points,Gn.fog]),vertexShader:qo.points_vert,fragmentShader:qo.points_frag},dashed:{uniforms:Nm([Gn.common,Gn.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:qo.linedashed_vert,fragmentShader:qo.linedashed_frag},depth:{uniforms:Nm([Gn.common,Gn.displacementmap]),vertexShader:qo.depth_vert,fragmentShader:qo.depth_frag},normal:{uniforms:Nm([Gn.common,Gn.bumpmap,Gn.normalmap,Gn.displacementmap,{opacity:{value:1}}]),vertexShader:qo.meshnormal_vert,fragmentShader:qo.meshnormal_frag},sprite:{uniforms:Nm([Gn.sprite,Gn.fog]),vertexShader:qo.sprite_vert,fragmentShader:qo.sprite_frag},background:{uniforms:{uvTransform:{value:new Ur},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:qo.background_vert,fragmentShader:qo.background_frag},backgroundCube:{uniforms:{envMap:{value:null},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Ur}},vertexShader:qo.backgroundCube_vert,fragmentShader:qo.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:qo.cube_vert,fragmentShader:qo.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:qo.equirect_vert,fragmentShader:qo.equirect_frag},distance:{uniforms:Nm([Gn.common,Gn.displacementmap,{referencePosition:{value:new he},nearDistance:{value:1},farDistance:{value:1000}}]),vertexShader:qo.distance_vert,fragmentShader:qo.distance_frag},shadow:{uniforms:Nm([Gn.lights,Gn.fog,{color:{value:new _n(0)},opacity:{value:1}}]),vertexShader:qo.shadow_vert,fragmentShader:qo.shadow_frag}};Pv.physical={uniforms:Nm([Pv.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Ur},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Ur},clearcoatNormalScale:{value:new vt(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Ur},dispersion:{value:0},retroreflectivity:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Ur},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Ur},sheen:{value:0},sheenColor:{value:new _n(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Ur},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Ur},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Ur},transmissionSamplerSize:{value:new vt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Ur},attenuationDistance:{value:0},attenuationColor:{value:new _n(0)},specularColor:{value:new _n(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Ur},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Ur},anisotropyVector:{value:new vt},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Ur}}]),vertexShader:qo.meshphysical_vert,fragmentShader:qo.meshphysical_frag};Cge={r:0,b:0,g:0},hLr=new Vn,k0n=new Ur;k0n.set(-1,0,0,0,1,0,0,0,1);xW=new qy,i0n=new _n,CLr=new he,B7=new he;kge=class kge extends ef{constructor(e=1,t={}){super(e,e,t);this.isWebGLCubeRenderTarget=!0;let n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new M7(r),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={uniforms:{tEquirect:{value:null}},vertexShader:` +}`, + z0n, + yOr, + _0n, + xOr, + iA = null; +var O7 = P(() => { + hVe(); + hVe(); + ((qo = { + alphahash_fragment: O9r, + alphahash_pars_fragment: F9r, + alphamap_fragment: U9r, + alphamap_pars_fragment: N9r, + alphatest_fragment: z9r, + alphatest_pars_fragment: _9r, + aomap_fragment: H9r, + aomap_pars_fragment: V9r, + batching_pars_vertex: G9r, + batching_vertex: q9r, + begin_vertex: Z9r, + beginnormal_vertex: Q9r, + bsdfs: X9r, + iridescence_fragment: W9r, + bumpmap_pars_fragment: Y9r, + clipping_planes_fragment: K9r, + clipping_planes_pars_fragment: J9r, + clipping_planes_pars_vertex: j9r, + clipping_planes_vertex: $9r, + color_fragment: eMr, + color_pars_fragment: tMr, + color_pars_vertex: nMr, + color_vertex: rMr, + common: oMr, + cube_uv_reflection_fragment: aMr, + defaultnormal_vertex: iMr, + displacementmap_pars_vertex: sMr, + displacementmap_vertex: lMr, + emissivemap_fragment: cMr, + emissivemap_pars_fragment: uMr, + colorspace_fragment: dMr, + colorspace_pars_fragment: pMr, + envmap_fragment: fMr, + envmap_common_pars_fragment: mMr, + envmap_pars_fragment: hMr, + envmap_pars_vertex: gMr, + envmap_physical_pars_fragment: TMr, + envmap_vertex: yMr, + fog_vertex: vMr, + fog_pars_vertex: bMr, + fog_fragment: xMr, + fog_pars_fragment: AMr, + gradientmap_pars_fragment: wMr, + lightmap_pars_fragment: SMr, + lights_lambert_fragment: CMr, + lights_lambert_pars_fragment: EMr, + lights_pars_begin: IMr, + lights_toon_fragment: kMr, + lights_toon_pars_fragment: RMr, + lights_phong_fragment: PMr, + lights_phong_pars_fragment: MMr, + lights_physical_fragment: DMr, + lights_physical_pars_fragment: LMr, + lights_fragment_begin: BMr, + lights_fragment_maps: OMr, + lights_fragment_end: FMr, + lightprobes_pars_fragment: UMr, + logdepthbuf_fragment: NMr, + logdepthbuf_pars_fragment: zMr, + logdepthbuf_pars_vertex: _Mr, + logdepthbuf_vertex: HMr, + map_fragment: VMr, + map_pars_fragment: GMr, + map_particle_fragment: qMr, + map_particle_pars_fragment: ZMr, + metalnessmap_fragment: QMr, + metalnessmap_pars_fragment: XMr, + morphinstance_vertex: WMr, + morphcolor_vertex: YMr, + morphnormal_vertex: KMr, + morphtarget_pars_vertex: JMr, + morphtarget_vertex: jMr, + normal_fragment_begin: $Mr, + normal_fragment_maps: eDr, + normal_pars_fragment: tDr, + normal_pars_vertex: nDr, + normal_vertex: rDr, + normalmap_pars_fragment: oDr, + clearcoat_normal_fragment_begin: aDr, + clearcoat_normal_fragment_maps: iDr, + clearcoat_pars_fragment: sDr, + iridescence_pars_fragment: lDr, + opaque_fragment: cDr, + packing: uDr, + premultiplied_alpha_fragment: dDr, + project_vertex: pDr, + dithering_fragment: fDr, + dithering_pars_fragment: mDr, + roughnessmap_fragment: hDr, + roughnessmap_pars_fragment: gDr, + shadowmap_pars_fragment: yDr, + shadowmap_pars_vertex: vDr, + shadowmap_vertex: bDr, + shadowmask_pars_fragment: xDr, + skinbase_vertex: ADr, + skinning_pars_vertex: wDr, + skinning_vertex: SDr, + skinnormal_vertex: CDr, + specularmap_fragment: EDr, + specularmap_pars_fragment: IDr, + tonemapping_fragment: TDr, + tonemapping_pars_fragment: kDr, + transmission_fragment: RDr, + transmission_pars_fragment: PDr, + uv_pars_fragment: MDr, + uv_pars_vertex: DDr, + uv_vertex: LDr, + worldpos_vertex: BDr, + background_vert: ODr, + background_frag: FDr, + backgroundCube_vert: UDr, + backgroundCube_frag: NDr, + cube_vert: zDr, + cube_frag: _Dr, + depth_vert: HDr, + depth_frag: VDr, + distance_vert: GDr, + distance_frag: qDr, + equirect_vert: ZDr, + equirect_frag: QDr, + linedashed_vert: XDr, + linedashed_frag: WDr, + meshbasic_vert: YDr, + meshbasic_frag: KDr, + meshlambert_vert: JDr, + meshlambert_frag: jDr, + meshmatcap_vert: $Dr, + meshmatcap_frag: eLr, + meshnormal_vert: tLr, + meshnormal_frag: nLr, + meshphong_vert: rLr, + meshphong_frag: oLr, + meshphysical_vert: aLr, + meshphysical_frag: iLr, + meshtoon_vert: sLr, + meshtoon_frag: lLr, + points_vert: cLr, + points_frag: uLr, + shadow_vert: dLr, + shadow_frag: pLr, + sprite_vert: fLr, + sprite_frag: mLr, + }), + (Gn = { + common: { + diffuse: { value: new _n(16777215) }, + opacity: { value: 1 }, + map: { value: null }, + mapTransform: { value: new Ur() }, + alphaMap: { value: null }, + alphaMapTransform: { value: new Ur() }, + alphaTest: { value: 0 }, + }, + specularmap: { + specularMap: { value: null }, + specularMapTransform: { value: new Ur() }, + }, + envmap: { + envMap: { value: null }, + envMapRotation: { value: new Ur() }, + reflectivity: { value: 1 }, + ior: { value: 1.5 }, + refractionRatio: { value: 0.98 }, + dfgLUT: { value: null }, + }, + aomap: { + aoMap: { value: null }, + aoMapIntensity: { value: 1 }, + aoMapTransform: { value: new Ur() }, + }, + lightmap: { + lightMap: { value: null }, + lightMapIntensity: { value: 1 }, + lightMapTransform: { value: new Ur() }, + }, + bumpmap: { + bumpMap: { value: null }, + bumpMapTransform: { value: new Ur() }, + bumpScale: { value: 1 }, + }, + normalmap: { + normalMap: { value: null }, + normalMapTransform: { value: new Ur() }, + normalScale: { value: new vt(1, 1) }, + }, + displacementmap: { + displacementMap: { value: null }, + displacementMapTransform: { value: new Ur() }, + displacementScale: { value: 1 }, + displacementBias: { value: 0 }, + }, + emissivemap: { + emissiveMap: { value: null }, + emissiveMapTransform: { value: new Ur() }, + }, + metalnessmap: { + metalnessMap: { value: null }, + metalnessMapTransform: { value: new Ur() }, + }, + roughnessmap: { + roughnessMap: { value: null }, + roughnessMapTransform: { value: new Ur() }, + }, + gradientmap: { gradientMap: { value: null } }, + fog: { + fogDensity: { value: 0.00025 }, + fogNear: { value: 1 }, + fogFar: { value: 2000 }, + fogColor: { value: new _n(16777215) }, + }, + lights: { + ambientLightColor: { value: [] }, + lightProbe: { value: [] }, + sunLights: { value: [], properties: { direction: {}, color: {} } }, + sunLightShadows: { + value: [], + properties: { + shadowIntensity: 1, + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + }, + }, + sunShadowMatrix: { value: [] }, + sunShadowCascade: { value: [] }, + directionalLights: { + value: [], + properties: { direction: {}, color: {} }, + }, + directionalLightShadows: { + value: [], + properties: { + shadowIntensity: 1, + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + }, + }, + directionalShadowMatrix: { value: [] }, + spotLights: { + value: [], + properties: { + color: {}, + position: {}, + direction: {}, + distance: {}, + coneCos: {}, + penumbraCos: {}, + decay: {}, + }, + }, + spotLightShadows: { + value: [], + properties: { + shadowIntensity: 1, + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + }, + }, + spotLightMap: { value: [] }, + spotLightMatrix: { value: [] }, + pointLights: { + value: [], + properties: { color: {}, position: {}, decay: {}, distance: {} }, + }, + pointLightShadows: { + value: [], + properties: { + shadowIntensity: 1, + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + shadowCameraNear: {}, + shadowCameraFar: {}, + }, + }, + pointShadowMatrix: { value: [] }, + hemisphereLights: { + value: [], + properties: { direction: {}, skyColor: {}, groundColor: {} }, + }, + rectAreaLights: { + value: [], + properties: { color: {}, position: {}, width: {}, height: {} }, + }, + ltc_1: { value: null }, + ltc_2: { value: null }, + probesSH: { value: null }, + probesMin: { value: new he() }, + probesMax: { value: new he() }, + probesResolution: { value: new he() }, + }, + points: { + diffuse: { value: new _n(16777215) }, + opacity: { value: 1 }, + size: { value: 1 }, + scale: { value: 1 }, + map: { value: null }, + alphaMap: { value: null }, + alphaMapTransform: { value: new Ur() }, + alphaTest: { value: 0 }, + uvTransform: { value: new Ur() }, + }, + sprite: { + diffuse: { value: new _n(16777215) }, + opacity: { value: 1 }, + center: { value: new vt(0.5, 0.5) }, + rotation: { value: 0 }, + map: { value: null }, + mapTransform: { value: new Ur() }, + alphaMap: { value: null }, + alphaMapTransform: { value: new Ur() }, + alphaTest: { value: 0 }, + }, + }), + (Pv = { + basic: { + uniforms: Nm([ + Gn.common, + Gn.specularmap, + Gn.envmap, + Gn.aomap, + Gn.lightmap, + Gn.fog, + ]), + vertexShader: qo.meshbasic_vert, + fragmentShader: qo.meshbasic_frag, + }, + lambert: { + uniforms: Nm([ + Gn.common, + Gn.specularmap, + Gn.envmap, + Gn.aomap, + Gn.lightmap, + Gn.emissivemap, + Gn.bumpmap, + Gn.normalmap, + Gn.displacementmap, + Gn.fog, + Gn.lights, + { emissive: { value: new _n(0) }, envMapIntensity: { value: 1 } }, + ]), + vertexShader: qo.meshlambert_vert, + fragmentShader: qo.meshlambert_frag, + }, + phong: { + uniforms: Nm([ + Gn.common, + Gn.specularmap, + Gn.envmap, + Gn.aomap, + Gn.lightmap, + Gn.emissivemap, + Gn.bumpmap, + Gn.normalmap, + Gn.displacementmap, + Gn.fog, + Gn.lights, + { + emissive: { value: new _n(0) }, + specular: { value: new _n(1118481) }, + shininess: { value: 30 }, + envMapIntensity: { value: 1 }, + }, + ]), + vertexShader: qo.meshphong_vert, + fragmentShader: qo.meshphong_frag, + }, + standard: { + uniforms: Nm([ + Gn.common, + Gn.envmap, + Gn.aomap, + Gn.lightmap, + Gn.emissivemap, + Gn.bumpmap, + Gn.normalmap, + Gn.displacementmap, + Gn.roughnessmap, + Gn.metalnessmap, + Gn.fog, + Gn.lights, + { + emissive: { value: new _n(0) }, + roughness: { value: 1 }, + metalness: { value: 0 }, + envMapIntensity: { value: 1 }, + }, + ]), + vertexShader: qo.meshphysical_vert, + fragmentShader: qo.meshphysical_frag, + }, + toon: { + uniforms: Nm([ + Gn.common, + Gn.aomap, + Gn.lightmap, + Gn.emissivemap, + Gn.bumpmap, + Gn.normalmap, + Gn.displacementmap, + Gn.gradientmap, + Gn.fog, + Gn.lights, + { emissive: { value: new _n(0) } }, + ]), + vertexShader: qo.meshtoon_vert, + fragmentShader: qo.meshtoon_frag, + }, + matcap: { + uniforms: Nm([ + Gn.common, + Gn.bumpmap, + Gn.normalmap, + Gn.displacementmap, + Gn.fog, + { matcap: { value: null } }, + ]), + vertexShader: qo.meshmatcap_vert, + fragmentShader: qo.meshmatcap_frag, + }, + points: { + uniforms: Nm([Gn.points, Gn.fog]), + vertexShader: qo.points_vert, + fragmentShader: qo.points_frag, + }, + dashed: { + uniforms: Nm([ + Gn.common, + Gn.fog, + { + scale: { value: 1 }, + dashSize: { value: 1 }, + totalSize: { value: 2 }, + }, + ]), + vertexShader: qo.linedashed_vert, + fragmentShader: qo.linedashed_frag, + }, + depth: { + uniforms: Nm([Gn.common, Gn.displacementmap]), + vertexShader: qo.depth_vert, + fragmentShader: qo.depth_frag, + }, + normal: { + uniforms: Nm([ + Gn.common, + Gn.bumpmap, + Gn.normalmap, + Gn.displacementmap, + { opacity: { value: 1 } }, + ]), + vertexShader: qo.meshnormal_vert, + fragmentShader: qo.meshnormal_frag, + }, + sprite: { + uniforms: Nm([Gn.sprite, Gn.fog]), + vertexShader: qo.sprite_vert, + fragmentShader: qo.sprite_frag, + }, + background: { + uniforms: { + uvTransform: { value: new Ur() }, + t2D: { value: null }, + backgroundIntensity: { value: 1 }, + }, + vertexShader: qo.background_vert, + fragmentShader: qo.background_frag, + }, + backgroundCube: { + uniforms: { + envMap: { value: null }, + backgroundBlurriness: { value: 0 }, + backgroundIntensity: { value: 1 }, + backgroundRotation: { value: new Ur() }, + }, + vertexShader: qo.backgroundCube_vert, + fragmentShader: qo.backgroundCube_frag, + }, + cube: { + uniforms: { + tCube: { value: null }, + tFlip: { value: -1 }, + opacity: { value: 1 }, + }, + vertexShader: qo.cube_vert, + fragmentShader: qo.cube_frag, + }, + equirect: { + uniforms: { tEquirect: { value: null } }, + vertexShader: qo.equirect_vert, + fragmentShader: qo.equirect_frag, + }, + distance: { + uniforms: Nm([ + Gn.common, + Gn.displacementmap, + { + referencePosition: { value: new he() }, + nearDistance: { value: 1 }, + farDistance: { value: 1000 }, + }, + ]), + vertexShader: qo.distance_vert, + fragmentShader: qo.distance_frag, + }, + shadow: { + uniforms: Nm([ + Gn.lights, + Gn.fog, + { color: { value: new _n(0) }, opacity: { value: 1 } }, + ]), + vertexShader: qo.shadow_vert, + fragmentShader: qo.shadow_frag, + }, + })); + Pv.physical = { + uniforms: Nm([ + Pv.standard.uniforms, + { + clearcoat: { value: 0 }, + clearcoatMap: { value: null }, + clearcoatMapTransform: { value: new Ur() }, + clearcoatNormalMap: { value: null }, + clearcoatNormalMapTransform: { value: new Ur() }, + clearcoatNormalScale: { value: new vt(1, 1) }, + clearcoatRoughness: { value: 0 }, + clearcoatRoughnessMap: { value: null }, + clearcoatRoughnessMapTransform: { value: new Ur() }, + dispersion: { value: 0 }, + retroreflectivity: { value: 0 }, + iridescence: { value: 0 }, + iridescenceMap: { value: null }, + iridescenceMapTransform: { value: new Ur() }, + iridescenceIOR: { value: 1.3 }, + iridescenceThicknessMinimum: { value: 100 }, + iridescenceThicknessMaximum: { value: 400 }, + iridescenceThicknessMap: { value: null }, + iridescenceThicknessMapTransform: { value: new Ur() }, + sheen: { value: 0 }, + sheenColor: { value: new _n(0) }, + sheenColorMap: { value: null }, + sheenColorMapTransform: { value: new Ur() }, + sheenRoughness: { value: 1 }, + sheenRoughnessMap: { value: null }, + sheenRoughnessMapTransform: { value: new Ur() }, + transmission: { value: 0 }, + transmissionMap: { value: null }, + transmissionMapTransform: { value: new Ur() }, + transmissionSamplerSize: { value: new vt() }, + transmissionSamplerMap: { value: null }, + thickness: { value: 0 }, + thicknessMap: { value: null }, + thicknessMapTransform: { value: new Ur() }, + attenuationDistance: { value: 0 }, + attenuationColor: { value: new _n(0) }, + specularColor: { value: new _n(1, 1, 1) }, + specularColorMap: { value: null }, + specularColorMapTransform: { value: new Ur() }, + specularIntensity: { value: 1 }, + specularIntensityMap: { value: null }, + specularIntensityMapTransform: { value: new Ur() }, + anisotropyVector: { value: new vt() }, + anisotropyMap: { value: null }, + anisotropyMapTransform: { value: new Ur() }, + }, + ]), + vertexShader: qo.meshphysical_vert, + fragmentShader: qo.meshphysical_frag, + }; + ((Cge = { r: 0, b: 0, g: 0 }), (hLr = new Vn()), (k0n = new Ur())); + k0n.set(-1, 0, 0, 0, 1, 0, 0, 0, 1); + ((xW = new qy()), (i0n = new _n()), (CLr = new he()), (B7 = new he())); + kge = class kge extends ef { + constructor(e = 1, t = {}) { + super(e, e, t); + this.isWebGLCubeRenderTarget = !0; + let n = { width: e, height: e, depth: 1 }, + r = [n, n, n, n, n, n]; + ((this.texture = new M7(r)), + this._setTextureOptions(t), + (this.texture.isRenderTargetTexture = !0)); + } + fromEquirectangularTexture(e, t) { + ((this.texture.type = t.type), + (this.texture.colorSpace = t.colorSpace), + (this.texture.generateMipmaps = t.generateMipmaps), + (this.texture.minFilter = t.minFilter), + (this.texture.magFilter = t.magFilter)); + let n = { + uniforms: { tEquirect: { value: null } }, + vertexShader: ` varying vec3 vWorldDirection; @@ -5188,7 +180272,8 @@ void main() { #include } - `,fragmentShader:` + `, + fragmentShader: ` uniform sampler2D tEquirect; @@ -5205,20 +180290,14999 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new rA(5,5,5),o=new Ac({name:"CubemapFromEquirect",uniforms:L7(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:Rh,blending:Rv});o.uniforms.tEquirect.value=t;let a=new Na(r,o),i=t.minFilter;if(t.minFilter===p5)t.minFilter=Mh;return new mge(1,10,this).update(e,a),t.minFilter=i,a.geometry.dispose(),a.material.dispose(),this}clear(e,t=!0,n=!0,r=!0){let o=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,r);e.setRenderTarget(o)}};OLr={[_he]:"LINEAR_TONE_MAPPING",[Hhe]:"REINHARD_TONE_MAPPING",[Vhe]:"CINEON_TONE_MAPPING",[UB]:"ACES_FILMIC_TONE_MAPPING",[qhe]:"AGX_TONE_MAPPING",[Zhe]:"NEUTRAL_TONE_MAPPING",[Ghe]:"CUSTOM_TONE_MAPPING"};R0n=new El,wVe=new nA(1,1),P0n=new GB,M0n=new qB,D0n=new M7,u0n=[],d0n=[],p0n=new Float32Array(16),f0n=new Float32Array(9),m0n=new Float32Array(4);xVe=/(\w+)(\])?(\[|\.)?/g;y0n=new Ur;RBr={[_he]:"Linear",[Hhe]:"Reinhard",[Vhe]:"Cineon",[UB]:"ACESFilmic",[qhe]:"AgX",[Zhe]:"Neutral",[Ghe]:"Custom"};Ege=new he;OBr=/^[ \t]*#include +<([\w\d./]+)>/gm;FBr=new Map;NBr=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;_Br={[u5]:"SHADOWMAP_TYPE_PCF",[Yw]:"SHADOWMAP_TYPE_VSM"};VBr={[T7]:"ENVMAP_TYPE_CUBE",[d5]:"ENVMAP_TYPE_CUBE",[NB]:"ENVMAP_TYPE_CUBE_UV"};qBr={[d5]:"ENVMAP_MODE_REFRACTION"};QBr={[W_e]:"ENVMAP_BLENDING_MULTIPLY",[Y_e]:"ENVMAP_BLENDING_MIX",[K_e]:"ENVMAP_BLENDING_ADD"};uOr=[new he(1,0,0),new he(-1,0,0),new he(0,1,0),new he(0,-1,0),new he(0,0,1),new he(0,0,-1)],dOr=[new he(0,-1,0),new he(0,-1,0),new he(0,0,1),new he(0,0,-1),new he(0,-1,0),new he(0,-1,0)],I0n=new Vn,AW=new he,AVe=new he;z0n=class z0n extends Lh{constructor(e,t){super();let n=this,r=null,o=1,a=null,i="local-floor",s=1,l=null,c=null,u=null,d=null,p=null,f=null,m=typeof XRWebGLBinding<"u",g=new N0n,v={},y=t.getContextAttributes(),x=null,A=null,w=[],C=[],E=new vt,T=null,I=null,k=new Kl;k.viewport=new Ja;let L=new Kl;L.viewport=new Ja;let O=[k,L],B=new hge,U=null,D=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Y){let ae=w[Y];if(ae===void 0)ae=new ZB,w[Y]=ae;return ae.getTargetRaySpace()},this.getControllerGrip=function(Y){let ae=w[Y];if(ae===void 0)ae=new ZB,w[Y]=ae;return ae.getGripSpace()},this.getHand=function(Y){let ae=w[Y];if(ae===void 0)ae=new ZB,w[Y]=ae;return ae.getHandSpace()};function N(Y){let ae=C.indexOf(Y.inputSource);if(ae===-1)return;let ne=w[ae];if(ne!==void 0)ne.update(Y.inputSource,Y.frame,l||a),ne.dispatchEvent({type:Y.type,data:Y.inputSource})}function _(){r.removeEventListener("select",N),r.removeEventListener("selectstart",N),r.removeEventListener("selectend",N),r.removeEventListener("squeeze",N),r.removeEventListener("squeezestart",N),r.removeEventListener("squeezeend",N),r.removeEventListener("end",_),r.removeEventListener("inputsourceschange",G);for(let Y=0;Y=0)C[Se]=null,w[Se].disconnect(ne)}for(let ae=0;ae=C.length){C.push(ne),Se=Ae;break}else if(C[Ae]===null){C[Ae]=ne,Se=Ae;break}if(Se===-1)break}let fe=w[Se];if(fe)fe.connect(ne)}}let Z=new he,q=new he;function H(Y,ae,ne){Z.setFromMatrixPosition(ae.matrixWorld),q.setFromMatrixPosition(ne.matrixWorld);let Se=Z.distanceTo(q),fe=ae.projectionMatrix.elements,Ae=ne.projectionMatrix.elements,Ee=fe[14]/(fe[10]-1),pe=fe[14]/(fe[10]+1),Re=(fe[9]+1)/fe[5],Le=(fe[9]-1)/fe[5],Ne=(fe[8]-1)/fe[0],be=(Ae[8]+1)/Ae[0],ye=Ee*Ne,ce=Ee*be,ue=Se/(-Ne+be),ke=ue*-Ne;if(ae.matrixWorld.decompose(Y.position,Y.quaternion,Y.scale),Y.translateX(ke),Y.translateZ(ue),Y.matrixWorld.compose(Y.position,Y.quaternion,Y.scale),Y.matrixWorldInverse.copy(Y.matrixWorld).invert(),fe[10]===-1)Y.projectionMatrix.copy(ae.projectionMatrix),Y.projectionMatrixInverse.copy(ae.projectionMatrixInverse);else{let se=Ee+ue,qe=pe+ue,Me=ye-ke,Qe=ce+(Se-ke),ee=Re*pe/qe*se,K=Le*pe/qe*se;Y.projectionMatrix.makePerspective(Me,Qe,ee,K,se,qe),Y.projectionMatrixInverse.copy(Y.projectionMatrix).invert()}}function te(Y,ae){if(ae===null)Y.matrixWorld.copy(Y.matrix);else Y.matrixWorld.multiplyMatrices(ae.matrixWorld,Y.matrix);Y.matrixWorldInverse.copy(Y.matrixWorld).invert()}this.updateCamera=function(Y){if(r===null)return;let{near:ae,far:ne}=Y;if(g.texture!==null){if(g.depthNear>0)ae=g.depthNear;if(g.depthFar>0)ne=g.depthFar}if(B.near=L.near=k.near=ae,B.far=L.far=k.far=ne,U!==B.near||D!==B.far)r.updateRenderState({depthNear:B.near,depthFar:B.far}),U=B.near,D=B.far;B.layers.mask=Y.layers.mask|6,k.layers.mask=B.layers.mask&-5,L.layers.mask=B.layers.mask&-3;let Se=Y.parent,fe=B.cameras;te(B,Se);for(let Ae=0;Aee,H0n=(e,t)=>{let n=Kj(e),r=(o,a=t)=>COr(n,o,a);return Object.assign(r,n),r},G0n=(e,t)=>e?H0n(e,t):H0n;var q0n=P(()=>{Hee();Jj();V0n=z(re(),1),{useSyncExternalStoreWithSelector:wOr}=ySe});function Z0n(e,t,n=(r,o)=>r===o){if(e===t)return!0;if(!e||!t)return!1;let r=e.length;if(t.length!==r)return!1;for(let o=0;o0){if(a.timeout)clearTimeout(a.timeout);a.timeout=setTimeout(a.remove,r.lifespan)}return a.response}if(!n)throw a.promise}let o={keys:t,equal:r.equal,remove:()=>{let a=F7.indexOf(o);if(a!==-1)F7.splice(a,1)},promise:(EOr(e)?e:e(...t)).then((a)=>{if(o.response=a,r.lifespan&&r.lifespan>0)o.timeout=setTimeout(o.remove,r.lifespan)}).catch((a)=>o.error=a)};if(F7.push(o),!n)throw o.promise;return}var EOr=(e)=>typeof e==="object"&&typeof e.then==="function",F7,X0n=(e,t,n)=>Q0n(e,t,!1,n),W0n=(e,t,n)=>void Q0n(e,t,!0,n),Y0n=(e)=>{if(e===void 0||e.length===0)F7.splice(0,F7.length);else{let t=F7.find((n)=>Z0n(e,n.keys,n.equal));if(t)t.remove()}};var K0n=P(()=>{F7=[]});function EW(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){let o=EW(r,t,n);if(o)return o;r=t?null:r.sibling}}function J0n(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch(t){return e}}function Dge(){let e=Tl.default.useContext(CVe);if(e===null)throw Error("its-fine: useFiber must be called within a !");let t=Tl.default.useId();return Tl.default.useMemo(()=>{for(let n of[e,e==null?void 0:e.alternate]){if(!n)continue;let r=EW(n,!1,(o)=>{let a=o.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(r)return r}},[e,t])}function kOr(){let e=Dge(),[t]=Tl.default.useState(()=>new Map);t.clear();let n=e;for(;n;){let r=n.type;TOr(r)&&r!==CVe&&!t.has(r)&&t.set(r,Tl.default.use(J0n(r))),n=n.return}return t}function j0n(){let e=kOr();return Tl.default.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>(r)=>Tl.default.createElement(t,null,Tl.default.createElement(n.Provider,{...r,value:e.get(n)})),(t)=>Tl.default.createElement(Mge,{...t})),[e])}function ROr(e){if(typeof requestAnimationFrame=="function"){let n=requestAnimationFrame(e);return()=>cancelAnimationFrame(n)}let t=setTimeout(e,16);return()=>clearTimeout(t)}function $0n(){if(!Tl.default.Activity)throw Error("its-fine: useActivityBridge requires React 19.2 or later!");let e=Dge(),[t]=Tl.default.useState(()=>{let n=[],r=!1;EW(e,!0,(l)=>{var c,u;if(l.elementType===Tl.default.Activity){let d=((c=l.child)==null?void 0:c.tag)===22?l.child.stateNode:null;if(typeof(d==null?void 0:d._visibility)!="number")throw Error("its-fine: unsupported React Activity internals!");n.push(d)}else l.tag===22&&((u=l.return)==null?void 0:u.elementType)!==Tl.default.Activity&&(r=!0)});let o="hidden",a=new Set,i,s={mounted:!1,connected:!1,subscribe(l){return a.add(l),()=>{a.delete(l)}},sync(l){s.mounted&&!s.connected&&r&&n.length>0?i||(i=ROr(()=>{i=void 0,s.sync(!0)})):(i==null||i(),i=void 0);let c=o;if(s.mounted?s.connected?c="visible":l&&(c=n.every((u)=>(u._visibility&1)!==0)?"visible":"hidden"):c="hidden",o!==c){o=c;for(let u of a)u()}},Bridge({children:l}){return Tl.default.createElement(Tl.default.Activity,{mode:Tl.default.useSyncExternalStore(s.subscribe,()=>o,()=>"hidden")},l)}};return s});return Tl.default.useInsertionEffect(()=>(t.mounted=!0,queueMicrotask(()=>t.sync(!1)),()=>{t.mounted=!1,queueMicrotask(()=>t.sync(!1))}),[t]),Tl.default.useLayoutEffect(()=>(t.connected=!0,t.sync(!1),()=>{t.connected=!1,t.sync(!0)}),[t]),t.Bridge}var Tl,AAs,CVe,Mge,IOr,TOr=(e)=>e!==null&&typeof e=="object"&&("$$typeof"in e)&&e.$$typeof===IOr;var EVe=P(()=>{Tl=z(re(),1),AAs=(()=>{var e,t;return typeof window<"u"&&(((e=window.document)==null?void 0:e.createElement)||((t=window.navigator)==null?void 0:t.product)==="ReactNative")})()?Tl.default.useLayoutEffect:Tl.default.useEffect;CVe=J0n(Tl.default.createContext(null));Mge=class Mge extends Tl.default.Component{render(){return Tl.default.createElement(CVe.Provider,{value:this._reactInternals},this.props.children)}};IOr=Symbol.for("react.context")});function zVe(e){let t=e.root;while(t.getState().previousRoot)t=t.getState().previousRoot;return t}function _Ve(e){let t=za.useRef(e);return z7(()=>void(t.current=e),[e]),t}function DOr({promise:e,onSettled:t}){return za.use(e),z7(t,[t]),null}function mgn(){let[e,t]=za.useState(null),n=za.useCallback(()=>t(null),[]),r=za.useCallback((a)=>t((i)=>i!=null?i:Promise.resolve(a).then(Oge,Oge)),[]);return[e?h(za.Suspense,{fallback:null,children:h(DOr,{promise:e,onSettled:n})}):null,r]}function hgn(){let e=Dge(),t=j0n(),n=LOr();return za.useMemo(()=>({children:r})=>{let a=EW(e,!0,(i)=>i.type===za.StrictMode)?za.StrictMode:za.Fragment;return h(a,{children:h(n,{children:h(t,{children:r})})})},[e,t,n])}function ggn({set:e}){return z7(()=>(e(new Promise(()=>null)),()=>e(!1)),[e]),null}function vgn(e){var t;let n=typeof window<"u"?(t=window.devicePixelRatio)!=null?t:2:1;return Array.isArray(e)?Math.min(Math.max(e[0],n),e[1]):e}function U7(e){var t;return(t=e.__r3f)==null?void 0:t.root.getState()}function bgn(e){let t={nodes:{},materials:{},meshes:{}};if(e)e.traverse((n)=>{if(n.name)t.nodes[n.name]=n;if(n.material&&!t.materials[n.material.name])t.materials[n.material.name]=n.material;if(n.isMesh&&!t.meshes[n.name])t.meshes[n.name]=n});return t}function xgn(e){if(e.type!=="Scene")e.dispose==null||e.dispose();for(let t in e){let n=e[t];if((n==null?void 0:n.type)!=="Scene")n==null||n.dispose==null||n.dispose()}}function LVe(e){let t={};for(let n in e)if(!Agn.includes(n))t[n]=e[n];return t}function Fge(e,t,n,r){let o=e,a=o==null?void 0:o.__r3f;if(!a){if(a={root:t,type:n,parent:null,children:[],props:LVe(r),object:o,eventCount:0,handlers:{},previousVisible:void 0,isHidden:!1},o)o.__r3f=a}return a}function TW(e,t){if(!t.includes("-"))return{root:e,key:t,target:e[t]};if(t in e)return{root:e,key:t,target:e[t]};let n=e,r=t.split("-");for(let o of r){if(typeof n!=="object"||n===null){if(n!==void 0){let a=r.slice(r.indexOf(o)).join("-");return{root:n,key:a,target:void 0}}return{root:e,key:t,target:void 0}}t=o,e=n,n=n[t]}return{root:e,key:t,target:n}}function Uge(e,t){if(dd.str(t.props.attach)){if(egn.test(t.props.attach)){let o=t.props.attach.replace(egn,""),{root:a,key:i}=TW(e.object,o);if(!Array.isArray(a[i]))a[i]=[]}let{root:n,key:r}=TW(e.object,t.props.attach);t.previousAttach=n[r],n[r]=t.object}else if(dd.fun(t.props.attach))t.previousAttach=t.props.attach(e.object,t.object)}function Nge(e,t){if(dd.str(t.props.attach)){let{root:n,key:r}=TW(e.object,t.props.attach),o=t.previousAttach;if(o===void 0)delete n[r];else n[r]=o}else t.previousAttach==null||t.previousAttach(e.object,t.object);delete t.previousAttach}function BOr(e){let t=tgn.get(e.constructor);try{if(!t)t=new e.constructor,tgn.set(e.constructor,t)}catch(n){}return t}function OOr(e,t){let n={};for(let r in t){if(BVe.includes(r))continue;if(dd.equ(t[r],e.props[r]))continue;n[r]=t[r];for(let o in t)if(o.startsWith(`${r}-`))n[o]=t[o]}for(let r in e.props){if(BVe.includes(r)||t.hasOwnProperty(r))continue;let{root:o,key:a}=TW(e.object,r);if(o.constructor&&o.constructor.length===0){let i=BOr(o);if(!dd.und(i))n[r]=i[a]}else n[r]=0}return n}function x5(e,t){var n;let r=e.__r3f,o=r&&zVe(r).getState(),a=r==null?void 0:r.eventCount;for(let s in t){let l=t[s];if(BVe.includes(s))continue;if(r&&UOr.test(s)){if(typeof l==="function")r.handlers[s]=l;else delete r.handlers[s];r.eventCount=Object.keys(r.handlers).length;continue}if(l===void 0)continue;if(s==="visible"&&r!=null&&r.isHidden&&r.previousVisible!==void 0){r.previousVisible=l;continue}let{root:c,key:u,target:d}=TW(e,s);if(d===void 0&&(typeof c!=="object"||c===null))throw Error(`R3F: Cannot set "${s}". Ensure it is an object before setting "${u}".`);if(d instanceof $w&&l instanceof $w)d.mask=l.mask;else if(d instanceof _n&&MOr(l))d.set(l);else if(d!==null&&typeof d==="object"&&typeof d.set==="function"&&typeof d.copy==="function"&&l!=null&&l.constructor&&d.constructor===l.constructor)d.copy(l);else if(d!==null&&typeof d==="object"&&typeof d.set==="function"&&Array.isArray(l))if(typeof d.fromArray==="function")d.fromArray(l);else d.set(...l);else if(d!==null&&typeof d==="object"&&typeof d.set==="function"&&typeof l==="number")if(typeof d.setScalar==="function")d.setScalar(l);else d.set(l);else if(c instanceof Ac&&u==="uniforms"&&dd.obj(l)){if(!dd.obj(c.uniforms))c.uniforms={};let p=c.uniforms,f=l;for(let m in f){let g=f[m],v=p[m];if(v)Object.assign(v,g);else p[m]={...g}}}else{var i;if(c[u]=l,o&&!o.linear&&FOr.includes(u)&&(i=c[u])!=null&&i.isTexture&&c[u].format===$p&&c[u].type===Fm)c[u].colorSpace=jw}}if(r!=null&&r.parent&&o!=null&&o.internal&&(n=r.object)!=null&&n.isObject3D&&a!==r.eventCount){let s=r.object,l=o.internal.interaction.indexOf(s);if(l>-1)o.internal.interaction.splice(l,1);if(r.eventCount&&s.raycast!==null)o.internal.interaction.push(s)}if(r&&r.props.attach===void 0){if(r.object.isBufferGeometry)r.props.attach="geometry";else if(r.object.isMaterial)r.props.attach="material"}if(r)lO(r);return e}function lO(e){var t;if(!e.parent)return;e.props.onUpdate==null||e.props.onUpdate(e.object);let n=(t=e.root)==null?void 0:t.getState==null?void 0:t.getState();if(n&&n.internal.frames===0)n.invalidate()}function NOr(e,t){if(e.manual)return;if(pgn(e))e.left=t.width/-2,e.right=t.width/2,e.top=t.height/2,e.bottom=t.height/-2;else e.aspect=t.width/t.height;e.updateProjectionMatrix()}function IW(e){return(e.eventObject||e.object).uuid+"/"+e.index+e.instanceId}function wgn(e,t,n,r){let o=n.get(t);if(o){if(n.delete(t),n.size===0)e.delete(r),o.target.releasePointerCapture(r)}}function zOr(e,t,n){let{internal:r}=e.getState();for(let o=0;o{if(o.eventObject===t||o.object===t){r.hovered.delete(a);let i={...o,eventObject:o.eventObject===t?n:o.eventObject,object:o.object===t?n:o.object};r.hovered.set(IW(i),i)}}),r.capturedMap.forEach((o)=>{let a=o.get(t);if(a)o.delete(t),o.set(n,a)})}function _Or(e,t){let{internal:n}=e.getState();n.interaction=n.interaction.filter((r)=>r!==t),n.initialHits=n.initialHits.filter((r)=>r!==t),n.hovered.forEach((r,o)=>{if(r.eventObject===t||r.object===t)n.hovered.delete(o)}),n.capturedMap.forEach((r,o)=>{wgn(n.capturedMap,t,r,o)})}function Sgn(e){function t(l){let{internal:c}=e.getState(),u=l.offsetX-c.initialClick[0],d=l.offsetY-c.initialClick[1];return Math.round(Math.sqrt(u*u+d*d))}function n(l){return l.filter((c)=>["Move","Over","Enter","Out","Leave"].some((u)=>{var d;return(d=c.__r3f)==null?void 0:d.handlers["onPointer"+u]}))}function r(l,c){let u=e.getState(),d=new Set,p=[],f=c?c(u.internal.interaction):u.internal.interaction;for(let y=0;y{let A=U7(y.object),w=U7(x.object);if(!A||!w)return y.distance-x.distance;return w.events.priority-A.events.priority||y.distance-x.distance}).filter((y)=>{let x=IW(y);if(d.has(x))return!1;return d.add(x),!0});if(u.events.filter)g=u.events.filter(g,u);for(let y of g){let x=y.object;while(x){var v;if((v=x.__r3f)!=null&&v.eventCount)p.push({...y,eventObject:x});x=x.parent}}if("pointerId"in l&&u.internal.capturedMap.has(l.pointerId)){for(let y of u.internal.capturedMap.get(l.pointerId).values())if(!d.has(IW(y.intersection)))p.push(y.intersection)}return p}function o(l,c,u,d){if(l.length){let p={stopped:!1};for(let f of l){let m=U7(f.object);if(!m)f.object.traverseAncestors((g)=>{let v=U7(g);if(v)return m=v,!1});if(m){let{raycaster:g,pointer:v,camera:y,internal:x}=m,A=new he(v.x,v.y,0).unproject(y),w=(k)=>{var L,O;return(L=(O=x.capturedMap.get(k))==null?void 0:O.has(f.eventObject))!=null?L:!1},C=(k)=>{let L={intersection:f,target:c.target};if(x.capturedMap.has(k))x.capturedMap.get(k).set(f.eventObject,L);else x.capturedMap.set(k,new Map([[f.eventObject,L]]));c.target.setPointerCapture(k)},E=(k)=>{let L=x.capturedMap.get(k);if(L)wgn(x.capturedMap,f.eventObject,L,k)},T={};for(let k in c){let L=c[k];if(typeof L!=="function")T[k]=L}let I={...f,...T,pointer:v,intersections:l,stopped:p.stopped,delta:u,unprojectedPoint:A,ray:g.ray,camera:y,stopPropagation(){let k="pointerId"in c&&x.capturedMap.get(c.pointerId);if(!k||k.has(f.eventObject)){if(I.stopped=p.stopped=!0,x.hovered.size&&Array.from(x.hovered.values()).find((L)=>L.eventObject===f.eventObject)){let L=l.slice(0,l.indexOf(f));a([...L,f])}}},target:{hasPointerCapture:w,setPointerCapture:C,releasePointerCapture:E},currentTarget:{hasPointerCapture:w,setPointerCapture:C,releasePointerCapture:E},nativeEvent:c};if(d(I),p.stopped===!0)break}}}return l}function a(l){let{internal:c}=e.getState();for(let u of c.hovered.values())if(!l.length||!l.find((d)=>d.object===u.object&&d.index===u.index&&d.instanceId===u.instanceId)){let p=u.eventObject.__r3f;if(c.hovered.delete(IW(u)),p!=null&&p.eventCount){let f=p.handlers,m={...u,intersections:l};f.onPointerOut==null||f.onPointerOut(m),f.onPointerLeave==null||f.onPointerLeave(m)}}}function i(l,c){for(let u=0;ua([]);case"onLostPointerCapture":return(c)=>{let{internal:u}=e.getState();if("pointerId"in c&&u.capturedMap.has(c.pointerId))requestAnimationFrame(()=>{if(u.capturedMap.has(c.pointerId))u.capturedMap.delete(c.pointerId),a([])})}}return function(u){let{onPointerMissed:d,internal:p}=e.getState();p.lastEvent.current=u;let f=l==="onPointerMove",m=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",v=r(u,f?n:void 0),y=m?t(u):0;if(l==="onPointerDown")p.initialClick=[u.offsetX,u.offsetY],p.initialHits=v.map((A)=>A.eventObject);if(m&&!v.length){if(y<=2){if(i(u,p.interaction),d)d(u)}}if(f)a(v);function x(A){let w=A.eventObject,C=w.__r3f;if(!(C!=null&&C.eventCount))return;let E=C.handlers;if(f){if(E.onPointerOver||E.onPointerEnter||E.onPointerOut||E.onPointerLeave){let T=IW(A),I=p.hovered.get(T);if(!I)p.hovered.set(T,A),E.onPointerOver==null||E.onPointerOver(A),E.onPointerEnter==null||E.onPointerEnter(A);else if(I.stopped)A.stopPropagation()}E.onPointerMove==null||E.onPointerMove(A)}else{let T=E[l];if(T){if(!m||p.initialHits.includes(w))i(u,p.interaction.filter((I)=>!p.initialHits.includes(I))),T(A)}else if(m&&p.initialHits.includes(w))i(u,p.interaction.filter((I)=>!p.initialHits.includes(I)))}}o(v,u,y,x)}}return{handlePointer:s}}function GVe(){let e=za.useContext(VVe);if(!e)throw Error("R3F: Hooks can only be used within the Canvas component!");return e}function RW(e=(n)=>n,t){return GVe()(e,t)}function qVe(e,t=0){let n=GVe(),r=n.getState().internal.subscribe,o=_Ve(e);return z7(()=>r(o,t,n),[t,r,n]),null}function Cgn(e,t){return function(n,...r){let o;if(VOr(n)){if(o=ngn.get(n),!o)o=new n,ngn.set(n,o)}else o=n;if(e)e(o);return Promise.all(r.map((a)=>new Promise((i,s)=>o.load(a,(l)=>{if(Bh(l==null?void 0:l.scene))Object.assign(l,bgn(l.scene));i(l)},t,(l)=>s(Error(`Could not load ${a}: ${l==null?void 0:l.message}`))))))}}function ZVe(e,t,n,r){let o=Array.isArray(t)?t:[t],a=X0n(Cgn(n,r),[e,...o],{equal:dd.equ});return Array.isArray(t)?a:a[0]}function QOr(e,t){let n={canvas:e,powerPreference:"high-performance",antialias:!0,alpha:!0};if(typeof t==="function")return t(n);if(HVe(t))return t;return new oO({...n,...t})}function XOr(e,t){if(!t&&typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement&&e.parentElement){let{width:n,height:r,top:o,left:a}=e.parentElement.getBoundingClientRect();return{width:n,height:r,top:o,left:a}}else if(!t&&typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas)return{width:e.width,height:e.height,top:0,left:0};return{width:0,height:0,top:0,left:0,...t}}function WOr({store:e,configuration:t},n,r){let{gl:o,scene:a,camera:i,shadows:s=!1,linear:l=!1,flat:c=!1,legacy:u=!1,frameloop:d="always",dpr:p=[1,2],performance:f,onPointerMissed:m}=r,g=XOr(n,r.size),v={...r,shadows:s,linear:l,flat:c,legacy:u,frameloop:d,size:g},y=e.getState(),x=y.gl,A=t.previous,w=(L)=>!A||!dd.equ(v[L],A[L],ZOr);t.previous=void 0;let C=y.raycaster;if(!C)y.set({raycaster:C=new yW});if(w("raycaster")){var E;let{params:L,...O}=(E=r.raycaster)!=null?E:{};x5(C,{...O,params:{...C.params,...L}})}if(!y.camera||y.camera===t.camera&&w("camera")){t.camera=i;let L=i==null?void 0:i.isCamera,O=L?i:r.orthographic?new qy(0,0,0,0,0.1,1000):new Kl(75,0,0.1,1000);if(!L){if(O.position.z=5,i){if(x5(O,i),!O.manual){if("aspect"in i||"left"in i||"right"in i||"bottom"in i||"top"in i)O.manual=!0,O.updateProjectionMatrix()}}if(!y.camera&&!(i!=null&&i.rotation))O.lookAt(0,0,0)}y.set({camera:O}),C.camera=O}if(!y.scene){let L;if(a!=null&&a.isScene)L=a,Fge(L,e,"",{});else if(L=new y5,Fge(L,e,"",{}),a)x5(L,a);y.set({scene:L})}if(r.events&&!y.events.handlers)y.set({events:r.events(e)});if(w("size"))y.setSize(g.width,g.height,g.top,g.left);if(y.viewport.dpr!==vgn(p))y.setDpr(p);if(w("frameloop"))y.setFrameloop(d);if(w("onPointerMissed"))y.set({onPointerMissed:m});if(f&&w("performance"))y.set((L)=>({performance:{...L.performance,...f}}));if(!y.xr){var T;let L=(U,D)=>{let N=e.getState();if(N.frameloop==="never")return;KVe(U,!0,N,D)},O=()=>{let U=e.getState();if(U.gl.xr.enabled=U.gl.xr.isPresenting,U.gl.xr.setAnimationLoop(U.gl.xr.isPresenting?L:null),!U.gl.xr.isPresenting)Vge(U)},B={connect(){let U=e.getState().gl;U.xr.addEventListener("sessionstart",O),U.xr.addEventListener("sessionend",O)},disconnect(){let U=e.getState().gl;U.xr.removeEventListener("sessionstart",O),U.xr.removeEventListener("sessionend",O)}};if(typeof((T=x.xr)==null?void 0:T.addEventListener)==="function")B.connect();y.set({xr:B})}if(x.shadowMap&&w("shadows")){let L=x.shadowMap.enabled,O=x.shadowMap.type;if(x.shadowMap.enabled=!!s,dd.boo(s))x.shadowMap.type=E7;else if(dd.str(s)){var I;let B={basic:Ohe,percentage:u5,soft:E7,variance:Yw};x.shadowMap.type=(I=B[s])!=null?I:E7}else if(dd.obj(s))Object.assign(x.shadowMap,s);if(L!==x.shadowMap.enabled||O!==x.shadowMap.type)x.shadowMap.needsUpdate=!0}let k=o&&!dd.fun(o)&&!HVe(o)?o:void 0;if(w("legacy"))jo.enabled=!u,y.set({legacy:u});if(w("linear")){if((k==null?void 0:k.outputColorSpace)===void 0)x.outputColorSpace=l?VB:jw;y.set({linear:l})}if(w("flat")){if((k==null?void 0:k.toneMapping)===void 0)x.toneMapping=c?B0:UB;y.set({flat:c})}if(k&&w("gl"))x5(x,k);t.previous=v}function $Or(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function eFr(){return ign||(ign=1,function(e){e.exports=function(t){function n(b,S,R,F){return new c4n(b,S,R,F)}function r(){}function o(b){var S="https://react.dev/errors/"+b;if(1Rk||(b.current=Z2e[Rk],Z2e[Rk]=null,Rk--)}function m(b,S){Rk++,Z2e[Rk]=b.current,b.current=S}function g(b){return b>>>=0,b===0?32:31-(rCn(b)/oCn|0)|0}function v(b){var S=b&42;if(S!==0)return S;switch(b&-b){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return b&-b;case 262144:case 524288:case 1048576:case 2097152:return b&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return b&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return b}}function y(b,S,R){var F=b.pendingLanes;if(F===0)return 0;var V=0,W=b.suspendedLanes,xe=b.pingedLanes;b=b.warmLanes;var We=F&134217727;return We!==0?(F=We&~W,F!==0?V=v(F):(xe&=We,xe!==0?V=v(xe):R||(R=We&~b,R!==0&&(V=v(R))))):(We=F&~W,We!==0?V=v(We):xe!==0?V=v(xe):R||(R=F&~b,R!==0&&(V=v(R)))),V===0?0:S!==0&&S!==V&&(S&W)===0&&(W=V&-V,R=S&-S,W>=R||W===32&&(R&4194048)!==0)?S:V}function x(b,S){return(b.pendingLanes&~(b.suspendedLanes&~b.pingedLanes)&S)===0}function A(b,S){(S&8)!==0&&(S|=S&32);var R=b.entangledLanes;if(R!==0)for(b=b.entanglements,R&=S;0R;R++)S.push(b);return S}function T(b,S){b.pendingLanes|=S,S!==268435456&&(b.suspendedLanes=0,b.pingedLanes=0,b.warmLanes=0)}function I(b,S,R,F,V,W){var xe=b.pendingLanes;b.pendingLanes=R,b.suspendedLanes=0,b.pingedLanes=0,b.warmLanes=0,b.expiredLanes&=R,b.entangledLanes&=R,b.errorRecoveryDisabledLanes&=R,b.shellSuspendCounter=0;var{entanglements:We,expirationTimes:St,hiddenUpdates:Xt}=b;for(R=xe&~R;0)":-1V||St[F]!==Xt[V]){var sn=` -`+St[F].replace(" at new "," at ");return b.displayName&&sn.includes("")&&(sn=sn.replace("",b.displayName)),sn}while(1<=F&&0<=V);break}}}finally{Y2e=!1,Error.prepareStackTrace=R}return(R=b?b.displayName||b.name:"")?q(R):""}function te(b,S){switch(b.tag){case 26:case 27:case 5:return q(b.type);case 16:return q("Lazy");case 13:return b.child!==S&&S!==null?q("Suspense Fallback"):q("Suspense");case 19:return q("SuspenseList");case 0:case 15:return H(b.type,!1);case 11:return H(b.type.render,!1);case 1:return H(b.type,!0);case 31:return q("Activity");case 30:return q("ViewTransition");default:return""}}function ie(b){try{var S="",R=null;do S+=te(b,R),R=b,b=b.return;while(b);return S}catch(F){return` -Error generating stack: `+F.message+` -`+F.stack}}function j(b,S){if(typeof b=="object"&&b!==null){var R=ZWe.get(b);return R!==void 0?R:(S={value:b,source:S,stack:ie(S)},ZWe.set(b,S),S)}return{value:b,source:S,stack:ie(S)}}function oe(b,S){Mk[Dk++]=mF,Mk[Dk++]=vK,vK=b,mF=S}function J(b,S,R){g1[y1++]=Qv,g1[y1++]=Xv,g1[y1++]=FS,FS=b;var F=Qv;b=Xv;var V=32-Y0(F)-1;F&=~(1<>=xe,V-=xe,Qv=1<<32-Y0(S)+V|R<ui?(vd=oo,oo=null):vd=oo.sibling;var Va=jn(xt,oo,It[ui],pn);if(Va===null){oo===null&&(oo=vd);break}b&&oo&&Va.alternate===null&&S(xt,oo),dt=W(Va,dt,ui),Fl===null?Qr=Va:Fl.sibling=Va,Fl=Va,oo=vd}if(ui===It.length)return R(xt,oo),na&&oe(xt,ui),Qr;if(oo===null){for(;uiui?(vd=oo,oo=null):vd=oo.sibling;var ZS=jn(xt,oo,Va.value,pn);if(ZS===null){oo===null&&(oo=vd);break}b&&oo&&ZS.alternate===null&&S(xt,oo),dt=W(ZS,dt,ui),Fl===null?Qr=ZS:Fl.sibling=ZS,Fl=ZS,oo=vd}if(Va.done)return R(xt,oo),na&&oe(xt,ui),Qr;if(oo===null){for(;!Va.done;ui++,Va=It.next())Va=Fn(xt,Va.value,pn),Va!==null&&(dt=W(Va,dt,ui),Fl===null?Qr=Va:Fl.sibling=Va,Fl=Va);return na&&oe(xt,ui),Qr}for(oo=F(oo);!Va.done;ui++,Va=It.next())Va=ca(oo,xt,ui,Va.value,pn),Va!==null&&(b&&(vd=Va.alternate,vd!==null&&oo.delete(vd.key===null?ui:vd.key)),dt=W(Va,dt,ui),Fl===null?Qr=Va:Fl.sibling=Va,Fl=Va);return b&&oo.forEach(function(xCn){return S(xt,xCn)}),na&&oe(xt,ui),Qr}function a8(xt,dt,It,pn){if(typeof It=="object"&&It!==null&&It.type===Ik&&It.key===null&&It.props.ref===void 0&&(It=It.props.children),typeof It=="object"&&It!==null){switch(It.$$typeof){case cK:e:{for(var Qr=It.key;dt!==null;){if(dt.key===Qr){if(Qr=It.type,Qr===Ik){if(dt.tag===7){R(xt,dt.sibling),pn=V(dt,It.props.children),Mt(pn,It),pn.return=xt,xt=pn;break e}}else if(dt.elementType===Qr||typeof Qr=="object"&&Qr!==null&&Qr.$$typeof===OS&&Be(Qr)===dt.type){R(xt,dt.sibling),pn=V(dt,It.props),Mt(pn,It),pn.return=xt,xt=pn;break e}R(xt,dt);break}else S(xt,dt);dt=dt.sibling}It.type===Ik?(pn=X5(It.props.children,xt.mode,pn,It.key),Mt(pn,It),pn.return=xt,xt=pn):(pn=lK(It.type,It.key,It.props,null,xt.mode,pn),Mt(pn,It),pn.return=xt,xt=pn)}return xe(xt);case Ek:e:{for(Qr=It.key;dt!==null;){if(dt.key===Qr)if(dt.tag===4&&dt.stateNode.containerInfo===It.containerInfo&&dt.stateNode.implementation===It.implementation){R(xt,dt.sibling),pn=V(dt,It.children||[]),pn.return=xt,xt=pn;break e}else{R(xt,dt);break}else S(xt,dt);dt=dt.sibling}pn=k2e(It,xt.mode,pn),pn.return=xt,xt=pn}return xe(xt);case OS:return It=Be(It),a8(xt,dt,It,pn)}if(uK(It))return ei(xt,dt,It,pn);if(u(It)){if(Qr=u(It),typeof Qr!="function")throw Error(o(150));return It=Qr.call(It),qS(xt,dt,It,pn)}if(typeof It.then=="function")return a8(xt,dt,Et(It),pn);if(It.$$typeof===SA)return a8(xt,dt,we(xt,It),pn);An(xt,It)}return typeof It=="string"&&It!==""||typeof It=="number"||typeof It=="bigint"?(It=""+It,dt!==null&&dt.tag===6?(R(xt,dt.sibling),pn=V(dt,It),pn.return=xt,xt=pn):(R(xt,dt),pn=T2e(It,xt.mode,pn),pn.return=xt,xt=pn),xe(xt)):R(xt,dt)}return function(xt,dt,It,pn){try{vF=0;var Qr=a8(xt,dt,It,pn);return Uk=null,Qr}catch(oo){if(oo===Fk||oo===wK)throw oo;var Fl=n(29,oo,null,xt.mode);return Fl.lanes=pn,Fl.return=xt,Fl}finally{}}}function Tn(){for(var b=Nk,S=tve=Nk=0;SW?W:8);var xe=Zr.T,We={};We.types=xe!==null?xe.types:null,Zr.T=We,zye(b,!1,S,R);try{var St=V(),Xt=Zr.S;if(Xt!==null&&Xt(We,St),St!==null&&typeof St=="object"&&typeof St.then=="function"){var sn=rt(St,F);tF(b,S,sn,X0(b))}else tF(b,S,F,X0(b))}catch(Fn){tF(b,S,{then:function(){},status:"rejected",reason:Fn},X0())}finally{mp(W),xe!==null&&We.types!==null&&(xe.types=We.types),Zr.T=xe}}function VQe(b){var S=b.memoizedState;if(S!==null)return S;S={memoizedState:Tk,baseState:Tk,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ro,lastRenderedState:Tk},next:null};var R={};return S.next={memoizedState:R,baseState:R,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ro,lastRenderedState:R},next:null},b.memoizedState=S,b=b.alternate,b!==null&&(b.memoizedState=S),S}function Nye(){return K(EA)}function GQe(){return no().memoizedState}function qQe(){return no().memoizedState}function VSn(b){for(var S=b.return;S!==null;){switch(S.tag){case 24:case 3:var R=X0();b=Zo(R);var F=Co(S,b,R);F!==null&&(Vh(F,S,R),on(F,S,R)),S={cache:tt()},b.payload=S;return}S=S.return}}function GSn(b,S,R){var F=X0();R={lane:F,revertLane:0,gesture:null,action:R,hasEagerState:!1,eagerState:null,next:null},QY(b)?QQe(S,R):(R=er(b,S,R,F),R!==null&&(Vh(R,b,F),XQe(R,S,F)))}function ZQe(b,S,R){var F=X0();tF(b,S,R,F)}function tF(b,S,R,F){var V={lane:F,revertLane:0,gesture:null,action:R,hasEagerState:!1,eagerState:null,next:null};if(QY(b))QQe(S,V);else{var W=b.alternate;if(b.lanes===0&&(W===null||W.lanes===0)&&(W=S.lastRenderedReducer,W!==null))try{var xe=S.lastRenderedState,We=W(xe,R);if(V.hasEagerState=!0,V.eagerState=We,J0(We,xe))return Cn(b,S,V,0),ms===null&&Tn(),!1}catch{}finally{}if(R=er(b,S,V,F),R!==null)return Vh(R,b,F),XQe(R,S,F),!0}return!1}function zye(b,S,R,F){if(F={lane:2,revertLane:Ge(),gesture:null,action:F,hasEagerState:!1,eagerState:null,next:null},QY(b)){if(S)throw Error(o(479))}else S=er(b,R,F,2),S!==null&&Vh(S,b,2)}function QY(b){var S=b.alternate;return b===Lo||S!==null&&S===Lo}function QQe(b,S){zk=EK=!0;var R=b.pending;R===null?S.next=S:(S.next=R.next,R.next=S),b.pending=S}function XQe(b,S,R){if((R&4194048)!==0){var F=S.lanes;F&=b.pendingLanes,R|=F,S.lanes=R,L(b,R)}}function _ye(b,S,R,F){S=b.memoizedState,R=R(F,S),R=R==null?S:P2e({},S,R),b.memoizedState=R,b.lanes===0&&(b.updateQueue.baseState=R)}function WQe(b,S,R,F,V,W,xe){return b=b.stateNode,typeof b.shouldComponentUpdate=="function"?b.shouldComponentUpdate(F,W,xe):S.prototype&&S.prototype.isPureReactComponent?!Gt(R,F)||!Gt(V,W):!0}function YQe(b,S,R,F){b=S.state,typeof S.componentWillReceiveProps=="function"&&S.componentWillReceiveProps(R,F),typeof S.UNSAFE_componentWillReceiveProps=="function"&&S.UNSAFE_componentWillReceiveProps(R,F),S.state!==b&&rve.enqueueReplaceState(S,S.state,null)}function Q5(b,S){var R=S;if("ref"in S){R={};for(var F in S)F!=="ref"&&(R[F]=S[F])}if(b=b.defaultProps){R===S&&(R=P2e({},R));for(var V in b)R[V]===void 0&&(R[V]=b[V])}return R}function XY(b,S){try{var R=b.onUncaughtError;R(S.value,{componentStack:S.stack})}catch(F){setTimeout(function(){throw F})}}function KQe(b,S,R){try{var F=b.onCaughtError;F(R.value,{componentStack:R.stack,errorBoundary:S.tag===1?S.stateNode:null})}catch(V){setTimeout(function(){throw V})}}function Hye(b,S,R){return R=Zo(R),R.tag=3,R.payload={element:null},R.callback=function(){XY(b,S)},R}function JQe(b){return b=Zo(b),b.tag=3,b}function jQe(b,S,R,F){var V=R.type.getDerivedStateFromError;if(typeof V=="function"){var W=F.value;b.payload=function(){return V(W)},b.callback=function(){KQe(S,R,F)}}var xe=R.stateNode;xe!==null&&typeof xe.componentDidCatch=="function"&&(b.callback=function(){KQe(S,R,F),typeof V!="function"&&(GS===null?GS=new Set([this]):GS.add(this));var We=F.stack;this.componentDidCatch(F.value,{componentStack:We!==null?We:""})})}function qSn(b,S,R,F,V){if(R.flags|=32768,F!==null&&typeof F=="object"&&typeof F.then=="function"){if(S=R.alternate,S!==null&&Me(S,R,V,!0),R=pf.current,R!==null){switch(R.tag){case 31:case 13:case 19:return Km===null?iK():R.alternate===null&&oc===0&&(oc=3),R.flags&=-257,R.flags|=65536,R.lanes=V,F===SK?R.flags|=16384:(S=R.updateQueue,S===null?R.updateQueue=new Set([F]):S.add(F),E2e(b,F,V)),!1;case 22:return R.flags|=65536,F===SK?R.flags|=16384:(S=R.updateQueue,S===null?(S={transitions:null,markerInstances:null,retryQueue:new Set([F])},R.updateQueue=S):(R=S.retryQueue,R===null?S.retryQueue=new Set([F]):R.add(F)),E2e(b,F,V)),!1}throw Error(o(435,R.tag))}return E2e(b,F,V),iK(),!1}if(na)return S=pf.current,S!==null?((S.flags&65536)===0&&(S.flags|=256),S.flags|=65536,S.lanes=V,F!==K2e&&(b=Error(o(422),{cause:F}),ce(j(b,R)))):(F!==K2e&&(S=Error(o(423),{cause:F}),ce(j(S,R))),b=b.current.alternate,b.flags|=65536,V&=-V,b.lanes|=V,F=j(F,R),V=Hye(b.stateNode,F,V),li(b,V),oc!==4&&(oc=2)),!1;var W=Error(o(520),{cause:F});if(W=j(W,R),wF===null?wF=[W]:wF.push(W),oc!==4&&(oc=2),S===null)return!0;F=j(F,R),R=S;do{switch(R.tag){case 3:return R.flags|=65536,b=V&-V,R.lanes|=b,b=Hye(R.stateNode,F,b),li(R,b),!1;case 1:if(S=R.type,W=R.stateNode,(R.flags&128)===0&&(typeof S.getDerivedStateFromError=="function"||W!==null&&typeof W.componentDidCatch=="function"&&(GS===null||!GS.has(W))))return R.flags|=65536,V&=-V,R.lanes|=V,V=JQe(V),jQe(V,b,R,F),li(R,V),!1;break;case 22:if(R.memoizedState!==null)return R.flags|=65536,!1}R=R.return}while(R!==null);return!1}function _d(b,S,R,F){S.child=b===null?XWe(S,null,R,F):e8(S,b.child,R,F)}function $Qe(b,S,R,F,V){R=R.render;var W=S.ref;if("ref"in F){var xe={};for(var We in F)We!=="ref"&&(xe[We]=F[We])}else xe=F;return ee(S),F=ir(b,S,R,xe,W,V),We=ps(),b!==null&&!gd?(uo(b,S,V),AA(b,S,V)):(na&&We&&Y(S),S.flags|=1,_d(b,S,F,V),S.child)}function eXe(b,S,R,F,V){if(b===null){var W=R.type;return typeof W=="function"&&!I2e(W)&&W.defaultProps===void 0&&R.compare===null?(S.tag=15,S.type=W,tXe(b,S,W,F,V)):(b=lK(R.type,null,F,S,S.mode,V),b.ref=S.ref,b.return=S,S.child=b)}if(W=b.child,!Wye(b,V)){var xe=W.memoizedProps;if(R=R.compare,R=R!==null?R:Gt,R(xe,F)&&b.ref===S.ref)return AA(b,S,V)}return S.flags|=1,b=wA(W,F),b.ref=S.ref,b.return=S,S.child=b}function tXe(b,S,R,F,V){if(b!==null){var W=b.memoizedProps;if(Gt(W,F)&&b.ref===S.ref)if(gd=!1,S.pendingProps=F=W,Wye(b,V))(b.flags&131072)!==0&&(gd=!0);else return S.lanes=b.lanes,AA(b,S,V)}return Vye(b,S,R,F,V)}function nXe(b,S,R,F){var V=F.children,W=b!==null?b.memoizedState:null;if(b===null&&S.stateNode===null&&(S.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),F.mode==="hidden"){if((S.flags&128)!==0){if(W=W!==null?W.baseLanes|R:R,b!==null){for(F=S.child=b.child,V=0;F!==null;)V=V|F.lanes|F.childLanes,F=F.sibling;F=V&~W}else F=0,S.child=null;return rXe(b,S,W,R,F)}if((R&536870912)!==0)S.memoizedState={baseLanes:0,cachePool:null},b!==null&&At(S,W!==null?W.cachePool:null),W!==null?ht(S,W):st(),fn(S);else return F=S.lanes=536870912,rXe(b,S,W!==null?W.baseLanes|R:R,R,F)}else W!==null?(At(S,W.cachePool),ht(S,W),wn(),S.memoizedState=null):(b!==null&&At(S,null),st(),wn());return _d(b,S,V,R),S.child}function nF(b,S){return b!==null&&b.tag===22||S.stateNode!==null||(S.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),S.sibling}function rXe(b,S,R,F,V){var W=ot();return W=W===null?null:{parent:qv?Bl._currentValue:Bl._currentValue2,pool:W},S.memoizedState={baseLanes:R,cachePool:W},b!==null&&At(S,null),st(),fn(S),b!==null&&Me(b,S,F,!0),S.childLanes=V,null}function WY(b,S){return S=YY({mode:S.mode,children:S.children},b.mode),S.ref=b.ref,b.child=S,S.return=b,S}function oXe(b,S,R){return e8(S,b.child,null,R),b=WY(S,S.pendingProps),b.flags|=2,Qt(S),S.memoizedState=null,b}function ZSn(b,S,R){var F=S.pendingProps,V=(S.flags&128)!==0;if(S.flags&=-129,b===null){if(na){if(F.mode==="hidden")return b=WY(S,F),S.lanes=536870912,b.memoizedState={baseLanes:0,cachePool:null},nF(null,b);if(dn(S),(b=il)?(b=D6n(b,v1),b!==null&&(S.memoizedState={dehydrated:b,treeContext:FS!==null?{id:Qv,overflow:Xv}:null,retryLane:536870912,hydrationErrors:null},R=sWe(b),R.return=S,S.child=R,hp=S,il=null)):b=null,b===null)throw pe(S);return S.lanes=536870912,null}return WY(S,F)}var W=b.memoizedState;if(W!==null){var xe=W.dehydrated;if(dn(S),V)if(S.flags&256)S.flags&=-257,S=oXe(b,S,R);else if(S.memoizedState!==null)S.child=b.child,S.flags|=128,S=null;else throw Error(o(558));else if(gd||Me(b,S,R,!1),V=(R&b.childLanes)!==0,gd||V){if(_S.current===null){if(F=ms,F!==null&&(xe=O(F,R),xe!==0&&xe!==W.retryLane))throw W.retryLane=xe,qn(b,xe),Vh(F,b,xe),ove;iK()}S=oXe(b,S,R)}else b=W.treeContext,uf&&(il=T6n(xe),hp=S,na=!0,NS=null,v1=!1,b!==null&&ne(S,b)),S=WY(S,F),S.flags|=134221824;return S}return b=wA(b.child,{mode:F.mode,children:F.children}),b.ref=S.ref,S.child=b,b.return=S,b}function vk(b,S){var R=S.ref;if(R===null)b!==null&&b.ref!==null&&(S.flags|=4194816);else{if(typeof R!="function"&&typeof R!="object")throw Error(o(284));(b===null||b.ref!==R)&&(S.flags|=4194816)}}function Vye(b,S,R,F,V){return ee(S),R=ir(b,S,R,F,void 0,V),F=ps(),b!==null&&!gd?(uo(b,S,V),AA(b,S,V)):(na&&F&&Y(S),S.flags|=1,_d(b,S,R,V),S.child)}function aXe(b,S,R,F,V,W){return ee(S),S.updateQueue=null,R=_a(S,F,R,V),Or(b),F=ps(),b!==null&&!gd?(uo(b,S,W),AA(b,S,W)):(na&&F&&Y(S),S.flags|=1,_d(b,S,R,W),S.child)}function iXe(b,S,R,F,V){if(ee(S),S.stateNode===null){var W=Pk,xe=R.contextType;typeof xe=="object"&&xe!==null&&(W=K(xe)),W=new R(F,W),S.memoizedState=W.state!==null&&W.state!==void 0?W.state:null,W.updater=rve,S.stateNode=W,W._reactInternals=S,W=S.stateNode,W.props=F,W.state=S.memoizedState,W.refs={},Yr(S),xe=R.contextType,W.context=typeof xe=="object"&&xe!==null?K(xe):Pk,W.state=S.memoizedState,xe=R.getDerivedStateFromProps,typeof xe=="function"&&(_ye(S,R,xe,F),W.state=S.memoizedState),typeof R.getDerivedStateFromProps=="function"||typeof W.getSnapshotBeforeUpdate=="function"||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(xe=W.state,typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount(),xe!==W.state&&rve.enqueueReplaceState(W,W.state,null),zi(S,F,W,V),Pi(),W.state=S.memoizedState),typeof W.componentDidMount=="function"&&(S.flags|=4194308),F=!0}else if(b===null){W=S.stateNode;var We=S.memoizedProps,St=Q5(R,We);W.props=St;var Xt=W.context,sn=R.contextType;xe=Pk,typeof sn=="object"&&sn!==null&&(xe=K(sn));var Fn=R.getDerivedStateFromProps;sn=typeof Fn=="function"||typeof W.getSnapshotBeforeUpdate=="function",We=S.pendingProps!==We,sn||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(We||Xt!==xe)&&YQe(S,W,F,xe),zS=!1;var jn=S.memoizedState;W.state=jn,zi(S,F,W,V),Pi(),Xt=S.memoizedState,We||jn!==Xt||zS?(typeof Fn=="function"&&(_ye(S,R,Fn,F),Xt=S.memoizedState),(St=zS||WQe(S,R,St,F,jn,Xt,xe))?(sn||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount()),typeof W.componentDidMount=="function"&&(S.flags|=4194308)):(typeof W.componentDidMount=="function"&&(S.flags|=4194308),S.memoizedProps=F,S.memoizedState=Xt),W.props=F,W.state=Xt,W.context=xe,F=St):(typeof W.componentDidMount=="function"&&(S.flags|=4194308),F=!1)}else{W=S.stateNode,mo(b,S),xe=S.memoizedProps,sn=Q5(R,xe),W.props=sn,Fn=S.pendingProps,jn=W.context,Xt=R.contextType,St=Pk,typeof Xt=="object"&&Xt!==null&&(St=K(Xt)),We=R.getDerivedStateFromProps,(Xt=typeof We=="function"||typeof W.getSnapshotBeforeUpdate=="function")||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(xe!==Fn||jn!==St)&&YQe(S,W,F,St),zS=!1,jn=S.memoizedState,W.state=jn,zi(S,F,W,V),Pi();var ca=S.memoizedState;xe!==Fn||jn!==ca||zS||b!==null&&b.dependencies!==null&&Qe(b.dependencies)?(typeof We=="function"&&(_ye(S,R,We,F),ca=S.memoizedState),(sn=zS||WQe(S,R,sn,F,jn,ca,St)||b!==null&&b.dependencies!==null&&Qe(b.dependencies))?(Xt||typeof W.UNSAFE_componentWillUpdate!="function"&&typeof W.componentWillUpdate!="function"||(typeof W.componentWillUpdate=="function"&&W.componentWillUpdate(F,ca,St),typeof W.UNSAFE_componentWillUpdate=="function"&&W.UNSAFE_componentWillUpdate(F,ca,St)),typeof W.componentDidUpdate=="function"&&(S.flags|=4),typeof W.getSnapshotBeforeUpdate=="function"&&(S.flags|=1024)):(typeof W.componentDidUpdate!="function"||xe===b.memoizedProps&&jn===b.memoizedState||(S.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||xe===b.memoizedProps&&jn===b.memoizedState||(S.flags|=1024),S.memoizedProps=F,S.memoizedState=ca),W.props=F,W.state=ca,W.context=St,F=sn):(typeof W.componentDidUpdate!="function"||xe===b.memoizedProps&&jn===b.memoizedState||(S.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||xe===b.memoizedProps&&jn===b.memoizedState||(S.flags|=1024),F=!1)}return W=F,vk(b,S),F=(S.flags&128)!==0,W||F?(W=S.stateNode,R=F&&typeof R.getDerivedStateFromError!="function"?null:W.render(),S.flags|=1,b!==null&&F?(S.child=e8(S,b.child,null,V),S.child=e8(S,null,R,V)):_d(b,S,R,V),S.memoizedState=W.state,b=S.child):b=AA(b,S,V),b}function sXe(b,S,R,F){return be(),S.flags|=256,_d(b,S,R,F),S.child}function Gye(b){return{baseLanes:b,cachePool:en()}}function qye(b,S,R){return b=b!==null?b.childLanes&~R:0,S&&(b|=eg),b}function lXe(b,S,R){var F=S.pendingProps,V=!1,W=(S.flags&128)!==0,xe;if((xe=W)||(xe=b!==null&&b.memoizedState===null?!1:(ff.current&2)!==0),xe&&(V=!0,S.flags&=-129),xe=(S.flags&32)!==0,S.flags&=-33,b===null){if(na){if(V?nn(S):wn(),(b=il)?(b=L6n(b,v1),b!==null&&(S.memoizedState={dehydrated:b,treeContext:FS!==null?{id:Qv,overflow:Xv}:null,retryLane:536870912,hydrationErrors:null},R=sWe(b),R.return=S,S.child=R,hp=S,il=null)):b=null,b===null)throw pe(S);return V2e(b)?S.lanes=32:S.lanes=536870912,null}return W=F.children,F=F.fallback,V?(wn(),V=S.mode,W=YY({mode:"hidden",children:W},V),F=X5(F,V,R,null),W.return=S,F.return=S,W.sibling=F,S.child=W,F=S.child,F.memoizedState=Gye(R),F.childLanes=qye(b,xe,R),S.memoizedState=ave,nF(null,F)):(nn(S),Zye(S,W))}var We=b.memoizedState;if(We!==null){var St=We.dehydrated;if(St!==null)return QSn(b,S,W,xe,F,St,We,R)}return V?(wn(),V=F.fallback,W=S.mode,We=b.child,St=We.sibling,F=wA(We,{mode:"hidden",children:F.children}),F.subtreeFlags=We.subtreeFlags&1206910976,St!==null?V=wA(St,V):(V=X5(V,W,R,null),V.flags|=2),V.return=S,F.return=S,F.sibling=V,S.child=F,nF(null,F),F=S.child,V=b.child.memoizedState,V===null?V=Gye(R):(W=V.cachePool,W!==null?(We=qv?Bl._currentValue:Bl._currentValue2,W=W.parent!==We?{parent:We,pool:We}:W):W=en(),V={baseLanes:V.baseLanes|R,cachePool:W}),F.memoizedState=V,F.childLanes=qye(b,xe,R),S.memoizedState=ave,nF(b.child,F)):(nn(S),R=b.child,b=R.sibling,R=wA(R,{mode:"visible",children:F.children}),R.return=S,R.sibling=null,b!==null&&(xe=S.deletions,xe===null?(S.deletions=[b],S.flags|=16):xe.push(b)),S.child=R,S.memoizedState=null,R)}function Zye(b,S){return S=YY({mode:"visible",children:S},b.mode),S.return=b,b.child=S}function YY(b,S){return b=n(22,b,null,S),b.lanes=0,b}function KY(b,S,R){return e8(S,b.child,null,R),b=Zye(S,S.pendingProps.children),b.flags|=2,S.memoizedState=null,b}function QSn(b,S,R,F,V,W,xe,We){if(R)return S.flags&256?(nn(S),S.flags&=-257,KY(b,S,We)):S.memoizedState!==null?(wn(),S.child=b.child,S.flags|=128,null):(wn(),W=V.fallback,xe=S.mode,V=YY({mode:"visible",children:V.children},xe),W=X5(W,xe,We,null),W.flags|=2,V.return=S,W.return=S,V.sibling=W,S.child=V,e8(S,b.child,null,We),V=S.child,V.memoizedState=Gye(We),V.childLanes=qye(b,F,We),S.memoizedState=ave,nF(null,V));if(nn(S),V2e(W))return F=x6n(W).digest,F!==""&&(V=Error(o(419)),V.stack="",V.digest=F,ce({value:V,source:null,stack:null})),KY(b,S,We);if(gd||Me(b,S,We,!1),F=(We&b.childLanes)!==0,gd||F){if(_S.current!==null)return KY(b,S,We);if(F=ms,F!==null&&(V=O(F,We),V!==0&&V!==xe.retryLane))throw xe.retryLane=V,qn(b,V),Vh(F,b,V),ove;return H2e(W)||iK(),KY(b,S,We)}return H2e(W)?(S.flags|=192,S.child=b.child,null):(b=xe.treeContext,uf&&(il=k6n(W),hp=S,na=!0,NS=null,v1=!1,b!==null&&ne(S,b)),S=Zye(S,V.children),S.flags|=134221824,S)}function cXe(b,S,R){b.lanes|=S;var F=b.alternate;F!==null&&(F.lanes|=S),se(b.return,S,R)}function uXe(b){for(var S=null;b!==null;){var R=b.alternate;R!==null&&hn(R)===null&&(S=b),b=b.sibling}return S}function JY(b,S,R,F,V,W){var xe=b.memoizedState;xe===null?b.memoizedState={isBackwards:S,rendering:null,renderingStartTime:0,last:F,tail:R,tailMode:V,treeForkCount:W}:(xe.isBackwards=S,xe.rendering=null,xe.renderingStartTime=0,xe.last=F,xe.tail=R,xe.tailMode=V,xe.treeForkCount=W)}function Qye(b){var S=b.child;for(b.child=null;S!==null;){var R=S.sibling;S.sibling=b.child,b.child=S,S=R}}function Xye(b,S,R){var F=S.pendingProps,V=F.revealOrder,W=F.tail;F=F.children;var xe=ff.current;if(S.flags&128)return Qn(S,xe),null;var We=(xe&2)!==0;if(We?(xe=xe&1|2,S.flags|=128):xe&=1,Qn(S,xe),V==="backwards"&&b!==null?(Qye(b),_d(b,S,F,R),Qye(b)):_d(b,S,F,R),F=na?mF:0,!We&&b!==null&&(b.flags&128)!==0)e:for(b=S.child;b!==null;){if(b.tag===13)b.memoizedState!==null&&cXe(b,R,S);else if(b.tag===19)cXe(b,R,S);else if(b.child!==null){b.child.return=b,b=b.child;continue}if(b===S)break e;for(;b.sibling===null;){if(b.return===null||b.return===S)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}switch(V){case"backwards":R=uXe(S.child),R===null?(V=S.child,S.child=null):(V=R.sibling,R.sibling=null,Qye(S)),JY(S,!0,V,null,W,F);break;case"unstable_legacy-backwards":for(R=null,V=S.child,S.child=null;V!==null;){if(b=V.alternate,b!==null&&hn(b)===null){S.child=V;break}b=V.sibling,V.sibling=R,R=V,V=b}JY(S,!0,R,null,W,F);break;case"together":JY(S,!1,null,null,void 0,F);break;case"independent":S.memoizedState=null;break;default:R=uXe(S.child),R===null?(V=S.child,S.child=null):(V=R.sibling,R.sibling=null),JY(S,!1,V,R,W,F)}return S.child}function dXe(b,S,R){var F=S.pendingProps;return ue(S,S.type,F.value),_d(b,S,F.children,R),S.child}function AA(b,S,R){if(b!==null&&(S.dependencies=b.dependencies),VS|=S.lanes,(R&S.childLanes)===0)if(b!==null){if(Me(b,S,R,!1),(R&S.childLanes)===0)return null}else return null;if(b!==null&&S.child!==b.child)throw Error(o(153));if(S.child!==null){for(b=S.child,R=wA(b,b.pendingProps),S.child=R,R.return=S;b.sibling!==null;)b=b.sibling,R=R.sibling=wA(b,b.pendingProps),R.return=S;R.sibling=null}return S.child}function Wye(b,S){return(b.lanes&S)!==0?!0:(b=b.dependencies,!!(b!==null&&Qe(b)))}function XSn(b,S,R){switch(S.tag){case 3:Se(S,S.stateNode.containerInfo),ue(S,Bl,b.memoizedState.cache),be();break;case 27:case 5:Ae(S);break;case 4:Se(S,S.stateNode.containerInfo);break;case 10:ue(S,S.type,S.memoizedProps.value);break;case 31:if(S.memoizedState!==null)return S.flags|=128,dn(S),null;break;case 13:var F=S.memoizedState;if(F!==null){if(F.dehydrated!==null)return nn(S),S.flags|=128,null;F=Me(b,S,R,!1);var V=S.child.childLanes;return F||(R&V)!==0?lXe(b,S,R):(nn(S),b=AA(b,S,R),b!==null?b.sibling:null)}nn(S);break;case 19:if(S.flags&128)return Xye(b,S,R);if(V=(b.flags&128)!==0,F=(R&S.childLanes)!==0,F||(Me(b,S,R,!1),F=(R&S.childLanes)!==0),V){if(F)return Xye(b,S,R);S.flags|=128}if(V=S.memoizedState,V!==null&&(V.rendering=null,V.tail=null,V.lastEffect=null),Qn(S,ff.current),F)break;return null;case 22:return S.lanes=0,nXe(b,S,R,S.pendingProps);case 24:ue(S,Bl,b.memoizedState.cache)}return AA(b,S,R)}function pXe(b,S,R){if(b!==null)if(b.memoizedProps!==S.pendingProps)gd=!0;else{if(!Wye(b,R)&&(S.flags&128)===0)return gd=!1,XSn(b,S,R);gd=(b.flags&131072)!==0}else gd=!1,na&&(S.flags&1048576)!==0&&J(S,mF,S.index);switch(S.lanes=0,S.tag){case 16:e:{var F=S.pendingProps;if(b=Be(S.elementType),S.type=b,typeof b=="function")I2e(b)?(F=Q5(b,F),S.tag=1,S=iXe(null,S,b,F,R)):(S.tag=0,S=Vye(null,S,b,F,R));else{if(b!=null){var V=b.$$typeof;if(V===D2e){S.tag=11,S=$Qe(null,S,b,F,R);break e}else if(V===O2e){S.tag=14,S=eXe(null,S,b,F,R);break e}else if(V===SA){S.tag=10,S.type=b,S=dXe(null,S,R);break e}}throw S=d(b)||b,Error(o(306,S,""))}}return S;case 0:return Vye(b,S,S.type,S.pendingProps,R);case 1:return F=S.type,V=Q5(F,S.pendingProps),iXe(b,S,F,V,R);case 3:e:{if(Se(S,S.stateNode.containerInfo),b===null)throw Error(o(387));var W=S.pendingProps;V=S.memoizedState,F=V.element,mo(b,S),zi(S,W,null,R);var xe=S.memoizedState;if(W=xe.cache,ue(S,Bl,W),W!==V.cache&&qe(S,[Bl],R,!0),Pi(),W=xe.element,uf&&V.isDehydrated)if(V={element:W,isDehydrated:!1,cache:xe.cache},S.updateQueue.baseState=V,S.memoizedState=V,S.flags&256){S=sXe(b,S,W,R);break e}else if(W!==F){F=j(Error(o(424)),S),ce(F),S=sXe(b,S,W,R);break e}else for(uf&&(il=I6n(S.stateNode.containerInfo),hp=S,na=!0,NS=null,v1=!0),R=XWe(S,null,W,R),S.child=R;R;)R.flags=R.flags&-3|134221824,R=R.sibling;else{if(be(),W===F){S=AA(b,S,R);break e}_d(b,S,W,R)}S=S.child}return S;case 26:if(h1)return vk(b,S),b===null?(R=BWe(S.type,null,S.pendingProps,null))?S.memoizedState=R:na||(S.stateNode=UWe(S.type,S.pendingProps,US.current,S)):S.memoizedState=BWe(S.type,b.memoizedProps,S.pendingProps,b.memoizedState),null;case 27:if(Ll)return Ae(S),b===null&&Ll&&na&&(F=S.stateNode=zWe(S.type,S.pendingProps,US.current,df.current,!1),hp=S,v1=!0,il=R6n(S.type,F,il)),_d(b,S,S.pendingProps.children,R),vk(b,S),b===null&&(S.flags|=4194304),S.child;case 5:return b===null&&na&&(K6n(S.type,S.pendingProps,df.current),(V=F=il)&&(F=P6n(F,S.type,S.pendingProps,v1),F!==null?(S.stateNode=F,hp=S,il=E6n(F),v1=!1,V=!0):V=!1),V||pe(S)),Ae(S),V=S.type,W=S.pendingProps,xe=b!==null?b.memoizedProps:null,F=W.children,dK(V,W)?F=null:xe!==null&&dK(V,xe)&&(S.flags|=32),S.memoizedState!==null&&(V=ir(b,S,kn,null,null,R),qv?EA._currentValue=V:EA._currentValue2=V),vk(b,S),_d(b,S,F,R),S.child;case 6:return b===null&&na&&(J6n(S.pendingProps,df.current),(b=R=il)&&(R=M6n(R,S.pendingProps,v1),R!==null?(S.stateNode=R,hp=S,il=null,b=!0):b=!1),b||pe(S)),null;case 13:return lXe(b,S,R);case 4:return Se(S,S.stateNode.containerInfo),F=S.pendingProps,b===null?S.child=e8(S,null,F,R):_d(b,S,F,R),S.child;case 11:return $Qe(b,S,S.type,S.pendingProps,R);case 7:return F=S.pendingProps,vk(b,S),_d(b,S,F,R),S.child;case 8:return _d(b,S,S.pendingProps.children,R),S.child;case 12:return _d(b,S,S.pendingProps.children,R),S.child;case 10:return dXe(b,S,R);case 9:return V=S.type._context,F=S.pendingProps.children,ee(S),V=K(V),F=F(V),S.flags|=1,_d(b,S,F,R),S.child;case 14:return eXe(b,S,S.type,S.pendingProps,R);case 15:return tXe(b,S,S.type,S.pendingProps,R);case 19:return Xye(b,S,R);case 31:return ZSn(b,S,R);case 22:return nXe(b,S,R,S.pendingProps);case 24:return ee(S),F=K(Bl),b===null?(V=ot(),V===null&&(V=ms,W=tt(),V.pooledCache=W,W.refCount++,W!==null&&(V.pooledCacheLanes|=R),V=W),S.memoizedState={parent:F,cache:V},Yr(S),ue(S,Bl,V)):((b.lanes&R)!==0&&(mo(b,S),zi(S,null,null,R),Pi()),V=b.memoizedState,W=S.memoizedState,V.parent!==F?(V={parent:F,cache:F},S.memoizedState=V,S.lanes===0&&(S.memoizedState=S.updateQueue.baseState=V),ue(S,Bl,F)):(F=W.cache,ue(S,Bl,F),F!==V.cache&&qe(S,[Bl],R,!0))),_d(b,S,S.pendingProps.children,R),S.child;case 30:return S.stateNode===null&&(S.stateNode={autoName:null,paired:null,clones:null,ref:null}),F=S.pendingProps,F.name!=null&&F.name!=="auto"?S.flags|=b===null?18882560:18874368:na&&Y(S),b!==null&&b.memoizedProps.name!==F.name?S.flags|=4194816:vk(b,S),_d(b,S,F.children,R),S.child;case 29:throw S.pendingProps}throw Error(o(156,S.tag))}function o2(b){b.flags|=4}function jY(b){Zv&&(b.flags|=8)}function fXe(b,S){if(b!==null&&b.child===S.child)return!1;if((S.flags&16)!==0)return!0;for(b=S.child;b!==null;){if((b.flags&8218)!==0||(b.subtreeFlags&8218)!==0)return!0;b=b.sibling}return!1}function Yye(b,S,R,F){if(Dl)for(R=S.child;R!==null;){if(R.tag===5||R.tag===6)N2e(b,R.stateNode);else if(!(R.tag===4||Ll&&R.tag===27)&&R.child!==null){R.child.return=R,R=R.child;continue}if(R===S)break;for(;R.sibling===null;){if(R.return===null||R.return===S)return;R=R.return}R.sibling.return=R.return,R=R.sibling}else if(Zv)for(var V=S.child;V!==null;){if(V.tag===5){var W=V.stateNode;R&&F&&(W=RWe(W,V.type,V.memoizedProps)),N2e(b,W)}else if(V.tag===6)W=V.stateNode,R&&F&&(W=PWe(W,V.memoizedProps)),N2e(b,W);else if(V.tag!==4){if(V.tag===22&&V.memoizedState!==null)W=V.child,W!==null&&(W.return=V),Yye(b,V,!0,!0);else if(V.child!==null){V.child.return=V,V=V.child;continue}}if(V===S)break;for(;V.sibling===null;){if(V.return===null||V.return===S)return;V=V.return}V.sibling.return=V.return,V=V.sibling}}function mXe(b,S,R,F){var V=!1;if(Zv)for(var W=S.child;W!==null;){if(W.tag===5){var xe=W.stateNode;R&&F&&(xe=RWe(xe,W.type,W.memoizedProps)),TWe(b,xe)}else if(W.tag===6)xe=W.stateNode,R&&F&&(xe=PWe(xe,W.memoizedProps)),TWe(b,xe);else if(W.tag!==4){if(W.tag===22&&W.memoizedState!==null)V=W.child,V!==null&&(V.return=W),mXe(b,W,!0,!0),V=!0;else if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===S)break;for(;W.sibling===null;){if(W.return===null||W.return===S)return V;W=W.return}W.sibling.return=W.return,W=W.sibling}return V}function hXe(b,S){if(Zv&&fXe(b,S)){b=S.stateNode;var R=b.containerInfo,F=IWe();mXe(F,S,!1,!1),b.pendingChildren=F,o2(S),b6n(R,F)}}function Kye(b,S,R,F){if(Dl)b.memoizedProps!==F&&o2(S);else if(Zv){var V=b.stateNode,W=b.memoizedProps;if((b=fXe(b,S))||W!==F){var xe=df.current;W=v6n(V,R,W,F,!b,null),W===V?S.stateNode=V:(jY(S),vWe(W,R,F,xe)&&o2(S),S.stateNode=W,b&&Yye(W,S,!1,!1))}else S.stateNode=V}}function Jye(b,S,R,F,V){if((b.mode&32)!==0&&(R===null?M4n(S,F):D4n(S,R,F))){if(b.flags|=16777216,(V&335544128)===V||z2e(S,F))if(xWe(b.stateNode,S,F))b.flags|=8192;else if(KXe())b.flags|=8192;else throw $5=SK,eve}else b.flags&=-16777217}function gXe(b,S){if(eCn(S)){if(b.flags|=16777216,!NWe(S))if(KXe())b.flags|=8192;else throw $5=SK,eve}else b.flags&=-16777217}function $Y(b,S){S!==null&&(b.flags|=4),b.flags&16384&&(S=b.tag!==22?C():536870912,b.lanes|=S,Vk|=S)}function rF(b,S){if(!na)switch(b.tailMode){case"visible":break;case"collapsed":for(var R=b.tail,F=null;R!==null;)R.alternate!==null&&(F=R),R=R.sibling;F===null?S||b.tail===null?b.tail=null:b.tail.sibling=null:F.sibling=null;break;default:for(S=b.tail,R=null;S!==null;)S.alternate!==null&&(R=S),S=S.sibling;R===null?b.tail=null:R.sibling=null}}function Es(b){var S=b.alternate!==null&&b.alternate.child===b.child,R=0,F=0;if(S)for(var V=b.child;V!==null;)R|=V.lanes|V.childLanes,F|=V.subtreeFlags&1206910976,F|=V.flags&1206910976,V.return=b,V=V.sibling;else for(V=b.child;V!==null;)R|=V.lanes|V.childLanes,F|=V.subtreeFlags,F|=V.flags,V.return=b,V=V.sibling;return b.subtreeFlags|=F,b.childLanes=R,S}function WSn(b,S,R){var F=S.pendingProps;switch(ae(S),S.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Es(S),null;case 1:return Es(S),null;case 3:return R=S.stateNode,F=null,b!==null&&(F=b.memoizedState.cache),S.memoizedState.cache!==F&&(S.flags|=2048),ke(Bl),fe(),R.pendingContext&&(R.context=R.pendingContext,R.pendingContext=null),(b===null||b.child===null)&&(Ne(S)?o2(S):b===null||b.memoizedState.isDehydrated&&(S.flags&256)===0||(S.flags|=1024,ye())),hXe(b,S),Es(S),null;case 26:if(h1){var{type:V,memoizedState:W}=S;return b===null?(o2(S),W!==null?(Es(S),gXe(S,W)):(Es(S),Jye(S,V,null,F,R))):W?W!==b.memoizedState?(o2(S),Es(S),gXe(S,W)):(Es(S),S.flags&=-16777217):(W=b.memoizedProps,Dl?W!==F&&o2(S):Kye(b,S,V,F),Es(S),Jye(S,V,W,F,R)),null}case 27:if(Ll){if(Ee(S),R=US.current,V=S.type,b!==null&&S.stateNode!=null)Dl?b.memoizedProps!==F&&o2(S):Kye(b,S,V,F);else{if(!F){if(S.stateNode===null)throw Error(o(166));return Es(S),S.subtreeFlags&=-33554433,null}b=df.current,Ne(S)?Re(S,b):(b=zWe(V,F,R,b,!0),S.stateNode=b,o2(S))}return Es(S),S.subtreeFlags&=-33554433,null}case 5:if(Ee(S),V=S.type,b!==null&&S.stateNode!=null)Kye(b,S,V,F);else{if(!F){if(S.stateNode===null)throw Error(o(166));return Es(S),S.subtreeFlags&=-33554433,null}if(W=df.current,Ne(S))Re(S,W),q6n(S.stateNode,V,F,W)&&(S.flags|=64);else{var xe=S4n(V,F,US.current,W,S);jY(S),Yye(xe,S,!1,!1),S.stateNode=xe,vWe(xe,V,F,W)&&o2(S)}}return Es(S),S.subtreeFlags&=-33554433,Jye(S,S.type,b===null?null:b.memoizedProps,S.pendingProps,R),null;case 6:if(b&&S.stateNode!=null)R=b.memoizedProps,Dl?R!==F&&o2(S):Zv&&(R!==F?(b=US.current,R=df.current,jY(S),S.stateNode=bWe(F,b,R,S)):S.stateNode=b.stateNode);else{if(typeof F!="string"&&S.stateNode===null)throw Error(o(166));if(b=US.current,R=df.current,Ne(S)){if(!uf)throw Error(o(176));if(b=S.stateNode,R=S.memoizedProps,F=null,V=hp,V!==null)switch(V.tag){case 27:case 5:F=V.memoizedProps}O6n(b,R,S,F)||pe(S,!0)}else jY(S),S.stateNode=bWe(F,b,R,S)}return Es(S),null;case 31:if(R=S.memoizedState,b===null||b.memoizedState!==null){if(F=Ne(S),R!==null){if(b===null){if(!F)throw Error(o(318));if(!uf)throw Error(o(556));if(b=S.memoizedState,b=b!==null?b.dehydrated:null,!b)throw Error(o(557));F6n(b,S)}else be(),(S.flags&128)===0&&(S.memoizedState=null),S.flags|=4;Es(S),b=!1}else R=ye(),b!==null&&b.memoizedState!==null&&(b.memoizedState.hydrationErrors=R),b=!0;if(!b)return S.flags&256?(Qt(S),S):(Qt(S),null);if((S.flags&128)!==0)throw Error(o(558))}return Es(S),null;case 13:if(F=S.memoizedState,b===null||b.memoizedState!==null&&b.memoizedState.dehydrated!==null){if(V=Ne(S),F!==null&&F.dehydrated!==null){if(b===null){if(!V)throw Error(o(318));if(!uf)throw Error(o(344));if(V=S.memoizedState,V=V!==null?V.dehydrated:null,!V)throw Error(o(317));U6n(V,S)}else be(),(S.flags&128)===0&&(S.memoizedState=null),S.flags|=4;Es(S),V=!1}else V=ye(),b!==null&&b.memoizedState!==null&&(b.memoizedState.hydrationErrors=V),V=!0;if(!V)return S.flags&256?(Qt(S),S):(Qt(S),null)}return Qt(S),(S.flags&128)!==0?(S.lanes=R,S):(R=F!==null,b=b!==null&&b.memoizedState!==null,R&&(F=S.child,V=null,F.alternate!==null&&F.alternate.memoizedState!==null&&F.alternate.memoizedState.cachePool!==null&&(V=F.alternate.memoizedState.cachePool.pool),W=null,F.memoizedState!==null&&F.memoizedState.cachePool!==null&&(W=F.memoizedState.cachePool.pool),W!==V&&(F.flags|=2048)),R!==b&&R&&(S.child.flags|=8192),$Y(S,S.updateQueue),Es(S),null);case 4:return fe(),hXe(b,S),b===null&&T4n(S.stateNode.containerInfo),S.flags|=67108864,Es(S),null;case 10:return ke(S.type),Es(S),null;case 19:if(fr(S),F=S.memoizedState,F===null)return Es(S),null;if(V=(S.flags&128)!==0,W=F.rendering,W===null)if(V)rF(F,!1);else{if(oc!==0||b!==null&&(b.flags&128)!==0)for(b=S.child;b!==null;){if(W=hn(b),W!==null){for(S.flags|=128,rF(F,!1),b=W.updateQueue,S.updateQueue=b,$Y(S,b),S.subtreeFlags=0,b=R,R=S.child;R!==null;)iWe(R,b),R=R.sibling;return Qn(S,ff.current&1|2),na&&oe(S,F.treeForkCount),S.child}b=b.sibling}F.tail!==null&&Gh()>SF&&(S.flags|=128,V=!0,rF(F,!1),S.lanes=4194304)}else{if(!V)if(b=hn(W),b!==null){if(S.flags|=128,V=!0,b=b.updateQueue,S.updateQueue=b,$Y(S,b),rF(F,!0),F.tail===null&&F.tailMode!=="collapsed"&&F.tailMode!=="visible"&&!W.alternate&&!na)return Es(S),null}else 2*Gh()-F.renderingStartTime>SF&&R!==536870912&&(S.flags|=128,V=!0,rF(F,!1),S.lanes=4194304);F.isBackwards?(W.sibling=S.child,S.child=W):(b=F.last,b!==null?b.sibling=W:S.child=W,F.last=W)}if(F.tail!==null){b=F.tail;e:{for(R=b;R!==null;){if(R.alternate!==null){R=!1;break e}R=R.sibling}R=!0}return F.rendering=b,F.tail=b.sibling,F.renderingStartTime=Gh(),b.sibling=null,W=ff.current,W=V?W&1|2:W&1,F.tailMode==="visible"||F.tailMode==="collapsed"||!R||na?Qn(S,W):(R=W,m(pf,S),m(ff,R),Km===null&&(Km=S)),na&&oe(S,F.treeForkCount),b}return Es(S),null;case 22:case 23:return Qt(S),lt(),F=S.memoizedState!==null,b!==null?b.memoizedState!==null!==F&&(S.flags|=8192):F&&(S.flags|=8192),F?(R&536870912)!==0&&(S.flags&128)===0&&(Es(S),S.subtreeFlags&6&&(S.flags|=8192)):Es(S),R=S.updateQueue,R!==null&&$Y(S,R.retryQueue),R=null,b!==null&&b.memoizedState!==null&&b.memoizedState.cachePool!==null&&(R=b.memoizedState.cachePool.pool),F=null,S.memoizedState!==null&&S.memoizedState.cachePool!==null&&(F=S.memoizedState.cachePool.pool),F!==R&&(S.flags|=2048),b!==null&&f(j5),null;case 24:return R=null,b!==null&&(R=b.memoizedState.cache),S.memoizedState.cache!==R&&(S.flags|=2048),ke(Bl),Es(S),null;case 25:return null;case 30:return S.flags|=33554432,Es(S),null}throw Error(o(156,S.tag))}function YSn(b,S){switch(ae(S),S.tag){case 1:return b=S.flags,b&65536?(S.flags=b&-65537|128,S):null;case 3:return ke(Bl),fe(),b=S.flags,(b&65536)!==0&&(b&128)===0?(S.flags=b&-65537|128,S):null;case 26:case 27:case 5:return Ee(S),null;case 31:if(S.memoizedState!==null){if(Qt(S),S.alternate===null)throw Error(o(340));be()}return b=S.flags,b&65536?(S.flags=b&-65537|128,S):null;case 13:if(Qt(S),b=S.memoizedState,b!==null&&b.dehydrated!==null){if(S.alternate===null)throw Error(o(340));be()}return b=S.flags,b&65536?(S.flags=b&-65537|128,S):null;case 19:return fr(S),b=S.flags,b&65536?(S.flags=b&-65537|128,b=S.memoizedState,b!==null&&(b.rendering=null,b.tail=null),S.flags|=4,S):null;case 4:return fe(),null;case 10:return ke(S.type),null;case 22:case 23:return Qt(S),lt(),b!==null&&f(j5),b=S.flags,b&65536?(S.flags=b&-65537|128,S):null;case 24:return ke(Bl),null;case 25:return null;default:return null}}function yXe(b,S){switch(ae(S),S.tag){case 3:ke(Bl),fe();break;case 26:case 27:case 5:Ee(S);break;case 4:fe();break;case 31:S.memoizedState!==null&&Qt(S);break;case 13:Qt(S);break;case 19:fr(S);break;case 10:ke(S.type);break;case 22:case 23:Qt(S),lt(),b!==null&&f(j5);break;case 24:ke(Bl)}}function oF(b,S){try{var R=S.updateQueue,F=R!==null?R.lastEffect:null;if(F!==null){var V=F.next;R=V;do{if((R.tag&b)===b){F=void 0;var W=R.create,xe=R.inst;F=W(),xe.destroy=F}R=R.next}while(R!==V)}}catch(We){ci(S,S.return,We)}}function MS(b,S,R){try{var F=S.updateQueue,V=F!==null?F.lastEffect:null;if(V!==null){var W=V.next;F=W;do{if((F.tag&b)===b){var xe=F.inst,We=xe.destroy;if(We!==void 0){xe.destroy=void 0,V=S;var St=R,Xt=We;try{Xt()}catch(sn){ci(V,St,sn)}}}F=F.next}while(F!==W)}}catch(sn){ci(S,S.return,sn)}}function vXe(b){var S=b.updateQueue;if(S!==null){var R=b.stateNode;try{et(S,R)}catch(F){ci(b,b.return,F)}}}function bXe(b,S,R){R.props=Q5(b.type,b.memoizedProps),R.state=b.memoizedState;try{R.componentWillUnmount()}catch(F){ci(b,S,F)}}function Hv(b,S){try{var R=b.ref;if(R!==null){switch(b.tag){case 26:case 27:case 5:var F=uF(b.stateNode);break;case 30:var V=b.stateNode,W=N(b.memoizedProps,V);(V.ref===null||V.ref.name!==W)&&(V.ref=CWe(W)),F=V.ref;break;case 7:b.stateNode===null&&(b.stateNode=h6n(b)),F=b.stateNode;break;default:F=b.stateNode}typeof R=="function"?b.refCleanup=R(F):R.current=F}}catch(xe){ci(b,S,xe)}}function lf(b,S){var R=b.ref,F=b.refCleanup;if(R!==null)if(typeof F=="function")try{F()}catch(V){ci(b,S,V)}finally{b.refCleanup=null,b=b.alternate,b!=null&&(b.refCleanup=null)}else if(typeof R=="function")try{R(null)}catch(V){ci(b,S,V)}else R.current=null}function xXe(){var b=em;return em=!1,b}function aF(b,S){if((b.tag===5||b.tag===27||b.tag===6)&&b.alternate===null&&S!==null)for(var R=0;R";case MK:return":has("+(y2e(b)||"")+")";case DK:return'[role="'+b.value+'"]';case BK:return'"'+b.value+'"';case LK:return'[data-testname="'+b.value+'"]';default:throw Error(o(365))}}function qXe(b,S){var R=[];b=[b,0];for(var F=0;FR?32:R;R=Zr.T;var V=CA();try{mp(F),Zr.T=null,F=pve,pve=null;var W=s2,xe=Jv;if(Ol=0,o8=s2=null,Jv=0,(Sa&6)!==0)throw Error(o(331));var We=Sa;if(Sa|=4,VXe(W.current),zXe(W,W.current,xe,F),Sa=We,Rt(0,!1),K0&&typeof K0.onPostCommitFiberRoot=="function")try{K0.onPostCommitFiberRoot(fF,W)}catch{}return!0}finally{mp(V),Zr.T=R,rWe(b,S)}}function oWe(b,S,R){S=j(R,S),S=Hye(b.stateNode,S,2),b=Co(b,S,2),b!==null&&(T(b,2),ct(b))}function ci(b,S,R){if(b.tag===3)oWe(b,b,R);else for(;S!==null;){if(S.tag===3){oWe(S,b,R);break}else if(S.tag===1){var F=S.stateNode;if(typeof S.type.getDerivedStateFromError=="function"||typeof F.componentDidCatch=="function"&&(GS===null||!GS.has(F))){b=j(R,b),R=JQe(2),F=Co(S,R,2),F!==null&&(jQe(R,F,S,b),T(F,2),ct(F));break}}S=S.return}}function E2e(b,S,R){var F=b.pingCache;if(F===null){F=b.pingCache=new bCn;var V=new Set;F.set(S,V)}else V=F.get(S),V===void 0&&(V=new Set,F.set(S,V));V.has(R)||(lve=!0,V.add(R),b=a4n.bind(null,b,S,R),S.then(b,b))}function a4n(b,S,R){var F=b.pingCache;F!==null&&F.delete(S),b.pingedLanes|=b.suspendedLanes&R,b.warmLanes&=~R,ms===b&&(Ra&R)===R&&((oc===4||oc===3&&(Ra&62914560)===Ra&&300>Gh()-OK)&&(Sa&2)===0?Sk(b,0):cve|=R,Vk===Ra&&(Vk=0)),ct(b)}function aWe(b,S){S===0&&(S=C()),b=qn(b,S),b!==null&&(T(b,S),ct(b))}function i4n(b){var S=b.memoizedState,R=0;S!==null&&(R=S.retryLane),aWe(b,R)}function s4n(b,S){var R=0;switch(b.tag){case 31:case 13:var{stateNode:F,memoizedState:V}=b;V!==null&&(R=V.retryLane);break;case 19:F=b.stateNode;break;case 22:F=b.stateNode._retryCache;break;default:throw Error(o(314))}F!==null&&F.delete(S),aWe(b,R)}function l4n(b,S){return yK(b,S)}function c4n(b,S,R,F){this.tag=b,this.key=R,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=S,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=F,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function I2e(b){return b=b.prototype,!(!b||!b.isReactComponent)}function wA(b,S){var R=b.alternate;return R===null?(R=n(b.tag,S,b.key,b.mode),R.elementType=b.elementType,R.type=b.type,R.stateNode=b.stateNode,R.alternate=b,b.alternate=R):(R.pendingProps=S,R.type=b.type,R.flags=0,R.subtreeFlags=0,R.deletions=null),R.flags=b.flags&1206910976,R.childLanes=b.childLanes,R.lanes=b.lanes,R.child=b.child,R.memoizedProps=b.memoizedProps,R.memoizedState=b.memoizedState,R.updateQueue=b.updateQueue,S=b.dependencies,R.dependencies=S===null?null:{lanes:S.lanes,firstContext:S.firstContext},R.sibling=b.sibling,R.index=b.index,R.ref=b.ref,R.refCleanup=b.refCleanup,R}function iWe(b,S){b.flags&=1206910978;var R=b.alternate;return R===null?(b.childLanes=0,b.lanes=S,b.child=null,b.subtreeFlags=0,b.memoizedProps=null,b.memoizedState=null,b.updateQueue=null,b.dependencies=null,b.stateNode=null):(b.childLanes=R.childLanes,b.lanes=R.lanes,b.child=R.child,b.subtreeFlags=0,b.deletions=null,b.memoizedProps=R.memoizedProps,b.memoizedState=R.memoizedState,b.updateQueue=R.updateQueue,b.type=R.type,S=R.dependencies,b.dependencies=S===null?null:{lanes:S.lanes,firstContext:S.firstContext}),b}function lK(b,S,R,F,V,W){var xe=0;if(F=b,typeof F=="function")I2e(F)&&(xe=1);else if(typeof F=="string")xe=h1&&Ll?LWe(b,R,df.current)?26:HWe(b)?27:5:h1?LWe(b,R,df.current)?26:5:Ll&&HWe(b)?27:5;else e:switch(F){case F2e:return b=n(31,R,S,V),b.elementType=F2e,b.lanes=W,b;case Ik:return X5(R.children,V,W,S);case fWe:xe=8,V|=24;break;case M2e:return b=n(12,R,S,V|2),b.elementType=M2e,b.lanes=W,b;case L2e:return b=n(13,R,S,V),b.elementType=L2e,b.lanes=W,b;case B2e:return b=n(19,R,S,V),b.elementType=B2e,b.lanes=W,b;case f4n:case U2e:return b=V|32,b=n(30,R,S,b),b.elementType=U2e,b.lanes=W,b.stateNode={autoName:null,paired:null,clones:null,ref:null},b;default:if(typeof F=="object"&&F!==null)switch(F.$$typeof){case SA:xe=10;break e;case mWe:xe=9;break e;case D2e:xe=11;break e;case O2e:xe=14;break e;case OS:xe=16,F=null;break e}xe=29,R=Error(o(130,b===null?"null":typeof b,"")),F=null}return S=n(xe,R,S,V),S.elementType=b,S.type=F,S.lanes=W,S}function X5(b,S,R,F){return b=n(7,b,F,S),b.lanes=R,b}function T2e(b,S,R){return b=n(6,b,null,S),b.lanes=R,b}function sWe(b){var S=n(18,null,null,0);return S.stateNode=b,S}function k2e(b,S,R){return S=n(4,b.children!==null?b.children:[],b.key,S),S.lanes=R,S.stateNode={containerInfo:b.containerInfo,pendingChildren:null,implementation:b.implementation},S}function u4n(b,S,R,F,V,W,xe,We,St){this.tag=1,this.containerInfo=b,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=W5,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=E(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=E(0),this.hiddenUpdates=E(null),this.identifierPrefix=F,this.onUncaughtError=V,this.onCaughtError=W,this.onRecoverableError=xe,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=St,this.transitionTypes=null,this.incompleteTransitions=new Map}function lWe(b,S,R,F,V,W,xe,We,St,Xt,sn,Fn){return b=new u4n(b,S,R,xe,St,Xt,sn,Fn,We),S=1,W===!0&&(S|=24),W=n(3,null,null,S),b.current=W,W.stateNode=b,S=tt(),S.refCount++,b.pooledCache=S,S.refCount++,W.memoizedState={element:F,isDehydrated:R,cache:S},Yr(W),b}function cWe(b){return b?(b=Pk,b):Pk}function uWe(b){var S=b._reactInternals;if(S===void 0)throw typeof b.render=="function"?Error(o(188)):(b=Object.keys(b).join(","),Error(o(268,b)));return b=s(S),b=b!==null?l(b):null,b===null?null:uF(b.stateNode)}function dWe(b,S,R,F,V,W){V=cWe(V),F.context===null?F.context=V:F.pendingContext=V,F=Zo(S),F.payload={element:R},W=W===void 0?null:W,W!==null&&(F.callback=W),R=Co(b,F,S),R!==null&&(Vh(R,b,S),on(R,b,S))}function pWe(b,S){if(b=b.memoizedState,b!==null&&b.dehydrated!==null){var R=b.retryLane;b.retryLane=R!==0&&R=Xt&&W>=Fn&&V<=sn&&xe<=jn){b.splice(S,1);break}else if(F!==Xt||R.width!==St.width||jnxe){if(!(W!==Fn||R.height!==St.height||snV)){Xt>F&&(St.width+=Xt-F,St.x=F),snW&&(St.height+=Fn-W,St.y=W),jnR&&(R=We)),We ")+` + `, + }, + r = new rA(5, 5, 5), + o = new Ac({ + name: "CubemapFromEquirect", + uniforms: L7(n.uniforms), + vertexShader: n.vertexShader, + fragmentShader: n.fragmentShader, + side: Rh, + blending: Rv, + }); + o.uniforms.tEquirect.value = t; + let a = new Na(r, o), + i = t.minFilter; + if (t.minFilter === p5) t.minFilter = Mh; + return ( + new mge(1, 10, this).update(e, a), + (t.minFilter = i), + a.geometry.dispose(), + a.material.dispose(), + this + ); + } + clear(e, t = !0, n = !0, r = !0) { + let o = e.getRenderTarget(); + for (let a = 0; a < 6; a++) + (e.setRenderTarget(this, a), e.clear(t, n, r)); + e.setRenderTarget(o); + } + }; + OLr = { + [_he]: "LINEAR_TONE_MAPPING", + [Hhe]: "REINHARD_TONE_MAPPING", + [Vhe]: "CINEON_TONE_MAPPING", + [UB]: "ACES_FILMIC_TONE_MAPPING", + [qhe]: "AGX_TONE_MAPPING", + [Zhe]: "NEUTRAL_TONE_MAPPING", + [Ghe]: "CUSTOM_TONE_MAPPING", + }; + ((R0n = new El()), + (wVe = new nA(1, 1)), + (P0n = new GB()), + (M0n = new qB()), + (D0n = new M7()), + (u0n = []), + (d0n = []), + (p0n = new Float32Array(16)), + (f0n = new Float32Array(9)), + (m0n = new Float32Array(4))); + xVe = /(\w+)(\])?(\[|\.)?/g; + y0n = new Ur(); + RBr = { + [_he]: "Linear", + [Hhe]: "Reinhard", + [Vhe]: "Cineon", + [UB]: "ACESFilmic", + [qhe]: "AgX", + [Zhe]: "Neutral", + [Ghe]: "Custom", + }; + Ege = new he(); + OBr = /^[ \t]*#include +<([\w\d./]+)>/gm; + FBr = new Map(); + NBr = + /#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g; + _Br = { [u5]: "SHADOWMAP_TYPE_PCF", [Yw]: "SHADOWMAP_TYPE_VSM" }; + VBr = { + [T7]: "ENVMAP_TYPE_CUBE", + [d5]: "ENVMAP_TYPE_CUBE", + [NB]: "ENVMAP_TYPE_CUBE_UV", + }; + qBr = { [d5]: "ENVMAP_MODE_REFRACTION" }; + QBr = { + [W_e]: "ENVMAP_BLENDING_MULTIPLY", + [Y_e]: "ENVMAP_BLENDING_MIX", + [K_e]: "ENVMAP_BLENDING_ADD", + }; + ((uOr = [ + new he(1, 0, 0), + new he(-1, 0, 0), + new he(0, 1, 0), + new he(0, -1, 0), + new he(0, 0, 1), + new he(0, 0, -1), + ]), + (dOr = [ + new he(0, -1, 0), + new he(0, -1, 0), + new he(0, 0, 1), + new he(0, 0, -1), + new he(0, -1, 0), + new he(0, -1, 0), + ]), + (I0n = new Vn()), + (AW = new he()), + (AVe = new he())); + z0n = class z0n extends Lh { + constructor(e, t) { + super(); + let n = this, + r = null, + o = 1, + a = null, + i = "local-floor", + s = 1, + l = null, + c = null, + u = null, + d = null, + p = null, + f = null, + m = typeof XRWebGLBinding < "u", + g = new N0n(), + v = {}, + y = t.getContextAttributes(), + x = null, + A = null, + w = [], + C = [], + E = new vt(), + T = null, + I = null, + k = new Kl(); + k.viewport = new Ja(); + let L = new Kl(); + L.viewport = new Ja(); + let O = [k, L], + B = new hge(), + U = null, + D = null; + ((this.cameraAutoUpdate = !0), + (this.enabled = !1), + (this.isPresenting = !1), + (this.getController = function (Y) { + let ae = w[Y]; + if (ae === void 0) ((ae = new ZB()), (w[Y] = ae)); + return ae.getTargetRaySpace(); + }), + (this.getControllerGrip = function (Y) { + let ae = w[Y]; + if (ae === void 0) ((ae = new ZB()), (w[Y] = ae)); + return ae.getGripSpace(); + }), + (this.getHand = function (Y) { + let ae = w[Y]; + if (ae === void 0) ((ae = new ZB()), (w[Y] = ae)); + return ae.getHandSpace(); + })); + function N(Y) { + let ae = C.indexOf(Y.inputSource); + if (ae === -1) return; + let ne = w[ae]; + if (ne !== void 0) + (ne.update(Y.inputSource, Y.frame, l || a), + ne.dispatchEvent({ type: Y.type, data: Y.inputSource })); + } + function _() { + (r.removeEventListener("select", N), + r.removeEventListener("selectstart", N), + r.removeEventListener("selectend", N), + r.removeEventListener("squeeze", N), + r.removeEventListener("squeezestart", N), + r.removeEventListener("squeezeend", N), + r.removeEventListener("end", _), + r.removeEventListener("inputsourceschange", G)); + for (let Y = 0; Y < w.length; Y++) { + let ae = C[Y]; + if (ae === null) continue; + ((C[Y] = null), w[Y].disconnect(ae)); + } + ((U = null), (D = null), g.reset()); + for (let Y in v) delete v[Y]; + if ( + (e.setRenderTarget(x), + (p = null), + (d = null), + (u = null), + (r = null), + (A = null), + J.stop(), + (n.isPresenting = !1), + e.setPixelRatio(T), + e.setSize(E.width, E.height, !1), + I !== null) + ) { + let Y = I.camera; + ((Y.fov = I.fov), + (Y.zoom = I.zoom), + Y.updateProjectionMatrix(), + (I = null)); + } + n.dispatchEvent({ type: "sessionend" }); + } + ((this.setFramebufferScaleFactor = function (Y) { + if (((o = Y), n.isPresenting === !0)) + zn("WebXRManager: Cannot change framebuffer scale while presenting."); + }), + (this.setReferenceSpaceType = function (Y) { + if (((i = Y), n.isPresenting === !0)) + zn( + "WebXRManager: Cannot change reference space type while presenting.", + ); + }), + (this.getReferenceSpace = function () { + return l || a; + }), + (this.setReferenceSpace = function (Y) { + l = Y; + }), + (this.getBaseLayer = function () { + return d !== null ? d : p; + }), + (this.getBinding = function () { + if (u === null && m) u = new XRWebGLBinding(r, t); + return u; + }), + (this.getFrame = function () { + return f; + }), + (this.getSession = function () { + return r; + }), + (this.setSession = async function (Y) { + if (((r = Y), r !== null)) { + if ( + ((x = e.getRenderTarget()), + r.addEventListener("select", N), + r.addEventListener("selectstart", N), + r.addEventListener("selectend", N), + r.addEventListener("squeeze", N), + r.addEventListener("squeezestart", N), + r.addEventListener("squeezeend", N), + r.addEventListener("end", _), + r.addEventListener("inputsourceschange", G), + y.xrCompatible !== !0) + ) + await t.makeXRCompatible(); + if ( + ((T = e.getPixelRatio()), + e.getSize(E), + !(m && "createProjectionLayer" in XRWebGLBinding.prototype)) + ) { + let ne = { + antialias: y.antialias, + alpha: !0, + depth: y.depth, + stencil: y.stencil, + framebufferScaleFactor: o, + }; + ((p = new XRWebGLLayer(r, t, ne)), + r.updateRenderState({ baseLayer: p }), + e.setPixelRatio(1), + e.setSize(p.framebufferWidth, p.framebufferHeight, !1), + (A = new ef(p.framebufferWidth, p.framebufferHeight, { + format: $p, + type: Fm, + colorSpace: e.outputColorSpace, + stencilBuffer: y.stencil, + resolveDepthBuffer: p.ignoreDepthValues === !1, + resolveStencilBuffer: p.ignoreDepthValues === !1, + storeMultisampledDepthBuffer: p.ignoreDepthValues === !1, + storeMultisampledStencilBuffer: p.ignoreDepthValues === !1, + }))); + } else { + let ne = null, + Se = null, + fe = null; + if (y.depth) + ((fe = y.stencil ? t.DEPTH24_STENCIL8 : t.DEPTH_COMPONENT24), + (ne = y.stencil ? f5 : eA), + (Se = y.stencil ? k7 : Dh)); + let Ae = { + colorFormat: t.RGBA8, + depthFormat: fe, + scaleFactor: o, + }; + ((u = this.getBinding()), + (d = u.createProjectionLayer(Ae)), + r.updateRenderState({ layers: [d] }), + e.setPixelRatio(1), + e.setSize(d.textureWidth, d.textureHeight, !1), + (A = new ef(d.textureWidth, d.textureHeight, { + format: $p, + type: Fm, + depthTexture: new nA( + d.textureWidth, + d.textureHeight, + Se, + void 0, + void 0, + void 0, + void 0, + void 0, + void 0, + ne, + ), + stencilBuffer: y.stencil, + colorSpace: e.outputColorSpace, + samples: y.antialias ? 4 : 0, + resolveDepthBuffer: d.ignoreDepthValues === !1, + resolveStencilBuffer: d.ignoreDepthValues === !1, + storeMultisampledDepthBuffer: d.ignoreDepthValues === !1, + storeMultisampledStencilBuffer: d.ignoreDepthValues === !1, + }))); + } + ((A.isXRRenderTarget = !0), + this.setFoveation(s), + (l = null), + (a = await r.requestReferenceSpace(i)), + J.setContext(r), + J.start(), + (n.isPresenting = !0), + n.dispatchEvent({ type: "sessionstart" })); + } + }), + (this.getEnvironmentBlendMode = function () { + if (r !== null) return r.environmentBlendMode; + }), + (this.getDepthTexture = function () { + return g.getDepthTexture(); + })); + function G(Y) { + for (let ae = 0; ae < Y.removed.length; ae++) { + let ne = Y.removed[ae], + Se = C.indexOf(ne); + if (Se >= 0) ((C[Se] = null), w[Se].disconnect(ne)); + } + for (let ae = 0; ae < Y.added.length; ae++) { + let ne = Y.added[ae], + Se = C.indexOf(ne); + if (Se === -1) { + for (let Ae = 0; Ae < w.length; Ae++) + if (Ae >= C.length) { + (C.push(ne), (Se = Ae)); + break; + } else if (C[Ae] === null) { + ((C[Ae] = ne), (Se = Ae)); + break; + } + if (Se === -1) break; + } + let fe = w[Se]; + if (fe) fe.connect(ne); + } + } + let Z = new he(), + q = new he(); + function H(Y, ae, ne) { + (Z.setFromMatrixPosition(ae.matrixWorld), + q.setFromMatrixPosition(ne.matrixWorld)); + let Se = Z.distanceTo(q), + fe = ae.projectionMatrix.elements, + Ae = ne.projectionMatrix.elements, + Ee = fe[14] / (fe[10] - 1), + pe = fe[14] / (fe[10] + 1), + Re = (fe[9] + 1) / fe[5], + Le = (fe[9] - 1) / fe[5], + Ne = (fe[8] - 1) / fe[0], + be = (Ae[8] + 1) / Ae[0], + ye = Ee * Ne, + ce = Ee * be, + ue = Se / (-Ne + be), + ke = ue * -Ne; + if ( + (ae.matrixWorld.decompose(Y.position, Y.quaternion, Y.scale), + Y.translateX(ke), + Y.translateZ(ue), + Y.matrixWorld.compose(Y.position, Y.quaternion, Y.scale), + Y.matrixWorldInverse.copy(Y.matrixWorld).invert(), + fe[10] === -1) + ) + (Y.projectionMatrix.copy(ae.projectionMatrix), + Y.projectionMatrixInverse.copy(ae.projectionMatrixInverse)); + else { + let se = Ee + ue, + qe = pe + ue, + Me = ye - ke, + Qe = ce + (Se - ke), + ee = ((Re * pe) / qe) * se, + K = ((Le * pe) / qe) * se; + (Y.projectionMatrix.makePerspective(Me, Qe, ee, K, se, qe), + Y.projectionMatrixInverse.copy(Y.projectionMatrix).invert()); + } + } + function te(Y, ae) { + if (ae === null) Y.matrixWorld.copy(Y.matrix); + else Y.matrixWorld.multiplyMatrices(ae.matrixWorld, Y.matrix); + Y.matrixWorldInverse.copy(Y.matrixWorld).invert(); + } + this.updateCamera = function (Y) { + if (r === null) return; + let { near: ae, far: ne } = Y; + if (g.texture !== null) { + if (g.depthNear > 0) ae = g.depthNear; + if (g.depthFar > 0) ne = g.depthFar; + } + if ( + ((B.near = L.near = k.near = ae), + (B.far = L.far = k.far = ne), + U !== B.near || D !== B.far) + ) + (r.updateRenderState({ depthNear: B.near, depthFar: B.far }), + (U = B.near), + (D = B.far)); + ((B.layers.mask = Y.layers.mask | 6), + (k.layers.mask = B.layers.mask & -5), + (L.layers.mask = B.layers.mask & -3)); + let Se = Y.parent, + fe = B.cameras; + te(B, Se); + for (let Ae = 0; Ae < fe.length; Ae++) te(fe[Ae], Se); + if (fe.length === 2) H(B, k, L); + else B.projectionMatrix.copy(k.projectionMatrix); + if (I === null && Y.isPerspectiveCamera) + I = { camera: Y, fov: Y.fov, zoom: Y.zoom }; + ie(Y, B, Se); + }; + function ie(Y, ae, ne) { + if (ne === null) Y.matrix.copy(ae.matrixWorld); + else + (Y.matrix.copy(ne.matrixWorld), + Y.matrix.invert(), + Y.matrix.multiply(ae.matrixWorld)); + if ( + (Y.matrix.decompose(Y.position, Y.quaternion, Y.scale), + Y.updateMatrixWorld(!0), + Y.projectionMatrix.copy(ae.projectionMatrix), + Y.projectionMatrixInverse.copy(ae.projectionMatrixInverse), + Y.isPerspectiveCamera) + ) + ((Y.fov = x7 * 2 * Math.atan(1 / Y.projectionMatrix.elements[5])), + (Y.zoom = 1)); + } + ((this.getCamera = function () { + return B; + }), + (this.getFoveation = function () { + if (d === null && p === null) return; + return s; + }), + (this.setFoveation = function (Y) { + if (((s = Y), d !== null)) d.fixedFoveation = Y; + if (p !== null && p.fixedFoveation !== void 0) p.fixedFoveation = Y; + }), + (this.hasDepthSensing = function () { + return g.texture !== null; + }), + (this.getDepthSensingMesh = function () { + return g.getMesh(B); + }), + (this.getCameraTexture = function (Y) { + return v[Y]; + })); + let j = null; + function oe(Y, ae) { + if (((c = ae.getViewerPose(l || a)), (f = ae), c !== null)) { + let ne = c.views; + if (p !== null) + (e.setRenderTargetFramebuffer(A, p.framebuffer), + e.setRenderTarget(A)); + let Se = !1; + if (ne.length !== B.cameras.length) + ((B.cameras.length = 0), (Se = !0)); + for (let pe = 0; pe < ne.length; pe++) { + let Re = ne[pe], + Le = null; + if (p !== null) Le = p.getViewport(Re); + else { + let be = u.getViewSubImage(d, Re); + if (((Le = be.viewport), pe === 0)) + (e.setRenderTargetTextures( + A, + be.colorTexture, + be.depthStencilTexture, + ), + e.setRenderTarget(A)); + } + let Ne = O[pe]; + if (Ne === void 0) + ((Ne = new Kl()), + Ne.layers.enable(pe), + (Ne.viewport = new Ja()), + (O[pe] = Ne)); + if ( + (Ne.matrix.fromArray(Re.transform.matrix), + Ne.matrix.decompose(Ne.position, Ne.quaternion, Ne.scale), + Ne.projectionMatrix.fromArray(Re.projectionMatrix), + Ne.projectionMatrixInverse.copy(Ne.projectionMatrix).invert(), + Ne.viewport.set(Le.x, Le.y, Le.width, Le.height), + pe === 0) + ) + (B.matrix.copy(Ne.matrix), + B.matrix.decompose(B.position, B.quaternion, B.scale)); + if (Se === !0) B.cameras.push(Ne); + } + let fe = r.enabledFeatures; + if ( + fe && + fe.includes("depth-sensing") && + r.depthUsage == "gpu-optimized" && + m + ) { + u = n.getBinding(); + let pe = u.getDepthInformation(ne[0]); + if (pe && pe.isValid && pe.texture) g.init(pe, r.renderState); + } + if (fe && fe.includes("camera-access") && m) { + (e.state.unbindTexture(), (u = n.getBinding())); + for (let pe = 0; pe < ne.length; pe++) { + let Re = ne[pe].camera; + if (Re) { + let Le = v[Re]; + if (!Le) ((Le = new VX()), (v[Re] = Le)); + let Ne = u.getCameraImage(Re); + Le.sourceTexture = Ne; + } + } + } + } + for (let ne = 0; ne < w.length; ne++) { + let Se = C[ne], + fe = w[ne]; + if (Se !== null && fe !== void 0) fe.update(Se, ae, l || a); + } + if (j) j(Y, ae); + if (ae.detectedPlanes) + n.dispatchEvent({ type: "planesdetected", data: ae }); + f = null; + } + let J = new T0n(); + (J.setAnimationLoop(oe), + (this.setAnimationLoop = function (Y) { + j = Y; + }), + (this.dispose = function () {})); + } + }; + ((yOr = new Vn()), (_0n = new Ur())); + _0n.set(-1, 0, 0, 0, 1, 0, 0, 0, 1); + xOr = new Uint16Array([ + 12469, 15057, 12620, 14925, 13266, 14620, 13807, 14376, 14323, 13990, 14545, + 13625, 14713, 13328, 14840, 12882, 14931, 12528, 14996, 12233, 15039, 11829, + 15066, 11525, 15080, 11295, 15085, 10976, 15082, 10705, 15073, 10495, 13880, + 14564, 13898, 14542, 13977, 14430, 14158, 14124, 14393, 13732, 14556, 13410, + 14702, 12996, 14814, 12596, 14891, 12291, 14937, 11834, 14957, 11489, 14958, + 11194, 14943, 10803, 14921, 10506, 14893, 10278, 14858, 9960, 14484, 14039, + 14487, 14025, 14499, 13941, 14524, 13740, 14574, 13468, 14654, 13106, 14743, + 12678, 14818, 12344, 14867, 11893, 14889, 11509, 14893, 11180, 14881, 10751, + 14852, 10428, 14812, 10128, 14765, 9754, 14712, 9466, 14764, 13480, 14764, + 13475, 14766, 13440, 14766, 13347, 14769, 13070, 14786, 12713, 14816, 12387, + 14844, 11957, 14860, 11549, 14868, 11215, 14855, 10751, 14825, 10403, 14782, + 10044, 14729, 9651, 14666, 9352, 14599, 9029, 14967, 12835, 14966, 12831, + 14963, 12804, 14954, 12723, 14936, 12564, 14917, 12347, 14900, 11958, 14886, + 11569, 14878, 11247, 14859, 10765, 14828, 10401, 14784, 10011, 14727, 9600, + 14660, 9289, 14586, 8893, 14508, 8533, 15111, 12234, 15110, 12234, 15104, + 12216, 15092, 12156, 15067, 12010, 15028, 11776, 14981, 11500, 14942, 11205, + 14902, 10752, 14861, 10393, 14812, 9991, 14752, 9570, 14682, 9252, 14603, + 8808, 14519, 8445, 14431, 8145, 15209, 11449, 15208, 11451, 15202, 11451, + 15190, 11438, 15163, 11384, 15117, 11274, 15055, 10979, 14994, 10648, 14932, + 10343, 14871, 9936, 14803, 9532, 14729, 9218, 14645, 8742, 14556, 8381, + 14461, 8020, 14365, 7603, 15273, 10603, 15272, 10607, 15267, 10619, 15256, + 10631, 15231, 10614, 15182, 10535, 15118, 10389, 15042, 10167, 14963, 9787, + 14883, 9447, 14800, 9115, 14710, 8665, 14615, 8318, 14514, 7911, 14411, + 7507, 14279, 7198, 15314, 9675, 15313, 9683, 15309, 9712, 15298, 9759, + 15277, 9797, 15229, 9773, 15166, 9668, 15084, 9487, 14995, 9274, 14898, + 8910, 14800, 8539, 14697, 8234, 14590, 7790, 14479, 7409, 14367, 7067, + 14178, 6621, 15337, 8619, 15337, 8631, 15333, 8677, 15325, 8769, 15305, + 8871, 15264, 8940, 15202, 8909, 15119, 8775, 15022, 8565, 14916, 8328, + 14804, 8009, 14688, 7614, 14569, 7287, 14448, 6888, 14321, 6483, 14088, + 6171, 15350, 7402, 15350, 7419, 15347, 7480, 15340, 7613, 15322, 7804, + 15287, 7973, 15229, 8057, 15148, 8012, 15046, 7846, 14933, 7611, 14810, + 7357, 14682, 7069, 14552, 6656, 14421, 6316, 14251, 5948, 14007, 5528, + 15356, 5942, 15356, 5977, 15353, 6119, 15348, 6294, 15332, 6551, 15302, + 6824, 15249, 7044, 15171, 7122, 15070, 7050, 14949, 6861, 14818, 6611, + 14679, 6349, 14538, 6067, 14398, 5651, 14189, 5311, 13935, 4958, 15359, + 4123, 15359, 4153, 15356, 4296, 15353, 4646, 15338, 5160, 15311, 5508, + 15263, 5829, 15188, 6042, 15088, 6094, 14966, 6001, 14826, 5796, 14678, + 5543, 14527, 5287, 14377, 4985, 14133, 4586, 13869, 4257, 15360, 1563, + 15360, 1642, 15358, 2076, 15354, 2636, 15341, 3350, 15317, 4019, 15273, + 4429, 15203, 4732, 15105, 4911, 14981, 4932, 14836, 4818, 14679, 4621, + 14517, 4386, 14359, 4156, 14083, 3795, 13808, 3437, 15360, 122, 15360, 137, + 15358, 285, 15355, 636, 15344, 1274, 15322, 2177, 15281, 2765, 15215, 3223, + 15120, 3451, 14995, 3569, 14846, 3567, 14681, 3466, 14511, 3305, 14344, + 3121, 14037, 2800, 13753, 2467, 15360, 0, 15360, 1, 15359, 21, 15355, 89, + 15346, 253, 15325, 479, 15287, 796, 15225, 1148, 15133, 1492, 15008, 1749, + 14856, 1882, 14685, 1886, 14506, 1783, 14324, 1608, 13996, 1398, 13702, + 1183, + ]); +}); +function COr(e, t = SOr, n) { + let r = wOr(e.subscribe, e.getState, e.getInitialState, t, n); + return (V0n.default.useDebugValue(r), r); +} +var V0n, + wOr, + SOr = (e) => e, + H0n = (e, t) => { + let n = Kj(e), + r = (o, a = t) => COr(n, o, a); + return (Object.assign(r, n), r); + }, + G0n = (e, t) => (e ? H0n(e, t) : H0n); +var q0n = P(() => { + Hee(); + Jj(); + ((V0n = z(re(), 1)), ({ useSyncExternalStoreWithSelector: wOr } = ySe)); +}); +function Z0n(e, t, n = (r, o) => r === o) { + if (e === t) return !0; + if (!e || !t) return !1; + let r = e.length; + if (t.length !== r) return !1; + for (let o = 0; o < r; o++) if (!n(e[o], t[o])) return !1; + return !0; +} +function Q0n(e, t = null, n = !1, r = {}) { + if (t === null) t = [e]; + for (let a of F7) + if (Z0n(t, a.keys, a.equal)) { + if (n) return; + if (Object.prototype.hasOwnProperty.call(a, "error")) throw a.error; + if (Object.prototype.hasOwnProperty.call(a, "response")) { + if (r.lifespan && r.lifespan > 0) { + if (a.timeout) clearTimeout(a.timeout); + a.timeout = setTimeout(a.remove, r.lifespan); + } + return a.response; + } + if (!n) throw a.promise; + } + let o = { + keys: t, + equal: r.equal, + remove: () => { + let a = F7.indexOf(o); + if (a !== -1) F7.splice(a, 1); + }, + promise: (EOr(e) ? e : e(...t)) + .then((a) => { + if (((o.response = a), r.lifespan && r.lifespan > 0)) + o.timeout = setTimeout(o.remove, r.lifespan); + }) + .catch((a) => (o.error = a)), + }; + if ((F7.push(o), !n)) throw o.promise; + return; +} +var EOr = (e) => typeof e === "object" && typeof e.then === "function", + F7, + X0n = (e, t, n) => Q0n(e, t, !1, n), + W0n = (e, t, n) => void Q0n(e, t, !0, n), + Y0n = (e) => { + if (e === void 0 || e.length === 0) F7.splice(0, F7.length); + else { + let t = F7.find((n) => Z0n(e, n.keys, n.equal)); + if (t) t.remove(); + } + }; +var K0n = P(() => { + F7 = []; +}); +function EW(e, t, n) { + if (!e) return; + if (n(e) === !0) return e; + let r = t ? e.return : e.child; + for (; r;) { + let o = EW(r, t, n); + if (o) return o; + r = t ? null : r.sibling; + } +} +function J0n(e) { + try { + return Object.defineProperties(e, { + _currentRenderer: { + get() { + return null; + }, + set() {}, + }, + _currentRenderer2: { + get() { + return null; + }, + set() {}, + }, + }); + } catch (t) { + return e; + } +} +function Dge() { + let e = Tl.default.useContext(CVe); + if (e === null) + throw Error( + "its-fine: useFiber must be called within a !", + ); + let t = Tl.default.useId(); + return Tl.default.useMemo(() => { + for (let n of [e, e == null ? void 0 : e.alternate]) { + if (!n) continue; + let r = EW(n, !1, (o) => { + let a = o.memoizedState; + for (; a;) { + if (a.memoizedState === t) return !0; + a = a.next; + } + }); + if (r) return r; + } + }, [e, t]); +} +function kOr() { + let e = Dge(), + [t] = Tl.default.useState(() => new Map()); + t.clear(); + let n = e; + for (; n;) { + let r = n.type; + (TOr(r) && r !== CVe && !t.has(r) && t.set(r, Tl.default.use(J0n(r))), + (n = n.return)); + } + return t; +} +function j0n() { + let e = kOr(); + return Tl.default.useMemo( + () => + Array.from(e.keys()).reduce( + (t, n) => (r) => + Tl.default.createElement( + t, + null, + Tl.default.createElement(n.Provider, { ...r, value: e.get(n) }), + ), + (t) => Tl.default.createElement(Mge, { ...t }), + ), + [e], + ); +} +function ROr(e) { + if (typeof requestAnimationFrame == "function") { + let n = requestAnimationFrame(e); + return () => cancelAnimationFrame(n); + } + let t = setTimeout(e, 16); + return () => clearTimeout(t); +} +function $0n() { + if (!Tl.default.Activity) + throw Error("its-fine: useActivityBridge requires React 19.2 or later!"); + let e = Dge(), + [t] = Tl.default.useState(() => { + let n = [], + r = !1; + EW(e, !0, (l) => { + var c, u; + if (l.elementType === Tl.default.Activity) { + let d = + ((c = l.child) == null ? void 0 : c.tag) === 22 + ? l.child.stateNode + : null; + if (typeof (d == null ? void 0 : d._visibility) != "number") + throw Error("its-fine: unsupported React Activity internals!"); + n.push(d); + } else + l.tag === 22 && + ((u = l.return) == null ? void 0 : u.elementType) !== + Tl.default.Activity && + (r = !0); + }); + let o = "hidden", + a = new Set(), + i, + s = { + mounted: !1, + connected: !1, + subscribe(l) { + return ( + a.add(l), + () => { + a.delete(l); + } + ); + }, + sync(l) { + s.mounted && !s.connected && r && n.length > 0 + ? i || + (i = ROr(() => { + ((i = void 0), s.sync(!0)); + })) + : (i == null || i(), (i = void 0)); + let c = o; + if ( + (s.mounted + ? s.connected + ? (c = "visible") + : l && + (c = n.every((u) => (u._visibility & 1) !== 0) + ? "visible" + : "hidden") + : (c = "hidden"), + o !== c) + ) { + o = c; + for (let u of a) u(); + } + }, + Bridge({ children: l }) { + return Tl.default.createElement( + Tl.default.Activity, + { + mode: Tl.default.useSyncExternalStore( + s.subscribe, + () => o, + () => "hidden", + ), + }, + l, + ); + }, + }; + return s; + }); + return ( + Tl.default.useInsertionEffect( + () => ( + (t.mounted = !0), + queueMicrotask(() => t.sync(!1)), + () => { + ((t.mounted = !1), queueMicrotask(() => t.sync(!1))); + } + ), + [t], + ), + Tl.default.useLayoutEffect( + () => ( + (t.connected = !0), + t.sync(!1), + () => { + ((t.connected = !1), t.sync(!0)); + } + ), + [t], + ), + t.Bridge + ); +} +var Tl, + AAs, + CVe, + Mge, + IOr, + TOr = (e) => + e !== null && typeof e == "object" && "$$typeof" in e && e.$$typeof === IOr; +var EVe = P(() => { + ((Tl = z(re(), 1)), + (AAs = (() => { + var e, t; + return ( + typeof window < "u" && + (((e = window.document) == null ? void 0 : e.createElement) || + ((t = window.navigator) == null ? void 0 : t.product) === + "ReactNative") + ); + })() + ? Tl.default.useLayoutEffect + : Tl.default.useEffect)); + CVe = J0n(Tl.default.createContext(null)); + Mge = class Mge extends Tl.default.Component { + render() { + return Tl.default.createElement( + CVe.Provider, + { value: this._reactInternals }, + this.props.children, + ); + } + }; + IOr = Symbol.for("react.context"); +}); +function zVe(e) { + let t = e.root; + while (t.getState().previousRoot) t = t.getState().previousRoot; + return t; +} +function _Ve(e) { + let t = za.useRef(e); + return (z7(() => void (t.current = e), [e]), t); +} +function DOr({ promise: e, onSettled: t }) { + return (za.use(e), z7(t, [t]), null); +} +function mgn() { + let [e, t] = za.useState(null), + n = za.useCallback(() => t(null), []), + r = za.useCallback( + (a) => t((i) => (i != null ? i : Promise.resolve(a).then(Oge, Oge))), + [], + ); + return [ + e + ? h(za.Suspense, { + fallback: null, + children: h(DOr, { promise: e, onSettled: n }), + }) + : null, + r, + ]; +} +function hgn() { + let e = Dge(), + t = j0n(), + n = LOr(); + return za.useMemo( + () => + ({ children: r }) => { + let a = EW(e, !0, (i) => i.type === za.StrictMode) + ? za.StrictMode + : za.Fragment; + return h(a, { children: h(n, { children: h(t, { children: r }) }) }); + }, + [e, t, n], + ); +} +function ggn({ set: e }) { + return (z7(() => (e(new Promise(() => null)), () => e(!1)), [e]), null); +} +function vgn(e) { + var t; + let n = + typeof window < "u" ? ((t = window.devicePixelRatio) != null ? t : 2) : 1; + return Array.isArray(e) ? Math.min(Math.max(e[0], n), e[1]) : e; +} +function U7(e) { + var t; + return (t = e.__r3f) == null ? void 0 : t.root.getState(); +} +function bgn(e) { + let t = { nodes: {}, materials: {}, meshes: {} }; + if (e) + e.traverse((n) => { + if (n.name) t.nodes[n.name] = n; + if (n.material && !t.materials[n.material.name]) + t.materials[n.material.name] = n.material; + if (n.isMesh && !t.meshes[n.name]) t.meshes[n.name] = n; + }); + return t; +} +function xgn(e) { + if (e.type !== "Scene") e.dispose == null || e.dispose(); + for (let t in e) { + let n = e[t]; + if ((n == null ? void 0 : n.type) !== "Scene") + n == null || n.dispose == null || n.dispose(); + } +} +function LVe(e) { + let t = {}; + for (let n in e) if (!Agn.includes(n)) t[n] = e[n]; + return t; +} +function Fge(e, t, n, r) { + let o = e, + a = o == null ? void 0 : o.__r3f; + if (!a) { + if ( + ((a = { + root: t, + type: n, + parent: null, + children: [], + props: LVe(r), + object: o, + eventCount: 0, + handlers: {}, + previousVisible: void 0, + isHidden: !1, + }), + o) + ) + o.__r3f = a; + } + return a; +} +function TW(e, t) { + if (!t.includes("-")) return { root: e, key: t, target: e[t] }; + if (t in e) return { root: e, key: t, target: e[t] }; + let n = e, + r = t.split("-"); + for (let o of r) { + if (typeof n !== "object" || n === null) { + if (n !== void 0) { + let a = r.slice(r.indexOf(o)).join("-"); + return { root: n, key: a, target: void 0 }; + } + return { root: e, key: t, target: void 0 }; + } + ((t = o), (e = n), (n = n[t])); + } + return { root: e, key: t, target: n }; +} +function Uge(e, t) { + if (dd.str(t.props.attach)) { + if (egn.test(t.props.attach)) { + let o = t.props.attach.replace(egn, ""), + { root: a, key: i } = TW(e.object, o); + if (!Array.isArray(a[i])) a[i] = []; + } + let { root: n, key: r } = TW(e.object, t.props.attach); + ((t.previousAttach = n[r]), (n[r] = t.object)); + } else if (dd.fun(t.props.attach)) + t.previousAttach = t.props.attach(e.object, t.object); +} +function Nge(e, t) { + if (dd.str(t.props.attach)) { + let { root: n, key: r } = TW(e.object, t.props.attach), + o = t.previousAttach; + if (o === void 0) delete n[r]; + else n[r] = o; + } else t.previousAttach == null || t.previousAttach(e.object, t.object); + delete t.previousAttach; +} +function BOr(e) { + let t = tgn.get(e.constructor); + try { + if (!t) ((t = new e.constructor()), tgn.set(e.constructor, t)); + } catch (n) {} + return t; +} +function OOr(e, t) { + let n = {}; + for (let r in t) { + if (BVe.includes(r)) continue; + if (dd.equ(t[r], e.props[r])) continue; + n[r] = t[r]; + for (let o in t) if (o.startsWith(`${r}-`)) n[o] = t[o]; + } + for (let r in e.props) { + if (BVe.includes(r) || t.hasOwnProperty(r)) continue; + let { root: o, key: a } = TW(e.object, r); + if (o.constructor && o.constructor.length === 0) { + let i = BOr(o); + if (!dd.und(i)) n[r] = i[a]; + } else n[r] = 0; + } + return n; +} +function x5(e, t) { + var n; + let r = e.__r3f, + o = r && zVe(r).getState(), + a = r == null ? void 0 : r.eventCount; + for (let s in t) { + let l = t[s]; + if (BVe.includes(s)) continue; + if (r && UOr.test(s)) { + if (typeof l === "function") r.handlers[s] = l; + else delete r.handlers[s]; + r.eventCount = Object.keys(r.handlers).length; + continue; + } + if (l === void 0) continue; + if ( + s === "visible" && + r != null && + r.isHidden && + r.previousVisible !== void 0 + ) { + r.previousVisible = l; + continue; + } + let { root: c, key: u, target: d } = TW(e, s); + if (d === void 0 && (typeof c !== "object" || c === null)) + throw Error( + `R3F: Cannot set "${s}". Ensure it is an object before setting "${u}".`, + ); + if (d instanceof $w && l instanceof $w) d.mask = l.mask; + else if (d instanceof _n && MOr(l)) d.set(l); + else if ( + d !== null && + typeof d === "object" && + typeof d.set === "function" && + typeof d.copy === "function" && + l != null && + l.constructor && + d.constructor === l.constructor + ) + d.copy(l); + else if ( + d !== null && + typeof d === "object" && + typeof d.set === "function" && + Array.isArray(l) + ) + if (typeof d.fromArray === "function") d.fromArray(l); + else d.set(...l); + else if ( + d !== null && + typeof d === "object" && + typeof d.set === "function" && + typeof l === "number" + ) + if (typeof d.setScalar === "function") d.setScalar(l); + else d.set(l); + else if (c instanceof Ac && u === "uniforms" && dd.obj(l)) { + if (!dd.obj(c.uniforms)) c.uniforms = {}; + let p = c.uniforms, + f = l; + for (let m in f) { + let g = f[m], + v = p[m]; + if (v) Object.assign(v, g); + else p[m] = { ...g }; + } + } else { + var i; + if ( + ((c[u] = l), + o && + !o.linear && + FOr.includes(u) && + (i = c[u]) != null && + i.isTexture && + c[u].format === $p && + c[u].type === Fm) + ) + c[u].colorSpace = jw; + } + } + if ( + r != null && + r.parent && + o != null && + o.internal && + (n = r.object) != null && + n.isObject3D && + a !== r.eventCount + ) { + let s = r.object, + l = o.internal.interaction.indexOf(s); + if (l > -1) o.internal.interaction.splice(l, 1); + if (r.eventCount && s.raycast !== null) o.internal.interaction.push(s); + } + if (r && r.props.attach === void 0) { + if (r.object.isBufferGeometry) r.props.attach = "geometry"; + else if (r.object.isMaterial) r.props.attach = "material"; + } + if (r) lO(r); + return e; +} +function lO(e) { + var t; + if (!e.parent) return; + e.props.onUpdate == null || e.props.onUpdate(e.object); + let n = + (t = e.root) == null ? void 0 : t.getState == null ? void 0 : t.getState(); + if (n && n.internal.frames === 0) n.invalidate(); +} +function NOr(e, t) { + if (e.manual) return; + if (pgn(e)) + ((e.left = t.width / -2), + (e.right = t.width / 2), + (e.top = t.height / 2), + (e.bottom = t.height / -2)); + else e.aspect = t.width / t.height; + e.updateProjectionMatrix(); +} +function IW(e) { + return (e.eventObject || e.object).uuid + "/" + e.index + e.instanceId; +} +function wgn(e, t, n, r) { + let o = n.get(t); + if (o) { + if ((n.delete(t), n.size === 0)) + (e.delete(r), o.target.releasePointerCapture(r)); + } +} +function zOr(e, t, n) { + let { internal: r } = e.getState(); + for (let o = 0; o < r.interaction.length; o++) + if (r.interaction[o] === t) r.interaction[o] = n; + for (let o = 0; o < r.initialHits.length; o++) + if (r.initialHits[o] === t) r.initialHits[o] = n; + (r.hovered.forEach((o, a) => { + if (o.eventObject === t || o.object === t) { + r.hovered.delete(a); + let i = { + ...o, + eventObject: o.eventObject === t ? n : o.eventObject, + object: o.object === t ? n : o.object, + }; + r.hovered.set(IW(i), i); + } + }), + r.capturedMap.forEach((o) => { + let a = o.get(t); + if (a) (o.delete(t), o.set(n, a)); + })); +} +function _Or(e, t) { + let { internal: n } = e.getState(); + ((n.interaction = n.interaction.filter((r) => r !== t)), + (n.initialHits = n.initialHits.filter((r) => r !== t)), + n.hovered.forEach((r, o) => { + if (r.eventObject === t || r.object === t) n.hovered.delete(o); + }), + n.capturedMap.forEach((r, o) => { + wgn(n.capturedMap, t, r, o); + })); +} +function Sgn(e) { + function t(l) { + let { internal: c } = e.getState(), + u = l.offsetX - c.initialClick[0], + d = l.offsetY - c.initialClick[1]; + return Math.round(Math.sqrt(u * u + d * d)); + } + function n(l) { + return l.filter((c) => + ["Move", "Over", "Enter", "Out", "Leave"].some((u) => { + var d; + return (d = c.__r3f) == null ? void 0 : d.handlers["onPointer" + u]; + }), + ); + } + function r(l, c) { + let u = e.getState(), + d = new Set(), + p = [], + f = c ? c(u.internal.interaction) : u.internal.interaction; + for (let y = 0; y < f.length; y++) { + let x = U7(f[y]); + if (x) x.raycaster.camera = void 0; + } + if (!u.previousRoot) u.events.compute == null || u.events.compute(l, u); + function m(y) { + let x = U7(y); + if (!x || !x.events.enabled || x.raycaster.camera === null) return []; + if (x.raycaster.camera === void 0) { + var A; + if ( + (x.events.compute == null || + x.events.compute( + l, + x, + (A = x.previousRoot) == null ? void 0 : A.getState(), + ), + x.raycaster.camera === void 0) + ) + x.raycaster.camera = null; + } + return x.raycaster.camera ? x.raycaster.intersectObject(y, !0) : []; + } + let g = f + .flatMap(m) + .sort((y, x) => { + let A = U7(y.object), + w = U7(x.object); + if (!A || !w) return y.distance - x.distance; + return w.events.priority - A.events.priority || y.distance - x.distance; + }) + .filter((y) => { + let x = IW(y); + if (d.has(x)) return !1; + return (d.add(x), !0); + }); + if (u.events.filter) g = u.events.filter(g, u); + for (let y of g) { + let x = y.object; + while (x) { + var v; + if ((v = x.__r3f) != null && v.eventCount) + p.push({ ...y, eventObject: x }); + x = x.parent; + } + } + if ("pointerId" in l && u.internal.capturedMap.has(l.pointerId)) { + for (let y of u.internal.capturedMap.get(l.pointerId).values()) + if (!d.has(IW(y.intersection))) p.push(y.intersection); + } + return p; + } + function o(l, c, u, d) { + if (l.length) { + let p = { stopped: !1 }; + for (let f of l) { + let m = U7(f.object); + if (!m) + f.object.traverseAncestors((g) => { + let v = U7(g); + if (v) return ((m = v), !1); + }); + if (m) { + let { raycaster: g, pointer: v, camera: y, internal: x } = m, + A = new he(v.x, v.y, 0).unproject(y), + w = (k) => { + var L, O; + return (L = + (O = x.capturedMap.get(k)) == null + ? void 0 + : O.has(f.eventObject)) != null + ? L + : !1; + }, + C = (k) => { + let L = { intersection: f, target: c.target }; + if (x.capturedMap.has(k)) + x.capturedMap.get(k).set(f.eventObject, L); + else x.capturedMap.set(k, new Map([[f.eventObject, L]])); + c.target.setPointerCapture(k); + }, + E = (k) => { + let L = x.capturedMap.get(k); + if (L) wgn(x.capturedMap, f.eventObject, L, k); + }, + T = {}; + for (let k in c) { + let L = c[k]; + if (typeof L !== "function") T[k] = L; + } + let I = { + ...f, + ...T, + pointer: v, + intersections: l, + stopped: p.stopped, + delta: u, + unprojectedPoint: A, + ray: g.ray, + camera: y, + stopPropagation() { + let k = "pointerId" in c && x.capturedMap.get(c.pointerId); + if (!k || k.has(f.eventObject)) { + if ( + ((I.stopped = p.stopped = !0), + x.hovered.size && + Array.from(x.hovered.values()).find( + (L) => L.eventObject === f.eventObject, + )) + ) { + let L = l.slice(0, l.indexOf(f)); + a([...L, f]); + } + } + }, + target: { + hasPointerCapture: w, + setPointerCapture: C, + releasePointerCapture: E, + }, + currentTarget: { + hasPointerCapture: w, + setPointerCapture: C, + releasePointerCapture: E, + }, + nativeEvent: c, + }; + if ((d(I), p.stopped === !0)) break; + } + } + } + return l; + } + function a(l) { + let { internal: c } = e.getState(); + for (let u of c.hovered.values()) + if ( + !l.length || + !l.find( + (d) => + d.object === u.object && + d.index === u.index && + d.instanceId === u.instanceId, + ) + ) { + let p = u.eventObject.__r3f; + if ((c.hovered.delete(IW(u)), p != null && p.eventCount)) { + let f = p.handlers, + m = { ...u, intersections: l }; + (f.onPointerOut == null || f.onPointerOut(m), + f.onPointerLeave == null || f.onPointerLeave(m)); + } + } + } + function i(l, c) { + for (let u = 0; u < c.length; u++) { + let d = c[u].__r3f; + d == null || + d.handlers.onPointerMissed == null || + d.handlers.onPointerMissed(l); + } + } + function s(l) { + switch (l) { + case "onPointerLeave": + case "onPointerCancel": + return () => a([]); + case "onLostPointerCapture": + return (c) => { + let { internal: u } = e.getState(); + if ("pointerId" in c && u.capturedMap.has(c.pointerId)) + requestAnimationFrame(() => { + if (u.capturedMap.has(c.pointerId)) + (u.capturedMap.delete(c.pointerId), a([])); + }); + }; + } + return function (u) { + let { onPointerMissed: d, internal: p } = e.getState(); + p.lastEvent.current = u; + let f = l === "onPointerMove", + m = l === "onClick" || l === "onContextMenu" || l === "onDoubleClick", + v = r(u, f ? n : void 0), + y = m ? t(u) : 0; + if (l === "onPointerDown") + ((p.initialClick = [u.offsetX, u.offsetY]), + (p.initialHits = v.map((A) => A.eventObject))); + if (m && !v.length) { + if (y <= 2) { + if ((i(u, p.interaction), d)) d(u); + } + } + if (f) a(v); + function x(A) { + let w = A.eventObject, + C = w.__r3f; + if (!(C != null && C.eventCount)) return; + let E = C.handlers; + if (f) { + if ( + E.onPointerOver || + E.onPointerEnter || + E.onPointerOut || + E.onPointerLeave + ) { + let T = IW(A), + I = p.hovered.get(T); + if (!I) + (p.hovered.set(T, A), + E.onPointerOver == null || E.onPointerOver(A), + E.onPointerEnter == null || E.onPointerEnter(A)); + else if (I.stopped) A.stopPropagation(); + } + E.onPointerMove == null || E.onPointerMove(A); + } else { + let T = E[l]; + if (T) { + if (!m || p.initialHits.includes(w)) + (i( + u, + p.interaction.filter((I) => !p.initialHits.includes(I)), + ), + T(A)); + } else if (m && p.initialHits.includes(w)) + i( + u, + p.interaction.filter((I) => !p.initialHits.includes(I)), + ); + } + } + o(v, u, y, x); + }; + } + return { handlePointer: s }; +} +function GVe() { + let e = za.useContext(VVe); + if (!e) + throw Error("R3F: Hooks can only be used within the Canvas component!"); + return e; +} +function RW(e = (n) => n, t) { + return GVe()(e, t); +} +function qVe(e, t = 0) { + let n = GVe(), + r = n.getState().internal.subscribe, + o = _Ve(e); + return (z7(() => r(o, t, n), [t, r, n]), null); +} +function Cgn(e, t) { + return function (n, ...r) { + let o; + if (VOr(n)) { + if (((o = ngn.get(n)), !o)) ((o = new n()), ngn.set(n, o)); + } else o = n; + if (e) e(o); + return Promise.all( + r.map( + (a) => + new Promise((i, s) => + o.load( + a, + (l) => { + if (Bh(l == null ? void 0 : l.scene)) + Object.assign(l, bgn(l.scene)); + i(l); + }, + t, + (l) => + s( + Error( + `Could not load ${a}: ${l == null ? void 0 : l.message}`, + ), + ), + ), + ), + ), + ); + }; +} +function ZVe(e, t, n, r) { + let o = Array.isArray(t) ? t : [t], + a = X0n(Cgn(n, r), [e, ...o], { equal: dd.equ }); + return Array.isArray(t) ? a : a[0]; +} +function QOr(e, t) { + let n = { + canvas: e, + powerPreference: "high-performance", + antialias: !0, + alpha: !0, + }; + if (typeof t === "function") return t(n); + if (HVe(t)) return t; + return new oO({ ...n, ...t }); +} +function XOr(e, t) { + if ( + !t && + typeof HTMLCanvasElement < "u" && + e instanceof HTMLCanvasElement && + e.parentElement + ) { + let { + width: n, + height: r, + top: o, + left: a, + } = e.parentElement.getBoundingClientRect(); + return { width: n, height: r, top: o, left: a }; + } else if (!t && typeof OffscreenCanvas < "u" && e instanceof OffscreenCanvas) + return { width: e.width, height: e.height, top: 0, left: 0 }; + return { width: 0, height: 0, top: 0, left: 0, ...t }; +} +function WOr({ store: e, configuration: t }, n, r) { + let { + gl: o, + scene: a, + camera: i, + shadows: s = !1, + linear: l = !1, + flat: c = !1, + legacy: u = !1, + frameloop: d = "always", + dpr: p = [1, 2], + performance: f, + onPointerMissed: m, + } = r, + g = XOr(n, r.size), + v = { + ...r, + shadows: s, + linear: l, + flat: c, + legacy: u, + frameloop: d, + size: g, + }, + y = e.getState(), + x = y.gl, + A = t.previous, + w = (L) => !A || !dd.equ(v[L], A[L], ZOr); + t.previous = void 0; + let C = y.raycaster; + if (!C) y.set({ raycaster: (C = new yW()) }); + if (w("raycaster")) { + var E; + let { params: L, ...O } = (E = r.raycaster) != null ? E : {}; + x5(C, { ...O, params: { ...C.params, ...L } }); + } + if (!y.camera || (y.camera === t.camera && w("camera"))) { + t.camera = i; + let L = i == null ? void 0 : i.isCamera, + O = L + ? i + : r.orthographic + ? new qy(0, 0, 0, 0, 0.1, 1000) + : new Kl(75, 0, 0.1, 1000); + if (!L) { + if (((O.position.z = 5), i)) { + if ((x5(O, i), !O.manual)) { + if ( + "aspect" in i || + "left" in i || + "right" in i || + "bottom" in i || + "top" in i + ) + ((O.manual = !0), O.updateProjectionMatrix()); + } + } + if (!y.camera && !(i != null && i.rotation)) O.lookAt(0, 0, 0); + } + (y.set({ camera: O }), (C.camera = O)); + } + if (!y.scene) { + let L; + if (a != null && a.isScene) ((L = a), Fge(L, e, "", {})); + else if (((L = new y5()), Fge(L, e, "", {}), a)) x5(L, a); + y.set({ scene: L }); + } + if (r.events && !y.events.handlers) y.set({ events: r.events(e) }); + if (w("size")) y.setSize(g.width, g.height, g.top, g.left); + if (y.viewport.dpr !== vgn(p)) y.setDpr(p); + if (w("frameloop")) y.setFrameloop(d); + if (w("onPointerMissed")) y.set({ onPointerMissed: m }); + if (f && w("performance")) + y.set((L) => ({ performance: { ...L.performance, ...f } })); + if (!y.xr) { + var T; + let L = (U, D) => { + let N = e.getState(); + if (N.frameloop === "never") return; + KVe(U, !0, N, D); + }, + O = () => { + let U = e.getState(); + if ( + ((U.gl.xr.enabled = U.gl.xr.isPresenting), + U.gl.xr.setAnimationLoop(U.gl.xr.isPresenting ? L : null), + !U.gl.xr.isPresenting) + ) + Vge(U); + }, + B = { + connect() { + let U = e.getState().gl; + (U.xr.addEventListener("sessionstart", O), + U.xr.addEventListener("sessionend", O)); + }, + disconnect() { + let U = e.getState().gl; + (U.xr.removeEventListener("sessionstart", O), + U.xr.removeEventListener("sessionend", O)); + }, + }; + if ( + typeof ((T = x.xr) == null ? void 0 : T.addEventListener) === "function" + ) + B.connect(); + y.set({ xr: B }); + } + if (x.shadowMap && w("shadows")) { + let L = x.shadowMap.enabled, + O = x.shadowMap.type; + if (((x.shadowMap.enabled = !!s), dd.boo(s))) x.shadowMap.type = E7; + else if (dd.str(s)) { + var I; + let B = { basic: Ohe, percentage: u5, soft: E7, variance: Yw }; + x.shadowMap.type = (I = B[s]) != null ? I : E7; + } else if (dd.obj(s)) Object.assign(x.shadowMap, s); + if (L !== x.shadowMap.enabled || O !== x.shadowMap.type) + x.shadowMap.needsUpdate = !0; + } + let k = o && !dd.fun(o) && !HVe(o) ? o : void 0; + if (w("legacy")) ((jo.enabled = !u), y.set({ legacy: u })); + if (w("linear")) { + if ((k == null ? void 0 : k.outputColorSpace) === void 0) + x.outputColorSpace = l ? VB : jw; + y.set({ linear: l }); + } + if (w("flat")) { + if ((k == null ? void 0 : k.toneMapping) === void 0) + x.toneMapping = c ? B0 : UB; + y.set({ flat: c }); + } + if (k && w("gl")) x5(x, k); + t.previous = v; +} +function $Or(e) { + return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") + ? e.default + : e; +} +function eFr() { + return ( + ign || + ((ign = 1), + (function (e) { + ((e.exports = function (t) { + function n(b, S, R, F) { + return new c4n(b, S, R, F); + } + function r() {} + function o(b) { + var S = "https://react.dev/errors/" + b; + if (1 < arguments.length) { + S += "?args[]=" + encodeURIComponent(arguments[1]); + for (var R = 2; R < arguments.length; R++) + S += "&args[]=" + encodeURIComponent(arguments[R]); + } + return ( + "Minified React error #" + + b + + "; visit " + + S + + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." + ); + } + function a(b) { + for (var S = b, R = S; R && !R.alternate;) + ((S = R), + (S.flags & 4098) !== 0 && (b = S.return), + (R = S.return)); + for (; S.return;) S = S.return; + return S.tag === 3 ? b : null; + } + function i(b) { + if (a(b) !== b) throw Error(o(188)); + } + function s(b) { + var S = b.alternate; + if (!S) { + if (((S = a(b)), S === null)) throw Error(o(188)); + return S !== b ? null : b; + } + for (var R = b, F = S; ;) { + var V = R.return; + if (V === null) break; + var W = V.alternate; + if (W === null) { + if (((F = V.return), F !== null)) { + R = F; + continue; + } + break; + } + if (V.child === W.child) { + for (W = V.child; W;) { + if (W === R) return (i(V), b); + if (W === F) return (i(V), S); + W = W.sibling; + } + throw Error(o(188)); + } + if (R.return !== F.return) ((R = V), (F = W)); + else { + for (var xe = !1, We = V.child; We;) { + if (We === R) { + ((xe = !0), (R = V), (F = W)); + break; + } + if (We === F) { + ((xe = !0), (F = V), (R = W)); + break; + } + We = We.sibling; + } + if (!xe) { + for (We = W.child; We;) { + if (We === R) { + ((xe = !0), (R = W), (F = V)); + break; + } + if (We === F) { + ((xe = !0), (F = W), (R = V)); + break; + } + We = We.sibling; + } + if (!xe) throw Error(o(189)); + } + } + if (R.alternate !== F) throw Error(o(190)); + } + if (R.tag !== 3) throw Error(o(188)); + return R.stateNode.current === R ? b : S; + } + function l(b) { + var S = b.tag; + if (S === 5 || S === 26 || S === 27 || S === 6) return b; + for (b = b.child; b !== null;) { + if (((S = l(b)), S !== null)) return S; + b = b.sibling; + } + return null; + } + function c(b) { + var S = b.tag; + if (S === 5 || S === 26 || S === 27 || S === 6) return b; + for (b = b.child; b !== null;) { + if (b.tag !== 4 && ((S = c(b)), S !== null)) return S; + b = b.sibling; + } + return null; + } + function u(b) { + return b === null || typeof b != "object" + ? null + : ((b = (hWe && b[hWe]) || b["@@iterator"]), + typeof b == "function" ? b : null); + } + function d(b) { + if (b == null) return null; + if (typeof b == "function") + return b.$$typeof === g4n + ? null + : b.displayName || b.name || null; + if (typeof b == "string") return b; + switch (b) { + case Ik: + return "Fragment"; + case M2e: + return "Profiler"; + case fWe: + return "StrictMode"; + case L2e: + return "Suspense"; + case B2e: + return "SuspenseList"; + case F2e: + return "Activity"; + case U2e: + return "ViewTransition"; + } + if (typeof b == "object") + switch (b.$$typeof) { + case Ek: + return "Portal"; + case SA: + return b.displayName || "Context"; + case mWe: + return (b._context.displayName || "Context") + ".Consumer"; + case D2e: + var S = b.render; + return ( + (b = b.displayName), + b || + ((b = S.displayName || S.name || ""), + (b = b !== "" ? "ForwardRef(" + b + ")" : "ForwardRef")), + b + ); + case O2e: + return ( + (S = b.displayName || null), + S !== null ? S : d(b.type) || "Memo" + ); + case OS: + ((S = b._payload), (b = b._init)); + try { + return d(b(S)); + } catch {} + } + return null; + } + function p(b) { + return { current: b }; + } + function f(b) { + 0 > Rk || ((b.current = Z2e[Rk]), (Z2e[Rk] = null), Rk--); + } + function m(b, S) { + (Rk++, (Z2e[Rk] = b.current), (b.current = S)); + } + function g(b) { + return ((b >>>= 0), b === 0 ? 32 : (31 - ((rCn(b) / oCn) | 0)) | 0); + } + function v(b) { + var S = b & 42; + if (S !== 0) return S; + switch (b & -b) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + return 64; + case 128: + return 128; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + return b & -b; + case 262144: + case 524288: + case 1048576: + case 2097152: + return b & 3932160; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return b & 62914560; + case 67108864: + return 67108864; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 0; + default: + return b; + } + } + function y(b, S, R) { + var F = b.pendingLanes; + if (F === 0) return 0; + var V = 0, + W = b.suspendedLanes, + xe = b.pingedLanes; + b = b.warmLanes; + var We = F & 134217727; + return ( + We !== 0 + ? ((F = We & ~W), + F !== 0 + ? (V = v(F)) + : ((xe &= We), + xe !== 0 + ? (V = v(xe)) + : R || ((R = We & ~b), R !== 0 && (V = v(R))))) + : ((We = F & ~W), + We !== 0 + ? (V = v(We)) + : xe !== 0 + ? (V = v(xe)) + : R || ((R = F & ~b), R !== 0 && (V = v(R)))), + V === 0 + ? 0 + : S !== 0 && + S !== V && + (S & W) === 0 && + ((W = V & -V), + (R = S & -S), + W >= R || (W === 32 && (R & 4194048) !== 0)) + ? S + : V + ); + } + function x(b, S) { + return ( + (b.pendingLanes & ~(b.suspendedLanes & ~b.pingedLanes) & S) === 0 + ); + } + function A(b, S) { + (S & 8) !== 0 && (S |= S & 32); + var R = b.entangledLanes; + if (R !== 0) + for (b = b.entanglements, R &= S; 0 < R;) { + var F = 31 - Y0(R), + V = 1 << F; + ((S |= b[F]), (R &= ~V)); + } + return S; + } + function w(b, S) { + switch (b) { + case 1: + case 2: + case 4: + case 8: + case 64: + return S + 250; + case 16: + case 32: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return S + 5000; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return -1; + case 67108864: + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return -1; + } + } + function C() { + var b = gK; + return ((gK <<= 1), (gK & 62914560) === 0 && (gK = 4194304), b); + } + function E(b) { + for (var S = [], R = 0; 31 > R; R++) S.push(b); + return S; + } + function T(b, S) { + ((b.pendingLanes |= S), + S !== 268435456 && + ((b.suspendedLanes = 0), + (b.pingedLanes = 0), + (b.warmLanes = 0))); + } + function I(b, S, R, F, V, W) { + var xe = b.pendingLanes; + ((b.pendingLanes = R), + (b.suspendedLanes = 0), + (b.pingedLanes = 0), + (b.warmLanes = 0), + (b.expiredLanes &= R), + (b.entangledLanes &= R), + (b.errorRecoveryDisabledLanes &= R), + (b.shellSuspendCounter = 0)); + var { + entanglements: We, + expirationTimes: St, + hiddenUpdates: Xt, + } = b; + for (R = xe & ~R; 0 < R;) { + var sn = 31 - Y0(R), + Fn = 1 << sn; + ((We[sn] = 0), (St[sn] = -1)); + var jn = Xt[sn]; + if (jn !== null) + for (Xt[sn] = null, sn = 0; sn < jn.length; sn++) { + var ca = jn[sn]; + ca !== null && (ca.lane &= -536870913); + } + R &= ~Fn; + } + (F !== 0 && k(b, F, 0), + W !== 0 && + V === 0 && + b.tag !== 0 && + (b.suspendedLanes |= W & ~(xe & ~S))); + } + function k(b, S, R) { + ((b.pendingLanes |= S), (b.suspendedLanes &= ~S)); + var F = 31 - Y0(S); + ((b.entangledLanes |= S), + (b.entanglements[F] = + b.entanglements[F] | 1073741824 | (R & 261930))); + } + function L(b, S) { + var R = (b.entangledLanes |= S); + for (b = b.entanglements; R;) { + var F = 31 - Y0(R), + V = 1 << F; + ((V & S) | (b[F] & S) && (b[F] |= S), (R &= ~V)); + } + } + function O(b, S) { + var R = S & -S; + return ( + (R = (R & 42) !== 0 ? 1 : B(R)), + (R & (b.suspendedLanes | S)) !== 0 ? 0 : R + ); + } + function B(b) { + switch (b) { + case 2: + b = 1; + break; + case 8: + b = 4; + break; + case 32: + b = 16; + break; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + b = 128; + break; + case 268435456: + b = 134217728; + break; + default: + b = 0; + } + return b; + } + function U(b) { + return ( + (b &= -b), + 2 < b ? (8 < b ? ((b & 134217727) !== 0 ? 32 : 268435456) : 8) : 2 + ); + } + function D(b) { + if ( + (typeof cCn == "function" && uCn(b), + K0 && typeof K0.setStrictMode == "function") + ) + try { + K0.setStrictMode(fF, b); + } catch {} + } + function N(b, S) { + if (b.name != null && b.name !== "auto") return b.name; + if (S.autoName !== null) return S.autoName; + b = s2.identifierPrefix; + var R = dCn++; + return ( + (b = "_" + b + "t_" + R.toString(32) + "_"), + (S.autoName = b) + ); + } + function _(b) { + var S; + if (b == null || typeof b == "string") return b; + var R = null, + F = Zk; + if (F !== null) + for (var V = 0; V < F.length; V++) { + var W = b[F[V]]; + if (W != null) { + if (W === "none") return "none"; + R = R == null ? W : R + (" " + W); + } + } + return (S = R) != null ? S : b.default; + } + function G(b, S) { + return ( + (b = _(b)), + (S = _(S)), + S == null ? (b === "auto" ? null : b) : S === "auto" ? null : S + ); + } + function Z(b, S) { + return ( + (b === S && (b !== 0 || 1 / b === 1 / S)) || (b !== b && S !== S) + ); + } + function q(b) { + if (W2e === void 0) + try { + throw Error(); + } catch (R) { + var S = R.stack.trim().match(/\n( *(at )?)/); + ((W2e = (S && S[1]) || ""), + (qWe = + -1 < + R.stack.indexOf(` + at`) + ? " ()" + : -1 < R.stack.indexOf("@") + ? "@unknown:0:0" + : "")); + } + return ( + ` +` + + W2e + + b + + qWe + ); + } + function H(b, S) { + if (!b || Y2e) return ""; + Y2e = !0; + var R = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + try { + var F = { + DetermineComponentFrameRoot: function () { + try { + if (S) { + var Fn = function () { + throw Error(); + }; + if ( + (Object.defineProperty(Fn.prototype, "props", { + set: function () { + throw Error(); + }, + }), + typeof Reflect == "object" && Reflect.construct) + ) { + try { + Reflect.construct(Fn, []); + } catch (ei) { + var jn = ei; + } + Reflect.construct(b, [], Fn); + } else { + try { + Fn.call(); + } catch (ei) { + jn = ei; + } + Fn = !1; + try { + var ca = Object.getOwnPropertyDescriptor( + b.prototype, + "props", + ); + (Object.defineProperty(b.prototype, "props", { + configurable: !0, + set: function () { + throw Error(); + }, + }), + (Fn = !0), + new b()); + } finally { + Fn && + (ca !== void 0 + ? Object.defineProperty(b.prototype, "props", ca) + : delete b.prototype.props); + } + } + } else { + try { + throw Error(); + } catch (ei) { + jn = ei; + } + (Fn = b()) && + typeof Fn.catch == "function" && + Fn.catch(function () {}); + } + } catch (ei) { + if (ei && jn && typeof ei.stack == "string") + return [ei.stack, jn.stack]; + } + return [null, null]; + }, + }; + F.DetermineComponentFrameRoot.displayName = + "DetermineComponentFrameRoot"; + var V = Object.getOwnPropertyDescriptor( + F.DetermineComponentFrameRoot, + "name", + ); + V && + V.configurable && + Object.defineProperty(F.DetermineComponentFrameRoot, "name", { + value: "DetermineComponentFrameRoot", + }); + var W = F.DetermineComponentFrameRoot(), + xe = W[0], + We = W[1]; + if (xe && We) { + var St = xe.split(` +`), + Xt = We.split(` +`); + for ( + V = F = 0; + F < St.length && + !St[F].includes("DetermineComponentFrameRoot"); + ) + F++; + for ( + ; + V < Xt.length && + !Xt[V].includes("DetermineComponentFrameRoot"); + ) + V++; + if (F === St.length || V === Xt.length) + for ( + F = St.length - 1, V = Xt.length - 1; + 1 <= F && 0 <= V && St[F] !== Xt[V]; + ) + V--; + for (; 1 <= F && 0 <= V; F--, V--) + if (St[F] !== Xt[V]) { + if (F !== 1 || V !== 1) + do + if ((F--, V--, 0 > V || St[F] !== Xt[V])) { + var sn = + ` +` + St[F].replace(" at new ", " at "); + return ( + b.displayName && + sn.includes("") && + (sn = sn.replace("", b.displayName)), + sn + ); + } + while (1 <= F && 0 <= V); + break; + } + } + } finally { + ((Y2e = !1), (Error.prepareStackTrace = R)); + } + return (R = b ? b.displayName || b.name : "") ? q(R) : ""; + } + function te(b, S) { + switch (b.tag) { + case 26: + case 27: + case 5: + return q(b.type); + case 16: + return q("Lazy"); + case 13: + return b.child !== S && S !== null + ? q("Suspense Fallback") + : q("Suspense"); + case 19: + return q("SuspenseList"); + case 0: + case 15: + return H(b.type, !1); + case 11: + return H(b.type.render, !1); + case 1: + return H(b.type, !0); + case 31: + return q("Activity"); + case 30: + return q("ViewTransition"); + default: + return ""; + } + } + function ie(b) { + try { + var S = "", + R = null; + do ((S += te(b, R)), (R = b), (b = b.return)); + while (b); + return S; + } catch (F) { + return ( + ` +Error generating stack: ` + + F.message + + ` +` + + F.stack + ); + } + } + function j(b, S) { + if (typeof b == "object" && b !== null) { + var R = ZWe.get(b); + return R !== void 0 + ? R + : ((S = { value: b, source: S, stack: ie(S) }), + ZWe.set(b, S), + S); + } + return { value: b, source: S, stack: ie(S) }; + } + function oe(b, S) { + ((Mk[Dk++] = mF), (Mk[Dk++] = vK), (vK = b), (mF = S)); + } + function J(b, S, R) { + ((g1[y1++] = Qv), (g1[y1++] = Xv), (g1[y1++] = FS), (FS = b)); + var F = Qv; + b = Xv; + var V = 32 - Y0(F) - 1; + ((F &= ~(1 << V)), (R += 1)); + var W = 32 - Y0(S) + V; + if (30 < W) { + var xe = V - (V % 5); + ((W = (F & ((1 << xe) - 1)).toString(32)), + (F >>= xe), + (V -= xe), + (Qv = (1 << (32 - Y0(S) + V)) | (R << V) | F), + (Xv = W + b)); + } else ((Qv = (1 << W) | (R << V) | F), (Xv = b)); + } + function Y(b) { + b.return !== null && (oe(b, 1), J(b, 1, 0)); + } + function ae(b) { + for (; b === vK;) + ((vK = Mk[--Dk]), + (Mk[Dk] = null), + (mF = Mk[--Dk]), + (Mk[Dk] = null)); + for (; b === FS;) + ((FS = g1[--y1]), + (g1[y1] = null), + (Xv = g1[--y1]), + (g1[y1] = null), + (Qv = g1[--y1]), + (g1[y1] = null)); + } + function ne(b, S) { + ((g1[y1++] = Qv), + (g1[y1++] = Xv), + (g1[y1++] = FS), + (Qv = S.id), + (Xv = S.overflow), + (FS = b)); + } + function Se(b, S) { + (m(US, S), m(hF, b), m(df, null), (b = b4n(S)), f(df), m(df, b)); + } + function fe() { + (f(df), f(hF), f(US)); + } + function Ae(b) { + var S = b.memoizedState; + (S !== null && + ((S = S.memoizedState), + qv ? (EA._currentValue = S) : (EA._currentValue2 = S), + m(bK, b)), + (S = df.current)); + var R = x4n(S, b.type); + S !== R && (m(hF, b), m(df, R)); + } + function Ee(b) { + (hF.current === b && (f(df), f(hF)), + bK.current === b && + (f(bK), + qv ? (EA._currentValue = Tk) : (EA._currentValue2 = Tk))); + } + function pe(b) { + var S = Error( + o( + 418, + 1 < arguments.length && arguments[1] !== void 0 && arguments[1] + ? "text" + : "HTML", + "", + ), + ); + throw (ce(j(S, b)), K2e); + } + function Re(b, S) { + if (!uf) throw Error(o(175)); + B6n(b.stateNode, b.type, b.memoizedProps, S, b) || pe(b, !0); + } + function Le(b) { + for (hp = b.return; hp;) + switch (hp.tag) { + case 5: + case 31: + case 13: + v1 = !1; + return; + case 27: + case 3: + v1 = !0; + return; + default: + hp = hp.return; + } + } + function Ne(b) { + if (!uf || b !== hp) return !1; + if (!na) return (Le(b), (na = !0), !1); + var S = b.tag; + if ( + (Ll + ? S !== 3 && + S !== 27 && + (S !== 5 || (DWe(b.type) && !dK(b.type, b.memoizedProps))) && + il && + pe(b) + : S !== 3 && + (S !== 5 || (DWe(b.type) && !dK(b.type, b.memoizedProps))) && + il && + pe(b), + Le(b), + S === 13) + ) { + if (!uf) throw Error(o(316)); + if ( + ((b = b.memoizedState), + (b = b !== null ? b.dehydrated : null), + !b) + ) + throw Error(o(317)); + il = z6n(b); + } else if (S === 31) { + if ( + ((b = b.memoizedState), + (b = b !== null ? b.dehydrated : null), + !b) + ) + throw Error(o(317)); + il = N6n(b); + } else + il = + Ll && S === 27 ? C6n(b.type, il) : hp ? MWe(b.stateNode) : null; + return !0; + } + function be() { + uf && ((il = hp = null), (na = !1)); + } + function ye() { + var b = NS; + return ( + b !== null && + (Qh === null ? (Qh = b) : Qh.push.apply(Qh, b), (NS = null)), + b + ); + } + function ce(b) { + NS === null ? (NS = [b]) : NS.push(b); + } + function ue(b, S, R) { + qv + ? (m(xK, S._currentValue), (S._currentValue = R)) + : (m(xK, S._currentValue2), (S._currentValue2 = R)); + } + function ke(b) { + var S = xK.current; + (qv ? (b._currentValue = S) : (b._currentValue2 = S), f(xK)); + } + function se(b, S, R) { + for (; b !== null;) { + var F = b.alternate; + if ( + ((b.childLanes & S) !== S + ? ((b.childLanes |= S), F !== null && (F.childLanes |= S)) + : F !== null && + (F.childLanes & S) !== S && + (F.childLanes |= S), + b === R) + ) + break; + b = b.return; + } + } + function qe(b, S, R, F) { + var V = b.child; + for (V !== null && (V.return = b); V !== null;) { + var W = V.dependencies; + if (W !== null) { + var xe = V.child; + W = W.firstContext; + e: for (; W !== null;) { + var We = W; + W = V; + for (var St = 0; St < S.length; St++) + if (We.context === S[St]) { + ((W.lanes |= R), + (We = W.alternate), + We !== null && (We.lanes |= R), + se(W.return, R, b), + F || (xe = null)); + break e; + } + W = We.next; + } + } else if (V.tag === 18) { + if (((xe = V.return), xe === null)) throw Error(o(341)); + ((xe.lanes |= R), + (W = xe.alternate), + W !== null && (W.lanes |= R), + se(xe, R, b), + (xe = null)); + } else + V.tag === 13 && + V.memoizedState !== null && + V.memoizedState.dehydrated === null + ? ((V.lanes |= R), + (xe = V.alternate), + xe !== null && (xe.lanes |= R), + se(V.return, R, b), + (xe = V.child), + (xe = xe !== null ? xe.sibling : null)) + : (xe = V.child); + if (xe !== null) xe.return = V; + else + for (xe = V; xe !== null;) { + if (xe === b) { + xe = null; + break; + } + if (((V = xe.sibling), V !== null)) { + ((V.return = xe.return), (xe = V)); + break; + } + xe = xe.return; + } + V = xe; + } + } + function Me(b, S, R, F) { + b = null; + for (var V = S, W = !1; V !== null;) { + if (!W) { + if ((V.flags & 524288) !== 0) W = !0; + else if ((V.flags & 262144) !== 0) break; + } + if (V.tag === 10) { + var xe = V.alternate; + if (xe === null) throw Error(o(387)); + if (((xe = xe.memoizedProps), xe !== null)) { + var We = V.type; + J0(V.pendingProps.value, xe.value) || + (b !== null ? b.push(We) : (b = [We])); + } + } else if (V === bK.current) { + if (((xe = V.alternate), xe === null)) throw Error(o(387)); + xe.memoizedState.memoizedState !== + V.memoizedState.memoizedState && + (b !== null ? b.push(EA) : (b = [EA])); + } + V = V.return; + } + return ( + b !== null && qe(S, b, R, F), + (S.flags |= 262144), + b !== null + ); + } + function Qe(b) { + for (b = b.firstContext; b !== null;) { + var S = b.context; + if (!J0(qv ? S._currentValue : S._currentValue2, b.memoizedValue)) + return !0; + b = b.next; + } + return !1; + } + function ee(b) { + ((Y5 = b), + (IA = null), + (b = b.dependencies), + b !== null && (b.firstContext = null)); + } + function K(b) { + return ze(Y5, b); + } + function we(b, S) { + return (Y5 === null && ee(b), ze(b, S)); + } + function ze(b, S) { + var R = qv ? S._currentValue : S._currentValue2; + if ( + ((S = { context: S, memoizedValue: R, next: null }), IA === null) + ) { + if (b === null) throw Error(o(308)); + ((IA = S), + (b.dependencies = { lanes: 0, firstContext: S }), + (b.flags |= 524288)); + } else IA = IA.next = S; + return R; + } + function tt() { + return { controller: new fCn(), data: new Map(), refCount: 0 }; + } + function Pe(b) { + (b.refCount--, + b.refCount === 0 && + mCn(hCn, function () { + b.controller.abort(); + })); + } + function Ke(b, S) { + if ((b.pendingLanes & 4194048) !== 0) { + var R = b.transitionTypes; + for ( + R === null && (R = b.transitionTypes = []), b = 0; + b < S.length; + b++ + ) { + var F = S[b]; + R.indexOf(F) === -1 && R.push(F); + } + } + } + function Ue(b) { + var S = b.transitionTypes; + return ((b.transitionTypes = null), S); + } + function Ze() {} + function ct(b) { + (b !== Bk && + b.next === null && + (Bk === null ? (Lk = Bk = b) : (Bk = Bk.next = b)), + (AK = !0), + J2e || ((J2e = !0), Ie())); + } + function Rt(b, S) { + if (!j2e && AK) { + j2e = !0; + do + for (var R = !1, F = Lk; F !== null;) { + if (!S) + if (b !== 0) { + var V = F.pendingLanes; + if (V === 0) var W = 0; + else { + var xe = F.suspendedLanes, + We = F.pingedLanes; + ((W = (1 << (31 - Y0(42 | b) + 1)) - 1), + (W &= V & ~(xe & ~We)), + (W = + W & 201326741 + ? (W & 201326741) | 1 + : W + ? W | 2 + : 0)); + } + W !== 0 && ((R = !0), $e(F, W)); + } else + ((W = Ra), + (W = y( + F, + F === ms ? W : 0, + F.cancelPendingCommit !== null || + F.timeoutHandle !== W5, + )), + (W & 3) === 0 || x(F, W) || ((R = !0), $e(F, W))); + F = F.next; + } + while (R); + j2e = !1; + } + } + function de() { + ge(); + } + function ge() { + AK = J2e = !1; + var b = 0; + K5 !== 0 && R4n() && (b = K5); + for (var S = Gh(), R = null, F = Lk; F !== null;) { + var V = F.next, + W = Oe(F, S); + (W === 0 + ? ((F.next = null), + R === null ? (Lk = V) : (R.next = V), + V === null && (Bk = R)) + : ((R = F), (b !== 0 || (W & 3) !== 0) && (AK = !0)), + (F = V)); + } + ((Ol !== 0 && Ol !== 5) || Rt(b, !1), K5 !== 0 && (K5 = 0)); + } + function Oe(b, S) { + for ( + var { suspendedLanes: R, pingedLanes: F, expirationTimes: V } = b, + W = b.pendingLanes & -62914561; + 0 < W; + ) { + var xe = 31 - Y0(W), + We = 1 << xe, + St = V[xe]; + (St === -1 + ? ((We & R) === 0 || (We & F) !== 0) && (V[xe] = w(We, S)) + : St <= S && (b.expiredLanes |= We), + (W &= ~We)); + } + if ( + ((S = ms), + (R = Ra), + (R = y( + b, + b === S ? R : 0, + b.cancelPendingCommit !== null || b.timeoutHandle !== W5, + )), + (F = b.callbackNode), + R === 0 || + (b === S && (_i === 2 || _i === 9)) || + b.cancelPendingCommit !== null) + ) + return ( + F !== null && F !== null && Q2e(F), + (b.callbackNode = null), + (b.callbackPriority = 0) + ); + if ((R & 3) === 0 || x(b, R)) { + if (((S = R & -R), S === b.callbackPriority)) return S; + switch ((F !== null && Q2e(F), U(R))) { + case 2: + case 8: + R = sCn; + break; + case 32: + R = X2e; + break; + case 268435456: + R = lCn; + break; + default: + R = X2e; + } + return ( + (F = Xe.bind(null, b)), + (R = yK(R, F)), + (b.callbackPriority = S), + (b.callbackNode = R), + S + ); + } + return ( + F !== null && F !== null && Q2e(F), + (b.callbackPriority = 2), + (b.callbackNode = null), + 2 + ); + } + function Xe(b, S) { + if (Ol !== 0 && Ol !== 5) + return ((b.callbackNode = null), (b.callbackPriority = 0), null); + var R = b.callbackNode; + if (cF() && b.callbackNode !== R) return null; + var F = Ra; + return ( + (F = y( + b, + b === ms ? F : 0, + b.cancelPendingCommit !== null || b.timeoutHandle !== W5, + )), + F === 0 + ? null + : (QXe(b, F, S), + Oe(b, Gh()), + b.callbackNode != null && b.callbackNode === R + ? Xe.bind(null, b) + : null) + ); + } + function $e(b, S) { + if (cF()) return null; + QXe(b, S, !0); + } + function Ie() { + U4n + ? N4n(function () { + (Sa & 6) !== 0 ? yK(VWe, de) : ge(); + }) + : yK(VWe, de); + } + function Ge() { + if (K5 === 0) { + var b = J5; + (b === 0 && + ((b = mK), (mK <<= 1), (mK & 261888) === 0 && (mK = 256)), + (K5 = b)); + } + return K5; + } + function _e(b, S) { + if (yF === null) { + var R = (yF = []); + (($2e = 0), + (J5 = Ge()), + (Ok = { + status: "pending", + value: void 0, + then: function (F) { + R.push(F); + }, + })); + } + return ($2e++, S.then(nt, nt), S); + } + function nt() { + if (--$2e === 0 && ((gF = null), yF !== null)) { + Ok !== null && (Ok.status = "fulfilled"); + var b = yF; + ((yF = null), (J5 = 0), (Ok = null)); + for (var S = 0; S < b.length; S++) (0, b[S])(); + } + } + function rt(b, S) { + var R = [], + F = { + status: "pending", + value: null, + reason: null, + then: function (V) { + R.push(V); + }, + }; + return ( + b.then( + function () { + ((F.status = "fulfilled"), (F.value = S)); + for (var V = 0; V < R.length; V++) (0, R[V])(S); + }, + function (V) { + for ( + F.status = "rejected", F.reason = V, V = 0; + V < R.length; + V++ + ) + (0, R[V])(void 0); + }, + ), + F + ); + } + function ot() { + var b = j5.current; + return b !== null ? b : ms.pooledCache; + } + function At(b, S) { + S === null ? m(j5, j5.current) : m(j5, S.pool); + } + function en() { + var b = ot(); + return b === null + ? null + : { parent: qv ? Bl._currentValue : Bl._currentValue2, pool: b }; + } + function Gt(b, S) { + if (J0(b, S)) return !0; + if ( + typeof b != "object" || + b === null || + typeof S != "object" || + S === null + ) + return !1; + var R = Object.keys(b), + F = Object.keys(S); + if (R.length !== F.length) return !1; + for (F = 0; F < R.length; F++) { + var V = R[F]; + if (!pCn.call(S, V) || !J0(b[V], S[V])) return !1; + } + return !0; + } + function tn(b) { + return ((b = b.status), b === "fulfilled" || b === "rejected"); + } + function Yt(b, S, R) { + switch ( + ((R = b[R]), + R === void 0 ? b.push(S) : R !== S && (S.then(Ze, Ze), (S = R)), + S.status) + ) { + case "fulfilled": + return S.value; + case "rejected": + throw ( + (b = S.reason), + it(b), + b === void 0 && !("reason" in S) ? Error(o(600)) : b + ); + default: + if (typeof S.status == "string") S.then(Ze, Ze); + else { + if (((b = ms), b !== null && 100 < b.shellSuspendCounter)) + throw Error(o(482)); + ((b = S), + (b.status = "pending"), + b.then( + function (F) { + if (S.status === "pending") { + var V = S; + ((V.status = "fulfilled"), (V.value = F)); + } + }, + function (F) { + if (S.status === "pending") { + var V = S; + ((V.status = "rejected"), (V.reason = F)); + } + }, + )); + } + switch (S.status) { + case "fulfilled": + return S.value; + case "rejected": + throw ((b = S.reason), it(b), b); + } + throw (($5 = S), Fk); + } + } + function Be(b) { + try { + var S = b._init; + return S(b._payload); + } catch (R) { + throw R !== null && + typeof R == "object" && + typeof R.then == "function" + ? (($5 = R), Fk) + : R; + } + } + function Je() { + if ($5 === null) throw Error(o(459)); + var b = $5; + return (($5 = null), b); + } + function it(b) { + if (b === Fk || b === wK) throw Error(o(483)); + } + function Et(b) { + var S = vF; + return ((vF += 1), Uk === null && (Uk = []), Yt(Uk, b, S)); + } + function Mt(b, S) { + ((S = S.props.ref), (b.ref = S !== void 0 ? S : null)); + } + function An(b, S) { + throw S.$$typeof === p4n + ? Error(o(525)) + : ((b = Object.prototype.toString.call(S)), + Error( + o( + 31, + b === "[object Object]" + ? "object with keys {" + Object.keys(S).join(", ") + "}" + : b, + ), + )); + } + function Nn(b) { + function S(xt, dt) { + if (b) { + var It = xt.deletions; + It === null + ? ((xt.deletions = [dt]), (xt.flags |= 16)) + : It.push(dt); + } + } + function R(xt, dt) { + if (!b) return null; + for (; dt !== null;) (S(xt, dt), (dt = dt.sibling)); + return null; + } + function F(xt) { + for (var dt = new Map(); xt !== null;) + (xt.key === null ? dt.set(xt.index, xt) : dt.set(xt.key, xt), + (xt = xt.sibling)); + return dt; + } + function V(xt, dt) { + return ( + (xt = wA(xt, dt)), + (xt.index = 0), + (xt.sibling = null), + xt + ); + } + function W(xt, dt, It) { + return ( + (xt.index = It), + b + ? ((It = xt.alternate), + It !== null + ? ((It = It.index), It < dt ? ((xt.flags |= 2), dt) : It) + : ((xt.flags |= 134217730), dt)) + : ((xt.flags |= 1048576), dt) + ); + } + function xe(xt) { + return ( + b && xt.alternate === null && (xt.flags |= 134217730), + xt + ); + } + function We(xt, dt, It, pn) { + return dt === null || dt.tag !== 6 + ? ((dt = T2e(It, xt.mode, pn)), (dt.return = xt), dt) + : ((dt = V(dt, It)), (dt.return = xt), dt); + } + function St(xt, dt, It, pn) { + var Qr = It.type; + return Qr === Ik + ? ((xt = sn(xt, dt, It.props.children, pn, It.key)), + Mt(xt, It), + xt) + : dt !== null && + (dt.elementType === Qr || + (typeof Qr == "object" && + Qr !== null && + Qr.$$typeof === OS && + Be(Qr) === dt.type)) + ? ((dt = V(dt, It.props)), Mt(dt, It), (dt.return = xt), dt) + : ((dt = lK(It.type, It.key, It.props, null, xt.mode, pn)), + Mt(dt, It), + (dt.return = xt), + dt); + } + function Xt(xt, dt, It, pn) { + return dt === null || + dt.tag !== 4 || + dt.stateNode.containerInfo !== It.containerInfo || + dt.stateNode.implementation !== It.implementation + ? ((dt = k2e(It, xt.mode, pn)), (dt.return = xt), dt) + : ((dt = V(dt, It.children || [])), (dt.return = xt), dt); + } + function sn(xt, dt, It, pn, Qr) { + return dt === null || dt.tag !== 7 + ? ((dt = X5(It, xt.mode, pn, Qr)), (dt.return = xt), dt) + : ((dt = V(dt, It)), (dt.return = xt), dt); + } + function Fn(xt, dt, It) { + if ( + (typeof dt == "string" && dt !== "") || + typeof dt == "number" || + typeof dt == "bigint" + ) + return ((dt = T2e("" + dt, xt.mode, It)), (dt.return = xt), dt); + if (typeof dt == "object" && dt !== null) { + switch (dt.$$typeof) { + case cK: + return ( + (It = lK(dt.type, dt.key, dt.props, null, xt.mode, It)), + Mt(It, dt), + (It.return = xt), + It + ); + case Ek: + return ((dt = k2e(dt, xt.mode, It)), (dt.return = xt), dt); + case OS: + return ((dt = Be(dt)), Fn(xt, dt, It)); + } + if (uK(dt) || u(dt)) + return ( + (dt = X5(dt, xt.mode, It, null)), + (dt.return = xt), + dt + ); + if (typeof dt.then == "function") return Fn(xt, Et(dt), It); + if (dt.$$typeof === SA) return Fn(xt, we(xt, dt), It); + An(xt, dt); + } + return null; + } + function jn(xt, dt, It, pn) { + var Qr = dt !== null ? dt.key : null; + if ( + (typeof It == "string" && It !== "") || + typeof It == "number" || + typeof It == "bigint" + ) + return Qr !== null ? null : We(xt, dt, "" + It, pn); + if (typeof It == "object" && It !== null) { + switch (It.$$typeof) { + case cK: + return It.key === Qr ? St(xt, dt, It, pn) : null; + case Ek: + return It.key === Qr ? Xt(xt, dt, It, pn) : null; + case OS: + return ((It = Be(It)), jn(xt, dt, It, pn)); + } + if (uK(It) || u(It)) + return Qr !== null ? null : sn(xt, dt, It, pn, null); + if (typeof It.then == "function") return jn(xt, dt, Et(It), pn); + if (It.$$typeof === SA) return jn(xt, dt, we(xt, It), pn); + An(xt, It); + } + return null; + } + function ca(xt, dt, It, pn, Qr) { + if ( + (typeof pn == "string" && pn !== "") || + typeof pn == "number" || + typeof pn == "bigint" + ) + return ((xt = xt.get(It) || null), We(dt, xt, "" + pn, Qr)); + if (typeof pn == "object" && pn !== null) { + switch (pn.$$typeof) { + case cK: + return ( + (xt = xt.get(pn.key === null ? It : pn.key) || null), + St(dt, xt, pn, Qr) + ); + case Ek: + return ( + (xt = xt.get(pn.key === null ? It : pn.key) || null), + Xt(dt, xt, pn, Qr) + ); + case OS: + return ((pn = Be(pn)), ca(xt, dt, It, pn, Qr)); + } + if (uK(pn) || u(pn)) + return ((xt = xt.get(It) || null), sn(dt, xt, pn, Qr, null)); + if (typeof pn.then == "function") + return ca(xt, dt, It, Et(pn), Qr); + if (pn.$$typeof === SA) return ca(xt, dt, It, we(dt, pn), Qr); + An(dt, pn); + } + return null; + } + function ei(xt, dt, It, pn) { + for ( + var Qr = null, Fl = null, oo = dt, ui = (dt = 0), vd = null; + oo !== null && ui < It.length; + ui++ + ) { + oo.index > ui ? ((vd = oo), (oo = null)) : (vd = oo.sibling); + var Va = jn(xt, oo, It[ui], pn); + if (Va === null) { + oo === null && (oo = vd); + break; + } + (b && oo && Va.alternate === null && S(xt, oo), + (dt = W(Va, dt, ui)), + Fl === null ? (Qr = Va) : (Fl.sibling = Va), + (Fl = Va), + (oo = vd)); + } + if (ui === It.length) return (R(xt, oo), na && oe(xt, ui), Qr); + if (oo === null) { + for (; ui < It.length; ui++) + ((oo = Fn(xt, It[ui], pn)), + oo !== null && + ((dt = W(oo, dt, ui)), + Fl === null ? (Qr = oo) : (Fl.sibling = oo), + (Fl = oo))); + return (na && oe(xt, ui), Qr); + } + for (oo = F(oo); ui < It.length; ui++) + ((vd = ca(oo, xt, ui, It[ui], pn)), + vd !== null && + (b && + ((Va = vd.alternate), + Va !== null && oo.delete(Va.key === null ? ui : Va.key)), + (dt = W(vd, dt, ui)), + Fl === null ? (Qr = vd) : (Fl.sibling = vd), + (Fl = vd))); + return ( + b && + oo.forEach(function (ZS) { + return S(xt, ZS); + }), + na && oe(xt, ui), + Qr + ); + } + function qS(xt, dt, It, pn) { + if (It == null) throw Error(o(151)); + for ( + var Qr = null, + Fl = null, + oo = dt, + ui = (dt = 0), + vd = null, + Va = It.next(); + oo !== null && !Va.done; + ui++, Va = It.next() + ) { + oo.index > ui ? ((vd = oo), (oo = null)) : (vd = oo.sibling); + var ZS = jn(xt, oo, Va.value, pn); + if (ZS === null) { + oo === null && (oo = vd); + break; + } + (b && oo && ZS.alternate === null && S(xt, oo), + (dt = W(ZS, dt, ui)), + Fl === null ? (Qr = ZS) : (Fl.sibling = ZS), + (Fl = ZS), + (oo = vd)); + } + if (Va.done) return (R(xt, oo), na && oe(xt, ui), Qr); + if (oo === null) { + for (; !Va.done; ui++, Va = It.next()) + ((Va = Fn(xt, Va.value, pn)), + Va !== null && + ((dt = W(Va, dt, ui)), + Fl === null ? (Qr = Va) : (Fl.sibling = Va), + (Fl = Va))); + return (na && oe(xt, ui), Qr); + } + for (oo = F(oo); !Va.done; ui++, Va = It.next()) + ((Va = ca(oo, xt, ui, Va.value, pn)), + Va !== null && + (b && + ((vd = Va.alternate), + vd !== null && oo.delete(vd.key === null ? ui : vd.key)), + (dt = W(Va, dt, ui)), + Fl === null ? (Qr = Va) : (Fl.sibling = Va), + (Fl = Va))); + return ( + b && + oo.forEach(function (xCn) { + return S(xt, xCn); + }), + na && oe(xt, ui), + Qr + ); + } + function a8(xt, dt, It, pn) { + if ( + (typeof It == "object" && + It !== null && + It.type === Ik && + It.key === null && + It.props.ref === void 0 && + (It = It.props.children), + typeof It == "object" && It !== null) + ) { + switch (It.$$typeof) { + case cK: + e: { + for (var Qr = It.key; dt !== null;) { + if (dt.key === Qr) { + if (((Qr = It.type), Qr === Ik)) { + if (dt.tag === 7) { + (R(xt, dt.sibling), + (pn = V(dt, It.props.children)), + Mt(pn, It), + (pn.return = xt), + (xt = pn)); + break e; + } + } else if ( + dt.elementType === Qr || + (typeof Qr == "object" && + Qr !== null && + Qr.$$typeof === OS && + Be(Qr) === dt.type) + ) { + (R(xt, dt.sibling), + (pn = V(dt, It.props)), + Mt(pn, It), + (pn.return = xt), + (xt = pn)); + break e; + } + R(xt, dt); + break; + } else S(xt, dt); + dt = dt.sibling; + } + It.type === Ik + ? ((pn = X5(It.props.children, xt.mode, pn, It.key)), + Mt(pn, It), + (pn.return = xt), + (xt = pn)) + : ((pn = lK( + It.type, + It.key, + It.props, + null, + xt.mode, + pn, + )), + Mt(pn, It), + (pn.return = xt), + (xt = pn)); + } + return xe(xt); + case Ek: + e: { + for (Qr = It.key; dt !== null;) { + if (dt.key === Qr) + if ( + dt.tag === 4 && + dt.stateNode.containerInfo === It.containerInfo && + dt.stateNode.implementation === It.implementation + ) { + (R(xt, dt.sibling), + (pn = V(dt, It.children || [])), + (pn.return = xt), + (xt = pn)); + break e; + } else { + R(xt, dt); + break; + } + else S(xt, dt); + dt = dt.sibling; + } + ((pn = k2e(It, xt.mode, pn)), + (pn.return = xt), + (xt = pn)); + } + return xe(xt); + case OS: + return ((It = Be(It)), a8(xt, dt, It, pn)); + } + if (uK(It)) return ei(xt, dt, It, pn); + if (u(It)) { + if (((Qr = u(It)), typeof Qr != "function")) + throw Error(o(150)); + return ((It = Qr.call(It)), qS(xt, dt, It, pn)); + } + if (typeof It.then == "function") return a8(xt, dt, Et(It), pn); + if (It.$$typeof === SA) return a8(xt, dt, we(xt, It), pn); + An(xt, It); + } + return (typeof It == "string" && It !== "") || + typeof It == "number" || + typeof It == "bigint" + ? ((It = "" + It), + dt !== null && dt.tag === 6 + ? (R(xt, dt.sibling), + (pn = V(dt, It)), + (pn.return = xt), + (xt = pn)) + : (R(xt, dt), + (pn = T2e(It, xt.mode, pn)), + (pn.return = xt), + (xt = pn)), + xe(xt)) + : R(xt, dt); + } + return function (xt, dt, It, pn) { + try { + vF = 0; + var Qr = a8(xt, dt, It, pn); + return ((Uk = null), Qr); + } catch (oo) { + if (oo === Fk || oo === wK) throw oo; + var Fl = n(29, oo, null, xt.mode); + return ((Fl.lanes = pn), (Fl.return = xt), Fl); + } finally { + } + }; + } + function Tn() { + for (var b = Nk, S = (tve = Nk = 0); S < b;) { + var R = b1[S]; + b1[S++] = null; + var F = b1[S]; + b1[S++] = null; + var V = b1[S]; + b1[S++] = null; + var W = b1[S]; + if (((b1[S++] = null), F !== null && V !== null)) { + var xe = F.pending; + (xe === null + ? (V.next = V) + : ((V.next = xe.next), (xe.next = V)), + (F.pending = V)); + } + W !== 0 && Er(R, V, W); + } + } + function Cn(b, S, R, F) { + ((b1[Nk++] = b), + (b1[Nk++] = S), + (b1[Nk++] = R), + (b1[Nk++] = F), + (tve |= F), + (b.lanes |= F), + (b = b.alternate), + b !== null && (b.lanes |= F)); + } + function er(b, S, R, F) { + return (Cn(b, S, R, F), ur(b)); + } + function qn(b, S) { + return (Cn(b, null, null, S), ur(b)); + } + function Er(b, S, R) { + b.lanes |= R; + var F = b.alternate; + F !== null && (F.lanes |= R); + for (var V = !1, W = b.return; W !== null;) + ((W.childLanes |= R), + (F = W.alternate), + F !== null && (F.childLanes |= R), + W.tag === 22 && + ((b = W.stateNode), + b === null || b._visibility & 1 || (V = !0)), + (b = W), + (W = W.return)); + return b.tag === 3 + ? ((W = b.stateNode), + V && + S !== null && + ((V = 31 - Y0(R)), + (b = W.hiddenUpdates), + (F = b[V]), + F === null ? (b[V] = [S]) : F.push(S), + (S.lane = R | 536870912)), + W) + : null; + } + function ur(b) { + if (50 < CF) throw ((CF = 0), (UK = null), Error(o(185))); + for (var S = b.return; S !== null;) ((b = S), (S = b.return)); + return b.tag === 3 ? b.stateNode : null; + } + function Yr(b) { + b.updateQueue = { + baseState: b.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null, lanes: 0, hiddenCallbacks: null }, + callbacks: null, + }; + } + function mo(b, S) { + ((b = b.updateQueue), + S.updateQueue === b && + (S.updateQueue = { + baseState: b.baseState, + firstBaseUpdate: b.firstBaseUpdate, + lastBaseUpdate: b.lastBaseUpdate, + shared: b.shared, + callbacks: null, + })); + } + function Zo(b) { + return { + lane: b, + tag: 0, + payload: null, + callback: null, + next: null, + }; + } + function Co(b, S, R) { + var F = b.updateQueue; + if (F === null) return null; + if (((F = F.shared), (Sa & 2) !== 0)) { + var V = F.pending; + return ( + V === null ? (S.next = S) : ((S.next = V.next), (V.next = S)), + (F.pending = S), + (S = ur(b)), + Er(b, null, R), + S + ); + } + return (Cn(b, F, S, R), ur(b)); + } + function on(b, S, R) { + if ( + ((S = S.updateQueue), + S !== null && ((S = S.shared), (R & 4194048) !== 0)) + ) { + var F = S.lanes; + ((F &= b.pendingLanes), (R |= F), (S.lanes = R), L(b, R)); + } + } + function li(b, S) { + var R = b.updateQueue, + F = b.alternate; + if (F !== null && ((F = F.updateQueue), R === F)) { + var V = null, + W = null; + if (((R = R.firstBaseUpdate), R !== null)) { + do { + var xe = { + lane: R.lane, + tag: R.tag, + payload: R.payload, + callback: null, + next: null, + }; + (W === null ? (V = W = xe) : (W = W.next = xe), (R = R.next)); + } while (R !== null); + W === null ? (V = W = S) : (W = W.next = S); + } else V = W = S; + ((R = { + baseState: F.baseState, + firstBaseUpdate: V, + lastBaseUpdate: W, + shared: F.shared, + callbacks: F.callbacks, + }), + (b.updateQueue = R)); + return; + } + ((b = R.lastBaseUpdate), + b === null ? (R.firstBaseUpdate = S) : (b.next = S), + (R.lastBaseUpdate = S)); + } + function Pi() { + if (nve) { + var b = Ok; + if (b !== null) throw b; + } + } + function zi(b, S, R, F) { + nve = !1; + var V = b.updateQueue; + zS = !1; + var { firstBaseUpdate: W, lastBaseUpdate: xe } = V, + We = V.shared.pending; + if (We !== null) { + V.shared.pending = null; + var St = We, + Xt = St.next; + ((St.next = null), + xe === null ? (W = Xt) : (xe.next = Xt), + (xe = St)); + var sn = b.alternate; + sn !== null && + ((sn = sn.updateQueue), + (We = sn.lastBaseUpdate), + We !== xe && + (We === null ? (sn.firstBaseUpdate = Xt) : (We.next = Xt), + (sn.lastBaseUpdate = St))); + } + if (W !== null) { + var Fn = V.baseState; + ((xe = 0), (sn = Xt = St = null), (We = W)); + do { + var jn = We.lane & -536870913, + ca = jn !== We.lane; + if (ca ? (Ra & jn) === jn : (F & jn) === jn) { + (jn !== 0 && jn === J5 && (nve = !0), + sn !== null && + (sn = sn.next = + { + lane: 0, + tag: We.tag, + payload: We.payload, + callback: null, + next: null, + })); + e: { + var ei = b, + qS = We; + jn = S; + var a8 = R; + switch (qS.tag) { + case 1: + if (((ei = qS.payload), typeof ei == "function")) { + Fn = ei.call(a8, Fn, jn); + break e; + } + Fn = ei; + break e; + case 3: + ei.flags = (ei.flags & -65537) | 128; + case 0: + if ( + ((ei = qS.payload), + (jn = + typeof ei == "function" ? ei.call(a8, Fn, jn) : ei), + jn == null) + ) + break e; + Fn = P2e({}, Fn, jn); + break e; + case 2: + zS = !0; + } + } + ((jn = We.callback), + jn !== null && + ((b.flags |= 64), + ca && (b.flags |= 8192), + (ca = V.callbacks), + ca === null ? (V.callbacks = [jn]) : ca.push(jn))); + } else + ((ca = { + lane: jn, + tag: We.tag, + payload: We.payload, + callback: We.callback, + next: null, + }), + sn === null + ? ((Xt = sn = ca), (St = Fn)) + : (sn = sn.next = ca), + (xe |= jn)); + if (((We = We.next), We === null)) { + if (((We = V.shared.pending), We === null)) break; + ((ca = We), + (We = ca.next), + (ca.next = null), + (V.lastBaseUpdate = ca), + (V.shared.pending = null)); + } + } while (!0); + (sn === null && (St = Fn), + (V.baseState = St), + (V.firstBaseUpdate = Xt), + (V.lastBaseUpdate = sn), + W === null && (V.shared.lanes = 0), + (VS |= xe), + (b.lanes = xe), + (b.memoizedState = Fn)); + } + } + function ve(b, S) { + if (typeof b != "function") throw Error(o(191, b)); + b.call(S); + } + function et(b, S) { + var R = b.callbacks; + if (R !== null) + for (b.callbacks = null, b = 0; b < R.length; b++) ve(R[b], S); + } + function ht(b, S) { + ((b = kA), m(CK, b), m(_S, S), (kA = b | S.baseLanes)); + } + function st() { + (m(CK, kA), m(_S, _S.current)); + } + function lt() { + ((kA = CK.current), f(_S), f(CK)); + } + function nn(b) { + var S = b.alternate; + (m(ff, ff.current & 1), + m(pf, b), + Km === null && + (S === null || + _S.current !== null || + S.memoizedState !== null) && + (Km = b)); + } + function dn(b) { + (m(ff, ff.current), m(pf, b), Km === null && (Km = b)); + } + function fn(b) { + b.tag === 22 + ? (m(ff, ff.current), m(pf, b), Km === null && (Km = b)) + : wn(); + } + function wn() { + (m(ff, ff.current), m(pf, pf.current)); + } + function Qt(b) { + (f(pf), Km === b && (Km = null), f(ff)); + } + function Qn(b, S) { + (m(pf, pf.current), m(ff, S)); + } + function fr(b) { + (f(ff), f(pf), Km === b && (Km = null)); + } + function hn(b) { + for (var S = b; S !== null;) { + if (S.tag === 13) { + var R = S.memoizedState; + if ( + R !== null && + ((R = R.dehydrated), R === null || H2e(R) || V2e(R)) + ) + return S; + } else if ( + S.tag === 19 && + S.memoizedProps.revealOrder !== "independent" + ) { + if ((S.flags & 128) !== 0) return S; + } else if (S.child !== null) { + ((S.child.return = S), (S = S.child)); + continue; + } + if (S === b) break; + for (; S.sibling === null;) { + if (S.return === null || S.return === b) return null; + S = S.return; + } + ((S.sibling.return = S.return), (S = S.sibling)); + } + return null; + } + function nr() { + throw Error(o(321)); + } + function la(b, S) { + if (S === null) return !1; + for (var R = 0; R < S.length && R < b.length; R++) + if (!J0(b[R], S[R])) return !1; + return !0; + } + function ir(b, S, R, F, V, W) { + return ( + (TA = W), + (Lo = S), + (S.memoizedState = null), + (S.updateQueue = null), + (S.lanes = 0), + (Zr.H = b === null || b.memoizedState === null ? WWe : YWe), + (t8 = !1), + (W = R(F, V)), + (t8 = !1), + zk && (W = _a(S, R, F, V)), + Or(b), + W + ); + } + function Or(b) { + Zr.H = TK; + var S = Ki !== null && Ki.next !== null; + if ( + ((TA = 0), + (hd = Ki = Lo = null), + (EK = !1), + (bF = 0), + (_k = null), + S) + ) + throw Error(o(300)); + b === null || + gd || + ((b = b.dependencies), b !== null && Qe(b) && (gd = !0)); + } + function _a(b, S, R, F) { + Lo = b; + var V = 0; + do { + if ((zk && (_k = null), (bF = 0), (zk = !1), 25 <= V)) + throw Error(o(301)); + if (((V += 1), (hd = Ki = null), b.updateQueue != null)) { + var W = b.updateQueue; + ((W.lastEffect = null), + (W.events = null), + (W.stores = null), + W.memoCache != null && (W.memoCache.index = 0)); + } + ((Zr.H = yCn), (W = S(R, F))); + } while (zk); + return W; + } + function kn() { + var b = Zr.H, + S = b.useState()[0]; + return ( + (S = typeof S.then == "function" ? ho(S) : S), + (b = b.useState()[0]), + (Ki !== null ? Ki.memoizedState : null) !== b && + (Lo.flags |= 1024), + S + ); + } + function ps() { + var b = IK !== 0; + return ((IK = 0), b); + } + function uo(b, S, R) { + ((S.updateQueue = b.updateQueue), + (S.flags &= -2053), + (b.lanes &= ~R)); + } + function fs(b) { + if (EK) { + for (b = b.memoizedState; b !== null;) { + var S = b.queue; + (S !== null && (S.pending = null), (b = b.next)); + } + EK = !1; + } + ((TA = 0), + (hd = Ki = Lo = null), + (zk = !1), + (bF = IK = 0), + (_k = null)); + } + function ea() { + var b = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null, + }; + return ( + hd === null ? (Lo.memoizedState = hd = b) : (hd = hd.next = b), + hd + ); + } + function no() { + if (Ki === null) { + var b = Lo.alternate; + b = b !== null ? b.memoizedState : null; + } else b = Ki.next; + var S = hd === null ? Lo.memoizedState : hd.next; + if (S !== null) ((hd = S), (Ki = b)); + else { + if (b === null) + throw Lo.alternate === null ? Error(o(467)) : Error(o(310)); + ((Ki = b), + (b = { + memoizedState: Ki.memoizedState, + baseState: Ki.baseState, + baseQueue: Ki.baseQueue, + queue: Ki.queue, + next: null, + }), + hd === null ? (Lo.memoizedState = hd = b) : (hd = hd.next = b)); + } + return hd; + } + function zd() { + return { + lastEffect: null, + events: null, + stores: null, + memoCache: null, + }; + } + function ho(b) { + var S = bF; + return ( + (bF += 1), + _k === null && (_k = []), + (b = Yt(_k, b, S)), + (S = Lo), + (hd === null ? S.memoizedState : hd.next) === null && + ((S = S.alternate), + (Zr.H = S === null || S.memoizedState === null ? WWe : YWe)), + b + ); + } + function ta(b) { + if (b !== null && typeof b == "object") { + if (typeof b.then == "function") return ho(b); + if (b.$$typeof === h4n) return; + if (b.$$typeof === SA) return K(b); + } + throw Error(o(438, String(b))); + } + function rc(b) { + var S = null, + R = Lo.updateQueue; + if ((R !== null && (S = R.memoCache), S == null)) { + var F = Lo.alternate; + F !== null && + ((F = F.updateQueue), + F !== null && + ((F = F.memoCache), + F != null && + (S = { + data: F.data.map(function (V) { + return V.slice(); + }), + index: 0, + }))); + } + if ( + (S == null && (S = { data: [], index: 0 }), + R === null && ((R = zd()), (Lo.updateQueue = R)), + (R.memoCache = S), + (R = S.data[S.index]), + R === void 0) + ) + for (R = S.data[S.index] = Array(b), F = 0; F < b; F++) + R[F] = m4n; + return (S.index++, R); + } + function ro(b, S) { + return typeof S == "function" ? S(b) : S; + } + function al(b) { + var S = no(); + return $a(S, Ki, b); + } + function $a(b, S, R) { + var F = b.queue; + if (F === null) throw Error(o(311)); + F.lastRenderedReducer = R; + var V = b.baseQueue, + W = F.pending; + if (W !== null) { + if (V !== null) { + var xe = V.next; + ((V.next = W.next), (W.next = xe)); + } + ((S.baseQueue = V = W), (F.pending = null)); + } + if (((W = b.baseState), V === null)) b.memoizedState = W; + else { + S = V.next; + var We = (xe = null), + St = null, + Xt = S, + sn = !1; + do { + var Fn = Xt.lane & -536870913; + if (Fn !== Xt.lane ? (Ra & Fn) === Fn : (TA & Fn) === Fn) { + var jn = Xt.revertLane; + if (jn === 0) + (St !== null && + (St = St.next = + { + lane: 0, + revertLane: 0, + gesture: null, + action: Xt.action, + hasEagerState: Xt.hasEagerState, + eagerState: Xt.eagerState, + next: null, + }), + Fn === J5 && (sn = !0)); + else if ((TA & jn) === jn) { + ((Xt = Xt.next), jn === J5 && (sn = !0)); + continue; + } else + ((Fn = { + lane: 0, + revertLane: Xt.revertLane, + gesture: null, + action: Xt.action, + hasEagerState: Xt.hasEagerState, + eagerState: Xt.eagerState, + next: null, + }), + St === null + ? ((We = St = Fn), (xe = W)) + : (St = St.next = Fn), + (Lo.lanes |= jn), + (VS |= jn)); + ((Fn = Xt.action), + t8 && R(W, Fn), + (W = Xt.hasEagerState ? Xt.eagerState : R(W, Fn))); + } else + ((jn = { + lane: Fn, + revertLane: Xt.revertLane, + gesture: Xt.gesture, + action: Xt.action, + hasEagerState: Xt.hasEagerState, + eagerState: Xt.eagerState, + next: null, + }), + St === null + ? ((We = St = jn), (xe = W)) + : (St = St.next = jn), + (Lo.lanes |= Fn), + (VS |= Fn)); + Xt = Xt.next; + } while (Xt !== null && Xt !== S); + if ( + (St === null ? (xe = W) : (St.next = We), + !J0(W, b.memoizedState) && + ((gd = !0), sn && ((R = Ok), R !== null))) + ) + throw R; + ((b.memoizedState = W), + (b.baseState = xe), + (b.baseQueue = St), + (F.lastRenderedState = W)); + } + return (V === null && (F.lanes = 0), [b.memoizedState, F.dispatch]); + } + function Ha(b) { + var S = no(), + R = S.queue; + if (R === null) throw Error(o(311)); + R.lastRenderedReducer = b; + var { dispatch: F, pending: V } = R, + W = S.memoizedState; + if (V !== null) { + R.pending = null; + var xe = (V = V.next); + do ((W = b(W, xe.action)), (xe = xe.next)); + while (xe !== V); + (J0(W, S.memoizedState) || (gd = !0), + (S.memoizedState = W), + S.baseQueue === null && (S.baseState = W), + (R.lastRenderedState = W)); + } + return [W, F]; + } + function Z0(b, S, R) { + var F = Lo, + V = no(), + W = na; + if (W) { + if (R === void 0) throw Error(o(407)); + R = R(); + } else R = S(); + var xe = !J0((Ki || V).memoizedState, R); + if ( + (xe && ((V.memoizedState = R), (gd = !0)), + (V = V.queue), + of(xA.bind(null, F, V, b), [b]), + (b = + V.getSnapshot !== S || + xe || + (hd !== null && (hd.memoizedState.tag & 1) !== 0)), + zv( + b ? 9 : 8, + { destroy: void 0 }, + TS.bind(null, F, V, R, S), + null, + ), + b) + ) { + if (((F.flags |= 2048), ms === null)) throw Error(o(349)); + W || (TA & 127) !== 0 || Qs(F, S, R); + } + return R; + } + function Qs(b, S, R) { + ((b.flags |= 16384), + (b = { getSnapshot: S, value: R }), + (S = Lo.updateQueue), + S === null + ? ((S = zd()), (Lo.updateQueue = S), (S.stores = [b])) + : ((R = S.stores), R === null ? (S.stores = [b]) : R.push(b))); + } + function TS(b, S, R, F) { + ((S.value = R), (S.getSnapshot = F), WO(S) && _5(b)); + } + function xA(b, S, R) { + return R(function () { + WO(S) && _5(b); + }); + } + function WO(b) { + var S = b.getSnapshot; + b = b.value; + try { + var R = S(); + return !J0(b, R); + } catch { + return !0; + } + } + function _5(b) { + var S = qn(b, 2); + S !== null && Vh(S, b, 2); + } + function H5(b) { + var S = ea(); + if (typeof b == "function") { + var R = b; + if (((b = R()), t8)) { + D(!0); + try { + R(); + } finally { + D(!1); + } + } + } + return ( + (S.memoizedState = S.baseState = b), + (S.queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: ro, + lastRenderedState: b, + }), + S + ); + } + function YO(b, S, R, F) { + return ( + (b.baseState = R), + $a(b, Ki, typeof F == "function" ? F : ro) + ); + } + function f1(b, S, R, F, V) { + if (QY(b)) throw Error(o(485)); + if (((b = S.action), b !== null)) { + var W = { + payload: V, + action: b, + next: null, + isTransition: !0, + status: "pending", + value: null, + reason: null, + listeners: [], + then: function (xe) { + W.listeners.push(xe); + }, + }; + (Zr.T !== null ? R(!0) : (W.isTransition = !1), + F(W), + (R = S.pending), + R === null + ? ((W.next = S.pending = W), mk(S, W)) + : ((W.next = R.next), (S.pending = R.next = W))); + } + } + function mk(b, S) { + var { action: R, payload: F } = S, + V = b.state; + if (S.isTransition) { + var W = Zr.T, + xe = {}; + ((xe.types = W !== null ? W.types : null), (Zr.T = xe)); + try { + var We = R(V, F), + St = Zr.S; + (St !== null && St(xe, We), KO(b, S, We)); + } catch (Xt) { + V5(b, S, Xt); + } finally { + (W !== null && xe.types !== null && (W.types = xe.types), + (Zr.T = W)); + } + } else + try { + ((W = R(V, F)), KO(b, S, W)); + } catch (Xt) { + V5(b, S, Xt); + } + } + function KO(b, S, R) { + R !== null && typeof R == "object" && typeof R.then == "function" + ? R.then( + function (F) { + JO(b, S, F); + }, + function (F) { + return V5(b, S, F); + }, + ) + : JO(b, S, R); + } + function JO(b, S, R) { + ((S.status = "fulfilled"), + (S.value = R), + jO(S), + (b.state = R), + (S = b.pending), + S !== null && + ((R = S.next), + R === S + ? (b.pending = null) + : ((R = R.next), (S.next = R), mk(b, R)))); + } + function V5(b, S, R) { + var F = b.pending; + if (((b.pending = null), F !== null)) { + F = F.next; + do ((S.status = "rejected"), (S.reason = R), jO(S), (S = S.next)); + while (S !== F); + } + b.action = null; + } + function jO(b) { + b = b.listeners; + for (var S = 0; S < b.length; S++) (0, b[S])(); + } + function $O(b, S) { + return S; + } + function kS(b, S) { + if (na) { + var R = ms.formState; + if (R !== null) { + e: { + var F = Lo; + if (na) { + if (il) { + var V = w6n(il, v1); + if (V) { + ((il = MWe(V)), (F = S6n(V))); + break e; + } + } + pe(F); + } + F = !1; + } + F && (S = R[0]); + } + } + ((R = ea()), + (R.memoizedState = R.baseState = S), + (F = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: $O, + lastRenderedState: S, + }), + (R.queue = F), + (R = ZQe.bind(null, Lo, F)), + (F.dispatch = R), + (F = H5(!1))); + var W = zye.bind(null, Lo, !1, F.queue); + return ( + (F = ea()), + (V = { state: S, dispatch: null, action: b, pending: null }), + (F.queue = V), + (R = f1.bind(null, Lo, V, W, R)), + (V.dispatch = R), + (F.memoizedState = b), + [S, R, !1] + ); + } + function RS(b) { + var S = no(); + return n2(S, Ki, b); + } + function n2(b, S, R) { + if ( + ((S = $a(b, S, $O)[0]), + (b = al(ro)[0]), + typeof S == "object" && S !== null && typeof S.then == "function") + ) + try { + var F = ho(S); + } catch (xe) { + throw xe === Fk ? wK : xe; + } + else F = S; + S = no(); + var V = S.queue, + W = V.dispatch; + return ( + R !== S.memoizedState && + ((Lo.flags |= 2048), + zv(9, { destroy: void 0 }, qY.bind(null, V, R), null)), + [F, W, b] + ); + } + function qY(b, S) { + b.action = S; + } + function hk(b) { + var S = no(), + R = Ki; + if (R !== null) return n2(S, R, b); + (no(), (S = S.memoizedState), (R = no())); + var F = R.queue.dispatch; + return ((R.memoizedState = b), [S, F, !1]); + } + function zv(b, S, R, F) { + return ( + (b = { tag: b, create: R, deps: F, inst: S, next: null }), + (S = Lo.updateQueue), + S === null && ((S = zd()), (Lo.updateQueue = S)), + (R = S.lastEffect), + R === null + ? (S.lastEffect = b.next = b) + : ((F = R.next), + (R.next = b), + (b.next = F), + (S.lastEffect = b)), + b + ); + } + function PS() { + return no().memoizedState; + } + function G5(b, S, R, F) { + var V = ea(); + ((Lo.flags |= b), + (V.memoizedState = zv( + 1 | S, + { destroy: void 0 }, + R, + F === void 0 ? null : F, + ))); + } + function _v(b, S, R, F) { + var V = no(); + F = F === void 0 ? null : F; + var W = V.memoizedState.inst; + Ki !== null && F !== null && la(F, Ki.memoizedState.deps) + ? (V.memoizedState = zv(S, W, R, F)) + : ((Lo.flags |= b), (V.memoizedState = zv(1 | S, W, R, F))); + } + function gk(b, S) { + G5(8390656, 8, b, S); + } + function of(b, S) { + _v(2048, 8, b, S); + } + function Uye(b) { + Lo.flags |= 4; + var S = Lo.updateQueue; + if (S === null) + ((S = zd()), (Lo.updateQueue = S), (S.events = [b])); + else { + var R = S.events; + R === null ? (S.events = [b]) : R.push(b); + } + } + function q5(b) { + var S = no().memoizedState; + return ( + Uye({ ref: S, nextImpl: b }), + function () { + if ((Sa & 2) !== 0) throw Error(o(440)); + return S.impl.apply(void 0, arguments); + } + ); + } + function Z5(b, S) { + return _v(4, 2, b, S); + } + function eF(b, S) { + return _v(4, 4, b, S); + } + function ZY(b, S) { + if (typeof S == "function") { + b = b(); + var R = S(b); + return function () { + typeof R == "function" ? R() : S(null); + }; + } + if (S != null) + return ( + (b = b()), + (S.current = b), + function () { + S.current = null; + } + ); + } + function af(b, S, R) { + ((R = R != null ? R.concat([b]) : null), + _v(4, 4, ZY.bind(null, S, b), R)); + } + function Ym() {} + function sf(b, S) { + var R = no(); + S = S === void 0 ? null : S; + var F = R.memoizedState; + return S !== null && la(S, F[1]) + ? F[0] + : ((R.memoizedState = [b, S]), b); + } + function r2(b, S) { + var R = no(); + S = S === void 0 ? null : S; + var F = R.memoizedState; + if (S !== null && la(S, F[1])) return F[0]; + if (((F = b()), t8)) { + D(!0); + try { + b(); + } finally { + D(!1); + } + } + return ((R.memoizedState = [F, S]), F); + } + function yk(b, S, R) { + return R === void 0 || + ((TA & 1073741824) !== 0 && (Ra & 261930) === 0) + ? (b.memoizedState = S) + : ((b.memoizedState = R), + (b = ZXe()), + (Lo.lanes |= b), + (VS |= b), + R); + } + function _Qe(b, S, R, F) { + return J0(R, S) + ? R + : _S.current !== null + ? ((b = yk(b, R, F)), J0(b, S) || (gd = !0), b) + : (TA & 106) === 0 || + ((TA & 1073741824) !== 0 && (Ra & 261930) === 0) + ? ((gd = !0), (b.memoizedState = R)) + : ((b = ZXe()), (Lo.lanes |= b), (VS |= b), S); + } + function HQe(b, S, R, F, V) { + var W = CA(); + mp(W !== 0 && 8 > W ? W : 8); + var xe = Zr.T, + We = {}; + ((We.types = xe !== null ? xe.types : null), + (Zr.T = We), + zye(b, !1, S, R)); + try { + var St = V(), + Xt = Zr.S; + if ( + (Xt !== null && Xt(We, St), + St !== null && + typeof St == "object" && + typeof St.then == "function") + ) { + var sn = rt(St, F); + tF(b, S, sn, X0(b)); + } else tF(b, S, F, X0(b)); + } catch (Fn) { + tF( + b, + S, + { then: function () {}, status: "rejected", reason: Fn }, + X0(), + ); + } finally { + (mp(W), + xe !== null && We.types !== null && (xe.types = We.types), + (Zr.T = xe)); + } + } + function VQe(b) { + var S = b.memoizedState; + if (S !== null) return S; + S = { + memoizedState: Tk, + baseState: Tk, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: ro, + lastRenderedState: Tk, + }, + next: null, + }; + var R = {}; + return ( + (S.next = { + memoizedState: R, + baseState: R, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: ro, + lastRenderedState: R, + }, + next: null, + }), + (b.memoizedState = S), + (b = b.alternate), + b !== null && (b.memoizedState = S), + S + ); + } + function Nye() { + return K(EA); + } + function GQe() { + return no().memoizedState; + } + function qQe() { + return no().memoizedState; + } + function VSn(b) { + for (var S = b.return; S !== null;) { + switch (S.tag) { + case 24: + case 3: + var R = X0(); + b = Zo(R); + var F = Co(S, b, R); + (F !== null && (Vh(F, S, R), on(F, S, R)), + (S = { cache: tt() }), + (b.payload = S)); + return; + } + S = S.return; + } + } + function GSn(b, S, R) { + var F = X0(); + ((R = { + lane: F, + revertLane: 0, + gesture: null, + action: R, + hasEagerState: !1, + eagerState: null, + next: null, + }), + QY(b) + ? QQe(S, R) + : ((R = er(b, S, R, F)), + R !== null && (Vh(R, b, F), XQe(R, S, F)))); + } + function ZQe(b, S, R) { + var F = X0(); + tF(b, S, R, F); + } + function tF(b, S, R, F) { + var V = { + lane: F, + revertLane: 0, + gesture: null, + action: R, + hasEagerState: !1, + eagerState: null, + next: null, + }; + if (QY(b)) QQe(S, V); + else { + var W = b.alternate; + if ( + b.lanes === 0 && + (W === null || W.lanes === 0) && + ((W = S.lastRenderedReducer), W !== null) + ) + try { + var xe = S.lastRenderedState, + We = W(xe, R); + if (((V.hasEagerState = !0), (V.eagerState = We), J0(We, xe))) + return (Cn(b, S, V, 0), ms === null && Tn(), !1); + } catch { + } finally { + } + if (((R = er(b, S, V, F)), R !== null)) + return (Vh(R, b, F), XQe(R, S, F), !0); + } + return !1; + } + function zye(b, S, R, F) { + if ( + ((F = { + lane: 2, + revertLane: Ge(), + gesture: null, + action: F, + hasEagerState: !1, + eagerState: null, + next: null, + }), + QY(b)) + ) { + if (S) throw Error(o(479)); + } else ((S = er(b, R, F, 2)), S !== null && Vh(S, b, 2)); + } + function QY(b) { + var S = b.alternate; + return b === Lo || (S !== null && S === Lo); + } + function QQe(b, S) { + zk = EK = !0; + var R = b.pending; + (R === null ? (S.next = S) : ((S.next = R.next), (R.next = S)), + (b.pending = S)); + } + function XQe(b, S, R) { + if ((R & 4194048) !== 0) { + var F = S.lanes; + ((F &= b.pendingLanes), (R |= F), (S.lanes = R), L(b, R)); + } + } + function _ye(b, S, R, F) { + ((S = b.memoizedState), + (R = R(F, S)), + (R = R == null ? S : P2e({}, S, R)), + (b.memoizedState = R), + b.lanes === 0 && (b.updateQueue.baseState = R)); + } + function WQe(b, S, R, F, V, W, xe) { + return ( + (b = b.stateNode), + typeof b.shouldComponentUpdate == "function" + ? b.shouldComponentUpdate(F, W, xe) + : S.prototype && S.prototype.isPureReactComponent + ? !Gt(R, F) || !Gt(V, W) + : !0 + ); + } + function YQe(b, S, R, F) { + ((b = S.state), + typeof S.componentWillReceiveProps == "function" && + S.componentWillReceiveProps(R, F), + typeof S.UNSAFE_componentWillReceiveProps == "function" && + S.UNSAFE_componentWillReceiveProps(R, F), + S.state !== b && rve.enqueueReplaceState(S, S.state, null)); + } + function Q5(b, S) { + var R = S; + if ("ref" in S) { + R = {}; + for (var F in S) F !== "ref" && (R[F] = S[F]); + } + if ((b = b.defaultProps)) { + R === S && (R = P2e({}, R)); + for (var V in b) R[V] === void 0 && (R[V] = b[V]); + } + return R; + } + function XY(b, S) { + try { + var R = b.onUncaughtError; + R(S.value, { componentStack: S.stack }); + } catch (F) { + setTimeout(function () { + throw F; + }); + } + } + function KQe(b, S, R) { + try { + var F = b.onCaughtError; + F(R.value, { + componentStack: R.stack, + errorBoundary: S.tag === 1 ? S.stateNode : null, + }); + } catch (V) { + setTimeout(function () { + throw V; + }); + } + } + function Hye(b, S, R) { + return ( + (R = Zo(R)), + (R.tag = 3), + (R.payload = { element: null }), + (R.callback = function () { + XY(b, S); + }), + R + ); + } + function JQe(b) { + return ((b = Zo(b)), (b.tag = 3), b); + } + function jQe(b, S, R, F) { + var V = R.type.getDerivedStateFromError; + if (typeof V == "function") { + var W = F.value; + ((b.payload = function () { + return V(W); + }), + (b.callback = function () { + KQe(S, R, F); + })); + } + var xe = R.stateNode; + xe !== null && + typeof xe.componentDidCatch == "function" && + (b.callback = function () { + (KQe(S, R, F), + typeof V != "function" && + (GS === null ? (GS = new Set([this])) : GS.add(this))); + var We = F.stack; + this.componentDidCatch(F.value, { + componentStack: We !== null ? We : "", + }); + }); + } + function qSn(b, S, R, F, V) { + if ( + ((R.flags |= 32768), + F !== null && typeof F == "object" && typeof F.then == "function") + ) { + if ( + ((S = R.alternate), + S !== null && Me(S, R, V, !0), + (R = pf.current), + R !== null) + ) { + switch (R.tag) { + case 31: + case 13: + case 19: + return ( + Km === null + ? iK() + : R.alternate === null && oc === 0 && (oc = 3), + (R.flags &= -257), + (R.flags |= 65536), + (R.lanes = V), + F === SK + ? (R.flags |= 16384) + : ((S = R.updateQueue), + S === null + ? (R.updateQueue = new Set([F])) + : S.add(F), + E2e(b, F, V)), + !1 + ); + case 22: + return ( + (R.flags |= 65536), + F === SK + ? (R.flags |= 16384) + : ((S = R.updateQueue), + S === null + ? ((S = { + transitions: null, + markerInstances: null, + retryQueue: new Set([F]), + }), + (R.updateQueue = S)) + : ((R = S.retryQueue), + R === null + ? (S.retryQueue = new Set([F])) + : R.add(F)), + E2e(b, F, V)), + !1 + ); + } + throw Error(o(435, R.tag)); + } + return (E2e(b, F, V), iK(), !1); + } + if (na) + return ( + (S = pf.current), + S !== null + ? ((S.flags & 65536) === 0 && (S.flags |= 256), + (S.flags |= 65536), + (S.lanes = V), + F !== K2e && + ((b = Error(o(422), { cause: F })), ce(j(b, R)))) + : (F !== K2e && + ((S = Error(o(423), { cause: F })), ce(j(S, R))), + (b = b.current.alternate), + (b.flags |= 65536), + (V &= -V), + (b.lanes |= V), + (F = j(F, R)), + (V = Hye(b.stateNode, F, V)), + li(b, V), + oc !== 4 && (oc = 2)), + !1 + ); + var W = Error(o(520), { cause: F }); + if ( + ((W = j(W, R)), + wF === null ? (wF = [W]) : wF.push(W), + oc !== 4 && (oc = 2), + S === null) + ) + return !0; + ((F = j(F, R)), (R = S)); + do { + switch (R.tag) { + case 3: + return ( + (R.flags |= 65536), + (b = V & -V), + (R.lanes |= b), + (b = Hye(R.stateNode, F, b)), + li(R, b), + !1 + ); + case 1: + if ( + ((S = R.type), + (W = R.stateNode), + (R.flags & 128) === 0 && + (typeof S.getDerivedStateFromError == "function" || + (W !== null && + typeof W.componentDidCatch == "function" && + (GS === null || !GS.has(W))))) + ) + return ( + (R.flags |= 65536), + (V &= -V), + (R.lanes |= V), + (V = JQe(V)), + jQe(V, b, R, F), + li(R, V), + !1 + ); + break; + case 22: + if (R.memoizedState !== null) return ((R.flags |= 65536), !1); + } + R = R.return; + } while (R !== null); + return !1; + } + function _d(b, S, R, F) { + S.child = b === null ? XWe(S, null, R, F) : e8(S, b.child, R, F); + } + function $Qe(b, S, R, F, V) { + R = R.render; + var W = S.ref; + if ("ref" in F) { + var xe = {}; + for (var We in F) We !== "ref" && (xe[We] = F[We]); + } else xe = F; + return ( + ee(S), + (F = ir(b, S, R, xe, W, V)), + (We = ps()), + b !== null && !gd + ? (uo(b, S, V), AA(b, S, V)) + : (na && We && Y(S), (S.flags |= 1), _d(b, S, F, V), S.child) + ); + } + function eXe(b, S, R, F, V) { + if (b === null) { + var W = R.type; + return typeof W == "function" && + !I2e(W) && + W.defaultProps === void 0 && + R.compare === null + ? ((S.tag = 15), (S.type = W), tXe(b, S, W, F, V)) + : ((b = lK(R.type, null, F, S, S.mode, V)), + (b.ref = S.ref), + (b.return = S), + (S.child = b)); + } + if (((W = b.child), !Wye(b, V))) { + var xe = W.memoizedProps; + if ( + ((R = R.compare), + (R = R !== null ? R : Gt), + R(xe, F) && b.ref === S.ref) + ) + return AA(b, S, V); + } + return ( + (S.flags |= 1), + (b = wA(W, F)), + (b.ref = S.ref), + (b.return = S), + (S.child = b) + ); + } + function tXe(b, S, R, F, V) { + if (b !== null) { + var W = b.memoizedProps; + if (Gt(W, F) && b.ref === S.ref) + if (((gd = !1), (S.pendingProps = F = W), Wye(b, V))) + (b.flags & 131072) !== 0 && (gd = !0); + else return ((S.lanes = b.lanes), AA(b, S, V)); + } + return Vye(b, S, R, F, V); + } + function nXe(b, S, R, F) { + var V = F.children, + W = b !== null ? b.memoizedState : null; + if ( + (b === null && + S.stateNode === null && + (S.stateNode = { + _visibility: 1, + _pendingMarkers: null, + _retryCache: null, + _transitions: null, + }), + F.mode === "hidden") + ) { + if ((S.flags & 128) !== 0) { + if (((W = W !== null ? W.baseLanes | R : R), b !== null)) { + for (F = S.child = b.child, V = 0; F !== null;) + ((V = V | F.lanes | F.childLanes), (F = F.sibling)); + F = V & ~W; + } else ((F = 0), (S.child = null)); + return rXe(b, S, W, R, F); + } + if ((R & 536870912) !== 0) + ((S.memoizedState = { baseLanes: 0, cachePool: null }), + b !== null && At(S, W !== null ? W.cachePool : null), + W !== null ? ht(S, W) : st(), + fn(S)); + else + return ( + (F = S.lanes = 536870912), + rXe(b, S, W !== null ? W.baseLanes | R : R, R, F) + ); + } else + W !== null + ? (At(S, W.cachePool), ht(S, W), wn(), (S.memoizedState = null)) + : (b !== null && At(S, null), st(), wn()); + return (_d(b, S, V, R), S.child); + } + function nF(b, S) { + return ( + (b !== null && b.tag === 22) || + S.stateNode !== null || + (S.stateNode = { + _visibility: 1, + _pendingMarkers: null, + _retryCache: null, + _transitions: null, + }), + S.sibling + ); + } + function rXe(b, S, R, F, V) { + var W = ot(); + return ( + (W = + W === null + ? null + : { + parent: qv ? Bl._currentValue : Bl._currentValue2, + pool: W, + }), + (S.memoizedState = { baseLanes: R, cachePool: W }), + b !== null && At(S, null), + st(), + fn(S), + b !== null && Me(b, S, F, !0), + (S.childLanes = V), + null + ); + } + function WY(b, S) { + return ( + (S = YY({ mode: S.mode, children: S.children }, b.mode)), + (S.ref = b.ref), + (b.child = S), + (S.return = b), + S + ); + } + function oXe(b, S, R) { + return ( + e8(S, b.child, null, R), + (b = WY(S, S.pendingProps)), + (b.flags |= 2), + Qt(S), + (S.memoizedState = null), + b + ); + } + function ZSn(b, S, R) { + var F = S.pendingProps, + V = (S.flags & 128) !== 0; + if (((S.flags &= -129), b === null)) { + if (na) { + if (F.mode === "hidden") + return ( + (b = WY(S, F)), + (S.lanes = 536870912), + (b.memoizedState = { baseLanes: 0, cachePool: null }), + nF(null, b) + ); + if ( + (dn(S), + (b = il) + ? ((b = D6n(b, v1)), + b !== null && + ((S.memoizedState = { + dehydrated: b, + treeContext: + FS !== null ? { id: Qv, overflow: Xv } : null, + retryLane: 536870912, + hydrationErrors: null, + }), + (R = sWe(b)), + (R.return = S), + (S.child = R), + (hp = S), + (il = null))) + : (b = null), + b === null) + ) + throw pe(S); + return ((S.lanes = 536870912), null); + } + return WY(S, F); + } + var W = b.memoizedState; + if (W !== null) { + var xe = W.dehydrated; + if ((dn(S), V)) + if (S.flags & 256) ((S.flags &= -257), (S = oXe(b, S, R))); + else if (S.memoizedState !== null) + ((S.child = b.child), (S.flags |= 128), (S = null)); + else throw Error(o(558)); + else if ( + (gd || Me(b, S, R, !1), (V = (R & b.childLanes) !== 0), gd || V) + ) { + if (_S.current === null) { + if ( + ((F = ms), + F !== null && + ((xe = O(F, R)), xe !== 0 && xe !== W.retryLane)) + ) + throw ((W.retryLane = xe), qn(b, xe), Vh(F, b, xe), ove); + iK(); + } + S = oXe(b, S, R); + } else + ((b = W.treeContext), + uf && + ((il = T6n(xe)), + (hp = S), + (na = !0), + (NS = null), + (v1 = !1), + b !== null && ne(S, b)), + (S = WY(S, F)), + (S.flags |= 134221824)); + return S; + } + return ( + (b = wA(b.child, { mode: F.mode, children: F.children })), + (b.ref = S.ref), + (S.child = b), + (b.return = S), + b + ); + } + function vk(b, S) { + var R = S.ref; + if (R === null) + b !== null && b.ref !== null && (S.flags |= 4194816); + else { + if (typeof R != "function" && typeof R != "object") + throw Error(o(284)); + (b === null || b.ref !== R) && (S.flags |= 4194816); + } + } + function Vye(b, S, R, F, V) { + return ( + ee(S), + (R = ir(b, S, R, F, void 0, V)), + (F = ps()), + b !== null && !gd + ? (uo(b, S, V), AA(b, S, V)) + : (na && F && Y(S), (S.flags |= 1), _d(b, S, R, V), S.child) + ); + } + function aXe(b, S, R, F, V, W) { + return ( + ee(S), + (S.updateQueue = null), + (R = _a(S, F, R, V)), + Or(b), + (F = ps()), + b !== null && !gd + ? (uo(b, S, W), AA(b, S, W)) + : (na && F && Y(S), (S.flags |= 1), _d(b, S, R, W), S.child) + ); + } + function iXe(b, S, R, F, V) { + if ((ee(S), S.stateNode === null)) { + var W = Pk, + xe = R.contextType; + (typeof xe == "object" && xe !== null && (W = K(xe)), + (W = new R(F, W)), + (S.memoizedState = + W.state !== null && W.state !== void 0 ? W.state : null), + (W.updater = rve), + (S.stateNode = W), + (W._reactInternals = S), + (W = S.stateNode), + (W.props = F), + (W.state = S.memoizedState), + (W.refs = {}), + Yr(S), + (xe = R.contextType), + (W.context = typeof xe == "object" && xe !== null ? K(xe) : Pk), + (W.state = S.memoizedState), + (xe = R.getDerivedStateFromProps), + typeof xe == "function" && + (_ye(S, R, xe, F), (W.state = S.memoizedState)), + typeof R.getDerivedStateFromProps == "function" || + typeof W.getSnapshotBeforeUpdate == "function" || + (typeof W.UNSAFE_componentWillMount != "function" && + typeof W.componentWillMount != "function") || + ((xe = W.state), + typeof W.componentWillMount == "function" && + W.componentWillMount(), + typeof W.UNSAFE_componentWillMount == "function" && + W.UNSAFE_componentWillMount(), + xe !== W.state && rve.enqueueReplaceState(W, W.state, null), + zi(S, F, W, V), + Pi(), + (W.state = S.memoizedState)), + typeof W.componentDidMount == "function" && + (S.flags |= 4194308), + (F = !0)); + } else if (b === null) { + W = S.stateNode; + var We = S.memoizedProps, + St = Q5(R, We); + W.props = St; + var Xt = W.context, + sn = R.contextType; + ((xe = Pk), typeof sn == "object" && sn !== null && (xe = K(sn))); + var Fn = R.getDerivedStateFromProps; + ((sn = + typeof Fn == "function" || + typeof W.getSnapshotBeforeUpdate == "function"), + (We = S.pendingProps !== We), + sn || + (typeof W.UNSAFE_componentWillReceiveProps != "function" && + typeof W.componentWillReceiveProps != "function") || + ((We || Xt !== xe) && YQe(S, W, F, xe)), + (zS = !1)); + var jn = S.memoizedState; + ((W.state = jn), + zi(S, F, W, V), + Pi(), + (Xt = S.memoizedState), + We || jn !== Xt || zS + ? (typeof Fn == "function" && + (_ye(S, R, Fn, F), (Xt = S.memoizedState)), + (St = zS || WQe(S, R, St, F, jn, Xt, xe)) + ? (sn || + (typeof W.UNSAFE_componentWillMount != "function" && + typeof W.componentWillMount != "function") || + (typeof W.componentWillMount == "function" && + W.componentWillMount(), + typeof W.UNSAFE_componentWillMount == "function" && + W.UNSAFE_componentWillMount()), + typeof W.componentDidMount == "function" && + (S.flags |= 4194308)) + : (typeof W.componentDidMount == "function" && + (S.flags |= 4194308), + (S.memoizedProps = F), + (S.memoizedState = Xt)), + (W.props = F), + (W.state = Xt), + (W.context = xe), + (F = St)) + : (typeof W.componentDidMount == "function" && + (S.flags |= 4194308), + (F = !1))); + } else { + ((W = S.stateNode), + mo(b, S), + (xe = S.memoizedProps), + (sn = Q5(R, xe)), + (W.props = sn), + (Fn = S.pendingProps), + (jn = W.context), + (Xt = R.contextType), + (St = Pk), + typeof Xt == "object" && Xt !== null && (St = K(Xt)), + (We = R.getDerivedStateFromProps), + (Xt = + typeof We == "function" || + typeof W.getSnapshotBeforeUpdate == "function") || + (typeof W.UNSAFE_componentWillReceiveProps != "function" && + typeof W.componentWillReceiveProps != "function") || + ((xe !== Fn || jn !== St) && YQe(S, W, F, St)), + (zS = !1), + (jn = S.memoizedState), + (W.state = jn), + zi(S, F, W, V), + Pi()); + var ca = S.memoizedState; + xe !== Fn || + jn !== ca || + zS || + (b !== null && b.dependencies !== null && Qe(b.dependencies)) + ? (typeof We == "function" && + (_ye(S, R, We, F), (ca = S.memoizedState)), + (sn = + zS || + WQe(S, R, sn, F, jn, ca, St) || + (b !== null && + b.dependencies !== null && + Qe(b.dependencies))) + ? (Xt || + (typeof W.UNSAFE_componentWillUpdate != "function" && + typeof W.componentWillUpdate != "function") || + (typeof W.componentWillUpdate == "function" && + W.componentWillUpdate(F, ca, St), + typeof W.UNSAFE_componentWillUpdate == "function" && + W.UNSAFE_componentWillUpdate(F, ca, St)), + typeof W.componentDidUpdate == "function" && + (S.flags |= 4), + typeof W.getSnapshotBeforeUpdate == "function" && + (S.flags |= 1024)) + : (typeof W.componentDidUpdate != "function" || + (xe === b.memoizedProps && jn === b.memoizedState) || + (S.flags |= 4), + typeof W.getSnapshotBeforeUpdate != "function" || + (xe === b.memoizedProps && jn === b.memoizedState) || + (S.flags |= 1024), + (S.memoizedProps = F), + (S.memoizedState = ca)), + (W.props = F), + (W.state = ca), + (W.context = St), + (F = sn)) + : (typeof W.componentDidUpdate != "function" || + (xe === b.memoizedProps && jn === b.memoizedState) || + (S.flags |= 4), + typeof W.getSnapshotBeforeUpdate != "function" || + (xe === b.memoizedProps && jn === b.memoizedState) || + (S.flags |= 1024), + (F = !1)); + } + return ( + (W = F), + vk(b, S), + (F = (S.flags & 128) !== 0), + W || F + ? ((W = S.stateNode), + (R = + F && typeof R.getDerivedStateFromError != "function" + ? null + : W.render()), + (S.flags |= 1), + b !== null && F + ? ((S.child = e8(S, b.child, null, V)), + (S.child = e8(S, null, R, V))) + : _d(b, S, R, V), + (S.memoizedState = W.state), + (b = S.child)) + : (b = AA(b, S, V)), + b + ); + } + function sXe(b, S, R, F) { + return (be(), (S.flags |= 256), _d(b, S, R, F), S.child); + } + function Gye(b) { + return { baseLanes: b, cachePool: en() }; + } + function qye(b, S, R) { + return ( + (b = b !== null ? b.childLanes & ~R : 0), + S && (b |= eg), + b + ); + } + function lXe(b, S, R) { + var F = S.pendingProps, + V = !1, + W = (S.flags & 128) !== 0, + xe; + if ( + ((xe = W) || + (xe = + b !== null && b.memoizedState === null + ? !1 + : (ff.current & 2) !== 0), + xe && ((V = !0), (S.flags &= -129)), + (xe = (S.flags & 32) !== 0), + (S.flags &= -33), + b === null) + ) { + if (na) { + if ( + (V ? nn(S) : wn(), + (b = il) + ? ((b = L6n(b, v1)), + b !== null && + ((S.memoizedState = { + dehydrated: b, + treeContext: + FS !== null ? { id: Qv, overflow: Xv } : null, + retryLane: 536870912, + hydrationErrors: null, + }), + (R = sWe(b)), + (R.return = S), + (S.child = R), + (hp = S), + (il = null))) + : (b = null), + b === null) + ) + throw pe(S); + return (V2e(b) ? (S.lanes = 32) : (S.lanes = 536870912), null); + } + return ( + (W = F.children), + (F = F.fallback), + V + ? (wn(), + (V = S.mode), + (W = YY({ mode: "hidden", children: W }, V)), + (F = X5(F, V, R, null)), + (W.return = S), + (F.return = S), + (W.sibling = F), + (S.child = W), + (F = S.child), + (F.memoizedState = Gye(R)), + (F.childLanes = qye(b, xe, R)), + (S.memoizedState = ave), + nF(null, F)) + : (nn(S), Zye(S, W)) + ); + } + var We = b.memoizedState; + if (We !== null) { + var St = We.dehydrated; + if (St !== null) return QSn(b, S, W, xe, F, St, We, R); + } + return V + ? (wn(), + (V = F.fallback), + (W = S.mode), + (We = b.child), + (St = We.sibling), + (F = wA(We, { mode: "hidden", children: F.children })), + (F.subtreeFlags = We.subtreeFlags & 1206910976), + St !== null + ? (V = wA(St, V)) + : ((V = X5(V, W, R, null)), (V.flags |= 2)), + (V.return = S), + (F.return = S), + (F.sibling = V), + (S.child = F), + nF(null, F), + (F = S.child), + (V = b.child.memoizedState), + V === null + ? (V = Gye(R)) + : ((W = V.cachePool), + W !== null + ? ((We = qv ? Bl._currentValue : Bl._currentValue2), + (W = W.parent !== We ? { parent: We, pool: We } : W)) + : (W = en()), + (V = { baseLanes: V.baseLanes | R, cachePool: W })), + (F.memoizedState = V), + (F.childLanes = qye(b, xe, R)), + (S.memoizedState = ave), + nF(b.child, F)) + : (nn(S), + (R = b.child), + (b = R.sibling), + (R = wA(R, { mode: "visible", children: F.children })), + (R.return = S), + (R.sibling = null), + b !== null && + ((xe = S.deletions), + xe === null + ? ((S.deletions = [b]), (S.flags |= 16)) + : xe.push(b)), + (S.child = R), + (S.memoizedState = null), + R); + } + function Zye(b, S) { + return ( + (S = YY({ mode: "visible", children: S }, b.mode)), + (S.return = b), + (b.child = S) + ); + } + function YY(b, S) { + return ((b = n(22, b, null, S)), (b.lanes = 0), b); + } + function KY(b, S, R) { + return ( + e8(S, b.child, null, R), + (b = Zye(S, S.pendingProps.children)), + (b.flags |= 2), + (S.memoizedState = null), + b + ); + } + function QSn(b, S, R, F, V, W, xe, We) { + if (R) + return S.flags & 256 + ? (nn(S), (S.flags &= -257), KY(b, S, We)) + : S.memoizedState !== null + ? (wn(), (S.child = b.child), (S.flags |= 128), null) + : (wn(), + (W = V.fallback), + (xe = S.mode), + (V = YY({ mode: "visible", children: V.children }, xe)), + (W = X5(W, xe, We, null)), + (W.flags |= 2), + (V.return = S), + (W.return = S), + (V.sibling = W), + (S.child = V), + e8(S, b.child, null, We), + (V = S.child), + (V.memoizedState = Gye(We)), + (V.childLanes = qye(b, F, We)), + (S.memoizedState = ave), + nF(null, V)); + if ((nn(S), V2e(W))) + return ( + (F = x6n(W).digest), + F !== "" && + ((V = Error(o(419))), + (V.stack = ""), + (V.digest = F), + ce({ value: V, source: null, stack: null })), + KY(b, S, We) + ); + if ( + (gd || Me(b, S, We, !1), (F = (We & b.childLanes) !== 0), gd || F) + ) { + if (_S.current !== null) return KY(b, S, We); + if ( + ((F = ms), + F !== null && ((V = O(F, We)), V !== 0 && V !== xe.retryLane)) + ) + throw ((xe.retryLane = V), qn(b, V), Vh(F, b, V), ove); + return (H2e(W) || iK(), KY(b, S, We)); + } + return H2e(W) + ? ((S.flags |= 192), (S.child = b.child), null) + : ((b = xe.treeContext), + uf && + ((il = k6n(W)), + (hp = S), + (na = !0), + (NS = null), + (v1 = !1), + b !== null && ne(S, b)), + (S = Zye(S, V.children)), + (S.flags |= 134221824), + S); + } + function cXe(b, S, R) { + b.lanes |= S; + var F = b.alternate; + (F !== null && (F.lanes |= S), se(b.return, S, R)); + } + function uXe(b) { + for (var S = null; b !== null;) { + var R = b.alternate; + (R !== null && hn(R) === null && (S = b), (b = b.sibling)); + } + return S; + } + function JY(b, S, R, F, V, W) { + var xe = b.memoizedState; + xe === null + ? (b.memoizedState = { + isBackwards: S, + rendering: null, + renderingStartTime: 0, + last: F, + tail: R, + tailMode: V, + treeForkCount: W, + }) + : ((xe.isBackwards = S), + (xe.rendering = null), + (xe.renderingStartTime = 0), + (xe.last = F), + (xe.tail = R), + (xe.tailMode = V), + (xe.treeForkCount = W)); + } + function Qye(b) { + var S = b.child; + for (b.child = null; S !== null;) { + var R = S.sibling; + ((S.sibling = b.child), (b.child = S), (S = R)); + } + } + function Xye(b, S, R) { + var F = S.pendingProps, + V = F.revealOrder, + W = F.tail; + F = F.children; + var xe = ff.current; + if (S.flags & 128) return (Qn(S, xe), null); + var We = (xe & 2) !== 0; + if ( + (We ? ((xe = (xe & 1) | 2), (S.flags |= 128)) : (xe &= 1), + Qn(S, xe), + V === "backwards" && b !== null + ? (Qye(b), _d(b, S, F, R), Qye(b)) + : _d(b, S, F, R), + (F = na ? mF : 0), + !We && b !== null && (b.flags & 128) !== 0) + ) + e: for (b = S.child; b !== null;) { + if (b.tag === 13) b.memoizedState !== null && cXe(b, R, S); + else if (b.tag === 19) cXe(b, R, S); + else if (b.child !== null) { + ((b.child.return = b), (b = b.child)); + continue; + } + if (b === S) break e; + for (; b.sibling === null;) { + if (b.return === null || b.return === S) break e; + b = b.return; + } + ((b.sibling.return = b.return), (b = b.sibling)); + } + switch (V) { + case "backwards": + ((R = uXe(S.child)), + R === null + ? ((V = S.child), (S.child = null)) + : ((V = R.sibling), (R.sibling = null), Qye(S)), + JY(S, !0, V, null, W, F)); + break; + case "unstable_legacy-backwards": + for (R = null, V = S.child, S.child = null; V !== null;) { + if (((b = V.alternate), b !== null && hn(b) === null)) { + S.child = V; + break; + } + ((b = V.sibling), (V.sibling = R), (R = V), (V = b)); + } + JY(S, !0, R, null, W, F); + break; + case "together": + JY(S, !1, null, null, void 0, F); + break; + case "independent": + S.memoizedState = null; + break; + default: + ((R = uXe(S.child)), + R === null + ? ((V = S.child), (S.child = null)) + : ((V = R.sibling), (R.sibling = null)), + JY(S, !1, V, R, W, F)); + } + return S.child; + } + function dXe(b, S, R) { + var F = S.pendingProps; + return (ue(S, S.type, F.value), _d(b, S, F.children, R), S.child); + } + function AA(b, S, R) { + if ( + (b !== null && (S.dependencies = b.dependencies), + (VS |= S.lanes), + (R & S.childLanes) === 0) + ) + if (b !== null) { + if ((Me(b, S, R, !1), (R & S.childLanes) === 0)) return null; + } else return null; + if (b !== null && S.child !== b.child) throw Error(o(153)); + if (S.child !== null) { + for ( + b = S.child, + R = wA(b, b.pendingProps), + S.child = R, + R.return = S; + b.sibling !== null; + ) + ((b = b.sibling), + (R = R.sibling = wA(b, b.pendingProps)), + (R.return = S)); + R.sibling = null; + } + return S.child; + } + function Wye(b, S) { + return (b.lanes & S) !== 0 + ? !0 + : ((b = b.dependencies), !!(b !== null && Qe(b))); + } + function XSn(b, S, R) { + switch (S.tag) { + case 3: + (Se(S, S.stateNode.containerInfo), + ue(S, Bl, b.memoizedState.cache), + be()); + break; + case 27: + case 5: + Ae(S); + break; + case 4: + Se(S, S.stateNode.containerInfo); + break; + case 10: + ue(S, S.type, S.memoizedProps.value); + break; + case 31: + if (S.memoizedState !== null) + return ((S.flags |= 128), dn(S), null); + break; + case 13: + var F = S.memoizedState; + if (F !== null) { + if (F.dehydrated !== null) + return (nn(S), (S.flags |= 128), null); + F = Me(b, S, R, !1); + var V = S.child.childLanes; + return F || (R & V) !== 0 + ? lXe(b, S, R) + : (nn(S), (b = AA(b, S, R)), b !== null ? b.sibling : null); + } + nn(S); + break; + case 19: + if (S.flags & 128) return Xye(b, S, R); + if ( + ((V = (b.flags & 128) !== 0), + (F = (R & S.childLanes) !== 0), + F || (Me(b, S, R, !1), (F = (R & S.childLanes) !== 0)), + V) + ) { + if (F) return Xye(b, S, R); + S.flags |= 128; + } + if ( + ((V = S.memoizedState), + V !== null && + ((V.rendering = null), + (V.tail = null), + (V.lastEffect = null)), + Qn(S, ff.current), + F) + ) + break; + return null; + case 22: + return ((S.lanes = 0), nXe(b, S, R, S.pendingProps)); + case 24: + ue(S, Bl, b.memoizedState.cache); + } + return AA(b, S, R); + } + function pXe(b, S, R) { + if (b !== null) + if (b.memoizedProps !== S.pendingProps) gd = !0; + else { + if (!Wye(b, R) && (S.flags & 128) === 0) + return ((gd = !1), XSn(b, S, R)); + gd = (b.flags & 131072) !== 0; + } + else + ((gd = !1), na && (S.flags & 1048576) !== 0 && J(S, mF, S.index)); + switch (((S.lanes = 0), S.tag)) { + case 16: + e: { + var F = S.pendingProps; + if ( + ((b = Be(S.elementType)), + (S.type = b), + typeof b == "function") + ) + I2e(b) + ? ((F = Q5(b, F)), + (S.tag = 1), + (S = iXe(null, S, b, F, R))) + : ((S.tag = 0), (S = Vye(null, S, b, F, R))); + else { + if (b != null) { + var V = b.$$typeof; + if (V === D2e) { + ((S.tag = 11), (S = $Qe(null, S, b, F, R))); + break e; + } else if (V === O2e) { + ((S.tag = 14), (S = eXe(null, S, b, F, R))); + break e; + } else if (V === SA) { + ((S.tag = 10), (S.type = b), (S = dXe(null, S, R))); + break e; + } + } + throw ((S = d(b) || b), Error(o(306, S, ""))); + } + } + return S; + case 0: + return Vye(b, S, S.type, S.pendingProps, R); + case 1: + return ( + (F = S.type), + (V = Q5(F, S.pendingProps)), + iXe(b, S, F, V, R) + ); + case 3: + e: { + if ((Se(S, S.stateNode.containerInfo), b === null)) + throw Error(o(387)); + var W = S.pendingProps; + ((V = S.memoizedState), + (F = V.element), + mo(b, S), + zi(S, W, null, R)); + var xe = S.memoizedState; + if ( + ((W = xe.cache), + ue(S, Bl, W), + W !== V.cache && qe(S, [Bl], R, !0), + Pi(), + (W = xe.element), + uf && V.isDehydrated) + ) + if ( + ((V = { element: W, isDehydrated: !1, cache: xe.cache }), + (S.updateQueue.baseState = V), + (S.memoizedState = V), + S.flags & 256) + ) { + S = sXe(b, S, W, R); + break e; + } else if (W !== F) { + ((F = j(Error(o(424)), S)), ce(F), (S = sXe(b, S, W, R))); + break e; + } else + for ( + uf && + ((il = I6n(S.stateNode.containerInfo)), + (hp = S), + (na = !0), + (NS = null), + (v1 = !0)), + R = XWe(S, null, W, R), + S.child = R; + R; + ) + ((R.flags = (R.flags & -3) | 134221824), + (R = R.sibling)); + else { + if ((be(), W === F)) { + S = AA(b, S, R); + break e; + } + _d(b, S, W, R); + } + S = S.child; + } + return S; + case 26: + if (h1) + return ( + vk(b, S), + b === null + ? (R = BWe(S.type, null, S.pendingProps, null)) + ? (S.memoizedState = R) + : na || + (S.stateNode = UWe( + S.type, + S.pendingProps, + US.current, + S, + )) + : (S.memoizedState = BWe( + S.type, + b.memoizedProps, + S.pendingProps, + b.memoizedState, + )), + null + ); + case 27: + if (Ll) + return ( + Ae(S), + b === null && + Ll && + na && + ((F = S.stateNode = + zWe( + S.type, + S.pendingProps, + US.current, + df.current, + !1, + )), + (hp = S), + (v1 = !0), + (il = R6n(S.type, F, il))), + _d(b, S, S.pendingProps.children, R), + vk(b, S), + b === null && (S.flags |= 4194304), + S.child + ); + case 5: + return ( + b === null && + na && + (K6n(S.type, S.pendingProps, df.current), + (V = F = il) && + ((F = P6n(F, S.type, S.pendingProps, v1)), + F !== null + ? ((S.stateNode = F), + (hp = S), + (il = E6n(F)), + (v1 = !1), + (V = !0)) + : (V = !1)), + V || pe(S)), + Ae(S), + (V = S.type), + (W = S.pendingProps), + (xe = b !== null ? b.memoizedProps : null), + (F = W.children), + dK(V, W) + ? (F = null) + : xe !== null && dK(V, xe) && (S.flags |= 32), + S.memoizedState !== null && + ((V = ir(b, S, kn, null, null, R)), + qv ? (EA._currentValue = V) : (EA._currentValue2 = V)), + vk(b, S), + _d(b, S, F, R), + S.child + ); + case 6: + return ( + b === null && + na && + (J6n(S.pendingProps, df.current), + (b = R = il) && + ((R = M6n(R, S.pendingProps, v1)), + R !== null + ? ((S.stateNode = R), (hp = S), (il = null), (b = !0)) + : (b = !1)), + b || pe(S)), + null + ); + case 13: + return lXe(b, S, R); + case 4: + return ( + Se(S, S.stateNode.containerInfo), + (F = S.pendingProps), + b === null ? (S.child = e8(S, null, F, R)) : _d(b, S, F, R), + S.child + ); + case 11: + return $Qe(b, S, S.type, S.pendingProps, R); + case 7: + return ( + (F = S.pendingProps), + vk(b, S), + _d(b, S, F, R), + S.child + ); + case 8: + return (_d(b, S, S.pendingProps.children, R), S.child); + case 12: + return (_d(b, S, S.pendingProps.children, R), S.child); + case 10: + return dXe(b, S, R); + case 9: + return ( + (V = S.type._context), + (F = S.pendingProps.children), + ee(S), + (V = K(V)), + (F = F(V)), + (S.flags |= 1), + _d(b, S, F, R), + S.child + ); + case 14: + return eXe(b, S, S.type, S.pendingProps, R); + case 15: + return tXe(b, S, S.type, S.pendingProps, R); + case 19: + return Xye(b, S, R); + case 31: + return ZSn(b, S, R); + case 22: + return nXe(b, S, R, S.pendingProps); + case 24: + return ( + ee(S), + (F = K(Bl)), + b === null + ? ((V = ot()), + V === null && + ((V = ms), + (W = tt()), + (V.pooledCache = W), + W.refCount++, + W !== null && (V.pooledCacheLanes |= R), + (V = W)), + (S.memoizedState = { parent: F, cache: V }), + Yr(S), + ue(S, Bl, V)) + : ((b.lanes & R) !== 0 && + (mo(b, S), zi(S, null, null, R), Pi()), + (V = b.memoizedState), + (W = S.memoizedState), + V.parent !== F + ? ((V = { parent: F, cache: F }), + (S.memoizedState = V), + S.lanes === 0 && + (S.memoizedState = S.updateQueue.baseState = V), + ue(S, Bl, F)) + : ((F = W.cache), + ue(S, Bl, F), + F !== V.cache && qe(S, [Bl], R, !0))), + _d(b, S, S.pendingProps.children, R), + S.child + ); + case 30: + return ( + S.stateNode === null && + (S.stateNode = { + autoName: null, + paired: null, + clones: null, + ref: null, + }), + (F = S.pendingProps), + F.name != null && F.name !== "auto" + ? (S.flags |= b === null ? 18882560 : 18874368) + : na && Y(S), + b !== null && b.memoizedProps.name !== F.name + ? (S.flags |= 4194816) + : vk(b, S), + _d(b, S, F.children, R), + S.child + ); + case 29: + throw S.pendingProps; + } + throw Error(o(156, S.tag)); + } + function o2(b) { + b.flags |= 4; + } + function jY(b) { + Zv && (b.flags |= 8); + } + function fXe(b, S) { + if (b !== null && b.child === S.child) return !1; + if ((S.flags & 16) !== 0) return !0; + for (b = S.child; b !== null;) { + if ((b.flags & 8218) !== 0 || (b.subtreeFlags & 8218) !== 0) + return !0; + b = b.sibling; + } + return !1; + } + function Yye(b, S, R, F) { + if (Dl) + for (R = S.child; R !== null;) { + if (R.tag === 5 || R.tag === 6) N2e(b, R.stateNode); + else if ( + !(R.tag === 4 || (Ll && R.tag === 27)) && + R.child !== null + ) { + ((R.child.return = R), (R = R.child)); + continue; + } + if (R === S) break; + for (; R.sibling === null;) { + if (R.return === null || R.return === S) return; + R = R.return; + } + ((R.sibling.return = R.return), (R = R.sibling)); + } + else if (Zv) + for (var V = S.child; V !== null;) { + if (V.tag === 5) { + var W = V.stateNode; + (R && F && (W = RWe(W, V.type, V.memoizedProps)), N2e(b, W)); + } else if (V.tag === 6) + ((W = V.stateNode), + R && F && (W = PWe(W, V.memoizedProps)), + N2e(b, W)); + else if (V.tag !== 4) { + if (V.tag === 22 && V.memoizedState !== null) + ((W = V.child), + W !== null && (W.return = V), + Yye(b, V, !0, !0)); + else if (V.child !== null) { + ((V.child.return = V), (V = V.child)); + continue; + } + } + if (V === S) break; + for (; V.sibling === null;) { + if (V.return === null || V.return === S) return; + V = V.return; + } + ((V.sibling.return = V.return), (V = V.sibling)); + } + } + function mXe(b, S, R, F) { + var V = !1; + if (Zv) + for (var W = S.child; W !== null;) { + if (W.tag === 5) { + var xe = W.stateNode; + (R && F && (xe = RWe(xe, W.type, W.memoizedProps)), + TWe(b, xe)); + } else if (W.tag === 6) + ((xe = W.stateNode), + R && F && (xe = PWe(xe, W.memoizedProps)), + TWe(b, xe)); + else if (W.tag !== 4) { + if (W.tag === 22 && W.memoizedState !== null) + ((V = W.child), + V !== null && (V.return = W), + mXe(b, W, !0, !0), + (V = !0)); + else if (W.child !== null) { + ((W.child.return = W), (W = W.child)); + continue; + } + } + if (W === S) break; + for (; W.sibling === null;) { + if (W.return === null || W.return === S) return V; + W = W.return; + } + ((W.sibling.return = W.return), (W = W.sibling)); + } + return V; + } + function hXe(b, S) { + if (Zv && fXe(b, S)) { + b = S.stateNode; + var R = b.containerInfo, + F = IWe(); + (mXe(F, S, !1, !1), (b.pendingChildren = F), o2(S), b6n(R, F)); + } + } + function Kye(b, S, R, F) { + if (Dl) b.memoizedProps !== F && o2(S); + else if (Zv) { + var V = b.stateNode, + W = b.memoizedProps; + if ((b = fXe(b, S)) || W !== F) { + var xe = df.current; + ((W = v6n(V, R, W, F, !b, null)), + W === V + ? (S.stateNode = V) + : (jY(S), + vWe(W, R, F, xe) && o2(S), + (S.stateNode = W), + b && Yye(W, S, !1, !1))); + } else S.stateNode = V; + } + } + function Jye(b, S, R, F, V) { + if ( + (b.mode & 32) !== 0 && + (R === null ? M4n(S, F) : D4n(S, R, F)) + ) { + if (((b.flags |= 16777216), (V & 335544128) === V || z2e(S, F))) + if (xWe(b.stateNode, S, F)) b.flags |= 8192; + else if (KXe()) b.flags |= 8192; + else throw (($5 = SK), eve); + } else b.flags &= -16777217; + } + function gXe(b, S) { + if (eCn(S)) { + if (((b.flags |= 16777216), !NWe(S))) + if (KXe()) b.flags |= 8192; + else throw (($5 = SK), eve); + } else b.flags &= -16777217; + } + function $Y(b, S) { + (S !== null && (b.flags |= 4), + b.flags & 16384 && + ((S = b.tag !== 22 ? C() : 536870912), + (b.lanes |= S), + (Vk |= S))); + } + function rF(b, S) { + if (!na) + switch (b.tailMode) { + case "visible": + break; + case "collapsed": + for (var R = b.tail, F = null; R !== null;) + (R.alternate !== null && (F = R), (R = R.sibling)); + F === null + ? S || b.tail === null + ? (b.tail = null) + : (b.tail.sibling = null) + : (F.sibling = null); + break; + default: + for (S = b.tail, R = null; S !== null;) + (S.alternate !== null && (R = S), (S = S.sibling)); + R === null ? (b.tail = null) : (R.sibling = null); + } + } + function Es(b) { + var S = b.alternate !== null && b.alternate.child === b.child, + R = 0, + F = 0; + if (S) + for (var V = b.child; V !== null;) + ((R |= V.lanes | V.childLanes), + (F |= V.subtreeFlags & 1206910976), + (F |= V.flags & 1206910976), + (V.return = b), + (V = V.sibling)); + else + for (V = b.child; V !== null;) + ((R |= V.lanes | V.childLanes), + (F |= V.subtreeFlags), + (F |= V.flags), + (V.return = b), + (V = V.sibling)); + return ((b.subtreeFlags |= F), (b.childLanes = R), S); + } + function WSn(b, S, R) { + var F = S.pendingProps; + switch ((ae(S), S.tag)) { + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return (Es(S), null); + case 1: + return (Es(S), null); + case 3: + return ( + (R = S.stateNode), + (F = null), + b !== null && (F = b.memoizedState.cache), + S.memoizedState.cache !== F && (S.flags |= 2048), + ke(Bl), + fe(), + R.pendingContext && + ((R.context = R.pendingContext), (R.pendingContext = null)), + (b === null || b.child === null) && + (Ne(S) + ? o2(S) + : b === null || + (b.memoizedState.isDehydrated && + (S.flags & 256) === 0) || + ((S.flags |= 1024), ye())), + hXe(b, S), + Es(S), + null + ); + case 26: + if (h1) { + var { type: V, memoizedState: W } = S; + return ( + b === null + ? (o2(S), + W !== null + ? (Es(S), gXe(S, W)) + : (Es(S), Jye(S, V, null, F, R))) + : W + ? W !== b.memoizedState + ? (o2(S), Es(S), gXe(S, W)) + : (Es(S), (S.flags &= -16777217)) + : ((W = b.memoizedProps), + Dl ? W !== F && o2(S) : Kye(b, S, V, F), + Es(S), + Jye(S, V, W, F, R)), + null + ); + } + case 27: + if (Ll) { + if ( + (Ee(S), + (R = US.current), + (V = S.type), + b !== null && S.stateNode != null) + ) + Dl ? b.memoizedProps !== F && o2(S) : Kye(b, S, V, F); + else { + if (!F) { + if (S.stateNode === null) throw Error(o(166)); + return (Es(S), (S.subtreeFlags &= -33554433), null); + } + ((b = df.current), + Ne(S) + ? Re(S, b) + : ((b = zWe(V, F, R, b, !0)), + (S.stateNode = b), + o2(S))); + } + return (Es(S), (S.subtreeFlags &= -33554433), null); + } + case 5: + if ((Ee(S), (V = S.type), b !== null && S.stateNode != null)) + Kye(b, S, V, F); + else { + if (!F) { + if (S.stateNode === null) throw Error(o(166)); + return (Es(S), (S.subtreeFlags &= -33554433), null); + } + if (((W = df.current), Ne(S))) + (Re(S, W), q6n(S.stateNode, V, F, W) && (S.flags |= 64)); + else { + var xe = S4n(V, F, US.current, W, S); + (jY(S), + Yye(xe, S, !1, !1), + (S.stateNode = xe), + vWe(xe, V, F, W) && o2(S)); + } + } + return ( + Es(S), + (S.subtreeFlags &= -33554433), + Jye( + S, + S.type, + b === null ? null : b.memoizedProps, + S.pendingProps, + R, + ), + null + ); + case 6: + if (b && S.stateNode != null) + ((R = b.memoizedProps), + Dl + ? R !== F && o2(S) + : Zv && + (R !== F + ? ((b = US.current), + (R = df.current), + jY(S), + (S.stateNode = bWe(F, b, R, S))) + : (S.stateNode = b.stateNode))); + else { + if (typeof F != "string" && S.stateNode === null) + throw Error(o(166)); + if (((b = US.current), (R = df.current), Ne(S))) { + if (!uf) throw Error(o(176)); + if ( + ((b = S.stateNode), + (R = S.memoizedProps), + (F = null), + (V = hp), + V !== null) + ) + switch (V.tag) { + case 27: + case 5: + F = V.memoizedProps; + } + O6n(b, R, S, F) || pe(S, !0); + } else (jY(S), (S.stateNode = bWe(F, b, R, S))); + } + return (Es(S), null); + case 31: + if ( + ((R = S.memoizedState), + b === null || b.memoizedState !== null) + ) { + if (((F = Ne(S)), R !== null)) { + if (b === null) { + if (!F) throw Error(o(318)); + if (!uf) throw Error(o(556)); + if ( + ((b = S.memoizedState), + (b = b !== null ? b.dehydrated : null), + !b) + ) + throw Error(o(557)); + F6n(b, S); + } else + (be(), + (S.flags & 128) === 0 && (S.memoizedState = null), + (S.flags |= 4)); + (Es(S), (b = !1)); + } else + ((R = ye()), + b !== null && + b.memoizedState !== null && + (b.memoizedState.hydrationErrors = R), + (b = !0)); + if (!b) return S.flags & 256 ? (Qt(S), S) : (Qt(S), null); + if ((S.flags & 128) !== 0) throw Error(o(558)); + } + return (Es(S), null); + case 13: + if ( + ((F = S.memoizedState), + b === null || + (b.memoizedState !== null && + b.memoizedState.dehydrated !== null)) + ) { + if (((V = Ne(S)), F !== null && F.dehydrated !== null)) { + if (b === null) { + if (!V) throw Error(o(318)); + if (!uf) throw Error(o(344)); + if ( + ((V = S.memoizedState), + (V = V !== null ? V.dehydrated : null), + !V) + ) + throw Error(o(317)); + U6n(V, S); + } else + (be(), + (S.flags & 128) === 0 && (S.memoizedState = null), + (S.flags |= 4)); + (Es(S), (V = !1)); + } else + ((V = ye()), + b !== null && + b.memoizedState !== null && + (b.memoizedState.hydrationErrors = V), + (V = !0)); + if (!V) return S.flags & 256 ? (Qt(S), S) : (Qt(S), null); + } + return ( + Qt(S), + (S.flags & 128) !== 0 + ? ((S.lanes = R), S) + : ((R = F !== null), + (b = b !== null && b.memoizedState !== null), + R && + ((F = S.child), + (V = null), + F.alternate !== null && + F.alternate.memoizedState !== null && + F.alternate.memoizedState.cachePool !== null && + (V = F.alternate.memoizedState.cachePool.pool), + (W = null), + F.memoizedState !== null && + F.memoizedState.cachePool !== null && + (W = F.memoizedState.cachePool.pool), + W !== V && (F.flags |= 2048)), + R !== b && R && (S.child.flags |= 8192), + $Y(S, S.updateQueue), + Es(S), + null) + ); + case 4: + return ( + fe(), + hXe(b, S), + b === null && T4n(S.stateNode.containerInfo), + (S.flags |= 67108864), + Es(S), + null + ); + case 10: + return (ke(S.type), Es(S), null); + case 19: + if ((fr(S), (F = S.memoizedState), F === null)) + return (Es(S), null); + if ( + ((V = (S.flags & 128) !== 0), (W = F.rendering), W === null) + ) + if (V) rF(F, !1); + else { + if (oc !== 0 || (b !== null && (b.flags & 128) !== 0)) + for (b = S.child; b !== null;) { + if (((W = hn(b)), W !== null)) { + for ( + S.flags |= 128, + rF(F, !1), + b = W.updateQueue, + S.updateQueue = b, + $Y(S, b), + S.subtreeFlags = 0, + b = R, + R = S.child; + R !== null; + ) + (iWe(R, b), (R = R.sibling)); + return ( + Qn(S, (ff.current & 1) | 2), + na && oe(S, F.treeForkCount), + S.child + ); + } + b = b.sibling; + } + F.tail !== null && + Gh() > SF && + ((S.flags |= 128), + (V = !0), + rF(F, !1), + (S.lanes = 4194304)); + } + else { + if (!V) + if (((b = hn(W)), b !== null)) { + if ( + ((S.flags |= 128), + (V = !0), + (b = b.updateQueue), + (S.updateQueue = b), + $Y(S, b), + rF(F, !0), + F.tail === null && + F.tailMode !== "collapsed" && + F.tailMode !== "visible" && + !W.alternate && + !na) + ) + return (Es(S), null); + } else + 2 * Gh() - F.renderingStartTime > SF && + R !== 536870912 && + ((S.flags |= 128), + (V = !0), + rF(F, !1), + (S.lanes = 4194304)); + F.isBackwards + ? ((W.sibling = S.child), (S.child = W)) + : ((b = F.last), + b !== null ? (b.sibling = W) : (S.child = W), + (F.last = W)); + } + if (F.tail !== null) { + b = F.tail; + e: { + for (R = b; R !== null;) { + if (R.alternate !== null) { + R = !1; + break e; + } + R = R.sibling; + } + R = !0; + } + return ( + (F.rendering = b), + (F.tail = b.sibling), + (F.renderingStartTime = Gh()), + (b.sibling = null), + (W = ff.current), + (W = V ? (W & 1) | 2 : W & 1), + F.tailMode === "visible" || + F.tailMode === "collapsed" || + !R || + na + ? Qn(S, W) + : ((R = W), m(pf, S), m(ff, R), Km === null && (Km = S)), + na && oe(S, F.treeForkCount), + b + ); + } + return (Es(S), null); + case 22: + case 23: + return ( + Qt(S), + lt(), + (F = S.memoizedState !== null), + b !== null + ? (b.memoizedState !== null) !== F && (S.flags |= 8192) + : F && (S.flags |= 8192), + F + ? (R & 536870912) !== 0 && + (S.flags & 128) === 0 && + (Es(S), S.subtreeFlags & 6 && (S.flags |= 8192)) + : Es(S), + (R = S.updateQueue), + R !== null && $Y(S, R.retryQueue), + (R = null), + b !== null && + b.memoizedState !== null && + b.memoizedState.cachePool !== null && + (R = b.memoizedState.cachePool.pool), + (F = null), + S.memoizedState !== null && + S.memoizedState.cachePool !== null && + (F = S.memoizedState.cachePool.pool), + F !== R && (S.flags |= 2048), + b !== null && f(j5), + null + ); + case 24: + return ( + (R = null), + b !== null && (R = b.memoizedState.cache), + S.memoizedState.cache !== R && (S.flags |= 2048), + ke(Bl), + Es(S), + null + ); + case 25: + return null; + case 30: + return ((S.flags |= 33554432), Es(S), null); + } + throw Error(o(156, S.tag)); + } + function YSn(b, S) { + switch ((ae(S), S.tag)) { + case 1: + return ( + (b = S.flags), + b & 65536 ? ((S.flags = (b & -65537) | 128), S) : null + ); + case 3: + return ( + ke(Bl), + fe(), + (b = S.flags), + (b & 65536) !== 0 && (b & 128) === 0 + ? ((S.flags = (b & -65537) | 128), S) + : null + ); + case 26: + case 27: + case 5: + return (Ee(S), null); + case 31: + if (S.memoizedState !== null) { + if ((Qt(S), S.alternate === null)) throw Error(o(340)); + be(); + } + return ( + (b = S.flags), + b & 65536 ? ((S.flags = (b & -65537) | 128), S) : null + ); + case 13: + if ( + (Qt(S), + (b = S.memoizedState), + b !== null && b.dehydrated !== null) + ) { + if (S.alternate === null) throw Error(o(340)); + be(); + } + return ( + (b = S.flags), + b & 65536 ? ((S.flags = (b & -65537) | 128), S) : null + ); + case 19: + return ( + fr(S), + (b = S.flags), + b & 65536 + ? ((S.flags = (b & -65537) | 128), + (b = S.memoizedState), + b !== null && ((b.rendering = null), (b.tail = null)), + (S.flags |= 4), + S) + : null + ); + case 4: + return (fe(), null); + case 10: + return (ke(S.type), null); + case 22: + case 23: + return ( + Qt(S), + lt(), + b !== null && f(j5), + (b = S.flags), + b & 65536 ? ((S.flags = (b & -65537) | 128), S) : null + ); + case 24: + return (ke(Bl), null); + case 25: + return null; + default: + return null; + } + } + function yXe(b, S) { + switch ((ae(S), S.tag)) { + case 3: + (ke(Bl), fe()); + break; + case 26: + case 27: + case 5: + Ee(S); + break; + case 4: + fe(); + break; + case 31: + S.memoizedState !== null && Qt(S); + break; + case 13: + Qt(S); + break; + case 19: + fr(S); + break; + case 10: + ke(S.type); + break; + case 22: + case 23: + (Qt(S), lt(), b !== null && f(j5)); + break; + case 24: + ke(Bl); + } + } + function oF(b, S) { + try { + var R = S.updateQueue, + F = R !== null ? R.lastEffect : null; + if (F !== null) { + var V = F.next; + R = V; + do { + if ((R.tag & b) === b) { + F = void 0; + var W = R.create, + xe = R.inst; + ((F = W()), (xe.destroy = F)); + } + R = R.next; + } while (R !== V); + } + } catch (We) { + ci(S, S.return, We); + } + } + function MS(b, S, R) { + try { + var F = S.updateQueue, + V = F !== null ? F.lastEffect : null; + if (V !== null) { + var W = V.next; + F = W; + do { + if ((F.tag & b) === b) { + var xe = F.inst, + We = xe.destroy; + if (We !== void 0) { + ((xe.destroy = void 0), (V = S)); + var St = R, + Xt = We; + try { + Xt(); + } catch (sn) { + ci(V, St, sn); + } + } + } + F = F.next; + } while (F !== W); + } + } catch (sn) { + ci(S, S.return, sn); + } + } + function vXe(b) { + var S = b.updateQueue; + if (S !== null) { + var R = b.stateNode; + try { + et(S, R); + } catch (F) { + ci(b, b.return, F); + } + } + } + function bXe(b, S, R) { + ((R.props = Q5(b.type, b.memoizedProps)), + (R.state = b.memoizedState)); + try { + R.componentWillUnmount(); + } catch (F) { + ci(b, S, F); + } + } + function Hv(b, S) { + try { + var R = b.ref; + if (R !== null) { + switch (b.tag) { + case 26: + case 27: + case 5: + var F = uF(b.stateNode); + break; + case 30: + var V = b.stateNode, + W = N(b.memoizedProps, V); + ((V.ref === null || V.ref.name !== W) && (V.ref = CWe(W)), + (F = V.ref)); + break; + case 7: + (b.stateNode === null && (b.stateNode = h6n(b)), + (F = b.stateNode)); + break; + default: + F = b.stateNode; + } + typeof R == "function" + ? (b.refCleanup = R(F)) + : (R.current = F); + } + } catch (xe) { + ci(b, S, xe); + } + } + function lf(b, S) { + var R = b.ref, + F = b.refCleanup; + if (R !== null) + if (typeof F == "function") + try { + F(); + } catch (V) { + ci(b, S, V); + } finally { + ((b.refCleanup = null), + (b = b.alternate), + b != null && (b.refCleanup = null)); + } + else if (typeof R == "function") + try { + R(null); + } catch (V) { + ci(b, S, V); + } + else R.current = null; + } + function xXe() { + var b = em; + return ((em = !1), b); + } + function aF(b, S) { + if ( + (b.tag === 5 || b.tag === 27 || b.tag === 6) && + b.alternate === null && + S !== null + ) + for (var R = 0; R < S.length; R++) EWe(b.stateNode, S[R]); + } + function AXe(b) { + for ( + var S = b.return; + S !== null && ($ye(S) && EWe(b.stateNode, S.stateNode), !jye(S)); + ) + S = S.return; + } + function iF(b) { + for ( + var S = b.return; + S !== null && ($ye(S) && y6n(b.stateNode, S.stateNode), !jye(S)); + ) + S = S.return; + } + function jye(b) { + return b.tag === 5 || b.tag === 3 || (Ll ? b.tag === 27 : !1); + } + function $ye(b) { + return b && b.tag === 7 && b.stateNode !== null; + } + function e2e(b) { + var { type: S, memoizedProps: R, stateNode: F } = b; + try { + W4n(F, S, R, b); + } catch (V) { + ci(b, b.return, V); + } + } + function t2e(b, S, R) { + try { + Y4n(b.stateNode, b.type, R, S, b); + } catch (F) { + ci(b, b.return, F); + } + } + function wXe(b) { + return ( + b.tag === 5 || + b.tag === 3 || + (h1 ? b.tag === 26 : !1) || + (Ll ? b.tag === 27 && kk(b.type) : !1) || + b.tag === 4 + ); + } + function n2e(b) { + e: for (;;) { + for (; b.sibling === null;) { + if (b.return === null || wXe(b.return)) return null; + b = b.return; + } + for ( + b.sibling.return = b.return, b = b.sibling; + b.tag !== 5 && b.tag !== 6 && b.tag !== 18; + ) { + if ( + (Ll && b.tag === 27 && kk(b.type)) || + b.flags & 2 || + b.child === null || + b.tag === 4 + ) + continue e; + ((b.child.return = b), (b = b.child)); + } + if (!(b.flags & 2)) return b.stateNode; + } + } + function r2e(b, S, R, F) { + var V = b.tag; + if (V === 5 || V === 6) + ((V = b.stateNode), + S ? J4n(R, V, S) : Q4n(R, V), + aF(b, F), + (em = !0)); + else if ( + V !== 4 && + (Ll && + V === 27 && + (aF(b, F), + (F = null), + kk(b.type) && ((R = b.stateNode), (S = null))), + (b = b.child), + b !== null) + ) + for (r2e(b, S, R, F), b = b.sibling; b !== null;) + (r2e(b, S, R, F), (b = b.sibling)); + } + function eK(b, S, R, F) { + var V = b.tag; + if (V === 5 || V === 6) + ((V = b.stateNode), + S ? K4n(R, V, S) : Z4n(R, V), + aF(b, F), + (em = !0)); + else if ( + V !== 4 && + (Ll && + V === 27 && + (aF(b, F), (F = null), kk(b.type) && (R = b.stateNode)), + (b = b.child), + b !== null) + ) + for (eK(b, S, R, F), b = b.sibling; b !== null;) + (eK(b, S, R, F), (b = b.sibling)); + } + function o2e(b, S) { + if (b.tag === 5 || (Ll && b.tag === 27)) aF(b, S); + else if (b.tag !== 4 && ((b = b.child), b !== null)) + for (o2e(b, S), b = b.sibling; b !== null;) + (o2e(b, S), (b = b.sibling)); + } + function SXe(b, S, R) { + b = b.containerInfo; + try { + kWe(b, R); + } catch (F) { + ci(S, S.return, F); + } + } + function CXe(b) { + var { stateNode: S, memoizedProps: R } = b; + try { + nCn(b.type, R, S, b); + } catch (F) { + ci(b, b.return, F); + } + } + function EXe(b) { + (b.tag === 30 || (b.subtreeFlags & 33554432) !== 0) && (kK = !0); + } + function IXe() { + var b = Wv; + return ((Wv = null), b); + } + function bk(b, S, R, F, V) { + return ((qh = 0), TXe(b.child, S, R, F, V)); + } + function TXe(b, S, R, F, V) { + if (!Dl) return !1; + for (var W = !1; b !== null;) { + if (b.tag === 5) { + var xe = b.stateNode; + if (F !== null) { + var We = _2e(xe); + (F.push(We), pK(We) && (W = !0)); + } else W || (pK(_2e(xe)) && (W = !0)); + ((kK = !0), SWe(xe, qh === 0 ? S : S + "_" + qh, R), qh++); + } else + (b.tag !== 22 || b.memoizedState === null) && + ((b.tag === 30 && V) || + (TXe(b.child, S, R, F, V) && (W = !0))); + b = b.sibling; + } + return W; + } + function Vv(b, S) { + if (Dl) + for (; b !== null;) + (b.tag === 5 + ? o6n(b.stateNode, b.memoizedProps) + : (b.tag !== 22 || b.memoizedState === null) && + ((b.tag === 30 && S) || Vv(b.child, S)), + (b = b.sibling)); + } + function tK(b) { + if ((b.subtreeFlags & 18874368) !== 0) + for (b = b.child; b !== null;) { + if ( + (b.tag !== 22 || b.memoizedState === null) && + (tK(b), + b.tag === 30 && + (b.flags & 18874368) !== 0 && + b.stateNode.paired) + ) { + var S = b.memoizedProps; + if (S.name == null || S.name === "auto") throw Error(o(544)); + var R = S.name; + ((S = G(S.default, S.share)), + S !== "none" && (bk(b, R, S, null, !1) || Vv(b.child, !1))); + } + b = b.sibling; + } + } + function a2e(b, S) { + if (b.tag === 30) { + var R = b.stateNode, + F = b.memoizedProps, + V = N(F, R), + W = G(F.default, R.paired ? F.share : F.enter); + W !== "none" + ? bk(b, V, W, null, !1) + ? (tK(b), R.paired || S || wk(b, F.onEnter)) + : Vv(b.child, !1) + : tK(b); + } else if ((b.subtreeFlags & 33554432) !== 0) + for (b = b.child; b !== null;) (a2e(b, S), (b = b.sibling)); + else tK(b); + } + function i2e(b) { + if (j0 !== null && j0.size !== 0) { + var S = j0; + if ((b.subtreeFlags & 18874368) !== 0) + for (b = b.child; b !== null;) { + if (b.tag !== 22 || b.memoizedState === null) { + if (b.tag === 30 && (b.flags & 18874368) !== 0) { + var R = b.memoizedProps, + F = R.name; + if (F != null && F !== "auto") { + var V = S.get(F); + if (V !== void 0) { + var W = G(R.default, R.share); + if ( + (W !== "none" && + (bk(b, F, W, null, !1) + ? ((W = b.stateNode), + (V.paired = W), + (W.paired = V), + wk(b, R.onShare)) + : Vv(b.child, !1)), + S.delete(F), + S.size === 0) + ) + break; + } + } + } + i2e(b); + } + b = b.sibling; + } + } + } + function s2e(b) { + if (b.tag === 30) { + var S = b.memoizedProps, + R = N(S, b.stateNode), + F = j0 !== null ? j0.get(R) : void 0, + V = G(S.default, F !== void 0 ? S.share : S.exit); + (V !== "none" && + (bk(b, R, V, null, !1) + ? F !== void 0 + ? ((V = b.stateNode), + (F.paired = V), + (V.paired = F), + j0.delete(R), + wk(b, S.onShare)) + : wk(b, S.onExit) + : Vv(b.child, !1)), + j0 !== null && i2e(b)); + } else if ((b.subtreeFlags & 33554432) !== 0) + for (b = b.child; b !== null;) (s2e(b), (b = b.sibling)); + else j0 !== null && i2e(b); + } + function kXe(b) { + for (b = b.child; b !== null;) { + if (b.tag === 30) { + var S = b.memoizedProps, + R = N(S, b.stateNode); + ((S = G(S.default, S.update)), + (b.flags &= -5), + S !== "none" && bk(b, R, S, (b.memoizedState = []), !1)); + } else (b.subtreeFlags & 33554432) !== 0 && kXe(b); + b = b.sibling; + } + } + function l2e(b) { + if ((b.subtreeFlags & 18874368) !== 0) + for (b = b.child; b !== null;) { + if (b.tag !== 22 || b.memoizedState === null) { + if (b.tag === 30 && (b.flags & 18874368) !== 0) { + var S = b.stateNode; + S.paired !== null && ((S.paired = null), Vv(b.child, !1)); + } + l2e(b); + } + b = b.sibling; + } + } + function nK(b) { + if (b.tag === 30) + ((b.stateNode.paired = null), Vv(b.child, !1), l2e(b)); + else if ((b.subtreeFlags & 33554432) !== 0) + for (b = b.child; b !== null;) (nK(b), (b = b.sibling)); + else l2e(b); + } + function RXe(b) { + for (b = b.child; b !== null;) + (b.tag === 30 + ? Vv(b.child, !1) + : (b.subtreeFlags & 33554432) !== 0 && RXe(b), + (b = b.sibling)); + } + function c2e(b, S, R, F, V, W, xe) { + if (!Dl) return !1; + for (var We = !1; S !== null;) { + if (S.tag === 5) { + var St = S.stateNode; + if (W !== null && qh < W.length) { + var Xt = W[qh], + sn = _2e(St); + ((pK(Xt) || pK(sn)) && (We = !0), + (b.flags & 4) === 0 && c6n(Xt, sn) && (b.flags |= 4), + u6n(Xt, sn) && (b.flags |= 32)); + } else b.flags |= 32; + ((b.flags & 4) !== 0 && SWe(St, qh === 0 ? R : R + "_" + qh, V), + (We && (b.flags & 4) !== 0) || + (Wv === null && (Wv = []), + Wv.push(St, qh === 0 ? F : F + "_" + qh, S.memoizedProps)), + qh++); + } else + (S.tag !== 22 || S.memoizedState === null) && + (S.tag === 30 && xe + ? (b.flags |= S.flags & 32) + : c2e(b, S.child, R, F, V, W, xe) && (We = !0)); + S = S.sibling; + } + return We; + } + function PXe(b, S) { + for (b = b.child; b !== null;) { + if (b.tag === 30) { + var R = b.memoizedProps, + F = b.stateNode, + V = N(R, F), + W = G(R.default, R.update); + if (S) { + F = F.clones; + var xe = F === null ? null : F.map(l6n); + } else ((xe = b.memoizedState), (b.memoizedState = null)); + F = b; + var We = b.child; + ((qh = 0), + (V = c2e(F, We, V, V, W, xe, !1)), + (b.flags & 4) !== 0 && V && (S || wk(b, R.onUpdate))); + } else (b.subtreeFlags & 33554432) !== 0 && PXe(b, S); + b = b.sibling; + } + } + function KSn(b, S, R) { + for ( + A4n(b.containerInfo), + b = (R & 335544064) === R, + yp = S, + S = b ? 9270 : 1024; + yp !== null; + ) { + if (((R = yp), b)) { + var F = R.deletions; + if (F !== null) + for (var V = 0; V < F.length; V++) b && s2e(F[V]); + } + if (R.alternate === null && (R.flags & 2) !== 0) + (b && EXe(R), rK(b)); + else { + if (R.tag === 22) { + if (((F = R.alternate), R.memoizedState !== null)) { + (F !== null && F.memoizedState === null && b && s2e(F), + rK(b)); + continue; + } else if (F !== null && F.memoizedState !== null) { + (b && EXe(R), rK(b)); + continue; + } + } + ((F = R.child), + (R.subtreeFlags & S) !== 0 && F !== null + ? ((F.return = R), (yp = F)) + : (b && kXe(R), rK(b))); + } + } + j0 = null; + } + function rK(b) { + for (; yp !== null;) { + var S = yp, + R = b, + { alternate: F, flags: V } = S; + switch (S.tag) { + case 0: + case 11: + case 15: + break; + case 1: + if ((V & 1024) !== 0 && F !== null) { + ((R = void 0), + (V = F.memoizedProps), + (F = F.memoizedState)); + var W = S.stateNode; + try { + var xe = Q5(S.type, V); + ((R = W.getSnapshotBeforeUpdate(xe, F)), + (W.__reactInternalSnapshotBeforeUpdate = R)); + } catch (We) { + ci(S, S.return, We); + } + } + break; + case 3: + (V & 1024) !== 0 && Dl && m6n(S.stateNode.containerInfo); + break; + case 5: + case 26: + case 27: + case 6: + case 4: + case 17: + break; + case 30: + R && + F !== null && + ((R = N(F.memoizedProps, F.stateNode)), + (V = S.memoizedProps), + (V = G(V.default, V.update)), + V !== "none" && bk(F, R, V, (F.memoizedState = []), !0)); + break; + default: + if ((V & 1024) !== 0) throw Error(o(163)); + } + if (((F = S.sibling), F !== null)) { + ((F.return = S.return), (yp = F)); + break; + } + yp = S.return; + } + } + function MXe(b, S, R) { + var F = R.flags; + switch (R.tag) { + case 0: + case 11: + case 15: + (Gv(b, R), F & 4 && oF(5, R)); + break; + case 1: + if ((Gv(b, R), F & 4)) + if (((b = R.stateNode), S === null)) + try { + b.componentDidMount(); + } catch (xe) { + ci(R, R.return, xe); + } + else { + var V = Q5(R.type, S.memoizedProps); + S = S.memoizedState; + try { + b.componentDidUpdate( + V, + S, + b.__reactInternalSnapshotBeforeUpdate, + ); + } catch (xe) { + ci(R, R.return, xe); + } + } + (F & 64 && vXe(R), F & 512 && Hv(R, R.return)); + break; + case 3: + if ((Gv(b, R), F & 64 && ((F = R.updateQueue), F !== null))) { + if (((b = null), R.child !== null)) + switch (R.child.tag) { + case 27: + case 5: + b = uF(R.child.stateNode); + break; + case 1: + b = R.child.stateNode; + } + try { + et(F, b); + } catch (xe) { + ci(R, R.return, xe); + } + } + break; + case 27: + Ll && S === null && F & 4 && CXe(R); + case 26: + case 5: + if ((Gv(b, R), S === null)) { + if (F & 4) e2e(R); + else if (F & 64) { + ((b = R.type), (S = R.memoizedProps), (V = R.stateNode)); + try { + _6n(V, b, S, R); + } catch (xe) { + ci(R, R.return, xe); + } + } + } + F & 512 && Hv(R, R.return); + break; + case 12: + Gv(b, R); + break; + case 31: + (Gv(b, R), F & 4 && BXe(b, R)); + break; + case 13: + (Gv(b, R), + F & 4 && OXe(b, R), + F & 64 && + ((F = R.memoizedState), + F !== null && + ((F = F.dehydrated), + F !== null && ((R = i4n.bind(null, R)), A6n(F, R))))); + break; + case 22: + if (((F = R.memoizedState !== null || gp), !F)) { + var W = (S !== null && S.memoizedState !== null) || Mi; + ((S = gp), + (V = Mi), + (gp = F), + (Mi = W) && !V + ? ((F = Ll ? 2 : 0), + (R.subtreeFlags & 8772) !== 0 && (F |= 1), + a2(b, R, F)) + : Gv(b, R), + (gp = S), + (Mi = V)); + } + break; + case 30: + (Gv(b, R), F & 512 && Hv(R, R.return)); + break; + case 7: + F & 512 && Hv(R, R.return); + default: + Gv(b, R); + } + } + function u2e(b, S) { + if (Dl) for (b = b.child; b !== null;) (DXe(b, S), (b = b.sibling)); + } + function DXe(b, S) { + if (Dl) + switch (b.tag) { + case 5: + case 26: + try { + var R = b.stateNode; + S ? e6n(R) : n6n(b.stateNode, b.memoizedProps); + } catch (W) { + ci(b, b.return, W); + } + d2e(b, S); + break; + case 6: + try { + var F = b.stateNode; + (S ? t6n(F) : r6n(F, b.memoizedProps), (em = !0)); + } catch (W) { + ci(b, b.return, W); + } + break; + case 18: + try { + var V = b.stateNode; + S ? W6n(V) : Y6n(b.stateNode); + } catch (W) { + ci(b, b.return, W); + } + break; + case 22: + case 23: + b.memoizedState === null && u2e(b, S); + break; + default: + u2e(b, S); + } + } + function d2e(b, S) { + if (Dl && b.subtreeFlags & 67108864) + for (b = b.child; b !== null;) { + var R = b, + F = S; + if (Dl) + switch (R.tag) { + case 4: + DXe(R, F); + break; + case 22: + R.memoizedState === null && d2e(R, F); + break; + default: + d2e(R, F); + } + b = b.sibling; + } + } + function LXe(b) { + var S = b.alternate; + (S !== null && ((b.alternate = null), LXe(S)), + (b.child = null), + (b.deletions = null), + (b.sibling = null), + b.tag === 5 && ((S = b.stateNode), S !== null && P4n(S)), + (b.stateNode = null), + (b.return = null), + (b.dependencies = null), + (b.memoizedProps = null), + (b.memoizedState = null), + (b.pendingProps = null), + (b.stateNode = null), + (b.updateQueue = null)); + } + function Q0(b, S, R) { + for (R = R.child; R !== null;) (p2e(b, S, R), (R = R.sibling)); + } + function p2e(b, S, R) { + if (K0 && typeof K0.onCommitFiberUnmount == "function") + try { + K0.onCommitFiberUnmount(fF, R); + } catch {} + switch (R.tag) { + case 26: + if (h1) { + (Mi || lf(R, S), + Q0(b, S, R), + R.memoizedState + ? FWe(R.memoizedState) + : R.stateNode && (Mi || q2e(R.stateNode))); + break; + } + case 27: + if (Ll) { + (Mi || lf(R, S), iF(R)); + var F = yd, + V = Zh; + (kk(R.type) && ((yd = R.stateNode), (Zh = !1)), + Q0(b, S, R), + _We(R.stateNode, R.type, R.memoizedProps), + (yd = F), + (Zh = V)); + break; + } + case 5: + (Mi || lf(R, S), iF(R)); + case 6: + if ((R.tag === 6 && iF(R), Dl)) { + if ( + ((F = yd), + (V = Zh), + (yd = null), + Q0(b, S, R), + (yd = F), + (Zh = V), + yd !== null) + ) + if (Zh) + try { + ($4n(yd, R.stateNode), (em = !0)); + } catch (W) { + ci(R, S, W); + } + else + try { + (j4n(yd, R.stateNode), (em = !0)); + } catch (W) { + ci(R, S, W); + } + } else Q0(b, S, R); + break; + case 18: + Dl && + yd !== null && + (Zh ? X6n(yd, R.stateNode) : Q6n(yd, R.stateNode)); + break; + case 4: + Dl + ? ((F = yd), + (V = Zh), + (yd = R.stateNode.containerInfo), + (Zh = !0), + Q0(b, S, R), + (yd = F), + (Zh = V)) + : (Zv && SXe(R.stateNode, R, IWe()), Q0(b, S, R)); + break; + case 0: + case 11: + case 14: + case 15: + (MS(2, R, S), Mi || MS(4, R, S), Q0(b, S, R)); + break; + case 1: + (Mi || + (lf(R, S), + (F = R.stateNode), + typeof F.componentWillUnmount == "function" && bXe(R, S, F)), + Q0(b, S, R)); + break; + case 21: + Q0(b, S, R); + break; + case 22: + ((Mi = (F = Mi) || R.memoizedState !== null), + Q0(b, S, R), + (Mi = F)); + break; + case 30: + (lf(R, S), Q0(b, S, R)); + break; + case 7: + (Mi || lf(R, S), Q0(b, S, R)); + break; + default: + Q0(b, S, R); + } + } + function BXe(b, S) { + if ( + uf && + S.memoizedState === null && + ((b = S.alternate), + b !== null && ((b = b.memoizedState), b !== null)) + ) { + b = b.dehydrated; + try { + V6n(b); + } catch (R) { + ci(S, S.return, R); + } + } + } + function OXe(b, S) { + if ( + uf && + S.memoizedState === null && + ((b = S.alternate), + b !== null && + ((b = b.memoizedState), + b !== null && ((b = b.dehydrated), b !== null))) + ) + try { + G6n(b); + } catch (R) { + ci(S, S.return, R); + } + } + function JSn(b) { + switch (b.tag) { + case 31: + case 13: + case 19: + var S = b.stateNode; + return (S === null && (S = b.stateNode = new KWe()), S); + case 22: + return ( + (b = b.stateNode), + (S = b._retryCache), + S === null && (S = b._retryCache = new KWe()), + S + ); + default: + throw Error(o(435, b.tag)); + } + } + function oK(b, S) { + var R = JSn(b); + S.forEach(function (F) { + if (!R.has(F)) { + R.add(F); + var V = s4n.bind(null, b, F); + F.then(V, V); + } + }); + } + function cf(b, S, R) { + var F = S.deletions; + if (F !== null) + for (var V = 0; V < F.length; V++) { + var W = F[V], + xe = b, + We = S; + if (Dl) { + var St = We; + e: for (; St !== null;) { + switch (St.tag) { + case 27: + if (Ll) { + if (kk(St.type)) { + ((yd = St.stateNode), (Zh = !1)); + break e; + } + break; + } + case 5: + ((yd = St.stateNode), (Zh = !1)); + break e; + case 3: + case 4: + ((yd = St.stateNode.containerInfo), (Zh = !0)); + break e; + } + St = St.return; + } + if (yd === null) throw Error(o(160)); + (p2e(xe, We, W), (yd = null), (Zh = !1)); + } else p2e(xe, We, W); + ((xe = W.alternate), + xe !== null && (xe.return = null), + (W.return = null)); + } + if (S.subtreeFlags & 13886) + for (S = S.child; S !== null;) (FXe(S, b, R), (S = S.sibling)); + } + function FXe(b, S, R) { + var F = b.alternate, + V = b.flags; + switch (b.tag) { + case 0: + case 11: + case 14: + case 15: + if ( + V & 4 && + ((F = b.updateQueue), + (F = F !== null ? F.events : null), + F !== null) + ) + for (var W = 0; W < F.length; W++) { + var xe = F[W]; + xe.ref.impl = xe.nextImpl; + } + (cf(S, b, R), + $f(b), + V & 4 && (MS(3, b, b.return), oF(3, b), MS(5, b, b.return))); + break; + case 1: + (cf(S, b, R), + $f(b), + V & 512 && (Mi || F === null || lf(F, F.return)), + V & 64 && + gp && + ((b = b.updateQueue), + b !== null && + ((S = b.callbacks), + S !== null && + ((V = b.shared.hiddenCallbacks), + (b.shared.hiddenCallbacks = + V === null ? S : V.concat(S)))))); + break; + case 26: + if (h1) { + ((W = i2), + cf(S, b, R), + $f(b), + V & 512 && (Mi || F === null || lf(F, F.return)), + V & 4 && + ((R = F !== null ? F.memoizedState : null), + (V = b.memoizedState), + F === null + ? V === null + ? b.stateNode === null + ? (b.stateNode = gp + ? UWe( + b.type, + b.memoizedProps, + S.containerInfo, + b, + ) + : j6n(W, b.type, b.memoizedProps, b)) + : gp || G2e(W, b.type, b.stateNode) + : (b.stateNode = OWe(W, V, b.memoizedProps)) + : R !== V + ? (R === null + ? ((S = F.stateNode), S === null || Mi || q2e(S)) + : FWe(R), + V === null + ? gp || G2e(W, b.type, b.stateNode) + : OWe(W, V, b.memoizedProps)) + : V === null && + b.stateNode !== null && + t2e(b, b.memoizedProps, F.memoizedProps))); + break; + } + case 27: + if (Ll) { + (cf(S, b, R), + $f(b), + V & 512 && (Mi || F === null || lf(F, F.return)), + F !== null && + V & 4 && + t2e(b, b.memoizedProps, F.memoizedProps)); + break; + } + case 5: + if ( + ((W = Yv), + (Yv = !1), + cf(S, b, R), + (Yv = W), + $f(b), + V & 512 && (Mi || F === null || lf(F, F.return)), + Dl) + ) { + if (b.flags & 32) { + S = b.stateNode; + try { + (wWe(S), (em = !0)); + } catch (sn) { + ci(b, b.return, sn); + } + } + (V & 4 && + b.stateNode != null && + ((S = b.memoizedProps), + t2e(b, S, F !== null ? F.memoizedProps : S)), + V & 1024 && (ive = !0)); + } else + Zv && + b.alternate !== null && + (b.alternate.stateNode = b.stateNode); + break; + case 6: + if ((cf(S, b, R), $f(b), V & 4 && Dl)) { + if (b.stateNode === null) throw Error(o(162)); + ((S = b.memoizedProps), + (V = F !== null ? F.memoizedProps : S), + (R = b.stateNode)); + try { + (X4n(R, V, S), (em = !0)); + } catch (sn) { + ci(b, b.return, sn); + } + } + break; + case 3: + if ( + ((em = !1), + h1 + ? ($6n(), + (W = i2), + (i2 = fK(S.containerInfo)), + cf(S, b, R), + (i2 = W)) + : cf(S, b, R), + $f(b), + V & 4) + ) { + if (Dl && uf && F !== null && F.memoizedState.isDehydrated) + try { + H6n(S.containerInfo); + } catch (sn) { + ci(b, b.return, sn); + } + if (Zv) { + ((V = S.containerInfo), (S = S.pendingChildren)); + try { + (kWe(V, S), (em = !0)); + } catch (sn) { + ci(b, b.return, sn); + } + } + } + (ive && ((ive = !1), UXe(b)), (em = !1)); + break; + case 4: + ((F = Yv), + (Yv = gp), + (W = xXe()), + h1 + ? ((xe = i2), + (i2 = fK(b.stateNode.containerInfo)), + cf(S, b, R), + $f(b), + (i2 = xe)) + : (cf(S, b, R), $f(b)), + em && xF && (RK = !0), + (em = W), + (Yv = F), + V & 4 && + Zv && + SXe(b.stateNode, b, b.stateNode.pendingChildren)); + break; + case 12: + (cf(S, b, R), $f(b)); + break; + case 31: + (cf(S, b, R), + $f(b), + V & 4 && + ((S = b.updateQueue), + S !== null && ((b.updateQueue = null), oK(b, S)))); + break; + case 13: + (cf(S, b, R), + $f(b), + b.child.flags & 8192 && + (b.memoizedState !== null) != + (F !== null && F.memoizedState !== null) && + (OK = Gh()), + V & 4 && + ((S = b.updateQueue), + S !== null && ((b.updateQueue = null), oK(b, S)))); + break; + case 22: + ((W = b.memoizedState !== null), + (xe = F !== null && F.memoizedState !== null)); + var We = gp, + St = Mi, + Xt = Yv; + ((gp = We || W), + (Yv = Xt || W), + (Mi = St || xe), + cf(S, b, R), + (Mi = St), + (Yv = Xt), + (gp = We), + $f(b), + V & 8192 && + ((S = b.stateNode), + (S._visibility = W + ? S._visibility & -2 + : S._visibility | 1), + !W || + F === null || + xe || + gp || + Mi || + ((S = Ll ? 2 : 0), + (R = xe || Mi), + (F = gp), + (xe = Mi), + (gp = W || gp), + (Mi = R), + DS(b, S), + (gp = F), + (Mi = xe)), + Dl && (W || !Yv) && u2e(b, W)), + V & 4 && + ((S = b.updateQueue), + S !== null && + ((V = S.retryQueue), + V !== null && ((S.retryQueue = null), oK(b, V))))); + break; + case 19: + (cf(S, b, R), + $f(b), + V & 4 && + ((S = b.updateQueue), + S !== null && ((b.updateQueue = null), oK(b, S)))); + break; + case 30: + (V & 512 && (Mi || F === null || lf(F, F.return)), + (V = xXe()), + (W = xF), + (xe = (R & 335544064) === R), + (We = b.memoizedProps), + (xF = xe && G(We.default, We.update) !== "none"), + cf(S, b, R), + $f(b), + xe && F !== null && em && (b.flags |= 4), + (xF = W), + (em = V)); + break; + case 21: + break; + case 7: + (V & 512 && (Mi || F === null || lf(F, F.return)), + F && F.stateNode !== null && g6n(b, F.stateNode)); + default: + (cf(S, b, R), $f(b)); + } + } + function $f(b) { + var S = b.flags; + if (S & 2) { + try { + for (var R, F = b.return; F !== null;) { + if (wXe(F)) { + R = F; + break; + } + F = F.return; + } + F = null; + for (var V = b.return; V !== null;) { + if ($ye(V)) { + var W = V.stateNode; + F === null ? (F = [W]) : F.push(W); + } + if (jye(V)) break; + V = V.return; + } + var xe = F; + if (Dl) { + if (R == null) throw Error(o(160)); + switch (R.tag) { + case 27: + if (Ll) { + var We = R.stateNode, + St = n2e(b); + eK(b, St, We, xe); + break; + } + case 5: + var Xt = R.stateNode; + R.flags & 32 && (wWe(Xt), (R.flags &= -33)); + var sn = n2e(b); + eK(b, sn, Xt, xe); + break; + case 3: + case 4: + var Fn = R.stateNode.containerInfo, + jn = n2e(b); + r2e(b, jn, Fn, xe); + break; + default: + throw Error(o(161)); + } + } else o2e(b, xe); + } catch (ca) { + ci(b, b.return, ca); + } + b.flags &= -3; + } + S & 4096 && (b.flags &= -4097); + } + function UXe(b) { + if (b.subtreeFlags & 1024) + for (b = b.child; b !== null;) { + var S = b; + (UXe(S), + S.tag === 5 && S.flags & 1024 && F4n(S.stateNode), + (b = b.sibling)); + } + } + function xk(b, S) { + if (S.subtreeFlags & 9270) + for (S = S.child; S !== null;) (NXe(S, b), (S = S.sibling)); + else PXe(S, !1); + } + function NXe(b, S) { + var R = b.alternate; + if (R === null) a2e(b, !1); + else + switch (b.tag) { + case 3: + if (((sve = Kv = !1), IXe(), xk(S, b), !Kv && !RK)) { + if (((b = Wv), b !== null)) + for (var F = 0; F < b.length; F += 3) + a6n(b[F], b[F + 1], b[F + 2]); + (i6n(S.containerInfo), (sve = !0)); + } + Wv = null; + break; + case 5: + xk(S, b); + break; + case 4: + ((F = Kv), (Kv = !1), xk(S, b), Kv && (RK = !0), (Kv = F)); + break; + case 22: + b.memoizedState === null && + (R.memoizedState !== null ? a2e(b, !1) : xk(S, b)); + break; + case 30: + F = Kv; + var V = IXe(); + ((Kv = !1), xk(S, b), Kv && (b.flags |= 4)); + var W = b.memoizedProps, + xe = b.stateNode; + ((S = N(W, xe)), (xe = N(R.memoizedProps, xe))); + var We = G(W.default, W.update); + (We === "none" + ? (R = !1) + : ((W = R.memoizedState), + (R.memoizedState = null), + (R = b.child), + (qh = 0), + (R = c2e(b, R, S, xe, We, W, !0)), + qh !== (W === null ? 0 : W.length) && (b.flags |= 32)), + (b.flags & 4) !== 0 && R + ? (wk(b, b.memoizedProps.onUpdate), (Wv = V)) + : V !== null && (V.push.apply(V, Wv), (Wv = V)), + (Kv = (b.flags & 32) !== 0 ? !0 : F)); + break; + default: + xk(S, b); + } + } + function Gv(b, S) { + if (S.subtreeFlags & 8772) + for (S = S.child; S !== null;) + (MXe(b, S.alternate, S), (S = S.sibling)); + } + function DS(b, S) { + for (b = b.child; b !== null;) { + var R = b, + F = S; + switch (R.tag) { + case 0: + case 11: + case 14: + case 15: + (MS(4, R, R.return), DS(R, F)); + break; + case 1: + lf(R, R.return); + var V = R.stateNode; + (typeof V.componentWillUnmount == "function" && + bXe(R, R.return, V), + DS(R, F)); + break; + case 27: + Ll && + (F & 2) !== 0 && + _We(R.stateNode, R.type, R.memoizedProps); + case 5: + (lf(R, R.return), + (R.tag !== 5 && R.tag !== 27) || iF(R), + DS(R, F)); + break; + case 6: + iF(R); + break; + case 26: + (lf(R, R.return), + h1 && + ((V = R.stateNode), + R.memoizedState !== null || V === null || Mi || q2e(V)), + DS(R, F)); + break; + case 22: + R.memoizedState === null && DS(R, F); + break; + case 30: + (lf(R, R.return), DS(R, F)); + break; + case 7: + lf(R, R.return); + default: + DS(R, F); + } + b = b.sibling; + } + } + function a2(b, S, R) { + for ( + R = (S.subtreeFlags & 8772) !== 0 ? R : R & -2, S = S.child; + S !== null; + ) { + var F = S.alternate, + V = b, + W = S, + xe = W.flags, + We = (R & 1) !== 0; + switch (W.tag) { + case 0: + case 11: + case 15: + (a2(V, W, R), oF(4, W)); + break; + case 1: + if ( + (a2(V, W, R), + (F = W), + (V = F.stateNode), + typeof V.componentDidMount == "function") + ) + try { + V.componentDidMount(); + } catch (sn) { + ci(F, F.return, sn); + } + if (((F = W), (V = F.updateQueue), V !== null)) { + var St = F.stateNode; + try { + var Xt = V.shared.hiddenCallbacks; + if (Xt !== null) + for ( + V.shared.hiddenCallbacks = null, V = 0; + V < Xt.length; + V++ + ) + ve(Xt[V], St); + } catch (sn) { + ci(F, F.return, sn); + } + } + (We && xe & 64 && vXe(W), Hv(W, W.return)); + break; + case 27: + Ll && (R & 2) !== 0 && CXe(W); + case 5: + ((W.tag !== 5 && W.tag !== 27) || AXe(W), + a2(V, W, R), + We && F === null && xe & 4 && e2e(W), + Hv(W, W.return)); + break; + case 6: + AXe(W); + break; + case 26: + (h1 && + ((St = W.stateNode), + W.memoizedState !== null || + St === null || + gp || + G2e(fK(St.ownerDocument), W.type, St)), + a2(V, W, R), + We && F === null && xe & 4 && e2e(W), + Hv(W, W.return)); + break; + case 12: + a2(V, W, R); + break; + case 31: + (a2(V, W, R), We && xe & 4 && BXe(V, W)); + break; + case 13: + (a2(V, W, R), We && xe & 4 && OXe(V, W)); + break; + case 22: + (W.memoizedState === null && a2(V, W, R), Hv(W, W.return)); + break; + case 30: + (a2(V, W, R), Hv(W, W.return)); + break; + case 7: + Hv(W, W.return); + default: + a2(V, W, R); + } + S = S.sibling; + } + } + function f2e(b, S) { + var R = null; + (b !== null && + b.memoizedState !== null && + b.memoizedState.cachePool !== null && + (R = b.memoizedState.cachePool.pool), + (b = null), + S.memoizedState !== null && + S.memoizedState.cachePool !== null && + (b = S.memoizedState.cachePool.pool), + b !== R && (b != null && b.refCount++, R != null && Pe(R))); + } + function m2e(b, S) { + ((b = null), + S.alternate !== null && (b = S.alternate.memoizedState.cache), + (S = S.memoizedState.cache), + S !== b && (S.refCount++, b != null && Pe(b))); + } + function m1(b, S, R, F) { + var V = (R & 335544064) === R; + if (S.subtreeFlags & (V ? 10262 : 10256)) + for (S = S.child; S !== null;) (zXe(b, S, R, F), (S = S.sibling)); + else V && RXe(S); + } + function zXe(b, S, R, F) { + var V = (R & 335544064) === R; + V && + S.alternate === null && + S.return !== null && + S.return.alternate !== null && + nK(S); + var W = S.flags; + switch (S.tag) { + case 0: + case 11: + case 15: + (m1(b, S, R, F), W & 2048 && oF(9, S)); + break; + case 1: + m1(b, S, R, F); + break; + case 3: + (m1(b, S, R, F), + V && Dl && sve && s6n(b.containerInfo), + W & 2048 && + ((b = null), + S.alternate !== null && + (b = S.alternate.memoizedState.cache), + (S = S.memoizedState.cache), + S !== b && (S.refCount++, b != null && Pe(b)))); + break; + case 12: + if (W & 2048) { + (m1(b, S, R, F), (b = S.stateNode)); + try { + var xe = S.memoizedProps, + We = xe.id, + St = xe.onPostCommit; + typeof St == "function" && + St( + We, + S.alternate === null ? "mount" : "update", + b.passiveEffectDuration, + -0, + ); + } catch (Xt) { + ci(S, S.return, Xt); + } + } else m1(b, S, R, F); + break; + case 31: + m1(b, S, R, F); + break; + case 13: + m1(b, S, R, F); + break; + case 23: + break; + case 22: + ((xe = S.stateNode), + (We = S.alternate), + S.memoizedState !== null + ? (V && We !== null && We.memoizedState === null && nK(We), + xe._visibility & 2 ? m1(b, S, R, F) : sF(b, S)) + : (V && We !== null && We.memoizedState !== null && nK(S), + xe._visibility & 2 + ? m1(b, S, R, F) + : ((xe._visibility |= 2), + Ak( + b, + S, + R, + F, + (S.subtreeFlags & 10256) !== 0 || !1, + ))), + W & 2048 && f2e(We, S)); + break; + case 24: + (m1(b, S, R, F), W & 2048 && m2e(S.alternate, S)); + break; + case 30: + (V && + ((V = S.alternate), + V !== null && (Vv(V.child, !0), Vv(S.child, !0))), + m1(b, S, R, F)); + break; + default: + m1(b, S, R, F); + } + } + function Ak(b, S, R, F, V) { + for ( + V = V && ((S.subtreeFlags & 10256) !== 0 || !1), S = S.child; + S !== null; + ) { + var W = b, + xe = S, + We = R, + St = F, + Xt = xe.flags; + switch (xe.tag) { + case 0: + case 11: + case 15: + (Ak(W, xe, We, St, V), oF(8, xe)); + break; + case 23: + break; + case 22: + var sn = xe.stateNode; + (xe.memoizedState !== null + ? sn._visibility & 2 + ? Ak(W, xe, We, St, V) + : sF(W, xe) + : ((sn._visibility |= 2), Ak(W, xe, We, St, V)), + V && Xt & 2048 && f2e(xe.alternate, xe)); + break; + case 24: + (Ak(W, xe, We, St, V), + V && Xt & 2048 && m2e(xe.alternate, xe)); + break; + default: + Ak(W, xe, We, St, V); + } + S = S.sibling; + } + } + function sF(b, S) { + if (S.subtreeFlags & 10256) + for (S = S.child; S !== null;) { + var R = b, + F = S, + V = F.flags; + switch (F.tag) { + case 22: + (sF(R, F), V & 2048 && f2e(F.alternate, F)); + break; + case 24: + (sF(R, F), V & 2048 && m2e(F.alternate, F)); + break; + default: + sF(R, F); + } + S = S.sibling; + } + } + function LS(b, S, R) { + if (b.subtreeFlags & n8) + for (b = b.child; b !== null;) (_Xe(b, S, R), (b = b.sibling)); + } + function _Xe(b, S, R) { + switch (b.tag) { + case 26: + if ((LS(b, S, R), b.flags & n8)) + if (b.memoizedState !== null) + tCn(R, i2, b.memoizedState, b.memoizedProps); + else { + var F = b.stateNode, + V = b.type; + ((b = b.memoizedProps), + ((S & 335544128) === S || z2e(V, b)) && AWe(R, F, V, b)); + } + break; + case 5: + (LS(b, S, R), + b.flags & n8 && + ((F = b.stateNode), + (V = b.type), + (b = b.memoizedProps), + ((S & 335544128) === S || z2e(V, b)) && AWe(R, F, V, b))); + break; + case 3: + case 4: + h1 + ? ((F = i2), + (i2 = fK(b.stateNode.containerInfo)), + LS(b, S, R), + (i2 = F)) + : LS(b, S, R); + break; + case 22: + b.memoizedState === null && + ((F = b.alternate), + F !== null && F.memoizedState !== null + ? ((F = n8), (n8 = 16777216), LS(b, S, R), (n8 = F)) + : LS(b, S, R)); + break; + case 30: + ((b.flags & n8) !== 0 && + ((F = b.memoizedProps.name), + F != null && + F !== "auto" && + ((V = b.stateNode), + (V.paired = null), + j0 === null && (j0 = new Map()), + j0.set(F, V))), + LS(b, S, R)); + break; + default: + LS(b, S, R); + } + } + function HXe(b) { + var S = b.alternate; + if (S !== null && ((b = S.child), b !== null)) { + S.child = null; + do ((S = b.sibling), (b.sibling = null), (b = S)); + while (b !== null); + } + } + function lF(b) { + var S = b.deletions; + if ((b.flags & 16) !== 0) { + if (S !== null) + for (var R = 0; R < S.length; R++) { + var F = S[R]; + ((yp = F), GXe(F, b)); + } + HXe(b); + } + if (b.subtreeFlags & 10256) + for (b = b.child; b !== null;) (VXe(b), (b = b.sibling)); + } + function VXe(b) { + switch (b.tag) { + case 0: + case 11: + case 15: + (lF(b), b.flags & 2048 && MS(9, b, b.return)); + break; + case 3: + lF(b); + break; + case 12: + lF(b); + break; + case 22: + var S = b.stateNode; + b.memoizedState !== null && + S._visibility & 2 && + (b.return === null || b.return.tag !== 13) + ? ((S._visibility &= -3), aK(b)) + : lF(b); + break; + default: + lF(b); + } + } + function aK(b) { + var S = b.deletions; + if ((b.flags & 16) !== 0) { + if (S !== null) + for (var R = 0; R < S.length; R++) { + var F = S[R]; + ((yp = F), GXe(F, b)); + } + HXe(b); + } + for (b = b.child; b !== null;) { + switch (((S = b), S.tag)) { + case 0: + case 11: + case 15: + (MS(8, S, S.return), aK(S)); + break; + case 22: + ((R = S.stateNode), + R._visibility & 2 && ((R._visibility &= -3), aK(S))); + break; + default: + aK(S); + } + b = b.sibling; + } + } + function GXe(b, S) { + for (; yp !== null;) { + var R = yp; + switch (R.tag) { + case 0: + case 11: + case 15: + MS(8, R, S); + break; + case 23: + case 22: + if ( + R.memoizedState !== null && + R.memoizedState.cachePool !== null + ) { + var F = R.memoizedState.cachePool.pool; + F != null && F.refCount++; + } + break; + case 24: + Pe(R.memoizedState.cache); + } + if (((F = R.child), F !== null)) ((F.return = R), (yp = F)); + else + e: for (R = b; yp !== null;) { + F = yp; + var V = F.sibling, + W = F.return; + if ((LXe(F), F === R)) { + yp = null; + break e; + } + if (V !== null) { + ((V.return = W), (yp = V)); + break e; + } + yp = W; + } + } + } + function h2e(b) { + var S = I4n(b); + if (S != null) { + if (typeof S.memoizedProps["data-testname"] != "string") + throw Error(o(364)); + return S; + } + if (((b = z4n(b)), b === null)) throw Error(o(362)); + return b.stateNode.current; + } + function g2e(b, S) { + var R = b.tag; + switch (S.$$typeof) { + case PK: + if (b.type === S.value) return !0; + break; + case MK: + e: { + for (S = S.value, b = [b, 0], R = 0; R < b.length;) { + var F = b[R++], + V = F.tag, + W = b[R++], + xe = S[W]; + if ((V !== 5 && V !== 26 && V !== 27) || !pF(F)) { + for (; xe != null && g2e(F, xe);) (W++, (xe = S[W])); + if (W === S.length) { + S = !0; + break e; + } else + for (F = F.child; F !== null;) + (b.push(F, W), (F = F.sibling)); + } + } + S = !1; + } + return S; + case DK: + if ( + (R === 5 || R === 26 || R === 27) && + V4n(b.stateNode, S.value) + ) + return !0; + break; + case BK: + if ( + (R === 5 || R === 6 || R === 26 || R === 27) && + ((b = H4n(b)), b !== null && 0 <= b.indexOf(S.value)) + ) + return !0; + break; + case LK: + if ( + (R === 5 || R === 26 || R === 27) && + ((b = b.memoizedProps["data-testname"]), + typeof b == "string" && + b.toLowerCase() === S.value.toLowerCase()) + ) + return !0; + break; + default: + throw Error(o(365)); + } + return !1; + } + function y2e(b) { + switch (b.$$typeof) { + case PK: + return "<" + (d(b.value) || "Unknown") + ">"; + case MK: + return ":has(" + (y2e(b) || "") + ")"; + case DK: + return '[role="' + b.value + '"]'; + case BK: + return '"' + b.value + '"'; + case LK: + return '[data-testname="' + b.value + '"]'; + default: + throw Error(o(365)); + } + } + function qXe(b, S) { + var R = []; + b = [b, 0]; + for (var F = 0; F < b.length;) { + var V = b[F++], + W = V.tag, + xe = b[F++], + We = S[xe]; + if ((W !== 5 && W !== 26 && W !== 27) || !pF(V)) { + for (; We != null && g2e(V, We);) (xe++, (We = S[xe])); + if (xe === S.length) R.push(V); + else + for (V = V.child; V !== null;) + (b.push(V, xe), (V = V.sibling)); + } + } + return R; + } + function v2e(b, S) { + if (!dF) throw Error(o(363)); + ((b = h2e(b)), (b = qXe(b, S)), (S = []), (b = Array.from(b))); + for (var R = 0; R < b.length;) { + var F = b[R++], + V = F.tag; + if (V === 5 || V === 26 || V === 27) pF(F) || S.push(F.stateNode); + else for (F = F.child; F !== null;) (b.push(F), (F = F.sibling)); + } + return S; + } + function X0() { + return (Sa & 2) !== 0 && Ra !== 0 + ? Ra & -Ra + : Zr.T !== null + ? Ge() + : k4n(); + } + function ZXe() { + if (eg === 0) + if ((Ra & 536870912) === 0 || na) { + var b = hK; + ((hK <<= 1), (hK & 3932160) === 0 && (hK = 262144), (eg = b)); + } else eg = 536870912; + return ((b = pf.current), b !== null && (b.flags |= 32), eg); + } + function wk(b, S) { + if (S != null) { + var R = b.stateNode, + F = R.ref; + (F === null && (F = R.ref = CWe(N(b.memoizedProps, R))), + qk === null && (qk = []), + qk.push(S.bind(null, F))); + } + } + function Vh(b, S, R) { + (((b === ms && (_i === 2 || _i === 9)) || + b.cancelPendingCommit !== null) && + (Sk(b, 0), BS(b, Ra, eg, !1)), + T(b, R), + ((Sa & 2) === 0 || b !== ms) && + (b === ms && + ((Sa & 2) === 0 && (r8 |= R), oc === 4 && BS(b, Ra, eg, !1)), + ct(b))); + } + function QXe(b, S, R) { + if ((Sa & 6) !== 0) throw Error(o(327)); + var F = + (!R && (S & 127) === 0 && (S & b.expiredLanes) === 0) || + x(b, S), + V = F ? e4n(b, S) : x2e(b, S, !0), + W = F; + do { + if (V === 0) { + Hk && !F && BS(b, S, 0, !1); + break; + } else { + if (((R = b.current.alternate), W && !jSn(R))) { + ((V = x2e(b, S, !1)), (W = !1)); + continue; + } + if (V === 2) { + if (((W = S), b.errorRecoveryDisabledLanes & W)) var xe = 0; + else + ((xe = b.pendingLanes & -536870913), + (xe = xe !== 0 ? xe : xe & 536870912 ? 536870912 : 0)); + if (xe !== 0) { + S = xe; + e: { + var We = b; + V = wF; + var St = uf && We.current.memoizedState.isDehydrated; + if ( + (St && (Sk(We, xe).flags |= 256), + (xe = x2e(We, xe, !1)), + xe !== 2 && xe !== 6) + ) { + if (lve && !St) { + ((We.errorRecoveryDisabledLanes |= W), + (r8 |= W), + (V = 4)); + break e; + } + ((W = Qh), + (Qh = V), + W !== null && + (Qh === null ? (Qh = W) : Qh.push.apply(Qh, W))); + } + V = xe; + } + if (((W = !1), V !== 2)) continue; + } + } + if (V === 1) { + (Sk(b, 0), BS(b, S, 0, !0)); + break; + } + e: { + switch (((F = b), (W = V), W)) { + case 0: + case 1: + throw Error(o(345)); + case 4: + if ((S & 4194048) !== S && (S & 62914560) !== S) break; + case 6: + BS(F, S, eg, !HS); + break e; + case 2: + Qh = null; + break; + case 3: + case 5: + break; + default: + throw Error(o(329)); + } + if ((S & 62914560) === S && ((V = OK + 300 - Gh()), 10 < V)) { + if ((BS(F, S, eg, !HS), y(F, 0, !0) !== 0)) break e; + ((Jv = S), + (F.timeoutHandle = C4n( + XXe.bind( + null, + F, + R, + Qh, + FK, + uve, + S, + eg, + r8, + Vk, + HS, + W, + "Throttled", + -0, + 0, + ), + V, + ))); + break e; + } + XXe(F, R, Qh, FK, uve, S, eg, r8, Vk, HS, W, null, -0, 0); + } + } + break; + } while (!0); + ct(b); + } + function XXe(b, S, R, F, V, W, xe, We, St, Xt, sn, Fn, jn, ca) { + b.timeoutHandle = W5; + var ei = S.subtreeFlags, + qS = (W & 335544064) === W; + if ( + ((Fn = null), + (qS || ei & 8192 || (ei & 16785408) === 16785408) && + ((Fn = L4n()), + (j0 = null), + _Xe(S, W, Fn), + qS && B4n(Fn, b.containerInfo), + (ei = + (W & 62914560) === W + ? OK - Gh() + : (W & 4194048) === W + ? JWe - Gh() + : 0), + (ei = O4n(Fn, ei)), + ei !== null)) + ) { + ((Jv = W), + (b.cancelPendingCommit = ei( + nWe.bind( + null, + b, + S, + W, + R, + F, + V, + xe, + We, + St, + Xt, + sn, + Fn, + null, + jn, + ca, + ), + )), + BS(b, W, xe, !Xt)); + return; + } + nWe(b, S, W, R, F, V, xe, We, St, Xt, sn, Fn); + } + function jSn(b) { + for (var S = b; ;) { + var R = S.tag; + if ( + (R === 0 || R === 11 || R === 15) && + S.flags & 16384 && + ((R = S.updateQueue), + R !== null && ((R = R.stores), R !== null)) + ) + for (var F = 0; F < R.length; F++) { + var V = R[F], + W = V.getSnapshot; + V = V.value; + try { + if (!J0(W(), V)) return !1; + } catch { + return !1; + } + } + if (((R = S.child), S.subtreeFlags & 16384 && R !== null)) + ((R.return = S), (S = R)); + else { + if (S === b) break; + for (; S.sibling === null;) { + if (S.return === null || S.return === b) return !0; + S = S.return; + } + ((S.sibling.return = S.return), (S = S.sibling)); + } + } + return !0; + } + function BS(b, S, R, F) { + ((S = A(b, S)), + (S &= ~cve), + (S &= ~r8), + (b.suspendedLanes |= S), + (b.pingedLanes &= ~S), + F && (b.warmLanes |= S), + (F = b.expirationTimes)); + for (var V = S; 0 < V;) { + var W = 31 - Y0(V), + xe = 1 << W; + ((F[W] = -1), (V &= ~xe)); + } + R !== 0 && k(b, R, S); + } + function WXe() { + return (Sa & 6) === 0 ? (Rt(0, !1), !1) : !0; + } + function b2e() { + if (Ca !== null) { + if (_i === 0) var b = Ca.return; + else + ((b = Ca), + (IA = Y5 = null), + fs(b), + (Uk = null), + (vF = 0), + (b = Ca)); + for (; b !== null;) (yXe(b.alternate, b), (b = b.return)); + Ca = null; + } + } + function Sk(b, S) { + var R = b.timeoutHandle; + return ( + R !== W5 && ((b.timeoutHandle = W5), E4n(R)), + (R = b.cancelPendingCommit), + R !== null && ((b.cancelPendingCommit = null), R()), + (Jv = 0), + b2e(), + (ms = b), + (Ca = R = wA(b.current, null)), + (Ra = S), + (_i = 0), + ($0 = null), + (HS = !1), + (Hk = x(b, S)), + (lve = !1), + (Vk = eg = cve = r8 = VS = oc = 0), + (Qh = wF = null), + (uve = !1), + (kA = A(b, S)), + Tn(), + R + ); + } + function YXe(b, S) { + ((Lo = null), + (Zr.H = TK), + S === Fk || S === wK + ? ((S = Je()), (_i = 3)) + : S === eve + ? ((S = Je()), (_i = 4)) + : (_i = + S === ove + ? 8 + : S !== null && + typeof S == "object" && + typeof S.then == "function" + ? 6 + : 1), + ($0 = S), + Ca === null && ((oc = 1), XY(b, j(S, b.current)))); + } + function KXe() { + var b = pf.current; + return b === null + ? !0 + : (Ra & 4194048) === Ra + ? Km === null + : (Ra & 62914560) === Ra || (Ra & 536870912) !== 0 + ? b === Km + : !1; + } + function JXe() { + var b = Zr.H; + return ((Zr.H = TK), b === null ? TK : b); + } + function jXe() { + var b = Zr.A; + return ((Zr.A = vCn), b); + } + function iK() { + ((oc = 4), + HS || ((Ra & 4194048) !== Ra && pf.current !== null) || (Hk = !0), + ((VS & 134217727) === 0 && (r8 & 134217727) === 0) || + ms === null || + BS(ms, Ra, eg, !1)); + } + function x2e(b, S, R) { + var F = Sa; + Sa |= 2; + var V = JXe(), + W = jXe(); + ((ms !== b || Ra !== S) && ((FK = null), Sk(b, S)), (S = !1)); + var xe = oc; + e: do + try { + if (_i !== 0 && Ca !== null) { + var We = Ca, + St = $0; + switch (_i) { + case 8: + (b2e(), (xe = 6)); + break e; + case 3: + case 2: + case 9: + case 6: + pf.current === null && (S = !0); + var Xt = _i; + if (((_i = 0), ($0 = null), Ck(b, We, St, Xt), R && Hk)) { + xe = 0; + break e; + } + break; + default: + ((Xt = _i), (_i = 0), ($0 = null), Ck(b, We, St, Xt)); + } + } + ($Sn(), (xe = oc)); + break; + } catch (sn) { + YXe(b, sn); + } + while (!0); + return ( + S && b.shellSuspendCounter++, + (IA = Y5 = null), + (Sa = F), + (Zr.H = V), + (Zr.A = W), + Ca === null && ((ms = null), (Ra = 0), Tn()), + xe + ); + } + function $Sn() { + for (; Ca !== null;) $Xe(Ca); + } + function e4n(b, S) { + var R = Sa; + Sa |= 2; + var F = JXe(), + V = jXe(); + ms !== b || Ra !== S + ? ((FK = null), (SF = Gh() + 500), Sk(b, S)) + : (Hk = x(b, S)); + e: do + try { + if (_i !== 0 && Ca !== null) { + S = Ca; + var W = $0; + t: switch (_i) { + case 1: + ((_i = 0), ($0 = null), Ck(b, S, W, 1)); + break; + case 2: + case 9: + if (tn(W)) { + ((_i = 0), ($0 = null), eWe(S)); + break; + } + ((S = function () { + ((_i !== 2 && _i !== 9) || ms !== b || (_i = 7), ct(b)); + }), + W.then(S, S)); + break e; + case 3: + _i = 7; + break e; + case 4: + _i = 5; + break e; + case 7: + tn(W) + ? ((_i = 0), ($0 = null), eWe(S)) + : ((_i = 0), ($0 = null), Ck(b, S, W, 7)); + break; + case 5: + var xe = null; + switch (Ca.tag) { + case 26: + xe = Ca.memoizedState; + case 5: + case 27: + var We = Ca, + { type: St, pendingProps: Xt } = We; + if (xe ? NWe(xe) : xWe(We.stateNode, St, Xt)) { + ((_i = 0), ($0 = null)); + var sn = We.sibling; + if (sn !== null) Ca = sn; + else { + var Fn = We.return; + Fn !== null ? ((Ca = Fn), sK(Fn)) : (Ca = null); + } + break t; + } + } + ((_i = 0), ($0 = null), Ck(b, S, W, 5)); + break; + case 6: + ((_i = 0), ($0 = null), Ck(b, S, W, 6)); + break; + case 8: + (b2e(), (oc = 6)); + break e; + default: + throw Error(o(462)); + } + } + t4n(); + break; + } catch (jn) { + YXe(b, jn); + } + while (!0); + return ( + (IA = Y5 = null), + (Zr.H = F), + (Zr.A = V), + (Sa = R), + Ca !== null ? 0 : ((ms = null), (Ra = 0), Tn(), oc) + ); + } + function t4n() { + for (; Ca !== null && !aCn();) $Xe(Ca); + } + function $Xe(b) { + var S = pXe(b.alternate, b, kA); + ((b.memoizedProps = b.pendingProps), S === null ? sK(b) : (Ca = S)); + } + function eWe(b) { + var S = b, + R = S.alternate; + switch (S.tag) { + case 15: + case 0: + S = aXe(R, S, S.pendingProps, S.type, void 0, Ra); + break; + case 11: + S = aXe(R, S, S.pendingProps, S.type.render, S.ref, Ra); + break; + case 5: + fs(S); + var F = S; + uf && + F === hp && + (na + ? (Le(F), + F.tag === 5 && F.stateNode != null && (il = F.stateNode)) + : (Le(F), (na = !0))); + default: + (yXe(R, S), (S = Ca = iWe(S, kA)), (S = pXe(R, S, kA))); + } + ((b.memoizedProps = b.pendingProps), S === null ? sK(b) : (Ca = S)); + } + function Ck(b, S, R, F) { + ((IA = Y5 = null), fs(S), (Uk = null), (vF = 0)); + var V = S.return; + try { + if (qSn(b, V, S, R, Ra)) { + ((oc = 1), XY(b, j(R, b.current)), (Ca = null)); + return; + } + } catch (W) { + if (V !== null) throw ((Ca = V), W); + ((oc = 1), XY(b, j(R, b.current)), (Ca = null)); + return; + } + S.flags & 32768 + ? (na || F === 1 + ? (b = !0) + : Hk || (Ra & 536870912) !== 0 + ? (b = !1) + : ((HS = b = !0), + (F === 2 || F === 9 || F === 3 || F === 6) && + ((F = pf.current), + F !== null && F.tag === 13 && (F.flags |= 16384))), + tWe(S, b)) + : sK(S); + } + function sK(b) { + var S = b; + do { + if ((S.flags & 32768) !== 0) { + tWe(S, HS); + return; + } + b = S.return; + var R = WSn(S.alternate, S, kA); + if (R !== null) { + Ca = R; + return; + } + if (((S = S.sibling), S !== null)) { + Ca = S; + return; + } + Ca = S = b; + } while (S !== null); + oc === 0 && (oc = 5); + } + function tWe(b, S) { + do { + var R = YSn(b.alternate, b); + if (R !== null) { + ((R.flags &= 32767), (Ca = R)); + return; + } + if ( + ((R = b.return), + R !== null && + ((R.flags |= 32768), + (R.subtreeFlags = 0), + (R.deletions = null)), + !S && ((b = b.sibling), b !== null)) + ) { + Ca = b; + return; + } + Ca = b = R; + } while (b !== null); + ((oc = 6), (Ca = null)); + } + function nWe(b, S, R, F, V, W, xe, We, St, Xt, sn, Fn) { + b.cancelPendingCommit = null; + do cF(); + while (Ol !== 0); + if ((Sa & 6) !== 0) throw Error(o(327)); + if (S !== null) { + if (S === b.current) throw Error(o(177)); + (b === ms && ((Ca = ms = null), (Ra = 0)), + (o8 = S), + (s2 = b), + (Jv = R), + (pve = V), + (jWe = F), + n4n(b, S, R, xe, We, St, Fn)); + } + } + function n4n(b, S, R, F, V, W, xe) { + var We = S.lanes | S.childLanes; + if ( + ((dve = We), + (We |= tve), + I(b, R, We, F, V, W), + (qk = null), + (R & 335544064) === R + ? ((Zk = Ue(b)), (F = 10262)) + : ((Zk = null), (F = 10256)), + (S.subtreeFlags & F) !== 0 || (S.flags & F) !== 0 + ? ((b.callbackNode = null), + (b.callbackPriority = 0), + l4n(X2e, function () { + return (C2e(), null); + })) + : ((b.callbackNode = null), (b.callbackPriority = 0)), + (kK = !1), + (F = (S.flags & 13878) !== 0), + (S.subtreeFlags & 13878) !== 0 || F) + ) { + ((F = Zr.T), + (Zr.T = null), + (V = CA()), + mp(2), + (W = Sa), + (Sa |= 4)); + try { + KSn(b, S, R); + } finally { + ((Sa = W), mp(V), (Zr.T = F)); + } + } + ((Ol = 1), + kK + ? (Gk = d6n( + xe, + b.containerInfo, + Zk, + A2e, + w2e, + o4n, + S2e, + C2e, + r4n, + null, + null, + )) + : (A2e(), w2e(), S2e())); + } + function r4n(b) { + if (Ol !== 0) { + var S = s2.onRecoverableError; + S(b, { componentStack: null }); + } + } + function o4n() { + Ol === 3 && ((Ol = 0), NXe(o8, s2), (Ol = 4)); + } + function A2e() { + if (Ol === 1) { + Ol = 0; + var b = s2, + S = o8, + R = Jv, + F = (S.flags & 13878) !== 0; + if ((S.subtreeFlags & 13878) !== 0 || F) { + ((F = Zr.T), (Zr.T = null)); + var V = CA(); + mp(2); + var W = Sa; + Sa |= 4; + try { + ((xF = RK = !1), FXe(S, b, R), w4n(b.containerInfo)); + } finally { + ((Sa = W), mp(V), (Zr.T = F)); + } + } + ((b.current = S), (Ol = 2)); + } + } + function w2e() { + if (Ol === 2) { + Ol = 0; + var b = s2, + S = o8, + R = (S.flags & 8772) !== 0; + if ((S.subtreeFlags & 8772) !== 0 || R) { + ((R = Zr.T), (Zr.T = null)); + var F = CA(); + mp(2); + var V = Sa; + Sa |= 4; + try { + MXe(b, S.alternate, S); + } finally { + ((Sa = V), mp(F), (Zr.T = R)); + } + } + Ol = 3; + } + } + function S2e() { + if (Ol === 4 || Ol === 3) { + Ol = 0; + var b = Gk; + ((Gk = null), iCn()); + var S = s2, + R = o8, + F = Jv, + V = jWe, + W = (F & 335544064) === F ? 10262 : 10256; + if ( + ((R.subtreeFlags & W) !== 0 || (R.flags & W) !== 0 + ? (Ol = 5) + : ((Ol = 0), (o8 = s2 = null), rWe(S, S.pendingLanes)), + (W = S.pendingLanes), + W === 0 && (GS = null), + U(F), + (R = R.stateNode), + K0 && typeof K0.onCommitFiberRoot == "function") + ) + try { + K0.onCommitFiberRoot( + fF, + R, + void 0, + (R.current.flags & 128) === 128, + ); + } catch {} + if (V !== null) { + ((R = Zr.T), (W = CA()), mp(2), (Zr.T = null)); + try { + for ( + var xe = S.onRecoverableError, We = 0; + We < V.length; + We++ + ) { + var St = V[We]; + xe(St.value, { componentStack: St.stack }); + } + } finally { + ((Zr.T = R), mp(W)); + } + } + if ( + ((V = qk), + (xe = Zk), + (Zk = null), + V !== null && + ((qk = null), xe === null && (xe = []), b !== null)) + ) + for (St = 0; St < V.length; St++) + ((R = (0, V[St])(xe)), R !== void 0 && f6n(b, R)); + ((Jv & 3) !== 0 && cF(), + ct(S), + (W = S.pendingLanes), + (F & 261930) !== 0 && (W & 42) !== 0 + ? S === UK + ? CF++ + : ((CF = 0), (UK = S)) + : ((CF = 0), (UK = null)), + uf && Z6n(), + Rt(0, !1)); + } + } + function rWe(b, S) { + (b.pooledCacheLanes &= S) === 0 && + ((S = b.pooledCache), + S != null && ((b.pooledCache = null), Pe(S))); + } + function cF() { + return ( + Gk !== null && (p6n(Gk), (Gk = null)), + A2e(), + w2e(), + S2e(), + C2e() + ); + } + function C2e() { + if (Ol !== 5) return !1; + var b = s2, + S = dve; + dve = 0; + var R = U(Jv), + F = 32 > R ? 32 : R; + R = Zr.T; + var V = CA(); + try { + (mp(F), (Zr.T = null), (F = pve), (pve = null)); + var W = s2, + xe = Jv; + if (((Ol = 0), (o8 = s2 = null), (Jv = 0), (Sa & 6) !== 0)) + throw Error(o(331)); + var We = Sa; + if ( + ((Sa |= 4), + VXe(W.current), + zXe(W, W.current, xe, F), + (Sa = We), + Rt(0, !1), + K0 && typeof K0.onPostCommitFiberRoot == "function") + ) + try { + K0.onPostCommitFiberRoot(fF, W); + } catch {} + return !0; + } finally { + (mp(V), (Zr.T = R), rWe(b, S)); + } + } + function oWe(b, S, R) { + ((S = j(R, S)), + (S = Hye(b.stateNode, S, 2)), + (b = Co(b, S, 2)), + b !== null && (T(b, 2), ct(b))); + } + function ci(b, S, R) { + if (b.tag === 3) oWe(b, b, R); + else + for (; S !== null;) { + if (S.tag === 3) { + oWe(S, b, R); + break; + } else if (S.tag === 1) { + var F = S.stateNode; + if ( + typeof S.type.getDerivedStateFromError == "function" || + (typeof F.componentDidCatch == "function" && + (GS === null || !GS.has(F))) + ) { + ((b = j(R, b)), + (R = JQe(2)), + (F = Co(S, R, 2)), + F !== null && (jQe(R, F, S, b), T(F, 2), ct(F))); + break; + } + } + S = S.return; + } + } + function E2e(b, S, R) { + var F = b.pingCache; + if (F === null) { + F = b.pingCache = new bCn(); + var V = new Set(); + F.set(S, V); + } else + ((V = F.get(S)), V === void 0 && ((V = new Set()), F.set(S, V))); + V.has(R) || + ((lve = !0), + V.add(R), + (b = a4n.bind(null, b, S, R)), + S.then(b, b)); + } + function a4n(b, S, R) { + var F = b.pingCache; + (F !== null && F.delete(S), + (b.pingedLanes |= b.suspendedLanes & R), + (b.warmLanes &= ~R), + ms === b && + (Ra & R) === R && + ((oc === 4 || + (oc === 3 && (Ra & 62914560) === Ra && 300 > Gh() - OK)) && + (Sa & 2) === 0 + ? Sk(b, 0) + : (cve |= R), + Vk === Ra && (Vk = 0)), + ct(b)); + } + function aWe(b, S) { + (S === 0 && (S = C()), + (b = qn(b, S)), + b !== null && (T(b, S), ct(b))); + } + function i4n(b) { + var S = b.memoizedState, + R = 0; + (S !== null && (R = S.retryLane), aWe(b, R)); + } + function s4n(b, S) { + var R = 0; + switch (b.tag) { + case 31: + case 13: + var { stateNode: F, memoizedState: V } = b; + V !== null && (R = V.retryLane); + break; + case 19: + F = b.stateNode; + break; + case 22: + F = b.stateNode._retryCache; + break; + default: + throw Error(o(314)); + } + (F !== null && F.delete(S), aWe(b, R)); + } + function l4n(b, S) { + return yK(b, S); + } + function c4n(b, S, R, F) { + ((this.tag = b), + (this.key = R), + (this.sibling = + this.child = + this.return = + this.stateNode = + this.type = + this.elementType = + null), + (this.index = 0), + (this.refCleanup = this.ref = null), + (this.pendingProps = S), + (this.dependencies = + this.memoizedState = + this.updateQueue = + this.memoizedProps = + null), + (this.mode = F), + (this.subtreeFlags = this.flags = 0), + (this.deletions = null), + (this.childLanes = this.lanes = 0), + (this.alternate = null)); + } + function I2e(b) { + return ((b = b.prototype), !(!b || !b.isReactComponent)); + } + function wA(b, S) { + var R = b.alternate; + return ( + R === null + ? ((R = n(b.tag, S, b.key, b.mode)), + (R.elementType = b.elementType), + (R.type = b.type), + (R.stateNode = b.stateNode), + (R.alternate = b), + (b.alternate = R)) + : ((R.pendingProps = S), + (R.type = b.type), + (R.flags = 0), + (R.subtreeFlags = 0), + (R.deletions = null)), + (R.flags = b.flags & 1206910976), + (R.childLanes = b.childLanes), + (R.lanes = b.lanes), + (R.child = b.child), + (R.memoizedProps = b.memoizedProps), + (R.memoizedState = b.memoizedState), + (R.updateQueue = b.updateQueue), + (S = b.dependencies), + (R.dependencies = + S === null + ? null + : { lanes: S.lanes, firstContext: S.firstContext }), + (R.sibling = b.sibling), + (R.index = b.index), + (R.ref = b.ref), + (R.refCleanup = b.refCleanup), + R + ); + } + function iWe(b, S) { + b.flags &= 1206910978; + var R = b.alternate; + return ( + R === null + ? ((b.childLanes = 0), + (b.lanes = S), + (b.child = null), + (b.subtreeFlags = 0), + (b.memoizedProps = null), + (b.memoizedState = null), + (b.updateQueue = null), + (b.dependencies = null), + (b.stateNode = null)) + : ((b.childLanes = R.childLanes), + (b.lanes = R.lanes), + (b.child = R.child), + (b.subtreeFlags = 0), + (b.deletions = null), + (b.memoizedProps = R.memoizedProps), + (b.memoizedState = R.memoizedState), + (b.updateQueue = R.updateQueue), + (b.type = R.type), + (S = R.dependencies), + (b.dependencies = + S === null + ? null + : { lanes: S.lanes, firstContext: S.firstContext })), + b + ); + } + function lK(b, S, R, F, V, W) { + var xe = 0; + if (((F = b), typeof F == "function")) I2e(F) && (xe = 1); + else if (typeof F == "string") + xe = + h1 && Ll + ? LWe(b, R, df.current) + ? 26 + : HWe(b) + ? 27 + : 5 + : h1 + ? LWe(b, R, df.current) + ? 26 + : 5 + : Ll && HWe(b) + ? 27 + : 5; + else + e: switch (F) { + case F2e: + return ( + (b = n(31, R, S, V)), + (b.elementType = F2e), + (b.lanes = W), + b + ); + case Ik: + return X5(R.children, V, W, S); + case fWe: + ((xe = 8), (V |= 24)); + break; + case M2e: + return ( + (b = n(12, R, S, V | 2)), + (b.elementType = M2e), + (b.lanes = W), + b + ); + case L2e: + return ( + (b = n(13, R, S, V)), + (b.elementType = L2e), + (b.lanes = W), + b + ); + case B2e: + return ( + (b = n(19, R, S, V)), + (b.elementType = B2e), + (b.lanes = W), + b + ); + case f4n: + case U2e: + return ( + (b = V | 32), + (b = n(30, R, S, b)), + (b.elementType = U2e), + (b.lanes = W), + (b.stateNode = { + autoName: null, + paired: null, + clones: null, + ref: null, + }), + b + ); + default: + if (typeof F == "object" && F !== null) + switch (F.$$typeof) { + case SA: + xe = 10; + break e; + case mWe: + xe = 9; + break e; + case D2e: + xe = 11; + break e; + case O2e: + xe = 14; + break e; + case OS: + ((xe = 16), (F = null)); + break e; + } + ((xe = 29), + (R = Error(o(130, b === null ? "null" : typeof b, ""))), + (F = null)); + } + return ( + (S = n(xe, R, S, V)), + (S.elementType = b), + (S.type = F), + (S.lanes = W), + S + ); + } + function X5(b, S, R, F) { + return ((b = n(7, b, F, S)), (b.lanes = R), b); + } + function T2e(b, S, R) { + return ((b = n(6, b, null, S)), (b.lanes = R), b); + } + function sWe(b) { + var S = n(18, null, null, 0); + return ((S.stateNode = b), S); + } + function k2e(b, S, R) { + return ( + (S = n(4, b.children !== null ? b.children : [], b.key, S)), + (S.lanes = R), + (S.stateNode = { + containerInfo: b.containerInfo, + pendingChildren: null, + implementation: b.implementation, + }), + S + ); + } + function u4n(b, S, R, F, V, W, xe, We, St) { + ((this.tag = 1), + (this.containerInfo = b), + (this.pingCache = this.current = this.pendingChildren = null), + (this.timeoutHandle = W5), + (this.callbackNode = + this.next = + this.pendingContext = + this.context = + this.cancelPendingCommit = + null), + (this.callbackPriority = 0), + (this.expirationTimes = E(-1)), + (this.entangledLanes = + this.shellSuspendCounter = + this.errorRecoveryDisabledLanes = + this.expiredLanes = + this.warmLanes = + this.pingedLanes = + this.suspendedLanes = + this.pendingLanes = + 0), + (this.entanglements = E(0)), + (this.hiddenUpdates = E(null)), + (this.identifierPrefix = F), + (this.onUncaughtError = V), + (this.onCaughtError = W), + (this.onRecoverableError = xe), + (this.pooledCache = null), + (this.pooledCacheLanes = 0), + (this.formState = St), + (this.transitionTypes = null), + (this.incompleteTransitions = new Map())); + } + function lWe(b, S, R, F, V, W, xe, We, St, Xt, sn, Fn) { + return ( + (b = new u4n(b, S, R, xe, St, Xt, sn, Fn, We)), + (S = 1), + W === !0 && (S |= 24), + (W = n(3, null, null, S)), + (b.current = W), + (W.stateNode = b), + (S = tt()), + S.refCount++, + (b.pooledCache = S), + S.refCount++, + (W.memoizedState = { element: F, isDehydrated: R, cache: S }), + Yr(W), + b + ); + } + function cWe(b) { + return b ? ((b = Pk), b) : Pk; + } + function uWe(b) { + var S = b._reactInternals; + if (S === void 0) + throw typeof b.render == "function" + ? Error(o(188)) + : ((b = Object.keys(b).join(",")), Error(o(268, b))); + return ( + (b = s(S)), + (b = b !== null ? l(b) : null), + b === null ? null : uF(b.stateNode) + ); + } + function dWe(b, S, R, F, V, W) { + ((V = cWe(V)), + F.context === null ? (F.context = V) : (F.pendingContext = V), + (F = Zo(S)), + (F.payload = { element: R }), + (W = W === void 0 ? null : W), + W !== null && (F.callback = W), + (R = Co(b, F, S)), + R !== null && (Vh(R, b, S), on(R, b, S))); + } + function pWe(b, S) { + if (((b = b.memoizedState), b !== null && b.dehydrated !== null)) { + var R = b.retryLane; + b.retryLane = R !== 0 && R < S ? R : S; + } + } + function R2e(b, S) { + (pWe(b, S), (b = b.alternate) && pWe(b, S)); + } + var wa = {}, + d4n = dgn.default, + W0 = Yf.default, + P2e = Object.assign, + p4n = Symbol.for("react.element"), + cK = Symbol.for("react.transitional.element"), + Ek = Symbol.for("react.portal"), + Ik = Symbol.for("react.fragment"), + fWe = Symbol.for("react.strict_mode"), + M2e = Symbol.for("react.profiler"), + mWe = Symbol.for("react.consumer"), + SA = Symbol.for("react.context"), + D2e = Symbol.for("react.forward_ref"), + L2e = Symbol.for("react.suspense"), + B2e = Symbol.for("react.suspense_list"), + O2e = Symbol.for("react.memo"), + OS = Symbol.for("react.lazy"), + F2e = Symbol.for("react.activity"), + f4n = Symbol.for("react.legacy_hidden"), + m4n = Symbol.for("react.memo_cache_sentinel"), + U2e = Symbol.for("react.view_transition"), + h4n = Symbol.for("react.recoverable"), + hWe = Symbol.iterator, + gWe = Symbol.for("react.optimistic_key"), + g4n = Symbol.for("react.client.reference"), + uK = Array.isArray, + Zr = + d4n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, + { + rendererVersion: y4n, + rendererPackageName: v4n, + extraDevToolsConfig: yWe, + getPublicInstance: uF, + getRootHostContext: b4n, + getChildHostContext: x4n, + prepareForCommit: A4n, + resetAfterCommit: w4n, + createInstance: S4n, + } = t; + t.cloneMutableInstance; + var { + appendInitialChild: N2e, + finalizeInitialChildren: vWe, + shouldSetTextContent: dK, + createTextInstance: bWe, + } = t; + t.cloneMutableTextInstance; + var { + scheduleTimeout: C4n, + cancelTimeout: E4n, + noTimeout: W5, + isPrimaryRenderer: qv, + } = t; + t.warnsIfNotActing; + var { + supportsMutation: Dl, + supportsPersistence: Zv, + supportsHydration: uf, + getInstanceFromNode: I4n, + } = t; + t.beforeActiveInstanceBlur; + var T4n = t.preparePortalMount; + (t.prepareScopeUpdate, t.getInstanceFromScope); + var { + setCurrentUpdatePriority: mp, + getCurrentUpdatePriority: CA, + resolveUpdatePriority: k4n, + } = t; + (t.trackSchedulerEvent, t.resolveEventType, t.resolveEventTimeStamp); + var { + shouldAttemptEagerTransition: R4n, + detachDeletedInstance: P4n, + } = t; + t.requestPostPaintCallback; + var { + maySuspendCommit: M4n, + maySuspendCommitOnUpdate: D4n, + maySuspendCommitInSyncRender: z2e, + preloadInstance: xWe, + startSuspendingCommit: L4n, + suspendInstance: AWe, + suspendOnActiveViewTransition: B4n, + waitForCommitToBeReady: O4n, + } = t; + t.getSuspendedCommitReason; + var { + NotPendingTransition: Tk, + HostTransitionContext: EA, + resetFormInstance: F4n, + } = t; + t.bindToConsole; + var { + supportsMicrotasks: U4n, + scheduleMicrotask: N4n, + supportsTestSelectors: dF, + findFiberRoot: z4n, + getBoundingRect: _4n, + getTextContent: H4n, + isHiddenSubtree: pF, + matchAccessibilityRole: V4n, + setFocusIfFocusable: G4n, + setupIntersectionObserver: q4n, + appendChild: Z4n, + appendChildToContainer: Q4n, + commitTextUpdate: X4n, + commitMount: W4n, + commitUpdate: Y4n, + insertBefore: K4n, + insertInContainerBefore: J4n, + removeChild: j4n, + removeChildFromContainer: $4n, + resetTextContent: wWe, + hideInstance: e6n, + hideTextInstance: t6n, + unhideInstance: n6n, + unhideTextInstance: r6n, + applyViewTransitionName: SWe, + restoreViewTransitionName: o6n, + cancelViewTransitionName: a6n, + cancelRootViewTransitionName: i6n, + restoreRootViewTransitionName: s6n, + } = t; + (t.cloneRootViewTransitionContainer, t.removeRootViewTransitionClone); + var { + measureInstance: _2e, + measureClonedInstance: l6n, + wasInstanceInViewport: pK, + hasInstanceChanged: c6n, + hasInstanceAffectedParent: u6n, + startViewTransition: d6n, + } = t; + t.startGestureTransition; + var { + stopViewTransition: p6n, + addViewTransitionFinishedListener: f6n, + } = t; + t.getCurrentGestureOffset; + var { + createViewTransitionInstance: CWe, + clearContainer: m6n, + createFragmentInstance: h6n, + updateFragmentInstanceFiber: g6n, + commitNewChildToFragmentInstance: EWe, + deleteChildFromFragmentInstance: y6n, + cloneInstance: v6n, + createContainerChildSet: IWe, + appendChildToContainerChildSet: TWe, + finalizeContainerChildren: b6n, + replaceContainerChildren: kWe, + cloneHiddenInstance: RWe, + cloneHiddenTextInstance: PWe, + isSuspenseInstancePending: H2e, + isSuspenseInstanceFallback: V2e, + getSuspenseInstanceFallbackErrorDetails: x6n, + registerSuspenseInstanceRetry: A6n, + canHydrateFormStateMarker: w6n, + isFormStateMarkerMatching: S6n, + getNextHydratableSibling: MWe, + getNextHydratableSiblingAfterSingleton: C6n, + getFirstHydratableChild: E6n, + getFirstHydratableChildWithinContainer: I6n, + getFirstHydratableChildWithinActivityInstance: T6n, + getFirstHydratableChildWithinSuspenseInstance: k6n, + getFirstHydratableChildWithinSingleton: R6n, + canHydrateInstance: P6n, + canHydrateTextInstance: M6n, + canHydrateActivityInstance: D6n, + canHydrateSuspenseInstance: L6n, + hydrateInstance: B6n, + hydrateTextInstance: O6n, + hydrateActivityInstance: F6n, + hydrateSuspenseInstance: U6n, + getNextHydratableInstanceAfterActivityInstance: N6n, + getNextHydratableInstanceAfterSuspenseInstance: z6n, + commitHydratedInstance: _6n, + commitHydratedContainer: H6n, + commitHydratedActivityInstance: V6n, + commitHydratedSuspenseInstance: G6n, + finalizeHydratedChildren: q6n, + flushHydrationEvents: Z6n, + } = t; + t.clearActivityBoundary; + var Q6n = t.clearSuspenseBoundary; + t.clearActivityBoundaryFromContainer; + var { + clearSuspenseBoundaryFromContainer: X6n, + hideDehydratedBoundary: W6n, + unhideDehydratedBoundary: Y6n, + shouldDeleteUnhydratedTailInstances: DWe, + } = t; + (t.diffHydratedPropsForDevWarnings, + t.diffHydratedTextForDevWarnings, + t.describeHydratableInstanceForDevWarnings); + var { + validateHydratableInstance: K6n, + validateHydratableTextInstance: J6n, + supportsResources: h1, + isHostHoistableType: LWe, + getHoistableRoot: fK, + getResource: BWe, + acquireResource: OWe, + releaseResource: FWe, + hydrateHoistable: j6n, + mountHoistable: G2e, + unmountHoistable: q2e, + createHoistableInstance: UWe, + prepareToCommitHoistables: $6n, + mayResourceSuspendCommit: eCn, + preloadResource: NWe, + suspendResource: tCn, + supportsSingletons: Ll, + resolveSingletonInstance: zWe, + acquireSingletonInstance: nCn, + releaseSingletonInstance: _We, + isHostSingletonType: HWe, + isSingletonScope: kk, + } = t, + Z2e = [], + Rk = -1, + Pk = {}, + Y0 = Math.clz32 ? Math.clz32 : g, + { log: rCn, LN2: oCn } = Math, + mK = 256, + hK = 262144, + gK = 4194304, + { + unstable_scheduleCallback: yK, + unstable_cancelCallback: Q2e, + unstable_shouldYield: aCn, + unstable_requestPaint: iCn, + unstable_now: Gh, + unstable_ImmediatePriority: VWe, + unstable_UserBlockingPriority: sCn, + unstable_NormalPriority: X2e, + unstable_IdlePriority: lCn, + log: cCn, + unstable_setDisableYieldValue: uCn, + } = W0, + fF = null, + K0 = null, + dCn = 0, + J0 = typeof Object.is == "function" ? Object.is : Z, + GWe = + typeof reportError == "function" + ? reportError + : function (b) { + if ( + typeof window == "object" && + typeof window.ErrorEvent == "function" + ) { + var S = new window.ErrorEvent("error", { + bubbles: !0, + cancelable: !0, + message: + typeof b == "object" && + b !== null && + typeof b.message == "string" + ? String(b.message) + : String(b), + error: b, + }); + if (!window.dispatchEvent(S)) return; + } else if ( + typeof process == "object" && + typeof process.emit == "function" + ) { + process.emit("uncaughtException", b); + return; + } + console.error(b); + }, + pCn = Object.prototype.hasOwnProperty, + W2e, + qWe, + Y2e = !1, + ZWe = new WeakMap(), + Mk = [], + Dk = 0, + vK = null, + mF = 0, + g1 = [], + y1 = 0, + FS = null, + Qv = 1, + Xv = "", + df = p(null), + hF = p(null), + US = p(null), + bK = p(null), + hp = null, + il = null, + na = !1, + NS = null, + v1 = !1, + K2e = Error(o(519)), + xK = p(null), + Y5 = null, + IA = null, + fCn = + typeof AbortController < "u" + ? AbortController + : function () { + var b = [], + S = (this.signal = { + aborted: !1, + addEventListener: function (R, F) { + b.push(F); + }, + }); + this.abort = function () { + ((S.aborted = !0), + b.forEach(function (R) { + return R(); + })); + }; + }, + { unstable_scheduleCallback: mCn, unstable_NormalPriority: hCn } = + W0, + Bl = { + $$typeof: SA, + Consumer: null, + Provider: null, + _currentValue: null, + _currentValue2: null, + _threadCount: 0, + }, + gF = null, + Lk = null, + Bk = null, + J2e = !1, + AK = !1, + j2e = !1, + K5 = 0, + yF = null, + $2e = 0, + J5 = 0, + Ok = null, + QWe = Zr.S; + Zr.S = function (b, S) { + if ( + ((JWe = Gh()), + typeof S == "object" && + S !== null && + typeof S.then == "function" && + _e(b, S), + gF !== null) + ) + for (var R = Lk; R !== null;) (Ke(R, gF), (R = R.next)); + if (((R = b.types), R != null)) { + for (var F = Lk; F !== null;) (Ke(F, R), (F = F.next)); + if (J5 !== 0) { + ((F = gF), F === null && (F = gF = [])); + for (var V = 0; V < R.length; V++) { + var W = R[V]; + F.indexOf(W) === -1 && F.push(W); + } + } + } + QWe !== null && QWe(b, S); + }; + var j5 = p(null), + Fk = Error(o(460)), + eve = Error(o(474)), + wK = Error(o(542)), + SK = { then: function () {} }, + $5 = null, + Uk = null, + vF = 0, + e8 = Nn(!0), + XWe = Nn(!1), + b1 = [], + Nk = 0, + tve = 0, + zS = !1, + nve = !1, + _S = p(null), + CK = p(0), + pf = p(null), + Km = null, + ff = p(0), + TA = 0, + Lo = null, + Ki = null, + hd = null, + EK = !1, + zk = !1, + t8 = !1, + IK = 0, + bF = 0, + _k = null, + gCn = 0, + TK = { + readContext: K, + use: ta, + useCallback: nr, + useContext: nr, + useEffect: nr, + useImperativeHandle: nr, + useLayoutEffect: nr, + useInsertionEffect: nr, + useMemo: nr, + useReducer: nr, + useRef: nr, + useState: nr, + useDebugValue: nr, + useDeferredValue: nr, + useTransition: nr, + useSyncExternalStore: nr, + useId: nr, + useHostTransitionStatus: nr, + useFormState: nr, + useActionState: nr, + useOptimistic: nr, + useMemoCache: nr, + useCacheRefresh: nr, + useEffectEvent: nr, + }, + WWe = { + readContext: K, + use: ta, + useCallback: function (b, S) { + return ((ea().memoizedState = [b, S === void 0 ? null : S]), b); + }, + useContext: K, + useEffect: gk, + useImperativeHandle: function (b, S, R) { + ((R = R != null ? R.concat([b]) : null), + G5(4194308, 4, ZY.bind(null, S, b), R)); + }, + useLayoutEffect: function (b, S) { + return G5(4194308, 4, b, S); + }, + useInsertionEffect: function (b, S) { + G5(4, 2, b, S); + }, + useMemo: function (b, S) { + var R = ea(); + S = S === void 0 ? null : S; + var F = b(); + if (t8) { + D(!0); + try { + b(); + } finally { + D(!1); + } + } + return ((R.memoizedState = [F, S]), F); + }, + useReducer: function (b, S, R) { + var F = ea(); + if (R !== void 0) { + var V = R(S); + if (t8) { + D(!0); + try { + R(S); + } finally { + D(!1); + } + } + } else V = S; + return ( + (F.memoizedState = F.baseState = V), + (b = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: b, + lastRenderedState: V, + }), + (F.queue = b), + (b = b.dispatch = GSn.bind(null, Lo, b)), + [F.memoizedState, b] + ); + }, + useRef: function (b) { + var S = ea(); + return ((b = { current: b }), (S.memoizedState = b)); + }, + useState: function (b) { + b = H5(b); + var S = b.queue, + R = ZQe.bind(null, Lo, S); + return ((S.dispatch = R), [b.memoizedState, R]); + }, + useDebugValue: Ym, + useDeferredValue: function (b, S) { + var R = ea(); + return yk(R, b, S); + }, + useTransition: function () { + var b = H5(!1); + return ( + (b = HQe.bind(null, Lo, b.queue, !0, !1)), + (ea().memoizedState = b), + [!1, b] + ); + }, + useSyncExternalStore: function (b, S, R) { + var F = Lo, + V = ea(); + if (na) { + if (R === void 0) throw Error(o(407)); + R = R(); + } else { + if (((R = S()), ms === null)) throw Error(o(349)); + (Ra & 127) !== 0 || Qs(F, S, R); + } + V.memoizedState = R; + var W = { value: R, getSnapshot: S }; + return ( + (V.queue = W), + gk(xA.bind(null, F, W, b), [b]), + (F.flags |= 2048), + zv(9, { destroy: void 0 }, TS.bind(null, F, W, R, S), null), + R + ); + }, + useId: function () { + var b = ea(), + S = ms.identifierPrefix; + if (na) { + var R = Xv, + F = Qv; + ((R = (F & ~(1 << (32 - Y0(F) - 1))).toString(32) + R), + (S = "_" + S + "R_" + R), + (R = IK++), + 0 < R && (S += "H" + R.toString(32)), + (S += "_")); + } else + ((R = gCn++), (S = "_" + S + "r_" + R.toString(32) + "_")); + return (b.memoizedState = S); + }, + useHostTransitionStatus: Nye, + useFormState: kS, + useActionState: kS, + useOptimistic: function (b) { + var S = ea(); + S.memoizedState = S.baseState = b; + var R = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: null, + lastRenderedState: null, + }; + return ( + (S.queue = R), + (S = zye.bind(null, Lo, !0, R)), + (R.dispatch = S), + [b, S] + ); + }, + useMemoCache: rc, + useCacheRefresh: function () { + return (ea().memoizedState = VSn.bind(null, Lo)); + }, + useEffectEvent: function (b) { + var S = ea(), + R = { impl: b }; + return ( + (S.memoizedState = R), + function () { + if ((Sa & 2) !== 0) throw Error(o(440)); + return R.impl.apply(void 0, arguments); + } + ); + }, + }, + YWe = { + readContext: K, + use: ta, + useCallback: sf, + useContext: K, + useEffect: of, + useImperativeHandle: af, + useInsertionEffect: Z5, + useLayoutEffect: eF, + useMemo: r2, + useReducer: al, + useRef: PS, + useState: function () { + return al(ro); + }, + useDebugValue: Ym, + useDeferredValue: function (b, S) { + var R = no(); + return _Qe(R, Ki.memoizedState, b, S); + }, + useTransition: function () { + var b = al(ro)[0], + S = no().memoizedState; + return [typeof b == "boolean" ? b : ho(b), S]; + }, + useSyncExternalStore: Z0, + useId: GQe, + useHostTransitionStatus: Nye, + useFormState: RS, + useActionState: RS, + useOptimistic: function (b, S) { + var R = no(); + return YO(R, Ki, b, S); + }, + useMemoCache: rc, + useCacheRefresh: qQe, + useEffectEvent: q5, + }, + yCn = { + readContext: K, + use: ta, + useCallback: sf, + useContext: K, + useEffect: of, + useImperativeHandle: af, + useInsertionEffect: Z5, + useLayoutEffect: eF, + useMemo: r2, + useReducer: Ha, + useRef: PS, + useState: function () { + return Ha(ro); + }, + useDebugValue: Ym, + useDeferredValue: function (b, S) { + var R = no(); + return Ki === null + ? yk(R, b, S) + : _Qe(R, Ki.memoizedState, b, S); + }, + useTransition: function () { + var b = Ha(ro)[0], + S = no().memoizedState; + return [typeof b == "boolean" ? b : ho(b), S]; + }, + useSyncExternalStore: Z0, + useId: GQe, + useHostTransitionStatus: Nye, + useFormState: hk, + useActionState: hk, + useOptimistic: function (b, S) { + var R = no(); + return Ki !== null + ? YO(R, Ki, b, S) + : ((R.baseState = b), [b, R.queue.dispatch]); + }, + useMemoCache: rc, + useCacheRefresh: qQe, + useEffectEvent: q5, + }, + rve = { + enqueueSetState: function (b, S, R) { + b = b._reactInternals; + var F = X0(), + V = Zo(F); + ((V.payload = S), + R != null && (V.callback = R), + (S = Co(b, V, F)), + S !== null && (Vh(S, b, F), on(S, b, F))); + }, + enqueueReplaceState: function (b, S, R) { + b = b._reactInternals; + var F = X0(), + V = Zo(F); + ((V.tag = 1), + (V.payload = S), + R != null && (V.callback = R), + (S = Co(b, V, F)), + S !== null && (Vh(S, b, F), on(S, b, F))); + }, + enqueueForceUpdate: function (b, S) { + b = b._reactInternals; + var R = X0(), + F = Zo(R); + ((F.tag = 2), + S != null && (F.callback = S), + (S = Co(b, F, R)), + S !== null && (Vh(S, b, R), on(S, b, R))); + }, + }, + ove = Error(o(461)), + gd = !1, + ave = { + dehydrated: null, + treeContext: null, + retryLane: 0, + hydrationErrors: null, + }, + em = !1, + kK = !1, + j0 = null, + Wv = null, + qh = 0, + gp = !1, + Mi = !1, + Yv = !1, + ive = !1, + KWe = typeof WeakSet == "function" ? WeakSet : Set, + yp = null, + Kv = !1, + xF = !1, + RK = !1, + sve = !1, + yd = null, + Zh = !1, + i2 = null, + n8 = 8192, + vCn = { + getCacheForType: function (b) { + var S = K(Bl), + R = S.data.get(b); + return (R === void 0 && ((R = b()), S.data.set(b, R)), R); + }, + cacheSignal: function () { + return K(Bl).controller.signal; + }, + }, + PK = 0, + MK = 1, + DK = 2, + LK = 3, + BK = 4; + if (typeof Symbol == "function" && Symbol.for) { + var AF = Symbol.for; + ((PK = AF("selector.component")), + (MK = AF("selector.has_pseudo_class")), + (DK = AF("selector.role")), + (LK = AF("selector.test_id")), + (BK = AF("selector.text"))); + } + var bCn = typeof WeakMap == "function" ? WeakMap : Map, + Sa = 0, + ms = null, + Ca = null, + Ra = 0, + _i = 0, + $0 = null, + HS = !1, + Hk = !1, + lve = !1, + kA = 0, + oc = 0, + VS = 0, + r8 = 0, + cve = 0, + eg = 0, + Vk = 0, + wF = null, + Qh = null, + uve = !1, + OK = 0, + JWe = 0, + SF = 1 / 0, + FK = null, + GS = null, + Ol = 0, + s2 = null, + o8 = null, + Jv = 0, + dve = 0, + pve = null, + jWe = null, + Gk = null, + qk = null, + Zk = null, + CF = 0, + UK = null; + return ( + (wa.attemptContinuousHydration = function (b) { + if (b.tag === 13 || b.tag === 31) { + var S = qn(b, 67108864); + (S !== null && Vh(S, b, 67108864), R2e(b, 67108864)); + } + }), + (wa.attemptHydrationAtCurrentPriority = function (b) { + if (b.tag === 13 || b.tag === 31) { + var S = X0(); + S = B(S); + var R = qn(b, S); + (R !== null && Vh(R, b, S), R2e(b, S)); + } + }), + (wa.attemptSynchronousHydration = function (b) { + switch (b.tag) { + case 3: + if ( + ((b = b.stateNode), b.current.memoizedState.isDehydrated) + ) { + var S = v(b.pendingLanes); + if (S !== 0) { + for (b.pendingLanes |= 2, b.entangledLanes |= 2; S;) { + var R = 1 << (31 - Y0(S)); + ((b.entanglements[1] |= R), (S &= ~R)); + } + (ct(b), (Sa & 6) === 0 && ((SF = Gh() + 500), Rt(0, !1))); + } + } + break; + case 31: + case 13: + ((S = qn(b, 2)), S !== null && Vh(S, b, 2), WXe(), R2e(b, 2)); + } + }), + (wa.batchedUpdates = function (b, S) { + return b(S); + }), + (wa.createComponentSelector = function (b) { + return { $$typeof: PK, value: b }; + }), + (wa.createContainer = function (b, S, R, F, V, W, xe, We, St, Xt) { + return lWe(b, S, !1, null, R, F, W, null, xe, We, St, Xt); + }), + (wa.createHasPseudoClassSelector = function (b) { + return { $$typeof: MK, value: b }; + }), + (wa.createHydrationContainer = function ( + b, + S, + R, + F, + V, + W, + xe, + We, + St, + Xt, + sn, + Fn, + jn, + ca, + ) { + var ei; + return ( + (b = lWe(R, F, !0, b, V, W, We, ca, St, Xt, sn, Fn)), + (b.context = cWe(null)), + (R = b.current), + (F = X0()), + (F = B(F)), + (V = Zo(F)), + (V.callback = (ei = S) != null ? ei : null), + Co(R, V, F), + (S = F), + (b.current.lanes = S), + T(b, S), + ct(b), + b + ); + }), + (wa.createPortal = function (b, S, R) { + var F = + 3 < arguments.length && arguments[3] !== void 0 + ? arguments[3] + : null; + return { + $$typeof: Ek, + key: F == null ? null : F === gWe ? gWe : "" + F, + children: b, + containerInfo: S, + implementation: R, + }; + }), + (wa.createRoleSelector = function (b) { + return { $$typeof: DK, value: b }; + }), + (wa.createTestNameSelector = function (b) { + return { $$typeof: LK, value: b }; + }), + (wa.createTextSelector = function (b) { + return { $$typeof: BK, value: b }; + }), + (wa.defaultOnCaughtError = function (b) { + console.error(b); + }), + (wa.defaultOnRecoverableError = function (b) { + GWe(b); + }), + (wa.defaultOnUncaughtError = function (b) { + GWe(b); + }), + (wa.deferredUpdates = function (b) { + var S = Zr.T, + R = CA(); + try { + return (mp(32), (Zr.T = null), b()); + } finally { + (mp(R), (Zr.T = S)); + } + }), + (wa.discreteUpdates = function (b, S, R, F, V) { + var W = Zr.T, + xe = CA(); + try { + return (mp(2), (Zr.T = null), b(S, R, F, V)); + } finally { + (mp(xe), (Zr.T = W), Sa === 0 && (SF = Gh() + 500)); + } + }), + (wa.findAllNodes = v2e), + (wa.findBoundingRects = function (b, S) { + if (!dF) throw Error(o(363)); + ((S = v2e(b, S)), (b = [])); + for (var R = 0; R < S.length; R++) b.push(_4n(S[R])); + for (S = b.length - 1; 0 < S; S--) { + R = b[S]; + for ( + var F = R.x, + V = F + R.width, + W = R.y, + xe = W + R.height, + We = S - 1; + 0 <= We; + We-- + ) + if (S !== We) { + var St = b[We], + Xt = St.x, + sn = Xt + St.width, + Fn = St.y, + jn = Fn + St.height; + if (F >= Xt && W >= Fn && V <= sn && xe <= jn) { + b.splice(S, 1); + break; + } else if ( + F !== Xt || + R.width !== St.width || + jn < W || + Fn > xe + ) { + if (!( + W !== Fn || + R.height !== St.height || + sn < F || + Xt > V + )) { + (Xt > F && ((St.width += Xt - F), (St.x = F)), + sn < V && (St.width = V - Xt), + b.splice(S, 1)); + break; + } + } else { + (Fn > W && ((St.height += Fn - W), (St.y = W)), + jn < xe && (St.height = xe - Fn), + b.splice(S, 1)); + break; + } + } + } + return b; + }), + (wa.findHostInstance = uWe), + (wa.findHostInstanceWithNoPortals = function (b) { + return ( + (b = s(b)), + (b = b !== null ? c(b) : null), + b === null ? null : uF(b.stateNode) + ); + }), + (wa.findHostInstanceWithWarning = function (b) { + return uWe(b); + }), + (wa.flushPassiveEffects = cF), + (wa.flushSyncFromReconciler = function (b) { + var S = Sa; + Sa |= 1; + var R = Zr.T, + F = CA(); + try { + if ((mp(2), (Zr.T = null), b)) return b(); + } finally { + (mp(F), (Zr.T = R), (Sa = S), (Sa & 6) === 0 && Rt(0, !1)); + } + }), + (wa.flushSyncWork = WXe), + (wa.focusWithin = function (b, S) { + if (!dF) throw Error(o(363)); + for ( + b = h2e(b), S = qXe(b, S), S = Array.from(S), b = 0; + b < S.length; + ) { + var R = S[b++], + F = R.tag; + if (!pF(R)) { + if ((F === 5 || F === 26 || F === 27) && G4n(R.stateNode)) + return !0; + for (R = R.child; R !== null;) (S.push(R), (R = R.sibling)); + } + } + return !1; + }), + (wa.getFindAllNodesFailureDescription = function (b, S) { + if (!dF) throw Error(o(363)); + var R = 0, + F = []; + b = [h2e(b), 0]; + for (var V = 0; V < b.length;) { + var W = b[V++], + xe = W.tag, + We = b[V++], + St = S[We]; + if ( + ((xe !== 5 && xe !== 26 && xe !== 27) || !pF(W)) && + (g2e(W, St) && (F.push(y2e(St)), We++, We > R && (R = We)), + We < S.length) + ) + for (W = W.child; W !== null;) + (b.push(W, We), (W = W.sibling)); + } + if (R < S.length) { + for (b = []; R < S.length; R++) b.push(y2e(S[R])); + return ( + `findAllNodes was able to match part of the selector: + ` + + (F.join(" > ") + + ` No matching component was found for: - `)+b.join(" > ")}return null},wa.getPublicRootInstance=function(b){if(b=b.current,!b.child)return null;switch(b.child.tag){case 27:case 5:return uF(b.child.stateNode);default:return b.child.stateNode}},wa.injectIntoDevTools=function(){var b={bundleType:0,version:y4n,rendererPackageName:v4n,currentDispatcherRef:Zr,reconcilerVersion:"19.3.0"};if(yWe!==null&&(b.rendererConfig=yWe),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")b=!1;else{var S=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(S.isDisabled||!S.supportsFiber)b=!0;else{try{fF=S.inject(b),K0=S}catch{}b=!!S.checkDCE}}return b},wa.isAlreadyRendering=function(){return(Sa&6)!==0},wa.observeVisibleRects=function(b,S,R,F){if(!dF)throw Error(o(363));b=v2e(b,S);var V=q4n(b,R,F).disconnect;return{disconnect:function(){V()}}},wa.shouldError=function(){return null},wa.shouldSuspend=function(){return!1},wa.startHostTransition=function(b,S,R,F){if(b.tag!==5)throw Error(o(476));var V=VQe(b).queue;HQe(b,V,S,Tk,R===null?r:function(){var W=VQe(b);return W.next===null&&(W=b.alternate.memoizedState),tF(b,W.next.queue,{},X0()),R(F)})},wa.updateContainer=function(b,S,R,F){var V=S.current,W=X0();return dWe(V,W,b,S,R,F),W},wa.updateContainerSync=function(b,S,R,F){return dWe(S.current,2,b,S,R,F),2},wa},e.exports.default=e.exports,Object.defineProperty(e.exports,"__esModule",{value:!0})}(OVe)),OVe.exports}function nFr(){return sgn||(sgn=1,agn.exports=eFr()),agn.exports}function aFr(e){let t=oFr(e);return t.injectIntoDevTools(),t}function XVe(e){if(lFr(e)){let t=`${sFr++}`;return sO[t]=e,t}else Object.assign(sO,e)}function Ign(e,t){let n=Hge(e),r=sO[n];if(e!=="primitive"&&!r)throw Error(`R3F: ${n} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(e==="primitive"&&!t.object)throw Error("R3F: Primitives without 'object' are invalid!");if(t.args!==void 0&&!Array.isArray(t.args))throw Error("R3F: The args prop must be an array!")}function cFr(e,t,n){var r;if(e=Hge(e)in sO?e:e.replace(iFr,""),Ign(e,t),e==="primitive"&&(r=t.object)!=null&&r.__r3f)delete t.object.__r3f;return Fge(t.object,n,e,t)}function uFr(e){if(!e.isHidden){var t;if(e.props.attach&&(t=e.parent)!=null&&t.object)Nge(e.parent,e);else if(Bh(e.object))e.previousVisible=e.object.visible,e.object.visible=!1;e.isHidden=!0,lO(e)}}function Tgn(e){if(e.isHidden){var t;if(e.props.attach&&(t=e.parent)!=null&&t.object)Uge(e.parent,e);else if(Bh(e.object)){var n;e.object.visible=(n=e.previousVisible)!=null?n:!0}e.previousVisible=void 0,e.isHidden=!1,lO(e)}}function WVe(e,t,n){let r=t.root.getState();if(!e.parent&&e.object!==r.scene)return;if(!t.object){var o,a;let i=sO[Hge(t.type)];t.object=(o=t.props.object)!=null?o:new i(...(a=t.props.args)!=null?a:[]),t.object.__r3f=t}if(x5(t.object,t.props),t.props.attach)Uge(e,t);else if(Bh(t.object)&&Bh(e.object)){let i=e.object.children.indexOf(n==null?void 0:n.object);if(n&&i!==-1){let s=e.object.children.indexOf(t.object);if(s!==-1){e.object.children.splice(s,1);let l=s{try{e.dispose()}catch{}};if(typeof IS_REACT_ACT_ENVIRONMENT<"u")t();else Yf.unstable_scheduleCallback(Yf.unstable_IdlePriority,t)}}function FVe(e,t,n){if(!t)return;t.parent=null;let r=e.children.indexOf(t);if(r!==-1)e.children.splice(r,1);if(t.props.attach)Nge(e,t);else if(Bh(t.object)&&Bh(e.object))e.object.remove(t.object),_Or(zVe(t),t.object);let o=t.props.dispose!==null&&n!==!1;for(let a=t.children.length-1;a>=0;a--){let i=t.children[a];FVe(t,i,o)}if(t.children.length=0,delete t.object.__r3f,o&&t.type!=="primitive"&&t.object.type!=="Scene")kgn(t.object);if(n===void 0)lO(t)}function dFr(e,t){for(let n of[e,e.alternate])if(n!==null){if(typeof n.ref==="function"){n.refCleanup==null||n.refCleanup();let r=n.ref(t);if(typeof r==="function")n.refCleanup=r}else if(n.ref)n.ref.current=t}}function pFr(){if(kW.length===0)return;try{fFr()}finally{kW.length=0}}function fFr(){for(let[n]of kW){let r=n.parent;if(r){if(n.props.attach)Nge(r,n);else if(Bh(n.object)&&Bh(r.object))r.object.remove(n.object);for(let o of n.children)if(o.props.attach)Nge(n,o);else if(Bh(o.object)&&Bh(n.object))n.object.remove(o.object)}if(n.isHidden)Tgn(n);if(n.object.__r3f)delete n.object.__r3f;if(n.type!=="primitive")kgn(n.object)}for(let[n,r,o]of kW){n.props=r;let a=n.parent;if(a){var e,t;let i=sO[Hge(n.type)],s=n.object;if(n.object=(e=n.props.object)!=null?e:new i(...(t=n.props.args)!=null?t:[]),n.object.__r3f=n,dFr(o,n.object),zOr(zVe(n),s,n.object),x5(n.object,n.props),n.props.attach)Uge(a,n);else if(Bh(n.object)&&Bh(a.object))a.object.add(n.object);for(let l of n.children)if(l.props.attach)Uge(n,l);else if(Bh(l.object)&&Bh(n.object))n.object.add(l.object);lO(n)}}}function mFr(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return ogn;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return rgn;case"message":switch(Yf.unstable_getCurrentPriorityLevel()){case Yf.unstable_ImmediatePriority:return ogn;case Yf.unstable_UserBlockingPriority:return rgn;case Yf.unstable_NormalPriority:case Yf.unstable_LowPriority:return Bge;case Yf.unstable_IdlePriority:return qOr;default:return Bge}default:return Bge}}function hFr(e){if(typeof queueMicrotask==="function")queueMicrotask(e);else if(typeof Promise<"u")Promise.resolve().then(e).catch((t)=>{setTimeout(()=>{throw t})});else setTimeout(e)}function zge(e,t){let n=e.state;switch(t.type){case"use":if(n.status==="disposed")return!1;return e.state={status:"open"},!0;case"unmount":if(n.status==="disposed")return!1;return e.state={status:"closing",token:t.token},!0;case"dispose":if(n.status!=="closing"||n.token!==t.token)return!1;return e.state={status:"disposed"},!0}}function YVe(e){let t=lS.get(e),n=t==null?void 0:t.fiber,r=t==null?void 0:t.store;if(t)console.warn("R3F.createRoot should only be called once!");let o=typeof reportError==="function"?reportError:console.error,a=r||HOr(Vge,KVe),i=n||N7.createContainer(a,GOr,null,!1,null,"",o,o,o,null),s=t||{fiber:i,store:a,state:{status:"open"},ready:YOr(void 0),configuration:{},ownsRenderer:!1};if(!t)lS.set(e,s);let l=!1;return{get ready(){return s.ready},configure(c={}){if(!zge(s,{type:"use"}))return KOr(Error("R3F: Cannot configure a root after disposal has started."));let u=s.ready,{promise:d,resolve:p,reject:f}=JOr();s.ready=d;let m=(v)=>{let y=a.getState();if(!y.gl)s.ownsRenderer=!HVe(c.gl),y.set({gl:v});WOr(s,e,c),p(this)},g=()=>{try{var v;let y=(v=a.getState().gl)!=null?v:QOr(e,c.gl);if(QVe(y))Promise.resolve(y).then(m).catch(f);else m(y)}catch(y){f(y)}};if(u.status==="pending")u.then(g,f);else g();return d},render(c){if(!zge(s,{type:"use"}))return a;if(!a.getState().gl&&s.ready.status==="fulfilled")this.configure();if(s.ready.status==="rejected")throw s.ready.reason;let u=()=>{var d;if(s.state.status!=="open"||s.ready.status==="rejected")return;if(s.ready.status==="pending"){s.ready.then(u,o);return}let p=(d=s.configuration.previous)==null?void 0:d.onCreated,f=h(gFr,{store:a,children:c,onCreated:p,rootElement:e});if(l){N7.updateContainer(f,i,null,Oge);return}l=!0,N7.updateContainerSync(f,i,null,Oge),N7.flushSyncWork()};return u(),a},unmount(){if(lS.get(e)===s)Rgn(e)}}}function gFr({store:e,children:t,onCreated:n,rootElement:r}){return z7(()=>{let o=e.getState();if(o.set((a)=>({internal:{...a.internal,active:!0}})),n)n(o);if(!e.getState().events.connected)o.events.connect==null||o.events.connect(r)},[]),h(VVe.Provider,{value:e,children:t})}function yFr(e){if((e.hasInitialized==null?void 0:e.hasInitialized())===!1)return;let t=sS(()=>{var n;return e.dispose?e.dispose():(n=e.renderLists)==null?void 0:n.dispose==null?void 0:n.dispose()});if(QVe(t))return Promise.resolve(t).catch((n)=>console.warn("[R3F] Error disposing renderer",n)).then(()=>sS(()=>e.forceContextLoss==null?void 0:e.forceContextLoss()));sS(()=>e.forceContextLoss==null?void 0:e.forceContextLoss())}function sS(e){try{return e()}catch(t){console.warn("[R3F] Error while unmounting root; teardown may be incomplete:",t)}}function Rgn(e,t){let n=lS.get(e),r=Symbol("unmount");if(!n||!zge(n,{type:"unmount",token:r}))return;let o=()=>{var a;if(n.ready.status==="pending"){n.ready.then(o,o);return}if(!zge(n,{type:"dispose",token:r}))return;lS.delete(e);let i=n.store.getState();if(i.internal.active=!1,sS(()=>i.events.disconnect==null?void 0:i.events.disconnect()),(a=i.gl)!=null&&a.xr)sS(()=>i.xr.disconnect());if(i.scene)sS(()=>xgn(i.scene));let s=i.gl,l=void 0;if(s&&n.ownsRenderer)l=sS(()=>yFr(s));else if(s)sS(()=>{var c;return(c=s.renderLists)==null?void 0:c.dispose==null?void 0:c.dispose()}),sS(()=>s.forceContextLoss==null?void 0:s.forceContextLoss());if(QVe(l))l.then(()=>t==null?void 0:t(e));else t==null||t(e)};N7.updateContainer(null,n.fiber,null,()=>{if(n.state.status!=="closing"||n.state.token!==r)return;N7.updateContainer(null,n.fiber,null,o)})}function kVe(e,t){if(!e.size)return;for(let{callback:n}of e.values())n(t)}function iO(e,t){switch(e){case"before":return kVe(vFr,t);case"after":return kVe(bFr,t);case"tail":return kVe(xFr,t)}}function UVe(e,t,n){let r=t.clock.getDelta();if(t.frameloop==="never"&&typeof e==="number")r=e-t.clock.elapsedTime,t.clock.oldTime=t.clock.elapsedTime,t.clock.elapsedTime=e;RVe=t.internal.subscribers;for(let o=0;o0)&&!((t=aO.gl.xr)!=null&&t.isPresenting))MVe+=UVe(e,aO)}if(NVe=!1,iO("after",e),MVe===0)return iO("tail",e),_ge=!1,cancelAnimationFrame(ugn)}function Vge(e,t=1){var n;if(!e)return lS.forEach((r)=>Vge(r.store.getState(),t));if((n=e.gl.xr)!=null&&n.isPresenting||!e.internal.active||e.frameloop==="never")return;if(t>1)e.internal.frames=Math.min(60,e.internal.frames+t);else if(NVe)e.internal.frames=2;else e.internal.frames=1;if(!_ge)_ge=!0,requestAnimationFrame(Pgn)}function KVe(e,t=!0,n,r){if(t)iO("before",e);if(!n)for(let o of lS.values())UVe(e,o.store.getState());else UVe(e,n,r);if(t)iO("after",e)}function JVe(e){let{handlePointer:t}=Sgn(e);return{priority:1,enabled:!0,compute(n,r,o){r.pointer.set(n.offsetX/r.size.width*2-1,-(n.offsetY/r.size.height)*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)},connected:void 0,handlers:Object.keys(DVe).reduce((n,r)=>({...n,[r]:t(r)}),{}),update:()=>{var n;let{events:r,internal:o}=e.getState();if((n=o.lastEvent)!=null&&n.current&&r.handlers)r.handlers.onPointerMove(o.lastEvent.current)},connect:(n)=>{let{set:r,events:o}=e.getState();if(o.disconnect==null||o.disconnect(),r((a)=>({events:{...a.events,connected:n}})),o.handlers)for(let a in o.handlers){let i=o.handlers[a],[s,l]=DVe[a];n.addEventListener(s,i,{passive:l})}},disconnect:()=>{let{set:n,events:r}=e.getState();if(r.connected){if(r.handlers)for(let o in r.handlers){let a=r.handlers[o],[i]=DVe[o];r.connected.removeEventListener(i,a)}n((o)=>({events:{...o.events,connected:void 0}}))}}}}var za,dgn,Yf,POr,pgn=(e)=>e&&e.isOrthographicCamera,fgn=(e)=>e&&e.hasOwnProperty("current"),MOr=(e)=>e!=null&&(typeof e==="string"||typeof e==="number"||e.isColor),z7,Oge=()=>{},LOr,ygn,dd,Agn,egn,BVe,tgn,FOr,UOr,Bh=(e)=>e==null?void 0:e.isObject3D,HVe=(e)=>!!(e!=null&&e.render),VVe,HOr=(e,t)=>{let n=G0n((s,l)=>{let c=new he,u=new he,d=new he;function p(y=l().camera,x=u,A=l().size){let{width:w,height:C,top:E,left:T}=A,I=w/C;if(x.isVector3)d.copy(x);else d.set(...x);let k=y.getWorldPosition(c).distanceTo(d);if(pgn(y))return{width:w/y.zoom,height:C/y.zoom,top:E,left:T,factor:1,distance:k,aspect:I};else{let L=y.fov*Math.PI/180,O=2*Math.tan(L/2)*k,B=O*(w/C);return{width:B,height:O,top:E,left:T,factor:w/B,distance:k,aspect:I}}}let f=void 0,m=(y)=>s((x)=>({performance:{...x.performance,current:y}})),g=new vt;return{set:s,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},scene:null,xr:null,invalidate:(y=1)=>e(l(),y),advance:(y,x)=>t(y,x,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new vW,pointer:g,mouse:g,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:0.5,max:1,debounce:200,regress:()=>{let y=l();if(f)clearTimeout(f);if(y.performance.current!==y.performance.min)m(y.performance.min);f=setTimeout(()=>m(l().performance.max),y.performance.debounce)}},size:{width:0,height:0,top:0,left:0},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:p},setEvents:(y)=>s((x)=>({...x,events:{...x.events,...y}})),setSize:(y,x,A=0,w=0)=>{let C=l().camera,E={width:y,height:x,top:A,left:w};s((T)=>({size:E,viewport:{...T.viewport,...p(C,u,E)}}))},setDpr:(y)=>s((x)=>{let A=vgn(y);return{viewport:{...x.viewport,dpr:A,initialDpr:x.viewport.initialDpr||A}}}),setFrameloop:(y="always")=>{let x=l().clock;if(x.stop(),x.elapsedTime=0,y!=="never")x.start(),x.elapsedTime=0;s(()=>({frameloop:y}))},previousRoot:void 0,internal:{interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,lastEvent:za.createRef(),active:!1,frames:0,priority:0,subscribe:(y,x,A)=>{let w=l().internal;return w.priority=w.priority+(x>0?1:0),w.subscribers.push({ref:y,priority:x,store:A}),w.subscribers=w.subscribers.sort((C,E)=>C.priority-E.priority),()=>{let C=l().internal;if(C!=null&&C.subscribers)C.priority=C.priority-(x>0?1:0),C.subscribers=C.subscribers.filter((E)=>E.ref!==y)}}}}}),r=n.getState(),o=r.size,a=r.viewport.dpr,i=r.camera;return n.subscribe(()=>{let{camera:s,size:l,viewport:c,gl:u,set:d}=n.getState();if(l.width!==o.width||l.height!==o.height||c.dpr!==a){if(o=l,a=c.dpr,NOr(s,l),c.dpr>0)u.setPixelRatio(c.dpr);let p=typeof HTMLCanvasElement<"u"&&u.domElement instanceof HTMLCanvasElement;u.setSize(l.width,l.height,p)}if(s!==i)i=s,d((p)=>({viewport:{...p.viewport,...p.viewport.getCurrentViewport(s)}}))}),n.subscribe((s)=>e(s)),n},ngn,VOr=(e)=>{var t;return typeof e==="function"&&(e==null?void 0:(t=e.prototype)==null?void 0:t.constructor)===e},GOr=1,rgn=8,Bge=32,ogn=2,qOr=268435456,ZOr,QVe=(e)=>typeof(e==null?void 0:e.then)==="function",YOr=(e)=>Object.assign(Promise.resolve(e),{status:"fulfilled",value:e}),KOr=(e)=>{let t=Promise.reject(e);return t.catch(()=>{}),Object.assign(t,{status:"rejected",reason:e})},JOr=()=>{let e,t,n=new Promise((r,o)=>{e=(a)=>{Object.assign(n,{status:"fulfilled",value:a}),r(a)},t=(a)=>{Object.assign(n,{status:"rejected",reason:a}),o(a)}});return n.status="pending",n.catch(()=>{}),{promise:n,resolve:e,reject:t}},jOr,agn,OVe,ign,tFr,sgn,rFr,oFr,Egn=0,sO,iFr,Hge=(e)=>`${e[0].toUpperCase()}${e.slice(1)}`,sFr=0,lFr=(e)=>typeof e==="function",kW,TVe=()=>{},cgn,Lge,N7,lS,vFr,bFr,xFr,RVe,PVe,_ge=!1,NVe=!1,MVe,ugn,aO,DVe;var jVe=P(()=>{O7();le();q0n();K0n();EVe();za=z(re()),dgn=z(re()),Yf=z(ZK());POr=za.act,z7=((e,t)=>typeof window<"u"&&(((e=window.document)==null?void 0:e.createElement)||((t=window.navigator)==null?void 0:t.product)==="ReactNative"))()?za.useLayoutEffect:za.useEffect;LOr=za.Activity?$0n:()=>za.Fragment;ygn=((e)=>(e=class extends za.Component{constructor(...n){super(...n);this.state={error:!1}}componentDidCatch(n){this.props.set(n)}render(){return this.state.error?null:this.props.children}},e.getDerivedStateFromError=()=>({error:!0}),e))();dd={obj:(e)=>e===Object(e)&&!dd.arr(e)&&typeof e!=="function",fun:(e)=>typeof e==="function",str:(e)=>typeof e==="string",num:(e)=>typeof e==="number",boo:(e)=>typeof e==="boolean",und:(e)=>e===void 0,nul:(e)=>e===null,arr:(e)=>Array.isArray(e),equ(e,t,{arrays:n="shallow",objects:r="reference",strict:o=!0}={}){if(typeof e!==typeof t||!!e!==!!t)return!1;if(dd.str(e)||dd.num(e)||dd.boo(e))return e===t;let a=dd.obj(e);if(a&&r==="reference")return e===t;let i=dd.arr(e);if(i&&n==="reference")return e===t;if((i||a)&&e===t)return!0;let s;for(s in e)if(!(s in t))return!1;if(a&&n==="shallow"&&r==="shallow"){for(s in o?t:e)if(!dd.equ(e[s],t[s],{strict:o,objects:"reference"}))return!1}else for(s in o?t:e)if(e[s]!==t[s])return!1;if(dd.und(s)){if(i&&e.length===0&&t.length===0)return!0;if(a&&Object.keys(e).length===0&&Object.keys(t).length===0)return!0;if(e!==t)return!1}return!0}};Agn=["children","key","ref"];egn=/-\d+$/;BVe=[...Agn,"args","dispose","attach","object","onUpdate","dispose"],tgn=new Map;FOr=["map","emissiveMap","sheenColorMap","specularColorMap","envMap"],UOr=/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/;VVe=za.createContext(null);ngn=new WeakMap;ZVe.preload=function(e,t,n){let r=Array.isArray(t)?t:[t];return W0n(Cgn(n),[e,...r])};ZVe.clear=function(e,t){let n=Array.isArray(t)?t:[t];return Y0n([e,...n])};ZOr={objects:"shallow"};jOr={name:"@react-three/fiber",version:"9.8.1",description:"A React renderer for Threejs",keywords:["react","renderer","fiber","three","threejs"],author:"Paul Henschel (https://github.com/drcmda)",license:"MIT",maintainers:["Josh Ellis (https://github.com/joshuaellis)","Cody Bennett (https://github.com/codyjasonbennett)","Kris Baumgarter (https://github.com/krispya)"],bugs:{url:"https://github.com/pmndrs/react-three-fiber/issues"},homepage:"https://github.com/pmndrs/react-three-fiber#readme",repository:{type:"git",url:"git+https://github.com/pmndrs/react-three-fiber.git"},collective:{type:"opencollective",url:"https://opencollective.com/react-three-fiber"},main:"dist/react-three-fiber.cjs.js",module:"dist/react-three-fiber.esm.js",types:"dist/react-three-fiber.cjs.d.ts","react-native":"native/dist/react-three-fiber-native.cjs.js",sideEffects:!1,preconstruct:{entrypoints:["index.tsx","native.tsx"]},scripts:{prebuild:"cp ../../readme.md readme.md"},devDependencies:{"@types/react-reconciler":"^0.33.0","react-reconciler":"^0.34.0"},dependencies:{"@babel/runtime":"^7.17.8","@types/webxr":"*","base64-js":"^1.5.1",buffer:"^6.0.3","its-fine":"^2.1.1","react-use-measure":"^2.1.7",scheduler:"^0.28.0","suspend-react":"^0.1.3","use-sync-external-store":"^1.4.0",zustand:"^5.0.3"},peerDependencies:{expo:">=43.0","expo-asset":">=8.4","expo-file-system":">=11.0","expo-gl":">=11.0",react:">=19 <19.4","react-dom":">=19 <19.4","react-native":">=0.78",three:">=0.156"},peerDependenciesMeta:{"react-dom":{optional:!0},"react-native":{optional:!0},expo:{optional:!0},"expo-asset":{optional:!0},"expo-file-system":{optional:!0},"expo-gl":{optional:!0}}};agn={exports:{}},OVe={exports:{}};OVe.exports;tFr={exports:{}};tFr.exports;rFr=nFr(),oFr=$Or(rFr);sO={},iFr=/^three(?=[A-Z])/;kW=[];cgn={},Lge=Egn;N7=aFr({isPrimaryRenderer:!1,warnsIfNotActing:!1,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance:cFr,removeChild:FVe,appendChild:IVe,appendInitialChild:IVe,insertBefore:lgn,appendChildToContainer(e,t){let n=e.getState().scene.__r3f;if(!t||!n)return;IVe(n,t)},removeChildFromContainer(e,t){let n=e.getState().scene.__r3f;if(!t||!n)return;FVe(n,t)},insertInContainerBefore(e,t,n){let r=e.getState().scene.__r3f;if(!t||!n||!r)return;lgn(r,t,n)},getRootHostContext:()=>cgn,getChildHostContext:()=>cgn,commitUpdate(e,t,n,r,o){var a,i,s;Ign(t,r);let l=!1;if(e.type==="primitive"&&n.object!==r.object)l=!0;else if(((a=r.args)==null?void 0:a.length)!==((i=n.args)==null?void 0:i.length))l=!0;else if((s=r.args)!=null&&s.some((c,u)=>{var d;return c!==((d=n.args)==null?void 0:d[u])}))l=!0;if(l)kW.push([e,LVe(r),o]);else{let c=OOr(e,r),u=e.props.attach;if(e.props=LVe(r),u!==void 0)e.props.attach=u;else delete e.props.attach;if(Object.keys(c).length)x5(e.object,c)}},finalizeInitialChildren:()=>!1,commitMount(){},getPublicInstance:(e)=>e==null?void 0:e.object,prepareForCommit:()=>null,preparePortalMount:(e)=>Fge(e.getState().scene,e,"",{}),resetAfterCommit:pFr,shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance:uFr,unhideInstance:Tgn,createTextInstance:TVe,hideTextInstance:TVe,unhideTextInstance:TVe,supportsMicrotasks:!0,scheduleMicrotask:hFr,scheduleTimeout:typeof setTimeout==="function"?setTimeout:void 0,cancelTimeout:typeof clearTimeout==="function"?clearTimeout:void 0,noTimeout:-1,getInstanceFromNode:()=>null,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},prepareScopeUpdate(){},getInstanceFromScope:()=>null,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,requestPostPaintCallback(){},maySuspendCommit:()=>!1,preloadInstance:()=>!0,suspendInstance(){},waitForCommitToBeReady:()=>null,NotPendingTransition:null,HostTransitionContext:za.createContext(null),setCurrentUpdatePriority(e){Lge=e},getCurrentUpdatePriority(){return Lge},resolveUpdatePriority(){var e;if(Lge!==Egn)return Lge;let t=typeof window<"u"?(e=window.event)==null?void 0:e.type:void 0;if(t===void 0)return Bge;return mFr(t)},resetFormInstance(){},rendererPackageName:"@react-three/fiber",rendererVersion:jOr.version,applyViewTransitionName(e,t,n){},restoreViewTransitionName(e,t){},cancelViewTransitionName(e,t,n){},cancelRootViewTransitionName(e){},restoreRootViewTransitionName(e){},InstanceMeasurement:null,measureInstance:(e)=>null,wasInstanceInViewport:(e)=>!0,hasInstanceChanged:(e,t)=>!1,hasInstanceAffectedParent:(e,t)=>!1,suspendOnActiveViewTransition(e,t){},startViewTransition(e,t,n,r,o,a,i,s,l,c,u){return r(),o(),u==null||u(),i(),null},startGestureTransition(e,t,n,r,o,a,i,s,l,c){return i(),s(),c==null||c(),null},stopViewTransition(e){},addViewTransitionFinishedListener(e,t){t()},createViewTransitionInstance:(e)=>null,getCurrentGestureOffset(e){throw Error("startGestureTransition is not yet supported in react-three-fiber.")},cloneMutableInstance(e,t){return e},cloneMutableTextInstance(e){return e},cloneRootViewTransitionContainer(e){throw Error("Not implemented.")},removeRootViewTransitionClone(e,t){throw Error("Not implemented.")},createFragmentInstance:(e)=>null,updateFragmentInstanceFiber(e,t){},commitNewChildToFragmentInstance(e,t){},deleteChildFromFragmentInstance(e,t){},measureClonedInstance:(e)=>null,maySuspendCommitOnUpdate:(e,t,n)=>!1,maySuspendCommitInSyncRender:(e,t)=>!1,startSuspendingCommit:()=>null,getSuspendedCommitReason:(e,t)=>null}),lS=new Map;vFr=new Set,bFr=new Set,xFr=new Set;DVe={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]}});function Mgn(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}function Dgn({debounce:e,scroll:t,polyfill:n,offsetSize:r}={debounce:0,scroll:!1,offsetSize:!1}){let o=n||(typeof window>"u"?class{}:window.ResizeObserver);if(!o)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[a,i]=c1.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),s=c1.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a,orientationHandler:null}),l=e?typeof e=="number"?e:e.scroll:null,c=e?typeof e=="number"?e:e.resize:null,u=c1.useRef(!1);c1.useEffect(()=>(u.current=!0,()=>void(u.current=!1)));let[d,p,f]=c1.useMemo(()=>{let y=()=>{if(!s.current.element)return;let{left:x,top:A,width:w,height:C,bottom:E,right:T,x:I,y:k}=s.current.element.getBoundingClientRect(),L={left:x,top:A,width:w,height:C,bottom:E,right:T,x:I,y:k};s.current.element instanceof HTMLElement&&r&&(L.height=s.current.element.offsetHeight,L.width=s.current.element.offsetWidth),Object.freeze(L),u.current&&!CFr(s.current.lastBounds,L)&&i(s.current.lastBounds=L)};return[y,c?Mgn(y,c):y,l?Mgn(y,l):y]},[i,r,l,c]);function m(){s.current.scrollContainers&&(s.current.scrollContainers.forEach((y)=>y.removeEventListener("scroll",f,!0)),s.current.scrollContainers=null),s.current.resizeObserver&&(s.current.resizeObserver.disconnect(),s.current.resizeObserver=null),s.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",s.current.orientationHandler):("onorientationchange"in window)&&window.removeEventListener("orientationchange",s.current.orientationHandler))}function g(){s.current.element&&(s.current.resizeObserver=new o(f),s.current.resizeObserver.observe(s.current.element),t&&s.current.scrollContainers&&s.current.scrollContainers.forEach((y)=>y.addEventListener("scroll",f,{capture:!0,passive:!0})),s.current.orientationHandler=()=>{f()},("orientation"in screen)&&("addEventListener"in screen.orientation)?screen.orientation.addEventListener("change",s.current.orientationHandler):("onorientationchange"in window)&&window.addEventListener("orientationchange",s.current.orientationHandler))}let v=(y)=>{!y||y===s.current.element||(m(),s.current.element=y,s.current.scrollContainers=Lgn(y),g())};return wFr(f,!!t),AFr(p),c1.useEffect(()=>{m(),g()},[t,f,p]),c1.useEffect(()=>m,[]),[v,a,d]}function AFr(e){c1.useEffect(()=>{let t=e;return window.addEventListener("resize",t),()=>void window.removeEventListener("resize",t)},[e])}function wFr(e,t){c1.useEffect(()=>{if(t){let n=e;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[e,t])}function Lgn(e){let t=[];if(!e||e===document.body)return t;let{overflow:n,overflowX:r,overflowY:o}=window.getComputedStyle(e);return[n,r,o].some((a)=>a==="auto"||a==="scroll")&&t.push(e),[...t,...Lgn(e.parentElement)]}var c1,SFr,CFr=(e,t)=>SFr.every((n)=>e[n]===t[n]);var Bgn=P(()=>{c1=z(re(),1);SFr=["x","y","top","bottom","left","right","width","height"]});function EFr({ref:e,children:t,fallback:n,resize:r,style:o,gl:a,events:i=JVe,eventSource:s,eventPrefix:l,shadows:c,linear:u,flat:d,legacy:p,orthographic:f,frameloop:m,dpr:g,performance:v,raycaster:y,camera:x,scene:A,onPointerMissed:w,onCreated:C,...E}){pd.useMemo(()=>XVe(CW),[]);let T=hgn(),[I,k]=Dgn({scroll:!0,debounce:{scroll:50,resize:0},...r}),L=pd.useRef(null),O=pd.useRef(null);pd.useImperativeHandle(e,()=>L.current);let B=_Ve(w),U=pd.useCallback((oe)=>B.current==null?void 0:B.current(oe),[B]),[D,N]=pd.useState(!1),[_,G]=pd.useState(!1);if(D)throw D;if(_)throw _;let Z=pd.useRef(null),[q,H]=mgn(),te=pd.useRef(null),ie=()=>s?fgn(s)?s.current:s:O.current;return pd.useInsertionEffect(()=>()=>{let oe=Z.current;Z.current=null,oe==null||oe.unmount()},[]),z7(()=>{let oe=L.current;if(k.width>0&&k.height>0&&oe){if(!Z.current)Z.current=YVe(oe);if(Z.current.configure({gl:a,scene:A,events:i,shadows:c,linear:u,flat:d,legacy:p,orthographic:f,frameloop:m,dpr:g,performance:v,raycaster:y,camera:x,size:k,onPointerMissed:U,onCreated:(J)=>{var Y;if(te.current=J,J.events.connect==null||J.events.connect((Y=ie())!=null?Y:O.current),l)J.setEvents({compute:(ae,ne)=>{let Se=ae[l+"X"],fe=ae[l+"Y"];ne.pointer.set(Se/ne.size.width*2-1,-(fe/ne.size.height)*2+1),ne.raycaster.setFromCamera(ne.pointer,ne.camera)}});C==null||C(J)}}).catch(G),Z.current.ready.status==="fulfilled")Z.current.render(h(T,{children:h(ygn,{set:G,children:h(pd.Suspense,{fallback:h(ggn,{set:N}),children:t!=null?t:null})})}));else if(Z.current.ready.status==="pending")H(Z.current.ready)}}),pd.useEffect(()=>{var oe;let J=(oe=te.current)==null?void 0:oe.get(),Y=ie();if(J&&Y&&J.events.connected!==Y)J.events.connect==null||J.events.connect(Y)}),pd.useEffect(()=>{let oe=L.current;return()=>{var J;if(!oe.isConnected)(J=Z.current)==null||J.unmount()}},[]),M("div",{ref:O,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:s?"none":"auto",...o},...E,children:[h("div",{ref:I,style:{width:"100%",height:"100%"},children:h("canvas",{ref:L,style:{display:"block"},children:n})}),q]})}function Ogn(e){return h(Mge,{children:h(EFr,{...e})})}var pd,VAs;var Fgn=P(()=>{jVe();jVe();O7();Bgn();EVe();le();pd=z(re()),VAs=z(ZK())});function TFr(e){if(this.enabled===!1)return;if(this._pointers.length===0)this.domElement.setPointerCapture(e.pointerId),this.domElement.ownerDocument.addEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this._onPointerUp);if(this._isTrackingPointer(e))return;if(this._addPointer(e),e.pointerType==="touch")this._onTouchStart(e);else this._onMouseDown(e);if(this._cursorStyle==="grab")this.domElement.style.cursor="grabbing"}function kFr(e){if(this.enabled===!1)return;if(e.pointerType==="touch")this._onTouchMove(e);else this._onMouseMove(e)}function RFr(e){switch(this._removePointer(e),this._pointers.length){case 0:if(this.domElement.releasePointerCapture(e.pointerId),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(zgn),this.state=Yi.NONE,this._cursorStyle==="grab")this.domElement.style.cursor="grab";break;case 1:let t=this._pointers[0],n=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:n.x,pageY:n.y});break}}function PFr(e){let t;switch(e.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case Bm.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(e),this.state=Yi.DOLLY;break;case Bm.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(e),this.state=Yi.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(e),this.state=Yi.ROTATE}break;case Bm.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(e),this.state=Yi.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(e),this.state=Yi.PAN}break;default:this.state=Yi.NONE}if(this.state!==Yi.NONE)this.dispatchEvent(eGe)}function MFr(e){switch(this.state){case Yi.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(e);break;case Yi.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(e);break;case Yi.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(e);break}}function DFr(e){if(this.enabled===!1||this.enableZoom===!1||this.state!==Yi.NONE)return;e.preventDefault(),this.dispatchEvent(eGe),this._handleMouseWheel(this._customWheelEvent(e)),this.dispatchEvent(zgn)}function LFr(e){if(this.enabled===!1)return;this._handleKeyDown(e)}function BFr(e){switch(this._trackPointer(e),this._pointers.length){case 1:switch(this.touches.ONE){case Om.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(e),this.state=Yi.TOUCH_ROTATE;break;case Om.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(e),this.state=Yi.TOUCH_PAN;break;default:this.state=Yi.NONE}break;case 2:switch(this.touches.TWO){case Om.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(e),this.state=Yi.TOUCH_DOLLY_PAN;break;case Om.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(e),this.state=Yi.TOUCH_DOLLY_ROTATE;break;default:this.state=Yi.NONE}break;default:this.state=Yi.NONE}if(this.state!==Yi.NONE)this.dispatchEvent(eGe)}function OFr(e){switch(this._trackPointer(e),this.state){case Yi.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(e),this.update();break;case Yi.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(e),this.update();break;case Yi.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(e),this.update();break;case Yi.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(e),this.update();break;default:this.state=Yi.NONE}}function FFr(e){if(this.enabled===!1)return;e.preventDefault()}function UFr(e){if(e.key==="Control")this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0})}function NFr(e){if(e.key==="Control")this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0})}var Ugn,eGe,zgn,Gge,Ngn,IFr,lp,U0,Yi,$Ve=0.000001,tGe;var _gn=P(()=>{O7();Ugn={type:"change"},eGe={type:"start"},zgn={type:"end"},Gge=new Vy,Ngn=new Ih,IFr=Math.cos(70*g5.DEG2RAD),lp=new he,U0=2*Math.PI,Yi={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};tGe=class tGe extends bW{constructor(e,t=null){super(e,t);if(this.state=Yi.NONE,this.target=new he,this.cursor=new he,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=0.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:Bm.ROTATE,MIDDLE:Bm.DOLLY,RIGHT:Bm.PAN},this.touches={ONE:Om.ROTATE,TWO:Om.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle="auto",this._domElementKeyEvents=null,this._lastPosition=new he,this._lastQuaternion=new Vo,this._lastTargetPosition=new he,this._quat=new Vo().setFromUnitVectors(e.up,new he(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new iS,this._sphericalDelta=new iS,this._scale=1,this._panOffset=new he,this._rotateStart=new vt,this._rotateEnd=new vt,this._rotateDelta=new vt,this._panStart=new vt,this._panEnd=new vt,this._panDelta=new vt,this._dollyStart=new vt,this._dollyEnd=new vt,this._dollyDelta=new vt,this._dollyDirection=new he,this._mouse=new vt,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=kFr.bind(this),this._onPointerDown=TFr.bind(this),this._onPointerUp=RFr.bind(this),this._onContextMenu=FFr.bind(this),this._onMouseWheel=DFr.bind(this),this._onKeyDown=LFr.bind(this),this._onTouchStart=BFr.bind(this),this._onTouchMove=OFr.bind(this),this._onMouseDown=PFr.bind(this),this._onMouseMove=MFr.bind(this),this._interceptControlDown=UFr.bind(this),this._interceptControlUp=NFr.bind(this),this.domElement!==null)this.connect(this.domElement);this.update()}set cursorStyle(e){if(this._cursorStyle=e,e==="grab")this.domElement.style.cursor="grab";else this.domElement.style.cursor="auto"}get cursorStyle(){return this._cursorStyle}connect(e){super.connect(e),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.state=Yi.NONE,this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents();let e=this.domElement.getRootNode();e.removeEventListener("keydown",this._interceptControlDown,{capture:!0}),e.removeEventListener("keyup",this._interceptControlUp,{capture:!0}),this._controlActive=!1,this._pointers.length=0,this._pointerPositions={},this.domElement.style.touchAction="",this.domElement.style.cursor="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){if(this._domElementKeyEvents!==null)this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(Ugn),this.update(),this.state=Yi.NONE}pan(e,t){this._pan(e,t),this.update()}dollyIn(e){this._dollyIn(e),this.update()}dollyOut(e){this._dollyOut(e),this.update()}rotateLeft(e){this._rotateLeft(e),this.update()}rotateUp(e){this._rotateUp(e),this.update()}update(e=null){let t=this.object.position;if(lp.copy(t).sub(this.target),lp.applyQuaternion(this._quat),this._spherical.setFromVector3(lp),this.autoRotate&&this.state===Yi.NONE)this._rotateLeft(this._getAutoRotationAngle(e));if(this.enableDamping)this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor;else this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi;let n=this.minAzimuthAngle,r=this.maxAzimuthAngle;if(isFinite(n)&&isFinite(r)){if(n<-Math.PI)n+=U0;else if(n>Math.PI)n-=U0;if(r<-Math.PI)r+=U0;else if(r>Math.PI)r-=U0;if(n<=r)this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta));else this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)}if(this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0)this.target.addScaledVector(this._panOffset,this.dampingFactor);else this.target.add(this._panOffset);this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let o=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{let a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),o=a!=this._spherical.radius}if(lp.setFromSpherical(this._spherical),lp.applyQuaternion(this._quatInverse),t.copy(this.target).add(lp),this.object.lookAt(this.target),this.enableDamping===!0)this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor);else this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0);if(this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){let i=lp.length();a=this._clampDistance(i*this._scale);let s=i-a;this.object.position.addScaledVector(this._dollyDirection,s),this.object.updateMatrixWorld(),o=!!s}else if(this.object.isOrthographicCamera){let i=new he(this._mouse.x,this._mouse.y,0);i.unproject(this.object);let s=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),o=s!==this.object.zoom;let l=new he(this._mouse.x,this._mouse.y,0);l.unproject(this.object),this.object.position.sub(l).add(i),this.object.updateMatrixWorld(),a=lp.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;if(a!==null)if(this.screenSpacePanning)this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position);else if(Gge.origin.copy(this.object.position),Gge.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(Gge.direction))$Ve||8*(1-this._lastQuaternion.dot(this.object.quaternion))>$Ve||this._lastTargetPosition.distanceToSquared(this.target)>$Ve)return this.dispatchEvent(Ugn),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0;return!1}_getAutoRotationAngle(e){if(e!==null)return U0/60*this.autoRotateSpeed*e;else return U0/60/60*this.autoRotateSpeed}_getZoomScale(e){let t=Math.abs(e*0.01);return Math.pow(0.95,this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){lp.setFromMatrixColumn(t,0),lp.multiplyScalar(-e),this._panOffset.add(lp)}_panUp(e,t){if(this.screenSpacePanning===!0)lp.setFromMatrixColumn(t,1);else lp.setFromMatrixColumn(t,0),lp.crossVectors(this.object.up,lp);lp.multiplyScalar(e),this._panOffset.add(lp)}_pan(e,t){let n=this.domElement;if(this.object.isPerspectiveCamera){let r=this.object.position;lp.copy(r).sub(this.target);let o=lp.length();o*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*o/n.clientHeight,this.object.matrix),this._panUp(2*t*o/n.clientHeight,this.object.matrix)}else if(this.object.isOrthographicCamera)this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix);else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1}_dollyOut(e){if(this.object.isPerspectiveCamera||this.object.isOrthographicCamera)this._scale/=e;else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1}_dollyIn(e){if(this.object.isPerspectiveCamera||this.object.isOrthographicCamera)this._scale*=e;else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;let n=this.domElement.getBoundingClientRect(),r=e-n.left,o=t-n.top,{width:a,height:i}=n;this._mouse.x=r/a*2-1,this._mouse.y=-(o/i)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(U0*this._rotateDelta.x/t.clientHeight),this._rotateUp(U0*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){if(this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0)this._dollyOut(this._getZoomScale(this._dollyDelta.y));else if(this._dollyDelta.y<0)this._dollyIn(this._getZoomScale(this._dollyDelta.y));this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){if(this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0)this._dollyIn(this._getZoomScale(e.deltaY));else if(e.deltaY>0)this._dollyOut(this._getZoomScale(e.deltaY));this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enableRotate)this._rotateUp(U0*this.keyRotateSpeed/this.domElement.clientHeight)}else if(this.enablePan)this._pan(0,this.keyPanSpeed);t=!0;break;case this.keys.BOTTOM:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enableRotate)this._rotateUp(-U0*this.keyRotateSpeed/this.domElement.clientHeight)}else if(this.enablePan)this._pan(0,-this.keyPanSpeed);t=!0;break;case this.keys.LEFT:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enableRotate)this._rotateLeft(U0*this.keyRotateSpeed/this.domElement.clientHeight)}else if(this.enablePan)this._pan(this.keyPanSpeed,0);t=!0;break;case this.keys.RIGHT:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enableRotate)this._rotateLeft(-U0*this.keyRotateSpeed/this.domElement.clientHeight)}else if(this.enablePan)this._pan(-this.keyPanSpeed,0);t=!0;break}if(t)e.preventDefault(),this.update()}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=0.5*(e.pageX+t.x),r=0.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=0.5*(e.pageX+t.x),r=0.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,o=Math.sqrt(n*n+r*r);this._dollyStart.set(0,o)}_handleTouchStartDollyPan(e){if(this.enableZoom)this._handleTouchStartDolly(e);if(this.enablePan)this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){if(this.enableZoom)this._handleTouchStartDolly(e);if(this.enableRotate)this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{let n=this._getSecondPointerPosition(e),r=0.5*(e.pageX+n.x),o=0.5*(e.pageY+n.y);this._rotateEnd.set(r,o)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(U0*this._rotateDelta.x/t.clientHeight),this._rotateUp(U0*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=0.5*(e.pageX+t.x),r=0.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,o=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,o),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);let a=(e.pageX+t.x)*0.5,i=(e.pageY+t.y)*0.5;this._updateZoomParameters(a,i)}_handleTouchMoveDollyPan(e){if(this.enableZoom)this._handleTouchMoveDolly(e);if(this.enablePan)this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){if(this.enableZoom)this._handleTouchMoveDolly(e);if(this.enableRotate)this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t{_gn()});class qgn{constructor(e){this.arr=e,this.i=0}empty(){return this.i>=this.arr.length}next(){return this.arr[this.i++]}}var Mv,nGe,Ggn;var Zgn=P(()=>{O7();Mv=new _n;nGe=class nGe extends tf{constructor(e){super(e);this.propertyNameMapping={},this.customPropertyMapping={}}load(e,t,n,r){let o=this,a=new i1(this.manager);a.setPath(this.path),a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(i){try{t(o.parse(i))}catch(s){if(r)r(s);else console.error(s);o.manager.itemError(e)}},n,r)}setPropertyNameMapping(e){this.propertyNameMapping=e}setCustomPropertyNameMapping(e){this.customPropertyMapping=e}parse(e){function t(x,A=0){let w=/^ply([\s\S]*)end_header(\r\n|\r|\n)/,C="",E=w.exec(x);if(E!==null)C=E[1];let T={comments:[],elements:[],headerLength:A,objInfo:""},I=C.split(/\r\n|\r|\n/),k;function L(O,B){let U={type:O[0]};if(U.type==="list")U.name=O[3],U.countType=O[1],U.itemType=O[2];else U.name=O[1];if(U.name in B)U.name=B[U.name];return U}for(let O=0;OH.name===Z);if(q)return q}return null}let w=A(["x","px","posx"]),C=A(["y","py","posy"]),E=A(["z","pz","posz"]),T=A(["nx","normalx"]),I=A(["ny","normaly"]),k=A(["nz","normalz"]),L=A(["s","u","texture_u","tx"]),O=A(["t","v","texture_v","ty"]),B=A(["red","diffuse_red","r","diffuse_r"]),U=A(["green","diffuse_green","g","diffuse_g"]),D=A(["blue","diffuse_blue","b","diffuse_b"]),N=A(["texcoord"]),_={};for(let G of Object.keys(y.customPropertyMapping)){let q=y.customPropertyMapping[G].map((ie)=>x.find((j)=>j.name===ie)),H=q.filter((ie)=>ie).map((ie)=>ie.type),te=H.length>0&&H.every((ie)=>ie===H[0]);_[G]={type:te?H[0]:"float32",usage:q.every((ie)=>ie!==void 0)}}return{position:{names:[w?w.name:"x",C?C.name:"y",E?E.name:"z"],type:w?w.type:"float32",usage:!!(w&&C&&E)},normal:{names:[T?T.name:"nx",I?I.name:"ny",k?k.name:"nz"],type:T?T.type:"float32",usage:!!(T&&I&&k)},uv:{names:[L?L.name:"s",O?O.name:"t"],type:L?L.type:"float32",usage:!!(L&&O)},texcoord:{type:N?N.itemType:"float32",usage:!!N},color:{names:[B?B.name:"red",U?U.name:"green",D?D.name:"blue"],type:B?B.type:"uchar",usage:!!(B&&U&&D)},custom:_}}function c(x,A){let w=o(),C=/end_header\s+(\S[\s\S]*\S|\S)\s*$/,E,T;if((T=C.exec(x))!==null)E=T[1].split(/\s+/);else E=[];let I=new qgn(E);e:for(let k=0;k0)A.setIndex(x.indices);let C=a(w?w.position.type:"float32");if(A.setAttribute("position",new C(x.vertices,3)),x.normals.length>0){let E=a(w.normal.type);A.setAttribute("normal",new E(x.normals,3))}if(x.uvs.length>0){let E=a(w.uv.type);A.setAttribute("uv",new E(x.uvs,2))}if(x.colors.length>0){let E=w.color.type,T=!s(E),I=a(E);A.setAttribute("color",new I(x.colors,3,T))}if(x.faceVertexUvs.length>0||x.faceVertexColors.length>0){if(A=A.toNonIndexed(),x.faceVertexUvs.length>0){let E=a(x.descriptors.face.texcoord.type);A.setAttribute("uv",new E(x.faceVertexUvs,2))}if(x.faceVertexColors.length>0){let E=x.descriptors.face.color.type,T=!s(E),I=a(E);A.setAttribute("color",new I(x.faceVertexColors,3,T))}}for(let E of Object.keys(y.customPropertyMapping))if(x[E].length>0){let T=a(w.custom[E].type);A.setAttribute(E,new T(x[E],y.customPropertyMapping[E].length))}return A.computeBoundingSphere(),A}function d(x,A,w,C){if(A==="vertex"){let{position:E,normal:T,uv:I,color:k}=C;if(E.usage)x.vertices.push(w[E.names[0]],w[E.names[1]],w[E.names[2]]);if(T.usage)x.normals.push(w[T.names[0]],w[T.names[1]],w[T.names[2]]);if(I.usage)x.uvs.push(w[I.names[0]],w[I.names[1]]);if(k.usage){let L=i(k.type),O=s(k.type);Mv.setRGB(w[k.names[0]]*L,w[k.names[1]]*L,w[k.names[2]]*L,jw);let B=1/L;x.colors.push(O?Mv.r:Math.round(Mv.r*B),O?Mv.g:Math.round(Mv.g*B),O?Mv.b:Math.round(Mv.b*B))}for(let L of Object.keys(y.customPropertyMapping))for(let O of y.customPropertyMapping[L])x[L].push(w[O])}else if(A==="face"){let E=w.vertex_indices||w.vertex_index,T=w.texcoord;if(E.length===3){if(x.indices.push(E[0],E[1],E[2]),T&&T.length===6)x.faceVertexUvs.push(T[0],T[1]),x.faceVertexUvs.push(T[2],T[3]),x.faceVertexUvs.push(T[4],T[5])}else if(E.length===4)x.indices.push(E[0],E[1],E[3]),x.indices.push(E[1],E[2],E[3]);let{color:I}=C;if(I.usage){let k=i(I.type);Mv.setRGB(w[I.names[0]]*k,w[I.names[1]]*k,w[I.names[2]]*k,jw);let L=1/k,O=Mv.r*L,B=Mv.g*L,U=Mv.b*L;x.faceVertexColors.push(O,B,U),x.faceVertexColors.push(O,B,U),x.faceVertexColors.push(O,B,U)}}}function p(x,A){let w={},C=0;for(let E=0;EE.getInt8(k),size:1};case"uint8":case"uchar":return{read:(k)=>E.getUint8(k),size:1};case"int16":case"short":return{read:(k)=>E.getInt16(k,I),size:2};case"uint16":case"ushort":return{read:(k)=>E.getUint16(k,I),size:2};case"int32":case"int":return{read:(k)=>E.getInt32(k,I),size:4};case"uint32":case"uint":return{read:(k)=>E.getUint32(k,I),size:4};case"float32":case"float":return{read:(k)=>E.getFloat32(k,I),size:4};case"float64":case"double":return{read:(k)=>E.getFloat64(k,I),size:8}}}for(let E=0,T=x.length;E{n=l,r=c});let o=n.bind(this),a=r.bind(this),i=(...l)=>{o(...l)},s=(l)=>{a(l)};e(i.bind(this),s.bind(this)),this.abortHandler=t,this.id=w5.idGen++}then(e){return new w5((t,n)=>{this.promise=this.promise.then((...r)=>{let o=e(...r);if(o instanceof Promise||o instanceof w5)o.then((...a)=>{t(...a)});else t(o)}).catch((r)=>{n(r)})},this.abortHandler)}catch(e){return new w5((t)=>{this.promise=this.promise.then((...n)=>{t(...n)}).catch(e)},this.abortHandler)}abort(e){if(this.abortHandler)this.abortHandler(e)}}class b1n{constructor(e,t,n){this.major=e,this.minor=t,this.patch=n}toString(){return`${this.major}_${this.minor}_${this.patch}`}}function yGe(){let e=navigator.userAgent;return e.indexOf("iPhone")>0||e.indexOf("iPad")>0}function x1n(){if(yGe()){let e=navigator.userAgent.match(/OS (\d+)_(\d+)_?(\d+)?/);return new b1n(parseInt(e[1]||0,10),parseInt(e[2]||0,10),parseInt(e[3]||0,10))}else return null}class Ui{static DefaultSplatSortDistanceMapPrecision=16;static MemoryPageSize=65536;static BytesPerFloat=4;static BytesPerInt=4;static MaxScenes=32;static ProgressiveLoadSectionSize=262144;static ProgressiveLoadSectionDelayDuration=15;static SphericalHarmonics8BitCompressionRange=3}class Ti{static HeaderEndToken="end_header";static decodeSectionHeader(e,t,n=0){let r=[],o=!1,a=-1,i=0,s=!1,l=null,c=[],u=[],d=[],p=[],f={};for(let y=n;y0){if(w++,w===2)l=E;else if(w===3)i=parseInt(E)}}}else if(x.startsWith("property")){let A=x.match(/(\w+)\s+(\w+)\s+(\w+)/);if(A){let w=A[2],C=A[3];d.push(C);let E=t[C];f[C]=w;let T=Ygn[w];if(E!==void 0)p.push(C),c.push(E),u[E]=T}}if(x===Ti.HeaderEndToken){s=!0;break}if(o)r.push(x),a++}let m=[],g=0;for(let y of d){let x=f[y];if(f.hasOwnProperty(y)){let A=t[y];if(A!==void 0)m[A]=g}g+=QFr[Ygn[x]]}let v=Ti.decodeSphericalHarmonicsFromSectionHeader(d,t);return{headerLines:r,headerStartLine:n,headerEndLine:a,fieldTypes:u,fieldIds:c,fieldOffsets:m,bytesPerVertex:g,vertexCount:i,dataSizeBytes:g*i,endOfHeader:s,sectionName:l,sphericalHarmonicsDegree:v.degree,sphericalHarmonicsCoefficientsPerChannel:v.coefficientsPerChannel,sphericalHarmonicsDegree1Fields:v.degree1Fields,sphericalHarmonicsDegree2Fields:v.degree2Fields}}static decodeSphericalHarmonicsFromSectionHeader(e,t){let n=0,r=0;for(let s of e)if(s.startsWith("f_rest"))n++;r=n/3;let o=0;if(r>=3)o=1;if(r>=8)o=2;let a=[],i=[];for(let s=0;s<3;s++){if(o>=1)for(let l=0;l<3;l++)a.push(t["f_rest_"+(l+r*s)]);if(o>=2)for(let l=0;l<5;l++)i.push(t["f_rest_"+(l+r*s+3)])}return{degree:o,coefficientsPerChannel:r,degree1Fields:a,degree2Fields:i}}static getHeaderSectionNames(e){let t=[];for(let n of e)if(n.startsWith("element")){let r=n.split(" "),o=0;for(let a of r){let i=a.trim();if(i.length>0){if(o++,o===2)t.push(i)}}}return t}static checkTextForEndHeader(e){if(e.includes(Ti.HeaderEndToken))return!0;return!1}static checkBufferForEndHeader(e,t,n,r){let o=new Uint8Array(e,Math.max(0,t-n),n),a=r.decode(o);return Ti.checkTextForEndHeader(a)}static extractHeaderFromBufferToText(e){let t=new TextDecoder,n=0,r="",o=100;while(!0){if(n+o>=e.byteLength)throw Error("End of file reached while searching for end of header");let a=new Uint8Array(e,n,o);if(r+=t.decode(a),n+=o,Ti.checkBufferForEndHeader(e,n,o*2,t))break}return r}static readHeaderFromBuffer(e){let t=new TextDecoder,n=0,r="",o=100;while(!0){if(n+o>=e.byteLength)throw Error("End of file reached while searching for end of header");let a=new Uint8Array(e,n,o);if(r+=t.decode(a),n+=o,Ti.checkBufferForEndHeader(e,n,o*2,t))break}return r}static convertHeaderTextToLines(e){let t=e.split(` -`),n=[];for(let r=0;r{let i=On.OFFSET.X,s=On.OFFSET.Y,l=On.OFFSET.Z;if(e<=0)e=a.splatCount;let c=new he,u=0.5,d=(v)=>{v.x=Math.floor(v.x/u)*u,v.y=Math.floor(v.y/u)*u,v.z=Math.floor(v.z/u)*u};a.splats.forEach((v)=>{c.set(v[i],v[s],v[l]).sub(t),d(c),v.centerDist=c.lengthSq()}),a.splats.sort((v,y)=>{let x=v.centerDist,A=y.centerDist;if(x>A)return 1;else return-1});let p=[],f=[];e=Math.min(a.splatCount,e);let m=Math.ceil(a.splatCount/e),g=0;for(let v=0;vx>=y&&x{let Y=j>=100;if(J)q.push({data:J,sizeBytes:J.byteLength,startBytes:N,endBytes:N+J.byteLength}),N+=J.byteLength;if(f===rl.DownloadBeforeProcessing){if(Y)B.resolve(q)}else{if(!k){if(G+=te.decode(J),Ti.checkTextForEndHeader(G)){if(y=Ti.determineHeaderFormatFromHeaderText(G),y===Oh.INRIAV1)Z=Jf.decodeHeaderText(G),s=Math.min(s,Z.sphericalHarmonicsDegree),E=Z.splatCount,L=!0,_=Z.headerSizeBytes+Z.bytesPerSplat*E;else if(y===Oh.PlayCanvasCompressed){if(Z=xi.decodeHeaderText(G),s=Math.min(s,Z.sphericalHarmonicsDegree),f===rl.ProgressiveToSplatBuffer&&s>0)throw new FW("PlyLoader.loadFromURL() -> Selected PLY format has spherical harmonics data that cannot be progressively loaded.");E=Z.vertexElement.count,_=Z.headerSizeBytes+Z.bytesPerSplat*E+Z.chunkElement.storageSizeBytes}else if(f===rl.ProgressiveToSplatBuffer)throw new FW("PlyLoader.loadFromURL() -> Selected PLY format cannot be progressively loaded.");else{f=rl.DownloadBeforeProcessing;return}if(f===rl.ProgressiveToSplatBuffer){let ae=mt.CompressionLevels[0].SphericalHarmonicsDegrees[s],ne=g+ae.BytesPerSplat*E;A=new ArrayBuffer(ne),mt.writeHeaderToBuffer({versionMajor:mt.CurrentMajorVersion,versionMinor:mt.CurrentMinorVersion,maxSectionCount:v,sectionCount:v,maxSplatCount:E,splatCount:0,compressionLevel:0,sceneCenter:new he},A)}else H=new On(s);U=Z.headerSizeBytes,D=Z.headerSizeBytes,k=!0}}else if(y===Oh.PlayCanvasCompressed&&!L){let ae=Z.headerSizeBytes+Z.chunkElement.storageSizeBytes;if(C=a1n(q,C),C.byteLength>=ae)xi.readElementData(Z.chunkElement,C,Z.headerSizeBytes),U=ae,D=ae,L=!0}if(k&&L&&q.length>0){if(x=a1n(q,x),N-U>m||N>=_&&!O||Y){let ne=O?Z.sphericalHarmonicsPerSplat:Z.bytesPerSplat,fe=(O?N:Math.min(_,N))-D,Ae=Math.floor(fe/ne),Ee=Ae*ne,pe=N-D-Ee,Re=D-q[0].startBytes,Le=new DataView(x,Re,Ee);if(!O){if(f===rl.ProgressiveToSplatBuffer){let Ne=mt.CompressionLevels[0].SphericalHarmonicsDegrees[s],be=T*Ne.BytesPerSplat+g;if(y===Oh.PlayCanvasCompressed)xi.parseToUncompressedSplatBufferSection(Z.chunkElement,Z.vertexElement,0,Ae-1,T,Le,A,be);else Jf.parseToUncompressedSplatBufferSection(Z,0,Ae-1,Le,0,A,be,s)}else if(y===Oh.PlayCanvasCompressed)xi.parseToUncompressedSplatArraySection(Z.chunkElement,Z.vertexElement,0,Ae-1,T,Le,H);else Jf.parseToUncompressedSplatArraySection(Z,0,Ae-1,Le,0,H,s);if(T+=Ae,f===rl.ProgressiveToSplatBuffer){if(!w)mt.writeSectionHeaderToBuffer({maxSplatCount:E,splatCount:T,bucketSize:0,bucketCount:0,bucketBlockSize:0,compressionScaleRange:0,storageSizeBytes:0,fullBucketCount:0,partiallyFilledBucketCount:0,sphericalHarmonicsDegree:s},0,A,mt.HeaderSizeBytes),w=new mt(A,!1);w.updateLoadedCounts(1,T)}if(N>=_)O=!0}else if(y===Oh.PlayCanvasCompressed){if(f===rl.ProgressiveToSplatArray)xi.parseSphericalHarmonicsToUncompressedSplatArraySection(Z.chunkElement,Z.shElement,I,I+Ae-1,Le,0,s,Z.sphericalHarmonicsDegree,H),I+=Ae}if(pe===0)q=[];else{let Ne=[],be=0;for(let ye=q.length-1;ye>=0;ye--){let ce=q[ye];if(be+=ce.sizeBytes,Ne.unshift(ce),be>=pe)break}q=Ne}U+=m,D+=Ee}}if(r&&w)r(w,Y);if(Y)if(f===rl.ProgressiveToSplatBuffer)B.resolve(w);else B.resolve(H)}if(t)t(j,oe,fd.Downloading)};if(t)t(0,"0%",fd.Downloading);return $ge(e,ie,!1,l).then(()=>{if(t)t(0,"0%",fd.Processing);return B.promise.then((j)=>{if(t)t(100,"100%",fd.Done);if(f===rl.DownloadBeforeProcessing){let oe=q.map((J)=>J.data);return new Blob(oe).arrayBuffer().then((J)=>TGe.loadFromFileData(J,o,a,i,s,c,u,d,p))}else if(f===rl.ProgressiveToSplatBuffer)return j;else return d1(()=>i1n(j,i,o,a,c,u,d,p))})})}static loadFromFileData(e,t,n,r,o=0,a,i,s,l){if(r)return d1(()=>mGe.parseToUncompressedSplatArray(e,o)).then((c)=>i1n(c,r,t,n,a,i,s,l));else return d1(()=>mGe.parseToUncompressedSplatBuffer(e,o))}}async function SUr(e){try{let t=wUr(e);if(!t)throw Error("Failed to create stream from data");return await CUr(t)}catch(t){throw console.error("Error decompressing gzipped data:",t),t}}async function CUr(e){let t=e.pipeThrough(new DecompressionStream("gzip")),r=await new Response(t).arrayBuffer();return new Uint8Array(r)}function kUr(e){let t=e>>15&1,n=e>>10&31,r=e&1023,o=t===1?-1:1;if(n===0)return o*Math.pow(2,-14)*r/1024;if(n===31)return r!==0?NaN:o*(1/0);return o*Math.pow(2,n-15)*(1+r/1024)}function RUr(e){return(e-128)/128}function _7(e){switch(e){case 0:return 0;case 1:return 3;case 2:return 8;case 3:return 15;default:return console.error(`[SPZ: ERROR] Unsupported SH degree: ${e}`),0}}function MUr(e,t,n,r){if(e.positions.length!==t*3*(r?2:3))return!1;if(e.scales.length!==t*3)return!1;if(e.rotations.length!==t*3)return!1;if(e.alphas.length!==t)return!1;if(e.colors.length!==t*3)return!1;if(e.sh.length!==t*n*3)return!1;return!0}function s1n(e,t,n,r,o){t=Math.min(t,e.shDegree);let a=e.numPoints,i=_7(e.shDegree),s=e.positions.length===a*3*2;if(!MUr(e,a,i,s))return null;let l={position:[],scale:[],rotation:[],alpha:void 0,color:[],sh:[]},c;if(s)c=new Uint16Array(e.positions.buffer,e.positions.byteOffset,a*3);let u=1/(1<2)return console.error(`[SPZ ERROR] deserializePackedGaussians: version not supported: ${r.version}`),null;if(r.numPoints>LUr)return console.error(`[SPZ ERROR] deserializePackedGaussians: Too many points: ${r.numPoints}`),null;if(r.shDegree>3)return console.error(`[SPZ ERROR] deserializePackedGaussians: Unsupported SH degree: ${r.shDegree}`),null;let o=r.numPoints,a=_7(r.shDegree),i=r.version===1,s={numPoints:o,shDegree:r.shDegree,fractionalBits:r.fractionalBits,antialiased:(r.flags&IUr)!==0,positions:new Uint8Array(o*3*(i?2:3)),scales:new Uint8Array(o*3),rotations:new Uint8Array(o*3),alphas:new Uint8Array(o),colors:new Uint8Array(o*3),sh:new Uint8Array(o*a*3)};try{let l=new Uint8Array(e),c=s.positions.length,u=n;if(s.positions.set(l.slice(u,u+c)),u+=c,s.alphas.set(l.slice(u,u+s.alphas.length)),u+=s.alphas.length,s.colors.set(l.slice(u,u+s.colors.length)),u+=s.colors.length,s.scales.set(l.slice(u,u+s.scales.length)),u+=s.scales.length,s.rotations.set(l.slice(u,u+s.rotations.length)),u+=s.rotations.length,s.sh.set(l.slice(u,u+s.sh.length)),u+s.sh.length!==e.byteLength)return console.error("[SPZ ERROR] deserializePackedGaussians: incorrect buffer size"),null}catch(l){return console.error("[SPZ ERROR] deserializePackedGaussians: read error",l),null}return s}async function OUr(e){try{let t=await SUr(e);return BUr(t.buffer)}catch(t){return console.error("[SPZ ERROR] loadSpzPacked: decompression error",t),null}}class kGe{static loadFromURL(e,t,n,r,o=!0,a=0,i,s,l,c,u){if(t)t(0,"0%",fd.Downloading);return $ge(e,t,!0,i).then((d)=>{if(t)t(0,"0%",fd.Processing);return kGe.loadFromFileData(d,n,r,o,a,s,l,c,u)})}static async loadFromFileData(e,t,n,r,o=0,a,i,s,l){await d1();let c=await OUr(e);o=Math.min(c.shDegree,o);let u=new On(o);if(r)return s1n(c,o,!1,u,0),UW.getStandardGenerator(t,n,a,i,s,l).generateFromUncompressedSplatArray(u);else{let{splatBuffer:d,splatBufferDataOffsetBytes:p}=mt.preallocateUncompressed(c.numPoints,o);return s1n(c,o,!0,d.bufferData,p),d}}}class us{static RowSizeBytes=32;static CenterSizeBytes=12;static ScaleSizeBytes=12;static RotationSizeBytes=4;static ColorSizeBytes=4;static parseToUncompressedSplatBufferSection(e,t,n,r,o,a){let i=mt.CompressionLevels[0].BytesPerCenter,s=mt.CompressionLevels[0].BytesPerScale,l=mt.CompressionLevels[0].BytesPerRotation,c=mt.CompressionLevels[0].SphericalHarmonicsDegrees[0].BytesPerSplat;for(let u=e;u<=t;u++){let d=u*us.RowSizeBytes+r,p=new Float32Array(n,d,3),f=new Float32Array(n,d+us.CenterSizeBytes,3),m=new Uint8Array(n,d+us.CenterSizeBytes+us.ScaleSizeBytes,4),g=new Uint8Array(n,d+us.CenterSizeBytes+us.ScaleSizeBytes+us.RotationSizeBytes,4),v=new Vo((g[1]-128)/128,(g[2]-128)/128,(g[3]-128)/128,(g[0]-128)/128);v.normalize();let y=u*c+a,x=new Float32Array(o,y,3),A=new Float32Array(o,y+i,3),w=new Float32Array(o,y+i+s,4),C=new Uint8Array(o,y+i+s+l,4);x[0]=p[0],x[1]=p[1],x[2]=p[2],A[0]=f[0],A[1]=f[1],A[2]=f[2],w[0]=v.w,w[1]=v.x,w[2]=v.y,w[3]=v.z,C[0]=m[0],C[1]=m[1],C[2]=m[2],C[3]=m[3]}}static parseToUncompressedSplatArraySection(e,t,n,r,o){for(let a=e;a<=t;a++){let i=a*us.RowSizeBytes+r,s=new Float32Array(n,i,3),l=new Float32Array(n,i+us.CenterSizeBytes,3),c=new Uint8Array(n,i+us.CenterSizeBytes+us.ScaleSizeBytes,4),u=new Uint8Array(n,i+us.CenterSizeBytes+us.ScaleSizeBytes+us.RotationSizeBytes,4),d=new Vo((u[1]-128)/128,(u[2]-128)/128,(u[3]-128)/128,(u[0]-128)/128);d.normalize(),o.addSplatFromComonents(s[0],s[1],s[2],l[0],l[1],l[2],d.w,d.x,d.y,d.z,c[0],c[1],c[2],c[3])}}static parseStandardSplatToUncompressedSplatArray(e){let t=e.byteLength/us.RowSizeBytes,n=new On;for(let r=0;r{let N=O>=100;if(U)k.push(U);if(p===rl.DownloadBeforeProcessing){if(N)E.resolve(k);return}if(!D)if(n)throw new FW("Cannon directly load .splat because no file size info is available.");else{p=rl.DownloadBeforeProcessing;return}if(!v){A=D/us.RowSizeBytes,v=new ArrayBuffer(D);let _=mt.CompressionLevels[0].SphericalHarmonicsDegrees[0].BytesPerSplat,G=f+_*A;if(p===rl.ProgressiveToSplatBuffer)y=new ArrayBuffer(G),mt.writeHeaderToBuffer({versionMajor:mt.CurrentMajorVersion,versionMinor:mt.CurrentMinorVersion,maxSectionCount:g,sectionCount:g,maxSplatCount:A,splatCount:w,compressionLevel:0,sceneCenter:new he},y);else C=new On(0)}if(U){new Uint8Array(v,I,U.byteLength).set(new Uint8Array(U)),I+=U.byteLength;let _=I-T;if(_>m||N){let Z=(N?_:m)/us.RowSizeBytes,q=w+Z;if(p===rl.ProgressiveToSplatBuffer)us.parseToUncompressedSplatBufferSection(w,q-1,v,0,y,f);else us.parseToUncompressedSplatArraySection(w,q-1,v,0,C);if(w=q,p===rl.ProgressiveToSplatBuffer){if(!x)mt.writeSectionHeaderToBuffer({maxSplatCount:A,splatCount:w,bucketSize:0,bucketCount:0,bucketBlockSize:0,compressionScaleRange:0,storageSizeBytes:0,fullBucketCount:0,partiallyFilledBucketCount:0},0,y,mt.HeaderSizeBytes),x=new mt(y,!1);if(x.updateLoadedCounts(1,w),r)r(x,N)}T+=m}}if(N)if(p===rl.ProgressiveToSplatBuffer)E.resolve(x);else E.resolve(C);if(t)t(O,B,fd.Downloading)};if(t)t(0,"0%",fd.Downloading);return $ge(e,L,!1,s).then(()=>{if(t)t(0,"0%",fd.Processing);return E.promise.then((O)=>{if(t)t(100,"100%",fd.Done);if(p===rl.DownloadBeforeProcessing)return new Blob(k).arrayBuffer().then((B)=>RGe.loadFromFileData(B,o,a,i,l,c,u,d));else if(p===rl.ProgressiveToSplatBuffer)return O;else return d1(()=>l1n(O,i,o,a,l,c,u,d))})})}static loadFromFileData(e,t,n,r,o,a,i,s){return d1(()=>{let l=us.parseStandardSplatToUncompressedSplatArray(e);return l1n(l,r,t,n,o,a,i,s)})}}class PGe{static elementIDGen=0;constructor(e,t){this.taskIDGen=0,this.elementID=PGe.elementIDGen++,this.tasks=[],this.message=e||"Loading...",this.container=t||document.body,this.spinnerContainerOuter=document.createElement("div"),this.spinnerContainerOuter.className=`spinnerOuterContainer${this.elementID}`,this.spinnerContainerOuter.style.display="none",this.spinnerContainerPrimary=document.createElement("div"),this.spinnerContainerPrimary.className=`spinnerContainerPrimary${this.elementID}`,this.spinnerPrimary=document.createElement("div"),this.spinnerPrimary.classList.add(`spinner${this.elementID}`,`spinnerPrimary${this.elementID}`),this.messageContainerPrimary=document.createElement("div"),this.messageContainerPrimary.classList.add(`messageContainer${this.elementID}`,`messageContainerPrimary${this.elementID}`),this.messageContainerPrimary.innerHTML=this.message,this.spinnerContainerMin=document.createElement("div"),this.spinnerContainerMin.className=`spinnerContainerMin${this.elementID}`,this.spinnerMin=document.createElement("div"),this.spinnerMin.classList.add(`spinner${this.elementID}`,`spinnerMin${this.elementID}`),this.messageContainerMin=document.createElement("div"),this.messageContainerMin.classList.add(`messageContainer${this.elementID}`,`messageContainerMin${this.elementID}`),this.messageContainerMin.innerHTML=this.message,this.spinnerContainerPrimary.appendChild(this.spinnerPrimary),this.spinnerContainerPrimary.appendChild(this.messageContainerPrimary),this.spinnerContainerOuter.appendChild(this.spinnerContainerPrimary),this.spinnerContainerMin.appendChild(this.spinnerMin),this.spinnerContainerMin.appendChild(this.messageContainerMin),this.spinnerContainerOuter.appendChild(this.spinnerContainerMin);let n=document.createElement("style");n.innerHTML=` + `) + + b.join(" > ") + ); + } + return null; + }), + (wa.getPublicRootInstance = function (b) { + if (((b = b.current), !b.child)) return null; + switch (b.child.tag) { + case 27: + case 5: + return uF(b.child.stateNode); + default: + return b.child.stateNode; + } + }), + (wa.injectIntoDevTools = function () { + var b = { + bundleType: 0, + version: y4n, + rendererPackageName: v4n, + currentDispatcherRef: Zr, + reconcilerVersion: "19.3.0", + }; + if ( + (yWe !== null && (b.rendererConfig = yWe), + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u") + ) + b = !1; + else { + var S = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (S.isDisabled || !S.supportsFiber) b = !0; + else { + try { + ((fF = S.inject(b)), (K0 = S)); + } catch {} + b = !!S.checkDCE; + } + } + return b; + }), + (wa.isAlreadyRendering = function () { + return (Sa & 6) !== 0; + }), + (wa.observeVisibleRects = function (b, S, R, F) { + if (!dF) throw Error(o(363)); + b = v2e(b, S); + var V = q4n(b, R, F).disconnect; + return { + disconnect: function () { + V(); + }, + }; + }), + (wa.shouldError = function () { + return null; + }), + (wa.shouldSuspend = function () { + return !1; + }), + (wa.startHostTransition = function (b, S, R, F) { + if (b.tag !== 5) throw Error(o(476)); + var V = VQe(b).queue; + HQe( + b, + V, + S, + Tk, + R === null + ? r + : function () { + var W = VQe(b); + return ( + W.next === null && (W = b.alternate.memoizedState), + tF(b, W.next.queue, {}, X0()), + R(F) + ); + }, + ); + }), + (wa.updateContainer = function (b, S, R, F) { + var V = S.current, + W = X0(); + return (dWe(V, W, b, S, R, F), W); + }), + (wa.updateContainerSync = function (b, S, R, F) { + return (dWe(S.current, 2, b, S, R, F), 2); + }), + wa + ); + }), + (e.exports.default = e.exports), + Object.defineProperty(e.exports, "__esModule", { value: !0 })); + })(OVe)), + OVe.exports + ); +} +function nFr() { + return (sgn || ((sgn = 1), (agn.exports = eFr())), agn.exports); +} +function aFr(e) { + let t = oFr(e); + return (t.injectIntoDevTools(), t); +} +function XVe(e) { + if (lFr(e)) { + let t = `${sFr++}`; + return ((sO[t] = e), t); + } else Object.assign(sO, e); +} +function Ign(e, t) { + let n = Hge(e), + r = sO[n]; + if (e !== "primitive" && !r) + throw Error( + `R3F: ${n} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`, + ); + if (e === "primitive" && !t.object) + throw Error("R3F: Primitives without 'object' are invalid!"); + if (t.args !== void 0 && !Array.isArray(t.args)) + throw Error("R3F: The args prop must be an array!"); +} +function cFr(e, t, n) { + var r; + if ( + ((e = Hge(e) in sO ? e : e.replace(iFr, "")), + Ign(e, t), + e === "primitive" && (r = t.object) != null && r.__r3f) + ) + delete t.object.__r3f; + return Fge(t.object, n, e, t); +} +function uFr(e) { + if (!e.isHidden) { + var t; + if (e.props.attach && (t = e.parent) != null && t.object) Nge(e.parent, e); + else if (Bh(e.object)) + ((e.previousVisible = e.object.visible), (e.object.visible = !1)); + ((e.isHidden = !0), lO(e)); + } +} +function Tgn(e) { + if (e.isHidden) { + var t; + if (e.props.attach && (t = e.parent) != null && t.object) Uge(e.parent, e); + else if (Bh(e.object)) { + var n; + e.object.visible = (n = e.previousVisible) != null ? n : !0; + } + ((e.previousVisible = void 0), (e.isHidden = !1), lO(e)); + } +} +function WVe(e, t, n) { + let r = t.root.getState(); + if (!e.parent && e.object !== r.scene) return; + if (!t.object) { + var o, a; + let i = sO[Hge(t.type)]; + ((t.object = + (o = t.props.object) != null + ? o + : new i(...((a = t.props.args) != null ? a : []))), + (t.object.__r3f = t)); + } + if ((x5(t.object, t.props), t.props.attach)) Uge(e, t); + else if (Bh(t.object) && Bh(e.object)) { + let i = e.object.children.indexOf(n == null ? void 0 : n.object); + if (n && i !== -1) { + let s = e.object.children.indexOf(t.object); + if (s !== -1) { + e.object.children.splice(s, 1); + let l = s < i ? i - 1 : i; + e.object.children.splice(l, 0, t.object); + } else + ((t.object.parent = e.object), + e.object.children.splice(i, 0, t.object), + t.object.dispatchEvent({ type: "added" }), + e.object.dispatchEvent({ type: "childadded", child: t.object })); + } else e.object.add(t.object); + } + for (let i of t.children) WVe(t, i); + lO(t); +} +function IVe(e, t) { + if (!t) return; + if (t.parent === e) { + let n = e.children.indexOf(t); + if (n !== -1) e.children.splice(n, 1); + } + ((t.parent = e), e.children.push(t), WVe(e, t)); +} +function lgn(e, t, n) { + if (!t || !n) return; + if (t.parent === e) { + let o = e.children.indexOf(t); + if (o !== -1) e.children.splice(o, 1); + } + t.parent = e; + let r = e.children.indexOf(n); + if (r !== -1) e.children.splice(r, 0, t); + else e.children.push(t); + WVe(e, t, n); +} +function kgn(e) { + if (typeof e.dispose === "function") { + let t = () => { + try { + e.dispose(); + } catch {} + }; + if (typeof IS_REACT_ACT_ENVIRONMENT < "u") t(); + else Yf.unstable_scheduleCallback(Yf.unstable_IdlePriority, t); + } +} +function FVe(e, t, n) { + if (!t) return; + t.parent = null; + let r = e.children.indexOf(t); + if (r !== -1) e.children.splice(r, 1); + if (t.props.attach) Nge(e, t); + else if (Bh(t.object) && Bh(e.object)) + (e.object.remove(t.object), _Or(zVe(t), t.object)); + let o = t.props.dispose !== null && n !== !1; + for (let a = t.children.length - 1; a >= 0; a--) { + let i = t.children[a]; + FVe(t, i, o); + } + if ( + ((t.children.length = 0), + delete t.object.__r3f, + o && t.type !== "primitive" && t.object.type !== "Scene") + ) + kgn(t.object); + if (n === void 0) lO(t); +} +function dFr(e, t) { + for (let n of [e, e.alternate]) + if (n !== null) { + if (typeof n.ref === "function") { + n.refCleanup == null || n.refCleanup(); + let r = n.ref(t); + if (typeof r === "function") n.refCleanup = r; + } else if (n.ref) n.ref.current = t; + } +} +function pFr() { + if (kW.length === 0) return; + try { + fFr(); + } finally { + kW.length = 0; + } +} +function fFr() { + for (let [n] of kW) { + let r = n.parent; + if (r) { + if (n.props.attach) Nge(r, n); + else if (Bh(n.object) && Bh(r.object)) r.object.remove(n.object); + for (let o of n.children) + if (o.props.attach) Nge(n, o); + else if (Bh(o.object) && Bh(n.object)) n.object.remove(o.object); + } + if (n.isHidden) Tgn(n); + if (n.object.__r3f) delete n.object.__r3f; + if (n.type !== "primitive") kgn(n.object); + } + for (let [n, r, o] of kW) { + n.props = r; + let a = n.parent; + if (a) { + var e, t; + let i = sO[Hge(n.type)], + s = n.object; + if ( + ((n.object = + (e = n.props.object) != null + ? e + : new i(...((t = n.props.args) != null ? t : []))), + (n.object.__r3f = n), + dFr(o, n.object), + zOr(zVe(n), s, n.object), + x5(n.object, n.props), + n.props.attach) + ) + Uge(a, n); + else if (Bh(n.object) && Bh(a.object)) a.object.add(n.object); + for (let l of n.children) + if (l.props.attach) Uge(n, l); + else if (Bh(l.object) && Bh(n.object)) n.object.add(l.object); + lO(n); + } + } +} +function mFr(e) { + switch (e) { + case "beforetoggle": + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return ogn; + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return rgn; + case "message": + switch (Yf.unstable_getCurrentPriorityLevel()) { + case Yf.unstable_ImmediatePriority: + return ogn; + case Yf.unstable_UserBlockingPriority: + return rgn; + case Yf.unstable_NormalPriority: + case Yf.unstable_LowPriority: + return Bge; + case Yf.unstable_IdlePriority: + return qOr; + default: + return Bge; + } + default: + return Bge; + } +} +function hFr(e) { + if (typeof queueMicrotask === "function") queueMicrotask(e); + else if (typeof Promise < "u") + Promise.resolve() + .then(e) + .catch((t) => { + setTimeout(() => { + throw t; + }); + }); + else setTimeout(e); +} +function zge(e, t) { + let n = e.state; + switch (t.type) { + case "use": + if (n.status === "disposed") return !1; + return ((e.state = { status: "open" }), !0); + case "unmount": + if (n.status === "disposed") return !1; + return ((e.state = { status: "closing", token: t.token }), !0); + case "dispose": + if (n.status !== "closing" || n.token !== t.token) return !1; + return ((e.state = { status: "disposed" }), !0); + } +} +function YVe(e) { + let t = lS.get(e), + n = t == null ? void 0 : t.fiber, + r = t == null ? void 0 : t.store; + if (t) console.warn("R3F.createRoot should only be called once!"); + let o = typeof reportError === "function" ? reportError : console.error, + a = r || HOr(Vge, KVe), + i = n || N7.createContainer(a, GOr, null, !1, null, "", o, o, o, null), + s = t || { + fiber: i, + store: a, + state: { status: "open" }, + ready: YOr(void 0), + configuration: {}, + ownsRenderer: !1, + }; + if (!t) lS.set(e, s); + let l = !1; + return { + get ready() { + return s.ready; + }, + configure(c = {}) { + if (!zge(s, { type: "use" })) + return KOr( + Error("R3F: Cannot configure a root after disposal has started."), + ); + let u = s.ready, + { promise: d, resolve: p, reject: f } = JOr(); + s.ready = d; + let m = (v) => { + let y = a.getState(); + if (!y.gl) ((s.ownsRenderer = !HVe(c.gl)), y.set({ gl: v })); + (WOr(s, e, c), p(this)); + }, + g = () => { + try { + var v; + let y = (v = a.getState().gl) != null ? v : QOr(e, c.gl); + if (QVe(y)) Promise.resolve(y).then(m).catch(f); + else m(y); + } catch (y) { + f(y); + } + }; + if (u.status === "pending") u.then(g, f); + else g(); + return d; + }, + render(c) { + if (!zge(s, { type: "use" })) return a; + if (!a.getState().gl && s.ready.status === "fulfilled") this.configure(); + if (s.ready.status === "rejected") throw s.ready.reason; + let u = () => { + var d; + if (s.state.status !== "open" || s.ready.status === "rejected") return; + if (s.ready.status === "pending") { + s.ready.then(u, o); + return; + } + let p = (d = s.configuration.previous) == null ? void 0 : d.onCreated, + f = h(gFr, { store: a, children: c, onCreated: p, rootElement: e }); + if (l) { + N7.updateContainer(f, i, null, Oge); + return; + } + ((l = !0), N7.updateContainerSync(f, i, null, Oge), N7.flushSyncWork()); + }; + return (u(), a); + }, + unmount() { + if (lS.get(e) === s) Rgn(e); + }, + }; +} +function gFr({ store: e, children: t, onCreated: n, rootElement: r }) { + return ( + z7(() => { + let o = e.getState(); + if ((o.set((a) => ({ internal: { ...a.internal, active: !0 } })), n)) + n(o); + if (!e.getState().events.connected) + o.events.connect == null || o.events.connect(r); + }, []), + h(VVe.Provider, { value: e, children: t }) + ); +} +function yFr(e) { + if ((e.hasInitialized == null ? void 0 : e.hasInitialized()) === !1) return; + let t = sS(() => { + var n; + return e.dispose + ? e.dispose() + : (n = e.renderLists) == null + ? void 0 + : n.dispose == null + ? void 0 + : n.dispose(); + }); + if (QVe(t)) + return Promise.resolve(t) + .catch((n) => console.warn("[R3F] Error disposing renderer", n)) + .then(() => + sS(() => (e.forceContextLoss == null ? void 0 : e.forceContextLoss())), + ); + sS(() => (e.forceContextLoss == null ? void 0 : e.forceContextLoss())); +} +function sS(e) { + try { + return e(); + } catch (t) { + console.warn( + "[R3F] Error while unmounting root; teardown may be incomplete:", + t, + ); + } +} +function Rgn(e, t) { + let n = lS.get(e), + r = Symbol("unmount"); + if (!n || !zge(n, { type: "unmount", token: r })) return; + let o = () => { + var a; + if (n.ready.status === "pending") { + n.ready.then(o, o); + return; + } + if (!zge(n, { type: "dispose", token: r })) return; + lS.delete(e); + let i = n.store.getState(); + if ( + ((i.internal.active = !1), + sS(() => (i.events.disconnect == null ? void 0 : i.events.disconnect())), + (a = i.gl) != null && a.xr) + ) + sS(() => i.xr.disconnect()); + if (i.scene) sS(() => xgn(i.scene)); + let s = i.gl, + l = void 0; + if (s && n.ownsRenderer) l = sS(() => yFr(s)); + else if (s) + (sS(() => { + var c; + return (c = s.renderLists) == null + ? void 0 + : c.dispose == null + ? void 0 + : c.dispose(); + }), + sS(() => (s.forceContextLoss == null ? void 0 : s.forceContextLoss()))); + if (QVe(l)) l.then(() => (t == null ? void 0 : t(e))); + else t == null || t(e); + }; + N7.updateContainer(null, n.fiber, null, () => { + if (n.state.status !== "closing" || n.state.token !== r) return; + N7.updateContainer(null, n.fiber, null, o); + }); +} +function kVe(e, t) { + if (!e.size) return; + for (let { callback: n } of e.values()) n(t); +} +function iO(e, t) { + switch (e) { + case "before": + return kVe(vFr, t); + case "after": + return kVe(bFr, t); + case "tail": + return kVe(xFr, t); + } +} +function UVe(e, t, n) { + let r = t.clock.getDelta(); + if (t.frameloop === "never" && typeof e === "number") + ((r = e - t.clock.elapsedTime), + (t.clock.oldTime = t.clock.elapsedTime), + (t.clock.elapsedTime = e)); + RVe = t.internal.subscribers; + for (let o = 0; o < RVe.length; o++) + ((PVe = RVe[o]), PVe.ref.current(PVe.store.getState(), r, n)); + if (!t.internal.priority && t.gl.render) t.gl.render(t.scene, t.camera); + return ( + (t.internal.frames = Math.max(0, t.internal.frames - 1)), + t.frameloop === "always" ? 1 : t.internal.frames + ); +} +function Pgn(e) { + ((ugn = requestAnimationFrame(Pgn)), + (_ge = !0), + (MVe = 0), + iO("before", e), + (NVe = !0)); + for (let n of lS.values()) { + var t; + if ( + ((aO = n.store.getState()), + aO.internal.active && + (aO.frameloop === "always" || aO.internal.frames > 0) && + !((t = aO.gl.xr) != null && t.isPresenting)) + ) + MVe += UVe(e, aO); + } + if (((NVe = !1), iO("after", e), MVe === 0)) + return (iO("tail", e), (_ge = !1), cancelAnimationFrame(ugn)); +} +function Vge(e, t = 1) { + var n; + if (!e) return lS.forEach((r) => Vge(r.store.getState(), t)); + if ( + ((n = e.gl.xr) != null && n.isPresenting) || + !e.internal.active || + e.frameloop === "never" + ) + return; + if (t > 1) e.internal.frames = Math.min(60, e.internal.frames + t); + else if (NVe) e.internal.frames = 2; + else e.internal.frames = 1; + if (!_ge) ((_ge = !0), requestAnimationFrame(Pgn)); +} +function KVe(e, t = !0, n, r) { + if (t) iO("before", e); + if (!n) for (let o of lS.values()) UVe(e, o.store.getState()); + else UVe(e, n, r); + if (t) iO("after", e); +} +function JVe(e) { + let { handlePointer: t } = Sgn(e); + return { + priority: 1, + enabled: !0, + compute(n, r, o) { + (r.pointer.set( + (n.offsetX / r.size.width) * 2 - 1, + -(n.offsetY / r.size.height) * 2 + 1, + ), + r.raycaster.setFromCamera(r.pointer, r.camera)); + }, + connected: void 0, + handlers: Object.keys(DVe).reduce((n, r) => ({ ...n, [r]: t(r) }), {}), + update: () => { + var n; + let { events: r, internal: o } = e.getState(); + if ((n = o.lastEvent) != null && n.current && r.handlers) + r.handlers.onPointerMove(o.lastEvent.current); + }, + connect: (n) => { + let { set: r, events: o } = e.getState(); + if ( + (o.disconnect == null || o.disconnect(), + r((a) => ({ events: { ...a.events, connected: n } })), + o.handlers) + ) + for (let a in o.handlers) { + let i = o.handlers[a], + [s, l] = DVe[a]; + n.addEventListener(s, i, { passive: l }); + } + }, + disconnect: () => { + let { set: n, events: r } = e.getState(); + if (r.connected) { + if (r.handlers) + for (let o in r.handlers) { + let a = r.handlers[o], + [i] = DVe[o]; + r.connected.removeEventListener(i, a); + } + n((o) => ({ events: { ...o.events, connected: void 0 } })); + } + }, + }; +} +var za, + dgn, + Yf, + POr, + pgn = (e) => e && e.isOrthographicCamera, + fgn = (e) => e && e.hasOwnProperty("current"), + MOr = (e) => + e != null && (typeof e === "string" || typeof e === "number" || e.isColor), + z7, + Oge = () => {}, + LOr, + ygn, + dd, + Agn, + egn, + BVe, + tgn, + FOr, + UOr, + Bh = (e) => (e == null ? void 0 : e.isObject3D), + HVe = (e) => !!(e != null && e.render), + VVe, + HOr = (e, t) => { + let n = G0n((s, l) => { + let c = new he(), + u = new he(), + d = new he(); + function p(y = l().camera, x = u, A = l().size) { + let { width: w, height: C, top: E, left: T } = A, + I = w / C; + if (x.isVector3) d.copy(x); + else d.set(...x); + let k = y.getWorldPosition(c).distanceTo(d); + if (pgn(y)) + return { + width: w / y.zoom, + height: C / y.zoom, + top: E, + left: T, + factor: 1, + distance: k, + aspect: I, + }; + else { + let L = (y.fov * Math.PI) / 180, + O = 2 * Math.tan(L / 2) * k, + B = O * (w / C); + return { + width: B, + height: O, + top: E, + left: T, + factor: w / B, + distance: k, + aspect: I, + }; + } + } + let f = void 0, + m = (y) => + s((x) => ({ performance: { ...x.performance, current: y } })), + g = new vt(); + return { + set: s, + get: l, + gl: null, + camera: null, + raycaster: null, + events: { priority: 1, enabled: !0, connected: !1 }, + scene: null, + xr: null, + invalidate: (y = 1) => e(l(), y), + advance: (y, x) => t(y, x, l()), + legacy: !1, + linear: !1, + flat: !1, + controls: null, + clock: new vW(), + pointer: g, + mouse: g, + frameloop: "always", + onPointerMissed: void 0, + performance: { + current: 1, + min: 0.5, + max: 1, + debounce: 200, + regress: () => { + let y = l(); + if (f) clearTimeout(f); + if (y.performance.current !== y.performance.min) + m(y.performance.min); + f = setTimeout( + () => m(l().performance.max), + y.performance.debounce, + ); + }, + }, + size: { width: 0, height: 0, top: 0, left: 0 }, + viewport: { + initialDpr: 0, + dpr: 0, + width: 0, + height: 0, + top: 0, + left: 0, + aspect: 0, + distance: 0, + factor: 0, + getCurrentViewport: p, + }, + setEvents: (y) => s((x) => ({ ...x, events: { ...x.events, ...y } })), + setSize: (y, x, A = 0, w = 0) => { + let C = l().camera, + E = { width: y, height: x, top: A, left: w }; + s((T) => ({ size: E, viewport: { ...T.viewport, ...p(C, u, E) } })); + }, + setDpr: (y) => + s((x) => { + let A = vgn(y); + return { + viewport: { + ...x.viewport, + dpr: A, + initialDpr: x.viewport.initialDpr || A, + }, + }; + }), + setFrameloop: (y = "always") => { + let x = l().clock; + if ((x.stop(), (x.elapsedTime = 0), y !== "never")) + (x.start(), (x.elapsedTime = 0)); + s(() => ({ frameloop: y })); + }, + previousRoot: void 0, + internal: { + interaction: [], + hovered: new Map(), + subscribers: [], + initialClick: [0, 0], + initialHits: [], + capturedMap: new Map(), + lastEvent: za.createRef(), + active: !1, + frames: 0, + priority: 0, + subscribe: (y, x, A) => { + let w = l().internal; + return ( + (w.priority = w.priority + (x > 0 ? 1 : 0)), + w.subscribers.push({ ref: y, priority: x, store: A }), + (w.subscribers = w.subscribers.sort( + (C, E) => C.priority - E.priority, + )), + () => { + let C = l().internal; + if (C != null && C.subscribers) + ((C.priority = C.priority - (x > 0 ? 1 : 0)), + (C.subscribers = C.subscribers.filter( + (E) => E.ref !== y, + ))); + } + ); + }, + }, + }; + }), + r = n.getState(), + o = r.size, + a = r.viewport.dpr, + i = r.camera; + return ( + n.subscribe(() => { + let { camera: s, size: l, viewport: c, gl: u, set: d } = n.getState(); + if (l.width !== o.width || l.height !== o.height || c.dpr !== a) { + if (((o = l), (a = c.dpr), NOr(s, l), c.dpr > 0)) + u.setPixelRatio(c.dpr); + let p = + typeof HTMLCanvasElement < "u" && + u.domElement instanceof HTMLCanvasElement; + u.setSize(l.width, l.height, p); + } + if (s !== i) + ((i = s), + d((p) => ({ + viewport: { ...p.viewport, ...p.viewport.getCurrentViewport(s) }, + }))); + }), + n.subscribe((s) => e(s)), + n + ); + }, + ngn, + VOr = (e) => { + var t; + return ( + typeof e === "function" && + (e == null + ? void 0 + : (t = e.prototype) == null + ? void 0 + : t.constructor) === e + ); + }, + GOr = 1, + rgn = 8, + Bge = 32, + ogn = 2, + qOr = 268435456, + ZOr, + QVe = (e) => typeof (e == null ? void 0 : e.then) === "function", + YOr = (e) => + Object.assign(Promise.resolve(e), { status: "fulfilled", value: e }), + KOr = (e) => { + let t = Promise.reject(e); + return ( + t.catch(() => {}), + Object.assign(t, { status: "rejected", reason: e }) + ); + }, + JOr = () => { + let e, + t, + n = new Promise((r, o) => { + ((e = (a) => { + (Object.assign(n, { status: "fulfilled", value: a }), r(a)); + }), + (t = (a) => { + (Object.assign(n, { status: "rejected", reason: a }), o(a)); + })); + }); + return ( + (n.status = "pending"), + n.catch(() => {}), + { promise: n, resolve: e, reject: t } + ); + }, + jOr, + agn, + OVe, + ign, + tFr, + sgn, + rFr, + oFr, + Egn = 0, + sO, + iFr, + Hge = (e) => `${e[0].toUpperCase()}${e.slice(1)}`, + sFr = 0, + lFr = (e) => typeof e === "function", + kW, + TVe = () => {}, + cgn, + Lge, + N7, + lS, + vFr, + bFr, + xFr, + RVe, + PVe, + _ge = !1, + NVe = !1, + MVe, + ugn, + aO, + DVe; +var jVe = P(() => { + O7(); + le(); + q0n(); + K0n(); + EVe(); + ((za = z(re())), (dgn = z(re())), (Yf = z(ZK()))); + ((POr = za.act), + (z7 = ((e, t) => + typeof window < "u" && + (((e = window.document) == null ? void 0 : e.createElement) || + ((t = window.navigator) == null ? void 0 : t.product) === + "ReactNative"))() + ? za.useLayoutEffect + : za.useEffect)); + LOr = za.Activity ? $0n : () => za.Fragment; + ygn = ((e) => ( + (e = class extends za.Component { + constructor(...n) { + super(...n); + this.state = { error: !1 }; + } + componentDidCatch(n) { + this.props.set(n); + } + render() { + return this.state.error ? null : this.props.children; + } + }), + (e.getDerivedStateFromError = () => ({ error: !0 })), + e + ))(); + dd = { + obj: (e) => e === Object(e) && !dd.arr(e) && typeof e !== "function", + fun: (e) => typeof e === "function", + str: (e) => typeof e === "string", + num: (e) => typeof e === "number", + boo: (e) => typeof e === "boolean", + und: (e) => e === void 0, + nul: (e) => e === null, + arr: (e) => Array.isArray(e), + equ( + e, + t, + { arrays: n = "shallow", objects: r = "reference", strict: o = !0 } = {}, + ) { + if (typeof e !== typeof t || !!e !== !!t) return !1; + if (dd.str(e) || dd.num(e) || dd.boo(e)) return e === t; + let a = dd.obj(e); + if (a && r === "reference") return e === t; + let i = dd.arr(e); + if (i && n === "reference") return e === t; + if ((i || a) && e === t) return !0; + let s; + for (s in e) if (!(s in t)) return !1; + if (a && n === "shallow" && r === "shallow") { + for (s in o ? t : e) + if (!dd.equ(e[s], t[s], { strict: o, objects: "reference" })) + return !1; + } else for (s in o ? t : e) if (e[s] !== t[s]) return !1; + if (dd.und(s)) { + if (i && e.length === 0 && t.length === 0) return !0; + if (a && Object.keys(e).length === 0 && Object.keys(t).length === 0) + return !0; + if (e !== t) return !1; + } + return !0; + }, + }; + Agn = ["children", "key", "ref"]; + egn = /-\d+$/; + ((BVe = [ + ...Agn, + "args", + "dispose", + "attach", + "object", + "onUpdate", + "dispose", + ]), + (tgn = new Map())); + ((FOr = [ + "map", + "emissiveMap", + "sheenColorMap", + "specularColorMap", + "envMap", + ]), + (UOr = /^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/)); + VVe = za.createContext(null); + ngn = new WeakMap(); + ZVe.preload = function (e, t, n) { + let r = Array.isArray(t) ? t : [t]; + return W0n(Cgn(n), [e, ...r]); + }; + ZVe.clear = function (e, t) { + let n = Array.isArray(t) ? t : [t]; + return Y0n([e, ...n]); + }; + ZOr = { objects: "shallow" }; + jOr = { + name: "@react-three/fiber", + version: "9.8.1", + description: "A React renderer for Threejs", + keywords: ["react", "renderer", "fiber", "three", "threejs"], + author: "Paul Henschel (https://github.com/drcmda)", + license: "MIT", + maintainers: [ + "Josh Ellis (https://github.com/joshuaellis)", + "Cody Bennett (https://github.com/codyjasonbennett)", + "Kris Baumgarter (https://github.com/krispya)", + ], + bugs: { url: "https://github.com/pmndrs/react-three-fiber/issues" }, + homepage: "https://github.com/pmndrs/react-three-fiber#readme", + repository: { + type: "git", + url: "git+https://github.com/pmndrs/react-three-fiber.git", + }, + collective: { + type: "opencollective", + url: "https://opencollective.com/react-three-fiber", + }, + main: "dist/react-three-fiber.cjs.js", + module: "dist/react-three-fiber.esm.js", + types: "dist/react-three-fiber.cjs.d.ts", + "react-native": "native/dist/react-three-fiber-native.cjs.js", + sideEffects: !1, + preconstruct: { entrypoints: ["index.tsx", "native.tsx"] }, + scripts: { prebuild: "cp ../../readme.md readme.md" }, + devDependencies: { + "@types/react-reconciler": "^0.33.0", + "react-reconciler": "^0.34.0", + }, + dependencies: { + "@babel/runtime": "^7.17.8", + "@types/webxr": "*", + "base64-js": "^1.5.1", + buffer: "^6.0.3", + "its-fine": "^2.1.1", + "react-use-measure": "^2.1.7", + scheduler: "^0.28.0", + "suspend-react": "^0.1.3", + "use-sync-external-store": "^1.4.0", + zustand: "^5.0.3", + }, + peerDependencies: { + expo: ">=43.0", + "expo-asset": ">=8.4", + "expo-file-system": ">=11.0", + "expo-gl": ">=11.0", + react: ">=19 <19.4", + "react-dom": ">=19 <19.4", + "react-native": ">=0.78", + three: ">=0.156", + }, + peerDependenciesMeta: { + "react-dom": { optional: !0 }, + "react-native": { optional: !0 }, + expo: { optional: !0 }, + "expo-asset": { optional: !0 }, + "expo-file-system": { optional: !0 }, + "expo-gl": { optional: !0 }, + }, + }; + ((agn = { exports: {} }), (OVe = { exports: {} })); + OVe.exports; + tFr = { exports: {} }; + tFr.exports; + ((rFr = nFr()), (oFr = $Or(rFr))); + ((sO = {}), (iFr = /^three(?=[A-Z])/)); + kW = []; + ((cgn = {}), (Lge = Egn)); + ((N7 = aFr({ + isPrimaryRenderer: !1, + warnsIfNotActing: !1, + supportsMutation: !0, + supportsPersistence: !1, + supportsHydration: !1, + createInstance: cFr, + removeChild: FVe, + appendChild: IVe, + appendInitialChild: IVe, + insertBefore: lgn, + appendChildToContainer(e, t) { + let n = e.getState().scene.__r3f; + if (!t || !n) return; + IVe(n, t); + }, + removeChildFromContainer(e, t) { + let n = e.getState().scene.__r3f; + if (!t || !n) return; + FVe(n, t); + }, + insertInContainerBefore(e, t, n) { + let r = e.getState().scene.__r3f; + if (!t || !n || !r) return; + lgn(r, t, n); + }, + getRootHostContext: () => cgn, + getChildHostContext: () => cgn, + commitUpdate(e, t, n, r, o) { + var a, i, s; + Ign(t, r); + let l = !1; + if (e.type === "primitive" && n.object !== r.object) l = !0; + else if ( + ((a = r.args) == null ? void 0 : a.length) !== + ((i = n.args) == null ? void 0 : i.length) + ) + l = !0; + else if ( + (s = r.args) != null && + s.some((c, u) => { + var d; + return c !== ((d = n.args) == null ? void 0 : d[u]); + }) + ) + l = !0; + if (l) kW.push([e, LVe(r), o]); + else { + let c = OOr(e, r), + u = e.props.attach; + if (((e.props = LVe(r)), u !== void 0)) e.props.attach = u; + else delete e.props.attach; + if (Object.keys(c).length) x5(e.object, c); + } + }, + finalizeInitialChildren: () => !1, + commitMount() {}, + getPublicInstance: (e) => (e == null ? void 0 : e.object), + prepareForCommit: () => null, + preparePortalMount: (e) => Fge(e.getState().scene, e, "", {}), + resetAfterCommit: pFr, + shouldSetTextContent: () => !1, + clearContainer: () => !1, + hideInstance: uFr, + unhideInstance: Tgn, + createTextInstance: TVe, + hideTextInstance: TVe, + unhideTextInstance: TVe, + supportsMicrotasks: !0, + scheduleMicrotask: hFr, + scheduleTimeout: typeof setTimeout === "function" ? setTimeout : void 0, + cancelTimeout: typeof clearTimeout === "function" ? clearTimeout : void 0, + noTimeout: -1, + getInstanceFromNode: () => null, + beforeActiveInstanceBlur() {}, + afterActiveInstanceBlur() {}, + detachDeletedInstance() {}, + prepareScopeUpdate() {}, + getInstanceFromScope: () => null, + shouldAttemptEagerTransition: () => !1, + trackSchedulerEvent: () => {}, + resolveEventType: () => null, + resolveEventTimeStamp: () => -1.1, + requestPostPaintCallback() {}, + maySuspendCommit: () => !1, + preloadInstance: () => !0, + suspendInstance() {}, + waitForCommitToBeReady: () => null, + NotPendingTransition: null, + HostTransitionContext: za.createContext(null), + setCurrentUpdatePriority(e) { + Lge = e; + }, + getCurrentUpdatePriority() { + return Lge; + }, + resolveUpdatePriority() { + var e; + if (Lge !== Egn) return Lge; + let t = + typeof window < "u" + ? (e = window.event) == null + ? void 0 + : e.type + : void 0; + if (t === void 0) return Bge; + return mFr(t); + }, + resetFormInstance() {}, + rendererPackageName: "@react-three/fiber", + rendererVersion: jOr.version, + applyViewTransitionName(e, t, n) {}, + restoreViewTransitionName(e, t) {}, + cancelViewTransitionName(e, t, n) {}, + cancelRootViewTransitionName(e) {}, + restoreRootViewTransitionName(e) {}, + InstanceMeasurement: null, + measureInstance: (e) => null, + wasInstanceInViewport: (e) => !0, + hasInstanceChanged: (e, t) => !1, + hasInstanceAffectedParent: (e, t) => !1, + suspendOnActiveViewTransition(e, t) {}, + startViewTransition(e, t, n, r, o, a, i, s, l, c, u) { + return (r(), o(), u == null || u(), i(), null); + }, + startGestureTransition(e, t, n, r, o, a, i, s, l, c) { + return (i(), s(), c == null || c(), null); + }, + stopViewTransition(e) {}, + addViewTransitionFinishedListener(e, t) { + t(); + }, + createViewTransitionInstance: (e) => null, + getCurrentGestureOffset(e) { + throw Error( + "startGestureTransition is not yet supported in react-three-fiber.", + ); + }, + cloneMutableInstance(e, t) { + return e; + }, + cloneMutableTextInstance(e) { + return e; + }, + cloneRootViewTransitionContainer(e) { + throw Error("Not implemented."); + }, + removeRootViewTransitionClone(e, t) { + throw Error("Not implemented."); + }, + createFragmentInstance: (e) => null, + updateFragmentInstanceFiber(e, t) {}, + commitNewChildToFragmentInstance(e, t) {}, + deleteChildFromFragmentInstance(e, t) {}, + measureClonedInstance: (e) => null, + maySuspendCommitOnUpdate: (e, t, n) => !1, + maySuspendCommitInSyncRender: (e, t) => !1, + startSuspendingCommit: () => null, + getSuspendedCommitReason: (e, t) => null, + })), + (lS = new Map())); + ((vFr = new Set()), (bFr = new Set()), (xFr = new Set())); + DVe = { + onClick: ["click", !1], + onContextMenu: ["contextmenu", !1], + onDoubleClick: ["dblclick", !1], + onWheel: ["wheel", !0], + onPointerDown: ["pointerdown", !0], + onPointerUp: ["pointerup", !0], + onPointerLeave: ["pointerleave", !0], + onPointerMove: ["pointermove", !0], + onPointerCancel: ["pointercancel", !0], + onLostPointerCapture: ["lostpointercapture", !0], + }; +}); +function Mgn(e, t) { + let n; + return (...r) => { + (window.clearTimeout(n), (n = window.setTimeout(() => e(...r), t))); + }; +} +function Dgn( + { debounce: e, scroll: t, polyfill: n, offsetSize: r } = { + debounce: 0, + scroll: !1, + offsetSize: !1, + }, +) { + let o = n || (typeof window > "u" ? class {} : window.ResizeObserver); + if (!o) + throw Error( + "This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills", + ); + let [a, i] = c1.useState({ + left: 0, + top: 0, + width: 0, + height: 0, + bottom: 0, + right: 0, + x: 0, + y: 0, + }), + s = c1.useRef({ + element: null, + scrollContainers: null, + resizeObserver: null, + lastBounds: a, + orientationHandler: null, + }), + l = e ? (typeof e == "number" ? e : e.scroll) : null, + c = e ? (typeof e == "number" ? e : e.resize) : null, + u = c1.useRef(!1); + c1.useEffect(() => ((u.current = !0), () => void (u.current = !1))); + let [d, p, f] = c1.useMemo(() => { + let y = () => { + if (!s.current.element) return; + let { + left: x, + top: A, + width: w, + height: C, + bottom: E, + right: T, + x: I, + y: k, + } = s.current.element.getBoundingClientRect(), + L = { + left: x, + top: A, + width: w, + height: C, + bottom: E, + right: T, + x: I, + y: k, + }; + (s.current.element instanceof HTMLElement && + r && + ((L.height = s.current.element.offsetHeight), + (L.width = s.current.element.offsetWidth)), + Object.freeze(L), + u.current && + !CFr(s.current.lastBounds, L) && + i((s.current.lastBounds = L))); + }; + return [y, c ? Mgn(y, c) : y, l ? Mgn(y, l) : y]; + }, [i, r, l, c]); + function m() { + (s.current.scrollContainers && + (s.current.scrollContainers.forEach((y) => + y.removeEventListener("scroll", f, !0), + ), + (s.current.scrollContainers = null)), + s.current.resizeObserver && + (s.current.resizeObserver.disconnect(), + (s.current.resizeObserver = null)), + s.current.orientationHandler && + ("orientation" in screen && "removeEventListener" in screen.orientation + ? screen.orientation.removeEventListener( + "change", + s.current.orientationHandler, + ) + : "onorientationchange" in window && + window.removeEventListener( + "orientationchange", + s.current.orientationHandler, + ))); + } + function g() { + s.current.element && + ((s.current.resizeObserver = new o(f)), + s.current.resizeObserver.observe(s.current.element), + t && + s.current.scrollContainers && + s.current.scrollContainers.forEach((y) => + y.addEventListener("scroll", f, { capture: !0, passive: !0 }), + ), + (s.current.orientationHandler = () => { + f(); + }), + "orientation" in screen && "addEventListener" in screen.orientation + ? screen.orientation.addEventListener( + "change", + s.current.orientationHandler, + ) + : "onorientationchange" in window && + window.addEventListener( + "orientationchange", + s.current.orientationHandler, + )); + } + let v = (y) => { + !y || + y === s.current.element || + (m(), + (s.current.element = y), + (s.current.scrollContainers = Lgn(y)), + g()); + }; + return ( + wFr(f, !!t), + AFr(p), + c1.useEffect(() => { + (m(), g()); + }, [t, f, p]), + c1.useEffect(() => m, []), + [v, a, d] + ); +} +function AFr(e) { + c1.useEffect(() => { + let t = e; + return ( + window.addEventListener("resize", t), + () => void window.removeEventListener("resize", t) + ); + }, [e]); +} +function wFr(e, t) { + c1.useEffect(() => { + if (t) { + let n = e; + return ( + window.addEventListener("scroll", n, { capture: !0, passive: !0 }), + () => void window.removeEventListener("scroll", n, !0) + ); + } + }, [e, t]); +} +function Lgn(e) { + let t = []; + if (!e || e === document.body) return t; + let { overflow: n, overflowX: r, overflowY: o } = window.getComputedStyle(e); + return ( + [n, r, o].some((a) => a === "auto" || a === "scroll") && t.push(e), + [...t, ...Lgn(e.parentElement)] + ); +} +var c1, + SFr, + CFr = (e, t) => SFr.every((n) => e[n] === t[n]); +var Bgn = P(() => { + c1 = z(re(), 1); + SFr = ["x", "y", "top", "bottom", "left", "right", "width", "height"]; +}); +function EFr({ + ref: e, + children: t, + fallback: n, + resize: r, + style: o, + gl: a, + events: i = JVe, + eventSource: s, + eventPrefix: l, + shadows: c, + linear: u, + flat: d, + legacy: p, + orthographic: f, + frameloop: m, + dpr: g, + performance: v, + raycaster: y, + camera: x, + scene: A, + onPointerMissed: w, + onCreated: C, + ...E +}) { + pd.useMemo(() => XVe(CW), []); + let T = hgn(), + [I, k] = Dgn({ scroll: !0, debounce: { scroll: 50, resize: 0 }, ...r }), + L = pd.useRef(null), + O = pd.useRef(null); + pd.useImperativeHandle(e, () => L.current); + let B = _Ve(w), + U = pd.useCallback( + (oe) => (B.current == null ? void 0 : B.current(oe)), + [B], + ), + [D, N] = pd.useState(!1), + [_, G] = pd.useState(!1); + if (D) throw D; + if (_) throw _; + let Z = pd.useRef(null), + [q, H] = mgn(), + te = pd.useRef(null), + ie = () => (s ? (fgn(s) ? s.current : s) : O.current); + return ( + pd.useInsertionEffect( + () => () => { + let oe = Z.current; + ((Z.current = null), oe == null || oe.unmount()); + }, + [], + ), + z7(() => { + let oe = L.current; + if (k.width > 0 && k.height > 0 && oe) { + if (!Z.current) Z.current = YVe(oe); + if ( + (Z.current + .configure({ + gl: a, + scene: A, + events: i, + shadows: c, + linear: u, + flat: d, + legacy: p, + orthographic: f, + frameloop: m, + dpr: g, + performance: v, + raycaster: y, + camera: x, + size: k, + onPointerMissed: U, + onCreated: (J) => { + var Y; + if ( + ((te.current = J), + J.events.connect == null || + J.events.connect((Y = ie()) != null ? Y : O.current), + l) + ) + J.setEvents({ + compute: (ae, ne) => { + let Se = ae[l + "X"], + fe = ae[l + "Y"]; + (ne.pointer.set( + (Se / ne.size.width) * 2 - 1, + -(fe / ne.size.height) * 2 + 1, + ), + ne.raycaster.setFromCamera(ne.pointer, ne.camera)); + }, + }); + C == null || C(J); + }, + }) + .catch(G), + Z.current.ready.status === "fulfilled") + ) + Z.current.render( + h(T, { + children: h(ygn, { + set: G, + children: h(pd.Suspense, { + fallback: h(ggn, { set: N }), + children: t != null ? t : null, + }), + }), + }), + ); + else if (Z.current.ready.status === "pending") H(Z.current.ready); + } + }), + pd.useEffect(() => { + var oe; + let J = (oe = te.current) == null ? void 0 : oe.get(), + Y = ie(); + if (J && Y && J.events.connected !== Y) + J.events.connect == null || J.events.connect(Y); + }), + pd.useEffect(() => { + let oe = L.current; + return () => { + var J; + if (!oe.isConnected) (J = Z.current) == null || J.unmount(); + }; + }, []), + M("div", { + ref: O, + style: { + position: "relative", + width: "100%", + height: "100%", + overflow: "hidden", + pointerEvents: s ? "none" : "auto", + ...o, + }, + ...E, + children: [ + h("div", { + ref: I, + style: { width: "100%", height: "100%" }, + children: h("canvas", { + ref: L, + style: { display: "block" }, + children: n, + }), + }), + q, + ], + }) + ); +} +function Ogn(e) { + return h(Mge, { children: h(EFr, { ...e }) }); +} +var pd, VAs; +var Fgn = P(() => { + jVe(); + jVe(); + O7(); + Bgn(); + EVe(); + le(); + ((pd = z(re())), (VAs = z(ZK()))); +}); +function TFr(e) { + if (this.enabled === !1) return; + if (this._pointers.length === 0) + (this.domElement.setPointerCapture(e.pointerId), + this.domElement.ownerDocument.addEventListener( + "pointermove", + this._onPointerMove, + ), + this.domElement.ownerDocument.addEventListener( + "pointerup", + this._onPointerUp, + )); + if (this._isTrackingPointer(e)) return; + if ((this._addPointer(e), e.pointerType === "touch")) this._onTouchStart(e); + else this._onMouseDown(e); + if (this._cursorStyle === "grab") this.domElement.style.cursor = "grabbing"; +} +function kFr(e) { + if (this.enabled === !1) return; + if (e.pointerType === "touch") this._onTouchMove(e); + else this._onMouseMove(e); +} +function RFr(e) { + switch ((this._removePointer(e), this._pointers.length)) { + case 0: + if ( + (this.domElement.releasePointerCapture(e.pointerId), + this.domElement.ownerDocument.removeEventListener( + "pointermove", + this._onPointerMove, + ), + this.domElement.ownerDocument.removeEventListener( + "pointerup", + this._onPointerUp, + ), + this.dispatchEvent(zgn), + (this.state = Yi.NONE), + this._cursorStyle === "grab") + ) + this.domElement.style.cursor = "grab"; + break; + case 1: + let t = this._pointers[0], + n = this._pointerPositions[t]; + this._onTouchStart({ pointerId: t, pageX: n.x, pageY: n.y }); + break; + } +} +function PFr(e) { + let t; + switch (e.button) { + case 0: + t = this.mouseButtons.LEFT; + break; + case 1: + t = this.mouseButtons.MIDDLE; + break; + case 2: + t = this.mouseButtons.RIGHT; + break; + default: + t = -1; + } + switch (t) { + case Bm.DOLLY: + if (this.enableZoom === !1) return; + (this._handleMouseDownDolly(e), (this.state = Yi.DOLLY)); + break; + case Bm.ROTATE: + if (e.ctrlKey || e.metaKey || e.shiftKey) { + if (this.enablePan === !1) return; + (this._handleMouseDownPan(e), (this.state = Yi.PAN)); + } else { + if (this.enableRotate === !1) return; + (this._handleMouseDownRotate(e), (this.state = Yi.ROTATE)); + } + break; + case Bm.PAN: + if (e.ctrlKey || e.metaKey || e.shiftKey) { + if (this.enableRotate === !1) return; + (this._handleMouseDownRotate(e), (this.state = Yi.ROTATE)); + } else { + if (this.enablePan === !1) return; + (this._handleMouseDownPan(e), (this.state = Yi.PAN)); + } + break; + default: + this.state = Yi.NONE; + } + if (this.state !== Yi.NONE) this.dispatchEvent(eGe); +} +function MFr(e) { + switch (this.state) { + case Yi.ROTATE: + if (this.enableRotate === !1) return; + this._handleMouseMoveRotate(e); + break; + case Yi.DOLLY: + if (this.enableZoom === !1) return; + this._handleMouseMoveDolly(e); + break; + case Yi.PAN: + if (this.enablePan === !1) return; + this._handleMouseMovePan(e); + break; + } +} +function DFr(e) { + if (this.enabled === !1 || this.enableZoom === !1 || this.state !== Yi.NONE) + return; + (e.preventDefault(), + this.dispatchEvent(eGe), + this._handleMouseWheel(this._customWheelEvent(e)), + this.dispatchEvent(zgn)); +} +function LFr(e) { + if (this.enabled === !1) return; + this._handleKeyDown(e); +} +function BFr(e) { + switch ((this._trackPointer(e), this._pointers.length)) { + case 1: + switch (this.touches.ONE) { + case Om.ROTATE: + if (this.enableRotate === !1) return; + (this._handleTouchStartRotate(e), (this.state = Yi.TOUCH_ROTATE)); + break; + case Om.PAN: + if (this.enablePan === !1) return; + (this._handleTouchStartPan(e), (this.state = Yi.TOUCH_PAN)); + break; + default: + this.state = Yi.NONE; + } + break; + case 2: + switch (this.touches.TWO) { + case Om.DOLLY_PAN: + if (this.enableZoom === !1 && this.enablePan === !1) return; + (this._handleTouchStartDollyPan(e), + (this.state = Yi.TOUCH_DOLLY_PAN)); + break; + case Om.DOLLY_ROTATE: + if (this.enableZoom === !1 && this.enableRotate === !1) return; + (this._handleTouchStartDollyRotate(e), + (this.state = Yi.TOUCH_DOLLY_ROTATE)); + break; + default: + this.state = Yi.NONE; + } + break; + default: + this.state = Yi.NONE; + } + if (this.state !== Yi.NONE) this.dispatchEvent(eGe); +} +function OFr(e) { + switch ((this._trackPointer(e), this.state)) { + case Yi.TOUCH_ROTATE: + if (this.enableRotate === !1) return; + (this._handleTouchMoveRotate(e), this.update()); + break; + case Yi.TOUCH_PAN: + if (this.enablePan === !1) return; + (this._handleTouchMovePan(e), this.update()); + break; + case Yi.TOUCH_DOLLY_PAN: + if (this.enableZoom === !1 && this.enablePan === !1) return; + (this._handleTouchMoveDollyPan(e), this.update()); + break; + case Yi.TOUCH_DOLLY_ROTATE: + if (this.enableZoom === !1 && this.enableRotate === !1) return; + (this._handleTouchMoveDollyRotate(e), this.update()); + break; + default: + this.state = Yi.NONE; + } +} +function FFr(e) { + if (this.enabled === !1) return; + e.preventDefault(); +} +function UFr(e) { + if (e.key === "Control") + ((this._controlActive = !0), + this.domElement + .getRootNode() + .addEventListener("keyup", this._interceptControlUp, { + passive: !0, + capture: !0, + })); +} +function NFr(e) { + if (e.key === "Control") + ((this._controlActive = !1), + this.domElement + .getRootNode() + .removeEventListener("keyup", this._interceptControlUp, { + passive: !0, + capture: !0, + })); +} +var Ugn, + eGe, + zgn, + Gge, + Ngn, + IFr, + lp, + U0, + Yi, + $Ve = 0.000001, + tGe; +var _gn = P(() => { + O7(); + ((Ugn = { type: "change" }), + (eGe = { type: "start" }), + (zgn = { type: "end" }), + (Gge = new Vy()), + (Ngn = new Ih()), + (IFr = Math.cos(70 * g5.DEG2RAD)), + (lp = new he()), + (U0 = 2 * Math.PI), + (Yi = { + NONE: -1, + ROTATE: 0, + DOLLY: 1, + PAN: 2, + TOUCH_ROTATE: 3, + TOUCH_PAN: 4, + TOUCH_DOLLY_PAN: 5, + TOUCH_DOLLY_ROTATE: 6, + })); + tGe = class tGe extends bW { + constructor(e, t = null) { + super(e, t); + if ( + ((this.state = Yi.NONE), + (this.target = new he()), + (this.cursor = new he()), + (this.minDistance = 0), + (this.maxDistance = 1 / 0), + (this.minZoom = 0), + (this.maxZoom = 1 / 0), + (this.minTargetRadius = 0), + (this.maxTargetRadius = 1 / 0), + (this.minPolarAngle = 0), + (this.maxPolarAngle = Math.PI), + (this.minAzimuthAngle = -1 / 0), + (this.maxAzimuthAngle = 1 / 0), + (this.enableDamping = !1), + (this.dampingFactor = 0.05), + (this.enableZoom = !0), + (this.zoomSpeed = 1), + (this.enableRotate = !0), + (this.rotateSpeed = 1), + (this.keyRotateSpeed = 1), + (this.enablePan = !0), + (this.panSpeed = 1), + (this.screenSpacePanning = !0), + (this.keyPanSpeed = 7), + (this.zoomToCursor = !1), + (this.autoRotate = !1), + (this.autoRotateSpeed = 2), + (this.keys = { + LEFT: "ArrowLeft", + UP: "ArrowUp", + RIGHT: "ArrowRight", + BOTTOM: "ArrowDown", + }), + (this.mouseButtons = { + LEFT: Bm.ROTATE, + MIDDLE: Bm.DOLLY, + RIGHT: Bm.PAN, + }), + (this.touches = { ONE: Om.ROTATE, TWO: Om.DOLLY_PAN }), + (this.target0 = this.target.clone()), + (this.position0 = this.object.position.clone()), + (this.zoom0 = this.object.zoom), + (this._cursorStyle = "auto"), + (this._domElementKeyEvents = null), + (this._lastPosition = new he()), + (this._lastQuaternion = new Vo()), + (this._lastTargetPosition = new he()), + (this._quat = new Vo().setFromUnitVectors(e.up, new he(0, 1, 0))), + (this._quatInverse = this._quat.clone().invert()), + (this._spherical = new iS()), + (this._sphericalDelta = new iS()), + (this._scale = 1), + (this._panOffset = new he()), + (this._rotateStart = new vt()), + (this._rotateEnd = new vt()), + (this._rotateDelta = new vt()), + (this._panStart = new vt()), + (this._panEnd = new vt()), + (this._panDelta = new vt()), + (this._dollyStart = new vt()), + (this._dollyEnd = new vt()), + (this._dollyDelta = new vt()), + (this._dollyDirection = new he()), + (this._mouse = new vt()), + (this._performCursorZoom = !1), + (this._pointers = []), + (this._pointerPositions = {}), + (this._controlActive = !1), + (this._onPointerMove = kFr.bind(this)), + (this._onPointerDown = TFr.bind(this)), + (this._onPointerUp = RFr.bind(this)), + (this._onContextMenu = FFr.bind(this)), + (this._onMouseWheel = DFr.bind(this)), + (this._onKeyDown = LFr.bind(this)), + (this._onTouchStart = BFr.bind(this)), + (this._onTouchMove = OFr.bind(this)), + (this._onMouseDown = PFr.bind(this)), + (this._onMouseMove = MFr.bind(this)), + (this._interceptControlDown = UFr.bind(this)), + (this._interceptControlUp = NFr.bind(this)), + this.domElement !== null) + ) + this.connect(this.domElement); + this.update(); + } + set cursorStyle(e) { + if (((this._cursorStyle = e), e === "grab")) + this.domElement.style.cursor = "grab"; + else this.domElement.style.cursor = "auto"; + } + get cursorStyle() { + return this._cursorStyle; + } + connect(e) { + (super.connect(e), + this.domElement.addEventListener("pointerdown", this._onPointerDown), + this.domElement.addEventListener("pointercancel", this._onPointerUp), + this.domElement.addEventListener("contextmenu", this._onContextMenu), + this.domElement.addEventListener("wheel", this._onMouseWheel, { + passive: !1, + }), + this.domElement + .getRootNode() + .addEventListener("keydown", this._interceptControlDown, { + passive: !0, + capture: !0, + }), + (this.domElement.style.touchAction = "none")); + } + disconnect() { + ((this.state = Yi.NONE), + this.domElement.removeEventListener("pointerdown", this._onPointerDown), + this.domElement.ownerDocument.removeEventListener( + "pointermove", + this._onPointerMove, + ), + this.domElement.ownerDocument.removeEventListener( + "pointerup", + this._onPointerUp, + ), + this.domElement.removeEventListener("pointercancel", this._onPointerUp), + this.domElement.removeEventListener("wheel", this._onMouseWheel), + this.domElement.removeEventListener("contextmenu", this._onContextMenu), + this.stopListenToKeyEvents()); + let e = this.domElement.getRootNode(); + (e.removeEventListener("keydown", this._interceptControlDown, { + capture: !0, + }), + e.removeEventListener("keyup", this._interceptControlUp, { + capture: !0, + }), + (this._controlActive = !1), + (this._pointers.length = 0), + (this._pointerPositions = {}), + (this.domElement.style.touchAction = ""), + (this.domElement.style.cursor = "auto")); + } + dispose() { + this.disconnect(); + } + getPolarAngle() { + return this._spherical.phi; + } + getAzimuthalAngle() { + return this._spherical.theta; + } + getDistance() { + return this.object.position.distanceTo(this.target); + } + listenToKeyEvents(e) { + (e.addEventListener("keydown", this._onKeyDown), + (this._domElementKeyEvents = e)); + } + stopListenToKeyEvents() { + if (this._domElementKeyEvents !== null) + (this._domElementKeyEvents.removeEventListener( + "keydown", + this._onKeyDown, + ), + (this._domElementKeyEvents = null)); + } + saveState() { + (this.target0.copy(this.target), + this.position0.copy(this.object.position), + (this.zoom0 = this.object.zoom)); + } + reset() { + (this.target.copy(this.target0), + this.object.position.copy(this.position0), + (this.object.zoom = this.zoom0), + this.object.updateProjectionMatrix(), + this.dispatchEvent(Ugn), + this.update(), + (this.state = Yi.NONE)); + } + pan(e, t) { + (this._pan(e, t), this.update()); + } + dollyIn(e) { + (this._dollyIn(e), this.update()); + } + dollyOut(e) { + (this._dollyOut(e), this.update()); + } + rotateLeft(e) { + (this._rotateLeft(e), this.update()); + } + rotateUp(e) { + (this._rotateUp(e), this.update()); + } + update(e = null) { + let t = this.object.position; + if ( + (lp.copy(t).sub(this.target), + lp.applyQuaternion(this._quat), + this._spherical.setFromVector3(lp), + this.autoRotate && this.state === Yi.NONE) + ) + this._rotateLeft(this._getAutoRotationAngle(e)); + if (this.enableDamping) + ((this._spherical.theta += + this._sphericalDelta.theta * this.dampingFactor), + (this._spherical.phi += + this._sphericalDelta.phi * this.dampingFactor)); + else + ((this._spherical.theta += this._sphericalDelta.theta), + (this._spherical.phi += this._sphericalDelta.phi)); + let n = this.minAzimuthAngle, + r = this.maxAzimuthAngle; + if (isFinite(n) && isFinite(r)) { + if (n < -Math.PI) n += U0; + else if (n > Math.PI) n -= U0; + if (r < -Math.PI) r += U0; + else if (r > Math.PI) r -= U0; + if (n <= r) + this._spherical.theta = Math.max( + n, + Math.min(r, this._spherical.theta), + ); + else + this._spherical.theta = + this._spherical.theta > (n + r) / 2 + ? Math.max(n, this._spherical.theta) + : Math.min(r, this._spherical.theta); + } + if ( + ((this._spherical.phi = Math.max( + this.minPolarAngle, + Math.min(this.maxPolarAngle, this._spherical.phi), + )), + this._spherical.makeSafe(), + this.enableDamping === !0) + ) + this.target.addScaledVector(this._panOffset, this.dampingFactor); + else this.target.add(this._panOffset); + (this.target.sub(this.cursor), + this.target.clampLength(this.minTargetRadius, this.maxTargetRadius), + this.target.add(this.cursor)); + let o = !1; + if ( + (this.zoomToCursor && this._performCursorZoom) || + this.object.isOrthographicCamera + ) + this._spherical.radius = this._clampDistance(this._spherical.radius); + else { + let a = this._spherical.radius; + ((this._spherical.radius = this._clampDistance( + this._spherical.radius * this._scale, + )), + (o = a != this._spherical.radius)); + } + if ( + (lp.setFromSpherical(this._spherical), + lp.applyQuaternion(this._quatInverse), + t.copy(this.target).add(lp), + this.object.lookAt(this.target), + this.enableDamping === !0) + ) + ((this._sphericalDelta.theta *= 1 - this.dampingFactor), + (this._sphericalDelta.phi *= 1 - this.dampingFactor), + this._panOffset.multiplyScalar(1 - this.dampingFactor)); + else (this._sphericalDelta.set(0, 0, 0), this._panOffset.set(0, 0, 0)); + if (this.zoomToCursor && this._performCursorZoom) { + let a = null; + if (this.object.isPerspectiveCamera) { + let i = lp.length(); + a = this._clampDistance(i * this._scale); + let s = i - a; + (this.object.position.addScaledVector(this._dollyDirection, s), + this.object.updateMatrixWorld(), + (o = !!s)); + } else if (this.object.isOrthographicCamera) { + let i = new he(this._mouse.x, this._mouse.y, 0); + i.unproject(this.object); + let s = this.object.zoom; + ((this.object.zoom = Math.max( + this.minZoom, + Math.min(this.maxZoom, this.object.zoom / this._scale), + )), + this.object.updateProjectionMatrix(), + (o = s !== this.object.zoom)); + let l = new he(this._mouse.x, this._mouse.y, 0); + (l.unproject(this.object), + this.object.position.sub(l).add(i), + this.object.updateMatrixWorld(), + (a = lp.length())); + } else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.", + ), + (this.zoomToCursor = !1)); + if (a !== null) + if (this.screenSpacePanning) + this.target + .set(0, 0, -1) + .transformDirection(this.object.matrix) + .multiplyScalar(a) + .add(this.object.position); + else if ( + (Gge.origin.copy(this.object.position), + Gge.direction.set(0, 0, -1).transformDirection(this.object.matrix), + Math.abs(this.object.up.dot(Gge.direction)) < IFr) + ) + this.object.lookAt(this.target); + else + (Ngn.setFromNormalAndCoplanarPoint(this.object.up, this.target), + Gge.intersectPlane(Ngn, this.target)); + } else if (this.object.isOrthographicCamera) { + let a = this.object.zoom; + if ( + ((this.object.zoom = Math.max( + this.minZoom, + Math.min(this.maxZoom, this.object.zoom / this._scale), + )), + a !== this.object.zoom) + ) + (this.object.updateProjectionMatrix(), (o = !0)); + } + if ( + ((this._scale = 1), + (this._performCursorZoom = !1), + o || + this._lastPosition.distanceToSquared(this.object.position) > $Ve || + 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > $Ve || + this._lastTargetPosition.distanceToSquared(this.target) > $Ve) + ) + return ( + this.dispatchEvent(Ugn), + this._lastPosition.copy(this.object.position), + this._lastQuaternion.copy(this.object.quaternion), + this._lastTargetPosition.copy(this.target), + !0 + ); + return !1; + } + _getAutoRotationAngle(e) { + if (e !== null) return (U0 / 60) * this.autoRotateSpeed * e; + else return (U0 / 60 / 60) * this.autoRotateSpeed; + } + _getZoomScale(e) { + let t = Math.abs(e * 0.01); + return Math.pow(0.95, this.zoomSpeed * t); + } + _rotateLeft(e) { + this._sphericalDelta.theta -= e; + } + _rotateUp(e) { + this._sphericalDelta.phi -= e; + } + _panLeft(e, t) { + (lp.setFromMatrixColumn(t, 0), + lp.multiplyScalar(-e), + this._panOffset.add(lp)); + } + _panUp(e, t) { + if (this.screenSpacePanning === !0) lp.setFromMatrixColumn(t, 1); + else (lp.setFromMatrixColumn(t, 0), lp.crossVectors(this.object.up, lp)); + (lp.multiplyScalar(e), this._panOffset.add(lp)); + } + _pan(e, t) { + let n = this.domElement; + if (this.object.isPerspectiveCamera) { + let r = this.object.position; + lp.copy(r).sub(this.target); + let o = lp.length(); + ((o *= Math.tan(((this.object.fov / 2) * Math.PI) / 180)), + this._panLeft((2 * e * o) / n.clientHeight, this.object.matrix), + this._panUp((2 * t * o) / n.clientHeight, this.object.matrix)); + } else if (this.object.isOrthographicCamera) + (this._panLeft( + (e * (this.object.right - this.object.left)) / + this.object.zoom / + n.clientWidth, + this.object.matrix, + ), + this._panUp( + (t * (this.object.top - this.object.bottom)) / + this.object.zoom / + n.clientHeight, + this.object.matrix, + )); + else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.", + ), + (this.enablePan = !1)); + } + _dollyOut(e) { + if (this.object.isPerspectiveCamera || this.object.isOrthographicCamera) + this._scale /= e; + else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.", + ), + (this.enableZoom = !1)); + } + _dollyIn(e) { + if (this.object.isPerspectiveCamera || this.object.isOrthographicCamera) + this._scale *= e; + else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.", + ), + (this.enableZoom = !1)); + } + _updateZoomParameters(e, t) { + if (!this.zoomToCursor) return; + this._performCursorZoom = !0; + let n = this.domElement.getBoundingClientRect(), + r = e - n.left, + o = t - n.top, + { width: a, height: i } = n; + ((this._mouse.x = (r / a) * 2 - 1), + (this._mouse.y = -(o / i) * 2 + 1), + this._dollyDirection + .set(this._mouse.x, this._mouse.y, 1) + .unproject(this.object) + .sub(this.object.position) + .normalize()); + } + _clampDistance(e) { + return Math.max(this.minDistance, Math.min(this.maxDistance, e)); + } + _handleMouseDownRotate(e) { + this._rotateStart.set(e.clientX, e.clientY); + } + _handleMouseDownDolly(e) { + (this._updateZoomParameters(e.clientX, e.clientX), + this._dollyStart.set(e.clientX, e.clientY)); + } + _handleMouseDownPan(e) { + this._panStart.set(e.clientX, e.clientY); + } + _handleMouseMoveRotate(e) { + (this._rotateEnd.set(e.clientX, e.clientY), + this._rotateDelta + .subVectors(this._rotateEnd, this._rotateStart) + .multiplyScalar(this.rotateSpeed)); + let t = this.domElement; + (this._rotateLeft((U0 * this._rotateDelta.x) / t.clientHeight), + this._rotateUp((U0 * this._rotateDelta.y) / t.clientHeight), + this._rotateStart.copy(this._rotateEnd), + this.update()); + } + _handleMouseMoveDolly(e) { + if ( + (this._dollyEnd.set(e.clientX, e.clientY), + this._dollyDelta.subVectors(this._dollyEnd, this._dollyStart), + this._dollyDelta.y > 0) + ) + this._dollyOut(this._getZoomScale(this._dollyDelta.y)); + else if (this._dollyDelta.y < 0) + this._dollyIn(this._getZoomScale(this._dollyDelta.y)); + (this._dollyStart.copy(this._dollyEnd), this.update()); + } + _handleMouseMovePan(e) { + (this._panEnd.set(e.clientX, e.clientY), + this._panDelta + .subVectors(this._panEnd, this._panStart) + .multiplyScalar(this.panSpeed), + this._pan(this._panDelta.x, this._panDelta.y), + this._panStart.copy(this._panEnd), + this.update()); + } + _handleMouseWheel(e) { + if ((this._updateZoomParameters(e.clientX, e.clientY), e.deltaY < 0)) + this._dollyIn(this._getZoomScale(e.deltaY)); + else if (e.deltaY > 0) this._dollyOut(this._getZoomScale(e.deltaY)); + this.update(); + } + _handleKeyDown(e) { + let t = !1; + switch (e.code) { + case this.keys.UP: + if (e.ctrlKey || e.metaKey || e.shiftKey) { + if (this.enableRotate) + this._rotateUp( + (U0 * this.keyRotateSpeed) / this.domElement.clientHeight, + ); + } else if (this.enablePan) this._pan(0, this.keyPanSpeed); + t = !0; + break; + case this.keys.BOTTOM: + if (e.ctrlKey || e.metaKey || e.shiftKey) { + if (this.enableRotate) + this._rotateUp( + (-U0 * this.keyRotateSpeed) / this.domElement.clientHeight, + ); + } else if (this.enablePan) this._pan(0, -this.keyPanSpeed); + t = !0; + break; + case this.keys.LEFT: + if (e.ctrlKey || e.metaKey || e.shiftKey) { + if (this.enableRotate) + this._rotateLeft( + (U0 * this.keyRotateSpeed) / this.domElement.clientHeight, + ); + } else if (this.enablePan) this._pan(this.keyPanSpeed, 0); + t = !0; + break; + case this.keys.RIGHT: + if (e.ctrlKey || e.metaKey || e.shiftKey) { + if (this.enableRotate) + this._rotateLeft( + (-U0 * this.keyRotateSpeed) / this.domElement.clientHeight, + ); + } else if (this.enablePan) this._pan(-this.keyPanSpeed, 0); + t = !0; + break; + } + if (t) (e.preventDefault(), this.update()); + } + _handleTouchStartRotate(e) { + if (this._pointers.length === 1) this._rotateStart.set(e.pageX, e.pageY); + else { + let t = this._getSecondPointerPosition(e), + n = 0.5 * (e.pageX + t.x), + r = 0.5 * (e.pageY + t.y); + this._rotateStart.set(n, r); + } + } + _handleTouchStartPan(e) { + if (this._pointers.length === 1) this._panStart.set(e.pageX, e.pageY); + else { + let t = this._getSecondPointerPosition(e), + n = 0.5 * (e.pageX + t.x), + r = 0.5 * (e.pageY + t.y); + this._panStart.set(n, r); + } + } + _handleTouchStartDolly(e) { + let t = this._getSecondPointerPosition(e), + n = e.pageX - t.x, + r = e.pageY - t.y, + o = Math.sqrt(n * n + r * r); + this._dollyStart.set(0, o); + } + _handleTouchStartDollyPan(e) { + if (this.enableZoom) this._handleTouchStartDolly(e); + if (this.enablePan) this._handleTouchStartPan(e); + } + _handleTouchStartDollyRotate(e) { + if (this.enableZoom) this._handleTouchStartDolly(e); + if (this.enableRotate) this._handleTouchStartRotate(e); + } + _handleTouchMoveRotate(e) { + if (this._pointers.length == 1) this._rotateEnd.set(e.pageX, e.pageY); + else { + let n = this._getSecondPointerPosition(e), + r = 0.5 * (e.pageX + n.x), + o = 0.5 * (e.pageY + n.y); + this._rotateEnd.set(r, o); + } + this._rotateDelta + .subVectors(this._rotateEnd, this._rotateStart) + .multiplyScalar(this.rotateSpeed); + let t = this.domElement; + (this._rotateLeft((U0 * this._rotateDelta.x) / t.clientHeight), + this._rotateUp((U0 * this._rotateDelta.y) / t.clientHeight), + this._rotateStart.copy(this._rotateEnd)); + } + _handleTouchMovePan(e) { + if (this._pointers.length === 1) this._panEnd.set(e.pageX, e.pageY); + else { + let t = this._getSecondPointerPosition(e), + n = 0.5 * (e.pageX + t.x), + r = 0.5 * (e.pageY + t.y); + this._panEnd.set(n, r); + } + (this._panDelta + .subVectors(this._panEnd, this._panStart) + .multiplyScalar(this.panSpeed), + this._pan(this._panDelta.x, this._panDelta.y), + this._panStart.copy(this._panEnd)); + } + _handleTouchMoveDolly(e) { + let t = this._getSecondPointerPosition(e), + n = e.pageX - t.x, + r = e.pageY - t.y, + o = Math.sqrt(n * n + r * r); + (this._dollyEnd.set(0, o), + this._dollyDelta.set( + 0, + Math.pow(this._dollyEnd.y / this._dollyStart.y, this.zoomSpeed), + ), + this._dollyOut(this._dollyDelta.y), + this._dollyStart.copy(this._dollyEnd)); + let a = (e.pageX + t.x) * 0.5, + i = (e.pageY + t.y) * 0.5; + this._updateZoomParameters(a, i); + } + _handleTouchMoveDollyPan(e) { + if (this.enableZoom) this._handleTouchMoveDolly(e); + if (this.enablePan) this._handleTouchMovePan(e); + } + _handleTouchMoveDollyRotate(e) { + if (this.enableZoom) this._handleTouchMoveDolly(e); + if (this.enableRotate) this._handleTouchMoveRotate(e); + } + _addPointer(e) { + this._pointers.push(e.pointerId); + } + _removePointer(e) { + delete this._pointerPositions[e.pointerId]; + for (let t = 0; t < this._pointers.length; t++) + if (this._pointers[t] == e.pointerId) { + this._pointers.splice(t, 1); + return; + } + } + _isTrackingPointer(e) { + for (let t = 0; t < this._pointers.length; t++) + if (this._pointers[t] == e.pointerId) return !0; + return !1; + } + _trackPointer(e) { + let t = this._pointerPositions[e.pointerId]; + if (t === void 0) + ((t = new vt()), (this._pointerPositions[e.pointerId] = t)); + t.set(e.pageX, e.pageY); + } + _getSecondPointerPosition(e) { + let t = + e.pointerId === this._pointers[0] + ? this._pointers[1] + : this._pointers[0]; + return this._pointerPositions[t]; + } + _customWheelEvent(e) { + let t = e.deltaMode, + n = { clientX: e.clientX, clientY: e.clientY, deltaY: e.deltaY }; + switch (t) { + case 1: + n.deltaY *= 16; + break; + case 2: + n.deltaY *= 100; + break; + } + if (e.ctrlKey && !this._controlActive) n.deltaY *= 10; + return n; + } + }; +}); +function Hgn(e, t, n) { + let r = t.style.touchAction, + o = new tGe(e, t); + ((o.enableDamping = !0), + (o.dampingFactor = 0.05), + (o.minDistance = 0.5), + (o.maxDistance = 100), + o.addEventListener("change", n)); + let a = !1; + return { + controls: o, + dispose() { + if (a) return; + ((a = !0), + o.removeEventListener("change", n), + o.dispose(), + (t.style.touchAction = r)); + }, + }; +} +var Vgn = P(() => { + _gn(); +}); +class qgn { + constructor(e) { + ((this.arr = e), (this.i = 0)); + } + empty() { + return this.i >= this.arr.length; + } + next() { + return this.arr[this.i++]; + } +} +var Mv, nGe, Ggn; +var Zgn = P(() => { + O7(); + Mv = new _n(); + nGe = class nGe extends tf { + constructor(e) { + super(e); + ((this.propertyNameMapping = {}), (this.customPropertyMapping = {})); + } + load(e, t, n, r) { + let o = this, + a = new i1(this.manager); + (a.setPath(this.path), + a.setResponseType("arraybuffer"), + a.setRequestHeader(this.requestHeader), + a.setWithCredentials(this.withCredentials), + a.load( + e, + function (i) { + try { + t(o.parse(i)); + } catch (s) { + if (r) r(s); + else console.error(s); + o.manager.itemError(e); + } + }, + n, + r, + )); + } + setPropertyNameMapping(e) { + this.propertyNameMapping = e; + } + setCustomPropertyNameMapping(e) { + this.customPropertyMapping = e; + } + parse(e) { + function t(x, A = 0) { + let w = /^ply([\s\S]*)end_header(\r\n|\r|\n)/, + C = "", + E = w.exec(x); + if (E !== null) C = E[1]; + let T = { comments: [], elements: [], headerLength: A, objInfo: "" }, + I = C.split(/\r\n|\r|\n/), + k; + function L(O, B) { + let U = { type: O[0] }; + if (U.type === "list") + ((U.name = O[3]), (U.countType = O[1]), (U.itemType = O[2])); + else U.name = O[1]; + if (U.name in B) U.name = B[U.name]; + return U; + } + for (let O = 0; O < I.length; O++) { + let B = I[O]; + if (((B = B.trim()), B === "")) continue; + let U = B.split(/\s+/), + D = U.shift(); + switch (((B = U.join(" ")), D)) { + case "format": + ((T.format = U[0]), (T.version = U[1])); + break; + case "comment": + T.comments.push(B); + break; + case "element": + if (k !== void 0) T.elements.push(k); + ((k = {}), + (k.name = U[0]), + (k.count = parseInt(U[1])), + (k.properties = [])); + break; + case "property": + k.properties.push(L(U, y.propertyNameMapping)); + break; + case "obj_info": + T.objInfo = B; + break; + default: + console.log("unhandled", D, U); + } + } + if (k !== void 0) T.elements.push(k); + return T; + } + function n(x, A) { + switch (A) { + case "char": + case "uchar": + case "short": + case "ushort": + case "int": + case "uint": + case "int8": + case "uint8": + case "int16": + case "uint16": + case "int32": + case "uint32": + return parseInt(x); + case "float": + case "double": + case "float32": + case "float64": + return parseFloat(x); + } + } + function r(x, A) { + let w = {}; + for (let C = 0; C < x.length; C++) { + if (A.empty()) return null; + if (x[C].type === "list") { + let E = [], + T = n(A.next(), x[C].countType); + for (let I = 0; I < T; I++) { + if (A.empty()) return null; + E.push(n(A.next(), x[C].itemType)); + } + w[x[C].name] = E; + } else w[x[C].name] = n(A.next(), x[C].type); + } + return w; + } + function o() { + let x = { + indices: [], + vertices: [], + normals: [], + uvs: [], + faceVertexUvs: [], + colors: [], + faceVertexColors: [], + descriptors: {}, + }; + for (let A of Object.keys(y.customPropertyMapping)) x[A] = []; + return x; + } + function a(x) { + switch (x) { + case "int8": + case "char": + return LX; + case "uint8": + case "uchar": + return BX; + case "int16": + case "short": + return OX; + case "uint16": + case "ushort": + return R7; + case "int32": + case "int": + return FX; + case "uint32": + case "uint": + return P7; + case "float32": + case "float": + return Jn; + case "float64": + case "double": + return Ggn; + } + } + function i(x) { + switch (x) { + case "uchar": + case "uint8": + return 0.00392156862745098; + case "ushort": + case "uint16": + return 0.000015259021896696422; + case "float": + case "float32": + case "double": + case "float64": + return 1; + default: + return 0.00392156862745098; + } + } + function s(x) { + return ( + x === "float" || x === "float32" || x === "double" || x === "float64" + ); + } + function l(x) { + function A(G) { + for (let Z of G) { + let q = x.find((H) => H.name === Z); + if (q) return q; + } + return null; + } + let w = A(["x", "px", "posx"]), + C = A(["y", "py", "posy"]), + E = A(["z", "pz", "posz"]), + T = A(["nx", "normalx"]), + I = A(["ny", "normaly"]), + k = A(["nz", "normalz"]), + L = A(["s", "u", "texture_u", "tx"]), + O = A(["t", "v", "texture_v", "ty"]), + B = A(["red", "diffuse_red", "r", "diffuse_r"]), + U = A(["green", "diffuse_green", "g", "diffuse_g"]), + D = A(["blue", "diffuse_blue", "b", "diffuse_b"]), + N = A(["texcoord"]), + _ = {}; + for (let G of Object.keys(y.customPropertyMapping)) { + let q = y.customPropertyMapping[G].map((ie) => + x.find((j) => j.name === ie), + ), + H = q.filter((ie) => ie).map((ie) => ie.type), + te = H.length > 0 && H.every((ie) => ie === H[0]); + _[G] = { + type: te ? H[0] : "float32", + usage: q.every((ie) => ie !== void 0), + }; + } + return { + position: { + names: [w ? w.name : "x", C ? C.name : "y", E ? E.name : "z"], + type: w ? w.type : "float32", + usage: !!(w && C && E), + }, + normal: { + names: [T ? T.name : "nx", I ? I.name : "ny", k ? k.name : "nz"], + type: T ? T.type : "float32", + usage: !!(T && I && k), + }, + uv: { + names: [L ? L.name : "s", O ? O.name : "t"], + type: L ? L.type : "float32", + usage: !!(L && O), + }, + texcoord: { type: N ? N.itemType : "float32", usage: !!N }, + color: { + names: [ + B ? B.name : "red", + U ? U.name : "green", + D ? D.name : "blue", + ], + type: B ? B.type : "uchar", + usage: !!(B && U && D), + }, + custom: _, + }; + } + function c(x, A) { + let w = o(), + C = /end_header\s+(\S[\s\S]*\S|\S)\s*$/, + E, + T; + if ((T = C.exec(x)) !== null) E = T[1].split(/\s+/); + else E = []; + let I = new qgn(E); + e: for (let k = 0; k < A.elements.length; k++) { + let L = A.elements[k], + O = l(L.properties); + w.descriptors[L.name] = O; + for (let B = 0; B < L.count; B++) { + let U = r(L.properties, I); + if (!U) break e; + d(w, L.name, U, O); + } + } + return u(w); + } + function u(x) { + let A = new Jr(), + w = x.descriptors.vertex; + if (x.indices.length > 0) A.setIndex(x.indices); + let C = a(w ? w.position.type : "float32"); + if ( + (A.setAttribute("position", new C(x.vertices, 3)), + x.normals.length > 0) + ) { + let E = a(w.normal.type); + A.setAttribute("normal", new E(x.normals, 3)); + } + if (x.uvs.length > 0) { + let E = a(w.uv.type); + A.setAttribute("uv", new E(x.uvs, 2)); + } + if (x.colors.length > 0) { + let E = w.color.type, + T = !s(E), + I = a(E); + A.setAttribute("color", new I(x.colors, 3, T)); + } + if (x.faceVertexUvs.length > 0 || x.faceVertexColors.length > 0) { + if (((A = A.toNonIndexed()), x.faceVertexUvs.length > 0)) { + let E = a(x.descriptors.face.texcoord.type); + A.setAttribute("uv", new E(x.faceVertexUvs, 2)); + } + if (x.faceVertexColors.length > 0) { + let E = x.descriptors.face.color.type, + T = !s(E), + I = a(E); + A.setAttribute("color", new I(x.faceVertexColors, 3, T)); + } + } + for (let E of Object.keys(y.customPropertyMapping)) + if (x[E].length > 0) { + let T = a(w.custom[E].type); + A.setAttribute(E, new T(x[E], y.customPropertyMapping[E].length)); + } + return (A.computeBoundingSphere(), A); + } + function d(x, A, w, C) { + if (A === "vertex") { + let { position: E, normal: T, uv: I, color: k } = C; + if (E.usage) + x.vertices.push(w[E.names[0]], w[E.names[1]], w[E.names[2]]); + if (T.usage) + x.normals.push(w[T.names[0]], w[T.names[1]], w[T.names[2]]); + if (I.usage) x.uvs.push(w[I.names[0]], w[I.names[1]]); + if (k.usage) { + let L = i(k.type), + O = s(k.type); + Mv.setRGB( + w[k.names[0]] * L, + w[k.names[1]] * L, + w[k.names[2]] * L, + jw, + ); + let B = 1 / L; + x.colors.push( + O ? Mv.r : Math.round(Mv.r * B), + O ? Mv.g : Math.round(Mv.g * B), + O ? Mv.b : Math.round(Mv.b * B), + ); + } + for (let L of Object.keys(y.customPropertyMapping)) + for (let O of y.customPropertyMapping[L]) x[L].push(w[O]); + } else if (A === "face") { + let E = w.vertex_indices || w.vertex_index, + T = w.texcoord; + if (E.length === 3) { + if ((x.indices.push(E[0], E[1], E[2]), T && T.length === 6)) + (x.faceVertexUvs.push(T[0], T[1]), + x.faceVertexUvs.push(T[2], T[3]), + x.faceVertexUvs.push(T[4], T[5])); + } else if (E.length === 4) + (x.indices.push(E[0], E[1], E[3]), + x.indices.push(E[1], E[2], E[3])); + let { color: I } = C; + if (I.usage) { + let k = i(I.type); + Mv.setRGB( + w[I.names[0]] * k, + w[I.names[1]] * k, + w[I.names[2]] * k, + jw, + ); + let L = 1 / k, + O = Mv.r * L, + B = Mv.g * L, + U = Mv.b * L; + (x.faceVertexColors.push(O, B, U), + x.faceVertexColors.push(O, B, U), + x.faceVertexColors.push(O, B, U)); + } + } + } + function p(x, A) { + let w = {}, + C = 0; + for (let E = 0; E < A.length; E++) { + let T = A[E], + I = T.valueReader; + if (T.type === "list") { + let k = [], + L = T.countReader.read(x + C); + C += T.countReader.size; + for (let O = 0; O < L; O++) (k.push(I.read(x + C)), (C += I.size)); + w[T.name] = k; + } else ((w[T.name] = I.read(x + C)), (C += I.size)); + } + return [w, C]; + } + function f(x, A, w) { + function C(E, T, I) { + switch (T) { + case "int8": + case "char": + return { read: (k) => E.getInt8(k), size: 1 }; + case "uint8": + case "uchar": + return { read: (k) => E.getUint8(k), size: 1 }; + case "int16": + case "short": + return { read: (k) => E.getInt16(k, I), size: 2 }; + case "uint16": + case "ushort": + return { read: (k) => E.getUint16(k, I), size: 2 }; + case "int32": + case "int": + return { read: (k) => E.getInt32(k, I), size: 4 }; + case "uint32": + case "uint": + return { read: (k) => E.getUint32(k, I), size: 4 }; + case "float32": + case "float": + return { read: (k) => E.getFloat32(k, I), size: 4 }; + case "float64": + case "double": + return { read: (k) => E.getFloat64(k, I), size: 8 }; + } + } + for (let E = 0, T = x.length; E < T; E++) { + let I = x[E]; + if (I.type === "list") + ((I.countReader = C(A, I.countType, w)), + (I.valueReader = C(A, I.itemType, w))); + else I.valueReader = C(A, I.type, w); + } + } + function m(x, A) { + let w = o(), + C = A.format === "binary_little_endian", + E = new DataView(x, A.headerLength), + T, + I = 0; + for (let k = 0; k < A.elements.length; k++) { + let L = A.elements[k], + O = L.properties, + B = l(O); + ((w.descriptors[L.name] = B), f(O, E, C)); + for (let U = 0; U < L.count; U++) { + ((T = p(I, O)), (I += T[1])); + let D = T[0]; + d(w, L.name, D, B); + } + } + return u(w); + } + function g(x) { + let A = 0, + w = !0, + C = "", + E = [], + T = new TextDecoder().decode(x.subarray(0, 5)), + I = /^ply\r\n/.test(T); + do { + let k = String.fromCharCode(x[A++]); + if ( + k !== + ` +` && + k !== "\r" + ) + C += k; + else { + if (C === "end_header") w = !1; + if (C !== "") (E.push(C), (C = "")); + } + } while (w && A < x.length); + if (I === !0) A++; + return { headerText: E.join("\r") + "\r", headerLength: A }; + } + let v, + y = this; + if (e instanceof ArrayBuffer) { + let x = new Uint8Array(e), + { headerText: A, headerLength: w } = g(x), + C = t(A, w); + if (C.format === "ascii") { + let E = new TextDecoder().decode(x); + v = c(E, C); + } else v = m(e, C); + } else v = c(e, t(e)); + return v; + } + }; + Ggn = class Ggn extends si { + constructor(e, t, n) { + super(new Float64Array(e), t, n); + } + }; +}); +class w5 { + static idGen = 0; + constructor(e, t) { + let n, r; + this.promise = new Promise((l, c) => { + ((n = l), (r = c)); + }); + let o = n.bind(this), + a = r.bind(this), + i = (...l) => { + o(...l); + }, + s = (l) => { + a(l); + }; + (e(i.bind(this), s.bind(this)), + (this.abortHandler = t), + (this.id = w5.idGen++)); + } + then(e) { + return new w5((t, n) => { + this.promise = this.promise + .then((...r) => { + let o = e(...r); + if (o instanceof Promise || o instanceof w5) + o.then((...a) => { + t(...a); + }); + else t(o); + }) + .catch((r) => { + n(r); + }); + }, this.abortHandler); + } + catch(e) { + return new w5((t) => { + this.promise = this.promise + .then((...n) => { + t(...n); + }) + .catch(e); + }, this.abortHandler); + } + abort(e) { + if (this.abortHandler) this.abortHandler(e); + } +} +class b1n { + constructor(e, t, n) { + ((this.major = e), (this.minor = t), (this.patch = n)); + } + toString() { + return `${this.major}_${this.minor}_${this.patch}`; + } +} +function yGe() { + let e = navigator.userAgent; + return e.indexOf("iPhone") > 0 || e.indexOf("iPad") > 0; +} +function x1n() { + if (yGe()) { + let e = navigator.userAgent.match(/OS (\d+)_(\d+)_?(\d+)?/); + return new b1n( + parseInt(e[1] || 0, 10), + parseInt(e[2] || 0, 10), + parseInt(e[3] || 0, 10), + ); + } else return null; +} +class Ui { + static DefaultSplatSortDistanceMapPrecision = 16; + static MemoryPageSize = 65536; + static BytesPerFloat = 4; + static BytesPerInt = 4; + static MaxScenes = 32; + static ProgressiveLoadSectionSize = 262144; + static ProgressiveLoadSectionDelayDuration = 15; + static SphericalHarmonics8BitCompressionRange = 3; +} +class Ti { + static HeaderEndToken = "end_header"; + static decodeSectionHeader(e, t, n = 0) { + let r = [], + o = !1, + a = -1, + i = 0, + s = !1, + l = null, + c = [], + u = [], + d = [], + p = [], + f = {}; + for (let y = n; y < e.length; y++) { + let x = e[y].trim(); + if (x.startsWith("element")) + if (o) { + a--; + break; + } else { + ((o = !0), (n = y), (a = y)); + let A = x.split(" "), + w = 0; + for (let C of A) { + let E = C.trim(); + if (E.length > 0) { + if ((w++, w === 2)) l = E; + else if (w === 3) i = parseInt(E); + } + } + } + else if (x.startsWith("property")) { + let A = x.match(/(\w+)\s+(\w+)\s+(\w+)/); + if (A) { + let w = A[2], + C = A[3]; + d.push(C); + let E = t[C]; + f[C] = w; + let T = Ygn[w]; + if (E !== void 0) (p.push(C), c.push(E), (u[E] = T)); + } + } + if (x === Ti.HeaderEndToken) { + s = !0; + break; + } + if (o) (r.push(x), a++); + } + let m = [], + g = 0; + for (let y of d) { + let x = f[y]; + if (f.hasOwnProperty(y)) { + let A = t[y]; + if (A !== void 0) m[A] = g; + } + g += QFr[Ygn[x]]; + } + let v = Ti.decodeSphericalHarmonicsFromSectionHeader(d, t); + return { + headerLines: r, + headerStartLine: n, + headerEndLine: a, + fieldTypes: u, + fieldIds: c, + fieldOffsets: m, + bytesPerVertex: g, + vertexCount: i, + dataSizeBytes: g * i, + endOfHeader: s, + sectionName: l, + sphericalHarmonicsDegree: v.degree, + sphericalHarmonicsCoefficientsPerChannel: v.coefficientsPerChannel, + sphericalHarmonicsDegree1Fields: v.degree1Fields, + sphericalHarmonicsDegree2Fields: v.degree2Fields, + }; + } + static decodeSphericalHarmonicsFromSectionHeader(e, t) { + let n = 0, + r = 0; + for (let s of e) if (s.startsWith("f_rest")) n++; + r = n / 3; + let o = 0; + if (r >= 3) o = 1; + if (r >= 8) o = 2; + let a = [], + i = []; + for (let s = 0; s < 3; s++) { + if (o >= 1) + for (let l = 0; l < 3; l++) a.push(t["f_rest_" + (l + r * s)]); + if (o >= 2) + for (let l = 0; l < 5; l++) i.push(t["f_rest_" + (l + r * s + 3)]); + } + return { + degree: o, + coefficientsPerChannel: r, + degree1Fields: a, + degree2Fields: i, + }; + } + static getHeaderSectionNames(e) { + let t = []; + for (let n of e) + if (n.startsWith("element")) { + let r = n.split(" "), + o = 0; + for (let a of r) { + let i = a.trim(); + if (i.length > 0) { + if ((o++, o === 2)) t.push(i); + } + } + } + return t; + } + static checkTextForEndHeader(e) { + if (e.includes(Ti.HeaderEndToken)) return !0; + return !1; + } + static checkBufferForEndHeader(e, t, n, r) { + let o = new Uint8Array(e, Math.max(0, t - n), n), + a = r.decode(o); + return Ti.checkTextForEndHeader(a); + } + static extractHeaderFromBufferToText(e) { + let t = new TextDecoder(), + n = 0, + r = "", + o = 100; + while (!0) { + if (n + o >= e.byteLength) + throw Error("End of file reached while searching for end of header"); + let a = new Uint8Array(e, n, o); + if ( + ((r += t.decode(a)), + (n += o), + Ti.checkBufferForEndHeader(e, n, o * 2, t)) + ) + break; + } + return r; + } + static readHeaderFromBuffer(e) { + let t = new TextDecoder(), + n = 0, + r = "", + o = 100; + while (!0) { + if (n + o >= e.byteLength) + throw Error("End of file reached while searching for end of header"); + let a = new Uint8Array(e, n, o); + if ( + ((r += t.decode(a)), + (n += o), + Ti.checkBufferForEndHeader(e, n, o * 2, t)) + ) + break; + } + return r; + } + static convertHeaderTextToLines(e) { + let t = e.split(` +`), + n = []; + for (let r = 0; r < t.length; r++) { + let o = t[r].trim(); + if ((n.push(o), o === Ti.HeaderEndToken)) break; + } + return n; + } + static determineHeaderFormatFromHeaderText(e) { + let t = Ti.convertHeaderTextToLines(e), + n = Oh.INRIAV1; + for (let r = 0; r < t.length; r++) { + let o = t[r].trim(); + if (o.startsWith("element chunk") || o.match(/[A-Za-z]*packed_[A-Za-z]*/)) + n = Oh.PlayCanvasCompressed; + else if (o.startsWith("element codebook_centers")) n = Oh.INRIAV2; + else if (o === Ti.HeaderEndToken) break; + } + return n; + } + static determineHeaderFormatFromPlyBuffer(e) { + let t = Ti.extractHeaderFromBufferToText(e); + return Ti.determineHeaderFormatFromHeaderText(t); + } + static readVertex(e, t, n, r, o, a, i = !0) { + let s = n * t.bytesPerVertex + r, + { fieldOffsets: l, fieldTypes: c } = t; + for (let u of o) { + let d = c[u]; + if (d === wGe) a[u] = e.getFloat32(s + l[u], !0); + else if (d === SGe) a[u] = e.getInt16(s + l[u], !0); + else if (d === CGe) a[u] = e.getUint16(s + l[u], !0); + else if (d === xGe) a[u] = e.getInt32(s + l[u], !0); + else if (d === AGe) a[u] = e.getUint32(s + l[u], !0); + else if (d === EGe) + if (i) a[u] = e.getUint8(s + l[u]) / 255; + else a[u] = e.getUint8(s + l[u]); + } + } +} +function e1n(e) { + let t = Jf.decodeHeaderFromBuffer(e), + n = t.splatCount, + r = Jf.findSplatData(e, t); + return { header: t, splatCount: n, splatData: r }; +} +class mGe { + static parseToUncompressedSplatArray(e, t = 0) { + let n = Ti.determineHeaderFormatFromPlyBuffer(e); + if (n === Oh.PlayCanvasCompressed) + return xi.parseToUncompressedSplatArray(e, t); + else if (n === Oh.INRIAV1) return Jf.parseToUncompressedSplatArray(e, t); + else if (n === Oh.INRIAV2) return u1.parseToUncompressedSplatArray(e, t); + } + static parseToUncompressedSplatBuffer(e, t = 0) { + let n = Ti.determineHeaderFormatFromPlyBuffer(e); + if (n === Oh.PlayCanvasCompressed) + return xi.parseToUncompressedSplatBuffer(e, t); + else if (n === Oh.INRIAV1) return Jf.parseToUncompressedSplatBuffer(e, t); + else if (n === Oh.INRIAV2) + throw Error( + "parseToUncompressedSplatBuffer() is not implemented for INRIA V2 PLY files", + ); + } +} +class IGe { + constructor(e, t, n, r) { + ((this.sectionCount = e), + (this.sectionFilters = t), + (this.groupingParameters = n), + (this.partitionGenerator = r)); + } + partitionUncompressedSplatArray(e) { + let t, n, r; + if (this.partitionGenerator) { + let a = this.partitionGenerator(e); + ((t = a.groupingParameters), + (n = a.sectionCount), + (r = a.sectionFilters)); + } else + ((t = this.groupingParameters), + (n = this.sectionCount), + (r = this.sectionFilters)); + let o = []; + for (let a = 0; a < n; a++) { + let i = new On(e.sphericalHarmonicsDegree), + s = r[a]; + for (let l = 0; l < e.splatCount; l++) if (s(l)) i.addSplat(e.splats[l]); + o.push(i); + } + return { splatArrays: o, parameters: t }; + } + static getStandardPartitioner( + e = 0, + t = new he(), + n = mt.BucketBlockSize, + r = mt.BucketSize, + ) { + return new IGe(void 0, void 0, void 0, (a) => { + let i = On.OFFSET.X, + s = On.OFFSET.Y, + l = On.OFFSET.Z; + if (e <= 0) e = a.splatCount; + let c = new he(), + u = 0.5, + d = (v) => { + ((v.x = Math.floor(v.x / u) * u), + (v.y = Math.floor(v.y / u) * u), + (v.z = Math.floor(v.z / u) * u)); + }; + (a.splats.forEach((v) => { + (c.set(v[i], v[s], v[l]).sub(t), d(c), (v.centerDist = c.lengthSq())); + }), + a.splats.sort((v, y) => { + let x = v.centerDist, + A = y.centerDist; + if (x > A) return 1; + else return -1; + })); + let p = [], + f = []; + e = Math.min(a.splatCount, e); + let m = Math.ceil(a.splatCount / e), + g = 0; + for (let v = 0; v < m; v++) { + let y = g; + (p.push((x) => x >= y && x < y + e), + f.push({ blocksSize: n, bucketSize: r }), + (g += e)); + } + return { + sectionCount: p.length, + sectionFilters: p, + groupingParameters: f, + }; + }); + } +} +class UW { + constructor(e, t, n, r, o, a, i) { + ((this.splatPartitioner = e), + (this.alphaRemovalThreshold = t), + (this.compressionLevel = n), + (this.sectionSize = r), + (this.sceneCenter = o ? new he().copy(o) : void 0), + (this.blockSize = a), + (this.bucketSize = i)); + } + generateFromUncompressedSplatArray(e) { + let t = this.splatPartitioner.partitionUncompressedSplatArray(e); + return mt.generateFromUncompressedSplatArrays( + t.splatArrays, + this.alphaRemovalThreshold, + this.compressionLevel, + this.sceneCenter, + this.blockSize, + this.bucketSize, + t.parameters, + ); + } + static getStandardGenerator( + e = 1, + t = 1, + n = 0, + r = new he(), + o = mt.BucketBlockSize, + a = mt.BucketSize, + ) { + let i = IGe.getStandardPartitioner(n, r, o, a); + return new UW(i, e, t, n, r, o, a); + } +} +function a1n(e, t) { + let n = 0; + for (let o of e) n += o.sizeBytes; + if (!t || t.byteLength < n) t = new ArrayBuffer(n); + let r = 0; + for (let o of e) + (new Uint8Array(t, r, o.sizeBytes).set(o.data), (r += o.sizeBytes)); + return t; +} +function i1n(e, t, n, r, o, a, i, s) { + if (t) + return UW.getStandardGenerator( + n, + r, + o, + a, + i, + s, + ).generateFromUncompressedSplatArray(e); + else return mt.generateFromUncompressedSplatArrays([e], n, 0, new he()); +} +class TGe { + static loadFromURL(e, t, n, r, o, a, i = !0, s = 0, l, c, u, d, p) { + let f; + if (!n && !i) f = rl.DownloadBeforeProcessing; + else if (i) f = rl.ProgressiveToSplatArray; + else f = rl.ProgressiveToSplatBuffer; + let m = Ui.ProgressiveLoadSectionSize, + g = mt.HeaderSizeBytes + mt.SectionHeaderSizeBytes, + v = 1, + y, + x, + A, + w, + C, + E = 0, + T = 0, + I = 0, + k = !1, + L = !1, + O = !1, + B = gGe(), + U = 0, + D = 0, + N = 0, + _ = 0, + G = "", + Z = null, + q = [], + H, + te = new TextDecoder(), + ie = (j, oe, J) => { + let Y = j >= 100; + if (J) + (q.push({ + data: J, + sizeBytes: J.byteLength, + startBytes: N, + endBytes: N + J.byteLength, + }), + (N += J.byteLength)); + if (f === rl.DownloadBeforeProcessing) { + if (Y) B.resolve(q); + } else { + if (!k) { + if (((G += te.decode(J)), Ti.checkTextForEndHeader(G))) { + if ( + ((y = Ti.determineHeaderFormatFromHeaderText(G)), + y === Oh.INRIAV1) + ) + ((Z = Jf.decodeHeaderText(G)), + (s = Math.min(s, Z.sphericalHarmonicsDegree)), + (E = Z.splatCount), + (L = !0), + (_ = Z.headerSizeBytes + Z.bytesPerSplat * E)); + else if (y === Oh.PlayCanvasCompressed) { + if ( + ((Z = xi.decodeHeaderText(G)), + (s = Math.min(s, Z.sphericalHarmonicsDegree)), + f === rl.ProgressiveToSplatBuffer && s > 0) + ) + throw new FW( + "PlyLoader.loadFromURL() -> Selected PLY format has spherical harmonics data that cannot be progressively loaded.", + ); + ((E = Z.vertexElement.count), + (_ = + Z.headerSizeBytes + + Z.bytesPerSplat * E + + Z.chunkElement.storageSizeBytes)); + } else if (f === rl.ProgressiveToSplatBuffer) + throw new FW( + "PlyLoader.loadFromURL() -> Selected PLY format cannot be progressively loaded.", + ); + else { + f = rl.DownloadBeforeProcessing; + return; + } + if (f === rl.ProgressiveToSplatBuffer) { + let ae = mt.CompressionLevels[0].SphericalHarmonicsDegrees[s], + ne = g + ae.BytesPerSplat * E; + ((A = new ArrayBuffer(ne)), + mt.writeHeaderToBuffer( + { + versionMajor: mt.CurrentMajorVersion, + versionMinor: mt.CurrentMinorVersion, + maxSectionCount: v, + sectionCount: v, + maxSplatCount: E, + splatCount: 0, + compressionLevel: 0, + sceneCenter: new he(), + }, + A, + )); + } else H = new On(s); + ((U = Z.headerSizeBytes), (D = Z.headerSizeBytes), (k = !0)); + } + } else if (y === Oh.PlayCanvasCompressed && !L) { + let ae = Z.headerSizeBytes + Z.chunkElement.storageSizeBytes; + if (((C = a1n(q, C)), C.byteLength >= ae)) + (xi.readElementData(Z.chunkElement, C, Z.headerSizeBytes), + (U = ae), + (D = ae), + (L = !0)); + } + if (k && L && q.length > 0) { + if (((x = a1n(q, x)), N - U > m || (N >= _ && !O) || Y)) { + let ne = O ? Z.sphericalHarmonicsPerSplat : Z.bytesPerSplat, + fe = (O ? N : Math.min(_, N)) - D, + Ae = Math.floor(fe / ne), + Ee = Ae * ne, + pe = N - D - Ee, + Re = D - q[0].startBytes, + Le = new DataView(x, Re, Ee); + if (!O) { + if (f === rl.ProgressiveToSplatBuffer) { + let Ne = mt.CompressionLevels[0].SphericalHarmonicsDegrees[s], + be = T * Ne.BytesPerSplat + g; + if (y === Oh.PlayCanvasCompressed) + xi.parseToUncompressedSplatBufferSection( + Z.chunkElement, + Z.vertexElement, + 0, + Ae - 1, + T, + Le, + A, + be, + ); + else + Jf.parseToUncompressedSplatBufferSection( + Z, + 0, + Ae - 1, + Le, + 0, + A, + be, + s, + ); + } else if (y === Oh.PlayCanvasCompressed) + xi.parseToUncompressedSplatArraySection( + Z.chunkElement, + Z.vertexElement, + 0, + Ae - 1, + T, + Le, + H, + ); + else + Jf.parseToUncompressedSplatArraySection( + Z, + 0, + Ae - 1, + Le, + 0, + H, + s, + ); + if (((T += Ae), f === rl.ProgressiveToSplatBuffer)) { + if (!w) + (mt.writeSectionHeaderToBuffer( + { + maxSplatCount: E, + splatCount: T, + bucketSize: 0, + bucketCount: 0, + bucketBlockSize: 0, + compressionScaleRange: 0, + storageSizeBytes: 0, + fullBucketCount: 0, + partiallyFilledBucketCount: 0, + sphericalHarmonicsDegree: s, + }, + 0, + A, + mt.HeaderSizeBytes, + ), + (w = new mt(A, !1))); + w.updateLoadedCounts(1, T); + } + if (N >= _) O = !0; + } else if (y === Oh.PlayCanvasCompressed) { + if (f === rl.ProgressiveToSplatArray) + (xi.parseSphericalHarmonicsToUncompressedSplatArraySection( + Z.chunkElement, + Z.shElement, + I, + I + Ae - 1, + Le, + 0, + s, + Z.sphericalHarmonicsDegree, + H, + ), + (I += Ae)); + } + if (pe === 0) q = []; + else { + let Ne = [], + be = 0; + for (let ye = q.length - 1; ye >= 0; ye--) { + let ce = q[ye]; + if (((be += ce.sizeBytes), Ne.unshift(ce), be >= pe)) break; + } + q = Ne; + } + ((U += m), (D += Ee)); + } + } + if (r && w) r(w, Y); + if (Y) + if (f === rl.ProgressiveToSplatBuffer) B.resolve(w); + else B.resolve(H); + } + if (t) t(j, oe, fd.Downloading); + }; + if (t) t(0, "0%", fd.Downloading); + return $ge(e, ie, !1, l).then(() => { + if (t) t(0, "0%", fd.Processing); + return B.promise.then((j) => { + if (t) t(100, "100%", fd.Done); + if (f === rl.DownloadBeforeProcessing) { + let oe = q.map((J) => J.data); + return new Blob(oe) + .arrayBuffer() + .then((J) => TGe.loadFromFileData(J, o, a, i, s, c, u, d, p)); + } else if (f === rl.ProgressiveToSplatBuffer) return j; + else return d1(() => i1n(j, i, o, a, c, u, d, p)); + }); + }); + } + static loadFromFileData(e, t, n, r, o = 0, a, i, s, l) { + if (r) + return d1(() => mGe.parseToUncompressedSplatArray(e, o)).then((c) => + i1n(c, r, t, n, a, i, s, l), + ); + else return d1(() => mGe.parseToUncompressedSplatBuffer(e, o)); + } +} +async function SUr(e) { + try { + let t = wUr(e); + if (!t) throw Error("Failed to create stream from data"); + return await CUr(t); + } catch (t) { + throw (console.error("Error decompressing gzipped data:", t), t); + } +} +async function CUr(e) { + let t = e.pipeThrough(new DecompressionStream("gzip")), + r = await new Response(t).arrayBuffer(); + return new Uint8Array(r); +} +function kUr(e) { + let t = (e >> 15) & 1, + n = (e >> 10) & 31, + r = e & 1023, + o = t === 1 ? -1 : 1; + if (n === 0) return (o * Math.pow(2, -14) * r) / 1024; + if (n === 31) return r !== 0 ? NaN : o * (1 / 0); + return o * Math.pow(2, n - 15) * (1 + r / 1024); +} +function RUr(e) { + return (e - 128) / 128; +} +function _7(e) { + switch (e) { + case 0: + return 0; + case 1: + return 3; + case 2: + return 8; + case 3: + return 15; + default: + return (console.error(`[SPZ: ERROR] Unsupported SH degree: ${e}`), 0); + } +} +function MUr(e, t, n, r) { + if (e.positions.length !== t * 3 * (r ? 2 : 3)) return !1; + if (e.scales.length !== t * 3) return !1; + if (e.rotations.length !== t * 3) return !1; + if (e.alphas.length !== t) return !1; + if (e.colors.length !== t * 3) return !1; + if (e.sh.length !== t * n * 3) return !1; + return !0; +} +function s1n(e, t, n, r, o) { + t = Math.min(t, e.shDegree); + let a = e.numPoints, + i = _7(e.shDegree), + s = e.positions.length === a * 3 * 2; + if (!MUr(e, a, i, s)) return null; + let l = { + position: [], + scale: [], + rotation: [], + alpha: void 0, + color: [], + sh: [], + }, + c; + if (s) c = new Uint16Array(e.positions.buffer, e.positions.byteOffset, a * 3); + let u = 1 / (1 << e.fractionalBits), + d = _7(e.shDegree), + p = 0.28209479177387814; + for (let f = 0; f < a; f++) { + if (s) for (let x = 0; x < 3; x++) l.position[x] = kUr(c[f * 3 + x]); + else + for (let x = 0; x < 3; x++) { + let A = f * 9 + x * 3, + w = e.positions[A]; + ((w |= e.positions[A + 1] << 8), + (w |= e.positions[A + 2] << 16), + (w |= w & 8388608 ? 4278190080 : 0), + (l.position[x] = w * u)); + } + for (let x = 0; x < 3; x++) + l.scale[x] = Math.exp(e.scales[f * 3 + x] / 16 - 10); + let m = e.rotations.subarray(f * 3, f * 3 + 3), + g = [m[0] / 127.5 - 1, m[1] / 127.5 - 1, m[2] / 127.5 - 1]; + ((l.rotation[0] = g[0]), (l.rotation[1] = g[1]), (l.rotation[2] = g[2])); + let v = g[0] * g[0] + g[1] * g[1] + g[2] * g[2]; + ((l.rotation[3] = Math.sqrt(Math.max(0, 1 - v))), + (l.alpha = Math.floor(e.alphas[f]))); + for (let x = 0; x < 3; x++) + l.color[x] = Math.floor( + (((e.colors[f * 3 + x] / 255 - 0.5) / TUr) * p + 0.5) * 255, + ); + for (let x = 0; x < 3; x++) + for (let A = 0; A < d; A++) + l.sh[x * d + A] = RUr(e.sh[d * 3 * f + A * 3 + x]); + let y = PUr(l, e.shDegree, t); + if (n) { + let x = + mt.CompressionLevels[0].SphericalHarmonicsDegrees[t].BytesPerSplat, + A = f * x + o; + mt.writeSplatDataToSectionBuffer(y, r, A, 0, t); + } else r.addSplat(y); + } +} +function BUr(e) { + let t = new DataView(e), + n = 0, + r = { + magic: t.getUint32(n, !0), + version: t.getUint32(n + 4, !0), + numPoints: t.getUint32(n + 8, !0), + shDegree: t.getUint8(n + 12), + fractionalBits: t.getUint8(n + 13), + flags: t.getUint8(n + 14), + reserved: t.getUint8(n + 15), + }; + if (((n += DUr), r.magic !== EUr)) + return ( + console.error("[SPZ ERROR] deserializePackedGaussians: header not found"), + null + ); + if (r.version < 1 || r.version > 2) + return ( + console.error( + `[SPZ ERROR] deserializePackedGaussians: version not supported: ${r.version}`, + ), + null + ); + if (r.numPoints > LUr) + return ( + console.error( + `[SPZ ERROR] deserializePackedGaussians: Too many points: ${r.numPoints}`, + ), + null + ); + if (r.shDegree > 3) + return ( + console.error( + `[SPZ ERROR] deserializePackedGaussians: Unsupported SH degree: ${r.shDegree}`, + ), + null + ); + let o = r.numPoints, + a = _7(r.shDegree), + i = r.version === 1, + s = { + numPoints: o, + shDegree: r.shDegree, + fractionalBits: r.fractionalBits, + antialiased: (r.flags & IUr) !== 0, + positions: new Uint8Array(o * 3 * (i ? 2 : 3)), + scales: new Uint8Array(o * 3), + rotations: new Uint8Array(o * 3), + alphas: new Uint8Array(o), + colors: new Uint8Array(o * 3), + sh: new Uint8Array(o * a * 3), + }; + try { + let l = new Uint8Array(e), + c = s.positions.length, + u = n; + if ( + (s.positions.set(l.slice(u, u + c)), + (u += c), + s.alphas.set(l.slice(u, u + s.alphas.length)), + (u += s.alphas.length), + s.colors.set(l.slice(u, u + s.colors.length)), + (u += s.colors.length), + s.scales.set(l.slice(u, u + s.scales.length)), + (u += s.scales.length), + s.rotations.set(l.slice(u, u + s.rotations.length)), + (u += s.rotations.length), + s.sh.set(l.slice(u, u + s.sh.length)), + u + s.sh.length !== e.byteLength) + ) + return ( + console.error( + "[SPZ ERROR] deserializePackedGaussians: incorrect buffer size", + ), + null + ); + } catch (l) { + return ( + console.error("[SPZ ERROR] deserializePackedGaussians: read error", l), + null + ); + } + return s; +} +async function OUr(e) { + try { + let t = await SUr(e); + return BUr(t.buffer); + } catch (t) { + return ( + console.error("[SPZ ERROR] loadSpzPacked: decompression error", t), + null + ); + } +} +class kGe { + static loadFromURL(e, t, n, r, o = !0, a = 0, i, s, l, c, u) { + if (t) t(0, "0%", fd.Downloading); + return $ge(e, t, !0, i).then((d) => { + if (t) t(0, "0%", fd.Processing); + return kGe.loadFromFileData(d, n, r, o, a, s, l, c, u); + }); + } + static async loadFromFileData(e, t, n, r, o = 0, a, i, s, l) { + await d1(); + let c = await OUr(e); + o = Math.min(c.shDegree, o); + let u = new On(o); + if (r) + return ( + s1n(c, o, !1, u, 0), + UW.getStandardGenerator( + t, + n, + a, + i, + s, + l, + ).generateFromUncompressedSplatArray(u) + ); + else { + let { splatBuffer: d, splatBufferDataOffsetBytes: p } = + mt.preallocateUncompressed(c.numPoints, o); + return (s1n(c, o, !0, d.bufferData, p), d); + } + } +} +class us { + static RowSizeBytes = 32; + static CenterSizeBytes = 12; + static ScaleSizeBytes = 12; + static RotationSizeBytes = 4; + static ColorSizeBytes = 4; + static parseToUncompressedSplatBufferSection(e, t, n, r, o, a) { + let i = mt.CompressionLevels[0].BytesPerCenter, + s = mt.CompressionLevels[0].BytesPerScale, + l = mt.CompressionLevels[0].BytesPerRotation, + c = mt.CompressionLevels[0].SphericalHarmonicsDegrees[0].BytesPerSplat; + for (let u = e; u <= t; u++) { + let d = u * us.RowSizeBytes + r, + p = new Float32Array(n, d, 3), + f = new Float32Array(n, d + us.CenterSizeBytes, 3), + m = new Uint8Array(n, d + us.CenterSizeBytes + us.ScaleSizeBytes, 4), + g = new Uint8Array( + n, + d + us.CenterSizeBytes + us.ScaleSizeBytes + us.RotationSizeBytes, + 4, + ), + v = new Vo( + (g[1] - 128) / 128, + (g[2] - 128) / 128, + (g[3] - 128) / 128, + (g[0] - 128) / 128, + ); + v.normalize(); + let y = u * c + a, + x = new Float32Array(o, y, 3), + A = new Float32Array(o, y + i, 3), + w = new Float32Array(o, y + i + s, 4), + C = new Uint8Array(o, y + i + s + l, 4); + ((x[0] = p[0]), + (x[1] = p[1]), + (x[2] = p[2]), + (A[0] = f[0]), + (A[1] = f[1]), + (A[2] = f[2]), + (w[0] = v.w), + (w[1] = v.x), + (w[2] = v.y), + (w[3] = v.z), + (C[0] = m[0]), + (C[1] = m[1]), + (C[2] = m[2]), + (C[3] = m[3])); + } + } + static parseToUncompressedSplatArraySection(e, t, n, r, o) { + for (let a = e; a <= t; a++) { + let i = a * us.RowSizeBytes + r, + s = new Float32Array(n, i, 3), + l = new Float32Array(n, i + us.CenterSizeBytes, 3), + c = new Uint8Array(n, i + us.CenterSizeBytes + us.ScaleSizeBytes, 4), + u = new Uint8Array( + n, + i + us.CenterSizeBytes + us.ScaleSizeBytes + us.RotationSizeBytes, + 4, + ), + d = new Vo( + (u[1] - 128) / 128, + (u[2] - 128) / 128, + (u[3] - 128) / 128, + (u[0] - 128) / 128, + ); + (d.normalize(), + o.addSplatFromComonents( + s[0], + s[1], + s[2], + l[0], + l[1], + l[2], + d.w, + d.x, + d.y, + d.z, + c[0], + c[1], + c[2], + c[3], + )); + } + } + static parseStandardSplatToUncompressedSplatArray(e) { + let t = e.byteLength / us.RowSizeBytes, + n = new On(); + for (let r = 0; r < t; r++) { + let o = r * us.RowSizeBytes, + a = new Float32Array(e, o, 3), + i = new Float32Array(e, o + us.CenterSizeBytes, 3), + s = new Uint8Array(e, o + us.CenterSizeBytes + us.ScaleSizeBytes, 4), + l = new Uint8Array( + e, + o + us.CenterSizeBytes + us.ScaleSizeBytes + us.ColorSizeBytes, + 4, + ), + c = new Vo( + (l[1] - 128) / 128, + (l[2] - 128) / 128, + (l[3] - 128) / 128, + (l[0] - 128) / 128, + ); + (c.normalize(), + n.addSplatFromComonents( + a[0], + a[1], + a[2], + i[0], + i[1], + i[2], + c.w, + c.x, + c.y, + c.z, + s[0], + s[1], + s[2], + s[3], + )); + } + return n; + } +} +function l1n(e, t, n, r, o, a, i, s) { + if (t) + return UW.getStandardGenerator( + n, + r, + o, + a, + i, + s, + ).generateFromUncompressedSplatArray(e); + else return mt.generateFromUncompressedSplatArrays([e], n, 0, new he()); +} +class RGe { + static loadFromURL(e, t, n, r, o, a, i = !0, s, l, c, u, d) { + let p = n ? rl.ProgressiveToSplatBuffer : rl.ProgressiveToSplatArray; + if (i) p = rl.ProgressiveToSplatArray; + let f = mt.HeaderSizeBytes + mt.SectionHeaderSizeBytes, + m = Ui.ProgressiveLoadSectionSize, + g = 1, + v, + y, + x, + A = 0, + w = 0, + C, + E = gGe(), + T = 0, + I = 0, + k = [], + L = (O, B, U, D) => { + let N = O >= 100; + if (U) k.push(U); + if (p === rl.DownloadBeforeProcessing) { + if (N) E.resolve(k); + return; + } + if (!D) + if (n) + throw new FW( + "Cannon directly load .splat because no file size info is available.", + ); + else { + p = rl.DownloadBeforeProcessing; + return; + } + if (!v) { + ((A = D / us.RowSizeBytes), (v = new ArrayBuffer(D))); + let _ = + mt.CompressionLevels[0].SphericalHarmonicsDegrees[0] + .BytesPerSplat, + G = f + _ * A; + if (p === rl.ProgressiveToSplatBuffer) + ((y = new ArrayBuffer(G)), + mt.writeHeaderToBuffer( + { + versionMajor: mt.CurrentMajorVersion, + versionMinor: mt.CurrentMinorVersion, + maxSectionCount: g, + sectionCount: g, + maxSplatCount: A, + splatCount: w, + compressionLevel: 0, + sceneCenter: new he(), + }, + y, + )); + else C = new On(0); + } + if (U) { + (new Uint8Array(v, I, U.byteLength).set(new Uint8Array(U)), + (I += U.byteLength)); + let _ = I - T; + if (_ > m || N) { + let Z = (N ? _ : m) / us.RowSizeBytes, + q = w + Z; + if (p === rl.ProgressiveToSplatBuffer) + us.parseToUncompressedSplatBufferSection(w, q - 1, v, 0, y, f); + else us.parseToUncompressedSplatArraySection(w, q - 1, v, 0, C); + if (((w = q), p === rl.ProgressiveToSplatBuffer)) { + if (!x) + (mt.writeSectionHeaderToBuffer( + { + maxSplatCount: A, + splatCount: w, + bucketSize: 0, + bucketCount: 0, + bucketBlockSize: 0, + compressionScaleRange: 0, + storageSizeBytes: 0, + fullBucketCount: 0, + partiallyFilledBucketCount: 0, + }, + 0, + y, + mt.HeaderSizeBytes, + ), + (x = new mt(y, !1))); + if ((x.updateLoadedCounts(1, w), r)) r(x, N); + } + T += m; + } + } + if (N) + if (p === rl.ProgressiveToSplatBuffer) E.resolve(x); + else E.resolve(C); + if (t) t(O, B, fd.Downloading); + }; + if (t) t(0, "0%", fd.Downloading); + return $ge(e, L, !1, s).then(() => { + if (t) t(0, "0%", fd.Processing); + return E.promise.then((O) => { + if (t) t(100, "100%", fd.Done); + if (p === rl.DownloadBeforeProcessing) + return new Blob(k) + .arrayBuffer() + .then((B) => RGe.loadFromFileData(B, o, a, i, l, c, u, d)); + else if (p === rl.ProgressiveToSplatBuffer) return O; + else return d1(() => l1n(O, i, o, a, l, c, u, d)); + }); + }); + } + static loadFromFileData(e, t, n, r, o, a, i, s) { + return d1(() => { + let l = us.parseStandardSplatToUncompressedSplatArray(e); + return l1n(l, r, t, n, o, a, i, s); + }); + } +} +class PGe { + static elementIDGen = 0; + constructor(e, t) { + ((this.taskIDGen = 0), + (this.elementID = PGe.elementIDGen++), + (this.tasks = []), + (this.message = e || "Loading..."), + (this.container = t || document.body), + (this.spinnerContainerOuter = document.createElement("div")), + (this.spinnerContainerOuter.className = `spinnerOuterContainer${this.elementID}`), + (this.spinnerContainerOuter.style.display = "none"), + (this.spinnerContainerPrimary = document.createElement("div")), + (this.spinnerContainerPrimary.className = `spinnerContainerPrimary${this.elementID}`), + (this.spinnerPrimary = document.createElement("div")), + this.spinnerPrimary.classList.add( + `spinner${this.elementID}`, + `spinnerPrimary${this.elementID}`, + ), + (this.messageContainerPrimary = document.createElement("div")), + this.messageContainerPrimary.classList.add( + `messageContainer${this.elementID}`, + `messageContainerPrimary${this.elementID}`, + ), + (this.messageContainerPrimary.innerHTML = this.message), + (this.spinnerContainerMin = document.createElement("div")), + (this.spinnerContainerMin.className = `spinnerContainerMin${this.elementID}`), + (this.spinnerMin = document.createElement("div")), + this.spinnerMin.classList.add( + `spinner${this.elementID}`, + `spinnerMin${this.elementID}`, + ), + (this.messageContainerMin = document.createElement("div")), + this.messageContainerMin.classList.add( + `messageContainer${this.elementID}`, + `messageContainerMin${this.elementID}`, + ), + (this.messageContainerMin.innerHTML = this.message), + this.spinnerContainerPrimary.appendChild(this.spinnerPrimary), + this.spinnerContainerPrimary.appendChild(this.messageContainerPrimary), + this.spinnerContainerOuter.appendChild(this.spinnerContainerPrimary), + this.spinnerContainerMin.appendChild(this.spinnerMin), + this.spinnerContainerMin.appendChild(this.messageContainerMin), + this.spinnerContainerOuter.appendChild(this.spinnerContainerMin)); + let n = document.createElement("style"); + ((n.innerHTML = ` .spinnerOuterContainer${this.elementID} { width: 100%; @@ -5319,7 +195383,97 @@ No matching component was found for: to{transform: rotate(1turn)} } - `,this.spinnerContainerOuter.appendChild(n),this.container.appendChild(this.spinnerContainerOuter),this.setMinimized(!1,!0),this.fadeTransitions=[]}addTask(e){let t={message:e,id:this.taskIDGen++};return this.tasks.push(t),this.update(),t.id}removeTask(e){let t=0;for(let n of this.tasks){if(n.id===e){this.tasks.splice(t,1);break}t++}this.update()}removeAllTasks(){this.tasks=[],this.update()}setMessageForTask(e,t){for(let n of this.tasks)if(n.id===e){n.message=t;break}this.update()}update(){if(this.tasks.length>0)this.show(),this.setMessage(this.tasks[this.tasks.length-1].message);else this.hide()}show(){this.spinnerContainerOuter.style.display="block",this.visible=!0}hide(){this.spinnerContainerOuter.style.display="none",this.visible=!1}setContainer(e){if(this.container&&this.spinnerContainerOuter.parentElement===this.container)this.container.removeChild(this.spinnerContainerOuter);if(e)this.container=e,this.container.appendChild(this.spinnerContainerOuter),this.spinnerContainerOuter.style.zIndex=this.container.style.zIndex+1}setMinimized(e,t){let n=(r,o,a,i,s)=>{if(a)r.style.display=o?i:"none";else this.fadeTransitions[s]=UUr(r,!o,i,NUr,()=>{this.fadeTransitions[s]=null})};n(this.spinnerContainerPrimary,!e,t,"block",0),n(this.spinnerContainerMin,e,t,"flex",1),this.minimized=e}setMessage(e){this.messageContainerPrimary.innerHTML=e,this.messageContainerMin.innerHTML=e}}class k1n{constructor(e){this.idGen=0,this.tasks=[],this.container=e||document.body,this.progressBarContainerOuter=document.createElement("div"),this.progressBarContainerOuter.className="progressBarOuterContainer",this.progressBarContainerOuter.style.display="none",this.progressBarBox=document.createElement("div"),this.progressBarBox.className="progressBarBox",this.progressBarBackground=document.createElement("div"),this.progressBarBackground.className="progressBarBackground",this.progressBar=document.createElement("div"),this.progressBar.className="progressBar",this.progressBarBackground.appendChild(this.progressBar),this.progressBarBox.appendChild(this.progressBarBackground),this.progressBarContainerOuter.appendChild(this.progressBarBox);let t=document.createElement("style");t.innerHTML=` + `), + this.spinnerContainerOuter.appendChild(n), + this.container.appendChild(this.spinnerContainerOuter), + this.setMinimized(!1, !0), + (this.fadeTransitions = [])); + } + addTask(e) { + let t = { message: e, id: this.taskIDGen++ }; + return (this.tasks.push(t), this.update(), t.id); + } + removeTask(e) { + let t = 0; + for (let n of this.tasks) { + if (n.id === e) { + this.tasks.splice(t, 1); + break; + } + t++; + } + this.update(); + } + removeAllTasks() { + ((this.tasks = []), this.update()); + } + setMessageForTask(e, t) { + for (let n of this.tasks) + if (n.id === e) { + n.message = t; + break; + } + this.update(); + } + update() { + if (this.tasks.length > 0) + (this.show(), this.setMessage(this.tasks[this.tasks.length - 1].message)); + else this.hide(); + } + show() { + ((this.spinnerContainerOuter.style.display = "block"), (this.visible = !0)); + } + hide() { + ((this.spinnerContainerOuter.style.display = "none"), (this.visible = !1)); + } + setContainer(e) { + if ( + this.container && + this.spinnerContainerOuter.parentElement === this.container + ) + this.container.removeChild(this.spinnerContainerOuter); + if (e) + ((this.container = e), + this.container.appendChild(this.spinnerContainerOuter), + (this.spinnerContainerOuter.style.zIndex = + this.container.style.zIndex + 1)); + } + setMinimized(e, t) { + let n = (r, o, a, i, s) => { + if (a) r.style.display = o ? i : "none"; + else + this.fadeTransitions[s] = UUr(r, !o, i, NUr, () => { + this.fadeTransitions[s] = null; + }); + }; + (n(this.spinnerContainerPrimary, !e, t, "block", 0), + n(this.spinnerContainerMin, e, t, "flex", 1), + (this.minimized = e)); + } + setMessage(e) { + ((this.messageContainerPrimary.innerHTML = e), + (this.messageContainerMin.innerHTML = e)); + } +} +class k1n { + constructor(e) { + ((this.idGen = 0), + (this.tasks = []), + (this.container = e || document.body), + (this.progressBarContainerOuter = document.createElement("div")), + (this.progressBarContainerOuter.className = "progressBarOuterContainer"), + (this.progressBarContainerOuter.style.display = "none"), + (this.progressBarBox = document.createElement("div")), + (this.progressBarBox.className = "progressBarBox"), + (this.progressBarBackground = document.createElement("div")), + (this.progressBarBackground.className = "progressBarBackground"), + (this.progressBar = document.createElement("div")), + (this.progressBar.className = "progressBar"), + this.progressBarBackground.appendChild(this.progressBar), + this.progressBarBox.appendChild(this.progressBarBackground), + this.progressBarContainerOuter.appendChild(this.progressBarBox)); + let t = document.createElement("style"); + ((t.innerHTML = ` .progressBarOuterContainer { width: 100%; @@ -5364,7 +195518,52 @@ No matching component was found for: box-shadow: inset 0 0 10px #003300; } - `,this.progressBarContainerOuter.appendChild(t),this.container.appendChild(this.progressBarContainerOuter)}show(){this.progressBarContainerOuter.style.display="block"}hide(){this.progressBarContainerOuter.style.display="none"}setProgress(e){this.progressBar.style.width=e+"%"}setContainer(e){if(this.container&&this.progressBarContainerOuter.parentElement===this.container)this.container.removeChild(this.progressBarContainerOuter);if(e)this.container=e,this.container.appendChild(this.progressBarContainerOuter),this.progressBarContainerOuter.style.zIndex=this.container.style.zIndex+1}}class R1n{constructor(e){this.container=e||document.body,this.infoCells={};let t=[["Camera position","cameraPosition"],["Camera look-at","cameraLookAt"],["Camera up","cameraUp"],["Camera mode","orthographicCamera"],["Cursor position","cursorPosition"],["FPS","fps"],["Rendering:","renderSplatCount"],["Sort time","sortTime"],["Render window","renderWindow"],["Focal adjustment","focalAdjustment"],["Splat scale","splatScale"],["Point cloud mode","pointCloudMode"]];this.infoPanelContainer=document.createElement("div");let n=document.createElement("style");n.innerHTML=` + `), + this.progressBarContainerOuter.appendChild(t), + this.container.appendChild(this.progressBarContainerOuter)); + } + show() { + this.progressBarContainerOuter.style.display = "block"; + } + hide() { + this.progressBarContainerOuter.style.display = "none"; + } + setProgress(e) { + this.progressBar.style.width = e + "%"; + } + setContainer(e) { + if ( + this.container && + this.progressBarContainerOuter.parentElement === this.container + ) + this.container.removeChild(this.progressBarContainerOuter); + if (e) + ((this.container = e), + this.container.appendChild(this.progressBarContainerOuter), + (this.progressBarContainerOuter.style.zIndex = + this.container.style.zIndex + 1)); + } +} +class R1n { + constructor(e) { + ((this.container = e || document.body), (this.infoCells = {})); + let t = [ + ["Camera position", "cameraPosition"], + ["Camera look-at", "cameraLookAt"], + ["Camera up", "cameraUp"], + ["Camera mode", "orthographicCamera"], + ["Cursor position", "cursorPosition"], + ["FPS", "fps"], + ["Rendering:", "renderSplatCount"], + ["Sort time", "sortTime"], + ["Render window", "renderWindow"], + ["Focal adjustment", "focalAdjustment"], + ["Splat scale", "splatScale"], + ["Point cloud mode", "pointCloudMode"], + ]; + this.infoPanelContainer = document.createElement("div"); + let n = document.createElement("style"); + ((n.innerHTML = ` .infoPanel { width: 430px; @@ -5395,13 +195594,126 @@ No matching component was found for: width: 140px; } - `,this.infoPanelContainer.append(n),this.infoPanel=document.createElement("div"),this.infoPanel.className="infoPanel";let r=document.createElement("div");r.style.display="table";for(let o of t){let a=document.createElement("div");a.style.display="table-row",a.className="info-panel-row";let i=document.createElement("div");i.style.display="table-cell",i.innerHTML=`${o[0]}: `,i.classList.add("info-panel-cell","label-cell");let s=document.createElement("div");s.style.display="table-cell",s.style.width="10px",s.innerHTML=" ",s.className="info-panel-cell";let l=document.createElement("div");l.style.display="table-cell",l.innerHTML="",l.className="info-panel-cell",this.infoCells[o[1]]=l,a.appendChild(i),a.appendChild(s),a.appendChild(l),r.appendChild(a)}this.infoPanel.appendChild(r),this.infoPanelContainer.append(this.infoPanel),this.infoPanelContainer.style.display="none",this.container.appendChild(this.infoPanelContainer),this.visible=!1}update=function(e,t,n,r,o,a,i,s,l,c,u,d,p,f){let m=`${t.x.toFixed(5)}, ${t.y.toFixed(5)}, ${t.z.toFixed(5)}`;if(this.infoCells.cameraPosition.innerHTML!==m)this.infoCells.cameraPosition.innerHTML=m;if(n){let v=n,y=`${v.x.toFixed(5)}, ${v.y.toFixed(5)}, ${v.z.toFixed(5)}`;if(this.infoCells.cameraLookAt.innerHTML!==y)this.infoCells.cameraLookAt.innerHTML=y}let g=`${r.x.toFixed(5)}, ${r.y.toFixed(5)}, ${r.z.toFixed(5)}`;if(this.infoCells.cameraUp.innerHTML!==g)this.infoCells.cameraUp.innerHTML=g;if(this.infoCells.orthographicCamera.innerHTML=o?"Orthographic":"Perspective",a){let v=a,y=`${v.x.toFixed(5)}, ${v.y.toFixed(5)}, ${v.z.toFixed(5)}`;this.infoCells.cursorPosition.innerHTML=y}else this.infoCells.cursorPosition.innerHTML="N/A";this.infoCells.fps.innerHTML=i,this.infoCells.renderWindow.innerHTML=`${e.x} x ${e.y}`,this.infoCells.renderSplatCount.innerHTML=`${l} splats out of ${s} (${c.toFixed(2)}%)`,this.infoCells.sortTime.innerHTML=`${u.toFixed(3)} ms`,this.infoCells.focalAdjustment.innerHTML=`${d.toFixed(3)}`,this.infoCells.splatScale.innerHTML=`${p.toFixed(3)}`,this.infoCells.pointCloudMode.innerHTML=`${f}`};setContainer(e){if(this.container&&this.infoPanelContainer.parentElement===this.container)this.container.removeChild(this.infoPanelContainer);if(e)this.container=e,this.container.appendChild(this.infoPanelContainer),this.infoPanelContainer.style.zIndex=this.container.style.zIndex+1}show(){this.infoPanelContainer.style.display="block",this.visible=!0}hide(){this.infoPanelContainer.style.display="none",this.visible=!1}}class LW{constructor(e){this.threeScene=e,this.splatRenderTarget=null,this.renderTargetCopyQuad=null,this.renderTargetCopyCamera=null,this.meshCursor=null,this.focusMarker=null,this.controlPlane=null,this.debugRoot=null,this.secondaryDebugRoot=null}updateSplatRenderTargetForRenderDimensions(e,t){this.destroySplatRendertarget(),this.splatRenderTarget=new ef(e,t,{format:$p,stencilBuffer:!1,depthBuffer:!0}),this.splatRenderTarget.depthTexture=new nA(e,t),this.splatRenderTarget.depthTexture.format=eA,this.splatRenderTarget.depthTexture.type=Dh}destroySplatRendertarget(){if(this.splatRenderTarget)this.splatRenderTarget=null}setupRenderTargetCopyObjects(){let t=new Ac({vertexShader:` + `), + this.infoPanelContainer.append(n), + (this.infoPanel = document.createElement("div")), + (this.infoPanel.className = "infoPanel")); + let r = document.createElement("div"); + r.style.display = "table"; + for (let o of t) { + let a = document.createElement("div"); + ((a.style.display = "table-row"), (a.className = "info-panel-row")); + let i = document.createElement("div"); + ((i.style.display = "table-cell"), + (i.innerHTML = `${o[0]}: `), + i.classList.add("info-panel-cell", "label-cell")); + let s = document.createElement("div"); + ((s.style.display = "table-cell"), + (s.style.width = "10px"), + (s.innerHTML = " "), + (s.className = "info-panel-cell")); + let l = document.createElement("div"); + ((l.style.display = "table-cell"), + (l.innerHTML = ""), + (l.className = "info-panel-cell"), + (this.infoCells[o[1]] = l), + a.appendChild(i), + a.appendChild(s), + a.appendChild(l), + r.appendChild(a)); + } + (this.infoPanel.appendChild(r), + this.infoPanelContainer.append(this.infoPanel), + (this.infoPanelContainer.style.display = "none"), + this.container.appendChild(this.infoPanelContainer), + (this.visible = !1)); + } + update = function (e, t, n, r, o, a, i, s, l, c, u, d, p, f) { + let m = `${t.x.toFixed(5)}, ${t.y.toFixed(5)}, ${t.z.toFixed(5)}`; + if (this.infoCells.cameraPosition.innerHTML !== m) + this.infoCells.cameraPosition.innerHTML = m; + if (n) { + let v = n, + y = `${v.x.toFixed(5)}, ${v.y.toFixed(5)}, ${v.z.toFixed(5)}`; + if (this.infoCells.cameraLookAt.innerHTML !== y) + this.infoCells.cameraLookAt.innerHTML = y; + } + let g = `${r.x.toFixed(5)}, ${r.y.toFixed(5)}, ${r.z.toFixed(5)}`; + if (this.infoCells.cameraUp.innerHTML !== g) + this.infoCells.cameraUp.innerHTML = g; + if ( + ((this.infoCells.orthographicCamera.innerHTML = o + ? "Orthographic" + : "Perspective"), + a) + ) { + let v = a, + y = `${v.x.toFixed(5)}, ${v.y.toFixed(5)}, ${v.z.toFixed(5)}`; + this.infoCells.cursorPosition.innerHTML = y; + } else this.infoCells.cursorPosition.innerHTML = "N/A"; + ((this.infoCells.fps.innerHTML = i), + (this.infoCells.renderWindow.innerHTML = `${e.x} x ${e.y}`), + (this.infoCells.renderSplatCount.innerHTML = `${l} splats out of ${s} (${c.toFixed(2)}%)`), + (this.infoCells.sortTime.innerHTML = `${u.toFixed(3)} ms`), + (this.infoCells.focalAdjustment.innerHTML = `${d.toFixed(3)}`), + (this.infoCells.splatScale.innerHTML = `${p.toFixed(3)}`), + (this.infoCells.pointCloudMode.innerHTML = `${f}`)); + }; + setContainer(e) { + if ( + this.container && + this.infoPanelContainer.parentElement === this.container + ) + this.container.removeChild(this.infoPanelContainer); + if (e) + ((this.container = e), + this.container.appendChild(this.infoPanelContainer), + (this.infoPanelContainer.style.zIndex = + this.container.style.zIndex + 1)); + } + show() { + ((this.infoPanelContainer.style.display = "block"), (this.visible = !0)); + } + hide() { + ((this.infoPanelContainer.style.display = "none"), (this.visible = !1)); + } +} +class LW { + constructor(e) { + ((this.threeScene = e), + (this.splatRenderTarget = null), + (this.renderTargetCopyQuad = null), + (this.renderTargetCopyCamera = null), + (this.meshCursor = null), + (this.focusMarker = null), + (this.controlPlane = null), + (this.debugRoot = null), + (this.secondaryDebugRoot = null)); + } + updateSplatRenderTargetForRenderDimensions(e, t) { + (this.destroySplatRendertarget(), + (this.splatRenderTarget = new ef(e, t, { + format: $p, + stencilBuffer: !1, + depthBuffer: !0, + })), + (this.splatRenderTarget.depthTexture = new nA(e, t)), + (this.splatRenderTarget.depthTexture.format = eA), + (this.splatRenderTarget.depthTexture.type = Dh)); + } + destroySplatRendertarget() { + if (this.splatRenderTarget) this.splatRenderTarget = null; + } + setupRenderTargetCopyObjects() { + let t = new Ac({ + vertexShader: ` varying vec2 vUv; void main() { vUv = uv; gl_Position = vec4( position.xy, 0.0, 1.0 ); } - `,fragmentShader:` + `, + fragmentShader: ` #include #include varying vec2 vUv; @@ -5413,7 +195725,190 @@ No matching component was found for: gl_FragDepth = fragDepth; gl_FragColor = vec4(color.rgb, color.a * 2.0); } - `,uniforms:{sourceColorTexture:{type:"t",value:null},sourceDepthTexture:{type:"t",value:null}},depthWrite:!1,depthTest:!1,transparent:!0,blending:yX,blendSrc:OB,blendSrcAlpha:OB,blendDst:FB,blendDstAlpha:FB});t.extensions.fragDepth=!0,this.renderTargetCopyQuad=new Na(new oA(2,2),t),this.renderTargetCopyCamera=new qy(-1,1,1,-1,0,1)}destroyRenderTargetCopyObjects(){if(this.renderTargetCopyQuad)pO(this.renderTargetCopyQuad),this.renderTargetCopyQuad=null}setupMeshCursor(){if(!this.meshCursor){let e=new v5(0.5,1.5,32),t=new Um({color:16777215}),n=new Na(e,t);n.rotation.set(0,0,Math.PI),n.position.set(0,1,0);let r=new Na(e,t);r.position.set(0,-1,0);let o=new Na(e,t);o.rotation.set(0,0,Math.PI/2),o.position.set(1,0,0);let a=new Na(e,t);a.rotation.set(0,0,-Math.PI/2),a.position.set(-1,0,0),this.meshCursor=new Go,this.meshCursor.add(n),this.meshCursor.add(r),this.meshCursor.add(o),this.meshCursor.add(a),this.meshCursor.scale.set(0.1,0.1,0.1),this.threeScene.add(this.meshCursor),this.meshCursor.visible=!1}}destroyMeshCursor(){if(this.meshCursor)pO(this.meshCursor),this.threeScene.remove(this.meshCursor),this.meshCursor=null}setMeshCursorVisibility(e){this.meshCursor.visible=e}getMeschCursorVisibility(){return this.meshCursor.visible}setMeshCursorPosition(e){this.meshCursor.position.copy(e)}positionAndOrientMeshCursor(e,t){this.meshCursor.position.copy(e),this.meshCursor.up.copy(t.up),this.meshCursor.lookAt(t.position)}setupFocusMarker(){if(!this.focusMarker){let e=new rS(0.5,32,32),t=LW.buildFocusMarkerMaterial();t.depthTest=!1,t.depthWrite=!1,t.transparent=!0,this.focusMarker=new Na(e,t)}}destroyFocusMarker(){if(this.focusMarker)pO(this.focusMarker),this.focusMarker=null}updateFocusMarker=function(){let e=new he,t=new Vn,n=new he;return function(r,o,a){t.copy(o.matrixWorld).invert(),e.copy(r).applyMatrix4(t),e.normalize().multiplyScalar(10),e.applyMatrix4(o.matrixWorld),n.copy(o.position).sub(r);let i=n.length();this.focusMarker.position.copy(r),this.focusMarker.scale.set(i,i,i),this.focusMarker.material.uniforms.realFocusPosition.value.copy(r),this.focusMarker.material.uniforms.viewport.value.copy(a),this.focusMarker.material.uniformsNeedUpdate=!0}}();setFocusMarkerVisibility(e){this.focusMarker.visible=e}setFocusMarkerOpacity(e){this.focusMarker.material.uniforms.opacity.value=e,this.focusMarker.material.uniformsNeedUpdate=!0}getFocusMarkerOpacity(){return this.focusMarker.material.uniforms.opacity.value}setupControlPlane(){if(!this.controlPlane){let e=new oA(1,1);e.rotateX(-Math.PI/2);let t=new Um({color:16777215});t.transparent=!0,t.opacity=0.6,t.depthTest=!1,t.depthWrite=!1,t.side=Ph;let n=new Na(e,t),r=new he(0,1,0);r.normalize();let o=new he(0,0,0),l=new P1n(r,o,0.5,0.01,56576,0.1,0.03);this.controlPlane=new Go,this.controlPlane.add(n),this.controlPlane.add(l)}}destroyControlPlane(){if(this.controlPlane)pO(this.controlPlane),this.controlPlane=null}setControlPlaneVisibility(e){this.controlPlane.visible=e}positionAndOrientControlPlane=function(){let e=new Vo,t=new he(0,1,0);return function(n,r){e.setFromUnitVectors(t,r),this.controlPlane.position.copy(n),this.controlPlane.quaternion.copy(e)}}();addDebugMeshes(){this.debugRoot=this.createDebugMeshes(),this.secondaryDebugRoot=this.createSecondaryDebugMeshes(),this.threeScene.add(this.debugRoot),this.threeScene.add(this.secondaryDebugRoot)}destroyDebugMeshes(){for(let e of[this.debugRoot,this.secondaryDebugRoot])if(e)pO(e),this.threeScene.remove(e);this.debugRoot=null,this.secondaryDebugRoot=null}createDebugMeshes(e){let t=new rS(1,32,32),n=new Go,r=(o,a)=>{let i=new Na(t,LW.buildDebugMaterial(o));i.renderOrder=e,n.add(i),i.position.fromArray(a)};return r(16711680,[-50,0,0]),r(16711680,[50,0,0]),r(65280,[0,0,-50]),r(65280,[0,0,50]),r(16755200,[5,0,5]),n}createSecondaryDebugMeshes(e){let t=new rA(3,3,3),n=new Go,r=12303291,o=(i)=>{let s=new Na(t,LW.buildDebugMaterial(r));s.renderOrder=e,n.add(s),s.position.fromArray(i)},a=10;return o([-a,0,-a]),o([-a,0,a]),o([a,0,-a]),o([a,0,a]),n}static buildDebugMaterial(e){let r={color:{type:"v3",value:new _n(e)}},o=new Ac({uniforms:r,vertexShader:` + `, + uniforms: { + sourceColorTexture: { type: "t", value: null }, + sourceDepthTexture: { type: "t", value: null }, + }, + depthWrite: !1, + depthTest: !1, + transparent: !0, + blending: yX, + blendSrc: OB, + blendSrcAlpha: OB, + blendDst: FB, + blendDstAlpha: FB, + }); + ((t.extensions.fragDepth = !0), + (this.renderTargetCopyQuad = new Na(new oA(2, 2), t)), + (this.renderTargetCopyCamera = new qy(-1, 1, 1, -1, 0, 1))); + } + destroyRenderTargetCopyObjects() { + if (this.renderTargetCopyQuad) + (pO(this.renderTargetCopyQuad), (this.renderTargetCopyQuad = null)); + } + setupMeshCursor() { + if (!this.meshCursor) { + let e = new v5(0.5, 1.5, 32), + t = new Um({ color: 16777215 }), + n = new Na(e, t); + (n.rotation.set(0, 0, Math.PI), n.position.set(0, 1, 0)); + let r = new Na(e, t); + r.position.set(0, -1, 0); + let o = new Na(e, t); + (o.rotation.set(0, 0, Math.PI / 2), o.position.set(1, 0, 0)); + let a = new Na(e, t); + (a.rotation.set(0, 0, -Math.PI / 2), + a.position.set(-1, 0, 0), + (this.meshCursor = new Go()), + this.meshCursor.add(n), + this.meshCursor.add(r), + this.meshCursor.add(o), + this.meshCursor.add(a), + this.meshCursor.scale.set(0.1, 0.1, 0.1), + this.threeScene.add(this.meshCursor), + (this.meshCursor.visible = !1)); + } + } + destroyMeshCursor() { + if (this.meshCursor) + (pO(this.meshCursor), + this.threeScene.remove(this.meshCursor), + (this.meshCursor = null)); + } + setMeshCursorVisibility(e) { + this.meshCursor.visible = e; + } + getMeschCursorVisibility() { + return this.meshCursor.visible; + } + setMeshCursorPosition(e) { + this.meshCursor.position.copy(e); + } + positionAndOrientMeshCursor(e, t) { + (this.meshCursor.position.copy(e), + this.meshCursor.up.copy(t.up), + this.meshCursor.lookAt(t.position)); + } + setupFocusMarker() { + if (!this.focusMarker) { + let e = new rS(0.5, 32, 32), + t = LW.buildFocusMarkerMaterial(); + ((t.depthTest = !1), + (t.depthWrite = !1), + (t.transparent = !0), + (this.focusMarker = new Na(e, t))); + } + } + destroyFocusMarker() { + if (this.focusMarker) (pO(this.focusMarker), (this.focusMarker = null)); + } + updateFocusMarker = (function () { + let e = new he(), + t = new Vn(), + n = new he(); + return function (r, o, a) { + (t.copy(o.matrixWorld).invert(), + e.copy(r).applyMatrix4(t), + e.normalize().multiplyScalar(10), + e.applyMatrix4(o.matrixWorld), + n.copy(o.position).sub(r)); + let i = n.length(); + (this.focusMarker.position.copy(r), + this.focusMarker.scale.set(i, i, i), + this.focusMarker.material.uniforms.realFocusPosition.value.copy(r), + this.focusMarker.material.uniforms.viewport.value.copy(a), + (this.focusMarker.material.uniformsNeedUpdate = !0)); + }; + })(); + setFocusMarkerVisibility(e) { + this.focusMarker.visible = e; + } + setFocusMarkerOpacity(e) { + ((this.focusMarker.material.uniforms.opacity.value = e), + (this.focusMarker.material.uniformsNeedUpdate = !0)); + } + getFocusMarkerOpacity() { + return this.focusMarker.material.uniforms.opacity.value; + } + setupControlPlane() { + if (!this.controlPlane) { + let e = new oA(1, 1); + e.rotateX(-Math.PI / 2); + let t = new Um({ color: 16777215 }); + ((t.transparent = !0), + (t.opacity = 0.6), + (t.depthTest = !1), + (t.depthWrite = !1), + (t.side = Ph)); + let n = new Na(e, t), + r = new he(0, 1, 0); + r.normalize(); + let o = new he(0, 0, 0), + l = new P1n(r, o, 0.5, 0.01, 56576, 0.1, 0.03); + ((this.controlPlane = new Go()), + this.controlPlane.add(n), + this.controlPlane.add(l)); + } + } + destroyControlPlane() { + if (this.controlPlane) (pO(this.controlPlane), (this.controlPlane = null)); + } + setControlPlaneVisibility(e) { + this.controlPlane.visible = e; + } + positionAndOrientControlPlane = (function () { + let e = new Vo(), + t = new he(0, 1, 0); + return function (n, r) { + (e.setFromUnitVectors(t, r), + this.controlPlane.position.copy(n), + this.controlPlane.quaternion.copy(e)); + }; + })(); + addDebugMeshes() { + ((this.debugRoot = this.createDebugMeshes()), + (this.secondaryDebugRoot = this.createSecondaryDebugMeshes()), + this.threeScene.add(this.debugRoot), + this.threeScene.add(this.secondaryDebugRoot)); + } + destroyDebugMeshes() { + for (let e of [this.debugRoot, this.secondaryDebugRoot]) + if (e) (pO(e), this.threeScene.remove(e)); + ((this.debugRoot = null), (this.secondaryDebugRoot = null)); + } + createDebugMeshes(e) { + let t = new rS(1, 32, 32), + n = new Go(), + r = (o, a) => { + let i = new Na(t, LW.buildDebugMaterial(o)); + ((i.renderOrder = e), n.add(i), i.position.fromArray(a)); + }; + return ( + r(16711680, [-50, 0, 0]), + r(16711680, [50, 0, 0]), + r(65280, [0, 0, -50]), + r(65280, [0, 0, 50]), + r(16755200, [5, 0, 5]), + n + ); + } + createSecondaryDebugMeshes(e) { + let t = new rA(3, 3, 3), + n = new Go(), + r = 12303291, + o = (i) => { + let s = new Na(t, LW.buildDebugMaterial(r)); + ((s.renderOrder = e), n.add(s), s.position.fromArray(i)); + }, + a = 10; + return (o([-a, 0, -a]), o([-a, 0, a]), o([a, 0, -a]), o([a, 0, a]), n); + } + static buildDebugMaterial(e) { + let r = { color: { type: "v3", value: new _n(e) } }, + o = new Ac({ + uniforms: r, + vertexShader: ` #include varying float ndcDepth; @@ -5426,7 +195921,8 @@ No matching component was found for: gl_Position.w = 1.0; } - `,fragmentShader:` + `, + fragmentShader: ` #include uniform vec3 color; varying float ndcDepth; @@ -5434,7 +195930,24 @@ No matching component was found for: gl_FragDepth = (ndcDepth + 1.0) / 2.0; gl_FragColor = vec4(color.rgb, 0.0); } - `,transparent:!1,depthTest:!0,depthWrite:!0,side:$x});return o.extensions.fragDepth=!0,o}static buildFocusMarkerMaterial(e){let r={color:{type:"v3",value:new _n(e)},realFocusPosition:{type:"v3",value:new he},viewport:{type:"v2",value:new vt},opacity:{value:0}};return new Ac({uniforms:r,vertexShader:` + `, + transparent: !1, + depthTest: !0, + depthWrite: !0, + side: $x, + }); + return ((o.extensions.fragDepth = !0), o); + } + static buildFocusMarkerMaterial(e) { + let r = { + color: { type: "v3", value: new _n(e) }, + realFocusPosition: { type: "v3", value: new he() }, + viewport: { type: "v2", value: new vt() }, + opacity: { value: 0 }, + }; + return new Ac({ + uniforms: r, + vertexShader: ` #include uniform vec2 viewport; @@ -5463,7 +195976,8 @@ No matching component was found for: gl_Position = projectionMatrix * viewPosition; } - `,fragmentShader:` + `, + fragmentShader: ` #include uniform vec3 color; uniform vec2 viewport; @@ -5489,7 +196003,266 @@ No matching component was found for: gl_FragColor = vec4(color.rgb, alpha * opacity); } - `,transparent:!0,depthTest:!1,depthWrite:!1,side:$x})}dispose(){this.destroyMeshCursor(),this.destroyFocusMarker(),this.destroyDebugMeshes(),this.destroyControlPlane(),this.destroyRenderTargetCopyObjects(),this.destroySplatRendertarget()}}class Kge{constructor(e=new he,t=new he){this.origin=new he,this.direction=new he,this.setParameters(e,t)}setParameters(e,t){this.origin.copy(e),this.direction.copy(t).normalize()}boxContainsPoint(e,t,n){return t.xe.max.x+n||t.ye.max.y+n||t.ze.max.z+n?!1:!0}intersectBox=function(){let e=new he,t=[],n=[],r=[];return function(o,a){if(n[0]=this.origin.x,n[1]=this.origin.y,n[2]=this.origin.z,r[0]=this.direction.x,r[1]=this.direction.y,r[2]=this.direction.z,this.boxContainsPoint(o,this.origin,0.0001)){if(a)a.origin.copy(this.origin),a.normal.set(0,0,0),a.distance=-1;return!0}for(let i=0;i<3;i++){if(r[i]==0)continue;let s=i==0?zUr:i==1?_Ur:HUr,l=r[i]<0?o.max:o.min,c=-Math.sign(r[i]);t[0]=i==0?l.x:i==1?l.y:l.z;let u=t[0]-n[i];if(u*c<0){let d=(i+1)%3,p=(i+2)%3;if(t[2]=r[d]/r[i]*u+n[d],t[1]=r[p]/r[i]*u+n[p],e.set(t[i],t[p],t[d]),this.boxContainsPoint(o,e,0.0001)){if(a)a.origin.copy(e),a.normal.copy(s).multiplyScalar(c),a.distance=e.sub(this.origin).length();return!0}}}return!1}}();intersectSphere=function(){let e=new he;return function(t,n,r){e.copy(t).sub(this.origin);let o=e.dot(this.direction),a=o*o,s=e.dot(e)-a,l=n*n;if(s>l)return!1;let c=Math.sqrt(l-s),u=o-c,d=o+c;if(d<0)return!1;let p=u<0?d:u;if(r)r.origin.copy(this.origin).addScaledVector(this.direction,p),r.normal.copy(r.origin).sub(t).normalize(),r.distance=p;return!0}}()}class MGe{constructor(){this.origin=new he,this.normal=new he,this.distance=0,this.splatIndex=0}set(e,t,n,r){this.origin.copy(e),this.normal.copy(t),this.distance=n,this.splatIndex=r}clone(){let e=new MGe;return e.origin.copy(this.origin),e.normal.copy(this.normal),e.distance=this.distance,e.splatIndex=this.splatIndex,e}}class M1n{constructor(e,t,n=!1){this.ray=new Kge(e,t),this.raycastAgainstTrueSplatEllipsoid=n}setFromCameraAndScreenPosition=function(){let e=new vt;return function(t,n,r){if(e.x=n.x/r.x*2-1,e.y=(r.y-n.y)/r.y*2-1,t.isPerspectiveCamera)this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,0.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t;else if(t.isOrthographicCamera)this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t;else throw Error("Raycaster::setFromCameraAndScreenPosition() -> Unsupported camera type")}}();intersectSplatMesh=function(){let e=new Vn,t=new Vn,n=new Vn,r=new Kge,o=new he;return function(a,i=[]){let s=a.getSplatTree();if(!s)return;for(let l=0;l{d.origin.applyMatrix4(t),d.normal.applyMatrix4(t).normalize(),d.distance=o.copy(d.origin).sub(this.ray.origin).length()}),i.push(...u)}return i.sort((l,c)=>{if(l.distance>c.distance)return 1;else return-1}),i}}();castRayAtSplatTreeNode=function(){let e=new Ja,t=new he,n=new he,r=new Vo,o=new MGe,a=0.0000001,i=new he(0,0,0),s=new Vn,l=new Vn,c=new Vn,u=new Vn,d=new Vn,p=new Kge;return function(f,m,g,v=[]){if(!f.intersectBox(g.boundingBox))return;if(g.data&&g.data.indexes&&g.data.indexes.length>0)for(let y=0;y0)for(let y of g.children)this.castRayAtSplatTreeNode(f,m,y,v);return v}}()}class V7{static buildVertexShaderBase(e=!1,t=!1,n=0,r=""){let o=` + `, + transparent: !0, + depthTest: !1, + depthWrite: !1, + side: $x, + }); + } + dispose() { + (this.destroyMeshCursor(), + this.destroyFocusMarker(), + this.destroyDebugMeshes(), + this.destroyControlPlane(), + this.destroyRenderTargetCopyObjects(), + this.destroySplatRendertarget()); + } +} +class Kge { + constructor(e = new he(), t = new he()) { + ((this.origin = new he()), + (this.direction = new he()), + this.setParameters(e, t)); + } + setParameters(e, t) { + (this.origin.copy(e), this.direction.copy(t).normalize()); + } + boxContainsPoint(e, t, n) { + return t.x < e.min.x - n || + t.x > e.max.x + n || + t.y < e.min.y - n || + t.y > e.max.y + n || + t.z < e.min.z - n || + t.z > e.max.z + n + ? !1 + : !0; + } + intersectBox = (function () { + let e = new he(), + t = [], + n = [], + r = []; + return function (o, a) { + if ( + ((n[0] = this.origin.x), + (n[1] = this.origin.y), + (n[2] = this.origin.z), + (r[0] = this.direction.x), + (r[1] = this.direction.y), + (r[2] = this.direction.z), + this.boxContainsPoint(o, this.origin, 0.0001)) + ) { + if (a) + (a.origin.copy(this.origin), + a.normal.set(0, 0, 0), + (a.distance = -1)); + return !0; + } + for (let i = 0; i < 3; i++) { + if (r[i] == 0) continue; + let s = i == 0 ? zUr : i == 1 ? _Ur : HUr, + l = r[i] < 0 ? o.max : o.min, + c = -Math.sign(r[i]); + t[0] = i == 0 ? l.x : i == 1 ? l.y : l.z; + let u = t[0] - n[i]; + if (u * c < 0) { + let d = (i + 1) % 3, + p = (i + 2) % 3; + if ( + ((t[2] = (r[d] / r[i]) * u + n[d]), + (t[1] = (r[p] / r[i]) * u + n[p]), + e.set(t[i], t[p], t[d]), + this.boxContainsPoint(o, e, 0.0001)) + ) { + if (a) + (a.origin.copy(e), + a.normal.copy(s).multiplyScalar(c), + (a.distance = e.sub(this.origin).length())); + return !0; + } + } + } + return !1; + }; + })(); + intersectSphere = (function () { + let e = new he(); + return function (t, n, r) { + e.copy(t).sub(this.origin); + let o = e.dot(this.direction), + a = o * o, + s = e.dot(e) - a, + l = n * n; + if (s > l) return !1; + let c = Math.sqrt(l - s), + u = o - c, + d = o + c; + if (d < 0) return !1; + let p = u < 0 ? d : u; + if (r) + (r.origin.copy(this.origin).addScaledVector(this.direction, p), + r.normal.copy(r.origin).sub(t).normalize(), + (r.distance = p)); + return !0; + }; + })(); +} +class MGe { + constructor() { + ((this.origin = new he()), + (this.normal = new he()), + (this.distance = 0), + (this.splatIndex = 0)); + } + set(e, t, n, r) { + (this.origin.copy(e), + this.normal.copy(t), + (this.distance = n), + (this.splatIndex = r)); + } + clone() { + let e = new MGe(); + return ( + e.origin.copy(this.origin), + e.normal.copy(this.normal), + (e.distance = this.distance), + (e.splatIndex = this.splatIndex), + e + ); + } +} +class M1n { + constructor(e, t, n = !1) { + ((this.ray = new Kge(e, t)), (this.raycastAgainstTrueSplatEllipsoid = n)); + } + setFromCameraAndScreenPosition = (function () { + let e = new vt(); + return function (t, n, r) { + if ( + ((e.x = (n.x / r.x) * 2 - 1), + (e.y = ((r.y - n.y) / r.y) * 2 - 1), + t.isPerspectiveCamera) + ) + (this.ray.origin.setFromMatrixPosition(t.matrixWorld), + this.ray.direction + .set(e.x, e.y, 0.5) + .unproject(t) + .sub(this.ray.origin) + .normalize(), + (this.camera = t)); + else if (t.isOrthographicCamera) + (this.ray.origin + .set(e.x, e.y, (t.near + t.far) / (t.near - t.far)) + .unproject(t), + this.ray.direction.set(0, 0, -1).transformDirection(t.matrixWorld), + (this.camera = t)); + else + throw Error( + "Raycaster::setFromCameraAndScreenPosition() -> Unsupported camera type", + ); + }; + })(); + intersectSplatMesh = (function () { + let e = new Vn(), + t = new Vn(), + n = new Vn(), + r = new Kge(), + o = new he(); + return function (a, i = []) { + let s = a.getSplatTree(); + if (!s) return; + for (let l = 0; l < s.subTrees.length; l++) { + let c = s.subTrees[l]; + if ((t.copy(a.matrixWorld), a.dynamicMode)) + (a.getSceneTransform(l, n), t.multiply(n)); + (e.copy(t).invert(), + r.origin.copy(this.ray.origin).applyMatrix4(e), + r.direction.copy(this.ray.origin).add(this.ray.direction), + r.direction.applyMatrix4(e).sub(r.origin).normalize()); + let u = []; + if (c.rootNode) this.castRayAtSplatTreeNode(r, s, c.rootNode, u); + (u.forEach((d) => { + (d.origin.applyMatrix4(t), + d.normal.applyMatrix4(t).normalize(), + (d.distance = o.copy(d.origin).sub(this.ray.origin).length())); + }), + i.push(...u)); + } + return ( + i.sort((l, c) => { + if (l.distance > c.distance) return 1; + else return -1; + }), + i + ); + }; + })(); + castRayAtSplatTreeNode = (function () { + let e = new Ja(), + t = new he(), + n = new he(), + r = new Vo(), + o = new MGe(), + a = 0.0000001, + i = new he(0, 0, 0), + s = new Vn(), + l = new Vn(), + c = new Vn(), + u = new Vn(), + d = new Vn(), + p = new Kge(); + return function (f, m, g, v = []) { + if (!f.intersectBox(g.boundingBox)) return; + if (g.data && g.data.indexes && g.data.indexes.length > 0) + for (let y = 0; y < g.data.indexes.length; y++) { + let x = g.data.indexes[y], + A = m.splatMesh.getSceneIndexForSplat(x); + if (!m.splatMesh.getScene(A).visible) continue; + if ( + (m.splatMesh.getSplatColor(x, e), + m.splatMesh.getSplatCenter(x, t), + m.splatMesh.getSplatScaleAndRotation(x, n, r), + n.x <= 0.0000001 || + n.y <= 0.0000001 || + (m.splatMesh.splatRenderMode === uS.ThreeD && n.z <= 0.0000001)) + ) + continue; + if (!this.raycastAgainstTrueSplatEllipsoid) { + let C = n.x + n.y, + E = 2; + if (m.splatMesh.splatRenderMode === uS.ThreeD) + ((C += n.z), (E = 3)); + if (((C = C / E), f.intersectSphere(t, C, o))) { + let T = o.clone(); + ((T.splatIndex = x), v.push(T)); + } + } else { + (l.makeScale(n.x, n.y, n.z), c.makeRotationFromQuaternion(r)); + let C = Math.log10(e.w) * 2; + if ( + (s.makeScale(C, C, C), + d.copy(s).multiply(c).multiply(l), + u.copy(d).invert(), + p.origin.copy(f.origin).sub(t).applyMatrix4(u), + p.direction.copy(f.origin).add(f.direction).sub(t), + p.direction.applyMatrix4(u).sub(p.origin).normalize(), + p.intersectSphere(i, 1, o)) + ) { + let E = o.clone(); + ((E.splatIndex = x), E.origin.applyMatrix4(d).add(t), v.push(E)); + } + } + } + if (g.children && g.children.length > 0) + for (let y of g.children) this.castRayAtSplatTreeNode(f, m, y, v); + return v; + }; + })(); +} +class V7 { + static buildVertexShaderBase(e = !1, t = !1, n = 0, r = "") { + let o = ` precision highp float; #include @@ -5503,12 +196276,18 @@ No matching component was found for: uniform highp usampler2D sceneIndexesTexture; uniform vec2 sceneIndexesTextureSize; uniform int sceneCount; - `;if(t)o+=` + `; + if (t) + o += ` uniform float sceneOpacity[${Ui.MaxScenes}]; uniform int sceneVisibility[${Ui.MaxScenes}]; - `;if(e)o+=` + `; + if (e) + o += ` uniform highp mat4 transforms[${Ui.MaxScenes}]; - `;if(o+=` + `; + if ( + ((o += ` ${r} uniform vec2 focal; uniform float orthoZoom; @@ -5599,17 +196378,25 @@ No matching component was found for: if (sceneCount > 1) { sceneIndex = texture(sceneIndexesTexture, getDataUV(1, 0, sceneIndexesTextureSize)).r; } - `,t)o+=` + `), + t) + ) + o += ` float splatOpacityFromScene = sceneOpacity[sceneIndex]; int sceneVisible = sceneVisibility[sceneIndex]; if (splatOpacityFromScene <= 0.01 || sceneVisible == 0) { gl_Position = vec4(0.0, 0.0, 2.0, 1.0); return; } - `;if(e)o+=` + `; + if (e) + o += ` mat4 transform = transforms[sceneIndex]; mat4 transformModelViewMatrix = viewMatrix * transform; - `;else o+="mat4 transformModelViewMatrix = modelViewMatrix;";if(o+=` + `; + else o += "mat4 transformModelViewMatrix = modelViewMatrix;"; + if ( + ((o += ` float sh8BitCompressionRangeMinForScene = sphericalHarmonics8BitCompressionRangeMin[sceneIndex]; float sh8BitCompressionRangeMaxForScene = sphericalHarmonics8BitCompressionRangeMax[sceneIndex]; float sh8BitCompressionRangeForScene = sh8BitCompressionRangeMaxForScene - sh8BitCompressionRangeMinForScene; @@ -5630,23 +196417,39 @@ No matching component was found for: vPosition = position.xy; vColor = uintToRGBAVec(sampledCenterColor.r); - `,n>=1){if(o+=` + `), + n >= 1) + ) { + if ( + ((o += ` if (sphericalHarmonicsDegree >= 1) { - `,e)o+=` + `), + e) + ) + o += ` vec3 worldViewDir = normalize(splatCenter - vec3(inverse(transform) * vec4(cameraPosition, 1.0))); - `;else o+=` + `; + else + o += ` vec3 worldViewDir = normalize(splatCenter - cameraPosition); - `;if(o+=` + `; + if ( + ((o += ` vec3 sh1; vec3 sh2; vec3 sh3; - `,n>=2)o+=` + `), + n >= 2) + ) + o += ` vec3 sh4; vec3 sh5; vec3 sh6; vec3 sh7; vec3 sh8; - `;if(n===1)o+=` + `; + if (n === 1) + o += ` if (sphericalHarmonicsMultiTextureMode == 0) { vec2 shUV = getDataUVF(nearestEvenIndex, 2.5, doubleOddOffset, sphericalHarmonicsTextureSize); vec4 sampledSH0123 = texture(sphericalHarmonicsTexture, shUV); @@ -5668,7 +196471,9 @@ No matching component was found for: sh2 = vec3(sampledSH01G.rg, sampledSH23G.r); sh3 = vec3(sampledSH01B.rg, sampledSH23B.r); } - `;else if(n===2)o+=` + `; + else if (n === 2) + o += ` vec4 sampledSH0123; vec4 sampledSH4567; vec4 sampledSH891011; @@ -5692,7 +196497,9 @@ No matching component was found for: sh2 = vec3(sampledSH0123G.rgb); sh3 = vec3(sampledSH0123B.rgb); } - `;if(o+=` + `; + if ( + ((o += ` if (sphericalHarmonics8BitMode == 1) { sh1 = sh1 * sh8BitCompressionRangeForScene + vec8BitSHShift; sh2 = sh2 * sh8BitCompressionRangeForScene + vec8BitSHShift; @@ -5702,7 +196509,11 @@ No matching component was found for: float y = worldViewDir.y; float z = worldViewDir.z; vColor.rgb += SH_C1 * (-sh1 * y + sh2 * z - sh3 * x); - `,n>=2){if(o+=` + `), + n >= 2) + ) { + if ( + ((o += ` if (sphericalHarmonicsDegree >= 2) { float xx = x * x; float yy = y * y; @@ -5710,7 +196521,10 @@ No matching component was found for: float xy = x * y; float yz = y * z; float xz = x * z; - `,n===2)o+=` + `), + n === 2) + ) + o += ` if (sphericalHarmonicsMultiTextureMode == 0) { vec4 sampledSH12131415 = texture(sphericalHarmonicsTexture, getDataUV(6, 3, sphericalHarmonicsTextureSize)); vec4 sampledSH16171819 = texture(sphericalHarmonicsTexture, getDataUV(6, 4, sphericalHarmonicsTextureSize)); @@ -5730,7 +196544,8 @@ No matching component was found for: sh7 = vec3(sampledSH4567G.a, sampledSH0123B.a, sampledSH4567B.r); sh8 = vec3(sampledSH4567B.gba); } - `;o+=` + `; + o += ` if (sphericalHarmonics8BitMode == 1) { sh4 = sh4 * sh8BitCompressionRangeForScene + vec8BitSHShift; sh5 = sh5 * sh8BitCompressionRangeForScene + vec8BitSHShift; @@ -5746,13 +196561,20 @@ No matching component was found for: (SH_C2[3] * xz) * sh7 + (SH_C2[4] * (xx - yy)) * sh8; } - `}o+=` + `; + } + o += ` vColor.rgb = clamp(vColor.rgb, vec3(0.), vec3(1.)); } - `}return o}static getVertexShaderFadeIn(){return` + `; + } + return o; + } + static getVertexShaderFadeIn() { + return ` if (fadeInComplete == 0) { float opacityAdjust = 1.0; float centerDist = length(splatCenter - sceneCenter); @@ -5766,7 +196588,80 @@ No matching component was found for: opacityAdjust *= distanceLoadFadeInFactor; vColor.a *= opacityAdjust; } - `}static getUniforms(e=!1,t=!1,n=0,r=1,o=!1){let a={sceneCenter:{type:"v3",value:new he},fadeInComplete:{type:"i",value:0},orthographicMode:{type:"i",value:0},visibleRegionFadeStartRadius:{type:"f",value:0},visibleRegionRadius:{type:"f",value:0},currentTime:{type:"f",value:0},firstRenderTime:{type:"f",value:0},centersColorsTexture:{type:"t",value:null},sphericalHarmonicsTexture:{type:"t",value:null},sphericalHarmonicsTextureR:{type:"t",value:null},sphericalHarmonicsTextureG:{type:"t",value:null},sphericalHarmonicsTextureB:{type:"t",value:null},sphericalHarmonics8BitCompressionRangeMin:{type:"f",value:[]},sphericalHarmonics8BitCompressionRangeMax:{type:"f",value:[]},focal:{type:"v2",value:new vt},orthoZoom:{type:"f",value:1},inverseFocalAdjustment:{type:"f",value:1},viewport:{type:"v2",value:new vt},basisViewport:{type:"v2",value:new vt},debugColor:{type:"v3",value:new _n},centersColorsTextureSize:{type:"v2",value:new vt(1024,1024)},sphericalHarmonicsDegree:{type:"i",value:n},sphericalHarmonicsTextureSize:{type:"v2",value:new vt(1024,1024)},sphericalHarmonics8BitMode:{type:"i",value:0},sphericalHarmonicsMultiTextureMode:{type:"i",value:0},splatScale:{type:"f",value:r},pointCloudModeEnabled:{type:"i",value:o?1:0},sceneIndexesTexture:{type:"t",value:null},sceneIndexesTextureSize:{type:"v2",value:new vt(1024,1024)},sceneCount:{type:"i",value:1}};for(let i=0;i @@ -5908,7 +196845,9 @@ No matching component was found for: varying vec4 vColor; varying vec2 vUv; varying vec2 vPosition; - `;return e+=` + `; + return ( + (e += ` void main () { // Compute the positional squared distance from the center of the splat to the current fragment. float A = dot(vPosition, vPosition); @@ -5926,13 +196865,46 @@ No matching component was found for: gl_FragColor = vec4(color.rgb, opacity); } - `,e}}class jge{static build(e=!1,t=!1,n=1,r=!1,o=0){let i=V7.buildVertexShaderBase(e,t,o,` + `), + e + ); + } +} +class jge { + static build(e = !1, t = !1, n = 1, r = !1, o = 0) { + let i = V7.buildVertexShaderBase( + e, + t, + o, + ` uniform vec2 scaleRotationsTextureSize; uniform highp sampler2D scaleRotationsTexture; varying mat3 vT; varying vec2 vQuadCenter; varying vec2 vFragCoord; - `);i+=jge.buildVertexShaderProjection();let s=jge.buildFragmentShader(),l=V7.getUniforms(e,t,o,n,r);return l.scaleRotationsTexture={type:"t",value:null},l.scaleRotationsTextureSize={type:"v2",value:new vt(1024,1024)},new Ac({uniforms:l,vertexShader:i,fragmentShader:s,transparent:!0,alphaTest:1,blending:Kw,depthTest:!0,depthWrite:!1,side:Ph})}static buildVertexShaderProjection(){let e=` + `, + ); + i += jge.buildVertexShaderProjection(); + let s = jge.buildFragmentShader(), + l = V7.getUniforms(e, t, o, n, r); + return ( + (l.scaleRotationsTexture = { type: "t", value: null }), + (l.scaleRotationsTextureSize = { type: "v2", value: new vt(1024, 1024) }), + new Ac({ + uniforms: l, + vertexShader: i, + fragmentShader: s, + transparent: !0, + alphaTest: 1, + blending: Kw, + depthTest: !0, + depthWrite: !1, + side: Ph, + }) + ); + } + static buildVertexShaderProjection() { + let e = ` vec4 scaleRotationA = texture(scaleRotationsTexture, getDataUVF(nearestEvenIndex, 1.5, oddOffset, scaleRotationsTextureSize)); @@ -5965,7 +196937,8 @@ No matching component was found for: mat3 T = transpose(splat2World) * world2ndc * ndc2pix; vec3 normal = vec3(viewMatrix * vec4(L[0][2], L[1][2], L[2][2], 0.0)); - `,t=` + `, + t = ` vec3 T0 = vec3(T[0][0], T[0][1], T[0][2]); vec3 T1 = vec3(T[1][0], T[1][1], T[1][2]); vec3 T3 = vec3(T[2][0], T[2][1], T[2][2]); @@ -5995,7 +196968,10 @@ No matching component was found for: vT = T; vQuadCenter = pointImage; vFragCoord = (quadPos.xy * 0.5 + 0.5) * viewport; - `;if(!1)e+=t;else e+=` + `; + if (!1) e += t; + else + e += ` mat4 splat2World4 = mat4(vec4(L[0], 0.0), vec4(L[1], 0.0), @@ -6031,7 +197007,11 @@ No matching component was found for: vQuadCenter = center.xy; vFragCoord = (quadPos.xy * 0.5 + 0.5) * viewport; } - `;return e+=V7.getVertexShaderFadeIn(),e+="}",e}static buildFragmentShader(){return` + `; + return ((e += V7.getVertexShaderFadeIn()), (e += "}"), e); + } + static buildFragmentShader() { + return ` precision highp float; #include @@ -6086,80 +197066,17034 @@ No matching component was found for: float w = alpha * T; gl_FragColor = vec4(vColor.rgb, w); } - `}}class D1n{static build(e){let t=new Jr;t.setIndex([0,1,2,0,2,3]);let n=new Float32Array(12),r=new si(n,3);t.setAttribute("position",r),r.setXYZ(0,-1,-1,0),r.setXYZ(1,-1,1,0),r.setXYZ(2,1,1,0),r.setXYZ(3,1,-1,0),r.needsUpdate=!0;let o=new eO().copy(t),a=new Uint32Array(e),i=new Jx(a,1,!1);return i.setUsage(k0e),o.setAttribute("splatIndex",i),o.instanceCount=0,o}}class DGe{static idGen=0;constructor(e,t,n,r){this.min=new he().copy(e),this.max=new he().copy(t),this.boundingBox=new Il(this.min,this.max),this.center=new he().copy(this.max).sub(this.min).multiplyScalar(0.5).add(this.min),this.depth=n,this.children=[],this.data=null,this.id=r||DGe.idGen++}}class BW{constructor(e,t){this.maxDepth=e,this.maxCentersPerNode=t,this.sceneDimensions=new he,this.sceneMin=new he,this.sceneMax=new he,this.rootNode=null,this.nodesWithIndexes=[],this.splatMesh=null}static convertWorkerSubTreeNode(e){let t=new he().fromArray(e.min),n=new he().fromArray(e.max),r=new DGe(t,n,e.depth,e.id);if(e.data.indexes){r.data={indexes:[]};for(let o of e.data.indexes)r.data.indexes.push(o)}if(e.children)for(let o of e.children)r.children.push(BW.convertWorkerSubTreeNode(o));return r}static convertWorkerSubTree(e,t){let n=new BW(e.maxDepth,e.maxCentersPerNode);n.sceneMin=new he().fromArray(e.sceneMin),n.sceneMax=new he().fromArray(e.sceneMax),n.splatMesh=t,n.rootNode=BW.convertWorkerSubTreeNode(e.rootNode);let r=(o,a)=>{if(o.children.length===0)a(o);for(let i of o.children)r(i,a)};return n.nodesWithIndexes=[],r(n.rootNode,(o)=>{if(o.data&&o.data.indexes&&o.data.indexes.length>0)n.nodesWithIndexes.push(o)}),n}}function VUr(e){let t=0;class n{constructor(s,l){this.min=[s[0],s[1],s[2]],this.max=[l[0],l[1],l[2]]}containsPoint(s){return s[0]>=this.min[0]&&s[0]<=this.max[0]&&s[1]>=this.min[1]&&s[1]<=this.max[1]&&s[2]>=this.min[2]&&s[2]<=this.max[2]}}class r{constructor(s,l){this.maxDepth=s,this.maxCentersPerNode=l,this.sceneDimensions=[],this.sceneMin=[],this.sceneMax=[],this.rootNode=null,this.addedIndexes={},this.nodesWithIndexes=[],this.splatMesh=null,this.disposed=!1}}class o{constructor(s,l,c,u){this.min=[s[0],s[1],s[2]],this.max=[l[0],l[1],l[2]],this.center=[(l[0]-s[0])*0.5+s[0],(l[1]-s[1])*0.5+s[1],(l[2]-s[2])*0.5+s[2]],this.depth=c,this.children=[],this.data=null,this.id=u||t++}}processSplatTreeNode=function(s,l,c,u){let d=l.data.indexes.length;if(ds.maxDepth){let A=[];for(let w=0;w{if(w>C)return 1;else return-1}),s.nodesWithIndexes.push(l);return}let p=[l.max[0]-l.min[0],l.max[1]-l.min[1],l.max[2]-l.min[2]],f=[p[0]*0.5,p[1]*0.5,p[2]*0.5],m=[l.min[0]+f[0],l.min[1]+f[1],l.min[2]+f[2]],g=[new n([m[0]-f[0],m[1],m[2]-f[2]],[m[0],m[1]+f[1],m[2]]),new n([m[0],m[1],m[2]-f[2]],[m[0]+f[0],m[1]+f[1],m[2]]),new n([m[0],m[1],m[2]],[m[0]+f[0],m[1]+f[1],m[2]+f[2]]),new n([m[0]-f[0],m[1],m[2]],[m[0],m[1]+f[1],m[2]+f[2]]),new n([m[0]-f[0],m[1]-f[1],m[2]-f[2]],[m[0],m[1],m[2]]),new n([m[0],m[1]-f[1],m[2]-f[2]],[m[0]+f[0],m[1],m[2]]),new n([m[0],m[1]-f[1],m[2]],[m[0]+f[0],m[1],m[2]+f[2]]),new n([m[0]-f[0],m[1]-f[1],m[2]],[m[0],m[1],m[2]+f[2]])],v=[],y=[];for(let A=0;A{let u=[0,0,0],d=[0,0,0],p=[],f=Math.floor(s.length/4);for(let g=0;gd[0])d[0]=y;if(g===0||xd[1])d[1]=x;if(g===0||Ad[2])d[2]=A;p.push(w)}let m=new r(l,c);return m.sceneMin=u,m.sceneMax=d,m.rootNode=new o(m.sceneMin,m.sceneMax,0),m.rootNode.data={indexes:p},m};function i(s,l,c){let u=[];for(let p of s){let f=Math.floor(p.length/4);for(let m=0;m{if(s.data.process)i(s.data.process.centers,s.data.process.maxDepth,s.data.process.maxCentersPerNode)}}function GUr(e,t,n,r,o){e.postMessage({process:{centers:t,maxDepth:r,maxCentersPerNode:o}},n)}function qUr(){return new Worker(URL.createObjectURL(new Blob(["(",VUr.toString(),")(self)"],{type:"application/javascript"})))}class B1n{constructor(e,t){this.maxDepth=e,this.maxCentersPerNode=t,this.subTrees=[],this.splatMesh=null}dispose(){this.diposeSplatTreeWorker(),this.disposed=!0}diposeSplatTreeWorker(){if(this.splatTreeWorker)this.splatTreeWorker.terminate();this.splatTreeWorker=null}processSplatMesh=function(e,t=()=>!0,n,r){if(!this.splatTreeWorker)this.splatTreeWorker=qUr();this.splatMesh=e,this.subTrees=[];let o=new he,a=(i,s)=>{let l=new Float32Array(s*4),c=0;for(let u=0;u{let s=()=>{if(this.disposed)return this.diposeSplatTreeWorker(),i(),!0;return!1};if(n)n(!1);d1(()=>{if(s())return;let l=[];if(e.dynamicMode){let c=0;for(let u=0;u{if(s())return;if(c.data.subTrees){if(r)r(!1);d1(()=>{if(s())return;for(let u of c.data.subTrees){let d=BW.convertWorkerSubTree(u,e);this.subTrees.push(d)}if(this.diposeSplatTreeWorker(),r)r(!0);d1(()=>{i()})})}},d1(()=>{if(s())return;if(n)n(!0);let c=l.map((u)=>u.buffer);GUr(this.splatTreeWorker,l,c,this.maxDepth,this.maxCentersPerNode)})})})};countLeaves(){let e=0;return this.visitLeaves(()=>{e++}),e}visitLeaves(e){let t=(n,r)=>{if(n.children.length===0)r(n);for(let o of n.children)t(o,r)};for(let n of this.subTrees)t(n.rootNode,e)}}function ZUr(e){let t={};function n(r){if(t[r]!==void 0)return t[r];let o;switch(r){case"WEBGL_depth_texture":o=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":o=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":o=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":o=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:o=e.getExtension(r)}return t[r]=o,o}return{has:function(r){return n(r)!==null},init:function(r){if(r.isWebGL2)n("EXT_color_buffer_float"),n("WEBGL_clip_cull_distance");else n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays");n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(r){let o=n(r);if(o===null)console.warn("THREE.WebGLRenderer: "+r+" extension not supported.");return o}}}function QUr(e,t,n){let r;function o(){if(r!==void 0)return r;if(t.has("EXT_texture_filter_anisotropic")===!0){let T=t.get("EXT_texture_filter_anisotropic");r=e.getParameter(T.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function a(T){if(T==="highp"){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.HIGH_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return"highp";T="mediump"}if(T==="mediump"){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0)return"mediump"}return"lowp"}let i=typeof WebGL2RenderingContext<"u"&&e.constructor.name==="WebGL2RenderingContext",s=n.precision!==void 0?n.precision:"highp",l=a(s);if(l!==s)console.warn("THREE.WebGLRenderer:",s,"not supported, using",l,"instead."),s=l;let c=i||t.has("WEBGL_draw_buffers"),u=n.logarithmicDepthBuffer===!0,d=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),p=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),f=e.getParameter(e.MAX_TEXTURE_SIZE),m=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),g=e.getParameter(e.MAX_VERTEX_ATTRIBS),v=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),y=e.getParameter(e.MAX_VARYING_VECTORS),x=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),A=p>0,w=i||t.has("OES_texture_float"),C=A&&w,E=i?e.getParameter(e.MAX_SAMPLES):0;return{isWebGL2:i,drawBuffers:c,getMaxAnisotropy:o,getMaxPrecision:a,precision:s,logarithmicDepthBuffer:u,maxTextures:d,maxVertexTextures:p,maxTextureSize:f,maxCubemapSize:m,maxAttributes:g,maxVertexUniforms:v,maxVaryings:y,maxFragmentUniforms:x,vertexTextures:A,floatFragmentTextures:w,floatVertexTextures:C,maxSamples:E}}function oNr(e){let t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y,x,A,w;function C(E,T,I,k,L,O,B){let U=performance.now();if(!r){if(new Uint32Array(n,s,L.byteLength/w.BytesPerInt).set(L),new Float32Array(n,u,B.byteLength/w.BytesPerFloat).set(B),k){let Z;if(o)Z=new Int32Array(n,d,O.byteLength/w.BytesPerInt);else Z=new Float32Array(n,d,O.byteLength/w.BytesPerFloat);Z.set(O)}}if(!v)v=new Uint32Array(x);new Float32Array(n,g,16).set(I),new Uint32Array(n,f,x).set(v),t.exports.sortIndexes(s,m,d,p,f,g,l,c,u,x,E,T,i,k,o,a);let D={sortDone:!0,splatSortCount:E,splatRenderCount:T,sortTime:0};if(!r){let _=new Uint32Array(n,l,T);if(!y||y.length{if(E.data.centers){if(centers=E.data.centers,sceneIndexes=E.data.sceneIndexes,o)new Int32Array(n,m+E.data.range.from*w.BytesPerInt*4,E.data.range.count*4).set(new Int32Array(centers));else new Float32Array(n,m+E.data.range.from*w.BytesPerFloat*4,E.data.range.count*4).set(new Float32Array(centers));if(a)new Uint32Array(n,c+E.data.range.from*4,E.data.range.count).set(new Uint32Array(sceneIndexes));A=E.data.range.from+E.data.range.count}else if(E.data.sort){let T=Math.min(E.data.sort.splatRenderCount||0,A),I=Math.min(E.data.sort.splatSortCount||0,A),k=E.data.sort.usePrecomputedDistances,L,O,B;if(!r){if(L=E.data.sort.indexesToSort,B=E.data.sort.transforms,k)O=E.data.sort.precomputedDistances}C(I,T,E.data.sort.modelViewProj,k,L,O,B)}else if(E.data.init){w=E.data.init.Constants,i=E.data.init.splatCount,r=E.data.init.useSharedMemory,o=E.data.init.integerBasedSort,a=E.data.init.dynamicMode,x=E.data.init.distanceMapRange,A=0;let T=o?w.BytesPerInt*4:w.BytesPerFloat*4,I=new Uint8Array(E.data.init.sorterWasmBytes),k=16*w.BytesPerFloat,L=i*w.BytesPerInt,O=i*T,B=k,U=o?i*w.BytesPerInt:i*w.BytesPerFloat,D=i*w.BytesPerInt,N=i*w.BytesPerInt,_=o?x*w.BytesPerInt*2:x*w.BytesPerFloat*2,G=a?i*w.BytesPerInt:0,Z=a?w.MaxScenes*k:0,q=w.MemoryPageSize*32,H=L+O+B+U+D+_+N+G+Z+q,te=Math.floor(H/w.MemoryPageSize)+1,ie={module:{},env:{memory:new WebAssembly.Memory({initial:te,maximum:te,shared:!0})}};WebAssembly.compile(I).then((j)=>WebAssembly.instantiate(j,ie)).then((j)=>{if(t=j,s=0,m=s+L,g=m+O,d=g+B,p=d+U,f=p+D,l=f+_,c=l+N,u=c+G,n=ie.env.memory.buffer,r)e.postMessage({sortSetupPhase1Complete:!0,indexesToSortBuffer:n,indexesToSortOffset:s,sortedIndexesBuffer:n,sortedIndexesOffset:l,precomputedDistancesBuffer:n,precomputedDistancesOffset:d,transformsBuffer:n,transformsOffset:u});else e.postMessage({sortSetupPhase1Complete:!0})})}}}function aNr(e,t,n,r,o,a=Ui.DefaultSplatSortDistanceMapPrecision){let i=new Worker(URL.createObjectURL(new Blob(["(",oNr.toString(),")(self)"],{type:"application/javascript"}))),s=tNr,l=yGe()?x1n():null;if(!n&&!t){if(s=v1n,l&&l.major<=16&&l.minor<4)s=rNr}else if(!n)s=v1n;else if(!t){if(l&&l.major<=16&&l.minor<4)s=nNr}let c=atob(s),u=new Uint8Array(c.length);for(let d=0;d{console.warn(p)})},navigator.xr.offerSession!==void 0)navigator.xr.offerSession("immersive-vr",d).then(c).catch((p)=>{console.warn(p)})}function o(){n.style.display="",n.style.cursor="auto",n.style.left="calc(50% - 75px)",n.style.width="150px",n.onmouseenter=null,n.onmouseleave=null,n.onclick=null}function a(){o(),n.textContent="VR NOT SUPPORTED"}function i(l){o(),console.warn("Exception when trying to call xr.isSessionSupported",l),n.textContent="VR NOT ALLOWED"}function s(l){l.style.position="absolute",l.style.bottom="20px",l.style.padding="12px 6px",l.style.border="1px solid #fff",l.style.borderRadius="4px",l.style.background="rgba(0,0,0,0.1)",l.style.color="#fff",l.style.font="normal 13px sans-serif",l.style.textAlign="center",l.style.opacity="0.5",l.style.outline="none",l.style.zIndex="999"}if("xr"in navigator)return n.id="VRButton",n.style.display="none",s(n),navigator.xr.isSessionSupported("immersive-vr").then(function(l){if(l?r():a(),l&&hO.xrSessionIsGranted)n.click()}).catch(i),n;else{let l=document.createElement("a");if(window.isSecureContext===!1)l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS";else l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE";return l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",s(l),l}}static registerSessionGrantedListener(){if(typeof navigator<"u"&&"xr"in navigator){if(/WebXRViewer\//i.test(navigator.userAgent))return;navigator.xr.addEventListener("sessiongranted",()=>{hO.xrSessionIsGranted=!0})}}}class O1n{static createButton(e,t={}){let n=document.createElement("button");function r(){if(t.domOverlay===void 0){let d=document.createElement("div");d.style.display="none",document.body.appendChild(d);let p=document.createElementNS("http://www.w3.org/2000/svg","svg");p.setAttribute("width",38),p.setAttribute("height",38),p.style.position="absolute",p.style.right="20px",p.style.top="20px",p.addEventListener("click",function(){l.end()}),d.appendChild(p);let f=document.createElementNS("http://www.w3.org/2000/svg","path");if(f.setAttribute("d","M 12,12 L 28,28 M 28,12 12,28"),f.setAttribute("stroke","#fff"),f.setAttribute("stroke-width",2),p.appendChild(f),t.optionalFeatures===void 0)t.optionalFeatures=[];t.optionalFeatures.push("dom-overlay"),t.domOverlay={root:d}}let l=null;async function c(d){d.addEventListener("end",u),e.xr.setReferenceSpaceType("local"),await e.xr.setSession(d),n.textContent="STOP AR",t.domOverlay.root.style.display="",l=d}function u(){l.removeEventListener("end",u),n.textContent="START AR",t.domOverlay.root.style.display="none",l=null}if(n.style.display="",n.style.cursor="pointer",n.style.left="calc(50% - 50px)",n.style.width="100px",n.textContent="START AR",n.onmouseenter=function(){n.style.opacity="1.0"},n.onmouseleave=function(){n.style.opacity="0.5"},n.onclick=function(){if(l===null)navigator.xr.requestSession("immersive-ar",t).then(c);else if(l.end(),navigator.xr.offerSession!==void 0)navigator.xr.offerSession("immersive-ar",t).then(c).catch((d)=>{console.warn(d)})},navigator.xr.offerSession!==void 0)navigator.xr.offerSession("immersive-ar",t).then(c).catch((d)=>{console.warn(d)})}function o(){n.style.display="",n.style.cursor="auto",n.style.left="calc(50% - 75px)",n.style.width="150px",n.onmouseenter=null,n.onmouseleave=null,n.onclick=null}function a(){o(),n.textContent="AR NOT SUPPORTED"}function i(l){o(),console.warn("Exception when trying to call xr.isSessionSupported",l),n.textContent="AR NOT ALLOWED"}function s(l){l.style.position="absolute",l.style.bottom="20px",l.style.padding="12px 6px",l.style.border="1px solid #fff",l.style.borderRadius="4px",l.style.background="rgba(0,0,0,0.1)",l.style.color="#fff",l.style.font="normal 13px sans-serif",l.style.textAlign="center",l.style.opacity="0.5",l.style.outline="none",l.style.zIndex="999"}if("xr"in navigator)return n.id="ARButton",n.style.display="none",s(n),navigator.xr.isSessionSupported("immersive-ar").then(function(l){l?r():a()}).catch(i),n;else{let l=document.createElement("a");if(window.isSecureContext===!1)l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS";else l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE";return l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",s(l),l}}}var hGe,jAs,rGe,zFr=function(e,t){return e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)},$ge=function(e,t,n=!0,r){let o=new AbortController,a=o.signal,i=!1,s=(u)=>{o.abort(u),i=!0},l=!1,c=(u,d,p,f)=>{if(t&&!l){if(t(u,d,p,f),u===100)l=!0}};return new w5((u,d)=>{let p={signal:a};if(r)p.headers=r;fetch(e,p).then(async(f)=>{if(!f.ok){let A=await f.text();d(Error(`Fetch failed: ${f.status} ${f.statusText} ${A}`));return}let m=f.body.getReader(),g=0,v=f.headers.get("Content-Length"),y=v?parseInt(v):void 0,x=[];while(!i)try{let{value:A,done:w}=await m.read();if(w){if(c(100,"100%",A,y),n){let T=new Blob(x).arrayBuffer();u(T)}else u();break}g+=A.length;let C,E;if(y!==void 0)C=g/y*100,E=`${C.toFixed(2)}%`;if(n)x.push(A);c(C,E,A,y)}catch(A){d(A);return}}).catch((f)=>{d(new hGe(f))})},s)},Rl=function(e,t,n){return Math.max(Math.min(e,n),t)},cO=function(){return performance.now()/1000},pO=(e)=>{if(e.geometry)e.geometry.dispose(),e.geometry=null;if(e.material)e.material.dispose(),e.material=null;if(e.children)for(let t of e.children)pO(t)},d1=(e,t)=>new Promise((n)=>{window.setTimeout(()=>{n(e?e():void 0)},t?1:50)}),fO=(e=0)=>{let t=0;if(e===1)t=9;else if(e===2)t=24;else if(e===3)t=45;else if(e>3)throw Error("getSphericalHarmonicsComponentCountForDegree() -> Invalid spherical harmonics degree");return t},gGe=()=>{let e,t;return{promise:new Promise((r,o)=>{e=r,t=o}),resolve:e,reject:t}},oGe=(e)=>{let t,n;if(!e)e=()=>{};return{promise:new w5((o,a)=>{t=o,n=a},e),resolve:t,reject:n}},_Fr=14,On,HFr,A5,cp,vGe,kl=(e,t,n=!1,r,o)=>{if(t===0)return e;else if(t===1||t===2&&!n)return eS.fromHalfFloat(e);else if(t===2)return bGe(e,r,o)},MW=(e,t,n)=>{e=Rl(e,t,n);let r=n-t;return Rl(Math.floor((e-t)/r*255),0,255)},bGe=(e,t,n)=>{let r=n-t;return e/255*r+t},A1n=(e,t,n)=>MW(vGe(e,t,n)),VFr=(e,t,n)=>cp(bGe(e,t,n)),Fi=(e,t,n,r=!1)=>{if(n===0)return e.getFloat32(t*4,!0);else if(n===1||n===2&&!r)return e.getUint16(t*2,!0);else return e.getUint8(t,!0)},GFr,uO=(e,t,n,r,o=0)=>{let a=new Uint8Array(e,t),i=new Uint8Array(n,r);for(let s=0;s{let n=(1<{e.x=sA(t>>>21,11),e.y=sA(t>>>11,10),e.z=sA(t,11)},qFr=(e,t)=>{e.x=sA(t>>>24,8),e.y=sA(t>>>16,8),e.z=sA(t>>>8,8),e.w=sA(t,8)},ZFr=(e,t)=>{let n=1/(Math.sqrt(2)*0.5),r=(sA(t>>>20,10)-0.5)*n,o=(sA(t>>>10,10)-0.5)*n,a=(sA(t,10)-0.5)*n,i=Math.sqrt(1-(r*r+o*o+a*a));switch(t>>>30){case 0:e.set(i,r,o,a);break;case 1:e.set(r,i,o,a);break;case 2:e.set(r,o,i,a);break;case 3:e.set(r,o,a,i);break}},cS=(e,t,n)=>e*(1-n)+t*n,$l=(e,t)=>e.properties.find((n)=>n.name===t&&n.storage)?.storage,xi,Oh,w1n,xGe,AGe,wGe,SGe,CGe,EGe,Ygn,QFr,S1n,XFr,Kgn,WFr,YFr,KFr,JFr,jFr,$Fr,eUr,tUr,nUr,Jgn,rUr,oUr,jgn,$gn,aUr,iUr,sUr,Jf,C1n,qge,Zge,lUr,cUr,t1n,Qge,uUr,sGe,E1n,pGe,n1n,dUr,pUr,fUr,mUr,hUr,gUr,yUr,vUr,bUr,fGe,I1n,T1n,r1n,o1n,xUr,AUr,Xge=(e)=>{let t=(31744&e)>>10,n=1023&e;return(e>>15?-1:1)*(t?t===31?n?NaN:1/0:Math.pow(2,t-15)*(1+n/1024):n/1024*0.00006103515625)},u1,fd,FW,rl,wUr=(e)=>new ReadableStream({async start(t){t.enqueue(e),t.close()}}),EUr=1347635022,IUr=1,TUr=0.15,PUr,DUr=16,LUr=1e7,DW,zm,c1n=(e)=>{if(e.endsWith(".ply"))return zm.Ply;else if(e.endsWith(".splat"))return zm.Splat;else if(e.endsWith(".ksplat"))return zm.KSplat;else if(e.endsWith(".spz"))return zm.Spz;return null},u1n,lGe,d1n,Wge,p1n,FUr,PW,UUr=(e,t,n,r,o)=>{let a=performance.now(),i=e.style.display==="none"?0:parseFloat(e.style.opacity);if(isNaN(i))i=1;let s=window.setInterval(()=>{let c=performance.now()-a,u=Math.min(c/r,1);if(u>0.999)u=1;let d;if(t){if(d=(1-u)*i,d<0.0001)d=0}else d=(1-i)*u+i;if(d>0)e.style.display=n,e.style.opacity=d;else e.style.display="none";if(u>=1){if(o)o();window.clearInterval(s)}},16);return s},NUr=500,f1n,P1n,zUr,_Ur,HUr,uS,L1n,OW,mO,m1n,XUr,Yge=6,WUr=4,YUr=4,KUr=4,JUr=6,jUr=8,cGe=4,uGe=4,h1n=1,$Ur=0.012,eNr=0.003,g1n=1,y1n=16777216,Kf,tNr="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",v1n="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",nNr="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",rNr="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",dO,dGe,iNr=50,sNr=0.75,lNr=1500000,cNr=10,uNr=2.5,dNr=60,H7;var F1n=P(()=>{O7();O7();hGe=class hGe extends Error{constructor(e){super(e)}};jAs=function(){let e=new Float32Array(1),t=new Int32Array(e.buffer);return function(n){e[0]=n;let r=t[0],o=r>>16&32768,a=r>>12&2047,i=r>>23&255;if(i<103)return o;if(i>142)return o|=31744,o|=(i==255?0:1)&&r&8388607,o;if(i<113)return a|=2048,o|=(a>>114-i)+(a>>113-i&1),o;return o|=i-112<<10|a>>1,o+=a&1,o}}(),rGe=function(){let e=new Float32Array(1),t=new Int32Array(e.buffer);return function(n){return e[0]=n,t[0]}}();On=class On{static OFFSET={X:0,Y:1,Z:2,SCALE0:3,SCALE1:4,SCALE2:5,ROTATION0:6,ROTATION1:7,ROTATION2:8,ROTATION3:9,FDC0:10,FDC1:11,FDC2:12,OPACITY:13,FRC0:14,FRC1:15,FRC2:16,FRC3:17,FRC4:18,FRC5:19,FRC6:20,FRC7:21,FRC8:22,FRC9:23,FRC10:24,FRC11:25,FRC12:26,FRC13:27,FRC14:28,FRC15:29,FRC16:30,FRC17:31,FRC18:32,FRC19:33,FRC20:34,FRC21:35,FRC22:36,FRC23:37};constructor(e=0){this.sphericalHarmonicsDegree=e,this.sphericalHarmonicsCount=fO(this.sphericalHarmonicsDegree),this.componentCount=this.sphericalHarmonicsCount+_Fr,this.defaultSphericalHarmonics=Array(this.sphericalHarmonicsCount).fill(0),this.splats=[],this.splatCount=0}static createSplat(e=0){let t=[0,0,0,1,1,1,1,0,0,0,0,0,0,0],n=fO(e);for(let r=0;rt;return function(t,n,r,o=!1){if(n===r)return t;let a=e;if(n===2&&o){if(r===1)a=VFr;else if(r==0)a=bGe}else if(n===2||n===1){if(r===0)a=vGe;else if(r==2)if(!o)a=e;else a=A1n}else if(n===0){if(r===1)a=cp;else if(r==2)if(!o)a=cp;else a=MW}return a(t)}}();mt=class mt{static CurrentMajorVersion=0;static CurrentMinorVersion=1;static CenterComponentCount=3;static ScaleComponentCount=3;static RotationComponentCount=4;static ColorComponentCount=4;static CovarianceComponentCount=6;static SplatScaleOffsetFloat=3;static SplatRotationOffsetFloat=6;static CompressionLevels={0:{BytesPerCenter:12,BytesPerScale:12,BytesPerRotation:16,BytesPerColor:4,ScaleOffsetBytes:12,RotationffsetBytes:24,ColorOffsetBytes:40,SphericalHarmonicsOffsetBytes:44,ScaleRange:1,BytesPerSphericalHarmonicsComponent:4,SphericalHarmonicsOffsetFloat:11,SphericalHarmonicsDegrees:{0:{BytesPerSplat:44},1:{BytesPerSplat:80},2:{BytesPerSplat:140}}},1:{BytesPerCenter:6,BytesPerScale:6,BytesPerRotation:8,BytesPerColor:4,ScaleOffsetBytes:6,RotationffsetBytes:12,ColorOffsetBytes:20,SphericalHarmonicsOffsetBytes:24,ScaleRange:32767,BytesPerSphericalHarmonicsComponent:2,SphericalHarmonicsOffsetFloat:12,SphericalHarmonicsDegrees:{0:{BytesPerSplat:24},1:{BytesPerSplat:42},2:{BytesPerSplat:72}}},2:{BytesPerCenter:6,BytesPerScale:6,BytesPerRotation:8,BytesPerColor:4,ScaleOffsetBytes:6,RotationffsetBytes:12,ColorOffsetBytes:20,SphericalHarmonicsOffsetBytes:24,ScaleRange:32767,BytesPerSphericalHarmonicsComponent:1,SphericalHarmonicsOffsetFloat:12,SphericalHarmonicsDegrees:{0:{BytesPerSplat:24},1:{BytesPerSplat:33},2:{BytesPerSplat:48}}}};static CovarianceSizeFloats=6;static HeaderSizeBytes=4096;static SectionHeaderSizeBytes=1024;static BucketStorageSizeBytes=12;static BucketStorageSizeFloats=3;static BucketBlockSize=5;static BucketSize=256;constructor(e,t=!0){this.constructFromBuffer(e,t)}getSplatCount(){return this.splatCount}getMaxSplatCount(){return this.maxSplatCount}getMinSphericalHarmonicsDegree(){let e=0;for(let t=0;t=o&&t=1){let p=this.getBucketIndex(o,a)*mt.BucketStorageSizeFloats,{compressionScaleFactor:f,compressionScaleRange:m}=o;t.x=(l-m)*f+o.bucketArray[p],t.y=(c-m)*f+o.bucketArray[p+1],t.z=(u-m)*f+o.bucketArray[p+2]}else t.x=l,t.y=c,t.z=u;if(n)t.applyMatrix4(n)}getSplatScaleAndRotation=function(){let e=new Vn,t=new Vn,n=new Vn,r=new he,o=new he,a=new Vo;return function(i,s,l,c,u){let d=this.globalSplatIndexToSectionMap[i],p=this.sections[d],f=i-p.splatCountOffset,m=p.bytesPerSplat*f+mt.CompressionLevels[this.compressionLevel].ScaleOffsetBytes,g=new DataView(this.bufferData,p.dataBase+m);if(o.set(kl(Fi(g,0,this.compressionLevel),this.compressionLevel),kl(Fi(g,1,this.compressionLevel),this.compressionLevel),kl(Fi(g,2,this.compressionLevel),this.compressionLevel)),u){if(u.x!==void 0)o.x=u.x;if(u.y!==void 0)o.y=u.y;if(u.z!==void 0)o.z=u.z}if(a.set(kl(Fi(g,4,this.compressionLevel),this.compressionLevel),kl(Fi(g,5,this.compressionLevel),this.compressionLevel),kl(Fi(g,6,this.compressionLevel),this.compressionLevel),kl(Fi(g,3,this.compressionLevel),this.compressionLevel)),c)e.makeScale(o.x,o.y,o.z),t.makeRotationFromQuaternion(a),n.copy(e).multiply(t).multiply(c),n.decompose(r,l,s);else s.copy(o),l.copy(a)}}();getSplatColor(e,t){let n=this.globalSplatIndexToSectionMap[e],r=this.sections[n],o=e-r.splatCountOffset,a=r.bytesPerSplat*o+mt.CompressionLevels[this.compressionLevel].ColorOffsetBytes,i=new Uint8Array(this.bufferData,r.dataBase+a,4);t.set(i[0],i[1],i[2],i[3])}fillSplatCenterArray(e,t,n,r,o){let a=this.splatCount;if(n=n||0,r=r||a-1,o===void 0)o=n;let i=new he;for(let s=n;s<=r;s++){let l=this.globalSplatIndexToSectionMap[s],c=this.sections[l],u=s-c.splatCountOffset,d=(s-n+o)*mt.CenterComponentCount,p=c.bytesPerSplat*u,f=new DataView(this.bufferData,c.dataBase+p),m=Fi(f,0,this.compressionLevel),g=Fi(f,1,this.compressionLevel),v=Fi(f,2,this.compressionLevel);if(this.compressionLevel>=1){let x=this.getBucketIndex(c,u)*mt.BucketStorageSizeFloats,{compressionScaleFactor:A,compressionScaleRange:w}=c;i.x=(m-w)*A+c.bucketArray[x],i.y=(g-w)*A+c.bucketArray[x+1],i.z=(v-w)*A+c.bucketArray[x+2]}else i.x=m,i.y=g,i.z=v;if(t)i.applyMatrix4(t);e[d]=i.x,e[d+1]=i.y,e[d+2]=i.z}}fillSplatScaleRotationArray=function(){let e=new Vn,t=new Vn,n=new Vn,r=new he,o=new Vo,a=new he,i=(s)=>{let l=s.w<0?-1:1;s.x*=l,s.y*=l,s.z*=l,s.w*=l};return function(s,l,c,u,d,p,f,m){let g=this.splatCount;if(u=u||0,d=d||g-1,p===void 0)p=u;let v=(y,x)=>{if(x===void 0)x=this.compressionLevel;return GFr(y,x,f)};for(let y=u;y<=d;y++){let x=this.globalSplatIndexToSectionMap[y],A=this.sections[x],w=y-A.splatCountOffset,C=A.bytesPerSplat*w+mt.CompressionLevels[this.compressionLevel].ScaleOffsetBytes,E=(y-u+p)*mt.ScaleComponentCount,T=(y-u+p)*mt.RotationComponentCount,I=new DataView(this.bufferData,A.dataBase+C),k=m&&m.x!==void 0?m.x:Fi(I,0,this.compressionLevel),L=m&&m.y!==void 0?m.y:Fi(I,1,this.compressionLevel),O=m&&m.z!==void 0?m.z:Fi(I,2,this.compressionLevel),B=Fi(I,3,this.compressionLevel),U=Fi(I,4,this.compressionLevel),D=Fi(I,5,this.compressionLevel),N=Fi(I,6,this.compressionLevel);if(r.set(kl(k,this.compressionLevel),kl(L,this.compressionLevel),kl(O,this.compressionLevel)),o.set(kl(U,this.compressionLevel),kl(D,this.compressionLevel),kl(N,this.compressionLevel),kl(B,this.compressionLevel)).normalize(),c)a.set(0,0,0),e.makeScale(r.x,r.y,r.z),t.makeRotationFromQuaternion(o),n.identity().premultiply(e).premultiply(t),n.premultiply(c),n.decompose(a,o,r),o.normalize();if(i(o),s)s[E]=v(r.x,0),s[E+1]=v(r.y,0),s[E+2]=v(r.z,0);if(l)l[T]=v(o.x,0),l[T+1]=v(o.y,0),l[T+2]=v(o.z,0),l[T+3]=v(o.w,0)}}}();static computeCovariance=function(){let e=new Vn,t=new Ur,n=new Ur,r=new Ur,o=new Ur,a=new Ur,i=new Ur;return function(s,l,c,u,d=0,p){if(e.makeScale(s.x,s.y,s.z),t.setFromMatrix4(e),e.makeRotationFromQuaternion(l),n.setFromMatrix4(e),r.copy(n).multiply(t),o.copy(r).transpose().premultiply(r),c)a.setFromMatrix4(c),i.copy(a).transpose(),o.multiply(i),o.premultiply(a);if(p>=1)u[d]=cp(o.elements[0]),u[d+1]=cp(o.elements[3]),u[d+2]=cp(o.elements[6]),u[d+3]=cp(o.elements[4]),u[d+4]=cp(o.elements[7]),u[d+5]=cp(o.elements[8]);else u[d]=o.elements[0],u[d+1]=o.elements[3],u[d+2]=o.elements[6],u[d+3]=o.elements[4],u[d+4]=o.elements[7],u[d+5]=o.elements[8]}}();fillSplatCovarianceArray(e,t,n,r,o,a){let i=this.splatCount,s=new he,l=new Vo;if(n=n||0,r=r||i-1,o===void 0)o=n;for(let c=n;c<=r;c++){let u=this.globalSplatIndexToSectionMap[c],d=this.sections[u],p=c-d.splatCountOffset,f=(c-n+o)*mt.CovarianceComponentCount,m=d.bytesPerSplat*p+mt.CompressionLevels[this.compressionLevel].ScaleOffsetBytes,g=new DataView(this.bufferData,d.dataBase+m);s.set(kl(Fi(g,0,this.compressionLevel),this.compressionLevel),kl(Fi(g,1,this.compressionLevel),this.compressionLevel),kl(Fi(g,2,this.compressionLevel),this.compressionLevel)),l.set(kl(Fi(g,4,this.compressionLevel),this.compressionLevel),kl(Fi(g,5,this.compressionLevel),this.compressionLevel),kl(Fi(g,6,this.compressionLevel),this.compressionLevel),kl(Fi(g,3,this.compressionLevel),this.compressionLevel)),mt.computeCovariance(s,l,t,e,f,a)}}fillSplatColorArray(e,t,n,r,o){let a=this.splatCount;if(n=n||0,r=r||a-1,o===void 0)o=n;for(let i=n;i<=r;i++){let s=this.globalSplatIndexToSectionMap[i],l=this.sections[s],c=i-l.splatCountOffset,u=(i-n+o)*mt.ColorComponentCount,d=l.bytesPerSplat*c+mt.CompressionLevels[this.compressionLevel].ColorOffsetBytes,p=new Uint8Array(this.bufferData,l.dataBase+d),f=p[3];f=f>=t?f:0,e[u]=p[0],e[u+1]=p[1],e[u+2]=p[2],e[u+3]=f}}fillSphericalHarmonicsArray=function(){let e=[];for(let D=0;D<15;D++)e[D]=new he;let t=new Ur,n=new Vn,r=new he,o=new he,a=new Vo,i=[],s=[],l=[],c=[],u=[],d=[],p=[],f=[],m=[],g=[],v=[],y=[],x=[],A=[],w=[],C=[],E=[],T=[],I=(D)=>D,k=(D,N,_,G)=>{D[0]=N,D[1]=_,D[2]=G},L=(D,N,_,G,Z)=>{D[0]=Fi(N,G,Z,!0),D[1]=Fi(N,G+_,Z,!0),D[2]=Fi(N,G+_+_,Z,!0)},O=(D,N)=>{N[0]=D[0],N[1]=D[1],N[2]=D[2]},B=(D,N,_,G)=>{N[_]=G(D[0]),N[_+1]=G(D[1]),N[_+2]=G(D[2])},U=(D,N,_,G,Z)=>(N[0]=kl(D[0],_,!0,G,Z),N[1]=kl(D[1],_,!0,G,Z),N[2]=kl(D[2],_,!0,G,Z),N);return function(D,N,_,G,Z,q,H){let te=this.splatCount;if(G=G||0,Z=Z||te-1,q===void 0)q=G;if(_&&N>=1)n.copy(_),n.decompose(r,a,o),a.normalize(),n.makeRotationFromQuaternion(a),t.setFromMatrix4(n),k(i,t.elements[4],-t.elements[7],t.elements[1]),k(s,-t.elements[5],t.elements[8],-t.elements[2]),k(l,t.elements[3],-t.elements[6],t.elements[0]);let ie=(oe)=>A1n(oe,this.minSphericalHarmonicsCoeff,this.maxSphericalHarmonicsCoeff),j=(oe)=>MW(oe,this.minSphericalHarmonicsCoeff,this.maxSphericalHarmonicsCoeff);for(let oe=G;oe<=Z;oe++){let J=this.globalSplatIndexToSectionMap[oe],Y=this.sections[J];N=Math.min(N,Y.sphericalHarmonicsDegree);let ae=fO(N),ne=oe-Y.splatCountOffset,Se=Y.bytesPerSplat*ne+mt.CompressionLevels[this.compressionLevel].SphericalHarmonicsOffsetBytes,fe=new DataView(this.bufferData,Y.dataBase+Se),Ae=(oe-G+q)*ae,Ee=_?0:this.compressionLevel,pe=I;if(Ee!==H){if(Ee===1){if(H===0)pe=vGe;else if(H==2)pe=ie}else if(Ee===0){if(H===1)pe=cp;else if(H==2)pe=j}}let Re=this.minSphericalHarmonicsCoeff,Le=this.maxSphericalHarmonicsCoeff;if(N>=1){if(L(m,fe,3,0,this.compressionLevel),L(g,fe,3,1,this.compressionLevel),L(v,fe,3,2,this.compressionLevel),_)U(m,m,this.compressionLevel,Re,Le),U(g,g,this.compressionLevel,Re,Le),U(v,v,this.compressionLevel,Re,Le),mt.rotateSphericalHarmonics3(m,g,v,i,s,l,A,w,C);else O(m,A),O(g,w),O(v,C);if(B(A,D,Ae,pe),B(w,D,Ae+3,pe),B(C,D,Ae+6,pe),N>=2){if(L(m,fe,5,9,this.compressionLevel),L(g,fe,5,10,this.compressionLevel),L(v,fe,5,11,this.compressionLevel),L(y,fe,5,12,this.compressionLevel),L(x,fe,5,13,this.compressionLevel),_)U(m,m,this.compressionLevel,Re,Le),U(g,g,this.compressionLevel,Re,Le),U(v,v,this.compressionLevel,Re,Le),U(y,y,this.compressionLevel,Re,Le),U(x,x,this.compressionLevel,Re,Le),mt.rotateSphericalHarmonics5(m,g,v,y,x,i,s,l,c,u,d,p,f,A,w,C,E,T);else O(m,A),O(g,w),O(v,C),O(y,E),O(x,T);B(A,D,Ae+9,pe),B(w,D,Ae+12,pe),B(C,D,Ae+15,pe),B(E,D,Ae+18,pe),B(T,D,Ae+21,pe)}}}}}();static dot3=(e,t,n,r,o)=>{o[0]=o[1]=o[2]=0;let a=r[0],i=r[1],s=r[2];mt.addInto3(e[0]*a,e[1]*a,e[2]*a,o),mt.addInto3(t[0]*i,t[1]*i,t[2]*i,o),mt.addInto3(n[0]*s,n[1]*s,n[2]*s,o)};static addInto3=(e,t,n,r)=>{r[0]=r[0]+e,r[1]=r[1]+t,r[2]=r[2]+n};static dot5=(e,t,n,r,o,a,i)=>{i[0]=i[1]=i[2]=0;let s=a[0],l=a[1],c=a[2],u=a[3],d=a[4];mt.addInto3(e[0]*s,e[1]*s,e[2]*s,i),mt.addInto3(t[0]*l,t[1]*l,t[2]*l,i),mt.addInto3(n[0]*c,n[1]*c,n[2]*c,i),mt.addInto3(r[0]*u,r[1]*u,r[2]*u,i),mt.addInto3(o[0]*d,o[1]*d,o[2]*d,i)};static rotateSphericalHarmonics3=(e,t,n,r,o,a,i,s,l)=>{mt.dot3(e,t,n,r,i),mt.dot3(e,t,n,o,s),mt.dot3(e,t,n,a,l)};static rotateSphericalHarmonics5=(e,t,n,r,o,a,i,s,l,c,u,d,p,f,m,g,v,y)=>{let x=Math.sqrt(0.25),A=Math.sqrt(0.75),w=Math.sqrt(0.3333333333333333),C=Math.sqrt(1.3333333333333333),E=Math.sqrt(0.08333333333333333);l[0]=x*(s[2]*a[0]+s[0]*a[2]+(a[2]*s[0]+a[0]*s[2])),l[1]=s[1]*a[0]+a[1]*s[0],l[2]=A*(s[1]*a[1]+a[1]*s[1]),l[3]=s[1]*a[2]+a[1]*s[2],l[4]=x*(s[2]*a[2]-s[0]*a[0]+(a[2]*s[2]-a[0]*s[0])),mt.dot5(e,t,n,r,o,l,f),c[0]=x*(i[2]*a[0]+i[0]*a[2]+(a[2]*i[0]+a[0]*i[2])),c[1]=i[1]*a[0]+a[1]*i[0],c[2]=A*(i[1]*a[1]+a[1]*i[1]),c[3]=i[1]*a[2]+a[1]*i[2],c[4]=x*(i[2]*a[2]-i[0]*a[0]+(a[2]*i[2]-a[0]*i[0])),mt.dot5(e,t,n,r,o,c,m),u[0]=w*(i[2]*i[0]+i[0]*i[2])+-E*(s[2]*s[0]+s[0]*s[2]+(a[2]*a[0]+a[0]*a[2])),u[1]=C*i[1]*i[0]+-w*(s[1]*s[0]+a[1]*a[0]),u[2]=i[1]*i[1]+-x*(s[1]*s[1]+a[1]*a[1]),u[3]=C*i[1]*i[2]+-w*(s[1]*s[2]+a[1]*a[2]),u[4]=w*(i[2]*i[2]-i[0]*i[0])+-E*(s[2]*s[2]-s[0]*s[0]+(a[2]*a[2]-a[0]*a[0])),mt.dot5(e,t,n,r,o,u,g),d[0]=x*(i[2]*s[0]+i[0]*s[2]+(s[2]*i[0]+s[0]*i[2])),d[1]=i[1]*s[0]+s[1]*i[0],d[2]=A*(i[1]*s[1]+s[1]*i[1]),d[3]=i[1]*s[2]+s[1]*i[2],d[4]=x*(i[2]*s[2]-i[0]*s[0]+(s[2]*i[2]-s[0]*i[0])),mt.dot5(e,t,n,r,o,d,v),p[0]=x*(s[2]*s[0]+s[0]*s[2]-(a[2]*a[0]+a[0]*a[2])),p[1]=s[1]*s[0]-a[1]*a[0],p[2]=A*(s[1]*s[1]-a[1]*a[1]),p[3]=s[1]*s[2]-a[1]*a[2],p[4]=x*(s[2]*s[2]-s[0]*s[0]-(a[2]*a[2]-a[0]*a[0])),mt.dot5(e,t,n,r,o,p,y)};static parseHeader(e){let t=new Uint8Array(e,0,mt.HeaderSizeBytes),n=new Uint16Array(e,0,mt.HeaderSizeBytes/2),r=new Uint32Array(e,0,mt.HeaderSizeBytes/4),o=new Float32Array(e,0,mt.HeaderSizeBytes/4),a=t[0],i=t[1],s=r[1],l=r[2],c=r[3],u=r[4],d=n[10],p=new he(o[6],o[7],o[8]),f=o[9]||-A5,m=o[10]||A5;return{versionMajor:a,versionMinor:i,maxSectionCount:s,sectionCount:l,maxSplatCount:c,splatCount:u,compressionLevel:d,sceneCenter:p,minSphericalHarmonicsCoeff:f,maxSphericalHarmonicsCoeff:m}}static writeHeaderCountsToBuffer(e,t,n){let r=new Uint32Array(n,0,mt.HeaderSizeBytes/4);r[2]=e,r[4]=t}static writeHeaderToBuffer(e,t){let n=new Uint8Array(t,0,mt.HeaderSizeBytes),r=new Uint16Array(t,0,mt.HeaderSizeBytes/2),o=new Uint32Array(t,0,mt.HeaderSizeBytes/4),a=new Float32Array(t,0,mt.HeaderSizeBytes/4);n[0]=e.versionMajor,n[1]=e.versionMinor,n[2]=0,n[3]=0,o[1]=e.maxSectionCount,o[2]=e.sectionCount,o[3]=e.maxSplatCount,o[4]=e.splatCount,r[10]=e.compressionLevel,a[6]=e.sceneCenter.x,a[7]=e.sceneCenter.y,a[8]=e.sceneCenter.z,a[9]=e.minSphericalHarmonicsCoeff||-A5,a[10]=e.maxSphericalHarmonicsCoeff||A5}static parseSectionHeaders(e,t,n=0,r){let{compressionLevel:o,maxSectionCount:a}=e,i=new Uint16Array(t,n,a*mt.SectionHeaderSizeBytes/2),s=new Uint32Array(t,n,a*mt.SectionHeaderSizeBytes/4),l=new Float32Array(t,n,a*mt.SectionHeaderSizeBytes/4),c=[],u=0,d=u/2,p=u/4,f=mt.HeaderSizeBytes+e.maxSectionCount*mt.SectionHeaderSizeBytes,m=0;for(let g=0;g=1?e.bucketSize:0,a[3]=t>=1?e.bucketCount:0,i[4]=t>=1?e.bucketBlockSize:0,o[10]=t>=1?mt.BucketStorageSizeBytes:0,a[6]=t>=1?e.compressionScaleRange:0,a[7]=e.storageSizeBytes,a[8]=t>=1?e.fullBucketCount:0,a[9]=t>=1?e.partiallyFilledBucketCount:0,o[20]=e.sphericalHarmonicsDegree}static writeSectionHeaderSplatCountToBuffer(e,t,n=0){let r=new Uint32Array(t,n,mt.SectionHeaderSizeBytes/4);r[0]=e}constructFromBuffer(e,t){this.bufferData=e,this.globalSplatIndexToLocalSplatIndexMap=[],this.globalSplatIndexToSectionMap=[];let n=mt.parseHeader(this.bufferData);this.versionMajor=n.versionMajor,this.versionMinor=n.versionMinor,this.maxSectionCount=n.maxSectionCount,this.sectionCount=t?n.maxSectionCount:0,this.maxSplatCount=n.maxSplatCount,this.splatCount=t?n.maxSplatCount:0,this.compressionLevel=n.compressionLevel,this.sceneCenter=new he().copy(n.sceneCenter),this.minSphericalHarmonicsCoeff=n.minSphericalHarmonicsCoeff,this.maxSphericalHarmonicsCoeff=n.maxSphericalHarmonicsCoeff,this.sections=mt.parseSectionHeaders(n,this.bufferData,mt.HeaderSizeBytes,t),this.linkBufferArrays(),this.buildMaps()}static calculateComponentStorage(e,t){let n=mt.CompressionLevels[e].BytesPerCenter,r=mt.CompressionLevels[e].BytesPerScale,o=mt.CompressionLevels[e].BytesPerRotation,a=mt.CompressionLevels[e].BytesPerColor,i=fO(t),s=mt.CompressionLevels[e].BytesPerSphericalHarmonicsComponent*i,l=n+r+o+a+s;return{bytesPerCenter:n,bytesPerScale:r,bytesPerRotation:o,bytesPerColor:a,sphericalHarmonicsComponentsPerSplat:i,sphericalHarmonicsBytesPerSplat:s,bytesPerSplat:l}}linkBufferArrays(){for(let e=0;e0)t.partiallyFilledBucketLengths=new Uint32Array(this.bufferData,t.base,t.partiallyFilledBucketCount)}}buildMaps(){let e=0;for(let t=0;t{let B=O*2+1;return k=Math.round(k*L)+O,Rl(k,0,B)};return function(k,L,O,B,U,D,N,_,G=-A5,Z=A5){let q=fO(U),H=mt.CompressionLevels[B].BytesPerCenter,te=mt.CompressionLevels[B].BytesPerScale,ie=mt.CompressionLevels[B].BytesPerRotation,j=mt.CompressionLevels[B].BytesPerColor,oe=O,J=oe+H,Y=J+te,ae=Y+ie,ne=ae+j;if(k[m]!==void 0)a.set(k[m],k[g],k[v],k[y]),a.normalize();else a.set(1,0,0,0);if(k[d]!==void 0)i.set(k[d]||0,k[p]||0,k[f]||0);else i.set(0,0,0);if(B===0){let fe=new Float32Array(L,oe,mt.CenterComponentCount),Ae=new Float32Array(L,Y,mt.RotationComponentCount),Ee=new Float32Array(L,J,mt.ScaleComponentCount);if(Ae.set([a.x,a.y,a.z,a.w]),Ee.set([i.x,i.y,i.z]),fe.set([k[l],k[c],k[u]]),U>0){let pe=new Float32Array(L,ne,q);if(U>=1){for(let Re=0;Re<9;Re++)pe[Re]=k[E+Re]||0;if(U>=2)for(let Re=0;Re<15;Re++)pe[Re+9]=k[T+Re]||0}}}else{let fe=new Uint16Array(e,0,mt.CenterComponentCount),Ae=new Uint16Array(n,0,mt.RotationComponentCount),Ee=new Uint16Array(t,0,mt.ScaleComponentCount);if(Ae.set([cp(a.x),cp(a.y),cp(a.z),cp(a.w)]),Ee.set([cp(i.x),cp(i.y),cp(i.z)]),s.set(k[l],k[c],k[u]).sub(D),s.x=I(s.x,N,_),s.y=I(s.y,N,_),s.z=I(s.z,N,_),fe.set([s.x,s.y,s.z]),U>0){let pe=B===1?Uint16Array:Uint8Array,Re=B===1?2:1,Le=new pe(o,0,q);if(U>=1){for(let be=0;be<9;be++){let ye=k[E+be]||0;Le[be]=B===1?cp(ye):MW(ye,G,Z)}let Ne=9*Re;if(uO(Le.buffer,0,L,ne,Ne),U>=2){for(let be=0;be<15;be++){let ye=k[T+be]||0;Le[be+9]=B===1?cp(ye):MW(ye,G,Z)}uO(Le.buffer,Ne,L,ne+Ne,15*Re)}}}uO(fe.buffer,0,L,oe,6),uO(Ee.buffer,0,L,J,6),uO(Ae.buffer,0,L,Y,8)}let Se=new Uint8ClampedArray(r,0,4);Se.set([k[x]||0,k[A]||0,k[w]||0]),Se[3]=k[C]||0,uO(Se.buffer,0,L,ae,4)}}();static generateFromUncompressedSplatArrays(e,t,n,r,o,a,i=[]){let s=0;for(let w=0;wc)c=T[I]}}}l=l||-A5,c=c||A5;let{bytesPerSplat:u}=mt.calculateComponentStorage(n,s),d=mt.CompressionLevels[n].ScaleRange,p=[],f=[],m=0;for(let w=0;w=t)E.addSplat(J)}let T=i[w]||{},I=(T.blockSizeFactor||1)*(o||mt.BucketBlockSize),k=Math.ceil((T.bucketSizeFactor||1)*(a||mt.BucketSize)),L=mt.computeBucketsForUncompressedSplatArray(E,I,k),O=L.fullBuckets.length,B=L.partiallyFullBuckets.map((oe)=>oe.splats.length),U=B.length,D=[...L.fullBuckets,...L.partiallyFullBuckets],N=E.splats.length*u,_=U*4,G=n>=1?D.length*mt.BucketStorageSizeBytes+_:0,Z=N+G,q=new ArrayBuffer(Z),H=d/(I*0.5),te=new he,ie=0;for(let oe=0;oe=1){let oe=new Uint32Array(q,0,B.length*4);for(let Y=0;Yi.x)i.x=v[0];if(m===0||v[1]i.y)i.y=v[1];if(m===0||v[2]i.z)i.z=v[2]}let s=new he().copy(i).sub(a),l=Math.ceil(s.y/t),c=Math.ceil(s.z/t),u=new he,d=[],p={};for(let m=0;m=n)d.push(C),p[w]=null}let f=[];for(let m in p)if(p.hasOwnProperty(m)){let g=p[m];if(g)f.push(g)}return{fullBuckets:d,partiallyFullBuckets:f}}static preallocateUncompressed(e,t){let n=mt.CompressionLevels[0].SphericalHarmonicsDegrees[t],r=mt.HeaderSizeBytes+mt.SectionHeaderSizeBytes,o=r+n.BytesPerSplat*e,a=new ArrayBuffer(o);return mt.writeHeaderToBuffer({versionMajor:mt.CurrentMajorVersion,versionMinor:mt.CurrentMinorVersion,maxSectionCount:1,sectionCount:1,maxSplatCount:e,splatCount:e,compressionLevel:0,sceneCenter:new he},a),mt.writeSectionHeaderToBuffer({maxSplatCount:e,splatCount:e,bucketSize:0,bucketCount:0,bucketBlockSize:0,compressionScaleRange:0,storageSizeBytes:0,fullBucketCount:0,partiallyFilledBucketCount:0,sphericalHarmonicsDegree:t},0,a,mt.HeaderSizeBytes),{splatBuffer:new mt(a,!0),splatBufferDataOffsetBytes:r}}};Qgn=new Uint8Array([112,108,121,10]),Xgn=new Uint8Array([10,101,110,100,95,104,101,97,100,101,114,10]),iGe=new Map([["char",Int8Array],["uchar",Uint8Array],["short",Int16Array],["ushort",Uint16Array],["int",Int32Array],["uint",Uint32Array],["float",Float32Array],["double",Float64Array]]);xi=class xi{static decodeHeaderText(e){let t,n,r,o,a=e.split(` -`).filter((u)=>!u.startsWith("comment ")),i=0,s=!1;for(let u=1;u=45)l=3;else if(o.properties.length>=24)l=2;else if(o.properties.length>=9)l=1}return{chunkElement:n,vertexElement:r,shElement:o,bytesPerSplat:i,headerSizeBytes:e.indexOf(aGe)+aGe.length+1,sphericalHarmonicsDegree:l,sphericalHarmonicsPerSplat:c}}static decodeHeader(e){let t=(p,f)=>{let m=p.length-f.length,g,v;for(g=0;g<=m;++g){for(v=0;v{if(p.length=Qgn.length&&!n(r,Qgn))throw Error("Invalid PLY header");if(o=t(r,Xgn),o===-1)throw Error("End of PLY header not found");let a=new TextDecoder("ascii").decode(r.slice(0,o)),{chunkElement:i,vertexElement:s,shElement:l,sphericalHarmonicsDegree:c,sphericalHarmonicsPerSplat:u,bytesPerSplat:d}=xi.decodeHeaderText(a);return{headerSizeBytes:o+Xgn.length,bytesPerSplat:d,chunkElement:i,vertexElement:s,shElement:l,sphericalHarmonicsDegree:c,sphericalHarmonicsPerSplat:u}}static readElementData(e,t,n,r,o,a=null){let i=t instanceof DataView?t:new DataView(t);r=r||0,o=o||e.count-1;for(let s=r;s<=o;++s)for(let l=0;l0){let{sh:g}=xi.getElementStorageArrays(n,void 0,o);m=Object.values(g)}for(let g=0;g0)xi.decompressSphericalHarmonics(g,m,t,a,v)}return i}static parseToUncompressedSplatBuffer(e,t){let{chunkElement:n,vertexElement:r,shElement:o,sphericalHarmonicsDegree:a}=xi.readPly(e);t=Math.min(t,a);let{splatBuffer:i,splatBufferDataOffsetBytes:s}=mt.preallocateUncompressed(r.count,t),{positionExtremes:l,scaleExtremes:c,colorExtremes:u,position:d,rotation:p,scale:f,color:m}=xi.getElementStorageArrays(n,r),g;if(t>0){let{sh:x}=xi.getElementStorageArrays(n,void 0,o);g=Object.values(x)}let v=mt.CompressionLevels[0].SphericalHarmonicsDegrees[t].BytesPerSplat,y=On.createSplat(t);for(let x=0;x0)xi.decompressSphericalHarmonics(x,g,t,a,y);let A=x*v+s;mt.writeSplatDataToSectionBuffer(y,i.bufferData,A,0,t)}return i}};Oh={INRIAV1:0,INRIAV2:1,PlayCanvasCompressed:2},[w1n,xGe,AGe,wGe,SGe,CGe,EGe]=[0,1,2,3,4,5,6],Ygn={double:w1n,int:xGe,uint:AGe,float:wGe,short:SGe,ushort:CGe,uchar:EGe},QFr={[w1n]:8,[xGe]:4,[AGe]:4,[wGe]:4,[SGe]:2,[CGe]:2,[EGe]:1};S1n=["scale_0","scale_1","scale_2","rot_0","rot_1","rot_2","rot_3","x","y","z","f_dc_0","f_dc_1","f_dc_2","opacity","red","green","blue","f_rest_0"],XFr=S1n.map((e,t)=>t),[Kgn,WFr,YFr,KFr,JFr,jFr,$Fr,eUr,tUr,nUr,Jgn,rUr,oUr,jgn,$gn,aUr,iUr,sUr]=XFr;Jf=class Jf{static decodeHeaderLines(e){let t=0;e.forEach((c)=>{if(c.includes("f_rest_"))t++});let n=0;if(t>=45)n=45;else if(t>=24)n=24;else if(t>=9)n=9;let o=Array.from(Array(Math.max(n-1,0))).map((c,u)=>`f_rest_${u+1}`),a=[...S1n,...o],i=a.map((c,u)=>u),s=i.reduce((c,u)=>(c[a[u]]=u,c),{}),l=Ti.decodeSectionHeader(e,s,0);return l.splatCount=l.vertexCount,l.bytesPerSplat=l.bytesPerVertex,l.fieldsToReadIndexes=i,l}static decodeHeaderText(e){let t=Ti.convertHeaderTextToLines(e),n=Jf.decodeHeaderLines(t);return n.headerText=e,n.headerSizeBytes=e.indexOf(Ti.HeaderEndToken)+Ti.HeaderEndToken.length+1,n}static decodeHeaderFromBuffer(e){let t=Ti.readHeaderFromBuffer(e);return Jf.decodeHeaderText(t)}static findSplatData(e,t){return new DataView(e,t.headerSizeBytes)}static parseToUncompressedSplatBufferSection(e,t,n,r,o,a,i,s=0){s=Math.min(s,e.sphericalHarmonicsDegree);let l=mt.CompressionLevels[0].SphericalHarmonicsDegrees[s].BytesPerSplat;for(let c=t;c<=n;c++){let u=Jf.parseToUncompressedSplat(r,c,e,o,s),d=c*l+i;mt.writeSplatDataToSectionBuffer(u,a,d,0,s)}}static parseToUncompressedSplatArraySection(e,t,n,r,o,a,i=0){i=Math.min(i,e.sphericalHarmonicsDegree);for(let s=t;s<=n;s++){let l=Jf.parseToUncompressedSplat(r,s,e,o,i);a.addSplat(l)}}static decodeSectionSplatData(e,t,n,r,o=!0){if(r=Math.min(r,n.sphericalHarmonicsDegree),o){let a=new On(r);for(let i=0;i=1){if(e[sUr]!==void 0){for(let T=0;T<9;T++)E[v[T]]=e[A.sphericalHarmonicsDegree1Fields[T]];if(C>=2)for(let T=0;T<15;T++)E[v[9+T]]=e[A.sphericalHarmonicsDegree2Fields[T]]}}return t.set(e[KFr],e[JFr],e[jFr],e[$Fr]),t.normalize(),E[l]=t.x,E[c]=t.y,E[u]=t.z,E[d]=t.w,E[n]=e[eUr],E[r]=e[tUr],E[o]=e[nUr],E}}();static readSplat(e,t,n,r,o){return Ti.readVertex(e,t,n,r,t.fieldsToReadIndexes,o,!0)}static parseToUncompressedSplatArray(e,t=0){let{header:n,splatCount:r,splatData:o}=e1n(e);return Jf.decodeSectionSplatData(o,r,n,t,!0)}static parseToUncompressedSplatBuffer(e,t=0){let{header:n,splatCount:r,splatData:o}=e1n(e);return Jf.decodeSectionSplatData(o,r,n,t,!1)}};C1n=["features_dc","features_rest_0","features_rest_1","features_rest_2","features_rest_3","features_rest_4","features_rest_5","features_rest_6","features_rest_7","features_rest_8","features_rest_9","features_rest_10","features_rest_11","features_rest_12","features_rest_13","features_rest_14","opacity","scaling","rotation_re","rotation_im"],qge=C1n.map((e,t)=>t),[Zge,lUr,cUr,t1n,Qge,uUr,sGe]=[0,1,4,16,17,18,19],E1n=["scale_0","scale_1","scale_2","rot_0","rot_1","rot_2","rot_3","x","y","z","f_dc_0","f_dc_1","f_dc_2","opacity","red","green","blue","f_rest_0","f_rest_1","f_rest_2","f_rest_3","f_rest_4","f_rest_5","f_rest_6","f_rest_7","f_rest_8","f_rest_9","f_rest_10","f_rest_11","f_rest_12","f_rest_13","f_rest_14","f_rest_15","f_rest_16","f_rest_17","f_rest_18","f_rest_19","f_rest_20","f_rest_21","f_rest_22","f_rest_23","f_rest_24","f_rest_25","f_rest_26","f_rest_27","f_rest_28","f_rest_29","f_rest_30","f_rest_31","f_rest_32","f_rest_33","f_rest_34","f_rest_35","f_rest_36","f_rest_37","f_rest_38","f_rest_39","f_rest_40","f_rest_41","f_rest_42","f_rest_43","f_rest_44","f_rest_45"],pGe=E1n.map((e,t)=>t),[n1n,dUr,pUr,fUr,mUr,hUr,gUr,yUr,vUr,bUr,fGe,I1n,T1n,r1n]=pGe,o1n=fGe,xUr=I1n,AUr=T1n;u1=class u1{static decodeSectionHeadersFromHeaderLines(e){let t=pGe.reduce((c,u)=>(c[E1n[u]]=u,c),{}),n=qge.reduce((c,u)=>(c[C1n[u]]=u,c),{}),r=Ti.getHeaderSectionNames(e),o;for(let c=0;c=1&&A.sphericalHarmonicsDegree>=1){for(let B=0;B<9;B++){let U=w[lUr+B%3];T[v[B]]=U[e[A.sphericalHarmonicsDegree1Fields[B]]]}if(E>=2&&A.sphericalHarmonicsDegree>=2)for(let B=0;B<15;B++){let U=w[cUr+B%5];T[v[9+B]]=U[e[A.sphericalHarmonicsDegree2Fields[B]]]}}let I=w[uUr][e[fUr]],k=w[sGe][e[mUr]],L=w[sGe][e[hUr]],O=w[sGe][e[gUr]];return t.set(I,k,L,O),t.normalize(),T[l]=t.x,T[c]=t.y,T[u]=t.z,T[d]=t.w,T[n]=Xge(e[yUr]),T[r]=Xge(e[vUr]),T[o]=Xge(e[bUr]),T}}();static readSplat(e,t,n,r,o){return Ti.readVertex(e,t,n,r,pGe,o,!1)}static parseToUncompressedSplatArray(e,t=0){let n=[],r=u1.decodeHeaderFromBuffer(e,t),o;for(let i=0;i=n||r.versionMajor>t)return!0;else throw Error(`KSplat version not supported: v${r.versionMajor}.${r.versionMinor}. Minimum required: v${t}.${n}`)}static loadFromURL(e,t,n,r,o){let a,i,s,l,c=!1,u=!1,d,p=[],f=!1,m=!1,g=0,v=0,y=0,x=!1,A=!1,w=!1,C=[],E=gGe(),T=()=>{if(!c&&!u&&g>=mt.HeaderSizeBytes)u=!0,new Blob(C).arrayBuffer().then((D)=>{s=new ArrayBuffer(mt.HeaderSizeBytes),new Uint8Array(s).set(new Uint8Array(D,0,mt.HeaderSizeBytes)),DW.checkVersion(s),u=!1,c=!0,l=mt.parseHeader(s),window.setTimeout(()=>{L()},1)})},I=0,k=()=>{if(I===0)I++,window.setTimeout(()=>{I--,O()},1)},L=()=>{let U=()=>{m=!0,new Blob(C).arrayBuffer().then((N)=>{m=!1,f=!0,d=new ArrayBuffer(l.maxSectionCount*mt.SectionHeaderSizeBytes),new Uint8Array(d).set(new Uint8Array(N,mt.HeaderSizeBytes,l.maxSectionCount*mt.SectionHeaderSizeBytes)),p=mt.parseSectionHeaders(l,d,0,!1);let _=0;for(let Z=0;Z=mt.HeaderSizeBytes+mt.SectionHeaderSizeBytes*l.maxSectionCount)U()},O=()=>{if(w)return;w=!0;let U=()=>{if(w=!1,f){if(A)return;if(x=g>=y,g-v>Ui.ProgressiveLoadSectionSize||x){if(v+=Ui.ProgressiveLoadSectionSize,A=v>=y,!i)i=new mt(a,!1);let N=mt.HeaderSizeBytes+mt.SectionHeaderSizeBytes*l.maxSectionCount,_=0,G=0,Z=0;for(let te=0;te=oe){G++;let J=v-oe,ne=mt.CompressionLevels[l.compressionLevel].SphericalHarmonicsDegrees[ie.sphericalHarmonicsDegree].BytesPerSplat,Se=Math.floor(J/ne);Se=Math.min(Se,ie.maxSplatCount),Z+=Se,i.updateLoadedCounts(G,Z),i.updateSectionLoadedCounts(te,Se)}else break;_+=ie.storageSizeBytes}r(i,A);let q=v/y*100,H=q.toFixed(2)+"%";if(t)t(q,H,fd.Downloading);if(A)E.resolve(i);else O()}}};window.setTimeout(U,Ui.ProgressiveLoadSectionDelayDuration)};return $ge(e,(U,D,N)=>{if(N){if(C.push(N),a)new Uint8Array(a,g,N.byteLength).set(new Uint8Array(N));g+=N.byteLength}if(n)T(),L(),O();else if(t)t(U,D,fd.Downloading)},!n,o).then((U)=>{if(t)t(0,"0%",fd.Processing);return(n?E.promise:DW.loadFromFileData(U)).then((N)=>{if(t)t(100,"100%",fd.Done);return N})})}static loadFromFileData(e){return d1(()=>(DW.checkVersion(e),new mt(e)))}static downloadFile=function(){let e;return function(t,n){let r=new Blob([t.bufferData],{type:"application/octet-stream"});if(!e)e=document.createElement("a"),document.body.appendChild(e);e.download=n,e.href=URL.createObjectURL(r),e.click()}}()};zm={Splat:0,KSplat:1,Ply:2,Spz:3},u1n={type:"change"},lGe={type:"start"},d1n={type:"end"},Wge=new Vy,p1n=new Ih,FUr=Math.cos(70*g5.DEG2RAD);PW=class PW extends Lh{constructor(e,t){super();this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new he,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=0.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"KeyA",UP:"KeyW",RIGHT:"KeyD",BOTTOM:"KeyS"},this.mouseButtons={LEFT:Bm.ROTATE,MIDDLE:Bm.DOLLY,RIGHT:Bm.PAN},this.touches={ONE:Om.ROTATE,TWO:Om.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return i.phi},this.getAzimuthalAngle=function(){return i.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(Pe){Pe.addEventListener("keydown",qe),this._domElementKeyEvents=Pe},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",qe),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,this.clearDampedRotation(),this.clearDampedPan(),n.object.updateProjectionMatrix(),n.dispatchEvent(u1n),n.update(),o=r.NONE},this.clearDampedRotation=function(){s.theta=0,s.phi=0},this.clearDampedPan=function(){c.set(0,0,0)},this.update=function(){let Pe=new he,Ke=new Vo().setFromUnitVectors(e.up,new he(0,1,0)),Ue=Ke.clone().invert(),Ze=new he,ct=new Vo,Rt=new he,de=2*Math.PI;return function(){Ke.setFromUnitVectors(e.up,new he(0,1,0)),Ue.copy(Ke).invert();let Oe=n.object.position;if(Pe.copy(Oe).sub(n.target),Pe.applyQuaternion(Ke),i.setFromVector3(Pe),n.autoRotate&&o===r.NONE)L(I());if(n.enableDamping)i.theta+=s.theta*n.dampingFactor,i.phi+=s.phi*n.dampingFactor;else i.theta+=s.theta,i.phi+=s.phi;let{minAzimuthAngle:Xe,maxAzimuthAngle:$e}=n;if(isFinite(Xe)&&isFinite($e)){if(Xe<-Math.PI)Xe+=de;else if(Xe>Math.PI)Xe-=de;if($e<-Math.PI)$e+=de;else if($e>Math.PI)$e-=de;if(Xe<=$e)i.theta=Math.max(Xe,Math.min($e,i.theta));else i.theta=i.theta>(Xe+$e)/2?Math.max(Xe,i.theta):Math.min($e,i.theta)}if(i.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,i.phi)),i.makeSafe(),n.enableDamping===!0)n.target.addScaledVector(c,n.dampingFactor);else n.target.add(c);if(n.zoomToCursor&&C||n.object.isOrthographicCamera)i.radius=Z(i.radius);else i.radius=Z(i.radius*l);if(Pe.setFromSpherical(i),Pe.applyQuaternion(Ue),Oe.copy(n.target).add(Pe),n.object.lookAt(n.target),n.enableDamping===!0)s.theta*=1-n.dampingFactor,s.phi*=1-n.dampingFactor,c.multiplyScalar(1-n.dampingFactor);else s.set(0,0,0),c.set(0,0,0);let Ie=!1;if(n.zoomToCursor&&C){let Ge=null;if(n.object.isPerspectiveCamera){let _e=Pe.length();Ge=Z(_e*l);let nt=_e-Ge;n.object.position.addScaledVector(A,nt),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let _e=new he(w.x,w.y,0);_e.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),Ie=!0;let nt=new he(w.x,w.y,0);nt.unproject(n.object),n.object.position.sub(nt).add(_e),n.object.updateMatrixWorld(),Ge=Pe.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;if(Ge!==null)if(this.screenSpacePanning)n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Ge).add(n.object.position);else if(Wge.origin.copy(n.object.position),Wge.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(Wge.direction))a||8*(1-ct.dot(n.object.quaternion))>a||Rt.distanceToSquared(n.target)>0)return n.dispatchEvent(u1n),Ze.copy(n.object.position),ct.copy(n.object.quaternion),Rt.copy(n.target),Ie=!1,!0;return!1}}(),this.dispose=function(){if(n.domElement.removeEventListener("contextmenu",ee),n.domElement.removeEventListener("pointerdown",be),n.domElement.removeEventListener("pointercancel",ce),n.domElement.removeEventListener("wheel",se),n.domElement.removeEventListener("pointermove",ye),n.domElement.removeEventListener("pointerup",ce),n._domElementKeyEvents!==null)n._domElementKeyEvents.removeEventListener("keydown",qe),n._domElementKeyEvents=null};let n=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},o=r.NONE,a=0.000001,i=new iS,s=new iS,l=1,c=new he,u=new vt,d=new vt,p=new vt,f=new vt,m=new vt,g=new vt,v=new vt,y=new vt,x=new vt,A=new he,w=new vt,C=!1,E=[],T={};function I(){return 2*Math.PI/60/60*n.autoRotateSpeed}function k(){return Math.pow(0.95,n.zoomSpeed)}function L(Pe){s.theta-=Pe}function O(Pe){s.phi-=Pe}let B=function(){let Pe=new he;return function(Ue,Ze){Pe.setFromMatrixColumn(Ze,0),Pe.multiplyScalar(-Ue),c.add(Pe)}}(),U=function(){let Pe=new he;return function(Ue,Ze){if(n.screenSpacePanning===!0)Pe.setFromMatrixColumn(Ze,1);else Pe.setFromMatrixColumn(Ze,0),Pe.crossVectors(n.object.up,Pe);Pe.multiplyScalar(Ue),c.add(Pe)}}(),D=function(){let Pe=new he;return function(Ue,Ze){let ct=n.domElement;if(n.object.isPerspectiveCamera){let Rt=n.object.position;Pe.copy(Rt).sub(n.target);let de=Pe.length();de*=Math.tan(n.object.fov/2*Math.PI/180),B(2*Ue*de/ct.clientHeight,n.object.matrix),U(2*Ze*de/ct.clientHeight,n.object.matrix)}else if(n.object.isOrthographicCamera)B(Ue*(n.object.right-n.object.left)/n.object.zoom/ct.clientWidth,n.object.matrix),U(Ze*(n.object.top-n.object.bottom)/n.object.zoom/ct.clientHeight,n.object.matrix);else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1}}();function N(Pe){if(n.object.isPerspectiveCamera||n.object.isOrthographicCamera)l/=Pe;else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1}function _(Pe){if(n.object.isPerspectiveCamera||n.object.isOrthographicCamera)l*=Pe;else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1}function G(Pe){if(!n.zoomToCursor)return;C=!0;let Ke=n.domElement.getBoundingClientRect(),Ue=Pe.clientX-Ke.left,Ze=Pe.clientY-Ke.top,{width:ct,height:Rt}=Ke;w.x=Ue/ct*2-1,w.y=-(Ze/Rt)*2+1,A.set(w.x,w.y,1).unproject(e).sub(e.position).normalize()}function Z(Pe){return Math.max(n.minDistance,Math.min(n.maxDistance,Pe))}function q(Pe){u.set(Pe.clientX,Pe.clientY)}function H(Pe){G(Pe),v.set(Pe.clientX,Pe.clientY)}function te(Pe){f.set(Pe.clientX,Pe.clientY)}function ie(Pe){d.set(Pe.clientX,Pe.clientY),p.subVectors(d,u).multiplyScalar(n.rotateSpeed);let Ke=n.domElement;L(2*Math.PI*p.x/Ke.clientHeight),O(2*Math.PI*p.y/Ke.clientHeight),u.copy(d),n.update()}function j(Pe){if(y.set(Pe.clientX,Pe.clientY),x.subVectors(y,v),x.y>0)N(k());else if(x.y<0)_(k());v.copy(y),n.update()}function oe(Pe){m.set(Pe.clientX,Pe.clientY),g.subVectors(m,f).multiplyScalar(n.panSpeed),D(g.x,g.y),f.copy(m),n.update()}function J(Pe){if(G(Pe),Pe.deltaY<0)_(k());else if(Pe.deltaY>0)N(k());n.update()}function Y(Pe){let Ke=!1;switch(Pe.code){case n.keys.UP:if(Pe.ctrlKey||Pe.metaKey||Pe.shiftKey)O(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight);else D(0,n.keyPanSpeed);Ke=!0;break;case n.keys.BOTTOM:if(Pe.ctrlKey||Pe.metaKey||Pe.shiftKey)O(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight);else D(0,-n.keyPanSpeed);Ke=!0;break;case n.keys.LEFT:if(Pe.ctrlKey||Pe.metaKey||Pe.shiftKey)L(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight);else D(n.keyPanSpeed,0);Ke=!0;break;case n.keys.RIGHT:if(Pe.ctrlKey||Pe.metaKey||Pe.shiftKey)L(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight);else D(-n.keyPanSpeed,0);Ke=!0;break}if(Ke)Pe.preventDefault(),n.update()}function ae(){if(E.length===1)u.set(E[0].pageX,E[0].pageY);else{let Pe=0.5*(E[0].pageX+E[1].pageX),Ke=0.5*(E[0].pageY+E[1].pageY);u.set(Pe,Ke)}}function ne(){if(E.length===1)f.set(E[0].pageX,E[0].pageY);else{let Pe=0.5*(E[0].pageX+E[1].pageX),Ke=0.5*(E[0].pageY+E[1].pageY);f.set(Pe,Ke)}}function Se(){let Pe=E[0].pageX-E[1].pageX,Ke=E[0].pageY-E[1].pageY,Ue=Math.sqrt(Pe*Pe+Ke*Ke);v.set(0,Ue)}function fe(){if(n.enableZoom)Se();if(n.enablePan)ne()}function Ae(){if(n.enableZoom)Se();if(n.enableRotate)ae()}function Ee(Pe){if(E.length==1)d.set(Pe.pageX,Pe.pageY);else{let Ue=tt(Pe),Ze=0.5*(Pe.pageX+Ue.x),ct=0.5*(Pe.pageY+Ue.y);d.set(Ze,ct)}p.subVectors(d,u).multiplyScalar(n.rotateSpeed);let Ke=n.domElement;L(2*Math.PI*p.x/Ke.clientHeight),O(2*Math.PI*p.y/Ke.clientHeight),u.copy(d)}function pe(Pe){if(E.length===1)m.set(Pe.pageX,Pe.pageY);else{let Ke=tt(Pe),Ue=0.5*(Pe.pageX+Ke.x),Ze=0.5*(Pe.pageY+Ke.y);m.set(Ue,Ze)}g.subVectors(m,f).multiplyScalar(n.panSpeed),D(g.x,g.y),f.copy(m)}function Re(Pe){let Ke=tt(Pe),Ue=Pe.pageX-Ke.x,Ze=Pe.pageY-Ke.y,ct=Math.sqrt(Ue*Ue+Ze*Ze);y.set(0,ct),x.set(0,Math.pow(y.y/v.y,n.zoomSpeed)),N(x.y),v.copy(y)}function Le(Pe){if(n.enableZoom)Re(Pe);if(n.enablePan)pe(Pe)}function Ne(Pe){if(n.enableZoom)Re(Pe);if(n.enableRotate)Ee(Pe)}function be(Pe){if(n.enabled===!1)return;if(E.length===0)n.domElement.setPointerCapture(Pe.pointerId),n.domElement.addEventListener("pointermove",ye),n.domElement.addEventListener("pointerup",ce);if(K(Pe),Pe.pointerType==="touch")Me(Pe);else ue(Pe)}function ye(Pe){if(n.enabled===!1)return;if(Pe.pointerType==="touch")Qe(Pe);else ke(Pe)}function ce(Pe){if(we(Pe),E.length===0)n.domElement.releasePointerCapture(Pe.pointerId),n.domElement.removeEventListener("pointermove",ye),n.domElement.removeEventListener("pointerup",ce);n.dispatchEvent(d1n),o=r.NONE}function ue(Pe){let Ke;switch(Pe.button){case 0:Ke=n.mouseButtons.LEFT;break;case 1:Ke=n.mouseButtons.MIDDLE;break;case 2:Ke=n.mouseButtons.RIGHT;break;default:Ke=-1}switch(Ke){case Bm.DOLLY:if(n.enableZoom===!1)return;H(Pe),o=r.DOLLY;break;case Bm.ROTATE:if(Pe.ctrlKey||Pe.metaKey||Pe.shiftKey){if(n.enablePan===!1)return;te(Pe),o=r.PAN}else{if(n.enableRotate===!1)return;q(Pe),o=r.ROTATE}break;case Bm.PAN:if(Pe.ctrlKey||Pe.metaKey||Pe.shiftKey){if(n.enableRotate===!1)return;q(Pe),o=r.ROTATE}else{if(n.enablePan===!1)return;te(Pe),o=r.PAN}break;default:o=r.NONE}if(o!==r.NONE)n.dispatchEvent(lGe)}function ke(Pe){switch(o){case r.ROTATE:if(n.enableRotate===!1)return;ie(Pe);break;case r.DOLLY:if(n.enableZoom===!1)return;j(Pe);break;case r.PAN:if(n.enablePan===!1)return;oe(Pe);break}}function se(Pe){if(n.enabled===!1||n.enableZoom===!1||o!==r.NONE)return;Pe.preventDefault(),n.dispatchEvent(lGe),J(Pe),n.dispatchEvent(d1n)}function qe(Pe){if(n.enabled===!1||n.enablePan===!1)return;Y(Pe)}function Me(Pe){switch(ze(Pe),E.length){case 1:switch(n.touches.ONE){case Om.ROTATE:if(n.enableRotate===!1)return;ae(),o=r.TOUCH_ROTATE;break;case Om.PAN:if(n.enablePan===!1)return;ne(),o=r.TOUCH_PAN;break;default:o=r.NONE}break;case 2:switch(n.touches.TWO){case Om.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;fe(),o=r.TOUCH_DOLLY_PAN;break;case Om.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;Ae(),o=r.TOUCH_DOLLY_ROTATE;break;default:o=r.NONE}break;default:o=r.NONE}if(o!==r.NONE)n.dispatchEvent(lGe)}function Qe(Pe){switch(ze(Pe),o){case r.TOUCH_ROTATE:if(n.enableRotate===!1)return;Ee(Pe),n.update();break;case r.TOUCH_PAN:if(n.enablePan===!1)return;pe(Pe),n.update();break;case r.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;Le(Pe),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;Ne(Pe),n.update();break;default:o=r.NONE}}function ee(Pe){if(n.enabled===!1)return;Pe.preventDefault()}function K(Pe){E.push(Pe)}function we(Pe){delete T[Pe.pointerId];for(let Ke=0;Ke0.99999)this.quaternion.set(0,0,0,1);else if(e.y<-0.99999)this.quaternion.set(1,0,0,0);else{f1n.set(e.z,0,-e.x).normalize();let t=Math.acos(e.y);this.quaternion.setFromAxisAngle(f1n,t)}}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}};zUr=new he(1,0,0),_Ur=new he(0,1,0),HUr=new he(0,0,1);uS={ThreeD:0,TwoD:1};L1n=class L1n extends Go{constructor(e,t=new he,n=new Vo,r=new he(1,1,1),o=1,a=1,i=!0){super();this.splatBuffer=e,this.position.copy(t),this.quaternion.copy(n),this.scale.copy(r),this.transform=new Vn,this.minimumAlpha=o,this.opacity=a,this.visible=i}copyTransformData(e){this.position.copy(e.position),this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.transform.copy(e.transform)}updateTransform(e){if(e){if(this.matrixWorldAutoUpdate)this.updateWorldMatrix(!0,!1);this.transform.copy(this.matrixWorld)}else{if(this.matrixAutoUpdate)this.updateMatrix();this.transform.copy(this.matrix)}}};OW={Default:0,Gradual:1,Instant:2},mO={None:0,Error:1,Warning:2,Info:3,Debug:4},m1n=new Jr,XUr=new Um;Kf=class Kf extends Na{constructor(e=uS.ThreeD,t=!1,n=!1,r=!1,o=1,a=!0,i=!1,s=!1,l=1024,c=mO.None,u=0,d=1,p=0.3){super(m1n,XUr);this.renderer=void 0,this.splatRenderMode=e,this.dynamicMode=t,this.enableOptionalEffects=n,this.halfPrecisionCovariancesOnGPU=r,this.devicePixelRatio=o,this.enableDistancesComputationOnGPU=a,this.integerBasedDistancesComputation=i,this.antialiased=s,this.kernel2DSize=p,this.maxScreenSpaceSplatSize=l,this.logLevel=c,this.sphericalHarmonicsDegree=u,this.minSphericalHarmonicsDegree=0,this.sceneFadeInRateMultiplier=d,this.scenes=[],this.splatTree=null,this.baseSplatTree=null,this.splatDataTextures={},this.distancesTransformFeedback={id:null,vertexShader:null,fragmentShader:null,program:null,centersBuffer:null,sceneIndexesBuffer:null,outDistancesBuffer:null,centersLoc:-1,modelViewProjLoc:-1,sceneIndexesLoc:-1,transformsLocs:[]},this.globalSplatIndexToLocalSplatIndexMap=[],this.globalSplatIndexToSceneIndexMap=[],this.lastBuildSplatCount=0,this.lastBuildScenes=[],this.lastBuildMaxSplatCount=0,this.lastBuildSceneCount=0,this.firstRenderTime=-1,this.finalBuild=!1,this.webGLUtils=null,this.boundingBox=new Il,this.calculatedSceneCenter=new he,this.maxSplatDistanceFromSceneCenter=0,this.visibleRegionBufferRadius=0,this.visibleRegionRadius=0,this.visibleRegionFadeStartRadius=0,this.visibleRegionChanging=!1,this.splatScale=1,this.pointCloudModeEnabled=!1,this.disposed=!1,this.lastRenderer=null,this.visible=!1}static buildScenes(e,t,n){let r=[];r.length=t.length;for(let o=0;o{this.disposeSplatTree(),this.baseSplatTree=new B1n(8,1000);let o=performance.now(),a=new Ja;this.baseSplatTree.processSplatMesh(this,(i)=>{this.getSplatColor(i,a);let s=this.getSceneIndexForSplat(i),l=e[s]||1;return a.w>=l},t,n).then(()=>{let i=performance.now()-o;if(this.logLevel>=mO.Info)console.log("SplatTree build: "+i+" ms");if(this.disposed)r();else{this.splatTree=this.baseSplatTree,this.baseSplatTree=null;let s=0,l=0,c=0,u=0;if(this.splatTree.visitLeaves((d)=>{let p=d.data.indexes.length;if(p>0)l+=p,c=Math.max(c,p),u++,s++}),this.logLevel>=mO.Info)console.log(`SplatTree leaves: ${this.splatTree.countLeaves()}`),console.log(`SplatTree leaves with splats:${s}`),l=l/u,console.log(`Avg splat count per node: ${l}`),console.log(`Total splat count: ${this.getSplatCount()}`);r()}})})};build(e,t,n=!0,r=!1,o,a,i=!0){this.sceneOptions=t,this.finalBuild=r;let s=Kf.getTotalMaxSplatCountForSplatBuffers(e),l=Kf.buildScenes(this,e,t);if(n)for(let m=0;m0)this.buildSplatTree(t.map((m)=>m.splatAlphaRemovalThreshold||1),o,a).then(()=>{if(this.onSplatTreeReadyCallback)this.onSplatTreeReadyCallback(this.splatTree);this.onSplatTreeReadyCallback=null});return this.visible=this.scenes.length>0,f}freeIntermediateSplatData(){let e=(t)=>{delete t.source.data,delete t.image,t.onUpdate=null};if(delete this.splatDataTextures.baseData.covariances,delete this.splatDataTextures.baseData.centers,delete this.splatDataTextures.baseData.colors,delete this.splatDataTextures.baseData.sphericalHarmonics,delete this.splatDataTextures.centerColors.data,delete this.splatDataTextures.covariances.data,this.splatDataTextures.sphericalHarmonics)delete this.splatDataTextures.sphericalHarmonics.data;if(this.splatDataTextures.sceneIndexes)delete this.splatDataTextures.sceneIndexes.data;if(this.splatDataTextures.centerColors.texture.needsUpdate=!0,this.splatDataTextures.centerColors.texture.onUpdate=()=>{e(this.splatDataTextures.centerColors.texture)},this.splatDataTextures.covariances.texture.needsUpdate=!0,this.splatDataTextures.covariances.texture.onUpdate=()=>{e(this.splatDataTextures.covariances.texture)},this.splatDataTextures.sphericalHarmonics)if(this.splatDataTextures.sphericalHarmonics.texture)this.splatDataTextures.sphericalHarmonics.texture.needsUpdate=!0,this.splatDataTextures.sphericalHarmonics.texture.onUpdate=()=>{e(this.splatDataTextures.sphericalHarmonics.texture)};else this.splatDataTextures.sphericalHarmonics.textures.forEach((t)=>{t.needsUpdate=!0,t.onUpdate=()=>{e(t)}});if(this.splatDataTextures.sceneIndexes)this.splatDataTextures.sceneIndexes.texture.needsUpdate=!0,this.splatDataTextures.sceneIndexes.texture.onUpdate=()=>{e(this.splatDataTextures.sceneIndexes.texture)}}dispose(){if(this.disposeMeshData(),this.disposeTextures(),this.disposeSplatTree(),this.enableDistancesComputationOnGPU){if(this.computeDistancesOnGPUSyncTimeout)clearTimeout(this.computeDistancesOnGPUSyncTimeout),this.computeDistancesOnGPUSyncTimeout=null;this.disposeDistancesComputationGPUResources()}this.scenes=[],this.distancesTransformFeedback={id:null,vertexShader:null,fragmentShader:null,program:null,centersBuffer:null,sceneIndexesBuffer:null,outDistancesBuffer:null,centersLoc:-1,modelViewProjLoc:-1,sceneIndexesLoc:-1,transformsLocs:[]},this.renderer=null,this.globalSplatIndexToLocalSplatIndexMap=[],this.globalSplatIndexToSceneIndexMap=[],this.lastBuildSplatCount=0,this.lastBuildScenes=[],this.lastBuildMaxSplatCount=0,this.lastBuildSceneCount=0,this.firstRenderTime=-1,this.finalBuild=!1,this.webGLUtils=null,this.boundingBox=new Il,this.calculatedSceneCenter=new he,this.maxSplatDistanceFromSceneCenter=0,this.visibleRegionBufferRadius=0,this.visibleRegionRadius=0,this.visibleRegionFadeStartRadius=0,this.visibleRegionChanging=!1,this.splatScale=1,this.pointCloudModeEnabled=!1,this.disposed=!0,this.lastRenderer=null,this.visible=!1}disposeMeshData(){if(this.geometry&&this.geometry!==m1n)this.geometry.dispose(),this.geometry=null;if(this.material)this.material.dispose(),this.material=null}disposeTextures(){for(let e in this.splatDataTextures)if(this.splatDataTextures.hasOwnProperty(e)){let t=this.splatDataTextures[e];if(t.texture)t.texture.dispose(),t.texture=null}this.splatDataTextures=null}disposeSplatTree(){if(this.splatTree)this.splatTree.dispose(),this.splatTree=null;if(this.baseSplatTree)this.baseSplatTree.dispose(),this.baseSplatTree=null}getSplatTree(){return this.splatTree}onSplatTreeReady(e){this.onSplatTreeReadyCallback=e}getDataForDistancesComputation(e,t){let n=this.integerBasedDistancesComputation?this.getIntegerCenters(e,t,!0):this.getFloatCenters(e,t,!0),r=this.getSceneIndexes(e,t);return{centers:n,sceneIndexes:r}}refreshGPUDataFromSplatBuffers(e){let t=this.getSplatCount(!0);this.refreshDataTexturesFromSplatBuffers(e);let n=e?this.lastBuildSplatCount:0,{centers:r,sceneIndexes:o}=this.getDataForDistancesComputation(n,t-1);if(this.enableDistancesComputationOnGPU)this.refreshGPUBuffersForDistancesComputation(r,o,e);return{from:n,to:t-1,count:t-n,centers:r,sceneIndexes:o}}refreshGPUBuffersForDistancesComputation(e,t,n=!1){let r=n?this.lastBuildSplatCount:0;this.updateGPUCentersBufferForDistancesComputation(n,e,r),this.updateGPUTransformIndexesBufferForDistancesComputation(n,t,r)}refreshDataTexturesFromSplatBuffers(e){let t=this.getSplatCount(!0),n=this.lastBuildSplatCount,r=t-1;if(!e)this.setupDataTextures(),this.updateBaseDataFromSplatBuffers();else this.updateBaseDataFromSplatBuffers(n,r);this.updateDataTexturesFromBaseData(n,r),this.updateVisibleRegion(e)}setupDataTextures(){let e=this.getMaxSplatCount(),t=this.getSplatCount(!0);this.disposeTextures();let n=(E,T)=>{let I=new vt(4096,1024);while(I.x*I.y*EE>=1?JUr:YUr,o=(E)=>{let T=r(E),I=n(T,6);return{elementsPerTexelStored:T,texSize:I}},a=this.getTargetCovarianceCompressionLevel(),i=0,s=this.getTargetSphericalHarmonicsCompressionLevel(),l,c,u;if(this.splatRenderMode===uS.ThreeD){let E=o(a);if(E.texSize.x*E.texSize.y>y1n&&a===0)a=1;l=new Float32Array(e*Yge)}else c=new Float32Array(e*3),u=new Float32Array(e*4);let d=new Float32Array(e*3),p=new Uint8Array(e*4),f=Float32Array;if(s===1)f=Uint16Array;else if(s===2)f=Uint8Array;let m=fO(this.minSphericalHarmonicsDegree),g=this.minSphericalHarmonicsDegree?new f(e*m):void 0,v=n(uGe,4),y=new Uint32Array(v.x*v.y*uGe);Kf.updateCenterColorsPaddedData(0,t-1,d,p,y);let x=new jl(y,v.x,v.y,m5,Dh);if(x.internalFormat="RGBA32UI",x.needsUpdate=!0,this.material.uniforms.centersColorsTexture.value=x,this.material.uniforms.centersColorsTextureSize.value.copy(v),this.material.uniformsNeedUpdate=!0,this.splatDataTextures={baseData:{covariances:l,scales:c,rotations:u,centers:d,colors:p,sphericalHarmonics:g},centerColors:{data:y,texture:x,size:v}},this.splatRenderMode===uS.ThreeD){let E=o(a),{elementsPerTexelStored:T,texSize:I}=E,k=a>=1?Uint32Array:Float32Array,L=a>=1?jUr:KUr,O=new k(I.x*I.y*L);if(a===0)O.set(l);else Kf.updatePaddedCompressedCovariancesTextureData(l,O,0,0,l.length);let B;if(a>=1)B=new jl(O,I.x,I.y,m5,Dh),B.internalFormat="RGBA32UI",this.material.uniforms.covariancesTextureHalfFloat.value=B;else{B=new jl(O,I.x,I.y,$p,s1),this.material.uniforms.covariancesTexture.value=B;let U=new jl(new Uint32Array(32),2,2,m5,Dh);U.internalFormat="RGBA32UI",this.material.uniforms.covariancesTextureHalfFloat.value=U,U.needsUpdate=!0}B.needsUpdate=!0,this.material.uniforms.covariancesAreHalfFloat.value=a>=1?1:0,this.material.uniforms.covariancesTextureSize.value.copy(I),this.splatDataTextures.covariances={data:O,texture:B,size:I,compressionLevel:a,elementsPerTexelStored:T,elementsPerTexelAllocated:L}}else{let T=n(cGe,6),I=i>=1?Uint16Array:Float32Array,k=i>=1?O0:s1,L=new I(T.x*T.y*cGe);Kf.updateScaleRotationsPaddedData(0,t-1,c,u,L);let O=new jl(L,T.x,T.y,$p,k);O.needsUpdate=!0,this.material.uniforms.scaleRotationsTexture.value=O,this.material.uniforms.scaleRotationsTextureSize.value.copy(T),this.splatDataTextures.scaleRotations={data:L,texture:O,size:T,compressionLevel:i}}if(g){let E=s===2?Fm:O0,T=m;if(T%2!==0)T++;let I=4,k=I===4?$p:tA,L=n(I,T);if(L.x*L.y<=y1n){let O=L.x*L.y*I,B=new f(O);for(let D=0;D=3){for(let ie=0;ie<3;ie++)G[te+ie]=g[H+_*3+ie];if(O>=8)for(let ie=0;ie<5;ie++)G[te+3+ie]=g[H+9+_*5+ie]}}let Z=new jl(G,L.x,L.y,k,E);N.push(Z),Z.needsUpdate=!0,U[_].value=Z}this.material.uniforms.sphericalHarmonicsMultiTextureMode.value=1,this.splatDataTextures.sphericalHarmonics={componentCount:m,componentCountPerChannel:O,paddedComponentCount:T,data:D,textureCount:3,textures:N,size:L,compressionLevel:s,elementsPerTexel:I}}this.material.uniforms.sphericalHarmonicsTextureSize.value.copy(L),this.material.uniforms.sphericalHarmonics8BitMode.value=s===2?1:0;for(let O=0;O{let L=this.renderer?this.renderer.properties.get(C):null;if(!L||!L.__webglTexture)C.needsUpdate=!0;else this.updateDataTexture(I,C,E,L,T,k,y,e,t)},{componentCount:A,paddedComponentCount:w}=i;if(i.textureCount===1){let C=i.data;for(let E=e;E<=t;E++){let T=A*E,I=w*E;for(let k=0;k=3){for(let O=0;O<3;O++)T[L+O]=p[k+E*3+O];if(C>=8)for(let O=0;O<5;O++)T[L+3+O]=p[k+9+E*5+O]}}x(i.textures[E],i.size,i.elementsPerTexel,T,w)}}}let f=this.splatDataTextures.sceneIndexes,m=f.data;for(let y=this.lastBuildSplatCount;y<=t;y++)m[y]=this.globalSplatIndexToSceneIndexMap[y];let g=f.texture,v=this.renderer?this.renderer.properties.get(g):null;if(!v||!v.__webglTexture)g.needsUpdate=!0;else this.updateDataTexture(m,f.texture,f.size,v,1,1,1,this.lastBuildSplatCount,t)}getTargetCovarianceCompressionLevel(){return this.halfPrecisionCovariancesOnGPU?1:0}getTargetSphericalHarmonicsCompressionLevel(){return Math.max(1,this.getMaximumSplatBufferCompressionLevel())}getMaximumSplatBufferCompressionLevel(){let e;for(let t=0;te)e=r.compressionLevel}return e}getMinimumSplatBufferCompressionLevel(){let e;for(let t=0;t=3)i+=2,s=0}static updateCenterColorsPaddedData(e,t,n,r,o){for(let a=e;a<=t;a++){let i=a*4,s=a*3,l=a*4;o[l]=zFr(r,i),o[l+1]=rGe(n[s]),o[l+2]=rGe(n[s+1]),o[l+3]=rGe(n[s+2])}}static updateScaleRotationsPaddedData(e,t,n,r,o){for(let i=e;i<=t;i++){let s=i*3,l=i*4,c=i*6;o[c]=n[s],o[c+1]=n[s+1],o[c+2]=n[s+2],o[c+3]=r[l],o[c+4]=r[l+1],o[c+5]=r[l+2]}}updateVisibleRegion(e){let t=this.getSplatCount(!0),n=new he;if(!e){let o=new he;this.scenes.forEach((a)=>{o.add(a.splatBuffer.sceneCenter)}),o.multiplyScalar(1/this.scenes.length),this.calculatedSceneCenter.copy(o),this.material.uniforms.sceneCenter.value.copy(this.calculatedSceneCenter),this.material.uniformsNeedUpdate=!0}let r=e?this.lastBuildSplatCount:0;for(let o=r;othis.maxSplatDistanceFromSceneCenter)this.maxSplatDistanceFromSceneCenter=a}if(this.maxSplatDistanceFromSceneCenter-this.visibleRegionBufferRadius>g1n)this.visibleRegionBufferRadius=this.maxSplatDistanceFromSceneCenter,this.visibleRegionRadius=Math.max(this.visibleRegionBufferRadius-g1n,0);if(this.finalBuild)this.visibleRegionRadius=this.visibleRegionBufferRadius=this.maxSplatDistanceFromSceneCenter;this.updateVisibleRegionFadeDistance()}updateVisibleRegionFadeDistance(e=OW.Default){let t=$Ur*this.sceneFadeInRateMultiplier,n=eNr*this.sceneFadeInRateMultiplier,r=this.finalBuild?t:n,o=e===OW.Default?r:n;this.visibleRegionFadeStartRadius=(this.visibleRegionRadius-this.visibleRegionFadeStartRadius)*o+this.visibleRegionFadeStartRadius;let i=(this.visibleRegionBufferRadius>0?this.visibleRegionFadeStartRadius/this.visibleRegionBufferRadius:0)>0.99,s=i||e===OW.Instant?1:0;this.material.uniforms.visibleRegionFadeStartRadius.value=this.visibleRegionFadeStartRadius,this.material.uniforms.visibleRegionRadius.value=this.visibleRegionRadius,this.material.uniforms.firstRenderTime.value=this.firstRenderTime,this.material.uniforms.currentTime.value=performance.now(),this.material.uniforms.fadeInComplete.value=s,this.material.uniformsNeedUpdate=!0,this.visibleRegionChanging=!i}updateRenderIndexes(e,t){let n=this.geometry;if(n.attributes.splatIndex.set(e),n.attributes.splatIndex.needsUpdate=!0,t>0&&this.firstRenderTime===-1)this.firstRenderTime=performance.now();n.instanceCount=t,n.setDrawRange(0,t)}updateTransforms(){for(let e=0;e0){if(e.set(t.x*this.devicePixelRatio,t.y*this.devicePixelRatio),this.material.uniforms.viewport.value.copy(e),this.material.uniforms.basisViewport.value.set(1/e.x,1/e.y),this.material.uniforms.focal.value.set(n,r),this.material.uniforms.orthographicMode.value=o?1:0,this.material.uniforms.orthoZoom.value=a,this.material.uniforms.inverseFocalAdjustment.value=i,this.dynamicMode)for(let l=0;l0){this.setupDistancesComputationTransformFeedback();let{centers:o,sceneIndexes:a}=this.getDataForDistancesComputation(0,this.getSplatCount()-1);this.refreshGPUBuffersForDistancesComputation(o,a)}}}setupDistancesComputationTransformFeedback=function(){let e;return function(){let t=this.getMaxSplatCount();if(!this.renderer)return;let n=this.lastRenderer!==this.renderer,r=e!==t;if(!n&&!r)return;if(n)this.disposeDistancesComputationGPUResources();else if(r)this.disposeDistancesComputationGPUBufferResources();let o=this.renderer.getContext(),a=(d,p,f)=>{let m=d.createShader(p);if(!m)return console.error("Fatal error: gl could not create a shader object."),null;if(d.shaderSource(m,f),d.compileShader(m),!d.getShaderParameter(m,d.COMPILE_STATUS)){let v="unknown";if(p===d.VERTEX_SHADER)v="vertex shader";else if(p===d.FRAGMENT_SHADER)v="fragement shader";let y=d.getShaderInfoLog(m);return console.error("Failed to compile "+v+" with these errors:"+y),d.deleteShader(m),null}return m},i;if(this.integerBasedDistancesComputation)if(i=`#version 300 es + `; + } +} +class D1n { + static build(e) { + let t = new Jr(); + t.setIndex([0, 1, 2, 0, 2, 3]); + let n = new Float32Array(12), + r = new si(n, 3); + (t.setAttribute("position", r), + r.setXYZ(0, -1, -1, 0), + r.setXYZ(1, -1, 1, 0), + r.setXYZ(2, 1, 1, 0), + r.setXYZ(3, 1, -1, 0), + (r.needsUpdate = !0)); + let o = new eO().copy(t), + a = new Uint32Array(e), + i = new Jx(a, 1, !1); + return ( + i.setUsage(k0e), + o.setAttribute("splatIndex", i), + (o.instanceCount = 0), + o + ); + } +} +class DGe { + static idGen = 0; + constructor(e, t, n, r) { + ((this.min = new he().copy(e)), + (this.max = new he().copy(t)), + (this.boundingBox = new Il(this.min, this.max)), + (this.center = new he() + .copy(this.max) + .sub(this.min) + .multiplyScalar(0.5) + .add(this.min)), + (this.depth = n), + (this.children = []), + (this.data = null), + (this.id = r || DGe.idGen++)); + } +} +class BW { + constructor(e, t) { + ((this.maxDepth = e), + (this.maxCentersPerNode = t), + (this.sceneDimensions = new he()), + (this.sceneMin = new he()), + (this.sceneMax = new he()), + (this.rootNode = null), + (this.nodesWithIndexes = []), + (this.splatMesh = null)); + } + static convertWorkerSubTreeNode(e) { + let t = new he().fromArray(e.min), + n = new he().fromArray(e.max), + r = new DGe(t, n, e.depth, e.id); + if (e.data.indexes) { + r.data = { indexes: [] }; + for (let o of e.data.indexes) r.data.indexes.push(o); + } + if (e.children) + for (let o of e.children) r.children.push(BW.convertWorkerSubTreeNode(o)); + return r; + } + static convertWorkerSubTree(e, t) { + let n = new BW(e.maxDepth, e.maxCentersPerNode); + ((n.sceneMin = new he().fromArray(e.sceneMin)), + (n.sceneMax = new he().fromArray(e.sceneMax)), + (n.splatMesh = t), + (n.rootNode = BW.convertWorkerSubTreeNode(e.rootNode))); + let r = (o, a) => { + if (o.children.length === 0) a(o); + for (let i of o.children) r(i, a); + }; + return ( + (n.nodesWithIndexes = []), + r(n.rootNode, (o) => { + if (o.data && o.data.indexes && o.data.indexes.length > 0) + n.nodesWithIndexes.push(o); + }), + n + ); + } +} +function VUr(e) { + let t = 0; + class n { + constructor(s, l) { + ((this.min = [s[0], s[1], s[2]]), (this.max = [l[0], l[1], l[2]])); + } + containsPoint(s) { + return ( + s[0] >= this.min[0] && + s[0] <= this.max[0] && + s[1] >= this.min[1] && + s[1] <= this.max[1] && + s[2] >= this.min[2] && + s[2] <= this.max[2] + ); + } + } + class r { + constructor(s, l) { + ((this.maxDepth = s), + (this.maxCentersPerNode = l), + (this.sceneDimensions = []), + (this.sceneMin = []), + (this.sceneMax = []), + (this.rootNode = null), + (this.addedIndexes = {}), + (this.nodesWithIndexes = []), + (this.splatMesh = null), + (this.disposed = !1)); + } + } + class o { + constructor(s, l, c, u) { + ((this.min = [s[0], s[1], s[2]]), + (this.max = [l[0], l[1], l[2]]), + (this.center = [ + (l[0] - s[0]) * 0.5 + s[0], + (l[1] - s[1]) * 0.5 + s[1], + (l[2] - s[2]) * 0.5 + s[2], + ]), + (this.depth = c), + (this.children = []), + (this.data = null), + (this.id = u || t++)); + } + } + processSplatTreeNode = function (s, l, c, u) { + let d = l.data.indexes.length; + if (d < s.maxCentersPerNode || l.depth > s.maxDepth) { + let A = []; + for (let w = 0; w < l.data.indexes.length; w++) + if (!s.addedIndexes[l.data.indexes[w]]) + (A.push(l.data.indexes[w]), (s.addedIndexes[l.data.indexes[w]] = !0)); + ((l.data.indexes = A), + l.data.indexes.sort((w, C) => { + if (w > C) return 1; + else return -1; + }), + s.nodesWithIndexes.push(l)); + return; + } + let p = [l.max[0] - l.min[0], l.max[1] - l.min[1], l.max[2] - l.min[2]], + f = [p[0] * 0.5, p[1] * 0.5, p[2] * 0.5], + m = [l.min[0] + f[0], l.min[1] + f[1], l.min[2] + f[2]], + g = [ + new n([m[0] - f[0], m[1], m[2] - f[2]], [m[0], m[1] + f[1], m[2]]), + new n([m[0], m[1], m[2] - f[2]], [m[0] + f[0], m[1] + f[1], m[2]]), + new n([m[0], m[1], m[2]], [m[0] + f[0], m[1] + f[1], m[2] + f[2]]), + new n([m[0] - f[0], m[1], m[2]], [m[0], m[1] + f[1], m[2] + f[2]]), + new n([m[0] - f[0], m[1] - f[1], m[2] - f[2]], [m[0], m[1], m[2]]), + new n([m[0], m[1] - f[1], m[2] - f[2]], [m[0] + f[0], m[1], m[2]]), + new n([m[0], m[1] - f[1], m[2]], [m[0] + f[0], m[1], m[2] + f[2]]), + new n([m[0] - f[0], m[1] - f[1], m[2]], [m[0], m[1], m[2] + f[2]]), + ], + v = [], + y = []; + for (let A = 0; A < g.length; A++) ((v[A] = 0), (y[A] = [])); + let x = [0, 0, 0]; + for (let A = 0; A < d; A++) { + let w = l.data.indexes[A], + C = c[w]; + ((x[0] = u[C]), (x[1] = u[C + 1]), (x[2] = u[C + 2])); + for (let E = 0; E < g.length; E++) + if (g[E].containsPoint(x)) (v[E]++, y[E].push(w)); + } + for (let A = 0; A < g.length; A++) { + let w = new o(g[A].min, g[A].max, l.depth + 1); + ((w.data = { indexes: y[A] }), l.children.push(w)); + } + l.data = {}; + for (let A of l.children) processSplatTreeNode(s, A, c, u); + return; + }; + let a = (s, l, c) => { + let u = [0, 0, 0], + d = [0, 0, 0], + p = [], + f = Math.floor(s.length / 4); + for (let g = 0; g < f; g++) { + let v = g * 4, + y = s[v], + x = s[v + 1], + A = s[v + 2], + w = Math.round(s[v + 3]); + if (g === 0 || y < u[0]) u[0] = y; + if (g === 0 || y > d[0]) d[0] = y; + if (g === 0 || x < u[1]) u[1] = x; + if (g === 0 || x > d[1]) d[1] = x; + if (g === 0 || A < u[2]) u[2] = A; + if (g === 0 || A > d[2]) d[2] = A; + p.push(w); + } + let m = new r(l, c); + return ( + (m.sceneMin = u), + (m.sceneMax = d), + (m.rootNode = new o(m.sceneMin, m.sceneMax, 0)), + (m.rootNode.data = { indexes: p }), + m + ); + }; + function i(s, l, c) { + let u = []; + for (let p of s) { + let f = Math.floor(p.length / 4); + for (let m = 0; m < f; m++) { + let g = m * 4, + v = Math.round(p[g + 3]); + u[v] = g; + } + } + let d = []; + for (let p of s) { + let f = a(p, l, c); + (d.push(f), processSplatTreeNode(f, f.rootNode, u, p)); + } + e.postMessage({ subTrees: d }); + } + e.onmessage = (s) => { + if (s.data.process) + i( + s.data.process.centers, + s.data.process.maxDepth, + s.data.process.maxCentersPerNode, + ); + }; +} +function GUr(e, t, n, r, o) { + e.postMessage( + { process: { centers: t, maxDepth: r, maxCentersPerNode: o } }, + n, + ); +} +function qUr() { + return new Worker( + URL.createObjectURL( + new Blob(["(", VUr.toString(), ")(self)"], { + type: "application/javascript", + }), + ), + ); +} +class B1n { + constructor(e, t) { + ((this.maxDepth = e), + (this.maxCentersPerNode = t), + (this.subTrees = []), + (this.splatMesh = null)); + } + dispose() { + (this.diposeSplatTreeWorker(), (this.disposed = !0)); + } + diposeSplatTreeWorker() { + if (this.splatTreeWorker) this.splatTreeWorker.terminate(); + this.splatTreeWorker = null; + } + processSplatMesh = function (e, t = () => !0, n, r) { + if (!this.splatTreeWorker) this.splatTreeWorker = qUr(); + ((this.splatMesh = e), (this.subTrees = [])); + let o = new he(), + a = (i, s) => { + let l = new Float32Array(s * 4), + c = 0; + for (let u = 0; u < s; u++) { + let d = u + i; + if (t(d)) { + e.getSplatCenter(d, o); + let p = c * 4; + ((l[p] = o.x), + (l[p + 1] = o.y), + (l[p + 2] = o.z), + (l[p + 3] = d), + c++); + } + } + return l; + }; + return new Promise((i) => { + let s = () => { + if (this.disposed) return (this.diposeSplatTreeWorker(), i(), !0); + return !1; + }; + if (n) n(!1); + d1(() => { + if (s()) return; + let l = []; + if (e.dynamicMode) { + let c = 0; + for (let u = 0; u < e.scenes.length; u++) { + let p = e.getScene(u).splatBuffer.getSplatCount(), + f = a(c, p); + (l.push(f), (c += p)); + } + } else { + let c = a(0, e.getSplatCount()); + l.push(c); + } + ((this.splatTreeWorker.onmessage = (c) => { + if (s()) return; + if (c.data.subTrees) { + if (r) r(!1); + d1(() => { + if (s()) return; + for (let u of c.data.subTrees) { + let d = BW.convertWorkerSubTree(u, e); + this.subTrees.push(d); + } + if ((this.diposeSplatTreeWorker(), r)) r(!0); + d1(() => { + i(); + }); + }); + } + }), + d1(() => { + if (s()) return; + if (n) n(!0); + let c = l.map((u) => u.buffer); + GUr( + this.splatTreeWorker, + l, + c, + this.maxDepth, + this.maxCentersPerNode, + ); + })); + }); + }); + }; + countLeaves() { + let e = 0; + return ( + this.visitLeaves(() => { + e++; + }), + e + ); + } + visitLeaves(e) { + let t = (n, r) => { + if (n.children.length === 0) r(n); + for (let o of n.children) t(o, r); + }; + for (let n of this.subTrees) t(n.rootNode, e); + } +} +function ZUr(e) { + let t = {}; + function n(r) { + if (t[r] !== void 0) return t[r]; + let o; + switch (r) { + case "WEBGL_depth_texture": + o = + e.getExtension("WEBGL_depth_texture") || + e.getExtension("MOZ_WEBGL_depth_texture") || + e.getExtension("WEBKIT_WEBGL_depth_texture"); + break; + case "EXT_texture_filter_anisotropic": + o = + e.getExtension("EXT_texture_filter_anisotropic") || + e.getExtension("MOZ_EXT_texture_filter_anisotropic") || + e.getExtension("WEBKIT_EXT_texture_filter_anisotropic"); + break; + case "WEBGL_compressed_texture_s3tc": + o = + e.getExtension("WEBGL_compressed_texture_s3tc") || + e.getExtension("MOZ_WEBGL_compressed_texture_s3tc") || + e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"); + break; + case "WEBGL_compressed_texture_pvrtc": + o = + e.getExtension("WEBGL_compressed_texture_pvrtc") || + e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"); + break; + default: + o = e.getExtension(r); + } + return ((t[r] = o), o); + } + return { + has: function (r) { + return n(r) !== null; + }, + init: function (r) { + if (r.isWebGL2) + (n("EXT_color_buffer_float"), n("WEBGL_clip_cull_distance")); + else + (n("WEBGL_depth_texture"), + n("OES_texture_float"), + n("OES_texture_half_float"), + n("OES_texture_half_float_linear"), + n("OES_standard_derivatives"), + n("OES_element_index_uint"), + n("OES_vertex_array_object"), + n("ANGLE_instanced_arrays")); + (n("OES_texture_float_linear"), + n("EXT_color_buffer_half_float"), + n("WEBGL_multisampled_render_to_texture")); + }, + get: function (r) { + let o = n(r); + if (o === null) + console.warn("THREE.WebGLRenderer: " + r + " extension not supported."); + return o; + }, + }; +} +function QUr(e, t, n) { + let r; + function o() { + if (r !== void 0) return r; + if (t.has("EXT_texture_filter_anisotropic") === !0) { + let T = t.get("EXT_texture_filter_anisotropic"); + r = e.getParameter(T.MAX_TEXTURE_MAX_ANISOTROPY_EXT); + } else r = 0; + return r; + } + function a(T) { + if (T === "highp") { + if ( + e.getShaderPrecisionFormat(e.VERTEX_SHADER, e.HIGH_FLOAT).precision > + 0 && + e.getShaderPrecisionFormat(e.FRAGMENT_SHADER, e.HIGH_FLOAT).precision > + 0 + ) + return "highp"; + T = "mediump"; + } + if (T === "mediump") { + if ( + e.getShaderPrecisionFormat(e.VERTEX_SHADER, e.MEDIUM_FLOAT).precision > + 0 && + e.getShaderPrecisionFormat(e.FRAGMENT_SHADER, e.MEDIUM_FLOAT) + .precision > 0 + ) + return "mediump"; + } + return "lowp"; + } + let i = + typeof WebGL2RenderingContext < "u" && + e.constructor.name === "WebGL2RenderingContext", + s = n.precision !== void 0 ? n.precision : "highp", + l = a(s); + if (l !== s) + (console.warn( + "THREE.WebGLRenderer:", + s, + "not supported, using", + l, + "instead.", + ), + (s = l)); + let c = i || t.has("WEBGL_draw_buffers"), + u = n.logarithmicDepthBuffer === !0, + d = e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS), + p = e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS), + f = e.getParameter(e.MAX_TEXTURE_SIZE), + m = e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE), + g = e.getParameter(e.MAX_VERTEX_ATTRIBS), + v = e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS), + y = e.getParameter(e.MAX_VARYING_VECTORS), + x = e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS), + A = p > 0, + w = i || t.has("OES_texture_float"), + C = A && w, + E = i ? e.getParameter(e.MAX_SAMPLES) : 0; + return { + isWebGL2: i, + drawBuffers: c, + getMaxAnisotropy: o, + getMaxPrecision: a, + precision: s, + logarithmicDepthBuffer: u, + maxTextures: d, + maxVertexTextures: p, + maxTextureSize: f, + maxCubemapSize: m, + maxAttributes: g, + maxVertexUniforms: v, + maxVaryings: y, + maxFragmentUniforms: x, + vertexTextures: A, + floatFragmentTextures: w, + floatVertexTextures: C, + maxSamples: E, + }; +} +function oNr(e) { + let t, n, r, o, a, i, s, l, c, u, d, p, f, m, g, v, y, x, A, w; + function C(E, T, I, k, L, O, B) { + let U = performance.now(); + if (!r) { + if ( + (new Uint32Array(n, s, L.byteLength / w.BytesPerInt).set(L), + new Float32Array(n, u, B.byteLength / w.BytesPerFloat).set(B), + k) + ) { + let Z; + if (o) Z = new Int32Array(n, d, O.byteLength / w.BytesPerInt); + else Z = new Float32Array(n, d, O.byteLength / w.BytesPerFloat); + Z.set(O); + } + } + if (!v) v = new Uint32Array(x); + (new Float32Array(n, g, 16).set(I), + new Uint32Array(n, f, x).set(v), + t.exports.sortIndexes(s, m, d, p, f, g, l, c, u, x, E, T, i, k, o, a)); + let D = { + sortDone: !0, + splatSortCount: E, + splatRenderCount: T, + sortTime: 0, + }; + if (!r) { + let _ = new Uint32Array(n, l, T); + if (!y || y.length < T) y = new Uint32Array(T); + (y.set(_), (D.sortedIndexes = y)); + } + let N = performance.now(); + ((D.sortTime = N - U), e.postMessage(D)); + } + e.onmessage = (E) => { + if (E.data.centers) { + if (((centers = E.data.centers), (sceneIndexes = E.data.sceneIndexes), o)) + new Int32Array( + n, + m + E.data.range.from * w.BytesPerInt * 4, + E.data.range.count * 4, + ).set(new Int32Array(centers)); + else + new Float32Array( + n, + m + E.data.range.from * w.BytesPerFloat * 4, + E.data.range.count * 4, + ).set(new Float32Array(centers)); + if (a) + new Uint32Array(n, c + E.data.range.from * 4, E.data.range.count).set( + new Uint32Array(sceneIndexes), + ); + A = E.data.range.from + E.data.range.count; + } else if (E.data.sort) { + let T = Math.min(E.data.sort.splatRenderCount || 0, A), + I = Math.min(E.data.sort.splatSortCount || 0, A), + k = E.data.sort.usePrecomputedDistances, + L, + O, + B; + if (!r) { + if (((L = E.data.sort.indexesToSort), (B = E.data.sort.transforms), k)) + O = E.data.sort.precomputedDistances; + } + C(I, T, E.data.sort.modelViewProj, k, L, O, B); + } else if (E.data.init) { + ((w = E.data.init.Constants), + (i = E.data.init.splatCount), + (r = E.data.init.useSharedMemory), + (o = E.data.init.integerBasedSort), + (a = E.data.init.dynamicMode), + (x = E.data.init.distanceMapRange), + (A = 0)); + let T = o ? w.BytesPerInt * 4 : w.BytesPerFloat * 4, + I = new Uint8Array(E.data.init.sorterWasmBytes), + k = 16 * w.BytesPerFloat, + L = i * w.BytesPerInt, + O = i * T, + B = k, + U = o ? i * w.BytesPerInt : i * w.BytesPerFloat, + D = i * w.BytesPerInt, + N = i * w.BytesPerInt, + _ = o ? x * w.BytesPerInt * 2 : x * w.BytesPerFloat * 2, + G = a ? i * w.BytesPerInt : 0, + Z = a ? w.MaxScenes * k : 0, + q = w.MemoryPageSize * 32, + H = L + O + B + U + D + _ + N + G + Z + q, + te = Math.floor(H / w.MemoryPageSize) + 1, + ie = { + module: {}, + env: { + memory: new WebAssembly.Memory({ + initial: te, + maximum: te, + shared: !0, + }), + }, + }; + WebAssembly.compile(I) + .then((j) => WebAssembly.instantiate(j, ie)) + .then((j) => { + if ( + ((t = j), + (s = 0), + (m = s + L), + (g = m + O), + (d = g + B), + (p = d + U), + (f = p + D), + (l = f + _), + (c = l + N), + (u = c + G), + (n = ie.env.memory.buffer), + r) + ) + e.postMessage({ + sortSetupPhase1Complete: !0, + indexesToSortBuffer: n, + indexesToSortOffset: s, + sortedIndexesBuffer: n, + sortedIndexesOffset: l, + precomputedDistancesBuffer: n, + precomputedDistancesOffset: d, + transformsBuffer: n, + transformsOffset: u, + }); + else e.postMessage({ sortSetupPhase1Complete: !0 }); + }); + } + }; +} +function aNr(e, t, n, r, o, a = Ui.DefaultSplatSortDistanceMapPrecision) { + let i = new Worker( + URL.createObjectURL( + new Blob(["(", oNr.toString(), ")(self)"], { + type: "application/javascript", + }), + ), + ), + s = tNr, + l = yGe() ? x1n() : null; + if (!n && !t) { + if (((s = v1n), l && l.major <= 16 && l.minor < 4)) s = rNr; + } else if (!n) s = v1n; + else if (!t) { + if (l && l.major <= 16 && l.minor < 4) s = nNr; + } + let c = atob(s), + u = new Uint8Array(c.length); + for (let d = 0; d < c.length; d++) u[d] = c.charCodeAt(d); + return ( + i.postMessage({ + init: { + sorterWasmBytes: u.buffer, + splatCount: e, + useSharedMemory: t, + integerBasedSort: r, + dynamicMode: o, + distanceMapRange: 1 << a, + Constants: { + BytesPerFloat: Ui.BytesPerFloat, + BytesPerInt: Ui.BytesPerInt, + MemoryPageSize: Ui.MemoryPageSize, + MaxScenes: Ui.MaxScenes, + }, + }, + }), + i + ); +} +class hO { + static createButton(e, t = {}) { + let n = document.createElement("button"); + function r() { + let l = null; + async function c(p) { + (p.addEventListener("end", u), + await e.xr.setSession(p), + (n.textContent = "EXIT VR"), + (l = p)); + } + function u() { + (l.removeEventListener("end", u), + (n.textContent = "ENTER VR"), + (l = null)); + } + ((n.style.display = ""), + (n.style.cursor = "pointer"), + (n.style.left = "calc(50% - 50px)"), + (n.style.width = "100px"), + (n.textContent = "ENTER VR")); + let d = { + ...t, + optionalFeatures: [ + "local-floor", + "bounded-floor", + "layers", + ...(t.optionalFeatures || []), + ], + }; + if ( + ((n.onmouseenter = function () { + n.style.opacity = "1.0"; + }), + (n.onmouseleave = function () { + n.style.opacity = "0.5"; + }), + (n.onclick = function () { + if (l === null) + navigator.xr.requestSession("immersive-vr", d).then(c); + else if ((l.end(), navigator.xr.offerSession !== void 0)) + navigator.xr + .offerSession("immersive-vr", d) + .then(c) + .catch((p) => { + console.warn(p); + }); + }), + navigator.xr.offerSession !== void 0) + ) + navigator.xr + .offerSession("immersive-vr", d) + .then(c) + .catch((p) => { + console.warn(p); + }); + } + function o() { + ((n.style.display = ""), + (n.style.cursor = "auto"), + (n.style.left = "calc(50% - 75px)"), + (n.style.width = "150px"), + (n.onmouseenter = null), + (n.onmouseleave = null), + (n.onclick = null)); + } + function a() { + (o(), (n.textContent = "VR NOT SUPPORTED")); + } + function i(l) { + (o(), + console.warn("Exception when trying to call xr.isSessionSupported", l), + (n.textContent = "VR NOT ALLOWED")); + } + function s(l) { + ((l.style.position = "absolute"), + (l.style.bottom = "20px"), + (l.style.padding = "12px 6px"), + (l.style.border = "1px solid #fff"), + (l.style.borderRadius = "4px"), + (l.style.background = "rgba(0,0,0,0.1)"), + (l.style.color = "#fff"), + (l.style.font = "normal 13px sans-serif"), + (l.style.textAlign = "center"), + (l.style.opacity = "0.5"), + (l.style.outline = "none"), + (l.style.zIndex = "999")); + } + if ("xr" in navigator) + return ( + (n.id = "VRButton"), + (n.style.display = "none"), + s(n), + navigator.xr + .isSessionSupported("immersive-vr") + .then(function (l) { + if ((l ? r() : a(), l && hO.xrSessionIsGranted)) n.click(); + }) + .catch(i), + n + ); + else { + let l = document.createElement("a"); + if (window.isSecureContext === !1) + ((l.href = document.location.href.replace(/^http:/, "https:")), + (l.innerHTML = "WEBXR NEEDS HTTPS")); + else + ((l.href = "https://immersiveweb.dev/"), + (l.innerHTML = "WEBXR NOT AVAILABLE")); + return ( + (l.style.left = "calc(50% - 90px)"), + (l.style.width = "180px"), + (l.style.textDecoration = "none"), + s(l), + l + ); + } + } + static registerSessionGrantedListener() { + if (typeof navigator < "u" && "xr" in navigator) { + if (/WebXRViewer\//i.test(navigator.userAgent)) return; + navigator.xr.addEventListener("sessiongranted", () => { + hO.xrSessionIsGranted = !0; + }); + } + } +} +class O1n { + static createButton(e, t = {}) { + let n = document.createElement("button"); + function r() { + if (t.domOverlay === void 0) { + let d = document.createElement("div"); + ((d.style.display = "none"), document.body.appendChild(d)); + let p = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + (p.setAttribute("width", 38), + p.setAttribute("height", 38), + (p.style.position = "absolute"), + (p.style.right = "20px"), + (p.style.top = "20px"), + p.addEventListener("click", function () { + l.end(); + }), + d.appendChild(p)); + let f = document.createElementNS("http://www.w3.org/2000/svg", "path"); + if ( + (f.setAttribute("d", "M 12,12 L 28,28 M 28,12 12,28"), + f.setAttribute("stroke", "#fff"), + f.setAttribute("stroke-width", 2), + p.appendChild(f), + t.optionalFeatures === void 0) + ) + t.optionalFeatures = []; + (t.optionalFeatures.push("dom-overlay"), (t.domOverlay = { root: d })); + } + let l = null; + async function c(d) { + (d.addEventListener("end", u), + e.xr.setReferenceSpaceType("local"), + await e.xr.setSession(d), + (n.textContent = "STOP AR"), + (t.domOverlay.root.style.display = ""), + (l = d)); + } + function u() { + (l.removeEventListener("end", u), + (n.textContent = "START AR"), + (t.domOverlay.root.style.display = "none"), + (l = null)); + } + if ( + ((n.style.display = ""), + (n.style.cursor = "pointer"), + (n.style.left = "calc(50% - 50px)"), + (n.style.width = "100px"), + (n.textContent = "START AR"), + (n.onmouseenter = function () { + n.style.opacity = "1.0"; + }), + (n.onmouseleave = function () { + n.style.opacity = "0.5"; + }), + (n.onclick = function () { + if (l === null) + navigator.xr.requestSession("immersive-ar", t).then(c); + else if ((l.end(), navigator.xr.offerSession !== void 0)) + navigator.xr + .offerSession("immersive-ar", t) + .then(c) + .catch((d) => { + console.warn(d); + }); + }), + navigator.xr.offerSession !== void 0) + ) + navigator.xr + .offerSession("immersive-ar", t) + .then(c) + .catch((d) => { + console.warn(d); + }); + } + function o() { + ((n.style.display = ""), + (n.style.cursor = "auto"), + (n.style.left = "calc(50% - 75px)"), + (n.style.width = "150px"), + (n.onmouseenter = null), + (n.onmouseleave = null), + (n.onclick = null)); + } + function a() { + (o(), (n.textContent = "AR NOT SUPPORTED")); + } + function i(l) { + (o(), + console.warn("Exception when trying to call xr.isSessionSupported", l), + (n.textContent = "AR NOT ALLOWED")); + } + function s(l) { + ((l.style.position = "absolute"), + (l.style.bottom = "20px"), + (l.style.padding = "12px 6px"), + (l.style.border = "1px solid #fff"), + (l.style.borderRadius = "4px"), + (l.style.background = "rgba(0,0,0,0.1)"), + (l.style.color = "#fff"), + (l.style.font = "normal 13px sans-serif"), + (l.style.textAlign = "center"), + (l.style.opacity = "0.5"), + (l.style.outline = "none"), + (l.style.zIndex = "999")); + } + if ("xr" in navigator) + return ( + (n.id = "ARButton"), + (n.style.display = "none"), + s(n), + navigator.xr + .isSessionSupported("immersive-ar") + .then(function (l) { + l ? r() : a(); + }) + .catch(i), + n + ); + else { + let l = document.createElement("a"); + if (window.isSecureContext === !1) + ((l.href = document.location.href.replace(/^http:/, "https:")), + (l.innerHTML = "WEBXR NEEDS HTTPS")); + else + ((l.href = "https://immersiveweb.dev/"), + (l.innerHTML = "WEBXR NOT AVAILABLE")); + return ( + (l.style.left = "calc(50% - 90px)"), + (l.style.width = "180px"), + (l.style.textDecoration = "none"), + s(l), + l + ); + } + } +} +var hGe, + jAs, + rGe, + zFr = function (e, t) { + return e[t] + (e[t + 1] << 8) + (e[t + 2] << 16) + (e[t + 3] << 24); + }, + $ge = function (e, t, n = !0, r) { + let o = new AbortController(), + a = o.signal, + i = !1, + s = (u) => { + (o.abort(u), (i = !0)); + }, + l = !1, + c = (u, d, p, f) => { + if (t && !l) { + if ((t(u, d, p, f), u === 100)) l = !0; + } + }; + return new w5((u, d) => { + let p = { signal: a }; + if (r) p.headers = r; + fetch(e, p) + .then(async (f) => { + if (!f.ok) { + let A = await f.text(); + d(Error(`Fetch failed: ${f.status} ${f.statusText} ${A}`)); + return; + } + let m = f.body.getReader(), + g = 0, + v = f.headers.get("Content-Length"), + y = v ? parseInt(v) : void 0, + x = []; + while (!i) + try { + let { value: A, done: w } = await m.read(); + if (w) { + if ((c(100, "100%", A, y), n)) { + let T = new Blob(x).arrayBuffer(); + u(T); + } else u(); + break; + } + g += A.length; + let C, E; + if (y !== void 0) ((C = (g / y) * 100), (E = `${C.toFixed(2)}%`)); + if (n) x.push(A); + c(C, E, A, y); + } catch (A) { + d(A); + return; + } + }) + .catch((f) => { + d(new hGe(f)); + }); + }, s); + }, + Rl = function (e, t, n) { + return Math.max(Math.min(e, n), t); + }, + cO = function () { + return performance.now() / 1000; + }, + pO = (e) => { + if (e.geometry) (e.geometry.dispose(), (e.geometry = null)); + if (e.material) (e.material.dispose(), (e.material = null)); + if (e.children) for (let t of e.children) pO(t); + }, + d1 = (e, t) => + new Promise((n) => { + window.setTimeout( + () => { + n(e ? e() : void 0); + }, + t ? 1 : 50, + ); + }), + fO = (e = 0) => { + let t = 0; + if (e === 1) t = 9; + else if (e === 2) t = 24; + else if (e === 3) t = 45; + else if (e > 3) + throw Error( + "getSphericalHarmonicsComponentCountForDegree() -> Invalid spherical harmonics degree", + ); + return t; + }, + gGe = () => { + let e, t; + return { + promise: new Promise((r, o) => { + ((e = r), (t = o)); + }), + resolve: e, + reject: t, + }; + }, + oGe = (e) => { + let t, n; + if (!e) e = () => {}; + return { + promise: new w5((o, a) => { + ((t = o), (n = a)); + }, e), + resolve: t, + reject: n, + }; + }, + _Fr = 14, + On, + HFr, + A5, + cp, + vGe, + kl = (e, t, n = !1, r, o) => { + if (t === 0) return e; + else if (t === 1 || (t === 2 && !n)) return eS.fromHalfFloat(e); + else if (t === 2) return bGe(e, r, o); + }, + MW = (e, t, n) => { + e = Rl(e, t, n); + let r = n - t; + return Rl(Math.floor(((e - t) / r) * 255), 0, 255); + }, + bGe = (e, t, n) => { + let r = n - t; + return (e / 255) * r + t; + }, + A1n = (e, t, n) => MW(vGe(e, t, n)), + VFr = (e, t, n) => cp(bGe(e, t, n)), + Fi = (e, t, n, r = !1) => { + if (n === 0) return e.getFloat32(t * 4, !0); + else if (n === 1 || (n === 2 && !r)) return e.getUint16(t * 2, !0); + else return e.getUint8(t, !0); + }, + GFr, + uO = (e, t, n, r, o = 0) => { + let a = new Uint8Array(e, t), + i = new Uint8Array(n, r); + for (let s = 0; s < o; s++) i[s] = a[s]; + }, + mt, + Qgn, + Xgn, + aGe = "end_header", + iGe, + sA = (e, t) => { + let n = (1 << t) - 1; + return (e & n) / n; + }, + Wgn = (e, t) => { + ((e.x = sA(t >>> 21, 11)), (e.y = sA(t >>> 11, 10)), (e.z = sA(t, 11))); + }, + qFr = (e, t) => { + ((e.x = sA(t >>> 24, 8)), + (e.y = sA(t >>> 16, 8)), + (e.z = sA(t >>> 8, 8)), + (e.w = sA(t, 8))); + }, + ZFr = (e, t) => { + let n = 1 / (Math.sqrt(2) * 0.5), + r = (sA(t >>> 20, 10) - 0.5) * n, + o = (sA(t >>> 10, 10) - 0.5) * n, + a = (sA(t, 10) - 0.5) * n, + i = Math.sqrt(1 - (r * r + o * o + a * a)); + switch (t >>> 30) { + case 0: + e.set(i, r, o, a); + break; + case 1: + e.set(r, i, o, a); + break; + case 2: + e.set(r, o, i, a); + break; + case 3: + e.set(r, o, a, i); + break; + } + }, + cS = (e, t, n) => e * (1 - n) + t * n, + $l = (e, t) => e.properties.find((n) => n.name === t && n.storage)?.storage, + xi, + Oh, + w1n, + xGe, + AGe, + wGe, + SGe, + CGe, + EGe, + Ygn, + QFr, + S1n, + XFr, + Kgn, + WFr, + YFr, + KFr, + JFr, + jFr, + $Fr, + eUr, + tUr, + nUr, + Jgn, + rUr, + oUr, + jgn, + $gn, + aUr, + iUr, + sUr, + Jf, + C1n, + qge, + Zge, + lUr, + cUr, + t1n, + Qge, + uUr, + sGe, + E1n, + pGe, + n1n, + dUr, + pUr, + fUr, + mUr, + hUr, + gUr, + yUr, + vUr, + bUr, + fGe, + I1n, + T1n, + r1n, + o1n, + xUr, + AUr, + Xge = (e) => { + let t = (31744 & e) >> 10, + n = 1023 & e; + return ( + (e >> 15 ? -1 : 1) * + (t + ? t === 31 + ? n + ? NaN + : 1 / 0 + : Math.pow(2, t - 15) * (1 + n / 1024) + : (n / 1024) * 0.00006103515625) + ); + }, + u1, + fd, + FW, + rl, + wUr = (e) => + new ReadableStream({ + async start(t) { + (t.enqueue(e), t.close()); + }, + }), + EUr = 1347635022, + IUr = 1, + TUr = 0.15, + PUr, + DUr = 16, + LUr = 1e7, + DW, + zm, + c1n = (e) => { + if (e.endsWith(".ply")) return zm.Ply; + else if (e.endsWith(".splat")) return zm.Splat; + else if (e.endsWith(".ksplat")) return zm.KSplat; + else if (e.endsWith(".spz")) return zm.Spz; + return null; + }, + u1n, + lGe, + d1n, + Wge, + p1n, + FUr, + PW, + UUr = (e, t, n, r, o) => { + let a = performance.now(), + i = e.style.display === "none" ? 0 : parseFloat(e.style.opacity); + if (isNaN(i)) i = 1; + let s = window.setInterval(() => { + let c = performance.now() - a, + u = Math.min(c / r, 1); + if (u > 0.999) u = 1; + let d; + if (t) { + if (((d = (1 - u) * i), d < 0.0001)) d = 0; + } else d = (1 - i) * u + i; + if (d > 0) ((e.style.display = n), (e.style.opacity = d)); + else e.style.display = "none"; + if (u >= 1) { + if (o) o(); + window.clearInterval(s); + } + }, 16); + return s; + }, + NUr = 500, + f1n, + P1n, + zUr, + _Ur, + HUr, + uS, + L1n, + OW, + mO, + m1n, + XUr, + Yge = 6, + WUr = 4, + YUr = 4, + KUr = 4, + JUr = 6, + jUr = 8, + cGe = 4, + uGe = 4, + h1n = 1, + $Ur = 0.012, + eNr = 0.003, + g1n = 1, + y1n = 16777216, + Kf, + tNr = + "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", + v1n = + "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", + nNr = + "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", + rNr = + "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", + dO, + dGe, + iNr = 50, + sNr = 0.75, + lNr = 1500000, + cNr = 10, + uNr = 2.5, + dNr = 60, + H7; +var F1n = P(() => { + O7(); + O7(); + hGe = class hGe extends Error { + constructor(e) { + super(e); + } + }; + ((jAs = (function () { + let e = new Float32Array(1), + t = new Int32Array(e.buffer); + return function (n) { + e[0] = n; + let r = t[0], + o = (r >> 16) & 32768, + a = (r >> 12) & 2047, + i = (r >> 23) & 255; + if (i < 103) return o; + if (i > 142) + return ((o |= 31744), (o |= (i == 255 ? 0 : 1) && r & 8388607), o); + if (i < 113) + return ( + (a |= 2048), + (o |= (a >> (114 - i)) + ((a >> (113 - i)) & 1)), + o + ); + return ((o |= ((i - 112) << 10) | (a >> 1)), (o += a & 1), o); + }; + })()), + (rGe = (function () { + let e = new Float32Array(1), + t = new Int32Array(e.buffer); + return function (n) { + return ((e[0] = n), t[0]); + }; + })())); + On = class On { + static OFFSET = { + X: 0, + Y: 1, + Z: 2, + SCALE0: 3, + SCALE1: 4, + SCALE2: 5, + ROTATION0: 6, + ROTATION1: 7, + ROTATION2: 8, + ROTATION3: 9, + FDC0: 10, + FDC1: 11, + FDC2: 12, + OPACITY: 13, + FRC0: 14, + FRC1: 15, + FRC2: 16, + FRC3: 17, + FRC4: 18, + FRC5: 19, + FRC6: 20, + FRC7: 21, + FRC8: 22, + FRC9: 23, + FRC10: 24, + FRC11: 25, + FRC12: 26, + FRC13: 27, + FRC14: 28, + FRC15: 29, + FRC16: 30, + FRC17: 31, + FRC18: 32, + FRC19: 33, + FRC20: 34, + FRC21: 35, + FRC22: 36, + FRC23: 37, + }; + constructor(e = 0) { + ((this.sphericalHarmonicsDegree = e), + (this.sphericalHarmonicsCount = fO(this.sphericalHarmonicsDegree)), + (this.componentCount = this.sphericalHarmonicsCount + _Fr), + (this.defaultSphericalHarmonics = Array( + this.sphericalHarmonicsCount, + ).fill(0)), + (this.splats = []), + (this.splatCount = 0)); + } + static createSplat(e = 0) { + let t = [0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], + n = fO(e); + for (let r = 0; r < n; r++) t.push(0); + return t; + } + addSplat(e) { + (this.splats.push(e), this.splatCount++); + } + getSplat(e) { + return this.splats[e]; + } + addDefaultSplat() { + let e = On.createSplat(this.sphericalHarmonicsDegree); + return (this.addSplat(e), e); + } + addSplatFromComonents(e, t, n, r, o, a, i, s, l, c, u, d, p, f, ...m) { + let g = [ + e, + t, + n, + r, + o, + a, + i, + s, + l, + c, + u, + d, + p, + f, + ...this.defaultSphericalHarmonics, + ]; + for (let v = 0; v < m.length && v < this.sphericalHarmonicsCount; v++) + g[v] = m[v]; + return (this.addSplat(g), g); + } + addSplatFromArray(e, t) { + let n = e.splats[t], + r = On.createSplat(this.sphericalHarmonicsDegree); + for (let o = 0; o < this.componentCount && o < n.length; o++) r[o] = n[o]; + this.addSplat(r); + } + }; + ((HFr = Ui.SphericalHarmonics8BitCompressionRange), + (A5 = HFr / 2), + (cp = eS.toHalfFloat.bind(eS)), + (vGe = eS.fromHalfFloat.bind(eS)), + (GFr = (function () { + let e = (t) => t; + return function (t, n, r, o = !1) { + if (n === r) return t; + let a = e; + if (n === 2 && o) { + if (r === 1) a = VFr; + else if (r == 0) a = bGe; + } else if (n === 2 || n === 1) { + if (r === 0) a = vGe; + else if (r == 2) + if (!o) a = e; + else a = A1n; + } else if (n === 0) { + if (r === 1) a = cp; + else if (r == 2) + if (!o) a = cp; + else a = MW; + } + return a(t); + }; + })())); + mt = class mt { + static CurrentMajorVersion = 0; + static CurrentMinorVersion = 1; + static CenterComponentCount = 3; + static ScaleComponentCount = 3; + static RotationComponentCount = 4; + static ColorComponentCount = 4; + static CovarianceComponentCount = 6; + static SplatScaleOffsetFloat = 3; + static SplatRotationOffsetFloat = 6; + static CompressionLevels = { + 0: { + BytesPerCenter: 12, + BytesPerScale: 12, + BytesPerRotation: 16, + BytesPerColor: 4, + ScaleOffsetBytes: 12, + RotationffsetBytes: 24, + ColorOffsetBytes: 40, + SphericalHarmonicsOffsetBytes: 44, + ScaleRange: 1, + BytesPerSphericalHarmonicsComponent: 4, + SphericalHarmonicsOffsetFloat: 11, + SphericalHarmonicsDegrees: { + 0: { BytesPerSplat: 44 }, + 1: { BytesPerSplat: 80 }, + 2: { BytesPerSplat: 140 }, + }, + }, + 1: { + BytesPerCenter: 6, + BytesPerScale: 6, + BytesPerRotation: 8, + BytesPerColor: 4, + ScaleOffsetBytes: 6, + RotationffsetBytes: 12, + ColorOffsetBytes: 20, + SphericalHarmonicsOffsetBytes: 24, + ScaleRange: 32767, + BytesPerSphericalHarmonicsComponent: 2, + SphericalHarmonicsOffsetFloat: 12, + SphericalHarmonicsDegrees: { + 0: { BytesPerSplat: 24 }, + 1: { BytesPerSplat: 42 }, + 2: { BytesPerSplat: 72 }, + }, + }, + 2: { + BytesPerCenter: 6, + BytesPerScale: 6, + BytesPerRotation: 8, + BytesPerColor: 4, + ScaleOffsetBytes: 6, + RotationffsetBytes: 12, + ColorOffsetBytes: 20, + SphericalHarmonicsOffsetBytes: 24, + ScaleRange: 32767, + BytesPerSphericalHarmonicsComponent: 1, + SphericalHarmonicsOffsetFloat: 12, + SphericalHarmonicsDegrees: { + 0: { BytesPerSplat: 24 }, + 1: { BytesPerSplat: 33 }, + 2: { BytesPerSplat: 48 }, + }, + }, + }; + static CovarianceSizeFloats = 6; + static HeaderSizeBytes = 4096; + static SectionHeaderSizeBytes = 1024; + static BucketStorageSizeBytes = 12; + static BucketStorageSizeFloats = 3; + static BucketBlockSize = 5; + static BucketSize = 256; + constructor(e, t = !0) { + this.constructFromBuffer(e, t); + } + getSplatCount() { + return this.splatCount; + } + getMaxSplatCount() { + return this.maxSplatCount; + } + getMinSphericalHarmonicsDegree() { + let e = 0; + for (let t = 0; t < this.sections.length; t++) { + let n = this.sections[t]; + if (t === 0 || n.sphericalHarmonicsDegree < e) + e = n.sphericalHarmonicsDegree; + } + return e; + } + getBucketIndex(e, t) { + let n, + r = e.fullBucketCount * e.bucketSize; + if (t < r) n = Math.floor(t / e.bucketSize); + else { + let o = r; + n = e.fullBucketCount; + let a = 0; + while (o < e.splatCount) { + let i = e.partiallyFilledBucketLengths[a]; + if (t >= o && t < o + i) break; + ((o += i), n++, a++); + } + } + return n; + } + getSplatCenter(e, t, n) { + let r = this.globalSplatIndexToSectionMap[e], + o = this.sections[r], + a = e - o.splatCountOffset, + i = o.bytesPerSplat * a, + s = new DataView(this.bufferData, o.dataBase + i), + l = Fi(s, 0, this.compressionLevel), + c = Fi(s, 1, this.compressionLevel), + u = Fi(s, 2, this.compressionLevel); + if (this.compressionLevel >= 1) { + let p = this.getBucketIndex(o, a) * mt.BucketStorageSizeFloats, + { compressionScaleFactor: f, compressionScaleRange: m } = o; + ((t.x = (l - m) * f + o.bucketArray[p]), + (t.y = (c - m) * f + o.bucketArray[p + 1]), + (t.z = (u - m) * f + o.bucketArray[p + 2])); + } else ((t.x = l), (t.y = c), (t.z = u)); + if (n) t.applyMatrix4(n); + } + getSplatScaleAndRotation = (function () { + let e = new Vn(), + t = new Vn(), + n = new Vn(), + r = new he(), + o = new he(), + a = new Vo(); + return function (i, s, l, c, u) { + let d = this.globalSplatIndexToSectionMap[i], + p = this.sections[d], + f = i - p.splatCountOffset, + m = + p.bytesPerSplat * f + + mt.CompressionLevels[this.compressionLevel].ScaleOffsetBytes, + g = new DataView(this.bufferData, p.dataBase + m); + if ( + (o.set( + kl(Fi(g, 0, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 1, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 2, this.compressionLevel), this.compressionLevel), + ), + u) + ) { + if (u.x !== void 0) o.x = u.x; + if (u.y !== void 0) o.y = u.y; + if (u.z !== void 0) o.z = u.z; + } + if ( + (a.set( + kl(Fi(g, 4, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 5, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 6, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 3, this.compressionLevel), this.compressionLevel), + ), + c) + ) + (e.makeScale(o.x, o.y, o.z), + t.makeRotationFromQuaternion(a), + n.copy(e).multiply(t).multiply(c), + n.decompose(r, l, s)); + else (s.copy(o), l.copy(a)); + }; + })(); + getSplatColor(e, t) { + let n = this.globalSplatIndexToSectionMap[e], + r = this.sections[n], + o = e - r.splatCountOffset, + a = + r.bytesPerSplat * o + + mt.CompressionLevels[this.compressionLevel].ColorOffsetBytes, + i = new Uint8Array(this.bufferData, r.dataBase + a, 4); + t.set(i[0], i[1], i[2], i[3]); + } + fillSplatCenterArray(e, t, n, r, o) { + let a = this.splatCount; + if (((n = n || 0), (r = r || a - 1), o === void 0)) o = n; + let i = new he(); + for (let s = n; s <= r; s++) { + let l = this.globalSplatIndexToSectionMap[s], + c = this.sections[l], + u = s - c.splatCountOffset, + d = (s - n + o) * mt.CenterComponentCount, + p = c.bytesPerSplat * u, + f = new DataView(this.bufferData, c.dataBase + p), + m = Fi(f, 0, this.compressionLevel), + g = Fi(f, 1, this.compressionLevel), + v = Fi(f, 2, this.compressionLevel); + if (this.compressionLevel >= 1) { + let x = this.getBucketIndex(c, u) * mt.BucketStorageSizeFloats, + { compressionScaleFactor: A, compressionScaleRange: w } = c; + ((i.x = (m - w) * A + c.bucketArray[x]), + (i.y = (g - w) * A + c.bucketArray[x + 1]), + (i.z = (v - w) * A + c.bucketArray[x + 2])); + } else ((i.x = m), (i.y = g), (i.z = v)); + if (t) i.applyMatrix4(t); + ((e[d] = i.x), (e[d + 1] = i.y), (e[d + 2] = i.z)); + } + } + fillSplatScaleRotationArray = (function () { + let e = new Vn(), + t = new Vn(), + n = new Vn(), + r = new he(), + o = new Vo(), + a = new he(), + i = (s) => { + let l = s.w < 0 ? -1 : 1; + ((s.x *= l), (s.y *= l), (s.z *= l), (s.w *= l)); + }; + return function (s, l, c, u, d, p, f, m) { + let g = this.splatCount; + if (((u = u || 0), (d = d || g - 1), p === void 0)) p = u; + let v = (y, x) => { + if (x === void 0) x = this.compressionLevel; + return GFr(y, x, f); + }; + for (let y = u; y <= d; y++) { + let x = this.globalSplatIndexToSectionMap[y], + A = this.sections[x], + w = y - A.splatCountOffset, + C = + A.bytesPerSplat * w + + mt.CompressionLevels[this.compressionLevel].ScaleOffsetBytes, + E = (y - u + p) * mt.ScaleComponentCount, + T = (y - u + p) * mt.RotationComponentCount, + I = new DataView(this.bufferData, A.dataBase + C), + k = m && m.x !== void 0 ? m.x : Fi(I, 0, this.compressionLevel), + L = m && m.y !== void 0 ? m.y : Fi(I, 1, this.compressionLevel), + O = m && m.z !== void 0 ? m.z : Fi(I, 2, this.compressionLevel), + B = Fi(I, 3, this.compressionLevel), + U = Fi(I, 4, this.compressionLevel), + D = Fi(I, 5, this.compressionLevel), + N = Fi(I, 6, this.compressionLevel); + if ( + (r.set( + kl(k, this.compressionLevel), + kl(L, this.compressionLevel), + kl(O, this.compressionLevel), + ), + o + .set( + kl(U, this.compressionLevel), + kl(D, this.compressionLevel), + kl(N, this.compressionLevel), + kl(B, this.compressionLevel), + ) + .normalize(), + c) + ) + (a.set(0, 0, 0), + e.makeScale(r.x, r.y, r.z), + t.makeRotationFromQuaternion(o), + n.identity().premultiply(e).premultiply(t), + n.premultiply(c), + n.decompose(a, o, r), + o.normalize()); + if ((i(o), s)) + ((s[E] = v(r.x, 0)), + (s[E + 1] = v(r.y, 0)), + (s[E + 2] = v(r.z, 0))); + if (l) + ((l[T] = v(o.x, 0)), + (l[T + 1] = v(o.y, 0)), + (l[T + 2] = v(o.z, 0)), + (l[T + 3] = v(o.w, 0))); + } + }; + })(); + static computeCovariance = (function () { + let e = new Vn(), + t = new Ur(), + n = new Ur(), + r = new Ur(), + o = new Ur(), + a = new Ur(), + i = new Ur(); + return function (s, l, c, u, d = 0, p) { + if ( + (e.makeScale(s.x, s.y, s.z), + t.setFromMatrix4(e), + e.makeRotationFromQuaternion(l), + n.setFromMatrix4(e), + r.copy(n).multiply(t), + o.copy(r).transpose().premultiply(r), + c) + ) + (a.setFromMatrix4(c), + i.copy(a).transpose(), + o.multiply(i), + o.premultiply(a)); + if (p >= 1) + ((u[d] = cp(o.elements[0])), + (u[d + 1] = cp(o.elements[3])), + (u[d + 2] = cp(o.elements[6])), + (u[d + 3] = cp(o.elements[4])), + (u[d + 4] = cp(o.elements[7])), + (u[d + 5] = cp(o.elements[8]))); + else + ((u[d] = o.elements[0]), + (u[d + 1] = o.elements[3]), + (u[d + 2] = o.elements[6]), + (u[d + 3] = o.elements[4]), + (u[d + 4] = o.elements[7]), + (u[d + 5] = o.elements[8])); + }; + })(); + fillSplatCovarianceArray(e, t, n, r, o, a) { + let i = this.splatCount, + s = new he(), + l = new Vo(); + if (((n = n || 0), (r = r || i - 1), o === void 0)) o = n; + for (let c = n; c <= r; c++) { + let u = this.globalSplatIndexToSectionMap[c], + d = this.sections[u], + p = c - d.splatCountOffset, + f = (c - n + o) * mt.CovarianceComponentCount, + m = + d.bytesPerSplat * p + + mt.CompressionLevels[this.compressionLevel].ScaleOffsetBytes, + g = new DataView(this.bufferData, d.dataBase + m); + (s.set( + kl(Fi(g, 0, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 1, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 2, this.compressionLevel), this.compressionLevel), + ), + l.set( + kl(Fi(g, 4, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 5, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 6, this.compressionLevel), this.compressionLevel), + kl(Fi(g, 3, this.compressionLevel), this.compressionLevel), + ), + mt.computeCovariance(s, l, t, e, f, a)); + } + } + fillSplatColorArray(e, t, n, r, o) { + let a = this.splatCount; + if (((n = n || 0), (r = r || a - 1), o === void 0)) o = n; + for (let i = n; i <= r; i++) { + let s = this.globalSplatIndexToSectionMap[i], + l = this.sections[s], + c = i - l.splatCountOffset, + u = (i - n + o) * mt.ColorComponentCount, + d = + l.bytesPerSplat * c + + mt.CompressionLevels[this.compressionLevel].ColorOffsetBytes, + p = new Uint8Array(this.bufferData, l.dataBase + d), + f = p[3]; + ((f = f >= t ? f : 0), + (e[u] = p[0]), + (e[u + 1] = p[1]), + (e[u + 2] = p[2]), + (e[u + 3] = f)); + } + } + fillSphericalHarmonicsArray = (function () { + let e = []; + for (let D = 0; D < 15; D++) e[D] = new he(); + let t = new Ur(), + n = new Vn(), + r = new he(), + o = new he(), + a = new Vo(), + i = [], + s = [], + l = [], + c = [], + u = [], + d = [], + p = [], + f = [], + m = [], + g = [], + v = [], + y = [], + x = [], + A = [], + w = [], + C = [], + E = [], + T = [], + I = (D) => D, + k = (D, N, _, G) => { + ((D[0] = N), (D[1] = _), (D[2] = G)); + }, + L = (D, N, _, G, Z) => { + ((D[0] = Fi(N, G, Z, !0)), + (D[1] = Fi(N, G + _, Z, !0)), + (D[2] = Fi(N, G + _ + _, Z, !0))); + }, + O = (D, N) => { + ((N[0] = D[0]), (N[1] = D[1]), (N[2] = D[2])); + }, + B = (D, N, _, G) => { + ((N[_] = G(D[0])), (N[_ + 1] = G(D[1])), (N[_ + 2] = G(D[2]))); + }, + U = (D, N, _, G, Z) => ( + (N[0] = kl(D[0], _, !0, G, Z)), + (N[1] = kl(D[1], _, !0, G, Z)), + (N[2] = kl(D[2], _, !0, G, Z)), + N + ); + return function (D, N, _, G, Z, q, H) { + let te = this.splatCount; + if (((G = G || 0), (Z = Z || te - 1), q === void 0)) q = G; + if (_ && N >= 1) + (n.copy(_), + n.decompose(r, a, o), + a.normalize(), + n.makeRotationFromQuaternion(a), + t.setFromMatrix4(n), + k(i, t.elements[4], -t.elements[7], t.elements[1]), + k(s, -t.elements[5], t.elements[8], -t.elements[2]), + k(l, t.elements[3], -t.elements[6], t.elements[0])); + let ie = (oe) => + A1n( + oe, + this.minSphericalHarmonicsCoeff, + this.maxSphericalHarmonicsCoeff, + ), + j = (oe) => + MW( + oe, + this.minSphericalHarmonicsCoeff, + this.maxSphericalHarmonicsCoeff, + ); + for (let oe = G; oe <= Z; oe++) { + let J = this.globalSplatIndexToSectionMap[oe], + Y = this.sections[J]; + N = Math.min(N, Y.sphericalHarmonicsDegree); + let ae = fO(N), + ne = oe - Y.splatCountOffset, + Se = + Y.bytesPerSplat * ne + + mt.CompressionLevels[this.compressionLevel] + .SphericalHarmonicsOffsetBytes, + fe = new DataView(this.bufferData, Y.dataBase + Se), + Ae = (oe - G + q) * ae, + Ee = _ ? 0 : this.compressionLevel, + pe = I; + if (Ee !== H) { + if (Ee === 1) { + if (H === 0) pe = vGe; + else if (H == 2) pe = ie; + } else if (Ee === 0) { + if (H === 1) pe = cp; + else if (H == 2) pe = j; + } + } + let Re = this.minSphericalHarmonicsCoeff, + Le = this.maxSphericalHarmonicsCoeff; + if (N >= 1) { + if ( + (L(m, fe, 3, 0, this.compressionLevel), + L(g, fe, 3, 1, this.compressionLevel), + L(v, fe, 3, 2, this.compressionLevel), + _) + ) + (U(m, m, this.compressionLevel, Re, Le), + U(g, g, this.compressionLevel, Re, Le), + U(v, v, this.compressionLevel, Re, Le), + mt.rotateSphericalHarmonics3(m, g, v, i, s, l, A, w, C)); + else (O(m, A), O(g, w), O(v, C)); + if ( + (B(A, D, Ae, pe), + B(w, D, Ae + 3, pe), + B(C, D, Ae + 6, pe), + N >= 2) + ) { + if ( + (L(m, fe, 5, 9, this.compressionLevel), + L(g, fe, 5, 10, this.compressionLevel), + L(v, fe, 5, 11, this.compressionLevel), + L(y, fe, 5, 12, this.compressionLevel), + L(x, fe, 5, 13, this.compressionLevel), + _) + ) + (U(m, m, this.compressionLevel, Re, Le), + U(g, g, this.compressionLevel, Re, Le), + U(v, v, this.compressionLevel, Re, Le), + U(y, y, this.compressionLevel, Re, Le), + U(x, x, this.compressionLevel, Re, Le), + mt.rotateSphericalHarmonics5( + m, + g, + v, + y, + x, + i, + s, + l, + c, + u, + d, + p, + f, + A, + w, + C, + E, + T, + )); + else (O(m, A), O(g, w), O(v, C), O(y, E), O(x, T)); + (B(A, D, Ae + 9, pe), + B(w, D, Ae + 12, pe), + B(C, D, Ae + 15, pe), + B(E, D, Ae + 18, pe), + B(T, D, Ae + 21, pe)); + } + } + } + }; + })(); + static dot3 = (e, t, n, r, o) => { + o[0] = o[1] = o[2] = 0; + let a = r[0], + i = r[1], + s = r[2]; + (mt.addInto3(e[0] * a, e[1] * a, e[2] * a, o), + mt.addInto3(t[0] * i, t[1] * i, t[2] * i, o), + mt.addInto3(n[0] * s, n[1] * s, n[2] * s, o)); + }; + static addInto3 = (e, t, n, r) => { + ((r[0] = r[0] + e), (r[1] = r[1] + t), (r[2] = r[2] + n)); + }; + static dot5 = (e, t, n, r, o, a, i) => { + i[0] = i[1] = i[2] = 0; + let s = a[0], + l = a[1], + c = a[2], + u = a[3], + d = a[4]; + (mt.addInto3(e[0] * s, e[1] * s, e[2] * s, i), + mt.addInto3(t[0] * l, t[1] * l, t[2] * l, i), + mt.addInto3(n[0] * c, n[1] * c, n[2] * c, i), + mt.addInto3(r[0] * u, r[1] * u, r[2] * u, i), + mt.addInto3(o[0] * d, o[1] * d, o[2] * d, i)); + }; + static rotateSphericalHarmonics3 = (e, t, n, r, o, a, i, s, l) => { + (mt.dot3(e, t, n, r, i), mt.dot3(e, t, n, o, s), mt.dot3(e, t, n, a, l)); + }; + static rotateSphericalHarmonics5 = ( + e, + t, + n, + r, + o, + a, + i, + s, + l, + c, + u, + d, + p, + f, + m, + g, + v, + y, + ) => { + let x = Math.sqrt(0.25), + A = Math.sqrt(0.75), + w = Math.sqrt(0.3333333333333333), + C = Math.sqrt(1.3333333333333333), + E = Math.sqrt(0.08333333333333333); + ((l[0] = x * (s[2] * a[0] + s[0] * a[2] + (a[2] * s[0] + a[0] * s[2]))), + (l[1] = s[1] * a[0] + a[1] * s[0]), + (l[2] = A * (s[1] * a[1] + a[1] * s[1])), + (l[3] = s[1] * a[2] + a[1] * s[2]), + (l[4] = x * (s[2] * a[2] - s[0] * a[0] + (a[2] * s[2] - a[0] * s[0]))), + mt.dot5(e, t, n, r, o, l, f), + (c[0] = x * (i[2] * a[0] + i[0] * a[2] + (a[2] * i[0] + a[0] * i[2]))), + (c[1] = i[1] * a[0] + a[1] * i[0]), + (c[2] = A * (i[1] * a[1] + a[1] * i[1])), + (c[3] = i[1] * a[2] + a[1] * i[2]), + (c[4] = x * (i[2] * a[2] - i[0] * a[0] + (a[2] * i[2] - a[0] * i[0]))), + mt.dot5(e, t, n, r, o, c, m), + (u[0] = + w * (i[2] * i[0] + i[0] * i[2]) + + -E * (s[2] * s[0] + s[0] * s[2] + (a[2] * a[0] + a[0] * a[2]))), + (u[1] = C * i[1] * i[0] + -w * (s[1] * s[0] + a[1] * a[0])), + (u[2] = i[1] * i[1] + -x * (s[1] * s[1] + a[1] * a[1])), + (u[3] = C * i[1] * i[2] + -w * (s[1] * s[2] + a[1] * a[2])), + (u[4] = + w * (i[2] * i[2] - i[0] * i[0]) + + -E * (s[2] * s[2] - s[0] * s[0] + (a[2] * a[2] - a[0] * a[0]))), + mt.dot5(e, t, n, r, o, u, g), + (d[0] = x * (i[2] * s[0] + i[0] * s[2] + (s[2] * i[0] + s[0] * i[2]))), + (d[1] = i[1] * s[0] + s[1] * i[0]), + (d[2] = A * (i[1] * s[1] + s[1] * i[1])), + (d[3] = i[1] * s[2] + s[1] * i[2]), + (d[4] = x * (i[2] * s[2] - i[0] * s[0] + (s[2] * i[2] - s[0] * i[0]))), + mt.dot5(e, t, n, r, o, d, v), + (p[0] = x * (s[2] * s[0] + s[0] * s[2] - (a[2] * a[0] + a[0] * a[2]))), + (p[1] = s[1] * s[0] - a[1] * a[0]), + (p[2] = A * (s[1] * s[1] - a[1] * a[1])), + (p[3] = s[1] * s[2] - a[1] * a[2]), + (p[4] = x * (s[2] * s[2] - s[0] * s[0] - (a[2] * a[2] - a[0] * a[0]))), + mt.dot5(e, t, n, r, o, p, y)); + }; + static parseHeader(e) { + let t = new Uint8Array(e, 0, mt.HeaderSizeBytes), + n = new Uint16Array(e, 0, mt.HeaderSizeBytes / 2), + r = new Uint32Array(e, 0, mt.HeaderSizeBytes / 4), + o = new Float32Array(e, 0, mt.HeaderSizeBytes / 4), + a = t[0], + i = t[1], + s = r[1], + l = r[2], + c = r[3], + u = r[4], + d = n[10], + p = new he(o[6], o[7], o[8]), + f = o[9] || -A5, + m = o[10] || A5; + return { + versionMajor: a, + versionMinor: i, + maxSectionCount: s, + sectionCount: l, + maxSplatCount: c, + splatCount: u, + compressionLevel: d, + sceneCenter: p, + minSphericalHarmonicsCoeff: f, + maxSphericalHarmonicsCoeff: m, + }; + } + static writeHeaderCountsToBuffer(e, t, n) { + let r = new Uint32Array(n, 0, mt.HeaderSizeBytes / 4); + ((r[2] = e), (r[4] = t)); + } + static writeHeaderToBuffer(e, t) { + let n = new Uint8Array(t, 0, mt.HeaderSizeBytes), + r = new Uint16Array(t, 0, mt.HeaderSizeBytes / 2), + o = new Uint32Array(t, 0, mt.HeaderSizeBytes / 4), + a = new Float32Array(t, 0, mt.HeaderSizeBytes / 4); + ((n[0] = e.versionMajor), + (n[1] = e.versionMinor), + (n[2] = 0), + (n[3] = 0), + (o[1] = e.maxSectionCount), + (o[2] = e.sectionCount), + (o[3] = e.maxSplatCount), + (o[4] = e.splatCount), + (r[10] = e.compressionLevel), + (a[6] = e.sceneCenter.x), + (a[7] = e.sceneCenter.y), + (a[8] = e.sceneCenter.z), + (a[9] = e.minSphericalHarmonicsCoeff || -A5), + (a[10] = e.maxSphericalHarmonicsCoeff || A5)); + } + static parseSectionHeaders(e, t, n = 0, r) { + let { compressionLevel: o, maxSectionCount: a } = e, + i = new Uint16Array(t, n, (a * mt.SectionHeaderSizeBytes) / 2), + s = new Uint32Array(t, n, (a * mt.SectionHeaderSizeBytes) / 4), + l = new Float32Array(t, n, (a * mt.SectionHeaderSizeBytes) / 4), + c = [], + u = 0, + d = u / 2, + p = u / 4, + f = mt.HeaderSizeBytes + e.maxSectionCount * mt.SectionHeaderSizeBytes, + m = 0; + for (let g = 0; g < a; g++) { + let v = s[p + 1], + y = s[p + 2], + x = s[p + 3], + A = l[p + 4], + w = A / 2, + C = i[d + 10], + E = s[p + 6] || mt.CompressionLevels[o].ScaleRange, + T = s[p + 8], + I = s[p + 9], + k = I * 4, + L = C * x + k, + O = i[d + 20], + { bytesPerSplat: B } = mt.calculateComponentStorage(o, O), + U = B * v, + D = U + L, + N = { + bytesPerSplat: B, + splatCountOffset: m, + splatCount: r ? v : 0, + maxSplatCount: v, + bucketSize: y, + bucketCount: x, + bucketBlockSize: A, + halfBucketBlockSize: w, + bucketStorageSizeBytes: C, + bucketsStorageSizeBytes: L, + splatDataStorageSizeBytes: U, + storageSizeBytes: D, + compressionScaleRange: E, + compressionScaleFactor: w / E, + base: f, + bucketsBase: f + k, + dataBase: f + L, + fullBucketCount: T, + partiallyFilledBucketCount: I, + sphericalHarmonicsDegree: O, + }; + ((c[g] = N), + (f += D), + (u += mt.SectionHeaderSizeBytes), + (d = u / 2), + (p = u / 4), + (m += v)); + } + return c; + } + static writeSectionHeaderToBuffer(e, t, n, r = 0) { + let o = new Uint16Array(n, r, mt.SectionHeaderSizeBytes / 2), + a = new Uint32Array(n, r, mt.SectionHeaderSizeBytes / 4), + i = new Float32Array(n, r, mt.SectionHeaderSizeBytes / 4); + ((a[0] = e.splatCount), + (a[1] = e.maxSplatCount), + (a[2] = t >= 1 ? e.bucketSize : 0), + (a[3] = t >= 1 ? e.bucketCount : 0), + (i[4] = t >= 1 ? e.bucketBlockSize : 0), + (o[10] = t >= 1 ? mt.BucketStorageSizeBytes : 0), + (a[6] = t >= 1 ? e.compressionScaleRange : 0), + (a[7] = e.storageSizeBytes), + (a[8] = t >= 1 ? e.fullBucketCount : 0), + (a[9] = t >= 1 ? e.partiallyFilledBucketCount : 0), + (o[20] = e.sphericalHarmonicsDegree)); + } + static writeSectionHeaderSplatCountToBuffer(e, t, n = 0) { + let r = new Uint32Array(t, n, mt.SectionHeaderSizeBytes / 4); + r[0] = e; + } + constructFromBuffer(e, t) { + ((this.bufferData = e), + (this.globalSplatIndexToLocalSplatIndexMap = []), + (this.globalSplatIndexToSectionMap = [])); + let n = mt.parseHeader(this.bufferData); + ((this.versionMajor = n.versionMajor), + (this.versionMinor = n.versionMinor), + (this.maxSectionCount = n.maxSectionCount), + (this.sectionCount = t ? n.maxSectionCount : 0), + (this.maxSplatCount = n.maxSplatCount), + (this.splatCount = t ? n.maxSplatCount : 0), + (this.compressionLevel = n.compressionLevel), + (this.sceneCenter = new he().copy(n.sceneCenter)), + (this.minSphericalHarmonicsCoeff = n.minSphericalHarmonicsCoeff), + (this.maxSphericalHarmonicsCoeff = n.maxSphericalHarmonicsCoeff), + (this.sections = mt.parseSectionHeaders( + n, + this.bufferData, + mt.HeaderSizeBytes, + t, + )), + this.linkBufferArrays(), + this.buildMaps()); + } + static calculateComponentStorage(e, t) { + let n = mt.CompressionLevels[e].BytesPerCenter, + r = mt.CompressionLevels[e].BytesPerScale, + o = mt.CompressionLevels[e].BytesPerRotation, + a = mt.CompressionLevels[e].BytesPerColor, + i = fO(t), + s = mt.CompressionLevels[e].BytesPerSphericalHarmonicsComponent * i, + l = n + r + o + a + s; + return { + bytesPerCenter: n, + bytesPerScale: r, + bytesPerRotation: o, + bytesPerColor: a, + sphericalHarmonicsComponentsPerSplat: i, + sphericalHarmonicsBytesPerSplat: s, + bytesPerSplat: l, + }; + } + linkBufferArrays() { + for (let e = 0; e < this.maxSectionCount; e++) { + let t = this.sections[e]; + if ( + ((t.bucketArray = new Float32Array( + this.bufferData, + t.bucketsBase, + t.bucketCount * mt.BucketStorageSizeFloats, + )), + t.partiallyFilledBucketCount > 0) + ) + t.partiallyFilledBucketLengths = new Uint32Array( + this.bufferData, + t.base, + t.partiallyFilledBucketCount, + ); + } + } + buildMaps() { + let e = 0; + for (let t = 0; t < this.maxSectionCount; t++) { + let n = this.sections[t]; + for (let r = 0; r < n.maxSplatCount; r++) { + let o = e + r; + ((this.globalSplatIndexToLocalSplatIndexMap[o] = r), + (this.globalSplatIndexToSectionMap[o] = t)); + } + e += n.maxSplatCount; + } + } + updateLoadedCounts(e, t) { + (mt.writeHeaderCountsToBuffer(e, t, this.bufferData), + (this.sectionCount = e), + (this.splatCount = t)); + } + updateSectionLoadedCounts(e, t) { + let n = mt.HeaderSizeBytes + mt.SectionHeaderSizeBytes * e; + (mt.writeSectionHeaderSplatCountToBuffer(t, this.bufferData, n), + (this.sections[e].splatCount = t)); + } + static writeSplatDataToSectionBuffer = (function () { + let e = new ArrayBuffer(12), + t = new ArrayBuffer(12), + n = new ArrayBuffer(16), + r = new ArrayBuffer(4), + o = new ArrayBuffer(256), + a = new Vo(), + i = new he(), + s = new he(), + { + X: l, + Y: c, + Z: u, + SCALE0: d, + SCALE1: p, + SCALE2: f, + ROTATION0: m, + ROTATION1: g, + ROTATION2: v, + ROTATION3: y, + FDC0: x, + FDC1: A, + FDC2: w, + OPACITY: C, + FRC0: E, + FRC9: T, + } = On.OFFSET, + I = (k, L, O) => { + let B = O * 2 + 1; + return ((k = Math.round(k * L) + O), Rl(k, 0, B)); + }; + return function (k, L, O, B, U, D, N, _, G = -A5, Z = A5) { + let q = fO(U), + H = mt.CompressionLevels[B].BytesPerCenter, + te = mt.CompressionLevels[B].BytesPerScale, + ie = mt.CompressionLevels[B].BytesPerRotation, + j = mt.CompressionLevels[B].BytesPerColor, + oe = O, + J = oe + H, + Y = J + te, + ae = Y + ie, + ne = ae + j; + if (k[m] !== void 0) (a.set(k[m], k[g], k[v], k[y]), a.normalize()); + else a.set(1, 0, 0, 0); + if (k[d] !== void 0) i.set(k[d] || 0, k[p] || 0, k[f] || 0); + else i.set(0, 0, 0); + if (B === 0) { + let fe = new Float32Array(L, oe, mt.CenterComponentCount), + Ae = new Float32Array(L, Y, mt.RotationComponentCount), + Ee = new Float32Array(L, J, mt.ScaleComponentCount); + if ( + (Ae.set([a.x, a.y, a.z, a.w]), + Ee.set([i.x, i.y, i.z]), + fe.set([k[l], k[c], k[u]]), + U > 0) + ) { + let pe = new Float32Array(L, ne, q); + if (U >= 1) { + for (let Re = 0; Re < 9; Re++) pe[Re] = k[E + Re] || 0; + if (U >= 2) + for (let Re = 0; Re < 15; Re++) pe[Re + 9] = k[T + Re] || 0; + } + } + } else { + let fe = new Uint16Array(e, 0, mt.CenterComponentCount), + Ae = new Uint16Array(n, 0, mt.RotationComponentCount), + Ee = new Uint16Array(t, 0, mt.ScaleComponentCount); + if ( + (Ae.set([cp(a.x), cp(a.y), cp(a.z), cp(a.w)]), + Ee.set([cp(i.x), cp(i.y), cp(i.z)]), + s.set(k[l], k[c], k[u]).sub(D), + (s.x = I(s.x, N, _)), + (s.y = I(s.y, N, _)), + (s.z = I(s.z, N, _)), + fe.set([s.x, s.y, s.z]), + U > 0) + ) { + let pe = B === 1 ? Uint16Array : Uint8Array, + Re = B === 1 ? 2 : 1, + Le = new pe(o, 0, q); + if (U >= 1) { + for (let be = 0; be < 9; be++) { + let ye = k[E + be] || 0; + Le[be] = B === 1 ? cp(ye) : MW(ye, G, Z); + } + let Ne = 9 * Re; + if ((uO(Le.buffer, 0, L, ne, Ne), U >= 2)) { + for (let be = 0; be < 15; be++) { + let ye = k[T + be] || 0; + Le[be + 9] = B === 1 ? cp(ye) : MW(ye, G, Z); + } + uO(Le.buffer, Ne, L, ne + Ne, 15 * Re); + } + } + } + (uO(fe.buffer, 0, L, oe, 6), + uO(Ee.buffer, 0, L, J, 6), + uO(Ae.buffer, 0, L, Y, 8)); + } + let Se = new Uint8ClampedArray(r, 0, 4); + (Se.set([k[x] || 0, k[A] || 0, k[w] || 0]), + (Se[3] = k[C] || 0), + uO(Se.buffer, 0, L, ae, 4)); + }; + })(); + static generateFromUncompressedSplatArrays(e, t, n, r, o, a, i = []) { + let s = 0; + for (let w = 0; w < e.length; w++) { + let C = e[w]; + s = Math.max(C.sphericalHarmonicsDegree, s); + } + let l, c; + for (let w = 0; w < e.length; w++) { + let C = e[w]; + for (let E = 0; E < C.splats.length; E++) { + let T = C.splats[E]; + for ( + let I = On.OFFSET.FRC0; + I < On.OFFSET.FRC23 && I < T.length; + I++ + ) { + if (!l || T[I] < l) l = T[I]; + if (!c || T[I] > c) c = T[I]; + } + } + } + ((l = l || -A5), (c = c || A5)); + let { bytesPerSplat: u } = mt.calculateComponentStorage(n, s), + d = mt.CompressionLevels[n].ScaleRange, + p = [], + f = [], + m = 0; + for (let w = 0; w < e.length; w++) { + let C = e[w], + E = new On(s); + for (let oe = 0; oe < C.splatCount; oe++) { + let J = C.splats[oe]; + if ((J[On.OFFSET.OPACITY] || 0) >= t) E.addSplat(J); + } + let T = i[w] || {}, + I = (T.blockSizeFactor || 1) * (o || mt.BucketBlockSize), + k = Math.ceil((T.bucketSizeFactor || 1) * (a || mt.BucketSize)), + L = mt.computeBucketsForUncompressedSplatArray(E, I, k), + O = L.fullBuckets.length, + B = L.partiallyFullBuckets.map((oe) => oe.splats.length), + U = B.length, + D = [...L.fullBuckets, ...L.partiallyFullBuckets], + N = E.splats.length * u, + _ = U * 4, + G = n >= 1 ? D.length * mt.BucketStorageSizeBytes + _ : 0, + Z = N + G, + q = new ArrayBuffer(Z), + H = d / (I * 0.5), + te = new he(), + ie = 0; + for (let oe = 0; oe < D.length; oe++) { + let J = D[oe]; + te.fromArray(J.center); + for (let Y = 0; Y < J.splats.length; Y++) { + let ae = J.splats[Y], + ne = E.splats[ae], + Se = G + ie * u; + (mt.writeSplatDataToSectionBuffer(ne, q, Se, n, s, te, H, d, l, c), + ie++); + } + } + if (((m += ie), n >= 1)) { + let oe = new Uint32Array(q, 0, B.length * 4); + for (let Y = 0; Y < B.length; Y++) oe[Y] = B[Y]; + let J = new Float32Array(q, _, D.length * mt.BucketStorageSizeFloats); + for (let Y = 0; Y < D.length; Y++) { + let ae = D[Y], + ne = Y * 3; + ((J[ne] = ae.center[0]), + (J[ne + 1] = ae.center[1]), + (J[ne + 2] = ae.center[2])); + } + } + p.push(q); + let j = new ArrayBuffer(mt.SectionHeaderSizeBytes); + (mt.writeSectionHeaderToBuffer( + { + maxSplatCount: ie, + splatCount: ie, + bucketSize: k, + bucketCount: D.length, + bucketBlockSize: I, + compressionScaleRange: d, + storageSizeBytes: Z, + fullBucketCount: O, + partiallyFilledBucketCount: U, + sphericalHarmonicsDegree: s, + }, + n, + j, + 0, + ), + f.push(j)); + } + let g = 0; + for (let w of p) g += w.byteLength; + let v = mt.HeaderSizeBytes + mt.SectionHeaderSizeBytes * p.length + g, + y = new ArrayBuffer(v); + mt.writeHeaderToBuffer( + { + versionMajor: 0, + versionMinor: 1, + maxSectionCount: p.length, + sectionCount: p.length, + maxSplatCount: m, + splatCount: m, + compressionLevel: n, + sceneCenter: r, + minSphericalHarmonicsCoeff: l, + maxSphericalHarmonicsCoeff: c, + }, + y, + ); + let x = mt.HeaderSizeBytes; + for (let w of f) + (new Uint8Array(y, x, mt.SectionHeaderSizeBytes).set(new Uint8Array(w)), + (x += mt.SectionHeaderSizeBytes)); + for (let w of p) + (new Uint8Array(y, x, w.byteLength).set(new Uint8Array(w)), + (x += w.byteLength)); + return new mt(y); + } + static computeBucketsForUncompressedSplatArray(e, t, n) { + let r = e.splatCount, + o = t / 2, + a = new he(), + i = new he(); + for (let m = 0; m < r; m++) { + let g = e.splats[m], + v = [g[On.OFFSET.X], g[On.OFFSET.Y], g[On.OFFSET.Z]]; + if (m === 0 || v[0] < a.x) a.x = v[0]; + if (m === 0 || v[0] > i.x) i.x = v[0]; + if (m === 0 || v[1] < a.y) a.y = v[1]; + if (m === 0 || v[1] > i.y) i.y = v[1]; + if (m === 0 || v[2] < a.z) a.z = v[2]; + if (m === 0 || v[2] > i.z) i.z = v[2]; + } + let s = new he().copy(i).sub(a), + l = Math.ceil(s.y / t), + c = Math.ceil(s.z / t), + u = new he(), + d = [], + p = {}; + for (let m = 0; m < r; m++) { + let g = e.splats[m], + v = [g[On.OFFSET.X], g[On.OFFSET.Y], g[On.OFFSET.Z]], + y = Math.floor((v[0] - a.x) / t), + x = Math.floor((v[1] - a.y) / t), + A = Math.floor((v[2] - a.z) / t); + ((u.x = y * t + a.x + o), + (u.y = x * t + a.y + o), + (u.z = A * t + a.z + o)); + let w = y * (l * c) + x * c + A, + C = p[w]; + if (!C) p[w] = C = { splats: [], center: u.toArray() }; + if ((C.splats.push(m), C.splats.length >= n)) + (d.push(C), (p[w] = null)); + } + let f = []; + for (let m in p) + if (p.hasOwnProperty(m)) { + let g = p[m]; + if (g) f.push(g); + } + return { fullBuckets: d, partiallyFullBuckets: f }; + } + static preallocateUncompressed(e, t) { + let n = mt.CompressionLevels[0].SphericalHarmonicsDegrees[t], + r = mt.HeaderSizeBytes + mt.SectionHeaderSizeBytes, + o = r + n.BytesPerSplat * e, + a = new ArrayBuffer(o); + return ( + mt.writeHeaderToBuffer( + { + versionMajor: mt.CurrentMajorVersion, + versionMinor: mt.CurrentMinorVersion, + maxSectionCount: 1, + sectionCount: 1, + maxSplatCount: e, + splatCount: e, + compressionLevel: 0, + sceneCenter: new he(), + }, + a, + ), + mt.writeSectionHeaderToBuffer( + { + maxSplatCount: e, + splatCount: e, + bucketSize: 0, + bucketCount: 0, + bucketBlockSize: 0, + compressionScaleRange: 0, + storageSizeBytes: 0, + fullBucketCount: 0, + partiallyFilledBucketCount: 0, + sphericalHarmonicsDegree: t, + }, + 0, + a, + mt.HeaderSizeBytes, + ), + { splatBuffer: new mt(a, !0), splatBufferDataOffsetBytes: r } + ); + } + }; + ((Qgn = new Uint8Array([112, 108, 121, 10])), + (Xgn = new Uint8Array([ + 10, 101, 110, 100, 95, 104, 101, 97, 100, 101, 114, 10, + ])), + (iGe = new Map([ + ["char", Int8Array], + ["uchar", Uint8Array], + ["short", Int16Array], + ["ushort", Uint16Array], + ["int", Int32Array], + ["uint", Uint32Array], + ["float", Float32Array], + ["double", Float64Array], + ]))); + xi = class xi { + static decodeHeaderText(e) { + let t, + n, + r, + o, + a = e + .split( + ` +`, + ) + .filter((u) => !u.startsWith("comment ")), + i = 0, + s = !1; + for (let u = 1; u < a.length; ++u) { + let d = a[u].split(" "); + switch (d[0]) { + case "format": + if (d[1] !== "binary_little_endian") + throw Error("Unsupported ply format"); + break; + case "element": + if ( + ((t = { + name: d[1], + count: parseInt(d[2], 10), + properties: [], + storageSizeBytes: 0, + }), + t.name === "chunk") + ) + n = t; + else if (t.name === "vertex") r = t; + else if (t.name === "sh") o = t; + break; + case "property": { + if (!iGe.has(d[1])) + throw Error( + `Unrecognized property data type '${d[1]}' in ply header`, + ); + let p = iGe.get(d[1]), + f = p.BYTES_PER_ELEMENT * t.count; + if (t.name === "vertex") i += p.BYTES_PER_ELEMENT; + (t.properties.push({ + type: d[1], + name: d[2], + storage: null, + byteSize: p.BYTES_PER_ELEMENT, + storageSizeByes: f, + }), + (t.storageSizeBytes += f)); + break; + } + case aGe: + s = !0; + break; + default: + throw Error(`Unrecognized header value '${d[0]}' in ply header`); + } + if (s) break; + } + let l = 0, + c = 0; + if (o) { + if (((c = o.properties.length), o.properties.length >= 45)) l = 3; + else if (o.properties.length >= 24) l = 2; + else if (o.properties.length >= 9) l = 1; + } + return { + chunkElement: n, + vertexElement: r, + shElement: o, + bytesPerSplat: i, + headerSizeBytes: e.indexOf(aGe) + aGe.length + 1, + sphericalHarmonicsDegree: l, + sphericalHarmonicsPerSplat: c, + }; + } + static decodeHeader(e) { + let t = (p, f) => { + let m = p.length - f.length, + g, + v; + for (g = 0; g <= m; ++g) { + for (v = 0; v < f.length; ++v) if (p[g + v] !== f[v]) break; + if (v === f.length) return g; + } + return -1; + }, + n = (p, f) => { + if (p.length < f.length) return !1; + for (let m = 0; m < f.length; ++m) if (p[m] !== f[m]) return !1; + return !0; + }, + r = new Uint8Array(e), + o; + if (r.length >= Qgn.length && !n(r, Qgn)) + throw Error("Invalid PLY header"); + if (((o = t(r, Xgn)), o === -1)) + throw Error("End of PLY header not found"); + let a = new TextDecoder("ascii").decode(r.slice(0, o)), + { + chunkElement: i, + vertexElement: s, + shElement: l, + sphericalHarmonicsDegree: c, + sphericalHarmonicsPerSplat: u, + bytesPerSplat: d, + } = xi.decodeHeaderText(a); + return { + headerSizeBytes: o + Xgn.length, + bytesPerSplat: d, + chunkElement: i, + vertexElement: s, + shElement: l, + sphericalHarmonicsDegree: c, + sphericalHarmonicsPerSplat: u, + }; + } + static readElementData(e, t, n, r, o, a = null) { + let i = t instanceof DataView ? t : new DataView(t); + ((r = r || 0), (o = o || e.count - 1)); + for (let s = r; s <= o; ++s) + for (let l = 0; l < e.properties.length; ++l) { + let c = e.properties[l], + u = iGe.get(c.type), + d = u.BYTES_PER_ELEMENT * e.count; + if ((!c.storage || c.storage.byteLength < d) && (!a || a(c.name))) + c.storage = new u(e.count); + if (c.storage) + switch (c.type) { + case "char": + c.storage[s] = i.getInt8(n); + break; + case "uchar": + c.storage[s] = i.getUint8(n); + break; + case "short": + c.storage[s] = i.getInt16(n, !0); + break; + case "ushort": + c.storage[s] = i.getUint16(n, !0); + break; + case "int": + c.storage[s] = i.getInt32(n, !0); + break; + case "uint": + c.storage[s] = i.getUint32(n, !0); + break; + case "float": + c.storage[s] = i.getFloat32(n, !0); + break; + case "double": + c.storage[s] = i.getFloat64(n, !0); + break; + } + n += c.byteSize; + } + return n; + } + static readPly(e, t = null) { + let n = xi.decodeHeader(e), + r = xi.readElementData( + n.chunkElement, + e, + n.headerSizeBytes, + null, + null, + t, + ); + return ( + (r = xi.readElementData(n.vertexElement, e, r, null, null, t)), + xi.readElementData(n.shElement, e, r, null, null, t), + { + chunkElement: n.chunkElement, + vertexElement: n.vertexElement, + shElement: n.shElement, + sphericalHarmonicsDegree: n.sphericalHarmonicsDegree, + sphericalHarmonicsPerSplat: n.sphericalHarmonicsPerSplat, + } + ); + } + static getElementStorageArrays(e, t, n) { + let r = {}; + if (t) { + let o = $l(e, "min_r"), + a = $l(e, "min_g"), + i = $l(e, "min_b"), + s = $l(e, "max_r"), + l = $l(e, "max_g"), + c = $l(e, "max_b"), + u = $l(e, "min_x"), + d = $l(e, "min_y"), + p = $l(e, "min_z"), + f = $l(e, "max_x"), + m = $l(e, "max_y"), + g = $l(e, "max_z"), + v = $l(e, "min_scale_x"), + y = $l(e, "min_scale_y"), + x = $l(e, "min_scale_z"), + A = $l(e, "max_scale_x"), + w = $l(e, "max_scale_y"), + C = $l(e, "max_scale_z"), + E = $l(t, "packed_position"), + T = $l(t, "packed_rotation"), + I = $l(t, "packed_scale"), + k = $l(t, "packed_color"); + ((r.colorExtremes = { + minR: o, + maxR: s, + minG: a, + maxG: l, + minB: i, + maxB: c, + }), + (r.positionExtremes = { + minX: u, + maxX: f, + minY: d, + maxY: m, + minZ: p, + maxZ: g, + }), + (r.scaleExtremes = { + minScaleX: v, + maxScaleX: A, + minScaleY: y, + maxScaleY: w, + minScaleZ: x, + maxScaleZ: C, + }), + (r.position = E), + (r.rotation = T), + (r.scale = I), + (r.color = k)); + } + if (n) { + let o = {}; + for (let a = 0; a < 45; a++) { + let i = `f_rest_${a}`, + s = $l(n, i); + if (s) o[i] = s; + else break; + } + r.sh = o; + } + return r; + } + static decompressBaseSplat = (function () { + let e = new he(), + t = new Vo(), + n = new he(), + r = new Ja(), + o = On.OFFSET; + return function (a, i, s, l, c, u, d, p, f, m) { + m = m || On.createSplat(); + let g = Math.floor((i + a) / 256); + if ( + (Wgn(e, s[a]), + ZFr(t, d[a]), + Wgn(n, c[a]), + qFr(r, f[a]), + (m[o.X] = cS(l.minX[g], l.maxX[g], e.x)), + (m[o.Y] = cS(l.minY[g], l.maxY[g], e.y)), + (m[o.Z] = cS(l.minZ[g], l.maxZ[g], e.z)), + (m[o.ROTATION0] = t.x), + (m[o.ROTATION1] = t.y), + (m[o.ROTATION2] = t.z), + (m[o.ROTATION3] = t.w), + (m[o.SCALE0] = Math.exp(cS(u.minScaleX[g], u.maxScaleX[g], n.x))), + (m[o.SCALE1] = Math.exp(cS(u.minScaleY[g], u.maxScaleY[g], n.y))), + (m[o.SCALE2] = Math.exp(cS(u.minScaleZ[g], u.maxScaleZ[g], n.z))), + p.minR && p.maxR) + ) + m[o.FDC0] = Rl( + Math.round(cS(p.minR[g], p.maxR[g], r.x) * 255), + 0, + 255, + ); + else m[o.FDC0] = Rl(Math.floor(r.x * 255), 0, 255); + if (p.minG && p.maxG) + m[o.FDC1] = Rl( + Math.round(cS(p.minG[g], p.maxG[g], r.y) * 255), + 0, + 255, + ); + else m[o.FDC1] = Rl(Math.floor(r.y * 255), 0, 255); + if (p.minB && p.maxB) + m[o.FDC2] = Rl( + Math.round(cS(p.minB[g], p.maxB[g], r.z) * 255), + 0, + 255, + ); + else m[o.FDC2] = Rl(Math.floor(r.z * 255), 0, 255); + return ((m[o.OPACITY] = Rl(Math.floor(r.w * 255), 0, 255)), m); + }; + })(); + static decompressSphericalHarmonics = (function () { + let e = [0, 3, 8, 15], + t = [ + 0, 1, 2, 9, 10, 11, 12, 13, 24, 25, 26, 27, 28, 29, 30, 3, 4, 5, 14, + 15, 16, 17, 18, 31, 32, 33, 34, 35, 36, 37, 6, 7, 8, 19, 20, 21, 22, + 23, 38, 39, 40, 41, 42, 43, 44, + ]; + return function (n, r, o, a, i) { + i = i || On.createSplat(); + let s = e[o], + l = e[a]; + for (let c = 0; c < 3; ++c) + for (let u = 0; u < 15; ++u) { + let d = t[c * 15 + u]; + if (u < s && u < l) + i[On.OFFSET.FRC0 + d] = r[c * l + u][n] * 0.03137254901960784 - 4; + } + return i; + }; + })(); + static parseToUncompressedSplatBufferSection( + e, + t, + n, + r, + o, + a, + i, + s, + l = null, + ) { + xi.readElementData(t, a, 0, n, r, l); + let c = + mt.CompressionLevels[0].SphericalHarmonicsDegrees[0].BytesPerSplat, + { + positionExtremes: u, + scaleExtremes: d, + colorExtremes: p, + position: f, + rotation: m, + scale: g, + color: v, + } = xi.getElementStorageArrays(e, t), + y = On.createSplat(); + for (let x = n; x <= r; ++x) { + xi.decompressBaseSplat(x, o, f, u, g, d, m, p, v, y); + let A = x * c + s; + mt.writeSplatDataToSectionBuffer(y, i, A, 0, 0); + } + } + static parseToUncompressedSplatArraySection(e, t, n, r, o, a, i, s = null) { + xi.readElementData(t, a, 0, n, r, s); + let { + positionExtremes: l, + scaleExtremes: c, + colorExtremes: u, + position: d, + rotation: p, + scale: f, + color: m, + } = xi.getElementStorageArrays(e, t); + for (let g = n; g <= r; ++g) { + let v = On.createSplat(); + (xi.decompressBaseSplat(g, o, d, l, f, c, p, u, m, v), i.addSplat(v)); + } + } + static parseSphericalHarmonicsToUncompressedSplatArraySection( + e, + t, + n, + r, + o, + a, + i, + s, + l, + c = null, + ) { + xi.readElementData(t, o, a, n, r, c); + let { sh: u } = xi.getElementStorageArrays(e, void 0, t), + d = Object.values(u); + for (let p = n; p <= r; ++p) + xi.decompressSphericalHarmonics(p, d, i, s, l.splats[p]); + } + static parseToUncompressedSplatArray(e, t) { + let { + chunkElement: n, + vertexElement: r, + shElement: o, + sphericalHarmonicsDegree: a, + } = xi.readPly(e); + t = Math.min(t, a); + let i = new On(t), + { + positionExtremes: s, + scaleExtremes: l, + colorExtremes: c, + position: u, + rotation: d, + scale: p, + color: f, + } = xi.getElementStorageArrays(n, r), + m; + if (t > 0) { + let { sh: g } = xi.getElementStorageArrays(n, void 0, o); + m = Object.values(g); + } + for (let g = 0; g < r.count; ++g) { + i.addDefaultSplat(); + let v = i.getSplat(i.splatCount - 1); + if ((xi.decompressBaseSplat(g, 0, u, s, p, l, d, c, f, v), t > 0)) + xi.decompressSphericalHarmonics(g, m, t, a, v); + } + return i; + } + static parseToUncompressedSplatBuffer(e, t) { + let { + chunkElement: n, + vertexElement: r, + shElement: o, + sphericalHarmonicsDegree: a, + } = xi.readPly(e); + t = Math.min(t, a); + let { splatBuffer: i, splatBufferDataOffsetBytes: s } = + mt.preallocateUncompressed(r.count, t), + { + positionExtremes: l, + scaleExtremes: c, + colorExtremes: u, + position: d, + rotation: p, + scale: f, + color: m, + } = xi.getElementStorageArrays(n, r), + g; + if (t > 0) { + let { sh: x } = xi.getElementStorageArrays(n, void 0, o); + g = Object.values(x); + } + let v = + mt.CompressionLevels[0].SphericalHarmonicsDegrees[t].BytesPerSplat, + y = On.createSplat(t); + for (let x = 0; x < r.count; ++x) { + if ((xi.decompressBaseSplat(x, 0, d, l, f, c, p, u, m, y), t > 0)) + xi.decompressSphericalHarmonics(x, g, t, a, y); + let A = x * v + s; + mt.writeSplatDataToSectionBuffer(y, i.bufferData, A, 0, t); + } + return i; + } + }; + ((Oh = { INRIAV1: 0, INRIAV2: 1, PlayCanvasCompressed: 2 }), + ([w1n, xGe, AGe, wGe, SGe, CGe, EGe] = [0, 1, 2, 3, 4, 5, 6]), + (Ygn = { + double: w1n, + int: xGe, + uint: AGe, + float: wGe, + short: SGe, + ushort: CGe, + uchar: EGe, + }), + (QFr = { + [w1n]: 8, + [xGe]: 4, + [AGe]: 4, + [wGe]: 4, + [SGe]: 2, + [CGe]: 2, + [EGe]: 1, + })); + ((S1n = [ + "scale_0", + "scale_1", + "scale_2", + "rot_0", + "rot_1", + "rot_2", + "rot_3", + "x", + "y", + "z", + "f_dc_0", + "f_dc_1", + "f_dc_2", + "opacity", + "red", + "green", + "blue", + "f_rest_0", + ]), + (XFr = S1n.map((e, t) => t)), + ([ + Kgn, + WFr, + YFr, + KFr, + JFr, + jFr, + $Fr, + eUr, + tUr, + nUr, + Jgn, + rUr, + oUr, + jgn, + $gn, + aUr, + iUr, + sUr, + ] = XFr)); + Jf = class Jf { + static decodeHeaderLines(e) { + let t = 0; + e.forEach((c) => { + if (c.includes("f_rest_")) t++; + }); + let n = 0; + if (t >= 45) n = 45; + else if (t >= 24) n = 24; + else if (t >= 9) n = 9; + let o = Array.from(Array(Math.max(n - 1, 0))).map( + (c, u) => `f_rest_${u + 1}`, + ), + a = [...S1n, ...o], + i = a.map((c, u) => u), + s = i.reduce((c, u) => ((c[a[u]] = u), c), {}), + l = Ti.decodeSectionHeader(e, s, 0); + return ( + (l.splatCount = l.vertexCount), + (l.bytesPerSplat = l.bytesPerVertex), + (l.fieldsToReadIndexes = i), + l + ); + } + static decodeHeaderText(e) { + let t = Ti.convertHeaderTextToLines(e), + n = Jf.decodeHeaderLines(t); + return ( + (n.headerText = e), + (n.headerSizeBytes = + e.indexOf(Ti.HeaderEndToken) + Ti.HeaderEndToken.length + 1), + n + ); + } + static decodeHeaderFromBuffer(e) { + let t = Ti.readHeaderFromBuffer(e); + return Jf.decodeHeaderText(t); + } + static findSplatData(e, t) { + return new DataView(e, t.headerSizeBytes); + } + static parseToUncompressedSplatBufferSection(e, t, n, r, o, a, i, s = 0) { + s = Math.min(s, e.sphericalHarmonicsDegree); + let l = + mt.CompressionLevels[0].SphericalHarmonicsDegrees[s].BytesPerSplat; + for (let c = t; c <= n; c++) { + let u = Jf.parseToUncompressedSplat(r, c, e, o, s), + d = c * l + i; + mt.writeSplatDataToSectionBuffer(u, a, d, 0, s); + } + } + static parseToUncompressedSplatArraySection(e, t, n, r, o, a, i = 0) { + i = Math.min(i, e.sphericalHarmonicsDegree); + for (let s = t; s <= n; s++) { + let l = Jf.parseToUncompressedSplat(r, s, e, o, i); + a.addSplat(l); + } + } + static decodeSectionSplatData(e, t, n, r, o = !0) { + if (((r = Math.min(r, n.sphericalHarmonicsDegree)), o)) { + let a = new On(r); + for (let i = 0; i < t; i++) { + let s = Jf.parseToUncompressedSplat(e, i, n, 0, r); + a.addSplat(s); + } + return a; + } else { + let { splatBuffer: a, splatBufferDataOffsetBytes: i } = + mt.preallocateUncompressed(t, r); + return ( + Jf.parseToUncompressedSplatBufferSection( + n, + 0, + t - 1, + e, + 0, + a.bufferData, + i, + r, + ), + a + ); + } + } + static parseToUncompressedSplat = (function () { + let e = [], + t = new Vo(), + n = On.OFFSET.X, + r = On.OFFSET.Y, + o = On.OFFSET.Z, + a = On.OFFSET.SCALE0, + i = On.OFFSET.SCALE1, + s = On.OFFSET.SCALE2, + l = On.OFFSET.ROTATION0, + c = On.OFFSET.ROTATION1, + u = On.OFFSET.ROTATION2, + d = On.OFFSET.ROTATION3, + p = On.OFFSET.FDC0, + f = On.OFFSET.FDC1, + m = On.OFFSET.FDC2, + g = On.OFFSET.OPACITY, + v = []; + for (let y = 0; y < 45; y++) v[y] = On.OFFSET.FRC0 + y; + return function (y, x, A, w = 0, C = 0) { + ((C = Math.min(C, A.sphericalHarmonicsDegree)), + Jf.readSplat(y, A, x, w, e)); + let E = On.createSplat(C); + if (e[Kgn] !== void 0) + ((E[a] = Math.exp(e[Kgn])), + (E[i] = Math.exp(e[WFr])), + (E[s] = Math.exp(e[YFr]))); + else ((E[a] = 0.01), (E[i] = 0.01), (E[s] = 0.01)); + if (e[Jgn] !== void 0) + ((E[p] = (0.5 + 0.28209479177387814 * e[Jgn]) * 255), + (E[f] = (0.5 + 0.28209479177387814 * e[rUr]) * 255), + (E[m] = (0.5 + 0.28209479177387814 * e[oUr]) * 255)); + else if (e[$gn] !== void 0) + ((E[p] = e[$gn] * 255), (E[f] = e[aUr] * 255), (E[m] = e[iUr] * 255)); + else ((E[p] = 0), (E[f] = 0), (E[m] = 0)); + if (e[jgn] !== void 0) E[g] = (1 / (1 + Math.exp(-e[jgn]))) * 255; + if ( + ((E[p] = Rl(Math.floor(E[p]), 0, 255)), + (E[f] = Rl(Math.floor(E[f]), 0, 255)), + (E[m] = Rl(Math.floor(E[m]), 0, 255)), + (E[g] = Rl(Math.floor(E[g]), 0, 255)), + C >= 1) + ) { + if (e[sUr] !== void 0) { + for (let T = 0; T < 9; T++) + E[v[T]] = e[A.sphericalHarmonicsDegree1Fields[T]]; + if (C >= 2) + for (let T = 0; T < 15; T++) + E[v[9 + T]] = e[A.sphericalHarmonicsDegree2Fields[T]]; + } + } + return ( + t.set(e[KFr], e[JFr], e[jFr], e[$Fr]), + t.normalize(), + (E[l] = t.x), + (E[c] = t.y), + (E[u] = t.z), + (E[d] = t.w), + (E[n] = e[eUr]), + (E[r] = e[tUr]), + (E[o] = e[nUr]), + E + ); + }; + })(); + static readSplat(e, t, n, r, o) { + return Ti.readVertex(e, t, n, r, t.fieldsToReadIndexes, o, !0); + } + static parseToUncompressedSplatArray(e, t = 0) { + let { header: n, splatCount: r, splatData: o } = e1n(e); + return Jf.decodeSectionSplatData(o, r, n, t, !0); + } + static parseToUncompressedSplatBuffer(e, t = 0) { + let { header: n, splatCount: r, splatData: o } = e1n(e); + return Jf.decodeSectionSplatData(o, r, n, t, !1); + } + }; + ((C1n = [ + "features_dc", + "features_rest_0", + "features_rest_1", + "features_rest_2", + "features_rest_3", + "features_rest_4", + "features_rest_5", + "features_rest_6", + "features_rest_7", + "features_rest_8", + "features_rest_9", + "features_rest_10", + "features_rest_11", + "features_rest_12", + "features_rest_13", + "features_rest_14", + "opacity", + "scaling", + "rotation_re", + "rotation_im", + ]), + (qge = C1n.map((e, t) => t)), + ([Zge, lUr, cUr, t1n, Qge, uUr, sGe] = [0, 1, 4, 16, 17, 18, 19]), + (E1n = [ + "scale_0", + "scale_1", + "scale_2", + "rot_0", + "rot_1", + "rot_2", + "rot_3", + "x", + "y", + "z", + "f_dc_0", + "f_dc_1", + "f_dc_2", + "opacity", + "red", + "green", + "blue", + "f_rest_0", + "f_rest_1", + "f_rest_2", + "f_rest_3", + "f_rest_4", + "f_rest_5", + "f_rest_6", + "f_rest_7", + "f_rest_8", + "f_rest_9", + "f_rest_10", + "f_rest_11", + "f_rest_12", + "f_rest_13", + "f_rest_14", + "f_rest_15", + "f_rest_16", + "f_rest_17", + "f_rest_18", + "f_rest_19", + "f_rest_20", + "f_rest_21", + "f_rest_22", + "f_rest_23", + "f_rest_24", + "f_rest_25", + "f_rest_26", + "f_rest_27", + "f_rest_28", + "f_rest_29", + "f_rest_30", + "f_rest_31", + "f_rest_32", + "f_rest_33", + "f_rest_34", + "f_rest_35", + "f_rest_36", + "f_rest_37", + "f_rest_38", + "f_rest_39", + "f_rest_40", + "f_rest_41", + "f_rest_42", + "f_rest_43", + "f_rest_44", + "f_rest_45", + ]), + (pGe = E1n.map((e, t) => t)), + ([n1n, dUr, pUr, fUr, mUr, hUr, gUr, yUr, vUr, bUr, fGe, I1n, T1n, r1n] = + pGe), + (o1n = fGe), + (xUr = I1n), + (AUr = T1n)); + u1 = class u1 { + static decodeSectionHeadersFromHeaderLines(e) { + let t = pGe.reduce((c, u) => ((c[E1n[u]] = u), c), {}), + n = qge.reduce((c, u) => ((c[C1n[u]] = u), c), {}), + r = Ti.getHeaderSectionNames(e), + o; + for (let c = 0; c < r.length; c++) if (r[c] === "codebook_centers") o = c; + let a = 0, + i = !1, + s = [], + l = 0; + while (!i) { + let c; + if (l === o) c = Ti.decodeSectionHeader(e, n, a); + else c = Ti.decodeSectionHeader(e, t, a); + if (((i = c.endOfHeader), (a = c.headerEndLine + 1), !i)) + ((c.splatCount = c.vertexCount), + (c.bytesPerSplat = c.bytesPerVertex)); + (s.push(c), l++); + } + return s; + } + static decodeSectionHeadersFromHeaderText(e) { + let t = Ti.convertHeaderTextToLines(e); + return u1.decodeSectionHeadersFromHeaderLines(t); + } + static getSplatCountFromSectionHeaders(e) { + let t = 0; + for (let n of e) + if (n.sectionName !== "codebook_centers") t += n.vertexCount; + return t; + } + static decodeHeaderFromHeaderText(e) { + let t = e.indexOf(Ti.HeaderEndToken) + Ti.HeaderEndToken.length + 1, + n = u1.decodeSectionHeadersFromHeaderText(e), + r = u1.getSplatCountFromSectionHeaders(n); + return { headerSizeBytes: t, sectionHeaders: n, splatCount: r }; + } + static decodeHeaderFromBuffer(e) { + let t = Ti.readHeaderFromBuffer(e); + return u1.decodeHeaderFromHeaderText(t); + } + static findVertexData(e, t, n) { + let r = t.headerSizeBytes; + for (let o = 0; o < n && o < t.sectionHeaders.length; o++) { + let a = t.sectionHeaders[o]; + r += a.dataSizeBytes; + } + return new DataView(e, r, t.sectionHeaders[n].dataSizeBytes); + } + static decodeCodeBook(e, t) { + let n = [], + r = []; + for (let o = 0; o < t.vertexCount; o++) { + Ti.readVertex(e, t, o, 0, qge, n); + for (let a of qge) { + let i = qge[a], + s = r[i]; + if (!s) r[i] = s = []; + s.push(n[a]); + } + } + for (let o = 0; o < r.length; o++) { + let a = r[o], + i = 0.28209479177387814; + for (let s = 0; s < a.length; s++) { + let l = Xge(a[s]); + if (o === t1n) a[s] = Math.round((1 / (1 + Math.exp(-l))) * 255); + else if (o === Zge) + a[s] = Math.round((0.5 + 0.28209479177387814 * l) * 255); + else if (o === Qge) a[s] = Math.exp(l); + else a[s] = l; + } + } + return r; + } + static decodeSectionSplatData(e, t, n, r, o) { + o = Math.min(o, n.sphericalHarmonicsDegree); + let a = new On(o); + for (let i = 0; i < t; i++) { + let s = u1.parseToUncompressedSplat(e, i, n, r, 0, o); + a.addSplat(s); + } + return a; + } + static parseToUncompressedSplat = (function () { + let e = [], + t = new Vo(), + n = On.OFFSET.X, + r = On.OFFSET.Y, + o = On.OFFSET.Z, + a = On.OFFSET.SCALE0, + i = On.OFFSET.SCALE1, + s = On.OFFSET.SCALE2, + l = On.OFFSET.ROTATION0, + c = On.OFFSET.ROTATION1, + u = On.OFFSET.ROTATION2, + d = On.OFFSET.ROTATION3, + p = On.OFFSET.FDC0, + f = On.OFFSET.FDC1, + m = On.OFFSET.FDC2, + g = On.OFFSET.OPACITY, + v = []; + for (let y = 0; y < 45; y++) v[y] = On.OFFSET.FRC0 + y; + return function (y, x, A, w, C = 0, E = 0) { + ((E = Math.min(E, A.sphericalHarmonicsDegree)), + u1.readSplat(y, A, x, C, e)); + let T = On.createSplat(E); + if (e[n1n] !== void 0) + ((T[a] = w[Qge][e[n1n]]), + (T[i] = w[Qge][e[dUr]]), + (T[s] = w[Qge][e[pUr]])); + else ((T[a] = 0.01), (T[i] = 0.01), (T[s] = 0.01)); + if (e[fGe] !== void 0) + ((T[p] = w[Zge][e[fGe]]), + (T[f] = w[Zge][e[I1n]]), + (T[m] = w[Zge][e[T1n]])); + else if (e[o1n] !== void 0) + ((T[p] = e[o1n] * 255), (T[f] = e[xUr] * 255), (T[m] = e[AUr] * 255)); + else ((T[p] = 0), (T[f] = 0), (T[m] = 0)); + if (e[r1n] !== void 0) T[g] = w[t1n][e[r1n]]; + if ( + ((T[p] = Rl(Math.floor(T[p]), 0, 255)), + (T[f] = Rl(Math.floor(T[f]), 0, 255)), + (T[m] = Rl(Math.floor(T[m]), 0, 255)), + (T[g] = Rl(Math.floor(T[g]), 0, 255)), + E >= 1 && A.sphericalHarmonicsDegree >= 1) + ) { + for (let B = 0; B < 9; B++) { + let U = w[lUr + (B % 3)]; + T[v[B]] = U[e[A.sphericalHarmonicsDegree1Fields[B]]]; + } + if (E >= 2 && A.sphericalHarmonicsDegree >= 2) + for (let B = 0; B < 15; B++) { + let U = w[cUr + (B % 5)]; + T[v[9 + B]] = U[e[A.sphericalHarmonicsDegree2Fields[B]]]; + } + } + let I = w[uUr][e[fUr]], + k = w[sGe][e[mUr]], + L = w[sGe][e[hUr]], + O = w[sGe][e[gUr]]; + return ( + t.set(I, k, L, O), + t.normalize(), + (T[l] = t.x), + (T[c] = t.y), + (T[u] = t.z), + (T[d] = t.w), + (T[n] = Xge(e[yUr])), + (T[r] = Xge(e[vUr])), + (T[o] = Xge(e[bUr])), + T + ); + }; + })(); + static readSplat(e, t, n, r, o) { + return Ti.readVertex(e, t, n, r, pGe, o, !1); + } + static parseToUncompressedSplatArray(e, t = 0) { + let n = [], + r = u1.decodeHeaderFromBuffer(e, t), + o; + for (let i = 0; i < r.sectionHeaders.length; i++) { + let s = r.sectionHeaders[i]; + if (s.sectionName === "codebook_centers") { + let l = u1.findVertexData(e, r, i); + o = u1.decodeCodeBook(l, s); + } + } + for (let i = 0; i < r.sectionHeaders.length; i++) { + let s = r.sectionHeaders[i]; + if (s.sectionName !== "codebook_centers") { + let l = s.vertexCount, + c = u1.findVertexData(e, r, i), + u = u1.decodeSectionSplatData(c, l, s, o, t); + n.push(u); + } + } + let a = new On(t); + for (let i of n) for (let s of i.splats) a.addSplat(s); + return a; + } + }; + fd = { Downloading: 0, Processing: 1, Done: 2 }; + FW = class FW extends Error { + constructor(e) { + super(e); + } + }; + rl = { + ProgressiveToSplatBuffer: 0, + ProgressiveToSplatArray: 1, + DownloadBeforeProcessing: 2, + }; + PUr = (function () { + let e = [], + t = new Vo(), + n = On.OFFSET.X, + r = On.OFFSET.Y, + o = On.OFFSET.Z, + a = On.OFFSET.SCALE0, + i = On.OFFSET.SCALE1, + s = On.OFFSET.SCALE2, + l = On.OFFSET.ROTATION0, + c = On.OFFSET.ROTATION1, + u = On.OFFSET.ROTATION2, + d = On.OFFSET.ROTATION3, + p = On.OFFSET.FDC0, + f = On.OFFSET.FDC1, + m = On.OFFSET.FDC2, + g = On.OFFSET.OPACITY, + v = []; + for (let A = 0; A < 45; A++) v[A] = On.OFFSET.FRC0 + A; + let y = [_7(0), _7(1), _7(2), _7(3)], + x = [ + 0, 1, 2, 9, 10, 11, 12, 13, 24, 25, 26, 27, 28, 29, 30, 3, 4, 5, 14, 15, + 16, 17, 18, 31, 32, 33, 34, 35, 36, 37, 6, 7, 8, 19, 20, 21, 22, 23, 38, + 39, 40, 41, 42, 43, 44, + ]; + return function (A, w, C) { + C = Math.min(w, C); + let E = On.createSplat(C); + if (A.scale[0] !== void 0) + ((E[a] = A.scale[0]), (E[i] = A.scale[1]), (E[s] = A.scale[2])); + else ((E[a] = 0.01), (E[i] = 0.01), (E[s] = 0.01)); + if (A.color[0] !== void 0) + ((E[p] = A.color[0]), (E[f] = A.color[1]), (E[m] = A.color[2])); + else if (e[RED] !== void 0) + ((E[p] = e[RED] * 255), + (E[f] = e[GREEN] * 255), + (E[m] = e[BLUE] * 255)); + else ((E[p] = 0), (E[f] = 0), (E[m] = 0)); + if (A.alpha !== void 0) E[g] = A.alpha; + ((E[p] = Rl(Math.floor(E[p]), 0, 255)), + (E[f] = Rl(Math.floor(E[f]), 0, 255)), + (E[m] = Rl(Math.floor(E[m]), 0, 255)), + (E[g] = Rl(Math.floor(E[g]), 0, 255))); + let T = y[C], + I = y[w]; + for (let k = 0; k < 3; ++k) + for (let L = 0; L < 15; ++L) { + let O = x[k * 15 + L]; + if (L < T && L < I) E[On.OFFSET.FRC0 + O] = A.sh[k * I + L]; + } + return ( + t.set(A.rotation[3], A.rotation[0], A.rotation[1], A.rotation[2]), + t.normalize(), + (E[l] = t.x), + (E[c] = t.y), + (E[u] = t.z), + (E[d] = t.w), + (E[n] = A.position[0]), + (E[r] = A.position[1]), + (E[o] = A.position[2]), + E + ); + }; + })(); + DW = class DW { + static checkVersion(e) { + let { CurrentMajorVersion: t, CurrentMinorVersion: n } = mt, + r = mt.parseHeader(e); + if ((r.versionMajor === t && r.versionMinor >= n) || r.versionMajor > t) + return !0; + else + throw Error( + `KSplat version not supported: v${r.versionMajor}.${r.versionMinor}. Minimum required: v${t}.${n}`, + ); + } + static loadFromURL(e, t, n, r, o) { + let a, + i, + s, + l, + c = !1, + u = !1, + d, + p = [], + f = !1, + m = !1, + g = 0, + v = 0, + y = 0, + x = !1, + A = !1, + w = !1, + C = [], + E = gGe(), + T = () => { + if (!c && !u && g >= mt.HeaderSizeBytes) + ((u = !0), + new Blob(C).arrayBuffer().then((D) => { + ((s = new ArrayBuffer(mt.HeaderSizeBytes)), + new Uint8Array(s).set( + new Uint8Array(D, 0, mt.HeaderSizeBytes), + ), + DW.checkVersion(s), + (u = !1), + (c = !0), + (l = mt.parseHeader(s)), + window.setTimeout(() => { + L(); + }, 1)); + })); + }, + I = 0, + k = () => { + if (I === 0) + (I++, + window.setTimeout(() => { + (I--, O()); + }, 1)); + }, + L = () => { + let U = () => { + ((m = !0), + new Blob(C).arrayBuffer().then((N) => { + ((m = !1), + (f = !0), + (d = new ArrayBuffer( + l.maxSectionCount * mt.SectionHeaderSizeBytes, + )), + new Uint8Array(d).set( + new Uint8Array( + N, + mt.HeaderSizeBytes, + l.maxSectionCount * mt.SectionHeaderSizeBytes, + ), + ), + (p = mt.parseSectionHeaders(l, d, 0, !1))); + let _ = 0; + for (let Z = 0; Z < l.maxSectionCount; Z++) + _ += p[Z].storageSizeBytes; + let G = + mt.HeaderSizeBytes + + l.maxSectionCount * mt.SectionHeaderSizeBytes + + _; + if (!a) { + a = new ArrayBuffer(G); + let Z = 0; + for (let q = 0; q < C.length; q++) { + let H = C[q]; + (new Uint8Array(a, Z, H.byteLength).set(new Uint8Array(H)), + (Z += H.byteLength)); + } + } + y = + mt.HeaderSizeBytes + + mt.SectionHeaderSizeBytes * l.maxSectionCount; + for (let Z = 0; Z <= p.length && Z < l.maxSectionCount; Z++) + y += p[Z].storageSizeBytes; + k(); + })); + }; + if ( + !m && + !f && + c && + g >= + mt.HeaderSizeBytes + mt.SectionHeaderSizeBytes * l.maxSectionCount + ) + U(); + }, + O = () => { + if (w) return; + w = !0; + let U = () => { + if (((w = !1), f)) { + if (A) return; + if (((x = g >= y), g - v > Ui.ProgressiveLoadSectionSize || x)) { + if (((v += Ui.ProgressiveLoadSectionSize), (A = v >= y), !i)) + i = new mt(a, !1); + let N = + mt.HeaderSizeBytes + + mt.SectionHeaderSizeBytes * l.maxSectionCount, + _ = 0, + G = 0, + Z = 0; + for (let te = 0; te < l.maxSectionCount; te++) { + let ie = p[te], + j = + _ + + ie.partiallyFilledBucketCount * 4 + + ie.bucketStorageSizeBytes * ie.bucketCount, + oe = N + j; + if (v >= oe) { + G++; + let J = v - oe, + ne = + mt.CompressionLevels[l.compressionLevel] + .SphericalHarmonicsDegrees[ + ie.sphericalHarmonicsDegree + ].BytesPerSplat, + Se = Math.floor(J / ne); + ((Se = Math.min(Se, ie.maxSplatCount)), + (Z += Se), + i.updateLoadedCounts(G, Z), + i.updateSectionLoadedCounts(te, Se)); + } else break; + _ += ie.storageSizeBytes; + } + r(i, A); + let q = (v / y) * 100, + H = q.toFixed(2) + "%"; + if (t) t(q, H, fd.Downloading); + if (A) E.resolve(i); + else O(); + } + } + }; + window.setTimeout(U, Ui.ProgressiveLoadSectionDelayDuration); + }; + return $ge( + e, + (U, D, N) => { + if (N) { + if ((C.push(N), a)) + new Uint8Array(a, g, N.byteLength).set(new Uint8Array(N)); + g += N.byteLength; + } + if (n) (T(), L(), O()); + else if (t) t(U, D, fd.Downloading); + }, + !n, + o, + ).then((U) => { + if (t) t(0, "0%", fd.Processing); + return (n ? E.promise : DW.loadFromFileData(U)).then((N) => { + if (t) t(100, "100%", fd.Done); + return N; + }); + }); + } + static loadFromFileData(e) { + return d1(() => (DW.checkVersion(e), new mt(e))); + } + static downloadFile = (function () { + let e; + return function (t, n) { + let r = new Blob([t.bufferData], { type: "application/octet-stream" }); + if (!e) + ((e = document.createElement("a")), document.body.appendChild(e)); + ((e.download = n), (e.href = URL.createObjectURL(r)), e.click()); + }; + })(); + }; + ((zm = { Splat: 0, KSplat: 1, Ply: 2, Spz: 3 }), + (u1n = { type: "change" }), + (lGe = { type: "start" }), + (d1n = { type: "end" }), + (Wge = new Vy()), + (p1n = new Ih()), + (FUr = Math.cos(70 * g5.DEG2RAD))); + PW = class PW extends Lh { + constructor(e, t) { + super(); + ((this.object = e), + (this.domElement = t), + (this.domElement.style.touchAction = "none"), + (this.enabled = !0), + (this.target = new he()), + (this.minDistance = 0), + (this.maxDistance = 1 / 0), + (this.minZoom = 0), + (this.maxZoom = 1 / 0), + (this.minPolarAngle = 0), + (this.maxPolarAngle = Math.PI), + (this.minAzimuthAngle = -1 / 0), + (this.maxAzimuthAngle = 1 / 0), + (this.enableDamping = !1), + (this.dampingFactor = 0.05), + (this.enableZoom = !0), + (this.zoomSpeed = 1), + (this.enableRotate = !0), + (this.rotateSpeed = 1), + (this.enablePan = !0), + (this.panSpeed = 1), + (this.screenSpacePanning = !0), + (this.keyPanSpeed = 7), + (this.zoomToCursor = !1), + (this.autoRotate = !1), + (this.autoRotateSpeed = 2), + (this.keys = { + LEFT: "KeyA", + UP: "KeyW", + RIGHT: "KeyD", + BOTTOM: "KeyS", + }), + (this.mouseButtons = { + LEFT: Bm.ROTATE, + MIDDLE: Bm.DOLLY, + RIGHT: Bm.PAN, + }), + (this.touches = { ONE: Om.ROTATE, TWO: Om.DOLLY_PAN }), + (this.target0 = this.target.clone()), + (this.position0 = this.object.position.clone()), + (this.zoom0 = this.object.zoom), + (this._domElementKeyEvents = null), + (this.getPolarAngle = function () { + return i.phi; + }), + (this.getAzimuthalAngle = function () { + return i.theta; + }), + (this.getDistance = function () { + return this.object.position.distanceTo(this.target); + }), + (this.listenToKeyEvents = function (Pe) { + (Pe.addEventListener("keydown", qe), + (this._domElementKeyEvents = Pe)); + }), + (this.stopListenToKeyEvents = function () { + (this._domElementKeyEvents.removeEventListener("keydown", qe), + (this._domElementKeyEvents = null)); + }), + (this.saveState = function () { + (n.target0.copy(n.target), + n.position0.copy(n.object.position), + (n.zoom0 = n.object.zoom)); + }), + (this.reset = function () { + (n.target.copy(n.target0), + n.object.position.copy(n.position0), + (n.object.zoom = n.zoom0), + this.clearDampedRotation(), + this.clearDampedPan(), + n.object.updateProjectionMatrix(), + n.dispatchEvent(u1n), + n.update(), + (o = r.NONE)); + }), + (this.clearDampedRotation = function () { + ((s.theta = 0), (s.phi = 0)); + }), + (this.clearDampedPan = function () { + c.set(0, 0, 0); + }), + (this.update = (function () { + let Pe = new he(), + Ke = new Vo().setFromUnitVectors(e.up, new he(0, 1, 0)), + Ue = Ke.clone().invert(), + Ze = new he(), + ct = new Vo(), + Rt = new he(), + de = 2 * Math.PI; + return function () { + (Ke.setFromUnitVectors(e.up, new he(0, 1, 0)), + Ue.copy(Ke).invert()); + let Oe = n.object.position; + if ( + (Pe.copy(Oe).sub(n.target), + Pe.applyQuaternion(Ke), + i.setFromVector3(Pe), + n.autoRotate && o === r.NONE) + ) + L(I()); + if (n.enableDamping) + ((i.theta += s.theta * n.dampingFactor), + (i.phi += s.phi * n.dampingFactor)); + else ((i.theta += s.theta), (i.phi += s.phi)); + let { minAzimuthAngle: Xe, maxAzimuthAngle: $e } = n; + if (isFinite(Xe) && isFinite($e)) { + if (Xe < -Math.PI) Xe += de; + else if (Xe > Math.PI) Xe -= de; + if ($e < -Math.PI) $e += de; + else if ($e > Math.PI) $e -= de; + if (Xe <= $e) i.theta = Math.max(Xe, Math.min($e, i.theta)); + else + i.theta = + i.theta > (Xe + $e) / 2 + ? Math.max(Xe, i.theta) + : Math.min($e, i.theta); + } + if ( + ((i.phi = Math.max( + n.minPolarAngle, + Math.min(n.maxPolarAngle, i.phi), + )), + i.makeSafe(), + n.enableDamping === !0) + ) + n.target.addScaledVector(c, n.dampingFactor); + else n.target.add(c); + if ((n.zoomToCursor && C) || n.object.isOrthographicCamera) + i.radius = Z(i.radius); + else i.radius = Z(i.radius * l); + if ( + (Pe.setFromSpherical(i), + Pe.applyQuaternion(Ue), + Oe.copy(n.target).add(Pe), + n.object.lookAt(n.target), + n.enableDamping === !0) + ) + ((s.theta *= 1 - n.dampingFactor), + (s.phi *= 1 - n.dampingFactor), + c.multiplyScalar(1 - n.dampingFactor)); + else (s.set(0, 0, 0), c.set(0, 0, 0)); + let Ie = !1; + if (n.zoomToCursor && C) { + let Ge = null; + if (n.object.isPerspectiveCamera) { + let _e = Pe.length(); + Ge = Z(_e * l); + let nt = _e - Ge; + (n.object.position.addScaledVector(A, nt), + n.object.updateMatrixWorld()); + } else if (n.object.isOrthographicCamera) { + let _e = new he(w.x, w.y, 0); + (_e.unproject(n.object), + (n.object.zoom = Math.max( + n.minZoom, + Math.min(n.maxZoom, n.object.zoom / l), + )), + n.object.updateProjectionMatrix(), + (Ie = !0)); + let nt = new he(w.x, w.y, 0); + (nt.unproject(n.object), + n.object.position.sub(nt).add(_e), + n.object.updateMatrixWorld(), + (Ge = Pe.length())); + } else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.", + ), + (n.zoomToCursor = !1)); + if (Ge !== null) + if (this.screenSpacePanning) + n.target + .set(0, 0, -1) + .transformDirection(n.object.matrix) + .multiplyScalar(Ge) + .add(n.object.position); + else if ( + (Wge.origin.copy(n.object.position), + Wge.direction + .set(0, 0, -1) + .transformDirection(n.object.matrix), + Math.abs(n.object.up.dot(Wge.direction)) < FUr) + ) + e.lookAt(n.target); + else + (p1n.setFromNormalAndCoplanarPoint(n.object.up, n.target), + Wge.intersectPlane(p1n, n.target)); + } else if (n.object.isOrthographicCamera) + ((n.object.zoom = Math.max( + n.minZoom, + Math.min(n.maxZoom, n.object.zoom / l), + )), + n.object.updateProjectionMatrix(), + (Ie = !0)); + if ( + ((l = 1), + (C = !1), + Ie || + Ze.distanceToSquared(n.object.position) > a || + 8 * (1 - ct.dot(n.object.quaternion)) > a || + Rt.distanceToSquared(n.target) > 0) + ) + return ( + n.dispatchEvent(u1n), + Ze.copy(n.object.position), + ct.copy(n.object.quaternion), + Rt.copy(n.target), + (Ie = !1), + !0 + ); + return !1; + }; + })()), + (this.dispose = function () { + if ( + (n.domElement.removeEventListener("contextmenu", ee), + n.domElement.removeEventListener("pointerdown", be), + n.domElement.removeEventListener("pointercancel", ce), + n.domElement.removeEventListener("wheel", se), + n.domElement.removeEventListener("pointermove", ye), + n.domElement.removeEventListener("pointerup", ce), + n._domElementKeyEvents !== null) + ) + (n._domElementKeyEvents.removeEventListener("keydown", qe), + (n._domElementKeyEvents = null)); + })); + let n = this, + r = { + NONE: -1, + ROTATE: 0, + DOLLY: 1, + PAN: 2, + TOUCH_ROTATE: 3, + TOUCH_PAN: 4, + TOUCH_DOLLY_PAN: 5, + TOUCH_DOLLY_ROTATE: 6, + }, + o = r.NONE, + a = 0.000001, + i = new iS(), + s = new iS(), + l = 1, + c = new he(), + u = new vt(), + d = new vt(), + p = new vt(), + f = new vt(), + m = new vt(), + g = new vt(), + v = new vt(), + y = new vt(), + x = new vt(), + A = new he(), + w = new vt(), + C = !1, + E = [], + T = {}; + function I() { + return ((2 * Math.PI) / 60 / 60) * n.autoRotateSpeed; + } + function k() { + return Math.pow(0.95, n.zoomSpeed); + } + function L(Pe) { + s.theta -= Pe; + } + function O(Pe) { + s.phi -= Pe; + } + let B = (function () { + let Pe = new he(); + return function (Ue, Ze) { + (Pe.setFromMatrixColumn(Ze, 0), Pe.multiplyScalar(-Ue), c.add(Pe)); + }; + })(), + U = (function () { + let Pe = new he(); + return function (Ue, Ze) { + if (n.screenSpacePanning === !0) Pe.setFromMatrixColumn(Ze, 1); + else + (Pe.setFromMatrixColumn(Ze, 0), Pe.crossVectors(n.object.up, Pe)); + (Pe.multiplyScalar(Ue), c.add(Pe)); + }; + })(), + D = (function () { + let Pe = new he(); + return function (Ue, Ze) { + let ct = n.domElement; + if (n.object.isPerspectiveCamera) { + let Rt = n.object.position; + Pe.copy(Rt).sub(n.target); + let de = Pe.length(); + ((de *= Math.tan(((n.object.fov / 2) * Math.PI) / 180)), + B((2 * Ue * de) / ct.clientHeight, n.object.matrix), + U((2 * Ze * de) / ct.clientHeight, n.object.matrix)); + } else if (n.object.isOrthographicCamera) + (B( + (Ue * (n.object.right - n.object.left)) / + n.object.zoom / + ct.clientWidth, + n.object.matrix, + ), + U( + (Ze * (n.object.top - n.object.bottom)) / + n.object.zoom / + ct.clientHeight, + n.object.matrix, + )); + else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.", + ), + (n.enablePan = !1)); + }; + })(); + function N(Pe) { + if (n.object.isPerspectiveCamera || n.object.isOrthographicCamera) + l /= Pe; + else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.", + ), + (n.enableZoom = !1)); + } + function _(Pe) { + if (n.object.isPerspectiveCamera || n.object.isOrthographicCamera) + l *= Pe; + else + (console.warn( + "WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.", + ), + (n.enableZoom = !1)); + } + function G(Pe) { + if (!n.zoomToCursor) return; + C = !0; + let Ke = n.domElement.getBoundingClientRect(), + Ue = Pe.clientX - Ke.left, + Ze = Pe.clientY - Ke.top, + { width: ct, height: Rt } = Ke; + ((w.x = (Ue / ct) * 2 - 1), + (w.y = -(Ze / Rt) * 2 + 1), + A.set(w.x, w.y, 1).unproject(e).sub(e.position).normalize()); + } + function Z(Pe) { + return Math.max(n.minDistance, Math.min(n.maxDistance, Pe)); + } + function q(Pe) { + u.set(Pe.clientX, Pe.clientY); + } + function H(Pe) { + (G(Pe), v.set(Pe.clientX, Pe.clientY)); + } + function te(Pe) { + f.set(Pe.clientX, Pe.clientY); + } + function ie(Pe) { + (d.set(Pe.clientX, Pe.clientY), + p.subVectors(d, u).multiplyScalar(n.rotateSpeed)); + let Ke = n.domElement; + (L((2 * Math.PI * p.x) / Ke.clientHeight), + O((2 * Math.PI * p.y) / Ke.clientHeight), + u.copy(d), + n.update()); + } + function j(Pe) { + if ((y.set(Pe.clientX, Pe.clientY), x.subVectors(y, v), x.y > 0)) + N(k()); + else if (x.y < 0) _(k()); + (v.copy(y), n.update()); + } + function oe(Pe) { + (m.set(Pe.clientX, Pe.clientY), + g.subVectors(m, f).multiplyScalar(n.panSpeed), + D(g.x, g.y), + f.copy(m), + n.update()); + } + function J(Pe) { + if ((G(Pe), Pe.deltaY < 0)) _(k()); + else if (Pe.deltaY > 0) N(k()); + n.update(); + } + function Y(Pe) { + let Ke = !1; + switch (Pe.code) { + case n.keys.UP: + if (Pe.ctrlKey || Pe.metaKey || Pe.shiftKey) + O((2 * Math.PI * n.rotateSpeed) / n.domElement.clientHeight); + else D(0, n.keyPanSpeed); + Ke = !0; + break; + case n.keys.BOTTOM: + if (Pe.ctrlKey || Pe.metaKey || Pe.shiftKey) + O((-2 * Math.PI * n.rotateSpeed) / n.domElement.clientHeight); + else D(0, -n.keyPanSpeed); + Ke = !0; + break; + case n.keys.LEFT: + if (Pe.ctrlKey || Pe.metaKey || Pe.shiftKey) + L((2 * Math.PI * n.rotateSpeed) / n.domElement.clientHeight); + else D(n.keyPanSpeed, 0); + Ke = !0; + break; + case n.keys.RIGHT: + if (Pe.ctrlKey || Pe.metaKey || Pe.shiftKey) + L((-2 * Math.PI * n.rotateSpeed) / n.domElement.clientHeight); + else D(-n.keyPanSpeed, 0); + Ke = !0; + break; + } + if (Ke) (Pe.preventDefault(), n.update()); + } + function ae() { + if (E.length === 1) u.set(E[0].pageX, E[0].pageY); + else { + let Pe = 0.5 * (E[0].pageX + E[1].pageX), + Ke = 0.5 * (E[0].pageY + E[1].pageY); + u.set(Pe, Ke); + } + } + function ne() { + if (E.length === 1) f.set(E[0].pageX, E[0].pageY); + else { + let Pe = 0.5 * (E[0].pageX + E[1].pageX), + Ke = 0.5 * (E[0].pageY + E[1].pageY); + f.set(Pe, Ke); + } + } + function Se() { + let Pe = E[0].pageX - E[1].pageX, + Ke = E[0].pageY - E[1].pageY, + Ue = Math.sqrt(Pe * Pe + Ke * Ke); + v.set(0, Ue); + } + function fe() { + if (n.enableZoom) Se(); + if (n.enablePan) ne(); + } + function Ae() { + if (n.enableZoom) Se(); + if (n.enableRotate) ae(); + } + function Ee(Pe) { + if (E.length == 1) d.set(Pe.pageX, Pe.pageY); + else { + let Ue = tt(Pe), + Ze = 0.5 * (Pe.pageX + Ue.x), + ct = 0.5 * (Pe.pageY + Ue.y); + d.set(Ze, ct); + } + p.subVectors(d, u).multiplyScalar(n.rotateSpeed); + let Ke = n.domElement; + (L((2 * Math.PI * p.x) / Ke.clientHeight), + O((2 * Math.PI * p.y) / Ke.clientHeight), + u.copy(d)); + } + function pe(Pe) { + if (E.length === 1) m.set(Pe.pageX, Pe.pageY); + else { + let Ke = tt(Pe), + Ue = 0.5 * (Pe.pageX + Ke.x), + Ze = 0.5 * (Pe.pageY + Ke.y); + m.set(Ue, Ze); + } + (g.subVectors(m, f).multiplyScalar(n.panSpeed), D(g.x, g.y), f.copy(m)); + } + function Re(Pe) { + let Ke = tt(Pe), + Ue = Pe.pageX - Ke.x, + Ze = Pe.pageY - Ke.y, + ct = Math.sqrt(Ue * Ue + Ze * Ze); + (y.set(0, ct), + x.set(0, Math.pow(y.y / v.y, n.zoomSpeed)), + N(x.y), + v.copy(y)); + } + function Le(Pe) { + if (n.enableZoom) Re(Pe); + if (n.enablePan) pe(Pe); + } + function Ne(Pe) { + if (n.enableZoom) Re(Pe); + if (n.enableRotate) Ee(Pe); + } + function be(Pe) { + if (n.enabled === !1) return; + if (E.length === 0) + (n.domElement.setPointerCapture(Pe.pointerId), + n.domElement.addEventListener("pointermove", ye), + n.domElement.addEventListener("pointerup", ce)); + if ((K(Pe), Pe.pointerType === "touch")) Me(Pe); + else ue(Pe); + } + function ye(Pe) { + if (n.enabled === !1) return; + if (Pe.pointerType === "touch") Qe(Pe); + else ke(Pe); + } + function ce(Pe) { + if ((we(Pe), E.length === 0)) + (n.domElement.releasePointerCapture(Pe.pointerId), + n.domElement.removeEventListener("pointermove", ye), + n.domElement.removeEventListener("pointerup", ce)); + (n.dispatchEvent(d1n), (o = r.NONE)); + } + function ue(Pe) { + let Ke; + switch (Pe.button) { + case 0: + Ke = n.mouseButtons.LEFT; + break; + case 1: + Ke = n.mouseButtons.MIDDLE; + break; + case 2: + Ke = n.mouseButtons.RIGHT; + break; + default: + Ke = -1; + } + switch (Ke) { + case Bm.DOLLY: + if (n.enableZoom === !1) return; + (H(Pe), (o = r.DOLLY)); + break; + case Bm.ROTATE: + if (Pe.ctrlKey || Pe.metaKey || Pe.shiftKey) { + if (n.enablePan === !1) return; + (te(Pe), (o = r.PAN)); + } else { + if (n.enableRotate === !1) return; + (q(Pe), (o = r.ROTATE)); + } + break; + case Bm.PAN: + if (Pe.ctrlKey || Pe.metaKey || Pe.shiftKey) { + if (n.enableRotate === !1) return; + (q(Pe), (o = r.ROTATE)); + } else { + if (n.enablePan === !1) return; + (te(Pe), (o = r.PAN)); + } + break; + default: + o = r.NONE; + } + if (o !== r.NONE) n.dispatchEvent(lGe); + } + function ke(Pe) { + switch (o) { + case r.ROTATE: + if (n.enableRotate === !1) return; + ie(Pe); + break; + case r.DOLLY: + if (n.enableZoom === !1) return; + j(Pe); + break; + case r.PAN: + if (n.enablePan === !1) return; + oe(Pe); + break; + } + } + function se(Pe) { + if (n.enabled === !1 || n.enableZoom === !1 || o !== r.NONE) return; + (Pe.preventDefault(), + n.dispatchEvent(lGe), + J(Pe), + n.dispatchEvent(d1n)); + } + function qe(Pe) { + if (n.enabled === !1 || n.enablePan === !1) return; + Y(Pe); + } + function Me(Pe) { + switch ((ze(Pe), E.length)) { + case 1: + switch (n.touches.ONE) { + case Om.ROTATE: + if (n.enableRotate === !1) return; + (ae(), (o = r.TOUCH_ROTATE)); + break; + case Om.PAN: + if (n.enablePan === !1) return; + (ne(), (o = r.TOUCH_PAN)); + break; + default: + o = r.NONE; + } + break; + case 2: + switch (n.touches.TWO) { + case Om.DOLLY_PAN: + if (n.enableZoom === !1 && n.enablePan === !1) return; + (fe(), (o = r.TOUCH_DOLLY_PAN)); + break; + case Om.DOLLY_ROTATE: + if (n.enableZoom === !1 && n.enableRotate === !1) return; + (Ae(), (o = r.TOUCH_DOLLY_ROTATE)); + break; + default: + o = r.NONE; + } + break; + default: + o = r.NONE; + } + if (o !== r.NONE) n.dispatchEvent(lGe); + } + function Qe(Pe) { + switch ((ze(Pe), o)) { + case r.TOUCH_ROTATE: + if (n.enableRotate === !1) return; + (Ee(Pe), n.update()); + break; + case r.TOUCH_PAN: + if (n.enablePan === !1) return; + (pe(Pe), n.update()); + break; + case r.TOUCH_DOLLY_PAN: + if (n.enableZoom === !1 && n.enablePan === !1) return; + (Le(Pe), n.update()); + break; + case r.TOUCH_DOLLY_ROTATE: + if (n.enableZoom === !1 && n.enableRotate === !1) return; + (Ne(Pe), n.update()); + break; + default: + o = r.NONE; + } + } + function ee(Pe) { + if (n.enabled === !1) return; + Pe.preventDefault(); + } + function K(Pe) { + E.push(Pe); + } + function we(Pe) { + delete T[Pe.pointerId]; + for (let Ke = 0; Ke < E.length; Ke++) + if (E[Ke].pointerId == Pe.pointerId) { + E.splice(Ke, 1); + return; + } + } + function ze(Pe) { + let Ke = T[Pe.pointerId]; + if (Ke === void 0) ((Ke = new vt()), (T[Pe.pointerId] = Ke)); + Ke.set(Pe.pageX, Pe.pageY); + } + function tt(Pe) { + let Ke = Pe.pointerId === E[0].pointerId ? E[1] : E[0]; + return T[Ke.pointerId]; + } + (n.domElement.addEventListener("contextmenu", ee), + n.domElement.addEventListener("pointerdown", be), + n.domElement.addEventListener("pointercancel", ce), + n.domElement.addEventListener("wheel", se, { passive: !1 }), + this.update()); + } + }; + f1n = new he(); + P1n = class P1n extends Go { + constructor( + e = new he(0, 0, 1), + t = new he(0, 0, 0), + n = 1, + r = 0.1, + o = 16776960, + a = n * 0.2, + i = a * 0.2, + ) { + super(); + this.type = "ArrowHelper"; + let s = new tS(r, r, n, 32); + s.translate(0, n / 2, 0); + let l = new tS(0, i, a, 32); + (l.translate(0, n, 0), + this.position.copy(t), + (this.line = new Na(s, new Um({ color: o, toneMapped: !1 }))), + (this.line.matrixAutoUpdate = !1), + this.add(this.line), + (this.cone = new Na(l, new Um({ color: o, toneMapped: !1 }))), + (this.cone.matrixAutoUpdate = !1), + this.add(this.cone), + this.setDirection(e)); + } + setDirection(e) { + if (e.y > 0.99999) this.quaternion.set(0, 0, 0, 1); + else if (e.y < -0.99999) this.quaternion.set(1, 0, 0, 0); + else { + f1n.set(e.z, 0, -e.x).normalize(); + let t = Math.acos(e.y); + this.quaternion.setFromAxisAngle(f1n, t); + } + } + setColor(e) { + (this.line.material.color.set(e), this.cone.material.color.set(e)); + } + copy(e) { + return ( + super.copy(e, !1), + this.line.copy(e.line), + this.cone.copy(e.cone), + this + ); + } + dispose() { + (this.line.geometry.dispose(), + this.line.material.dispose(), + this.cone.geometry.dispose(), + this.cone.material.dispose()); + } + }; + ((zUr = new he(1, 0, 0)), (_Ur = new he(0, 1, 0)), (HUr = new he(0, 0, 1))); + uS = { ThreeD: 0, TwoD: 1 }; + L1n = class L1n extends Go { + constructor( + e, + t = new he(), + n = new Vo(), + r = new he(1, 1, 1), + o = 1, + a = 1, + i = !0, + ) { + super(); + ((this.splatBuffer = e), + this.position.copy(t), + this.quaternion.copy(n), + this.scale.copy(r), + (this.transform = new Vn()), + (this.minimumAlpha = o), + (this.opacity = a), + (this.visible = i)); + } + copyTransformData(e) { + (this.position.copy(e.position), + this.quaternion.copy(e.quaternion), + this.scale.copy(e.scale), + this.transform.copy(e.transform)); + } + updateTransform(e) { + if (e) { + if (this.matrixWorldAutoUpdate) this.updateWorldMatrix(!0, !1); + this.transform.copy(this.matrixWorld); + } else { + if (this.matrixAutoUpdate) this.updateMatrix(); + this.transform.copy(this.matrix); + } + } + }; + ((OW = { Default: 0, Gradual: 1, Instant: 2 }), + (mO = { None: 0, Error: 1, Warning: 2, Info: 3, Debug: 4 }), + (m1n = new Jr()), + (XUr = new Um())); + Kf = class Kf extends Na { + constructor( + e = uS.ThreeD, + t = !1, + n = !1, + r = !1, + o = 1, + a = !0, + i = !1, + s = !1, + l = 1024, + c = mO.None, + u = 0, + d = 1, + p = 0.3, + ) { + super(m1n, XUr); + ((this.renderer = void 0), + (this.splatRenderMode = e), + (this.dynamicMode = t), + (this.enableOptionalEffects = n), + (this.halfPrecisionCovariancesOnGPU = r), + (this.devicePixelRatio = o), + (this.enableDistancesComputationOnGPU = a), + (this.integerBasedDistancesComputation = i), + (this.antialiased = s), + (this.kernel2DSize = p), + (this.maxScreenSpaceSplatSize = l), + (this.logLevel = c), + (this.sphericalHarmonicsDegree = u), + (this.minSphericalHarmonicsDegree = 0), + (this.sceneFadeInRateMultiplier = d), + (this.scenes = []), + (this.splatTree = null), + (this.baseSplatTree = null), + (this.splatDataTextures = {}), + (this.distancesTransformFeedback = { + id: null, + vertexShader: null, + fragmentShader: null, + program: null, + centersBuffer: null, + sceneIndexesBuffer: null, + outDistancesBuffer: null, + centersLoc: -1, + modelViewProjLoc: -1, + sceneIndexesLoc: -1, + transformsLocs: [], + }), + (this.globalSplatIndexToLocalSplatIndexMap = []), + (this.globalSplatIndexToSceneIndexMap = []), + (this.lastBuildSplatCount = 0), + (this.lastBuildScenes = []), + (this.lastBuildMaxSplatCount = 0), + (this.lastBuildSceneCount = 0), + (this.firstRenderTime = -1), + (this.finalBuild = !1), + (this.webGLUtils = null), + (this.boundingBox = new Il()), + (this.calculatedSceneCenter = new he()), + (this.maxSplatDistanceFromSceneCenter = 0), + (this.visibleRegionBufferRadius = 0), + (this.visibleRegionRadius = 0), + (this.visibleRegionFadeStartRadius = 0), + (this.visibleRegionChanging = !1), + (this.splatScale = 1), + (this.pointCloudModeEnabled = !1), + (this.disposed = !1), + (this.lastRenderer = null), + (this.visible = !1)); + } + static buildScenes(e, t, n) { + let r = []; + r.length = t.length; + for (let o = 0; o < t.length; o++) { + let a = t[o], + i = n[o] || {}, + s = i.position || [0, 0, 0], + l = i.rotation || [0, 0, 0, 1], + c = i.scale || [1, 1, 1], + u = new he().fromArray(s), + d = new Vo().fromArray(l), + p = new he().fromArray(c), + f = Kf.createScene( + a, + u, + d, + p, + i.splatAlphaRemovalThreshold || 1, + i.opacity, + i.visible, + ); + (e.add(f), (r[o] = f)); + } + return r; + } + static createScene(e, t, n, r, o, a = 1, i = !0) { + return new L1n(e, t, n, r, o, a, i); + } + static buildSplatIndexMaps(e) { + let t = [], + n = [], + r = 0; + for (let o = 0; o < e.length; o++) { + let i = e[o].getMaxSplatCount(); + for (let s = 0; s < i; s++) ((t[r] = s), (n[r] = o), r++); + } + return { localSplatIndexMap: t, sceneIndexMap: n }; + } + buildSplatTree = function (e = [], t, n) { + return new Promise((r) => { + (this.disposeSplatTree(), (this.baseSplatTree = new B1n(8, 1000))); + let o = performance.now(), + a = new Ja(); + this.baseSplatTree + .processSplatMesh( + this, + (i) => { + this.getSplatColor(i, a); + let s = this.getSceneIndexForSplat(i), + l = e[s] || 1; + return a.w >= l; + }, + t, + n, + ) + .then(() => { + let i = performance.now() - o; + if (this.logLevel >= mO.Info) + console.log("SplatTree build: " + i + " ms"); + if (this.disposed) r(); + else { + ((this.splatTree = this.baseSplatTree), + (this.baseSplatTree = null)); + let s = 0, + l = 0, + c = 0, + u = 0; + if ( + (this.splatTree.visitLeaves((d) => { + let p = d.data.indexes.length; + if (p > 0) ((l += p), (c = Math.max(c, p)), u++, s++); + }), + this.logLevel >= mO.Info) + ) + (console.log( + `SplatTree leaves: ${this.splatTree.countLeaves()}`, + ), + console.log(`SplatTree leaves with splats:${s}`), + (l = l / u), + console.log(`Avg splat count per node: ${l}`), + console.log(`Total splat count: ${this.getSplatCount()}`)); + r(); + } + }); + }); + }; + build(e, t, n = !0, r = !1, o, a, i = !0) { + ((this.sceneOptions = t), (this.finalBuild = r)); + let s = Kf.getTotalMaxSplatCountForSplatBuffers(e), + l = Kf.buildScenes(this, e, t); + if (n) + for (let m = 0; m < this.scenes.length && m < l.length; m++) { + let g = l[m], + v = this.getScene(m); + g.copyTransformData(v); + } + this.scenes = l; + let c = 3; + for (let m of e) { + let g = m.getMinSphericalHarmonicsDegree(); + if (g < c) c = g; + } + this.minSphericalHarmonicsDegree = Math.min( + c, + this.sphericalHarmonicsDegree, + ); + let u = !1; + if (e.length !== this.lastBuildScenes.length) u = !0; + else + for (let m = 0; m < e.length; m++) + if (e[m] !== this.lastBuildScenes[m].splatBuffer) { + u = !0; + break; + } + let d = !0; + if ( + this.scenes.length !== 1 || + this.lastBuildSceneCount !== this.scenes.length || + this.lastBuildMaxSplatCount !== s || + u + ) + d = !1; + if (!d) { + if (((this.boundingBox = new Il()), !i)) + ((this.maxSplatDistanceFromSceneCenter = 0), + (this.visibleRegionBufferRadius = 0), + (this.visibleRegionRadius = 0), + (this.visibleRegionFadeStartRadius = 0), + (this.firstRenderTime = -1)); + if ( + ((this.lastBuildScenes = []), + (this.lastBuildSplatCount = 0), + (this.lastBuildMaxSplatCount = 0), + this.disposeMeshData(), + (this.geometry = D1n.build(s)), + this.splatRenderMode === uS.ThreeD) + ) + this.material = Jge.build( + this.dynamicMode, + this.enableOptionalEffects, + this.antialiased, + this.maxScreenSpaceSplatSize, + this.splatScale, + this.pointCloudModeEnabled, + this.minSphericalHarmonicsDegree, + this.kernel2DSize, + ); + else + this.material = jge.build( + this.dynamicMode, + this.enableOptionalEffects, + this.splatScale, + this.pointCloudModeEnabled, + this.minSphericalHarmonicsDegree, + ); + let m = Kf.buildSplatIndexMaps(e); + ((this.globalSplatIndexToLocalSplatIndexMap = m.localSplatIndexMap), + (this.globalSplatIndexToSceneIndexMap = m.sceneIndexMap)); + } + let p = this.getSplatCount(!0); + if (this.enableDistancesComputationOnGPU) + this.setupDistancesComputationTransformFeedback(); + let f = this.refreshGPUDataFromSplatBuffers(d); + for (let m = 0; m < this.scenes.length; m++) + this.lastBuildScenes[m] = this.scenes[m]; + if ( + ((this.lastBuildSplatCount = p), + (this.lastBuildMaxSplatCount = this.getMaxSplatCount()), + (this.lastBuildSceneCount = this.scenes.length), + r && this.scenes.length > 0) + ) + this.buildSplatTree( + t.map((m) => m.splatAlphaRemovalThreshold || 1), + o, + a, + ).then(() => { + if (this.onSplatTreeReadyCallback) + this.onSplatTreeReadyCallback(this.splatTree); + this.onSplatTreeReadyCallback = null; + }); + return ((this.visible = this.scenes.length > 0), f); + } + freeIntermediateSplatData() { + let e = (t) => { + (delete t.source.data, delete t.image, (t.onUpdate = null)); + }; + if ( + (delete this.splatDataTextures.baseData.covariances, + delete this.splatDataTextures.baseData.centers, + delete this.splatDataTextures.baseData.colors, + delete this.splatDataTextures.baseData.sphericalHarmonics, + delete this.splatDataTextures.centerColors.data, + delete this.splatDataTextures.covariances.data, + this.splatDataTextures.sphericalHarmonics) + ) + delete this.splatDataTextures.sphericalHarmonics.data; + if (this.splatDataTextures.sceneIndexes) + delete this.splatDataTextures.sceneIndexes.data; + if ( + ((this.splatDataTextures.centerColors.texture.needsUpdate = !0), + (this.splatDataTextures.centerColors.texture.onUpdate = () => { + e(this.splatDataTextures.centerColors.texture); + }), + (this.splatDataTextures.covariances.texture.needsUpdate = !0), + (this.splatDataTextures.covariances.texture.onUpdate = () => { + e(this.splatDataTextures.covariances.texture); + }), + this.splatDataTextures.sphericalHarmonics) + ) + if (this.splatDataTextures.sphericalHarmonics.texture) + ((this.splatDataTextures.sphericalHarmonics.texture.needsUpdate = !0), + (this.splatDataTextures.sphericalHarmonics.texture.onUpdate = + () => { + e(this.splatDataTextures.sphericalHarmonics.texture); + })); + else + this.splatDataTextures.sphericalHarmonics.textures.forEach((t) => { + ((t.needsUpdate = !0), + (t.onUpdate = () => { + e(t); + })); + }); + if (this.splatDataTextures.sceneIndexes) + ((this.splatDataTextures.sceneIndexes.texture.needsUpdate = !0), + (this.splatDataTextures.sceneIndexes.texture.onUpdate = () => { + e(this.splatDataTextures.sceneIndexes.texture); + })); + } + dispose() { + if ( + (this.disposeMeshData(), + this.disposeTextures(), + this.disposeSplatTree(), + this.enableDistancesComputationOnGPU) + ) { + if (this.computeDistancesOnGPUSyncTimeout) + (clearTimeout(this.computeDistancesOnGPUSyncTimeout), + (this.computeDistancesOnGPUSyncTimeout = null)); + this.disposeDistancesComputationGPUResources(); + } + ((this.scenes = []), + (this.distancesTransformFeedback = { + id: null, + vertexShader: null, + fragmentShader: null, + program: null, + centersBuffer: null, + sceneIndexesBuffer: null, + outDistancesBuffer: null, + centersLoc: -1, + modelViewProjLoc: -1, + sceneIndexesLoc: -1, + transformsLocs: [], + }), + (this.renderer = null), + (this.globalSplatIndexToLocalSplatIndexMap = []), + (this.globalSplatIndexToSceneIndexMap = []), + (this.lastBuildSplatCount = 0), + (this.lastBuildScenes = []), + (this.lastBuildMaxSplatCount = 0), + (this.lastBuildSceneCount = 0), + (this.firstRenderTime = -1), + (this.finalBuild = !1), + (this.webGLUtils = null), + (this.boundingBox = new Il()), + (this.calculatedSceneCenter = new he()), + (this.maxSplatDistanceFromSceneCenter = 0), + (this.visibleRegionBufferRadius = 0), + (this.visibleRegionRadius = 0), + (this.visibleRegionFadeStartRadius = 0), + (this.visibleRegionChanging = !1), + (this.splatScale = 1), + (this.pointCloudModeEnabled = !1), + (this.disposed = !0), + (this.lastRenderer = null), + (this.visible = !1)); + } + disposeMeshData() { + if (this.geometry && this.geometry !== m1n) + (this.geometry.dispose(), (this.geometry = null)); + if (this.material) (this.material.dispose(), (this.material = null)); + } + disposeTextures() { + for (let e in this.splatDataTextures) + if (this.splatDataTextures.hasOwnProperty(e)) { + let t = this.splatDataTextures[e]; + if (t.texture) (t.texture.dispose(), (t.texture = null)); + } + this.splatDataTextures = null; + } + disposeSplatTree() { + if (this.splatTree) (this.splatTree.dispose(), (this.splatTree = null)); + if (this.baseSplatTree) + (this.baseSplatTree.dispose(), (this.baseSplatTree = null)); + } + getSplatTree() { + return this.splatTree; + } + onSplatTreeReady(e) { + this.onSplatTreeReadyCallback = e; + } + getDataForDistancesComputation(e, t) { + let n = this.integerBasedDistancesComputation + ? this.getIntegerCenters(e, t, !0) + : this.getFloatCenters(e, t, !0), + r = this.getSceneIndexes(e, t); + return { centers: n, sceneIndexes: r }; + } + refreshGPUDataFromSplatBuffers(e) { + let t = this.getSplatCount(!0); + this.refreshDataTexturesFromSplatBuffers(e); + let n = e ? this.lastBuildSplatCount : 0, + { centers: r, sceneIndexes: o } = this.getDataForDistancesComputation( + n, + t - 1, + ); + if (this.enableDistancesComputationOnGPU) + this.refreshGPUBuffersForDistancesComputation(r, o, e); + return { from: n, to: t - 1, count: t - n, centers: r, sceneIndexes: o }; + } + refreshGPUBuffersForDistancesComputation(e, t, n = !1) { + let r = n ? this.lastBuildSplatCount : 0; + (this.updateGPUCentersBufferForDistancesComputation(n, e, r), + this.updateGPUTransformIndexesBufferForDistancesComputation(n, t, r)); + } + refreshDataTexturesFromSplatBuffers(e) { + let t = this.getSplatCount(!0), + n = this.lastBuildSplatCount, + r = t - 1; + if (!e) (this.setupDataTextures(), this.updateBaseDataFromSplatBuffers()); + else this.updateBaseDataFromSplatBuffers(n, r); + (this.updateDataTexturesFromBaseData(n, r), this.updateVisibleRegion(e)); + } + setupDataTextures() { + let e = this.getMaxSplatCount(), + t = this.getSplatCount(!0); + this.disposeTextures(); + let n = (E, T) => { + let I = new vt(4096, 1024); + while (I.x * I.y * E < e * T) I.y *= 2; + return I; + }, + r = (E) => (E >= 1 ? JUr : YUr), + o = (E) => { + let T = r(E), + I = n(T, 6); + return { elementsPerTexelStored: T, texSize: I }; + }, + a = this.getTargetCovarianceCompressionLevel(), + i = 0, + s = this.getTargetSphericalHarmonicsCompressionLevel(), + l, + c, + u; + if (this.splatRenderMode === uS.ThreeD) { + let E = o(a); + if (E.texSize.x * E.texSize.y > y1n && a === 0) a = 1; + l = new Float32Array(e * Yge); + } else ((c = new Float32Array(e * 3)), (u = new Float32Array(e * 4))); + let d = new Float32Array(e * 3), + p = new Uint8Array(e * 4), + f = Float32Array; + if (s === 1) f = Uint16Array; + else if (s === 2) f = Uint8Array; + let m = fO(this.minSphericalHarmonicsDegree), + g = this.minSphericalHarmonicsDegree ? new f(e * m) : void 0, + v = n(uGe, 4), + y = new Uint32Array(v.x * v.y * uGe); + Kf.updateCenterColorsPaddedData(0, t - 1, d, p, y); + let x = new jl(y, v.x, v.y, m5, Dh); + if ( + ((x.internalFormat = "RGBA32UI"), + (x.needsUpdate = !0), + (this.material.uniforms.centersColorsTexture.value = x), + this.material.uniforms.centersColorsTextureSize.value.copy(v), + (this.material.uniformsNeedUpdate = !0), + (this.splatDataTextures = { + baseData: { + covariances: l, + scales: c, + rotations: u, + centers: d, + colors: p, + sphericalHarmonics: g, + }, + centerColors: { data: y, texture: x, size: v }, + }), + this.splatRenderMode === uS.ThreeD) + ) { + let E = o(a), + { elementsPerTexelStored: T, texSize: I } = E, + k = a >= 1 ? Uint32Array : Float32Array, + L = a >= 1 ? jUr : KUr, + O = new k(I.x * I.y * L); + if (a === 0) O.set(l); + else + Kf.updatePaddedCompressedCovariancesTextureData(l, O, 0, 0, l.length); + let B; + if (a >= 1) + ((B = new jl(O, I.x, I.y, m5, Dh)), + (B.internalFormat = "RGBA32UI"), + (this.material.uniforms.covariancesTextureHalfFloat.value = B)); + else { + ((B = new jl(O, I.x, I.y, $p, s1)), + (this.material.uniforms.covariancesTexture.value = B)); + let U = new jl(new Uint32Array(32), 2, 2, m5, Dh); + ((U.internalFormat = "RGBA32UI"), + (this.material.uniforms.covariancesTextureHalfFloat.value = U), + (U.needsUpdate = !0)); + } + ((B.needsUpdate = !0), + (this.material.uniforms.covariancesAreHalfFloat.value = + a >= 1 ? 1 : 0), + this.material.uniforms.covariancesTextureSize.value.copy(I), + (this.splatDataTextures.covariances = { + data: O, + texture: B, + size: I, + compressionLevel: a, + elementsPerTexelStored: T, + elementsPerTexelAllocated: L, + })); + } else { + let T = n(cGe, 6), + I = i >= 1 ? Uint16Array : Float32Array, + k = i >= 1 ? O0 : s1, + L = new I(T.x * T.y * cGe); + Kf.updateScaleRotationsPaddedData(0, t - 1, c, u, L); + let O = new jl(L, T.x, T.y, $p, k); + ((O.needsUpdate = !0), + (this.material.uniforms.scaleRotationsTexture.value = O), + this.material.uniforms.scaleRotationsTextureSize.value.copy(T), + (this.splatDataTextures.scaleRotations = { + data: L, + texture: O, + size: T, + compressionLevel: i, + })); + } + if (g) { + let E = s === 2 ? Fm : O0, + T = m; + if (T % 2 !== 0) T++; + let I = 4, + k = I === 4 ? $p : tA, + L = n(I, T); + if (L.x * L.y <= y1n) { + let O = L.x * L.y * I, + B = new f(O); + for (let D = 0; D < t; D++) { + let N = m * D, + _ = T * D; + for (let G = 0; G < m; G++) B[_ + G] = g[N + G]; + } + let U = new jl(B, L.x, L.y, k, E); + ((U.needsUpdate = !0), + (this.material.uniforms.sphericalHarmonicsTexture.value = U), + (this.splatDataTextures.sphericalHarmonics = { + componentCount: m, + paddedComponentCount: T, + data: B, + textureCount: 1, + texture: U, + size: L, + compressionLevel: s, + elementsPerTexel: I, + })); + } else { + let O = m / 3; + if (((T = O), T % 2 !== 0)) T++; + L = n(I, T); + let B = L.x * L.y * I, + U = [ + this.material.uniforms.sphericalHarmonicsTextureR, + this.material.uniforms.sphericalHarmonicsTextureG, + this.material.uniforms.sphericalHarmonicsTextureB, + ], + D = [], + N = []; + for (let _ = 0; _ < 3; _++) { + let G = new f(B); + D.push(G); + for (let q = 0; q < t; q++) { + let H = m * q, + te = T * q; + if (O >= 3) { + for (let ie = 0; ie < 3; ie++) G[te + ie] = g[H + _ * 3 + ie]; + if (O >= 8) + for (let ie = 0; ie < 5; ie++) + G[te + 3 + ie] = g[H + 9 + _ * 5 + ie]; + } + } + let Z = new jl(G, L.x, L.y, k, E); + (N.push(Z), (Z.needsUpdate = !0), (U[_].value = Z)); + } + ((this.material.uniforms.sphericalHarmonicsMultiTextureMode.value = 1), + (this.splatDataTextures.sphericalHarmonics = { + componentCount: m, + componentCountPerChannel: O, + paddedComponentCount: T, + data: D, + textureCount: 3, + textures: N, + size: L, + compressionLevel: s, + elementsPerTexel: I, + })); + } + (this.material.uniforms.sphericalHarmonicsTextureSize.value.copy(L), + (this.material.uniforms.sphericalHarmonics8BitMode.value = + s === 2 ? 1 : 0)); + for (let O = 0; O < this.scenes.length; O++) { + let B = this.scenes[O].splatBuffer; + ((this.material.uniforms.sphericalHarmonics8BitCompressionRangeMin.value[ + O + ] = B.minSphericalHarmonicsCoeff), + (this.material.uniforms.sphericalHarmonics8BitCompressionRangeMax.value[ + O + ] = B.maxSphericalHarmonicsCoeff)); + } + this.material.uniformsNeedUpdate = !0; + } + let A = n(h1n, 4), + w = new Uint32Array(A.x * A.y * h1n); + for (let E = 0; E < t; E++) + w[E] = this.globalSplatIndexToSceneIndexMap[E]; + let C = new jl(w, A.x, A.y, HB, Dh); + ((C.internalFormat = "R32UI"), + (C.needsUpdate = !0), + (this.material.uniforms.sceneIndexesTexture.value = C), + this.material.uniforms.sceneIndexesTextureSize.value.copy(A), + (this.material.uniformsNeedUpdate = !0), + (this.splatDataTextures.sceneIndexes = { + data: w, + texture: C, + size: A, + }), + (this.material.uniforms.sceneCount.value = this.scenes.length)); + } + updateBaseDataFromSplatBuffers(e, t) { + let n = this.splatDataTextures.covariances, + r = n ? n.compressionLevel : void 0, + o = this.splatDataTextures.scaleRotations, + a = o ? o.compressionLevel : void 0, + i = this.splatDataTextures.sphericalHarmonics, + s = i ? i.compressionLevel : 0; + this.fillSplatDataArrays( + this.splatDataTextures.baseData.covariances, + this.splatDataTextures.baseData.scales, + this.splatDataTextures.baseData.rotations, + this.splatDataTextures.baseData.centers, + this.splatDataTextures.baseData.colors, + this.splatDataTextures.baseData.sphericalHarmonics, + void 0, + r, + a, + s, + e, + t, + e, + ); + } + updateDataTexturesFromBaseData(e, t) { + let n = this.splatDataTextures.covariances, + r = n ? n.compressionLevel : void 0, + o = this.splatDataTextures.scaleRotations, + a = o ? o.compressionLevel : void 0, + i = this.splatDataTextures.sphericalHarmonics, + s = i ? i.compressionLevel : 0, + l = this.splatDataTextures.centerColors, + { data: c, texture: u } = l; + Kf.updateCenterColorsPaddedData( + e, + t, + this.splatDataTextures.baseData.centers, + this.splatDataTextures.baseData.colors, + c, + ); + let d = this.renderer ? this.renderer.properties.get(u) : null; + if (!d || !d.__webglTexture) u.needsUpdate = !0; + else this.updateDataTexture(c, l.texture, l.size, d, uGe, WUr, 4, e, t); + if (n) { + let y = n.texture, + x = e * Yge, + A = t * Yge; + if (r === 0) + for (let C = x; C <= A; C++) { + let E = this.splatDataTextures.baseData.covariances[C]; + n.data[C] = E; + } + else + Kf.updatePaddedCompressedCovariancesTextureData( + this.splatDataTextures.baseData.covariances, + n.data, + e * n.elementsPerTexelAllocated, + x, + A, + ); + let w = this.renderer ? this.renderer.properties.get(y) : null; + if (!w || !w.__webglTexture) y.needsUpdate = !0; + else if (r === 0) + this.updateDataTexture( + n.data, + n.texture, + n.size, + w, + n.elementsPerTexelStored, + Yge, + 4, + e, + t, + ); + else + this.updateDataTexture( + n.data, + n.texture, + n.size, + w, + n.elementsPerTexelAllocated, + n.elementsPerTexelAllocated, + 2, + e, + t, + ); + } + if (o) { + let { data: y, texture: x } = o, + A = 6, + w = a === 0 ? 4 : 2; + Kf.updateScaleRotationsPaddedData( + e, + t, + this.splatDataTextures.baseData.scales, + this.splatDataTextures.baseData.rotations, + y, + ); + let C = this.renderer ? this.renderer.properties.get(x) : null; + if (!C || !C.__webglTexture) x.needsUpdate = !0; + else this.updateDataTexture(y, o.texture, o.size, C, cGe, 6, w, e, t); + } + let p = this.splatDataTextures.baseData.sphericalHarmonics; + if (p) { + let y = 4; + if (s === 1) y = 2; + else if (s === 2) y = 1; + let x = (C, E, T, I, k) => { + let L = this.renderer ? this.renderer.properties.get(C) : null; + if (!L || !L.__webglTexture) C.needsUpdate = !0; + else this.updateDataTexture(I, C, E, L, T, k, y, e, t); + }, + { componentCount: A, paddedComponentCount: w } = i; + if (i.textureCount === 1) { + let C = i.data; + for (let E = e; E <= t; E++) { + let T = A * E, + I = w * E; + for (let k = 0; k < A; k++) C[I + k] = p[T + k]; + } + x(i.texture, i.size, i.elementsPerTexel, C, w); + } else { + let C = i.componentCountPerChannel; + for (let E = 0; E < 3; E++) { + let T = i.data[E]; + for (let I = e; I <= t; I++) { + let k = A * I, + L = w * I; + if (C >= 3) { + for (let O = 0; O < 3; O++) T[L + O] = p[k + E * 3 + O]; + if (C >= 8) + for (let O = 0; O < 5; O++) + T[L + 3 + O] = p[k + 9 + E * 5 + O]; + } + } + x(i.textures[E], i.size, i.elementsPerTexel, T, w); + } + } + } + let f = this.splatDataTextures.sceneIndexes, + m = f.data; + for (let y = this.lastBuildSplatCount; y <= t; y++) + m[y] = this.globalSplatIndexToSceneIndexMap[y]; + let g = f.texture, + v = this.renderer ? this.renderer.properties.get(g) : null; + if (!v || !v.__webglTexture) g.needsUpdate = !0; + else + this.updateDataTexture( + m, + f.texture, + f.size, + v, + 1, + 1, + 1, + this.lastBuildSplatCount, + t, + ); + } + getTargetCovarianceCompressionLevel() { + return this.halfPrecisionCovariancesOnGPU ? 1 : 0; + } + getTargetSphericalHarmonicsCompressionLevel() { + return Math.max(1, this.getMaximumSplatBufferCompressionLevel()); + } + getMaximumSplatBufferCompressionLevel() { + let e; + for (let t = 0; t < this.scenes.length; t++) { + let r = this.getScene(t).splatBuffer; + if (t === 0 || r.compressionLevel > e) e = r.compressionLevel; + } + return e; + } + getMinimumSplatBufferCompressionLevel() { + let e; + for (let t = 0; t < this.scenes.length; t++) { + let r = this.getScene(t).splatBuffer; + if (t === 0 || r.compressionLevel < e) e = r.compressionLevel; + } + return e; + } + static computeTextureUpdateRegion(e, t, n, r, o) { + let a = o / r, + i = e * a, + s = Math.floor(i / n), + l = s * n * r, + c = t * a, + u = Math.floor(c / n), + d = u * n * r + n * r; + return { dataStart: l, dataEnd: d, startRow: s, endRow: u }; + } + updateDataTexture(e, t, n, r, o, a, i, s, l) { + let c = this.renderer.getContext(), + u = Kf.computeTextureUpdateRegion(s, l, n.x, o, a), + d = u.dataEnd - u.dataStart, + p = new e.constructor(e.buffer, u.dataStart * i, d), + f = u.endRow - u.startRow + 1, + m = this.webGLUtils.convert(t.type), + g = this.webGLUtils.convert(t.format, t.colorSpace), + v = c.getParameter(c.TEXTURE_BINDING_2D); + (c.bindTexture(c.TEXTURE_2D, r.__webglTexture), + c.texSubImage2D(c.TEXTURE_2D, 0, 0, u.startRow, n.x, f, g, m, p), + c.bindTexture(c.TEXTURE_2D, v)); + } + static updatePaddedCompressedCovariancesTextureData(e, t, n, r, o) { + let a = new DataView(t.buffer), + i = n, + s = 0; + for (let l = r; l <= o; l += 2) + if ( + (a.setUint16(i * 2, e[l], !0), + a.setUint16(i * 2 + 2, e[l + 1], !0), + (i += 2), + s++, + s >= 3) + ) + ((i += 2), (s = 0)); + } + static updateCenterColorsPaddedData(e, t, n, r, o) { + for (let a = e; a <= t; a++) { + let i = a * 4, + s = a * 3, + l = a * 4; + ((o[l] = zFr(r, i)), + (o[l + 1] = rGe(n[s])), + (o[l + 2] = rGe(n[s + 1])), + (o[l + 3] = rGe(n[s + 2]))); + } + } + static updateScaleRotationsPaddedData(e, t, n, r, o) { + for (let i = e; i <= t; i++) { + let s = i * 3, + l = i * 4, + c = i * 6; + ((o[c] = n[s]), + (o[c + 1] = n[s + 1]), + (o[c + 2] = n[s + 2]), + (o[c + 3] = r[l]), + (o[c + 4] = r[l + 1]), + (o[c + 5] = r[l + 2])); + } + } + updateVisibleRegion(e) { + let t = this.getSplatCount(!0), + n = new he(); + if (!e) { + let o = new he(); + (this.scenes.forEach((a) => { + o.add(a.splatBuffer.sceneCenter); + }), + o.multiplyScalar(1 / this.scenes.length), + this.calculatedSceneCenter.copy(o), + this.material.uniforms.sceneCenter.value.copy( + this.calculatedSceneCenter, + ), + (this.material.uniformsNeedUpdate = !0)); + } + let r = e ? this.lastBuildSplatCount : 0; + for (let o = r; o < t; o++) { + this.getSplatCenter(o, n, !0); + let a = n.sub(this.calculatedSceneCenter).length(); + if (a > this.maxSplatDistanceFromSceneCenter) + this.maxSplatDistanceFromSceneCenter = a; + } + if ( + this.maxSplatDistanceFromSceneCenter - this.visibleRegionBufferRadius > + g1n + ) + ((this.visibleRegionBufferRadius = + this.maxSplatDistanceFromSceneCenter), + (this.visibleRegionRadius = Math.max( + this.visibleRegionBufferRadius - g1n, + 0, + ))); + if (this.finalBuild) + this.visibleRegionRadius = this.visibleRegionBufferRadius = + this.maxSplatDistanceFromSceneCenter; + this.updateVisibleRegionFadeDistance(); + } + updateVisibleRegionFadeDistance(e = OW.Default) { + let t = $Ur * this.sceneFadeInRateMultiplier, + n = eNr * this.sceneFadeInRateMultiplier, + r = this.finalBuild ? t : n, + o = e === OW.Default ? r : n; + this.visibleRegionFadeStartRadius = + (this.visibleRegionRadius - this.visibleRegionFadeStartRadius) * o + + this.visibleRegionFadeStartRadius; + let i = + (this.visibleRegionBufferRadius > 0 + ? this.visibleRegionFadeStartRadius / this.visibleRegionBufferRadius + : 0) > 0.99, + s = i || e === OW.Instant ? 1 : 0; + ((this.material.uniforms.visibleRegionFadeStartRadius.value = + this.visibleRegionFadeStartRadius), + (this.material.uniforms.visibleRegionRadius.value = + this.visibleRegionRadius), + (this.material.uniforms.firstRenderTime.value = this.firstRenderTime), + (this.material.uniforms.currentTime.value = performance.now()), + (this.material.uniforms.fadeInComplete.value = s), + (this.material.uniformsNeedUpdate = !0), + (this.visibleRegionChanging = !i)); + } + updateRenderIndexes(e, t) { + let n = this.geometry; + if ( + (n.attributes.splatIndex.set(e), + (n.attributes.splatIndex.needsUpdate = !0), + t > 0 && this.firstRenderTime === -1) + ) + this.firstRenderTime = performance.now(); + ((n.instanceCount = t), n.setDrawRange(0, t)); + } + updateTransforms() { + for (let e = 0; e < this.scenes.length; e++) + this.getScene(e).updateTransform(this.dynamicMode); + } + updateUniforms = (function () { + let e = new vt(); + return function (t, n, r, o, a, i) { + if (this.getSplatCount() > 0) { + if ( + (e.set(t.x * this.devicePixelRatio, t.y * this.devicePixelRatio), + this.material.uniforms.viewport.value.copy(e), + this.material.uniforms.basisViewport.value.set(1 / e.x, 1 / e.y), + this.material.uniforms.focal.value.set(n, r), + (this.material.uniforms.orthographicMode.value = o ? 1 : 0), + (this.material.uniforms.orthoZoom.value = a), + (this.material.uniforms.inverseFocalAdjustment.value = i), + this.dynamicMode) + ) + for (let l = 0; l < this.scenes.length; l++) + this.material.uniforms.transforms.value[l].copy( + this.getScene(l).transform, + ); + if (this.enableOptionalEffects) + for (let l = 0; l < this.scenes.length; l++) + ((this.material.uniforms.sceneOpacity.value[l] = Rl( + this.getScene(l).opacity, + 0, + 1, + )), + (this.material.uniforms.sceneVisibility.value[l] = + this.getScene(l).visible ? 1 : 0), + (this.material.uniformsNeedUpdate = !0)); + this.material.uniformsNeedUpdate = !0; + } + }; + })(); + setSplatScale(e = 1) { + ((this.splatScale = e), + (this.material.uniforms.splatScale.value = e), + (this.material.uniformsNeedUpdate = !0)); + } + getSplatScale() { + return this.splatScale; + } + setPointCloudModeEnabled(e) { + ((this.pointCloudModeEnabled = e), + (this.material.uniforms.pointCloudModeEnabled.value = e ? 1 : 0), + (this.material.uniformsNeedUpdate = !0)); + } + getPointCloudModeEnabled() { + return this.pointCloudModeEnabled; + } + getSplatDataTextures() { + return this.splatDataTextures; + } + getSplatCount(e = !1) { + if (!e) return this.lastBuildSplatCount; + else return Kf.getTotalSplatCountForScenes(this.scenes); + } + static getTotalSplatCountForScenes(e) { + let t = 0; + for (let n of e) + if (n && n.splatBuffer) t += n.splatBuffer.getSplatCount(); + return t; + } + static getTotalSplatCountForSplatBuffers(e) { + let t = 0; + for (let n of e) t += n.getSplatCount(); + return t; + } + getMaxSplatCount() { + return Kf.getTotalMaxSplatCountForScenes(this.scenes); + } + static getTotalMaxSplatCountForScenes(e) { + let t = 0; + for (let n of e) + if (n && n.splatBuffer) t += n.splatBuffer.getMaxSplatCount(); + return t; + } + static getTotalMaxSplatCountForSplatBuffers(e) { + let t = 0; + for (let n of e) t += n.getMaxSplatCount(); + return t; + } + disposeDistancesComputationGPUResources() { + if (!this.renderer) return; + let e = this.renderer.getContext(); + if (this.distancesTransformFeedback.vao) + (e.deleteVertexArray(this.distancesTransformFeedback.vao), + (this.distancesTransformFeedback.vao = null)); + if (this.distancesTransformFeedback.program) + (e.deleteProgram(this.distancesTransformFeedback.program), + e.deleteShader(this.distancesTransformFeedback.vertexShader), + e.deleteShader(this.distancesTransformFeedback.fragmentShader), + (this.distancesTransformFeedback.program = null), + (this.distancesTransformFeedback.vertexShader = null), + (this.distancesTransformFeedback.fragmentShader = null)); + if ( + (this.disposeDistancesComputationGPUBufferResources(), + this.distancesTransformFeedback.id) + ) + (e.deleteTransformFeedback(this.distancesTransformFeedback.id), + (this.distancesTransformFeedback.id = null)); + } + disposeDistancesComputationGPUBufferResources() { + if (!this.renderer) return; + let e = this.renderer.getContext(); + if (this.distancesTransformFeedback.centersBuffer) + ((this.distancesTransformFeedback.centersBuffer = null), + e.deleteBuffer(this.distancesTransformFeedback.centersBuffer)); + if (this.distancesTransformFeedback.outDistancesBuffer) + (e.deleteBuffer(this.distancesTransformFeedback.outDistancesBuffer), + (this.distancesTransformFeedback.outDistancesBuffer = null)); + } + setRenderer(e) { + if (e !== this.renderer) { + this.renderer = e; + let t = this.renderer.getContext(), + n = new ZUr(t), + r = new QUr(t, n, {}); + if ( + (n.init(r), + (this.webGLUtils = new Pge(t, n, r)), + this.enableDistancesComputationOnGPU && this.getSplatCount() > 0) + ) { + this.setupDistancesComputationTransformFeedback(); + let { centers: o, sceneIndexes: a } = + this.getDataForDistancesComputation(0, this.getSplatCount() - 1); + this.refreshGPUBuffersForDistancesComputation(o, a); + } + } + } + setupDistancesComputationTransformFeedback = (function () { + let e; + return function () { + let t = this.getMaxSplatCount(); + if (!this.renderer) return; + let n = this.lastRenderer !== this.renderer, + r = e !== t; + if (!n && !r) return; + if (n) this.disposeDistancesComputationGPUResources(); + else if (r) this.disposeDistancesComputationGPUBufferResources(); + let o = this.renderer.getContext(), + a = (d, p, f) => { + let m = d.createShader(p); + if (!m) + return ( + console.error( + "Fatal error: gl could not create a shader object.", + ), + null + ); + if ( + (d.shaderSource(m, f), + d.compileShader(m), + !d.getShaderParameter(m, d.COMPILE_STATUS)) + ) { + let v = "unknown"; + if (p === d.VERTEX_SHADER) v = "vertex shader"; + else if (p === d.FRAGMENT_SHADER) v = "fragement shader"; + let y = d.getShaderInfoLog(m); + return ( + console.error( + "Failed to compile " + v + " with these errors:" + y, + ), + d.deleteShader(m), + null + ); + } + return m; + }, + i; + if (this.integerBasedDistancesComputation) + if ( + ((i = `#version 300 es in ivec4 center; - flat out int distance;`,this.dynamicMode)i+=` + flat out int distance;`), + this.dynamicMode) + ) + i += ` in uint sceneIndex; uniform ivec4 transforms[${Ui.MaxScenes}]; void main(void) { ivec4 transform = transforms[sceneIndex]; distance = center.x * transform.x + center.y * transform.y + center.z * transform.z + transform.w * center.w; } - `;else i+=` + `; + else + i += ` uniform ivec3 modelViewProj; void main(void) { distance = center.x * modelViewProj.x + center.y * modelViewProj.y + center.z * modelViewProj.z; } - `;else if(i=`#version 300 es + `; + else if ( + ((i = `#version 300 es in vec4 center; - flat out float distance;`,this.dynamicMode)i+=` + flat out float distance;`), + this.dynamicMode) + ) + i += ` in uint sceneIndex; uniform mat4 transforms[${Ui.MaxScenes}]; void main(void) { vec4 transformedCenter = transforms[sceneIndex] * vec4(center.xyz, 1.0); distance = transformedCenter.z; } - `;else i+=` + `; + else + i += ` uniform vec3 modelViewProj; void main(void) { distance = center.x * modelViewProj.x + center.y * modelViewProj.y + center.z * modelViewProj.z; } - `;let s=`#version 300 es + `; + let s = `#version 300 es precision lowp float; out vec4 fragColor; void main(){} - `,l=o.getParameter(o.VERTEX_ARRAY_BINDING),c=o.getParameter(o.CURRENT_PROGRAM),u=c?o.getProgramParameter(c,o.DELETE_STATUS):!1;if(n)this.distancesTransformFeedback.vao=o.createVertexArray();if(o.bindVertexArray(this.distancesTransformFeedback.vao),n){let d=o.createProgram(),p=a(o,o.VERTEX_SHADER,i),f=a(o,o.FRAGMENT_SHADER,s);if(!p||!f)throw Error("Could not compile shaders for distances computation on GPU.");if(o.attachShader(d,p),o.attachShader(d,f),o.transformFeedbackVaryings(d,["distance"],o.SEPARATE_ATTRIBS),o.linkProgram(d),!o.getProgramParameter(d,o.LINK_STATUS)){let g=o.getProgramInfoLog(d);throw console.error("Fatal error: Failed to link program: "+g),o.deleteProgram(d),o.deleteShader(f),o.deleteShader(p),Error("Could not link shaders for distances computation on GPU.")}this.distancesTransformFeedback.program=d,this.distancesTransformFeedback.vertexShader=p,this.distancesTransformFeedback.vertexShader=f}if(o.useProgram(this.distancesTransformFeedback.program),this.distancesTransformFeedback.centersLoc=o.getAttribLocation(this.distancesTransformFeedback.program,"center"),this.dynamicMode){this.distancesTransformFeedback.sceneIndexesLoc=o.getAttribLocation(this.distancesTransformFeedback.program,"sceneIndex");for(let d=0;d{let u=()=>{if(this.disposed)c();else switch(r.clientWaitSync(s,0,0)){case r.TIMEOUT_EXPIRED:return this.computeDistancesOnGPUSyncTimeout=setTimeout(u),this.computeDistancesOnGPUSyncTimeout;case r.WAIT_FAILED:throw Error("should never get here");default:this.computeDistancesOnGPUSyncTimeout=null,r.deleteSync(s);let m=r.getParameter(r.VERTEX_ARRAY_BINDING);if(r.bindVertexArray(this.distancesTransformFeedback.vao),r.bindBuffer(r.ARRAY_BUFFER,this.distancesTransformFeedback.outDistancesBuffer),r.getBufferSubData(r.ARRAY_BUFFER,0,n),r.bindBuffer(r.ARRAY_BUFFER,null),m)r.bindVertexArray(m);c()}};this.computeDistancesOnGPUSyncTimeout=setTimeout(u)});if(a&&i!==!0)r.useProgram(a);if(o)r.bindVertexArray(o);return l}}();getLocalSplatParameters(e,t,n){if(n===void 0||n===null)n=this.dynamicMode?!1:!0;t.splatBuffer=this.getSplatBufferForSplat(e),t.localIndex=this.getSplatLocalIndex(e),t.sceneTransform=n?this.getSceneTransformForSplat(e):null}fillSplatDataArrays(e,t,n,r,o,a,i,s=0,l=0,c=1,u,d,p=0,f){let m=new he;if(m.x=void 0,m.y=void 0,this.splatRenderMode===uS.ThreeD)m.z=void 0;else m.z=1;let g=new Vn,v=0,y=this.scenes.length-1;if(f!==void 0&&f!==null&&f>=0&&f<=this.scenes.length)v=f,y=f;for(let x=v;x<=y;x++){if(i===void 0||i===null)i=this.dynamicMode?!1:!0;let A=this.getScene(x),w=A.splatBuffer,C;if(i)this.getSceneTransform(x,g),C=g;if(e)w.fillSplatCovarianceArray(e,C,u,d,p,s);if(t||n){if(!t||!n)throw Error('SplatMesh::fillSplatDataArrays() -> "scales" and "rotations" must both be valid.');w.fillSplatScaleRotationArray(t,n,C,u,d,p,l,m)}if(r)w.fillSplatCenterArray(r,C,u,d,p);if(o)w.fillSplatColorArray(o,A.minimumAlpha,u,d,p);if(a)w.fillSphericalHarmonicsArray(a,this.minSphericalHarmonicsDegree,C,u,d,p,c);p+=w.getSplatCount()}}getIntegerCenters(e,t,n=!1){let r=t-e+1,o=new Float32Array(r*3);this.fillSplatDataArrays(null,null,null,o,null,null,void 0,void 0,void 0,void 0,e);let a,i=n?4:3;a=new Int32Array(r*i);for(let s=0;s=this.scenes.length)throw Error("SplatMesh::getScene() -> Invalid scene index.");return this.scenes[e]}getSceneCount(){return this.scenes.length}getSplatBufferForSplat(e){return this.getScene(this.globalSplatIndexToSceneIndexMap[e]).splatBuffer}getSceneIndexForSplat(e){return this.globalSplatIndexToSceneIndexMap[e]}getSceneTransformForSplat(e){return this.getScene(this.globalSplatIndexToSceneIndexMap[e]).transform}getSplatLocalIndex(e){return this.globalSplatIndexToLocalSplatIndexMap[e]}static getIntegerMatrixArray(e){let t=e.elements,n=[];for(let r=0;r<16;r++)n[r]=Math.round(t[r]*1000);return n}computeBoundingBox(e=!1,t){let n=this.getSplatCount();if(t!==void 0&&t!==null){if(t<0||t>=this.scenes.length)throw Error("SplatMesh::computeBoundingBox() -> Invalid scene index.");n=this.scenes[t].splatBuffer.getSplatCount()}let r=new Float32Array(n*3);this.fillSplatDataArrays(null,null,null,r,null,null,e,void 0,void 0,void 0,void 0,t);let o=new he,a=new he;for(let i=0;ia.x)a.x=l;if(i===0||c>a.y)a.y=c;if(i===0||u>a.z)a.z=u}return new Il(o,a)}};dO={None:0,VR:1,AR:2};hO.xrSessionIsGranted=!1;hO.registerSessionGrantedListener();dGe={Always:0,OnChange:1,Never:2};H7=class H7{constructor(e={}){if(!e.cameraUp)e.cameraUp=[0,1,0];if(this.cameraUp=new he().fromArray(e.cameraUp),!e.initialCameraPosition)e.initialCameraPosition=[0,10,15];if(this.initialCameraPosition=new he().fromArray(e.initialCameraPosition),!e.initialCameraLookAt)e.initialCameraLookAt=[0,0,0];if(this.initialCameraLookAt=new he().fromArray(e.initialCameraLookAt),this.dropInMode=e.dropInMode||!1,e.selfDrivenMode===void 0||e.selfDrivenMode===null)e.selfDrivenMode=!0;if(this.selfDrivenMode=e.selfDrivenMode&&!this.dropInMode,this.selfDrivenUpdateFunc=this.selfDrivenUpdate.bind(this),e.useBuiltInControls===void 0)e.useBuiltInControls=!0;if(this.useBuiltInControls=e.useBuiltInControls,this.rootElement=e.rootElement,this.ignoreDevicePixelRatio=e.ignoreDevicePixelRatio||!1,this.devicePixelRatio=this.ignoreDevicePixelRatio?1:window.devicePixelRatio||1,this.halfPrecisionCovariancesOnGPU=e.halfPrecisionCovariancesOnGPU||!1,this.threeScene=e.threeScene,this.renderer=e.renderer,this.camera=e.camera,this.gpuAcceleratedSort=e.gpuAcceleratedSort||!1,e.integerBasedSort===void 0||e.integerBasedSort===null)e.integerBasedSort=!0;if(this.integerBasedSort=e.integerBasedSort,e.sharedMemoryForWorkers===void 0||e.sharedMemoryForWorkers===null)e.sharedMemoryForWorkers=!0;if(this.sharedMemoryForWorkers=e.sharedMemoryForWorkers,this.dynamicScene=!!e.dynamicScene,this.antialiased=e.antialiased||!1,this.kernel2DSize=e.kernel2DSize===void 0?0.3:e.kernel2DSize,this.webXRMode=e.webXRMode||dO.None,this.webXRMode!==dO.None)this.gpuAcceleratedSort=!1;if(this.webXRActive=!1,this.webXRSessionInit=e.webXRSessionInit||{},this.renderMode=e.renderMode||dGe.Always,this.sceneRevealMode=e.sceneRevealMode||OW.Default,this.focalAdjustment=e.focalAdjustment||1,this.maxScreenSpaceSplatSize=e.maxScreenSpaceSplatSize||1024,this.logLevel=e.logLevel||mO.None,this.sphericalHarmonicsDegree=e.sphericalHarmonicsDegree||0,this.enableOptionalEffects=e.enableOptionalEffects||!1,e.enableSIMDInSort===void 0||e.enableSIMDInSort===null)e.enableSIMDInSort=!0;if(this.enableSIMDInSort=e.enableSIMDInSort,e.inMemoryCompressionLevel===void 0||e.inMemoryCompressionLevel===null)e.inMemoryCompressionLevel=0;if(this.inMemoryCompressionLevel=e.inMemoryCompressionLevel,e.optimizeSplatData===void 0||e.optimizeSplatData===null)e.optimizeSplatData=!0;if(this.optimizeSplatData=e.optimizeSplatData,e.freeIntermediateSplatData===void 0||e.freeIntermediateSplatData===null)e.freeIntermediateSplatData=!1;if(this.freeIntermediateSplatData=e.freeIntermediateSplatData,yGe()){let n=x1n();if(n.major<17)this.enableSIMDInSort=!1;if(n.major<16)this.sharedMemoryForWorkers=!1}if(e.splatRenderMode===void 0||e.splatRenderMode===null)e.splatRenderMode=uS.ThreeD;this.splatRenderMode=e.splatRenderMode,this.sceneFadeInRateMultiplier=e.sceneFadeInRateMultiplier||1,this.splatSortDistanceMapPrecision=e.splatSortDistanceMapPrecision||Ui.DefaultSplatSortDistanceMapPrecision;let t=this.integerBasedSort?20:24;if(this.splatSortDistanceMapPrecision=Rl(this.splatSortDistanceMapPrecision,10,t),this.onSplatMeshChangedCallback=null,this.createSplatMesh(),this.controls=null,this.perspectiveControls=null,this.orthographicControls=null,this.orthographicCamera=null,this.perspectiveCamera=null,this.showMeshCursor=!1,this.showControlPlane=!1,this.showInfo=!1,this.sceneHelper=null,this.sortWorker=null,this.sortRunning=!1,this.splatRenderCount=0,this.splatSortCount=0,this.lastSplatSortCount=0,this.sortWorkerIndexesToSort=null,this.sortWorkerSortedIndexes=null,this.sortWorkerPrecomputedDistances=null,this.sortWorkerTransforms=null,this.preSortMessages=[],this.runAfterNextSort=[],this.selfDrivenModeRunning=!1,this.splatRenderReady=!1,this.raycaster=new M1n,this.infoPanel=null,this.startInOrthographicMode=!1,this.currentFPS=0,this.lastSortTime=0,this.consecutiveRenderFrames=0,this.previousCameraTarget=new he,this.nextCameraTarget=new he,this.mousePosition=new vt,this.mouseDownPosition=new vt,this.mouseDownTime=null,this.resizeObserver=null,this.mouseMoveListener=null,this.mouseDownListener=null,this.mouseUpListener=null,this.keyDownListener=null,this.sortPromise=null,this.sortPromiseResolver=null,this.splatSceneDownloadPromises={},this.splatSceneDownloadAndBuildPromise=null,this.splatSceneRemovalPromise=null,this.loadingSpinner=new PGe(null,this.rootElement||document.body),this.loadingSpinner.hide(),this.loadingProgressBar=new k1n(this.rootElement||document.body),this.loadingProgressBar.hide(),this.infoPanel=new R1n(this.rootElement||document.body),this.infoPanel.hide(),this.usingExternalCamera=this.dropInMode||this.camera?!0:!1,this.usingExternalRenderer=this.dropInMode||this.renderer?!0:!1,this.initialized=!1,this.disposing=!1,this.disposed=!1,this.disposePromise=null,!this.dropInMode)this.init()}createSplatMesh(){if(this.splatMesh=new Kf(this.splatRenderMode,this.dynamicScene,this.enableOptionalEffects,this.halfPrecisionCovariancesOnGPU,this.devicePixelRatio,this.gpuAcceleratedSort,this.integerBasedSort,this.antialiased,this.maxScreenSpaceSplatSize,this.logLevel,this.sphericalHarmonicsDegree,this.sceneFadeInRateMultiplier,this.kernel2DSize),this.splatMesh.frustumCulled=!1,this.onSplatMeshChangedCallback)this.onSplatMeshChangedCallback()}init(){if(this.initialized)return;if(!this.rootElement)if(!this.usingExternalRenderer)this.rootElement=document.createElement("div"),this.rootElement.style.width="100%",this.rootElement.style.height="100%",this.rootElement.style.position="absolute",document.body.appendChild(this.rootElement);else this.rootElement=this.renderer.domElement||document.body;this.setupCamera(),this.setupRenderer(),this.setupWebXR(this.webXRSessionInit),this.setupControls(),this.setupEventHandlers(),this.threeScene=this.threeScene||new y5,this.sceneHelper=new LW(this.threeScene),this.sceneHelper.setupMeshCursor(),this.sceneHelper.setupFocusMarker(),this.sceneHelper.setupControlPlane(),this.loadingProgressBar.setContainer(this.rootElement),this.loadingSpinner.setContainer(this.rootElement),this.infoPanel.setContainer(this.rootElement),this.initialized=!0}setupCamera(){if(!this.usingExternalCamera){let e=new vt;this.getRenderDimensions(e),this.perspectiveCamera=new Kl(iNr,e.x/e.y,0.1,1000),this.orthographicCamera=new qy(e.x/-2,e.x/2,e.y/2,e.y/-2,0.1,1000),this.camera=this.startInOrthographicMode?this.orthographicCamera:this.perspectiveCamera,this.camera.position.copy(this.initialCameraPosition),this.camera.up.copy(this.cameraUp).normalize(),this.camera.lookAt(this.initialCameraLookAt)}}setupRenderer(){if(!this.usingExternalRenderer){let e=new vt;this.getRenderDimensions(e),this.renderer=new oO({antialias:!1,precision:"highp"}),this.renderer.setPixelRatio(this.devicePixelRatio),this.renderer.autoClear=!0,this.renderer.setClearColor(new _n(0),0),this.renderer.setSize(e.x,e.y),this.resizeObserver=new ResizeObserver(()=>{this.getRenderDimensions(e),this.renderer.setSize(e.x,e.y),this.forceRenderNextFrame()}),this.resizeObserver.observe(this.rootElement),this.rootElement.appendChild(this.renderer.domElement)}}setupWebXR(e){if(this.webXRMode){if(this.webXRMode===dO.VR)this.rootElement.appendChild(hO.createButton(this.renderer,e));else if(this.webXRMode===dO.AR)this.rootElement.appendChild(O1n.createButton(this.renderer,e));this.renderer.xr.addEventListener("sessionstart",(t)=>{this.webXRActive=!0}),this.renderer.xr.addEventListener("sessionend",(t)=>{this.webXRActive=!1}),this.renderer.xr.enabled=!0,this.camera.position.copy(this.initialCameraPosition),this.camera.up.copy(this.cameraUp).normalize(),this.camera.lookAt(this.initialCameraLookAt)}}setupControls(){if(this.useBuiltInControls&&this.webXRMode===dO.None){if(!this.usingExternalCamera)this.perspectiveControls=new PW(this.perspectiveCamera,this.renderer.domElement),this.orthographicControls=new PW(this.orthographicCamera,this.renderer.domElement);else if(this.camera.isOrthographicCamera)this.orthographicControls=new PW(this.camera,this.renderer.domElement);else this.perspectiveControls=new PW(this.camera,this.renderer.domElement);for(let e of[this.orthographicControls,this.perspectiveControls])if(e)e.listenToKeyEvents(window),e.rotateSpeed=0.5,e.maxPolarAngle=Math.PI*0.75,e.minPolarAngle=0.1,e.enableDamping=!0,e.dampingFactor=0.05,e.target.copy(this.initialCameraLookAt),e.update();this.controls=this.camera.isOrthographicCamera?this.orthographicControls:this.perspectiveControls,this.controls.update()}}setupEventHandlers(){if(this.useBuiltInControls&&this.webXRMode===dO.None)this.mouseMoveListener=this.onMouseMove.bind(this),this.renderer.domElement.addEventListener("pointermove",this.mouseMoveListener,!1),this.mouseDownListener=this.onMouseDown.bind(this),this.renderer.domElement.addEventListener("pointerdown",this.mouseDownListener,!1),this.mouseUpListener=this.onMouseUp.bind(this),this.renderer.domElement.addEventListener("pointerup",this.mouseUpListener,!1),this.keyDownListener=this.onKeyDown.bind(this),window.addEventListener("keydown",this.keyDownListener,!1)}removeEventHandlers(){if(this.useBuiltInControls)this.renderer.domElement.removeEventListener("pointermove",this.mouseMoveListener),this.mouseMoveListener=null,this.renderer.domElement.removeEventListener("pointerdown",this.mouseDownListener),this.mouseDownListener=null,this.renderer.domElement.removeEventListener("pointerup",this.mouseUpListener),this.mouseUpListener=null,window.removeEventListener("keydown",this.keyDownListener),this.keyDownListener=null}setRenderMode(e){this.renderMode=e}setActiveSphericalHarmonicsDegrees(e){this.splatMesh.material.uniforms.sphericalHarmonicsDegree.value=e,this.splatMesh.material.uniformsNeedUpdate=!0}onSplatMeshChanged(e){this.onSplatMeshChangedCallback=e}onKeyDown=function(){let e=new he,t=new Vn,n=new Vn;return function(r){switch(e.set(0,0,-1),e.transformDirection(this.camera.matrixWorld),t.makeRotationAxis(e,Math.PI/128),n.makeRotationAxis(e,-Math.PI/128),r.code){case"KeyG":this.focalAdjustment+=0.02,this.forceRenderNextFrame();break;case"KeyF":this.focalAdjustment-=0.02,this.forceRenderNextFrame();break;case"ArrowLeft":this.camera.up.transformDirection(t);break;case"ArrowRight":this.camera.up.transformDirection(n);break;case"KeyC":this.showMeshCursor=!this.showMeshCursor;break;case"KeyU":this.showControlPlane=!this.showControlPlane;break;case"KeyI":if(this.showInfo=!this.showInfo,this.showInfo)this.infoPanel.show();else this.infoPanel.hide();break;case"KeyO":if(!this.usingExternalCamera)this.setOrthographicMode(!this.camera.isOrthographicCamera);break;case"KeyP":if(!this.usingExternalCamera)this.splatMesh.setPointCloudModeEnabled(!this.splatMesh.getPointCloudModeEnabled());break;case"Equal":if(!this.usingExternalCamera)this.splatMesh.setSplatScale(this.splatMesh.getSplatScale()+0.05);break;case"Minus":if(!this.usingExternalCamera)this.splatMesh.setSplatScale(Math.max(this.splatMesh.getSplatScale()-0.05,0));break}}}();onMouseMove(e){this.mousePosition.set(e.offsetX,e.offsetY)}onMouseDown(){this.mouseDownPosition.copy(this.mousePosition),this.mouseDownTime=cO()}onMouseUp=function(){let e=new vt;return function(t){if(e.copy(this.mousePosition).sub(this.mouseDownPosition),cO()-this.mouseDownTime<0.5&&e.length()<2)this.onMouseClick(t)}}();onMouseClick(e){this.mousePosition.set(e.offsetX,e.offsetY),this.checkForFocalPointChange()}checkForFocalPointChange=function(){let e=new vt,t=new he,n=[];return function(){if(!this.transitioningCameraTarget){if(this.getRenderDimensions(e),n.length=0,this.raycaster.setFromCameraAndScreenPosition(this.camera,this.mousePosition,e),this.raycaster.intersectSplatMesh(this.splatMesh,n),n.length>0){let o=n[0].origin;if(t.copy(o).sub(this.camera.position),t.length()>sNr)this.previousCameraTarget.copy(this.controls.target),this.nextCameraTarget.copy(o),this.transitioningCameraTarget=!0,this.transitioningCameraTargetStartTime=cO()}}}}();getRenderDimensions(e){if(this.rootElement)e.x=this.rootElement.offsetWidth,e.y=this.rootElement.offsetHeight;else this.renderer.getSize(e)}setOrthographicMode(e){if(e===this.camera.isOrthographicCamera)return;let t=this.camera,n=e?this.orthographicCamera:this.perspectiveCamera;if(n.position.copy(t.position),n.up.copy(t.up),n.rotation.copy(t.rotation),n.quaternion.copy(t.quaternion),n.matrix.copy(t.matrix),this.camera=n,this.controls){let r=(i)=>{i.saveState(),i.reset()},o=this.controls,a=e?this.orthographicControls:this.perspectiveControls;if(r(a),r(o),a.target.copy(o.target),e)H7.setCameraZoomFromPosition(n,t,o);else H7.setCameraPositionFromZoom(n,t,a);this.controls=a,this.camera.lookAt(this.controls.target)}}static setCameraPositionFromZoom=function(){let e=new he;return function(t,n,r){let o=1/(n.zoom*0.001);e.copy(r.target).sub(t.position).normalize().multiplyScalar(o).negate(),t.position.copy(r.target).add(e)}}();static setCameraZoomFromPosition=function(){let e=new he;return function(t,n,r){let o=e.copy(r.target).sub(n.position).length();t.zoom=1/(o*0.001)}}();updateSplatMesh=function(){let e=new vt;return function(){if(!this.splatMesh)return;if(this.splatMesh.getSplatCount()>0){this.splatMesh.updateVisibleRegionFadeDistance(this.sceneRevealMode),this.splatMesh.updateTransforms(),this.getRenderDimensions(e);let n=this.camera.projectionMatrix.elements[0]*0.5*this.devicePixelRatio*e.x,r=this.camera.projectionMatrix.elements[5]*0.5*this.devicePixelRatio*e.y,o=this.camera.isOrthographicCamera?1/this.devicePixelRatio:1,a=this.focalAdjustment*o,i=1/a;this.adjustForWebXRStereo(e),this.splatMesh.updateUniforms(e,n*a,r*a,this.camera.isOrthographicCamera,this.camera.zoom||1,i)}}}();adjustForWebXRStereo(e){if(this.camera&&this.webXRActive){let n=this.renderer.xr.getCamera().projectionMatrix.elements[0],r=this.camera.projectionMatrix.elements[0];e.x*=r/n}}isLoadingOrUnloading(){return Object.keys(this.splatSceneDownloadPromises).length>0||this.splatSceneDownloadAndBuildPromise!==null||this.splatSceneRemovalPromise!==null}isDisposingOrDisposed(){return this.disposing||this.disposed}addSplatSceneDownloadPromise(e){this.splatSceneDownloadPromises[e.id]=e}removeSplatSceneDownloadPromise(e){delete this.splatSceneDownloadPromises[e.id]}setSplatSceneDownloadAndBuildPromise(e){this.splatSceneDownloadAndBuildPromise=e}clearSplatSceneDownloadAndBuildPromise(){this.splatSceneDownloadAndBuildPromise=null}addSplatScene(e,t={}){if(this.isLoadingOrUnloading())throw Error("Cannot add splat scene while another load or unload is already in progress.");if(this.isDisposingOrDisposed())throw Error("Cannot add splat scene after dispose() is called.");if(t.progressiveLoad&&this.splatMesh.scenes&&this.splatMesh.scenes.length>0)console.log('addSplatScene(): "progressiveLoad" option ignore because there are multiple splat scenes'),t.progressiveLoad=!1;let n=t.format!==void 0&&t.format!==null?t.format:c1n(e),r=H7.isProgressivelyLoadable(n)&&t.progressiveLoad,o=t.showLoadingUI!==void 0&&t.showLoadingUI!==null?t.showLoadingUI:!0,a=null;if(o)this.loadingSpinner.removeAllTasks(),a=this.loadingSpinner.addTask("Downloading...");let i=()=>{this.loadingProgressBar.hide(),this.loadingSpinner.removeAllTasks()},s=(m,g,v)=>{if(o){if(v===fd.Downloading)if(m==100)this.loadingSpinner.setMessageForTask(a,"Download complete!");else if(r)this.loadingSpinner.setMessageForTask(a,"Downloading splats...");else{let y=g?`: ${g}`:"...";this.loadingSpinner.setMessageForTask(a,`Downloading${y}`)}else if(v===fd.Processing)this.loadingSpinner.setMessageForTask(a,"Processing splats...")}},l=!1,c=0,u=(m,g)=>{if(o){if(m&&r||g&&!r){if(this.loadingSpinner.removeTask(a),!g&&!l)this.loadingProgressBar.show()}if(r)if(g)l=!0,this.loadingProgressBar.hide();else this.loadingProgressBar.setProgress(c)}},d=(m,g,v)=>{if(c=m,s(m,g,v),t.onProgress)t.onProgress(m,g,v)},p=(m,g,v)=>{if(!r&&t.onProgress)t.onProgress(0,"0%",fd.Processing);let y={rotation:t.rotation||t.orientation,position:t.position,scale:t.scale,splatAlphaRemovalThreshold:t.splatAlphaRemovalThreshold};return this.addSplatBuffers([m],[y],v,g&&o,o,r,r).then(()=>{if(!r&&t.onProgress)t.onProgress(100,"100%",fd.Processing);u(g,v)})};return(r?this.downloadAndBuildSingleSplatSceneProgressiveLoad.bind(this):this.downloadAndBuildSingleSplatSceneStandardLoad.bind(this))(e,n,t.splatAlphaRemovalThreshold,p.bind(this),d,i.bind(this),t.headers)}downloadAndBuildSingleSplatSceneStandardLoad(e,t,n,r,o,a,i){let s=this.downloadSplatSceneToSplatBuffer(e,n,o,!1,void 0,t,i),l=oGe(s.abortHandler);return s.then((c)=>(this.removeSplatSceneDownloadPromise(s),r(c,!0,!0).then(()=>{l.resolve(),this.clearSplatSceneDownloadAndBuildPromise()}))).catch((c)=>{if(a)a();this.clearSplatSceneDownloadAndBuildPromise(),this.removeSplatSceneDownloadPromise(s),l.reject(this.updateError(c,`Viewer::addSplatScene -> Could not load file ${e}`))}),this.addSplatSceneDownloadPromise(s),this.setSplatSceneDownloadAndBuildPromise(l.promise),l.promise}downloadAndBuildSingleSplatSceneProgressiveLoad(e,t,n,r,o,a,i){let s=0,l=!1,c=[],u=()=>{if(c.length>0&&!l&&!this.isDisposingOrDisposed()){l=!0;let g=c.shift();r(g.splatBuffer,g.firstBuild,g.finalBuild).then(()=>{if(l=!1,g.firstBuild)f.resolve();else if(g.finalBuild)m.resolve(),this.clearSplatSceneDownloadAndBuildPromise();if(c.length>0)d1(()=>u())})}},d=(g,v)=>{if(!this.isDisposingOrDisposed()){if(v||c.length===0||g.getSplatCount()>c[0].splatBuffer.getSplatCount())c.push({splatBuffer:g,firstBuild:s===0,finalBuild:v}),s++,u()}},p=this.downloadSplatSceneToSplatBuffer(e,n,o,!0,d,t,i),f=oGe(p.abortHandler),m=oGe();return this.addSplatSceneDownloadPromise(p),this.setSplatSceneDownloadAndBuildPromise(m.promise),p.then(()=>{this.removeSplatSceneDownloadPromise(p)}).catch((g)=>{this.clearSplatSceneDownloadAndBuildPromise(),this.removeSplatSceneDownloadPromise(p);let v=this.updateError(g,"Viewer::addSplatScene -> Could not load one or more scenes");if(f.reject(v),a)a(v)}),f.promise}addSplatScenes(e,t=!0,n=void 0){if(this.isLoadingOrUnloading())throw Error("Cannot add splat scene while another load or unload is already in progress.");if(this.isDisposingOrDisposed())throw Error("Cannot add splat scene after dispose() is called.");let r=e.length,o=[],a;if(t)this.loadingSpinner.removeAllTasks(),a=this.loadingSpinner.addTask("Downloading...");let i=(u,d,p,f)=>{o[u]=d;let m=0;for(let g=0;g{Promise.all(l).then((p)=>{if(t)this.loadingSpinner.removeTask(a);if(n)n(0,"0%",fd.Processing);this.addSplatBuffers(p,e,!0,t,t,!1,!1).then(()=>{if(n)n(100,"100%",fd.Processing);this.clearSplatSceneDownloadAndBuildPromise(),u()})}).catch((p)=>{if(t)this.loadingSpinner.removeTask(a);this.clearSplatSceneDownloadAndBuildPromise(),d(this.updateError(p,"Viewer::addSplatScenes -> Could not load one or more splat scenes."))}).finally(()=>{this.removeSplatSceneDownloadPromise(c)})},(u)=>{for(let d of s)d.abort(u)});return this.addSplatSceneDownloadPromise(c),this.setSplatSceneDownloadAndBuildPromise(c),c}downloadSplatSceneToSplatBuffer(e,t=1,n=void 0,r=!1,o=void 0,a,i){try{if(a===zm.Splat||a===zm.KSplat||a===zm.Ply){let s=r?!1:this.optimizeSplatData;if(a===zm.Splat)return RGe.loadFromURL(e,n,r,o,t,this.inMemoryCompressionLevel,s,i);else if(a===zm.KSplat)return DW.loadFromURL(e,n,r,o,i);else if(a===zm.Ply)return TGe.loadFromURL(e,n,r,o,t,this.inMemoryCompressionLevel,s,this.sphericalHarmonicsDegree,i)}else if(a===zm.Spz)return kGe.loadFromURL(e,n,t,this.inMemoryCompressionLevel,this.optimizeSplatData,this.sphericalHarmonicsDegree,i)}catch(s){throw this.updateError(s,null)}throw Error(`Viewer::downloadSplatSceneToSplatBuffer -> File format not supported: ${e}`)}static isProgressivelyLoadable(e){return e===zm.Splat||e===zm.KSplat||e===zm.Ply}addSplatBuffers=function(){return function(e,t=[],n=!0,r=!0,o=!0,a=!1,i=!1,s=!0){if(this.isDisposingOrDisposed())return Promise.resolve();let l=null,c=()=>{if(l!==null)this.loadingSpinner.removeTask(l),l=null};return this.splatRenderReady=!1,new Promise((u)=>{if(r)l=this.loadingSpinner.addTask("Processing splats...");d1(()=>{if(this.isDisposingOrDisposed())u();else{let d=this.addSplatBuffersToMesh(e,t,n,o,a,s),p=this.splatMesh.getMaxSplatCount();if(this.sortWorker&&this.sortWorker.maxSplatCount!==p)this.disposeSortWorker();if(!this.gpuAcceleratedSort)this.preSortMessages.push({centers:d.centers.buffer,sceneIndexes:d.sceneIndexes.buffer,range:{from:d.from,to:d.to,count:d.count}});(!this.sortWorker&&p>0?this.setupSortWorker(this.splatMesh):Promise.resolve()).then(()=>{if(this.isDisposingOrDisposed())return;this.runSplatSort(!0,!0).then((m)=>{if(!this.sortWorker||!m)this.splatRenderReady=!0,c(),u();else{if(i)this.splatRenderReady=!0;else this.runAfterNextSort.push(()=>{this.splatRenderReady=!0});this.runAfterNextSort.push(()=>{c(),u()})}})})}},!0)})}}();addSplatBuffersToMesh=function(){let e;return function(t,n,r=!0,o=!1,a=!1,i=!0){if(this.isDisposingOrDisposed())return;let s=[],l=[];if(!a)s=this.splatMesh.scenes.map((p)=>p.splatBuffer)||[],l=this.splatMesh.sceneOptions?this.splatMesh.sceneOptions.map((p)=>p):[];if(s.push(...t),l.push(...n),this.renderer)this.splatMesh.setRenderer(this.renderer);let c=(p)=>{if(this.isDisposingOrDisposed())return;let f=this.splatMesh.getSplatCount();if(o&&f>=lNr){if(!p&&!e)this.loadingSpinner.setMinimized(!0,!0),e=this.loadingSpinner.addTask("Optimizing data structures...")}},u=(p)=>{if(this.isDisposingOrDisposed())return;if(p&&e)this.loadingSpinner.removeTask(e),e=null},d=this.splatMesh.build(s,l,!0,r,c,u,i);if(r&&this.freeIntermediateSplatData)this.splatMesh.freeIntermediateSplatData();return d}}();setupSortWorker(e){if(this.isDisposingOrDisposed())return;return new Promise((t)=>{let n=this.integerBasedSort?Int32Array:Float32Array,r=e.getSplatCount(),o=e.getMaxSplatCount();this.sortWorker=aNr(o,this.sharedMemoryForWorkers,this.enableSIMDInSort,this.integerBasedSort,this.splatMesh.dynamicMode,this.splatSortDistanceMapPrecision),this.sortWorker.onmessage=(a)=>{if(a.data.sortDone){if(this.sortRunning=!1,this.sharedMemoryForWorkers)this.splatMesh.updateRenderIndexes(this.sortWorkerSortedIndexes,a.data.splatRenderCount);else{let i=new Uint32Array(a.data.sortedIndexes.buffer,0,a.data.splatRenderCount);this.splatMesh.updateRenderIndexes(i,a.data.splatRenderCount)}if(this.lastSplatSortCount=this.splatSortCount,this.lastSortTime=a.data.sortTime,this.sortPromiseResolver(),this.sortPromiseResolver=null,this.forceRenderNextFrame(),this.runAfterNextSort.length>0)this.runAfterNextSort.forEach((i)=>{i()}),this.runAfterNextSort.length=0}else if(a.data.sortCanceled)this.sortRunning=!1;else if(a.data.sortSetupPhase1Complete){if(this.logLevel>=mO.Info)console.log("Sorting web worker WASM setup complete.");if(this.sharedMemoryForWorkers)this.sortWorkerSortedIndexes=new Uint32Array(a.data.sortedIndexesBuffer,a.data.sortedIndexesOffset,o),this.sortWorkerIndexesToSort=new Uint32Array(a.data.indexesToSortBuffer,a.data.indexesToSortOffset,o),this.sortWorkerPrecomputedDistances=new n(a.data.precomputedDistancesBuffer,a.data.precomputedDistancesOffset,o),this.sortWorkerTransforms=new Float32Array(a.data.transformsBuffer,a.data.transformsOffset,Ui.MaxScenes*16);else this.sortWorkerIndexesToSort=new Uint32Array(o),this.sortWorkerPrecomputedDistances=new n(o),this.sortWorkerTransforms=new Float32Array(Ui.MaxScenes*16);for(let i=0;i=mO.Info){console.log("Sorting web worker ready.");let i=this.splatMesh.getSplatDataTextures(),s=i.covariances.size,l=i.centerColors.size;console.log("Covariances texture size: "+s.x+" x "+s.y),console.log("Centers/colors texture size: "+l.x+" x "+l.y)}t()}}})}updateError(e,t){if(e instanceof hGe)return e;if(e instanceof FW)return Error("File type or server does not support progressive loading.");return t?Error(t):e}disposeSortWorker(){if(this.sortWorker)this.sortWorker.terminate();if(this.sortWorker=null,this.sortPromise=null,this.sortPromiseResolver)this.sortPromiseResolver(),this.sortPromiseResolver=null;this.preSortMessages=[],this.sortRunning=!1}removeSplatScene(e,t=!0){return this.removeSplatScenes([e],t)}removeSplatScenes(e,t=!0){if(this.isLoadingOrUnloading())throw Error("Cannot remove splat scene while another load or unload is already in progress.");if(this.isDisposingOrDisposed())throw Error("Cannot remove splat scene after dispose() is called.");let n;return this.splatSceneRemovalPromise=new Promise((r,o)=>{let a;if(t)this.loadingSpinner.removeAllTasks(),this.loadingSpinner.show(),a=this.loadingSpinner.addTask("Removing splat scene...");let i=()=>{if(t)this.loadingSpinner.hide(),this.loadingSpinner.removeTask(a)},s=(c)=>{if(i(),this.splatSceneRemovalPromise=null,!c)r();else o(c)},l=()=>{if(this.isDisposingOrDisposed())return s(),!0;return!1};n=this.sortPromise||Promise.resolve(),n.then(()=>{if(l())return;let c=[],u=[],d=[];for(let p=0;p{if(l())return;i(),this.splatMesh.scenes.forEach((p,f)=>{p.position.copy(d[f].position),p.quaternion.copy(d[f].quaternion),p.scale.copy(d[f].scale)}),this.splatMesh.updateTransforms(),this.splatRenderReady=!1,this.runSplatSort(!0).then(()=>{if(l()){this.splatRenderReady=!0;return}n=this.sortPromise||Promise.resolve(),n.then(()=>{this.splatRenderReady=!0,s()})})}).catch((p)=>{s(p)})})}),this.splatSceneRemovalPromise}start(){if(this.selfDrivenMode){if(this.webXRMode)this.renderer.setAnimationLoop(this.selfDrivenUpdateFunc);else this.requestFrameId=requestAnimationFrame(this.selfDrivenUpdateFunc);this.selfDrivenModeRunning=!0}else throw Error("Cannot start viewer unless it is in self driven mode.")}stop(){if(this.selfDrivenMode&&this.selfDrivenModeRunning){if(this.webXRMode)this.renderer.setAnimationLoop(null);else cancelAnimationFrame(this.requestFrameId);this.selfDrivenModeRunning=!1}}async dispose(){if(this.isDisposingOrDisposed())return this.disposePromise;let e=[],t=[];for(let n in this.splatSceneDownloadPromises)if(this.splatSceneDownloadPromises.hasOwnProperty(n)){let r=this.splatSceneDownloadPromises[n];t.push(r),e.push(r.promise)}if(this.sortPromise)e.push(this.sortPromise);return this.disposing=!0,this.disposePromise=Promise.all(e).finally(()=>{if(this.stop(),this.orthographicControls)this.orthographicControls.dispose(),this.orthographicControls=null;if(this.perspectiveControls)this.perspectiveControls.dispose(),this.perspectiveControls=null;if(this.controls=null,this.splatMesh)this.splatMesh.dispose(),this.splatMesh=null;if(this.sceneHelper)this.sceneHelper.dispose(),this.sceneHelper=null;if(this.resizeObserver)this.resizeObserver.unobserve(this.rootElement),this.resizeObserver=null;if(this.disposeSortWorker(),this.removeEventHandlers(),this.loadingSpinner.removeAllTasks(),this.loadingSpinner.setContainer(null),this.loadingProgressBar.hide(),this.loadingProgressBar.setContainer(null),this.infoPanel.setContainer(null),this.camera=null,this.threeScene=null,this.splatRenderReady=!1,this.initialized=!1,this.renderer){if(!this.usingExternalRenderer)this.rootElement.removeChild(this.renderer.domElement),this.renderer.dispose();this.renderer=null}if(!this.usingExternalRenderer)document.body.removeChild(this.rootElement);this.sortWorkerSortedIndexes=null,this.sortWorkerIndexesToSort=null,this.sortWorkerPrecomputedDistances=null,this.sortWorkerTransforms=null,this.disposed=!0,this.disposing=!1,this.disposePromise=null}),t.forEach((n)=>{n.abort("Scene disposed")}),this.disposePromise}selfDrivenUpdate(){if(this.selfDrivenMode&&!this.webXRMode)this.requestFrameId=requestAnimationFrame(this.selfDrivenUpdateFunc);if(this.update(),this.shouldRender())this.render(),this.consecutiveRenderFrames++;else this.consecutiveRenderFrames=0;this.renderNextFrame=!1}forceRenderNextFrame(){this.renderNextFrame=!0}shouldRender=function(){let e=0,t=new he,n=new Vo,r=0.0001;return function(){if(!this.initialized||!this.splatRenderReady||this.isDisposingOrDisposed())return!1;let o=!1,a=!1;if(this.camera){let i=this.camera.position,s=this.camera.quaternion;a=Math.abs(i.x-t.x)>r||Math.abs(i.y-t.y)>r||Math.abs(i.z-t.z)>r||Math.abs(s.x-n.x)>r||Math.abs(s.y-n.y)>r||Math.abs(s.z-n.z)>r||Math.abs(s.w-n.w)>r}if(o=this.renderMode!==dGe.Never&&(e===0||this.splatMesh.visibleRegionChanging||a||this.renderMode===dGe.Always||this.dynamicMode===!0||this.renderNextFrame),this.camera)t.copy(this.camera.position),n.copy(this.camera.quaternion);return e++,o}}();render=function(){return function(){if(!this.initialized||!this.splatRenderReady||this.isDisposingOrDisposed())return;let e=(n)=>{for(let r of n.children)if(r.visible)return!0;return!1},t=this.renderer.autoClear;if(e(this.threeScene))this.renderer.render(this.threeScene,this.camera),this.renderer.autoClear=!1;if(this.renderer.render(this.splatMesh,this.camera),this.renderer.autoClear=!1,this.sceneHelper.getFocusMarkerOpacity()>0)this.renderer.render(this.sceneHelper.focusMarker,this.camera);if(this.showControlPlane)this.renderer.render(this.sceneHelper.controlPlane,this.camera);this.renderer.autoClear=t}}();update(e,t){if(this.dropInMode)this.updateForDropInMode(e,t);if(!this.initialized||!this.splatRenderReady||this.isDisposingOrDisposed())return;if(this.controls){if(this.controls.update(),this.camera.isOrthographicCamera&&!this.usingExternalCamera)H7.setCameraPositionFromZoom(this.camera,this.camera,this.controls)}this.runSplatSort(),this.updateForRendererSizeChanges(),this.updateSplatMesh(),this.updateMeshCursor(),this.updateFPS(),this.timingSensitiveUpdates(),this.updateInfoPanel(),this.updateControlPlane()}updateForDropInMode(e,t){if(this.renderer=e,this.splatMesh)this.splatMesh.setRenderer(this.renderer);if(this.camera=t,this.controls)this.controls.object=t;this.init()}updateFPS=function(){let e=cO(),t=0;return function(){if(this.consecutiveRenderFrames>dNr){let n=cO();if(n-e>=1)this.currentFPS=t,t=0,e=n;else t++}else this.currentFPS=null}}();updateForRendererSizeChanges=function(){let e=new vt,t=new vt,n;return function(){if(!this.usingExternalCamera){if(this.renderer.getSize(t),n===void 0||n!==this.camera.isOrthographicCamera||t.x!==e.x||t.y!==e.y){if(this.camera.isOrthographicCamera)this.camera.left=-t.x/2,this.camera.right=t.x/2,this.camera.top=t.y/2,this.camera.bottom=-t.y/2;else this.camera.aspect=t.x/t.y;this.camera.updateProjectionMatrix(),e.copy(t),n=this.camera.isOrthographicCamera}}}}();timingSensitiveUpdates=function(){let e;return function(){let t=cO();if(!e)e=t;let n=t-e;this.updateCameraTransition(t),this.updateFocusMarker(n),e=t}}();updateCameraTransition=function(){let e=new he,t=new he,n=new he;return function(r){if(this.transitioningCameraTarget){t.copy(this.previousCameraTarget).sub(this.camera.position).normalize(),n.copy(this.nextCameraTarget).sub(this.camera.position).normalize();let o=Math.acos(t.dot(n)),i=(o/(Math.PI/3)*0.65+0.3)/o*(r-this.transitioningCameraTargetStartTime);if(e.copy(this.previousCameraTarget).lerp(this.nextCameraTarget,i),this.camera.lookAt(e),this.controls.target.copy(e),i>=1)this.transitioningCameraTarget=!1}}}();updateFocusMarker=function(){let e=new vt,t=!1;return function(n){if(this.getRenderDimensions(e),this.transitioningCameraTarget){this.sceneHelper.setFocusMarkerVisibility(!0);let r=Math.max(this.sceneHelper.getFocusMarkerOpacity(),0),o=Math.min(r+cNr*n,1);this.sceneHelper.setFocusMarkerOpacity(o),this.sceneHelper.updateFocusMarker(this.nextCameraTarget,this.camera,e),t=!0,this.forceRenderNextFrame()}else{let r;if(t)r=1;else r=Math.min(this.sceneHelper.getFocusMarkerOpacity(),1);if(r>0){this.sceneHelper.updateFocusMarker(this.nextCameraTarget,this.camera,e);let o=Math.max(r-uNr*n,0);if(this.sceneHelper.setFocusMarkerOpacity(o),o===0)this.sceneHelper.setFocusMarkerVisibility(!1)}if(r>0)this.forceRenderNextFrame();t=!1}}}();updateMeshCursor=function(){let e=[],t=new vt;return function(){if(this.showMeshCursor)if(this.forceRenderNextFrame(),this.getRenderDimensions(t),e.length=0,this.raycaster.setFromCameraAndScreenPosition(this.camera,this.mousePosition,t),this.raycaster.intersectSplatMesh(this.splatMesh,e),e.length>0)this.sceneHelper.setMeshCursorVisibility(!0),this.sceneHelper.positionAndOrientMeshCursor(e[0].origin,this.camera);else this.sceneHelper.setMeshCursorVisibility(!1);else{if(this.sceneHelper.getMeschCursorVisibility())this.forceRenderNextFrame();this.sceneHelper.setMeshCursorVisibility(!1)}}}();updateInfoPanel=function(){let e=new vt;return function(){if(!this.showInfo)return;let t=this.splatMesh.getSplatCount();this.getRenderDimensions(e);let n=this.controls?this.controls.target:null,r=this.showMeshCursor?this.sceneHelper.meshCursor.position:null,o=t>0?this.splatRenderCount/t*100:0;this.infoPanel.update(e,this.camera.position,n,this.camera.up,this.camera.isOrthographicCamera,r,this.currentFPS||"N/A",t,this.splatRenderCount,o,this.lastSortTime,this.focalAdjustment,this.splatMesh.getSplatScale(),this.splatMesh.getPointCloudModeEnabled())}}();updateControlPlane(){if(this.showControlPlane)this.sceneHelper.setControlPlaneVisibility(!0),this.sceneHelper.positionAndOrientControlPlane(this.controls.target,this.camera.up);else this.sceneHelper.setControlPlaneVisibility(!1)}runSplatSort=function(){let e=new Vn,t=[],n=new he(0,0,-1),r=new he(0,0,-1),o=new he,a=new he,i=[],s=[{angleThreshold:0.55,sortFractions:[0.125,0.33333,0.75]},{angleThreshold:0.65,sortFractions:[0.33333,0.66667]},{angleThreshold:0.8,sortFractions:[0.5]}];return function(l=!1,c=!1){if(!this.initialized)return Promise.resolve(!1);if(this.sortRunning)return Promise.resolve(!0);if(this.splatMesh.getSplatCount()<=0)return this.splatRenderCount=0,Promise.resolve(!1);let u=0,d=0,p=!1,f=!1;if(r.set(0,0,-1).applyQuaternion(this.camera.quaternion),u=r.dot(n),d=a.copy(this.camera.position).sub(o).length(),!l){if(!this.splatMesh.dynamicMode&&i.length===0){if(u<=0.99)p=!0;if(d>=1)f=!0;if(!p&&!f)return Promise.resolve(!1)}}this.sortRunning=!0;let{splatRenderCount:m,shouldSortAll:g}=this.gatherSceneNodesForSort();g=g||c,this.splatRenderCount=m,e.copy(this.camera.matrixWorld).invert();let v=this.perspectiveCamera||this.camera;if(e.premultiply(v.projectionMatrix),!this.splatMesh.dynamicMode)e.multiply(this.splatMesh.matrixWorld);let y=Promise.resolve(!0);if(this.gpuAcceleratedSort&&(i.length<=1||i.length%2===0))y=this.splatMesh.computeDistancesOnGPU(e,this.sortWorkerPrecomputedDistances);return y.then(()=>{if(i.length===0)if(this.splatMesh.dynamicMode||g)i.push(this.splatRenderCount);else{for(let w of s)if(u{this.sortPromiseResolver=w}),this.preSortMessages.length>0)this.preSortMessages.forEach((w)=>{this.sortWorker.postMessage(w)}),this.preSortMessages=[];if(this.sortWorker.postMessage({sort:A}),i.length===0)o.copy(this.camera.position),n.copy(r);return!0}),y}}();gatherSceneNodesForSort=function(){let e=[],t=null,n=new he,r=new he,o=new he,a=new Vn,i=new Vn,s=new Vn,l=new he,c=new he(0,0,-1),u=new he,d=(p)=>u.copy(p.max).sub(p.min).length();return function(p=!1){this.getRenderDimensions(l);let f=l.y/2/Math.tan(this.camera.fov/2*g5.DEG2RAD),m=Math.atan(l.x/2/f),g=Math.atan(l.y/2/f),v=Math.cos(m),y=Math.cos(g),x=this.splatMesh.getSplatTree();if(x){if(i.copy(this.camera.matrixWorld).invert(),!this.splatMesh.dynamicMode)i.multiply(this.splatMesh.matrixWorld);let A=0,w=0;for(let E=0;ED))continue;w+=L.data.indexes.length,e[A]=L,L.data.distanceToNode=O,A++}}e.length=A,e.sort((E,T)=>{if(E.data.distanceToNodeo.camera),t=RW((o)=>o.gl.domElement),n=RW((o)=>o.invalidate),r=wo.useRef(null);return wo.useEffect(()=>{let o=Hgn(e,t,n);return r.current=o,()=>{r.current=null,o.dispose()}},[e,t,n]),qVe((o,a)=>r.current?.controls.update(a),-1),null}function mNr({url:e}){let t=wo.useRef(null),[n,r]=wo.useState(null);if(wo.useEffect(()=>(new nGe().load(e,(a)=>{a.computeVertexNormals(),a.center(),r(a)},void 0,(a)=>{console.error("[MeshScene] PLY load error:",a)}),()=>{if(n)n.dispose()}),[e]),!n)return null;return wo.createElement("mesh",{ref:t,geometry:n},wo.createElement("meshStandardMaterial",{color:"#888888",metalness:0.3,roughness:0.7}))}function gNr({url:e,onFallback:t,onLoaded:n,autoRotate:r=!1,swayAmount:o=0.25,swaySpeed:a=0.5,cameraDistance:i=0.5,onResetReady:s,onDistanceCalculated:l}){let c=wo.useRef(null),u=wo.useRef(null),d=wo.useRef(null),p=wo.useRef(!1),f=wo.useRef(!1),m=wo.useRef(o),g=wo.useRef(a),v=wo.useRef(i),y=wo.useRef(i),x=wo.useRef({x:0,y:0,z:0}),A=wo.useRef({x:0,y:0,z:0}),w=wo.useRef(null),C=wo.useRef({active:!1,startTime:0,duration:800,startFocalPoint:{x:0,y:0,z:0},cameraOffset:{x:0,y:0,z:0}});return wo.useEffect(()=>{m.current=o,g.current=a,v.current=i},[o,a,i]),wo.useEffect(()=>{if(!c.current)return;let E=!1;return p.current=!1,(async()=>{try{let I=c.current;if(!I)return;let k=new H7({rootElement:I,cameraUp:[0,-1,0],initialCameraPosition:[0,0,-0.5],initialCameraLookAt:[...hNr],selfDrivenMode:!0,sphericalHarmonicsDegree:2,sharedMemoryForWorkers:!1});if(u.current=k,await k.addSplatScene(e,{format:zm.Ply,showLoadingUI:!1,progressiveLoad:!0,splatAlphaRemovalThreshold:5,onProgress:(L,O,B)=>{console.log(`[GaussianSplatViewer] Load progress: ${L}% - ${O}`)}}),!E){k.start(),console.log("[GaussianSplatViewer] Viewer started");let L=k.splatMesh;if(L?.calculatedSceneCenter){let O=L.calculatedSceneCenter;x.current={x:O.x,y:O.y,z:O.z},A.current={x:O.x,y:O.y,z:O.z},k.controls.target.copy(O),k.camera.position.set(O.x,O.y,O.z-0.5),k.camera.lookAt(O.x,O.y,O.z),k.camera.updateProjectionMatrix(),k.controls.update(),console.log("[GaussianSplatViewer] Setup for raycast:",{center:{x:O.x,y:O.y,z:O.z},cameraPos:{x:k.camera.position.x,y:k.camera.position.y,z:k.camera.position.z},controlsTarget:{x:k.controls.target.x,y:k.controls.target.y,z:k.controls.target.z}});let B=c.current;if(B&&k.raycaster){let U=0,D=50,N=100,_=()=>{U++;let G={x:B.offsetWidth,y:B.offsetHeight},Z={x:G.x/2,y:G.y/2},q=[];if(k.raycaster.setFromCameraAndScreenPosition(k.camera,Z,G),k.raycaster.intersectSplatMesh(k.splatMesh,q),q.length>0){console.log(`[GaussianSplatViewer] ✓ Raycast SUCCESS (attempt ${U})!`,{hitCount:q.length,allHits:q.map((oe,J)=>({index:J,origin:{x:oe.origin?.x,y:oe.origin?.y,z:oe.origin?.z},distance:oe.distance})),cameraPosition:{x:k.camera.position.x,y:k.camera.position.y,z:k.camera.position.z},calculatedCenter:{x:k.splatMesh.calculatedSceneCenter.x,y:k.splatMesh.calculatedSceneCenter.y,z:k.splatMesh.calculatedSceneCenter.z}});let H=q.reduce((oe,J)=>J.distance{if(w.current&&u.current){let oe=u.current,J=w.current,Y=oe.controls.target;if(Math.sqrt(Math.pow(Y.x-J.x,2)+Math.pow(Y.y-J.y,2)+Math.pow(Y.z-J.z,2))<0.01){console.log("[GaussianSplatViewer] Already at initial focal point, skipping reset");return}console.log("[GaussianSplatViewer] Resetting from",{x:Y.x,y:Y.y,z:Y.z},"to initial:",J),oe.previousCameraTarget.copy(Y),oe.nextCameraTarget.copy(J),oe.transitioningCameraTarget=!0,oe.transitioningCameraTargetStartTime=performance.now()/1000}});let ie=k.camera.position,j=Math.sqrt(Math.pow(ie.x-te.x,2)+Math.pow(ie.y-te.y,2)+Math.pow(ie.z-te.z,2));v.current=j,y.current=j,l?.(j),console.log("[GaussianSplatViewer] Calculated orbital distance:",j),k.controls.target.copy(te),k.controls.update(),f.current=!0,console.log("[GaussianSplatViewer] Raycast complete! Focal point:",x.current,"Orbital distance:",j)}else if(U{if(E=!0,u.current)u.current.dispose(),u.current=null}},[e,t,n]),wo.useEffect(()=>{if(!r){if(d.current)cancelAnimationFrame(d.current),d.current=null;return}let E=null,T=()=>{if(!p.current||!u.current||!f.current){E=setTimeout(T,100);return}let I=u.current,{camera:k,controls:L}=I,O=Date.now();if(L)L.clearDampedRotation(),L.clearDampedPan(),L.saveState();console.log("[Animation Start] Controls state:",{target:L?{x:L.target.x,y:L.target.y,z:L.target.z}:null,cameraPosition:{x:k.position.x,y:k.position.y,z:k.position.z},cameraUp:{x:k.up.x,y:k.up.y,z:k.up.z},enabled:L?.enabled,enableDamping:L?.enableDamping,dampingFactor:L?.dampingFactor});let B=L?L.target.clone():{x:0,y:0,z:0};console.log("[Animation Start] Initial focal point:",B);let U=()=>{if(I.transitioningCameraTarget){let Z={x:I.controls.target.x,y:I.controls.target.y,z:I.controls.target.z};x.current=Z,A.current=Z,d.current=requestAnimationFrame(U);return}let D=(Date.now()-O)/1000,N=Math.sin(D*g.current)*m.current,_=C.current,G=x.current;if(_.active){let Z=Date.now(),q=Math.min((Z-_.startTime)/_.duration,1),H=q<0.5?2*q*q:1-Math.pow(-2*q+2,2)/2,te=_.startFocalPoint,ie=A.current;if(G={x:te.x+(ie.x-te.x)*H,y:te.y+(ie.y-te.y)*H,z:te.z+(ie.z-te.z)*H},x.current=G,k.position.x=G.x+_.cameraOffset.x,k.position.y=G.y+_.cameraOffset.y,k.position.z=G.z+_.cameraOffset.z,q>=1){if(_.active=!1,L)L.target.set(G.x,G.y,G.z);console.log("[GaussianSplatViewer] Focal point transition complete, controls.target updated")}}else{let Z=v.current,q=y.current,H=Z-q;if(Math.abs(H)>0.001){let te=y.current;if(y.current+=H*0.2,Math.abs(H)>0.1)console.log("[Animation] Distance interpolating from",te.toFixed(3),"to",Z.toFixed(3))}else y.current=Z;k.position.x=G.x+Math.sin(N)*y.current,k.position.z=G.z+-Math.cos(N)*y.current,k.position.y=G.y}if(k.lookAt(G.x,G.y,G.z),!_.active&&L){let Z={x:L.target.x,y:L.target.y,z:L.target.z};if(L.target.set(G.x,G.y,G.z),Math.abs(Z.x-G.x)>0.001||Math.abs(Z.y-G.y)>0.001||Math.abs(Z.z-G.z)>0.001)console.log("[Animation] Controls.target changed from",Z,"to",{x:G.x,y:G.y,z:G.z})}d.current=requestAnimationFrame(U)};requestAnimationFrame(()=>{let D=x.current;if(k.position.set(D.x,D.y,D.z-v.current),k.lookAt(D.x,D.y,D.z),k.updateProjectionMatrix(),L)L.update();console.log("[Animation Start] Camera positioned at:",{x:k.position.x,y:k.position.y,z:k.position.z}),U()})};return T(),()=>{if(E!==null)clearTimeout(E);if(d.current)cancelAnimationFrame(d.current),d.current=null}},[r]),h("div",{ref:c,style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:20}})}function yNr({autoRotate:e,setAutoRotate:t,swayAmount:n,setSwayAmount:r,swaySpeed:o,setSwaySpeed:a,cameraDistance:i,setCameraDistance:s,isGaussianSplat:l,onResetFocalPoint:c}){let[u,d]=wo.useState(!1);if(!l)return M(Ht,{children:[h("div",{className:"pointer-events-none absolute left-4 top-4 rounded-small bg-surface-container-high/80 px-3 py-1.5 text-label-large text-on-surface shadow-md3-1 backdrop-blur-xl",children:"3D Mesh"}),M("div",{className:"pointer-events-none absolute bottom-4 left-4 rounded-small bg-surface-container-high/80 px-3 py-2 text-body-small text-on-surface-variant shadow-md3-1 backdrop-blur-xl",children:[h("div",{children:"Left drag: Rotate"}),h("div",{children:"Right drag: Pan"}),h("div",{children:"Scroll: Zoom"})]})]});return M(Ht,{children:[M("div",{className:"pointer-events-auto absolute bottom-4 right-4 flex gap-1",children:[h(yn,{icon:"tune",onClick:()=>d(!u),title:"Settings",active:u,activeAccent:!0}),c&&h(yn,{icon:"restart_alt",onClick:c,title:"Reset focal point"}),h(yn,{icon:e?"pause":"play_arrow",onClick:()=>t(!e),title:e?"Pause":"Play",active:e,activeAccent:!0})]}),u&&M("div",{className:"pointer-events-auto absolute bottom-16 right-4 flex min-w-[240px] flex-col gap-2 rounded-medium bg-surface-container p-4 text-on-surface shadow-md3-2",children:[M("div",{className:"flex flex-col gap-1",children:[M("div",{className:"flex items-center justify-between",children:[h("label",{className:"text-label-medium text-on-surface-variant",children:"Sway amount"}),h("span",{className:"text-label-medium text-on-surface-variant font-mono tabular-nums",children:n.toFixed(2)})]}),h(r3,{min:0,max:0.5,step:0.01,value:[n],onValueChange:([p])=>{if(p!==void 0)r(p)},"aria-label":"Sway amount"})]}),M("div",{className:"flex flex-col gap-1",children:[M("div",{className:"flex items-center justify-between",children:[h("label",{className:"text-label-medium text-on-surface-variant",children:"Speed"}),h("span",{className:"text-label-medium text-on-surface-variant font-mono tabular-nums",children:o.toFixed(2)})]}),h(r3,{min:0.1,max:2,step:0.1,value:[o],onValueChange:([p])=>{if(p!==void 0)a(p)},"aria-label":"Speed"})]}),M("div",{className:"flex flex-col gap-1",children:[M("div",{className:"flex items-center justify-between",children:[h("label",{className:"text-label-medium text-on-surface-variant",children:"Distance"}),h("span",{className:"text-label-medium text-on-surface-variant font-mono tabular-nums",children:i.toFixed(2)})]}),h(r3,{min:0.2,max:1.5,step:0.05,value:[i],onValueChange:([p])=>{if(p!==void 0)s(p)},"aria-label":"Distance"})]})]})]})}function vNr({file:e,onZoomChange:t,splatUrl:n,onSplatLoaded:r,autoRotate:o=!0,swayAmount:a=0.25,swaySpeed:i=0.5,cameraDistance:s=0.5,onControlsChange:l}){let c=Qo(),[u,d]=wo.useState(n||null),[p,f]=wo.useState(!!n),[m,g]=wo.useState(!1),[v,y]=wo.useState(!1),[x,A]=wo.useState(!n),w=wo.useRef(null),[C,E]=wo.useState(s),T=o,I=a,k=i,L=C;wo.useEffect(()=>{E(s)},[s]),wo.useEffect(()=>{l?.({autoRotate:T,swayAmount:I,swaySpeed:k,cameraDistance:C,isGaussianSplat:p,onResetFocalPoint:w.current||void 0})},[p,T,I,k,C,l]);let O=e.content_identity?.uuid||e.id,B=wo.useCallback(()=>{g(!0)},[]);if(wo.useEffect(()=>{y(!1),d(null),A(!0);let U=setTimeout(()=>{y(!0)},50);return()=>clearTimeout(U)},[O,n]),wo.useEffect(()=>{if(n){d(n),f(!0),A(!1);return}if(!v||!c.convertFileSrc)return;let D=e.sd_path?.Physical?.path;if(!D){console.log("[MeshViewer] No physical path available"),A(!1);return}let N=c.convertFileSrc(D);if(d(N),n)return;let _=new AbortController;return fetch(N,{signal:_.signal}).then((G)=>G.arrayBuffer()).then((G)=>{let Z=new TextDecoder().decode(G.slice(0,3000)),q=Z.includes("f_dc_0")||Z.includes("sh0")||Z.includes("sh_0"),H=Z.includes("scale_0")||Z.includes("scale_1")||Z.includes("scale_2"),te=Z.includes("opacity"),ie=Z.includes("rot_0")||Z.includes("rot_1")||Z.includes("rot_2")||Z.includes("rot_3");f(q&&(H||te||ie)),A(!1);return}).catch((G)=>{if(G.name!=="AbortError")console.error("[MeshViewer] Error detecting format:",G);A(!1)}),()=>{_.abort()}},[v,O,e.sd_path,c,n]),!u||x)return h("div",{className:"flex h-full w-full items-center justify-center",children:M("div",{className:"text-center",children:[h(ba.Thumb,{file:e,size:200}),x&&h("div",{className:"mt-4 text-body-medium text-on-surface-variant",children:"Loading 3D model..."})]})});return h("div",{className:"absolute inset-0 bg-scrim",children:p&&!m?h(gNr,{url:u,onFallback:B,onLoaded:r,autoRotate:T,swayAmount:I,swaySpeed:k,cameraDistance:L,onResetReady:(U)=>{w.current=U,l?.({autoRotate:T,swayAmount:I,swaySpeed:k,cameraDistance:C,isGaussianSplat:p,onResetFocalPoint:U})},onDistanceCalculated:(U)=>{E(U)}}):M(Ogn,{camera:{position:[0,0,5],fov:50},style:{width:"100%",height:"100%"},children:[wo.createElement("ambientLight",{intensity:0.5}),wo.createElement("spotLight",{position:[10,10,10],angle:0.3,penumbra:0.5,intensity:1}),wo.createElement("spotLight",{position:[-10,-10,-10],angle:0.3,penumbra:0.5,intensity:0.5}),h(wo.Suspense,{fallback:null,children:h(mNr,{url:u})}),h(fNr,{})]})})}var wo,hNr;var LGe=P(()=>{Fgn();Vgn();Tc();w0();Zgn();F1n();gn();le();wo=z(re(),1);hNr=[-0.00697,-0.00533,-0.61858]});var gyn="data:image/png;base64,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";var yyn="data:image/png;base64,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";var vyn="data:image/png;base64,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";function KGe(e,t=1){let n=e*t;if(n<=64)return gyn;if(n<=128)return yyn;return vyn}function byn(e){let t=new Set,n=[];for(let r of[1,2,3]){let o=KGe(e,r);if(t.has(o))continue;t.add(o),n.push(`${o} ${r}x`)}return n.join(", ")}var xyn=()=>{};function Dv({size:e=32,label:t,className:n,style:r}){return h("span",{className:n,role:t?"img":void 0,"aria-label":t,"aria-hidden":t?void 0:!0,style:{display:"inline-flex",flexShrink:0,width:e,height:e,overflow:"hidden",borderRadius:"var(--md-sys-shape-corner-full, 9999px)",background:"var(--md-sys-color-primary-container)",...r},children:h("img",{src:KGe(e),srcSet:byn(e),width:e,height:e,alt:"",draggable:!1})})}var Ayn=P(()=>{xyn();le()});function qNr(){return typeof matchMedia==="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches}function C5({atlasUrl:e,animation:t="idle",height:n,loop:r=!0,label:o,className:a,style:i}){let s=_c.tracks[t]??_c.tracks.idle;if(!s)throw Error("bundled pet without an idle track");let[l,c]=o1e.useState(0);o1e.useEffect(()=>{if(c(0),s.kind==="still"||qNr())return;let p=performance.now(),f=requestAnimationFrame(function m(g){c(g-p),f=requestAnimationFrame(m)});return()=>cancelAnimationFrame(f)},[s]);let u=nKt(s,l,r),d=(n??_c.atlas.cellHeight)/_c.atlas.cellHeight;return h("div",{role:"img","aria-label":o??_c.displayName,className:a,style:{backgroundImage:`url("${e}")`,backgroundRepeat:"no-repeat",...lq(u,d),...i}})}var o1e;var wyn=P(()=>{kD();le();o1e=z(re(),1)});var G7=P(()=>{Ayn();wyn();kD();kD()});var $yn="data:image/webp;base64,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";var fS;var d1e=P(()=>{fS=$yn});function _m(e){if(e<0)return-1;else if(e===0)return 0;else return 1}function Z7(e,t,n){return(1-n)*e+n*t}function e2n(e,t,n){if(nt)return t;return n}function Nd(e,t,n){if(nt)return t;return n}function bO(e){if(e=e%360,e<0)e=e+360;return e}function nf(e){if(e=e%360,e<0)e=e+360;return e}function tqe(e,t){return 180-Math.abs(Math.abs(e-t)-180)}function HW(e,t){let n=e[0]*t[0][0]+e[1]*t[0][1]+e[2]*t[0][2],r=e[0]*t[1][0]+e[1]*t[1][1]+e[2]*t[1][2],o=e[0]*t[2][0]+e[1]*t[2][1]+e[2]*t[2][2];return[n,r,o]}function p1e(e,t,n){return(-16777216|(e&255)<<16|(t&255)<<8|n&255)>>>0}function nqe(e){let t=Q7(e[0]),n=Q7(e[1]),r=Q7(e[2]);return p1e(t,n,r)}function GW(e){return e>>16&255}function qW(e){return e>>8&255}function ZW(e){return e&255}function r2n(e,t,n){let r=lzr,o=r[0][0]*e+r[0][1]*t+r[0][2]*n,a=r[1][0]*e+r[1][1]*t+r[1][2]*n,i=r[2][0]*e+r[2][1]*t+r[2][2]*n,s=Q7(o),l=Q7(a),c=Q7(i);return p1e(s,l,c)}function czr(e){let t=uA(GW(e)),n=uA(qW(e)),r=uA(ZW(e));return HW([t,n,r],t2n)}function rqe(e){let t=uA(GW(e)),n=uA(qW(e)),r=uA(ZW(e)),o=t2n,a=o[0][0]*t+o[0][1]*n+o[0][2]*r,i=o[1][0]*t+o[1][1]*n+o[1][2]*r,s=o[2][0]*t+o[2][1]*n+o[2][2]*r,l=n2n,c=a/l[0],u=i/l[1],d=s/l[2],p=VW(c),f=VW(u),m=VW(d),g=116*f-16,v=500*(p-f),y=200*(f-m);return[g,v,y]}function o2n(e){let t=Lv(e),n=Q7(t);return p1e(n,n,n)}function f1e(e){let t=czr(e)[1];return 116*VW(t/100)-16}function Lv(e){return 100*uzr((e+16)/116)}function QW(e){return VW(e/100)*116-16}function uA(e){let t=e/255;if(t<=0.040449936)return t/12.92*100;else return Math.pow((t+0.055)/1.055,2.4)*100}function Q7(e){let t=e/100,n=0;if(t<=0.0031308)n=t*12.92;else n=1.055*Math.pow(t,0.4166666666666667)-0.055;return e2n(0,255,Math.round(n*255))}function a2n(){return n2n}function VW(e){if(e>0.008856451679035631)return Math.pow(e,0.3333333333333333);else return(903.2962962962963*e+16)/116}function uzr(e){let r=e*e*e;if(r>0.008856451679035631)return r;else return(116*e-16)/903.2962962962963}var t2n,lzr,n2n;var N0=P(()=>{t2n=[[0.41233895,0.35762064,0.18051042],[0.2126,0.7152,0.0722],[0.01932141,0.11916382,0.95034478]],lzr=[[3.2413774792388685,-1.5376652402851851,-0.49885366846268053],[-0.9691452513005321,1.8758853451067872,0.04156585616912061],[0.05562093689691305,-0.20395524564742123,1.0571799111220335]],n2n=[95.047,100,108.883]});class p1{static make(e=a2n(),t=200/Math.PI*Lv(50)/100,n=50,r=2,o=!1){let a=e,i=a[0]*0.401288+a[1]*0.650173+a[2]*-0.051461,s=a[0]*-0.250268+a[1]*1.204414+a[2]*0.045854,l=a[0]*-0.002079+a[1]*0.048952+a[2]*0.953127,c=0.8+r/10,u=c>=0.9?Z7(0.59,0.69,(c-0.9)*10):Z7(0.525,0.59,(c-0.8)*10),d=o?1:c*(1-0.2777777777777778*Math.exp((-t-42)/92));d=d>1?1:d<0?0:d;let p=c,f=[d*(100/i)+1-d,d*(100/s)+1-d,d*(100/l)+1-d],m=1/(5*t+1),g=m*m*m*m,v=1-g,y=g*t+0.1*v*v*Math.cbrt(5*t),x=Lv(n)/e[1],A=1.48+Math.sqrt(x),w=0.725/Math.pow(x,0.2),C=w,E=[Math.pow(y*f[0]*i/100,0.42),Math.pow(y*f[1]*s/100,0.42),Math.pow(y*f[2]*l/100,0.42)],T=[400*E[0]/(E[0]+27.13),400*E[1]/(E[1]+27.13),400*E[2]/(E[2]+27.13)],I=(2*T[0]+T[1]+0.05*T[2])*w;return new p1(x,I,w,C,u,p,f,y,Math.pow(y,0.25),A)}constructor(e,t,n,r,o,a,i,s,l,c){this.n=e,this.aw=t,this.nbb=n,this.ncb=r,this.c=o,this.nc=a,this.rgbD=i,this.fl=s,this.fLRoot=l,this.z=c}}var XW=P(()=>{N0();p1.DEFAULT=p1.make()});class Hm{constructor(e,t,n,r,o,a,i,s,l){this.hue=e,this.chroma=t,this.j=n,this.q=r,this.m=o,this.s=a,this.jstar=i,this.astar=s,this.bstar=l}distance(e){let t=this.jstar-e.jstar,n=this.astar-e.astar,r=this.bstar-e.bstar,o=Math.sqrt(t*t+n*n+r*r);return 1.41*Math.pow(o,0.63)}static fromInt(e){return Hm.fromIntInViewingConditions(e,p1.DEFAULT)}static fromIntInViewingConditions(e,t){let n=(e&16711680)>>16,r=(e&65280)>>8,o=e&255,a=uA(n),i=uA(r),s=uA(o),l=0.41233895*a+0.35762064*i+0.18051042*s,c=0.2126*a+0.7152*i+0.0722*s,u=0.01932141*a+0.11916382*i+0.95034478*s,d=0.401288*l+0.650173*c-0.051461*u,p=-0.250268*l+1.204414*c+0.045854*u,f=-0.002079*l+0.048952*c+0.953127*u,m=t.rgbD[0]*d,g=t.rgbD[1]*p,v=t.rgbD[2]*f,y=Math.pow(t.fl*Math.abs(m)/100,0.42),x=Math.pow(t.fl*Math.abs(g)/100,0.42),A=Math.pow(t.fl*Math.abs(v)/100,0.42),w=_m(m)*400*y/(y+27.13),C=_m(g)*400*x/(x+27.13),E=_m(v)*400*A/(A+27.13),T=(11*w+-12*C+E)/11,I=(w+C-2*E)/9,k=(20*w+20*C+21*E)/20,L=(40*w+20*C+E)/20,B=Math.atan2(I,T)*180/Math.PI,U=nf(B),D=U*Math.PI/180,N=L*t.nbb,_=100*Math.pow(N/t.aw,t.c*t.z),G=4/t.c*Math.sqrt(_/100)*(t.aw+4)*t.fLRoot,Z=U<20.14?U+360:U,te=3846.153846153846*(0.25*(Math.cos(Z*Math.PI/180+2)+3.8))*t.nc*t.ncb*Math.sqrt(T*T+I*I)/(k+0.305),ie=Math.pow(te,0.9)*Math.pow(1.64-Math.pow(0.29,t.n),0.73),j=ie*Math.sqrt(_/100),oe=j*t.fLRoot,J=50*Math.sqrt(ie*t.c/(t.aw+4)),Y=1.7000000000000002*_/(1+0.007*_),ae=43.859649122807014*Math.log(1+0.0228*oe),ne=ae*Math.cos(D),Se=ae*Math.sin(D);return new Hm(U,j,_,G,oe,J,Y,ne,Se)}static fromJch(e,t,n){return Hm.fromJchInViewingConditions(e,t,n,p1.DEFAULT)}static fromJchInViewingConditions(e,t,n,r){let o=4/r.c*Math.sqrt(e/100)*(r.aw+4)*r.fLRoot,a=t*r.fLRoot,i=t/Math.sqrt(e/100),s=50*Math.sqrt(i*r.c/(r.aw+4)),l=n*Math.PI/180,c=1.7000000000000002*e/(1+0.007*e),u=43.859649122807014*Math.log(1+0.0228*a),d=u*Math.cos(l),p=u*Math.sin(l);return new Hm(n,t,e,o,a,s,c,d,p)}static fromUcs(e,t,n){return Hm.fromUcsInViewingConditions(e,t,n,p1.DEFAULT)}static fromUcsInViewingConditions(e,t,n,r){let o=t,a=n,i=Math.sqrt(o*o+a*a),l=(Math.exp(i*0.0228)-1)/0.0228/r.fLRoot,c=Math.atan2(a,o)*(180/Math.PI);if(c<0)c+=360;let u=e/(1-(e-100)*0.007);return Hm.fromJchInViewingConditions(u,l,c,r)}toInt(){return this.viewed(p1.DEFAULT)}viewed(e){let t=this.chroma===0||this.j===0?0:this.chroma/Math.sqrt(this.j/100),n=Math.pow(t/Math.pow(1.64-Math.pow(0.29,e.n),0.73),1.1111111111111112),r=this.hue*Math.PI/180,o=0.25*(Math.cos(r+2)+3.8),a=e.aw*Math.pow(this.j/100,1/e.c/e.z),i=o*3846.153846153846*e.nc*e.ncb,s=a/e.nbb,l=Math.sin(r),c=Math.cos(r),u=23*(s+0.305)*n/(23*i+11*n*c+108*n*l),d=u*c,p=u*l,f=(460*s+451*d+288*p)/1403,m=(460*s-891*d-261*p)/1403,g=(460*s-220*d-6300*p)/1403,v=Math.max(0,27.13*Math.abs(f)/(400-Math.abs(f))),y=_m(f)*(100/e.fl)*Math.pow(v,2.380952380952381),x=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),A=_m(m)*(100/e.fl)*Math.pow(x,2.380952380952381),w=Math.max(0,27.13*Math.abs(g)/(400-Math.abs(g))),C=_m(g)*(100/e.fl)*Math.pow(w,2.380952380952381),E=y/e.rgbD[0],T=A/e.rgbD[1],I=C/e.rgbD[2],k=1.86206786*E-1.01125463*T+0.14918677*I,L=0.38752654*E+0.62144744*T-0.00897398*I,O=-0.0158415*E-0.03412294*T+1.04996444*I;return r2n(k,L,O)}static fromXyzInViewingConditions(e,t,n,r){let o=0.401288*e+0.650173*t-0.051461*n,a=-0.250268*e+1.204414*t+0.045854*n,i=-0.002079*e+0.048952*t+0.953127*n,s=r.rgbD[0]*o,l=r.rgbD[1]*a,c=r.rgbD[2]*i,u=Math.pow(r.fl*Math.abs(s)/100,0.42),d=Math.pow(r.fl*Math.abs(l)/100,0.42),p=Math.pow(r.fl*Math.abs(c)/100,0.42),f=_m(s)*400*u/(u+27.13),m=_m(l)*400*d/(d+27.13),g=_m(c)*400*p/(p+27.13),v=(11*f+-12*m+g)/11,y=(f+m-2*g)/9,x=(20*f+20*m+21*g)/20,A=(40*f+20*m+g)/20,C=Math.atan2(y,v)*180/Math.PI,E=C<0?C+360:C>=360?C-360:C,T=E*Math.PI/180,I=A*r.nbb,k=100*Math.pow(I/r.aw,r.c*r.z),L=4/r.c*Math.sqrt(k/100)*(r.aw+4)*r.fLRoot,O=E<20.14?E+360:E,D=3846.153846153846*(0.25*(Math.cos(O*Math.PI/180+2)+3.8))*r.nc*r.ncb*Math.sqrt(v*v+y*y)/(x+0.305),N=Math.pow(D,0.9)*Math.pow(1.64-Math.pow(0.29,r.n),0.73),_=N*Math.sqrt(k/100),G=_*r.fLRoot,Z=50*Math.sqrt(N*r.c/(r.aw+4)),q=1.7000000000000002*k/(1+0.007*k),H=Math.log(1+0.0228*G)/0.0228,te=H*Math.cos(T),ie=H*Math.sin(T);return new Hm(E,_,k,L,G,Z,q,te,ie)}xyzInViewingConditions(e){let t=this.chroma===0||this.j===0?0:this.chroma/Math.sqrt(this.j/100),n=Math.pow(t/Math.pow(1.64-Math.pow(0.29,e.n),0.73),1.1111111111111112),r=this.hue*Math.PI/180,o=0.25*(Math.cos(r+2)+3.8),a=e.aw*Math.pow(this.j/100,1/e.c/e.z),i=o*3846.153846153846*e.nc*e.ncb,s=a/e.nbb,l=Math.sin(r),c=Math.cos(r),u=23*(s+0.305)*n/(23*i+11*n*c+108*n*l),d=u*c,p=u*l,f=(460*s+451*d+288*p)/1403,m=(460*s-891*d-261*p)/1403,g=(460*s-220*d-6300*p)/1403,v=Math.max(0,27.13*Math.abs(f)/(400-Math.abs(f))),y=_m(f)*(100/e.fl)*Math.pow(v,2.380952380952381),x=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),A=_m(m)*(100/e.fl)*Math.pow(x,2.380952380952381),w=Math.max(0,27.13*Math.abs(g)/(400-Math.abs(g))),C=_m(g)*(100/e.fl)*Math.pow(w,2.380952380952381),E=y/e.rgbD[0],T=A/e.rgbD[1],I=C/e.rgbD[2],k=1.86206786*E-1.01125463*T+0.14918677*I,L=0.38752654*E+0.62144744*T-0.00897398*I,O=-0.0158415*E-0.03412294*T+1.04996444*I;return[k,L,O]}}var WW=P(()=>{N0();XW()});class _r{static sanitizeRadians(e){return(e+Math.PI*8)%(Math.PI*2)}static trueDelinearized(e){let t=e/100,n=0;if(t<=0.0031308)n=t*12.92;else n=1.055*Math.pow(t,0.4166666666666667)-0.055;return n*255}static chromaticAdaptation(e){let t=Math.pow(Math.abs(e),0.42);return _m(e)*400*t/(t+27.13)}static hueOf(e){let t=HW(e,_r.SCALED_DISCOUNT_FROM_LINRGB),n=_r.chromaticAdaptation(t[0]),r=_r.chromaticAdaptation(t[1]),o=_r.chromaticAdaptation(t[2]),a=(11*n+-12*r+o)/11,i=(n+r-2*o)/9;return Math.atan2(i,a)}static areInCyclicOrder(e,t,n){let r=_r.sanitizeRadians(t-e),o=_r.sanitizeRadians(n-e);return r100.01||k[1]>100.01||k[2]>100.01)return 0;return nqe(k)}r=r-(U-n)*r/(2*U)}return 0}static solveToInt(e,t,n){if(t<0.0001||n<0.0001||n>99.9999)return o2n(n);e=nf(e);let r=e/180*Math.PI,o=Lv(n),a=_r.findResultByJ(r,t,o);if(a!==0)return a;let i=_r.bisectToLimit(o,r);return nqe(i)}static solveToCam(e,t,n){return Hm.fromInt(_r.solveToInt(e,t,n))}}var i2n=P(()=>{N0();WW();XW();_r.SCALED_DISCOUNT_FROM_LINRGB=[[0.001200833568784504,0.002389694492170889,0.0002795742885861124],[0.0005891086651375999,0.0029785502573438758,0.0003270666104008398],[0.00010146692491640572,0.0005364214359186694,0.0032979401770712076]];_r.LINRGB_FROM_SCALED_DISCOUNT=[[1373.2198709594231,-1100.4251190754821,-7.278681089101213],[-271.815969077903,559.6580465940733,-32.46047482791194],[1.9622899599665666,-57.173814538844006,308.7233197812385]];_r.Y_FROM_LINRGB=[0.2126,0.7152,0.0722];_r.CRITICAL_PLANES=[0.015176349177441876,0.045529047532325624,0.07588174588720938,0.10623444424209313,0.13658714259697685,0.16693984095186062,0.19729253930674434,0.2276452376616281,0.2579979360165119,0.28835063437139563,0.3188300904430532,0.350925934958123,0.3848314933096426,0.42057480301049466,0.458183274052838,0.4976837250274023,0.5391024159806381,0.5824650784040898,0.6277969426914107,0.6751227633498623,0.7244668422128921,0.775853049866786,0.829304845476233,0.8848452951698498,0.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776]});class gr{static from(e,t,n){return new gr(_r.solveToInt(e,t,n))}static fromInt(e){return new gr(e)}toInt(){return this.argb}get hue(){return this.internalHue}set hue(e){this.setInternalState(_r.solveToInt(e,this.internalChroma,this.internalTone))}get chroma(){return this.internalChroma}set chroma(e){this.setInternalState(_r.solveToInt(this.internalHue,e,this.internalTone))}get tone(){return this.internalTone}set tone(e){this.setInternalState(_r.solveToInt(this.internalHue,this.internalChroma,e))}setValue(e,t){this[e]=t}toString(){return`HCT(${this.hue.toFixed(0)}, ${this.chroma.toFixed(0)}, ${this.tone.toFixed(0)})`}static isBlue(e){return e>=250&&e<270}static isYellow(e){return e>=105&&e<125}static isCyan(e){return e>=170&&e<207}constructor(e){this.argb=e;let t=Hm.fromInt(e);this.internalHue=t.hue,this.internalChroma=t.chroma,this.internalTone=f1e(e),this.argb=e}setInternalState(e){let t=Hm.fromInt(e);this.internalHue=t.hue,this.internalChroma=t.chroma,this.internalTone=f1e(e),this.argb=e}inViewingConditions(e){let n=Hm.fromInt(this.toInt()).xyzInViewingConditions(e),r=Hm.fromXyzInViewingConditions(n[0],n[1],n[2],p1.make());return gr.from(r.hue,r.chroma,QW(n[1]))}}var Xy=P(()=>{N0();WW();i2n();XW()});var oqe=P(()=>{WW();Xy();N0()});class ol{static ratioOfTones(e,t){return e=Nd(0,100,e),t=Nd(0,100,t),ol.ratioOfYs(Lv(e),Lv(t))}static ratioOfYs(e,t){let n=e>t?e:t,r=n===t?e:t;return(n+5)/(r+5)}static lighter(e,t){if(e<0||e>100)return-1;let n=Lv(e),r=t*(n+5)-5,o=ol.ratioOfYs(r,n),a=Math.abs(o-t);if(o0.04)return-1;let i=QW(r)+0.4;if(i<0||i>100)return-1;return i}static darker(e,t){if(e<0||e>100)return-1;let n=Lv(e),r=(n+5)/t-5,o=ol.ratioOfYs(n,r),a=Math.abs(o-t);if(o0.04)return-1;let i=QW(r)-0.4;if(i<0||i>100)return-1;return i}static lighterUnsafe(e,t){let n=ol.lighter(e,t);return n<0?100:n}static darkerUnsafe(e,t){let n=ol.darker(e,t);return n<0?0:n}}var aqe=P(()=>{N0()});class X7{static isDisliked(e){let t=Math.round(e.hue)>=90&&Math.round(e.hue)<=111,n=Math.round(e.chroma)>16,r=Math.round(e.tone)<65;return t&&n&&r}static fixIfDisliked(e){if(X7.isDisliked(e))return gr.from(e.hue,e.chroma,70);return e}}var m1e=P(()=>{Xy()});function dzr(e,t,n){if(e.name!==n.name)throw Error(`Attempting to extend color ${e.name} with color ${n.name} of different name for spec version ${t}.`);if(e.isBackground!==n.isBackground)throw Error(`Attempting to extend color ${e.name} as a ${e.isBackground?"background":"foreground"} with color ${n.name} as a ${n.isBackground?"background":"foreground"} for spec version ${t}.`)}function lo(e,t,n){return dzr(e,t,n),zt.fromPalette({name:e.name,palette:(r)=>r.specVersion===t?n.palette(r):e.palette(r),tone:(r)=>r.specVersion===t?n.tone(r):e.tone(r),isBackground:e.isBackground,chromaMultiplier:(r)=>{let o=r.specVersion===t?n.chromaMultiplier:e.chromaMultiplier;return o!==void 0?o(r):1},background:(r)=>{let o=r.specVersion===t?n.background:e.background;return o!==void 0?o(r):void 0},secondBackground:(r)=>{let o=r.specVersion===t?n.secondBackground:e.secondBackground;return o!==void 0?o(r):void 0},contrastCurve:(r)=>{let o=r.specVersion===t?n.contrastCurve:e.contrastCurve;return o!==void 0?o(r):void 0},toneDeltaPair:(r)=>{let o=r.specVersion===t?n.toneDeltaPair:e.toneDeltaPair;return o!==void 0?o(r):void 0}})}class zt{static fromPalette(e){return new zt(e.name??"",e.palette,e.tone??zt.getInitialToneFromBackground(e.background),e.isBackground??!1,e.chromaMultiplier,e.background,e.secondBackground,e.contrastCurve,e.toneDeltaPair)}static getInitialToneFromBackground(e){if(e===void 0)return(t)=>50;return(t)=>e(t)?e(t).getTone(t):50}constructor(e,t,n,r,o,a,i,s,l){if(this.name=e,this.palette=t,this.tone=n,this.isBackground=r,this.chromaMultiplier=o,this.background=a,this.secondBackground=i,this.contrastCurve=s,this.toneDeltaPair=l,this.hctCache=new Map,!a&&i)throw Error(`Color ${e} has secondBackgrounddefined, but background is not defined.`);if(!a&&s)throw Error(`Color ${e} has contrastCurvedefined, but background is not defined.`);if(a&&!s)throw Error(`Color ${e} has backgrounddefined, but contrastCurve is not defined.`)}clone(){return zt.fromPalette({name:this.name,palette:this.palette,tone:this.tone,isBackground:this.isBackground,chromaMultiplier:this.chromaMultiplier,background:this.background,secondBackground:this.secondBackground,contrastCurve:this.contrastCurve,toneDeltaPair:this.toneDeltaPair})}clearCache(){this.hctCache.clear()}getArgb(e){return this.getHct(e).toInt()}getHct(e){let t=this.hctCache.get(e);if(t!=null)return t;let n=s2n(e.specVersion).getHct(e,this);if(this.hctCache.size>4)this.hctCache.clear();return this.hctCache.set(e,n),n}getTone(e){return s2n(e.specVersion).getTone(e,this)}static foregroundTone(e,t){let n=ol.lighterUnsafe(e,t),r=ol.darkerUnsafe(e,t),o=ol.ratioOfTones(n,e),a=ol.ratioOfTones(r,e);if(zt.tonePrefersLightForeground(e)){let s=Math.abs(o-a)<0.1&&o=t||o>=a||s?n:r}else return a>=t||a>=o?r:n}static tonePrefersLightForeground(e){return Math.round(e)<60}static toneAllowsLightForeground(e){return Math.round(e)<=49}static enableLightForeground(e){if(zt.tonePrefersLightForeground(e)&&!zt.toneAllowsLightForeground(e))return 49;return e}}class l2n{getHct(e,t){let n=t.getTone(e);return t.palette(e).getHct(n)}getTone(e,t){let n=e.contrastLevel<0,r=t.toneDeltaPair?t.toneDeltaPair(e):void 0;if(r){let{roleA:o,roleB:a,delta:i,polarity:s,stayTogether:l}=r,c=s==="nearer"||s==="lighter"&&!e.isDark||s==="darker"&&e.isDark,u=c?o:a,d=c?a:o,p=t.name===u.name,f=e.isDark?1:-1,m=u.tone(e),g=d.tone(e);if(t.background&&u.contrastCurve&&d.contrastCurve){let v=t.background(e),y=u.contrastCurve(e),x=d.contrastCurve(e);if(v&&y&&x){let A=v.getTone(e),w=y.get(e.contrastLevel),C=x.get(e.contrastLevel);if(ol.ratioOfTones(A,m)=i);else m=Nd(0,100,g-i*f);if(50<=m&&m<60)if(f>0)m=60,g=Math.max(g,m+i*f);else m=49,g=Math.min(g,m+i*f);else if(50<=g&&g<60)if(l)if(f>0)m=60,g=Math.max(g,m+i*f);else m=49,g=Math.min(g,m+i*f);else if(f>0)g=60;else g=49;return p?m:g}else{let o=t.tone(e);if(t.background==null||t.background(e)===void 0||t.contrastCurve==null||t.contrastCurve(e)===void 0)return o;let a=t.background(e).getTone(e),i=t.contrastCurve(e).get(e.contrastLevel);if(ol.ratioOfTones(a,o)>=i);else o=zt.foregroundTone(a,i);if(n)o=zt.foregroundTone(a,i);if(t.isBackground&&50<=o&&o<60)if(ol.ratioOfTones(49,a)>=i)o=49;else o=60;if(t.secondBackground==null||t.secondBackground(e)===void 0)return o;let[s,l]=[t.background,t.secondBackground],[c,u]=[s(e).getTone(e),l(e).getTone(e)],[d,p]=[Math.max(c,u),Math.min(c,u)];if(ol.ratioOfTones(d,o)>=i&&ol.ratioOfTones(p,o)>=i)return o;let f=ol.lighter(d,i),m=ol.darker(p,i),g=[];if(f!==-1)g.push(f);if(m!==-1)g.push(m);if(zt.tonePrefersLightForeground(c)||zt.tonePrefersLightForeground(u))return f<0?100:f;if(g.length===1)return g[0];return m<0?0:m}}}class c2n{getHct(e,t){let n=t.palette(e),r=t.getTone(e),o=n.hue,a=n.chroma*(t.chromaMultiplier?t.chromaMultiplier(e):1);return gr.from(o,a,r)}getTone(e,t){let n=t.toneDeltaPair?t.toneDeltaPair(e):void 0;if(n){let{roleA:r,roleB:o,polarity:a,constraint:i}=n,s=a==="darker"||a==="relative_lighter"&&e.isDark||a==="relative_darker"&&!e.isDark?-n.delta:n.delta,l=t.name===r.name,c=l?r:o,u=l?o:r,d=c.tone(e),p=u.getTone(e),f=s*(l?1:-1);if(i==="exact")d=Nd(0,100,p+f);else if(i==="nearer")if(f>0)d=Nd(0,100,Nd(p,p+f,d));else d=Nd(0,100,Nd(p+f,p,d));else if(i==="farther")if(f>0)d=Nd(p+f,100,d);else d=Nd(0,p+f,d);if(t.background&&t.contrastCurve){let m=t.background(e),g=t.contrastCurve(e);if(m&&g){let v=m.getTone(e),y=g.get(e.contrastLevel);d=ol.ratioOfTones(v,d)>=y&&e.contrastLevel>=0?d:zt.foregroundTone(v,y)}}if(t.isBackground&&!t.name.endsWith("_fixed_dim"))if(d>=57)d=Nd(65,100,d);else d=Nd(0,49,d);return d}else{let r=t.tone(e);if(t.background==null||t.background(e)===void 0||t.contrastCurve==null||t.contrastCurve(e)===void 0)return r;let o=t.background(e).getTone(e),a=t.contrastCurve(e).get(e.contrastLevel);if(r=ol.ratioOfTones(o,r)>=a&&e.contrastLevel>=0?r:zt.foregroundTone(o,a),t.isBackground&&!t.name.endsWith("_fixed_dim"))if(r>=57)r=Nd(65,100,r);else r=Nd(0,49,r);if(t.secondBackground==null||t.secondBackground(e)===void 0)return r;let[i,s]=[t.background,t.secondBackground],[l,c]=[i(e).getTone(e),s(e).getTone(e)],[u,d]=[Math.max(l,c),Math.min(l,c)];if(ol.ratioOfTones(u,r)>=a&&ol.ratioOfTones(d,r)>=a)return r;let p=ol.lighter(u,a),f=ol.darker(d,a),m=[];if(p!==-1)m.push(p);if(f!==-1)m.push(f);if(zt.tonePrefersLightForeground(l)||zt.tonePrefersLightForeground(c))return p<0?100:p;if(m.length===1)return m[0];return f<0?0:f}}}function s2n(e){return e==="2025"?fzr:pzr}var pzr,fzr;var h1e=P(()=>{aqe();Xy();pzr=new l2n,fzr=new c2n});class Wn{static fromInt(e){let t=gr.fromInt(e);return Wn.fromHct(t)}static fromHct(e){return new Wn(e.hue,e.chroma,e)}static fromHueAndChroma(e,t){let n=new u2n(e,t).create();return new Wn(e,t,n)}constructor(e,t,n){this.hue=e,this.chroma=t,this.keyColor=n,this.cache=new Map}tone(e){let t=this.cache.get(e);if(t===void 0){if(e==99&&gr.isYellow(this.hue))t=this.averageArgb(this.tone(98),this.tone(100));else t=gr.from(this.hue,this.chroma,e).toInt();this.cache.set(e,t)}return t}getHct(e){return gr.fromInt(this.tone(e))}averageArgb(e,t){let n=e>>>16&255,r=e>>>8&255,o=e&255,a=t>>>16&255,i=t>>>8&255,s=t&255,l=Math.round((n+a)/2),c=Math.round((r+i)/2),u=Math.round((o+s)/2);return(-16777216|(l&255)<<16|(c&255)<<8|u&255)>>>0}}class u2n{constructor(e,t){this.hue=e,this.requestedChroma=t,this.chromaCache=new Map,this.maxChromaValue=200}create(){let r=0,o=100;while(r=this.requestedChroma-0.01)if(Math.abs(r-50){Xy()});class W7{constructor(e){this.input=e,this.hctsByTempCache=[],this.hctsByHueCache=[],this.tempsByHctCache=new Map,this.inputRelativeTemperatureCache=-1,this.complementCache=null}get hctsByTemp(){if(this.hctsByTempCache.length>0)return this.hctsByTempCache;let e=this.hctsByHue.concat([this.input]),t=this.tempsByHct;return e.sort((n,r)=>t.get(n)-t.get(r)),this.hctsByTempCache=e,e}get warmest(){return this.hctsByTemp[this.hctsByTemp.length-1]}get coldest(){return this.hctsByTemp[0]}analogous(e=5,t=12){let n=Math.round(this.input.hue),r=this.hctsByHue[n],o=this.relativeTemperature(r),a=[r],i=0;for(let f=0;f<360;f++){let m=bO(n+f),g=this.hctsByHue[m],v=this.relativeTemperature(g),y=Math.abs(v-o);o=v,i+=y}let s=1,l=i/t,c=0;o=this.relativeTemperature(r);while(a.length=y,A=1;while(x&&a.length=w,A++}if(o=g,s++,s>360){while(a.length=a.length)m=m%a.length;u.splice(0,0,a[m])}let p=e-d-1;for(let f=1;f=a.length)m=m%a.length;u.push(a[m])}return u}get complement(){if(this.complementCache!=null)return this.complementCache;let e=this.coldest.hue,t=this.tempsByHct.get(this.coldest),n=this.warmest.hue,o=this.tempsByHct.get(this.warmest)-t,a=W7.isBetween(this.input.hue,e,n),i=a?n:e,s=a?e:n,l=1,c=1000,u=this.hctsByHue[Math.round(this.input.hue)],d=1-this.inputRelativeTemperature;for(let p=0;p<=360;p+=1){let f=nf(i+l*p);if(!W7.isBetween(f,i,s))continue;let m=this.hctsByHue[Math.round(f)],g=(this.tempsByHct.get(m)-t)/o,v=Math.abs(d-g);if(v=0)return this.inputRelativeTemperatureCache;return this.inputRelativeTemperatureCache=this.relativeTemperature(this.input),this.inputRelativeTemperatureCache}get tempsByHct(){if(this.tempsByHctCache.size>0)return this.tempsByHctCache;let e=this.hctsByHue.concat([this.input]),t=new Map;for(let n of e)t.set(n,W7.rawTemperature(n));return this.tempsByHctCache=t,t}get hctsByHue(){if(this.hctsByHueCache.length>0)return this.hctsByHueCache;let e=[];for(let t=0;t<=360;t+=1){let n=gr.from(t,this.input.chroma,this.input.tone);e.push(n)}return this.hctsByHueCache=e,this.hctsByHueCache}static isBetween(e,t,n){if(t{Xy();N0()});class kr{constructor(e,t,n,r){this.low=e,this.normal=t,this.medium=n,this.high=r}get(e){if(e<=-1)return this.low;else if(e<0)return Z7(this.low,this.normal,(e- -1)/1);else if(e<0.5)return Z7(this.normal,this.medium,(e-0)/0.5);else if(e<1)return Z7(this.medium,this.high,(e-0.5)/0.5);else return this.high}}var sqe=()=>{};class Ai{constructor(e,t,n,r,o,a){this.roleA=e,this.roleB=t,this.delta=n,this.polarity=r,this.stayTogether=o,this.constraint=a,this.constraint=a??"exact"}}var yt;var z0=P(()=>{(function(e){e[e.MONOCHROME=0]="MONOCHROME",e[e.NEUTRAL=1]="NEUTRAL",e[e.TONAL_SPOT=2]="TONAL_SPOT",e[e.VIBRANT=3]="VIBRANT",e[e.EXPRESSIVE=4]="EXPRESSIVE",e[e.FIDELITY=5]="FIDELITY",e[e.CONTENT=6]="CONTENT",e[e.RAINBOW=7]="RAINBOW",e[e.FRUIT_SALAD=8]="FRUIT_SALAD"})(yt||(yt={}))});function xO(e){return e.variant===yt.FIDELITY||e.variant===yt.CONTENT}function ec(e){return e.variant===yt.MONOCHROME}function mzr(e,t,n,r){let o=n,a=gr.from(e,t,n);if(a.chromas.chroma)break;if(Math.abs(s.chroma-t)<0.4)break;let l=Math.abs(s.chroma-t),c=Math.abs(a.chroma-t);if(le.primaryPalette,tone:(e)=>e.primaryPalette.keyColor.tone})}secondaryPaletteKeyColor(){return zt.fromPalette({name:"secondary_palette_key_color",palette:(e)=>e.secondaryPalette,tone:(e)=>e.secondaryPalette.keyColor.tone})}tertiaryPaletteKeyColor(){return zt.fromPalette({name:"tertiary_palette_key_color",palette:(e)=>e.tertiaryPalette,tone:(e)=>e.tertiaryPalette.keyColor.tone})}neutralPaletteKeyColor(){return zt.fromPalette({name:"neutral_palette_key_color",palette:(e)=>e.neutralPalette,tone:(e)=>e.neutralPalette.keyColor.tone})}neutralVariantPaletteKeyColor(){return zt.fromPalette({name:"neutral_variant_palette_key_color",palette:(e)=>e.neutralVariantPalette,tone:(e)=>e.neutralVariantPalette.keyColor.tone})}errorPaletteKeyColor(){return zt.fromPalette({name:"error_palette_key_color",palette:(e)=>e.errorPalette,tone:(e)=>e.errorPalette.keyColor.tone})}background(){return zt.fromPalette({name:"background",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?6:98,isBackground:!0})}onBackground(){return zt.fromPalette({name:"on_background",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?90:10,background:(e)=>this.background(),contrastCurve:(e)=>new kr(3,3,4.5,7)})}surface(){return zt.fromPalette({name:"surface",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?6:98,isBackground:!0})}surfaceDim(){return zt.fromPalette({name:"surface_dim",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?6:new kr(87,87,80,75).get(e.contrastLevel),isBackground:!0})}surfaceBright(){return zt.fromPalette({name:"surface_bright",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?new kr(24,24,29,34).get(e.contrastLevel):98,isBackground:!0})}surfaceContainerLowest(){return zt.fromPalette({name:"surface_container_lowest",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?new kr(4,4,2,0).get(e.contrastLevel):100,isBackground:!0})}surfaceContainerLow(){return zt.fromPalette({name:"surface_container_low",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?new kr(10,10,11,12).get(e.contrastLevel):new kr(96,96,96,95).get(e.contrastLevel),isBackground:!0})}surfaceContainer(){return zt.fromPalette({name:"surface_container",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?new kr(12,12,16,20).get(e.contrastLevel):new kr(94,94,92,90).get(e.contrastLevel),isBackground:!0})}surfaceContainerHigh(){return zt.fromPalette({name:"surface_container_high",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?new kr(17,17,21,25).get(e.contrastLevel):new kr(92,92,88,85).get(e.contrastLevel),isBackground:!0})}surfaceContainerHighest(){return zt.fromPalette({name:"surface_container_highest",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?new kr(22,22,26,30).get(e.contrastLevel):new kr(90,90,84,80).get(e.contrastLevel),isBackground:!0})}onSurface(){return zt.fromPalette({name:"on_surface",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?90:10,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(4.5,7,11,21)})}surfaceVariant(){return zt.fromPalette({name:"surface_variant",palette:(e)=>e.neutralVariantPalette,tone:(e)=>e.isDark?30:90,isBackground:!0})}onSurfaceVariant(){return zt.fromPalette({name:"on_surface_variant",palette:(e)=>e.neutralVariantPalette,tone:(e)=>e.isDark?80:30,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(3,4.5,7,11)})}inverseSurface(){return zt.fromPalette({name:"inverse_surface",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?90:20,isBackground:!0})}inverseOnSurface(){return zt.fromPalette({name:"inverse_on_surface",palette:(e)=>e.neutralPalette,tone:(e)=>e.isDark?20:95,background:(e)=>this.inverseSurface(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}outline(){return zt.fromPalette({name:"outline",palette:(e)=>e.neutralVariantPalette,tone:(e)=>e.isDark?60:50,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1.5,3,4.5,7)})}outlineVariant(){return zt.fromPalette({name:"outline_variant",palette:(e)=>e.neutralVariantPalette,tone:(e)=>e.isDark?30:80,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5)})}shadow(){return zt.fromPalette({name:"shadow",palette:(e)=>e.neutralPalette,tone:(e)=>0})}scrim(){return zt.fromPalette({name:"scrim",palette:(e)=>e.neutralPalette,tone:(e)=>0})}surfaceTint(){return zt.fromPalette({name:"surface_tint",palette:(e)=>e.primaryPalette,tone:(e)=>e.isDark?80:40,isBackground:!0})}primary(){return zt.fromPalette({name:"primary",palette:(e)=>e.primaryPalette,tone:(e)=>{if(ec(e))return e.isDark?100:0;return e.isDark?80:40},isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(3,4.5,7,7),toneDeltaPair:(e)=>new Ai(this.primaryContainer(),this.primary(),10,"nearer",!1)})}primaryDim(){return}onPrimary(){return zt.fromPalette({name:"on_primary",palette:(e)=>e.primaryPalette,tone:(e)=>{if(ec(e))return e.isDark?10:90;return e.isDark?20:100},background:(e)=>this.primary(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}primaryContainer(){return zt.fromPalette({name:"primary_container",palette:(e)=>e.primaryPalette,tone:(e)=>{if(xO(e))return e.sourceColorHct.tone;if(ec(e))return e.isDark?85:25;return e.isDark?30:90},isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.primaryContainer(),this.primary(),10,"nearer",!1)})}onPrimaryContainer(){return zt.fromPalette({name:"on_primary_container",palette:(e)=>e.primaryPalette,tone:(e)=>{if(xO(e))return zt.foregroundTone(this.primaryContainer().tone(e),4.5);if(ec(e))return e.isDark?0:100;return e.isDark?90:30},background:(e)=>this.primaryContainer(),contrastCurve:(e)=>new kr(3,4.5,7,11)})}inversePrimary(){return zt.fromPalette({name:"inverse_primary",palette:(e)=>e.primaryPalette,tone:(e)=>e.isDark?40:80,background:(e)=>this.inverseSurface(),contrastCurve:(e)=>new kr(3,4.5,7,7)})}secondary(){return zt.fromPalette({name:"secondary",palette:(e)=>e.secondaryPalette,tone:(e)=>e.isDark?80:40,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(3,4.5,7,7),toneDeltaPair:(e)=>new Ai(this.secondaryContainer(),this.secondary(),10,"nearer",!1)})}secondaryDim(){return}onSecondary(){return zt.fromPalette({name:"on_secondary",palette:(e)=>e.secondaryPalette,tone:(e)=>{if(ec(e))return e.isDark?10:100;else return e.isDark?20:100},background:(e)=>this.secondary(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}secondaryContainer(){return zt.fromPalette({name:"secondary_container",palette:(e)=>e.secondaryPalette,tone:(e)=>{let t=e.isDark?30:90;if(ec(e))return e.isDark?30:85;if(!xO(e))return t;return mzr(e.secondaryPalette.hue,e.secondaryPalette.chroma,t,e.isDark?!1:!0)},isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.secondaryContainer(),this.secondary(),10,"nearer",!1)})}onSecondaryContainer(){return zt.fromPalette({name:"on_secondary_container",palette:(e)=>e.secondaryPalette,tone:(e)=>{if(ec(e))return e.isDark?90:10;if(!xO(e))return e.isDark?90:30;return zt.foregroundTone(this.secondaryContainer().tone(e),4.5)},background:(e)=>this.secondaryContainer(),contrastCurve:(e)=>new kr(3,4.5,7,11)})}tertiary(){return zt.fromPalette({name:"tertiary",palette:(e)=>e.tertiaryPalette,tone:(e)=>{if(ec(e))return e.isDark?90:25;return e.isDark?80:40},isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(3,4.5,7,7),toneDeltaPair:(e)=>new Ai(this.tertiaryContainer(),this.tertiary(),10,"nearer",!1)})}tertiaryDim(){return}onTertiary(){return zt.fromPalette({name:"on_tertiary",palette:(e)=>e.tertiaryPalette,tone:(e)=>{if(ec(e))return e.isDark?10:90;return e.isDark?20:100},background:(e)=>this.tertiary(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}tertiaryContainer(){return zt.fromPalette({name:"tertiary_container",palette:(e)=>e.tertiaryPalette,tone:(e)=>{if(ec(e))return e.isDark?60:49;if(!xO(e))return e.isDark?30:90;let t=e.tertiaryPalette.getHct(e.sourceColorHct.tone);return X7.fixIfDisliked(t).tone},isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.tertiaryContainer(),this.tertiary(),10,"nearer",!1)})}onTertiaryContainer(){return zt.fromPalette({name:"on_tertiary_container",palette:(e)=>e.tertiaryPalette,tone:(e)=>{if(ec(e))return e.isDark?0:100;if(!xO(e))return e.isDark?90:30;return zt.foregroundTone(this.tertiaryContainer().tone(e),4.5)},background:(e)=>this.tertiaryContainer(),contrastCurve:(e)=>new kr(3,4.5,7,11)})}error(){return zt.fromPalette({name:"error",palette:(e)=>e.errorPalette,tone:(e)=>e.isDark?80:40,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(3,4.5,7,7),toneDeltaPair:(e)=>new Ai(this.errorContainer(),this.error(),10,"nearer",!1)})}errorDim(){return}onError(){return zt.fromPalette({name:"on_error",palette:(e)=>e.errorPalette,tone:(e)=>e.isDark?20:100,background:(e)=>this.error(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}errorContainer(){return zt.fromPalette({name:"error_container",palette:(e)=>e.errorPalette,tone:(e)=>e.isDark?30:90,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.errorContainer(),this.error(),10,"nearer",!1)})}onErrorContainer(){return zt.fromPalette({name:"on_error_container",palette:(e)=>e.errorPalette,tone:(e)=>{if(ec(e))return e.isDark?90:10;return e.isDark?90:30},background:(e)=>this.errorContainer(),contrastCurve:(e)=>new kr(3,4.5,7,11)})}primaryFixed(){return zt.fromPalette({name:"primary_fixed",palette:(e)=>e.primaryPalette,tone:(e)=>ec(e)?40:90,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.primaryFixed(),this.primaryFixedDim(),10,"lighter",!0)})}primaryFixedDim(){return zt.fromPalette({name:"primary_fixed_dim",palette:(e)=>e.primaryPalette,tone:(e)=>ec(e)?30:80,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.primaryFixed(),this.primaryFixedDim(),10,"lighter",!0)})}onPrimaryFixed(){return zt.fromPalette({name:"on_primary_fixed",palette:(e)=>e.primaryPalette,tone:(e)=>ec(e)?100:10,background:(e)=>this.primaryFixedDim(),secondBackground:(e)=>this.primaryFixed(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}onPrimaryFixedVariant(){return zt.fromPalette({name:"on_primary_fixed_variant",palette:(e)=>e.primaryPalette,tone:(e)=>ec(e)?90:30,background:(e)=>this.primaryFixedDim(),secondBackground:(e)=>this.primaryFixed(),contrastCurve:(e)=>new kr(3,4.5,7,11)})}secondaryFixed(){return zt.fromPalette({name:"secondary_fixed",palette:(e)=>e.secondaryPalette,tone:(e)=>ec(e)?80:90,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.secondaryFixed(),this.secondaryFixedDim(),10,"lighter",!0)})}secondaryFixedDim(){return zt.fromPalette({name:"secondary_fixed_dim",palette:(e)=>e.secondaryPalette,tone:(e)=>ec(e)?70:80,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.secondaryFixed(),this.secondaryFixedDim(),10,"lighter",!0)})}onSecondaryFixed(){return zt.fromPalette({name:"on_secondary_fixed",palette:(e)=>e.secondaryPalette,tone:(e)=>10,background:(e)=>this.secondaryFixedDim(),secondBackground:(e)=>this.secondaryFixed(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}onSecondaryFixedVariant(){return zt.fromPalette({name:"on_secondary_fixed_variant",palette:(e)=>e.secondaryPalette,tone:(e)=>ec(e)?25:30,background:(e)=>this.secondaryFixedDim(),secondBackground:(e)=>this.secondaryFixed(),contrastCurve:(e)=>new kr(3,4.5,7,11)})}tertiaryFixed(){return zt.fromPalette({name:"tertiary_fixed",palette:(e)=>e.tertiaryPalette,tone:(e)=>ec(e)?40:90,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.tertiaryFixed(),this.tertiaryFixedDim(),10,"lighter",!0)})}tertiaryFixedDim(){return zt.fromPalette({name:"tertiary_fixed_dim",palette:(e)=>e.tertiaryPalette,tone:(e)=>ec(e)?30:80,isBackground:!0,background:(e)=>this.highestSurface(e),contrastCurve:(e)=>new kr(1,1,3,4.5),toneDeltaPair:(e)=>new Ai(this.tertiaryFixed(),this.tertiaryFixedDim(),10,"lighter",!0)})}onTertiaryFixed(){return zt.fromPalette({name:"on_tertiary_fixed",palette:(e)=>e.tertiaryPalette,tone:(e)=>ec(e)?100:10,background:(e)=>this.tertiaryFixedDim(),secondBackground:(e)=>this.tertiaryFixed(),contrastCurve:(e)=>new kr(4.5,7,11,21)})}onTertiaryFixedVariant(){return zt.fromPalette({name:"on_tertiary_fixed_variant",palette:(e)=>e.tertiaryPalette,tone:(e)=>ec(e)?90:30,background:(e)=>this.tertiaryFixedDim(),secondBackground:(e)=>this.tertiaryFixed(),contrastCurve:(e)=>new kr(3,4.5,7,11)})}highestSurface(e){return e.isDark?this.surfaceBright():this.surfaceDim()}}var d2n=P(()=>{m1e();Xy();sqe();h1e();z0()});function Aa(e,t=0,n=100,r=1){let o=p2n(e.hue,e.chroma*r,100,!0);return Nd(t,n,o)}function E5(e,t=0,n=100){let r=p2n(e.hue,e.chroma,0,!1);return Nd(t,n,r)}function p2n(e,t,n,r){let o=n,a=gr.from(e,t,o);while(a.chroma100)break;n+=r?-1:1;let i=gr.from(e,t,n);if(a.chroma{Xy();d2n();sqe();h1e();z0();cqe=class cqe extends lqe{surface(){let e=zt.fromPalette({name:"surface",palette:(t)=>t.neutralPalette,tone:(t)=>{if(super.surface().tone(t),t.platform==="phone")if(t.isDark)return 4;else if(gr.isYellow(t.neutralPalette.hue))return 99;else if(t.variant===yt.VIBRANT)return 97;else return 98;else return 0},isBackground:!0});return lo(super.surface(),"2025",e)}surfaceDim(){let e=zt.fromPalette({name:"surface_dim",palette:(t)=>t.neutralPalette,tone:(t)=>{if(t.isDark)return 4;else if(gr.isYellow(t.neutralPalette.hue))return 90;else if(t.variant===yt.VIBRANT)return 85;else return 87},isBackground:!0,chromaMultiplier:(t)=>{if(!t.isDark){if(t.variant===yt.NEUTRAL)return 2.5;else if(t.variant===yt.TONAL_SPOT)return 1.7;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?2.7:1.75;else if(t.variant===yt.VIBRANT)return 1.36}return 1}});return lo(super.surfaceDim(),"2025",e)}surfaceBright(){let e=zt.fromPalette({name:"surface_bright",palette:(t)=>t.neutralPalette,tone:(t)=>{if(t.isDark)return 18;else if(gr.isYellow(t.neutralPalette.hue))return 99;else if(t.variant===yt.VIBRANT)return 97;else return 98},isBackground:!0,chromaMultiplier:(t)=>{if(t.isDark){if(t.variant===yt.NEUTRAL)return 2.5;else if(t.variant===yt.TONAL_SPOT)return 1.7;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?2.7:1.75;else if(t.variant===yt.VIBRANT)return 1.36}return 1}});return lo(super.surfaceBright(),"2025",e)}surfaceContainerLowest(){let e=zt.fromPalette({name:"surface_container_lowest",palette:(t)=>t.neutralPalette,tone:(t)=>t.isDark?0:100,isBackground:!0});return lo(super.surfaceContainerLowest(),"2025",e)}surfaceContainerLow(){let e=zt.fromPalette({name:"surface_container_low",palette:(t)=>t.neutralPalette,tone:(t)=>{if(t.platform==="phone")if(t.isDark)return 6;else if(gr.isYellow(t.neutralPalette.hue))return 98;else if(t.variant===yt.VIBRANT)return 95;else return 96;else return 15},isBackground:!0,chromaMultiplier:(t)=>{if(t.platform==="phone"){if(t.variant===yt.NEUTRAL)return 1.3;else if(t.variant===yt.TONAL_SPOT)return 1.25;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?1.3:1.15;else if(t.variant===yt.VIBRANT)return 1.08}return 1}});return lo(super.surfaceContainerLow(),"2025",e)}surfaceContainer(){let e=zt.fromPalette({name:"surface_container",palette:(t)=>t.neutralPalette,tone:(t)=>{if(t.platform==="phone")if(t.isDark)return 9;else if(gr.isYellow(t.neutralPalette.hue))return 96;else if(t.variant===yt.VIBRANT)return 92;else return 94;else return 20},isBackground:!0,chromaMultiplier:(t)=>{if(t.platform==="phone"){if(t.variant===yt.NEUTRAL)return 1.6;else if(t.variant===yt.TONAL_SPOT)return 1.4;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?1.6:1.3;else if(t.variant===yt.VIBRANT)return 1.15}return 1}});return lo(super.surfaceContainer(),"2025",e)}surfaceContainerHigh(){let e=zt.fromPalette({name:"surface_container_high",palette:(t)=>t.neutralPalette,tone:(t)=>{if(t.platform==="phone")if(t.isDark)return 12;else if(gr.isYellow(t.neutralPalette.hue))return 94;else if(t.variant===yt.VIBRANT)return 90;else return 92;else return 25},isBackground:!0,chromaMultiplier:(t)=>{if(t.platform==="phone"){if(t.variant===yt.NEUTRAL)return 1.9;else if(t.variant===yt.TONAL_SPOT)return 1.5;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?1.95:1.45;else if(t.variant===yt.VIBRANT)return 1.22}return 1}});return lo(super.surfaceContainerHigh(),"2025",e)}surfaceContainerHighest(){let e=zt.fromPalette({name:"surface_container_highest",palette:(t)=>t.neutralPalette,tone:(t)=>{if(t.isDark)return 15;else if(gr.isYellow(t.neutralPalette.hue))return 92;else if(t.variant===yt.VIBRANT)return 88;else return 90},isBackground:!0,chromaMultiplier:(t)=>{if(t.variant===yt.NEUTRAL)return 2.2;else if(t.variant===yt.TONAL_SPOT)return 1.7;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?2.3:1.6;else if(t.variant===yt.VIBRANT)return 1.29;else return 1}});return lo(super.surfaceContainerHighest(),"2025",e)}onSurface(){let e=zt.fromPalette({name:"on_surface",palette:(t)=>t.neutralPalette,tone:(t)=>{if(t.variant===yt.VIBRANT)return Aa(t.neutralPalette,0,100,1.1);else return zt.getInitialToneFromBackground((n)=>n.platform==="phone"?this.highestSurface(n):this.surfaceContainerHigh())(t)},chromaMultiplier:(t)=>{if(t.platform==="phone"){if(t.variant===yt.NEUTRAL)return 2.2;else if(t.variant===yt.TONAL_SPOT)return 1.7;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?t.isDark?3:2.3:1.6}return 1},background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.isDark&&t.platform==="phone"?Hr(11):Hr(9)});return lo(super.onSurface(),"2025",e)}onSurfaceVariant(){let e=zt.fromPalette({name:"on_surface_variant",palette:(t)=>t.neutralPalette,chromaMultiplier:(t)=>{if(t.platform==="phone"){if(t.variant===yt.NEUTRAL)return 2.2;else if(t.variant===yt.TONAL_SPOT)return 1.7;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?t.isDark?3:2.3:1.6}return 1},background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.platform==="phone"?t.isDark?Hr(6):Hr(4.5):Hr(7)});return lo(super.onSurfaceVariant(),"2025",e)}outline(){let e=zt.fromPalette({name:"outline",palette:(t)=>t.neutralPalette,chromaMultiplier:(t)=>{if(t.platform==="phone"){if(t.variant===yt.NEUTRAL)return 2.2;else if(t.variant===yt.TONAL_SPOT)return 1.7;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?t.isDark?3:2.3:1.6}return 1},background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.platform==="phone"?Hr(3):Hr(4.5)});return lo(super.outline(),"2025",e)}outlineVariant(){let e=zt.fromPalette({name:"outline_variant",palette:(t)=>t.neutralPalette,chromaMultiplier:(t)=>{if(t.platform==="phone"){if(t.variant===yt.NEUTRAL)return 2.2;else if(t.variant===yt.TONAL_SPOT)return 1.7;else if(t.variant===yt.EXPRESSIVE)return gr.isYellow(t.neutralPalette.hue)?t.isDark?3:2.3:1.6}return 1},background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.platform==="phone"?Hr(1.5):Hr(3)});return lo(super.outlineVariant(),"2025",e)}inverseSurface(){let e=zt.fromPalette({name:"inverse_surface",palette:(t)=>t.neutralPalette,tone:(t)=>t.isDark?98:4,isBackground:!0});return lo(super.inverseSurface(),"2025",e)}inverseOnSurface(){let e=zt.fromPalette({name:"inverse_on_surface",palette:(t)=>t.neutralPalette,background:(t)=>this.inverseSurface(),contrastCurve:(t)=>Hr(7)});return lo(super.inverseOnSurface(),"2025",e)}primary(){let e=zt.fromPalette({name:"primary",palette:(t)=>t.primaryPalette,tone:(t)=>{if(t.variant===yt.NEUTRAL)if(t.platform==="phone")return t.isDark?80:40;else return 90;else if(t.variant===yt.TONAL_SPOT)if(t.platform==="phone")if(t.isDark)return 80;else return Aa(t.primaryPalette);else return Aa(t.primaryPalette,0,90);else if(t.variant===yt.EXPRESSIVE)if(t.platform==="phone")return Aa(t.primaryPalette,0,gr.isYellow(t.primaryPalette.hue)?25:gr.isCyan(t.primaryPalette.hue)?88:98);else return Aa(t.primaryPalette);else if(t.platform==="phone")return Aa(t.primaryPalette,0,gr.isCyan(t.primaryPalette.hue)?88:98);else return Aa(t.primaryPalette)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.platform==="phone"?Hr(4.5):Hr(7),toneDeltaPair:(t)=>t.platform==="phone"?new Ai(this.primaryContainer(),this.primary(),5,"relative_lighter",!0,"farther"):void 0});return lo(super.primary(),"2025",e)}primaryDim(){return zt.fromPalette({name:"primary_dim",palette:(e)=>e.primaryPalette,tone:(e)=>{if(e.variant===yt.NEUTRAL)return 85;else if(e.variant===yt.TONAL_SPOT)return Aa(e.primaryPalette,0,90);else return Aa(e.primaryPalette)},isBackground:!0,background:(e)=>this.surfaceContainerHigh(),contrastCurve:(e)=>Hr(4.5),toneDeltaPair:(e)=>new Ai(this.primaryDim(),this.primary(),5,"darker",!0,"farther")})}onPrimary(){let e=zt.fromPalette({name:"on_primary",palette:(t)=>t.primaryPalette,background:(t)=>t.platform==="phone"?this.primary():this.primaryDim(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.onPrimary(),"2025",e)}primaryContainer(){let e=zt.fromPalette({name:"primary_container",palette:(t)=>t.primaryPalette,tone:(t)=>{if(t.platform==="watch")return 30;else if(t.variant===yt.NEUTRAL)return t.isDark?30:90;else if(t.variant===yt.TONAL_SPOT)return t.isDark?E5(t.primaryPalette,35,93):Aa(t.primaryPalette,0,90);else if(t.variant===yt.EXPRESSIVE)return t.isDark?Aa(t.primaryPalette,30,93):Aa(t.primaryPalette,78,gr.isCyan(t.primaryPalette.hue)?88:90);else return t.isDark?E5(t.primaryPalette,66,93):Aa(t.primaryPalette,66,gr.isCyan(t.primaryPalette.hue)?88:93)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):void 0,toneDeltaPair:(t)=>t.platform==="phone"?void 0:new Ai(this.primaryContainer(),this.primaryDim(),10,"darker",!0,"farther"),contrastCurve:(t)=>t.platform==="phone"&&t.contrastLevel>0?Hr(1.5):void 0});return lo(super.primaryContainer(),"2025",e)}onPrimaryContainer(){let e=zt.fromPalette({name:"on_primary_container",palette:(t)=>t.primaryPalette,background:(t)=>this.primaryContainer(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.onPrimaryContainer(),"2025",e)}primaryFixed(){let e=zt.fromPalette({name:"primary_fixed",palette:(t)=>t.primaryPalette,tone:(t)=>{let n=Object.assign({},t,{isDark:!1,contrastLevel:0});return this.primaryContainer().getTone(n)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):void 0,contrastCurve:(t)=>t.platform==="phone"&&t.contrastLevel>0?Hr(1.5):void 0});return lo(super.primaryFixed(),"2025",e)}primaryFixedDim(){let e=zt.fromPalette({name:"primary_fixed_dim",palette:(t)=>t.primaryPalette,tone:(t)=>this.primaryFixed().getTone(t),isBackground:!0,toneDeltaPair:(t)=>new Ai(this.primaryFixedDim(),this.primaryFixed(),5,"darker",!0,"exact")});return lo(super.primaryFixedDim(),"2025",e)}onPrimaryFixed(){let e=zt.fromPalette({name:"on_primary_fixed",palette:(t)=>t.primaryPalette,background:(t)=>this.primaryFixedDim(),contrastCurve:(t)=>Hr(7)});return lo(super.onPrimaryFixed(),"2025",e)}onPrimaryFixedVariant(){let e=zt.fromPalette({name:"on_primary_fixed_variant",palette:(t)=>t.primaryPalette,background:(t)=>this.primaryFixedDim(),contrastCurve:(t)=>Hr(4.5)});return lo(super.onPrimaryFixedVariant(),"2025",e)}inversePrimary(){let e=zt.fromPalette({name:"inverse_primary",palette:(t)=>t.primaryPalette,tone:(t)=>Aa(t.primaryPalette),background:(t)=>this.inverseSurface(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.inversePrimary(),"2025",e)}secondary(){let e=zt.fromPalette({name:"secondary",palette:(t)=>t.secondaryPalette,tone:(t)=>{if(t.platform==="watch")return t.variant===yt.NEUTRAL?90:Aa(t.secondaryPalette,0,90);else if(t.variant===yt.NEUTRAL)return t.isDark?E5(t.secondaryPalette,0,98):Aa(t.secondaryPalette);else if(t.variant===yt.VIBRANT)return Aa(t.secondaryPalette,0,t.isDark?90:98);else return t.isDark?80:Aa(t.secondaryPalette)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.platform==="phone"?Hr(4.5):Hr(7),toneDeltaPair:(t)=>t.platform==="phone"?new Ai(this.secondaryContainer(),this.secondary(),5,"relative_lighter",!0,"farther"):void 0});return lo(super.secondary(),"2025",e)}secondaryDim(){return zt.fromPalette({name:"secondary_dim",palette:(e)=>e.secondaryPalette,tone:(e)=>{if(e.variant===yt.NEUTRAL)return 85;else return Aa(e.secondaryPalette,0,90)},isBackground:!0,background:(e)=>this.surfaceContainerHigh(),contrastCurve:(e)=>Hr(4.5),toneDeltaPair:(e)=>new Ai(this.secondaryDim(),this.secondary(),5,"darker",!0,"farther")})}onSecondary(){let e=zt.fromPalette({name:"on_secondary",palette:(t)=>t.secondaryPalette,background:(t)=>t.platform==="phone"?this.secondary():this.secondaryDim(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.onSecondary(),"2025",e)}secondaryContainer(){let e=zt.fromPalette({name:"secondary_container",palette:(t)=>t.secondaryPalette,tone:(t)=>{if(t.platform==="watch")return 30;else if(t.variant===yt.VIBRANT)return t.isDark?E5(t.secondaryPalette,30,40):Aa(t.secondaryPalette,84,90);else if(t.variant===yt.EXPRESSIVE)return t.isDark?15:Aa(t.secondaryPalette,90,95);else return t.isDark?25:90},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):void 0,toneDeltaPair:(t)=>t.platform==="watch"?new Ai(this.secondaryContainer(),this.secondaryDim(),10,"darker",!0,"farther"):void 0,contrastCurve:(t)=>t.platform==="phone"&&t.contrastLevel>0?Hr(1.5):void 0});return lo(super.secondaryContainer(),"2025",e)}onSecondaryContainer(){let e=zt.fromPalette({name:"on_secondary_container",palette:(t)=>t.secondaryPalette,background:(t)=>this.secondaryContainer(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.onSecondaryContainer(),"2025",e)}secondaryFixed(){let e=zt.fromPalette({name:"secondary_fixed",palette:(t)=>t.secondaryPalette,tone:(t)=>{let n=Object.assign({},t,{isDark:!1,contrastLevel:0});return this.secondaryContainer().getTone(n)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):void 0,contrastCurve:(t)=>t.platform==="phone"&&t.contrastLevel>0?Hr(1.5):void 0});return lo(super.secondaryFixed(),"2025",e)}secondaryFixedDim(){let e=zt.fromPalette({name:"secondary_fixed_dim",palette:(t)=>t.secondaryPalette,tone:(t)=>this.secondaryFixed().getTone(t),isBackground:!0,toneDeltaPair:(t)=>new Ai(this.secondaryFixedDim(),this.secondaryFixed(),5,"darker",!0,"exact")});return lo(super.secondaryFixedDim(),"2025",e)}onSecondaryFixed(){let e=zt.fromPalette({name:"on_secondary_fixed",palette:(t)=>t.secondaryPalette,background:(t)=>this.secondaryFixedDim(),contrastCurve:(t)=>Hr(7)});return lo(super.onSecondaryFixed(),"2025",e)}onSecondaryFixedVariant(){let e=zt.fromPalette({name:"on_secondary_fixed_variant",palette:(t)=>t.secondaryPalette,background:(t)=>this.secondaryFixedDim(),contrastCurve:(t)=>Hr(4.5)});return lo(super.onSecondaryFixedVariant(),"2025",e)}tertiary(){let e=zt.fromPalette({name:"tertiary",palette:(t)=>t.tertiaryPalette,tone:(t)=>{if(t.platform==="watch")return t.variant===yt.TONAL_SPOT?Aa(t.tertiaryPalette,0,90):Aa(t.tertiaryPalette);else if(t.variant===yt.EXPRESSIVE||t.variant===yt.VIBRANT)return Aa(t.tertiaryPalette,0,gr.isCyan(t.tertiaryPalette.hue)?88:t.isDark?98:100);else return t.isDark?Aa(t.tertiaryPalette,0,98):Aa(t.tertiaryPalette)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.platform==="phone"?Hr(4.5):Hr(7),toneDeltaPair:(t)=>t.platform==="phone"?new Ai(this.tertiaryContainer(),this.tertiary(),5,"relative_lighter",!0,"farther"):void 0});return lo(super.tertiary(),"2025",e)}tertiaryDim(){return zt.fromPalette({name:"tertiary_dim",palette:(e)=>e.tertiaryPalette,tone:(e)=>{if(e.variant===yt.TONAL_SPOT)return Aa(e.tertiaryPalette,0,90);else return Aa(e.tertiaryPalette)},isBackground:!0,background:(e)=>this.surfaceContainerHigh(),contrastCurve:(e)=>Hr(4.5),toneDeltaPair:(e)=>new Ai(this.tertiaryDim(),this.tertiary(),5,"darker",!0,"farther")})}onTertiary(){let e=zt.fromPalette({name:"on_tertiary",palette:(t)=>t.tertiaryPalette,background:(t)=>t.platform==="phone"?this.tertiary():this.tertiaryDim(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.onTertiary(),"2025",e)}tertiaryContainer(){let e=zt.fromPalette({name:"tertiary_container",palette:(t)=>t.tertiaryPalette,tone:(t)=>{if(t.platform==="watch")return t.variant===yt.TONAL_SPOT?Aa(t.tertiaryPalette,0,90):Aa(t.tertiaryPalette);else if(t.variant===yt.NEUTRAL)return t.isDark?Aa(t.tertiaryPalette,0,93):Aa(t.tertiaryPalette,0,96);else if(t.variant===yt.TONAL_SPOT)return Aa(t.tertiaryPalette,0,t.isDark?93:100);else if(t.variant===yt.EXPRESSIVE)return Aa(t.tertiaryPalette,75,gr.isCyan(t.tertiaryPalette.hue)?88:t.isDark?93:100);else return t.isDark?Aa(t.tertiaryPalette,0,93):Aa(t.tertiaryPalette,72,100)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):void 0,toneDeltaPair:(t)=>t.platform==="watch"?new Ai(this.tertiaryContainer(),this.tertiaryDim(),10,"darker",!0,"farther"):void 0,contrastCurve:(t)=>t.platform==="phone"&&t.contrastLevel>0?Hr(1.5):void 0});return lo(super.tertiaryContainer(),"2025",e)}onTertiaryContainer(){let e=zt.fromPalette({name:"on_tertiary_container",palette:(t)=>t.tertiaryPalette,background:(t)=>this.tertiaryContainer(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.onTertiaryContainer(),"2025",e)}tertiaryFixed(){let e=zt.fromPalette({name:"tertiary_fixed",palette:(t)=>t.tertiaryPalette,tone:(t)=>{let n=Object.assign({},t,{isDark:!1,contrastLevel:0});return this.tertiaryContainer().getTone(n)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):void 0,contrastCurve:(t)=>t.platform==="phone"&&t.contrastLevel>0?Hr(1.5):void 0});return lo(super.tertiaryFixed(),"2025",e)}tertiaryFixedDim(){let e=zt.fromPalette({name:"tertiary_fixed_dim",palette:(t)=>t.tertiaryPalette,tone:(t)=>this.tertiaryFixed().getTone(t),isBackground:!0,toneDeltaPair:(t)=>new Ai(this.tertiaryFixedDim(),this.tertiaryFixed(),5,"darker",!0,"exact")});return lo(super.tertiaryFixedDim(),"2025",e)}onTertiaryFixed(){let e=zt.fromPalette({name:"on_tertiary_fixed",palette:(t)=>t.tertiaryPalette,background:(t)=>this.tertiaryFixedDim(),contrastCurve:(t)=>Hr(7)});return lo(super.onTertiaryFixed(),"2025",e)}onTertiaryFixedVariant(){let e=zt.fromPalette({name:"on_tertiary_fixed_variant",palette:(t)=>t.tertiaryPalette,background:(t)=>this.tertiaryFixedDim(),contrastCurve:(t)=>Hr(4.5)});return lo(super.onTertiaryFixedVariant(),"2025",e)}error(){let e=zt.fromPalette({name:"error",palette:(t)=>t.errorPalette,tone:(t)=>{if(t.platform==="phone")return t.isDark?E5(t.errorPalette,0,98):Aa(t.errorPalette);else return E5(t.errorPalette)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):this.surfaceContainerHigh(),contrastCurve:(t)=>t.platform==="phone"?Hr(4.5):Hr(7),toneDeltaPair:(t)=>t.platform==="phone"?new Ai(this.errorContainer(),this.error(),5,"relative_lighter",!0,"farther"):void 0});return lo(super.error(),"2025",e)}errorDim(){return zt.fromPalette({name:"error_dim",palette:(e)=>e.errorPalette,tone:(e)=>E5(e.errorPalette),isBackground:!0,background:(e)=>this.surfaceContainerHigh(),contrastCurve:(e)=>Hr(4.5),toneDeltaPair:(e)=>new Ai(this.errorDim(),this.error(),5,"darker",!0,"farther")})}onError(){let e=zt.fromPalette({name:"on_error",palette:(t)=>t.errorPalette,background:(t)=>t.platform==="phone"?this.error():this.errorDim(),contrastCurve:(t)=>t.platform==="phone"?Hr(6):Hr(7)});return lo(super.onError(),"2025",e)}errorContainer(){let e=zt.fromPalette({name:"error_container",palette:(t)=>t.errorPalette,tone:(t)=>{if(t.platform==="watch")return 30;else return t.isDark?E5(t.errorPalette,30,93):Aa(t.errorPalette,0,90)},isBackground:!0,background:(t)=>t.platform==="phone"?this.highestSurface(t):void 0,toneDeltaPair:(t)=>t.platform==="watch"?new Ai(this.errorContainer(),this.errorDim(),10,"darker",!0,"farther"):void 0,contrastCurve:(t)=>t.platform==="phone"&&t.contrastLevel>0?Hr(1.5):void 0});return lo(super.errorContainer(),"2025",e)}onErrorContainer(){let e=zt.fromPalette({name:"on_error_container",palette:(t)=>t.errorPalette,background:(t)=>this.errorContainer(),contrastCurve:(t)=>t.platform==="phone"?Hr(4.5):Hr(7)});return lo(super.onErrorContainer(),"2025",e)}surfaceVariant(){let e=Object.assign(this.surfaceContainerHighest().clone(),{name:"surface_variant"});return lo(super.surfaceVariant(),"2025",e)}surfaceTint(){let e=Object.assign(this.primary().clone(),{name:"surface_tint"});return lo(super.surfaceTint(),"2025",e)}background(){let e=Object.assign(this.surface().clone(),{name:"background"});return lo(super.background(),"2025",e)}onBackground(){let e=Object.assign(this.onSurface().clone(),{name:"on_background",tone:(t)=>t.platform==="watch"?100:this.onSurface().getTone(t)});return lo(super.onBackground(),"2025",e)}}});class ut{constructor(){this.allColors=[this.background(),this.onBackground(),this.surface(),this.surfaceDim(),this.surfaceBright(),this.surfaceContainerLowest(),this.surfaceContainerLow(),this.surfaceContainer(),this.surfaceContainerHigh(),this.surfaceContainerHighest(),this.onSurface(),this.onSurfaceVariant(),this.outline(),this.outlineVariant(),this.inverseSurface(),this.inverseOnSurface(),this.primary(),this.primaryDim(),this.onPrimary(),this.primaryContainer(),this.onPrimaryContainer(),this.primaryFixed(),this.primaryFixedDim(),this.onPrimaryFixed(),this.onPrimaryFixedVariant(),this.inversePrimary(),this.secondary(),this.secondaryDim(),this.onSecondary(),this.secondaryContainer(),this.onSecondaryContainer(),this.secondaryFixed(),this.secondaryFixedDim(),this.onSecondaryFixed(),this.onSecondaryFixedVariant(),this.tertiary(),this.tertiaryDim(),this.onTertiary(),this.tertiaryContainer(),this.onTertiaryContainer(),this.tertiaryFixed(),this.tertiaryFixedDim(),this.onTertiaryFixed(),this.onTertiaryFixedVariant(),this.error(),this.errorDim(),this.onError(),this.errorContainer(),this.onErrorContainer()].filter((e)=>e!==void 0)}highestSurface(e){return ut.colorSpec.highestSurface(e)}primaryPaletteKeyColor(){return ut.colorSpec.primaryPaletteKeyColor()}secondaryPaletteKeyColor(){return ut.colorSpec.secondaryPaletteKeyColor()}tertiaryPaletteKeyColor(){return ut.colorSpec.tertiaryPaletteKeyColor()}neutralPaletteKeyColor(){return ut.colorSpec.neutralPaletteKeyColor()}neutralVariantPaletteKeyColor(){return ut.colorSpec.neutralVariantPaletteKeyColor()}errorPaletteKeyColor(){return ut.colorSpec.errorPaletteKeyColor()}background(){return ut.colorSpec.background()}onBackground(){return ut.colorSpec.onBackground()}surface(){return ut.colorSpec.surface()}surfaceDim(){return ut.colorSpec.surfaceDim()}surfaceBright(){return ut.colorSpec.surfaceBright()}surfaceContainerLowest(){return ut.colorSpec.surfaceContainerLowest()}surfaceContainerLow(){return ut.colorSpec.surfaceContainerLow()}surfaceContainer(){return ut.colorSpec.surfaceContainer()}surfaceContainerHigh(){return ut.colorSpec.surfaceContainerHigh()}surfaceContainerHighest(){return ut.colorSpec.surfaceContainerHighest()}onSurface(){return ut.colorSpec.onSurface()}surfaceVariant(){return ut.colorSpec.surfaceVariant()}onSurfaceVariant(){return ut.colorSpec.onSurfaceVariant()}outline(){return ut.colorSpec.outline()}outlineVariant(){return ut.colorSpec.outlineVariant()}inverseSurface(){return ut.colorSpec.inverseSurface()}inverseOnSurface(){return ut.colorSpec.inverseOnSurface()}shadow(){return ut.colorSpec.shadow()}scrim(){return ut.colorSpec.scrim()}surfaceTint(){return ut.colorSpec.surfaceTint()}primary(){return ut.colorSpec.primary()}primaryDim(){return ut.colorSpec.primaryDim()}onPrimary(){return ut.colorSpec.onPrimary()}primaryContainer(){return ut.colorSpec.primaryContainer()}onPrimaryContainer(){return ut.colorSpec.onPrimaryContainer()}inversePrimary(){return ut.colorSpec.inversePrimary()}primaryFixed(){return ut.colorSpec.primaryFixed()}primaryFixedDim(){return ut.colorSpec.primaryFixedDim()}onPrimaryFixed(){return ut.colorSpec.onPrimaryFixed()}onPrimaryFixedVariant(){return ut.colorSpec.onPrimaryFixedVariant()}secondary(){return ut.colorSpec.secondary()}secondaryDim(){return ut.colorSpec.secondaryDim()}onSecondary(){return ut.colorSpec.onSecondary()}secondaryContainer(){return ut.colorSpec.secondaryContainer()}onSecondaryContainer(){return ut.colorSpec.onSecondaryContainer()}secondaryFixed(){return ut.colorSpec.secondaryFixed()}secondaryFixedDim(){return ut.colorSpec.secondaryFixedDim()}onSecondaryFixed(){return ut.colorSpec.onSecondaryFixed()}onSecondaryFixedVariant(){return ut.colorSpec.onSecondaryFixedVariant()}tertiary(){return ut.colorSpec.tertiary()}tertiaryDim(){return ut.colorSpec.tertiaryDim()}onTertiary(){return ut.colorSpec.onTertiary()}tertiaryContainer(){return ut.colorSpec.tertiaryContainer()}onTertiaryContainer(){return ut.colorSpec.onTertiaryContainer()}tertiaryFixed(){return ut.colorSpec.tertiaryFixed()}tertiaryFixedDim(){return ut.colorSpec.tertiaryFixedDim()}onTertiaryFixed(){return ut.colorSpec.onTertiaryFixed()}onTertiaryFixedVariant(){return ut.colorSpec.onTertiaryFixedVariant()}error(){return ut.colorSpec.error()}errorDim(){return ut.colorSpec.errorDim()}onError(){return ut.colorSpec.onError()}errorContainer(){return ut.colorSpec.errorContainer()}onErrorContainer(){return ut.colorSpec.onErrorContainer()}static highestSurface(e){return ut.colorSpec.highestSurface(e)}}var uqe=P(()=>{f2n();ut.contentAccentToneDelta=15;ut.colorSpec=new cqe;ut.primaryPaletteKeyColor=ut.colorSpec.primaryPaletteKeyColor();ut.secondaryPaletteKeyColor=ut.colorSpec.secondaryPaletteKeyColor();ut.tertiaryPaletteKeyColor=ut.colorSpec.tertiaryPaletteKeyColor();ut.neutralPaletteKeyColor=ut.colorSpec.neutralPaletteKeyColor();ut.neutralVariantPaletteKeyColor=ut.colorSpec.neutralVariantPaletteKeyColor();ut.background=ut.colorSpec.background();ut.onBackground=ut.colorSpec.onBackground();ut.surface=ut.colorSpec.surface();ut.surfaceDim=ut.colorSpec.surfaceDim();ut.surfaceBright=ut.colorSpec.surfaceBright();ut.surfaceContainerLowest=ut.colorSpec.surfaceContainerLowest();ut.surfaceContainerLow=ut.colorSpec.surfaceContainerLow();ut.surfaceContainer=ut.colorSpec.surfaceContainer();ut.surfaceContainerHigh=ut.colorSpec.surfaceContainerHigh();ut.surfaceContainerHighest=ut.colorSpec.surfaceContainerHighest();ut.onSurface=ut.colorSpec.onSurface();ut.surfaceVariant=ut.colorSpec.surfaceVariant();ut.onSurfaceVariant=ut.colorSpec.onSurfaceVariant();ut.inverseSurface=ut.colorSpec.inverseSurface();ut.inverseOnSurface=ut.colorSpec.inverseOnSurface();ut.outline=ut.colorSpec.outline();ut.outlineVariant=ut.colorSpec.outlineVariant();ut.shadow=ut.colorSpec.shadow();ut.scrim=ut.colorSpec.scrim();ut.surfaceTint=ut.colorSpec.surfaceTint();ut.primary=ut.colorSpec.primary();ut.onPrimary=ut.colorSpec.onPrimary();ut.primaryContainer=ut.colorSpec.primaryContainer();ut.onPrimaryContainer=ut.colorSpec.onPrimaryContainer();ut.inversePrimary=ut.colorSpec.inversePrimary();ut.secondary=ut.colorSpec.secondary();ut.onSecondary=ut.colorSpec.onSecondary();ut.secondaryContainer=ut.colorSpec.secondaryContainer();ut.onSecondaryContainer=ut.colorSpec.onSecondaryContainer();ut.tertiary=ut.colorSpec.tertiary();ut.onTertiary=ut.colorSpec.onTertiary();ut.tertiaryContainer=ut.colorSpec.tertiaryContainer();ut.onTertiaryContainer=ut.colorSpec.onTertiaryContainer();ut.error=ut.colorSpec.error();ut.onError=ut.colorSpec.onError();ut.errorContainer=ut.colorSpec.errorContainer();ut.onErrorContainer=ut.colorSpec.onErrorContainer();ut.primaryFixed=ut.colorSpec.primaryFixed();ut.primaryFixedDim=ut.colorSpec.primaryFixedDim();ut.onPrimaryFixed=ut.colorSpec.onPrimaryFixed();ut.onPrimaryFixedVariant=ut.colorSpec.onPrimaryFixedVariant();ut.secondaryFixed=ut.colorSpec.secondaryFixed();ut.secondaryFixedDim=ut.colorSpec.secondaryFixedDim();ut.onSecondaryFixed=ut.colorSpec.onSecondaryFixed();ut.onSecondaryFixedVariant=ut.colorSpec.onSecondaryFixedVariant();ut.tertiaryFixed=ut.colorSpec.tertiaryFixed();ut.tertiaryFixedDim=ut.colorSpec.tertiaryFixedDim();ut.onTertiaryFixed=ut.colorSpec.onTertiaryFixed();ut.onTertiaryFixedVariant=ut.colorSpec.onTertiaryFixedVariant()});class co{static maybeFallbackSpecVersion(e,t){switch(t){case yt.EXPRESSIVE:case yt.VIBRANT:case yt.TONAL_SPOT:case yt.NEUTRAL:return e;default:return"2021"}}constructor(e){this.sourceColorArgb=e.sourceColorHct.toInt(),this.variant=e.variant,this.contrastLevel=e.contrastLevel,this.isDark=e.isDark,this.platform=e.platform??"phone",this.specVersion=co.maybeFallbackSpecVersion(e.specVersion??"2021",this.variant),this.sourceColorHct=e.sourceColorHct,this.primaryPalette=e.primaryPalette??AO(this.specVersion).getPrimaryPalette(this.variant,e.sourceColorHct,this.isDark,this.platform,this.contrastLevel),this.secondaryPalette=e.secondaryPalette??AO(this.specVersion).getSecondaryPalette(this.variant,e.sourceColorHct,this.isDark,this.platform,this.contrastLevel),this.tertiaryPalette=e.tertiaryPalette??AO(this.specVersion).getTertiaryPalette(this.variant,e.sourceColorHct,this.isDark,this.platform,this.contrastLevel),this.neutralPalette=e.neutralPalette??AO(this.specVersion).getNeutralPalette(this.variant,e.sourceColorHct,this.isDark,this.platform,this.contrastLevel),this.neutralVariantPalette=e.neutralVariantPalette??AO(this.specVersion).getNeutralVariantPalette(this.variant,e.sourceColorHct,this.isDark,this.platform,this.contrastLevel),this.errorPalette=e.errorPalette??AO(this.specVersion).getErrorPalette(this.variant,e.sourceColorHct,this.isDark,this.platform,this.contrastLevel)??Wn.fromHueAndChroma(25,84),this.colors=new ut}toString(){return`Scheme: variant=${yt[this.variant]}, mode=${this.isDark?"dark":"light"}, platform=${this.platform}, contrastLevel=${this.contrastLevel.toFixed(1)}, seed=${this.sourceColorHct.toString()}, specVersion=${this.specVersion}`}static getPiecewiseHue(e,t,n){let r=Math.min(t.length-1,n.length),o=e.hue;for(let a=0;a=t[a]&&o{m1e();Xy();g1e();iqe();uqe();z0();co.DEFAULT_SPEC_VERSION="2021";co.DEFAULT_PLATFORM="phone";Wy=class Wy extends dqe{getPrimaryPalette(e,t,n,r,o){switch(e){case yt.NEUTRAL:return Wn.fromHueAndChroma(t.hue,r==="phone"?gr.isBlue(t.hue)?12:8:gr.isBlue(t.hue)?16:12);case yt.TONAL_SPOT:return Wn.fromHueAndChroma(t.hue,r==="phone"&&n?26:32);case yt.EXPRESSIVE:return Wn.fromHueAndChroma(t.hue,r==="phone"?n?36:48:40);case yt.VIBRANT:return Wn.fromHueAndChroma(t.hue,r==="phone"?74:56);default:return super.getPrimaryPalette(e,t,n,r,o)}}getSecondaryPalette(e,t,n,r,o){switch(e){case yt.NEUTRAL:return Wn.fromHueAndChroma(t.hue,r==="phone"?gr.isBlue(t.hue)?6:4:gr.isBlue(t.hue)?10:6);case yt.TONAL_SPOT:return Wn.fromHueAndChroma(t.hue,16);case yt.EXPRESSIVE:return Wn.fromHueAndChroma(co.getRotatedHue(t,[0,105,140,204,253,278,300,333,360],[-160,155,-100,96,-96,-156,-165,-160]),r==="phone"?n?16:24:24);case yt.VIBRANT:return Wn.fromHueAndChroma(co.getRotatedHue(t,[0,38,105,140,333,360],[-14,10,-14,10,-14]),r==="phone"?56:36);default:return super.getSecondaryPalette(e,t,n,r,o)}}getTertiaryPalette(e,t,n,r,o){switch(e){case yt.NEUTRAL:return Wn.fromHueAndChroma(co.getRotatedHue(t,[0,38,105,161,204,278,333,360],[-32,26,10,-39,24,-15,-32]),r==="phone"?20:36);case yt.TONAL_SPOT:return Wn.fromHueAndChroma(co.getRotatedHue(t,[0,20,71,161,333,360],[-40,48,-32,40,-32]),r==="phone"?28:32);case yt.EXPRESSIVE:return Wn.fromHueAndChroma(co.getRotatedHue(t,[0,105,140,204,253,278,300,333,360],[-165,160,-105,101,-101,-160,-170,-165]),48);case yt.VIBRANT:return Wn.fromHueAndChroma(co.getRotatedHue(t,[0,38,71,105,140,161,253,333,360],[-72,35,24,-24,62,50,62,-72]),56);default:return super.getTertiaryPalette(e,t,n,r,o)}}static getExpressiveNeutralHue(e){return co.getRotatedHue(e,[0,71,124,253,278,300,360],[10,0,10,0,10,0])}static getExpressiveNeutralChroma(e,t,n){let r=Wy.getExpressiveNeutralHue(e);return n==="phone"?t?gr.isYellow(r)?6:14:18:12}static getVibrantNeutralHue(e){return co.getRotatedHue(e,[0,38,105,140,333,360],[-14,10,-14,10,-14])}static getVibrantNeutralChroma(e,t){let n=Wy.getVibrantNeutralHue(e);return t==="phone"?28:gr.isBlue(n)?28:20}getNeutralPalette(e,t,n,r,o){switch(e){case yt.NEUTRAL:return Wn.fromHueAndChroma(t.hue,r==="phone"?1.4:6);case yt.TONAL_SPOT:return Wn.fromHueAndChroma(t.hue,r==="phone"?5:10);case yt.EXPRESSIVE:return Wn.fromHueAndChroma(Wy.getExpressiveNeutralHue(t),Wy.getExpressiveNeutralChroma(t,n,r));case yt.VIBRANT:return Wn.fromHueAndChroma(Wy.getVibrantNeutralHue(t),Wy.getVibrantNeutralChroma(t,r));default:return super.getNeutralPalette(e,t,n,r,o)}}getNeutralVariantPalette(e,t,n,r,o){switch(e){case yt.NEUTRAL:return Wn.fromHueAndChroma(t.hue,(r==="phone"?1.4:6)*2.2);case yt.TONAL_SPOT:return Wn.fromHueAndChroma(t.hue,(r==="phone"?5:10)*1.7);case yt.EXPRESSIVE:let a=Wy.getExpressiveNeutralHue(t),i=Wy.getExpressiveNeutralChroma(t,n,r);return Wn.fromHueAndChroma(a,i*(a>=105&&a<125?1.6:2.3));case yt.VIBRANT:let s=Wy.getVibrantNeutralHue(t),l=Wy.getVibrantNeutralChroma(t,r);return Wn.fromHueAndChroma(s,l*1.29);default:return super.getNeutralVariantPalette(e,t,n,r,o)}}getErrorPalette(e,t,n,r,o){let a=co.getPiecewiseHue(t,[0,3,13,23,33,43,153,273,360],[12,22,32,12,22,32,22,12]);switch(e){case yt.NEUTRAL:return Wn.fromHueAndChroma(a,r==="phone"?50:40);case yt.TONAL_SPOT:return Wn.fromHueAndChroma(a,r==="phone"?60:48);case yt.EXPRESSIVE:return Wn.fromHueAndChroma(a,r==="phone"?64:48);case yt.VIBRANT:return Wn.fromHueAndChroma(a,r==="phone"?80:60);default:return super.getErrorPalette(e,t,n,r,o)}}};hzr=new dqe,gzr=new Wy});var YW=P(()=>{Xy();g1e()});var m2n=P(()=>{N0()});var pqe=P(()=>{m2n()});var fqe=P(()=>{N0()});var mqe=P(()=>{N0();fqe()});var hqe=P(()=>{pqe();mqe()});var gqe=P(()=>{YW()});var g2n=P(()=>{YW()});var yqe;var y2n=P(()=>{Ov();z0();yqe=class yqe extends co{constructor(e,t,n,r=co.DEFAULT_SPEC_VERSION,o=co.DEFAULT_PLATFORM){super({sourceColorHct:e,variant:yt.CONTENT,contrastLevel:n,isDark:t,platform:o,specVersion:r})}}});var vqe;var v2n=P(()=>{Ov();z0();vqe=class vqe extends co{constructor(e,t,n,r=co.DEFAULT_SPEC_VERSION,o=co.DEFAULT_PLATFORM){super({sourceColorHct:e,variant:yt.EXPRESSIVE,contrastLevel:n,isDark:t,platform:o,specVersion:r})}}});var bqe;var b2n=P(()=>{Ov();z0();bqe=class bqe extends co{constructor(e,t,n,r=co.DEFAULT_SPEC_VERSION,o=co.DEFAULT_PLATFORM){super({sourceColorHct:e,variant:yt.FIDELITY,contrastLevel:n,isDark:t,platform:o,specVersion:r})}}});var x2n=P(()=>{Ov();z0()});var xqe;var A2n=P(()=>{Ov();z0();xqe=class xqe extends co{constructor(e,t,n,r=co.DEFAULT_SPEC_VERSION,o=co.DEFAULT_PLATFORM){super({sourceColorHct:e,variant:yt.MONOCHROME,contrastLevel:n,isDark:t,platform:o,specVersion:r})}}});var Aqe;var w2n=P(()=>{Ov();z0();Aqe=class Aqe extends co{constructor(e,t,n,r=co.DEFAULT_SPEC_VERSION,o=co.DEFAULT_PLATFORM){super({sourceColorHct:e,variant:yt.NEUTRAL,contrastLevel:n,isDark:t,platform:o,specVersion:r})}}});var S2n=P(()=>{Ov();z0()});var wqe;var C2n=P(()=>{Ov();z0();wqe=class wqe extends co{constructor(e,t,n,r=co.DEFAULT_SPEC_VERSION,o=co.DEFAULT_PLATFORM){super({sourceColorHct:e,variant:yt.TONAL_SPOT,contrastLevel:n,isDark:t,platform:o,specVersion:r})}}});var Sqe;var E2n=P(()=>{Ov();z0();Sqe=class Sqe extends co{constructor(e,t,n,r=co.DEFAULT_SPEC_VERSION,o=co.DEFAULT_PLATFORM){super({sourceColorHct:e,variant:yt.VIBRANT,contrastLevel:n,isDark:t,platform:o,specVersion:r})}}});function vzr(e,t){if(e.score>t.score)return-1;else if(e.score=15;p--){u.length=0;for(let{hct:f}of c){if(!u.find((g)=>tqe(f.hue,g.hue)=n)break}if(u.length>=n)break}let d=[];if(u.length===0)d.push(r);for(let p of u)d.push(p.toInt());return d}}var yzr;var Cqe=P(()=>{Xy();yzr={desired:4,fallbackColorARGB:4282549748,filter:!0};Uh.TARGET_CHROMA=48;Uh.WEIGHT_PROPORTION=0.7;Uh.WEIGHT_CHROMA_ABOVE=0.3;Uh.WEIGHT_CHROMA_BELOW=0.1;Uh.CUTOFF_CHROMA=5;Uh.CUTOFF_EXCITED_PROPORTION=0.01});function Eqe(e){let t=GW(e),n=qW(e),r=ZW(e),o=[t.toString(16),n.toString(16),r.toString(16)];for(let[a,i]of o.entries())if(i.length===1)o[a]="0"+i;return"#"+o.join("")}function I2n(e){e=e.replace("#","");let t=e.length===3,n=e.length===6,r=e.length===8;if(!t&&!n&&!r)throw Error("unexpected hex "+e);let o=0,a=0,i=0;if(t)o=mS(e.slice(0,1).repeat(2)),a=mS(e.slice(1,2).repeat(2)),i=mS(e.slice(2,3).repeat(2));else if(n)o=mS(e.slice(0,2)),a=mS(e.slice(2,4)),i=mS(e.slice(4,6));else if(r)o=mS(e.slice(2,4)),a=mS(e.slice(4,6)),i=mS(e.slice(6,8));return(-16777216|(o&255)<<16|(a&255)<<8|i&255)>>>0}function mS(e){return parseInt(e,16)}var Iqe=P(()=>{N0()});var Tqe=P(()=>{hqe();Cqe();N0()});var T2n=P(()=>{oqe();YW();gqe();Tqe();Iqe()});var k2n=P(()=>{oqe();aqe();m1e();h1e();Ov();uqe();z0();WW();Xy();XW();YW();g1e();hqe();fqe();pqe();mqe();gqe();g2n();y2n();v2n();b2n();x2n();A2n();w2n();S2n();C2n();E2n();Cqe();iqe();N0();Iqe();Tqe();T2n()});function Azr(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function wzr(e){let t=e.contrastLevel??e.contrast??0;if(!Number.isFinite(t)||t<-1||t>1)throw RangeError("M3 contrast must be a finite number between -1 and 1");return t}function Szr(e){let t=/^#?([\da-f]{3}|[\da-f]{6})$/i.exec(e.trim());if(!t)throw TypeError(`Invalid M3 seed color: ${e}`);let n=t[1];return`#${(n.length===3?[...n].map((r)=>r+r).join(""):n).toLowerCase()}`}function Czr(e,t,n,r){switch(r){case"content":return new yqe(e,t,n);case"fidelity":return new bqe(e,t,n);case"expressive":return new vqe(e,t,n);case"vibrant":return new Sqe(e,t,n);case"neutral":return new Aqe(e,t,n);case"monochrome":return new xqe(e,t,n);case"tonalSpot":return new wqe(e,t,n);default:throw TypeError(`Unknown M3 scheme variant: ${r}`)}}function y1e(e,t={}){let n=t.dark??!1,r=wzr(t),o=t.variant??"tonalSpot",a=gr.fromInt(I2n(Szr(e))),i=Czr(a,n,r,o),s={};for(let l of bzr){let c=xzr[l];if(!c)continue;s[`--md-sys-color-${Azr(l)}`]=Eqe(c.getArgb(i))}return s}var bzr,xzr,R2n,P2n;var v1e=P(()=>{k2n();bzr=["background","onBackground","surface","surfaceDim","surfaceBright","surfaceContainerLowest","surfaceContainerLow","surfaceContainer","surfaceContainerHigh","surfaceContainerHighest","onSurface","surfaceVariant","onSurfaceVariant","inverseSurface","inverseOnSurface","outline","outlineVariant","shadow","scrim","surfaceTint","primary","onPrimary","primaryContainer","onPrimaryContainer","inversePrimary","secondary","onSecondary","secondaryContainer","onSecondaryContainer","tertiary","onTertiary","tertiaryContainer","onTertiaryContainer","error","onError","errorContainer","onErrorContainer","primaryFixed","primaryFixedDim","onPrimaryFixed","onPrimaryFixedVariant","secondaryFixed","secondaryFixedDim","onSecondaryFixed","onSecondaryFixedVariant","tertiaryFixed","tertiaryFixedDim","onTertiaryFixed","onTertiaryFixedVariant"],xzr=ut;R2n=[["background","surface"],["foreground","on-surface"],["card","surface-container-low"],["card-foreground","on-surface"],["popover","surface-container"],["popover-foreground","on-surface"],["primary","primary"],["primary-foreground","on-primary"],["secondary","secondary-container"],["secondary-foreground","on-secondary-container"],["muted","surface-variant"],["muted-foreground","on-surface-variant"],["accent","tertiary-container"],["accent-foreground","on-tertiary-container"],["destructive","error"],["destructive-foreground","on-error"],["border","outline-variant"],["input","outline-variant"],["ring","primary"]],P2n=R2n});function D2n(e){if(e{I5={compact:0,medium:600,expanded:840,large:1200,"extra-large":1600},M2n=["compact","medium","expanded","large","extra-large"],wO={compact:0,medium:480,expanded:900}});var Ezr;var L2n=P(()=>{x1e();Ezr=Object.freeze({breakpoints:I5,compactTouchTargetDp:48,baseGridDp:4,mediumMarginDp:24,compactMarginDp:16,platformAdapters:["tauri-cef","windows-11","gnome-libadwaita","cosmic"]})});var Izr;var B2n=P(()=>{Izr=Object.freeze({tokens:"@aphrody/m3-tokens",theme:"@aphrody/m3-theme",webComponents:"@aphrody/material-web",react:"@aphrody/m3-react",primitives:"@aphrody/m3-primitives",forms:"@aphrody/m3-forms",ai:"@aphrody/m3-ai",explorer:"@aphrody/m3-explorer",reader:"@aphrody/m3-reader",icons:"crates/ui/bun/icons/material-symbols",native:"crates/ui/m3-tokens",shell:"crates/aphrody-app",showcase:"examples/m3-spaceui-showcase"})});var Tzr,kzr,Rzr;var O2n=P(()=>{Tzr=Object.freeze({blue:"#3186FF",purple:"#9B72CB",pink:"#D96570",yellow:"#FFCC00",green:"#0EBC5F",red:"#FF4641",titleBlue:"#4285F4",titlePurple:"#9B72CB",titlePink:"#D96570"}),kzr=Object.freeze({spectrumShift:"linear-gradient(74deg, #4285F4 0%, #9B72CB 18%, #D96570 35%, #D96570 50%, #9B72CB 70%, #4285F4 100%)",sparkle:"radial-gradient(circle, rgba(66, 133, 244, 0.15) 0%, rgba(155, 114, 203, 0.1) 50%, transparent 70%)",warmTone:"linear-gradient(45deg, #FFCC00 0%, #D96570 100%)",shimmer:"linear-gradient(90deg, transparent 0%, color-mix(in srgb, white 35%, transparent) 50%, transparent 100%)"}),Rzr=Object.freeze({promptBar:"32px",promptBarInitial:"40px",promptBarDocked:"24px 24px 0 0",message:"24px",chip:"16px",card:"16px",pill:"9999px"})});function F2n(e,t={}){let n=t.target??(typeof document<"u"?document.documentElement:null);if(!n)return;let r=t.dark;if(r===void 0)r=n.classList.contains("dark")||typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches;let o=y1e(e,{dark:r,contrastLevel:t.contrastLevel,variant:t.variant});if(r)n.classList.add("dark"),n.style.setProperty("color-scheme","dark");else n.classList.remove("dark"),n.style.setProperty("color-scheme","light");for(let[a,i]of Object.entries(o))n.style.setProperty(a,i);for(let[a,i]of P2n)n.style.setProperty(`--${a}`,`var(--md-sys-color-${i})`),n.style.setProperty(`--color-${a}`,`var(--md-sys-color-${i})`)}var U2n=P(()=>{v1e();L2n();B2n();O2n();v1e()});function Pzr(e){if(typeof window>"u")return()=>{};let t=window.matchMedia(N2n);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function Mzr(){return typeof window<"u"&&window.matchMedia(N2n).matches}function _2n({children:e,defaultSeedColor:t="#6750a4",defaultThemeMode:n="system",defaultContrastLevel:r=0,defaultVariant:o="tonalSpot",target:a}){let[i,s]=Nh.useState(n),[l,c]=Nh.useState(t),[u,d]=Nh.useState(r),[p,f]=Nh.useState(o),m=Nh.useSyncExternalStore(Pzr,Mzr,()=>!1),g=i==="system"?m?"dark":"light":i;Nh.useEffect(()=>{if(typeof window>"u")return;F2n(l,{dark:g==="dark",target:a??document.documentElement,contrastLevel:u,variant:p})},[l,g,a,u,p]);let v=Nh.useMemo(()=>({themeMode:i,seedColor:l,resolvedTheme:g,contrastLevel:u,variant:p,setThemeMode:s,setSeedColor:c,setContrastLevel:d,setVariant:f}),[i,l,g,u,p]);return h(z2n.Provider,{value:v,children:e})}function dA(){let e=Nh.useContext(z2n);if(e===void 0)throw Error("useM3Theme must be used within an M3ThemeProvider");return e}var Nh,N2n="(prefers-color-scheme: dark)",z2n;var Y7=P(()=>{U2n();le();Nh=z(re(),1);z2n=Nh.createContext(void 0)});var V2n;var H2n=P(()=>{V2n=[{name:"@aphrody/app-ui",version:"0.1.0",description:"",dir:"packages/app-ui",kind:"package",workspace:!0,private:!1,exports:3,bin:[]},{name:"@aphrody/assets",version:"0.1.1",description:"File-kind icons, extension badges, brand logos, images, sounds, videos and lottie animations, with icon resolution (getIcon, getLayeredIcon, getBeardedIcon, getIcon20): the Spacedrive @sd/assets set, merged with SpaceUI'",dir:"packages/assets",kind:"package",workspace:!0,private:!1,exports:13,bin:[]},{name:"@aphrody/canvas",version:"1.0.9-aphrody.4",description:"Aphrody native Skia canvas facade over the pinned upstream @napi-rs/canvas runtime",dir:"packages/canvas",kind:"package",workspace:!0,private:!1,exports:4,bin:[]},{name:"@aphrody/eslint-plugin-m3",version:"3.3.4",description:"Lint rules for sites consuming material-web (@aphrody/m3-react + Material Symbols) — runs under oxlint (jsPlugins) and ESLint.",dir:"packages/eslint-plugin-m3",kind:"package",workspace:!0,private:!1,exports:2,bin:[]},{name:"@aphrody/identity",version:"0.1.1",description:"Aphrody product identity for the M3 surfaces: brand emblem and icons, the Aphrody avatar, and the animated pet sprite (atlas, timed tracks, 16-way gaze) drawn from crates/ui/identity.",dir:"packages/identity",kind:"package",workspace:!0,private:!1,exports:4,bin:[]},{name:"@aphrody/m3",version:"3.3.7",description:"The @aphrody Material Design 3 framework for Bun: one plugin (Tailwind v4, Sass through Rust, m3:* virtual theme/font modules, ?url imports), serveM3 (Bun.serve + HMR + proxy), buildM3 (Bun.build, Tauri webview layout), ",dir:"packages/m3",kind:"package",workspace:!0,private:!1,exports:18,bin:["m3"]},{name:"@aphrody/m3-ai",version:"3.3.7",description:"Material Design 3 agent-interaction components (tool calls, markdown, chat composer, workers, tasks): the SpaceUI (@spacedrive/ai) set rebuilt on @aphrody/m3-primitives.",dir:"packages/m3-ai",kind:"package",workspace:!0,private:!1,exports:2,bin:[]},{name:"@aphrody/m3-baseui",version:"3.3.7",description:"Base UI (aphrody-labs fork, forks/base-ui) with Material 3 styling: every Base UI primitive wrapped with M3 token classes; static CSS, no CSS-in-JS runtime, per-component modules and sheets.",dir:"packages/m3-baseui",kind:"package",workspace:!0,private:!1,exports:5,bin:[]},{name:"@aphrody/m3-bun",version:"3.3.7",description:"The one Bun-native tool for M3 apps: a single Bun plugin and the m3-bun CLI that build, minify, serve (HMR), compile to one executable, package and generate deploy configs (Docker, systemd, nginx, Vercel, Fly.io, Cloudfl",dir:"packages/m3-bun",kind:"package",workspace:!0,private:!1,exports:9,bin:["m3-bun"]},{name:"@aphrody/m3-codemods",version:"3.3.7",description:"Codemods MUI React -> @aphrody/m3-react (Bun, sans dépendance runtime) + règles ast-grep",dir:"packages/m3-codemods",kind:"package",workspace:!0,private:!1,exports:3,bin:[]},{name:"@aphrody/m3-config",version:"3.3.7",description:"Shared build, typecheck and test presets for the @aphrody Material Design 3 packages: tsconfig, the Bun.build preset and the happy-dom test preload.",dir:"packages/m3-config",kind:"package",workspace:!0,private:!1,exports:6,bin:[]},{name:"@aphrody/m3-design",version:"3.3.7",description:"Automated design engine for Material Design 3 and Google Design",dir:"packages/m3-design",kind:"package",workspace:!0,private:!1,exports:0,bin:[]},{name:"@aphrody/m3-example",version:"0.1.0",description:"The m3 example app: App Router (React Server Components, server actions, streaming SSR, static generation), M3 theme, Tailwind v4 and the M3 DataTable, on Bun only.",dir:"apps/example",kind:"app",workspace:!0,private:!0,exports:0,bin:[]},{name:"@aphrody/m3-explorer",version:"3.3.7",description:"Material Design 3 file-management components (tag pill, inline rename, file thumb, grid item): the SpaceUI (@spacedrive/explorer) set rebuilt on @aphrody/m3-primitives.",dir:"packages/m3-explorer",kind:"package",workspace:!0,private:!1,exports:1,bin:[]},{name:"@aphrody/m3-fonts",version:"3.3.7",description:"Aphrody M3 typefaces: Google Sans Flex, Google Sans Code, Roboto Flex, Roboto Mono and Material Symbols with Japanese fallbacks (Noto Sans JP, M PLUS 1 Code) as @font-face CSS and a typed manifest.",dir:"packages/m3-fonts",kind:"package",workspace:!0,private:!1,exports:5,bin:[]},{name:"@aphrody/m3-forms",version:"3.3.7",description:"Material Design 3 form fields (react-hook-form) on @aphrody/m3-primitives: the SpaceUI (@spacedrive/forms) set, M3-styled.",dir:"packages/m3-forms",kind:"package",workspace:!0,private:!1,exports:1,bin:[]},{name:"@aphrody/m3-front",version:"3.3.7",description:"Framework-agnostic Material 3 front layer: web component, lazy material-web registration and window-class observation on top of @aphrody/material-web and @aphrody/m3-tokens.",dir:"packages/m3-front",kind:"package",workspace:!0,private:!1,exports:5,bin:[]},{name:"@aphrody/m3-icons",version:"3.3.7",description:"Material Symbols icons for @aphrody/m3: pixel-perfect inline SVG rendered from the aphrody-bun icons module (variable fonts), no icon font shipped at runtime.",dir:"packages/m3-icons",kind:"package",workspace:!0,private:!1,exports:6,bin:[]},{name:"@aphrody/m3-mcp",version:"3.3.7",description:"Design/UI tool host of aphrody-m3 (served through the single aphrody-mcp): packages, M3 tokens (lookup, validate), docs search, research links, templates, Material Symbols SVG, SVG to Tauri icons.",dir:"packages/m3-mcp",kind:"package",workspace:!0,private:!1,exports:2,bin:[]},{name:"@aphrody/m3-motion",version:"3.3.7",description:"Material 3 animation plugin powered by Motion (formerly Framer Motion)",dir:"packages/m3-motion",kind:"package",workspace:!0,private:!1,exports:1,bin:[]},{name:"@aphrody/m3-next",version:"3.3.7",description:"Next.js 16 App Router integration for the @aphrody Material Design 3 layer: withM3 config (React Compiler, Cache Components, typed routes, Tauri static export), M3Html/M3Root server components, a light 'use client' theme",dir:"packages/m3-next",kind:"package",workspace:!0,private:!1,exports:6,bin:["m3-next"]},{name:"@aphrody/m3-next-migrate",version:"3.3.7",description:"Migration analysis, codemods and runtime shims for Next.js 16 components and private-owner native Bun web apps; Tauri 3 source planning requires a registered native host adapter for activation",dir:"packages/m3-next-migrate",kind:"package",workspace:!0,private:!1,exports:16,bin:["m3-next-migrate","next-migrate"]},{name:"@aphrody/m3-os-themes",version:"3.3.7",description:"Material 3 OS theme generators and installers (Windows 11, GNOME Shell, COSMIC, Chromium browsers) derived from @aphrody/m3-tokens dynamic colour roles.",dir:"packages/m3-os-themes",kind:"package",workspace:!0,private:!1,exports:3,bin:["m3-os-themes"]},{name:"@aphrody/m3-primitives",version:"3.3.7",description:"Material Design 3 React primitives: the SpaceUI (@spacedrive/primitives) component set rebuilt on the M3 roles, shape, typescale, state layers and motion of the aphrody design system.",dir:"packages/m3-primitives",kind:"package",workspace:!0,private:!1,exports:1,bin:[]},{name:"@aphrody/m3-react",version:"3.3.7",description:"React wrappers (@lit/react createComponent) for every element of the @aphrody/material-web fork.",dir:"packages/m3-react",kind:"package",workspace:!0,private:!1,exports:8,bin:[]},{name:"@aphrody/m3-reader",version:"3.3.7",description:"Material 3 manga and illustrated book readers for React",dir:"packages/m3-reader",kind:"package",workspace:!0,private:!1,exports:4,bin:[]},{name:"@aphrody/m3-tailwind",version:"3.3.7",description:"Tailwind v4 CSS-first preset for Material 3: generates @theme (colour roles, shape, typescale, elevation, easing) from @aphrody/m3-tokens.",dir:"packages/m3-tailwind",kind:"package",workspace:!0,private:!1,exports:3,bin:[]},{name:"@aphrody/m3-theme",version:"3.3.7",description:"Canonical Material 3 fusion sheets: tokens.css (M3 + shadcn/ui + Tailwind v4 aliases), tailwind.css (every M3 system token as a Tailwind v4 utility) and spaceui.css (the SpaceUI themes rebuilt as M3 dynamic schemes, with",dir:"packages/m3-theme",kind:"package",workspace:!0,private:!1,exports:6,bin:[]},{name:"@aphrody/m3-tokens",version:"3.3.7",description:"Material 3 design tokens (--md-sys-*) for the @aphrody/material-web fork: MUI-theme → M3 token CSS generation and runtime Material You dynamic colour via material-color-utilities.",dir:"packages/m3-tokens",kind:"package",workspace:!0,private:!1,exports:9,bin:[]},{name:"@aphrody/material-design-icons",version:"1.0.1",description:"Material Symbols SVG catalogue (forks/material-design-icons) with SVG to ICO/ICNS sync for Tauri desktop icons.",dir:"packages/material-design-icons",kind:"package",workspace:!0,private:!1,exports:1,bin:["m3-svg-to-ico"]},{name:"@aphrody/scaffold",version:"1.0.0-canary.1",description:"The single project scaffolder of the UI stack: Tauri 3 shell (pins, config, capabilities, icon), M3 web and app templates, the canonical example and a writer that never overwrites. Used by m3 new, m3-next-migrate and web",dir:"packages/scaffold",kind:"package",workspace:!0,private:!1,exports:7,bin:["aphrody-scaffold"]},{name:"@aphrody/web-to-tauri",version:"1.0.0-canary",description:"Converts a website, web app or built web bundle into a native Tauri 3 app: probes the target, plans a regression-free mode (remote, bundle, sidecar), generates the project and checks parity against the original.",dir:"packages/web-to-tauri",kind:"package",workspace:!0,private:!1,exports:8,bin:["web-to-tauri"]}]});var T5;var A1e=P(()=>{H2n();T5=V2n});function jW({html:e,className:t="",small:n=!1,label:r}){return h("span",{className:`${n?"m3-icon-sm":"m3-icon"} inline-flex shrink-0 ${t}`,role:r?"img":void 0,"aria-label":r,"aria-hidden":r?void 0:!0,dangerouslySetInnerHTML:{__html:e}})}function Lzr({name:e}){let t=T5.find((n)=>n.name===e);return M("span",{className:"inline-flex items-center gap-1 rounded-small border border-outline-variant px-2 py-0.5 text-label-small text-on-surface-variant",title:t?.description??e,children:[h("span",{className:"font-medium text-on-surface",children:e}),t?h("span",{children:t.version}):null]})}function Rqe({names:e}){return h("div",{className:"flex flex-wrap gap-1.5",children:e.map((t)=>h(Lzr,{name:t},t))})}function Cr({title:e,description:t,children:n,aside:r}){return M("section",{className:"flex flex-col gap-3","aria-label":e,children:[M("header",{className:"flex items-end justify-between gap-4",children:[M("div",{className:"flex flex-col gap-0.5",children:[h("h2",{className:"text-title-large text-on-surface",children:e}),t?h("p",{className:"text-body-medium text-on-surface-variant",children:t}):null]}),r]}),n]})}function Br({children:e,className:t="",style:n}){return h("div",{className:`rounded-large bg-surface-container p-4 ${t}`,style:n,children:e})}function qs({children:e}){return h("pre",{className:"m3-code m3-scroll max-h-72",children:e})}function w1e({name:e,value:t,on:n}){return M("div",{className:"flex flex-col gap-1",children:[h("div",{className:"flex h-16 items-end rounded-medium border border-outline-variant p-2 text-label-small",style:{background:t,color:n},title:`${e} ${t}`,children:t}),h("span",{className:"truncate text-label-small text-on-surface-variant",children:e})]})}function Ni({title:e,summary:t,packages:n,children:r,aside:o,panes:a}){let i=o&&a>=2;return M("div",{className:"mx-auto flex w-full max-w-[1800px] gap-6 p-(--m3-gutter)",children:[M("article",{className:"flex min-w-0 flex-1 flex-col gap-6","aria-labelledby":"page-title",children:[M("header",{className:"flex flex-col gap-2",children:[h("h1",{id:"page-title",className:"text-headline-large text-on-surface",children:e}),h("p",{className:"max-w-3xl text-body-large text-on-surface-variant",children:t}),h(Rqe,{names:n})]}),r,o&&!i?h("div",{className:"flex flex-col gap-4",children:o}):null]}),i?h("aside",{className:"m3-scroll sticky top-0 hidden max-h-[calc(100vh-6rem)] w-[22rem] shrink-0 flex-col gap-4 self-start overflow-y-auto medium:flex","aria-label":"Supporting pane",children:o}):null]})}var Vm=P(()=>{A1e();le()});var G2n='';var q2n='';var Z2n='';var Q2n='';var X2n='';var W2n='';var Y2n='';var K2n='';var S1e='';var J2n='';var C1e='';var j2n='';var $2n='';var evn='';var E1e='';var tvn='';var nvn='';var rvn='';var ovn='';var avn='';var ivn='';var svn='';var lvn='';var cvn='';var uvn='';var dvn='';var pvn='';var fvn='';var mvn='';var hvn='';var Pqe;var gvn=P(()=>{Pqe=[{id:"overview",label:"Overview",icon:C1e,iconFilled:j2n,summary:"Every package of the monorepo, served by this app's own API.",packages:["@aphrody/m3","@aphrody/m3-bun","@aphrody/m3-config"]},{id:"theme",label:"Theme",icon:E1e,iconFilled:tvn,summary:"Material You roles from a seed: tokens, Tailwind preset, fonts, a scoped .",packages:["@aphrody/m3-theme","@aphrody/m3-tokens","@aphrody/m3-front","@aphrody/m3-tailwind","@aphrody/m3-fonts"]},{id:"components",label:"Components",icon:pvn,iconFilled:fvn,summary:"The Material Web components through their React wrappers.",packages:["@aphrody/m3-react"]},{id:"primitives",label:"Primitives",icon:mvn,iconFilled:hvn,summary:"Accessible parts on Base UI, styled with M3 tokens.",packages:["@aphrody/m3-primitives","@aphrody/m3-baseui"]},{id:"forms",label:"Forms",icon:Y2n,iconFilled:K2n,summary:"react-hook-form fields with M3 inputs, validation and descriptions.",packages:["@aphrody/m3-forms"]},{id:"explorer",label:"Explorer",icon:S1e,iconFilled:J2n,summary:"A file explorer: list and grid views, thumbnails, tags, rename.",packages:["@aphrody/m3-explorer"]},{id:"motion",label:"Motion",icon:$2n,iconFilled:evn,summary:"Springs, easings, shared axis, container transform, list stagger.",packages:["@aphrody/m3-motion","@aphrody/m3-react"]},{id:"icons",label:"Icons & fonts",icon:ivn,iconFilled:svn,summary:"Material Symbols from the forked catalogue, inlined at build time.",packages:["@aphrody/m3-icons","@aphrody/material-design-icons","@aphrody/m3-fonts"]},{id:"ai",label:"AI",icon:ovn,iconFilled:avn,summary:"A chat transcript, tool calls, markdown and an AG-UI stream from the API.",packages:["@aphrody/m3-ai"]},{id:"reader",label:"Reader",icon:nvn,iconFilled:rvn,summary:"Manga and databook readers with paging, vertical scroll and RTL.",packages:["@aphrody/m3-reader"]},{id:"design",label:"Design",icon:Z2n,iconFilled:Q2n,summary:"A design brief parsed and turned into an M3 theme by the design engine.",packages:["@aphrody/m3-design"]},{id:"next",label:"Next",icon:uvn,iconFilled:dvn,summary:"Metadata, scheme CSS, robots, sitemap and JSON-LD from the Next integration.",packages:["@aphrody/m3-next","@aphrody/m3-next-migrate"]},{id:"system",label:"System",icon:lvn,iconFilled:cvn,summary:"OS themes, scaffolds, MCP tools, codemods and lint rules, computed by the API.",packages:["@aphrody/m3-os-themes","@aphrody/scaffold","@aphrody/m3-mcp","@aphrody/m3-codemods","@aphrody/eslint-plugin-m3"]},{id:"brands",label:"Brands",icon:G2n,iconFilled:q2n,summary:"Host-bound UI kits where they resolve, the identity set, canvas and assets.",packages:["@aphrody/nie-ui","@aphrody/identity","@aphrody/canvas","@aphrody/assets"]},{id:"adaptive",label:"Adaptive",icon:X2n,iconFilled:W2n,summary:"Window size classes, layout modes and the TV D-pad lab.",packages:["@aphrody/m3-tokens","@aphrody/m3-front"]}]});var yvn='';var bvn={};Xs(bvn,{default:()=>vvn});function Bzr(e){let[t,n]=I1e.useState({});return I1e.useEffect(()=>{if(!e)return;let r=new AbortController;return fetch("/api/m3/info",{signal:r.signal}).then((o)=>o.ok?o.json():Promise.reject(Error(`HTTP ${o.status}`))).then((o)=>n({info:o})).catch((o)=>o.name!=="AbortError"&&n({error:o.message})),()=>r.abort()},[e]),t}function vvn({adaptive:e,host:t="bun"}){let{info:n,error:r}=Bzr(t==="bun"),o=T5.filter((i)=>i.workspace).length,a=e.mode==="tv"?"grid-cols-3":e.width==="compact"?"grid-cols-1":e.width==="medium"?"grid-cols-2":"grid-cols-3";return M(Ni,{title:"Aphrody M3 Showcase",summary:t==="native"?"The real Material 3 packages, together in the Aphrody application. Explore components, forms, motion and the pet's generated theme.":"Every package of the aphrody-m3 monorepo in one adaptive app. It is built, served and compiled by @aphrody/m3-bun: the UI files and this page's API come from one Bun process.",packages:["@aphrody/m3","@aphrody/m3-bun"],panes:e.panes,aside:t==="bun"?M(Br,{children:[h("h3",{className:"mb-2 text-title-medium",children:"One process: UI and API"}),M("p",{className:"mb-3 text-body-small text-on-surface-variant",children:["This card is a live ",h("code",{children:"GET /api/m3/info"})," from the process that served the page."]}),n?h(qs,{children:JSON.stringify(n,null,2)}):h("p",{className:"text-body-small text-error",role:"status",children:r?`API unreachable: ${r}`:"Loading…"})]}):void 0,children:[h(Cr,{title:"By the numbers",children:h("div",{className:"grid grid-cols-2 gap-3 expanded:grid-cols-4","data-testid":"stats",children:[[String(T5.length),"packages and apps"],[String(o),"in the Bun workspace"],[String(Pqe.length),"showcase pages"],t==="native"?[String(T5.filter((i)=>!i.private).length),"reusable packages"]:[n?`Bun ${n.bun}`:"…","serving this page"]].map(([i,s])=>M(Br,{children:[h("div",{className:"text-headline-medium text-primary",children:i}),h("div",{className:"text-body-small text-on-surface-variant",children:s})]},s))})}),h(Cr,{title:"Explore",description:"Each page imports and runs the packages it names.",children:h("div",{className:`grid gap-3 ${a}`,"data-testid":"destinations",children:Pqe.filter((i)=>i.id!=="overview").map((i)=>M("a",{href:t==="native"?`/material-3/${i.id}`:`#/${i.id}`,"data-dpad":!0,"data-testid":`card-${i.id}`,className:"state-layer flex flex-col gap-2 rounded-large bg-surface-container p-4 text-left",children:[M("span",{className:"flex items-center gap-2 text-title-medium text-on-surface",children:[h(jW,{html:i.icon,className:"text-primary"}),i.label,h(jW,{html:yvn,className:"ml-auto text-on-surface-variant",small:!0})]}),h("span",{className:"text-body-small text-on-surface-variant",children:i.summary}),h(Rqe,{names:i.packages.slice(0,3)})]},i.id))})})]})}var I1e;var xvn=P(()=>{Vm();A1e();gvn();le();I1e=z(re(),1)});var wvn={};Xs(wvn,{default:()=>Avn});function Avn({adaptive:e}){let t=dA(),n=y1e(t.seedColor,{dark:t.resolvedTheme==="dark",contrastLevel:t.contrastLevel,variant:t.variant});return M(Ni,{title:"Theme",summary:"Derive a complete Material 3 colour scheme from one seed. Changes apply to this whole showcase, including React components and Lit shadow DOM.",packages:["@aphrody/m3-theme","@aphrody/m3-tokens"],panes:e.panes,aside:M(Br,{children:[h("h3",{className:"text-title-medium",children:"Current scheme"}),h(qs,{children:JSON.stringify({seed:t.seedColor,mode:t.themeMode,resolved:t.resolvedTheme,variant:t.variant,contrast:t.contrastLevel},null,2)})]}),children:[h(Cr,{title:"Customise the live theme",children:M(Br,{className:"grid gap-4 medium:grid-cols-2",children:[M("label",{className:"flex flex-col gap-2 text-label-large",children:["Seed colour",h(Ps,{type:"color",value:t.seedColor,onChange:(r)=>t.setSeedColor(r.target.value),"aria-label":"Seed colour"})]}),M("label",{className:"flex flex-col gap-2 text-label-large",children:["Scheme variant",h("select",{className:"h-12 rounded-small border border-outline bg-surface px-3 text-body-large",value:t.variant,onChange:(r)=>t.setVariant(r.target.value),children:Ozr.map((r)=>h("option",{children:r},r))})]}),M("label",{className:"flex flex-col gap-2 text-label-large",children:["Colour mode",h("select",{className:"h-12 rounded-small border border-outline bg-surface px-3 text-body-large",value:t.themeMode,onChange:(r)=>t.setThemeMode(r.target.value),children:["light","dark","system"].map((r)=>h("option",{children:r},r))})]}),M("label",{className:"flex flex-col gap-2 text-label-large",children:["Contrast: ",t.contrastLevel,h("input",{type:"range",min:-1,max:1,step:0.1,value:t.contrastLevel,onChange:(r)=>t.setContrastLevel(Number(r.target.value))}),h("span",{className:"text-body-small text-on-surface-variant",children:"0 is standard; 1 requests maximum contrast."})]}),h(Vt,{variant:"outlined",onClick:()=>{t.setSeedColor("#8c6c88"),t.setVariant("tonalSpot"),t.setThemeMode("system"),t.setContrastLevel(0)},children:"Reset theme"})]})}),h(Cr,{title:"Roles and their text colours",description:`${Object.keys(n).length} roles generated for ${t.resolvedTheme} mode.`,children:h("div",{className:"grid grid-cols-2 gap-3 expanded:grid-cols-4",children:Fzr.map(([r,o])=>h(w1e,{name:r,value:n[`--md-sys-color-${r}`],on:n[`--md-sys-color-${o}`]},r))})}),h(Cr,{title:"Live scheme output",children:h(qs,{children:Object.entries(n).map(([r,o])=>`${r}: ${o};`).join(` -`)})})]})}var Ozr,Fzr;var Svn=P(()=>{Y7();v1e();gn();Vm();le();Ozr=["tonalSpot","content","fidelity","expressive","vibrant","neutral","monochrome"],Fzr=[["primary","on-primary"],["primary-container","on-primary-container"],["secondary","on-secondary"],["tertiary","on-tertiary"],["surface","on-surface"],["surface-container","on-surface"],["error","on-error"],["error-container","on-error-container"]]});var Uzr,Cvn,Evn=(e,t,n,r,o)=>{let a=o?.[t];a===void 0?(e[t]=n,n==null&&(t in HTMLElement.prototype)&&e.removeAttribute(t)):n!==r&&((i,s,l)=>{let c=Cvn.get(i);c===void 0&&Cvn.set(i,c=new Map);let u=c.get(s);l!==void 0?u===void 0?(c.set(s,u={handleEvent:l}),i.addEventListener(s,u)):u.handleEvent=l:u!==void 0&&(c.delete(s),i.removeEventListener(s,u))})(e,a,n)},_0=({react:e,tagName:t,elementClass:n,events:r,displayName:o})=>{let a=new Set(Object.keys(r??{})),i=e.forwardRef((s,l)=>{let c=e.useRef(new Map),u=e.useRef(null),d={},p={};for(let[f,m]of Object.entries(s))Uzr.has(f)?d[f==="className"?"class":f]=m:a.has(f)||(f in n.prototype)?p[f]=m:d[f]=m;return e.useLayoutEffect(()=>{if(u.current===null)return;let f=new Map;for(let m in p)Evn(u.current,m,s[m],c.current.get(m),r),c.current.delete(m),f.set(m,s[m]);for(let[m,g]of c.current)Evn(u.current,m,void 0,g,r);c.current=f}),e.useLayoutEffect(()=>{u.current?.removeAttribute("defer-hydration")},[]),d.suppressHydrationWarning=!0,e.createElement(t,{...d,ref:e.useCallback((f)=>{u.current=f,typeof l=="function"?l(f):l!==null&&(l.current=f)},[l])})});return i.displayName=o??n.name,i};var Ivn=P(()=>{Uzr=new Set(["children","localName","ref","style","className"]),Cvn=new WeakMap});var $W=P(()=>{Ivn()});var ds=(e)=>(t,n)=>{n!==void 0?n.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)};var Tvn=()=>{};class R1e{constructor(e,t,n){if(this._$cssResult$=!0,n!==Mqe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(k1e&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=kvn.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&kvn.set(t,e))}return e}toString(){return this.cssText}}var T1e,k1e,Mqe,kvn,Rvn=(e)=>new R1e(typeof e=="string"?e:e+"",void 0,Mqe),ia=(e,...t)=>{let n=e.length===1?e[0]:t.reduce((r,o,a)=>r+((i)=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+e[a+1],e[0]);return new R1e(n,e,Mqe)},Pvn=(e,t)=>{if(k1e)e.adoptedStyleSheets=t.map((n)=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(let n of t){let r=document.createElement("style"),o=T1e.litNonce;o!==void 0&&r.setAttribute("nonce",o),r.textContent=n.cssText,e.appendChild(r)}},Dqe;var Lqe=P(()=>{T1e=globalThis,k1e=T1e.ShadowRoot&&(T1e.ShadyCSS===void 0||T1e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Mqe=Symbol(),kvn=new WeakMap;Dqe=k1e?(e)=>e:(e)=>e instanceof CSSStyleSheet?((t)=>{let n="";for(let r of t.cssRules)n+=r.cssText;return Rvn(n)})(e):e});var Nzr,zzr,_zr,Hzr,Vzr,Gzr,P1e,Mvn,qzr,Zzr,eY=(e,t)=>e,tY,M1e=(e,t)=>!Nzr(e,t),Dvn,k5;var nY=P(()=>{Lqe();Lqe();({is:Nzr,defineProperty:zzr,getOwnPropertyDescriptor:_zr,getOwnPropertyNames:Hzr,getOwnPropertySymbols:Vzr,getPrototypeOf:Gzr}=Object),P1e=globalThis,Mvn=P1e.trustedTypes,qzr=Mvn?Mvn.emptyScript:"",Zzr=P1e.reactiveElementPolyfillSupport,tY={toAttribute(e,t){switch(t){case Boolean:e=e?qzr:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(r){n=null}}return n}},Dvn={attribute:!0,type:String,converter:tY,reflect:!1,useDefault:!1,hasChanged:M1e};Symbol.metadata??=Symbol("metadata"),P1e.litPropertyMetadata??=new WeakMap;k5=class k5 extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Dvn){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&zzr(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:o}=_zr(this.prototype,e)??{get(){return this[t]},set(a){this[t]=a}};return{get:r,set(a){let i=r?.call(this);o?.call(this,a),this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Dvn}static _$Ei(){if(this.hasOwnProperty(eY("elementProperties")))return;let e=Gzr(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(eY("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(eY("properties"))){let t=this.properties,n=[...Hzr(t),...Vzr(t)];for(let r of n)this.createProperty(r,t[r])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[n,r]of t)this.elementProperties.set(n,r)}this._$Eh=new Map;for(let[t,n]of this.elementProperties){let r=this._$Eu(t,n);r!==void 0&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let r of n)t.unshift(Dqe(r))}else e!==void 0&&t.push(Dqe(e));return t}static _$Eu(e,t){let n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e)=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e)=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Pvn(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e)=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e)=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&n.reflect===!0){let o=(n.converter?.toAttribute!==void 0?n.converter:tY).toAttribute(t,n.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let o=n.getPropertyOptions(r),a=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:tY;this._$Em=r;let i=a.fromAttribute(t,o.type);this[r]=i??this._$Ej?.get(r)??i,this._$Em=null}}requestUpdate(e,t,n,r=!1,o){if(e!==void 0){let a=this.constructor;if(r===!1&&(o=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??M1e)(o,t)||n.useDefault&&n.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:o},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),o!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),r===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[r,o]of n){let{wrapped:a}=o,i=this[r];a!==!0||this._$AL.has(r)||i===void 0||this.C(r,void 0,o,i)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((n)=>n.hostUpdate?.()),this.update(t)):this._$EM()}catch(n){throw e=!1,this._$EM(),n}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((t)=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach((t)=>this._$ET(t,this[t])),this._$EM()}updated(e){}firstUpdated(e){}};k5.elementStyles=[],k5.shadowRootOptions={mode:"open"},k5[eY("elementProperties")]=new Map,k5[eY("finalized")]=new Map,Zzr?.({ReactiveElement:k5}),(P1e.reactiveElementVersions??=[]).push("2.1.2")});function xn(e){return(t,n)=>typeof n=="object"?Xzr(e,t,n):((r,o,a)=>{let i=o.hasOwnProperty(a);return o.constructor.createProperty(a,r),i?Object.getOwnPropertyDescriptor(o,a):void 0})(e,t,n)}var Qzr,Xzr=(e=Qzr,t,n)=>{let{kind:r,metadata:o}=n,a=globalThis.litPropertyMetadata.get(o);if(a===void 0&&globalThis.litPropertyMetadata.set(o,a=new Map),r==="setter"&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r==="accessor"){let{name:i}=n;return{set(s){let l=t.get.call(this);t.set.call(this,s),this.requestUpdate(i,l,e,!0,s)},init(s){return s!==void 0&&this.C(i,void 0,e,s),s}}}if(r==="setter"){let{name:i}=n;return function(s){let l=this[i];t.call(this,s),this.requestUpdate(i,l,e,!0,s)}}throw Error("Unsupported decorator location: "+r)};var Bqe=P(()=>{nY();Qzr={attribute:!0,type:String,converter:tY,reflect:!1,hasChanged:M1e}});function dp(e){return xn({...e,state:!0,attribute:!1})}var Lvn=P(()=>{Bqe()});var Bvn=()=>{};var hS=(e,t,n)=>(n.configurable=!0,n.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(e,t,n),n);var SO=()=>{};function rf(e,t){return(n,r,o)=>{let a=(i)=>i.renderRoot?.querySelector(e)??null;if(t){let{get:i,set:s}=typeof r=="object"?n:o??(()=>{let l=Symbol();return{get(){return this[l]},set(c){this[l]=c}}})();return hS(n,r,{get(){let l=i.call(this);return l===void 0&&(l=a(this),(l!==null||this.hasUpdated)&&s.call(this,l)),l}})}return hS(n,r,{get(){return a(this)}})}}var Ovn=P(()=>{SO()});var Fvn=P(()=>{SO()});function Oqe(e){return(t,n)=>hS(t,n,{async get(){return await this.updateComplete,this.renderRoot?.querySelector(e)??null}})}var Uvn=P(()=>{SO()});function K7(e){return(t,n)=>{let{slot:r,selector:o}=e??{},a="slot"+(r?`[name=${r}]`:":not([name])");return hS(t,n,{get(){let i=this.renderRoot?.querySelector(a),s=i?.assignedElements(e)??[];return o===void 0?s:s.filter((l)=>l.matches(o))}})}}var Nvn=P(()=>{SO()});var zvn=P(()=>{SO()});var Pl=P(()=>{Tvn();Bqe();Lvn();Bvn();Ovn();Fvn();Uvn();Nvn();zvn()});function Jvn(e,t){if(!Nqe(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return Hvn!==void 0?Hvn.createHTML(t):t}class iY{constructor({strings:e,_$litType$:t},n){let r;this.parts=[];let o=0,a=0,i=e.length-1,s=this.parts,[l,c]=jvn(e,t);if(this.el=iY.createElement(l,n),j7.currentNode=this.el.content,t===2||t===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(r=j7.nextNode())!==null&&s.length0){r.textContent=D1e?D1e.emptyScript:"";for(let p=0;p2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=cr}_$AI(e,t=this,n,r){let o=this.strings,a=!1;if(o===void 0)e=ek(this,e,t,0),a=!aY(e)||e!==this._$AH&&e!==Gm,a&&(this._$AH=e);else{let i=e,s,l;for(e=o[0],s=0;se,D1e,Hvn,gS,Uqe,Wzr,$7,oY=()=>$7.createComment(""),aY=(e)=>e===null||typeof e!="object"&&typeof e!="function",Nqe,Xvn=(e)=>Nqe(e)||typeof e?.[Symbol.iterator]=="function",rY,Vvn,Gvn,J7,qvn,Zvn,Wvn,zqe=(e)=>(t,...n)=>({_$litType$:e,strings:t,values:n}),Pr,Yvn,Kvn,Gm,cr,Qvn,j7,jvn=(e,t)=>{let n=e.length-1,r=[],o,a=t===2?"":t===3?"":"",i=rY;for(let s=0;s"?(i=o??rY,d=-1):u[1]===void 0?d=-2:(d=i.lastIndex-u[2].length,c=u[1],i=u[3]===void 0?J7:u[3]==='"'?Zvn:qvn):i===Zvn||i===qvn?i=J7:i===Vvn||i===Gvn?i=rY:(i=J7,o=void 0);let f=i===J7&&e[s+1].startsWith("/>")?" ":"";a+=i===rY?l+Wzr:d>=0?(r.push(c),l.slice(0,d)+"$lit$"+l.slice(d)+gS+f):l+gS+(d===-2?s:f)}return[Jvn(e,a+(e[n]||"")+(t===2?"":t===3?"":"")),r]},Hqe,Vqe,Gqe,$vn,Yzr,L1e=(e,t,n)=>{let r=n?.renderBefore??t,o=r._$litPart$;if(o===void 0){let a=n?.renderBefore??null;r._$litPart$=o=new CO(t.insertBefore(oY(),a),a,void 0,n??{})}return o._$AI(e),o};var yS=P(()=>{Fqe=globalThis,D1e=Fqe.trustedTypes,Hvn=D1e?D1e.createPolicy("lit-html",{createHTML:(e)=>e}):void 0,gS=`lit$${Math.random().toFixed(9).slice(2)}$`,Uqe="?"+gS,Wzr=`<${Uqe}>`,$7=document,Nqe=Array.isArray,rY=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Vvn=/-->/g,Gvn=/>/g,J7=RegExp(`>|[ + `, + l = o.getParameter(o.VERTEX_ARRAY_BINDING), + c = o.getParameter(o.CURRENT_PROGRAM), + u = c ? o.getProgramParameter(c, o.DELETE_STATUS) : !1; + if (n) this.distancesTransformFeedback.vao = o.createVertexArray(); + if ((o.bindVertexArray(this.distancesTransformFeedback.vao), n)) { + let d = o.createProgram(), + p = a(o, o.VERTEX_SHADER, i), + f = a(o, o.FRAGMENT_SHADER, s); + if (!p || !f) + throw Error( + "Could not compile shaders for distances computation on GPU.", + ); + if ( + (o.attachShader(d, p), + o.attachShader(d, f), + o.transformFeedbackVaryings(d, ["distance"], o.SEPARATE_ATTRIBS), + o.linkProgram(d), + !o.getProgramParameter(d, o.LINK_STATUS)) + ) { + let g = o.getProgramInfoLog(d); + throw ( + console.error("Fatal error: Failed to link program: " + g), + o.deleteProgram(d), + o.deleteShader(f), + o.deleteShader(p), + Error("Could not link shaders for distances computation on GPU.") + ); + } + ((this.distancesTransformFeedback.program = d), + (this.distancesTransformFeedback.vertexShader = p), + (this.distancesTransformFeedback.vertexShader = f)); + } + if ( + (o.useProgram(this.distancesTransformFeedback.program), + (this.distancesTransformFeedback.centersLoc = o.getAttribLocation( + this.distancesTransformFeedback.program, + "center", + )), + this.dynamicMode) + ) { + this.distancesTransformFeedback.sceneIndexesLoc = o.getAttribLocation( + this.distancesTransformFeedback.program, + "sceneIndex", + ); + for (let d = 0; d < this.scenes.length; d++) + this.distancesTransformFeedback.transformsLocs[d] = + o.getUniformLocation( + this.distancesTransformFeedback.program, + `transforms[${d}]`, + ); + } else + this.distancesTransformFeedback.modelViewProjLoc = + o.getUniformLocation( + this.distancesTransformFeedback.program, + "modelViewProj", + ); + if (n || r) { + if ( + ((this.distancesTransformFeedback.centersBuffer = o.createBuffer()), + o.bindBuffer( + o.ARRAY_BUFFER, + this.distancesTransformFeedback.centersBuffer, + ), + o.enableVertexAttribArray( + this.distancesTransformFeedback.centersLoc, + ), + this.integerBasedDistancesComputation) + ) + o.vertexAttribIPointer( + this.distancesTransformFeedback.centersLoc, + 4, + o.INT, + 0, + 0, + ); + else + o.vertexAttribPointer( + this.distancesTransformFeedback.centersLoc, + 4, + o.FLOAT, + !1, + 0, + 0, + ); + if (this.dynamicMode) + ((this.distancesTransformFeedback.sceneIndexesBuffer = + o.createBuffer()), + o.bindBuffer( + o.ARRAY_BUFFER, + this.distancesTransformFeedback.sceneIndexesBuffer, + ), + o.enableVertexAttribArray( + this.distancesTransformFeedback.sceneIndexesLoc, + ), + o.vertexAttribIPointer( + this.distancesTransformFeedback.sceneIndexesLoc, + 1, + o.UNSIGNED_INT, + 0, + 0, + )); + } + if (n || r) + this.distancesTransformFeedback.outDistancesBuffer = o.createBuffer(); + if ( + (o.bindBuffer( + o.ARRAY_BUFFER, + this.distancesTransformFeedback.outDistancesBuffer, + ), + o.bufferData(o.ARRAY_BUFFER, t * 4, o.STATIC_READ), + n) + ) + this.distancesTransformFeedback.id = o.createTransformFeedback(); + if ( + (o.bindTransformFeedback( + o.TRANSFORM_FEEDBACK, + this.distancesTransformFeedback.id, + ), + o.bindBufferBase( + o.TRANSFORM_FEEDBACK_BUFFER, + 0, + this.distancesTransformFeedback.outDistancesBuffer, + ), + c && u !== !0) + ) + o.useProgram(c); + if (l) o.bindVertexArray(l); + ((this.lastRenderer = this.renderer), (e = t)); + }; + })(); + updateGPUCentersBufferForDistancesComputation(e, t, n) { + if (!this.renderer) return; + let r = this.renderer.getContext(), + o = r.getParameter(r.VERTEX_ARRAY_BINDING); + r.bindVertexArray(this.distancesTransformFeedback.vao); + let a = this.integerBasedDistancesComputation + ? Uint32Array + : Float32Array, + i = 16, + s = n * i; + if ( + (r.bindBuffer( + r.ARRAY_BUFFER, + this.distancesTransformFeedback.centersBuffer, + ), + e) + ) + r.bufferSubData(r.ARRAY_BUFFER, s, t); + else { + let l = new a(this.getMaxSplatCount() * i); + (l.set(t), r.bufferData(r.ARRAY_BUFFER, l, r.STATIC_DRAW)); + } + if ((r.bindBuffer(r.ARRAY_BUFFER, null), o)) r.bindVertexArray(o); + } + updateGPUTransformIndexesBufferForDistancesComputation(e, t, n) { + if (!this.renderer || !this.dynamicMode) return; + let r = this.renderer.getContext(), + o = r.getParameter(r.VERTEX_ARRAY_BINDING); + r.bindVertexArray(this.distancesTransformFeedback.vao); + let a = n * 4; + if ( + (r.bindBuffer( + r.ARRAY_BUFFER, + this.distancesTransformFeedback.sceneIndexesBuffer, + ), + e) + ) + r.bufferSubData(r.ARRAY_BUFFER, a, t); + else { + let i = new Uint32Array(this.getMaxSplatCount() * 4); + (i.set(t), r.bufferData(r.ARRAY_BUFFER, i, r.STATIC_DRAW)); + } + if ((r.bindBuffer(r.ARRAY_BUFFER, null), o)) r.bindVertexArray(o); + } + getSceneIndexes(e, t) { + let n, + r = t - e + 1; + n = new Uint32Array(r); + for (let o = e; o <= t; o++) + n[o] = this.globalSplatIndexToSceneIndexMap[o]; + return n; + } + fillTransformsArray = (function () { + let e = []; + return function (t) { + if (e.length !== t.length) e.length = t.length; + for (let n = 0; n < this.scenes.length; n++) { + let o = this.getScene(n).transform.elements; + for (let a = 0; a < 16; a++) e[n * 16 + a] = o[a]; + } + t.set(e); + }; + })(); + computeDistancesOnGPU = (function () { + let e = new Vn(); + return function (t, n) { + if (!this.renderer) return; + let r = this.renderer.getContext(), + o = r.getParameter(r.VERTEX_ARRAY_BINDING), + a = r.getParameter(r.CURRENT_PROGRAM), + i = a ? r.getProgramParameter(a, r.DELETE_STATUS) : !1; + if ( + (r.bindVertexArray(this.distancesTransformFeedback.vao), + r.useProgram(this.distancesTransformFeedback.program), + r.enable(r.RASTERIZER_DISCARD), + this.dynamicMode) + ) + for (let c = 0; c < this.scenes.length; c++) + if ( + (e.copy(this.getScene(c).transform), + e.premultiply(t), + this.integerBasedDistancesComputation) + ) { + let u = Kf.getIntegerMatrixArray(e), + d = [u[2], u[6], u[10], u[14]]; + r.uniform4i( + this.distancesTransformFeedback.transformsLocs[c], + d[0], + d[1], + d[2], + d[3], + ); + } else + r.uniformMatrix4fv( + this.distancesTransformFeedback.transformsLocs[c], + !1, + e.elements, + ); + else if (this.integerBasedDistancesComputation) { + let c = Kf.getIntegerMatrixArray(t), + u = [c[2], c[6], c[10]]; + r.uniform3i( + this.distancesTransformFeedback.modelViewProjLoc, + u[0], + u[1], + u[2], + ); + } else { + let c = [t.elements[2], t.elements[6], t.elements[10]]; + r.uniform3f( + this.distancesTransformFeedback.modelViewProjLoc, + c[0], + c[1], + c[2], + ); + } + if ( + (r.bindBuffer( + r.ARRAY_BUFFER, + this.distancesTransformFeedback.centersBuffer, + ), + r.enableVertexAttribArray(this.distancesTransformFeedback.centersLoc), + this.integerBasedDistancesComputation) + ) + r.vertexAttribIPointer( + this.distancesTransformFeedback.centersLoc, + 4, + r.INT, + 0, + 0, + ); + else + r.vertexAttribPointer( + this.distancesTransformFeedback.centersLoc, + 4, + r.FLOAT, + !1, + 0, + 0, + ); + if (this.dynamicMode) + (r.bindBuffer( + r.ARRAY_BUFFER, + this.distancesTransformFeedback.sceneIndexesBuffer, + ), + r.enableVertexAttribArray( + this.distancesTransformFeedback.sceneIndexesLoc, + ), + r.vertexAttribIPointer( + this.distancesTransformFeedback.sceneIndexesLoc, + 1, + r.UNSIGNED_INT, + 0, + 0, + )); + (r.bindTransformFeedback( + r.TRANSFORM_FEEDBACK, + this.distancesTransformFeedback.id, + ), + r.bindBufferBase( + r.TRANSFORM_FEEDBACK_BUFFER, + 0, + this.distancesTransformFeedback.outDistancesBuffer, + ), + r.beginTransformFeedback(r.POINTS), + r.drawArrays(r.POINTS, 0, this.getSplatCount()), + r.endTransformFeedback(), + r.bindBufferBase(r.TRANSFORM_FEEDBACK_BUFFER, 0, null), + r.bindTransformFeedback(r.TRANSFORM_FEEDBACK, null), + r.disable(r.RASTERIZER_DISCARD)); + let s = r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE, 0); + r.flush(); + let l = new Promise((c) => { + let u = () => { + if (this.disposed) c(); + else + switch (r.clientWaitSync(s, 0, 0)) { + case r.TIMEOUT_EXPIRED: + return ( + (this.computeDistancesOnGPUSyncTimeout = setTimeout(u)), + this.computeDistancesOnGPUSyncTimeout + ); + case r.WAIT_FAILED: + throw Error("should never get here"); + default: + ((this.computeDistancesOnGPUSyncTimeout = null), + r.deleteSync(s)); + let m = r.getParameter(r.VERTEX_ARRAY_BINDING); + if ( + (r.bindVertexArray(this.distancesTransformFeedback.vao), + r.bindBuffer( + r.ARRAY_BUFFER, + this.distancesTransformFeedback.outDistancesBuffer, + ), + r.getBufferSubData(r.ARRAY_BUFFER, 0, n), + r.bindBuffer(r.ARRAY_BUFFER, null), + m) + ) + r.bindVertexArray(m); + c(); + } + }; + this.computeDistancesOnGPUSyncTimeout = setTimeout(u); + }); + if (a && i !== !0) r.useProgram(a); + if (o) r.bindVertexArray(o); + return l; + }; + })(); + getLocalSplatParameters(e, t, n) { + if (n === void 0 || n === null) n = this.dynamicMode ? !1 : !0; + ((t.splatBuffer = this.getSplatBufferForSplat(e)), + (t.localIndex = this.getSplatLocalIndex(e)), + (t.sceneTransform = n ? this.getSceneTransformForSplat(e) : null)); + } + fillSplatDataArrays( + e, + t, + n, + r, + o, + a, + i, + s = 0, + l = 0, + c = 1, + u, + d, + p = 0, + f, + ) { + let m = new he(); + if (((m.x = void 0), (m.y = void 0), this.splatRenderMode === uS.ThreeD)) + m.z = void 0; + else m.z = 1; + let g = new Vn(), + v = 0, + y = this.scenes.length - 1; + if (f !== void 0 && f !== null && f >= 0 && f <= this.scenes.length) + ((v = f), (y = f)); + for (let x = v; x <= y; x++) { + if (i === void 0 || i === null) i = this.dynamicMode ? !1 : !0; + let A = this.getScene(x), + w = A.splatBuffer, + C; + if (i) (this.getSceneTransform(x, g), (C = g)); + if (e) w.fillSplatCovarianceArray(e, C, u, d, p, s); + if (t || n) { + if (!t || !n) + throw Error( + 'SplatMesh::fillSplatDataArrays() -> "scales" and "rotations" must both be valid.', + ); + w.fillSplatScaleRotationArray(t, n, C, u, d, p, l, m); + } + if (r) w.fillSplatCenterArray(r, C, u, d, p); + if (o) w.fillSplatColorArray(o, A.minimumAlpha, u, d, p); + if (a) + w.fillSphericalHarmonicsArray( + a, + this.minSphericalHarmonicsDegree, + C, + u, + d, + p, + c, + ); + p += w.getSplatCount(); + } + } + getIntegerCenters(e, t, n = !1) { + let r = t - e + 1, + o = new Float32Array(r * 3); + this.fillSplatDataArrays( + null, + null, + null, + o, + null, + null, + void 0, + void 0, + void 0, + void 0, + e, + ); + let a, + i = n ? 4 : 3; + a = new Int32Array(r * i); + for (let s = 0; s < r; s++) { + for (let l = 0; l < 3; l++) + a[s * i + l] = Math.round(o[s * 3 + l] * 1000); + if (n) a[s * i + 3] = 1000; + } + return a; + } + getFloatCenters(e, t, n = !1) { + let r = t - e + 1, + o = new Float32Array(r * 3); + if ( + (this.fillSplatDataArrays( + null, + null, + null, + o, + null, + null, + void 0, + void 0, + void 0, + void 0, + e, + ), + !n) + ) + return o; + let a = new Float32Array(r * 4); + for (let i = 0; i < r; i++) { + for (let s = 0; s < 3; s++) a[i * 4 + s] = o[i * 3 + s]; + a[i * 4 + 3] = 1; + } + return a; + } + getSplatCenter = (function () { + let e = {}; + return function (t, n, r) { + (this.getLocalSplatParameters(t, e, r), + e.splatBuffer.getSplatCenter(e.localIndex, n, e.sceneTransform)); + }; + })(); + getSplatScaleAndRotation = (function () { + let e = {}, + t = new he(); + return function (n, r, o, a) { + if ( + (this.getLocalSplatParameters(n, e, a), + (t.x = void 0), + (t.y = void 0), + (t.z = void 0), + this.splatRenderMode === uS.TwoD) + ) + t.z = 0; + e.splatBuffer.getSplatScaleAndRotation( + e.localIndex, + r, + o, + e.sceneTransform, + t, + ); + }; + })(); + getSplatColor = (function () { + let e = {}; + return function (t, n) { + (this.getLocalSplatParameters(t, e), + e.splatBuffer.getSplatColor(e.localIndex, n)); + }; + })(); + getSceneTransform(e, t) { + let n = this.getScene(e); + (n.updateTransform(this.dynamicMode), t.copy(n.transform)); + } + getScene(e) { + if (e < 0 || e >= this.scenes.length) + throw Error("SplatMesh::getScene() -> Invalid scene index."); + return this.scenes[e]; + } + getSceneCount() { + return this.scenes.length; + } + getSplatBufferForSplat(e) { + return this.getScene(this.globalSplatIndexToSceneIndexMap[e]).splatBuffer; + } + getSceneIndexForSplat(e) { + return this.globalSplatIndexToSceneIndexMap[e]; + } + getSceneTransformForSplat(e) { + return this.getScene(this.globalSplatIndexToSceneIndexMap[e]).transform; + } + getSplatLocalIndex(e) { + return this.globalSplatIndexToLocalSplatIndexMap[e]; + } + static getIntegerMatrixArray(e) { + let t = e.elements, + n = []; + for (let r = 0; r < 16; r++) n[r] = Math.round(t[r] * 1000); + return n; + } + computeBoundingBox(e = !1, t) { + let n = this.getSplatCount(); + if (t !== void 0 && t !== null) { + if (t < 0 || t >= this.scenes.length) + throw Error( + "SplatMesh::computeBoundingBox() -> Invalid scene index.", + ); + n = this.scenes[t].splatBuffer.getSplatCount(); + } + let r = new Float32Array(n * 3); + this.fillSplatDataArrays( + null, + null, + null, + r, + null, + null, + e, + void 0, + void 0, + void 0, + void 0, + t, + ); + let o = new he(), + a = new he(); + for (let i = 0; i < n; i++) { + let s = i * 3, + l = r[s], + c = r[s + 1], + u = r[s + 2]; + if (i === 0 || l < o.x) o.x = l; + if (i === 0 || c < o.y) o.y = c; + if (i === 0 || u < o.z) o.z = u; + if (i === 0 || l > a.x) a.x = l; + if (i === 0 || c > a.y) a.y = c; + if (i === 0 || u > a.z) a.z = u; + } + return new Il(o, a); + } + }; + dO = { None: 0, VR: 1, AR: 2 }; + hO.xrSessionIsGranted = !1; + hO.registerSessionGrantedListener(); + dGe = { Always: 0, OnChange: 1, Never: 2 }; + H7 = class H7 { + constructor(e = {}) { + if (!e.cameraUp) e.cameraUp = [0, 1, 0]; + if ( + ((this.cameraUp = new he().fromArray(e.cameraUp)), + !e.initialCameraPosition) + ) + e.initialCameraPosition = [0, 10, 15]; + if ( + ((this.initialCameraPosition = new he().fromArray( + e.initialCameraPosition, + )), + !e.initialCameraLookAt) + ) + e.initialCameraLookAt = [0, 0, 0]; + if ( + ((this.initialCameraLookAt = new he().fromArray(e.initialCameraLookAt)), + (this.dropInMode = e.dropInMode || !1), + e.selfDrivenMode === void 0 || e.selfDrivenMode === null) + ) + e.selfDrivenMode = !0; + if ( + ((this.selfDrivenMode = e.selfDrivenMode && !this.dropInMode), + (this.selfDrivenUpdateFunc = this.selfDrivenUpdate.bind(this)), + e.useBuiltInControls === void 0) + ) + e.useBuiltInControls = !0; + if ( + ((this.useBuiltInControls = e.useBuiltInControls), + (this.rootElement = e.rootElement), + (this.ignoreDevicePixelRatio = e.ignoreDevicePixelRatio || !1), + (this.devicePixelRatio = this.ignoreDevicePixelRatio + ? 1 + : window.devicePixelRatio || 1), + (this.halfPrecisionCovariancesOnGPU = + e.halfPrecisionCovariancesOnGPU || !1), + (this.threeScene = e.threeScene), + (this.renderer = e.renderer), + (this.camera = e.camera), + (this.gpuAcceleratedSort = e.gpuAcceleratedSort || !1), + e.integerBasedSort === void 0 || e.integerBasedSort === null) + ) + e.integerBasedSort = !0; + if ( + ((this.integerBasedSort = e.integerBasedSort), + e.sharedMemoryForWorkers === void 0 || + e.sharedMemoryForWorkers === null) + ) + e.sharedMemoryForWorkers = !0; + if ( + ((this.sharedMemoryForWorkers = e.sharedMemoryForWorkers), + (this.dynamicScene = !!e.dynamicScene), + (this.antialiased = e.antialiased || !1), + (this.kernel2DSize = e.kernel2DSize === void 0 ? 0.3 : e.kernel2DSize), + (this.webXRMode = e.webXRMode || dO.None), + this.webXRMode !== dO.None) + ) + this.gpuAcceleratedSort = !1; + if ( + ((this.webXRActive = !1), + (this.webXRSessionInit = e.webXRSessionInit || {}), + (this.renderMode = e.renderMode || dGe.Always), + (this.sceneRevealMode = e.sceneRevealMode || OW.Default), + (this.focalAdjustment = e.focalAdjustment || 1), + (this.maxScreenSpaceSplatSize = e.maxScreenSpaceSplatSize || 1024), + (this.logLevel = e.logLevel || mO.None), + (this.sphericalHarmonicsDegree = e.sphericalHarmonicsDegree || 0), + (this.enableOptionalEffects = e.enableOptionalEffects || !1), + e.enableSIMDInSort === void 0 || e.enableSIMDInSort === null) + ) + e.enableSIMDInSort = !0; + if ( + ((this.enableSIMDInSort = e.enableSIMDInSort), + e.inMemoryCompressionLevel === void 0 || + e.inMemoryCompressionLevel === null) + ) + e.inMemoryCompressionLevel = 0; + if ( + ((this.inMemoryCompressionLevel = e.inMemoryCompressionLevel), + e.optimizeSplatData === void 0 || e.optimizeSplatData === null) + ) + e.optimizeSplatData = !0; + if ( + ((this.optimizeSplatData = e.optimizeSplatData), + e.freeIntermediateSplatData === void 0 || + e.freeIntermediateSplatData === null) + ) + e.freeIntermediateSplatData = !1; + if ( + ((this.freeIntermediateSplatData = e.freeIntermediateSplatData), yGe()) + ) { + let n = x1n(); + if (n.major < 17) this.enableSIMDInSort = !1; + if (n.major < 16) this.sharedMemoryForWorkers = !1; + } + if (e.splatRenderMode === void 0 || e.splatRenderMode === null) + e.splatRenderMode = uS.ThreeD; + ((this.splatRenderMode = e.splatRenderMode), + (this.sceneFadeInRateMultiplier = e.sceneFadeInRateMultiplier || 1), + (this.splatSortDistanceMapPrecision = + e.splatSortDistanceMapPrecision || + Ui.DefaultSplatSortDistanceMapPrecision)); + let t = this.integerBasedSort ? 20 : 24; + if ( + ((this.splatSortDistanceMapPrecision = Rl( + this.splatSortDistanceMapPrecision, + 10, + t, + )), + (this.onSplatMeshChangedCallback = null), + this.createSplatMesh(), + (this.controls = null), + (this.perspectiveControls = null), + (this.orthographicControls = null), + (this.orthographicCamera = null), + (this.perspectiveCamera = null), + (this.showMeshCursor = !1), + (this.showControlPlane = !1), + (this.showInfo = !1), + (this.sceneHelper = null), + (this.sortWorker = null), + (this.sortRunning = !1), + (this.splatRenderCount = 0), + (this.splatSortCount = 0), + (this.lastSplatSortCount = 0), + (this.sortWorkerIndexesToSort = null), + (this.sortWorkerSortedIndexes = null), + (this.sortWorkerPrecomputedDistances = null), + (this.sortWorkerTransforms = null), + (this.preSortMessages = []), + (this.runAfterNextSort = []), + (this.selfDrivenModeRunning = !1), + (this.splatRenderReady = !1), + (this.raycaster = new M1n()), + (this.infoPanel = null), + (this.startInOrthographicMode = !1), + (this.currentFPS = 0), + (this.lastSortTime = 0), + (this.consecutiveRenderFrames = 0), + (this.previousCameraTarget = new he()), + (this.nextCameraTarget = new he()), + (this.mousePosition = new vt()), + (this.mouseDownPosition = new vt()), + (this.mouseDownTime = null), + (this.resizeObserver = null), + (this.mouseMoveListener = null), + (this.mouseDownListener = null), + (this.mouseUpListener = null), + (this.keyDownListener = null), + (this.sortPromise = null), + (this.sortPromiseResolver = null), + (this.splatSceneDownloadPromises = {}), + (this.splatSceneDownloadAndBuildPromise = null), + (this.splatSceneRemovalPromise = null), + (this.loadingSpinner = new PGe( + null, + this.rootElement || document.body, + )), + this.loadingSpinner.hide(), + (this.loadingProgressBar = new k1n(this.rootElement || document.body)), + this.loadingProgressBar.hide(), + (this.infoPanel = new R1n(this.rootElement || document.body)), + this.infoPanel.hide(), + (this.usingExternalCamera = this.dropInMode || this.camera ? !0 : !1), + (this.usingExternalRenderer = + this.dropInMode || this.renderer ? !0 : !1), + (this.initialized = !1), + (this.disposing = !1), + (this.disposed = !1), + (this.disposePromise = null), + !this.dropInMode) + ) + this.init(); + } + createSplatMesh() { + if ( + ((this.splatMesh = new Kf( + this.splatRenderMode, + this.dynamicScene, + this.enableOptionalEffects, + this.halfPrecisionCovariancesOnGPU, + this.devicePixelRatio, + this.gpuAcceleratedSort, + this.integerBasedSort, + this.antialiased, + this.maxScreenSpaceSplatSize, + this.logLevel, + this.sphericalHarmonicsDegree, + this.sceneFadeInRateMultiplier, + this.kernel2DSize, + )), + (this.splatMesh.frustumCulled = !1), + this.onSplatMeshChangedCallback) + ) + this.onSplatMeshChangedCallback(); + } + init() { + if (this.initialized) return; + if (!this.rootElement) + if (!this.usingExternalRenderer) + ((this.rootElement = document.createElement("div")), + (this.rootElement.style.width = "100%"), + (this.rootElement.style.height = "100%"), + (this.rootElement.style.position = "absolute"), + document.body.appendChild(this.rootElement)); + else this.rootElement = this.renderer.domElement || document.body; + (this.setupCamera(), + this.setupRenderer(), + this.setupWebXR(this.webXRSessionInit), + this.setupControls(), + this.setupEventHandlers(), + (this.threeScene = this.threeScene || new y5()), + (this.sceneHelper = new LW(this.threeScene)), + this.sceneHelper.setupMeshCursor(), + this.sceneHelper.setupFocusMarker(), + this.sceneHelper.setupControlPlane(), + this.loadingProgressBar.setContainer(this.rootElement), + this.loadingSpinner.setContainer(this.rootElement), + this.infoPanel.setContainer(this.rootElement), + (this.initialized = !0)); + } + setupCamera() { + if (!this.usingExternalCamera) { + let e = new vt(); + (this.getRenderDimensions(e), + (this.perspectiveCamera = new Kl(iNr, e.x / e.y, 0.1, 1000)), + (this.orthographicCamera = new qy( + e.x / -2, + e.x / 2, + e.y / 2, + e.y / -2, + 0.1, + 1000, + )), + (this.camera = this.startInOrthographicMode + ? this.orthographicCamera + : this.perspectiveCamera), + this.camera.position.copy(this.initialCameraPosition), + this.camera.up.copy(this.cameraUp).normalize(), + this.camera.lookAt(this.initialCameraLookAt)); + } + } + setupRenderer() { + if (!this.usingExternalRenderer) { + let e = new vt(); + (this.getRenderDimensions(e), + (this.renderer = new oO({ antialias: !1, precision: "highp" })), + this.renderer.setPixelRatio(this.devicePixelRatio), + (this.renderer.autoClear = !0), + this.renderer.setClearColor(new _n(0), 0), + this.renderer.setSize(e.x, e.y), + (this.resizeObserver = new ResizeObserver(() => { + (this.getRenderDimensions(e), + this.renderer.setSize(e.x, e.y), + this.forceRenderNextFrame()); + })), + this.resizeObserver.observe(this.rootElement), + this.rootElement.appendChild(this.renderer.domElement)); + } + } + setupWebXR(e) { + if (this.webXRMode) { + if (this.webXRMode === dO.VR) + this.rootElement.appendChild(hO.createButton(this.renderer, e)); + else if (this.webXRMode === dO.AR) + this.rootElement.appendChild(O1n.createButton(this.renderer, e)); + (this.renderer.xr.addEventListener("sessionstart", (t) => { + this.webXRActive = !0; + }), + this.renderer.xr.addEventListener("sessionend", (t) => { + this.webXRActive = !1; + }), + (this.renderer.xr.enabled = !0), + this.camera.position.copy(this.initialCameraPosition), + this.camera.up.copy(this.cameraUp).normalize(), + this.camera.lookAt(this.initialCameraLookAt)); + } + } + setupControls() { + if (this.useBuiltInControls && this.webXRMode === dO.None) { + if (!this.usingExternalCamera) + ((this.perspectiveControls = new PW( + this.perspectiveCamera, + this.renderer.domElement, + )), + (this.orthographicControls = new PW( + this.orthographicCamera, + this.renderer.domElement, + ))); + else if (this.camera.isOrthographicCamera) + this.orthographicControls = new PW( + this.camera, + this.renderer.domElement, + ); + else + this.perspectiveControls = new PW( + this.camera, + this.renderer.domElement, + ); + for (let e of [this.orthographicControls, this.perspectiveControls]) + if (e) + (e.listenToKeyEvents(window), + (e.rotateSpeed = 0.5), + (e.maxPolarAngle = Math.PI * 0.75), + (e.minPolarAngle = 0.1), + (e.enableDamping = !0), + (e.dampingFactor = 0.05), + e.target.copy(this.initialCameraLookAt), + e.update()); + ((this.controls = this.camera.isOrthographicCamera + ? this.orthographicControls + : this.perspectiveControls), + this.controls.update()); + } + } + setupEventHandlers() { + if (this.useBuiltInControls && this.webXRMode === dO.None) + ((this.mouseMoveListener = this.onMouseMove.bind(this)), + this.renderer.domElement.addEventListener( + "pointermove", + this.mouseMoveListener, + !1, + ), + (this.mouseDownListener = this.onMouseDown.bind(this)), + this.renderer.domElement.addEventListener( + "pointerdown", + this.mouseDownListener, + !1, + ), + (this.mouseUpListener = this.onMouseUp.bind(this)), + this.renderer.domElement.addEventListener( + "pointerup", + this.mouseUpListener, + !1, + ), + (this.keyDownListener = this.onKeyDown.bind(this)), + window.addEventListener("keydown", this.keyDownListener, !1)); + } + removeEventHandlers() { + if (this.useBuiltInControls) + (this.renderer.domElement.removeEventListener( + "pointermove", + this.mouseMoveListener, + ), + (this.mouseMoveListener = null), + this.renderer.domElement.removeEventListener( + "pointerdown", + this.mouseDownListener, + ), + (this.mouseDownListener = null), + this.renderer.domElement.removeEventListener( + "pointerup", + this.mouseUpListener, + ), + (this.mouseUpListener = null), + window.removeEventListener("keydown", this.keyDownListener), + (this.keyDownListener = null)); + } + setRenderMode(e) { + this.renderMode = e; + } + setActiveSphericalHarmonicsDegrees(e) { + ((this.splatMesh.material.uniforms.sphericalHarmonicsDegree.value = e), + (this.splatMesh.material.uniformsNeedUpdate = !0)); + } + onSplatMeshChanged(e) { + this.onSplatMeshChangedCallback = e; + } + onKeyDown = (function () { + let e = new he(), + t = new Vn(), + n = new Vn(); + return function (r) { + switch ( + (e.set(0, 0, -1), + e.transformDirection(this.camera.matrixWorld), + t.makeRotationAxis(e, Math.PI / 128), + n.makeRotationAxis(e, -Math.PI / 128), + r.code) + ) { + case "KeyG": + ((this.focalAdjustment += 0.02), this.forceRenderNextFrame()); + break; + case "KeyF": + ((this.focalAdjustment -= 0.02), this.forceRenderNextFrame()); + break; + case "ArrowLeft": + this.camera.up.transformDirection(t); + break; + case "ArrowRight": + this.camera.up.transformDirection(n); + break; + case "KeyC": + this.showMeshCursor = !this.showMeshCursor; + break; + case "KeyU": + this.showControlPlane = !this.showControlPlane; + break; + case "KeyI": + if (((this.showInfo = !this.showInfo), this.showInfo)) + this.infoPanel.show(); + else this.infoPanel.hide(); + break; + case "KeyO": + if (!this.usingExternalCamera) + this.setOrthographicMode(!this.camera.isOrthographicCamera); + break; + case "KeyP": + if (!this.usingExternalCamera) + this.splatMesh.setPointCloudModeEnabled( + !this.splatMesh.getPointCloudModeEnabled(), + ); + break; + case "Equal": + if (!this.usingExternalCamera) + this.splatMesh.setSplatScale( + this.splatMesh.getSplatScale() + 0.05, + ); + break; + case "Minus": + if (!this.usingExternalCamera) + this.splatMesh.setSplatScale( + Math.max(this.splatMesh.getSplatScale() - 0.05, 0), + ); + break; + } + }; + })(); + onMouseMove(e) { + this.mousePosition.set(e.offsetX, e.offsetY); + } + onMouseDown() { + (this.mouseDownPosition.copy(this.mousePosition), + (this.mouseDownTime = cO())); + } + onMouseUp = (function () { + let e = new vt(); + return function (t) { + if ( + (e.copy(this.mousePosition).sub(this.mouseDownPosition), + cO() - this.mouseDownTime < 0.5 && e.length() < 2) + ) + this.onMouseClick(t); + }; + })(); + onMouseClick(e) { + (this.mousePosition.set(e.offsetX, e.offsetY), + this.checkForFocalPointChange()); + } + checkForFocalPointChange = (function () { + let e = new vt(), + t = new he(), + n = []; + return function () { + if (!this.transitioningCameraTarget) { + if ( + (this.getRenderDimensions(e), + (n.length = 0), + this.raycaster.setFromCameraAndScreenPosition( + this.camera, + this.mousePosition, + e, + ), + this.raycaster.intersectSplatMesh(this.splatMesh, n), + n.length > 0) + ) { + let o = n[0].origin; + if ((t.copy(o).sub(this.camera.position), t.length() > sNr)) + (this.previousCameraTarget.copy(this.controls.target), + this.nextCameraTarget.copy(o), + (this.transitioningCameraTarget = !0), + (this.transitioningCameraTargetStartTime = cO())); + } + } + }; + })(); + getRenderDimensions(e) { + if (this.rootElement) + ((e.x = this.rootElement.offsetWidth), + (e.y = this.rootElement.offsetHeight)); + else this.renderer.getSize(e); + } + setOrthographicMode(e) { + if (e === this.camera.isOrthographicCamera) return; + let t = this.camera, + n = e ? this.orthographicCamera : this.perspectiveCamera; + if ( + (n.position.copy(t.position), + n.up.copy(t.up), + n.rotation.copy(t.rotation), + n.quaternion.copy(t.quaternion), + n.matrix.copy(t.matrix), + (this.camera = n), + this.controls) + ) { + let r = (i) => { + (i.saveState(), i.reset()); + }, + o = this.controls, + a = e ? this.orthographicControls : this.perspectiveControls; + if ((r(a), r(o), a.target.copy(o.target), e)) + H7.setCameraZoomFromPosition(n, t, o); + else H7.setCameraPositionFromZoom(n, t, a); + ((this.controls = a), this.camera.lookAt(this.controls.target)); + } + } + static setCameraPositionFromZoom = (function () { + let e = new he(); + return function (t, n, r) { + let o = 1 / (n.zoom * 0.001); + (e + .copy(r.target) + .sub(t.position) + .normalize() + .multiplyScalar(o) + .negate(), + t.position.copy(r.target).add(e)); + }; + })(); + static setCameraZoomFromPosition = (function () { + let e = new he(); + return function (t, n, r) { + let o = e.copy(r.target).sub(n.position).length(); + t.zoom = 1 / (o * 0.001); + }; + })(); + updateSplatMesh = (function () { + let e = new vt(); + return function () { + if (!this.splatMesh) return; + if (this.splatMesh.getSplatCount() > 0) { + (this.splatMesh.updateVisibleRegionFadeDistance(this.sceneRevealMode), + this.splatMesh.updateTransforms(), + this.getRenderDimensions(e)); + let n = + this.camera.projectionMatrix.elements[0] * + 0.5 * + this.devicePixelRatio * + e.x, + r = + this.camera.projectionMatrix.elements[5] * + 0.5 * + this.devicePixelRatio * + e.y, + o = this.camera.isOrthographicCamera + ? 1 / this.devicePixelRatio + : 1, + a = this.focalAdjustment * o, + i = 1 / a; + (this.adjustForWebXRStereo(e), + this.splatMesh.updateUniforms( + e, + n * a, + r * a, + this.camera.isOrthographicCamera, + this.camera.zoom || 1, + i, + )); + } + }; + })(); + adjustForWebXRStereo(e) { + if (this.camera && this.webXRActive) { + let n = this.renderer.xr.getCamera().projectionMatrix.elements[0], + r = this.camera.projectionMatrix.elements[0]; + e.x *= r / n; + } + } + isLoadingOrUnloading() { + return ( + Object.keys(this.splatSceneDownloadPromises).length > 0 || + this.splatSceneDownloadAndBuildPromise !== null || + this.splatSceneRemovalPromise !== null + ); + } + isDisposingOrDisposed() { + return this.disposing || this.disposed; + } + addSplatSceneDownloadPromise(e) { + this.splatSceneDownloadPromises[e.id] = e; + } + removeSplatSceneDownloadPromise(e) { + delete this.splatSceneDownloadPromises[e.id]; + } + setSplatSceneDownloadAndBuildPromise(e) { + this.splatSceneDownloadAndBuildPromise = e; + } + clearSplatSceneDownloadAndBuildPromise() { + this.splatSceneDownloadAndBuildPromise = null; + } + addSplatScene(e, t = {}) { + if (this.isLoadingOrUnloading()) + throw Error( + "Cannot add splat scene while another load or unload is already in progress.", + ); + if (this.isDisposingOrDisposed()) + throw Error("Cannot add splat scene after dispose() is called."); + if ( + t.progressiveLoad && + this.splatMesh.scenes && + this.splatMesh.scenes.length > 0 + ) + (console.log( + 'addSplatScene(): "progressiveLoad" option ignore because there are multiple splat scenes', + ), + (t.progressiveLoad = !1)); + let n = t.format !== void 0 && t.format !== null ? t.format : c1n(e), + r = H7.isProgressivelyLoadable(n) && t.progressiveLoad, + o = + t.showLoadingUI !== void 0 && t.showLoadingUI !== null + ? t.showLoadingUI + : !0, + a = null; + if (o) + (this.loadingSpinner.removeAllTasks(), + (a = this.loadingSpinner.addTask("Downloading..."))); + let i = () => { + (this.loadingProgressBar.hide(), + this.loadingSpinner.removeAllTasks()); + }, + s = (m, g, v) => { + if (o) { + if (v === fd.Downloading) + if (m == 100) + this.loadingSpinner.setMessageForTask(a, "Download complete!"); + else if (r) + this.loadingSpinner.setMessageForTask( + a, + "Downloading splats...", + ); + else { + let y = g ? `: ${g}` : "..."; + this.loadingSpinner.setMessageForTask(a, `Downloading${y}`); + } + else if (v === fd.Processing) + this.loadingSpinner.setMessageForTask(a, "Processing splats..."); + } + }, + l = !1, + c = 0, + u = (m, g) => { + if (o) { + if ((m && r) || (g && !r)) { + if ((this.loadingSpinner.removeTask(a), !g && !l)) + this.loadingProgressBar.show(); + } + if (r) + if (g) ((l = !0), this.loadingProgressBar.hide()); + else this.loadingProgressBar.setProgress(c); + } + }, + d = (m, g, v) => { + if (((c = m), s(m, g, v), t.onProgress)) t.onProgress(m, g, v); + }, + p = (m, g, v) => { + if (!r && t.onProgress) t.onProgress(0, "0%", fd.Processing); + let y = { + rotation: t.rotation || t.orientation, + position: t.position, + scale: t.scale, + splatAlphaRemovalThreshold: t.splatAlphaRemovalThreshold, + }; + return this.addSplatBuffers([m], [y], v, g && o, o, r, r).then(() => { + if (!r && t.onProgress) t.onProgress(100, "100%", fd.Processing); + u(g, v); + }); + }; + return ( + r + ? this.downloadAndBuildSingleSplatSceneProgressiveLoad.bind(this) + : this.downloadAndBuildSingleSplatSceneStandardLoad.bind(this) + )( + e, + n, + t.splatAlphaRemovalThreshold, + p.bind(this), + d, + i.bind(this), + t.headers, + ); + } + downloadAndBuildSingleSplatSceneStandardLoad(e, t, n, r, o, a, i) { + let s = this.downloadSplatSceneToSplatBuffer(e, n, o, !1, void 0, t, i), + l = oGe(s.abortHandler); + return ( + s + .then( + (c) => ( + this.removeSplatSceneDownloadPromise(s), + r(c, !0, !0).then(() => { + (l.resolve(), this.clearSplatSceneDownloadAndBuildPromise()); + }) + ), + ) + .catch((c) => { + if (a) a(); + (this.clearSplatSceneDownloadAndBuildPromise(), + this.removeSplatSceneDownloadPromise(s), + l.reject( + this.updateError( + c, + `Viewer::addSplatScene -> Could not load file ${e}`, + ), + )); + }), + this.addSplatSceneDownloadPromise(s), + this.setSplatSceneDownloadAndBuildPromise(l.promise), + l.promise + ); + } + downloadAndBuildSingleSplatSceneProgressiveLoad(e, t, n, r, o, a, i) { + let s = 0, + l = !1, + c = [], + u = () => { + if (c.length > 0 && !l && !this.isDisposingOrDisposed()) { + l = !0; + let g = c.shift(); + r(g.splatBuffer, g.firstBuild, g.finalBuild).then(() => { + if (((l = !1), g.firstBuild)) f.resolve(); + else if (g.finalBuild) + (m.resolve(), this.clearSplatSceneDownloadAndBuildPromise()); + if (c.length > 0) d1(() => u()); + }); + } + }, + d = (g, v) => { + if (!this.isDisposingOrDisposed()) { + if ( + v || + c.length === 0 || + g.getSplatCount() > c[0].splatBuffer.getSplatCount() + ) + (c.push({ splatBuffer: g, firstBuild: s === 0, finalBuild: v }), + s++, + u()); + } + }, + p = this.downloadSplatSceneToSplatBuffer(e, n, o, !0, d, t, i), + f = oGe(p.abortHandler), + m = oGe(); + return ( + this.addSplatSceneDownloadPromise(p), + this.setSplatSceneDownloadAndBuildPromise(m.promise), + p + .then(() => { + this.removeSplatSceneDownloadPromise(p); + }) + .catch((g) => { + (this.clearSplatSceneDownloadAndBuildPromise(), + this.removeSplatSceneDownloadPromise(p)); + let v = this.updateError( + g, + "Viewer::addSplatScene -> Could not load one or more scenes", + ); + if ((f.reject(v), a)) a(v); + }), + f.promise + ); + } + addSplatScenes(e, t = !0, n = void 0) { + if (this.isLoadingOrUnloading()) + throw Error( + "Cannot add splat scene while another load or unload is already in progress.", + ); + if (this.isDisposingOrDisposed()) + throw Error("Cannot add splat scene after dispose() is called."); + let r = e.length, + o = [], + a; + if (t) + (this.loadingSpinner.removeAllTasks(), + (a = this.loadingSpinner.addTask("Downloading..."))); + let i = (u, d, p, f) => { + o[u] = d; + let m = 0; + for (let g = 0; g < r; g++) m += o[g] || 0; + if (((m = m / r), (p = `${m.toFixed(2)}%`), t)) { + if (f === fd.Downloading) + this.loadingSpinner.setMessageForTask( + a, + m == 100 ? "Download complete!" : `Downloading: ${p}`, + ); + } + if (n) n(m, p, f); + }, + s = [], + l = []; + for (let u = 0; u < e.length; u++) { + let d = e[u], + p = d.format !== void 0 && d.format !== null ? d.format : c1n(d.path), + f = this.downloadSplatSceneToSplatBuffer( + d.path, + d.splatAlphaRemovalThreshold, + i.bind(this, u), + !1, + void 0, + p, + d.headers, + ); + (s.push(f), l.push(f.promise)); + } + let c = new w5( + (u, d) => { + Promise.all(l) + .then((p) => { + if (t) this.loadingSpinner.removeTask(a); + if (n) n(0, "0%", fd.Processing); + this.addSplatBuffers(p, e, !0, t, t, !1, !1).then(() => { + if (n) n(100, "100%", fd.Processing); + (this.clearSplatSceneDownloadAndBuildPromise(), u()); + }); + }) + .catch((p) => { + if (t) this.loadingSpinner.removeTask(a); + (this.clearSplatSceneDownloadAndBuildPromise(), + d( + this.updateError( + p, + "Viewer::addSplatScenes -> Could not load one or more splat scenes.", + ), + )); + }) + .finally(() => { + this.removeSplatSceneDownloadPromise(c); + }); + }, + (u) => { + for (let d of s) d.abort(u); + }, + ); + return ( + this.addSplatSceneDownloadPromise(c), + this.setSplatSceneDownloadAndBuildPromise(c), + c + ); + } + downloadSplatSceneToSplatBuffer( + e, + t = 1, + n = void 0, + r = !1, + o = void 0, + a, + i, + ) { + try { + if (a === zm.Splat || a === zm.KSplat || a === zm.Ply) { + let s = r ? !1 : this.optimizeSplatData; + if (a === zm.Splat) + return RGe.loadFromURL( + e, + n, + r, + o, + t, + this.inMemoryCompressionLevel, + s, + i, + ); + else if (a === zm.KSplat) return DW.loadFromURL(e, n, r, o, i); + else if (a === zm.Ply) + return TGe.loadFromURL( + e, + n, + r, + o, + t, + this.inMemoryCompressionLevel, + s, + this.sphericalHarmonicsDegree, + i, + ); + } else if (a === zm.Spz) + return kGe.loadFromURL( + e, + n, + t, + this.inMemoryCompressionLevel, + this.optimizeSplatData, + this.sphericalHarmonicsDegree, + i, + ); + } catch (s) { + throw this.updateError(s, null); + } + throw Error( + `Viewer::downloadSplatSceneToSplatBuffer -> File format not supported: ${e}`, + ); + } + static isProgressivelyLoadable(e) { + return e === zm.Splat || e === zm.KSplat || e === zm.Ply; + } + addSplatBuffers = (function () { + return function ( + e, + t = [], + n = !0, + r = !0, + o = !0, + a = !1, + i = !1, + s = !0, + ) { + if (this.isDisposingOrDisposed()) return Promise.resolve(); + let l = null, + c = () => { + if (l !== null) (this.loadingSpinner.removeTask(l), (l = null)); + }; + return ( + (this.splatRenderReady = !1), + new Promise((u) => { + if (r) l = this.loadingSpinner.addTask("Processing splats..."); + d1(() => { + if (this.isDisposingOrDisposed()) u(); + else { + let d = this.addSplatBuffersToMesh(e, t, n, o, a, s), + p = this.splatMesh.getMaxSplatCount(); + if (this.sortWorker && this.sortWorker.maxSplatCount !== p) + this.disposeSortWorker(); + if (!this.gpuAcceleratedSort) + this.preSortMessages.push({ + centers: d.centers.buffer, + sceneIndexes: d.sceneIndexes.buffer, + range: { from: d.from, to: d.to, count: d.count }, + }); + (!this.sortWorker && p > 0 + ? this.setupSortWorker(this.splatMesh) + : Promise.resolve() + ).then(() => { + if (this.isDisposingOrDisposed()) return; + this.runSplatSort(!0, !0).then((m) => { + if (!this.sortWorker || !m) + ((this.splatRenderReady = !0), c(), u()); + else { + if (i) this.splatRenderReady = !0; + else + this.runAfterNextSort.push(() => { + this.splatRenderReady = !0; + }); + this.runAfterNextSort.push(() => { + (c(), u()); + }); + } + }); + }); + } + }, !0); + }) + ); + }; + })(); + addSplatBuffersToMesh = (function () { + let e; + return function (t, n, r = !0, o = !1, a = !1, i = !0) { + if (this.isDisposingOrDisposed()) return; + let s = [], + l = []; + if (!a) + ((s = this.splatMesh.scenes.map((p) => p.splatBuffer) || []), + (l = this.splatMesh.sceneOptions + ? this.splatMesh.sceneOptions.map((p) => p) + : [])); + if ((s.push(...t), l.push(...n), this.renderer)) + this.splatMesh.setRenderer(this.renderer); + let c = (p) => { + if (this.isDisposingOrDisposed()) return; + let f = this.splatMesh.getSplatCount(); + if (o && f >= lNr) { + if (!p && !e) + (this.loadingSpinner.setMinimized(!0, !0), + (e = this.loadingSpinner.addTask( + "Optimizing data structures...", + ))); + } + }, + u = (p) => { + if (this.isDisposingOrDisposed()) return; + if (p && e) (this.loadingSpinner.removeTask(e), (e = null)); + }, + d = this.splatMesh.build(s, l, !0, r, c, u, i); + if (r && this.freeIntermediateSplatData) + this.splatMesh.freeIntermediateSplatData(); + return d; + }; + })(); + setupSortWorker(e) { + if (this.isDisposingOrDisposed()) return; + return new Promise((t) => { + let n = this.integerBasedSort ? Int32Array : Float32Array, + r = e.getSplatCount(), + o = e.getMaxSplatCount(); + ((this.sortWorker = aNr( + o, + this.sharedMemoryForWorkers, + this.enableSIMDInSort, + this.integerBasedSort, + this.splatMesh.dynamicMode, + this.splatSortDistanceMapPrecision, + )), + (this.sortWorker.onmessage = (a) => { + if (a.data.sortDone) { + if (((this.sortRunning = !1), this.sharedMemoryForWorkers)) + this.splatMesh.updateRenderIndexes( + this.sortWorkerSortedIndexes, + a.data.splatRenderCount, + ); + else { + let i = new Uint32Array( + a.data.sortedIndexes.buffer, + 0, + a.data.splatRenderCount, + ); + this.splatMesh.updateRenderIndexes(i, a.data.splatRenderCount); + } + if ( + ((this.lastSplatSortCount = this.splatSortCount), + (this.lastSortTime = a.data.sortTime), + this.sortPromiseResolver(), + (this.sortPromiseResolver = null), + this.forceRenderNextFrame(), + this.runAfterNextSort.length > 0) + ) + (this.runAfterNextSort.forEach((i) => { + i(); + }), + (this.runAfterNextSort.length = 0)); + } else if (a.data.sortCanceled) this.sortRunning = !1; + else if (a.data.sortSetupPhase1Complete) { + if (this.logLevel >= mO.Info) + console.log("Sorting web worker WASM setup complete."); + if (this.sharedMemoryForWorkers) + ((this.sortWorkerSortedIndexes = new Uint32Array( + a.data.sortedIndexesBuffer, + a.data.sortedIndexesOffset, + o, + )), + (this.sortWorkerIndexesToSort = new Uint32Array( + a.data.indexesToSortBuffer, + a.data.indexesToSortOffset, + o, + )), + (this.sortWorkerPrecomputedDistances = new n( + a.data.precomputedDistancesBuffer, + a.data.precomputedDistancesOffset, + o, + )), + (this.sortWorkerTransforms = new Float32Array( + a.data.transformsBuffer, + a.data.transformsOffset, + Ui.MaxScenes * 16, + ))); + else + ((this.sortWorkerIndexesToSort = new Uint32Array(o)), + (this.sortWorkerPrecomputedDistances = new n(o)), + (this.sortWorkerTransforms = new Float32Array( + Ui.MaxScenes * 16, + ))); + for (let i = 0; i < r; i++) this.sortWorkerIndexesToSort[i] = i; + if ( + ((this.sortWorker.maxSplatCount = o), this.logLevel >= mO.Info) + ) { + console.log("Sorting web worker ready."); + let i = this.splatMesh.getSplatDataTextures(), + s = i.covariances.size, + l = i.centerColors.size; + (console.log("Covariances texture size: " + s.x + " x " + s.y), + console.log( + "Centers/colors texture size: " + l.x + " x " + l.y, + )); + } + t(); + } + })); + }); + } + updateError(e, t) { + if (e instanceof hGe) return e; + if (e instanceof FW) + return Error( + "File type or server does not support progressive loading.", + ); + return t ? Error(t) : e; + } + disposeSortWorker() { + if (this.sortWorker) this.sortWorker.terminate(); + if ( + ((this.sortWorker = null), + (this.sortPromise = null), + this.sortPromiseResolver) + ) + (this.sortPromiseResolver(), (this.sortPromiseResolver = null)); + ((this.preSortMessages = []), (this.sortRunning = !1)); + } + removeSplatScene(e, t = !0) { + return this.removeSplatScenes([e], t); + } + removeSplatScenes(e, t = !0) { + if (this.isLoadingOrUnloading()) + throw Error( + "Cannot remove splat scene while another load or unload is already in progress.", + ); + if (this.isDisposingOrDisposed()) + throw Error("Cannot remove splat scene after dispose() is called."); + let n; + return ( + (this.splatSceneRemovalPromise = new Promise((r, o) => { + let a; + if (t) + (this.loadingSpinner.removeAllTasks(), + this.loadingSpinner.show(), + (a = this.loadingSpinner.addTask("Removing splat scene..."))); + let i = () => { + if (t) + (this.loadingSpinner.hide(), this.loadingSpinner.removeTask(a)); + }, + s = (c) => { + if ((i(), (this.splatSceneRemovalPromise = null), !c)) r(); + else o(c); + }, + l = () => { + if (this.isDisposingOrDisposed()) return (s(), !0); + return !1; + }; + ((n = this.sortPromise || Promise.resolve()), + n.then(() => { + if (l()) return; + let c = [], + u = [], + d = []; + for (let p = 0; p < this.splatMesh.scenes.length; p++) { + let f = !1; + for (let m of e) + if (m === p) { + f = !0; + break; + } + if (!f) { + let m = this.splatMesh.scenes[p]; + (c.push(m.splatBuffer), + u.push(this.splatMesh.sceneOptions[p]), + d.push({ + position: m.position.clone(), + quaternion: m.quaternion.clone(), + scale: m.scale.clone(), + })); + } + } + (this.disposeSortWorker(), + this.splatMesh.dispose(), + (this.sceneRevealMode = OW.Instant), + this.createSplatMesh(), + this.addSplatBuffers(c, u, !0, !1, !0) + .then(() => { + if (l()) return; + (i(), + this.splatMesh.scenes.forEach((p, f) => { + (p.position.copy(d[f].position), + p.quaternion.copy(d[f].quaternion), + p.scale.copy(d[f].scale)); + }), + this.splatMesh.updateTransforms(), + (this.splatRenderReady = !1), + this.runSplatSort(!0).then(() => { + if (l()) { + this.splatRenderReady = !0; + return; + } + ((n = this.sortPromise || Promise.resolve()), + n.then(() => { + ((this.splatRenderReady = !0), s()); + })); + })); + }) + .catch((p) => { + s(p); + })); + })); + })), + this.splatSceneRemovalPromise + ); + } + start() { + if (this.selfDrivenMode) { + if (this.webXRMode) + this.renderer.setAnimationLoop(this.selfDrivenUpdateFunc); + else + this.requestFrameId = requestAnimationFrame( + this.selfDrivenUpdateFunc, + ); + this.selfDrivenModeRunning = !0; + } else + throw Error("Cannot start viewer unless it is in self driven mode."); + } + stop() { + if (this.selfDrivenMode && this.selfDrivenModeRunning) { + if (this.webXRMode) this.renderer.setAnimationLoop(null); + else cancelAnimationFrame(this.requestFrameId); + this.selfDrivenModeRunning = !1; + } + } + async dispose() { + if (this.isDisposingOrDisposed()) return this.disposePromise; + let e = [], + t = []; + for (let n in this.splatSceneDownloadPromises) + if (this.splatSceneDownloadPromises.hasOwnProperty(n)) { + let r = this.splatSceneDownloadPromises[n]; + (t.push(r), e.push(r.promise)); + } + if (this.sortPromise) e.push(this.sortPromise); + return ( + (this.disposing = !0), + (this.disposePromise = Promise.all(e).finally(() => { + if ((this.stop(), this.orthographicControls)) + (this.orthographicControls.dispose(), + (this.orthographicControls = null)); + if (this.perspectiveControls) + (this.perspectiveControls.dispose(), + (this.perspectiveControls = null)); + if (((this.controls = null), this.splatMesh)) + (this.splatMesh.dispose(), (this.splatMesh = null)); + if (this.sceneHelper) + (this.sceneHelper.dispose(), (this.sceneHelper = null)); + if (this.resizeObserver) + (this.resizeObserver.unobserve(this.rootElement), + (this.resizeObserver = null)); + if ( + (this.disposeSortWorker(), + this.removeEventHandlers(), + this.loadingSpinner.removeAllTasks(), + this.loadingSpinner.setContainer(null), + this.loadingProgressBar.hide(), + this.loadingProgressBar.setContainer(null), + this.infoPanel.setContainer(null), + (this.camera = null), + (this.threeScene = null), + (this.splatRenderReady = !1), + (this.initialized = !1), + this.renderer) + ) { + if (!this.usingExternalRenderer) + (this.rootElement.removeChild(this.renderer.domElement), + this.renderer.dispose()); + this.renderer = null; + } + if (!this.usingExternalRenderer) + document.body.removeChild(this.rootElement); + ((this.sortWorkerSortedIndexes = null), + (this.sortWorkerIndexesToSort = null), + (this.sortWorkerPrecomputedDistances = null), + (this.sortWorkerTransforms = null), + (this.disposed = !0), + (this.disposing = !1), + (this.disposePromise = null)); + })), + t.forEach((n) => { + n.abort("Scene disposed"); + }), + this.disposePromise + ); + } + selfDrivenUpdate() { + if (this.selfDrivenMode && !this.webXRMode) + this.requestFrameId = requestAnimationFrame(this.selfDrivenUpdateFunc); + if ((this.update(), this.shouldRender())) + (this.render(), this.consecutiveRenderFrames++); + else this.consecutiveRenderFrames = 0; + this.renderNextFrame = !1; + } + forceRenderNextFrame() { + this.renderNextFrame = !0; + } + shouldRender = (function () { + let e = 0, + t = new he(), + n = new Vo(), + r = 0.0001; + return function () { + if ( + !this.initialized || + !this.splatRenderReady || + this.isDisposingOrDisposed() + ) + return !1; + let o = !1, + a = !1; + if (this.camera) { + let i = this.camera.position, + s = this.camera.quaternion; + a = + Math.abs(i.x - t.x) > r || + Math.abs(i.y - t.y) > r || + Math.abs(i.z - t.z) > r || + Math.abs(s.x - n.x) > r || + Math.abs(s.y - n.y) > r || + Math.abs(s.z - n.z) > r || + Math.abs(s.w - n.w) > r; + } + if ( + ((o = + this.renderMode !== dGe.Never && + (e === 0 || + this.splatMesh.visibleRegionChanging || + a || + this.renderMode === dGe.Always || + this.dynamicMode === !0 || + this.renderNextFrame)), + this.camera) + ) + (t.copy(this.camera.position), n.copy(this.camera.quaternion)); + return (e++, o); + }; + })(); + render = (function () { + return function () { + if ( + !this.initialized || + !this.splatRenderReady || + this.isDisposingOrDisposed() + ) + return; + let e = (n) => { + for (let r of n.children) if (r.visible) return !0; + return !1; + }, + t = this.renderer.autoClear; + if (e(this.threeScene)) + (this.renderer.render(this.threeScene, this.camera), + (this.renderer.autoClear = !1)); + if ( + (this.renderer.render(this.splatMesh, this.camera), + (this.renderer.autoClear = !1), + this.sceneHelper.getFocusMarkerOpacity() > 0) + ) + this.renderer.render(this.sceneHelper.focusMarker, this.camera); + if (this.showControlPlane) + this.renderer.render(this.sceneHelper.controlPlane, this.camera); + this.renderer.autoClear = t; + }; + })(); + update(e, t) { + if (this.dropInMode) this.updateForDropInMode(e, t); + if ( + !this.initialized || + !this.splatRenderReady || + this.isDisposingOrDisposed() + ) + return; + if (this.controls) { + if ( + (this.controls.update(), + this.camera.isOrthographicCamera && !this.usingExternalCamera) + ) + H7.setCameraPositionFromZoom(this.camera, this.camera, this.controls); + } + (this.runSplatSort(), + this.updateForRendererSizeChanges(), + this.updateSplatMesh(), + this.updateMeshCursor(), + this.updateFPS(), + this.timingSensitiveUpdates(), + this.updateInfoPanel(), + this.updateControlPlane()); + } + updateForDropInMode(e, t) { + if (((this.renderer = e), this.splatMesh)) + this.splatMesh.setRenderer(this.renderer); + if (((this.camera = t), this.controls)) this.controls.object = t; + this.init(); + } + updateFPS = (function () { + let e = cO(), + t = 0; + return function () { + if (this.consecutiveRenderFrames > dNr) { + let n = cO(); + if (n - e >= 1) ((this.currentFPS = t), (t = 0), (e = n)); + else t++; + } else this.currentFPS = null; + }; + })(); + updateForRendererSizeChanges = (function () { + let e = new vt(), + t = new vt(), + n; + return function () { + if (!this.usingExternalCamera) { + if ( + (this.renderer.getSize(t), + n === void 0 || + n !== this.camera.isOrthographicCamera || + t.x !== e.x || + t.y !== e.y) + ) { + if (this.camera.isOrthographicCamera) + ((this.camera.left = -t.x / 2), + (this.camera.right = t.x / 2), + (this.camera.top = t.y / 2), + (this.camera.bottom = -t.y / 2)); + else this.camera.aspect = t.x / t.y; + (this.camera.updateProjectionMatrix(), + e.copy(t), + (n = this.camera.isOrthographicCamera)); + } + } + }; + })(); + timingSensitiveUpdates = (function () { + let e; + return function () { + let t = cO(); + if (!e) e = t; + let n = t - e; + (this.updateCameraTransition(t), this.updateFocusMarker(n), (e = t)); + }; + })(); + updateCameraTransition = (function () { + let e = new he(), + t = new he(), + n = new he(); + return function (r) { + if (this.transitioningCameraTarget) { + (t + .copy(this.previousCameraTarget) + .sub(this.camera.position) + .normalize(), + n + .copy(this.nextCameraTarget) + .sub(this.camera.position) + .normalize()); + let o = Math.acos(t.dot(n)), + i = + (((o / (Math.PI / 3)) * 0.65 + 0.3) / o) * + (r - this.transitioningCameraTargetStartTime); + if ( + (e.copy(this.previousCameraTarget).lerp(this.nextCameraTarget, i), + this.camera.lookAt(e), + this.controls.target.copy(e), + i >= 1) + ) + this.transitioningCameraTarget = !1; + } + }; + })(); + updateFocusMarker = (function () { + let e = new vt(), + t = !1; + return function (n) { + if ((this.getRenderDimensions(e), this.transitioningCameraTarget)) { + this.sceneHelper.setFocusMarkerVisibility(!0); + let r = Math.max(this.sceneHelper.getFocusMarkerOpacity(), 0), + o = Math.min(r + cNr * n, 1); + (this.sceneHelper.setFocusMarkerOpacity(o), + this.sceneHelper.updateFocusMarker( + this.nextCameraTarget, + this.camera, + e, + ), + (t = !0), + this.forceRenderNextFrame()); + } else { + let r; + if (t) r = 1; + else r = Math.min(this.sceneHelper.getFocusMarkerOpacity(), 1); + if (r > 0) { + this.sceneHelper.updateFocusMarker( + this.nextCameraTarget, + this.camera, + e, + ); + let o = Math.max(r - uNr * n, 0); + if ((this.sceneHelper.setFocusMarkerOpacity(o), o === 0)) + this.sceneHelper.setFocusMarkerVisibility(!1); + } + if (r > 0) this.forceRenderNextFrame(); + t = !1; + } + }; + })(); + updateMeshCursor = (function () { + let e = [], + t = new vt(); + return function () { + if (this.showMeshCursor) + if ( + (this.forceRenderNextFrame(), + this.getRenderDimensions(t), + (e.length = 0), + this.raycaster.setFromCameraAndScreenPosition( + this.camera, + this.mousePosition, + t, + ), + this.raycaster.intersectSplatMesh(this.splatMesh, e), + e.length > 0) + ) + (this.sceneHelper.setMeshCursorVisibility(!0), + this.sceneHelper.positionAndOrientMeshCursor( + e[0].origin, + this.camera, + )); + else this.sceneHelper.setMeshCursorVisibility(!1); + else { + if (this.sceneHelper.getMeschCursorVisibility()) + this.forceRenderNextFrame(); + this.sceneHelper.setMeshCursorVisibility(!1); + } + }; + })(); + updateInfoPanel = (function () { + let e = new vt(); + return function () { + if (!this.showInfo) return; + let t = this.splatMesh.getSplatCount(); + this.getRenderDimensions(e); + let n = this.controls ? this.controls.target : null, + r = this.showMeshCursor ? this.sceneHelper.meshCursor.position : null, + o = t > 0 ? (this.splatRenderCount / t) * 100 : 0; + this.infoPanel.update( + e, + this.camera.position, + n, + this.camera.up, + this.camera.isOrthographicCamera, + r, + this.currentFPS || "N/A", + t, + this.splatRenderCount, + o, + this.lastSortTime, + this.focalAdjustment, + this.splatMesh.getSplatScale(), + this.splatMesh.getPointCloudModeEnabled(), + ); + }; + })(); + updateControlPlane() { + if (this.showControlPlane) + (this.sceneHelper.setControlPlaneVisibility(!0), + this.sceneHelper.positionAndOrientControlPlane( + this.controls.target, + this.camera.up, + )); + else this.sceneHelper.setControlPlaneVisibility(!1); + } + runSplatSort = (function () { + let e = new Vn(), + t = [], + n = new he(0, 0, -1), + r = new he(0, 0, -1), + o = new he(), + a = new he(), + i = [], + s = [ + { angleThreshold: 0.55, sortFractions: [0.125, 0.33333, 0.75] }, + { angleThreshold: 0.65, sortFractions: [0.33333, 0.66667] }, + { angleThreshold: 0.8, sortFractions: [0.5] }, + ]; + return function (l = !1, c = !1) { + if (!this.initialized) return Promise.resolve(!1); + if (this.sortRunning) return Promise.resolve(!0); + if (this.splatMesh.getSplatCount() <= 0) + return ((this.splatRenderCount = 0), Promise.resolve(!1)); + let u = 0, + d = 0, + p = !1, + f = !1; + if ( + (r.set(0, 0, -1).applyQuaternion(this.camera.quaternion), + (u = r.dot(n)), + (d = a.copy(this.camera.position).sub(o).length()), + !l) + ) { + if (!this.splatMesh.dynamicMode && i.length === 0) { + if (u <= 0.99) p = !0; + if (d >= 1) f = !0; + if (!p && !f) return Promise.resolve(!1); + } + } + this.sortRunning = !0; + let { splatRenderCount: m, shouldSortAll: g } = + this.gatherSceneNodesForSort(); + ((g = g || c), + (this.splatRenderCount = m), + e.copy(this.camera.matrixWorld).invert()); + let v = this.perspectiveCamera || this.camera; + if ((e.premultiply(v.projectionMatrix), !this.splatMesh.dynamicMode)) + e.multiply(this.splatMesh.matrixWorld); + let y = Promise.resolve(!0); + if (this.gpuAcceleratedSort && (i.length <= 1 || i.length % 2 === 0)) + y = this.splatMesh.computeDistancesOnGPU( + e, + this.sortWorkerPrecomputedDistances, + ); + return ( + y.then(() => { + if (i.length === 0) + if (this.splatMesh.dynamicMode || g) + i.push(this.splatRenderCount); + else { + for (let w of s) + if (u < w.angleThreshold) { + for (let C of w.sortFractions) + i.push(Math.floor(this.splatRenderCount * C)); + break; + } + i.push(this.splatRenderCount); + } + let x = Math.min(i.shift(), this.splatRenderCount); + ((this.splatSortCount = x), + (t[0] = this.camera.position.x), + (t[1] = this.camera.position.y), + (t[2] = this.camera.position.z)); + let A = { + modelViewProj: e.elements, + cameraPosition: t, + splatRenderCount: this.splatRenderCount, + splatSortCount: x, + usePrecomputedDistances: this.gpuAcceleratedSort, + }; + if (this.splatMesh.dynamicMode) + this.splatMesh.fillTransformsArray(this.sortWorkerTransforms); + if (!this.sharedMemoryForWorkers) { + if ( + ((A.indexesToSort = this.sortWorkerIndexesToSort), + (A.transforms = this.sortWorkerTransforms), + this.gpuAcceleratedSort) + ) + A.precomputedDistances = this.sortWorkerPrecomputedDistances; + } + if ( + ((this.sortPromise = new Promise((w) => { + this.sortPromiseResolver = w; + })), + this.preSortMessages.length > 0) + ) + (this.preSortMessages.forEach((w) => { + this.sortWorker.postMessage(w); + }), + (this.preSortMessages = [])); + if ((this.sortWorker.postMessage({ sort: A }), i.length === 0)) + (o.copy(this.camera.position), n.copy(r)); + return !0; + }), + y + ); + }; + })(); + gatherSceneNodesForSort = (function () { + let e = [], + t = null, + n = new he(), + r = new he(), + o = new he(), + a = new Vn(), + i = new Vn(), + s = new Vn(), + l = new he(), + c = new he(0, 0, -1), + u = new he(), + d = (p) => u.copy(p.max).sub(p.min).length(); + return function (p = !1) { + this.getRenderDimensions(l); + let f = l.y / 2 / Math.tan((this.camera.fov / 2) * g5.DEG2RAD), + m = Math.atan(l.x / 2 / f), + g = Math.atan(l.y / 2 / f), + v = Math.cos(m), + y = Math.cos(g), + x = this.splatMesh.getSplatTree(); + if (x) { + if ( + (i.copy(this.camera.matrixWorld).invert(), + !this.splatMesh.dynamicMode) + ) + i.multiply(this.splatMesh.matrixWorld); + let A = 0, + w = 0; + for (let E = 0; E < x.subTrees.length; E++) { + let T = x.subTrees[E]; + if ((a.copy(i), this.splatMesh.dynamicMode)) + (this.splatMesh.getSceneTransform(E, s), a.multiply(s)); + let I = T.nodesWithIndexes.length; + for (let k = 0; k < I; k++) { + let L = T.nodesWithIndexes[k]; + if (!L.data || !L.data.indexes || L.data.indexes.length === 0) + continue; + o.copy(L.center).applyMatrix4(a); + let O = o.length(); + (o.normalize(), + n.copy(o).setX(0).normalize(), + r.copy(o).setY(0).normalize()); + let B = c.dot(r), + U = c.dot(n), + D = d(L), + N = U < y - 0.6, + _ = B < v - 0.6; + if (!p && (_ || N) && O > D) continue; + ((w += L.data.indexes.length), + (e[A] = L), + (L.data.distanceToNode = O), + A++); + } + } + ((e.length = A), + e.sort((E, T) => { + if (E.data.distanceToNode < T.data.distanceToNode) return -1; + else return 1; + })); + let C = w * Ui.BytesPerInt; + for (let E = 0; E < A; E++) { + let T = e[E], + I = T.data.indexes.length, + k = I * Ui.BytesPerInt; + (new Uint32Array(this.sortWorkerIndexesToSort.buffer, C - k, I).set( + T.data.indexes, + ), + (C -= k)); + } + return { splatRenderCount: w, shouldSortAll: !1 }; + } else { + let A = this.splatMesh.getSplatCount(); + if (!t || t.length !== A) { + t = new Uint32Array(A); + for (let w = 0; w < A; w++) t[w] = w; + } + return ( + this.sortWorkerIndexesToSort.set(t), + { splatRenderCount: A, shouldSortAll: !0 } + ); + } + }; + })(); + getSplatMesh() { + return this.splatMesh; + } + getSplatScene(e) { + return this.splatMesh.getScene(e); + } + getSceneCount() { + return this.splatMesh.getSceneCount(); + } + isMobile() { + return navigator.userAgent.includes("Mobi"); + } + }; +}); +function fNr() { + let e = RW((o) => o.camera), + t = RW((o) => o.gl.domElement), + n = RW((o) => o.invalidate), + r = wo.useRef(null); + return ( + wo.useEffect(() => { + let o = Hgn(e, t, n); + return ( + (r.current = o), + () => { + ((r.current = null), o.dispose()); + } + ); + }, [e, t, n]), + qVe((o, a) => r.current?.controls.update(a), -1), + null + ); +} +function mNr({ url: e }) { + let t = wo.useRef(null), + [n, r] = wo.useState(null); + if ( + (wo.useEffect( + () => ( + new nGe().load( + e, + (a) => { + (a.computeVertexNormals(), a.center(), r(a)); + }, + void 0, + (a) => { + console.error("[MeshScene] PLY load error:", a); + }, + ), + () => { + if (n) n.dispose(); + } + ), + [e], + ), + !n) + ) + return null; + return wo.createElement( + "mesh", + { ref: t, geometry: n }, + wo.createElement("meshStandardMaterial", { + color: "#888888", + metalness: 0.3, + roughness: 0.7, + }), + ); +} +function gNr({ + url: e, + onFallback: t, + onLoaded: n, + autoRotate: r = !1, + swayAmount: o = 0.25, + swaySpeed: a = 0.5, + cameraDistance: i = 0.5, + onResetReady: s, + onDistanceCalculated: l, +}) { + let c = wo.useRef(null), + u = wo.useRef(null), + d = wo.useRef(null), + p = wo.useRef(!1), + f = wo.useRef(!1), + m = wo.useRef(o), + g = wo.useRef(a), + v = wo.useRef(i), + y = wo.useRef(i), + x = wo.useRef({ x: 0, y: 0, z: 0 }), + A = wo.useRef({ x: 0, y: 0, z: 0 }), + w = wo.useRef(null), + C = wo.useRef({ + active: !1, + startTime: 0, + duration: 800, + startFocalPoint: { x: 0, y: 0, z: 0 }, + cameraOffset: { x: 0, y: 0, z: 0 }, + }); + return ( + wo.useEffect(() => { + ((m.current = o), (g.current = a), (v.current = i)); + }, [o, a, i]), + wo.useEffect(() => { + if (!c.current) return; + let E = !1; + return ( + (p.current = !1), + (async () => { + try { + let I = c.current; + if (!I) return; + let k = new H7({ + rootElement: I, + cameraUp: [0, -1, 0], + initialCameraPosition: [0, 0, -0.5], + initialCameraLookAt: [...hNr], + selfDrivenMode: !0, + sphericalHarmonicsDegree: 2, + sharedMemoryForWorkers: !1, + }); + if ( + ((u.current = k), + await k.addSplatScene(e, { + format: zm.Ply, + showLoadingUI: !1, + progressiveLoad: !0, + splatAlphaRemovalThreshold: 5, + onProgress: (L, O, B) => { + console.log( + `[GaussianSplatViewer] Load progress: ${L}% - ${O}`, + ); + }, + }), + !E) + ) { + (k.start(), console.log("[GaussianSplatViewer] Viewer started")); + let L = k.splatMesh; + if (L?.calculatedSceneCenter) { + let O = L.calculatedSceneCenter; + ((x.current = { x: O.x, y: O.y, z: O.z }), + (A.current = { x: O.x, y: O.y, z: O.z }), + k.controls.target.copy(O), + k.camera.position.set(O.x, O.y, O.z - 0.5), + k.camera.lookAt(O.x, O.y, O.z), + k.camera.updateProjectionMatrix(), + k.controls.update(), + console.log("[GaussianSplatViewer] Setup for raycast:", { + center: { x: O.x, y: O.y, z: O.z }, + cameraPos: { + x: k.camera.position.x, + y: k.camera.position.y, + z: k.camera.position.z, + }, + controlsTarget: { + x: k.controls.target.x, + y: k.controls.target.y, + z: k.controls.target.z, + }, + })); + let B = c.current; + if (B && k.raycaster) { + let U = 0, + D = 50, + N = 100, + _ = () => { + U++; + let G = { x: B.offsetWidth, y: B.offsetHeight }, + Z = { x: G.x / 2, y: G.y / 2 }, + q = []; + if ( + (k.raycaster.setFromCameraAndScreenPosition( + k.camera, + Z, + G, + ), + k.raycaster.intersectSplatMesh(k.splatMesh, q), + q.length > 0) + ) { + console.log( + `[GaussianSplatViewer] ✓ Raycast SUCCESS (attempt ${U})!`, + { + hitCount: q.length, + allHits: q.map((oe, J) => ({ + index: J, + origin: { + x: oe.origin?.x, + y: oe.origin?.y, + z: oe.origin?.z, + }, + distance: oe.distance, + })), + cameraPosition: { + x: k.camera.position.x, + y: k.camera.position.y, + z: k.camera.position.z, + }, + calculatedCenter: { + x: k.splatMesh.calculatedSceneCenter.x, + y: k.splatMesh.calculatedSceneCenter.y, + z: k.splatMesh.calculatedSceneCenter.z, + }, + }, + ); + let H = q.reduce( + (oe, J) => (J.distance < oe.distance ? J : oe), + q[0], + ), + te = H.origin; + if ( + (console.log( + "[GaussianSplatViewer] Using closest hit:", + { + origin: { x: te.x, y: te.y, z: te.z }, + distance: H.distance, + }, + ), + (x.current = { x: te.x, y: te.y, z: te.z }), + (A.current = { ...x.current }), + !w.current) + ) + ((w.current = { ...x.current }), + console.log( + "[GaussianSplatViewer] Saved initial raycast focal point:", + w.current, + ), + s?.(() => { + if (w.current && u.current) { + let oe = u.current, + J = w.current, + Y = oe.controls.target; + if ( + Math.sqrt( + Math.pow(Y.x - J.x, 2) + + Math.pow(Y.y - J.y, 2) + + Math.pow(Y.z - J.z, 2), + ) < 0.01 + ) { + console.log( + "[GaussianSplatViewer] Already at initial focal point, skipping reset", + ); + return; + } + (console.log( + "[GaussianSplatViewer] Resetting from", + { x: Y.x, y: Y.y, z: Y.z }, + "to initial:", + J, + ), + oe.previousCameraTarget.copy(Y), + oe.nextCameraTarget.copy(J), + (oe.transitioningCameraTarget = !0), + (oe.transitioningCameraTargetStartTime = + performance.now() / 1000)); + } + })); + let ie = k.camera.position, + j = Math.sqrt( + Math.pow(ie.x - te.x, 2) + + Math.pow(ie.y - te.y, 2) + + Math.pow(ie.z - te.z, 2), + ); + ((v.current = j), + (y.current = j), + l?.(j), + console.log( + "[GaussianSplatViewer] Calculated orbital distance:", + j, + ), + k.controls.target.copy(te), + k.controls.update(), + (f.current = !0), + console.log( + "[GaussianSplatViewer] Raycast complete! Focal point:", + x.current, + "Orbital distance:", + j, + )); + } else if (U < D) + (console.log( + `[GaussianSplatViewer] Raycast attempt ${U} failed, retrying...`, + ), + setTimeout(_, N)); + else + (console.log( + `[GaussianSplatViewer] ✗ Raycast failed after ${D} attempts - using calculatedSceneCenter`, + ), + (f.current = !0)); + }; + setTimeout(_, 200); + } + } + ((p.current = !0), n?.()); + } + } catch (I) { + if (!E && I instanceof Error && I.name !== "AbortError") + (console.error("[GaussianSplatViewer] Error:", I), t()); + } + })(), + () => { + if (((E = !0), u.current)) (u.current.dispose(), (u.current = null)); + } + ); + }, [e, t, n]), + wo.useEffect(() => { + if (!r) { + if (d.current) (cancelAnimationFrame(d.current), (d.current = null)); + return; + } + let E = null, + T = () => { + if (!p.current || !u.current || !f.current) { + E = setTimeout(T, 100); + return; + } + let I = u.current, + { camera: k, controls: L } = I, + O = Date.now(); + if (L) (L.clearDampedRotation(), L.clearDampedPan(), L.saveState()); + console.log("[Animation Start] Controls state:", { + target: L ? { x: L.target.x, y: L.target.y, z: L.target.z } : null, + cameraPosition: { + x: k.position.x, + y: k.position.y, + z: k.position.z, + }, + cameraUp: { x: k.up.x, y: k.up.y, z: k.up.z }, + enabled: L?.enabled, + enableDamping: L?.enableDamping, + dampingFactor: L?.dampingFactor, + }); + let B = L ? L.target.clone() : { x: 0, y: 0, z: 0 }; + console.log("[Animation Start] Initial focal point:", B); + let U = () => { + if (I.transitioningCameraTarget) { + let Z = { + x: I.controls.target.x, + y: I.controls.target.y, + z: I.controls.target.z, + }; + ((x.current = Z), + (A.current = Z), + (d.current = requestAnimationFrame(U))); + return; + } + let D = (Date.now() - O) / 1000, + N = Math.sin(D * g.current) * m.current, + _ = C.current, + G = x.current; + if (_.active) { + let Z = Date.now(), + q = Math.min((Z - _.startTime) / _.duration, 1), + H = q < 0.5 ? 2 * q * q : 1 - Math.pow(-2 * q + 2, 2) / 2, + te = _.startFocalPoint, + ie = A.current; + if ( + ((G = { + x: te.x + (ie.x - te.x) * H, + y: te.y + (ie.y - te.y) * H, + z: te.z + (ie.z - te.z) * H, + }), + (x.current = G), + (k.position.x = G.x + _.cameraOffset.x), + (k.position.y = G.y + _.cameraOffset.y), + (k.position.z = G.z + _.cameraOffset.z), + q >= 1) + ) { + if (((_.active = !1), L)) L.target.set(G.x, G.y, G.z); + console.log( + "[GaussianSplatViewer] Focal point transition complete, controls.target updated", + ); + } + } else { + let Z = v.current, + q = y.current, + H = Z - q; + if (Math.abs(H) > 0.001) { + let te = y.current; + if (((y.current += H * 0.2), Math.abs(H) > 0.1)) + console.log( + "[Animation] Distance interpolating from", + te.toFixed(3), + "to", + Z.toFixed(3), + ); + } else y.current = Z; + ((k.position.x = G.x + Math.sin(N) * y.current), + (k.position.z = G.z + -Math.cos(N) * y.current), + (k.position.y = G.y)); + } + if ((k.lookAt(G.x, G.y, G.z), !_.active && L)) { + let Z = { x: L.target.x, y: L.target.y, z: L.target.z }; + if ( + (L.target.set(G.x, G.y, G.z), + Math.abs(Z.x - G.x) > 0.001 || + Math.abs(Z.y - G.y) > 0.001 || + Math.abs(Z.z - G.z) > 0.001) + ) + console.log( + "[Animation] Controls.target changed from", + Z, + "to", + { x: G.x, y: G.y, z: G.z }, + ); + } + d.current = requestAnimationFrame(U); + }; + requestAnimationFrame(() => { + let D = x.current; + if ( + (k.position.set(D.x, D.y, D.z - v.current), + k.lookAt(D.x, D.y, D.z), + k.updateProjectionMatrix(), + L) + ) + L.update(); + (console.log("[Animation Start] Camera positioned at:", { + x: k.position.x, + y: k.position.y, + z: k.position.z, + }), + U()); + }); + }; + return ( + T(), + () => { + if (E !== null) clearTimeout(E); + if (d.current) (cancelAnimationFrame(d.current), (d.current = null)); + } + ); + }, [r]), + h("div", { + ref: c, + style: { + width: "100%", + height: "100%", + position: "absolute", + top: 0, + left: 0, + zIndex: 20, + }, + }) + ); +} +function yNr({ + autoRotate: e, + setAutoRotate: t, + swayAmount: n, + setSwayAmount: r, + swaySpeed: o, + setSwaySpeed: a, + cameraDistance: i, + setCameraDistance: s, + isGaussianSplat: l, + onResetFocalPoint: c, +}) { + let [u, d] = wo.useState(!1); + if (!l) + return M(Ht, { + children: [ + h("div", { + className: + "pointer-events-none absolute left-4 top-4 rounded-small bg-surface-container-high/80 px-3 py-1.5 text-label-large text-on-surface shadow-md3-1 backdrop-blur-xl", + children: "3D Mesh", + }), + M("div", { + className: + "pointer-events-none absolute bottom-4 left-4 rounded-small bg-surface-container-high/80 px-3 py-2 text-body-small text-on-surface-variant shadow-md3-1 backdrop-blur-xl", + children: [ + h("div", { children: "Left drag: Rotate" }), + h("div", { children: "Right drag: Pan" }), + h("div", { children: "Scroll: Zoom" }), + ], + }), + ], + }); + return M(Ht, { + children: [ + M("div", { + className: "pointer-events-auto absolute bottom-4 right-4 flex gap-1", + children: [ + h(yn, { + icon: "tune", + onClick: () => d(!u), + title: "Settings", + active: u, + activeAccent: !0, + }), + c && + h(yn, { + icon: "restart_alt", + onClick: c, + title: "Reset focal point", + }), + h(yn, { + icon: e ? "pause" : "play_arrow", + onClick: () => t(!e), + title: e ? "Pause" : "Play", + active: e, + activeAccent: !0, + }), + ], + }), + u && + M("div", { + className: + "pointer-events-auto absolute bottom-16 right-4 flex min-w-[240px] flex-col gap-2 rounded-medium bg-surface-container p-4 text-on-surface shadow-md3-2", + children: [ + M("div", { + className: "flex flex-col gap-1", + children: [ + M("div", { + className: "flex items-center justify-between", + children: [ + h("label", { + className: "text-label-medium text-on-surface-variant", + children: "Sway amount", + }), + h("span", { + className: + "text-label-medium text-on-surface-variant font-mono tabular-nums", + children: n.toFixed(2), + }), + ], + }), + h(r3, { + min: 0, + max: 0.5, + step: 0.01, + value: [n], + onValueChange: ([p]) => { + if (p !== void 0) r(p); + }, + "aria-label": "Sway amount", + }), + ], + }), + M("div", { + className: "flex flex-col gap-1", + children: [ + M("div", { + className: "flex items-center justify-between", + children: [ + h("label", { + className: "text-label-medium text-on-surface-variant", + children: "Speed", + }), + h("span", { + className: + "text-label-medium text-on-surface-variant font-mono tabular-nums", + children: o.toFixed(2), + }), + ], + }), + h(r3, { + min: 0.1, + max: 2, + step: 0.1, + value: [o], + onValueChange: ([p]) => { + if (p !== void 0) a(p); + }, + "aria-label": "Speed", + }), + ], + }), + M("div", { + className: "flex flex-col gap-1", + children: [ + M("div", { + className: "flex items-center justify-between", + children: [ + h("label", { + className: "text-label-medium text-on-surface-variant", + children: "Distance", + }), + h("span", { + className: + "text-label-medium text-on-surface-variant font-mono tabular-nums", + children: i.toFixed(2), + }), + ], + }), + h(r3, { + min: 0.2, + max: 1.5, + step: 0.05, + value: [i], + onValueChange: ([p]) => { + if (p !== void 0) s(p); + }, + "aria-label": "Distance", + }), + ], + }), + ], + }), + ], + }); +} +function vNr({ + file: e, + onZoomChange: t, + splatUrl: n, + onSplatLoaded: r, + autoRotate: o = !0, + swayAmount: a = 0.25, + swaySpeed: i = 0.5, + cameraDistance: s = 0.5, + onControlsChange: l, +}) { + let c = Qo(), + [u, d] = wo.useState(n || null), + [p, f] = wo.useState(!!n), + [m, g] = wo.useState(!1), + [v, y] = wo.useState(!1), + [x, A] = wo.useState(!n), + w = wo.useRef(null), + [C, E] = wo.useState(s), + T = o, + I = a, + k = i, + L = C; + (wo.useEffect(() => { + E(s); + }, [s]), + wo.useEffect(() => { + l?.({ + autoRotate: T, + swayAmount: I, + swaySpeed: k, + cameraDistance: C, + isGaussianSplat: p, + onResetFocalPoint: w.current || void 0, + }); + }, [p, T, I, k, C, l])); + let O = e.content_identity?.uuid || e.id, + B = wo.useCallback(() => { + g(!0); + }, []); + if ( + (wo.useEffect(() => { + (y(!1), d(null), A(!0)); + let U = setTimeout(() => { + y(!0); + }, 50); + return () => clearTimeout(U); + }, [O, n]), + wo.useEffect(() => { + if (n) { + (d(n), f(!0), A(!1)); + return; + } + if (!v || !c.convertFileSrc) return; + let D = e.sd_path?.Physical?.path; + if (!D) { + (console.log("[MeshViewer] No physical path available"), A(!1)); + return; + } + let N = c.convertFileSrc(D); + if ((d(N), n)) return; + let _ = new AbortController(); + return ( + fetch(N, { signal: _.signal }) + .then((G) => G.arrayBuffer()) + .then((G) => { + let Z = new TextDecoder().decode(G.slice(0, 3000)), + q = + Z.includes("f_dc_0") || Z.includes("sh0") || Z.includes("sh_0"), + H = + Z.includes("scale_0") || + Z.includes("scale_1") || + Z.includes("scale_2"), + te = Z.includes("opacity"), + ie = + Z.includes("rot_0") || + Z.includes("rot_1") || + Z.includes("rot_2") || + Z.includes("rot_3"); + (f(q && (H || te || ie)), A(!1)); + return; + }) + .catch((G) => { + if (G.name !== "AbortError") + console.error("[MeshViewer] Error detecting format:", G); + A(!1); + }), + () => { + _.abort(); + } + ); + }, [v, O, e.sd_path, c, n]), + !u || x) + ) + return h("div", { + className: "flex h-full w-full items-center justify-center", + children: M("div", { + className: "text-center", + children: [ + h(ba.Thumb, { file: e, size: 200 }), + x && + h("div", { + className: "mt-4 text-body-medium text-on-surface-variant", + children: "Loading 3D model...", + }), + ], + }), + }); + return h("div", { + className: "absolute inset-0 bg-scrim", + children: + p && !m + ? h(gNr, { + url: u, + onFallback: B, + onLoaded: r, + autoRotate: T, + swayAmount: I, + swaySpeed: k, + cameraDistance: L, + onResetReady: (U) => { + ((w.current = U), + l?.({ + autoRotate: T, + swayAmount: I, + swaySpeed: k, + cameraDistance: C, + isGaussianSplat: p, + onResetFocalPoint: U, + })); + }, + onDistanceCalculated: (U) => { + E(U); + }, + }) + : M(Ogn, { + camera: { position: [0, 0, 5], fov: 50 }, + style: { width: "100%", height: "100%" }, + children: [ + wo.createElement("ambientLight", { intensity: 0.5 }), + wo.createElement("spotLight", { + position: [10, 10, 10], + angle: 0.3, + penumbra: 0.5, + intensity: 1, + }), + wo.createElement("spotLight", { + position: [-10, -10, -10], + angle: 0.3, + penumbra: 0.5, + intensity: 0.5, + }), + h(wo.Suspense, { fallback: null, children: h(mNr, { url: u }) }), + h(fNr, {}), + ], + }), + }); +} +var wo, hNr; +var LGe = P(() => { + Fgn(); + Vgn(); + Tc(); + w0(); + Zgn(); + F1n(); + gn(); + le(); + wo = z(re(), 1); + hNr = [-0.00697, -0.00533, -0.61858]; +}); +var gyn = + "data:image/png;base64,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"; +var yyn = + "data:image/png;base64,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"; +var vyn = + "data:image/png;base64,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"; +function KGe(e, t = 1) { + let n = e * t; + if (n <= 64) return gyn; + if (n <= 128) return yyn; + return vyn; +} +function byn(e) { + let t = new Set(), + n = []; + for (let r of [1, 2, 3]) { + let o = KGe(e, r); + if (t.has(o)) continue; + (t.add(o), n.push(`${o} ${r}x`)); + } + return n.join(", "); +} +var xyn = () => {}; +function Dv({ size: e = 32, label: t, className: n, style: r }) { + return h("span", { + className: n, + role: t ? "img" : void 0, + "aria-label": t, + "aria-hidden": t ? void 0 : !0, + style: { + display: "inline-flex", + flexShrink: 0, + width: e, + height: e, + overflow: "hidden", + borderRadius: "var(--md-sys-shape-corner-full, 9999px)", + background: "var(--md-sys-color-primary-container)", + ...r, + }, + children: h("img", { + src: KGe(e), + srcSet: byn(e), + width: e, + height: e, + alt: "", + draggable: !1, + }), + }); +} +var Ayn = P(() => { + xyn(); + le(); +}); +function qNr() { + return ( + typeof matchMedia === "function" && + matchMedia("(prefers-reduced-motion: reduce)").matches + ); +} +function C5({ + atlasUrl: e, + animation: t = "idle", + height: n, + loop: r = !0, + label: o, + className: a, + style: i, +}) { + let s = _c.tracks[t] ?? _c.tracks.idle; + if (!s) throw Error("bundled pet without an idle track"); + let [l, c] = o1e.useState(0); + o1e.useEffect(() => { + if ((c(0), s.kind === "still" || qNr())) return; + let p = performance.now(), + f = requestAnimationFrame(function m(g) { + (c(g - p), (f = requestAnimationFrame(m))); + }); + return () => cancelAnimationFrame(f); + }, [s]); + let u = nKt(s, l, r), + d = (n ?? _c.atlas.cellHeight) / _c.atlas.cellHeight; + return h("div", { + role: "img", + "aria-label": o ?? _c.displayName, + className: a, + style: { + backgroundImage: `url("${e}")`, + backgroundRepeat: "no-repeat", + ...lq(u, d), + ...i, + }, + }); +} +var o1e; +var wyn = P(() => { + kD(); + le(); + o1e = z(re(), 1); +}); +var G7 = P(() => { + Ayn(); + wyn(); + kD(); + kD(); +}); +var $yn = + "data:image/webp;base64,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"; +var fS; +var d1e = P(() => { + fS = $yn; +}); +function _m(e) { + if (e < 0) return -1; + else if (e === 0) return 0; + else return 1; +} +function Z7(e, t, n) { + return (1 - n) * e + n * t; +} +function e2n(e, t, n) { + if (n < e) return e; + else if (n > t) return t; + return n; +} +function Nd(e, t, n) { + if (n < e) return e; + else if (n > t) return t; + return n; +} +function bO(e) { + if (((e = e % 360), e < 0)) e = e + 360; + return e; +} +function nf(e) { + if (((e = e % 360), e < 0)) e = e + 360; + return e; +} +function tqe(e, t) { + return 180 - Math.abs(Math.abs(e - t) - 180); +} +function HW(e, t) { + let n = e[0] * t[0][0] + e[1] * t[0][1] + e[2] * t[0][2], + r = e[0] * t[1][0] + e[1] * t[1][1] + e[2] * t[1][2], + o = e[0] * t[2][0] + e[1] * t[2][1] + e[2] * t[2][2]; + return [n, r, o]; +} +function p1e(e, t, n) { + return (-16777216 | ((e & 255) << 16) | ((t & 255) << 8) | (n & 255)) >>> 0; +} +function nqe(e) { + let t = Q7(e[0]), + n = Q7(e[1]), + r = Q7(e[2]); + return p1e(t, n, r); +} +function GW(e) { + return (e >> 16) & 255; +} +function qW(e) { + return (e >> 8) & 255; +} +function ZW(e) { + return e & 255; +} +function r2n(e, t, n) { + let r = lzr, + o = r[0][0] * e + r[0][1] * t + r[0][2] * n, + a = r[1][0] * e + r[1][1] * t + r[1][2] * n, + i = r[2][0] * e + r[2][1] * t + r[2][2] * n, + s = Q7(o), + l = Q7(a), + c = Q7(i); + return p1e(s, l, c); +} +function czr(e) { + let t = uA(GW(e)), + n = uA(qW(e)), + r = uA(ZW(e)); + return HW([t, n, r], t2n); +} +function rqe(e) { + let t = uA(GW(e)), + n = uA(qW(e)), + r = uA(ZW(e)), + o = t2n, + a = o[0][0] * t + o[0][1] * n + o[0][2] * r, + i = o[1][0] * t + o[1][1] * n + o[1][2] * r, + s = o[2][0] * t + o[2][1] * n + o[2][2] * r, + l = n2n, + c = a / l[0], + u = i / l[1], + d = s / l[2], + p = VW(c), + f = VW(u), + m = VW(d), + g = 116 * f - 16, + v = 500 * (p - f), + y = 200 * (f - m); + return [g, v, y]; +} +function o2n(e) { + let t = Lv(e), + n = Q7(t); + return p1e(n, n, n); +} +function f1e(e) { + let t = czr(e)[1]; + return 116 * VW(t / 100) - 16; +} +function Lv(e) { + return 100 * uzr((e + 16) / 116); +} +function QW(e) { + return VW(e / 100) * 116 - 16; +} +function uA(e) { + let t = e / 255; + if (t <= 0.040449936) return (t / 12.92) * 100; + else return Math.pow((t + 0.055) / 1.055, 2.4) * 100; +} +function Q7(e) { + let t = e / 100, + n = 0; + if (t <= 0.0031308) n = t * 12.92; + else n = 1.055 * Math.pow(t, 0.4166666666666667) - 0.055; + return e2n(0, 255, Math.round(n * 255)); +} +function a2n() { + return n2n; +} +function VW(e) { + if (e > 0.008856451679035631) return Math.pow(e, 0.3333333333333333); + else return (903.2962962962963 * e + 16) / 116; +} +function uzr(e) { + let r = e * e * e; + if (r > 0.008856451679035631) return r; + else return (116 * e - 16) / 903.2962962962963; +} +var t2n, lzr, n2n; +var N0 = P(() => { + ((t2n = [ + [0.41233895, 0.35762064, 0.18051042], + [0.2126, 0.7152, 0.0722], + [0.01932141, 0.11916382, 0.95034478], + ]), + (lzr = [ + [3.2413774792388685, -1.5376652402851851, -0.49885366846268053], + [-0.9691452513005321, 1.8758853451067872, 0.04156585616912061], + [0.05562093689691305, -0.20395524564742123, 1.0571799111220335], + ]), + (n2n = [95.047, 100, 108.883])); +}); +class p1 { + static make( + e = a2n(), + t = ((200 / Math.PI) * Lv(50)) / 100, + n = 50, + r = 2, + o = !1, + ) { + let a = e, + i = a[0] * 0.401288 + a[1] * 0.650173 + a[2] * -0.051461, + s = a[0] * -0.250268 + a[1] * 1.204414 + a[2] * 0.045854, + l = a[0] * -0.002079 + a[1] * 0.048952 + a[2] * 0.953127, + c = 0.8 + r / 10, + u = + c >= 0.9 + ? Z7(0.59, 0.69, (c - 0.9) * 10) + : Z7(0.525, 0.59, (c - 0.8) * 10), + d = o ? 1 : c * (1 - 0.2777777777777778 * Math.exp((-t - 42) / 92)); + d = d > 1 ? 1 : d < 0 ? 0 : d; + let p = c, + f = [d * (100 / i) + 1 - d, d * (100 / s) + 1 - d, d * (100 / l) + 1 - d], + m = 1 / (5 * t + 1), + g = m * m * m * m, + v = 1 - g, + y = g * t + 0.1 * v * v * Math.cbrt(5 * t), + x = Lv(n) / e[1], + A = 1.48 + Math.sqrt(x), + w = 0.725 / Math.pow(x, 0.2), + C = w, + E = [ + Math.pow((y * f[0] * i) / 100, 0.42), + Math.pow((y * f[1] * s) / 100, 0.42), + Math.pow((y * f[2] * l) / 100, 0.42), + ], + T = [ + (400 * E[0]) / (E[0] + 27.13), + (400 * E[1]) / (E[1] + 27.13), + (400 * E[2]) / (E[2] + 27.13), + ], + I = (2 * T[0] + T[1] + 0.05 * T[2]) * w; + return new p1(x, I, w, C, u, p, f, y, Math.pow(y, 0.25), A); + } + constructor(e, t, n, r, o, a, i, s, l, c) { + ((this.n = e), + (this.aw = t), + (this.nbb = n), + (this.ncb = r), + (this.c = o), + (this.nc = a), + (this.rgbD = i), + (this.fl = s), + (this.fLRoot = l), + (this.z = c)); + } +} +var XW = P(() => { + N0(); + p1.DEFAULT = p1.make(); +}); +class Hm { + constructor(e, t, n, r, o, a, i, s, l) { + ((this.hue = e), + (this.chroma = t), + (this.j = n), + (this.q = r), + (this.m = o), + (this.s = a), + (this.jstar = i), + (this.astar = s), + (this.bstar = l)); + } + distance(e) { + let t = this.jstar - e.jstar, + n = this.astar - e.astar, + r = this.bstar - e.bstar, + o = Math.sqrt(t * t + n * n + r * r); + return 1.41 * Math.pow(o, 0.63); + } + static fromInt(e) { + return Hm.fromIntInViewingConditions(e, p1.DEFAULT); + } + static fromIntInViewingConditions(e, t) { + let n = (e & 16711680) >> 16, + r = (e & 65280) >> 8, + o = e & 255, + a = uA(n), + i = uA(r), + s = uA(o), + l = 0.41233895 * a + 0.35762064 * i + 0.18051042 * s, + c = 0.2126 * a + 0.7152 * i + 0.0722 * s, + u = 0.01932141 * a + 0.11916382 * i + 0.95034478 * s, + d = 0.401288 * l + 0.650173 * c - 0.051461 * u, + p = -0.250268 * l + 1.204414 * c + 0.045854 * u, + f = -0.002079 * l + 0.048952 * c + 0.953127 * u, + m = t.rgbD[0] * d, + g = t.rgbD[1] * p, + v = t.rgbD[2] * f, + y = Math.pow((t.fl * Math.abs(m)) / 100, 0.42), + x = Math.pow((t.fl * Math.abs(g)) / 100, 0.42), + A = Math.pow((t.fl * Math.abs(v)) / 100, 0.42), + w = (_m(m) * 400 * y) / (y + 27.13), + C = (_m(g) * 400 * x) / (x + 27.13), + E = (_m(v) * 400 * A) / (A + 27.13), + T = (11 * w + -12 * C + E) / 11, + I = (w + C - 2 * E) / 9, + k = (20 * w + 20 * C + 21 * E) / 20, + L = (40 * w + 20 * C + E) / 20, + B = (Math.atan2(I, T) * 180) / Math.PI, + U = nf(B), + D = (U * Math.PI) / 180, + N = L * t.nbb, + _ = 100 * Math.pow(N / t.aw, t.c * t.z), + G = (4 / t.c) * Math.sqrt(_ / 100) * (t.aw + 4) * t.fLRoot, + Z = U < 20.14 ? U + 360 : U, + te = + (3846.153846153846 * + (0.25 * (Math.cos((Z * Math.PI) / 180 + 2) + 3.8)) * + t.nc * + t.ncb * + Math.sqrt(T * T + I * I)) / + (k + 0.305), + ie = Math.pow(te, 0.9) * Math.pow(1.64 - Math.pow(0.29, t.n), 0.73), + j = ie * Math.sqrt(_ / 100), + oe = j * t.fLRoot, + J = 50 * Math.sqrt((ie * t.c) / (t.aw + 4)), + Y = (1.7000000000000002 * _) / (1 + 0.007 * _), + ae = 43.859649122807014 * Math.log(1 + 0.0228 * oe), + ne = ae * Math.cos(D), + Se = ae * Math.sin(D); + return new Hm(U, j, _, G, oe, J, Y, ne, Se); + } + static fromJch(e, t, n) { + return Hm.fromJchInViewingConditions(e, t, n, p1.DEFAULT); + } + static fromJchInViewingConditions(e, t, n, r) { + let o = (4 / r.c) * Math.sqrt(e / 100) * (r.aw + 4) * r.fLRoot, + a = t * r.fLRoot, + i = t / Math.sqrt(e / 100), + s = 50 * Math.sqrt((i * r.c) / (r.aw + 4)), + l = (n * Math.PI) / 180, + c = (1.7000000000000002 * e) / (1 + 0.007 * e), + u = 43.859649122807014 * Math.log(1 + 0.0228 * a), + d = u * Math.cos(l), + p = u * Math.sin(l); + return new Hm(n, t, e, o, a, s, c, d, p); + } + static fromUcs(e, t, n) { + return Hm.fromUcsInViewingConditions(e, t, n, p1.DEFAULT); + } + static fromUcsInViewingConditions(e, t, n, r) { + let o = t, + a = n, + i = Math.sqrt(o * o + a * a), + l = (Math.exp(i * 0.0228) - 1) / 0.0228 / r.fLRoot, + c = Math.atan2(a, o) * (180 / Math.PI); + if (c < 0) c += 360; + let u = e / (1 - (e - 100) * 0.007); + return Hm.fromJchInViewingConditions(u, l, c, r); + } + toInt() { + return this.viewed(p1.DEFAULT); + } + viewed(e) { + let t = + this.chroma === 0 || this.j === 0 + ? 0 + : this.chroma / Math.sqrt(this.j / 100), + n = Math.pow( + t / Math.pow(1.64 - Math.pow(0.29, e.n), 0.73), + 1.1111111111111112, + ), + r = (this.hue * Math.PI) / 180, + o = 0.25 * (Math.cos(r + 2) + 3.8), + a = e.aw * Math.pow(this.j / 100, 1 / e.c / e.z), + i = o * 3846.153846153846 * e.nc * e.ncb, + s = a / e.nbb, + l = Math.sin(r), + c = Math.cos(r), + u = (23 * (s + 0.305) * n) / (23 * i + 11 * n * c + 108 * n * l), + d = u * c, + p = u * l, + f = (460 * s + 451 * d + 288 * p) / 1403, + m = (460 * s - 891 * d - 261 * p) / 1403, + g = (460 * s - 220 * d - 6300 * p) / 1403, + v = Math.max(0, (27.13 * Math.abs(f)) / (400 - Math.abs(f))), + y = _m(f) * (100 / e.fl) * Math.pow(v, 2.380952380952381), + x = Math.max(0, (27.13 * Math.abs(m)) / (400 - Math.abs(m))), + A = _m(m) * (100 / e.fl) * Math.pow(x, 2.380952380952381), + w = Math.max(0, (27.13 * Math.abs(g)) / (400 - Math.abs(g))), + C = _m(g) * (100 / e.fl) * Math.pow(w, 2.380952380952381), + E = y / e.rgbD[0], + T = A / e.rgbD[1], + I = C / e.rgbD[2], + k = 1.86206786 * E - 1.01125463 * T + 0.14918677 * I, + L = 0.38752654 * E + 0.62144744 * T - 0.00897398 * I, + O = -0.0158415 * E - 0.03412294 * T + 1.04996444 * I; + return r2n(k, L, O); + } + static fromXyzInViewingConditions(e, t, n, r) { + let o = 0.401288 * e + 0.650173 * t - 0.051461 * n, + a = -0.250268 * e + 1.204414 * t + 0.045854 * n, + i = -0.002079 * e + 0.048952 * t + 0.953127 * n, + s = r.rgbD[0] * o, + l = r.rgbD[1] * a, + c = r.rgbD[2] * i, + u = Math.pow((r.fl * Math.abs(s)) / 100, 0.42), + d = Math.pow((r.fl * Math.abs(l)) / 100, 0.42), + p = Math.pow((r.fl * Math.abs(c)) / 100, 0.42), + f = (_m(s) * 400 * u) / (u + 27.13), + m = (_m(l) * 400 * d) / (d + 27.13), + g = (_m(c) * 400 * p) / (p + 27.13), + v = (11 * f + -12 * m + g) / 11, + y = (f + m - 2 * g) / 9, + x = (20 * f + 20 * m + 21 * g) / 20, + A = (40 * f + 20 * m + g) / 20, + C = (Math.atan2(y, v) * 180) / Math.PI, + E = C < 0 ? C + 360 : C >= 360 ? C - 360 : C, + T = (E * Math.PI) / 180, + I = A * r.nbb, + k = 100 * Math.pow(I / r.aw, r.c * r.z), + L = (4 / r.c) * Math.sqrt(k / 100) * (r.aw + 4) * r.fLRoot, + O = E < 20.14 ? E + 360 : E, + D = + (3846.153846153846 * + (0.25 * (Math.cos((O * Math.PI) / 180 + 2) + 3.8)) * + r.nc * + r.ncb * + Math.sqrt(v * v + y * y)) / + (x + 0.305), + N = Math.pow(D, 0.9) * Math.pow(1.64 - Math.pow(0.29, r.n), 0.73), + _ = N * Math.sqrt(k / 100), + G = _ * r.fLRoot, + Z = 50 * Math.sqrt((N * r.c) / (r.aw + 4)), + q = (1.7000000000000002 * k) / (1 + 0.007 * k), + H = Math.log(1 + 0.0228 * G) / 0.0228, + te = H * Math.cos(T), + ie = H * Math.sin(T); + return new Hm(E, _, k, L, G, Z, q, te, ie); + } + xyzInViewingConditions(e) { + let t = + this.chroma === 0 || this.j === 0 + ? 0 + : this.chroma / Math.sqrt(this.j / 100), + n = Math.pow( + t / Math.pow(1.64 - Math.pow(0.29, e.n), 0.73), + 1.1111111111111112, + ), + r = (this.hue * Math.PI) / 180, + o = 0.25 * (Math.cos(r + 2) + 3.8), + a = e.aw * Math.pow(this.j / 100, 1 / e.c / e.z), + i = o * 3846.153846153846 * e.nc * e.ncb, + s = a / e.nbb, + l = Math.sin(r), + c = Math.cos(r), + u = (23 * (s + 0.305) * n) / (23 * i + 11 * n * c + 108 * n * l), + d = u * c, + p = u * l, + f = (460 * s + 451 * d + 288 * p) / 1403, + m = (460 * s - 891 * d - 261 * p) / 1403, + g = (460 * s - 220 * d - 6300 * p) / 1403, + v = Math.max(0, (27.13 * Math.abs(f)) / (400 - Math.abs(f))), + y = _m(f) * (100 / e.fl) * Math.pow(v, 2.380952380952381), + x = Math.max(0, (27.13 * Math.abs(m)) / (400 - Math.abs(m))), + A = _m(m) * (100 / e.fl) * Math.pow(x, 2.380952380952381), + w = Math.max(0, (27.13 * Math.abs(g)) / (400 - Math.abs(g))), + C = _m(g) * (100 / e.fl) * Math.pow(w, 2.380952380952381), + E = y / e.rgbD[0], + T = A / e.rgbD[1], + I = C / e.rgbD[2], + k = 1.86206786 * E - 1.01125463 * T + 0.14918677 * I, + L = 0.38752654 * E + 0.62144744 * T - 0.00897398 * I, + O = -0.0158415 * E - 0.03412294 * T + 1.04996444 * I; + return [k, L, O]; + } +} +var WW = P(() => { + N0(); + XW(); +}); +class _r { + static sanitizeRadians(e) { + return (e + Math.PI * 8) % (Math.PI * 2); + } + static trueDelinearized(e) { + let t = e / 100, + n = 0; + if (t <= 0.0031308) n = t * 12.92; + else n = 1.055 * Math.pow(t, 0.4166666666666667) - 0.055; + return n * 255; + } + static chromaticAdaptation(e) { + let t = Math.pow(Math.abs(e), 0.42); + return (_m(e) * 400 * t) / (t + 27.13); + } + static hueOf(e) { + let t = HW(e, _r.SCALED_DISCOUNT_FROM_LINRGB), + n = _r.chromaticAdaptation(t[0]), + r = _r.chromaticAdaptation(t[1]), + o = _r.chromaticAdaptation(t[2]), + a = (11 * n + -12 * r + o) / 11, + i = (n + r - 2 * o) / 9; + return Math.atan2(i, a); + } + static areInCyclicOrder(e, t, n) { + let r = _r.sanitizeRadians(t - e), + o = _r.sanitizeRadians(n - e); + return r < o; + } + static intercept(e, t, n) { + return (t - e) / (n - e); + } + static lerpPoint(e, t, n) { + return [ + e[0] + (n[0] - e[0]) * t, + e[1] + (n[1] - e[1]) * t, + e[2] + (n[2] - e[2]) * t, + ]; + } + static setCoordinate(e, t, n, r) { + let o = _r.intercept(e[r], t, n[r]); + return _r.lerpPoint(e, o, n); + } + static isBounded(e) { + return 0 <= e && e <= 100; + } + static nthVertex(e, t) { + let n = _r.Y_FROM_LINRGB[0], + r = _r.Y_FROM_LINRGB[1], + o = _r.Y_FROM_LINRGB[2], + a = t % 4 <= 1 ? 0 : 100, + i = t % 2 === 0 ? 0 : 100; + if (t < 4) { + let s = a, + l = i, + c = (e - s * r - l * o) / n; + if (_r.isBounded(c)) return [c, s, l]; + else return [-1, -1, -1]; + } else if (t < 8) { + let s = a, + l = i, + c = (e - l * n - s * o) / r; + if (_r.isBounded(c)) return [l, c, s]; + else return [-1, -1, -1]; + } else { + let s = a, + l = i, + c = (e - s * n - l * r) / o; + if (_r.isBounded(c)) return [s, l, c]; + else return [-1, -1, -1]; + } + } + static bisectToSegment(e, t) { + let n = [-1, -1, -1], + r = n, + o = 0, + a = 0, + i = !1, + s = !0; + for (let l = 0; l < 12; l++) { + let c = _r.nthVertex(e, l); + if (c[0] < 0) continue; + let u = _r.hueOf(c); + if (!i) { + ((n = c), (r = c), (o = u), (a = u), (i = !0)); + continue; + } + if (s || _r.areInCyclicOrder(o, u, a)) + if (((s = !1), _r.areInCyclicOrder(o, t, u))) ((r = c), (a = u)); + else ((n = c), (o = u)); + } + return [n, r]; + } + static midpoint(e, t) { + return [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2, (e[2] + t[2]) / 2]; + } + static criticalPlaneBelow(e) { + return Math.floor(e - 0.5); + } + static criticalPlaneAbove(e) { + return Math.ceil(e - 0.5); + } + static bisectToLimit(e, t) { + let n = _r.bisectToSegment(e, t), + r = n[0], + o = _r.hueOf(r), + a = n[1]; + for (let i = 0; i < 3; i++) + if (r[i] !== a[i]) { + let s = -1, + l = 255; + if (r[i] < a[i]) + ((s = _r.criticalPlaneBelow(_r.trueDelinearized(r[i]))), + (l = _r.criticalPlaneAbove(_r.trueDelinearized(a[i])))); + else + ((s = _r.criticalPlaneAbove(_r.trueDelinearized(r[i]))), + (l = _r.criticalPlaneBelow(_r.trueDelinearized(a[i])))); + for (let c = 0; c < 8; c++) + if (Math.abs(l - s) <= 1) break; + else { + let u = Math.floor((s + l) / 2), + d = _r.CRITICAL_PLANES[u], + p = _r.setCoordinate(r, d, a, i), + f = _r.hueOf(p); + if (_r.areInCyclicOrder(o, t, f)) ((a = p), (l = u)); + else ((r = p), (o = f), (s = u)); + } + } + return _r.midpoint(r, a); + } + static inverseChromaticAdaptation(e) { + let t = Math.abs(e), + n = Math.max(0, (27.13 * t) / (400 - t)); + return _m(e) * Math.pow(n, 2.380952380952381); + } + static findResultByJ(e, t, n) { + let r = Math.sqrt(n) * 11, + o = p1.DEFAULT, + a = 1 / Math.pow(1.64 - Math.pow(0.29, o.n), 0.73), + s = 0.25 * (Math.cos(e + 2) + 3.8) * 3846.153846153846 * o.nc * o.ncb, + l = Math.sin(e), + c = Math.cos(e); + for (let u = 0; u < 5; u++) { + let d = r / 100, + p = t === 0 || r === 0 ? 0 : t / Math.sqrt(d), + f = Math.pow(p * a, 1.1111111111111112), + g = (o.aw * Math.pow(d, 1 / o.c / o.z)) / o.nbb, + v = (23 * (g + 0.305) * f) / (23 * s + 11 * f * c + 108 * f * l), + y = v * c, + x = v * l, + A = (460 * g + 451 * y + 288 * x) / 1403, + w = (460 * g - 891 * y - 261 * x) / 1403, + C = (460 * g - 220 * y - 6300 * x) / 1403, + E = _r.inverseChromaticAdaptation(A), + T = _r.inverseChromaticAdaptation(w), + I = _r.inverseChromaticAdaptation(C), + k = HW([E, T, I], _r.LINRGB_FROM_SCALED_DISCOUNT); + if (k[0] < 0 || k[1] < 0 || k[2] < 0) return 0; + let L = _r.Y_FROM_LINRGB[0], + O = _r.Y_FROM_LINRGB[1], + B = _r.Y_FROM_LINRGB[2], + U = L * k[0] + O * k[1] + B * k[2]; + if (U <= 0) return 0; + if (u === 4 || Math.abs(U - n) < 0.002) { + if (k[0] > 100.01 || k[1] > 100.01 || k[2] > 100.01) return 0; + return nqe(k); + } + r = r - ((U - n) * r) / (2 * U); + } + return 0; + } + static solveToInt(e, t, n) { + if (t < 0.0001 || n < 0.0001 || n > 99.9999) return o2n(n); + e = nf(e); + let r = (e / 180) * Math.PI, + o = Lv(n), + a = _r.findResultByJ(r, t, o); + if (a !== 0) return a; + let i = _r.bisectToLimit(o, r); + return nqe(i); + } + static solveToCam(e, t, n) { + return Hm.fromInt(_r.solveToInt(e, t, n)); + } +} +var i2n = P(() => { + N0(); + WW(); + XW(); + _r.SCALED_DISCOUNT_FROM_LINRGB = [ + [0.001200833568784504, 0.002389694492170889, 0.0002795742885861124], + [0.0005891086651375999, 0.0029785502573438758, 0.0003270666104008398], + [0.00010146692491640572, 0.0005364214359186694, 0.0032979401770712076], + ]; + _r.LINRGB_FROM_SCALED_DISCOUNT = [ + [1373.2198709594231, -1100.4251190754821, -7.278681089101213], + [-271.815969077903, 559.6580465940733, -32.46047482791194], + [1.9622899599665666, -57.173814538844006, 308.7233197812385], + ]; + _r.Y_FROM_LINRGB = [0.2126, 0.7152, 0.0722]; + _r.CRITICAL_PLANES = [ + 0.015176349177441876, 0.045529047532325624, 0.07588174588720938, + 0.10623444424209313, 0.13658714259697685, 0.16693984095186062, + 0.19729253930674434, 0.2276452376616281, 0.2579979360165119, + 0.28835063437139563, 0.3188300904430532, 0.350925934958123, + 0.3848314933096426, 0.42057480301049466, 0.458183274052838, + 0.4976837250274023, 0.5391024159806381, 0.5824650784040898, + 0.6277969426914107, 0.6751227633498623, 0.7244668422128921, + 0.775853049866786, 0.829304845476233, 0.8848452951698498, 0.942497089126609, + 1.0022825574869039, 1.0642236851973577, 1.1283421258858297, + 1.1946592148522128, 1.2631959812511864, 1.3339731595349034, + 1.407011200216447, 1.4823302800086415, 1.5599503113873272, + 1.6398909516233677, 1.7221716113234105, 1.8068114625156377, + 1.8938294463134073, 1.9832442801866852, 2.075074464868551, + 2.1693382909216234, 2.2660538449872063, 2.36523901573795, + 2.4669114995532007, 2.5710888059345764, 2.6777882626779785, + 2.7870270208169257, 2.898822059350997, 3.0131901897720907, + 3.1301480604002863, 3.2497121605402226, 3.3718988244681087, + 3.4967242352587946, 3.624204428461639, 3.754355295633311, 3.887192587735158, + 4.022731918402185, 4.160988767090289, 4.301978482107941, 4.445716283538092, + 4.592217266055746, 4.741496401646282, 4.893568542229298, 5.048448422192488, + 5.20615066083972, 5.3666897647573375, 5.5300801301023865, 5.696336044816294, + 5.865471690767354, 6.037501145825082, 6.212438385869475, 6.390297286737924, + 6.571091626112461, 6.7548350853498045, 6.941541251256611, 7.131223617812143, + 7.323895587840543, 7.5195704746346665, 7.7182615035334345, + 7.919981813454504, 8.124744458384042, 8.332562408825165, 8.543448553206703, + 8.757415699253682, 8.974476575321063, 9.194643831691977, 9.417930041841839, + 9.644347703669503, 9.873909240696694, 10.106627003236781, + 10.342513269534024, 10.58158024687427, 10.8238400726681, 11.069304815507364, + 11.317986476196008, 11.569896988756009, 11.825048221409341, + 12.083451977536606, 12.345119996613247, 12.610063955123938, + 12.878295467455942, 13.149826086772048, 13.42466730586372, + 13.702830557985108, 13.984327217668513, 14.269168601521828, + 14.55736596900856, 14.848930523210871, 15.143873411576273, + 15.44220572664832, 15.743938506781891, 16.04908273684337, 16.35764934889634, + 16.66964922287304, 16.985093187232053, 17.30399201960269, 17.62635644741625, + 17.95219714852476, 18.281524751807332, 18.614349837764564, + 18.95068293910138, 19.290534541298456, 19.633915083172692, + 19.98083495742689, 20.331304511189067, 20.685334046541502, + 21.042933821039977, 21.404114048223256, 21.76888489811322, + 22.137256497705877, 22.50923893145328, 22.884842241736916, + 23.264076429332462, 23.6469514538663, 24.033477234264016, 24.42366364919083, + 24.817520537484558, 25.21505769858089, 25.61628489293138, + 26.021211842414342, 26.429848230738664, 26.842203703840827, + 27.258287870275353, 27.678110301598522, 28.10168053274597, + 28.529008062403893, 28.96010235337422, 29.39497283293396, 29.83362889318845, + 30.276079891419332, 30.722335150426627, 31.172403958865512, + 31.62629557157785, 32.08401920991837, 32.54558406207592, 33.010999283389665, + 33.4802739966603, 33.953417292456834, 34.430438229418264, + 34.911345834551085, 35.39614910352207, 35.88485700094671, 36.37747846067349, + 36.87402238606382, 37.37449765026789, 37.87891309649659, 38.38727753828926, + 38.89959975977785, 39.41588851594697, 39.93615253289054, 40.460400508064545, + 40.98864111053629, 41.520882981230194, 42.05713473317016, + 42.597404951718396, 43.141702194811224, 43.6900349931913, 44.24241185063697, + 44.798841244188324, 45.35933162437017, 45.92389141541209, 46.49252901546552, + 47.065252796817916, 47.64207110610409, 48.22299226451468, + 48.808024568002054, 49.3971762874833, 49.9904556690408, 50.587870934119984, + 51.189430279724725, 51.79514187861014, 52.40501387947288, 53.0190544071392, + 53.637271562750364, 54.259673423945976, 54.88626804504493, + 55.517063457223934, 56.15206766869424, 56.79128866487574, 57.43473440856916, + 58.08241284012621, 58.734331877617365, 59.39049941699807, 60.05092333227251, + 60.715611475655585, 61.38457167773311, 62.057811747619894, 62.7353394731159, + 63.417162620860914, 64.10328893648692, 64.79372614476921, 65.48848194977529, + 66.18756403501224, 66.89098006357258, 67.59873767827808, 68.31084450182222, + 69.02730813691093, 69.74813616640164, 70.47333615344107, 71.20291564160104, + 71.93688215501312, 72.67524319850172, 73.41800625771542, 74.16517879925733, + 74.9167682708136, 75.67278210128072, 76.43322770089146, 77.1981124613393, + 77.96744375590167, 78.74122893956174, 79.51947534912904, 80.30219030335869, + 81.08938110306934, 81.88105503125999, 82.67721935322541, 83.4778813166706, + 84.28304815182372, 85.09272707154808, 85.90692527145302, 86.72564993000343, + 87.54890820862819, 88.3767072518277, 89.2090541872801, 90.04595612594655, + 90.88742016217518, 91.73345337380438, 92.58406282226491, 93.43925555268066, + 94.29903859396902, 95.16341895893969, 96.03240364439274, 96.9059996312159, + 97.78421388448044, 98.6670533535366, 99.55452497210776, + ]; +}); +class gr { + static from(e, t, n) { + return new gr(_r.solveToInt(e, t, n)); + } + static fromInt(e) { + return new gr(e); + } + toInt() { + return this.argb; + } + get hue() { + return this.internalHue; + } + set hue(e) { + this.setInternalState( + _r.solveToInt(e, this.internalChroma, this.internalTone), + ); + } + get chroma() { + return this.internalChroma; + } + set chroma(e) { + this.setInternalState( + _r.solveToInt(this.internalHue, e, this.internalTone), + ); + } + get tone() { + return this.internalTone; + } + set tone(e) { + this.setInternalState( + _r.solveToInt(this.internalHue, this.internalChroma, e), + ); + } + setValue(e, t) { + this[e] = t; + } + toString() { + return `HCT(${this.hue.toFixed(0)}, ${this.chroma.toFixed(0)}, ${this.tone.toFixed(0)})`; + } + static isBlue(e) { + return e >= 250 && e < 270; + } + static isYellow(e) { + return e >= 105 && e < 125; + } + static isCyan(e) { + return e >= 170 && e < 207; + } + constructor(e) { + this.argb = e; + let t = Hm.fromInt(e); + ((this.internalHue = t.hue), + (this.internalChroma = t.chroma), + (this.internalTone = f1e(e)), + (this.argb = e)); + } + setInternalState(e) { + let t = Hm.fromInt(e); + ((this.internalHue = t.hue), + (this.internalChroma = t.chroma), + (this.internalTone = f1e(e)), + (this.argb = e)); + } + inViewingConditions(e) { + let n = Hm.fromInt(this.toInt()).xyzInViewingConditions(e), + r = Hm.fromXyzInViewingConditions(n[0], n[1], n[2], p1.make()); + return gr.from(r.hue, r.chroma, QW(n[1])); + } +} +var Xy = P(() => { + N0(); + WW(); + i2n(); + XW(); +}); +var oqe = P(() => { + WW(); + Xy(); + N0(); +}); +class ol { + static ratioOfTones(e, t) { + return ( + (e = Nd(0, 100, e)), + (t = Nd(0, 100, t)), + ol.ratioOfYs(Lv(e), Lv(t)) + ); + } + static ratioOfYs(e, t) { + let n = e > t ? e : t, + r = n === t ? e : t; + return (n + 5) / (r + 5); + } + static lighter(e, t) { + if (e < 0 || e > 100) return -1; + let n = Lv(e), + r = t * (n + 5) - 5, + o = ol.ratioOfYs(r, n), + a = Math.abs(o - t); + if (o < t && a > 0.04) return -1; + let i = QW(r) + 0.4; + if (i < 0 || i > 100) return -1; + return i; + } + static darker(e, t) { + if (e < 0 || e > 100) return -1; + let n = Lv(e), + r = (n + 5) / t - 5, + o = ol.ratioOfYs(n, r), + a = Math.abs(o - t); + if (o < t && a > 0.04) return -1; + let i = QW(r) - 0.4; + if (i < 0 || i > 100) return -1; + return i; + } + static lighterUnsafe(e, t) { + let n = ol.lighter(e, t); + return n < 0 ? 100 : n; + } + static darkerUnsafe(e, t) { + let n = ol.darker(e, t); + return n < 0 ? 0 : n; + } +} +var aqe = P(() => { + N0(); +}); +class X7 { + static isDisliked(e) { + let t = Math.round(e.hue) >= 90 && Math.round(e.hue) <= 111, + n = Math.round(e.chroma) > 16, + r = Math.round(e.tone) < 65; + return t && n && r; + } + static fixIfDisliked(e) { + if (X7.isDisliked(e)) return gr.from(e.hue, e.chroma, 70); + return e; + } +} +var m1e = P(() => { + Xy(); +}); +function dzr(e, t, n) { + if (e.name !== n.name) + throw Error( + `Attempting to extend color ${e.name} with color ${n.name} of different name for spec version ${t}.`, + ); + if (e.isBackground !== n.isBackground) + throw Error( + `Attempting to extend color ${e.name} as a ${e.isBackground ? "background" : "foreground"} with color ${n.name} as a ${n.isBackground ? "background" : "foreground"} for spec version ${t}.`, + ); +} +function lo(e, t, n) { + return ( + dzr(e, t, n), + zt.fromPalette({ + name: e.name, + palette: (r) => (r.specVersion === t ? n.palette(r) : e.palette(r)), + tone: (r) => (r.specVersion === t ? n.tone(r) : e.tone(r)), + isBackground: e.isBackground, + chromaMultiplier: (r) => { + let o = r.specVersion === t ? n.chromaMultiplier : e.chromaMultiplier; + return o !== void 0 ? o(r) : 1; + }, + background: (r) => { + let o = r.specVersion === t ? n.background : e.background; + return o !== void 0 ? o(r) : void 0; + }, + secondBackground: (r) => { + let o = r.specVersion === t ? n.secondBackground : e.secondBackground; + return o !== void 0 ? o(r) : void 0; + }, + contrastCurve: (r) => { + let o = r.specVersion === t ? n.contrastCurve : e.contrastCurve; + return o !== void 0 ? o(r) : void 0; + }, + toneDeltaPair: (r) => { + let o = r.specVersion === t ? n.toneDeltaPair : e.toneDeltaPair; + return o !== void 0 ? o(r) : void 0; + }, + }) + ); +} +class zt { + static fromPalette(e) { + return new zt( + e.name ?? "", + e.palette, + e.tone ?? zt.getInitialToneFromBackground(e.background), + e.isBackground ?? !1, + e.chromaMultiplier, + e.background, + e.secondBackground, + e.contrastCurve, + e.toneDeltaPair, + ); + } + static getInitialToneFromBackground(e) { + if (e === void 0) return (t) => 50; + return (t) => (e(t) ? e(t).getTone(t) : 50); + } + constructor(e, t, n, r, o, a, i, s, l) { + if ( + ((this.name = e), + (this.palette = t), + (this.tone = n), + (this.isBackground = r), + (this.chromaMultiplier = o), + (this.background = a), + (this.secondBackground = i), + (this.contrastCurve = s), + (this.toneDeltaPair = l), + (this.hctCache = new Map()), + !a && i) + ) + throw Error( + `Color ${e} has secondBackgrounddefined, but background is not defined.`, + ); + if (!a && s) + throw Error( + `Color ${e} has contrastCurvedefined, but background is not defined.`, + ); + if (a && !s) + throw Error( + `Color ${e} has backgrounddefined, but contrastCurve is not defined.`, + ); + } + clone() { + return zt.fromPalette({ + name: this.name, + palette: this.palette, + tone: this.tone, + isBackground: this.isBackground, + chromaMultiplier: this.chromaMultiplier, + background: this.background, + secondBackground: this.secondBackground, + contrastCurve: this.contrastCurve, + toneDeltaPair: this.toneDeltaPair, + }); + } + clearCache() { + this.hctCache.clear(); + } + getArgb(e) { + return this.getHct(e).toInt(); + } + getHct(e) { + let t = this.hctCache.get(e); + if (t != null) return t; + let n = s2n(e.specVersion).getHct(e, this); + if (this.hctCache.size > 4) this.hctCache.clear(); + return (this.hctCache.set(e, n), n); + } + getTone(e) { + return s2n(e.specVersion).getTone(e, this); + } + static foregroundTone(e, t) { + let n = ol.lighterUnsafe(e, t), + r = ol.darkerUnsafe(e, t), + o = ol.ratioOfTones(n, e), + a = ol.ratioOfTones(r, e); + if (zt.tonePrefersLightForeground(e)) { + let s = Math.abs(o - a) < 0.1 && o < t && a < t; + return o >= t || o >= a || s ? n : r; + } else return a >= t || a >= o ? r : n; + } + static tonePrefersLightForeground(e) { + return Math.round(e) < 60; + } + static toneAllowsLightForeground(e) { + return Math.round(e) <= 49; + } + static enableLightForeground(e) { + if (zt.tonePrefersLightForeground(e) && !zt.toneAllowsLightForeground(e)) + return 49; + return e; + } +} +class l2n { + getHct(e, t) { + let n = t.getTone(e); + return t.palette(e).getHct(n); + } + getTone(e, t) { + let n = e.contrastLevel < 0, + r = t.toneDeltaPair ? t.toneDeltaPair(e) : void 0; + if (r) { + let { roleA: o, roleB: a, delta: i, polarity: s, stayTogether: l } = r, + c = + s === "nearer" || + (s === "lighter" && !e.isDark) || + (s === "darker" && e.isDark), + u = c ? o : a, + d = c ? a : o, + p = t.name === u.name, + f = e.isDark ? 1 : -1, + m = u.tone(e), + g = d.tone(e); + if (t.background && u.contrastCurve && d.contrastCurve) { + let v = t.background(e), + y = u.contrastCurve(e), + x = d.contrastCurve(e); + if (v && y && x) { + let A = v.getTone(e), + w = y.get(e.contrastLevel), + C = x.get(e.contrastLevel); + if (ol.ratioOfTones(A, m) < w) m = zt.foregroundTone(A, w); + if (ol.ratioOfTones(A, g) < C) g = zt.foregroundTone(A, C); + if (n) ((m = zt.foregroundTone(A, w)), (g = zt.foregroundTone(A, C))); + } + } + if ((g - m) * f < i) + if (((g = Nd(0, 100, m + i * f)), (g - m) * f >= i)); + else m = Nd(0, 100, g - i * f); + if (50 <= m && m < 60) + if (f > 0) ((m = 60), (g = Math.max(g, m + i * f))); + else ((m = 49), (g = Math.min(g, m + i * f))); + else if (50 <= g && g < 60) + if (l) + if (f > 0) ((m = 60), (g = Math.max(g, m + i * f))); + else ((m = 49), (g = Math.min(g, m + i * f))); + else if (f > 0) g = 60; + else g = 49; + return p ? m : g; + } else { + let o = t.tone(e); + if ( + t.background == null || + t.background(e) === void 0 || + t.contrastCurve == null || + t.contrastCurve(e) === void 0 + ) + return o; + let a = t.background(e).getTone(e), + i = t.contrastCurve(e).get(e.contrastLevel); + if (ol.ratioOfTones(a, o) >= i); + else o = zt.foregroundTone(a, i); + if (n) o = zt.foregroundTone(a, i); + if (t.isBackground && 50 <= o && o < 60) + if (ol.ratioOfTones(49, a) >= i) o = 49; + else o = 60; + if (t.secondBackground == null || t.secondBackground(e) === void 0) + return o; + let [s, l] = [t.background, t.secondBackground], + [c, u] = [s(e).getTone(e), l(e).getTone(e)], + [d, p] = [Math.max(c, u), Math.min(c, u)]; + if (ol.ratioOfTones(d, o) >= i && ol.ratioOfTones(p, o) >= i) return o; + let f = ol.lighter(d, i), + m = ol.darker(p, i), + g = []; + if (f !== -1) g.push(f); + if (m !== -1) g.push(m); + if (zt.tonePrefersLightForeground(c) || zt.tonePrefersLightForeground(u)) + return f < 0 ? 100 : f; + if (g.length === 1) return g[0]; + return m < 0 ? 0 : m; + } + } +} +class c2n { + getHct(e, t) { + let n = t.palette(e), + r = t.getTone(e), + o = n.hue, + a = n.chroma * (t.chromaMultiplier ? t.chromaMultiplier(e) : 1); + return gr.from(o, a, r); + } + getTone(e, t) { + let n = t.toneDeltaPair ? t.toneDeltaPair(e) : void 0; + if (n) { + let { roleA: r, roleB: o, polarity: a, constraint: i } = n, + s = + a === "darker" || + (a === "relative_lighter" && e.isDark) || + (a === "relative_darker" && !e.isDark) + ? -n.delta + : n.delta, + l = t.name === r.name, + c = l ? r : o, + u = l ? o : r, + d = c.tone(e), + p = u.getTone(e), + f = s * (l ? 1 : -1); + if (i === "exact") d = Nd(0, 100, p + f); + else if (i === "nearer") + if (f > 0) d = Nd(0, 100, Nd(p, p + f, d)); + else d = Nd(0, 100, Nd(p + f, p, d)); + else if (i === "farther") + if (f > 0) d = Nd(p + f, 100, d); + else d = Nd(0, p + f, d); + if (t.background && t.contrastCurve) { + let m = t.background(e), + g = t.contrastCurve(e); + if (m && g) { + let v = m.getTone(e), + y = g.get(e.contrastLevel); + d = + ol.ratioOfTones(v, d) >= y && e.contrastLevel >= 0 + ? d + : zt.foregroundTone(v, y); + } + } + if (t.isBackground && !t.name.endsWith("_fixed_dim")) + if (d >= 57) d = Nd(65, 100, d); + else d = Nd(0, 49, d); + return d; + } else { + let r = t.tone(e); + if ( + t.background == null || + t.background(e) === void 0 || + t.contrastCurve == null || + t.contrastCurve(e) === void 0 + ) + return r; + let o = t.background(e).getTone(e), + a = t.contrastCurve(e).get(e.contrastLevel); + if ( + ((r = + ol.ratioOfTones(o, r) >= a && e.contrastLevel >= 0 + ? r + : zt.foregroundTone(o, a)), + t.isBackground && !t.name.endsWith("_fixed_dim")) + ) + if (r >= 57) r = Nd(65, 100, r); + else r = Nd(0, 49, r); + if (t.secondBackground == null || t.secondBackground(e) === void 0) + return r; + let [i, s] = [t.background, t.secondBackground], + [l, c] = [i(e).getTone(e), s(e).getTone(e)], + [u, d] = [Math.max(l, c), Math.min(l, c)]; + if (ol.ratioOfTones(u, r) >= a && ol.ratioOfTones(d, r) >= a) return r; + let p = ol.lighter(u, a), + f = ol.darker(d, a), + m = []; + if (p !== -1) m.push(p); + if (f !== -1) m.push(f); + if (zt.tonePrefersLightForeground(l) || zt.tonePrefersLightForeground(c)) + return p < 0 ? 100 : p; + if (m.length === 1) return m[0]; + return f < 0 ? 0 : f; + } + } +} +function s2n(e) { + return e === "2025" ? fzr : pzr; +} +var pzr, fzr; +var h1e = P(() => { + aqe(); + Xy(); + ((pzr = new l2n()), (fzr = new c2n())); +}); +class Wn { + static fromInt(e) { + let t = gr.fromInt(e); + return Wn.fromHct(t); + } + static fromHct(e) { + return new Wn(e.hue, e.chroma, e); + } + static fromHueAndChroma(e, t) { + let n = new u2n(e, t).create(); + return new Wn(e, t, n); + } + constructor(e, t, n) { + ((this.hue = e), + (this.chroma = t), + (this.keyColor = n), + (this.cache = new Map())); + } + tone(e) { + let t = this.cache.get(e); + if (t === void 0) { + if (e == 99 && gr.isYellow(this.hue)) + t = this.averageArgb(this.tone(98), this.tone(100)); + else t = gr.from(this.hue, this.chroma, e).toInt(); + this.cache.set(e, t); + } + return t; + } + getHct(e) { + return gr.fromInt(this.tone(e)); + } + averageArgb(e, t) { + let n = (e >>> 16) & 255, + r = (e >>> 8) & 255, + o = e & 255, + a = (t >>> 16) & 255, + i = (t >>> 8) & 255, + s = t & 255, + l = Math.round((n + a) / 2), + c = Math.round((r + i) / 2), + u = Math.round((o + s) / 2); + return (-16777216 | ((l & 255) << 16) | ((c & 255) << 8) | (u & 255)) >>> 0; + } +} +class u2n { + constructor(e, t) { + ((this.hue = e), + (this.requestedChroma = t), + (this.chromaCache = new Map()), + (this.maxChromaValue = 200)); + } + create() { + let r = 0, + o = 100; + while (r < o) { + let a = Math.floor((r + o) / 2), + i = this.maxChroma(a) < this.maxChroma(a + 1); + if (this.maxChroma(a) >= this.requestedChroma - 0.01) + if (Math.abs(r - 50) < Math.abs(o - 50)) o = a; + else { + if (r === a) return gr.from(this.hue, this.requestedChroma, r); + r = a; + } + else if (i) r = a + 1; + else o = a; + } + return gr.from(this.hue, this.requestedChroma, r); + } + maxChroma(e) { + if (this.chromaCache.has(e)) return this.chromaCache.get(e); + let t = gr.from(this.hue, this.maxChromaValue, e).chroma; + return (this.chromaCache.set(e, t), t); + } +} +var g1e = P(() => { + Xy(); +}); +class W7 { + constructor(e) { + ((this.input = e), + (this.hctsByTempCache = []), + (this.hctsByHueCache = []), + (this.tempsByHctCache = new Map()), + (this.inputRelativeTemperatureCache = -1), + (this.complementCache = null)); + } + get hctsByTemp() { + if (this.hctsByTempCache.length > 0) return this.hctsByTempCache; + let e = this.hctsByHue.concat([this.input]), + t = this.tempsByHct; + return ( + e.sort((n, r) => t.get(n) - t.get(r)), + (this.hctsByTempCache = e), + e + ); + } + get warmest() { + return this.hctsByTemp[this.hctsByTemp.length - 1]; + } + get coldest() { + return this.hctsByTemp[0]; + } + analogous(e = 5, t = 12) { + let n = Math.round(this.input.hue), + r = this.hctsByHue[n], + o = this.relativeTemperature(r), + a = [r], + i = 0; + for (let f = 0; f < 360; f++) { + let m = bO(n + f), + g = this.hctsByHue[m], + v = this.relativeTemperature(g), + y = Math.abs(v - o); + ((o = v), (i += y)); + } + let s = 1, + l = i / t, + c = 0; + o = this.relativeTemperature(r); + while (a.length < t) { + let f = bO(n + s), + m = this.hctsByHue[f], + g = this.relativeTemperature(m), + v = Math.abs(g - o); + c += v; + let y = a.length * l, + x = c >= y, + A = 1; + while (x && a.length < t) { + a.push(m); + let w = (a.length + A) * l; + ((x = c >= w), A++); + } + if (((o = g), s++, s > 360)) { + while (a.length < t) a.push(m); + break; + } + } + let u = [this.input], + d = Math.floor((e - 1) / 2); + for (let f = 1; f < d + 1; f++) { + let m = 0 - f; + while (m < 0) m = a.length + m; + if (m >= a.length) m = m % a.length; + u.splice(0, 0, a[m]); + } + let p = e - d - 1; + for (let f = 1; f < p + 1; f++) { + let m = f; + while (m < 0) m = a.length + m; + if (m >= a.length) m = m % a.length; + u.push(a[m]); + } + return u; + } + get complement() { + if (this.complementCache != null) return this.complementCache; + let e = this.coldest.hue, + t = this.tempsByHct.get(this.coldest), + n = this.warmest.hue, + o = this.tempsByHct.get(this.warmest) - t, + a = W7.isBetween(this.input.hue, e, n), + i = a ? n : e, + s = a ? e : n, + l = 1, + c = 1000, + u = this.hctsByHue[Math.round(this.input.hue)], + d = 1 - this.inputRelativeTemperature; + for (let p = 0; p <= 360; p += 1) { + let f = nf(i + l * p); + if (!W7.isBetween(f, i, s)) continue; + let m = this.hctsByHue[Math.round(f)], + g = (this.tempsByHct.get(m) - t) / o, + v = Math.abs(d - g); + if (v < c) ((c = v), (u = m)); + } + return ((this.complementCache = u), this.complementCache); + } + relativeTemperature(e) { + let t = + this.tempsByHct.get(this.warmest) - this.tempsByHct.get(this.coldest), + n = this.tempsByHct.get(e) - this.tempsByHct.get(this.coldest); + if (t === 0) return 0.5; + return n / t; + } + get inputRelativeTemperature() { + if (this.inputRelativeTemperatureCache >= 0) + return this.inputRelativeTemperatureCache; + return ( + (this.inputRelativeTemperatureCache = this.relativeTemperature( + this.input, + )), + this.inputRelativeTemperatureCache + ); + } + get tempsByHct() { + if (this.tempsByHctCache.size > 0) return this.tempsByHctCache; + let e = this.hctsByHue.concat([this.input]), + t = new Map(); + for (let n of e) t.set(n, W7.rawTemperature(n)); + return ((this.tempsByHctCache = t), t); + } + get hctsByHue() { + if (this.hctsByHueCache.length > 0) return this.hctsByHueCache; + let e = []; + for (let t = 0; t <= 360; t += 1) { + let n = gr.from(t, this.input.chroma, this.input.tone); + e.push(n); + } + return ((this.hctsByHueCache = e), this.hctsByHueCache); + } + static isBetween(e, t, n) { + if (t < n) return t <= e && e <= n; + return t <= e || e <= n; + } + static rawTemperature(e) { + let t = rqe(e.toInt()), + n = nf((Math.atan2(t[2], t[1]) * 180) / Math.PI), + r = Math.sqrt(t[1] * t[1] + t[2] * t[2]); + return ( + -0.5 + 0.02 * Math.pow(r, 1.07) * Math.cos((nf(n - 50) * Math.PI) / 180) + ); + } +} +var iqe = P(() => { + Xy(); + N0(); +}); +class kr { + constructor(e, t, n, r) { + ((this.low = e), (this.normal = t), (this.medium = n), (this.high = r)); + } + get(e) { + if (e <= -1) return this.low; + else if (e < 0) return Z7(this.low, this.normal, (e - -1) / 1); + else if (e < 0.5) return Z7(this.normal, this.medium, (e - 0) / 0.5); + else if (e < 1) return Z7(this.medium, this.high, (e - 0.5) / 0.5); + else return this.high; + } +} +var sqe = () => {}; +class Ai { + constructor(e, t, n, r, o, a) { + ((this.roleA = e), + (this.roleB = t), + (this.delta = n), + (this.polarity = r), + (this.stayTogether = o), + (this.constraint = a), + (this.constraint = a ?? "exact")); + } +} +var yt; +var z0 = P(() => { + (function (e) { + ((e[(e.MONOCHROME = 0)] = "MONOCHROME"), + (e[(e.NEUTRAL = 1)] = "NEUTRAL"), + (e[(e.TONAL_SPOT = 2)] = "TONAL_SPOT"), + (e[(e.VIBRANT = 3)] = "VIBRANT"), + (e[(e.EXPRESSIVE = 4)] = "EXPRESSIVE"), + (e[(e.FIDELITY = 5)] = "FIDELITY"), + (e[(e.CONTENT = 6)] = "CONTENT"), + (e[(e.RAINBOW = 7)] = "RAINBOW"), + (e[(e.FRUIT_SALAD = 8)] = "FRUIT_SALAD")); + })(yt || (yt = {})); +}); +function xO(e) { + return e.variant === yt.FIDELITY || e.variant === yt.CONTENT; +} +function ec(e) { + return e.variant === yt.MONOCHROME; +} +function mzr(e, t, n, r) { + let o = n, + a = gr.from(e, t, n); + if (a.chroma < t) { + let i = a.chroma; + while (a.chroma < t) { + o += r ? -1 : 1; + let s = gr.from(e, t, o); + if (i > s.chroma) break; + if (Math.abs(s.chroma - t) < 0.4) break; + let l = Math.abs(s.chroma - t), + c = Math.abs(a.chroma - t); + if (l < c) a = s; + i = Math.max(i, s.chroma); + } + } + return o; +} +class lqe { + primaryPaletteKeyColor() { + return zt.fromPalette({ + name: "primary_palette_key_color", + palette: (e) => e.primaryPalette, + tone: (e) => e.primaryPalette.keyColor.tone, + }); + } + secondaryPaletteKeyColor() { + return zt.fromPalette({ + name: "secondary_palette_key_color", + palette: (e) => e.secondaryPalette, + tone: (e) => e.secondaryPalette.keyColor.tone, + }); + } + tertiaryPaletteKeyColor() { + return zt.fromPalette({ + name: "tertiary_palette_key_color", + palette: (e) => e.tertiaryPalette, + tone: (e) => e.tertiaryPalette.keyColor.tone, + }); + } + neutralPaletteKeyColor() { + return zt.fromPalette({ + name: "neutral_palette_key_color", + palette: (e) => e.neutralPalette, + tone: (e) => e.neutralPalette.keyColor.tone, + }); + } + neutralVariantPaletteKeyColor() { + return zt.fromPalette({ + name: "neutral_variant_palette_key_color", + palette: (e) => e.neutralVariantPalette, + tone: (e) => e.neutralVariantPalette.keyColor.tone, + }); + } + errorPaletteKeyColor() { + return zt.fromPalette({ + name: "error_palette_key_color", + palette: (e) => e.errorPalette, + tone: (e) => e.errorPalette.keyColor.tone, + }); + } + background() { + return zt.fromPalette({ + name: "background", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? 6 : 98), + isBackground: !0, + }); + } + onBackground() { + return zt.fromPalette({ + name: "on_background", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? 90 : 10), + background: (e) => this.background(), + contrastCurve: (e) => new kr(3, 3, 4.5, 7), + }); + } + surface() { + return zt.fromPalette({ + name: "surface", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? 6 : 98), + isBackground: !0, + }); + } + surfaceDim() { + return zt.fromPalette({ + name: "surface_dim", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? 6 : new kr(87, 87, 80, 75).get(e.contrastLevel)), + isBackground: !0, + }); + } + surfaceBright() { + return zt.fromPalette({ + name: "surface_bright", + palette: (e) => e.neutralPalette, + tone: (e) => + e.isDark ? new kr(24, 24, 29, 34).get(e.contrastLevel) : 98, + isBackground: !0, + }); + } + surfaceContainerLowest() { + return zt.fromPalette({ + name: "surface_container_lowest", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? new kr(4, 4, 2, 0).get(e.contrastLevel) : 100), + isBackground: !0, + }); + } + surfaceContainerLow() { + return zt.fromPalette({ + name: "surface_container_low", + palette: (e) => e.neutralPalette, + tone: (e) => + e.isDark + ? new kr(10, 10, 11, 12).get(e.contrastLevel) + : new kr(96, 96, 96, 95).get(e.contrastLevel), + isBackground: !0, + }); + } + surfaceContainer() { + return zt.fromPalette({ + name: "surface_container", + palette: (e) => e.neutralPalette, + tone: (e) => + e.isDark + ? new kr(12, 12, 16, 20).get(e.contrastLevel) + : new kr(94, 94, 92, 90).get(e.contrastLevel), + isBackground: !0, + }); + } + surfaceContainerHigh() { + return zt.fromPalette({ + name: "surface_container_high", + palette: (e) => e.neutralPalette, + tone: (e) => + e.isDark + ? new kr(17, 17, 21, 25).get(e.contrastLevel) + : new kr(92, 92, 88, 85).get(e.contrastLevel), + isBackground: !0, + }); + } + surfaceContainerHighest() { + return zt.fromPalette({ + name: "surface_container_highest", + palette: (e) => e.neutralPalette, + tone: (e) => + e.isDark + ? new kr(22, 22, 26, 30).get(e.contrastLevel) + : new kr(90, 90, 84, 80).get(e.contrastLevel), + isBackground: !0, + }); + } + onSurface() { + return zt.fromPalette({ + name: "on_surface", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? 90 : 10), + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + surfaceVariant() { + return zt.fromPalette({ + name: "surface_variant", + palette: (e) => e.neutralVariantPalette, + tone: (e) => (e.isDark ? 30 : 90), + isBackground: !0, + }); + } + onSurfaceVariant() { + return zt.fromPalette({ + name: "on_surface_variant", + palette: (e) => e.neutralVariantPalette, + tone: (e) => (e.isDark ? 80 : 30), + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + inverseSurface() { + return zt.fromPalette({ + name: "inverse_surface", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? 90 : 20), + isBackground: !0, + }); + } + inverseOnSurface() { + return zt.fromPalette({ + name: "inverse_on_surface", + palette: (e) => e.neutralPalette, + tone: (e) => (e.isDark ? 20 : 95), + background: (e) => this.inverseSurface(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + outline() { + return zt.fromPalette({ + name: "outline", + palette: (e) => e.neutralVariantPalette, + tone: (e) => (e.isDark ? 60 : 50), + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1.5, 3, 4.5, 7), + }); + } + outlineVariant() { + return zt.fromPalette({ + name: "outline_variant", + palette: (e) => e.neutralVariantPalette, + tone: (e) => (e.isDark ? 30 : 80), + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + }); + } + shadow() { + return zt.fromPalette({ + name: "shadow", + palette: (e) => e.neutralPalette, + tone: (e) => 0, + }); + } + scrim() { + return zt.fromPalette({ + name: "scrim", + palette: (e) => e.neutralPalette, + tone: (e) => 0, + }); + } + surfaceTint() { + return zt.fromPalette({ + name: "surface_tint", + palette: (e) => e.primaryPalette, + tone: (e) => (e.isDark ? 80 : 40), + isBackground: !0, + }); + } + primary() { + return zt.fromPalette({ + name: "primary", + palette: (e) => e.primaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 100 : 0; + return e.isDark ? 80 : 40; + }, + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(3, 4.5, 7, 7), + toneDeltaPair: (e) => + new Ai(this.primaryContainer(), this.primary(), 10, "nearer", !1), + }); + } + primaryDim() { + return; + } + onPrimary() { + return zt.fromPalette({ + name: "on_primary", + palette: (e) => e.primaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 10 : 90; + return e.isDark ? 20 : 100; + }, + background: (e) => this.primary(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + primaryContainer() { + return zt.fromPalette({ + name: "primary_container", + palette: (e) => e.primaryPalette, + tone: (e) => { + if (xO(e)) return e.sourceColorHct.tone; + if (ec(e)) return e.isDark ? 85 : 25; + return e.isDark ? 30 : 90; + }, + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai(this.primaryContainer(), this.primary(), 10, "nearer", !1), + }); + } + onPrimaryContainer() { + return zt.fromPalette({ + name: "on_primary_container", + palette: (e) => e.primaryPalette, + tone: (e) => { + if (xO(e)) + return zt.foregroundTone(this.primaryContainer().tone(e), 4.5); + if (ec(e)) return e.isDark ? 0 : 100; + return e.isDark ? 90 : 30; + }, + background: (e) => this.primaryContainer(), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + inversePrimary() { + return zt.fromPalette({ + name: "inverse_primary", + palette: (e) => e.primaryPalette, + tone: (e) => (e.isDark ? 40 : 80), + background: (e) => this.inverseSurface(), + contrastCurve: (e) => new kr(3, 4.5, 7, 7), + }); + } + secondary() { + return zt.fromPalette({ + name: "secondary", + palette: (e) => e.secondaryPalette, + tone: (e) => (e.isDark ? 80 : 40), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(3, 4.5, 7, 7), + toneDeltaPair: (e) => + new Ai(this.secondaryContainer(), this.secondary(), 10, "nearer", !1), + }); + } + secondaryDim() { + return; + } + onSecondary() { + return zt.fromPalette({ + name: "on_secondary", + palette: (e) => e.secondaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 10 : 100; + else return e.isDark ? 20 : 100; + }, + background: (e) => this.secondary(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + secondaryContainer() { + return zt.fromPalette({ + name: "secondary_container", + palette: (e) => e.secondaryPalette, + tone: (e) => { + let t = e.isDark ? 30 : 90; + if (ec(e)) return e.isDark ? 30 : 85; + if (!xO(e)) return t; + return mzr( + e.secondaryPalette.hue, + e.secondaryPalette.chroma, + t, + e.isDark ? !1 : !0, + ); + }, + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai(this.secondaryContainer(), this.secondary(), 10, "nearer", !1), + }); + } + onSecondaryContainer() { + return zt.fromPalette({ + name: "on_secondary_container", + palette: (e) => e.secondaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 90 : 10; + if (!xO(e)) return e.isDark ? 90 : 30; + return zt.foregroundTone(this.secondaryContainer().tone(e), 4.5); + }, + background: (e) => this.secondaryContainer(), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + tertiary() { + return zt.fromPalette({ + name: "tertiary", + palette: (e) => e.tertiaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 90 : 25; + return e.isDark ? 80 : 40; + }, + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(3, 4.5, 7, 7), + toneDeltaPair: (e) => + new Ai(this.tertiaryContainer(), this.tertiary(), 10, "nearer", !1), + }); + } + tertiaryDim() { + return; + } + onTertiary() { + return zt.fromPalette({ + name: "on_tertiary", + palette: (e) => e.tertiaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 10 : 90; + return e.isDark ? 20 : 100; + }, + background: (e) => this.tertiary(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + tertiaryContainer() { + return zt.fromPalette({ + name: "tertiary_container", + palette: (e) => e.tertiaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 60 : 49; + if (!xO(e)) return e.isDark ? 30 : 90; + let t = e.tertiaryPalette.getHct(e.sourceColorHct.tone); + return X7.fixIfDisliked(t).tone; + }, + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai(this.tertiaryContainer(), this.tertiary(), 10, "nearer", !1), + }); + } + onTertiaryContainer() { + return zt.fromPalette({ + name: "on_tertiary_container", + palette: (e) => e.tertiaryPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 0 : 100; + if (!xO(e)) return e.isDark ? 90 : 30; + return zt.foregroundTone(this.tertiaryContainer().tone(e), 4.5); + }, + background: (e) => this.tertiaryContainer(), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + error() { + return zt.fromPalette({ + name: "error", + palette: (e) => e.errorPalette, + tone: (e) => (e.isDark ? 80 : 40), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(3, 4.5, 7, 7), + toneDeltaPair: (e) => + new Ai(this.errorContainer(), this.error(), 10, "nearer", !1), + }); + } + errorDim() { + return; + } + onError() { + return zt.fromPalette({ + name: "on_error", + palette: (e) => e.errorPalette, + tone: (e) => (e.isDark ? 20 : 100), + background: (e) => this.error(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + errorContainer() { + return zt.fromPalette({ + name: "error_container", + palette: (e) => e.errorPalette, + tone: (e) => (e.isDark ? 30 : 90), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai(this.errorContainer(), this.error(), 10, "nearer", !1), + }); + } + onErrorContainer() { + return zt.fromPalette({ + name: "on_error_container", + palette: (e) => e.errorPalette, + tone: (e) => { + if (ec(e)) return e.isDark ? 90 : 10; + return e.isDark ? 90 : 30; + }, + background: (e) => this.errorContainer(), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + primaryFixed() { + return zt.fromPalette({ + name: "primary_fixed", + palette: (e) => e.primaryPalette, + tone: (e) => (ec(e) ? 40 : 90), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai(this.primaryFixed(), this.primaryFixedDim(), 10, "lighter", !0), + }); + } + primaryFixedDim() { + return zt.fromPalette({ + name: "primary_fixed_dim", + palette: (e) => e.primaryPalette, + tone: (e) => (ec(e) ? 30 : 80), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai(this.primaryFixed(), this.primaryFixedDim(), 10, "lighter", !0), + }); + } + onPrimaryFixed() { + return zt.fromPalette({ + name: "on_primary_fixed", + palette: (e) => e.primaryPalette, + tone: (e) => (ec(e) ? 100 : 10), + background: (e) => this.primaryFixedDim(), + secondBackground: (e) => this.primaryFixed(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + onPrimaryFixedVariant() { + return zt.fromPalette({ + name: "on_primary_fixed_variant", + palette: (e) => e.primaryPalette, + tone: (e) => (ec(e) ? 90 : 30), + background: (e) => this.primaryFixedDim(), + secondBackground: (e) => this.primaryFixed(), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + secondaryFixed() { + return zt.fromPalette({ + name: "secondary_fixed", + palette: (e) => e.secondaryPalette, + tone: (e) => (ec(e) ? 80 : 90), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai( + this.secondaryFixed(), + this.secondaryFixedDim(), + 10, + "lighter", + !0, + ), + }); + } + secondaryFixedDim() { + return zt.fromPalette({ + name: "secondary_fixed_dim", + palette: (e) => e.secondaryPalette, + tone: (e) => (ec(e) ? 70 : 80), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai( + this.secondaryFixed(), + this.secondaryFixedDim(), + 10, + "lighter", + !0, + ), + }); + } + onSecondaryFixed() { + return zt.fromPalette({ + name: "on_secondary_fixed", + palette: (e) => e.secondaryPalette, + tone: (e) => 10, + background: (e) => this.secondaryFixedDim(), + secondBackground: (e) => this.secondaryFixed(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + onSecondaryFixedVariant() { + return zt.fromPalette({ + name: "on_secondary_fixed_variant", + palette: (e) => e.secondaryPalette, + tone: (e) => (ec(e) ? 25 : 30), + background: (e) => this.secondaryFixedDim(), + secondBackground: (e) => this.secondaryFixed(), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + tertiaryFixed() { + return zt.fromPalette({ + name: "tertiary_fixed", + palette: (e) => e.tertiaryPalette, + tone: (e) => (ec(e) ? 40 : 90), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai( + this.tertiaryFixed(), + this.tertiaryFixedDim(), + 10, + "lighter", + !0, + ), + }); + } + tertiaryFixedDim() { + return zt.fromPalette({ + name: "tertiary_fixed_dim", + palette: (e) => e.tertiaryPalette, + tone: (e) => (ec(e) ? 30 : 80), + isBackground: !0, + background: (e) => this.highestSurface(e), + contrastCurve: (e) => new kr(1, 1, 3, 4.5), + toneDeltaPair: (e) => + new Ai( + this.tertiaryFixed(), + this.tertiaryFixedDim(), + 10, + "lighter", + !0, + ), + }); + } + onTertiaryFixed() { + return zt.fromPalette({ + name: "on_tertiary_fixed", + palette: (e) => e.tertiaryPalette, + tone: (e) => (ec(e) ? 100 : 10), + background: (e) => this.tertiaryFixedDim(), + secondBackground: (e) => this.tertiaryFixed(), + contrastCurve: (e) => new kr(4.5, 7, 11, 21), + }); + } + onTertiaryFixedVariant() { + return zt.fromPalette({ + name: "on_tertiary_fixed_variant", + palette: (e) => e.tertiaryPalette, + tone: (e) => (ec(e) ? 90 : 30), + background: (e) => this.tertiaryFixedDim(), + secondBackground: (e) => this.tertiaryFixed(), + contrastCurve: (e) => new kr(3, 4.5, 7, 11), + }); + } + highestSurface(e) { + return e.isDark ? this.surfaceBright() : this.surfaceDim(); + } +} +var d2n = P(() => { + m1e(); + Xy(); + sqe(); + h1e(); + z0(); +}); +function Aa(e, t = 0, n = 100, r = 1) { + let o = p2n(e.hue, e.chroma * r, 100, !0); + return Nd(t, n, o); +} +function E5(e, t = 0, n = 100) { + let r = p2n(e.hue, e.chroma, 0, !1); + return Nd(t, n, r); +} +function p2n(e, t, n, r) { + let o = n, + a = gr.from(e, t, o); + while (a.chroma < t) { + if (n < 0 || n > 100) break; + n += r ? -1 : 1; + let i = gr.from(e, t, n); + if (a.chroma < i.chroma) ((a = i), (o = n)); + } + return o; +} +function Hr(e) { + if (e === 1.5) return new kr(1.5, 1.5, 3, 5.5); + else if (e === 3) return new kr(3, 3, 4.5, 7); + else if (e === 4.5) return new kr(4.5, 4.5, 7, 11); + else if (e === 6) return new kr(6, 6, 7, 11); + else if (e === 7) return new kr(7, 7, 11, 21); + else if (e === 9) return new kr(9, 9, 11, 21); + else if (e === 11) return new kr(11, 11, 21, 21); + else if (e === 21) return new kr(21, 21, 21, 21); + else return new kr(e, e, 7, 21); +} +var cqe; +var f2n = P(() => { + Xy(); + d2n(); + sqe(); + h1e(); + z0(); + cqe = class cqe extends lqe { + surface() { + let e = zt.fromPalette({ + name: "surface", + palette: (t) => t.neutralPalette, + tone: (t) => { + if ((super.surface().tone(t), t.platform === "phone")) + if (t.isDark) return 4; + else if (gr.isYellow(t.neutralPalette.hue)) return 99; + else if (t.variant === yt.VIBRANT) return 97; + else return 98; + else return 0; + }, + isBackground: !0, + }); + return lo(super.surface(), "2025", e); + } + surfaceDim() { + let e = zt.fromPalette({ + name: "surface_dim", + palette: (t) => t.neutralPalette, + tone: (t) => { + if (t.isDark) return 4; + else if (gr.isYellow(t.neutralPalette.hue)) return 90; + else if (t.variant === yt.VIBRANT) return 85; + else return 87; + }, + isBackground: !0, + chromaMultiplier: (t) => { + if (!t.isDark) { + if (t.variant === yt.NEUTRAL) return 2.5; + else if (t.variant === yt.TONAL_SPOT) return 1.7; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) ? 2.7 : 1.75; + else if (t.variant === yt.VIBRANT) return 1.36; + } + return 1; + }, + }); + return lo(super.surfaceDim(), "2025", e); + } + surfaceBright() { + let e = zt.fromPalette({ + name: "surface_bright", + palette: (t) => t.neutralPalette, + tone: (t) => { + if (t.isDark) return 18; + else if (gr.isYellow(t.neutralPalette.hue)) return 99; + else if (t.variant === yt.VIBRANT) return 97; + else return 98; + }, + isBackground: !0, + chromaMultiplier: (t) => { + if (t.isDark) { + if (t.variant === yt.NEUTRAL) return 2.5; + else if (t.variant === yt.TONAL_SPOT) return 1.7; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) ? 2.7 : 1.75; + else if (t.variant === yt.VIBRANT) return 1.36; + } + return 1; + }, + }); + return lo(super.surfaceBright(), "2025", e); + } + surfaceContainerLowest() { + let e = zt.fromPalette({ + name: "surface_container_lowest", + palette: (t) => t.neutralPalette, + tone: (t) => (t.isDark ? 0 : 100), + isBackground: !0, + }); + return lo(super.surfaceContainerLowest(), "2025", e); + } + surfaceContainerLow() { + let e = zt.fromPalette({ + name: "surface_container_low", + palette: (t) => t.neutralPalette, + tone: (t) => { + if (t.platform === "phone") + if (t.isDark) return 6; + else if (gr.isYellow(t.neutralPalette.hue)) return 98; + else if (t.variant === yt.VIBRANT) return 95; + else return 96; + else return 15; + }, + isBackground: !0, + chromaMultiplier: (t) => { + if (t.platform === "phone") { + if (t.variant === yt.NEUTRAL) return 1.3; + else if (t.variant === yt.TONAL_SPOT) return 1.25; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) ? 1.3 : 1.15; + else if (t.variant === yt.VIBRANT) return 1.08; + } + return 1; + }, + }); + return lo(super.surfaceContainerLow(), "2025", e); + } + surfaceContainer() { + let e = zt.fromPalette({ + name: "surface_container", + palette: (t) => t.neutralPalette, + tone: (t) => { + if (t.platform === "phone") + if (t.isDark) return 9; + else if (gr.isYellow(t.neutralPalette.hue)) return 96; + else if (t.variant === yt.VIBRANT) return 92; + else return 94; + else return 20; + }, + isBackground: !0, + chromaMultiplier: (t) => { + if (t.platform === "phone") { + if (t.variant === yt.NEUTRAL) return 1.6; + else if (t.variant === yt.TONAL_SPOT) return 1.4; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) ? 1.6 : 1.3; + else if (t.variant === yt.VIBRANT) return 1.15; + } + return 1; + }, + }); + return lo(super.surfaceContainer(), "2025", e); + } + surfaceContainerHigh() { + let e = zt.fromPalette({ + name: "surface_container_high", + palette: (t) => t.neutralPalette, + tone: (t) => { + if (t.platform === "phone") + if (t.isDark) return 12; + else if (gr.isYellow(t.neutralPalette.hue)) return 94; + else if (t.variant === yt.VIBRANT) return 90; + else return 92; + else return 25; + }, + isBackground: !0, + chromaMultiplier: (t) => { + if (t.platform === "phone") { + if (t.variant === yt.NEUTRAL) return 1.9; + else if (t.variant === yt.TONAL_SPOT) return 1.5; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) ? 1.95 : 1.45; + else if (t.variant === yt.VIBRANT) return 1.22; + } + return 1; + }, + }); + return lo(super.surfaceContainerHigh(), "2025", e); + } + surfaceContainerHighest() { + let e = zt.fromPalette({ + name: "surface_container_highest", + palette: (t) => t.neutralPalette, + tone: (t) => { + if (t.isDark) return 15; + else if (gr.isYellow(t.neutralPalette.hue)) return 92; + else if (t.variant === yt.VIBRANT) return 88; + else return 90; + }, + isBackground: !0, + chromaMultiplier: (t) => { + if (t.variant === yt.NEUTRAL) return 2.2; + else if (t.variant === yt.TONAL_SPOT) return 1.7; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) ? 2.3 : 1.6; + else if (t.variant === yt.VIBRANT) return 1.29; + else return 1; + }, + }); + return lo(super.surfaceContainerHighest(), "2025", e); + } + onSurface() { + let e = zt.fromPalette({ + name: "on_surface", + palette: (t) => t.neutralPalette, + tone: (t) => { + if (t.variant === yt.VIBRANT) + return Aa(t.neutralPalette, 0, 100, 1.1); + else + return zt.getInitialToneFromBackground((n) => + n.platform === "phone" + ? this.highestSurface(n) + : this.surfaceContainerHigh(), + )(t); + }, + chromaMultiplier: (t) => { + if (t.platform === "phone") { + if (t.variant === yt.NEUTRAL) return 2.2; + else if (t.variant === yt.TONAL_SPOT) return 1.7; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) + ? t.isDark + ? 3 + : 2.3 + : 1.6; + } + return 1; + }, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => + t.isDark && t.platform === "phone" ? Hr(11) : Hr(9), + }); + return lo(super.onSurface(), "2025", e); + } + onSurfaceVariant() { + let e = zt.fromPalette({ + name: "on_surface_variant", + palette: (t) => t.neutralPalette, + chromaMultiplier: (t) => { + if (t.platform === "phone") { + if (t.variant === yt.NEUTRAL) return 2.2; + else if (t.variant === yt.TONAL_SPOT) return 1.7; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) + ? t.isDark + ? 3 + : 2.3 + : 1.6; + } + return 1; + }, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => + t.platform === "phone" ? (t.isDark ? Hr(6) : Hr(4.5)) : Hr(7), + }); + return lo(super.onSurfaceVariant(), "2025", e); + } + outline() { + let e = zt.fromPalette({ + name: "outline", + palette: (t) => t.neutralPalette, + chromaMultiplier: (t) => { + if (t.platform === "phone") { + if (t.variant === yt.NEUTRAL) return 2.2; + else if (t.variant === yt.TONAL_SPOT) return 1.7; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) + ? t.isDark + ? 3 + : 2.3 + : 1.6; + } + return 1; + }, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(3) : Hr(4.5)), + }); + return lo(super.outline(), "2025", e); + } + outlineVariant() { + let e = zt.fromPalette({ + name: "outline_variant", + palette: (t) => t.neutralPalette, + chromaMultiplier: (t) => { + if (t.platform === "phone") { + if (t.variant === yt.NEUTRAL) return 2.2; + else if (t.variant === yt.TONAL_SPOT) return 1.7; + else if (t.variant === yt.EXPRESSIVE) + return gr.isYellow(t.neutralPalette.hue) + ? t.isDark + ? 3 + : 2.3 + : 1.6; + } + return 1; + }, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(1.5) : Hr(3)), + }); + return lo(super.outlineVariant(), "2025", e); + } + inverseSurface() { + let e = zt.fromPalette({ + name: "inverse_surface", + palette: (t) => t.neutralPalette, + tone: (t) => (t.isDark ? 98 : 4), + isBackground: !0, + }); + return lo(super.inverseSurface(), "2025", e); + } + inverseOnSurface() { + let e = zt.fromPalette({ + name: "inverse_on_surface", + palette: (t) => t.neutralPalette, + background: (t) => this.inverseSurface(), + contrastCurve: (t) => Hr(7), + }); + return lo(super.inverseOnSurface(), "2025", e); + } + primary() { + let e = zt.fromPalette({ + name: "primary", + palette: (t) => t.primaryPalette, + tone: (t) => { + if (t.variant === yt.NEUTRAL) + if (t.platform === "phone") return t.isDark ? 80 : 40; + else return 90; + else if (t.variant === yt.TONAL_SPOT) + if (t.platform === "phone") + if (t.isDark) return 80; + else return Aa(t.primaryPalette); + else return Aa(t.primaryPalette, 0, 90); + else if (t.variant === yt.EXPRESSIVE) + if (t.platform === "phone") + return Aa( + t.primaryPalette, + 0, + gr.isYellow(t.primaryPalette.hue) + ? 25 + : gr.isCyan(t.primaryPalette.hue) + ? 88 + : 98, + ); + else return Aa(t.primaryPalette); + else if (t.platform === "phone") + return Aa( + t.primaryPalette, + 0, + gr.isCyan(t.primaryPalette.hue) ? 88 : 98, + ); + else return Aa(t.primaryPalette); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(4.5) : Hr(7)), + toneDeltaPair: (t) => + t.platform === "phone" + ? new Ai( + this.primaryContainer(), + this.primary(), + 5, + "relative_lighter", + !0, + "farther", + ) + : void 0, + }); + return lo(super.primary(), "2025", e); + } + primaryDim() { + return zt.fromPalette({ + name: "primary_dim", + palette: (e) => e.primaryPalette, + tone: (e) => { + if (e.variant === yt.NEUTRAL) return 85; + else if (e.variant === yt.TONAL_SPOT) + return Aa(e.primaryPalette, 0, 90); + else return Aa(e.primaryPalette); + }, + isBackground: !0, + background: (e) => this.surfaceContainerHigh(), + contrastCurve: (e) => Hr(4.5), + toneDeltaPair: (e) => + new Ai(this.primaryDim(), this.primary(), 5, "darker", !0, "farther"), + }); + } + onPrimary() { + let e = zt.fromPalette({ + name: "on_primary", + palette: (t) => t.primaryPalette, + background: (t) => + t.platform === "phone" ? this.primary() : this.primaryDim(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.onPrimary(), "2025", e); + } + primaryContainer() { + let e = zt.fromPalette({ + name: "primary_container", + palette: (t) => t.primaryPalette, + tone: (t) => { + if (t.platform === "watch") return 30; + else if (t.variant === yt.NEUTRAL) return t.isDark ? 30 : 90; + else if (t.variant === yt.TONAL_SPOT) + return t.isDark + ? E5(t.primaryPalette, 35, 93) + : Aa(t.primaryPalette, 0, 90); + else if (t.variant === yt.EXPRESSIVE) + return t.isDark + ? Aa(t.primaryPalette, 30, 93) + : Aa( + t.primaryPalette, + 78, + gr.isCyan(t.primaryPalette.hue) ? 88 : 90, + ); + else + return t.isDark + ? E5(t.primaryPalette, 66, 93) + : Aa( + t.primaryPalette, + 66, + gr.isCyan(t.primaryPalette.hue) ? 88 : 93, + ); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" ? this.highestSurface(t) : void 0, + toneDeltaPair: (t) => + t.platform === "phone" + ? void 0 + : new Ai( + this.primaryContainer(), + this.primaryDim(), + 10, + "darker", + !0, + "farther", + ), + contrastCurve: (t) => + t.platform === "phone" && t.contrastLevel > 0 ? Hr(1.5) : void 0, + }); + return lo(super.primaryContainer(), "2025", e); + } + onPrimaryContainer() { + let e = zt.fromPalette({ + name: "on_primary_container", + palette: (t) => t.primaryPalette, + background: (t) => this.primaryContainer(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.onPrimaryContainer(), "2025", e); + } + primaryFixed() { + let e = zt.fromPalette({ + name: "primary_fixed", + palette: (t) => t.primaryPalette, + tone: (t) => { + let n = Object.assign({}, t, { isDark: !1, contrastLevel: 0 }); + return this.primaryContainer().getTone(n); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" ? this.highestSurface(t) : void 0, + contrastCurve: (t) => + t.platform === "phone" && t.contrastLevel > 0 ? Hr(1.5) : void 0, + }); + return lo(super.primaryFixed(), "2025", e); + } + primaryFixedDim() { + let e = zt.fromPalette({ + name: "primary_fixed_dim", + palette: (t) => t.primaryPalette, + tone: (t) => this.primaryFixed().getTone(t), + isBackground: !0, + toneDeltaPair: (t) => + new Ai( + this.primaryFixedDim(), + this.primaryFixed(), + 5, + "darker", + !0, + "exact", + ), + }); + return lo(super.primaryFixedDim(), "2025", e); + } + onPrimaryFixed() { + let e = zt.fromPalette({ + name: "on_primary_fixed", + palette: (t) => t.primaryPalette, + background: (t) => this.primaryFixedDim(), + contrastCurve: (t) => Hr(7), + }); + return lo(super.onPrimaryFixed(), "2025", e); + } + onPrimaryFixedVariant() { + let e = zt.fromPalette({ + name: "on_primary_fixed_variant", + palette: (t) => t.primaryPalette, + background: (t) => this.primaryFixedDim(), + contrastCurve: (t) => Hr(4.5), + }); + return lo(super.onPrimaryFixedVariant(), "2025", e); + } + inversePrimary() { + let e = zt.fromPalette({ + name: "inverse_primary", + palette: (t) => t.primaryPalette, + tone: (t) => Aa(t.primaryPalette), + background: (t) => this.inverseSurface(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.inversePrimary(), "2025", e); + } + secondary() { + let e = zt.fromPalette({ + name: "secondary", + palette: (t) => t.secondaryPalette, + tone: (t) => { + if (t.platform === "watch") + return t.variant === yt.NEUTRAL + ? 90 + : Aa(t.secondaryPalette, 0, 90); + else if (t.variant === yt.NEUTRAL) + return t.isDark + ? E5(t.secondaryPalette, 0, 98) + : Aa(t.secondaryPalette); + else if (t.variant === yt.VIBRANT) + return Aa(t.secondaryPalette, 0, t.isDark ? 90 : 98); + else return t.isDark ? 80 : Aa(t.secondaryPalette); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(4.5) : Hr(7)), + toneDeltaPair: (t) => + t.platform === "phone" + ? new Ai( + this.secondaryContainer(), + this.secondary(), + 5, + "relative_lighter", + !0, + "farther", + ) + : void 0, + }); + return lo(super.secondary(), "2025", e); + } + secondaryDim() { + return zt.fromPalette({ + name: "secondary_dim", + palette: (e) => e.secondaryPalette, + tone: (e) => { + if (e.variant === yt.NEUTRAL) return 85; + else return Aa(e.secondaryPalette, 0, 90); + }, + isBackground: !0, + background: (e) => this.surfaceContainerHigh(), + contrastCurve: (e) => Hr(4.5), + toneDeltaPair: (e) => + new Ai( + this.secondaryDim(), + this.secondary(), + 5, + "darker", + !0, + "farther", + ), + }); + } + onSecondary() { + let e = zt.fromPalette({ + name: "on_secondary", + palette: (t) => t.secondaryPalette, + background: (t) => + t.platform === "phone" ? this.secondary() : this.secondaryDim(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.onSecondary(), "2025", e); + } + secondaryContainer() { + let e = zt.fromPalette({ + name: "secondary_container", + palette: (t) => t.secondaryPalette, + tone: (t) => { + if (t.platform === "watch") return 30; + else if (t.variant === yt.VIBRANT) + return t.isDark + ? E5(t.secondaryPalette, 30, 40) + : Aa(t.secondaryPalette, 84, 90); + else if (t.variant === yt.EXPRESSIVE) + return t.isDark ? 15 : Aa(t.secondaryPalette, 90, 95); + else return t.isDark ? 25 : 90; + }, + isBackground: !0, + background: (t) => + t.platform === "phone" ? this.highestSurface(t) : void 0, + toneDeltaPair: (t) => + t.platform === "watch" + ? new Ai( + this.secondaryContainer(), + this.secondaryDim(), + 10, + "darker", + !0, + "farther", + ) + : void 0, + contrastCurve: (t) => + t.platform === "phone" && t.contrastLevel > 0 ? Hr(1.5) : void 0, + }); + return lo(super.secondaryContainer(), "2025", e); + } + onSecondaryContainer() { + let e = zt.fromPalette({ + name: "on_secondary_container", + palette: (t) => t.secondaryPalette, + background: (t) => this.secondaryContainer(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.onSecondaryContainer(), "2025", e); + } + secondaryFixed() { + let e = zt.fromPalette({ + name: "secondary_fixed", + palette: (t) => t.secondaryPalette, + tone: (t) => { + let n = Object.assign({}, t, { isDark: !1, contrastLevel: 0 }); + return this.secondaryContainer().getTone(n); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" ? this.highestSurface(t) : void 0, + contrastCurve: (t) => + t.platform === "phone" && t.contrastLevel > 0 ? Hr(1.5) : void 0, + }); + return lo(super.secondaryFixed(), "2025", e); + } + secondaryFixedDim() { + let e = zt.fromPalette({ + name: "secondary_fixed_dim", + palette: (t) => t.secondaryPalette, + tone: (t) => this.secondaryFixed().getTone(t), + isBackground: !0, + toneDeltaPair: (t) => + new Ai( + this.secondaryFixedDim(), + this.secondaryFixed(), + 5, + "darker", + !0, + "exact", + ), + }); + return lo(super.secondaryFixedDim(), "2025", e); + } + onSecondaryFixed() { + let e = zt.fromPalette({ + name: "on_secondary_fixed", + palette: (t) => t.secondaryPalette, + background: (t) => this.secondaryFixedDim(), + contrastCurve: (t) => Hr(7), + }); + return lo(super.onSecondaryFixed(), "2025", e); + } + onSecondaryFixedVariant() { + let e = zt.fromPalette({ + name: "on_secondary_fixed_variant", + palette: (t) => t.secondaryPalette, + background: (t) => this.secondaryFixedDim(), + contrastCurve: (t) => Hr(4.5), + }); + return lo(super.onSecondaryFixedVariant(), "2025", e); + } + tertiary() { + let e = zt.fromPalette({ + name: "tertiary", + palette: (t) => t.tertiaryPalette, + tone: (t) => { + if (t.platform === "watch") + return t.variant === yt.TONAL_SPOT + ? Aa(t.tertiaryPalette, 0, 90) + : Aa(t.tertiaryPalette); + else if (t.variant === yt.EXPRESSIVE || t.variant === yt.VIBRANT) + return Aa( + t.tertiaryPalette, + 0, + gr.isCyan(t.tertiaryPalette.hue) ? 88 : t.isDark ? 98 : 100, + ); + else + return t.isDark + ? Aa(t.tertiaryPalette, 0, 98) + : Aa(t.tertiaryPalette); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(4.5) : Hr(7)), + toneDeltaPair: (t) => + t.platform === "phone" + ? new Ai( + this.tertiaryContainer(), + this.tertiary(), + 5, + "relative_lighter", + !0, + "farther", + ) + : void 0, + }); + return lo(super.tertiary(), "2025", e); + } + tertiaryDim() { + return zt.fromPalette({ + name: "tertiary_dim", + palette: (e) => e.tertiaryPalette, + tone: (e) => { + if (e.variant === yt.TONAL_SPOT) return Aa(e.tertiaryPalette, 0, 90); + else return Aa(e.tertiaryPalette); + }, + isBackground: !0, + background: (e) => this.surfaceContainerHigh(), + contrastCurve: (e) => Hr(4.5), + toneDeltaPair: (e) => + new Ai( + this.tertiaryDim(), + this.tertiary(), + 5, + "darker", + !0, + "farther", + ), + }); + } + onTertiary() { + let e = zt.fromPalette({ + name: "on_tertiary", + palette: (t) => t.tertiaryPalette, + background: (t) => + t.platform === "phone" ? this.tertiary() : this.tertiaryDim(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.onTertiary(), "2025", e); + } + tertiaryContainer() { + let e = zt.fromPalette({ + name: "tertiary_container", + palette: (t) => t.tertiaryPalette, + tone: (t) => { + if (t.platform === "watch") + return t.variant === yt.TONAL_SPOT + ? Aa(t.tertiaryPalette, 0, 90) + : Aa(t.tertiaryPalette); + else if (t.variant === yt.NEUTRAL) + return t.isDark + ? Aa(t.tertiaryPalette, 0, 93) + : Aa(t.tertiaryPalette, 0, 96); + else if (t.variant === yt.TONAL_SPOT) + return Aa(t.tertiaryPalette, 0, t.isDark ? 93 : 100); + else if (t.variant === yt.EXPRESSIVE) + return Aa( + t.tertiaryPalette, + 75, + gr.isCyan(t.tertiaryPalette.hue) ? 88 : t.isDark ? 93 : 100, + ); + else + return t.isDark + ? Aa(t.tertiaryPalette, 0, 93) + : Aa(t.tertiaryPalette, 72, 100); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" ? this.highestSurface(t) : void 0, + toneDeltaPair: (t) => + t.platform === "watch" + ? new Ai( + this.tertiaryContainer(), + this.tertiaryDim(), + 10, + "darker", + !0, + "farther", + ) + : void 0, + contrastCurve: (t) => + t.platform === "phone" && t.contrastLevel > 0 ? Hr(1.5) : void 0, + }); + return lo(super.tertiaryContainer(), "2025", e); + } + onTertiaryContainer() { + let e = zt.fromPalette({ + name: "on_tertiary_container", + palette: (t) => t.tertiaryPalette, + background: (t) => this.tertiaryContainer(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.onTertiaryContainer(), "2025", e); + } + tertiaryFixed() { + let e = zt.fromPalette({ + name: "tertiary_fixed", + palette: (t) => t.tertiaryPalette, + tone: (t) => { + let n = Object.assign({}, t, { isDark: !1, contrastLevel: 0 }); + return this.tertiaryContainer().getTone(n); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" ? this.highestSurface(t) : void 0, + contrastCurve: (t) => + t.platform === "phone" && t.contrastLevel > 0 ? Hr(1.5) : void 0, + }); + return lo(super.tertiaryFixed(), "2025", e); + } + tertiaryFixedDim() { + let e = zt.fromPalette({ + name: "tertiary_fixed_dim", + palette: (t) => t.tertiaryPalette, + tone: (t) => this.tertiaryFixed().getTone(t), + isBackground: !0, + toneDeltaPair: (t) => + new Ai( + this.tertiaryFixedDim(), + this.tertiaryFixed(), + 5, + "darker", + !0, + "exact", + ), + }); + return lo(super.tertiaryFixedDim(), "2025", e); + } + onTertiaryFixed() { + let e = zt.fromPalette({ + name: "on_tertiary_fixed", + palette: (t) => t.tertiaryPalette, + background: (t) => this.tertiaryFixedDim(), + contrastCurve: (t) => Hr(7), + }); + return lo(super.onTertiaryFixed(), "2025", e); + } + onTertiaryFixedVariant() { + let e = zt.fromPalette({ + name: "on_tertiary_fixed_variant", + palette: (t) => t.tertiaryPalette, + background: (t) => this.tertiaryFixedDim(), + contrastCurve: (t) => Hr(4.5), + }); + return lo(super.onTertiaryFixedVariant(), "2025", e); + } + error() { + let e = zt.fromPalette({ + name: "error", + palette: (t) => t.errorPalette, + tone: (t) => { + if (t.platform === "phone") + return t.isDark ? E5(t.errorPalette, 0, 98) : Aa(t.errorPalette); + else return E5(t.errorPalette); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" + ? this.highestSurface(t) + : this.surfaceContainerHigh(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(4.5) : Hr(7)), + toneDeltaPair: (t) => + t.platform === "phone" + ? new Ai( + this.errorContainer(), + this.error(), + 5, + "relative_lighter", + !0, + "farther", + ) + : void 0, + }); + return lo(super.error(), "2025", e); + } + errorDim() { + return zt.fromPalette({ + name: "error_dim", + palette: (e) => e.errorPalette, + tone: (e) => E5(e.errorPalette), + isBackground: !0, + background: (e) => this.surfaceContainerHigh(), + contrastCurve: (e) => Hr(4.5), + toneDeltaPair: (e) => + new Ai(this.errorDim(), this.error(), 5, "darker", !0, "farther"), + }); + } + onError() { + let e = zt.fromPalette({ + name: "on_error", + palette: (t) => t.errorPalette, + background: (t) => + t.platform === "phone" ? this.error() : this.errorDim(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(6) : Hr(7)), + }); + return lo(super.onError(), "2025", e); + } + errorContainer() { + let e = zt.fromPalette({ + name: "error_container", + palette: (t) => t.errorPalette, + tone: (t) => { + if (t.platform === "watch") return 30; + else + return t.isDark + ? E5(t.errorPalette, 30, 93) + : Aa(t.errorPalette, 0, 90); + }, + isBackground: !0, + background: (t) => + t.platform === "phone" ? this.highestSurface(t) : void 0, + toneDeltaPair: (t) => + t.platform === "watch" + ? new Ai( + this.errorContainer(), + this.errorDim(), + 10, + "darker", + !0, + "farther", + ) + : void 0, + contrastCurve: (t) => + t.platform === "phone" && t.contrastLevel > 0 ? Hr(1.5) : void 0, + }); + return lo(super.errorContainer(), "2025", e); + } + onErrorContainer() { + let e = zt.fromPalette({ + name: "on_error_container", + palette: (t) => t.errorPalette, + background: (t) => this.errorContainer(), + contrastCurve: (t) => (t.platform === "phone" ? Hr(4.5) : Hr(7)), + }); + return lo(super.onErrorContainer(), "2025", e); + } + surfaceVariant() { + let e = Object.assign(this.surfaceContainerHighest().clone(), { + name: "surface_variant", + }); + return lo(super.surfaceVariant(), "2025", e); + } + surfaceTint() { + let e = Object.assign(this.primary().clone(), { name: "surface_tint" }); + return lo(super.surfaceTint(), "2025", e); + } + background() { + let e = Object.assign(this.surface().clone(), { name: "background" }); + return lo(super.background(), "2025", e); + } + onBackground() { + let e = Object.assign(this.onSurface().clone(), { + name: "on_background", + tone: (t) => + t.platform === "watch" ? 100 : this.onSurface().getTone(t), + }); + return lo(super.onBackground(), "2025", e); + } + }; +}); +class ut { + constructor() { + this.allColors = [ + this.background(), + this.onBackground(), + this.surface(), + this.surfaceDim(), + this.surfaceBright(), + this.surfaceContainerLowest(), + this.surfaceContainerLow(), + this.surfaceContainer(), + this.surfaceContainerHigh(), + this.surfaceContainerHighest(), + this.onSurface(), + this.onSurfaceVariant(), + this.outline(), + this.outlineVariant(), + this.inverseSurface(), + this.inverseOnSurface(), + this.primary(), + this.primaryDim(), + this.onPrimary(), + this.primaryContainer(), + this.onPrimaryContainer(), + this.primaryFixed(), + this.primaryFixedDim(), + this.onPrimaryFixed(), + this.onPrimaryFixedVariant(), + this.inversePrimary(), + this.secondary(), + this.secondaryDim(), + this.onSecondary(), + this.secondaryContainer(), + this.onSecondaryContainer(), + this.secondaryFixed(), + this.secondaryFixedDim(), + this.onSecondaryFixed(), + this.onSecondaryFixedVariant(), + this.tertiary(), + this.tertiaryDim(), + this.onTertiary(), + this.tertiaryContainer(), + this.onTertiaryContainer(), + this.tertiaryFixed(), + this.tertiaryFixedDim(), + this.onTertiaryFixed(), + this.onTertiaryFixedVariant(), + this.error(), + this.errorDim(), + this.onError(), + this.errorContainer(), + this.onErrorContainer(), + ].filter((e) => e !== void 0); + } + highestSurface(e) { + return ut.colorSpec.highestSurface(e); + } + primaryPaletteKeyColor() { + return ut.colorSpec.primaryPaletteKeyColor(); + } + secondaryPaletteKeyColor() { + return ut.colorSpec.secondaryPaletteKeyColor(); + } + tertiaryPaletteKeyColor() { + return ut.colorSpec.tertiaryPaletteKeyColor(); + } + neutralPaletteKeyColor() { + return ut.colorSpec.neutralPaletteKeyColor(); + } + neutralVariantPaletteKeyColor() { + return ut.colorSpec.neutralVariantPaletteKeyColor(); + } + errorPaletteKeyColor() { + return ut.colorSpec.errorPaletteKeyColor(); + } + background() { + return ut.colorSpec.background(); + } + onBackground() { + return ut.colorSpec.onBackground(); + } + surface() { + return ut.colorSpec.surface(); + } + surfaceDim() { + return ut.colorSpec.surfaceDim(); + } + surfaceBright() { + return ut.colorSpec.surfaceBright(); + } + surfaceContainerLowest() { + return ut.colorSpec.surfaceContainerLowest(); + } + surfaceContainerLow() { + return ut.colorSpec.surfaceContainerLow(); + } + surfaceContainer() { + return ut.colorSpec.surfaceContainer(); + } + surfaceContainerHigh() { + return ut.colorSpec.surfaceContainerHigh(); + } + surfaceContainerHighest() { + return ut.colorSpec.surfaceContainerHighest(); + } + onSurface() { + return ut.colorSpec.onSurface(); + } + surfaceVariant() { + return ut.colorSpec.surfaceVariant(); + } + onSurfaceVariant() { + return ut.colorSpec.onSurfaceVariant(); + } + outline() { + return ut.colorSpec.outline(); + } + outlineVariant() { + return ut.colorSpec.outlineVariant(); + } + inverseSurface() { + return ut.colorSpec.inverseSurface(); + } + inverseOnSurface() { + return ut.colorSpec.inverseOnSurface(); + } + shadow() { + return ut.colorSpec.shadow(); + } + scrim() { + return ut.colorSpec.scrim(); + } + surfaceTint() { + return ut.colorSpec.surfaceTint(); + } + primary() { + return ut.colorSpec.primary(); + } + primaryDim() { + return ut.colorSpec.primaryDim(); + } + onPrimary() { + return ut.colorSpec.onPrimary(); + } + primaryContainer() { + return ut.colorSpec.primaryContainer(); + } + onPrimaryContainer() { + return ut.colorSpec.onPrimaryContainer(); + } + inversePrimary() { + return ut.colorSpec.inversePrimary(); + } + primaryFixed() { + return ut.colorSpec.primaryFixed(); + } + primaryFixedDim() { + return ut.colorSpec.primaryFixedDim(); + } + onPrimaryFixed() { + return ut.colorSpec.onPrimaryFixed(); + } + onPrimaryFixedVariant() { + return ut.colorSpec.onPrimaryFixedVariant(); + } + secondary() { + return ut.colorSpec.secondary(); + } + secondaryDim() { + return ut.colorSpec.secondaryDim(); + } + onSecondary() { + return ut.colorSpec.onSecondary(); + } + secondaryContainer() { + return ut.colorSpec.secondaryContainer(); + } + onSecondaryContainer() { + return ut.colorSpec.onSecondaryContainer(); + } + secondaryFixed() { + return ut.colorSpec.secondaryFixed(); + } + secondaryFixedDim() { + return ut.colorSpec.secondaryFixedDim(); + } + onSecondaryFixed() { + return ut.colorSpec.onSecondaryFixed(); + } + onSecondaryFixedVariant() { + return ut.colorSpec.onSecondaryFixedVariant(); + } + tertiary() { + return ut.colorSpec.tertiary(); + } + tertiaryDim() { + return ut.colorSpec.tertiaryDim(); + } + onTertiary() { + return ut.colorSpec.onTertiary(); + } + tertiaryContainer() { + return ut.colorSpec.tertiaryContainer(); + } + onTertiaryContainer() { + return ut.colorSpec.onTertiaryContainer(); + } + tertiaryFixed() { + return ut.colorSpec.tertiaryFixed(); + } + tertiaryFixedDim() { + return ut.colorSpec.tertiaryFixedDim(); + } + onTertiaryFixed() { + return ut.colorSpec.onTertiaryFixed(); + } + onTertiaryFixedVariant() { + return ut.colorSpec.onTertiaryFixedVariant(); + } + error() { + return ut.colorSpec.error(); + } + errorDim() { + return ut.colorSpec.errorDim(); + } + onError() { + return ut.colorSpec.onError(); + } + errorContainer() { + return ut.colorSpec.errorContainer(); + } + onErrorContainer() { + return ut.colorSpec.onErrorContainer(); + } + static highestSurface(e) { + return ut.colorSpec.highestSurface(e); + } +} +var uqe = P(() => { + f2n(); + ut.contentAccentToneDelta = 15; + ut.colorSpec = new cqe(); + ut.primaryPaletteKeyColor = ut.colorSpec.primaryPaletteKeyColor(); + ut.secondaryPaletteKeyColor = ut.colorSpec.secondaryPaletteKeyColor(); + ut.tertiaryPaletteKeyColor = ut.colorSpec.tertiaryPaletteKeyColor(); + ut.neutralPaletteKeyColor = ut.colorSpec.neutralPaletteKeyColor(); + ut.neutralVariantPaletteKeyColor = + ut.colorSpec.neutralVariantPaletteKeyColor(); + ut.background = ut.colorSpec.background(); + ut.onBackground = ut.colorSpec.onBackground(); + ut.surface = ut.colorSpec.surface(); + ut.surfaceDim = ut.colorSpec.surfaceDim(); + ut.surfaceBright = ut.colorSpec.surfaceBright(); + ut.surfaceContainerLowest = ut.colorSpec.surfaceContainerLowest(); + ut.surfaceContainerLow = ut.colorSpec.surfaceContainerLow(); + ut.surfaceContainer = ut.colorSpec.surfaceContainer(); + ut.surfaceContainerHigh = ut.colorSpec.surfaceContainerHigh(); + ut.surfaceContainerHighest = ut.colorSpec.surfaceContainerHighest(); + ut.onSurface = ut.colorSpec.onSurface(); + ut.surfaceVariant = ut.colorSpec.surfaceVariant(); + ut.onSurfaceVariant = ut.colorSpec.onSurfaceVariant(); + ut.inverseSurface = ut.colorSpec.inverseSurface(); + ut.inverseOnSurface = ut.colorSpec.inverseOnSurface(); + ut.outline = ut.colorSpec.outline(); + ut.outlineVariant = ut.colorSpec.outlineVariant(); + ut.shadow = ut.colorSpec.shadow(); + ut.scrim = ut.colorSpec.scrim(); + ut.surfaceTint = ut.colorSpec.surfaceTint(); + ut.primary = ut.colorSpec.primary(); + ut.onPrimary = ut.colorSpec.onPrimary(); + ut.primaryContainer = ut.colorSpec.primaryContainer(); + ut.onPrimaryContainer = ut.colorSpec.onPrimaryContainer(); + ut.inversePrimary = ut.colorSpec.inversePrimary(); + ut.secondary = ut.colorSpec.secondary(); + ut.onSecondary = ut.colorSpec.onSecondary(); + ut.secondaryContainer = ut.colorSpec.secondaryContainer(); + ut.onSecondaryContainer = ut.colorSpec.onSecondaryContainer(); + ut.tertiary = ut.colorSpec.tertiary(); + ut.onTertiary = ut.colorSpec.onTertiary(); + ut.tertiaryContainer = ut.colorSpec.tertiaryContainer(); + ut.onTertiaryContainer = ut.colorSpec.onTertiaryContainer(); + ut.error = ut.colorSpec.error(); + ut.onError = ut.colorSpec.onError(); + ut.errorContainer = ut.colorSpec.errorContainer(); + ut.onErrorContainer = ut.colorSpec.onErrorContainer(); + ut.primaryFixed = ut.colorSpec.primaryFixed(); + ut.primaryFixedDim = ut.colorSpec.primaryFixedDim(); + ut.onPrimaryFixed = ut.colorSpec.onPrimaryFixed(); + ut.onPrimaryFixedVariant = ut.colorSpec.onPrimaryFixedVariant(); + ut.secondaryFixed = ut.colorSpec.secondaryFixed(); + ut.secondaryFixedDim = ut.colorSpec.secondaryFixedDim(); + ut.onSecondaryFixed = ut.colorSpec.onSecondaryFixed(); + ut.onSecondaryFixedVariant = ut.colorSpec.onSecondaryFixedVariant(); + ut.tertiaryFixed = ut.colorSpec.tertiaryFixed(); + ut.tertiaryFixedDim = ut.colorSpec.tertiaryFixedDim(); + ut.onTertiaryFixed = ut.colorSpec.onTertiaryFixed(); + ut.onTertiaryFixedVariant = ut.colorSpec.onTertiaryFixedVariant(); +}); +class co { + static maybeFallbackSpecVersion(e, t) { + switch (t) { + case yt.EXPRESSIVE: + case yt.VIBRANT: + case yt.TONAL_SPOT: + case yt.NEUTRAL: + return e; + default: + return "2021"; + } + } + constructor(e) { + ((this.sourceColorArgb = e.sourceColorHct.toInt()), + (this.variant = e.variant), + (this.contrastLevel = e.contrastLevel), + (this.isDark = e.isDark), + (this.platform = e.platform ?? "phone"), + (this.specVersion = co.maybeFallbackSpecVersion( + e.specVersion ?? "2021", + this.variant, + )), + (this.sourceColorHct = e.sourceColorHct), + (this.primaryPalette = + e.primaryPalette ?? + AO(this.specVersion).getPrimaryPalette( + this.variant, + e.sourceColorHct, + this.isDark, + this.platform, + this.contrastLevel, + )), + (this.secondaryPalette = + e.secondaryPalette ?? + AO(this.specVersion).getSecondaryPalette( + this.variant, + e.sourceColorHct, + this.isDark, + this.platform, + this.contrastLevel, + )), + (this.tertiaryPalette = + e.tertiaryPalette ?? + AO(this.specVersion).getTertiaryPalette( + this.variant, + e.sourceColorHct, + this.isDark, + this.platform, + this.contrastLevel, + )), + (this.neutralPalette = + e.neutralPalette ?? + AO(this.specVersion).getNeutralPalette( + this.variant, + e.sourceColorHct, + this.isDark, + this.platform, + this.contrastLevel, + )), + (this.neutralVariantPalette = + e.neutralVariantPalette ?? + AO(this.specVersion).getNeutralVariantPalette( + this.variant, + e.sourceColorHct, + this.isDark, + this.platform, + this.contrastLevel, + )), + (this.errorPalette = + e.errorPalette ?? + AO(this.specVersion).getErrorPalette( + this.variant, + e.sourceColorHct, + this.isDark, + this.platform, + this.contrastLevel, + ) ?? + Wn.fromHueAndChroma(25, 84)), + (this.colors = new ut())); + } + toString() { + return `Scheme: variant=${yt[this.variant]}, mode=${this.isDark ? "dark" : "light"}, platform=${this.platform}, contrastLevel=${this.contrastLevel.toFixed(1)}, seed=${this.sourceColorHct.toString()}, specVersion=${this.specVersion}`; + } + static getPiecewiseHue(e, t, n) { + let r = Math.min(t.length - 1, n.length), + o = e.hue; + for (let a = 0; a < r; a++) if (o >= t[a] && o < t[a + 1]) return nf(n[a]); + return o; + } + static getRotatedHue(e, t, n) { + let r = co.getPiecewiseHue(e, t, n); + if (Math.min(t.length - 1, n.length) <= 0) r = 0; + return nf(e.hue + r); + } + getArgb(e) { + return e.getArgb(this); + } + getHct(e) { + return e.getHct(this); + } + get primaryPaletteKeyColor() { + return this.getArgb(this.colors.primaryPaletteKeyColor()); + } + get secondaryPaletteKeyColor() { + return this.getArgb(this.colors.secondaryPaletteKeyColor()); + } + get tertiaryPaletteKeyColor() { + return this.getArgb(this.colors.tertiaryPaletteKeyColor()); + } + get neutralPaletteKeyColor() { + return this.getArgb(this.colors.neutralPaletteKeyColor()); + } + get neutralVariantPaletteKeyColor() { + return this.getArgb(this.colors.neutralVariantPaletteKeyColor()); + } + get errorPaletteKeyColor() { + return this.getArgb(this.colors.errorPaletteKeyColor()); + } + get background() { + return this.getArgb(this.colors.background()); + } + get onBackground() { + return this.getArgb(this.colors.onBackground()); + } + get surface() { + return this.getArgb(this.colors.surface()); + } + get surfaceDim() { + return this.getArgb(this.colors.surfaceDim()); + } + get surfaceBright() { + return this.getArgb(this.colors.surfaceBright()); + } + get surfaceContainerLowest() { + return this.getArgb(this.colors.surfaceContainerLowest()); + } + get surfaceContainerLow() { + return this.getArgb(this.colors.surfaceContainerLow()); + } + get surfaceContainer() { + return this.getArgb(this.colors.surfaceContainer()); + } + get surfaceContainerHigh() { + return this.getArgb(this.colors.surfaceContainerHigh()); + } + get surfaceContainerHighest() { + return this.getArgb(this.colors.surfaceContainerHighest()); + } + get onSurface() { + return this.getArgb(this.colors.onSurface()); + } + get surfaceVariant() { + return this.getArgb(this.colors.surfaceVariant()); + } + get onSurfaceVariant() { + return this.getArgb(this.colors.onSurfaceVariant()); + } + get inverseSurface() { + return this.getArgb(this.colors.inverseSurface()); + } + get inverseOnSurface() { + return this.getArgb(this.colors.inverseOnSurface()); + } + get outline() { + return this.getArgb(this.colors.outline()); + } + get outlineVariant() { + return this.getArgb(this.colors.outlineVariant()); + } + get shadow() { + return this.getArgb(this.colors.shadow()); + } + get scrim() { + return this.getArgb(this.colors.scrim()); + } + get surfaceTint() { + return this.getArgb(this.colors.surfaceTint()); + } + get primary() { + return this.getArgb(this.colors.primary()); + } + get primaryDim() { + let e = this.colors.primaryDim(); + if (e === void 0) + throw Error("`primaryDim` color is undefined prior to 2025 spec."); + return this.getArgb(e); + } + get onPrimary() { + return this.getArgb(this.colors.onPrimary()); + } + get primaryContainer() { + return this.getArgb(this.colors.primaryContainer()); + } + get onPrimaryContainer() { + return this.getArgb(this.colors.onPrimaryContainer()); + } + get primaryFixed() { + return this.getArgb(this.colors.primaryFixed()); + } + get primaryFixedDim() { + return this.getArgb(this.colors.primaryFixedDim()); + } + get onPrimaryFixed() { + return this.getArgb(this.colors.onPrimaryFixed()); + } + get onPrimaryFixedVariant() { + return this.getArgb(this.colors.onPrimaryFixedVariant()); + } + get inversePrimary() { + return this.getArgb(this.colors.inversePrimary()); + } + get secondary() { + return this.getArgb(this.colors.secondary()); + } + get secondaryDim() { + let e = this.colors.secondaryDim(); + if (e === void 0) + throw Error("`secondaryDim` color is undefined prior to 2025 spec."); + return this.getArgb(e); + } + get onSecondary() { + return this.getArgb(this.colors.onSecondary()); + } + get secondaryContainer() { + return this.getArgb(this.colors.secondaryContainer()); + } + get onSecondaryContainer() { + return this.getArgb(this.colors.onSecondaryContainer()); + } + get secondaryFixed() { + return this.getArgb(this.colors.secondaryFixed()); + } + get secondaryFixedDim() { + return this.getArgb(this.colors.secondaryFixedDim()); + } + get onSecondaryFixed() { + return this.getArgb(this.colors.onSecondaryFixed()); + } + get onSecondaryFixedVariant() { + return this.getArgb(this.colors.onSecondaryFixedVariant()); + } + get tertiary() { + return this.getArgb(this.colors.tertiary()); + } + get tertiaryDim() { + let e = this.colors.tertiaryDim(); + if (e === void 0) + throw Error("`tertiaryDim` color is undefined prior to 2025 spec."); + return this.getArgb(e); + } + get onTertiary() { + return this.getArgb(this.colors.onTertiary()); + } + get tertiaryContainer() { + return this.getArgb(this.colors.tertiaryContainer()); + } + get onTertiaryContainer() { + return this.getArgb(this.colors.onTertiaryContainer()); + } + get tertiaryFixed() { + return this.getArgb(this.colors.tertiaryFixed()); + } + get tertiaryFixedDim() { + return this.getArgb(this.colors.tertiaryFixedDim()); + } + get onTertiaryFixed() { + return this.getArgb(this.colors.onTertiaryFixed()); + } + get onTertiaryFixedVariant() { + return this.getArgb(this.colors.onTertiaryFixedVariant()); + } + get error() { + return this.getArgb(this.colors.error()); + } + get errorDim() { + let e = this.colors.errorDim(); + if (e === void 0) + throw Error("`errorDim` color is undefined prior to 2025 spec."); + return this.getArgb(e); + } + get onError() { + return this.getArgb(this.colors.onError()); + } + get errorContainer() { + return this.getArgb(this.colors.errorContainer()); + } + get onErrorContainer() { + return this.getArgb(this.colors.onErrorContainer()); + } +} +class dqe { + getPrimaryPalette(e, t, n, r, o) { + switch (e) { + case yt.CONTENT: + case yt.FIDELITY: + return Wn.fromHueAndChroma(t.hue, t.chroma); + case yt.FRUIT_SALAD: + return Wn.fromHueAndChroma(nf(t.hue - 50), 48); + case yt.MONOCHROME: + return Wn.fromHueAndChroma(t.hue, 0); + case yt.NEUTRAL: + return Wn.fromHueAndChroma(t.hue, 12); + case yt.RAINBOW: + return Wn.fromHueAndChroma(t.hue, 48); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, 36); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma(nf(t.hue + 240), 40); + case yt.VIBRANT: + return Wn.fromHueAndChroma(t.hue, 200); + default: + throw Error(`Unsupported variant: ${e}`); + } + } + getSecondaryPalette(e, t, n, r, o) { + switch (e) { + case yt.CONTENT: + case yt.FIDELITY: + return Wn.fromHueAndChroma( + t.hue, + Math.max(t.chroma - 32, t.chroma * 0.5), + ); + case yt.FRUIT_SALAD: + return Wn.fromHueAndChroma(nf(t.hue - 50), 36); + case yt.MONOCHROME: + return Wn.fromHueAndChroma(t.hue, 0); + case yt.NEUTRAL: + return Wn.fromHueAndChroma(t.hue, 8); + case yt.RAINBOW: + return Wn.fromHueAndChroma(t.hue, 16); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, 16); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 21, 51, 121, 151, 191, 271, 321, 360], + [45, 95, 45, 20, 45, 90, 45, 45, 45], + ), + 24, + ); + case yt.VIBRANT: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 41, 61, 101, 131, 181, 251, 301, 360], + [18, 15, 10, 12, 15, 18, 15, 12, 12], + ), + 24, + ); + default: + throw Error(`Unsupported variant: ${e}`); + } + } + getTertiaryPalette(e, t, n, r, o) { + switch (e) { + case yt.CONTENT: + return Wn.fromHct(X7.fixIfDisliked(new W7(t).analogous(3, 6)[2])); + case yt.FIDELITY: + return Wn.fromHct(X7.fixIfDisliked(new W7(t).complement)); + case yt.FRUIT_SALAD: + return Wn.fromHueAndChroma(t.hue, 36); + case yt.MONOCHROME: + return Wn.fromHueAndChroma(t.hue, 0); + case yt.NEUTRAL: + return Wn.fromHueAndChroma(t.hue, 16); + case yt.RAINBOW: + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(nf(t.hue + 60), 24); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 21, 51, 121, 151, 191, 271, 321, 360], + [120, 120, 20, 45, 20, 15, 20, 120, 120], + ), + 32, + ); + case yt.VIBRANT: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 41, 61, 101, 131, 181, 251, 301, 360], + [35, 30, 20, 25, 30, 35, 30, 25, 25], + ), + 32, + ); + default: + throw Error(`Unsupported variant: ${e}`); + } + } + getNeutralPalette(e, t, n, r, o) { + switch (e) { + case yt.CONTENT: + case yt.FIDELITY: + return Wn.fromHueAndChroma(t.hue, t.chroma / 8); + case yt.FRUIT_SALAD: + return Wn.fromHueAndChroma(t.hue, 10); + case yt.MONOCHROME: + return Wn.fromHueAndChroma(t.hue, 0); + case yt.NEUTRAL: + return Wn.fromHueAndChroma(t.hue, 2); + case yt.RAINBOW: + return Wn.fromHueAndChroma(t.hue, 0); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, 6); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma(nf(t.hue + 15), 8); + case yt.VIBRANT: + return Wn.fromHueAndChroma(t.hue, 10); + default: + throw Error(`Unsupported variant: ${e}`); + } + } + getNeutralVariantPalette(e, t, n, r, o) { + switch (e) { + case yt.CONTENT: + return Wn.fromHueAndChroma(t.hue, t.chroma / 8 + 4); + case yt.FIDELITY: + return Wn.fromHueAndChroma(t.hue, t.chroma / 8 + 4); + case yt.FRUIT_SALAD: + return Wn.fromHueAndChroma(t.hue, 16); + case yt.MONOCHROME: + return Wn.fromHueAndChroma(t.hue, 0); + case yt.NEUTRAL: + return Wn.fromHueAndChroma(t.hue, 2); + case yt.RAINBOW: + return Wn.fromHueAndChroma(t.hue, 0); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, 8); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma(nf(t.hue + 15), 12); + case yt.VIBRANT: + return Wn.fromHueAndChroma(t.hue, 12); + default: + throw Error(`Unsupported variant: ${e}`); + } + } + getErrorPalette(e, t, n, r, o) { + return; + } +} +function AO(e) { + return e === "2025" ? gzr : hzr; +} +var Wy, hzr, gzr; +var Ov = P(() => { + m1e(); + Xy(); + g1e(); + iqe(); + uqe(); + z0(); + co.DEFAULT_SPEC_VERSION = "2021"; + co.DEFAULT_PLATFORM = "phone"; + Wy = class Wy extends dqe { + getPrimaryPalette(e, t, n, r, o) { + switch (e) { + case yt.NEUTRAL: + return Wn.fromHueAndChroma( + t.hue, + r === "phone" + ? gr.isBlue(t.hue) + ? 12 + : 8 + : gr.isBlue(t.hue) + ? 16 + : 12, + ); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, r === "phone" && n ? 26 : 32); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma(t.hue, r === "phone" ? (n ? 36 : 48) : 40); + case yt.VIBRANT: + return Wn.fromHueAndChroma(t.hue, r === "phone" ? 74 : 56); + default: + return super.getPrimaryPalette(e, t, n, r, o); + } + } + getSecondaryPalette(e, t, n, r, o) { + switch (e) { + case yt.NEUTRAL: + return Wn.fromHueAndChroma( + t.hue, + r === "phone" + ? gr.isBlue(t.hue) + ? 6 + : 4 + : gr.isBlue(t.hue) + ? 10 + : 6, + ); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, 16); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 105, 140, 204, 253, 278, 300, 333, 360], + [-160, 155, -100, 96, -96, -156, -165, -160], + ), + r === "phone" ? (n ? 16 : 24) : 24, + ); + case yt.VIBRANT: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 38, 105, 140, 333, 360], + [-14, 10, -14, 10, -14], + ), + r === "phone" ? 56 : 36, + ); + default: + return super.getSecondaryPalette(e, t, n, r, o); + } + } + getTertiaryPalette(e, t, n, r, o) { + switch (e) { + case yt.NEUTRAL: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 38, 105, 161, 204, 278, 333, 360], + [-32, 26, 10, -39, 24, -15, -32], + ), + r === "phone" ? 20 : 36, + ); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 20, 71, 161, 333, 360], + [-40, 48, -32, 40, -32], + ), + r === "phone" ? 28 : 32, + ); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 105, 140, 204, 253, 278, 300, 333, 360], + [-165, 160, -105, 101, -101, -160, -170, -165], + ), + 48, + ); + case yt.VIBRANT: + return Wn.fromHueAndChroma( + co.getRotatedHue( + t, + [0, 38, 71, 105, 140, 161, 253, 333, 360], + [-72, 35, 24, -24, 62, 50, 62, -72], + ), + 56, + ); + default: + return super.getTertiaryPalette(e, t, n, r, o); + } + } + static getExpressiveNeutralHue(e) { + return co.getRotatedHue( + e, + [0, 71, 124, 253, 278, 300, 360], + [10, 0, 10, 0, 10, 0], + ); + } + static getExpressiveNeutralChroma(e, t, n) { + let r = Wy.getExpressiveNeutralHue(e); + return n === "phone" ? (t ? (gr.isYellow(r) ? 6 : 14) : 18) : 12; + } + static getVibrantNeutralHue(e) { + return co.getRotatedHue( + e, + [0, 38, 105, 140, 333, 360], + [-14, 10, -14, 10, -14], + ); + } + static getVibrantNeutralChroma(e, t) { + let n = Wy.getVibrantNeutralHue(e); + return t === "phone" ? 28 : gr.isBlue(n) ? 28 : 20; + } + getNeutralPalette(e, t, n, r, o) { + switch (e) { + case yt.NEUTRAL: + return Wn.fromHueAndChroma(t.hue, r === "phone" ? 1.4 : 6); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, r === "phone" ? 5 : 10); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma( + Wy.getExpressiveNeutralHue(t), + Wy.getExpressiveNeutralChroma(t, n, r), + ); + case yt.VIBRANT: + return Wn.fromHueAndChroma( + Wy.getVibrantNeutralHue(t), + Wy.getVibrantNeutralChroma(t, r), + ); + default: + return super.getNeutralPalette(e, t, n, r, o); + } + } + getNeutralVariantPalette(e, t, n, r, o) { + switch (e) { + case yt.NEUTRAL: + return Wn.fromHueAndChroma(t.hue, (r === "phone" ? 1.4 : 6) * 2.2); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(t.hue, (r === "phone" ? 5 : 10) * 1.7); + case yt.EXPRESSIVE: + let a = Wy.getExpressiveNeutralHue(t), + i = Wy.getExpressiveNeutralChroma(t, n, r); + return Wn.fromHueAndChroma(a, i * (a >= 105 && a < 125 ? 1.6 : 2.3)); + case yt.VIBRANT: + let s = Wy.getVibrantNeutralHue(t), + l = Wy.getVibrantNeutralChroma(t, r); + return Wn.fromHueAndChroma(s, l * 1.29); + default: + return super.getNeutralVariantPalette(e, t, n, r, o); + } + } + getErrorPalette(e, t, n, r, o) { + let a = co.getPiecewiseHue( + t, + [0, 3, 13, 23, 33, 43, 153, 273, 360], + [12, 22, 32, 12, 22, 32, 22, 12], + ); + switch (e) { + case yt.NEUTRAL: + return Wn.fromHueAndChroma(a, r === "phone" ? 50 : 40); + case yt.TONAL_SPOT: + return Wn.fromHueAndChroma(a, r === "phone" ? 60 : 48); + case yt.EXPRESSIVE: + return Wn.fromHueAndChroma(a, r === "phone" ? 64 : 48); + case yt.VIBRANT: + return Wn.fromHueAndChroma(a, r === "phone" ? 80 : 60); + default: + return super.getErrorPalette(e, t, n, r, o); + } + } + }; + ((hzr = new dqe()), (gzr = new Wy())); +}); +var YW = P(() => { + Xy(); + g1e(); +}); +var m2n = P(() => { + N0(); +}); +var pqe = P(() => { + m2n(); +}); +var fqe = P(() => { + N0(); +}); +var mqe = P(() => { + N0(); + fqe(); +}); +var hqe = P(() => { + pqe(); + mqe(); +}); +var gqe = P(() => { + YW(); +}); +var g2n = P(() => { + YW(); +}); +var yqe; +var y2n = P(() => { + Ov(); + z0(); + yqe = class yqe extends co { + constructor(e, t, n, r = co.DEFAULT_SPEC_VERSION, o = co.DEFAULT_PLATFORM) { + super({ + sourceColorHct: e, + variant: yt.CONTENT, + contrastLevel: n, + isDark: t, + platform: o, + specVersion: r, + }); + } + }; +}); +var vqe; +var v2n = P(() => { + Ov(); + z0(); + vqe = class vqe extends co { + constructor(e, t, n, r = co.DEFAULT_SPEC_VERSION, o = co.DEFAULT_PLATFORM) { + super({ + sourceColorHct: e, + variant: yt.EXPRESSIVE, + contrastLevel: n, + isDark: t, + platform: o, + specVersion: r, + }); + } + }; +}); +var bqe; +var b2n = P(() => { + Ov(); + z0(); + bqe = class bqe extends co { + constructor(e, t, n, r = co.DEFAULT_SPEC_VERSION, o = co.DEFAULT_PLATFORM) { + super({ + sourceColorHct: e, + variant: yt.FIDELITY, + contrastLevel: n, + isDark: t, + platform: o, + specVersion: r, + }); + } + }; +}); +var x2n = P(() => { + Ov(); + z0(); +}); +var xqe; +var A2n = P(() => { + Ov(); + z0(); + xqe = class xqe extends co { + constructor(e, t, n, r = co.DEFAULT_SPEC_VERSION, o = co.DEFAULT_PLATFORM) { + super({ + sourceColorHct: e, + variant: yt.MONOCHROME, + contrastLevel: n, + isDark: t, + platform: o, + specVersion: r, + }); + } + }; +}); +var Aqe; +var w2n = P(() => { + Ov(); + z0(); + Aqe = class Aqe extends co { + constructor(e, t, n, r = co.DEFAULT_SPEC_VERSION, o = co.DEFAULT_PLATFORM) { + super({ + sourceColorHct: e, + variant: yt.NEUTRAL, + contrastLevel: n, + isDark: t, + platform: o, + specVersion: r, + }); + } + }; +}); +var S2n = P(() => { + Ov(); + z0(); +}); +var wqe; +var C2n = P(() => { + Ov(); + z0(); + wqe = class wqe extends co { + constructor(e, t, n, r = co.DEFAULT_SPEC_VERSION, o = co.DEFAULT_PLATFORM) { + super({ + sourceColorHct: e, + variant: yt.TONAL_SPOT, + contrastLevel: n, + isDark: t, + platform: o, + specVersion: r, + }); + } + }; +}); +var Sqe; +var E2n = P(() => { + Ov(); + z0(); + Sqe = class Sqe extends co { + constructor(e, t, n, r = co.DEFAULT_SPEC_VERSION, o = co.DEFAULT_PLATFORM) { + super({ + sourceColorHct: e, + variant: yt.VIBRANT, + contrastLevel: n, + isDark: t, + platform: o, + specVersion: r, + }); + } + }; +}); +function vzr(e, t) { + if (e.score > t.score) return -1; + else if (e.score < t.score) return 1; + return 0; +} +class Uh { + constructor() {} + static score(e, t) { + let { desired: n, fallbackColorARGB: r, filter: o } = { ...yzr, ...t }, + a = [], + i = Array(360).fill(0), + s = 0; + for (let [p, f] of e.entries()) { + let m = gr.fromInt(p); + a.push(m); + let g = Math.floor(m.hue); + ((i[g] += f), (s += f)); + } + let l = Array(360).fill(0); + for (let p = 0; p < 360; p++) { + let f = i[p] / s; + for (let m = p - 14; m < p + 16; m++) { + let g = bO(m); + l[g] += f; + } + } + let c = []; + for (let p of a) { + let f = bO(Math.round(p.hue)), + m = l[f]; + if ( + o && + (p.chroma < Uh.CUTOFF_CHROMA || m <= Uh.CUTOFF_EXCITED_PROPORTION) + ) + continue; + let g = m * 100 * Uh.WEIGHT_PROPORTION, + v = + p.chroma < Uh.TARGET_CHROMA + ? Uh.WEIGHT_CHROMA_BELOW + : Uh.WEIGHT_CHROMA_ABOVE, + y = (p.chroma - Uh.TARGET_CHROMA) * v, + x = g + y; + c.push({ hct: p, score: x }); + } + c.sort(vzr); + let u = []; + for (let p = 90; p >= 15; p--) { + u.length = 0; + for (let { hct: f } of c) { + if (!u.find((g) => tqe(f.hue, g.hue) < p)) u.push(f); + if (u.length >= n) break; + } + if (u.length >= n) break; + } + let d = []; + if (u.length === 0) d.push(r); + for (let p of u) d.push(p.toInt()); + return d; + } +} +var yzr; +var Cqe = P(() => { + Xy(); + yzr = { desired: 4, fallbackColorARGB: 4282549748, filter: !0 }; + Uh.TARGET_CHROMA = 48; + Uh.WEIGHT_PROPORTION = 0.7; + Uh.WEIGHT_CHROMA_ABOVE = 0.3; + Uh.WEIGHT_CHROMA_BELOW = 0.1; + Uh.CUTOFF_CHROMA = 5; + Uh.CUTOFF_EXCITED_PROPORTION = 0.01; +}); +function Eqe(e) { + let t = GW(e), + n = qW(e), + r = ZW(e), + o = [t.toString(16), n.toString(16), r.toString(16)]; + for (let [a, i] of o.entries()) if (i.length === 1) o[a] = "0" + i; + return "#" + o.join(""); +} +function I2n(e) { + e = e.replace("#", ""); + let t = e.length === 3, + n = e.length === 6, + r = e.length === 8; + if (!t && !n && !r) throw Error("unexpected hex " + e); + let o = 0, + a = 0, + i = 0; + if (t) + ((o = mS(e.slice(0, 1).repeat(2))), + (a = mS(e.slice(1, 2).repeat(2))), + (i = mS(e.slice(2, 3).repeat(2)))); + else if (n) + ((o = mS(e.slice(0, 2))), (a = mS(e.slice(2, 4))), (i = mS(e.slice(4, 6)))); + else if (r) + ((o = mS(e.slice(2, 4))), (a = mS(e.slice(4, 6))), (i = mS(e.slice(6, 8)))); + return (-16777216 | ((o & 255) << 16) | ((a & 255) << 8) | (i & 255)) >>> 0; +} +function mS(e) { + return parseInt(e, 16); +} +var Iqe = P(() => { + N0(); +}); +var Tqe = P(() => { + hqe(); + Cqe(); + N0(); +}); +var T2n = P(() => { + oqe(); + YW(); + gqe(); + Tqe(); + Iqe(); +}); +var k2n = P(() => { + oqe(); + aqe(); + m1e(); + h1e(); + Ov(); + uqe(); + z0(); + WW(); + Xy(); + XW(); + YW(); + g1e(); + hqe(); + fqe(); + pqe(); + mqe(); + gqe(); + g2n(); + y2n(); + v2n(); + b2n(); + x2n(); + A2n(); + w2n(); + S2n(); + C2n(); + E2n(); + Cqe(); + iqe(); + N0(); + Iqe(); + Tqe(); + T2n(); +}); +function Azr(e) { + return e.replace(/([A-Z])/g, "-$1").toLowerCase(); +} +function wzr(e) { + let t = e.contrastLevel ?? e.contrast ?? 0; + if (!Number.isFinite(t) || t < -1 || t > 1) + throw RangeError("M3 contrast must be a finite number between -1 and 1"); + return t; +} +function Szr(e) { + let t = /^#?([\da-f]{3}|[\da-f]{6})$/i.exec(e.trim()); + if (!t) throw TypeError(`Invalid M3 seed color: ${e}`); + let n = t[1]; + return `#${(n.length === 3 ? [...n].map((r) => r + r).join("") : n).toLowerCase()}`; +} +function Czr(e, t, n, r) { + switch (r) { + case "content": + return new yqe(e, t, n); + case "fidelity": + return new bqe(e, t, n); + case "expressive": + return new vqe(e, t, n); + case "vibrant": + return new Sqe(e, t, n); + case "neutral": + return new Aqe(e, t, n); + case "monochrome": + return new xqe(e, t, n); + case "tonalSpot": + return new wqe(e, t, n); + default: + throw TypeError(`Unknown M3 scheme variant: ${r}`); + } +} +function y1e(e, t = {}) { + let n = t.dark ?? !1, + r = wzr(t), + o = t.variant ?? "tonalSpot", + a = gr.fromInt(I2n(Szr(e))), + i = Czr(a, n, r, o), + s = {}; + for (let l of bzr) { + let c = xzr[l]; + if (!c) continue; + s[`--md-sys-color-${Azr(l)}`] = Eqe(c.getArgb(i)); + } + return s; +} +var bzr, xzr, R2n, P2n; +var v1e = P(() => { + k2n(); + ((bzr = [ + "background", + "onBackground", + "surface", + "surfaceDim", + "surfaceBright", + "surfaceContainerLowest", + "surfaceContainerLow", + "surfaceContainer", + "surfaceContainerHigh", + "surfaceContainerHighest", + "onSurface", + "surfaceVariant", + "onSurfaceVariant", + "inverseSurface", + "inverseOnSurface", + "outline", + "outlineVariant", + "shadow", + "scrim", + "surfaceTint", + "primary", + "onPrimary", + "primaryContainer", + "onPrimaryContainer", + "inversePrimary", + "secondary", + "onSecondary", + "secondaryContainer", + "onSecondaryContainer", + "tertiary", + "onTertiary", + "tertiaryContainer", + "onTertiaryContainer", + "error", + "onError", + "errorContainer", + "onErrorContainer", + "primaryFixed", + "primaryFixedDim", + "onPrimaryFixed", + "onPrimaryFixedVariant", + "secondaryFixed", + "secondaryFixedDim", + "onSecondaryFixed", + "onSecondaryFixedVariant", + "tertiaryFixed", + "tertiaryFixedDim", + "onTertiaryFixed", + "onTertiaryFixedVariant", + ]), + (xzr = ut)); + ((R2n = [ + ["background", "surface"], + ["foreground", "on-surface"], + ["card", "surface-container-low"], + ["card-foreground", "on-surface"], + ["popover", "surface-container"], + ["popover-foreground", "on-surface"], + ["primary", "primary"], + ["primary-foreground", "on-primary"], + ["secondary", "secondary-container"], + ["secondary-foreground", "on-secondary-container"], + ["muted", "surface-variant"], + ["muted-foreground", "on-surface-variant"], + ["accent", "tertiary-container"], + ["accent-foreground", "on-tertiary-container"], + ["destructive", "error"], + ["destructive-foreground", "on-error"], + ["border", "outline-variant"], + ["input", "outline-variant"], + ["ring", "primary"], + ]), + (P2n = R2n)); +}); +function D2n(e) { + if (e < wO.medium) return "compact"; + if (e < wO.expanded) return "medium"; + return "expanded"; +} +function kqe(e) { + if (e < I5.medium) return "compact"; + if (e < I5.expanded) return "medium"; + if (e < I5.large) return "expanded"; + if (e < I5["extra-large"]) return "large"; + return "extra-large"; +} +function b1e(e) { + return e === "compact" ? 16 : 24; +} +function KW(e) { + if (e === "compact") return "bar"; + if (e === "medium" || e === "expanded") return "rail-collapsed"; + return "rail-expanded"; +} +function JW(e) { + if (e === "compact" || e === "medium") return 1; + if (e === "expanded" || e === "large") return 2; + return 3; +} +var I5, M2n, wO; +var x1e = P(() => { + ((I5 = { + compact: 0, + medium: 600, + expanded: 840, + large: 1200, + "extra-large": 1600, + }), + (M2n = ["compact", "medium", "expanded", "large", "extra-large"]), + (wO = { compact: 0, medium: 480, expanded: 900 })); +}); +var Ezr; +var L2n = P(() => { + x1e(); + Ezr = Object.freeze({ + breakpoints: I5, + compactTouchTargetDp: 48, + baseGridDp: 4, + mediumMarginDp: 24, + compactMarginDp: 16, + platformAdapters: ["tauri-cef", "windows-11", "gnome-libadwaita", "cosmic"], + }); +}); +var Izr; +var B2n = P(() => { + Izr = Object.freeze({ + tokens: "@aphrody/m3-tokens", + theme: "@aphrody/m3-theme", + webComponents: "@aphrody/material-web", + react: "@aphrody/m3-react", + primitives: "@aphrody/m3-primitives", + forms: "@aphrody/m3-forms", + ai: "@aphrody/m3-ai", + explorer: "@aphrody/m3-explorer", + reader: "@aphrody/m3-reader", + icons: "crates/ui/bun/icons/material-symbols", + native: "crates/ui/m3-tokens", + shell: "crates/aphrody-app", + showcase: "examples/m3-spaceui-showcase", + }); +}); +var Tzr, kzr, Rzr; +var O2n = P(() => { + ((Tzr = Object.freeze({ + blue: "#3186FF", + purple: "#9B72CB", + pink: "#D96570", + yellow: "#FFCC00", + green: "#0EBC5F", + red: "#FF4641", + titleBlue: "#4285F4", + titlePurple: "#9B72CB", + titlePink: "#D96570", + })), + (kzr = Object.freeze({ + spectrumShift: + "linear-gradient(74deg, #4285F4 0%, #9B72CB 18%, #D96570 35%, #D96570 50%, #9B72CB 70%, #4285F4 100%)", + sparkle: + "radial-gradient(circle, rgba(66, 133, 244, 0.15) 0%, rgba(155, 114, 203, 0.1) 50%, transparent 70%)", + warmTone: "linear-gradient(45deg, #FFCC00 0%, #D96570 100%)", + shimmer: + "linear-gradient(90deg, transparent 0%, color-mix(in srgb, white 35%, transparent) 50%, transparent 100%)", + })), + (Rzr = Object.freeze({ + promptBar: "32px", + promptBarInitial: "40px", + promptBarDocked: "24px 24px 0 0", + message: "24px", + chip: "16px", + card: "16px", + pill: "9999px", + }))); +}); +function F2n(e, t = {}) { + let n = t.target ?? (typeof document < "u" ? document.documentElement : null); + if (!n) return; + let r = t.dark; + if (r === void 0) + r = + n.classList.contains("dark") || + (typeof window < "u" && + window.matchMedia("(prefers-color-scheme: dark)").matches); + let o = y1e(e, { + dark: r, + contrastLevel: t.contrastLevel, + variant: t.variant, + }); + if (r) (n.classList.add("dark"), n.style.setProperty("color-scheme", "dark")); + else + (n.classList.remove("dark"), n.style.setProperty("color-scheme", "light")); + for (let [a, i] of Object.entries(o)) n.style.setProperty(a, i); + for (let [a, i] of P2n) + (n.style.setProperty(`--${a}`, `var(--md-sys-color-${i})`), + n.style.setProperty(`--color-${a}`, `var(--md-sys-color-${i})`)); +} +var U2n = P(() => { + v1e(); + L2n(); + B2n(); + O2n(); + v1e(); +}); +function Pzr(e) { + if (typeof window > "u") return () => {}; + let t = window.matchMedia(N2n); + return ( + t.addEventListener("change", e), + () => t.removeEventListener("change", e) + ); +} +function Mzr() { + return typeof window < "u" && window.matchMedia(N2n).matches; +} +function _2n({ + children: e, + defaultSeedColor: t = "#6750a4", + defaultThemeMode: n = "system", + defaultContrastLevel: r = 0, + defaultVariant: o = "tonalSpot", + target: a, +}) { + let [i, s] = Nh.useState(n), + [l, c] = Nh.useState(t), + [u, d] = Nh.useState(r), + [p, f] = Nh.useState(o), + m = Nh.useSyncExternalStore(Pzr, Mzr, () => !1), + g = i === "system" ? (m ? "dark" : "light") : i; + Nh.useEffect(() => { + if (typeof window > "u") return; + F2n(l, { + dark: g === "dark", + target: a ?? document.documentElement, + contrastLevel: u, + variant: p, + }); + }, [l, g, a, u, p]); + let v = Nh.useMemo( + () => ({ + themeMode: i, + seedColor: l, + resolvedTheme: g, + contrastLevel: u, + variant: p, + setThemeMode: s, + setSeedColor: c, + setContrastLevel: d, + setVariant: f, + }), + [i, l, g, u, p], + ); + return h(z2n.Provider, { value: v, children: e }); +} +function dA() { + let e = Nh.useContext(z2n); + if (e === void 0) + throw Error("useM3Theme must be used within an M3ThemeProvider"); + return e; +} +var Nh, + N2n = "(prefers-color-scheme: dark)", + z2n; +var Y7 = P(() => { + U2n(); + le(); + Nh = z(re(), 1); + z2n = Nh.createContext(void 0); +}); +var V2n; +var H2n = P(() => { + V2n = [ + { + name: "@aphrody/app-ui", + version: "0.1.0", + description: "", + dir: "packages/app-ui", + kind: "package", + workspace: !0, + private: !1, + exports: 3, + bin: [], + }, + { + name: "@aphrody/assets", + version: "0.1.1", + description: + "File-kind icons, extension badges, brand logos, images, sounds, videos and lottie animations, with icon resolution (getIcon, getLayeredIcon, getBeardedIcon, getIcon20): the Spacedrive @sd/assets set, merged with SpaceUI'", + dir: "packages/assets", + kind: "package", + workspace: !0, + private: !1, + exports: 13, + bin: [], + }, + { + name: "@aphrody/canvas", + version: "1.0.9-aphrody.4", + description: + "Aphrody native Skia canvas facade over the pinned upstream @napi-rs/canvas runtime", + dir: "packages/canvas", + kind: "package", + workspace: !0, + private: !1, + exports: 4, + bin: [], + }, + { + name: "@aphrody/eslint-plugin-m3", + version: "3.3.4", + description: + "Lint rules for sites consuming material-web (@aphrody/m3-react + Material Symbols) — runs under oxlint (jsPlugins) and ESLint.", + dir: "packages/eslint-plugin-m3", + kind: "package", + workspace: !0, + private: !1, + exports: 2, + bin: [], + }, + { + name: "@aphrody/identity", + version: "0.1.1", + description: + "Aphrody product identity for the M3 surfaces: brand emblem and icons, the Aphrody avatar, and the animated pet sprite (atlas, timed tracks, 16-way gaze) drawn from crates/ui/identity.", + dir: "packages/identity", + kind: "package", + workspace: !0, + private: !1, + exports: 4, + bin: [], + }, + { + name: "@aphrody/m3", + version: "3.3.7", + description: + "The @aphrody Material Design 3 framework for Bun: one plugin (Tailwind v4, Sass through Rust, m3:* virtual theme/font modules, ?url imports), serveM3 (Bun.serve + HMR + proxy), buildM3 (Bun.build, Tauri webview layout), ", + dir: "packages/m3", + kind: "package", + workspace: !0, + private: !1, + exports: 18, + bin: ["m3"], + }, + { + name: "@aphrody/m3-ai", + version: "3.3.7", + description: + "Material Design 3 agent-interaction components (tool calls, markdown, chat composer, workers, tasks): the SpaceUI (@spacedrive/ai) set rebuilt on @aphrody/m3-primitives.", + dir: "packages/m3-ai", + kind: "package", + workspace: !0, + private: !1, + exports: 2, + bin: [], + }, + { + name: "@aphrody/m3-baseui", + version: "3.3.7", + description: + "Base UI (aphrody-labs fork, forks/base-ui) with Material 3 styling: every Base UI primitive wrapped with M3 token classes; static CSS, no CSS-in-JS runtime, per-component modules and sheets.", + dir: "packages/m3-baseui", + kind: "package", + workspace: !0, + private: !1, + exports: 5, + bin: [], + }, + { + name: "@aphrody/m3-bun", + version: "3.3.7", + description: + "The one Bun-native tool for M3 apps: a single Bun plugin and the m3-bun CLI that build, minify, serve (HMR), compile to one executable, package and generate deploy configs (Docker, systemd, nginx, Vercel, Fly.io, Cloudfl", + dir: "packages/m3-bun", + kind: "package", + workspace: !0, + private: !1, + exports: 9, + bin: ["m3-bun"], + }, + { + name: "@aphrody/m3-codemods", + version: "3.3.7", + description: + "Codemods MUI React -> @aphrody/m3-react (Bun, sans dépendance runtime) + règles ast-grep", + dir: "packages/m3-codemods", + kind: "package", + workspace: !0, + private: !1, + exports: 3, + bin: [], + }, + { + name: "@aphrody/m3-config", + version: "3.3.7", + description: + "Shared build, typecheck and test presets for the @aphrody Material Design 3 packages: tsconfig, the Bun.build preset and the happy-dom test preload.", + dir: "packages/m3-config", + kind: "package", + workspace: !0, + private: !1, + exports: 6, + bin: [], + }, + { + name: "@aphrody/m3-design", + version: "3.3.7", + description: + "Automated design engine for Material Design 3 and Google Design", + dir: "packages/m3-design", + kind: "package", + workspace: !0, + private: !1, + exports: 0, + bin: [], + }, + { + name: "@aphrody/m3-example", + version: "0.1.0", + description: + "The m3 example app: App Router (React Server Components, server actions, streaming SSR, static generation), M3 theme, Tailwind v4 and the M3 DataTable, on Bun only.", + dir: "apps/example", + kind: "app", + workspace: !0, + private: !0, + exports: 0, + bin: [], + }, + { + name: "@aphrody/m3-explorer", + version: "3.3.7", + description: + "Material Design 3 file-management components (tag pill, inline rename, file thumb, grid item): the SpaceUI (@spacedrive/explorer) set rebuilt on @aphrody/m3-primitives.", + dir: "packages/m3-explorer", + kind: "package", + workspace: !0, + private: !1, + exports: 1, + bin: [], + }, + { + name: "@aphrody/m3-fonts", + version: "3.3.7", + description: + "Aphrody M3 typefaces: Google Sans Flex, Google Sans Code, Roboto Flex, Roboto Mono and Material Symbols with Japanese fallbacks (Noto Sans JP, M PLUS 1 Code) as @font-face CSS and a typed manifest.", + dir: "packages/m3-fonts", + kind: "package", + workspace: !0, + private: !1, + exports: 5, + bin: [], + }, + { + name: "@aphrody/m3-forms", + version: "3.3.7", + description: + "Material Design 3 form fields (react-hook-form) on @aphrody/m3-primitives: the SpaceUI (@spacedrive/forms) set, M3-styled.", + dir: "packages/m3-forms", + kind: "package", + workspace: !0, + private: !1, + exports: 1, + bin: [], + }, + { + name: "@aphrody/m3-front", + version: "3.3.7", + description: + "Framework-agnostic Material 3 front layer: web component, lazy material-web registration and window-class observation on top of @aphrody/material-web and @aphrody/m3-tokens.", + dir: "packages/m3-front", + kind: "package", + workspace: !0, + private: !1, + exports: 5, + bin: [], + }, + { + name: "@aphrody/m3-icons", + version: "3.3.7", + description: + "Material Symbols icons for @aphrody/m3: pixel-perfect inline SVG rendered from the aphrody-bun icons module (variable fonts), no icon font shipped at runtime.", + dir: "packages/m3-icons", + kind: "package", + workspace: !0, + private: !1, + exports: 6, + bin: [], + }, + { + name: "@aphrody/m3-mcp", + version: "3.3.7", + description: + "Design/UI tool host of aphrody-m3 (served through the single aphrody-mcp): packages, M3 tokens (lookup, validate), docs search, research links, templates, Material Symbols SVG, SVG to Tauri icons.", + dir: "packages/m3-mcp", + kind: "package", + workspace: !0, + private: !1, + exports: 2, + bin: [], + }, + { + name: "@aphrody/m3-motion", + version: "3.3.7", + description: + "Material 3 animation plugin powered by Motion (formerly Framer Motion)", + dir: "packages/m3-motion", + kind: "package", + workspace: !0, + private: !1, + exports: 1, + bin: [], + }, + { + name: "@aphrody/m3-next", + version: "3.3.7", + description: + "Next.js 16 App Router integration for the @aphrody Material Design 3 layer: withM3 config (React Compiler, Cache Components, typed routes, Tauri static export), M3Html/M3Root server components, a light 'use client' theme", + dir: "packages/m3-next", + kind: "package", + workspace: !0, + private: !1, + exports: 6, + bin: ["m3-next"], + }, + { + name: "@aphrody/m3-next-migrate", + version: "3.3.7", + description: + "Migration analysis, codemods and runtime shims for Next.js 16 components and private-owner native Bun web apps; Tauri 3 source planning requires a registered native host adapter for activation", + dir: "packages/m3-next-migrate", + kind: "package", + workspace: !0, + private: !1, + exports: 16, + bin: ["m3-next-migrate", "next-migrate"], + }, + { + name: "@aphrody/m3-os-themes", + version: "3.3.7", + description: + "Material 3 OS theme generators and installers (Windows 11, GNOME Shell, COSMIC, Chromium browsers) derived from @aphrody/m3-tokens dynamic colour roles.", + dir: "packages/m3-os-themes", + kind: "package", + workspace: !0, + private: !1, + exports: 3, + bin: ["m3-os-themes"], + }, + { + name: "@aphrody/m3-primitives", + version: "3.3.7", + description: + "Material Design 3 React primitives: the SpaceUI (@spacedrive/primitives) component set rebuilt on the M3 roles, shape, typescale, state layers and motion of the aphrody design system.", + dir: "packages/m3-primitives", + kind: "package", + workspace: !0, + private: !1, + exports: 1, + bin: [], + }, + { + name: "@aphrody/m3-react", + version: "3.3.7", + description: + "React wrappers (@lit/react createComponent) for every element of the @aphrody/material-web fork.", + dir: "packages/m3-react", + kind: "package", + workspace: !0, + private: !1, + exports: 8, + bin: [], + }, + { + name: "@aphrody/m3-reader", + version: "3.3.7", + description: "Material 3 manga and illustrated book readers for React", + dir: "packages/m3-reader", + kind: "package", + workspace: !0, + private: !1, + exports: 4, + bin: [], + }, + { + name: "@aphrody/m3-tailwind", + version: "3.3.7", + description: + "Tailwind v4 CSS-first preset for Material 3: generates @theme (colour roles, shape, typescale, elevation, easing) from @aphrody/m3-tokens.", + dir: "packages/m3-tailwind", + kind: "package", + workspace: !0, + private: !1, + exports: 3, + bin: [], + }, + { + name: "@aphrody/m3-theme", + version: "3.3.7", + description: + "Canonical Material 3 fusion sheets: tokens.css (M3 + shadcn/ui + Tailwind v4 aliases), tailwind.css (every M3 system token as a Tailwind v4 utility) and spaceui.css (the SpaceUI themes rebuilt as M3 dynamic schemes, with", + dir: "packages/m3-theme", + kind: "package", + workspace: !0, + private: !1, + exports: 6, + bin: [], + }, + { + name: "@aphrody/m3-tokens", + version: "3.3.7", + description: + "Material 3 design tokens (--md-sys-*) for the @aphrody/material-web fork: MUI-theme → M3 token CSS generation and runtime Material You dynamic colour via material-color-utilities.", + dir: "packages/m3-tokens", + kind: "package", + workspace: !0, + private: !1, + exports: 9, + bin: [], + }, + { + name: "@aphrody/material-design-icons", + version: "1.0.1", + description: + "Material Symbols SVG catalogue (forks/material-design-icons) with SVG to ICO/ICNS sync for Tauri desktop icons.", + dir: "packages/material-design-icons", + kind: "package", + workspace: !0, + private: !1, + exports: 1, + bin: ["m3-svg-to-ico"], + }, + { + name: "@aphrody/scaffold", + version: "1.0.0-canary.1", + description: + "The single project scaffolder of the UI stack: Tauri 3 shell (pins, config, capabilities, icon), M3 web and app templates, the canonical example and a writer that never overwrites. Used by m3 new, m3-next-migrate and web", + dir: "packages/scaffold", + kind: "package", + workspace: !0, + private: !1, + exports: 7, + bin: ["aphrody-scaffold"], + }, + { + name: "@aphrody/web-to-tauri", + version: "1.0.0-canary", + description: + "Converts a website, web app or built web bundle into a native Tauri 3 app: probes the target, plans a regression-free mode (remote, bundle, sidecar), generates the project and checks parity against the original.", + dir: "packages/web-to-tauri", + kind: "package", + workspace: !0, + private: !1, + exports: 8, + bin: ["web-to-tauri"], + }, + ]; +}); +var T5; +var A1e = P(() => { + H2n(); + T5 = V2n; +}); +function jW({ html: e, className: t = "", small: n = !1, label: r }) { + return h("span", { + className: `${n ? "m3-icon-sm" : "m3-icon"} inline-flex shrink-0 ${t}`, + role: r ? "img" : void 0, + "aria-label": r, + "aria-hidden": r ? void 0 : !0, + dangerouslySetInnerHTML: { __html: e }, + }); +} +function Lzr({ name: e }) { + let t = T5.find((n) => n.name === e); + return M("span", { + className: + "inline-flex items-center gap-1 rounded-small border border-outline-variant px-2 py-0.5 text-label-small text-on-surface-variant", + title: t?.description ?? e, + children: [ + h("span", { className: "font-medium text-on-surface", children: e }), + t ? h("span", { children: t.version }) : null, + ], + }); +} +function Rqe({ names: e }) { + return h("div", { + className: "flex flex-wrap gap-1.5", + children: e.map((t) => h(Lzr, { name: t }, t)), + }); +} +function Cr({ title: e, description: t, children: n, aside: r }) { + return M("section", { + className: "flex flex-col gap-3", + "aria-label": e, + children: [ + M("header", { + className: "flex items-end justify-between gap-4", + children: [ + M("div", { + className: "flex flex-col gap-0.5", + children: [ + h("h2", { + className: "text-title-large text-on-surface", + children: e, + }), + t + ? h("p", { + className: "text-body-medium text-on-surface-variant", + children: t, + }) + : null, + ], + }), + r, + ], + }), + n, + ], + }); +} +function Br({ children: e, className: t = "", style: n }) { + return h("div", { + className: `rounded-large bg-surface-container p-4 ${t}`, + style: n, + children: e, + }); +} +function qs({ children: e }) { + return h("pre", { className: "m3-code m3-scroll max-h-72", children: e }); +} +function w1e({ name: e, value: t, on: n }) { + return M("div", { + className: "flex flex-col gap-1", + children: [ + h("div", { + className: + "flex h-16 items-end rounded-medium border border-outline-variant p-2 text-label-small", + style: { background: t, color: n }, + title: `${e} ${t}`, + children: t, + }), + h("span", { + className: "truncate text-label-small text-on-surface-variant", + children: e, + }), + ], + }); +} +function Ni({ + title: e, + summary: t, + packages: n, + children: r, + aside: o, + panes: a, +}) { + let i = o && a >= 2; + return M("div", { + className: "mx-auto flex w-full max-w-[1800px] gap-6 p-(--m3-gutter)", + children: [ + M("article", { + className: "flex min-w-0 flex-1 flex-col gap-6", + "aria-labelledby": "page-title", + children: [ + M("header", { + className: "flex flex-col gap-2", + children: [ + h("h1", { + id: "page-title", + className: "text-headline-large text-on-surface", + children: e, + }), + h("p", { + className: "max-w-3xl text-body-large text-on-surface-variant", + children: t, + }), + h(Rqe, { names: n }), + ], + }), + r, + o && !i + ? h("div", { className: "flex flex-col gap-4", children: o }) + : null, + ], + }), + i + ? h("aside", { + className: + "m3-scroll sticky top-0 hidden max-h-[calc(100vh-6rem)] w-[22rem] shrink-0 flex-col gap-4 self-start overflow-y-auto medium:flex", + "aria-label": "Supporting pane", + children: o, + }) + : null, + ], + }); +} +var Vm = P(() => { + A1e(); + le(); +}); +var G2n = + ''; +var q2n = + ''; +var Z2n = + ''; +var Q2n = + ''; +var X2n = + ''; +var W2n = + ''; +var Y2n = + ''; +var K2n = + ''; +var S1e = + ''; +var J2n = + ''; +var C1e = + ''; +var j2n = + ''; +var $2n = + ''; +var evn = + ''; +var E1e = + ''; +var tvn = + ''; +var nvn = + ''; +var rvn = + ''; +var ovn = + ''; +var avn = + ''; +var ivn = + ''; +var svn = + ''; +var lvn = + ''; +var cvn = + ''; +var uvn = + ''; +var dvn = + ''; +var pvn = + ''; +var fvn = + ''; +var mvn = + ''; +var hvn = + ''; +var Pqe; +var gvn = P(() => { + Pqe = [ + { + id: "overview", + label: "Overview", + icon: C1e, + iconFilled: j2n, + summary: "Every package of the monorepo, served by this app's own API.", + packages: ["@aphrody/m3", "@aphrody/m3-bun", "@aphrody/m3-config"], + }, + { + id: "theme", + label: "Theme", + icon: E1e, + iconFilled: tvn, + summary: + "Material You roles from a seed: tokens, Tailwind preset, fonts, a scoped .", + packages: [ + "@aphrody/m3-theme", + "@aphrody/m3-tokens", + "@aphrody/m3-front", + "@aphrody/m3-tailwind", + "@aphrody/m3-fonts", + ], + }, + { + id: "components", + label: "Components", + icon: pvn, + iconFilled: fvn, + summary: "The Material Web components through their React wrappers.", + packages: ["@aphrody/m3-react"], + }, + { + id: "primitives", + label: "Primitives", + icon: mvn, + iconFilled: hvn, + summary: "Accessible parts on Base UI, styled with M3 tokens.", + packages: ["@aphrody/m3-primitives", "@aphrody/m3-baseui"], + }, + { + id: "forms", + label: "Forms", + icon: Y2n, + iconFilled: K2n, + summary: + "react-hook-form fields with M3 inputs, validation and descriptions.", + packages: ["@aphrody/m3-forms"], + }, + { + id: "explorer", + label: "Explorer", + icon: S1e, + iconFilled: J2n, + summary: + "A file explorer: list and grid views, thumbnails, tags, rename.", + packages: ["@aphrody/m3-explorer"], + }, + { + id: "motion", + label: "Motion", + icon: $2n, + iconFilled: evn, + summary: + "Springs, easings, shared axis, container transform, list stagger.", + packages: ["@aphrody/m3-motion", "@aphrody/m3-react"], + }, + { + id: "icons", + label: "Icons & fonts", + icon: ivn, + iconFilled: svn, + summary: + "Material Symbols from the forked catalogue, inlined at build time.", + packages: [ + "@aphrody/m3-icons", + "@aphrody/material-design-icons", + "@aphrody/m3-fonts", + ], + }, + { + id: "ai", + label: "AI", + icon: ovn, + iconFilled: avn, + summary: + "A chat transcript, tool calls, markdown and an AG-UI stream from the API.", + packages: ["@aphrody/m3-ai"], + }, + { + id: "reader", + label: "Reader", + icon: nvn, + iconFilled: rvn, + summary: + "Manga and databook readers with paging, vertical scroll and RTL.", + packages: ["@aphrody/m3-reader"], + }, + { + id: "design", + label: "Design", + icon: Z2n, + iconFilled: Q2n, + summary: + "A design brief parsed and turned into an M3 theme by the design engine.", + packages: ["@aphrody/m3-design"], + }, + { + id: "next", + label: "Next", + icon: uvn, + iconFilled: dvn, + summary: + "Metadata, scheme CSS, robots, sitemap and JSON-LD from the Next integration.", + packages: ["@aphrody/m3-next", "@aphrody/m3-next-migrate"], + }, + { + id: "system", + label: "System", + icon: lvn, + iconFilled: cvn, + summary: + "OS themes, scaffolds, MCP tools, codemods and lint rules, computed by the API.", + packages: [ + "@aphrody/m3-os-themes", + "@aphrody/scaffold", + "@aphrody/m3-mcp", + "@aphrody/m3-codemods", + "@aphrody/eslint-plugin-m3", + ], + }, + { + id: "brands", + label: "Brands", + icon: G2n, + iconFilled: q2n, + summary: + "Host-bound UI kits where they resolve, the identity set, canvas and assets.", + packages: [ + "@aphrody/nie-ui", + "@aphrody/identity", + "@aphrody/canvas", + "@aphrody/assets", + ], + }, + { + id: "adaptive", + label: "Adaptive", + icon: X2n, + iconFilled: W2n, + summary: "Window size classes, layout modes and the TV D-pad lab.", + packages: ["@aphrody/m3-tokens", "@aphrody/m3-front"], + }, + ]; +}); +var yvn = + ''; +var bvn = {}; +Xs(bvn, { default: () => vvn }); +function Bzr(e) { + let [t, n] = I1e.useState({}); + return ( + I1e.useEffect(() => { + if (!e) return; + let r = new AbortController(); + return ( + fetch("/api/m3/info", { signal: r.signal }) + .then((o) => + o.ok ? o.json() : Promise.reject(Error(`HTTP ${o.status}`)), + ) + .then((o) => n({ info: o })) + .catch((o) => o.name !== "AbortError" && n({ error: o.message })), + () => r.abort() + ); + }, [e]), + t + ); +} +function vvn({ adaptive: e, host: t = "bun" }) { + let { info: n, error: r } = Bzr(t === "bun"), + o = T5.filter((i) => i.workspace).length, + a = + e.mode === "tv" + ? "grid-cols-3" + : e.width === "compact" + ? "grid-cols-1" + : e.width === "medium" + ? "grid-cols-2" + : "grid-cols-3"; + return M(Ni, { + title: "Aphrody M3 Showcase", + summary: + t === "native" + ? "The real Material 3 packages, together in the Aphrody application. Explore components, forms, motion and the pet's generated theme." + : "Every package of the aphrody-m3 monorepo in one adaptive app. It is built, served and compiled by @aphrody/m3-bun: the UI files and this page's API come from one Bun process.", + packages: ["@aphrody/m3", "@aphrody/m3-bun"], + panes: e.panes, + aside: + t === "bun" + ? M(Br, { + children: [ + h("h3", { + className: "mb-2 text-title-medium", + children: "One process: UI and API", + }), + M("p", { + className: "mb-3 text-body-small text-on-surface-variant", + children: [ + "This card is a live ", + h("code", { children: "GET /api/m3/info" }), + " from the process that served the page.", + ], + }), + n + ? h(qs, { children: JSON.stringify(n, null, 2) }) + : h("p", { + className: "text-body-small text-error", + role: "status", + children: r ? `API unreachable: ${r}` : "Loading…", + }), + ], + }) + : void 0, + children: [ + h(Cr, { + title: "By the numbers", + children: h("div", { + className: "grid grid-cols-2 gap-3 expanded:grid-cols-4", + "data-testid": "stats", + children: [ + [String(T5.length), "packages and apps"], + [String(o), "in the Bun workspace"], + [String(Pqe.length), "showcase pages"], + t === "native" + ? [ + String(T5.filter((i) => !i.private).length), + "reusable packages", + ] + : [n ? `Bun ${n.bun}` : "…", "serving this page"], + ].map(([i, s]) => + M( + Br, + { + children: [ + h("div", { + className: "text-headline-medium text-primary", + children: i, + }), + h("div", { + className: "text-body-small text-on-surface-variant", + children: s, + }), + ], + }, + s, + ), + ), + }), + }), + h(Cr, { + title: "Explore", + description: "Each page imports and runs the packages it names.", + children: h("div", { + className: `grid gap-3 ${a}`, + "data-testid": "destinations", + children: Pqe.filter((i) => i.id !== "overview").map((i) => + M( + "a", + { + href: t === "native" ? `/material-3/${i.id}` : `#/${i.id}`, + "data-dpad": !0, + "data-testid": `card-${i.id}`, + className: + "state-layer flex flex-col gap-2 rounded-large bg-surface-container p-4 text-left", + children: [ + M("span", { + className: + "flex items-center gap-2 text-title-medium text-on-surface", + children: [ + h(jW, { html: i.icon, className: "text-primary" }), + i.label, + h(jW, { + html: yvn, + className: "ml-auto text-on-surface-variant", + small: !0, + }), + ], + }), + h("span", { + className: "text-body-small text-on-surface-variant", + children: i.summary, + }), + h(Rqe, { names: i.packages.slice(0, 3) }), + ], + }, + i.id, + ), + ), + }), + }), + ], + }); +} +var I1e; +var xvn = P(() => { + Vm(); + A1e(); + gvn(); + le(); + I1e = z(re(), 1); +}); +var wvn = {}; +Xs(wvn, { default: () => Avn }); +function Avn({ adaptive: e }) { + let t = dA(), + n = y1e(t.seedColor, { + dark: t.resolvedTheme === "dark", + contrastLevel: t.contrastLevel, + variant: t.variant, + }); + return M(Ni, { + title: "Theme", + summary: + "Derive a complete Material 3 colour scheme from one seed. Changes apply to this whole showcase, including React components and Lit shadow DOM.", + packages: ["@aphrody/m3-theme", "@aphrody/m3-tokens"], + panes: e.panes, + aside: M(Br, { + children: [ + h("h3", { className: "text-title-medium", children: "Current scheme" }), + h(qs, { + children: JSON.stringify( + { + seed: t.seedColor, + mode: t.themeMode, + resolved: t.resolvedTheme, + variant: t.variant, + contrast: t.contrastLevel, + }, + null, + 2, + ), + }), + ], + }), + children: [ + h(Cr, { + title: "Customise the live theme", + children: M(Br, { + className: "grid gap-4 medium:grid-cols-2", + children: [ + M("label", { + className: "flex flex-col gap-2 text-label-large", + children: [ + "Seed colour", + h(Ps, { + type: "color", + value: t.seedColor, + onChange: (r) => t.setSeedColor(r.target.value), + "aria-label": "Seed colour", + }), + ], + }), + M("label", { + className: "flex flex-col gap-2 text-label-large", + children: [ + "Scheme variant", + h("select", { + className: + "h-12 rounded-small border border-outline bg-surface px-3 text-body-large", + value: t.variant, + onChange: (r) => t.setVariant(r.target.value), + children: Ozr.map((r) => h("option", { children: r }, r)), + }), + ], + }), + M("label", { + className: "flex flex-col gap-2 text-label-large", + children: [ + "Colour mode", + h("select", { + className: + "h-12 rounded-small border border-outline bg-surface px-3 text-body-large", + value: t.themeMode, + onChange: (r) => t.setThemeMode(r.target.value), + children: ["light", "dark", "system"].map((r) => + h("option", { children: r }, r), + ), + }), + ], + }), + M("label", { + className: "flex flex-col gap-2 text-label-large", + children: [ + "Contrast: ", + t.contrastLevel, + h("input", { + type: "range", + min: -1, + max: 1, + step: 0.1, + value: t.contrastLevel, + onChange: (r) => t.setContrastLevel(Number(r.target.value)), + }), + h("span", { + className: "text-body-small text-on-surface-variant", + children: "0 is standard; 1 requests maximum contrast.", + }), + ], + }), + h(Vt, { + variant: "outlined", + onClick: () => { + (t.setSeedColor("#8c6c88"), + t.setVariant("tonalSpot"), + t.setThemeMode("system"), + t.setContrastLevel(0)); + }, + children: "Reset theme", + }), + ], + }), + }), + h(Cr, { + title: "Roles and their text colours", + description: `${Object.keys(n).length} roles generated for ${t.resolvedTheme} mode.`, + children: h("div", { + className: "grid grid-cols-2 gap-3 expanded:grid-cols-4", + children: Fzr.map(([r, o]) => + h( + w1e, + { + name: r, + value: n[`--md-sys-color-${r}`], + on: n[`--md-sys-color-${o}`], + }, + r, + ), + ), + }), + }), + h(Cr, { + title: "Live scheme output", + children: h(qs, { + children: Object.entries(n).map(([r, o]) => `${r}: ${o};`).join(` +`), + }), + }), + ], + }); +} +var Ozr, Fzr; +var Svn = P(() => { + Y7(); + v1e(); + gn(); + Vm(); + le(); + ((Ozr = [ + "tonalSpot", + "content", + "fidelity", + "expressive", + "vibrant", + "neutral", + "monochrome", + ]), + (Fzr = [ + ["primary", "on-primary"], + ["primary-container", "on-primary-container"], + ["secondary", "on-secondary"], + ["tertiary", "on-tertiary"], + ["surface", "on-surface"], + ["surface-container", "on-surface"], + ["error", "on-error"], + ["error-container", "on-error-container"], + ])); +}); +var Uzr, + Cvn, + Evn = (e, t, n, r, o) => { + let a = o?.[t]; + a === void 0 + ? ((e[t] = n), + n == null && t in HTMLElement.prototype && e.removeAttribute(t)) + : n !== r && + ((i, s, l) => { + let c = Cvn.get(i); + c === void 0 && Cvn.set(i, (c = new Map())); + let u = c.get(s); + l !== void 0 + ? u === void 0 + ? (c.set(s, (u = { handleEvent: l })), i.addEventListener(s, u)) + : (u.handleEvent = l) + : u !== void 0 && (c.delete(s), i.removeEventListener(s, u)); + })(e, a, n); + }, + _0 = ({ + react: e, + tagName: t, + elementClass: n, + events: r, + displayName: o, + }) => { + let a = new Set(Object.keys(r ?? {})), + i = e.forwardRef((s, l) => { + let c = e.useRef(new Map()), + u = e.useRef(null), + d = {}, + p = {}; + for (let [f, m] of Object.entries(s)) + Uzr.has(f) + ? (d[f === "className" ? "class" : f] = m) + : a.has(f) || f in n.prototype + ? (p[f] = m) + : (d[f] = m); + return ( + e.useLayoutEffect(() => { + if (u.current === null) return; + let f = new Map(); + for (let m in p) + (Evn(u.current, m, s[m], c.current.get(m), r), + c.current.delete(m), + f.set(m, s[m])); + for (let [m, g] of c.current) Evn(u.current, m, void 0, g, r); + c.current = f; + }), + e.useLayoutEffect(() => { + u.current?.removeAttribute("defer-hydration"); + }, []), + (d.suppressHydrationWarning = !0), + e.createElement(t, { + ...d, + ref: e.useCallback( + (f) => { + ((u.current = f), + typeof l == "function" + ? l(f) + : l !== null && (l.current = f)); + }, + [l], + ), + }) + ); + }); + return ((i.displayName = o ?? n.name), i); + }; +var Ivn = P(() => { + ((Uzr = new Set(["children", "localName", "ref", "style", "className"])), + (Cvn = new WeakMap())); +}); +var $W = P(() => { + Ivn(); +}); +var ds = (e) => (t, n) => { + n !== void 0 + ? n.addInitializer(() => { + customElements.define(e, t); + }) + : customElements.define(e, t); +}; +var Tvn = () => {}; +class R1e { + constructor(e, t, n) { + if (((this._$cssResult$ = !0), n !== Mqe)) + throw Error( + "CSSResult is not constructable. Use `unsafeCSS` or `css` instead.", + ); + ((this.cssText = e), (this.t = t)); + } + get styleSheet() { + let e = this.o, + t = this.t; + if (k1e && e === void 0) { + let n = t !== void 0 && t.length === 1; + (n && (e = kvn.get(t)), + e === void 0 && + ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), + n && kvn.set(t, e))); + } + return e; + } + toString() { + return this.cssText; + } +} +var T1e, + k1e, + Mqe, + kvn, + Rvn = (e) => new R1e(typeof e == "string" ? e : e + "", void 0, Mqe), + ia = (e, ...t) => { + let n = + e.length === 1 + ? e[0] + : t.reduce( + (r, o, a) => + r + + ((i) => { + if (i._$cssResult$ === !0) return i.cssText; + if (typeof i == "number") return i; + throw Error( + "Value passed to 'css' function must be a 'css' function result: " + + i + + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.", + ); + })(o) + + e[a + 1], + e[0], + ); + return new R1e(n, e, Mqe); + }, + Pvn = (e, t) => { + if (k1e) + e.adoptedStyleSheets = t.map((n) => + n instanceof CSSStyleSheet ? n : n.styleSheet, + ); + else + for (let n of t) { + let r = document.createElement("style"), + o = T1e.litNonce; + (o !== void 0 && r.setAttribute("nonce", o), + (r.textContent = n.cssText), + e.appendChild(r)); + } + }, + Dqe; +var Lqe = P(() => { + ((T1e = globalThis), + (k1e = + T1e.ShadowRoot && + (T1e.ShadyCSS === void 0 || T1e.ShadyCSS.nativeShadow) && + "adoptedStyleSheets" in Document.prototype && + "replace" in CSSStyleSheet.prototype), + (Mqe = Symbol()), + (kvn = new WeakMap())); + Dqe = k1e + ? (e) => e + : (e) => + e instanceof CSSStyleSheet + ? ((t) => { + let n = ""; + for (let r of t.cssRules) n += r.cssText; + return Rvn(n); + })(e) + : e; +}); +var Nzr, + zzr, + _zr, + Hzr, + Vzr, + Gzr, + P1e, + Mvn, + qzr, + Zzr, + eY = (e, t) => e, + tY, + M1e = (e, t) => !Nzr(e, t), + Dvn, + k5; +var nY = P(() => { + Lqe(); + Lqe(); + (({ + is: Nzr, + defineProperty: zzr, + getOwnPropertyDescriptor: _zr, + getOwnPropertyNames: Hzr, + getOwnPropertySymbols: Vzr, + getPrototypeOf: Gzr, + } = Object), + (P1e = globalThis), + (Mvn = P1e.trustedTypes), + (qzr = Mvn ? Mvn.emptyScript : ""), + (Zzr = P1e.reactiveElementPolyfillSupport), + (tY = { + toAttribute(e, t) { + switch (t) { + case Boolean: + e = e ? qzr : null; + break; + case Object: + case Array: + e = e == null ? e : JSON.stringify(e); + } + return e; + }, + fromAttribute(e, t) { + let n = e; + switch (t) { + case Boolean: + n = e !== null; + break; + case Number: + n = e === null ? null : Number(e); + break; + case Object: + case Array: + try { + n = JSON.parse(e); + } catch (r) { + n = null; + } + } + return n; + }, + }), + (Dvn = { + attribute: !0, + type: String, + converter: tY, + reflect: !1, + useDefault: !1, + hasChanged: M1e, + })); + ((Symbol.metadata ??= Symbol("metadata")), + (P1e.litPropertyMetadata ??= new WeakMap())); + k5 = class k5 extends HTMLElement { + static addInitializer(e) { + (this._$Ei(), (this.l ??= []).push(e)); + } + static get observedAttributes() { + return (this.finalize(), this._$Eh && [...this._$Eh.keys()]); + } + static createProperty(e, t = Dvn) { + if ( + (t.state && (t.attribute = !1), + this._$Ei(), + this.prototype.hasOwnProperty(e) && + ((t = Object.create(t)).wrapped = !0), + this.elementProperties.set(e, t), + !t.noAccessor) + ) { + let n = Symbol(), + r = this.getPropertyDescriptor(e, n, t); + r !== void 0 && zzr(this.prototype, e, r); + } + } + static getPropertyDescriptor(e, t, n) { + let { get: r, set: o } = _zr(this.prototype, e) ?? { + get() { + return this[t]; + }, + set(a) { + this[t] = a; + }, + }; + return { + get: r, + set(a) { + let i = r?.call(this); + (o?.call(this, a), this.requestUpdate(e, i, n)); + }, + configurable: !0, + enumerable: !0, + }; + } + static getPropertyOptions(e) { + return this.elementProperties.get(e) ?? Dvn; + } + static _$Ei() { + if (this.hasOwnProperty(eY("elementProperties"))) return; + let e = Gzr(this); + (e.finalize(), + e.l !== void 0 && (this.l = [...e.l]), + (this.elementProperties = new Map(e.elementProperties))); + } + static finalize() { + if (this.hasOwnProperty(eY("finalized"))) return; + if ( + ((this.finalized = !0), + this._$Ei(), + this.hasOwnProperty(eY("properties"))) + ) { + let t = this.properties, + n = [...Hzr(t), ...Vzr(t)]; + for (let r of n) this.createProperty(r, t[r]); + } + let e = this[Symbol.metadata]; + if (e !== null) { + let t = litPropertyMetadata.get(e); + if (t !== void 0) + for (let [n, r] of t) this.elementProperties.set(n, r); + } + this._$Eh = new Map(); + for (let [t, n] of this.elementProperties) { + let r = this._$Eu(t, n); + r !== void 0 && this._$Eh.set(r, t); + } + this.elementStyles = this.finalizeStyles(this.styles); + } + static finalizeStyles(e) { + let t = []; + if (Array.isArray(e)) { + let n = new Set(e.flat(1 / 0).reverse()); + for (let r of n) t.unshift(Dqe(r)); + } else e !== void 0 && t.push(Dqe(e)); + return t; + } + static _$Eu(e, t) { + let n = t.attribute; + return n === !1 + ? void 0 + : typeof n == "string" + ? n + : typeof e == "string" + ? e.toLowerCase() + : void 0; + } + constructor() { + (super(), + (this._$Ep = void 0), + (this.isUpdatePending = !1), + (this.hasUpdated = !1), + (this._$Em = null), + this._$Ev()); + } + _$Ev() { + ((this._$ES = new Promise((e) => (this.enableUpdating = e))), + (this._$AL = new Map()), + this._$E_(), + this.requestUpdate(), + this.constructor.l?.forEach((e) => e(this))); + } + addController(e) { + ((this._$EO ??= new Set()).add(e), + this.renderRoot !== void 0 && this.isConnected && e.hostConnected?.()); + } + removeController(e) { + this._$EO?.delete(e); + } + _$E_() { + let e = new Map(), + t = this.constructor.elementProperties; + for (let n of t.keys()) + this.hasOwnProperty(n) && (e.set(n, this[n]), delete this[n]); + e.size > 0 && (this._$Ep = e); + } + createRenderRoot() { + let e = + this.shadowRoot ?? + this.attachShadow(this.constructor.shadowRootOptions); + return (Pvn(e, this.constructor.elementStyles), e); + } + connectedCallback() { + ((this.renderRoot ??= this.createRenderRoot()), + this.enableUpdating(!0), + this._$EO?.forEach((e) => e.hostConnected?.())); + } + enableUpdating(e) {} + disconnectedCallback() { + this._$EO?.forEach((e) => e.hostDisconnected?.()); + } + attributeChangedCallback(e, t, n) { + this._$AK(e, n); + } + _$ET(e, t) { + let n = this.constructor.elementProperties.get(e), + r = this.constructor._$Eu(e, n); + if (r !== void 0 && n.reflect === !0) { + let o = ( + n.converter?.toAttribute !== void 0 ? n.converter : tY + ).toAttribute(t, n.type); + ((this._$Em = e), + o == null ? this.removeAttribute(r) : this.setAttribute(r, o), + (this._$Em = null)); + } + } + _$AK(e, t) { + let n = this.constructor, + r = n._$Eh.get(e); + if (r !== void 0 && this._$Em !== r) { + let o = n.getPropertyOptions(r), + a = + typeof o.converter == "function" + ? { fromAttribute: o.converter } + : o.converter?.fromAttribute !== void 0 + ? o.converter + : tY; + this._$Em = r; + let i = a.fromAttribute(t, o.type); + ((this[r] = i ?? this._$Ej?.get(r) ?? i), (this._$Em = null)); + } + } + requestUpdate(e, t, n, r = !1, o) { + if (e !== void 0) { + let a = this.constructor; + if ( + (r === !1 && (o = this[e]), + (n ??= a.getPropertyOptions(e)), + !( + (n.hasChanged ?? M1e)(o, t) || + (n.useDefault && + n.reflect && + o === this._$Ej?.get(e) && + !this.hasAttribute(a._$Eu(e, n))) + )) + ) + return; + this.C(e, t, n); + } + this.isUpdatePending === !1 && (this._$ES = this._$EP()); + } + C(e, t, { useDefault: n, reflect: r, wrapped: o }, a) { + (n && + !(this._$Ej ??= new Map()).has(e) && + (this._$Ej.set(e, a ?? t ?? this[e]), o !== !0 || a !== void 0)) || + (this._$AL.has(e) || + (this.hasUpdated || n || (t = void 0), this._$AL.set(e, t)), + r === !0 && this._$Em !== e && (this._$Eq ??= new Set()).add(e)); + } + async _$EP() { + this.isUpdatePending = !0; + try { + await this._$ES; + } catch (t) { + Promise.reject(t); + } + let e = this.scheduleUpdate(); + return (e != null && (await e), !this.isUpdatePending); + } + scheduleUpdate() { + return this.performUpdate(); + } + performUpdate() { + if (!this.isUpdatePending) return; + if (!this.hasUpdated) { + if (((this.renderRoot ??= this.createRenderRoot()), this._$Ep)) { + for (let [r, o] of this._$Ep) this[r] = o; + this._$Ep = void 0; + } + let n = this.constructor.elementProperties; + if (n.size > 0) + for (let [r, o] of n) { + let { wrapped: a } = o, + i = this[r]; + a !== !0 || + this._$AL.has(r) || + i === void 0 || + this.C(r, void 0, o, i); + } + } + let e = !1, + t = this._$AL; + try { + ((e = this.shouldUpdate(t)), + e + ? (this.willUpdate(t), + this._$EO?.forEach((n) => n.hostUpdate?.()), + this.update(t)) + : this._$EM()); + } catch (n) { + throw ((e = !1), this._$EM(), n); + } + e && this._$AE(t); + } + willUpdate(e) {} + _$AE(e) { + (this._$EO?.forEach((t) => t.hostUpdated?.()), + this.hasUpdated || ((this.hasUpdated = !0), this.firstUpdated(e)), + this.updated(e)); + } + _$EM() { + ((this._$AL = new Map()), (this.isUpdatePending = !1)); + } + get updateComplete() { + return this.getUpdateComplete(); + } + getUpdateComplete() { + return this._$ES; + } + shouldUpdate(e) { + return !0; + } + update(e) { + ((this._$Eq &&= this._$Eq.forEach((t) => this._$ET(t, this[t]))), + this._$EM()); + } + updated(e) {} + firstUpdated(e) {} + }; + ((k5.elementStyles = []), + (k5.shadowRootOptions = { mode: "open" }), + (k5[eY("elementProperties")] = new Map()), + (k5[eY("finalized")] = new Map()), + Zzr?.({ ReactiveElement: k5 }), + (P1e.reactiveElementVersions ??= []).push("2.1.2")); +}); +function xn(e) { + return (t, n) => + typeof n == "object" + ? Xzr(e, t, n) + : ((r, o, a) => { + let i = o.hasOwnProperty(a); + return ( + o.constructor.createProperty(a, r), + i ? Object.getOwnPropertyDescriptor(o, a) : void 0 + ); + })(e, t, n); +} +var Qzr, + Xzr = (e = Qzr, t, n) => { + let { kind: r, metadata: o } = n, + a = globalThis.litPropertyMetadata.get(o); + if ( + (a === void 0 && globalThis.litPropertyMetadata.set(o, (a = new Map())), + r === "setter" && ((e = Object.create(e)).wrapped = !0), + a.set(n.name, e), + r === "accessor") + ) { + let { name: i } = n; + return { + set(s) { + let l = t.get.call(this); + (t.set.call(this, s), this.requestUpdate(i, l, e, !0, s)); + }, + init(s) { + return (s !== void 0 && this.C(i, void 0, e, s), s); + }, + }; + } + if (r === "setter") { + let { name: i } = n; + return function (s) { + let l = this[i]; + (t.call(this, s), this.requestUpdate(i, l, e, !0, s)); + }; + } + throw Error("Unsupported decorator location: " + r); + }; +var Bqe = P(() => { + nY(); + Qzr = { + attribute: !0, + type: String, + converter: tY, + reflect: !1, + hasChanged: M1e, + }; +}); +function dp(e) { + return xn({ ...e, state: !0, attribute: !1 }); +} +var Lvn = P(() => { + Bqe(); +}); +var Bvn = () => {}; +var hS = (e, t, n) => ( + (n.configurable = !0), + (n.enumerable = !0), + Reflect.decorate && typeof t != "object" && Object.defineProperty(e, t, n), + n +); +var SO = () => {}; +function rf(e, t) { + return (n, r, o) => { + let a = (i) => i.renderRoot?.querySelector(e) ?? null; + if (t) { + let { get: i, set: s } = + typeof r == "object" + ? n + : (o ?? + (() => { + let l = Symbol(); + return { + get() { + return this[l]; + }, + set(c) { + this[l] = c; + }, + }; + })()); + return hS(n, r, { + get() { + let l = i.call(this); + return ( + l === void 0 && + ((l = a(this)), + (l !== null || this.hasUpdated) && s.call(this, l)), + l + ); + }, + }); + } + return hS(n, r, { + get() { + return a(this); + }, + }); + }; +} +var Ovn = P(() => { + SO(); +}); +var Fvn = P(() => { + SO(); +}); +function Oqe(e) { + return (t, n) => + hS(t, n, { + async get() { + return ( + await this.updateComplete, + this.renderRoot?.querySelector(e) ?? null + ); + }, + }); +} +var Uvn = P(() => { + SO(); +}); +function K7(e) { + return (t, n) => { + let { slot: r, selector: o } = e ?? {}, + a = "slot" + (r ? `[name=${r}]` : ":not([name])"); + return hS(t, n, { + get() { + let i = this.renderRoot?.querySelector(a), + s = i?.assignedElements(e) ?? []; + return o === void 0 ? s : s.filter((l) => l.matches(o)); + }, + }); + }; +} +var Nvn = P(() => { + SO(); +}); +var zvn = P(() => { + SO(); +}); +var Pl = P(() => { + Tvn(); + Bqe(); + Lvn(); + Bvn(); + Ovn(); + Fvn(); + Uvn(); + Nvn(); + zvn(); +}); +function Jvn(e, t) { + if (!Nqe(e) || !e.hasOwnProperty("raw")) + throw Error("invalid template strings array"); + return Hvn !== void 0 ? Hvn.createHTML(t) : t; +} +class iY { + constructor({ strings: e, _$litType$: t }, n) { + let r; + this.parts = []; + let o = 0, + a = 0, + i = e.length - 1, + s = this.parts, + [l, c] = jvn(e, t); + if ( + ((this.el = iY.createElement(l, n)), + (j7.currentNode = this.el.content), + t === 2 || t === 3) + ) { + let u = this.el.content.firstChild; + u.replaceWith(...u.childNodes); + } + for (; (r = j7.nextNode()) !== null && s.length < i;) { + if (r.nodeType === 1) { + if (r.hasAttributes()) + for (let u of r.getAttributeNames()) + if (u.endsWith("$lit$")) { + let d = c[a++], + p = r.getAttribute(u).split(gS), + f = /([.?@])?(.*)/.exec(d); + (s.push({ + type: 1, + index: o, + name: f[2], + strings: p, + ctor: + f[1] === "." + ? Hqe + : f[1] === "?" + ? Vqe + : f[1] === "@" + ? Gqe + : EO, + }), + r.removeAttribute(u)); + } else + u.startsWith(gS) && + (s.push({ type: 6, index: o }), r.removeAttribute(u)); + if (Wvn.test(r.tagName)) { + let u = r.textContent.split(gS), + d = u.length - 1; + if (d > 0) { + r.textContent = D1e ? D1e.emptyScript : ""; + for (let p = 0; p < d; p++) + (r.append(u[p], oY()), + j7.nextNode(), + s.push({ type: 2, index: ++o })); + r.append(u[d], oY()); + } + } + } else if (r.nodeType === 8) + if (r.data === Uqe) s.push({ type: 2, index: o }); + else { + let u = -1; + for (; (u = r.data.indexOf(gS, u + 1)) !== -1;) + (s.push({ type: 7, index: o }), (u += gS.length - 1)); + } + o++; + } + } + static createElement(e, t) { + let n = $7.createElement("template"); + return ((n.innerHTML = e), n); + } +} +function ek(e, t, n = e, r) { + if (t === Gm) return t; + let o = r !== void 0 ? n._$Co?.[r] : n._$Cl, + a = aY(t) ? void 0 : t._$litDirective$; + return ( + o?.constructor !== a && + (o?._$AO?.(!1), + a === void 0 ? (o = void 0) : ((o = new a(e)), o._$AT(e, n, r)), + r !== void 0 ? ((n._$Co ??= [])[r] = o) : (n._$Cl = o)), + o !== void 0 && (t = ek(e, o._$AS(e, t.values), o, r)), + t + ); +} +class _qe { + constructor(e, t) { + ((this._$AV = []), (this._$AN = void 0), (this._$AD = e), (this._$AM = t)); + } + get parentNode() { + return this._$AM.parentNode; + } + get _$AU() { + return this._$AM._$AU; + } + u(e) { + let { + el: { content: t }, + parts: n, + } = this._$AD, + r = (e?.creationScope ?? $7).importNode(t, !0); + j7.currentNode = r; + let o = j7.nextNode(), + a = 0, + i = 0, + s = n[0]; + for (; s !== void 0;) { + if (a === s.index) { + let l; + (s.type === 2 + ? (l = new CO(o, o.nextSibling, this, e)) + : s.type === 1 + ? (l = new s.ctor(o, s.name, s.strings, this, e)) + : s.type === 6 && (l = new qqe(o, this, e)), + this._$AV.push(l), + (s = n[++i])); + } + a !== s?.index && ((o = j7.nextNode()), a++); + } + return ((j7.currentNode = $7), r); + } + p(e) { + let t = 0; + for (let n of this._$AV) + (n !== void 0 && + (n.strings !== void 0 + ? (n._$AI(e, n, t), (t += n.strings.length - 2)) + : n._$AI(e[t])), + t++); + } +} +class CO { + get _$AU() { + return this._$AM?._$AU ?? this._$Cv; + } + constructor(e, t, n, r) { + ((this.type = 2), + (this._$AH = cr), + (this._$AN = void 0), + (this._$AA = e), + (this._$AB = t), + (this._$AM = n), + (this.options = r), + (this._$Cv = r?.isConnected ?? !0)); + } + get parentNode() { + let e = this._$AA.parentNode, + t = this._$AM; + return (t !== void 0 && e?.nodeType === 11 && (e = t.parentNode), e); + } + get startNode() { + return this._$AA; + } + get endNode() { + return this._$AB; + } + _$AI(e, t = this) { + ((e = ek(this, e, t)), + aY(e) + ? e === cr || e == null || e === "" + ? (this._$AH !== cr && this._$AR(), (this._$AH = cr)) + : e !== this._$AH && e !== Gm && this._(e) + : e._$litType$ !== void 0 + ? this.$(e) + : e.nodeType !== void 0 + ? this.T(e) + : Xvn(e) + ? this.k(e) + : this._(e)); + } + O(e) { + return this._$AA.parentNode.insertBefore(e, this._$AB); + } + T(e) { + this._$AH !== e && (this._$AR(), (this._$AH = this.O(e))); + } + _(e) { + (this._$AH !== cr && aY(this._$AH) + ? (this._$AA.nextSibling.data = e) + : this.T($7.createTextNode(e)), + (this._$AH = e)); + } + $(e) { + let { values: t, _$litType$: n } = e, + r = + typeof n == "number" + ? this._$AC(e) + : (n.el === void 0 && + (n.el = iY.createElement(Jvn(n.h, n.h[0]), this.options)), + n); + if (this._$AH?._$AD === r) this._$AH.p(t); + else { + let o = new _qe(r, this), + a = o.u(this.options); + (o.p(t), this.T(a), (this._$AH = o)); + } + } + _$AC(e) { + let t = Qvn.get(e.strings); + return (t === void 0 && Qvn.set(e.strings, (t = new iY(e))), t); + } + k(e) { + Nqe(this._$AH) || ((this._$AH = []), this._$AR()); + let t = this._$AH, + n, + r = 0; + for (let o of e) + (r === t.length + ? t.push((n = new CO(this.O(oY()), this.O(oY()), this, this.options))) + : (n = t[r]), + n._$AI(o), + r++); + r < t.length && (this._$AR(n && n._$AB.nextSibling, r), (t.length = r)); + } + _$AR(e = this._$AA.nextSibling, t) { + for (this._$AP?.(!1, !0, t); e !== this._$AB;) { + let n = _vn(e).nextSibling; + (_vn(e).remove(), (e = n)); + } + } + setConnected(e) { + this._$AM === void 0 && ((this._$Cv = e), this._$AP?.(e)); + } +} +class EO { + get tagName() { + return this.element.tagName; + } + get _$AU() { + return this._$AM._$AU; + } + constructor(e, t, n, r, o) { + ((this.type = 1), + (this._$AH = cr), + (this._$AN = void 0), + (this.element = e), + (this.name = t), + (this._$AM = r), + (this.options = o), + n.length > 2 || n[0] !== "" || n[1] !== "" + ? ((this._$AH = Array(n.length - 1).fill(new String())), + (this.strings = n)) + : (this._$AH = cr)); + } + _$AI(e, t = this, n, r) { + let o = this.strings, + a = !1; + if (o === void 0) + ((e = ek(this, e, t, 0)), + (a = !aY(e) || (e !== this._$AH && e !== Gm)), + a && (this._$AH = e)); + else { + let i = e, + s, + l; + for (e = o[0], s = 0; s < o.length - 1; s++) + ((l = ek(this, i[n + s], t, s)), + l === Gm && (l = this._$AH[s]), + (a ||= !aY(l) || l !== this._$AH[s]), + l === cr ? (e = cr) : e !== cr && (e += (l ?? "") + o[s + 1]), + (this._$AH[s] = l)); + } + a && !r && this.j(e); + } + j(e) { + e === cr + ? this.element.removeAttribute(this.name) + : this.element.setAttribute(this.name, e ?? ""); + } +} +class qqe { + constructor(e, t, n) { + ((this.element = e), + (this.type = 6), + (this._$AN = void 0), + (this._$AM = t), + (this.options = n)); + } + get _$AU() { + return this._$AM._$AU; + } + _$AI(e) { + ek(this, e); + } +} +var Fqe, + _vn = (e) => e, + D1e, + Hvn, + gS, + Uqe, + Wzr, + $7, + oY = () => $7.createComment(""), + aY = (e) => e === null || (typeof e != "object" && typeof e != "function"), + Nqe, + Xvn = (e) => Nqe(e) || typeof e?.[Symbol.iterator] == "function", + rY, + Vvn, + Gvn, + J7, + qvn, + Zvn, + Wvn, + zqe = + (e) => + (t, ...n) => ({ _$litType$: e, strings: t, values: n }), + Pr, + Yvn, + Kvn, + Gm, + cr, + Qvn, + j7, + jvn = (e, t) => { + let n = e.length - 1, + r = [], + o, + a = t === 2 ? "" : t === 3 ? "" : "", + i = rY; + for (let s = 0; s < n; s++) { + let l = e[s], + c, + u, + d = -1, + p = 0; + for (; p < l.length && ((i.lastIndex = p), (u = i.exec(l)), u !== null);) + ((p = i.lastIndex), + i === rY + ? u[1] === "!--" + ? (i = Vvn) + : u[1] !== void 0 + ? (i = Gvn) + : u[2] !== void 0 + ? (Wvn.test(u[2]) && (o = RegExp("" + ? ((i = o ?? rY), (d = -1)) + : u[1] === void 0 + ? (d = -2) + : ((d = i.lastIndex - u[2].length), + (c = u[1]), + (i = u[3] === void 0 ? J7 : u[3] === '"' ? Zvn : qvn)) + : i === Zvn || i === qvn + ? (i = J7) + : i === Vvn || i === Gvn + ? (i = rY) + : ((i = J7), (o = void 0))); + let f = i === J7 && e[s + 1].startsWith("/>") ? " " : ""; + a += + i === rY + ? l + Wzr + : d >= 0 + ? (r.push(c), l.slice(0, d) + "$lit$" + l.slice(d) + gS + f) + : l + gS + (d === -2 ? s : f); + } + return [ + Jvn( + e, + a + (e[n] || "") + (t === 2 ? "" : t === 3 ? "" : ""), + ), + r, + ]; + }, + Hqe, + Vqe, + Gqe, + $vn, + Yzr, + L1e = (e, t, n) => { + let r = n?.renderBefore ?? t, + o = r._$litPart$; + if (o === void 0) { + let a = n?.renderBefore ?? null; + r._$litPart$ = o = new CO(t.insertBefore(oY(), a), a, void 0, n ?? {}); + } + return (o._$AI(e), o); + }; +var yS = P(() => { + ((Fqe = globalThis), + (D1e = Fqe.trustedTypes), + (Hvn = D1e + ? D1e.createPolicy("lit-html", { createHTML: (e) => e }) + : void 0), + (gS = `lit$${Math.random().toFixed(9).slice(2)}$`), + (Uqe = "?" + gS), + (Wzr = `<${Uqe}>`), + ($7 = document), + (Nqe = Array.isArray), + (rY = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g), + (Vvn = /-->/g), + (Gvn = />/g), + (J7 = RegExp( + `>|[ \f\r](?:([^\\s"'>=/]+)([ \f\r]*=[ \f\r]*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),qvn=/'/g,Zvn=/"/g,Wvn=/^(?:script|style|textarea|title)$/i,Pr=zqe(1),Yvn=zqe(2),Kvn=zqe(3),Gm=Symbol.for("lit-noChange"),cr=Symbol.for("lit-nothing"),Qvn=new WeakMap,j7=$7.createTreeWalker($7,129);Hqe=class Hqe extends EO{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===cr?void 0:e}};Vqe=class Vqe extends EO{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==cr)}};Gqe=class Gqe extends EO{constructor(e,t,n,r,o){super(e,t,n,r,o),this.type=5}_$AI(e,t=this){if((e=ek(this,e,t,0)??cr)===Gm)return;let n=this._$AH,r=e===cr&&n!==cr||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,o=e!==cr&&(n===cr||r);r&&this.element.removeEventListener(this.name,this,n),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}};$vn={M:"$lit$",P:gS,A:Uqe,C:1,L:jvn,R:_qe,D:Xvn,V:ek,I:CO,H:EO,N:Vqe,U:Gqe,B:Hqe,F:qqe},Yzr=Fqe.litHtmlPolyfillSupport;Yzr?.(iY,CO),(Fqe.litHtmlVersions??=[]).push("3.3.3")});var Zqe,tc,Kzr;var ebn=P(()=>{nY();yS();nY();yS();Zqe=globalThis;tc=class tc extends k5{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=L1e(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Gm}};tc._$litElement$=!0,tc.finalized=!0,Zqe.litElementHydrateSupport?.({LitElement:tc});Kzr=Zqe.litElementPolyfillSupport;Kzr?.({LitElement:tc});(Zqe.litElementVersions??=[]).push("4.2.2")});var md=!1;var tbn=()=>{};var sa=P(()=>{nY();yS();ebn();tbn()});var Qqe;var nbn=P(()=>{sa();Qqe=class Qqe extends tc{connectedCallback(){super.connectedCallback(),this.setAttribute("aria-hidden","true")}render(){return Pr``}}});var Xqe,j7s;var rbn=P(()=>{sa();Xqe=ia`:host,.shadow,.shadow::before,.shadow::after{border-radius:inherit;inset:0;position:absolute;transition-duration:inherit;transition-property:inherit;transition-timing-function:inherit}:host{display:flex;pointer-events:none;transition-property:box-shadow,opacity}.shadow::before,.shadow::after{content:"";transition-property:box-shadow,opacity;--_level: var(--md-elevation-level, 0);--_shadow-color: var(--md-elevation-shadow-color, var(--md-sys-color-shadow, #000))}.shadow::before{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 3,1) + 2*clamp(0,var(--_level) - 4,1))) calc(1px*(2*clamp(0,var(--_level),1) + clamp(0,var(--_level) - 2,1) + clamp(0,var(--_level) - 4,1))) 0px var(--_shadow-color);opacity:.3}.shadow::after{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 1,1) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(3*clamp(0,var(--_level),2) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(clamp(0,var(--_level),4) + 2*clamp(0,var(--_level) - 4,1))) var(--_shadow-color);opacity:.15}`,j7s=Xqe.styleSheet});var obn;var sY=P(()=>{yl();Pl();nbn();rbn();obn=class extends Qqe{static{this.styles=[Xqe]}};obn=Tt([ds("md-elevation")],obn)});class lY{get htmlFor(){return this.host.getAttribute("for")}set htmlFor(e){if(e===null)this.host.removeAttribute("for");else this.host.setAttribute("for",e)}get control(){if(this.host.hasAttribute("for")){if(!this.htmlFor||!this.host.isConnected)return null;return this.host.getRootNode().querySelector(`#${this.htmlFor}`)}return this.currentControl||this.host.parentElement}set control(e){if(e)this.attach(e);else this.detach()}constructor(e,t){this.host=e,this.onControlChange=t,this.currentControl=null,e.addController(this),e[abn]=this,ibn?.observe(e,{attributeFilter:["for"]})}attach(e){if(e===this.currentControl)return;this.setCurrentControl(e),this.host.removeAttribute("for")}detach(){this.setCurrentControl(null),this.host.setAttribute("for","")}hostConnected(){this.setCurrentControl(this.control)}hostDisconnected(){this.setCurrentControl(null)}setCurrentControl(e){this.onControlChange(this.currentControl,e),this.currentControl=e}}var abn,ibn;var Wqe=P(()=>{sa();abn=Symbol("attachableController");if(!md)ibn=new MutationObserver((e)=>{for(let t of e)t.target[abn]?.hostConnected()})});var Jzr,cY,sbn;var lbn=P(()=>{yl();sa();Pl();Wqe();Jzr=["focusin","focusout","pointerdown"];cY=class cY extends tc{constructor(){super(...arguments);this.visible=!1,this.inward=!1,this.attachableController=new lY(this,this.onControlChange.bind(this))}get htmlFor(){return this.attachableController.htmlFor}set htmlFor(e){this.attachableController.htmlFor=e}get control(){return this.attachableController.control}set control(e){this.attachableController.control=e}attach(e){this.attachableController.attach(e)}detach(){this.attachableController.detach()}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-hidden","true")}handleEvent(e){if(e[sbn])return;switch(e.type){default:return;case"focusin":this.visible=this.control?.matches(":focus-visible")??!1;break;case"focusout":case"pointerdown":this.visible=!1;break}e[sbn]=!0}onControlChange(e,t){if(md)return;for(let n of Jzr)e?.removeEventListener(n,this),t?.addEventListener(n,this)}update(e){if(e.has("visible"))this.dispatchEvent(new Event("visibility-changed"));super.update(e)}};Tt([xn({type:Boolean,reflect:!0})],cY.prototype,"visible",void 0);Tt([xn({type:Boolean,reflect:!0})],cY.prototype,"inward",void 0);sbn=Symbol("handledByFocusRing")});var Yqe,fks;var cbn=P(()=>{sa();Yqe=ia`:host{animation-delay:0s,calc(var(--md-focus-ring-duration, 600ms)*.25);animation-duration:calc(var(--md-focus-ring-duration, 600ms)*.25),calc(var(--md-focus-ring-duration, 600ms)*.75);animation-timing-function:cubic-bezier(0.2, 0, 0, 1);box-sizing:border-box;color:var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));display:none;pointer-events:none;position:absolute}:host([visible]){display:flex}:host(:not([inward])){animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));inset:calc(-1*var(--md-focus-ring-outward-offset, 2px));outline:var(--md-focus-ring-width, 3px) solid currentColor}:host([inward]){animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border:var(--md-focus-ring-width, 3px) solid currentColor;inset:var(--md-focus-ring-inward-offset, 0px)}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes outward-shrink{from{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-shrink{from{border-width:var(--md-focus-ring-active-width, 8px)}}@media(prefers-reduced-motion){:host{animation:none}}`,fks=Yqe.styleSheet});var ubn;var B1e=P(()=>{yl();Pl();lbn();cbn();ubn=class extends cY{static{this.styles=[Yqe]}};ubn=Tt([ds("md-focus-ring")],ubn)});class tk{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}var Fv,IO=(e)=>(...t)=>({_$litDirective$:e,values:t});var O1e=P(()=>{Fv={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6}});var qm;var dbn=P(()=>{yS();O1e();qm=IO(class extends tk{constructor(e){if(super(e),e.type!==Fv.ATTRIBUTE||e.name!=="class"||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t)=>e[t]).join(" ")+" "}update(e,[t]){if(this.st===void 0){this.st=new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((r)=>r!=="")));for(let r in t)t[r]&&!this.nt?.has(r)&&this.st.add(r);return this.render(t)}let n=e.element.classList;for(let r of this.st)r in t||(n.remove(r),this.st.delete(r));for(let r in t){let o=!!t[r];o===this.st.has(r)||this.nt?.has(r)||(o?(n.add(r),this.st.add(r)):(n.remove(r),this.st.delete(r)))}return Gm}})});var TO=P(()=>{dbn()});var F1e;var Kqe=P(()=>{F1e={STANDARD:"cubic-bezier(0.2, 0, 0, 1)",STANDARD_ACCELERATE:"cubic-bezier(.3,0,1,1)",STANDARD_DECELERATE:"cubic-bezier(0,0,0,1)",EMPHASIZED:"cubic-bezier(.3,0,0,1)",EMPHASIZED_ACCELERATE:"cubic-bezier(.3,0,.8,.15)",EMPHASIZED_DECELERATE:"cubic-bezier(.05,.7,.1,1)"}});var jzr=450,pbn=225,$zr=0.2,e_r=10,t_r=75,n_r=0.35,r_r="::after",o_r="forwards",zh,a_r,i_r=150,s_r,nk;var fbn=P(()=>{yl();sa();Pl();TO();Wqe();Kqe();(function(e){e[e.INACTIVE=0]="INACTIVE",e[e.TOUCH_DELAY=1]="TOUCH_DELAY",e[e.HOLDING=2]="HOLDING",e[e.WAITING_FOR_CLICK=3]="WAITING_FOR_CLICK"})(zh||(zh={}));a_r=["click","contextmenu","pointercancel","pointerdown","pointerenter","pointerleave","pointerup"],s_r=md?null:window.matchMedia("(forced-colors: active)");nk=class nk extends tc{constructor(){super(...arguments);this.disabled=!1,this.hovered=!1,this.pressed=!1,this.rippleSize="",this.rippleScale="",this.initialSize=0,this.state=zh.INACTIVE,this.attachableController=new lY(this,this.onControlChange.bind(this))}get htmlFor(){return this.attachableController.htmlFor}set htmlFor(e){this.attachableController.htmlFor=e}get control(){return this.attachableController.control}set control(e){this.attachableController.control=e}attach(e){this.attachableController.attach(e)}detach(){this.attachableController.detach()}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-hidden","true")}render(){let e={hovered:this.hovered,pressed:this.pressed};return Pr`
`}update(e){if(e.has("disabled")&&this.disabled)this.hovered=!1,this.pressed=!1;super.update(e)}handlePointerenter(e){if(!this.shouldReactToEvent(e))return;this.hovered=!0}handlePointerleave(e){if(!this.shouldReactToEvent(e))return;if(this.hovered=!1,this.state!==zh.INACTIVE)this.endPressAnimation()}handlePointerup(e){if(!this.shouldReactToEvent(e))return;if(this.state===zh.HOLDING){this.state=zh.WAITING_FOR_CLICK;return}if(this.state===zh.TOUCH_DELAY){this.state=zh.WAITING_FOR_CLICK,this.startPressAnimation(this.rippleStartEvent);return}}async handlePointerdown(e){if(!this.shouldReactToEvent(e))return;if(this.rippleStartEvent=e,!this.isTouch(e)){this.state=zh.WAITING_FOR_CLICK,this.startPressAnimation(e);return}if(this.state=zh.TOUCH_DELAY,await new Promise((t)=>{setTimeout(t,i_r)}),this.state!==zh.TOUCH_DELAY)return;this.state=zh.HOLDING,this.startPressAnimation(e)}handleClick(){if(this.disabled)return;if(this.state===zh.WAITING_FOR_CLICK){this.endPressAnimation();return}if(this.state===zh.INACTIVE)this.startPressAnimation(),this.endPressAnimation()}handlePointercancel(e){if(!this.shouldReactToEvent(e))return;this.endPressAnimation()}handleContextmenu(){if(this.disabled)return;this.endPressAnimation()}determineRippleSize(e){let{height:t,width:n}=e,r=Math.max(t,n),o=Math.max(n_r*r,t_r),a=this.currentCSSZoom??1,i=Math.floor(r*$zr/a),l=Math.sqrt(n**2+t**2)+e_r;this.initialSize=i;let c=(l+o)/i;this.rippleScale=`${c/a}`,this.rippleSize=`${i}px`}getNormalizedPointerEventCoords(e,t){let{scrollX:n,scrollY:r}=window,{left:o,top:a}=t,i=n+o,s=r+a,{pageX:l,pageY:c}=e,u=this.currentCSSZoom??1;return{x:(l-i)/u,y:(c-s)/u}}getTranslationCoordinates(e,t){let{height:n,width:r}=e,o=this.currentCSSZoom??1,a={x:(r/o-this.initialSize)/2,y:(n/o-this.initialSize)/2},i;if(t instanceof PointerEvent)i=this.getNormalizedPointerEventCoords(t,e);else i={x:r/o/2,y:n/o/2};return i={x:i.x-this.initialSize/2,y:i.y-this.initialSize/2},{startPoint:i,endPoint:a}}startPressAnimation(e){if(!this.mdRoot)return;this.pressed=!0,this.growAnimation?.cancel();let t=this.getBoundingClientRect();this.determineRippleSize(t);let{startPoint:n,endPoint:r}=this.getTranslationCoordinates(t,e),o=`${n.x}px, ${n.y}px`,a=`${r.x}px, ${r.y}px`;this.growAnimation=this.mdRoot.animate({top:[0,0],left:[0,0],height:[this.rippleSize,this.rippleSize],width:[this.rippleSize,this.rippleSize],transform:[`translate(${o}) scale(1)`,`translate(${a}) scale(${this.rippleScale})`]},{pseudoElement:r_r,duration:jzr,easing:F1e.STANDARD,fill:o_r})}async endPressAnimation(){this.rippleStartEvent=void 0,this.state=zh.INACTIVE;let e=this.growAnimation,t=1/0;if(typeof e?.currentTime==="number")t=e.currentTime;else if(e?.currentTime)t=e.currentTime.to("ms").value;if(t>=pbn){this.pressed=!1;return}if(await new Promise((n)=>{setTimeout(n,pbn-t)}),this.growAnimation!==e)return;this.pressed=!1}shouldReactToEvent(e){if(this.disabled||!e.isPrimary)return!1;if(this.rippleStartEvent&&this.rippleStartEvent.pointerId!==e.pointerId)return!1;if(e.type==="pointerenter"||e.type==="pointerleave")return!this.isTouch(e);let t=e.buttons===1;return this.isTouch(e)||t}isTouch({pointerType:e}){return e==="touch"}async handleEvent(e){if(s_r?.matches)return;switch(e.type){case"click":this.handleClick();break;case"contextmenu":this.handleContextmenu();break;case"pointercancel":this.handlePointercancel(e);break;case"pointerdown":await this.handlePointerdown(e);break;case"pointerenter":this.handlePointerenter(e);break;case"pointerleave":this.handlePointerleave(e);break;case"pointerup":this.handlePointerup(e);break;default:break}}onControlChange(e,t){if(md)return;for(let n of a_r)e?.removeEventListener(n,this),t?.addEventListener(n,this)}};Tt([xn({type:Boolean,reflect:!0})],nk.prototype,"disabled",void 0);Tt([dp()],nk.prototype,"hovered",void 0);Tt([dp()],nk.prototype,"pressed",void 0);Tt([rf(".surface")],nk.prototype,"mdRoot",void 0)});var Jqe,Fks;var mbn=P(()=>{sa();Jqe=ia`:host{display:flex;margin:auto;pointer-events:none}:host([disabled]){display:none}@media(forced-colors: active){:host{display:none}}:host,.surface{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.surface{-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{content:"";opacity:0;position:absolute}.surface::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));inset:0;transition:opacity 15ms linear,background-color 15ms linear}.surface::after{background:radial-gradient(closest-side, var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20)) max(100% - 70px, 65%), transparent 100%);transform-origin:center center;transition:opacity 375ms linear}.hovered::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}.pressed::after{opacity:var(--md-ripple-pressed-opacity, 0.12);transition-duration:105ms}`,Fks=Jqe.styleSheet});var hbn;var U1e=P(()=>{yl();Pl();fbn();mbn();hbn=class extends nk{static{this.styles=[Jqe]}};hbn=Tt([ds("md-ripple")],hbn)});function N1e(e){return l_r.includes(e)}function $qe(e){return e.replace("aria","aria-").replace(/Elements?/g,"").toLowerCase()}var jqe,l_r;var gbn=P(()=>{jqe=["role","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"],l_r=jqe.map($qe)});function R5(e){var t;if(md)return e;class n extends e{constructor(){super(...arguments);this[t]=new Set}static{t=z1e}attributeChangedCallback(r,o,a){if(!N1e(r)){super.attributeChangedCallback(r,o,a);return}if(this[z1e].has(r))return;this[z1e].add(r),this.removeAttribute(r),this[z1e].delete(r);let i=tZe(r);if(a===null)delete this.dataset[i];else this.dataset[i]=a;this.requestUpdate(tZe(r),o)}getAttribute(r){if(N1e(r))return super.getAttribute(eZe(r));return super.getAttribute(r)}removeAttribute(r){if(super.removeAttribute(r),N1e(r))super.removeAttribute(eZe(r)),this.requestUpdate()}}return c_r(n),n}function c_r(e){for(let t of jqe){let n=$qe(t),r=eZe(n),o=tZe(n);e.createProperty(t,{attribute:n,noAccessor:!0}),e.createProperty(Symbol(r),{attribute:r,noAccessor:!0}),Object.defineProperty(e.prototype,t,{configurable:!0,enumerable:!0,get(){return this.dataset[o]??null},set(a){let i=this.dataset[o]??null;if(a===i)return;if(a===null)delete this.dataset[o];else this.dataset[o]=a;this.requestUpdate(t,i)}})}}function eZe(e){return`data-${e}`}function tZe(e){return e.replace(/-\w/,(t)=>t[1].toUpperCase())}var z1e;var uY=P(()=>{sa();gbn();z1e=Symbol("privateIgnoreAttributeChangesFor")});function kO(e){let t=new MouseEvent("click",{bubbles:!0});return e.dispatchEvent(t),t}function RO(e){if(e.currentTarget!==e.target)return!1;if(e.composedPath()[0]!==e.target)return!1;if(e.target.disabled)return!1;return!u_r(e)}function u_r(e){let t=nZe;if(t)e.preventDefault(),e.stopImmediatePropagation();return d_r(),t}async function d_r(){nZe=!0,await null,nZe=!1}var nZe=!1;function P5(e){class t extends e{get[Zm](){if(!this[rZe])this[rZe]=this.attachInternals();return this[rZe]}}return t}var Zm,rZe;var vS=P(()=>{Zm=Symbol("internals"),rZe=Symbol("privateInternals")});function M5(e){class t extends e{static{this.formAssociated=!0}get form(){return this[Zm].form}get labels(){return this[Zm].labels}get name(){return this.getAttribute("name")??""}set name(n){this.setAttribute("name",n)}get disabled(){return this.hasAttribute("disabled")}set disabled(n){this.toggleAttribute("disabled",Boolean(n))}attributeChangedCallback(n,r,o){if(n==="name"||n==="disabled"){let a=n==="disabled"?r!==null:r;this.requestUpdate(n,a);return}super.attributeChangedCallback(n,r,o)}requestUpdate(n,r,o){super.requestUpdate(n,r,o),this[Zm].setFormValue(this[bS](),this[_1e]())}[bS](){return this.getAttribute("value")}[_1e](){return this[bS]()}formDisabledCallback(n){this.disabled=n}}return Tt([xn({noAccessor:!0})],t.prototype,"name",null),Tt([xn({type:Boolean,noAccessor:!0})],t.prototype,"disabled",null),t}var bS,_1e;var dY=P(()=>{yl();Pl();vS();bS=Symbol("getFormValue"),_1e=Symbol("getFormState")});function H1e(e,t){let n=e[vbn];if(!n)throw Error(`'${e.type}' event needs setupDispatchHooks().`);n.addEventListener("after",t,{once:!0})}function V1e(e,...t){let n=ybn.get(e);if(!n)n=new Set,ybn.set(e,n);for(let r of t){if(n.has(r))continue;e.addEventListener(r,(o)=>{let a=new EventTarget;o[vbn]=a;let i=new AbortController,s=()=>{i.abort(),a.dispatchEvent(new Event("after"))},l=(d)=>function(){d.call(this),s()};o.stopPropagation=l(o.stopPropagation),o.stopImmediatePropagation=l(o.stopImmediatePropagation);let c=o.composedPath(),u;if(o.composed&&o.bubbles)u=c[c.length-1];else if(!o.bubbles)u=c[0];else u=c[0].getRootNode();u.addEventListener(r,()=>{s()},{once:!0,signal:i.signal})},{capture:!0}),n.add(r)}}var vbn,ybn;var oZe=P(()=>{vbn=Symbol("dispatchHooks");ybn=new WeakMap});function bbn(e){class t extends e{get name(){return this.getAttribute("name")??""}set name(n){this.setAttribute("name",n)}constructor(...n){super(...n);if(this.type="submit",this.value="",md)return;V1e(this,"click"),this.addEventListener("click",async(r)=>{let o=this.type==="reset",a=this.type==="submit",i=this[Zm],{form:s}=i;if(!s||!(a||o))return;H1e(r,()=>{if(r.defaultPrevented)return;if(o){s.reset();return}s.addEventListener("submit",(l)=>{Object.defineProperty(l,"submitter",{configurable:!0,enumerable:!0,get:()=>this})},{capture:!0,once:!0}),i.setFormValue(this.value),s.requestSubmit()})})}}return Tt([xn()],t.prototype,"type",void 0),Tt([xn({reflect:!0})],t.prototype,"value",void 0),t}var xbn=P(()=>{yl();sa();Pl();oZe();vS()});var p_r,pp;var PO=P(()=>{yl();B1e();U1e();sa();Pl();uY();vS();dY();xbn();p_r=R5(bbn(M5(P5(tc))));pp=class pp extends p_r{static{this.shadowRootOptions={mode:"open",delegatesFocus:!0}}constructor(){super();if(this.softDisabled=!1,this.href="",this.download="",this.target="",this.trailingIcon=!1,this.hasIcon=!1,!md)this.addEventListener("click",this.handleClick.bind(this))}focus(){this.buttonElement?.focus()}blur(){this.buttonElement?.blur()}render(){let e=this.disabled||this.softDisabled,t=this.href?this.renderLink():this.renderButton(),n=this.href?"link":"button";return Pr` +\f\r"'\`<>=]|("|')|))|$)`, + "g", + )), + (qvn = /'/g), + (Zvn = /"/g), + (Wvn = /^(?:script|style|textarea|title)$/i), + (Pr = zqe(1)), + (Yvn = zqe(2)), + (Kvn = zqe(3)), + (Gm = Symbol.for("lit-noChange")), + (cr = Symbol.for("lit-nothing")), + (Qvn = new WeakMap()), + (j7 = $7.createTreeWalker($7, 129))); + Hqe = class Hqe extends EO { + constructor() { + (super(...arguments), (this.type = 3)); + } + j(e) { + this.element[this.name] = e === cr ? void 0 : e; + } + }; + Vqe = class Vqe extends EO { + constructor() { + (super(...arguments), (this.type = 4)); + } + j(e) { + this.element.toggleAttribute(this.name, !!e && e !== cr); + } + }; + Gqe = class Gqe extends EO { + constructor(e, t, n, r, o) { + (super(e, t, n, r, o), (this.type = 5)); + } + _$AI(e, t = this) { + if ((e = ek(this, e, t, 0) ?? cr) === Gm) return; + let n = this._$AH, + r = + (e === cr && n !== cr) || + e.capture !== n.capture || + e.once !== n.once || + e.passive !== n.passive, + o = e !== cr && (n === cr || r); + (r && this.element.removeEventListener(this.name, this, n), + o && this.element.addEventListener(this.name, this, e), + (this._$AH = e)); + } + handleEvent(e) { + typeof this._$AH == "function" + ? this._$AH.call(this.options?.host ?? this.element, e) + : this._$AH.handleEvent(e); + } + }; + (($vn = { + M: "$lit$", + P: gS, + A: Uqe, + C: 1, + L: jvn, + R: _qe, + D: Xvn, + V: ek, + I: CO, + H: EO, + N: Vqe, + U: Gqe, + B: Hqe, + F: qqe, + }), + (Yzr = Fqe.litHtmlPolyfillSupport)); + (Yzr?.(iY, CO), (Fqe.litHtmlVersions ??= []).push("3.3.3")); +}); +var Zqe, tc, Kzr; +var ebn = P(() => { + nY(); + yS(); + nY(); + yS(); + Zqe = globalThis; + tc = class tc extends k5 { + constructor() { + (super(...arguments), + (this.renderOptions = { host: this }), + (this._$Do = void 0)); + } + createRenderRoot() { + let e = super.createRenderRoot(); + return ((this.renderOptions.renderBefore ??= e.firstChild), e); + } + update(e) { + let t = this.render(); + (this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), + super.update(e), + (this._$Do = L1e(t, this.renderRoot, this.renderOptions))); + } + connectedCallback() { + (super.connectedCallback(), this._$Do?.setConnected(!0)); + } + disconnectedCallback() { + (super.disconnectedCallback(), this._$Do?.setConnected(!1)); + } + render() { + return Gm; + } + }; + ((tc._$litElement$ = !0), + (tc.finalized = !0), + Zqe.litElementHydrateSupport?.({ LitElement: tc })); + Kzr = Zqe.litElementPolyfillSupport; + Kzr?.({ LitElement: tc }); + (Zqe.litElementVersions ??= []).push("4.2.2"); +}); +var md = !1; +var tbn = () => {}; +var sa = P(() => { + nY(); + yS(); + ebn(); + tbn(); +}); +var Qqe; +var nbn = P(() => { + sa(); + Qqe = class Qqe extends tc { + connectedCallback() { + (super.connectedCallback(), this.setAttribute("aria-hidden", "true")); + } + render() { + return Pr``; + } + }; +}); +var Xqe, j7s; +var rbn = P(() => { + sa(); + ((Xqe = ia`:host,.shadow,.shadow::before,.shadow::after{border-radius:inherit;inset:0;position:absolute;transition-duration:inherit;transition-property:inherit;transition-timing-function:inherit}:host{display:flex;pointer-events:none;transition-property:box-shadow,opacity}.shadow::before,.shadow::after{content:"";transition-property:box-shadow,opacity;--_level: var(--md-elevation-level, 0);--_shadow-color: var(--md-elevation-shadow-color, var(--md-sys-color-shadow, #000))}.shadow::before{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 3,1) + 2*clamp(0,var(--_level) - 4,1))) calc(1px*(2*clamp(0,var(--_level),1) + clamp(0,var(--_level) - 2,1) + clamp(0,var(--_level) - 4,1))) 0px var(--_shadow-color);opacity:.3}.shadow::after{box-shadow:0px calc(1px*(clamp(0,var(--_level),1) + clamp(0,var(--_level) - 1,1) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(3*clamp(0,var(--_level),2) + 2*clamp(0,var(--_level) - 2,3))) calc(1px*(clamp(0,var(--_level),4) + 2*clamp(0,var(--_level) - 4,1))) var(--_shadow-color);opacity:.15}`), + (j7s = Xqe.styleSheet)); +}); +var obn; +var sY = P(() => { + yl(); + Pl(); + nbn(); + rbn(); + obn = class extends Qqe { + static { + this.styles = [Xqe]; + } + }; + obn = Tt([ds("md-elevation")], obn); +}); +class lY { + get htmlFor() { + return this.host.getAttribute("for"); + } + set htmlFor(e) { + if (e === null) this.host.removeAttribute("for"); + else this.host.setAttribute("for", e); + } + get control() { + if (this.host.hasAttribute("for")) { + if (!this.htmlFor || !this.host.isConnected) return null; + return this.host.getRootNode().querySelector(`#${this.htmlFor}`); + } + return this.currentControl || this.host.parentElement; + } + set control(e) { + if (e) this.attach(e); + else this.detach(); + } + constructor(e, t) { + ((this.host = e), + (this.onControlChange = t), + (this.currentControl = null), + e.addController(this), + (e[abn] = this), + ibn?.observe(e, { attributeFilter: ["for"] })); + } + attach(e) { + if (e === this.currentControl) return; + (this.setCurrentControl(e), this.host.removeAttribute("for")); + } + detach() { + (this.setCurrentControl(null), this.host.setAttribute("for", "")); + } + hostConnected() { + this.setCurrentControl(this.control); + } + hostDisconnected() { + this.setCurrentControl(null); + } + setCurrentControl(e) { + (this.onControlChange(this.currentControl, e), (this.currentControl = e)); + } +} +var abn, ibn; +var Wqe = P(() => { + sa(); + abn = Symbol("attachableController"); + if (!md) + ibn = new MutationObserver((e) => { + for (let t of e) t.target[abn]?.hostConnected(); + }); +}); +var Jzr, cY, sbn; +var lbn = P(() => { + yl(); + sa(); + Pl(); + Wqe(); + Jzr = ["focusin", "focusout", "pointerdown"]; + cY = class cY extends tc { + constructor() { + super(...arguments); + ((this.visible = !1), + (this.inward = !1), + (this.attachableController = new lY( + this, + this.onControlChange.bind(this), + ))); + } + get htmlFor() { + return this.attachableController.htmlFor; + } + set htmlFor(e) { + this.attachableController.htmlFor = e; + } + get control() { + return this.attachableController.control; + } + set control(e) { + this.attachableController.control = e; + } + attach(e) { + this.attachableController.attach(e); + } + detach() { + this.attachableController.detach(); + } + connectedCallback() { + (super.connectedCallback(), this.setAttribute("aria-hidden", "true")); + } + handleEvent(e) { + if (e[sbn]) return; + switch (e.type) { + default: + return; + case "focusin": + this.visible = this.control?.matches(":focus-visible") ?? !1; + break; + case "focusout": + case "pointerdown": + this.visible = !1; + break; + } + e[sbn] = !0; + } + onControlChange(e, t) { + if (md) return; + for (let n of Jzr) + (e?.removeEventListener(n, this), t?.addEventListener(n, this)); + } + update(e) { + if (e.has("visible")) this.dispatchEvent(new Event("visibility-changed")); + super.update(e); + } + }; + Tt([xn({ type: Boolean, reflect: !0 })], cY.prototype, "visible", void 0); + Tt([xn({ type: Boolean, reflect: !0 })], cY.prototype, "inward", void 0); + sbn = Symbol("handledByFocusRing"); +}); +var Yqe, fks; +var cbn = P(() => { + sa(); + ((Yqe = ia`:host{animation-delay:0s,calc(var(--md-focus-ring-duration, 600ms)*.25);animation-duration:calc(var(--md-focus-ring-duration, 600ms)*.25),calc(var(--md-focus-ring-duration, 600ms)*.75);animation-timing-function:cubic-bezier(0.2, 0, 0, 1);box-sizing:border-box;color:var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));display:none;pointer-events:none;position:absolute}:host([visible]){display:flex}:host(:not([inward])){animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) + var(--md-focus-ring-outward-offset, 2px));inset:calc(-1*var(--md-focus-ring-outward-offset, 2px));outline:var(--md-focus-ring-width, 3px) solid currentColor}:host([inward]){animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--md-focus-ring-shape-end-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-end-start-radius:calc(var(--md-focus-ring-shape-end-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-end-radius:calc(var(--md-focus-ring-shape-start-end, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border-start-start-radius:calc(var(--md-focus-ring-shape-start-start, var(--md-focus-ring-shape, var(--md-sys-shape-corner-full, 9999px))) - var(--md-focus-ring-inward-offset, 0px));border:var(--md-focus-ring-width, 3px) solid currentColor;inset:var(--md-focus-ring-inward-offset, 0px)}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes outward-shrink{from{outline-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--md-focus-ring-active-width, 8px)}}@keyframes inward-shrink{from{border-width:var(--md-focus-ring-active-width, 8px)}}@media(prefers-reduced-motion){:host{animation:none}}`), + (fks = Yqe.styleSheet)); +}); +var ubn; +var B1e = P(() => { + yl(); + Pl(); + lbn(); + cbn(); + ubn = class extends cY { + static { + this.styles = [Yqe]; + } + }; + ubn = Tt([ds("md-focus-ring")], ubn); +}); +class tk { + constructor(e) {} + get _$AU() { + return this._$AM._$AU; + } + _$AT(e, t, n) { + ((this._$Ct = e), (this._$AM = t), (this._$Ci = n)); + } + _$AS(e, t) { + return this.update(e, t); + } + update(e, t) { + return this.render(...t); + } +} +var Fv, + IO = + (e) => + (...t) => ({ _$litDirective$: e, values: t }); +var O1e = P(() => { + Fv = { + ATTRIBUTE: 1, + CHILD: 2, + PROPERTY: 3, + BOOLEAN_ATTRIBUTE: 4, + EVENT: 5, + ELEMENT: 6, + }; +}); +var qm; +var dbn = P(() => { + yS(); + O1e(); + qm = IO( + class extends tk { + constructor(e) { + if ( + (super(e), + e.type !== Fv.ATTRIBUTE || + e.name !== "class" || + e.strings?.length > 2) + ) + throw Error( + "`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.", + ); + } + render(e) { + return ( + " " + + Object.keys(e) + .filter((t) => e[t]) + .join(" ") + + " " + ); + } + update(e, [t]) { + if (this.st === void 0) { + ((this.st = new Set()), + e.strings !== void 0 && + (this.nt = new Set( + e.strings + .join(" ") + .split(/\s/) + .filter((r) => r !== ""), + ))); + for (let r in t) t[r] && !this.nt?.has(r) && this.st.add(r); + return this.render(t); + } + let n = e.element.classList; + for (let r of this.st) r in t || (n.remove(r), this.st.delete(r)); + for (let r in t) { + let o = !!t[r]; + o === this.st.has(r) || + this.nt?.has(r) || + (o ? (n.add(r), this.st.add(r)) : (n.remove(r), this.st.delete(r))); + } + return Gm; + } + }, + ); +}); +var TO = P(() => { + dbn(); +}); +var F1e; +var Kqe = P(() => { + F1e = { + STANDARD: "cubic-bezier(0.2, 0, 0, 1)", + STANDARD_ACCELERATE: "cubic-bezier(.3,0,1,1)", + STANDARD_DECELERATE: "cubic-bezier(0,0,0,1)", + EMPHASIZED: "cubic-bezier(.3,0,0,1)", + EMPHASIZED_ACCELERATE: "cubic-bezier(.3,0,.8,.15)", + EMPHASIZED_DECELERATE: "cubic-bezier(.05,.7,.1,1)", + }; +}); +var jzr = 450, + pbn = 225, + $zr = 0.2, + e_r = 10, + t_r = 75, + n_r = 0.35, + r_r = "::after", + o_r = "forwards", + zh, + a_r, + i_r = 150, + s_r, + nk; +var fbn = P(() => { + yl(); + sa(); + Pl(); + TO(); + Wqe(); + Kqe(); + (function (e) { + ((e[(e.INACTIVE = 0)] = "INACTIVE"), + (e[(e.TOUCH_DELAY = 1)] = "TOUCH_DELAY"), + (e[(e.HOLDING = 2)] = "HOLDING"), + (e[(e.WAITING_FOR_CLICK = 3)] = "WAITING_FOR_CLICK")); + })(zh || (zh = {})); + ((a_r = [ + "click", + "contextmenu", + "pointercancel", + "pointerdown", + "pointerenter", + "pointerleave", + "pointerup", + ]), + (s_r = md ? null : window.matchMedia("(forced-colors: active)"))); + nk = class nk extends tc { + constructor() { + super(...arguments); + ((this.disabled = !1), + (this.hovered = !1), + (this.pressed = !1), + (this.rippleSize = ""), + (this.rippleScale = ""), + (this.initialSize = 0), + (this.state = zh.INACTIVE), + (this.attachableController = new lY( + this, + this.onControlChange.bind(this), + ))); + } + get htmlFor() { + return this.attachableController.htmlFor; + } + set htmlFor(e) { + this.attachableController.htmlFor = e; + } + get control() { + return this.attachableController.control; + } + set control(e) { + this.attachableController.control = e; + } + attach(e) { + this.attachableController.attach(e); + } + detach() { + this.attachableController.detach(); + } + connectedCallback() { + (super.connectedCallback(), this.setAttribute("aria-hidden", "true")); + } + render() { + let e = { hovered: this.hovered, pressed: this.pressed }; + return Pr`
`; + } + update(e) { + if (e.has("disabled") && this.disabled) + ((this.hovered = !1), (this.pressed = !1)); + super.update(e); + } + handlePointerenter(e) { + if (!this.shouldReactToEvent(e)) return; + this.hovered = !0; + } + handlePointerleave(e) { + if (!this.shouldReactToEvent(e)) return; + if (((this.hovered = !1), this.state !== zh.INACTIVE)) + this.endPressAnimation(); + } + handlePointerup(e) { + if (!this.shouldReactToEvent(e)) return; + if (this.state === zh.HOLDING) { + this.state = zh.WAITING_FOR_CLICK; + return; + } + if (this.state === zh.TOUCH_DELAY) { + ((this.state = zh.WAITING_FOR_CLICK), + this.startPressAnimation(this.rippleStartEvent)); + return; + } + } + async handlePointerdown(e) { + if (!this.shouldReactToEvent(e)) return; + if (((this.rippleStartEvent = e), !this.isTouch(e))) { + ((this.state = zh.WAITING_FOR_CLICK), this.startPressAnimation(e)); + return; + } + if ( + ((this.state = zh.TOUCH_DELAY), + await new Promise((t) => { + setTimeout(t, i_r); + }), + this.state !== zh.TOUCH_DELAY) + ) + return; + ((this.state = zh.HOLDING), this.startPressAnimation(e)); + } + handleClick() { + if (this.disabled) return; + if (this.state === zh.WAITING_FOR_CLICK) { + this.endPressAnimation(); + return; + } + if (this.state === zh.INACTIVE) + (this.startPressAnimation(), this.endPressAnimation()); + } + handlePointercancel(e) { + if (!this.shouldReactToEvent(e)) return; + this.endPressAnimation(); + } + handleContextmenu() { + if (this.disabled) return; + this.endPressAnimation(); + } + determineRippleSize(e) { + let { height: t, width: n } = e, + r = Math.max(t, n), + o = Math.max(n_r * r, t_r), + a = this.currentCSSZoom ?? 1, + i = Math.floor((r * $zr) / a), + l = Math.sqrt(n ** 2 + t ** 2) + e_r; + this.initialSize = i; + let c = (l + o) / i; + ((this.rippleScale = `${c / a}`), (this.rippleSize = `${i}px`)); + } + getNormalizedPointerEventCoords(e, t) { + let { scrollX: n, scrollY: r } = window, + { left: o, top: a } = t, + i = n + o, + s = r + a, + { pageX: l, pageY: c } = e, + u = this.currentCSSZoom ?? 1; + return { x: (l - i) / u, y: (c - s) / u }; + } + getTranslationCoordinates(e, t) { + let { height: n, width: r } = e, + o = this.currentCSSZoom ?? 1, + a = { + x: (r / o - this.initialSize) / 2, + y: (n / o - this.initialSize) / 2, + }, + i; + if (t instanceof PointerEvent) + i = this.getNormalizedPointerEventCoords(t, e); + else i = { x: r / o / 2, y: n / o / 2 }; + return ( + (i = { x: i.x - this.initialSize / 2, y: i.y - this.initialSize / 2 }), + { startPoint: i, endPoint: a } + ); + } + startPressAnimation(e) { + if (!this.mdRoot) return; + ((this.pressed = !0), this.growAnimation?.cancel()); + let t = this.getBoundingClientRect(); + this.determineRippleSize(t); + let { startPoint: n, endPoint: r } = this.getTranslationCoordinates(t, e), + o = `${n.x}px, ${n.y}px`, + a = `${r.x}px, ${r.y}px`; + this.growAnimation = this.mdRoot.animate( + { + top: [0, 0], + left: [0, 0], + height: [this.rippleSize, this.rippleSize], + width: [this.rippleSize, this.rippleSize], + transform: [ + `translate(${o}) scale(1)`, + `translate(${a}) scale(${this.rippleScale})`, + ], + }, + { pseudoElement: r_r, duration: jzr, easing: F1e.STANDARD, fill: o_r }, + ); + } + async endPressAnimation() { + ((this.rippleStartEvent = void 0), (this.state = zh.INACTIVE)); + let e = this.growAnimation, + t = 1 / 0; + if (typeof e?.currentTime === "number") t = e.currentTime; + else if (e?.currentTime) t = e.currentTime.to("ms").value; + if (t >= pbn) { + this.pressed = !1; + return; + } + if ( + (await new Promise((n) => { + setTimeout(n, pbn - t); + }), + this.growAnimation !== e) + ) + return; + this.pressed = !1; + } + shouldReactToEvent(e) { + if (this.disabled || !e.isPrimary) return !1; + if ( + this.rippleStartEvent && + this.rippleStartEvent.pointerId !== e.pointerId + ) + return !1; + if (e.type === "pointerenter" || e.type === "pointerleave") + return !this.isTouch(e); + let t = e.buttons === 1; + return this.isTouch(e) || t; + } + isTouch({ pointerType: e }) { + return e === "touch"; + } + async handleEvent(e) { + if (s_r?.matches) return; + switch (e.type) { + case "click": + this.handleClick(); + break; + case "contextmenu": + this.handleContextmenu(); + break; + case "pointercancel": + this.handlePointercancel(e); + break; + case "pointerdown": + await this.handlePointerdown(e); + break; + case "pointerenter": + this.handlePointerenter(e); + break; + case "pointerleave": + this.handlePointerleave(e); + break; + case "pointerup": + this.handlePointerup(e); + break; + default: + break; + } + } + onControlChange(e, t) { + if (md) return; + for (let n of a_r) + (e?.removeEventListener(n, this), t?.addEventListener(n, this)); + } + }; + Tt([xn({ type: Boolean, reflect: !0 })], nk.prototype, "disabled", void 0); + Tt([dp()], nk.prototype, "hovered", void 0); + Tt([dp()], nk.prototype, "pressed", void 0); + Tt([rf(".surface")], nk.prototype, "mdRoot", void 0); +}); +var Jqe, Fks; +var mbn = P(() => { + sa(); + ((Jqe = ia`:host{display:flex;margin:auto;pointer-events:none}:host([disabled]){display:none}@media(forced-colors: active){:host{display:none}}:host,.surface{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.surface{-webkit-tap-highlight-color:rgba(0,0,0,0)}.surface::before,.surface::after{content:"";opacity:0;position:absolute}.surface::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));inset:0;transition:opacity 15ms linear,background-color 15ms linear}.surface::after{background:radial-gradient(closest-side, var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20)) max(100% - 70px, 65%), transparent 100%);transform-origin:center center;transition:opacity 375ms linear}.hovered::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}.pressed::after{opacity:var(--md-ripple-pressed-opacity, 0.12);transition-duration:105ms}`), + (Fks = Jqe.styleSheet)); +}); +var hbn; +var U1e = P(() => { + yl(); + Pl(); + fbn(); + mbn(); + hbn = class extends nk { + static { + this.styles = [Jqe]; + } + }; + hbn = Tt([ds("md-ripple")], hbn); +}); +function N1e(e) { + return l_r.includes(e); +} +function $qe(e) { + return e + .replace("aria", "aria-") + .replace(/Elements?/g, "") + .toLowerCase(); +} +var jqe, l_r; +var gbn = P(() => { + ((jqe = [ + "role", + "ariaAtomic", + "ariaAutoComplete", + "ariaBusy", + "ariaChecked", + "ariaColCount", + "ariaColIndex", + "ariaColSpan", + "ariaCurrent", + "ariaDisabled", + "ariaExpanded", + "ariaHasPopup", + "ariaHidden", + "ariaInvalid", + "ariaKeyShortcuts", + "ariaLabel", + "ariaLevel", + "ariaLive", + "ariaModal", + "ariaMultiLine", + "ariaMultiSelectable", + "ariaOrientation", + "ariaPlaceholder", + "ariaPosInSet", + "ariaPressed", + "ariaReadOnly", + "ariaRequired", + "ariaRoleDescription", + "ariaRowCount", + "ariaRowIndex", + "ariaRowSpan", + "ariaSelected", + "ariaSetSize", + "ariaSort", + "ariaValueMax", + "ariaValueMin", + "ariaValueNow", + "ariaValueText", + ]), + (l_r = jqe.map($qe))); +}); +function R5(e) { + var t; + if (md) return e; + class n extends e { + constructor() { + super(...arguments); + this[t] = new Set(); + } + static { + t = z1e; + } + attributeChangedCallback(r, o, a) { + if (!N1e(r)) { + super.attributeChangedCallback(r, o, a); + return; + } + if (this[z1e].has(r)) return; + (this[z1e].add(r), this.removeAttribute(r), this[z1e].delete(r)); + let i = tZe(r); + if (a === null) delete this.dataset[i]; + else this.dataset[i] = a; + this.requestUpdate(tZe(r), o); + } + getAttribute(r) { + if (N1e(r)) return super.getAttribute(eZe(r)); + return super.getAttribute(r); + } + removeAttribute(r) { + if ((super.removeAttribute(r), N1e(r))) + (super.removeAttribute(eZe(r)), this.requestUpdate()); + } + } + return (c_r(n), n); +} +function c_r(e) { + for (let t of jqe) { + let n = $qe(t), + r = eZe(n), + o = tZe(n); + (e.createProperty(t, { attribute: n, noAccessor: !0 }), + e.createProperty(Symbol(r), { attribute: r, noAccessor: !0 }), + Object.defineProperty(e.prototype, t, { + configurable: !0, + enumerable: !0, + get() { + return this.dataset[o] ?? null; + }, + set(a) { + let i = this.dataset[o] ?? null; + if (a === i) return; + if (a === null) delete this.dataset[o]; + else this.dataset[o] = a; + this.requestUpdate(t, i); + }, + })); + } +} +function eZe(e) { + return `data-${e}`; +} +function tZe(e) { + return e.replace(/-\w/, (t) => t[1].toUpperCase()); +} +var z1e; +var uY = P(() => { + sa(); + gbn(); + z1e = Symbol("privateIgnoreAttributeChangesFor"); +}); +function kO(e) { + let t = new MouseEvent("click", { bubbles: !0 }); + return (e.dispatchEvent(t), t); +} +function RO(e) { + if (e.currentTarget !== e.target) return !1; + if (e.composedPath()[0] !== e.target) return !1; + if (e.target.disabled) return !1; + return !u_r(e); +} +function u_r(e) { + let t = nZe; + if (t) (e.preventDefault(), e.stopImmediatePropagation()); + return (d_r(), t); +} +async function d_r() { + ((nZe = !0), await null, (nZe = !1)); +} +var nZe = !1; +function P5(e) { + class t extends e { + get [Zm]() { + if (!this[rZe]) this[rZe] = this.attachInternals(); + return this[rZe]; + } + } + return t; +} +var Zm, rZe; +var vS = P(() => { + ((Zm = Symbol("internals")), (rZe = Symbol("privateInternals"))); +}); +function M5(e) { + class t extends e { + static { + this.formAssociated = !0; + } + get form() { + return this[Zm].form; + } + get labels() { + return this[Zm].labels; + } + get name() { + return this.getAttribute("name") ?? ""; + } + set name(n) { + this.setAttribute("name", n); + } + get disabled() { + return this.hasAttribute("disabled"); + } + set disabled(n) { + this.toggleAttribute("disabled", Boolean(n)); + } + attributeChangedCallback(n, r, o) { + if (n === "name" || n === "disabled") { + let a = n === "disabled" ? r !== null : r; + this.requestUpdate(n, a); + return; + } + super.attributeChangedCallback(n, r, o); + } + requestUpdate(n, r, o) { + (super.requestUpdate(n, r, o), + this[Zm].setFormValue(this[bS](), this[_1e]())); + } + [bS]() { + return this.getAttribute("value"); + } + [_1e]() { + return this[bS](); + } + formDisabledCallback(n) { + this.disabled = n; + } + } + return ( + Tt([xn({ noAccessor: !0 })], t.prototype, "name", null), + Tt([xn({ type: Boolean, noAccessor: !0 })], t.prototype, "disabled", null), + t + ); +} +var bS, _1e; +var dY = P(() => { + yl(); + Pl(); + vS(); + ((bS = Symbol("getFormValue")), (_1e = Symbol("getFormState"))); +}); +function H1e(e, t) { + let n = e[vbn]; + if (!n) throw Error(`'${e.type}' event needs setupDispatchHooks().`); + n.addEventListener("after", t, { once: !0 }); +} +function V1e(e, ...t) { + let n = ybn.get(e); + if (!n) ((n = new Set()), ybn.set(e, n)); + for (let r of t) { + if (n.has(r)) continue; + (e.addEventListener( + r, + (o) => { + let a = new EventTarget(); + o[vbn] = a; + let i = new AbortController(), + s = () => { + (i.abort(), a.dispatchEvent(new Event("after"))); + }, + l = (d) => + function () { + (d.call(this), s()); + }; + ((o.stopPropagation = l(o.stopPropagation)), + (o.stopImmediatePropagation = l(o.stopImmediatePropagation))); + let c = o.composedPath(), + u; + if (o.composed && o.bubbles) u = c[c.length - 1]; + else if (!o.bubbles) u = c[0]; + else u = c[0].getRootNode(); + u.addEventListener( + r, + () => { + s(); + }, + { once: !0, signal: i.signal }, + ); + }, + { capture: !0 }, + ), + n.add(r)); + } +} +var vbn, ybn; +var oZe = P(() => { + vbn = Symbol("dispatchHooks"); + ybn = new WeakMap(); +}); +function bbn(e) { + class t extends e { + get name() { + return this.getAttribute("name") ?? ""; + } + set name(n) { + this.setAttribute("name", n); + } + constructor(...n) { + super(...n); + if (((this.type = "submit"), (this.value = ""), md)) return; + (V1e(this, "click"), + this.addEventListener("click", async (r) => { + let o = this.type === "reset", + a = this.type === "submit", + i = this[Zm], + { form: s } = i; + if (!s || !(a || o)) return; + H1e(r, () => { + if (r.defaultPrevented) return; + if (o) { + s.reset(); + return; + } + (s.addEventListener( + "submit", + (l) => { + Object.defineProperty(l, "submitter", { + configurable: !0, + enumerable: !0, + get: () => this, + }); + }, + { capture: !0, once: !0 }, + ), + i.setFormValue(this.value), + s.requestSubmit()); + }); + })); + } + } + return ( + Tt([xn()], t.prototype, "type", void 0), + Tt([xn({ reflect: !0 })], t.prototype, "value", void 0), + t + ); +} +var xbn = P(() => { + yl(); + sa(); + Pl(); + oZe(); + vS(); +}); +var p_r, pp; +var PO = P(() => { + yl(); + B1e(); + U1e(); + sa(); + Pl(); + uY(); + vS(); + dY(); + xbn(); + p_r = R5(bbn(M5(P5(tc)))); + pp = class pp extends p_r { + static { + this.shadowRootOptions = { mode: "open", delegatesFocus: !0 }; + } + constructor() { + super(); + if ( + ((this.softDisabled = !1), + (this.href = ""), + (this.download = ""), + (this.target = ""), + (this.trailingIcon = !1), + (this.hasIcon = !1), + !md) + ) + this.addEventListener("click", this.handleClick.bind(this)); + } + focus() { + this.buttonElement?.focus(); + } + blur() { + this.buttonElement?.blur(); + } + render() { + let e = this.disabled || this.softDisabled, + t = this.href ? this.renderLink() : this.renderButton(), + n = this.href ? "link" : "button"; + return Pr` ${this.renderElevationOrOutline?.()}
${t} - `}renderButton(){let{ariaLabel:e,ariaHasPopup:t,ariaExpanded:n}=this;return Pr``}renderLink(){let{ariaLabel:e,ariaHasPopup:t,ariaExpanded:n}=this;return Pr``; + } + renderLink() { + let { ariaLabel: e, ariaHasPopup: t, ariaExpanded: n } = this; + return Pr`${this.renderContent()} - `}renderContent(){let e=Pr``;return Pr` + `; + } + renderContent() { + let e = Pr``; + return Pr` - ${this.trailingIcon?cr:e} + ${this.trailingIcon ? cr : e} - ${this.trailingIcon?e:cr} - `}handleClick(e){if(this.softDisabled||this.disabled&&this.href){e.stopImmediatePropagation(),e.preventDefault();return}if(!RO(e)||!this.buttonElement)return;this.focus(),kO(this.buttonElement)}handleSlotChange(){this.hasIcon=this.assignedIcons.length>0}};Tt([xn({type:Boolean,attribute:"soft-disabled",reflect:!0})],pp.prototype,"softDisabled",void 0);Tt([xn()],pp.prototype,"href",void 0);Tt([xn()],pp.prototype,"download",void 0);Tt([xn()],pp.prototype,"target",void 0);Tt([xn({type:Boolean,attribute:"trailing-icon",reflect:!0})],pp.prototype,"trailingIcon",void 0);Tt([xn({type:Boolean,attribute:"has-icon",reflect:!0})],pp.prototype,"hasIcon",void 0);Tt([rf(".button")],pp.prototype,"buttonElement",void 0);Tt([K7({slot:"icon",flatten:!0})],pp.prototype,"assignedIcons",void 0)});var aZe;var Abn=P(()=>{sY();sa();PO();aZe=class aZe extends pp{renderElevationOrOutline(){return Pr``}}});var iZe,wRs;var wbn=P(()=>{sa();iZe=ia`:host{--_container-color: var(--md-elevated-button-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_container-elevation: var(--md-elevated-button-container-elevation, 1);--_container-height: var(--md-elevated-button-container-height, 40px);--_container-shadow-color: var(--md-elevated-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-elevated-button-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-elevation: var(--md-elevated-button-disabled-container-elevation, 0);--_disabled-container-opacity: var(--md-elevated-button-disabled-container-opacity, 0.12);--_disabled-label-text-color: var(--md-elevated-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-elevated-button-disabled-label-text-opacity, 0.38);--_focus-container-elevation: var(--md-elevated-button-focus-container-elevation, 1);--_focus-label-text-color: var(--md-elevated-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-container-elevation: var(--md-elevated-button-hover-container-elevation, 2);--_hover-label-text-color: var(--md-elevated-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-elevated-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-elevated-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-elevated-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-elevated-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-elevated-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-elevated-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-elevated-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-container-elevation: var(--md-elevated-button-pressed-container-elevation, 1);--_pressed-label-text-color: var(--md-elevated-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-elevated-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-elevated-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-elevated-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-elevated-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-elevated-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-elevated-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-elevated-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-elevated-button-icon-size, 18px);--_pressed-icon-color: var(--md-elevated-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-elevated-button-container-shape-start-start, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-elevated-button-container-shape-start-end, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-elevated-button-container-shape-end-end, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-elevated-button-container-shape-end-start, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-elevated-button-leading-space, 24px);--_trailing-space: var(--md-elevated-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-elevated-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-elevated-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-elevated-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-elevated-button-with-trailing-icon-trailing-space, 16px)}`,wRs=iZe.styleSheet});var rk,ERs;var G1e=P(()=>{sa();rk=ia`md-elevation{transition-duration:280ms}:host(:is([disabled],[soft-disabled])) md-elevation{transition:none}md-elevation{--md-elevation-level: var(--_container-elevation);--md-elevation-shadow-color: var(--_container-shadow-color)}:host(:focus-within) md-elevation{--md-elevation-level: var(--_focus-container-elevation)}:host(:hover) md-elevation{--md-elevation-level: var(--_hover-container-elevation)}:host(:active) md-elevation{--md-elevation-level: var(--_pressed-container-elevation)}:host(:is([disabled],[soft-disabled])) md-elevation{--md-elevation-level: var(--_disabled-container-elevation)}`,ERs=rk.styleSheet});var Uv,kRs;var MO=P(()=>{sa();Uv=ia`:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:8px;min-height:var(--_container-height);outline:none;padding-block:calc((var(--_container-height) - max(var(--_label-text-line-height),var(--_icon-size)))/2);padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space);place-content:center;place-items:center;position:relative;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);text-overflow:ellipsis;text-wrap:nowrap;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host(:is([disabled],[soft-disabled])){cursor:default;pointer-events:none}.button{border-radius:inherit;cursor:inherit;display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;min-width:calc(64px - var(--_leading-space) - var(--_trailing-space));width:100%;z-index:0;height:100%;font:inherit;color:var(--_label-text-color);padding:0;gap:inherit;text-transform:inherit}.button::-moz-focus-inner{padding:0;border:0}:host(:hover) .button{color:var(--_hover-label-text-color)}:host(:focus-within) .button{color:var(--_focus-label-text-color)}:host(:active) .button{color:var(--_pressed-label-text-color)}.background{background:var(--_container-color);border-radius:inherit;inset:0;position:absolute}.label{overflow:hidden}:is(.button,.label,.label slot),.label ::slotted(*){text-overflow:inherit}:host(:is([disabled],[soft-disabled])) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}:host(:is([disabled],[soft-disabled])) .background{background:var(--_disabled-container-color);opacity:var(--_disabled-container-opacity)}@media(forced-colors: active){.background{border:1px solid CanvasText}:host(:is([disabled],[soft-disabled])){--_disabled-icon-color: GrayText;--_disabled-icon-opacity: 1;--_disabled-container-opacity: 1;--_disabled-label-text-color: GrayText;--_disabled-label-text-opacity: 1}}:host([has-icon]:not([trailing-icon])){padding-inline-start:var(--_with-leading-icon-leading-space);padding-inline-end:var(--_with-leading-icon-trailing-space)}:host([has-icon][trailing-icon]){padding-inline-start:var(--_with-trailing-icon-leading-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;flex-shrink:0;color:var(--_icon-color);font-size:var(--_icon-size);inline-size:var(--_icon-size);block-size:var(--_icon-size)}:host(:hover) ::slotted([slot=icon]){color:var(--_hover-icon-color)}:host(:focus-within) ::slotted([slot=icon]){color:var(--_focus-icon-color)}:host(:active) ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host(:is([disabled],[soft-disabled])) ::slotted([slot=icon]){color:var(--_disabled-icon-color);opacity:var(--_disabled-icon-opacity)}.touch{position:absolute;top:50%;height:max(48px,100%);left:0;right:0;transform:translateY(-50%)}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}:host([touch-target=none]) .touch{display:none}`,kRs=Uv.styleSheet});var q1e;var Sbn=P(()=>{yl();Pl();Abn();wbn();G1e();MO();q1e=class extends aZe{static{this.styles=[Uv,rk,iZe]}};q1e=Tt([ds("md-elevated-button")],q1e)});var sZe;var Cbn=P(()=>{sY();sa();PO();sZe=class sZe extends pp{renderElevationOrOutline(){return Pr``}}});var lZe,VRs;var Ebn=P(()=>{sa();lZe=ia`:host{--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-container-opacity: var(--md-filled-button-disabled-container-opacity, 0.12);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-button-disabled-label-text-opacity, 0.38);--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filled-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filled-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-filled-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-filled-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-filled-button-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_hover-icon-color: var(--md-filled-button-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_icon-color: var(--md-filled-button-icon-color, var(--md-sys-color-on-primary, #fff));--_icon-size: var(--md-filled-button-icon-size, 18px);--_pressed-icon-color: var(--md-filled-button-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-filled-button-leading-space, 24px);--_trailing-space: var(--md-filled-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-filled-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-filled-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-filled-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-filled-button-with-trailing-icon-trailing-space, 16px)}`,VRs=lZe.styleSheet});var Z1e;var Ibn=P(()=>{yl();Pl();Cbn();Ebn();G1e();MO();Z1e=class extends sZe{static{this.styles=[Uv,rk,lZe]}};Z1e=Tt([ds("md-filled-button")],Z1e)});var cZe;var Tbn=P(()=>{sY();sa();PO();cZe=class cZe extends pp{renderElevationOrOutline(){return Pr``}}});var uZe,nPs;var kbn=P(()=>{sa();uZe=ia`:host{--_container-color: var(--md-filled-tonal-button-container-color, var(--md-sys-color-secondary-container, #e8def8));--_container-elevation: var(--md-filled-tonal-button-container-elevation, 0);--_container-height: var(--md-filled-tonal-button-container-height, 40px);--_container-shadow-color: var(--md-filled-tonal-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-tonal-button-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-elevation: var(--md-filled-tonal-button-disabled-container-elevation, 0);--_disabled-container-opacity: var(--md-filled-tonal-button-disabled-container-opacity, 0.12);--_disabled-label-text-color: var(--md-filled-tonal-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-tonal-button-disabled-label-text-opacity, 0.38);--_focus-container-elevation: var(--md-filled-tonal-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-tonal-button-focus-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-container-elevation: var(--md-filled-tonal-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-tonal-button-hover-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-state-layer-color: var(--md-filled-tonal-button-hover-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-state-layer-opacity: var(--md-filled-tonal-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-tonal-button-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_label-text-font: var(--md-filled-tonal-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-tonal-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filled-tonal-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filled-tonal-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-container-elevation: var(--md-filled-tonal-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-tonal-button-pressed-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-color: var(--md-filled-tonal-button-pressed-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-opacity: var(--md-filled-tonal-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-filled-tonal-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-filled-tonal-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-filled-tonal-button-focus-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-icon-color: var(--md-filled-tonal-button-hover-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_icon-color: var(--md-filled-tonal-button-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_icon-size: var(--md-filled-tonal-button-icon-size, 18px);--_pressed-icon-color: var(--md-filled-tonal-button-pressed-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_container-shape-start-start: var(--md-filled-tonal-button-container-shape-start-start, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-filled-tonal-button-container-shape-start-end, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-filled-tonal-button-container-shape-end-end, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-filled-tonal-button-container-shape-end-start, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-filled-tonal-button-leading-space, 24px);--_trailing-space: var(--md-filled-tonal-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-filled-tonal-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-filled-tonal-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-filled-tonal-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-filled-tonal-button-with-trailing-icon-trailing-space, 16px)}`,nPs=uZe.styleSheet});var Q1e;var Rbn=P(()=>{yl();Pl();Tbn();kbn();G1e();MO();Q1e=class extends cZe{static{this.styles=[Uv,rk,uZe]}};Q1e=Tt([ds("md-filled-tonal-button")],Q1e)});var dZe;var Pbn=P(()=>{sa();PO();dZe=class dZe extends pp{renderElevationOrOutline(){return Pr`
`}}});var pZe,hPs;var Mbn=P(()=>{sa();pZe=ia`:host{--_container-height: var(--md-outlined-button-container-height, 40px);--_disabled-label-text-color: var(--md-outlined-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-button-disabled-label-text-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-button-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-button-disabled-outline-opacity, 0.12);--_focus-label-text-color: var(--md-outlined-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-label-text-color: var(--md-outlined-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-outlined-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-outlined-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-outlined-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-outlined-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-outlined-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-outlined-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_outline-color: var(--md-outlined-button-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-outlined-button-outline-width, 1px);--_pressed-label-text-color: var(--md-outlined-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-outline-color: var(--md-outlined-button-pressed-outline-color, var(--md-sys-color-outline, #79747e));--_pressed-state-layer-color: var(--md-outlined-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-outlined-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-outlined-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-outlined-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-outlined-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-outlined-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-outlined-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-outlined-button-icon-size, 18px);--_pressed-icon-color: var(--md-outlined-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-outlined-button-container-shape-start-start, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-outlined-button-container-shape-start-end, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-outlined-button-container-shape-end-end, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-outlined-button-container-shape-end-start, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-outlined-button-leading-space, 24px);--_trailing-space: var(--md-outlined-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-outlined-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-outlined-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-outlined-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-outlined-button-with-trailing-icon-trailing-space, 16px);--_container-color: none;--_disabled-container-color: none;--_disabled-container-opacity: 0}.outline{inset:0;border-style:solid;position:absolute;box-sizing:border-box;border-color:var(--_outline-color);border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:inherit;border-end-end-radius:inherit}:host(:active) .outline{border-color:var(--_pressed-outline-color)}:host(:is([disabled],[soft-disabled])) .outline{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}@media(forced-colors: active){:host(:is([disabled],[soft-disabled])) .background{border-color:GrayText}:host(:is([disabled],[soft-disabled])) .outline{opacity:1}}.outline,md-ripple{border-width:var(--_outline-width)}md-ripple{inline-size:calc(100% - 2*var(--_outline-width));block-size:calc(100% - 2*var(--_outline-width));border-style:solid;border-color:rgba(0,0,0,0)}`,hPs=pZe.styleSheet});var X1e;var Dbn=P(()=>{yl();Pl();Pbn();Mbn();MO();X1e=class extends dZe{static{this.styles=[Uv,pZe]}};X1e=Tt([ds("md-outlined-button")],X1e)});var fZe;var Lbn=P(()=>{PO();fZe=class fZe extends pp{}});var mZe,IPs;var Bbn=P(()=>{sa();mZe=ia`:host{--_container-height: var(--md-text-button-container-height, 40px);--_disabled-label-text-color: var(--md-text-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-text-button-disabled-label-text-opacity, 0.38);--_focus-label-text-color: var(--md-text-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-label-text-color: var(--md-text-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-text-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-text-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-text-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-text-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-text-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-text-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-text-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-label-text-color: var(--md-text-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-text-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-text-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-text-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-text-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-text-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-text-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-text-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-text-button-icon-size, 18px);--_pressed-icon-color: var(--md-text-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-text-button-container-shape-start-start, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-text-button-container-shape-start-end, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-text-button-container-shape-end-end, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-text-button-container-shape-end-start, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-text-button-leading-space, 12px);--_trailing-space: var(--md-text-button-trailing-space, 12px);--_with-leading-icon-leading-space: var(--md-text-button-with-leading-icon-leading-space, 12px);--_with-leading-icon-trailing-space: var(--md-text-button-with-leading-icon-trailing-space, 16px);--_with-trailing-icon-leading-space: var(--md-text-button-with-trailing-icon-leading-space, 16px);--_with-trailing-icon-trailing-space: var(--md-text-button-with-trailing-icon-trailing-space, 12px);--_container-color: none;--_disabled-container-color: none;--_disabled-container-opacity: 0}`,IPs=mZe.styleSheet});var W1e;var Obn=P(()=>{yl();Pl();MO();Lbn();Bbn();W1e=class extends fZe{static{this.styles=[Uv,mZe]}};W1e=Tt([ds("md-text-button")],W1e)});var pY,Fbn,Ubn,Nbn,zbn,_bn;var Hbn=P(()=>{$W();Sbn();Ibn();Rbn();Dbn();Obn();pY=z(re(),1),Fbn=_0({react:pY,tagName:"md-elevated-button",elementClass:q1e,events:{}}),Ubn=_0({react:pY,tagName:"md-filled-button",elementClass:Z1e,events:{}}),Nbn=_0({react:pY,tagName:"md-filled-tonal-button",elementClass:Q1e,events:{}}),zbn=_0({react:pY,tagName:"md-outlined-button",elementClass:X1e,events:{}}),_bn=_0({react:pY,tagName:"md-text-button",elementClass:W1e,events:{}})});var Zs;var hZe=P(()=>{yl();sa();Pl();TO();Kqe();Zs=class Zs extends tc{constructor(){super(...arguments);this.disabled=!1,this.error=!1,this.focused=!1,this.label="",this.noAsterisk=!1,this.populated=!1,this.required=!1,this.resizable=!1,this.supportingText="",this.errorText="",this.count=-1,this.max=-1,this.hasStart=!1,this.hasEnd=!1,this.isAnimating=!1,this.refreshErrorAlert=!1,this.disableTransitions=!1}get counterText(){let e=this.count??-1,t=this.max??-1;if(e<0||t<=0)return"";return`${e} / ${t}`}get supportingOrErrorText(){return this.error&&this.errorText?this.errorText:this.supportingText}reannounceError(){this.refreshErrorAlert=!0}update(e){if(e.has("disabled")&&e.get("disabled")!==void 0)this.disableTransitions=!0;if(this.disabled&&this.focused)e.set("focused",!0),this.focused=!1;this.animateLabelIfNeeded({wasFocused:e.get("focused"),wasPopulated:e.get("populated")}),super.update(e)}render(){let e=this.renderLabel(!0),t=this.renderLabel(!1),n=this.renderOutline?.(e),r={disabled:this.disabled,"disable-transitions":this.disableTransitions,error:this.error&&!this.disabled,focused:this.focused,"with-start":this.hasStart,"with-end":this.hasEnd,populated:this.populated,resizable:this.resizable,required:this.required,"no-label":!this.label};return Pr` + ${this.trailingIcon ? e : cr} + `; + } + handleClick(e) { + if (this.softDisabled || (this.disabled && this.href)) { + (e.stopImmediatePropagation(), e.preventDefault()); + return; + } + if (!RO(e) || !this.buttonElement) return; + (this.focus(), kO(this.buttonElement)); + } + handleSlotChange() { + this.hasIcon = this.assignedIcons.length > 0; + } + }; + Tt( + [xn({ type: Boolean, attribute: "soft-disabled", reflect: !0 })], + pp.prototype, + "softDisabled", + void 0, + ); + Tt([xn()], pp.prototype, "href", void 0); + Tt([xn()], pp.prototype, "download", void 0); + Tt([xn()], pp.prototype, "target", void 0); + Tt( + [xn({ type: Boolean, attribute: "trailing-icon", reflect: !0 })], + pp.prototype, + "trailingIcon", + void 0, + ); + Tt( + [xn({ type: Boolean, attribute: "has-icon", reflect: !0 })], + pp.prototype, + "hasIcon", + void 0, + ); + Tt([rf(".button")], pp.prototype, "buttonElement", void 0); + Tt( + [K7({ slot: "icon", flatten: !0 })], + pp.prototype, + "assignedIcons", + void 0, + ); +}); +var aZe; +var Abn = P(() => { + sY(); + sa(); + PO(); + aZe = class aZe extends pp { + renderElevationOrOutline() { + return Pr``; + } + }; +}); +var iZe, wRs; +var wbn = P(() => { + sa(); + ((iZe = ia`:host{--_container-color: var(--md-elevated-button-container-color, var(--md-sys-color-surface-container-low, #f7f2fa));--_container-elevation: var(--md-elevated-button-container-elevation, 1);--_container-height: var(--md-elevated-button-container-height, 40px);--_container-shadow-color: var(--md-elevated-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-elevated-button-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-elevation: var(--md-elevated-button-disabled-container-elevation, 0);--_disabled-container-opacity: var(--md-elevated-button-disabled-container-opacity, 0.12);--_disabled-label-text-color: var(--md-elevated-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-elevated-button-disabled-label-text-opacity, 0.38);--_focus-container-elevation: var(--md-elevated-button-focus-container-elevation, 1);--_focus-label-text-color: var(--md-elevated-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-container-elevation: var(--md-elevated-button-hover-container-elevation, 2);--_hover-label-text-color: var(--md-elevated-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-elevated-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-elevated-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-elevated-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-elevated-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-elevated-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-elevated-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-elevated-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-container-elevation: var(--md-elevated-button-pressed-container-elevation, 1);--_pressed-label-text-color: var(--md-elevated-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-elevated-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-elevated-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-elevated-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-elevated-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-elevated-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-elevated-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-elevated-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-elevated-button-icon-size, 18px);--_pressed-icon-color: var(--md-elevated-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-elevated-button-container-shape-start-start, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-elevated-button-container-shape-start-end, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-elevated-button-container-shape-end-end, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-elevated-button-container-shape-end-start, var(--md-elevated-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-elevated-button-leading-space, 24px);--_trailing-space: var(--md-elevated-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-elevated-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-elevated-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-elevated-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-elevated-button-with-trailing-icon-trailing-space, 16px)}`), + (wRs = iZe.styleSheet)); +}); +var rk, ERs; +var G1e = P(() => { + sa(); + ((rk = ia`md-elevation{transition-duration:280ms}:host(:is([disabled],[soft-disabled])) md-elevation{transition:none}md-elevation{--md-elevation-level: var(--_container-elevation);--md-elevation-shadow-color: var(--_container-shadow-color)}:host(:focus-within) md-elevation{--md-elevation-level: var(--_focus-container-elevation)}:host(:hover) md-elevation{--md-elevation-level: var(--_hover-container-elevation)}:host(:active) md-elevation{--md-elevation-level: var(--_pressed-container-elevation)}:host(:is([disabled],[soft-disabled])) md-elevation{--md-elevation-level: var(--_disabled-container-elevation)}`), + (ERs = rk.styleSheet)); +}); +var Uv, kRs; +var MO = P(() => { + sa(); + ((Uv = ia`:host{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-start-radius:var(--_container-shape-end-start);border-end-end-radius:var(--_container-shape-end-end);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:8px;min-height:var(--_container-height);outline:none;padding-block:calc((var(--_container-height) - max(var(--_label-text-line-height),var(--_icon-size)))/2);padding-inline-start:var(--_leading-space);padding-inline-end:var(--_trailing-space);place-content:center;place-items:center;position:relative;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);text-overflow:ellipsis;text-wrap:nowrap;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);vertical-align:top;--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-focus-ring{--md-focus-ring-shape-start-start: var(--_container-shape-start-start);--md-focus-ring-shape-start-end: var(--_container-shape-start-end);--md-focus-ring-shape-end-end: var(--_container-shape-end-end);--md-focus-ring-shape-end-start: var(--_container-shape-end-start)}:host(:is([disabled],[soft-disabled])){cursor:default;pointer-events:none}.button{border-radius:inherit;cursor:inherit;display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;-webkit-appearance:none;vertical-align:middle;background:rgba(0,0,0,0);text-decoration:none;min-width:calc(64px - var(--_leading-space) - var(--_trailing-space));width:100%;z-index:0;height:100%;font:inherit;color:var(--_label-text-color);padding:0;gap:inherit;text-transform:inherit}.button::-moz-focus-inner{padding:0;border:0}:host(:hover) .button{color:var(--_hover-label-text-color)}:host(:focus-within) .button{color:var(--_focus-label-text-color)}:host(:active) .button{color:var(--_pressed-label-text-color)}.background{background:var(--_container-color);border-radius:inherit;inset:0;position:absolute}.label{overflow:hidden}:is(.button,.label,.label slot),.label ::slotted(*){text-overflow:inherit}:host(:is([disabled],[soft-disabled])) .label{color:var(--_disabled-label-text-color);opacity:var(--_disabled-label-text-opacity)}:host(:is([disabled],[soft-disabled])) .background{background:var(--_disabled-container-color);opacity:var(--_disabled-container-opacity)}@media(forced-colors: active){.background{border:1px solid CanvasText}:host(:is([disabled],[soft-disabled])){--_disabled-icon-color: GrayText;--_disabled-icon-opacity: 1;--_disabled-container-opacity: 1;--_disabled-label-text-color: GrayText;--_disabled-label-text-opacity: 1}}:host([has-icon]:not([trailing-icon])){padding-inline-start:var(--_with-leading-icon-leading-space);padding-inline-end:var(--_with-leading-icon-trailing-space)}:host([has-icon][trailing-icon]){padding-inline-start:var(--_with-trailing-icon-leading-space);padding-inline-end:var(--_with-trailing-icon-trailing-space)}::slotted([slot=icon]){display:inline-flex;position:relative;writing-mode:horizontal-tb;fill:currentColor;flex-shrink:0;color:var(--_icon-color);font-size:var(--_icon-size);inline-size:var(--_icon-size);block-size:var(--_icon-size)}:host(:hover) ::slotted([slot=icon]){color:var(--_hover-icon-color)}:host(:focus-within) ::slotted([slot=icon]){color:var(--_focus-icon-color)}:host(:active) ::slotted([slot=icon]){color:var(--_pressed-icon-color)}:host(:is([disabled],[soft-disabled])) ::slotted([slot=icon]){color:var(--_disabled-icon-color);opacity:var(--_disabled-icon-opacity)}.touch{position:absolute;top:50%;height:max(48px,100%);left:0;right:0;transform:translateY(-50%)}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--_container-height))/2) 0}:host([touch-target=none]) .touch{display:none}`), + (kRs = Uv.styleSheet)); +}); +var q1e; +var Sbn = P(() => { + yl(); + Pl(); + Abn(); + wbn(); + G1e(); + MO(); + q1e = class extends aZe { + static { + this.styles = [Uv, rk, iZe]; + } + }; + q1e = Tt([ds("md-elevated-button")], q1e); +}); +var sZe; +var Cbn = P(() => { + sY(); + sa(); + PO(); + sZe = class sZe extends pp { + renderElevationOrOutline() { + return Pr``; + } + }; +}); +var lZe, VRs; +var Ebn = P(() => { + sa(); + ((lZe = ia`:host{--_container-color: var(--md-filled-button-container-color, var(--md-sys-color-primary, #6750a4));--_container-elevation: var(--md-filled-button-container-elevation, 0);--_container-height: var(--md-filled-button-container-height, 40px);--_container-shadow-color: var(--md-filled-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-button-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-elevation: var(--md-filled-button-disabled-container-elevation, 0);--_disabled-container-opacity: var(--md-filled-button-disabled-container-opacity, 0.12);--_disabled-label-text-color: var(--md-filled-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-button-disabled-label-text-opacity, 0.38);--_focus-container-elevation: var(--md-filled-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-button-focus-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-container-elevation: var(--md-filled-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-button-hover-label-text-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-color: var(--md-filled-button-hover-state-layer-color, var(--md-sys-color-on-primary, #fff));--_hover-state-layer-opacity: var(--md-filled-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-button-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-text-font: var(--md-filled-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filled-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filled-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-container-elevation: var(--md-filled-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-button-pressed-label-text-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-color: var(--md-filled-button-pressed-state-layer-color, var(--md-sys-color-on-primary, #fff));--_pressed-state-layer-opacity: var(--md-filled-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-filled-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-filled-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-filled-button-focus-icon-color, var(--md-sys-color-on-primary, #fff));--_hover-icon-color: var(--md-filled-button-hover-icon-color, var(--md-sys-color-on-primary, #fff));--_icon-color: var(--md-filled-button-icon-color, var(--md-sys-color-on-primary, #fff));--_icon-size: var(--md-filled-button-icon-size, 18px);--_pressed-icon-color: var(--md-filled-button-pressed-icon-color, var(--md-sys-color-on-primary, #fff));--_container-shape-start-start: var(--md-filled-button-container-shape-start-start, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-filled-button-container-shape-start-end, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-filled-button-container-shape-end-end, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-filled-button-container-shape-end-start, var(--md-filled-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-filled-button-leading-space, 24px);--_trailing-space: var(--md-filled-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-filled-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-filled-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-filled-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-filled-button-with-trailing-icon-trailing-space, 16px)}`), + (VRs = lZe.styleSheet)); +}); +var Z1e; +var Ibn = P(() => { + yl(); + Pl(); + Cbn(); + Ebn(); + G1e(); + MO(); + Z1e = class extends sZe { + static { + this.styles = [Uv, rk, lZe]; + } + }; + Z1e = Tt([ds("md-filled-button")], Z1e); +}); +var cZe; +var Tbn = P(() => { + sY(); + sa(); + PO(); + cZe = class cZe extends pp { + renderElevationOrOutline() { + return Pr``; + } + }; +}); +var uZe, nPs; +var kbn = P(() => { + sa(); + ((uZe = ia`:host{--_container-color: var(--md-filled-tonal-button-container-color, var(--md-sys-color-secondary-container, #e8def8));--_container-elevation: var(--md-filled-tonal-button-container-elevation, 0);--_container-height: var(--md-filled-tonal-button-container-height, 40px);--_container-shadow-color: var(--md-filled-tonal-button-container-shadow-color, var(--md-sys-color-shadow, #000));--_disabled-container-color: var(--md-filled-tonal-button-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-elevation: var(--md-filled-tonal-button-disabled-container-elevation, 0);--_disabled-container-opacity: var(--md-filled-tonal-button-disabled-container-opacity, 0.12);--_disabled-label-text-color: var(--md-filled-tonal-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-tonal-button-disabled-label-text-opacity, 0.38);--_focus-container-elevation: var(--md-filled-tonal-button-focus-container-elevation, 0);--_focus-label-text-color: var(--md-filled-tonal-button-focus-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-container-elevation: var(--md-filled-tonal-button-hover-container-elevation, 1);--_hover-label-text-color: var(--md-filled-tonal-button-hover-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-state-layer-color: var(--md-filled-tonal-button-hover-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-state-layer-opacity: var(--md-filled-tonal-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-filled-tonal-button-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_label-text-font: var(--md-filled-tonal-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-tonal-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-filled-tonal-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-filled-tonal-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-container-elevation: var(--md-filled-tonal-button-pressed-container-elevation, 0);--_pressed-label-text-color: var(--md-filled-tonal-button-pressed-label-text-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-color: var(--md-filled-tonal-button-pressed-state-layer-color, var(--md-sys-color-on-secondary-container, #1d192b));--_pressed-state-layer-opacity: var(--md-filled-tonal-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-filled-tonal-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-filled-tonal-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-filled-tonal-button-focus-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_hover-icon-color: var(--md-filled-tonal-button-hover-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_icon-color: var(--md-filled-tonal-button-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_icon-size: var(--md-filled-tonal-button-icon-size, 18px);--_pressed-icon-color: var(--md-filled-tonal-button-pressed-icon-color, var(--md-sys-color-on-secondary-container, #1d192b));--_container-shape-start-start: var(--md-filled-tonal-button-container-shape-start-start, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-filled-tonal-button-container-shape-start-end, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-filled-tonal-button-container-shape-end-end, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-filled-tonal-button-container-shape-end-start, var(--md-filled-tonal-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-filled-tonal-button-leading-space, 24px);--_trailing-space: var(--md-filled-tonal-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-filled-tonal-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-filled-tonal-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-filled-tonal-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-filled-tonal-button-with-trailing-icon-trailing-space, 16px)}`), + (nPs = uZe.styleSheet)); +}); +var Q1e; +var Rbn = P(() => { + yl(); + Pl(); + Tbn(); + kbn(); + G1e(); + MO(); + Q1e = class extends cZe { + static { + this.styles = [Uv, rk, uZe]; + } + }; + Q1e = Tt([ds("md-filled-tonal-button")], Q1e); +}); +var dZe; +var Pbn = P(() => { + sa(); + PO(); + dZe = class dZe extends pp { + renderElevationOrOutline() { + return Pr`
`; + } + }; +}); +var pZe, hPs; +var Mbn = P(() => { + sa(); + ((pZe = ia`:host{--_container-height: var(--md-outlined-button-container-height, 40px);--_disabled-label-text-color: var(--md-outlined-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-button-disabled-label-text-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-button-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-button-disabled-outline-opacity, 0.12);--_focus-label-text-color: var(--md-outlined-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-label-text-color: var(--md-outlined-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-outlined-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-outlined-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-outlined-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-outlined-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-outlined-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-outlined-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_outline-color: var(--md-outlined-button-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-outlined-button-outline-width, 1px);--_pressed-label-text-color: var(--md-outlined-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-outline-color: var(--md-outlined-button-pressed-outline-color, var(--md-sys-color-outline, #79747e));--_pressed-state-layer-color: var(--md-outlined-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-outlined-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-outlined-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-outlined-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-outlined-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-outlined-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-outlined-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-outlined-button-icon-size, 18px);--_pressed-icon-color: var(--md-outlined-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-outlined-button-container-shape-start-start, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-outlined-button-container-shape-start-end, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-outlined-button-container-shape-end-end, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-outlined-button-container-shape-end-start, var(--md-outlined-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-outlined-button-leading-space, 24px);--_trailing-space: var(--md-outlined-button-trailing-space, 24px);--_with-leading-icon-leading-space: var(--md-outlined-button-with-leading-icon-leading-space, 16px);--_with-leading-icon-trailing-space: var(--md-outlined-button-with-leading-icon-trailing-space, 24px);--_with-trailing-icon-leading-space: var(--md-outlined-button-with-trailing-icon-leading-space, 24px);--_with-trailing-icon-trailing-space: var(--md-outlined-button-with-trailing-icon-trailing-space, 16px);--_container-color: none;--_disabled-container-color: none;--_disabled-container-opacity: 0}.outline{inset:0;border-style:solid;position:absolute;box-sizing:border-box;border-color:var(--_outline-color);border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:inherit;border-end-end-radius:inherit}:host(:active) .outline{border-color:var(--_pressed-outline-color)}:host(:is([disabled],[soft-disabled])) .outline{border-color:var(--_disabled-outline-color);opacity:var(--_disabled-outline-opacity)}@media(forced-colors: active){:host(:is([disabled],[soft-disabled])) .background{border-color:GrayText}:host(:is([disabled],[soft-disabled])) .outline{opacity:1}}.outline,md-ripple{border-width:var(--_outline-width)}md-ripple{inline-size:calc(100% - 2*var(--_outline-width));block-size:calc(100% - 2*var(--_outline-width));border-style:solid;border-color:rgba(0,0,0,0)}`), + (hPs = pZe.styleSheet)); +}); +var X1e; +var Dbn = P(() => { + yl(); + Pl(); + Pbn(); + Mbn(); + MO(); + X1e = class extends dZe { + static { + this.styles = [Uv, pZe]; + } + }; + X1e = Tt([ds("md-outlined-button")], X1e); +}); +var fZe; +var Lbn = P(() => { + PO(); + fZe = class fZe extends pp {}; +}); +var mZe, IPs; +var Bbn = P(() => { + sa(); + ((mZe = ia`:host{--_container-height: var(--md-text-button-container-height, 40px);--_disabled-label-text-color: var(--md-text-button-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-text-button-disabled-label-text-opacity, 0.38);--_focus-label-text-color: var(--md-text-button-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-label-text-color: var(--md-text-button-hover-label-text-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-text-button-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-text-button-hover-state-layer-opacity, 0.08);--_label-text-color: var(--md-text-button-label-text-color, var(--md-sys-color-primary, #6750a4));--_label-text-font: var(--md-text-button-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-text-button-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));--_label-text-size: var(--md-text-button-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));--_label-text-weight: var(--md-text-button-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));--_pressed-label-text-color: var(--md-text-button-pressed-label-text-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-text-button-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-text-button-pressed-state-layer-opacity, 0.12);--_disabled-icon-color: var(--md-text-button-disabled-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-icon-opacity: var(--md-text-button-disabled-icon-opacity, 0.38);--_focus-icon-color: var(--md-text-button-focus-icon-color, var(--md-sys-color-primary, #6750a4));--_hover-icon-color: var(--md-text-button-hover-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-color: var(--md-text-button-icon-color, var(--md-sys-color-primary, #6750a4));--_icon-size: var(--md-text-button-icon-size, 18px);--_pressed-icon-color: var(--md-text-button-pressed-icon-color, var(--md-sys-color-primary, #6750a4));--_container-shape-start-start: var(--md-text-button-container-shape-start-start, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-start-end: var(--md-text-button-container-shape-start-end, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-end: var(--md-text-button-container-shape-end-end, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_container-shape-end-start: var(--md-text-button-container-shape-end-start, var(--md-text-button-container-shape, var(--md-sys-shape-corner-full, 9999px)));--_leading-space: var(--md-text-button-leading-space, 12px);--_trailing-space: var(--md-text-button-trailing-space, 12px);--_with-leading-icon-leading-space: var(--md-text-button-with-leading-icon-leading-space, 12px);--_with-leading-icon-trailing-space: var(--md-text-button-with-leading-icon-trailing-space, 16px);--_with-trailing-icon-leading-space: var(--md-text-button-with-trailing-icon-leading-space, 16px);--_with-trailing-icon-trailing-space: var(--md-text-button-with-trailing-icon-trailing-space, 12px);--_container-color: none;--_disabled-container-color: none;--_disabled-container-opacity: 0}`), + (IPs = mZe.styleSheet)); +}); +var W1e; +var Obn = P(() => { + yl(); + Pl(); + MO(); + Lbn(); + Bbn(); + W1e = class extends fZe { + static { + this.styles = [Uv, mZe]; + } + }; + W1e = Tt([ds("md-text-button")], W1e); +}); +var pY, Fbn, Ubn, Nbn, zbn, _bn; +var Hbn = P(() => { + $W(); + Sbn(); + Ibn(); + Rbn(); + Dbn(); + Obn(); + ((pY = z(re(), 1)), + (Fbn = _0({ + react: pY, + tagName: "md-elevated-button", + elementClass: q1e, + events: {}, + })), + (Ubn = _0({ + react: pY, + tagName: "md-filled-button", + elementClass: Z1e, + events: {}, + })), + (Nbn = _0({ + react: pY, + tagName: "md-filled-tonal-button", + elementClass: Q1e, + events: {}, + })), + (zbn = _0({ + react: pY, + tagName: "md-outlined-button", + elementClass: X1e, + events: {}, + })), + (_bn = _0({ + react: pY, + tagName: "md-text-button", + elementClass: W1e, + events: {}, + }))); +}); +var Zs; +var hZe = P(() => { + yl(); + sa(); + Pl(); + TO(); + Kqe(); + Zs = class Zs extends tc { + constructor() { + super(...arguments); + ((this.disabled = !1), + (this.error = !1), + (this.focused = !1), + (this.label = ""), + (this.noAsterisk = !1), + (this.populated = !1), + (this.required = !1), + (this.resizable = !1), + (this.supportingText = ""), + (this.errorText = ""), + (this.count = -1), + (this.max = -1), + (this.hasStart = !1), + (this.hasEnd = !1), + (this.isAnimating = !1), + (this.refreshErrorAlert = !1), + (this.disableTransitions = !1)); + } + get counterText() { + let e = this.count ?? -1, + t = this.max ?? -1; + if (e < 0 || t <= 0) return ""; + return `${e} / ${t}`; + } + get supportingOrErrorText() { + return this.error && this.errorText + ? this.errorText + : this.supportingText; + } + reannounceError() { + this.refreshErrorAlert = !0; + } + update(e) { + if (e.has("disabled") && e.get("disabled") !== void 0) + this.disableTransitions = !0; + if (this.disabled && this.focused) + (e.set("focused", !0), (this.focused = !1)); + (this.animateLabelIfNeeded({ + wasFocused: e.get("focused"), + wasPopulated: e.get("populated"), + }), + super.update(e)); + } + render() { + let e = this.renderLabel(!0), + t = this.renderLabel(!1), + n = this.renderOutline?.(e), + r = { + disabled: this.disabled, + "disable-transitions": this.disableTransitions, + error: this.error && !this.disabled, + focused: this.focused, + "with-start": this.hasStart, + "with-end": this.hasEnd, + populated: this.populated, + resizable: this.resizable, + required: this.required, + "no-label": !this.label, + }; + return Pr`
${this.renderBackground?.()} @@ -6170,7 +214104,7 @@ No matching component was found for:
-
${t} ${n?cr:e}
+
${t} ${n ? cr : e}
@@ -6182,13 +214116,816 @@ No matching component was found for:
${this.renderSupportingText()}
- `}updated(e){if(e.has("supportingText")||e.has("errorText")||e.has("count")||e.has("max"))this.updateSlottedAriaDescribedBy();if(this.refreshErrorAlert||this.disableTransitions)requestAnimationFrame(()=>{this.refreshErrorAlert=!1,this.disableTransitions=!1})}renderSupportingText(){let{supportingOrErrorText:e,counterText:t}=this;if(!e&&!t)return cr;let n=Pr`${e}`,r=t?Pr`${t}`:cr,a=this.error&&this.errorText&&!this.refreshErrorAlert?"alert":cr;return Pr` + `; + } + updated(e) { + if ( + e.has("supportingText") || + e.has("errorText") || + e.has("count") || + e.has("max") + ) + this.updateSlottedAriaDescribedBy(); + if (this.refreshErrorAlert || this.disableTransitions) + requestAnimationFrame(() => { + ((this.refreshErrorAlert = !1), (this.disableTransitions = !1)); + }); + } + renderSupportingText() { + let { supportingOrErrorText: e, counterText: t } = this; + if (!e && !t) return cr; + let n = Pr`${e}`, + r = t ? Pr`${t}` : cr, + a = + this.error && this.errorText && !this.refreshErrorAlert + ? "alert" + : cr; + return Pr`
${n}${r}
- `}updateSlottedAriaDescribedBy(){for(let e of this.slottedAriaDescribedBy)L1e(Pr`${this.supportingOrErrorText} ${this.counterText}`,e),e.setAttribute("hidden","")}renderLabel(e){if(!this.label)return cr;let t;if(e)t=this.focused||this.populated||this.isAnimating;else t=!this.focused&&!this.populated&&!this.isAnimating;let n={hidden:!t,floating:e,resting:!e},r=`${this.label}${this.required&&!this.noAsterisk?"*":""}`;return Pr` + `; + } + updateSlottedAriaDescribedBy() { + for (let e of this.slottedAriaDescribedBy) + (L1e(Pr`${this.supportingOrErrorText} ${this.counterText}`, e), + e.setAttribute("hidden", "")); + } + renderLabel(e) { + if (!this.label) return cr; + let t; + if (e) t = this.focused || this.populated || this.isAnimating; + else t = !this.focused && !this.populated && !this.isAnimating; + let n = { hidden: !t, floating: e, resting: !e }, + r = `${this.label}${this.required && !this.noAsterisk ? "*" : ""}`; + return Pr` ${r} - `}animateLabelIfNeeded({wasFocused:e,wasPopulated:t}){if(!this.label)return;e??=this.focused,t??=this.populated;let n=e||t,r=this.focused||this.populated;if(n===r)return;let o=this.getLabelKeyframes();if(!o.length)return;this.isAnimating=!0,this.labelAnimation?.cancel(),this.labelAnimation=this.floatingLabelEl?.animate(o,{duration:150,easing:F1e.STANDARD}),this.labelAnimation?.addEventListener("finish",()=>{this.isAnimating=!1})}getLabelKeyframes(){let{floatingLabelEl:e,restingLabelEl:t}=this;if(!e||!t)return[];let{x:n,y:r,height:o}=e.getBoundingClientRect(),{x:a,y:i,height:s}=t.getBoundingClientRect(),l=e.scrollWidth,c=t.scrollWidth;if(l===0||c===0)return[];let u=c/l,d=a-n,p=i-r+Math.round((s-o*u)/2),f=`translateX(${d}px) translateY(${p}px) scale(${u})`,m="translateX(0) translateY(0) scale(1)",g=t.clientWidth,y=c>g?`${g/u}px`:"";if(this.focused||this.populated)return[{transform:f,width:y},{transform:m,width:y}];return[{transform:m,width:y},{transform:f,width:y}]}getSurfacePositionClientRect(){return this.containerEl.getBoundingClientRect()}};Tt([xn({type:Boolean})],Zs.prototype,"disabled",void 0);Tt([xn({type:Boolean})],Zs.prototype,"error",void 0);Tt([xn({type:Boolean})],Zs.prototype,"focused",void 0);Tt([xn()],Zs.prototype,"label",void 0);Tt([xn({type:Boolean,attribute:"no-asterisk"})],Zs.prototype,"noAsterisk",void 0);Tt([xn({type:Boolean})],Zs.prototype,"populated",void 0);Tt([xn({type:Boolean})],Zs.prototype,"required",void 0);Tt([xn({type:Boolean})],Zs.prototype,"resizable",void 0);Tt([xn({attribute:"supporting-text"})],Zs.prototype,"supportingText",void 0);Tt([xn({attribute:"error-text"})],Zs.prototype,"errorText",void 0);Tt([xn({type:Number})],Zs.prototype,"count",void 0);Tt([xn({type:Number})],Zs.prototype,"max",void 0);Tt([xn({type:Boolean,attribute:"has-start"})],Zs.prototype,"hasStart",void 0);Tt([xn({type:Boolean,attribute:"has-end"})],Zs.prototype,"hasEnd",void 0);Tt([K7({slot:"aria-describedby"})],Zs.prototype,"slottedAriaDescribedBy",void 0);Tt([dp()],Zs.prototype,"isAnimating",void 0);Tt([dp()],Zs.prototype,"refreshErrorAlert",void 0);Tt([dp()],Zs.prototype,"disableTransitions",void 0);Tt([rf(".label.floating")],Zs.prototype,"floatingLabelEl",void 0);Tt([rf(".label.resting")],Zs.prototype,"restingLabelEl",void 0);Tt([rf(".container")],Zs.prototype,"containerEl",void 0)});var gZe;var Vbn=P(()=>{sa();hZe();gZe=class gZe extends Zs{renderBackground(){return Pr`
`}renderStateLayer(){return Pr`
`}renderIndicator(){return Pr`
`}}});var yZe,JPs;var Gbn=P(()=>{sa();yZe=ia`@layer styles{:host{--_active-indicator-color: var(--md-filled-field-active-indicator-color, var(--md-sys-color-on-surface-variant, #49454f));--_active-indicator-height: var(--md-filled-field-active-indicator-height, 1px);--_bottom-space: var(--md-filled-field-bottom-space, 16px);--_container-color: var(--md-filled-field-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_content-color: var(--md-filled-field-content-color, var(--md-sys-color-on-surface, #1d1b20));--_content-font: var(--md-filled-field-content-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_content-line-height: var(--md-filled-field-content-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_content-size: var(--md-filled-field-content-size, var(--md-sys-typescale-body-large-size, 1rem));--_content-space: var(--md-filled-field-content-space, 16px);--_content-weight: var(--md-filled-field-content-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_disabled-active-indicator-color: var(--md-filled-field-disabled-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-indicator-height: var(--md-filled-field-disabled-active-indicator-height, 1px);--_disabled-active-indicator-opacity: var(--md-filled-field-disabled-active-indicator-opacity, 0.38);--_disabled-container-color: var(--md-filled-field-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-opacity: var(--md-filled-field-disabled-container-opacity, 0.04);--_disabled-content-color: var(--md-filled-field-disabled-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-content-opacity: var(--md-filled-field-disabled-content-opacity, 0.38);--_disabled-label-text-color: var(--md-filled-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-field-disabled-label-text-opacity, 0.38);--_disabled-leading-content-color: var(--md-filled-field-disabled-leading-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-content-opacity: var(--md-filled-field-disabled-leading-content-opacity, 0.38);--_disabled-supporting-text-color: var(--md-filled-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-filled-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-content-color: var(--md-filled-field-disabled-trailing-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-content-opacity: var(--md-filled-field-disabled-trailing-content-opacity, 0.38);--_error-active-indicator-color: var(--md-filled-field-error-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-content-color: var(--md-filled-field-error-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-active-indicator-color: var(--md-filled-field-error-focus-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-focus-content-color: var(--md-filled-field-error-focus-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-label-text-color: var(--md-filled-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-content-color: var(--md-filled-field-error-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-supporting-text-color: var(--md-filled-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-content-color: var(--md-filled-field-error-focus-trailing-content-color, var(--md-sys-color-error, #b3261e));--_error-hover-active-indicator-color: var(--md-filled-field-error-hover-active-indicator-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-content-color: var(--md-filled-field-error-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-filled-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-content-color: var(--md-filled-field-error-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-state-layer-color: var(--md-filled-field-error-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-state-layer-opacity: var(--md-filled-field-error-hover-state-layer-opacity, 0.08);--_error-hover-supporting-text-color: var(--md-filled-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-content-color: var(--md-filled-field-error-hover-trailing-content-color, var(--md-sys-color-on-error-container, #410e0b));--_error-label-text-color: var(--md-filled-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-content-color: var(--md-filled-field-error-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-supporting-text-color: var(--md-filled-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-content-color: var(--md-filled-field-error-trailing-content-color, var(--md-sys-color-error, #b3261e));--_focus-active-indicator-color: var(--md-filled-field-focus-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_focus-active-indicator-height: var(--md-filled-field-focus-active-indicator-height, 3px);--_focus-content-color: var(--md-filled-field-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-filled-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-content-color: var(--md-filled-field-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-supporting-text-color: var(--md-filled-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-content-color: var(--md-filled-field-focus-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-active-indicator-color: var(--md-filled-field-hover-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-active-indicator-height: var(--md-filled-field-hover-active-indicator-height, 1px);--_hover-content-color: var(--md-filled-field-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-filled-field-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-leading-content-color: var(--md-filled-field-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filled-field-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-filled-field-hover-state-layer-opacity, 0.08);--_hover-supporting-text-color: var(--md-filled-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-content-color: var(--md-filled-field-hover-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-color: var(--md-filled-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-filled-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-populated-line-height: var(--md-filled-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-filled-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-filled-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-filled-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-content-color: var(--md-filled-field-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-space: var(--md-filled-field-leading-space, 16px);--_supporting-text-color: var(--md-filled-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-filled-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-leading-space: var(--md-filled-field-supporting-text-leading-space, 16px);--_supporting-text-line-height: var(--md-filled-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-filled-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-top-space: var(--md-filled-field-supporting-text-top-space, 4px);--_supporting-text-trailing-space: var(--md-filled-field-supporting-text-trailing-space, 16px);--_supporting-text-weight: var(--md-filled-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_top-space: var(--md-filled-field-top-space, 16px);--_trailing-content-color: var(--md-filled-field-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-space: var(--md-filled-field-trailing-space, 16px);--_with-label-bottom-space: var(--md-filled-field-with-label-bottom-space, 8px);--_with-label-top-space: var(--md-filled-field-with-label-top-space, 8px);--_with-leading-content-leading-space: var(--md-filled-field-with-leading-content-leading-space, 12px);--_with-trailing-content-trailing-space: var(--md-filled-field-with-trailing-content-trailing-space, 12px);--_container-shape-start-start: var(--md-filled-field-container-shape-start-start, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-filled-field-container-shape-start-end, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-filled-field-container-shape-end-end, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-none, 0px)));--_container-shape-end-start: var(--md-filled-field-container-shape-end-start, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-none, 0px)))}.background,.state-layer{border-radius:inherit;inset:0;pointer-events:none;position:absolute}.background{background:var(--_container-color)}.state-layer{visibility:hidden}.field:not(.disabled):hover .state-layer{visibility:visible}.label.floating{position:absolute;top:var(--_with-label-top-space)}.field:not(.with-start) .label-wrapper{margin-inline-start:var(--_leading-space)}.field:not(.with-end) .label-wrapper{margin-inline-end:var(--_trailing-space)}.active-indicator{inset:auto 0 0 0;pointer-events:none;position:absolute;width:100%;z-index:1}.active-indicator::before,.active-indicator::after{border-bottom:var(--_active-indicator-height) solid var(--_active-indicator-color);inset:auto 0 0 0;content:"";position:absolute;width:100%}.active-indicator::after{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .active-indicator::after{opacity:1}.field:not(.with-start) .content ::slotted(*){padding-inline-start:var(--_leading-space)}.field:not(.with-end) .content ::slotted(*){padding-inline-end:var(--_trailing-space)}.field:not(.no-label) .content ::slotted(:not(textarea)){padding-bottom:var(--_with-label-bottom-space);padding-top:calc(var(--_with-label-top-space) + var(--_label-text-populated-line-height))}.field:not(.no-label) .content ::slotted(textarea){margin-bottom:var(--_with-label-bottom-space);margin-top:calc(var(--_with-label-top-space) + var(--_label-text-populated-line-height))}:hover .active-indicator::before{border-bottom-color:var(--_hover-active-indicator-color);border-bottom-width:var(--_hover-active-indicator-height)}.active-indicator::after{border-bottom-color:var(--_focus-active-indicator-color);border-bottom-width:var(--_focus-active-indicator-height)}:hover .state-layer{background:var(--_hover-state-layer-color);opacity:var(--_hover-state-layer-opacity)}.disabled .active-indicator::before{border-bottom-color:var(--_disabled-active-indicator-color);border-bottom-width:var(--_disabled-active-indicator-height);opacity:var(--_disabled-active-indicator-opacity)}.disabled .background{background:var(--_disabled-container-color);opacity:var(--_disabled-container-opacity)}.error .active-indicator::before{border-bottom-color:var(--_error-active-indicator-color)}.error:hover .active-indicator::before{border-bottom-color:var(--_error-hover-active-indicator-color)}.error:hover .state-layer{background:var(--_error-hover-state-layer-color);opacity:var(--_error-hover-state-layer-opacity)}.error .active-indicator::after{border-bottom-color:var(--_error-focus-active-indicator-color)}.resizable .container{bottom:var(--_focus-active-indicator-height);clip-path:inset(var(--_focus-active-indicator-height) 0 0 0)}.resizable .container>*{top:var(--_focus-active-indicator-height)}}@layer hcm{@media(forced-colors: active){.disabled .active-indicator::before{border-color:GrayText;opacity:1}}}`,JPs=yZe.styleSheet});var fY,e9s;var vZe=P(()=>{sa();fY=ia`:host{display:inline-flex;resize:both}.field{display:flex;flex:1;flex-direction:column;writing-mode:horizontal-tb;max-width:100%}.container-overflow{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start);display:flex;height:100%;position:relative}.container{align-items:center;border-radius:inherit;display:flex;flex:1;max-height:100%;min-height:100%;min-width:min-content;position:relative}.field,.container-overflow{resize:inherit}.resizable:not(.disabled) .container{resize:inherit;overflow:hidden}.disabled{pointer-events:none}slot[name=container]{border-radius:inherit}slot[name=container]::slotted(*){border-radius:inherit;inset:0;pointer-events:none;position:absolute}@layer styles{.start,.middle,.end{display:flex;box-sizing:border-box;height:100%;position:relative}.start{color:var(--_leading-content-color)}.end{color:var(--_trailing-content-color)}.start,.end{align-items:center;justify-content:center}.with-start .start{margin-inline:var(--_with-leading-content-leading-space) var(--_content-space)}.with-end .end{margin-inline:var(--_content-space) var(--_with-trailing-content-trailing-space)}.middle{align-items:stretch;align-self:baseline;flex:1}.content{color:var(--_content-color);display:flex;flex:1;opacity:0;transition:opacity 83ms cubic-bezier(0.2, 0, 0, 1)}.no-label .content,.focused .content,.populated .content{opacity:1;transition-delay:67ms}:is(.disabled,.disable-transitions) .content{transition:none}.content ::slotted(*){all:unset;color:currentColor;font-family:var(--_content-font);font-size:var(--_content-size);line-height:var(--_content-line-height);font-weight:var(--_content-weight);width:100%;overflow-wrap:revert;white-space:revert}.content ::slotted(:not(textarea)){padding-top:var(--_top-space);padding-bottom:var(--_bottom-space)}.content ::slotted(textarea){margin-top:var(--_top-space);margin-bottom:var(--_bottom-space)}:hover .content{color:var(--_hover-content-color)}:hover .start{color:var(--_hover-leading-content-color)}:hover .end{color:var(--_hover-trailing-content-color)}.focused .content{color:var(--_focus-content-color)}.focused .start{color:var(--_focus-leading-content-color)}.focused .end{color:var(--_focus-trailing-content-color)}.disabled .content{color:var(--_disabled-content-color)}.disabled.no-label .content,.disabled.focused .content,.disabled.populated .content{opacity:var(--_disabled-content-opacity)}.disabled .start{color:var(--_disabled-leading-content-color);opacity:var(--_disabled-leading-content-opacity)}.disabled .end{color:var(--_disabled-trailing-content-color);opacity:var(--_disabled-trailing-content-opacity)}.error .content{color:var(--_error-content-color)}.error .start{color:var(--_error-leading-content-color)}.error .end{color:var(--_error-trailing-content-color)}.error:hover .content{color:var(--_error-hover-content-color)}.error:hover .start{color:var(--_error-hover-leading-content-color)}.error:hover .end{color:var(--_error-hover-trailing-content-color)}.error.focused .content{color:var(--_error-focus-content-color)}.error.focused .start{color:var(--_error-focus-leading-content-color)}.error.focused .end{color:var(--_error-focus-trailing-content-color)}}@layer hcm{@media(forced-colors: active){.disabled :is(.start,.content,.end){color:GrayText;opacity:1}}}@layer styles{.label{box-sizing:border-box;color:var(--_label-text-color);overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;z-index:1;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);width:min-content}.label-wrapper{inset:0;pointer-events:none;position:absolute}.label.resting{position:absolute;top:var(--_top-space)}.label.floating{font-size:var(--_label-text-populated-size);line-height:var(--_label-text-populated-line-height);transform-origin:top left}.label.hidden{opacity:0}.no-label .label{display:none}.label-wrapper{inset:0;position:absolute;text-align:initial}:hover .label{color:var(--_hover-label-text-color)}.focused .label{color:var(--_focus-label-text-color)}.disabled .label{color:var(--_disabled-label-text-color)}.disabled .label:not(.hidden){opacity:var(--_disabled-label-text-opacity)}.error .label{color:var(--_error-label-text-color)}.error:hover .label{color:var(--_error-hover-label-text-color)}.error.focused .label{color:var(--_error-focus-label-text-color)}}@layer hcm{@media(forced-colors: active){.disabled .label:not(.hidden){color:GrayText;opacity:1}}}@layer styles{.supporting-text{color:var(--_supporting-text-color);display:flex;font-family:var(--_supporting-text-font);font-size:var(--_supporting-text-size);line-height:var(--_supporting-text-line-height);font-weight:var(--_supporting-text-weight);gap:16px;justify-content:space-between;padding-inline-start:var(--_supporting-text-leading-space);padding-inline-end:var(--_supporting-text-trailing-space);padding-top:var(--_supporting-text-top-space)}.supporting-text :nth-child(2){flex-shrink:0}:hover .supporting-text{color:var(--_hover-supporting-text-color)}.focus .supporting-text{color:var(--_focus-supporting-text-color)}.disabled .supporting-text{color:var(--_disabled-supporting-text-color);opacity:var(--_disabled-supporting-text-opacity)}.error .supporting-text{color:var(--_error-supporting-text-color)}.error:hover .supporting-text{color:var(--_error-hover-supporting-text-color)}.error.focus .supporting-text{color:var(--_error-focus-supporting-text-color)}}@layer hcm{@media(forced-colors: active){.disabled .supporting-text{color:GrayText;opacity:1}}}`,e9s=fY.styleSheet});var qbn;var bZe=P(()=>{yl();Pl();Vbn();Gbn();vZe();qbn=class extends gZe{static{this.styles=[fY,yZe]}};qbn=Tt([ds("md-filled-field")],qbn)});var Qbn,f_r=(e)=>{if(e?.r===Qbn)return e?._$litStatic$},D5=(e,...t)=>({_$litStatic$:t.reduce((n,r,o)=>n+((a)=>{if(a._$litStatic$!==void 0)return a._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${a}. Use 'unsafeStatic' to pass non-literal values, but - take care to ensure page security.`)})(r)+e[o+1],e[0]),r:Qbn}),Zbn,xZe=(e)=>(t,...n)=>{let r=n.length,o,a,i=[],s=[],l,c=0,u=!1;for(;c{yS();Qbn=Symbol.for(""),Zbn=new Map,Xbn=xZe(Pr),c9s=xZe(Yvn),u9s=xZe(Kvn)});var DO=P(()=>{Wbn()});var AZe,h9s;var Ybn=P(()=>{sa();AZe=ia`:host{--_active-indicator-color: var(--md-filled-text-field-active-indicator-color, var(--md-sys-color-on-surface-variant, #49454f));--_active-indicator-height: var(--md-filled-text-field-active-indicator-height, 1px);--_caret-color: var(--md-filled-text-field-caret-color, var(--md-sys-color-primary, #6750a4));--_container-color: var(--md-filled-text-field-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_disabled-active-indicator-color: var(--md-filled-text-field-disabled-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-indicator-height: var(--md-filled-text-field-disabled-active-indicator-height, 1px);--_disabled-active-indicator-opacity: var(--md-filled-text-field-disabled-active-indicator-opacity, 0.38);--_disabled-container-color: var(--md-filled-text-field-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-opacity: var(--md-filled-text-field-disabled-container-opacity, 0.04);--_disabled-input-text-color: var(--md-filled-text-field-disabled-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-input-text-opacity: var(--md-filled-text-field-disabled-input-text-opacity, 0.38);--_disabled-label-text-color: var(--md-filled-text-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-text-field-disabled-label-text-opacity, 0.38);--_disabled-leading-icon-color: var(--md-filled-text-field-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-filled-text-field-disabled-leading-icon-opacity, 0.38);--_disabled-supporting-text-color: var(--md-filled-text-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-filled-text-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-icon-color: var(--md-filled-text-field-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-filled-text-field-disabled-trailing-icon-opacity, 0.38);--_error-active-indicator-color: var(--md-filled-text-field-error-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-focus-active-indicator-color: var(--md-filled-text-field-error-focus-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-focus-caret-color: var(--md-filled-text-field-error-focus-caret-color, var(--md-sys-color-error, #b3261e));--_error-focus-input-text-color: var(--md-filled-text-field-error-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-filled-text-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-icon-color: var(--md-filled-text-field-error-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-supporting-text-color: var(--md-filled-text-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-icon-color: var(--md-filled-text-field-error-focus-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_error-hover-active-indicator-color: var(--md-filled-text-field-error-hover-active-indicator-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-input-text-color: var(--md-filled-text-field-error-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-filled-text-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-icon-color: var(--md-filled-text-field-error-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-state-layer-color: var(--md-filled-text-field-error-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-state-layer-opacity: var(--md-filled-text-field-error-hover-state-layer-opacity, 0.08);--_error-hover-supporting-text-color: var(--md-filled-text-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-icon-color: var(--md-filled-text-field-error-hover-trailing-icon-color, var(--md-sys-color-on-error-container, #410e0b));--_error-input-text-color: var(--md-filled-text-field-error-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-label-text-color: var(--md-filled-text-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-icon-color: var(--md-filled-text-field-error-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-supporting-text-color: var(--md-filled-text-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-icon-color: var(--md-filled-text-field-error-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_focus-active-indicator-color: var(--md-filled-text-field-focus-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_focus-active-indicator-height: var(--md-filled-text-field-focus-active-indicator-height, 3px);--_focus-input-text-color: var(--md-filled-text-field-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-filled-text-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-icon-color: var(--md-filled-text-field-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-supporting-text-color: var(--md-filled-text-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-icon-color: var(--md-filled-text-field-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-active-indicator-color: var(--md-filled-text-field-hover-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-active-indicator-height: var(--md-filled-text-field-hover-active-indicator-height, 1px);--_hover-input-text-color: var(--md-filled-text-field-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-filled-text-field-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-leading-icon-color: var(--md-filled-text-field-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filled-text-field-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-filled-text-field-hover-state-layer-opacity, 0.08);--_hover-supporting-text-color: var(--md-filled-text-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-filled-text-field-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-color: var(--md-filled-text-field-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_input-text-font: var(--md-filled-text-field-input-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_input-text-line-height: var(--md-filled-text-field-input-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_input-text-placeholder-color: var(--md-filled-text-field-input-text-placeholder-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-prefix-color: var(--md-filled-text-field-input-text-prefix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-size: var(--md-filled-text-field-input-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_input-text-suffix-color: var(--md-filled-text-field-input-text-suffix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-weight: var(--md-filled-text-field-input-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_label-text-color: var(--md-filled-text-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-filled-text-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-text-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-populated-line-height: var(--md-filled-text-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-filled-text-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-filled-text-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-filled-text-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-icon-color: var(--md-filled-text-field-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-icon-size: var(--md-filled-text-field-leading-icon-size, 24px);--_supporting-text-color: var(--md-filled-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-filled-text-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-line-height: var(--md-filled-text-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-filled-text-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-weight: var(--md-filled-text-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_trailing-icon-color: var(--md-filled-text-field-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-size: var(--md-filled-text-field-trailing-icon-size, 24px);--_container-shape-start-start: var(--md-filled-text-field-container-shape-start-start, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-filled-text-field-container-shape-start-end, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-filled-text-field-container-shape-end-end, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-none, 0px)));--_container-shape-end-start: var(--md-filled-text-field-container-shape-end-start, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-none, 0px)));--_icon-input-space: var(--md-filled-text-field-icon-input-space, 16px);--_leading-space: var(--md-filled-text-field-leading-space, 16px);--_trailing-space: var(--md-filled-text-field-trailing-space, 16px);--_top-space: var(--md-filled-text-field-top-space, 16px);--_bottom-space: var(--md-filled-text-field-bottom-space, 16px);--_input-text-prefix-trailing-space: var(--md-filled-text-field-input-text-prefix-trailing-space, 2px);--_input-text-suffix-leading-space: var(--md-filled-text-field-input-text-suffix-leading-space, 2px);--_with-label-top-space: var(--md-filled-text-field-with-label-top-space, 8px);--_with-label-bottom-space: var(--md-filled-text-field-with-label-bottom-space, 8px);--_focus-caret-color: var(--md-filled-text-field-focus-caret-color, var(--md-sys-color-primary, #6750a4));--_with-leading-icon-leading-space: var(--md-filled-text-field-with-leading-icon-leading-space, 12px);--_with-trailing-icon-trailing-space: var(--md-filled-text-field-with-trailing-icon-trailing-space, 12px);--md-filled-field-active-indicator-color: var(--_active-indicator-color);--md-filled-field-active-indicator-height: var(--_active-indicator-height);--md-filled-field-bottom-space: var(--_bottom-space);--md-filled-field-container-color: var(--_container-color);--md-filled-field-container-shape-end-end: var(--_container-shape-end-end);--md-filled-field-container-shape-end-start: var(--_container-shape-end-start);--md-filled-field-container-shape-start-end: var(--_container-shape-start-end);--md-filled-field-container-shape-start-start: var(--_container-shape-start-start);--md-filled-field-content-color: var(--_input-text-color);--md-filled-field-content-font: var(--_input-text-font);--md-filled-field-content-line-height: var(--_input-text-line-height);--md-filled-field-content-size: var(--_input-text-size);--md-filled-field-content-space: var(--_icon-input-space);--md-filled-field-content-weight: var(--_input-text-weight);--md-filled-field-disabled-active-indicator-color: var(--_disabled-active-indicator-color);--md-filled-field-disabled-active-indicator-height: var(--_disabled-active-indicator-height);--md-filled-field-disabled-active-indicator-opacity: var(--_disabled-active-indicator-opacity);--md-filled-field-disabled-container-color: var(--_disabled-container-color);--md-filled-field-disabled-container-opacity: var(--_disabled-container-opacity);--md-filled-field-disabled-content-color: var(--_disabled-input-text-color);--md-filled-field-disabled-content-opacity: var(--_disabled-input-text-opacity);--md-filled-field-disabled-label-text-color: var(--_disabled-label-text-color);--md-filled-field-disabled-label-text-opacity: var(--_disabled-label-text-opacity);--md-filled-field-disabled-leading-content-color: var(--_disabled-leading-icon-color);--md-filled-field-disabled-leading-content-opacity: var(--_disabled-leading-icon-opacity);--md-filled-field-disabled-supporting-text-color: var(--_disabled-supporting-text-color);--md-filled-field-disabled-supporting-text-opacity: var(--_disabled-supporting-text-opacity);--md-filled-field-disabled-trailing-content-color: var(--_disabled-trailing-icon-color);--md-filled-field-disabled-trailing-content-opacity: var(--_disabled-trailing-icon-opacity);--md-filled-field-error-active-indicator-color: var(--_error-active-indicator-color);--md-filled-field-error-content-color: var(--_error-input-text-color);--md-filled-field-error-focus-active-indicator-color: var(--_error-focus-active-indicator-color);--md-filled-field-error-focus-content-color: var(--_error-focus-input-text-color);--md-filled-field-error-focus-label-text-color: var(--_error-focus-label-text-color);--md-filled-field-error-focus-leading-content-color: var(--_error-focus-leading-icon-color);--md-filled-field-error-focus-supporting-text-color: var(--_error-focus-supporting-text-color);--md-filled-field-error-focus-trailing-content-color: var(--_error-focus-trailing-icon-color);--md-filled-field-error-hover-active-indicator-color: var(--_error-hover-active-indicator-color);--md-filled-field-error-hover-content-color: var(--_error-hover-input-text-color);--md-filled-field-error-hover-label-text-color: var(--_error-hover-label-text-color);--md-filled-field-error-hover-leading-content-color: var(--_error-hover-leading-icon-color);--md-filled-field-error-hover-state-layer-color: var(--_error-hover-state-layer-color);--md-filled-field-error-hover-state-layer-opacity: var(--_error-hover-state-layer-opacity);--md-filled-field-error-hover-supporting-text-color: var(--_error-hover-supporting-text-color);--md-filled-field-error-hover-trailing-content-color: var(--_error-hover-trailing-icon-color);--md-filled-field-error-label-text-color: var(--_error-label-text-color);--md-filled-field-error-leading-content-color: var(--_error-leading-icon-color);--md-filled-field-error-supporting-text-color: var(--_error-supporting-text-color);--md-filled-field-error-trailing-content-color: var(--_error-trailing-icon-color);--md-filled-field-focus-active-indicator-color: var(--_focus-active-indicator-color);--md-filled-field-focus-active-indicator-height: var(--_focus-active-indicator-height);--md-filled-field-focus-content-color: var(--_focus-input-text-color);--md-filled-field-focus-label-text-color: var(--_focus-label-text-color);--md-filled-field-focus-leading-content-color: var(--_focus-leading-icon-color);--md-filled-field-focus-supporting-text-color: var(--_focus-supporting-text-color);--md-filled-field-focus-trailing-content-color: var(--_focus-trailing-icon-color);--md-filled-field-hover-active-indicator-color: var(--_hover-active-indicator-color);--md-filled-field-hover-active-indicator-height: var(--_hover-active-indicator-height);--md-filled-field-hover-content-color: var(--_hover-input-text-color);--md-filled-field-hover-label-text-color: var(--_hover-label-text-color);--md-filled-field-hover-leading-content-color: var(--_hover-leading-icon-color);--md-filled-field-hover-state-layer-color: var(--_hover-state-layer-color);--md-filled-field-hover-state-layer-opacity: var(--_hover-state-layer-opacity);--md-filled-field-hover-supporting-text-color: var(--_hover-supporting-text-color);--md-filled-field-hover-trailing-content-color: var(--_hover-trailing-icon-color);--md-filled-field-label-text-color: var(--_label-text-color);--md-filled-field-label-text-font: var(--_label-text-font);--md-filled-field-label-text-line-height: var(--_label-text-line-height);--md-filled-field-label-text-populated-line-height: var(--_label-text-populated-line-height);--md-filled-field-label-text-populated-size: var(--_label-text-populated-size);--md-filled-field-label-text-size: var(--_label-text-size);--md-filled-field-label-text-weight: var(--_label-text-weight);--md-filled-field-leading-content-color: var(--_leading-icon-color);--md-filled-field-leading-space: var(--_leading-space);--md-filled-field-supporting-text-color: var(--_supporting-text-color);--md-filled-field-supporting-text-font: var(--_supporting-text-font);--md-filled-field-supporting-text-line-height: var(--_supporting-text-line-height);--md-filled-field-supporting-text-size: var(--_supporting-text-size);--md-filled-field-supporting-text-weight: var(--_supporting-text-weight);--md-filled-field-top-space: var(--_top-space);--md-filled-field-trailing-content-color: var(--_trailing-icon-color);--md-filled-field-trailing-space: var(--_trailing-space);--md-filled-field-with-label-bottom-space: var(--_with-label-bottom-space);--md-filled-field-with-label-top-space: var(--_with-label-top-space);--md-filled-field-with-leading-content-leading-space: var(--_with-leading-icon-leading-space);--md-filled-field-with-trailing-content-trailing-space: var(--_with-trailing-icon-trailing-space)}`,h9s=AZe.styleSheet});var v9s,Kbn=(e)=>e.strings===void 0,m_r,Jbn=(e,t=m_r)=>e._$AH=t;var jbn=P(()=>{yS();({I:v9s}=$vn),m_r={}});var wZe;var $bn=P(()=>{yS();O1e();jbn();wZe=IO(class extends tk{constructor(e){if(super(e),e.type!==Fv.PROPERTY&&e.type!==Fv.ATTRIBUTE&&e.type!==Fv.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!Kbn(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[t]){if(t===Gm||t===cr)return t;let{element:n,name:r}=e;if(e.type===Fv.PROPERTY){if(t===n[r])return Gm}else if(e.type===Fv.BOOLEAN_ATTRIBUTE){if(!!t===n.hasAttribute(r))return Gm}else if(e.type===Fv.ATTRIBUTE&&n.getAttribute(r)===t+"")return Gm;return Jbn(e),t}})});var exn=P(()=>{$bn()});var txn="important",h_r,mY;var nxn=P(()=>{yS();O1e();h_r=" !"+txn,mY=IO(class extends tk{constructor(e){if(super(e),e.type!==Fv.ATTRIBUTE||e.name!=="style"||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];return r==null?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`},"")}update(e,[t]){let{style:n}=e.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(t)),this.render(t);for(let r of this.ft)t[r]==null&&(this.ft.delete(r),r.includes("-")?n.removeProperty(r):n[r]=null);for(let r in t){let o=t[r];if(o!=null){this.ft.add(r);let a=typeof o=="string"&&o.endsWith(h_r);r.includes("-")||a?n.setProperty(r,a?o.slice(0,-11):o,a?txn:""):n[r]=o}}return Gm}})});var SZe=P(()=>{nxn()});var rxn;var oxn=P(()=>{rxn={fromAttribute(e){return e??""},toAttribute(e){return e||null}}});function ok(e,t){if(t.bubbles&&(!e.shadowRoot||t.composed))t.stopPropagation();let n=Reflect.construct(t.constructor,[t.type,t]),r=e.dispatchEvent(n);if(!r)t.preventDefault();return r}function K1e(e){var t;class n extends e{constructor(){super(...arguments);this[t]=""}get validity(){return this[xS](),this[Zm].validity}get validationMessage(){return this[xS](),this[Zm].validationMessage}get willValidate(){return this[xS](),this[Zm].willValidate}checkValidity(){return this[xS](),this[Zm].checkValidity()}reportValidity(){return this[xS](),this[Zm].reportValidity()}setCustomValidity(r){this[Y1e]=r,this[xS]()}requestUpdate(r,o,a){super.requestUpdate(r,o,a),this[xS]()}firstUpdated(r){super.firstUpdated(r),this[xS]()}[(t=Y1e,xS)](){if(md)return;if(!this[CZe])this[CZe]=this[LO]();let{validity:r,validationMessage:o}=this[CZe].getValidity(),a=!!this[Y1e],i=this[Y1e]||o;this[Zm].setValidity({...r,customError:a},i,this[BO]()??void 0)}[LO](){throw Error("Implement [createValidator]")}[BO](){throw Error("Implement [getValidityAnchor]")}}return n}var LO,BO,CZe,xS,Y1e;var EZe=P(()=>{sa();vS();LO=Symbol("createValidator"),BO=Symbol("getValidityAnchor"),CZe=Symbol("privateValidator"),xS=Symbol("privateSyncValidity"),Y1e=Symbol("privateCustomValidationMessage")});function axn(e){var t,n,r;class o extends e{constructor(...a){super(...a);if(this[t]=new AbortController,this[n]=!1,this[r]=!1,md)return;this.addEventListener("invalid",(i)=>{if(this[j1e]||!i.isTrusted)return;this.addEventListener("invalid",()=>{this[eye](i)},{once:!0})},{capture:!0})}checkValidity(){this[j1e]=!0;let a=super.checkValidity();return this[j1e]=!1,a}reportValidity(){this[$1e]=!0;let a=super.reportValidity();if(a)this[eye](null);return this[$1e]=!1,a}[(t=J1e,n=j1e,r=$1e,eye)](a){let i=a?.defaultPrevented;if(i)return;if(this[tye](a),!(!i&&a?.defaultPrevented))return;if(this[$1e]||v_r(this[Zm].form,this))this.focus()}[tye](a){throw Error("Implement [onReportValidity]")}formAssociatedCallback(a){if(super.formAssociatedCallback)super.formAssociatedCallback(a);if(this[J1e].abort(),!a)return;this[J1e]=new AbortController,g_r(this,a,()=>{this[eye](null)},this[J1e].signal)}}return o}function g_r(e,t,n,r){let o=y_r(t),a=!1,i,s=!1;o.addEventListener("before",()=>{s=!0,i=new AbortController,a=!1,e.addEventListener("invalid",()=>{a=!0},{signal:i.signal})},{signal:r}),o.addEventListener("after",()=>{if(s=!1,i?.abort(),a)return;n()},{signal:r}),t.addEventListener("submit",()=>{if(s)return;n()},{signal:r})}function y_r(e){if(!IZe.has(e)){let t=new EventTarget;IZe.set(e,t);for(let n of["reportValidity","requestSubmit"]){let r=e[n];e[n]=function(){t.dispatchEvent(new Event("before"));let o=Reflect.apply(r,this,arguments);return t.dispatchEvent(new Event("after")),o}}}return IZe.get(e)}function v_r(e,t){if(!e)return!0;let n;for(let r of e.elements)if(r.matches(":invalid")){n=r;break}return n===t}var tye,J1e,j1e,$1e,eye,IZe;var ixn=P(()=>{sa();vS();tye=Symbol("onReportValidity"),J1e=Symbol("privateCleanupFormListeners"),j1e=Symbol("privateDoNotReportInvalid"),$1e=Symbol("privateIsSelfReportingValidity"),eye=Symbol("privateCallOnReportValidity");IZe=new WeakMap});class hY{constructor(e){this.getCurrentState=e,this.currentValidity={validity:{},validationMessage:""}}getValidity(){let e=this.getCurrentState();if(!(!this.prevState||!this.equals(this.prevState,e)))return this.currentValidity;let{validity:n,validationMessage:r}=this.computeValidity(e);return this.prevState=this.copy(e),this.currentValidity={validationMessage:r,validity:{badInput:n.badInput,customError:n.customError,patternMismatch:n.patternMismatch,rangeOverflow:n.rangeOverflow,rangeUnderflow:n.rangeUnderflow,stepMismatch:n.stepMismatch,tooLong:n.tooLong,tooShort:n.tooShort,typeMismatch:n.typeMismatch,valueMissing:n.valueMissing}},this.currentValidity}}function gY(e){return e.type!=="textarea"}var TZe;var sxn=P(()=>{TZe=class TZe extends hY{computeValidity({state:e,renderedControl:t}){let n=t;if(gY(e)&&!n)n=this.inputControl||document.createElement("input"),this.inputControl=n;else if(!n)n=this.textAreaControl||document.createElement("textarea"),this.textAreaControl=n;let r=gY(e)?n:null;if(r)r.type=e.type;if(n.value!==e.value)n.value=e.value;if(n.required=e.required,r){let o=e;if(o.pattern)r.pattern=o.pattern;else r.removeAttribute("pattern");if(o.min)r.min=o.min;else r.removeAttribute("min");if(o.max)r.max=o.max;else r.removeAttribute("max");if(o.step)r.step=o.step;else r.removeAttribute("step")}if((e.minLength??-1)>-1)n.setAttribute("minlength",String(e.minLength));else n.removeAttribute("minlength");if((e.maxLength??-1)>-1)n.setAttribute("maxlength",String(e.maxLength));else n.removeAttribute("maxlength");return{validity:n.validity,validationMessage:n.validationMessage}}equals({state:e},{state:t}){let n=e.type===t.type&&e.value===t.value&&e.required===t.required&&e.minLength===t.minLength&&e.maxLength===t.maxLength;if(!gY(e)||!gY(t))return n;return n&&e.pattern===t.pattern&&e.min===t.min&&e.max===t.max&&e.step===t.step}copy({state:e}){return{state:gY(e)?this.copyInput(e):this.copyTextArea(e),renderedControl:null}}copyInput(e){let{type:t,pattern:n,min:r,max:o,step:a}=e;return{...this.copySharedState(e),type:t,pattern:n,min:r,max:o,step:a}}copyTextArea(e){return{...this.copySharedState(e),type:e.type}}copySharedState({value:e,required:t,minLength:n,maxLength:r}){return{value:e,required:t,minLength:n,maxLength:r}}}});var b_r,$o;var kZe=P(()=>{yl();sa();Pl();TO();exn();SZe();DO();uY();oxn();EZe();vS();dY();ixn();sxn();b_r=R5(axn(K1e(M5(P5(tc)))));$o=class $o extends b_r{constructor(){super(...arguments);this.error=!1,this.errorText="",this.label="",this.noAsterisk=!1,this.required=!1,this.value="",this.prefixText="",this.suffixText="",this.hasLeadingIcon=!1,this.hasTrailingIcon=!1,this.supportingText="",this.textDirection="",this.rows=2,this.cols=20,this.inputMode="",this.max="",this.maxLength=-1,this.min="",this.minLength=-1,this.noSpinner=!1,this.pattern="",this.placeholder="",this.readOnly=!1,this.multiple=!1,this.step="",this.type="text",this.autocomplete="",this.dirty=!1,this.focused=!1,this.nativeError=!1,this.nativeErrorText=""}static{this.shadowRootOptions={...tc.shadowRootOptions,delegatesFocus:!0}}get selectionDirection(){return this.getInputOrTextarea().selectionDirection}set selectionDirection(e){this.getInputOrTextarea().selectionDirection=e}get selectionEnd(){return this.getInputOrTextarea().selectionEnd}set selectionEnd(e){this.getInputOrTextarea().selectionEnd=e}get selectionStart(){return this.getInputOrTextarea().selectionStart}set selectionStart(e){this.getInputOrTextarea().selectionStart=e}get valueAsNumber(){let e=this.getInput();if(!e)return NaN;return e.valueAsNumber}set valueAsNumber(e){let t=this.getInput();if(!t)return;t.valueAsNumber=e,this.value=t.value}get valueAsDate(){let e=this.getInput();if(!e)return null;return e.valueAsDate}set valueAsDate(e){let t=this.getInput();if(!t)return;t.valueAsDate=e,this.value=t.value}get hasError(){return this.error||this.nativeError}select(){this.getInputOrTextarea().select()}setRangeText(...e){this.getInputOrTextarea().setRangeText(...e),this.value=this.getInputOrTextarea().value}setSelectionRange(e,t,n){this.getInputOrTextarea().setSelectionRange(e,t,n)}showPicker(){let e=this.getInput();if(!e)return;e.showPicker()}stepDown(e){let t=this.getInput();if(!t)return;t.stepDown(e),this.value=t.value}stepUp(e){let t=this.getInput();if(!t)return;t.stepUp(e),this.value=t.value}reset(){this.dirty=!1,this.value=this.getAttribute("value")??"",this.nativeError=!1,this.nativeErrorText=""}attributeChangedCallback(e,t,n){if(e==="value"&&this.dirty)return;super.attributeChangedCallback(e,t,n)}render(){let e={disabled:this.disabled,error:!this.disabled&&this.hasError,textarea:this.type==="textarea","no-spinner":this.noSpinner};return Pr` ${this.renderField()} `}updated(e){let t=this.getInputOrTextarea().value;if(this.value!==t)this.value=t}renderField(){return Xbn`<${this.fieldTag} + `; + } + animateLabelIfNeeded({ wasFocused: e, wasPopulated: t }) { + if (!this.label) return; + ((e ??= this.focused), (t ??= this.populated)); + let n = e || t, + r = this.focused || this.populated; + if (n === r) return; + let o = this.getLabelKeyframes(); + if (!o.length) return; + ((this.isAnimating = !0), + this.labelAnimation?.cancel(), + (this.labelAnimation = this.floatingLabelEl?.animate(o, { + duration: 150, + easing: F1e.STANDARD, + })), + this.labelAnimation?.addEventListener("finish", () => { + this.isAnimating = !1; + })); + } + getLabelKeyframes() { + let { floatingLabelEl: e, restingLabelEl: t } = this; + if (!e || !t) return []; + let { x: n, y: r, height: o } = e.getBoundingClientRect(), + { x: a, y: i, height: s } = t.getBoundingClientRect(), + l = e.scrollWidth, + c = t.scrollWidth; + if (l === 0 || c === 0) return []; + let u = c / l, + d = a - n, + p = i - r + Math.round((s - o * u) / 2), + f = `translateX(${d}px) translateY(${p}px) scale(${u})`, + m = "translateX(0) translateY(0) scale(1)", + g = t.clientWidth, + y = c > g ? `${g / u}px` : ""; + if (this.focused || this.populated) + return [ + { transform: f, width: y }, + { transform: m, width: y }, + ]; + return [ + { transform: m, width: y }, + { transform: f, width: y }, + ]; + } + getSurfacePositionClientRect() { + return this.containerEl.getBoundingClientRect(); + } + }; + Tt([xn({ type: Boolean })], Zs.prototype, "disabled", void 0); + Tt([xn({ type: Boolean })], Zs.prototype, "error", void 0); + Tt([xn({ type: Boolean })], Zs.prototype, "focused", void 0); + Tt([xn()], Zs.prototype, "label", void 0); + Tt( + [xn({ type: Boolean, attribute: "no-asterisk" })], + Zs.prototype, + "noAsterisk", + void 0, + ); + Tt([xn({ type: Boolean })], Zs.prototype, "populated", void 0); + Tt([xn({ type: Boolean })], Zs.prototype, "required", void 0); + Tt([xn({ type: Boolean })], Zs.prototype, "resizable", void 0); + Tt( + [xn({ attribute: "supporting-text" })], + Zs.prototype, + "supportingText", + void 0, + ); + Tt([xn({ attribute: "error-text" })], Zs.prototype, "errorText", void 0); + Tt([xn({ type: Number })], Zs.prototype, "count", void 0); + Tt([xn({ type: Number })], Zs.prototype, "max", void 0); + Tt( + [xn({ type: Boolean, attribute: "has-start" })], + Zs.prototype, + "hasStart", + void 0, + ); + Tt( + [xn({ type: Boolean, attribute: "has-end" })], + Zs.prototype, + "hasEnd", + void 0, + ); + Tt( + [K7({ slot: "aria-describedby" })], + Zs.prototype, + "slottedAriaDescribedBy", + void 0, + ); + Tt([dp()], Zs.prototype, "isAnimating", void 0); + Tt([dp()], Zs.prototype, "refreshErrorAlert", void 0); + Tt([dp()], Zs.prototype, "disableTransitions", void 0); + Tt([rf(".label.floating")], Zs.prototype, "floatingLabelEl", void 0); + Tt([rf(".label.resting")], Zs.prototype, "restingLabelEl", void 0); + Tt([rf(".container")], Zs.prototype, "containerEl", void 0); +}); +var gZe; +var Vbn = P(() => { + sa(); + hZe(); + gZe = class gZe extends Zs { + renderBackground() { + return Pr`
`; + } + renderStateLayer() { + return Pr`
`; + } + renderIndicator() { + return Pr`
`; + } + }; +}); +var yZe, JPs; +var Gbn = P(() => { + sa(); + ((yZe = ia`@layer styles{:host{--_active-indicator-color: var(--md-filled-field-active-indicator-color, var(--md-sys-color-on-surface-variant, #49454f));--_active-indicator-height: var(--md-filled-field-active-indicator-height, 1px);--_bottom-space: var(--md-filled-field-bottom-space, 16px);--_container-color: var(--md-filled-field-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_content-color: var(--md-filled-field-content-color, var(--md-sys-color-on-surface, #1d1b20));--_content-font: var(--md-filled-field-content-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_content-line-height: var(--md-filled-field-content-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_content-size: var(--md-filled-field-content-size, var(--md-sys-typescale-body-large-size, 1rem));--_content-space: var(--md-filled-field-content-space, 16px);--_content-weight: var(--md-filled-field-content-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_disabled-active-indicator-color: var(--md-filled-field-disabled-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-indicator-height: var(--md-filled-field-disabled-active-indicator-height, 1px);--_disabled-active-indicator-opacity: var(--md-filled-field-disabled-active-indicator-opacity, 0.38);--_disabled-container-color: var(--md-filled-field-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-opacity: var(--md-filled-field-disabled-container-opacity, 0.04);--_disabled-content-color: var(--md-filled-field-disabled-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-content-opacity: var(--md-filled-field-disabled-content-opacity, 0.38);--_disabled-label-text-color: var(--md-filled-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-field-disabled-label-text-opacity, 0.38);--_disabled-leading-content-color: var(--md-filled-field-disabled-leading-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-content-opacity: var(--md-filled-field-disabled-leading-content-opacity, 0.38);--_disabled-supporting-text-color: var(--md-filled-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-filled-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-content-color: var(--md-filled-field-disabled-trailing-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-content-opacity: var(--md-filled-field-disabled-trailing-content-opacity, 0.38);--_error-active-indicator-color: var(--md-filled-field-error-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-content-color: var(--md-filled-field-error-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-active-indicator-color: var(--md-filled-field-error-focus-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-focus-content-color: var(--md-filled-field-error-focus-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-label-text-color: var(--md-filled-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-content-color: var(--md-filled-field-error-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-supporting-text-color: var(--md-filled-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-content-color: var(--md-filled-field-error-focus-trailing-content-color, var(--md-sys-color-error, #b3261e));--_error-hover-active-indicator-color: var(--md-filled-field-error-hover-active-indicator-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-content-color: var(--md-filled-field-error-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-filled-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-content-color: var(--md-filled-field-error-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-state-layer-color: var(--md-filled-field-error-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-state-layer-opacity: var(--md-filled-field-error-hover-state-layer-opacity, 0.08);--_error-hover-supporting-text-color: var(--md-filled-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-content-color: var(--md-filled-field-error-hover-trailing-content-color, var(--md-sys-color-on-error-container, #410e0b));--_error-label-text-color: var(--md-filled-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-content-color: var(--md-filled-field-error-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-supporting-text-color: var(--md-filled-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-content-color: var(--md-filled-field-error-trailing-content-color, var(--md-sys-color-error, #b3261e));--_focus-active-indicator-color: var(--md-filled-field-focus-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_focus-active-indicator-height: var(--md-filled-field-focus-active-indicator-height, 3px);--_focus-content-color: var(--md-filled-field-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-filled-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-content-color: var(--md-filled-field-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-supporting-text-color: var(--md-filled-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-content-color: var(--md-filled-field-focus-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-active-indicator-color: var(--md-filled-field-hover-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-active-indicator-height: var(--md-filled-field-hover-active-indicator-height, 1px);--_hover-content-color: var(--md-filled-field-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-filled-field-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-leading-content-color: var(--md-filled-field-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filled-field-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-filled-field-hover-state-layer-opacity, 0.08);--_hover-supporting-text-color: var(--md-filled-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-content-color: var(--md-filled-field-hover-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-color: var(--md-filled-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-filled-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-populated-line-height: var(--md-filled-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-filled-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-filled-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-filled-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-content-color: var(--md-filled-field-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-space: var(--md-filled-field-leading-space, 16px);--_supporting-text-color: var(--md-filled-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-filled-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-leading-space: var(--md-filled-field-supporting-text-leading-space, 16px);--_supporting-text-line-height: var(--md-filled-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-filled-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-top-space: var(--md-filled-field-supporting-text-top-space, 4px);--_supporting-text-trailing-space: var(--md-filled-field-supporting-text-trailing-space, 16px);--_supporting-text-weight: var(--md-filled-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_top-space: var(--md-filled-field-top-space, 16px);--_trailing-content-color: var(--md-filled-field-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-space: var(--md-filled-field-trailing-space, 16px);--_with-label-bottom-space: var(--md-filled-field-with-label-bottom-space, 8px);--_with-label-top-space: var(--md-filled-field-with-label-top-space, 8px);--_with-leading-content-leading-space: var(--md-filled-field-with-leading-content-leading-space, 12px);--_with-trailing-content-trailing-space: var(--md-filled-field-with-trailing-content-trailing-space, 12px);--_container-shape-start-start: var(--md-filled-field-container-shape-start-start, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-filled-field-container-shape-start-end, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-filled-field-container-shape-end-end, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-none, 0px)));--_container-shape-end-start: var(--md-filled-field-container-shape-end-start, var(--md-filled-field-container-shape, var(--md-sys-shape-corner-none, 0px)))}.background,.state-layer{border-radius:inherit;inset:0;pointer-events:none;position:absolute}.background{background:var(--_container-color)}.state-layer{visibility:hidden}.field:not(.disabled):hover .state-layer{visibility:visible}.label.floating{position:absolute;top:var(--_with-label-top-space)}.field:not(.with-start) .label-wrapper{margin-inline-start:var(--_leading-space)}.field:not(.with-end) .label-wrapper{margin-inline-end:var(--_trailing-space)}.active-indicator{inset:auto 0 0 0;pointer-events:none;position:absolute;width:100%;z-index:1}.active-indicator::before,.active-indicator::after{border-bottom:var(--_active-indicator-height) solid var(--_active-indicator-color);inset:auto 0 0 0;content:"";position:absolute;width:100%}.active-indicator::after{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .active-indicator::after{opacity:1}.field:not(.with-start) .content ::slotted(*){padding-inline-start:var(--_leading-space)}.field:not(.with-end) .content ::slotted(*){padding-inline-end:var(--_trailing-space)}.field:not(.no-label) .content ::slotted(:not(textarea)){padding-bottom:var(--_with-label-bottom-space);padding-top:calc(var(--_with-label-top-space) + var(--_label-text-populated-line-height))}.field:not(.no-label) .content ::slotted(textarea){margin-bottom:var(--_with-label-bottom-space);margin-top:calc(var(--_with-label-top-space) + var(--_label-text-populated-line-height))}:hover .active-indicator::before{border-bottom-color:var(--_hover-active-indicator-color);border-bottom-width:var(--_hover-active-indicator-height)}.active-indicator::after{border-bottom-color:var(--_focus-active-indicator-color);border-bottom-width:var(--_focus-active-indicator-height)}:hover .state-layer{background:var(--_hover-state-layer-color);opacity:var(--_hover-state-layer-opacity)}.disabled .active-indicator::before{border-bottom-color:var(--_disabled-active-indicator-color);border-bottom-width:var(--_disabled-active-indicator-height);opacity:var(--_disabled-active-indicator-opacity)}.disabled .background{background:var(--_disabled-container-color);opacity:var(--_disabled-container-opacity)}.error .active-indicator::before{border-bottom-color:var(--_error-active-indicator-color)}.error:hover .active-indicator::before{border-bottom-color:var(--_error-hover-active-indicator-color)}.error:hover .state-layer{background:var(--_error-hover-state-layer-color);opacity:var(--_error-hover-state-layer-opacity)}.error .active-indicator::after{border-bottom-color:var(--_error-focus-active-indicator-color)}.resizable .container{bottom:var(--_focus-active-indicator-height);clip-path:inset(var(--_focus-active-indicator-height) 0 0 0)}.resizable .container>*{top:var(--_focus-active-indicator-height)}}@layer hcm{@media(forced-colors: active){.disabled .active-indicator::before{border-color:GrayText;opacity:1}}}`), + (JPs = yZe.styleSheet)); +}); +var fY, e9s; +var vZe = P(() => { + sa(); + ((fY = ia`:host{display:inline-flex;resize:both}.field{display:flex;flex:1;flex-direction:column;writing-mode:horizontal-tb;max-width:100%}.container-overflow{border-start-start-radius:var(--_container-shape-start-start);border-start-end-radius:var(--_container-shape-start-end);border-end-end-radius:var(--_container-shape-end-end);border-end-start-radius:var(--_container-shape-end-start);display:flex;height:100%;position:relative}.container{align-items:center;border-radius:inherit;display:flex;flex:1;max-height:100%;min-height:100%;min-width:min-content;position:relative}.field,.container-overflow{resize:inherit}.resizable:not(.disabled) .container{resize:inherit;overflow:hidden}.disabled{pointer-events:none}slot[name=container]{border-radius:inherit}slot[name=container]::slotted(*){border-radius:inherit;inset:0;pointer-events:none;position:absolute}@layer styles{.start,.middle,.end{display:flex;box-sizing:border-box;height:100%;position:relative}.start{color:var(--_leading-content-color)}.end{color:var(--_trailing-content-color)}.start,.end{align-items:center;justify-content:center}.with-start .start{margin-inline:var(--_with-leading-content-leading-space) var(--_content-space)}.with-end .end{margin-inline:var(--_content-space) var(--_with-trailing-content-trailing-space)}.middle{align-items:stretch;align-self:baseline;flex:1}.content{color:var(--_content-color);display:flex;flex:1;opacity:0;transition:opacity 83ms cubic-bezier(0.2, 0, 0, 1)}.no-label .content,.focused .content,.populated .content{opacity:1;transition-delay:67ms}:is(.disabled,.disable-transitions) .content{transition:none}.content ::slotted(*){all:unset;color:currentColor;font-family:var(--_content-font);font-size:var(--_content-size);line-height:var(--_content-line-height);font-weight:var(--_content-weight);width:100%;overflow-wrap:revert;white-space:revert}.content ::slotted(:not(textarea)){padding-top:var(--_top-space);padding-bottom:var(--_bottom-space)}.content ::slotted(textarea){margin-top:var(--_top-space);margin-bottom:var(--_bottom-space)}:hover .content{color:var(--_hover-content-color)}:hover .start{color:var(--_hover-leading-content-color)}:hover .end{color:var(--_hover-trailing-content-color)}.focused .content{color:var(--_focus-content-color)}.focused .start{color:var(--_focus-leading-content-color)}.focused .end{color:var(--_focus-trailing-content-color)}.disabled .content{color:var(--_disabled-content-color)}.disabled.no-label .content,.disabled.focused .content,.disabled.populated .content{opacity:var(--_disabled-content-opacity)}.disabled .start{color:var(--_disabled-leading-content-color);opacity:var(--_disabled-leading-content-opacity)}.disabled .end{color:var(--_disabled-trailing-content-color);opacity:var(--_disabled-trailing-content-opacity)}.error .content{color:var(--_error-content-color)}.error .start{color:var(--_error-leading-content-color)}.error .end{color:var(--_error-trailing-content-color)}.error:hover .content{color:var(--_error-hover-content-color)}.error:hover .start{color:var(--_error-hover-leading-content-color)}.error:hover .end{color:var(--_error-hover-trailing-content-color)}.error.focused .content{color:var(--_error-focus-content-color)}.error.focused .start{color:var(--_error-focus-leading-content-color)}.error.focused .end{color:var(--_error-focus-trailing-content-color)}}@layer hcm{@media(forced-colors: active){.disabled :is(.start,.content,.end){color:GrayText;opacity:1}}}@layer styles{.label{box-sizing:border-box;color:var(--_label-text-color);overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;z-index:1;font-family:var(--_label-text-font);font-size:var(--_label-text-size);line-height:var(--_label-text-line-height);font-weight:var(--_label-text-weight);width:min-content}.label-wrapper{inset:0;pointer-events:none;position:absolute}.label.resting{position:absolute;top:var(--_top-space)}.label.floating{font-size:var(--_label-text-populated-size);line-height:var(--_label-text-populated-line-height);transform-origin:top left}.label.hidden{opacity:0}.no-label .label{display:none}.label-wrapper{inset:0;position:absolute;text-align:initial}:hover .label{color:var(--_hover-label-text-color)}.focused .label{color:var(--_focus-label-text-color)}.disabled .label{color:var(--_disabled-label-text-color)}.disabled .label:not(.hidden){opacity:var(--_disabled-label-text-opacity)}.error .label{color:var(--_error-label-text-color)}.error:hover .label{color:var(--_error-hover-label-text-color)}.error.focused .label{color:var(--_error-focus-label-text-color)}}@layer hcm{@media(forced-colors: active){.disabled .label:not(.hidden){color:GrayText;opacity:1}}}@layer styles{.supporting-text{color:var(--_supporting-text-color);display:flex;font-family:var(--_supporting-text-font);font-size:var(--_supporting-text-size);line-height:var(--_supporting-text-line-height);font-weight:var(--_supporting-text-weight);gap:16px;justify-content:space-between;padding-inline-start:var(--_supporting-text-leading-space);padding-inline-end:var(--_supporting-text-trailing-space);padding-top:var(--_supporting-text-top-space)}.supporting-text :nth-child(2){flex-shrink:0}:hover .supporting-text{color:var(--_hover-supporting-text-color)}.focus .supporting-text{color:var(--_focus-supporting-text-color)}.disabled .supporting-text{color:var(--_disabled-supporting-text-color);opacity:var(--_disabled-supporting-text-opacity)}.error .supporting-text{color:var(--_error-supporting-text-color)}.error:hover .supporting-text{color:var(--_error-hover-supporting-text-color)}.error.focus .supporting-text{color:var(--_error-focus-supporting-text-color)}}@layer hcm{@media(forced-colors: active){.disabled .supporting-text{color:GrayText;opacity:1}}}`), + (e9s = fY.styleSheet)); +}); +var qbn; +var bZe = P(() => { + yl(); + Pl(); + Vbn(); + Gbn(); + vZe(); + qbn = class extends gZe { + static { + this.styles = [fY, yZe]; + } + }; + qbn = Tt([ds("md-filled-field")], qbn); +}); +var Qbn, + f_r = (e) => { + if (e?.r === Qbn) return e?._$litStatic$; + }, + D5 = (e, ...t) => ({ + _$litStatic$: t.reduce( + (n, r, o) => + n + + ((a) => { + if (a._$litStatic$ !== void 0) return a._$litStatic$; + throw Error(`Value passed to 'literal' function must be a 'literal' result: ${a}. Use 'unsafeStatic' to pass non-literal values, but + take care to ensure page security.`); + })(r) + + e[o + 1], + e[0], + ), + r: Qbn, + }), + Zbn, + xZe = + (e) => + (t, ...n) => { + let r = n.length, + o, + a, + i = [], + s = [], + l, + c = 0, + u = !1; + for (; c < r;) { + for (l = t[c]; c < r && ((a = n[c]), (o = f_r(a))) !== void 0;) + ((l += o + t[++c]), (u = !0)); + (c !== r && s.push(a), i.push(l), c++); + } + if ((c === r && i.push(t[r]), u)) { + let d = i.join("$$lit$$"); + ((t = Zbn.get(d)) === void 0 && ((i.raw = i), Zbn.set(d, (t = i))), + (n = s)); + } + return e(t, ...n); + }, + Xbn, + c9s, + u9s; +var Wbn = P(() => { + yS(); + ((Qbn = Symbol.for("")), + (Zbn = new Map()), + (Xbn = xZe(Pr)), + (c9s = xZe(Yvn)), + (u9s = xZe(Kvn))); +}); +var DO = P(() => { + Wbn(); +}); +var AZe, h9s; +var Ybn = P(() => { + sa(); + ((AZe = ia`:host{--_active-indicator-color: var(--md-filled-text-field-active-indicator-color, var(--md-sys-color-on-surface-variant, #49454f));--_active-indicator-height: var(--md-filled-text-field-active-indicator-height, 1px);--_caret-color: var(--md-filled-text-field-caret-color, var(--md-sys-color-primary, #6750a4));--_container-color: var(--md-filled-text-field-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_disabled-active-indicator-color: var(--md-filled-text-field-disabled-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-indicator-height: var(--md-filled-text-field-disabled-active-indicator-height, 1px);--_disabled-active-indicator-opacity: var(--md-filled-text-field-disabled-active-indicator-opacity, 0.38);--_disabled-container-color: var(--md-filled-text-field-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-container-opacity: var(--md-filled-text-field-disabled-container-opacity, 0.04);--_disabled-input-text-color: var(--md-filled-text-field-disabled-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-input-text-opacity: var(--md-filled-text-field-disabled-input-text-opacity, 0.38);--_disabled-label-text-color: var(--md-filled-text-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-filled-text-field-disabled-label-text-opacity, 0.38);--_disabled-leading-icon-color: var(--md-filled-text-field-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-filled-text-field-disabled-leading-icon-opacity, 0.38);--_disabled-supporting-text-color: var(--md-filled-text-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-filled-text-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-icon-color: var(--md-filled-text-field-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-filled-text-field-disabled-trailing-icon-opacity, 0.38);--_error-active-indicator-color: var(--md-filled-text-field-error-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-focus-active-indicator-color: var(--md-filled-text-field-error-focus-active-indicator-color, var(--md-sys-color-error, #b3261e));--_error-focus-caret-color: var(--md-filled-text-field-error-focus-caret-color, var(--md-sys-color-error, #b3261e));--_error-focus-input-text-color: var(--md-filled-text-field-error-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-filled-text-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-icon-color: var(--md-filled-text-field-error-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-supporting-text-color: var(--md-filled-text-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-icon-color: var(--md-filled-text-field-error-focus-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_error-hover-active-indicator-color: var(--md-filled-text-field-error-hover-active-indicator-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-input-text-color: var(--md-filled-text-field-error-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-filled-text-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-icon-color: var(--md-filled-text-field-error-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-state-layer-color: var(--md-filled-text-field-error-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-state-layer-opacity: var(--md-filled-text-field-error-hover-state-layer-opacity, 0.08);--_error-hover-supporting-text-color: var(--md-filled-text-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-icon-color: var(--md-filled-text-field-error-hover-trailing-icon-color, var(--md-sys-color-on-error-container, #410e0b));--_error-input-text-color: var(--md-filled-text-field-error-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-label-text-color: var(--md-filled-text-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-icon-color: var(--md-filled-text-field-error-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-supporting-text-color: var(--md-filled-text-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-icon-color: var(--md-filled-text-field-error-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_focus-active-indicator-color: var(--md-filled-text-field-focus-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_focus-active-indicator-height: var(--md-filled-text-field-focus-active-indicator-height, 3px);--_focus-input-text-color: var(--md-filled-text-field-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-filled-text-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-icon-color: var(--md-filled-text-field-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-supporting-text-color: var(--md-filled-text-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-icon-color: var(--md-filled-text-field-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-active-indicator-color: var(--md-filled-text-field-hover-active-indicator-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-active-indicator-height: var(--md-filled-text-field-hover-active-indicator-height, 1px);--_hover-input-text-color: var(--md-filled-text-field-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-filled-text-field-hover-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-leading-icon-color: var(--md-filled-text-field-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-state-layer-color: var(--md-filled-text-field-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-state-layer-opacity: var(--md-filled-text-field-hover-state-layer-opacity, 0.08);--_hover-supporting-text-color: var(--md-filled-text-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-filled-text-field-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-color: var(--md-filled-text-field-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_input-text-font: var(--md-filled-text-field-input-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_input-text-line-height: var(--md-filled-text-field-input-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_input-text-placeholder-color: var(--md-filled-text-field-input-text-placeholder-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-prefix-color: var(--md-filled-text-field-input-text-prefix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-size: var(--md-filled-text-field-input-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_input-text-suffix-color: var(--md-filled-text-field-input-text-suffix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-weight: var(--md-filled-text-field-input-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_label-text-color: var(--md-filled-text-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-filled-text-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-filled-text-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-populated-line-height: var(--md-filled-text-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-filled-text-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-filled-text-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-filled-text-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-icon-color: var(--md-filled-text-field-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-icon-size: var(--md-filled-text-field-leading-icon-size, 24px);--_supporting-text-color: var(--md-filled-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-filled-text-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-line-height: var(--md-filled-text-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-filled-text-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-weight: var(--md-filled-text-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_trailing-icon-color: var(--md-filled-text-field-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-size: var(--md-filled-text-field-trailing-icon-size, 24px);--_container-shape-start-start: var(--md-filled-text-field-container-shape-start-start, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-filled-text-field-container-shape-start-end, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-filled-text-field-container-shape-end-end, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-none, 0px)));--_container-shape-end-start: var(--md-filled-text-field-container-shape-end-start, var(--md-filled-text-field-container-shape, var(--md-sys-shape-corner-none, 0px)));--_icon-input-space: var(--md-filled-text-field-icon-input-space, 16px);--_leading-space: var(--md-filled-text-field-leading-space, 16px);--_trailing-space: var(--md-filled-text-field-trailing-space, 16px);--_top-space: var(--md-filled-text-field-top-space, 16px);--_bottom-space: var(--md-filled-text-field-bottom-space, 16px);--_input-text-prefix-trailing-space: var(--md-filled-text-field-input-text-prefix-trailing-space, 2px);--_input-text-suffix-leading-space: var(--md-filled-text-field-input-text-suffix-leading-space, 2px);--_with-label-top-space: var(--md-filled-text-field-with-label-top-space, 8px);--_with-label-bottom-space: var(--md-filled-text-field-with-label-bottom-space, 8px);--_focus-caret-color: var(--md-filled-text-field-focus-caret-color, var(--md-sys-color-primary, #6750a4));--_with-leading-icon-leading-space: var(--md-filled-text-field-with-leading-icon-leading-space, 12px);--_with-trailing-icon-trailing-space: var(--md-filled-text-field-with-trailing-icon-trailing-space, 12px);--md-filled-field-active-indicator-color: var(--_active-indicator-color);--md-filled-field-active-indicator-height: var(--_active-indicator-height);--md-filled-field-bottom-space: var(--_bottom-space);--md-filled-field-container-color: var(--_container-color);--md-filled-field-container-shape-end-end: var(--_container-shape-end-end);--md-filled-field-container-shape-end-start: var(--_container-shape-end-start);--md-filled-field-container-shape-start-end: var(--_container-shape-start-end);--md-filled-field-container-shape-start-start: var(--_container-shape-start-start);--md-filled-field-content-color: var(--_input-text-color);--md-filled-field-content-font: var(--_input-text-font);--md-filled-field-content-line-height: var(--_input-text-line-height);--md-filled-field-content-size: var(--_input-text-size);--md-filled-field-content-space: var(--_icon-input-space);--md-filled-field-content-weight: var(--_input-text-weight);--md-filled-field-disabled-active-indicator-color: var(--_disabled-active-indicator-color);--md-filled-field-disabled-active-indicator-height: var(--_disabled-active-indicator-height);--md-filled-field-disabled-active-indicator-opacity: var(--_disabled-active-indicator-opacity);--md-filled-field-disabled-container-color: var(--_disabled-container-color);--md-filled-field-disabled-container-opacity: var(--_disabled-container-opacity);--md-filled-field-disabled-content-color: var(--_disabled-input-text-color);--md-filled-field-disabled-content-opacity: var(--_disabled-input-text-opacity);--md-filled-field-disabled-label-text-color: var(--_disabled-label-text-color);--md-filled-field-disabled-label-text-opacity: var(--_disabled-label-text-opacity);--md-filled-field-disabled-leading-content-color: var(--_disabled-leading-icon-color);--md-filled-field-disabled-leading-content-opacity: var(--_disabled-leading-icon-opacity);--md-filled-field-disabled-supporting-text-color: var(--_disabled-supporting-text-color);--md-filled-field-disabled-supporting-text-opacity: var(--_disabled-supporting-text-opacity);--md-filled-field-disabled-trailing-content-color: var(--_disabled-trailing-icon-color);--md-filled-field-disabled-trailing-content-opacity: var(--_disabled-trailing-icon-opacity);--md-filled-field-error-active-indicator-color: var(--_error-active-indicator-color);--md-filled-field-error-content-color: var(--_error-input-text-color);--md-filled-field-error-focus-active-indicator-color: var(--_error-focus-active-indicator-color);--md-filled-field-error-focus-content-color: var(--_error-focus-input-text-color);--md-filled-field-error-focus-label-text-color: var(--_error-focus-label-text-color);--md-filled-field-error-focus-leading-content-color: var(--_error-focus-leading-icon-color);--md-filled-field-error-focus-supporting-text-color: var(--_error-focus-supporting-text-color);--md-filled-field-error-focus-trailing-content-color: var(--_error-focus-trailing-icon-color);--md-filled-field-error-hover-active-indicator-color: var(--_error-hover-active-indicator-color);--md-filled-field-error-hover-content-color: var(--_error-hover-input-text-color);--md-filled-field-error-hover-label-text-color: var(--_error-hover-label-text-color);--md-filled-field-error-hover-leading-content-color: var(--_error-hover-leading-icon-color);--md-filled-field-error-hover-state-layer-color: var(--_error-hover-state-layer-color);--md-filled-field-error-hover-state-layer-opacity: var(--_error-hover-state-layer-opacity);--md-filled-field-error-hover-supporting-text-color: var(--_error-hover-supporting-text-color);--md-filled-field-error-hover-trailing-content-color: var(--_error-hover-trailing-icon-color);--md-filled-field-error-label-text-color: var(--_error-label-text-color);--md-filled-field-error-leading-content-color: var(--_error-leading-icon-color);--md-filled-field-error-supporting-text-color: var(--_error-supporting-text-color);--md-filled-field-error-trailing-content-color: var(--_error-trailing-icon-color);--md-filled-field-focus-active-indicator-color: var(--_focus-active-indicator-color);--md-filled-field-focus-active-indicator-height: var(--_focus-active-indicator-height);--md-filled-field-focus-content-color: var(--_focus-input-text-color);--md-filled-field-focus-label-text-color: var(--_focus-label-text-color);--md-filled-field-focus-leading-content-color: var(--_focus-leading-icon-color);--md-filled-field-focus-supporting-text-color: var(--_focus-supporting-text-color);--md-filled-field-focus-trailing-content-color: var(--_focus-trailing-icon-color);--md-filled-field-hover-active-indicator-color: var(--_hover-active-indicator-color);--md-filled-field-hover-active-indicator-height: var(--_hover-active-indicator-height);--md-filled-field-hover-content-color: var(--_hover-input-text-color);--md-filled-field-hover-label-text-color: var(--_hover-label-text-color);--md-filled-field-hover-leading-content-color: var(--_hover-leading-icon-color);--md-filled-field-hover-state-layer-color: var(--_hover-state-layer-color);--md-filled-field-hover-state-layer-opacity: var(--_hover-state-layer-opacity);--md-filled-field-hover-supporting-text-color: var(--_hover-supporting-text-color);--md-filled-field-hover-trailing-content-color: var(--_hover-trailing-icon-color);--md-filled-field-label-text-color: var(--_label-text-color);--md-filled-field-label-text-font: var(--_label-text-font);--md-filled-field-label-text-line-height: var(--_label-text-line-height);--md-filled-field-label-text-populated-line-height: var(--_label-text-populated-line-height);--md-filled-field-label-text-populated-size: var(--_label-text-populated-size);--md-filled-field-label-text-size: var(--_label-text-size);--md-filled-field-label-text-weight: var(--_label-text-weight);--md-filled-field-leading-content-color: var(--_leading-icon-color);--md-filled-field-leading-space: var(--_leading-space);--md-filled-field-supporting-text-color: var(--_supporting-text-color);--md-filled-field-supporting-text-font: var(--_supporting-text-font);--md-filled-field-supporting-text-line-height: var(--_supporting-text-line-height);--md-filled-field-supporting-text-size: var(--_supporting-text-size);--md-filled-field-supporting-text-weight: var(--_supporting-text-weight);--md-filled-field-top-space: var(--_top-space);--md-filled-field-trailing-content-color: var(--_trailing-icon-color);--md-filled-field-trailing-space: var(--_trailing-space);--md-filled-field-with-label-bottom-space: var(--_with-label-bottom-space);--md-filled-field-with-label-top-space: var(--_with-label-top-space);--md-filled-field-with-leading-content-leading-space: var(--_with-leading-icon-leading-space);--md-filled-field-with-trailing-content-trailing-space: var(--_with-trailing-icon-trailing-space)}`), + (h9s = AZe.styleSheet)); +}); +var v9s, + Kbn = (e) => e.strings === void 0, + m_r, + Jbn = (e, t = m_r) => (e._$AH = t); +var jbn = P(() => { + yS(); + (({ I: v9s } = $vn), (m_r = {})); +}); +var wZe; +var $bn = P(() => { + yS(); + O1e(); + jbn(); + wZe = IO( + class extends tk { + constructor(e) { + if ( + (super(e), + e.type !== Fv.PROPERTY && + e.type !== Fv.ATTRIBUTE && + e.type !== Fv.BOOLEAN_ATTRIBUTE) + ) + throw Error( + "The `live` directive is not allowed on child or event bindings", + ); + if (!Kbn(e)) + throw Error("`live` bindings can only contain a single expression"); + } + render(e) { + return e; + } + update(e, [t]) { + if (t === Gm || t === cr) return t; + let { element: n, name: r } = e; + if (e.type === Fv.PROPERTY) { + if (t === n[r]) return Gm; + } else if (e.type === Fv.BOOLEAN_ATTRIBUTE) { + if (!!t === n.hasAttribute(r)) return Gm; + } else if (e.type === Fv.ATTRIBUTE && n.getAttribute(r) === t + "") + return Gm; + return (Jbn(e), t); + } + }, + ); +}); +var exn = P(() => { + $bn(); +}); +var txn = "important", + h_r, + mY; +var nxn = P(() => { + yS(); + O1e(); + ((h_r = " !" + txn), + (mY = IO( + class extends tk { + constructor(e) { + if ( + (super(e), + e.type !== Fv.ATTRIBUTE || + e.name !== "style" || + e.strings?.length > 2) + ) + throw Error( + "The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.", + ); + } + render(e) { + return Object.keys(e).reduce((t, n) => { + let r = e[n]; + return r == null + ? t + : t + + `${(n = n.includes("-") ? n : n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, "-$&").toLowerCase())}:${r};`; + }, ""); + } + update(e, [t]) { + let { style: n } = e.element; + if (this.ft === void 0) + return ((this.ft = new Set(Object.keys(t))), this.render(t)); + for (let r of this.ft) + t[r] == null && + (this.ft.delete(r), + r.includes("-") ? n.removeProperty(r) : (n[r] = null)); + for (let r in t) { + let o = t[r]; + if (o != null) { + this.ft.add(r); + let a = typeof o == "string" && o.endsWith(h_r); + r.includes("-") || a + ? n.setProperty(r, a ? o.slice(0, -11) : o, a ? txn : "") + : (n[r] = o); + } + } + return Gm; + } + }, + ))); +}); +var SZe = P(() => { + nxn(); +}); +var rxn; +var oxn = P(() => { + rxn = { + fromAttribute(e) { + return e ?? ""; + }, + toAttribute(e) { + return e || null; + }, + }; +}); +function ok(e, t) { + if (t.bubbles && (!e.shadowRoot || t.composed)) t.stopPropagation(); + let n = Reflect.construct(t.constructor, [t.type, t]), + r = e.dispatchEvent(n); + if (!r) t.preventDefault(); + return r; +} +function K1e(e) { + var t; + class n extends e { + constructor() { + super(...arguments); + this[t] = ""; + } + get validity() { + return (this[xS](), this[Zm].validity); + } + get validationMessage() { + return (this[xS](), this[Zm].validationMessage); + } + get willValidate() { + return (this[xS](), this[Zm].willValidate); + } + checkValidity() { + return (this[xS](), this[Zm].checkValidity()); + } + reportValidity() { + return (this[xS](), this[Zm].reportValidity()); + } + setCustomValidity(r) { + ((this[Y1e] = r), this[xS]()); + } + requestUpdate(r, o, a) { + (super.requestUpdate(r, o, a), this[xS]()); + } + firstUpdated(r) { + (super.firstUpdated(r), this[xS]()); + } + [((t = Y1e), xS)]() { + if (md) return; + if (!this[CZe]) this[CZe] = this[LO](); + let { validity: r, validationMessage: o } = this[CZe].getValidity(), + a = !!this[Y1e], + i = this[Y1e] || o; + this[Zm].setValidity({ ...r, customError: a }, i, this[BO]() ?? void 0); + } + [LO]() { + throw Error("Implement [createValidator]"); + } + [BO]() { + throw Error("Implement [getValidityAnchor]"); + } + } + return n; +} +var LO, BO, CZe, xS, Y1e; +var EZe = P(() => { + sa(); + vS(); + ((LO = Symbol("createValidator")), + (BO = Symbol("getValidityAnchor")), + (CZe = Symbol("privateValidator")), + (xS = Symbol("privateSyncValidity")), + (Y1e = Symbol("privateCustomValidationMessage"))); +}); +function axn(e) { + var t, n, r; + class o extends e { + constructor(...a) { + super(...a); + if ( + ((this[t] = new AbortController()), (this[n] = !1), (this[r] = !1), md) + ) + return; + this.addEventListener( + "invalid", + (i) => { + if (this[j1e] || !i.isTrusted) return; + this.addEventListener( + "invalid", + () => { + this[eye](i); + }, + { once: !0 }, + ); + }, + { capture: !0 }, + ); + } + checkValidity() { + this[j1e] = !0; + let a = super.checkValidity(); + return ((this[j1e] = !1), a); + } + reportValidity() { + this[$1e] = !0; + let a = super.reportValidity(); + if (a) this[eye](null); + return ((this[$1e] = !1), a); + } + [((t = J1e), (n = j1e), (r = $1e), eye)](a) { + let i = a?.defaultPrevented; + if (i) return; + if ((this[tye](a), !(!i && a?.defaultPrevented))) return; + if (this[$1e] || v_r(this[Zm].form, this)) this.focus(); + } + [tye](a) { + throw Error("Implement [onReportValidity]"); + } + formAssociatedCallback(a) { + if (super.formAssociatedCallback) super.formAssociatedCallback(a); + if ((this[J1e].abort(), !a)) return; + ((this[J1e] = new AbortController()), + g_r( + this, + a, + () => { + this[eye](null); + }, + this[J1e].signal, + )); + } + } + return o; +} +function g_r(e, t, n, r) { + let o = y_r(t), + a = !1, + i, + s = !1; + (o.addEventListener( + "before", + () => { + ((s = !0), + (i = new AbortController()), + (a = !1), + e.addEventListener( + "invalid", + () => { + a = !0; + }, + { signal: i.signal }, + )); + }, + { signal: r }, + ), + o.addEventListener( + "after", + () => { + if (((s = !1), i?.abort(), a)) return; + n(); + }, + { signal: r }, + ), + t.addEventListener( + "submit", + () => { + if (s) return; + n(); + }, + { signal: r }, + )); +} +function y_r(e) { + if (!IZe.has(e)) { + let t = new EventTarget(); + IZe.set(e, t); + for (let n of ["reportValidity", "requestSubmit"]) { + let r = e[n]; + e[n] = function () { + t.dispatchEvent(new Event("before")); + let o = Reflect.apply(r, this, arguments); + return (t.dispatchEvent(new Event("after")), o); + }; + } + } + return IZe.get(e); +} +function v_r(e, t) { + if (!e) return !0; + let n; + for (let r of e.elements) + if (r.matches(":invalid")) { + n = r; + break; + } + return n === t; +} +var tye, J1e, j1e, $1e, eye, IZe; +var ixn = P(() => { + sa(); + vS(); + ((tye = Symbol("onReportValidity")), + (J1e = Symbol("privateCleanupFormListeners")), + (j1e = Symbol("privateDoNotReportInvalid")), + ($1e = Symbol("privateIsSelfReportingValidity")), + (eye = Symbol("privateCallOnReportValidity"))); + IZe = new WeakMap(); +}); +class hY { + constructor(e) { + ((this.getCurrentState = e), + (this.currentValidity = { validity: {}, validationMessage: "" })); + } + getValidity() { + let e = this.getCurrentState(); + if (!(!this.prevState || !this.equals(this.prevState, e))) + return this.currentValidity; + let { validity: n, validationMessage: r } = this.computeValidity(e); + return ( + (this.prevState = this.copy(e)), + (this.currentValidity = { + validationMessage: r, + validity: { + badInput: n.badInput, + customError: n.customError, + patternMismatch: n.patternMismatch, + rangeOverflow: n.rangeOverflow, + rangeUnderflow: n.rangeUnderflow, + stepMismatch: n.stepMismatch, + tooLong: n.tooLong, + tooShort: n.tooShort, + typeMismatch: n.typeMismatch, + valueMissing: n.valueMissing, + }, + }), + this.currentValidity + ); + } +} +function gY(e) { + return e.type !== "textarea"; +} +var TZe; +var sxn = P(() => { + TZe = class TZe extends hY { + computeValidity({ state: e, renderedControl: t }) { + let n = t; + if (gY(e) && !n) + ((n = this.inputControl || document.createElement("input")), + (this.inputControl = n)); + else if (!n) + ((n = this.textAreaControl || document.createElement("textarea")), + (this.textAreaControl = n)); + let r = gY(e) ? n : null; + if (r) r.type = e.type; + if (n.value !== e.value) n.value = e.value; + if (((n.required = e.required), r)) { + let o = e; + if (o.pattern) r.pattern = o.pattern; + else r.removeAttribute("pattern"); + if (o.min) r.min = o.min; + else r.removeAttribute("min"); + if (o.max) r.max = o.max; + else r.removeAttribute("max"); + if (o.step) r.step = o.step; + else r.removeAttribute("step"); + } + if ((e.minLength ?? -1) > -1) + n.setAttribute("minlength", String(e.minLength)); + else n.removeAttribute("minlength"); + if ((e.maxLength ?? -1) > -1) + n.setAttribute("maxlength", String(e.maxLength)); + else n.removeAttribute("maxlength"); + return { validity: n.validity, validationMessage: n.validationMessage }; + } + equals({ state: e }, { state: t }) { + let n = + e.type === t.type && + e.value === t.value && + e.required === t.required && + e.minLength === t.minLength && + e.maxLength === t.maxLength; + if (!gY(e) || !gY(t)) return n; + return ( + n && + e.pattern === t.pattern && + e.min === t.min && + e.max === t.max && + e.step === t.step + ); + } + copy({ state: e }) { + return { + state: gY(e) ? this.copyInput(e) : this.copyTextArea(e), + renderedControl: null, + }; + } + copyInput(e) { + let { type: t, pattern: n, min: r, max: o, step: a } = e; + return { + ...this.copySharedState(e), + type: t, + pattern: n, + min: r, + max: o, + step: a, + }; + } + copyTextArea(e) { + return { ...this.copySharedState(e), type: e.type }; + } + copySharedState({ value: e, required: t, minLength: n, maxLength: r }) { + return { value: e, required: t, minLength: n, maxLength: r }; + } + }; +}); +var b_r, $o; +var kZe = P(() => { + yl(); + sa(); + Pl(); + TO(); + exn(); + SZe(); + DO(); + uY(); + oxn(); + EZe(); + vS(); + dY(); + ixn(); + sxn(); + b_r = R5(axn(K1e(M5(P5(tc))))); + $o = class $o extends b_r { + constructor() { + super(...arguments); + ((this.error = !1), + (this.errorText = ""), + (this.label = ""), + (this.noAsterisk = !1), + (this.required = !1), + (this.value = ""), + (this.prefixText = ""), + (this.suffixText = ""), + (this.hasLeadingIcon = !1), + (this.hasTrailingIcon = !1), + (this.supportingText = ""), + (this.textDirection = ""), + (this.rows = 2), + (this.cols = 20), + (this.inputMode = ""), + (this.max = ""), + (this.maxLength = -1), + (this.min = ""), + (this.minLength = -1), + (this.noSpinner = !1), + (this.pattern = ""), + (this.placeholder = ""), + (this.readOnly = !1), + (this.multiple = !1), + (this.step = ""), + (this.type = "text"), + (this.autocomplete = ""), + (this.dirty = !1), + (this.focused = !1), + (this.nativeError = !1), + (this.nativeErrorText = "")); + } + static { + this.shadowRootOptions = { ...tc.shadowRootOptions, delegatesFocus: !0 }; + } + get selectionDirection() { + return this.getInputOrTextarea().selectionDirection; + } + set selectionDirection(e) { + this.getInputOrTextarea().selectionDirection = e; + } + get selectionEnd() { + return this.getInputOrTextarea().selectionEnd; + } + set selectionEnd(e) { + this.getInputOrTextarea().selectionEnd = e; + } + get selectionStart() { + return this.getInputOrTextarea().selectionStart; + } + set selectionStart(e) { + this.getInputOrTextarea().selectionStart = e; + } + get valueAsNumber() { + let e = this.getInput(); + if (!e) return NaN; + return e.valueAsNumber; + } + set valueAsNumber(e) { + let t = this.getInput(); + if (!t) return; + ((t.valueAsNumber = e), (this.value = t.value)); + } + get valueAsDate() { + let e = this.getInput(); + if (!e) return null; + return e.valueAsDate; + } + set valueAsDate(e) { + let t = this.getInput(); + if (!t) return; + ((t.valueAsDate = e), (this.value = t.value)); + } + get hasError() { + return this.error || this.nativeError; + } + select() { + this.getInputOrTextarea().select(); + } + setRangeText(...e) { + (this.getInputOrTextarea().setRangeText(...e), + (this.value = this.getInputOrTextarea().value)); + } + setSelectionRange(e, t, n) { + this.getInputOrTextarea().setSelectionRange(e, t, n); + } + showPicker() { + let e = this.getInput(); + if (!e) return; + e.showPicker(); + } + stepDown(e) { + let t = this.getInput(); + if (!t) return; + (t.stepDown(e), (this.value = t.value)); + } + stepUp(e) { + let t = this.getInput(); + if (!t) return; + (t.stepUp(e), (this.value = t.value)); + } + reset() { + ((this.dirty = !1), + (this.value = this.getAttribute("value") ?? ""), + (this.nativeError = !1), + (this.nativeErrorText = "")); + } + attributeChangedCallback(e, t, n) { + if (e === "value" && this.dirty) return; + super.attributeChangedCallback(e, t, n); + } + render() { + let e = { + disabled: this.disabled, + error: !this.disabled && this.hasError, + textarea: this.type === "textarea", + "no-spinner": this.noSpinner, + }; + return Pr` ${this.renderField()} `; + } + updated(e) { + let t = this.getInputOrTextarea().value; + if (this.value !== t) this.value = t; + } + renderField() { + return Xbn`<${this.fieldTag} class="field" count=${this.value.length} ?disabled=${this.disabled} @@ -6202,7 +214939,7 @@ No matching component was found for: max=${this.maxLength} ?populated=${!!this.value} ?required=${this.required} - ?resizable=${this.type==="textarea"} + ?resizable=${this.type === "textarea"} supporting-text=${this.supportingText} > ${this.renderLeadingIcon()} @@ -6210,27 +214947,42 @@ No matching component was found for: ${this.renderTrailingIcon()}
- `}renderLeadingIcon(){return Pr` + `; + } + renderLeadingIcon() { + return Pr` - `}renderTrailingIcon(){return Pr` + `; + } + renderTrailingIcon() { + return Pr` - `}renderInputOrTextarea(){let e={direction:this.textDirection},t=this.ariaLabel||this.label||cr,n=this.autocomplete,r=(this.maxLength??-1)>-1,o=(this.minLength??-1)>-1;if(this.type==="textarea")return Pr` + `; + } + renderInputOrTextarea() { + let e = { direction: this.textDirection }, + t = this.ariaLabel || this.label || cr, + n = this.autocomplete, + r = (this.maxLength ?? -1) > -1, + o = (this.minLength ?? -1) > -1; + if (this.type === "textarea") + return Pr` - `;let a=this.renderPrefix(),i=this.renderSuffix(),s=this.inputMode;return Pr` + `; + let a = this.renderPrefix(), + i = this.renderSuffix(), + s = this.inputMode; + return Pr`
${a} ${i}
- `}renderPrefix(){return this.renderAffix(this.prefixText,!1)}renderSuffix(){return this.renderAffix(this.suffixText,!0)}renderAffix(e,t){if(!e)return cr;return Pr`${e}`}getErrorText(){return this.error?this.errorText:this.nativeErrorText}handleFocusChange(){this.focused=this.inputOrTextarea?.matches(":focus")??!1}handleInput(e){this.dirty=!0,this.value=e.target.value}redispatchEvent(e){ok(this,e)}getInputOrTextarea(){if(!this.inputOrTextarea)this.connectedCallback(),this.scheduleUpdate();if(this.isUpdatePending)this.scheduleUpdate();return this.inputOrTextarea}getInput(){if(this.type==="textarea")return null;return this.getInputOrTextarea()}handleIconChange(){this.hasLeadingIcon=this.leadingIcons.length>0,this.hasTrailingIcon=this.trailingIcons.length>0}[bS](){return this.value}formResetCallback(){this.reset()}formStateRestoreCallback(e){this.value=e}focus(){this.getInputOrTextarea().focus()}[LO](){return new TZe(()=>({state:this,renderedControl:this.inputOrTextarea}))}[BO](){return this.inputOrTextarea}[tye](e){e?.preventDefault();let t=this.getErrorText();if(this.nativeError=!!e,this.nativeErrorText=this.validationMessage,t===this.getErrorText())this.field?.reannounceError()}};Tt([xn({type:Boolean,reflect:!0})],$o.prototype,"error",void 0);Tt([xn({attribute:"error-text"})],$o.prototype,"errorText",void 0);Tt([xn()],$o.prototype,"label",void 0);Tt([xn({type:Boolean,attribute:"no-asterisk"})],$o.prototype,"noAsterisk",void 0);Tt([xn({type:Boolean,reflect:!0})],$o.prototype,"required",void 0);Tt([xn()],$o.prototype,"value",void 0);Tt([xn({attribute:"prefix-text"})],$o.prototype,"prefixText",void 0);Tt([xn({attribute:"suffix-text"})],$o.prototype,"suffixText",void 0);Tt([xn({type:Boolean,attribute:"has-leading-icon"})],$o.prototype,"hasLeadingIcon",void 0);Tt([xn({type:Boolean,attribute:"has-trailing-icon"})],$o.prototype,"hasTrailingIcon",void 0);Tt([xn({attribute:"supporting-text"})],$o.prototype,"supportingText",void 0);Tt([xn({attribute:"text-direction"})],$o.prototype,"textDirection",void 0);Tt([xn({type:Number})],$o.prototype,"rows",void 0);Tt([xn({type:Number})],$o.prototype,"cols",void 0);Tt([xn({reflect:!0})],$o.prototype,"inputMode",void 0);Tt([xn()],$o.prototype,"max",void 0);Tt([xn({type:Number})],$o.prototype,"maxLength",void 0);Tt([xn()],$o.prototype,"min",void 0);Tt([xn({type:Number})],$o.prototype,"minLength",void 0);Tt([xn({type:Boolean,attribute:"no-spinner"})],$o.prototype,"noSpinner",void 0);Tt([xn()],$o.prototype,"pattern",void 0);Tt([xn({reflect:!0,converter:rxn})],$o.prototype,"placeholder",void 0);Tt([xn({type:Boolean,reflect:!0})],$o.prototype,"readOnly",void 0);Tt([xn({type:Boolean,reflect:!0})],$o.prototype,"multiple",void 0);Tt([xn()],$o.prototype,"step",void 0);Tt([xn({reflect:!0})],$o.prototype,"type",void 0);Tt([xn({reflect:!0})],$o.prototype,"autocomplete",void 0);Tt([dp()],$o.prototype,"dirty",void 0);Tt([dp()],$o.prototype,"focused",void 0);Tt([dp()],$o.prototype,"nativeError",void 0);Tt([dp()],$o.prototype,"nativeErrorText",void 0);Tt([rf(".input")],$o.prototype,"inputOrTextarea",void 0);Tt([rf(".field")],$o.prototype,"field",void 0);Tt([K7({slot:"leading-icon"})],$o.prototype,"leadingIcons",void 0);Tt([K7({slot:"trailing-icon"})],$o.prototype,"trailingIcons",void 0)});var RZe;var lxn=P(()=>{bZe();DO();kZe();RZe=class RZe extends $o{constructor(){super(...arguments);this.fieldTag=D5`md-filled-field`}}});var yY,dMs;var PZe=P(()=>{sa();yY=ia`:host{display:inline-flex;outline:none;resize:both;text-align:start;-webkit-tap-highlight-color:rgba(0,0,0,0)}.text-field,.field{width:100%}.text-field{display:inline-flex}.field{cursor:text}.disabled .field{cursor:default}.text-field,.textarea .field{resize:inherit}slot[name=container]{border-radius:inherit}.icon{color:currentColor;display:flex;align-items:center;justify-content:center;fill:currentColor;position:relative}.icon ::slotted(*){display:flex;position:absolute}[has-start] .icon.leading{font-size:var(--_leading-icon-size);height:var(--_leading-icon-size);width:var(--_leading-icon-size)}[has-end] .icon.trailing{font-size:var(--_trailing-icon-size);height:var(--_trailing-icon-size);width:var(--_trailing-icon-size)}.input-wrapper{display:flex}.input-wrapper>*{all:inherit;padding:0}.input{caret-color:var(--_caret-color);overflow-x:hidden;text-align:inherit}.input::placeholder{color:currentColor;opacity:1}.input::-webkit-calendar-picker-indicator{display:none}.input::-webkit-search-decoration,.input::-webkit-search-cancel-button{display:none}@media(forced-colors: active){.input{background:none}}.no-spinner .input::-webkit-inner-spin-button,.no-spinner .input::-webkit-outer-spin-button{display:none}.no-spinner .input[type=number]{-moz-appearance:textfield}:focus-within .input{caret-color:var(--_focus-caret-color)}.error:focus-within .input{caret-color:var(--_error-focus-caret-color)}.text-field:not(.disabled) .prefix{color:var(--_input-text-prefix-color)}.text-field:not(.disabled) .suffix{color:var(--_input-text-suffix-color)}.text-field:not(.disabled) .input::placeholder{color:var(--_input-text-placeholder-color)}.prefix,.suffix{text-wrap:nowrap;width:min-content}.prefix{padding-inline-end:var(--_input-text-prefix-trailing-space)}.suffix{padding-inline-start:var(--_input-text-suffix-leading-space)}`,dMs=yY.styleSheet});var nye;var cxn=P(()=>{yl();bZe();Pl();DO();Ybn();lxn();PZe();nye=class extends RZe{constructor(){super(...arguments);this.fieldTag=D5`md-filled-field`}static{this.styles=[yY,AZe]}};nye=Tt([ds("md-filled-text-field")],nye)});var MZe;var uxn=P(()=>{sa();hZe();MZe=class MZe extends Zs{renderOutline(e){return Pr` + `; + } + renderPrefix() { + return this.renderAffix(this.prefixText, !1); + } + renderSuffix() { + return this.renderAffix(this.suffixText, !0); + } + renderAffix(e, t) { + if (!e) return cr; + return Pr`${e}`; + } + getErrorText() { + return this.error ? this.errorText : this.nativeErrorText; + } + handleFocusChange() { + this.focused = this.inputOrTextarea?.matches(":focus") ?? !1; + } + handleInput(e) { + ((this.dirty = !0), (this.value = e.target.value)); + } + redispatchEvent(e) { + ok(this, e); + } + getInputOrTextarea() { + if (!this.inputOrTextarea) + (this.connectedCallback(), this.scheduleUpdate()); + if (this.isUpdatePending) this.scheduleUpdate(); + return this.inputOrTextarea; + } + getInput() { + if (this.type === "textarea") return null; + return this.getInputOrTextarea(); + } + handleIconChange() { + ((this.hasLeadingIcon = this.leadingIcons.length > 0), + (this.hasTrailingIcon = this.trailingIcons.length > 0)); + } + [bS]() { + return this.value; + } + formResetCallback() { + this.reset(); + } + formStateRestoreCallback(e) { + this.value = e; + } + focus() { + this.getInputOrTextarea().focus(); + } + [LO]() { + return new TZe(() => ({ + state: this, + renderedControl: this.inputOrTextarea, + })); + } + [BO]() { + return this.inputOrTextarea; + } + [tye](e) { + e?.preventDefault(); + let t = this.getErrorText(); + if ( + ((this.nativeError = !!e), + (this.nativeErrorText = this.validationMessage), + t === this.getErrorText()) + ) + this.field?.reannounceError(); + } + }; + Tt([xn({ type: Boolean, reflect: !0 })], $o.prototype, "error", void 0); + Tt([xn({ attribute: "error-text" })], $o.prototype, "errorText", void 0); + Tt([xn()], $o.prototype, "label", void 0); + Tt( + [xn({ type: Boolean, attribute: "no-asterisk" })], + $o.prototype, + "noAsterisk", + void 0, + ); + Tt([xn({ type: Boolean, reflect: !0 })], $o.prototype, "required", void 0); + Tt([xn()], $o.prototype, "value", void 0); + Tt([xn({ attribute: "prefix-text" })], $o.prototype, "prefixText", void 0); + Tt([xn({ attribute: "suffix-text" })], $o.prototype, "suffixText", void 0); + Tt( + [xn({ type: Boolean, attribute: "has-leading-icon" })], + $o.prototype, + "hasLeadingIcon", + void 0, + ); + Tt( + [xn({ type: Boolean, attribute: "has-trailing-icon" })], + $o.prototype, + "hasTrailingIcon", + void 0, + ); + Tt( + [xn({ attribute: "supporting-text" })], + $o.prototype, + "supportingText", + void 0, + ); + Tt( + [xn({ attribute: "text-direction" })], + $o.prototype, + "textDirection", + void 0, + ); + Tt([xn({ type: Number })], $o.prototype, "rows", void 0); + Tt([xn({ type: Number })], $o.prototype, "cols", void 0); + Tt([xn({ reflect: !0 })], $o.prototype, "inputMode", void 0); + Tt([xn()], $o.prototype, "max", void 0); + Tt([xn({ type: Number })], $o.prototype, "maxLength", void 0); + Tt([xn()], $o.prototype, "min", void 0); + Tt([xn({ type: Number })], $o.prototype, "minLength", void 0); + Tt( + [xn({ type: Boolean, attribute: "no-spinner" })], + $o.prototype, + "noSpinner", + void 0, + ); + Tt([xn()], $o.prototype, "pattern", void 0); + Tt( + [xn({ reflect: !0, converter: rxn })], + $o.prototype, + "placeholder", + void 0, + ); + Tt([xn({ type: Boolean, reflect: !0 })], $o.prototype, "readOnly", void 0); + Tt([xn({ type: Boolean, reflect: !0 })], $o.prototype, "multiple", void 0); + Tt([xn()], $o.prototype, "step", void 0); + Tt([xn({ reflect: !0 })], $o.prototype, "type", void 0); + Tt([xn({ reflect: !0 })], $o.prototype, "autocomplete", void 0); + Tt([dp()], $o.prototype, "dirty", void 0); + Tt([dp()], $o.prototype, "focused", void 0); + Tt([dp()], $o.prototype, "nativeError", void 0); + Tt([dp()], $o.prototype, "nativeErrorText", void 0); + Tt([rf(".input")], $o.prototype, "inputOrTextarea", void 0); + Tt([rf(".field")], $o.prototype, "field", void 0); + Tt([K7({ slot: "leading-icon" })], $o.prototype, "leadingIcons", void 0); + Tt([K7({ slot: "trailing-icon" })], $o.prototype, "trailingIcons", void 0); +}); +var RZe; +var lxn = P(() => { + bZe(); + DO(); + kZe(); + RZe = class RZe extends $o { + constructor() { + super(...arguments); + this.fieldTag = D5`md-filled-field`; + } + }; +}); +var yY, dMs; +var PZe = P(() => { + sa(); + ((yY = ia`:host{display:inline-flex;outline:none;resize:both;text-align:start;-webkit-tap-highlight-color:rgba(0,0,0,0)}.text-field,.field{width:100%}.text-field{display:inline-flex}.field{cursor:text}.disabled .field{cursor:default}.text-field,.textarea .field{resize:inherit}slot[name=container]{border-radius:inherit}.icon{color:currentColor;display:flex;align-items:center;justify-content:center;fill:currentColor;position:relative}.icon ::slotted(*){display:flex;position:absolute}[has-start] .icon.leading{font-size:var(--_leading-icon-size);height:var(--_leading-icon-size);width:var(--_leading-icon-size)}[has-end] .icon.trailing{font-size:var(--_trailing-icon-size);height:var(--_trailing-icon-size);width:var(--_trailing-icon-size)}.input-wrapper{display:flex}.input-wrapper>*{all:inherit;padding:0}.input{caret-color:var(--_caret-color);overflow-x:hidden;text-align:inherit}.input::placeholder{color:currentColor;opacity:1}.input::-webkit-calendar-picker-indicator{display:none}.input::-webkit-search-decoration,.input::-webkit-search-cancel-button{display:none}@media(forced-colors: active){.input{background:none}}.no-spinner .input::-webkit-inner-spin-button,.no-spinner .input::-webkit-outer-spin-button{display:none}.no-spinner .input[type=number]{-moz-appearance:textfield}:focus-within .input{caret-color:var(--_focus-caret-color)}.error:focus-within .input{caret-color:var(--_error-focus-caret-color)}.text-field:not(.disabled) .prefix{color:var(--_input-text-prefix-color)}.text-field:not(.disabled) .suffix{color:var(--_input-text-suffix-color)}.text-field:not(.disabled) .input::placeholder{color:var(--_input-text-placeholder-color)}.prefix,.suffix{text-wrap:nowrap;width:min-content}.prefix{padding-inline-end:var(--_input-text-prefix-trailing-space)}.suffix{padding-inline-start:var(--_input-text-suffix-leading-space)}`), + (dMs = yY.styleSheet)); +}); +var nye; +var cxn = P(() => { + yl(); + bZe(); + Pl(); + DO(); + Ybn(); + lxn(); + PZe(); + nye = class extends RZe { + constructor() { + super(...arguments); + this.fieldTag = D5`md-filled-field`; + } + static { + this.styles = [yY, AZe]; + } + }; + nye = Tt([ds("md-filled-text-field")], nye); +}); +var MZe; +var uxn = P(() => { + sa(); + hZe(); + MZe = class MZe extends Zs { + renderOutline(e) { + return Pr`
@@ -6285,14 +215226,168 @@ No matching component was found for:
- `}}});var DZe,EMs;var dxn=P(()=>{sa();DZe=ia`@layer styles{:host{--_bottom-space: var(--md-outlined-field-bottom-space, 16px);--_content-color: var(--md-outlined-field-content-color, var(--md-sys-color-on-surface, #1d1b20));--_content-font: var(--md-outlined-field-content-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_content-line-height: var(--md-outlined-field-content-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_content-size: var(--md-outlined-field-content-size, var(--md-sys-typescale-body-large-size, 1rem));--_content-space: var(--md-outlined-field-content-space, 16px);--_content-weight: var(--md-outlined-field-content-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_disabled-content-color: var(--md-outlined-field-disabled-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-content-opacity: var(--md-outlined-field-disabled-content-opacity, 0.38);--_disabled-label-text-color: var(--md-outlined-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-field-disabled-label-text-opacity, 0.38);--_disabled-leading-content-color: var(--md-outlined-field-disabled-leading-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-content-opacity: var(--md-outlined-field-disabled-leading-content-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-field-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-field-disabled-outline-opacity, 0.12);--_disabled-outline-width: var(--md-outlined-field-disabled-outline-width, 1px);--_disabled-supporting-text-color: var(--md-outlined-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-outlined-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-content-color: var(--md-outlined-field-disabled-trailing-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-content-opacity: var(--md-outlined-field-disabled-trailing-content-opacity, 0.38);--_error-content-color: var(--md-outlined-field-error-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-content-color: var(--md-outlined-field-error-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-outlined-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-content-color: var(--md-outlined-field-error-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-outline-color: var(--md-outlined-field-error-focus-outline-color, var(--md-sys-color-error, #b3261e));--_error-focus-supporting-text-color: var(--md-outlined-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-content-color: var(--md-outlined-field-error-focus-trailing-content-color, var(--md-sys-color-error, #b3261e));--_error-hover-content-color: var(--md-outlined-field-error-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-outlined-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-content-color: var(--md-outlined-field-error-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-outline-color: var(--md-outlined-field-error-hover-outline-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-supporting-text-color: var(--md-outlined-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-content-color: var(--md-outlined-field-error-hover-trailing-content-color, var(--md-sys-color-on-error-container, #410e0b));--_error-label-text-color: var(--md-outlined-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-content-color: var(--md-outlined-field-error-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-outline-color: var(--md-outlined-field-error-outline-color, var(--md-sys-color-error, #b3261e));--_error-supporting-text-color: var(--md-outlined-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-content-color: var(--md-outlined-field-error-trailing-content-color, var(--md-sys-color-error, #b3261e));--_focus-content-color: var(--md-outlined-field-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-outlined-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-content-color: var(--md-outlined-field-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-outline-color: var(--md-outlined-field-focus-outline-color, var(--md-sys-color-primary, #6750a4));--_focus-outline-width: var(--md-outlined-field-focus-outline-width, 3px);--_focus-supporting-text-color: var(--md-outlined-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-content-color: var(--md-outlined-field-focus-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-content-color: var(--md-outlined-field-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-outlined-field-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-leading-content-color: var(--md-outlined-field-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-outline-color: var(--md-outlined-field-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-outline-width: var(--md-outlined-field-hover-outline-width, 1px);--_hover-supporting-text-color: var(--md-outlined-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-content-color: var(--md-outlined-field-hover-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-color: var(--md-outlined-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-outlined-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-padding-bottom: var(--md-outlined-field-label-text-padding-bottom, 8px);--_label-text-populated-line-height: var(--md-outlined-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-outlined-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-outlined-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-outlined-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-content-color: var(--md-outlined-field-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-space: var(--md-outlined-field-leading-space, 16px);--_outline-color: var(--md-outlined-field-outline-color, var(--md-sys-color-outline, #79747e));--_outline-label-padding: var(--md-outlined-field-outline-label-padding, 4px);--_outline-width: var(--md-outlined-field-outline-width, 1px);--_supporting-text-color: var(--md-outlined-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-outlined-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-leading-space: var(--md-outlined-field-supporting-text-leading-space, 16px);--_supporting-text-line-height: var(--md-outlined-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-outlined-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-top-space: var(--md-outlined-field-supporting-text-top-space, 4px);--_supporting-text-trailing-space: var(--md-outlined-field-supporting-text-trailing-space, 16px);--_supporting-text-weight: var(--md-outlined-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_top-space: var(--md-outlined-field-top-space, 16px);--_trailing-content-color: var(--md-outlined-field-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-space: var(--md-outlined-field-trailing-space, 16px);--_with-leading-content-leading-space: var(--md-outlined-field-with-leading-content-leading-space, 12px);--_with-trailing-content-trailing-space: var(--md-outlined-field-with-trailing-content-trailing-space, 12px);--_container-shape-start-start: var(--md-outlined-field-container-shape-start-start, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-outlined-field-container-shape-start-end, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-outlined-field-container-shape-end-end, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-start: var(--md-outlined-field-container-shape-end-start, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)))}.outline{border-color:var(--_outline-color);border-radius:inherit;display:flex;pointer-events:none;height:100%;position:absolute;width:100%;z-index:1}.outline-start::before,.outline-start::after,.outline-panel-inactive::before,.outline-panel-inactive::after,.outline-panel-active::before,.outline-panel-active::after,.outline-end::before,.outline-end::after{border:inherit;content:"";inset:0;position:absolute}.outline-start,.outline-end{border:inherit;border-radius:inherit;box-sizing:border-box;position:relative}.outline-start::before,.outline-start::after,.outline-end::before,.outline-end::after{border-bottom-style:solid;border-top-style:solid}.outline-start::after,.outline-end::after{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .outline-start::after,.focused .outline-end::after{opacity:1}.outline-start::before,.outline-start::after{border-inline-start-style:solid;border-inline-end-style:none;border-start-start-radius:inherit;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:0;margin-inline-end:var(--_outline-label-padding)}.outline-end{flex-grow:1;margin-inline-start:calc(-1*var(--_outline-label-padding))}.outline-end::before,.outline-end::after{border-inline-start-style:none;border-inline-end-style:solid;border-start-start-radius:0;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:inherit}.outline-notch{align-items:flex-start;border:inherit;display:flex;margin-inline-start:calc(-1*var(--_outline-label-padding));margin-inline-end:var(--_outline-label-padding);max-width:calc(100% - var(--_leading-space) - var(--_trailing-space));padding:0 var(--_outline-label-padding);position:relative}.no-label .outline-notch{display:none}.outline-panel-inactive,.outline-panel-active{border:inherit;border-bottom-style:solid;inset:0;position:absolute}.outline-panel-inactive::before,.outline-panel-inactive::after,.outline-panel-active::before,.outline-panel-active::after{border-top-style:solid;border-bottom:none;bottom:auto;transform:scaleX(1);transition:transform 150ms cubic-bezier(0.2, 0, 0, 1)}.outline-panel-inactive::before,.outline-panel-active::before{right:50%;transform-origin:top left}.outline-panel-inactive::after,.outline-panel-active::after{left:50%;transform-origin:top right}.populated .outline-panel-inactive::before,.populated .outline-panel-inactive::after,.populated .outline-panel-active::before,.populated .outline-panel-active::after,.focused .outline-panel-inactive::before,.focused .outline-panel-inactive::after,.focused .outline-panel-active::before,.focused .outline-panel-active::after{transform:scaleX(0)}.outline-panel-active{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .outline-panel-active{opacity:1}.outline-label{display:flex;max-width:100%;transform:translateY(calc(-100% + var(--_label-text-padding-bottom)))}.outline-start,.field:not(.with-start) .content ::slotted(*){padding-inline-start:max(var(--_leading-space),max(var(--_container-shape-start-start),var(--_container-shape-end-start)) + var(--_outline-label-padding))}.field:not(.with-start) .label-wrapper{margin-inline-start:max(var(--_leading-space),max(var(--_container-shape-start-start),var(--_container-shape-end-start)) + var(--_outline-label-padding))}.field:not(.with-end) .content ::slotted(*){padding-inline-end:max(var(--_trailing-space),max(var(--_container-shape-start-end),var(--_container-shape-end-end)))}.field:not(.with-end) .label-wrapper{margin-inline-end:max(var(--_trailing-space),max(var(--_container-shape-start-end),var(--_container-shape-end-end)))}.outline-start::before,.outline-end::before,.outline-panel-inactive,.outline-panel-inactive::before,.outline-panel-inactive::after{border-width:var(--_outline-width)}:hover .outline{border-color:var(--_hover-outline-color);color:var(--_hover-outline-color)}:hover .outline-start::before,:hover .outline-end::before,:hover .outline-panel-inactive,:hover .outline-panel-inactive::before,:hover .outline-panel-inactive::after{border-width:var(--_hover-outline-width)}.focused .outline{border-color:var(--_focus-outline-color);color:var(--_focus-outline-color)}.outline-start::after,.outline-end::after,.outline-panel-active,.outline-panel-active::before,.outline-panel-active::after{border-width:var(--_focus-outline-width)}.disabled .outline{border-color:var(--_disabled-outline-color);color:var(--_disabled-outline-color)}.disabled .outline-start,.disabled .outline-end,.disabled .outline-panel-inactive{opacity:var(--_disabled-outline-opacity)}.disabled .outline-start::before,.disabled .outline-end::before,.disabled .outline-panel-inactive,.disabled .outline-panel-inactive::before,.disabled .outline-panel-inactive::after{border-width:var(--_disabled-outline-width)}.error .outline{border-color:var(--_error-outline-color);color:var(--_error-outline-color)}.error:hover .outline{border-color:var(--_error-hover-outline-color);color:var(--_error-hover-outline-color)}.error.focused .outline{border-color:var(--_error-focus-outline-color);color:var(--_error-focus-outline-color)}.resizable .container{bottom:var(--_focus-outline-width);inset-inline-end:var(--_focus-outline-width);clip-path:inset(var(--_focus-outline-width) 0 0 var(--_focus-outline-width))}.resizable .container>*{top:var(--_focus-outline-width);inset-inline-start:var(--_focus-outline-width)}.resizable .container:dir(rtl){clip-path:inset(var(--_focus-outline-width) var(--_focus-outline-width) 0 0)}}@layer hcm{@media(forced-colors: active){.disabled .outline{border-color:GrayText;color:GrayText}.disabled :is(.outline-start,.outline-end,.outline-panel-inactive){opacity:1}}}`,EMs=DZe.styleSheet});var pxn;var LZe=P(()=>{yl();Pl();uxn();dxn();vZe();pxn=class extends MZe{static{this.styles=[fY,DZe]}};pxn=Tt([ds("md-outlined-field")],pxn)});var BZe,BMs;var fxn=P(()=>{sa();BZe=ia`:host{--_caret-color: var(--md-outlined-text-field-caret-color, var(--md-sys-color-primary, #6750a4));--_disabled-input-text-color: var(--md-outlined-text-field-disabled-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-input-text-opacity: var(--md-outlined-text-field-disabled-input-text-opacity, 0.38);--_disabled-label-text-color: var(--md-outlined-text-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-text-field-disabled-label-text-opacity, 0.38);--_disabled-leading-icon-color: var(--md-outlined-text-field-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-outlined-text-field-disabled-leading-icon-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-text-field-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-text-field-disabled-outline-opacity, 0.12);--_disabled-outline-width: var(--md-outlined-text-field-disabled-outline-width, 1px);--_disabled-supporting-text-color: var(--md-outlined-text-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-outlined-text-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-icon-color: var(--md-outlined-text-field-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-outlined-text-field-disabled-trailing-icon-opacity, 0.38);--_error-focus-caret-color: var(--md-outlined-text-field-error-focus-caret-color, var(--md-sys-color-error, #b3261e));--_error-focus-input-text-color: var(--md-outlined-text-field-error-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-outlined-text-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-icon-color: var(--md-outlined-text-field-error-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-outline-color: var(--md-outlined-text-field-error-focus-outline-color, var(--md-sys-color-error, #b3261e));--_error-focus-supporting-text-color: var(--md-outlined-text-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-icon-color: var(--md-outlined-text-field-error-focus-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_error-hover-input-text-color: var(--md-outlined-text-field-error-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-outlined-text-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-icon-color: var(--md-outlined-text-field-error-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-outline-color: var(--md-outlined-text-field-error-hover-outline-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-supporting-text-color: var(--md-outlined-text-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-icon-color: var(--md-outlined-text-field-error-hover-trailing-icon-color, var(--md-sys-color-on-error-container, #410e0b));--_error-input-text-color: var(--md-outlined-text-field-error-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-label-text-color: var(--md-outlined-text-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-icon-color: var(--md-outlined-text-field-error-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-outline-color: var(--md-outlined-text-field-error-outline-color, var(--md-sys-color-error, #b3261e));--_error-supporting-text-color: var(--md-outlined-text-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-icon-color: var(--md-outlined-text-field-error-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_focus-input-text-color: var(--md-outlined-text-field-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-outlined-text-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-icon-color: var(--md-outlined-text-field-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-outline-color: var(--md-outlined-text-field-focus-outline-color, var(--md-sys-color-primary, #6750a4));--_focus-outline-width: var(--md-outlined-text-field-focus-outline-width, 3px);--_focus-supporting-text-color: var(--md-outlined-text-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-icon-color: var(--md-outlined-text-field-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-input-text-color: var(--md-outlined-text-field-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-outlined-text-field-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-leading-icon-color: var(--md-outlined-text-field-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-outline-color: var(--md-outlined-text-field-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-outline-width: var(--md-outlined-text-field-hover-outline-width, 1px);--_hover-supporting-text-color: var(--md-outlined-text-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-outlined-text-field-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-color: var(--md-outlined-text-field-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_input-text-font: var(--md-outlined-text-field-input-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_input-text-line-height: var(--md-outlined-text-field-input-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_input-text-placeholder-color: var(--md-outlined-text-field-input-text-placeholder-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-prefix-color: var(--md-outlined-text-field-input-text-prefix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-size: var(--md-outlined-text-field-input-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_input-text-suffix-color: var(--md-outlined-text-field-input-text-suffix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-weight: var(--md-outlined-text-field-input-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_label-text-color: var(--md-outlined-text-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-outlined-text-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-text-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-populated-line-height: var(--md-outlined-text-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-outlined-text-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-outlined-text-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-outlined-text-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-icon-color: var(--md-outlined-text-field-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-icon-size: var(--md-outlined-text-field-leading-icon-size, 24px);--_outline-color: var(--md-outlined-text-field-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-outlined-text-field-outline-width, 1px);--_supporting-text-color: var(--md-outlined-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-outlined-text-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-line-height: var(--md-outlined-text-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-outlined-text-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-weight: var(--md-outlined-text-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_trailing-icon-color: var(--md-outlined-text-field-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-size: var(--md-outlined-text-field-trailing-icon-size, 24px);--_container-shape-start-start: var(--md-outlined-text-field-container-shape-start-start, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-outlined-text-field-container-shape-start-end, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-outlined-text-field-container-shape-end-end, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-start: var(--md-outlined-text-field-container-shape-end-start, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_icon-input-space: var(--md-outlined-text-field-icon-input-space, 16px);--_leading-space: var(--md-outlined-text-field-leading-space, 16px);--_trailing-space: var(--md-outlined-text-field-trailing-space, 16px);--_top-space: var(--md-outlined-text-field-top-space, 16px);--_bottom-space: var(--md-outlined-text-field-bottom-space, 16px);--_input-text-prefix-trailing-space: var(--md-outlined-text-field-input-text-prefix-trailing-space, 2px);--_input-text-suffix-leading-space: var(--md-outlined-text-field-input-text-suffix-leading-space, 2px);--_focus-caret-color: var(--md-outlined-text-field-focus-caret-color, var(--md-sys-color-primary, #6750a4));--_with-leading-icon-leading-space: var(--md-outlined-text-field-with-leading-icon-leading-space, 12px);--_with-trailing-icon-trailing-space: var(--md-outlined-text-field-with-trailing-icon-trailing-space, 12px);--md-outlined-field-bottom-space: var(--_bottom-space);--md-outlined-field-container-shape-end-end: var(--_container-shape-end-end);--md-outlined-field-container-shape-end-start: var(--_container-shape-end-start);--md-outlined-field-container-shape-start-end: var(--_container-shape-start-end);--md-outlined-field-container-shape-start-start: var(--_container-shape-start-start);--md-outlined-field-content-color: var(--_input-text-color);--md-outlined-field-content-font: var(--_input-text-font);--md-outlined-field-content-line-height: var(--_input-text-line-height);--md-outlined-field-content-size: var(--_input-text-size);--md-outlined-field-content-space: var(--_icon-input-space);--md-outlined-field-content-weight: var(--_input-text-weight);--md-outlined-field-disabled-content-color: var(--_disabled-input-text-color);--md-outlined-field-disabled-content-opacity: var(--_disabled-input-text-opacity);--md-outlined-field-disabled-label-text-color: var(--_disabled-label-text-color);--md-outlined-field-disabled-label-text-opacity: var(--_disabled-label-text-opacity);--md-outlined-field-disabled-leading-content-color: var(--_disabled-leading-icon-color);--md-outlined-field-disabled-leading-content-opacity: var(--_disabled-leading-icon-opacity);--md-outlined-field-disabled-outline-color: var(--_disabled-outline-color);--md-outlined-field-disabled-outline-opacity: var(--_disabled-outline-opacity);--md-outlined-field-disabled-outline-width: var(--_disabled-outline-width);--md-outlined-field-disabled-supporting-text-color: var(--_disabled-supporting-text-color);--md-outlined-field-disabled-supporting-text-opacity: var(--_disabled-supporting-text-opacity);--md-outlined-field-disabled-trailing-content-color: var(--_disabled-trailing-icon-color);--md-outlined-field-disabled-trailing-content-opacity: var(--_disabled-trailing-icon-opacity);--md-outlined-field-error-content-color: var(--_error-input-text-color);--md-outlined-field-error-focus-content-color: var(--_error-focus-input-text-color);--md-outlined-field-error-focus-label-text-color: var(--_error-focus-label-text-color);--md-outlined-field-error-focus-leading-content-color: var(--_error-focus-leading-icon-color);--md-outlined-field-error-focus-outline-color: var(--_error-focus-outline-color);--md-outlined-field-error-focus-supporting-text-color: var(--_error-focus-supporting-text-color);--md-outlined-field-error-focus-trailing-content-color: var(--_error-focus-trailing-icon-color);--md-outlined-field-error-hover-content-color: var(--_error-hover-input-text-color);--md-outlined-field-error-hover-label-text-color: var(--_error-hover-label-text-color);--md-outlined-field-error-hover-leading-content-color: var(--_error-hover-leading-icon-color);--md-outlined-field-error-hover-outline-color: var(--_error-hover-outline-color);--md-outlined-field-error-hover-supporting-text-color: var(--_error-hover-supporting-text-color);--md-outlined-field-error-hover-trailing-content-color: var(--_error-hover-trailing-icon-color);--md-outlined-field-error-label-text-color: var(--_error-label-text-color);--md-outlined-field-error-leading-content-color: var(--_error-leading-icon-color);--md-outlined-field-error-outline-color: var(--_error-outline-color);--md-outlined-field-error-supporting-text-color: var(--_error-supporting-text-color);--md-outlined-field-error-trailing-content-color: var(--_error-trailing-icon-color);--md-outlined-field-focus-content-color: var(--_focus-input-text-color);--md-outlined-field-focus-label-text-color: var(--_focus-label-text-color);--md-outlined-field-focus-leading-content-color: var(--_focus-leading-icon-color);--md-outlined-field-focus-outline-color: var(--_focus-outline-color);--md-outlined-field-focus-outline-width: var(--_focus-outline-width);--md-outlined-field-focus-supporting-text-color: var(--_focus-supporting-text-color);--md-outlined-field-focus-trailing-content-color: var(--_focus-trailing-icon-color);--md-outlined-field-hover-content-color: var(--_hover-input-text-color);--md-outlined-field-hover-label-text-color: var(--_hover-label-text-color);--md-outlined-field-hover-leading-content-color: var(--_hover-leading-icon-color);--md-outlined-field-hover-outline-color: var(--_hover-outline-color);--md-outlined-field-hover-outline-width: var(--_hover-outline-width);--md-outlined-field-hover-supporting-text-color: var(--_hover-supporting-text-color);--md-outlined-field-hover-trailing-content-color: var(--_hover-trailing-icon-color);--md-outlined-field-label-text-color: var(--_label-text-color);--md-outlined-field-label-text-font: var(--_label-text-font);--md-outlined-field-label-text-line-height: var(--_label-text-line-height);--md-outlined-field-label-text-populated-line-height: var(--_label-text-populated-line-height);--md-outlined-field-label-text-populated-size: var(--_label-text-populated-size);--md-outlined-field-label-text-size: var(--_label-text-size);--md-outlined-field-label-text-weight: var(--_label-text-weight);--md-outlined-field-leading-content-color: var(--_leading-icon-color);--md-outlined-field-leading-space: var(--_leading-space);--md-outlined-field-outline-color: var(--_outline-color);--md-outlined-field-outline-width: var(--_outline-width);--md-outlined-field-supporting-text-color: var(--_supporting-text-color);--md-outlined-field-supporting-text-font: var(--_supporting-text-font);--md-outlined-field-supporting-text-line-height: var(--_supporting-text-line-height);--md-outlined-field-supporting-text-size: var(--_supporting-text-size);--md-outlined-field-supporting-text-weight: var(--_supporting-text-weight);--md-outlined-field-top-space: var(--_top-space);--md-outlined-field-trailing-content-color: var(--_trailing-icon-color);--md-outlined-field-trailing-space: var(--_trailing-space);--md-outlined-field-with-leading-content-leading-space: var(--_with-leading-icon-leading-space);--md-outlined-field-with-trailing-content-trailing-space: var(--_with-trailing-icon-trailing-space)}`,BMs=BZe.styleSheet});var OZe;var mxn=P(()=>{LZe();DO();kZe();OZe=class OZe extends $o{constructor(){super(...arguments);this.fieldTag=D5`md-outlined-field`}}});var rye;var hxn=P(()=>{yl();LZe();Pl();DO();fxn();mxn();PZe();rye=class extends OZe{constructor(){super(...arguments);this.fieldTag=D5`md-outlined-field`}static{this.styles=[yY,BZe]}};rye=Tt([ds("md-outlined-text-field")],rye)});var gxn,yxn,vxn;var bxn=P(()=>{$W();cxn();hxn();gxn=z(re(),1),yxn=_0({react:gxn,tagName:"md-filled-text-field",elementClass:nye,events:{onChange:"change",onInput:"input"}}),vxn=_0({react:gxn,tagName:"md-outlined-text-field",elementClass:rye,events:{onChange:"change",onInput:"input"}})});var FZe;var xxn=P(()=>{FZe=class FZe extends hY{computeValidity(e){if(!this.checkboxControl)this.checkboxControl=document.createElement("input"),this.checkboxControl.type="checkbox";return this.checkboxControl.checked=e.checked,this.checkboxControl.required=e.required,{validity:this.checkboxControl.validity,validationMessage:this.checkboxControl.validationMessage}}equals(e,t){return e.checked===t.checked&&e.required===t.required}copy({checked:e,required:t}){return{checked:e,required:t}}}});var x_r,AS;var Axn=P(()=>{yl();B1e();U1e();sa();Pl();TO();uY();oZe();EZe();vS();dY();xxn();x_r=R5(K1e(M5(P5(tc))));AS=class AS extends x_r{static{this.shadowRootOptions={mode:"open",delegatesFocus:!0}}constructor(){super();if(this.selected=!1,this.icons=!1,this.showOnlySelectedIcon=!1,this.required=!1,this.value="on",md)return;this.addEventListener("click",(e)=>{if(!RO(e)||!this.input)return;this.focus(),kO(this.input)}),V1e(this,"keydown"),this.addEventListener("keydown",(e)=>{H1e(e,()=>{if(e.defaultPrevented||e.key!=="Enter"||this.disabled||!this.input)return;this.input.click()})})}render(){return Pr` + `; + } + }; +}); +var DZe, EMs; +var dxn = P(() => { + sa(); + ((DZe = ia`@layer styles{:host{--_bottom-space: var(--md-outlined-field-bottom-space, 16px);--_content-color: var(--md-outlined-field-content-color, var(--md-sys-color-on-surface, #1d1b20));--_content-font: var(--md-outlined-field-content-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_content-line-height: var(--md-outlined-field-content-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_content-size: var(--md-outlined-field-content-size, var(--md-sys-typescale-body-large-size, 1rem));--_content-space: var(--md-outlined-field-content-space, 16px);--_content-weight: var(--md-outlined-field-content-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_disabled-content-color: var(--md-outlined-field-disabled-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-content-opacity: var(--md-outlined-field-disabled-content-opacity, 0.38);--_disabled-label-text-color: var(--md-outlined-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-field-disabled-label-text-opacity, 0.38);--_disabled-leading-content-color: var(--md-outlined-field-disabled-leading-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-content-opacity: var(--md-outlined-field-disabled-leading-content-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-field-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-field-disabled-outline-opacity, 0.12);--_disabled-outline-width: var(--md-outlined-field-disabled-outline-width, 1px);--_disabled-supporting-text-color: var(--md-outlined-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-outlined-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-content-color: var(--md-outlined-field-disabled-trailing-content-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-content-opacity: var(--md-outlined-field-disabled-trailing-content-opacity, 0.38);--_error-content-color: var(--md-outlined-field-error-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-content-color: var(--md-outlined-field-error-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-outlined-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-content-color: var(--md-outlined-field-error-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-outline-color: var(--md-outlined-field-error-focus-outline-color, var(--md-sys-color-error, #b3261e));--_error-focus-supporting-text-color: var(--md-outlined-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-content-color: var(--md-outlined-field-error-focus-trailing-content-color, var(--md-sys-color-error, #b3261e));--_error-hover-content-color: var(--md-outlined-field-error-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-outlined-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-content-color: var(--md-outlined-field-error-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-outline-color: var(--md-outlined-field-error-hover-outline-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-supporting-text-color: var(--md-outlined-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-content-color: var(--md-outlined-field-error-hover-trailing-content-color, var(--md-sys-color-on-error-container, #410e0b));--_error-label-text-color: var(--md-outlined-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-content-color: var(--md-outlined-field-error-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-outline-color: var(--md-outlined-field-error-outline-color, var(--md-sys-color-error, #b3261e));--_error-supporting-text-color: var(--md-outlined-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-content-color: var(--md-outlined-field-error-trailing-content-color, var(--md-sys-color-error, #b3261e));--_focus-content-color: var(--md-outlined-field-focus-content-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-outlined-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-content-color: var(--md-outlined-field-focus-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-outline-color: var(--md-outlined-field-focus-outline-color, var(--md-sys-color-primary, #6750a4));--_focus-outline-width: var(--md-outlined-field-focus-outline-width, 3px);--_focus-supporting-text-color: var(--md-outlined-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-content-color: var(--md-outlined-field-focus-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-content-color: var(--md-outlined-field-hover-content-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-outlined-field-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-leading-content-color: var(--md-outlined-field-hover-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-outline-color: var(--md-outlined-field-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-outline-width: var(--md-outlined-field-hover-outline-width, 1px);--_hover-supporting-text-color: var(--md-outlined-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-content-color: var(--md-outlined-field-hover-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-color: var(--md-outlined-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-outlined-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-padding-bottom: var(--md-outlined-field-label-text-padding-bottom, 8px);--_label-text-populated-line-height: var(--md-outlined-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-outlined-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-outlined-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-outlined-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-content-color: var(--md-outlined-field-leading-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-space: var(--md-outlined-field-leading-space, 16px);--_outline-color: var(--md-outlined-field-outline-color, var(--md-sys-color-outline, #79747e));--_outline-label-padding: var(--md-outlined-field-outline-label-padding, 4px);--_outline-width: var(--md-outlined-field-outline-width, 1px);--_supporting-text-color: var(--md-outlined-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-outlined-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-leading-space: var(--md-outlined-field-supporting-text-leading-space, 16px);--_supporting-text-line-height: var(--md-outlined-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-outlined-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-top-space: var(--md-outlined-field-supporting-text-top-space, 4px);--_supporting-text-trailing-space: var(--md-outlined-field-supporting-text-trailing-space, 16px);--_supporting-text-weight: var(--md-outlined-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_top-space: var(--md-outlined-field-top-space, 16px);--_trailing-content-color: var(--md-outlined-field-trailing-content-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-space: var(--md-outlined-field-trailing-space, 16px);--_with-leading-content-leading-space: var(--md-outlined-field-with-leading-content-leading-space, 12px);--_with-trailing-content-trailing-space: var(--md-outlined-field-with-trailing-content-trailing-space, 12px);--_container-shape-start-start: var(--md-outlined-field-container-shape-start-start, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-outlined-field-container-shape-start-end, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-outlined-field-container-shape-end-end, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-start: var(--md-outlined-field-container-shape-end-start, var(--md-outlined-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)))}.outline{border-color:var(--_outline-color);border-radius:inherit;display:flex;pointer-events:none;height:100%;position:absolute;width:100%;z-index:1}.outline-start::before,.outline-start::after,.outline-panel-inactive::before,.outline-panel-inactive::after,.outline-panel-active::before,.outline-panel-active::after,.outline-end::before,.outline-end::after{border:inherit;content:"";inset:0;position:absolute}.outline-start,.outline-end{border:inherit;border-radius:inherit;box-sizing:border-box;position:relative}.outline-start::before,.outline-start::after,.outline-end::before,.outline-end::after{border-bottom-style:solid;border-top-style:solid}.outline-start::after,.outline-end::after{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .outline-start::after,.focused .outline-end::after{opacity:1}.outline-start::before,.outline-start::after{border-inline-start-style:solid;border-inline-end-style:none;border-start-start-radius:inherit;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:0;margin-inline-end:var(--_outline-label-padding)}.outline-end{flex-grow:1;margin-inline-start:calc(-1*var(--_outline-label-padding))}.outline-end::before,.outline-end::after{border-inline-start-style:none;border-inline-end-style:solid;border-start-start-radius:0;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:inherit}.outline-notch{align-items:flex-start;border:inherit;display:flex;margin-inline-start:calc(-1*var(--_outline-label-padding));margin-inline-end:var(--_outline-label-padding);max-width:calc(100% - var(--_leading-space) - var(--_trailing-space));padding:0 var(--_outline-label-padding);position:relative}.no-label .outline-notch{display:none}.outline-panel-inactive,.outline-panel-active{border:inherit;border-bottom-style:solid;inset:0;position:absolute}.outline-panel-inactive::before,.outline-panel-inactive::after,.outline-panel-active::before,.outline-panel-active::after{border-top-style:solid;border-bottom:none;bottom:auto;transform:scaleX(1);transition:transform 150ms cubic-bezier(0.2, 0, 0, 1)}.outline-panel-inactive::before,.outline-panel-active::before{right:50%;transform-origin:top left}.outline-panel-inactive::after,.outline-panel-active::after{left:50%;transform-origin:top right}.populated .outline-panel-inactive::before,.populated .outline-panel-inactive::after,.populated .outline-panel-active::before,.populated .outline-panel-active::after,.focused .outline-panel-inactive::before,.focused .outline-panel-inactive::after,.focused .outline-panel-active::before,.focused .outline-panel-active::after{transform:scaleX(0)}.outline-panel-active{opacity:0;transition:opacity 150ms cubic-bezier(0.2, 0, 0, 1)}.focused .outline-panel-active{opacity:1}.outline-label{display:flex;max-width:100%;transform:translateY(calc(-100% + var(--_label-text-padding-bottom)))}.outline-start,.field:not(.with-start) .content ::slotted(*){padding-inline-start:max(var(--_leading-space),max(var(--_container-shape-start-start),var(--_container-shape-end-start)) + var(--_outline-label-padding))}.field:not(.with-start) .label-wrapper{margin-inline-start:max(var(--_leading-space),max(var(--_container-shape-start-start),var(--_container-shape-end-start)) + var(--_outline-label-padding))}.field:not(.with-end) .content ::slotted(*){padding-inline-end:max(var(--_trailing-space),max(var(--_container-shape-start-end),var(--_container-shape-end-end)))}.field:not(.with-end) .label-wrapper{margin-inline-end:max(var(--_trailing-space),max(var(--_container-shape-start-end),var(--_container-shape-end-end)))}.outline-start::before,.outline-end::before,.outline-panel-inactive,.outline-panel-inactive::before,.outline-panel-inactive::after{border-width:var(--_outline-width)}:hover .outline{border-color:var(--_hover-outline-color);color:var(--_hover-outline-color)}:hover .outline-start::before,:hover .outline-end::before,:hover .outline-panel-inactive,:hover .outline-panel-inactive::before,:hover .outline-panel-inactive::after{border-width:var(--_hover-outline-width)}.focused .outline{border-color:var(--_focus-outline-color);color:var(--_focus-outline-color)}.outline-start::after,.outline-end::after,.outline-panel-active,.outline-panel-active::before,.outline-panel-active::after{border-width:var(--_focus-outline-width)}.disabled .outline{border-color:var(--_disabled-outline-color);color:var(--_disabled-outline-color)}.disabled .outline-start,.disabled .outline-end,.disabled .outline-panel-inactive{opacity:var(--_disabled-outline-opacity)}.disabled .outline-start::before,.disabled .outline-end::before,.disabled .outline-panel-inactive,.disabled .outline-panel-inactive::before,.disabled .outline-panel-inactive::after{border-width:var(--_disabled-outline-width)}.error .outline{border-color:var(--_error-outline-color);color:var(--_error-outline-color)}.error:hover .outline{border-color:var(--_error-hover-outline-color);color:var(--_error-hover-outline-color)}.error.focused .outline{border-color:var(--_error-focus-outline-color);color:var(--_error-focus-outline-color)}.resizable .container{bottom:var(--_focus-outline-width);inset-inline-end:var(--_focus-outline-width);clip-path:inset(var(--_focus-outline-width) 0 0 var(--_focus-outline-width))}.resizable .container>*{top:var(--_focus-outline-width);inset-inline-start:var(--_focus-outline-width)}.resizable .container:dir(rtl){clip-path:inset(var(--_focus-outline-width) var(--_focus-outline-width) 0 0)}}@layer hcm{@media(forced-colors: active){.disabled .outline{border-color:GrayText;color:GrayText}.disabled :is(.outline-start,.outline-end,.outline-panel-inactive){opacity:1}}}`), + (EMs = DZe.styleSheet)); +}); +var pxn; +var LZe = P(() => { + yl(); + Pl(); + uxn(); + dxn(); + vZe(); + pxn = class extends MZe { + static { + this.styles = [fY, DZe]; + } + }; + pxn = Tt([ds("md-outlined-field")], pxn); +}); +var BZe, BMs; +var fxn = P(() => { + sa(); + ((BZe = ia`:host{--_caret-color: var(--md-outlined-text-field-caret-color, var(--md-sys-color-primary, #6750a4));--_disabled-input-text-color: var(--md-outlined-text-field-disabled-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-input-text-opacity: var(--md-outlined-text-field-disabled-input-text-opacity, 0.38);--_disabled-label-text-color: var(--md-outlined-text-field-disabled-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-label-text-opacity: var(--md-outlined-text-field-disabled-label-text-opacity, 0.38);--_disabled-leading-icon-color: var(--md-outlined-text-field-disabled-leading-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-leading-icon-opacity: var(--md-outlined-text-field-disabled-leading-icon-opacity, 0.38);--_disabled-outline-color: var(--md-outlined-text-field-disabled-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-outline-opacity: var(--md-outlined-text-field-disabled-outline-opacity, 0.12);--_disabled-outline-width: var(--md-outlined-text-field-disabled-outline-width, 1px);--_disabled-supporting-text-color: var(--md-outlined-text-field-disabled-supporting-text-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-supporting-text-opacity: var(--md-outlined-text-field-disabled-supporting-text-opacity, 0.38);--_disabled-trailing-icon-color: var(--md-outlined-text-field-disabled-trailing-icon-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-trailing-icon-opacity: var(--md-outlined-text-field-disabled-trailing-icon-opacity, 0.38);--_error-focus-caret-color: var(--md-outlined-text-field-error-focus-caret-color, var(--md-sys-color-error, #b3261e));--_error-focus-input-text-color: var(--md-outlined-text-field-error-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-focus-label-text-color: var(--md-outlined-text-field-error-focus-label-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-leading-icon-color: var(--md-outlined-text-field-error-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-focus-outline-color: var(--md-outlined-text-field-error-focus-outline-color, var(--md-sys-color-error, #b3261e));--_error-focus-supporting-text-color: var(--md-outlined-text-field-error-focus-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-focus-trailing-icon-color: var(--md-outlined-text-field-error-focus-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_error-hover-input-text-color: var(--md-outlined-text-field-error-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-hover-label-text-color: var(--md-outlined-text-field-error-hover-label-text-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-leading-icon-color: var(--md-outlined-text-field-error-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-hover-outline-color: var(--md-outlined-text-field-error-hover-outline-color, var(--md-sys-color-on-error-container, #410e0b));--_error-hover-supporting-text-color: var(--md-outlined-text-field-error-hover-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-hover-trailing-icon-color: var(--md-outlined-text-field-error-hover-trailing-icon-color, var(--md-sys-color-on-error-container, #410e0b));--_error-input-text-color: var(--md-outlined-text-field-error-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_error-label-text-color: var(--md-outlined-text-field-error-label-text-color, var(--md-sys-color-error, #b3261e));--_error-leading-icon-color: var(--md-outlined-text-field-error-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_error-outline-color: var(--md-outlined-text-field-error-outline-color, var(--md-sys-color-error, #b3261e));--_error-supporting-text-color: var(--md-outlined-text-field-error-supporting-text-color, var(--md-sys-color-error, #b3261e));--_error-trailing-icon-color: var(--md-outlined-text-field-error-trailing-icon-color, var(--md-sys-color-error, #b3261e));--_focus-input-text-color: var(--md-outlined-text-field-focus-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_focus-label-text-color: var(--md-outlined-text-field-focus-label-text-color, var(--md-sys-color-primary, #6750a4));--_focus-leading-icon-color: var(--md-outlined-text-field-focus-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-outline-color: var(--md-outlined-text-field-focus-outline-color, var(--md-sys-color-primary, #6750a4));--_focus-outline-width: var(--md-outlined-text-field-focus-outline-width, 3px);--_focus-supporting-text-color: var(--md-outlined-text-field-focus-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_focus-trailing-icon-color: var(--md-outlined-text-field-focus-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-input-text-color: var(--md-outlined-text-field-hover-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-label-text-color: var(--md-outlined-text-field-hover-label-text-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-leading-icon-color: var(--md-outlined-text-field-hover-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-outline-color: var(--md-outlined-text-field-hover-outline-color, var(--md-sys-color-on-surface, #1d1b20));--_hover-outline-width: var(--md-outlined-text-field-hover-outline-width, 1px);--_hover-supporting-text-color: var(--md-outlined-text-field-hover-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_hover-trailing-icon-color: var(--md-outlined-text-field-hover-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-color: var(--md-outlined-text-field-input-text-color, var(--md-sys-color-on-surface, #1d1b20));--_input-text-font: var(--md-outlined-text-field-input-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_input-text-line-height: var(--md-outlined-text-field-input-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_input-text-placeholder-color: var(--md-outlined-text-field-input-text-placeholder-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-prefix-color: var(--md-outlined-text-field-input-text-prefix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-size: var(--md-outlined-text-field-input-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_input-text-suffix-color: var(--md-outlined-text-field-input-text-suffix-color, var(--md-sys-color-on-surface-variant, #49454f));--_input-text-weight: var(--md-outlined-text-field-input-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_label-text-color: var(--md-outlined-text-field-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_label-text-font: var(--md-outlined-text-field-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));--_label-text-line-height: var(--md-outlined-text-field-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));--_label-text-populated-line-height: var(--md-outlined-text-field-label-text-populated-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_label-text-populated-size: var(--md-outlined-text-field-label-text-populated-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_label-text-size: var(--md-outlined-text-field-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));--_label-text-weight: var(--md-outlined-text-field-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));--_leading-icon-color: var(--md-outlined-text-field-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_leading-icon-size: var(--md-outlined-text-field-leading-icon-size, 24px);--_outline-color: var(--md-outlined-text-field-outline-color, var(--md-sys-color-outline, #79747e));--_outline-width: var(--md-outlined-text-field-outline-width, 1px);--_supporting-text-color: var(--md-outlined-text-field-supporting-text-color, var(--md-sys-color-on-surface-variant, #49454f));--_supporting-text-font: var(--md-outlined-text-field-supporting-text-font, var(--md-sys-typescale-body-small-font, var(--md-ref-typeface-plain, Roboto)));--_supporting-text-line-height: var(--md-outlined-text-field-supporting-text-line-height, var(--md-sys-typescale-body-small-line-height, 1rem));--_supporting-text-size: var(--md-outlined-text-field-supporting-text-size, var(--md-sys-typescale-body-small-size, 0.75rem));--_supporting-text-weight: var(--md-outlined-text-field-supporting-text-weight, var(--md-sys-typescale-body-small-weight, var(--md-ref-typeface-weight-regular, 400)));--_trailing-icon-color: var(--md-outlined-text-field-trailing-icon-color, var(--md-sys-color-on-surface-variant, #49454f));--_trailing-icon-size: var(--md-outlined-text-field-trailing-icon-size, 24px);--_container-shape-start-start: var(--md-outlined-text-field-container-shape-start-start, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-start-end: var(--md-outlined-text-field-container-shape-start-end, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-end: var(--md-outlined-text-field-container-shape-end-end, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_container-shape-end-start: var(--md-outlined-text-field-container-shape-end-start, var(--md-outlined-text-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px)));--_icon-input-space: var(--md-outlined-text-field-icon-input-space, 16px);--_leading-space: var(--md-outlined-text-field-leading-space, 16px);--_trailing-space: var(--md-outlined-text-field-trailing-space, 16px);--_top-space: var(--md-outlined-text-field-top-space, 16px);--_bottom-space: var(--md-outlined-text-field-bottom-space, 16px);--_input-text-prefix-trailing-space: var(--md-outlined-text-field-input-text-prefix-trailing-space, 2px);--_input-text-suffix-leading-space: var(--md-outlined-text-field-input-text-suffix-leading-space, 2px);--_focus-caret-color: var(--md-outlined-text-field-focus-caret-color, var(--md-sys-color-primary, #6750a4));--_with-leading-icon-leading-space: var(--md-outlined-text-field-with-leading-icon-leading-space, 12px);--_with-trailing-icon-trailing-space: var(--md-outlined-text-field-with-trailing-icon-trailing-space, 12px);--md-outlined-field-bottom-space: var(--_bottom-space);--md-outlined-field-container-shape-end-end: var(--_container-shape-end-end);--md-outlined-field-container-shape-end-start: var(--_container-shape-end-start);--md-outlined-field-container-shape-start-end: var(--_container-shape-start-end);--md-outlined-field-container-shape-start-start: var(--_container-shape-start-start);--md-outlined-field-content-color: var(--_input-text-color);--md-outlined-field-content-font: var(--_input-text-font);--md-outlined-field-content-line-height: var(--_input-text-line-height);--md-outlined-field-content-size: var(--_input-text-size);--md-outlined-field-content-space: var(--_icon-input-space);--md-outlined-field-content-weight: var(--_input-text-weight);--md-outlined-field-disabled-content-color: var(--_disabled-input-text-color);--md-outlined-field-disabled-content-opacity: var(--_disabled-input-text-opacity);--md-outlined-field-disabled-label-text-color: var(--_disabled-label-text-color);--md-outlined-field-disabled-label-text-opacity: var(--_disabled-label-text-opacity);--md-outlined-field-disabled-leading-content-color: var(--_disabled-leading-icon-color);--md-outlined-field-disabled-leading-content-opacity: var(--_disabled-leading-icon-opacity);--md-outlined-field-disabled-outline-color: var(--_disabled-outline-color);--md-outlined-field-disabled-outline-opacity: var(--_disabled-outline-opacity);--md-outlined-field-disabled-outline-width: var(--_disabled-outline-width);--md-outlined-field-disabled-supporting-text-color: var(--_disabled-supporting-text-color);--md-outlined-field-disabled-supporting-text-opacity: var(--_disabled-supporting-text-opacity);--md-outlined-field-disabled-trailing-content-color: var(--_disabled-trailing-icon-color);--md-outlined-field-disabled-trailing-content-opacity: var(--_disabled-trailing-icon-opacity);--md-outlined-field-error-content-color: var(--_error-input-text-color);--md-outlined-field-error-focus-content-color: var(--_error-focus-input-text-color);--md-outlined-field-error-focus-label-text-color: var(--_error-focus-label-text-color);--md-outlined-field-error-focus-leading-content-color: var(--_error-focus-leading-icon-color);--md-outlined-field-error-focus-outline-color: var(--_error-focus-outline-color);--md-outlined-field-error-focus-supporting-text-color: var(--_error-focus-supporting-text-color);--md-outlined-field-error-focus-trailing-content-color: var(--_error-focus-trailing-icon-color);--md-outlined-field-error-hover-content-color: var(--_error-hover-input-text-color);--md-outlined-field-error-hover-label-text-color: var(--_error-hover-label-text-color);--md-outlined-field-error-hover-leading-content-color: var(--_error-hover-leading-icon-color);--md-outlined-field-error-hover-outline-color: var(--_error-hover-outline-color);--md-outlined-field-error-hover-supporting-text-color: var(--_error-hover-supporting-text-color);--md-outlined-field-error-hover-trailing-content-color: var(--_error-hover-trailing-icon-color);--md-outlined-field-error-label-text-color: var(--_error-label-text-color);--md-outlined-field-error-leading-content-color: var(--_error-leading-icon-color);--md-outlined-field-error-outline-color: var(--_error-outline-color);--md-outlined-field-error-supporting-text-color: var(--_error-supporting-text-color);--md-outlined-field-error-trailing-content-color: var(--_error-trailing-icon-color);--md-outlined-field-focus-content-color: var(--_focus-input-text-color);--md-outlined-field-focus-label-text-color: var(--_focus-label-text-color);--md-outlined-field-focus-leading-content-color: var(--_focus-leading-icon-color);--md-outlined-field-focus-outline-color: var(--_focus-outline-color);--md-outlined-field-focus-outline-width: var(--_focus-outline-width);--md-outlined-field-focus-supporting-text-color: var(--_focus-supporting-text-color);--md-outlined-field-focus-trailing-content-color: var(--_focus-trailing-icon-color);--md-outlined-field-hover-content-color: var(--_hover-input-text-color);--md-outlined-field-hover-label-text-color: var(--_hover-label-text-color);--md-outlined-field-hover-leading-content-color: var(--_hover-leading-icon-color);--md-outlined-field-hover-outline-color: var(--_hover-outline-color);--md-outlined-field-hover-outline-width: var(--_hover-outline-width);--md-outlined-field-hover-supporting-text-color: var(--_hover-supporting-text-color);--md-outlined-field-hover-trailing-content-color: var(--_hover-trailing-icon-color);--md-outlined-field-label-text-color: var(--_label-text-color);--md-outlined-field-label-text-font: var(--_label-text-font);--md-outlined-field-label-text-line-height: var(--_label-text-line-height);--md-outlined-field-label-text-populated-line-height: var(--_label-text-populated-line-height);--md-outlined-field-label-text-populated-size: var(--_label-text-populated-size);--md-outlined-field-label-text-size: var(--_label-text-size);--md-outlined-field-label-text-weight: var(--_label-text-weight);--md-outlined-field-leading-content-color: var(--_leading-icon-color);--md-outlined-field-leading-space: var(--_leading-space);--md-outlined-field-outline-color: var(--_outline-color);--md-outlined-field-outline-width: var(--_outline-width);--md-outlined-field-supporting-text-color: var(--_supporting-text-color);--md-outlined-field-supporting-text-font: var(--_supporting-text-font);--md-outlined-field-supporting-text-line-height: var(--_supporting-text-line-height);--md-outlined-field-supporting-text-size: var(--_supporting-text-size);--md-outlined-field-supporting-text-weight: var(--_supporting-text-weight);--md-outlined-field-top-space: var(--_top-space);--md-outlined-field-trailing-content-color: var(--_trailing-icon-color);--md-outlined-field-trailing-space: var(--_trailing-space);--md-outlined-field-with-leading-content-leading-space: var(--_with-leading-icon-leading-space);--md-outlined-field-with-trailing-content-trailing-space: var(--_with-trailing-icon-trailing-space)}`), + (BMs = BZe.styleSheet)); +}); +var OZe; +var mxn = P(() => { + LZe(); + DO(); + kZe(); + OZe = class OZe extends $o { + constructor() { + super(...arguments); + this.fieldTag = D5`md-outlined-field`; + } + }; +}); +var rye; +var hxn = P(() => { + yl(); + LZe(); + Pl(); + DO(); + fxn(); + mxn(); + PZe(); + rye = class extends OZe { + constructor() { + super(...arguments); + this.fieldTag = D5`md-outlined-field`; + } + static { + this.styles = [yY, BZe]; + } + }; + rye = Tt([ds("md-outlined-text-field")], rye); +}); +var gxn, yxn, vxn; +var bxn = P(() => { + $W(); + cxn(); + hxn(); + ((gxn = z(re(), 1)), + (yxn = _0({ + react: gxn, + tagName: "md-filled-text-field", + elementClass: nye, + events: { onChange: "change", onInput: "input" }, + })), + (vxn = _0({ + react: gxn, + tagName: "md-outlined-text-field", + elementClass: rye, + events: { onChange: "change", onInput: "input" }, + }))); +}); +var FZe; +var xxn = P(() => { + FZe = class FZe extends hY { + computeValidity(e) { + if (!this.checkboxControl) + ((this.checkboxControl = document.createElement("input")), + (this.checkboxControl.type = "checkbox")); + return ( + (this.checkboxControl.checked = e.checked), + (this.checkboxControl.required = e.required), + { + validity: this.checkboxControl.validity, + validationMessage: this.checkboxControl.validationMessage, + } + ); + } + equals(e, t) { + return e.checked === t.checked && e.required === t.required; + } + copy({ checked: e, required: t }) { + return { checked: e, required: t }; + } + }; +}); +var x_r, AS; +var Axn = P(() => { + yl(); + B1e(); + U1e(); + sa(); + Pl(); + TO(); + uY(); + oZe(); + EZe(); + vS(); + dY(); + xxn(); + x_r = R5(K1e(M5(P5(tc)))); + AS = class AS extends x_r { + static { + this.shadowRootOptions = { mode: "open", delegatesFocus: !0 }; + } + constructor() { + super(); + if ( + ((this.selected = !1), + (this.icons = !1), + (this.showOnlySelectedIcon = !1), + (this.required = !1), + (this.value = "on"), + md) + ) + return; + (this.addEventListener("click", (e) => { + if (!RO(e) || !this.input) return; + (this.focus(), kO(this.input)); + }), + V1e(this, "keydown"), + this.addEventListener("keydown", (e) => { + H1e(e, () => { + if ( + e.defaultPrevented || + e.key !== "Enter" || + this.disabled || + !this.input + ) + return; + this.input.click(); + }); + })); + } + render() { + return Pr`
${this.renderHandle()}
- `}getRenderClasses(){return{selected:this.selected,unselected:!this.selected,disabled:this.disabled}}renderHandle(){let e={"with-icon":this.showOnlySelectedIcon?this.selected:this.icons};return Pr` + `; + } + getRenderClasses() { + return { + selected: this.selected, + unselected: !this.selected, + disabled: this.disabled, + }; + } + renderHandle() { + let e = { + "with-icon": this.showOnlySelectedIcon ? this.selected : this.icons, + }; + return Pr` ${this.renderTouchTarget()} - ${this.shouldShowIcons()?this.renderIcons():Pr``} + ${this.shouldShowIcons() ? this.renderIcons() : Pr``} - `}renderIcons(){return Pr` + `; + } + renderIcons() { + return Pr`
- ${this.renderOnIcon()} ${this.showOnlySelectedIcon?Pr``:this.renderOffIcon()} + ${this.renderOnIcon()} ${this.showOnlySelectedIcon ? Pr`` : this.renderOffIcon()}
- `}renderOnIcon(){return Pr` + `; + } + renderOnIcon() { + return Pr` - `}renderOffIcon(){return Pr` + `; + } + renderOffIcon() { + return Pr` - `}renderTouchTarget(){return Pr``}shouldShowIcons(){return this.icons||this.showOnlySelectedIcon}handleInput(e){let t=e.target;this.selected=t.checked}handleChange(e){ok(this,e)}[bS](){return this.selected?this.value:null}[_1e](){return String(this.selected)}formResetCallback(){this.selected=this.hasAttribute("selected")}formStateRestoreCallback(e){this.selected=e==="true"}[LO](){return new FZe(()=>({checked:this.selected,required:this.required}))}[BO](){return this.input}};Tt([xn({type:Boolean})],AS.prototype,"selected",void 0);Tt([xn({type:Boolean})],AS.prototype,"icons",void 0);Tt([xn({type:Boolean,attribute:"show-only-selected-icon"})],AS.prototype,"showOnlySelectedIcon",void 0);Tt([xn({type:Boolean})],AS.prototype,"required",void 0);Tt([xn()],AS.prototype,"value",void 0);Tt([rf("input")],AS.prototype,"input",void 0)});var UZe,gDs;var wxn=P(()=>{sa();UZe=ia`@layer styles, hcm;@layer styles{:host{display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-switch-track-height, 32px))/2) 0px}md-focus-ring{--md-focus-ring-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}.switch{align-items:center;display:inline-flex;flex-shrink:0;position:relative;width:var(--md-switch-track-width, 52px);height:var(--md-switch-track-height, 32px);border-start-start-radius:var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}input{appearance:none;background:none;height:max(100%,var(--md-switch-touch-target-size, 48px));outline:none;margin:0;position:absolute;width:max(100%,var(--md-switch-touch-target-size, 48px));z-index:1;cursor:inherit;top:50%;left:50%;transform:translate(-50%, -50%)}:host([touch-target=none]) input{display:none}}@layer styles{.track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center}.track::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms}.disabled .track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.disabled .track::before,.disabled .track::after{transition:none;opacity:var(--md-switch-disabled-track-opacity, 0.12)}.disabled .track::before{background-clip:content-box}.selected .track::before{background-color:var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4))}.selected:hover .track::before{background-color:var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4))}.selected:focus-within .track::before{background-color:var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4))}.selected:active .track::before{background-color:var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4))}.selected.disabled .track{background-clip:border-box}.selected.disabled .track::before{background-color:var(--md-switch-disabled-selected-track-color, var(--md-sys-color-on-surface, #1d1b20))}.unselected .track::before{background-color:var(--md-switch-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-track-outline-color, var(--md-sys-color-outline, #79747e));border-style:solid;border-width:var(--md-switch-track-outline-width, 2px)}.unselected:hover .track::before{background-color:var(--md-switch-hover-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-hover-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:focus-visible .track::before{background-color:var(--md-switch-focus-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-focus-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:active .track::before{background-color:var(--md-switch-pressed-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-pressed-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected.disabled .track::before{background-color:var(--md-switch-disabled-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-disabled-track-outline-color, var(--md-sys-color-on-surface, #1d1b20))}}@layer hcm{@media(forced-colors: active){.selected .track::before{background:ButtonText;border-color:ButtonText}.disabled .track::before{border-color:GrayText;opacity:1}.disabled.selected .track::before{background:GrayText}}}@layer styles{.handle-container{display:flex;place-content:center;place-items:center;position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275)}.selected .handle-container{margin-inline-start:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.unselected .handle-container{margin-inline-end:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.disabled .handle-container{transition:none}.handle{border-start-start-radius:var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));height:var(--md-switch-handle-height, 16px);width:var(--md-switch-handle-width, 16px);transform-origin:center;transition-property:height,width;transition-duration:250ms,250ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1);z-index:0}.handle::before{content:"";display:flex;inset:0;position:absolute;border-radius:inherit;box-sizing:border-box;transition:background-color 67ms linear}.disabled .handle,.disabled .handle::before{transition:none}.selected .handle{height:var(--md-switch-selected-handle-height, 24px);width:var(--md-switch-selected-handle-width, 24px)}.handle.with-icon{height:var(--md-switch-with-icon-handle-height, 24px);width:var(--md-switch-with-icon-handle-width, 24px)}.selected:not(.disabled):active .handle,.unselected:not(.disabled):active .handle{height:var(--md-switch-pressed-handle-height, 28px);width:var(--md-switch-pressed-handle-width, 28px);transition-timing-function:linear;transition-duration:100ms}.selected .handle::before{background-color:var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff))}.selected:hover .handle::before{background-color:var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:focus-within .handle::before{background-color:var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:active .handle::before{background-color:var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected.disabled .handle::before{background-color:var(--md-switch-disabled-selected-handle-color, var(--md-sys-color-surface, #fef7ff));opacity:var(--md-switch-disabled-selected-handle-opacity, 1)}.unselected .handle::before{background-color:var(--md-switch-handle-color, var(--md-sys-color-outline, #79747e))}.unselected:hover .handle::before{background-color:var(--md-switch-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:focus-within .handle::before{background-color:var(--md-switch-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:active .handle::before{background-color:var(--md-switch-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected.disabled .handle::before{background-color:var(--md-switch-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-handle-opacity, 0.38)}md-ripple{border-radius:var(--md-switch-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));height:var(--md-switch-state-layer-size, 40px);inset:unset;width:var(--md-switch-state-layer-size, 40px)}.selected md-ripple{--md-ripple-hover-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12)}.unselected md-ripple{--md-ripple-hover-color: var(--md-switch-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-color: var(--md-switch-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-switch-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-pressed-state-layer-opacity, 0.12)}}@layer hcm{@media(forced-colors: active){.unselected .handle::before{background:ButtonText}.disabled .handle::before{opacity:1}.disabled.unselected .handle::before{background:GrayText}}}@layer styles{.icons{position:relative;height:100%;width:100%}.icon{position:absolute;inset:0;margin:auto;display:flex;align-items:center;justify-content:center;fill:currentColor;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.disabled .icon{transition:none}.selected .icon--on,.unselected .icon--off{opacity:1}.unselected .handle:not(.with-icon) .icon--on{transform:rotate(-45deg)}.icon--off{width:var(--md-switch-icon-size, 16px);height:var(--md-switch-icon-size, 16px);color:var(--md-switch-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:hover .icon--off{color:var(--md-switch-hover-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:focus-within .icon--off{color:var(--md-switch-focus-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:active .icon--off{color:var(--md-switch-pressed-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected.disabled .icon--off{color:var(--md-switch-disabled-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));opacity:var(--md-switch-disabled-icon-opacity, 0.38)}.icon--on{width:var(--md-switch-selected-icon-size, 16px);height:var(--md-switch-selected-icon-size, 16px);color:var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:hover .icon--on{color:var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:focus-within .icon--on{color:var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:active .icon--on{color:var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected.disabled .icon--on{color:var(--md-switch-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon--off{fill:Canvas}.icon--on{fill:ButtonText}.disabled.unselected .icon--off,.disabled.selected .icon--on{opacity:1}.disabled .icon--on{fill:GrayText}}}`,gDs=UZe.styleSheet});var oye;var Sxn=P(()=>{yl();Pl();Axn();wxn();oye=class extends AS{static{this.styles=[UZe]}};oye=Tt([ds("md-switch")],oye)});var A_r,Cxn;var Exn=P(()=>{$W();Sxn();A_r=z(re(),1),Cxn=_0({react:A_r,tagName:"md-switch",elementClass:oye,events:{onChange:"change",onInput:"input"}})});var NZe,TDs;var Ixn=P(()=>{sa();NZe=ia`@media(forced-colors: active){:host{--md-slider-active-track-color: CanvasText;--md-slider-disabled-active-track-color: GrayText;--md-slider-disabled-active-track-opacity: 1;--md-slider-disabled-handle-color: GrayText;--md-slider-disabled-inactive-track-color: GrayText;--md-slider-disabled-inactive-track-opacity: 1;--md-slider-focus-handle-color: CanvasText;--md-slider-handle-color: CanvasText;--md-slider-handle-shadow-color: Canvas;--md-slider-hover-handle-color: CanvasText;--md-slider-hover-state-layer-color: Canvas;--md-slider-hover-state-layer-opacity: 1;--md-slider-inactive-track-color: Canvas;--md-slider-label-container-color: Canvas;--md-slider-label-text-color: CanvasText;--md-slider-pressed-handle-color: CanvasText;--md-slider-pressed-state-layer-color: Canvas;--md-slider-pressed-state-layer-opacity: 1;--md-slider-with-overlap-handle-outline-color: CanvasText}.label,.label::before{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}:host(:not([disabled])) .track::before{border:1px solid var(--_active-track-color)}.tickmarks::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='CanvasText'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}.tickmarks::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='Canvas'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}:host([disabled]) .tickmarks::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='Canvas'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}}`,TDs=NZe.styleSheet});function aye(e,t,n){return e?t(e):n?.(e)}var Txn=()=>{};var kxn=P(()=>{Txn()});function Rxn({x:e,y:t},n){if(!n)return!1;let{top:r,left:o,bottom:a,right:i}=n.getBoundingClientRect();return e>=o&&e<=i&&t>=r&&t<=a}function S_r(e,t){if(!(e&&t))return!1;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return!(n.top>r.bottom||n.rightr.right)}var w_r,ki;var Pxn=P(()=>{yl();sY();B1e();U1e();sa();Pl();TO();SZe();kxn();uY();vS();dY();w_r=R5(M5(P5(tc)));ki=class ki extends w_r{static{this.shadowRootOptions={...tc.shadowRootOptions,delegatesFocus:!0}}get nameStart(){return this.getAttribute("name-start")??this.name}set nameStart(e){this.setAttribute("name-start",e)}get nameEnd(){return this.getAttribute("name-end")??this.nameStart}set nameEnd(e){this.setAttribute("name-end",e)}get renderAriaLabelStart(){let{ariaLabel:e}=this;return this.ariaLabelStart||e&&`${e} start`||this.valueLabelStart||String(this.valueStart)}get renderAriaValueTextStart(){return this.ariaValueTextStart||this.valueLabelStart||String(this.valueStart)}get renderAriaLabelEnd(){let{ariaLabel:e}=this;if(this.range)return this.ariaLabelEnd||e&&`${e} end`||this.valueLabelEnd||String(this.valueEnd);return e||this.valueLabel||String(this.value)}get renderAriaValueTextEnd(){if(this.range)return this.ariaValueTextEnd||this.valueLabelEnd||String(this.valueEnd);let{ariaValueText:e}=this;return e||this.valueLabel||String(this.value)}constructor(){super();if(this.min=0,this.max=100,this.valueLabel="",this.valueLabelStart="",this.valueLabelEnd="",this.ariaLabelStart="",this.ariaValueTextStart="",this.ariaLabelEnd="",this.ariaValueTextEnd="",this.step=1,this.ticks=!1,this.labeled=!1,this.range=!1,this.handleStartHover=!1,this.handleEndHover=!1,this.startOnTop=!1,this.handlesOverlapping=!1,this.ripplePointerId=1,this.isRedispatchingEvent=!1,!md)this.addEventListener("click",(e)=>{if(!RO(e)||!this.inputEnd)return;this.focus(),kO(this.inputEnd)})}focus(){this.inputEnd?.focus()}willUpdate(e){this.renderValueStart=e.has("valueStart")?this.valueStart:this.inputStart?.valueAsNumber;let t=e.has("valueEnd")&&this.range||e.has("value");if(this.renderValueEnd=t?this.range?this.valueEnd:this.value:this.inputEnd?.valueAsNumber,e.get("handleStartHover")!==void 0)this.toggleRippleHover(this.rippleStart,this.handleStartHover);else if(e.get("handleEndHover")!==void 0)this.toggleRippleHover(this.rippleEnd,this.handleEndHover)}updated(e){if(this.range)this.renderValueStart=this.inputStart.valueAsNumber;if(this.renderValueEnd=this.inputEnd.valueAsNumber,this.range){let t=(this.max-this.min)/3;if(this.valueStart===void 0){this.inputStart.valueAsNumber=this.min+t;let n=this.inputStart.valueAsNumber;this.valueStart=this.renderValueStart=n}if(this.valueEnd===void 0){this.inputEnd.valueAsNumber=this.min+2*t;let n=this.inputEnd.valueAsNumber;this.valueEnd=this.renderValueEnd=n}}else this.value??=this.renderValueEnd;if(e.has("range")||e.has("renderValueStart")||e.has("renderValueEnd")||this.isUpdatePending){let t=this.handleStart?.querySelector(".handleNub"),n=this.handleEnd?.querySelector(".handleNub");this.handlesOverlapping=S_r(t,n)}this.performUpdate()}render(){let e=this.step===0?1:this.step,t=Math.max(this.max-this.min,e),n=this.range?((this.renderValueStart??this.min)-this.min)/t:0,r=((this.renderValueEnd??this.min)-this.min)/t,o={"--_start-fraction":String(n),"--_end-fraction":String(r),"--_tick-count":String(t/e)},a={ranged:this.range},i=this.valueLabelStart||String(this.renderValueStart),s=(this.range?this.valueLabelEnd:this.valueLabel)||String(this.renderValueEnd),l={start:!0,value:this.renderValueStart,ariaLabel:this.renderAriaLabelStart,ariaValueText:this.renderAriaValueTextStart,ariaMin:this.min,ariaMax:this.valueEnd??this.max},c={start:!1,value:this.renderValueEnd,ariaLabel:this.renderAriaLabelEnd,ariaValueText:this.renderAriaValueTextEnd,ariaMin:this.range?this.valueStart??this.min:this.min,ariaMax:this.max},u={start:!0,hover:this.handleStartHover,label:i},d={start:!1,hover:this.handleEndHover,label:s},p={hover:this.handleStartHover||this.handleEndHover};return Pr`
`; + } + shouldShowIcons() { + return this.icons || this.showOnlySelectedIcon; + } + handleInput(e) { + let t = e.target; + this.selected = t.checked; + } + handleChange(e) { + ok(this, e); + } + [bS]() { + return this.selected ? this.value : null; + } + [_1e]() { + return String(this.selected); + } + formResetCallback() { + this.selected = this.hasAttribute("selected"); + } + formStateRestoreCallback(e) { + this.selected = e === "true"; + } + [LO]() { + return new FZe(() => ({ + checked: this.selected, + required: this.required, + })); + } + [BO]() { + return this.input; + } + }; + Tt([xn({ type: Boolean })], AS.prototype, "selected", void 0); + Tt([xn({ type: Boolean })], AS.prototype, "icons", void 0); + Tt( + [xn({ type: Boolean, attribute: "show-only-selected-icon" })], + AS.prototype, + "showOnlySelectedIcon", + void 0, + ); + Tt([xn({ type: Boolean })], AS.prototype, "required", void 0); + Tt([xn()], AS.prototype, "value", void 0); + Tt([rf("input")], AS.prototype, "input", void 0); +}); +var UZe, gDs; +var wxn = P(() => { + sa(); + ((UZe = ia`@layer styles, hcm;@layer styles{:host{display:inline-flex;outline:none;vertical-align:top;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-switch-track-height, 32px))/2) 0px}md-focus-ring{--md-focus-ring-shape-start-start: var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-start-end: var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-end: var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));--md-focus-ring-shape-end-start: var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}.switch{align-items:center;display:inline-flex;flex-shrink:0;position:relative;width:var(--md-switch-track-width, 52px);height:var(--md-switch-track-height, 32px);border-start-start-radius:var(--md-switch-track-shape-start-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-track-shape-start-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-track-shape-end-end, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-track-shape-end-start, var(--md-switch-track-shape, var(--md-sys-shape-corner-full, 9999px)))}input{appearance:none;background:none;height:max(100%,var(--md-switch-touch-target-size, 48px));outline:none;margin:0;position:absolute;width:max(100%,var(--md-switch-touch-target-size, 48px));z-index:1;cursor:inherit;top:50%;left:50%;transform:translate(-50%, -50%)}:host([touch-target=none]) input{display:none}}@layer styles{.track{position:absolute;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;display:flex;justify-content:center;align-items:center}.track::before{content:"";display:flex;position:absolute;height:100%;width:100%;border-radius:inherit;box-sizing:border-box;transition-property:opacity,background-color;transition-timing-function:linear;transition-duration:67ms}.disabled .track{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.disabled .track::before,.disabled .track::after{transition:none;opacity:var(--md-switch-disabled-track-opacity, 0.12)}.disabled .track::before{background-clip:content-box}.selected .track::before{background-color:var(--md-switch-selected-track-color, var(--md-sys-color-primary, #6750a4))}.selected:hover .track::before{background-color:var(--md-switch-selected-hover-track-color, var(--md-sys-color-primary, #6750a4))}.selected:focus-within .track::before{background-color:var(--md-switch-selected-focus-track-color, var(--md-sys-color-primary, #6750a4))}.selected:active .track::before{background-color:var(--md-switch-selected-pressed-track-color, var(--md-sys-color-primary, #6750a4))}.selected.disabled .track{background-clip:border-box}.selected.disabled .track::before{background-color:var(--md-switch-disabled-selected-track-color, var(--md-sys-color-on-surface, #1d1b20))}.unselected .track::before{background-color:var(--md-switch-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-track-outline-color, var(--md-sys-color-outline, #79747e));border-style:solid;border-width:var(--md-switch-track-outline-width, 2px)}.unselected:hover .track::before{background-color:var(--md-switch-hover-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-hover-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:focus-visible .track::before{background-color:var(--md-switch-focus-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-focus-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected:active .track::before{background-color:var(--md-switch-pressed-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-pressed-track-outline-color, var(--md-sys-color-outline, #79747e))}.unselected.disabled .track::before{background-color:var(--md-switch-disabled-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-color:var(--md-switch-disabled-track-outline-color, var(--md-sys-color-on-surface, #1d1b20))}}@layer hcm{@media(forced-colors: active){.selected .track::before{background:ButtonText;border-color:ButtonText}.disabled .track::before{border-color:GrayText;opacity:1}.disabled.selected .track::before{background:GrayText}}}@layer styles{.handle-container{display:flex;place-content:center;place-items:center;position:relative;transition:margin 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275)}.selected .handle-container{margin-inline-start:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.unselected .handle-container{margin-inline-end:calc(var(--md-switch-track-width, 52px) - var(--md-switch-track-height, 32px))}.disabled .handle-container{transition:none}.handle{border-start-start-radius:var(--md-switch-handle-shape-start-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-start-end-radius:var(--md-switch-handle-shape-start-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-end-radius:var(--md-switch-handle-shape-end-end, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));border-end-start-radius:var(--md-switch-handle-shape-end-start, var(--md-switch-handle-shape, var(--md-sys-shape-corner-full, 9999px)));height:var(--md-switch-handle-height, 16px);width:var(--md-switch-handle-width, 16px);transform-origin:center;transition-property:height,width;transition-duration:250ms,250ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1),cubic-bezier(0.2, 0, 0, 1);z-index:0}.handle::before{content:"";display:flex;inset:0;position:absolute;border-radius:inherit;box-sizing:border-box;transition:background-color 67ms linear}.disabled .handle,.disabled .handle::before{transition:none}.selected .handle{height:var(--md-switch-selected-handle-height, 24px);width:var(--md-switch-selected-handle-width, 24px)}.handle.with-icon{height:var(--md-switch-with-icon-handle-height, 24px);width:var(--md-switch-with-icon-handle-width, 24px)}.selected:not(.disabled):active .handle,.unselected:not(.disabled):active .handle{height:var(--md-switch-pressed-handle-height, 28px);width:var(--md-switch-pressed-handle-width, 28px);transition-timing-function:linear;transition-duration:100ms}.selected .handle::before{background-color:var(--md-switch-selected-handle-color, var(--md-sys-color-on-primary, #fff))}.selected:hover .handle::before{background-color:var(--md-switch-selected-hover-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:focus-within .handle::before{background-color:var(--md-switch-selected-focus-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected:active .handle::before{background-color:var(--md-switch-selected-pressed-handle-color, var(--md-sys-color-primary-container, #eaddff))}.selected.disabled .handle::before{background-color:var(--md-switch-disabled-selected-handle-color, var(--md-sys-color-surface, #fef7ff));opacity:var(--md-switch-disabled-selected-handle-opacity, 1)}.unselected .handle::before{background-color:var(--md-switch-handle-color, var(--md-sys-color-outline, #79747e))}.unselected:hover .handle::before{background-color:var(--md-switch-hover-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:focus-within .handle::before{background-color:var(--md-switch-focus-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected:active .handle::before{background-color:var(--md-switch-pressed-handle-color, var(--md-sys-color-on-surface-variant, #49454f))}.unselected.disabled .handle::before{background-color:var(--md-switch-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-handle-opacity, 0.38)}md-ripple{border-radius:var(--md-switch-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));height:var(--md-switch-state-layer-size, 40px);inset:unset;width:var(--md-switch-state-layer-size, 40px)}.selected md-ripple{--md-ripple-hover-color: var(--md-switch-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-color: var(--md-switch-selected-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-switch-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-selected-pressed-state-layer-opacity, 0.12)}.unselected md-ripple{--md-ripple-hover-color: var(--md-switch-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-color: var(--md-switch-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-switch-hover-state-layer-opacity, 0.08);--md-ripple-pressed-opacity: var(--md-switch-pressed-state-layer-opacity, 0.12)}}@layer hcm{@media(forced-colors: active){.unselected .handle::before{background:ButtonText}.disabled .handle::before{opacity:1}.disabled.unselected .handle::before{background:GrayText}}}@layer styles{.icons{position:relative;height:100%;width:100%}.icon{position:absolute;inset:0;margin:auto;display:flex;align-items:center;justify-content:center;fill:currentColor;transition:fill 67ms linear,opacity 33ms linear,transform 167ms cubic-bezier(0.2, 0, 0, 1);opacity:0}.disabled .icon{transition:none}.selected .icon--on,.unselected .icon--off{opacity:1}.unselected .handle:not(.with-icon) .icon--on{transform:rotate(-45deg)}.icon--off{width:var(--md-switch-icon-size, 16px);height:var(--md-switch-icon-size, 16px);color:var(--md-switch-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:hover .icon--off{color:var(--md-switch-hover-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:focus-within .icon--off{color:var(--md-switch-focus-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected:active .icon--off{color:var(--md-switch-pressed-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9))}.unselected.disabled .icon--off{color:var(--md-switch-disabled-icon-color, var(--md-sys-color-surface-container-highest, #e6e0e9));opacity:var(--md-switch-disabled-icon-opacity, 0.38)}.icon--on{width:var(--md-switch-selected-icon-size, 16px);height:var(--md-switch-selected-icon-size, 16px);color:var(--md-switch-selected-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:hover .icon--on{color:var(--md-switch-selected-hover-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:focus-within .icon--on{color:var(--md-switch-selected-focus-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected:active .icon--on{color:var(--md-switch-selected-pressed-icon-color, var(--md-sys-color-on-primary-container, #21005d))}.selected.disabled .icon--on{color:var(--md-switch-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-switch-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon--off{fill:Canvas}.icon--on{fill:ButtonText}.disabled.unselected .icon--off,.disabled.selected .icon--on{opacity:1}.disabled .icon--on{fill:GrayText}}}`), + (gDs = UZe.styleSheet)); +}); +var oye; +var Sxn = P(() => { + yl(); + Pl(); + Axn(); + wxn(); + oye = class extends AS { + static { + this.styles = [UZe]; + } + }; + oye = Tt([ds("md-switch")], oye); +}); +var A_r, Cxn; +var Exn = P(() => { + $W(); + Sxn(); + ((A_r = z(re(), 1)), + (Cxn = _0({ + react: A_r, + tagName: "md-switch", + elementClass: oye, + events: { onChange: "change", onInput: "input" }, + }))); +}); +var NZe, TDs; +var Ixn = P(() => { + sa(); + ((NZe = ia`@media(forced-colors: active){:host{--md-slider-active-track-color: CanvasText;--md-slider-disabled-active-track-color: GrayText;--md-slider-disabled-active-track-opacity: 1;--md-slider-disabled-handle-color: GrayText;--md-slider-disabled-inactive-track-color: GrayText;--md-slider-disabled-inactive-track-opacity: 1;--md-slider-focus-handle-color: CanvasText;--md-slider-handle-color: CanvasText;--md-slider-handle-shadow-color: Canvas;--md-slider-hover-handle-color: CanvasText;--md-slider-hover-state-layer-color: Canvas;--md-slider-hover-state-layer-opacity: 1;--md-slider-inactive-track-color: Canvas;--md-slider-label-container-color: Canvas;--md-slider-label-text-color: CanvasText;--md-slider-pressed-handle-color: CanvasText;--md-slider-pressed-state-layer-color: Canvas;--md-slider-pressed-state-layer-opacity: 1;--md-slider-with-overlap-handle-outline-color: CanvasText}.label,.label::before{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}:host(:not([disabled])) .track::before{border:1px solid var(--_active-track-color)}.tickmarks::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='CanvasText'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}.tickmarks::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='Canvas'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}:host([disabled]) .tickmarks::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='Canvas'%3E%3Ccircle cx='2' cy='2' r='1'/%3E%3C/svg%3E")}}`), + (TDs = NZe.styleSheet)); +}); +function aye(e, t, n) { + return e ? t(e) : n?.(e); +} +var Txn = () => {}; +var kxn = P(() => { + Txn(); +}); +function Rxn({ x: e, y: t }, n) { + if (!n) return !1; + let { top: r, left: o, bottom: a, right: i } = n.getBoundingClientRect(); + return e >= o && e <= i && t >= r && t <= a; +} +function S_r(e, t) { + if (!(e && t)) return !1; + let n = e.getBoundingClientRect(), + r = t.getBoundingClientRect(); + return !( + n.top > r.bottom || + n.right < r.left || + n.bottom < r.top || + n.left > r.right + ); +} +var w_r, ki; +var Pxn = P(() => { + yl(); + sY(); + B1e(); + U1e(); + sa(); + Pl(); + TO(); + SZe(); + kxn(); + uY(); + vS(); + dY(); + w_r = R5(M5(P5(tc))); + ki = class ki extends w_r { + static { + this.shadowRootOptions = { ...tc.shadowRootOptions, delegatesFocus: !0 }; + } + get nameStart() { + return this.getAttribute("name-start") ?? this.name; + } + set nameStart(e) { + this.setAttribute("name-start", e); + } + get nameEnd() { + return this.getAttribute("name-end") ?? this.nameStart; + } + set nameEnd(e) { + this.setAttribute("name-end", e); + } + get renderAriaLabelStart() { + let { ariaLabel: e } = this; + return ( + this.ariaLabelStart || + (e && `${e} start`) || + this.valueLabelStart || + String(this.valueStart) + ); + } + get renderAriaValueTextStart() { + return ( + this.ariaValueTextStart || + this.valueLabelStart || + String(this.valueStart) + ); + } + get renderAriaLabelEnd() { + let { ariaLabel: e } = this; + if (this.range) + return ( + this.ariaLabelEnd || + (e && `${e} end`) || + this.valueLabelEnd || + String(this.valueEnd) + ); + return e || this.valueLabel || String(this.value); + } + get renderAriaValueTextEnd() { + if (this.range) + return ( + this.ariaValueTextEnd || this.valueLabelEnd || String(this.valueEnd) + ); + let { ariaValueText: e } = this; + return e || this.valueLabel || String(this.value); + } + constructor() { + super(); + if ( + ((this.min = 0), + (this.max = 100), + (this.valueLabel = ""), + (this.valueLabelStart = ""), + (this.valueLabelEnd = ""), + (this.ariaLabelStart = ""), + (this.ariaValueTextStart = ""), + (this.ariaLabelEnd = ""), + (this.ariaValueTextEnd = ""), + (this.step = 1), + (this.ticks = !1), + (this.labeled = !1), + (this.range = !1), + (this.handleStartHover = !1), + (this.handleEndHover = !1), + (this.startOnTop = !1), + (this.handlesOverlapping = !1), + (this.ripplePointerId = 1), + (this.isRedispatchingEvent = !1), + !md) + ) + this.addEventListener("click", (e) => { + if (!RO(e) || !this.inputEnd) return; + (this.focus(), kO(this.inputEnd)); + }); + } + focus() { + this.inputEnd?.focus(); + } + willUpdate(e) { + this.renderValueStart = e.has("valueStart") + ? this.valueStart + : this.inputStart?.valueAsNumber; + let t = (e.has("valueEnd") && this.range) || e.has("value"); + if ( + ((this.renderValueEnd = t + ? this.range + ? this.valueEnd + : this.value + : this.inputEnd?.valueAsNumber), + e.get("handleStartHover") !== void 0) + ) + this.toggleRippleHover(this.rippleStart, this.handleStartHover); + else if (e.get("handleEndHover") !== void 0) + this.toggleRippleHover(this.rippleEnd, this.handleEndHover); + } + updated(e) { + if (this.range) this.renderValueStart = this.inputStart.valueAsNumber; + if (((this.renderValueEnd = this.inputEnd.valueAsNumber), this.range)) { + let t = (this.max - this.min) / 3; + if (this.valueStart === void 0) { + this.inputStart.valueAsNumber = this.min + t; + let n = this.inputStart.valueAsNumber; + this.valueStart = this.renderValueStart = n; + } + if (this.valueEnd === void 0) { + this.inputEnd.valueAsNumber = this.min + 2 * t; + let n = this.inputEnd.valueAsNumber; + this.valueEnd = this.renderValueEnd = n; + } + } else this.value ??= this.renderValueEnd; + if ( + e.has("range") || + e.has("renderValueStart") || + e.has("renderValueEnd") || + this.isUpdatePending + ) { + let t = this.handleStart?.querySelector(".handleNub"), + n = this.handleEnd?.querySelector(".handleNub"); + this.handlesOverlapping = S_r(t, n); + } + this.performUpdate(); + } + render() { + let e = this.step === 0 ? 1 : this.step, + t = Math.max(this.max - this.min, e), + n = this.range + ? ((this.renderValueStart ?? this.min) - this.min) / t + : 0, + r = ((this.renderValueEnd ?? this.min) - this.min) / t, + o = { + "--_start-fraction": String(n), + "--_end-fraction": String(r), + "--_tick-count": String(t / e), + }, + a = { ranged: this.range }, + i = this.valueLabelStart || String(this.renderValueStart), + s = + (this.range ? this.valueLabelEnd : this.valueLabel) || + String(this.renderValueEnd), + l = { + start: !0, + value: this.renderValueStart, + ariaLabel: this.renderAriaLabelStart, + ariaValueText: this.renderAriaValueTextStart, + ariaMin: this.min, + ariaMax: this.valueEnd ?? this.max, + }, + c = { + start: !1, + value: this.renderValueEnd, + ariaLabel: this.renderAriaLabelEnd, + ariaValueText: this.renderAriaValueTextEnd, + ariaMin: this.range ? (this.valueStart ?? this.min) : this.min, + ariaMax: this.max, + }, + u = { start: !0, hover: this.handleStartHover, label: i }, + d = { start: !1, hover: this.handleEndHover, label: s }, + p = { hover: this.handleStartHover || this.handleEndHover }; + return Pr`
- ${aye(this.range,()=>this.renderInput(l))} + ${aye(this.range, () => this.renderInput(l))} ${this.renderInput(c)} ${this.renderTrack()}
- ${aye(this.range,()=>this.renderHandle(u))} + ${aye(this.range, () => this.renderHandle(u))} ${this.renderHandle(d)}
-
`}renderTrack(){return Pr` +
`; + } + renderTrack() { + return Pr`
- ${this.ticks?Pr`
`:cr} - `}renderLabel(e){return Pr` @@ -153,7 +166,9 @@ @@ -165,10 +180,12 @@

    Mesurer la couverture du RAG

    - +

    - Les compteurs globaux ne prouvent pas la transcription complète de chaque tome ou - chapitre. + Les compteurs globaux ne prouvent pas la transcription complète de + chaque tome ou chapitre.

    @@ -182,8 +199,8 @@

    - L’inventaire indique les pages déclarées par Shenron; il ne certifie pas une - transcription OCR complète de chaque page. + L’inventaire indique les pages déclarées par Shenron; il ne certifie + pas une transcription OCR complète de chaque page.

    Choisis ton style puis lance la partie.

    - ← Gauche
    Comment jouer

    - Flèches gauche/droite ou Q/D : déplacement · clic gauche/glisser : bouger · clic droit : - tir · Espace : saut · J : combo · K : projectile (20 énergie) · L : charge · T : - transformation (80 énergie, 8 secondes) · P : pause. Sur manette : stick gauche ou croix - pour bouger, A sauter, X combo, B projectile, Y charger, Start pause/reprise. Sur mobile, - maintiens les boutons. Élimine cinq vagues pour gagner. Les styles changent la vitesse ou - la puissance. + Flèches gauche/droite ou Q/D : déplacement · clic gauche/glisser : + bouger · clic droit : tir · Espace : saut · J : combo · K : projectile + (20 énergie) · L : charge · T : transformation (80 énergie, 8 + secondes) · P : pause. Sur manette : stick gauche ou croix pour + bouger, A sauter, X combo, B projectile, Y charger, Start + pause/reprise. Sur mobile, maintiens les boutons. Élimine cinq vagues + pour gagner. Les styles changent la vitesse ou la puissance.

    - Inspiré des mécaniques de Dragon Crystal et Warriors of the Universe. Personnages et - graphismes originaux. Solo contre IA, sans compte. + Inspiré des mécaniques de Dragon Crystal et Warriors of the Universe. + Personnages et graphismes originaux. Solo contre IA, sans compte.
    diff --git a/apps/aphrody-examples/crystal-universe/lore-catalog.js b/apps/aphrody-examples/crystal-universe/lore-catalog.js index 92558013fd..f2897af79f 100644 --- a/apps/aphrody-examples/crystal-universe/lore-catalog.js +++ b/apps/aphrody-examples/crystal-universe/lore-catalog.js @@ -4,7 +4,9 @@ const catalogSeries = new Set(["DB", "DBS"]); export function buildLoreCatalogRequest(series) { const normalizedSeries = typeof series === "string" ? series.trim() : ""; if (!catalogSeries.has(normalizedSeries)) - return { error: "Choisis Dragon Ball ou Dragon Ball Super dans le catalogue." }; + return { + error: "Choisis Dragon Ball ou Dragon Ball Super dans le catalogue.", + }; return { series: normalizedSeries }; } @@ -46,11 +48,18 @@ export function normalizeLoreCatalogPayload(payload, series) { ? Array.from({ length: 42 }, (_, index) => index + 1) : firstNumber === null ? [] - : Array.from({ length: lastNumber - firstNumber + 1 }, (_, index) => firstNumber + index); - const missingNumbers = expectedNumbers.filter((number) => !observedNumbers.includes(number)); + : Array.from( + { length: lastNumber - firstNumber + 1 }, + (_, index) => firstNumber + index, + ); + const missingNumbers = expectedNumbers.filter( + (number) => !observedNumbers.includes(number), + ); return { series, - declaredCount: Number.isSafeInteger(payload.count) ? payload.count : payload.volumes.length, + declaredCount: Number.isSafeInteger(payload.count) + ? payload.count + : payload.volumes.length, omittedCount: payload.volumes.length - records.length, coverage: { observedCount: observedNumbers.length, @@ -58,14 +67,18 @@ export function normalizeLoreCatalogPayload(payload, series) { lastNumber, missingNumbers, completeStandardSet: series === "DB" && missingNumbers.length === 0, - contiguousObservedRange: firstNumber !== null && missingNumbers.length === 0, + contiguousObservedRange: + firstNumber !== null && missingNumbers.length === 0, }, records, }; } export function normalizeLoreCoveragePayload(payload) { - if (!Number.isSafeInteger(payload?.index?.chunks) || !Array.isArray(payload?.sources)) + if ( + !Number.isSafeInteger(payload?.index?.chunks) || + !Array.isArray(payload?.sources) + ) throw new TypeError("Réponse de couverture RAG invalide."); const sourceCount = (sourceId, kind) => { const entry = payload.sources.find( @@ -75,7 +88,8 @@ export function normalizeLoreCoveragePayload(payload) { }; return { chunks: payload.index.chunks, - builtAt: typeof payload.index.builtAt === "string" ? payload.index.builtAt : null, + builtAt: + typeof payload.index.builtAt === "string" ? payload.index.builtAt : null, mangaPagePassages: sourceCount("manga", "manga_page"), mangaChapterPassages: sourceCount("db_manga_chapters", "manga_chapter"), mangaVolumePassages: sourceCount("db_manga_volumes", "manga_volume"), diff --git a/apps/aphrody-examples/crystal-universe/lore-search.js b/apps/aphrody-examples/crystal-universe/lore-search.js index 1691235175..856455883e 100644 --- a/apps/aphrody-examples/crystal-universe/lore-search.js +++ b/apps/aphrody-examples/crystal-universe/lore-search.js @@ -2,7 +2,10 @@ const series = { "": { queryPrefix: "", titlePrefix: null }, manga: { queryPrefix: "", titlePrefix: null }, - dragonball: { queryPrefix: "Dragon Ball tome", titlePrefix: "Dragon Ball — tome " }, + dragonball: { + queryPrefix: "Dragon Ball tome", + titlePrefix: "Dragon Ball — tome ", + }, dragonballsuper: { queryPrefix: "Dragon Ball Super", titlePrefix: "Dragon Ball Super — chapitre ", @@ -15,7 +18,8 @@ export function buildLoreSearchRequest(query, sourceId) { if (normalizedQuery.length < 2 || normalizedQuery.length > 120) return { error: "La recherche doit contenir entre 2 et 120 caractères." }; const selected = series[normalizedSource]; - if (!selected) return { error: "Le corpus sélectionné n'est pas disponible." }; + if (!selected) + return { error: "Le corpus sélectionné n'est pas disponible." }; return { query: [selected.queryPrefix, normalizedQuery].filter(Boolean).join(" "), sourceId: normalizedSource ? "manga" : "", @@ -34,6 +38,8 @@ export function filterLoreSearchPayload(payload, sourceId) { : []; return { ...payload, - results: items.filter((item) => item?.title?.startsWith(titlePrefix)).slice(0, 8), + results: items + .filter((item) => item?.title?.startsWith(titlePrefix)) + .slice(0, 8), }; } diff --git a/apps/aphrody-examples/crystal-universe/multiplayer-url.js b/apps/aphrody-examples/crystal-universe/multiplayer-url.js index 71387c4df7..264a29814a 100644 --- a/apps/aphrody-examples/crystal-universe/multiplayer-url.js +++ b/apps/aphrody-examples/crystal-universe/multiplayer-url.js @@ -6,9 +6,12 @@ export function buildMultiplayerSocketUrl(location, room, configuredBase = "") { throw new TypeError("Le nom de salle est invalide."); const page = new URL(location.href); if (page.protocol !== "http:" && page.protocol !== "https:") - throw new TypeError("Le protocole de la page ne permet pas les WebSockets."); + throw new TypeError( + "Le protocole de la page ne permet pas les WebSockets.", + ); const socketProtocol = page.protocol === "https:" ? "wss:" : "ws:"; - const explicitBase = typeof configuredBase === "string" ? configuredBase.trim() : ""; + const explicitBase = + typeof configuredBase === "string" ? configuredBase.trim() : ""; let socket; if (explicitBase) { socket = new URL(explicitBase, `${socketProtocol}//${page.host}`); diff --git a/apps/aphrody-examples/crystal-universe/serve.js b/apps/aphrody-examples/crystal-universe/serve.js index fb3093f5ef..3c0730b29a 100644 --- a/apps/aphrody-examples/crystal-universe/serve.js +++ b/apps/aphrody-examples/crystal-universe/serve.js @@ -1,5 +1,8 @@ // SPDX-License-Identifier: Apache-2.0 -import { buildLoreSearchRequest, filterLoreSearchPayload } from "./lore-search.js"; +import { + buildLoreSearchRequest, + filterLoreSearchPayload, +} from "./lore-search.js"; import { buildLoreCatalogRequest, normalizeLoreCatalogPayload, @@ -20,7 +23,8 @@ const files = new Set([ "dragon-pixel-wasm.js", "dragon-pixel-wasm_bg.wasm", ]); -const shenronBase = process.env.SHENRON_API_BASE || "https://bot.dragonballfr.com"; +const shenronBase = + process.env.SHENRON_API_BASE || "https://bot.dragonballfr.com"; function publicMultiplayerWebSocketBase() { const value = process.env.DRAGON_PIXEL_WS_BASE?.trim() || ""; if (!value) return ""; @@ -52,7 +56,10 @@ const server = Bun.serve({ { multiplayerWebSocketBase: publicMultiplayerWebSocketBase() }, { headers: { "cache-control": "no-store" } }, ); - if (pathname === "/dragon-pixel-wasm.js" || pathname === "/dragon-pixel-wasm_bg.wasm") { + if ( + pathname === "/dragon-pixel-wasm.js" || + pathname === "/dragon-pixel-wasm_bg.wasm" + ) { const file = Bun.file( new URL( `../../../target/wasm-package-stage/aphrody-dragon-pixel-wasm/${pathname.slice(1)}`, @@ -62,7 +69,9 @@ const server = Bun.serve({ return file.exists().then((exists) => exists ? new Response(file, { - headers: pathname.endsWith(".wasm") ? { "content-type": "application/wasm" } : {}, + headers: pathname.endsWith(".wasm") + ? { "content-type": "application/wasm" } + : {}, }) : new Response("WASM package not built", { status: 404 }), ); @@ -71,7 +80,8 @@ const server = Bun.serve({ const params = new URL(request.url).searchParams; const sourceId = params.get("sourceId")?.trim() || ""; const search = buildLoreSearchRequest(params.get("q"), sourceId); - if (search.error) return Response.json({ error: search.error }, { status: 400 }); + if (search.error) + return Response.json({ error: search.error }, { status: 400 }); const url = new URL("/api/public/rag/search", shenronBase); url.searchParams.set("q", search.query); url.searchParams.set("limit", String(search.limit)); @@ -87,7 +97,8 @@ const server = Bun.serve({ status: response.status, headers: { "content-type": - response.headers.get("content-type") || "application/json; charset=utf-8", + response.headers.get("content-type") || + "application/json; charset=utf-8", "cache-control": "no-store", }, }); @@ -100,10 +111,13 @@ const server = Bun.serve({ }, }); try { - return Response.json(filterLoreSearchPayload(JSON.parse(body), sourceId), { - status: response.status, - headers: { "cache-control": "no-store" }, - }); + return Response.json( + filterLoreSearchPayload(JSON.parse(body), sourceId), + { + status: response.status, + headers: { "cache-control": "no-store" }, + }, + ); } catch { return Response.json( { error: "La réponse des archives est illisible." }, @@ -121,7 +135,8 @@ const server = Bun.serve({ if (name === "api/lore/catalog" && request.method === "GET") { const params = new URL(request.url).searchParams; const catalog = buildLoreCatalogRequest(params.get("series")); - if (catalog.error) return Response.json({ error: catalog.error }, { status: 400 }); + if (catalog.error) + return Response.json({ error: catalog.error }, { status: 400 }); const url = new URL("/api/public/manga/tomes", shenronBase); url.searchParams.set("series", catalog.series); return fetch(url, { @@ -139,9 +154,12 @@ const server = Bun.serve({ }, }); try { - return Response.json(normalizeLoreCatalogPayload(JSON.parse(body), catalog.series), { - headers: { "cache-control": "no-store" }, - }); + return Response.json( + normalizeLoreCatalogPayload(JSON.parse(body), catalog.series), + { + headers: { "cache-control": "no-store" }, + }, + ); } catch { return Response.json( { error: "La réponse du catalogue est illisible." }, @@ -168,9 +186,12 @@ const server = Bun.serve({ { status: 502, headers: { "cache-control": "no-store" } }, ); try { - return Response.json(normalizeLoreCoveragePayload(await response.json()), { - headers: { "cache-control": "no-store" }, - }); + return Response.json( + normalizeLoreCoveragePayload(await response.json()), + { + headers: { "cache-control": "no-store" }, + }, + ); } catch { return Response.json( { error: "La réponse de couverture RAG est illisible." }, @@ -180,7 +201,10 @@ const server = Bun.serve({ }) .catch(() => Response.json( - { error: "La couverture publique du RAG est momentanément indisponible." }, + { + error: + "La couverture publique du RAG est momentanément indisponible.", + }, { status: 502, headers: { "cache-control": "no-store" } }, ), ); diff --git a/apps/aphrody-examples/runtime-rust-extension/README.md b/apps/aphrody-examples/runtime-rust-extension/README.md index 5f0b9094d2..c295e4d620 100644 --- a/apps/aphrody-examples/runtime-rust-extension/README.md +++ b/apps/aphrody-examples/runtime-rust-extension/README.md @@ -24,4 +24,3 @@ chargeur d'extensions d'une application. La qualification Linux et ses limites sont consignées dans [le reçu](../../../docs/aphrody/operations/workspace/rust-extension-2026-10-07.md). Les artefacts SDK et leur provenance restent dans leur store existant. - diff --git a/apps/artcraft-web-app/.github/workflows/sync-studio-staging-branch.yml b/apps/artcraft-web-app/.github/workflows/sync-studio-staging-branch.yml index 4bc7a27fba..df25917c26 100644 --- a/apps/artcraft-web-app/.github/workflows/sync-studio-staging-branch.yml +++ b/apps/artcraft-web-app/.github/workflows/sync-studio-staging-branch.yml @@ -1,5 +1,5 @@ # This action syncs "studio-staging" with "main" by force pushing every time it is run. -# Adapted from: +# Adapted from: # https://github.community/t/user-github-pages-site-auto-deploy-from-another-branch-on-push/17912/2 on: push: @@ -22,12 +22,11 @@ jobs: - name: push changes uses: ad-m/github-push-action@0fafdd62b84042d49ec0cb92d9cac7f7ce4ec79e with: - # Note: Github does not allow the default access token to push to - # protected branches. Using a PAT with permissions can bypass this, + # Note: Github does not allow the default access token to push to + # protected branches. Using a PAT with permissions can bypass this, # but it triggers recursive Github Actions calls on branch updates # (which the default access token does not). Ultimately, it's better # to leave the studio-staging branch unprotected. github_token: ${{ secrets.GITHUB_TOKEN }} branch: studio-staging force: true - diff --git a/apps/artcraft-web-app/app/index.html b/apps/artcraft-web-app/app/index.html index 84b9cca127..3c022e0cc7 100644 --- a/apps/artcraft-web-app/app/index.html +++ b/apps/artcraft-web-app/app/index.html @@ -1,45 +1,57 @@ + + ArtCraft + + - - ArtCraft - - + + + - - - + + - - + + - - - - - - - - - - - - - -
    - - + + + + + + + + + +
    + + diff --git a/apps/artcraft-web-app/app/public/jsm/libs/ammo.wasm.js b/apps/artcraft-web-app/app/public/jsm/libs/ammo.wasm.js index 46ab297aee..b77036e447 100644 --- a/apps/artcraft-web-app/app/public/jsm/libs/ammo.wasm.js +++ b/apps/artcraft-web-app/app/public/jsm/libs/ammo.wasm.js @@ -1,921 +1,16775 @@ // This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed. var Ammo = (() => { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; - return ( -function(Ammo = {}) { + var _scriptDir = + typeof document !== "undefined" && document.currentScript + ? document.currentScript.src + : undefined; + if (typeof __filename !== "undefined") _scriptDir = _scriptDir || __filename; + return function (Ammo = {}) { + var b; + b || (b = typeof Ammo !== "undefined" ? Ammo : {}); + var aa, ba; + b.ready = new Promise(function (a, c) { + aa = a; + ba = c; + }); + var ca = Object.assign({}, b), + da = "object" == typeof window, + ea = "function" == typeof importScripts, + fa = + "object" == typeof process && + "object" == typeof process.versions && + "string" == typeof process.versions.node, + ha = "", + ia, + ja, + ka; + if (fa) { + var fs = require("fs"), + la = require("path"); + ha = ea ? la.dirname(ha) + "/" : __dirname + "/"; + ia = (a, c) => { + a = a.startsWith("file://") ? new URL(a) : la.normalize(a); + return fs.readFileSync(a, c ? void 0 : "utf8"); + }; + ka = (a) => { + a = ia(a, !0); + a.buffer || (a = new Uint8Array(a)); + return a; + }; + ja = (a, c, d) => { + a = a.startsWith("file://") ? new URL(a) : la.normalize(a); + fs.readFile(a, function (e, g) { + e ? d(e) : c(g.buffer); + }); + }; + 1 < process.argv.length && process.argv[1].replace(/\\/g, "/"); + process.argv.slice(2); + b.inspect = function () { + return "[Emscripten Module object]"; + }; + } else if (da || ea) + (ea + ? (ha = self.location.href) + : "undefined" != typeof document && + document.currentScript && + (ha = document.currentScript.src), + _scriptDir && (ha = _scriptDir), + (ha = + 0 !== ha.indexOf("blob:") + ? ha.substr(0, ha.replace(/[?#].*/, "").lastIndexOf("/") + 1) + : ""), + (ia = (a) => { + var c = new XMLHttpRequest(); + c.open("GET", a, !1); + c.send(null); + return c.responseText; + }), + ea && + (ka = (a) => { + var c = new XMLHttpRequest(); + c.open("GET", a, !1); + c.responseType = "arraybuffer"; + c.send(null); + return new Uint8Array(c.response); + }), + (ja = (a, c, d) => { + var e = new XMLHttpRequest(); + e.open("GET", a, !0); + e.responseType = "arraybuffer"; + e.onload = () => { + 200 == e.status || (0 == e.status && e.response) + ? c(e.response) + : d(); + }; + e.onerror = d; + e.send(null); + })); + b.print || console.log.bind(console); + var ma = b.printErr || console.warn.bind(console); + Object.assign(b, ca); + ca = null; + var na; + b.wasmBinary && (na = b.wasmBinary); + var noExitRuntime = b.noExitRuntime || !0; + "object" != typeof WebAssembly && oa("no native wasm support detected"); + var pa, + qa = !1, + ra = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0; + function sa(a, c) { + if (a) { + var d = ta, + e = a + c; + for (c = a; d[c] && !(c >= e);) ++c; + if (16 < c - a && d.buffer && ra) a = ra.decode(d.subarray(a, c)); + else { + for (e = ""; a < c;) { + var g = d[a++]; + if (g & 128) { + var n = d[a++] & 63; + if (192 == (g & 224)) + e += String.fromCharCode(((g & 31) << 6) | n); + else { + var z = d[a++] & 63; + g = + 224 == (g & 240) + ? ((g & 15) << 12) | (n << 6) | z + : ((g & 7) << 18) | (n << 12) | (z << 6) | (d[a++] & 63); + 65536 > g + ? (e += String.fromCharCode(g)) + : ((g -= 65536), + (e += String.fromCharCode( + 55296 | (g >> 10), + 56320 | (g & 1023), + ))); + } + } else e += String.fromCharCode(g); + } + a = e; + } + } else a = ""; + return a; + } + var ua, + ta, + va, + wa, + xa, + ya, + za = [], + Aa = [], + Ba = [], + Ca = !1; + function Ea() { + var a = b.preRun.shift(); + za.unshift(a); + } + var Fa = 0, + Ga = null, + Ha = null; + function oa(a) { + if (b.onAbort) b.onAbort(a); + a = "Aborted(" + a + ")"; + ma(a); + qa = !0; + a = new WebAssembly.RuntimeError( + a + ". Build with -sASSERTIONS for more info.", + ); + ba(a); + throw a; + } + function Ia(a) { + return a.startsWith("data:application/octet-stream;base64,"); + } + var Ja; + Ja = "ammo.wasm.wasm"; + if (!Ia(Ja)) { + var Ka = Ja; + Ja = b.locateFile ? b.locateFile(Ka, ha) : ha + Ka; + } + function La(a) { + try { + if (a == Ja && na) return new Uint8Array(na); + if (ka) return ka(a); + throw "both async and sync fetching of the wasm failed"; + } catch (c) { + oa(c); + } + } + function Ma(a) { + if (!na && (da || ea)) { + if ("function" == typeof fetch && !a.startsWith("file://")) + return fetch(a, { credentials: "same-origin" }) + .then(function (c) { + if (!c.ok) throw "failed to load wasm binary file at '" + a + "'"; + return c.arrayBuffer(); + }) + .catch(function () { + return La(a); + }); + if (ja) + return new Promise(function (c, d) { + ja( + a, + function (e) { + c(new Uint8Array(e)); + }, + d, + ); + }); + } + return Promise.resolve().then(function () { + return La(a); + }); + } + function Na(a, c, d) { + return Ma(a) + .then(function (e) { + return WebAssembly.instantiate(e, c); + }) + .then(function (e) { + return e; + }) + .then(d, function (e) { + ma("failed to asynchronously prepare wasm: " + e); + oa(e); + }); + } + function Oa(a, c) { + var d = Ja; + return na || + "function" != typeof WebAssembly.instantiateStreaming || + Ia(d) || + d.startsWith("file://") || + fa || + "function" != typeof fetch + ? Na(d, a, c) + : fetch(d, { credentials: "same-origin" }).then(function (e) { + return WebAssembly.instantiateStreaming(e, a).then(c, function (g) { + ma("wasm streaming compile failed: " + g); + ma("falling back to ArrayBuffer instantiation"); + return Na(d, a, c); + }); + }); + } + var Pa = { + 27338: (a, c, d, e) => { + a = b.getCache(b.DebugDrawer)[a]; + if (!a.hasOwnProperty("drawLine")) + throw "a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine."; + a.drawLine(c, d, e); + }, + 27558: (a, c, d, e, g, n) => { + a = b.getCache(b.DebugDrawer)[a]; + if (!a.hasOwnProperty("drawContactPoint")) + throw "a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint."; + a.drawContactPoint(c, d, e, g, n); + }, + 27808: (a, c) => { + a = b.getCache(b.DebugDrawer)[a]; + if (!a.hasOwnProperty("reportErrorWarning")) + throw "a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning."; + a.reportErrorWarning(c); + }, + 28052: (a, c, d) => { + a = b.getCache(b.DebugDrawer)[a]; + if (!a.hasOwnProperty("draw3dText")) + throw "a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText."; + a.draw3dText(c, d); + }, + 28275: (a, c) => { + a = b.getCache(b.DebugDrawer)[a]; + if (!a.hasOwnProperty("setDebugMode")) + throw "a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode."; + a.setDebugMode(c); + }, + 28501: (a) => { + a = b.getCache(b.DebugDrawer)[a]; + if (!a.hasOwnProperty("getDebugMode")) + throw "a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode."; + return a.getDebugMode(); + }, + 28732: (a, c) => { + a = b.getCache(b.MotionState)[a]; + if (!a.hasOwnProperty("getWorldTransform")) + throw "a JSImplementation must implement all functions, you forgot MotionState::getWorldTransform."; + a.getWorldTransform(c); + }, + 28973: (a, c) => { + a = b.getCache(b.MotionState)[a]; + if (!a.hasOwnProperty("setWorldTransform")) + throw "a JSImplementation must implement all functions, you forgot MotionState::setWorldTransform."; + a.setWorldTransform(c); + }, + 29214: (a, c, d, e, g, n, z, T) => { + a = b.getCache(b.ConcreteContactResultCallback)[a]; + if (!a.hasOwnProperty("addSingleResult")) + throw "a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult."; + return a.addSingleResult(c, d, e, g, n, z, T); + }, + }; + function Qa(a) { + for (; 0 < a.length;) a.shift()(b); + } + var Ra = []; + function Sa(a, c, d) { + Ra.length = 0; + var e; + for (d >>= 2; (e = ta[c++]);) + ((d += (105 != e) & d), Ra.push(105 == e ? va[d] : xa[d++ >> 1]), ++d); + return Pa[a].apply(null, Ra); + } + var Ta = [], + Ua = void 0, + Va = [], + Wa = { + b: function () { + oa(""); + }, + f: function (a, c, d) { + return Sa(a, c, d); + }, + a: function (a, c, d) { + return Sa(a, c, d); + }, + d: function () { + return Date.now(); + }, + e: function (a, c, d) { + ta.copyWithin(a, c, c + d); + }, + c: function () { + oa("OOM"); + }, + }; + (function () { + function a(d) { + d = d.exports; + b.asm = d; + pa = b.asm.g; + var e = pa.buffer; + b.HEAP8 = ua = new Int8Array(e); + b.HEAP16 = new Int16Array(e); + b.HEAP32 = va = new Int32Array(e); + b.HEAPU8 = ta = new Uint8Array(e); + b.HEAPU16 = new Uint16Array(e); + b.HEAPU32 = new Uint32Array(e); + b.HEAPF32 = wa = new Float32Array(e); + b.HEAPF64 = xa = new Float64Array(e); + ya = b.asm.iB; + Aa.unshift(b.asm.h); + Fa--; + b.monitorRunDependencies && b.monitorRunDependencies(Fa); + 0 == Fa && + (null !== Ga && (clearInterval(Ga), (Ga = null)), + Ha && ((e = Ha), (Ha = null), e())); + return d; + } + var c = { a: Wa }; + Fa++; + b.monitorRunDependencies && b.monitorRunDependencies(Fa); + if (b.instantiateWasm) + try { + return b.instantiateWasm(c, a); + } catch (d) { + (ma("Module.instantiateWasm callback failed with error: " + d), + ba(d)); + } + Oa(c, function (d) { + a(d.instance); + }).catch(ba); + return {}; + })(); + var Xa = (b._emscripten_bind_btCollisionShape_setLocalScaling_1 = + function () { + return (Xa = b._emscripten_bind_btCollisionShape_setLocalScaling_1 = + b.asm.i).apply(null, arguments); + }), + Ya = (b._emscripten_bind_btCollisionShape_getLocalScaling_0 = + function () { + return (Ya = b._emscripten_bind_btCollisionShape_getLocalScaling_0 = + b.asm.j).apply(null, arguments); + }), + Za = (b._emscripten_bind_btCollisionShape_calculateLocalInertia_2 = + function () { + return (Za = + b._emscripten_bind_btCollisionShape_calculateLocalInertia_2 = + b.asm.k).apply(null, arguments); + }), + $a = (b._emscripten_bind_btCollisionShape_setMargin_1 = function () { + return ($a = b._emscripten_bind_btCollisionShape_setMargin_1 = + b.asm.l).apply(null, arguments); + }), + ab = (b._emscripten_bind_btCollisionShape_getMargin_0 = function () { + return (ab = b._emscripten_bind_btCollisionShape_getMargin_0 = + b.asm.m).apply(null, arguments); + }), + bb = (b._emscripten_bind_btCollisionShape___destroy___0 = function () { + return (bb = b._emscripten_bind_btCollisionShape___destroy___0 = + b.asm.n).apply(null, arguments); + }), + cb = (b._emscripten_bind_btCollisionWorld_getDispatcher_0 = function () { + return (cb = b._emscripten_bind_btCollisionWorld_getDispatcher_0 = + b.asm.o).apply(null, arguments); + }), + db = (b._emscripten_bind_btCollisionWorld_rayTest_3 = function () { + return (db = b._emscripten_bind_btCollisionWorld_rayTest_3 = + b.asm.p).apply(null, arguments); + }), + eb = (b._emscripten_bind_btCollisionWorld_getPairCache_0 = function () { + return (eb = b._emscripten_bind_btCollisionWorld_getPairCache_0 = + b.asm.q).apply(null, arguments); + }), + fb = (b._emscripten_bind_btCollisionWorld_getDispatchInfo_0 = + function () { + return (fb = b._emscripten_bind_btCollisionWorld_getDispatchInfo_0 = + b.asm.r).apply(null, arguments); + }), + gb = (b._emscripten_bind_btCollisionWorld_addCollisionObject_1 = + function () { + return (gb = + b._emscripten_bind_btCollisionWorld_addCollisionObject_1 = + b.asm.s).apply(null, arguments); + }), + hb = (b._emscripten_bind_btCollisionWorld_addCollisionObject_2 = + function () { + return (hb = + b._emscripten_bind_btCollisionWorld_addCollisionObject_2 = + b.asm.t).apply(null, arguments); + }), + ib = (b._emscripten_bind_btCollisionWorld_addCollisionObject_3 = + function () { + return (ib = + b._emscripten_bind_btCollisionWorld_addCollisionObject_3 = + b.asm.u).apply(null, arguments); + }), + jb = (b._emscripten_bind_btCollisionWorld_removeCollisionObject_1 = + function () { + return (jb = + b._emscripten_bind_btCollisionWorld_removeCollisionObject_1 = + b.asm.v).apply(null, arguments); + }), + kb = (b._emscripten_bind_btCollisionWorld_getBroadphase_0 = function () { + return (kb = b._emscripten_bind_btCollisionWorld_getBroadphase_0 = + b.asm.w).apply(null, arguments); + }), + lb = (b._emscripten_bind_btCollisionWorld_convexSweepTest_5 = + function () { + return (lb = b._emscripten_bind_btCollisionWorld_convexSweepTest_5 = + b.asm.x).apply(null, arguments); + }), + mb = (b._emscripten_bind_btCollisionWorld_contactPairTest_3 = + function () { + return (mb = b._emscripten_bind_btCollisionWorld_contactPairTest_3 = + b.asm.y).apply(null, arguments); + }), + nb = (b._emscripten_bind_btCollisionWorld_contactTest_2 = function () { + return (nb = b._emscripten_bind_btCollisionWorld_contactTest_2 = + b.asm.z).apply(null, arguments); + }), + ob = (b._emscripten_bind_btCollisionWorld_updateSingleAabb_1 = + function () { + return (ob = b._emscripten_bind_btCollisionWorld_updateSingleAabb_1 = + b.asm.A).apply(null, arguments); + }), + pb = (b._emscripten_bind_btCollisionWorld_setDebugDrawer_1 = function () { + return (pb = b._emscripten_bind_btCollisionWorld_setDebugDrawer_1 = + b.asm.B).apply(null, arguments); + }), + qb = (b._emscripten_bind_btCollisionWorld_getDebugDrawer_0 = function () { + return (qb = b._emscripten_bind_btCollisionWorld_getDebugDrawer_0 = + b.asm.C).apply(null, arguments); + }), + rb = (b._emscripten_bind_btCollisionWorld_debugDrawWorld_0 = function () { + return (rb = b._emscripten_bind_btCollisionWorld_debugDrawWorld_0 = + b.asm.D).apply(null, arguments); + }), + sb = (b._emscripten_bind_btCollisionWorld_debugDrawObject_3 = + function () { + return (sb = b._emscripten_bind_btCollisionWorld_debugDrawObject_3 = + b.asm.E).apply(null, arguments); + }), + tb = (b._emscripten_bind_btCollisionWorld___destroy___0 = function () { + return (tb = b._emscripten_bind_btCollisionWorld___destroy___0 = + b.asm.F).apply(null, arguments); + }), + ub = (b._emscripten_bind_btCollisionObject_setAnisotropicFriction_2 = + function () { + return (ub = + b._emscripten_bind_btCollisionObject_setAnisotropicFriction_2 = + b.asm.G).apply(null, arguments); + }), + vb = (b._emscripten_bind_btCollisionObject_getCollisionShape_0 = + function () { + return (vb = + b._emscripten_bind_btCollisionObject_getCollisionShape_0 = + b.asm.H).apply(null, arguments); + }), + wb = + (b._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1 = + function () { + return (wb = + b._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1 = + b.asm.I).apply(null, arguments); + }), + xb = (b._emscripten_bind_btCollisionObject_setActivationState_1 = + function () { + return (xb = + b._emscripten_bind_btCollisionObject_setActivationState_1 = + b.asm.J).apply(null, arguments); + }), + yb = (b._emscripten_bind_btCollisionObject_forceActivationState_1 = + function () { + return (yb = + b._emscripten_bind_btCollisionObject_forceActivationState_1 = + b.asm.K).apply(null, arguments); + }), + zb = (b._emscripten_bind_btCollisionObject_activate_0 = function () { + return (zb = b._emscripten_bind_btCollisionObject_activate_0 = + b.asm.L).apply(null, arguments); + }), + Ab = (b._emscripten_bind_btCollisionObject_activate_1 = function () { + return (Ab = b._emscripten_bind_btCollisionObject_activate_1 = + b.asm.M).apply(null, arguments); + }), + Bb = (b._emscripten_bind_btCollisionObject_isActive_0 = function () { + return (Bb = b._emscripten_bind_btCollisionObject_isActive_0 = + b.asm.N).apply(null, arguments); + }), + Cb = (b._emscripten_bind_btCollisionObject_isKinematicObject_0 = + function () { + return (Cb = + b._emscripten_bind_btCollisionObject_isKinematicObject_0 = + b.asm.O).apply(null, arguments); + }), + Db = (b._emscripten_bind_btCollisionObject_isStaticObject_0 = + function () { + return (Db = b._emscripten_bind_btCollisionObject_isStaticObject_0 = + b.asm.P).apply(null, arguments); + }), + Eb = (b._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0 = + function () { + return (Eb = + b._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0 = + b.asm.Q).apply(null, arguments); + }), + Fb = (b._emscripten_bind_btCollisionObject_getRestitution_0 = + function () { + return (Fb = b._emscripten_bind_btCollisionObject_getRestitution_0 = + b.asm.R).apply(null, arguments); + }), + Gb = (b._emscripten_bind_btCollisionObject_getFriction_0 = function () { + return (Gb = b._emscripten_bind_btCollisionObject_getFriction_0 = + b.asm.S).apply(null, arguments); + }), + Hb = (b._emscripten_bind_btCollisionObject_getRollingFriction_0 = + function () { + return (Hb = + b._emscripten_bind_btCollisionObject_getRollingFriction_0 = + b.asm.T).apply(null, arguments); + }), + Ib = (b._emscripten_bind_btCollisionObject_setRestitution_1 = + function () { + return (Ib = b._emscripten_bind_btCollisionObject_setRestitution_1 = + b.asm.U).apply(null, arguments); + }), + Jb = (b._emscripten_bind_btCollisionObject_setFriction_1 = function () { + return (Jb = b._emscripten_bind_btCollisionObject_setFriction_1 = + b.asm.V).apply(null, arguments); + }), + Kb = (b._emscripten_bind_btCollisionObject_setRollingFriction_1 = + function () { + return (Kb = + b._emscripten_bind_btCollisionObject_setRollingFriction_1 = + b.asm.W).apply(null, arguments); + }), + Lb = (b._emscripten_bind_btCollisionObject_getWorldTransform_0 = + function () { + return (Lb = + b._emscripten_bind_btCollisionObject_getWorldTransform_0 = + b.asm.X).apply(null, arguments); + }), + Mb = (b._emscripten_bind_btCollisionObject_getCollisionFlags_0 = + function () { + return (Mb = + b._emscripten_bind_btCollisionObject_getCollisionFlags_0 = + b.asm.Y).apply(null, arguments); + }), + Nb = (b._emscripten_bind_btCollisionObject_setCollisionFlags_1 = + function () { + return (Nb = + b._emscripten_bind_btCollisionObject_setCollisionFlags_1 = + b.asm.Z).apply(null, arguments); + }), + Ob = (b._emscripten_bind_btCollisionObject_setWorldTransform_1 = + function () { + return (Ob = + b._emscripten_bind_btCollisionObject_setWorldTransform_1 = + b.asm._).apply(null, arguments); + }), + Pb = (b._emscripten_bind_btCollisionObject_setCollisionShape_1 = + function () { + return (Pb = + b._emscripten_bind_btCollisionObject_setCollisionShape_1 = + b.asm.$).apply(null, arguments); + }), + Qb = (b._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1 = + function () { + return (Qb = + b._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1 = + b.asm.aa).apply(null, arguments); + }), + Rb = (b._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1 = + function () { + return (Rb = + b._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1 = + b.asm.ba).apply(null, arguments); + }), + Sb = (b._emscripten_bind_btCollisionObject_getUserIndex_0 = function () { + return (Sb = b._emscripten_bind_btCollisionObject_getUserIndex_0 = + b.asm.ca).apply(null, arguments); + }), + Tb = (b._emscripten_bind_btCollisionObject_setUserIndex_1 = function () { + return (Tb = b._emscripten_bind_btCollisionObject_setUserIndex_1 = + b.asm.da).apply(null, arguments); + }), + Ub = (b._emscripten_bind_btCollisionObject_getUserPointer_0 = + function () { + return (Ub = b._emscripten_bind_btCollisionObject_getUserPointer_0 = + b.asm.ea).apply(null, arguments); + }), + Vb = (b._emscripten_bind_btCollisionObject_setUserPointer_1 = + function () { + return (Vb = b._emscripten_bind_btCollisionObject_setUserPointer_1 = + b.asm.fa).apply(null, arguments); + }), + Wb = (b._emscripten_bind_btCollisionObject_getBroadphaseHandle_0 = + function () { + return (Wb = + b._emscripten_bind_btCollisionObject_getBroadphaseHandle_0 = + b.asm.ga).apply(null, arguments); + }), + Xb = (b._emscripten_bind_btCollisionObject___destroy___0 = function () { + return (Xb = b._emscripten_bind_btCollisionObject___destroy___0 = + b.asm.ha).apply(null, arguments); + }), + Yb = (b._emscripten_bind_btConcaveShape_setLocalScaling_1 = function () { + return (Yb = b._emscripten_bind_btConcaveShape_setLocalScaling_1 = + b.asm.ia).apply(null, arguments); + }), + Zb = (b._emscripten_bind_btConcaveShape_getLocalScaling_0 = function () { + return (Zb = b._emscripten_bind_btConcaveShape_getLocalScaling_0 = + b.asm.ja).apply(null, arguments); + }), + $b = (b._emscripten_bind_btConcaveShape_calculateLocalInertia_2 = + function () { + return ($b = + b._emscripten_bind_btConcaveShape_calculateLocalInertia_2 = + b.asm.ka).apply(null, arguments); + }), + ac = (b._emscripten_bind_btConcaveShape___destroy___0 = function () { + return (ac = b._emscripten_bind_btConcaveShape___destroy___0 = + b.asm.la).apply(null, arguments); + }), + bc = (b._emscripten_bind_btCollisionAlgorithm___destroy___0 = + function () { + return (bc = b._emscripten_bind_btCollisionAlgorithm___destroy___0 = + b.asm.ma).apply(null, arguments); + }), + cc = (b._emscripten_bind_btTypedConstraint_enableFeedback_1 = + function () { + return (cc = b._emscripten_bind_btTypedConstraint_enableFeedback_1 = + b.asm.na).apply(null, arguments); + }), + ec = (b._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0 = + function () { + return (ec = + b._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0 = + b.asm.oa).apply(null, arguments); + }), + fc = (b._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1 = + function () { + return (fc = + b._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1 = + b.asm.pa).apply(null, arguments); + }), + gc = (b._emscripten_bind_btTypedConstraint_getParam_2 = function () { + return (gc = b._emscripten_bind_btTypedConstraint_getParam_2 = + b.asm.qa).apply(null, arguments); + }), + hc = (b._emscripten_bind_btTypedConstraint_setParam_3 = function () { + return (hc = b._emscripten_bind_btTypedConstraint_setParam_3 = + b.asm.ra).apply(null, arguments); + }), + ic = (b._emscripten_bind_btTypedConstraint___destroy___0 = function () { + return (ic = b._emscripten_bind_btTypedConstraint___destroy___0 = + b.asm.sa).apply(null, arguments); + }), + jc = (b._emscripten_bind_btDynamicsWorld_addAction_1 = function () { + return (jc = b._emscripten_bind_btDynamicsWorld_addAction_1 = + b.asm.ta).apply(null, arguments); + }), + kc = (b._emscripten_bind_btDynamicsWorld_removeAction_1 = function () { + return (kc = b._emscripten_bind_btDynamicsWorld_removeAction_1 = + b.asm.ua).apply(null, arguments); + }), + lc = (b._emscripten_bind_btDynamicsWorld_getSolverInfo_0 = function () { + return (lc = b._emscripten_bind_btDynamicsWorld_getSolverInfo_0 = + b.asm.va).apply(null, arguments); + }), + mc = (b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_1 = + function () { + return (mc = + b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_1 = + b.asm.wa).apply(null, arguments); + }), + nc = (b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_2 = + function () { + return (nc = + b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_2 = + b.asm.xa).apply(null, arguments); + }), + oc = (b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_3 = + function () { + return (oc = + b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_3 = + b.asm.ya).apply(null, arguments); + }), + pc = (b._emscripten_bind_btDynamicsWorld_getDispatcher_0 = function () { + return (pc = b._emscripten_bind_btDynamicsWorld_getDispatcher_0 = + b.asm.za).apply(null, arguments); + }), + qc = (b._emscripten_bind_btDynamicsWorld_rayTest_3 = function () { + return (qc = b._emscripten_bind_btDynamicsWorld_rayTest_3 = + b.asm.Aa).apply(null, arguments); + }), + rc = (b._emscripten_bind_btDynamicsWorld_getPairCache_0 = function () { + return (rc = b._emscripten_bind_btDynamicsWorld_getPairCache_0 = + b.asm.Ba).apply(null, arguments); + }), + sc = (b._emscripten_bind_btDynamicsWorld_getDispatchInfo_0 = function () { + return (sc = b._emscripten_bind_btDynamicsWorld_getDispatchInfo_0 = + b.asm.Ca).apply(null, arguments); + }), + tc = (b._emscripten_bind_btDynamicsWorld_addCollisionObject_1 = + function () { + return (tc = b._emscripten_bind_btDynamicsWorld_addCollisionObject_1 = + b.asm.Da).apply(null, arguments); + }), + uc = (b._emscripten_bind_btDynamicsWorld_addCollisionObject_2 = + function () { + return (uc = b._emscripten_bind_btDynamicsWorld_addCollisionObject_2 = + b.asm.Ea).apply(null, arguments); + }), + vc = (b._emscripten_bind_btDynamicsWorld_addCollisionObject_3 = + function () { + return (vc = b._emscripten_bind_btDynamicsWorld_addCollisionObject_3 = + b.asm.Fa).apply(null, arguments); + }), + wc = (b._emscripten_bind_btDynamicsWorld_removeCollisionObject_1 = + function () { + return (wc = + b._emscripten_bind_btDynamicsWorld_removeCollisionObject_1 = + b.asm.Ga).apply(null, arguments); + }), + xc = (b._emscripten_bind_btDynamicsWorld_getBroadphase_0 = function () { + return (xc = b._emscripten_bind_btDynamicsWorld_getBroadphase_0 = + b.asm.Ha).apply(null, arguments); + }), + yc = (b._emscripten_bind_btDynamicsWorld_convexSweepTest_5 = function () { + return (yc = b._emscripten_bind_btDynamicsWorld_convexSweepTest_5 = + b.asm.Ia).apply(null, arguments); + }), + zc = (b._emscripten_bind_btDynamicsWorld_contactPairTest_3 = function () { + return (zc = b._emscripten_bind_btDynamicsWorld_contactPairTest_3 = + b.asm.Ja).apply(null, arguments); + }), + Ac = (b._emscripten_bind_btDynamicsWorld_contactTest_2 = function () { + return (Ac = b._emscripten_bind_btDynamicsWorld_contactTest_2 = + b.asm.Ka).apply(null, arguments); + }), + Bc = (b._emscripten_bind_btDynamicsWorld_updateSingleAabb_1 = + function () { + return (Bc = b._emscripten_bind_btDynamicsWorld_updateSingleAabb_1 = + b.asm.La).apply(null, arguments); + }), + Cc = (b._emscripten_bind_btDynamicsWorld_setDebugDrawer_1 = function () { + return (Cc = b._emscripten_bind_btDynamicsWorld_setDebugDrawer_1 = + b.asm.Ma).apply(null, arguments); + }), + Dc = (b._emscripten_bind_btDynamicsWorld_getDebugDrawer_0 = function () { + return (Dc = b._emscripten_bind_btDynamicsWorld_getDebugDrawer_0 = + b.asm.Na).apply(null, arguments); + }), + Ec = (b._emscripten_bind_btDynamicsWorld_debugDrawWorld_0 = function () { + return (Ec = b._emscripten_bind_btDynamicsWorld_debugDrawWorld_0 = + b.asm.Oa).apply(null, arguments); + }), + Fc = (b._emscripten_bind_btDynamicsWorld_debugDrawObject_3 = function () { + return (Fc = b._emscripten_bind_btDynamicsWorld_debugDrawObject_3 = + b.asm.Pa).apply(null, arguments); + }), + Gc = (b._emscripten_bind_btDynamicsWorld___destroy___0 = function () { + return (Gc = b._emscripten_bind_btDynamicsWorld___destroy___0 = + b.asm.Qa).apply(null, arguments); + }), + Hc = (b._emscripten_bind_btIDebugDraw_drawLine_3 = function () { + return (Hc = b._emscripten_bind_btIDebugDraw_drawLine_3 = + b.asm.Ra).apply(null, arguments); + }), + Ic = (b._emscripten_bind_btIDebugDraw_drawContactPoint_5 = function () { + return (Ic = b._emscripten_bind_btIDebugDraw_drawContactPoint_5 = + b.asm.Sa).apply(null, arguments); + }), + Jc = (b._emscripten_bind_btIDebugDraw_reportErrorWarning_1 = function () { + return (Jc = b._emscripten_bind_btIDebugDraw_reportErrorWarning_1 = + b.asm.Ta).apply(null, arguments); + }), + Kc = (b._emscripten_bind_btIDebugDraw_draw3dText_2 = function () { + return (Kc = b._emscripten_bind_btIDebugDraw_draw3dText_2 = + b.asm.Ua).apply(null, arguments); + }), + Lc = (b._emscripten_bind_btIDebugDraw_setDebugMode_1 = function () { + return (Lc = b._emscripten_bind_btIDebugDraw_setDebugMode_1 = + b.asm.Va).apply(null, arguments); + }), + Mc = (b._emscripten_bind_btIDebugDraw_getDebugMode_0 = function () { + return (Mc = b._emscripten_bind_btIDebugDraw_getDebugMode_0 = + b.asm.Wa).apply(null, arguments); + }), + Nc = (b._emscripten_bind_btIDebugDraw___destroy___0 = function () { + return (Nc = b._emscripten_bind_btIDebugDraw___destroy___0 = + b.asm.Xa).apply(null, arguments); + }), + Oc = (b._emscripten_bind_btVector3_btVector3_0 = function () { + return (Oc = b._emscripten_bind_btVector3_btVector3_0 = b.asm.Ya).apply( + null, + arguments, + ); + }), + Pc = (b._emscripten_bind_btVector3_btVector3_3 = function () { + return (Pc = b._emscripten_bind_btVector3_btVector3_3 = b.asm.Za).apply( + null, + arguments, + ); + }), + Qc = (b._emscripten_bind_btVector3_length_0 = function () { + return (Qc = b._emscripten_bind_btVector3_length_0 = b.asm._a).apply( + null, + arguments, + ); + }), + Rc = (b._emscripten_bind_btVector3_x_0 = function () { + return (Rc = b._emscripten_bind_btVector3_x_0 = b.asm.$a).apply( + null, + arguments, + ); + }), + Sc = (b._emscripten_bind_btVector3_y_0 = function () { + return (Sc = b._emscripten_bind_btVector3_y_0 = b.asm.ab).apply( + null, + arguments, + ); + }), + Tc = (b._emscripten_bind_btVector3_z_0 = function () { + return (Tc = b._emscripten_bind_btVector3_z_0 = b.asm.bb).apply( + null, + arguments, + ); + }), + Uc = (b._emscripten_bind_btVector3_setX_1 = function () { + return (Uc = b._emscripten_bind_btVector3_setX_1 = b.asm.cb).apply( + null, + arguments, + ); + }), + Vc = (b._emscripten_bind_btVector3_setY_1 = function () { + return (Vc = b._emscripten_bind_btVector3_setY_1 = b.asm.db).apply( + null, + arguments, + ); + }), + Wc = (b._emscripten_bind_btVector3_setZ_1 = function () { + return (Wc = b._emscripten_bind_btVector3_setZ_1 = b.asm.eb).apply( + null, + arguments, + ); + }), + Xc = (b._emscripten_bind_btVector3_setValue_3 = function () { + return (Xc = b._emscripten_bind_btVector3_setValue_3 = b.asm.fb).apply( + null, + arguments, + ); + }), + Yc = (b._emscripten_bind_btVector3_normalize_0 = function () { + return (Yc = b._emscripten_bind_btVector3_normalize_0 = b.asm.gb).apply( + null, + arguments, + ); + }), + Zc = (b._emscripten_bind_btVector3_rotate_2 = function () { + return (Zc = b._emscripten_bind_btVector3_rotate_2 = b.asm.hb).apply( + null, + arguments, + ); + }), + $c = (b._emscripten_bind_btVector3_dot_1 = function () { + return ($c = b._emscripten_bind_btVector3_dot_1 = b.asm.ib).apply( + null, + arguments, + ); + }), + ad = (b._emscripten_bind_btVector3_op_mul_1 = function () { + return (ad = b._emscripten_bind_btVector3_op_mul_1 = b.asm.jb).apply( + null, + arguments, + ); + }), + bd = (b._emscripten_bind_btVector3_op_add_1 = function () { + return (bd = b._emscripten_bind_btVector3_op_add_1 = b.asm.kb).apply( + null, + arguments, + ); + }), + cd = (b._emscripten_bind_btVector3_op_sub_1 = function () { + return (cd = b._emscripten_bind_btVector3_op_sub_1 = b.asm.lb).apply( + null, + arguments, + ); + }), + dd = (b._emscripten_bind_btVector3___destroy___0 = function () { + return (dd = b._emscripten_bind_btVector3___destroy___0 = + b.asm.mb).apply(null, arguments); + }), + ed = (b._emscripten_bind_btQuadWord_x_0 = function () { + return (ed = b._emscripten_bind_btQuadWord_x_0 = b.asm.nb).apply( + null, + arguments, + ); + }), + fd = (b._emscripten_bind_btQuadWord_y_0 = function () { + return (fd = b._emscripten_bind_btQuadWord_y_0 = b.asm.ob).apply( + null, + arguments, + ); + }), + gd = (b._emscripten_bind_btQuadWord_z_0 = function () { + return (gd = b._emscripten_bind_btQuadWord_z_0 = b.asm.pb).apply( + null, + arguments, + ); + }), + hd = (b._emscripten_bind_btQuadWord_w_0 = function () { + return (hd = b._emscripten_bind_btQuadWord_w_0 = b.asm.qb).apply( + null, + arguments, + ); + }), + jd = (b._emscripten_bind_btQuadWord_setX_1 = function () { + return (jd = b._emscripten_bind_btQuadWord_setX_1 = b.asm.rb).apply( + null, + arguments, + ); + }), + kd = (b._emscripten_bind_btQuadWord_setY_1 = function () { + return (kd = b._emscripten_bind_btQuadWord_setY_1 = b.asm.sb).apply( + null, + arguments, + ); + }), + ld = (b._emscripten_bind_btQuadWord_setZ_1 = function () { + return (ld = b._emscripten_bind_btQuadWord_setZ_1 = b.asm.tb).apply( + null, + arguments, + ); + }), + md = (b._emscripten_bind_btQuadWord_setW_1 = function () { + return (md = b._emscripten_bind_btQuadWord_setW_1 = b.asm.ub).apply( + null, + arguments, + ); + }), + nd = (b._emscripten_bind_btQuadWord___destroy___0 = function () { + return (nd = b._emscripten_bind_btQuadWord___destroy___0 = + b.asm.vb).apply(null, arguments); + }), + od = (b._emscripten_bind_btMotionState_getWorldTransform_1 = function () { + return (od = b._emscripten_bind_btMotionState_getWorldTransform_1 = + b.asm.wb).apply(null, arguments); + }), + pd = (b._emscripten_bind_btMotionState_setWorldTransform_1 = function () { + return (pd = b._emscripten_bind_btMotionState_setWorldTransform_1 = + b.asm.xb).apply(null, arguments); + }), + qd = (b._emscripten_bind_btMotionState___destroy___0 = function () { + return (qd = b._emscripten_bind_btMotionState___destroy___0 = + b.asm.yb).apply(null, arguments); + }), + rd = (b._emscripten_bind_RayResultCallback_hasHit_0 = function () { + return (rd = b._emscripten_bind_RayResultCallback_hasHit_0 = + b.asm.zb).apply(null, arguments); + }), + sd = (b._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0 = + function () { + return (sd = + b._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0 = + b.asm.Ab).apply(null, arguments); + }), + td = (b._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1 = + function () { + return (td = + b._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1 = + b.asm.Bb).apply(null, arguments); + }), + ud = (b._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0 = + function () { + return (ud = + b._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0 = + b.asm.Cb).apply(null, arguments); + }), + vd = (b._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1 = + function () { + return (vd = + b._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1 = + b.asm.Db).apply(null, arguments); + }), + wd = (b._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0 = + function () { + return (wd = + b._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0 = + b.asm.Eb).apply(null, arguments); + }), + xd = (b._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1 = + function () { + return (xd = + b._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1 = + b.asm.Fb).apply(null, arguments); + }), + yd = (b._emscripten_bind_RayResultCallback_get_m_collisionObject_0 = + function () { + return (yd = + b._emscripten_bind_RayResultCallback_get_m_collisionObject_0 = + b.asm.Gb).apply(null, arguments); + }), + zd = (b._emscripten_bind_RayResultCallback_set_m_collisionObject_1 = + function () { + return (zd = + b._emscripten_bind_RayResultCallback_set_m_collisionObject_1 = + b.asm.Hb).apply(null, arguments); + }), + Ad = (b._emscripten_bind_RayResultCallback_get_m_flags_0 = function () { + return (Ad = b._emscripten_bind_RayResultCallback_get_m_flags_0 = + b.asm.Ib).apply(null, arguments); + }), + Bd = (b._emscripten_bind_RayResultCallback_set_m_flags_1 = function () { + return (Bd = b._emscripten_bind_RayResultCallback_set_m_flags_1 = + b.asm.Jb).apply(null, arguments); + }), + Cd = (b._emscripten_bind_RayResultCallback___destroy___0 = function () { + return (Cd = b._emscripten_bind_RayResultCallback___destroy___0 = + b.asm.Kb).apply(null, arguments); + }), + Dd = (b._emscripten_bind_ContactResultCallback_addSingleResult_7 = + function () { + return (Dd = + b._emscripten_bind_ContactResultCallback_addSingleResult_7 = + b.asm.Lb).apply(null, arguments); + }), + Ed = (b._emscripten_bind_ContactResultCallback___destroy___0 = + function () { + return (Ed = b._emscripten_bind_ContactResultCallback___destroy___0 = + b.asm.Mb).apply(null, arguments); + }), + Fd = (b._emscripten_bind_ConvexResultCallback_hasHit_0 = function () { + return (Fd = b._emscripten_bind_ConvexResultCallback_hasHit_0 = + b.asm.Nb).apply(null, arguments); + }), + Gd = + (b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0 = + function () { + return (Gd = + b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0 = + b.asm.Ob).apply(null, arguments); + }), + Hd = + (b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1 = + function () { + return (Hd = + b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1 = + b.asm.Pb).apply(null, arguments); + }), + Id = + (b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0 = + function () { + return (Id = + b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0 = + b.asm.Qb).apply(null, arguments); + }), + Jd = + (b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1 = + function () { + return (Jd = + b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1 = + b.asm.Rb).apply(null, arguments); + }), + Kd = (b._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0 = + function () { + return (Kd = + b._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0 = + b.asm.Sb).apply(null, arguments); + }), + Ld = (b._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1 = + function () { + return (Ld = + b._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1 = + b.asm.Tb).apply(null, arguments); + }), + Md = (b._emscripten_bind_ConvexResultCallback___destroy___0 = + function () { + return (Md = b._emscripten_bind_ConvexResultCallback___destroy___0 = + b.asm.Ub).apply(null, arguments); + }), + Nd = (b._emscripten_bind_btConvexShape_setLocalScaling_1 = function () { + return (Nd = b._emscripten_bind_btConvexShape_setLocalScaling_1 = + b.asm.Vb).apply(null, arguments); + }), + Od = (b._emscripten_bind_btConvexShape_getLocalScaling_0 = function () { + return (Od = b._emscripten_bind_btConvexShape_getLocalScaling_0 = + b.asm.Wb).apply(null, arguments); + }), + Pd = (b._emscripten_bind_btConvexShape_calculateLocalInertia_2 = + function () { + return (Pd = + b._emscripten_bind_btConvexShape_calculateLocalInertia_2 = + b.asm.Xb).apply(null, arguments); + }), + Qd = (b._emscripten_bind_btConvexShape_setMargin_1 = function () { + return (Qd = b._emscripten_bind_btConvexShape_setMargin_1 = + b.asm.Yb).apply(null, arguments); + }), + Rd = (b._emscripten_bind_btConvexShape_getMargin_0 = function () { + return (Rd = b._emscripten_bind_btConvexShape_getMargin_0 = + b.asm.Zb).apply(null, arguments); + }), + Sd = (b._emscripten_bind_btConvexShape___destroy___0 = function () { + return (Sd = b._emscripten_bind_btConvexShape___destroy___0 = + b.asm._b).apply(null, arguments); + }), + Td = (b._emscripten_bind_btCapsuleShape_btCapsuleShape_2 = function () { + return (Td = b._emscripten_bind_btCapsuleShape_btCapsuleShape_2 = + b.asm.$b).apply(null, arguments); + }), + Ud = (b._emscripten_bind_btCapsuleShape_setMargin_1 = function () { + return (Ud = b._emscripten_bind_btCapsuleShape_setMargin_1 = + b.asm.ac).apply(null, arguments); + }), + Vd = (b._emscripten_bind_btCapsuleShape_getMargin_0 = function () { + return (Vd = b._emscripten_bind_btCapsuleShape_getMargin_0 = + b.asm.bc).apply(null, arguments); + }), + Wd = (b._emscripten_bind_btCapsuleShape_getUpAxis_0 = function () { + return (Wd = b._emscripten_bind_btCapsuleShape_getUpAxis_0 = + b.asm.cc).apply(null, arguments); + }), + Xd = (b._emscripten_bind_btCapsuleShape_getRadius_0 = function () { + return (Xd = b._emscripten_bind_btCapsuleShape_getRadius_0 = + b.asm.dc).apply(null, arguments); + }), + Yd = (b._emscripten_bind_btCapsuleShape_getHalfHeight_0 = function () { + return (Yd = b._emscripten_bind_btCapsuleShape_getHalfHeight_0 = + b.asm.ec).apply(null, arguments); + }), + Zd = (b._emscripten_bind_btCapsuleShape_setLocalScaling_1 = function () { + return (Zd = b._emscripten_bind_btCapsuleShape_setLocalScaling_1 = + b.asm.fc).apply(null, arguments); + }), + $d = (b._emscripten_bind_btCapsuleShape_getLocalScaling_0 = function () { + return ($d = b._emscripten_bind_btCapsuleShape_getLocalScaling_0 = + b.asm.gc).apply(null, arguments); + }), + ae = (b._emscripten_bind_btCapsuleShape_calculateLocalInertia_2 = + function () { + return (ae = + b._emscripten_bind_btCapsuleShape_calculateLocalInertia_2 = + b.asm.hc).apply(null, arguments); + }), + be = (b._emscripten_bind_btCapsuleShape___destroy___0 = function () { + return (be = b._emscripten_bind_btCapsuleShape___destroy___0 = + b.asm.ic).apply(null, arguments); + }), + ce = (b._emscripten_bind_btCylinderShape_btCylinderShape_1 = function () { + return (ce = b._emscripten_bind_btCylinderShape_btCylinderShape_1 = + b.asm.jc).apply(null, arguments); + }), + de = (b._emscripten_bind_btCylinderShape_setMargin_1 = function () { + return (de = b._emscripten_bind_btCylinderShape_setMargin_1 = + b.asm.kc).apply(null, arguments); + }), + ee = (b._emscripten_bind_btCylinderShape_getMargin_0 = function () { + return (ee = b._emscripten_bind_btCylinderShape_getMargin_0 = + b.asm.lc).apply(null, arguments); + }), + fe = (b._emscripten_bind_btCylinderShape_setLocalScaling_1 = function () { + return (fe = b._emscripten_bind_btCylinderShape_setLocalScaling_1 = + b.asm.mc).apply(null, arguments); + }), + ge = (b._emscripten_bind_btCylinderShape_getLocalScaling_0 = function () { + return (ge = b._emscripten_bind_btCylinderShape_getLocalScaling_0 = + b.asm.nc).apply(null, arguments); + }), + he = (b._emscripten_bind_btCylinderShape_calculateLocalInertia_2 = + function () { + return (he = + b._emscripten_bind_btCylinderShape_calculateLocalInertia_2 = + b.asm.oc).apply(null, arguments); + }), + ie = (b._emscripten_bind_btCylinderShape___destroy___0 = function () { + return (ie = b._emscripten_bind_btCylinderShape___destroy___0 = + b.asm.pc).apply(null, arguments); + }), + je = (b._emscripten_bind_btConeShape_btConeShape_2 = function () { + return (je = b._emscripten_bind_btConeShape_btConeShape_2 = + b.asm.qc).apply(null, arguments); + }), + ke = (b._emscripten_bind_btConeShape_setLocalScaling_1 = function () { + return (ke = b._emscripten_bind_btConeShape_setLocalScaling_1 = + b.asm.rc).apply(null, arguments); + }), + le = (b._emscripten_bind_btConeShape_getLocalScaling_0 = function () { + return (le = b._emscripten_bind_btConeShape_getLocalScaling_0 = + b.asm.sc).apply(null, arguments); + }), + me = (b._emscripten_bind_btConeShape_calculateLocalInertia_2 = + function () { + return (me = b._emscripten_bind_btConeShape_calculateLocalInertia_2 = + b.asm.tc).apply(null, arguments); + }), + ne = (b._emscripten_bind_btConeShape___destroy___0 = function () { + return (ne = b._emscripten_bind_btConeShape___destroy___0 = + b.asm.uc).apply(null, arguments); + }), + oe = (b._emscripten_bind_btStridingMeshInterface_setScaling_1 = + function () { + return (oe = b._emscripten_bind_btStridingMeshInterface_setScaling_1 = + b.asm.vc).apply(null, arguments); + }), + pe = (b._emscripten_bind_btStridingMeshInterface___destroy___0 = + function () { + return (pe = + b._emscripten_bind_btStridingMeshInterface___destroy___0 = + b.asm.wc).apply(null, arguments); + }), + qe = (b._emscripten_bind_btTriangleMeshShape_setLocalScaling_1 = + function () { + return (qe = + b._emscripten_bind_btTriangleMeshShape_setLocalScaling_1 = + b.asm.xc).apply(null, arguments); + }), + re = (b._emscripten_bind_btTriangleMeshShape_getLocalScaling_0 = + function () { + return (re = + b._emscripten_bind_btTriangleMeshShape_getLocalScaling_0 = + b.asm.yc).apply(null, arguments); + }), + se = (b._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2 = + function () { + return (se = + b._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2 = + b.asm.zc).apply(null, arguments); + }), + te = (b._emscripten_bind_btTriangleMeshShape___destroy___0 = function () { + return (te = b._emscripten_bind_btTriangleMeshShape___destroy___0 = + b.asm.Ac).apply(null, arguments); + }), + ue = (b._emscripten_bind_btPrimitiveManagerBase_is_trimesh_0 = + function () { + return (ue = b._emscripten_bind_btPrimitiveManagerBase_is_trimesh_0 = + b.asm.Bc).apply(null, arguments); + }), + ve = (b._emscripten_bind_btPrimitiveManagerBase_get_primitive_count_0 = + function () { + return (ve = + b._emscripten_bind_btPrimitiveManagerBase_get_primitive_count_0 = + b.asm.Cc).apply(null, arguments); + }), + we = (b._emscripten_bind_btPrimitiveManagerBase_get_primitive_box_2 = + function () { + return (we = + b._emscripten_bind_btPrimitiveManagerBase_get_primitive_box_2 = + b.asm.Dc).apply(null, arguments); + }), + xe = (b._emscripten_bind_btPrimitiveManagerBase_get_primitive_triangle_2 = + function () { + return (xe = + b._emscripten_bind_btPrimitiveManagerBase_get_primitive_triangle_2 = + b.asm.Ec).apply(null, arguments); + }), + ye = (b._emscripten_bind_btPrimitiveManagerBase___destroy___0 = + function () { + return (ye = b._emscripten_bind_btPrimitiveManagerBase___destroy___0 = + b.asm.Fc).apply(null, arguments); + }), + ze = (b._emscripten_bind_btGImpactShapeInterface_updateBound_0 = + function () { + return (ze = + b._emscripten_bind_btGImpactShapeInterface_updateBound_0 = + b.asm.Gc).apply(null, arguments); + }), + Ae = (b._emscripten_bind_btGImpactShapeInterface_postUpdate_0 = + function () { + return (Ae = b._emscripten_bind_btGImpactShapeInterface_postUpdate_0 = + b.asm.Hc).apply(null, arguments); + }), + Be = (b._emscripten_bind_btGImpactShapeInterface_getShapeType_0 = + function () { + return (Be = + b._emscripten_bind_btGImpactShapeInterface_getShapeType_0 = + b.asm.Ic).apply(null, arguments); + }), + Ce = (b._emscripten_bind_btGImpactShapeInterface_getName_0 = function () { + return (Ce = b._emscripten_bind_btGImpactShapeInterface_getName_0 = + b.asm.Jc).apply(null, arguments); + }), + De = (b._emscripten_bind_btGImpactShapeInterface_getGImpactShapeType_0 = + function () { + return (De = + b._emscripten_bind_btGImpactShapeInterface_getGImpactShapeType_0 = + b.asm.Kc).apply(null, arguments); + }), + Ee = (b._emscripten_bind_btGImpactShapeInterface_getPrimitiveManager_0 = + function () { + return (Ee = + b._emscripten_bind_btGImpactShapeInterface_getPrimitiveManager_0 = + b.asm.Lc).apply(null, arguments); + }), + Fe = (b._emscripten_bind_btGImpactShapeInterface_getNumChildShapes_0 = + function () { + return (Fe = + b._emscripten_bind_btGImpactShapeInterface_getNumChildShapes_0 = + b.asm.Mc).apply(null, arguments); + }), + Ge = (b._emscripten_bind_btGImpactShapeInterface_childrenHasTransform_0 = + function () { + return (Ge = + b._emscripten_bind_btGImpactShapeInterface_childrenHasTransform_0 = + b.asm.Nc).apply(null, arguments); + }), + He = + (b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTriangles_0 = + function () { + return (He = + b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTriangles_0 = + b.asm.Oc).apply(null, arguments); + }), + Ie = + (b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTetrahedrons_0 = + function () { + return (Ie = + b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTetrahedrons_0 = + b.asm.Pc).apply(null, arguments); + }), + Je = (b._emscripten_bind_btGImpactShapeInterface_getBulletTriangle_2 = + function () { + return (Je = + b._emscripten_bind_btGImpactShapeInterface_getBulletTriangle_2 = + b.asm.Qc).apply(null, arguments); + }), + Ke = (b._emscripten_bind_btGImpactShapeInterface_getBulletTetrahedron_2 = + function () { + return (Ke = + b._emscripten_bind_btGImpactShapeInterface_getBulletTetrahedron_2 = + b.asm.Rc).apply(null, arguments); + }), + Le = (b._emscripten_bind_btGImpactShapeInterface_getChildShape_1 = + function () { + return (Le = + b._emscripten_bind_btGImpactShapeInterface_getChildShape_1 = + b.asm.Sc).apply(null, arguments); + }), + Me = (b._emscripten_bind_btGImpactShapeInterface_getChildTransform_1 = + function () { + return (Me = + b._emscripten_bind_btGImpactShapeInterface_getChildTransform_1 = + b.asm.Tc).apply(null, arguments); + }), + Ne = (b._emscripten_bind_btGImpactShapeInterface_setChildTransform_2 = + function () { + return (Ne = + b._emscripten_bind_btGImpactShapeInterface_setChildTransform_2 = + b.asm.Uc).apply(null, arguments); + }), + Oe = (b._emscripten_bind_btGImpactShapeInterface_setLocalScaling_1 = + function () { + return (Oe = + b._emscripten_bind_btGImpactShapeInterface_setLocalScaling_1 = + b.asm.Vc).apply(null, arguments); + }), + Pe = (b._emscripten_bind_btGImpactShapeInterface_getLocalScaling_0 = + function () { + return (Pe = + b._emscripten_bind_btGImpactShapeInterface_getLocalScaling_0 = + b.asm.Wc).apply(null, arguments); + }), + Qe = (b._emscripten_bind_btGImpactShapeInterface_calculateLocalInertia_2 = + function () { + return (Qe = + b._emscripten_bind_btGImpactShapeInterface_calculateLocalInertia_2 = + b.asm.Xc).apply(null, arguments); + }), + Re = (b._emscripten_bind_btGImpactShapeInterface___destroy___0 = + function () { + return (Re = + b._emscripten_bind_btGImpactShapeInterface___destroy___0 = + b.asm.Yc).apply(null, arguments); + }), + Se = (b._emscripten_bind_btActivatingCollisionAlgorithm___destroy___0 = + function () { + return (Se = + b._emscripten_bind_btActivatingCollisionAlgorithm___destroy___0 = + b.asm.Zc).apply(null, arguments); + }), + Te = + (b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0 = + function () { + return (Te = + b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0 = + b.asm._c).apply(null, arguments); + }), + Ue = + (b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1 = + function () { + return (Ue = + b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1 = + b.asm.$c).apply(null, arguments); + }), + Ve = (b._emscripten_bind_btDefaultCollisionConfiguration___destroy___0 = + function () { + return (Ve = + b._emscripten_bind_btDefaultCollisionConfiguration___destroy___0 = + b.asm.ad).apply(null, arguments); + }), + We = (b._emscripten_bind_btDispatcher_getNumManifolds_0 = function () { + return (We = b._emscripten_bind_btDispatcher_getNumManifolds_0 = + b.asm.bd).apply(null, arguments); + }), + Xe = (b._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1 = + function () { + return (Xe = + b._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1 = + b.asm.cd).apply(null, arguments); + }), + Ye = (b._emscripten_bind_btDispatcher___destroy___0 = function () { + return (Ye = b._emscripten_bind_btDispatcher___destroy___0 = + b.asm.dd).apply(null, arguments); + }), + Ze = + (b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3 = + function () { + return (Ze = + b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3 = + b.asm.ed).apply(null, arguments); + }), + $e = + (b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5 = + function () { + return ($e = + b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5 = + b.asm.fd).apply(null, arguments); + }), + af = (b._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1 = + function () { + return (af = + b._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1 = + b.asm.gd).apply(null, arguments); + }), + bf = (b._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1 = + function () { + return (bf = + b._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1 = + b.asm.hd).apply(null, arguments); + }), + cf = (b._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1 = + function () { + return (cf = + b._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1 = + b.asm.id).apply(null, arguments); + }), + df = (b._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1 = + function () { + return (df = + b._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1 = + b.asm.jd).apply(null, arguments); + }), + ef = (b._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0 = + function () { + return (ef = + b._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0 = + b.asm.kd).apply(null, arguments); + }), + ff = (b._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1 = + function () { + return (ff = + b._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1 = + b.asm.ld).apply(null, arguments); + }), + gf = + (b._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0 = + function () { + return (gf = + b._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0 = + b.asm.md).apply(null, arguments); + }), + hf = + (b._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1 = + function () { + return (hf = + b._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1 = + b.asm.nd).apply(null, arguments); + }), + jf = (b._emscripten_bind_btGeneric6DofConstraint_getParam_2 = + function () { + return (jf = b._emscripten_bind_btGeneric6DofConstraint_getParam_2 = + b.asm.od).apply(null, arguments); + }), + kf = (b._emscripten_bind_btGeneric6DofConstraint_setParam_3 = + function () { + return (kf = b._emscripten_bind_btGeneric6DofConstraint_setParam_3 = + b.asm.pd).apply(null, arguments); + }), + lf = (b._emscripten_bind_btGeneric6DofConstraint___destroy___0 = + function () { + return (lf = + b._emscripten_bind_btGeneric6DofConstraint___destroy___0 = + b.asm.qd).apply(null, arguments); + }), + mf = + (b._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4 = + function () { + return (mf = + b._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4 = + b.asm.rd).apply(null, arguments); + }), + nf = (b._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1 = + function () { + return (nf = b._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1 = + b.asm.sd).apply(null, arguments); + }), + of = (b._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0 = + function () { + return (of = b._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0 = + b.asm.td).apply(null, arguments); + }), + pf = (b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1 = + function () { + return (pf = + b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1 = + b.asm.ud).apply(null, arguments); + }), + qf = (b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3 = + function () { + return (qf = + b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3 = + b.asm.vd).apply(null, arguments); + }), + rf = (b._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1 = + function () { + return (rf = + b._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1 = + b.asm.wd).apply(null, arguments); + }), + sf = (b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1 = + function () { + return (sf = + b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1 = + b.asm.xd).apply(null, arguments); + }), + tf = (b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2 = + function () { + return (tf = + b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2 = + b.asm.yd).apply(null, arguments); + }), + uf = (b._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1 = + function () { + return (uf = + b._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1 = + b.asm.zd).apply(null, arguments); + }), + vf = (b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1 = + function () { + return (vf = + b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1 = + b.asm.Ad).apply(null, arguments); + }), + wf = (b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2 = + function () { + return (wf = + b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2 = + b.asm.Bd).apply(null, arguments); + }), + xf = (b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3 = + function () { + return (xf = + b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3 = + b.asm.Cd).apply(null, arguments); + }), + yf = + (b._emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1 = + function () { + return (yf = + b._emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1 = + b.asm.Dd).apply(null, arguments); + }), + zf = + (b._emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1 = + function () { + return (zf = + b._emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1 = + b.asm.Ed).apply(null, arguments); + }), + Af = + (b._emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1 = + function () { + return (Af = + b._emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1 = + b.asm.Fd).apply(null, arguments); + }), + Bf = (b._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0 = + function () { + return (Bf = + b._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0 = + b.asm.Gd).apply(null, arguments); + }), + Cf = (b._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3 = function () { + return (Cf = b._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3 = + b.asm.Hd).apply(null, arguments); + }), + Df = (b._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0 = + function () { + return (Df = + b._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0 = + b.asm.Id).apply(null, arguments); + }), + Ef = (b._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0 = + function () { + return (Ef = + b._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0 = + b.asm.Jd).apply(null, arguments); + }), + Ff = (b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1 = + function () { + return (Ff = + b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1 = + b.asm.Kd).apply(null, arguments); + }), + Gf = (b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2 = + function () { + return (Gf = + b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2 = + b.asm.Ld).apply(null, arguments); + }), + Hf = (b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3 = + function () { + return (Hf = + b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3 = + b.asm.Md).apply(null, arguments); + }), + If = (b._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1 = + function () { + return (If = + b._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1 = + b.asm.Nd).apply(null, arguments); + }), + Jf = (b._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0 = + function () { + return (Jf = + b._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0 = + b.asm.Od).apply(null, arguments); + }), + Kf = (b._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5 = + function () { + return (Kf = + b._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5 = + b.asm.Pd).apply(null, arguments); + }), + Lf = (b._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3 = + function () { + return (Lf = + b._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3 = + b.asm.Qd).apply(null, arguments); + }), + Mf = (b._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2 = + function () { + return (Mf = + b._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2 = + b.asm.Rd).apply(null, arguments); + }), + Nf = (b._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1 = + function () { + return (Nf = + b._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1 = + b.asm.Sd).apply(null, arguments); + }), + Of = (b._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1 = + function () { + return (Of = + b._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1 = + b.asm.Td).apply(null, arguments); + }), + Pf = (b._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0 = + function () { + return (Pf = + b._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0 = + b.asm.Ud).apply(null, arguments); + }), + Qf = (b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0 = + function () { + return (Qf = + b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0 = + b.asm.Vd).apply(null, arguments); + }), + Rf = (b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3 = + function () { + return (Rf = + b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3 = + b.asm.Wd).apply(null, arguments); + }), + Sf = (b._emscripten_bind_btDiscreteDynamicsWorld_addAction_1 = + function () { + return (Sf = b._emscripten_bind_btDiscreteDynamicsWorld_addAction_1 = + b.asm.Xd).apply(null, arguments); + }), + Tf = (b._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1 = + function () { + return (Tf = + b._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1 = + b.asm.Yd).apply(null, arguments); + }), + Uf = (b._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0 = + function () { + return (Uf = + b._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0 = + b.asm.Zd).apply(null, arguments); + }), + Vf = + (b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1 = + function () { + return (Vf = + b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1 = + b.asm._d).apply(null, arguments); + }), + Wf = + (b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2 = + function () { + return (Wf = + b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2 = + b.asm.$d).apply(null, arguments); + }), + Xf = + (b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3 = + function () { + return (Xf = + b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3 = + b.asm.ae).apply(null, arguments); + }), + Yf = (b._emscripten_bind_btDiscreteDynamicsWorld___destroy___0 = + function () { + return (Yf = + b._emscripten_bind_btDiscreteDynamicsWorld___destroy___0 = + b.asm.be).apply(null, arguments); + }), + Zf = (b._emscripten_bind_btVehicleRaycaster_castRay_3 = function () { + return (Zf = b._emscripten_bind_btVehicleRaycaster_castRay_3 = + b.asm.ce).apply(null, arguments); + }), + $f = (b._emscripten_bind_btVehicleRaycaster___destroy___0 = function () { + return ($f = b._emscripten_bind_btVehicleRaycaster___destroy___0 = + b.asm.de).apply(null, arguments); + }), + ag = (b._emscripten_bind_btActionInterface_updateAction_2 = function () { + return (ag = b._emscripten_bind_btActionInterface_updateAction_2 = + b.asm.ee).apply(null, arguments); + }), + bg = (b._emscripten_bind_btActionInterface___destroy___0 = function () { + return (bg = b._emscripten_bind_btActionInterface___destroy___0 = + b.asm.fe).apply(null, arguments); + }), + cg = (b._emscripten_bind_btGhostObject_btGhostObject_0 = function () { + return (cg = b._emscripten_bind_btGhostObject_btGhostObject_0 = + b.asm.ge).apply(null, arguments); + }), + dg = (b._emscripten_bind_btGhostObject_getNumOverlappingObjects_0 = + function () { + return (dg = + b._emscripten_bind_btGhostObject_getNumOverlappingObjects_0 = + b.asm.he).apply(null, arguments); + }), + eg = (b._emscripten_bind_btGhostObject_getOverlappingObject_1 = + function () { + return (eg = b._emscripten_bind_btGhostObject_getOverlappingObject_1 = + b.asm.ie).apply(null, arguments); + }), + fg = (b._emscripten_bind_btGhostObject_setAnisotropicFriction_2 = + function () { + return (fg = + b._emscripten_bind_btGhostObject_setAnisotropicFriction_2 = + b.asm.je).apply(null, arguments); + }), + gg = (b._emscripten_bind_btGhostObject_getCollisionShape_0 = function () { + return (gg = b._emscripten_bind_btGhostObject_getCollisionShape_0 = + b.asm.ke).apply(null, arguments); + }), + hg = (b._emscripten_bind_btGhostObject_setContactProcessingThreshold_1 = + function () { + return (hg = + b._emscripten_bind_btGhostObject_setContactProcessingThreshold_1 = + b.asm.le).apply(null, arguments); + }), + ig = (b._emscripten_bind_btGhostObject_setActivationState_1 = + function () { + return (ig = b._emscripten_bind_btGhostObject_setActivationState_1 = + b.asm.me).apply(null, arguments); + }), + jg = (b._emscripten_bind_btGhostObject_forceActivationState_1 = + function () { + return (jg = b._emscripten_bind_btGhostObject_forceActivationState_1 = + b.asm.ne).apply(null, arguments); + }), + kg = (b._emscripten_bind_btGhostObject_activate_0 = function () { + return (kg = b._emscripten_bind_btGhostObject_activate_0 = + b.asm.oe).apply(null, arguments); + }), + lg = (b._emscripten_bind_btGhostObject_activate_1 = function () { + return (lg = b._emscripten_bind_btGhostObject_activate_1 = + b.asm.pe).apply(null, arguments); + }), + mg = (b._emscripten_bind_btGhostObject_isActive_0 = function () { + return (mg = b._emscripten_bind_btGhostObject_isActive_0 = + b.asm.qe).apply(null, arguments); + }), + ng = (b._emscripten_bind_btGhostObject_isKinematicObject_0 = function () { + return (ng = b._emscripten_bind_btGhostObject_isKinematicObject_0 = + b.asm.re).apply(null, arguments); + }), + og = (b._emscripten_bind_btGhostObject_isStaticObject_0 = function () { + return (og = b._emscripten_bind_btGhostObject_isStaticObject_0 = + b.asm.se).apply(null, arguments); + }), + pg = (b._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0 = + function () { + return (pg = + b._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0 = + b.asm.te).apply(null, arguments); + }), + qg = (b._emscripten_bind_btGhostObject_getRestitution_0 = function () { + return (qg = b._emscripten_bind_btGhostObject_getRestitution_0 = + b.asm.ue).apply(null, arguments); + }), + rg = (b._emscripten_bind_btGhostObject_getFriction_0 = function () { + return (rg = b._emscripten_bind_btGhostObject_getFriction_0 = + b.asm.ve).apply(null, arguments); + }), + sg = (b._emscripten_bind_btGhostObject_getRollingFriction_0 = + function () { + return (sg = b._emscripten_bind_btGhostObject_getRollingFriction_0 = + b.asm.we).apply(null, arguments); + }), + tg = (b._emscripten_bind_btGhostObject_setRestitution_1 = function () { + return (tg = b._emscripten_bind_btGhostObject_setRestitution_1 = + b.asm.xe).apply(null, arguments); + }), + ug = (b._emscripten_bind_btGhostObject_setFriction_1 = function () { + return (ug = b._emscripten_bind_btGhostObject_setFriction_1 = + b.asm.ye).apply(null, arguments); + }), + vg = (b._emscripten_bind_btGhostObject_setRollingFriction_1 = + function () { + return (vg = b._emscripten_bind_btGhostObject_setRollingFriction_1 = + b.asm.ze).apply(null, arguments); + }), + wg = (b._emscripten_bind_btGhostObject_getWorldTransform_0 = function () { + return (wg = b._emscripten_bind_btGhostObject_getWorldTransform_0 = + b.asm.Ae).apply(null, arguments); + }), + xg = (b._emscripten_bind_btGhostObject_getCollisionFlags_0 = function () { + return (xg = b._emscripten_bind_btGhostObject_getCollisionFlags_0 = + b.asm.Be).apply(null, arguments); + }), + yg = (b._emscripten_bind_btGhostObject_setCollisionFlags_1 = function () { + return (yg = b._emscripten_bind_btGhostObject_setCollisionFlags_1 = + b.asm.Ce).apply(null, arguments); + }), + zg = (b._emscripten_bind_btGhostObject_setWorldTransform_1 = function () { + return (zg = b._emscripten_bind_btGhostObject_setWorldTransform_1 = + b.asm.De).apply(null, arguments); + }), + Ag = (b._emscripten_bind_btGhostObject_setCollisionShape_1 = function () { + return (Ag = b._emscripten_bind_btGhostObject_setCollisionShape_1 = + b.asm.Ee).apply(null, arguments); + }), + Bg = (b._emscripten_bind_btGhostObject_setCcdMotionThreshold_1 = + function () { + return (Bg = + b._emscripten_bind_btGhostObject_setCcdMotionThreshold_1 = + b.asm.Fe).apply(null, arguments); + }), + Cg = (b._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1 = + function () { + return (Cg = + b._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1 = + b.asm.Ge).apply(null, arguments); + }), + Dg = (b._emscripten_bind_btGhostObject_getUserIndex_0 = function () { + return (Dg = b._emscripten_bind_btGhostObject_getUserIndex_0 = + b.asm.He).apply(null, arguments); + }), + Eg = (b._emscripten_bind_btGhostObject_setUserIndex_1 = function () { + return (Eg = b._emscripten_bind_btGhostObject_setUserIndex_1 = + b.asm.Ie).apply(null, arguments); + }), + Fg = (b._emscripten_bind_btGhostObject_getUserPointer_0 = function () { + return (Fg = b._emscripten_bind_btGhostObject_getUserPointer_0 = + b.asm.Je).apply(null, arguments); + }), + Gg = (b._emscripten_bind_btGhostObject_setUserPointer_1 = function () { + return (Gg = b._emscripten_bind_btGhostObject_setUserPointer_1 = + b.asm.Ke).apply(null, arguments); + }), + Hg = (b._emscripten_bind_btGhostObject_getBroadphaseHandle_0 = + function () { + return (Hg = b._emscripten_bind_btGhostObject_getBroadphaseHandle_0 = + b.asm.Le).apply(null, arguments); + }), + Ig = (b._emscripten_bind_btGhostObject___destroy___0 = function () { + return (Ig = b._emscripten_bind_btGhostObject___destroy___0 = + b.asm.Me).apply(null, arguments); + }), + Jg = (b._emscripten_bind_btSoftBodySolver___destroy___0 = function () { + return (Jg = b._emscripten_bind_btSoftBodySolver___destroy___0 = + b.asm.Ne).apply(null, arguments); + }), + Kg = (b._emscripten_bind_VoidPtr___destroy___0 = function () { + return (Kg = b._emscripten_bind_VoidPtr___destroy___0 = b.asm.Oe).apply( + null, + arguments, + ); + }), + Lg = (b._emscripten_bind_DebugDrawer_DebugDrawer_0 = function () { + return (Lg = b._emscripten_bind_DebugDrawer_DebugDrawer_0 = + b.asm.Pe).apply(null, arguments); + }), + Mg = (b._emscripten_bind_DebugDrawer_drawLine_3 = function () { + return (Mg = b._emscripten_bind_DebugDrawer_drawLine_3 = + b.asm.Qe).apply(null, arguments); + }), + Ng = (b._emscripten_bind_DebugDrawer_drawContactPoint_5 = function () { + return (Ng = b._emscripten_bind_DebugDrawer_drawContactPoint_5 = + b.asm.Re).apply(null, arguments); + }), + Og = (b._emscripten_bind_DebugDrawer_reportErrorWarning_1 = function () { + return (Og = b._emscripten_bind_DebugDrawer_reportErrorWarning_1 = + b.asm.Se).apply(null, arguments); + }), + Pg = (b._emscripten_bind_DebugDrawer_draw3dText_2 = function () { + return (Pg = b._emscripten_bind_DebugDrawer_draw3dText_2 = + b.asm.Te).apply(null, arguments); + }), + Qg = (b._emscripten_bind_DebugDrawer_setDebugMode_1 = function () { + return (Qg = b._emscripten_bind_DebugDrawer_setDebugMode_1 = + b.asm.Ue).apply(null, arguments); + }), + Rg = (b._emscripten_bind_DebugDrawer_getDebugMode_0 = function () { + return (Rg = b._emscripten_bind_DebugDrawer_getDebugMode_0 = + b.asm.Ve).apply(null, arguments); + }), + Sg = (b._emscripten_bind_DebugDrawer___destroy___0 = function () { + return (Sg = b._emscripten_bind_DebugDrawer___destroy___0 = + b.asm.We).apply(null, arguments); + }), + Tg = (b._emscripten_bind_btVector4_btVector4_0 = function () { + return (Tg = b._emscripten_bind_btVector4_btVector4_0 = b.asm.Xe).apply( + null, + arguments, + ); + }), + Ug = (b._emscripten_bind_btVector4_btVector4_4 = function () { + return (Ug = b._emscripten_bind_btVector4_btVector4_4 = b.asm.Ye).apply( + null, + arguments, + ); + }), + Vg = (b._emscripten_bind_btVector4_w_0 = function () { + return (Vg = b._emscripten_bind_btVector4_w_0 = b.asm.Ze).apply( + null, + arguments, + ); + }), + Wg = (b._emscripten_bind_btVector4_setValue_4 = function () { + return (Wg = b._emscripten_bind_btVector4_setValue_4 = b.asm._e).apply( + null, + arguments, + ); + }), + Xg = (b._emscripten_bind_btVector4_length_0 = function () { + return (Xg = b._emscripten_bind_btVector4_length_0 = b.asm.$e).apply( + null, + arguments, + ); + }), + Yg = (b._emscripten_bind_btVector4_x_0 = function () { + return (Yg = b._emscripten_bind_btVector4_x_0 = b.asm.af).apply( + null, + arguments, + ); + }), + Zg = (b._emscripten_bind_btVector4_y_0 = function () { + return (Zg = b._emscripten_bind_btVector4_y_0 = b.asm.bf).apply( + null, + arguments, + ); + }), + $g = (b._emscripten_bind_btVector4_z_0 = function () { + return ($g = b._emscripten_bind_btVector4_z_0 = b.asm.cf).apply( + null, + arguments, + ); + }), + ah = (b._emscripten_bind_btVector4_setX_1 = function () { + return (ah = b._emscripten_bind_btVector4_setX_1 = b.asm.df).apply( + null, + arguments, + ); + }), + bh = (b._emscripten_bind_btVector4_setY_1 = function () { + return (bh = b._emscripten_bind_btVector4_setY_1 = b.asm.ef).apply( + null, + arguments, + ); + }), + ch = (b._emscripten_bind_btVector4_setZ_1 = function () { + return (ch = b._emscripten_bind_btVector4_setZ_1 = b.asm.ff).apply( + null, + arguments, + ); + }), + dh = (b._emscripten_bind_btVector4_normalize_0 = function () { + return (dh = b._emscripten_bind_btVector4_normalize_0 = b.asm.gf).apply( + null, + arguments, + ); + }), + eh = (b._emscripten_bind_btVector4_rotate_2 = function () { + return (eh = b._emscripten_bind_btVector4_rotate_2 = b.asm.hf).apply( + null, + arguments, + ); + }), + fh = (b._emscripten_bind_btVector4_dot_1 = function () { + return (fh = b._emscripten_bind_btVector4_dot_1 = b.asm.jf).apply( + null, + arguments, + ); + }), + gh = (b._emscripten_bind_btVector4_op_mul_1 = function () { + return (gh = b._emscripten_bind_btVector4_op_mul_1 = b.asm.kf).apply( + null, + arguments, + ); + }), + hh = (b._emscripten_bind_btVector4_op_add_1 = function () { + return (hh = b._emscripten_bind_btVector4_op_add_1 = b.asm.lf).apply( + null, + arguments, + ); + }), + ih = (b._emscripten_bind_btVector4_op_sub_1 = function () { + return (ih = b._emscripten_bind_btVector4_op_sub_1 = b.asm.mf).apply( + null, + arguments, + ); + }), + jh = (b._emscripten_bind_btVector4___destroy___0 = function () { + return (jh = b._emscripten_bind_btVector4___destroy___0 = + b.asm.nf).apply(null, arguments); + }), + kh = (b._emscripten_bind_btQuaternion_btQuaternion_4 = function () { + return (kh = b._emscripten_bind_btQuaternion_btQuaternion_4 = + b.asm.of).apply(null, arguments); + }), + lh = (b._emscripten_bind_btQuaternion_setValue_4 = function () { + return (lh = b._emscripten_bind_btQuaternion_setValue_4 = + b.asm.pf).apply(null, arguments); + }), + mh = (b._emscripten_bind_btQuaternion_setEulerZYX_3 = function () { + return (mh = b._emscripten_bind_btQuaternion_setEulerZYX_3 = + b.asm.qf).apply(null, arguments); + }), + nh = (b._emscripten_bind_btQuaternion_setRotation_2 = function () { + return (nh = b._emscripten_bind_btQuaternion_setRotation_2 = + b.asm.rf).apply(null, arguments); + }), + oh = (b._emscripten_bind_btQuaternion_normalize_0 = function () { + return (oh = b._emscripten_bind_btQuaternion_normalize_0 = + b.asm.sf).apply(null, arguments); + }), + ph = (b._emscripten_bind_btQuaternion_length2_0 = function () { + return (ph = b._emscripten_bind_btQuaternion_length2_0 = + b.asm.tf).apply(null, arguments); + }), + qh = (b._emscripten_bind_btQuaternion_length_0 = function () { + return (qh = b._emscripten_bind_btQuaternion_length_0 = b.asm.uf).apply( + null, + arguments, + ); + }), + rh = (b._emscripten_bind_btQuaternion_dot_1 = function () { + return (rh = b._emscripten_bind_btQuaternion_dot_1 = b.asm.vf).apply( + null, + arguments, + ); + }), + sh = (b._emscripten_bind_btQuaternion_normalized_0 = function () { + return (sh = b._emscripten_bind_btQuaternion_normalized_0 = + b.asm.wf).apply(null, arguments); + }), + th = (b._emscripten_bind_btQuaternion_getAxis_0 = function () { + return (th = b._emscripten_bind_btQuaternion_getAxis_0 = + b.asm.xf).apply(null, arguments); + }), + uh = (b._emscripten_bind_btQuaternion_inverse_0 = function () { + return (uh = b._emscripten_bind_btQuaternion_inverse_0 = + b.asm.yf).apply(null, arguments); + }), + vh = (b._emscripten_bind_btQuaternion_getAngle_0 = function () { + return (vh = b._emscripten_bind_btQuaternion_getAngle_0 = + b.asm.zf).apply(null, arguments); + }), + wh = (b._emscripten_bind_btQuaternion_getAngleShortestPath_0 = + function () { + return (wh = b._emscripten_bind_btQuaternion_getAngleShortestPath_0 = + b.asm.Af).apply(null, arguments); + }), + xh = (b._emscripten_bind_btQuaternion_angle_1 = function () { + return (xh = b._emscripten_bind_btQuaternion_angle_1 = b.asm.Bf).apply( + null, + arguments, + ); + }), + yh = (b._emscripten_bind_btQuaternion_angleShortestPath_1 = function () { + return (yh = b._emscripten_bind_btQuaternion_angleShortestPath_1 = + b.asm.Cf).apply(null, arguments); + }), + zh = (b._emscripten_bind_btQuaternion_op_add_1 = function () { + return (zh = b._emscripten_bind_btQuaternion_op_add_1 = b.asm.Df).apply( + null, + arguments, + ); + }), + Ah = (b._emscripten_bind_btQuaternion_op_sub_1 = function () { + return (Ah = b._emscripten_bind_btQuaternion_op_sub_1 = b.asm.Ef).apply( + null, + arguments, + ); + }), + Bh = (b._emscripten_bind_btQuaternion_op_mul_1 = function () { + return (Bh = b._emscripten_bind_btQuaternion_op_mul_1 = b.asm.Ff).apply( + null, + arguments, + ); + }), + Ch = (b._emscripten_bind_btQuaternion_op_mulq_1 = function () { + return (Ch = b._emscripten_bind_btQuaternion_op_mulq_1 = + b.asm.Gf).apply(null, arguments); + }), + Dh = (b._emscripten_bind_btQuaternion_op_div_1 = function () { + return (Dh = b._emscripten_bind_btQuaternion_op_div_1 = b.asm.Hf).apply( + null, + arguments, + ); + }), + Eh = (b._emscripten_bind_btQuaternion_x_0 = function () { + return (Eh = b._emscripten_bind_btQuaternion_x_0 = b.asm.If).apply( + null, + arguments, + ); + }), + Fh = (b._emscripten_bind_btQuaternion_y_0 = function () { + return (Fh = b._emscripten_bind_btQuaternion_y_0 = b.asm.Jf).apply( + null, + arguments, + ); + }), + Gh = (b._emscripten_bind_btQuaternion_z_0 = function () { + return (Gh = b._emscripten_bind_btQuaternion_z_0 = b.asm.Kf).apply( + null, + arguments, + ); + }), + Hh = (b._emscripten_bind_btQuaternion_w_0 = function () { + return (Hh = b._emscripten_bind_btQuaternion_w_0 = b.asm.Lf).apply( + null, + arguments, + ); + }), + Ih = (b._emscripten_bind_btQuaternion_setX_1 = function () { + return (Ih = b._emscripten_bind_btQuaternion_setX_1 = b.asm.Mf).apply( + null, + arguments, + ); + }), + Jh = (b._emscripten_bind_btQuaternion_setY_1 = function () { + return (Jh = b._emscripten_bind_btQuaternion_setY_1 = b.asm.Nf).apply( + null, + arguments, + ); + }), + Kh = (b._emscripten_bind_btQuaternion_setZ_1 = function () { + return (Kh = b._emscripten_bind_btQuaternion_setZ_1 = b.asm.Of).apply( + null, + arguments, + ); + }), + Lh = (b._emscripten_bind_btQuaternion_setW_1 = function () { + return (Lh = b._emscripten_bind_btQuaternion_setW_1 = b.asm.Pf).apply( + null, + arguments, + ); + }), + Mh = (b._emscripten_bind_btQuaternion___destroy___0 = function () { + return (Mh = b._emscripten_bind_btQuaternion___destroy___0 = + b.asm.Qf).apply(null, arguments); + }), + Nh = (b._emscripten_bind_btMatrix3x3_setEulerZYX_3 = function () { + return (Nh = b._emscripten_bind_btMatrix3x3_setEulerZYX_3 = + b.asm.Rf).apply(null, arguments); + }), + Oh = (b._emscripten_bind_btMatrix3x3_getRotation_1 = function () { + return (Oh = b._emscripten_bind_btMatrix3x3_getRotation_1 = + b.asm.Sf).apply(null, arguments); + }), + Ph = (b._emscripten_bind_btMatrix3x3_getRow_1 = function () { + return (Ph = b._emscripten_bind_btMatrix3x3_getRow_1 = b.asm.Tf).apply( + null, + arguments, + ); + }), + Qh = (b._emscripten_bind_btMatrix3x3___destroy___0 = function () { + return (Qh = b._emscripten_bind_btMatrix3x3___destroy___0 = + b.asm.Uf).apply(null, arguments); + }), + Rh = (b._emscripten_bind_btTransform_btTransform_0 = function () { + return (Rh = b._emscripten_bind_btTransform_btTransform_0 = + b.asm.Vf).apply(null, arguments); + }), + Sh = (b._emscripten_bind_btTransform_btTransform_2 = function () { + return (Sh = b._emscripten_bind_btTransform_btTransform_2 = + b.asm.Wf).apply(null, arguments); + }), + Th = (b._emscripten_bind_btTransform_setIdentity_0 = function () { + return (Th = b._emscripten_bind_btTransform_setIdentity_0 = + b.asm.Xf).apply(null, arguments); + }), + Uh = (b._emscripten_bind_btTransform_setOrigin_1 = function () { + return (Uh = b._emscripten_bind_btTransform_setOrigin_1 = + b.asm.Yf).apply(null, arguments); + }), + Vh = (b._emscripten_bind_btTransform_setRotation_1 = function () { + return (Vh = b._emscripten_bind_btTransform_setRotation_1 = + b.asm.Zf).apply(null, arguments); + }), + Wh = (b._emscripten_bind_btTransform_getOrigin_0 = function () { + return (Wh = b._emscripten_bind_btTransform_getOrigin_0 = + b.asm._f).apply(null, arguments); + }), + Xh = (b._emscripten_bind_btTransform_getRotation_0 = function () { + return (Xh = b._emscripten_bind_btTransform_getRotation_0 = + b.asm.$f).apply(null, arguments); + }), + Yh = (b._emscripten_bind_btTransform_getBasis_0 = function () { + return (Yh = b._emscripten_bind_btTransform_getBasis_0 = + b.asm.ag).apply(null, arguments); + }), + Zh = (b._emscripten_bind_btTransform_setFromOpenGLMatrix_1 = function () { + return (Zh = b._emscripten_bind_btTransform_setFromOpenGLMatrix_1 = + b.asm.bg).apply(null, arguments); + }), + $h = (b._emscripten_bind_btTransform_inverse_0 = function () { + return ($h = b._emscripten_bind_btTransform_inverse_0 = b.asm.cg).apply( + null, + arguments, + ); + }), + ai = (b._emscripten_bind_btTransform_op_mul_1 = function () { + return (ai = b._emscripten_bind_btTransform_op_mul_1 = b.asm.dg).apply( + null, + arguments, + ); + }), + bi = (b._emscripten_bind_btTransform___destroy___0 = function () { + return (bi = b._emscripten_bind_btTransform___destroy___0 = + b.asm.eg).apply(null, arguments); + }), + ci = (b._emscripten_bind_MotionState_MotionState_0 = function () { + return (ci = b._emscripten_bind_MotionState_MotionState_0 = + b.asm.fg).apply(null, arguments); + }), + di = (b._emscripten_bind_MotionState_getWorldTransform_1 = function () { + return (di = b._emscripten_bind_MotionState_getWorldTransform_1 = + b.asm.gg).apply(null, arguments); + }), + ei = (b._emscripten_bind_MotionState_setWorldTransform_1 = function () { + return (ei = b._emscripten_bind_MotionState_setWorldTransform_1 = + b.asm.hg).apply(null, arguments); + }), + fi = (b._emscripten_bind_MotionState___destroy___0 = function () { + return (fi = b._emscripten_bind_MotionState___destroy___0 = + b.asm.ig).apply(null, arguments); + }), + gi = (b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0 = + function () { + return (gi = + b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0 = + b.asm.jg).apply(null, arguments); + }), + hi = (b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1 = + function () { + return (hi = + b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1 = + b.asm.kg).apply(null, arguments); + }), + ii = (b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2 = + function () { + return (ii = + b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2 = + b.asm.lg).apply(null, arguments); + }), + ji = (b._emscripten_bind_btDefaultMotionState_getWorldTransform_1 = + function () { + return (ji = + b._emscripten_bind_btDefaultMotionState_getWorldTransform_1 = + b.asm.mg).apply(null, arguments); + }), + ki = (b._emscripten_bind_btDefaultMotionState_setWorldTransform_1 = + function () { + return (ki = + b._emscripten_bind_btDefaultMotionState_setWorldTransform_1 = + b.asm.ng).apply(null, arguments); + }), + li = (b._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0 = + function () { + return (li = + b._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0 = + b.asm.og).apply(null, arguments); + }), + mi = (b._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1 = + function () { + return (mi = + b._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1 = + b.asm.pg).apply(null, arguments); + }), + ni = (b._emscripten_bind_btDefaultMotionState___destroy___0 = + function () { + return (ni = b._emscripten_bind_btDefaultMotionState___destroy___0 = + b.asm.qg).apply(null, arguments); + }), + oi = (b._emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0 = + function () { + return (oi = + b._emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0 = + b.asm.rg).apply(null, arguments); + }), + pi = (b._emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0 = + function () { + return (pi = + b._emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0 = + b.asm.sg).apply(null, arguments); + }), + qi = (b._emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0 = + function () { + return (qi = + b._emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0 = + b.asm.tg).apply(null, arguments); + }), + ri = + (b._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2 = + function () { + return (ri = + b._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2 = + b.asm.ug).apply(null, arguments); + }), + si = (b._emscripten_bind_ClosestRayResultCallback_hasHit_0 = function () { + return (si = b._emscripten_bind_ClosestRayResultCallback_hasHit_0 = + b.asm.vg).apply(null, arguments); + }), + ti = (b._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0 = + function () { + return (ti = + b._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0 = + b.asm.wg).apply(null, arguments); + }), + ui = (b._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1 = + function () { + return (ui = + b._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1 = + b.asm.xg).apply(null, arguments); + }), + vi = (b._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0 = + function () { + return (vi = + b._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0 = + b.asm.yg).apply(null, arguments); + }), + wi = (b._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1 = + function () { + return (wi = + b._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1 = + b.asm.zg).apply(null, arguments); + }), + xi = (b._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0 = + function () { + return (xi = + b._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0 = + b.asm.Ag).apply(null, arguments); + }), + yi = (b._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1 = + function () { + return (yi = + b._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1 = + b.asm.Bg).apply(null, arguments); + }), + zi = (b._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0 = + function () { + return (zi = + b._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0 = + b.asm.Cg).apply(null, arguments); + }), + Ai = (b._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1 = + function () { + return (Ai = + b._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1 = + b.asm.Dg).apply(null, arguments); + }), + Bi = + (b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0 = + function () { + return (Bi = + b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0 = + b.asm.Eg).apply(null, arguments); + }), + Ci = + (b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1 = + function () { + return (Ci = + b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1 = + b.asm.Fg).apply(null, arguments); + }), + Di = + (b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0 = + function () { + return (Di = + b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0 = + b.asm.Gg).apply(null, arguments); + }), + Ei = + (b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1 = + function () { + return (Ei = + b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1 = + b.asm.Hg).apply(null, arguments); + }), + Fi = + (b._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0 = + function () { + return (Fi = + b._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0 = + b.asm.Ig).apply(null, arguments); + }), + Gi = + (b._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1 = + function () { + return (Gi = + b._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1 = + b.asm.Jg).apply(null, arguments); + }), + Hi = + (b._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0 = + function () { + return (Hi = + b._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0 = + b.asm.Kg).apply(null, arguments); + }), + Ii = + (b._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1 = + function () { + return (Ii = + b._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1 = + b.asm.Lg).apply(null, arguments); + }), + Ji = (b._emscripten_bind_ClosestRayResultCallback_get_m_flags_0 = + function () { + return (Ji = + b._emscripten_bind_ClosestRayResultCallback_get_m_flags_0 = + b.asm.Mg).apply(null, arguments); + }), + Ki = (b._emscripten_bind_ClosestRayResultCallback_set_m_flags_1 = + function () { + return (Ki = + b._emscripten_bind_ClosestRayResultCallback_set_m_flags_1 = + b.asm.Ng).apply(null, arguments); + }), + Li = (b._emscripten_bind_ClosestRayResultCallback___destroy___0 = + function () { + return (Li = + b._emscripten_bind_ClosestRayResultCallback___destroy___0 = + b.asm.Og).apply(null, arguments); + }), + Mi = (b._emscripten_bind_btConstCollisionObjectArray_size_0 = + function () { + return (Mi = b._emscripten_bind_btConstCollisionObjectArray_size_0 = + b.asm.Pg).apply(null, arguments); + }), + Ni = (b._emscripten_bind_btConstCollisionObjectArray_at_1 = function () { + return (Ni = b._emscripten_bind_btConstCollisionObjectArray_at_1 = + b.asm.Qg).apply(null, arguments); + }), + Oi = (b._emscripten_bind_btConstCollisionObjectArray___destroy___0 = + function () { + return (Oi = + b._emscripten_bind_btConstCollisionObjectArray___destroy___0 = + b.asm.Rg).apply(null, arguments); + }), + Pi = (b._emscripten_bind_btScalarArray_size_0 = function () { + return (Pi = b._emscripten_bind_btScalarArray_size_0 = b.asm.Sg).apply( + null, + arguments, + ); + }), + Qi = (b._emscripten_bind_btScalarArray_at_1 = function () { + return (Qi = b._emscripten_bind_btScalarArray_at_1 = b.asm.Tg).apply( + null, + arguments, + ); + }), + Ri = (b._emscripten_bind_btScalarArray___destroy___0 = function () { + return (Ri = b._emscripten_bind_btScalarArray___destroy___0 = + b.asm.Ug).apply(null, arguments); + }), + Si = + (b._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2 = + function () { + return (Si = + b._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2 = + b.asm.Vg).apply(null, arguments); + }), + Ti = (b._emscripten_bind_AllHitsRayResultCallback_hasHit_0 = function () { + return (Ti = b._emscripten_bind_AllHitsRayResultCallback_hasHit_0 = + b.asm.Wg).apply(null, arguments); + }), + Ui = + (b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0 = + function () { + return (Ui = + b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0 = + b.asm.Xg).apply(null, arguments); + }), + Vi = + (b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1 = + function () { + return (Vi = + b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1 = + b.asm.Yg).apply(null, arguments); + }), + Wi = (b._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0 = + function () { + return (Wi = + b._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0 = + b.asm.Zg).apply(null, arguments); + }), + Xi = (b._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1 = + function () { + return (Xi = + b._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1 = + b.asm._g).apply(null, arguments); + }), + Yi = (b._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0 = + function () { + return (Yi = + b._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0 = + b.asm.$g).apply(null, arguments); + }), + Zi = (b._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1 = + function () { + return (Zi = + b._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1 = + b.asm.ah).apply(null, arguments); + }), + $i = (b._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0 = + function () { + return ($i = + b._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0 = + b.asm.bh).apply(null, arguments); + }), + aj = (b._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1 = + function () { + return (aj = + b._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1 = + b.asm.ch).apply(null, arguments); + }), + bj = (b._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0 = + function () { + return (bj = + b._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0 = + b.asm.dh).apply(null, arguments); + }), + cj = (b._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1 = + function () { + return (cj = + b._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1 = + b.asm.eh).apply(null, arguments); + }), + dj = (b._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0 = + function () { + return (dj = + b._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0 = + b.asm.fh).apply(null, arguments); + }), + ej = (b._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1 = + function () { + return (ej = + b._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1 = + b.asm.gh).apply(null, arguments); + }), + fj = + (b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0 = + function () { + return (fj = + b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0 = + b.asm.hh).apply(null, arguments); + }), + gj = + (b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1 = + function () { + return (gj = + b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1 = + b.asm.ih).apply(null, arguments); + }), + hj = + (b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0 = + function () { + return (hj = + b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0 = + b.asm.jh).apply(null, arguments); + }), + ij = + (b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1 = + function () { + return (ij = + b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1 = + b.asm.kh).apply(null, arguments); + }), + jj = + (b._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0 = + function () { + return (jj = + b._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0 = + b.asm.lh).apply(null, arguments); + }), + kj = + (b._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1 = + function () { + return (kj = + b._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1 = + b.asm.mh).apply(null, arguments); + }), + lj = + (b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0 = + function () { + return (lj = + b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0 = + b.asm.nh).apply(null, arguments); + }), + mj = + (b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1 = + function () { + return (mj = + b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1 = + b.asm.oh).apply(null, arguments); + }), + nj = (b._emscripten_bind_AllHitsRayResultCallback_get_m_flags_0 = + function () { + return (nj = + b._emscripten_bind_AllHitsRayResultCallback_get_m_flags_0 = + b.asm.ph).apply(null, arguments); + }), + oj = (b._emscripten_bind_AllHitsRayResultCallback_set_m_flags_1 = + function () { + return (oj = + b._emscripten_bind_AllHitsRayResultCallback_set_m_flags_1 = + b.asm.qh).apply(null, arguments); + }), + pj = (b._emscripten_bind_AllHitsRayResultCallback___destroy___0 = + function () { + return (pj = + b._emscripten_bind_AllHitsRayResultCallback___destroy___0 = + b.asm.rh).apply(null, arguments); + }), + qj = (b._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0 = + function () { + return (qj = + b._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0 = + b.asm.sh).apply(null, arguments); + }), + rj = (b._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0 = + function () { + return (rj = + b._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0 = + b.asm.th).apply(null, arguments); + }), + sj = (b._emscripten_bind_btManifoldPoint_getAppliedImpulse_0 = + function () { + return (sj = b._emscripten_bind_btManifoldPoint_getAppliedImpulse_0 = + b.asm.uh).apply(null, arguments); + }), + tj = (b._emscripten_bind_btManifoldPoint_getDistance_0 = function () { + return (tj = b._emscripten_bind_btManifoldPoint_getDistance_0 = + b.asm.vh).apply(null, arguments); + }), + uj = (b._emscripten_bind_btManifoldPoint_get_m_localPointA_0 = + function () { + return (uj = b._emscripten_bind_btManifoldPoint_get_m_localPointA_0 = + b.asm.wh).apply(null, arguments); + }), + vj = (b._emscripten_bind_btManifoldPoint_set_m_localPointA_1 = + function () { + return (vj = b._emscripten_bind_btManifoldPoint_set_m_localPointA_1 = + b.asm.xh).apply(null, arguments); + }), + wj = (b._emscripten_bind_btManifoldPoint_get_m_localPointB_0 = + function () { + return (wj = b._emscripten_bind_btManifoldPoint_get_m_localPointB_0 = + b.asm.yh).apply(null, arguments); + }), + xj = (b._emscripten_bind_btManifoldPoint_set_m_localPointB_1 = + function () { + return (xj = b._emscripten_bind_btManifoldPoint_set_m_localPointB_1 = + b.asm.zh).apply(null, arguments); + }), + yj = (b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0 = + function () { + return (yj = + b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0 = + b.asm.Ah).apply(null, arguments); + }), + zj = (b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1 = + function () { + return (zj = + b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1 = + b.asm.Bh).apply(null, arguments); + }), + Aj = (b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0 = + function () { + return (Aj = + b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0 = + b.asm.Ch).apply(null, arguments); + }), + Bj = (b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1 = + function () { + return (Bj = + b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1 = + b.asm.Dh).apply(null, arguments); + }), + Cj = (b._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0 = + function () { + return (Cj = + b._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0 = + b.asm.Eh).apply(null, arguments); + }), + Dj = (b._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1 = + function () { + return (Dj = + b._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1 = + b.asm.Fh).apply(null, arguments); + }), + Ej = (b._emscripten_bind_btManifoldPoint_get_m_userPersistentData_0 = + function () { + return (Ej = + b._emscripten_bind_btManifoldPoint_get_m_userPersistentData_0 = + b.asm.Gh).apply(null, arguments); + }), + Fj = (b._emscripten_bind_btManifoldPoint_set_m_userPersistentData_1 = + function () { + return (Fj = + b._emscripten_bind_btManifoldPoint_set_m_userPersistentData_1 = + b.asm.Hh).apply(null, arguments); + }), + Gj = (b._emscripten_bind_btManifoldPoint___destroy___0 = function () { + return (Gj = b._emscripten_bind_btManifoldPoint___destroy___0 = + b.asm.Ih).apply(null, arguments); + }), + Hj = + (b._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0 = + function () { + return (Hj = + b._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0 = + b.asm.Jh).apply(null, arguments); + }), + Ij = (b._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7 = + function () { + return (Ij = + b._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7 = + b.asm.Kh).apply(null, arguments); + }), + Jj = (b._emscripten_bind_ConcreteContactResultCallback___destroy___0 = + function () { + return (Jj = + b._emscripten_bind_ConcreteContactResultCallback___destroy___0 = + b.asm.Lh).apply(null, arguments); + }), + Kj = (b._emscripten_bind_LocalShapeInfo_get_m_shapePart_0 = function () { + return (Kj = b._emscripten_bind_LocalShapeInfo_get_m_shapePart_0 = + b.asm.Mh).apply(null, arguments); + }), + Lj = (b._emscripten_bind_LocalShapeInfo_set_m_shapePart_1 = function () { + return (Lj = b._emscripten_bind_LocalShapeInfo_set_m_shapePart_1 = + b.asm.Nh).apply(null, arguments); + }), + Mj = (b._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0 = + function () { + return (Mj = b._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0 = + b.asm.Oh).apply(null, arguments); + }), + Nj = (b._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1 = + function () { + return (Nj = b._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1 = + b.asm.Ph).apply(null, arguments); + }), + Oj = (b._emscripten_bind_LocalShapeInfo___destroy___0 = function () { + return (Oj = b._emscripten_bind_LocalShapeInfo___destroy___0 = + b.asm.Qh).apply(null, arguments); + }), + Pj = (b._emscripten_bind_LocalConvexResult_LocalConvexResult_5 = + function () { + return (Pj = + b._emscripten_bind_LocalConvexResult_LocalConvexResult_5 = + b.asm.Rh).apply(null, arguments); + }), + Qj = (b._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0 = + function () { + return (Qj = + b._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0 = + b.asm.Sh).apply(null, arguments); + }), + Rj = (b._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1 = + function () { + return (Rj = + b._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1 = + b.asm.Th).apply(null, arguments); + }), + Sj = (b._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0 = + function () { + return (Sj = + b._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0 = + b.asm.Uh).apply(null, arguments); + }), + Tj = (b._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1 = + function () { + return (Tj = + b._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1 = + b.asm.Vh).apply(null, arguments); + }), + Uj = (b._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0 = + function () { + return (Uj = + b._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0 = + b.asm.Wh).apply(null, arguments); + }), + Vj = (b._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1 = + function () { + return (Vj = + b._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1 = + b.asm.Xh).apply(null, arguments); + }), + Wj = (b._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0 = + function () { + return (Wj = + b._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0 = + b.asm.Yh).apply(null, arguments); + }), + Xj = (b._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1 = + function () { + return (Xj = + b._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1 = + b.asm.Zh).apply(null, arguments); + }), + Yj = (b._emscripten_bind_LocalConvexResult_get_m_hitFraction_0 = + function () { + return (Yj = + b._emscripten_bind_LocalConvexResult_get_m_hitFraction_0 = + b.asm._h).apply(null, arguments); + }), + Zj = (b._emscripten_bind_LocalConvexResult_set_m_hitFraction_1 = + function () { + return (Zj = + b._emscripten_bind_LocalConvexResult_set_m_hitFraction_1 = + b.asm.$h).apply(null, arguments); + }), + ak = (b._emscripten_bind_LocalConvexResult___destroy___0 = function () { + return (ak = b._emscripten_bind_LocalConvexResult___destroy___0 = + b.asm.ai).apply(null, arguments); + }), + bk = + (b._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2 = + function () { + return (bk = + b._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2 = + b.asm.bi).apply(null, arguments); + }), + ck = (b._emscripten_bind_ClosestConvexResultCallback_hasHit_0 = + function () { + return (ck = b._emscripten_bind_ClosestConvexResultCallback_hasHit_0 = + b.asm.ci).apply(null, arguments); + }), + dk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0 = + function () { + return (dk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0 = + b.asm.di).apply(null, arguments); + }), + ek = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1 = + function () { + return (ek = + b._emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1 = + b.asm.ei).apply(null, arguments); + }), + fk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0 = + function () { + return (fk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0 = + b.asm.fi).apply(null, arguments); + }), + gk = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1 = + function () { + return (gk = + b._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1 = + b.asm.gi).apply(null, arguments); + }), + hk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0 = + function () { + return (hk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0 = + b.asm.hi).apply(null, arguments); + }), + ik = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1 = + function () { + return (ik = + b._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1 = + b.asm.ii).apply(null, arguments); + }), + jk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0 = + function () { + return (jk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0 = + b.asm.ji).apply(null, arguments); + }), + kk = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1 = + function () { + return (kk = + b._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1 = + b.asm.ki).apply(null, arguments); + }), + lk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0 = + function () { + return (lk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0 = + b.asm.li).apply(null, arguments); + }), + mk = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1 = + function () { + return (mk = + b._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1 = + b.asm.mi).apply(null, arguments); + }), + nk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0 = + function () { + return (nk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0 = + b.asm.ni).apply(null, arguments); + }), + ok = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1 = + function () { + return (ok = + b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1 = + b.asm.oi).apply(null, arguments); + }), + pk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0 = + function () { + return (pk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0 = + b.asm.pi).apply(null, arguments); + }), + qk = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1 = + function () { + return (qk = + b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1 = + b.asm.qi).apply(null, arguments); + }), + rk = + (b._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0 = + function () { + return (rk = + b._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0 = + b.asm.ri).apply(null, arguments); + }), + sk = + (b._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1 = + function () { + return (sk = + b._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1 = + b.asm.si).apply(null, arguments); + }), + tk = (b._emscripten_bind_ClosestConvexResultCallback___destroy___0 = + function () { + return (tk = + b._emscripten_bind_ClosestConvexResultCallback___destroy___0 = + b.asm.ti).apply(null, arguments); + }), + uk = + (b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1 = + function () { + return (uk = + b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1 = + b.asm.ui).apply(null, arguments); + }), + vk = + (b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2 = + function () { + return (vk = + b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2 = + b.asm.vi).apply(null, arguments); + }), + wk = (b._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1 = + function () { + return (wk = + b._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1 = + b.asm.wi).apply(null, arguments); + }), + xk = (b._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0 = + function () { + return (xk = + b._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0 = + b.asm.xi).apply(null, arguments); + }), + yk = + (b._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2 = + function () { + return (yk = + b._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2 = + b.asm.yi).apply(null, arguments); + }), + zk = (b._emscripten_bind_btConvexTriangleMeshShape_setMargin_1 = + function () { + return (zk = + b._emscripten_bind_btConvexTriangleMeshShape_setMargin_1 = + b.asm.zi).apply(null, arguments); + }), + Ak = (b._emscripten_bind_btConvexTriangleMeshShape_getMargin_0 = + function () { + return (Ak = + b._emscripten_bind_btConvexTriangleMeshShape_getMargin_0 = + b.asm.Ai).apply(null, arguments); + }), + Bk = (b._emscripten_bind_btConvexTriangleMeshShape___destroy___0 = + function () { + return (Bk = + b._emscripten_bind_btConvexTriangleMeshShape___destroy___0 = + b.asm.Bi).apply(null, arguments); + }), + Ck = (b._emscripten_bind_btBoxShape_btBoxShape_1 = function () { + return (Ck = b._emscripten_bind_btBoxShape_btBoxShape_1 = + b.asm.Ci).apply(null, arguments); + }), + Dk = (b._emscripten_bind_btBoxShape_setMargin_1 = function () { + return (Dk = b._emscripten_bind_btBoxShape_setMargin_1 = + b.asm.Di).apply(null, arguments); + }), + Ek = (b._emscripten_bind_btBoxShape_getMargin_0 = function () { + return (Ek = b._emscripten_bind_btBoxShape_getMargin_0 = + b.asm.Ei).apply(null, arguments); + }), + Fk = (b._emscripten_bind_btBoxShape_setLocalScaling_1 = function () { + return (Fk = b._emscripten_bind_btBoxShape_setLocalScaling_1 = + b.asm.Fi).apply(null, arguments); + }), + Gk = (b._emscripten_bind_btBoxShape_getLocalScaling_0 = function () { + return (Gk = b._emscripten_bind_btBoxShape_getLocalScaling_0 = + b.asm.Gi).apply(null, arguments); + }), + Hk = (b._emscripten_bind_btBoxShape_calculateLocalInertia_2 = + function () { + return (Hk = b._emscripten_bind_btBoxShape_calculateLocalInertia_2 = + b.asm.Hi).apply(null, arguments); + }), + Ik = (b._emscripten_bind_btBoxShape___destroy___0 = function () { + return (Ik = b._emscripten_bind_btBoxShape___destroy___0 = + b.asm.Ii).apply(null, arguments); + }), + Jk = (b._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2 = function () { + return (Jk = b._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2 = + b.asm.Ji).apply(null, arguments); + }), + Kk = (b._emscripten_bind_btCapsuleShapeX_setMargin_1 = function () { + return (Kk = b._emscripten_bind_btCapsuleShapeX_setMargin_1 = + b.asm.Ki).apply(null, arguments); + }), + Lk = (b._emscripten_bind_btCapsuleShapeX_getMargin_0 = function () { + return (Lk = b._emscripten_bind_btCapsuleShapeX_getMargin_0 = + b.asm.Li).apply(null, arguments); + }), + Mk = (b._emscripten_bind_btCapsuleShapeX_getUpAxis_0 = function () { + return (Mk = b._emscripten_bind_btCapsuleShapeX_getUpAxis_0 = + b.asm.Mi).apply(null, arguments); + }), + Nk = (b._emscripten_bind_btCapsuleShapeX_getRadius_0 = function () { + return (Nk = b._emscripten_bind_btCapsuleShapeX_getRadius_0 = + b.asm.Ni).apply(null, arguments); + }), + Ok = (b._emscripten_bind_btCapsuleShapeX_getHalfHeight_0 = function () { + return (Ok = b._emscripten_bind_btCapsuleShapeX_getHalfHeight_0 = + b.asm.Oi).apply(null, arguments); + }), + Pk = (b._emscripten_bind_btCapsuleShapeX_setLocalScaling_1 = function () { + return (Pk = b._emscripten_bind_btCapsuleShapeX_setLocalScaling_1 = + b.asm.Pi).apply(null, arguments); + }), + Qk = (b._emscripten_bind_btCapsuleShapeX_getLocalScaling_0 = function () { + return (Qk = b._emscripten_bind_btCapsuleShapeX_getLocalScaling_0 = + b.asm.Qi).apply(null, arguments); + }), + Rk = (b._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2 = + function () { + return (Rk = + b._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2 = + b.asm.Ri).apply(null, arguments); + }), + Sk = (b._emscripten_bind_btCapsuleShapeX___destroy___0 = function () { + return (Sk = b._emscripten_bind_btCapsuleShapeX___destroy___0 = + b.asm.Si).apply(null, arguments); + }), + Tk = (b._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2 = function () { + return (Tk = b._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2 = + b.asm.Ti).apply(null, arguments); + }), + Uk = (b._emscripten_bind_btCapsuleShapeZ_setMargin_1 = function () { + return (Uk = b._emscripten_bind_btCapsuleShapeZ_setMargin_1 = + b.asm.Ui).apply(null, arguments); + }), + Vk = (b._emscripten_bind_btCapsuleShapeZ_getMargin_0 = function () { + return (Vk = b._emscripten_bind_btCapsuleShapeZ_getMargin_0 = + b.asm.Vi).apply(null, arguments); + }), + Wk = (b._emscripten_bind_btCapsuleShapeZ_getUpAxis_0 = function () { + return (Wk = b._emscripten_bind_btCapsuleShapeZ_getUpAxis_0 = + b.asm.Wi).apply(null, arguments); + }), + Xk = (b._emscripten_bind_btCapsuleShapeZ_getRadius_0 = function () { + return (Xk = b._emscripten_bind_btCapsuleShapeZ_getRadius_0 = + b.asm.Xi).apply(null, arguments); + }), + Yk = (b._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0 = function () { + return (Yk = b._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0 = + b.asm.Yi).apply(null, arguments); + }), + Zk = (b._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1 = function () { + return (Zk = b._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1 = + b.asm.Zi).apply(null, arguments); + }), + $k = (b._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0 = function () { + return ($k = b._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0 = + b.asm._i).apply(null, arguments); + }), + al = (b._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2 = + function () { + return (al = + b._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2 = + b.asm.$i).apply(null, arguments); + }), + bl = (b._emscripten_bind_btCapsuleShapeZ___destroy___0 = function () { + return (bl = b._emscripten_bind_btCapsuleShapeZ___destroy___0 = + b.asm.aj).apply(null, arguments); + }), + cl = (b._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1 = + function () { + return (cl = b._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1 = + b.asm.bj).apply(null, arguments); + }), + dl = (b._emscripten_bind_btCylinderShapeX_setMargin_1 = function () { + return (dl = b._emscripten_bind_btCylinderShapeX_setMargin_1 = + b.asm.cj).apply(null, arguments); + }), + el = (b._emscripten_bind_btCylinderShapeX_getMargin_0 = function () { + return (el = b._emscripten_bind_btCylinderShapeX_getMargin_0 = + b.asm.dj).apply(null, arguments); + }), + fl = (b._emscripten_bind_btCylinderShapeX_setLocalScaling_1 = + function () { + return (fl = b._emscripten_bind_btCylinderShapeX_setLocalScaling_1 = + b.asm.ej).apply(null, arguments); + }), + gl = (b._emscripten_bind_btCylinderShapeX_getLocalScaling_0 = + function () { + return (gl = b._emscripten_bind_btCylinderShapeX_getLocalScaling_0 = + b.asm.fj).apply(null, arguments); + }), + hl = (b._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2 = + function () { + return (hl = + b._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2 = + b.asm.gj).apply(null, arguments); + }), + il = (b._emscripten_bind_btCylinderShapeX___destroy___0 = function () { + return (il = b._emscripten_bind_btCylinderShapeX___destroy___0 = + b.asm.hj).apply(null, arguments); + }), + jl = (b._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1 = + function () { + return (jl = b._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1 = + b.asm.ij).apply(null, arguments); + }), + kl = (b._emscripten_bind_btCylinderShapeZ_setMargin_1 = function () { + return (kl = b._emscripten_bind_btCylinderShapeZ_setMargin_1 = + b.asm.jj).apply(null, arguments); + }), + ll = (b._emscripten_bind_btCylinderShapeZ_getMargin_0 = function () { + return (ll = b._emscripten_bind_btCylinderShapeZ_getMargin_0 = + b.asm.kj).apply(null, arguments); + }), + ml = (b._emscripten_bind_btCylinderShapeZ_setLocalScaling_1 = + function () { + return (ml = b._emscripten_bind_btCylinderShapeZ_setLocalScaling_1 = + b.asm.lj).apply(null, arguments); + }), + nl = (b._emscripten_bind_btCylinderShapeZ_getLocalScaling_0 = + function () { + return (nl = b._emscripten_bind_btCylinderShapeZ_getLocalScaling_0 = + b.asm.mj).apply(null, arguments); + }), + ol = (b._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2 = + function () { + return (ol = + b._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2 = + b.asm.nj).apply(null, arguments); + }), + pl = (b._emscripten_bind_btCylinderShapeZ___destroy___0 = function () { + return (pl = b._emscripten_bind_btCylinderShapeZ___destroy___0 = + b.asm.oj).apply(null, arguments); + }), + ql = (b._emscripten_bind_btSphereShape_btSphereShape_1 = function () { + return (ql = b._emscripten_bind_btSphereShape_btSphereShape_1 = + b.asm.pj).apply(null, arguments); + }), + rl = (b._emscripten_bind_btSphereShape_setMargin_1 = function () { + return (rl = b._emscripten_bind_btSphereShape_setMargin_1 = + b.asm.qj).apply(null, arguments); + }), + sl = (b._emscripten_bind_btSphereShape_getMargin_0 = function () { + return (sl = b._emscripten_bind_btSphereShape_getMargin_0 = + b.asm.rj).apply(null, arguments); + }), + tl = (b._emscripten_bind_btSphereShape_setLocalScaling_1 = function () { + return (tl = b._emscripten_bind_btSphereShape_setLocalScaling_1 = + b.asm.sj).apply(null, arguments); + }), + ul = (b._emscripten_bind_btSphereShape_getLocalScaling_0 = function () { + return (ul = b._emscripten_bind_btSphereShape_getLocalScaling_0 = + b.asm.tj).apply(null, arguments); + }), + vl = (b._emscripten_bind_btSphereShape_calculateLocalInertia_2 = + function () { + return (vl = + b._emscripten_bind_btSphereShape_calculateLocalInertia_2 = + b.asm.uj).apply(null, arguments); + }), + wl = (b._emscripten_bind_btSphereShape___destroy___0 = function () { + return (wl = b._emscripten_bind_btSphereShape___destroy___0 = + b.asm.vj).apply(null, arguments); + }), + xl = (b._emscripten_bind_btMultiSphereShape_btMultiSphereShape_3 = + function () { + return (xl = + b._emscripten_bind_btMultiSphereShape_btMultiSphereShape_3 = + b.asm.wj).apply(null, arguments); + }), + yl = (b._emscripten_bind_btMultiSphereShape_setLocalScaling_1 = + function () { + return (yl = b._emscripten_bind_btMultiSphereShape_setLocalScaling_1 = + b.asm.xj).apply(null, arguments); + }), + zl = (b._emscripten_bind_btMultiSphereShape_getLocalScaling_0 = + function () { + return (zl = b._emscripten_bind_btMultiSphereShape_getLocalScaling_0 = + b.asm.yj).apply(null, arguments); + }), + Al = (b._emscripten_bind_btMultiSphereShape_calculateLocalInertia_2 = + function () { + return (Al = + b._emscripten_bind_btMultiSphereShape_calculateLocalInertia_2 = + b.asm.zj).apply(null, arguments); + }), + Bl = (b._emscripten_bind_btMultiSphereShape___destroy___0 = function () { + return (Bl = b._emscripten_bind_btMultiSphereShape___destroy___0 = + b.asm.Aj).apply(null, arguments); + }), + Cl = (b._emscripten_bind_btConeShapeX_btConeShapeX_2 = function () { + return (Cl = b._emscripten_bind_btConeShapeX_btConeShapeX_2 = + b.asm.Bj).apply(null, arguments); + }), + Dl = (b._emscripten_bind_btConeShapeX_setLocalScaling_1 = function () { + return (Dl = b._emscripten_bind_btConeShapeX_setLocalScaling_1 = + b.asm.Cj).apply(null, arguments); + }), + El = (b._emscripten_bind_btConeShapeX_getLocalScaling_0 = function () { + return (El = b._emscripten_bind_btConeShapeX_getLocalScaling_0 = + b.asm.Dj).apply(null, arguments); + }), + Fl = (b._emscripten_bind_btConeShapeX_calculateLocalInertia_2 = + function () { + return (Fl = b._emscripten_bind_btConeShapeX_calculateLocalInertia_2 = + b.asm.Ej).apply(null, arguments); + }), + Gl = (b._emscripten_bind_btConeShapeX___destroy___0 = function () { + return (Gl = b._emscripten_bind_btConeShapeX___destroy___0 = + b.asm.Fj).apply(null, arguments); + }), + Hl = (b._emscripten_bind_btConeShapeZ_btConeShapeZ_2 = function () { + return (Hl = b._emscripten_bind_btConeShapeZ_btConeShapeZ_2 = + b.asm.Gj).apply(null, arguments); + }), + Il = (b._emscripten_bind_btConeShapeZ_setLocalScaling_1 = function () { + return (Il = b._emscripten_bind_btConeShapeZ_setLocalScaling_1 = + b.asm.Hj).apply(null, arguments); + }), + Jl = (b._emscripten_bind_btConeShapeZ_getLocalScaling_0 = function () { + return (Jl = b._emscripten_bind_btConeShapeZ_getLocalScaling_0 = + b.asm.Ij).apply(null, arguments); + }), + Kl = (b._emscripten_bind_btConeShapeZ_calculateLocalInertia_2 = + function () { + return (Kl = b._emscripten_bind_btConeShapeZ_calculateLocalInertia_2 = + b.asm.Jj).apply(null, arguments); + }), + Ll = (b._emscripten_bind_btConeShapeZ___destroy___0 = function () { + return (Ll = b._emscripten_bind_btConeShapeZ___destroy___0 = + b.asm.Kj).apply(null, arguments); + }), + Ml = (b._emscripten_bind_btIntArray_size_0 = function () { + return (Ml = b._emscripten_bind_btIntArray_size_0 = b.asm.Lj).apply( + null, + arguments, + ); + }), + Nl = (b._emscripten_bind_btIntArray_at_1 = function () { + return (Nl = b._emscripten_bind_btIntArray_at_1 = b.asm.Mj).apply( + null, + arguments, + ); + }), + Ol = (b._emscripten_bind_btIntArray___destroy___0 = function () { + return (Ol = b._emscripten_bind_btIntArray___destroy___0 = + b.asm.Nj).apply(null, arguments); + }), + Pl = (b._emscripten_bind_btFace_get_m_indices_0 = function () { + return (Pl = b._emscripten_bind_btFace_get_m_indices_0 = + b.asm.Oj).apply(null, arguments); + }), + Ql = (b._emscripten_bind_btFace_set_m_indices_1 = function () { + return (Ql = b._emscripten_bind_btFace_set_m_indices_1 = + b.asm.Pj).apply(null, arguments); + }), + Rl = (b._emscripten_bind_btFace_get_m_plane_1 = function () { + return (Rl = b._emscripten_bind_btFace_get_m_plane_1 = b.asm.Qj).apply( + null, + arguments, + ); + }), + Sl = (b._emscripten_bind_btFace_set_m_plane_2 = function () { + return (Sl = b._emscripten_bind_btFace_set_m_plane_2 = b.asm.Rj).apply( + null, + arguments, + ); + }), + Tl = (b._emscripten_bind_btFace___destroy___0 = function () { + return (Tl = b._emscripten_bind_btFace___destroy___0 = b.asm.Sj).apply( + null, + arguments, + ); + }), + Ul = (b._emscripten_bind_btVector3Array_size_0 = function () { + return (Ul = b._emscripten_bind_btVector3Array_size_0 = b.asm.Tj).apply( + null, + arguments, + ); + }), + Vl = (b._emscripten_bind_btVector3Array_at_1 = function () { + return (Vl = b._emscripten_bind_btVector3Array_at_1 = b.asm.Uj).apply( + null, + arguments, + ); + }), + Wl = (b._emscripten_bind_btVector3Array___destroy___0 = function () { + return (Wl = b._emscripten_bind_btVector3Array___destroy___0 = + b.asm.Vj).apply(null, arguments); + }), + Xl = (b._emscripten_bind_btFaceArray_size_0 = function () { + return (Xl = b._emscripten_bind_btFaceArray_size_0 = b.asm.Wj).apply( + null, + arguments, + ); + }), + Yl = (b._emscripten_bind_btFaceArray_at_1 = function () { + return (Yl = b._emscripten_bind_btFaceArray_at_1 = b.asm.Xj).apply( + null, + arguments, + ); + }), + Zl = (b._emscripten_bind_btFaceArray___destroy___0 = function () { + return (Zl = b._emscripten_bind_btFaceArray___destroy___0 = + b.asm.Yj).apply(null, arguments); + }), + $l = (b._emscripten_bind_btConvexPolyhedron_get_m_vertices_0 = + function () { + return ($l = b._emscripten_bind_btConvexPolyhedron_get_m_vertices_0 = + b.asm.Zj).apply(null, arguments); + }), + am = (b._emscripten_bind_btConvexPolyhedron_set_m_vertices_1 = + function () { + return (am = b._emscripten_bind_btConvexPolyhedron_set_m_vertices_1 = + b.asm._j).apply(null, arguments); + }), + bm = (b._emscripten_bind_btConvexPolyhedron_get_m_faces_0 = function () { + return (bm = b._emscripten_bind_btConvexPolyhedron_get_m_faces_0 = + b.asm.$j).apply(null, arguments); + }), + cm = (b._emscripten_bind_btConvexPolyhedron_set_m_faces_1 = function () { + return (cm = b._emscripten_bind_btConvexPolyhedron_set_m_faces_1 = + b.asm.ak).apply(null, arguments); + }), + dm = (b._emscripten_bind_btConvexPolyhedron___destroy___0 = function () { + return (dm = b._emscripten_bind_btConvexPolyhedron___destroy___0 = + b.asm.bk).apply(null, arguments); + }), + em = (b._emscripten_bind_btConvexHullShape_btConvexHullShape_0 = + function () { + return (em = + b._emscripten_bind_btConvexHullShape_btConvexHullShape_0 = + b.asm.ck).apply(null, arguments); + }), + fm = (b._emscripten_bind_btConvexHullShape_btConvexHullShape_1 = + function () { + return (fm = + b._emscripten_bind_btConvexHullShape_btConvexHullShape_1 = + b.asm.dk).apply(null, arguments); + }), + gm = (b._emscripten_bind_btConvexHullShape_btConvexHullShape_2 = + function () { + return (gm = + b._emscripten_bind_btConvexHullShape_btConvexHullShape_2 = + b.asm.ek).apply(null, arguments); + }), + hm = (b._emscripten_bind_btConvexHullShape_addPoint_1 = function () { + return (hm = b._emscripten_bind_btConvexHullShape_addPoint_1 = + b.asm.fk).apply(null, arguments); + }), + im = (b._emscripten_bind_btConvexHullShape_addPoint_2 = function () { + return (im = b._emscripten_bind_btConvexHullShape_addPoint_2 = + b.asm.gk).apply(null, arguments); + }), + jm = (b._emscripten_bind_btConvexHullShape_setMargin_1 = function () { + return (jm = b._emscripten_bind_btConvexHullShape_setMargin_1 = + b.asm.hk).apply(null, arguments); + }), + km = (b._emscripten_bind_btConvexHullShape_getMargin_0 = function () { + return (km = b._emscripten_bind_btConvexHullShape_getMargin_0 = + b.asm.ik).apply(null, arguments); + }), + lm = (b._emscripten_bind_btConvexHullShape_getNumVertices_0 = + function () { + return (lm = b._emscripten_bind_btConvexHullShape_getNumVertices_0 = + b.asm.jk).apply(null, arguments); + }), + mm = + (b._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1 = + function () { + return (mm = + b._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1 = + b.asm.kk).apply(null, arguments); + }), + nm = (b._emscripten_bind_btConvexHullShape_recalcLocalAabb_0 = + function () { + return (nm = b._emscripten_bind_btConvexHullShape_recalcLocalAabb_0 = + b.asm.lk).apply(null, arguments); + }), + om = (b._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0 = + function () { + return (om = + b._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0 = + b.asm.mk).apply(null, arguments); + }), + pm = (b._emscripten_bind_btConvexHullShape_setLocalScaling_1 = + function () { + return (pm = b._emscripten_bind_btConvexHullShape_setLocalScaling_1 = + b.asm.nk).apply(null, arguments); + }), + qm = (b._emscripten_bind_btConvexHullShape_getLocalScaling_0 = + function () { + return (qm = b._emscripten_bind_btConvexHullShape_getLocalScaling_0 = + b.asm.ok).apply(null, arguments); + }), + rm = (b._emscripten_bind_btConvexHullShape_calculateLocalInertia_2 = + function () { + return (rm = + b._emscripten_bind_btConvexHullShape_calculateLocalInertia_2 = + b.asm.pk).apply(null, arguments); + }), + sm = (b._emscripten_bind_btConvexHullShape___destroy___0 = function () { + return (sm = b._emscripten_bind_btConvexHullShape___destroy___0 = + b.asm.qk).apply(null, arguments); + }), + tm = (b._emscripten_bind_btShapeHull_btShapeHull_1 = function () { + return (tm = b._emscripten_bind_btShapeHull_btShapeHull_1 = + b.asm.rk).apply(null, arguments); + }), + um = (b._emscripten_bind_btShapeHull_buildHull_1 = function () { + return (um = b._emscripten_bind_btShapeHull_buildHull_1 = + b.asm.sk).apply(null, arguments); + }), + wm = (b._emscripten_bind_btShapeHull_numVertices_0 = function () { + return (wm = b._emscripten_bind_btShapeHull_numVertices_0 = + b.asm.tk).apply(null, arguments); + }), + xm = (b._emscripten_bind_btShapeHull_getVertexPointer_0 = function () { + return (xm = b._emscripten_bind_btShapeHull_getVertexPointer_0 = + b.asm.uk).apply(null, arguments); + }), + ym = (b._emscripten_bind_btShapeHull___destroy___0 = function () { + return (ym = b._emscripten_bind_btShapeHull___destroy___0 = + b.asm.vk).apply(null, arguments); + }), + zm = (b._emscripten_bind_btCompoundShape_btCompoundShape_0 = function () { + return (zm = b._emscripten_bind_btCompoundShape_btCompoundShape_0 = + b.asm.wk).apply(null, arguments); + }), + Am = (b._emscripten_bind_btCompoundShape_btCompoundShape_1 = function () { + return (Am = b._emscripten_bind_btCompoundShape_btCompoundShape_1 = + b.asm.xk).apply(null, arguments); + }), + Bm = (b._emscripten_bind_btCompoundShape_addChildShape_2 = function () { + return (Bm = b._emscripten_bind_btCompoundShape_addChildShape_2 = + b.asm.yk).apply(null, arguments); + }), + Cm = (b._emscripten_bind_btCompoundShape_removeChildShape_1 = + function () { + return (Cm = b._emscripten_bind_btCompoundShape_removeChildShape_1 = + b.asm.zk).apply(null, arguments); + }), + Dm = (b._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1 = + function () { + return (Dm = + b._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1 = + b.asm.Ak).apply(null, arguments); + }), + Em = (b._emscripten_bind_btCompoundShape_getNumChildShapes_0 = + function () { + return (Em = b._emscripten_bind_btCompoundShape_getNumChildShapes_0 = + b.asm.Bk).apply(null, arguments); + }), + Fm = (b._emscripten_bind_btCompoundShape_getChildShape_1 = function () { + return (Fm = b._emscripten_bind_btCompoundShape_getChildShape_1 = + b.asm.Ck).apply(null, arguments); + }), + Gm = (b._emscripten_bind_btCompoundShape_updateChildTransform_2 = + function () { + return (Gm = + b._emscripten_bind_btCompoundShape_updateChildTransform_2 = + b.asm.Dk).apply(null, arguments); + }), + Hm = (b._emscripten_bind_btCompoundShape_updateChildTransform_3 = + function () { + return (Hm = + b._emscripten_bind_btCompoundShape_updateChildTransform_3 = + b.asm.Ek).apply(null, arguments); + }), + Im = (b._emscripten_bind_btCompoundShape_setMargin_1 = function () { + return (Im = b._emscripten_bind_btCompoundShape_setMargin_1 = + b.asm.Fk).apply(null, arguments); + }), + Jm = (b._emscripten_bind_btCompoundShape_getMargin_0 = function () { + return (Jm = b._emscripten_bind_btCompoundShape_getMargin_0 = + b.asm.Gk).apply(null, arguments); + }), + Km = (b._emscripten_bind_btCompoundShape_setLocalScaling_1 = function () { + return (Km = b._emscripten_bind_btCompoundShape_setLocalScaling_1 = + b.asm.Hk).apply(null, arguments); + }), + Lm = (b._emscripten_bind_btCompoundShape_getLocalScaling_0 = function () { + return (Lm = b._emscripten_bind_btCompoundShape_getLocalScaling_0 = + b.asm.Ik).apply(null, arguments); + }), + Mm = (b._emscripten_bind_btCompoundShape_calculateLocalInertia_2 = + function () { + return (Mm = + b._emscripten_bind_btCompoundShape_calculateLocalInertia_2 = + b.asm.Jk).apply(null, arguments); + }), + Nm = (b._emscripten_bind_btCompoundShape___destroy___0 = function () { + return (Nm = b._emscripten_bind_btCompoundShape___destroy___0 = + b.asm.Kk).apply(null, arguments); + }), + Om = (b._emscripten_bind_btIndexedMesh_get_m_numTriangles_0 = + function () { + return (Om = b._emscripten_bind_btIndexedMesh_get_m_numTriangles_0 = + b.asm.Lk).apply(null, arguments); + }), + Pm = (b._emscripten_bind_btIndexedMesh_set_m_numTriangles_1 = + function () { + return (Pm = b._emscripten_bind_btIndexedMesh_set_m_numTriangles_1 = + b.asm.Mk).apply(null, arguments); + }), + Qm = (b._emscripten_bind_btIndexedMesh___destroy___0 = function () { + return (Qm = b._emscripten_bind_btIndexedMesh___destroy___0 = + b.asm.Nk).apply(null, arguments); + }), + Rm = (b._emscripten_bind_btIndexedMeshArray_size_0 = function () { + return (Rm = b._emscripten_bind_btIndexedMeshArray_size_0 = + b.asm.Ok).apply(null, arguments); + }), + Sm = (b._emscripten_bind_btIndexedMeshArray_at_1 = function () { + return (Sm = b._emscripten_bind_btIndexedMeshArray_at_1 = + b.asm.Pk).apply(null, arguments); + }), + Tm = (b._emscripten_bind_btIndexedMeshArray___destroy___0 = function () { + return (Tm = b._emscripten_bind_btIndexedMeshArray___destroy___0 = + b.asm.Qk).apply(null, arguments); + }), + Um = (b._emscripten_bind_btTriangleMesh_btTriangleMesh_0 = function () { + return (Um = b._emscripten_bind_btTriangleMesh_btTriangleMesh_0 = + b.asm.Rk).apply(null, arguments); + }), + Vm = (b._emscripten_bind_btTriangleMesh_btTriangleMesh_1 = function () { + return (Vm = b._emscripten_bind_btTriangleMesh_btTriangleMesh_1 = + b.asm.Sk).apply(null, arguments); + }), + Wm = (b._emscripten_bind_btTriangleMesh_btTriangleMesh_2 = function () { + return (Wm = b._emscripten_bind_btTriangleMesh_btTriangleMesh_2 = + b.asm.Tk).apply(null, arguments); + }), + Xm = (b._emscripten_bind_btTriangleMesh_addTriangle_3 = function () { + return (Xm = b._emscripten_bind_btTriangleMesh_addTriangle_3 = + b.asm.Uk).apply(null, arguments); + }), + Ym = (b._emscripten_bind_btTriangleMesh_addTriangle_4 = function () { + return (Ym = b._emscripten_bind_btTriangleMesh_addTriangle_4 = + b.asm.Vk).apply(null, arguments); + }), + Zm = (b._emscripten_bind_btTriangleMesh_findOrAddVertex_2 = function () { + return (Zm = b._emscripten_bind_btTriangleMesh_findOrAddVertex_2 = + b.asm.Wk).apply(null, arguments); + }), + $m = (b._emscripten_bind_btTriangleMesh_addIndex_1 = function () { + return ($m = b._emscripten_bind_btTriangleMesh_addIndex_1 = + b.asm.Xk).apply(null, arguments); + }), + an = (b._emscripten_bind_btTriangleMesh_getIndexedMeshArray_0 = + function () { + return (an = b._emscripten_bind_btTriangleMesh_getIndexedMeshArray_0 = + b.asm.Yk).apply(null, arguments); + }), + bn = (b._emscripten_bind_btTriangleMesh_setScaling_1 = function () { + return (bn = b._emscripten_bind_btTriangleMesh_setScaling_1 = + b.asm.Zk).apply(null, arguments); + }), + cn = (b._emscripten_bind_btTriangleMesh___destroy___0 = function () { + return (cn = b._emscripten_bind_btTriangleMesh___destroy___0 = + b.asm._k).apply(null, arguments); + }), + dn = (b._emscripten_bind_btEmptyShape_btEmptyShape_0 = function () { + return (dn = b._emscripten_bind_btEmptyShape_btEmptyShape_0 = + b.asm.$k).apply(null, arguments); + }), + en = (b._emscripten_bind_btEmptyShape_setLocalScaling_1 = function () { + return (en = b._emscripten_bind_btEmptyShape_setLocalScaling_1 = + b.asm.al).apply(null, arguments); + }), + fn = (b._emscripten_bind_btEmptyShape_getLocalScaling_0 = function () { + return (fn = b._emscripten_bind_btEmptyShape_getLocalScaling_0 = + b.asm.bl).apply(null, arguments); + }), + gn = (b._emscripten_bind_btEmptyShape_calculateLocalInertia_2 = + function () { + return (gn = b._emscripten_bind_btEmptyShape_calculateLocalInertia_2 = + b.asm.cl).apply(null, arguments); + }), + hn = (b._emscripten_bind_btEmptyShape___destroy___0 = function () { + return (hn = b._emscripten_bind_btEmptyShape___destroy___0 = + b.asm.dl).apply(null, arguments); + }), + jn = (b._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2 = + function () { + return (jn = + b._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2 = + b.asm.el).apply(null, arguments); + }), + kn = (b._emscripten_bind_btStaticPlaneShape_setLocalScaling_1 = + function () { + return (kn = b._emscripten_bind_btStaticPlaneShape_setLocalScaling_1 = + b.asm.fl).apply(null, arguments); + }), + ln = (b._emscripten_bind_btStaticPlaneShape_getLocalScaling_0 = + function () { + return (ln = b._emscripten_bind_btStaticPlaneShape_getLocalScaling_0 = + b.asm.gl).apply(null, arguments); + }), + mn = (b._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2 = + function () { + return (mn = + b._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2 = + b.asm.hl).apply(null, arguments); + }), + nn = (b._emscripten_bind_btStaticPlaneShape___destroy___0 = function () { + return (nn = b._emscripten_bind_btStaticPlaneShape___destroy___0 = + b.asm.il).apply(null, arguments); + }), + on = (b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2 = + function () { + return (on = + b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2 = + b.asm.jl).apply(null, arguments); + }), + pn = (b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3 = + function () { + return (pn = + b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3 = + b.asm.kl).apply(null, arguments); + }), + qn = (b._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1 = + function () { + return (qn = + b._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1 = + b.asm.ll).apply(null, arguments); + }), + rn = (b._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0 = + function () { + return (rn = + b._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0 = + b.asm.ml).apply(null, arguments); + }), + sn = (b._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2 = + function () { + return (sn = + b._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2 = + b.asm.nl).apply(null, arguments); + }), + tn = (b._emscripten_bind_btBvhTriangleMeshShape___destroy___0 = + function () { + return (tn = b._emscripten_bind_btBvhTriangleMeshShape___destroy___0 = + b.asm.ol).apply(null, arguments); + }), + un = + (b._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9 = + function () { + return (un = + b._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9 = + b.asm.pl).apply(null, arguments); + }), + vn = (b._emscripten_bind_btHeightfieldTerrainShape_setMargin_1 = + function () { + return (vn = + b._emscripten_bind_btHeightfieldTerrainShape_setMargin_1 = + b.asm.ql).apply(null, arguments); + }), + wn = (b._emscripten_bind_btHeightfieldTerrainShape_getMargin_0 = + function () { + return (wn = + b._emscripten_bind_btHeightfieldTerrainShape_getMargin_0 = + b.asm.rl).apply(null, arguments); + }), + xn = (b._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1 = + function () { + return (xn = + b._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1 = + b.asm.sl).apply(null, arguments); + }), + yn = (b._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0 = + function () { + return (yn = + b._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0 = + b.asm.tl).apply(null, arguments); + }), + zn = + (b._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2 = + function () { + return (zn = + b._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2 = + b.asm.ul).apply(null, arguments); + }), + An = (b._emscripten_bind_btHeightfieldTerrainShape___destroy___0 = + function () { + return (An = + b._emscripten_bind_btHeightfieldTerrainShape___destroy___0 = + b.asm.vl).apply(null, arguments); + }), + Bn = (b._emscripten_bind_btAABB_btAABB_4 = function () { + return (Bn = b._emscripten_bind_btAABB_btAABB_4 = b.asm.wl).apply( + null, + arguments, + ); + }), + Cn = (b._emscripten_bind_btAABB_invalidate_0 = function () { + return (Cn = b._emscripten_bind_btAABB_invalidate_0 = b.asm.xl).apply( + null, + arguments, + ); + }), + Dn = (b._emscripten_bind_btAABB_increment_margin_1 = function () { + return (Dn = b._emscripten_bind_btAABB_increment_margin_1 = + b.asm.yl).apply(null, arguments); + }), + En = (b._emscripten_bind_btAABB_copy_with_margin_2 = function () { + return (En = b._emscripten_bind_btAABB_copy_with_margin_2 = + b.asm.zl).apply(null, arguments); + }), + Fn = (b._emscripten_bind_btAABB___destroy___0 = function () { + return (Fn = b._emscripten_bind_btAABB___destroy___0 = b.asm.Al).apply( + null, + arguments, + ); + }), + Gn = (b._emscripten_bind_btPrimitiveTriangle_btPrimitiveTriangle_0 = + function () { + return (Gn = + b._emscripten_bind_btPrimitiveTriangle_btPrimitiveTriangle_0 = + b.asm.Bl).apply(null, arguments); + }), + Hn = (b._emscripten_bind_btPrimitiveTriangle___destroy___0 = function () { + return (Hn = b._emscripten_bind_btPrimitiveTriangle___destroy___0 = + b.asm.Cl).apply(null, arguments); + }), + In = (b._emscripten_bind_btTriangleShapeEx_btTriangleShapeEx_3 = + function () { + return (In = + b._emscripten_bind_btTriangleShapeEx_btTriangleShapeEx_3 = + b.asm.Dl).apply(null, arguments); + }), + Jn = (b._emscripten_bind_btTriangleShapeEx_getAabb_3 = function () { + return (Jn = b._emscripten_bind_btTriangleShapeEx_getAabb_3 = + b.asm.El).apply(null, arguments); + }), + Kn = (b._emscripten_bind_btTriangleShapeEx_applyTransform_1 = + function () { + return (Kn = b._emscripten_bind_btTriangleShapeEx_applyTransform_1 = + b.asm.Fl).apply(null, arguments); + }), + Ln = (b._emscripten_bind_btTriangleShapeEx_buildTriPlane_1 = function () { + return (Ln = b._emscripten_bind_btTriangleShapeEx_buildTriPlane_1 = + b.asm.Gl).apply(null, arguments); + }), + Mn = (b._emscripten_bind_btTriangleShapeEx___destroy___0 = function () { + return (Mn = b._emscripten_bind_btTriangleShapeEx___destroy___0 = + b.asm.Hl).apply(null, arguments); + }), + Nn = (b._emscripten_bind_btTetrahedronShapeEx_btTetrahedronShapeEx_0 = + function () { + return (Nn = + b._emscripten_bind_btTetrahedronShapeEx_btTetrahedronShapeEx_0 = + b.asm.Il).apply(null, arguments); + }), + On = (b._emscripten_bind_btTetrahedronShapeEx_setVertices_4 = + function () { + return (On = b._emscripten_bind_btTetrahedronShapeEx_setVertices_4 = + b.asm.Jl).apply(null, arguments); + }), + Pn = (b._emscripten_bind_btTetrahedronShapeEx___destroy___0 = + function () { + return (Pn = b._emscripten_bind_btTetrahedronShapeEx___destroy___0 = + b.asm.Kl).apply(null, arguments); + }), + Qn = (b._emscripten_bind_CompoundPrimitiveManager_get_primitive_count_0 = + function () { + return (Qn = + b._emscripten_bind_CompoundPrimitiveManager_get_primitive_count_0 = + b.asm.Ll).apply(null, arguments); + }), + Rn = (b._emscripten_bind_CompoundPrimitiveManager_get_primitive_box_2 = + function () { + return (Rn = + b._emscripten_bind_CompoundPrimitiveManager_get_primitive_box_2 = + b.asm.Ml).apply(null, arguments); + }), + Sn = + (b._emscripten_bind_CompoundPrimitiveManager_get_primitive_triangle_2 = + function () { + return (Sn = + b._emscripten_bind_CompoundPrimitiveManager_get_primitive_triangle_2 = + b.asm.Nl).apply(null, arguments); + }), + Tn = (b._emscripten_bind_CompoundPrimitiveManager_is_trimesh_0 = + function () { + return (Tn = + b._emscripten_bind_CompoundPrimitiveManager_is_trimesh_0 = + b.asm.Ol).apply(null, arguments); + }), + Un = (b._emscripten_bind_CompoundPrimitiveManager_get_m_compoundShape_0 = + function () { + return (Un = + b._emscripten_bind_CompoundPrimitiveManager_get_m_compoundShape_0 = + b.asm.Pl).apply(null, arguments); + }), + Vn = (b._emscripten_bind_CompoundPrimitiveManager_set_m_compoundShape_1 = + function () { + return (Vn = + b._emscripten_bind_CompoundPrimitiveManager_set_m_compoundShape_1 = + b.asm.Ql).apply(null, arguments); + }), + Wn = (b._emscripten_bind_CompoundPrimitiveManager___destroy___0 = + function () { + return (Wn = + b._emscripten_bind_CompoundPrimitiveManager___destroy___0 = + b.asm.Rl).apply(null, arguments); + }), + Xn = (b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_0 = + function () { + return (Xn = + b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_0 = + b.asm.Sl).apply(null, arguments); + }), + Yn = (b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_1 = + function () { + return (Yn = + b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_1 = + b.asm.Tl).apply(null, arguments); + }), + Zn = (b._emscripten_bind_btGImpactCompoundShape_childrenHasTransform_0 = + function () { + return (Zn = + b._emscripten_bind_btGImpactCompoundShape_childrenHasTransform_0 = + b.asm.Ul).apply(null, arguments); + }), + $n = (b._emscripten_bind_btGImpactCompoundShape_getPrimitiveManager_0 = + function () { + return ($n = + b._emscripten_bind_btGImpactCompoundShape_getPrimitiveManager_0 = + b.asm.Vl).apply(null, arguments); + }), + ao = + (b._emscripten_bind_btGImpactCompoundShape_getCompoundPrimitiveManager_0 = + function () { + return (ao = + b._emscripten_bind_btGImpactCompoundShape_getCompoundPrimitiveManager_0 = + b.asm.Wl).apply(null, arguments); + }), + bo = (b._emscripten_bind_btGImpactCompoundShape_getNumChildShapes_0 = + function () { + return (bo = + b._emscripten_bind_btGImpactCompoundShape_getNumChildShapes_0 = + b.asm.Xl).apply(null, arguments); + }), + co = (b._emscripten_bind_btGImpactCompoundShape_addChildShape_2 = + function () { + return (co = + b._emscripten_bind_btGImpactCompoundShape_addChildShape_2 = + b.asm.Yl).apply(null, arguments); + }), + eo = (b._emscripten_bind_btGImpactCompoundShape_getChildShape_1 = + function () { + return (eo = + b._emscripten_bind_btGImpactCompoundShape_getChildShape_1 = + b.asm.Zl).apply(null, arguments); + }), + fo = (b._emscripten_bind_btGImpactCompoundShape_getChildAabb_4 = + function () { + return (fo = + b._emscripten_bind_btGImpactCompoundShape_getChildAabb_4 = + b.asm._l).apply(null, arguments); + }), + go = (b._emscripten_bind_btGImpactCompoundShape_getChildTransform_1 = + function () { + return (go = + b._emscripten_bind_btGImpactCompoundShape_getChildTransform_1 = + b.asm.$l).apply(null, arguments); + }), + ho = (b._emscripten_bind_btGImpactCompoundShape_setChildTransform_2 = + function () { + return (ho = + b._emscripten_bind_btGImpactCompoundShape_setChildTransform_2 = + b.asm.am).apply(null, arguments); + }), + io = (b._emscripten_bind_btGImpactCompoundShape_calculateLocalInertia_2 = + function () { + return (io = + b._emscripten_bind_btGImpactCompoundShape_calculateLocalInertia_2 = + b.asm.bm).apply(null, arguments); + }), + jo = (b._emscripten_bind_btGImpactCompoundShape_getName_0 = function () { + return (jo = b._emscripten_bind_btGImpactCompoundShape_getName_0 = + b.asm.cm).apply(null, arguments); + }), + ko = (b._emscripten_bind_btGImpactCompoundShape_getGImpactShapeType_0 = + function () { + return (ko = + b._emscripten_bind_btGImpactCompoundShape_getGImpactShapeType_0 = + b.asm.dm).apply(null, arguments); + }), + lo = (b._emscripten_bind_btGImpactCompoundShape_setLocalScaling_1 = + function () { + return (lo = + b._emscripten_bind_btGImpactCompoundShape_setLocalScaling_1 = + b.asm.em).apply(null, arguments); + }), + mo = (b._emscripten_bind_btGImpactCompoundShape_getLocalScaling_0 = + function () { + return (mo = + b._emscripten_bind_btGImpactCompoundShape_getLocalScaling_0 = + b.asm.fm).apply(null, arguments); + }), + no = (b._emscripten_bind_btGImpactCompoundShape_updateBound_0 = + function () { + return (no = b._emscripten_bind_btGImpactCompoundShape_updateBound_0 = + b.asm.gm).apply(null, arguments); + }), + oo = (b._emscripten_bind_btGImpactCompoundShape_postUpdate_0 = + function () { + return (oo = b._emscripten_bind_btGImpactCompoundShape_postUpdate_0 = + b.asm.hm).apply(null, arguments); + }), + po = (b._emscripten_bind_btGImpactCompoundShape_getShapeType_0 = + function () { + return (po = + b._emscripten_bind_btGImpactCompoundShape_getShapeType_0 = + b.asm.im).apply(null, arguments); + }), + qo = (b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTriangles_0 = + function () { + return (qo = + b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTriangles_0 = + b.asm.jm).apply(null, arguments); + }), + ro = + (b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTetrahedrons_0 = + function () { + return (ro = + b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTetrahedrons_0 = + b.asm.km).apply(null, arguments); + }), + so = (b._emscripten_bind_btGImpactCompoundShape_getBulletTriangle_2 = + function () { + return (so = + b._emscripten_bind_btGImpactCompoundShape_getBulletTriangle_2 = + b.asm.lm).apply(null, arguments); + }), + to = (b._emscripten_bind_btGImpactCompoundShape_getBulletTetrahedron_2 = + function () { + return (to = + b._emscripten_bind_btGImpactCompoundShape_getBulletTetrahedron_2 = + b.asm.mm).apply(null, arguments); + }), + uo = (b._emscripten_bind_btGImpactCompoundShape___destroy___0 = + function () { + return (uo = b._emscripten_bind_btGImpactCompoundShape___destroy___0 = + b.asm.nm).apply(null, arguments); + }), + vo = + (b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_0 = + function () { + return (vo = + b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_0 = + b.asm.om).apply(null, arguments); + }), + wo = + (b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_1 = + function () { + return (wo = + b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_1 = + b.asm.pm).apply(null, arguments); + }), + xo = (b._emscripten_bind_TrimeshPrimitiveManager_lock_0 = function () { + return (xo = b._emscripten_bind_TrimeshPrimitiveManager_lock_0 = + b.asm.qm).apply(null, arguments); + }), + yo = (b._emscripten_bind_TrimeshPrimitiveManager_unlock_0 = function () { + return (yo = b._emscripten_bind_TrimeshPrimitiveManager_unlock_0 = + b.asm.rm).apply(null, arguments); + }), + zo = (b._emscripten_bind_TrimeshPrimitiveManager_is_trimesh_0 = + function () { + return (zo = b._emscripten_bind_TrimeshPrimitiveManager_is_trimesh_0 = + b.asm.sm).apply(null, arguments); + }), + Ao = (b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_count_0 = + function () { + return (Ao = + b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_count_0 = + b.asm.tm).apply(null, arguments); + }), + Bo = (b._emscripten_bind_TrimeshPrimitiveManager_get_indices_4 = + function () { + return (Bo = + b._emscripten_bind_TrimeshPrimitiveManager_get_indices_4 = + b.asm.um).apply(null, arguments); + }), + Co = (b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_2 = + function () { + return (Co = b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_2 = + b.asm.vm).apply(null, arguments); + }), + Do = (b._emscripten_bind_TrimeshPrimitiveManager_get_bullet_triangle_2 = + function () { + return (Do = + b._emscripten_bind_TrimeshPrimitiveManager_get_bullet_triangle_2 = + b.asm.wm).apply(null, arguments); + }), + Eo = (b._emscripten_bind_TrimeshPrimitiveManager_get_m_margin_0 = + function () { + return (Eo = + b._emscripten_bind_TrimeshPrimitiveManager_get_m_margin_0 = + b.asm.xm).apply(null, arguments); + }), + Fo = (b._emscripten_bind_TrimeshPrimitiveManager_set_m_margin_1 = + function () { + return (Fo = + b._emscripten_bind_TrimeshPrimitiveManager_set_m_margin_1 = + b.asm.ym).apply(null, arguments); + }), + Go = (b._emscripten_bind_TrimeshPrimitiveManager_get_m_meshInterface_0 = + function () { + return (Go = + b._emscripten_bind_TrimeshPrimitiveManager_get_m_meshInterface_0 = + b.asm.zm).apply(null, arguments); + }), + Ho = (b._emscripten_bind_TrimeshPrimitiveManager_set_m_meshInterface_1 = + function () { + return (Ho = + b._emscripten_bind_TrimeshPrimitiveManager_set_m_meshInterface_1 = + b.asm.Am).apply(null, arguments); + }), + Io = (b._emscripten_bind_TrimeshPrimitiveManager_get_m_part_0 = + function () { + return (Io = b._emscripten_bind_TrimeshPrimitiveManager_get_m_part_0 = + b.asm.Bm).apply(null, arguments); + }), + Jo = (b._emscripten_bind_TrimeshPrimitiveManager_set_m_part_1 = + function () { + return (Jo = b._emscripten_bind_TrimeshPrimitiveManager_set_m_part_1 = + b.asm.Cm).apply(null, arguments); + }), + Ko = (b._emscripten_bind_TrimeshPrimitiveManager_get_m_lock_count_0 = + function () { + return (Ko = + b._emscripten_bind_TrimeshPrimitiveManager_get_m_lock_count_0 = + b.asm.Dm).apply(null, arguments); + }), + Lo = (b._emscripten_bind_TrimeshPrimitiveManager_set_m_lock_count_1 = + function () { + return (Lo = + b._emscripten_bind_TrimeshPrimitiveManager_set_m_lock_count_1 = + b.asm.Em).apply(null, arguments); + }), + Mo = (b._emscripten_bind_TrimeshPrimitiveManager_get_numverts_0 = + function () { + return (Mo = + b._emscripten_bind_TrimeshPrimitiveManager_get_numverts_0 = + b.asm.Fm).apply(null, arguments); + }), + No = (b._emscripten_bind_TrimeshPrimitiveManager_set_numverts_1 = + function () { + return (No = + b._emscripten_bind_TrimeshPrimitiveManager_set_numverts_1 = + b.asm.Gm).apply(null, arguments); + }), + Oo = (b._emscripten_bind_TrimeshPrimitiveManager_get_type_0 = + function () { + return (Oo = b._emscripten_bind_TrimeshPrimitiveManager_get_type_0 = + b.asm.Hm).apply(null, arguments); + }), + Po = (b._emscripten_bind_TrimeshPrimitiveManager_set_type_1 = + function () { + return (Po = b._emscripten_bind_TrimeshPrimitiveManager_set_type_1 = + b.asm.Im).apply(null, arguments); + }), + Qo = (b._emscripten_bind_TrimeshPrimitiveManager_get_stride_0 = + function () { + return (Qo = b._emscripten_bind_TrimeshPrimitiveManager_get_stride_0 = + b.asm.Jm).apply(null, arguments); + }), + Ro = (b._emscripten_bind_TrimeshPrimitiveManager_set_stride_1 = + function () { + return (Ro = b._emscripten_bind_TrimeshPrimitiveManager_set_stride_1 = + b.asm.Km).apply(null, arguments); + }), + So = (b._emscripten_bind_TrimeshPrimitiveManager_get_indexstride_0 = + function () { + return (So = + b._emscripten_bind_TrimeshPrimitiveManager_get_indexstride_0 = + b.asm.Lm).apply(null, arguments); + }), + To = (b._emscripten_bind_TrimeshPrimitiveManager_set_indexstride_1 = + function () { + return (To = + b._emscripten_bind_TrimeshPrimitiveManager_set_indexstride_1 = + b.asm.Mm).apply(null, arguments); + }), + Uo = (b._emscripten_bind_TrimeshPrimitiveManager_get_numfaces_0 = + function () { + return (Uo = + b._emscripten_bind_TrimeshPrimitiveManager_get_numfaces_0 = + b.asm.Nm).apply(null, arguments); + }), + Vo = (b._emscripten_bind_TrimeshPrimitiveManager_set_numfaces_1 = + function () { + return (Vo = + b._emscripten_bind_TrimeshPrimitiveManager_set_numfaces_1 = + b.asm.Om).apply(null, arguments); + }), + Wo = (b._emscripten_bind_TrimeshPrimitiveManager_get_indicestype_0 = + function () { + return (Wo = + b._emscripten_bind_TrimeshPrimitiveManager_get_indicestype_0 = + b.asm.Pm).apply(null, arguments); + }), + Xo = (b._emscripten_bind_TrimeshPrimitiveManager_set_indicestype_1 = + function () { + return (Xo = + b._emscripten_bind_TrimeshPrimitiveManager_set_indicestype_1 = + b.asm.Qm).apply(null, arguments); + }), + Yo = (b._emscripten_bind_TrimeshPrimitiveManager___destroy___0 = + function () { + return (Yo = + b._emscripten_bind_TrimeshPrimitiveManager___destroy___0 = + b.asm.Rm).apply(null, arguments); + }), + Zo = (b._emscripten_bind_btGImpactMeshShapePart_btGImpactMeshShapePart_2 = + function () { + return (Zo = + b._emscripten_bind_btGImpactMeshShapePart_btGImpactMeshShapePart_2 = + b.asm.Sm).apply(null, arguments); + }), + $o = + (b._emscripten_bind_btGImpactMeshShapePart_getTrimeshPrimitiveManager_0 = + function () { + return ($o = + b._emscripten_bind_btGImpactMeshShapePart_getTrimeshPrimitiveManager_0 = + b.asm.Tm).apply(null, arguments); + }), + ap = (b._emscripten_bind_btGImpactMeshShapePart_getVertexCount_0 = + function () { + return (ap = + b._emscripten_bind_btGImpactMeshShapePart_getVertexCount_0 = + b.asm.Um).apply(null, arguments); + }), + bp = (b._emscripten_bind_btGImpactMeshShapePart_getVertex_2 = + function () { + return (bp = b._emscripten_bind_btGImpactMeshShapePart_getVertex_2 = + b.asm.Vm).apply(null, arguments); + }), + cp = (b._emscripten_bind_btGImpactMeshShapePart_getPart_0 = function () { + return (cp = b._emscripten_bind_btGImpactMeshShapePart_getPart_0 = + b.asm.Wm).apply(null, arguments); + }), + dp = (b._emscripten_bind_btGImpactMeshShapePart_setLocalScaling_1 = + function () { + return (dp = + b._emscripten_bind_btGImpactMeshShapePart_setLocalScaling_1 = + b.asm.Xm).apply(null, arguments); + }), + ep = (b._emscripten_bind_btGImpactMeshShapePart_getLocalScaling_0 = + function () { + return (ep = + b._emscripten_bind_btGImpactMeshShapePart_getLocalScaling_0 = + b.asm.Ym).apply(null, arguments); + }), + fp = (b._emscripten_bind_btGImpactMeshShapePart_updateBound_0 = + function () { + return (fp = b._emscripten_bind_btGImpactMeshShapePart_updateBound_0 = + b.asm.Zm).apply(null, arguments); + }), + gp = (b._emscripten_bind_btGImpactMeshShapePart_postUpdate_0 = + function () { + return (gp = b._emscripten_bind_btGImpactMeshShapePart_postUpdate_0 = + b.asm._m).apply(null, arguments); + }), + hp = (b._emscripten_bind_btGImpactMeshShapePart_getShapeType_0 = + function () { + return (hp = + b._emscripten_bind_btGImpactMeshShapePart_getShapeType_0 = + b.asm.$m).apply(null, arguments); + }), + ip = (b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTriangles_0 = + function () { + return (ip = + b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTriangles_0 = + b.asm.an).apply(null, arguments); + }), + jp = + (b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTetrahedrons_0 = + function () { + return (jp = + b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTetrahedrons_0 = + b.asm.bn).apply(null, arguments); + }), + kp = (b._emscripten_bind_btGImpactMeshShapePart_getBulletTriangle_2 = + function () { + return (kp = + b._emscripten_bind_btGImpactMeshShapePart_getBulletTriangle_2 = + b.asm.cn).apply(null, arguments); + }), + lp = (b._emscripten_bind_btGImpactMeshShapePart_getBulletTetrahedron_2 = + function () { + return (lp = + b._emscripten_bind_btGImpactMeshShapePart_getBulletTetrahedron_2 = + b.asm.dn).apply(null, arguments); + }), + mp = (b._emscripten_bind_btGImpactMeshShapePart___destroy___0 = + function () { + return (mp = b._emscripten_bind_btGImpactMeshShapePart___destroy___0 = + b.asm.en).apply(null, arguments); + }), + np = (b._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1 = + function () { + return (np = + b._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1 = + b.asm.fn).apply(null, arguments); + }), + op = (b._emscripten_bind_btGImpactMeshShape_getMeshInterface_0 = + function () { + return (op = + b._emscripten_bind_btGImpactMeshShape_getMeshInterface_0 = + b.asm.gn).apply(null, arguments); + }), + pp = (b._emscripten_bind_btGImpactMeshShape_getMeshPartCount_0 = + function () { + return (pp = + b._emscripten_bind_btGImpactMeshShape_getMeshPartCount_0 = + b.asm.hn).apply(null, arguments); + }), + qp = (b._emscripten_bind_btGImpactMeshShape_getMeshPart_1 = function () { + return (qp = b._emscripten_bind_btGImpactMeshShape_getMeshPart_1 = + b.asm.jn).apply(null, arguments); + }), + rp = + (b._emscripten_bind_btGImpactMeshShape_calculateSerializeBufferSize_0 = + function () { + return (rp = + b._emscripten_bind_btGImpactMeshShape_calculateSerializeBufferSize_0 = + b.asm.kn).apply(null, arguments); + }), + sp = (b._emscripten_bind_btGImpactMeshShape_setLocalScaling_1 = + function () { + return (sp = b._emscripten_bind_btGImpactMeshShape_setLocalScaling_1 = + b.asm.ln).apply(null, arguments); + }), + tp = (b._emscripten_bind_btGImpactMeshShape_getLocalScaling_0 = + function () { + return (tp = b._emscripten_bind_btGImpactMeshShape_getLocalScaling_0 = + b.asm.mn).apply(null, arguments); + }), + up = (b._emscripten_bind_btGImpactMeshShape_updateBound_0 = function () { + return (up = b._emscripten_bind_btGImpactMeshShape_updateBound_0 = + b.asm.nn).apply(null, arguments); + }), + vp = (b._emscripten_bind_btGImpactMeshShape_postUpdate_0 = function () { + return (vp = b._emscripten_bind_btGImpactMeshShape_postUpdate_0 = + b.asm.on).apply(null, arguments); + }), + wp = (b._emscripten_bind_btGImpactMeshShape_getShapeType_0 = function () { + return (wp = b._emscripten_bind_btGImpactMeshShape_getShapeType_0 = + b.asm.pn).apply(null, arguments); + }), + xp = (b._emscripten_bind_btGImpactMeshShape_needsRetrieveTriangles_0 = + function () { + return (xp = + b._emscripten_bind_btGImpactMeshShape_needsRetrieveTriangles_0 = + b.asm.qn).apply(null, arguments); + }), + yp = (b._emscripten_bind_btGImpactMeshShape_needsRetrieveTetrahedrons_0 = + function () { + return (yp = + b._emscripten_bind_btGImpactMeshShape_needsRetrieveTetrahedrons_0 = + b.asm.rn).apply(null, arguments); + }), + zp = (b._emscripten_bind_btGImpactMeshShape_getBulletTriangle_2 = + function () { + return (zp = + b._emscripten_bind_btGImpactMeshShape_getBulletTriangle_2 = + b.asm.sn).apply(null, arguments); + }), + Ap = (b._emscripten_bind_btGImpactMeshShape_getBulletTetrahedron_2 = + function () { + return (Ap = + b._emscripten_bind_btGImpactMeshShape_getBulletTetrahedron_2 = + b.asm.tn).apply(null, arguments); + }), + Bp = (b._emscripten_bind_btGImpactMeshShape___destroy___0 = function () { + return (Bp = b._emscripten_bind_btGImpactMeshShape___destroy___0 = + b.asm.un).apply(null, arguments); + }), + Cp = + (b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_0 = + function () { + return (Cp = + b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_0 = + b.asm.vn).apply(null, arguments); + }), + Dp = + (b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_2 = + function () { + return (Dp = + b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_2 = + b.asm.wn).apply(null, arguments); + }), + Ep = + (b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_dispatcher1_0 = + function () { + return (Ep = + b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_dispatcher1_0 = + b.asm.xn).apply(null, arguments); + }), + Fp = + (b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_dispatcher1_1 = + function () { + return (Fp = + b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_dispatcher1_1 = + b.asm.yn).apply(null, arguments); + }), + Gp = + (b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_manifold_0 = + function () { + return (Gp = + b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_manifold_0 = + b.asm.zn).apply(null, arguments); + }), + Hp = + (b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_manifold_1 = + function () { + return (Hp = + b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_manifold_1 = + b.asm.An).apply(null, arguments); + }), + Ip = + (b._emscripten_bind_btCollisionAlgorithmConstructionInfo___destroy___0 = + function () { + return (Ip = + b._emscripten_bind_btCollisionAlgorithmConstructionInfo___destroy___0 = + b.asm.Bn).apply(null, arguments); + }), + Jp = + (b._emscripten_bind_btGImpactCollisionAlgorithm_btGImpactCollisionAlgorithm_3 = + function () { + return (Jp = + b._emscripten_bind_btGImpactCollisionAlgorithm_btGImpactCollisionAlgorithm_3 = + b.asm.Cn).apply(null, arguments); + }), + Kp = (b._emscripten_bind_btGImpactCollisionAlgorithm_registerAlgorithm_1 = + function () { + return (Kp = + b._emscripten_bind_btGImpactCollisionAlgorithm_registerAlgorithm_1 = + b.asm.Dn).apply(null, arguments); + }), + Lp = (b._emscripten_bind_btGImpactCollisionAlgorithm___destroy___0 = + function () { + return (Lp = + b._emscripten_bind_btGImpactCollisionAlgorithm___destroy___0 = + b.asm.En).apply(null, arguments); + }), + Mp = + (b._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0 = + function () { + return (Mp = + b._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0 = + b.asm.Fn).apply(null, arguments); + }), + Np = + (b._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0 = + function () { + return (Np = + b._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0 = + b.asm.Gn).apply(null, arguments); + }), + Op = (b._emscripten_bind_btPersistentManifold_btPersistentManifold_0 = + function () { + return (Op = + b._emscripten_bind_btPersistentManifold_btPersistentManifold_0 = + b.asm.Hn).apply(null, arguments); + }), + Pp = (b._emscripten_bind_btPersistentManifold_getBody0_0 = function () { + return (Pp = b._emscripten_bind_btPersistentManifold_getBody0_0 = + b.asm.In).apply(null, arguments); + }), + Qp = (b._emscripten_bind_btPersistentManifold_getBody1_0 = function () { + return (Qp = b._emscripten_bind_btPersistentManifold_getBody1_0 = + b.asm.Jn).apply(null, arguments); + }), + Rp = (b._emscripten_bind_btPersistentManifold_getNumContacts_0 = + function () { + return (Rp = + b._emscripten_bind_btPersistentManifold_getNumContacts_0 = + b.asm.Kn).apply(null, arguments); + }), + Sp = (b._emscripten_bind_btPersistentManifold_getContactPoint_1 = + function () { + return (Sp = + b._emscripten_bind_btPersistentManifold_getContactPoint_1 = + b.asm.Ln).apply(null, arguments); + }), + Tp = (b._emscripten_bind_btPersistentManifold___destroy___0 = + function () { + return (Tp = b._emscripten_bind_btPersistentManifold___destroy___0 = + b.asm.Mn).apply(null, arguments); + }), + Up = (b._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1 = + function () { + return (Up = + b._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1 = + b.asm.Nn).apply(null, arguments); + }), + Vp = (b._emscripten_bind_btCollisionDispatcher_getNumManifolds_0 = + function () { + return (Vp = + b._emscripten_bind_btCollisionDispatcher_getNumManifolds_0 = + b.asm.On).apply(null, arguments); + }), + Wp = + (b._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1 = + function () { + return (Wp = + b._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1 = + b.asm.Pn).apply(null, arguments); + }), + Xp = (b._emscripten_bind_btCollisionDispatcher___destroy___0 = + function () { + return (Xp = b._emscripten_bind_btCollisionDispatcher___destroy___0 = + b.asm.Qn).apply(null, arguments); + }), + Yp = (b._emscripten_bind_btOverlappingPairCallback___destroy___0 = + function () { + return (Yp = + b._emscripten_bind_btOverlappingPairCallback___destroy___0 = + b.asm.Rn).apply(null, arguments); + }), + Zp = + (b._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1 = + function () { + return (Zp = + b._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1 = + b.asm.Sn).apply(null, arguments); + }), + $p = (b._emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0 = + function () { + return ($p = + b._emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0 = + b.asm.Tn).apply(null, arguments); + }), + aq = (b._emscripten_bind_btOverlappingPairCache___destroy___0 = + function () { + return (aq = b._emscripten_bind_btOverlappingPairCache___destroy___0 = + b.asm.Un).apply(null, arguments); + }), + bq = (b._emscripten_bind_btAxisSweep3_btAxisSweep3_2 = function () { + return (bq = b._emscripten_bind_btAxisSweep3_btAxisSweep3_2 = + b.asm.Vn).apply(null, arguments); + }), + cq = (b._emscripten_bind_btAxisSweep3_btAxisSweep3_3 = function () { + return (cq = b._emscripten_bind_btAxisSweep3_btAxisSweep3_3 = + b.asm.Wn).apply(null, arguments); + }), + dq = (b._emscripten_bind_btAxisSweep3_btAxisSweep3_4 = function () { + return (dq = b._emscripten_bind_btAxisSweep3_btAxisSweep3_4 = + b.asm.Xn).apply(null, arguments); + }), + eq = (b._emscripten_bind_btAxisSweep3_btAxisSweep3_5 = function () { + return (eq = b._emscripten_bind_btAxisSweep3_btAxisSweep3_5 = + b.asm.Yn).apply(null, arguments); + }), + fq = (b._emscripten_bind_btAxisSweep3___destroy___0 = function () { + return (fq = b._emscripten_bind_btAxisSweep3___destroy___0 = + b.asm.Zn).apply(null, arguments); + }), + gq = (b._emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0 = + function () { + return (gq = + b._emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0 = + b.asm._n).apply(null, arguments); + }), + hq = (b._emscripten_bind_btBroadphaseInterface___destroy___0 = + function () { + return (hq = b._emscripten_bind_btBroadphaseInterface___destroy___0 = + b.asm.$n).apply(null, arguments); + }), + iq = (b._emscripten_bind_btCollisionConfiguration___destroy___0 = + function () { + return (iq = + b._emscripten_bind_btCollisionConfiguration___destroy___0 = + b.asm.ao).apply(null, arguments); + }), + jq = (b._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0 = + function () { + return (jq = b._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0 = + b.asm.bo).apply(null, arguments); + }), + kq = (b._emscripten_bind_btDbvtBroadphase___destroy___0 = function () { + return (kq = b._emscripten_bind_btDbvtBroadphase___destroy___0 = + b.asm.co).apply(null, arguments); + }), + lq = (b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0 = + function () { + return (lq = + b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0 = + b.asm.eo).apply(null, arguments); + }), + mq = (b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1 = + function () { + return (mq = + b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1 = + b.asm.fo).apply(null, arguments); + }), + nq = (b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0 = + function () { + return (nq = + b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0 = + b.asm.go).apply(null, arguments); + }), + oq = (b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1 = + function () { + return (oq = + b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1 = + b.asm.ho).apply(null, arguments); + }), + pq = (b._emscripten_bind_btBroadphaseProxy___destroy___0 = function () { + return (pq = b._emscripten_bind_btBroadphaseProxy___destroy___0 = + b.asm.io).apply(null, arguments); + }), + qq = + (b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3 = + function () { + return (qq = + b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3 = + b.asm.jo).apply(null, arguments); + }), + rq = + (b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4 = + function () { + return (rq = + b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4 = + b.asm.ko).apply(null, arguments); + }), + sq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0 = + function () { + return (sq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0 = + b.asm.lo).apply(null, arguments); + }), + tq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1 = + function () { + return (tq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1 = + b.asm.mo).apply(null, arguments); + }), + uq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0 = + function () { + return (uq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0 = + b.asm.no).apply(null, arguments); + }), + vq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1 = + function () { + return (vq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1 = + b.asm.oo).apply(null, arguments); + }), + wq = (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0 = + function () { + return (wq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0 = + b.asm.po).apply(null, arguments); + }), + xq = (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1 = + function () { + return (xq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1 = + b.asm.qo).apply(null, arguments); + }), + yq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0 = + function () { + return (yq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0 = + b.asm.ro).apply(null, arguments); + }), + zq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1 = + function () { + return (zq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1 = + b.asm.so).apply(null, arguments); + }), + Aq = (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0 = + function () { + return (Aq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0 = + b.asm.to).apply(null, arguments); + }), + Bq = (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1 = + function () { + return (Bq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1 = + b.asm.uo).apply(null, arguments); + }), + Cq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0 = + function () { + return (Cq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0 = + b.asm.vo).apply(null, arguments); + }), + Dq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1 = + function () { + return (Dq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1 = + b.asm.wo).apply(null, arguments); + }), + Eq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0 = + function () { + return (Eq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0 = + b.asm.xo).apply(null, arguments); + }), + Fq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1 = + function () { + return (Fq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1 = + b.asm.yo).apply(null, arguments); + }), + Gq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0 = + function () { + return (Gq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0 = + b.asm.zo).apply(null, arguments); + }), + Hq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1 = + function () { + return (Hq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1 = + b.asm.Ao).apply(null, arguments); + }), + Iq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0 = + function () { + return (Iq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0 = + b.asm.Bo).apply(null, arguments); + }), + Jq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1 = + function () { + return (Jq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1 = + b.asm.Co).apply(null, arguments); + }), + Kq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0 = + function () { + return (Kq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0 = + b.asm.Do).apply(null, arguments); + }), + Lq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1 = + function () { + return (Lq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1 = + b.asm.Eo).apply(null, arguments); + }), + Mq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0 = + function () { + return (Mq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0 = + b.asm.Fo).apply(null, arguments); + }), + Nq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1 = + function () { + return (Nq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1 = + b.asm.Go).apply(null, arguments); + }), + Oq = + (b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0 = + function () { + return (Oq = + b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0 = + b.asm.Ho).apply(null, arguments); + }), + Pq = + (b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1 = + function () { + return (Pq = + b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1 = + b.asm.Io).apply(null, arguments); + }), + Qq = (b._emscripten_bind_btRigidBodyConstructionInfo___destroy___0 = + function () { + return (Qq = + b._emscripten_bind_btRigidBodyConstructionInfo___destroy___0 = + b.asm.Jo).apply(null, arguments); + }), + Rq = (b._emscripten_bind_btRigidBody_btRigidBody_1 = function () { + return (Rq = b._emscripten_bind_btRigidBody_btRigidBody_1 = + b.asm.Ko).apply(null, arguments); + }), + Sq = (b._emscripten_bind_btRigidBody_getCenterOfMassTransform_0 = + function () { + return (Sq = + b._emscripten_bind_btRigidBody_getCenterOfMassTransform_0 = + b.asm.Lo).apply(null, arguments); + }), + Tq = (b._emscripten_bind_btRigidBody_setCenterOfMassTransform_1 = + function () { + return (Tq = + b._emscripten_bind_btRigidBody_setCenterOfMassTransform_1 = + b.asm.Mo).apply(null, arguments); + }), + Uq = (b._emscripten_bind_btRigidBody_setSleepingThresholds_2 = + function () { + return (Uq = b._emscripten_bind_btRigidBody_setSleepingThresholds_2 = + b.asm.No).apply(null, arguments); + }), + Vq = (b._emscripten_bind_btRigidBody_getLinearDamping_0 = function () { + return (Vq = b._emscripten_bind_btRigidBody_getLinearDamping_0 = + b.asm.Oo).apply(null, arguments); + }), + Wq = (b._emscripten_bind_btRigidBody_getAngularDamping_0 = function () { + return (Wq = b._emscripten_bind_btRigidBody_getAngularDamping_0 = + b.asm.Po).apply(null, arguments); + }), + Xq = (b._emscripten_bind_btRigidBody_setDamping_2 = function () { + return (Xq = b._emscripten_bind_btRigidBody_setDamping_2 = + b.asm.Qo).apply(null, arguments); + }), + Yq = (b._emscripten_bind_btRigidBody_setMassProps_2 = function () { + return (Yq = b._emscripten_bind_btRigidBody_setMassProps_2 = + b.asm.Ro).apply(null, arguments); + }), + Zq = (b._emscripten_bind_btRigidBody_getLinearFactor_0 = function () { + return (Zq = b._emscripten_bind_btRigidBody_getLinearFactor_0 = + b.asm.So).apply(null, arguments); + }), + $q = (b._emscripten_bind_btRigidBody_setLinearFactor_1 = function () { + return ($q = b._emscripten_bind_btRigidBody_setLinearFactor_1 = + b.asm.To).apply(null, arguments); + }), + ar = (b._emscripten_bind_btRigidBody_applyTorque_1 = function () { + return (ar = b._emscripten_bind_btRigidBody_applyTorque_1 = + b.asm.Uo).apply(null, arguments); + }), + br = (b._emscripten_bind_btRigidBody_applyLocalTorque_1 = function () { + return (br = b._emscripten_bind_btRigidBody_applyLocalTorque_1 = + b.asm.Vo).apply(null, arguments); + }), + cr = (b._emscripten_bind_btRigidBody_applyForce_2 = function () { + return (cr = b._emscripten_bind_btRigidBody_applyForce_2 = + b.asm.Wo).apply(null, arguments); + }), + dr = (b._emscripten_bind_btRigidBody_applyCentralForce_1 = function () { + return (dr = b._emscripten_bind_btRigidBody_applyCentralForce_1 = + b.asm.Xo).apply(null, arguments); + }), + er = (b._emscripten_bind_btRigidBody_applyCentralLocalForce_1 = + function () { + return (er = b._emscripten_bind_btRigidBody_applyCentralLocalForce_1 = + b.asm.Yo).apply(null, arguments); + }), + fr = (b._emscripten_bind_btRigidBody_applyTorqueImpulse_1 = function () { + return (fr = b._emscripten_bind_btRigidBody_applyTorqueImpulse_1 = + b.asm.Zo).apply(null, arguments); + }), + gr = (b._emscripten_bind_btRigidBody_applyImpulse_2 = function () { + return (gr = b._emscripten_bind_btRigidBody_applyImpulse_2 = + b.asm._o).apply(null, arguments); + }), + hr = (b._emscripten_bind_btRigidBody_applyCentralImpulse_1 = function () { + return (hr = b._emscripten_bind_btRigidBody_applyCentralImpulse_1 = + b.asm.$o).apply(null, arguments); + }), + ir = (b._emscripten_bind_btRigidBody_updateInertiaTensor_0 = function () { + return (ir = b._emscripten_bind_btRigidBody_updateInertiaTensor_0 = + b.asm.ap).apply(null, arguments); + }), + jr = (b._emscripten_bind_btRigidBody_getLinearVelocity_0 = function () { + return (jr = b._emscripten_bind_btRigidBody_getLinearVelocity_0 = + b.asm.bp).apply(null, arguments); + }), + kr = (b._emscripten_bind_btRigidBody_getAngularVelocity_0 = function () { + return (kr = b._emscripten_bind_btRigidBody_getAngularVelocity_0 = + b.asm.cp).apply(null, arguments); + }), + lr = (b._emscripten_bind_btRigidBody_setLinearVelocity_1 = function () { + return (lr = b._emscripten_bind_btRigidBody_setLinearVelocity_1 = + b.asm.dp).apply(null, arguments); + }), + mr = (b._emscripten_bind_btRigidBody_setAngularVelocity_1 = function () { + return (mr = b._emscripten_bind_btRigidBody_setAngularVelocity_1 = + b.asm.ep).apply(null, arguments); + }), + nr = (b._emscripten_bind_btRigidBody_getMotionState_0 = function () { + return (nr = b._emscripten_bind_btRigidBody_getMotionState_0 = + b.asm.fp).apply(null, arguments); + }), + or = (b._emscripten_bind_btRigidBody_setMotionState_1 = function () { + return (or = b._emscripten_bind_btRigidBody_setMotionState_1 = + b.asm.gp).apply(null, arguments); + }), + pr = (b._emscripten_bind_btRigidBody_getAngularFactor_0 = function () { + return (pr = b._emscripten_bind_btRigidBody_getAngularFactor_0 = + b.asm.hp).apply(null, arguments); + }), + qr = (b._emscripten_bind_btRigidBody_setAngularFactor_1 = function () { + return (qr = b._emscripten_bind_btRigidBody_setAngularFactor_1 = + b.asm.ip).apply(null, arguments); + }), + rr = (b._emscripten_bind_btRigidBody_upcast_1 = function () { + return (rr = b._emscripten_bind_btRigidBody_upcast_1 = b.asm.jp).apply( + null, + arguments, + ); + }), + sr = (b._emscripten_bind_btRigidBody_getAabb_2 = function () { + return (sr = b._emscripten_bind_btRigidBody_getAabb_2 = b.asm.kp).apply( + null, + arguments, + ); + }), + tr = (b._emscripten_bind_btRigidBody_applyGravity_0 = function () { + return (tr = b._emscripten_bind_btRigidBody_applyGravity_0 = + b.asm.lp).apply(null, arguments); + }), + ur = (b._emscripten_bind_btRigidBody_getGravity_0 = function () { + return (ur = b._emscripten_bind_btRigidBody_getGravity_0 = + b.asm.mp).apply(null, arguments); + }), + vr = (b._emscripten_bind_btRigidBody_setGravity_1 = function () { + return (vr = b._emscripten_bind_btRigidBody_setGravity_1 = + b.asm.np).apply(null, arguments); + }), + wr = (b._emscripten_bind_btRigidBody_getBroadphaseProxy_0 = function () { + return (wr = b._emscripten_bind_btRigidBody_getBroadphaseProxy_0 = + b.asm.op).apply(null, arguments); + }), + xr = (b._emscripten_bind_btRigidBody_clearForces_0 = function () { + return (xr = b._emscripten_bind_btRigidBody_clearForces_0 = + b.asm.pp).apply(null, arguments); + }), + yr = (b._emscripten_bind_btRigidBody_setFlags_1 = function () { + return (yr = b._emscripten_bind_btRigidBody_setFlags_1 = + b.asm.qp).apply(null, arguments); + }), + zr = (b._emscripten_bind_btRigidBody_getFlags_0 = function () { + return (zr = b._emscripten_bind_btRigidBody_getFlags_0 = + b.asm.rp).apply(null, arguments); + }), + Ar = (b._emscripten_bind_btRigidBody_setAnisotropicFriction_2 = + function () { + return (Ar = b._emscripten_bind_btRigidBody_setAnisotropicFriction_2 = + b.asm.sp).apply(null, arguments); + }), + Br = (b._emscripten_bind_btRigidBody_getCollisionShape_0 = function () { + return (Br = b._emscripten_bind_btRigidBody_getCollisionShape_0 = + b.asm.tp).apply(null, arguments); + }), + Cr = (b._emscripten_bind_btRigidBody_setContactProcessingThreshold_1 = + function () { + return (Cr = + b._emscripten_bind_btRigidBody_setContactProcessingThreshold_1 = + b.asm.up).apply(null, arguments); + }), + Dr = (b._emscripten_bind_btRigidBody_setActivationState_1 = function () { + return (Dr = b._emscripten_bind_btRigidBody_setActivationState_1 = + b.asm.vp).apply(null, arguments); + }), + Er = (b._emscripten_bind_btRigidBody_forceActivationState_1 = + function () { + return (Er = b._emscripten_bind_btRigidBody_forceActivationState_1 = + b.asm.wp).apply(null, arguments); + }), + Fr = (b._emscripten_bind_btRigidBody_activate_0 = function () { + return (Fr = b._emscripten_bind_btRigidBody_activate_0 = + b.asm.xp).apply(null, arguments); + }), + Gr = (b._emscripten_bind_btRigidBody_activate_1 = function () { + return (Gr = b._emscripten_bind_btRigidBody_activate_1 = + b.asm.yp).apply(null, arguments); + }), + Hr = (b._emscripten_bind_btRigidBody_isActive_0 = function () { + return (Hr = b._emscripten_bind_btRigidBody_isActive_0 = + b.asm.zp).apply(null, arguments); + }), + Ir = (b._emscripten_bind_btRigidBody_isKinematicObject_0 = function () { + return (Ir = b._emscripten_bind_btRigidBody_isKinematicObject_0 = + b.asm.Ap).apply(null, arguments); + }), + Jr = (b._emscripten_bind_btRigidBody_isStaticObject_0 = function () { + return (Jr = b._emscripten_bind_btRigidBody_isStaticObject_0 = + b.asm.Bp).apply(null, arguments); + }), + Kr = (b._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0 = + function () { + return (Kr = + b._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0 = + b.asm.Cp).apply(null, arguments); + }), + Lr = (b._emscripten_bind_btRigidBody_getRestitution_0 = function () { + return (Lr = b._emscripten_bind_btRigidBody_getRestitution_0 = + b.asm.Dp).apply(null, arguments); + }), + Mr = (b._emscripten_bind_btRigidBody_getFriction_0 = function () { + return (Mr = b._emscripten_bind_btRigidBody_getFriction_0 = + b.asm.Ep).apply(null, arguments); + }), + Nr = (b._emscripten_bind_btRigidBody_getRollingFriction_0 = function () { + return (Nr = b._emscripten_bind_btRigidBody_getRollingFriction_0 = + b.asm.Fp).apply(null, arguments); + }), + Or = (b._emscripten_bind_btRigidBody_setRestitution_1 = function () { + return (Or = b._emscripten_bind_btRigidBody_setRestitution_1 = + b.asm.Gp).apply(null, arguments); + }), + Pr = (b._emscripten_bind_btRigidBody_setFriction_1 = function () { + return (Pr = b._emscripten_bind_btRigidBody_setFriction_1 = + b.asm.Hp).apply(null, arguments); + }), + Qr = (b._emscripten_bind_btRigidBody_setRollingFriction_1 = function () { + return (Qr = b._emscripten_bind_btRigidBody_setRollingFriction_1 = + b.asm.Ip).apply(null, arguments); + }), + Rr = (b._emscripten_bind_btRigidBody_getWorldTransform_0 = function () { + return (Rr = b._emscripten_bind_btRigidBody_getWorldTransform_0 = + b.asm.Jp).apply(null, arguments); + }), + Sr = (b._emscripten_bind_btRigidBody_getCollisionFlags_0 = function () { + return (Sr = b._emscripten_bind_btRigidBody_getCollisionFlags_0 = + b.asm.Kp).apply(null, arguments); + }), + Tr = (b._emscripten_bind_btRigidBody_setCollisionFlags_1 = function () { + return (Tr = b._emscripten_bind_btRigidBody_setCollisionFlags_1 = + b.asm.Lp).apply(null, arguments); + }), + Ur = (b._emscripten_bind_btRigidBody_setWorldTransform_1 = function () { + return (Ur = b._emscripten_bind_btRigidBody_setWorldTransform_1 = + b.asm.Mp).apply(null, arguments); + }), + Vr = (b._emscripten_bind_btRigidBody_setCollisionShape_1 = function () { + return (Vr = b._emscripten_bind_btRigidBody_setCollisionShape_1 = + b.asm.Np).apply(null, arguments); + }), + Wr = (b._emscripten_bind_btRigidBody_setCcdMotionThreshold_1 = + function () { + return (Wr = b._emscripten_bind_btRigidBody_setCcdMotionThreshold_1 = + b.asm.Op).apply(null, arguments); + }), + Xr = (b._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1 = + function () { + return (Xr = + b._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1 = + b.asm.Pp).apply(null, arguments); + }), + Yr = (b._emscripten_bind_btRigidBody_getUserIndex_0 = function () { + return (Yr = b._emscripten_bind_btRigidBody_getUserIndex_0 = + b.asm.Qp).apply(null, arguments); + }), + Zr = (b._emscripten_bind_btRigidBody_setUserIndex_1 = function () { + return (Zr = b._emscripten_bind_btRigidBody_setUserIndex_1 = + b.asm.Rp).apply(null, arguments); + }), + $r = (b._emscripten_bind_btRigidBody_getUserPointer_0 = function () { + return ($r = b._emscripten_bind_btRigidBody_getUserPointer_0 = + b.asm.Sp).apply(null, arguments); + }), + as = (b._emscripten_bind_btRigidBody_setUserPointer_1 = function () { + return (as = b._emscripten_bind_btRigidBody_setUserPointer_1 = + b.asm.Tp).apply(null, arguments); + }), + bs = (b._emscripten_bind_btRigidBody_getBroadphaseHandle_0 = function () { + return (bs = b._emscripten_bind_btRigidBody_getBroadphaseHandle_0 = + b.asm.Up).apply(null, arguments); + }), + cs = (b._emscripten_bind_btRigidBody___destroy___0 = function () { + return (cs = b._emscripten_bind_btRigidBody___destroy___0 = + b.asm.Vp).apply(null, arguments); + }), + ds = (b._emscripten_bind_btConstraintSetting_btConstraintSetting_0 = + function () { + return (ds = + b._emscripten_bind_btConstraintSetting_btConstraintSetting_0 = + b.asm.Wp).apply(null, arguments); + }), + es = (b._emscripten_bind_btConstraintSetting_get_m_tau_0 = function () { + return (es = b._emscripten_bind_btConstraintSetting_get_m_tau_0 = + b.asm.Xp).apply(null, arguments); + }), + gs = (b._emscripten_bind_btConstraintSetting_set_m_tau_1 = function () { + return (gs = b._emscripten_bind_btConstraintSetting_set_m_tau_1 = + b.asm.Yp).apply(null, arguments); + }), + hs = (b._emscripten_bind_btConstraintSetting_get_m_damping_0 = + function () { + return (hs = b._emscripten_bind_btConstraintSetting_get_m_damping_0 = + b.asm.Zp).apply(null, arguments); + }), + is = (b._emscripten_bind_btConstraintSetting_set_m_damping_1 = + function () { + return (is = b._emscripten_bind_btConstraintSetting_set_m_damping_1 = + b.asm._p).apply(null, arguments); + }), + js = (b._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0 = + function () { + return (js = + b._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0 = + b.asm.$p).apply(null, arguments); + }), + ks = (b._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1 = + function () { + return (ks = + b._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1 = + b.asm.aq).apply(null, arguments); + }), + ls = (b._emscripten_bind_btConstraintSetting___destroy___0 = function () { + return (ls = b._emscripten_bind_btConstraintSetting___destroy___0 = + b.asm.bq).apply(null, arguments); + }), + ms = + (b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2 = + function () { + return (ms = + b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2 = + b.asm.cq).apply(null, arguments); + }), + ns = + (b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4 = + function () { + return (ns = + b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4 = + b.asm.dq).apply(null, arguments); + }), + ps = (b._emscripten_bind_btPoint2PointConstraint_setPivotA_1 = + function () { + return (ps = b._emscripten_bind_btPoint2PointConstraint_setPivotA_1 = + b.asm.eq).apply(null, arguments); + }), + qs = (b._emscripten_bind_btPoint2PointConstraint_setPivotB_1 = + function () { + return (qs = b._emscripten_bind_btPoint2PointConstraint_setPivotB_1 = + b.asm.fq).apply(null, arguments); + }), + rs = (b._emscripten_bind_btPoint2PointConstraint_getPivotInA_0 = + function () { + return (rs = + b._emscripten_bind_btPoint2PointConstraint_getPivotInA_0 = + b.asm.gq).apply(null, arguments); + }), + ss = (b._emscripten_bind_btPoint2PointConstraint_getPivotInB_0 = + function () { + return (ss = + b._emscripten_bind_btPoint2PointConstraint_getPivotInB_0 = + b.asm.hq).apply(null, arguments); + }), + ts = (b._emscripten_bind_btPoint2PointConstraint_enableFeedback_1 = + function () { + return (ts = + b._emscripten_bind_btPoint2PointConstraint_enableFeedback_1 = + b.asm.iq).apply(null, arguments); + }), + us = + (b._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0 = + function () { + return (us = + b._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0 = + b.asm.jq).apply(null, arguments); + }), + vs = + (b._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1 = + function () { + return (vs = + b._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1 = + b.asm.kq).apply(null, arguments); + }), + xs = (b._emscripten_bind_btPoint2PointConstraint_getParam_2 = + function () { + return (xs = b._emscripten_bind_btPoint2PointConstraint_getParam_2 = + b.asm.lq).apply(null, arguments); + }), + ys = (b._emscripten_bind_btPoint2PointConstraint_setParam_3 = + function () { + return (ys = b._emscripten_bind_btPoint2PointConstraint_setParam_3 = + b.asm.mq).apply(null, arguments); + }), + zs = (b._emscripten_bind_btPoint2PointConstraint_get_m_setting_0 = + function () { + return (zs = + b._emscripten_bind_btPoint2PointConstraint_get_m_setting_0 = + b.asm.nq).apply(null, arguments); + }), + As = (b._emscripten_bind_btPoint2PointConstraint_set_m_setting_1 = + function () { + return (As = + b._emscripten_bind_btPoint2PointConstraint_set_m_setting_1 = + b.asm.oq).apply(null, arguments); + }), + Bs = (b._emscripten_bind_btPoint2PointConstraint___destroy___0 = + function () { + return (Bs = + b._emscripten_bind_btPoint2PointConstraint___destroy___0 = + b.asm.pq).apply(null, arguments); + }), + Cs = + (b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3 = + function () { + return (Cs = + b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3 = + b.asm.qq).apply(null, arguments); + }), + Ds = + (b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5 = + function () { + return (Ds = + b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5 = + b.asm.rq).apply(null, arguments); + }), + Es = (b._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2 = + function () { + return (Es = + b._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2 = + b.asm.sq).apply(null, arguments); + }), + Fs = (b._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2 = + function () { + return (Fs = + b._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2 = + b.asm.tq).apply(null, arguments); + }), + Gs = (b._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2 = + function () { + return (Gs = + b._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2 = + b.asm.uq).apply(null, arguments); + }), + Hs = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0 = + function () { + return (Hs = + b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0 = + b.asm.vq).apply(null, arguments); + }), + Is = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1 = + function () { + return (Is = + b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1 = + b.asm.wq).apply(null, arguments); + }), + Js = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2 = + function () { + return (Js = + b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2 = + b.asm.xq).apply(null, arguments); + }), + Ks = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1 = + function () { + return (Ks = + b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1 = + b.asm.yq).apply(null, arguments); + }), + Ls = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1 = + function () { + return (Ls = + b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1 = + b.asm.zq).apply(null, arguments); + }), + Ms = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1 = + function () { + return (Ms = + b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1 = + b.asm.Aq).apply(null, arguments); + }), + Ns = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1 = + function () { + return (Ns = + b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1 = + b.asm.Bq).apply(null, arguments); + }), + Os = (b._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0 = + function () { + return (Os = + b._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0 = + b.asm.Cq).apply(null, arguments); + }), + Ps = (b._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1 = + function () { + return (Ps = + b._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1 = + b.asm.Dq).apply(null, arguments); + }), + Qs = + (b._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0 = + function () { + return (Qs = + b._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0 = + b.asm.Eq).apply(null, arguments); + }), + Rs = + (b._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1 = + function () { + return (Rs = + b._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1 = + b.asm.Fq).apply(null, arguments); + }), + Ss = (b._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2 = + function () { + return (Ss = + b._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2 = + b.asm.Gq).apply(null, arguments); + }), + Ts = (b._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3 = + function () { + return (Ts = + b._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3 = + b.asm.Hq).apply(null, arguments); + }), + Us = (b._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0 = + function () { + return (Us = + b._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0 = + b.asm.Iq).apply(null, arguments); + }), + Vs = + (b._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0 = + function () { + return (Vs = + b._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0 = + b.asm.Jq).apply(null, arguments); + }), + Ws = + (b._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0 = + function () { + return (Ws = + b._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0 = + b.asm.Kq).apply(null, arguments); + }), + Xs = (b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2 = + function () { + return (Xs = + b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2 = + b.asm.Lq).apply(null, arguments); + }), + Ys = (b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4 = + function () { + return (Ys = + b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4 = + b.asm.Mq).apply(null, arguments); + }), + Zs = (b._emscripten_bind_btConeTwistConstraint_setLimit_2 = function () { + return (Zs = b._emscripten_bind_btConeTwistConstraint_setLimit_2 = + b.asm.Nq).apply(null, arguments); + }), + $s = (b._emscripten_bind_btConeTwistConstraint_setAngularOnly_1 = + function () { + return ($s = + b._emscripten_bind_btConeTwistConstraint_setAngularOnly_1 = + b.asm.Oq).apply(null, arguments); + }), + at = (b._emscripten_bind_btConeTwistConstraint_setDamping_1 = + function () { + return (at = b._emscripten_bind_btConeTwistConstraint_setDamping_1 = + b.asm.Pq).apply(null, arguments); + }), + bt = (b._emscripten_bind_btConeTwistConstraint_enableMotor_1 = + function () { + return (bt = b._emscripten_bind_btConeTwistConstraint_enableMotor_1 = + b.asm.Qq).apply(null, arguments); + }), + ct = (b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1 = + function () { + return (ct = + b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1 = + b.asm.Rq).apply(null, arguments); + }), + dt = + (b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1 = + function () { + return (dt = + b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1 = + b.asm.Sq).apply(null, arguments); + }), + et = (b._emscripten_bind_btConeTwistConstraint_setMotorTarget_1 = + function () { + return (et = + b._emscripten_bind_btConeTwistConstraint_setMotorTarget_1 = + b.asm.Tq).apply(null, arguments); + }), + ft = + (b._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1 = + function () { + return (ft = + b._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1 = + b.asm.Uq).apply(null, arguments); + }), + gt = (b._emscripten_bind_btConeTwistConstraint_enableFeedback_1 = + function () { + return (gt = + b._emscripten_bind_btConeTwistConstraint_enableFeedback_1 = + b.asm.Vq).apply(null, arguments); + }), + ht = + (b._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0 = + function () { + return (ht = + b._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0 = + b.asm.Wq).apply(null, arguments); + }), + it = + (b._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1 = + function () { + return (it = + b._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1 = + b.asm.Xq).apply(null, arguments); + }), + jt = (b._emscripten_bind_btConeTwistConstraint_getParam_2 = function () { + return (jt = b._emscripten_bind_btConeTwistConstraint_getParam_2 = + b.asm.Yq).apply(null, arguments); + }), + kt = (b._emscripten_bind_btConeTwistConstraint_setParam_3 = function () { + return (kt = b._emscripten_bind_btConeTwistConstraint_setParam_3 = + b.asm.Zq).apply(null, arguments); + }), + lt = (b._emscripten_bind_btConeTwistConstraint___destroy___0 = + function () { + return (lt = b._emscripten_bind_btConeTwistConstraint___destroy___0 = + b.asm._q).apply(null, arguments); + }), + mt = (b._emscripten_bind_btHingeConstraint_btHingeConstraint_2 = + function () { + return (mt = + b._emscripten_bind_btHingeConstraint_btHingeConstraint_2 = + b.asm.$q).apply(null, arguments); + }), + nt = (b._emscripten_bind_btHingeConstraint_btHingeConstraint_3 = + function () { + return (nt = + b._emscripten_bind_btHingeConstraint_btHingeConstraint_3 = + b.asm.ar).apply(null, arguments); + }), + ot = (b._emscripten_bind_btHingeConstraint_btHingeConstraint_4 = + function () { + return (ot = + b._emscripten_bind_btHingeConstraint_btHingeConstraint_4 = + b.asm.br).apply(null, arguments); + }), + pt = (b._emscripten_bind_btHingeConstraint_btHingeConstraint_5 = + function () { + return (pt = + b._emscripten_bind_btHingeConstraint_btHingeConstraint_5 = + b.asm.cr).apply(null, arguments); + }), + qt = (b._emscripten_bind_btHingeConstraint_btHingeConstraint_6 = + function () { + return (qt = + b._emscripten_bind_btHingeConstraint_btHingeConstraint_6 = + b.asm.dr).apply(null, arguments); + }), + rt = (b._emscripten_bind_btHingeConstraint_btHingeConstraint_7 = + function () { + return (rt = + b._emscripten_bind_btHingeConstraint_btHingeConstraint_7 = + b.asm.er).apply(null, arguments); + }), + st = (b._emscripten_bind_btHingeConstraint_getHingeAngle_0 = function () { + return (st = b._emscripten_bind_btHingeConstraint_getHingeAngle_0 = + b.asm.fr).apply(null, arguments); + }), + tt = (b._emscripten_bind_btHingeConstraint_setLimit_4 = function () { + return (tt = b._emscripten_bind_btHingeConstraint_setLimit_4 = + b.asm.gr).apply(null, arguments); + }), + ut = (b._emscripten_bind_btHingeConstraint_setLimit_5 = function () { + return (ut = b._emscripten_bind_btHingeConstraint_setLimit_5 = + b.asm.hr).apply(null, arguments); + }), + vt = (b._emscripten_bind_btHingeConstraint_enableAngularMotor_3 = + function () { + return (vt = + b._emscripten_bind_btHingeConstraint_enableAngularMotor_3 = + b.asm.ir).apply(null, arguments); + }), + wt = (b._emscripten_bind_btHingeConstraint_setAngularOnly_1 = + function () { + return (wt = b._emscripten_bind_btHingeConstraint_setAngularOnly_1 = + b.asm.jr).apply(null, arguments); + }), + xt = (b._emscripten_bind_btHingeConstraint_enableMotor_1 = function () { + return (xt = b._emscripten_bind_btHingeConstraint_enableMotor_1 = + b.asm.kr).apply(null, arguments); + }), + yt = (b._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1 = + function () { + return (yt = + b._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1 = + b.asm.lr).apply(null, arguments); + }), + zt = (b._emscripten_bind_btHingeConstraint_setMotorTarget_2 = + function () { + return (zt = b._emscripten_bind_btHingeConstraint_setMotorTarget_2 = + b.asm.mr).apply(null, arguments); + }), + At = (b._emscripten_bind_btHingeConstraint_enableFeedback_1 = + function () { + return (At = b._emscripten_bind_btHingeConstraint_enableFeedback_1 = + b.asm.nr).apply(null, arguments); + }), + Bt = (b._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0 = + function () { + return (Bt = + b._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0 = + b.asm.or).apply(null, arguments); + }), + Ct = (b._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1 = + function () { + return (Ct = + b._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1 = + b.asm.pr).apply(null, arguments); + }), + Dt = (b._emscripten_bind_btHingeConstraint_getParam_2 = function () { + return (Dt = b._emscripten_bind_btHingeConstraint_getParam_2 = + b.asm.qr).apply(null, arguments); + }), + Et = (b._emscripten_bind_btHingeConstraint_setParam_3 = function () { + return (Et = b._emscripten_bind_btHingeConstraint_setParam_3 = + b.asm.rr).apply(null, arguments); + }), + Ft = (b._emscripten_bind_btHingeConstraint___destroy___0 = function () { + return (Ft = b._emscripten_bind_btHingeConstraint___destroy___0 = + b.asm.sr).apply(null, arguments); + }), + Gt = (b._emscripten_bind_btSliderConstraint_btSliderConstraint_3 = + function () { + return (Gt = + b._emscripten_bind_btSliderConstraint_btSliderConstraint_3 = + b.asm.tr).apply(null, arguments); + }), + Ht = (b._emscripten_bind_btSliderConstraint_btSliderConstraint_5 = + function () { + return (Ht = + b._emscripten_bind_btSliderConstraint_btSliderConstraint_5 = + b.asm.ur).apply(null, arguments); + }), + It = (b._emscripten_bind_btSliderConstraint_getLinearPos_0 = function () { + return (It = b._emscripten_bind_btSliderConstraint_getLinearPos_0 = + b.asm.vr).apply(null, arguments); + }), + Jt = (b._emscripten_bind_btSliderConstraint_getAngularPos_0 = + function () { + return (Jt = b._emscripten_bind_btSliderConstraint_getAngularPos_0 = + b.asm.wr).apply(null, arguments); + }), + Kt = (b._emscripten_bind_btSliderConstraint_setLowerLinLimit_1 = + function () { + return (Kt = + b._emscripten_bind_btSliderConstraint_setLowerLinLimit_1 = + b.asm.xr).apply(null, arguments); + }), + Lt = (b._emscripten_bind_btSliderConstraint_setUpperLinLimit_1 = + function () { + return (Lt = + b._emscripten_bind_btSliderConstraint_setUpperLinLimit_1 = + b.asm.yr).apply(null, arguments); + }), + Mt = (b._emscripten_bind_btSliderConstraint_setLowerAngLimit_1 = + function () { + return (Mt = + b._emscripten_bind_btSliderConstraint_setLowerAngLimit_1 = + b.asm.zr).apply(null, arguments); + }), + Nt = (b._emscripten_bind_btSliderConstraint_setUpperAngLimit_1 = + function () { + return (Nt = + b._emscripten_bind_btSliderConstraint_setUpperAngLimit_1 = + b.asm.Ar).apply(null, arguments); + }), + Ot = (b._emscripten_bind_btSliderConstraint_setPoweredLinMotor_1 = + function () { + return (Ot = + b._emscripten_bind_btSliderConstraint_setPoweredLinMotor_1 = + b.asm.Br).apply(null, arguments); + }), + Pt = (b._emscripten_bind_btSliderConstraint_setMaxLinMotorForce_1 = + function () { + return (Pt = + b._emscripten_bind_btSliderConstraint_setMaxLinMotorForce_1 = + b.asm.Cr).apply(null, arguments); + }), + Qt = (b._emscripten_bind_btSliderConstraint_setTargetLinMotorVelocity_1 = + function () { + return (Qt = + b._emscripten_bind_btSliderConstraint_setTargetLinMotorVelocity_1 = + b.asm.Dr).apply(null, arguments); + }), + Rt = (b._emscripten_bind_btSliderConstraint_enableFeedback_1 = + function () { + return (Rt = b._emscripten_bind_btSliderConstraint_enableFeedback_1 = + b.asm.Er).apply(null, arguments); + }), + St = + (b._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0 = + function () { + return (St = + b._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0 = + b.asm.Fr).apply(null, arguments); + }), + Tt = + (b._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1 = + function () { + return (Tt = + b._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1 = + b.asm.Gr).apply(null, arguments); + }), + Ut = (b._emscripten_bind_btSliderConstraint_getParam_2 = function () { + return (Ut = b._emscripten_bind_btSliderConstraint_getParam_2 = + b.asm.Hr).apply(null, arguments); + }), + Vt = (b._emscripten_bind_btSliderConstraint_setParam_3 = function () { + return (Vt = b._emscripten_bind_btSliderConstraint_setParam_3 = + b.asm.Ir).apply(null, arguments); + }), + Wt = (b._emscripten_bind_btSliderConstraint___destroy___0 = function () { + return (Wt = b._emscripten_bind_btSliderConstraint___destroy___0 = + b.asm.Jr).apply(null, arguments); + }), + Xt = (b._emscripten_bind_btFixedConstraint_btFixedConstraint_4 = + function () { + return (Xt = + b._emscripten_bind_btFixedConstraint_btFixedConstraint_4 = + b.asm.Kr).apply(null, arguments); + }), + Yt = (b._emscripten_bind_btFixedConstraint_enableFeedback_1 = + function () { + return (Yt = b._emscripten_bind_btFixedConstraint_enableFeedback_1 = + b.asm.Lr).apply(null, arguments); + }), + Zt = (b._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0 = + function () { + return (Zt = + b._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0 = + b.asm.Mr).apply(null, arguments); + }), + $t = (b._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1 = + function () { + return ($t = + b._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1 = + b.asm.Nr).apply(null, arguments); + }), + au = (b._emscripten_bind_btFixedConstraint_getParam_2 = function () { + return (au = b._emscripten_bind_btFixedConstraint_getParam_2 = + b.asm.Or).apply(null, arguments); + }), + bu = (b._emscripten_bind_btFixedConstraint_setParam_3 = function () { + return (bu = b._emscripten_bind_btFixedConstraint_setParam_3 = + b.asm.Pr).apply(null, arguments); + }), + cu = (b._emscripten_bind_btFixedConstraint___destroy___0 = function () { + return (cu = b._emscripten_bind_btFixedConstraint___destroy___0 = + b.asm.Qr).apply(null, arguments); + }), + du = (b._emscripten_bind_btConstraintSolver___destroy___0 = function () { + return (du = b._emscripten_bind_btConstraintSolver___destroy___0 = + b.asm.Rr).apply(null, arguments); + }), + eu = (b._emscripten_bind_btDispatcherInfo_get_m_timeStep_0 = function () { + return (eu = b._emscripten_bind_btDispatcherInfo_get_m_timeStep_0 = + b.asm.Sr).apply(null, arguments); + }), + fu = (b._emscripten_bind_btDispatcherInfo_set_m_timeStep_1 = function () { + return (fu = b._emscripten_bind_btDispatcherInfo_set_m_timeStep_1 = + b.asm.Tr).apply(null, arguments); + }), + gu = (b._emscripten_bind_btDispatcherInfo_get_m_stepCount_0 = + function () { + return (gu = b._emscripten_bind_btDispatcherInfo_get_m_stepCount_0 = + b.asm.Ur).apply(null, arguments); + }), + hu = (b._emscripten_bind_btDispatcherInfo_set_m_stepCount_1 = + function () { + return (hu = b._emscripten_bind_btDispatcherInfo_set_m_stepCount_1 = + b.asm.Vr).apply(null, arguments); + }), + iu = (b._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0 = + function () { + return (iu = + b._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0 = + b.asm.Wr).apply(null, arguments); + }), + ju = (b._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1 = + function () { + return (ju = + b._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1 = + b.asm.Xr).apply(null, arguments); + }), + ku = (b._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0 = + function () { + return (ku = + b._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0 = + b.asm.Yr).apply(null, arguments); + }), + lu = (b._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1 = + function () { + return (lu = + b._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1 = + b.asm.Zr).apply(null, arguments); + }), + mu = (b._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0 = + function () { + return (mu = + b._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0 = + b.asm._r).apply(null, arguments); + }), + nu = (b._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1 = + function () { + return (nu = + b._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1 = + b.asm.$r).apply(null, arguments); + }), + ou = (b._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0 = + function () { + return (ou = + b._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0 = + b.asm.as).apply(null, arguments); + }), + pu = (b._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1 = + function () { + return (pu = + b._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1 = + b.asm.bs).apply(null, arguments); + }), + qu = (b._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0 = + function () { + return (qu = b._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0 = + b.asm.cs).apply(null, arguments); + }), + ru = (b._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1 = + function () { + return (ru = b._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1 = + b.asm.ds).apply(null, arguments); + }), + su = (b._emscripten_bind_btDispatcherInfo_get_m_useEpa_0 = function () { + return (su = b._emscripten_bind_btDispatcherInfo_get_m_useEpa_0 = + b.asm.es).apply(null, arguments); + }), + tu = (b._emscripten_bind_btDispatcherInfo_set_m_useEpa_1 = function () { + return (tu = b._emscripten_bind_btDispatcherInfo_set_m_useEpa_1 = + b.asm.fs).apply(null, arguments); + }), + uu = (b._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0 = + function () { + return (uu = + b._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0 = + b.asm.gs).apply(null, arguments); + }), + vu = (b._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1 = + function () { + return (vu = + b._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1 = + b.asm.hs).apply(null, arguments); + }), + wu = + (b._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0 = + function () { + return (wu = + b._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0 = + b.asm.is).apply(null, arguments); + }), + xu = + (b._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1 = + function () { + return (xu = + b._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1 = + b.asm.js).apply(null, arguments); + }), + yu = + (b._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0 = + function () { + return (yu = + b._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0 = + b.asm.ks).apply(null, arguments); + }), + zu = + (b._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1 = + function () { + return (zu = + b._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1 = + b.asm.ls).apply(null, arguments); + }), + Au = (b._emscripten_bind_btDispatcherInfo___destroy___0 = function () { + return (Au = b._emscripten_bind_btDispatcherInfo___destroy___0 = + b.asm.ms).apply(null, arguments); + }), + Bu = (b._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0 = + function () { + return (Bu = + b._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0 = + b.asm.ns).apply(null, arguments); + }), + Cu = (b._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1 = + function () { + return (Cu = + b._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1 = + b.asm.os).apply(null, arguments); + }), + Du = + (b._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0 = + function () { + return (Du = + b._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0 = + b.asm.ps).apply(null, arguments); + }), + Eu = + (b._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1 = + function () { + return (Eu = + b._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1 = + b.asm.qs).apply(null, arguments); + }), + Fu = (b._emscripten_bind_btContactSolverInfo_get_m_numIterations_0 = + function () { + return (Fu = + b._emscripten_bind_btContactSolverInfo_get_m_numIterations_0 = + b.asm.rs).apply(null, arguments); + }), + Gu = (b._emscripten_bind_btContactSolverInfo_set_m_numIterations_1 = + function () { + return (Gu = + b._emscripten_bind_btContactSolverInfo_set_m_numIterations_1 = + b.asm.ss).apply(null, arguments); + }), + Hu = (b._emscripten_bind_btContactSolverInfo___destroy___0 = function () { + return (Hu = b._emscripten_bind_btContactSolverInfo___destroy___0 = + b.asm.ts).apply(null, arguments); + }), + Iu = (b._emscripten_bind_btVehicleTuning_btVehicleTuning_0 = function () { + return (Iu = b._emscripten_bind_btVehicleTuning_btVehicleTuning_0 = + b.asm.us).apply(null, arguments); + }), + Ju = (b._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0 = + function () { + return (Ju = + b._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0 = + b.asm.vs).apply(null, arguments); + }), + Ku = (b._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1 = + function () { + return (Ku = + b._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1 = + b.asm.ws).apply(null, arguments); + }), + Lu = (b._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0 = + function () { + return (Lu = + b._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0 = + b.asm.xs).apply(null, arguments); + }), + Mu = (b._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1 = + function () { + return (Mu = + b._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1 = + b.asm.ys).apply(null, arguments); + }), + Nu = (b._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0 = + function () { + return (Nu = + b._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0 = + b.asm.zs).apply(null, arguments); + }), + Ou = (b._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1 = + function () { + return (Ou = + b._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1 = + b.asm.As).apply(null, arguments); + }), + Pu = (b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0 = + function () { + return (Pu = + b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0 = + b.asm.Bs).apply(null, arguments); + }), + Qu = (b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1 = + function () { + return (Qu = + b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1 = + b.asm.Cs).apply(null, arguments); + }), + Ru = (b._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0 = + function () { + return (Ru = b._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0 = + b.asm.Ds).apply(null, arguments); + }), + Su = (b._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1 = + function () { + return (Su = b._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1 = + b.asm.Es).apply(null, arguments); + }), + Tu = (b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0 = + function () { + return (Tu = + b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0 = + b.asm.Fs).apply(null, arguments); + }), + Uu = (b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1 = + function () { + return (Uu = + b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1 = + b.asm.Gs).apply(null, arguments); + }), + Vu = + (b._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0 = + function () { + return (Vu = + b._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0 = + b.asm.Hs).apply(null, arguments); + }), + Wu = + (b._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1 = + function () { + return (Wu = + b._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1 = + b.asm.Is).apply(null, arguments); + }), + Xu = + (b._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0 = + function () { + return (Xu = + b._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0 = + b.asm.Js).apply(null, arguments); + }), + Yu = + (b._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1 = + function () { + return (Yu = + b._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1 = + b.asm.Ks).apply(null, arguments); + }), + Zu = (b._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0 = + function () { + return (Zu = + b._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0 = + b.asm.Ls).apply(null, arguments); + }), + $u = (b._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1 = + function () { + return ($u = + b._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1 = + b.asm.Ms).apply(null, arguments); + }), + av = (b._emscripten_bind_btVehicleRaycasterResult___destroy___0 = + function () { + return (av = + b._emscripten_bind_btVehicleRaycasterResult___destroy___0 = + b.asm.Ns).apply(null, arguments); + }), + bv = + (b._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1 = + function () { + return (bv = + b._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1 = + b.asm.Os).apply(null, arguments); + }), + cv = (b._emscripten_bind_btDefaultVehicleRaycaster_castRay_3 = + function () { + return (cv = b._emscripten_bind_btDefaultVehicleRaycaster_castRay_3 = + b.asm.Ps).apply(null, arguments); + }), + dv = (b._emscripten_bind_btDefaultVehicleRaycaster___destroy___0 = + function () { + return (dv = + b._emscripten_bind_btDefaultVehicleRaycaster___destroy___0 = + b.asm.Qs).apply(null, arguments); + }), + ev = (b._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0 = + function () { + return (ev = b._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0 = + b.asm.Rs).apply(null, arguments); + }), + fv = (b._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1 = + function () { + return (fv = b._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1 = + b.asm.Ss).apply(null, arguments); + }), + gv = (b._emscripten_bind_RaycastInfo_get_m_contactPointWS_0 = + function () { + return (gv = b._emscripten_bind_RaycastInfo_get_m_contactPointWS_0 = + b.asm.Ts).apply(null, arguments); + }), + hv = (b._emscripten_bind_RaycastInfo_set_m_contactPointWS_1 = + function () { + return (hv = b._emscripten_bind_RaycastInfo_set_m_contactPointWS_1 = + b.asm.Us).apply(null, arguments); + }), + iv = (b._emscripten_bind_RaycastInfo_get_m_suspensionLength_0 = + function () { + return (iv = b._emscripten_bind_RaycastInfo_get_m_suspensionLength_0 = + b.asm.Vs).apply(null, arguments); + }), + jv = (b._emscripten_bind_RaycastInfo_set_m_suspensionLength_1 = + function () { + return (jv = b._emscripten_bind_RaycastInfo_set_m_suspensionLength_1 = + b.asm.Ws).apply(null, arguments); + }), + kv = (b._emscripten_bind_RaycastInfo_get_m_hardPointWS_0 = function () { + return (kv = b._emscripten_bind_RaycastInfo_get_m_hardPointWS_0 = + b.asm.Xs).apply(null, arguments); + }), + lv = (b._emscripten_bind_RaycastInfo_set_m_hardPointWS_1 = function () { + return (lv = b._emscripten_bind_RaycastInfo_set_m_hardPointWS_1 = + b.asm.Ys).apply(null, arguments); + }), + mv = (b._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0 = + function () { + return (mv = b._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0 = + b.asm.Zs).apply(null, arguments); + }), + nv = (b._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1 = + function () { + return (nv = b._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1 = + b.asm._s).apply(null, arguments); + }), + ov = (b._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0 = function () { + return (ov = b._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0 = + b.asm.$s).apply(null, arguments); + }), + pv = (b._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1 = function () { + return (pv = b._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1 = + b.asm.at).apply(null, arguments); + }), + qv = (b._emscripten_bind_RaycastInfo_get_m_isInContact_0 = function () { + return (qv = b._emscripten_bind_RaycastInfo_get_m_isInContact_0 = + b.asm.bt).apply(null, arguments); + }), + rv = (b._emscripten_bind_RaycastInfo_set_m_isInContact_1 = function () { + return (rv = b._emscripten_bind_RaycastInfo_set_m_isInContact_1 = + b.asm.ct).apply(null, arguments); + }), + sv = (b._emscripten_bind_RaycastInfo_get_m_groundObject_0 = function () { + return (sv = b._emscripten_bind_RaycastInfo_get_m_groundObject_0 = + b.asm.dt).apply(null, arguments); + }), + tv = (b._emscripten_bind_RaycastInfo_set_m_groundObject_1 = function () { + return (tv = b._emscripten_bind_RaycastInfo_set_m_groundObject_1 = + b.asm.et).apply(null, arguments); + }), + uv = (b._emscripten_bind_RaycastInfo___destroy___0 = function () { + return (uv = b._emscripten_bind_RaycastInfo___destroy___0 = + b.asm.ft).apply(null, arguments); + }), + vv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0 = + function () { + return (vv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0 = + b.asm.gt).apply(null, arguments); + }), + wv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1 = + function () { + return (wv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1 = + b.asm.ht).apply(null, arguments); + }), + xv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0 = + function () { + return (xv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0 = + b.asm.it).apply(null, arguments); + }), + yv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1 = + function () { + return (yv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1 = + b.asm.jt).apply(null, arguments); + }), + zv = (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0 = + function () { + return (zv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0 = + b.asm.kt).apply(null, arguments); + }), + Av = (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1 = + function () { + return (Av = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1 = + b.asm.lt).apply(null, arguments); + }), + Bv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0 = + function () { + return (Bv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0 = + b.asm.mt).apply(null, arguments); + }), + Cv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1 = + function () { + return (Cv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1 = + b.asm.nt).apply(null, arguments); + }), + Dv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0 = + function () { + return (Dv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0 = + b.asm.ot).apply(null, arguments); + }), + Ev = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1 = + function () { + return (Ev = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1 = + b.asm.pt).apply(null, arguments); + }), + Fv = (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0 = + function () { + return (Fv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0 = + b.asm.qt).apply(null, arguments); + }), + Gv = (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1 = + function () { + return (Gv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1 = + b.asm.rt).apply(null, arguments); + }), + Hv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0 = + function () { + return (Hv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0 = + b.asm.st).apply(null, arguments); + }), + Iv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1 = + function () { + return (Iv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1 = + b.asm.tt).apply(null, arguments); + }), + Jv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0 = + function () { + return (Jv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0 = + b.asm.ut).apply(null, arguments); + }), + Kv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1 = + function () { + return (Kv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1 = + b.asm.vt).apply(null, arguments); + }), + Lv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0 = + function () { + return (Lv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0 = + b.asm.wt).apply(null, arguments); + }), + Mv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1 = + function () { + return (Mv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1 = + b.asm.xt).apply(null, arguments); + }), + Nv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0 = + function () { + return (Nv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0 = + b.asm.yt).apply(null, arguments); + }), + Ov = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1 = + function () { + return (Ov = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1 = + b.asm.zt).apply(null, arguments); + }), + Pv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0 = + function () { + return (Pv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0 = + b.asm.At).apply(null, arguments); + }), + Qv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1 = + function () { + return (Qv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1 = + b.asm.Bt).apply(null, arguments); + }), + Rv = + (b._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0 = + function () { + return (Rv = + b._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0 = + b.asm.Ct).apply(null, arguments); + }), + Sv = + (b._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1 = + function () { + return (Sv = + b._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1 = + b.asm.Dt).apply(null, arguments); + }), + Tv = (b._emscripten_bind_btWheelInfoConstructionInfo___destroy___0 = + function () { + return (Tv = + b._emscripten_bind_btWheelInfoConstructionInfo___destroy___0 = + b.asm.Et).apply(null, arguments); + }), + Uv = (b._emscripten_bind_btWheelInfo_btWheelInfo_1 = function () { + return (Uv = b._emscripten_bind_btWheelInfo_btWheelInfo_1 = + b.asm.Ft).apply(null, arguments); + }), + Vv = (b._emscripten_bind_btWheelInfo_getSuspensionRestLength_0 = + function () { + return (Vv = + b._emscripten_bind_btWheelInfo_getSuspensionRestLength_0 = + b.asm.Gt).apply(null, arguments); + }), + Wv = (b._emscripten_bind_btWheelInfo_updateWheel_2 = function () { + return (Wv = b._emscripten_bind_btWheelInfo_updateWheel_2 = + b.asm.Ht).apply(null, arguments); + }), + Xv = (b._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0 = + function () { + return (Xv = + b._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0 = + b.asm.It).apply(null, arguments); + }), + Yv = (b._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1 = + function () { + return (Yv = + b._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1 = + b.asm.Jt).apply(null, arguments); + }), + Zv = (b._emscripten_bind_btWheelInfo_get_m_frictionSlip_0 = function () { + return (Zv = b._emscripten_bind_btWheelInfo_get_m_frictionSlip_0 = + b.asm.Kt).apply(null, arguments); + }), + $v = (b._emscripten_bind_btWheelInfo_set_m_frictionSlip_1 = function () { + return ($v = b._emscripten_bind_btWheelInfo_set_m_frictionSlip_1 = + b.asm.Lt).apply(null, arguments); + }), + aw = (b._emscripten_bind_btWheelInfo_get_m_engineForce_0 = function () { + return (aw = b._emscripten_bind_btWheelInfo_get_m_engineForce_0 = + b.asm.Mt).apply(null, arguments); + }), + bw = (b._emscripten_bind_btWheelInfo_set_m_engineForce_1 = function () { + return (bw = b._emscripten_bind_btWheelInfo_set_m_engineForce_1 = + b.asm.Nt).apply(null, arguments); + }), + cw = (b._emscripten_bind_btWheelInfo_get_m_rollInfluence_0 = function () { + return (cw = b._emscripten_bind_btWheelInfo_get_m_rollInfluence_0 = + b.asm.Ot).apply(null, arguments); + }), + dw = (b._emscripten_bind_btWheelInfo_set_m_rollInfluence_1 = function () { + return (dw = b._emscripten_bind_btWheelInfo_set_m_rollInfluence_1 = + b.asm.Pt).apply(null, arguments); + }), + ew = (b._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0 = + function () { + return (ew = + b._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0 = + b.asm.Qt).apply(null, arguments); + }), + fw = (b._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1 = + function () { + return (fw = + b._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1 = + b.asm.Rt).apply(null, arguments); + }), + gw = (b._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0 = function () { + return (gw = b._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0 = + b.asm.St).apply(null, arguments); + }), + hw = (b._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1 = function () { + return (hw = b._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1 = + b.asm.Tt).apply(null, arguments); + }), + iw = (b._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0 = + function () { + return (iw = + b._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0 = + b.asm.Ut).apply(null, arguments); + }), + jw = (b._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1 = + function () { + return (jw = + b._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1 = + b.asm.Vt).apply(null, arguments); + }), + kw = (b._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0 = + function () { + return (kw = + b._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0 = + b.asm.Wt).apply(null, arguments); + }), + lw = (b._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1 = + function () { + return (lw = + b._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1 = + b.asm.Xt).apply(null, arguments); + }), + mw = (b._emscripten_bind_btWheelInfo_get_m_steering_0 = function () { + return (mw = b._emscripten_bind_btWheelInfo_get_m_steering_0 = + b.asm.Yt).apply(null, arguments); + }), + nw = (b._emscripten_bind_btWheelInfo_set_m_steering_1 = function () { + return (nw = b._emscripten_bind_btWheelInfo_set_m_steering_1 = + b.asm.Zt).apply(null, arguments); + }), + ow = (b._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0 = + function () { + return (ow = + b._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0 = + b.asm._t).apply(null, arguments); + }), + pw = (b._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1 = + function () { + return (pw = + b._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1 = + b.asm.$t).apply(null, arguments); + }), + qw = (b._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0 = + function () { + return (qw = + b._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0 = + b.asm.au).apply(null, arguments); + }), + rw = (b._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1 = + function () { + return (rw = + b._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1 = + b.asm.bu).apply(null, arguments); + }), + sw = (b._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0 = + function () { + return (sw = + b._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0 = + b.asm.cu).apply(null, arguments); + }), + tw = (b._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1 = + function () { + return (tw = + b._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1 = + b.asm.du).apply(null, arguments); + }), + uw = (b._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0 = function () { + return (uw = b._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0 = + b.asm.eu).apply(null, arguments); + }), + vw = (b._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1 = function () { + return (vw = b._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1 = + b.asm.fu).apply(null, arguments); + }), + ww = (b._emscripten_bind_btWheelInfo_get_m_raycastInfo_0 = function () { + return (ww = b._emscripten_bind_btWheelInfo_get_m_raycastInfo_0 = + b.asm.gu).apply(null, arguments); + }), + xw = (b._emscripten_bind_btWheelInfo_set_m_raycastInfo_1 = function () { + return (xw = b._emscripten_bind_btWheelInfo_set_m_raycastInfo_1 = + b.asm.hu).apply(null, arguments); + }), + yw = (b._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0 = + function () { + return (yw = + b._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0 = + b.asm.iu).apply(null, arguments); + }), + zw = (b._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1 = + function () { + return (zw = + b._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1 = + b.asm.ju).apply(null, arguments); + }), + Aw = (b._emscripten_bind_btWheelInfo_get_m_worldTransform_0 = + function () { + return (Aw = b._emscripten_bind_btWheelInfo_get_m_worldTransform_0 = + b.asm.ku).apply(null, arguments); + }), + Bw = (b._emscripten_bind_btWheelInfo_set_m_worldTransform_1 = + function () { + return (Bw = b._emscripten_bind_btWheelInfo_set_m_worldTransform_1 = + b.asm.lu).apply(null, arguments); + }), + Cw = (b._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0 = + function () { + return (Cw = b._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0 = + b.asm.mu).apply(null, arguments); + }), + Dw = (b._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1 = + function () { + return (Dw = b._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1 = + b.asm.nu).apply(null, arguments); + }), + Ew = (b._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0 = function () { + return (Ew = b._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0 = + b.asm.ou).apply(null, arguments); + }), + Fw = (b._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1 = function () { + return (Fw = b._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1 = + b.asm.pu).apply(null, arguments); + }), + Gw = (b._emscripten_bind_btWheelInfo_get_m_rotation_0 = function () { + return (Gw = b._emscripten_bind_btWheelInfo_get_m_rotation_0 = + b.asm.qu).apply(null, arguments); + }), + Hw = (b._emscripten_bind_btWheelInfo_set_m_rotation_1 = function () { + return (Hw = b._emscripten_bind_btWheelInfo_set_m_rotation_1 = + b.asm.ru).apply(null, arguments); + }), + Iw = (b._emscripten_bind_btWheelInfo_get_m_deltaRotation_0 = function () { + return (Iw = b._emscripten_bind_btWheelInfo_get_m_deltaRotation_0 = + b.asm.su).apply(null, arguments); + }), + Jw = (b._emscripten_bind_btWheelInfo_set_m_deltaRotation_1 = function () { + return (Jw = b._emscripten_bind_btWheelInfo_set_m_deltaRotation_1 = + b.asm.tu).apply(null, arguments); + }), + Kw = (b._emscripten_bind_btWheelInfo_get_m_brake_0 = function () { + return (Kw = b._emscripten_bind_btWheelInfo_get_m_brake_0 = + b.asm.uu).apply(null, arguments); + }), + Lw = (b._emscripten_bind_btWheelInfo_set_m_brake_1 = function () { + return (Lw = b._emscripten_bind_btWheelInfo_set_m_brake_1 = + b.asm.vu).apply(null, arguments); + }), + Mw = + (b._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0 = + function () { + return (Mw = + b._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0 = + b.asm.wu).apply(null, arguments); + }), + Nw = + (b._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1 = + function () { + return (Nw = + b._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1 = + b.asm.xu).apply(null, arguments); + }), + Ow = (b._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0 = + function () { + return (Ow = + b._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0 = + b.asm.yu).apply(null, arguments); + }), + Pw = (b._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1 = + function () { + return (Pw = + b._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1 = + b.asm.zu).apply(null, arguments); + }), + Qw = (b._emscripten_bind_btWheelInfo_get_m_skidInfo_0 = function () { + return (Qw = b._emscripten_bind_btWheelInfo_get_m_skidInfo_0 = + b.asm.Au).apply(null, arguments); + }), + Rw = (b._emscripten_bind_btWheelInfo_set_m_skidInfo_1 = function () { + return (Rw = b._emscripten_bind_btWheelInfo_set_m_skidInfo_1 = + b.asm.Bu).apply(null, arguments); + }), + Sw = (b._emscripten_bind_btWheelInfo___destroy___0 = function () { + return (Sw = b._emscripten_bind_btWheelInfo___destroy___0 = + b.asm.Cu).apply(null, arguments); + }), + Tw = + (b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3 = + function () { + return (Tw = + b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3 = + b.asm.Du).apply(null, arguments); + }), + Uw = + (b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4 = + function () { + return (Uw = + b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4 = + b.asm.Eu).apply(null, arguments); + }), + Vw = (b._emscripten_bind_btKinematicCharacterController_setUpAxis_1 = + function () { + return (Vw = + b._emscripten_bind_btKinematicCharacterController_setUpAxis_1 = + b.asm.Fu).apply(null, arguments); + }), + Ww = + (b._emscripten_bind_btKinematicCharacterController_setWalkDirection_1 = + function () { + return (Ww = + b._emscripten_bind_btKinematicCharacterController_setWalkDirection_1 = + b.asm.Gu).apply(null, arguments); + }), + Xw = + (b._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2 = + function () { + return (Xw = + b._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2 = + b.asm.Hu).apply(null, arguments); + }), + Yw = (b._emscripten_bind_btKinematicCharacterController_warp_1 = + function () { + return (Yw = + b._emscripten_bind_btKinematicCharacterController_warp_1 = + b.asm.Iu).apply(null, arguments); + }), + Zw = (b._emscripten_bind_btKinematicCharacterController_preStep_1 = + function () { + return (Zw = + b._emscripten_bind_btKinematicCharacterController_preStep_1 = + b.asm.Ju).apply(null, arguments); + }), + $w = (b._emscripten_bind_btKinematicCharacterController_playerStep_2 = + function () { + return ($w = + b._emscripten_bind_btKinematicCharacterController_playerStep_2 = + b.asm.Ku).apply(null, arguments); + }), + ax = (b._emscripten_bind_btKinematicCharacterController_setFallSpeed_1 = + function () { + return (ax = + b._emscripten_bind_btKinematicCharacterController_setFallSpeed_1 = + b.asm.Lu).apply(null, arguments); + }), + bx = (b._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1 = + function () { + return (bx = + b._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1 = + b.asm.Mu).apply(null, arguments); + }), + cx = + (b._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1 = + function () { + return (cx = + b._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1 = + b.asm.Nu).apply(null, arguments); + }), + dx = (b._emscripten_bind_btKinematicCharacterController_canJump_0 = + function () { + return (dx = + b._emscripten_bind_btKinematicCharacterController_canJump_0 = + b.asm.Ou).apply(null, arguments); + }), + ex = (b._emscripten_bind_btKinematicCharacterController_jump_0 = + function () { + return (ex = + b._emscripten_bind_btKinematicCharacterController_jump_0 = + b.asm.Pu).apply(null, arguments); + }), + fx = (b._emscripten_bind_btKinematicCharacterController_setGravity_1 = + function () { + return (fx = + b._emscripten_bind_btKinematicCharacterController_setGravity_1 = + b.asm.Qu).apply(null, arguments); + }), + gx = (b._emscripten_bind_btKinematicCharacterController_getGravity_0 = + function () { + return (gx = + b._emscripten_bind_btKinematicCharacterController_getGravity_0 = + b.asm.Ru).apply(null, arguments); + }), + hx = (b._emscripten_bind_btKinematicCharacterController_setMaxSlope_1 = + function () { + return (hx = + b._emscripten_bind_btKinematicCharacterController_setMaxSlope_1 = + b.asm.Su).apply(null, arguments); + }), + ix = (b._emscripten_bind_btKinematicCharacterController_getMaxSlope_0 = + function () { + return (ix = + b._emscripten_bind_btKinematicCharacterController_getMaxSlope_0 = + b.asm.Tu).apply(null, arguments); + }), + jx = (b._emscripten_bind_btKinematicCharacterController_getGhostObject_0 = + function () { + return (jx = + b._emscripten_bind_btKinematicCharacterController_getGhostObject_0 = + b.asm.Uu).apply(null, arguments); + }), + kx = + (b._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1 = + function () { + return (kx = + b._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1 = + b.asm.Vu).apply(null, arguments); + }), + lx = (b._emscripten_bind_btKinematicCharacterController_onGround_0 = + function () { + return (lx = + b._emscripten_bind_btKinematicCharacterController_onGround_0 = + b.asm.Wu).apply(null, arguments); + }), + mx = + (b._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1 = + function () { + return (mx = + b._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1 = + b.asm.Xu).apply(null, arguments); + }), + nx = (b._emscripten_bind_btKinematicCharacterController_updateAction_2 = + function () { + return (nx = + b._emscripten_bind_btKinematicCharacterController_updateAction_2 = + b.asm.Yu).apply(null, arguments); + }), + ox = (b._emscripten_bind_btKinematicCharacterController___destroy___0 = + function () { + return (ox = + b._emscripten_bind_btKinematicCharacterController___destroy___0 = + b.asm.Zu).apply(null, arguments); + }), + px = (b._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3 = + function () { + return (px = b._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3 = + b.asm._u).apply(null, arguments); + }), + qx = (b._emscripten_bind_btRaycastVehicle_applyEngineForce_2 = + function () { + return (qx = b._emscripten_bind_btRaycastVehicle_applyEngineForce_2 = + b.asm.$u).apply(null, arguments); + }), + rx = (b._emscripten_bind_btRaycastVehicle_setSteeringValue_2 = + function () { + return (rx = b._emscripten_bind_btRaycastVehicle_setSteeringValue_2 = + b.asm.av).apply(null, arguments); + }), + sx = (b._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1 = + function () { + return (sx = + b._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1 = + b.asm.bv).apply(null, arguments); + }), + tx = (b._emscripten_bind_btRaycastVehicle_updateWheelTransform_2 = + function () { + return (tx = + b._emscripten_bind_btRaycastVehicle_updateWheelTransform_2 = + b.asm.cv).apply(null, arguments); + }), + ux = (b._emscripten_bind_btRaycastVehicle_addWheel_7 = function () { + return (ux = b._emscripten_bind_btRaycastVehicle_addWheel_7 = + b.asm.dv).apply(null, arguments); + }), + vx = (b._emscripten_bind_btRaycastVehicle_getNumWheels_0 = function () { + return (vx = b._emscripten_bind_btRaycastVehicle_getNumWheels_0 = + b.asm.ev).apply(null, arguments); + }), + wx = (b._emscripten_bind_btRaycastVehicle_getRigidBody_0 = function () { + return (wx = b._emscripten_bind_btRaycastVehicle_getRigidBody_0 = + b.asm.fv).apply(null, arguments); + }), + xx = (b._emscripten_bind_btRaycastVehicle_getWheelInfo_1 = function () { + return (xx = b._emscripten_bind_btRaycastVehicle_getWheelInfo_1 = + b.asm.gv).apply(null, arguments); + }), + yx = (b._emscripten_bind_btRaycastVehicle_setBrake_2 = function () { + return (yx = b._emscripten_bind_btRaycastVehicle_setBrake_2 = + b.asm.hv).apply(null, arguments); + }), + zx = (b._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3 = + function () { + return (zx = + b._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3 = + b.asm.iv).apply(null, arguments); + }), + Ax = (b._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0 = + function () { + return (Ax = + b._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0 = + b.asm.jv).apply(null, arguments); + }), + Bx = (b._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0 = + function () { + return (Bx = + b._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0 = + b.asm.kv).apply(null, arguments); + }), + Cx = (b._emscripten_bind_btRaycastVehicle_rayCast_1 = function () { + return (Cx = b._emscripten_bind_btRaycastVehicle_rayCast_1 = + b.asm.lv).apply(null, arguments); + }), + Dx = (b._emscripten_bind_btRaycastVehicle_updateVehicle_1 = function () { + return (Dx = b._emscripten_bind_btRaycastVehicle_updateVehicle_1 = + b.asm.mv).apply(null, arguments); + }), + Ex = (b._emscripten_bind_btRaycastVehicle_resetSuspension_0 = + function () { + return (Ex = b._emscripten_bind_btRaycastVehicle_resetSuspension_0 = + b.asm.nv).apply(null, arguments); + }), + Fx = (b._emscripten_bind_btRaycastVehicle_getSteeringValue_1 = + function () { + return (Fx = b._emscripten_bind_btRaycastVehicle_getSteeringValue_1 = + b.asm.ov).apply(null, arguments); + }), + Gx = (b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1 = + function () { + return (Gx = + b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1 = + b.asm.pv).apply(null, arguments); + }), + Hx = (b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2 = + function () { + return (Hx = + b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2 = + b.asm.qv).apply(null, arguments); + }), + Ix = (b._emscripten_bind_btRaycastVehicle_setPitchControl_1 = + function () { + return (Ix = b._emscripten_bind_btRaycastVehicle_setPitchControl_1 = + b.asm.rv).apply(null, arguments); + }), + Jx = (b._emscripten_bind_btRaycastVehicle_updateSuspension_1 = + function () { + return (Jx = b._emscripten_bind_btRaycastVehicle_updateSuspension_1 = + b.asm.sv).apply(null, arguments); + }), + Kx = (b._emscripten_bind_btRaycastVehicle_updateFriction_1 = function () { + return (Kx = b._emscripten_bind_btRaycastVehicle_updateFriction_1 = + b.asm.tv).apply(null, arguments); + }), + Lx = (b._emscripten_bind_btRaycastVehicle_getRightAxis_0 = function () { + return (Lx = b._emscripten_bind_btRaycastVehicle_getRightAxis_0 = + b.asm.uv).apply(null, arguments); + }), + Mx = (b._emscripten_bind_btRaycastVehicle_getUpAxis_0 = function () { + return (Mx = b._emscripten_bind_btRaycastVehicle_getUpAxis_0 = + b.asm.vv).apply(null, arguments); + }), + Nx = (b._emscripten_bind_btRaycastVehicle_getForwardAxis_0 = function () { + return (Nx = b._emscripten_bind_btRaycastVehicle_getForwardAxis_0 = + b.asm.wv).apply(null, arguments); + }), + Ox = (b._emscripten_bind_btRaycastVehicle_getForwardVector_0 = + function () { + return (Ox = b._emscripten_bind_btRaycastVehicle_getForwardVector_0 = + b.asm.xv).apply(null, arguments); + }), + Px = (b._emscripten_bind_btRaycastVehicle_getUserConstraintType_0 = + function () { + return (Px = + b._emscripten_bind_btRaycastVehicle_getUserConstraintType_0 = + b.asm.yv).apply(null, arguments); + }), + Qx = (b._emscripten_bind_btRaycastVehicle_setUserConstraintType_1 = + function () { + return (Qx = + b._emscripten_bind_btRaycastVehicle_setUserConstraintType_1 = + b.asm.zv).apply(null, arguments); + }), + Rx = (b._emscripten_bind_btRaycastVehicle_setUserConstraintId_1 = + function () { + return (Rx = + b._emscripten_bind_btRaycastVehicle_setUserConstraintId_1 = + b.asm.Av).apply(null, arguments); + }), + Sx = (b._emscripten_bind_btRaycastVehicle_getUserConstraintId_0 = + function () { + return (Sx = + b._emscripten_bind_btRaycastVehicle_getUserConstraintId_0 = + b.asm.Bv).apply(null, arguments); + }), + Tx = (b._emscripten_bind_btRaycastVehicle_updateAction_2 = function () { + return (Tx = b._emscripten_bind_btRaycastVehicle_updateAction_2 = + b.asm.Cv).apply(null, arguments); + }), + Ux = (b._emscripten_bind_btRaycastVehicle___destroy___0 = function () { + return (Ux = b._emscripten_bind_btRaycastVehicle___destroy___0 = + b.asm.Dv).apply(null, arguments); + }), + Vx = + (b._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0 = + function () { + return (Vx = + b._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0 = + b.asm.Ev).apply(null, arguments); + }), + Wx = + (b._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2 = + function () { + return (Wx = + b._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2 = + b.asm.Fv).apply(null, arguments); + }), + Xx = (b._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0 = + function () { + return (Xx = + b._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0 = + b.asm.Gv).apply(null, arguments); + }), + Yx = + (b._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1 = + function () { + return (Yx = + b._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1 = + b.asm.Hv).apply(null, arguments); + }), + Zx = (b._emscripten_bind_btPairCachingGhostObject_setActivationState_1 = + function () { + return (Zx = + b._emscripten_bind_btPairCachingGhostObject_setActivationState_1 = + b.asm.Iv).apply(null, arguments); + }), + $x = (b._emscripten_bind_btPairCachingGhostObject_forceActivationState_1 = + function () { + return ($x = + b._emscripten_bind_btPairCachingGhostObject_forceActivationState_1 = + b.asm.Jv).apply(null, arguments); + }), + ay = (b._emscripten_bind_btPairCachingGhostObject_activate_0 = + function () { + return (ay = b._emscripten_bind_btPairCachingGhostObject_activate_0 = + b.asm.Kv).apply(null, arguments); + }), + by = (b._emscripten_bind_btPairCachingGhostObject_activate_1 = + function () { + return (by = b._emscripten_bind_btPairCachingGhostObject_activate_1 = + b.asm.Lv).apply(null, arguments); + }), + cy = (b._emscripten_bind_btPairCachingGhostObject_isActive_0 = + function () { + return (cy = b._emscripten_bind_btPairCachingGhostObject_isActive_0 = + b.asm.Mv).apply(null, arguments); + }), + dy = (b._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0 = + function () { + return (dy = + b._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0 = + b.asm.Nv).apply(null, arguments); + }), + ey = (b._emscripten_bind_btPairCachingGhostObject_isStaticObject_0 = + function () { + return (ey = + b._emscripten_bind_btPairCachingGhostObject_isStaticObject_0 = + b.asm.Ov).apply(null, arguments); + }), + fy = + (b._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0 = + function () { + return (fy = + b._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0 = + b.asm.Pv).apply(null, arguments); + }), + gy = (b._emscripten_bind_btPairCachingGhostObject_getRestitution_0 = + function () { + return (gy = + b._emscripten_bind_btPairCachingGhostObject_getRestitution_0 = + b.asm.Qv).apply(null, arguments); + }), + hy = (b._emscripten_bind_btPairCachingGhostObject_getFriction_0 = + function () { + return (hy = + b._emscripten_bind_btPairCachingGhostObject_getFriction_0 = + b.asm.Rv).apply(null, arguments); + }), + iy = (b._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0 = + function () { + return (iy = + b._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0 = + b.asm.Sv).apply(null, arguments); + }), + jy = (b._emscripten_bind_btPairCachingGhostObject_setRestitution_1 = + function () { + return (jy = + b._emscripten_bind_btPairCachingGhostObject_setRestitution_1 = + b.asm.Tv).apply(null, arguments); + }), + ky = (b._emscripten_bind_btPairCachingGhostObject_setFriction_1 = + function () { + return (ky = + b._emscripten_bind_btPairCachingGhostObject_setFriction_1 = + b.asm.Uv).apply(null, arguments); + }), + ly = (b._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1 = + function () { + return (ly = + b._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1 = + b.asm.Vv).apply(null, arguments); + }), + my = (b._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0 = + function () { + return (my = + b._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0 = + b.asm.Wv).apply(null, arguments); + }), + ny = (b._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0 = + function () { + return (ny = + b._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0 = + b.asm.Xv).apply(null, arguments); + }), + oy = (b._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1 = + function () { + return (oy = + b._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1 = + b.asm.Yv).apply(null, arguments); + }), + py = (b._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1 = + function () { + return (py = + b._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1 = + b.asm.Zv).apply(null, arguments); + }), + qy = (b._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1 = + function () { + return (qy = + b._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1 = + b.asm._v).apply(null, arguments); + }), + ry = + (b._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1 = + function () { + return (ry = + b._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1 = + b.asm.$v).apply(null, arguments); + }), + sy = + (b._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1 = + function () { + return (sy = + b._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1 = + b.asm.aw).apply(null, arguments); + }), + ty = (b._emscripten_bind_btPairCachingGhostObject_getUserIndex_0 = + function () { + return (ty = + b._emscripten_bind_btPairCachingGhostObject_getUserIndex_0 = + b.asm.bw).apply(null, arguments); + }), + uy = (b._emscripten_bind_btPairCachingGhostObject_setUserIndex_1 = + function () { + return (uy = + b._emscripten_bind_btPairCachingGhostObject_setUserIndex_1 = + b.asm.cw).apply(null, arguments); + }), + vy = (b._emscripten_bind_btPairCachingGhostObject_getUserPointer_0 = + function () { + return (vy = + b._emscripten_bind_btPairCachingGhostObject_getUserPointer_0 = + b.asm.dw).apply(null, arguments); + }), + wy = (b._emscripten_bind_btPairCachingGhostObject_setUserPointer_1 = + function () { + return (wy = + b._emscripten_bind_btPairCachingGhostObject_setUserPointer_1 = + b.asm.ew).apply(null, arguments); + }), + xy = (b._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0 = + function () { + return (xy = + b._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0 = + b.asm.fw).apply(null, arguments); + }), + yy = + (b._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0 = + function () { + return (yy = + b._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0 = + b.asm.gw).apply(null, arguments); + }), + zy = (b._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1 = + function () { + return (zy = + b._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1 = + b.asm.hw).apply(null, arguments); + }), + Ay = (b._emscripten_bind_btPairCachingGhostObject___destroy___0 = + function () { + return (Ay = + b._emscripten_bind_btPairCachingGhostObject___destroy___0 = + b.asm.iw).apply(null, arguments); + }), + By = (b._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0 = + function () { + return (By = + b._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0 = + b.asm.jw).apply(null, arguments); + }), + Cy = (b._emscripten_bind_btGhostPairCallback___destroy___0 = function () { + return (Cy = b._emscripten_bind_btGhostPairCallback___destroy___0 = + b.asm.kw).apply(null, arguments); + }), + Dy = (b._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0 = + function () { + return (Dy = + b._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0 = + b.asm.lw).apply(null, arguments); + }), + Ey = (b._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0 = + function () { + return (Ey = + b._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0 = + b.asm.mw).apply(null, arguments); + }), + Fy = (b._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1 = + function () { + return (Fy = + b._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1 = + b.asm.nw).apply(null, arguments); + }), + Gy = (b._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0 = + function () { + return (Gy = + b._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0 = + b.asm.ow).apply(null, arguments); + }), + Hy = (b._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1 = + function () { + return (Hy = + b._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1 = + b.asm.pw).apply(null, arguments); + }), + Iy = (b._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0 = + function () { + return (Iy = + b._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0 = + b.asm.qw).apply(null, arguments); + }), + Jy = (b._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1 = + function () { + return (Jy = + b._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1 = + b.asm.rw).apply(null, arguments); + }), + Ky = (b._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0 = + function () { + return (Ky = + b._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0 = + b.asm.sw).apply(null, arguments); + }), + Ly = (b._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1 = + function () { + return (Ly = + b._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1 = + b.asm.tw).apply(null, arguments); + }), + My = (b._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0 = + function () { + return (My = + b._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0 = + b.asm.uw).apply(null, arguments); + }), + Ny = (b._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1 = + function () { + return (Ny = + b._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1 = + b.asm.vw).apply(null, arguments); + }), + Oy = (b._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0 = + function () { + return (Oy = + b._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0 = + b.asm.ww).apply(null, arguments); + }), + Py = (b._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1 = + function () { + return (Py = + b._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1 = + b.asm.xw).apply(null, arguments); + }), + Qy = (b._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0 = + function () { + return (Qy = + b._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0 = + b.asm.yw).apply(null, arguments); + }), + Ry = (b._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1 = + function () { + return (Ry = + b._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1 = + b.asm.zw).apply(null, arguments); + }), + Sy = (b._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0 = + function () { + return (Sy = b._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0 = + b.asm.Aw).apply(null, arguments); + }), + Ty = (b._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1 = + function () { + return (Ty = b._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1 = + b.asm.Bw).apply(null, arguments); + }), + Uy = (b._emscripten_bind_btSoftBodyWorldInfo___destroy___0 = function () { + return (Uy = b._emscripten_bind_btSoftBodyWorldInfo___destroy___0 = + b.asm.Cw).apply(null, arguments); + }), + Vy = (b._emscripten_bind_Face_get_m_n_1 = function () { + return (Vy = b._emscripten_bind_Face_get_m_n_1 = b.asm.Dw).apply( + null, + arguments, + ); + }), + Wy = (b._emscripten_bind_Face_set_m_n_2 = function () { + return (Wy = b._emscripten_bind_Face_set_m_n_2 = b.asm.Ew).apply( + null, + arguments, + ); + }), + Xy = (b._emscripten_bind_Face_get_m_normal_0 = function () { + return (Xy = b._emscripten_bind_Face_get_m_normal_0 = b.asm.Fw).apply( + null, + arguments, + ); + }), + Yy = (b._emscripten_bind_Face_set_m_normal_1 = function () { + return (Yy = b._emscripten_bind_Face_set_m_normal_1 = b.asm.Gw).apply( + null, + arguments, + ); + }), + Zy = (b._emscripten_bind_Face_get_m_ra_0 = function () { + return (Zy = b._emscripten_bind_Face_get_m_ra_0 = b.asm.Hw).apply( + null, + arguments, + ); + }), + $y = (b._emscripten_bind_Face_set_m_ra_1 = function () { + return ($y = b._emscripten_bind_Face_set_m_ra_1 = b.asm.Iw).apply( + null, + arguments, + ); + }), + az = (b._emscripten_bind_Face___destroy___0 = function () { + return (az = b._emscripten_bind_Face___destroy___0 = b.asm.Jw).apply( + null, + arguments, + ); + }), + bz = (b._emscripten_bind_tFaceArray_size_0 = function () { + return (bz = b._emscripten_bind_tFaceArray_size_0 = b.asm.Kw).apply( + null, + arguments, + ); + }), + cz = (b._emscripten_bind_tFaceArray_at_1 = function () { + return (cz = b._emscripten_bind_tFaceArray_at_1 = b.asm.Lw).apply( + null, + arguments, + ); + }), + dz = (b._emscripten_bind_tFaceArray___destroy___0 = function () { + return (dz = b._emscripten_bind_tFaceArray___destroy___0 = + b.asm.Mw).apply(null, arguments); + }), + ez = (b._emscripten_bind_Node_get_m_x_0 = function () { + return (ez = b._emscripten_bind_Node_get_m_x_0 = b.asm.Nw).apply( + null, + arguments, + ); + }), + fz = (b._emscripten_bind_Node_set_m_x_1 = function () { + return (fz = b._emscripten_bind_Node_set_m_x_1 = b.asm.Ow).apply( + null, + arguments, + ); + }), + gz = (b._emscripten_bind_Node_get_m_q_0 = function () { + return (gz = b._emscripten_bind_Node_get_m_q_0 = b.asm.Pw).apply( + null, + arguments, + ); + }), + hz = (b._emscripten_bind_Node_set_m_q_1 = function () { + return (hz = b._emscripten_bind_Node_set_m_q_1 = b.asm.Qw).apply( + null, + arguments, + ); + }), + iz = (b._emscripten_bind_Node_get_m_v_0 = function () { + return (iz = b._emscripten_bind_Node_get_m_v_0 = b.asm.Rw).apply( + null, + arguments, + ); + }), + jz = (b._emscripten_bind_Node_set_m_v_1 = function () { + return (jz = b._emscripten_bind_Node_set_m_v_1 = b.asm.Sw).apply( + null, + arguments, + ); + }), + kz = (b._emscripten_bind_Node_get_m_f_0 = function () { + return (kz = b._emscripten_bind_Node_get_m_f_0 = b.asm.Tw).apply( + null, + arguments, + ); + }), + lz = (b._emscripten_bind_Node_set_m_f_1 = function () { + return (lz = b._emscripten_bind_Node_set_m_f_1 = b.asm.Uw).apply( + null, + arguments, + ); + }), + mz = (b._emscripten_bind_Node_get_m_n_0 = function () { + return (mz = b._emscripten_bind_Node_get_m_n_0 = b.asm.Vw).apply( + null, + arguments, + ); + }), + nz = (b._emscripten_bind_Node_set_m_n_1 = function () { + return (nz = b._emscripten_bind_Node_set_m_n_1 = b.asm.Ww).apply( + null, + arguments, + ); + }), + oz = (b._emscripten_bind_Node_get_m_im_0 = function () { + return (oz = b._emscripten_bind_Node_get_m_im_0 = b.asm.Xw).apply( + null, + arguments, + ); + }), + pz = (b._emscripten_bind_Node_set_m_im_1 = function () { + return (pz = b._emscripten_bind_Node_set_m_im_1 = b.asm.Yw).apply( + null, + arguments, + ); + }), + qz = (b._emscripten_bind_Node_get_m_area_0 = function () { + return (qz = b._emscripten_bind_Node_get_m_area_0 = b.asm.Zw).apply( + null, + arguments, + ); + }), + rz = (b._emscripten_bind_Node_set_m_area_1 = function () { + return (rz = b._emscripten_bind_Node_set_m_area_1 = b.asm._w).apply( + null, + arguments, + ); + }), + sz = (b._emscripten_bind_Node___destroy___0 = function () { + return (sz = b._emscripten_bind_Node___destroy___0 = b.asm.$w).apply( + null, + arguments, + ); + }), + tz = (b._emscripten_bind_tNodeArray_size_0 = function () { + return (tz = b._emscripten_bind_tNodeArray_size_0 = b.asm.ax).apply( + null, + arguments, + ); + }), + uz = (b._emscripten_bind_tNodeArray_at_1 = function () { + return (uz = b._emscripten_bind_tNodeArray_at_1 = b.asm.bx).apply( + null, + arguments, + ); + }), + vz = (b._emscripten_bind_tNodeArray___destroy___0 = function () { + return (vz = b._emscripten_bind_tNodeArray___destroy___0 = + b.asm.cx).apply(null, arguments); + }), + wz = (b._emscripten_bind_Material_get_m_kLST_0 = function () { + return (wz = b._emscripten_bind_Material_get_m_kLST_0 = b.asm.dx).apply( + null, + arguments, + ); + }), + xz = (b._emscripten_bind_Material_set_m_kLST_1 = function () { + return (xz = b._emscripten_bind_Material_set_m_kLST_1 = b.asm.ex).apply( + null, + arguments, + ); + }), + yz = (b._emscripten_bind_Material_get_m_kAST_0 = function () { + return (yz = b._emscripten_bind_Material_get_m_kAST_0 = b.asm.fx).apply( + null, + arguments, + ); + }), + zz = (b._emscripten_bind_Material_set_m_kAST_1 = function () { + return (zz = b._emscripten_bind_Material_set_m_kAST_1 = b.asm.gx).apply( + null, + arguments, + ); + }), + Az = (b._emscripten_bind_Material_get_m_kVST_0 = function () { + return (Az = b._emscripten_bind_Material_get_m_kVST_0 = b.asm.hx).apply( + null, + arguments, + ); + }), + Bz = (b._emscripten_bind_Material_set_m_kVST_1 = function () { + return (Bz = b._emscripten_bind_Material_set_m_kVST_1 = b.asm.ix).apply( + null, + arguments, + ); + }), + Cz = (b._emscripten_bind_Material_get_m_flags_0 = function () { + return (Cz = b._emscripten_bind_Material_get_m_flags_0 = + b.asm.jx).apply(null, arguments); + }), + Dz = (b._emscripten_bind_Material_set_m_flags_1 = function () { + return (Dz = b._emscripten_bind_Material_set_m_flags_1 = + b.asm.kx).apply(null, arguments); + }), + Ez = (b._emscripten_bind_Material___destroy___0 = function () { + return (Ez = b._emscripten_bind_Material___destroy___0 = + b.asm.lx).apply(null, arguments); + }), + Fz = (b._emscripten_bind_tMaterialArray_size_0 = function () { + return (Fz = b._emscripten_bind_tMaterialArray_size_0 = b.asm.mx).apply( + null, + arguments, + ); + }), + Gz = (b._emscripten_bind_tMaterialArray_at_1 = function () { + return (Gz = b._emscripten_bind_tMaterialArray_at_1 = b.asm.nx).apply( + null, + arguments, + ); + }), + Hz = (b._emscripten_bind_tMaterialArray___destroy___0 = function () { + return (Hz = b._emscripten_bind_tMaterialArray___destroy___0 = + b.asm.ox).apply(null, arguments); + }), + Iz = (b._emscripten_bind_Anchor_get_m_node_0 = function () { + return (Iz = b._emscripten_bind_Anchor_get_m_node_0 = b.asm.px).apply( + null, + arguments, + ); + }), + Jz = (b._emscripten_bind_Anchor_set_m_node_1 = function () { + return (Jz = b._emscripten_bind_Anchor_set_m_node_1 = b.asm.qx).apply( + null, + arguments, + ); + }), + Kz = (b._emscripten_bind_Anchor_get_m_local_0 = function () { + return (Kz = b._emscripten_bind_Anchor_get_m_local_0 = b.asm.rx).apply( + null, + arguments, + ); + }), + Lz = (b._emscripten_bind_Anchor_set_m_local_1 = function () { + return (Lz = b._emscripten_bind_Anchor_set_m_local_1 = b.asm.sx).apply( + null, + arguments, + ); + }), + Mz = (b._emscripten_bind_Anchor_get_m_body_0 = function () { + return (Mz = b._emscripten_bind_Anchor_get_m_body_0 = b.asm.tx).apply( + null, + arguments, + ); + }), + Nz = (b._emscripten_bind_Anchor_set_m_body_1 = function () { + return (Nz = b._emscripten_bind_Anchor_set_m_body_1 = b.asm.ux).apply( + null, + arguments, + ); + }), + Oz = (b._emscripten_bind_Anchor_get_m_influence_0 = function () { + return (Oz = b._emscripten_bind_Anchor_get_m_influence_0 = + b.asm.vx).apply(null, arguments); + }), + Pz = (b._emscripten_bind_Anchor_set_m_influence_1 = function () { + return (Pz = b._emscripten_bind_Anchor_set_m_influence_1 = + b.asm.wx).apply(null, arguments); + }), + Qz = (b._emscripten_bind_Anchor_get_m_c0_0 = function () { + return (Qz = b._emscripten_bind_Anchor_get_m_c0_0 = b.asm.xx).apply( + null, + arguments, + ); + }), + Rz = (b._emscripten_bind_Anchor_set_m_c0_1 = function () { + return (Rz = b._emscripten_bind_Anchor_set_m_c0_1 = b.asm.yx).apply( + null, + arguments, + ); + }), + Sz = (b._emscripten_bind_Anchor_get_m_c1_0 = function () { + return (Sz = b._emscripten_bind_Anchor_get_m_c1_0 = b.asm.zx).apply( + null, + arguments, + ); + }), + Tz = (b._emscripten_bind_Anchor_set_m_c1_1 = function () { + return (Tz = b._emscripten_bind_Anchor_set_m_c1_1 = b.asm.Ax).apply( + null, + arguments, + ); + }), + Uz = (b._emscripten_bind_Anchor_get_m_c2_0 = function () { + return (Uz = b._emscripten_bind_Anchor_get_m_c2_0 = b.asm.Bx).apply( + null, + arguments, + ); + }), + Vz = (b._emscripten_bind_Anchor_set_m_c2_1 = function () { + return (Vz = b._emscripten_bind_Anchor_set_m_c2_1 = b.asm.Cx).apply( + null, + arguments, + ); + }), + Wz = (b._emscripten_bind_Anchor___destroy___0 = function () { + return (Wz = b._emscripten_bind_Anchor___destroy___0 = b.asm.Dx).apply( + null, + arguments, + ); + }), + Xz = (b._emscripten_bind_tAnchorArray_size_0 = function () { + return (Xz = b._emscripten_bind_tAnchorArray_size_0 = b.asm.Ex).apply( + null, + arguments, + ); + }), + Yz = (b._emscripten_bind_tAnchorArray_at_1 = function () { + return (Yz = b._emscripten_bind_tAnchorArray_at_1 = b.asm.Fx).apply( + null, + arguments, + ); + }), + Zz = (b._emscripten_bind_tAnchorArray_clear_0 = function () { + return (Zz = b._emscripten_bind_tAnchorArray_clear_0 = b.asm.Gx).apply( + null, + arguments, + ); + }), + $z = (b._emscripten_bind_tAnchorArray_push_back_1 = function () { + return ($z = b._emscripten_bind_tAnchorArray_push_back_1 = + b.asm.Hx).apply(null, arguments); + }), + aA = (b._emscripten_bind_tAnchorArray_pop_back_0 = function () { + return (aA = b._emscripten_bind_tAnchorArray_pop_back_0 = + b.asm.Ix).apply(null, arguments); + }), + bA = (b._emscripten_bind_tAnchorArray___destroy___0 = function () { + return (bA = b._emscripten_bind_tAnchorArray___destroy___0 = + b.asm.Jx).apply(null, arguments); + }), + cA = (b._emscripten_bind_Config_get_kVCF_0 = function () { + return (cA = b._emscripten_bind_Config_get_kVCF_0 = b.asm.Kx).apply( + null, + arguments, + ); + }), + dA = (b._emscripten_bind_Config_set_kVCF_1 = function () { + return (dA = b._emscripten_bind_Config_set_kVCF_1 = b.asm.Lx).apply( + null, + arguments, + ); + }), + eA = (b._emscripten_bind_Config_get_kDP_0 = function () { + return (eA = b._emscripten_bind_Config_get_kDP_0 = b.asm.Mx).apply( + null, + arguments, + ); + }), + fA = (b._emscripten_bind_Config_set_kDP_1 = function () { + return (fA = b._emscripten_bind_Config_set_kDP_1 = b.asm.Nx).apply( + null, + arguments, + ); + }), + gA = (b._emscripten_bind_Config_get_kDG_0 = function () { + return (gA = b._emscripten_bind_Config_get_kDG_0 = b.asm.Ox).apply( + null, + arguments, + ); + }), + hA = (b._emscripten_bind_Config_set_kDG_1 = function () { + return (hA = b._emscripten_bind_Config_set_kDG_1 = b.asm.Px).apply( + null, + arguments, + ); + }), + iA = (b._emscripten_bind_Config_get_kLF_0 = function () { + return (iA = b._emscripten_bind_Config_get_kLF_0 = b.asm.Qx).apply( + null, + arguments, + ); + }), + jA = (b._emscripten_bind_Config_set_kLF_1 = function () { + return (jA = b._emscripten_bind_Config_set_kLF_1 = b.asm.Rx).apply( + null, + arguments, + ); + }), + kA = (b._emscripten_bind_Config_get_kPR_0 = function () { + return (kA = b._emscripten_bind_Config_get_kPR_0 = b.asm.Sx).apply( + null, + arguments, + ); + }), + lA = (b._emscripten_bind_Config_set_kPR_1 = function () { + return (lA = b._emscripten_bind_Config_set_kPR_1 = b.asm.Tx).apply( + null, + arguments, + ); + }), + mA = (b._emscripten_bind_Config_get_kVC_0 = function () { + return (mA = b._emscripten_bind_Config_get_kVC_0 = b.asm.Ux).apply( + null, + arguments, + ); + }), + nA = (b._emscripten_bind_Config_set_kVC_1 = function () { + return (nA = b._emscripten_bind_Config_set_kVC_1 = b.asm.Vx).apply( + null, + arguments, + ); + }), + oA = (b._emscripten_bind_Config_get_kDF_0 = function () { + return (oA = b._emscripten_bind_Config_get_kDF_0 = b.asm.Wx).apply( + null, + arguments, + ); + }), + pA = (b._emscripten_bind_Config_set_kDF_1 = function () { + return (pA = b._emscripten_bind_Config_set_kDF_1 = b.asm.Xx).apply( + null, + arguments, + ); + }), + qA = (b._emscripten_bind_Config_get_kMT_0 = function () { + return (qA = b._emscripten_bind_Config_get_kMT_0 = b.asm.Yx).apply( + null, + arguments, + ); + }), + rA = (b._emscripten_bind_Config_set_kMT_1 = function () { + return (rA = b._emscripten_bind_Config_set_kMT_1 = b.asm.Zx).apply( + null, + arguments, + ); + }), + sA = (b._emscripten_bind_Config_get_kCHR_0 = function () { + return (sA = b._emscripten_bind_Config_get_kCHR_0 = b.asm._x).apply( + null, + arguments, + ); + }), + tA = (b._emscripten_bind_Config_set_kCHR_1 = function () { + return (tA = b._emscripten_bind_Config_set_kCHR_1 = b.asm.$x).apply( + null, + arguments, + ); + }), + uA = (b._emscripten_bind_Config_get_kKHR_0 = function () { + return (uA = b._emscripten_bind_Config_get_kKHR_0 = b.asm.ay).apply( + null, + arguments, + ); + }), + vA = (b._emscripten_bind_Config_set_kKHR_1 = function () { + return (vA = b._emscripten_bind_Config_set_kKHR_1 = b.asm.by).apply( + null, + arguments, + ); + }), + wA = (b._emscripten_bind_Config_get_kSHR_0 = function () { + return (wA = b._emscripten_bind_Config_get_kSHR_0 = b.asm.cy).apply( + null, + arguments, + ); + }), + xA = (b._emscripten_bind_Config_set_kSHR_1 = function () { + return (xA = b._emscripten_bind_Config_set_kSHR_1 = b.asm.dy).apply( + null, + arguments, + ); + }), + yA = (b._emscripten_bind_Config_get_kAHR_0 = function () { + return (yA = b._emscripten_bind_Config_get_kAHR_0 = b.asm.ey).apply( + null, + arguments, + ); + }), + zA = (b._emscripten_bind_Config_set_kAHR_1 = function () { + return (zA = b._emscripten_bind_Config_set_kAHR_1 = b.asm.fy).apply( + null, + arguments, + ); + }), + AA = (b._emscripten_bind_Config_get_kSRHR_CL_0 = function () { + return (AA = b._emscripten_bind_Config_get_kSRHR_CL_0 = b.asm.gy).apply( + null, + arguments, + ); + }), + BA = (b._emscripten_bind_Config_set_kSRHR_CL_1 = function () { + return (BA = b._emscripten_bind_Config_set_kSRHR_CL_1 = b.asm.hy).apply( + null, + arguments, + ); + }), + CA = (b._emscripten_bind_Config_get_kSKHR_CL_0 = function () { + return (CA = b._emscripten_bind_Config_get_kSKHR_CL_0 = b.asm.iy).apply( + null, + arguments, + ); + }), + DA = (b._emscripten_bind_Config_set_kSKHR_CL_1 = function () { + return (DA = b._emscripten_bind_Config_set_kSKHR_CL_1 = b.asm.jy).apply( + null, + arguments, + ); + }), + EA = (b._emscripten_bind_Config_get_kSSHR_CL_0 = function () { + return (EA = b._emscripten_bind_Config_get_kSSHR_CL_0 = b.asm.ky).apply( + null, + arguments, + ); + }), + FA = (b._emscripten_bind_Config_set_kSSHR_CL_1 = function () { + return (FA = b._emscripten_bind_Config_set_kSSHR_CL_1 = b.asm.ly).apply( + null, + arguments, + ); + }), + GA = (b._emscripten_bind_Config_get_kSR_SPLT_CL_0 = function () { + return (GA = b._emscripten_bind_Config_get_kSR_SPLT_CL_0 = + b.asm.my).apply(null, arguments); + }), + HA = (b._emscripten_bind_Config_set_kSR_SPLT_CL_1 = function () { + return (HA = b._emscripten_bind_Config_set_kSR_SPLT_CL_1 = + b.asm.ny).apply(null, arguments); + }), + IA = (b._emscripten_bind_Config_get_kSK_SPLT_CL_0 = function () { + return (IA = b._emscripten_bind_Config_get_kSK_SPLT_CL_0 = + b.asm.oy).apply(null, arguments); + }), + JA = (b._emscripten_bind_Config_set_kSK_SPLT_CL_1 = function () { + return (JA = b._emscripten_bind_Config_set_kSK_SPLT_CL_1 = + b.asm.py).apply(null, arguments); + }), + KA = (b._emscripten_bind_Config_get_kSS_SPLT_CL_0 = function () { + return (KA = b._emscripten_bind_Config_get_kSS_SPLT_CL_0 = + b.asm.qy).apply(null, arguments); + }), + LA = (b._emscripten_bind_Config_set_kSS_SPLT_CL_1 = function () { + return (LA = b._emscripten_bind_Config_set_kSS_SPLT_CL_1 = + b.asm.ry).apply(null, arguments); + }), + MA = (b._emscripten_bind_Config_get_maxvolume_0 = function () { + return (MA = b._emscripten_bind_Config_get_maxvolume_0 = + b.asm.sy).apply(null, arguments); + }), + NA = (b._emscripten_bind_Config_set_maxvolume_1 = function () { + return (NA = b._emscripten_bind_Config_set_maxvolume_1 = + b.asm.ty).apply(null, arguments); + }), + OA = (b._emscripten_bind_Config_get_timescale_0 = function () { + return (OA = b._emscripten_bind_Config_get_timescale_0 = + b.asm.uy).apply(null, arguments); + }), + PA = (b._emscripten_bind_Config_set_timescale_1 = function () { + return (PA = b._emscripten_bind_Config_set_timescale_1 = + b.asm.vy).apply(null, arguments); + }), + QA = (b._emscripten_bind_Config_get_viterations_0 = function () { + return (QA = b._emscripten_bind_Config_get_viterations_0 = + b.asm.wy).apply(null, arguments); + }), + RA = (b._emscripten_bind_Config_set_viterations_1 = function () { + return (RA = b._emscripten_bind_Config_set_viterations_1 = + b.asm.xy).apply(null, arguments); + }), + SA = (b._emscripten_bind_Config_get_piterations_0 = function () { + return (SA = b._emscripten_bind_Config_get_piterations_0 = + b.asm.yy).apply(null, arguments); + }), + TA = (b._emscripten_bind_Config_set_piterations_1 = function () { + return (TA = b._emscripten_bind_Config_set_piterations_1 = + b.asm.zy).apply(null, arguments); + }), + UA = (b._emscripten_bind_Config_get_diterations_0 = function () { + return (UA = b._emscripten_bind_Config_get_diterations_0 = + b.asm.Ay).apply(null, arguments); + }), + VA = (b._emscripten_bind_Config_set_diterations_1 = function () { + return (VA = b._emscripten_bind_Config_set_diterations_1 = + b.asm.By).apply(null, arguments); + }), + WA = (b._emscripten_bind_Config_get_citerations_0 = function () { + return (WA = b._emscripten_bind_Config_get_citerations_0 = + b.asm.Cy).apply(null, arguments); + }), + XA = (b._emscripten_bind_Config_set_citerations_1 = function () { + return (XA = b._emscripten_bind_Config_set_citerations_1 = + b.asm.Dy).apply(null, arguments); + }), + YA = (b._emscripten_bind_Config_get_collisions_0 = function () { + return (YA = b._emscripten_bind_Config_get_collisions_0 = + b.asm.Ey).apply(null, arguments); + }), + ZA = (b._emscripten_bind_Config_set_collisions_1 = function () { + return (ZA = b._emscripten_bind_Config_set_collisions_1 = + b.asm.Fy).apply(null, arguments); + }), + $A = (b._emscripten_bind_Config___destroy___0 = function () { + return ($A = b._emscripten_bind_Config___destroy___0 = b.asm.Gy).apply( + null, + arguments, + ); + }), + aB = (b._emscripten_bind_btSoftBody_btSoftBody_4 = function () { + return (aB = b._emscripten_bind_btSoftBody_btSoftBody_4 = + b.asm.Hy).apply(null, arguments); + }), + bB = (b._emscripten_bind_btSoftBody_checkLink_2 = function () { + return (bB = b._emscripten_bind_btSoftBody_checkLink_2 = + b.asm.Iy).apply(null, arguments); + }), + cB = (b._emscripten_bind_btSoftBody_checkFace_3 = function () { + return (cB = b._emscripten_bind_btSoftBody_checkFace_3 = + b.asm.Jy).apply(null, arguments); + }), + dB = (b._emscripten_bind_btSoftBody_appendMaterial_0 = function () { + return (dB = b._emscripten_bind_btSoftBody_appendMaterial_0 = + b.asm.Ky).apply(null, arguments); + }), + eB = (b._emscripten_bind_btSoftBody_appendNode_2 = function () { + return (eB = b._emscripten_bind_btSoftBody_appendNode_2 = + b.asm.Ly).apply(null, arguments); + }), + fB = (b._emscripten_bind_btSoftBody_appendLink_4 = function () { + return (fB = b._emscripten_bind_btSoftBody_appendLink_4 = + b.asm.My).apply(null, arguments); + }), + gB = (b._emscripten_bind_btSoftBody_appendFace_4 = function () { + return (gB = b._emscripten_bind_btSoftBody_appendFace_4 = + b.asm.Ny).apply(null, arguments); + }), + hB = (b._emscripten_bind_btSoftBody_appendTetra_5 = function () { + return (hB = b._emscripten_bind_btSoftBody_appendTetra_5 = + b.asm.Oy).apply(null, arguments); + }), + iB = (b._emscripten_bind_btSoftBody_appendAnchor_4 = function () { + return (iB = b._emscripten_bind_btSoftBody_appendAnchor_4 = + b.asm.Py).apply(null, arguments); + }), + jB = (b._emscripten_bind_btSoftBody_addForce_1 = function () { + return (jB = b._emscripten_bind_btSoftBody_addForce_1 = b.asm.Qy).apply( + null, + arguments, + ); + }), + kB = (b._emscripten_bind_btSoftBody_addForce_2 = function () { + return (kB = b._emscripten_bind_btSoftBody_addForce_2 = b.asm.Ry).apply( + null, + arguments, + ); + }), + lB = (b._emscripten_bind_btSoftBody_addAeroForceToNode_2 = function () { + return (lB = b._emscripten_bind_btSoftBody_addAeroForceToNode_2 = + b.asm.Sy).apply(null, arguments); + }), + mB = (b._emscripten_bind_btSoftBody_getTotalMass_0 = function () { + return (mB = b._emscripten_bind_btSoftBody_getTotalMass_0 = + b.asm.Ty).apply(null, arguments); + }), + nB = (b._emscripten_bind_btSoftBody_setTotalMass_2 = function () { + return (nB = b._emscripten_bind_btSoftBody_setTotalMass_2 = + b.asm.Uy).apply(null, arguments); + }), + oB = (b._emscripten_bind_btSoftBody_setMass_2 = function () { + return (oB = b._emscripten_bind_btSoftBody_setMass_2 = b.asm.Vy).apply( + null, + arguments, + ); + }), + pB = (b._emscripten_bind_btSoftBody_transform_1 = function () { + return (pB = b._emscripten_bind_btSoftBody_transform_1 = + b.asm.Wy).apply(null, arguments); + }), + qB = (b._emscripten_bind_btSoftBody_translate_1 = function () { + return (qB = b._emscripten_bind_btSoftBody_translate_1 = + b.asm.Xy).apply(null, arguments); + }), + rB = (b._emscripten_bind_btSoftBody_rotate_1 = function () { + return (rB = b._emscripten_bind_btSoftBody_rotate_1 = b.asm.Yy).apply( + null, + arguments, + ); + }), + sB = (b._emscripten_bind_btSoftBody_scale_1 = function () { + return (sB = b._emscripten_bind_btSoftBody_scale_1 = b.asm.Zy).apply( + null, + arguments, + ); + }), + tB = (b._emscripten_bind_btSoftBody_generateClusters_1 = function () { + return (tB = b._emscripten_bind_btSoftBody_generateClusters_1 = + b.asm._y).apply(null, arguments); + }), + uB = (b._emscripten_bind_btSoftBody_generateClusters_2 = function () { + return (uB = b._emscripten_bind_btSoftBody_generateClusters_2 = + b.asm.$y).apply(null, arguments); + }), + vB = (b._emscripten_bind_btSoftBody_generateBendingConstraints_2 = + function () { + return (vB = + b._emscripten_bind_btSoftBody_generateBendingConstraints_2 = + b.asm.az).apply(null, arguments); + }), + wB = (b._emscripten_bind_btSoftBody_upcast_1 = function () { + return (wB = b._emscripten_bind_btSoftBody_upcast_1 = b.asm.bz).apply( + null, + arguments, + ); + }), + xB = (b._emscripten_bind_btSoftBody_getRestLengthScale_0 = function () { + return (xB = b._emscripten_bind_btSoftBody_getRestLengthScale_0 = + b.asm.cz).apply(null, arguments); + }), + yB = (b._emscripten_bind_btSoftBody_setRestLengthScale_1 = function () { + return (yB = b._emscripten_bind_btSoftBody_setRestLengthScale_1 = + b.asm.dz).apply(null, arguments); + }), + zB = (b._emscripten_bind_btSoftBody_setAnisotropicFriction_2 = + function () { + return (zB = b._emscripten_bind_btSoftBody_setAnisotropicFriction_2 = + b.asm.ez).apply(null, arguments); + }), + AB = (b._emscripten_bind_btSoftBody_getCollisionShape_0 = function () { + return (AB = b._emscripten_bind_btSoftBody_getCollisionShape_0 = + b.asm.fz).apply(null, arguments); + }), + BB = (b._emscripten_bind_btSoftBody_setContactProcessingThreshold_1 = + function () { + return (BB = + b._emscripten_bind_btSoftBody_setContactProcessingThreshold_1 = + b.asm.gz).apply(null, arguments); + }), + CB = (b._emscripten_bind_btSoftBody_setActivationState_1 = function () { + return (CB = b._emscripten_bind_btSoftBody_setActivationState_1 = + b.asm.hz).apply(null, arguments); + }), + DB = (b._emscripten_bind_btSoftBody_forceActivationState_1 = function () { + return (DB = b._emscripten_bind_btSoftBody_forceActivationState_1 = + b.asm.iz).apply(null, arguments); + }), + EB = (b._emscripten_bind_btSoftBody_activate_0 = function () { + return (EB = b._emscripten_bind_btSoftBody_activate_0 = b.asm.jz).apply( + null, + arguments, + ); + }), + FB = (b._emscripten_bind_btSoftBody_activate_1 = function () { + return (FB = b._emscripten_bind_btSoftBody_activate_1 = b.asm.kz).apply( + null, + arguments, + ); + }), + GB = (b._emscripten_bind_btSoftBody_isActive_0 = function () { + return (GB = b._emscripten_bind_btSoftBody_isActive_0 = b.asm.lz).apply( + null, + arguments, + ); + }), + HB = (b._emscripten_bind_btSoftBody_isKinematicObject_0 = function () { + return (HB = b._emscripten_bind_btSoftBody_isKinematicObject_0 = + b.asm.mz).apply(null, arguments); + }), + IB = (b._emscripten_bind_btSoftBody_isStaticObject_0 = function () { + return (IB = b._emscripten_bind_btSoftBody_isStaticObject_0 = + b.asm.nz).apply(null, arguments); + }), + JB = (b._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0 = + function () { + return (JB = + b._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0 = + b.asm.oz).apply(null, arguments); + }), + KB = (b._emscripten_bind_btSoftBody_getRestitution_0 = function () { + return (KB = b._emscripten_bind_btSoftBody_getRestitution_0 = + b.asm.pz).apply(null, arguments); + }), + LB = (b._emscripten_bind_btSoftBody_getFriction_0 = function () { + return (LB = b._emscripten_bind_btSoftBody_getFriction_0 = + b.asm.qz).apply(null, arguments); + }), + MB = (b._emscripten_bind_btSoftBody_getRollingFriction_0 = function () { + return (MB = b._emscripten_bind_btSoftBody_getRollingFriction_0 = + b.asm.rz).apply(null, arguments); + }), + NB = (b._emscripten_bind_btSoftBody_setRestitution_1 = function () { + return (NB = b._emscripten_bind_btSoftBody_setRestitution_1 = + b.asm.sz).apply(null, arguments); + }), + OB = (b._emscripten_bind_btSoftBody_setFriction_1 = function () { + return (OB = b._emscripten_bind_btSoftBody_setFriction_1 = + b.asm.tz).apply(null, arguments); + }), + PB = (b._emscripten_bind_btSoftBody_setRollingFriction_1 = function () { + return (PB = b._emscripten_bind_btSoftBody_setRollingFriction_1 = + b.asm.uz).apply(null, arguments); + }), + QB = (b._emscripten_bind_btSoftBody_getWorldTransform_0 = function () { + return (QB = b._emscripten_bind_btSoftBody_getWorldTransform_0 = + b.asm.vz).apply(null, arguments); + }), + RB = (b._emscripten_bind_btSoftBody_getCollisionFlags_0 = function () { + return (RB = b._emscripten_bind_btSoftBody_getCollisionFlags_0 = + b.asm.wz).apply(null, arguments); + }), + SB = (b._emscripten_bind_btSoftBody_setCollisionFlags_1 = function () { + return (SB = b._emscripten_bind_btSoftBody_setCollisionFlags_1 = + b.asm.xz).apply(null, arguments); + }), + TB = (b._emscripten_bind_btSoftBody_setWorldTransform_1 = function () { + return (TB = b._emscripten_bind_btSoftBody_setWorldTransform_1 = + b.asm.yz).apply(null, arguments); + }), + UB = (b._emscripten_bind_btSoftBody_setCollisionShape_1 = function () { + return (UB = b._emscripten_bind_btSoftBody_setCollisionShape_1 = + b.asm.zz).apply(null, arguments); + }), + VB = (b._emscripten_bind_btSoftBody_setCcdMotionThreshold_1 = + function () { + return (VB = b._emscripten_bind_btSoftBody_setCcdMotionThreshold_1 = + b.asm.Az).apply(null, arguments); + }), + WB = (b._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1 = + function () { + return (WB = b._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1 = + b.asm.Bz).apply(null, arguments); + }), + XB = (b._emscripten_bind_btSoftBody_getUserIndex_0 = function () { + return (XB = b._emscripten_bind_btSoftBody_getUserIndex_0 = + b.asm.Cz).apply(null, arguments); + }), + YB = (b._emscripten_bind_btSoftBody_setUserIndex_1 = function () { + return (YB = b._emscripten_bind_btSoftBody_setUserIndex_1 = + b.asm.Dz).apply(null, arguments); + }), + ZB = (b._emscripten_bind_btSoftBody_getUserPointer_0 = function () { + return (ZB = b._emscripten_bind_btSoftBody_getUserPointer_0 = + b.asm.Ez).apply(null, arguments); + }), + $B = (b._emscripten_bind_btSoftBody_setUserPointer_1 = function () { + return ($B = b._emscripten_bind_btSoftBody_setUserPointer_1 = + b.asm.Fz).apply(null, arguments); + }), + aC = (b._emscripten_bind_btSoftBody_getBroadphaseHandle_0 = function () { + return (aC = b._emscripten_bind_btSoftBody_getBroadphaseHandle_0 = + b.asm.Gz).apply(null, arguments); + }), + bC = (b._emscripten_bind_btSoftBody_get_m_cfg_0 = function () { + return (bC = b._emscripten_bind_btSoftBody_get_m_cfg_0 = + b.asm.Hz).apply(null, arguments); + }), + cC = (b._emscripten_bind_btSoftBody_set_m_cfg_1 = function () { + return (cC = b._emscripten_bind_btSoftBody_set_m_cfg_1 = + b.asm.Iz).apply(null, arguments); + }), + dC = (b._emscripten_bind_btSoftBody_get_m_nodes_0 = function () { + return (dC = b._emscripten_bind_btSoftBody_get_m_nodes_0 = + b.asm.Jz).apply(null, arguments); + }), + eC = (b._emscripten_bind_btSoftBody_set_m_nodes_1 = function () { + return (eC = b._emscripten_bind_btSoftBody_set_m_nodes_1 = + b.asm.Kz).apply(null, arguments); + }), + fC = (b._emscripten_bind_btSoftBody_get_m_faces_0 = function () { + return (fC = b._emscripten_bind_btSoftBody_get_m_faces_0 = + b.asm.Lz).apply(null, arguments); + }), + gC = (b._emscripten_bind_btSoftBody_set_m_faces_1 = function () { + return (gC = b._emscripten_bind_btSoftBody_set_m_faces_1 = + b.asm.Mz).apply(null, arguments); + }), + hC = (b._emscripten_bind_btSoftBody_get_m_materials_0 = function () { + return (hC = b._emscripten_bind_btSoftBody_get_m_materials_0 = + b.asm.Nz).apply(null, arguments); + }), + iC = (b._emscripten_bind_btSoftBody_set_m_materials_1 = function () { + return (iC = b._emscripten_bind_btSoftBody_set_m_materials_1 = + b.asm.Oz).apply(null, arguments); + }), + jC = (b._emscripten_bind_btSoftBody_get_m_anchors_0 = function () { + return (jC = b._emscripten_bind_btSoftBody_get_m_anchors_0 = + b.asm.Pz).apply(null, arguments); + }), + kC = (b._emscripten_bind_btSoftBody_set_m_anchors_1 = function () { + return (kC = b._emscripten_bind_btSoftBody_set_m_anchors_1 = + b.asm.Qz).apply(null, arguments); + }), + lC = (b._emscripten_bind_btSoftBody___destroy___0 = function () { + return (lC = b._emscripten_bind_btSoftBody___destroy___0 = + b.asm.Rz).apply(null, arguments); + }), + mC = + (b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0 = + function () { + return (mC = + b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0 = + b.asm.Sz).apply(null, arguments); + }), + nC = + (b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1 = + function () { + return (nC = + b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1 = + b.asm.Tz).apply(null, arguments); + }), + oC = + (b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0 = + function () { + return (oC = + b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0 = + b.asm.Uz).apply(null, arguments); + }), + pC = + (b._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0 = + function () { + return (pC = + b._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0 = + b.asm.Vz).apply(null, arguments); + }), + qC = (b._emscripten_bind_btDefaultSoftBodySolver___destroy___0 = + function () { + return (qC = + b._emscripten_bind_btDefaultSoftBodySolver___destroy___0 = + b.asm.Wz).apply(null, arguments); + }), + rC = (b._emscripten_bind_btSoftBodyArray_size_0 = function () { + return (rC = b._emscripten_bind_btSoftBodyArray_size_0 = + b.asm.Xz).apply(null, arguments); + }), + sC = (b._emscripten_bind_btSoftBodyArray_at_1 = function () { + return (sC = b._emscripten_bind_btSoftBodyArray_at_1 = b.asm.Yz).apply( + null, + arguments, + ); + }), + tC = (b._emscripten_bind_btSoftBodyArray___destroy___0 = function () { + return (tC = b._emscripten_bind_btSoftBodyArray___destroy___0 = + b.asm.Zz).apply(null, arguments); + }), + uC = + (b._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5 = + function () { + return (uC = + b._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5 = + b.asm._z).apply(null, arguments); + }), + vC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3 = + function () { + return (vC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3 = + b.asm.$z).apply(null, arguments); + }), + wC = (b._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1 = + function () { + return (wC = + b._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1 = + b.asm.aA).apply(null, arguments); + }), + xC = + (b._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1 = + function () { + return (xC = + b._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1 = + b.asm.bA).apply(null, arguments); + }), + yC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0 = + function () { + return (yC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0 = + b.asm.cA).apply(null, arguments); + }), + zC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0 = + function () { + return (zC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0 = + b.asm.dA).apply(null, arguments); + }), + AC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0 = + function () { + return (AC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0 = + b.asm.eA).apply(null, arguments); + }), + BC = (b._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3 = + function () { + return (BC = b._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3 = + b.asm.fA).apply(null, arguments); + }), + CC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0 = + function () { + return (CC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0 = + b.asm.gA).apply(null, arguments); + }), + DC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0 = + function () { + return (DC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0 = + b.asm.hA).apply(null, arguments); + }), + EC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1 = + function () { + return (EC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1 = + b.asm.iA).apply(null, arguments); + }), + FC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2 = + function () { + return (FC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2 = + b.asm.jA).apply(null, arguments); + }), + GC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3 = + function () { + return (GC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3 = + b.asm.kA).apply(null, arguments); + }), + HC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0 = + function () { + return (HC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0 = + b.asm.lA).apply(null, arguments); + }), + IC = (b._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5 = + function () { + return (IC = + b._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5 = + b.asm.mA).apply(null, arguments); + }), + JC = (b._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3 = + function () { + return (JC = + b._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3 = + b.asm.nA).apply(null, arguments); + }), + KC = (b._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2 = + function () { + return (KC = + b._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2 = + b.asm.oA).apply(null, arguments); + }), + LC = (b._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1 = + function () { + return (LC = + b._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1 = + b.asm.pA).apply(null, arguments); + }), + MC = (b._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1 = + function () { + return (MC = + b._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1 = + b.asm.qA).apply(null, arguments); + }), + NC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0 = + function () { + return (NC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0 = + b.asm.rA).apply(null, arguments); + }), + OC = (b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0 = + function () { + return (OC = + b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0 = + b.asm.sA).apply(null, arguments); + }), + PC = (b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3 = + function () { + return (PC = + b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3 = + b.asm.tA).apply(null, arguments); + }), + QC = (b._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1 = + function () { + return (QC = + b._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1 = + b.asm.uA).apply(null, arguments); + }), + RC = (b._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0 = + function () { + return (RC = + b._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0 = + b.asm.vA).apply(null, arguments); + }), + SC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1 = + function () { + return (SC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1 = + b.asm.wA).apply(null, arguments); + }), + TC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3 = + function () { + return (TC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3 = + b.asm.xA).apply(null, arguments); + }), + UC = (b._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1 = + function () { + return (UC = + b._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1 = + b.asm.yA).apply(null, arguments); + }), + VC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1 = + function () { + return (VC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1 = + b.asm.zA).apply(null, arguments); + }), + WC = (b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2 = + function () { + return (WC = + b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2 = + b.asm.AA).apply(null, arguments); + }), + XC = (b._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1 = + function () { + return (XC = + b._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1 = + b.asm.BA).apply(null, arguments); + }), + YC = (b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1 = + function () { + return (YC = + b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1 = + b.asm.CA).apply(null, arguments); + }), + ZC = (b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2 = + function () { + return (ZC = + b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2 = + b.asm.DA).apply(null, arguments); + }), + $C = (b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3 = + function () { + return ($C = + b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3 = + b.asm.EA).apply(null, arguments); + }), + aD = + (b._emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1 = + function () { + return (aD = + b._emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1 = + b.asm.FA).apply(null, arguments); + }), + bD = + (b._emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1 = + function () { + return (bD = + b._emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1 = + b.asm.GA).apply(null, arguments); + }), + cD = + (b._emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1 = + function () { + return (cD = + b._emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1 = + b.asm.HA).apply(null, arguments); + }), + dD = (b._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1 = + function () { + return (dD = b._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1 = + b.asm.IA).apply(null, arguments); + }), + eD = (b._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1 = + function () { + return (eD = + b._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1 = + b.asm.JA).apply(null, arguments); + }), + fD = (b._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0 = + function () { + return (fD = + b._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0 = + b.asm.KA).apply(null, arguments); + }), + gD = + (b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1 = + function () { + return (gD = + b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1 = + b.asm.LA).apply(null, arguments); + }), + hD = + (b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2 = + function () { + return (hD = + b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2 = + b.asm.MA).apply(null, arguments); + }), + iD = + (b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3 = + function () { + return (iD = + b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3 = + b.asm.NA).apply(null, arguments); + }), + jD = (b._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0 = + function () { + return (jD = + b._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0 = + b.asm.OA).apply(null, arguments); + }), + kD = (b._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0 = + function () { + return (kD = + b._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0 = + b.asm.PA).apply(null, arguments); + }), + lD = (b._emscripten_bind_btSoftBodyHelpers_CreateRope_5 = function () { + return (lD = b._emscripten_bind_btSoftBodyHelpers_CreateRope_5 = + b.asm.QA).apply(null, arguments); + }), + mD = (b._emscripten_bind_btSoftBodyHelpers_CreatePatch_9 = function () { + return (mD = b._emscripten_bind_btSoftBodyHelpers_CreatePatch_9 = + b.asm.RA).apply(null, arguments); + }), + nD = (b._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10 = + function () { + return (nD = b._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10 = + b.asm.SA).apply(null, arguments); + }), + oD = (b._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4 = + function () { + return (oD = b._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4 = + b.asm.TA).apply(null, arguments); + }), + pD = (b._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5 = + function () { + return (pD = + b._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5 = + b.asm.UA).apply(null, arguments); + }), + qD = (b._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4 = + function () { + return (qD = + b._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4 = + b.asm.VA).apply(null, arguments); + }), + rD = (b._emscripten_bind_btSoftBodyHelpers___destroy___0 = function () { + return (rD = b._emscripten_bind_btSoftBodyHelpers___destroy___0 = + b.asm.WA).apply(null, arguments); + }), + sD = (b._emscripten_enum_PHY_ScalarType_PHY_FLOAT = function () { + return (sD = b._emscripten_enum_PHY_ScalarType_PHY_FLOAT = + b.asm.XA).apply(null, arguments); + }), + tD = (b._emscripten_enum_PHY_ScalarType_PHY_DOUBLE = function () { + return (tD = b._emscripten_enum_PHY_ScalarType_PHY_DOUBLE = + b.asm.YA).apply(null, arguments); + }), + uD = (b._emscripten_enum_PHY_ScalarType_PHY_INTEGER = function () { + return (uD = b._emscripten_enum_PHY_ScalarType_PHY_INTEGER = + b.asm.ZA).apply(null, arguments); + }), + vD = (b._emscripten_enum_PHY_ScalarType_PHY_SHORT = function () { + return (vD = b._emscripten_enum_PHY_ScalarType_PHY_SHORT = + b.asm._A).apply(null, arguments); + }), + wD = (b._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88 = function () { + return (wD = b._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88 = + b.asm.$A).apply(null, arguments); + }), + xD = (b._emscripten_enum_PHY_ScalarType_PHY_UCHAR = function () { + return (xD = b._emscripten_enum_PHY_ScalarType_PHY_UCHAR = + b.asm.aB).apply(null, arguments); + }), + yD = + (b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_COMPOUND_SHAPE = + function () { + return (yD = + b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_COMPOUND_SHAPE = + b.asm.bB).apply(null, arguments); + }), + zD = + (b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE_PART = + function () { + return (zD = + b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE_PART = + b.asm.cB).apply(null, arguments); + }), + AD = (b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE = + function () { + return (AD = + b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE = + b.asm.dB).apply(null, arguments); + }), + BD = (b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP = + function () { + return (BD = b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP = + b.asm.eB).apply(null, arguments); + }), + CD = (b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP = + function () { + return (CD = + b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP = + b.asm.fB).apply(null, arguments); + }), + DD = (b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM = + function () { + return (DD = b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM = + b.asm.gB).apply(null, arguments); + }), + ED = (b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM = + function () { + return (ED = + b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM = + b.asm.hB).apply(null, arguments); + }); + b._malloc = function () { + return (b._malloc = b.asm.jB).apply(null, arguments); + }; + b.___start_em_js = 27240; + b.___stop_em_js = 27338; + b.UTF8ToString = sa; + b.addFunction = function (a, c) { + if (!Ua) { + Ua = new WeakMap(); + var d = ya.length; + if (Ua) + for (var e = 0; e < 0 + d; e++) { + var g = e; + var n = Ta[g]; + n || + (g >= Ta.length && (Ta.length = g + 1), (Ta[g] = n = ya.get(g))); + (g = n) && Ua.set(g, e); + } + } + if ((d = Ua.get(a) || 0)) return d; + if (Va.length) d = Va.pop(); + else { + try { + ya.grow(1); + } catch (T) { + if (!(T instanceof RangeError)) throw T; + throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."; + } + d = ya.length - 1; + } + try { + ((e = d), ya.set(e, a), (Ta[e] = ya.get(e))); + } catch (T) { + if (!(T instanceof TypeError)) throw T; + if ("function" == typeof WebAssembly.Function) { + e = WebAssembly.Function; + g = { i: "i32", j: "i32", f: "f32", d: "f64", p: "i32" }; + n = { parameters: [], results: "v" == c[0] ? [] : [g[c[0]]] }; + for (var z = 1; z < c.length; ++z) + (n.parameters.push(g[c[z]]), + "j" === c[z] && n.parameters.push("i32")); + c = new e(n, a); + } else { + e = [1]; + g = c.slice(0, 1); + c = c.slice(1); + n = { i: 127, p: 127, j: 126, f: 125, d: 124 }; + e.push(96); + z = c.length; + 128 > z ? e.push(z) : e.push((z % 128) | 128, z >> 7); + for (z = 0; z < c.length; ++z) e.push(n[c[z]]); + "v" == g ? e.push(0) : e.push(1, n[g]); + c = [0, 97, 115, 109, 1, 0, 0, 0, 1]; + g = e.length; + 128 > g ? c.push(g) : c.push((g % 128) | 128, g >> 7); + c.push.apply(c, e); + c.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0); + c = new WebAssembly.Module(new Uint8Array(c)); + c = new WebAssembly.Instance(c, { e: { f: a } }).exports.f; + } + e = d; + ya.set(e, c); + Ta[e] = ya.get(e); + } + Ua.set(a, d); + return d; + }; + var FD; + Ha = function GD() { + FD || HD(); + FD || (Ha = GD); + }; + function HD() { + function a() { + if (!FD && ((FD = !0), (b.calledRun = !0), !qa)) { + Ca = !0; + Qa(Aa); + aa(b); + if (b.onRuntimeInitialized) b.onRuntimeInitialized(); + if (b.postRun) + for ( + "function" == typeof b.postRun && (b.postRun = [b.postRun]); + b.postRun.length; + ) { + var c = b.postRun.shift(); + Ba.unshift(c); + } + Qa(Ba); + } + } + if (!(0 < Fa)) { + if (b.preRun) + for ( + "function" == typeof b.preRun && (b.preRun = [b.preRun]); + b.preRun.length; + ) + Ea(); + Qa(za); + 0 < Fa || + (b.setStatus + ? (b.setStatus("Running..."), + setTimeout(function () { + setTimeout(function () { + b.setStatus(""); + }, 1); + a(); + }, 1)) + : a()); + } + } + if (b.preInit) + for ( + "function" == typeof b.preInit && (b.preInit = [b.preInit]); + 0 < b.preInit.length; + ) + b.preInit.pop()(); + HD(); + function f() {} + f.prototype = Object.create(f.prototype); + f.prototype.constructor = f; + f.prototype.lB = f; + f.mB = {}; + b.WrapperObject = f; + function h(a) { + return (a || f).mB; + } + b.getCache = h; + function k(a, c) { + var d = h(c), + e = d[a]; + if (e) return e; + e = Object.create((c || f).prototype); + e.kB = a; + return (d[a] = e); + } + b.wrapPointer = k; + b.castObject = function (a, c) { + return k(a.kB, c); + }; + b.NULL = k(0); + b.destroy = function (a) { + if (!a.__destroy__) + throw "Error: Cannot destroy object. (Did you create it yourself?)"; + a.__destroy__(); + delete h(a.lB)[a.kB]; + }; + b.compare = function (a, c) { + return a.kB === c.kB; + }; + b.getPointer = function (a) { + return a.kB; + }; + b.getClass = function (a) { + return a.lB; + }; + var ID = 0, + JD = 0, + KD = 0, + LD = [], + MD = 0; + function ND() { + if (MD) { + for (var a = 0; a < LD.length; a++) b._free(LD[a]); + LD.length = 0; + b._free(ID); + ID = 0; + JD += MD; + MD = 0; + } + ID || ((JD += 128), (ID = b._malloc(JD)) || oa()); + KD = 0; + } + function OD(a, c) { + ID || oa(); + a = a.length * c.BYTES_PER_ELEMENT; + a = (a + 7) & -8; + KD + a >= JD + ? (0 < a || oa(), (MD += a), (c = b._malloc(a)), LD.push(c)) + : ((c = ID + KD), (KD += a)); + return c; + } + function PD(a, c, d) { + d >>>= 0; + switch (c.BYTES_PER_ELEMENT) { + case 2: + d >>>= 1; + break; + case 4: + d >>>= 2; + break; + case 8: + d >>>= 3; + } + for (var e = 0; e < a.length; e++) c[d + e] = a[e]; + } + function QD(a) { + if ("string" === typeof a) { + for (var c = 0, d = 0; d < a.length; ++d) { + var e = a.charCodeAt(d); + 127 >= e + ? c++ + : 2047 >= e + ? (c += 2) + : 55296 <= e && 57343 >= e + ? ((c += 4), ++d) + : (c += 3); + } + c = Array(c + 1); + e = c.length; + d = 0; + if (0 < e) { + e = d + e - 1; + for (var g = 0; g < a.length; ++g) { + var n = a.charCodeAt(g); + if (55296 <= n && 57343 >= n) { + var z = a.charCodeAt(++g); + n = (65536 + ((n & 1023) << 10)) | (z & 1023); + } + if (127 >= n) { + if (d >= e) break; + c[d++] = n; + } else { + if (2047 >= n) { + if (d + 1 >= e) break; + c[d++] = 192 | (n >> 6); + } else { + if (65535 >= n) { + if (d + 2 >= e) break; + c[d++] = 224 | (n >> 12); + } else { + if (d + 3 >= e) break; + c[d++] = 240 | (n >> 18); + c[d++] = 128 | ((n >> 12) & 63); + } + c[d++] = 128 | ((n >> 6) & 63); + } + c[d++] = 128 | (n & 63); + } + } + c[d] = 0; + } + a = OD(c, ua); + PD(c, ua, a); + return a; + } + return a; + } + function RD(a) { + if ("object" === typeof a) { + var c = OD(a, wa); + PD(a, wa, c); + return c; + } + return a; + } + function l() { + throw "cannot construct a btCollisionShape, no constructor in IDL"; + } + l.prototype = Object.create(f.prototype); + l.prototype.constructor = l; + l.prototype.lB = l; + l.mB = {}; + b.btCollisionShape = l; + l.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Xa(c, a); + }; + l.prototype.getLocalScaling = function () { + return k(Ya(this.kB), m); + }; + l.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Za(d, a, c); + }; + l.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $a(c, a); + }; + l.prototype.getMargin = function () { + return ab(this.kB); + }; + l.prototype.__destroy__ = function () { + bb(this.kB); + }; + function SD() { + throw "cannot construct a btCollisionWorld, no constructor in IDL"; + } + SD.prototype = Object.create(f.prototype); + SD.prototype.constructor = SD; + SD.prototype.lB = SD; + SD.mB = {}; + b.btCollisionWorld = SD; + SD.prototype.getDispatcher = function () { + return k(cb(this.kB), TD); + }; + SD.prototype.rayTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + db(e, a, c, d); + }; + SD.prototype.getPairCache = function () { + return k(eb(this.kB), UD); + }; + SD.prototype.getDispatchInfo = function () { + return k(fb(this.kB), p); + }; + SD.prototype.addCollisionObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c ? gb(e, a) : void 0 === d ? hb(e, a, c) : ib(e, a, c, d); + }; + SD.prototype.removeCollisionObject = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jb(c, a); + }; + SD.prototype.getBroadphase = function () { + return k(kb(this.kB), VD); + }; + SD.prototype.convexSweepTest = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + lb(n, a, c, d, e, g); + }; + SD.prototype.contactPairTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + mb(e, a, c, d); + }; + SD.prototype.contactTest = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + nb(d, a, c); + }; + SD.prototype.updateSingleAabb = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ob(c, a); + }; + SD.prototype.setDebugDrawer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pb(c, a); + }; + SD.prototype.getDebugDrawer = function () { + return k(qb(this.kB), WD); + }; + SD.prototype.debugDrawWorld = function () { + rb(this.kB); + }; + SD.prototype.debugDrawObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + sb(e, a, c, d); + }; + SD.prototype.__destroy__ = function () { + tb(this.kB); + }; + function q() { + throw "cannot construct a btCollisionObject, no constructor in IDL"; + } + q.prototype = Object.create(f.prototype); + q.prototype.constructor = q; + q.prototype.lB = q; + q.mB = {}; + b.btCollisionObject = q; + q.prototype.setAnisotropicFriction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + ub(d, a, c); + }; + q.prototype.getCollisionShape = function () { + return k(vb(this.kB), l); + }; + q.prototype.setContactProcessingThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wb(c, a); + }; + q.prototype.setActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xb(c, a); + }; + q.prototype.forceActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yb(c, a); + }; + q.prototype.activate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + void 0 === a ? zb(c) : Ab(c, a); + }; + q.prototype.isActive = function () { + return !!Bb(this.kB); + }; + q.prototype.isKinematicObject = function () { + return !!Cb(this.kB); + }; + q.prototype.isStaticObject = function () { + return !!Db(this.kB); + }; + q.prototype.isStaticOrKinematicObject = function () { + return !!Eb(this.kB); + }; + q.prototype.getRestitution = function () { + return Fb(this.kB); + }; + q.prototype.getFriction = function () { + return Gb(this.kB); + }; + q.prototype.getRollingFriction = function () { + return Hb(this.kB); + }; + q.prototype.setRestitution = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ib(c, a); + }; + q.prototype.setFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jb(c, a); + }; + q.prototype.setRollingFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kb(c, a); + }; + q.prototype.getWorldTransform = function () { + return k(Lb(this.kB), r); + }; + q.prototype.getCollisionFlags = function () { + return Mb(this.kB); + }; + q.prototype.setCollisionFlags = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nb(c, a); + }; + q.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ob(c, a); + }; + q.prototype.setCollisionShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pb(c, a); + }; + q.prototype.setCcdMotionThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qb(c, a); + }; + q.prototype.setCcdSweptSphereRadius = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Rb(c, a); + }; + q.prototype.getUserIndex = function () { + return Sb(this.kB); + }; + q.prototype.setUserIndex = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Tb(c, a); + }; + q.prototype.getUserPointer = function () { + return k(Ub(this.kB), XD); + }; + q.prototype.setUserPointer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vb(c, a); + }; + q.prototype.getBroadphaseHandle = function () { + return k(Wb(this.kB), YD); + }; + q.prototype.__destroy__ = function () { + Xb(this.kB); + }; + function ZD() { + throw "cannot construct a btConcaveShape, no constructor in IDL"; + } + ZD.prototype = Object.create(l.prototype); + ZD.prototype.constructor = ZD; + ZD.prototype.lB = ZD; + ZD.mB = {}; + b.btConcaveShape = ZD; + ZD.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Yb(c, a); + }; + ZD.prototype.getLocalScaling = function () { + return k(Zb(this.kB), m); + }; + ZD.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + $b(d, a, c); + }; + ZD.prototype.__destroy__ = function () { + ac(this.kB); + }; + function $D() { + throw "cannot construct a btCollisionAlgorithm, no constructor in IDL"; + } + $D.prototype = Object.create(f.prototype); + $D.prototype.constructor = $D; + $D.prototype.lB = $D; + $D.mB = {}; + b.btCollisionAlgorithm = $D; + $D.prototype.__destroy__ = function () { + bc(this.kB); + }; + function aE() { + throw "cannot construct a btTypedConstraint, no constructor in IDL"; + } + aE.prototype = Object.create(f.prototype); + aE.prototype.constructor = aE; + aE.prototype.lB = aE; + aE.mB = {}; + b.btTypedConstraint = aE; + aE.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + cc(c, a); + }; + aE.prototype.getBreakingImpulseThreshold = function () { + return ec(this.kB); + }; + aE.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fc(c, a); + }; + aE.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return gc(d, a, c); + }; + aE.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + hc(e, a, c, d); + }; + aE.prototype.__destroy__ = function () { + ic(this.kB); + }; + function bE() { + throw "cannot construct a btDynamicsWorld, no constructor in IDL"; + } + bE.prototype = Object.create(SD.prototype); + bE.prototype.constructor = bE; + bE.prototype.lB = bE; + bE.mB = {}; + b.btDynamicsWorld = bE; + bE.prototype.addAction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jc(c, a); + }; + bE.prototype.removeAction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kc(c, a); + }; + bE.prototype.getSolverInfo = function () { + return k(lc(this.kB), t); + }; + bE.prototype.setInternalTickCallback = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c ? mc(e, a) : void 0 === d ? nc(e, a, c) : oc(e, a, c, d); + }; + bE.prototype.getDispatcher = function () { + return k(pc(this.kB), TD); + }; + bE.prototype.rayTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + qc(e, a, c, d); + }; + bE.prototype.getPairCache = function () { + return k(rc(this.kB), UD); + }; + bE.prototype.getDispatchInfo = function () { + return k(sc(this.kB), p); + }; + bE.prototype.addCollisionObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c ? tc(e, a) : void 0 === d ? uc(e, a, c) : vc(e, a, c, d); + }; + bE.prototype.removeCollisionObject = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wc(c, a); + }; + bE.prototype.getBroadphase = function () { + return k(xc(this.kB), VD); + }; + bE.prototype.convexSweepTest = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + yc(n, a, c, d, e, g); + }; + bE.prototype.contactPairTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + zc(e, a, c, d); + }; + bE.prototype.contactTest = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Ac(d, a, c); + }; + bE.prototype.updateSingleAabb = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Bc(c, a); + }; + bE.prototype.setDebugDrawer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Cc(c, a); + }; + bE.prototype.getDebugDrawer = function () { + return k(Dc(this.kB), WD); + }; + bE.prototype.debugDrawWorld = function () { + Ec(this.kB); + }; + bE.prototype.debugDrawObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Fc(e, a, c, d); + }; + bE.prototype.__destroy__ = function () { + Gc(this.kB); + }; + function WD() { + throw "cannot construct a btIDebugDraw, no constructor in IDL"; + } + WD.prototype = Object.create(f.prototype); + WD.prototype.constructor = WD; + WD.prototype.lB = WD; + WD.mB = {}; + b.btIDebugDraw = WD; + WD.prototype.drawLine = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Hc(e, a, c, d); + }; + WD.prototype.drawContactPoint = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + Ic(n, a, c, d, e, g); + }; + WD.prototype.reportErrorWarning = function (a) { + var c = this.kB; + ND(); + a = a && "object" === typeof a ? a.kB : QD(a); + Jc(c, a); + }; + WD.prototype.draw3dText = function (a, c) { + var d = this.kB; + ND(); + a && "object" === typeof a && (a = a.kB); + c = c && "object" === typeof c ? c.kB : QD(c); + Kc(d, a, c); + }; + WD.prototype.setDebugMode = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lc(c, a); + }; + WD.prototype.getDebugMode = function () { + return Mc(this.kB); + }; + WD.prototype.__destroy__ = function () { + Nc(this.kB); + }; + function m(a, c, d) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + this.kB = + void 0 === a + ? Oc() + : void 0 === c + ? _emscripten_bind_btVector3_btVector3_1(a) + : void 0 === d + ? _emscripten_bind_btVector3_btVector3_2(a, c) + : Pc(a, c, d); + h(m)[this.kB] = this; + } + m.prototype = Object.create(f.prototype); + m.prototype.constructor = m; + m.prototype.lB = m; + m.mB = {}; + b.btVector3 = m; + m.prototype.length = m.prototype.length = function () { + return Qc(this.kB); + }; + m.prototype.x = m.prototype.x = function () { + return Rc(this.kB); + }; + m.prototype.y = m.prototype.y = function () { + return Sc(this.kB); + }; + m.prototype.z = m.prototype.z = function () { + return Tc(this.kB); + }; + m.prototype.setX = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Uc(c, a); + }; + m.prototype.setY = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vc(c, a); + }; + m.prototype.setZ = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Wc(c, a); + }; + m.prototype.setValue = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Xc(e, a, c, d); + }; + m.prototype.normalize = m.prototype.normalize = function () { + Yc(this.kB); + }; + m.prototype.rotate = m.prototype.rotate = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return k(Zc(d, a, c), m); + }; + m.prototype.dot = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return $c(c, a); + }; + m.prototype.op_mul = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(ad(c, a), m); + }; + m.prototype.op_add = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(bd(c, a), m); + }; + m.prototype.op_sub = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(cd(c, a), m); + }; + m.prototype.__destroy__ = function () { + dd(this.kB); + }; + function cE() { + throw "cannot construct a btQuadWord, no constructor in IDL"; + } + cE.prototype = Object.create(f.prototype); + cE.prototype.constructor = cE; + cE.prototype.lB = cE; + cE.mB = {}; + b.btQuadWord = cE; + cE.prototype.x = cE.prototype.x = function () { + return ed(this.kB); + }; + cE.prototype.y = cE.prototype.y = function () { + return fd(this.kB); + }; + cE.prototype.z = cE.prototype.z = function () { + return gd(this.kB); + }; + cE.prototype.w = cE.prototype.w = function () { + return hd(this.kB); + }; + cE.prototype.setX = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jd(c, a); + }; + cE.prototype.setY = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kd(c, a); + }; + cE.prototype.setZ = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ld(c, a); + }; + cE.prototype.setW = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + md(c, a); + }; + cE.prototype.__destroy__ = function () { + nd(this.kB); + }; + function dE() { + throw "cannot construct a btMotionState, no constructor in IDL"; + } + dE.prototype = Object.create(f.prototype); + dE.prototype.constructor = dE; + dE.prototype.lB = dE; + dE.mB = {}; + b.btMotionState = dE; + dE.prototype.getWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + od(c, a); + }; + dE.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pd(c, a); + }; + dE.prototype.__destroy__ = function () { + qd(this.kB); + }; + function u() { + throw "cannot construct a RayResultCallback, no constructor in IDL"; + } + u.prototype = Object.create(f.prototype); + u.prototype.constructor = u; + u.prototype.lB = u; + u.mB = {}; + b.RayResultCallback = u; + u.prototype.hasHit = function () { + return !!rd(this.kB); + }; + u.prototype.get_m_collisionFilterGroup = u.prototype.nB = function () { + return sd(this.kB); + }; + u.prototype.set_m_collisionFilterGroup = u.prototype.pB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + td(c, a); + }; + Object.defineProperty(u.prototype, "m_collisionFilterGroup", { + get: u.prototype.nB, + set: u.prototype.pB, + }); + u.prototype.get_m_collisionFilterMask = u.prototype.oB = function () { + return ud(this.kB); + }; + u.prototype.set_m_collisionFilterMask = u.prototype.qB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vd(c, a); + }; + Object.defineProperty(u.prototype, "m_collisionFilterMask", { + get: u.prototype.oB, + set: u.prototype.qB, + }); + u.prototype.get_m_closestHitFraction = u.prototype.rB = function () { + return wd(this.kB); + }; + u.prototype.set_m_closestHitFraction = u.prototype.sB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xd(c, a); + }; + Object.defineProperty(u.prototype, "m_closestHitFraction", { + get: u.prototype.rB, + set: u.prototype.sB, + }); + u.prototype.get_m_collisionObject = u.prototype.vB = function () { + return k(yd(this.kB), q); + }; + u.prototype.set_m_collisionObject = u.prototype.CB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zd(c, a); + }; + Object.defineProperty(u.prototype, "m_collisionObject", { + get: u.prototype.vB, + set: u.prototype.CB, + }); + u.prototype.get_m_flags = u.prototype.tB = function () { + return Ad(this.kB); + }; + u.prototype.set_m_flags = u.prototype.uB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Bd(c, a); + }; + Object.defineProperty(u.prototype, "m_flags", { + get: u.prototype.tB, + set: u.prototype.uB, + }); + u.prototype.__destroy__ = function () { + Cd(this.kB); + }; + function eE() { + throw "cannot construct a ContactResultCallback, no constructor in IDL"; + } + eE.prototype = Object.create(f.prototype); + eE.prototype.constructor = eE; + eE.prototype.lB = eE; + eE.mB = {}; + b.ContactResultCallback = eE; + eE.prototype.addSingleResult = function (a, c, d, e, g, n, z) { + var T = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + n && "object" === typeof n && (n = n.kB); + z && "object" === typeof z && (z = z.kB); + return Dd(T, a, c, d, e, g, n, z); + }; + eE.prototype.__destroy__ = function () { + Ed(this.kB); + }; + function v() { + throw "cannot construct a ConvexResultCallback, no constructor in IDL"; + } + v.prototype = Object.create(f.prototype); + v.prototype.constructor = v; + v.prototype.lB = v; + v.mB = {}; + b.ConvexResultCallback = v; + v.prototype.hasHit = function () { + return !!Fd(this.kB); + }; + v.prototype.get_m_collisionFilterGroup = v.prototype.nB = function () { + return Gd(this.kB); + }; + v.prototype.set_m_collisionFilterGroup = v.prototype.pB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Hd(c, a); + }; + Object.defineProperty(v.prototype, "m_collisionFilterGroup", { + get: v.prototype.nB, + set: v.prototype.pB, + }); + v.prototype.get_m_collisionFilterMask = v.prototype.oB = function () { + return Id(this.kB); + }; + v.prototype.set_m_collisionFilterMask = v.prototype.qB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jd(c, a); + }; + Object.defineProperty(v.prototype, "m_collisionFilterMask", { + get: v.prototype.oB, + set: v.prototype.qB, + }); + v.prototype.get_m_closestHitFraction = v.prototype.rB = function () { + return Kd(this.kB); + }; + v.prototype.set_m_closestHitFraction = v.prototype.sB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ld(c, a); + }; + Object.defineProperty(v.prototype, "m_closestHitFraction", { + get: v.prototype.rB, + set: v.prototype.sB, + }); + v.prototype.__destroy__ = function () { + Md(this.kB); + }; + function fE() { + throw "cannot construct a btConvexShape, no constructor in IDL"; + } + fE.prototype = Object.create(l.prototype); + fE.prototype.constructor = fE; + fE.prototype.lB = fE; + fE.mB = {}; + b.btConvexShape = fE; + fE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nd(c, a); + }; + fE.prototype.getLocalScaling = function () { + return k(Od(this.kB), m); + }; + fE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Pd(d, a, c); + }; + fE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qd(c, a); + }; + fE.prototype.getMargin = function () { + return Rd(this.kB); + }; + fE.prototype.__destroy__ = function () { + Sd(this.kB); + }; + function gE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = Td(a, c); + h(gE)[this.kB] = this; + } + gE.prototype = Object.create(l.prototype); + gE.prototype.constructor = gE; + gE.prototype.lB = gE; + gE.mB = {}; + b.btCapsuleShape = gE; + gE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ud(c, a); + }; + gE.prototype.getMargin = function () { + return Vd(this.kB); + }; + gE.prototype.getUpAxis = function () { + return Wd(this.kB); + }; + gE.prototype.getRadius = function () { + return Xd(this.kB); + }; + gE.prototype.getHalfHeight = function () { + return Yd(this.kB); + }; + gE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zd(c, a); + }; + gE.prototype.getLocalScaling = function () { + return k($d(this.kB), m); + }; + gE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + ae(d, a, c); + }; + gE.prototype.__destroy__ = function () { + be(this.kB); + }; + function hE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = ce(a); + h(hE)[this.kB] = this; + } + hE.prototype = Object.create(l.prototype); + hE.prototype.constructor = hE; + hE.prototype.lB = hE; + hE.mB = {}; + b.btCylinderShape = hE; + hE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + de(c, a); + }; + hE.prototype.getMargin = function () { + return ee(this.kB); + }; + hE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fe(c, a); + }; + hE.prototype.getLocalScaling = function () { + return k(ge(this.kB), m); + }; + hE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + he(d, a, c); + }; + hE.prototype.__destroy__ = function () { + ie(this.kB); + }; + function iE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = je(a, c); + h(iE)[this.kB] = this; + } + iE.prototype = Object.create(l.prototype); + iE.prototype.constructor = iE; + iE.prototype.lB = iE; + iE.mB = {}; + b.btConeShape = iE; + iE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ke(c, a); + }; + iE.prototype.getLocalScaling = function () { + return k(le(this.kB), m); + }; + iE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + me(d, a, c); + }; + iE.prototype.__destroy__ = function () { + ne(this.kB); + }; + function jE() { + throw "cannot construct a btStridingMeshInterface, no constructor in IDL"; + } + jE.prototype = Object.create(f.prototype); + jE.prototype.constructor = jE; + jE.prototype.lB = jE; + jE.mB = {}; + b.btStridingMeshInterface = jE; + jE.prototype.setScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + oe(c, a); + }; + jE.prototype.__destroy__ = function () { + pe(this.kB); + }; + function kE() { + throw "cannot construct a btTriangleMeshShape, no constructor in IDL"; + } + kE.prototype = Object.create(ZD.prototype); + kE.prototype.constructor = kE; + kE.prototype.lB = kE; + kE.mB = {}; + b.btTriangleMeshShape = kE; + kE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + qe(c, a); + }; + kE.prototype.getLocalScaling = function () { + return k(re(this.kB), m); + }; + kE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + se(d, a, c); + }; + kE.prototype.__destroy__ = function () { + te(this.kB); + }; + function lE() { + throw "cannot construct a btPrimitiveManagerBase, no constructor in IDL"; + } + lE.prototype = Object.create(f.prototype); + lE.prototype.constructor = lE; + lE.prototype.lB = lE; + lE.mB = {}; + b.btPrimitiveManagerBase = lE; + lE.prototype.is_trimesh = function () { + return !!ue(this.kB); + }; + lE.prototype.get_primitive_count = function () { + return ve(this.kB); + }; + lE.prototype.get_primitive_box = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + we(d, a, c); + }; + lE.prototype.get_primitive_triangle = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + xe(d, a, c); + }; + lE.prototype.__destroy__ = function () { + ye(this.kB); + }; + function w() { + throw "cannot construct a btGImpactShapeInterface, no constructor in IDL"; + } + w.prototype = Object.create(ZD.prototype); + w.prototype.constructor = w; + w.prototype.lB = w; + w.mB = {}; + b.btGImpactShapeInterface = w; + w.prototype.updateBound = function () { + ze(this.kB); + }; + w.prototype.postUpdate = function () { + Ae(this.kB); + }; + w.prototype.getShapeType = function () { + return Be(this.kB); + }; + w.prototype.getName = function () { + return sa(Ce(this.kB)); + }; + w.prototype.getGImpactShapeType = function () { + return De(this.kB); + }; + w.prototype.getPrimitiveManager = function () { + return k(Ee(this.kB), lE); + }; + w.prototype.getNumChildShapes = function () { + return Fe(this.kB); + }; + w.prototype.childrenHasTransform = function () { + return !!Ge(this.kB); + }; + w.prototype.needsRetrieveTriangles = function () { + return !!He(this.kB); + }; + w.prototype.needsRetrieveTetrahedrons = function () { + return !!Ie(this.kB); + }; + w.prototype.getBulletTriangle = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Je(d, a, c); + }; + w.prototype.getBulletTetrahedron = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Ke(d, a, c); + }; + w.prototype.getChildShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Le(c, a), l); + }; + w.prototype.getChildTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Me(c, a), r); + }; + w.prototype.setChildTransform = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Ne(d, a, c); + }; + w.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Oe(c, a); + }; + w.prototype.getLocalScaling = function () { + return k(Pe(this.kB), m); + }; + w.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Qe(d, a, c); + }; + w.prototype.__destroy__ = function () { + Re(this.kB); + }; + function mE() { + throw "cannot construct a btActivatingCollisionAlgorithm, no constructor in IDL"; + } + mE.prototype = Object.create($D.prototype); + mE.prototype.constructor = mE; + mE.prototype.lB = mE; + mE.mB = {}; + b.btActivatingCollisionAlgorithm = mE; + mE.prototype.__destroy__ = function () { + Se(this.kB); + }; + function nE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = void 0 === a ? Te() : Ue(a); + h(nE)[this.kB] = this; + } + nE.prototype = Object.create(f.prototype); + nE.prototype.constructor = nE; + nE.prototype.lB = nE; + nE.mB = {}; + b.btDefaultCollisionConfiguration = nE; + nE.prototype.__destroy__ = function () { + Ve(this.kB); + }; + function TD() { + throw "cannot construct a btDispatcher, no constructor in IDL"; + } + TD.prototype = Object.create(f.prototype); + TD.prototype.constructor = TD; + TD.prototype.lB = TD; + TD.mB = {}; + b.btDispatcher = TD; + TD.prototype.getNumManifolds = function () { + return We(this.kB); + }; + TD.prototype.getManifoldByIndexInternal = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Xe(c, a), oE); + }; + TD.prototype.__destroy__ = function () { + Ye(this.kB); + }; + function pE(a, c, d, e, g) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + this.kB = + void 0 === e + ? Ze(a, c, d) + : void 0 === g + ? _emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4( + a, + c, + d, + e, + ) + : $e(a, c, d, e, g); + h(pE)[this.kB] = this; + } + pE.prototype = Object.create(aE.prototype); + pE.prototype.constructor = pE; + pE.prototype.lB = pE; + pE.mB = {}; + b.btGeneric6DofConstraint = pE; + pE.prototype.setLinearLowerLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + af(c, a); + }; + pE.prototype.setLinearUpperLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + bf(c, a); + }; + pE.prototype.setAngularLowerLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + cf(c, a); + }; + pE.prototype.setAngularUpperLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + df(c, a); + }; + pE.prototype.getFrameOffsetA = function () { + return k(ef(this.kB), r); + }; + pE.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ff(c, a); + }; + pE.prototype.getBreakingImpulseThreshold = function () { + return gf(this.kB); + }; + pE.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hf(c, a); + }; + pE.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return jf(d, a, c); + }; + pE.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + kf(e, a, c, d); + }; + pE.prototype.__destroy__ = function () { + lf(this.kB); + }; + function x(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = mf(a, c, d, e); + h(x)[this.kB] = this; + } + x.prototype = Object.create(bE.prototype); + x.prototype.constructor = x; + x.prototype.lB = x; + x.mB = {}; + b.btDiscreteDynamicsWorld = x; + x.prototype.setGravity = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + nf(c, a); + }; + x.prototype.getGravity = function () { + return k(of(this.kB), m); + }; + x.prototype.addRigidBody = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c + ? pf(e, a) + : void 0 === d + ? _emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(e, a, c) + : qf(e, a, c, d); + }; + x.prototype.removeRigidBody = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + rf(c, a); + }; + x.prototype.addConstraint = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + void 0 === c ? sf(d, a) : tf(d, a, c); + }; + x.prototype.removeConstraint = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + uf(c, a); + }; + x.prototype.stepSimulation = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + return void 0 === c + ? vf(e, a) + : void 0 === d + ? wf(e, a, c) + : xf(e, a, c, d); + }; + x.prototype.setContactAddedCallback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yf(c, a); + }; + x.prototype.setContactProcessedCallback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zf(c, a); + }; + x.prototype.setContactDestroyedCallback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Af(c, a); + }; + x.prototype.getDispatcher = function () { + return k(Bf(this.kB), TD); + }; + x.prototype.rayTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Cf(e, a, c, d); + }; + x.prototype.getPairCache = function () { + return k(Df(this.kB), UD); + }; + x.prototype.getDispatchInfo = function () { + return k(Ef(this.kB), p); + }; + x.prototype.addCollisionObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c ? Ff(e, a) : void 0 === d ? Gf(e, a, c) : Hf(e, a, c, d); + }; + x.prototype.removeCollisionObject = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + If(c, a); + }; + x.prototype.getBroadphase = function () { + return k(Jf(this.kB), VD); + }; + x.prototype.convexSweepTest = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + Kf(n, a, c, d, e, g); + }; + x.prototype.contactPairTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Lf(e, a, c, d); + }; + x.prototype.contactTest = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Mf(d, a, c); + }; + x.prototype.updateSingleAabb = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nf(c, a); + }; + x.prototype.setDebugDrawer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Of(c, a); + }; + x.prototype.getDebugDrawer = function () { + return k(Pf(this.kB), WD); + }; + x.prototype.debugDrawWorld = function () { + Qf(this.kB); + }; + x.prototype.debugDrawObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Rf(e, a, c, d); + }; + x.prototype.addAction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Sf(c, a); + }; + x.prototype.removeAction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Tf(c, a); + }; + x.prototype.getSolverInfo = function () { + return k(Uf(this.kB), t); + }; + x.prototype.setInternalTickCallback = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c ? Vf(e, a) : void 0 === d ? Wf(e, a, c) : Xf(e, a, c, d); + }; + x.prototype.__destroy__ = function () { + Yf(this.kB); + }; + function qE() { + throw "cannot construct a btVehicleRaycaster, no constructor in IDL"; + } + qE.prototype = Object.create(f.prototype); + qE.prototype.constructor = qE; + qE.prototype.lB = qE; + qE.mB = {}; + b.btVehicleRaycaster = qE; + qE.prototype.castRay = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Zf(e, a, c, d); + }; + qE.prototype.__destroy__ = function () { + $f(this.kB); + }; + function rE() { + throw "cannot construct a btActionInterface, no constructor in IDL"; + } + rE.prototype = Object.create(f.prototype); + rE.prototype.constructor = rE; + rE.prototype.lB = rE; + rE.mB = {}; + b.btActionInterface = rE; + rE.prototype.updateAction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + ag(d, a, c); + }; + rE.prototype.__destroy__ = function () { + bg(this.kB); + }; + function y() { + this.kB = cg(); + h(y)[this.kB] = this; + } + y.prototype = Object.create(q.prototype); + y.prototype.constructor = y; + y.prototype.lB = y; + y.mB = {}; + b.btGhostObject = y; + y.prototype.getNumOverlappingObjects = function () { + return dg(this.kB); + }; + y.prototype.getOverlappingObject = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(eg(c, a), q); + }; + y.prototype.setAnisotropicFriction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + fg(d, a, c); + }; + y.prototype.getCollisionShape = function () { + return k(gg(this.kB), l); + }; + y.prototype.setContactProcessingThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hg(c, a); + }; + y.prototype.setActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ig(c, a); + }; + y.prototype.forceActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jg(c, a); + }; + y.prototype.activate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + void 0 === a ? kg(c) : lg(c, a); + }; + y.prototype.isActive = function () { + return !!mg(this.kB); + }; + y.prototype.isKinematicObject = function () { + return !!ng(this.kB); + }; + y.prototype.isStaticObject = function () { + return !!og(this.kB); + }; + y.prototype.isStaticOrKinematicObject = function () { + return !!pg(this.kB); + }; + y.prototype.getRestitution = function () { + return qg(this.kB); + }; + y.prototype.getFriction = function () { + return rg(this.kB); + }; + y.prototype.getRollingFriction = function () { + return sg(this.kB); + }; + y.prototype.setRestitution = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + tg(c, a); + }; + y.prototype.setFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ug(c, a); + }; + y.prototype.setRollingFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vg(c, a); + }; + y.prototype.getWorldTransform = function () { + return k(wg(this.kB), r); + }; + y.prototype.getCollisionFlags = function () { + return xg(this.kB); + }; + y.prototype.setCollisionFlags = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yg(c, a); + }; + y.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zg(c, a); + }; + y.prototype.setCollisionShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ag(c, a); + }; + y.prototype.setCcdMotionThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Bg(c, a); + }; + y.prototype.setCcdSweptSphereRadius = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Cg(c, a); + }; + y.prototype.getUserIndex = function () { + return Dg(this.kB); + }; + y.prototype.setUserIndex = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Eg(c, a); + }; + y.prototype.getUserPointer = function () { + return k(Fg(this.kB), XD); + }; + y.prototype.setUserPointer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Gg(c, a); + }; + y.prototype.getBroadphaseHandle = function () { + return k(Hg(this.kB), YD); + }; + y.prototype.__destroy__ = function () { + Ig(this.kB); + }; + function sE() { + throw "cannot construct a btSoftBodySolver, no constructor in IDL"; + } + sE.prototype = Object.create(f.prototype); + sE.prototype.constructor = sE; + sE.prototype.lB = sE; + sE.mB = {}; + b.btSoftBodySolver = sE; + sE.prototype.__destroy__ = function () { + Jg(this.kB); + }; + function XD() { + throw "cannot construct a VoidPtr, no constructor in IDL"; + } + XD.prototype = Object.create(f.prototype); + XD.prototype.constructor = XD; + XD.prototype.lB = XD; + XD.mB = {}; + b.VoidPtr = XD; + XD.prototype.__destroy__ = function () { + Kg(this.kB); + }; + function tE() { + this.kB = Lg(); + h(tE)[this.kB] = this; + } + tE.prototype = Object.create(WD.prototype); + tE.prototype.constructor = tE; + tE.prototype.lB = tE; + tE.mB = {}; + b.DebugDrawer = tE; + tE.prototype.drawLine = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Mg(e, a, c, d); + }; + tE.prototype.drawContactPoint = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + Ng(n, a, c, d, e, g); + }; + tE.prototype.reportErrorWarning = function (a) { + var c = this.kB; + ND(); + a = a && "object" === typeof a ? a.kB : QD(a); + Og(c, a); + }; + tE.prototype.draw3dText = function (a, c) { + var d = this.kB; + ND(); + a && "object" === typeof a && (a = a.kB); + c = c && "object" === typeof c ? c.kB : QD(c); + Pg(d, a, c); + }; + tE.prototype.setDebugMode = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qg(c, a); + }; + tE.prototype.getDebugMode = function () { + return Rg(this.kB); + }; + tE.prototype.__destroy__ = function () { + Sg(this.kB); + }; + function A(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = + void 0 === a + ? Tg() + : void 0 === c + ? _emscripten_bind_btVector4_btVector4_1(a) + : void 0 === d + ? _emscripten_bind_btVector4_btVector4_2(a, c) + : void 0 === e + ? _emscripten_bind_btVector4_btVector4_3(a, c, d) + : Ug(a, c, d, e); + h(A)[this.kB] = this; + } + A.prototype = Object.create(m.prototype); + A.prototype.constructor = A; + A.prototype.lB = A; + A.mB = {}; + b.btVector4 = A; + A.prototype.w = A.prototype.w = function () { + return Vg(this.kB); + }; + A.prototype.setValue = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + Wg(g, a, c, d, e); + }; + A.prototype.length = A.prototype.length = function () { + return Xg(this.kB); + }; + A.prototype.x = A.prototype.x = function () { + return Yg(this.kB); + }; + A.prototype.y = A.prototype.y = function () { + return Zg(this.kB); + }; + A.prototype.z = A.prototype.z = function () { + return $g(this.kB); + }; + A.prototype.setX = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ah(c, a); + }; + A.prototype.setY = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + bh(c, a); + }; + A.prototype.setZ = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ch(c, a); + }; + A.prototype.normalize = A.prototype.normalize = function () { + dh(this.kB); + }; + A.prototype.rotate = A.prototype.rotate = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return k(eh(d, a, c), m); + }; + A.prototype.dot = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return fh(c, a); + }; + A.prototype.op_mul = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(gh(c, a), m); + }; + A.prototype.op_add = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(hh(c, a), m); + }; + A.prototype.op_sub = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(ih(c, a), m); + }; + A.prototype.__destroy__ = function () { + jh(this.kB); + }; + function B(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = kh(a, c, d, e); + h(B)[this.kB] = this; + } + B.prototype = Object.create(cE.prototype); + B.prototype.constructor = B; + B.prototype.lB = B; + B.mB = {}; + b.btQuaternion = B; + B.prototype.setValue = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + lh(g, a, c, d, e); + }; + B.prototype.setEulerZYX = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + mh(e, a, c, d); + }; + B.prototype.setRotation = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + nh(d, a, c); + }; + B.prototype.normalize = B.prototype.normalize = function () { + oh(this.kB); + }; + B.prototype.length2 = function () { + return ph(this.kB); + }; + B.prototype.length = B.prototype.length = function () { + return qh(this.kB); + }; + B.prototype.dot = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return rh(c, a); + }; + B.prototype.normalized = function () { + return k(sh(this.kB), B); + }; + B.prototype.getAxis = function () { + return k(th(this.kB), m); + }; + B.prototype.inverse = B.prototype.inverse = function () { + return k(uh(this.kB), B); + }; + B.prototype.getAngle = function () { + return vh(this.kB); + }; + B.prototype.getAngleShortestPath = function () { + return wh(this.kB); + }; + B.prototype.angle = B.prototype.angle = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return xh(c, a); + }; + B.prototype.angleShortestPath = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return yh(c, a); + }; + B.prototype.op_add = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(zh(c, a), B); + }; + B.prototype.op_sub = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Ah(c, a), B); + }; + B.prototype.op_mul = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Bh(c, a), B); + }; + B.prototype.op_mulq = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Ch(c, a), B); + }; + B.prototype.op_div = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Dh(c, a), B); + }; + B.prototype.x = B.prototype.x = function () { + return Eh(this.kB); + }; + B.prototype.y = B.prototype.y = function () { + return Fh(this.kB); + }; + B.prototype.z = B.prototype.z = function () { + return Gh(this.kB); + }; + B.prototype.w = B.prototype.w = function () { + return Hh(this.kB); + }; + B.prototype.setX = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ih(c, a); + }; + B.prototype.setY = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jh(c, a); + }; + B.prototype.setZ = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kh(c, a); + }; + B.prototype.setW = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lh(c, a); + }; + B.prototype.__destroy__ = function () { + Mh(this.kB); + }; + function uE() { + throw "cannot construct a btMatrix3x3, no constructor in IDL"; + } + uE.prototype = Object.create(f.prototype); + uE.prototype.constructor = uE; + uE.prototype.lB = uE; + uE.mB = {}; + b.btMatrix3x3 = uE; + uE.prototype.setEulerZYX = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Nh(e, a, c, d); + }; + uE.prototype.getRotation = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Oh(c, a); + }; + uE.prototype.getRow = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Ph(c, a), m); + }; + uE.prototype.__destroy__ = function () { + Qh(this.kB); + }; + function r(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = + void 0 === a + ? Rh() + : void 0 === c + ? _emscripten_bind_btTransform_btTransform_1(a) + : Sh(a, c); + h(r)[this.kB] = this; + } + r.prototype = Object.create(f.prototype); + r.prototype.constructor = r; + r.prototype.lB = r; + r.mB = {}; + b.btTransform = r; + r.prototype.setIdentity = function () { + Th(this.kB); + }; + r.prototype.setOrigin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Uh(c, a); + }; + r.prototype.setRotation = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vh(c, a); + }; + r.prototype.getOrigin = function () { + return k(Wh(this.kB), m); + }; + r.prototype.getRotation = function () { + return k(Xh(this.kB), B); + }; + r.prototype.getBasis = function () { + return k(Yh(this.kB), uE); + }; + r.prototype.setFromOpenGLMatrix = function (a) { + var c = this.kB; + ND(); + "object" == typeof a && (a = RD(a)); + Zh(c, a); + }; + r.prototype.inverse = r.prototype.inverse = function () { + return k($h(this.kB), r); + }; + r.prototype.op_mul = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(ai(c, a), r); + }; + r.prototype.__destroy__ = function () { + bi(this.kB); + }; + function vE() { + this.kB = ci(); + h(vE)[this.kB] = this; + } + vE.prototype = Object.create(dE.prototype); + vE.prototype.constructor = vE; + vE.prototype.lB = vE; + vE.mB = {}; + b.MotionState = vE; + vE.prototype.getWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + di(c, a); + }; + vE.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ei(c, a); + }; + vE.prototype.__destroy__ = function () { + fi(this.kB); + }; + function wE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = void 0 === a ? gi() : void 0 === c ? hi(a) : ii(a, c); + h(wE)[this.kB] = this; + } + wE.prototype = Object.create(dE.prototype); + wE.prototype.constructor = wE; + wE.prototype.lB = wE; + wE.mB = {}; + b.btDefaultMotionState = wE; + wE.prototype.getWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ji(c, a); + }; + wE.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ki(c, a); + }; + wE.prototype.get_m_graphicsWorldTrans = wE.prototype.lD = function () { + return k(li(this.kB), r); + }; + wE.prototype.set_m_graphicsWorldTrans = wE.prototype.cG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + mi(c, a); + }; + Object.defineProperty(wE.prototype, "m_graphicsWorldTrans", { + get: wE.prototype.lD, + set: wE.prototype.cG, + }); + wE.prototype.__destroy__ = function () { + ni(this.kB); + }; + function xE() { + throw "cannot construct a btCollisionObjectWrapper, no constructor in IDL"; + } + xE.prototype = Object.create(f.prototype); + xE.prototype.constructor = xE; + xE.prototype.lB = xE; + xE.mB = {}; + b.btCollisionObjectWrapper = xE; + xE.prototype.getWorldTransform = function () { + return k(oi(this.kB), r); + }; + xE.prototype.getCollisionObject = function () { + return k(pi(this.kB), q); + }; + xE.prototype.getCollisionShape = function () { + return k(qi(this.kB), l); + }; + function C(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = ri(a, c); + h(C)[this.kB] = this; + } + C.prototype = Object.create(u.prototype); + C.prototype.constructor = C; + C.prototype.lB = C; + C.mB = {}; + b.ClosestRayResultCallback = C; + C.prototype.hasHit = function () { + return !!si(this.kB); + }; + C.prototype.get_m_rayFromWorld = C.prototype.NB = function () { + return k(ti(this.kB), m); + }; + C.prototype.set_m_rayFromWorld = C.prototype.XB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ui(c, a); + }; + Object.defineProperty(C.prototype, "m_rayFromWorld", { + get: C.prototype.NB, + set: C.prototype.XB, + }); + C.prototype.get_m_rayToWorld = C.prototype.OB = function () { + return k(vi(this.kB), m); + }; + C.prototype.set_m_rayToWorld = C.prototype.YB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wi(c, a); + }; + Object.defineProperty(C.prototype, "m_rayToWorld", { + get: C.prototype.OB, + set: C.prototype.YB, + }); + C.prototype.get_m_hitNormalWorld = C.prototype.xB = function () { + return k(xi(this.kB), m); + }; + C.prototype.set_m_hitNormalWorld = C.prototype.EB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yi(c, a); + }; + Object.defineProperty(C.prototype, "m_hitNormalWorld", { + get: C.prototype.xB, + set: C.prototype.EB, + }); + C.prototype.get_m_hitPointWorld = C.prototype.yB = function () { + return k(zi(this.kB), m); + }; + C.prototype.set_m_hitPointWorld = C.prototype.FB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ai(c, a); + }; + Object.defineProperty(C.prototype, "m_hitPointWorld", { + get: C.prototype.yB, + set: C.prototype.FB, + }); + C.prototype.get_m_collisionFilterGroup = C.prototype.nB = function () { + return Bi(this.kB); + }; + C.prototype.set_m_collisionFilterGroup = C.prototype.pB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ci(c, a); + }; + Object.defineProperty(C.prototype, "m_collisionFilterGroup", { + get: C.prototype.nB, + set: C.prototype.pB, + }); + C.prototype.get_m_collisionFilterMask = C.prototype.oB = function () { + return Di(this.kB); + }; + C.prototype.set_m_collisionFilterMask = C.prototype.qB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ei(c, a); + }; + Object.defineProperty(C.prototype, "m_collisionFilterMask", { + get: C.prototype.oB, + set: C.prototype.qB, + }); + C.prototype.get_m_closestHitFraction = C.prototype.rB = function () { + return Fi(this.kB); + }; + C.prototype.set_m_closestHitFraction = C.prototype.sB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Gi(c, a); + }; + Object.defineProperty(C.prototype, "m_closestHitFraction", { + get: C.prototype.rB, + set: C.prototype.sB, + }); + C.prototype.get_m_collisionObject = C.prototype.vB = function () { + return k(Hi(this.kB), q); + }; + C.prototype.set_m_collisionObject = C.prototype.CB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ii(c, a); + }; + Object.defineProperty(C.prototype, "m_collisionObject", { + get: C.prototype.vB, + set: C.prototype.CB, + }); + C.prototype.get_m_flags = C.prototype.tB = function () { + return Ji(this.kB); + }; + C.prototype.set_m_flags = C.prototype.uB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ki(c, a); + }; + Object.defineProperty(C.prototype, "m_flags", { + get: C.prototype.tB, + set: C.prototype.uB, + }); + C.prototype.__destroy__ = function () { + Li(this.kB); + }; + function yE() { + throw "cannot construct a btConstCollisionObjectArray, no constructor in IDL"; + } + yE.prototype = Object.create(f.prototype); + yE.prototype.constructor = yE; + yE.prototype.lB = yE; + yE.mB = {}; + b.btConstCollisionObjectArray = yE; + yE.prototype.size = yE.prototype.size = function () { + return Mi(this.kB); + }; + yE.prototype.at = yE.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Ni(c, a), q); + }; + yE.prototype.__destroy__ = function () { + Oi(this.kB); + }; + function zE() { + throw "cannot construct a btScalarArray, no constructor in IDL"; + } + zE.prototype = Object.create(f.prototype); + zE.prototype.constructor = zE; + zE.prototype.lB = zE; + zE.mB = {}; + b.btScalarArray = zE; + zE.prototype.size = zE.prototype.size = function () { + return Pi(this.kB); + }; + zE.prototype.at = zE.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return Qi(c, a); + }; + zE.prototype.__destroy__ = function () { + Ri(this.kB); + }; + function D(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = Si(a, c); + h(D)[this.kB] = this; + } + D.prototype = Object.create(u.prototype); + D.prototype.constructor = D; + D.prototype.lB = D; + D.mB = {}; + b.AllHitsRayResultCallback = D; + D.prototype.hasHit = function () { + return !!Ti(this.kB); + }; + D.prototype.get_m_collisionObjects = D.prototype.UC = function () { + return k(Ui(this.kB), yE); + }; + D.prototype.set_m_collisionObjects = D.prototype.LF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vi(c, a); + }; + Object.defineProperty(D.prototype, "m_collisionObjects", { + get: D.prototype.UC, + set: D.prototype.LF, + }); + D.prototype.get_m_rayFromWorld = D.prototype.NB = function () { + return k(Wi(this.kB), m); + }; + D.prototype.set_m_rayFromWorld = D.prototype.XB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Xi(c, a); + }; + Object.defineProperty(D.prototype, "m_rayFromWorld", { + get: D.prototype.NB, + set: D.prototype.XB, + }); + D.prototype.get_m_rayToWorld = D.prototype.OB = function () { + return k(Yi(this.kB), m); + }; + D.prototype.set_m_rayToWorld = D.prototype.YB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zi(c, a); + }; + Object.defineProperty(D.prototype, "m_rayToWorld", { + get: D.prototype.OB, + set: D.prototype.YB, + }); + D.prototype.get_m_hitNormalWorld = D.prototype.xB = function () { + return k($i(this.kB), AE); + }; + D.prototype.set_m_hitNormalWorld = D.prototype.EB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + aj(c, a); + }; + Object.defineProperty(D.prototype, "m_hitNormalWorld", { + get: D.prototype.xB, + set: D.prototype.EB, + }); + D.prototype.get_m_hitPointWorld = D.prototype.yB = function () { + return k(bj(this.kB), AE); + }; + D.prototype.set_m_hitPointWorld = D.prototype.FB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + cj(c, a); + }; + Object.defineProperty(D.prototype, "m_hitPointWorld", { + get: D.prototype.yB, + set: D.prototype.FB, + }); + D.prototype.get_m_hitFractions = D.prototype.qD = function () { + return k(dj(this.kB), zE); + }; + D.prototype.set_m_hitFractions = D.prototype.hG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ej(c, a); + }; + Object.defineProperty(D.prototype, "m_hitFractions", { + get: D.prototype.qD, + set: D.prototype.hG, + }); + D.prototype.get_m_collisionFilterGroup = D.prototype.nB = function () { + return fj(this.kB); + }; + D.prototype.set_m_collisionFilterGroup = D.prototype.pB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + gj(c, a); + }; + Object.defineProperty(D.prototype, "m_collisionFilterGroup", { + get: D.prototype.nB, + set: D.prototype.pB, + }); + D.prototype.get_m_collisionFilterMask = D.prototype.oB = function () { + return hj(this.kB); + }; + D.prototype.set_m_collisionFilterMask = D.prototype.qB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ij(c, a); + }; + Object.defineProperty(D.prototype, "m_collisionFilterMask", { + get: D.prototype.oB, + set: D.prototype.qB, + }); + D.prototype.get_m_closestHitFraction = D.prototype.rB = function () { + return jj(this.kB); + }; + D.prototype.set_m_closestHitFraction = D.prototype.sB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kj(c, a); + }; + Object.defineProperty(D.prototype, "m_closestHitFraction", { + get: D.prototype.rB, + set: D.prototype.sB, + }); + D.prototype.get_m_collisionObject = D.prototype.vB = function () { + return k(lj(this.kB), q); + }; + D.prototype.set_m_collisionObject = D.prototype.CB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + mj(c, a); + }; + Object.defineProperty(D.prototype, "m_collisionObject", { + get: D.prototype.vB, + set: D.prototype.CB, + }); + D.prototype.get_m_flags = D.prototype.tB = function () { + return nj(this.kB); + }; + D.prototype.set_m_flags = D.prototype.uB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + oj(c, a); + }; + Object.defineProperty(D.prototype, "m_flags", { + get: D.prototype.tB, + set: D.prototype.uB, + }); + D.prototype.__destroy__ = function () { + pj(this.kB); + }; + function E() { + throw "cannot construct a btManifoldPoint, no constructor in IDL"; + } + E.prototype = Object.create(f.prototype); + E.prototype.constructor = E; + E.prototype.lB = E; + E.mB = {}; + b.btManifoldPoint = E; + E.prototype.getPositionWorldOnA = function () { + return k(qj(this.kB), m); + }; + E.prototype.getPositionWorldOnB = function () { + return k(rj(this.kB), m); + }; + E.prototype.getAppliedImpulse = function () { + return sj(this.kB); + }; + E.prototype.getDistance = function () { + return tj(this.kB); + }; + E.prototype.get_m_localPointA = E.prototype.GD = function () { + return k(uj(this.kB), m); + }; + E.prototype.set_m_localPointA = E.prototype.xG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vj(c, a); + }; + Object.defineProperty(E.prototype, "m_localPointA", { + get: E.prototype.GD, + set: E.prototype.xG, + }); + E.prototype.get_m_localPointB = E.prototype.HD = function () { + return k(wj(this.kB), m); + }; + E.prototype.set_m_localPointB = E.prototype.yG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xj(c, a); + }; + Object.defineProperty(E.prototype, "m_localPointB", { + get: E.prototype.HD, + set: E.prototype.yG, + }); + E.prototype.get_m_positionWorldOnB = E.prototype.YD = function () { + return k(yj(this.kB), m); + }; + E.prototype.set_m_positionWorldOnB = E.prototype.PG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zj(c, a); + }; + Object.defineProperty(E.prototype, "m_positionWorldOnB", { + get: E.prototype.YD, + set: E.prototype.PG, + }); + E.prototype.get_m_positionWorldOnA = E.prototype.XD = function () { + return k(Aj(this.kB), m); + }; + E.prototype.set_m_positionWorldOnA = E.prototype.OG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Bj(c, a); + }; + Object.defineProperty(E.prototype, "m_positionWorldOnA", { + get: E.prototype.XD, + set: E.prototype.OG, + }); + E.prototype.get_m_normalWorldOnB = E.prototype.SD = function () { + return k(Cj(this.kB), m); + }; + E.prototype.set_m_normalWorldOnB = E.prototype.JG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dj(c, a); + }; + Object.defineProperty(E.prototype, "m_normalWorldOnB", { + get: E.prototype.SD, + set: E.prototype.JG, + }); + E.prototype.get_m_userPersistentData = E.prototype.zE = function () { + return Ej(this.kB); + }; + E.prototype.set_m_userPersistentData = E.prototype.rH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Fj(c, a); + }; + Object.defineProperty(E.prototype, "m_userPersistentData", { + get: E.prototype.zE, + set: E.prototype.rH, + }); + E.prototype.__destroy__ = function () { + Gj(this.kB); + }; + function BE() { + this.kB = Hj(); + h(BE)[this.kB] = this; + } + BE.prototype = Object.create(eE.prototype); + BE.prototype.constructor = BE; + BE.prototype.lB = BE; + BE.mB = {}; + b.ConcreteContactResultCallback = BE; + BE.prototype.addSingleResult = function (a, c, d, e, g, n, z) { + var T = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + n && "object" === typeof n && (n = n.kB); + z && "object" === typeof z && (z = z.kB); + return Ij(T, a, c, d, e, g, n, z); + }; + BE.prototype.__destroy__ = function () { + Jj(this.kB); + }; + function CE() { + throw "cannot construct a LocalShapeInfo, no constructor in IDL"; + } + CE.prototype = Object.create(f.prototype); + CE.prototype.constructor = CE; + CE.prototype.lB = CE; + CE.mB = {}; + b.LocalShapeInfo = CE; + CE.prototype.get_m_shapePart = CE.prototype.gE = function () { + return Kj(this.kB); + }; + CE.prototype.set_m_shapePart = CE.prototype.ZG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lj(c, a); + }; + Object.defineProperty(CE.prototype, "m_shapePart", { + get: CE.prototype.gE, + set: CE.prototype.ZG, + }); + CE.prototype.get_m_triangleIndex = CE.prototype.vE = function () { + return Mj(this.kB); + }; + CE.prototype.set_m_triangleIndex = CE.prototype.nH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nj(c, a); + }; + Object.defineProperty(CE.prototype, "m_triangleIndex", { + get: CE.prototype.vE, + set: CE.prototype.nH, + }); + CE.prototype.__destroy__ = function () { + Oj(this.kB); + }; + function F(a, c, d, e, g) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + this.kB = Pj(a, c, d, e, g); + h(F)[this.kB] = this; + } + F.prototype = Object.create(f.prototype); + F.prototype.constructor = F; + F.prototype.lB = F; + F.mB = {}; + b.LocalConvexResult = F; + F.prototype.get_m_hitCollisionObject = F.prototype.LB = function () { + return k(Qj(this.kB), q); + }; + F.prototype.set_m_hitCollisionObject = F.prototype.VB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Rj(c, a); + }; + Object.defineProperty(F.prototype, "m_hitCollisionObject", { + get: F.prototype.LB, + set: F.prototype.VB, + }); + F.prototype.get_m_localShapeInfo = F.prototype.ID = function () { + return k(Sj(this.kB), CE); + }; + F.prototype.set_m_localShapeInfo = F.prototype.zG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Tj(c, a); + }; + Object.defineProperty(F.prototype, "m_localShapeInfo", { + get: F.prototype.ID, + set: F.prototype.zG, + }); + F.prototype.get_m_hitNormalLocal = F.prototype.sD = function () { + return k(Uj(this.kB), m); + }; + F.prototype.set_m_hitNormalLocal = F.prototype.jG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vj(c, a); + }; + Object.defineProperty(F.prototype, "m_hitNormalLocal", { + get: F.prototype.sD, + set: F.prototype.jG, + }); + F.prototype.get_m_hitPointLocal = F.prototype.uD = function () { + return k(Wj(this.kB), m); + }; + F.prototype.set_m_hitPointLocal = F.prototype.lG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Xj(c, a); + }; + Object.defineProperty(F.prototype, "m_hitPointLocal", { + get: F.prototype.uD, + set: F.prototype.lG, + }); + F.prototype.get_m_hitFraction = F.prototype.pD = function () { + return Yj(this.kB); + }; + F.prototype.set_m_hitFraction = F.prototype.gG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zj(c, a); + }; + Object.defineProperty(F.prototype, "m_hitFraction", { + get: F.prototype.pD, + set: F.prototype.gG, + }); + F.prototype.__destroy__ = function () { + ak(this.kB); + }; + function G(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = bk(a, c); + h(G)[this.kB] = this; + } + G.prototype = Object.create(v.prototype); + G.prototype.constructor = G; + G.prototype.lB = G; + G.mB = {}; + b.ClosestConvexResultCallback = G; + G.prototype.hasHit = function () { + return !!ck(this.kB); + }; + G.prototype.get_m_hitCollisionObject = G.prototype.LB = function () { + return k(dk(this.kB), q); + }; + G.prototype.set_m_hitCollisionObject = G.prototype.VB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ek(c, a); + }; + Object.defineProperty(G.prototype, "m_hitCollisionObject", { + get: G.prototype.LB, + set: G.prototype.VB, + }); + G.prototype.get_m_convexFromWorld = G.prototype.ZC = function () { + return k(fk(this.kB), m); + }; + G.prototype.set_m_convexFromWorld = G.prototype.QF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + gk(c, a); + }; + Object.defineProperty(G.prototype, "m_convexFromWorld", { + get: G.prototype.ZC, + set: G.prototype.QF, + }); + G.prototype.get_m_convexToWorld = G.prototype.$C = function () { + return k(hk(this.kB), m); + }; + G.prototype.set_m_convexToWorld = G.prototype.RF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ik(c, a); + }; + Object.defineProperty(G.prototype, "m_convexToWorld", { + get: G.prototype.$C, + set: G.prototype.RF, + }); + G.prototype.get_m_hitNormalWorld = G.prototype.xB = function () { + return k(jk(this.kB), m); + }; + G.prototype.set_m_hitNormalWorld = G.prototype.EB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kk(c, a); + }; + Object.defineProperty(G.prototype, "m_hitNormalWorld", { + get: G.prototype.xB, + set: G.prototype.EB, + }); + G.prototype.get_m_hitPointWorld = G.prototype.yB = function () { + return k(lk(this.kB), m); + }; + G.prototype.set_m_hitPointWorld = G.prototype.FB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + mk(c, a); + }; + Object.defineProperty(G.prototype, "m_hitPointWorld", { + get: G.prototype.yB, + set: G.prototype.FB, + }); + G.prototype.get_m_collisionFilterGroup = G.prototype.nB = function () { + return nk(this.kB); + }; + G.prototype.set_m_collisionFilterGroup = G.prototype.pB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ok(c, a); + }; + Object.defineProperty(G.prototype, "m_collisionFilterGroup", { + get: G.prototype.nB, + set: G.prototype.pB, + }); + G.prototype.get_m_collisionFilterMask = G.prototype.oB = function () { + return pk(this.kB); + }; + G.prototype.set_m_collisionFilterMask = G.prototype.qB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + qk(c, a); + }; + Object.defineProperty(G.prototype, "m_collisionFilterMask", { + get: G.prototype.oB, + set: G.prototype.qB, + }); + G.prototype.get_m_closestHitFraction = G.prototype.rB = function () { + return rk(this.kB); + }; + G.prototype.set_m_closestHitFraction = G.prototype.sB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + sk(c, a); + }; + Object.defineProperty(G.prototype, "m_closestHitFraction", { + get: G.prototype.rB, + set: G.prototype.sB, + }); + G.prototype.__destroy__ = function () { + tk(this.kB); + }; + function DE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = void 0 === c ? uk(a) : vk(a, c); + h(DE)[this.kB] = this; + } + DE.prototype = Object.create(fE.prototype); + DE.prototype.constructor = DE; + DE.prototype.lB = DE; + DE.mB = {}; + b.btConvexTriangleMeshShape = DE; + DE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wk(c, a); + }; + DE.prototype.getLocalScaling = function () { + return k(xk(this.kB), m); + }; + DE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + yk(d, a, c); + }; + DE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zk(c, a); + }; + DE.prototype.getMargin = function () { + return Ak(this.kB); + }; + DE.prototype.__destroy__ = function () { + Bk(this.kB); + }; + function EE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = Ck(a); + h(EE)[this.kB] = this; + } + EE.prototype = Object.create(l.prototype); + EE.prototype.constructor = EE; + EE.prototype.lB = EE; + EE.mB = {}; + b.btBoxShape = EE; + EE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dk(c, a); + }; + EE.prototype.getMargin = function () { + return Ek(this.kB); + }; + EE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Fk(c, a); + }; + EE.prototype.getLocalScaling = function () { + return k(Gk(this.kB), m); + }; + EE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Hk(d, a, c); + }; + EE.prototype.__destroy__ = function () { + Ik(this.kB); + }; + function FE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = Jk(a, c); + h(FE)[this.kB] = this; + } + FE.prototype = Object.create(gE.prototype); + FE.prototype.constructor = FE; + FE.prototype.lB = FE; + FE.mB = {}; + b.btCapsuleShapeX = FE; + FE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kk(c, a); + }; + FE.prototype.getMargin = function () { + return Lk(this.kB); + }; + FE.prototype.getUpAxis = function () { + return Mk(this.kB); + }; + FE.prototype.getRadius = function () { + return Nk(this.kB); + }; + FE.prototype.getHalfHeight = function () { + return Ok(this.kB); + }; + FE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pk(c, a); + }; + FE.prototype.getLocalScaling = function () { + return k(Qk(this.kB), m); + }; + FE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Rk(d, a, c); + }; + FE.prototype.__destroy__ = function () { + Sk(this.kB); + }; + function GE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = Tk(a, c); + h(GE)[this.kB] = this; + } + GE.prototype = Object.create(gE.prototype); + GE.prototype.constructor = GE; + GE.prototype.lB = GE; + GE.mB = {}; + b.btCapsuleShapeZ = GE; + GE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Uk(c, a); + }; + GE.prototype.getMargin = function () { + return Vk(this.kB); + }; + GE.prototype.getUpAxis = function () { + return Wk(this.kB); + }; + GE.prototype.getRadius = function () { + return Xk(this.kB); + }; + GE.prototype.getHalfHeight = function () { + return Yk(this.kB); + }; + GE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zk(c, a); + }; + GE.prototype.getLocalScaling = function () { + return k($k(this.kB), m); + }; + GE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + al(d, a, c); + }; + GE.prototype.__destroy__ = function () { + bl(this.kB); + }; + function HE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = cl(a); + h(HE)[this.kB] = this; + } + HE.prototype = Object.create(hE.prototype); + HE.prototype.constructor = HE; + HE.prototype.lB = HE; + HE.mB = {}; + b.btCylinderShapeX = HE; + HE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + dl(c, a); + }; + HE.prototype.getMargin = function () { + return el(this.kB); + }; + HE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fl(c, a); + }; + HE.prototype.getLocalScaling = function () { + return k(gl(this.kB), m); + }; + HE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + hl(d, a, c); + }; + HE.prototype.__destroy__ = function () { + il(this.kB); + }; + function IE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = jl(a); + h(IE)[this.kB] = this; + } + IE.prototype = Object.create(hE.prototype); + IE.prototype.constructor = IE; + IE.prototype.lB = IE; + IE.mB = {}; + b.btCylinderShapeZ = IE; + IE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kl(c, a); + }; + IE.prototype.getMargin = function () { + return ll(this.kB); + }; + IE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ml(c, a); + }; + IE.prototype.getLocalScaling = function () { + return k(nl(this.kB), m); + }; + IE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + ol(d, a, c); + }; + IE.prototype.__destroy__ = function () { + pl(this.kB); + }; + function JE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = ql(a); + h(JE)[this.kB] = this; + } + JE.prototype = Object.create(l.prototype); + JE.prototype.constructor = JE; + JE.prototype.lB = JE; + JE.mB = {}; + b.btSphereShape = JE; + JE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + rl(c, a); + }; + JE.prototype.getMargin = function () { + return sl(this.kB); + }; + JE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + tl(c, a); + }; + JE.prototype.getLocalScaling = function () { + return k(ul(this.kB), m); + }; + JE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + vl(d, a, c); + }; + JE.prototype.__destroy__ = function () { + wl(this.kB); + }; + function KE(a, c, d) { + ND(); + a && "object" === typeof a && (a = a.kB); + "object" == typeof c && (c = RD(c)); + d && "object" === typeof d && (d = d.kB); + this.kB = xl(a, c, d); + h(KE)[this.kB] = this; + } + KE.prototype = Object.create(l.prototype); + KE.prototype.constructor = KE; + KE.prototype.lB = KE; + KE.mB = {}; + b.btMultiSphereShape = KE; + KE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yl(c, a); + }; + KE.prototype.getLocalScaling = function () { + return k(zl(this.kB), m); + }; + KE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Al(d, a, c); + }; + KE.prototype.__destroy__ = function () { + Bl(this.kB); + }; + function LE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = Cl(a, c); + h(LE)[this.kB] = this; + } + LE.prototype = Object.create(iE.prototype); + LE.prototype.constructor = LE; + LE.prototype.lB = LE; + LE.mB = {}; + b.btConeShapeX = LE; + LE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dl(c, a); + }; + LE.prototype.getLocalScaling = function () { + return k(El(this.kB), m); + }; + LE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Fl(d, a, c); + }; + LE.prototype.__destroy__ = function () { + Gl(this.kB); + }; + function ME(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = Hl(a, c); + h(ME)[this.kB] = this; + } + ME.prototype = Object.create(iE.prototype); + ME.prototype.constructor = ME; + ME.prototype.lB = ME; + ME.mB = {}; + b.btConeShapeZ = ME; + ME.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Il(c, a); + }; + ME.prototype.getLocalScaling = function () { + return k(Jl(this.kB), m); + }; + ME.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Kl(d, a, c); + }; + ME.prototype.__destroy__ = function () { + Ll(this.kB); + }; + function NE() { + throw "cannot construct a btIntArray, no constructor in IDL"; + } + NE.prototype = Object.create(f.prototype); + NE.prototype.constructor = NE; + NE.prototype.lB = NE; + NE.mB = {}; + b.btIntArray = NE; + NE.prototype.size = NE.prototype.size = function () { + return Ml(this.kB); + }; + NE.prototype.at = NE.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return Nl(c, a); + }; + NE.prototype.__destroy__ = function () { + Ol(this.kB); + }; + function OE() { + throw "cannot construct a btFace, no constructor in IDL"; + } + OE.prototype = Object.create(f.prototype); + OE.prototype.constructor = OE; + OE.prototype.lB = OE; + OE.mB = {}; + b.btFace = OE; + OE.prototype.get_m_indices = OE.prototype.xD = function () { + return k(Pl(this.kB), NE); + }; + OE.prototype.set_m_indices = OE.prototype.oG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ql(c, a); + }; + Object.defineProperty(OE.prototype, "m_indices", { + get: OE.prototype.xD, + set: OE.prototype.oG, + }); + OE.prototype.get_m_plane = OE.prototype.WD = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return Rl(c, a); + }; + OE.prototype.set_m_plane = OE.prototype.NG = function (a, c) { + var d = this.kB; + ND(); + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Sl(d, a, c); + }; + Object.defineProperty(OE.prototype, "m_plane", { + get: OE.prototype.WD, + set: OE.prototype.NG, + }); + OE.prototype.__destroy__ = function () { + Tl(this.kB); + }; + function AE() { + throw "cannot construct a btVector3Array, no constructor in IDL"; + } + AE.prototype = Object.create(f.prototype); + AE.prototype.constructor = AE; + AE.prototype.lB = AE; + AE.mB = {}; + b.btVector3Array = AE; + AE.prototype.size = AE.prototype.size = function () { + return Ul(this.kB); + }; + AE.prototype.at = AE.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Vl(c, a), m); + }; + AE.prototype.__destroy__ = function () { + Wl(this.kB); + }; + function PE() { + throw "cannot construct a btFaceArray, no constructor in IDL"; + } + PE.prototype = Object.create(f.prototype); + PE.prototype.constructor = PE; + PE.prototype.lB = PE; + PE.mB = {}; + b.btFaceArray = PE; + PE.prototype.size = PE.prototype.size = function () { + return Xl(this.kB); + }; + PE.prototype.at = PE.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Yl(c, a), OE); + }; + PE.prototype.__destroy__ = function () { + Zl(this.kB); + }; + function QE() { + throw "cannot construct a btConvexPolyhedron, no constructor in IDL"; + } + QE.prototype = Object.create(f.prototype); + QE.prototype.constructor = QE; + QE.prototype.lB = QE; + QE.mB = {}; + b.btConvexPolyhedron = QE; + QE.prototype.get_m_vertices = QE.prototype.BE = function () { + return k($l(this.kB), AE); + }; + QE.prototype.set_m_vertices = QE.prototype.tH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + am(c, a); + }; + Object.defineProperty(QE.prototype, "m_vertices", { + get: QE.prototype.BE, + set: QE.prototype.tH, + }); + QE.prototype.get_m_faces = QE.prototype.KB = function () { + return k(bm(this.kB), PE); + }; + QE.prototype.set_m_faces = QE.prototype.UB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + cm(c, a); + }; + Object.defineProperty(QE.prototype, "m_faces", { + get: QE.prototype.KB, + set: QE.prototype.UB, + }); + QE.prototype.__destroy__ = function () { + dm(this.kB); + }; + function RE(a, c) { + ND(); + "object" == typeof a && (a = RD(a)); + c && "object" === typeof c && (c = c.kB); + this.kB = void 0 === a ? em() : void 0 === c ? fm(a) : gm(a, c); + h(RE)[this.kB] = this; + } + RE.prototype = Object.create(l.prototype); + RE.prototype.constructor = RE; + RE.prototype.lB = RE; + RE.mB = {}; + b.btConvexHullShape = RE; + RE.prototype.addPoint = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + void 0 === c ? hm(d, a) : im(d, a, c); + }; + RE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jm(c, a); + }; + RE.prototype.getMargin = function () { + return km(this.kB); + }; + RE.prototype.getNumVertices = function () { + return lm(this.kB); + }; + RE.prototype.initializePolyhedralFeatures = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return !!mm(c, a); + }; + RE.prototype.recalcLocalAabb = function () { + nm(this.kB); + }; + RE.prototype.getConvexPolyhedron = function () { + return k(om(this.kB), QE); + }; + RE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pm(c, a); + }; + RE.prototype.getLocalScaling = function () { + return k(qm(this.kB), m); + }; + RE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + rm(d, a, c); + }; + RE.prototype.__destroy__ = function () { + sm(this.kB); + }; + function SE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = tm(a); + h(SE)[this.kB] = this; + } + SE.prototype = Object.create(f.prototype); + SE.prototype.constructor = SE; + SE.prototype.lB = SE; + SE.mB = {}; + b.btShapeHull = SE; + SE.prototype.buildHull = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return !!um(c, a); + }; + SE.prototype.numVertices = function () { + return wm(this.kB); + }; + SE.prototype.getVertexPointer = function () { + return k(xm(this.kB), m); + }; + SE.prototype.__destroy__ = function () { + ym(this.kB); + }; + function TE(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = void 0 === a ? zm() : Am(a); + h(TE)[this.kB] = this; + } + TE.prototype = Object.create(l.prototype); + TE.prototype.constructor = TE; + TE.prototype.lB = TE; + TE.mB = {}; + b.btCompoundShape = TE; + TE.prototype.addChildShape = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Bm(d, a, c); + }; + TE.prototype.removeChildShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Cm(c, a); + }; + TE.prototype.removeChildShapeByIndex = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dm(c, a); + }; + TE.prototype.getNumChildShapes = function () { + return Em(this.kB); + }; + TE.prototype.getChildShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Fm(c, a), l); + }; + TE.prototype.updateChildTransform = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === d ? Gm(e, a, c) : Hm(e, a, c, d); + }; + TE.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Im(c, a); + }; + TE.prototype.getMargin = function () { + return Jm(this.kB); + }; + TE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Km(c, a); + }; + TE.prototype.getLocalScaling = function () { + return k(Lm(this.kB), m); + }; + TE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Mm(d, a, c); + }; + TE.prototype.__destroy__ = function () { + Nm(this.kB); + }; + function UE() { + throw "cannot construct a btIndexedMesh, no constructor in IDL"; + } + UE.prototype = Object.create(f.prototype); + UE.prototype.constructor = UE; + UE.prototype.lB = UE; + UE.mB = {}; + b.btIndexedMesh = UE; + UE.prototype.get_m_numTriangles = UE.prototype.UD = function () { + return Om(this.kB); + }; + UE.prototype.set_m_numTriangles = UE.prototype.LG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pm(c, a); + }; + Object.defineProperty(UE.prototype, "m_numTriangles", { + get: UE.prototype.UD, + set: UE.prototype.LG, + }); + UE.prototype.__destroy__ = function () { + Qm(this.kB); + }; + function VE() { + throw "cannot construct a btIndexedMeshArray, no constructor in IDL"; + } + VE.prototype = Object.create(f.prototype); + VE.prototype.constructor = VE; + VE.prototype.lB = VE; + VE.mB = {}; + b.btIndexedMeshArray = VE; + VE.prototype.size = VE.prototype.size = function () { + return Rm(this.kB); + }; + VE.prototype.at = VE.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Sm(c, a), UE); + }; + VE.prototype.__destroy__ = function () { + Tm(this.kB); + }; + function WE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = void 0 === a ? Um() : void 0 === c ? Vm(a) : Wm(a, c); + h(WE)[this.kB] = this; + } + WE.prototype = Object.create(jE.prototype); + WE.prototype.constructor = WE; + WE.prototype.lB = WE; + WE.mB = {}; + b.btTriangleMesh = WE; + WE.prototype.addTriangle = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + void 0 === e ? Xm(g, a, c, d) : Ym(g, a, c, d, e); + }; + WE.prototype.findOrAddVertex = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return Zm(d, a, c); + }; + WE.prototype.addIndex = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $m(c, a); + }; + WE.prototype.getIndexedMeshArray = function () { + return k(an(this.kB), VE); + }; + WE.prototype.setScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + bn(c, a); + }; + WE.prototype.__destroy__ = function () { + cn(this.kB); + }; + function XE() { + this.kB = dn(); + h(XE)[this.kB] = this; + } + XE.prototype = Object.create(ZD.prototype); + XE.prototype.constructor = XE; + XE.prototype.lB = XE; + XE.mB = {}; + b.btEmptyShape = XE; + XE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + en(c, a); + }; + XE.prototype.getLocalScaling = function () { + return k(fn(this.kB), m); + }; + XE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + gn(d, a, c); + }; + XE.prototype.__destroy__ = function () { + hn(this.kB); + }; + function YE(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = jn(a, c); + h(YE)[this.kB] = this; + } + YE.prototype = Object.create(ZD.prototype); + YE.prototype.constructor = YE; + YE.prototype.lB = YE; + YE.mB = {}; + b.btStaticPlaneShape = YE; + YE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kn(c, a); + }; + YE.prototype.getLocalScaling = function () { + return k(ln(this.kB), m); + }; + YE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + mn(d, a, c); + }; + YE.prototype.__destroy__ = function () { + nn(this.kB); + }; + function ZE(a, c, d) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + this.kB = void 0 === d ? on(a, c) : pn(a, c, d); + h(ZE)[this.kB] = this; + } + ZE.prototype = Object.create(kE.prototype); + ZE.prototype.constructor = ZE; + ZE.prototype.lB = ZE; + ZE.mB = {}; + b.btBvhTriangleMeshShape = ZE; + ZE.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + qn(c, a); + }; + ZE.prototype.getLocalScaling = function () { + return k(rn(this.kB), m); + }; + ZE.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + sn(d, a, c); + }; + ZE.prototype.__destroy__ = function () { + tn(this.kB); + }; + function $E(a, c, d, e, g, n, z, T, Da) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + n && "object" === typeof n && (n = n.kB); + z && "object" === typeof z && (z = z.kB); + T && "object" === typeof T && (T = T.kB); + Da && "object" === typeof Da && (Da = Da.kB); + this.kB = un(a, c, d, e, g, n, z, T, Da); + h($E)[this.kB] = this; + } + $E.prototype = Object.create(ZD.prototype); + $E.prototype.constructor = $E; + $E.prototype.lB = $E; + $E.mB = {}; + b.btHeightfieldTerrainShape = $E; + $E.prototype.setMargin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vn(c, a); + }; + $E.prototype.getMargin = function () { + return wn(this.kB); + }; + $E.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xn(c, a); + }; + $E.prototype.getLocalScaling = function () { + return k(yn(this.kB), m); + }; + $E.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + zn(d, a, c); + }; + $E.prototype.__destroy__ = function () { + An(this.kB); + }; + function aF(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = Bn(a, c, d, e); + h(aF)[this.kB] = this; + } + aF.prototype = Object.create(f.prototype); + aF.prototype.constructor = aF; + aF.prototype.lB = aF; + aF.mB = {}; + b.btAABB = aF; + aF.prototype.invalidate = function () { + Cn(this.kB); + }; + aF.prototype.increment_margin = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dn(c, a); + }; + aF.prototype.copy_with_margin = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + En(d, a, c); + }; + aF.prototype.__destroy__ = function () { + Fn(this.kB); + }; + function bF() { + this.kB = Gn(); + h(bF)[this.kB] = this; + } + bF.prototype = Object.create(f.prototype); + bF.prototype.constructor = bF; + bF.prototype.lB = bF; + bF.mB = {}; + b.btPrimitiveTriangle = bF; + bF.prototype.__destroy__ = function () { + Hn(this.kB); + }; + function cF(a, c, d) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + this.kB = In(a, c, d); + h(cF)[this.kB] = this; + } + cF.prototype = Object.create(f.prototype); + cF.prototype.constructor = cF; + cF.prototype.lB = cF; + cF.mB = {}; + b.btTriangleShapeEx = cF; + cF.prototype.getAabb = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Jn(e, a, c, d); + }; + cF.prototype.applyTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kn(c, a); + }; + cF.prototype.buildTriPlane = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ln(c, a); + }; + cF.prototype.__destroy__ = function () { + Mn(this.kB); + }; + function dF() { + this.kB = Nn(); + h(dF)[this.kB] = this; + } + dF.prototype = Object.create(f.prototype); + dF.prototype.constructor = dF; + dF.prototype.lB = dF; + dF.mB = {}; + b.btTetrahedronShapeEx = dF; + dF.prototype.setVertices = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + On(g, a, c, d, e); + }; + dF.prototype.__destroy__ = function () { + Pn(this.kB); + }; + function eF() { + throw "cannot construct a CompoundPrimitiveManager, no constructor in IDL"; + } + eF.prototype = Object.create(lE.prototype); + eF.prototype.constructor = eF; + eF.prototype.lB = eF; + eF.mB = {}; + b.CompoundPrimitiveManager = eF; + eF.prototype.get_primitive_count = function () { + return Qn(this.kB); + }; + eF.prototype.get_primitive_box = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Rn(d, a, c); + }; + eF.prototype.get_primitive_triangle = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Sn(d, a, c); + }; + eF.prototype.is_trimesh = function () { + return !!Tn(this.kB); + }; + eF.prototype.get_m_compoundShape = eF.prototype.VC = function () { + return k(Un(this.kB), H); + }; + eF.prototype.set_m_compoundShape = eF.prototype.MF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vn(c, a); + }; + Object.defineProperty(eF.prototype, "m_compoundShape", { + get: eF.prototype.VC, + set: eF.prototype.MF, + }); + eF.prototype.__destroy__ = function () { + Wn(this.kB); + }; + function H(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = void 0 === a ? Xn() : Yn(a); + h(H)[this.kB] = this; + } + H.prototype = Object.create(w.prototype); + H.prototype.constructor = H; + H.prototype.lB = H; + H.mB = {}; + b.btGImpactCompoundShape = H; + H.prototype.childrenHasTransform = function () { + return !!Zn(this.kB); + }; + H.prototype.getPrimitiveManager = function () { + return k($n(this.kB), lE); + }; + H.prototype.getCompoundPrimitiveManager = function () { + return k(ao(this.kB), eF); + }; + H.prototype.getNumChildShapes = function () { + return bo(this.kB); + }; + H.prototype.addChildShape = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + co(d, a, c); + }; + H.prototype.getChildShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(eo(c, a), l); + }; + H.prototype.getChildAabb = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + fo(g, a, c, d, e); + }; + H.prototype.getChildTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(go(c, a), r); + }; + H.prototype.setChildTransform = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + ho(d, a, c); + }; + H.prototype.calculateLocalInertia = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + io(d, a, c); + }; + H.prototype.getName = function () { + return sa(jo(this.kB)); + }; + H.prototype.getGImpactShapeType = function () { + return ko(this.kB); + }; + H.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + lo(c, a); + }; + H.prototype.getLocalScaling = function () { + return k(mo(this.kB), m); + }; + H.prototype.updateBound = function () { + no(this.kB); + }; + H.prototype.postUpdate = function () { + oo(this.kB); + }; + H.prototype.getShapeType = function () { + return po(this.kB); + }; + H.prototype.needsRetrieveTriangles = function () { + return !!qo(this.kB); + }; + H.prototype.needsRetrieveTetrahedrons = function () { + return !!ro(this.kB); + }; + H.prototype.getBulletTriangle = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + so(d, a, c); + }; + H.prototype.getBulletTetrahedron = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + to(d, a, c); + }; + H.prototype.__destroy__ = function () { + uo(this.kB); + }; + function I(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = void 0 === a ? vo() : wo(a); + h(I)[this.kB] = this; + } + I.prototype = Object.create(lE.prototype); + I.prototype.constructor = I; + I.prototype.lB = I; + I.mB = {}; + b.TrimeshPrimitiveManager = I; + I.prototype.lock = I.prototype.lock = function () { + xo(this.kB); + }; + I.prototype.unlock = I.prototype.unlock = function () { + yo(this.kB); + }; + I.prototype.is_trimesh = function () { + return !!zo(this.kB); + }; + I.prototype.get_vertex_count = function () { + return Ao(this.kB); + }; + I.prototype.get_indices = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + Bo(g, a, c, d, e); + }; + I.prototype.get_vertex = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Co(d, a, c); + }; + I.prototype.get_bullet_triangle = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Do(d, a, c); + }; + I.prototype.get_m_margin = I.prototype.LD = function () { + return Eo(this.kB); + }; + I.prototype.set_m_margin = I.prototype.CG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Fo(c, a); + }; + Object.defineProperty(I.prototype, "m_margin", { + get: I.prototype.LD, + set: I.prototype.CG, + }); + I.prototype.get_m_meshInterface = I.prototype.OD = function () { + return k(Go(this.kB), jE); + }; + I.prototype.set_m_meshInterface = I.prototype.FG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ho(c, a); + }; + Object.defineProperty(I.prototype, "m_meshInterface", { + get: I.prototype.OD, + set: I.prototype.FG, + }); + I.prototype.get_m_part = I.prototype.VD = function () { + return Io(this.kB); + }; + I.prototype.set_m_part = I.prototype.MG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jo(c, a); + }; + Object.defineProperty(I.prototype, "m_part", { + get: I.prototype.VD, + set: I.prototype.MG, + }); + I.prototype.get_m_lock_count = I.prototype.JD = function () { + return Ko(this.kB); + }; + I.prototype.set_m_lock_count = I.prototype.AG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lo(c, a); + }; + Object.defineProperty(I.prototype, "m_lock_count", { + get: I.prototype.JD, + set: I.prototype.AG, + }); + I.prototype.get_numverts = I.prototype.LE = function () { + return Mo(this.kB); + }; + I.prototype.set_numverts = I.prototype.DH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + No(c, a); + }; + Object.defineProperty(I.prototype, "numverts", { + get: I.prototype.LE, + set: I.prototype.DH, + }); + I.prototype.get_type = I.prototype.PE = function () { + return Oo(this.kB); + }; + I.prototype.set_type = I.prototype.HH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Po(c, a); + }; + Object.defineProperty(I.prototype, "type", { + get: I.prototype.PE, + set: I.prototype.HH, + }); + I.prototype.get_stride = I.prototype.NE = function () { + return Qo(this.kB); + }; + I.prototype.set_stride = I.prototype.FH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ro(c, a); + }; + Object.defineProperty(I.prototype, "stride", { + get: I.prototype.NE, + set: I.prototype.FH, + }); + I.prototype.get_indexstride = I.prototype.gC = function () { + return So(this.kB); + }; + I.prototype.set_indexstride = I.prototype.YE = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + To(c, a); + }; + Object.defineProperty(I.prototype, "indexstride", { + get: I.prototype.gC, + set: I.prototype.YE, + }); + I.prototype.get_numfaces = I.prototype.KE = function () { + return Uo(this.kB); + }; + I.prototype.set_numfaces = I.prototype.CH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vo(c, a); + }; + Object.defineProperty(I.prototype, "numfaces", { + get: I.prototype.KE, + set: I.prototype.CH, + }); + I.prototype.get_indicestype = I.prototype.hC = function () { + return Wo(this.kB); + }; + I.prototype.set_indicestype = I.prototype.ZE = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Xo(c, a); + }; + Object.defineProperty(I.prototype, "indicestype", { + get: I.prototype.hC, + set: I.prototype.ZE, + }); + I.prototype.__destroy__ = function () { + Yo(this.kB); + }; + function fF(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = Zo(a, c); + h(fF)[this.kB] = this; + } + fF.prototype = Object.create(w.prototype); + fF.prototype.constructor = fF; + fF.prototype.lB = fF; + fF.mB = {}; + b.btGImpactMeshShapePart = fF; + fF.prototype.getTrimeshPrimitiveManager = function () { + return k($o(this.kB), I); + }; + fF.prototype.getVertexCount = function () { + return ap(this.kB); + }; + fF.prototype.getVertex = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + bp(d, a, c); + }; + fF.prototype.getPart = function () { + return cp(this.kB); + }; + fF.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + dp(c, a); + }; + fF.prototype.getLocalScaling = function () { + return k(ep(this.kB), m); + }; + fF.prototype.updateBound = function () { + fp(this.kB); + }; + fF.prototype.postUpdate = function () { + gp(this.kB); + }; + fF.prototype.getShapeType = function () { + return hp(this.kB); + }; + fF.prototype.needsRetrieveTriangles = function () { + return !!ip(this.kB); + }; + fF.prototype.needsRetrieveTetrahedrons = function () { + return !!jp(this.kB); + }; + fF.prototype.getBulletTriangle = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + kp(d, a, c); + }; + fF.prototype.getBulletTetrahedron = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + lp(d, a, c); + }; + fF.prototype.__destroy__ = function () { + mp(this.kB); + }; + function gF(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = np(a); + h(gF)[this.kB] = this; + } + gF.prototype = Object.create(w.prototype); + gF.prototype.constructor = gF; + gF.prototype.lB = gF; + gF.mB = {}; + b.btGImpactMeshShape = gF; + gF.prototype.getMeshInterface = function () { + return k(op(this.kB), jE); + }; + gF.prototype.getMeshPartCount = function () { + return pp(this.kB); + }; + gF.prototype.getMeshPart = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(qp(c, a), fF); + }; + gF.prototype.calculateSerializeBufferSize = function () { + return rp(this.kB); + }; + gF.prototype.setLocalScaling = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + sp(c, a); + }; + gF.prototype.getLocalScaling = function () { + return k(tp(this.kB), m); + }; + gF.prototype.updateBound = function () { + up(this.kB); + }; + gF.prototype.postUpdate = function () { + vp(this.kB); + }; + gF.prototype.getShapeType = function () { + return wp(this.kB); + }; + gF.prototype.needsRetrieveTriangles = function () { + return !!xp(this.kB); + }; + gF.prototype.needsRetrieveTetrahedrons = function () { + return !!yp(this.kB); + }; + gF.prototype.getBulletTriangle = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + zp(d, a, c); + }; + gF.prototype.getBulletTetrahedron = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Ap(d, a, c); + }; + gF.prototype.__destroy__ = function () { + Bp(this.kB); + }; + function hF(a, c) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + this.kB = + void 0 === a + ? Cp() + : void 0 === c + ? _emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_1( + a, + ) + : Dp(a, c); + h(hF)[this.kB] = this; + } + hF.prototype = Object.create(f.prototype); + hF.prototype.constructor = hF; + hF.prototype.lB = hF; + hF.mB = {}; + b.btCollisionAlgorithmConstructionInfo = hF; + hF.prototype.get_m_dispatcher1 = hF.prototype.eD = function () { + return k(Ep(this.kB), TD); + }; + hF.prototype.set_m_dispatcher1 = hF.prototype.WF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Fp(c, a); + }; + Object.defineProperty(hF.prototype, "m_dispatcher1", { + get: hF.prototype.eD, + set: hF.prototype.WF, + }); + hF.prototype.get_m_manifold = hF.prototype.KD = function () { + return k(Gp(this.kB), oE); + }; + hF.prototype.set_m_manifold = hF.prototype.BG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Hp(c, a); + }; + Object.defineProperty(hF.prototype, "m_manifold", { + get: hF.prototype.KD, + set: hF.prototype.BG, + }); + hF.prototype.__destroy__ = function () { + Ip(this.kB); + }; + function iF(a, c, d) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + this.kB = Jp(a, c, d); + h(iF)[this.kB] = this; + } + iF.prototype = Object.create(mE.prototype); + iF.prototype.constructor = iF; + iF.prototype.lB = iF; + iF.mB = {}; + b.btGImpactCollisionAlgorithm = iF; + iF.prototype.registerAlgorithm = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kp(c, a); + }; + iF.prototype.__destroy__ = function () { + Lp(this.kB); + }; + function jF() { + this.kB = Mp(); + h(jF)[this.kB] = this; + } + jF.prototype = Object.create(f.prototype); + jF.prototype.constructor = jF; + jF.prototype.lB = jF; + jF.mB = {}; + b.btDefaultCollisionConstructionInfo = jF; + jF.prototype.__destroy__ = function () { + Np(this.kB); + }; + function oE() { + this.kB = Op(); + h(oE)[this.kB] = this; + } + oE.prototype = Object.create(f.prototype); + oE.prototype.constructor = oE; + oE.prototype.lB = oE; + oE.mB = {}; + b.btPersistentManifold = oE; + oE.prototype.getBody0 = function () { + return k(Pp(this.kB), q); + }; + oE.prototype.getBody1 = function () { + return k(Qp(this.kB), q); + }; + oE.prototype.getNumContacts = function () { + return Rp(this.kB); + }; + oE.prototype.getContactPoint = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Sp(c, a), E); + }; + oE.prototype.__destroy__ = function () { + Tp(this.kB); + }; + function kF(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = Up(a); + h(kF)[this.kB] = this; + } + kF.prototype = Object.create(TD.prototype); + kF.prototype.constructor = kF; + kF.prototype.lB = kF; + kF.mB = {}; + b.btCollisionDispatcher = kF; + kF.prototype.getNumManifolds = function () { + return Vp(this.kB); + }; + kF.prototype.getManifoldByIndexInternal = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Wp(c, a), oE); + }; + kF.prototype.__destroy__ = function () { + Xp(this.kB); + }; + function lF() { + throw "cannot construct a btOverlappingPairCallback, no constructor in IDL"; + } + lF.prototype = Object.create(f.prototype); + lF.prototype.constructor = lF; + lF.prototype.lB = lF; + lF.mB = {}; + b.btOverlappingPairCallback = lF; + lF.prototype.__destroy__ = function () { + Yp(this.kB); + }; + function UD() { + throw "cannot construct a btOverlappingPairCache, no constructor in IDL"; + } + UD.prototype = Object.create(f.prototype); + UD.prototype.constructor = UD; + UD.prototype.lB = UD; + UD.mB = {}; + b.btOverlappingPairCache = UD; + UD.prototype.setInternalGhostPairCallback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zp(c, a); + }; + UD.prototype.getNumOverlappingPairs = function () { + return $p(this.kB); + }; + UD.prototype.__destroy__ = function () { + aq(this.kB); + }; + function mF(a, c, d, e, g) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + this.kB = + void 0 === d + ? bq(a, c) + : void 0 === e + ? cq(a, c, d) + : void 0 === g + ? dq(a, c, d, e) + : eq(a, c, d, e, g); + h(mF)[this.kB] = this; + } + mF.prototype = Object.create(f.prototype); + mF.prototype.constructor = mF; + mF.prototype.lB = mF; + mF.mB = {}; + b.btAxisSweep3 = mF; + mF.prototype.__destroy__ = function () { + fq(this.kB); + }; + function VD() { + throw "cannot construct a btBroadphaseInterface, no constructor in IDL"; + } + VD.prototype = Object.create(f.prototype); + VD.prototype.constructor = VD; + VD.prototype.lB = VD; + VD.mB = {}; + b.btBroadphaseInterface = VD; + VD.prototype.getOverlappingPairCache = function () { + return k(gq(this.kB), UD); + }; + VD.prototype.__destroy__ = function () { + hq(this.kB); + }; + function nF() { + throw "cannot construct a btCollisionConfiguration, no constructor in IDL"; + } + nF.prototype = Object.create(f.prototype); + nF.prototype.constructor = nF; + nF.prototype.lB = nF; + nF.mB = {}; + b.btCollisionConfiguration = nF; + nF.prototype.__destroy__ = function () { + iq(this.kB); + }; + function oF() { + this.kB = jq(); + h(oF)[this.kB] = this; + } + oF.prototype = Object.create(f.prototype); + oF.prototype.constructor = oF; + oF.prototype.lB = oF; + oF.mB = {}; + b.btDbvtBroadphase = oF; + oF.prototype.__destroy__ = function () { + kq(this.kB); + }; + function YD() { + throw "cannot construct a btBroadphaseProxy, no constructor in IDL"; + } + YD.prototype = Object.create(f.prototype); + YD.prototype.constructor = YD; + YD.prototype.lB = YD; + YD.mB = {}; + b.btBroadphaseProxy = YD; + YD.prototype.get_m_collisionFilterGroup = YD.prototype.nB = function () { + return lq(this.kB); + }; + YD.prototype.set_m_collisionFilterGroup = YD.prototype.pB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + mq(c, a); + }; + Object.defineProperty(YD.prototype, "m_collisionFilterGroup", { + get: YD.prototype.nB, + set: YD.prototype.pB, + }); + YD.prototype.get_m_collisionFilterMask = YD.prototype.oB = function () { + return nq(this.kB); + }; + YD.prototype.set_m_collisionFilterMask = YD.prototype.qB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + oq(c, a); + }; + Object.defineProperty(YD.prototype, "m_collisionFilterMask", { + get: YD.prototype.oB, + set: YD.prototype.qB, + }); + YD.prototype.__destroy__ = function () { + pq(this.kB); + }; + function J(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = void 0 === e ? qq(a, c, d) : rq(a, c, d, e); + h(J)[this.kB] = this; + } + J.prototype = Object.create(f.prototype); + J.prototype.constructor = J; + J.prototype.lB = J; + J.mB = {}; + b.btRigidBodyConstructionInfo = J; + J.prototype.get_m_linearDamping = J.prototype.DD = function () { + return sq(this.kB); + }; + J.prototype.set_m_linearDamping = J.prototype.uG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + tq(c, a); + }; + Object.defineProperty(J.prototype, "m_linearDamping", { + get: J.prototype.DD, + set: J.prototype.uG, + }); + J.prototype.get_m_angularDamping = J.prototype.HC = function () { + return uq(this.kB); + }; + J.prototype.set_m_angularDamping = J.prototype.yF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vq(c, a); + }; + Object.defineProperty(J.prototype, "m_angularDamping", { + get: J.prototype.HC, + set: J.prototype.yF, + }); + J.prototype.get_m_friction = J.prototype.kD = function () { + return wq(this.kB); + }; + J.prototype.set_m_friction = J.prototype.bG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xq(c, a); + }; + Object.defineProperty(J.prototype, "m_friction", { + get: J.prototype.kD, + set: J.prototype.bG, + }); + J.prototype.get_m_rollingFriction = J.prototype.dE = function () { + return yq(this.kB); + }; + J.prototype.set_m_rollingFriction = J.prototype.WG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zq(c, a); + }; + Object.defineProperty(J.prototype, "m_rollingFriction", { + get: J.prototype.dE, + set: J.prototype.WG, + }); + J.prototype.get_m_restitution = J.prototype.bE = function () { + return Aq(this.kB); + }; + J.prototype.set_m_restitution = J.prototype.UG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Bq(c, a); + }; + Object.defineProperty(J.prototype, "m_restitution", { + get: J.prototype.bE, + set: J.prototype.UG, + }); + J.prototype.get_m_linearSleepingThreshold = J.prototype.ED = function () { + return Cq(this.kB); + }; + J.prototype.set_m_linearSleepingThreshold = J.prototype.vG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dq(c, a); + }; + Object.defineProperty(J.prototype, "m_linearSleepingThreshold", { + get: J.prototype.ED, + set: J.prototype.vG, + }); + J.prototype.get_m_angularSleepingThreshold = J.prototype.IC = function () { + return Eq(this.kB); + }; + J.prototype.set_m_angularSleepingThreshold = J.prototype.zF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Fq(c, a); + }; + Object.defineProperty(J.prototype, "m_angularSleepingThreshold", { + get: J.prototype.IC, + set: J.prototype.zF, + }); + J.prototype.get_m_additionalDamping = J.prototype.CC = function () { + return !!Gq(this.kB); + }; + J.prototype.set_m_additionalDamping = J.prototype.tF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Hq(c, a); + }; + Object.defineProperty(J.prototype, "m_additionalDamping", { + get: J.prototype.CC, + set: J.prototype.tF, + }); + J.prototype.get_m_additionalDampingFactor = J.prototype.DC = function () { + return Iq(this.kB); + }; + J.prototype.set_m_additionalDampingFactor = J.prototype.uF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jq(c, a); + }; + Object.defineProperty(J.prototype, "m_additionalDampingFactor", { + get: J.prototype.DC, + set: J.prototype.uF, + }); + J.prototype.get_m_additionalLinearDampingThresholdSqr = J.prototype.EC = + function () { + return Kq(this.kB); + }; + J.prototype.set_m_additionalLinearDampingThresholdSqr = J.prototype.vF = + function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lq(c, a); + }; + Object.defineProperty( + J.prototype, + "m_additionalLinearDampingThresholdSqr", + { get: J.prototype.EC, set: J.prototype.vF }, + ); + J.prototype.get_m_additionalAngularDampingThresholdSqr = J.prototype.BC = + function () { + return Mq(this.kB); + }; + J.prototype.set_m_additionalAngularDampingThresholdSqr = J.prototype.sF = + function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nq(c, a); + }; + Object.defineProperty( + J.prototype, + "m_additionalAngularDampingThresholdSqr", + { get: J.prototype.BC, set: J.prototype.sF }, + ); + J.prototype.get_m_additionalAngularDampingFactor = J.prototype.AC = + function () { + return Oq(this.kB); + }; + J.prototype.set_m_additionalAngularDampingFactor = J.prototype.rF = + function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pq(c, a); + }; + Object.defineProperty(J.prototype, "m_additionalAngularDampingFactor", { + get: J.prototype.AC, + set: J.prototype.rF, + }); + J.prototype.__destroy__ = function () { + Qq(this.kB); + }; + function K(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = Rq(a); + h(K)[this.kB] = this; + } + K.prototype = Object.create(q.prototype); + K.prototype.constructor = K; + K.prototype.lB = K; + K.mB = {}; + b.btRigidBody = K; + K.prototype.getCenterOfMassTransform = function () { + return k(Sq(this.kB), r); + }; + K.prototype.setCenterOfMassTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Tq(c, a); + }; + K.prototype.setSleepingThresholds = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Uq(d, a, c); + }; + K.prototype.getLinearDamping = function () { + return Vq(this.kB); + }; + K.prototype.getAngularDamping = function () { + return Wq(this.kB); + }; + K.prototype.setDamping = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Xq(d, a, c); + }; + K.prototype.setMassProps = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Yq(d, a, c); + }; + K.prototype.getLinearFactor = function () { + return k(Zq(this.kB), m); + }; + K.prototype.setLinearFactor = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $q(c, a); + }; + K.prototype.applyTorque = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ar(c, a); + }; + K.prototype.applyLocalTorque = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + br(c, a); + }; + K.prototype.applyForce = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + cr(d, a, c); + }; + K.prototype.applyCentralForce = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + dr(c, a); + }; + K.prototype.applyCentralLocalForce = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + er(c, a); + }; + K.prototype.applyTorqueImpulse = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fr(c, a); + }; + K.prototype.applyImpulse = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + gr(d, a, c); + }; + K.prototype.applyCentralImpulse = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hr(c, a); + }; + K.prototype.updateInertiaTensor = function () { + ir(this.kB); + }; + K.prototype.getLinearVelocity = function () { + return k(jr(this.kB), m); + }; + K.prototype.getAngularVelocity = function () { + return k(kr(this.kB), m); + }; + K.prototype.setLinearVelocity = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + lr(c, a); + }; + K.prototype.setAngularVelocity = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + mr(c, a); + }; + K.prototype.getMotionState = function () { + return k(nr(this.kB), dE); + }; + K.prototype.setMotionState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + or(c, a); + }; + K.prototype.getAngularFactor = function () { + return k(pr(this.kB), m); + }; + K.prototype.setAngularFactor = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + qr(c, a); + }; + K.prototype.upcast = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(rr(c, a), K); + }; + K.prototype.getAabb = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + sr(d, a, c); + }; + K.prototype.applyGravity = function () { + tr(this.kB); + }; + K.prototype.getGravity = function () { + return k(ur(this.kB), m); + }; + K.prototype.setGravity = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vr(c, a); + }; + K.prototype.getBroadphaseProxy = function () { + return k(wr(this.kB), YD); + }; + K.prototype.clearForces = function () { + xr(this.kB); + }; + K.prototype.setFlags = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yr(c, a); + }; + K.prototype.getFlags = function () { + return zr(this.kB); + }; + K.prototype.setAnisotropicFriction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Ar(d, a, c); + }; + K.prototype.getCollisionShape = function () { + return k(Br(this.kB), l); + }; + K.prototype.setContactProcessingThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Cr(c, a); + }; + K.prototype.setActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dr(c, a); + }; + K.prototype.forceActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Er(c, a); + }; + K.prototype.activate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + void 0 === a ? Fr(c) : Gr(c, a); + }; + K.prototype.isActive = function () { + return !!Hr(this.kB); + }; + K.prototype.isKinematicObject = function () { + return !!Ir(this.kB); + }; + K.prototype.isStaticObject = function () { + return !!Jr(this.kB); + }; + K.prototype.isStaticOrKinematicObject = function () { + return !!Kr(this.kB); + }; + K.prototype.getRestitution = function () { + return Lr(this.kB); + }; + K.prototype.getFriction = function () { + return Mr(this.kB); + }; + K.prototype.getRollingFriction = function () { + return Nr(this.kB); + }; + K.prototype.setRestitution = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Or(c, a); + }; + K.prototype.setFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pr(c, a); + }; + K.prototype.setRollingFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qr(c, a); + }; + K.prototype.getWorldTransform = function () { + return k(Rr(this.kB), r); + }; + K.prototype.getCollisionFlags = function () { + return Sr(this.kB); + }; + K.prototype.setCollisionFlags = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Tr(c, a); + }; + K.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ur(c, a); + }; + K.prototype.setCollisionShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vr(c, a); + }; + K.prototype.setCcdMotionThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Wr(c, a); + }; + K.prototype.setCcdSweptSphereRadius = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Xr(c, a); + }; + K.prototype.getUserIndex = function () { + return Yr(this.kB); + }; + K.prototype.setUserIndex = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zr(c, a); + }; + K.prototype.getUserPointer = function () { + return k($r(this.kB), XD); + }; + K.prototype.setUserPointer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + as(c, a); + }; + K.prototype.getBroadphaseHandle = function () { + return k(bs(this.kB), YD); + }; + K.prototype.__destroy__ = function () { + cs(this.kB); + }; + function L() { + this.kB = ds(); + h(L)[this.kB] = this; + } + L.prototype = Object.create(f.prototype); + L.prototype.constructor = L; + L.prototype.lB = L; + L.mB = {}; + b.btConstraintSetting = L; + L.prototype.get_m_tau = L.prototype.sE = function () { + return es(this.kB); + }; + L.prototype.set_m_tau = L.prototype.kH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + gs(c, a); + }; + Object.defineProperty(L.prototype, "m_tau", { + get: L.prototype.sE, + set: L.prototype.kH, + }); + L.prototype.get_m_damping = L.prototype.aD = function () { + return hs(this.kB); + }; + L.prototype.set_m_damping = L.prototype.SF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + is(c, a); + }; + Object.defineProperty(L.prototype, "m_damping", { + get: L.prototype.aD, + set: L.prototype.SF, + }); + L.prototype.get_m_impulseClamp = L.prototype.wD = function () { + return js(this.kB); + }; + L.prototype.set_m_impulseClamp = L.prototype.nG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ks(c, a); + }; + Object.defineProperty(L.prototype, "m_impulseClamp", { + get: L.prototype.wD, + set: L.prototype.nG, + }); + L.prototype.__destroy__ = function () { + ls(this.kB); + }; + function pF(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = + void 0 === d + ? ms(a, c) + : void 0 === e + ? _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3( + a, + c, + d, + ) + : ns(a, c, d, e); + h(pF)[this.kB] = this; + } + pF.prototype = Object.create(aE.prototype); + pF.prototype.constructor = pF; + pF.prototype.lB = pF; + pF.mB = {}; + b.btPoint2PointConstraint = pF; + pF.prototype.setPivotA = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ps(c, a); + }; + pF.prototype.setPivotB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + qs(c, a); + }; + pF.prototype.getPivotInA = function () { + return k(rs(this.kB), m); + }; + pF.prototype.getPivotInB = function () { + return k(ss(this.kB), m); + }; + pF.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ts(c, a); + }; + pF.prototype.getBreakingImpulseThreshold = function () { + return us(this.kB); + }; + pF.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vs(c, a); + }; + pF.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return xs(d, a, c); + }; + pF.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + ys(e, a, c, d); + }; + pF.prototype.get_m_setting = pF.prototype.fE = function () { + return k(zs(this.kB), L); + }; + pF.prototype.set_m_setting = pF.prototype.YG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + As(c, a); + }; + Object.defineProperty(pF.prototype, "m_setting", { + get: pF.prototype.fE, + set: pF.prototype.YG, + }); + pF.prototype.__destroy__ = function () { + Bs(this.kB); + }; + function qF(a, c, d, e, g) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + this.kB = + void 0 === e + ? Cs(a, c, d) + : void 0 === g + ? _emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4( + a, + c, + d, + e, + ) + : Ds(a, c, d, e, g); + h(qF)[this.kB] = this; + } + qF.prototype = Object.create(pE.prototype); + qF.prototype.constructor = qF; + qF.prototype.lB = qF; + qF.mB = {}; + b.btGeneric6DofSpringConstraint = qF; + qF.prototype.enableSpring = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Es(d, a, c); + }; + qF.prototype.setStiffness = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Fs(d, a, c); + }; + qF.prototype.setDamping = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Gs(d, a, c); + }; + qF.prototype.setEquilibriumPoint = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + void 0 === a ? Hs(d) : void 0 === c ? Is(d, a) : Js(d, a, c); + }; + qF.prototype.setLinearLowerLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ks(c, a); + }; + qF.prototype.setLinearUpperLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ls(c, a); + }; + qF.prototype.setAngularLowerLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ms(c, a); + }; + qF.prototype.setAngularUpperLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ns(c, a); + }; + qF.prototype.getFrameOffsetA = function () { + return k(Os(this.kB), r); + }; + qF.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ps(c, a); + }; + qF.prototype.getBreakingImpulseThreshold = function () { + return Qs(this.kB); + }; + qF.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Rs(c, a); + }; + qF.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return Ss(d, a, c); + }; + qF.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Ts(e, a, c, d); + }; + qF.prototype.__destroy__ = function () { + Us(this.kB); + }; + function rF() { + this.kB = Vs(); + h(rF)[this.kB] = this; + } + rF.prototype = Object.create(f.prototype); + rF.prototype.constructor = rF; + rF.prototype.lB = rF; + rF.mB = {}; + b.btSequentialImpulseConstraintSolver = rF; + rF.prototype.__destroy__ = function () { + Ws(this.kB); + }; + function sF(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = + void 0 === d + ? Xs(a, c) + : void 0 === e + ? _emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3( + a, + c, + d, + ) + : Ys(a, c, d, e); + h(sF)[this.kB] = this; + } + sF.prototype = Object.create(aE.prototype); + sF.prototype.constructor = sF; + sF.prototype.lB = sF; + sF.mB = {}; + b.btConeTwistConstraint = sF; + sF.prototype.setLimit = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Zs(d, a, c); + }; + sF.prototype.setAngularOnly = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $s(c, a); + }; + sF.prototype.setDamping = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + at(c, a); + }; + sF.prototype.enableMotor = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + bt(c, a); + }; + sF.prototype.setMaxMotorImpulse = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ct(c, a); + }; + sF.prototype.setMaxMotorImpulseNormalized = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + dt(c, a); + }; + sF.prototype.setMotorTarget = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + et(c, a); + }; + sF.prototype.setMotorTargetInConstraintSpace = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ft(c, a); + }; + sF.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + gt(c, a); + }; + sF.prototype.getBreakingImpulseThreshold = function () { + return ht(this.kB); + }; + sF.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + it(c, a); + }; + sF.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return jt(d, a, c); + }; + sF.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + kt(e, a, c, d); + }; + sF.prototype.__destroy__ = function () { + lt(this.kB); + }; + function tF(a, c, d, e, g, n, z) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + n && "object" === typeof n && (n = n.kB); + z && "object" === typeof z && (z = z.kB); + this.kB = + void 0 === d + ? mt(a, c) + : void 0 === e + ? nt(a, c, d) + : void 0 === g + ? ot(a, c, d, e) + : void 0 === n + ? pt(a, c, d, e, g) + : void 0 === z + ? qt(a, c, d, e, g, n) + : rt(a, c, d, e, g, n, z); + h(tF)[this.kB] = this; + } + tF.prototype = Object.create(aE.prototype); + tF.prototype.constructor = tF; + tF.prototype.lB = tF; + tF.mB = {}; + b.btHingeConstraint = tF; + tF.prototype.getHingeAngle = function () { + return st(this.kB); + }; + tF.prototype.setLimit = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + void 0 === g ? tt(n, a, c, d, e) : ut(n, a, c, d, e, g); + }; + tF.prototype.enableAngularMotor = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + vt(e, a, c, d); + }; + tF.prototype.setAngularOnly = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wt(c, a); + }; + tF.prototype.enableMotor = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xt(c, a); + }; + tF.prototype.setMaxMotorImpulse = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yt(c, a); + }; + tF.prototype.setMotorTarget = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + zt(d, a, c); + }; + tF.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + At(c, a); + }; + tF.prototype.getBreakingImpulseThreshold = function () { + return Bt(this.kB); + }; + tF.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ct(c, a); + }; + tF.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return Dt(d, a, c); + }; + tF.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Et(e, a, c, d); + }; + tF.prototype.__destroy__ = function () { + Ft(this.kB); + }; + function uF(a, c, d, e, g) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + this.kB = + void 0 === e + ? Gt(a, c, d) + : void 0 === g + ? _emscripten_bind_btSliderConstraint_btSliderConstraint_4( + a, + c, + d, + e, + ) + : Ht(a, c, d, e, g); + h(uF)[this.kB] = this; + } + uF.prototype = Object.create(aE.prototype); + uF.prototype.constructor = uF; + uF.prototype.lB = uF; + uF.mB = {}; + b.btSliderConstraint = uF; + uF.prototype.getLinearPos = function () { + return It(this.kB); + }; + uF.prototype.getAngularPos = function () { + return Jt(this.kB); + }; + uF.prototype.setLowerLinLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kt(c, a); + }; + uF.prototype.setUpperLinLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lt(c, a); + }; + uF.prototype.setLowerAngLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Mt(c, a); + }; + uF.prototype.setUpperAngLimit = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nt(c, a); + }; + uF.prototype.setPoweredLinMotor = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ot(c, a); + }; + uF.prototype.setMaxLinMotorForce = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pt(c, a); + }; + uF.prototype.setTargetLinMotorVelocity = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qt(c, a); + }; + uF.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Rt(c, a); + }; + uF.prototype.getBreakingImpulseThreshold = function () { + return St(this.kB); + }; + uF.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Tt(c, a); + }; + uF.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return Ut(d, a, c); + }; + uF.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + Vt(e, a, c, d); + }; + uF.prototype.__destroy__ = function () { + Wt(this.kB); + }; + function vF(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = Xt(a, c, d, e); + h(vF)[this.kB] = this; + } + vF.prototype = Object.create(aE.prototype); + vF.prototype.constructor = vF; + vF.prototype.lB = vF; + vF.mB = {}; + b.btFixedConstraint = vF; + vF.prototype.enableFeedback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Yt(c, a); + }; + vF.prototype.getBreakingImpulseThreshold = function () { + return Zt(this.kB); + }; + vF.prototype.setBreakingImpulseThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $t(c, a); + }; + vF.prototype.getParam = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return au(d, a, c); + }; + vF.prototype.setParam = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + bu(e, a, c, d); + }; + vF.prototype.__destroy__ = function () { + cu(this.kB); + }; + function wF() { + throw "cannot construct a btConstraintSolver, no constructor in IDL"; + } + wF.prototype = Object.create(f.prototype); + wF.prototype.constructor = wF; + wF.prototype.lB = wF; + wF.mB = {}; + b.btConstraintSolver = wF; + wF.prototype.__destroy__ = function () { + du(this.kB); + }; + function p() { + throw "cannot construct a btDispatcherInfo, no constructor in IDL"; + } + p.prototype = Object.create(f.prototype); + p.prototype.constructor = p; + p.prototype.lB = p; + p.mB = {}; + b.btDispatcherInfo = p; + p.prototype.get_m_timeStep = p.prototype.uE = function () { + return eu(this.kB); + }; + p.prototype.set_m_timeStep = p.prototype.mH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fu(c, a); + }; + Object.defineProperty(p.prototype, "m_timeStep", { + get: p.prototype.uE, + set: p.prototype.mH, + }); + p.prototype.get_m_stepCount = p.prototype.lE = function () { + return gu(this.kB); + }; + p.prototype.set_m_stepCount = p.prototype.dH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hu(c, a); + }; + Object.defineProperty(p.prototype, "m_stepCount", { + get: p.prototype.lE, + set: p.prototype.dH, + }); + p.prototype.get_m_dispatchFunc = p.prototype.cD = function () { + return iu(this.kB); + }; + p.prototype.set_m_dispatchFunc = p.prototype.UF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ju(c, a); + }; + Object.defineProperty(p.prototype, "m_dispatchFunc", { + get: p.prototype.cD, + set: p.prototype.UF, + }); + p.prototype.get_m_timeOfImpact = p.prototype.tE = function () { + return ku(this.kB); + }; + p.prototype.set_m_timeOfImpact = p.prototype.lH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + lu(c, a); + }; + Object.defineProperty(p.prototype, "m_timeOfImpact", { + get: p.prototype.tE, + set: p.prototype.lH, + }); + p.prototype.get_m_useContinuous = p.prototype.wE = function () { + return !!mu(this.kB); + }; + p.prototype.set_m_useContinuous = p.prototype.oH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + nu(c, a); + }; + Object.defineProperty(p.prototype, "m_useContinuous", { + get: p.prototype.wE, + set: p.prototype.oH, + }); + p.prototype.get_m_enableSatConvex = p.prototype.hD = function () { + return !!ou(this.kB); + }; + p.prototype.set_m_enableSatConvex = p.prototype.ZF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pu(c, a); + }; + Object.defineProperty(p.prototype, "m_enableSatConvex", { + get: p.prototype.hD, + set: p.prototype.ZF, + }); + p.prototype.get_m_enableSPU = p.prototype.gD = function () { + return !!qu(this.kB); + }; + p.prototype.set_m_enableSPU = p.prototype.YF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ru(c, a); + }; + Object.defineProperty(p.prototype, "m_enableSPU", { + get: p.prototype.gD, + set: p.prototype.YF, + }); + p.prototype.get_m_useEpa = p.prototype.yE = function () { + return !!su(this.kB); + }; + p.prototype.set_m_useEpa = p.prototype.qH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + tu(c, a); + }; + Object.defineProperty(p.prototype, "m_useEpa", { + get: p.prototype.yE, + set: p.prototype.qH, + }); + p.prototype.get_m_allowedCcdPenetration = p.prototype.FC = function () { + return uu(this.kB); + }; + p.prototype.set_m_allowedCcdPenetration = p.prototype.wF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vu(c, a); + }; + Object.defineProperty(p.prototype, "m_allowedCcdPenetration", { + get: p.prototype.FC, + set: p.prototype.wF, + }); + p.prototype.get_m_useConvexConservativeDistanceUtil = p.prototype.xE = + function () { + return !!wu(this.kB); + }; + p.prototype.set_m_useConvexConservativeDistanceUtil = p.prototype.pH = + function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xu(c, a); + }; + Object.defineProperty(p.prototype, "m_useConvexConservativeDistanceUtil", { + get: p.prototype.xE, + set: p.prototype.pH, + }); + p.prototype.get_m_convexConservativeDistanceThreshold = p.prototype.YC = + function () { + return yu(this.kB); + }; + p.prototype.set_m_convexConservativeDistanceThreshold = p.prototype.PF = + function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zu(c, a); + }; + Object.defineProperty( + p.prototype, + "m_convexConservativeDistanceThreshold", + { get: p.prototype.YC, set: p.prototype.PF }, + ); + p.prototype.__destroy__ = function () { + Au(this.kB); + }; + function t() { + throw "cannot construct a btContactSolverInfo, no constructor in IDL"; + } + t.prototype = Object.create(f.prototype); + t.prototype.constructor = t; + t.prototype.lB = t; + t.mB = {}; + b.btContactSolverInfo = t; + t.prototype.get_m_splitImpulse = t.prototype.iE = function () { + return !!Bu(this.kB); + }; + t.prototype.set_m_splitImpulse = t.prototype.aH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Cu(c, a); + }; + Object.defineProperty(t.prototype, "m_splitImpulse", { + get: t.prototype.iE, + set: t.prototype.aH, + }); + t.prototype.get_m_splitImpulsePenetrationThreshold = t.prototype.jE = + function () { + return Du(this.kB); + }; + t.prototype.set_m_splitImpulsePenetrationThreshold = t.prototype.bH = + function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Eu(c, a); + }; + Object.defineProperty(t.prototype, "m_splitImpulsePenetrationThreshold", { + get: t.prototype.jE, + set: t.prototype.bH, + }); + t.prototype.get_m_numIterations = t.prototype.TD = function () { + return Fu(this.kB); + }; + t.prototype.set_m_numIterations = t.prototype.KG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Gu(c, a); + }; + Object.defineProperty(t.prototype, "m_numIterations", { + get: t.prototype.TD, + set: t.prototype.KG, + }); + t.prototype.__destroy__ = function () { + Hu(this.kB); + }; + function M() { + this.kB = Iu(); + h(M)[this.kB] = this; + } + M.prototype = Object.create(f.prototype); + M.prototype.constructor = M; + M.prototype.lB = M; + M.mB = {}; + b.btVehicleTuning = M; + M.prototype.get_m_suspensionStiffness = M.prototype.BB = function () { + return Ju(this.kB); + }; + M.prototype.set_m_suspensionStiffness = M.prototype.IB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ku(c, a); + }; + Object.defineProperty(M.prototype, "m_suspensionStiffness", { + get: M.prototype.BB, + set: M.prototype.IB, + }); + M.prototype.get_m_suspensionCompression = M.prototype.mE = function () { + return Lu(this.kB); + }; + M.prototype.set_m_suspensionCompression = M.prototype.eH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Mu(c, a); + }; + Object.defineProperty(M.prototype, "m_suspensionCompression", { + get: M.prototype.mE, + set: M.prototype.eH, + }); + M.prototype.get_m_suspensionDamping = M.prototype.nE = function () { + return Nu(this.kB); + }; + M.prototype.set_m_suspensionDamping = M.prototype.fH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ou(c, a); + }; + Object.defineProperty(M.prototype, "m_suspensionDamping", { + get: M.prototype.nE, + set: M.prototype.fH, + }); + M.prototype.get_m_maxSuspensionTravelCm = M.prototype.AB = function () { + return Pu(this.kB); + }; + M.prototype.set_m_maxSuspensionTravelCm = M.prototype.HB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qu(c, a); + }; + Object.defineProperty(M.prototype, "m_maxSuspensionTravelCm", { + get: M.prototype.AB, + set: M.prototype.HB, + }); + M.prototype.get_m_frictionSlip = M.prototype.wB = function () { + return Ru(this.kB); + }; + M.prototype.set_m_frictionSlip = M.prototype.DB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Su(c, a); + }; + Object.defineProperty(M.prototype, "m_frictionSlip", { + get: M.prototype.wB, + set: M.prototype.DB, + }); + M.prototype.get_m_maxSuspensionForce = M.prototype.zB = function () { + return Tu(this.kB); + }; + M.prototype.set_m_maxSuspensionForce = M.prototype.GB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Uu(c, a); + }; + Object.defineProperty(M.prototype, "m_maxSuspensionForce", { + get: M.prototype.zB, + set: M.prototype.GB, + }); + function xF() { + throw "cannot construct a btVehicleRaycasterResult, no constructor in IDL"; + } + xF.prototype = Object.create(f.prototype); + xF.prototype.constructor = xF; + xF.prototype.lB = xF; + xF.mB = {}; + b.btVehicleRaycasterResult = xF; + xF.prototype.get_m_hitPointInWorld = xF.prototype.tD = function () { + return k(Vu(this.kB), m); + }; + xF.prototype.set_m_hitPointInWorld = xF.prototype.kG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Wu(c, a); + }; + Object.defineProperty(xF.prototype, "m_hitPointInWorld", { + get: xF.prototype.tD, + set: xF.prototype.kG, + }); + xF.prototype.get_m_hitNormalInWorld = xF.prototype.rD = function () { + return k(Xu(this.kB), m); + }; + xF.prototype.set_m_hitNormalInWorld = xF.prototype.iG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Yu(c, a); + }; + Object.defineProperty(xF.prototype, "m_hitNormalInWorld", { + get: xF.prototype.rD, + set: xF.prototype.iG, + }); + xF.prototype.get_m_distFraction = xF.prototype.fD = function () { + return Zu(this.kB); + }; + xF.prototype.set_m_distFraction = xF.prototype.XF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $u(c, a); + }; + Object.defineProperty(xF.prototype, "m_distFraction", { + get: xF.prototype.fD, + set: xF.prototype.XF, + }); + xF.prototype.__destroy__ = function () { + av(this.kB); + }; + function yF(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = bv(a); + h(yF)[this.kB] = this; + } + yF.prototype = Object.create(qE.prototype); + yF.prototype.constructor = yF; + yF.prototype.lB = yF; + yF.mB = {}; + b.btDefaultVehicleRaycaster = yF; + yF.prototype.castRay = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + cv(e, a, c, d); + }; + yF.prototype.__destroy__ = function () { + dv(this.kB); + }; + function N() { + throw "cannot construct a RaycastInfo, no constructor in IDL"; + } + N.prototype = Object.create(f.prototype); + N.prototype.constructor = N; + N.prototype.lB = N; + N.mB = {}; + b.RaycastInfo = N; + N.prototype.get_m_contactNormalWS = N.prototype.WC = function () { + return k(ev(this.kB), m); + }; + N.prototype.set_m_contactNormalWS = N.prototype.NF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fv(c, a); + }; + Object.defineProperty(N.prototype, "m_contactNormalWS", { + get: N.prototype.WC, + set: N.prototype.NF, + }); + N.prototype.get_m_contactPointWS = N.prototype.XC = function () { + return k(gv(this.kB), m); + }; + N.prototype.set_m_contactPointWS = N.prototype.OF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hv(c, a); + }; + Object.defineProperty(N.prototype, "m_contactPointWS", { + get: N.prototype.XC, + set: N.prototype.OF, + }); + N.prototype.get_m_suspensionLength = N.prototype.oE = function () { + return iv(this.kB); + }; + N.prototype.set_m_suspensionLength = N.prototype.gH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jv(c, a); + }; + Object.defineProperty(N.prototype, "m_suspensionLength", { + get: N.prototype.oE, + set: N.prototype.gH, + }); + N.prototype.get_m_hardPointWS = N.prototype.oD = function () { + return k(kv(this.kB), m); + }; + N.prototype.set_m_hardPointWS = N.prototype.fG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + lv(c, a); + }; + Object.defineProperty(N.prototype, "m_hardPointWS", { + get: N.prototype.oD, + set: N.prototype.fG, + }); + N.prototype.get_m_wheelDirectionWS = N.prototype.DE = function () { + return k(mv(this.kB), m); + }; + N.prototype.set_m_wheelDirectionWS = N.prototype.vH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + nv(c, a); + }; + Object.defineProperty(N.prototype, "m_wheelDirectionWS", { + get: N.prototype.DE, + set: N.prototype.vH, + }); + N.prototype.get_m_wheelAxleWS = N.prototype.CE = function () { + return k(ov(this.kB), m); + }; + N.prototype.set_m_wheelAxleWS = N.prototype.uH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pv(c, a); + }; + Object.defineProperty(N.prototype, "m_wheelAxleWS", { + get: N.prototype.CE, + set: N.prototype.uH, + }); + N.prototype.get_m_isInContact = N.prototype.zD = function () { + return !!qv(this.kB); + }; + N.prototype.set_m_isInContact = N.prototype.qG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + rv(c, a); + }; + Object.defineProperty(N.prototype, "m_isInContact", { + get: N.prototype.zD, + set: N.prototype.qG, + }); + N.prototype.get_m_groundObject = N.prototype.nD = function () { + return sv(this.kB); + }; + N.prototype.set_m_groundObject = N.prototype.eG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + tv(c, a); + }; + Object.defineProperty(N.prototype, "m_groundObject", { + get: N.prototype.nD, + set: N.prototype.eG, + }); + N.prototype.__destroy__ = function () { + uv(this.kB); + }; + function O() { + throw "cannot construct a btWheelInfoConstructionInfo, no constructor in IDL"; + } + O.prototype = Object.create(f.prototype); + O.prototype.constructor = O; + O.prototype.lB = O; + O.mB = {}; + b.btWheelInfoConstructionInfo = O; + O.prototype.get_m_chassisConnectionCS = O.prototype.RC = function () { + return k(vv(this.kB), m); + }; + O.prototype.set_m_chassisConnectionCS = O.prototype.IF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wv(c, a); + }; + Object.defineProperty(O.prototype, "m_chassisConnectionCS", { + get: O.prototype.RC, + set: O.prototype.IF, + }); + O.prototype.get_m_wheelDirectionCS = O.prototype.QB = function () { + return k(xv(this.kB), m); + }; + O.prototype.set_m_wheelDirectionCS = O.prototype.$B = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yv(c, a); + }; + Object.defineProperty(O.prototype, "m_wheelDirectionCS", { + get: O.prototype.QB, + set: O.prototype.$B, + }); + O.prototype.get_m_wheelAxleCS = O.prototype.PB = function () { + return k(zv(this.kB), m); + }; + O.prototype.set_m_wheelAxleCS = O.prototype.ZB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Av(c, a); + }; + Object.defineProperty(O.prototype, "m_wheelAxleCS", { + get: O.prototype.PB, + set: O.prototype.ZB, + }); + O.prototype.get_m_suspensionRestLength = O.prototype.qE = function () { + return Bv(this.kB); + }; + O.prototype.set_m_suspensionRestLength = O.prototype.iH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Cv(c, a); + }; + Object.defineProperty(O.prototype, "m_suspensionRestLength", { + get: O.prototype.qE, + set: O.prototype.iH, + }); + O.prototype.get_m_maxSuspensionTravelCm = O.prototype.AB = function () { + return Dv(this.kB); + }; + O.prototype.set_m_maxSuspensionTravelCm = O.prototype.HB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ev(c, a); + }; + Object.defineProperty(O.prototype, "m_maxSuspensionTravelCm", { + get: O.prototype.AB, + set: O.prototype.HB, + }); + O.prototype.get_m_wheelRadius = O.prototype.EE = function () { + return Fv(this.kB); + }; + O.prototype.set_m_wheelRadius = O.prototype.wH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Gv(c, a); + }; + Object.defineProperty(O.prototype, "m_wheelRadius", { + get: O.prototype.EE, + set: O.prototype.wH, + }); + O.prototype.get_m_suspensionStiffness = O.prototype.BB = function () { + return Hv(this.kB); + }; + O.prototype.set_m_suspensionStiffness = O.prototype.IB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Iv(c, a); + }; + Object.defineProperty(O.prototype, "m_suspensionStiffness", { + get: O.prototype.BB, + set: O.prototype.IB, + }); + O.prototype.get_m_wheelsDampingCompression = O.prototype.RB = function () { + return Jv(this.kB); + }; + O.prototype.set_m_wheelsDampingCompression = O.prototype.aC = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kv(c, a); + }; + Object.defineProperty(O.prototype, "m_wheelsDampingCompression", { + get: O.prototype.RB, + set: O.prototype.aC, + }); + O.prototype.get_m_wheelsDampingRelaxation = O.prototype.SB = function () { + return Lv(this.kB); + }; + O.prototype.set_m_wheelsDampingRelaxation = O.prototype.bC = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Mv(c, a); + }; + Object.defineProperty(O.prototype, "m_wheelsDampingRelaxation", { + get: O.prototype.SB, + set: O.prototype.bC, + }); + O.prototype.get_m_frictionSlip = O.prototype.wB = function () { + return Nv(this.kB); + }; + O.prototype.set_m_frictionSlip = O.prototype.DB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ov(c, a); + }; + Object.defineProperty(O.prototype, "m_frictionSlip", { + get: O.prototype.wB, + set: O.prototype.DB, + }); + O.prototype.get_m_maxSuspensionForce = O.prototype.zB = function () { + return Pv(this.kB); + }; + O.prototype.set_m_maxSuspensionForce = O.prototype.GB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qv(c, a); + }; + Object.defineProperty(O.prototype, "m_maxSuspensionForce", { + get: O.prototype.zB, + set: O.prototype.GB, + }); + O.prototype.get_m_bIsFrontWheel = O.prototype.JB = function () { + return !!Rv(this.kB); + }; + O.prototype.set_m_bIsFrontWheel = O.prototype.TB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Sv(c, a); + }; + Object.defineProperty(O.prototype, "m_bIsFrontWheel", { + get: O.prototype.JB, + set: O.prototype.TB, + }); + O.prototype.__destroy__ = function () { + Tv(this.kB); + }; + function P(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = Uv(a); + h(P)[this.kB] = this; + } + P.prototype = Object.create(f.prototype); + P.prototype.constructor = P; + P.prototype.lB = P; + P.mB = {}; + b.btWheelInfo = P; + P.prototype.getSuspensionRestLength = function () { + return Vv(this.kB); + }; + P.prototype.updateWheel = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Wv(d, a, c); + }; + P.prototype.get_m_suspensionStiffness = P.prototype.BB = function () { + return Xv(this.kB); + }; + P.prototype.set_m_suspensionStiffness = P.prototype.IB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Yv(c, a); + }; + Object.defineProperty(P.prototype, "m_suspensionStiffness", { + get: P.prototype.BB, + set: P.prototype.IB, + }); + P.prototype.get_m_frictionSlip = P.prototype.wB = function () { + return Zv(this.kB); + }; + P.prototype.set_m_frictionSlip = P.prototype.DB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $v(c, a); + }; + Object.defineProperty(P.prototype, "m_frictionSlip", { + get: P.prototype.wB, + set: P.prototype.DB, + }); + P.prototype.get_m_engineForce = P.prototype.iD = function () { + return aw(this.kB); + }; + P.prototype.set_m_engineForce = P.prototype.$F = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + bw(c, a); + }; + Object.defineProperty(P.prototype, "m_engineForce", { + get: P.prototype.iD, + set: P.prototype.$F, + }); + P.prototype.get_m_rollInfluence = P.prototype.cE = function () { + return cw(this.kB); + }; + P.prototype.set_m_rollInfluence = P.prototype.VG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + dw(c, a); + }; + Object.defineProperty(P.prototype, "m_rollInfluence", { + get: P.prototype.cE, + set: P.prototype.VG, + }); + P.prototype.get_m_suspensionRestLength1 = P.prototype.rE = function () { + return ew(this.kB); + }; + P.prototype.set_m_suspensionRestLength1 = P.prototype.jH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fw(c, a); + }; + Object.defineProperty(P.prototype, "m_suspensionRestLength1", { + get: P.prototype.rE, + set: P.prototype.jH, + }); + P.prototype.get_m_wheelsRadius = P.prototype.FE = function () { + return gw(this.kB); + }; + P.prototype.set_m_wheelsRadius = P.prototype.xH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hw(c, a); + }; + Object.defineProperty(P.prototype, "m_wheelsRadius", { + get: P.prototype.FE, + set: P.prototype.xH, + }); + P.prototype.get_m_wheelsDampingCompression = P.prototype.RB = function () { + return iw(this.kB); + }; + P.prototype.set_m_wheelsDampingCompression = P.prototype.aC = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jw(c, a); + }; + Object.defineProperty(P.prototype, "m_wheelsDampingCompression", { + get: P.prototype.RB, + set: P.prototype.aC, + }); + P.prototype.get_m_wheelsDampingRelaxation = P.prototype.SB = function () { + return kw(this.kB); + }; + P.prototype.set_m_wheelsDampingRelaxation = P.prototype.bC = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + lw(c, a); + }; + Object.defineProperty(P.prototype, "m_wheelsDampingRelaxation", { + get: P.prototype.SB, + set: P.prototype.bC, + }); + P.prototype.get_m_steering = P.prototype.kE = function () { + return mw(this.kB); + }; + P.prototype.set_m_steering = P.prototype.cH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + nw(c, a); + }; + Object.defineProperty(P.prototype, "m_steering", { + get: P.prototype.kE, + set: P.prototype.cH, + }); + P.prototype.get_m_maxSuspensionForce = P.prototype.zB = function () { + return ow(this.kB); + }; + P.prototype.set_m_maxSuspensionForce = P.prototype.GB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pw(c, a); + }; + Object.defineProperty(P.prototype, "m_maxSuspensionForce", { + get: P.prototype.zB, + set: P.prototype.GB, + }); + P.prototype.get_m_maxSuspensionTravelCm = P.prototype.AB = function () { + return qw(this.kB); + }; + P.prototype.set_m_maxSuspensionTravelCm = P.prototype.HB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + rw(c, a); + }; + Object.defineProperty(P.prototype, "m_maxSuspensionTravelCm", { + get: P.prototype.AB, + set: P.prototype.HB, + }); + P.prototype.get_m_wheelsSuspensionForce = P.prototype.GE = function () { + return sw(this.kB); + }; + P.prototype.set_m_wheelsSuspensionForce = P.prototype.yH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + tw(c, a); + }; + Object.defineProperty(P.prototype, "m_wheelsSuspensionForce", { + get: P.prototype.GE, + set: P.prototype.yH, + }); + P.prototype.get_m_bIsFrontWheel = P.prototype.JB = function () { + return !!uw(this.kB); + }; + P.prototype.set_m_bIsFrontWheel = P.prototype.TB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vw(c, a); + }; + Object.defineProperty(P.prototype, "m_bIsFrontWheel", { + get: P.prototype.JB, + set: P.prototype.TB, + }); + P.prototype.get_m_raycastInfo = P.prototype.aE = function () { + return k(ww(this.kB), N); + }; + P.prototype.set_m_raycastInfo = P.prototype.TG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xw(c, a); + }; + Object.defineProperty(P.prototype, "m_raycastInfo", { + get: P.prototype.aE, + set: P.prototype.TG, + }); + P.prototype.get_m_chassisConnectionPointCS = P.prototype.SC = function () { + return k(yw(this.kB), m); + }; + P.prototype.set_m_chassisConnectionPointCS = P.prototype.JF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zw(c, a); + }; + Object.defineProperty(P.prototype, "m_chassisConnectionPointCS", { + get: P.prototype.SC, + set: P.prototype.JF, + }); + P.prototype.get_m_worldTransform = P.prototype.HE = function () { + return k(Aw(this.kB), r); + }; + P.prototype.set_m_worldTransform = P.prototype.zH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Bw(c, a); + }; + Object.defineProperty(P.prototype, "m_worldTransform", { + get: P.prototype.HE, + set: P.prototype.zH, + }); + P.prototype.get_m_wheelDirectionCS = P.prototype.QB = function () { + return k(Cw(this.kB), m); + }; + P.prototype.set_m_wheelDirectionCS = P.prototype.$B = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dw(c, a); + }; + Object.defineProperty(P.prototype, "m_wheelDirectionCS", { + get: P.prototype.QB, + set: P.prototype.$B, + }); + P.prototype.get_m_wheelAxleCS = P.prototype.PB = function () { + return k(Ew(this.kB), m); + }; + P.prototype.set_m_wheelAxleCS = P.prototype.ZB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Fw(c, a); + }; + Object.defineProperty(P.prototype, "m_wheelAxleCS", { + get: P.prototype.PB, + set: P.prototype.ZB, + }); + P.prototype.get_m_rotation = P.prototype.eE = function () { + return Gw(this.kB); + }; + P.prototype.set_m_rotation = P.prototype.XG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Hw(c, a); + }; + Object.defineProperty(P.prototype, "m_rotation", { + get: P.prototype.eE, + set: P.prototype.XG, + }); + P.prototype.get_m_deltaRotation = P.prototype.bD = function () { + return Iw(this.kB); + }; + P.prototype.set_m_deltaRotation = P.prototype.TF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jw(c, a); + }; + Object.defineProperty(P.prototype, "m_deltaRotation", { + get: P.prototype.bD, + set: P.prototype.TF, + }); + P.prototype.get_m_brake = P.prototype.LC = function () { + return Kw(this.kB); + }; + P.prototype.set_m_brake = P.prototype.CF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lw(c, a); + }; + Object.defineProperty(P.prototype, "m_brake", { + get: P.prototype.LC, + set: P.prototype.CF, + }); + P.prototype.get_m_clippedInvContactDotSuspension = P.prototype.TC = + function () { + return Mw(this.kB); + }; + P.prototype.set_m_clippedInvContactDotSuspension = P.prototype.KF = + function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nw(c, a); + }; + Object.defineProperty(P.prototype, "m_clippedInvContactDotSuspension", { + get: P.prototype.TC, + set: P.prototype.KF, + }); + P.prototype.get_m_suspensionRelativeVelocity = P.prototype.pE = + function () { + return Ow(this.kB); + }; + P.prototype.set_m_suspensionRelativeVelocity = P.prototype.hH = function ( + a, + ) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pw(c, a); + }; + Object.defineProperty(P.prototype, "m_suspensionRelativeVelocity", { + get: P.prototype.pE, + set: P.prototype.hH, + }); + P.prototype.get_m_skidInfo = P.prototype.hE = function () { + return Qw(this.kB); + }; + P.prototype.set_m_skidInfo = P.prototype.$G = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Rw(c, a); + }; + Object.defineProperty(P.prototype, "m_skidInfo", { + get: P.prototype.hE, + set: P.prototype.$G, + }); + P.prototype.__destroy__ = function () { + Sw(this.kB); + }; + function zF(a, c, d, e) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + this.kB = void 0 === e ? Tw(a, c, d) : Uw(a, c, d, e); + h(zF)[this.kB] = this; + } + zF.prototype = Object.create(rE.prototype); + zF.prototype.constructor = zF; + zF.prototype.lB = zF; + zF.mB = {}; + b.btKinematicCharacterController = zF; + zF.prototype.setUpAxis = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vw(c, a); + }; + zF.prototype.setWalkDirection = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ww(c, a); + }; + zF.prototype.setVelocityForTimeInterval = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Xw(d, a, c); + }; + zF.prototype.warp = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Yw(c, a); + }; + zF.prototype.preStep = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zw(c, a); + }; + zF.prototype.playerStep = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + $w(d, a, c); + }; + zF.prototype.setFallSpeed = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ax(c, a); + }; + zF.prototype.setJumpSpeed = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + bx(c, a); + }; + zF.prototype.setMaxJumpHeight = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + cx(c, a); + }; + zF.prototype.canJump = function () { + return !!dx(this.kB); + }; + zF.prototype.jump = function () { + ex(this.kB); + }; + zF.prototype.setGravity = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fx(c, a); + }; + zF.prototype.getGravity = function () { + return gx(this.kB); + }; + zF.prototype.setMaxSlope = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hx(c, a); + }; + zF.prototype.getMaxSlope = function () { + return ix(this.kB); + }; + zF.prototype.getGhostObject = function () { + return k(jx(this.kB), Q); + }; + zF.prototype.setUseGhostSweepTest = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kx(c, a); + }; + zF.prototype.onGround = function () { + return !!lx(this.kB); + }; + zF.prototype.setUpInterpolate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + mx(c, a); + }; + zF.prototype.updateAction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + nx(d, a, c); + }; + zF.prototype.__destroy__ = function () { + ox(this.kB); + }; + function R(a, c, d) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + this.kB = px(a, c, d); + h(R)[this.kB] = this; + } + R.prototype = Object.create(rE.prototype); + R.prototype.constructor = R; + R.prototype.lB = R; + R.mB = {}; + b.btRaycastVehicle = R; + R.prototype.applyEngineForce = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + qx(d, a, c); + }; + R.prototype.setSteeringValue = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + rx(d, a, c); + }; + R.prototype.getWheelTransformWS = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(sx(c, a), r); + }; + R.prototype.updateWheelTransform = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + tx(d, a, c); + }; + R.prototype.addWheel = function (a, c, d, e, g, n, z) { + var T = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + n && "object" === typeof n && (n = n.kB); + z && "object" === typeof z && (z = z.kB); + return k(ux(T, a, c, d, e, g, n, z), P); + }; + R.prototype.getNumWheels = function () { + return vx(this.kB); + }; + R.prototype.getRigidBody = function () { + return k(wx(this.kB), K); + }; + R.prototype.getWheelInfo = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(xx(c, a), P); + }; + R.prototype.setBrake = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + yx(d, a, c); + }; + R.prototype.setCoordinateSystem = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + zx(e, a, c, d); + }; + R.prototype.getCurrentSpeedKmHour = function () { + return Ax(this.kB); + }; + R.prototype.getChassisWorldTransform = function () { + return k(Bx(this.kB), r); + }; + R.prototype.rayCast = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return Cx(c, a); + }; + R.prototype.updateVehicle = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dx(c, a); + }; + R.prototype.resetSuspension = function () { + Ex(this.kB); + }; + R.prototype.getSteeringValue = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return Fx(c, a); + }; + R.prototype.updateWheelTransformsWS = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + void 0 === c ? Gx(d, a) : Hx(d, a, c); + }; + R.prototype.setPitchControl = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ix(c, a); + }; + R.prototype.updateSuspension = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jx(c, a); + }; + R.prototype.updateFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Kx(c, a); + }; + R.prototype.getRightAxis = function () { + return Lx(this.kB); + }; + R.prototype.getUpAxis = function () { + return Mx(this.kB); + }; + R.prototype.getForwardAxis = function () { + return Nx(this.kB); + }; + R.prototype.getForwardVector = function () { + return k(Ox(this.kB), m); + }; + R.prototype.getUserConstraintType = function () { + return Px(this.kB); + }; + R.prototype.setUserConstraintType = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Qx(c, a); + }; + R.prototype.setUserConstraintId = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Rx(c, a); + }; + R.prototype.getUserConstraintId = function () { + return Sx(this.kB); + }; + R.prototype.updateAction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Tx(d, a, c); + }; + R.prototype.__destroy__ = function () { + Ux(this.kB); + }; + function Q() { + this.kB = Vx(); + h(Q)[this.kB] = this; + } + Q.prototype = Object.create(y.prototype); + Q.prototype.constructor = Q; + Q.prototype.lB = Q; + Q.mB = {}; + b.btPairCachingGhostObject = Q; + Q.prototype.setAnisotropicFriction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Wx(d, a, c); + }; + Q.prototype.getCollisionShape = function () { + return k(Xx(this.kB), l); + }; + Q.prototype.setContactProcessingThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Yx(c, a); + }; + Q.prototype.setActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Zx(c, a); + }; + Q.prototype.forceActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $x(c, a); + }; + Q.prototype.activate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + void 0 === a ? ay(c) : by(c, a); + }; + Q.prototype.isActive = function () { + return !!cy(this.kB); + }; + Q.prototype.isKinematicObject = function () { + return !!dy(this.kB); + }; + Q.prototype.isStaticObject = function () { + return !!ey(this.kB); + }; + Q.prototype.isStaticOrKinematicObject = function () { + return !!fy(this.kB); + }; + Q.prototype.getRestitution = function () { + return gy(this.kB); + }; + Q.prototype.getFriction = function () { + return hy(this.kB); + }; + Q.prototype.getRollingFriction = function () { + return iy(this.kB); + }; + Q.prototype.setRestitution = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jy(c, a); + }; + Q.prototype.setFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ky(c, a); + }; + Q.prototype.setRollingFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ly(c, a); + }; + Q.prototype.getWorldTransform = function () { + return k(my(this.kB), r); + }; + Q.prototype.getCollisionFlags = function () { + return ny(this.kB); + }; + Q.prototype.setCollisionFlags = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + oy(c, a); + }; + Q.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + py(c, a); + }; + Q.prototype.setCollisionShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + qy(c, a); + }; + Q.prototype.setCcdMotionThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ry(c, a); + }; + Q.prototype.setCcdSweptSphereRadius = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + sy(c, a); + }; + Q.prototype.getUserIndex = function () { + return ty(this.kB); + }; + Q.prototype.setUserIndex = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + uy(c, a); + }; + Q.prototype.getUserPointer = function () { + return k(vy(this.kB), XD); + }; + Q.prototype.setUserPointer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wy(c, a); + }; + Q.prototype.getBroadphaseHandle = function () { + return k(xy(this.kB), YD); + }; + Q.prototype.getNumOverlappingObjects = function () { + return yy(this.kB); + }; + Q.prototype.getOverlappingObject = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(zy(c, a), q); + }; + Q.prototype.__destroy__ = function () { + Ay(this.kB); + }; + function AF() { + this.kB = By(); + h(AF)[this.kB] = this; + } + AF.prototype = Object.create(f.prototype); + AF.prototype.constructor = AF; + AF.prototype.lB = AF; + AF.mB = {}; + b.btGhostPairCallback = AF; + AF.prototype.__destroy__ = function () { + Cy(this.kB); + }; + function S() { + this.kB = Dy(); + h(S)[this.kB] = this; + } + S.prototype = Object.create(f.prototype); + S.prototype.constructor = S; + S.prototype.lB = S; + S.mB = {}; + b.btSoftBodyWorldInfo = S; + S.prototype.get_air_density = S.prototype.cC = function () { + return Ey(this.kB); + }; + S.prototype.set_air_density = S.prototype.UE = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Fy(c, a); + }; + Object.defineProperty(S.prototype, "air_density", { + get: S.prototype.cC, + set: S.prototype.UE, + }); + S.prototype.get_water_density = S.prototype.RE = function () { + return Gy(this.kB); + }; + S.prototype.set_water_density = S.prototype.JH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Hy(c, a); + }; + Object.defineProperty(S.prototype, "water_density", { + get: S.prototype.RE, + set: S.prototype.JH, + }); + S.prototype.get_water_offset = S.prototype.TE = function () { + return Iy(this.kB); + }; + S.prototype.set_water_offset = S.prototype.LH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jy(c, a); + }; + Object.defineProperty(S.prototype, "water_offset", { + get: S.prototype.TE, + set: S.prototype.LH, + }); + S.prototype.get_m_maxDisplacement = S.prototype.ND = function () { + return Ky(this.kB); + }; + S.prototype.set_m_maxDisplacement = S.prototype.EG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ly(c, a); + }; + Object.defineProperty(S.prototype, "m_maxDisplacement", { + get: S.prototype.ND, + set: S.prototype.EG, + }); + S.prototype.get_water_normal = S.prototype.SE = function () { + return k(My(this.kB), m); + }; + S.prototype.set_water_normal = S.prototype.KH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ny(c, a); + }; + Object.defineProperty(S.prototype, "water_normal", { + get: S.prototype.SE, + set: S.prototype.KH, + }); + S.prototype.get_m_broadphase = S.prototype.MC = function () { + return k(Oy(this.kB), VD); + }; + S.prototype.set_m_broadphase = S.prototype.DF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Py(c, a); + }; + Object.defineProperty(S.prototype, "m_broadphase", { + get: S.prototype.MC, + set: S.prototype.DF, + }); + S.prototype.get_m_dispatcher = S.prototype.dD = function () { + return k(Qy(this.kB), TD); + }; + S.prototype.set_m_dispatcher = S.prototype.VF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ry(c, a); + }; + Object.defineProperty(S.prototype, "m_dispatcher", { + get: S.prototype.dD, + set: S.prototype.VF, + }); + S.prototype.get_m_gravity = S.prototype.mD = function () { + return k(Sy(this.kB), m); + }; + S.prototype.set_m_gravity = S.prototype.dG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Ty(c, a); + }; + Object.defineProperty(S.prototype, "m_gravity", { + get: S.prototype.mD, + set: S.prototype.dG, + }); + S.prototype.__destroy__ = function () { + Uy(this.kB); + }; + function U() { + throw "cannot construct a Face, no constructor in IDL"; + } + U.prototype = Object.create(f.prototype); + U.prototype.constructor = U; + U.prototype.lB = U; + U.mB = {}; + b.Face = U; + U.prototype.get_m_n = U.prototype.MB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Vy(c, a), Node); + }; + U.prototype.set_m_n = U.prototype.WB = function (a, c) { + var d = this.kB; + ND(); + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + Wy(d, a, c); + }; + Object.defineProperty(U.prototype, "m_n", { + get: U.prototype.MB, + set: U.prototype.WB, + }); + U.prototype.get_m_normal = U.prototype.RD = function () { + return k(Xy(this.kB), m); + }; + U.prototype.set_m_normal = U.prototype.IG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Yy(c, a); + }; + Object.defineProperty(U.prototype, "m_normal", { + get: U.prototype.RD, + set: U.prototype.IG, + }); + U.prototype.get_m_ra = U.prototype.$D = function () { + return Zy(this.kB); + }; + U.prototype.set_m_ra = U.prototype.SG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $y(c, a); + }; + Object.defineProperty(U.prototype, "m_ra", { + get: U.prototype.$D, + set: U.prototype.SG, + }); + U.prototype.__destroy__ = function () { + az(this.kB); + }; + function BF() { + throw "cannot construct a tFaceArray, no constructor in IDL"; + } + BF.prototype = Object.create(f.prototype); + BF.prototype.constructor = BF; + BF.prototype.lB = BF; + BF.mB = {}; + b.tFaceArray = BF; + BF.prototype.size = BF.prototype.size = function () { + return bz(this.kB); + }; + BF.prototype.at = BF.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(cz(c, a), U); + }; + BF.prototype.__destroy__ = function () { + dz(this.kB); + }; + function Node() { + throw "cannot construct a Node, no constructor in IDL"; + } + Node.prototype = Object.create(f.prototype); + Node.prototype.constructor = Node; + Node.prototype.lB = Node; + Node.mB = {}; + b.Node = Node; + Node.prototype.get_m_x = Node.prototype.IE = function () { + return k(ez(this.kB), m); + }; + Node.prototype.set_m_x = Node.prototype.AH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fz(c, a); + }; + Object.defineProperty(Node.prototype, "m_x", { + get: Node.prototype.IE, + set: Node.prototype.AH, + }); + Node.prototype.get_m_q = Node.prototype.ZD = function () { + return k(gz(this.kB), m); + }; + Node.prototype.set_m_q = Node.prototype.QG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hz(c, a); + }; + Object.defineProperty(Node.prototype, "m_q", { + get: Node.prototype.ZD, + set: Node.prototype.QG, + }); + Node.prototype.get_m_v = Node.prototype.AE = function () { + return k(iz(this.kB), m); + }; + Node.prototype.set_m_v = Node.prototype.sH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jz(c, a); + }; + Object.defineProperty(Node.prototype, "m_v", { + get: Node.prototype.AE, + set: Node.prototype.sH, + }); + Node.prototype.get_m_f = Node.prototype.jD = function () { + return k(kz(this.kB), m); + }; + Node.prototype.set_m_f = Node.prototype.aG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + lz(c, a); + }; + Object.defineProperty(Node.prototype, "m_f", { + get: Node.prototype.jD, + set: Node.prototype.aG, + }); + Node.prototype.get_m_n = Node.prototype.MB = function () { + return k(mz(this.kB), m); + }; + Node.prototype.set_m_n = Node.prototype.WB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + nz(c, a); + }; + Object.defineProperty(Node.prototype, "m_n", { + get: Node.prototype.MB, + set: Node.prototype.WB, + }); + Node.prototype.get_m_im = Node.prototype.vD = function () { + return oz(this.kB); + }; + Node.prototype.set_m_im = Node.prototype.mG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pz(c, a); + }; + Object.defineProperty(Node.prototype, "m_im", { + get: Node.prototype.vD, + set: Node.prototype.mG, + }); + Node.prototype.get_m_area = Node.prototype.JC = function () { + return qz(this.kB); + }; + Node.prototype.set_m_area = Node.prototype.AF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + rz(c, a); + }; + Object.defineProperty(Node.prototype, "m_area", { + get: Node.prototype.JC, + set: Node.prototype.AF, + }); + Node.prototype.__destroy__ = function () { + sz(this.kB); + }; + function CF() { + throw "cannot construct a tNodeArray, no constructor in IDL"; + } + CF.prototype = Object.create(f.prototype); + CF.prototype.constructor = CF; + CF.prototype.lB = CF; + CF.mB = {}; + b.tNodeArray = CF; + CF.prototype.size = CF.prototype.size = function () { + return tz(this.kB); + }; + CF.prototype.at = CF.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(uz(c, a), Node); + }; + CF.prototype.__destroy__ = function () { + vz(this.kB); + }; + function V() { + throw "cannot construct a Material, no constructor in IDL"; + } + V.prototype = Object.create(f.prototype); + V.prototype.constructor = V; + V.prototype.lB = V; + V.mB = {}; + b.Material = V; + V.prototype.get_m_kLST = V.prototype.BD = function () { + return wz(this.kB); + }; + V.prototype.set_m_kLST = V.prototype.sG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xz(c, a); + }; + Object.defineProperty(V.prototype, "m_kLST", { + get: V.prototype.BD, + set: V.prototype.sG, + }); + V.prototype.get_m_kAST = V.prototype.AD = function () { + return yz(this.kB); + }; + V.prototype.set_m_kAST = V.prototype.rG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zz(c, a); + }; + Object.defineProperty(V.prototype, "m_kAST", { + get: V.prototype.AD, + set: V.prototype.rG, + }); + V.prototype.get_m_kVST = V.prototype.CD = function () { + return Az(this.kB); + }; + V.prototype.set_m_kVST = V.prototype.tG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Bz(c, a); + }; + Object.defineProperty(V.prototype, "m_kVST", { + get: V.prototype.CD, + set: V.prototype.tG, + }); + V.prototype.get_m_flags = V.prototype.tB = function () { + return Cz(this.kB); + }; + V.prototype.set_m_flags = V.prototype.uB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Dz(c, a); + }; + Object.defineProperty(V.prototype, "m_flags", { + get: V.prototype.tB, + set: V.prototype.uB, + }); + V.prototype.__destroy__ = function () { + Ez(this.kB); + }; + function DF() { + throw "cannot construct a tMaterialArray, no constructor in IDL"; + } + DF.prototype = Object.create(f.prototype); + DF.prototype.constructor = DF; + DF.prototype.lB = DF; + DF.mB = {}; + b.tMaterialArray = DF; + DF.prototype.size = DF.prototype.size = function () { + return Fz(this.kB); + }; + DF.prototype.at = DF.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Gz(c, a), V); + }; + DF.prototype.__destroy__ = function () { + Hz(this.kB); + }; + function W() { + throw "cannot construct a Anchor, no constructor in IDL"; + } + W.prototype = Object.create(f.prototype); + W.prototype.constructor = W; + W.prototype.lB = W; + W.mB = {}; + b.Anchor = W; + W.prototype.get_m_node = W.prototype.PD = function () { + return k(Iz(this.kB), Node); + }; + W.prototype.set_m_node = W.prototype.GG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Jz(c, a); + }; + Object.defineProperty(W.prototype, "m_node", { + get: W.prototype.PD, + set: W.prototype.GG, + }); + W.prototype.get_m_local = W.prototype.FD = function () { + return k(Kz(this.kB), m); + }; + W.prototype.set_m_local = W.prototype.wG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Lz(c, a); + }; + Object.defineProperty(W.prototype, "m_local", { + get: W.prototype.FD, + set: W.prototype.wG, + }); + W.prototype.get_m_body = W.prototype.KC = function () { + return k(Mz(this.kB), K); + }; + W.prototype.set_m_body = W.prototype.BF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Nz(c, a); + }; + Object.defineProperty(W.prototype, "m_body", { + get: W.prototype.KC, + set: W.prototype.BF, + }); + W.prototype.get_m_influence = W.prototype.yD = function () { + return Oz(this.kB); + }; + W.prototype.set_m_influence = W.prototype.pG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Pz(c, a); + }; + Object.defineProperty(W.prototype, "m_influence", { + get: W.prototype.yD, + set: W.prototype.pG, + }); + W.prototype.get_m_c0 = W.prototype.NC = function () { + return k(Qz(this.kB), uE); + }; + W.prototype.set_m_c0 = W.prototype.EF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Rz(c, a); + }; + Object.defineProperty(W.prototype, "m_c0", { + get: W.prototype.NC, + set: W.prototype.EF, + }); + W.prototype.get_m_c1 = W.prototype.OC = function () { + return k(Sz(this.kB), m); + }; + W.prototype.set_m_c1 = W.prototype.FF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Tz(c, a); + }; + Object.defineProperty(W.prototype, "m_c1", { + get: W.prototype.OC, + set: W.prototype.FF, + }); + W.prototype.get_m_c2 = W.prototype.PC = function () { + return Uz(this.kB); + }; + W.prototype.set_m_c2 = W.prototype.GF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + Vz(c, a); + }; + Object.defineProperty(W.prototype, "m_c2", { + get: W.prototype.PC, + set: W.prototype.GF, + }); + W.prototype.__destroy__ = function () { + Wz(this.kB); + }; + function EF() { + throw "cannot construct a tAnchorArray, no constructor in IDL"; + } + EF.prototype = Object.create(f.prototype); + EF.prototype.constructor = EF; + EF.prototype.lB = EF; + EF.mB = {}; + b.tAnchorArray = EF; + EF.prototype.size = EF.prototype.size = function () { + return Xz(this.kB); + }; + EF.prototype.at = EF.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(Yz(c, a), W); + }; + EF.prototype.clear = EF.prototype.clear = function () { + Zz(this.kB); + }; + EF.prototype.push_back = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $z(c, a); + }; + EF.prototype.pop_back = function () { + aA(this.kB); + }; + EF.prototype.__destroy__ = function () { + bA(this.kB); + }; + function X() { + throw "cannot construct a Config, no constructor in IDL"; + } + X.prototype = Object.create(f.prototype); + X.prototype.constructor = X; + X.prototype.lB = X; + X.mB = {}; + b.Config = X; + X.prototype.get_kVCF = X.prototype.zC = function () { + return cA(this.kB); + }; + X.prototype.set_kVCF = X.prototype.qF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + dA(c, a); + }; + Object.defineProperty(X.prototype, "kVCF", { + get: X.prototype.zC, + set: X.prototype.qF, + }); + X.prototype.get_kDP = X.prototype.mC = function () { + return eA(this.kB); + }; + X.prototype.set_kDP = X.prototype.dF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + fA(c, a); + }; + Object.defineProperty(X.prototype, "kDP", { + get: X.prototype.mC, + set: X.prototype.dF, + }); + X.prototype.get_kDG = X.prototype.lC = function () { + return gA(this.kB); + }; + X.prototype.set_kDG = X.prototype.cF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + hA(c, a); + }; + Object.defineProperty(X.prototype, "kDG", { + get: X.prototype.lC, + set: X.prototype.cF, + }); + X.prototype.get_kLF = X.prototype.oC = function () { + return iA(this.kB); + }; + X.prototype.set_kLF = X.prototype.fF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + jA(c, a); + }; + Object.defineProperty(X.prototype, "kLF", { + get: X.prototype.oC, + set: X.prototype.fF, + }); + X.prototype.get_kPR = X.prototype.qC = function () { + return kA(this.kB); + }; + X.prototype.set_kPR = X.prototype.hF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + lA(c, a); + }; + Object.defineProperty(X.prototype, "kPR", { + get: X.prototype.qC, + set: X.prototype.hF, + }); + X.prototype.get_kVC = X.prototype.yC = function () { + return mA(this.kB); + }; + X.prototype.set_kVC = X.prototype.pF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + nA(c, a); + }; + Object.defineProperty(X.prototype, "kVC", { + get: X.prototype.yC, + set: X.prototype.pF, + }); + X.prototype.get_kDF = X.prototype.kC = function () { + return oA(this.kB); + }; + X.prototype.set_kDF = X.prototype.bF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pA(c, a); + }; + Object.defineProperty(X.prototype, "kDF", { + get: X.prototype.kC, + set: X.prototype.bF, + }); + X.prototype.get_kMT = X.prototype.pC = function () { + return qA(this.kB); + }; + X.prototype.set_kMT = X.prototype.gF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + rA(c, a); + }; + Object.defineProperty(X.prototype, "kMT", { + get: X.prototype.pC, + set: X.prototype.gF, + }); + X.prototype.get_kCHR = X.prototype.jC = function () { + return sA(this.kB); + }; + X.prototype.set_kCHR = X.prototype.aF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + tA(c, a); + }; + Object.defineProperty(X.prototype, "kCHR", { + get: X.prototype.jC, + set: X.prototype.aF, + }); + X.prototype.get_kKHR = X.prototype.nC = function () { + return uA(this.kB); + }; + X.prototype.set_kKHR = X.prototype.eF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + vA(c, a); + }; + Object.defineProperty(X.prototype, "kKHR", { + get: X.prototype.nC, + set: X.prototype.eF, + }); + X.prototype.get_kSHR = X.prototype.rC = function () { + return wA(this.kB); + }; + X.prototype.set_kSHR = X.prototype.iF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xA(c, a); + }; + Object.defineProperty(X.prototype, "kSHR", { + get: X.prototype.rC, + set: X.prototype.iF, + }); + X.prototype.get_kAHR = X.prototype.iC = function () { + return yA(this.kB); + }; + X.prototype.set_kAHR = X.prototype.$E = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + zA(c, a); + }; + Object.defineProperty(X.prototype, "kAHR", { + get: X.prototype.iC, + set: X.prototype.$E, + }); + X.prototype.get_kSRHR_CL = X.prototype.uC = function () { + return AA(this.kB); + }; + X.prototype.set_kSRHR_CL = X.prototype.lF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + BA(c, a); + }; + Object.defineProperty(X.prototype, "kSRHR_CL", { + get: X.prototype.uC, + set: X.prototype.lF, + }); + X.prototype.get_kSKHR_CL = X.prototype.sC = function () { + return CA(this.kB); + }; + X.prototype.set_kSKHR_CL = X.prototype.jF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + DA(c, a); + }; + Object.defineProperty(X.prototype, "kSKHR_CL", { + get: X.prototype.sC, + set: X.prototype.jF, + }); + X.prototype.get_kSSHR_CL = X.prototype.wC = function () { + return EA(this.kB); + }; + X.prototype.set_kSSHR_CL = X.prototype.nF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + FA(c, a); + }; + Object.defineProperty(X.prototype, "kSSHR_CL", { + get: X.prototype.wC, + set: X.prototype.nF, + }); + X.prototype.get_kSR_SPLT_CL = X.prototype.vC = function () { + return GA(this.kB); + }; + X.prototype.set_kSR_SPLT_CL = X.prototype.mF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + HA(c, a); + }; + Object.defineProperty(X.prototype, "kSR_SPLT_CL", { + get: X.prototype.vC, + set: X.prototype.mF, + }); + X.prototype.get_kSK_SPLT_CL = X.prototype.tC = function () { + return IA(this.kB); + }; + X.prototype.set_kSK_SPLT_CL = X.prototype.kF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + JA(c, a); + }; + Object.defineProperty(X.prototype, "kSK_SPLT_CL", { + get: X.prototype.tC, + set: X.prototype.kF, + }); + X.prototype.get_kSS_SPLT_CL = X.prototype.xC = function () { + return KA(this.kB); + }; + X.prototype.set_kSS_SPLT_CL = X.prototype.oF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + LA(c, a); + }; + Object.defineProperty(X.prototype, "kSS_SPLT_CL", { + get: X.prototype.xC, + set: X.prototype.oF, + }); + X.prototype.get_maxvolume = X.prototype.JE = function () { + return MA(this.kB); + }; + X.prototype.set_maxvolume = X.prototype.BH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + NA(c, a); + }; + Object.defineProperty(X.prototype, "maxvolume", { + get: X.prototype.JE, + set: X.prototype.BH, + }); + X.prototype.get_timescale = X.prototype.OE = function () { + return OA(this.kB); + }; + X.prototype.set_timescale = X.prototype.GH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + PA(c, a); + }; + Object.defineProperty(X.prototype, "timescale", { + get: X.prototype.OE, + set: X.prototype.GH, + }); + X.prototype.get_viterations = X.prototype.QE = function () { + return QA(this.kB); + }; + X.prototype.set_viterations = X.prototype.IH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + RA(c, a); + }; + Object.defineProperty(X.prototype, "viterations", { + get: X.prototype.QE, + set: X.prototype.IH, + }); + X.prototype.get_piterations = X.prototype.ME = function () { + return SA(this.kB); + }; + X.prototype.set_piterations = X.prototype.EH = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + TA(c, a); + }; + Object.defineProperty(X.prototype, "piterations", { + get: X.prototype.ME, + set: X.prototype.EH, + }); + X.prototype.get_diterations = X.prototype.fC = function () { + return UA(this.kB); + }; + X.prototype.set_diterations = X.prototype.XE = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + VA(c, a); + }; + Object.defineProperty(X.prototype, "diterations", { + get: X.prototype.fC, + set: X.prototype.XE, + }); + X.prototype.get_citerations = X.prototype.dC = function () { + return WA(this.kB); + }; + X.prototype.set_citerations = X.prototype.VE = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + XA(c, a); + }; + Object.defineProperty(X.prototype, "citerations", { + get: X.prototype.dC, + set: X.prototype.VE, + }); + X.prototype.get_collisions = X.prototype.eC = function () { + return YA(this.kB); + }; + X.prototype.set_collisions = X.prototype.WE = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + ZA(c, a); + }; + Object.defineProperty(X.prototype, "collisions", { + get: X.prototype.eC, + set: X.prototype.WE, + }); + X.prototype.__destroy__ = function () { + $A(this.kB); + }; + function Y(a, c, d, e) { + ND(); + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + "object" == typeof e && (e = RD(e)); + this.kB = aB(a, c, d, e); + h(Y)[this.kB] = this; + } + Y.prototype = Object.create(q.prototype); + Y.prototype.constructor = Y; + Y.prototype.lB = Y; + Y.mB = {}; + b.btSoftBody = Y; + Y.prototype.checkLink = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return !!bB(d, a, c); + }; + Y.prototype.checkFace = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + return !!cB(e, a, c, d); + }; + Y.prototype.appendMaterial = function () { + return k(dB(this.kB), V); + }; + Y.prototype.appendNode = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + eB(d, a, c); + }; + Y.prototype.appendLink = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + fB(g, a, c, d, e); + }; + Y.prototype.appendFace = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + gB(g, a, c, d, e); + }; + Y.prototype.appendTetra = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + hB(n, a, c, d, e, g); + }; + Y.prototype.appendAnchor = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + iB(g, a, c, d, e); + }; + Y.prototype.addForce = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + void 0 === c ? jB(d, a) : kB(d, a, c); + }; + Y.prototype.addAeroForceToNode = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + lB(d, a, c); + }; + Y.prototype.getTotalMass = function () { + return mB(this.kB); + }; + Y.prototype.setTotalMass = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + nB(d, a, c); + }; + Y.prototype.setMass = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + oB(d, a, c); + }; + Y.prototype.transform = Y.prototype.transform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + pB(c, a); + }; + Y.prototype.translate = Y.prototype.translate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + qB(c, a); + }; + Y.prototype.rotate = Y.prototype.rotate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + rB(c, a); + }; + Y.prototype.scale = Y.prototype.scale = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + sB(c, a); + }; + Y.prototype.generateClusters = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return void 0 === c ? tB(d, a) : uB(d, a, c); + }; + Y.prototype.generateBendingConstraints = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + return vB(d, a, c); + }; + Y.prototype.upcast = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(wB(c, a), Y); + }; + Y.prototype.getRestLengthScale = function () { + return xB(this.kB); + }; + Y.prototype.setRestLengthScale = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + yB(c, a); + }; + Y.prototype.setAnisotropicFriction = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + zB(d, a, c); + }; + Y.prototype.getCollisionShape = function () { + return k(AB(this.kB), l); + }; + Y.prototype.setContactProcessingThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + BB(c, a); + }; + Y.prototype.setActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + CB(c, a); + }; + Y.prototype.forceActivationState = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + DB(c, a); + }; + Y.prototype.activate = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + void 0 === a ? EB(c) : FB(c, a); + }; + Y.prototype.isActive = function () { + return !!GB(this.kB); + }; + Y.prototype.isKinematicObject = function () { + return !!HB(this.kB); + }; + Y.prototype.isStaticObject = function () { + return !!IB(this.kB); + }; + Y.prototype.isStaticOrKinematicObject = function () { + return !!JB(this.kB); + }; + Y.prototype.getRestitution = function () { + return KB(this.kB); + }; + Y.prototype.getFriction = function () { + return LB(this.kB); + }; + Y.prototype.getRollingFriction = function () { + return MB(this.kB); + }; + Y.prototype.setRestitution = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + NB(c, a); + }; + Y.prototype.setFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + OB(c, a); + }; + Y.prototype.setRollingFriction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + PB(c, a); + }; + Y.prototype.getWorldTransform = function () { + return k(QB(this.kB), r); + }; + Y.prototype.getCollisionFlags = function () { + return RB(this.kB); + }; + Y.prototype.setCollisionFlags = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + SB(c, a); + }; + Y.prototype.setWorldTransform = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + TB(c, a); + }; + Y.prototype.setCollisionShape = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + UB(c, a); + }; + Y.prototype.setCcdMotionThreshold = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + VB(c, a); + }; + Y.prototype.setCcdSweptSphereRadius = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + WB(c, a); + }; + Y.prototype.getUserIndex = function () { + return XB(this.kB); + }; + Y.prototype.setUserIndex = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + YB(c, a); + }; + Y.prototype.getUserPointer = function () { + return k(ZB(this.kB), XD); + }; + Y.prototype.setUserPointer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + $B(c, a); + }; + Y.prototype.getBroadphaseHandle = function () { + return k(aC(this.kB), YD); + }; + Y.prototype.get_m_cfg = Y.prototype.QC = function () { + return k(bC(this.kB), X); + }; + Y.prototype.set_m_cfg = Y.prototype.HF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + cC(c, a); + }; + Object.defineProperty(Y.prototype, "m_cfg", { + get: Y.prototype.QC, + set: Y.prototype.HF, + }); + Y.prototype.get_m_nodes = Y.prototype.QD = function () { + return k(dC(this.kB), CF); + }; + Y.prototype.set_m_nodes = Y.prototype.HG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + eC(c, a); + }; + Object.defineProperty(Y.prototype, "m_nodes", { + get: Y.prototype.QD, + set: Y.prototype.HG, + }); + Y.prototype.get_m_faces = Y.prototype.KB = function () { + return k(fC(this.kB), BF); + }; + Y.prototype.set_m_faces = Y.prototype.UB = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + gC(c, a); + }; + Object.defineProperty(Y.prototype, "m_faces", { + get: Y.prototype.KB, + set: Y.prototype.UB, + }); + Y.prototype.get_m_materials = Y.prototype.MD = function () { + return k(hC(this.kB), DF); + }; + Y.prototype.set_m_materials = Y.prototype.DG = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + iC(c, a); + }; + Object.defineProperty(Y.prototype, "m_materials", { + get: Y.prototype.MD, + set: Y.prototype.DG, + }); + Y.prototype.get_m_anchors = Y.prototype.GC = function () { + return k(jC(this.kB), EF); + }; + Y.prototype.set_m_anchors = Y.prototype.xF = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + kC(c, a); + }; + Object.defineProperty(Y.prototype, "m_anchors", { + get: Y.prototype.GC, + set: Y.prototype.xF, + }); + Y.prototype.__destroy__ = function () { + lC(this.kB); + }; + function FF(a) { + a && "object" === typeof a && (a = a.kB); + this.kB = void 0 === a ? mC() : nC(a); + h(FF)[this.kB] = this; + } + FF.prototype = Object.create(nE.prototype); + FF.prototype.constructor = FF; + FF.prototype.lB = FF; + FF.mB = {}; + b.btSoftBodyRigidBodyCollisionConfiguration = FF; + FF.prototype.__destroy__ = function () { + oC(this.kB); + }; + function GF() { + this.kB = pC(); + h(GF)[this.kB] = this; + } + GF.prototype = Object.create(sE.prototype); + GF.prototype.constructor = GF; + GF.prototype.lB = GF; + GF.mB = {}; + b.btDefaultSoftBodySolver = GF; + GF.prototype.__destroy__ = function () { + qC(this.kB); + }; + function HF() { + throw "cannot construct a btSoftBodyArray, no constructor in IDL"; + } + HF.prototype = Object.create(f.prototype); + HF.prototype.constructor = HF; + HF.prototype.lB = HF; + HF.mB = {}; + b.btSoftBodyArray = HF; + HF.prototype.size = HF.prototype.size = function () { + return rC(this.kB); + }; + HF.prototype.at = HF.prototype.at = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + return k(sC(c, a), Y); + }; + HF.prototype.__destroy__ = function () { + tC(this.kB); + }; + function Z(a, c, d, e, g) { + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + this.kB = uC(a, c, d, e, g); + h(Z)[this.kB] = this; + } + Z.prototype = Object.create(x.prototype); + Z.prototype.constructor = Z; + Z.prototype.lB = Z; + Z.mB = {}; + b.btSoftRigidDynamicsWorld = Z; + Z.prototype.addSoftBody = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + vC(e, a, c, d); + }; + Z.prototype.removeSoftBody = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + wC(c, a); + }; + Z.prototype.removeCollisionObject = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + xC(c, a); + }; + Z.prototype.getWorldInfo = function () { + return k(yC(this.kB), S); + }; + Z.prototype.getSoftBodyArray = function () { + return k(zC(this.kB), HF); + }; + Z.prototype.getDispatcher = function () { + return k(AC(this.kB), TD); + }; + Z.prototype.rayTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + BC(e, a, c, d); + }; + Z.prototype.getPairCache = function () { + return k(CC(this.kB), UD); + }; + Z.prototype.getDispatchInfo = function () { + return k(DC(this.kB), p); + }; + Z.prototype.addCollisionObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c ? EC(e, a) : void 0 === d ? FC(e, a, c) : GC(e, a, c, d); + }; + Z.prototype.getBroadphase = function () { + return k(HC(this.kB), VD); + }; + Z.prototype.convexSweepTest = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + IC(n, a, c, d, e, g); + }; + Z.prototype.contactPairTest = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + JC(e, a, c, d); + }; + Z.prototype.contactTest = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + KC(d, a, c); + }; + Z.prototype.updateSingleAabb = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + LC(c, a); + }; + Z.prototype.setDebugDrawer = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + MC(c, a); + }; + Z.prototype.getDebugDrawer = function () { + return k(NC(this.kB), WD); + }; + Z.prototype.debugDrawWorld = function () { + OC(this.kB); + }; + Z.prototype.debugDrawObject = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + PC(e, a, c, d); + }; + Z.prototype.setGravity = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + QC(c, a); + }; + Z.prototype.getGravity = function () { + return k(RC(this.kB), m); + }; + Z.prototype.addRigidBody = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c + ? SC(e, a) + : void 0 === d + ? _emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(e, a, c) + : TC(e, a, c, d); + }; + Z.prototype.removeRigidBody = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + UC(c, a); + }; + Z.prototype.addConstraint = function (a, c) { + var d = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + void 0 === c ? VC(d, a) : WC(d, a, c); + }; + Z.prototype.removeConstraint = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + XC(c, a); + }; + Z.prototype.stepSimulation = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + return void 0 === c + ? YC(e, a) + : void 0 === d + ? ZC(e, a, c) + : $C(e, a, c, d); + }; + Z.prototype.setContactAddedCallback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + aD(c, a); + }; + Z.prototype.setContactProcessedCallback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + bD(c, a); + }; + Z.prototype.setContactDestroyedCallback = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + cD(c, a); + }; + Z.prototype.addAction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + dD(c, a); + }; + Z.prototype.removeAction = function (a) { + var c = this.kB; + a && "object" === typeof a && (a = a.kB); + eD(c, a); + }; + Z.prototype.getSolverInfo = function () { + return k(fD(this.kB), t); + }; + Z.prototype.setInternalTickCallback = function (a, c, d) { + var e = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + void 0 === c ? gD(e, a) : void 0 === d ? hD(e, a, c) : iD(e, a, c, d); + }; + Z.prototype.__destroy__ = function () { + jD(this.kB); + }; + function IF() { + this.kB = kD(); + h(IF)[this.kB] = this; + } + IF.prototype = Object.create(f.prototype); + IF.prototype.constructor = IF; + IF.prototype.lB = IF; + IF.mB = {}; + b.btSoftBodyHelpers = IF; + IF.prototype.CreateRope = function (a, c, d, e, g) { + var n = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + return k(lD(n, a, c, d, e, g), Y); + }; + IF.prototype.CreatePatch = function (a, c, d, e, g, n, z, T, Da) { + var dc = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + n && "object" === typeof n && (n = n.kB); + z && "object" === typeof z && (z = z.kB); + T && "object" === typeof T && (T = T.kB); + Da && "object" === typeof Da && (Da = Da.kB); + return k(mD(dc, a, c, d, e, g, n, z, T, Da), Y); + }; + IF.prototype.CreatePatchUV = function (a, c, d, e, g, n, z, T, Da, dc) { + var JF = this.kB; + ND(); + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + n && "object" === typeof n && (n = n.kB); + z && "object" === typeof z && (z = z.kB); + T && "object" === typeof T && (T = T.kB); + Da && "object" === typeof Da && (Da = Da.kB); + "object" == typeof dc && (dc = RD(dc)); + return k(nD(JF, a, c, d, e, g, n, z, T, Da, dc), Y); + }; + IF.prototype.CreateEllipsoid = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + return k(oD(g, a, c, d, e), Y); + }; + IF.prototype.CreateFromTriMesh = function (a, c, d, e, g) { + var n = this.kB; + ND(); + a && "object" === typeof a && (a = a.kB); + "object" == typeof c && (c = RD(c)); + if ("object" == typeof d && "object" === typeof d) { + var z = OD(d, va); + PD(d, va, z); + d = z; + } + e && "object" === typeof e && (e = e.kB); + g && "object" === typeof g && (g = g.kB); + return k(pD(n, a, c, d, e, g), Y); + }; + IF.prototype.CreateFromConvexHull = function (a, c, d, e) { + var g = this.kB; + a && "object" === typeof a && (a = a.kB); + c && "object" === typeof c && (c = c.kB); + d && "object" === typeof d && (d = d.kB); + e && "object" === typeof e && (e = e.kB); + return k(qD(g, a, c, d, e), Y); + }; + IF.prototype.__destroy__ = function () { + rD(this.kB); + }; + (function () { + function a() { + b.PHY_FLOAT = sD(); + b.PHY_DOUBLE = tD(); + b.PHY_INTEGER = uD(); + b.PHY_SHORT = vD(); + b.PHY_FIXEDPOINT88 = wD(); + b.PHY_UCHAR = xD(); + b.CONST_GIMPACT_COMPOUND_SHAPE = yD(); + b.CONST_GIMPACT_TRIMESH_SHAPE_PART = zD(); + b.CONST_GIMPACT_TRIMESH_SHAPE = AD(); + b.BT_CONSTRAINT_ERP = BD(); + b.BT_CONSTRAINT_STOP_ERP = CD(); + b.BT_CONSTRAINT_CFM = DD(); + b.BT_CONSTRAINT_STOP_CFM = ED(); + } + Ca ? a() : Aa.unshift(a); + })(); + b.CONTACT_ADDED_CALLBACK_SIGNATURE = "iiiiiiii"; + b.CONTACT_DESTROYED_CALLBACK_SIGNATURE = "ii"; + b.CONTACT_PROCESSED_CALLBACK_SIGNATURE = "iiii"; + b.INTERNAL_TICK_CALLBACK_SIGNATURE = "vif"; + this.Ammo = b; -var b;b||(b=typeof Ammo !== 'undefined' ? Ammo : {});var aa,ba;b.ready=new Promise(function(a,c){aa=a;ba=c});var ca=Object.assign({},b),da="object"==typeof window,ea="function"==typeof importScripts,fa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,ha="",ia,ja,ka; -if(fa){var fs=require("fs"),la=require("path");ha=ea?la.dirname(ha)+"/":__dirname+"/";ia=(a,c)=>{a=a.startsWith("file://")?new URL(a):la.normalize(a);return fs.readFileSync(a,c?void 0:"utf8")};ka=a=>{a=ia(a,!0);a.buffer||(a=new Uint8Array(a));return a};ja=(a,c,d)=>{a=a.startsWith("file://")?new URL(a):la.normalize(a);fs.readFile(a,function(e,g){e?d(e):c(g.buffer)})};1{var c=new XMLHttpRequest;c.open("GET",a,!1);c.send(null);return c.responseText},ea&&(ka=a=>{var c=new XMLHttpRequest;c.open("GET",a,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}),ja=(a,c,d)=>{var e=new XMLHttpRequest;e.open("GET",a, -!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d()};e.onerror=d;e.send(null)};b.print||console.log.bind(console);var ma=b.printErr||console.warn.bind(console);Object.assign(b,ca);ca=null;var na;b.wasmBinary&&(na=b.wasmBinary);var noExitRuntime=b.noExitRuntime||!0;"object"!=typeof WebAssembly&&oa("no native wasm support detected");var pa,qa=!1,ra="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0; -function sa(a,c){if(a){var d=ta,e=a+c;for(c=a;d[c]&&!(c>=e);)++c;if(16g?e+=String.fromCharCode(g):(g-=65536,e+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else e+=String.fromCharCode(g)}a=e}}else a="";return a} -var ua,ta,va,wa,xa,ya,za=[],Aa=[],Ba=[],Ca=!1;function Ea(){var a=b.preRun.shift();za.unshift(a)}var Fa=0,Ga=null,Ha=null;function oa(a){if(b.onAbort)b.onAbort(a);a="Aborted("+a+")";ma(a);qa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Ia(a){return a.startsWith("data:application/octet-stream;base64,")}var Ja;Ja="ammo.wasm.wasm";if(!Ia(Ja)){var Ka=Ja;Ja=b.locateFile?b.locateFile(Ka,ha):ha+Ka} -function La(a){try{if(a==Ja&&na)return new Uint8Array(na);if(ka)return ka(a);throw"both async and sync fetching of the wasm failed";}catch(c){oa(c)}} -function Ma(a){if(!na&&(da||ea)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(function(c){if(!c.ok)throw"failed to load wasm binary file at '"+a+"'";return c.arrayBuffer()}).catch(function(){return La(a)});if(ja)return new Promise(function(c,d){ja(a,function(e){c(new Uint8Array(e))},d)})}return Promise.resolve().then(function(){return La(a)})} -function Na(a,c,d){return Ma(a).then(function(e){return WebAssembly.instantiate(e,c)}).then(function(e){return e}).then(d,function(e){ma("failed to asynchronously prepare wasm: "+e);oa(e)})} -function Oa(a,c){var d=Ja;return na||"function"!=typeof WebAssembly.instantiateStreaming||Ia(d)||d.startsWith("file://")||fa||"function"!=typeof fetch?Na(d,a,c):fetch(d,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(c,function(g){ma("wasm streaming compile failed: "+g);ma("falling back to ArrayBuffer instantiation");return Na(d,a,c)})})} -var Pa={27338:(a,c,d,e)=>{a=b.getCache(b.DebugDrawer)[a];if(!a.hasOwnProperty("drawLine"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine.";a.drawLine(c,d,e)},27558:(a,c,d,e,g,n)=>{a=b.getCache(b.DebugDrawer)[a];if(!a.hasOwnProperty("drawContactPoint"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint.";a.drawContactPoint(c,d,e,g,n)},27808:(a,c)=>{a=b.getCache(b.DebugDrawer)[a];if(!a.hasOwnProperty("reportErrorWarning"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning."; -a.reportErrorWarning(c)},28052:(a,c,d)=>{a=b.getCache(b.DebugDrawer)[a];if(!a.hasOwnProperty("draw3dText"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText.";a.draw3dText(c,d)},28275:(a,c)=>{a=b.getCache(b.DebugDrawer)[a];if(!a.hasOwnProperty("setDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode.";a.setDebugMode(c)},28501:a=>{a=b.getCache(b.DebugDrawer)[a];if(!a.hasOwnProperty("getDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode."; -return a.getDebugMode()},28732:(a,c)=>{a=b.getCache(b.MotionState)[a];if(!a.hasOwnProperty("getWorldTransform"))throw"a JSImplementation must implement all functions, you forgot MotionState::getWorldTransform.";a.getWorldTransform(c)},28973:(a,c)=>{a=b.getCache(b.MotionState)[a];if(!a.hasOwnProperty("setWorldTransform"))throw"a JSImplementation must implement all functions, you forgot MotionState::setWorldTransform.";a.setWorldTransform(c)},29214:(a,c,d,e,g,n,z,T)=>{a=b.getCache(b.ConcreteContactResultCallback)[a]; -if(!a.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return a.addSingleResult(c,d,e,g,n,z,T)}};function Qa(a){for(;0>=2;e=ta[c++];)d+=105!=e&d,Ra.push(105==e?va[d]:xa[d++>>1]),++d;return Pa[a].apply(null,Ra)} -var Ta=[],Ua=void 0,Va=[],Wa={b:function(){oa("")},f:function(a,c,d){return Sa(a,c,d)},a:function(a,c,d){return Sa(a,c,d)},d:function(){return Date.now()},e:function(a,c,d){ta.copyWithin(a,c,c+d)},c:function(){oa("OOM")}}; -(function(){function a(d){d=d.exports;b.asm=d;pa=b.asm.g;var e=pa.buffer;b.HEAP8=ua=new Int8Array(e);b.HEAP16=new Int16Array(e);b.HEAP32=va=new Int32Array(e);b.HEAPU8=ta=new Uint8Array(e);b.HEAPU16=new Uint16Array(e);b.HEAPU32=new Uint32Array(e);b.HEAPF32=wa=new Float32Array(e);b.HEAPF64=xa=new Float64Array(e);ya=b.asm.iB;Aa.unshift(b.asm.h);Fa--;b.monitorRunDependencies&&b.monitorRunDependencies(Fa);0==Fa&&(null!==Ga&&(clearInterval(Ga),Ga=null),Ha&&(e=Ha,Ha=null,e()));return d}var c={a:Wa};Fa++; -b.monitorRunDependencies&&b.monitorRunDependencies(Fa);if(b.instantiateWasm)try{return b.instantiateWasm(c,a)}catch(d){ma("Module.instantiateWasm callback failed with error: "+d),ba(d)}Oa(c,function(d){a(d.instance)}).catch(ba);return{}})(); -var Xa=b._emscripten_bind_btCollisionShape_setLocalScaling_1=function(){return(Xa=b._emscripten_bind_btCollisionShape_setLocalScaling_1=b.asm.i).apply(null,arguments)},Ya=b._emscripten_bind_btCollisionShape_getLocalScaling_0=function(){return(Ya=b._emscripten_bind_btCollisionShape_getLocalScaling_0=b.asm.j).apply(null,arguments)},Za=b._emscripten_bind_btCollisionShape_calculateLocalInertia_2=function(){return(Za=b._emscripten_bind_btCollisionShape_calculateLocalInertia_2=b.asm.k).apply(null,arguments)}, -$a=b._emscripten_bind_btCollisionShape_setMargin_1=function(){return($a=b._emscripten_bind_btCollisionShape_setMargin_1=b.asm.l).apply(null,arguments)},ab=b._emscripten_bind_btCollisionShape_getMargin_0=function(){return(ab=b._emscripten_bind_btCollisionShape_getMargin_0=b.asm.m).apply(null,arguments)},bb=b._emscripten_bind_btCollisionShape___destroy___0=function(){return(bb=b._emscripten_bind_btCollisionShape___destroy___0=b.asm.n).apply(null,arguments)},cb=b._emscripten_bind_btCollisionWorld_getDispatcher_0= -function(){return(cb=b._emscripten_bind_btCollisionWorld_getDispatcher_0=b.asm.o).apply(null,arguments)},db=b._emscripten_bind_btCollisionWorld_rayTest_3=function(){return(db=b._emscripten_bind_btCollisionWorld_rayTest_3=b.asm.p).apply(null,arguments)},eb=b._emscripten_bind_btCollisionWorld_getPairCache_0=function(){return(eb=b._emscripten_bind_btCollisionWorld_getPairCache_0=b.asm.q).apply(null,arguments)},fb=b._emscripten_bind_btCollisionWorld_getDispatchInfo_0=function(){return(fb=b._emscripten_bind_btCollisionWorld_getDispatchInfo_0= -b.asm.r).apply(null,arguments)},gb=b._emscripten_bind_btCollisionWorld_addCollisionObject_1=function(){return(gb=b._emscripten_bind_btCollisionWorld_addCollisionObject_1=b.asm.s).apply(null,arguments)},hb=b._emscripten_bind_btCollisionWorld_addCollisionObject_2=function(){return(hb=b._emscripten_bind_btCollisionWorld_addCollisionObject_2=b.asm.t).apply(null,arguments)},ib=b._emscripten_bind_btCollisionWorld_addCollisionObject_3=function(){return(ib=b._emscripten_bind_btCollisionWorld_addCollisionObject_3= -b.asm.u).apply(null,arguments)},jb=b._emscripten_bind_btCollisionWorld_removeCollisionObject_1=function(){return(jb=b._emscripten_bind_btCollisionWorld_removeCollisionObject_1=b.asm.v).apply(null,arguments)},kb=b._emscripten_bind_btCollisionWorld_getBroadphase_0=function(){return(kb=b._emscripten_bind_btCollisionWorld_getBroadphase_0=b.asm.w).apply(null,arguments)},lb=b._emscripten_bind_btCollisionWorld_convexSweepTest_5=function(){return(lb=b._emscripten_bind_btCollisionWorld_convexSweepTest_5=b.asm.x).apply(null, -arguments)},mb=b._emscripten_bind_btCollisionWorld_contactPairTest_3=function(){return(mb=b._emscripten_bind_btCollisionWorld_contactPairTest_3=b.asm.y).apply(null,arguments)},nb=b._emscripten_bind_btCollisionWorld_contactTest_2=function(){return(nb=b._emscripten_bind_btCollisionWorld_contactTest_2=b.asm.z).apply(null,arguments)},ob=b._emscripten_bind_btCollisionWorld_updateSingleAabb_1=function(){return(ob=b._emscripten_bind_btCollisionWorld_updateSingleAabb_1=b.asm.A).apply(null,arguments)},pb= -b._emscripten_bind_btCollisionWorld_setDebugDrawer_1=function(){return(pb=b._emscripten_bind_btCollisionWorld_setDebugDrawer_1=b.asm.B).apply(null,arguments)},qb=b._emscripten_bind_btCollisionWorld_getDebugDrawer_0=function(){return(qb=b._emscripten_bind_btCollisionWorld_getDebugDrawer_0=b.asm.C).apply(null,arguments)},rb=b._emscripten_bind_btCollisionWorld_debugDrawWorld_0=function(){return(rb=b._emscripten_bind_btCollisionWorld_debugDrawWorld_0=b.asm.D).apply(null,arguments)},sb=b._emscripten_bind_btCollisionWorld_debugDrawObject_3= -function(){return(sb=b._emscripten_bind_btCollisionWorld_debugDrawObject_3=b.asm.E).apply(null,arguments)},tb=b._emscripten_bind_btCollisionWorld___destroy___0=function(){return(tb=b._emscripten_bind_btCollisionWorld___destroy___0=b.asm.F).apply(null,arguments)},ub=b._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=function(){return(ub=b._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=b.asm.G).apply(null,arguments)},vb=b._emscripten_bind_btCollisionObject_getCollisionShape_0= -function(){return(vb=b._emscripten_bind_btCollisionObject_getCollisionShape_0=b.asm.H).apply(null,arguments)},wb=b._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=function(){return(wb=b._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=b.asm.I).apply(null,arguments)},xb=b._emscripten_bind_btCollisionObject_setActivationState_1=function(){return(xb=b._emscripten_bind_btCollisionObject_setActivationState_1=b.asm.J).apply(null,arguments)},yb=b._emscripten_bind_btCollisionObject_forceActivationState_1= -function(){return(yb=b._emscripten_bind_btCollisionObject_forceActivationState_1=b.asm.K).apply(null,arguments)},zb=b._emscripten_bind_btCollisionObject_activate_0=function(){return(zb=b._emscripten_bind_btCollisionObject_activate_0=b.asm.L).apply(null,arguments)},Ab=b._emscripten_bind_btCollisionObject_activate_1=function(){return(Ab=b._emscripten_bind_btCollisionObject_activate_1=b.asm.M).apply(null,arguments)},Bb=b._emscripten_bind_btCollisionObject_isActive_0=function(){return(Bb=b._emscripten_bind_btCollisionObject_isActive_0= -b.asm.N).apply(null,arguments)},Cb=b._emscripten_bind_btCollisionObject_isKinematicObject_0=function(){return(Cb=b._emscripten_bind_btCollisionObject_isKinematicObject_0=b.asm.O).apply(null,arguments)},Db=b._emscripten_bind_btCollisionObject_isStaticObject_0=function(){return(Db=b._emscripten_bind_btCollisionObject_isStaticObject_0=b.asm.P).apply(null,arguments)},Eb=b._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=function(){return(Eb=b._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0= -b.asm.Q).apply(null,arguments)},Fb=b._emscripten_bind_btCollisionObject_getRestitution_0=function(){return(Fb=b._emscripten_bind_btCollisionObject_getRestitution_0=b.asm.R).apply(null,arguments)},Gb=b._emscripten_bind_btCollisionObject_getFriction_0=function(){return(Gb=b._emscripten_bind_btCollisionObject_getFriction_0=b.asm.S).apply(null,arguments)},Hb=b._emscripten_bind_btCollisionObject_getRollingFriction_0=function(){return(Hb=b._emscripten_bind_btCollisionObject_getRollingFriction_0=b.asm.T).apply(null, -arguments)},Ib=b._emscripten_bind_btCollisionObject_setRestitution_1=function(){return(Ib=b._emscripten_bind_btCollisionObject_setRestitution_1=b.asm.U).apply(null,arguments)},Jb=b._emscripten_bind_btCollisionObject_setFriction_1=function(){return(Jb=b._emscripten_bind_btCollisionObject_setFriction_1=b.asm.V).apply(null,arguments)},Kb=b._emscripten_bind_btCollisionObject_setRollingFriction_1=function(){return(Kb=b._emscripten_bind_btCollisionObject_setRollingFriction_1=b.asm.W).apply(null,arguments)}, -Lb=b._emscripten_bind_btCollisionObject_getWorldTransform_0=function(){return(Lb=b._emscripten_bind_btCollisionObject_getWorldTransform_0=b.asm.X).apply(null,arguments)},Mb=b._emscripten_bind_btCollisionObject_getCollisionFlags_0=function(){return(Mb=b._emscripten_bind_btCollisionObject_getCollisionFlags_0=b.asm.Y).apply(null,arguments)},Nb=b._emscripten_bind_btCollisionObject_setCollisionFlags_1=function(){return(Nb=b._emscripten_bind_btCollisionObject_setCollisionFlags_1=b.asm.Z).apply(null,arguments)}, -Ob=b._emscripten_bind_btCollisionObject_setWorldTransform_1=function(){return(Ob=b._emscripten_bind_btCollisionObject_setWorldTransform_1=b.asm._).apply(null,arguments)},Pb=b._emscripten_bind_btCollisionObject_setCollisionShape_1=function(){return(Pb=b._emscripten_bind_btCollisionObject_setCollisionShape_1=b.asm.$).apply(null,arguments)},Qb=b._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=function(){return(Qb=b._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=b.asm.aa).apply(null, -arguments)},Rb=b._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=function(){return(Rb=b._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=b.asm.ba).apply(null,arguments)},Sb=b._emscripten_bind_btCollisionObject_getUserIndex_0=function(){return(Sb=b._emscripten_bind_btCollisionObject_getUserIndex_0=b.asm.ca).apply(null,arguments)},Tb=b._emscripten_bind_btCollisionObject_setUserIndex_1=function(){return(Tb=b._emscripten_bind_btCollisionObject_setUserIndex_1=b.asm.da).apply(null, -arguments)},Ub=b._emscripten_bind_btCollisionObject_getUserPointer_0=function(){return(Ub=b._emscripten_bind_btCollisionObject_getUserPointer_0=b.asm.ea).apply(null,arguments)},Vb=b._emscripten_bind_btCollisionObject_setUserPointer_1=function(){return(Vb=b._emscripten_bind_btCollisionObject_setUserPointer_1=b.asm.fa).apply(null,arguments)},Wb=b._emscripten_bind_btCollisionObject_getBroadphaseHandle_0=function(){return(Wb=b._emscripten_bind_btCollisionObject_getBroadphaseHandle_0=b.asm.ga).apply(null, -arguments)},Xb=b._emscripten_bind_btCollisionObject___destroy___0=function(){return(Xb=b._emscripten_bind_btCollisionObject___destroy___0=b.asm.ha).apply(null,arguments)},Yb=b._emscripten_bind_btConcaveShape_setLocalScaling_1=function(){return(Yb=b._emscripten_bind_btConcaveShape_setLocalScaling_1=b.asm.ia).apply(null,arguments)},Zb=b._emscripten_bind_btConcaveShape_getLocalScaling_0=function(){return(Zb=b._emscripten_bind_btConcaveShape_getLocalScaling_0=b.asm.ja).apply(null,arguments)},$b=b._emscripten_bind_btConcaveShape_calculateLocalInertia_2= -function(){return($b=b._emscripten_bind_btConcaveShape_calculateLocalInertia_2=b.asm.ka).apply(null,arguments)},ac=b._emscripten_bind_btConcaveShape___destroy___0=function(){return(ac=b._emscripten_bind_btConcaveShape___destroy___0=b.asm.la).apply(null,arguments)},bc=b._emscripten_bind_btCollisionAlgorithm___destroy___0=function(){return(bc=b._emscripten_bind_btCollisionAlgorithm___destroy___0=b.asm.ma).apply(null,arguments)},cc=b._emscripten_bind_btTypedConstraint_enableFeedback_1=function(){return(cc= -b._emscripten_bind_btTypedConstraint_enableFeedback_1=b.asm.na).apply(null,arguments)},ec=b._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=function(){return(ec=b._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=b.asm.oa).apply(null,arguments)},fc=b._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=function(){return(fc=b._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=b.asm.pa).apply(null,arguments)},gc=b._emscripten_bind_btTypedConstraint_getParam_2= -function(){return(gc=b._emscripten_bind_btTypedConstraint_getParam_2=b.asm.qa).apply(null,arguments)},hc=b._emscripten_bind_btTypedConstraint_setParam_3=function(){return(hc=b._emscripten_bind_btTypedConstraint_setParam_3=b.asm.ra).apply(null,arguments)},ic=b._emscripten_bind_btTypedConstraint___destroy___0=function(){return(ic=b._emscripten_bind_btTypedConstraint___destroy___0=b.asm.sa).apply(null,arguments)},jc=b._emscripten_bind_btDynamicsWorld_addAction_1=function(){return(jc=b._emscripten_bind_btDynamicsWorld_addAction_1= -b.asm.ta).apply(null,arguments)},kc=b._emscripten_bind_btDynamicsWorld_removeAction_1=function(){return(kc=b._emscripten_bind_btDynamicsWorld_removeAction_1=b.asm.ua).apply(null,arguments)},lc=b._emscripten_bind_btDynamicsWorld_getSolverInfo_0=function(){return(lc=b._emscripten_bind_btDynamicsWorld_getSolverInfo_0=b.asm.va).apply(null,arguments)},mc=b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_1=function(){return(mc=b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_1=b.asm.wa).apply(null, -arguments)},nc=b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_2=function(){return(nc=b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_2=b.asm.xa).apply(null,arguments)},oc=b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_3=function(){return(oc=b._emscripten_bind_btDynamicsWorld_setInternalTickCallback_3=b.asm.ya).apply(null,arguments)},pc=b._emscripten_bind_btDynamicsWorld_getDispatcher_0=function(){return(pc=b._emscripten_bind_btDynamicsWorld_getDispatcher_0=b.asm.za).apply(null, -arguments)},qc=b._emscripten_bind_btDynamicsWorld_rayTest_3=function(){return(qc=b._emscripten_bind_btDynamicsWorld_rayTest_3=b.asm.Aa).apply(null,arguments)},rc=b._emscripten_bind_btDynamicsWorld_getPairCache_0=function(){return(rc=b._emscripten_bind_btDynamicsWorld_getPairCache_0=b.asm.Ba).apply(null,arguments)},sc=b._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=function(){return(sc=b._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=b.asm.Ca).apply(null,arguments)},tc=b._emscripten_bind_btDynamicsWorld_addCollisionObject_1= -function(){return(tc=b._emscripten_bind_btDynamicsWorld_addCollisionObject_1=b.asm.Da).apply(null,arguments)},uc=b._emscripten_bind_btDynamicsWorld_addCollisionObject_2=function(){return(uc=b._emscripten_bind_btDynamicsWorld_addCollisionObject_2=b.asm.Ea).apply(null,arguments)},vc=b._emscripten_bind_btDynamicsWorld_addCollisionObject_3=function(){return(vc=b._emscripten_bind_btDynamicsWorld_addCollisionObject_3=b.asm.Fa).apply(null,arguments)},wc=b._emscripten_bind_btDynamicsWorld_removeCollisionObject_1= -function(){return(wc=b._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=b.asm.Ga).apply(null,arguments)},xc=b._emscripten_bind_btDynamicsWorld_getBroadphase_0=function(){return(xc=b._emscripten_bind_btDynamicsWorld_getBroadphase_0=b.asm.Ha).apply(null,arguments)},yc=b._emscripten_bind_btDynamicsWorld_convexSweepTest_5=function(){return(yc=b._emscripten_bind_btDynamicsWorld_convexSweepTest_5=b.asm.Ia).apply(null,arguments)},zc=b._emscripten_bind_btDynamicsWorld_contactPairTest_3=function(){return(zc= -b._emscripten_bind_btDynamicsWorld_contactPairTest_3=b.asm.Ja).apply(null,arguments)},Ac=b._emscripten_bind_btDynamicsWorld_contactTest_2=function(){return(Ac=b._emscripten_bind_btDynamicsWorld_contactTest_2=b.asm.Ka).apply(null,arguments)},Bc=b._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=function(){return(Bc=b._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=b.asm.La).apply(null,arguments)},Cc=b._emscripten_bind_btDynamicsWorld_setDebugDrawer_1=function(){return(Cc=b._emscripten_bind_btDynamicsWorld_setDebugDrawer_1= -b.asm.Ma).apply(null,arguments)},Dc=b._emscripten_bind_btDynamicsWorld_getDebugDrawer_0=function(){return(Dc=b._emscripten_bind_btDynamicsWorld_getDebugDrawer_0=b.asm.Na).apply(null,arguments)},Ec=b._emscripten_bind_btDynamicsWorld_debugDrawWorld_0=function(){return(Ec=b._emscripten_bind_btDynamicsWorld_debugDrawWorld_0=b.asm.Oa).apply(null,arguments)},Fc=b._emscripten_bind_btDynamicsWorld_debugDrawObject_3=function(){return(Fc=b._emscripten_bind_btDynamicsWorld_debugDrawObject_3=b.asm.Pa).apply(null, -arguments)},Gc=b._emscripten_bind_btDynamicsWorld___destroy___0=function(){return(Gc=b._emscripten_bind_btDynamicsWorld___destroy___0=b.asm.Qa).apply(null,arguments)},Hc=b._emscripten_bind_btIDebugDraw_drawLine_3=function(){return(Hc=b._emscripten_bind_btIDebugDraw_drawLine_3=b.asm.Ra).apply(null,arguments)},Ic=b._emscripten_bind_btIDebugDraw_drawContactPoint_5=function(){return(Ic=b._emscripten_bind_btIDebugDraw_drawContactPoint_5=b.asm.Sa).apply(null,arguments)},Jc=b._emscripten_bind_btIDebugDraw_reportErrorWarning_1= -function(){return(Jc=b._emscripten_bind_btIDebugDraw_reportErrorWarning_1=b.asm.Ta).apply(null,arguments)},Kc=b._emscripten_bind_btIDebugDraw_draw3dText_2=function(){return(Kc=b._emscripten_bind_btIDebugDraw_draw3dText_2=b.asm.Ua).apply(null,arguments)},Lc=b._emscripten_bind_btIDebugDraw_setDebugMode_1=function(){return(Lc=b._emscripten_bind_btIDebugDraw_setDebugMode_1=b.asm.Va).apply(null,arguments)},Mc=b._emscripten_bind_btIDebugDraw_getDebugMode_0=function(){return(Mc=b._emscripten_bind_btIDebugDraw_getDebugMode_0= -b.asm.Wa).apply(null,arguments)},Nc=b._emscripten_bind_btIDebugDraw___destroy___0=function(){return(Nc=b._emscripten_bind_btIDebugDraw___destroy___0=b.asm.Xa).apply(null,arguments)},Oc=b._emscripten_bind_btVector3_btVector3_0=function(){return(Oc=b._emscripten_bind_btVector3_btVector3_0=b.asm.Ya).apply(null,arguments)},Pc=b._emscripten_bind_btVector3_btVector3_3=function(){return(Pc=b._emscripten_bind_btVector3_btVector3_3=b.asm.Za).apply(null,arguments)},Qc=b._emscripten_bind_btVector3_length_0= -function(){return(Qc=b._emscripten_bind_btVector3_length_0=b.asm._a).apply(null,arguments)},Rc=b._emscripten_bind_btVector3_x_0=function(){return(Rc=b._emscripten_bind_btVector3_x_0=b.asm.$a).apply(null,arguments)},Sc=b._emscripten_bind_btVector3_y_0=function(){return(Sc=b._emscripten_bind_btVector3_y_0=b.asm.ab).apply(null,arguments)},Tc=b._emscripten_bind_btVector3_z_0=function(){return(Tc=b._emscripten_bind_btVector3_z_0=b.asm.bb).apply(null,arguments)},Uc=b._emscripten_bind_btVector3_setX_1=function(){return(Uc= -b._emscripten_bind_btVector3_setX_1=b.asm.cb).apply(null,arguments)},Vc=b._emscripten_bind_btVector3_setY_1=function(){return(Vc=b._emscripten_bind_btVector3_setY_1=b.asm.db).apply(null,arguments)},Wc=b._emscripten_bind_btVector3_setZ_1=function(){return(Wc=b._emscripten_bind_btVector3_setZ_1=b.asm.eb).apply(null,arguments)},Xc=b._emscripten_bind_btVector3_setValue_3=function(){return(Xc=b._emscripten_bind_btVector3_setValue_3=b.asm.fb).apply(null,arguments)},Yc=b._emscripten_bind_btVector3_normalize_0= -function(){return(Yc=b._emscripten_bind_btVector3_normalize_0=b.asm.gb).apply(null,arguments)},Zc=b._emscripten_bind_btVector3_rotate_2=function(){return(Zc=b._emscripten_bind_btVector3_rotate_2=b.asm.hb).apply(null,arguments)},$c=b._emscripten_bind_btVector3_dot_1=function(){return($c=b._emscripten_bind_btVector3_dot_1=b.asm.ib).apply(null,arguments)},ad=b._emscripten_bind_btVector3_op_mul_1=function(){return(ad=b._emscripten_bind_btVector3_op_mul_1=b.asm.jb).apply(null,arguments)},bd=b._emscripten_bind_btVector3_op_add_1= -function(){return(bd=b._emscripten_bind_btVector3_op_add_1=b.asm.kb).apply(null,arguments)},cd=b._emscripten_bind_btVector3_op_sub_1=function(){return(cd=b._emscripten_bind_btVector3_op_sub_1=b.asm.lb).apply(null,arguments)},dd=b._emscripten_bind_btVector3___destroy___0=function(){return(dd=b._emscripten_bind_btVector3___destroy___0=b.asm.mb).apply(null,arguments)},ed=b._emscripten_bind_btQuadWord_x_0=function(){return(ed=b._emscripten_bind_btQuadWord_x_0=b.asm.nb).apply(null,arguments)},fd=b._emscripten_bind_btQuadWord_y_0= -function(){return(fd=b._emscripten_bind_btQuadWord_y_0=b.asm.ob).apply(null,arguments)},gd=b._emscripten_bind_btQuadWord_z_0=function(){return(gd=b._emscripten_bind_btQuadWord_z_0=b.asm.pb).apply(null,arguments)},hd=b._emscripten_bind_btQuadWord_w_0=function(){return(hd=b._emscripten_bind_btQuadWord_w_0=b.asm.qb).apply(null,arguments)},jd=b._emscripten_bind_btQuadWord_setX_1=function(){return(jd=b._emscripten_bind_btQuadWord_setX_1=b.asm.rb).apply(null,arguments)},kd=b._emscripten_bind_btQuadWord_setY_1= -function(){return(kd=b._emscripten_bind_btQuadWord_setY_1=b.asm.sb).apply(null,arguments)},ld=b._emscripten_bind_btQuadWord_setZ_1=function(){return(ld=b._emscripten_bind_btQuadWord_setZ_1=b.asm.tb).apply(null,arguments)},md=b._emscripten_bind_btQuadWord_setW_1=function(){return(md=b._emscripten_bind_btQuadWord_setW_1=b.asm.ub).apply(null,arguments)},nd=b._emscripten_bind_btQuadWord___destroy___0=function(){return(nd=b._emscripten_bind_btQuadWord___destroy___0=b.asm.vb).apply(null,arguments)},od= -b._emscripten_bind_btMotionState_getWorldTransform_1=function(){return(od=b._emscripten_bind_btMotionState_getWorldTransform_1=b.asm.wb).apply(null,arguments)},pd=b._emscripten_bind_btMotionState_setWorldTransform_1=function(){return(pd=b._emscripten_bind_btMotionState_setWorldTransform_1=b.asm.xb).apply(null,arguments)},qd=b._emscripten_bind_btMotionState___destroy___0=function(){return(qd=b._emscripten_bind_btMotionState___destroy___0=b.asm.yb).apply(null,arguments)},rd=b._emscripten_bind_RayResultCallback_hasHit_0= -function(){return(rd=b._emscripten_bind_RayResultCallback_hasHit_0=b.asm.zb).apply(null,arguments)},sd=b._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=function(){return(sd=b._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=b.asm.Ab).apply(null,arguments)},td=b._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=function(){return(td=b._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=b.asm.Bb).apply(null,arguments)},ud=b._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0= -function(){return(ud=b._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=b.asm.Cb).apply(null,arguments)},vd=b._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=function(){return(vd=b._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=b.asm.Db).apply(null,arguments)},wd=b._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=function(){return(wd=b._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=b.asm.Eb).apply(null,arguments)},xd=b._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1= -function(){return(xd=b._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=b.asm.Fb).apply(null,arguments)},yd=b._emscripten_bind_RayResultCallback_get_m_collisionObject_0=function(){return(yd=b._emscripten_bind_RayResultCallback_get_m_collisionObject_0=b.asm.Gb).apply(null,arguments)},zd=b._emscripten_bind_RayResultCallback_set_m_collisionObject_1=function(){return(zd=b._emscripten_bind_RayResultCallback_set_m_collisionObject_1=b.asm.Hb).apply(null,arguments)},Ad=b._emscripten_bind_RayResultCallback_get_m_flags_0= -function(){return(Ad=b._emscripten_bind_RayResultCallback_get_m_flags_0=b.asm.Ib).apply(null,arguments)},Bd=b._emscripten_bind_RayResultCallback_set_m_flags_1=function(){return(Bd=b._emscripten_bind_RayResultCallback_set_m_flags_1=b.asm.Jb).apply(null,arguments)},Cd=b._emscripten_bind_RayResultCallback___destroy___0=function(){return(Cd=b._emscripten_bind_RayResultCallback___destroy___0=b.asm.Kb).apply(null,arguments)},Dd=b._emscripten_bind_ContactResultCallback_addSingleResult_7=function(){return(Dd= -b._emscripten_bind_ContactResultCallback_addSingleResult_7=b.asm.Lb).apply(null,arguments)},Ed=b._emscripten_bind_ContactResultCallback___destroy___0=function(){return(Ed=b._emscripten_bind_ContactResultCallback___destroy___0=b.asm.Mb).apply(null,arguments)},Fd=b._emscripten_bind_ConvexResultCallback_hasHit_0=function(){return(Fd=b._emscripten_bind_ConvexResultCallback_hasHit_0=b.asm.Nb).apply(null,arguments)},Gd=b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=function(){return(Gd= -b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=b.asm.Ob).apply(null,arguments)},Hd=b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=function(){return(Hd=b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=b.asm.Pb).apply(null,arguments)},Id=b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=function(){return(Id=b._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=b.asm.Qb).apply(null,arguments)},Jd=b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1= -function(){return(Jd=b._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=b.asm.Rb).apply(null,arguments)},Kd=b._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=function(){return(Kd=b._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=b.asm.Sb).apply(null,arguments)},Ld=b._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=function(){return(Ld=b._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=b.asm.Tb).apply(null,arguments)}, -Md=b._emscripten_bind_ConvexResultCallback___destroy___0=function(){return(Md=b._emscripten_bind_ConvexResultCallback___destroy___0=b.asm.Ub).apply(null,arguments)},Nd=b._emscripten_bind_btConvexShape_setLocalScaling_1=function(){return(Nd=b._emscripten_bind_btConvexShape_setLocalScaling_1=b.asm.Vb).apply(null,arguments)},Od=b._emscripten_bind_btConvexShape_getLocalScaling_0=function(){return(Od=b._emscripten_bind_btConvexShape_getLocalScaling_0=b.asm.Wb).apply(null,arguments)},Pd=b._emscripten_bind_btConvexShape_calculateLocalInertia_2= -function(){return(Pd=b._emscripten_bind_btConvexShape_calculateLocalInertia_2=b.asm.Xb).apply(null,arguments)},Qd=b._emscripten_bind_btConvexShape_setMargin_1=function(){return(Qd=b._emscripten_bind_btConvexShape_setMargin_1=b.asm.Yb).apply(null,arguments)},Rd=b._emscripten_bind_btConvexShape_getMargin_0=function(){return(Rd=b._emscripten_bind_btConvexShape_getMargin_0=b.asm.Zb).apply(null,arguments)},Sd=b._emscripten_bind_btConvexShape___destroy___0=function(){return(Sd=b._emscripten_bind_btConvexShape___destroy___0= -b.asm._b).apply(null,arguments)},Td=b._emscripten_bind_btCapsuleShape_btCapsuleShape_2=function(){return(Td=b._emscripten_bind_btCapsuleShape_btCapsuleShape_2=b.asm.$b).apply(null,arguments)},Ud=b._emscripten_bind_btCapsuleShape_setMargin_1=function(){return(Ud=b._emscripten_bind_btCapsuleShape_setMargin_1=b.asm.ac).apply(null,arguments)},Vd=b._emscripten_bind_btCapsuleShape_getMargin_0=function(){return(Vd=b._emscripten_bind_btCapsuleShape_getMargin_0=b.asm.bc).apply(null,arguments)},Wd=b._emscripten_bind_btCapsuleShape_getUpAxis_0= -function(){return(Wd=b._emscripten_bind_btCapsuleShape_getUpAxis_0=b.asm.cc).apply(null,arguments)},Xd=b._emscripten_bind_btCapsuleShape_getRadius_0=function(){return(Xd=b._emscripten_bind_btCapsuleShape_getRadius_0=b.asm.dc).apply(null,arguments)},Yd=b._emscripten_bind_btCapsuleShape_getHalfHeight_0=function(){return(Yd=b._emscripten_bind_btCapsuleShape_getHalfHeight_0=b.asm.ec).apply(null,arguments)},Zd=b._emscripten_bind_btCapsuleShape_setLocalScaling_1=function(){return(Zd=b._emscripten_bind_btCapsuleShape_setLocalScaling_1= -b.asm.fc).apply(null,arguments)},$d=b._emscripten_bind_btCapsuleShape_getLocalScaling_0=function(){return($d=b._emscripten_bind_btCapsuleShape_getLocalScaling_0=b.asm.gc).apply(null,arguments)},ae=b._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=function(){return(ae=b._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=b.asm.hc).apply(null,arguments)},be=b._emscripten_bind_btCapsuleShape___destroy___0=function(){return(be=b._emscripten_bind_btCapsuleShape___destroy___0=b.asm.ic).apply(null, -arguments)},ce=b._emscripten_bind_btCylinderShape_btCylinderShape_1=function(){return(ce=b._emscripten_bind_btCylinderShape_btCylinderShape_1=b.asm.jc).apply(null,arguments)},de=b._emscripten_bind_btCylinderShape_setMargin_1=function(){return(de=b._emscripten_bind_btCylinderShape_setMargin_1=b.asm.kc).apply(null,arguments)},ee=b._emscripten_bind_btCylinderShape_getMargin_0=function(){return(ee=b._emscripten_bind_btCylinderShape_getMargin_0=b.asm.lc).apply(null,arguments)},fe=b._emscripten_bind_btCylinderShape_setLocalScaling_1= -function(){return(fe=b._emscripten_bind_btCylinderShape_setLocalScaling_1=b.asm.mc).apply(null,arguments)},ge=b._emscripten_bind_btCylinderShape_getLocalScaling_0=function(){return(ge=b._emscripten_bind_btCylinderShape_getLocalScaling_0=b.asm.nc).apply(null,arguments)},he=b._emscripten_bind_btCylinderShape_calculateLocalInertia_2=function(){return(he=b._emscripten_bind_btCylinderShape_calculateLocalInertia_2=b.asm.oc).apply(null,arguments)},ie=b._emscripten_bind_btCylinderShape___destroy___0=function(){return(ie= -b._emscripten_bind_btCylinderShape___destroy___0=b.asm.pc).apply(null,arguments)},je=b._emscripten_bind_btConeShape_btConeShape_2=function(){return(je=b._emscripten_bind_btConeShape_btConeShape_2=b.asm.qc).apply(null,arguments)},ke=b._emscripten_bind_btConeShape_setLocalScaling_1=function(){return(ke=b._emscripten_bind_btConeShape_setLocalScaling_1=b.asm.rc).apply(null,arguments)},le=b._emscripten_bind_btConeShape_getLocalScaling_0=function(){return(le=b._emscripten_bind_btConeShape_getLocalScaling_0= -b.asm.sc).apply(null,arguments)},me=b._emscripten_bind_btConeShape_calculateLocalInertia_2=function(){return(me=b._emscripten_bind_btConeShape_calculateLocalInertia_2=b.asm.tc).apply(null,arguments)},ne=b._emscripten_bind_btConeShape___destroy___0=function(){return(ne=b._emscripten_bind_btConeShape___destroy___0=b.asm.uc).apply(null,arguments)},oe=b._emscripten_bind_btStridingMeshInterface_setScaling_1=function(){return(oe=b._emscripten_bind_btStridingMeshInterface_setScaling_1=b.asm.vc).apply(null, -arguments)},pe=b._emscripten_bind_btStridingMeshInterface___destroy___0=function(){return(pe=b._emscripten_bind_btStridingMeshInterface___destroy___0=b.asm.wc).apply(null,arguments)},qe=b._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=function(){return(qe=b._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=b.asm.xc).apply(null,arguments)},re=b._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=function(){return(re=b._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=b.asm.yc).apply(null, -arguments)},se=b._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=function(){return(se=b._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=b.asm.zc).apply(null,arguments)},te=b._emscripten_bind_btTriangleMeshShape___destroy___0=function(){return(te=b._emscripten_bind_btTriangleMeshShape___destroy___0=b.asm.Ac).apply(null,arguments)},ue=b._emscripten_bind_btPrimitiveManagerBase_is_trimesh_0=function(){return(ue=b._emscripten_bind_btPrimitiveManagerBase_is_trimesh_0=b.asm.Bc).apply(null, -arguments)},ve=b._emscripten_bind_btPrimitiveManagerBase_get_primitive_count_0=function(){return(ve=b._emscripten_bind_btPrimitiveManagerBase_get_primitive_count_0=b.asm.Cc).apply(null,arguments)},we=b._emscripten_bind_btPrimitiveManagerBase_get_primitive_box_2=function(){return(we=b._emscripten_bind_btPrimitiveManagerBase_get_primitive_box_2=b.asm.Dc).apply(null,arguments)},xe=b._emscripten_bind_btPrimitiveManagerBase_get_primitive_triangle_2=function(){return(xe=b._emscripten_bind_btPrimitiveManagerBase_get_primitive_triangle_2= -b.asm.Ec).apply(null,arguments)},ye=b._emscripten_bind_btPrimitiveManagerBase___destroy___0=function(){return(ye=b._emscripten_bind_btPrimitiveManagerBase___destroy___0=b.asm.Fc).apply(null,arguments)},ze=b._emscripten_bind_btGImpactShapeInterface_updateBound_0=function(){return(ze=b._emscripten_bind_btGImpactShapeInterface_updateBound_0=b.asm.Gc).apply(null,arguments)},Ae=b._emscripten_bind_btGImpactShapeInterface_postUpdate_0=function(){return(Ae=b._emscripten_bind_btGImpactShapeInterface_postUpdate_0= -b.asm.Hc).apply(null,arguments)},Be=b._emscripten_bind_btGImpactShapeInterface_getShapeType_0=function(){return(Be=b._emscripten_bind_btGImpactShapeInterface_getShapeType_0=b.asm.Ic).apply(null,arguments)},Ce=b._emscripten_bind_btGImpactShapeInterface_getName_0=function(){return(Ce=b._emscripten_bind_btGImpactShapeInterface_getName_0=b.asm.Jc).apply(null,arguments)},De=b._emscripten_bind_btGImpactShapeInterface_getGImpactShapeType_0=function(){return(De=b._emscripten_bind_btGImpactShapeInterface_getGImpactShapeType_0= -b.asm.Kc).apply(null,arguments)},Ee=b._emscripten_bind_btGImpactShapeInterface_getPrimitiveManager_0=function(){return(Ee=b._emscripten_bind_btGImpactShapeInterface_getPrimitiveManager_0=b.asm.Lc).apply(null,arguments)},Fe=b._emscripten_bind_btGImpactShapeInterface_getNumChildShapes_0=function(){return(Fe=b._emscripten_bind_btGImpactShapeInterface_getNumChildShapes_0=b.asm.Mc).apply(null,arguments)},Ge=b._emscripten_bind_btGImpactShapeInterface_childrenHasTransform_0=function(){return(Ge=b._emscripten_bind_btGImpactShapeInterface_childrenHasTransform_0= -b.asm.Nc).apply(null,arguments)},He=b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTriangles_0=function(){return(He=b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTriangles_0=b.asm.Oc).apply(null,arguments)},Ie=b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTetrahedrons_0=function(){return(Ie=b._emscripten_bind_btGImpactShapeInterface_needsRetrieveTetrahedrons_0=b.asm.Pc).apply(null,arguments)},Je=b._emscripten_bind_btGImpactShapeInterface_getBulletTriangle_2=function(){return(Je= -b._emscripten_bind_btGImpactShapeInterface_getBulletTriangle_2=b.asm.Qc).apply(null,arguments)},Ke=b._emscripten_bind_btGImpactShapeInterface_getBulletTetrahedron_2=function(){return(Ke=b._emscripten_bind_btGImpactShapeInterface_getBulletTetrahedron_2=b.asm.Rc).apply(null,arguments)},Le=b._emscripten_bind_btGImpactShapeInterface_getChildShape_1=function(){return(Le=b._emscripten_bind_btGImpactShapeInterface_getChildShape_1=b.asm.Sc).apply(null,arguments)},Me=b._emscripten_bind_btGImpactShapeInterface_getChildTransform_1= -function(){return(Me=b._emscripten_bind_btGImpactShapeInterface_getChildTransform_1=b.asm.Tc).apply(null,arguments)},Ne=b._emscripten_bind_btGImpactShapeInterface_setChildTransform_2=function(){return(Ne=b._emscripten_bind_btGImpactShapeInterface_setChildTransform_2=b.asm.Uc).apply(null,arguments)},Oe=b._emscripten_bind_btGImpactShapeInterface_setLocalScaling_1=function(){return(Oe=b._emscripten_bind_btGImpactShapeInterface_setLocalScaling_1=b.asm.Vc).apply(null,arguments)},Pe=b._emscripten_bind_btGImpactShapeInterface_getLocalScaling_0= -function(){return(Pe=b._emscripten_bind_btGImpactShapeInterface_getLocalScaling_0=b.asm.Wc).apply(null,arguments)},Qe=b._emscripten_bind_btGImpactShapeInterface_calculateLocalInertia_2=function(){return(Qe=b._emscripten_bind_btGImpactShapeInterface_calculateLocalInertia_2=b.asm.Xc).apply(null,arguments)},Re=b._emscripten_bind_btGImpactShapeInterface___destroy___0=function(){return(Re=b._emscripten_bind_btGImpactShapeInterface___destroy___0=b.asm.Yc).apply(null,arguments)},Se=b._emscripten_bind_btActivatingCollisionAlgorithm___destroy___0= -function(){return(Se=b._emscripten_bind_btActivatingCollisionAlgorithm___destroy___0=b.asm.Zc).apply(null,arguments)},Te=b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=function(){return(Te=b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=b.asm._c).apply(null,arguments)},Ue=b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=function(){return(Ue=b._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1= -b.asm.$c).apply(null,arguments)},Ve=b._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=function(){return(Ve=b._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=b.asm.ad).apply(null,arguments)},We=b._emscripten_bind_btDispatcher_getNumManifolds_0=function(){return(We=b._emscripten_bind_btDispatcher_getNumManifolds_0=b.asm.bd).apply(null,arguments)},Xe=b._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=function(){return(Xe=b._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1= -b.asm.cd).apply(null,arguments)},Ye=b._emscripten_bind_btDispatcher___destroy___0=function(){return(Ye=b._emscripten_bind_btDispatcher___destroy___0=b.asm.dd).apply(null,arguments)},Ze=b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=function(){return(Ze=b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=b.asm.ed).apply(null,arguments)},$e=b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=function(){return($e=b._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5= -b.asm.fd).apply(null,arguments)},af=b._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=function(){return(af=b._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=b.asm.gd).apply(null,arguments)},bf=b._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=function(){return(bf=b._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=b.asm.hd).apply(null,arguments)},cf=b._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=function(){return(cf=b._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1= -b.asm.id).apply(null,arguments)},df=b._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=function(){return(df=b._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=b.asm.jd).apply(null,arguments)},ef=b._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=function(){return(ef=b._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=b.asm.kd).apply(null,arguments)},ff=b._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=function(){return(ff=b._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1= -b.asm.ld).apply(null,arguments)},gf=b._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=function(){return(gf=b._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=b.asm.md).apply(null,arguments)},hf=b._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=function(){return(hf=b._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=b.asm.nd).apply(null,arguments)},jf=b._emscripten_bind_btGeneric6DofConstraint_getParam_2=function(){return(jf= -b._emscripten_bind_btGeneric6DofConstraint_getParam_2=b.asm.od).apply(null,arguments)},kf=b._emscripten_bind_btGeneric6DofConstraint_setParam_3=function(){return(kf=b._emscripten_bind_btGeneric6DofConstraint_setParam_3=b.asm.pd).apply(null,arguments)},lf=b._emscripten_bind_btGeneric6DofConstraint___destroy___0=function(){return(lf=b._emscripten_bind_btGeneric6DofConstraint___destroy___0=b.asm.qd).apply(null,arguments)},mf=b._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=function(){return(mf= -b._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=b.asm.rd).apply(null,arguments)},nf=b._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=function(){return(nf=b._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=b.asm.sd).apply(null,arguments)},of=b._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=function(){return(of=b._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=b.asm.td).apply(null,arguments)},pf=b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1= -function(){return(pf=b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=b.asm.ud).apply(null,arguments)},qf=b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=function(){return(qf=b._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=b.asm.vd).apply(null,arguments)},rf=b._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=function(){return(rf=b._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=b.asm.wd).apply(null,arguments)},sf=b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1= -function(){return(sf=b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=b.asm.xd).apply(null,arguments)},tf=b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=function(){return(tf=b._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=b.asm.yd).apply(null,arguments)},uf=b._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=function(){return(uf=b._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=b.asm.zd).apply(null,arguments)},vf=b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1= -function(){return(vf=b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=b.asm.Ad).apply(null,arguments)},wf=b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=function(){return(wf=b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=b.asm.Bd).apply(null,arguments)},xf=b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=function(){return(xf=b._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=b.asm.Cd).apply(null,arguments)},yf=b._emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1= -function(){return(yf=b._emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1=b.asm.Dd).apply(null,arguments)},zf=b._emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1=function(){return(zf=b._emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1=b.asm.Ed).apply(null,arguments)},Af=b._emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1=function(){return(Af=b._emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1=b.asm.Fd).apply(null, -arguments)},Bf=b._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=function(){return(Bf=b._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=b.asm.Gd).apply(null,arguments)},Cf=b._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=function(){return(Cf=b._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=b.asm.Hd).apply(null,arguments)},Df=b._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=function(){return(Df=b._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=b.asm.Id).apply(null, -arguments)},Ef=b._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=function(){return(Ef=b._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=b.asm.Jd).apply(null,arguments)},Ff=b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=function(){return(Ff=b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=b.asm.Kd).apply(null,arguments)},Gf=b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=function(){return(Gf=b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2= -b.asm.Ld).apply(null,arguments)},Hf=b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=function(){return(Hf=b._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=b.asm.Md).apply(null,arguments)},If=b._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=function(){return(If=b._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=b.asm.Nd).apply(null,arguments)},Jf=b._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=function(){return(Jf=b._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0= -b.asm.Od).apply(null,arguments)},Kf=b._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=function(){return(Kf=b._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=b.asm.Pd).apply(null,arguments)},Lf=b._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=function(){return(Lf=b._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=b.asm.Qd).apply(null,arguments)},Mf=b._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=function(){return(Mf=b._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2= -b.asm.Rd).apply(null,arguments)},Nf=b._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=function(){return(Nf=b._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=b.asm.Sd).apply(null,arguments)},Of=b._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=function(){return(Of=b._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=b.asm.Td).apply(null,arguments)},Pf=b._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0=function(){return(Pf=b._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0= -b.asm.Ud).apply(null,arguments)},Qf=b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=function(){return(Qf=b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=b.asm.Vd).apply(null,arguments)},Rf=b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=function(){return(Rf=b._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=b.asm.Wd).apply(null,arguments)},Sf=b._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=function(){return(Sf=b._emscripten_bind_btDiscreteDynamicsWorld_addAction_1= -b.asm.Xd).apply(null,arguments)},Tf=b._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=function(){return(Tf=b._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=b.asm.Yd).apply(null,arguments)},Uf=b._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=function(){return(Uf=b._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=b.asm.Zd).apply(null,arguments)},Vf=b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1=function(){return(Vf=b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1= -b.asm._d).apply(null,arguments)},Wf=b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2=function(){return(Wf=b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2=b.asm.$d).apply(null,arguments)},Xf=b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3=function(){return(Xf=b._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3=b.asm.ae).apply(null,arguments)},Yf=b._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=function(){return(Yf= -b._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=b.asm.be).apply(null,arguments)},Zf=b._emscripten_bind_btVehicleRaycaster_castRay_3=function(){return(Zf=b._emscripten_bind_btVehicleRaycaster_castRay_3=b.asm.ce).apply(null,arguments)},$f=b._emscripten_bind_btVehicleRaycaster___destroy___0=function(){return($f=b._emscripten_bind_btVehicleRaycaster___destroy___0=b.asm.de).apply(null,arguments)},ag=b._emscripten_bind_btActionInterface_updateAction_2=function(){return(ag=b._emscripten_bind_btActionInterface_updateAction_2= -b.asm.ee).apply(null,arguments)},bg=b._emscripten_bind_btActionInterface___destroy___0=function(){return(bg=b._emscripten_bind_btActionInterface___destroy___0=b.asm.fe).apply(null,arguments)},cg=b._emscripten_bind_btGhostObject_btGhostObject_0=function(){return(cg=b._emscripten_bind_btGhostObject_btGhostObject_0=b.asm.ge).apply(null,arguments)},dg=b._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=function(){return(dg=b._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=b.asm.he).apply(null, -arguments)},eg=b._emscripten_bind_btGhostObject_getOverlappingObject_1=function(){return(eg=b._emscripten_bind_btGhostObject_getOverlappingObject_1=b.asm.ie).apply(null,arguments)},fg=b._emscripten_bind_btGhostObject_setAnisotropicFriction_2=function(){return(fg=b._emscripten_bind_btGhostObject_setAnisotropicFriction_2=b.asm.je).apply(null,arguments)},gg=b._emscripten_bind_btGhostObject_getCollisionShape_0=function(){return(gg=b._emscripten_bind_btGhostObject_getCollisionShape_0=b.asm.ke).apply(null, -arguments)},hg=b._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=function(){return(hg=b._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=b.asm.le).apply(null,arguments)},ig=b._emscripten_bind_btGhostObject_setActivationState_1=function(){return(ig=b._emscripten_bind_btGhostObject_setActivationState_1=b.asm.me).apply(null,arguments)},jg=b._emscripten_bind_btGhostObject_forceActivationState_1=function(){return(jg=b._emscripten_bind_btGhostObject_forceActivationState_1=b.asm.ne).apply(null, -arguments)},kg=b._emscripten_bind_btGhostObject_activate_0=function(){return(kg=b._emscripten_bind_btGhostObject_activate_0=b.asm.oe).apply(null,arguments)},lg=b._emscripten_bind_btGhostObject_activate_1=function(){return(lg=b._emscripten_bind_btGhostObject_activate_1=b.asm.pe).apply(null,arguments)},mg=b._emscripten_bind_btGhostObject_isActive_0=function(){return(mg=b._emscripten_bind_btGhostObject_isActive_0=b.asm.qe).apply(null,arguments)},ng=b._emscripten_bind_btGhostObject_isKinematicObject_0= -function(){return(ng=b._emscripten_bind_btGhostObject_isKinematicObject_0=b.asm.re).apply(null,arguments)},og=b._emscripten_bind_btGhostObject_isStaticObject_0=function(){return(og=b._emscripten_bind_btGhostObject_isStaticObject_0=b.asm.se).apply(null,arguments)},pg=b._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=function(){return(pg=b._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=b.asm.te).apply(null,arguments)},qg=b._emscripten_bind_btGhostObject_getRestitution_0=function(){return(qg= -b._emscripten_bind_btGhostObject_getRestitution_0=b.asm.ue).apply(null,arguments)},rg=b._emscripten_bind_btGhostObject_getFriction_0=function(){return(rg=b._emscripten_bind_btGhostObject_getFriction_0=b.asm.ve).apply(null,arguments)},sg=b._emscripten_bind_btGhostObject_getRollingFriction_0=function(){return(sg=b._emscripten_bind_btGhostObject_getRollingFriction_0=b.asm.we).apply(null,arguments)},tg=b._emscripten_bind_btGhostObject_setRestitution_1=function(){return(tg=b._emscripten_bind_btGhostObject_setRestitution_1= -b.asm.xe).apply(null,arguments)},ug=b._emscripten_bind_btGhostObject_setFriction_1=function(){return(ug=b._emscripten_bind_btGhostObject_setFriction_1=b.asm.ye).apply(null,arguments)},vg=b._emscripten_bind_btGhostObject_setRollingFriction_1=function(){return(vg=b._emscripten_bind_btGhostObject_setRollingFriction_1=b.asm.ze).apply(null,arguments)},wg=b._emscripten_bind_btGhostObject_getWorldTransform_0=function(){return(wg=b._emscripten_bind_btGhostObject_getWorldTransform_0=b.asm.Ae).apply(null,arguments)}, -xg=b._emscripten_bind_btGhostObject_getCollisionFlags_0=function(){return(xg=b._emscripten_bind_btGhostObject_getCollisionFlags_0=b.asm.Be).apply(null,arguments)},yg=b._emscripten_bind_btGhostObject_setCollisionFlags_1=function(){return(yg=b._emscripten_bind_btGhostObject_setCollisionFlags_1=b.asm.Ce).apply(null,arguments)},zg=b._emscripten_bind_btGhostObject_setWorldTransform_1=function(){return(zg=b._emscripten_bind_btGhostObject_setWorldTransform_1=b.asm.De).apply(null,arguments)},Ag=b._emscripten_bind_btGhostObject_setCollisionShape_1= -function(){return(Ag=b._emscripten_bind_btGhostObject_setCollisionShape_1=b.asm.Ee).apply(null,arguments)},Bg=b._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=function(){return(Bg=b._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=b.asm.Fe).apply(null,arguments)},Cg=b._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=function(){return(Cg=b._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=b.asm.Ge).apply(null,arguments)},Dg=b._emscripten_bind_btGhostObject_getUserIndex_0= -function(){return(Dg=b._emscripten_bind_btGhostObject_getUserIndex_0=b.asm.He).apply(null,arguments)},Eg=b._emscripten_bind_btGhostObject_setUserIndex_1=function(){return(Eg=b._emscripten_bind_btGhostObject_setUserIndex_1=b.asm.Ie).apply(null,arguments)},Fg=b._emscripten_bind_btGhostObject_getUserPointer_0=function(){return(Fg=b._emscripten_bind_btGhostObject_getUserPointer_0=b.asm.Je).apply(null,arguments)},Gg=b._emscripten_bind_btGhostObject_setUserPointer_1=function(){return(Gg=b._emscripten_bind_btGhostObject_setUserPointer_1= -b.asm.Ke).apply(null,arguments)},Hg=b._emscripten_bind_btGhostObject_getBroadphaseHandle_0=function(){return(Hg=b._emscripten_bind_btGhostObject_getBroadphaseHandle_0=b.asm.Le).apply(null,arguments)},Ig=b._emscripten_bind_btGhostObject___destroy___0=function(){return(Ig=b._emscripten_bind_btGhostObject___destroy___0=b.asm.Me).apply(null,arguments)},Jg=b._emscripten_bind_btSoftBodySolver___destroy___0=function(){return(Jg=b._emscripten_bind_btSoftBodySolver___destroy___0=b.asm.Ne).apply(null,arguments)}, -Kg=b._emscripten_bind_VoidPtr___destroy___0=function(){return(Kg=b._emscripten_bind_VoidPtr___destroy___0=b.asm.Oe).apply(null,arguments)},Lg=b._emscripten_bind_DebugDrawer_DebugDrawer_0=function(){return(Lg=b._emscripten_bind_DebugDrawer_DebugDrawer_0=b.asm.Pe).apply(null,arguments)},Mg=b._emscripten_bind_DebugDrawer_drawLine_3=function(){return(Mg=b._emscripten_bind_DebugDrawer_drawLine_3=b.asm.Qe).apply(null,arguments)},Ng=b._emscripten_bind_DebugDrawer_drawContactPoint_5=function(){return(Ng= -b._emscripten_bind_DebugDrawer_drawContactPoint_5=b.asm.Re).apply(null,arguments)},Og=b._emscripten_bind_DebugDrawer_reportErrorWarning_1=function(){return(Og=b._emscripten_bind_DebugDrawer_reportErrorWarning_1=b.asm.Se).apply(null,arguments)},Pg=b._emscripten_bind_DebugDrawer_draw3dText_2=function(){return(Pg=b._emscripten_bind_DebugDrawer_draw3dText_2=b.asm.Te).apply(null,arguments)},Qg=b._emscripten_bind_DebugDrawer_setDebugMode_1=function(){return(Qg=b._emscripten_bind_DebugDrawer_setDebugMode_1= -b.asm.Ue).apply(null,arguments)},Rg=b._emscripten_bind_DebugDrawer_getDebugMode_0=function(){return(Rg=b._emscripten_bind_DebugDrawer_getDebugMode_0=b.asm.Ve).apply(null,arguments)},Sg=b._emscripten_bind_DebugDrawer___destroy___0=function(){return(Sg=b._emscripten_bind_DebugDrawer___destroy___0=b.asm.We).apply(null,arguments)},Tg=b._emscripten_bind_btVector4_btVector4_0=function(){return(Tg=b._emscripten_bind_btVector4_btVector4_0=b.asm.Xe).apply(null,arguments)},Ug=b._emscripten_bind_btVector4_btVector4_4= -function(){return(Ug=b._emscripten_bind_btVector4_btVector4_4=b.asm.Ye).apply(null,arguments)},Vg=b._emscripten_bind_btVector4_w_0=function(){return(Vg=b._emscripten_bind_btVector4_w_0=b.asm.Ze).apply(null,arguments)},Wg=b._emscripten_bind_btVector4_setValue_4=function(){return(Wg=b._emscripten_bind_btVector4_setValue_4=b.asm._e).apply(null,arguments)},Xg=b._emscripten_bind_btVector4_length_0=function(){return(Xg=b._emscripten_bind_btVector4_length_0=b.asm.$e).apply(null,arguments)},Yg=b._emscripten_bind_btVector4_x_0= -function(){return(Yg=b._emscripten_bind_btVector4_x_0=b.asm.af).apply(null,arguments)},Zg=b._emscripten_bind_btVector4_y_0=function(){return(Zg=b._emscripten_bind_btVector4_y_0=b.asm.bf).apply(null,arguments)},$g=b._emscripten_bind_btVector4_z_0=function(){return($g=b._emscripten_bind_btVector4_z_0=b.asm.cf).apply(null,arguments)},ah=b._emscripten_bind_btVector4_setX_1=function(){return(ah=b._emscripten_bind_btVector4_setX_1=b.asm.df).apply(null,arguments)},bh=b._emscripten_bind_btVector4_setY_1= -function(){return(bh=b._emscripten_bind_btVector4_setY_1=b.asm.ef).apply(null,arguments)},ch=b._emscripten_bind_btVector4_setZ_1=function(){return(ch=b._emscripten_bind_btVector4_setZ_1=b.asm.ff).apply(null,arguments)},dh=b._emscripten_bind_btVector4_normalize_0=function(){return(dh=b._emscripten_bind_btVector4_normalize_0=b.asm.gf).apply(null,arguments)},eh=b._emscripten_bind_btVector4_rotate_2=function(){return(eh=b._emscripten_bind_btVector4_rotate_2=b.asm.hf).apply(null,arguments)},fh=b._emscripten_bind_btVector4_dot_1= -function(){return(fh=b._emscripten_bind_btVector4_dot_1=b.asm.jf).apply(null,arguments)},gh=b._emscripten_bind_btVector4_op_mul_1=function(){return(gh=b._emscripten_bind_btVector4_op_mul_1=b.asm.kf).apply(null,arguments)},hh=b._emscripten_bind_btVector4_op_add_1=function(){return(hh=b._emscripten_bind_btVector4_op_add_1=b.asm.lf).apply(null,arguments)},ih=b._emscripten_bind_btVector4_op_sub_1=function(){return(ih=b._emscripten_bind_btVector4_op_sub_1=b.asm.mf).apply(null,arguments)},jh=b._emscripten_bind_btVector4___destroy___0= -function(){return(jh=b._emscripten_bind_btVector4___destroy___0=b.asm.nf).apply(null,arguments)},kh=b._emscripten_bind_btQuaternion_btQuaternion_4=function(){return(kh=b._emscripten_bind_btQuaternion_btQuaternion_4=b.asm.of).apply(null,arguments)},lh=b._emscripten_bind_btQuaternion_setValue_4=function(){return(lh=b._emscripten_bind_btQuaternion_setValue_4=b.asm.pf).apply(null,arguments)},mh=b._emscripten_bind_btQuaternion_setEulerZYX_3=function(){return(mh=b._emscripten_bind_btQuaternion_setEulerZYX_3= -b.asm.qf).apply(null,arguments)},nh=b._emscripten_bind_btQuaternion_setRotation_2=function(){return(nh=b._emscripten_bind_btQuaternion_setRotation_2=b.asm.rf).apply(null,arguments)},oh=b._emscripten_bind_btQuaternion_normalize_0=function(){return(oh=b._emscripten_bind_btQuaternion_normalize_0=b.asm.sf).apply(null,arguments)},ph=b._emscripten_bind_btQuaternion_length2_0=function(){return(ph=b._emscripten_bind_btQuaternion_length2_0=b.asm.tf).apply(null,arguments)},qh=b._emscripten_bind_btQuaternion_length_0= -function(){return(qh=b._emscripten_bind_btQuaternion_length_0=b.asm.uf).apply(null,arguments)},rh=b._emscripten_bind_btQuaternion_dot_1=function(){return(rh=b._emscripten_bind_btQuaternion_dot_1=b.asm.vf).apply(null,arguments)},sh=b._emscripten_bind_btQuaternion_normalized_0=function(){return(sh=b._emscripten_bind_btQuaternion_normalized_0=b.asm.wf).apply(null,arguments)},th=b._emscripten_bind_btQuaternion_getAxis_0=function(){return(th=b._emscripten_bind_btQuaternion_getAxis_0=b.asm.xf).apply(null, -arguments)},uh=b._emscripten_bind_btQuaternion_inverse_0=function(){return(uh=b._emscripten_bind_btQuaternion_inverse_0=b.asm.yf).apply(null,arguments)},vh=b._emscripten_bind_btQuaternion_getAngle_0=function(){return(vh=b._emscripten_bind_btQuaternion_getAngle_0=b.asm.zf).apply(null,arguments)},wh=b._emscripten_bind_btQuaternion_getAngleShortestPath_0=function(){return(wh=b._emscripten_bind_btQuaternion_getAngleShortestPath_0=b.asm.Af).apply(null,arguments)},xh=b._emscripten_bind_btQuaternion_angle_1= -function(){return(xh=b._emscripten_bind_btQuaternion_angle_1=b.asm.Bf).apply(null,arguments)},yh=b._emscripten_bind_btQuaternion_angleShortestPath_1=function(){return(yh=b._emscripten_bind_btQuaternion_angleShortestPath_1=b.asm.Cf).apply(null,arguments)},zh=b._emscripten_bind_btQuaternion_op_add_1=function(){return(zh=b._emscripten_bind_btQuaternion_op_add_1=b.asm.Df).apply(null,arguments)},Ah=b._emscripten_bind_btQuaternion_op_sub_1=function(){return(Ah=b._emscripten_bind_btQuaternion_op_sub_1=b.asm.Ef).apply(null, -arguments)},Bh=b._emscripten_bind_btQuaternion_op_mul_1=function(){return(Bh=b._emscripten_bind_btQuaternion_op_mul_1=b.asm.Ff).apply(null,arguments)},Ch=b._emscripten_bind_btQuaternion_op_mulq_1=function(){return(Ch=b._emscripten_bind_btQuaternion_op_mulq_1=b.asm.Gf).apply(null,arguments)},Dh=b._emscripten_bind_btQuaternion_op_div_1=function(){return(Dh=b._emscripten_bind_btQuaternion_op_div_1=b.asm.Hf).apply(null,arguments)},Eh=b._emscripten_bind_btQuaternion_x_0=function(){return(Eh=b._emscripten_bind_btQuaternion_x_0= -b.asm.If).apply(null,arguments)},Fh=b._emscripten_bind_btQuaternion_y_0=function(){return(Fh=b._emscripten_bind_btQuaternion_y_0=b.asm.Jf).apply(null,arguments)},Gh=b._emscripten_bind_btQuaternion_z_0=function(){return(Gh=b._emscripten_bind_btQuaternion_z_0=b.asm.Kf).apply(null,arguments)},Hh=b._emscripten_bind_btQuaternion_w_0=function(){return(Hh=b._emscripten_bind_btQuaternion_w_0=b.asm.Lf).apply(null,arguments)},Ih=b._emscripten_bind_btQuaternion_setX_1=function(){return(Ih=b._emscripten_bind_btQuaternion_setX_1= -b.asm.Mf).apply(null,arguments)},Jh=b._emscripten_bind_btQuaternion_setY_1=function(){return(Jh=b._emscripten_bind_btQuaternion_setY_1=b.asm.Nf).apply(null,arguments)},Kh=b._emscripten_bind_btQuaternion_setZ_1=function(){return(Kh=b._emscripten_bind_btQuaternion_setZ_1=b.asm.Of).apply(null,arguments)},Lh=b._emscripten_bind_btQuaternion_setW_1=function(){return(Lh=b._emscripten_bind_btQuaternion_setW_1=b.asm.Pf).apply(null,arguments)},Mh=b._emscripten_bind_btQuaternion___destroy___0=function(){return(Mh= -b._emscripten_bind_btQuaternion___destroy___0=b.asm.Qf).apply(null,arguments)},Nh=b._emscripten_bind_btMatrix3x3_setEulerZYX_3=function(){return(Nh=b._emscripten_bind_btMatrix3x3_setEulerZYX_3=b.asm.Rf).apply(null,arguments)},Oh=b._emscripten_bind_btMatrix3x3_getRotation_1=function(){return(Oh=b._emscripten_bind_btMatrix3x3_getRotation_1=b.asm.Sf).apply(null,arguments)},Ph=b._emscripten_bind_btMatrix3x3_getRow_1=function(){return(Ph=b._emscripten_bind_btMatrix3x3_getRow_1=b.asm.Tf).apply(null,arguments)}, -Qh=b._emscripten_bind_btMatrix3x3___destroy___0=function(){return(Qh=b._emscripten_bind_btMatrix3x3___destroy___0=b.asm.Uf).apply(null,arguments)},Rh=b._emscripten_bind_btTransform_btTransform_0=function(){return(Rh=b._emscripten_bind_btTransform_btTransform_0=b.asm.Vf).apply(null,arguments)},Sh=b._emscripten_bind_btTransform_btTransform_2=function(){return(Sh=b._emscripten_bind_btTransform_btTransform_2=b.asm.Wf).apply(null,arguments)},Th=b._emscripten_bind_btTransform_setIdentity_0=function(){return(Th= -b._emscripten_bind_btTransform_setIdentity_0=b.asm.Xf).apply(null,arguments)},Uh=b._emscripten_bind_btTransform_setOrigin_1=function(){return(Uh=b._emscripten_bind_btTransform_setOrigin_1=b.asm.Yf).apply(null,arguments)},Vh=b._emscripten_bind_btTransform_setRotation_1=function(){return(Vh=b._emscripten_bind_btTransform_setRotation_1=b.asm.Zf).apply(null,arguments)},Wh=b._emscripten_bind_btTransform_getOrigin_0=function(){return(Wh=b._emscripten_bind_btTransform_getOrigin_0=b.asm._f).apply(null,arguments)}, -Xh=b._emscripten_bind_btTransform_getRotation_0=function(){return(Xh=b._emscripten_bind_btTransform_getRotation_0=b.asm.$f).apply(null,arguments)},Yh=b._emscripten_bind_btTransform_getBasis_0=function(){return(Yh=b._emscripten_bind_btTransform_getBasis_0=b.asm.ag).apply(null,arguments)},Zh=b._emscripten_bind_btTransform_setFromOpenGLMatrix_1=function(){return(Zh=b._emscripten_bind_btTransform_setFromOpenGLMatrix_1=b.asm.bg).apply(null,arguments)},$h=b._emscripten_bind_btTransform_inverse_0=function(){return($h= -b._emscripten_bind_btTransform_inverse_0=b.asm.cg).apply(null,arguments)},ai=b._emscripten_bind_btTransform_op_mul_1=function(){return(ai=b._emscripten_bind_btTransform_op_mul_1=b.asm.dg).apply(null,arguments)},bi=b._emscripten_bind_btTransform___destroy___0=function(){return(bi=b._emscripten_bind_btTransform___destroy___0=b.asm.eg).apply(null,arguments)},ci=b._emscripten_bind_MotionState_MotionState_0=function(){return(ci=b._emscripten_bind_MotionState_MotionState_0=b.asm.fg).apply(null,arguments)}, -di=b._emscripten_bind_MotionState_getWorldTransform_1=function(){return(di=b._emscripten_bind_MotionState_getWorldTransform_1=b.asm.gg).apply(null,arguments)},ei=b._emscripten_bind_MotionState_setWorldTransform_1=function(){return(ei=b._emscripten_bind_MotionState_setWorldTransform_1=b.asm.hg).apply(null,arguments)},fi=b._emscripten_bind_MotionState___destroy___0=function(){return(fi=b._emscripten_bind_MotionState___destroy___0=b.asm.ig).apply(null,arguments)},gi=b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0= -function(){return(gi=b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=b.asm.jg).apply(null,arguments)},hi=b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=function(){return(hi=b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=b.asm.kg).apply(null,arguments)},ii=b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=function(){return(ii=b._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=b.asm.lg).apply(null,arguments)},ji=b._emscripten_bind_btDefaultMotionState_getWorldTransform_1= -function(){return(ji=b._emscripten_bind_btDefaultMotionState_getWorldTransform_1=b.asm.mg).apply(null,arguments)},ki=b._emscripten_bind_btDefaultMotionState_setWorldTransform_1=function(){return(ki=b._emscripten_bind_btDefaultMotionState_setWorldTransform_1=b.asm.ng).apply(null,arguments)},li=b._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=function(){return(li=b._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=b.asm.og).apply(null,arguments)},mi=b._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1= -function(){return(mi=b._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=b.asm.pg).apply(null,arguments)},ni=b._emscripten_bind_btDefaultMotionState___destroy___0=function(){return(ni=b._emscripten_bind_btDefaultMotionState___destroy___0=b.asm.qg).apply(null,arguments)},oi=b._emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0=function(){return(oi=b._emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0=b.asm.rg).apply(null,arguments)},pi=b._emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0= -function(){return(pi=b._emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0=b.asm.sg).apply(null,arguments)},qi=b._emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0=function(){return(qi=b._emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0=b.asm.tg).apply(null,arguments)},ri=b._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=function(){return(ri=b._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=b.asm.ug).apply(null,arguments)}, -si=b._emscripten_bind_ClosestRayResultCallback_hasHit_0=function(){return(si=b._emscripten_bind_ClosestRayResultCallback_hasHit_0=b.asm.vg).apply(null,arguments)},ti=b._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=function(){return(ti=b._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=b.asm.wg).apply(null,arguments)},ui=b._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=function(){return(ui=b._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1= -b.asm.xg).apply(null,arguments)},vi=b._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=function(){return(vi=b._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=b.asm.yg).apply(null,arguments)},wi=b._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=function(){return(wi=b._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=b.asm.zg).apply(null,arguments)},xi=b._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=function(){return(xi=b._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0= -b.asm.Ag).apply(null,arguments)},yi=b._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=function(){return(yi=b._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=b.asm.Bg).apply(null,arguments)},zi=b._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=function(){return(zi=b._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=b.asm.Cg).apply(null,arguments)},Ai=b._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=function(){return(Ai= -b._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=b.asm.Dg).apply(null,arguments)},Bi=b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=function(){return(Bi=b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=b.asm.Eg).apply(null,arguments)},Ci=b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=function(){return(Ci=b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=b.asm.Fg).apply(null,arguments)}, -Di=b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=function(){return(Di=b._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=b.asm.Gg).apply(null,arguments)},Ei=b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=function(){return(Ei=b._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=b.asm.Hg).apply(null,arguments)},Fi=b._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=function(){return(Fi=b._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0= -b.asm.Ig).apply(null,arguments)},Gi=b._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=function(){return(Gi=b._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=b.asm.Jg).apply(null,arguments)},Hi=b._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=function(){return(Hi=b._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=b.asm.Kg).apply(null,arguments)},Ii=b._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=function(){return(Ii= -b._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=b.asm.Lg).apply(null,arguments)},Ji=b._emscripten_bind_ClosestRayResultCallback_get_m_flags_0=function(){return(Ji=b._emscripten_bind_ClosestRayResultCallback_get_m_flags_0=b.asm.Mg).apply(null,arguments)},Ki=b._emscripten_bind_ClosestRayResultCallback_set_m_flags_1=function(){return(Ki=b._emscripten_bind_ClosestRayResultCallback_set_m_flags_1=b.asm.Ng).apply(null,arguments)},Li=b._emscripten_bind_ClosestRayResultCallback___destroy___0= -function(){return(Li=b._emscripten_bind_ClosestRayResultCallback___destroy___0=b.asm.Og).apply(null,arguments)},Mi=b._emscripten_bind_btConstCollisionObjectArray_size_0=function(){return(Mi=b._emscripten_bind_btConstCollisionObjectArray_size_0=b.asm.Pg).apply(null,arguments)},Ni=b._emscripten_bind_btConstCollisionObjectArray_at_1=function(){return(Ni=b._emscripten_bind_btConstCollisionObjectArray_at_1=b.asm.Qg).apply(null,arguments)},Oi=b._emscripten_bind_btConstCollisionObjectArray___destroy___0= -function(){return(Oi=b._emscripten_bind_btConstCollisionObjectArray___destroy___0=b.asm.Rg).apply(null,arguments)},Pi=b._emscripten_bind_btScalarArray_size_0=function(){return(Pi=b._emscripten_bind_btScalarArray_size_0=b.asm.Sg).apply(null,arguments)},Qi=b._emscripten_bind_btScalarArray_at_1=function(){return(Qi=b._emscripten_bind_btScalarArray_at_1=b.asm.Tg).apply(null,arguments)},Ri=b._emscripten_bind_btScalarArray___destroy___0=function(){return(Ri=b._emscripten_bind_btScalarArray___destroy___0= -b.asm.Ug).apply(null,arguments)},Si=b._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2=function(){return(Si=b._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2=b.asm.Vg).apply(null,arguments)},Ti=b._emscripten_bind_AllHitsRayResultCallback_hasHit_0=function(){return(Ti=b._emscripten_bind_AllHitsRayResultCallback_hasHit_0=b.asm.Wg).apply(null,arguments)},Ui=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0=function(){return(Ui=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0= -b.asm.Xg).apply(null,arguments)},Vi=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1=function(){return(Vi=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1=b.asm.Yg).apply(null,arguments)},Wi=b._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0=function(){return(Wi=b._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0=b.asm.Zg).apply(null,arguments)},Xi=b._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1=function(){return(Xi= -b._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1=b.asm._g).apply(null,arguments)},Yi=b._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0=function(){return(Yi=b._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0=b.asm.$g).apply(null,arguments)},Zi=b._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1=function(){return(Zi=b._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1=b.asm.ah).apply(null,arguments)},$i=b._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0= -function(){return($i=b._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0=b.asm.bh).apply(null,arguments)},aj=b._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1=function(){return(aj=b._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1=b.asm.ch).apply(null,arguments)},bj=b._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0=function(){return(bj=b._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0=b.asm.dh).apply(null,arguments)}, -cj=b._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1=function(){return(cj=b._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1=b.asm.eh).apply(null,arguments)},dj=b._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0=function(){return(dj=b._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0=b.asm.fh).apply(null,arguments)},ej=b._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1=function(){return(ej=b._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1= -b.asm.gh).apply(null,arguments)},fj=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0=function(){return(fj=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0=b.asm.hh).apply(null,arguments)},gj=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1=function(){return(gj=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1=b.asm.ih).apply(null,arguments)},hj=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0= -function(){return(hj=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0=b.asm.jh).apply(null,arguments)},ij=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1=function(){return(ij=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1=b.asm.kh).apply(null,arguments)},jj=b._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0=function(){return(jj=b._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0=b.asm.lh).apply(null, -arguments)},kj=b._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1=function(){return(kj=b._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1=b.asm.mh).apply(null,arguments)},lj=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0=function(){return(lj=b._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0=b.asm.nh).apply(null,arguments)},mj=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1=function(){return(mj=b._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1= -b.asm.oh).apply(null,arguments)},nj=b._emscripten_bind_AllHitsRayResultCallback_get_m_flags_0=function(){return(nj=b._emscripten_bind_AllHitsRayResultCallback_get_m_flags_0=b.asm.ph).apply(null,arguments)},oj=b._emscripten_bind_AllHitsRayResultCallback_set_m_flags_1=function(){return(oj=b._emscripten_bind_AllHitsRayResultCallback_set_m_flags_1=b.asm.qh).apply(null,arguments)},pj=b._emscripten_bind_AllHitsRayResultCallback___destroy___0=function(){return(pj=b._emscripten_bind_AllHitsRayResultCallback___destroy___0= -b.asm.rh).apply(null,arguments)},qj=b._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=function(){return(qj=b._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=b.asm.sh).apply(null,arguments)},rj=b._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=function(){return(rj=b._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=b.asm.th).apply(null,arguments)},sj=b._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=function(){return(sj=b._emscripten_bind_btManifoldPoint_getAppliedImpulse_0= -b.asm.uh).apply(null,arguments)},tj=b._emscripten_bind_btManifoldPoint_getDistance_0=function(){return(tj=b._emscripten_bind_btManifoldPoint_getDistance_0=b.asm.vh).apply(null,arguments)},uj=b._emscripten_bind_btManifoldPoint_get_m_localPointA_0=function(){return(uj=b._emscripten_bind_btManifoldPoint_get_m_localPointA_0=b.asm.wh).apply(null,arguments)},vj=b._emscripten_bind_btManifoldPoint_set_m_localPointA_1=function(){return(vj=b._emscripten_bind_btManifoldPoint_set_m_localPointA_1=b.asm.xh).apply(null, -arguments)},wj=b._emscripten_bind_btManifoldPoint_get_m_localPointB_0=function(){return(wj=b._emscripten_bind_btManifoldPoint_get_m_localPointB_0=b.asm.yh).apply(null,arguments)},xj=b._emscripten_bind_btManifoldPoint_set_m_localPointB_1=function(){return(xj=b._emscripten_bind_btManifoldPoint_set_m_localPointB_1=b.asm.zh).apply(null,arguments)},yj=b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=function(){return(yj=b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=b.asm.Ah).apply(null, -arguments)},zj=b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=function(){return(zj=b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=b.asm.Bh).apply(null,arguments)},Aj=b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=function(){return(Aj=b._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=b.asm.Ch).apply(null,arguments)},Bj=b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=function(){return(Bj=b._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1= -b.asm.Dh).apply(null,arguments)},Cj=b._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=function(){return(Cj=b._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=b.asm.Eh).apply(null,arguments)},Dj=b._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=function(){return(Dj=b._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=b.asm.Fh).apply(null,arguments)},Ej=b._emscripten_bind_btManifoldPoint_get_m_userPersistentData_0=function(){return(Ej=b._emscripten_bind_btManifoldPoint_get_m_userPersistentData_0= -b.asm.Gh).apply(null,arguments)},Fj=b._emscripten_bind_btManifoldPoint_set_m_userPersistentData_1=function(){return(Fj=b._emscripten_bind_btManifoldPoint_set_m_userPersistentData_1=b.asm.Hh).apply(null,arguments)},Gj=b._emscripten_bind_btManifoldPoint___destroy___0=function(){return(Gj=b._emscripten_bind_btManifoldPoint___destroy___0=b.asm.Ih).apply(null,arguments)},Hj=b._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=function(){return(Hj=b._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0= -b.asm.Jh).apply(null,arguments)},Ij=b._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=function(){return(Ij=b._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=b.asm.Kh).apply(null,arguments)},Jj=b._emscripten_bind_ConcreteContactResultCallback___destroy___0=function(){return(Jj=b._emscripten_bind_ConcreteContactResultCallback___destroy___0=b.asm.Lh).apply(null,arguments)},Kj=b._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=function(){return(Kj=b._emscripten_bind_LocalShapeInfo_get_m_shapePart_0= -b.asm.Mh).apply(null,arguments)},Lj=b._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=function(){return(Lj=b._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=b.asm.Nh).apply(null,arguments)},Mj=b._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=function(){return(Mj=b._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=b.asm.Oh).apply(null,arguments)},Nj=b._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=function(){return(Nj=b._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=b.asm.Ph).apply(null, -arguments)},Oj=b._emscripten_bind_LocalShapeInfo___destroy___0=function(){return(Oj=b._emscripten_bind_LocalShapeInfo___destroy___0=b.asm.Qh).apply(null,arguments)},Pj=b._emscripten_bind_LocalConvexResult_LocalConvexResult_5=function(){return(Pj=b._emscripten_bind_LocalConvexResult_LocalConvexResult_5=b.asm.Rh).apply(null,arguments)},Qj=b._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=function(){return(Qj=b._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=b.asm.Sh).apply(null, -arguments)},Rj=b._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=function(){return(Rj=b._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=b.asm.Th).apply(null,arguments)},Sj=b._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=function(){return(Sj=b._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=b.asm.Uh).apply(null,arguments)},Tj=b._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=function(){return(Tj=b._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1= -b.asm.Vh).apply(null,arguments)},Uj=b._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=function(){return(Uj=b._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=b.asm.Wh).apply(null,arguments)},Vj=b._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=function(){return(Vj=b._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=b.asm.Xh).apply(null,arguments)},Wj=b._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=function(){return(Wj=b._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0= -b.asm.Yh).apply(null,arguments)},Xj=b._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=function(){return(Xj=b._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=b.asm.Zh).apply(null,arguments)},Yj=b._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=function(){return(Yj=b._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=b.asm._h).apply(null,arguments)},Zj=b._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=function(){return(Zj=b._emscripten_bind_LocalConvexResult_set_m_hitFraction_1= -b.asm.$h).apply(null,arguments)},ak=b._emscripten_bind_LocalConvexResult___destroy___0=function(){return(ak=b._emscripten_bind_LocalConvexResult___destroy___0=b.asm.ai).apply(null,arguments)},bk=b._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=function(){return(bk=b._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=b.asm.bi).apply(null,arguments)},ck=b._emscripten_bind_ClosestConvexResultCallback_hasHit_0=function(){return(ck=b._emscripten_bind_ClosestConvexResultCallback_hasHit_0= -b.asm.ci).apply(null,arguments)},dk=b._emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0=function(){return(dk=b._emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0=b.asm.di).apply(null,arguments)},ek=b._emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1=function(){return(ek=b._emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1=b.asm.ei).apply(null,arguments)},fk=b._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0= -function(){return(fk=b._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=b.asm.fi).apply(null,arguments)},gk=b._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=function(){return(gk=b._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=b.asm.gi).apply(null,arguments)},hk=b._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=function(){return(hk=b._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=b.asm.hi).apply(null, -arguments)},ik=b._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=function(){return(ik=b._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=b.asm.ii).apply(null,arguments)},jk=b._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=function(){return(jk=b._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=b.asm.ji).apply(null,arguments)},kk=b._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=function(){return(kk=b._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1= -b.asm.ki).apply(null,arguments)},lk=b._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=function(){return(lk=b._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=b.asm.li).apply(null,arguments)},mk=b._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=function(){return(mk=b._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=b.asm.mi).apply(null,arguments)},nk=b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0= -function(){return(nk=b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=b.asm.ni).apply(null,arguments)},ok=b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=function(){return(ok=b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=b.asm.oi).apply(null,arguments)},pk=b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=function(){return(pk=b._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0= -b.asm.pi).apply(null,arguments)},qk=b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=function(){return(qk=b._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=b.asm.qi).apply(null,arguments)},rk=b._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=function(){return(rk=b._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=b.asm.ri).apply(null,arguments)},sk=b._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1= -function(){return(sk=b._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=b.asm.si).apply(null,arguments)},tk=b._emscripten_bind_ClosestConvexResultCallback___destroy___0=function(){return(tk=b._emscripten_bind_ClosestConvexResultCallback___destroy___0=b.asm.ti).apply(null,arguments)},uk=b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=function(){return(uk=b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=b.asm.ui).apply(null,arguments)}, -vk=b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=function(){return(vk=b._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=b.asm.vi).apply(null,arguments)},wk=b._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=function(){return(wk=b._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=b.asm.wi).apply(null,arguments)},xk=b._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=function(){return(xk=b._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0= -b.asm.xi).apply(null,arguments)},yk=b._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=function(){return(yk=b._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=b.asm.yi).apply(null,arguments)},zk=b._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=function(){return(zk=b._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=b.asm.zi).apply(null,arguments)},Ak=b._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=function(){return(Ak=b._emscripten_bind_btConvexTriangleMeshShape_getMargin_0= -b.asm.Ai).apply(null,arguments)},Bk=b._emscripten_bind_btConvexTriangleMeshShape___destroy___0=function(){return(Bk=b._emscripten_bind_btConvexTriangleMeshShape___destroy___0=b.asm.Bi).apply(null,arguments)},Ck=b._emscripten_bind_btBoxShape_btBoxShape_1=function(){return(Ck=b._emscripten_bind_btBoxShape_btBoxShape_1=b.asm.Ci).apply(null,arguments)},Dk=b._emscripten_bind_btBoxShape_setMargin_1=function(){return(Dk=b._emscripten_bind_btBoxShape_setMargin_1=b.asm.Di).apply(null,arguments)},Ek=b._emscripten_bind_btBoxShape_getMargin_0= -function(){return(Ek=b._emscripten_bind_btBoxShape_getMargin_0=b.asm.Ei).apply(null,arguments)},Fk=b._emscripten_bind_btBoxShape_setLocalScaling_1=function(){return(Fk=b._emscripten_bind_btBoxShape_setLocalScaling_1=b.asm.Fi).apply(null,arguments)},Gk=b._emscripten_bind_btBoxShape_getLocalScaling_0=function(){return(Gk=b._emscripten_bind_btBoxShape_getLocalScaling_0=b.asm.Gi).apply(null,arguments)},Hk=b._emscripten_bind_btBoxShape_calculateLocalInertia_2=function(){return(Hk=b._emscripten_bind_btBoxShape_calculateLocalInertia_2= -b.asm.Hi).apply(null,arguments)},Ik=b._emscripten_bind_btBoxShape___destroy___0=function(){return(Ik=b._emscripten_bind_btBoxShape___destroy___0=b.asm.Ii).apply(null,arguments)},Jk=b._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=function(){return(Jk=b._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=b.asm.Ji).apply(null,arguments)},Kk=b._emscripten_bind_btCapsuleShapeX_setMargin_1=function(){return(Kk=b._emscripten_bind_btCapsuleShapeX_setMargin_1=b.asm.Ki).apply(null,arguments)},Lk=b._emscripten_bind_btCapsuleShapeX_getMargin_0= -function(){return(Lk=b._emscripten_bind_btCapsuleShapeX_getMargin_0=b.asm.Li).apply(null,arguments)},Mk=b._emscripten_bind_btCapsuleShapeX_getUpAxis_0=function(){return(Mk=b._emscripten_bind_btCapsuleShapeX_getUpAxis_0=b.asm.Mi).apply(null,arguments)},Nk=b._emscripten_bind_btCapsuleShapeX_getRadius_0=function(){return(Nk=b._emscripten_bind_btCapsuleShapeX_getRadius_0=b.asm.Ni).apply(null,arguments)},Ok=b._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=function(){return(Ok=b._emscripten_bind_btCapsuleShapeX_getHalfHeight_0= -b.asm.Oi).apply(null,arguments)},Pk=b._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=function(){return(Pk=b._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=b.asm.Pi).apply(null,arguments)},Qk=b._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=function(){return(Qk=b._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=b.asm.Qi).apply(null,arguments)},Rk=b._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=function(){return(Rk=b._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2= -b.asm.Ri).apply(null,arguments)},Sk=b._emscripten_bind_btCapsuleShapeX___destroy___0=function(){return(Sk=b._emscripten_bind_btCapsuleShapeX___destroy___0=b.asm.Si).apply(null,arguments)},Tk=b._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=function(){return(Tk=b._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=b.asm.Ti).apply(null,arguments)},Uk=b._emscripten_bind_btCapsuleShapeZ_setMargin_1=function(){return(Uk=b._emscripten_bind_btCapsuleShapeZ_setMargin_1=b.asm.Ui).apply(null,arguments)}, -Vk=b._emscripten_bind_btCapsuleShapeZ_getMargin_0=function(){return(Vk=b._emscripten_bind_btCapsuleShapeZ_getMargin_0=b.asm.Vi).apply(null,arguments)},Wk=b._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=function(){return(Wk=b._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=b.asm.Wi).apply(null,arguments)},Xk=b._emscripten_bind_btCapsuleShapeZ_getRadius_0=function(){return(Xk=b._emscripten_bind_btCapsuleShapeZ_getRadius_0=b.asm.Xi).apply(null,arguments)},Yk=b._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0= -function(){return(Yk=b._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=b.asm.Yi).apply(null,arguments)},Zk=b._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=function(){return(Zk=b._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=b.asm.Zi).apply(null,arguments)},$k=b._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=function(){return($k=b._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=b.asm._i).apply(null,arguments)},al=b._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=function(){return(al= -b._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=b.asm.$i).apply(null,arguments)},bl=b._emscripten_bind_btCapsuleShapeZ___destroy___0=function(){return(bl=b._emscripten_bind_btCapsuleShapeZ___destroy___0=b.asm.aj).apply(null,arguments)},cl=b._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=function(){return(cl=b._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=b.asm.bj).apply(null,arguments)},dl=b._emscripten_bind_btCylinderShapeX_setMargin_1=function(){return(dl=b._emscripten_bind_btCylinderShapeX_setMargin_1= -b.asm.cj).apply(null,arguments)},el=b._emscripten_bind_btCylinderShapeX_getMargin_0=function(){return(el=b._emscripten_bind_btCylinderShapeX_getMargin_0=b.asm.dj).apply(null,arguments)},fl=b._emscripten_bind_btCylinderShapeX_setLocalScaling_1=function(){return(fl=b._emscripten_bind_btCylinderShapeX_setLocalScaling_1=b.asm.ej).apply(null,arguments)},gl=b._emscripten_bind_btCylinderShapeX_getLocalScaling_0=function(){return(gl=b._emscripten_bind_btCylinderShapeX_getLocalScaling_0=b.asm.fj).apply(null, -arguments)},hl=b._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=function(){return(hl=b._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=b.asm.gj).apply(null,arguments)},il=b._emscripten_bind_btCylinderShapeX___destroy___0=function(){return(il=b._emscripten_bind_btCylinderShapeX___destroy___0=b.asm.hj).apply(null,arguments)},jl=b._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=function(){return(jl=b._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=b.asm.ij).apply(null, -arguments)},kl=b._emscripten_bind_btCylinderShapeZ_setMargin_1=function(){return(kl=b._emscripten_bind_btCylinderShapeZ_setMargin_1=b.asm.jj).apply(null,arguments)},ll=b._emscripten_bind_btCylinderShapeZ_getMargin_0=function(){return(ll=b._emscripten_bind_btCylinderShapeZ_getMargin_0=b.asm.kj).apply(null,arguments)},ml=b._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=function(){return(ml=b._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=b.asm.lj).apply(null,arguments)},nl=b._emscripten_bind_btCylinderShapeZ_getLocalScaling_0= -function(){return(nl=b._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=b.asm.mj).apply(null,arguments)},ol=b._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=function(){return(ol=b._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=b.asm.nj).apply(null,arguments)},pl=b._emscripten_bind_btCylinderShapeZ___destroy___0=function(){return(pl=b._emscripten_bind_btCylinderShapeZ___destroy___0=b.asm.oj).apply(null,arguments)},ql=b._emscripten_bind_btSphereShape_btSphereShape_1=function(){return(ql= -b._emscripten_bind_btSphereShape_btSphereShape_1=b.asm.pj).apply(null,arguments)},rl=b._emscripten_bind_btSphereShape_setMargin_1=function(){return(rl=b._emscripten_bind_btSphereShape_setMargin_1=b.asm.qj).apply(null,arguments)},sl=b._emscripten_bind_btSphereShape_getMargin_0=function(){return(sl=b._emscripten_bind_btSphereShape_getMargin_0=b.asm.rj).apply(null,arguments)},tl=b._emscripten_bind_btSphereShape_setLocalScaling_1=function(){return(tl=b._emscripten_bind_btSphereShape_setLocalScaling_1= -b.asm.sj).apply(null,arguments)},ul=b._emscripten_bind_btSphereShape_getLocalScaling_0=function(){return(ul=b._emscripten_bind_btSphereShape_getLocalScaling_0=b.asm.tj).apply(null,arguments)},vl=b._emscripten_bind_btSphereShape_calculateLocalInertia_2=function(){return(vl=b._emscripten_bind_btSphereShape_calculateLocalInertia_2=b.asm.uj).apply(null,arguments)},wl=b._emscripten_bind_btSphereShape___destroy___0=function(){return(wl=b._emscripten_bind_btSphereShape___destroy___0=b.asm.vj).apply(null, -arguments)},xl=b._emscripten_bind_btMultiSphereShape_btMultiSphereShape_3=function(){return(xl=b._emscripten_bind_btMultiSphereShape_btMultiSphereShape_3=b.asm.wj).apply(null,arguments)},yl=b._emscripten_bind_btMultiSphereShape_setLocalScaling_1=function(){return(yl=b._emscripten_bind_btMultiSphereShape_setLocalScaling_1=b.asm.xj).apply(null,arguments)},zl=b._emscripten_bind_btMultiSphereShape_getLocalScaling_0=function(){return(zl=b._emscripten_bind_btMultiSphereShape_getLocalScaling_0=b.asm.yj).apply(null, -arguments)},Al=b._emscripten_bind_btMultiSphereShape_calculateLocalInertia_2=function(){return(Al=b._emscripten_bind_btMultiSphereShape_calculateLocalInertia_2=b.asm.zj).apply(null,arguments)},Bl=b._emscripten_bind_btMultiSphereShape___destroy___0=function(){return(Bl=b._emscripten_bind_btMultiSphereShape___destroy___0=b.asm.Aj).apply(null,arguments)},Cl=b._emscripten_bind_btConeShapeX_btConeShapeX_2=function(){return(Cl=b._emscripten_bind_btConeShapeX_btConeShapeX_2=b.asm.Bj).apply(null,arguments)}, -Dl=b._emscripten_bind_btConeShapeX_setLocalScaling_1=function(){return(Dl=b._emscripten_bind_btConeShapeX_setLocalScaling_1=b.asm.Cj).apply(null,arguments)},El=b._emscripten_bind_btConeShapeX_getLocalScaling_0=function(){return(El=b._emscripten_bind_btConeShapeX_getLocalScaling_0=b.asm.Dj).apply(null,arguments)},Fl=b._emscripten_bind_btConeShapeX_calculateLocalInertia_2=function(){return(Fl=b._emscripten_bind_btConeShapeX_calculateLocalInertia_2=b.asm.Ej).apply(null,arguments)},Gl=b._emscripten_bind_btConeShapeX___destroy___0= -function(){return(Gl=b._emscripten_bind_btConeShapeX___destroy___0=b.asm.Fj).apply(null,arguments)},Hl=b._emscripten_bind_btConeShapeZ_btConeShapeZ_2=function(){return(Hl=b._emscripten_bind_btConeShapeZ_btConeShapeZ_2=b.asm.Gj).apply(null,arguments)},Il=b._emscripten_bind_btConeShapeZ_setLocalScaling_1=function(){return(Il=b._emscripten_bind_btConeShapeZ_setLocalScaling_1=b.asm.Hj).apply(null,arguments)},Jl=b._emscripten_bind_btConeShapeZ_getLocalScaling_0=function(){return(Jl=b._emscripten_bind_btConeShapeZ_getLocalScaling_0= -b.asm.Ij).apply(null,arguments)},Kl=b._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=function(){return(Kl=b._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=b.asm.Jj).apply(null,arguments)},Ll=b._emscripten_bind_btConeShapeZ___destroy___0=function(){return(Ll=b._emscripten_bind_btConeShapeZ___destroy___0=b.asm.Kj).apply(null,arguments)},Ml=b._emscripten_bind_btIntArray_size_0=function(){return(Ml=b._emscripten_bind_btIntArray_size_0=b.asm.Lj).apply(null,arguments)},Nl=b._emscripten_bind_btIntArray_at_1= -function(){return(Nl=b._emscripten_bind_btIntArray_at_1=b.asm.Mj).apply(null,arguments)},Ol=b._emscripten_bind_btIntArray___destroy___0=function(){return(Ol=b._emscripten_bind_btIntArray___destroy___0=b.asm.Nj).apply(null,arguments)},Pl=b._emscripten_bind_btFace_get_m_indices_0=function(){return(Pl=b._emscripten_bind_btFace_get_m_indices_0=b.asm.Oj).apply(null,arguments)},Ql=b._emscripten_bind_btFace_set_m_indices_1=function(){return(Ql=b._emscripten_bind_btFace_set_m_indices_1=b.asm.Pj).apply(null, -arguments)},Rl=b._emscripten_bind_btFace_get_m_plane_1=function(){return(Rl=b._emscripten_bind_btFace_get_m_plane_1=b.asm.Qj).apply(null,arguments)},Sl=b._emscripten_bind_btFace_set_m_plane_2=function(){return(Sl=b._emscripten_bind_btFace_set_m_plane_2=b.asm.Rj).apply(null,arguments)},Tl=b._emscripten_bind_btFace___destroy___0=function(){return(Tl=b._emscripten_bind_btFace___destroy___0=b.asm.Sj).apply(null,arguments)},Ul=b._emscripten_bind_btVector3Array_size_0=function(){return(Ul=b._emscripten_bind_btVector3Array_size_0= -b.asm.Tj).apply(null,arguments)},Vl=b._emscripten_bind_btVector3Array_at_1=function(){return(Vl=b._emscripten_bind_btVector3Array_at_1=b.asm.Uj).apply(null,arguments)},Wl=b._emscripten_bind_btVector3Array___destroy___0=function(){return(Wl=b._emscripten_bind_btVector3Array___destroy___0=b.asm.Vj).apply(null,arguments)},Xl=b._emscripten_bind_btFaceArray_size_0=function(){return(Xl=b._emscripten_bind_btFaceArray_size_0=b.asm.Wj).apply(null,arguments)},Yl=b._emscripten_bind_btFaceArray_at_1=function(){return(Yl= -b._emscripten_bind_btFaceArray_at_1=b.asm.Xj).apply(null,arguments)},Zl=b._emscripten_bind_btFaceArray___destroy___0=function(){return(Zl=b._emscripten_bind_btFaceArray___destroy___0=b.asm.Yj).apply(null,arguments)},$l=b._emscripten_bind_btConvexPolyhedron_get_m_vertices_0=function(){return($l=b._emscripten_bind_btConvexPolyhedron_get_m_vertices_0=b.asm.Zj).apply(null,arguments)},am=b._emscripten_bind_btConvexPolyhedron_set_m_vertices_1=function(){return(am=b._emscripten_bind_btConvexPolyhedron_set_m_vertices_1= -b.asm._j).apply(null,arguments)},bm=b._emscripten_bind_btConvexPolyhedron_get_m_faces_0=function(){return(bm=b._emscripten_bind_btConvexPolyhedron_get_m_faces_0=b.asm.$j).apply(null,arguments)},cm=b._emscripten_bind_btConvexPolyhedron_set_m_faces_1=function(){return(cm=b._emscripten_bind_btConvexPolyhedron_set_m_faces_1=b.asm.ak).apply(null,arguments)},dm=b._emscripten_bind_btConvexPolyhedron___destroy___0=function(){return(dm=b._emscripten_bind_btConvexPolyhedron___destroy___0=b.asm.bk).apply(null, -arguments)},em=b._emscripten_bind_btConvexHullShape_btConvexHullShape_0=function(){return(em=b._emscripten_bind_btConvexHullShape_btConvexHullShape_0=b.asm.ck).apply(null,arguments)},fm=b._emscripten_bind_btConvexHullShape_btConvexHullShape_1=function(){return(fm=b._emscripten_bind_btConvexHullShape_btConvexHullShape_1=b.asm.dk).apply(null,arguments)},gm=b._emscripten_bind_btConvexHullShape_btConvexHullShape_2=function(){return(gm=b._emscripten_bind_btConvexHullShape_btConvexHullShape_2=b.asm.ek).apply(null, -arguments)},hm=b._emscripten_bind_btConvexHullShape_addPoint_1=function(){return(hm=b._emscripten_bind_btConvexHullShape_addPoint_1=b.asm.fk).apply(null,arguments)},im=b._emscripten_bind_btConvexHullShape_addPoint_2=function(){return(im=b._emscripten_bind_btConvexHullShape_addPoint_2=b.asm.gk).apply(null,arguments)},jm=b._emscripten_bind_btConvexHullShape_setMargin_1=function(){return(jm=b._emscripten_bind_btConvexHullShape_setMargin_1=b.asm.hk).apply(null,arguments)},km=b._emscripten_bind_btConvexHullShape_getMargin_0= -function(){return(km=b._emscripten_bind_btConvexHullShape_getMargin_0=b.asm.ik).apply(null,arguments)},lm=b._emscripten_bind_btConvexHullShape_getNumVertices_0=function(){return(lm=b._emscripten_bind_btConvexHullShape_getNumVertices_0=b.asm.jk).apply(null,arguments)},mm=b._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=function(){return(mm=b._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=b.asm.kk).apply(null,arguments)},nm=b._emscripten_bind_btConvexHullShape_recalcLocalAabb_0= -function(){return(nm=b._emscripten_bind_btConvexHullShape_recalcLocalAabb_0=b.asm.lk).apply(null,arguments)},om=b._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0=function(){return(om=b._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0=b.asm.mk).apply(null,arguments)},pm=b._emscripten_bind_btConvexHullShape_setLocalScaling_1=function(){return(pm=b._emscripten_bind_btConvexHullShape_setLocalScaling_1=b.asm.nk).apply(null,arguments)},qm=b._emscripten_bind_btConvexHullShape_getLocalScaling_0= -function(){return(qm=b._emscripten_bind_btConvexHullShape_getLocalScaling_0=b.asm.ok).apply(null,arguments)},rm=b._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=function(){return(rm=b._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=b.asm.pk).apply(null,arguments)},sm=b._emscripten_bind_btConvexHullShape___destroy___0=function(){return(sm=b._emscripten_bind_btConvexHullShape___destroy___0=b.asm.qk).apply(null,arguments)},tm=b._emscripten_bind_btShapeHull_btShapeHull_1=function(){return(tm= -b._emscripten_bind_btShapeHull_btShapeHull_1=b.asm.rk).apply(null,arguments)},um=b._emscripten_bind_btShapeHull_buildHull_1=function(){return(um=b._emscripten_bind_btShapeHull_buildHull_1=b.asm.sk).apply(null,arguments)},wm=b._emscripten_bind_btShapeHull_numVertices_0=function(){return(wm=b._emscripten_bind_btShapeHull_numVertices_0=b.asm.tk).apply(null,arguments)},xm=b._emscripten_bind_btShapeHull_getVertexPointer_0=function(){return(xm=b._emscripten_bind_btShapeHull_getVertexPointer_0=b.asm.uk).apply(null, -arguments)},ym=b._emscripten_bind_btShapeHull___destroy___0=function(){return(ym=b._emscripten_bind_btShapeHull___destroy___0=b.asm.vk).apply(null,arguments)},zm=b._emscripten_bind_btCompoundShape_btCompoundShape_0=function(){return(zm=b._emscripten_bind_btCompoundShape_btCompoundShape_0=b.asm.wk).apply(null,arguments)},Am=b._emscripten_bind_btCompoundShape_btCompoundShape_1=function(){return(Am=b._emscripten_bind_btCompoundShape_btCompoundShape_1=b.asm.xk).apply(null,arguments)},Bm=b._emscripten_bind_btCompoundShape_addChildShape_2= -function(){return(Bm=b._emscripten_bind_btCompoundShape_addChildShape_2=b.asm.yk).apply(null,arguments)},Cm=b._emscripten_bind_btCompoundShape_removeChildShape_1=function(){return(Cm=b._emscripten_bind_btCompoundShape_removeChildShape_1=b.asm.zk).apply(null,arguments)},Dm=b._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=function(){return(Dm=b._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=b.asm.Ak).apply(null,arguments)},Em=b._emscripten_bind_btCompoundShape_getNumChildShapes_0= -function(){return(Em=b._emscripten_bind_btCompoundShape_getNumChildShapes_0=b.asm.Bk).apply(null,arguments)},Fm=b._emscripten_bind_btCompoundShape_getChildShape_1=function(){return(Fm=b._emscripten_bind_btCompoundShape_getChildShape_1=b.asm.Ck).apply(null,arguments)},Gm=b._emscripten_bind_btCompoundShape_updateChildTransform_2=function(){return(Gm=b._emscripten_bind_btCompoundShape_updateChildTransform_2=b.asm.Dk).apply(null,arguments)},Hm=b._emscripten_bind_btCompoundShape_updateChildTransform_3= -function(){return(Hm=b._emscripten_bind_btCompoundShape_updateChildTransform_3=b.asm.Ek).apply(null,arguments)},Im=b._emscripten_bind_btCompoundShape_setMargin_1=function(){return(Im=b._emscripten_bind_btCompoundShape_setMargin_1=b.asm.Fk).apply(null,arguments)},Jm=b._emscripten_bind_btCompoundShape_getMargin_0=function(){return(Jm=b._emscripten_bind_btCompoundShape_getMargin_0=b.asm.Gk).apply(null,arguments)},Km=b._emscripten_bind_btCompoundShape_setLocalScaling_1=function(){return(Km=b._emscripten_bind_btCompoundShape_setLocalScaling_1= -b.asm.Hk).apply(null,arguments)},Lm=b._emscripten_bind_btCompoundShape_getLocalScaling_0=function(){return(Lm=b._emscripten_bind_btCompoundShape_getLocalScaling_0=b.asm.Ik).apply(null,arguments)},Mm=b._emscripten_bind_btCompoundShape_calculateLocalInertia_2=function(){return(Mm=b._emscripten_bind_btCompoundShape_calculateLocalInertia_2=b.asm.Jk).apply(null,arguments)},Nm=b._emscripten_bind_btCompoundShape___destroy___0=function(){return(Nm=b._emscripten_bind_btCompoundShape___destroy___0=b.asm.Kk).apply(null, -arguments)},Om=b._emscripten_bind_btIndexedMesh_get_m_numTriangles_0=function(){return(Om=b._emscripten_bind_btIndexedMesh_get_m_numTriangles_0=b.asm.Lk).apply(null,arguments)},Pm=b._emscripten_bind_btIndexedMesh_set_m_numTriangles_1=function(){return(Pm=b._emscripten_bind_btIndexedMesh_set_m_numTriangles_1=b.asm.Mk).apply(null,arguments)},Qm=b._emscripten_bind_btIndexedMesh___destroy___0=function(){return(Qm=b._emscripten_bind_btIndexedMesh___destroy___0=b.asm.Nk).apply(null,arguments)},Rm=b._emscripten_bind_btIndexedMeshArray_size_0= -function(){return(Rm=b._emscripten_bind_btIndexedMeshArray_size_0=b.asm.Ok).apply(null,arguments)},Sm=b._emscripten_bind_btIndexedMeshArray_at_1=function(){return(Sm=b._emscripten_bind_btIndexedMeshArray_at_1=b.asm.Pk).apply(null,arguments)},Tm=b._emscripten_bind_btIndexedMeshArray___destroy___0=function(){return(Tm=b._emscripten_bind_btIndexedMeshArray___destroy___0=b.asm.Qk).apply(null,arguments)},Um=b._emscripten_bind_btTriangleMesh_btTriangleMesh_0=function(){return(Um=b._emscripten_bind_btTriangleMesh_btTriangleMesh_0= -b.asm.Rk).apply(null,arguments)},Vm=b._emscripten_bind_btTriangleMesh_btTriangleMesh_1=function(){return(Vm=b._emscripten_bind_btTriangleMesh_btTriangleMesh_1=b.asm.Sk).apply(null,arguments)},Wm=b._emscripten_bind_btTriangleMesh_btTriangleMesh_2=function(){return(Wm=b._emscripten_bind_btTriangleMesh_btTriangleMesh_2=b.asm.Tk).apply(null,arguments)},Xm=b._emscripten_bind_btTriangleMesh_addTriangle_3=function(){return(Xm=b._emscripten_bind_btTriangleMesh_addTriangle_3=b.asm.Uk).apply(null,arguments)}, -Ym=b._emscripten_bind_btTriangleMesh_addTriangle_4=function(){return(Ym=b._emscripten_bind_btTriangleMesh_addTriangle_4=b.asm.Vk).apply(null,arguments)},Zm=b._emscripten_bind_btTriangleMesh_findOrAddVertex_2=function(){return(Zm=b._emscripten_bind_btTriangleMesh_findOrAddVertex_2=b.asm.Wk).apply(null,arguments)},$m=b._emscripten_bind_btTriangleMesh_addIndex_1=function(){return($m=b._emscripten_bind_btTriangleMesh_addIndex_1=b.asm.Xk).apply(null,arguments)},an=b._emscripten_bind_btTriangleMesh_getIndexedMeshArray_0= -function(){return(an=b._emscripten_bind_btTriangleMesh_getIndexedMeshArray_0=b.asm.Yk).apply(null,arguments)},bn=b._emscripten_bind_btTriangleMesh_setScaling_1=function(){return(bn=b._emscripten_bind_btTriangleMesh_setScaling_1=b.asm.Zk).apply(null,arguments)},cn=b._emscripten_bind_btTriangleMesh___destroy___0=function(){return(cn=b._emscripten_bind_btTriangleMesh___destroy___0=b.asm._k).apply(null,arguments)},dn=b._emscripten_bind_btEmptyShape_btEmptyShape_0=function(){return(dn=b._emscripten_bind_btEmptyShape_btEmptyShape_0= -b.asm.$k).apply(null,arguments)},en=b._emscripten_bind_btEmptyShape_setLocalScaling_1=function(){return(en=b._emscripten_bind_btEmptyShape_setLocalScaling_1=b.asm.al).apply(null,arguments)},fn=b._emscripten_bind_btEmptyShape_getLocalScaling_0=function(){return(fn=b._emscripten_bind_btEmptyShape_getLocalScaling_0=b.asm.bl).apply(null,arguments)},gn=b._emscripten_bind_btEmptyShape_calculateLocalInertia_2=function(){return(gn=b._emscripten_bind_btEmptyShape_calculateLocalInertia_2=b.asm.cl).apply(null, -arguments)},hn=b._emscripten_bind_btEmptyShape___destroy___0=function(){return(hn=b._emscripten_bind_btEmptyShape___destroy___0=b.asm.dl).apply(null,arguments)},jn=b._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=function(){return(jn=b._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=b.asm.el).apply(null,arguments)},kn=b._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=function(){return(kn=b._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=b.asm.fl).apply(null,arguments)}, -ln=b._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=function(){return(ln=b._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=b.asm.gl).apply(null,arguments)},mn=b._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=function(){return(mn=b._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=b.asm.hl).apply(null,arguments)},nn=b._emscripten_bind_btStaticPlaneShape___destroy___0=function(){return(nn=b._emscripten_bind_btStaticPlaneShape___destroy___0=b.asm.il).apply(null,arguments)}, -on=b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=function(){return(on=b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=b.asm.jl).apply(null,arguments)},pn=b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=function(){return(pn=b._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=b.asm.kl).apply(null,arguments)},qn=b._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=function(){return(qn=b._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1= -b.asm.ll).apply(null,arguments)},rn=b._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=function(){return(rn=b._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=b.asm.ml).apply(null,arguments)},sn=b._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=function(){return(sn=b._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=b.asm.nl).apply(null,arguments)},tn=b._emscripten_bind_btBvhTriangleMeshShape___destroy___0=function(){return(tn=b._emscripten_bind_btBvhTriangleMeshShape___destroy___0= -b.asm.ol).apply(null,arguments)},un=b._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=function(){return(un=b._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=b.asm.pl).apply(null,arguments)},vn=b._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=function(){return(vn=b._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=b.asm.ql).apply(null,arguments)},wn=b._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=function(){return(wn=b._emscripten_bind_btHeightfieldTerrainShape_getMargin_0= -b.asm.rl).apply(null,arguments)},xn=b._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=function(){return(xn=b._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=b.asm.sl).apply(null,arguments)},yn=b._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=function(){return(yn=b._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=b.asm.tl).apply(null,arguments)},zn=b._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=function(){return(zn=b._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2= -b.asm.ul).apply(null,arguments)},An=b._emscripten_bind_btHeightfieldTerrainShape___destroy___0=function(){return(An=b._emscripten_bind_btHeightfieldTerrainShape___destroy___0=b.asm.vl).apply(null,arguments)},Bn=b._emscripten_bind_btAABB_btAABB_4=function(){return(Bn=b._emscripten_bind_btAABB_btAABB_4=b.asm.wl).apply(null,arguments)},Cn=b._emscripten_bind_btAABB_invalidate_0=function(){return(Cn=b._emscripten_bind_btAABB_invalidate_0=b.asm.xl).apply(null,arguments)},Dn=b._emscripten_bind_btAABB_increment_margin_1= -function(){return(Dn=b._emscripten_bind_btAABB_increment_margin_1=b.asm.yl).apply(null,arguments)},En=b._emscripten_bind_btAABB_copy_with_margin_2=function(){return(En=b._emscripten_bind_btAABB_copy_with_margin_2=b.asm.zl).apply(null,arguments)},Fn=b._emscripten_bind_btAABB___destroy___0=function(){return(Fn=b._emscripten_bind_btAABB___destroy___0=b.asm.Al).apply(null,arguments)},Gn=b._emscripten_bind_btPrimitiveTriangle_btPrimitiveTriangle_0=function(){return(Gn=b._emscripten_bind_btPrimitiveTriangle_btPrimitiveTriangle_0= -b.asm.Bl).apply(null,arguments)},Hn=b._emscripten_bind_btPrimitiveTriangle___destroy___0=function(){return(Hn=b._emscripten_bind_btPrimitiveTriangle___destroy___0=b.asm.Cl).apply(null,arguments)},In=b._emscripten_bind_btTriangleShapeEx_btTriangleShapeEx_3=function(){return(In=b._emscripten_bind_btTriangleShapeEx_btTriangleShapeEx_3=b.asm.Dl).apply(null,arguments)},Jn=b._emscripten_bind_btTriangleShapeEx_getAabb_3=function(){return(Jn=b._emscripten_bind_btTriangleShapeEx_getAabb_3=b.asm.El).apply(null, -arguments)},Kn=b._emscripten_bind_btTriangleShapeEx_applyTransform_1=function(){return(Kn=b._emscripten_bind_btTriangleShapeEx_applyTransform_1=b.asm.Fl).apply(null,arguments)},Ln=b._emscripten_bind_btTriangleShapeEx_buildTriPlane_1=function(){return(Ln=b._emscripten_bind_btTriangleShapeEx_buildTriPlane_1=b.asm.Gl).apply(null,arguments)},Mn=b._emscripten_bind_btTriangleShapeEx___destroy___0=function(){return(Mn=b._emscripten_bind_btTriangleShapeEx___destroy___0=b.asm.Hl).apply(null,arguments)},Nn= -b._emscripten_bind_btTetrahedronShapeEx_btTetrahedronShapeEx_0=function(){return(Nn=b._emscripten_bind_btTetrahedronShapeEx_btTetrahedronShapeEx_0=b.asm.Il).apply(null,arguments)},On=b._emscripten_bind_btTetrahedronShapeEx_setVertices_4=function(){return(On=b._emscripten_bind_btTetrahedronShapeEx_setVertices_4=b.asm.Jl).apply(null,arguments)},Pn=b._emscripten_bind_btTetrahedronShapeEx___destroy___0=function(){return(Pn=b._emscripten_bind_btTetrahedronShapeEx___destroy___0=b.asm.Kl).apply(null,arguments)}, -Qn=b._emscripten_bind_CompoundPrimitiveManager_get_primitive_count_0=function(){return(Qn=b._emscripten_bind_CompoundPrimitiveManager_get_primitive_count_0=b.asm.Ll).apply(null,arguments)},Rn=b._emscripten_bind_CompoundPrimitiveManager_get_primitive_box_2=function(){return(Rn=b._emscripten_bind_CompoundPrimitiveManager_get_primitive_box_2=b.asm.Ml).apply(null,arguments)},Sn=b._emscripten_bind_CompoundPrimitiveManager_get_primitive_triangle_2=function(){return(Sn=b._emscripten_bind_CompoundPrimitiveManager_get_primitive_triangle_2= -b.asm.Nl).apply(null,arguments)},Tn=b._emscripten_bind_CompoundPrimitiveManager_is_trimesh_0=function(){return(Tn=b._emscripten_bind_CompoundPrimitiveManager_is_trimesh_0=b.asm.Ol).apply(null,arguments)},Un=b._emscripten_bind_CompoundPrimitiveManager_get_m_compoundShape_0=function(){return(Un=b._emscripten_bind_CompoundPrimitiveManager_get_m_compoundShape_0=b.asm.Pl).apply(null,arguments)},Vn=b._emscripten_bind_CompoundPrimitiveManager_set_m_compoundShape_1=function(){return(Vn=b._emscripten_bind_CompoundPrimitiveManager_set_m_compoundShape_1= -b.asm.Ql).apply(null,arguments)},Wn=b._emscripten_bind_CompoundPrimitiveManager___destroy___0=function(){return(Wn=b._emscripten_bind_CompoundPrimitiveManager___destroy___0=b.asm.Rl).apply(null,arguments)},Xn=b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_0=function(){return(Xn=b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_0=b.asm.Sl).apply(null,arguments)},Yn=b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_1=function(){return(Yn=b._emscripten_bind_btGImpactCompoundShape_btGImpactCompoundShape_1= -b.asm.Tl).apply(null,arguments)},Zn=b._emscripten_bind_btGImpactCompoundShape_childrenHasTransform_0=function(){return(Zn=b._emscripten_bind_btGImpactCompoundShape_childrenHasTransform_0=b.asm.Ul).apply(null,arguments)},$n=b._emscripten_bind_btGImpactCompoundShape_getPrimitiveManager_0=function(){return($n=b._emscripten_bind_btGImpactCompoundShape_getPrimitiveManager_0=b.asm.Vl).apply(null,arguments)},ao=b._emscripten_bind_btGImpactCompoundShape_getCompoundPrimitiveManager_0=function(){return(ao= -b._emscripten_bind_btGImpactCompoundShape_getCompoundPrimitiveManager_0=b.asm.Wl).apply(null,arguments)},bo=b._emscripten_bind_btGImpactCompoundShape_getNumChildShapes_0=function(){return(bo=b._emscripten_bind_btGImpactCompoundShape_getNumChildShapes_0=b.asm.Xl).apply(null,arguments)},co=b._emscripten_bind_btGImpactCompoundShape_addChildShape_2=function(){return(co=b._emscripten_bind_btGImpactCompoundShape_addChildShape_2=b.asm.Yl).apply(null,arguments)},eo=b._emscripten_bind_btGImpactCompoundShape_getChildShape_1= -function(){return(eo=b._emscripten_bind_btGImpactCompoundShape_getChildShape_1=b.asm.Zl).apply(null,arguments)},fo=b._emscripten_bind_btGImpactCompoundShape_getChildAabb_4=function(){return(fo=b._emscripten_bind_btGImpactCompoundShape_getChildAabb_4=b.asm._l).apply(null,arguments)},go=b._emscripten_bind_btGImpactCompoundShape_getChildTransform_1=function(){return(go=b._emscripten_bind_btGImpactCompoundShape_getChildTransform_1=b.asm.$l).apply(null,arguments)},ho=b._emscripten_bind_btGImpactCompoundShape_setChildTransform_2= -function(){return(ho=b._emscripten_bind_btGImpactCompoundShape_setChildTransform_2=b.asm.am).apply(null,arguments)},io=b._emscripten_bind_btGImpactCompoundShape_calculateLocalInertia_2=function(){return(io=b._emscripten_bind_btGImpactCompoundShape_calculateLocalInertia_2=b.asm.bm).apply(null,arguments)},jo=b._emscripten_bind_btGImpactCompoundShape_getName_0=function(){return(jo=b._emscripten_bind_btGImpactCompoundShape_getName_0=b.asm.cm).apply(null,arguments)},ko=b._emscripten_bind_btGImpactCompoundShape_getGImpactShapeType_0= -function(){return(ko=b._emscripten_bind_btGImpactCompoundShape_getGImpactShapeType_0=b.asm.dm).apply(null,arguments)},lo=b._emscripten_bind_btGImpactCompoundShape_setLocalScaling_1=function(){return(lo=b._emscripten_bind_btGImpactCompoundShape_setLocalScaling_1=b.asm.em).apply(null,arguments)},mo=b._emscripten_bind_btGImpactCompoundShape_getLocalScaling_0=function(){return(mo=b._emscripten_bind_btGImpactCompoundShape_getLocalScaling_0=b.asm.fm).apply(null,arguments)},no=b._emscripten_bind_btGImpactCompoundShape_updateBound_0= -function(){return(no=b._emscripten_bind_btGImpactCompoundShape_updateBound_0=b.asm.gm).apply(null,arguments)},oo=b._emscripten_bind_btGImpactCompoundShape_postUpdate_0=function(){return(oo=b._emscripten_bind_btGImpactCompoundShape_postUpdate_0=b.asm.hm).apply(null,arguments)},po=b._emscripten_bind_btGImpactCompoundShape_getShapeType_0=function(){return(po=b._emscripten_bind_btGImpactCompoundShape_getShapeType_0=b.asm.im).apply(null,arguments)},qo=b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTriangles_0= -function(){return(qo=b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTriangles_0=b.asm.jm).apply(null,arguments)},ro=b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTetrahedrons_0=function(){return(ro=b._emscripten_bind_btGImpactCompoundShape_needsRetrieveTetrahedrons_0=b.asm.km).apply(null,arguments)},so=b._emscripten_bind_btGImpactCompoundShape_getBulletTriangle_2=function(){return(so=b._emscripten_bind_btGImpactCompoundShape_getBulletTriangle_2=b.asm.lm).apply(null,arguments)},to= -b._emscripten_bind_btGImpactCompoundShape_getBulletTetrahedron_2=function(){return(to=b._emscripten_bind_btGImpactCompoundShape_getBulletTetrahedron_2=b.asm.mm).apply(null,arguments)},uo=b._emscripten_bind_btGImpactCompoundShape___destroy___0=function(){return(uo=b._emscripten_bind_btGImpactCompoundShape___destroy___0=b.asm.nm).apply(null,arguments)},vo=b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_0=function(){return(vo=b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_0= -b.asm.om).apply(null,arguments)},wo=b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_1=function(){return(wo=b._emscripten_bind_TrimeshPrimitiveManager_TrimeshPrimitiveManager_1=b.asm.pm).apply(null,arguments)},xo=b._emscripten_bind_TrimeshPrimitiveManager_lock_0=function(){return(xo=b._emscripten_bind_TrimeshPrimitiveManager_lock_0=b.asm.qm).apply(null,arguments)},yo=b._emscripten_bind_TrimeshPrimitiveManager_unlock_0=function(){return(yo=b._emscripten_bind_TrimeshPrimitiveManager_unlock_0= -b.asm.rm).apply(null,arguments)},zo=b._emscripten_bind_TrimeshPrimitiveManager_is_trimesh_0=function(){return(zo=b._emscripten_bind_TrimeshPrimitiveManager_is_trimesh_0=b.asm.sm).apply(null,arguments)},Ao=b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_count_0=function(){return(Ao=b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_count_0=b.asm.tm).apply(null,arguments)},Bo=b._emscripten_bind_TrimeshPrimitiveManager_get_indices_4=function(){return(Bo=b._emscripten_bind_TrimeshPrimitiveManager_get_indices_4= -b.asm.um).apply(null,arguments)},Co=b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_2=function(){return(Co=b._emscripten_bind_TrimeshPrimitiveManager_get_vertex_2=b.asm.vm).apply(null,arguments)},Do=b._emscripten_bind_TrimeshPrimitiveManager_get_bullet_triangle_2=function(){return(Do=b._emscripten_bind_TrimeshPrimitiveManager_get_bullet_triangle_2=b.asm.wm).apply(null,arguments)},Eo=b._emscripten_bind_TrimeshPrimitiveManager_get_m_margin_0=function(){return(Eo=b._emscripten_bind_TrimeshPrimitiveManager_get_m_margin_0= -b.asm.xm).apply(null,arguments)},Fo=b._emscripten_bind_TrimeshPrimitiveManager_set_m_margin_1=function(){return(Fo=b._emscripten_bind_TrimeshPrimitiveManager_set_m_margin_1=b.asm.ym).apply(null,arguments)},Go=b._emscripten_bind_TrimeshPrimitiveManager_get_m_meshInterface_0=function(){return(Go=b._emscripten_bind_TrimeshPrimitiveManager_get_m_meshInterface_0=b.asm.zm).apply(null,arguments)},Ho=b._emscripten_bind_TrimeshPrimitiveManager_set_m_meshInterface_1=function(){return(Ho=b._emscripten_bind_TrimeshPrimitiveManager_set_m_meshInterface_1= -b.asm.Am).apply(null,arguments)},Io=b._emscripten_bind_TrimeshPrimitiveManager_get_m_part_0=function(){return(Io=b._emscripten_bind_TrimeshPrimitiveManager_get_m_part_0=b.asm.Bm).apply(null,arguments)},Jo=b._emscripten_bind_TrimeshPrimitiveManager_set_m_part_1=function(){return(Jo=b._emscripten_bind_TrimeshPrimitiveManager_set_m_part_1=b.asm.Cm).apply(null,arguments)},Ko=b._emscripten_bind_TrimeshPrimitiveManager_get_m_lock_count_0=function(){return(Ko=b._emscripten_bind_TrimeshPrimitiveManager_get_m_lock_count_0= -b.asm.Dm).apply(null,arguments)},Lo=b._emscripten_bind_TrimeshPrimitiveManager_set_m_lock_count_1=function(){return(Lo=b._emscripten_bind_TrimeshPrimitiveManager_set_m_lock_count_1=b.asm.Em).apply(null,arguments)},Mo=b._emscripten_bind_TrimeshPrimitiveManager_get_numverts_0=function(){return(Mo=b._emscripten_bind_TrimeshPrimitiveManager_get_numverts_0=b.asm.Fm).apply(null,arguments)},No=b._emscripten_bind_TrimeshPrimitiveManager_set_numverts_1=function(){return(No=b._emscripten_bind_TrimeshPrimitiveManager_set_numverts_1= -b.asm.Gm).apply(null,arguments)},Oo=b._emscripten_bind_TrimeshPrimitiveManager_get_type_0=function(){return(Oo=b._emscripten_bind_TrimeshPrimitiveManager_get_type_0=b.asm.Hm).apply(null,arguments)},Po=b._emscripten_bind_TrimeshPrimitiveManager_set_type_1=function(){return(Po=b._emscripten_bind_TrimeshPrimitiveManager_set_type_1=b.asm.Im).apply(null,arguments)},Qo=b._emscripten_bind_TrimeshPrimitiveManager_get_stride_0=function(){return(Qo=b._emscripten_bind_TrimeshPrimitiveManager_get_stride_0=b.asm.Jm).apply(null, -arguments)},Ro=b._emscripten_bind_TrimeshPrimitiveManager_set_stride_1=function(){return(Ro=b._emscripten_bind_TrimeshPrimitiveManager_set_stride_1=b.asm.Km).apply(null,arguments)},So=b._emscripten_bind_TrimeshPrimitiveManager_get_indexstride_0=function(){return(So=b._emscripten_bind_TrimeshPrimitiveManager_get_indexstride_0=b.asm.Lm).apply(null,arguments)},To=b._emscripten_bind_TrimeshPrimitiveManager_set_indexstride_1=function(){return(To=b._emscripten_bind_TrimeshPrimitiveManager_set_indexstride_1= -b.asm.Mm).apply(null,arguments)},Uo=b._emscripten_bind_TrimeshPrimitiveManager_get_numfaces_0=function(){return(Uo=b._emscripten_bind_TrimeshPrimitiveManager_get_numfaces_0=b.asm.Nm).apply(null,arguments)},Vo=b._emscripten_bind_TrimeshPrimitiveManager_set_numfaces_1=function(){return(Vo=b._emscripten_bind_TrimeshPrimitiveManager_set_numfaces_1=b.asm.Om).apply(null,arguments)},Wo=b._emscripten_bind_TrimeshPrimitiveManager_get_indicestype_0=function(){return(Wo=b._emscripten_bind_TrimeshPrimitiveManager_get_indicestype_0= -b.asm.Pm).apply(null,arguments)},Xo=b._emscripten_bind_TrimeshPrimitiveManager_set_indicestype_1=function(){return(Xo=b._emscripten_bind_TrimeshPrimitiveManager_set_indicestype_1=b.asm.Qm).apply(null,arguments)},Yo=b._emscripten_bind_TrimeshPrimitiveManager___destroy___0=function(){return(Yo=b._emscripten_bind_TrimeshPrimitiveManager___destroy___0=b.asm.Rm).apply(null,arguments)},Zo=b._emscripten_bind_btGImpactMeshShapePart_btGImpactMeshShapePart_2=function(){return(Zo=b._emscripten_bind_btGImpactMeshShapePart_btGImpactMeshShapePart_2= -b.asm.Sm).apply(null,arguments)},$o=b._emscripten_bind_btGImpactMeshShapePart_getTrimeshPrimitiveManager_0=function(){return($o=b._emscripten_bind_btGImpactMeshShapePart_getTrimeshPrimitiveManager_0=b.asm.Tm).apply(null,arguments)},ap=b._emscripten_bind_btGImpactMeshShapePart_getVertexCount_0=function(){return(ap=b._emscripten_bind_btGImpactMeshShapePart_getVertexCount_0=b.asm.Um).apply(null,arguments)},bp=b._emscripten_bind_btGImpactMeshShapePart_getVertex_2=function(){return(bp=b._emscripten_bind_btGImpactMeshShapePart_getVertex_2= -b.asm.Vm).apply(null,arguments)},cp=b._emscripten_bind_btGImpactMeshShapePart_getPart_0=function(){return(cp=b._emscripten_bind_btGImpactMeshShapePart_getPart_0=b.asm.Wm).apply(null,arguments)},dp=b._emscripten_bind_btGImpactMeshShapePart_setLocalScaling_1=function(){return(dp=b._emscripten_bind_btGImpactMeshShapePart_setLocalScaling_1=b.asm.Xm).apply(null,arguments)},ep=b._emscripten_bind_btGImpactMeshShapePart_getLocalScaling_0=function(){return(ep=b._emscripten_bind_btGImpactMeshShapePart_getLocalScaling_0= -b.asm.Ym).apply(null,arguments)},fp=b._emscripten_bind_btGImpactMeshShapePart_updateBound_0=function(){return(fp=b._emscripten_bind_btGImpactMeshShapePart_updateBound_0=b.asm.Zm).apply(null,arguments)},gp=b._emscripten_bind_btGImpactMeshShapePart_postUpdate_0=function(){return(gp=b._emscripten_bind_btGImpactMeshShapePart_postUpdate_0=b.asm._m).apply(null,arguments)},hp=b._emscripten_bind_btGImpactMeshShapePart_getShapeType_0=function(){return(hp=b._emscripten_bind_btGImpactMeshShapePart_getShapeType_0= -b.asm.$m).apply(null,arguments)},ip=b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTriangles_0=function(){return(ip=b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTriangles_0=b.asm.an).apply(null,arguments)},jp=b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTetrahedrons_0=function(){return(jp=b._emscripten_bind_btGImpactMeshShapePart_needsRetrieveTetrahedrons_0=b.asm.bn).apply(null,arguments)},kp=b._emscripten_bind_btGImpactMeshShapePart_getBulletTriangle_2=function(){return(kp= -b._emscripten_bind_btGImpactMeshShapePart_getBulletTriangle_2=b.asm.cn).apply(null,arguments)},lp=b._emscripten_bind_btGImpactMeshShapePart_getBulletTetrahedron_2=function(){return(lp=b._emscripten_bind_btGImpactMeshShapePart_getBulletTetrahedron_2=b.asm.dn).apply(null,arguments)},mp=b._emscripten_bind_btGImpactMeshShapePart___destroy___0=function(){return(mp=b._emscripten_bind_btGImpactMeshShapePart___destroy___0=b.asm.en).apply(null,arguments)},np=b._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1= -function(){return(np=b._emscripten_bind_btGImpactMeshShape_btGImpactMeshShape_1=b.asm.fn).apply(null,arguments)},op=b._emscripten_bind_btGImpactMeshShape_getMeshInterface_0=function(){return(op=b._emscripten_bind_btGImpactMeshShape_getMeshInterface_0=b.asm.gn).apply(null,arguments)},pp=b._emscripten_bind_btGImpactMeshShape_getMeshPartCount_0=function(){return(pp=b._emscripten_bind_btGImpactMeshShape_getMeshPartCount_0=b.asm.hn).apply(null,arguments)},qp=b._emscripten_bind_btGImpactMeshShape_getMeshPart_1= -function(){return(qp=b._emscripten_bind_btGImpactMeshShape_getMeshPart_1=b.asm.jn).apply(null,arguments)},rp=b._emscripten_bind_btGImpactMeshShape_calculateSerializeBufferSize_0=function(){return(rp=b._emscripten_bind_btGImpactMeshShape_calculateSerializeBufferSize_0=b.asm.kn).apply(null,arguments)},sp=b._emscripten_bind_btGImpactMeshShape_setLocalScaling_1=function(){return(sp=b._emscripten_bind_btGImpactMeshShape_setLocalScaling_1=b.asm.ln).apply(null,arguments)},tp=b._emscripten_bind_btGImpactMeshShape_getLocalScaling_0= -function(){return(tp=b._emscripten_bind_btGImpactMeshShape_getLocalScaling_0=b.asm.mn).apply(null,arguments)},up=b._emscripten_bind_btGImpactMeshShape_updateBound_0=function(){return(up=b._emscripten_bind_btGImpactMeshShape_updateBound_0=b.asm.nn).apply(null,arguments)},vp=b._emscripten_bind_btGImpactMeshShape_postUpdate_0=function(){return(vp=b._emscripten_bind_btGImpactMeshShape_postUpdate_0=b.asm.on).apply(null,arguments)},wp=b._emscripten_bind_btGImpactMeshShape_getShapeType_0=function(){return(wp= -b._emscripten_bind_btGImpactMeshShape_getShapeType_0=b.asm.pn).apply(null,arguments)},xp=b._emscripten_bind_btGImpactMeshShape_needsRetrieveTriangles_0=function(){return(xp=b._emscripten_bind_btGImpactMeshShape_needsRetrieveTriangles_0=b.asm.qn).apply(null,arguments)},yp=b._emscripten_bind_btGImpactMeshShape_needsRetrieveTetrahedrons_0=function(){return(yp=b._emscripten_bind_btGImpactMeshShape_needsRetrieveTetrahedrons_0=b.asm.rn).apply(null,arguments)},zp=b._emscripten_bind_btGImpactMeshShape_getBulletTriangle_2= -function(){return(zp=b._emscripten_bind_btGImpactMeshShape_getBulletTriangle_2=b.asm.sn).apply(null,arguments)},Ap=b._emscripten_bind_btGImpactMeshShape_getBulletTetrahedron_2=function(){return(Ap=b._emscripten_bind_btGImpactMeshShape_getBulletTetrahedron_2=b.asm.tn).apply(null,arguments)},Bp=b._emscripten_bind_btGImpactMeshShape___destroy___0=function(){return(Bp=b._emscripten_bind_btGImpactMeshShape___destroy___0=b.asm.un).apply(null,arguments)},Cp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_0= -function(){return(Cp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_0=b.asm.vn).apply(null,arguments)},Dp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_2=function(){return(Dp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_2=b.asm.wn).apply(null,arguments)},Ep=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_dispatcher1_0=function(){return(Ep=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_dispatcher1_0= -b.asm.xn).apply(null,arguments)},Fp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_dispatcher1_1=function(){return(Fp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_dispatcher1_1=b.asm.yn).apply(null,arguments)},Gp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_manifold_0=function(){return(Gp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_get_m_manifold_0=b.asm.zn).apply(null,arguments)},Hp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_manifold_1= -function(){return(Hp=b._emscripten_bind_btCollisionAlgorithmConstructionInfo_set_m_manifold_1=b.asm.An).apply(null,arguments)},Ip=b._emscripten_bind_btCollisionAlgorithmConstructionInfo___destroy___0=function(){return(Ip=b._emscripten_bind_btCollisionAlgorithmConstructionInfo___destroy___0=b.asm.Bn).apply(null,arguments)},Jp=b._emscripten_bind_btGImpactCollisionAlgorithm_btGImpactCollisionAlgorithm_3=function(){return(Jp=b._emscripten_bind_btGImpactCollisionAlgorithm_btGImpactCollisionAlgorithm_3= -b.asm.Cn).apply(null,arguments)},Kp=b._emscripten_bind_btGImpactCollisionAlgorithm_registerAlgorithm_1=function(){return(Kp=b._emscripten_bind_btGImpactCollisionAlgorithm_registerAlgorithm_1=b.asm.Dn).apply(null,arguments)},Lp=b._emscripten_bind_btGImpactCollisionAlgorithm___destroy___0=function(){return(Lp=b._emscripten_bind_btGImpactCollisionAlgorithm___destroy___0=b.asm.En).apply(null,arguments)},Mp=b._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=function(){return(Mp= -b._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=b.asm.Fn).apply(null,arguments)},Np=b._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=function(){return(Np=b._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=b.asm.Gn).apply(null,arguments)},Op=b._emscripten_bind_btPersistentManifold_btPersistentManifold_0=function(){return(Op=b._emscripten_bind_btPersistentManifold_btPersistentManifold_0=b.asm.Hn).apply(null,arguments)},Pp= -b._emscripten_bind_btPersistentManifold_getBody0_0=function(){return(Pp=b._emscripten_bind_btPersistentManifold_getBody0_0=b.asm.In).apply(null,arguments)},Qp=b._emscripten_bind_btPersistentManifold_getBody1_0=function(){return(Qp=b._emscripten_bind_btPersistentManifold_getBody1_0=b.asm.Jn).apply(null,arguments)},Rp=b._emscripten_bind_btPersistentManifold_getNumContacts_0=function(){return(Rp=b._emscripten_bind_btPersistentManifold_getNumContacts_0=b.asm.Kn).apply(null,arguments)},Sp=b._emscripten_bind_btPersistentManifold_getContactPoint_1= -function(){return(Sp=b._emscripten_bind_btPersistentManifold_getContactPoint_1=b.asm.Ln).apply(null,arguments)},Tp=b._emscripten_bind_btPersistentManifold___destroy___0=function(){return(Tp=b._emscripten_bind_btPersistentManifold___destroy___0=b.asm.Mn).apply(null,arguments)},Up=b._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=function(){return(Up=b._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=b.asm.Nn).apply(null,arguments)},Vp=b._emscripten_bind_btCollisionDispatcher_getNumManifolds_0= -function(){return(Vp=b._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=b.asm.On).apply(null,arguments)},Wp=b._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=function(){return(Wp=b._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=b.asm.Pn).apply(null,arguments)},Xp=b._emscripten_bind_btCollisionDispatcher___destroy___0=function(){return(Xp=b._emscripten_bind_btCollisionDispatcher___destroy___0=b.asm.Qn).apply(null,arguments)},Yp=b._emscripten_bind_btOverlappingPairCallback___destroy___0= -function(){return(Yp=b._emscripten_bind_btOverlappingPairCallback___destroy___0=b.asm.Rn).apply(null,arguments)},Zp=b._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=function(){return(Zp=b._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=b.asm.Sn).apply(null,arguments)},$p=b._emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0=function(){return($p=b._emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0=b.asm.Tn).apply(null,arguments)}, -aq=b._emscripten_bind_btOverlappingPairCache___destroy___0=function(){return(aq=b._emscripten_bind_btOverlappingPairCache___destroy___0=b.asm.Un).apply(null,arguments)},bq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_2=function(){return(bq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_2=b.asm.Vn).apply(null,arguments)},cq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_3=function(){return(cq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_3=b.asm.Wn).apply(null,arguments)},dq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_4= -function(){return(dq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_4=b.asm.Xn).apply(null,arguments)},eq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_5=function(){return(eq=b._emscripten_bind_btAxisSweep3_btAxisSweep3_5=b.asm.Yn).apply(null,arguments)},fq=b._emscripten_bind_btAxisSweep3___destroy___0=function(){return(fq=b._emscripten_bind_btAxisSweep3___destroy___0=b.asm.Zn).apply(null,arguments)},gq=b._emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0=function(){return(gq=b._emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0= -b.asm._n).apply(null,arguments)},hq=b._emscripten_bind_btBroadphaseInterface___destroy___0=function(){return(hq=b._emscripten_bind_btBroadphaseInterface___destroy___0=b.asm.$n).apply(null,arguments)},iq=b._emscripten_bind_btCollisionConfiguration___destroy___0=function(){return(iq=b._emscripten_bind_btCollisionConfiguration___destroy___0=b.asm.ao).apply(null,arguments)},jq=b._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=function(){return(jq=b._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0= -b.asm.bo).apply(null,arguments)},kq=b._emscripten_bind_btDbvtBroadphase___destroy___0=function(){return(kq=b._emscripten_bind_btDbvtBroadphase___destroy___0=b.asm.co).apply(null,arguments)},lq=b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=function(){return(lq=b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=b.asm.eo).apply(null,arguments)},mq=b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1=function(){return(mq=b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1= -b.asm.fo).apply(null,arguments)},nq=b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=function(){return(nq=b._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=b.asm.go).apply(null,arguments)},oq=b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=function(){return(oq=b._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=b.asm.ho).apply(null,arguments)},pq=b._emscripten_bind_btBroadphaseProxy___destroy___0=function(){return(pq=b._emscripten_bind_btBroadphaseProxy___destroy___0= -b.asm.io).apply(null,arguments)},qq=b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=function(){return(qq=b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=b.asm.jo).apply(null,arguments)},rq=b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=function(){return(rq=b._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=b.asm.ko).apply(null,arguments)},sq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0= -function(){return(sq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=b.asm.lo).apply(null,arguments)},tq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=function(){return(tq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=b.asm.mo).apply(null,arguments)},uq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=function(){return(uq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=b.asm.no).apply(null, -arguments)},vq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=function(){return(vq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=b.asm.oo).apply(null,arguments)},wq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=function(){return(wq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=b.asm.po).apply(null,arguments)},xq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=function(){return(xq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1= -b.asm.qo).apply(null,arguments)},yq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=function(){return(yq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=b.asm.ro).apply(null,arguments)},zq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=function(){return(zq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=b.asm.so).apply(null,arguments)},Aq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0= -function(){return(Aq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=b.asm.to).apply(null,arguments)},Bq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=function(){return(Bq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=b.asm.uo).apply(null,arguments)},Cq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=function(){return(Cq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=b.asm.vo).apply(null, -arguments)},Dq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=function(){return(Dq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=b.asm.wo).apply(null,arguments)},Eq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=function(){return(Eq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=b.asm.xo).apply(null,arguments)},Fq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1= -function(){return(Fq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=b.asm.yo).apply(null,arguments)},Gq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=function(){return(Gq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=b.asm.zo).apply(null,arguments)},Hq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=function(){return(Hq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1= -b.asm.Ao).apply(null,arguments)},Iq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=function(){return(Iq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=b.asm.Bo).apply(null,arguments)},Jq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=function(){return(Jq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=b.asm.Co).apply(null,arguments)},Kq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0= -function(){return(Kq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=b.asm.Do).apply(null,arguments)},Lq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=function(){return(Lq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=b.asm.Eo).apply(null,arguments)},Mq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=function(){return(Mq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0= -b.asm.Fo).apply(null,arguments)},Nq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=function(){return(Nq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=b.asm.Go).apply(null,arguments)},Oq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=function(){return(Oq=b._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=b.asm.Ho).apply(null,arguments)}, -Pq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=function(){return(Pq=b._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=b.asm.Io).apply(null,arguments)},Qq=b._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=function(){return(Qq=b._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=b.asm.Jo).apply(null,arguments)},Rq=b._emscripten_bind_btRigidBody_btRigidBody_1=function(){return(Rq=b._emscripten_bind_btRigidBody_btRigidBody_1= -b.asm.Ko).apply(null,arguments)},Sq=b._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=function(){return(Sq=b._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=b.asm.Lo).apply(null,arguments)},Tq=b._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=function(){return(Tq=b._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=b.asm.Mo).apply(null,arguments)},Uq=b._emscripten_bind_btRigidBody_setSleepingThresholds_2=function(){return(Uq=b._emscripten_bind_btRigidBody_setSleepingThresholds_2= -b.asm.No).apply(null,arguments)},Vq=b._emscripten_bind_btRigidBody_getLinearDamping_0=function(){return(Vq=b._emscripten_bind_btRigidBody_getLinearDamping_0=b.asm.Oo).apply(null,arguments)},Wq=b._emscripten_bind_btRigidBody_getAngularDamping_0=function(){return(Wq=b._emscripten_bind_btRigidBody_getAngularDamping_0=b.asm.Po).apply(null,arguments)},Xq=b._emscripten_bind_btRigidBody_setDamping_2=function(){return(Xq=b._emscripten_bind_btRigidBody_setDamping_2=b.asm.Qo).apply(null,arguments)},Yq=b._emscripten_bind_btRigidBody_setMassProps_2= -function(){return(Yq=b._emscripten_bind_btRigidBody_setMassProps_2=b.asm.Ro).apply(null,arguments)},Zq=b._emscripten_bind_btRigidBody_getLinearFactor_0=function(){return(Zq=b._emscripten_bind_btRigidBody_getLinearFactor_0=b.asm.So).apply(null,arguments)},$q=b._emscripten_bind_btRigidBody_setLinearFactor_1=function(){return($q=b._emscripten_bind_btRigidBody_setLinearFactor_1=b.asm.To).apply(null,arguments)},ar=b._emscripten_bind_btRigidBody_applyTorque_1=function(){return(ar=b._emscripten_bind_btRigidBody_applyTorque_1= -b.asm.Uo).apply(null,arguments)},br=b._emscripten_bind_btRigidBody_applyLocalTorque_1=function(){return(br=b._emscripten_bind_btRigidBody_applyLocalTorque_1=b.asm.Vo).apply(null,arguments)},cr=b._emscripten_bind_btRigidBody_applyForce_2=function(){return(cr=b._emscripten_bind_btRigidBody_applyForce_2=b.asm.Wo).apply(null,arguments)},dr=b._emscripten_bind_btRigidBody_applyCentralForce_1=function(){return(dr=b._emscripten_bind_btRigidBody_applyCentralForce_1=b.asm.Xo).apply(null,arguments)},er=b._emscripten_bind_btRigidBody_applyCentralLocalForce_1= -function(){return(er=b._emscripten_bind_btRigidBody_applyCentralLocalForce_1=b.asm.Yo).apply(null,arguments)},fr=b._emscripten_bind_btRigidBody_applyTorqueImpulse_1=function(){return(fr=b._emscripten_bind_btRigidBody_applyTorqueImpulse_1=b.asm.Zo).apply(null,arguments)},gr=b._emscripten_bind_btRigidBody_applyImpulse_2=function(){return(gr=b._emscripten_bind_btRigidBody_applyImpulse_2=b.asm._o).apply(null,arguments)},hr=b._emscripten_bind_btRigidBody_applyCentralImpulse_1=function(){return(hr=b._emscripten_bind_btRigidBody_applyCentralImpulse_1= -b.asm.$o).apply(null,arguments)},ir=b._emscripten_bind_btRigidBody_updateInertiaTensor_0=function(){return(ir=b._emscripten_bind_btRigidBody_updateInertiaTensor_0=b.asm.ap).apply(null,arguments)},jr=b._emscripten_bind_btRigidBody_getLinearVelocity_0=function(){return(jr=b._emscripten_bind_btRigidBody_getLinearVelocity_0=b.asm.bp).apply(null,arguments)},kr=b._emscripten_bind_btRigidBody_getAngularVelocity_0=function(){return(kr=b._emscripten_bind_btRigidBody_getAngularVelocity_0=b.asm.cp).apply(null, -arguments)},lr=b._emscripten_bind_btRigidBody_setLinearVelocity_1=function(){return(lr=b._emscripten_bind_btRigidBody_setLinearVelocity_1=b.asm.dp).apply(null,arguments)},mr=b._emscripten_bind_btRigidBody_setAngularVelocity_1=function(){return(mr=b._emscripten_bind_btRigidBody_setAngularVelocity_1=b.asm.ep).apply(null,arguments)},nr=b._emscripten_bind_btRigidBody_getMotionState_0=function(){return(nr=b._emscripten_bind_btRigidBody_getMotionState_0=b.asm.fp).apply(null,arguments)},or=b._emscripten_bind_btRigidBody_setMotionState_1= -function(){return(or=b._emscripten_bind_btRigidBody_setMotionState_1=b.asm.gp).apply(null,arguments)},pr=b._emscripten_bind_btRigidBody_getAngularFactor_0=function(){return(pr=b._emscripten_bind_btRigidBody_getAngularFactor_0=b.asm.hp).apply(null,arguments)},qr=b._emscripten_bind_btRigidBody_setAngularFactor_1=function(){return(qr=b._emscripten_bind_btRigidBody_setAngularFactor_1=b.asm.ip).apply(null,arguments)},rr=b._emscripten_bind_btRigidBody_upcast_1=function(){return(rr=b._emscripten_bind_btRigidBody_upcast_1= -b.asm.jp).apply(null,arguments)},sr=b._emscripten_bind_btRigidBody_getAabb_2=function(){return(sr=b._emscripten_bind_btRigidBody_getAabb_2=b.asm.kp).apply(null,arguments)},tr=b._emscripten_bind_btRigidBody_applyGravity_0=function(){return(tr=b._emscripten_bind_btRigidBody_applyGravity_0=b.asm.lp).apply(null,arguments)},ur=b._emscripten_bind_btRigidBody_getGravity_0=function(){return(ur=b._emscripten_bind_btRigidBody_getGravity_0=b.asm.mp).apply(null,arguments)},vr=b._emscripten_bind_btRigidBody_setGravity_1= -function(){return(vr=b._emscripten_bind_btRigidBody_setGravity_1=b.asm.np).apply(null,arguments)},wr=b._emscripten_bind_btRigidBody_getBroadphaseProxy_0=function(){return(wr=b._emscripten_bind_btRigidBody_getBroadphaseProxy_0=b.asm.op).apply(null,arguments)},xr=b._emscripten_bind_btRigidBody_clearForces_0=function(){return(xr=b._emscripten_bind_btRigidBody_clearForces_0=b.asm.pp).apply(null,arguments)},yr=b._emscripten_bind_btRigidBody_setFlags_1=function(){return(yr=b._emscripten_bind_btRigidBody_setFlags_1= -b.asm.qp).apply(null,arguments)},zr=b._emscripten_bind_btRigidBody_getFlags_0=function(){return(zr=b._emscripten_bind_btRigidBody_getFlags_0=b.asm.rp).apply(null,arguments)},Ar=b._emscripten_bind_btRigidBody_setAnisotropicFriction_2=function(){return(Ar=b._emscripten_bind_btRigidBody_setAnisotropicFriction_2=b.asm.sp).apply(null,arguments)},Br=b._emscripten_bind_btRigidBody_getCollisionShape_0=function(){return(Br=b._emscripten_bind_btRigidBody_getCollisionShape_0=b.asm.tp).apply(null,arguments)}, -Cr=b._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=function(){return(Cr=b._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=b.asm.up).apply(null,arguments)},Dr=b._emscripten_bind_btRigidBody_setActivationState_1=function(){return(Dr=b._emscripten_bind_btRigidBody_setActivationState_1=b.asm.vp).apply(null,arguments)},Er=b._emscripten_bind_btRigidBody_forceActivationState_1=function(){return(Er=b._emscripten_bind_btRigidBody_forceActivationState_1=b.asm.wp).apply(null,arguments)}, -Fr=b._emscripten_bind_btRigidBody_activate_0=function(){return(Fr=b._emscripten_bind_btRigidBody_activate_0=b.asm.xp).apply(null,arguments)},Gr=b._emscripten_bind_btRigidBody_activate_1=function(){return(Gr=b._emscripten_bind_btRigidBody_activate_1=b.asm.yp).apply(null,arguments)},Hr=b._emscripten_bind_btRigidBody_isActive_0=function(){return(Hr=b._emscripten_bind_btRigidBody_isActive_0=b.asm.zp).apply(null,arguments)},Ir=b._emscripten_bind_btRigidBody_isKinematicObject_0=function(){return(Ir=b._emscripten_bind_btRigidBody_isKinematicObject_0= -b.asm.Ap).apply(null,arguments)},Jr=b._emscripten_bind_btRigidBody_isStaticObject_0=function(){return(Jr=b._emscripten_bind_btRigidBody_isStaticObject_0=b.asm.Bp).apply(null,arguments)},Kr=b._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=function(){return(Kr=b._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=b.asm.Cp).apply(null,arguments)},Lr=b._emscripten_bind_btRigidBody_getRestitution_0=function(){return(Lr=b._emscripten_bind_btRigidBody_getRestitution_0=b.asm.Dp).apply(null, -arguments)},Mr=b._emscripten_bind_btRigidBody_getFriction_0=function(){return(Mr=b._emscripten_bind_btRigidBody_getFriction_0=b.asm.Ep).apply(null,arguments)},Nr=b._emscripten_bind_btRigidBody_getRollingFriction_0=function(){return(Nr=b._emscripten_bind_btRigidBody_getRollingFriction_0=b.asm.Fp).apply(null,arguments)},Or=b._emscripten_bind_btRigidBody_setRestitution_1=function(){return(Or=b._emscripten_bind_btRigidBody_setRestitution_1=b.asm.Gp).apply(null,arguments)},Pr=b._emscripten_bind_btRigidBody_setFriction_1= -function(){return(Pr=b._emscripten_bind_btRigidBody_setFriction_1=b.asm.Hp).apply(null,arguments)},Qr=b._emscripten_bind_btRigidBody_setRollingFriction_1=function(){return(Qr=b._emscripten_bind_btRigidBody_setRollingFriction_1=b.asm.Ip).apply(null,arguments)},Rr=b._emscripten_bind_btRigidBody_getWorldTransform_0=function(){return(Rr=b._emscripten_bind_btRigidBody_getWorldTransform_0=b.asm.Jp).apply(null,arguments)},Sr=b._emscripten_bind_btRigidBody_getCollisionFlags_0=function(){return(Sr=b._emscripten_bind_btRigidBody_getCollisionFlags_0= -b.asm.Kp).apply(null,arguments)},Tr=b._emscripten_bind_btRigidBody_setCollisionFlags_1=function(){return(Tr=b._emscripten_bind_btRigidBody_setCollisionFlags_1=b.asm.Lp).apply(null,arguments)},Ur=b._emscripten_bind_btRigidBody_setWorldTransform_1=function(){return(Ur=b._emscripten_bind_btRigidBody_setWorldTransform_1=b.asm.Mp).apply(null,arguments)},Vr=b._emscripten_bind_btRigidBody_setCollisionShape_1=function(){return(Vr=b._emscripten_bind_btRigidBody_setCollisionShape_1=b.asm.Np).apply(null,arguments)}, -Wr=b._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=function(){return(Wr=b._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=b.asm.Op).apply(null,arguments)},Xr=b._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=function(){return(Xr=b._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=b.asm.Pp).apply(null,arguments)},Yr=b._emscripten_bind_btRigidBody_getUserIndex_0=function(){return(Yr=b._emscripten_bind_btRigidBody_getUserIndex_0=b.asm.Qp).apply(null,arguments)},Zr=b._emscripten_bind_btRigidBody_setUserIndex_1= -function(){return(Zr=b._emscripten_bind_btRigidBody_setUserIndex_1=b.asm.Rp).apply(null,arguments)},$r=b._emscripten_bind_btRigidBody_getUserPointer_0=function(){return($r=b._emscripten_bind_btRigidBody_getUserPointer_0=b.asm.Sp).apply(null,arguments)},as=b._emscripten_bind_btRigidBody_setUserPointer_1=function(){return(as=b._emscripten_bind_btRigidBody_setUserPointer_1=b.asm.Tp).apply(null,arguments)},bs=b._emscripten_bind_btRigidBody_getBroadphaseHandle_0=function(){return(bs=b._emscripten_bind_btRigidBody_getBroadphaseHandle_0= -b.asm.Up).apply(null,arguments)},cs=b._emscripten_bind_btRigidBody___destroy___0=function(){return(cs=b._emscripten_bind_btRigidBody___destroy___0=b.asm.Vp).apply(null,arguments)},ds=b._emscripten_bind_btConstraintSetting_btConstraintSetting_0=function(){return(ds=b._emscripten_bind_btConstraintSetting_btConstraintSetting_0=b.asm.Wp).apply(null,arguments)},es=b._emscripten_bind_btConstraintSetting_get_m_tau_0=function(){return(es=b._emscripten_bind_btConstraintSetting_get_m_tau_0=b.asm.Xp).apply(null, -arguments)},gs=b._emscripten_bind_btConstraintSetting_set_m_tau_1=function(){return(gs=b._emscripten_bind_btConstraintSetting_set_m_tau_1=b.asm.Yp).apply(null,arguments)},hs=b._emscripten_bind_btConstraintSetting_get_m_damping_0=function(){return(hs=b._emscripten_bind_btConstraintSetting_get_m_damping_0=b.asm.Zp).apply(null,arguments)},is=b._emscripten_bind_btConstraintSetting_set_m_damping_1=function(){return(is=b._emscripten_bind_btConstraintSetting_set_m_damping_1=b.asm._p).apply(null,arguments)}, -js=b._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=function(){return(js=b._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=b.asm.$p).apply(null,arguments)},ks=b._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=function(){return(ks=b._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=b.asm.aq).apply(null,arguments)},ls=b._emscripten_bind_btConstraintSetting___destroy___0=function(){return(ls=b._emscripten_bind_btConstraintSetting___destroy___0=b.asm.bq).apply(null, -arguments)},ms=b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=function(){return(ms=b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=b.asm.cq).apply(null,arguments)},ns=b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=function(){return(ns=b._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=b.asm.dq).apply(null,arguments)},ps=b._emscripten_bind_btPoint2PointConstraint_setPivotA_1=function(){return(ps=b._emscripten_bind_btPoint2PointConstraint_setPivotA_1= -b.asm.eq).apply(null,arguments)},qs=b._emscripten_bind_btPoint2PointConstraint_setPivotB_1=function(){return(qs=b._emscripten_bind_btPoint2PointConstraint_setPivotB_1=b.asm.fq).apply(null,arguments)},rs=b._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=function(){return(rs=b._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=b.asm.gq).apply(null,arguments)},ss=b._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=function(){return(ss=b._emscripten_bind_btPoint2PointConstraint_getPivotInB_0= -b.asm.hq).apply(null,arguments)},ts=b._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=function(){return(ts=b._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=b.asm.iq).apply(null,arguments)},us=b._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=function(){return(us=b._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=b.asm.jq).apply(null,arguments)},vs=b._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=function(){return(vs= -b._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=b.asm.kq).apply(null,arguments)},xs=b._emscripten_bind_btPoint2PointConstraint_getParam_2=function(){return(xs=b._emscripten_bind_btPoint2PointConstraint_getParam_2=b.asm.lq).apply(null,arguments)},ys=b._emscripten_bind_btPoint2PointConstraint_setParam_3=function(){return(ys=b._emscripten_bind_btPoint2PointConstraint_setParam_3=b.asm.mq).apply(null,arguments)},zs=b._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=function(){return(zs= -b._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=b.asm.nq).apply(null,arguments)},As=b._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=function(){return(As=b._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=b.asm.oq).apply(null,arguments)},Bs=b._emscripten_bind_btPoint2PointConstraint___destroy___0=function(){return(Bs=b._emscripten_bind_btPoint2PointConstraint___destroy___0=b.asm.pq).apply(null,arguments)},Cs=b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3= -function(){return(Cs=b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=b.asm.qq).apply(null,arguments)},Ds=b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=function(){return(Ds=b._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=b.asm.rq).apply(null,arguments)},Es=b._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=function(){return(Es=b._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2= -b.asm.sq).apply(null,arguments)},Fs=b._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=function(){return(Fs=b._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=b.asm.tq).apply(null,arguments)},Gs=b._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=function(){return(Gs=b._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=b.asm.uq).apply(null,arguments)},Hs=b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0=function(){return(Hs=b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0= -b.asm.vq).apply(null,arguments)},Is=b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1=function(){return(Is=b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1=b.asm.wq).apply(null,arguments)},Js=b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2=function(){return(Js=b._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2=b.asm.xq).apply(null,arguments)},Ks=b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1= -function(){return(Ks=b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=b.asm.yq).apply(null,arguments)},Ls=b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=function(){return(Ls=b._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=b.asm.zq).apply(null,arguments)},Ms=b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=function(){return(Ms=b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=b.asm.Aq).apply(null, -arguments)},Ns=b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=function(){return(Ns=b._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=b.asm.Bq).apply(null,arguments)},Os=b._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=function(){return(Os=b._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=b.asm.Cq).apply(null,arguments)},Ps=b._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=function(){return(Ps=b._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1= -b.asm.Dq).apply(null,arguments)},Qs=b._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=function(){return(Qs=b._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=b.asm.Eq).apply(null,arguments)},Rs=b._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=function(){return(Rs=b._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=b.asm.Fq).apply(null,arguments)},Ss=b._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2= -function(){return(Ss=b._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=b.asm.Gq).apply(null,arguments)},Ts=b._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=function(){return(Ts=b._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=b.asm.Hq).apply(null,arguments)},Us=b._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=function(){return(Us=b._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=b.asm.Iq).apply(null,arguments)},Vs=b._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0= -function(){return(Vs=b._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=b.asm.Jq).apply(null,arguments)},Ws=b._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=function(){return(Ws=b._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=b.asm.Kq).apply(null,arguments)},Xs=b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=function(){return(Xs=b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=b.asm.Lq).apply(null, -arguments)},Ys=b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=function(){return(Ys=b._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=b.asm.Mq).apply(null,arguments)},Zs=b._emscripten_bind_btConeTwistConstraint_setLimit_2=function(){return(Zs=b._emscripten_bind_btConeTwistConstraint_setLimit_2=b.asm.Nq).apply(null,arguments)},$s=b._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=function(){return($s=b._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=b.asm.Oq).apply(null, -arguments)},at=b._emscripten_bind_btConeTwistConstraint_setDamping_1=function(){return(at=b._emscripten_bind_btConeTwistConstraint_setDamping_1=b.asm.Pq).apply(null,arguments)},bt=b._emscripten_bind_btConeTwistConstraint_enableMotor_1=function(){return(bt=b._emscripten_bind_btConeTwistConstraint_enableMotor_1=b.asm.Qq).apply(null,arguments)},ct=b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=function(){return(ct=b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=b.asm.Rq).apply(null, -arguments)},dt=b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=function(){return(dt=b._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=b.asm.Sq).apply(null,arguments)},et=b._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=function(){return(et=b._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=b.asm.Tq).apply(null,arguments)},ft=b._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=function(){return(ft=b._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1= -b.asm.Uq).apply(null,arguments)},gt=b._emscripten_bind_btConeTwistConstraint_enableFeedback_1=function(){return(gt=b._emscripten_bind_btConeTwistConstraint_enableFeedback_1=b.asm.Vq).apply(null,arguments)},ht=b._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=function(){return(ht=b._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=b.asm.Wq).apply(null,arguments)},it=b._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=function(){return(it=b._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1= -b.asm.Xq).apply(null,arguments)},jt=b._emscripten_bind_btConeTwistConstraint_getParam_2=function(){return(jt=b._emscripten_bind_btConeTwistConstraint_getParam_2=b.asm.Yq).apply(null,arguments)},kt=b._emscripten_bind_btConeTwistConstraint_setParam_3=function(){return(kt=b._emscripten_bind_btConeTwistConstraint_setParam_3=b.asm.Zq).apply(null,arguments)},lt=b._emscripten_bind_btConeTwistConstraint___destroy___0=function(){return(lt=b._emscripten_bind_btConeTwistConstraint___destroy___0=b.asm._q).apply(null, -arguments)},mt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_2=function(){return(mt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_2=b.asm.$q).apply(null,arguments)},nt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_3=function(){return(nt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_3=b.asm.ar).apply(null,arguments)},ot=b._emscripten_bind_btHingeConstraint_btHingeConstraint_4=function(){return(ot=b._emscripten_bind_btHingeConstraint_btHingeConstraint_4=b.asm.br).apply(null, -arguments)},pt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_5=function(){return(pt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_5=b.asm.cr).apply(null,arguments)},qt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_6=function(){return(qt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_6=b.asm.dr).apply(null,arguments)},rt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_7=function(){return(rt=b._emscripten_bind_btHingeConstraint_btHingeConstraint_7=b.asm.er).apply(null, -arguments)},st=b._emscripten_bind_btHingeConstraint_getHingeAngle_0=function(){return(st=b._emscripten_bind_btHingeConstraint_getHingeAngle_0=b.asm.fr).apply(null,arguments)},tt=b._emscripten_bind_btHingeConstraint_setLimit_4=function(){return(tt=b._emscripten_bind_btHingeConstraint_setLimit_4=b.asm.gr).apply(null,arguments)},ut=b._emscripten_bind_btHingeConstraint_setLimit_5=function(){return(ut=b._emscripten_bind_btHingeConstraint_setLimit_5=b.asm.hr).apply(null,arguments)},vt=b._emscripten_bind_btHingeConstraint_enableAngularMotor_3= -function(){return(vt=b._emscripten_bind_btHingeConstraint_enableAngularMotor_3=b.asm.ir).apply(null,arguments)},wt=b._emscripten_bind_btHingeConstraint_setAngularOnly_1=function(){return(wt=b._emscripten_bind_btHingeConstraint_setAngularOnly_1=b.asm.jr).apply(null,arguments)},xt=b._emscripten_bind_btHingeConstraint_enableMotor_1=function(){return(xt=b._emscripten_bind_btHingeConstraint_enableMotor_1=b.asm.kr).apply(null,arguments)},yt=b._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=function(){return(yt= -b._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=b.asm.lr).apply(null,arguments)},zt=b._emscripten_bind_btHingeConstraint_setMotorTarget_2=function(){return(zt=b._emscripten_bind_btHingeConstraint_setMotorTarget_2=b.asm.mr).apply(null,arguments)},At=b._emscripten_bind_btHingeConstraint_enableFeedback_1=function(){return(At=b._emscripten_bind_btHingeConstraint_enableFeedback_1=b.asm.nr).apply(null,arguments)},Bt=b._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=function(){return(Bt= -b._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=b.asm.or).apply(null,arguments)},Ct=b._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=function(){return(Ct=b._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=b.asm.pr).apply(null,arguments)},Dt=b._emscripten_bind_btHingeConstraint_getParam_2=function(){return(Dt=b._emscripten_bind_btHingeConstraint_getParam_2=b.asm.qr).apply(null,arguments)},Et=b._emscripten_bind_btHingeConstraint_setParam_3=function(){return(Et= -b._emscripten_bind_btHingeConstraint_setParam_3=b.asm.rr).apply(null,arguments)},Ft=b._emscripten_bind_btHingeConstraint___destroy___0=function(){return(Ft=b._emscripten_bind_btHingeConstraint___destroy___0=b.asm.sr).apply(null,arguments)},Gt=b._emscripten_bind_btSliderConstraint_btSliderConstraint_3=function(){return(Gt=b._emscripten_bind_btSliderConstraint_btSliderConstraint_3=b.asm.tr).apply(null,arguments)},Ht=b._emscripten_bind_btSliderConstraint_btSliderConstraint_5=function(){return(Ht=b._emscripten_bind_btSliderConstraint_btSliderConstraint_5= -b.asm.ur).apply(null,arguments)},It=b._emscripten_bind_btSliderConstraint_getLinearPos_0=function(){return(It=b._emscripten_bind_btSliderConstraint_getLinearPos_0=b.asm.vr).apply(null,arguments)},Jt=b._emscripten_bind_btSliderConstraint_getAngularPos_0=function(){return(Jt=b._emscripten_bind_btSliderConstraint_getAngularPos_0=b.asm.wr).apply(null,arguments)},Kt=b._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=function(){return(Kt=b._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=b.asm.xr).apply(null, -arguments)},Lt=b._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=function(){return(Lt=b._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=b.asm.yr).apply(null,arguments)},Mt=b._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=function(){return(Mt=b._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=b.asm.zr).apply(null,arguments)},Nt=b._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=function(){return(Nt=b._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=b.asm.Ar).apply(null, -arguments)},Ot=b._emscripten_bind_btSliderConstraint_setPoweredLinMotor_1=function(){return(Ot=b._emscripten_bind_btSliderConstraint_setPoweredLinMotor_1=b.asm.Br).apply(null,arguments)},Pt=b._emscripten_bind_btSliderConstraint_setMaxLinMotorForce_1=function(){return(Pt=b._emscripten_bind_btSliderConstraint_setMaxLinMotorForce_1=b.asm.Cr).apply(null,arguments)},Qt=b._emscripten_bind_btSliderConstraint_setTargetLinMotorVelocity_1=function(){return(Qt=b._emscripten_bind_btSliderConstraint_setTargetLinMotorVelocity_1= -b.asm.Dr).apply(null,arguments)},Rt=b._emscripten_bind_btSliderConstraint_enableFeedback_1=function(){return(Rt=b._emscripten_bind_btSliderConstraint_enableFeedback_1=b.asm.Er).apply(null,arguments)},St=b._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=function(){return(St=b._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=b.asm.Fr).apply(null,arguments)},Tt=b._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=function(){return(Tt=b._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1= -b.asm.Gr).apply(null,arguments)},Ut=b._emscripten_bind_btSliderConstraint_getParam_2=function(){return(Ut=b._emscripten_bind_btSliderConstraint_getParam_2=b.asm.Hr).apply(null,arguments)},Vt=b._emscripten_bind_btSliderConstraint_setParam_3=function(){return(Vt=b._emscripten_bind_btSliderConstraint_setParam_3=b.asm.Ir).apply(null,arguments)},Wt=b._emscripten_bind_btSliderConstraint___destroy___0=function(){return(Wt=b._emscripten_bind_btSliderConstraint___destroy___0=b.asm.Jr).apply(null,arguments)}, -Xt=b._emscripten_bind_btFixedConstraint_btFixedConstraint_4=function(){return(Xt=b._emscripten_bind_btFixedConstraint_btFixedConstraint_4=b.asm.Kr).apply(null,arguments)},Yt=b._emscripten_bind_btFixedConstraint_enableFeedback_1=function(){return(Yt=b._emscripten_bind_btFixedConstraint_enableFeedback_1=b.asm.Lr).apply(null,arguments)},Zt=b._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=function(){return(Zt=b._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=b.asm.Mr).apply(null, -arguments)},$t=b._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=function(){return($t=b._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=b.asm.Nr).apply(null,arguments)},au=b._emscripten_bind_btFixedConstraint_getParam_2=function(){return(au=b._emscripten_bind_btFixedConstraint_getParam_2=b.asm.Or).apply(null,arguments)},bu=b._emscripten_bind_btFixedConstraint_setParam_3=function(){return(bu=b._emscripten_bind_btFixedConstraint_setParam_3=b.asm.Pr).apply(null,arguments)}, -cu=b._emscripten_bind_btFixedConstraint___destroy___0=function(){return(cu=b._emscripten_bind_btFixedConstraint___destroy___0=b.asm.Qr).apply(null,arguments)},du=b._emscripten_bind_btConstraintSolver___destroy___0=function(){return(du=b._emscripten_bind_btConstraintSolver___destroy___0=b.asm.Rr).apply(null,arguments)},eu=b._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=function(){return(eu=b._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=b.asm.Sr).apply(null,arguments)},fu=b._emscripten_bind_btDispatcherInfo_set_m_timeStep_1= -function(){return(fu=b._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=b.asm.Tr).apply(null,arguments)},gu=b._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=function(){return(gu=b._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=b.asm.Ur).apply(null,arguments)},hu=b._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=function(){return(hu=b._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=b.asm.Vr).apply(null,arguments)},iu=b._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=function(){return(iu= -b._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=b.asm.Wr).apply(null,arguments)},ju=b._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=function(){return(ju=b._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=b.asm.Xr).apply(null,arguments)},ku=b._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=function(){return(ku=b._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=b.asm.Yr).apply(null,arguments)},lu=b._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=function(){return(lu= -b._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=b.asm.Zr).apply(null,arguments)},mu=b._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=function(){return(mu=b._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=b.asm._r).apply(null,arguments)},nu=b._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=function(){return(nu=b._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=b.asm.$r).apply(null,arguments)},ou=b._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=function(){return(ou= -b._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=b.asm.as).apply(null,arguments)},pu=b._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=function(){return(pu=b._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=b.asm.bs).apply(null,arguments)},qu=b._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=function(){return(qu=b._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=b.asm.cs).apply(null,arguments)},ru=b._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=function(){return(ru= -b._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=b.asm.ds).apply(null,arguments)},su=b._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=function(){return(su=b._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=b.asm.es).apply(null,arguments)},tu=b._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=function(){return(tu=b._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=b.asm.fs).apply(null,arguments)},uu=b._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=function(){return(uu=b._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0= -b.asm.gs).apply(null,arguments)},vu=b._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=function(){return(vu=b._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=b.asm.hs).apply(null,arguments)},wu=b._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=function(){return(wu=b._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=b.asm.is).apply(null,arguments)},xu=b._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1= -function(){return(xu=b._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=b.asm.js).apply(null,arguments)},yu=b._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=function(){return(yu=b._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=b.asm.ks).apply(null,arguments)},zu=b._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=function(){return(zu=b._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1= -b.asm.ls).apply(null,arguments)},Au=b._emscripten_bind_btDispatcherInfo___destroy___0=function(){return(Au=b._emscripten_bind_btDispatcherInfo___destroy___0=b.asm.ms).apply(null,arguments)},Bu=b._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=function(){return(Bu=b._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=b.asm.ns).apply(null,arguments)},Cu=b._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=function(){return(Cu=b._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1= -b.asm.os).apply(null,arguments)},Du=b._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=function(){return(Du=b._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=b.asm.ps).apply(null,arguments)},Eu=b._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=function(){return(Eu=b._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=b.asm.qs).apply(null,arguments)},Fu=b._emscripten_bind_btContactSolverInfo_get_m_numIterations_0= -function(){return(Fu=b._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=b.asm.rs).apply(null,arguments)},Gu=b._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=function(){return(Gu=b._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=b.asm.ss).apply(null,arguments)},Hu=b._emscripten_bind_btContactSolverInfo___destroy___0=function(){return(Hu=b._emscripten_bind_btContactSolverInfo___destroy___0=b.asm.ts).apply(null,arguments)},Iu=b._emscripten_bind_btVehicleTuning_btVehicleTuning_0= -function(){return(Iu=b._emscripten_bind_btVehicleTuning_btVehicleTuning_0=b.asm.us).apply(null,arguments)},Ju=b._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=function(){return(Ju=b._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=b.asm.vs).apply(null,arguments)},Ku=b._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=function(){return(Ku=b._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=b.asm.ws).apply(null,arguments)},Lu=b._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0= -function(){return(Lu=b._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=b.asm.xs).apply(null,arguments)},Mu=b._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=function(){return(Mu=b._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=b.asm.ys).apply(null,arguments)},Nu=b._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=function(){return(Nu=b._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=b.asm.zs).apply(null,arguments)},Ou=b._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1= -function(){return(Ou=b._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=b.asm.As).apply(null,arguments)},Pu=b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=function(){return(Pu=b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=b.asm.Bs).apply(null,arguments)},Qu=b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=function(){return(Qu=b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=b.asm.Cs).apply(null,arguments)},Ru=b._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0= -function(){return(Ru=b._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=b.asm.Ds).apply(null,arguments)},Su=b._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=function(){return(Su=b._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=b.asm.Es).apply(null,arguments)},Tu=b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=function(){return(Tu=b._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=b.asm.Fs).apply(null,arguments)},Uu=b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1= -function(){return(Uu=b._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=b.asm.Gs).apply(null,arguments)},Vu=b._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=function(){return(Vu=b._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=b.asm.Hs).apply(null,arguments)},Wu=b._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=function(){return(Wu=b._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=b.asm.Is).apply(null,arguments)}, -Xu=b._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=function(){return(Xu=b._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=b.asm.Js).apply(null,arguments)},Yu=b._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=function(){return(Yu=b._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=b.asm.Ks).apply(null,arguments)},Zu=b._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=function(){return(Zu=b._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0= -b.asm.Ls).apply(null,arguments)},$u=b._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=function(){return($u=b._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=b.asm.Ms).apply(null,arguments)},av=b._emscripten_bind_btVehicleRaycasterResult___destroy___0=function(){return(av=b._emscripten_bind_btVehicleRaycasterResult___destroy___0=b.asm.Ns).apply(null,arguments)},bv=b._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=function(){return(bv=b._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1= -b.asm.Os).apply(null,arguments)},cv=b._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=function(){return(cv=b._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=b.asm.Ps).apply(null,arguments)},dv=b._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=function(){return(dv=b._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=b.asm.Qs).apply(null,arguments)},ev=b._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=function(){return(ev=b._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0= -b.asm.Rs).apply(null,arguments)},fv=b._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=function(){return(fv=b._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=b.asm.Ss).apply(null,arguments)},gv=b._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=function(){return(gv=b._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=b.asm.Ts).apply(null,arguments)},hv=b._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=function(){return(hv=b._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=b.asm.Us).apply(null, -arguments)},iv=b._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=function(){return(iv=b._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=b.asm.Vs).apply(null,arguments)},jv=b._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=function(){return(jv=b._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=b.asm.Ws).apply(null,arguments)},kv=b._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=function(){return(kv=b._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=b.asm.Xs).apply(null,arguments)}, -lv=b._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=function(){return(lv=b._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=b.asm.Ys).apply(null,arguments)},mv=b._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=function(){return(mv=b._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=b.asm.Zs).apply(null,arguments)},nv=b._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=function(){return(nv=b._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=b.asm._s).apply(null,arguments)},ov=b._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0= -function(){return(ov=b._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=b.asm.$s).apply(null,arguments)},pv=b._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=function(){return(pv=b._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=b.asm.at).apply(null,arguments)},qv=b._emscripten_bind_RaycastInfo_get_m_isInContact_0=function(){return(qv=b._emscripten_bind_RaycastInfo_get_m_isInContact_0=b.asm.bt).apply(null,arguments)},rv=b._emscripten_bind_RaycastInfo_set_m_isInContact_1=function(){return(rv=b._emscripten_bind_RaycastInfo_set_m_isInContact_1= -b.asm.ct).apply(null,arguments)},sv=b._emscripten_bind_RaycastInfo_get_m_groundObject_0=function(){return(sv=b._emscripten_bind_RaycastInfo_get_m_groundObject_0=b.asm.dt).apply(null,arguments)},tv=b._emscripten_bind_RaycastInfo_set_m_groundObject_1=function(){return(tv=b._emscripten_bind_RaycastInfo_set_m_groundObject_1=b.asm.et).apply(null,arguments)},uv=b._emscripten_bind_RaycastInfo___destroy___0=function(){return(uv=b._emscripten_bind_RaycastInfo___destroy___0=b.asm.ft).apply(null,arguments)}, -vv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=function(){return(vv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=b.asm.gt).apply(null,arguments)},wv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=function(){return(wv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=b.asm.ht).apply(null,arguments)},xv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=function(){return(xv= -b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=b.asm.it).apply(null,arguments)},yv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=function(){return(yv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=b.asm.jt).apply(null,arguments)},zv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=function(){return(zv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=b.asm.kt).apply(null,arguments)},Av=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1= -function(){return(Av=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=b.asm.lt).apply(null,arguments)},Bv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=function(){return(Bv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=b.asm.mt).apply(null,arguments)},Cv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=function(){return(Cv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1= -b.asm.nt).apply(null,arguments)},Dv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=function(){return(Dv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=b.asm.ot).apply(null,arguments)},Ev=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=function(){return(Ev=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=b.asm.pt).apply(null,arguments)},Fv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0= -function(){return(Fv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=b.asm.qt).apply(null,arguments)},Gv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=function(){return(Gv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=b.asm.rt).apply(null,arguments)},Hv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=function(){return(Hv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=b.asm.st).apply(null, -arguments)},Iv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=function(){return(Iv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=b.asm.tt).apply(null,arguments)},Jv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=function(){return(Jv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=b.asm.ut).apply(null,arguments)},Kv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1= -function(){return(Kv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=b.asm.vt).apply(null,arguments)},Lv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=function(){return(Lv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=b.asm.wt).apply(null,arguments)},Mv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=function(){return(Mv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1= -b.asm.xt).apply(null,arguments)},Nv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=function(){return(Nv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=b.asm.yt).apply(null,arguments)},Ov=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=function(){return(Ov=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=b.asm.zt).apply(null,arguments)},Pv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=function(){return(Pv= -b._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=b.asm.At).apply(null,arguments)},Qv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=function(){return(Qv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=b.asm.Bt).apply(null,arguments)},Rv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=function(){return(Rv=b._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=b.asm.Ct).apply(null,arguments)}, -Sv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=function(){return(Sv=b._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=b.asm.Dt).apply(null,arguments)},Tv=b._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=function(){return(Tv=b._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=b.asm.Et).apply(null,arguments)},Uv=b._emscripten_bind_btWheelInfo_btWheelInfo_1=function(){return(Uv=b._emscripten_bind_btWheelInfo_btWheelInfo_1=b.asm.Ft).apply(null, -arguments)},Vv=b._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=function(){return(Vv=b._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=b.asm.Gt).apply(null,arguments)},Wv=b._emscripten_bind_btWheelInfo_updateWheel_2=function(){return(Wv=b._emscripten_bind_btWheelInfo_updateWheel_2=b.asm.Ht).apply(null,arguments)},Xv=b._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=function(){return(Xv=b._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=b.asm.It).apply(null,arguments)}, -Yv=b._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=function(){return(Yv=b._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=b.asm.Jt).apply(null,arguments)},Zv=b._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=function(){return(Zv=b._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=b.asm.Kt).apply(null,arguments)},$v=b._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=function(){return($v=b._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=b.asm.Lt).apply(null,arguments)},aw=b._emscripten_bind_btWheelInfo_get_m_engineForce_0= -function(){return(aw=b._emscripten_bind_btWheelInfo_get_m_engineForce_0=b.asm.Mt).apply(null,arguments)},bw=b._emscripten_bind_btWheelInfo_set_m_engineForce_1=function(){return(bw=b._emscripten_bind_btWheelInfo_set_m_engineForce_1=b.asm.Nt).apply(null,arguments)},cw=b._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=function(){return(cw=b._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=b.asm.Ot).apply(null,arguments)},dw=b._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=function(){return(dw= -b._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=b.asm.Pt).apply(null,arguments)},ew=b._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=function(){return(ew=b._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=b.asm.Qt).apply(null,arguments)},fw=b._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=function(){return(fw=b._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=b.asm.Rt).apply(null,arguments)},gw=b._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=function(){return(gw= -b._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=b.asm.St).apply(null,arguments)},hw=b._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=function(){return(hw=b._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=b.asm.Tt).apply(null,arguments)},iw=b._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=function(){return(iw=b._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=b.asm.Ut).apply(null,arguments)},jw=b._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=function(){return(jw= -b._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=b.asm.Vt).apply(null,arguments)},kw=b._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=function(){return(kw=b._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=b.asm.Wt).apply(null,arguments)},lw=b._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=function(){return(lw=b._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=b.asm.Xt).apply(null,arguments)},mw=b._emscripten_bind_btWheelInfo_get_m_steering_0= -function(){return(mw=b._emscripten_bind_btWheelInfo_get_m_steering_0=b.asm.Yt).apply(null,arguments)},nw=b._emscripten_bind_btWheelInfo_set_m_steering_1=function(){return(nw=b._emscripten_bind_btWheelInfo_set_m_steering_1=b.asm.Zt).apply(null,arguments)},ow=b._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=function(){return(ow=b._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=b.asm._t).apply(null,arguments)},pw=b._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=function(){return(pw= -b._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=b.asm.$t).apply(null,arguments)},qw=b._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=function(){return(qw=b._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=b.asm.au).apply(null,arguments)},rw=b._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=function(){return(rw=b._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=b.asm.bu).apply(null,arguments)},sw=b._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0= -function(){return(sw=b._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=b.asm.cu).apply(null,arguments)},tw=b._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=function(){return(tw=b._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=b.asm.du).apply(null,arguments)},uw=b._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=function(){return(uw=b._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=b.asm.eu).apply(null,arguments)},vw=b._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1= -function(){return(vw=b._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=b.asm.fu).apply(null,arguments)},ww=b._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=function(){return(ww=b._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=b.asm.gu).apply(null,arguments)},xw=b._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=function(){return(xw=b._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=b.asm.hu).apply(null,arguments)},yw=b._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=function(){return(yw= -b._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=b.asm.iu).apply(null,arguments)},zw=b._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=function(){return(zw=b._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=b.asm.ju).apply(null,arguments)},Aw=b._emscripten_bind_btWheelInfo_get_m_worldTransform_0=function(){return(Aw=b._emscripten_bind_btWheelInfo_get_m_worldTransform_0=b.asm.ku).apply(null,arguments)},Bw=b._emscripten_bind_btWheelInfo_set_m_worldTransform_1= -function(){return(Bw=b._emscripten_bind_btWheelInfo_set_m_worldTransform_1=b.asm.lu).apply(null,arguments)},Cw=b._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=function(){return(Cw=b._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=b.asm.mu).apply(null,arguments)},Dw=b._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=function(){return(Dw=b._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=b.asm.nu).apply(null,arguments)},Ew=b._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=function(){return(Ew= -b._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=b.asm.ou).apply(null,arguments)},Fw=b._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=function(){return(Fw=b._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=b.asm.pu).apply(null,arguments)},Gw=b._emscripten_bind_btWheelInfo_get_m_rotation_0=function(){return(Gw=b._emscripten_bind_btWheelInfo_get_m_rotation_0=b.asm.qu).apply(null,arguments)},Hw=b._emscripten_bind_btWheelInfo_set_m_rotation_1=function(){return(Hw=b._emscripten_bind_btWheelInfo_set_m_rotation_1= -b.asm.ru).apply(null,arguments)},Iw=b._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=function(){return(Iw=b._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=b.asm.su).apply(null,arguments)},Jw=b._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=function(){return(Jw=b._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=b.asm.tu).apply(null,arguments)},Kw=b._emscripten_bind_btWheelInfo_get_m_brake_0=function(){return(Kw=b._emscripten_bind_btWheelInfo_get_m_brake_0=b.asm.uu).apply(null,arguments)}, -Lw=b._emscripten_bind_btWheelInfo_set_m_brake_1=function(){return(Lw=b._emscripten_bind_btWheelInfo_set_m_brake_1=b.asm.vu).apply(null,arguments)},Mw=b._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=function(){return(Mw=b._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=b.asm.wu).apply(null,arguments)},Nw=b._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=function(){return(Nw=b._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1= -b.asm.xu).apply(null,arguments)},Ow=b._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=function(){return(Ow=b._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=b.asm.yu).apply(null,arguments)},Pw=b._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=function(){return(Pw=b._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=b.asm.zu).apply(null,arguments)},Qw=b._emscripten_bind_btWheelInfo_get_m_skidInfo_0=function(){return(Qw=b._emscripten_bind_btWheelInfo_get_m_skidInfo_0= -b.asm.Au).apply(null,arguments)},Rw=b._emscripten_bind_btWheelInfo_set_m_skidInfo_1=function(){return(Rw=b._emscripten_bind_btWheelInfo_set_m_skidInfo_1=b.asm.Bu).apply(null,arguments)},Sw=b._emscripten_bind_btWheelInfo___destroy___0=function(){return(Sw=b._emscripten_bind_btWheelInfo___destroy___0=b.asm.Cu).apply(null,arguments)},Tw=b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=function(){return(Tw=b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3= -b.asm.Du).apply(null,arguments)},Uw=b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=function(){return(Uw=b._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=b.asm.Eu).apply(null,arguments)},Vw=b._emscripten_bind_btKinematicCharacterController_setUpAxis_1=function(){return(Vw=b._emscripten_bind_btKinematicCharacterController_setUpAxis_1=b.asm.Fu).apply(null,arguments)},Ww=b._emscripten_bind_btKinematicCharacterController_setWalkDirection_1= -function(){return(Ww=b._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=b.asm.Gu).apply(null,arguments)},Xw=b._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=function(){return(Xw=b._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=b.asm.Hu).apply(null,arguments)},Yw=b._emscripten_bind_btKinematicCharacterController_warp_1=function(){return(Yw=b._emscripten_bind_btKinematicCharacterController_warp_1=b.asm.Iu).apply(null,arguments)}, -Zw=b._emscripten_bind_btKinematicCharacterController_preStep_1=function(){return(Zw=b._emscripten_bind_btKinematicCharacterController_preStep_1=b.asm.Ju).apply(null,arguments)},$w=b._emscripten_bind_btKinematicCharacterController_playerStep_2=function(){return($w=b._emscripten_bind_btKinematicCharacterController_playerStep_2=b.asm.Ku).apply(null,arguments)},ax=b._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=function(){return(ax=b._emscripten_bind_btKinematicCharacterController_setFallSpeed_1= -b.asm.Lu).apply(null,arguments)},bx=b._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=function(){return(bx=b._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=b.asm.Mu).apply(null,arguments)},cx=b._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=function(){return(cx=b._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=b.asm.Nu).apply(null,arguments)},dx=b._emscripten_bind_btKinematicCharacterController_canJump_0=function(){return(dx=b._emscripten_bind_btKinematicCharacterController_canJump_0= -b.asm.Ou).apply(null,arguments)},ex=b._emscripten_bind_btKinematicCharacterController_jump_0=function(){return(ex=b._emscripten_bind_btKinematicCharacterController_jump_0=b.asm.Pu).apply(null,arguments)},fx=b._emscripten_bind_btKinematicCharacterController_setGravity_1=function(){return(fx=b._emscripten_bind_btKinematicCharacterController_setGravity_1=b.asm.Qu).apply(null,arguments)},gx=b._emscripten_bind_btKinematicCharacterController_getGravity_0=function(){return(gx=b._emscripten_bind_btKinematicCharacterController_getGravity_0= -b.asm.Ru).apply(null,arguments)},hx=b._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=function(){return(hx=b._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=b.asm.Su).apply(null,arguments)},ix=b._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=function(){return(ix=b._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=b.asm.Tu).apply(null,arguments)},jx=b._emscripten_bind_btKinematicCharacterController_getGhostObject_0=function(){return(jx=b._emscripten_bind_btKinematicCharacterController_getGhostObject_0= -b.asm.Uu).apply(null,arguments)},kx=b._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=function(){return(kx=b._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=b.asm.Vu).apply(null,arguments)},lx=b._emscripten_bind_btKinematicCharacterController_onGround_0=function(){return(lx=b._emscripten_bind_btKinematicCharacterController_onGround_0=b.asm.Wu).apply(null,arguments)},mx=b._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=function(){return(mx= -b._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=b.asm.Xu).apply(null,arguments)},nx=b._emscripten_bind_btKinematicCharacterController_updateAction_2=function(){return(nx=b._emscripten_bind_btKinematicCharacterController_updateAction_2=b.asm.Yu).apply(null,arguments)},ox=b._emscripten_bind_btKinematicCharacterController___destroy___0=function(){return(ox=b._emscripten_bind_btKinematicCharacterController___destroy___0=b.asm.Zu).apply(null,arguments)},px=b._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3= -function(){return(px=b._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=b.asm._u).apply(null,arguments)},qx=b._emscripten_bind_btRaycastVehicle_applyEngineForce_2=function(){return(qx=b._emscripten_bind_btRaycastVehicle_applyEngineForce_2=b.asm.$u).apply(null,arguments)},rx=b._emscripten_bind_btRaycastVehicle_setSteeringValue_2=function(){return(rx=b._emscripten_bind_btRaycastVehicle_setSteeringValue_2=b.asm.av).apply(null,arguments)},sx=b._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1= -function(){return(sx=b._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=b.asm.bv).apply(null,arguments)},tx=b._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=function(){return(tx=b._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=b.asm.cv).apply(null,arguments)},ux=b._emscripten_bind_btRaycastVehicle_addWheel_7=function(){return(ux=b._emscripten_bind_btRaycastVehicle_addWheel_7=b.asm.dv).apply(null,arguments)},vx=b._emscripten_bind_btRaycastVehicle_getNumWheels_0=function(){return(vx= -b._emscripten_bind_btRaycastVehicle_getNumWheels_0=b.asm.ev).apply(null,arguments)},wx=b._emscripten_bind_btRaycastVehicle_getRigidBody_0=function(){return(wx=b._emscripten_bind_btRaycastVehicle_getRigidBody_0=b.asm.fv).apply(null,arguments)},xx=b._emscripten_bind_btRaycastVehicle_getWheelInfo_1=function(){return(xx=b._emscripten_bind_btRaycastVehicle_getWheelInfo_1=b.asm.gv).apply(null,arguments)},yx=b._emscripten_bind_btRaycastVehicle_setBrake_2=function(){return(yx=b._emscripten_bind_btRaycastVehicle_setBrake_2= -b.asm.hv).apply(null,arguments)},zx=b._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=function(){return(zx=b._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=b.asm.iv).apply(null,arguments)},Ax=b._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=function(){return(Ax=b._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=b.asm.jv).apply(null,arguments)},Bx=b._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=function(){return(Bx=b._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0= -b.asm.kv).apply(null,arguments)},Cx=b._emscripten_bind_btRaycastVehicle_rayCast_1=function(){return(Cx=b._emscripten_bind_btRaycastVehicle_rayCast_1=b.asm.lv).apply(null,arguments)},Dx=b._emscripten_bind_btRaycastVehicle_updateVehicle_1=function(){return(Dx=b._emscripten_bind_btRaycastVehicle_updateVehicle_1=b.asm.mv).apply(null,arguments)},Ex=b._emscripten_bind_btRaycastVehicle_resetSuspension_0=function(){return(Ex=b._emscripten_bind_btRaycastVehicle_resetSuspension_0=b.asm.nv).apply(null,arguments)}, -Fx=b._emscripten_bind_btRaycastVehicle_getSteeringValue_1=function(){return(Fx=b._emscripten_bind_btRaycastVehicle_getSteeringValue_1=b.asm.ov).apply(null,arguments)},Gx=b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=function(){return(Gx=b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=b.asm.pv).apply(null,arguments)},Hx=b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=function(){return(Hx=b._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=b.asm.qv).apply(null, -arguments)},Ix=b._emscripten_bind_btRaycastVehicle_setPitchControl_1=function(){return(Ix=b._emscripten_bind_btRaycastVehicle_setPitchControl_1=b.asm.rv).apply(null,arguments)},Jx=b._emscripten_bind_btRaycastVehicle_updateSuspension_1=function(){return(Jx=b._emscripten_bind_btRaycastVehicle_updateSuspension_1=b.asm.sv).apply(null,arguments)},Kx=b._emscripten_bind_btRaycastVehicle_updateFriction_1=function(){return(Kx=b._emscripten_bind_btRaycastVehicle_updateFriction_1=b.asm.tv).apply(null,arguments)}, -Lx=b._emscripten_bind_btRaycastVehicle_getRightAxis_0=function(){return(Lx=b._emscripten_bind_btRaycastVehicle_getRightAxis_0=b.asm.uv).apply(null,arguments)},Mx=b._emscripten_bind_btRaycastVehicle_getUpAxis_0=function(){return(Mx=b._emscripten_bind_btRaycastVehicle_getUpAxis_0=b.asm.vv).apply(null,arguments)},Nx=b._emscripten_bind_btRaycastVehicle_getForwardAxis_0=function(){return(Nx=b._emscripten_bind_btRaycastVehicle_getForwardAxis_0=b.asm.wv).apply(null,arguments)},Ox=b._emscripten_bind_btRaycastVehicle_getForwardVector_0= -function(){return(Ox=b._emscripten_bind_btRaycastVehicle_getForwardVector_0=b.asm.xv).apply(null,arguments)},Px=b._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=function(){return(Px=b._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=b.asm.yv).apply(null,arguments)},Qx=b._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=function(){return(Qx=b._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=b.asm.zv).apply(null,arguments)},Rx=b._emscripten_bind_btRaycastVehicle_setUserConstraintId_1= -function(){return(Rx=b._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=b.asm.Av).apply(null,arguments)},Sx=b._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=function(){return(Sx=b._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=b.asm.Bv).apply(null,arguments)},Tx=b._emscripten_bind_btRaycastVehicle_updateAction_2=function(){return(Tx=b._emscripten_bind_btRaycastVehicle_updateAction_2=b.asm.Cv).apply(null,arguments)},Ux=b._emscripten_bind_btRaycastVehicle___destroy___0=function(){return(Ux= -b._emscripten_bind_btRaycastVehicle___destroy___0=b.asm.Dv).apply(null,arguments)},Vx=b._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=function(){return(Vx=b._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=b.asm.Ev).apply(null,arguments)},Wx=b._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=function(){return(Wx=b._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=b.asm.Fv).apply(null,arguments)},Xx=b._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0= -function(){return(Xx=b._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=b.asm.Gv).apply(null,arguments)},Yx=b._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=function(){return(Yx=b._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=b.asm.Hv).apply(null,arguments)},Zx=b._emscripten_bind_btPairCachingGhostObject_setActivationState_1=function(){return(Zx=b._emscripten_bind_btPairCachingGhostObject_setActivationState_1=b.asm.Iv).apply(null, -arguments)},$x=b._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=function(){return($x=b._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=b.asm.Jv).apply(null,arguments)},ay=b._emscripten_bind_btPairCachingGhostObject_activate_0=function(){return(ay=b._emscripten_bind_btPairCachingGhostObject_activate_0=b.asm.Kv).apply(null,arguments)},by=b._emscripten_bind_btPairCachingGhostObject_activate_1=function(){return(by=b._emscripten_bind_btPairCachingGhostObject_activate_1= -b.asm.Lv).apply(null,arguments)},cy=b._emscripten_bind_btPairCachingGhostObject_isActive_0=function(){return(cy=b._emscripten_bind_btPairCachingGhostObject_isActive_0=b.asm.Mv).apply(null,arguments)},dy=b._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=function(){return(dy=b._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=b.asm.Nv).apply(null,arguments)},ey=b._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=function(){return(ey=b._emscripten_bind_btPairCachingGhostObject_isStaticObject_0= -b.asm.Ov).apply(null,arguments)},fy=b._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=function(){return(fy=b._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=b.asm.Pv).apply(null,arguments)},gy=b._emscripten_bind_btPairCachingGhostObject_getRestitution_0=function(){return(gy=b._emscripten_bind_btPairCachingGhostObject_getRestitution_0=b.asm.Qv).apply(null,arguments)},hy=b._emscripten_bind_btPairCachingGhostObject_getFriction_0=function(){return(hy=b._emscripten_bind_btPairCachingGhostObject_getFriction_0= -b.asm.Rv).apply(null,arguments)},iy=b._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0=function(){return(iy=b._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0=b.asm.Sv).apply(null,arguments)},jy=b._emscripten_bind_btPairCachingGhostObject_setRestitution_1=function(){return(jy=b._emscripten_bind_btPairCachingGhostObject_setRestitution_1=b.asm.Tv).apply(null,arguments)},ky=b._emscripten_bind_btPairCachingGhostObject_setFriction_1=function(){return(ky=b._emscripten_bind_btPairCachingGhostObject_setFriction_1= -b.asm.Uv).apply(null,arguments)},ly=b._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=function(){return(ly=b._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=b.asm.Vv).apply(null,arguments)},my=b._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=function(){return(my=b._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=b.asm.Wv).apply(null,arguments)},ny=b._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=function(){return(ny=b._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0= -b.asm.Xv).apply(null,arguments)},oy=b._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=function(){return(oy=b._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=b.asm.Yv).apply(null,arguments)},py=b._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=function(){return(py=b._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=b.asm.Zv).apply(null,arguments)},qy=b._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=function(){return(qy=b._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1= -b.asm._v).apply(null,arguments)},ry=b._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=function(){return(ry=b._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=b.asm.$v).apply(null,arguments)},sy=b._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=function(){return(sy=b._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=b.asm.aw).apply(null,arguments)},ty=b._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=function(){return(ty= -b._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=b.asm.bw).apply(null,arguments)},uy=b._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=function(){return(uy=b._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=b.asm.cw).apply(null,arguments)},vy=b._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=function(){return(vy=b._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=b.asm.dw).apply(null,arguments)},wy=b._emscripten_bind_btPairCachingGhostObject_setUserPointer_1= -function(){return(wy=b._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=b.asm.ew).apply(null,arguments)},xy=b._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0=function(){return(xy=b._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0=b.asm.fw).apply(null,arguments)},yy=b._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=function(){return(yy=b._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=b.asm.gw).apply(null,arguments)}, -zy=b._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=function(){return(zy=b._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=b.asm.hw).apply(null,arguments)},Ay=b._emscripten_bind_btPairCachingGhostObject___destroy___0=function(){return(Ay=b._emscripten_bind_btPairCachingGhostObject___destroy___0=b.asm.iw).apply(null,arguments)},By=b._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=function(){return(By=b._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0= -b.asm.jw).apply(null,arguments)},Cy=b._emscripten_bind_btGhostPairCallback___destroy___0=function(){return(Cy=b._emscripten_bind_btGhostPairCallback___destroy___0=b.asm.kw).apply(null,arguments)},Dy=b._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=function(){return(Dy=b._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=b.asm.lw).apply(null,arguments)},Ey=b._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=function(){return(Ey=b._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0= -b.asm.mw).apply(null,arguments)},Fy=b._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=function(){return(Fy=b._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=b.asm.nw).apply(null,arguments)},Gy=b._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=function(){return(Gy=b._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=b.asm.ow).apply(null,arguments)},Hy=b._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=function(){return(Hy=b._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1= -b.asm.pw).apply(null,arguments)},Iy=b._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=function(){return(Iy=b._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=b.asm.qw).apply(null,arguments)},Jy=b._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=function(){return(Jy=b._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=b.asm.rw).apply(null,arguments)},Ky=b._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=function(){return(Ky=b._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0= -b.asm.sw).apply(null,arguments)},Ly=b._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=function(){return(Ly=b._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=b.asm.tw).apply(null,arguments)},My=b._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=function(){return(My=b._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=b.asm.uw).apply(null,arguments)},Ny=b._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=function(){return(Ny=b._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1= -b.asm.vw).apply(null,arguments)},Oy=b._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=function(){return(Oy=b._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=b.asm.ww).apply(null,arguments)},Py=b._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=function(){return(Py=b._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=b.asm.xw).apply(null,arguments)},Qy=b._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=function(){return(Qy=b._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0= -b.asm.yw).apply(null,arguments)},Ry=b._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=function(){return(Ry=b._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=b.asm.zw).apply(null,arguments)},Sy=b._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=function(){return(Sy=b._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=b.asm.Aw).apply(null,arguments)},Ty=b._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=function(){return(Ty=b._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1= -b.asm.Bw).apply(null,arguments)},Uy=b._emscripten_bind_btSoftBodyWorldInfo___destroy___0=function(){return(Uy=b._emscripten_bind_btSoftBodyWorldInfo___destroy___0=b.asm.Cw).apply(null,arguments)},Vy=b._emscripten_bind_Face_get_m_n_1=function(){return(Vy=b._emscripten_bind_Face_get_m_n_1=b.asm.Dw).apply(null,arguments)},Wy=b._emscripten_bind_Face_set_m_n_2=function(){return(Wy=b._emscripten_bind_Face_set_m_n_2=b.asm.Ew).apply(null,arguments)},Xy=b._emscripten_bind_Face_get_m_normal_0=function(){return(Xy= -b._emscripten_bind_Face_get_m_normal_0=b.asm.Fw).apply(null,arguments)},Yy=b._emscripten_bind_Face_set_m_normal_1=function(){return(Yy=b._emscripten_bind_Face_set_m_normal_1=b.asm.Gw).apply(null,arguments)},Zy=b._emscripten_bind_Face_get_m_ra_0=function(){return(Zy=b._emscripten_bind_Face_get_m_ra_0=b.asm.Hw).apply(null,arguments)},$y=b._emscripten_bind_Face_set_m_ra_1=function(){return($y=b._emscripten_bind_Face_set_m_ra_1=b.asm.Iw).apply(null,arguments)},az=b._emscripten_bind_Face___destroy___0= -function(){return(az=b._emscripten_bind_Face___destroy___0=b.asm.Jw).apply(null,arguments)},bz=b._emscripten_bind_tFaceArray_size_0=function(){return(bz=b._emscripten_bind_tFaceArray_size_0=b.asm.Kw).apply(null,arguments)},cz=b._emscripten_bind_tFaceArray_at_1=function(){return(cz=b._emscripten_bind_tFaceArray_at_1=b.asm.Lw).apply(null,arguments)},dz=b._emscripten_bind_tFaceArray___destroy___0=function(){return(dz=b._emscripten_bind_tFaceArray___destroy___0=b.asm.Mw).apply(null,arguments)},ez=b._emscripten_bind_Node_get_m_x_0= -function(){return(ez=b._emscripten_bind_Node_get_m_x_0=b.asm.Nw).apply(null,arguments)},fz=b._emscripten_bind_Node_set_m_x_1=function(){return(fz=b._emscripten_bind_Node_set_m_x_1=b.asm.Ow).apply(null,arguments)},gz=b._emscripten_bind_Node_get_m_q_0=function(){return(gz=b._emscripten_bind_Node_get_m_q_0=b.asm.Pw).apply(null,arguments)},hz=b._emscripten_bind_Node_set_m_q_1=function(){return(hz=b._emscripten_bind_Node_set_m_q_1=b.asm.Qw).apply(null,arguments)},iz=b._emscripten_bind_Node_get_m_v_0=function(){return(iz= -b._emscripten_bind_Node_get_m_v_0=b.asm.Rw).apply(null,arguments)},jz=b._emscripten_bind_Node_set_m_v_1=function(){return(jz=b._emscripten_bind_Node_set_m_v_1=b.asm.Sw).apply(null,arguments)},kz=b._emscripten_bind_Node_get_m_f_0=function(){return(kz=b._emscripten_bind_Node_get_m_f_0=b.asm.Tw).apply(null,arguments)},lz=b._emscripten_bind_Node_set_m_f_1=function(){return(lz=b._emscripten_bind_Node_set_m_f_1=b.asm.Uw).apply(null,arguments)},mz=b._emscripten_bind_Node_get_m_n_0=function(){return(mz=b._emscripten_bind_Node_get_m_n_0= -b.asm.Vw).apply(null,arguments)},nz=b._emscripten_bind_Node_set_m_n_1=function(){return(nz=b._emscripten_bind_Node_set_m_n_1=b.asm.Ww).apply(null,arguments)},oz=b._emscripten_bind_Node_get_m_im_0=function(){return(oz=b._emscripten_bind_Node_get_m_im_0=b.asm.Xw).apply(null,arguments)},pz=b._emscripten_bind_Node_set_m_im_1=function(){return(pz=b._emscripten_bind_Node_set_m_im_1=b.asm.Yw).apply(null,arguments)},qz=b._emscripten_bind_Node_get_m_area_0=function(){return(qz=b._emscripten_bind_Node_get_m_area_0= -b.asm.Zw).apply(null,arguments)},rz=b._emscripten_bind_Node_set_m_area_1=function(){return(rz=b._emscripten_bind_Node_set_m_area_1=b.asm._w).apply(null,arguments)},sz=b._emscripten_bind_Node___destroy___0=function(){return(sz=b._emscripten_bind_Node___destroy___0=b.asm.$w).apply(null,arguments)},tz=b._emscripten_bind_tNodeArray_size_0=function(){return(tz=b._emscripten_bind_tNodeArray_size_0=b.asm.ax).apply(null,arguments)},uz=b._emscripten_bind_tNodeArray_at_1=function(){return(uz=b._emscripten_bind_tNodeArray_at_1= -b.asm.bx).apply(null,arguments)},vz=b._emscripten_bind_tNodeArray___destroy___0=function(){return(vz=b._emscripten_bind_tNodeArray___destroy___0=b.asm.cx).apply(null,arguments)},wz=b._emscripten_bind_Material_get_m_kLST_0=function(){return(wz=b._emscripten_bind_Material_get_m_kLST_0=b.asm.dx).apply(null,arguments)},xz=b._emscripten_bind_Material_set_m_kLST_1=function(){return(xz=b._emscripten_bind_Material_set_m_kLST_1=b.asm.ex).apply(null,arguments)},yz=b._emscripten_bind_Material_get_m_kAST_0=function(){return(yz= -b._emscripten_bind_Material_get_m_kAST_0=b.asm.fx).apply(null,arguments)},zz=b._emscripten_bind_Material_set_m_kAST_1=function(){return(zz=b._emscripten_bind_Material_set_m_kAST_1=b.asm.gx).apply(null,arguments)},Az=b._emscripten_bind_Material_get_m_kVST_0=function(){return(Az=b._emscripten_bind_Material_get_m_kVST_0=b.asm.hx).apply(null,arguments)},Bz=b._emscripten_bind_Material_set_m_kVST_1=function(){return(Bz=b._emscripten_bind_Material_set_m_kVST_1=b.asm.ix).apply(null,arguments)},Cz=b._emscripten_bind_Material_get_m_flags_0= -function(){return(Cz=b._emscripten_bind_Material_get_m_flags_0=b.asm.jx).apply(null,arguments)},Dz=b._emscripten_bind_Material_set_m_flags_1=function(){return(Dz=b._emscripten_bind_Material_set_m_flags_1=b.asm.kx).apply(null,arguments)},Ez=b._emscripten_bind_Material___destroy___0=function(){return(Ez=b._emscripten_bind_Material___destroy___0=b.asm.lx).apply(null,arguments)},Fz=b._emscripten_bind_tMaterialArray_size_0=function(){return(Fz=b._emscripten_bind_tMaterialArray_size_0=b.asm.mx).apply(null, -arguments)},Gz=b._emscripten_bind_tMaterialArray_at_1=function(){return(Gz=b._emscripten_bind_tMaterialArray_at_1=b.asm.nx).apply(null,arguments)},Hz=b._emscripten_bind_tMaterialArray___destroy___0=function(){return(Hz=b._emscripten_bind_tMaterialArray___destroy___0=b.asm.ox).apply(null,arguments)},Iz=b._emscripten_bind_Anchor_get_m_node_0=function(){return(Iz=b._emscripten_bind_Anchor_get_m_node_0=b.asm.px).apply(null,arguments)},Jz=b._emscripten_bind_Anchor_set_m_node_1=function(){return(Jz=b._emscripten_bind_Anchor_set_m_node_1= -b.asm.qx).apply(null,arguments)},Kz=b._emscripten_bind_Anchor_get_m_local_0=function(){return(Kz=b._emscripten_bind_Anchor_get_m_local_0=b.asm.rx).apply(null,arguments)},Lz=b._emscripten_bind_Anchor_set_m_local_1=function(){return(Lz=b._emscripten_bind_Anchor_set_m_local_1=b.asm.sx).apply(null,arguments)},Mz=b._emscripten_bind_Anchor_get_m_body_0=function(){return(Mz=b._emscripten_bind_Anchor_get_m_body_0=b.asm.tx).apply(null,arguments)},Nz=b._emscripten_bind_Anchor_set_m_body_1=function(){return(Nz= -b._emscripten_bind_Anchor_set_m_body_1=b.asm.ux).apply(null,arguments)},Oz=b._emscripten_bind_Anchor_get_m_influence_0=function(){return(Oz=b._emscripten_bind_Anchor_get_m_influence_0=b.asm.vx).apply(null,arguments)},Pz=b._emscripten_bind_Anchor_set_m_influence_1=function(){return(Pz=b._emscripten_bind_Anchor_set_m_influence_1=b.asm.wx).apply(null,arguments)},Qz=b._emscripten_bind_Anchor_get_m_c0_0=function(){return(Qz=b._emscripten_bind_Anchor_get_m_c0_0=b.asm.xx).apply(null,arguments)},Rz=b._emscripten_bind_Anchor_set_m_c0_1= -function(){return(Rz=b._emscripten_bind_Anchor_set_m_c0_1=b.asm.yx).apply(null,arguments)},Sz=b._emscripten_bind_Anchor_get_m_c1_0=function(){return(Sz=b._emscripten_bind_Anchor_get_m_c1_0=b.asm.zx).apply(null,arguments)},Tz=b._emscripten_bind_Anchor_set_m_c1_1=function(){return(Tz=b._emscripten_bind_Anchor_set_m_c1_1=b.asm.Ax).apply(null,arguments)},Uz=b._emscripten_bind_Anchor_get_m_c2_0=function(){return(Uz=b._emscripten_bind_Anchor_get_m_c2_0=b.asm.Bx).apply(null,arguments)},Vz=b._emscripten_bind_Anchor_set_m_c2_1= -function(){return(Vz=b._emscripten_bind_Anchor_set_m_c2_1=b.asm.Cx).apply(null,arguments)},Wz=b._emscripten_bind_Anchor___destroy___0=function(){return(Wz=b._emscripten_bind_Anchor___destroy___0=b.asm.Dx).apply(null,arguments)},Xz=b._emscripten_bind_tAnchorArray_size_0=function(){return(Xz=b._emscripten_bind_tAnchorArray_size_0=b.asm.Ex).apply(null,arguments)},Yz=b._emscripten_bind_tAnchorArray_at_1=function(){return(Yz=b._emscripten_bind_tAnchorArray_at_1=b.asm.Fx).apply(null,arguments)},Zz=b._emscripten_bind_tAnchorArray_clear_0= -function(){return(Zz=b._emscripten_bind_tAnchorArray_clear_0=b.asm.Gx).apply(null,arguments)},$z=b._emscripten_bind_tAnchorArray_push_back_1=function(){return($z=b._emscripten_bind_tAnchorArray_push_back_1=b.asm.Hx).apply(null,arguments)},aA=b._emscripten_bind_tAnchorArray_pop_back_0=function(){return(aA=b._emscripten_bind_tAnchorArray_pop_back_0=b.asm.Ix).apply(null,arguments)},bA=b._emscripten_bind_tAnchorArray___destroy___0=function(){return(bA=b._emscripten_bind_tAnchorArray___destroy___0=b.asm.Jx).apply(null, -arguments)},cA=b._emscripten_bind_Config_get_kVCF_0=function(){return(cA=b._emscripten_bind_Config_get_kVCF_0=b.asm.Kx).apply(null,arguments)},dA=b._emscripten_bind_Config_set_kVCF_1=function(){return(dA=b._emscripten_bind_Config_set_kVCF_1=b.asm.Lx).apply(null,arguments)},eA=b._emscripten_bind_Config_get_kDP_0=function(){return(eA=b._emscripten_bind_Config_get_kDP_0=b.asm.Mx).apply(null,arguments)},fA=b._emscripten_bind_Config_set_kDP_1=function(){return(fA=b._emscripten_bind_Config_set_kDP_1=b.asm.Nx).apply(null, -arguments)},gA=b._emscripten_bind_Config_get_kDG_0=function(){return(gA=b._emscripten_bind_Config_get_kDG_0=b.asm.Ox).apply(null,arguments)},hA=b._emscripten_bind_Config_set_kDG_1=function(){return(hA=b._emscripten_bind_Config_set_kDG_1=b.asm.Px).apply(null,arguments)},iA=b._emscripten_bind_Config_get_kLF_0=function(){return(iA=b._emscripten_bind_Config_get_kLF_0=b.asm.Qx).apply(null,arguments)},jA=b._emscripten_bind_Config_set_kLF_1=function(){return(jA=b._emscripten_bind_Config_set_kLF_1=b.asm.Rx).apply(null, -arguments)},kA=b._emscripten_bind_Config_get_kPR_0=function(){return(kA=b._emscripten_bind_Config_get_kPR_0=b.asm.Sx).apply(null,arguments)},lA=b._emscripten_bind_Config_set_kPR_1=function(){return(lA=b._emscripten_bind_Config_set_kPR_1=b.asm.Tx).apply(null,arguments)},mA=b._emscripten_bind_Config_get_kVC_0=function(){return(mA=b._emscripten_bind_Config_get_kVC_0=b.asm.Ux).apply(null,arguments)},nA=b._emscripten_bind_Config_set_kVC_1=function(){return(nA=b._emscripten_bind_Config_set_kVC_1=b.asm.Vx).apply(null, -arguments)},oA=b._emscripten_bind_Config_get_kDF_0=function(){return(oA=b._emscripten_bind_Config_get_kDF_0=b.asm.Wx).apply(null,arguments)},pA=b._emscripten_bind_Config_set_kDF_1=function(){return(pA=b._emscripten_bind_Config_set_kDF_1=b.asm.Xx).apply(null,arguments)},qA=b._emscripten_bind_Config_get_kMT_0=function(){return(qA=b._emscripten_bind_Config_get_kMT_0=b.asm.Yx).apply(null,arguments)},rA=b._emscripten_bind_Config_set_kMT_1=function(){return(rA=b._emscripten_bind_Config_set_kMT_1=b.asm.Zx).apply(null, -arguments)},sA=b._emscripten_bind_Config_get_kCHR_0=function(){return(sA=b._emscripten_bind_Config_get_kCHR_0=b.asm._x).apply(null,arguments)},tA=b._emscripten_bind_Config_set_kCHR_1=function(){return(tA=b._emscripten_bind_Config_set_kCHR_1=b.asm.$x).apply(null,arguments)},uA=b._emscripten_bind_Config_get_kKHR_0=function(){return(uA=b._emscripten_bind_Config_get_kKHR_0=b.asm.ay).apply(null,arguments)},vA=b._emscripten_bind_Config_set_kKHR_1=function(){return(vA=b._emscripten_bind_Config_set_kKHR_1= -b.asm.by).apply(null,arguments)},wA=b._emscripten_bind_Config_get_kSHR_0=function(){return(wA=b._emscripten_bind_Config_get_kSHR_0=b.asm.cy).apply(null,arguments)},xA=b._emscripten_bind_Config_set_kSHR_1=function(){return(xA=b._emscripten_bind_Config_set_kSHR_1=b.asm.dy).apply(null,arguments)},yA=b._emscripten_bind_Config_get_kAHR_0=function(){return(yA=b._emscripten_bind_Config_get_kAHR_0=b.asm.ey).apply(null,arguments)},zA=b._emscripten_bind_Config_set_kAHR_1=function(){return(zA=b._emscripten_bind_Config_set_kAHR_1= -b.asm.fy).apply(null,arguments)},AA=b._emscripten_bind_Config_get_kSRHR_CL_0=function(){return(AA=b._emscripten_bind_Config_get_kSRHR_CL_0=b.asm.gy).apply(null,arguments)},BA=b._emscripten_bind_Config_set_kSRHR_CL_1=function(){return(BA=b._emscripten_bind_Config_set_kSRHR_CL_1=b.asm.hy).apply(null,arguments)},CA=b._emscripten_bind_Config_get_kSKHR_CL_0=function(){return(CA=b._emscripten_bind_Config_get_kSKHR_CL_0=b.asm.iy).apply(null,arguments)},DA=b._emscripten_bind_Config_set_kSKHR_CL_1=function(){return(DA= -b._emscripten_bind_Config_set_kSKHR_CL_1=b.asm.jy).apply(null,arguments)},EA=b._emscripten_bind_Config_get_kSSHR_CL_0=function(){return(EA=b._emscripten_bind_Config_get_kSSHR_CL_0=b.asm.ky).apply(null,arguments)},FA=b._emscripten_bind_Config_set_kSSHR_CL_1=function(){return(FA=b._emscripten_bind_Config_set_kSSHR_CL_1=b.asm.ly).apply(null,arguments)},GA=b._emscripten_bind_Config_get_kSR_SPLT_CL_0=function(){return(GA=b._emscripten_bind_Config_get_kSR_SPLT_CL_0=b.asm.my).apply(null,arguments)},HA=b._emscripten_bind_Config_set_kSR_SPLT_CL_1= -function(){return(HA=b._emscripten_bind_Config_set_kSR_SPLT_CL_1=b.asm.ny).apply(null,arguments)},IA=b._emscripten_bind_Config_get_kSK_SPLT_CL_0=function(){return(IA=b._emscripten_bind_Config_get_kSK_SPLT_CL_0=b.asm.oy).apply(null,arguments)},JA=b._emscripten_bind_Config_set_kSK_SPLT_CL_1=function(){return(JA=b._emscripten_bind_Config_set_kSK_SPLT_CL_1=b.asm.py).apply(null,arguments)},KA=b._emscripten_bind_Config_get_kSS_SPLT_CL_0=function(){return(KA=b._emscripten_bind_Config_get_kSS_SPLT_CL_0=b.asm.qy).apply(null, -arguments)},LA=b._emscripten_bind_Config_set_kSS_SPLT_CL_1=function(){return(LA=b._emscripten_bind_Config_set_kSS_SPLT_CL_1=b.asm.ry).apply(null,arguments)},MA=b._emscripten_bind_Config_get_maxvolume_0=function(){return(MA=b._emscripten_bind_Config_get_maxvolume_0=b.asm.sy).apply(null,arguments)},NA=b._emscripten_bind_Config_set_maxvolume_1=function(){return(NA=b._emscripten_bind_Config_set_maxvolume_1=b.asm.ty).apply(null,arguments)},OA=b._emscripten_bind_Config_get_timescale_0=function(){return(OA= -b._emscripten_bind_Config_get_timescale_0=b.asm.uy).apply(null,arguments)},PA=b._emscripten_bind_Config_set_timescale_1=function(){return(PA=b._emscripten_bind_Config_set_timescale_1=b.asm.vy).apply(null,arguments)},QA=b._emscripten_bind_Config_get_viterations_0=function(){return(QA=b._emscripten_bind_Config_get_viterations_0=b.asm.wy).apply(null,arguments)},RA=b._emscripten_bind_Config_set_viterations_1=function(){return(RA=b._emscripten_bind_Config_set_viterations_1=b.asm.xy).apply(null,arguments)}, -SA=b._emscripten_bind_Config_get_piterations_0=function(){return(SA=b._emscripten_bind_Config_get_piterations_0=b.asm.yy).apply(null,arguments)},TA=b._emscripten_bind_Config_set_piterations_1=function(){return(TA=b._emscripten_bind_Config_set_piterations_1=b.asm.zy).apply(null,arguments)},UA=b._emscripten_bind_Config_get_diterations_0=function(){return(UA=b._emscripten_bind_Config_get_diterations_0=b.asm.Ay).apply(null,arguments)},VA=b._emscripten_bind_Config_set_diterations_1=function(){return(VA= -b._emscripten_bind_Config_set_diterations_1=b.asm.By).apply(null,arguments)},WA=b._emscripten_bind_Config_get_citerations_0=function(){return(WA=b._emscripten_bind_Config_get_citerations_0=b.asm.Cy).apply(null,arguments)},XA=b._emscripten_bind_Config_set_citerations_1=function(){return(XA=b._emscripten_bind_Config_set_citerations_1=b.asm.Dy).apply(null,arguments)},YA=b._emscripten_bind_Config_get_collisions_0=function(){return(YA=b._emscripten_bind_Config_get_collisions_0=b.asm.Ey).apply(null,arguments)}, -ZA=b._emscripten_bind_Config_set_collisions_1=function(){return(ZA=b._emscripten_bind_Config_set_collisions_1=b.asm.Fy).apply(null,arguments)},$A=b._emscripten_bind_Config___destroy___0=function(){return($A=b._emscripten_bind_Config___destroy___0=b.asm.Gy).apply(null,arguments)},aB=b._emscripten_bind_btSoftBody_btSoftBody_4=function(){return(aB=b._emscripten_bind_btSoftBody_btSoftBody_4=b.asm.Hy).apply(null,arguments)},bB=b._emscripten_bind_btSoftBody_checkLink_2=function(){return(bB=b._emscripten_bind_btSoftBody_checkLink_2= -b.asm.Iy).apply(null,arguments)},cB=b._emscripten_bind_btSoftBody_checkFace_3=function(){return(cB=b._emscripten_bind_btSoftBody_checkFace_3=b.asm.Jy).apply(null,arguments)},dB=b._emscripten_bind_btSoftBody_appendMaterial_0=function(){return(dB=b._emscripten_bind_btSoftBody_appendMaterial_0=b.asm.Ky).apply(null,arguments)},eB=b._emscripten_bind_btSoftBody_appendNode_2=function(){return(eB=b._emscripten_bind_btSoftBody_appendNode_2=b.asm.Ly).apply(null,arguments)},fB=b._emscripten_bind_btSoftBody_appendLink_4= -function(){return(fB=b._emscripten_bind_btSoftBody_appendLink_4=b.asm.My).apply(null,arguments)},gB=b._emscripten_bind_btSoftBody_appendFace_4=function(){return(gB=b._emscripten_bind_btSoftBody_appendFace_4=b.asm.Ny).apply(null,arguments)},hB=b._emscripten_bind_btSoftBody_appendTetra_5=function(){return(hB=b._emscripten_bind_btSoftBody_appendTetra_5=b.asm.Oy).apply(null,arguments)},iB=b._emscripten_bind_btSoftBody_appendAnchor_4=function(){return(iB=b._emscripten_bind_btSoftBody_appendAnchor_4=b.asm.Py).apply(null, -arguments)},jB=b._emscripten_bind_btSoftBody_addForce_1=function(){return(jB=b._emscripten_bind_btSoftBody_addForce_1=b.asm.Qy).apply(null,arguments)},kB=b._emscripten_bind_btSoftBody_addForce_2=function(){return(kB=b._emscripten_bind_btSoftBody_addForce_2=b.asm.Ry).apply(null,arguments)},lB=b._emscripten_bind_btSoftBody_addAeroForceToNode_2=function(){return(lB=b._emscripten_bind_btSoftBody_addAeroForceToNode_2=b.asm.Sy).apply(null,arguments)},mB=b._emscripten_bind_btSoftBody_getTotalMass_0=function(){return(mB= -b._emscripten_bind_btSoftBody_getTotalMass_0=b.asm.Ty).apply(null,arguments)},nB=b._emscripten_bind_btSoftBody_setTotalMass_2=function(){return(nB=b._emscripten_bind_btSoftBody_setTotalMass_2=b.asm.Uy).apply(null,arguments)},oB=b._emscripten_bind_btSoftBody_setMass_2=function(){return(oB=b._emscripten_bind_btSoftBody_setMass_2=b.asm.Vy).apply(null,arguments)},pB=b._emscripten_bind_btSoftBody_transform_1=function(){return(pB=b._emscripten_bind_btSoftBody_transform_1=b.asm.Wy).apply(null,arguments)}, -qB=b._emscripten_bind_btSoftBody_translate_1=function(){return(qB=b._emscripten_bind_btSoftBody_translate_1=b.asm.Xy).apply(null,arguments)},rB=b._emscripten_bind_btSoftBody_rotate_1=function(){return(rB=b._emscripten_bind_btSoftBody_rotate_1=b.asm.Yy).apply(null,arguments)},sB=b._emscripten_bind_btSoftBody_scale_1=function(){return(sB=b._emscripten_bind_btSoftBody_scale_1=b.asm.Zy).apply(null,arguments)},tB=b._emscripten_bind_btSoftBody_generateClusters_1=function(){return(tB=b._emscripten_bind_btSoftBody_generateClusters_1= -b.asm._y).apply(null,arguments)},uB=b._emscripten_bind_btSoftBody_generateClusters_2=function(){return(uB=b._emscripten_bind_btSoftBody_generateClusters_2=b.asm.$y).apply(null,arguments)},vB=b._emscripten_bind_btSoftBody_generateBendingConstraints_2=function(){return(vB=b._emscripten_bind_btSoftBody_generateBendingConstraints_2=b.asm.az).apply(null,arguments)},wB=b._emscripten_bind_btSoftBody_upcast_1=function(){return(wB=b._emscripten_bind_btSoftBody_upcast_1=b.asm.bz).apply(null,arguments)},xB= -b._emscripten_bind_btSoftBody_getRestLengthScale_0=function(){return(xB=b._emscripten_bind_btSoftBody_getRestLengthScale_0=b.asm.cz).apply(null,arguments)},yB=b._emscripten_bind_btSoftBody_setRestLengthScale_1=function(){return(yB=b._emscripten_bind_btSoftBody_setRestLengthScale_1=b.asm.dz).apply(null,arguments)},zB=b._emscripten_bind_btSoftBody_setAnisotropicFriction_2=function(){return(zB=b._emscripten_bind_btSoftBody_setAnisotropicFriction_2=b.asm.ez).apply(null,arguments)},AB=b._emscripten_bind_btSoftBody_getCollisionShape_0= -function(){return(AB=b._emscripten_bind_btSoftBody_getCollisionShape_0=b.asm.fz).apply(null,arguments)},BB=b._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=function(){return(BB=b._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=b.asm.gz).apply(null,arguments)},CB=b._emscripten_bind_btSoftBody_setActivationState_1=function(){return(CB=b._emscripten_bind_btSoftBody_setActivationState_1=b.asm.hz).apply(null,arguments)},DB=b._emscripten_bind_btSoftBody_forceActivationState_1=function(){return(DB= -b._emscripten_bind_btSoftBody_forceActivationState_1=b.asm.iz).apply(null,arguments)},EB=b._emscripten_bind_btSoftBody_activate_0=function(){return(EB=b._emscripten_bind_btSoftBody_activate_0=b.asm.jz).apply(null,arguments)},FB=b._emscripten_bind_btSoftBody_activate_1=function(){return(FB=b._emscripten_bind_btSoftBody_activate_1=b.asm.kz).apply(null,arguments)},GB=b._emscripten_bind_btSoftBody_isActive_0=function(){return(GB=b._emscripten_bind_btSoftBody_isActive_0=b.asm.lz).apply(null,arguments)}, -HB=b._emscripten_bind_btSoftBody_isKinematicObject_0=function(){return(HB=b._emscripten_bind_btSoftBody_isKinematicObject_0=b.asm.mz).apply(null,arguments)},IB=b._emscripten_bind_btSoftBody_isStaticObject_0=function(){return(IB=b._emscripten_bind_btSoftBody_isStaticObject_0=b.asm.nz).apply(null,arguments)},JB=b._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=function(){return(JB=b._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=b.asm.oz).apply(null,arguments)},KB=b._emscripten_bind_btSoftBody_getRestitution_0= -function(){return(KB=b._emscripten_bind_btSoftBody_getRestitution_0=b.asm.pz).apply(null,arguments)},LB=b._emscripten_bind_btSoftBody_getFriction_0=function(){return(LB=b._emscripten_bind_btSoftBody_getFriction_0=b.asm.qz).apply(null,arguments)},MB=b._emscripten_bind_btSoftBody_getRollingFriction_0=function(){return(MB=b._emscripten_bind_btSoftBody_getRollingFriction_0=b.asm.rz).apply(null,arguments)},NB=b._emscripten_bind_btSoftBody_setRestitution_1=function(){return(NB=b._emscripten_bind_btSoftBody_setRestitution_1= -b.asm.sz).apply(null,arguments)},OB=b._emscripten_bind_btSoftBody_setFriction_1=function(){return(OB=b._emscripten_bind_btSoftBody_setFriction_1=b.asm.tz).apply(null,arguments)},PB=b._emscripten_bind_btSoftBody_setRollingFriction_1=function(){return(PB=b._emscripten_bind_btSoftBody_setRollingFriction_1=b.asm.uz).apply(null,arguments)},QB=b._emscripten_bind_btSoftBody_getWorldTransform_0=function(){return(QB=b._emscripten_bind_btSoftBody_getWorldTransform_0=b.asm.vz).apply(null,arguments)},RB=b._emscripten_bind_btSoftBody_getCollisionFlags_0= -function(){return(RB=b._emscripten_bind_btSoftBody_getCollisionFlags_0=b.asm.wz).apply(null,arguments)},SB=b._emscripten_bind_btSoftBody_setCollisionFlags_1=function(){return(SB=b._emscripten_bind_btSoftBody_setCollisionFlags_1=b.asm.xz).apply(null,arguments)},TB=b._emscripten_bind_btSoftBody_setWorldTransform_1=function(){return(TB=b._emscripten_bind_btSoftBody_setWorldTransform_1=b.asm.yz).apply(null,arguments)},UB=b._emscripten_bind_btSoftBody_setCollisionShape_1=function(){return(UB=b._emscripten_bind_btSoftBody_setCollisionShape_1= -b.asm.zz).apply(null,arguments)},VB=b._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=function(){return(VB=b._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=b.asm.Az).apply(null,arguments)},WB=b._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=function(){return(WB=b._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=b.asm.Bz).apply(null,arguments)},XB=b._emscripten_bind_btSoftBody_getUserIndex_0=function(){return(XB=b._emscripten_bind_btSoftBody_getUserIndex_0=b.asm.Cz).apply(null, -arguments)},YB=b._emscripten_bind_btSoftBody_setUserIndex_1=function(){return(YB=b._emscripten_bind_btSoftBody_setUserIndex_1=b.asm.Dz).apply(null,arguments)},ZB=b._emscripten_bind_btSoftBody_getUserPointer_0=function(){return(ZB=b._emscripten_bind_btSoftBody_getUserPointer_0=b.asm.Ez).apply(null,arguments)},$B=b._emscripten_bind_btSoftBody_setUserPointer_1=function(){return($B=b._emscripten_bind_btSoftBody_setUserPointer_1=b.asm.Fz).apply(null,arguments)},aC=b._emscripten_bind_btSoftBody_getBroadphaseHandle_0= -function(){return(aC=b._emscripten_bind_btSoftBody_getBroadphaseHandle_0=b.asm.Gz).apply(null,arguments)},bC=b._emscripten_bind_btSoftBody_get_m_cfg_0=function(){return(bC=b._emscripten_bind_btSoftBody_get_m_cfg_0=b.asm.Hz).apply(null,arguments)},cC=b._emscripten_bind_btSoftBody_set_m_cfg_1=function(){return(cC=b._emscripten_bind_btSoftBody_set_m_cfg_1=b.asm.Iz).apply(null,arguments)},dC=b._emscripten_bind_btSoftBody_get_m_nodes_0=function(){return(dC=b._emscripten_bind_btSoftBody_get_m_nodes_0=b.asm.Jz).apply(null, -arguments)},eC=b._emscripten_bind_btSoftBody_set_m_nodes_1=function(){return(eC=b._emscripten_bind_btSoftBody_set_m_nodes_1=b.asm.Kz).apply(null,arguments)},fC=b._emscripten_bind_btSoftBody_get_m_faces_0=function(){return(fC=b._emscripten_bind_btSoftBody_get_m_faces_0=b.asm.Lz).apply(null,arguments)},gC=b._emscripten_bind_btSoftBody_set_m_faces_1=function(){return(gC=b._emscripten_bind_btSoftBody_set_m_faces_1=b.asm.Mz).apply(null,arguments)},hC=b._emscripten_bind_btSoftBody_get_m_materials_0=function(){return(hC= -b._emscripten_bind_btSoftBody_get_m_materials_0=b.asm.Nz).apply(null,arguments)},iC=b._emscripten_bind_btSoftBody_set_m_materials_1=function(){return(iC=b._emscripten_bind_btSoftBody_set_m_materials_1=b.asm.Oz).apply(null,arguments)},jC=b._emscripten_bind_btSoftBody_get_m_anchors_0=function(){return(jC=b._emscripten_bind_btSoftBody_get_m_anchors_0=b.asm.Pz).apply(null,arguments)},kC=b._emscripten_bind_btSoftBody_set_m_anchors_1=function(){return(kC=b._emscripten_bind_btSoftBody_set_m_anchors_1=b.asm.Qz).apply(null, -arguments)},lC=b._emscripten_bind_btSoftBody___destroy___0=function(){return(lC=b._emscripten_bind_btSoftBody___destroy___0=b.asm.Rz).apply(null,arguments)},mC=b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=function(){return(mC=b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=b.asm.Sz).apply(null,arguments)},nC=b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1= -function(){return(nC=b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=b.asm.Tz).apply(null,arguments)},oC=b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=function(){return(oC=b._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=b.asm.Uz).apply(null,arguments)},pC=b._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=function(){return(pC=b._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0= -b.asm.Vz).apply(null,arguments)},qC=b._emscripten_bind_btDefaultSoftBodySolver___destroy___0=function(){return(qC=b._emscripten_bind_btDefaultSoftBodySolver___destroy___0=b.asm.Wz).apply(null,arguments)},rC=b._emscripten_bind_btSoftBodyArray_size_0=function(){return(rC=b._emscripten_bind_btSoftBodyArray_size_0=b.asm.Xz).apply(null,arguments)},sC=b._emscripten_bind_btSoftBodyArray_at_1=function(){return(sC=b._emscripten_bind_btSoftBodyArray_at_1=b.asm.Yz).apply(null,arguments)},tC=b._emscripten_bind_btSoftBodyArray___destroy___0= -function(){return(tC=b._emscripten_bind_btSoftBodyArray___destroy___0=b.asm.Zz).apply(null,arguments)},uC=b._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=function(){return(uC=b._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=b.asm._z).apply(null,arguments)},vC=b._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=function(){return(vC=b._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=b.asm.$z).apply(null,arguments)},wC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1= -function(){return(wC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=b.asm.aA).apply(null,arguments)},xC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=function(){return(xC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=b.asm.bA).apply(null,arguments)},yC=b._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=function(){return(yC=b._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=b.asm.cA).apply(null,arguments)},zC=b._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0= -function(){return(zC=b._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=b.asm.dA).apply(null,arguments)},AC=b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=function(){return(AC=b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=b.asm.eA).apply(null,arguments)},BC=b._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=function(){return(BC=b._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=b.asm.fA).apply(null,arguments)},CC=b._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0= -function(){return(CC=b._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=b.asm.gA).apply(null,arguments)},DC=b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=function(){return(DC=b._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=b.asm.hA).apply(null,arguments)},EC=b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=function(){return(EC=b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=b.asm.iA).apply(null,arguments)},FC=b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2= -function(){return(FC=b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=b.asm.jA).apply(null,arguments)},GC=b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=function(){return(GC=b._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=b.asm.kA).apply(null,arguments)},HC=b._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=function(){return(HC=b._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=b.asm.lA).apply(null,arguments)},IC=b._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5= -function(){return(IC=b._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=b.asm.mA).apply(null,arguments)},JC=b._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=function(){return(JC=b._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=b.asm.nA).apply(null,arguments)},KC=b._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=function(){return(KC=b._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=b.asm.oA).apply(null,arguments)},LC=b._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1= -function(){return(LC=b._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=b.asm.pA).apply(null,arguments)},MC=b._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=function(){return(MC=b._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=b.asm.qA).apply(null,arguments)},NC=b._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=function(){return(NC=b._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=b.asm.rA).apply(null,arguments)},OC=b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0= -function(){return(OC=b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0=b.asm.sA).apply(null,arguments)},PC=b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=function(){return(PC=b._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=b.asm.tA).apply(null,arguments)},QC=b._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=function(){return(QC=b._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=b.asm.uA).apply(null,arguments)},RC=b._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0= -function(){return(RC=b._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=b.asm.vA).apply(null,arguments)},SC=b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=function(){return(SC=b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=b.asm.wA).apply(null,arguments)},TC=b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=function(){return(TC=b._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=b.asm.xA).apply(null,arguments)},UC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1= -function(){return(UC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=b.asm.yA).apply(null,arguments)},VC=b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=function(){return(VC=b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=b.asm.zA).apply(null,arguments)},WC=b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=function(){return(WC=b._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=b.asm.AA).apply(null,arguments)},XC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1= -function(){return(XC=b._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=b.asm.BA).apply(null,arguments)},YC=b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=function(){return(YC=b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=b.asm.CA).apply(null,arguments)},ZC=b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=function(){return(ZC=b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=b.asm.DA).apply(null,arguments)},$C=b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3= -function(){return($C=b._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=b.asm.EA).apply(null,arguments)},aD=b._emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1=function(){return(aD=b._emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1=b.asm.FA).apply(null,arguments)},bD=b._emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1=function(){return(bD=b._emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1=b.asm.GA).apply(null, -arguments)},cD=b._emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1=function(){return(cD=b._emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1=b.asm.HA).apply(null,arguments)},dD=b._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=function(){return(dD=b._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=b.asm.IA).apply(null,arguments)},eD=b._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=function(){return(eD=b._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1= -b.asm.JA).apply(null,arguments)},fD=b._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=function(){return(fD=b._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=b.asm.KA).apply(null,arguments)},gD=b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1=function(){return(gD=b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1=b.asm.LA).apply(null,arguments)},hD=b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2=function(){return(hD= -b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2=b.asm.MA).apply(null,arguments)},iD=b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3=function(){return(iD=b._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3=b.asm.NA).apply(null,arguments)},jD=b._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=function(){return(jD=b._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=b.asm.OA).apply(null,arguments)},kD=b._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0= -function(){return(kD=b._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=b.asm.PA).apply(null,arguments)},lD=b._emscripten_bind_btSoftBodyHelpers_CreateRope_5=function(){return(lD=b._emscripten_bind_btSoftBodyHelpers_CreateRope_5=b.asm.QA).apply(null,arguments)},mD=b._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=function(){return(mD=b._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=b.asm.RA).apply(null,arguments)},nD=b._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=function(){return(nD= -b._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=b.asm.SA).apply(null,arguments)},oD=b._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=function(){return(oD=b._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=b.asm.TA).apply(null,arguments)},pD=b._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=function(){return(pD=b._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=b.asm.UA).apply(null,arguments)},qD=b._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=function(){return(qD= -b._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=b.asm.VA).apply(null,arguments)},rD=b._emscripten_bind_btSoftBodyHelpers___destroy___0=function(){return(rD=b._emscripten_bind_btSoftBodyHelpers___destroy___0=b.asm.WA).apply(null,arguments)},sD=b._emscripten_enum_PHY_ScalarType_PHY_FLOAT=function(){return(sD=b._emscripten_enum_PHY_ScalarType_PHY_FLOAT=b.asm.XA).apply(null,arguments)},tD=b._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=function(){return(tD=b._emscripten_enum_PHY_ScalarType_PHY_DOUBLE= -b.asm.YA).apply(null,arguments)},uD=b._emscripten_enum_PHY_ScalarType_PHY_INTEGER=function(){return(uD=b._emscripten_enum_PHY_ScalarType_PHY_INTEGER=b.asm.ZA).apply(null,arguments)},vD=b._emscripten_enum_PHY_ScalarType_PHY_SHORT=function(){return(vD=b._emscripten_enum_PHY_ScalarType_PHY_SHORT=b.asm._A).apply(null,arguments)},wD=b._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=function(){return(wD=b._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=b.asm.$A).apply(null,arguments)},xD=b._emscripten_enum_PHY_ScalarType_PHY_UCHAR= -function(){return(xD=b._emscripten_enum_PHY_ScalarType_PHY_UCHAR=b.asm.aB).apply(null,arguments)},yD=b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_COMPOUND_SHAPE=function(){return(yD=b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_COMPOUND_SHAPE=b.asm.bB).apply(null,arguments)},zD=b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE_PART=function(){return(zD=b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE_PART=b.asm.cB).apply(null,arguments)},AD=b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE= -function(){return(AD=b._emscripten_enum_eGIMPACT_SHAPE_TYPE_CONST_GIMPACT_TRIMESH_SHAPE=b.asm.dB).apply(null,arguments)},BD=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=function(){return(BD=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=b.asm.eB).apply(null,arguments)},CD=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=function(){return(CD=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=b.asm.fB).apply(null,arguments)},DD=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM= -function(){return(DD=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=b.asm.gB).apply(null,arguments)},ED=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=function(){return(ED=b._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=b.asm.hB).apply(null,arguments)};b._malloc=function(){return(b._malloc=b.asm.jB).apply(null,arguments)};b.___start_em_js=27240;b.___stop_em_js=27338;b.UTF8ToString=sa; -b.addFunction=function(a,c){if(!Ua){Ua=new WeakMap;var d=ya.length;if(Ua)for(var e=0;e<0+d;e++){var g=e;var n=Ta[g];n||(g>=Ta.length&&(Ta.length=g+1),Ta[g]=n=ya.get(g));(g=n)&&Ua.set(g,e)}}if(d=Ua.get(a)||0)return d;if(Va.length)d=Va.pop();else{try{ya.grow(1)}catch(T){if(!(T instanceof RangeError))throw T;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";}d=ya.length-1}try{e=d,ya.set(e,a),Ta[e]=ya.get(e)}catch(T){if(!(T instanceof TypeError))throw T;if("function"==typeof WebAssembly.Function){e= -WebAssembly.Function;g={i:"i32",j:"i32",f:"f32",d:"f64",p:"i32"};n={parameters:[],results:"v"==c[0]?[]:[g[c[0]]]};for(var z=1;zz?e.push(z):e.push(z%128|128,z>>7);for(z=0;zg?c.push(g):c.push(g%128|128,g>>7);c.push.apply(c, -e);c.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);c=new WebAssembly.Module(new Uint8Array(c));c=(new WebAssembly.Instance(c,{e:{f:a}})).exports.f}e=d;ya.set(e,c);Ta[e]=ya.get(e)}Ua.set(a,d);return d};var FD;Ha=function GD(){FD||HD();FD||(Ha=GD)}; -function HD(){function a(){if(!FD&&(FD=!0,b.calledRun=!0,!qa)){Ca=!0;Qa(Aa);aa(b);if(b.onRuntimeInitialized)b.onRuntimeInitialized();if(b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var c=b.postRun.shift();Ba.unshift(c)}Qa(Ba)}}if(!(0=JD?(0>>=0;switch(c.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var e=0;e=e?c++:2047>=e?c+=2:55296<=e&&57343>=e?(c+=4,++d):c+=3}c=Array(c+1);e=c.length;d=0;if(0=n){var z=a.charCodeAt(++g);n=65536+((n&1023)<<10)|z&1023}if(127>=n){if(d>=e)break;c[d++]=n}else{if(2047>=n){if(d+1>=e)break;c[d++]=192|n>>6}else{if(65535>=n){if(d+2>=e)break;c[d++]=224|n>>12}else{if(d+3>=e)break;c[d++]=240|n>>18;c[d++]= -128|n>>12&63}c[d++]=128|n>>6&63}c[d++]=128|n&63}}c[d]=0}a=OD(c,ua);PD(c,ua,a);return a}return a}function RD(a){if("object"===typeof a){var c=OD(a,wa);PD(a,wa,c);return c}return a}function l(){throw"cannot construct a btCollisionShape, no constructor in IDL";}l.prototype=Object.create(f.prototype);l.prototype.constructor=l;l.prototype.lB=l;l.mB={};b.btCollisionShape=l;l.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Xa(c,a)}; -l.prototype.getLocalScaling=function(){return k(Ya(this.kB),m)};l.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Za(d,a,c)};l.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$a(c,a)};l.prototype.getMargin=function(){return ab(this.kB)};l.prototype.__destroy__=function(){bb(this.kB)};function SD(){throw"cannot construct a btCollisionWorld, no constructor in IDL";}SD.prototype=Object.create(f.prototype); -SD.prototype.constructor=SD;SD.prototype.lB=SD;SD.mB={};b.btCollisionWorld=SD;SD.prototype.getDispatcher=function(){return k(cb(this.kB),TD)};SD.prototype.rayTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);db(e,a,c,d)};SD.prototype.getPairCache=function(){return k(eb(this.kB),UD)};SD.prototype.getDispatchInfo=function(){return k(fb(this.kB),p)}; -SD.prototype.addCollisionObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?gb(e,a):void 0===d?hb(e,a,c):ib(e,a,c,d)};SD.prototype.removeCollisionObject=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jb(c,a)};SD.prototype.getBroadphase=function(){return k(kb(this.kB),VD)}; -SD.prototype.convexSweepTest=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);lb(n,a,c,d,e,g)};SD.prototype.contactPairTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);mb(e,a,c,d)}; -SD.prototype.contactTest=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);nb(d,a,c)};SD.prototype.updateSingleAabb=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ob(c,a)};SD.prototype.setDebugDrawer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pb(c,a)};SD.prototype.getDebugDrawer=function(){return k(qb(this.kB),WD)};SD.prototype.debugDrawWorld=function(){rb(this.kB)}; -SD.prototype.debugDrawObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);sb(e,a,c,d)};SD.prototype.__destroy__=function(){tb(this.kB)};function q(){throw"cannot construct a btCollisionObject, no constructor in IDL";}q.prototype=Object.create(f.prototype);q.prototype.constructor=q;q.prototype.lB=q;q.mB={};b.btCollisionObject=q; -q.prototype.setAnisotropicFriction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);ub(d,a,c)};q.prototype.getCollisionShape=function(){return k(vb(this.kB),l)};q.prototype.setContactProcessingThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wb(c,a)};q.prototype.setActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xb(c,a)}; -q.prototype.forceActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yb(c,a)};q.prototype.activate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);void 0===a?zb(c):Ab(c,a)};q.prototype.isActive=function(){return!!Bb(this.kB)};q.prototype.isKinematicObject=function(){return!!Cb(this.kB)};q.prototype.isStaticObject=function(){return!!Db(this.kB)};q.prototype.isStaticOrKinematicObject=function(){return!!Eb(this.kB)};q.prototype.getRestitution=function(){return Fb(this.kB)}; -q.prototype.getFriction=function(){return Gb(this.kB)};q.prototype.getRollingFriction=function(){return Hb(this.kB)};q.prototype.setRestitution=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ib(c,a)};q.prototype.setFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jb(c,a)};q.prototype.setRollingFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kb(c,a)};q.prototype.getWorldTransform=function(){return k(Lb(this.kB),r)};q.prototype.getCollisionFlags=function(){return Mb(this.kB)}; -q.prototype.setCollisionFlags=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nb(c,a)};q.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ob(c,a)};q.prototype.setCollisionShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pb(c,a)};q.prototype.setCcdMotionThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qb(c,a)};q.prototype.setCcdSweptSphereRadius=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Rb(c,a)}; -q.prototype.getUserIndex=function(){return Sb(this.kB)};q.prototype.setUserIndex=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Tb(c,a)};q.prototype.getUserPointer=function(){return k(Ub(this.kB),XD)};q.prototype.setUserPointer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vb(c,a)};q.prototype.getBroadphaseHandle=function(){return k(Wb(this.kB),YD)};q.prototype.__destroy__=function(){Xb(this.kB)}; -function ZD(){throw"cannot construct a btConcaveShape, no constructor in IDL";}ZD.prototype=Object.create(l.prototype);ZD.prototype.constructor=ZD;ZD.prototype.lB=ZD;ZD.mB={};b.btConcaveShape=ZD;ZD.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Yb(c,a)};ZD.prototype.getLocalScaling=function(){return k(Zb(this.kB),m)};ZD.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);$b(d,a,c)}; -ZD.prototype.__destroy__=function(){ac(this.kB)};function $D(){throw"cannot construct a btCollisionAlgorithm, no constructor in IDL";}$D.prototype=Object.create(f.prototype);$D.prototype.constructor=$D;$D.prototype.lB=$D;$D.mB={};b.btCollisionAlgorithm=$D;$D.prototype.__destroy__=function(){bc(this.kB)};function aE(){throw"cannot construct a btTypedConstraint, no constructor in IDL";}aE.prototype=Object.create(f.prototype);aE.prototype.constructor=aE;aE.prototype.lB=aE;aE.mB={}; -b.btTypedConstraint=aE;aE.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);cc(c,a)};aE.prototype.getBreakingImpulseThreshold=function(){return ec(this.kB)};aE.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fc(c,a)};aE.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return gc(d,a,c)}; -aE.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);hc(e,a,c,d)};aE.prototype.__destroy__=function(){ic(this.kB)};function bE(){throw"cannot construct a btDynamicsWorld, no constructor in IDL";}bE.prototype=Object.create(SD.prototype);bE.prototype.constructor=bE;bE.prototype.lB=bE;bE.mB={};b.btDynamicsWorld=bE;bE.prototype.addAction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jc(c,a)}; -bE.prototype.removeAction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kc(c,a)};bE.prototype.getSolverInfo=function(){return k(lc(this.kB),t)};bE.prototype.setInternalTickCallback=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?mc(e,a):void 0===d?nc(e,a,c):oc(e,a,c,d)};bE.prototype.getDispatcher=function(){return k(pc(this.kB),TD)}; -bE.prototype.rayTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);qc(e,a,c,d)};bE.prototype.getPairCache=function(){return k(rc(this.kB),UD)};bE.prototype.getDispatchInfo=function(){return k(sc(this.kB),p)}; -bE.prototype.addCollisionObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?tc(e,a):void 0===d?uc(e,a,c):vc(e,a,c,d)};bE.prototype.removeCollisionObject=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wc(c,a)};bE.prototype.getBroadphase=function(){return k(xc(this.kB),VD)}; -bE.prototype.convexSweepTest=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);yc(n,a,c,d,e,g)};bE.prototype.contactPairTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);zc(e,a,c,d)}; -bE.prototype.contactTest=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Ac(d,a,c)};bE.prototype.updateSingleAabb=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Bc(c,a)};bE.prototype.setDebugDrawer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Cc(c,a)};bE.prototype.getDebugDrawer=function(){return k(Dc(this.kB),WD)};bE.prototype.debugDrawWorld=function(){Ec(this.kB)}; -bE.prototype.debugDrawObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Fc(e,a,c,d)};bE.prototype.__destroy__=function(){Gc(this.kB)};function WD(){throw"cannot construct a btIDebugDraw, no constructor in IDL";}WD.prototype=Object.create(f.prototype);WD.prototype.constructor=WD;WD.prototype.lB=WD;WD.mB={};b.btIDebugDraw=WD; -WD.prototype.drawLine=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Hc(e,a,c,d)};WD.prototype.drawContactPoint=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);Ic(n,a,c,d,e,g)}; -WD.prototype.reportErrorWarning=function(a){var c=this.kB;ND();a=a&&"object"===typeof a?a.kB:QD(a);Jc(c,a)};WD.prototype.draw3dText=function(a,c){var d=this.kB;ND();a&&"object"===typeof a&&(a=a.kB);c=c&&"object"===typeof c?c.kB:QD(c);Kc(d,a,c)};WD.prototype.setDebugMode=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lc(c,a)};WD.prototype.getDebugMode=function(){return Mc(this.kB)};WD.prototype.__destroy__=function(){Nc(this.kB)}; -function m(a,c,d){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);this.kB=void 0===a?Oc():void 0===c?_emscripten_bind_btVector3_btVector3_1(a):void 0===d?_emscripten_bind_btVector3_btVector3_2(a,c):Pc(a,c,d);h(m)[this.kB]=this}m.prototype=Object.create(f.prototype);m.prototype.constructor=m;m.prototype.lB=m;m.mB={};b.btVector3=m;m.prototype.length=m.prototype.length=function(){return Qc(this.kB)};m.prototype.x=m.prototype.x=function(){return Rc(this.kB)}; -m.prototype.y=m.prototype.y=function(){return Sc(this.kB)};m.prototype.z=m.prototype.z=function(){return Tc(this.kB)};m.prototype.setX=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Uc(c,a)};m.prototype.setY=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vc(c,a)};m.prototype.setZ=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Wc(c,a)}; -m.prototype.setValue=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Xc(e,a,c,d)};m.prototype.normalize=m.prototype.normalize=function(){Yc(this.kB)};m.prototype.rotate=m.prototype.rotate=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return k(Zc(d,a,c),m)};m.prototype.dot=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return $c(c,a)}; -m.prototype.op_mul=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(ad(c,a),m)};m.prototype.op_add=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(bd(c,a),m)};m.prototype.op_sub=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(cd(c,a),m)};m.prototype.__destroy__=function(){dd(this.kB)};function cE(){throw"cannot construct a btQuadWord, no constructor in IDL";}cE.prototype=Object.create(f.prototype);cE.prototype.constructor=cE; -cE.prototype.lB=cE;cE.mB={};b.btQuadWord=cE;cE.prototype.x=cE.prototype.x=function(){return ed(this.kB)};cE.prototype.y=cE.prototype.y=function(){return fd(this.kB)};cE.prototype.z=cE.prototype.z=function(){return gd(this.kB)};cE.prototype.w=cE.prototype.w=function(){return hd(this.kB)};cE.prototype.setX=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jd(c,a)};cE.prototype.setY=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kd(c,a)}; -cE.prototype.setZ=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ld(c,a)};cE.prototype.setW=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);md(c,a)};cE.prototype.__destroy__=function(){nd(this.kB)};function dE(){throw"cannot construct a btMotionState, no constructor in IDL";}dE.prototype=Object.create(f.prototype);dE.prototype.constructor=dE;dE.prototype.lB=dE;dE.mB={};b.btMotionState=dE; -dE.prototype.getWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);od(c,a)};dE.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pd(c,a)};dE.prototype.__destroy__=function(){qd(this.kB)};function u(){throw"cannot construct a RayResultCallback, no constructor in IDL";}u.prototype=Object.create(f.prototype);u.prototype.constructor=u;u.prototype.lB=u;u.mB={};b.RayResultCallback=u;u.prototype.hasHit=function(){return!!rd(this.kB)}; -u.prototype.get_m_collisionFilterGroup=u.prototype.nB=function(){return sd(this.kB)};u.prototype.set_m_collisionFilterGroup=u.prototype.pB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);td(c,a)};Object.defineProperty(u.prototype,"m_collisionFilterGroup",{get:u.prototype.nB,set:u.prototype.pB});u.prototype.get_m_collisionFilterMask=u.prototype.oB=function(){return ud(this.kB)}; -u.prototype.set_m_collisionFilterMask=u.prototype.qB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vd(c,a)};Object.defineProperty(u.prototype,"m_collisionFilterMask",{get:u.prototype.oB,set:u.prototype.qB});u.prototype.get_m_closestHitFraction=u.prototype.rB=function(){return wd(this.kB)};u.prototype.set_m_closestHitFraction=u.prototype.sB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xd(c,a)};Object.defineProperty(u.prototype,"m_closestHitFraction",{get:u.prototype.rB,set:u.prototype.sB}); -u.prototype.get_m_collisionObject=u.prototype.vB=function(){return k(yd(this.kB),q)};u.prototype.set_m_collisionObject=u.prototype.CB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zd(c,a)};Object.defineProperty(u.prototype,"m_collisionObject",{get:u.prototype.vB,set:u.prototype.CB});u.prototype.get_m_flags=u.prototype.tB=function(){return Ad(this.kB)};u.prototype.set_m_flags=u.prototype.uB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Bd(c,a)}; -Object.defineProperty(u.prototype,"m_flags",{get:u.prototype.tB,set:u.prototype.uB});u.prototype.__destroy__=function(){Cd(this.kB)};function eE(){throw"cannot construct a ContactResultCallback, no constructor in IDL";}eE.prototype=Object.create(f.prototype);eE.prototype.constructor=eE;eE.prototype.lB=eE;eE.mB={};b.ContactResultCallback=eE; -eE.prototype.addSingleResult=function(a,c,d,e,g,n,z){var T=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);n&&"object"===typeof n&&(n=n.kB);z&&"object"===typeof z&&(z=z.kB);return Dd(T,a,c,d,e,g,n,z)};eE.prototype.__destroy__=function(){Ed(this.kB)};function v(){throw"cannot construct a ConvexResultCallback, no constructor in IDL";}v.prototype=Object.create(f.prototype); -v.prototype.constructor=v;v.prototype.lB=v;v.mB={};b.ConvexResultCallback=v;v.prototype.hasHit=function(){return!!Fd(this.kB)};v.prototype.get_m_collisionFilterGroup=v.prototype.nB=function(){return Gd(this.kB)};v.prototype.set_m_collisionFilterGroup=v.prototype.pB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Hd(c,a)};Object.defineProperty(v.prototype,"m_collisionFilterGroup",{get:v.prototype.nB,set:v.prototype.pB});v.prototype.get_m_collisionFilterMask=v.prototype.oB=function(){return Id(this.kB)}; -v.prototype.set_m_collisionFilterMask=v.prototype.qB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jd(c,a)};Object.defineProperty(v.prototype,"m_collisionFilterMask",{get:v.prototype.oB,set:v.prototype.qB});v.prototype.get_m_closestHitFraction=v.prototype.rB=function(){return Kd(this.kB)};v.prototype.set_m_closestHitFraction=v.prototype.sB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ld(c,a)};Object.defineProperty(v.prototype,"m_closestHitFraction",{get:v.prototype.rB,set:v.prototype.sB}); -v.prototype.__destroy__=function(){Md(this.kB)};function fE(){throw"cannot construct a btConvexShape, no constructor in IDL";}fE.prototype=Object.create(l.prototype);fE.prototype.constructor=fE;fE.prototype.lB=fE;fE.mB={};b.btConvexShape=fE;fE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nd(c,a)};fE.prototype.getLocalScaling=function(){return k(Od(this.kB),m)}; -fE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Pd(d,a,c)};fE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qd(c,a)};fE.prototype.getMargin=function(){return Rd(this.kB)};fE.prototype.__destroy__=function(){Sd(this.kB)};function gE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=Td(a,c);h(gE)[this.kB]=this}gE.prototype=Object.create(l.prototype); -gE.prototype.constructor=gE;gE.prototype.lB=gE;gE.mB={};b.btCapsuleShape=gE;gE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ud(c,a)};gE.prototype.getMargin=function(){return Vd(this.kB)};gE.prototype.getUpAxis=function(){return Wd(this.kB)};gE.prototype.getRadius=function(){return Xd(this.kB)};gE.prototype.getHalfHeight=function(){return Yd(this.kB)};gE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zd(c,a)}; -gE.prototype.getLocalScaling=function(){return k($d(this.kB),m)};gE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);ae(d,a,c)};gE.prototype.__destroy__=function(){be(this.kB)};function hE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=ce(a);h(hE)[this.kB]=this}hE.prototype=Object.create(l.prototype);hE.prototype.constructor=hE;hE.prototype.lB=hE;hE.mB={};b.btCylinderShape=hE; -hE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);de(c,a)};hE.prototype.getMargin=function(){return ee(this.kB)};hE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fe(c,a)};hE.prototype.getLocalScaling=function(){return k(ge(this.kB),m)};hE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);he(d,a,c)};hE.prototype.__destroy__=function(){ie(this.kB)}; -function iE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=je(a,c);h(iE)[this.kB]=this}iE.prototype=Object.create(l.prototype);iE.prototype.constructor=iE;iE.prototype.lB=iE;iE.mB={};b.btConeShape=iE;iE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ke(c,a)};iE.prototype.getLocalScaling=function(){return k(le(this.kB),m)}; -iE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);me(d,a,c)};iE.prototype.__destroy__=function(){ne(this.kB)};function jE(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL";}jE.prototype=Object.create(f.prototype);jE.prototype.constructor=jE;jE.prototype.lB=jE;jE.mB={};b.btStridingMeshInterface=jE;jE.prototype.setScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);oe(c,a)}; -jE.prototype.__destroy__=function(){pe(this.kB)};function kE(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL";}kE.prototype=Object.create(ZD.prototype);kE.prototype.constructor=kE;kE.prototype.lB=kE;kE.mB={};b.btTriangleMeshShape=kE;kE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);qe(c,a)};kE.prototype.getLocalScaling=function(){return k(re(this.kB),m)}; -kE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);se(d,a,c)};kE.prototype.__destroy__=function(){te(this.kB)};function lE(){throw"cannot construct a btPrimitiveManagerBase, no constructor in IDL";}lE.prototype=Object.create(f.prototype);lE.prototype.constructor=lE;lE.prototype.lB=lE;lE.mB={};b.btPrimitiveManagerBase=lE;lE.prototype.is_trimesh=function(){return!!ue(this.kB)};lE.prototype.get_primitive_count=function(){return ve(this.kB)}; -lE.prototype.get_primitive_box=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);we(d,a,c)};lE.prototype.get_primitive_triangle=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);xe(d,a,c)};lE.prototype.__destroy__=function(){ye(this.kB)};function w(){throw"cannot construct a btGImpactShapeInterface, no constructor in IDL";}w.prototype=Object.create(ZD.prototype);w.prototype.constructor=w;w.prototype.lB=w; -w.mB={};b.btGImpactShapeInterface=w;w.prototype.updateBound=function(){ze(this.kB)};w.prototype.postUpdate=function(){Ae(this.kB)};w.prototype.getShapeType=function(){return Be(this.kB)};w.prototype.getName=function(){return sa(Ce(this.kB))};w.prototype.getGImpactShapeType=function(){return De(this.kB)};w.prototype.getPrimitiveManager=function(){return k(Ee(this.kB),lE)};w.prototype.getNumChildShapes=function(){return Fe(this.kB)};w.prototype.childrenHasTransform=function(){return!!Ge(this.kB)}; -w.prototype.needsRetrieveTriangles=function(){return!!He(this.kB)};w.prototype.needsRetrieveTetrahedrons=function(){return!!Ie(this.kB)};w.prototype.getBulletTriangle=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Je(d,a,c)};w.prototype.getBulletTetrahedron=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Ke(d,a,c)}; -w.prototype.getChildShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Le(c,a),l)};w.prototype.getChildTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Me(c,a),r)};w.prototype.setChildTransform=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Ne(d,a,c)};w.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Oe(c,a)}; -w.prototype.getLocalScaling=function(){return k(Pe(this.kB),m)};w.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Qe(d,a,c)};w.prototype.__destroy__=function(){Re(this.kB)};function mE(){throw"cannot construct a btActivatingCollisionAlgorithm, no constructor in IDL";}mE.prototype=Object.create($D.prototype);mE.prototype.constructor=mE;mE.prototype.lB=mE;mE.mB={};b.btActivatingCollisionAlgorithm=mE; -mE.prototype.__destroy__=function(){Se(this.kB)};function nE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=void 0===a?Te():Ue(a);h(nE)[this.kB]=this}nE.prototype=Object.create(f.prototype);nE.prototype.constructor=nE;nE.prototype.lB=nE;nE.mB={};b.btDefaultCollisionConfiguration=nE;nE.prototype.__destroy__=function(){Ve(this.kB)};function TD(){throw"cannot construct a btDispatcher, no constructor in IDL";}TD.prototype=Object.create(f.prototype);TD.prototype.constructor=TD;TD.prototype.lB=TD;TD.mB={}; -b.btDispatcher=TD;TD.prototype.getNumManifolds=function(){return We(this.kB)};TD.prototype.getManifoldByIndexInternal=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Xe(c,a),oE)};TD.prototype.__destroy__=function(){Ye(this.kB)}; -function pE(a,c,d,e,g){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);this.kB=void 0===e?Ze(a,c,d):void 0===g?_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(a,c,d,e):$e(a,c,d,e,g);h(pE)[this.kB]=this}pE.prototype=Object.create(aE.prototype);pE.prototype.constructor=pE;pE.prototype.lB=pE;pE.mB={};b.btGeneric6DofConstraint=pE; -pE.prototype.setLinearLowerLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);af(c,a)};pE.prototype.setLinearUpperLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);bf(c,a)};pE.prototype.setAngularLowerLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);cf(c,a)};pE.prototype.setAngularUpperLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);df(c,a)};pE.prototype.getFrameOffsetA=function(){return k(ef(this.kB),r)}; -pE.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ff(c,a)};pE.prototype.getBreakingImpulseThreshold=function(){return gf(this.kB)};pE.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hf(c,a)};pE.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return jf(d,a,c)}; -pE.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);kf(e,a,c,d)};pE.prototype.__destroy__=function(){lf(this.kB)};function x(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=mf(a,c,d,e);h(x)[this.kB]=this}x.prototype=Object.create(bE.prototype);x.prototype.constructor=x;x.prototype.lB=x;x.mB={}; -b.btDiscreteDynamicsWorld=x;x.prototype.setGravity=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);nf(c,a)};x.prototype.getGravity=function(){return k(of(this.kB),m)};x.prototype.addRigidBody=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?pf(e,a):void 0===d?_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(e,a,c):qf(e,a,c,d)}; -x.prototype.removeRigidBody=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);rf(c,a)};x.prototype.addConstraint=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);void 0===c?sf(d,a):tf(d,a,c)};x.prototype.removeConstraint=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);uf(c,a)}; -x.prototype.stepSimulation=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);return void 0===c?vf(e,a):void 0===d?wf(e,a,c):xf(e,a,c,d)};x.prototype.setContactAddedCallback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yf(c,a)};x.prototype.setContactProcessedCallback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zf(c,a)}; -x.prototype.setContactDestroyedCallback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Af(c,a)};x.prototype.getDispatcher=function(){return k(Bf(this.kB),TD)};x.prototype.rayTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Cf(e,a,c,d)};x.prototype.getPairCache=function(){return k(Df(this.kB),UD)};x.prototype.getDispatchInfo=function(){return k(Ef(this.kB),p)}; -x.prototype.addCollisionObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?Ff(e,a):void 0===d?Gf(e,a,c):Hf(e,a,c,d)};x.prototype.removeCollisionObject=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);If(c,a)};x.prototype.getBroadphase=function(){return k(Jf(this.kB),VD)}; -x.prototype.convexSweepTest=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);Kf(n,a,c,d,e,g)};x.prototype.contactPairTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Lf(e,a,c,d)}; -x.prototype.contactTest=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Mf(d,a,c)};x.prototype.updateSingleAabb=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nf(c,a)};x.prototype.setDebugDrawer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Of(c,a)};x.prototype.getDebugDrawer=function(){return k(Pf(this.kB),WD)};x.prototype.debugDrawWorld=function(){Qf(this.kB)}; -x.prototype.debugDrawObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Rf(e,a,c,d)};x.prototype.addAction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Sf(c,a)};x.prototype.removeAction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Tf(c,a)};x.prototype.getSolverInfo=function(){return k(Uf(this.kB),t)}; -x.prototype.setInternalTickCallback=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?Vf(e,a):void 0===d?Wf(e,a,c):Xf(e,a,c,d)};x.prototype.__destroy__=function(){Yf(this.kB)};function qE(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL";}qE.prototype=Object.create(f.prototype);qE.prototype.constructor=qE;qE.prototype.lB=qE;qE.mB={};b.btVehicleRaycaster=qE; -qE.prototype.castRay=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Zf(e,a,c,d)};qE.prototype.__destroy__=function(){$f(this.kB)};function rE(){throw"cannot construct a btActionInterface, no constructor in IDL";}rE.prototype=Object.create(f.prototype);rE.prototype.constructor=rE;rE.prototype.lB=rE;rE.mB={};b.btActionInterface=rE; -rE.prototype.updateAction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);ag(d,a,c)};rE.prototype.__destroy__=function(){bg(this.kB)};function y(){this.kB=cg();h(y)[this.kB]=this}y.prototype=Object.create(q.prototype);y.prototype.constructor=y;y.prototype.lB=y;y.mB={};b.btGhostObject=y;y.prototype.getNumOverlappingObjects=function(){return dg(this.kB)}; -y.prototype.getOverlappingObject=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(eg(c,a),q)};y.prototype.setAnisotropicFriction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);fg(d,a,c)};y.prototype.getCollisionShape=function(){return k(gg(this.kB),l)};y.prototype.setContactProcessingThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hg(c,a)}; -y.prototype.setActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ig(c,a)};y.prototype.forceActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jg(c,a)};y.prototype.activate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);void 0===a?kg(c):lg(c,a)};y.prototype.isActive=function(){return!!mg(this.kB)};y.prototype.isKinematicObject=function(){return!!ng(this.kB)};y.prototype.isStaticObject=function(){return!!og(this.kB)}; -y.prototype.isStaticOrKinematicObject=function(){return!!pg(this.kB)};y.prototype.getRestitution=function(){return qg(this.kB)};y.prototype.getFriction=function(){return rg(this.kB)};y.prototype.getRollingFriction=function(){return sg(this.kB)};y.prototype.setRestitution=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);tg(c,a)};y.prototype.setFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ug(c,a)}; -y.prototype.setRollingFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vg(c,a)};y.prototype.getWorldTransform=function(){return k(wg(this.kB),r)};y.prototype.getCollisionFlags=function(){return xg(this.kB)};y.prototype.setCollisionFlags=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yg(c,a)};y.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zg(c,a)}; -y.prototype.setCollisionShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ag(c,a)};y.prototype.setCcdMotionThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Bg(c,a)};y.prototype.setCcdSweptSphereRadius=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Cg(c,a)};y.prototype.getUserIndex=function(){return Dg(this.kB)};y.prototype.setUserIndex=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Eg(c,a)}; -y.prototype.getUserPointer=function(){return k(Fg(this.kB),XD)};y.prototype.setUserPointer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Gg(c,a)};y.prototype.getBroadphaseHandle=function(){return k(Hg(this.kB),YD)};y.prototype.__destroy__=function(){Ig(this.kB)};function sE(){throw"cannot construct a btSoftBodySolver, no constructor in IDL";}sE.prototype=Object.create(f.prototype);sE.prototype.constructor=sE;sE.prototype.lB=sE;sE.mB={};b.btSoftBodySolver=sE;sE.prototype.__destroy__=function(){Jg(this.kB)}; -function XD(){throw"cannot construct a VoidPtr, no constructor in IDL";}XD.prototype=Object.create(f.prototype);XD.prototype.constructor=XD;XD.prototype.lB=XD;XD.mB={};b.VoidPtr=XD;XD.prototype.__destroy__=function(){Kg(this.kB)};function tE(){this.kB=Lg();h(tE)[this.kB]=this}tE.prototype=Object.create(WD.prototype);tE.prototype.constructor=tE;tE.prototype.lB=tE;tE.mB={};b.DebugDrawer=tE; -tE.prototype.drawLine=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Mg(e,a,c,d)};tE.prototype.drawContactPoint=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);Ng(n,a,c,d,e,g)}; -tE.prototype.reportErrorWarning=function(a){var c=this.kB;ND();a=a&&"object"===typeof a?a.kB:QD(a);Og(c,a)};tE.prototype.draw3dText=function(a,c){var d=this.kB;ND();a&&"object"===typeof a&&(a=a.kB);c=c&&"object"===typeof c?c.kB:QD(c);Pg(d,a,c)};tE.prototype.setDebugMode=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qg(c,a)};tE.prototype.getDebugMode=function(){return Rg(this.kB)};tE.prototype.__destroy__=function(){Sg(this.kB)}; -function A(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=void 0===a?Tg():void 0===c?_emscripten_bind_btVector4_btVector4_1(a):void 0===d?_emscripten_bind_btVector4_btVector4_2(a,c):void 0===e?_emscripten_bind_btVector4_btVector4_3(a,c,d):Ug(a,c,d,e);h(A)[this.kB]=this}A.prototype=Object.create(m.prototype);A.prototype.constructor=A;A.prototype.lB=A;A.mB={};b.btVector4=A; -A.prototype.w=A.prototype.w=function(){return Vg(this.kB)};A.prototype.setValue=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);Wg(g,a,c,d,e)};A.prototype.length=A.prototype.length=function(){return Xg(this.kB)};A.prototype.x=A.prototype.x=function(){return Yg(this.kB)};A.prototype.y=A.prototype.y=function(){return Zg(this.kB)};A.prototype.z=A.prototype.z=function(){return $g(this.kB)}; -A.prototype.setX=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ah(c,a)};A.prototype.setY=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);bh(c,a)};A.prototype.setZ=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ch(c,a)};A.prototype.normalize=A.prototype.normalize=function(){dh(this.kB)};A.prototype.rotate=A.prototype.rotate=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return k(eh(d,a,c),m)}; -A.prototype.dot=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return fh(c,a)};A.prototype.op_mul=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(gh(c,a),m)};A.prototype.op_add=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(hh(c,a),m)};A.prototype.op_sub=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(ih(c,a),m)};A.prototype.__destroy__=function(){jh(this.kB)}; -function B(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=kh(a,c,d,e);h(B)[this.kB]=this}B.prototype=Object.create(cE.prototype);B.prototype.constructor=B;B.prototype.lB=B;B.mB={};b.btQuaternion=B;B.prototype.setValue=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);lh(g,a,c,d,e)}; -B.prototype.setEulerZYX=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);mh(e,a,c,d)};B.prototype.setRotation=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);nh(d,a,c)};B.prototype.normalize=B.prototype.normalize=function(){oh(this.kB)};B.prototype.length2=function(){return ph(this.kB)};B.prototype.length=B.prototype.length=function(){return qh(this.kB)}; -B.prototype.dot=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return rh(c,a)};B.prototype.normalized=function(){return k(sh(this.kB),B)};B.prototype.getAxis=function(){return k(th(this.kB),m)};B.prototype.inverse=B.prototype.inverse=function(){return k(uh(this.kB),B)};B.prototype.getAngle=function(){return vh(this.kB)};B.prototype.getAngleShortestPath=function(){return wh(this.kB)}; -B.prototype.angle=B.prototype.angle=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return xh(c,a)};B.prototype.angleShortestPath=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return yh(c,a)};B.prototype.op_add=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(zh(c,a),B)};B.prototype.op_sub=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Ah(c,a),B)}; -B.prototype.op_mul=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Bh(c,a),B)};B.prototype.op_mulq=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Ch(c,a),B)};B.prototype.op_div=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Dh(c,a),B)};B.prototype.x=B.prototype.x=function(){return Eh(this.kB)};B.prototype.y=B.prototype.y=function(){return Fh(this.kB)};B.prototype.z=B.prototype.z=function(){return Gh(this.kB)}; -B.prototype.w=B.prototype.w=function(){return Hh(this.kB)};B.prototype.setX=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ih(c,a)};B.prototype.setY=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jh(c,a)};B.prototype.setZ=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kh(c,a)};B.prototype.setW=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lh(c,a)};B.prototype.__destroy__=function(){Mh(this.kB)}; -function uE(){throw"cannot construct a btMatrix3x3, no constructor in IDL";}uE.prototype=Object.create(f.prototype);uE.prototype.constructor=uE;uE.prototype.lB=uE;uE.mB={};b.btMatrix3x3=uE;uE.prototype.setEulerZYX=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Nh(e,a,c,d)};uE.prototype.getRotation=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Oh(c,a)}; -uE.prototype.getRow=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Ph(c,a),m)};uE.prototype.__destroy__=function(){Qh(this.kB)};function r(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=void 0===a?Rh():void 0===c?_emscripten_bind_btTransform_btTransform_1(a):Sh(a,c);h(r)[this.kB]=this}r.prototype=Object.create(f.prototype);r.prototype.constructor=r;r.prototype.lB=r;r.mB={};b.btTransform=r;r.prototype.setIdentity=function(){Th(this.kB)}; -r.prototype.setOrigin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Uh(c,a)};r.prototype.setRotation=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vh(c,a)};r.prototype.getOrigin=function(){return k(Wh(this.kB),m)};r.prototype.getRotation=function(){return k(Xh(this.kB),B)};r.prototype.getBasis=function(){return k(Yh(this.kB),uE)};r.prototype.setFromOpenGLMatrix=function(a){var c=this.kB;ND();"object"==typeof a&&(a=RD(a));Zh(c,a)}; -r.prototype.inverse=r.prototype.inverse=function(){return k($h(this.kB),r)};r.prototype.op_mul=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(ai(c,a),r)};r.prototype.__destroy__=function(){bi(this.kB)};function vE(){this.kB=ci();h(vE)[this.kB]=this}vE.prototype=Object.create(dE.prototype);vE.prototype.constructor=vE;vE.prototype.lB=vE;vE.mB={};b.MotionState=vE;vE.prototype.getWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);di(c,a)}; -vE.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ei(c,a)};vE.prototype.__destroy__=function(){fi(this.kB)};function wE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=void 0===a?gi():void 0===c?hi(a):ii(a,c);h(wE)[this.kB]=this}wE.prototype=Object.create(dE.prototype);wE.prototype.constructor=wE;wE.prototype.lB=wE;wE.mB={};b.btDefaultMotionState=wE; -wE.prototype.getWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ji(c,a)};wE.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ki(c,a)};wE.prototype.get_m_graphicsWorldTrans=wE.prototype.lD=function(){return k(li(this.kB),r)};wE.prototype.set_m_graphicsWorldTrans=wE.prototype.cG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);mi(c,a)};Object.defineProperty(wE.prototype,"m_graphicsWorldTrans",{get:wE.prototype.lD,set:wE.prototype.cG}); -wE.prototype.__destroy__=function(){ni(this.kB)};function xE(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL";}xE.prototype=Object.create(f.prototype);xE.prototype.constructor=xE;xE.prototype.lB=xE;xE.mB={};b.btCollisionObjectWrapper=xE;xE.prototype.getWorldTransform=function(){return k(oi(this.kB),r)};xE.prototype.getCollisionObject=function(){return k(pi(this.kB),q)};xE.prototype.getCollisionShape=function(){return k(qi(this.kB),l)}; -function C(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=ri(a,c);h(C)[this.kB]=this}C.prototype=Object.create(u.prototype);C.prototype.constructor=C;C.prototype.lB=C;C.mB={};b.ClosestRayResultCallback=C;C.prototype.hasHit=function(){return!!si(this.kB)};C.prototype.get_m_rayFromWorld=C.prototype.NB=function(){return k(ti(this.kB),m)};C.prototype.set_m_rayFromWorld=C.prototype.XB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ui(c,a)}; -Object.defineProperty(C.prototype,"m_rayFromWorld",{get:C.prototype.NB,set:C.prototype.XB});C.prototype.get_m_rayToWorld=C.prototype.OB=function(){return k(vi(this.kB),m)};C.prototype.set_m_rayToWorld=C.prototype.YB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wi(c,a)};Object.defineProperty(C.prototype,"m_rayToWorld",{get:C.prototype.OB,set:C.prototype.YB});C.prototype.get_m_hitNormalWorld=C.prototype.xB=function(){return k(xi(this.kB),m)}; -C.prototype.set_m_hitNormalWorld=C.prototype.EB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yi(c,a)};Object.defineProperty(C.prototype,"m_hitNormalWorld",{get:C.prototype.xB,set:C.prototype.EB});C.prototype.get_m_hitPointWorld=C.prototype.yB=function(){return k(zi(this.kB),m)};C.prototype.set_m_hitPointWorld=C.prototype.FB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ai(c,a)};Object.defineProperty(C.prototype,"m_hitPointWorld",{get:C.prototype.yB,set:C.prototype.FB}); -C.prototype.get_m_collisionFilterGroup=C.prototype.nB=function(){return Bi(this.kB)};C.prototype.set_m_collisionFilterGroup=C.prototype.pB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ci(c,a)};Object.defineProperty(C.prototype,"m_collisionFilterGroup",{get:C.prototype.nB,set:C.prototype.pB});C.prototype.get_m_collisionFilterMask=C.prototype.oB=function(){return Di(this.kB)}; -C.prototype.set_m_collisionFilterMask=C.prototype.qB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ei(c,a)};Object.defineProperty(C.prototype,"m_collisionFilterMask",{get:C.prototype.oB,set:C.prototype.qB});C.prototype.get_m_closestHitFraction=C.prototype.rB=function(){return Fi(this.kB)};C.prototype.set_m_closestHitFraction=C.prototype.sB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Gi(c,a)};Object.defineProperty(C.prototype,"m_closestHitFraction",{get:C.prototype.rB,set:C.prototype.sB}); -C.prototype.get_m_collisionObject=C.prototype.vB=function(){return k(Hi(this.kB),q)};C.prototype.set_m_collisionObject=C.prototype.CB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ii(c,a)};Object.defineProperty(C.prototype,"m_collisionObject",{get:C.prototype.vB,set:C.prototype.CB});C.prototype.get_m_flags=C.prototype.tB=function(){return Ji(this.kB)};C.prototype.set_m_flags=C.prototype.uB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ki(c,a)}; -Object.defineProperty(C.prototype,"m_flags",{get:C.prototype.tB,set:C.prototype.uB});C.prototype.__destroy__=function(){Li(this.kB)};function yE(){throw"cannot construct a btConstCollisionObjectArray, no constructor in IDL";}yE.prototype=Object.create(f.prototype);yE.prototype.constructor=yE;yE.prototype.lB=yE;yE.mB={};b.btConstCollisionObjectArray=yE;yE.prototype.size=yE.prototype.size=function(){return Mi(this.kB)}; -yE.prototype.at=yE.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Ni(c,a),q)};yE.prototype.__destroy__=function(){Oi(this.kB)};function zE(){throw"cannot construct a btScalarArray, no constructor in IDL";}zE.prototype=Object.create(f.prototype);zE.prototype.constructor=zE;zE.prototype.lB=zE;zE.mB={};b.btScalarArray=zE;zE.prototype.size=zE.prototype.size=function(){return Pi(this.kB)}; -zE.prototype.at=zE.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return Qi(c,a)};zE.prototype.__destroy__=function(){Ri(this.kB)};function D(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=Si(a,c);h(D)[this.kB]=this}D.prototype=Object.create(u.prototype);D.prototype.constructor=D;D.prototype.lB=D;D.mB={};b.AllHitsRayResultCallback=D;D.prototype.hasHit=function(){return!!Ti(this.kB)}; -D.prototype.get_m_collisionObjects=D.prototype.UC=function(){return k(Ui(this.kB),yE)};D.prototype.set_m_collisionObjects=D.prototype.LF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vi(c,a)};Object.defineProperty(D.prototype,"m_collisionObjects",{get:D.prototype.UC,set:D.prototype.LF});D.prototype.get_m_rayFromWorld=D.prototype.NB=function(){return k(Wi(this.kB),m)};D.prototype.set_m_rayFromWorld=D.prototype.XB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Xi(c,a)}; -Object.defineProperty(D.prototype,"m_rayFromWorld",{get:D.prototype.NB,set:D.prototype.XB});D.prototype.get_m_rayToWorld=D.prototype.OB=function(){return k(Yi(this.kB),m)};D.prototype.set_m_rayToWorld=D.prototype.YB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zi(c,a)};Object.defineProperty(D.prototype,"m_rayToWorld",{get:D.prototype.OB,set:D.prototype.YB});D.prototype.get_m_hitNormalWorld=D.prototype.xB=function(){return k($i(this.kB),AE)}; -D.prototype.set_m_hitNormalWorld=D.prototype.EB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);aj(c,a)};Object.defineProperty(D.prototype,"m_hitNormalWorld",{get:D.prototype.xB,set:D.prototype.EB});D.prototype.get_m_hitPointWorld=D.prototype.yB=function(){return k(bj(this.kB),AE)};D.prototype.set_m_hitPointWorld=D.prototype.FB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);cj(c,a)};Object.defineProperty(D.prototype,"m_hitPointWorld",{get:D.prototype.yB,set:D.prototype.FB}); -D.prototype.get_m_hitFractions=D.prototype.qD=function(){return k(dj(this.kB),zE)};D.prototype.set_m_hitFractions=D.prototype.hG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ej(c,a)};Object.defineProperty(D.prototype,"m_hitFractions",{get:D.prototype.qD,set:D.prototype.hG});D.prototype.get_m_collisionFilterGroup=D.prototype.nB=function(){return fj(this.kB)};D.prototype.set_m_collisionFilterGroup=D.prototype.pB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);gj(c,a)}; -Object.defineProperty(D.prototype,"m_collisionFilterGroup",{get:D.prototype.nB,set:D.prototype.pB});D.prototype.get_m_collisionFilterMask=D.prototype.oB=function(){return hj(this.kB)};D.prototype.set_m_collisionFilterMask=D.prototype.qB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ij(c,a)};Object.defineProperty(D.prototype,"m_collisionFilterMask",{get:D.prototype.oB,set:D.prototype.qB});D.prototype.get_m_closestHitFraction=D.prototype.rB=function(){return jj(this.kB)}; -D.prototype.set_m_closestHitFraction=D.prototype.sB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kj(c,a)};Object.defineProperty(D.prototype,"m_closestHitFraction",{get:D.prototype.rB,set:D.prototype.sB});D.prototype.get_m_collisionObject=D.prototype.vB=function(){return k(lj(this.kB),q)};D.prototype.set_m_collisionObject=D.prototype.CB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);mj(c,a)};Object.defineProperty(D.prototype,"m_collisionObject",{get:D.prototype.vB,set:D.prototype.CB}); -D.prototype.get_m_flags=D.prototype.tB=function(){return nj(this.kB)};D.prototype.set_m_flags=D.prototype.uB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);oj(c,a)};Object.defineProperty(D.prototype,"m_flags",{get:D.prototype.tB,set:D.prototype.uB});D.prototype.__destroy__=function(){pj(this.kB)};function E(){throw"cannot construct a btManifoldPoint, no constructor in IDL";}E.prototype=Object.create(f.prototype);E.prototype.constructor=E;E.prototype.lB=E;E.mB={};b.btManifoldPoint=E; -E.prototype.getPositionWorldOnA=function(){return k(qj(this.kB),m)};E.prototype.getPositionWorldOnB=function(){return k(rj(this.kB),m)};E.prototype.getAppliedImpulse=function(){return sj(this.kB)};E.prototype.getDistance=function(){return tj(this.kB)};E.prototype.get_m_localPointA=E.prototype.GD=function(){return k(uj(this.kB),m)};E.prototype.set_m_localPointA=E.prototype.xG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vj(c,a)}; -Object.defineProperty(E.prototype,"m_localPointA",{get:E.prototype.GD,set:E.prototype.xG});E.prototype.get_m_localPointB=E.prototype.HD=function(){return k(wj(this.kB),m)};E.prototype.set_m_localPointB=E.prototype.yG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xj(c,a)};Object.defineProperty(E.prototype,"m_localPointB",{get:E.prototype.HD,set:E.prototype.yG});E.prototype.get_m_positionWorldOnB=E.prototype.YD=function(){return k(yj(this.kB),m)}; -E.prototype.set_m_positionWorldOnB=E.prototype.PG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zj(c,a)};Object.defineProperty(E.prototype,"m_positionWorldOnB",{get:E.prototype.YD,set:E.prototype.PG});E.prototype.get_m_positionWorldOnA=E.prototype.XD=function(){return k(Aj(this.kB),m)};E.prototype.set_m_positionWorldOnA=E.prototype.OG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Bj(c,a)};Object.defineProperty(E.prototype,"m_positionWorldOnA",{get:E.prototype.XD,set:E.prototype.OG}); -E.prototype.get_m_normalWorldOnB=E.prototype.SD=function(){return k(Cj(this.kB),m)};E.prototype.set_m_normalWorldOnB=E.prototype.JG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dj(c,a)};Object.defineProperty(E.prototype,"m_normalWorldOnB",{get:E.prototype.SD,set:E.prototype.JG});E.prototype.get_m_userPersistentData=E.prototype.zE=function(){return Ej(this.kB)};E.prototype.set_m_userPersistentData=E.prototype.rH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Fj(c,a)}; -Object.defineProperty(E.prototype,"m_userPersistentData",{get:E.prototype.zE,set:E.prototype.rH});E.prototype.__destroy__=function(){Gj(this.kB)};function BE(){this.kB=Hj();h(BE)[this.kB]=this}BE.prototype=Object.create(eE.prototype);BE.prototype.constructor=BE;BE.prototype.lB=BE;BE.mB={};b.ConcreteContactResultCallback=BE; -BE.prototype.addSingleResult=function(a,c,d,e,g,n,z){var T=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);n&&"object"===typeof n&&(n=n.kB);z&&"object"===typeof z&&(z=z.kB);return Ij(T,a,c,d,e,g,n,z)};BE.prototype.__destroy__=function(){Jj(this.kB)};function CE(){throw"cannot construct a LocalShapeInfo, no constructor in IDL";}CE.prototype=Object.create(f.prototype); -CE.prototype.constructor=CE;CE.prototype.lB=CE;CE.mB={};b.LocalShapeInfo=CE;CE.prototype.get_m_shapePart=CE.prototype.gE=function(){return Kj(this.kB)};CE.prototype.set_m_shapePart=CE.prototype.ZG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lj(c,a)};Object.defineProperty(CE.prototype,"m_shapePart",{get:CE.prototype.gE,set:CE.prototype.ZG});CE.prototype.get_m_triangleIndex=CE.prototype.vE=function(){return Mj(this.kB)}; -CE.prototype.set_m_triangleIndex=CE.prototype.nH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nj(c,a)};Object.defineProperty(CE.prototype,"m_triangleIndex",{get:CE.prototype.vE,set:CE.prototype.nH});CE.prototype.__destroy__=function(){Oj(this.kB)};function F(a,c,d,e,g){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);this.kB=Pj(a,c,d,e,g);h(F)[this.kB]=this} -F.prototype=Object.create(f.prototype);F.prototype.constructor=F;F.prototype.lB=F;F.mB={};b.LocalConvexResult=F;F.prototype.get_m_hitCollisionObject=F.prototype.LB=function(){return k(Qj(this.kB),q)};F.prototype.set_m_hitCollisionObject=F.prototype.VB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Rj(c,a)};Object.defineProperty(F.prototype,"m_hitCollisionObject",{get:F.prototype.LB,set:F.prototype.VB});F.prototype.get_m_localShapeInfo=F.prototype.ID=function(){return k(Sj(this.kB),CE)}; -F.prototype.set_m_localShapeInfo=F.prototype.zG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Tj(c,a)};Object.defineProperty(F.prototype,"m_localShapeInfo",{get:F.prototype.ID,set:F.prototype.zG});F.prototype.get_m_hitNormalLocal=F.prototype.sD=function(){return k(Uj(this.kB),m)};F.prototype.set_m_hitNormalLocal=F.prototype.jG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vj(c,a)};Object.defineProperty(F.prototype,"m_hitNormalLocal",{get:F.prototype.sD,set:F.prototype.jG}); -F.prototype.get_m_hitPointLocal=F.prototype.uD=function(){return k(Wj(this.kB),m)};F.prototype.set_m_hitPointLocal=F.prototype.lG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Xj(c,a)};Object.defineProperty(F.prototype,"m_hitPointLocal",{get:F.prototype.uD,set:F.prototype.lG});F.prototype.get_m_hitFraction=F.prototype.pD=function(){return Yj(this.kB)};F.prototype.set_m_hitFraction=F.prototype.gG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zj(c,a)}; -Object.defineProperty(F.prototype,"m_hitFraction",{get:F.prototype.pD,set:F.prototype.gG});F.prototype.__destroy__=function(){ak(this.kB)};function G(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=bk(a,c);h(G)[this.kB]=this}G.prototype=Object.create(v.prototype);G.prototype.constructor=G;G.prototype.lB=G;G.mB={};b.ClosestConvexResultCallback=G;G.prototype.hasHit=function(){return!!ck(this.kB)}; -G.prototype.get_m_hitCollisionObject=G.prototype.LB=function(){return k(dk(this.kB),q)};G.prototype.set_m_hitCollisionObject=G.prototype.VB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ek(c,a)};Object.defineProperty(G.prototype,"m_hitCollisionObject",{get:G.prototype.LB,set:G.prototype.VB});G.prototype.get_m_convexFromWorld=G.prototype.ZC=function(){return k(fk(this.kB),m)}; -G.prototype.set_m_convexFromWorld=G.prototype.QF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);gk(c,a)};Object.defineProperty(G.prototype,"m_convexFromWorld",{get:G.prototype.ZC,set:G.prototype.QF});G.prototype.get_m_convexToWorld=G.prototype.$C=function(){return k(hk(this.kB),m)};G.prototype.set_m_convexToWorld=G.prototype.RF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ik(c,a)};Object.defineProperty(G.prototype,"m_convexToWorld",{get:G.prototype.$C,set:G.prototype.RF}); -G.prototype.get_m_hitNormalWorld=G.prototype.xB=function(){return k(jk(this.kB),m)};G.prototype.set_m_hitNormalWorld=G.prototype.EB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kk(c,a)};Object.defineProperty(G.prototype,"m_hitNormalWorld",{get:G.prototype.xB,set:G.prototype.EB});G.prototype.get_m_hitPointWorld=G.prototype.yB=function(){return k(lk(this.kB),m)};G.prototype.set_m_hitPointWorld=G.prototype.FB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);mk(c,a)}; -Object.defineProperty(G.prototype,"m_hitPointWorld",{get:G.prototype.yB,set:G.prototype.FB});G.prototype.get_m_collisionFilterGroup=G.prototype.nB=function(){return nk(this.kB)};G.prototype.set_m_collisionFilterGroup=G.prototype.pB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ok(c,a)};Object.defineProperty(G.prototype,"m_collisionFilterGroup",{get:G.prototype.nB,set:G.prototype.pB});G.prototype.get_m_collisionFilterMask=G.prototype.oB=function(){return pk(this.kB)}; -G.prototype.set_m_collisionFilterMask=G.prototype.qB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);qk(c,a)};Object.defineProperty(G.prototype,"m_collisionFilterMask",{get:G.prototype.oB,set:G.prototype.qB});G.prototype.get_m_closestHitFraction=G.prototype.rB=function(){return rk(this.kB)};G.prototype.set_m_closestHitFraction=G.prototype.sB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);sk(c,a)};Object.defineProperty(G.prototype,"m_closestHitFraction",{get:G.prototype.rB,set:G.prototype.sB}); -G.prototype.__destroy__=function(){tk(this.kB)};function DE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=void 0===c?uk(a):vk(a,c);h(DE)[this.kB]=this}DE.prototype=Object.create(fE.prototype);DE.prototype.constructor=DE;DE.prototype.lB=DE;DE.mB={};b.btConvexTriangleMeshShape=DE;DE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wk(c,a)};DE.prototype.getLocalScaling=function(){return k(xk(this.kB),m)}; -DE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);yk(d,a,c)};DE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zk(c,a)};DE.prototype.getMargin=function(){return Ak(this.kB)};DE.prototype.__destroy__=function(){Bk(this.kB)};function EE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=Ck(a);h(EE)[this.kB]=this}EE.prototype=Object.create(l.prototype);EE.prototype.constructor=EE;EE.prototype.lB=EE; -EE.mB={};b.btBoxShape=EE;EE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dk(c,a)};EE.prototype.getMargin=function(){return Ek(this.kB)};EE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Fk(c,a)};EE.prototype.getLocalScaling=function(){return k(Gk(this.kB),m)};EE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Hk(d,a,c)};EE.prototype.__destroy__=function(){Ik(this.kB)}; -function FE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=Jk(a,c);h(FE)[this.kB]=this}FE.prototype=Object.create(gE.prototype);FE.prototype.constructor=FE;FE.prototype.lB=FE;FE.mB={};b.btCapsuleShapeX=FE;FE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kk(c,a)};FE.prototype.getMargin=function(){return Lk(this.kB)};FE.prototype.getUpAxis=function(){return Mk(this.kB)};FE.prototype.getRadius=function(){return Nk(this.kB)}; -FE.prototype.getHalfHeight=function(){return Ok(this.kB)};FE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pk(c,a)};FE.prototype.getLocalScaling=function(){return k(Qk(this.kB),m)};FE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Rk(d,a,c)};FE.prototype.__destroy__=function(){Sk(this.kB)}; -function GE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=Tk(a,c);h(GE)[this.kB]=this}GE.prototype=Object.create(gE.prototype);GE.prototype.constructor=GE;GE.prototype.lB=GE;GE.mB={};b.btCapsuleShapeZ=GE;GE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Uk(c,a)};GE.prototype.getMargin=function(){return Vk(this.kB)};GE.prototype.getUpAxis=function(){return Wk(this.kB)};GE.prototype.getRadius=function(){return Xk(this.kB)}; -GE.prototype.getHalfHeight=function(){return Yk(this.kB)};GE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zk(c,a)};GE.prototype.getLocalScaling=function(){return k($k(this.kB),m)};GE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);al(d,a,c)};GE.prototype.__destroy__=function(){bl(this.kB)};function HE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=cl(a);h(HE)[this.kB]=this} -HE.prototype=Object.create(hE.prototype);HE.prototype.constructor=HE;HE.prototype.lB=HE;HE.mB={};b.btCylinderShapeX=HE;HE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);dl(c,a)};HE.prototype.getMargin=function(){return el(this.kB)};HE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fl(c,a)};HE.prototype.getLocalScaling=function(){return k(gl(this.kB),m)}; -HE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);hl(d,a,c)};HE.prototype.__destroy__=function(){il(this.kB)};function IE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=jl(a);h(IE)[this.kB]=this}IE.prototype=Object.create(hE.prototype);IE.prototype.constructor=IE;IE.prototype.lB=IE;IE.mB={};b.btCylinderShapeZ=IE;IE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kl(c,a)}; -IE.prototype.getMargin=function(){return ll(this.kB)};IE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ml(c,a)};IE.prototype.getLocalScaling=function(){return k(nl(this.kB),m)};IE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);ol(d,a,c)};IE.prototype.__destroy__=function(){pl(this.kB)};function JE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=ql(a);h(JE)[this.kB]=this}JE.prototype=Object.create(l.prototype); -JE.prototype.constructor=JE;JE.prototype.lB=JE;JE.mB={};b.btSphereShape=JE;JE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);rl(c,a)};JE.prototype.getMargin=function(){return sl(this.kB)};JE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);tl(c,a)};JE.prototype.getLocalScaling=function(){return k(ul(this.kB),m)}; -JE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);vl(d,a,c)};JE.prototype.__destroy__=function(){wl(this.kB)};function KE(a,c,d){ND();a&&"object"===typeof a&&(a=a.kB);"object"==typeof c&&(c=RD(c));d&&"object"===typeof d&&(d=d.kB);this.kB=xl(a,c,d);h(KE)[this.kB]=this}KE.prototype=Object.create(l.prototype);KE.prototype.constructor=KE;KE.prototype.lB=KE;KE.mB={};b.btMultiSphereShape=KE; -KE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yl(c,a)};KE.prototype.getLocalScaling=function(){return k(zl(this.kB),m)};KE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Al(d,a,c)};KE.prototype.__destroy__=function(){Bl(this.kB)};function LE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=Cl(a,c);h(LE)[this.kB]=this}LE.prototype=Object.create(iE.prototype); -LE.prototype.constructor=LE;LE.prototype.lB=LE;LE.mB={};b.btConeShapeX=LE;LE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dl(c,a)};LE.prototype.getLocalScaling=function(){return k(El(this.kB),m)};LE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Fl(d,a,c)};LE.prototype.__destroy__=function(){Gl(this.kB)}; -function ME(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=Hl(a,c);h(ME)[this.kB]=this}ME.prototype=Object.create(iE.prototype);ME.prototype.constructor=ME;ME.prototype.lB=ME;ME.mB={};b.btConeShapeZ=ME;ME.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Il(c,a)};ME.prototype.getLocalScaling=function(){return k(Jl(this.kB),m)}; -ME.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Kl(d,a,c)};ME.prototype.__destroy__=function(){Ll(this.kB)};function NE(){throw"cannot construct a btIntArray, no constructor in IDL";}NE.prototype=Object.create(f.prototype);NE.prototype.constructor=NE;NE.prototype.lB=NE;NE.mB={};b.btIntArray=NE;NE.prototype.size=NE.prototype.size=function(){return Ml(this.kB)}; -NE.prototype.at=NE.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return Nl(c,a)};NE.prototype.__destroy__=function(){Ol(this.kB)};function OE(){throw"cannot construct a btFace, no constructor in IDL";}OE.prototype=Object.create(f.prototype);OE.prototype.constructor=OE;OE.prototype.lB=OE;OE.mB={};b.btFace=OE;OE.prototype.get_m_indices=OE.prototype.xD=function(){return k(Pl(this.kB),NE)}; -OE.prototype.set_m_indices=OE.prototype.oG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ql(c,a)};Object.defineProperty(OE.prototype,"m_indices",{get:OE.prototype.xD,set:OE.prototype.oG});OE.prototype.get_m_plane=OE.prototype.WD=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return Rl(c,a)};OE.prototype.set_m_plane=OE.prototype.NG=function(a,c){var d=this.kB;ND();a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Sl(d,a,c)}; -Object.defineProperty(OE.prototype,"m_plane",{get:OE.prototype.WD,set:OE.prototype.NG});OE.prototype.__destroy__=function(){Tl(this.kB)};function AE(){throw"cannot construct a btVector3Array, no constructor in IDL";}AE.prototype=Object.create(f.prototype);AE.prototype.constructor=AE;AE.prototype.lB=AE;AE.mB={};b.btVector3Array=AE;AE.prototype.size=AE.prototype.size=function(){return Ul(this.kB)}; -AE.prototype.at=AE.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Vl(c,a),m)};AE.prototype.__destroy__=function(){Wl(this.kB)};function PE(){throw"cannot construct a btFaceArray, no constructor in IDL";}PE.prototype=Object.create(f.prototype);PE.prototype.constructor=PE;PE.prototype.lB=PE;PE.mB={};b.btFaceArray=PE;PE.prototype.size=PE.prototype.size=function(){return Xl(this.kB)}; -PE.prototype.at=PE.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Yl(c,a),OE)};PE.prototype.__destroy__=function(){Zl(this.kB)};function QE(){throw"cannot construct a btConvexPolyhedron, no constructor in IDL";}QE.prototype=Object.create(f.prototype);QE.prototype.constructor=QE;QE.prototype.lB=QE;QE.mB={};b.btConvexPolyhedron=QE;QE.prototype.get_m_vertices=QE.prototype.BE=function(){return k($l(this.kB),AE)}; -QE.prototype.set_m_vertices=QE.prototype.tH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);am(c,a)};Object.defineProperty(QE.prototype,"m_vertices",{get:QE.prototype.BE,set:QE.prototype.tH});QE.prototype.get_m_faces=QE.prototype.KB=function(){return k(bm(this.kB),PE)};QE.prototype.set_m_faces=QE.prototype.UB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);cm(c,a)};Object.defineProperty(QE.prototype,"m_faces",{get:QE.prototype.KB,set:QE.prototype.UB}); -QE.prototype.__destroy__=function(){dm(this.kB)};function RE(a,c){ND();"object"==typeof a&&(a=RD(a));c&&"object"===typeof c&&(c=c.kB);this.kB=void 0===a?em():void 0===c?fm(a):gm(a,c);h(RE)[this.kB]=this}RE.prototype=Object.create(l.prototype);RE.prototype.constructor=RE;RE.prototype.lB=RE;RE.mB={};b.btConvexHullShape=RE;RE.prototype.addPoint=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);void 0===c?hm(d,a):im(d,a,c)}; -RE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jm(c,a)};RE.prototype.getMargin=function(){return km(this.kB)};RE.prototype.getNumVertices=function(){return lm(this.kB)};RE.prototype.initializePolyhedralFeatures=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return!!mm(c,a)};RE.prototype.recalcLocalAabb=function(){nm(this.kB)};RE.prototype.getConvexPolyhedron=function(){return k(om(this.kB),QE)}; -RE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pm(c,a)};RE.prototype.getLocalScaling=function(){return k(qm(this.kB),m)};RE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);rm(d,a,c)};RE.prototype.__destroy__=function(){sm(this.kB)};function SE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=tm(a);h(SE)[this.kB]=this}SE.prototype=Object.create(f.prototype);SE.prototype.constructor=SE; -SE.prototype.lB=SE;SE.mB={};b.btShapeHull=SE;SE.prototype.buildHull=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return!!um(c,a)};SE.prototype.numVertices=function(){return wm(this.kB)};SE.prototype.getVertexPointer=function(){return k(xm(this.kB),m)};SE.prototype.__destroy__=function(){ym(this.kB)};function TE(a){a&&"object"===typeof a&&(a=a.kB);this.kB=void 0===a?zm():Am(a);h(TE)[this.kB]=this}TE.prototype=Object.create(l.prototype);TE.prototype.constructor=TE;TE.prototype.lB=TE; -TE.mB={};b.btCompoundShape=TE;TE.prototype.addChildShape=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Bm(d,a,c)};TE.prototype.removeChildShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Cm(c,a)};TE.prototype.removeChildShapeByIndex=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dm(c,a)};TE.prototype.getNumChildShapes=function(){return Em(this.kB)}; -TE.prototype.getChildShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Fm(c,a),l)};TE.prototype.updateChildTransform=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===d?Gm(e,a,c):Hm(e,a,c,d)};TE.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Im(c,a)};TE.prototype.getMargin=function(){return Jm(this.kB)}; -TE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Km(c,a)};TE.prototype.getLocalScaling=function(){return k(Lm(this.kB),m)};TE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Mm(d,a,c)};TE.prototype.__destroy__=function(){Nm(this.kB)};function UE(){throw"cannot construct a btIndexedMesh, no constructor in IDL";}UE.prototype=Object.create(f.prototype);UE.prototype.constructor=UE; -UE.prototype.lB=UE;UE.mB={};b.btIndexedMesh=UE;UE.prototype.get_m_numTriangles=UE.prototype.UD=function(){return Om(this.kB)};UE.prototype.set_m_numTriangles=UE.prototype.LG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pm(c,a)};Object.defineProperty(UE.prototype,"m_numTriangles",{get:UE.prototype.UD,set:UE.prototype.LG});UE.prototype.__destroy__=function(){Qm(this.kB)};function VE(){throw"cannot construct a btIndexedMeshArray, no constructor in IDL";}VE.prototype=Object.create(f.prototype); -VE.prototype.constructor=VE;VE.prototype.lB=VE;VE.mB={};b.btIndexedMeshArray=VE;VE.prototype.size=VE.prototype.size=function(){return Rm(this.kB)};VE.prototype.at=VE.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Sm(c,a),UE)};VE.prototype.__destroy__=function(){Tm(this.kB)};function WE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=void 0===a?Um():void 0===c?Vm(a):Wm(a,c);h(WE)[this.kB]=this}WE.prototype=Object.create(jE.prototype); -WE.prototype.constructor=WE;WE.prototype.lB=WE;WE.mB={};b.btTriangleMesh=WE;WE.prototype.addTriangle=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);void 0===e?Xm(g,a,c,d):Ym(g,a,c,d,e)};WE.prototype.findOrAddVertex=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return Zm(d,a,c)}; -WE.prototype.addIndex=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$m(c,a)};WE.prototype.getIndexedMeshArray=function(){return k(an(this.kB),VE)};WE.prototype.setScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);bn(c,a)};WE.prototype.__destroy__=function(){cn(this.kB)};function XE(){this.kB=dn();h(XE)[this.kB]=this}XE.prototype=Object.create(ZD.prototype);XE.prototype.constructor=XE;XE.prototype.lB=XE;XE.mB={};b.btEmptyShape=XE; -XE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);en(c,a)};XE.prototype.getLocalScaling=function(){return k(fn(this.kB),m)};XE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);gn(d,a,c)};XE.prototype.__destroy__=function(){hn(this.kB)};function YE(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=jn(a,c);h(YE)[this.kB]=this}YE.prototype=Object.create(ZD.prototype); -YE.prototype.constructor=YE;YE.prototype.lB=YE;YE.mB={};b.btStaticPlaneShape=YE;YE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kn(c,a)};YE.prototype.getLocalScaling=function(){return k(ln(this.kB),m)};YE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);mn(d,a,c)};YE.prototype.__destroy__=function(){nn(this.kB)}; -function ZE(a,c,d){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);this.kB=void 0===d?on(a,c):pn(a,c,d);h(ZE)[this.kB]=this}ZE.prototype=Object.create(kE.prototype);ZE.prototype.constructor=ZE;ZE.prototype.lB=ZE;ZE.mB={};b.btBvhTriangleMeshShape=ZE;ZE.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);qn(c,a)};ZE.prototype.getLocalScaling=function(){return k(rn(this.kB),m)}; -ZE.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);sn(d,a,c)};ZE.prototype.__destroy__=function(){tn(this.kB)}; -function $E(a,c,d,e,g,n,z,T,Da){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);n&&"object"===typeof n&&(n=n.kB);z&&"object"===typeof z&&(z=z.kB);T&&"object"===typeof T&&(T=T.kB);Da&&"object"===typeof Da&&(Da=Da.kB);this.kB=un(a,c,d,e,g,n,z,T,Da);h($E)[this.kB]=this}$E.prototype=Object.create(ZD.prototype);$E.prototype.constructor=$E;$E.prototype.lB=$E;$E.mB={}; -b.btHeightfieldTerrainShape=$E;$E.prototype.setMargin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vn(c,a)};$E.prototype.getMargin=function(){return wn(this.kB)};$E.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xn(c,a)};$E.prototype.getLocalScaling=function(){return k(yn(this.kB),m)};$E.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);zn(d,a,c)}; -$E.prototype.__destroy__=function(){An(this.kB)};function aF(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=Bn(a,c,d,e);h(aF)[this.kB]=this}aF.prototype=Object.create(f.prototype);aF.prototype.constructor=aF;aF.prototype.lB=aF;aF.mB={};b.btAABB=aF;aF.prototype.invalidate=function(){Cn(this.kB)};aF.prototype.increment_margin=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dn(c,a)}; -aF.prototype.copy_with_margin=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);En(d,a,c)};aF.prototype.__destroy__=function(){Fn(this.kB)};function bF(){this.kB=Gn();h(bF)[this.kB]=this}bF.prototype=Object.create(f.prototype);bF.prototype.constructor=bF;bF.prototype.lB=bF;bF.mB={};b.btPrimitiveTriangle=bF;bF.prototype.__destroy__=function(){Hn(this.kB)}; -function cF(a,c,d){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);this.kB=In(a,c,d);h(cF)[this.kB]=this}cF.prototype=Object.create(f.prototype);cF.prototype.constructor=cF;cF.prototype.lB=cF;cF.mB={};b.btTriangleShapeEx=cF;cF.prototype.getAabb=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Jn(e,a,c,d)}; -cF.prototype.applyTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kn(c,a)};cF.prototype.buildTriPlane=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ln(c,a)};cF.prototype.__destroy__=function(){Mn(this.kB)};function dF(){this.kB=Nn();h(dF)[this.kB]=this}dF.prototype=Object.create(f.prototype);dF.prototype.constructor=dF;dF.prototype.lB=dF;dF.mB={};b.btTetrahedronShapeEx=dF; -dF.prototype.setVertices=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);On(g,a,c,d,e)};dF.prototype.__destroy__=function(){Pn(this.kB)};function eF(){throw"cannot construct a CompoundPrimitiveManager, no constructor in IDL";}eF.prototype=Object.create(lE.prototype);eF.prototype.constructor=eF;eF.prototype.lB=eF;eF.mB={};b.CompoundPrimitiveManager=eF; -eF.prototype.get_primitive_count=function(){return Qn(this.kB)};eF.prototype.get_primitive_box=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Rn(d,a,c)};eF.prototype.get_primitive_triangle=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Sn(d,a,c)};eF.prototype.is_trimesh=function(){return!!Tn(this.kB)};eF.prototype.get_m_compoundShape=eF.prototype.VC=function(){return k(Un(this.kB),H)}; -eF.prototype.set_m_compoundShape=eF.prototype.MF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vn(c,a)};Object.defineProperty(eF.prototype,"m_compoundShape",{get:eF.prototype.VC,set:eF.prototype.MF});eF.prototype.__destroy__=function(){Wn(this.kB)};function H(a){a&&"object"===typeof a&&(a=a.kB);this.kB=void 0===a?Xn():Yn(a);h(H)[this.kB]=this}H.prototype=Object.create(w.prototype);H.prototype.constructor=H;H.prototype.lB=H;H.mB={};b.btGImpactCompoundShape=H; -H.prototype.childrenHasTransform=function(){return!!Zn(this.kB)};H.prototype.getPrimitiveManager=function(){return k($n(this.kB),lE)};H.prototype.getCompoundPrimitiveManager=function(){return k(ao(this.kB),eF)};H.prototype.getNumChildShapes=function(){return bo(this.kB)};H.prototype.addChildShape=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);co(d,a,c)}; -H.prototype.getChildShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(eo(c,a),l)};H.prototype.getChildAabb=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);fo(g,a,c,d,e)};H.prototype.getChildTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(go(c,a),r)}; -H.prototype.setChildTransform=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);ho(d,a,c)};H.prototype.calculateLocalInertia=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);io(d,a,c)};H.prototype.getName=function(){return sa(jo(this.kB))};H.prototype.getGImpactShapeType=function(){return ko(this.kB)};H.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);lo(c,a)}; -H.prototype.getLocalScaling=function(){return k(mo(this.kB),m)};H.prototype.updateBound=function(){no(this.kB)};H.prototype.postUpdate=function(){oo(this.kB)};H.prototype.getShapeType=function(){return po(this.kB)};H.prototype.needsRetrieveTriangles=function(){return!!qo(this.kB)};H.prototype.needsRetrieveTetrahedrons=function(){return!!ro(this.kB)};H.prototype.getBulletTriangle=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);so(d,a,c)}; -H.prototype.getBulletTetrahedron=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);to(d,a,c)};H.prototype.__destroy__=function(){uo(this.kB)};function I(a){a&&"object"===typeof a&&(a=a.kB);this.kB=void 0===a?vo():wo(a);h(I)[this.kB]=this}I.prototype=Object.create(lE.prototype);I.prototype.constructor=I;I.prototype.lB=I;I.mB={};b.TrimeshPrimitiveManager=I;I.prototype.lock=I.prototype.lock=function(){xo(this.kB)};I.prototype.unlock=I.prototype.unlock=function(){yo(this.kB)}; -I.prototype.is_trimesh=function(){return!!zo(this.kB)};I.prototype.get_vertex_count=function(){return Ao(this.kB)};I.prototype.get_indices=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);Bo(g,a,c,d,e)};I.prototype.get_vertex=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Co(d,a,c)}; -I.prototype.get_bullet_triangle=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Do(d,a,c)};I.prototype.get_m_margin=I.prototype.LD=function(){return Eo(this.kB)};I.prototype.set_m_margin=I.prototype.CG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Fo(c,a)};Object.defineProperty(I.prototype,"m_margin",{get:I.prototype.LD,set:I.prototype.CG});I.prototype.get_m_meshInterface=I.prototype.OD=function(){return k(Go(this.kB),jE)}; -I.prototype.set_m_meshInterface=I.prototype.FG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ho(c,a)};Object.defineProperty(I.prototype,"m_meshInterface",{get:I.prototype.OD,set:I.prototype.FG});I.prototype.get_m_part=I.prototype.VD=function(){return Io(this.kB)};I.prototype.set_m_part=I.prototype.MG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jo(c,a)};Object.defineProperty(I.prototype,"m_part",{get:I.prototype.VD,set:I.prototype.MG}); -I.prototype.get_m_lock_count=I.prototype.JD=function(){return Ko(this.kB)};I.prototype.set_m_lock_count=I.prototype.AG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lo(c,a)};Object.defineProperty(I.prototype,"m_lock_count",{get:I.prototype.JD,set:I.prototype.AG});I.prototype.get_numverts=I.prototype.LE=function(){return Mo(this.kB)};I.prototype.set_numverts=I.prototype.DH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);No(c,a)}; -Object.defineProperty(I.prototype,"numverts",{get:I.prototype.LE,set:I.prototype.DH});I.prototype.get_type=I.prototype.PE=function(){return Oo(this.kB)};I.prototype.set_type=I.prototype.HH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Po(c,a)};Object.defineProperty(I.prototype,"type",{get:I.prototype.PE,set:I.prototype.HH});I.prototype.get_stride=I.prototype.NE=function(){return Qo(this.kB)}; -I.prototype.set_stride=I.prototype.FH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ro(c,a)};Object.defineProperty(I.prototype,"stride",{get:I.prototype.NE,set:I.prototype.FH});I.prototype.get_indexstride=I.prototype.gC=function(){return So(this.kB)};I.prototype.set_indexstride=I.prototype.YE=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);To(c,a)};Object.defineProperty(I.prototype,"indexstride",{get:I.prototype.gC,set:I.prototype.YE}); -I.prototype.get_numfaces=I.prototype.KE=function(){return Uo(this.kB)};I.prototype.set_numfaces=I.prototype.CH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vo(c,a)};Object.defineProperty(I.prototype,"numfaces",{get:I.prototype.KE,set:I.prototype.CH});I.prototype.get_indicestype=I.prototype.hC=function(){return Wo(this.kB)};I.prototype.set_indicestype=I.prototype.ZE=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Xo(c,a)}; -Object.defineProperty(I.prototype,"indicestype",{get:I.prototype.hC,set:I.prototype.ZE});I.prototype.__destroy__=function(){Yo(this.kB)};function fF(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=Zo(a,c);h(fF)[this.kB]=this}fF.prototype=Object.create(w.prototype);fF.prototype.constructor=fF;fF.prototype.lB=fF;fF.mB={};b.btGImpactMeshShapePart=fF;fF.prototype.getTrimeshPrimitiveManager=function(){return k($o(this.kB),I)};fF.prototype.getVertexCount=function(){return ap(this.kB)}; -fF.prototype.getVertex=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);bp(d,a,c)};fF.prototype.getPart=function(){return cp(this.kB)};fF.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);dp(c,a)};fF.prototype.getLocalScaling=function(){return k(ep(this.kB),m)};fF.prototype.updateBound=function(){fp(this.kB)};fF.prototype.postUpdate=function(){gp(this.kB)};fF.prototype.getShapeType=function(){return hp(this.kB)}; -fF.prototype.needsRetrieveTriangles=function(){return!!ip(this.kB)};fF.prototype.needsRetrieveTetrahedrons=function(){return!!jp(this.kB)};fF.prototype.getBulletTriangle=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);kp(d,a,c)};fF.prototype.getBulletTetrahedron=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);lp(d,a,c)};fF.prototype.__destroy__=function(){mp(this.kB)}; -function gF(a){a&&"object"===typeof a&&(a=a.kB);this.kB=np(a);h(gF)[this.kB]=this}gF.prototype=Object.create(w.prototype);gF.prototype.constructor=gF;gF.prototype.lB=gF;gF.mB={};b.btGImpactMeshShape=gF;gF.prototype.getMeshInterface=function(){return k(op(this.kB),jE)};gF.prototype.getMeshPartCount=function(){return pp(this.kB)};gF.prototype.getMeshPart=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(qp(c,a),fF)};gF.prototype.calculateSerializeBufferSize=function(){return rp(this.kB)}; -gF.prototype.setLocalScaling=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);sp(c,a)};gF.prototype.getLocalScaling=function(){return k(tp(this.kB),m)};gF.prototype.updateBound=function(){up(this.kB)};gF.prototype.postUpdate=function(){vp(this.kB)};gF.prototype.getShapeType=function(){return wp(this.kB)};gF.prototype.needsRetrieveTriangles=function(){return!!xp(this.kB)};gF.prototype.needsRetrieveTetrahedrons=function(){return!!yp(this.kB)}; -gF.prototype.getBulletTriangle=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);zp(d,a,c)};gF.prototype.getBulletTetrahedron=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Ap(d,a,c)};gF.prototype.__destroy__=function(){Bp(this.kB)}; -function hF(a,c){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);this.kB=void 0===a?Cp():void 0===c?_emscripten_bind_btCollisionAlgorithmConstructionInfo_btCollisionAlgorithmConstructionInfo_1(a):Dp(a,c);h(hF)[this.kB]=this}hF.prototype=Object.create(f.prototype);hF.prototype.constructor=hF;hF.prototype.lB=hF;hF.mB={};b.btCollisionAlgorithmConstructionInfo=hF;hF.prototype.get_m_dispatcher1=hF.prototype.eD=function(){return k(Ep(this.kB),TD)}; -hF.prototype.set_m_dispatcher1=hF.prototype.WF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Fp(c,a)};Object.defineProperty(hF.prototype,"m_dispatcher1",{get:hF.prototype.eD,set:hF.prototype.WF});hF.prototype.get_m_manifold=hF.prototype.KD=function(){return k(Gp(this.kB),oE)};hF.prototype.set_m_manifold=hF.prototype.BG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Hp(c,a)};Object.defineProperty(hF.prototype,"m_manifold",{get:hF.prototype.KD,set:hF.prototype.BG}); -hF.prototype.__destroy__=function(){Ip(this.kB)};function iF(a,c,d){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);this.kB=Jp(a,c,d);h(iF)[this.kB]=this}iF.prototype=Object.create(mE.prototype);iF.prototype.constructor=iF;iF.prototype.lB=iF;iF.mB={};b.btGImpactCollisionAlgorithm=iF;iF.prototype.registerAlgorithm=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kp(c,a)};iF.prototype.__destroy__=function(){Lp(this.kB)}; -function jF(){this.kB=Mp();h(jF)[this.kB]=this}jF.prototype=Object.create(f.prototype);jF.prototype.constructor=jF;jF.prototype.lB=jF;jF.mB={};b.btDefaultCollisionConstructionInfo=jF;jF.prototype.__destroy__=function(){Np(this.kB)};function oE(){this.kB=Op();h(oE)[this.kB]=this}oE.prototype=Object.create(f.prototype);oE.prototype.constructor=oE;oE.prototype.lB=oE;oE.mB={};b.btPersistentManifold=oE;oE.prototype.getBody0=function(){return k(Pp(this.kB),q)}; -oE.prototype.getBody1=function(){return k(Qp(this.kB),q)};oE.prototype.getNumContacts=function(){return Rp(this.kB)};oE.prototype.getContactPoint=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Sp(c,a),E)};oE.prototype.__destroy__=function(){Tp(this.kB)};function kF(a){a&&"object"===typeof a&&(a=a.kB);this.kB=Up(a);h(kF)[this.kB]=this}kF.prototype=Object.create(TD.prototype);kF.prototype.constructor=kF;kF.prototype.lB=kF;kF.mB={};b.btCollisionDispatcher=kF; -kF.prototype.getNumManifolds=function(){return Vp(this.kB)};kF.prototype.getManifoldByIndexInternal=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Wp(c,a),oE)};kF.prototype.__destroy__=function(){Xp(this.kB)};function lF(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL";}lF.prototype=Object.create(f.prototype);lF.prototype.constructor=lF;lF.prototype.lB=lF;lF.mB={};b.btOverlappingPairCallback=lF;lF.prototype.__destroy__=function(){Yp(this.kB)}; -function UD(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL";}UD.prototype=Object.create(f.prototype);UD.prototype.constructor=UD;UD.prototype.lB=UD;UD.mB={};b.btOverlappingPairCache=UD;UD.prototype.setInternalGhostPairCallback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zp(c,a)};UD.prototype.getNumOverlappingPairs=function(){return $p(this.kB)};UD.prototype.__destroy__=function(){aq(this.kB)}; -function mF(a,c,d,e,g){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);this.kB=void 0===d?bq(a,c):void 0===e?cq(a,c,d):void 0===g?dq(a,c,d,e):eq(a,c,d,e,g);h(mF)[this.kB]=this}mF.prototype=Object.create(f.prototype);mF.prototype.constructor=mF;mF.prototype.lB=mF;mF.mB={};b.btAxisSweep3=mF;mF.prototype.__destroy__=function(){fq(this.kB)}; -function VD(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL";}VD.prototype=Object.create(f.prototype);VD.prototype.constructor=VD;VD.prototype.lB=VD;VD.mB={};b.btBroadphaseInterface=VD;VD.prototype.getOverlappingPairCache=function(){return k(gq(this.kB),UD)};VD.prototype.__destroy__=function(){hq(this.kB)};function nF(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL";}nF.prototype=Object.create(f.prototype);nF.prototype.constructor=nF; -nF.prototype.lB=nF;nF.mB={};b.btCollisionConfiguration=nF;nF.prototype.__destroy__=function(){iq(this.kB)};function oF(){this.kB=jq();h(oF)[this.kB]=this}oF.prototype=Object.create(f.prototype);oF.prototype.constructor=oF;oF.prototype.lB=oF;oF.mB={};b.btDbvtBroadphase=oF;oF.prototype.__destroy__=function(){kq(this.kB)};function YD(){throw"cannot construct a btBroadphaseProxy, no constructor in IDL";}YD.prototype=Object.create(f.prototype);YD.prototype.constructor=YD;YD.prototype.lB=YD;YD.mB={}; -b.btBroadphaseProxy=YD;YD.prototype.get_m_collisionFilterGroup=YD.prototype.nB=function(){return lq(this.kB)};YD.prototype.set_m_collisionFilterGroup=YD.prototype.pB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);mq(c,a)};Object.defineProperty(YD.prototype,"m_collisionFilterGroup",{get:YD.prototype.nB,set:YD.prototype.pB});YD.prototype.get_m_collisionFilterMask=YD.prototype.oB=function(){return nq(this.kB)}; -YD.prototype.set_m_collisionFilterMask=YD.prototype.qB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);oq(c,a)};Object.defineProperty(YD.prototype,"m_collisionFilterMask",{get:YD.prototype.oB,set:YD.prototype.qB});YD.prototype.__destroy__=function(){pq(this.kB)};function J(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=void 0===e?qq(a,c,d):rq(a,c,d,e);h(J)[this.kB]=this}J.prototype=Object.create(f.prototype); -J.prototype.constructor=J;J.prototype.lB=J;J.mB={};b.btRigidBodyConstructionInfo=J;J.prototype.get_m_linearDamping=J.prototype.DD=function(){return sq(this.kB)};J.prototype.set_m_linearDamping=J.prototype.uG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);tq(c,a)};Object.defineProperty(J.prototype,"m_linearDamping",{get:J.prototype.DD,set:J.prototype.uG});J.prototype.get_m_angularDamping=J.prototype.HC=function(){return uq(this.kB)}; -J.prototype.set_m_angularDamping=J.prototype.yF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vq(c,a)};Object.defineProperty(J.prototype,"m_angularDamping",{get:J.prototype.HC,set:J.prototype.yF});J.prototype.get_m_friction=J.prototype.kD=function(){return wq(this.kB)};J.prototype.set_m_friction=J.prototype.bG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xq(c,a)};Object.defineProperty(J.prototype,"m_friction",{get:J.prototype.kD,set:J.prototype.bG}); -J.prototype.get_m_rollingFriction=J.prototype.dE=function(){return yq(this.kB)};J.prototype.set_m_rollingFriction=J.prototype.WG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zq(c,a)};Object.defineProperty(J.prototype,"m_rollingFriction",{get:J.prototype.dE,set:J.prototype.WG});J.prototype.get_m_restitution=J.prototype.bE=function(){return Aq(this.kB)};J.prototype.set_m_restitution=J.prototype.UG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Bq(c,a)}; -Object.defineProperty(J.prototype,"m_restitution",{get:J.prototype.bE,set:J.prototype.UG});J.prototype.get_m_linearSleepingThreshold=J.prototype.ED=function(){return Cq(this.kB)};J.prototype.set_m_linearSleepingThreshold=J.prototype.vG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dq(c,a)};Object.defineProperty(J.prototype,"m_linearSleepingThreshold",{get:J.prototype.ED,set:J.prototype.vG});J.prototype.get_m_angularSleepingThreshold=J.prototype.IC=function(){return Eq(this.kB)}; -J.prototype.set_m_angularSleepingThreshold=J.prototype.zF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Fq(c,a)};Object.defineProperty(J.prototype,"m_angularSleepingThreshold",{get:J.prototype.IC,set:J.prototype.zF});J.prototype.get_m_additionalDamping=J.prototype.CC=function(){return!!Gq(this.kB)};J.prototype.set_m_additionalDamping=J.prototype.tF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Hq(c,a)}; -Object.defineProperty(J.prototype,"m_additionalDamping",{get:J.prototype.CC,set:J.prototype.tF});J.prototype.get_m_additionalDampingFactor=J.prototype.DC=function(){return Iq(this.kB)};J.prototype.set_m_additionalDampingFactor=J.prototype.uF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jq(c,a)};Object.defineProperty(J.prototype,"m_additionalDampingFactor",{get:J.prototype.DC,set:J.prototype.uF});J.prototype.get_m_additionalLinearDampingThresholdSqr=J.prototype.EC=function(){return Kq(this.kB)}; -J.prototype.set_m_additionalLinearDampingThresholdSqr=J.prototype.vF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lq(c,a)};Object.defineProperty(J.prototype,"m_additionalLinearDampingThresholdSqr",{get:J.prototype.EC,set:J.prototype.vF});J.prototype.get_m_additionalAngularDampingThresholdSqr=J.prototype.BC=function(){return Mq(this.kB)};J.prototype.set_m_additionalAngularDampingThresholdSqr=J.prototype.sF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nq(c,a)}; -Object.defineProperty(J.prototype,"m_additionalAngularDampingThresholdSqr",{get:J.prototype.BC,set:J.prototype.sF});J.prototype.get_m_additionalAngularDampingFactor=J.prototype.AC=function(){return Oq(this.kB)};J.prototype.set_m_additionalAngularDampingFactor=J.prototype.rF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pq(c,a)};Object.defineProperty(J.prototype,"m_additionalAngularDampingFactor",{get:J.prototype.AC,set:J.prototype.rF});J.prototype.__destroy__=function(){Qq(this.kB)}; -function K(a){a&&"object"===typeof a&&(a=a.kB);this.kB=Rq(a);h(K)[this.kB]=this}K.prototype=Object.create(q.prototype);K.prototype.constructor=K;K.prototype.lB=K;K.mB={};b.btRigidBody=K;K.prototype.getCenterOfMassTransform=function(){return k(Sq(this.kB),r)};K.prototype.setCenterOfMassTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Tq(c,a)};K.prototype.setSleepingThresholds=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Uq(d,a,c)}; -K.prototype.getLinearDamping=function(){return Vq(this.kB)};K.prototype.getAngularDamping=function(){return Wq(this.kB)};K.prototype.setDamping=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Xq(d,a,c)};K.prototype.setMassProps=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Yq(d,a,c)};K.prototype.getLinearFactor=function(){return k(Zq(this.kB),m)}; -K.prototype.setLinearFactor=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$q(c,a)};K.prototype.applyTorque=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ar(c,a)};K.prototype.applyLocalTorque=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);br(c,a)};K.prototype.applyForce=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);cr(d,a,c)}; -K.prototype.applyCentralForce=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);dr(c,a)};K.prototype.applyCentralLocalForce=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);er(c,a)};K.prototype.applyTorqueImpulse=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fr(c,a)};K.prototype.applyImpulse=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);gr(d,a,c)}; -K.prototype.applyCentralImpulse=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hr(c,a)};K.prototype.updateInertiaTensor=function(){ir(this.kB)};K.prototype.getLinearVelocity=function(){return k(jr(this.kB),m)};K.prototype.getAngularVelocity=function(){return k(kr(this.kB),m)};K.prototype.setLinearVelocity=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);lr(c,a)};K.prototype.setAngularVelocity=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);mr(c,a)}; -K.prototype.getMotionState=function(){return k(nr(this.kB),dE)};K.prototype.setMotionState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);or(c,a)};K.prototype.getAngularFactor=function(){return k(pr(this.kB),m)};K.prototype.setAngularFactor=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);qr(c,a)};K.prototype.upcast=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(rr(c,a),K)}; -K.prototype.getAabb=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);sr(d,a,c)};K.prototype.applyGravity=function(){tr(this.kB)};K.prototype.getGravity=function(){return k(ur(this.kB),m)};K.prototype.setGravity=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vr(c,a)};K.prototype.getBroadphaseProxy=function(){return k(wr(this.kB),YD)};K.prototype.clearForces=function(){xr(this.kB)}; -K.prototype.setFlags=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yr(c,a)};K.prototype.getFlags=function(){return zr(this.kB)};K.prototype.setAnisotropicFriction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Ar(d,a,c)};K.prototype.getCollisionShape=function(){return k(Br(this.kB),l)};K.prototype.setContactProcessingThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Cr(c,a)}; -K.prototype.setActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dr(c,a)};K.prototype.forceActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Er(c,a)};K.prototype.activate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);void 0===a?Fr(c):Gr(c,a)};K.prototype.isActive=function(){return!!Hr(this.kB)};K.prototype.isKinematicObject=function(){return!!Ir(this.kB)};K.prototype.isStaticObject=function(){return!!Jr(this.kB)}; -K.prototype.isStaticOrKinematicObject=function(){return!!Kr(this.kB)};K.prototype.getRestitution=function(){return Lr(this.kB)};K.prototype.getFriction=function(){return Mr(this.kB)};K.prototype.getRollingFriction=function(){return Nr(this.kB)};K.prototype.setRestitution=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Or(c,a)};K.prototype.setFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pr(c,a)}; -K.prototype.setRollingFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qr(c,a)};K.prototype.getWorldTransform=function(){return k(Rr(this.kB),r)};K.prototype.getCollisionFlags=function(){return Sr(this.kB)};K.prototype.setCollisionFlags=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Tr(c,a)};K.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ur(c,a)}; -K.prototype.setCollisionShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vr(c,a)};K.prototype.setCcdMotionThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Wr(c,a)};K.prototype.setCcdSweptSphereRadius=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Xr(c,a)};K.prototype.getUserIndex=function(){return Yr(this.kB)};K.prototype.setUserIndex=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zr(c,a)}; -K.prototype.getUserPointer=function(){return k($r(this.kB),XD)};K.prototype.setUserPointer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);as(c,a)};K.prototype.getBroadphaseHandle=function(){return k(bs(this.kB),YD)};K.prototype.__destroy__=function(){cs(this.kB)};function L(){this.kB=ds();h(L)[this.kB]=this}L.prototype=Object.create(f.prototype);L.prototype.constructor=L;L.prototype.lB=L;L.mB={};b.btConstraintSetting=L;L.prototype.get_m_tau=L.prototype.sE=function(){return es(this.kB)}; -L.prototype.set_m_tau=L.prototype.kH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);gs(c,a)};Object.defineProperty(L.prototype,"m_tau",{get:L.prototype.sE,set:L.prototype.kH});L.prototype.get_m_damping=L.prototype.aD=function(){return hs(this.kB)};L.prototype.set_m_damping=L.prototype.SF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);is(c,a)};Object.defineProperty(L.prototype,"m_damping",{get:L.prototype.aD,set:L.prototype.SF}); -L.prototype.get_m_impulseClamp=L.prototype.wD=function(){return js(this.kB)};L.prototype.set_m_impulseClamp=L.prototype.nG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ks(c,a)};Object.defineProperty(L.prototype,"m_impulseClamp",{get:L.prototype.wD,set:L.prototype.nG});L.prototype.__destroy__=function(){ls(this.kB)}; -function pF(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=void 0===d?ms(a,c):void 0===e?_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(a,c,d):ns(a,c,d,e);h(pF)[this.kB]=this}pF.prototype=Object.create(aE.prototype);pF.prototype.constructor=pF;pF.prototype.lB=pF;pF.mB={};b.btPoint2PointConstraint=pF; -pF.prototype.setPivotA=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ps(c,a)};pF.prototype.setPivotB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);qs(c,a)};pF.prototype.getPivotInA=function(){return k(rs(this.kB),m)};pF.prototype.getPivotInB=function(){return k(ss(this.kB),m)};pF.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ts(c,a)};pF.prototype.getBreakingImpulseThreshold=function(){return us(this.kB)}; -pF.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vs(c,a)};pF.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return xs(d,a,c)};pF.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);ys(e,a,c,d)};pF.prototype.get_m_setting=pF.prototype.fE=function(){return k(zs(this.kB),L)}; -pF.prototype.set_m_setting=pF.prototype.YG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);As(c,a)};Object.defineProperty(pF.prototype,"m_setting",{get:pF.prototype.fE,set:pF.prototype.YG});pF.prototype.__destroy__=function(){Bs(this.kB)}; -function qF(a,c,d,e,g){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);this.kB=void 0===e?Cs(a,c,d):void 0===g?_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(a,c,d,e):Ds(a,c,d,e,g);h(qF)[this.kB]=this}qF.prototype=Object.create(pE.prototype);qF.prototype.constructor=qF;qF.prototype.lB=qF;qF.mB={};b.btGeneric6DofSpringConstraint=qF; -qF.prototype.enableSpring=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Es(d,a,c)};qF.prototype.setStiffness=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Fs(d,a,c)};qF.prototype.setDamping=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Gs(d,a,c)}; -qF.prototype.setEquilibriumPoint=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);void 0===a?Hs(d):void 0===c?Is(d,a):Js(d,a,c)};qF.prototype.setLinearLowerLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ks(c,a)};qF.prototype.setLinearUpperLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ls(c,a)};qF.prototype.setAngularLowerLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ms(c,a)}; -qF.prototype.setAngularUpperLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ns(c,a)};qF.prototype.getFrameOffsetA=function(){return k(Os(this.kB),r)};qF.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ps(c,a)};qF.prototype.getBreakingImpulseThreshold=function(){return Qs(this.kB)};qF.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Rs(c,a)}; -qF.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return Ss(d,a,c)};qF.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Ts(e,a,c,d)};qF.prototype.__destroy__=function(){Us(this.kB)};function rF(){this.kB=Vs();h(rF)[this.kB]=this}rF.prototype=Object.create(f.prototype);rF.prototype.constructor=rF;rF.prototype.lB=rF;rF.mB={}; -b.btSequentialImpulseConstraintSolver=rF;rF.prototype.__destroy__=function(){Ws(this.kB)};function sF(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=void 0===d?Xs(a,c):void 0===e?_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(a,c,d):Ys(a,c,d,e);h(sF)[this.kB]=this}sF.prototype=Object.create(aE.prototype);sF.prototype.constructor=sF;sF.prototype.lB=sF;sF.mB={}; -b.btConeTwistConstraint=sF;sF.prototype.setLimit=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Zs(d,a,c)};sF.prototype.setAngularOnly=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$s(c,a)};sF.prototype.setDamping=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);at(c,a)};sF.prototype.enableMotor=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);bt(c,a)}; -sF.prototype.setMaxMotorImpulse=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ct(c,a)};sF.prototype.setMaxMotorImpulseNormalized=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);dt(c,a)};sF.prototype.setMotorTarget=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);et(c,a)};sF.prototype.setMotorTargetInConstraintSpace=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ft(c,a)}; -sF.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);gt(c,a)};sF.prototype.getBreakingImpulseThreshold=function(){return ht(this.kB)};sF.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);it(c,a)};sF.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return jt(d,a,c)}; -sF.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);kt(e,a,c,d)};sF.prototype.__destroy__=function(){lt(this.kB)}; -function tF(a,c,d,e,g,n,z){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);n&&"object"===typeof n&&(n=n.kB);z&&"object"===typeof z&&(z=z.kB);this.kB=void 0===d?mt(a,c):void 0===e?nt(a,c,d):void 0===g?ot(a,c,d,e):void 0===n?pt(a,c,d,e,g):void 0===z?qt(a,c,d,e,g,n):rt(a,c,d,e,g,n,z);h(tF)[this.kB]=this}tF.prototype=Object.create(aE.prototype);tF.prototype.constructor=tF; -tF.prototype.lB=tF;tF.mB={};b.btHingeConstraint=tF;tF.prototype.getHingeAngle=function(){return st(this.kB)};tF.prototype.setLimit=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);void 0===g?tt(n,a,c,d,e):ut(n,a,c,d,e,g)}; -tF.prototype.enableAngularMotor=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);vt(e,a,c,d)};tF.prototype.setAngularOnly=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wt(c,a)};tF.prototype.enableMotor=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xt(c,a)};tF.prototype.setMaxMotorImpulse=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yt(c,a)}; -tF.prototype.setMotorTarget=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);zt(d,a,c)};tF.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);At(c,a)};tF.prototype.getBreakingImpulseThreshold=function(){return Bt(this.kB)};tF.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ct(c,a)}; -tF.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return Dt(d,a,c)};tF.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Et(e,a,c,d)};tF.prototype.__destroy__=function(){Ft(this.kB)}; -function uF(a,c,d,e,g){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);this.kB=void 0===e?Gt(a,c,d):void 0===g?_emscripten_bind_btSliderConstraint_btSliderConstraint_4(a,c,d,e):Ht(a,c,d,e,g);h(uF)[this.kB]=this}uF.prototype=Object.create(aE.prototype);uF.prototype.constructor=uF;uF.prototype.lB=uF;uF.mB={};b.btSliderConstraint=uF;uF.prototype.getLinearPos=function(){return It(this.kB)}; -uF.prototype.getAngularPos=function(){return Jt(this.kB)};uF.prototype.setLowerLinLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kt(c,a)};uF.prototype.setUpperLinLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lt(c,a)};uF.prototype.setLowerAngLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Mt(c,a)};uF.prototype.setUpperAngLimit=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nt(c,a)}; -uF.prototype.setPoweredLinMotor=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ot(c,a)};uF.prototype.setMaxLinMotorForce=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pt(c,a)};uF.prototype.setTargetLinMotorVelocity=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qt(c,a)};uF.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Rt(c,a)};uF.prototype.getBreakingImpulseThreshold=function(){return St(this.kB)}; -uF.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Tt(c,a)};uF.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return Ut(d,a,c)};uF.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);Vt(e,a,c,d)};uF.prototype.__destroy__=function(){Wt(this.kB)}; -function vF(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=Xt(a,c,d,e);h(vF)[this.kB]=this}vF.prototype=Object.create(aE.prototype);vF.prototype.constructor=vF;vF.prototype.lB=vF;vF.mB={};b.btFixedConstraint=vF;vF.prototype.enableFeedback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Yt(c,a)};vF.prototype.getBreakingImpulseThreshold=function(){return Zt(this.kB)}; -vF.prototype.setBreakingImpulseThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$t(c,a)};vF.prototype.getParam=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return au(d,a,c)};vF.prototype.setParam=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);bu(e,a,c,d)};vF.prototype.__destroy__=function(){cu(this.kB)}; -function wF(){throw"cannot construct a btConstraintSolver, no constructor in IDL";}wF.prototype=Object.create(f.prototype);wF.prototype.constructor=wF;wF.prototype.lB=wF;wF.mB={};b.btConstraintSolver=wF;wF.prototype.__destroy__=function(){du(this.kB)};function p(){throw"cannot construct a btDispatcherInfo, no constructor in IDL";}p.prototype=Object.create(f.prototype);p.prototype.constructor=p;p.prototype.lB=p;p.mB={};b.btDispatcherInfo=p;p.prototype.get_m_timeStep=p.prototype.uE=function(){return eu(this.kB)}; -p.prototype.set_m_timeStep=p.prototype.mH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fu(c,a)};Object.defineProperty(p.prototype,"m_timeStep",{get:p.prototype.uE,set:p.prototype.mH});p.prototype.get_m_stepCount=p.prototype.lE=function(){return gu(this.kB)};p.prototype.set_m_stepCount=p.prototype.dH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hu(c,a)};Object.defineProperty(p.prototype,"m_stepCount",{get:p.prototype.lE,set:p.prototype.dH}); -p.prototype.get_m_dispatchFunc=p.prototype.cD=function(){return iu(this.kB)};p.prototype.set_m_dispatchFunc=p.prototype.UF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ju(c,a)};Object.defineProperty(p.prototype,"m_dispatchFunc",{get:p.prototype.cD,set:p.prototype.UF});p.prototype.get_m_timeOfImpact=p.prototype.tE=function(){return ku(this.kB)};p.prototype.set_m_timeOfImpact=p.prototype.lH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);lu(c,a)}; -Object.defineProperty(p.prototype,"m_timeOfImpact",{get:p.prototype.tE,set:p.prototype.lH});p.prototype.get_m_useContinuous=p.prototype.wE=function(){return!!mu(this.kB)};p.prototype.set_m_useContinuous=p.prototype.oH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);nu(c,a)};Object.defineProperty(p.prototype,"m_useContinuous",{get:p.prototype.wE,set:p.prototype.oH});p.prototype.get_m_enableSatConvex=p.prototype.hD=function(){return!!ou(this.kB)}; -p.prototype.set_m_enableSatConvex=p.prototype.ZF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pu(c,a)};Object.defineProperty(p.prototype,"m_enableSatConvex",{get:p.prototype.hD,set:p.prototype.ZF});p.prototype.get_m_enableSPU=p.prototype.gD=function(){return!!qu(this.kB)};p.prototype.set_m_enableSPU=p.prototype.YF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ru(c,a)};Object.defineProperty(p.prototype,"m_enableSPU",{get:p.prototype.gD,set:p.prototype.YF}); -p.prototype.get_m_useEpa=p.prototype.yE=function(){return!!su(this.kB)};p.prototype.set_m_useEpa=p.prototype.qH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);tu(c,a)};Object.defineProperty(p.prototype,"m_useEpa",{get:p.prototype.yE,set:p.prototype.qH});p.prototype.get_m_allowedCcdPenetration=p.prototype.FC=function(){return uu(this.kB)};p.prototype.set_m_allowedCcdPenetration=p.prototype.wF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vu(c,a)}; -Object.defineProperty(p.prototype,"m_allowedCcdPenetration",{get:p.prototype.FC,set:p.prototype.wF});p.prototype.get_m_useConvexConservativeDistanceUtil=p.prototype.xE=function(){return!!wu(this.kB)};p.prototype.set_m_useConvexConservativeDistanceUtil=p.prototype.pH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xu(c,a)};Object.defineProperty(p.prototype,"m_useConvexConservativeDistanceUtil",{get:p.prototype.xE,set:p.prototype.pH}); -p.prototype.get_m_convexConservativeDistanceThreshold=p.prototype.YC=function(){return yu(this.kB)};p.prototype.set_m_convexConservativeDistanceThreshold=p.prototype.PF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zu(c,a)};Object.defineProperty(p.prototype,"m_convexConservativeDistanceThreshold",{get:p.prototype.YC,set:p.prototype.PF});p.prototype.__destroy__=function(){Au(this.kB)};function t(){throw"cannot construct a btContactSolverInfo, no constructor in IDL";}t.prototype=Object.create(f.prototype); -t.prototype.constructor=t;t.prototype.lB=t;t.mB={};b.btContactSolverInfo=t;t.prototype.get_m_splitImpulse=t.prototype.iE=function(){return!!Bu(this.kB)};t.prototype.set_m_splitImpulse=t.prototype.aH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Cu(c,a)};Object.defineProperty(t.prototype,"m_splitImpulse",{get:t.prototype.iE,set:t.prototype.aH});t.prototype.get_m_splitImpulsePenetrationThreshold=t.prototype.jE=function(){return Du(this.kB)}; -t.prototype.set_m_splitImpulsePenetrationThreshold=t.prototype.bH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Eu(c,a)};Object.defineProperty(t.prototype,"m_splitImpulsePenetrationThreshold",{get:t.prototype.jE,set:t.prototype.bH});t.prototype.get_m_numIterations=t.prototype.TD=function(){return Fu(this.kB)};t.prototype.set_m_numIterations=t.prototype.KG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Gu(c,a)}; -Object.defineProperty(t.prototype,"m_numIterations",{get:t.prototype.TD,set:t.prototype.KG});t.prototype.__destroy__=function(){Hu(this.kB)};function M(){this.kB=Iu();h(M)[this.kB]=this}M.prototype=Object.create(f.prototype);M.prototype.constructor=M;M.prototype.lB=M;M.mB={};b.btVehicleTuning=M;M.prototype.get_m_suspensionStiffness=M.prototype.BB=function(){return Ju(this.kB)};M.prototype.set_m_suspensionStiffness=M.prototype.IB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ku(c,a)}; -Object.defineProperty(M.prototype,"m_suspensionStiffness",{get:M.prototype.BB,set:M.prototype.IB});M.prototype.get_m_suspensionCompression=M.prototype.mE=function(){return Lu(this.kB)};M.prototype.set_m_suspensionCompression=M.prototype.eH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Mu(c,a)};Object.defineProperty(M.prototype,"m_suspensionCompression",{get:M.prototype.mE,set:M.prototype.eH});M.prototype.get_m_suspensionDamping=M.prototype.nE=function(){return Nu(this.kB)}; -M.prototype.set_m_suspensionDamping=M.prototype.fH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ou(c,a)};Object.defineProperty(M.prototype,"m_suspensionDamping",{get:M.prototype.nE,set:M.prototype.fH});M.prototype.get_m_maxSuspensionTravelCm=M.prototype.AB=function(){return Pu(this.kB)};M.prototype.set_m_maxSuspensionTravelCm=M.prototype.HB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qu(c,a)}; -Object.defineProperty(M.prototype,"m_maxSuspensionTravelCm",{get:M.prototype.AB,set:M.prototype.HB});M.prototype.get_m_frictionSlip=M.prototype.wB=function(){return Ru(this.kB)};M.prototype.set_m_frictionSlip=M.prototype.DB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Su(c,a)};Object.defineProperty(M.prototype,"m_frictionSlip",{get:M.prototype.wB,set:M.prototype.DB});M.prototype.get_m_maxSuspensionForce=M.prototype.zB=function(){return Tu(this.kB)}; -M.prototype.set_m_maxSuspensionForce=M.prototype.GB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Uu(c,a)};Object.defineProperty(M.prototype,"m_maxSuspensionForce",{get:M.prototype.zB,set:M.prototype.GB});function xF(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL";}xF.prototype=Object.create(f.prototype);xF.prototype.constructor=xF;xF.prototype.lB=xF;xF.mB={};b.btVehicleRaycasterResult=xF; -xF.prototype.get_m_hitPointInWorld=xF.prototype.tD=function(){return k(Vu(this.kB),m)};xF.prototype.set_m_hitPointInWorld=xF.prototype.kG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Wu(c,a)};Object.defineProperty(xF.prototype,"m_hitPointInWorld",{get:xF.prototype.tD,set:xF.prototype.kG});xF.prototype.get_m_hitNormalInWorld=xF.prototype.rD=function(){return k(Xu(this.kB),m)}; -xF.prototype.set_m_hitNormalInWorld=xF.prototype.iG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Yu(c,a)};Object.defineProperty(xF.prototype,"m_hitNormalInWorld",{get:xF.prototype.rD,set:xF.prototype.iG});xF.prototype.get_m_distFraction=xF.prototype.fD=function(){return Zu(this.kB)};xF.prototype.set_m_distFraction=xF.prototype.XF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$u(c,a)};Object.defineProperty(xF.prototype,"m_distFraction",{get:xF.prototype.fD,set:xF.prototype.XF}); -xF.prototype.__destroy__=function(){av(this.kB)};function yF(a){a&&"object"===typeof a&&(a=a.kB);this.kB=bv(a);h(yF)[this.kB]=this}yF.prototype=Object.create(qE.prototype);yF.prototype.constructor=yF;yF.prototype.lB=yF;yF.mB={};b.btDefaultVehicleRaycaster=yF;yF.prototype.castRay=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);cv(e,a,c,d)};yF.prototype.__destroy__=function(){dv(this.kB)}; -function N(){throw"cannot construct a RaycastInfo, no constructor in IDL";}N.prototype=Object.create(f.prototype);N.prototype.constructor=N;N.prototype.lB=N;N.mB={};b.RaycastInfo=N;N.prototype.get_m_contactNormalWS=N.prototype.WC=function(){return k(ev(this.kB),m)};N.prototype.set_m_contactNormalWS=N.prototype.NF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fv(c,a)};Object.defineProperty(N.prototype,"m_contactNormalWS",{get:N.prototype.WC,set:N.prototype.NF}); -N.prototype.get_m_contactPointWS=N.prototype.XC=function(){return k(gv(this.kB),m)};N.prototype.set_m_contactPointWS=N.prototype.OF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hv(c,a)};Object.defineProperty(N.prototype,"m_contactPointWS",{get:N.prototype.XC,set:N.prototype.OF});N.prototype.get_m_suspensionLength=N.prototype.oE=function(){return iv(this.kB)};N.prototype.set_m_suspensionLength=N.prototype.gH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jv(c,a)}; -Object.defineProperty(N.prototype,"m_suspensionLength",{get:N.prototype.oE,set:N.prototype.gH});N.prototype.get_m_hardPointWS=N.prototype.oD=function(){return k(kv(this.kB),m)};N.prototype.set_m_hardPointWS=N.prototype.fG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);lv(c,a)};Object.defineProperty(N.prototype,"m_hardPointWS",{get:N.prototype.oD,set:N.prototype.fG});N.prototype.get_m_wheelDirectionWS=N.prototype.DE=function(){return k(mv(this.kB),m)}; -N.prototype.set_m_wheelDirectionWS=N.prototype.vH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);nv(c,a)};Object.defineProperty(N.prototype,"m_wheelDirectionWS",{get:N.prototype.DE,set:N.prototype.vH});N.prototype.get_m_wheelAxleWS=N.prototype.CE=function(){return k(ov(this.kB),m)};N.prototype.set_m_wheelAxleWS=N.prototype.uH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pv(c,a)};Object.defineProperty(N.prototype,"m_wheelAxleWS",{get:N.prototype.CE,set:N.prototype.uH}); -N.prototype.get_m_isInContact=N.prototype.zD=function(){return!!qv(this.kB)};N.prototype.set_m_isInContact=N.prototype.qG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);rv(c,a)};Object.defineProperty(N.prototype,"m_isInContact",{get:N.prototype.zD,set:N.prototype.qG});N.prototype.get_m_groundObject=N.prototype.nD=function(){return sv(this.kB)};N.prototype.set_m_groundObject=N.prototype.eG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);tv(c,a)}; -Object.defineProperty(N.prototype,"m_groundObject",{get:N.prototype.nD,set:N.prototype.eG});N.prototype.__destroy__=function(){uv(this.kB)};function O(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL";}O.prototype=Object.create(f.prototype);O.prototype.constructor=O;O.prototype.lB=O;O.mB={};b.btWheelInfoConstructionInfo=O;O.prototype.get_m_chassisConnectionCS=O.prototype.RC=function(){return k(vv(this.kB),m)}; -O.prototype.set_m_chassisConnectionCS=O.prototype.IF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wv(c,a)};Object.defineProperty(O.prototype,"m_chassisConnectionCS",{get:O.prototype.RC,set:O.prototype.IF});O.prototype.get_m_wheelDirectionCS=O.prototype.QB=function(){return k(xv(this.kB),m)};O.prototype.set_m_wheelDirectionCS=O.prototype.$B=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yv(c,a)};Object.defineProperty(O.prototype,"m_wheelDirectionCS",{get:O.prototype.QB,set:O.prototype.$B}); -O.prototype.get_m_wheelAxleCS=O.prototype.PB=function(){return k(zv(this.kB),m)};O.prototype.set_m_wheelAxleCS=O.prototype.ZB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Av(c,a)};Object.defineProperty(O.prototype,"m_wheelAxleCS",{get:O.prototype.PB,set:O.prototype.ZB});O.prototype.get_m_suspensionRestLength=O.prototype.qE=function(){return Bv(this.kB)};O.prototype.set_m_suspensionRestLength=O.prototype.iH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Cv(c,a)}; -Object.defineProperty(O.prototype,"m_suspensionRestLength",{get:O.prototype.qE,set:O.prototype.iH});O.prototype.get_m_maxSuspensionTravelCm=O.prototype.AB=function(){return Dv(this.kB)};O.prototype.set_m_maxSuspensionTravelCm=O.prototype.HB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ev(c,a)};Object.defineProperty(O.prototype,"m_maxSuspensionTravelCm",{get:O.prototype.AB,set:O.prototype.HB});O.prototype.get_m_wheelRadius=O.prototype.EE=function(){return Fv(this.kB)}; -O.prototype.set_m_wheelRadius=O.prototype.wH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Gv(c,a)};Object.defineProperty(O.prototype,"m_wheelRadius",{get:O.prototype.EE,set:O.prototype.wH});O.prototype.get_m_suspensionStiffness=O.prototype.BB=function(){return Hv(this.kB)};O.prototype.set_m_suspensionStiffness=O.prototype.IB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Iv(c,a)};Object.defineProperty(O.prototype,"m_suspensionStiffness",{get:O.prototype.BB,set:O.prototype.IB}); -O.prototype.get_m_wheelsDampingCompression=O.prototype.RB=function(){return Jv(this.kB)};O.prototype.set_m_wheelsDampingCompression=O.prototype.aC=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kv(c,a)};Object.defineProperty(O.prototype,"m_wheelsDampingCompression",{get:O.prototype.RB,set:O.prototype.aC});O.prototype.get_m_wheelsDampingRelaxation=O.prototype.SB=function(){return Lv(this.kB)}; -O.prototype.set_m_wheelsDampingRelaxation=O.prototype.bC=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Mv(c,a)};Object.defineProperty(O.prototype,"m_wheelsDampingRelaxation",{get:O.prototype.SB,set:O.prototype.bC});O.prototype.get_m_frictionSlip=O.prototype.wB=function(){return Nv(this.kB)};O.prototype.set_m_frictionSlip=O.prototype.DB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ov(c,a)};Object.defineProperty(O.prototype,"m_frictionSlip",{get:O.prototype.wB,set:O.prototype.DB}); -O.prototype.get_m_maxSuspensionForce=O.prototype.zB=function(){return Pv(this.kB)};O.prototype.set_m_maxSuspensionForce=O.prototype.GB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qv(c,a)};Object.defineProperty(O.prototype,"m_maxSuspensionForce",{get:O.prototype.zB,set:O.prototype.GB});O.prototype.get_m_bIsFrontWheel=O.prototype.JB=function(){return!!Rv(this.kB)};O.prototype.set_m_bIsFrontWheel=O.prototype.TB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Sv(c,a)}; -Object.defineProperty(O.prototype,"m_bIsFrontWheel",{get:O.prototype.JB,set:O.prototype.TB});O.prototype.__destroy__=function(){Tv(this.kB)};function P(a){a&&"object"===typeof a&&(a=a.kB);this.kB=Uv(a);h(P)[this.kB]=this}P.prototype=Object.create(f.prototype);P.prototype.constructor=P;P.prototype.lB=P;P.mB={};b.btWheelInfo=P;P.prototype.getSuspensionRestLength=function(){return Vv(this.kB)}; -P.prototype.updateWheel=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Wv(d,a,c)};P.prototype.get_m_suspensionStiffness=P.prototype.BB=function(){return Xv(this.kB)};P.prototype.set_m_suspensionStiffness=P.prototype.IB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Yv(c,a)};Object.defineProperty(P.prototype,"m_suspensionStiffness",{get:P.prototype.BB,set:P.prototype.IB});P.prototype.get_m_frictionSlip=P.prototype.wB=function(){return Zv(this.kB)}; -P.prototype.set_m_frictionSlip=P.prototype.DB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$v(c,a)};Object.defineProperty(P.prototype,"m_frictionSlip",{get:P.prototype.wB,set:P.prototype.DB});P.prototype.get_m_engineForce=P.prototype.iD=function(){return aw(this.kB)};P.prototype.set_m_engineForce=P.prototype.$F=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);bw(c,a)};Object.defineProperty(P.prototype,"m_engineForce",{get:P.prototype.iD,set:P.prototype.$F}); -P.prototype.get_m_rollInfluence=P.prototype.cE=function(){return cw(this.kB)};P.prototype.set_m_rollInfluence=P.prototype.VG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);dw(c,a)};Object.defineProperty(P.prototype,"m_rollInfluence",{get:P.prototype.cE,set:P.prototype.VG});P.prototype.get_m_suspensionRestLength1=P.prototype.rE=function(){return ew(this.kB)};P.prototype.set_m_suspensionRestLength1=P.prototype.jH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fw(c,a)}; -Object.defineProperty(P.prototype,"m_suspensionRestLength1",{get:P.prototype.rE,set:P.prototype.jH});P.prototype.get_m_wheelsRadius=P.prototype.FE=function(){return gw(this.kB)};P.prototype.set_m_wheelsRadius=P.prototype.xH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hw(c,a)};Object.defineProperty(P.prototype,"m_wheelsRadius",{get:P.prototype.FE,set:P.prototype.xH});P.prototype.get_m_wheelsDampingCompression=P.prototype.RB=function(){return iw(this.kB)}; -P.prototype.set_m_wheelsDampingCompression=P.prototype.aC=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jw(c,a)};Object.defineProperty(P.prototype,"m_wheelsDampingCompression",{get:P.prototype.RB,set:P.prototype.aC});P.prototype.get_m_wheelsDampingRelaxation=P.prototype.SB=function(){return kw(this.kB)};P.prototype.set_m_wheelsDampingRelaxation=P.prototype.bC=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);lw(c,a)}; -Object.defineProperty(P.prototype,"m_wheelsDampingRelaxation",{get:P.prototype.SB,set:P.prototype.bC});P.prototype.get_m_steering=P.prototype.kE=function(){return mw(this.kB)};P.prototype.set_m_steering=P.prototype.cH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);nw(c,a)};Object.defineProperty(P.prototype,"m_steering",{get:P.prototype.kE,set:P.prototype.cH});P.prototype.get_m_maxSuspensionForce=P.prototype.zB=function(){return ow(this.kB)}; -P.prototype.set_m_maxSuspensionForce=P.prototype.GB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pw(c,a)};Object.defineProperty(P.prototype,"m_maxSuspensionForce",{get:P.prototype.zB,set:P.prototype.GB});P.prototype.get_m_maxSuspensionTravelCm=P.prototype.AB=function(){return qw(this.kB)};P.prototype.set_m_maxSuspensionTravelCm=P.prototype.HB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);rw(c,a)}; -Object.defineProperty(P.prototype,"m_maxSuspensionTravelCm",{get:P.prototype.AB,set:P.prototype.HB});P.prototype.get_m_wheelsSuspensionForce=P.prototype.GE=function(){return sw(this.kB)};P.prototype.set_m_wheelsSuspensionForce=P.prototype.yH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);tw(c,a)};Object.defineProperty(P.prototype,"m_wheelsSuspensionForce",{get:P.prototype.GE,set:P.prototype.yH});P.prototype.get_m_bIsFrontWheel=P.prototype.JB=function(){return!!uw(this.kB)}; -P.prototype.set_m_bIsFrontWheel=P.prototype.TB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vw(c,a)};Object.defineProperty(P.prototype,"m_bIsFrontWheel",{get:P.prototype.JB,set:P.prototype.TB});P.prototype.get_m_raycastInfo=P.prototype.aE=function(){return k(ww(this.kB),N)};P.prototype.set_m_raycastInfo=P.prototype.TG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xw(c,a)};Object.defineProperty(P.prototype,"m_raycastInfo",{get:P.prototype.aE,set:P.prototype.TG}); -P.prototype.get_m_chassisConnectionPointCS=P.prototype.SC=function(){return k(yw(this.kB),m)};P.prototype.set_m_chassisConnectionPointCS=P.prototype.JF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zw(c,a)};Object.defineProperty(P.prototype,"m_chassisConnectionPointCS",{get:P.prototype.SC,set:P.prototype.JF});P.prototype.get_m_worldTransform=P.prototype.HE=function(){return k(Aw(this.kB),r)}; -P.prototype.set_m_worldTransform=P.prototype.zH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Bw(c,a)};Object.defineProperty(P.prototype,"m_worldTransform",{get:P.prototype.HE,set:P.prototype.zH});P.prototype.get_m_wheelDirectionCS=P.prototype.QB=function(){return k(Cw(this.kB),m)};P.prototype.set_m_wheelDirectionCS=P.prototype.$B=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dw(c,a)};Object.defineProperty(P.prototype,"m_wheelDirectionCS",{get:P.prototype.QB,set:P.prototype.$B}); -P.prototype.get_m_wheelAxleCS=P.prototype.PB=function(){return k(Ew(this.kB),m)};P.prototype.set_m_wheelAxleCS=P.prototype.ZB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Fw(c,a)};Object.defineProperty(P.prototype,"m_wheelAxleCS",{get:P.prototype.PB,set:P.prototype.ZB});P.prototype.get_m_rotation=P.prototype.eE=function(){return Gw(this.kB)};P.prototype.set_m_rotation=P.prototype.XG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Hw(c,a)}; -Object.defineProperty(P.prototype,"m_rotation",{get:P.prototype.eE,set:P.prototype.XG});P.prototype.get_m_deltaRotation=P.prototype.bD=function(){return Iw(this.kB)};P.prototype.set_m_deltaRotation=P.prototype.TF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jw(c,a)};Object.defineProperty(P.prototype,"m_deltaRotation",{get:P.prototype.bD,set:P.prototype.TF});P.prototype.get_m_brake=P.prototype.LC=function(){return Kw(this.kB)}; -P.prototype.set_m_brake=P.prototype.CF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lw(c,a)};Object.defineProperty(P.prototype,"m_brake",{get:P.prototype.LC,set:P.prototype.CF});P.prototype.get_m_clippedInvContactDotSuspension=P.prototype.TC=function(){return Mw(this.kB)};P.prototype.set_m_clippedInvContactDotSuspension=P.prototype.KF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nw(c,a)}; -Object.defineProperty(P.prototype,"m_clippedInvContactDotSuspension",{get:P.prototype.TC,set:P.prototype.KF});P.prototype.get_m_suspensionRelativeVelocity=P.prototype.pE=function(){return Ow(this.kB)};P.prototype.set_m_suspensionRelativeVelocity=P.prototype.hH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pw(c,a)};Object.defineProperty(P.prototype,"m_suspensionRelativeVelocity",{get:P.prototype.pE,set:P.prototype.hH});P.prototype.get_m_skidInfo=P.prototype.hE=function(){return Qw(this.kB)}; -P.prototype.set_m_skidInfo=P.prototype.$G=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Rw(c,a)};Object.defineProperty(P.prototype,"m_skidInfo",{get:P.prototype.hE,set:P.prototype.$G});P.prototype.__destroy__=function(){Sw(this.kB)};function zF(a,c,d,e){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);this.kB=void 0===e?Tw(a,c,d):Uw(a,c,d,e);h(zF)[this.kB]=this}zF.prototype=Object.create(rE.prototype); -zF.prototype.constructor=zF;zF.prototype.lB=zF;zF.mB={};b.btKinematicCharacterController=zF;zF.prototype.setUpAxis=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vw(c,a)};zF.prototype.setWalkDirection=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ww(c,a)};zF.prototype.setVelocityForTimeInterval=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Xw(d,a,c)}; -zF.prototype.warp=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Yw(c,a)};zF.prototype.preStep=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zw(c,a)};zF.prototype.playerStep=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);$w(d,a,c)};zF.prototype.setFallSpeed=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ax(c,a)};zF.prototype.setJumpSpeed=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);bx(c,a)}; -zF.prototype.setMaxJumpHeight=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);cx(c,a)};zF.prototype.canJump=function(){return!!dx(this.kB)};zF.prototype.jump=function(){ex(this.kB)};zF.prototype.setGravity=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fx(c,a)};zF.prototype.getGravity=function(){return gx(this.kB)};zF.prototype.setMaxSlope=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hx(c,a)};zF.prototype.getMaxSlope=function(){return ix(this.kB)}; -zF.prototype.getGhostObject=function(){return k(jx(this.kB),Q)};zF.prototype.setUseGhostSweepTest=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kx(c,a)};zF.prototype.onGround=function(){return!!lx(this.kB)};zF.prototype.setUpInterpolate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);mx(c,a)};zF.prototype.updateAction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);nx(d,a,c)};zF.prototype.__destroy__=function(){ox(this.kB)}; -function R(a,c,d){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);this.kB=px(a,c,d);h(R)[this.kB]=this}R.prototype=Object.create(rE.prototype);R.prototype.constructor=R;R.prototype.lB=R;R.mB={};b.btRaycastVehicle=R;R.prototype.applyEngineForce=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);qx(d,a,c)}; -R.prototype.setSteeringValue=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);rx(d,a,c)};R.prototype.getWheelTransformWS=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(sx(c,a),r)};R.prototype.updateWheelTransform=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);tx(d,a,c)}; -R.prototype.addWheel=function(a,c,d,e,g,n,z){var T=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);n&&"object"===typeof n&&(n=n.kB);z&&"object"===typeof z&&(z=z.kB);return k(ux(T,a,c,d,e,g,n,z),P)};R.prototype.getNumWheels=function(){return vx(this.kB)};R.prototype.getRigidBody=function(){return k(wx(this.kB),K)}; -R.prototype.getWheelInfo=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(xx(c,a),P)};R.prototype.setBrake=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);yx(d,a,c)};R.prototype.setCoordinateSystem=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);zx(e,a,c,d)};R.prototype.getCurrentSpeedKmHour=function(){return Ax(this.kB)}; -R.prototype.getChassisWorldTransform=function(){return k(Bx(this.kB),r)};R.prototype.rayCast=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return Cx(c,a)};R.prototype.updateVehicle=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dx(c,a)};R.prototype.resetSuspension=function(){Ex(this.kB)};R.prototype.getSteeringValue=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return Fx(c,a)}; -R.prototype.updateWheelTransformsWS=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);void 0===c?Gx(d,a):Hx(d,a,c)};R.prototype.setPitchControl=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ix(c,a)};R.prototype.updateSuspension=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jx(c,a)};R.prototype.updateFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Kx(c,a)};R.prototype.getRightAxis=function(){return Lx(this.kB)}; -R.prototype.getUpAxis=function(){return Mx(this.kB)};R.prototype.getForwardAxis=function(){return Nx(this.kB)};R.prototype.getForwardVector=function(){return k(Ox(this.kB),m)};R.prototype.getUserConstraintType=function(){return Px(this.kB)};R.prototype.setUserConstraintType=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Qx(c,a)};R.prototype.setUserConstraintId=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Rx(c,a)};R.prototype.getUserConstraintId=function(){return Sx(this.kB)}; -R.prototype.updateAction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Tx(d,a,c)};R.prototype.__destroy__=function(){Ux(this.kB)};function Q(){this.kB=Vx();h(Q)[this.kB]=this}Q.prototype=Object.create(y.prototype);Q.prototype.constructor=Q;Q.prototype.lB=Q;Q.mB={};b.btPairCachingGhostObject=Q;Q.prototype.setAnisotropicFriction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Wx(d,a,c)}; -Q.prototype.getCollisionShape=function(){return k(Xx(this.kB),l)};Q.prototype.setContactProcessingThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Yx(c,a)};Q.prototype.setActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Zx(c,a)};Q.prototype.forceActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$x(c,a)};Q.prototype.activate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);void 0===a?ay(c):by(c,a)}; -Q.prototype.isActive=function(){return!!cy(this.kB)};Q.prototype.isKinematicObject=function(){return!!dy(this.kB)};Q.prototype.isStaticObject=function(){return!!ey(this.kB)};Q.prototype.isStaticOrKinematicObject=function(){return!!fy(this.kB)};Q.prototype.getRestitution=function(){return gy(this.kB)};Q.prototype.getFriction=function(){return hy(this.kB)};Q.prototype.getRollingFriction=function(){return iy(this.kB)}; -Q.prototype.setRestitution=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jy(c,a)};Q.prototype.setFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ky(c,a)};Q.prototype.setRollingFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ly(c,a)};Q.prototype.getWorldTransform=function(){return k(my(this.kB),r)};Q.prototype.getCollisionFlags=function(){return ny(this.kB)}; -Q.prototype.setCollisionFlags=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);oy(c,a)};Q.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);py(c,a)};Q.prototype.setCollisionShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);qy(c,a)};Q.prototype.setCcdMotionThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ry(c,a)};Q.prototype.setCcdSweptSphereRadius=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);sy(c,a)}; -Q.prototype.getUserIndex=function(){return ty(this.kB)};Q.prototype.setUserIndex=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);uy(c,a)};Q.prototype.getUserPointer=function(){return k(vy(this.kB),XD)};Q.prototype.setUserPointer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wy(c,a)};Q.prototype.getBroadphaseHandle=function(){return k(xy(this.kB),YD)};Q.prototype.getNumOverlappingObjects=function(){return yy(this.kB)}; -Q.prototype.getOverlappingObject=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(zy(c,a),q)};Q.prototype.__destroy__=function(){Ay(this.kB)};function AF(){this.kB=By();h(AF)[this.kB]=this}AF.prototype=Object.create(f.prototype);AF.prototype.constructor=AF;AF.prototype.lB=AF;AF.mB={};b.btGhostPairCallback=AF;AF.prototype.__destroy__=function(){Cy(this.kB)};function S(){this.kB=Dy();h(S)[this.kB]=this}S.prototype=Object.create(f.prototype);S.prototype.constructor=S; -S.prototype.lB=S;S.mB={};b.btSoftBodyWorldInfo=S;S.prototype.get_air_density=S.prototype.cC=function(){return Ey(this.kB)};S.prototype.set_air_density=S.prototype.UE=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Fy(c,a)};Object.defineProperty(S.prototype,"air_density",{get:S.prototype.cC,set:S.prototype.UE});S.prototype.get_water_density=S.prototype.RE=function(){return Gy(this.kB)}; -S.prototype.set_water_density=S.prototype.JH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Hy(c,a)};Object.defineProperty(S.prototype,"water_density",{get:S.prototype.RE,set:S.prototype.JH});S.prototype.get_water_offset=S.prototype.TE=function(){return Iy(this.kB)};S.prototype.set_water_offset=S.prototype.LH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jy(c,a)};Object.defineProperty(S.prototype,"water_offset",{get:S.prototype.TE,set:S.prototype.LH}); -S.prototype.get_m_maxDisplacement=S.prototype.ND=function(){return Ky(this.kB)};S.prototype.set_m_maxDisplacement=S.prototype.EG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ly(c,a)};Object.defineProperty(S.prototype,"m_maxDisplacement",{get:S.prototype.ND,set:S.prototype.EG});S.prototype.get_water_normal=S.prototype.SE=function(){return k(My(this.kB),m)};S.prototype.set_water_normal=S.prototype.KH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ny(c,a)}; -Object.defineProperty(S.prototype,"water_normal",{get:S.prototype.SE,set:S.prototype.KH});S.prototype.get_m_broadphase=S.prototype.MC=function(){return k(Oy(this.kB),VD)};S.prototype.set_m_broadphase=S.prototype.DF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Py(c,a)};Object.defineProperty(S.prototype,"m_broadphase",{get:S.prototype.MC,set:S.prototype.DF});S.prototype.get_m_dispatcher=S.prototype.dD=function(){return k(Qy(this.kB),TD)}; -S.prototype.set_m_dispatcher=S.prototype.VF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ry(c,a)};Object.defineProperty(S.prototype,"m_dispatcher",{get:S.prototype.dD,set:S.prototype.VF});S.prototype.get_m_gravity=S.prototype.mD=function(){return k(Sy(this.kB),m)};S.prototype.set_m_gravity=S.prototype.dG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Ty(c,a)};Object.defineProperty(S.prototype,"m_gravity",{get:S.prototype.mD,set:S.prototype.dG});S.prototype.__destroy__=function(){Uy(this.kB)}; -function U(){throw"cannot construct a Face, no constructor in IDL";}U.prototype=Object.create(f.prototype);U.prototype.constructor=U;U.prototype.lB=U;U.mB={};b.Face=U;U.prototype.get_m_n=U.prototype.MB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Vy(c,a),Node)};U.prototype.set_m_n=U.prototype.WB=function(a,c){var d=this.kB;ND();a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);Wy(d,a,c)};Object.defineProperty(U.prototype,"m_n",{get:U.prototype.MB,set:U.prototype.WB}); -U.prototype.get_m_normal=U.prototype.RD=function(){return k(Xy(this.kB),m)};U.prototype.set_m_normal=U.prototype.IG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Yy(c,a)};Object.defineProperty(U.prototype,"m_normal",{get:U.prototype.RD,set:U.prototype.IG});U.prototype.get_m_ra=U.prototype.$D=function(){return Zy(this.kB)};U.prototype.set_m_ra=U.prototype.SG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$y(c,a)}; -Object.defineProperty(U.prototype,"m_ra",{get:U.prototype.$D,set:U.prototype.SG});U.prototype.__destroy__=function(){az(this.kB)};function BF(){throw"cannot construct a tFaceArray, no constructor in IDL";}BF.prototype=Object.create(f.prototype);BF.prototype.constructor=BF;BF.prototype.lB=BF;BF.mB={};b.tFaceArray=BF;BF.prototype.size=BF.prototype.size=function(){return bz(this.kB)};BF.prototype.at=BF.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(cz(c,a),U)}; -BF.prototype.__destroy__=function(){dz(this.kB)};function Node(){throw"cannot construct a Node, no constructor in IDL";}Node.prototype=Object.create(f.prototype);Node.prototype.constructor=Node;Node.prototype.lB=Node;Node.mB={};b.Node=Node;Node.prototype.get_m_x=Node.prototype.IE=function(){return k(ez(this.kB),m)};Node.prototype.set_m_x=Node.prototype.AH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fz(c,a)};Object.defineProperty(Node.prototype,"m_x",{get:Node.prototype.IE,set:Node.prototype.AH}); -Node.prototype.get_m_q=Node.prototype.ZD=function(){return k(gz(this.kB),m)};Node.prototype.set_m_q=Node.prototype.QG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hz(c,a)};Object.defineProperty(Node.prototype,"m_q",{get:Node.prototype.ZD,set:Node.prototype.QG});Node.prototype.get_m_v=Node.prototype.AE=function(){return k(iz(this.kB),m)};Node.prototype.set_m_v=Node.prototype.sH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jz(c,a)}; -Object.defineProperty(Node.prototype,"m_v",{get:Node.prototype.AE,set:Node.prototype.sH});Node.prototype.get_m_f=Node.prototype.jD=function(){return k(kz(this.kB),m)};Node.prototype.set_m_f=Node.prototype.aG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);lz(c,a)};Object.defineProperty(Node.prototype,"m_f",{get:Node.prototype.jD,set:Node.prototype.aG});Node.prototype.get_m_n=Node.prototype.MB=function(){return k(mz(this.kB),m)}; -Node.prototype.set_m_n=Node.prototype.WB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);nz(c,a)};Object.defineProperty(Node.prototype,"m_n",{get:Node.prototype.MB,set:Node.prototype.WB});Node.prototype.get_m_im=Node.prototype.vD=function(){return oz(this.kB)};Node.prototype.set_m_im=Node.prototype.mG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pz(c,a)};Object.defineProperty(Node.prototype,"m_im",{get:Node.prototype.vD,set:Node.prototype.mG}); -Node.prototype.get_m_area=Node.prototype.JC=function(){return qz(this.kB)};Node.prototype.set_m_area=Node.prototype.AF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);rz(c,a)};Object.defineProperty(Node.prototype,"m_area",{get:Node.prototype.JC,set:Node.prototype.AF});Node.prototype.__destroy__=function(){sz(this.kB)};function CF(){throw"cannot construct a tNodeArray, no constructor in IDL";}CF.prototype=Object.create(f.prototype);CF.prototype.constructor=CF;CF.prototype.lB=CF;CF.mB={}; -b.tNodeArray=CF;CF.prototype.size=CF.prototype.size=function(){return tz(this.kB)};CF.prototype.at=CF.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(uz(c,a),Node)};CF.prototype.__destroy__=function(){vz(this.kB)};function V(){throw"cannot construct a Material, no constructor in IDL";}V.prototype=Object.create(f.prototype);V.prototype.constructor=V;V.prototype.lB=V;V.mB={};b.Material=V;V.prototype.get_m_kLST=V.prototype.BD=function(){return wz(this.kB)}; -V.prototype.set_m_kLST=V.prototype.sG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xz(c,a)};Object.defineProperty(V.prototype,"m_kLST",{get:V.prototype.BD,set:V.prototype.sG});V.prototype.get_m_kAST=V.prototype.AD=function(){return yz(this.kB)};V.prototype.set_m_kAST=V.prototype.rG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zz(c,a)};Object.defineProperty(V.prototype,"m_kAST",{get:V.prototype.AD,set:V.prototype.rG});V.prototype.get_m_kVST=V.prototype.CD=function(){return Az(this.kB)}; -V.prototype.set_m_kVST=V.prototype.tG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Bz(c,a)};Object.defineProperty(V.prototype,"m_kVST",{get:V.prototype.CD,set:V.prototype.tG});V.prototype.get_m_flags=V.prototype.tB=function(){return Cz(this.kB)};V.prototype.set_m_flags=V.prototype.uB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Dz(c,a)};Object.defineProperty(V.prototype,"m_flags",{get:V.prototype.tB,set:V.prototype.uB});V.prototype.__destroy__=function(){Ez(this.kB)}; -function DF(){throw"cannot construct a tMaterialArray, no constructor in IDL";}DF.prototype=Object.create(f.prototype);DF.prototype.constructor=DF;DF.prototype.lB=DF;DF.mB={};b.tMaterialArray=DF;DF.prototype.size=DF.prototype.size=function(){return Fz(this.kB)};DF.prototype.at=DF.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Gz(c,a),V)};DF.prototype.__destroy__=function(){Hz(this.kB)};function W(){throw"cannot construct a Anchor, no constructor in IDL";} -W.prototype=Object.create(f.prototype);W.prototype.constructor=W;W.prototype.lB=W;W.mB={};b.Anchor=W;W.prototype.get_m_node=W.prototype.PD=function(){return k(Iz(this.kB),Node)};W.prototype.set_m_node=W.prototype.GG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Jz(c,a)};Object.defineProperty(W.prototype,"m_node",{get:W.prototype.PD,set:W.prototype.GG});W.prototype.get_m_local=W.prototype.FD=function(){return k(Kz(this.kB),m)}; -W.prototype.set_m_local=W.prototype.wG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Lz(c,a)};Object.defineProperty(W.prototype,"m_local",{get:W.prototype.FD,set:W.prototype.wG});W.prototype.get_m_body=W.prototype.KC=function(){return k(Mz(this.kB),K)};W.prototype.set_m_body=W.prototype.BF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Nz(c,a)};Object.defineProperty(W.prototype,"m_body",{get:W.prototype.KC,set:W.prototype.BF});W.prototype.get_m_influence=W.prototype.yD=function(){return Oz(this.kB)}; -W.prototype.set_m_influence=W.prototype.pG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Pz(c,a)};Object.defineProperty(W.prototype,"m_influence",{get:W.prototype.yD,set:W.prototype.pG});W.prototype.get_m_c0=W.prototype.NC=function(){return k(Qz(this.kB),uE)};W.prototype.set_m_c0=W.prototype.EF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Rz(c,a)};Object.defineProperty(W.prototype,"m_c0",{get:W.prototype.NC,set:W.prototype.EF}); -W.prototype.get_m_c1=W.prototype.OC=function(){return k(Sz(this.kB),m)};W.prototype.set_m_c1=W.prototype.FF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Tz(c,a)};Object.defineProperty(W.prototype,"m_c1",{get:W.prototype.OC,set:W.prototype.FF});W.prototype.get_m_c2=W.prototype.PC=function(){return Uz(this.kB)};W.prototype.set_m_c2=W.prototype.GF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);Vz(c,a)};Object.defineProperty(W.prototype,"m_c2",{get:W.prototype.PC,set:W.prototype.GF}); -W.prototype.__destroy__=function(){Wz(this.kB)};function EF(){throw"cannot construct a tAnchorArray, no constructor in IDL";}EF.prototype=Object.create(f.prototype);EF.prototype.constructor=EF;EF.prototype.lB=EF;EF.mB={};b.tAnchorArray=EF;EF.prototype.size=EF.prototype.size=function(){return Xz(this.kB)};EF.prototype.at=EF.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(Yz(c,a),W)};EF.prototype.clear=EF.prototype.clear=function(){Zz(this.kB)}; -EF.prototype.push_back=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$z(c,a)};EF.prototype.pop_back=function(){aA(this.kB)};EF.prototype.__destroy__=function(){bA(this.kB)};function X(){throw"cannot construct a Config, no constructor in IDL";}X.prototype=Object.create(f.prototype);X.prototype.constructor=X;X.prototype.lB=X;X.mB={};b.Config=X;X.prototype.get_kVCF=X.prototype.zC=function(){return cA(this.kB)}; -X.prototype.set_kVCF=X.prototype.qF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);dA(c,a)};Object.defineProperty(X.prototype,"kVCF",{get:X.prototype.zC,set:X.prototype.qF});X.prototype.get_kDP=X.prototype.mC=function(){return eA(this.kB)};X.prototype.set_kDP=X.prototype.dF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);fA(c,a)};Object.defineProperty(X.prototype,"kDP",{get:X.prototype.mC,set:X.prototype.dF});X.prototype.get_kDG=X.prototype.lC=function(){return gA(this.kB)}; -X.prototype.set_kDG=X.prototype.cF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);hA(c,a)};Object.defineProperty(X.prototype,"kDG",{get:X.prototype.lC,set:X.prototype.cF});X.prototype.get_kLF=X.prototype.oC=function(){return iA(this.kB)};X.prototype.set_kLF=X.prototype.fF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);jA(c,a)};Object.defineProperty(X.prototype,"kLF",{get:X.prototype.oC,set:X.prototype.fF});X.prototype.get_kPR=X.prototype.qC=function(){return kA(this.kB)}; -X.prototype.set_kPR=X.prototype.hF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);lA(c,a)};Object.defineProperty(X.prototype,"kPR",{get:X.prototype.qC,set:X.prototype.hF});X.prototype.get_kVC=X.prototype.yC=function(){return mA(this.kB)};X.prototype.set_kVC=X.prototype.pF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);nA(c,a)};Object.defineProperty(X.prototype,"kVC",{get:X.prototype.yC,set:X.prototype.pF});X.prototype.get_kDF=X.prototype.kC=function(){return oA(this.kB)}; -X.prototype.set_kDF=X.prototype.bF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pA(c,a)};Object.defineProperty(X.prototype,"kDF",{get:X.prototype.kC,set:X.prototype.bF});X.prototype.get_kMT=X.prototype.pC=function(){return qA(this.kB)};X.prototype.set_kMT=X.prototype.gF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);rA(c,a)};Object.defineProperty(X.prototype,"kMT",{get:X.prototype.pC,set:X.prototype.gF});X.prototype.get_kCHR=X.prototype.jC=function(){return sA(this.kB)}; -X.prototype.set_kCHR=X.prototype.aF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);tA(c,a)};Object.defineProperty(X.prototype,"kCHR",{get:X.prototype.jC,set:X.prototype.aF});X.prototype.get_kKHR=X.prototype.nC=function(){return uA(this.kB)};X.prototype.set_kKHR=X.prototype.eF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);vA(c,a)};Object.defineProperty(X.prototype,"kKHR",{get:X.prototype.nC,set:X.prototype.eF});X.prototype.get_kSHR=X.prototype.rC=function(){return wA(this.kB)}; -X.prototype.set_kSHR=X.prototype.iF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xA(c,a)};Object.defineProperty(X.prototype,"kSHR",{get:X.prototype.rC,set:X.prototype.iF});X.prototype.get_kAHR=X.prototype.iC=function(){return yA(this.kB)};X.prototype.set_kAHR=X.prototype.$E=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);zA(c,a)};Object.defineProperty(X.prototype,"kAHR",{get:X.prototype.iC,set:X.prototype.$E});X.prototype.get_kSRHR_CL=X.prototype.uC=function(){return AA(this.kB)}; -X.prototype.set_kSRHR_CL=X.prototype.lF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);BA(c,a)};Object.defineProperty(X.prototype,"kSRHR_CL",{get:X.prototype.uC,set:X.prototype.lF});X.prototype.get_kSKHR_CL=X.prototype.sC=function(){return CA(this.kB)};X.prototype.set_kSKHR_CL=X.prototype.jF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);DA(c,a)};Object.defineProperty(X.prototype,"kSKHR_CL",{get:X.prototype.sC,set:X.prototype.jF});X.prototype.get_kSSHR_CL=X.prototype.wC=function(){return EA(this.kB)}; -X.prototype.set_kSSHR_CL=X.prototype.nF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);FA(c,a)};Object.defineProperty(X.prototype,"kSSHR_CL",{get:X.prototype.wC,set:X.prototype.nF});X.prototype.get_kSR_SPLT_CL=X.prototype.vC=function(){return GA(this.kB)};X.prototype.set_kSR_SPLT_CL=X.prototype.mF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);HA(c,a)};Object.defineProperty(X.prototype,"kSR_SPLT_CL",{get:X.prototype.vC,set:X.prototype.mF}); -X.prototype.get_kSK_SPLT_CL=X.prototype.tC=function(){return IA(this.kB)};X.prototype.set_kSK_SPLT_CL=X.prototype.kF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);JA(c,a)};Object.defineProperty(X.prototype,"kSK_SPLT_CL",{get:X.prototype.tC,set:X.prototype.kF});X.prototype.get_kSS_SPLT_CL=X.prototype.xC=function(){return KA(this.kB)};X.prototype.set_kSS_SPLT_CL=X.prototype.oF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);LA(c,a)}; -Object.defineProperty(X.prototype,"kSS_SPLT_CL",{get:X.prototype.xC,set:X.prototype.oF});X.prototype.get_maxvolume=X.prototype.JE=function(){return MA(this.kB)};X.prototype.set_maxvolume=X.prototype.BH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);NA(c,a)};Object.defineProperty(X.prototype,"maxvolume",{get:X.prototype.JE,set:X.prototype.BH});X.prototype.get_timescale=X.prototype.OE=function(){return OA(this.kB)}; -X.prototype.set_timescale=X.prototype.GH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);PA(c,a)};Object.defineProperty(X.prototype,"timescale",{get:X.prototype.OE,set:X.prototype.GH});X.prototype.get_viterations=X.prototype.QE=function(){return QA(this.kB)};X.prototype.set_viterations=X.prototype.IH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);RA(c,a)};Object.defineProperty(X.prototype,"viterations",{get:X.prototype.QE,set:X.prototype.IH}); -X.prototype.get_piterations=X.prototype.ME=function(){return SA(this.kB)};X.prototype.set_piterations=X.prototype.EH=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);TA(c,a)};Object.defineProperty(X.prototype,"piterations",{get:X.prototype.ME,set:X.prototype.EH});X.prototype.get_diterations=X.prototype.fC=function(){return UA(this.kB)};X.prototype.set_diterations=X.prototype.XE=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);VA(c,a)}; -Object.defineProperty(X.prototype,"diterations",{get:X.prototype.fC,set:X.prototype.XE});X.prototype.get_citerations=X.prototype.dC=function(){return WA(this.kB)};X.prototype.set_citerations=X.prototype.VE=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);XA(c,a)};Object.defineProperty(X.prototype,"citerations",{get:X.prototype.dC,set:X.prototype.VE});X.prototype.get_collisions=X.prototype.eC=function(){return YA(this.kB)}; -X.prototype.set_collisions=X.prototype.WE=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);ZA(c,a)};Object.defineProperty(X.prototype,"collisions",{get:X.prototype.eC,set:X.prototype.WE});X.prototype.__destroy__=function(){$A(this.kB)};function Y(a,c,d,e){ND();a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);"object"==typeof e&&(e=RD(e));this.kB=aB(a,c,d,e);h(Y)[this.kB]=this}Y.prototype=Object.create(q.prototype); -Y.prototype.constructor=Y;Y.prototype.lB=Y;Y.mB={};b.btSoftBody=Y;Y.prototype.checkLink=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return!!bB(d,a,c)};Y.prototype.checkFace=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);return!!cB(e,a,c,d)};Y.prototype.appendMaterial=function(){return k(dB(this.kB),V)}; -Y.prototype.appendNode=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);eB(d,a,c)};Y.prototype.appendLink=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);fB(g,a,c,d,e)}; -Y.prototype.appendFace=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);gB(g,a,c,d,e)};Y.prototype.appendTetra=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);hB(n,a,c,d,e,g)}; -Y.prototype.appendAnchor=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);iB(g,a,c,d,e)};Y.prototype.addForce=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);void 0===c?jB(d,a):kB(d,a,c)};Y.prototype.addAeroForceToNode=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);lB(d,a,c)}; -Y.prototype.getTotalMass=function(){return mB(this.kB)};Y.prototype.setTotalMass=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);nB(d,a,c)};Y.prototype.setMass=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);oB(d,a,c)};Y.prototype.transform=Y.prototype.transform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);pB(c,a)}; -Y.prototype.translate=Y.prototype.translate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);qB(c,a)};Y.prototype.rotate=Y.prototype.rotate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);rB(c,a)};Y.prototype.scale=Y.prototype.scale=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);sB(c,a)};Y.prototype.generateClusters=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return void 0===c?tB(d,a):uB(d,a,c)}; -Y.prototype.generateBendingConstraints=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);return vB(d,a,c)};Y.prototype.upcast=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(wB(c,a),Y)};Y.prototype.getRestLengthScale=function(){return xB(this.kB)};Y.prototype.setRestLengthScale=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);yB(c,a)}; -Y.prototype.setAnisotropicFriction=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);zB(d,a,c)};Y.prototype.getCollisionShape=function(){return k(AB(this.kB),l)};Y.prototype.setContactProcessingThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);BB(c,a)};Y.prototype.setActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);CB(c,a)}; -Y.prototype.forceActivationState=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);DB(c,a)};Y.prototype.activate=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);void 0===a?EB(c):FB(c,a)};Y.prototype.isActive=function(){return!!GB(this.kB)};Y.prototype.isKinematicObject=function(){return!!HB(this.kB)};Y.prototype.isStaticObject=function(){return!!IB(this.kB)};Y.prototype.isStaticOrKinematicObject=function(){return!!JB(this.kB)};Y.prototype.getRestitution=function(){return KB(this.kB)}; -Y.prototype.getFriction=function(){return LB(this.kB)};Y.prototype.getRollingFriction=function(){return MB(this.kB)};Y.prototype.setRestitution=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);NB(c,a)};Y.prototype.setFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);OB(c,a)};Y.prototype.setRollingFriction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);PB(c,a)};Y.prototype.getWorldTransform=function(){return k(QB(this.kB),r)};Y.prototype.getCollisionFlags=function(){return RB(this.kB)}; -Y.prototype.setCollisionFlags=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);SB(c,a)};Y.prototype.setWorldTransform=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);TB(c,a)};Y.prototype.setCollisionShape=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);UB(c,a)};Y.prototype.setCcdMotionThreshold=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);VB(c,a)};Y.prototype.setCcdSweptSphereRadius=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);WB(c,a)}; -Y.prototype.getUserIndex=function(){return XB(this.kB)};Y.prototype.setUserIndex=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);YB(c,a)};Y.prototype.getUserPointer=function(){return k(ZB(this.kB),XD)};Y.prototype.setUserPointer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);$B(c,a)};Y.prototype.getBroadphaseHandle=function(){return k(aC(this.kB),YD)};Y.prototype.get_m_cfg=Y.prototype.QC=function(){return k(bC(this.kB),X)}; -Y.prototype.set_m_cfg=Y.prototype.HF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);cC(c,a)};Object.defineProperty(Y.prototype,"m_cfg",{get:Y.prototype.QC,set:Y.prototype.HF});Y.prototype.get_m_nodes=Y.prototype.QD=function(){return k(dC(this.kB),CF)};Y.prototype.set_m_nodes=Y.prototype.HG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);eC(c,a)};Object.defineProperty(Y.prototype,"m_nodes",{get:Y.prototype.QD,set:Y.prototype.HG}); -Y.prototype.get_m_faces=Y.prototype.KB=function(){return k(fC(this.kB),BF)};Y.prototype.set_m_faces=Y.prototype.UB=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);gC(c,a)};Object.defineProperty(Y.prototype,"m_faces",{get:Y.prototype.KB,set:Y.prototype.UB});Y.prototype.get_m_materials=Y.prototype.MD=function(){return k(hC(this.kB),DF)};Y.prototype.set_m_materials=Y.prototype.DG=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);iC(c,a)}; -Object.defineProperty(Y.prototype,"m_materials",{get:Y.prototype.MD,set:Y.prototype.DG});Y.prototype.get_m_anchors=Y.prototype.GC=function(){return k(jC(this.kB),EF)};Y.prototype.set_m_anchors=Y.prototype.xF=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);kC(c,a)};Object.defineProperty(Y.prototype,"m_anchors",{get:Y.prototype.GC,set:Y.prototype.xF});Y.prototype.__destroy__=function(){lC(this.kB)}; -function FF(a){a&&"object"===typeof a&&(a=a.kB);this.kB=void 0===a?mC():nC(a);h(FF)[this.kB]=this}FF.prototype=Object.create(nE.prototype);FF.prototype.constructor=FF;FF.prototype.lB=FF;FF.mB={};b.btSoftBodyRigidBodyCollisionConfiguration=FF;FF.prototype.__destroy__=function(){oC(this.kB)};function GF(){this.kB=pC();h(GF)[this.kB]=this}GF.prototype=Object.create(sE.prototype);GF.prototype.constructor=GF;GF.prototype.lB=GF;GF.mB={};b.btDefaultSoftBodySolver=GF;GF.prototype.__destroy__=function(){qC(this.kB)}; -function HF(){throw"cannot construct a btSoftBodyArray, no constructor in IDL";}HF.prototype=Object.create(f.prototype);HF.prototype.constructor=HF;HF.prototype.lB=HF;HF.mB={};b.btSoftBodyArray=HF;HF.prototype.size=HF.prototype.size=function(){return rC(this.kB)};HF.prototype.at=HF.prototype.at=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);return k(sC(c,a),Y)};HF.prototype.__destroy__=function(){tC(this.kB)}; -function Z(a,c,d,e,g){a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);this.kB=uC(a,c,d,e,g);h(Z)[this.kB]=this}Z.prototype=Object.create(x.prototype);Z.prototype.constructor=Z;Z.prototype.lB=Z;Z.mB={};b.btSoftRigidDynamicsWorld=Z; -Z.prototype.addSoftBody=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);vC(e,a,c,d)};Z.prototype.removeSoftBody=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);wC(c,a)};Z.prototype.removeCollisionObject=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);xC(c,a)};Z.prototype.getWorldInfo=function(){return k(yC(this.kB),S)};Z.prototype.getSoftBodyArray=function(){return k(zC(this.kB),HF)}; -Z.prototype.getDispatcher=function(){return k(AC(this.kB),TD)};Z.prototype.rayTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);BC(e,a,c,d)};Z.prototype.getPairCache=function(){return k(CC(this.kB),UD)};Z.prototype.getDispatchInfo=function(){return k(DC(this.kB),p)}; -Z.prototype.addCollisionObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?EC(e,a):void 0===d?FC(e,a,c):GC(e,a,c,d)};Z.prototype.getBroadphase=function(){return k(HC(this.kB),VD)}; -Z.prototype.convexSweepTest=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);IC(n,a,c,d,e,g)};Z.prototype.contactPairTest=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);JC(e,a,c,d)}; -Z.prototype.contactTest=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);KC(d,a,c)};Z.prototype.updateSingleAabb=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);LC(c,a)};Z.prototype.setDebugDrawer=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);MC(c,a)};Z.prototype.getDebugDrawer=function(){return k(NC(this.kB),WD)};Z.prototype.debugDrawWorld=function(){OC(this.kB)}; -Z.prototype.debugDrawObject=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);PC(e,a,c,d)};Z.prototype.setGravity=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);QC(c,a)};Z.prototype.getGravity=function(){return k(RC(this.kB),m)}; -Z.prototype.addRigidBody=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?SC(e,a):void 0===d?_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(e,a,c):TC(e,a,c,d)};Z.prototype.removeRigidBody=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);UC(c,a)}; -Z.prototype.addConstraint=function(a,c){var d=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);void 0===c?VC(d,a):WC(d,a,c)};Z.prototype.removeConstraint=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);XC(c,a)};Z.prototype.stepSimulation=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);return void 0===c?YC(e,a):void 0===d?ZC(e,a,c):$C(e,a,c,d)}; -Z.prototype.setContactAddedCallback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);aD(c,a)};Z.prototype.setContactProcessedCallback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);bD(c,a)};Z.prototype.setContactDestroyedCallback=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);cD(c,a)};Z.prototype.addAction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);dD(c,a)};Z.prototype.removeAction=function(a){var c=this.kB;a&&"object"===typeof a&&(a=a.kB);eD(c,a)}; -Z.prototype.getSolverInfo=function(){return k(fD(this.kB),t)};Z.prototype.setInternalTickCallback=function(a,c,d){var e=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);void 0===c?gD(e,a):void 0===d?hD(e,a,c):iD(e,a,c,d)};Z.prototype.__destroy__=function(){jD(this.kB)};function IF(){this.kB=kD();h(IF)[this.kB]=this}IF.prototype=Object.create(f.prototype);IF.prototype.constructor=IF;IF.prototype.lB=IF;IF.mB={};b.btSoftBodyHelpers=IF; -IF.prototype.CreateRope=function(a,c,d,e,g){var n=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);return k(lD(n,a,c,d,e,g),Y)}; -IF.prototype.CreatePatch=function(a,c,d,e,g,n,z,T,Da){var dc=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);n&&"object"===typeof n&&(n=n.kB);z&&"object"===typeof z&&(z=z.kB);T&&"object"===typeof T&&(T=T.kB);Da&&"object"===typeof Da&&(Da=Da.kB);return k(mD(dc,a,c,d,e,g,n,z,T,Da),Y)}; -IF.prototype.CreatePatchUV=function(a,c,d,e,g,n,z,T,Da,dc){var JF=this.kB;ND();a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);n&&"object"===typeof n&&(n=n.kB);z&&"object"===typeof z&&(z=z.kB);T&&"object"===typeof T&&(T=T.kB);Da&&"object"===typeof Da&&(Da=Da.kB);"object"==typeof dc&&(dc=RD(dc));return k(nD(JF,a,c,d,e,g,n,z,T,Da,dc),Y)}; -IF.prototype.CreateEllipsoid=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);return k(oD(g,a,c,d,e),Y)}; -IF.prototype.CreateFromTriMesh=function(a,c,d,e,g){var n=this.kB;ND();a&&"object"===typeof a&&(a=a.kB);"object"==typeof c&&(c=RD(c));if("object"==typeof d&&"object"===typeof d){var z=OD(d,va);PD(d,va,z);d=z}e&&"object"===typeof e&&(e=e.kB);g&&"object"===typeof g&&(g=g.kB);return k(pD(n,a,c,d,e,g),Y)}; -IF.prototype.CreateFromConvexHull=function(a,c,d,e){var g=this.kB;a&&"object"===typeof a&&(a=a.kB);c&&"object"===typeof c&&(c=c.kB);d&&"object"===typeof d&&(d=d.kB);e&&"object"===typeof e&&(e=e.kB);return k(qD(g,a,c,d,e),Y)};IF.prototype.__destroy__=function(){rD(this.kB)}; -(function(){function a(){b.PHY_FLOAT=sD();b.PHY_DOUBLE=tD();b.PHY_INTEGER=uD();b.PHY_SHORT=vD();b.PHY_FIXEDPOINT88=wD();b.PHY_UCHAR=xD();b.CONST_GIMPACT_COMPOUND_SHAPE=yD();b.CONST_GIMPACT_TRIMESH_SHAPE_PART=zD();b.CONST_GIMPACT_TRIMESH_SHAPE=AD();b.BT_CONSTRAINT_ERP=BD();b.BT_CONSTRAINT_STOP_ERP=CD();b.BT_CONSTRAINT_CFM=DD();b.BT_CONSTRAINT_STOP_CFM=ED()}Ca?a():Aa.unshift(a)})();b.CONTACT_ADDED_CALLBACK_SIGNATURE="iiiiiiii";b.CONTACT_DESTROYED_CALLBACK_SIGNATURE="ii"; -b.CONTACT_PROCESSED_CALLBACK_SIGNATURE="iiii";b.INTERNAL_TICK_CALLBACK_SIGNATURE="vif";this.Ammo=b; - - - return Ammo.ready -} - -); + return Ammo.ready; + }; })(); -if (typeof exports === 'object' && typeof module === 'object') +if (typeof exports === "object" && typeof module === "object") module.exports = Ammo; -else if (typeof define === 'function' && define['amd']) - define([], function() { return Ammo; }); -else if (typeof exports === 'object') - exports["Ammo"] = Ammo; +else if (typeof define === "function" && define["amd"]) + define([], function () { + return Ammo; + }); +else if (typeof exports === "object") exports["Ammo"] = Ammo; diff --git a/apps/artcraft-web-app/app/public/resources/fonts/CarterOneRegular.json b/apps/artcraft-web-app/app/public/resources/fonts/CarterOneRegular.json index 3ce2206375..ddbd1c7bf8 100644 --- a/apps/artcraft-web-app/app/public/resources/fonts/CarterOneRegular.json +++ b/apps/artcraft-web-app/app/public/resources/fonts/CarterOneRegular.json @@ -1,1647 +1,1647 @@ { - "glyphs": { - "0": { - "ha": 1105, - "x_min": 94, - "x_max": 1096, - "o": "m 94 460 q 126 677 94 576 q 225 853 159 778 q 388 970 290 928 q 617 1013 486 1013 q 767 994 699 1013 q 888 940 835 975 q 980 859 941 906 q 1045 755 1019 811 q 1083 637 1071 699 q 1096 510 1096 574 q 1059 280 1096 382 q 954 109 1021 179 q 791 2 886 39 q 581 -35 696 -35 q 384 0 473 -35 q 230 99 294 35 q 130 255 165 164 q 94 460 94 347 m 387 486 q 395 376 387 432 q 426 275 404 321 q 487 201 448 230 q 587 173 526 173 q 663 188 630 173 q 721 228 696 203 q 762 287 745 254 q 789 359 779 321 q 804 437 800 397 q 808 514 808 477 q 804 578 808 545 q 790 646 800 612 q 765 710 781 680 q 728 763 749 740 q 677 800 706 787 q 610 814 648 814 q 533 800 566 814 q 474 762 499 786 q 432 707 449 739 q 406 638 416 675 q 391 563 395 602 q 387 486 387 524 z " - }, - "1": { - "ha": 468, - "x_min": 112, - "x_max": 441, - "o": "m 153 876 q 156 910 154 900 q 172 922 159 920 l 407 979 q 425 981 417 981 q 438 975 434 981 q 441 952 441 969 l 401 113 q 399 87 401 98 q 393 71 397 77 q 383 61 389 64 q 369 54 377 57 l 157 -8 q 141 -10 149 -10 q 121 -4 130 -10 q 112 20 112 3 q 112 22 112 20 q 113 35 112 24 q 114 67 113 45 q 117 130 115 90 q 122 232 119 170 q 129 384 125 294 q 139 595 134 474 q 153 876 145 717 z " - }, - "2": { - "ha": 768, - "x_min": 67, - "x_max": 758, - "o": "m 682 613 q 663 579 676 602 q 633 528 650 557 q 595 466 615 499 q 554 400 574 433 q 514 336 533 367 q 480 282 494 306 q 456 245 465 259 q 448 231 448 231 q 453 231 448 231 q 480 232 461 231 q 523 236 498 234 q 575 241 547 238 q 631 246 604 244 q 683 250 659 248 q 723 252 707 252 q 758 237 758 252 q 752 218 758 227 q 747 207 747 208 l 650 24 q 648 21 648 24 q 646 18 648 18 q 621 3 633 5 q 602 1 610 2 q 500 -1 544 0 q 420 -2 456 -1 q 356 -2 385 -2 q 299 -3 327 -3 q 244 -3 272 -3 q 183 -3 216 -3 q 93 7 118 -3 q 67 37 67 17 q 76 67 67 50 q 100 106 85 84 q 188 231 143 168 q 273 353 233 294 q 348 461 314 411 q 404 545 382 511 q 430 598 422 574 q 438 645 438 623 q 427 693 438 672 q 396 729 416 714 q 349 751 376 743 q 292 758 323 758 q 214 746 254 758 q 135 709 174 734 q 113 701 121 701 q 103 707 106 701 q 101 718 101 713 q 108 780 101 745 q 123 848 115 815 q 138 904 132 880 q 145 931 145 928 q 163 944 146 931 q 216 971 180 956 q 310 1000 252 987 q 450 1013 367 1013 q 548 992 498 1013 q 636 937 597 972 q 699 854 675 902 q 724 751 724 806 q 713 684 724 718 q 682 613 703 650 z " - }, - "3": { - "ha": 752, - "x_min": 65, - "x_max": 730, - "o": "m 441 -33 q 413 -35 427 -34 q 387 -35 399 -35 q 315 -31 349 -35 q 249 -17 281 -26 q 183 6 216 -7 q 111 35 149 19 q 97 44 102 37 q 91 58 93 50 q 89 75 90 66 q 88 90 89 83 q 84 120 87 98 q 78 167 81 142 q 71 213 75 191 q 66 243 68 235 q 65 249 65 245 q 72 264 65 258 q 87 270 79 270 q 93 269 90 270 q 142 237 117 254 q 195 208 167 221 q 256 186 224 195 q 329 177 289 177 q 406 198 380 177 q 431 271 431 220 q 428 308 431 288 q 414 345 425 328 q 383 374 404 362 q 330 386 363 386 l 208 386 q 210 405 208 389 q 215 443 212 420 q 221 489 218 465 q 228 535 224 514 q 233 572 231 557 q 236 588 235 587 q 244 617 240 610 q 253 625 249 625 q 278 620 265 621 q 304 618 291 618 q 377 644 351 618 q 404 717 404 669 q 399 749 404 733 q 384 776 394 764 q 357 795 373 788 q 319 803 341 803 q 269 800 294 803 q 219 792 243 797 q 171 781 194 787 q 129 768 148 774 q 131 802 131 781 q 131 823 131 812 q 130 845 130 833 q 132 888 130 866 q 138 928 133 909 q 151 960 142 946 q 176 978 160 973 q 241 997 214 990 q 292 1007 269 1004 q 340 1011 316 1010 q 394 1013 363 1013 q 507 998 450 1013 q 611 951 564 983 q 687 872 657 920 q 716 759 716 825 q 704 681 716 716 q 674 618 692 646 q 635 569 656 590 q 595 534 614 549 q 640 504 616 523 q 683 456 663 486 q 716 386 703 427 q 730 290 730 345 q 708 177 730 233 q 647 77 686 121 q 555 2 608 32 q 441 -33 503 -27 z " - }, - "4": { - "ha": 917, - "x_min": 16, - "x_max": 914, - "o": "m 913 387 q 910 372 912 382 q 905 348 907 361 q 900 319 903 335 q 894 289 897 304 l 878 212 q 873 196 876 201 q 858 189 869 191 q 823 187 846 187 q 758 187 800 187 l 746 63 q 743 51 745 57 q 734 42 741 45 q 712 33 730 40 q 671 18 695 26 q 621 -1 648 9 q 569 -19 593 -11 q 526 -33 545 -27 q 500 -38 507 -38 q 483 -33 490 -38 q 476 -14 476 -28 q 479 69 476 19 q 488 184 482 119 q 374 183 430 184 q 269 182 317 182 q 184 182 220 182 q 129 182 147 182 q 43 186 69 182 q 16 205 16 190 q 23 224 16 213 q 45 261 29 234 q 84 326 62 288 q 134 408 107 363 q 188 497 161 452 l 329 730 q 375 813 355 772 q 419 888 395 854 q 476 947 443 922 q 564 983 510 972 l 779 1040 q 797 1042 789 1042 q 809 1038 804 1042 q 813 1021 813 1034 l 813 1013 q 808 899 810 950 q 802 803 805 848 q 797 715 800 758 q 791 627 793 673 q 785 531 788 582 q 780 416 783 479 q 855 418 825 418 q 890 419 884 419 q 906 413 898 418 q 914 395 914 409 q 913 387 914 389 m 507 408 q 521 506 515 454 q 531 612 527 558 q 538 718 535 665 q 543 821 541 771 l 296 408 l 507 408 z " - }, - "5": { - "ha": 732, - "x_min": 41, - "x_max": 715, - "o": "m 96 188 q 103 195 98 191 q 116 199 108 199 l 120 199 q 169 194 146 195 q 223 193 192 193 q 291 198 258 193 q 349 216 323 203 q 391 255 375 230 q 406 320 406 280 q 388 394 406 367 q 340 433 370 420 q 276 449 311 446 q 206 452 241 452 q 182 452 193 452 q 163 452 172 452 q 134 455 142 452 q 126 471 126 458 q 127 482 126 476 q 129 496 127 488 q 139 619 131 557 q 157 742 146 680 q 178 864 167 803 q 198 986 189 925 q 452 1015 327 1001 q 707 1046 576 1029 q 715 1031 715 1046 q 713 1019 715 1024 q 709 1005 713 1017 q 701 976 706 994 q 690 937 696 958 q 679 893 684 915 q 667 853 673 872 q 658 821 662 833 q 635 785 651 798 q 596 766 618 772 q 549 757 574 759 q 496 755 523 755 q 452 755 475 755 q 409 755 429 755 q 382 753 393 755 q 363 744 371 751 q 353 722 356 736 q 349 684 349 708 q 493 660 427 680 q 609 601 559 640 q 687 503 659 562 q 715 360 715 444 q 693 223 715 283 q 634 120 671 164 q 548 46 597 76 q 441 -2 498 16 q 324 -27 385 -20 q 206 -35 264 -35 q 123 -31 163 -35 q 52 -10 83 -26 q 45 -5 49 -9 q 41 1 41 -1 l 96 188 z " - }, - "6": { - "ha": 873, - "x_min": 79, - "x_max": 875, - "o": "m 450 -35 q 287 -3 356 -35 q 171 82 217 28 q 101 208 124 136 q 79 361 79 280 q 95 484 79 425 q 139 596 111 542 q 202 702 166 650 q 278 802 239 753 q 357 899 317 851 q 432 994 397 946 q 443 1008 437 1000 q 456 1022 449 1016 q 470 1033 463 1029 q 487 1038 477 1038 l 657 1038 q 686 1033 674 1038 q 699 1018 699 1028 q 688 996 699 1008 q 579 848 628 926 q 487 685 530 770 q 534 694 511 692 q 581 697 556 697 q 711 668 656 697 q 803 592 766 639 q 857 488 839 546 q 875 372 875 430 q 848 206 875 281 q 767 78 821 131 q 634 -5 713 24 q 450 -35 554 -35 m 387 325 q 391 280 387 305 q 404 231 394 254 q 430 192 414 208 q 473 176 447 176 q 518 187 499 176 q 549 216 536 198 q 570 256 562 233 q 581 303 577 279 q 586 351 585 327 q 587 393 587 374 q 585 441 587 416 q 575 486 583 466 q 550 518 566 505 q 504 531 533 531 q 442 510 465 531 q 407 458 419 489 q 391 391 395 427 q 387 325 387 355 z " - }, - "7": { - "ha": 723, - "x_min": 69, - "x_max": 791, - "o": "m 770 897 l 621 517 q 561 366 591 441 q 505 222 531 290 q 457 102 478 155 q 425 21 436 50 q 410 -17 414 -3 q 401 -36 405 -30 q 393 -45 397 -43 q 380 -49 389 -47 q 326 -61 354 -55 q 271 -71 298 -66 q 219 -80 244 -76 q 174 -87 194 -84 q 167 -87 172 -87 q 150 -81 155 -87 q 144 -64 144 -74 q 151 -40 144 -54 q 174 16 157 -24 q 214 111 191 56 q 264 231 237 166 q 319 362 292 296 l 458 701 l 321 700 q 263 700 293 700 q 206 699 234 699 q 154 699 178 699 q 111 699 129 699 q 80 702 90 699 q 69 714 69 705 q 73 732 69 723 q 77 742 77 741 q 103 798 90 771 q 129 850 116 825 q 154 903 141 876 q 179 958 166 929 q 181 961 180 960 q 182 964 181 963 q 205 980 194 977 q 225 982 216 982 q 357 983 300 983 q 460 984 414 984 q 544 985 507 985 q 617 986 582 985 q 688 986 652 986 q 766 986 724 986 q 791 964 791 986 q 786 937 791 954 q 770 897 781 921 z " - }, - "8": { - "ha": 868, - "x_min": 76, - "x_max": 848, - "o": "m 425 -35 q 341 -28 383 -35 q 261 -6 300 -21 q 189 32 222 9 q 130 87 155 55 q 90 159 104 119 q 76 251 76 200 q 89 339 76 300 q 123 411 101 378 q 173 475 144 445 q 234 536 202 505 q 160 619 183 571 q 137 726 137 667 q 152 817 137 777 q 195 890 168 858 q 259 945 222 922 q 339 983 296 968 q 429 1006 382 998 q 526 1013 477 1013 q 626 997 575 1013 q 716 948 676 980 q 782 870 757 916 q 808 765 808 824 q 799 702 808 732 q 777 647 791 673 q 746 598 764 621 q 710 557 728 576 q 764 512 739 537 q 808 455 789 487 q 838 382 827 422 q 848 290 848 341 q 830 190 848 235 q 781 109 812 145 q 707 46 749 73 q 618 1 665 19 q 522 -26 572 -17 q 425 -35 472 -35 m 381 269 q 385 213 381 243 q 398 156 388 182 q 428 111 409 129 q 478 93 447 93 q 510 104 496 93 q 532 133 523 115 q 548 173 542 151 q 557 216 554 195 q 562 257 561 238 q 564 288 564 276 q 558 339 564 311 q 541 393 553 368 q 511 435 530 418 q 468 452 493 452 q 434 442 448 452 q 411 417 420 433 q 396 382 401 402 q 387 342 390 363 q 382 303 383 322 q 381 269 381 283 m 391 742 q 396 699 391 722 q 413 656 401 676 q 441 623 424 636 q 484 610 458 610 q 522 626 508 610 q 543 666 536 643 q 552 715 550 690 q 553 756 553 740 q 549 796 553 775 q 536 834 545 817 q 511 863 527 851 q 473 874 496 874 q 433 861 449 874 q 408 828 417 848 q 395 785 399 808 q 391 742 391 762 z " - }, - "9": { - "ha": 899, - "x_min": 74, - "x_max": 905, - "o": "m 417 -14 q 399 2 399 -9 q 406 18 399 9 q 444 80 426 47 q 478 149 463 113 q 506 218 493 184 q 527 283 518 253 q 456 267 492 273 q 384 261 419 261 q 261 289 318 261 q 163 362 205 316 q 98 468 121 408 q 74 592 74 528 q 93 714 74 657 q 147 817 113 770 q 228 900 181 863 q 328 961 274 937 q 439 999 381 986 q 557 1013 498 1013 q 700 977 636 1013 q 810 884 764 941 q 880 756 855 827 q 905 614 905 685 q 889 484 905 547 q 847 360 873 420 q 786 244 821 300 q 713 135 751 188 q 634 33 674 82 q 558 -62 595 -16 q 553 -66 556 -64 q 545 -68 550 -68 q 536 -66 541 -68 q 504 -49 518 -56 q 476 -35 490 -41 q 448 -24 463 -29 q 417 -14 434 -18 m 371 642 q 379 573 371 606 q 405 515 387 541 q 450 475 422 490 q 517 460 477 460 q 543 462 532 460 q 571 471 553 465 q 583 523 578 501 q 590 564 588 545 q 594 602 593 583 q 595 646 595 621 q 594 681 595 661 q 589 722 593 701 q 580 764 586 743 q 563 800 574 784 q 537 825 553 815 q 500 835 522 835 q 437 816 463 835 q 397 769 412 798 q 377 706 382 741 q 371 642 371 672 z " - }, - " ": { - "ha": 298, - "x_min": 0, - "x_max": 0, - "o": "" - }, - " ": { - "ha": 298, - "x_min": 0, - "x_max": 0, - "o": "" - }, - "!": { - "ha": 373, - "x_min": 49, - "x_max": 416, - "o": "m 362 793 q 320 582 340 688 q 281 369 299 477 q 277 338 280 347 q 262 327 274 329 q 210 317 235 322 q 155 304 184 311 q 149 306 150 304 q 148 311 148 307 l 141 981 q 146 1011 142 1002 q 161 1023 149 1020 q 277 1052 218 1036 q 402 1086 336 1069 q 408 1086 404 1086 q 416 1080 416 1086 q 413 1063 416 1079 q 406 1022 410 1047 q 396 965 401 997 q 385 902 391 934 q 373 842 378 871 q 362 793 367 813 m 338 232 q 335 187 336 203 q 334 164 334 172 q 333 154 333 156 q 333 151 333 152 q 332 147 332 150 q 331 134 332 144 q 329 105 330 124 q 325 53 328 86 q 320 22 323 31 q 305 11 317 14 q 184 -13 248 -1 q 62 -45 121 -26 q 56 -46 60 -46 l 50 -41 q 49 -39 49 -39 l 64 146 q 68 177 65 168 q 83 189 71 186 q 200 212 141 199 q 325 238 259 224 q 331 239 327 239 q 338 232 338 239 z " - }, - "\"": { - "ha": 747, - "x_min": 118, - "x_max": 802, - "o": "m 136 532 q 127 733 131 628 q 118 941 123 838 l 118 949 q 122 974 118 967 q 138 982 126 980 q 205 982 170 982 q 276 983 241 983 q 347 983 312 983 q 412 983 381 983 q 422 980 418 983 q 427 967 427 977 l 427 963 l 321 531 q 316 512 318 520 q 312 500 315 505 q 306 493 310 495 q 296 490 302 490 q 225 490 260 490 q 150 489 191 489 q 142 494 144 489 q 138 507 139 500 q 136 522 136 514 q 136 532 136 529 m 511 532 q 502 733 506 628 q 493 941 498 838 l 493 949 q 497 974 493 967 q 513 982 501 980 q 581 982 545 982 q 651 983 616 983 q 722 983 687 983 q 787 983 756 983 q 798 980 793 983 q 802 967 802 977 l 802 963 l 696 531 q 691 512 693 520 q 687 500 690 505 q 681 493 685 495 q 671 490 677 490 q 600 490 635 490 q 525 489 566 489 q 517 494 519 489 q 513 507 514 500 q 511 522 511 514 q 511 532 511 529 z " - }, - "#": { - "ha": 1114, - "x_min": 69, - "x_max": 1147, - "o": "m 275 474 l 296 561 l 202 561 q 141 564 161 561 q 121 578 121 568 q 128 601 121 583 q 144 640 134 618 q 165 684 153 661 q 186 724 176 707 q 200 737 194 731 q 221 744 206 743 l 341 742 q 371 871 357 807 q 399 1001 385 935 q 408 1028 404 1021 q 420 1036 411 1036 l 425 1036 q 478 1019 451 1028 q 531 1001 505 1009 q 584 985 558 992 q 635 973 610 977 q 643 969 640 972 q 647 962 647 967 l 591 739 l 709 736 q 739 868 724 802 q 769 1001 754 933 q 777 1028 774 1021 q 790 1036 781 1036 l 795 1036 q 847 1019 821 1028 q 901 1001 874 1009 q 954 985 928 992 q 1004 973 980 977 q 1013 969 1009 972 q 1017 962 1017 967 l 961 739 q 1017 746 990 743 q 1067 752 1044 750 q 1105 756 1089 755 q 1128 758 1121 758 q 1141 755 1134 758 q 1147 741 1147 751 q 1136 711 1147 735 q 1107 650 1125 687 l 1075 587 q 1061 572 1070 577 q 1034 566 1051 568 q 988 565 1016 565 q 918 566 960 566 l 896 473 q 980 485 943 481 q 1029 490 1017 490 q 1041 486 1034 490 q 1048 472 1048 483 q 1042 452 1048 468 q 1028 414 1037 437 q 1009 362 1020 391 q 989 305 999 334 q 978 290 984 295 q 951 285 971 285 l 924 285 q 891 285 910 285 q 850 286 873 285 l 780 3 q 777 -17 777 -7 q 766 -26 777 -26 q 748 -22 758 -26 l 619 14 q 601 19 614 16 q 576 28 589 23 q 553 42 563 34 q 543 60 543 50 q 545 68 543 62 q 560 126 553 99 q 574 181 567 154 q 587 234 581 208 q 601 288 594 260 q 541 289 570 288 q 481 290 511 289 l 410 3 q 407 -17 408 -7 q 397 -26 407 -26 q 378 -22 389 -26 l 250 14 q 232 19 244 16 q 206 28 219 23 q 183 42 193 34 q 174 60 174 50 q 175 68 174 62 q 205 182 191 130 q 232 292 218 235 q 156 292 187 292 q 106 294 125 292 q 78 298 87 295 q 69 309 69 302 q 77 332 69 315 q 96 371 84 349 q 122 415 108 393 q 148 456 136 438 q 161 469 155 463 q 182 475 168 475 l 275 474 m 644 468 q 655 516 649 492 q 667 564 661 540 q 607 563 636 564 q 549 563 578 563 l 526 470 l 644 468 z " - }, - "$": { - "ha": 673, - "x_min": 83, - "x_max": 676, - "o": "m 517 927 q 602 920 566 924 q 658 914 638 917 l 676 715 q 662 716 675 715 q 633 720 650 718 q 598 723 616 722 q 569 725 581 725 q 532 723 555 725 q 487 713 509 720 q 450 693 465 706 q 434 658 434 680 q 451 610 434 631 q 492 568 467 589 q 547 525 517 547 q 601 476 576 503 q 643 415 626 449 q 659 336 659 380 q 644 265 659 298 q 601 204 628 232 q 538 153 574 176 q 463 113 503 130 q 461 79 463 102 q 457 30 459 57 q 453 -27 455 2 q 450 -81 451 -56 l 396 -80 q 368 -81 387 -80 q 325 -84 349 -82 q 278 -86 302 -85 q 235 -87 254 -87 l 242 42 l 189 40 q 137 38 165 39 q 83 37 109 37 q 106 140 94 90 q 130 243 118 190 q 217 257 175 247 q 291 281 258 267 q 342 314 323 296 q 361 353 361 332 q 356 379 361 365 q 335 410 351 393 q 291 451 319 428 q 214 503 262 473 q 128 583 154 540 q 102 676 102 625 q 121 745 102 710 q 168 809 139 780 q 233 860 197 839 q 306 888 269 881 l 327 1017 q 329 1032 328 1026 q 330 1042 329 1038 q 332 1048 330 1046 q 340 1050 334 1050 q 438 1058 387 1054 q 538 1070 490 1063 q 544 1069 543 1070 q 545 1065 545 1067 q 542 1050 545 1064 q 535 1016 539 1036 q 526 972 530 996 q 517 927 521 948 z " - }, - "%": { - "ha": 1487, - "x_min": 103, - "x_max": 1476, - "o": "m 717 586 q 827 720 770 652 q 938 857 883 789 q 950 871 946 867 q 961 876 954 876 q 967 876 966 876 q 1032 825 1000 849 q 1096 782 1063 802 q 1110 775 1101 780 q 1118 766 1118 771 q 1116 761 1118 763 l 582 113 q 575 103 576 106 q 568 100 574 100 q 561 101 565 100 q 549 104 556 102 q 487 153 510 136 q 450 180 463 171 q 431 193 437 190 q 422 200 426 197 q 416 209 417 203 q 416 222 416 214 q 493 312 456 268 q 566 400 530 356 q 639 491 602 445 q 717 586 676 536 m 103 764 q 121 889 103 831 q 175 989 139 947 q 265 1056 211 1031 q 391 1080 319 1080 q 508 1056 458 1080 q 591 991 558 1031 q 639 899 623 951 q 654 791 654 846 q 634 661 654 718 q 576 564 614 604 q 487 503 539 524 q 372 482 435 482 q 263 502 313 482 q 178 559 214 522 q 123 648 142 595 q 103 764 103 700 m 277 778 q 281 724 277 751 q 296 675 285 697 q 326 639 307 653 q 375 625 345 625 q 428 641 407 625 q 461 682 449 657 q 479 735 474 706 q 484 793 484 765 q 479 842 484 816 q 463 890 474 868 q 433 927 452 913 q 387 942 414 942 q 334 927 355 942 q 300 888 313 912 q 282 836 287 865 q 277 778 277 806 m 924 247 q 942 372 924 314 q 996 472 960 429 q 1086 538 1032 514 q 1212 563 1140 563 q 1330 538 1280 563 q 1412 474 1379 514 q 1460 381 1444 433 q 1476 273 1476 329 q 1455 143 1476 201 q 1398 46 1435 86 q 1308 -14 1360 7 q 1193 -35 1256 -35 q 1084 -15 1134 -35 q 999 41 1035 5 q 944 130 964 78 q 924 247 924 182 m 1098 260 q 1102 207 1098 234 q 1117 158 1106 180 q 1147 122 1128 136 q 1196 108 1166 108 q 1249 124 1228 108 q 1283 164 1270 140 q 1300 218 1295 189 q 1305 275 1305 248 q 1300 325 1305 298 q 1284 373 1295 351 q 1254 410 1273 395 q 1208 425 1236 425 q 1155 410 1176 425 q 1121 371 1134 395 q 1103 318 1108 347 q 1098 260 1098 289 z " - }, - "&": { - "ha": 1058, - "x_min": 54, - "x_max": 1080, - "o": "m 54 201 q 56 242 54 222 q 65 281 58 261 q 89 324 73 302 q 132 373 104 346 q 202 433 160 400 q 306 509 245 467 q 243 623 263 566 q 222 736 222 681 q 247 831 222 787 q 317 910 271 876 q 432 963 364 943 q 589 982 500 982 q 631 978 608 982 q 679 964 654 973 q 726 939 703 954 q 767 900 749 923 q 796 848 785 878 q 807 779 807 818 q 795 714 807 743 q 759 656 783 686 q 698 593 735 627 q 611 515 661 559 l 772 385 q 787 372 780 378 q 802 367 794 366 q 809 373 806 372 q 817 374 813 374 l 971 517 q 1002 498 983 512 q 1038 466 1021 484 q 1067 430 1055 448 q 1080 398 1080 411 q 1077 385 1080 390 l 954 256 l 962 250 q 976 239 968 245 q 995 225 985 233 q 1018 209 1006 217 q 1042 192 1029 200 q 1050 182 1048 187 q 1051 175 1051 176 q 1043 151 1051 165 q 1022 121 1035 137 q 995 87 1010 104 q 964 55 979 70 q 937 27 949 39 q 917 8 924 14 q 903 1 910 1 q 893 5 897 1 l 757 89 q 636 28 688 52 q 539 -9 585 5 q 451 -29 494 -24 q 357 -35 408 -35 q 245 -20 300 -35 q 149 23 191 -6 q 80 97 106 53 q 54 201 54 141 m 349 245 q 353 215 349 230 q 367 187 357 199 q 395 166 377 174 q 440 158 412 158 q 465 159 449 158 q 500 167 480 161 q 544 185 519 173 q 594 220 568 198 l 433 377 q 403 359 418 369 q 376 333 388 349 q 356 297 363 318 q 349 245 349 275 m 536 823 q 499 817 515 823 q 473 799 483 810 q 457 773 463 787 q 452 742 452 758 q 464 691 452 717 q 496 645 475 665 q 572 714 549 680 q 595 773 595 747 q 579 810 595 796 q 536 823 564 823 z " - }, - "'": { - "ha": 372, - "x_min": 118, - "x_max": 427, - "o": "m 136 532 q 127 732 131 627 q 118 940 123 838 l 118 949 q 122 973 118 966 q 138 981 126 979 q 205 982 170 981 q 276 982 241 982 q 347 982 312 982 q 412 983 381 983 q 422 979 418 983 q 427 966 427 976 l 427 962 l 321 530 q 316 512 318 519 q 312 499 315 504 q 306 492 310 494 q 296 490 302 490 q 225 489 260 490 q 150 488 191 488 q 142 494 144 488 q 138 506 139 499 q 136 521 136 513 q 136 532 136 528 z " - }, - "(": { - "ha": 568, - "x_min": 68, - "x_max": 616, - "o": "m 524 63 q 516 13 520 35 q 507 -30 511 -9 q 497 -73 502 -51 q 487 -123 492 -94 q 473 -136 484 -136 q 471 -135 471 -136 q 469 -135 470 -135 q 287 -74 363 -119 q 162 37 211 -28 q 91 184 113 102 q 68 354 68 265 q 74 448 68 394 q 96 561 80 502 q 139 680 112 620 q 210 793 167 741 q 276 863 237 826 q 364 931 315 899 q 470 986 413 963 q 590 1015 528 1009 q 598 1011 593 1015 q 604 995 602 1008 q 606 974 604 995 q 610 923 608 952 q 614 861 612 893 q 616 808 616 829 q 612 792 616 796 q 596 785 607 788 q 498 729 543 770 q 421 633 454 689 q 370 510 389 577 q 351 373 351 442 q 360 283 351 327 q 388 201 369 239 q 438 137 408 164 q 511 96 469 109 q 521 90 517 95 q 525 74 525 85 q 525 69 525 71 q 524 63 525 66 z " - }, - ")": { - "ha": 569, - "x_min": 58, - "x_max": 574, - "o": "m 58 63 q 64 88 58 81 q 76 96 69 94 q 171 150 131 113 q 238 237 212 187 q 277 345 264 287 q 290 459 290 402 q 277 570 290 517 q 241 667 264 623 q 183 741 217 710 q 107 785 149 772 q 94 790 98 787 q 90 800 90 793 q 91 808 90 806 q 102 861 95 829 q 116 923 109 893 q 129 973 123 952 q 135 995 135 994 q 144 1011 138 1008 q 153 1015 149 1015 q 268 986 214 1009 q 364 931 321 963 q 440 863 408 899 q 494 793 473 826 q 532 720 517 758 q 556 641 547 681 q 570 562 566 602 q 574 486 574 522 q 561 345 574 414 q 523 210 549 275 q 456 88 496 145 q 361 -14 416 31 q 236 -91 307 -60 q 80 -135 166 -122 q 78 -135 79 -135 q 76 -136 77 -136 q 64 -123 64 -136 q 63 -81 64 -100 q 61 -44 62 -62 q 59 -10 60 -27 q 58 26 58 7 l 58 63 l 58 63 z " - }, - "*": { - "ha": 865, - "x_min": 79, - "x_max": 835, - "o": "m 294 347 l 224 397 q 115 468 152 444 q 79 507 79 493 q 82 517 79 511 q 92 534 85 524 q 109 561 98 545 q 136 599 120 576 l 174 654 q 181 660 178 658 q 190 663 185 663 q 213 650 199 663 l 260 610 q 309 570 282 592 q 365 524 336 547 l 368 553 q 379 671 374 629 q 387 734 383 713 q 396 761 391 755 q 409 768 401 766 l 421 768 q 450 767 429 768 q 495 766 471 766 q 539 765 518 766 q 569 765 561 765 l 573 765 q 587 758 583 762 q 592 741 592 753 q 592 736 592 739 q 591 730 592 733 l 581 669 q 572 606 576 641 q 564 532 568 570 q 613 579 588 555 q 660 624 638 604 q 699 656 682 644 q 724 669 715 669 q 732 667 728 669 q 740 661 736 665 l 778 606 q 803 568 793 584 q 821 542 814 553 q 831 525 828 531 q 835 514 835 518 q 832 504 835 509 q 822 493 830 499 q 800 476 814 486 q 762 449 786 466 q 703 408 738 433 q 618 347 667 383 l 798 208 q 819 188 813 195 q 826 176 825 181 q 821 163 826 170 q 808 144 815 157 q 781 106 800 132 q 726 32 762 81 q 712 24 721 24 q 689 35 701 24 l 539 153 l 526 -13 q 523 -37 525 -28 q 519 -50 522 -45 q 513 -56 517 -54 q 503 -57 509 -57 l 490 -57 q 481 -57 486 -57 q 469 -58 476 -58 q 423 -55 454 -58 q 340 -50 393 -53 q 327 -42 332 -50 q 321 -22 321 -35 l 340 149 l 218 62 q 205 54 211 57 q 195 52 200 52 q 180 59 186 52 q 129 115 147 96 q 106 144 111 134 q 93 163 98 157 q 87 176 87 170 q 94 188 87 181 q 116 208 100 195 l 294 347 z " - }, - "+": { - "ha": 652, - "x_min": 73, - "x_max": 654, - "o": "m 256 357 q 196 357 222 357 q 154 357 170 357 q 93 360 113 357 q 73 376 73 364 q 77 401 73 382 q 86 445 81 420 q 96 493 91 469 q 104 535 101 518 q 115 550 106 543 q 139 557 124 557 l 275 559 l 277 574 q 281 653 280 620 q 286 707 283 686 q 296 738 289 728 q 317 748 302 748 q 320 748 318 748 q 323 747 321 747 q 336 748 328 747 q 355 748 345 748 q 379 749 366 749 q 404 749 392 749 l 469 751 q 483 744 478 749 q 488 728 488 740 q 488 726 488 726 q 487 721 488 725 q 486 708 487 717 q 484 682 486 699 q 480 635 483 664 q 475 563 478 606 l 486 564 q 535 565 511 564 q 579 566 559 566 q 614 567 600 566 q 635 567 629 567 q 647 563 640 567 q 654 547 654 559 q 650 521 653 546 q 643 452 648 496 l 635 387 q 628 373 631 377 q 616 366 624 368 q 595 364 609 364 q 557 363 581 363 l 458 361 l 450 262 q 445 219 448 236 q 437 193 441 203 q 428 180 433 184 q 414 176 422 176 q 383 177 403 176 q 341 178 363 177 q 298 179 319 178 q 261 179 276 179 q 248 187 253 180 q 243 208 243 194 l 243 212 l 256 357 z " - }, - ",": { - "ha": 398, - "x_min": 56, - "x_max": 361, - "o": "m 176 -225 q 164 -219 169 -221 q 152 -214 160 -218 q 129 -202 144 -210 q 85 -178 114 -194 q 63 -159 63 -166 q 65 -153 63 -157 q 106 -89 85 -123 q 147 -21 127 -56 l 90 -20 l 77 -20 q 62 -19 68 -20 q 56 -14 56 -18 l 56 -12 q 60 34 58 17 q 62 59 62 50 q 63 73 63 68 q 64 80 64 77 q 65 88 64 83 q 66 104 65 93 q 68 136 66 116 q 73 189 70 156 q 77 220 74 212 q 92 231 80 229 q 156 231 123 231 q 222 232 189 231 q 287 232 255 232 q 349 232 319 232 q 361 216 361 232 l 349 50 q 345 24 347 35 q 341 6 343 14 q 337 -11 340 -3 q 332 -30 335 -19 q 318 -55 328 -39 q 296 -87 309 -70 q 271 -123 284 -105 q 246 -157 258 -141 q 226 -184 235 -173 q 214 -200 217 -196 q 209 -207 212 -203 q 202 -216 206 -212 q 193 -224 198 -220 q 184 -227 189 -227 q 176 -225 180 -227 z " - }, - "-": { - "ha": 650, - "x_min": 65, - "x_max": 659, - "o": "m 437 573 q 505 575 472 574 q 565 577 538 576 q 612 579 592 578 q 640 581 632 581 q 652 576 646 581 q 659 561 659 572 q 653 538 659 555 q 636 499 646 522 q 613 447 626 475 q 587 387 600 418 q 582 376 584 380 q 575 369 579 372 q 566 365 572 366 q 549 363 559 363 q 427 361 488 362 q 312 359 366 360 q 215 357 258 358 q 146 357 172 357 q 85 360 105 357 q 65 376 65 364 q 74 394 65 379 q 96 430 82 410 q 126 474 109 451 q 161 517 144 498 q 193 550 178 537 q 219 564 209 564 l 437 573 z " - }, - ".": { - "ha": 389, - "x_min": 61, - "x_max": 353, - "o": "m 61 -26 q 63 25 62 6 q 64 54 64 43 q 64 68 64 64 q 64 76 64 72 q 65 85 64 79 q 66 103 65 90 q 68 137 66 115 q 71 196 69 159 q 76 227 73 218 q 91 237 79 235 q 216 238 151 237 q 338 239 281 238 q 349 235 345 239 q 353 222 353 232 l 334 9 q 329 -21 331 -13 q 313 -31 326 -30 q 195 -33 256 -32 q 68 -33 134 -33 q 63 -33 64 -33 q 61 -28 61 -32 l 61 -26 z " - }, - "/": { - "ha": 591, - "x_min": 39, - "x_max": 646, - "o": "m 301 640 q 380 819 342 729 q 459 1001 418 908 q 473 1028 468 1021 q 487 1036 477 1036 l 492 1036 q 564 1004 528 1021 q 635 980 600 987 q 643 977 640 979 q 646 971 646 975 l 646 969 l 211 10 q 207 -1 208 4 q 204 -11 205 -7 q 199 -17 202 -15 q 191 -20 197 -20 q 174 -15 183 -20 l 105 14 q 89 19 100 16 q 67 28 78 23 q 47 40 56 33 q 39 56 39 47 q 42 68 39 62 q 102 198 73 134 q 161 329 131 261 q 225 473 191 397 q 301 640 259 549 z " - }, - ":": { - "ha": 453, - "x_min": 108, - "x_max": 413, - "o": "m 121 493 q 123 544 123 525 q 124 572 124 562 q 125 587 125 583 q 125 594 125 591 q 125 604 125 598 q 126 622 125 609 q 128 656 127 634 q 132 715 130 678 q 136 746 133 737 q 151 756 139 754 q 276 756 211 756 q 399 758 341 757 q 409 754 405 758 q 413 741 413 751 l 394 528 q 389 497 391 506 q 374 488 387 489 q 255 486 316 487 q 129 486 195 486 q 123 486 125 486 q 121 490 121 487 l 121 493 m 108 -26 q 110 25 109 6 q 111 54 111 43 q 111 68 111 64 q 111 76 111 72 q 112 85 111 79 q 113 103 112 90 q 115 137 113 115 q 118 196 116 159 q 122 227 119 218 q 138 237 125 235 q 262 238 197 237 q 385 239 328 238 q 395 235 391 239 q 399 222 399 232 l 380 9 q 375 -21 378 -13 q 360 -31 373 -30 q 242 -33 302 -32 q 115 -33 181 -33 q 110 -33 111 -33 q 108 -28 108 -32 l 108 -26 z " - }, - ";": { - "ha": 439, - "x_min": 95, - "x_max": 401, - "o": "m 216 -224 q 204 -218 208 -220 q 192 -212 199 -216 q 169 -200 184 -208 q 124 -176 153 -193 q 102 -157 102 -165 q 104 -152 102 -155 q 145 -88 124 -121 q 186 -20 167 -54 l 129 -19 l 117 -19 q 101 -18 107 -19 q 95 -12 95 -17 l 95 -11 q 99 35 98 18 q 102 61 101 52 q 103 74 102 70 q 103 81 103 78 q 104 90 104 85 q 105 106 104 94 q 107 137 106 117 q 112 191 109 157 q 116 222 113 213 q 132 232 119 231 q 195 232 162 232 q 261 233 229 233 q 327 233 294 233 q 389 233 359 233 q 400 217 400 233 l 388 52 q 384 26 386 36 q 381 7 382 16 q 377 -9 379 -1 q 371 -28 374 -18 q 357 -53 367 -38 q 336 -86 348 -68 q 310 -122 323 -104 q 286 -156 297 -140 q 265 -183 274 -172 q 254 -199 256 -195 q 249 -206 252 -201 q 241 -215 245 -210 q 233 -222 237 -219 q 223 -226 228 -226 q 216 -224 220 -226 m 110 492 q 112 543 111 524 q 113 572 113 562 q 113 586 113 582 q 113 594 113 590 q 114 603 113 597 q 115 621 114 608 q 117 655 115 633 q 120 714 118 677 q 124 745 121 736 q 140 755 127 753 q 264 756 199 755 q 387 757 330 756 q 397 753 393 757 q 401 741 401 750 l 382 528 q 377 497 380 505 q 362 487 375 488 q 244 486 304 486 q 117 485 183 485 q 112 486 113 485 q 110 490 110 486 l 110 492 z " - }, - "<": { - "ha": 730, - "x_min": 78, - "x_max": 703, - "o": "m 697 220 q 703 212 703 216 q 701 204 703 208 q 654 100 673 153 q 616 -7 635 46 q 600 -20 612 -20 q 589 -18 594 -20 q 574 -12 583 -16 l 129 248 q 100 265 107 258 q 92 286 92 272 q 87 390 90 337 q 79 500 85 443 q 78 502 79 501 q 78 503 78 503 l 79 508 q 82 514 79 511 q 87 516 85 516 q 145 542 109 527 q 224 573 180 556 q 319 609 269 591 q 422 648 370 628 q 527 687 475 667 q 627 724 579 706 q 657 730 648 730 q 668 720 666 730 q 677 610 672 667 q 694 502 682 553 q 686 486 694 487 l 388 376 q 418 361 395 372 q 471 334 441 349 q 536 301 502 319 q 603 268 571 283 q 660 239 635 252 q 697 220 686 226 z " - }, - "=": { - "ha": 720, - "x_min": 111, - "x_max": 671, - "o": "m 389 602 q 478 603 435 602 q 556 605 521 604 q 616 607 591 606 q 652 608 642 608 q 665 604 658 608 q 671 588 671 600 q 666 563 672 583 q 649 508 659 543 l 633 454 q 622 437 628 443 q 595 431 615 431 q 473 429 534 430 q 358 427 412 428 q 261 425 304 426 q 192 425 218 425 q 131 428 151 425 q 111 444 111 432 q 115 464 111 448 q 124 499 119 479 q 136 539 130 519 q 149 576 143 560 q 163 590 157 583 q 184 598 169 597 l 389 602 m 389 283 q 478 284 435 283 q 556 287 521 286 q 616 289 591 288 q 652 290 642 290 q 665 286 658 290 q 671 270 671 281 q 666 245 672 265 q 649 190 659 224 l 633 136 q 622 119 628 125 q 595 113 615 113 q 473 111 534 112 q 358 109 412 110 q 261 107 304 108 q 192 106 218 106 q 131 110 151 106 q 111 125 111 114 q 115 146 111 130 q 124 181 119 161 q 136 221 130 201 q 149 258 143 242 q 163 272 157 264 q 184 280 169 279 l 389 283 z " - }, - ">": { - "ha": 713, - "x_min": 90, - "x_max": 714, - "o": "m 95 220 q 132 239 106 226 q 189 268 157 252 q 256 301 221 283 q 321 334 290 319 q 374 361 351 349 q 404 376 397 372 l 106 486 q 98 502 98 487 q 115 610 110 553 q 124 720 120 667 q 135 730 126 730 q 165 724 144 730 q 265 687 213 706 q 370 648 317 667 q 473 609 422 628 q 568 573 524 591 q 647 542 612 556 q 705 516 683 527 q 710 514 707 516 q 713 508 713 511 l 714 503 q 714 502 714 503 q 713 500 713 501 q 705 390 707 443 q 700 286 702 337 q 692 265 700 272 q 663 248 685 258 l 218 -12 q 203 -18 209 -16 q 193 -20 198 -20 q 182 -17 185 -20 q 176 -7 178 -14 q 137 100 156 46 q 91 204 117 153 q 90 212 90 208 q 91 217 90 215 q 95 220 92 218 z " - }, - "?": { - "ha": 791, - "x_min": 98, - "x_max": 800, - "o": "m 294 406 q 383 469 340 431 q 457 549 425 507 q 508 634 489 591 q 526 711 526 676 q 505 773 526 749 q 436 797 484 797 q 391 790 409 797 q 363 774 374 784 q 349 751 353 764 q 345 728 345 739 q 349 699 345 712 q 354 682 354 686 q 345 675 354 677 q 314 669 335 673 q 257 660 292 666 q 170 639 222 653 q 140 631 151 633 q 123 629 129 629 q 110 640 115 629 q 102 664 105 650 q 99 692 100 677 q 98 717 98 707 q 129 828 98 779 q 209 911 159 878 q 320 963 258 945 q 445 981 382 981 q 591 957 526 981 q 703 893 656 932 q 774 805 749 854 q 800 710 800 757 q 786 634 800 671 q 750 560 773 596 q 697 490 728 524 q 634 425 667 456 q 567 366 601 394 q 500 312 532 337 q 495 308 499 310 q 488 306 492 306 q 483 307 486 306 q 478 309 479 307 q 432 330 452 321 q 391 348 411 340 q 351 362 372 356 q 305 374 330 369 q 291 381 296 376 q 287 390 287 385 q 293 398 292 393 q 294 406 294 404 m 296 -26 q 298 25 298 6 q 299 54 299 43 q 300 68 300 64 q 300 76 300 72 q 300 85 300 79 q 301 103 300 90 q 303 137 302 115 q 307 196 304 159 q 311 227 308 218 q 326 237 314 235 q 451 238 386 237 q 574 239 516 238 q 585 234 581 239 q 588 218 588 230 l 569 9 q 564 -21 566 -13 q 549 -31 562 -30 q 430 -33 491 -32 q 304 -33 370 -33 q 297 -32 298 -33 q 296 -26 296 -31 z " - }, - "@": { - "ha": 1207, - "x_min": 82, - "x_max": 1213, - "o": "m 710 330 q 723 413 718 378 q 731 471 728 447 q 735 510 734 494 q 738 536 737 526 q 711 556 728 546 q 676 567 695 567 q 645 558 658 567 q 622 534 631 549 q 606 503 612 520 q 596 468 600 485 q 591 435 593 450 q 590 410 590 420 q 606 329 590 355 q 650 304 621 304 q 677 311 662 304 q 710 330 693 318 m 732 236 q 665 181 699 199 q 598 164 631 164 q 520 180 557 164 q 454 227 483 197 q 407 300 425 257 q 390 397 390 343 q 412 521 390 465 q 472 618 435 578 q 558 681 510 659 q 659 703 607 703 q 715 691 690 703 q 763 659 741 678 q 767 679 766 671 q 769 690 768 686 q 775 696 771 694 q 789 698 780 697 q 861 692 825 692 q 937 691 897 691 l 892 364 q 892 356 892 361 q 892 347 892 351 q 896 313 892 328 q 906 285 899 297 q 921 267 912 273 q 939 260 930 260 q 969 272 953 260 q 999 312 985 284 q 1022 386 1013 340 q 1031 500 1031 432 q 1011 614 1031 559 q 950 710 991 669 q 845 776 909 751 q 696 801 782 801 q 567 780 624 801 q 467 724 510 759 q 394 645 424 690 q 345 555 363 601 q 317 465 326 509 q 308 386 308 420 q 334 243 308 302 q 413 147 361 184 q 543 92 465 109 q 723 75 621 75 q 741 69 734 75 q 747 43 747 63 q 744 14 747 31 q 736 -30 741 -4 q 725 -78 730 -60 q 714 -105 720 -96 q 701 -117 708 -115 q 684 -119 694 -119 q 432 -92 544 -119 q 243 -7 321 -64 q 124 136 165 50 q 82 338 82 222 q 107 525 82 437 q 176 687 132 613 q 282 819 220 760 q 419 918 345 878 q 580 981 494 959 q 756 1002 665 1002 q 950 962 865 1002 q 1094 853 1035 922 q 1183 693 1152 785 q 1213 500 1213 602 q 1191 361 1213 429 q 1129 241 1168 294 q 1040 157 1090 189 q 934 125 989 125 q 826 151 876 125 q 732 236 775 176 z " - }, - "A": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 z " - }, - "B": { - "ha": 970, - "x_min": 85, - "x_max": 971, - "o": "m 172 9 q 153 19 158 12 q 149 35 149 26 q 149 38 149 37 q 149 41 149 39 q 161 194 155 114 q 175 358 168 275 q 190 524 182 441 q 205 684 197 606 l 204 684 q 189 680 201 684 q 160 670 176 675 q 128 661 144 665 q 102 657 112 657 q 89 664 93 657 q 85 679 85 671 q 87 690 85 685 q 125 789 106 743 q 165 884 145 836 q 272 933 216 912 q 384 967 328 954 q 497 988 441 981 q 606 996 553 996 q 746 980 680 996 q 860 933 811 964 q 936 853 908 901 q 964 741 964 806 q 952 688 964 713 q 921 638 940 662 q 878 595 901 615 q 831 559 854 575 q 889 516 863 535 q 934 475 916 496 q 962 428 952 454 q 971 365 971 402 q 951 256 971 308 q 896 160 931 204 q 813 79 861 115 q 710 18 766 43 q 592 -21 654 -7 q 467 -35 530 -35 q 405 -31 444 -35 q 324 -19 366 -26 q 240 -5 281 -13 q 172 9 199 3 m 484 753 q 463 590 471 673 q 447 430 454 508 q 436 283 441 353 q 427 158 431 213 q 485 161 454 158 q 548 172 517 164 q 609 191 579 179 q 661 220 638 203 q 696 262 683 238 q 710 317 710 286 q 699 351 710 336 q 669 376 687 366 q 629 394 651 387 q 587 405 608 401 q 549 412 566 410 q 523 416 532 414 q 511 422 513 417 q 508 436 508 428 q 519 463 508 445 q 549 511 530 480 l 577 556 q 617 573 595 563 q 656 596 638 583 q 687 626 675 610 q 699 663 699 643 q 675 748 699 718 q 606 777 651 777 q 484 753 554 777 z " - }, - "C": { - "ha": 878, - "x_min": 85, - "x_max": 899, - "o": "m 85 458 q 103 602 85 533 q 155 730 121 671 q 235 839 188 790 q 340 923 282 888 q 467 977 399 958 q 610 996 535 996 q 715 988 670 996 q 794 968 760 980 q 850 942 827 956 q 888 915 873 928 q 887 910 887 915 q 889 873 887 900 q 893 812 890 846 q 897 745 895 779 q 899 686 899 711 q 896 676 899 682 q 882 671 893 671 q 867 673 876 671 q 831 692 853 677 q 781 723 810 707 q 716 751 752 739 q 639 764 681 764 q 538 742 583 764 q 460 681 492 720 q 411 589 429 642 q 393 473 393 536 q 406 367 393 417 q 443 278 418 316 q 504 217 467 240 q 590 195 541 195 q 659 197 629 195 q 714 206 688 200 q 765 222 740 212 q 818 248 789 233 q 825 249 819 249 q 831 245 829 249 q 833 230 833 241 l 833 149 q 832 105 833 126 q 832 66 832 83 q 831 39 831 50 q 830 28 831 28 q 763 -4 799 9 q 690 -23 728 -16 q 614 -33 652 -31 q 541 -35 576 -35 q 362 1 446 -35 q 217 102 279 37 q 121 258 156 168 q 85 458 85 349 z " - }, - "D": { - "ha": 1047, - "x_min": 79, - "x_max": 1055, - "o": "m 116 -35 q 105 -28 109 -34 q 102 -14 102 -22 q 104 -3 102 -8 l 188 156 q 190 177 189 159 q 194 223 192 195 q 198 284 196 250 q 203 351 201 318 q 209 415 206 385 q 213 465 211 445 q 215 490 214 473 q 218 528 216 507 q 221 575 219 550 q 225 625 223 600 l 235 767 q 197 759 216 763 q 158 751 177 754 q 123 745 140 747 q 94 743 106 743 q 83 749 87 743 q 79 764 79 756 q 83 777 79 772 l 256 937 q 297 968 277 956 q 347 987 318 980 q 419 996 376 994 q 526 998 461 998 q 724 975 637 998 q 869 909 810 952 q 948 846 913 879 q 1006 772 983 812 q 1042 683 1030 732 q 1055 574 1055 635 q 1020 368 1055 458 q 926 210 985 277 q 786 96 866 142 q 616 20 707 49 q 429 -22 526 -9 q 239 -35 332 -35 l 116 -35 m 510 781 l 502 699 q 493 608 498 656 q 485 510 489 559 q 477 411 481 460 q 469 321 473 363 q 463 245 466 279 q 458 193 460 212 l 456 172 q 595 199 538 172 q 687 272 652 225 q 738 380 722 318 q 754 515 754 443 q 740 614 754 566 q 699 705 726 662 q 632 770 671 749 q 543 792 593 792 q 526 788 535 792 q 510 781 516 785 z " - }, - "E": { - "ha": 799, - "x_min": 92, - "x_max": 856, - "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 z " - }, - "F": { - "ha": 817, - "x_min": 90, - "x_max": 907, - "o": "m 770 557 q 760 528 767 547 q 743 485 752 509 q 722 434 733 461 q 699 382 710 408 q 688 365 694 370 q 662 359 682 359 l 464 355 l 439 54 q 436 42 439 48 q 428 33 433 37 q 412 25 426 32 q 377 10 398 19 q 331 -9 356 1 q 281 -27 306 -19 q 237 -42 257 -36 q 205 -47 216 -47 q 180 -42 191 -47 q 169 -22 169 -37 q 171 53 168 12 q 176 137 173 94 q 184 220 180 179 q 191 295 188 261 l 195 352 q 114 355 138 352 q 90 371 90 358 q 100 394 90 380 q 132 441 114 414 q 166 496 150 469 q 196 543 183 522 q 212 568 208 563 l 224 754 q 202 754 212 754 q 185 753 193 753 q 170 752 177 753 q 156 752 163 752 q 110 756 123 752 q 96 770 96 760 q 104 789 96 774 q 124 824 112 804 q 150 864 136 843 q 174 904 163 886 l 215 973 l 524 984 q 642 988 583 986 q 751 993 701 991 q 837 997 801 995 q 887 999 873 998 q 891 999 888 999 q 897 997 894 998 q 904 991 901 995 q 907 979 907 987 q 897 952 907 975 q 870 884 888 929 l 840 805 q 829 787 836 793 q 804 781 823 781 q 757 779 781 780 q 708 776 733 777 l 502 766 q 496 726 498 739 q 494 705 494 713 q 494 688 494 696 q 493 661 494 680 q 491 640 492 648 q 489 622 490 631 q 487 604 488 614 q 486 581 486 595 q 573 583 530 582 q 653 586 616 585 q 715 588 689 587 q 753 589 742 589 q 765 585 758 589 q 772 570 772 581 q 770 557 772 564 z " - }, - "G": { - "ha": 992, - "x_min": 85, - "x_max": 1027, - "o": "m 85 438 q 103 588 85 516 q 154 721 121 659 q 234 834 187 783 q 340 921 281 884 q 466 977 398 957 q 610 996 534 996 q 714 988 669 996 q 793 969 760 981 q 849 943 827 957 q 887 916 872 928 q 886 911 886 916 q 888 873 886 901 q 892 813 890 846 q 896 746 895 780 q 898 686 898 711 q 895 677 898 682 q 882 672 892 672 q 867 674 876 672 q 831 693 852 678 q 780 723 809 707 q 716 752 751 739 q 638 764 680 764 q 537 741 583 764 q 460 676 492 718 q 410 577 428 634 q 393 452 393 519 q 404 342 393 393 q 436 253 414 290 q 491 193 458 215 q 568 172 524 172 q 665 190 610 172 l 680 286 l 551 286 q 576 414 566 368 q 597 485 587 461 q 616 515 606 509 q 640 521 627 521 l 997 521 q 1020 519 1013 521 q 1027 505 1027 517 q 1025 490 1027 498 q 1022 469 1024 481 l 988 355 q 978 322 982 334 q 968 304 974 310 q 951 297 962 298 q 921 296 941 296 q 908 288 910 296 q 905 269 906 279 q 897 210 901 239 q 889 155 892 180 q 881 110 885 130 q 873 82 877 91 q 789 31 827 53 q 714 -6 751 9 q 635 -28 677 -20 q 541 -35 594 -35 q 361 -1 445 -35 q 217 97 278 34 q 120 246 155 159 q 85 438 85 333 z " - }, - "H": { - "ha": 1010, - "x_min": 55, - "x_max": 1013, - "o": "m 722 893 q 727 927 722 918 q 745 939 731 936 l 978 996 q 996 998 987 998 q 1009 992 1006 998 q 1013 969 1013 987 l 1004 863 q 997 770 1001 816 q 985 689 993 724 l 972 593 q 962 500 967 550 q 952 389 958 450 l 920 54 q 918 42 920 48 q 909 33 916 36 q 887 24 904 31 q 846 9 869 18 q 795 -10 822 0 q 743 -28 768 -20 q 700 -41 719 -36 q 674 -47 681 -47 q 657 -42 665 -47 q 650 -22 650 -37 q 660 145 650 60 q 677 316 669 231 q 678 334 678 326 q 679 351 677 342 l 431 351 l 403 54 q 400 42 402 48 q 391 33 399 37 q 365 23 389 32 q 309 4 340 15 q 247 -19 277 -7 q 199 -36 216 -30 q 179 -43 191 -39 q 156 -47 168 -47 q 139 -41 146 -47 q 132 -22 132 -36 q 135 53 132 11 q 140 140 137 94 q 149 234 144 186 q 158 329 153 282 l 159 349 q 80 352 104 349 q 55 368 55 355 q 65 391 55 376 q 97 436 79 410 q 131 489 115 463 q 161 536 148 515 q 178 563 174 557 l 194 726 q 195 747 194 728 q 199 792 197 766 q 203 846 201 818 q 208 893 205 873 q 211 926 209 917 q 227 939 214 936 l 458 996 q 476 998 467 998 q 489 992 486 998 q 492 969 492 987 q 485 880 488 920 q 479 806 482 840 q 473 740 476 771 q 463 676 469 709 l 450 571 l 696 574 q 709 727 702 664 q 719 827 717 790 q 722 876 721 861 q 722 893 722 891 z " - }, - "I": { - "ha": 453, - "x_min": 94, - "x_max": 450, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 z " - }, - "J": { - "ha": 517, - "x_min": 37, - "x_max": 517, - "o": "m 228 893 q 229 913 229 905 q 232 927 230 922 q 237 935 233 932 q 248 939 240 938 l 482 996 q 500 998 491 998 q 513 992 509 998 q 517 969 517 986 l 496 751 l 484 621 q 476 533 480 576 q 468 454 472 490 q 462 390 465 418 q 458 345 459 361 l 456 325 q 427 177 451 248 q 363 53 403 106 q 269 -33 323 -1 q 148 -65 214 -65 q 97 -64 114 -65 q 74 -59 81 -62 q 65 -51 66 -56 q 59 -39 63 -46 l 37 126 q 41 132 37 127 q 48 138 45 136 q 96 159 73 147 q 139 188 120 172 q 169 228 157 205 q 182 281 181 250 l 228 893 z " - }, - "K": { - "ha": 957, - "x_min": 96, - "x_max": 983, - "o": "m 448 970 q 445 938 446 960 q 441 888 444 916 q 437 827 439 859 q 432 765 435 795 q 428 709 430 734 q 424 669 425 684 l 458 705 l 555 824 q 590 868 572 846 q 622 906 608 889 q 644 935 635 924 q 654 948 653 947 l 956 973 q 962 974 957 974 l 967 974 q 983 966 983 974 q 978 955 983 961 q 965 938 974 948 q 933 901 954 925 q 888 848 913 877 q 838 788 864 819 q 789 731 812 758 q 751 686 767 705 q 731 662 735 667 l 688 621 q 577 518 645 580 q 622 471 598 496 q 668 422 646 446 q 708 380 690 399 q 735 351 726 361 l 945 109 q 954 102 948 104 q 964 97 959 99 q 974 93 970 95 q 977 87 977 90 q 968 74 977 83 q 948 58 963 68 q 913 35 933 47 q 870 10 893 23 q 826 -13 847 -3 q 786 -31 804 -24 q 759 -37 768 -37 q 729 -25 745 -37 q 692 13 713 -12 q 640 78 670 39 q 568 170 610 117 q 521 230 544 201 q 477 286 498 260 q 440 333 457 312 q 413 366 424 353 q 401 356 408 361 q 390 345 395 351 l 366 54 q 364 42 366 48 q 355 33 362 36 l 163 -36 q 143 -43 155 -39 q 119 -47 131 -47 q 102 -41 109 -47 q 96 -22 96 -36 q 104 82 99 18 q 115 228 109 146 q 127 406 121 309 q 141 609 134 503 l 160 895 q 161 915 161 907 q 163 928 162 923 q 168 937 165 934 q 178 941 172 939 l 413 997 q 431 1000 422 1000 q 444 994 441 1000 q 448 970 448 988 z " - }, - "L": { - "ha": 693, - "x_min": 57, - "x_max": 719, - "o": "m 454 972 q 452 931 454 956 q 447 881 450 907 q 442 826 445 854 q 436 776 439 799 q 433 736 434 753 q 431 715 431 720 q 426 637 429 673 q 419 566 422 601 q 412 493 416 530 q 404 410 408 455 q 395 309 400 364 q 385 181 390 253 l 665 210 q 696 212 684 212 q 715 207 711 212 q 719 192 719 202 q 718 188 719 191 q 715 179 718 186 q 708 159 713 172 q 696 123 704 146 l 682 79 q 668 40 674 57 q 652 10 661 22 q 628 -10 642 -3 q 591 -20 614 -18 q 553 -22 577 -21 q 496 -24 528 -23 q 428 -26 465 -25 q 352 -30 391 -28 q 275 -32 314 -31 q 202 -33 237 -32 q 138 -34 168 -33 q 90 -35 109 -35 q 65 -33 73 -35 q 57 -24 57 -30 q 62 -2 57 -16 q 74 29 66 12 q 91 65 81 46 q 109 101 100 83 l 127 343 q 138 469 132 405 q 147 592 143 532 l 159 772 q 164 864 163 836 q 165 896 165 893 q 168 916 167 908 q 170 930 168 924 q 175 938 172 935 q 185 942 178 941 l 423 998 q 441 1001 431 1001 q 452 997 449 1001 q 455 980 455 992 q 455 976 455 979 q 454 972 454 974 z " - }, - "M": { - "ha": 1173, - "x_min": 43, - "x_max": 1141, - "o": "m 975 998 q 981 999 978 999 q 987 1000 984 1000 q 1006 992 999 1000 q 1017 964 1014 984 q 1021 930 1018 952 q 1028 881 1024 908 q 1036 826 1031 854 q 1044 773 1040 798 q 1050 732 1047 749 q 1053 710 1053 715 q 1080 517 1068 590 q 1096 410 1091 445 l 1141 43 l 1135 22 q 1117 11 1133 18 q 1078 -4 1101 4 q 1027 -19 1055 -12 q 977 -33 1000 -26 q 938 -42 954 -39 q 922 -46 922 -46 q 896 -22 905 -46 q 880 38 886 1 q 870 118 874 75 q 862 201 867 161 q 854 269 858 235 q 847 338 851 302 l 821 536 l 569 75 q 546 52 557 59 q 524 45 534 45 q 501 54 509 45 q 489 75 492 62 q 467 148 476 118 q 450 201 458 177 q 435 249 442 226 q 420 302 429 272 q 401 373 412 332 q 376 474 391 414 l 355 376 l 257 -38 q 240 -46 255 -46 q 201 -41 226 -46 q 150 -27 176 -35 q 97 -11 123 -20 q 57 4 72 -3 q 48 11 54 5 q 43 26 43 16 q 45 38 43 29 q 51 59 47 47 q 57 83 54 71 q 64 104 61 95 q 80 159 73 127 q 94 222 87 190 q 105 283 100 254 q 115 332 110 312 l 198 721 l 223 831 q 232 872 228 852 q 240 908 237 892 q 245 935 243 924 q 248 946 248 945 l 417 998 q 434 997 427 998 q 443 985 441 995 l 578 551 l 763 941 l 975 998 z " - }, - "N": { - "ha": 935, - "x_min": 102, - "x_max": 909, - "o": "m 672 909 q 682 941 677 931 q 699 955 686 951 l 875 996 q 892 999 883 999 q 905 993 901 999 q 909 970 909 987 q 903 920 905 954 q 899 846 900 886 q 897 766 897 806 q 896 696 896 726 l 896 659 q 895 567 896 616 q 893 467 895 517 q 891 366 892 416 q 888 273 890 317 l 884 157 q 884 151 884 154 q 884 146 884 149 l 884 136 q 884 116 884 124 q 884 102 884 109 q 883 90 884 96 q 878 80 882 85 q 867 69 874 75 q 848 56 860 64 q 825 42 841 51 q 791 21 810 33 q 751 -3 772 9 q 714 -25 731 -15 q 687 -41 697 -35 q 676 -47 676 -47 l 361 437 l 333 41 q 331 29 332 35 q 321 20 329 23 q 300 11 315 17 q 266 -2 286 5 q 223 -17 245 -9 q 182 -32 201 -25 q 147 -42 162 -38 q 126 -46 132 -46 q 109 -41 116 -46 q 102 -21 102 -35 q 118 164 109 64 q 135 369 127 264 q 150 579 143 474 q 162 778 157 684 q 154 796 162 781 q 135 829 145 811 q 116 863 124 847 q 107 883 107 879 q 112 892 107 888 q 129 903 117 896 l 310 1005 q 316 1006 312 1005 q 322 1006 319 1006 q 334 1005 330 1006 q 343 994 338 1003 l 672 401 l 672 909 z " - }, - "O": { - "ha": 1096, - "x_min": 81, - "x_max": 1098, - "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 z " - }, - "P": { - "ha": 910, - "x_min": 92, - "x_max": 950, - "o": "m 950 705 q 939 600 949 646 q 909 517 928 554 q 862 451 890 480 q 800 395 835 421 q 651 322 732 347 q 489 297 570 297 q 462 298 475 297 q 435 300 449 298 l 413 52 l 401 31 q 378 20 400 28 q 324 1 357 12 l 281 -13 q 245 -26 261 -20 q 216 -37 230 -33 q 190 -44 203 -42 q 163 -47 177 -47 q 148 -42 153 -47 q 142 -24 142 -37 l 150 92 q 155 162 152 127 q 161 241 158 197 l 174 404 q 181 503 178 453 q 188 597 184 552 q 194 681 191 642 q 199 749 197 720 q 140 737 162 741 q 106 733 118 733 q 92 745 92 733 q 110 810 102 779 q 125 866 117 838 q 138 915 133 895 q 146 933 142 927 q 158 944 151 940 q 176 950 165 947 q 203 959 187 954 q 240 968 216 963 q 293 978 263 973 q 359 988 323 983 q 430 997 394 993 q 502 1003 467 1000 q 568 1005 537 1005 q 715 991 646 1005 q 836 942 784 977 q 919 850 888 908 q 950 705 950 792 m 454 501 q 457 488 454 494 q 472 482 460 482 q 517 491 491 482 q 569 516 543 499 q 618 558 595 533 q 652 617 640 583 q 660 652 656 631 q 663 701 663 673 q 630 771 663 749 q 544 793 597 793 q 524 792 535 793 q 503 789 513 791 q 486 782 493 786 q 479 772 479 779 l 477 758 q 475 729 477 749 q 470 683 473 709 q 466 629 468 657 q 461 574 463 600 q 457 529 458 549 q 454 501 455 509 z " - }, - "Q": { - "ha": 1096, - "x_min": 81, - "x_max": 1100, - "o": "m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 990 498 979 q 508 1014 505 1000 q 514 1041 511 1028 q 524 1059 517 1054 q 844 985 763 1027 q 918 943 886 964 q 975 897 949 922 q 1020 839 1000 871 q 1061 761 1040 806 q 1092 643 1082 713 l 1093 635 q 1098 580 1096 609 q 1100 518 1100 551 q 1062 306 1100 401 q 956 140 1023 212 q 989 102 974 120 q 1017 71 1005 85 q 1035 46 1028 56 q 1042 31 1042 35 q 1030 13 1042 23 q 1000 -10 1018 2 q 961 -35 982 -22 q 922 -56 940 -47 q 890 -72 903 -66 q 876 -78 878 -78 q 866 -75 871 -78 q 859 -68 862 -72 l 775 15 q 657 -22 718 -9 q 529 -35 597 -35 l 513 -35 m 384 463 q 393 369 384 416 q 422 282 401 323 q 423 281 423 281 q 488 214 448 239 q 589 188 528 188 l 603 189 l 595 199 q 569 230 579 216 q 559 250 559 243 q 578 273 559 263 l 736 353 q 743 355 740 355 q 755 345 748 355 q 777 321 763 336 q 804 420 795 366 q 812 523 812 474 q 786 653 812 596 q 695 749 760 711 q 649 768 673 762 q 594 773 624 773 q 540 763 564 773 q 495 736 515 752 q 459 700 475 720 q 431 664 443 681 q 409 621 418 646 q 394 567 400 595 q 386 511 389 539 q 384 463 384 484 z " - }, - "R": { - "ha": 999, - "x_min": 83, - "x_max": 1026, - "o": "m 446 54 q 444 42 446 48 q 435 33 442 37 q 408 23 432 32 q 352 4 384 15 q 290 -19 321 -7 q 243 -36 259 -30 q 223 -43 235 -39 q 199 -47 211 -47 q 183 -42 190 -47 q 176 -24 176 -37 q 177 30 176 5 q 182 82 179 55 q 188 142 184 109 q 193 220 191 175 q 201 335 197 280 q 209 450 205 391 l 218 566 q 222 624 220 595 q 227 685 224 654 l 234 768 q 230 769 234 769 q 212 767 224 769 q 181 761 199 764 q 142 754 163 758 q 98 747 121 750 q 88 749 93 747 q 83 755 83 751 q 84 759 83 758 l 194 951 q 274 967 231 959 q 367 983 317 976 q 472 994 416 989 q 590 998 528 998 q 727 984 661 997 q 846 942 794 972 q 929 862 898 913 q 961 734 961 812 q 946 656 961 692 q 909 591 932 620 q 859 540 886 562 q 807 503 832 518 q 764 478 783 487 q 738 466 745 469 q 739 463 738 465 q 743 455 740 460 q 753 438 747 449 q 770 410 760 428 q 795 366 781 393 q 831 302 810 339 q 879 220 852 265 q 941 122 906 174 q 968 110 953 112 q 996 107 983 107 q 1017 105 1008 106 q 1026 97 1026 104 q 1015 84 1026 92 q 989 70 1004 77 q 959 56 974 62 q 935 45 943 49 q 901 29 919 37 q 863 13 884 22 q 818 -9 843 3 q 762 -38 793 -21 q 747 -44 754 -43 q 734 -46 740 -46 q 713 -40 722 -46 q 698 -26 704 -35 q 688 -10 692 -18 q 682 4 684 -1 l 479 430 l 446 54 m 488 513 q 559 531 522 513 q 627 576 597 549 q 677 640 658 604 q 697 711 697 675 q 579 809 697 809 q 542 806 557 809 q 515 802 527 803 l 488 513 z " - }, - "S": { - "ha": 745, - "x_min": 106, - "x_max": 732, - "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 z " - }, - "T": { - "ha": 786, - "x_min": 58, - "x_max": 886, - "o": "m 243 -22 q 250 74 246 28 q 256 163 253 120 l 280 484 q 287 550 284 520 q 291 609 290 581 q 295 668 293 638 q 298 733 296 697 q 251 734 276 734 q 199 734 227 734 l 68 734 q 59 740 61 734 q 58 750 58 745 l 58 755 l 132 951 l 132 954 q 136 959 132 957 q 156 963 140 962 q 337 974 250 968 q 511 983 425 979 q 683 991 597 987 q 859 998 768 995 q 877 996 867 998 q 886 981 886 994 q 885 979 886 980 q 884 976 884 977 q 864 923 873 948 q 846 873 855 898 q 828 824 838 849 q 808 771 819 799 q 806 765 808 770 q 800 752 804 759 q 789 739 795 745 q 772 732 782 732 q 765 732 768 732 q 758 732 762 732 l 576 732 q 570 659 573 698 q 563 584 567 621 l 513 54 q 511 42 513 48 q 502 33 509 36 l 310 -36 q 290 -43 302 -39 q 267 -47 278 -47 q 250 -42 257 -47 q 243 -24 243 -37 l 243 -22 z " - }, - "U": { - "ha": 935, - "x_min": 103, - "x_max": 937, - "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 z " - }, - "V": { - "ha": 885, - "x_min": 94, - "x_max": 962, - "o": "m 596 60 q 590 43 593 51 q 582 28 587 35 q 570 16 577 21 q 552 7 563 10 q 467 -17 509 -7 q 382 -41 425 -26 q 368 -45 374 -43 q 357 -46 362 -46 q 339 -40 345 -46 q 331 -24 334 -34 l 99 898 q 94 927 94 916 q 103 952 94 942 q 134 968 113 962 q 189 980 155 975 q 271 992 222 985 q 311 997 295 996 q 339 999 328 999 q 365 992 359 999 q 377 972 372 986 l 507 412 l 689 927 q 696 945 693 938 q 708 957 699 951 q 733 967 716 962 q 783 979 751 972 q 867 994 834 989 q 921 999 901 999 q 955 993 947 999 q 962 975 962 987 q 961 965 963 970 q 956 953 958 960 l 596 60 z " - }, - "W": { - "ha": 1242, - "x_min": 80, - "x_max": 1301, - "o": "m 1052 920 q 1059 940 1055 932 q 1078 951 1063 948 l 1278 998 q 1281 998 1279 998 q 1284 999 1283 999 q 1298 991 1294 999 q 1301 975 1301 983 q 1301 970 1301 974 q 1300 964 1301 966 l 1019 111 q 1001 66 1008 83 q 987 38 994 49 q 971 19 980 26 q 946 4 962 12 q 908 -13 931 -3 q 850 -40 885 -23 q 831 -46 838 -46 q 814 -38 820 -46 q 806 -20 809 -30 l 690 393 l 545 94 q 529 73 541 86 q 502 45 517 59 q 471 17 486 31 q 446 -4 456 4 q 428 -19 437 -12 q 408 -33 418 -26 q 388 -42 397 -39 q 371 -46 379 -46 q 348 -26 353 -46 l 85 901 q 82 912 83 907 q 80 922 80 918 q 88 951 80 939 q 117 970 96 962 q 171 984 137 979 q 257 992 205 989 q 298 997 281 996 q 326 998 315 998 q 352 992 346 998 q 363 972 358 986 l 503 434 l 618 633 l 572 838 q 568 862 568 854 q 576 887 568 878 q 604 903 585 897 q 653 913 623 909 q 729 924 684 918 q 763 928 749 927 q 787 930 777 930 q 815 924 808 930 q 826 904 823 918 l 918 486 l 1052 920 z " - }, - "X": { - "ha": 844, - "x_min": 56, - "x_max": 880, - "o": "m 302 978 q 308 979 308 979 l 314 979 q 336 971 326 979 q 358 945 347 964 q 379 905 366 931 q 410 848 393 878 q 442 786 426 817 q 471 733 458 755 l 583 927 l 852 981 q 858 982 855 982 q 865 983 861 983 q 880 971 880 983 q 878 961 880 967 q 872 947 876 954 l 749 728 l 701 644 q 654 566 679 608 q 608 486 629 524 q 630 447 620 466 q 649 412 641 428 q 664 385 658 397 q 673 368 669 374 l 838 55 l 836 30 q 827 22 836 28 q 803 9 818 16 q 770 -7 789 1 q 731 -22 751 -15 l 683 -38 q 664 -42 674 -38 q 642 -47 653 -47 q 624 -42 632 -47 q 606 -24 615 -38 q 572 28 591 -2 q 531 98 553 59 l 456 230 l 349 49 l 328 28 q 316 22 328 26 q 286 11 304 18 q 244 -3 267 5 q 198 -17 221 -10 q 155 -30 176 -24 q 120 -39 134 -35 q 97 -43 112 -39 q 70 -47 81 -47 q 60 -44 64 -47 q 56 -37 56 -42 q 62 -16 56 -31 q 78 19 68 -1 q 101 63 88 39 q 126 111 113 87 q 151 156 139 134 q 172 194 163 178 q 243 326 205 258 l 320 465 l 84 886 q 77 909 77 897 q 83 919 77 917 l 302 978 z " - }, - "Y": { - "ha": 756, - "x_min": 73, - "x_max": 861, - "o": "m 81 903 q 95 910 85 906 q 118 920 104 915 q 146 932 131 926 q 177 945 161 939 l 256 976 q 272 980 264 980 q 284 977 277 980 q 298 966 290 974 l 455 662 l 459 672 l 526 796 q 552 842 539 819 q 574 882 564 864 q 591 910 584 899 q 599 921 597 921 l 831 979 q 845 981 840 981 q 861 967 861 981 q 859 958 860 964 q 855 945 859 952 l 656 576 q 626 520 641 548 q 596 468 610 492 q 571 422 582 443 q 553 389 559 402 l 548 367 l 510 113 q 507 94 508 101 q 503 81 505 86 q 497 73 500 77 q 486 66 493 70 l 294 -35 q 271 -43 283 -40 q 248 -47 259 -47 q 229 -42 237 -47 q 220 -25 220 -37 l 220 -22 q 230 67 223 16 q 245 168 237 119 l 283 419 q 255 480 273 442 q 217 562 237 518 q 175 653 197 606 q 133 742 153 700 q 99 815 114 783 q 76 862 83 847 q 73 883 73 872 q 74 895 73 889 q 81 903 76 901 z " - }, - "Z": { - "ha": 847, - "x_min": 70, - "x_max": 854, - "o": "m 139 0 q 123 2 131 0 q 108 8 115 3 q 97 20 101 12 q 92 41 92 28 q 93 43 92 42 q 94 46 94 45 l 447 666 q 432 670 447 668 q 395 672 418 671 q 345 674 372 673 q 293 676 318 675 q 249 676 269 676 q 223 677 230 677 q 155 676 186 677 q 88 675 123 675 q 75 680 81 675 q 70 692 70 685 q 71 693 71 692 q 71 697 71 695 l 159 907 q 177 931 165 922 q 206 945 190 940 q 240 952 222 950 q 276 954 258 954 q 422 950 350 954 q 565 944 494 947 q 708 938 637 941 q 853 935 780 935 l 853 907 l 523 290 q 523 288 523 288 q 522 286 522 288 q 529 278 522 279 q 541 277 536 277 l 675 277 q 754 282 716 277 q 833 287 792 287 q 848 282 841 287 q 854 269 854 277 q 853 263 854 270 l 744 46 q 724 20 739 30 q 689 6 709 11 q 643 0 668 1 q 591 -1 618 -1 q 375 -1 485 -1 q 139 0 266 0 z " - }, - "[": { - "ha": 545, - "x_min": 85, - "x_max": 616, - "o": "m 153 897 q 157 922 154 913 q 165 936 161 931 q 174 942 169 941 q 182 944 178 943 l 597 983 q 601 983 597 983 q 607 981 604 983 q 613 975 610 979 q 616 964 616 971 q 607 929 616 960 q 580 852 597 898 l 550 774 q 542 759 547 764 q 524 750 537 753 q 488 745 511 747 q 422 739 464 743 q 418 697 421 730 q 410 616 414 664 q 400 513 406 569 q 388 401 394 456 l 365 120 l 496 121 q 504 114 504 121 q 502 104 504 110 q 496 94 499 99 q 489 75 495 92 q 474 35 482 58 q 456 -11 465 12 q 441 -49 447 -35 q 418 -72 431 -66 q 389 -77 406 -77 q 367 -76 378 -77 q 342 -74 355 -75 q 278 -71 311 -72 q 213 -67 245 -69 q 151 -63 181 -66 q 96 -54 121 -60 q 86 -46 88 -53 q 85 -31 85 -39 q 86 -2 85 -28 q 91 65 88 24 q 98 161 94 107 q 106 273 102 214 q 115 393 111 332 q 124 509 120 454 l 153 897 z " - }, - "\\": { - "ha": 742, - "x_min": 111, - "x_max": 719, - "o": "m 456 640 q 532 473 498 549 q 596 329 566 397 q 655 198 627 261 q 715 68 684 134 q 719 56 719 60 q 710 40 719 47 q 691 28 702 33 q 668 19 680 23 q 652 14 657 16 l 584 -15 q 566 -20 574 -20 q 554 -11 556 -20 q 547 10 551 -1 l 112 969 q 111 971 111 970 q 115 977 111 975 q 122 980 118 979 q 194 1004 158 987 q 266 1036 229 1021 l 270 1036 q 284 1028 279 1036 q 298 1001 290 1021 q 377 819 339 908 q 456 640 415 729 z " - }, - "]": { - "ha": 547, - "x_min": 20, - "x_max": 542, - "o": "m 470 1 q 465 -24 469 -15 q 458 -38 462 -33 q 449 -44 454 -43 q 441 -46 445 -45 l 258 -52 q 187 -55 222 -54 q 122 -57 152 -56 q 71 -58 92 -58 q 40 -58 49 -58 q 36 -58 39 -58 q 30 -56 33 -58 q 23 -50 26 -54 q 20 -39 20 -46 q 27 -11 20 -37 q 50 61 34 16 l 73 131 q 84 149 77 142 q 110 155 90 155 l 215 159 q 217 182 216 165 q 220 224 218 199 q 224 281 222 250 q 229 349 227 313 q 235 422 232 385 q 241 496 238 460 l 261 778 l 130 777 q 121 780 123 777 q 119 789 119 783 q 120 796 119 792 q 120 804 120 800 q 120 821 120 806 q 121 858 121 837 q 122 900 121 878 q 122 933 122 921 q 133 961 122 955 q 161 967 143 967 q 185 966 172 967 q 212 965 198 965 l 531 965 q 541 957 539 965 q 542 943 542 949 q 541 925 542 939 q 539 893 541 911 q 537 852 538 874 q 533 812 535 831 q 530 763 532 795 q 524 690 528 730 q 517 606 521 650 q 510 521 513 562 q 503 445 506 479 q 499 389 500 410 l 470 1 z " - }, - "^": { - "ha": 807, - "x_min": 28, - "x_max": 768, - "o": "m 507 62 q 496 98 503 73 q 481 153 490 122 q 463 216 472 183 q 446 279 454 250 q 432 329 437 308 q 424 358 426 351 l 267 60 q 250 52 264 52 q 199 62 226 58 q 145 69 172 66 q 90 74 117 72 q 37 78 62 76 q 28 87 28 80 q 39 119 28 95 q 92 219 64 167 q 147 324 119 271 q 202 427 175 376 q 252 522 229 478 q 296 602 276 566 q 332 659 317 637 q 335 664 332 661 q 341 667 338 667 l 346 668 q 347 668 347 668 q 349 667 348 667 q 457 658 404 661 q 562 654 511 655 q 572 652 568 654 q 580 646 576 650 q 587 635 584 642 q 594 617 590 628 l 765 145 q 767 133 766 138 q 768 123 768 127 q 753 102 768 107 q 637 83 696 93 q 522 58 579 73 q 513 57 517 57 q 507 62 508 57 z " - }, - "_": { - "ha": 706, - "x_min": 14, - "x_max": 672, - "o": "m 113 -39 q 37 -36 60 -39 q 14 -23 14 -33 q 18 -6 14 -18 q 30 18 22 5 q 47 46 37 31 q 67 72 56 60 q 89 92 78 84 q 111 100 100 100 l 349 107 q 383 107 359 107 q 439 108 408 108 q 505 109 471 109 q 568 110 538 110 q 617 111 597 111 q 640 111 637 111 q 656 108 648 111 q 667 101 662 105 q 672 87 672 96 q 670 61 672 79 q 665 26 668 43 l 659 -20 q 653 -31 658 -27 q 626 -35 648 -35 l 519 -35 q 474 -35 498 -35 q 428 -36 451 -35 q 385 -36 406 -36 q 347 -36 363 -36 l 113 -39 z " - }, - "`": { - "ha": 380, - "x_min": 17, - "x_max": 341, - "o": "m 117 968 q 90 1015 101 996 q 70 1051 79 1034 q 50 1087 60 1068 q 24 1135 39 1107 q 19 1149 20 1143 q 17 1162 18 1156 q 20 1174 17 1169 q 31 1181 24 1178 q 83 1210 56 1196 q 138 1240 111 1225 q 194 1272 166 1255 q 246 1305 221 1288 q 256 1309 253 1309 q 261 1303 260 1309 l 337 907 q 340 892 338 898 q 341 881 341 886 q 339 869 341 875 q 330 861 337 864 q 304 849 316 854 q 280 838 292 844 q 255 825 268 832 q 225 808 241 819 q 218 806 222 806 q 204 815 212 806 q 185 843 197 824 q 158 893 174 863 q 117 968 141 924 z " - }, - "a": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 z " - }, - "b": { - "ha": 895, - "x_min": 79, - "x_max": 888, - "o": "m 368 221 q 387 194 374 208 q 416 168 399 180 q 452 150 433 157 q 493 142 472 142 q 548 165 522 142 q 593 226 574 188 q 623 314 612 264 q 634 416 634 363 q 628 477 634 448 q 610 528 623 507 q 579 563 598 550 q 532 576 559 576 q 452 550 488 576 q 390 484 415 524 l 368 221 m 115 -33 q 100 -35 106 -35 q 79 -9 79 -35 q 79 -3 79 -6 q 80 5 79 1 l 159 964 q 159 968 159 966 q 159 972 159 970 q 159 977 159 975 q 159 980 159 979 q 163 990 159 986 q 186 998 168 994 l 376 1044 q 396 1050 384 1045 q 420 1055 408 1055 q 436 1050 429 1055 q 444 1035 444 1046 q 444 1032 444 1034 q 444 1029 444 1031 q 440 1000 443 1026 q 434 936 437 973 q 427 855 431 898 q 419 774 422 812 q 413 710 416 736 q 410 680 410 684 q 512 735 459 713 q 618 757 565 757 q 739 728 688 757 q 823 651 789 699 q 872 541 856 604 q 888 412 888 479 q 878 305 888 359 q 849 201 868 251 q 803 109 831 152 q 738 33 774 65 q 657 -17 702 1 q 560 -35 612 -35 q 445 -7 497 -35 q 348 64 393 20 q 346 39 347 48 q 341 24 345 29 q 330 16 338 19 q 308 9 323 13 q 282 3 300 7 q 237 -7 263 -1 q 179 -20 211 -13 q 115 -33 148 -26 z " - }, - "c": { - "ha": 714, - "x_min": 68, - "x_max": 736, - "o": "m 68 331 q 101 497 68 420 q 192 633 134 575 q 329 724 250 690 q 500 757 408 757 q 608 747 564 757 q 682 724 653 736 q 723 701 710 711 q 736 690 736 690 q 733 667 736 686 q 727 624 730 648 q 720 573 723 599 q 717 528 717 547 q 715 520 717 524 q 704 516 713 516 q 680 522 696 516 q 642 534 665 528 q 590 547 619 541 q 524 553 560 553 q 444 537 479 553 q 382 493 408 521 q 342 426 356 465 q 328 342 328 387 q 343 263 328 296 q 382 209 357 230 q 438 179 406 189 q 505 170 470 170 q 587 181 546 170 q 665 212 629 192 q 671 213 667 213 q 676 210 674 213 q 677 197 677 206 q 677 144 677 175 q 677 85 677 113 q 676 37 677 57 q 675 18 675 18 q 622 -9 650 1 q 563 -25 593 -19 q 503 -33 533 -31 q 444 -35 472 -35 q 296 -9 364 -35 q 177 66 227 18 q 97 181 126 114 q 68 331 68 249 z " - }, - "d": { - "ha": 901, - "x_min": 71, - "x_max": 920, - "o": "m 595 386 q 599 431 597 408 q 605 481 602 455 q 561 547 589 522 q 490 572 532 572 q 418 548 448 572 q 372 489 389 524 q 346 415 354 454 q 338 346 338 376 q 343 273 338 309 q 357 208 347 237 q 383 161 367 179 q 424 143 399 143 q 521 170 484 145 q 581 231 558 195 l 595 386 m 831 68 q 831 65 831 67 q 831 62 831 64 q 831 57 831 59 q 831 53 831 55 q 827 43 831 47 q 804 35 823 39 l 623 -24 q 603 -31 615 -27 q 579 -35 591 -35 q 563 -31 570 -35 q 555 -13 555 -26 q 556 7 555 -1 q 556 21 556 14 q 558 35 557 27 q 560 54 559 42 q 455 -11 509 14 q 342 -35 401 -35 q 226 -4 277 -35 q 141 78 176 26 q 89 197 106 130 q 71 336 71 264 q 101 508 71 431 q 185 641 132 586 q 309 727 238 696 q 458 757 379 757 q 540 734 501 757 q 614 677 579 712 q 618 749 616 710 q 624 828 621 788 q 629 908 627 869 q 634 980 632 947 q 638 990 634 986 q 661 998 643 994 l 852 1044 q 871 1050 859 1045 q 895 1055 884 1055 q 912 1050 904 1055 q 920 1035 920 1046 q 919 1029 920 1034 q 919 1023 919 1025 l 831 68 z " - }, - "e": { - "ha": 774, - "x_min": 68, - "x_max": 771, - "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 z " - }, - "f": { - "ha": 617, - "x_min": 47, - "x_max": 783, - "o": "m 157 -10 q 160 22 158 -3 q 166 85 163 47 q 174 172 170 123 q 184 278 178 221 q 195 396 189 334 q 207 521 201 458 l 117 521 q 64 524 80 521 q 47 536 47 527 q 54 551 47 539 q 72 579 61 563 q 94 615 82 596 q 118 651 106 634 q 137 680 129 667 q 147 694 145 692 l 230 694 l 243 802 q 278 946 253 888 q 339 1040 302 1004 q 424 1092 376 1076 q 526 1107 471 1107 q 638 1094 580 1107 q 757 1058 697 1081 q 776 1049 770 1053 q 783 1039 783 1045 q 778 1025 783 1034 q 746 957 756 983 q 729 916 735 931 q 719 896 723 901 q 707 891 715 891 q 698 893 703 891 q 688 898 694 895 q 640 914 664 907 q 594 921 616 921 q 542 902 564 921 q 507 830 519 883 q 494 764 499 800 q 486 694 490 729 l 663 694 q 674 691 669 694 q 679 678 679 687 q 671 654 679 675 q 648 599 663 633 l 623 544 q 613 529 618 534 q 593 523 608 524 l 475 523 q 461 383 468 452 q 448 253 454 314 q 437 145 442 193 q 430 73 433 98 q 429 65 429 71 q 430 60 429 62 q 430 57 430 58 q 426 47 430 51 q 403 39 421 43 l 224 -24 q 205 -31 217 -27 q 181 -35 193 -35 q 163 -30 170 -35 q 157 -10 157 -24 z " - }, - "g": { - "ha": 878, - "x_min": 69, - "x_max": 871, - "o": "m 576 484 q 557 515 569 499 q 530 545 545 532 q 496 567 514 559 q 457 576 477 576 q 405 553 429 576 q 362 491 380 530 q 333 404 344 453 q 323 302 323 355 q 329 240 323 269 q 347 190 334 212 q 378 155 359 168 q 425 142 397 142 q 499 168 465 142 q 557 234 533 193 q 559 268 557 248 q 562 316 560 288 q 567 382 564 344 q 575 473 570 420 l 576 484 m 800 74 q 770 -52 793 7 q 710 -158 746 -110 q 627 -245 673 -207 q 529 -310 581 -283 q 422 -350 477 -336 q 313 -364 367 -364 q 255 -362 285 -364 q 197 -354 225 -360 q 142 -338 168 -349 q 96 -311 117 -328 l 96 -311 q 101 -287 96 -307 q 114 -239 106 -267 q 129 -182 121 -212 q 142 -132 136 -153 q 147 -119 144 -123 q 153 -116 150 -116 q 158 -117 157 -116 q 195 -138 178 -130 q 232 -152 212 -146 q 274 -159 251 -157 q 328 -161 297 -161 q 412 -142 375 -161 q 475 -95 448 -124 q 517 -31 501 -66 q 539 38 533 4 q 440 -15 490 5 q 339 -35 390 -35 q 218 -7 269 -35 q 134 68 168 21 q 85 177 101 116 q 69 306 69 239 q 79 413 69 359 q 108 517 89 467 q 156 611 127 567 q 222 687 184 654 q 304 738 259 720 q 404 757 350 757 q 512 731 462 757 q 602 667 562 705 q 604 687 604 680 q 608 698 605 694 q 617 704 610 702 q 635 709 623 706 q 663 714 643 710 q 709 725 682 719 q 769 738 736 731 q 835 752 802 745 q 850 754 843 754 q 871 727 871 754 q 871 721 871 724 q 870 714 871 718 l 800 74 z " - }, - "h": { - "ha": 901, - "x_min": 81, - "x_max": 878, - "o": "m 159 986 q 158 994 159 990 q 158 1000 158 997 q 163 1011 158 1006 q 186 1020 168 1015 l 376 1065 q 396 1072 384 1067 q 420 1076 408 1076 q 444 1055 444 1076 q 441 1027 444 1053 q 436 961 439 1000 q 429 875 433 922 q 420 787 425 829 q 413 713 416 745 q 408 672 410 682 q 474 705 439 690 q 544 732 509 721 q 613 750 578 744 q 681 757 648 757 q 758 745 722 757 q 821 706 794 733 q 863 634 848 678 q 878 525 878 589 q 878 491 878 509 q 875 456 877 474 l 846 178 q 842 119 842 150 q 841 56 841 88 q 841 46 841 50 q 842 40 842 43 q 837 31 842 34 q 814 22 831 27 l 648 -24 q 628 -31 640 -26 q 604 -35 616 -35 q 587 -30 593 -35 q 581 -10 581 -25 q 588 72 585 41 q 593 122 591 103 q 596 150 595 140 q 598 168 597 160 q 600 185 599 176 q 603 214 602 195 q 608 264 605 233 q 616 347 611 296 q 622 400 618 374 q 625 450 625 427 q 622 502 625 478 q 611 542 618 525 q 589 568 603 558 q 555 577 576 577 q 512 570 539 577 q 459 548 486 564 q 411 507 432 532 q 388 444 391 481 q 379 359 382 392 q 374 304 376 326 q 371 269 372 282 q 370 245 370 256 q 368 229 369 242 q 364 197 366 216 q 360 158 362 179 q 356 119 358 138 q 354 88 355 101 q 353 71 353 75 q 353 62 353 66 q 353 55 353 58 q 348 46 353 50 q 326 37 343 42 l 149 -24 q 129 -31 141 -27 q 105 -35 117 -35 q 88 -30 95 -35 q 81 -10 81 -24 l 159 986 z " - }, - "i": { - "ha": 415, - "x_min": 73, - "x_max": 439, - "o": "m 99 288 q 117 471 108 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 91 q 342 60 345 68 q 328 49 340 52 q 211 9 270 31 q 86 -35 152 -12 q 80 -35 84 -35 q 73 -28 73 -35 q 74 -10 73 -28 q 78 35 75 7 q 83 98 80 63 q 89 167 85 132 q 94 233 92 201 q 99 288 97 265 m 150 829 q 153 873 152 858 q 155 897 154 889 q 155 907 155 905 q 156 910 155 909 q 156 914 156 911 q 157 927 157 917 q 159 956 158 937 q 163 1008 161 975 q 168 1039 165 1030 q 183 1050 171 1047 q 304 1074 241 1061 q 426 1106 367 1086 q 432 1107 428 1107 q 437 1101 434 1103 l 439 1100 l 425 914 q 419 883 422 892 q 405 872 416 874 q 288 848 347 861 q 163 823 229 836 q 157 822 161 822 q 150 829 150 822 z " - }, - "j": { - "ha": 420, - "x_min": -193, - "x_max": 441, - "o": "m 152 829 q 155 873 154 858 q 157 897 156 889 q 157 907 157 905 q 158 910 157 909 q 158 914 158 911 q 159 927 159 917 q 161 956 160 937 q 165 1008 163 975 q 170 1039 167 1030 q 185 1050 173 1047 q 306 1074 243 1061 q 428 1106 369 1086 q 434 1107 430 1107 q 439 1101 436 1103 l 441 1100 l 427 914 q 421 883 425 892 q 407 872 418 874 q 290 848 349 861 q 165 823 231 836 q 159 822 163 822 q 152 829 152 822 m 77 60 q 90 185 83 115 q 105 335 98 256 q 121 496 113 414 q 134 658 128 579 q 139 689 136 680 q 154 700 142 697 q 275 724 212 711 q 397 756 338 736 q 403 757 399 757 q 410 751 410 757 l 360 196 l 347 88 q 257 -146 329 -69 q 47 -223 184 -223 q 11 -219 34 -223 q -39 -209 -12 -216 q -93 -195 -65 -203 q -142 -178 -120 -186 q -178 -162 -164 -170 q -193 -149 -193 -155 q -188 -134 -193 -143 q -157 -69 -168 -95 q -140 -28 -146 -43 q -131 -7 -134 -13 q -119 -1 -127 -1 q -98 -7 -113 -1 q -51 -24 -74 -17 q -4 -31 -27 -31 q 23 -26 9 -31 q 47 -12 36 -22 q 65 16 58 -1 q 77 60 73 34 z " - }, - "k": { - "ha": 853, - "x_min": 77, - "x_max": 881, - "o": "m 447 1029 l 422 794 q 413 698 418 747 q 403 604 408 649 q 394 522 398 559 q 387 459 390 484 l 434 511 l 510 600 q 538 632 524 616 q 562 661 551 648 q 580 682 573 673 q 588 692 587 690 l 861 711 q 865 711 863 711 q 869 711 867 711 q 881 705 881 711 q 867 684 881 701 l 654 447 q 621 411 640 431 q 578 365 602 390 l 677 247 l 848 63 q 854 58 850 60 q 862 55 858 56 q 868 52 865 54 q 871 47 871 50 q 870 43 871 44 q 864 37 869 41 q 843 24 858 33 q 807 4 827 15 q 764 -18 787 -7 q 719 -38 741 -29 q 679 -53 697 -47 q 650 -59 661 -59 q 634 -55 642 -59 q 617 -40 627 -51 q 585 -1 604 -25 q 543 52 566 23 q 497 112 521 81 q 453 171 474 142 q 414 221 431 199 q 387 258 397 244 q 380 253 384 254 q 374 248 377 251 q 369 242 371 245 q 367 231 367 238 q 366 216 367 229 q 362 186 364 203 q 359 149 361 169 q 355 112 357 130 q 352 82 353 95 q 351 67 351 70 q 351 59 351 62 q 351 54 351 56 q 346 42 351 46 q 321 33 341 39 l 144 -24 q 124 -31 136 -27 q 100 -35 112 -35 q 84 -31 91 -35 q 77 -13 77 -26 l 162 964 q 161 971 162 968 q 161 977 161 974 q 166 988 161 983 q 189 998 171 994 l 380 1044 q 399 1050 387 1045 q 423 1055 412 1055 q 440 1050 432 1055 q 448 1035 448 1046 q 447 1032 448 1034 q 447 1029 447 1031 z " - }, - "l": { - "ha": 422, - "x_min": 79, - "x_max": 439, - "o": "m 128 574 q 141 758 136 667 q 153 944 146 848 q 157 975 154 966 q 172 986 160 983 q 299 1009 235 998 q 426 1041 362 1021 q 432 1042 428 1042 q 439 1035 439 1042 l 351 66 l 351 55 q 347 45 351 49 q 324 37 342 41 l 146 -28 q 127 -36 139 -32 q 103 -39 115 -39 q 86 -35 94 -39 q 79 -18 79 -30 l 79 -14 q 90 120 85 54 q 101 255 95 185 q 113 403 106 325 q 128 574 120 481 z " - }, - "m": { - "ha": 1322, - "x_min": 73, - "x_max": 1301, - "o": "m 1068 -24 q 1048 -31 1061 -26 q 1025 -35 1036 -35 q 1008 -31 1015 -35 q 1001 -14 1001 -26 l 1001 -10 q 1009 70 1006 39 q 1015 120 1013 101 q 1018 149 1017 139 q 1021 167 1019 159 q 1023 186 1022 176 q 1026 215 1024 196 q 1031 264 1028 233 q 1039 345 1034 295 q 1045 399 1042 372 q 1048 448 1048 426 q 1045 500 1048 477 q 1034 540 1042 524 q 1013 566 1026 557 q 978 576 999 576 q 944 570 965 576 q 903 551 924 565 q 865 514 882 537 q 843 457 848 492 l 843 454 q 828 320 835 377 q 817 223 822 264 q 809 155 812 182 q 804 110 806 128 q 801 79 802 91 q 800 56 800 66 q 801 46 800 50 q 801 40 801 43 q 796 31 801 35 q 773 22 791 27 l 614 -24 q 594 -31 606 -26 q 570 -35 582 -35 q 554 -31 561 -35 q 547 -14 547 -26 l 547 -10 q 554 70 551 39 q 560 120 557 101 q 564 149 562 139 q 566 167 565 159 q 568 186 567 176 q 571 215 570 196 q 576 264 573 233 q 584 345 579 295 q 590 399 587 372 q 593 448 593 426 q 590 500 593 477 q 580 540 587 524 q 561 566 573 557 q 530 576 549 576 q 493 569 516 576 q 446 547 469 562 q 405 506 422 531 q 384 443 387 480 q 375 360 378 393 q 370 308 372 328 q 367 274 368 287 q 365 251 366 262 q 363 236 364 248 q 360 206 361 223 q 356 169 358 189 q 353 131 355 149 q 351 101 352 114 q 350 86 350 89 l 350 74 q 349 62 350 67 q 345 54 349 58 q 335 46 342 50 q 317 39 329 43 l 140 -24 q 120 -31 132 -27 q 96 -35 108 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 134 677 q 139 708 136 700 q 154 720 142 717 q 280 744 216 732 q 406 777 345 757 q 413 775 412 777 q 414 770 414 773 l 405 671 q 461 699 430 684 q 527 727 492 714 q 596 748 561 740 q 666 757 632 757 q 752 735 713 757 q 818 665 792 714 q 883 701 848 684 q 952 730 917 718 q 1024 749 988 743 q 1094 756 1060 756 q 1175 744 1137 756 q 1241 704 1213 732 q 1285 632 1269 676 q 1301 524 1301 587 q 1301 490 1301 507 q 1298 454 1300 473 l 1267 164 q 1263 112 1263 136 q 1262 56 1262 87 q 1262 46 1262 50 q 1263 40 1263 43 q 1258 31 1263 34 q 1235 22 1253 27 l 1068 -24 z " - }, - "n": { - "ha": 897, - "x_min": 73, - "x_max": 876, - "o": "m 644 -24 q 625 -31 637 -26 q 601 -35 612 -35 q 584 -31 591 -35 q 577 -14 577 -26 l 577 -10 q 584 52 581 26 q 589 98 587 77 q 593 139 591 119 q 597 188 595 160 q 604 253 600 215 q 613 347 608 290 q 619 417 616 381 q 622 484 622 453 q 619 521 622 504 q 608 551 616 538 q 587 570 600 564 q 552 577 573 577 q 509 570 536 577 q 454 548 481 564 q 406 507 427 532 q 382 444 385 481 q 375 358 378 394 q 369 298 372 323 q 365 258 366 273 q 362 231 363 242 q 360 216 361 229 q 357 187 359 204 q 354 151 355 170 q 350 115 352 132 q 348 86 349 98 q 347 71 347 74 q 347 62 347 66 q 347 55 347 58 q 342 46 347 50 q 319 37 337 42 l 140 -24 q 120 -31 132 -27 q 96 -35 108 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 134 679 q 139 710 136 701 q 155 721 142 718 q 281 746 216 733 q 408 778 347 758 q 415 776 414 778 q 416 771 416 774 q 415 767 416 770 q 413 755 415 764 q 409 726 412 745 q 400 672 406 707 q 488 716 447 699 q 565 742 529 732 q 633 754 602 751 q 693 757 665 757 q 832 699 789 757 q 876 525 876 641 q 875 491 876 509 q 872 456 874 474 l 841 164 q 837 112 838 136 q 836 56 836 87 q 837 46 836 50 q 837 40 837 43 q 832 31 837 34 q 809 22 827 27 l 644 -24 z " - }, - "o": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 z " - }, - "p": { - "ha": 899, - "x_min": 50, - "x_max": 895, - "o": "m 385 473 q 377 368 380 408 q 372 301 374 327 q 369 261 370 276 q 367 234 368 247 q 413 168 382 193 q 486 142 444 142 q 552 166 524 142 q 598 227 580 189 q 627 310 617 264 q 636 401 636 356 q 630 471 636 439 q 610 526 623 503 q 578 563 597 549 q 532 576 559 576 q 489 567 511 576 q 448 546 468 559 q 413 516 429 532 q 387 484 397 499 l 385 473 m 398 672 q 517 734 455 711 q 648 757 580 757 q 758 731 711 757 q 835 660 804 705 q 880 558 865 616 q 895 437 895 500 q 884 326 895 382 q 852 217 873 270 q 800 119 831 165 q 728 38 768 73 q 638 -16 688 4 q 531 -35 589 -35 q 434 -15 480 -35 q 347 38 387 5 q 345 13 347 35 q 340 -39 343 -8 q 334 -104 338 -69 q 328 -170 331 -139 q 324 -221 326 -200 q 322 -246 322 -243 q 322 -255 322 -252 q 323 -262 323 -259 q 318 -272 323 -268 q 295 -280 313 -275 l 117 -326 q 97 -332 109 -328 q 73 -336 85 -336 q 57 -332 64 -336 q 50 -314 50 -327 l 132 679 q 137 710 134 701 q 153 721 140 718 q 279 746 214 733 q 406 778 345 758 q 413 776 412 778 q 414 771 414 774 q 413 767 414 770 q 411 755 413 764 q 407 726 410 745 q 398 672 404 707 z " - }, - "q": { - "ha": 884, - "x_min": 70, - "x_max": 871, - "o": "m 576 487 q 558 519 570 503 q 530 549 546 535 q 496 571 515 562 q 458 579 478 579 q 406 556 430 579 q 363 495 381 533 q 334 407 345 456 q 323 305 323 358 q 329 244 323 273 q 347 193 335 215 q 379 159 359 172 q 425 146 398 146 q 500 171 466 146 q 557 237 534 197 q 559 271 558 252 q 563 319 561 291 q 568 386 565 347 q 576 477 571 424 l 576 487 m 836 755 q 850 758 844 758 q 871 731 871 758 q 871 725 871 728 q 871 718 871 722 l 783 -222 q 783 -230 783 -224 q 783 -235 783 -233 q 783 -238 783 -237 q 779 -248 783 -244 q 756 -256 774 -252 l 576 -322 q 557 -329 569 -324 q 533 -333 545 -333 q 516 -329 524 -333 q 509 -314 509 -325 q 509 -308 509 -310 q 511 -289 510 -305 q 515 -249 513 -273 q 519 -195 517 -225 q 525 -133 522 -165 q 530 -72 527 -102 q 534 -17 532 -41 q 538 23 536 7 q 540 41 539 39 q 441 -13 491 9 q 340 -35 391 -35 q 219 -7 270 -35 q 135 70 168 22 q 86 179 102 117 q 70 309 70 241 q 80 416 70 362 q 109 520 90 470 q 157 613 128 570 q 222 688 185 656 q 305 739 260 720 q 404 757 351 757 q 513 733 464 757 q 603 671 562 709 q 605 690 604 683 q 608 701 606 697 q 617 707 611 705 q 636 712 624 709 q 663 718 644 713 q 710 728 683 722 q 770 741 737 734 q 836 755 802 748 z " - }, - "r": { - "ha": 613, - "x_min": 73, - "x_max": 678, - "o": "m 636 552 q 604 555 622 553 q 567 557 587 557 q 506 552 537 557 q 449 532 475 547 q 404 491 422 517 q 379 423 385 465 q 371 341 374 373 q 367 288 368 309 q 365 255 366 267 q 363 231 363 242 q 362 216 363 229 q 359 188 361 204 q 355 153 357 172 q 351 117 353 134 q 348 89 349 101 q 347 74 347 77 q 348 65 347 68 q 348 58 348 61 q 343 48 348 52 q 320 40 338 45 l 140 -24 q 121 -31 133 -27 q 97 -35 109 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 132 658 q 137 689 134 680 q 152 700 140 697 q 279 725 214 712 q 407 757 345 737 q 413 755 412 757 q 414 750 414 753 q 414 746 414 749 q 412 734 414 743 q 407 705 410 724 q 399 651 404 686 q 468 696 430 675 q 543 731 505 716 q 616 754 581 745 q 678 762 652 762 l 636 552 z " - }, - "s": { - "ha": 584, - "x_min": 84, - "x_max": 568, - "o": "m 85 187 q 84 188 85 188 q 84 189 84 189 q 94 198 84 198 q 104 193 100 198 q 166 151 132 168 q 242 135 201 135 q 267 137 253 135 q 294 145 281 140 q 316 160 307 151 q 324 182 324 169 q 317 210 324 197 q 297 231 309 222 q 273 247 290 235 q 237 273 256 259 q 200 298 218 286 q 176 316 183 311 q 128 363 146 339 q 100 412 110 387 q 88 465 91 437 q 85 524 85 493 q 111 614 85 572 q 177 688 136 656 q 270 738 218 720 q 376 757 322 757 q 465 743 421 757 q 545 697 508 730 q 550 613 549 654 q 554 526 551 572 q 550 514 554 517 q 541 511 546 511 q 532 515 536 511 q 500 544 517 530 q 466 570 484 559 q 428 588 448 581 q 385 595 408 595 q 356 593 370 595 q 330 584 342 591 q 312 567 319 578 q 304 539 304 556 q 309 505 304 519 q 332 477 314 491 l 458 392 q 514 346 492 368 q 547 300 535 323 q 564 256 559 278 q 568 212 568 234 q 540 105 568 151 q 467 27 512 58 q 366 -19 422 -3 q 252 -35 309 -35 q 169 -26 209 -35 q 94 2 128 -17 l 85 187 z " - }, - "t": { - "ha": 633, - "x_min": 51, - "x_max": 659, - "o": "m 447 523 q 429 381 437 452 q 418 248 420 310 q 422 204 418 222 q 434 176 427 186 q 453 162 442 166 q 477 157 464 157 q 525 164 499 157 q 576 180 551 170 q 590 185 585 184 q 600 187 596 187 q 609 181 607 187 q 614 160 612 175 q 621 119 616 144 q 637 54 626 93 q 638 48 637 50 q 638 43 638 45 q 631 30 638 34 q 608 20 624 26 q 549 1 580 11 q 488 -17 518 -9 q 430 -30 458 -25 q 381 -35 402 -35 q 216 21 268 -35 q 164 193 164 77 q 165 233 164 212 q 169 276 167 254 q 181 405 176 344 q 191 521 186 465 l 120 521 q 67 524 83 521 q 51 536 51 527 q 58 551 51 539 q 75 579 64 563 q 98 615 85 596 q 121 651 110 634 q 140 680 132 667 q 151 694 149 692 l 199 694 q 209 781 205 746 q 215 839 212 816 q 219 874 217 862 q 223 893 221 887 q 230 901 226 899 q 239 904 233 903 q 298 915 270 910 q 355 926 327 920 q 413 938 384 931 q 475 955 443 945 q 477 955 477 955 q 480 956 478 956 q 488 950 488 956 l 488 949 q 478 845 485 911 q 462 694 471 779 l 644 694 q 654 691 649 694 q 659 678 659 687 q 651 654 659 675 q 628 599 643 633 l 604 544 q 594 529 599 534 q 573 523 589 524 l 447 523 z " - }, - "u": { - "ha": 868, - "x_min": 79, - "x_max": 862, - "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 z " - }, - "v": { - "ha": 760, - "x_min": 69, - "x_max": 819, - "o": "m 580 750 q 590 757 583 757 q 593 756 591 757 q 595 756 594 756 q 700 724 646 736 q 806 700 753 711 q 819 685 819 697 q 811 658 819 676 l 532 64 q 522 44 526 52 q 514 32 518 37 q 505 25 510 27 q 494 22 500 23 q 389 -2 442 12 q 279 -35 336 -15 q 277 -35 278 -35 q 276 -35 277 -35 l 271 -35 q 266 -33 268 -35 q 263 -28 264 -31 q 240 47 253 1 q 211 150 227 93 q 178 271 195 207 q 144 402 161 336 q 109 534 126 469 q 75 658 92 600 q 69 688 69 679 q 80 700 69 697 q 190 724 133 711 q 298 756 247 736 q 304 757 300 757 q 313 750 313 757 l 403 294 q 414 324 406 302 q 434 375 422 345 q 459 441 446 405 q 488 514 473 477 q 517 588 503 551 q 544 657 531 625 q 566 713 556 689 q 580 750 575 738 z " - }, - "w": { - "ha": 1147, - "x_min": 77, - "x_max": 1185, - "o": "m 503 690 q 515 700 505 698 q 627 725 570 712 q 738 757 685 738 q 747 750 747 757 l 817 288 l 946 750 q 956 757 949 757 q 959 756 958 757 q 962 756 960 756 q 1066 724 1013 736 q 1173 700 1120 711 q 1185 685 1185 697 q 1177 658 1185 676 l 959 53 q 949 34 954 41 q 941 21 945 26 q 932 15 937 17 q 921 11 928 12 q 817 -13 869 0 q 707 -45 764 -26 q 705 -46 705 -45 q 703 -46 704 -46 l 699 -46 q 693 -44 695 -46 q 690 -39 691 -41 q 673 33 683 -10 q 653 130 664 77 q 630 243 642 182 q 605 367 618 303 l 519 64 q 512 44 515 52 q 503 32 508 36 q 493 25 498 27 q 481 22 488 23 q 376 -2 429 12 q 267 -35 323 -15 q 264 -35 265 -35 q 263 -35 264 -35 l 258 -35 q 253 -33 255 -35 q 250 -28 250 -31 q 229 47 241 1 q 202 150 216 93 q 174 271 189 206 q 143 401 159 335 q 112 533 127 468 q 83 658 97 599 q 77 676 78 669 q 77 688 77 683 q 87 700 77 697 q 197 724 140 711 q 305 756 254 736 q 311 757 307 757 q 321 750 320 757 l 397 281 l 503 690 z " - }, - "x": { - "ha": 726, - "x_min": 15, - "x_max": 773, - "o": "m 475 -39 q 465 -21 474 -39 q 441 23 456 -4 q 409 85 427 51 q 372 153 391 119 q 321 85 347 119 q 277 23 296 51 q 244 -21 257 -4 q 231 -39 231 -39 q 218 -46 226 -46 q 212 -45 214 -46 q 168 -27 192 -35 q 120 -13 144 -20 q 70 -1 95 -7 q 22 11 45 5 q 15 18 15 12 q 20 30 15 22 q 37 53 26 37 l 262 360 q 181 508 221 435 q 100 658 142 581 q 88 679 92 671 q 84 692 84 686 q 93 700 84 698 q 197 724 144 711 q 296 756 250 736 q 302 757 298 757 q 313 750 311 757 l 415 566 l 557 750 q 570 757 562 757 q 575 756 574 757 q 668 724 616 736 q 766 700 719 711 q 773 694 773 698 q 768 681 773 688 q 751 658 762 673 q 636 508 692 581 q 526 360 581 436 l 688 53 q 699 33 695 40 q 703 20 703 25 q 695 11 703 13 q 591 -13 644 -1 q 492 -45 538 -26 q 486 -46 490 -46 q 475 -39 479 -46 z " - }, - "y": { - "ha": 763, - "x_min": 77, - "x_max": 807, - "o": "m 370 -309 q 367 -314 369 -312 q 361 -315 366 -315 q 355 -315 357 -315 q 309 -300 331 -306 q 266 -289 288 -294 q 222 -279 245 -283 q 175 -269 200 -275 q 164 -265 168 -268 q 161 -254 161 -262 q 163 -244 161 -252 q 175 -213 165 -237 q 204 -143 184 -189 q 258 -20 224 -97 q 235 62 248 14 q 208 165 222 109 q 178 284 193 222 q 146 411 162 347 q 114 538 130 475 q 83 658 98 601 q 78 676 79 669 q 77 688 77 683 q 88 700 77 697 q 198 724 141 711 q 306 756 255 736 q 312 757 308 757 q 321 750 321 757 l 404 294 q 415 324 407 302 q 433 375 422 345 q 456 441 444 405 q 483 514 469 477 q 510 588 496 551 q 534 657 523 625 q 554 713 546 689 q 568 750 563 738 q 578 757 570 757 q 581 756 580 757 q 583 756 581 756 q 688 724 634 736 q 794 700 741 711 q 807 685 807 697 q 799 658 807 676 l 519 26 l 370 -309 z " - }, - "z": { - "ha": 673, - "x_min": 57, - "x_max": 667, - "o": "m 173 0 q 144 1 159 0 q 116 6 129 3 q 95 16 104 10 q 87 33 87 22 q 87 35 87 33 q 88 37 88 36 l 328 528 q 264 527 299 528 q 193 525 229 526 q 125 524 157 524 q 71 523 93 523 q 60 527 64 523 q 57 537 57 532 l 57 540 l 125 703 q 146 727 131 722 q 176 732 161 732 q 410 728 295 732 q 644 724 525 724 q 659 720 651 724 q 667 708 667 715 q 665 703 667 707 l 450 234 q 454 232 450 233 q 464 231 458 231 q 475 230 469 230 q 485 230 481 230 q 568 232 528 230 q 648 234 608 234 q 661 231 656 234 q 667 217 667 227 q 665 216 667 216 l 580 37 q 558 17 574 24 q 520 6 543 9 q 470 1 498 2 q 414 0 443 0 l 173 0 z " - }, - "{": { - "ha": 571, - "x_min": 39, - "x_max": 624, - "o": "m 113 630 q 178 657 151 636 q 227 709 205 678 q 265 776 248 739 q 302 851 283 813 q 347 927 322 890 q 407 993 372 964 q 492 1043 443 1023 q 609 1067 541 1063 l 612 1067 q 621 1065 618 1067 q 624 1055 624 1063 q 616 988 618 1017 q 610 932 613 959 q 604 876 608 905 q 591 808 600 846 q 583 783 589 789 q 569 775 576 776 q 516 750 535 771 q 486 701 498 730 q 464 638 473 671 q 437 574 454 604 q 392 522 420 545 q 316 493 364 500 q 409 418 380 458 q 439 330 439 377 q 438 312 439 321 q 438 294 438 302 q 458 181 438 222 q 513 123 478 141 q 522 118 518 122 q 526 103 526 113 q 525 97 526 100 q 524 90 525 94 q 512 40 518 62 q 501 -3 507 18 q 490 -45 496 -23 q 477 -96 484 -67 q 472 -106 475 -103 q 463 -109 468 -109 q 460 -108 461 -109 q 458 -108 460 -108 q 349 -73 404 -99 q 251 -1 294 -47 q 180 111 208 45 q 153 267 153 177 q 154 286 153 276 q 154 304 154 295 q 146 350 154 330 q 126 384 139 370 q 96 406 113 397 q 58 418 78 414 q 44 422 49 419 q 39 437 39 425 q 41 466 39 449 q 46 503 43 484 q 53 540 50 522 q 60 574 57 559 q 65 598 63 589 q 67 608 67 608 q 82 624 71 621 q 113 630 92 627 z " - }, - "|": { - "ha": 404, - "x_min": 82, - "x_max": 415, - "o": "m 131 574 q 148 771 141 673 q 162 971 155 869 q 166 1002 163 994 q 182 1013 170 1010 q 294 1022 239 1017 q 408 1035 350 1027 q 414 1033 413 1035 q 415 1028 415 1031 l 327 9 l 327 -6 q 322 -16 327 -12 q 300 -24 318 -20 l 149 -62 q 130 -69 142 -65 q 106 -73 117 -73 q 89 -68 96 -73 q 82 -52 82 -64 l 82 -48 q 92 94 87 25 q 102 236 97 163 q 115 391 108 309 q 131 574 122 473 z " - }, - "}": { - "ha": 571, - "x_min": 44, - "x_max": 616, - "o": "m 576 616 q 606 611 596 614 q 616 594 616 608 q 615 584 616 594 q 613 557 614 573 q 610 519 612 541 q 606 477 608 498 q 600 435 603 455 q 592 400 596 415 q 584 382 589 387 q 567 377 578 378 q 498 325 528 366 q 452 208 469 284 q 420 114 442 156 q 367 38 397 71 q 298 -21 336 4 q 220 -65 260 -47 q 139 -93 180 -83 q 60 -108 98 -104 q 58 -108 58 -108 q 56 -109 57 -109 q 44 -96 44 -109 q 44 -70 44 -82 q 45 -47 45 -58 q 44 -9 45 -26 q 44 31 44 7 q 45 60 44 45 q 48 89 45 75 q 55 112 50 102 q 67 123 59 121 q 111 155 90 138 q 148 197 131 173 q 179 256 165 222 q 202 336 193 290 q 245 424 214 383 q 336 500 277 465 q 275 520 298 505 q 239 556 252 535 q 222 601 227 576 q 215 652 217 626 q 211 702 213 677 q 202 746 210 726 q 181 779 195 766 q 138 795 166 792 q 129 801 133 797 q 124 817 124 806 q 124 823 124 820 q 125 829 125 825 q 131 890 127 863 q 139 942 134 917 q 148 994 143 967 q 159 1055 153 1021 q 164 1065 160 1063 q 174 1067 168 1067 l 177 1067 q 294 1042 248 1063 q 369 991 340 1021 q 413 922 397 960 q 439 845 429 884 q 457 767 450 805 q 479 697 465 728 q 515 644 492 666 q 576 616 537 623 z " - }, - "~": { - "ha": 735, - "x_min": 77, - "x_max": 753, - "o": "m 490 591 q 514 566 503 573 q 541 558 526 558 q 571 569 562 558 q 584 594 580 581 q 589 620 587 608 q 597 631 591 631 q 609 631 599 631 q 633 632 618 631 q 664 633 647 633 q 696 635 681 634 q 722 636 711 636 q 736 637 733 637 q 747 634 741 637 q 753 624 753 631 q 736 525 753 575 q 687 435 719 475 q 612 369 656 394 q 514 343 568 343 q 471 347 492 343 q 428 362 450 351 q 385 394 407 374 q 341 446 363 414 q 317 467 330 463 q 287 471 304 471 q 260 465 271 471 q 244 447 250 458 q 236 423 238 436 q 233 397 233 410 q 228 386 233 391 q 214 381 222 381 q 179 381 192 381 q 154 380 165 380 q 131 379 143 380 q 98 379 118 379 q 84 382 90 379 q 77 391 77 385 q 96 507 77 454 q 145 597 114 559 q 219 655 177 634 q 309 675 261 675 q 360 673 336 675 q 405 663 383 671 q 448 638 427 655 q 490 591 469 621 z " - }, - "¡": { - "ha": 373, - "x_min": 48, - "x_max": 415, - "o": "m 102 247 q 144 458 123 353 q 182 671 165 564 q 187 702 184 693 q 202 713 190 711 q 254 724 229 718 q 309 736 280 729 q 315 735 314 736 q 316 730 316 733 l 323 60 q 318 28 321 37 q 303 18 315 20 q 186 -13 245 4 q 62 -45 127 -29 q 56 -46 60 -46 q 48 -39 48 -46 q 51 -23 48 -39 q 58 18 54 -7 q 68 75 62 43 q 79 137 73 106 q 91 198 85 169 q 102 247 97 227 m 125 808 q 129 853 127 838 q 130 877 130 869 q 131 886 131 884 q 131 889 131 888 q 132 893 132 890 q 133 906 132 897 q 135 935 134 916 q 139 987 136 954 q 143 1018 140 1010 q 159 1029 146 1027 q 279 1054 216 1041 q 401 1086 342 1066 q 408 1086 404 1086 q 413 1081 410 1082 l 415 1080 l 400 894 q 395 863 398 871 q 380 852 392 854 q 264 828 323 841 q 139 802 205 815 q 133 802 137 802 q 125 808 125 802 z " - }, - "¢": { - "ha": 737, - "x_min": 68, - "x_max": 737, - "o": "m 68 331 q 98 491 68 416 q 179 624 127 566 q 302 718 231 682 q 458 763 374 755 l 465 840 q 468 871 466 863 q 477 883 469 880 q 506 883 493 883 q 530 884 518 884 q 555 885 542 884 q 585 885 568 885 q 598 880 592 885 q 605 857 605 875 l 596 757 q 660 740 633 750 q 704 721 686 730 q 729 705 721 711 q 737 697 737 698 q 734 674 737 693 q 727 631 731 656 q 721 580 724 606 q 718 535 718 554 q 715 528 718 532 q 705 524 713 524 q 687 527 698 524 q 660 536 675 531 q 624 547 644 542 q 579 556 604 553 l 545 146 q 605 159 578 150 q 666 188 632 169 q 671 189 667 189 q 676 185 675 189 q 678 172 678 182 q 678 120 678 151 q 678 61 678 89 q 677 13 677 33 q 675 -7 676 -7 q 606 -39 643 -28 q 528 -55 568 -50 l 522 -132 q 521 -145 521 -140 q 520 -154 521 -150 q 516 -160 519 -157 q 505 -166 513 -163 l 450 -171 l 399 -171 q 390 -166 393 -171 q 386 -151 386 -162 q 389 -102 386 -125 q 393 -56 391 -79 q 263 -16 323 -47 q 161 67 204 16 q 93 184 117 117 q 68 331 68 252 m 443 543 q 359 465 389 518 q 329 342 329 412 q 349 236 329 283 q 411 163 370 188 q 416 224 413 191 q 421 294 418 258 q 428 367 425 330 q 434 439 431 404 l 443 543 z " - }, - "£": { - "ha": 755, - "x_min": 59, - "x_max": 789, - "o": "m 194 -39 q 189 -39 190 -39 q 161 -39 173 -39 q 140 -39 149 -39 q 79 -36 99 -39 q 59 -20 59 -32 q 72 1 59 -15 q 103 38 84 18 q 143 81 121 59 q 183 119 165 102 q 198 271 189 186 q 217 446 207 356 l 147 446 q 94 449 111 446 q 78 462 78 452 q 83 476 78 465 q 97 505 89 488 q 116 541 106 522 q 134 576 125 559 q 150 605 143 593 q 157 620 156 617 l 240 620 l 250 762 q 276 883 257 826 q 330 982 295 939 q 419 1048 365 1024 q 549 1073 473 1073 q 640 1063 596 1073 q 716 1041 683 1053 q 769 1016 749 1028 q 789 998 789 1003 q 787 992 789 995 q 784 984 786 989 q 755 922 766 948 q 738 879 744 896 q 727 854 731 862 q 718 846 723 846 q 715 848 719 846 q 658 871 686 862 q 600 880 629 880 q 548 861 570 880 q 513 789 526 842 q 504 707 508 751 q 496 620 499 663 l 673 620 q 684 616 679 620 q 689 604 689 612 q 681 579 689 600 q 658 524 673 558 l 633 469 q 624 454 629 459 q 603 448 618 448 l 486 448 q 467 289 475 366 q 452 151 458 211 q 539 155 498 153 q 615 156 581 156 q 673 157 649 157 q 709 157 698 157 q 721 153 714 157 q 728 138 728 149 q 722 118 728 132 q 705 85 715 104 q 682 41 695 65 q 655 -9 669 17 q 644 -27 650 -21 q 618 -33 637 -33 q 593 -33 616 -33 q 534 -34 570 -33 q 453 -36 498 -35 q 362 -37 408 -37 q 272 -39 316 -38 q 194 -39 228 -39 z " - }, - "¤": { - "ha": 866, - "x_min": 119, - "x_max": 833, - "o": "m 119 555 q 139 669 119 617 q 197 763 160 720 l 172 790 q 153 812 160 803 q 146 829 146 821 q 155 842 146 837 q 170 854 157 844 q 198 878 182 865 q 227 903 213 891 q 245 918 241 914 q 259 924 252 924 q 269 921 265 924 l 273 918 l 327 859 q 412 888 368 878 q 503 898 456 898 q 583 889 546 898 q 652 863 620 880 l 703 918 q 717 924 709 924 q 730 918 724 924 q 749 903 735 914 q 778 878 763 891 q 806 854 793 865 q 821 842 819 844 q 829 829 829 837 q 813 800 829 817 l 802 788 q 774 758 791 777 q 815 673 801 718 q 829 580 829 629 q 813 468 829 518 q 768 376 798 417 l 822 317 q 830 304 827 311 q 833 292 833 298 q 828 277 833 282 q 800 248 815 262 q 772 224 785 235 q 751 208 760 214 q 741 202 742 202 q 709 221 730 202 q 653 277 688 239 q 450 229 565 229 q 372 237 408 229 q 304 258 336 244 l 295 248 q 235 202 253 203 q 227 205 230 202 q 209 218 222 208 q 181 243 196 229 q 155 270 166 256 q 143 292 143 283 q 146 304 143 298 q 154 317 149 311 l 184 351 q 135 446 151 394 q 119 555 119 498 m 483 725 q 422 710 449 725 q 378 670 396 694 q 350 615 359 646 q 340 553 340 584 q 349 497 340 524 q 373 450 357 471 q 416 417 390 430 q 476 405 441 405 q 537 419 511 405 q 581 458 563 434 q 607 512 598 481 q 616 572 616 542 q 608 629 616 602 q 584 678 600 656 q 542 712 567 699 q 483 725 517 725 z " - }, - "¥": { - "ha": 857, - "x_min": 120, - "x_max": 907, - "o": "m 296 491 q 266 558 282 522 q 232 632 249 595 q 197 705 214 669 q 166 772 180 741 q 140 826 151 803 q 122 862 128 850 l 121 867 q 120 878 120 869 q 121 890 120 884 q 127 903 123 897 q 141 910 132 906 q 164 920 151 915 q 193 932 178 926 q 224 945 208 939 l 302 976 q 318 980 311 980 q 330 977 323 980 q 345 966 336 974 l 501 662 l 505 672 l 572 796 q 598 842 585 819 q 620 882 610 864 q 637 910 630 899 q 645 921 644 921 l 878 979 q 891 981 886 981 q 907 967 907 981 q 905 958 906 964 q 901 945 905 952 l 776 711 l 661 500 q 702 501 684 500 q 728 501 720 501 q 745 498 737 500 q 756 491 751 495 q 761 477 761 486 q 759 451 761 469 q 754 416 757 433 l 748 370 q 746 363 747 366 q 742 359 745 361 q 732 356 739 357 q 715 355 726 355 q 664 353 693 353 q 591 353 634 353 l 582 296 q 654 298 623 297 q 696 298 684 298 q 712 295 705 298 q 723 288 718 292 q 728 275 728 283 q 726 248 728 266 q 722 213 724 231 l 715 168 q 714 161 715 163 q 709 156 713 158 q 700 153 706 154 q 682 152 693 152 q 630 151 661 151 q 556 151 600 151 l 543 71 q 539 52 541 59 q 535 40 537 45 q 529 31 532 35 q 519 24 525 28 l 340 -22 q 317 -31 329 -28 q 294 -35 305 -35 q 275 -30 283 -35 q 267 -13 267 -24 l 267 -10 q 274 64 269 22 q 286 148 279 105 l 231 148 q 155 151 179 148 q 131 164 131 155 q 135 181 131 170 q 147 205 140 192 q 164 233 155 218 q 184 259 174 248 q 207 279 195 271 q 228 288 218 287 l 310 289 q 311 294 310 293 l 319 351 l 263 351 q 188 354 212 351 q 163 367 163 357 q 168 384 163 372 q 180 408 172 395 q 197 436 187 421 q 217 462 206 450 q 239 482 228 474 q 260 490 250 490 l 296 491 z " - }, - "¦": { - "ha": 387, - "x_min": 70, - "x_max": 407, - "o": "m 122 566 q 129 664 126 628 q 133 720 132 701 q 135 748 134 740 q 136 761 136 755 q 138 775 137 767 q 141 805 139 784 q 145 866 142 827 q 154 971 149 905 q 158 1002 155 993 q 174 1013 161 1011 q 286 1032 231 1023 q 399 1055 342 1041 l 407 1048 l 367 616 l 367 601 q 362 591 367 595 q 340 583 357 587 l 192 549 q 171 544 184 548 q 146 541 157 541 q 129 545 136 541 q 122 562 122 550 l 122 566 m 70 -57 q 77 42 74 5 q 81 98 79 78 q 83 125 82 117 q 84 139 83 133 q 86 153 85 144 q 89 183 87 161 q 93 243 90 204 q 102 349 96 282 q 106 379 103 371 q 121 391 109 388 q 234 412 178 401 q 347 439 290 422 l 355 433 l 315 7 l 315 -8 q 310 -18 315 -15 q 288 -26 306 -21 l 137 -71 q 118 -78 130 -73 q 96 -82 107 -82 q 77 -78 85 -82 q 70 -61 70 -74 l 70 -57 z " - }, - "§": { - "ha": 720, - "x_min": 82, - "x_max": 713, - "o": "m 136 96 q 135 97 136 96 q 134 100 134 98 q 142 106 134 106 q 155 102 148 106 q 235 60 192 76 q 326 43 279 43 q 348 45 336 43 q 371 52 361 47 q 389 64 382 56 q 397 83 397 71 q 386 114 397 99 q 358 139 374 130 q 261 194 310 165 q 172 259 212 223 q 107 343 132 296 q 82 454 82 390 q 116 575 82 524 q 214 648 151 627 q 200 680 207 663 q 188 716 193 698 q 179 754 182 735 q 176 790 176 772 q 193 863 176 829 q 244 922 211 897 q 325 961 277 947 q 433 975 373 975 q 449 974 437 975 q 479 971 462 973 q 517 964 497 968 q 554 953 536 960 q 585 937 572 946 q 602 916 597 928 q 625 831 614 873 q 650 745 636 790 q 650 739 650 743 q 640 730 650 730 q 631 733 634 730 q 592 763 612 748 q 552 788 572 777 q 509 807 531 800 q 464 814 487 814 q 439 812 452 814 q 417 805 427 810 q 401 792 408 800 q 395 771 395 784 q 437 702 395 727 q 547 628 501 662 q 624 565 593 594 q 672 512 654 536 q 699 466 690 487 q 710 426 708 445 q 713 391 713 408 q 702 324 713 355 q 673 269 692 293 q 631 227 655 244 q 579 199 606 209 q 610 135 601 167 q 618 75 618 103 q 598 -8 618 28 q 545 -72 578 -45 q 470 -113 512 -98 q 382 -127 427 -127 q 282 -122 330 -127 q 189 -92 234 -117 l 136 96 m 423 477 q 384 492 404 486 q 342 498 364 498 q 318 496 330 498 q 296 489 305 494 q 280 476 286 484 q 274 456 274 468 q 278 429 274 443 q 290 406 283 416 q 355 372 321 385 q 426 359 389 359 q 449 361 436 359 q 472 368 461 363 q 490 380 483 372 q 498 399 498 388 q 491 424 498 412 q 474 444 484 435 l 456 456 l 423 477 z " - }, - "¨": { - "ha": 806, - "x_min": 60, - "x_max": 747, - "o": "m 60 833 q 63 889 62 871 q 64 913 64 906 q 64 924 64 921 q 65 936 64 926 q 66 966 65 945 q 69 1031 67 987 q 74 1060 71 1052 q 87 1069 77 1067 q 200 1069 140 1069 q 310 1070 259 1070 q 319 1066 317 1070 q 322 1053 322 1063 l 305 864 q 300 837 303 844 q 288 827 298 829 q 181 826 236 827 q 67 826 127 826 q 62 827 64 826 q 60 831 60 827 l 60 833 m 485 831 q 488 895 487 874 q 489 924 489 916 q 489 936 490 933 q 489 946 489 939 q 491 972 490 954 q 494 1031 492 991 q 498 1058 496 1050 q 511 1067 501 1066 q 624 1068 565 1067 q 734 1069 683 1068 q 743 1066 739 1069 q 747 1055 747 1063 l 730 863 q 725 836 728 843 q 711 827 723 828 q 604 825 659 826 q 488 825 549 825 q 486 825 486 825 q 485 829 485 825 l 485 831 z " - }, - "©": { - "ha": 1112, - "x_min": 90, - "x_max": 1105, - "o": "m 559 70 q 675 84 619 70 q 780 123 731 98 q 868 186 828 149 q 937 271 908 224 q 981 374 965 318 q 996 494 996 430 q 971 633 996 568 q 900 746 945 698 q 790 822 854 794 q 650 850 726 850 q 484 821 563 850 q 347 738 406 791 q 253 609 288 684 q 218 442 218 534 q 241 300 218 368 q 309 181 264 233 q 416 100 353 130 q 559 70 479 70 m 534 -43 q 349 -3 431 -43 q 209 103 267 36 q 121 258 151 170 q 90 443 90 346 q 136 661 90 563 q 258 828 181 758 q 438 936 336 898 q 654 974 541 974 q 837 938 754 974 q 979 839 920 901 q 1072 691 1039 776 q 1105 510 1105 606 q 1085 354 1105 427 q 1027 219 1065 280 q 938 109 990 157 q 823 27 886 60 q 686 -25 759 -7 q 534 -43 613 -43 m 299 438 q 325 576 299 512 q 396 689 351 641 q 505 764 442 736 q 640 791 567 791 q 708 786 679 791 q 760 773 738 781 q 796 756 781 766 q 820 739 810 747 l 820 736 q 821 712 820 729 q 824 673 822 694 q 826 629 825 651 q 827 590 827 606 q 825 584 827 587 q 813 581 823 581 q 791 590 805 581 q 758 611 777 600 q 713 631 739 622 q 659 641 688 641 q 593 626 623 641 q 543 586 564 612 q 510 525 522 560 q 499 447 499 489 q 507 383 499 413 q 531 330 515 353 q 571 293 547 307 q 627 279 595 279 q 671 281 652 279 q 707 287 690 283 q 740 298 724 291 q 774 315 756 304 q 782 313 780 315 q 785 302 785 312 q 785 264 785 286 q 784 221 785 241 q 784 186 784 201 q 783 172 783 172 q 739 151 762 159 q 692 138 716 142 q 643 132 667 134 q 595 130 618 130 q 478 153 532 130 q 385 216 425 175 q 322 313 345 256 q 299 438 299 370 z " - }, - "ª": { - "ha": 669, - "x_min": 92, - "x_max": 694, - "o": "m 639 505 q 643 480 639 490 q 652 464 647 470 q 661 453 657 457 q 665 447 665 450 q 650 433 665 439 l 509 372 q 505 372 508 372 q 496 379 500 372 q 488 398 492 387 q 480 422 484 409 q 474 446 477 435 q 402 390 441 408 q 326 372 363 372 q 239 392 281 372 q 164 447 197 411 q 112 535 132 484 q 92 650 92 586 q 114 787 92 725 q 173 894 136 850 q 260 963 211 939 q 366 988 310 988 q 440 972 406 988 q 508 931 475 956 q 511 957 511 947 q 514 971 512 966 q 522 978 516 977 q 539 981 527 980 q 615 991 578 987 q 694 998 652 996 l 639 505 m 481 705 q 487 742 484 724 q 490 776 489 760 l 492 810 q 474 823 484 816 q 452 836 464 830 q 428 846 441 842 q 402 850 415 850 q 354 831 374 850 q 323 786 335 812 q 306 729 311 759 q 301 675 301 699 q 323 553 301 592 q 385 515 345 515 q 419 524 400 515 q 459 548 439 532 l 481 705 z " - }, - "«": { - "ha": 1378, - "x_min": 73, - "x_max": 1361, - "o": "m 681 220 q 686 212 686 216 q 684 204 686 209 q 634 99 654 153 q 591 -7 613 45 q 574 -20 587 -20 q 563 -18 568 -20 q 548 -12 557 -16 l 114 248 q 85 265 92 258 q 79 286 79 272 q 78 390 79 337 q 74 500 78 443 q 74 502 74 501 q 73 503 73 503 l 75 508 q 78 514 75 511 q 83 516 81 516 q 142 542 106 527 q 223 573 178 556 q 319 609 268 590 q 424 647 371 628 q 530 686 477 667 q 631 724 583 706 q 662 730 652 730 q 673 720 671 730 q 676 610 674 667 q 690 502 679 553 q 687 490 690 494 q 681 486 685 487 l 378 376 q 408 361 386 372 q 460 334 430 349 q 524 301 490 318 q 589 267 558 283 q 645 238 621 251 q 681 220 669 226 m 1352 220 q 1358 212 1358 216 q 1356 204 1358 209 q 1305 99 1326 153 q 1263 -7 1284 45 q 1245 -20 1258 -20 q 1234 -18 1240 -20 q 1219 -12 1229 -16 l 785 248 q 757 265 764 258 q 750 286 750 272 q 750 390 750 337 q 745 500 749 443 q 745 502 745 501 q 745 503 745 503 l 746 508 q 749 514 747 511 q 754 516 752 516 q 813 542 777 527 q 895 573 850 556 q 991 609 939 590 q 1096 647 1042 628 q 1202 686 1149 667 q 1303 724 1255 706 q 1333 730 1324 730 q 1344 720 1342 730 q 1348 610 1345 667 q 1361 502 1350 553 q 1359 490 1361 494 q 1352 486 1356 487 l 1050 376 q 1079 361 1057 372 q 1131 334 1101 349 q 1195 301 1161 318 q 1261 267 1230 283 q 1316 238 1292 251 q 1352 220 1341 226 z " - }, - "¬": { - "ha": 718, - "x_min": 74, - "x_max": 671, - "o": "m 174 351 q 97 354 121 351 q 74 367 74 357 q 78 384 74 372 q 90 408 83 395 q 107 436 98 421 q 127 462 117 450 q 150 482 138 474 q 171 490 161 490 l 410 497 q 480 499 446 498 q 542 500 514 500 q 590 502 570 501 q 620 503 610 503 q 660 499 648 503 q 671 479 671 496 q 671 470 671 474 q 671 462 671 465 l 667 386 q 666 358 667 378 q 664 315 665 339 q 661 263 663 290 q 657 214 659 237 q 655 175 656 191 q 654 157 654 159 q 650 140 652 148 q 642 129 647 134 q 628 124 637 124 q 608 125 620 124 q 582 128 596 126 q 552 132 568 130 q 522 137 536 134 q 511 142 515 138 q 508 159 508 145 q 510 196 507 176 q 513 234 512 215 l 522 355 q 461 355 492 355 q 408 354 430 355 l 174 351 z " - }, - "®": { - "ha": 1112, - "x_min": 90, - "x_max": 1105, - "o": "m 553 242 q 551 235 552 239 q 546 230 550 231 q 529 223 541 227 q 502 213 517 218 q 471 203 487 208 q 441 193 455 197 q 419 186 428 189 q 410 183 410 183 q 400 186 404 183 q 395 196 395 189 q 397 235 395 208 q 401 299 399 262 q 407 378 404 335 q 415 467 411 422 q 422 556 418 512 q 429 640 426 601 q 427 641 429 641 q 399 637 420 641 q 351 628 377 633 q 342 633 342 628 q 342 635 342 634 l 406 746 q 507 765 451 755 q 635 774 564 774 q 715 766 676 774 q 784 739 754 758 q 832 691 814 721 q 850 616 850 661 q 842 573 850 593 q 820 538 833 554 q 791 510 807 522 q 761 489 775 498 q 736 475 747 480 q 722 467 725 469 q 723 464 722 467 q 728 455 724 462 q 740 435 732 448 q 761 400 748 422 q 793 346 774 378 q 839 267 812 313 q 854 260 846 262 q 870 259 863 259 q 883 258 878 258 q 888 253 888 257 q 882 245 888 250 q 867 237 876 241 q 849 229 858 233 q 836 222 840 224 q 816 214 826 218 q 794 204 806 210 q 768 192 783 199 q 735 175 753 184 q 726 171 730 172 q 719 170 722 170 q 706 174 711 170 q 698 181 701 177 q 692 191 694 186 q 689 199 690 195 l 572 446 l 553 242 m 576 494 q 618 505 597 494 q 658 531 640 515 q 687 564 675 546 q 698 596 698 581 q 629 664 698 664 q 615 663 622 664 q 604 662 609 663 l 592 660 l 576 494 m 559 70 q 675 84 619 70 q 780 123 731 98 q 868 186 828 149 q 937 271 908 224 q 981 374 965 318 q 996 494 996 430 q 971 633 996 568 q 900 746 945 698 q 790 822 854 794 q 650 850 726 850 q 484 821 563 850 q 347 738 406 791 q 253 609 288 684 q 218 442 218 534 q 241 300 218 368 q 309 181 264 233 q 416 100 353 130 q 559 70 479 70 m 534 -43 q 349 -3 431 -43 q 209 103 267 36 q 121 258 151 170 q 90 443 90 346 q 136 661 90 563 q 258 828 181 758 q 438 936 336 898 q 654 974 541 974 q 837 938 754 974 q 979 839 920 901 q 1072 691 1039 776 q 1105 510 1105 606 q 1085 354 1105 427 q 1027 219 1065 280 q 938 109 990 157 q 823 27 886 60 q 686 -25 759 -7 q 534 -43 613 -43 z " - }, - "°": { - "ha": 683, - "x_min": 89, - "x_max": 712, - "o": "m 398 378 q 276 398 333 378 q 178 455 220 418 q 113 548 136 493 q 89 671 89 602 q 114 791 89 734 q 183 890 139 848 q 287 957 227 932 q 418 982 347 982 q 533 962 479 982 q 627 905 587 942 q 689 817 667 869 q 712 702 712 765 q 690 584 712 642 q 628 480 669 526 q 529 406 587 434 q 398 378 471 378 m 513 672 q 514 684 513 677 q 514 696 514 690 q 509 739 514 716 q 494 780 505 762 q 465 811 483 799 q 420 823 447 823 q 357 810 384 823 q 314 775 331 797 q 288 728 296 754 q 279 674 279 701 q 283 630 279 653 q 299 587 288 606 q 329 554 310 567 q 378 540 348 541 q 434 552 410 540 q 475 583 458 564 q 500 625 491 602 q 513 672 509 648 z " - }, - "±": { - "ha": 709, - "x_min": 62, - "x_max": 684, - "o": "m 287 448 q 226 447 252 447 q 184 447 200 447 q 124 451 144 447 q 104 466 104 454 q 107 491 104 472 q 116 535 111 511 q 126 584 121 559 q 135 625 132 608 q 145 640 136 633 q 170 648 155 647 l 306 650 l 307 664 q 312 743 311 710 q 316 798 313 777 q 326 828 319 819 q 347 838 333 838 q 350 838 349 838 q 354 838 352 838 q 367 838 358 838 q 386 839 375 838 q 410 839 397 839 q 435 840 422 840 l 499 842 q 513 834 509 839 q 518 818 518 830 q 518 816 518 817 q 518 811 518 815 q 517 798 517 807 q 515 772 516 789 q 511 725 513 754 q 505 653 509 696 l 517 654 q 566 655 542 654 q 610 656 590 656 q 645 657 630 656 q 665 657 659 657 q 677 653 671 657 q 684 637 684 649 q 681 611 684 636 q 673 543 678 586 l 666 477 q 658 463 662 467 q 647 456 654 458 q 626 454 640 454 q 588 453 612 454 l 489 451 l 480 352 q 475 310 478 326 q 468 283 472 293 q 458 270 464 274 q 445 267 452 267 q 414 267 433 267 q 372 268 394 267 q 328 269 350 269 q 292 269 307 269 q 278 277 283 271 q 273 298 273 284 l 273 302 l 287 448 m 162 5 q 86 8 109 5 q 62 21 62 11 q 67 38 62 26 q 79 62 71 49 q 96 90 86 75 q 116 116 105 104 q 138 136 127 128 q 159 144 149 144 l 398 151 q 426 152 406 151 q 469 152 445 152 q 520 153 494 153 q 570 154 547 154 q 609 155 593 155 q 627 155 625 155 q 644 152 636 155 q 655 145 650 149 q 660 132 660 140 q 658 105 660 123 q 653 70 656 87 l 647 24 q 645 18 646 20 q 641 13 644 15 q 631 10 637 11 q 614 9 625 9 l 531 9 q 496 9 514 9 q 460 8 477 9 q 426 8 442 8 q 396 8 409 8 l 162 5 z " - }, - "²": { - "ha": 498, - "x_min": 90, - "x_max": 519, - "o": "m 472 764 q 461 742 469 756 q 442 710 453 728 q 418 672 431 692 q 393 631 406 651 l 326 526 q 327 525 326 525 l 328 525 q 356 527 335 525 q 404 532 378 529 q 456 536 430 534 q 498 538 482 538 q 519 529 519 538 q 516 517 519 524 q 513 511 513 511 l 452 397 q 451 395 452 397 q 450 393 451 393 q 435 384 442 385 q 422 382 428 383 q 333 381 369 382 q 269 380 297 380 q 217 380 241 380 q 162 380 193 380 q 105 386 121 380 q 90 405 90 393 q 95 424 90 413 q 110 448 101 434 l 190 561 q 286 699 251 644 q 321 783 321 753 q 314 813 321 800 q 294 835 307 826 q 266 849 282 844 q 230 854 249 854 q 181 846 206 854 q 132 823 155 839 q 118 818 122 818 q 112 822 113 818 q 111 829 111 826 q 115 868 111 846 q 124 910 119 890 q 134 945 130 930 q 138 962 138 960 q 149 969 139 962 q 182 987 159 977 q 240 1005 204 997 q 328 1013 275 1013 q 389 1000 358 1013 q 444 965 419 987 q 483 914 468 943 q 498 850 498 884 q 492 808 498 829 q 472 764 486 786 z " - }, - "³": { - "ha": 507, - "x_min": 101, - "x_max": 503, - "o": "m 328 368 q 295 366 311 366 q 252 369 272 366 q 212 377 232 372 q 172 391 192 382 q 128 408 151 399 q 117 424 121 410 q 112 455 114 437 q 107 495 109 474 q 101 534 105 517 q 114 550 101 550 q 117 549 117 550 q 147 531 132 541 q 179 513 162 521 q 217 499 197 505 q 260 494 237 494 q 307 507 291 494 q 322 551 322 520 q 320 569 322 559 q 312 586 318 578 q 293 600 305 594 q 261 605 281 605 l 187 605 q 189 616 187 607 q 192 639 190 626 q 196 667 193 652 q 200 695 198 682 q 203 717 201 708 q 204 727 204 726 q 209 745 207 741 q 214 750 212 750 q 233 748 224 750 q 251 746 241 746 q 291 763 277 746 q 305 805 305 779 q 293 841 305 825 q 254 857 281 857 q 193 850 224 857 q 139 836 163 844 q 140 845 140 840 q 140 857 140 850 q 140 870 140 863 q 140 884 140 877 q 141 909 140 897 q 144 933 142 922 q 153 952 147 944 q 168 963 158 960 q 207 974 191 970 q 238 980 224 978 q 267 983 253 983 q 300 984 281 984 q 368 975 334 984 q 431 947 403 966 q 477 899 459 928 q 494 831 494 870 q 487 783 494 804 q 469 745 480 762 q 446 716 458 728 q 422 694 433 703 q 450 678 435 688 q 476 652 464 667 q 495 614 488 636 q 503 563 503 592 q 490 494 503 528 q 453 433 477 460 q 398 388 430 406 q 328 368 366 370 z " - }, - "´": { - "ha": 431, - "x_min": 32, - "x_max": 415, - "o": "m 255 944 q 205 876 225 903 q 172 833 185 849 q 152 812 159 818 q 140 806 144 806 q 133 808 136 806 q 107 825 119 818 q 85 838 96 832 q 65 849 75 844 q 41 861 54 854 q 32 875 32 866 q 34 888 33 880 q 40 907 36 895 l 165 1271 q 172 1284 169 1280 q 180 1287 176 1287 q 186 1285 183 1287 q 193 1282 190 1284 q 299 1220 246 1246 q 403 1168 351 1195 q 415 1149 415 1160 q 404 1122 415 1139 q 360 1071 377 1091 q 327 1033 342 1051 q 296 994 312 1015 q 255 944 279 974 z " - }, - "µ": { - "ha": 888, - "x_min": 55, - "x_max": 890, - "o": "m 108 235 q 138 544 128 438 q 149 658 148 650 q 154 688 151 680 q 169 700 157 697 q 230 711 201 706 q 287 722 258 716 q 344 734 315 728 q 406 751 373 741 q 408 751 407 751 q 411 751 410 751 q 419 745 419 751 q 414 701 416 722 q 409 660 412 681 q 405 614 407 639 q 399 557 402 589 q 391 483 395 525 q 380 385 387 441 q 373 315 376 351 q 368 248 370 279 q 388 175 368 197 q 439 153 408 153 q 486 163 461 153 q 531 191 510 174 q 565 232 551 209 q 581 281 579 255 q 590 393 586 348 q 596 469 593 438 q 601 521 599 500 q 605 561 603 542 q 608 603 606 581 q 610 658 609 625 q 615 689 612 680 q 631 700 618 697 q 757 725 692 712 q 883 757 821 737 q 889 755 888 757 q 890 750 890 753 l 827 73 q 824 54 825 62 q 821 42 823 47 q 816 36 819 38 q 806 31 812 33 q 747 15 778 23 q 686 -2 717 7 q 624 -21 654 -11 q 564 -45 593 -32 q 558 -46 563 -46 q 552 -44 553 -46 q 551 -39 551 -42 q 551 -35 551 -38 q 552 -21 551 -31 q 555 8 553 -11 q 563 60 558 27 q 529 33 549 45 q 487 12 509 21 q 441 -1 465 3 q 397 -6 418 -6 q 351 2 370 -6 q 326 30 332 11 l 302 -168 q 301 -177 301 -170 l 301 -183 q 297 -193 301 -189 q 275 -201 293 -196 l 118 -222 q 99 -224 111 -223 q 77 -225 87 -225 q 62 -221 68 -225 q 55 -206 55 -217 q 56 -201 55 -202 q 82 12 68 -95 q 108 235 96 119 z " - }, - "μ": { - "ha": 888, - "x_min": 55, - "x_max": 890, - "o": "m 108 235 q 138 544 128 438 q 149 658 148 650 q 154 688 151 680 q 169 700 157 697 q 230 711 201 706 q 287 722 258 716 q 344 734 315 728 q 406 751 373 741 q 408 751 407 751 q 411 751 410 751 q 419 745 419 751 q 414 701 416 722 q 409 660 412 681 q 405 614 407 639 q 399 557 402 589 q 391 483 395 525 q 380 385 387 441 q 373 315 376 351 q 368 248 370 279 q 388 175 368 197 q 439 153 408 153 q 486 163 461 153 q 531 191 510 174 q 565 232 551 209 q 581 281 579 255 q 590 393 586 348 q 596 469 593 438 q 601 521 599 500 q 605 561 603 542 q 608 603 606 581 q 610 658 609 625 q 615 689 612 680 q 631 700 618 697 q 757 725 692 712 q 883 757 821 737 q 889 755 888 757 q 890 750 890 753 l 827 73 q 824 54 825 62 q 821 42 823 47 q 816 36 819 38 q 806 31 812 33 q 747 15 778 23 q 686 -2 717 7 q 624 -21 654 -11 q 564 -45 593 -32 q 558 -46 563 -46 q 552 -44 553 -46 q 551 -39 551 -42 q 551 -35 551 -38 q 552 -21 551 -31 q 555 8 553 -11 q 563 60 558 27 q 529 33 549 45 q 487 12 509 21 q 441 -1 465 3 q 397 -6 418 -6 q 351 2 370 -6 q 326 30 332 11 l 302 -168 q 301 -177 301 -170 l 301 -183 q 297 -193 301 -189 q 275 -201 293 -196 l 118 -222 q 99 -224 111 -223 q 77 -225 87 -225 q 62 -221 68 -225 q 55 -206 55 -217 q 56 -201 55 -202 q 82 12 68 -95 q 108 235 96 119 z " - }, - "¶": { - "ha": 896, - "x_min": 102, - "x_max": 920, - "o": "m 441 14 q 430 -4 439 1 q 399 -15 421 -9 q 386 -17 397 -16 q 361 -19 376 -18 q 329 -23 346 -21 q 296 -26 311 -24 q 270 -28 281 -27 q 255 -29 258 -29 q 237 -25 246 -29 q 229 -8 229 -21 q 229 -3 229 -4 l 306 479 q 221 518 259 495 q 157 570 183 541 q 116 635 130 599 q 102 713 102 671 q 119 803 102 764 q 165 872 136 843 q 233 923 194 902 q 317 956 273 943 q 410 975 362 969 q 505 981 458 981 q 606 977 552 981 q 711 968 661 973 q 801 958 761 963 q 859 948 841 952 q 885 940 874 943 q 902 933 895 937 q 911 923 908 929 q 914 904 913 916 q 916 873 915 891 q 917 837 916 856 q 918 800 917 818 q 919 767 918 781 q 919 743 919 752 q 920 734 920 734 q 903 722 916 722 q 814 724 881 722 q 791 585 804 663 q 762 404 778 506 q 740 250 750 323 q 731 185 736 218 q 722 121 726 152 q 714 62 718 90 q 707 14 710 34 q 696 -4 706 2 q 666 -15 687 -10 q 642 -18 663 -16 q 598 -23 622 -20 q 554 -27 574 -25 q 528 -29 533 -29 q 511 -24 519 -29 q 503 -6 503 -20 l 577 449 q 550 447 564 448 q 523 446 536 446 l 509 446 q 492 346 499 395 q 477 250 484 296 q 468 185 473 218 q 457 120 463 152 q 448 61 452 89 q 441 14 444 34 z " - }, - "·": { - "ha": 380, - "x_min": 106, - "x_max": 397, - "o": "m 106 553 q 108 603 107 585 q 109 632 109 622 q 109 646 109 642 q 109 654 109 650 q 110 663 109 658 q 111 681 110 669 q 113 716 111 694 q 116 774 114 738 q 120 805 117 797 q 136 816 123 814 q 260 816 195 816 q 383 817 326 817 q 393 814 389 817 q 397 801 397 810 l 378 588 q 373 557 376 566 q 358 547 371 549 q 240 546 300 547 q 113 545 179 545 q 107 546 109 545 q 106 550 106 547 l 106 553 z " - }, - "¸": { - "ha": 370, - "x_min": 43, - "x_max": 339, - "o": "m 336 -262 q 313 -320 330 -294 q 273 -365 296 -346 q 219 -394 249 -383 q 159 -404 190 -404 q 99 -400 130 -404 q 43 -382 67 -396 l 45 -383 q 44 -378 44 -382 q 45 -357 44 -370 q 48 -330 46 -345 q 52 -302 50 -315 q 57 -279 54 -288 l 60 -279 q 64 -281 64 -279 l 64 -281 q 84 -289 75 -286 q 104 -294 94 -292 q 127 -296 115 -296 q 157 -297 140 -297 q 201 -280 185 -297 q 216 -241 216 -263 q 204 -208 216 -221 q 170 -195 191 -195 q 106 -192 132 -195 q 69 -189 79 -189 q 63 -186 64 -189 q 62 -180 62 -184 q 70 -159 65 -174 q 79 -126 74 -144 q 88 -89 83 -109 q 96 -53 92 -69 q 102 -25 100 -36 q 104 -12 104 -14 l 117 -12 q 147 -12 129 -12 q 183 -12 165 -12 l 226 -12 l 193 -108 q 215 -105 205 -106 q 233 -104 224 -104 q 289 -116 268 -104 q 320 -144 309 -127 q 335 -184 332 -162 q 339 -230 339 -207 q 338 -246 339 -238 q 336 -262 338 -254 z " - }, - "¹": { - "ha": 349, - "x_min": 130, - "x_max": 338, - "o": "m 155 915 q 158 936 156 930 q 168 944 159 942 l 317 980 q 323 981 320 981 q 328 981 326 981 q 336 978 334 981 q 338 963 338 974 l 313 432 q 308 405 312 412 q 292 395 303 398 l 158 355 q 152 354 155 354 q 148 353 149 353 q 135 357 140 353 q 130 373 130 361 q 130 378 130 374 q 130 398 130 382 q 133 449 131 415 q 137 543 134 483 q 144 694 140 603 q 155 915 149 785 z " - }, - "º": { - "ha": 698, - "x_min": 88, - "x_max": 726, - "o": "m 390 370 q 259 395 315 370 q 164 459 202 419 q 107 552 126 500 q 88 662 88 605 q 107 770 88 719 q 159 862 125 821 q 238 929 192 902 q 341 966 285 956 q 349 970 349 966 q 348 981 349 975 q 347 989 347 986 q 349 997 347 995 q 354 999 351 999 q 525 976 454 999 q 641 913 596 953 q 705 820 685 873 q 726 704 726 766 q 699 563 726 625 q 627 458 673 500 q 520 393 581 415 q 390 370 459 370 m 292 668 q 298 611 292 640 q 318 561 304 583 q 355 524 332 538 q 412 510 378 510 q 471 532 448 512 q 507 581 494 553 q 525 642 520 610 q 530 699 530 673 q 522 753 530 726 q 498 800 514 779 q 459 832 482 820 q 404 845 435 845 q 351 826 372 845 q 316 780 330 807 q 297 722 303 752 q 292 668 292 691 z " - }, - "»": { - "ha": 1364, - "x_min": 78, - "x_max": 1374, - "o": "m 755 220 q 792 239 766 226 q 849 268 817 252 q 916 301 881 283 q 981 334 950 319 q 1034 361 1011 349 q 1064 376 1057 372 l 766 486 q 758 502 758 487 q 775 610 770 553 q 784 720 780 667 q 795 730 786 730 q 825 724 804 730 q 925 687 873 706 q 1030 648 977 667 q 1133 609 1082 628 q 1227 573 1183 591 q 1307 542 1272 556 q 1365 516 1343 527 q 1370 514 1367 516 q 1373 508 1373 511 l 1374 503 q 1374 502 1374 503 q 1373 500 1373 501 q 1364 390 1367 443 q 1360 286 1362 337 q 1352 265 1360 272 q 1323 248 1345 258 l 878 -12 q 863 -18 869 -16 q 852 -20 858 -20 q 842 -17 845 -20 q 836 -7 838 -14 q 797 100 816 46 q 751 204 777 153 q 749 212 749 208 q 750 217 749 215 q 755 220 751 218 m 83 220 q 120 239 95 226 q 178 268 146 252 q 244 301 210 283 q 309 334 279 319 q 362 361 340 349 q 393 376 385 372 l 94 486 q 86 502 86 487 q 103 610 98 553 q 113 720 109 667 q 123 730 115 730 q 154 724 132 730 q 254 687 201 706 q 358 648 306 667 q 461 609 411 628 q 556 573 512 591 q 636 542 600 556 q 694 516 671 527 q 699 514 696 516 q 702 508 701 511 l 703 503 q 702 502 703 503 q 702 500 702 501 q 693 390 696 443 q 688 286 690 337 q 681 265 688 272 q 652 248 673 258 l 207 -12 q 192 -18 197 -16 q 181 -20 186 -20 q 170 -17 174 -20 q 164 -7 167 -14 q 125 100 144 46 q 79 204 106 153 q 78 212 78 208 q 79 217 78 215 q 83 220 80 218 z " - }, - "¼": { - "ha": 1161, - "x_min": 121, - "x_max": 1151, - "o": "m 147 915 q 150 936 148 930 q 159 944 151 942 l 309 980 q 315 981 312 981 q 319 981 317 981 q 328 978 326 981 q 330 963 330 974 l 305 432 q 299 405 304 412 q 284 395 295 398 l 150 355 q 144 354 146 354 q 140 353 141 353 q 127 357 132 353 q 121 373 121 361 q 121 378 121 374 q 122 398 121 382 q 124 449 123 415 q 129 543 126 483 q 136 694 132 603 q 147 915 140 785 m 502 640 q 581 819 543 729 q 660 1001 619 908 q 673 1028 669 1021 q 688 1036 678 1036 l 692 1036 q 765 1004 729 1021 q 836 980 800 987 q 843 977 840 979 q 846 971 846 975 l 846 969 l 412 10 q 408 -1 409 4 q 405 -11 406 -7 q 400 -17 403 -15 q 392 -20 397 -20 q 374 -15 384 -20 l 306 14 q 290 19 300 16 q 268 28 279 23 q 248 40 256 33 q 239 56 239 47 q 243 68 239 62 q 303 198 274 134 q 362 329 332 261 q 426 473 392 397 q 502 640 460 549 m 1138 197 q 1128 147 1133 173 q 1126 137 1126 140 q 1120 133 1126 134 q 1098 132 1114 132 q 1051 132 1082 132 l 1043 52 q 1042 45 1043 49 q 1036 39 1040 41 q 1022 34 1033 38 q 996 23 1011 29 q 963 12 981 18 q 930 0 946 5 q 903 -9 915 -5 q 886 -12 890 -12 q 876 -9 880 -12 q 871 3 871 -6 q 873 56 871 24 q 879 130 876 88 q 806 129 842 130 q 739 129 770 129 q 685 129 708 129 q 650 128 661 128 q 595 131 611 128 q 578 143 578 134 q 579 148 578 145 q 583 155 580 151 q 597 179 587 161 q 621 220 607 196 q 653 272 635 243 q 688 329 670 300 l 777 477 q 806 531 793 505 q 835 579 819 557 q 872 617 850 601 q 928 640 894 633 l 1064 675 q 1070 676 1067 676 q 1076 677 1073 677 q 1084 674 1081 677 q 1086 663 1086 671 l 1086 659 q 1081 554 1084 599 q 1076 469 1078 510 q 1070 382 1073 427 q 1065 278 1067 338 q 1113 279 1094 279 q 1135 279 1132 279 q 1146 276 1141 279 q 1151 264 1151 272 q 1150 259 1151 260 l 1138 197 m 890 272 q 899 335 895 302 q 906 402 903 368 q 911 470 909 436 q 914 536 913 504 l 757 272 l 890 272 z " - }, - "½": { - "ha": 1185, - "x_min": 123, - "x_max": 1166, - "o": "m 149 915 q 151 936 149 930 q 161 944 153 942 l 310 980 q 316 981 313 981 q 321 981 319 981 q 329 978 327 981 q 332 963 332 974 l 307 432 q 301 405 305 412 q 286 395 296 398 l 151 355 q 145 354 148 354 q 141 353 142 353 q 128 357 134 353 q 123 373 123 361 q 123 378 123 374 q 123 398 123 382 q 126 449 124 415 q 130 543 127 483 q 137 694 133 603 q 149 915 142 785 m 503 640 q 583 819 545 729 q 661 1001 621 908 q 675 1028 670 1021 q 689 1036 680 1036 l 694 1036 q 766 1004 730 1021 q 838 980 802 987 q 845 977 842 979 q 848 971 848 975 l 848 969 l 413 10 q 409 -1 410 4 q 406 -11 408 -7 q 401 -17 404 -15 q 393 -20 399 -20 q 376 -15 385 -20 l 307 14 q 291 19 302 16 q 269 28 280 23 q 249 40 258 33 q 241 56 241 47 q 244 68 241 62 q 304 198 275 134 q 363 329 333 261 q 427 473 393 397 q 503 640 461 549 m 1118 382 q 1107 360 1115 374 q 1088 329 1099 347 q 1065 290 1078 311 q 1039 249 1052 269 l 972 144 q 973 143 972 143 l 975 143 q 1003 145 981 143 q 1050 150 1024 147 q 1102 155 1076 153 q 1144 157 1128 157 q 1166 147 1166 157 q 1163 136 1166 142 q 1160 129 1160 130 l 1099 15 q 1098 13 1098 15 q 1097 12 1097 12 q 1081 2 1088 3 q 1069 1 1074 1 q 979 -1 1015 0 q 916 -2 943 -1 q 863 -2 888 -2 q 808 -2 839 -2 q 752 4 768 -2 q 736 23 736 11 q 742 42 736 31 q 756 66 747 52 l 836 179 q 932 317 897 262 q 967 401 967 371 q 960 431 967 418 q 941 453 953 444 q 912 467 928 463 q 876 472 895 472 q 827 465 852 472 q 778 441 802 457 q 764 436 768 436 q 758 440 760 436 q 757 448 757 444 q 761 486 757 464 q 771 528 766 508 q 780 563 776 548 q 785 580 785 578 q 795 588 785 580 q 828 605 806 595 q 886 623 850 615 q 974 631 922 631 q 1035 618 1004 631 q 1090 584 1065 606 q 1129 532 1114 562 q 1145 468 1145 503 q 1138 426 1145 448 q 1118 382 1132 404 z " - }, - "¾": { - "ha": 1305, - "x_min": 92, - "x_max": 1294, - "o": "m 319 368 q 286 366 301 366 q 242 369 262 366 q 202 377 222 372 q 162 391 182 382 q 119 408 142 399 q 108 424 111 410 q 102 455 104 437 q 98 495 100 474 q 92 534 96 517 q 104 550 92 550 q 108 549 107 550 q 137 531 122 541 q 170 513 153 521 q 207 499 187 505 q 251 494 227 494 q 297 507 281 494 q 313 551 313 520 q 311 569 313 559 q 302 586 309 578 q 284 600 296 594 q 252 605 272 605 l 178 605 q 179 616 178 607 q 182 639 180 626 q 186 667 184 652 q 190 695 189 682 q 193 717 192 708 q 195 727 195 726 q 200 745 197 741 q 205 750 202 750 q 223 748 214 750 q 241 746 232 746 q 281 763 267 746 q 296 805 296 779 q 284 841 296 825 q 245 857 272 857 q 184 850 214 857 q 130 836 153 844 q 131 845 130 840 q 131 857 131 850 q 131 870 131 863 q 130 884 130 877 q 131 909 130 897 q 135 933 132 922 q 143 952 138 944 q 158 963 149 960 q 198 974 181 970 q 229 980 214 978 q 258 983 243 983 q 290 984 272 984 q 359 975 324 984 q 421 947 393 966 q 467 899 450 928 q 485 831 485 870 q 478 783 485 804 q 460 745 471 762 q 436 716 449 728 q 412 694 423 703 q 440 678 426 688 q 466 652 454 667 q 486 614 478 636 q 494 563 494 592 q 480 494 494 528 q 444 433 467 460 q 388 388 420 406 q 319 368 356 370 m 645 640 q 724 819 686 729 q 803 1001 762 908 q 817 1028 812 1021 q 831 1036 821 1036 l 836 1036 q 908 1004 872 1021 q 979 980 943 987 q 986 977 983 979 q 989 971 989 975 l 989 969 l 555 10 q 551 -1 552 4 q 548 -11 549 -7 q 543 -17 546 -15 q 535 -20 541 -20 q 517 -15 527 -20 l 449 14 q 433 19 444 16 q 411 28 422 23 q 391 40 399 33 q 382 56 382 47 q 386 68 382 62 q 446 198 417 134 q 505 329 475 261 q 569 473 535 397 q 645 640 603 549 m 1281 197 q 1271 147 1276 173 q 1269 137 1270 140 q 1263 133 1269 134 q 1241 132 1257 132 q 1194 132 1225 132 l 1186 52 q 1185 45 1186 49 q 1179 39 1183 41 q 1165 34 1176 38 q 1139 23 1154 29 q 1106 12 1124 18 q 1074 0 1089 5 q 1046 -9 1058 -5 q 1029 -12 1034 -12 q 1019 -9 1023 -12 q 1015 3 1015 -6 q 1017 56 1015 24 q 1022 130 1019 88 q 949 129 985 130 q 882 129 913 129 q 828 129 851 129 q 793 128 804 128 q 738 131 754 128 q 722 143 722 134 q 722 148 722 145 q 726 155 723 151 q 740 179 730 161 q 764 220 750 196 q 796 272 779 243 q 831 329 813 300 l 920 477 q 949 531 937 505 q 978 579 962 557 q 1015 617 994 601 q 1071 640 1037 633 l 1207 675 q 1213 676 1211 676 q 1219 677 1216 677 q 1227 674 1224 677 q 1230 663 1230 671 l 1230 659 q 1224 554 1227 599 q 1219 469 1221 510 q 1213 382 1216 427 q 1208 278 1211 338 q 1256 279 1237 279 q 1278 279 1275 279 q 1289 276 1284 279 q 1294 264 1294 272 q 1293 259 1294 260 l 1281 197 m 1034 272 q 1042 335 1038 302 q 1049 402 1046 368 q 1054 470 1052 436 q 1057 536 1056 504 l 900 272 l 1034 272 z " - }, - "¿": { - "ha": 791, - "x_min": 73, - "x_max": 776, - "o": "m 580 541 q 491 479 533 516 q 416 399 448 441 q 366 314 385 356 q 347 236 347 271 q 368 174 347 198 q 437 151 389 151 q 482 157 465 151 q 510 174 500 164 q 525 196 521 184 q 529 220 529 208 q 524 248 529 235 q 520 265 520 261 q 529 273 520 271 q 560 278 539 275 q 617 288 581 282 q 703 309 652 294 q 734 316 723 314 q 751 318 745 318 q 763 308 758 318 q 771 284 768 298 q 775 255 774 270 q 776 231 776 240 q 745 119 776 168 q 665 36 714 70 q 553 -16 615 2 q 429 -34 491 -34 q 283 -9 348 -34 q 171 55 217 16 q 99 142 124 94 q 74 237 74 191 q 87 314 74 276 q 123 387 101 351 q 176 457 146 423 q 240 522 206 491 q 307 582 273 553 q 373 636 341 610 q 378 640 374 638 q 386 642 382 642 q 391 641 388 642 q 395 639 394 640 q 442 617 421 627 q 482 600 463 608 q 523 585 502 591 q 568 573 543 579 q 582 567 578 571 q 587 558 587 562 q 581 549 581 554 q 580 541 580 544 m 577 973 q 575 923 576 941 q 574 894 574 904 q 574 880 574 884 q 574 872 574 876 q 573 863 574 868 q 572 845 573 857 q 570 810 572 832 q 567 751 569 788 q 563 721 566 729 q 547 710 560 712 q 423 710 488 710 q 300 709 357 709 q 289 713 292 709 q 286 729 286 718 l 305 938 q 310 969 307 960 q 325 979 312 977 q 443 980 383 979 q 570 981 504 981 q 576 980 575 981 q 577 973 577 979 z " - }, - "À": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 437 1194 q 410 1242 421 1223 q 390 1278 399 1261 q 370 1314 380 1295 q 344 1362 359 1333 q 339 1376 340 1369 q 337 1388 338 1383 q 340 1400 337 1396 q 351 1408 344 1404 q 403 1437 376 1422 q 458 1467 431 1451 q 514 1498 486 1482 q 566 1532 541 1514 q 576 1535 573 1535 q 581 1530 580 1535 l 657 1133 q 660 1119 659 1124 q 661 1107 661 1113 q 659 1096 661 1101 q 650 1087 657 1090 q 624 1076 636 1081 q 600 1064 612 1070 q 575 1052 588 1059 q 545 1035 562 1045 q 538 1032 543 1032 q 524 1041 532 1032 q 506 1070 517 1050 q 478 1120 494 1089 q 437 1194 461 1151 z " - }, - "Á": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 529 1171 q 479 1102 499 1129 q 446 1060 459 1076 q 426 1038 433 1044 q 414 1032 418 1032 q 407 1035 410 1032 q 381 1052 393 1044 q 359 1064 370 1059 q 339 1076 349 1070 q 315 1087 328 1081 q 306 1101 306 1093 q 308 1114 307 1107 q 314 1133 310 1122 l 439 1497 q 446 1510 443 1507 q 454 1514 450 1514 q 460 1512 457 1514 q 467 1508 464 1510 q 573 1447 520 1472 q 677 1394 625 1421 q 689 1376 689 1387 q 677 1348 689 1365 q 634 1298 651 1318 q 601 1259 616 1278 q 570 1221 586 1241 q 529 1171 553 1200 z " - }, - "Â": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 695 1354 q 721 1321 710 1335 q 739 1295 731 1307 q 754 1273 747 1284 q 769 1251 761 1263 q 782 1232 773 1244 q 801 1206 791 1220 q 817 1179 810 1192 q 824 1156 824 1165 q 811 1137 824 1147 q 779 1119 798 1128 q 742 1103 761 1110 q 713 1091 724 1095 q 692 1082 703 1088 q 670 1071 681 1076 q 649 1062 659 1065 q 635 1058 640 1058 q 624 1064 630 1058 q 610 1084 618 1069 l 522 1271 q 440 1167 481 1218 q 357 1064 399 1117 q 349 1059 355 1059 q 333 1065 345 1059 q 303 1079 320 1071 q 269 1095 286 1086 q 237 1110 251 1104 q 219 1119 230 1114 q 197 1129 208 1124 q 180 1140 187 1135 q 173 1150 173 1145 q 179 1166 173 1157 q 199 1187 185 1175 l 301 1303 q 376 1386 340 1345 q 450 1470 413 1427 q 468 1480 459 1479 q 485 1481 477 1481 l 588 1481 q 604 1480 596 1481 q 618 1469 612 1478 q 627 1455 618 1468 q 646 1426 635 1443 q 671 1389 658 1409 q 695 1354 684 1369 z " - }, - "Ã": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 574 1297 q 598 1272 587 1280 q 624 1265 609 1265 q 654 1276 645 1265 q 667 1301 663 1287 q 673 1326 671 1315 q 681 1337 675 1337 q 692 1338 682 1337 q 716 1339 702 1338 q 747 1340 730 1339 q 779 1342 764 1341 q 805 1343 794 1343 q 819 1343 817 1343 q 831 1341 825 1343 q 837 1331 837 1338 q 820 1232 837 1282 q 771 1141 802 1182 q 695 1075 739 1101 q 597 1050 651 1050 q 554 1054 576 1050 q 512 1069 533 1058 q 469 1100 490 1080 q 425 1153 447 1120 q 400 1174 413 1169 q 370 1178 388 1178 q 344 1171 354 1178 q 328 1154 334 1164 q 319 1129 321 1143 q 317 1103 317 1116 q 311 1093 317 1098 q 297 1088 306 1088 q 262 1087 275 1088 q 238 1087 249 1087 q 214 1086 227 1086 q 181 1086 201 1086 q 167 1088 174 1086 q 161 1097 161 1091 q 179 1214 161 1161 q 229 1303 197 1266 q 302 1361 260 1341 q 393 1382 345 1382 q 443 1380 420 1382 q 489 1370 467 1378 q 531 1345 511 1362 q 574 1297 552 1328 z " - }, - "Ä": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 155 1059 q 158 1115 157 1098 q 159 1140 159 1133 q 159 1150 159 1147 q 160 1162 159 1153 q 161 1193 160 1172 q 164 1258 162 1214 q 169 1286 165 1278 q 182 1295 172 1294 q 295 1296 235 1295 q 405 1297 354 1297 q 414 1293 412 1297 q 417 1279 417 1289 l 400 1090 q 395 1063 398 1071 q 382 1054 393 1055 q 276 1053 331 1053 q 162 1053 222 1053 q 157 1053 159 1053 q 155 1057 155 1054 l 155 1059 m 580 1058 q 583 1121 582 1101 q 584 1151 584 1142 q 584 1162 585 1160 q 584 1173 584 1165 q 586 1199 585 1181 q 589 1257 587 1217 q 593 1285 591 1277 q 606 1294 596 1293 q 719 1294 660 1294 q 829 1295 778 1295 q 838 1293 834 1295 q 842 1282 842 1290 l 825 1090 q 820 1062 823 1069 q 806 1053 818 1055 q 699 1052 754 1053 q 583 1051 644 1051 q 581 1052 581 1051 q 580 1055 580 1052 l 580 1058 z " - }, - "Å": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 496 1035 q 422 1047 456 1035 q 362 1082 387 1059 q 322 1139 336 1105 q 307 1215 307 1172 q 323 1288 307 1253 q 366 1348 338 1322 q 430 1389 393 1374 q 509 1404 467 1404 q 579 1392 547 1404 q 637 1358 612 1380 q 675 1303 661 1335 q 689 1233 689 1272 q 675 1161 689 1196 q 637 1097 662 1125 q 577 1052 612 1069 q 496 1035 541 1035 m 567 1215 q 568 1222 568 1219 q 568 1229 568 1225 q 565 1255 568 1241 q 555 1281 562 1269 q 538 1300 549 1293 q 511 1308 527 1308 q 472 1299 488 1308 q 445 1277 455 1291 q 429 1247 434 1264 q 424 1214 424 1231 q 427 1187 424 1201 q 436 1162 429 1173 q 454 1142 443 1150 q 484 1134 466 1135 q 519 1141 505 1134 q 544 1160 534 1148 q 559 1186 553 1172 q 567 1215 565 1201 z " - }, - "Æ": { - "ha": 1179, - "x_min": 10, - "x_max": 1197, - "o": "m 1063 549 q 1058 522 1061 539 q 1049 484 1054 505 q 1038 437 1044 462 q 1025 387 1031 412 q 1021 373 1023 377 q 1011 366 1018 368 q 991 364 1004 364 q 954 363 978 363 l 860 361 l 882 168 l 1188 189 q 1197 175 1197 189 q 1194 161 1197 167 q 1187 143 1194 160 q 1171 103 1181 126 q 1152 56 1162 80 q 1135 19 1141 33 q 1122 0 1130 7 q 1104 -11 1114 -7 q 1081 -15 1094 -14 q 1052 -16 1067 -16 q 946 -17 1001 -16 q 837 -19 891 -18 q 730 -22 782 -20 q 634 -26 678 -24 q 624 -28 629 -26 q 612 -29 619 -29 q 600 -23 603 -29 q 597 -12 597 -18 q 588 63 592 28 q 578 137 584 97 q 572 143 577 140 q 558 146 566 145 q 541 148 550 148 q 523 149 531 149 q 491 148 503 149 q 469 148 479 148 q 450 147 459 147 q 429 146 441 146 q 389 147 409 146 q 351 148 368 147 l 313 149 q 294 119 303 134 q 275 89 284 104 q 254 54 266 75 q 229 13 241 33 q 203 -22 216 -7 q 183 -36 191 -36 q 178 -35 179 -36 q 79 12 119 -12 q 10 56 39 35 q 37 96 23 74 q 63 137 52 118 l 90 182 q 65 248 77 210 q 54 326 54 285 q 57 353 54 342 q 68 356 57 355 q 95 357 79 357 q 129 358 111 358 q 164 359 148 359 q 191 359 180 359 q 201 360 201 359 q 217 388 201 359 q 259 464 233 417 q 319 570 286 511 q 388 691 352 629 q 457 812 423 753 q 519 916 492 871 q 531 929 524 923 q 547 939 539 935 q 563 945 555 943 q 575 949 570 948 q 596 951 578 949 q 637 956 614 954 q 684 960 661 958 q 722 962 708 962 l 901 972 q 970 977 936 975 q 1035 980 1005 979 q 1086 982 1064 981 q 1116 983 1107 983 q 1121 983 1117 983 q 1129 980 1125 983 q 1137 970 1133 977 q 1140 951 1140 964 q 1139 936 1140 946 q 1135 911 1137 925 q 1131 883 1133 898 q 1125 852 1128 867 l 1112 774 q 1105 756 1109 762 q 1080 749 1101 750 q 967 745 1029 748 q 822 739 904 742 l 838 573 q 905 576 872 574 q 964 578 937 577 q 1011 580 991 579 q 1039 581 1031 581 q 1043 580 1039 581 q 1051 577 1046 580 q 1059 568 1055 574 q 1063 549 1063 561 m 503 508 q 479 458 491 483 q 458 413 468 433 q 442 377 449 392 q 433 358 435 363 q 430 347 433 353 l 566 347 q 565 413 566 378 q 565 486 565 448 q 564 562 564 524 q 564 637 564 600 l 503 508 z " - }, - "Ç": { - "ha": 879, - "x_min": 87, - "x_max": 900, - "o": "m 87 458 q 105 602 87 533 q 156 730 123 671 q 236 839 189 790 q 342 923 283 888 q 468 977 400 958 q 612 996 536 996 q 716 988 671 996 q 795 968 762 980 q 851 942 829 956 q 889 915 874 928 q 888 910 888 915 q 890 873 888 900 q 894 812 892 846 q 898 745 897 779 q 900 686 900 711 q 897 676 900 682 q 884 671 895 671 q 869 673 878 671 q 833 692 854 677 q 782 723 811 707 q 718 751 753 739 q 640 764 682 764 q 539 742 585 764 q 462 681 494 720 q 412 589 430 642 q 395 473 395 536 q 407 367 395 417 q 444 278 419 316 q 506 217 469 240 q 591 195 543 195 q 660 197 630 195 q 715 206 690 200 q 766 222 741 212 q 819 248 791 233 q 826 249 821 249 q 832 245 831 249 q 834 230 834 241 l 834 149 q 834 105 834 126 q 833 66 833 83 q 832 39 833 50 q 831 28 832 28 q 765 -4 800 9 q 691 -23 729 -16 q 616 -33 654 -31 q 543 -35 578 -35 q 363 1 447 -35 q 219 102 280 37 q 122 258 157 168 q 87 458 87 349 m 643 -262 q 620 -320 637 -294 q 579 -365 603 -346 q 526 -394 555 -383 q 465 -404 496 -404 q 405 -400 437 -404 q 350 -382 374 -396 l 351 -383 q 351 -378 351 -382 q 352 -357 351 -370 q 354 -330 353 -345 q 358 -302 356 -315 q 363 -279 361 -288 l 367 -279 q 371 -281 371 -279 l 370 -281 q 391 -289 381 -286 q 411 -294 400 -292 q 434 -296 421 -296 q 463 -297 446 -297 q 507 -280 492 -297 q 523 -241 523 -263 q 510 -208 523 -221 q 476 -195 498 -195 q 412 -192 439 -195 q 376 -189 386 -189 q 369 -186 370 -189 q 368 -180 368 -184 q 376 -159 372 -174 q 385 -126 380 -144 q 394 -89 390 -109 q 402 -53 399 -69 q 409 -25 406 -36 q 411 -12 411 -14 l 424 -12 q 454 -12 435 -12 q 490 -12 472 -12 l 532 -12 l 500 -108 q 521 -105 511 -106 q 540 -104 531 -104 q 595 -116 574 -104 q 627 -144 616 -127 q 642 -184 638 -162 q 646 -230 646 -207 q 645 -246 646 -238 q 643 -262 644 -254 z " - }, - "È": { - "ha": 799, - "x_min": 92, - "x_max": 856, - "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 411 1194 q 385 1242 395 1223 q 364 1278 374 1261 q 344 1314 355 1295 q 318 1362 333 1333 q 313 1376 314 1369 q 311 1388 312 1383 q 315 1400 311 1396 q 325 1408 318 1404 q 377 1437 350 1422 q 433 1467 405 1451 q 488 1498 460 1482 q 541 1532 515 1514 q 550 1535 547 1535 q 555 1530 554 1535 l 631 1133 q 634 1119 633 1124 q 635 1107 635 1113 q 633 1096 635 1101 q 625 1087 631 1090 q 598 1076 610 1081 q 574 1064 586 1070 q 549 1052 562 1059 q 519 1035 536 1045 q 512 1032 517 1032 q 498 1041 506 1032 q 480 1070 491 1050 q 452 1120 469 1089 q 411 1194 435 1151 z " - }, - "É": { - "ha": 799, - "x_min": 92, - "x_max": 856, - "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 504 1171 q 454 1102 474 1129 q 421 1060 434 1076 q 401 1038 408 1044 q 389 1032 393 1032 q 382 1035 385 1032 q 356 1052 368 1044 q 334 1064 345 1059 q 314 1076 324 1070 q 290 1087 303 1081 q 281 1101 281 1093 q 283 1114 281 1107 q 289 1133 285 1122 l 414 1497 q 421 1510 418 1507 q 429 1514 425 1514 q 435 1512 432 1514 q 442 1508 439 1510 q 548 1447 495 1472 q 652 1394 600 1421 q 664 1376 664 1387 q 652 1348 664 1365 q 609 1298 626 1318 q 576 1259 591 1278 q 545 1221 561 1241 q 504 1171 528 1200 z " - }, - "Ê": { - "ha": 799, - "x_min": 92, - "x_max": 856, - "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 670 1354 q 695 1321 685 1335 q 714 1295 706 1307 q 729 1273 722 1284 q 744 1251 736 1263 q 757 1232 748 1244 q 775 1206 766 1220 q 792 1179 785 1192 q 799 1156 799 1165 q 786 1137 799 1147 q 754 1119 772 1128 q 717 1103 736 1110 q 688 1091 699 1095 q 667 1082 678 1088 q 645 1071 656 1076 q 624 1062 633 1065 q 610 1058 615 1058 q 599 1064 605 1058 q 585 1084 593 1069 l 497 1271 q 415 1167 456 1218 q 332 1064 374 1117 q 323 1059 330 1059 q 308 1065 320 1059 q 278 1079 295 1071 q 243 1095 261 1086 q 212 1110 226 1104 q 194 1119 205 1114 q 172 1129 182 1124 q 155 1140 162 1135 q 148 1150 148 1145 q 154 1166 148 1157 q 174 1187 160 1175 l 276 1303 q 351 1386 315 1345 q 425 1470 388 1427 q 443 1480 434 1479 q 460 1481 452 1481 l 563 1481 q 579 1480 571 1481 q 593 1469 587 1478 q 602 1455 593 1468 q 621 1426 610 1443 q 646 1389 633 1409 q 670 1354 659 1369 z " - }, - "Ë": { - "ha": 799, - "x_min": 92, - "x_max": 856, - "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 130 1059 q 132 1115 132 1098 q 133 1140 133 1133 q 134 1150 134 1147 q 134 1162 134 1153 q 135 1193 134 1172 q 138 1258 136 1214 q 143 1286 140 1278 q 157 1295 146 1294 q 269 1296 210 1295 q 379 1297 328 1297 q 389 1293 386 1297 q 391 1279 391 1289 l 374 1090 q 370 1063 372 1071 q 357 1054 367 1055 q 251 1053 305 1053 q 136 1053 196 1053 q 131 1053 133 1053 q 130 1057 130 1054 l 130 1059 m 554 1058 q 557 1121 556 1101 q 558 1151 558 1142 q 558 1162 559 1160 q 558 1173 558 1165 q 560 1199 559 1181 q 564 1257 561 1217 q 568 1285 565 1277 q 581 1294 570 1293 q 693 1294 634 1294 q 803 1295 752 1295 q 812 1293 808 1295 q 816 1282 816 1290 l 800 1090 q 794 1062 797 1069 q 781 1053 792 1055 q 673 1052 728 1053 q 557 1051 618 1051 q 555 1052 555 1051 q 554 1055 554 1052 l 554 1058 z " - }, - "Ì": { - "ha": 453, - "x_min": 94, - "x_max": 450, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 207 1194 q 180 1242 191 1223 q 160 1278 170 1261 q 140 1314 151 1295 q 114 1362 129 1333 q 109 1376 110 1369 q 107 1388 108 1383 q 111 1400 107 1396 q 121 1408 114 1404 q 173 1437 146 1422 q 229 1467 201 1451 q 284 1498 256 1482 q 336 1532 311 1514 q 346 1535 343 1535 q 351 1530 350 1535 l 427 1133 q 430 1119 429 1124 q 431 1107 431 1113 q 429 1096 431 1101 q 420 1087 427 1090 q 394 1076 406 1081 q 370 1064 382 1070 q 345 1052 358 1059 q 315 1035 332 1045 q 308 1032 313 1032 q 294 1041 302 1032 q 276 1070 287 1050 q 248 1120 264 1089 q 207 1194 231 1151 z " - }, - "Í": { - "ha": 453, - "x_min": 77, - "x_max": 460, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 300 1171 q 250 1102 270 1129 q 217 1060 230 1076 q 197 1038 204 1044 q 184 1032 189 1032 q 178 1035 180 1032 q 152 1052 163 1044 q 130 1064 140 1059 q 110 1076 120 1070 q 86 1087 99 1081 q 77 1101 77 1093 q 79 1114 77 1107 q 85 1133 81 1122 l 210 1497 q 217 1510 214 1507 q 224 1514 220 1514 q 231 1512 228 1514 q 238 1508 235 1510 q 343 1447 291 1472 q 448 1394 396 1421 q 460 1376 460 1387 q 448 1348 460 1365 q 405 1298 422 1318 q 372 1259 387 1278 q 340 1221 357 1241 q 300 1171 324 1200 z " - }, - "Î": { - "ha": 453, - "x_min": -54, - "x_max": 597, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 468 1354 q 493 1321 483 1335 q 512 1295 504 1307 q 527 1273 520 1284 q 542 1251 534 1263 q 555 1232 546 1244 q 573 1206 564 1220 q 590 1179 583 1192 q 597 1156 597 1165 q 584 1137 597 1147 q 552 1119 570 1128 q 515 1103 534 1110 q 486 1091 496 1095 q 465 1082 476 1088 q 443 1071 454 1076 q 422 1062 431 1065 q 408 1058 413 1058 q 397 1064 403 1058 q 382 1084 391 1069 l 295 1271 q 213 1167 254 1218 q 130 1064 172 1117 q 121 1059 127 1059 q 105 1065 118 1059 q 76 1079 93 1071 q 41 1095 59 1086 q 10 1110 24 1104 q -8 1119 3 1114 q -30 1129 -20 1124 q -47 1140 -40 1135 q -54 1150 -54 1145 q -48 1166 -54 1157 q -28 1187 -42 1175 l 74 1303 q 149 1386 113 1345 q 222 1470 186 1427 q 241 1480 232 1479 q 258 1481 250 1481 l 361 1481 q 377 1480 369 1481 q 391 1469 385 1478 q 399 1455 391 1468 q 419 1426 408 1443 q 444 1389 431 1409 q 468 1354 457 1369 z " - }, - "Ï": { - "ha": 453, - "x_min": -73, - "x_max": 614, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m -73 1059 q -70 1115 -71 1098 q -69 1140 -69 1133 q -68 1150 -68 1147 q -68 1162 -68 1153 q -67 1193 -68 1172 q -64 1258 -66 1214 q -59 1286 -62 1278 q -45 1295 -56 1294 q 67 1296 7 1295 q 177 1297 126 1297 q 186 1293 184 1297 q 189 1279 189 1289 l 172 1090 q 168 1063 170 1071 q 155 1054 165 1055 q 48 1053 103 1053 q -66 1053 -6 1053 q -71 1053 -69 1053 q -73 1057 -73 1054 l -73 1059 m 352 1058 q 355 1121 354 1101 q 356 1151 356 1142 q 356 1162 357 1160 q 356 1173 356 1165 q 358 1199 357 1181 q 361 1257 359 1217 q 366 1285 363 1277 q 378 1294 368 1293 q 491 1294 432 1294 q 601 1295 550 1295 q 610 1293 606 1295 q 614 1282 614 1290 l 597 1090 q 592 1062 595 1069 q 578 1053 590 1055 q 471 1052 526 1053 q 355 1051 416 1051 q 353 1052 353 1051 q 352 1055 352 1052 l 352 1058 z " - }, - "Ð": { - "ha": 1050, - "x_min": 39, - "x_max": 1058, - "o": "m 224 564 l 233 689 q 236 721 235 705 q 238 752 237 736 q 200 745 220 748 q 162 739 180 741 q 126 734 143 736 q 98 732 110 732 q 86 739 90 732 q 83 753 83 746 q 87 766 83 762 l 259 922 q 299 952 279 941 q 347 971 319 964 q 414 980 375 978 q 514 983 454 983 q 640 975 576 983 q 765 949 705 968 q 879 901 825 931 q 972 825 932 871 q 1035 718 1012 780 q 1058 574 1058 656 q 1023 369 1058 458 q 929 214 989 280 q 790 103 869 149 q 620 30 710 58 q 432 -13 529 1 q 243 -31 336 -27 l 119 -35 q 109 -27 112 -33 q 105 -14 105 -21 q 108 -3 105 -7 l 191 156 q 194 178 192 159 q 197 225 195 197 q 202 287 199 253 q 208 355 205 321 q 156 355 178 355 q 119 355 133 355 q 59 358 79 355 q 39 374 39 362 q 47 393 39 377 q 69 429 56 408 q 100 473 83 450 q 134 516 117 496 q 167 549 151 536 q 193 562 182 562 l 224 564 m 513 766 q 505 686 510 736 q 494 574 500 636 q 570 577 537 576 q 614 578 602 578 q 626 574 619 578 q 633 559 633 570 q 626 536 633 553 q 610 497 620 520 q 587 445 600 473 q 560 385 574 416 q 554 370 557 375 q 544 363 551 366 q 521 361 536 361 q 476 360 505 361 l 460 173 q 598 199 542 173 q 690 272 655 226 q 742 380 726 318 q 758 515 758 443 q 743 614 758 566 q 702 698 729 662 q 635 755 675 734 q 547 777 596 777 q 529 773 538 777 q 513 766 519 770 z " - }, - "Ñ": { - "ha": 935, - "x_min": 102, - "x_max": 909, - "o": "m 672 909 q 682 941 677 931 q 699 955 686 951 l 875 996 q 892 999 883 999 q 905 993 901 999 q 909 970 909 987 q 903 920 905 954 q 899 846 900 886 q 897 766 897 806 q 896 696 896 726 l 896 659 q 895 567 896 616 q 893 467 895 517 q 891 366 892 416 q 888 273 890 317 l 884 157 q 884 151 884 154 q 884 146 884 149 l 884 136 q 884 116 884 124 q 884 102 884 109 q 883 90 884 96 q 878 80 882 85 q 867 69 874 75 q 848 56 860 64 q 825 42 841 51 q 791 21 810 33 q 751 -3 772 9 q 714 -25 731 -15 q 687 -41 697 -35 q 676 -47 676 -47 l 361 437 l 333 41 q 331 29 332 35 q 321 20 329 23 q 300 11 315 17 q 266 -2 286 5 q 223 -17 245 -9 q 182 -32 201 -25 q 147 -42 162 -38 q 126 -46 132 -46 q 109 -41 116 -46 q 102 -21 102 -35 q 118 164 109 64 q 135 369 127 264 q 150 579 143 474 q 162 778 157 684 q 154 796 162 781 q 135 829 145 811 q 116 863 124 847 q 107 883 107 879 q 112 892 107 888 q 129 903 117 896 l 310 1005 q 316 1006 312 1005 q 322 1006 319 1006 q 334 1005 330 1006 q 343 994 338 1003 l 672 401 l 672 909 m 583 1297 q 607 1272 595 1280 q 633 1265 618 1265 q 663 1276 654 1265 q 676 1301 672 1287 q 682 1326 680 1315 q 690 1337 684 1337 q 701 1338 691 1337 q 725 1339 711 1338 q 756 1340 739 1339 q 788 1342 773 1341 q 814 1343 803 1343 q 828 1343 825 1343 q 840 1341 833 1343 q 846 1331 846 1338 q 828 1232 846 1282 q 780 1141 811 1182 q 704 1075 748 1101 q 606 1050 660 1050 q 563 1054 585 1050 q 520 1069 542 1058 q 477 1100 499 1080 q 433 1153 456 1120 q 409 1174 422 1169 q 379 1178 397 1178 q 353 1171 363 1178 q 336 1154 342 1164 q 328 1129 330 1143 q 326 1103 326 1116 q 320 1093 326 1098 q 306 1088 315 1088 q 271 1087 284 1088 q 247 1087 258 1087 q 223 1086 235 1086 q 190 1086 210 1086 q 176 1088 182 1086 q 170 1097 170 1091 q 188 1214 170 1161 q 238 1303 206 1266 q 311 1361 269 1341 q 401 1382 353 1382 q 452 1380 429 1382 q 497 1370 475 1378 q 540 1345 519 1362 q 583 1297 561 1328 z " - }, - "Ò": { - "ha": 1103, - "x_min": 85, - "x_max": 1101, - "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 534 1194 q 507 1242 518 1223 q 487 1278 496 1261 q 467 1314 477 1295 q 441 1362 456 1333 q 436 1376 437 1369 q 434 1388 435 1383 q 437 1400 434 1396 q 448 1408 441 1404 q 500 1437 473 1422 q 555 1467 528 1451 q 611 1498 583 1482 q 663 1532 638 1514 q 673 1535 670 1535 q 678 1530 677 1535 l 754 1133 q 757 1119 755 1124 q 758 1107 758 1113 q 756 1096 758 1101 q 747 1087 754 1090 q 721 1076 733 1081 q 697 1064 709 1070 q 672 1052 685 1059 q 642 1035 659 1045 q 635 1032 640 1032 q 621 1041 629 1032 q 603 1070 614 1050 q 575 1120 591 1089 q 534 1194 558 1151 z " - }, - "Ó": { - "ha": 1103, - "x_min": 85, - "x_max": 1101, - "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 626 1171 q 576 1102 596 1129 q 543 1060 556 1076 q 523 1038 530 1044 q 511 1032 515 1032 q 504 1035 507 1032 q 478 1052 490 1044 q 456 1064 467 1059 q 436 1076 446 1070 q 412 1087 425 1081 q 403 1101 403 1093 q 405 1114 404 1107 q 411 1133 407 1122 l 536 1497 q 543 1510 540 1507 q 551 1514 547 1514 q 557 1512 554 1514 q 564 1508 561 1510 q 670 1447 617 1472 q 774 1394 722 1421 q 786 1376 786 1387 q 774 1348 786 1365 q 731 1298 748 1318 q 698 1259 713 1278 q 667 1221 683 1241 q 626 1171 650 1200 z " - }, - "Ô": { - "ha": 1096, - "x_min": 81, - "x_max": 1098, - "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 m 789 1354 q 814 1321 804 1335 q 833 1295 825 1307 q 848 1273 841 1284 q 863 1251 854 1263 q 876 1232 867 1244 q 894 1206 885 1220 q 910 1179 903 1192 q 918 1156 918 1165 q 904 1137 918 1147 q 873 1119 891 1128 q 836 1103 854 1110 q 806 1091 817 1095 q 786 1082 797 1088 q 763 1071 774 1076 q 743 1062 752 1065 q 729 1058 734 1058 q 718 1064 724 1058 q 703 1084 712 1069 l 616 1271 q 533 1167 574 1218 q 451 1064 492 1117 q 442 1059 448 1059 q 426 1065 439 1059 q 397 1079 414 1071 q 362 1095 380 1086 q 331 1110 345 1104 q 312 1119 323 1114 q 291 1129 301 1124 q 274 1140 281 1135 q 267 1150 267 1145 q 273 1166 267 1157 q 292 1187 279 1175 l 395 1303 q 470 1386 433 1345 q 543 1470 507 1427 q 562 1480 553 1479 q 578 1481 571 1481 l 682 1481 q 698 1480 690 1481 q 711 1469 706 1478 q 720 1455 712 1468 q 740 1426 728 1443 q 765 1389 751 1409 q 789 1354 778 1369 z " - }, - "Õ": { - "ha": 1096, - "x_min": 81, - "x_max": 1098, - "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 m 667 1297 q 691 1272 680 1280 q 718 1265 703 1265 q 748 1276 739 1265 q 761 1301 757 1287 q 766 1326 764 1315 q 774 1337 768 1337 q 786 1338 776 1337 q 810 1339 795 1338 q 841 1340 824 1339 q 873 1342 858 1341 q 899 1343 888 1343 q 913 1343 910 1343 q 924 1341 918 1343 q 930 1331 930 1338 q 913 1232 930 1282 q 864 1141 896 1182 q 789 1075 833 1101 q 691 1050 745 1050 q 648 1054 669 1050 q 605 1069 627 1058 q 562 1100 584 1080 q 518 1153 541 1120 q 494 1174 507 1169 q 464 1178 481 1178 q 437 1171 448 1178 q 421 1154 427 1164 q 413 1129 415 1143 q 410 1103 410 1116 q 405 1093 410 1098 q 391 1088 399 1088 q 356 1087 369 1088 q 331 1087 342 1087 q 308 1086 320 1086 q 275 1086 295 1086 q 261 1088 267 1086 q 254 1097 254 1091 q 273 1214 254 1161 q 322 1303 291 1266 q 396 1361 354 1341 q 486 1382 438 1382 q 537 1380 513 1382 q 582 1370 560 1378 q 625 1345 604 1362 q 667 1297 646 1328 z " - }, - "Ö": { - "ha": 1096, - "x_min": 81, - "x_max": 1098, - "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 m 249 1059 q 252 1115 251 1098 q 253 1140 252 1133 q 253 1150 253 1147 q 253 1162 253 1153 q 255 1193 254 1172 q 258 1258 256 1214 q 262 1286 259 1278 q 276 1295 266 1294 q 388 1296 329 1295 q 498 1297 448 1297 q 508 1293 505 1297 q 511 1279 511 1289 l 494 1090 q 489 1063 492 1071 q 476 1054 486 1055 q 370 1053 425 1053 q 256 1053 315 1053 q 251 1053 252 1053 q 249 1057 249 1054 l 249 1059 m 673 1058 q 676 1121 675 1101 q 678 1151 677 1142 q 678 1162 678 1160 q 678 1173 677 1165 q 679 1199 678 1181 q 683 1257 680 1217 q 687 1285 684 1277 q 700 1294 690 1293 q 812 1294 753 1294 q 922 1295 871 1295 q 931 1293 928 1295 q 935 1282 935 1290 l 919 1090 q 914 1062 916 1069 q 900 1053 911 1055 q 792 1052 848 1053 q 677 1051 737 1051 q 674 1052 675 1051 q 673 1055 673 1052 l 673 1058 z " - }, - "×": { - "ha": 671, - "x_min": 106, - "x_max": 648, - "o": "m 372 313 q 306 244 332 272 q 262 198 279 216 q 233 173 244 180 q 213 165 222 165 q 205 168 208 165 q 194 181 202 170 q 176 207 186 192 q 154 240 165 222 q 133 273 142 257 q 117 300 123 288 q 111 316 111 312 q 114 329 111 322 q 123 343 116 336 l 242 465 l 233 476 q 139 584 172 546 q 106 633 106 623 q 109 643 106 637 q 120 657 113 648 q 141 679 127 665 q 175 714 155 692 l 219 761 q 233 766 229 766 q 244 762 239 766 q 257 749 250 758 l 292 711 q 332 668 309 692 q 380 612 354 643 l 388 621 q 485 722 450 685 q 529 758 519 758 q 538 754 534 758 q 549 742 543 751 q 561 727 553 737 q 579 704 569 717 q 601 676 590 690 q 622 651 612 663 q 637 633 631 640 q 643 625 643 625 q 646 616 645 621 q 648 608 648 612 q 632 582 648 598 q 598 547 616 566 l 512 458 l 600 357 q 632 314 622 332 q 644 286 643 296 q 641 278 644 281 q 630 267 639 276 q 608 244 621 257 q 580 217 595 231 q 551 190 565 202 q 527 170 538 178 q 513 162 517 162 q 501 165 507 162 q 489 176 495 168 l 372 313 z " - }, - "Ø": { - "ha": 1101, - "x_min": 83, - "x_max": 1099, - "o": "m 528 -35 q 452 -28 489 -35 l 408 -121 q 400 -141 402 -132 q 388 -151 398 -151 q 370 -146 380 -151 l 302 -117 q 286 -112 296 -115 q 263 -103 275 -108 q 244 -91 252 -98 q 235 -75 235 -84 q 240 -57 235 -69 q 253 -29 245 -45 q 269 3 260 -14 q 286 36 278 20 q 200 113 237 68 q 136 212 162 158 q 97 326 111 265 q 83 451 83 387 q 129 669 83 571 q 252 836 174 766 q 431 944 329 906 q 648 982 534 982 q 742 972 694 982 q 759 1008 751 989 q 775 1041 767 1026 q 790 1066 783 1056 q 803 1076 797 1076 l 808 1076 q 880 1043 844 1061 q 951 1019 916 1026 q 959 1016 956 1018 q 962 1010 962 1014 l 962 1008 l 909 901 q 988 829 953 870 q 1048 739 1023 787 q 1085 634 1072 690 q 1099 518 1099 578 q 1078 362 1099 435 q 1021 227 1058 288 q 931 117 983 165 q 816 35 880 68 q 679 -17 752 1 q 528 -35 606 -35 m 382 463 q 390 376 382 419 q 415 295 397 334 q 458 384 439 343 q 495 465 477 425 q 533 546 513 505 q 576 638 552 588 l 646 779 q 623 782 635 781 q 600 783 612 783 q 527 768 559 783 q 470 726 494 752 q 429 667 446 701 q 402 598 412 634 q 387 527 392 562 q 382 463 382 492 m 812 513 q 806 585 812 549 q 786 651 800 620 l 554 178 q 599 174 574 174 q 675 193 642 177 q 731 235 707 210 q 771 294 755 261 q 796 363 787 327 q 809 438 805 400 q 812 513 812 476 z " - }, - "Ù": { - "ha": 935, - "x_min": 103, - "x_max": 937, - "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 452 1194 q 426 1242 437 1223 q 406 1278 415 1261 q 385 1314 396 1295 q 359 1362 374 1333 q 354 1376 355 1369 q 353 1388 353 1383 q 356 1400 353 1396 q 366 1408 359 1404 q 419 1437 391 1422 q 474 1467 446 1451 q 529 1498 502 1482 q 582 1532 557 1514 q 591 1535 589 1535 q 597 1530 595 1535 l 673 1133 q 675 1119 674 1124 q 677 1107 677 1113 q 675 1096 677 1101 q 666 1087 673 1090 q 640 1076 652 1081 q 615 1064 627 1070 q 590 1052 604 1059 q 561 1035 577 1045 q 553 1032 558 1032 q 540 1041 547 1032 q 521 1070 532 1050 q 493 1120 510 1089 q 452 1194 477 1151 z " - }, - "Ú": { - "ha": 935, - "x_min": 103, - "x_max": 937, - "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 545 1171 q 495 1102 515 1129 q 463 1060 475 1076 q 442 1038 450 1044 q 430 1032 435 1032 q 423 1035 426 1032 q 397 1052 409 1044 q 376 1064 386 1059 q 355 1076 366 1070 q 332 1087 345 1081 q 322 1101 322 1093 q 325 1114 323 1107 q 330 1133 326 1122 l 456 1497 q 463 1510 459 1507 q 470 1514 466 1514 q 477 1512 473 1514 q 484 1508 480 1510 q 589 1447 536 1472 q 693 1394 642 1421 q 705 1376 705 1387 q 694 1348 705 1365 q 650 1298 667 1318 q 617 1259 633 1278 q 586 1221 602 1241 q 545 1171 570 1200 z " - }, - "Û": { - "ha": 935, - "x_min": 103, - "x_max": 937, - "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 711 1354 q 737 1321 726 1335 q 755 1295 747 1307 q 770 1273 764 1284 q 785 1251 777 1263 q 799 1232 789 1244 q 817 1206 808 1220 q 833 1179 826 1192 q 840 1156 840 1165 q 827 1137 840 1147 q 795 1119 814 1128 q 759 1103 777 1110 q 729 1091 740 1095 q 708 1082 720 1088 q 686 1071 697 1076 q 666 1062 675 1065 q 652 1058 656 1058 q 641 1064 646 1058 q 626 1084 635 1069 l 538 1271 q 456 1167 497 1218 q 374 1064 415 1117 q 365 1059 371 1059 q 349 1065 361 1059 q 319 1079 336 1071 q 285 1095 302 1086 q 254 1110 267 1104 q 235 1119 246 1114 q 214 1129 224 1124 q 196 1140 203 1135 q 189 1150 189 1145 q 195 1166 189 1157 q 215 1187 201 1175 l 317 1303 q 393 1386 356 1345 q 466 1470 429 1427 q 485 1480 475 1479 q 501 1481 494 1481 l 604 1481 q 621 1480 612 1481 q 634 1469 629 1478 q 643 1455 635 1468 q 663 1426 651 1443 q 687 1389 674 1409 q 711 1354 701 1369 z " - }, - "Ü": { - "ha": 935, - "x_min": 103, - "x_max": 937, - "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 171 1059 q 174 1115 173 1098 q 175 1140 174 1133 q 175 1150 175 1147 q 175 1162 175 1153 q 177 1193 176 1172 q 180 1258 178 1214 q 184 1286 181 1278 q 198 1295 188 1294 q 310 1296 251 1295 q 420 1297 370 1297 q 430 1293 427 1297 q 433 1279 433 1289 l 416 1090 q 411 1063 414 1071 q 398 1054 408 1055 q 292 1053 347 1053 q 178 1053 237 1053 q 173 1053 174 1053 q 171 1057 171 1054 l 171 1059 m 595 1058 q 598 1121 597 1101 q 600 1151 600 1142 q 600 1162 600 1160 q 600 1173 600 1165 q 601 1199 600 1181 q 605 1257 602 1217 q 609 1285 606 1277 q 622 1294 612 1293 q 734 1294 675 1294 q 844 1295 793 1295 q 853 1293 850 1295 q 857 1282 857 1290 l 841 1090 q 836 1062 838 1069 q 822 1053 833 1055 q 714 1052 770 1053 q 599 1051 659 1051 q 596 1052 597 1051 q 595 1055 595 1052 l 595 1058 z " - }, - "Ý": { - "ha": 756, - "x_min": 73, - "x_max": 861, - "o": "m 81 903 q 95 910 85 906 q 118 920 104 915 q 146 932 131 926 q 177 945 161 939 l 256 976 q 272 980 264 980 q 284 977 277 980 q 298 966 290 974 l 455 662 l 459 672 l 526 796 q 552 842 539 819 q 574 882 564 864 q 591 910 584 899 q 599 921 597 921 l 831 979 q 845 981 840 981 q 861 967 861 981 q 859 958 860 964 q 855 945 859 952 l 656 576 q 626 520 641 548 q 596 468 610 492 q 571 422 582 443 q 553 389 559 402 l 548 367 l 510 113 q 507 94 508 101 q 503 81 505 86 q 497 73 500 77 q 486 66 493 70 l 294 -35 q 271 -43 283 -40 q 248 -47 259 -47 q 229 -42 237 -47 q 220 -25 220 -37 l 220 -22 q 230 67 223 16 q 245 168 237 119 l 283 419 q 255 480 273 442 q 217 562 237 518 q 175 653 197 606 q 133 742 153 700 q 99 815 114 783 q 76 862 83 847 q 73 883 73 872 q 74 895 73 889 q 81 903 76 901 m 476 1171 q 426 1102 446 1129 q 393 1060 406 1076 q 373 1038 380 1044 q 361 1032 366 1032 q 354 1035 357 1032 q 328 1052 340 1044 q 307 1064 317 1059 q 286 1076 296 1070 q 262 1087 275 1081 q 253 1101 253 1093 q 255 1114 254 1107 q 261 1133 257 1122 l 387 1497 q 393 1510 390 1507 q 401 1514 397 1514 q 408 1512 404 1514 q 414 1508 411 1510 q 520 1447 467 1472 q 624 1394 572 1421 q 636 1376 636 1387 q 625 1348 636 1365 q 581 1298 598 1318 q 548 1259 564 1278 q 517 1221 533 1241 q 476 1171 500 1200 z " - }, - "Þ": { - "ha": 872, - "x_min": 104, - "x_max": 907, - "o": "m 907 630 q 888 515 907 568 q 836 420 869 463 q 758 345 802 378 q 662 291 713 313 q 555 258 610 269 q 447 247 500 247 q 420 248 433 247 q 393 250 407 248 l 375 64 l 363 43 q 352 36 363 41 q 324 26 341 32 q 286 13 307 20 q 244 -2 265 5 q 204 -15 223 -9 q 172 -26 184 -22 q 149 -33 162 -30 q 125 -35 136 -35 q 110 -31 115 -35 q 104 -12 104 -26 q 108 39 106 11 q 112 96 110 66 q 116 157 114 126 q 121 216 119 188 l 132 353 q 146 534 140 456 q 156 674 152 613 q 132 672 136 672 q 117 684 117 672 q 122 703 117 684 q 135 749 127 722 q 150 805 142 776 q 163 854 158 834 q 183 878 164 867 l 198 1016 l 210 1037 q 220 1043 210 1039 q 248 1054 231 1048 q 287 1066 265 1059 q 329 1081 308 1074 q 370 1095 351 1088 q 401 1106 389 1101 q 424 1112 410 1109 q 448 1115 437 1115 q 463 1110 458 1115 q 469 1092 469 1105 q 466 1055 467 1072 q 463 1020 465 1038 q 460 980 462 1002 q 456 928 458 958 q 526 930 495 930 q 672 916 603 930 q 793 868 741 902 q 877 775 846 833 q 907 630 907 718 m 412 451 q 415 438 412 444 q 430 432 418 432 q 465 437 445 432 q 506 453 485 443 q 548 480 528 464 q 584 518 568 496 q 610 567 600 540 q 620 627 620 594 q 587 696 620 674 q 501 719 554 719 q 480 718 492 719 q 460 714 469 717 q 444 708 450 711 q 436 698 437 704 q 435 683 436 698 q 431 646 433 669 q 427 596 429 624 q 421 541 424 568 q 416 490 418 513 q 412 451 414 466 z " - }, - "ß": { - "ha": 926, - "x_min": 83, - "x_max": 920, - "o": "m 91 115 q 102 287 98 203 q 109 449 105 371 q 121 596 113 526 q 146 725 130 665 q 192 831 163 784 q 267 912 221 879 q 378 964 313 946 q 534 982 444 982 q 674 963 609 982 q 786 910 739 943 q 861 833 834 877 q 888 742 888 790 q 855 638 888 691 q 745 538 821 586 q 818 494 786 514 q 873 452 850 474 q 907 404 895 431 q 920 338 920 376 q 902 225 920 279 q 852 125 884 172 q 777 42 821 79 q 680 -21 732 5 q 569 -62 628 -47 q 449 -76 510 -76 q 431 -71 437 -76 q 423 -55 426 -66 q 420 -23 420 -43 q 417 26 419 -3 q 414 63 416 47 q 412 92 412 79 q 418 120 412 110 q 441 133 424 130 q 524 152 484 140 q 593 185 563 163 q 641 238 623 206 q 659 317 659 271 q 646 352 659 337 q 613 377 633 366 q 569 394 593 387 q 522 405 545 401 q 480 412 499 410 q 451 416 460 414 q 439 422 442 417 q 436 435 436 428 q 447 460 436 445 q 477 503 457 475 l 505 543 q 545 559 524 549 q 585 583 566 570 q 615 613 603 596 q 627 649 627 629 q 603 734 627 705 q 534 764 579 764 q 499 759 521 764 q 456 740 477 753 q 417 703 434 726 q 397 642 400 679 q 381 507 387 571 q 373 385 376 443 q 368 274 370 327 q 361 172 366 221 l 349 -8 q 338 -22 348 -18 q 321 -26 329 -26 q 209 -10 265 -18 q 106 9 152 -2 q 88 20 93 12 q 83 35 83 27 q 86 75 83 59 q 91 115 89 92 z " - }, - "à": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 395 968 q 368 1015 379 996 q 348 1051 357 1034 q 328 1087 338 1068 q 302 1135 317 1107 q 297 1149 298 1143 q 295 1162 296 1156 q 298 1174 295 1169 q 309 1181 302 1178 q 361 1210 334 1196 q 416 1240 389 1225 q 472 1272 444 1255 q 524 1305 499 1288 q 534 1309 531 1309 q 539 1303 538 1309 l 615 907 q 618 892 616 898 q 619 881 619 886 q 617 869 619 875 q 608 861 615 864 q 582 849 594 854 q 558 838 570 844 q 533 825 546 832 q 503 808 519 819 q 496 806 500 806 q 482 815 490 806 q 464 843 475 824 q 436 893 452 863 q 395 968 419 924 z " - }, - "á": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 488 944 q 438 876 458 903 q 405 833 418 849 q 385 812 392 818 q 372 806 377 806 q 366 808 368 806 q 340 825 351 818 q 318 838 328 832 q 297 849 308 844 q 274 861 287 854 q 264 875 264 866 q 267 888 265 880 q 273 907 269 895 l 398 1271 q 405 1284 401 1280 q 412 1287 408 1287 q 419 1285 416 1287 q 426 1282 422 1284 q 531 1220 479 1246 q 635 1168 584 1195 q 648 1149 648 1160 q 636 1122 648 1139 q 592 1071 610 1091 q 560 1033 575 1051 q 528 994 545 1015 q 488 944 512 974 z " - }, - "â": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 654 1127 q 679 1095 669 1109 q 698 1069 690 1080 q 713 1047 706 1057 q 728 1024 720 1036 q 741 1006 732 1018 q 759 980 750 994 q 775 952 768 966 q 783 930 783 939 q 769 911 783 920 q 738 892 756 901 q 701 876 720 884 q 671 865 682 869 q 651 856 662 861 q 628 844 640 850 q 608 835 617 839 q 594 831 599 831 q 583 837 589 831 q 568 858 577 843 l 481 1044 q 398 941 439 991 q 316 838 357 890 q 307 833 313 833 q 291 839 304 833 q 262 852 279 844 q 227 869 245 860 q 196 884 210 878 q 177 892 189 887 q 156 903 166 897 q 139 913 146 908 q 132 924 132 919 q 138 939 132 930 q 157 961 144 948 l 260 1076 q 335 1160 298 1119 q 408 1243 372 1200 q 427 1254 418 1253 q 444 1255 436 1255 l 547 1255 q 563 1253 555 1255 q 576 1242 571 1252 q 585 1229 577 1241 q 605 1199 593 1217 q 630 1162 616 1182 q 654 1127 643 1143 z " - }, - "ã": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 532 1071 q 556 1046 545 1053 q 582 1038 567 1038 q 612 1049 603 1038 q 625 1075 621 1061 q 631 1100 629 1088 q 639 1111 633 1111 q 650 1111 640 1111 q 674 1112 660 1112 q 705 1114 688 1113 q 737 1115 722 1114 q 763 1117 752 1116 q 777 1117 774 1117 q 789 1114 783 1117 q 795 1104 795 1112 q 778 1005 795 1055 q 729 915 760 956 q 653 849 697 874 q 555 823 609 823 q 512 827 534 823 q 470 843 491 831 q 427 874 448 854 q 382 926 405 894 q 358 947 371 943 q 328 951 346 951 q 302 945 312 951 q 286 927 292 938 q 277 903 279 916 q 275 877 275 890 q 269 866 275 871 q 255 861 264 861 q 220 861 233 861 q 196 860 207 861 q 172 860 184 860 q 139 859 159 859 q 125 862 132 859 q 119 871 119 865 q 137 987 119 935 q 187 1077 155 1040 q 260 1135 218 1114 q 351 1156 302 1156 q 401 1154 378 1156 q 447 1143 425 1152 q 489 1118 469 1135 q 532 1071 510 1101 z " - }, - "ä": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 113 833 q 116 889 115 871 q 117 913 117 906 q 117 924 117 921 q 118 936 117 926 q 119 966 118 945 q 122 1031 120 987 q 127 1060 123 1052 q 140 1069 130 1067 q 253 1069 193 1069 q 363 1070 312 1070 q 372 1066 370 1070 q 375 1053 375 1063 l 358 864 q 353 837 356 844 q 340 827 351 829 q 234 826 289 827 q 120 826 180 826 q 115 827 117 826 q 113 831 113 827 l 113 833 m 538 831 q 541 895 540 874 q 542 924 542 916 q 542 936 543 933 q 542 946 542 939 q 544 972 543 954 q 547 1031 545 991 q 551 1058 549 1050 q 564 1067 554 1066 q 677 1068 618 1067 q 787 1069 736 1068 q 796 1066 792 1069 q 800 1055 800 1063 l 783 863 q 778 836 781 843 q 764 827 776 828 q 657 825 712 826 q 541 825 602 825 q 538 825 539 825 q 538 829 538 825 l 538 831 z " - }, - "å": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 455 808 q 380 821 415 808 q 320 856 346 833 q 280 912 295 879 q 266 988 266 945 q 281 1061 266 1027 q 324 1122 297 1096 q 388 1163 351 1147 q 468 1178 425 1178 q 538 1166 505 1178 q 595 1131 571 1154 q 634 1077 620 1109 q 648 1006 648 1045 q 634 934 648 970 q 596 870 621 899 q 535 825 571 842 q 455 808 500 808 m 526 989 q 526 996 526 992 q 526 1002 526 999 q 524 1028 526 1015 q 514 1054 521 1042 q 496 1074 507 1066 q 469 1081 486 1081 q 430 1073 447 1081 q 403 1051 414 1064 q 388 1021 393 1038 q 382 987 382 1004 q 385 961 382 975 q 395 935 388 947 q 413 916 401 924 q 443 907 425 908 q 478 915 463 907 q 502 933 492 922 q 518 960 512 945 q 526 989 524 975 z " - }, - "æ": { - "ha": 1300, - "x_min": 70, - "x_max": 1299, - "o": "m 734 604 q 858 716 787 675 q 1015 758 928 758 q 1080 748 1046 758 q 1145 720 1114 738 q 1205 675 1177 701 q 1254 617 1233 649 q 1286 548 1274 585 q 1299 471 1299 511 q 1295 422 1299 447 q 1284 372 1291 397 q 1275 342 1284 351 q 1243 329 1265 334 q 1186 321 1221 325 q 1099 306 1151 317 q 1033 294 1067 299 q 966 285 1000 290 q 899 275 932 280 q 833 261 865 269 q 851 208 836 231 q 892 171 867 186 q 947 150 916 157 q 1012 143 979 143 q 1075 150 1044 143 q 1133 166 1105 156 q 1186 189 1160 176 q 1235 215 1212 202 q 1245 217 1241 216 q 1254 218 1250 218 q 1254 207 1254 218 q 1253 175 1253 196 q 1253 125 1253 155 q 1252 61 1253 96 q 1255 49 1255 54 q 1252 40 1255 43 q 1244 34 1249 37 q 1190 8 1222 22 q 1120 -16 1158 -5 q 1044 -34 1083 -27 q 970 -41 1005 -41 q 889 -33 929 -41 q 812 -9 849 -25 q 742 29 775 6 q 682 82 709 52 q 606 27 646 50 q 527 -11 567 4 q 447 -34 486 -26 q 370 -41 407 -41 q 259 -16 313 -41 q 163 55 205 9 q 95 168 121 102 q 70 315 70 233 q 98 492 70 412 q 174 630 126 572 q 287 719 222 687 q 422 750 351 750 q 599 731 518 750 q 754 684 680 713 l 734 604 m 562 185 q 578 329 572 269 q 588 430 584 389 q 594 497 592 471 q 597 542 596 524 q 540 562 573 551 q 469 572 507 572 q 407 549 432 572 q 367 490 382 525 q 346 417 352 456 q 339 349 339 378 q 367 192 339 241 q 446 142 395 142 q 500 153 471 142 q 562 185 530 165 m 998 576 q 939 565 966 576 q 891 531 913 553 q 854 478 870 509 q 827 410 838 447 l 1105 465 q 1106 470 1105 467 q 1106 475 1106 473 q 1096 519 1106 500 q 1070 551 1086 538 q 1035 570 1055 564 q 998 576 1016 576 z " - }, - "ç": { - "ha": 716, - "x_min": 69, - "x_max": 738, - "o": "m 69 331 q 102 497 69 420 q 193 633 135 575 q 330 724 251 690 q 502 757 409 757 q 610 747 565 757 q 683 724 654 736 q 725 701 711 711 q 738 690 738 690 q 735 667 738 686 q 728 624 732 648 q 721 573 724 599 q 718 528 718 547 q 716 520 718 524 q 705 516 714 516 q 682 522 697 516 q 643 534 666 528 q 591 547 621 541 q 526 553 562 553 q 445 537 481 553 q 383 493 409 521 q 343 426 357 465 q 330 342 330 387 q 344 263 330 296 q 383 209 359 230 q 439 179 408 189 q 507 170 471 170 q 589 181 547 170 q 667 212 630 192 q 672 213 668 213 q 677 210 675 213 q 679 197 679 206 q 679 144 679 175 q 679 85 679 113 q 677 37 678 57 q 676 18 677 18 q 623 -9 652 1 q 565 -25 595 -19 q 504 -33 534 -31 q 445 -35 473 -35 q 297 -9 366 -35 q 178 66 229 18 q 98 181 127 114 q 69 331 69 249 m 552 -262 q 529 -320 546 -294 q 488 -365 512 -346 q 435 -394 465 -383 q 374 -404 406 -404 q 314 -400 346 -404 q 259 -382 283 -396 l 260 -383 q 260 -378 260 -382 q 261 -357 260 -370 q 263 -330 262 -345 q 268 -302 265 -315 q 273 -279 270 -288 l 276 -279 q 280 -281 280 -279 l 279 -281 q 300 -289 290 -286 q 320 -294 309 -292 q 343 -296 330 -296 q 372 -297 355 -297 q 416 -280 401 -297 q 432 -241 432 -263 q 419 -208 432 -221 q 385 -195 407 -195 q 321 -192 348 -195 q 285 -189 295 -189 q 278 -186 279 -189 q 277 -180 277 -184 q 285 -159 281 -174 q 294 -126 290 -144 q 303 -89 299 -109 q 312 -53 308 -69 q 318 -25 315 -36 q 320 -12 320 -14 l 333 -12 q 363 -12 345 -12 q 399 -12 381 -12 l 441 -12 l 409 -108 q 430 -105 420 -106 q 449 -104 440 -104 q 504 -116 484 -104 q 536 -144 525 -127 q 551 -184 547 -162 q 555 -230 555 -207 q 554 -246 555 -238 q 552 -262 553 -254 z " - }, - "è": { - "ha": 774, - "x_min": 68, - "x_max": 771, - "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 380 968 q 353 1015 364 996 q 333 1051 342 1034 q 313 1087 323 1068 q 287 1135 302 1107 q 282 1149 283 1143 q 280 1162 281 1156 q 283 1174 280 1169 q 294 1181 287 1178 q 346 1210 319 1196 q 401 1240 374 1225 q 457 1272 429 1255 q 509 1305 484 1288 q 519 1309 516 1309 q 524 1303 523 1309 l 600 907 q 603 892 602 898 q 604 881 604 886 q 602 869 604 875 q 593 861 600 864 q 567 849 579 854 q 543 838 555 844 q 518 825 531 832 q 488 808 505 819 q 481 806 486 806 q 467 815 475 806 q 449 843 460 824 q 421 893 437 863 q 380 968 404 924 z " - }, - "é": { - "ha": 774, - "x_min": 68, - "x_max": 771, - "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 473 944 q 423 876 443 903 q 390 833 403 849 q 370 812 377 818 q 357 806 362 806 q 351 808 353 806 q 325 825 336 818 q 303 838 313 832 q 282 849 293 844 q 259 861 272 854 q 250 875 250 866 q 252 888 250 880 q 258 907 254 895 l 383 1271 q 390 1284 387 1280 q 397 1287 393 1287 q 404 1285 401 1287 q 411 1282 408 1284 q 516 1220 464 1246 q 621 1168 569 1195 q 633 1149 633 1160 q 621 1122 633 1139 q 577 1071 595 1091 q 545 1033 560 1051 q 513 994 530 1015 q 473 944 497 974 z " - }, - "ê": { - "ha": 774, - "x_min": 68, - "x_max": 771, - "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 633 1127 q 658 1095 648 1109 q 677 1069 669 1080 q 692 1047 685 1057 q 707 1024 699 1036 q 720 1006 711 1018 q 738 980 729 994 q 754 952 747 966 q 762 930 762 939 q 748 911 762 920 q 717 892 735 901 q 680 876 699 884 q 650 865 661 869 q 630 856 641 861 q 607 844 618 850 q 587 835 596 839 q 573 831 578 831 q 562 837 568 831 q 547 858 556 843 l 460 1044 q 377 941 418 991 q 295 838 336 890 q 286 833 292 833 q 270 839 283 833 q 241 852 258 844 q 206 869 224 860 q 175 884 189 878 q 156 892 168 887 q 135 903 145 897 q 118 913 125 908 q 111 924 111 919 q 117 939 111 930 q 136 961 123 948 l 239 1076 q 314 1160 277 1119 q 387 1243 351 1200 q 406 1254 397 1253 q 422 1255 415 1255 l 526 1255 q 542 1253 534 1255 q 555 1242 550 1252 q 564 1229 556 1241 q 584 1199 572 1217 q 609 1162 595 1182 q 633 1127 622 1143 z " - }, - "ë": { - "ha": 774, - "x_min": 68, - "x_max": 785, - "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 98 833 q 101 889 100 871 q 102 913 102 906 q 102 924 102 921 q 103 936 102 926 q 104 966 103 945 q 107 1031 105 987 q 112 1060 109 1052 q 125 1069 115 1067 q 238 1069 178 1069 q 348 1070 297 1070 q 357 1066 355 1070 q 360 1053 360 1063 l 343 864 q 338 837 341 844 q 326 827 336 829 q 219 826 274 827 q 105 826 165 826 q 100 827 102 826 q 98 831 98 827 l 98 833 m 523 831 q 526 895 525 874 q 527 924 527 916 q 527 936 528 933 q 527 946 527 939 q 529 972 528 954 q 532 1031 530 991 q 536 1058 534 1050 q 549 1067 539 1066 q 662 1068 603 1067 q 772 1069 721 1068 q 781 1066 777 1069 q 785 1055 785 1063 l 768 863 q 763 836 766 843 q 749 827 761 828 q 642 825 697 826 q 526 825 587 825 q 524 825 524 825 q 523 829 523 825 l 523 831 z " - }, - "ì": { - "ha": 414, - "x_min": 73, - "x_max": 417, - "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 193 968 q 166 1015 177 996 q 146 1051 155 1034 q 125 1087 136 1068 q 100 1135 115 1107 q 95 1149 96 1143 q 93 1162 94 1156 q 96 1174 93 1169 q 106 1181 100 1178 q 159 1210 132 1196 q 214 1240 186 1225 q 270 1272 242 1255 q 322 1305 297 1288 q 332 1309 329 1309 q 337 1303 336 1309 l 413 907 q 416 892 414 898 q 417 881 417 886 q 415 869 417 875 q 406 861 413 864 q 380 849 392 854 q 356 838 368 844 q 331 825 344 832 q 301 808 317 819 q 294 806 298 806 q 280 815 288 806 q 261 843 273 824 q 234 893 250 863 q 193 968 217 924 z " - }, - "í": { - "ha": 414, - "x_min": 62, - "x_max": 446, - "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 286 944 q 236 876 256 903 q 203 833 216 849 q 182 812 190 818 q 170 806 175 806 q 163 808 166 806 q 138 825 149 818 q 116 838 126 832 q 95 849 106 844 q 72 861 85 854 q 62 875 62 866 q 65 888 63 880 q 71 907 66 895 l 196 1271 q 203 1284 199 1280 q 210 1287 206 1287 q 217 1285 214 1287 q 224 1282 220 1284 q 329 1220 277 1246 q 433 1168 382 1195 q 446 1149 446 1160 q 434 1122 446 1139 q 390 1071 408 1091 q 358 1033 373 1051 q 326 994 342 1015 q 286 944 310 974 z " - }, - "î": { - "ha": 414, - "x_min": -68, - "x_max": 583, - "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 454 1127 q 479 1095 469 1109 q 498 1069 490 1080 q 513 1047 506 1057 q 528 1024 519 1036 q 541 1006 532 1018 q 559 980 550 994 q 575 952 568 966 q 583 930 583 939 q 569 911 583 920 q 538 892 556 901 q 501 876 519 884 q 471 865 482 869 q 451 856 462 861 q 428 844 439 850 q 408 835 417 839 q 394 831 399 831 q 383 837 389 831 q 368 858 377 843 l 281 1044 q 198 941 239 991 q 116 838 157 890 q 107 833 113 833 q 91 839 104 833 q 62 852 79 844 q 27 869 45 860 q -4 884 9 878 q -23 892 -12 887 q -44 903 -34 897 q -61 913 -54 908 q -68 924 -68 919 q -62 939 -68 930 q -43 961 -56 948 l 60 1076 q 135 1160 98 1119 q 208 1243 172 1200 q 227 1254 218 1253 q 243 1255 236 1255 l 347 1255 q 363 1253 355 1255 q 376 1242 371 1252 q 385 1229 377 1241 q 405 1199 393 1217 q 430 1162 416 1182 q 454 1127 443 1143 z " - }, - "ï": { - "ha": 414, - "x_min": -87, - "x_max": 600, - "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m -87 833 q -84 889 -85 871 q -83 913 -83 906 q -83 924 -83 921 q -82 936 -83 926 q -81 966 -82 945 q -78 1031 -80 987 q -73 1060 -77 1052 q -60 1069 -70 1067 q 53 1069 -7 1069 q 163 1070 112 1070 q 172 1066 170 1070 q 175 1053 175 1063 l 158 864 q 153 837 156 844 q 140 827 151 829 q 34 826 89 827 q -80 826 -20 826 q -85 827 -83 826 q -87 831 -87 827 l -87 833 m 338 831 q 341 895 340 874 q 342 924 342 916 q 342 936 342 933 q 342 946 342 939 q 343 972 342 954 q 347 1031 345 991 q 351 1058 349 1050 q 364 1067 354 1066 q 477 1068 418 1067 q 587 1069 536 1068 q 596 1066 592 1069 q 600 1055 600 1063 l 583 863 q 578 836 581 843 q 564 827 576 828 q 457 825 512 826 q 341 825 401 825 q 338 825 339 825 q 338 829 338 825 l 338 831 z " - }, - "ð": { - "ha": 899, - "x_min": 72, - "x_max": 888, - "o": "m 373 747 q 362 745 367 745 q 337 755 352 745 q 308 779 322 766 q 283 804 294 792 q 273 821 273 817 q 332 853 273 832 l 399 873 q 381 902 391 886 q 360 933 370 918 q 343 960 351 948 q 336 976 336 972 q 353 991 336 986 q 384 1001 370 996 q 411 1012 398 1006 q 438 1026 425 1018 q 468 1043 452 1034 q 477 1046 473 1046 q 486 1044 482 1046 q 491 1040 489 1042 q 537 987 513 1014 q 585 931 561 960 l 681 961 q 699 965 693 965 q 708 963 705 965 q 715 957 712 960 l 741 922 q 767 884 759 897 q 777 867 776 871 q 772 858 777 862 q 765 854 767 854 l 674 824 q 755 712 717 770 q 824 593 794 654 q 871 467 853 532 q 888 336 888 403 q 877 245 888 290 q 843 159 866 200 q 786 82 821 117 q 703 21 751 47 q 595 -20 656 -5 q 461 -35 535 -35 q 296 -1 368 -35 q 174 87 224 33 q 98 210 124 142 q 72 347 72 278 q 91 474 72 412 q 149 585 110 536 q 249 662 189 633 q 391 692 309 692 q 455 684 430 692 q 492 667 479 676 q 474 715 484 690 q 453 766 465 740 l 373 747 m 356 336 q 367 271 358 305 q 393 208 376 237 q 436 161 410 180 q 500 142 463 142 q 542 156 526 142 q 567 191 558 170 q 579 238 576 212 q 582 288 582 264 q 580 348 582 323 q 573 395 578 373 q 559 442 568 418 q 537 500 550 466 q 511 508 521 506 q 488 511 501 511 q 427 498 452 511 q 386 465 401 486 q 362 416 370 444 q 355 357 355 388 q 355 347 355 352 q 356 336 355 341 z " - }, - "ñ": { - "ha": 897, - "x_min": 73, - "x_max": 876, - "o": "m 644 -24 q 625 -31 637 -26 q 601 -35 612 -35 q 584 -31 591 -35 q 577 -14 577 -26 l 577 -10 q 584 52 581 26 q 589 98 587 77 q 593 139 591 119 q 597 188 595 160 q 604 253 600 215 q 613 347 608 290 q 619 417 616 381 q 622 484 622 453 q 619 521 622 504 q 608 551 616 538 q 587 570 600 564 q 552 577 573 577 q 509 570 536 577 q 454 548 481 564 q 406 507 427 532 q 382 444 385 481 q 375 358 378 394 q 369 298 372 323 q 365 258 366 273 q 362 231 363 242 q 360 216 361 229 q 357 187 359 204 q 354 151 355 170 q 350 115 352 132 q 348 86 349 98 q 347 71 347 74 q 347 62 347 66 q 347 55 347 58 q 342 46 347 50 q 319 37 337 42 l 140 -24 q 120 -31 132 -27 q 96 -35 108 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 134 679 q 139 710 136 701 q 155 721 142 718 q 281 746 216 733 q 408 778 347 758 q 415 776 414 778 q 416 771 416 774 q 415 767 416 770 q 413 755 415 764 q 409 726 412 745 q 400 672 406 707 q 488 716 447 699 q 565 742 529 732 q 633 754 602 751 q 693 757 665 757 q 832 699 789 757 q 876 525 876 641 q 875 491 876 509 q 872 456 874 474 l 841 164 q 837 112 838 136 q 836 56 836 87 q 837 46 836 50 q 837 40 837 43 q 832 31 837 34 q 809 22 827 27 l 644 -24 m 547 1071 q 571 1046 560 1053 q 597 1038 583 1038 q 628 1049 618 1038 q 641 1075 637 1061 q 646 1100 644 1088 q 654 1111 648 1111 q 666 1111 656 1111 q 690 1112 675 1112 q 721 1114 704 1113 q 753 1115 738 1114 q 779 1117 768 1116 q 793 1117 790 1117 q 804 1114 798 1117 q 810 1104 810 1112 q 793 1005 810 1055 q 744 915 776 956 q 669 849 713 874 q 571 823 625 823 q 528 827 549 823 q 485 843 507 831 q 442 874 464 854 q 398 926 420 894 q 374 947 387 943 q 344 951 361 951 q 317 945 328 951 q 301 927 307 938 q 293 903 295 916 q 290 877 290 890 q 285 866 290 871 q 271 861 279 861 q 236 861 249 861 q 211 860 222 861 q 188 860 200 860 q 155 859 175 859 q 141 862 147 859 q 134 871 134 865 q 153 987 134 935 q 202 1077 171 1040 q 276 1135 234 1114 q 366 1156 318 1156 q 417 1154 393 1156 q 462 1143 440 1152 q 505 1118 484 1135 q 547 1071 526 1101 z " - }, - "ò": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 416 968 q 389 1015 400 996 q 369 1051 378 1034 q 349 1087 359 1068 q 323 1135 338 1107 q 318 1149 319 1143 q 316 1162 317 1156 q 319 1174 316 1169 q 330 1181 323 1178 q 382 1210 355 1196 q 437 1240 410 1225 q 493 1272 465 1255 q 545 1305 520 1288 q 555 1309 552 1309 q 560 1303 559 1309 l 636 907 q 639 892 637 898 q 640 881 640 886 q 638 869 640 875 q 629 861 636 864 q 603 849 615 854 q 579 838 591 844 q 554 825 567 832 q 524 808 541 819 q 517 806 522 806 q 503 815 511 806 q 485 843 496 824 q 457 893 473 863 q 416 968 440 924 z " - }, - "ó": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 508 944 q 458 876 478 903 q 425 833 438 849 q 405 812 412 818 q 393 806 397 806 q 386 808 389 806 q 360 825 372 818 q 338 838 349 832 q 318 849 328 844 q 294 861 307 854 q 285 875 285 866 q 287 888 286 880 q 293 907 289 895 l 418 1271 q 425 1284 422 1280 q 433 1287 429 1287 q 439 1285 436 1287 q 446 1282 443 1284 q 552 1220 499 1246 q 656 1168 604 1195 q 668 1149 668 1160 q 656 1122 668 1139 q 613 1071 630 1091 q 580 1033 595 1051 q 549 994 565 1015 q 508 944 532 974 z " - }, - "ô": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 672 1127 q 697 1095 687 1109 q 716 1069 708 1080 q 731 1047 724 1057 q 746 1024 738 1036 q 759 1006 750 1018 q 778 980 768 994 q 794 952 787 966 q 801 930 801 939 q 788 911 801 920 q 756 892 774 901 q 719 876 738 884 q 690 865 701 869 q 669 856 680 861 q 647 844 658 850 q 626 835 635 839 q 612 831 617 831 q 601 837 607 831 q 587 858 595 843 l 499 1044 q 417 941 458 991 q 334 838 376 890 q 326 833 332 833 q 310 839 322 833 q 280 852 297 844 q 245 869 263 860 q 214 884 228 878 q 196 892 207 887 q 174 903 184 897 q 157 913 164 908 q 150 924 150 919 q 156 939 150 930 q 176 961 162 948 l 278 1076 q 353 1160 317 1119 q 427 1243 390 1200 q 445 1254 436 1253 q 462 1255 454 1255 l 565 1255 q 581 1253 573 1255 q 595 1242 589 1252 q 604 1229 595 1241 q 623 1199 612 1217 q 648 1162 635 1182 q 672 1127 661 1143 z " - }, - "õ": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 553 1071 q 577 1046 566 1053 q 603 1038 588 1038 q 633 1049 624 1038 q 646 1075 642 1061 q 652 1100 650 1088 q 660 1111 654 1111 q 671 1111 661 1111 q 695 1112 681 1112 q 726 1114 709 1113 q 758 1115 743 1114 q 784 1117 773 1116 q 798 1117 795 1117 q 810 1114 804 1117 q 816 1104 816 1112 q 799 1005 816 1055 q 750 915 781 956 q 674 849 718 874 q 576 823 630 823 q 533 827 555 823 q 491 843 512 831 q 448 874 469 854 q 404 926 426 894 q 379 947 392 943 q 349 951 367 951 q 323 945 333 951 q 307 927 313 938 q 298 903 300 916 q 296 877 296 890 q 290 866 296 871 q 276 861 285 861 q 241 861 254 861 q 217 860 228 861 q 193 860 205 860 q 160 859 180 859 q 146 862 153 859 q 140 871 140 865 q 158 987 140 935 q 208 1077 176 1040 q 281 1135 239 1114 q 372 1156 323 1156 q 422 1154 399 1156 q 468 1143 446 1152 q 510 1118 490 1135 q 553 1071 531 1101 z " - }, - "ö": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 134 833 q 137 889 136 871 q 138 913 138 906 q 138 924 138 921 q 139 936 138 926 q 140 966 139 945 q 143 1031 141 987 q 148 1060 144 1052 q 161 1069 151 1067 q 274 1069 214 1069 q 384 1070 333 1070 q 393 1066 391 1070 q 396 1053 396 1063 l 379 864 q 374 837 377 844 q 361 827 372 829 q 255 826 310 827 q 141 826 201 826 q 136 827 138 826 q 134 831 134 827 l 134 833 m 559 831 q 562 895 561 874 q 563 924 563 916 q 563 936 564 933 q 563 946 563 939 q 565 972 564 954 q 568 1031 566 991 q 572 1058 570 1050 q 585 1067 575 1066 q 698 1068 639 1067 q 808 1069 757 1068 q 817 1066 813 1069 q 821 1055 821 1063 l 804 863 q 799 836 802 843 q 785 827 797 828 q 678 825 733 826 q 562 825 623 825 q 559 825 560 825 q 559 829 559 825 l 559 831 z " - }, - "÷": { - "ha": 924, - "x_min": 65, - "x_max": 928, - "o": "m 384 635 q 386 686 385 667 q 387 715 387 705 q 387 729 387 725 q 387 737 387 733 q 388 746 387 741 q 389 764 388 751 q 391 799 389 777 q 394 857 392 821 q 398 888 395 880 q 414 899 401 897 q 538 899 473 899 q 661 900 604 899 q 671 897 667 900 q 675 884 675 893 l 656 671 q 651 640 654 648 q 636 630 649 631 q 518 629 578 629 q 391 628 457 628 q 386 629 387 628 q 384 633 384 629 l 384 635 m 370 -26 q 372 25 372 6 q 373 54 373 43 q 374 68 374 64 q 374 76 374 72 q 374 85 374 79 q 375 103 374 90 q 377 137 376 115 q 380 196 378 159 q 385 227 382 218 q 400 237 388 235 q 525 238 460 237 q 648 239 590 238 q 658 235 654 239 q 662 222 662 232 l 643 9 q 638 -21 640 -13 q 623 -31 635 -30 q 504 -33 565 -32 q 378 -33 444 -33 q 372 -33 374 -33 q 370 -28 370 -32 l 370 -26 m 391 553 q 568 555 484 554 q 720 558 652 557 q 836 559 788 559 q 904 560 884 560 q 908 560 905 560 q 917 556 912 559 q 925 547 921 553 q 928 528 928 541 q 923 502 927 519 q 915 464 920 486 q 906 417 911 442 q 896 366 901 392 q 889 349 894 355 q 864 343 884 343 q 722 341 793 342 q 582 340 650 340 q 449 338 513 339 q 329 337 385 338 q 228 337 273 337 q 150 336 182 336 q 87 340 109 336 q 65 357 65 345 q 71 379 65 363 q 85 415 76 395 q 106 459 94 436 q 130 500 117 481 q 153 532 142 519 q 174 544 165 544 l 391 553 z " - }, - "ø": { - "ha": 888, - "x_min": 68, - "x_max": 886, - "o": "m 394 -39 q 379 -38 387 -39 q 365 -37 372 -38 l 318 -128 q 310 -147 313 -138 q 300 -156 307 -155 q 284 -150 294 -156 l 228 -115 q 215 -109 224 -113 q 197 -99 206 -104 q 182 -86 189 -93 q 175 -71 175 -79 q 179 -57 175 -64 l 217 15 q 153 76 180 41 q 106 153 125 111 q 78 242 87 195 q 68 338 68 290 q 105 507 68 431 q 204 637 142 583 q 349 721 267 691 q 524 750 432 750 q 592 744 559 750 l 629 817 q 644 842 638 835 q 655 850 649 849 q 661 849 659 850 q 690 830 675 840 q 720 811 705 821 q 749 794 734 802 q 779 781 764 786 q 784 778 782 780 q 787 773 787 777 q 786 771 787 772 q 786 770 786 771 l 741 683 q 801 627 774 659 q 847 558 828 595 q 876 479 866 522 q 886 392 886 437 q 868 267 886 325 q 818 160 850 208 q 741 76 785 113 q 641 13 696 39 q 524 -25 586 -12 q 394 -39 461 -39 m 330 346 q 332 300 330 323 q 342 256 335 278 q 381 333 360 293 q 424 413 402 373 q 466 493 445 454 q 505 569 487 533 q 474 572 488 572 q 406 548 433 572 q 361 489 378 524 q 337 415 345 454 q 330 346 330 376 m 635 386 q 624 459 635 422 l 460 144 q 467 143 463 143 q 473 143 470 143 q 532 155 507 143 q 575 186 557 167 q 604 231 593 206 q 623 283 616 256 q 633 337 630 311 q 635 386 635 363 z " - }, - "ù": { - "ha": 868, - "x_min": 79, - "x_max": 862, - "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 406 968 q 379 1015 390 996 q 359 1051 368 1034 q 338 1087 349 1068 q 313 1135 328 1107 q 308 1149 309 1143 q 306 1162 307 1156 q 309 1174 306 1169 q 319 1181 313 1178 q 372 1210 345 1196 q 427 1240 399 1225 q 483 1272 455 1255 q 535 1305 510 1288 q 545 1309 542 1309 q 550 1303 549 1309 l 626 907 q 629 892 627 898 q 630 881 630 886 q 628 869 630 875 q 619 861 626 864 q 593 849 605 854 q 569 838 581 844 q 544 825 557 832 q 514 808 530 819 q 507 806 511 806 q 493 815 500 806 q 474 843 486 824 q 447 893 463 863 q 406 968 430 924 z " - }, - "ú": { - "ha": 868, - "x_min": 79, - "x_max": 862, - "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 498 944 q 448 876 468 903 q 415 833 428 849 q 395 812 402 818 q 382 806 387 806 q 376 808 378 806 q 350 825 361 818 q 328 838 338 832 q 308 849 318 844 q 284 861 297 854 q 275 875 275 866 q 277 888 275 880 q 283 907 279 895 l 408 1271 q 415 1284 412 1280 q 422 1287 418 1287 q 429 1285 426 1287 q 436 1282 433 1284 q 542 1220 489 1246 q 646 1168 594 1195 q 658 1149 658 1160 q 646 1122 658 1139 q 603 1071 620 1091 q 570 1033 585 1051 q 538 994 555 1015 q 498 944 522 974 z " - }, - "û": { - "ha": 868, - "x_min": 79, - "x_max": 862, - "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 664 1127 q 689 1095 679 1109 q 708 1069 700 1080 q 723 1047 716 1057 q 738 1024 730 1036 q 751 1006 742 1018 q 769 980 760 994 q 786 952 779 966 q 793 930 793 939 q 780 911 793 920 q 748 892 766 901 q 711 876 730 884 q 682 865 692 869 q 661 856 672 861 q 638 844 650 850 q 618 835 627 839 q 604 831 609 831 q 593 837 599 831 q 578 858 587 843 l 491 1044 q 409 941 450 991 q 326 838 368 890 q 317 833 323 833 q 301 839 314 833 q 272 852 289 844 q 237 869 255 860 q 206 884 220 878 q 188 892 199 887 q 166 903 176 897 q 149 913 156 908 q 142 924 142 919 q 148 939 142 930 q 168 961 154 948 l 270 1076 q 345 1160 309 1119 q 418 1243 382 1200 q 437 1254 428 1253 q 454 1255 446 1255 l 557 1255 q 573 1253 565 1255 q 587 1242 581 1252 q 595 1229 587 1241 q 615 1199 604 1217 q 640 1162 627 1182 q 664 1127 653 1143 z " - }, - "ü": { - "ha": 868, - "x_min": 79, - "x_max": 862, - "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 124 833 q 127 889 126 871 q 128 913 127 906 q 128 924 128 921 q 129 936 128 926 q 130 966 129 945 q 133 1031 131 987 q 138 1060 134 1052 q 151 1069 141 1067 q 263 1069 204 1069 q 374 1070 323 1070 q 383 1066 380 1070 q 386 1053 386 1063 l 369 864 q 364 837 367 844 q 351 827 361 829 q 245 826 300 827 q 131 826 191 826 q 126 827 127 826 q 124 831 124 827 l 124 833 m 549 831 q 552 895 551 874 q 553 924 553 916 q 553 936 553 933 q 553 946 553 939 q 554 972 553 954 q 558 1031 555 991 q 562 1058 559 1050 q 575 1067 565 1066 q 688 1068 629 1067 q 798 1069 747 1068 q 807 1066 803 1069 q 810 1055 810 1063 l 794 863 q 789 836 791 843 q 775 827 787 828 q 668 825 723 826 q 552 825 612 825 q 549 825 550 825 q 549 829 549 825 l 549 831 z " - }, - "ý": { - "ha": 763, - "x_min": 77, - "x_max": 807, - "o": "m 370 -309 q 367 -314 369 -312 q 361 -315 366 -315 q 355 -315 357 -315 q 309 -300 331 -306 q 266 -289 288 -294 q 222 -279 245 -283 q 175 -269 200 -275 q 164 -265 168 -268 q 161 -254 161 -262 q 163 -244 161 -252 q 175 -213 165 -237 q 204 -143 184 -189 q 258 -20 224 -97 q 235 62 248 14 q 208 165 222 109 q 178 284 193 222 q 146 411 162 347 q 114 538 130 475 q 83 658 98 601 q 78 676 79 669 q 77 688 77 683 q 88 700 77 697 q 198 724 141 711 q 306 756 255 736 q 312 757 308 757 q 321 750 321 757 l 404 294 q 415 324 407 302 q 433 375 422 345 q 456 441 444 405 q 483 514 469 477 q 510 588 496 551 q 534 657 523 625 q 554 713 546 689 q 568 750 563 738 q 578 757 570 757 q 581 756 580 757 q 583 756 581 756 q 688 724 634 736 q 794 700 741 711 q 807 685 807 697 q 799 658 807 676 l 519 26 l 370 -309 m 460 944 q 411 876 431 903 q 378 833 391 849 q 357 812 365 818 q 345 806 350 806 q 338 808 341 806 q 313 825 324 818 q 291 838 301 832 q 270 849 281 844 q 247 861 260 854 q 237 875 237 866 q 240 888 238 880 q 245 907 241 895 l 371 1271 q 378 1284 374 1280 q 385 1287 381 1287 q 392 1285 389 1287 q 399 1282 395 1284 q 504 1220 452 1246 q 608 1168 557 1195 q 621 1149 621 1160 q 609 1122 621 1139 q 565 1071 583 1091 q 533 1033 548 1051 q 501 994 517 1015 q 460 944 485 974 z " - }, - "þ": { - "ha": 902, - "x_min": 53, - "x_max": 898, - "o": "m 388 471 q 381 365 384 406 q 376 299 378 324 q 372 259 374 273 q 370 231 371 244 q 416 165 386 191 q 490 140 447 140 q 555 163 527 140 q 602 224 583 186 q 630 307 621 261 q 640 399 640 353 q 633 468 640 436 q 614 523 627 500 q 582 560 601 547 q 536 573 562 573 q 493 565 514 573 q 452 543 471 556 q 416 513 432 530 q 390 481 400 496 l 388 471 m 406 665 q 523 727 463 703 q 651 751 583 751 q 761 725 715 751 q 838 656 808 699 q 883 555 869 612 q 898 435 898 498 q 887 323 898 380 q 855 215 876 267 q 803 116 834 162 q 731 36 772 70 q 642 -18 691 1 q 534 -38 592 -38 q 437 -18 484 -38 q 350 35 391 3 q 348 11 350 32 q 344 -41 347 -11 q 338 -107 341 -72 q 332 -172 334 -142 q 327 -224 329 -203 q 326 -249 326 -245 q 326 -258 326 -254 q 326 -265 326 -262 q 321 -274 326 -271 q 298 -283 316 -278 l 120 -328 q 100 -335 113 -330 q 77 -339 88 -339 q 60 -334 67 -339 q 53 -318 53 -330 l 134 658 q 136 679 134 661 q 140 722 138 696 q 145 775 142 747 q 151 829 149 804 q 155 871 153 854 q 157 892 157 889 q 156 902 157 898 q 155 908 155 905 q 160 918 155 914 q 184 926 165 922 l 362 972 q 382 978 370 974 q 406 983 394 982 q 422 978 415 983 q 429 962 429 973 l 429 958 l 406 665 z " - }, - "ÿ": { - "ha": 763, - "x_min": 77, - "x_max": 807, - "o": "m 370 -309 q 367 -314 369 -312 q 361 -315 366 -315 q 355 -315 357 -315 q 309 -300 331 -306 q 266 -289 288 -294 q 222 -279 245 -283 q 175 -269 200 -275 q 164 -265 168 -268 q 161 -254 161 -262 q 163 -244 161 -252 q 175 -213 165 -237 q 204 -143 184 -189 q 258 -20 224 -97 q 235 62 248 14 q 208 165 222 109 q 178 284 193 222 q 146 411 162 347 q 114 538 130 475 q 83 658 98 601 q 78 676 79 669 q 77 688 77 683 q 88 700 77 697 q 198 724 141 711 q 306 756 255 736 q 312 757 308 757 q 321 750 321 757 l 404 294 q 415 324 407 302 q 433 375 422 345 q 456 441 444 405 q 483 514 469 477 q 510 588 496 551 q 534 657 523 625 q 554 713 546 689 q 568 750 563 738 q 578 757 570 757 q 581 756 580 757 q 583 756 581 756 q 688 724 634 736 q 794 700 741 711 q 807 685 807 697 q 799 658 807 676 l 519 26 l 370 -309 m 87 833 q 90 889 89 871 q 91 913 90 906 q 91 924 91 921 q 91 936 91 926 q 93 966 92 945 q 96 1031 94 987 q 100 1060 97 1052 q 114 1069 104 1067 q 226 1069 167 1069 q 336 1070 286 1070 q 346 1066 343 1070 q 349 1053 349 1063 l 332 864 q 327 837 330 844 q 314 827 324 829 q 208 826 262 827 q 94 826 153 826 q 89 827 90 826 q 87 831 87 827 l 87 833 m 511 831 q 514 895 513 874 q 516 924 515 916 q 516 936 516 933 q 516 946 515 939 q 517 972 516 954 q 521 1031 518 991 q 525 1058 522 1050 q 538 1067 528 1066 q 650 1068 591 1067 q 760 1069 709 1068 q 769 1066 766 1069 q 773 1055 773 1063 l 757 863 q 752 836 754 843 q 738 827 749 828 q 630 825 686 826 q 515 825 575 825 q 512 825 513 825 q 511 829 511 825 l 511 831 z " - }, - "Ğ": { - "ha": 992, - "x_min": 85, - "x_max": 1027, - "o": "m 85 438 q 103 588 85 516 q 154 721 121 659 q 234 834 187 783 q 340 921 281 884 q 466 977 398 957 q 610 996 534 996 q 714 988 669 996 q 793 969 760 981 q 849 943 827 957 q 887 916 872 928 q 886 911 886 916 q 888 873 886 901 q 892 813 890 846 q 896 746 895 780 q 898 686 898 711 q 895 677 898 682 q 882 672 892 672 q 867 674 876 672 q 831 693 852 678 q 780 723 809 707 q 716 752 751 739 q 638 764 680 764 q 537 741 583 764 q 460 676 492 718 q 410 577 428 634 q 393 452 393 519 q 404 342 393 393 q 436 253 414 290 q 491 193 458 215 q 568 172 524 172 q 665 190 610 172 l 680 286 l 551 286 q 576 414 566 368 q 597 485 587 461 q 616 515 606 509 q 640 521 627 521 l 997 521 q 1020 519 1013 521 q 1027 505 1027 517 q 1025 490 1027 498 q 1022 469 1024 481 l 988 355 q 978 322 982 334 q 968 304 974 310 q 951 297 962 298 q 921 296 941 296 q 908 288 910 296 q 905 269 906 279 q 897 210 901 239 q 889 155 892 180 q 881 110 885 130 q 873 82 877 91 q 789 31 827 53 q 714 -6 751 9 q 635 -28 677 -20 q 541 -35 594 -35 q 361 -1 445 -35 q 217 97 278 34 q 120 246 155 159 q 85 438 85 333 m 633 1203 q 635 1211 633 1207 q 644 1216 637 1214 q 662 1220 650 1219 q 694 1221 674 1221 q 726 1220 714 1221 q 745 1217 739 1219 q 753 1212 751 1215 q 755 1204 755 1209 q 740 1140 755 1172 q 696 1083 724 1108 q 630 1043 668 1059 q 548 1027 592 1027 q 479 1036 512 1027 q 422 1060 447 1044 q 384 1098 398 1076 q 369 1151 369 1121 q 370 1164 369 1157 q 372 1180 371 1171 q 376 1197 374 1190 q 385 1209 378 1204 q 405 1216 391 1213 q 444 1218 418 1218 q 469 1217 460 1218 q 483 1214 478 1216 q 490 1210 488 1213 q 491 1204 491 1207 q 490 1198 491 1203 q 490 1187 490 1193 q 492 1168 490 1178 q 502 1151 495 1159 q 522 1138 509 1143 q 552 1133 534 1133 q 588 1139 572 1133 q 613 1154 603 1145 q 628 1174 623 1163 q 633 1194 633 1184 l 633 1203 l 633 1203 z " - }, - "ğ": { - "ha": 878, - "x_min": 69, - "x_max": 871, - "o": "m 576 484 q 557 515 569 499 q 530 545 545 532 q 496 567 514 559 q 457 576 477 576 q 405 553 429 576 q 362 491 380 530 q 333 404 344 453 q 323 302 323 355 q 329 240 323 269 q 347 190 334 212 q 378 155 359 168 q 425 142 397 142 q 499 168 465 142 q 557 234 533 193 q 559 268 557 248 q 562 316 560 288 q 567 382 564 344 q 575 473 570 420 l 576 484 m 800 74 q 770 -52 793 7 q 710 -158 746 -110 q 627 -245 673 -207 q 529 -310 581 -283 q 422 -350 477 -336 q 313 -364 367 -364 q 255 -362 285 -364 q 197 -354 225 -360 q 142 -338 168 -349 q 96 -311 117 -328 l 96 -311 q 101 -287 96 -307 q 114 -239 106 -267 q 129 -182 121 -212 q 142 -132 136 -153 q 147 -119 144 -123 q 153 -116 150 -116 q 158 -117 157 -116 q 195 -138 178 -130 q 232 -152 212 -146 q 274 -159 251 -157 q 328 -161 297 -161 q 412 -142 375 -161 q 475 -95 448 -124 q 517 -31 501 -66 q 539 38 533 4 q 440 -15 490 5 q 339 -35 390 -35 q 218 -7 269 -35 q 134 68 168 21 q 85 177 101 116 q 69 306 69 239 q 79 413 69 359 q 108 517 89 467 q 156 611 127 567 q 222 687 184 654 q 304 738 259 720 q 404 757 350 757 q 512 731 462 757 q 602 667 562 705 q 604 687 604 680 q 608 698 605 694 q 617 704 610 702 q 635 709 623 706 q 663 714 643 710 q 709 725 682 719 q 769 738 736 731 q 835 752 802 745 q 850 754 843 754 q 871 727 871 754 q 871 721 871 724 q 870 714 871 718 l 800 74 m 534 991 q 536 998 534 995 q 545 1004 538 1002 q 563 1008 551 1006 q 595 1009 575 1009 q 627 1008 615 1009 q 646 1005 640 1007 q 654 1000 652 1003 q 656 992 656 997 q 641 928 656 960 q 597 871 625 896 q 531 831 569 846 q 449 815 493 815 q 380 823 413 815 q 323 847 348 831 q 284 886 299 863 q 270 939 270 909 q 271 952 270 945 q 273 968 272 959 q 277 985 275 978 q 286 997 279 992 q 306 1003 292 1001 q 345 1006 319 1006 q 370 1005 361 1006 q 384 1002 379 1004 q 391 998 389 1000 q 392 992 392 995 q 391 986 392 991 q 391 975 391 981 q 393 956 391 966 q 403 939 396 947 q 422 926 410 931 q 453 921 435 921 q 489 927 473 921 q 514 942 504 932 q 529 961 524 951 q 534 982 534 972 l 534 991 l 534 991 z " - }, - "İ": { - "ha": 453, - "x_min": 94, - "x_max": 450, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 123 1162 q 125 1212 124 1194 q 126 1241 125 1231 q 126 1255 126 1251 q 126 1263 126 1259 q 126 1272 126 1267 q 127 1290 127 1278 q 130 1325 128 1303 q 133 1383 131 1347 q 137 1414 134 1406 q 153 1425 140 1423 q 277 1425 212 1425 q 400 1426 342 1426 q 410 1423 406 1426 q 414 1410 414 1419 l 395 1197 q 390 1166 393 1175 q 375 1156 388 1158 q 257 1155 317 1156 q 130 1154 196 1154 q 124 1155 126 1154 q 123 1159 123 1156 l 123 1162 z " - }, - "ı": { - "ha": 414, - "x_min": 73, - "x_max": 408, - "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 z " - }, - "Ł": { - "ha": 694, - "x_min": 57, - "x_max": 719, - "o": "m 454 972 q 452 931 454 956 q 447 881 450 907 q 442 826 445 854 q 436 776 439 799 q 433 736 434 753 q 431 715 431 720 q 426 637 429 673 q 419 566 422 601 q 412 493 416 530 q 404 410 408 455 q 395 309 400 364 q 385 181 390 253 l 665 210 q 696 212 684 212 q 715 207 711 212 q 719 192 719 202 q 718 188 719 191 q 715 179 718 186 q 708 159 713 172 q 696 123 704 146 l 682 79 q 668 40 674 57 q 652 10 661 22 q 628 -10 642 -3 q 591 -20 614 -18 q 553 -22 577 -21 q 496 -24 528 -23 q 428 -26 465 -25 q 352 -30 391 -28 q 275 -32 314 -31 q 202 -33 237 -32 q 138 -34 168 -33 q 90 -35 109 -35 q 65 -33 73 -35 q 57 -24 57 -30 q 62 -2 57 -16 q 74 29 66 12 q 91 65 81 46 q 109 101 100 83 l 127 343 q 138 469 132 405 q 147 592 143 532 l 159 772 q 164 864 163 836 q 165 896 165 893 q 168 916 167 908 q 170 930 168 924 q 175 938 172 935 q 185 942 178 941 l 423 998 q 441 1001 431 1001 q 452 997 449 1001 q 455 980 455 992 q 455 976 455 979 q 454 972 454 974 m 454 573 q 521 575 488 574 q 581 577 554 576 q 628 579 608 578 q 656 581 648 581 q 669 576 662 581 q 675 561 675 572 q 669 538 675 555 q 652 499 663 522 q 629 447 642 475 q 603 387 616 418 q 598 376 600 380 q 592 369 595 372 q 582 365 588 366 q 566 363 576 363 q 444 361 505 362 q 329 359 382 360 q 231 357 275 358 q 162 357 188 357 q 101 360 121 357 q 81 376 81 364 q 90 394 81 379 q 112 430 98 410 q 143 474 125 451 q 177 517 160 498 q 210 550 194 537 q 235 564 225 564 l 454 573 z " - }, - "ł": { - "ha": 585, - "x_min": 37, - "x_max": 631, - "o": "m 203 574 q 217 758 212 667 q 228 944 222 848 q 232 975 229 966 q 248 986 235 983 q 374 1009 311 998 q 501 1041 437 1021 q 507 1042 503 1042 q 515 1035 515 1042 l 427 66 l 427 55 q 422 45 427 49 q 399 37 417 41 l 222 -28 q 202 -36 214 -32 q 178 -39 190 -39 q 162 -35 169 -39 q 155 -18 155 -30 l 155 -14 q 165 120 160 54 q 176 255 170 185 q 189 403 182 325 q 203 574 195 481 m 410 573 q 477 575 444 574 q 537 577 510 576 q 584 579 564 578 q 612 581 604 581 q 625 576 618 581 q 631 561 631 572 q 625 538 631 555 q 608 499 618 522 q 585 447 598 475 q 559 387 572 418 q 554 376 556 380 q 548 369 551 372 q 538 365 544 366 q 522 363 532 363 q 399 361 460 362 q 284 359 338 360 q 187 357 231 358 q 118 357 144 357 q 57 360 77 357 q 37 376 37 364 q 46 394 37 379 q 68 430 54 410 q 99 474 81 451 q 133 517 116 498 q 165 550 150 537 q 191 564 181 564 l 410 573 z " - }, - "Œ": { - "ha": 1391, - "x_min": 86, - "x_max": 1438, - "o": "m 517 -35 q 336 5 416 -35 q 201 111 256 44 q 116 266 145 178 q 86 451 86 354 q 105 601 86 530 q 160 730 125 671 q 243 836 195 789 q 351 915 292 883 q 477 965 410 947 q 616 982 545 982 q 737 962 682 982 q 840 907 793 942 l 842 946 q 980 956 914 951 q 1106 964 1046 960 l 1419 983 q 1422 983 1419 983 q 1429 981 1426 983 q 1435 975 1432 979 q 1438 964 1438 971 q 1429 929 1438 960 q 1402 852 1419 898 l 1372 774 q 1361 756 1367 762 q 1335 749 1355 750 q 1239 745 1293 748 q 1116 739 1186 742 l 1097 573 q 1165 576 1132 574 q 1225 578 1198 577 q 1272 580 1252 579 q 1300 581 1292 581 q 1312 576 1305 581 q 1319 561 1319 572 q 1313 539 1319 555 q 1296 499 1306 523 q 1273 447 1286 476 q 1246 387 1260 418 q 1239 373 1242 377 q 1228 366 1236 368 q 1207 364 1221 364 q 1171 363 1194 363 l 1076 361 l 1058 169 l 1379 169 l 1379 141 q 1368 122 1378 140 q 1343 82 1358 105 q 1315 36 1329 60 q 1290 -1 1300 13 q 1274 -21 1283 -14 q 1255 -31 1265 -28 q 1232 -35 1244 -35 q 1204 -36 1219 -36 q 1095 -33 1152 -36 q 982 -26 1038 -31 q 873 -17 926 -22 q 775 -6 821 -12 q 767 -1 770 -5 q 763 10 763 4 q 764 16 763 11 l 772 56 q 651 -12 715 11 q 517 -35 587 -35 m 385 463 q 396 359 385 411 q 433 267 408 308 q 500 199 458 225 q 602 174 541 174 q 677 193 645 177 q 734 235 710 210 q 773 294 758 261 q 799 363 789 327 q 811 438 808 400 q 815 513 815 476 q 802 614 815 565 q 763 700 789 663 q 696 761 736 738 q 603 783 656 783 q 529 768 562 783 q 473 726 497 752 q 432 667 449 701 q 405 598 415 634 q 390 527 395 562 q 385 463 385 492 z " - }, - "œ": { - "ha": 1354, - "x_min": 69, - "x_max": 1358, - "o": "m 395 -39 q 254 -7 315 -39 q 152 77 193 24 q 90 198 111 130 q 69 338 69 266 q 105 507 69 431 q 201 637 140 583 q 341 721 261 691 q 511 750 422 750 q 648 720 585 750 q 758 636 710 689 q 889 730 815 696 q 1050 765 963 765 q 1167 742 1112 765 q 1265 679 1223 720 q 1333 581 1308 637 q 1358 457 1358 524 q 1344 358 1358 408 q 1335 325 1344 338 q 1304 305 1326 312 q 1247 295 1283 298 q 1159 292 1212 292 q 1023 288 1092 290 q 886 281 954 286 q 903 213 888 241 q 939 166 917 184 q 988 138 960 147 q 1044 130 1015 130 q 1109 137 1078 130 q 1169 155 1140 144 q 1224 181 1198 167 q 1274 208 1251 195 q 1276 209 1275 208 q 1277 209 1276 209 q 1284 195 1282 209 q 1288 161 1287 181 q 1290 120 1289 142 q 1290 82 1290 98 q 1289 46 1290 61 q 1284 27 1287 31 q 1234 -7 1265 9 q 1168 -36 1204 -24 q 1095 -55 1133 -47 q 1023 -62 1057 -62 q 930 -52 973 -62 q 851 -24 888 -43 q 782 20 814 -6 q 721 81 749 47 q 658 30 689 52 q 590 -8 627 7 q 506 -31 553 -23 q 395 -39 458 -39 m 330 346 q 338 273 330 309 q 364 208 346 237 q 411 161 382 179 q 484 143 440 143 q 533 157 512 144 q 570 190 555 170 q 596 235 586 210 q 612 287 606 260 q 620 339 618 313 q 623 386 623 365 q 613 455 623 421 q 585 515 604 489 q 538 556 566 541 q 475 572 511 572 q 406 548 434 572 q 362 489 378 524 q 338 415 345 454 q 330 346 330 376 m 1050 576 q 992 566 1019 576 q 944 536 966 555 q 907 490 923 517 q 880 430 890 463 l 1165 451 q 1165 456 1165 454 q 1166 462 1166 459 q 1155 512 1166 490 q 1127 548 1144 534 q 1090 569 1111 562 q 1050 576 1069 576 z " - }, - "Ş": { - "ha": 746, - "x_min": 106, - "x_max": 732, - "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 m 562 -262 q 539 -320 556 -294 q 498 -365 522 -346 q 445 -394 475 -383 q 385 -404 416 -404 q 325 -400 356 -404 q 269 -382 293 -396 l 271 -383 q 270 -378 270 -382 q 271 -357 270 -370 q 274 -330 272 -345 q 278 -302 275 -315 q 283 -279 280 -288 l 286 -279 q 290 -281 290 -279 l 290 -281 q 310 -289 300 -286 q 330 -294 319 -292 q 353 -296 340 -296 q 382 -297 366 -297 q 427 -280 411 -297 q 442 -241 442 -263 q 430 -208 442 -221 q 395 -195 417 -195 q 332 -192 358 -195 q 295 -189 305 -189 q 289 -186 290 -189 q 288 -180 288 -184 q 295 -159 291 -174 q 304 -126 300 -144 q 314 -89 309 -109 q 322 -53 318 -69 q 328 -25 326 -36 q 330 -12 330 -14 l 343 -12 q 373 -12 355 -12 q 409 -12 391 -12 l 452 -12 l 419 -108 q 440 -105 431 -106 q 459 -104 450 -104 q 514 -116 494 -104 q 546 -144 535 -127 q 561 -184 557 -162 q 565 -230 565 -207 q 564 -246 565 -238 q 562 -262 564 -254 z " - }, - "ş": { - "ha": 587, - "x_min": 85, - "x_max": 570, - "o": "m 86 187 q 86 188 86 188 q 85 189 85 189 q 95 198 85 198 q 106 193 101 198 q 168 151 133 168 q 243 135 203 135 q 269 137 254 135 q 296 145 283 140 q 317 160 309 151 q 326 182 326 169 q 318 210 326 197 q 298 231 311 222 q 275 247 292 235 q 238 273 258 259 q 202 298 219 286 q 178 316 184 311 q 129 363 147 339 q 102 412 111 387 q 90 465 92 437 q 87 524 87 493 q 112 614 87 572 q 178 688 137 656 q 271 738 219 720 q 378 757 323 757 q 466 743 422 757 q 547 697 509 730 q 551 613 550 654 q 555 526 553 572 q 551 514 555 517 q 542 511 547 511 q 534 515 537 511 q 502 544 518 530 q 468 570 486 559 q 429 588 450 581 q 386 595 409 595 q 357 593 372 595 q 332 584 343 591 q 313 567 320 578 q 306 539 306 556 q 311 505 306 519 q 333 477 315 491 l 459 392 q 515 346 494 368 q 549 300 536 323 q 565 256 561 278 q 570 212 570 234 q 542 105 570 151 q 469 27 513 58 q 367 -19 424 -3 q 254 -35 311 -35 q 170 -26 210 -35 q 95 2 130 -17 l 86 187 m 471 -262 q 448 -320 465 -294 q 407 -365 431 -346 q 354 -394 383 -383 q 293 -404 324 -404 q 233 -400 264 -404 q 178 -382 201 -396 l 179 -383 q 178 -378 178 -382 q 179 -357 178 -370 q 182 -330 180 -345 q 186 -302 184 -315 q 191 -279 189 -288 l 195 -279 q 199 -281 199 -279 l 198 -281 q 218 -289 209 -286 q 238 -294 228 -292 q 261 -296 249 -296 q 291 -297 274 -297 q 335 -280 319 -297 q 351 -241 351 -263 q 338 -208 351 -221 q 304 -195 326 -195 q 240 -192 267 -195 q 203 -189 214 -189 q 197 -186 198 -189 q 196 -180 196 -184 q 204 -159 199 -174 q 213 -126 208 -144 q 222 -89 218 -109 q 230 -53 227 -69 q 236 -25 234 -36 q 239 -12 239 -14 l 252 -12 q 281 -12 263 -12 q 317 -12 300 -12 l 360 -12 l 328 -108 q 349 -105 339 -106 q 368 -104 359 -104 q 423 -116 402 -104 q 455 -144 444 -127 q 470 -184 466 -162 q 473 -230 473 -207 q 473 -246 473 -238 q 471 -262 472 -254 z " - }, - "Š": { - "ha": 745, - "x_min": 92, - "x_max": 743, - "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 m 222 1194 q 186 1241 200 1223 q 161 1277 173 1260 q 137 1312 150 1293 q 104 1362 125 1331 q 95 1379 98 1371 q 92 1392 92 1386 q 114 1414 92 1401 q 166 1440 136 1427 q 226 1465 196 1453 q 273 1485 256 1476 q 280 1487 277 1487 q 290 1482 286 1487 q 301 1466 294 1477 l 400 1289 l 564 1482 q 570 1486 566 1486 q 582 1483 574 1485 q 605 1472 589 1480 q 671 1439 640 1453 q 736 1408 702 1426 q 743 1398 743 1405 q 737 1383 743 1392 q 718 1362 732 1374 q 590 1219 653 1290 q 465 1078 526 1147 q 450 1068 458 1070 q 437 1067 443 1067 l 427 1067 l 322 1067 q 310 1068 316 1067 q 300 1078 304 1070 q 291 1092 300 1079 q 271 1122 283 1104 q 246 1159 259 1139 q 222 1194 233 1179 z " - }, - "š": { - "ha": 585, - "x_min": 1, - "x_max": 652, - "o": "m 85 187 q 85 188 85 188 q 85 189 85 189 q 94 198 85 198 q 105 193 100 198 q 167 151 132 168 q 243 135 202 135 q 268 137 254 135 q 295 145 282 140 q 316 160 308 151 q 325 182 325 169 q 317 210 325 197 q 298 231 310 222 q 274 247 291 235 q 238 273 257 259 q 201 298 218 286 q 177 316 184 311 q 129 363 146 339 q 101 412 111 387 q 89 465 92 437 q 86 524 86 493 q 111 614 86 572 q 177 688 136 656 q 271 738 218 720 q 377 757 323 757 q 465 743 422 757 q 546 697 509 730 q 551 613 549 654 q 555 526 552 572 q 551 514 555 517 q 541 511 547 511 q 533 515 536 511 q 501 544 517 530 q 467 570 485 559 q 429 588 449 581 q 385 595 408 595 q 357 593 371 595 q 331 584 342 591 q 312 567 319 578 q 305 539 305 556 q 310 505 305 519 q 332 477 315 491 l 458 392 q 514 346 493 368 q 548 300 536 323 q 565 256 560 278 q 569 212 569 234 q 541 105 569 151 q 468 27 513 58 q 367 -19 423 -3 q 253 -35 310 -35 q 169 -26 210 -35 q 94 2 129 -17 l 85 187 m 132 968 q 96 1015 109 996 q 71 1050 82 1034 q 46 1086 59 1067 q 14 1135 34 1105 q 4 1152 7 1145 q 1 1165 1 1160 q 23 1187 1 1175 q 75 1213 45 1200 q 135 1238 105 1226 q 182 1258 165 1250 q 189 1260 186 1260 q 199 1255 195 1260 q 210 1239 203 1251 l 309 1063 l 473 1256 q 479 1259 475 1259 q 491 1256 483 1259 q 514 1245 498 1254 q 580 1213 549 1226 q 645 1181 611 1199 q 652 1171 652 1179 q 646 1156 652 1165 q 627 1135 641 1147 q 499 992 562 1063 q 374 851 435 921 q 359 842 367 844 q 346 840 352 840 l 336 840 l 231 840 q 219 842 225 840 q 210 851 214 844 q 200 865 209 852 q 180 895 192 878 q 155 932 168 913 q 132 968 142 952 z " - }, - "Ÿ": { - "ha": 756, - "x_min": 73, - "x_max": 861, - "o": "m 81 903 q 95 910 85 906 q 118 920 104 915 q 146 932 131 926 q 177 945 161 939 l 256 976 q 272 980 264 980 q 284 977 277 980 q 298 966 290 974 l 455 662 l 459 672 l 526 796 q 552 842 539 819 q 574 882 564 864 q 591 910 584 899 q 599 921 597 921 l 831 979 q 845 981 840 981 q 861 967 861 981 q 859 958 860 964 q 855 945 859 952 l 656 576 q 626 520 641 548 q 596 468 610 492 q 571 422 582 443 q 553 389 559 402 l 548 367 l 510 113 q 507 94 508 101 q 503 81 505 86 q 497 73 500 77 q 486 66 493 70 l 294 -35 q 271 -43 283 -40 q 248 -47 259 -47 q 229 -42 237 -47 q 220 -25 220 -37 l 220 -22 q 230 67 223 16 q 245 168 237 119 l 283 419 q 255 480 273 442 q 217 562 237 518 q 175 653 197 606 q 133 742 153 700 q 99 815 114 783 q 76 862 83 847 q 73 883 73 872 q 74 895 73 889 q 81 903 76 901 m 102 1059 q 105 1115 104 1098 q 106 1140 106 1133 q 106 1150 106 1147 q 107 1162 106 1153 q 108 1193 107 1172 q 111 1258 109 1214 q 116 1286 113 1278 q 130 1295 119 1294 q 242 1296 182 1295 q 352 1297 301 1297 q 361 1293 359 1297 q 364 1279 364 1289 l 347 1090 q 342 1063 345 1071 q 330 1054 340 1055 q 223 1053 278 1053 q 109 1053 169 1053 q 104 1053 106 1053 q 102 1057 102 1054 l 102 1059 m 527 1058 q 530 1121 529 1101 q 531 1151 531 1142 q 531 1162 532 1160 q 531 1173 531 1165 q 533 1199 532 1181 q 536 1257 534 1217 q 541 1285 538 1277 q 553 1294 543 1293 q 666 1294 607 1294 q 776 1295 725 1295 q 785 1293 781 1295 q 789 1282 789 1290 l 772 1090 q 767 1062 770 1069 q 753 1053 765 1055 q 646 1052 701 1053 q 530 1051 591 1051 q 528 1052 528 1051 q 527 1055 527 1052 l 527 1058 z " - }, - "Ž": { - "ha": 847, - "x_min": 70, - "x_max": 854, - "o": "m 139 0 q 123 2 131 0 q 108 8 115 3 q 97 20 101 12 q 92 41 92 28 q 93 43 92 42 q 94 46 94 45 l 447 666 q 432 670 447 668 q 395 672 418 671 q 345 674 372 673 q 293 676 318 675 q 249 676 269 676 q 223 677 230 677 q 155 676 186 677 q 88 675 123 675 q 75 680 81 675 q 70 692 70 685 q 71 693 71 692 q 71 697 71 695 l 159 907 q 177 931 165 922 q 206 945 190 940 q 240 952 222 950 q 276 954 258 954 q 422 950 350 954 q 565 944 494 947 q 708 938 637 941 q 853 935 780 935 l 853 907 l 523 290 q 523 288 523 288 q 522 286 522 288 q 529 278 522 279 q 541 277 536 277 l 675 277 q 754 282 716 277 q 833 287 792 287 q 848 282 841 287 q 854 269 854 277 q 853 263 854 270 l 744 46 q 724 20 739 30 q 689 6 709 11 q 643 0 668 1 q 591 -1 618 -1 q 375 -1 485 -1 q 139 0 266 0 m 261 1194 q 225 1241 239 1223 q 200 1277 212 1260 q 176 1312 189 1293 q 143 1362 163 1331 q 134 1379 136 1371 q 131 1392 131 1386 q 153 1414 131 1401 q 205 1440 175 1427 q 265 1465 235 1453 q 311 1485 295 1476 q 319 1487 315 1487 q 329 1482 324 1487 q 340 1466 333 1477 l 439 1289 l 602 1482 q 608 1486 604 1486 q 620 1483 612 1485 q 644 1472 628 1480 q 709 1439 678 1453 q 774 1408 741 1426 q 781 1398 781 1405 q 776 1383 781 1392 q 757 1362 770 1374 q 628 1219 692 1290 q 503 1078 565 1147 q 489 1068 496 1070 q 475 1067 481 1067 l 466 1067 l 361 1067 q 349 1068 355 1067 q 339 1078 343 1070 q 330 1092 338 1079 q 310 1122 321 1104 q 284 1159 298 1139 q 261 1194 271 1179 z " - }, - "ž": { - "ha": 673, - "x_min": 38, - "x_max": 688, - "o": "m 173 0 q 144 1 159 0 q 116 6 129 3 q 95 16 104 10 q 87 33 87 22 q 87 35 87 33 q 88 37 88 36 l 328 528 q 264 527 299 528 q 193 525 229 526 q 125 524 157 524 q 71 523 93 523 q 60 527 64 523 q 57 537 57 532 l 57 540 l 125 703 q 146 727 131 722 q 176 732 161 732 q 410 728 295 732 q 644 724 525 724 q 659 720 651 724 q 667 708 667 715 q 665 703 667 707 l 450 234 q 454 232 450 233 q 464 231 458 231 q 475 230 469 230 q 485 230 481 230 q 568 232 528 230 q 648 234 608 234 q 661 231 656 234 q 667 217 667 227 q 665 216 667 216 l 580 37 q 558 17 574 24 q 520 6 543 9 q 470 1 498 2 q 414 0 443 0 l 173 0 m 168 968 q 132 1015 146 996 q 107 1050 119 1034 q 83 1086 96 1067 q 50 1135 71 1105 q 41 1152 43 1145 q 38 1165 38 1160 q 60 1187 38 1175 q 112 1213 82 1200 q 172 1238 142 1226 q 218 1258 202 1250 q 226 1260 222 1260 q 236 1255 231 1260 q 247 1239 240 1251 l 346 1063 l 509 1256 q 515 1259 511 1259 q 527 1256 519 1259 q 551 1245 535 1254 q 616 1213 585 1226 q 682 1181 648 1199 q 688 1171 688 1179 q 683 1156 688 1165 q 664 1135 677 1147 q 535 992 599 1063 q 410 851 472 921 q 396 842 404 844 q 382 840 389 840 l 373 840 l 268 840 q 256 842 262 840 q 246 851 250 844 q 237 865 245 852 q 217 895 229 878 q 192 932 205 913 q 168 968 178 952 z " - }, - "ƒ": { - "ha": 623, - "x_min": -123, - "x_max": 785, - "o": "m 178 191 q 181 224 179 197 q 188 294 184 251 q 197 395 191 338 q 210 521 202 453 l 119 521 q 66 524 83 521 q 50 536 50 527 q 57 551 50 539 q 74 579 64 563 q 97 615 85 596 q 120 651 109 634 q 140 680 132 667 q 150 694 148 692 l 233 694 l 246 802 q 336 1037 264 960 q 546 1114 408 1114 q 582 1110 559 1114 q 631 1100 605 1106 q 685 1085 658 1093 q 735 1069 713 1077 q 771 1053 757 1061 q 785 1039 785 1045 q 781 1025 785 1034 q 749 958 760 984 q 732 917 739 932 q 722 897 726 902 q 710 891 718 891 q 702 893 707 890 q 690 898 698 895 q 643 914 667 907 q 597 921 618 921 q 544 902 566 921 q 509 830 522 883 q 497 764 502 800 q 489 694 493 729 l 666 694 q 676 691 671 694 q 682 678 682 687 q 673 654 682 675 q 650 599 665 633 l 626 544 q 616 529 621 534 q 595 523 611 524 l 478 523 q 453 311 465 420 q 425 81 441 202 q 392 -59 414 1 q 334 -157 370 -118 q 244 -216 297 -197 q 120 -235 192 -235 q 84 -231 107 -235 q 33 -221 60 -227 q -22 -207 6 -215 q -72 -190 -50 -198 q -109 -174 -95 -182 q -123 -159 -123 -165 q -119 -145 -123 -154 q -87 -79 -98 -105 q -71 -37 -77 -52 q -60 -15 -64 -21 q -49 -9 -56 -9 q -39 -15 -45 -14 q -26 -16 -34 -16 q 21 -32 -3 -25 q 68 -39 45 -39 q 110 -28 93 -39 q 138 2 127 -16 q 156 45 149 21 q 167 95 163 70 q 173 146 171 121 q 178 191 176 171 z " - }, - "Ȁ": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 613 1180 q 594 1227 602 1208 q 579 1264 586 1246 q 564 1300 572 1281 q 545 1348 556 1319 q 542 1359 543 1354 q 541 1369 541 1364 q 545 1384 541 1379 q 558 1394 549 1389 q 665 1452 609 1422 q 772 1518 721 1481 q 775 1519 772 1519 q 778 1520 778 1520 q 779 1521 779 1520 q 781 1521 780 1521 q 786 1516 786 1521 l 825 1119 q 825 1108 825 1113 q 825 1100 825 1103 q 823 1083 825 1088 q 811 1073 820 1078 q 783 1061 795 1067 q 757 1050 770 1056 q 730 1037 745 1044 q 698 1021 716 1030 q 690 1018 695 1018 q 677 1027 684 1018 q 663 1056 671 1036 q 643 1106 654 1075 q 613 1180 631 1137 m 274 1180 q 248 1227 258 1208 q 228 1263 237 1246 q 207 1300 218 1280 q 181 1348 196 1319 q 176 1362 177 1355 q 174 1374 174 1369 q 178 1386 174 1381 q 188 1394 181 1390 q 240 1422 213 1408 q 296 1452 268 1437 q 351 1484 323 1468 q 404 1518 378 1500 q 413 1521 410 1521 q 418 1516 417 1521 l 494 1119 q 497 1104 496 1110 q 498 1093 498 1099 q 496 1082 498 1087 q 488 1073 494 1076 q 461 1061 473 1067 q 437 1050 450 1056 q 412 1037 425 1044 q 382 1021 399 1030 q 375 1018 380 1018 q 361 1027 369 1018 q 343 1056 354 1036 q 315 1106 332 1075 q 274 1180 298 1137 z " - }, - "ȁ": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 576 968 q 556 1015 564 996 q 542 1052 549 1034 q 527 1088 534 1069 q 507 1135 519 1107 q 505 1147 506 1142 q 504 1156 504 1152 q 508 1172 504 1166 q 521 1181 512 1177 q 628 1239 572 1210 q 734 1305 684 1269 q 738 1307 734 1307 q 741 1308 741 1308 q 742 1309 741 1308 q 743 1309 743 1309 q 749 1303 749 1309 l 787 907 q 788 896 787 901 q 788 888 788 891 q 785 871 788 876 q 774 861 783 866 q 745 849 758 854 q 720 838 732 844 q 693 825 707 832 q 661 808 679 818 q 652 806 658 806 q 640 815 646 806 q 626 843 634 824 q 605 893 617 863 q 576 968 593 924 m 237 968 q 211 1015 221 996 q 190 1051 200 1034 q 170 1087 180 1068 q 144 1135 159 1107 q 138 1150 140 1143 q 137 1162 137 1157 q 140 1174 137 1169 q 151 1181 144 1178 q 203 1210 176 1196 q 258 1240 231 1225 q 314 1272 286 1255 q 366 1305 341 1288 q 376 1309 373 1309 q 381 1303 380 1309 l 457 907 q 460 892 458 898 q 461 881 461 886 q 459 869 461 875 q 450 861 457 864 q 424 849 436 854 q 400 838 412 844 q 375 825 388 832 q 345 808 361 818 q 338 806 342 806 q 324 815 332 806 q 306 843 317 824 q 278 893 294 863 q 237 968 261 924 z " - }, - "Ȃ": { - "ha": 940, - "x_min": 29, - "x_max": 965, - "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 564 1046 q 565 1054 564 1049 q 566 1064 566 1059 q 549 1099 566 1082 q 496 1116 531 1116 q 459 1109 474 1116 q 436 1092 445 1102 q 424 1070 427 1082 q 420 1048 420 1059 q 421 1047 420 1048 q 421 1046 421 1047 q 419 1040 420 1043 q 412 1035 417 1037 q 397 1032 407 1033 q 371 1031 388 1031 q 335 1033 348 1031 q 316 1038 322 1034 q 308 1048 309 1042 q 307 1062 307 1054 q 322 1129 307 1100 q 367 1179 338 1159 q 432 1211 395 1200 q 513 1221 470 1221 q 592 1207 559 1221 q 646 1168 625 1192 q 676 1114 667 1144 q 686 1053 686 1084 q 685 1041 686 1046 q 676 1033 683 1036 q 656 1029 669 1030 q 621 1027 644 1027 q 591 1028 602 1027 q 573 1031 580 1029 q 565 1036 567 1033 q 563 1042 563 1038 q 563 1044 563 1043 q 564 1046 564 1044 z " - }, - "ȃ": { - "ha": 846, - "x_min": 71, - "x_max": 844, - "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 526 833 q 527 842 526 837 q 528 852 528 846 q 511 887 528 870 q 458 903 493 903 q 421 897 436 903 q 398 880 407 890 q 386 858 389 869 q 382 836 382 846 q 383 835 382 836 q 383 834 383 835 q 381 828 382 831 q 374 823 379 825 q 359 820 369 821 q 333 819 350 819 q 297 820 310 819 q 278 826 284 822 q 270 836 271 830 q 269 850 269 842 q 284 917 269 888 q 329 967 300 947 q 394 998 357 987 q 475 1009 432 1009 q 554 995 521 1009 q 608 956 587 980 q 638 902 629 932 q 648 840 648 871 q 647 829 648 833 q 638 821 645 824 q 618 817 631 818 q 583 815 606 815 q 553 816 564 815 q 535 819 542 817 q 527 823 529 821 q 525 829 525 826 q 525 831 525 831 q 526 833 526 832 z " - }, - "Ȅ": { - "ha": 799, - "x_min": 92, - "x_max": 856, - "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 589 1180 q 570 1227 578 1208 q 555 1264 562 1246 q 540 1300 548 1281 q 521 1348 532 1319 q 518 1359 519 1354 q 517 1369 517 1364 q 522 1384 517 1379 q 534 1394 526 1389 q 641 1452 585 1422 q 748 1518 697 1481 q 751 1519 748 1519 q 754 1520 754 1520 q 755 1521 755 1520 q 757 1521 756 1521 q 762 1516 762 1521 l 801 1119 q 801 1108 801 1113 q 802 1100 802 1103 q 799 1083 802 1088 q 787 1073 796 1078 q 759 1061 772 1067 q 733 1050 746 1056 q 707 1037 721 1044 q 674 1021 692 1030 q 666 1018 671 1018 q 654 1027 660 1018 q 639 1056 648 1036 q 619 1106 631 1075 q 589 1180 607 1137 m 250 1180 q 224 1227 235 1208 q 204 1263 214 1246 q 183 1300 194 1280 q 157 1348 172 1319 q 152 1362 153 1355 q 151 1374 151 1369 q 154 1386 151 1381 q 164 1394 157 1390 q 217 1422 189 1408 q 272 1452 244 1437 q 327 1484 300 1468 q 380 1518 355 1500 q 389 1521 387 1521 q 395 1516 393 1521 l 471 1119 q 473 1104 472 1110 q 475 1093 475 1099 q 473 1082 475 1087 q 464 1073 471 1076 q 438 1061 450 1067 q 414 1050 426 1056 q 388 1037 401 1044 q 359 1021 375 1030 q 351 1018 356 1018 q 338 1027 345 1018 q 319 1056 330 1036 q 291 1106 308 1075 q 250 1180 275 1137 z " - }, - "ȅ": { - "ha": 774, - "x_min": 68, - "x_max": 771, - "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 536 968 q 517 1015 525 996 q 502 1052 509 1034 q 487 1088 495 1069 q 468 1135 479 1107 q 466 1147 467 1142 q 465 1156 465 1152 q 469 1172 465 1166 q 481 1181 473 1177 q 588 1239 532 1210 q 695 1305 644 1269 q 698 1307 695 1307 q 701 1308 701 1308 q 703 1309 702 1308 q 704 1309 703 1309 q 709 1303 709 1309 l 748 907 q 748 896 748 901 q 749 888 749 891 q 746 871 749 876 q 734 861 743 866 q 706 849 719 854 q 681 838 693 844 q 654 825 668 832 q 621 808 640 818 q 613 806 618 806 q 601 815 607 806 q 586 843 595 824 q 566 893 578 863 q 536 968 554 924 m 197 968 q 171 1015 182 996 q 151 1051 161 1034 q 130 1087 141 1068 q 104 1135 119 1107 q 99 1150 100 1143 q 98 1162 98 1157 q 101 1174 98 1169 q 111 1181 104 1178 q 164 1210 136 1196 q 219 1240 191 1225 q 274 1272 247 1255 q 327 1305 302 1288 q 336 1309 334 1309 q 342 1303 340 1309 l 418 907 q 420 892 419 898 q 422 881 422 886 q 420 869 422 875 q 411 861 418 864 q 385 849 397 854 q 361 838 373 844 q 335 825 349 832 q 306 808 322 818 q 298 806 303 806 q 285 815 292 806 q 266 843 277 824 q 238 893 255 863 q 197 968 222 924 z " - }, - "Ȇ": { - "ha": 799, - "x_min": 92, - "x_max": 856, - "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 539 1046 q 541 1054 540 1049 q 542 1064 542 1059 q 524 1099 542 1082 q 471 1116 507 1116 q 435 1109 450 1116 q 412 1092 420 1102 q 399 1070 403 1082 q 396 1048 396 1059 q 396 1047 396 1048 q 397 1046 397 1047 q 394 1040 396 1043 q 388 1035 393 1037 q 373 1032 382 1033 q 347 1031 363 1031 q 311 1033 323 1031 q 291 1038 298 1034 q 283 1048 285 1042 q 282 1062 282 1054 q 298 1129 282 1100 q 342 1179 314 1159 q 408 1211 370 1200 q 488 1221 446 1221 q 567 1207 534 1221 q 621 1168 600 1192 q 652 1114 642 1144 q 662 1053 662 1084 q 660 1041 662 1046 q 652 1033 659 1036 q 632 1029 645 1030 q 596 1027 619 1027 q 567 1028 578 1027 q 549 1031 555 1029 q 541 1036 543 1033 q 538 1042 538 1038 q 539 1044 538 1043 q 539 1046 539 1044 z " - }, - "ȇ": { - "ha": 774, - "x_min": 68, - "x_max": 771, - "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 486 833 q 488 842 487 837 q 489 852 489 846 q 471 887 489 870 q 418 903 454 903 q 382 897 397 903 q 359 880 368 890 q 347 858 350 869 q 343 836 343 846 q 343 835 343 836 q 344 834 344 835 q 341 828 343 831 q 335 823 340 825 q 320 820 330 821 q 294 819 311 819 q 258 820 271 819 q 238 826 245 822 q 231 836 232 830 q 229 850 229 842 q 245 917 229 888 q 289 967 261 947 q 355 998 317 987 q 435 1009 393 1009 q 514 995 481 1009 q 568 956 547 980 q 599 902 589 932 q 609 840 609 871 q 607 829 609 833 q 599 821 606 824 q 579 817 592 818 q 543 815 566 815 q 514 816 525 815 q 496 819 503 817 q 488 823 490 821 q 486 829 486 826 q 486 831 486 831 q 486 833 486 832 z " - }, - "Ȉ": { - "ha": 452, - "x_min": -54, - "x_max": 597, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 385 1180 q 366 1227 374 1208 q 351 1264 358 1246 q 336 1300 344 1281 q 317 1348 328 1319 q 314 1359 315 1354 q 313 1369 313 1364 q 317 1384 313 1379 q 330 1394 321 1389 q 437 1452 381 1422 q 544 1518 493 1481 q 547 1519 544 1519 q 550 1520 550 1520 q 551 1521 551 1520 q 553 1521 552 1521 q 558 1516 558 1521 l 597 1119 q 597 1108 597 1113 q 597 1100 597 1103 q 595 1083 597 1088 q 583 1073 592 1078 q 555 1061 568 1067 q 529 1050 542 1056 q 503 1037 517 1044 q 470 1021 488 1030 q 462 1018 467 1018 q 450 1027 456 1018 q 435 1056 444 1036 q 415 1106 427 1075 q 385 1180 403 1137 m 46 1180 q 20 1227 31 1208 q 0 1263 9 1246 q -21 1300 -10 1280 q -47 1348 -32 1319 q -52 1362 -51 1355 q -54 1374 -54 1369 q -50 1386 -54 1381 q -40 1394 -47 1390 q 13 1422 -15 1408 q 68 1452 40 1437 q 123 1484 96 1468 q 176 1518 151 1500 q 185 1521 182 1521 q 191 1516 189 1521 l 267 1119 q 269 1104 268 1110 q 271 1093 271 1099 q 269 1082 271 1087 q 260 1073 267 1076 q 234 1061 245 1067 q 210 1050 222 1056 q 184 1037 197 1044 q 155 1021 171 1030 q 147 1018 152 1018 q 134 1027 141 1018 q 115 1056 126 1036 q 87 1106 104 1075 q 46 1180 71 1137 z " - }, - "ȉ": { - "ha": 415, - "x_min": -66, - "x_max": 585, - "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 372 968 q 353 1015 361 996 q 338 1052 345 1034 q 323 1088 331 1069 q 304 1135 315 1107 q 301 1147 302 1142 q 300 1156 300 1152 q 304 1172 300 1166 q 317 1181 309 1177 q 424 1239 368 1210 q 531 1305 480 1269 q 534 1307 531 1307 q 537 1308 537 1308 q 538 1309 538 1308 q 540 1309 539 1309 q 545 1303 545 1309 l 584 907 q 584 896 584 901 q 585 888 585 891 q 582 871 585 876 q 570 861 579 866 q 542 849 555 854 q 516 838 529 844 q 490 825 504 832 q 457 808 475 818 q 449 806 454 806 q 437 815 443 806 q 422 843 431 824 q 402 893 414 863 q 372 968 390 924 m 33 968 q 7 1015 18 996 q -13 1051 -3 1034 q -34 1087 -23 1068 q -60 1135 -45 1107 q -65 1150 -64 1143 q -66 1162 -66 1157 q -63 1174 -66 1169 q -53 1181 -60 1178 q 0 1210 -28 1196 q 55 1240 27 1225 q 110 1272 83 1255 q 163 1305 138 1288 q 172 1309 170 1309 q 178 1303 176 1309 l 254 907 q 256 892 255 898 q 258 881 258 886 q 256 869 258 875 q 247 861 254 864 q 221 849 233 854 q 197 838 209 844 q 171 825 184 832 q 142 808 158 818 q 134 806 139 806 q 121 815 128 806 q 102 843 113 824 q 74 893 91 863 q 33 968 58 924 z " - }, - "Ȋ": { - "ha": 452, - "x_min": 76, - "x_max": 456, - "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 333 1046 q 335 1054 334 1049 q 336 1064 336 1059 q 318 1099 336 1082 q 265 1116 300 1116 q 229 1109 243 1116 q 205 1092 214 1102 q 193 1070 197 1082 q 190 1048 190 1059 q 190 1047 190 1048 q 191 1046 191 1047 q 188 1040 190 1043 q 181 1035 186 1037 q 167 1032 176 1033 q 140 1031 157 1031 q 104 1033 117 1031 q 85 1038 92 1034 q 77 1048 79 1042 q 76 1062 76 1054 q 92 1129 76 1100 q 136 1179 108 1159 q 202 1211 164 1200 q 282 1221 239 1221 q 361 1207 328 1221 q 415 1168 394 1192 q 446 1114 436 1144 q 456 1053 456 1084 q 454 1041 456 1046 q 446 1033 452 1036 q 426 1029 439 1030 q 390 1027 413 1027 q 360 1028 372 1027 q 343 1031 349 1029 q 334 1036 336 1033 q 332 1042 332 1038 q 333 1044 332 1043 q 333 1046 333 1044 z " - }, - "ȋ": { - "ha": 414, - "x_min": 52, - "x_max": 432, - "o": "m 98 288 q 116 471 108 380 q 132 658 124 562 q 136 689 133 680 q 151 700 139 697 q 272 724 209 711 q 394 756 335 736 q 400 757 396 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 327 38 339 41 q 210 -2 269 20 q 85 -45 151 -24 q 79 -46 83 -46 q 72 -39 72 -46 q 73 -20 72 -39 q 77 26 75 -2 q 82 91 79 55 q 88 163 85 127 q 94 232 91 199 q 98 288 96 264 m 309 833 q 311 842 310 837 q 312 852 312 846 q 294 887 312 870 q 241 903 277 903 q 205 897 220 903 q 182 880 191 890 q 170 858 173 869 q 166 836 166 846 q 166 835 166 836 q 167 834 167 835 q 164 828 166 831 q 158 823 163 825 q 143 820 153 821 q 117 819 134 819 q 78 821 91 819 q 59 828 64 823 q 53 839 54 832 q 52 857 52 846 q 69 921 52 893 q 115 969 86 949 q 180 999 143 989 q 258 1009 218 1009 q 337 995 304 1009 q 391 956 370 980 q 422 902 412 932 q 432 840 432 871 q 430 829 432 833 q 422 821 429 824 q 402 817 415 818 q 366 815 389 815 q 337 816 348 815 q 319 819 326 817 q 311 823 313 821 q 309 829 309 826 q 309 831 309 831 q 309 833 309 832 z " - }, - "Ȍ": { - "ha": 1103, - "x_min": 85, - "x_max": 1101, - "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 709 1180 q 689 1227 697 1208 q 674 1264 682 1246 q 660 1300 667 1281 q 640 1348 652 1319 q 638 1359 639 1354 q 637 1369 637 1364 q 641 1384 637 1379 q 654 1394 645 1389 q 761 1452 705 1422 q 867 1518 817 1481 q 870 1519 867 1519 q 873 1520 873 1520 q 875 1521 874 1520 q 876 1521 876 1521 q 882 1516 882 1521 l 920 1119 q 921 1108 920 1113 q 921 1100 921 1103 q 918 1083 921 1088 q 907 1073 916 1078 q 878 1061 891 1067 q 853 1050 865 1056 q 826 1037 840 1044 q 793 1021 812 1030 q 785 1018 791 1018 q 773 1027 779 1018 q 759 1056 767 1036 q 738 1106 750 1075 q 709 1180 726 1137 m 370 1180 q 343 1227 354 1208 q 323 1263 333 1246 q 302 1300 313 1280 q 277 1348 292 1319 q 271 1362 273 1355 q 270 1374 270 1369 q 273 1386 270 1381 q 283 1394 277 1390 q 336 1422 309 1408 q 391 1452 363 1437 q 447 1484 419 1468 q 499 1518 474 1500 q 509 1521 506 1521 q 514 1516 513 1521 l 590 1119 q 593 1104 591 1110 q 594 1093 594 1099 q 592 1082 594 1087 q 583 1073 590 1076 q 557 1061 569 1067 q 533 1050 545 1056 q 508 1037 521 1044 q 478 1021 494 1030 q 471 1018 475 1018 q 457 1027 465 1018 q 438 1056 450 1036 q 411 1106 427 1075 q 370 1180 394 1137 z " - }, - "ȍ": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 592 968 q 573 1015 581 996 q 558 1052 565 1034 q 543 1088 551 1069 q 524 1135 535 1107 q 521 1147 522 1142 q 520 1156 520 1152 q 524 1172 520 1166 q 537 1181 528 1177 q 644 1239 588 1210 q 751 1305 700 1269 q 754 1307 751 1307 q 757 1308 757 1308 q 758 1309 758 1308 q 760 1309 759 1309 q 765 1303 765 1309 l 804 907 q 804 896 804 901 q 804 888 804 891 q 802 871 804 876 q 790 861 799 866 q 762 849 774 854 q 736 838 749 844 q 709 825 724 832 q 677 808 695 818 q 669 806 674 806 q 656 815 663 806 q 642 843 650 824 q 622 893 633 863 q 592 968 610 924 m 253 968 q 227 1015 237 996 q 207 1051 216 1034 q 186 1087 197 1068 q 160 1135 175 1107 q 155 1150 156 1143 q 153 1162 153 1157 q 157 1174 153 1169 q 167 1181 160 1178 q 219 1210 192 1196 q 275 1240 247 1225 q 330 1272 302 1255 q 382 1305 357 1288 q 392 1309 389 1309 q 397 1303 396 1309 l 473 907 q 476 892 475 898 q 477 881 477 886 q 475 869 477 875 q 467 861 473 864 q 440 849 452 854 q 416 838 429 844 q 391 825 404 832 q 361 808 378 818 q 354 806 359 806 q 340 815 348 806 q 322 843 333 824 q 294 893 311 863 q 253 968 277 924 z " - }, - "Ȏ": { - "ha": 1103, - "x_min": 85, - "x_max": 1101, - "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 659 1046 q 660 1054 659 1049 q 661 1064 661 1059 q 644 1099 661 1082 q 591 1116 626 1116 q 554 1109 569 1116 q 531 1092 540 1102 q 519 1070 522 1082 q 515 1048 515 1059 q 516 1047 515 1048 q 516 1046 516 1047 q 514 1040 515 1043 q 507 1035 512 1037 q 492 1032 502 1033 q 466 1031 483 1031 q 430 1033 443 1031 q 411 1038 417 1034 q 403 1048 404 1042 q 401 1062 401 1054 q 417 1129 401 1100 q 461 1179 433 1159 q 527 1211 490 1200 q 608 1221 565 1221 q 687 1207 654 1221 q 741 1168 720 1192 q 771 1114 762 1144 q 781 1053 781 1084 q 780 1041 781 1046 q 771 1033 778 1036 q 751 1029 764 1030 q 715 1027 739 1027 q 686 1028 697 1027 q 668 1031 675 1029 q 660 1036 662 1033 q 658 1042 658 1038 q 658 1044 658 1043 q 659 1046 659 1044 z " - }, - "ȏ": { - "ha": 890, - "x_min": 68, - "x_max": 885, - "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 542 833 q 544 842 543 837 q 545 852 545 846 q 527 887 545 870 q 474 903 509 903 q 438 897 452 903 q 414 880 423 890 q 402 858 406 869 q 399 836 399 846 q 399 835 399 836 q 399 834 399 835 q 397 828 399 831 q 390 823 395 825 q 376 820 385 821 q 349 819 366 819 q 313 820 326 819 q 294 826 300 822 q 286 836 288 830 q 285 850 285 842 q 301 917 285 888 q 345 967 317 947 q 411 998 373 987 q 491 1009 448 1009 q 570 995 537 1009 q 624 956 603 980 q 655 902 645 932 q 665 840 665 871 q 663 829 665 833 q 654 821 661 824 q 635 817 648 818 q 599 815 622 815 q 569 816 581 815 q 552 819 558 817 q 543 823 545 821 q 541 829 541 826 q 542 831 541 831 q 542 833 542 832 z " - }, - "Ȑ": { - "ha": 999, - "x_min": 83, - "x_max": 1026, - "o": "m 446 54 q 444 42 446 48 q 435 33 442 37 q 408 23 432 32 q 352 4 384 15 q 290 -19 321 -7 q 243 -36 259 -30 q 223 -43 235 -39 q 199 -47 211 -47 q 183 -42 190 -47 q 176 -24 176 -37 q 177 30 176 5 q 182 82 179 55 q 188 142 184 109 q 193 220 191 175 q 201 335 197 280 q 209 450 205 391 l 218 566 q 222 624 220 595 q 227 685 224 654 l 234 768 q 230 769 234 769 q 212 767 224 769 q 181 761 199 764 q 142 754 163 758 q 98 747 121 750 q 88 749 93 747 q 83 755 83 751 q 84 759 83 758 l 194 951 q 274 967 231 959 q 367 983 317 976 q 472 994 416 989 q 590 998 528 998 q 727 984 661 997 q 846 942 794 972 q 929 862 898 913 q 961 734 961 812 q 946 656 961 692 q 909 591 932 620 q 859 540 886 562 q 807 503 832 518 q 764 478 783 487 q 738 466 745 469 q 739 463 738 465 q 743 455 740 460 q 753 438 747 449 q 770 410 760 428 q 795 366 781 393 q 831 302 810 339 q 879 220 852 265 q 941 122 906 174 q 968 110 953 112 q 996 107 983 107 q 1017 105 1008 106 q 1026 97 1026 104 q 1015 84 1026 92 q 989 70 1004 77 q 959 56 974 62 q 935 45 943 49 q 901 29 919 37 q 863 13 884 22 q 818 -9 843 3 q 762 -38 793 -21 q 747 -44 754 -43 q 734 -46 740 -46 q 713 -40 722 -46 q 698 -26 704 -35 q 688 -10 692 -18 q 682 4 684 -1 l 479 430 l 446 54 m 488 513 q 559 531 522 513 q 627 576 597 549 q 677 640 658 604 q 697 711 697 675 q 579 809 697 809 q 542 806 557 809 q 515 802 527 803 l 488 513 m 668 1180 q 649 1227 656 1208 q 634 1264 641 1246 q 619 1300 627 1281 q 600 1348 611 1319 q 597 1359 598 1354 q 596 1369 596 1364 q 600 1384 596 1379 q 613 1394 604 1389 q 720 1452 664 1422 q 827 1518 776 1481 q 830 1519 827 1519 q 833 1520 833 1520 q 834 1521 833 1520 q 836 1521 835 1521 q 841 1516 841 1521 l 880 1119 q 880 1108 880 1113 q 880 1100 880 1103 q 878 1083 880 1088 q 866 1073 875 1078 q 838 1061 850 1067 q 812 1050 825 1056 q 785 1037 800 1044 q 753 1021 771 1030 q 745 1018 750 1018 q 732 1027 739 1018 q 718 1056 726 1036 q 697 1106 709 1075 q 668 1180 686 1137 m 329 1180 q 303 1227 313 1208 q 282 1263 292 1246 q 262 1300 273 1280 q 236 1348 251 1319 q 231 1362 232 1355 q 229 1374 229 1369 q 233 1386 229 1381 q 243 1394 236 1390 q 295 1422 268 1408 q 351 1452 323 1437 q 406 1484 378 1468 q 458 1518 433 1500 q 468 1521 465 1521 q 473 1516 472 1521 l 549 1119 q 552 1104 551 1110 q 553 1093 553 1099 q 551 1082 553 1087 q 543 1073 549 1076 q 516 1061 528 1067 q 492 1050 505 1056 q 467 1037 480 1044 q 437 1021 454 1030 q 430 1018 435 1018 q 416 1027 424 1018 q 398 1056 409 1036 q 370 1106 387 1075 q 329 1180 353 1137 z " - }, - "ȑ": { - "ha": 613, - "x_min": 32, - "x_max": 683, - "o": "m 636 552 q 604 555 622 553 q 567 557 587 557 q 506 552 537 557 q 449 532 475 547 q 404 491 422 517 q 379 423 385 465 q 371 341 374 373 q 367 288 368 309 q 365 255 366 267 q 363 231 363 242 q 362 216 363 229 q 359 188 361 204 q 355 153 357 172 q 351 117 353 134 q 348 89 349 101 q 347 74 347 77 q 348 65 347 68 q 348 58 348 61 q 343 48 348 52 q 320 40 338 45 l 140 -24 q 121 -31 133 -27 q 97 -35 109 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 132 658 q 137 689 134 680 q 152 700 140 697 q 279 725 214 712 q 407 757 345 737 q 413 755 412 757 q 414 750 414 753 q 414 746 414 749 q 412 734 414 743 q 407 705 410 724 q 399 651 404 686 q 468 696 430 675 q 543 731 505 716 q 616 754 581 745 q 678 762 652 762 l 636 552 m 471 968 q 451 1015 459 996 q 436 1052 444 1034 q 421 1088 429 1069 q 402 1135 414 1107 q 400 1147 401 1142 q 399 1156 399 1152 q 403 1172 399 1166 q 416 1181 407 1177 q 523 1239 467 1210 q 629 1305 578 1269 q 632 1307 629 1307 q 635 1308 635 1308 q 637 1309 636 1308 q 638 1309 637 1309 q 644 1303 644 1309 l 682 907 q 683 896 682 901 q 683 888 683 891 q 680 871 683 876 q 669 861 677 866 q 640 849 653 854 q 615 838 627 844 q 588 825 602 832 q 555 808 574 818 q 547 806 553 806 q 535 815 541 806 q 520 843 529 824 q 500 893 512 863 q 471 968 488 924 m 132 968 q 105 1015 116 996 q 85 1051 95 1034 q 64 1087 75 1068 q 39 1135 54 1107 q 33 1150 35 1143 q 32 1162 32 1157 q 35 1174 32 1169 q 45 1181 39 1178 q 98 1210 71 1196 q 153 1240 125 1225 q 209 1272 181 1255 q 261 1305 236 1288 q 271 1309 268 1309 q 276 1303 275 1309 l 352 907 q 355 892 353 898 q 356 881 356 886 q 354 869 356 875 q 345 861 352 864 q 319 849 331 854 q 295 838 307 844 q 270 825 283 832 q 240 808 256 818 q 233 806 237 806 q 219 815 227 806 q 200 843 212 824 q 173 893 189 863 q 132 968 156 924 z " - }, - "Ȓ": { - "ha": 999, - "x_min": 83, - "x_max": 1026, - "o": "m 446 54 q 444 42 446 48 q 435 33 442 37 q 408 23 432 32 q 352 4 384 15 q 290 -19 321 -7 q 243 -36 259 -30 q 223 -43 235 -39 q 199 -47 211 -47 q 183 -42 190 -47 q 176 -24 176 -37 q 177 30 176 5 q 182 82 179 55 q 188 142 184 109 q 193 220 191 175 q 201 335 197 280 q 209 450 205 391 l 218 566 q 222 624 220 595 q 227 685 224 654 l 234 768 q 230 769 234 769 q 212 767 224 769 q 181 761 199 764 q 142 754 163 758 q 98 747 121 750 q 88 749 93 747 q 83 755 83 751 q 84 759 83 758 l 194 951 q 274 967 231 959 q 367 983 317 976 q 472 994 416 989 q 590 998 528 998 q 727 984 661 997 q 846 942 794 972 q 929 862 898 913 q 961 734 961 812 q 946 656 961 692 q 909 591 932 620 q 859 540 886 562 q 807 503 832 518 q 764 478 783 487 q 738 466 745 469 q 739 463 738 465 q 743 455 740 460 q 753 438 747 449 q 770 410 760 428 q 795 366 781 393 q 831 302 810 339 q 879 220 852 265 q 941 122 906 174 q 968 110 953 112 q 996 107 983 107 q 1017 105 1008 106 q 1026 97 1026 104 q 1015 84 1026 92 q 989 70 1004 77 q 959 56 974 62 q 935 45 943 49 q 901 29 919 37 q 863 13 884 22 q 818 -9 843 3 q 762 -38 793 -21 q 747 -44 754 -43 q 734 -46 740 -46 q 713 -40 722 -46 q 698 -26 704 -35 q 688 -10 692 -18 q 682 4 684 -1 l 479 430 l 446 54 m 488 513 q 559 531 522 513 q 627 576 597 549 q 677 640 658 604 q 697 711 697 675 q 579 809 697 809 q 542 806 557 809 q 515 802 527 803 l 488 513 m 618 1046 q 620 1054 619 1049 q 621 1064 621 1059 q 604 1099 621 1082 q 551 1116 586 1116 q 514 1109 529 1116 q 491 1092 500 1102 q 479 1070 482 1082 q 475 1048 475 1059 q 476 1047 475 1048 q 476 1046 476 1047 q 474 1040 475 1043 q 467 1035 472 1037 q 452 1032 462 1033 q 426 1031 443 1031 q 390 1033 403 1031 q 371 1038 377 1034 q 363 1048 364 1042 q 361 1062 361 1054 q 377 1129 361 1100 q 421 1179 393 1159 q 487 1211 450 1200 q 568 1221 525 1221 q 647 1207 614 1221 q 701 1168 680 1192 q 731 1114 722 1144 q 741 1053 741 1084 q 740 1041 741 1046 q 731 1033 738 1036 q 711 1029 724 1030 q 675 1027 699 1027 q 646 1028 657 1027 q 628 1031 635 1029 q 620 1036 622 1033 q 618 1042 618 1038 q 618 1044 618 1043 q 618 1046 618 1044 z " - }, - "ȓ": { - "ha": 613, - "x_min": 73, - "x_max": 678, - "o": "m 636 552 q 604 555 622 553 q 567 557 587 557 q 506 552 537 557 q 449 532 475 547 q 404 491 422 517 q 379 423 385 465 q 371 341 374 373 q 367 288 368 309 q 365 255 366 267 q 363 231 363 242 q 362 216 363 229 q 359 188 361 204 q 355 153 357 172 q 351 117 353 134 q 348 89 349 101 q 347 74 347 77 q 348 65 347 68 q 348 58 348 61 q 343 48 348 52 q 320 40 338 45 l 140 -24 q 121 -31 133 -27 q 97 -35 109 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 132 658 q 137 689 134 680 q 152 700 140 697 q 279 725 214 712 q 407 757 345 737 q 413 755 412 757 q 414 750 414 753 q 414 746 414 749 q 412 734 414 743 q 407 705 410 724 q 399 651 404 686 q 468 696 430 675 q 543 731 505 716 q 616 754 581 745 q 678 762 652 762 l 636 552 m 420 833 q 422 842 421 837 q 423 852 423 846 q 406 887 423 870 q 353 903 388 903 q 316 897 331 903 q 293 880 302 890 q 281 858 284 869 q 277 836 277 846 q 278 835 277 836 q 278 834 278 835 q 276 828 277 831 q 269 823 274 825 q 254 820 264 821 q 228 819 245 819 q 192 820 205 819 q 173 826 179 822 q 165 836 166 830 q 163 850 163 842 q 179 917 163 888 q 223 967 195 947 q 289 998 252 987 q 370 1009 327 1009 q 449 995 416 1009 q 503 956 481 980 q 533 902 524 932 q 543 840 543 871 q 542 829 543 833 q 533 821 540 824 q 513 817 526 818 q 477 815 500 815 q 448 816 459 815 q 430 819 437 817 q 422 823 424 821 q 420 829 420 826 q 420 831 420 831 q 420 833 420 832 z " - }, - "Ȕ": { - "ha": 935, - "x_min": 103, - "x_max": 937, - "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 629 1180 q 610 1227 618 1208 q 595 1264 602 1246 q 580 1300 588 1281 q 561 1348 572 1319 q 558 1359 559 1354 q 557 1369 557 1364 q 562 1384 557 1379 q 574 1394 566 1389 q 681 1452 625 1422 q 788 1518 737 1481 q 791 1519 788 1519 q 794 1520 794 1520 q 795 1521 795 1520 q 797 1521 796 1521 q 802 1516 802 1521 l 841 1119 q 841 1108 841 1113 q 842 1100 842 1103 q 839 1083 842 1088 q 827 1073 836 1078 q 799 1061 812 1067 q 773 1050 786 1056 q 747 1037 761 1044 q 714 1021 732 1030 q 706 1018 711 1018 q 694 1027 700 1018 q 679 1056 688 1036 q 659 1106 671 1075 q 629 1180 647 1137 m 290 1180 q 264 1227 275 1208 q 244 1263 254 1246 q 223 1300 234 1280 q 197 1348 212 1319 q 192 1362 193 1355 q 191 1374 191 1369 q 194 1386 191 1381 q 204 1394 197 1390 q 257 1422 229 1408 q 312 1452 284 1437 q 367 1484 340 1468 q 420 1518 395 1500 q 429 1521 427 1521 q 435 1516 433 1521 l 511 1119 q 513 1104 512 1110 q 515 1093 515 1099 q 513 1082 515 1087 q 504 1073 511 1076 q 478 1061 490 1067 q 454 1050 466 1056 q 428 1037 441 1044 q 399 1021 415 1030 q 391 1018 396 1018 q 378 1027 385 1018 q 359 1056 370 1036 q 331 1106 348 1075 q 290 1180 315 1137 z " - }, - "ȕ": { - "ha": 868, - "x_min": 79, - "x_max": 862, - "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 582 968 q 563 1015 570 996 q 548 1052 555 1034 q 533 1088 541 1069 q 513 1135 525 1107 q 511 1147 512 1142 q 510 1156 510 1152 q 514 1172 510 1166 q 527 1181 518 1177 q 634 1239 578 1210 q 741 1305 690 1269 q 744 1307 741 1307 q 747 1308 747 1308 q 748 1309 747 1308 q 749 1309 749 1309 q 755 1303 755 1309 l 793 907 q 794 896 793 901 q 794 888 794 891 q 791 871 794 876 q 780 861 789 866 q 751 849 764 854 q 726 838 739 844 q 699 825 713 832 q 667 808 685 818 q 659 806 664 806 q 646 815 652 806 q 632 843 640 824 q 611 893 623 863 q 582 968 600 924 m 243 968 q 217 1015 227 996 q 196 1051 206 1034 q 176 1087 186 1068 q 150 1135 165 1107 q 144 1150 146 1143 q 143 1162 143 1157 q 146 1174 143 1169 q 157 1181 150 1178 q 209 1210 182 1196 q 264 1240 237 1225 q 320 1272 292 1255 q 372 1305 347 1288 q 382 1309 379 1309 q 387 1303 386 1309 l 463 907 q 466 892 465 898 q 467 881 467 886 q 465 869 467 875 q 456 861 463 864 q 430 849 442 854 q 406 838 418 844 q 381 825 394 832 q 351 808 368 818 q 344 806 349 806 q 330 815 338 806 q 312 843 323 824 q 284 893 300 863 q 243 968 267 924 z " - }, - "Ȗ": { - "ha": 935, - "x_min": 103, - "x_max": 937, - "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 579 1046 q 581 1054 580 1049 q 582 1064 582 1059 q 564 1099 582 1082 q 511 1116 547 1116 q 475 1109 490 1116 q 452 1092 460 1102 q 439 1070 443 1082 q 436 1048 436 1059 q 436 1047 436 1048 q 437 1046 437 1047 q 434 1040 436 1043 q 428 1035 433 1037 q 413 1032 422 1033 q 387 1031 404 1031 q 351 1033 363 1031 q 331 1038 338 1034 q 323 1048 325 1042 q 322 1062 322 1054 q 338 1129 322 1100 q 382 1179 354 1159 q 448 1211 410 1200 q 528 1221 486 1221 q 607 1207 574 1221 q 661 1168 640 1192 q 692 1114 682 1144 q 702 1053 702 1084 q 700 1041 702 1046 q 692 1033 699 1036 q 672 1029 685 1030 q 636 1027 659 1027 q 607 1028 618 1027 q 589 1031 595 1029 q 581 1036 583 1033 q 578 1042 578 1038 q 579 1044 578 1043 q 579 1046 579 1044 z " - }, - "ȗ": { - "ha": 868, - "x_min": 79, - "x_max": 862, - "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 532 833 q 534 842 533 837 q 535 852 535 846 q 517 887 535 870 q 465 903 500 903 q 428 897 443 903 q 405 880 414 890 q 393 858 396 869 q 389 836 389 846 q 390 835 389 836 q 390 834 390 835 q 388 828 389 831 q 381 823 386 825 q 366 820 376 821 q 340 819 357 819 q 304 820 317 819 q 284 826 291 822 q 277 836 278 830 q 275 850 275 842 q 291 917 275 888 q 335 967 307 947 q 401 998 363 987 q 481 1009 439 1009 q 561 995 528 1009 q 614 956 593 980 q 645 902 635 932 q 655 840 655 871 q 653 829 655 833 q 645 821 652 824 q 625 817 638 818 q 589 815 612 815 q 560 816 571 815 q 542 819 549 817 q 534 823 536 821 q 532 829 532 826 q 532 831 532 831 q 532 833 532 832 z " - }, - "Ș": { - "ha": 745, - "x_min": 106, - "x_max": 732, - "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 m 342 -602 q 330 -596 334 -598 q 318 -591 326 -595 q 295 -579 310 -587 q 250 -555 279 -571 q 229 -536 229 -543 q 231 -530 229 -534 q 272 -466 250 -500 q 313 -398 293 -433 l 255 -397 l 243 -397 q 227 -396 233 -397 q 221 -391 221 -395 l 221 -389 q 225 -343 224 -360 q 228 -318 227 -327 q 229 -304 229 -309 q 230 -297 229 -300 q 230 -289 230 -294 q 231 -273 231 -284 q 234 -241 232 -261 q 238 -188 235 -221 q 242 -157 239 -165 q 258 -146 245 -148 q 321 -146 288 -146 q 388 -145 355 -146 q 453 -145 420 -145 q 515 -145 485 -145 q 526 -161 526 -145 l 514 -327 q 510 -353 512 -342 q 507 -371 509 -363 q 503 -388 505 -380 q 497 -407 500 -396 q 484 -432 493 -416 q 462 -465 474 -447 q 436 -500 450 -482 q 412 -534 423 -518 q 391 -562 400 -550 q 380 -577 382 -573 q 375 -584 378 -580 q 368 -593 372 -589 q 359 -601 363 -597 q 349 -604 354 -604 q 342 -602 346 -604 z " - }, - "ș": { - "ha": 584, - "x_min": 84, - "x_max": 568, - "o": "m 85 187 q 84 188 85 188 q 84 189 84 189 q 94 198 84 198 q 104 193 100 198 q 166 151 132 168 q 242 135 201 135 q 267 137 253 135 q 294 145 281 140 q 316 160 307 151 q 324 182 324 169 q 317 210 324 197 q 297 231 309 222 q 273 247 290 235 q 237 273 256 259 q 200 298 218 286 q 176 316 183 311 q 128 363 146 339 q 100 412 110 387 q 88 465 91 437 q 85 524 85 493 q 111 614 85 572 q 177 688 136 656 q 270 738 218 720 q 376 757 322 757 q 465 743 421 757 q 545 697 508 730 q 550 613 549 654 q 554 526 551 572 q 550 514 554 517 q 541 511 546 511 q 532 515 536 511 q 500 544 517 530 q 466 570 484 559 q 428 588 448 581 q 385 595 408 595 q 356 593 370 595 q 330 584 342 591 q 312 567 319 578 q 304 539 304 556 q 309 505 304 519 q 332 477 314 491 l 458 392 q 514 346 492 368 q 547 300 535 323 q 564 256 559 278 q 568 212 568 234 q 540 105 568 151 q 467 27 512 58 q 366 -19 422 -3 q 252 -35 309 -35 q 169 -26 209 -35 q 94 2 128 -17 l 85 187 m 260 -602 q 248 -596 252 -598 q 236 -591 243 -595 q 213 -579 228 -587 q 168 -555 197 -571 q 146 -536 146 -543 q 149 -530 146 -534 q 190 -466 168 -500 q 231 -398 211 -433 l 173 -397 l 161 -397 q 145 -396 151 -397 q 139 -391 139 -395 l 139 -389 q 143 -343 142 -360 q 146 -318 145 -327 q 147 -304 146 -309 q 148 -297 147 -300 q 148 -289 148 -294 q 149 -273 149 -284 q 152 -241 150 -261 q 156 -188 153 -221 q 160 -157 157 -165 q 176 -146 163 -148 q 239 -146 206 -146 q 306 -145 273 -146 q 371 -145 338 -145 q 433 -145 403 -145 q 444 -161 444 -145 l 432 -327 q 428 -353 430 -342 q 425 -371 427 -363 q 421 -388 423 -380 q 415 -407 418 -396 q 401 -432 411 -416 q 380 -465 392 -447 q 354 -500 368 -482 q 330 -534 341 -518 q 309 -562 318 -550 q 298 -577 300 -573 q 293 -584 296 -580 q 286 -593 290 -589 q 277 -601 281 -597 q 267 -604 272 -604 q 260 -602 264 -604 z " - }, - "Ț": { - "ha": 786, - "x_min": 58, - "x_max": 886, - "o": "m 243 -22 q 250 74 246 28 q 256 163 253 120 l 280 484 q 287 550 284 520 q 291 609 290 581 q 295 668 293 638 q 298 733 296 697 q 251 734 276 734 q 199 734 227 734 l 68 734 q 59 740 61 734 q 58 750 58 745 l 58 755 l 132 951 l 132 954 q 136 959 132 957 q 156 963 140 962 q 337 974 250 968 q 511 983 425 979 q 683 991 597 987 q 859 998 768 995 q 877 996 867 998 q 886 981 886 994 q 885 979 886 980 q 884 976 884 977 q 864 923 873 948 q 846 873 855 898 q 828 824 838 849 q 808 771 819 799 q 806 765 808 770 q 800 752 804 759 q 789 739 795 745 q 772 732 782 732 q 765 732 768 732 q 758 732 762 732 l 576 732 q 570 659 573 698 q 563 584 567 621 l 513 54 q 511 42 513 48 q 502 33 509 36 l 310 -36 q 290 -43 302 -39 q 267 -47 278 -47 q 250 -42 257 -47 q 243 -24 243 -37 l 243 -22 m 432 -602 q 420 -596 425 -598 q 408 -591 416 -595 q 385 -579 400 -587 q 340 -555 370 -571 q 319 -536 319 -543 q 321 -530 319 -534 q 362 -466 340 -500 q 403 -398 383 -433 l 345 -397 l 333 -397 q 317 -396 323 -397 q 311 -391 311 -395 l 311 -389 q 316 -343 314 -360 q 318 -318 317 -327 q 319 -304 319 -309 q 320 -297 319 -300 q 320 -289 320 -294 q 321 -273 321 -284 q 324 -241 322 -261 q 328 -188 326 -221 q 333 -157 330 -165 q 348 -146 336 -148 q 412 -146 378 -146 q 478 -145 445 -146 q 543 -145 511 -145 q 605 -145 575 -145 q 616 -161 616 -145 l 604 -327 q 601 -353 602 -342 q 597 -371 599 -363 q 593 -388 595 -380 q 587 -407 591 -396 q 574 -432 583 -416 q 552 -465 564 -447 q 527 -500 540 -482 q 502 -534 513 -518 q 481 -562 490 -550 q 470 -577 473 -573 q 465 -584 468 -580 q 458 -593 462 -589 q 449 -601 454 -597 q 439 -604 444 -604 q 432 -602 436 -604 z " - }, - "ț": { - "ha": 633, - "x_min": 51, - "x_max": 659, - "o": "m 447 523 q 429 381 437 452 q 418 248 420 310 q 422 204 418 222 q 434 176 427 186 q 453 162 442 166 q 477 157 464 157 q 525 164 499 157 q 576 180 551 170 q 590 185 585 184 q 600 187 596 187 q 609 181 607 187 q 614 160 612 175 q 621 119 616 144 q 637 54 626 93 q 638 48 637 50 q 638 43 638 45 q 631 30 638 34 q 608 20 624 26 q 549 1 580 11 q 488 -17 518 -9 q 430 -30 458 -25 q 381 -35 402 -35 q 216 21 268 -35 q 164 193 164 77 q 165 233 164 212 q 169 276 167 254 q 181 405 176 344 q 191 521 186 465 l 120 521 q 67 524 83 521 q 51 536 51 527 q 58 551 51 539 q 75 579 64 563 q 98 615 85 596 q 121 651 110 634 q 140 680 132 667 q 151 694 149 692 l 199 694 q 209 781 205 746 q 215 839 212 816 q 219 874 217 862 q 223 893 221 887 q 230 901 226 899 q 239 904 233 903 q 298 915 270 910 q 355 926 327 920 q 413 938 384 931 q 475 955 443 945 q 477 955 477 955 q 480 956 478 956 q 488 950 488 956 l 488 949 q 478 845 485 911 q 462 694 471 779 l 644 694 q 654 691 649 694 q 659 678 659 687 q 651 654 659 675 q 628 599 643 633 l 604 544 q 594 529 599 534 q 573 523 589 524 l 447 523 m 327 -602 q 315 -596 319 -598 q 303 -591 311 -595 q 280 -579 295 -587 q 235 -555 264 -571 q 214 -536 214 -543 q 216 -530 214 -534 q 257 -466 235 -500 q 298 -398 278 -433 l 240 -397 l 228 -397 q 212 -396 218 -397 q 206 -391 206 -395 l 206 -389 q 211 -343 209 -360 q 213 -318 212 -327 q 214 -304 214 -309 q 215 -297 214 -300 q 215 -289 215 -294 q 216 -273 216 -284 q 219 -241 217 -261 q 223 -188 220 -221 q 228 -157 224 -165 q 243 -146 231 -148 q 307 -146 273 -146 q 373 -145 340 -146 q 438 -145 406 -145 q 500 -145 470 -145 q 511 -161 511 -145 l 499 -327 q 495 -353 497 -342 q 492 -371 494 -363 q 488 -388 490 -380 q 482 -407 486 -396 q 469 -432 478 -416 q 447 -465 459 -447 q 421 -500 435 -482 q 397 -534 408 -518 q 376 -562 385 -550 q 365 -577 368 -573 q 360 -584 363 -580 q 353 -593 357 -589 q 344 -601 349 -597 q 334 -604 339 -604 q 327 -602 331 -604 z " - }, - "ˆ": { - "ha": 716, - "x_min": 27, - "x_max": 678, - "o": "m 549 1127 q 575 1095 564 1109 q 593 1069 585 1080 q 608 1047 602 1057 q 623 1024 615 1036 q 636 1006 627 1018 q 655 980 646 994 q 671 952 664 966 q 678 930 678 939 q 665 911 678 920 q 633 892 652 901 q 596 876 615 884 q 567 865 578 869 q 546 856 557 861 q 524 844 535 850 q 504 835 513 839 q 490 831 494 831 q 478 837 484 831 q 464 858 473 843 l 376 1044 q 294 941 335 991 q 212 838 253 890 q 203 833 209 833 q 187 839 199 833 q 157 852 174 844 q 123 869 140 860 q 92 884 105 878 q 73 892 84 887 q 52 903 62 897 q 34 913 41 908 q 27 924 27 919 q 33 939 27 930 q 53 961 39 948 l 155 1076 q 231 1160 194 1119 q 304 1243 267 1200 q 322 1254 313 1253 q 339 1255 332 1255 l 442 1255 q 458 1253 450 1255 q 472 1242 467 1252 q 481 1229 473 1241 q 500 1199 489 1217 q 525 1162 512 1182 q 549 1127 538 1143 z " - }, - "ˇ": { - "ha": 718, - "x_min": 38, - "x_max": 688, - "o": "m 168 968 q 132 1015 146 996 q 107 1050 119 1034 q 83 1086 96 1067 q 50 1135 71 1105 q 41 1152 43 1145 q 38 1165 38 1160 q 60 1187 38 1175 q 112 1213 82 1200 q 172 1238 142 1226 q 218 1258 202 1250 q 226 1260 222 1260 q 236 1255 231 1260 q 247 1239 240 1251 l 346 1063 l 509 1256 q 515 1259 511 1259 q 527 1256 519 1259 q 551 1245 535 1254 q 616 1213 585 1226 q 682 1181 648 1199 q 688 1171 688 1179 q 683 1156 688 1165 q 664 1135 677 1147 q 535 992 599 1063 q 410 851 472 921 q 396 842 404 844 q 382 840 389 840 l 373 840 l 268 840 q 256 842 262 840 q 246 851 250 844 q 237 865 245 852 q 217 895 229 878 q 192 932 205 913 q 168 968 178 952 z " - }, - "˘": { - "ha": 481, - "x_min": 51, - "x_max": 437, - "o": "m 315 991 q 317 998 315 995 q 326 1004 319 1002 q 344 1008 332 1006 q 376 1009 356 1009 q 408 1008 396 1009 q 427 1005 420 1007 q 435 1000 433 1003 q 437 992 437 997 q 421 928 437 960 q 378 871 406 896 q 312 831 350 846 q 230 815 274 815 q 161 823 194 815 q 104 847 129 831 q 65 886 80 863 q 51 939 51 909 q 52 952 51 945 q 54 968 53 959 q 58 985 56 978 q 66 997 60 992 q 87 1003 73 1001 q 126 1006 100 1006 q 151 1005 142 1006 q 165 1002 160 1004 q 172 998 170 1000 q 173 992 173 995 q 172 986 173 991 q 172 975 172 981 q 174 956 172 966 q 184 939 177 947 q 203 926 191 931 q 234 921 216 921 q 270 927 254 921 q 295 942 285 932 q 310 961 305 951 q 315 982 315 972 l 315 991 l 315 991 z " - }, - "˙": { - "ha": 393, - "x_min": 50, - "x_max": 341, - "o": "m 50 949 q 52 1000 51 981 q 53 1029 52 1019 q 53 1043 53 1039 q 53 1051 53 1047 q 53 1060 53 1055 q 54 1078 54 1065 q 56 1113 55 1090 q 60 1171 58 1135 q 64 1202 61 1194 q 79 1213 67 1211 q 204 1213 139 1213 q 327 1214 269 1213 q 337 1211 333 1214 q 341 1198 341 1207 l 322 985 q 317 954 319 962 q 302 944 315 945 q 183 943 244 943 q 57 942 123 942 q 51 943 53 942 q 50 947 50 943 l 50 949 z " - }, - "˚": { - "ha": 481, - "x_min": 50, - "x_max": 431, - "o": "m 239 808 q 164 821 199 808 q 104 856 130 833 q 64 912 79 879 q 50 988 50 945 q 65 1061 50 1027 q 108 1122 81 1096 q 172 1163 135 1147 q 252 1178 209 1178 q 322 1166 289 1178 q 379 1131 355 1154 q 417 1077 404 1109 q 431 1006 431 1045 q 418 934 431 970 q 379 870 404 899 q 319 825 355 842 q 239 808 283 808 m 309 989 q 310 996 310 992 q 310 1002 310 999 q 307 1028 310 1015 q 298 1054 304 1042 q 280 1074 291 1066 q 253 1081 269 1081 q 214 1073 231 1081 q 187 1051 197 1064 q 171 1021 176 1038 q 166 987 166 1004 q 169 961 166 975 q 178 935 172 947 q 197 916 185 924 q 227 907 208 908 q 261 915 247 907 q 286 933 276 922 q 301 960 296 945 q 309 989 307 975 z " - }, - "˛": { - "ha": 369, - "x_min": 34, - "x_max": 328, - "o": "m 34 -262 q 52 -185 37 -221 q 92 -117 68 -149 q 145 -60 115 -86 q 206 -12 175 -33 l 263 -12 q 304 -12 285 -12 q 328 -12 323 -12 q 279 -61 304 -36 q 230 -113 253 -85 q 187 -173 206 -141 q 159 -241 168 -204 q 157 -256 157 -249 q 169 -285 157 -273 q 205 -297 181 -297 q 236 -296 223 -297 q 261 -293 250 -295 q 284 -288 273 -291 q 309 -279 295 -284 q 307 -306 309 -289 q 304 -339 306 -322 q 299 -368 302 -355 q 295 -383 297 -381 l 296 -382 q 237 -400 270 -396 q 176 -404 204 -404 q 116 -394 142 -404 q 72 -365 90 -383 q 44 -320 54 -346 q 34 -262 34 -294 z " - }, - "˜": { - "ha": 760, - "x_min": 43, - "x_max": 719, - "o": "m 456 1071 q 480 1046 469 1053 q 506 1038 491 1038 q 536 1049 527 1038 q 549 1075 545 1061 q 555 1100 553 1088 q 563 1111 557 1111 q 574 1111 564 1111 q 598 1112 584 1112 q 629 1114 612 1113 q 661 1115 646 1114 q 687 1117 676 1116 q 701 1117 699 1117 q 713 1114 707 1117 q 719 1104 719 1112 q 702 1005 719 1055 q 653 915 684 956 q 577 849 621 874 q 479 823 533 823 q 436 827 458 823 q 394 843 415 831 q 351 874 372 854 q 307 926 329 894 q 282 947 295 943 q 252 951 270 951 q 226 945 236 951 q 210 927 216 938 q 201 903 203 916 q 199 877 199 890 q 193 866 199 871 q 179 861 188 861 q 144 861 157 861 q 120 860 131 861 q 96 860 109 860 q 63 859 83 859 q 49 862 56 859 q 43 871 43 865 q 61 987 43 935 q 111 1077 79 1040 q 184 1135 142 1114 q 275 1156 227 1156 q 325 1154 302 1156 q 371 1143 349 1152 q 413 1118 393 1135 q 456 1071 434 1101 z " - }, - "˝": { - "ha": 861, - "x_min": 32, - "x_max": 864, - "o": "m 255 944 q 205 876 225 903 q 172 833 185 849 q 152 812 159 818 q 140 806 144 806 q 133 808 136 806 q 107 825 119 818 q 85 838 96 832 q 65 849 75 844 q 41 861 54 854 q 32 875 32 866 q 34 888 33 880 q 40 907 36 895 l 165 1271 q 172 1284 169 1280 q 180 1287 176 1287 q 186 1285 183 1287 q 193 1282 190 1284 q 299 1221 246 1246 q 403 1168 351 1195 q 415 1149 415 1160 q 404 1122 415 1139 q 360 1071 377 1091 q 327 1033 342 1051 q 296 994 312 1015 q 255 944 279 974 m 667 944 q 605 876 630 903 q 564 833 580 849 q 540 812 549 818 q 527 806 532 806 q 521 808 523 806 q 494 827 506 819 q 472 842 482 836 q 450 854 461 848 q 425 867 439 861 q 418 879 418 873 q 421 892 418 884 q 432 913 425 900 l 608 1284 q 618 1297 613 1294 q 626 1301 623 1301 q 638 1295 631 1301 q 746 1227 690 1257 q 854 1168 802 1198 q 861 1161 859 1164 q 864 1153 864 1158 q 860 1139 864 1147 q 847 1122 857 1131 q 795 1070 816 1091 q 755 1032 774 1050 q 717 994 737 1014 q 667 944 696 974 z " - }, - "̏": { - "ha": 725, - "x_min": 30, - "x_max": 681, - "o": "m 469 968 q 449 1015 457 996 q 434 1052 441 1034 q 419 1088 427 1069 q 400 1135 412 1107 q 398 1147 399 1142 q 397 1156 397 1152 q 401 1172 397 1166 q 414 1181 405 1177 q 520 1239 465 1210 q 627 1305 576 1269 q 630 1307 627 1307 q 633 1308 633 1308 q 635 1309 634 1308 q 636 1309 635 1309 q 642 1303 642 1309 l 680 907 q 681 896 680 901 q 681 888 681 891 q 678 871 681 876 q 667 861 675 866 q 638 849 651 854 q 613 838 625 844 q 586 825 600 832 q 553 808 572 818 q 545 806 551 806 q 533 815 539 806 q 518 843 527 824 q 498 893 510 863 q 469 968 486 924 m 130 968 q 103 1015 114 996 q 83 1051 93 1034 q 62 1087 73 1068 q 37 1135 52 1107 q 31 1150 33 1143 q 30 1162 30 1157 q 33 1174 30 1169 q 43 1181 37 1178 q 96 1210 68 1196 q 151 1240 123 1225 q 207 1272 179 1255 q 259 1305 234 1288 q 269 1309 266 1309 q 274 1303 273 1309 l 350 907 q 353 892 351 898 q 354 881 354 886 q 352 869 354 875 q 343 861 350 864 q 317 849 329 854 q 293 838 305 844 q 268 825 281 832 q 238 808 254 818 q 231 806 235 806 q 217 815 224 806 q 198 843 210 824 q 171 893 187 863 q 130 968 154 924 z " - }, - "̑": { - "ha": 462, - "x_min": 39, - "x_max": 418, - "o": "m 296 833 q 297 842 296 837 q 298 852 298 846 q 281 887 298 870 q 228 903 263 903 q 192 897 206 903 q 168 880 177 890 q 156 858 159 869 q 153 836 153 846 q 153 835 153 836 q 153 834 153 835 q 151 828 153 831 q 144 823 149 825 q 130 820 139 821 q 103 819 120 819 q 67 820 80 819 q 48 826 54 822 q 40 836 41 830 q 39 850 39 842 q 55 917 39 888 q 99 967 71 947 q 164 998 127 987 q 245 1009 202 1009 q 324 995 291 1009 q 378 956 357 980 q 409 902 399 932 q 418 840 418 871 q 417 829 418 833 q 408 821 415 824 q 389 817 401 818 q 353 815 376 815 q 323 816 334 815 q 306 819 312 817 q 297 823 299 821 q 295 829 295 826 q 295 831 295 831 q 296 833 296 832 z " - }, - "̦": { - "ha": 379, - "x_min": 43, - "x_max": 349, - "o": "m 164 -602 q 152 -596 157 -598 q 140 -591 148 -595 q 117 -579 132 -587 q 73 -555 102 -571 q 51 -536 51 -543 q 53 -530 51 -534 q 94 -466 73 -500 q 135 -398 115 -433 l 77 -397 l 65 -397 q 50 -396 56 -397 q 43 -391 43 -395 l 43 -389 q 48 -343 46 -360 q 50 -318 50 -327 q 51 -304 51 -309 q 52 -297 52 -300 q 53 -289 52 -294 q 54 -273 53 -284 q 56 -241 54 -261 q 60 -188 58 -221 q 65 -157 62 -165 q 80 -146 68 -148 q 144 -146 111 -146 q 210 -145 177 -146 q 275 -145 243 -145 q 337 -145 307 -145 q 349 -161 349 -145 l 336 -327 q 333 -353 334 -342 q 329 -371 331 -363 q 325 -388 328 -380 q 319 -407 323 -396 q 306 -432 315 -416 q 284 -465 296 -447 q 259 -500 272 -482 q 234 -534 245 -518 q 214 -562 222 -550 q 202 -577 205 -573 q 197 -584 200 -580 q 190 -593 194 -589 q 181 -601 186 -597 q 172 -604 176 -604 q 164 -602 168 -604 z " - }, - "Δ": { - "ha": 868, - "x_min": 56, - "x_max": 838, - "o": "m 71 88 q 83 126 74 99 q 107 193 93 154 q 139 281 121 232 q 177 382 157 330 q 218 489 197 435 q 259 595 239 544 q 297 691 279 646 q 331 770 316 736 q 340 782 334 777 q 354 792 347 788 q 369 799 361 796 q 380 803 376 802 q 404 809 384 804 q 447 821 423 814 q 495 831 471 827 q 530 836 518 836 q 553 832 541 836 q 570 811 566 829 q 640 623 605 720 q 709 427 675 526 q 776 231 743 328 q 838 41 808 133 l 838 43 q 838 35 838 41 q 837 21 838 28 q 834 8 836 14 q 830 2 833 2 q 595 1 706 2 q 391 0 485 1 q 221 -2 297 -1 q 92 -4 146 -3 q 64 4 73 -2 q 56 25 56 10 q 71 88 56 46 m 435 532 l 389 384 q 371 327 380 355 q 355 275 362 299 q 343 235 348 252 q 337 212 338 218 q 337 206 337 208 q 336 200 337 203 l 499 200 q 483 276 492 235 q 466 360 475 317 q 450 447 458 404 q 435 532 441 491 z " - }, - "∆": { - "ha": 868, - "x_min": 56, - "x_max": 838, - "o": "m 71 88 q 83 126 74 99 q 107 193 93 154 q 139 281 121 232 q 177 382 157 330 q 218 489 197 435 q 259 595 239 544 q 297 691 279 646 q 331 770 316 736 q 340 782 334 777 q 354 792 347 788 q 369 799 361 796 q 380 803 376 802 q 404 809 384 804 q 447 821 423 814 q 495 831 471 827 q 530 836 518 836 q 553 832 541 836 q 570 811 566 829 q 640 623 605 720 q 709 427 675 526 q 776 231 743 328 q 838 41 808 133 l 838 43 q 838 35 838 41 q 837 21 838 28 q 834 8 836 14 q 830 2 833 2 q 595 1 706 2 q 391 0 485 1 q 221 -2 297 -1 q 92 -4 146 -3 q 64 4 73 -2 q 56 25 56 10 q 71 88 56 46 m 435 532 l 389 384 q 371 327 380 355 q 355 275 362 299 q 343 235 348 252 q 337 212 338 218 q 337 206 337 208 q 336 200 337 203 l 499 200 q 483 276 492 235 q 466 360 475 317 q 450 447 458 404 q 435 532 441 491 z " - }, - "–": { - "ha": 683, - "x_min": 76, - "x_max": 673, - "o": "m 176 351 q 99 354 123 351 q 76 367 76 357 q 80 384 76 372 q 92 408 85 395 q 109 436 100 421 q 130 462 119 450 q 152 482 140 474 q 173 490 163 490 l 412 497 q 439 497 420 497 q 483 498 458 498 q 534 499 507 498 q 584 500 561 500 q 622 501 606 500 q 641 501 638 501 q 657 498 650 500 q 668 491 663 495 q 673 477 673 486 q 671 451 673 469 q 667 416 669 433 l 661 370 q 659 363 660 366 q 654 359 658 361 q 645 356 651 357 q 627 355 638 355 l 545 355 q 509 355 528 355 q 473 354 491 355 q 439 354 456 354 q 410 354 422 354 l 176 351 z " - }, - "—": { - "ha": 926, - "x_min": 76, - "x_max": 917, - "o": "m 176 351 q 99 354 123 351 q 76 368 76 358 q 80 384 76 373 q 92 409 85 395 q 109 436 100 422 q 130 463 119 451 q 152 483 140 475 q 173 491 163 490 l 498 497 q 537 497 506 497 q 610 498 568 498 q 699 499 652 499 q 786 500 746 500 q 854 502 827 501 q 884 502 882 502 q 901 498 893 501 q 912 491 907 496 q 917 478 917 487 q 915 452 917 469 q 910 416 913 434 l 904 371 q 902 364 903 367 q 898 359 901 361 q 888 356 895 357 q 871 355 882 355 l 709 355 q 645 355 677 355 q 584 355 613 355 q 532 354 555 355 q 496 354 509 354 l 176 351 z " - }, - "‘": { - "ha": 389, - "x_min": 107, - "x_max": 412, - "o": "m 292 1056 q 303 1049 299 1051 q 315 1044 307 1047 q 338 1033 323 1040 q 383 1008 353 1025 q 405 989 405 997 q 403 984 405 987 q 362 920 383 954 q 321 852 340 886 l 378 851 q 401 851 391 851 q 412 844 412 850 l 412 843 q 407 787 409 804 q 405 762 406 769 q 404 751 404 754 q 403 739 404 748 q 400 707 402 729 q 395 642 399 686 q 390 610 393 619 q 376 600 387 602 q 312 600 345 600 q 246 599 279 600 q 180 599 213 599 q 119 599 148 599 q 107 615 107 599 l 119 781 q 123 806 121 796 q 126 825 125 817 q 131 842 128 833 q 136 861 133 850 q 150 885 140 870 q 171 918 159 901 q 196 954 183 936 q 221 988 209 972 q 241 1016 233 1004 q 254 1031 250 1027 q 259 1038 256 1033 q 266 1047 262 1042 q 274 1055 269 1051 q 284 1058 279 1058 q 292 1056 288 1058 z " - }, - "’": { - "ha": 370, - "x_min": 109, - "x_max": 414, - "o": "m 230 524 q 218 530 222 528 q 206 536 214 532 q 183 548 198 540 q 138 572 168 555 q 117 591 117 583 q 119 596 117 593 q 160 660 138 627 q 201 728 181 694 l 143 729 l 131 729 q 115 730 121 729 q 109 736 109 731 l 109 737 q 114 783 112 766 q 116 809 115 800 q 117 822 117 818 q 118 829 117 826 q 118 838 118 833 q 119 854 119 842 q 122 885 120 865 q 126 939 123 905 q 131 970 127 961 q 146 980 134 979 q 210 980 176 980 q 276 981 243 981 q 341 981 309 981 q 403 981 373 981 q 414 965 414 981 l 402 800 q 398 774 400 784 q 395 755 397 764 q 391 739 393 747 q 385 720 389 730 q 372 695 381 710 q 350 662 362 680 q 325 626 338 644 q 300 592 311 608 q 279 565 288 576 q 268 549 271 553 q 263 542 266 547 q 256 533 260 538 q 247 526 252 529 q 237 522 242 522 q 230 524 234 522 z " - }, - "‚": { - "ha": 398, - "x_min": 56, - "x_max": 361, - "o": "m 176 -225 q 164 -219 169 -221 q 152 -214 160 -218 q 129 -202 144 -210 q 85 -178 114 -194 q 63 -159 63 -166 q 65 -153 63 -157 q 106 -89 85 -123 q 147 -21 127 -56 l 90 -20 l 77 -20 q 62 -19 68 -20 q 56 -14 56 -18 l 56 -12 q 60 34 58 17 q 62 59 62 50 q 63 73 63 68 q 64 80 64 77 q 65 88 64 83 q 66 104 65 93 q 68 136 66 116 q 73 189 70 156 q 77 220 74 212 q 92 231 80 229 q 156 231 123 231 q 222 232 189 231 q 287 232 255 232 q 349 232 319 232 q 361 216 361 232 l 349 50 q 345 24 347 35 q 341 6 343 14 q 337 -11 340 -3 q 332 -30 335 -19 q 318 -55 328 -39 q 296 -87 309 -70 q 271 -123 284 -105 q 246 -157 258 -141 q 226 -184 235 -173 q 214 -200 217 -196 q 209 -207 212 -203 q 202 -216 206 -212 q 193 -224 198 -220 q 184 -227 189 -227 q 176 -225 180 -227 z " - }, - "“": { - "ha": 747, - "x_min": 107, - "x_max": 770, - "o": "m 649 1056 q 661 1049 656 1051 q 672 1044 665 1047 q 695 1033 680 1040 q 741 1008 711 1025 q 762 989 762 997 q 760 984 762 987 q 719 920 741 954 q 678 852 698 886 l 736 851 q 759 851 748 851 q 770 844 770 850 l 770 843 q 765 787 766 804 q 762 762 763 769 q 761 751 762 754 q 760 739 761 748 q 758 707 760 729 q 753 642 756 686 q 748 610 751 619 q 733 600 745 602 q 669 600 703 600 q 603 599 636 600 q 538 599 570 599 q 476 599 505 599 q 465 615 465 599 l 477 781 q 480 806 479 796 q 484 825 482 817 q 488 842 486 833 q 494 861 490 850 q 507 885 498 870 q 529 918 517 901 q 553 954 541 936 q 578 988 566 972 q 599 1016 590 1004 q 611 1031 608 1027 q 616 1038 613 1033 q 623 1047 619 1042 q 631 1055 627 1051 q 642 1058 636 1058 q 649 1056 645 1058 m 292 1056 q 303 1049 299 1051 q 315 1044 307 1047 q 338 1033 323 1040 q 383 1008 353 1025 q 405 989 405 997 q 403 984 405 987 q 362 920 383 954 q 321 852 340 886 l 378 851 q 401 851 391 851 q 412 844 412 850 l 412 843 q 407 787 409 804 q 405 762 406 769 q 404 751 404 754 q 403 739 404 748 q 400 707 402 729 q 395 642 399 686 q 390 610 393 619 q 376 600 387 602 q 312 600 345 600 q 246 599 279 600 q 180 599 213 599 q 119 599 148 599 q 107 615 107 599 l 119 781 q 123 806 121 796 q 126 825 125 817 q 131 842 128 833 q 136 861 133 850 q 150 885 140 870 q 171 918 159 901 q 196 954 183 936 q 221 988 209 972 q 241 1016 233 1004 q 254 1031 250 1027 q 259 1038 256 1033 q 266 1047 262 1042 q 274 1055 269 1051 q 284 1058 279 1058 q 292 1056 288 1058 z " - }, - "”": { - "ha": 727, - "x_min": 109, - "x_max": 771, - "o": "m 587 524 q 575 530 579 528 q 563 536 570 532 q 539 548 555 540 q 495 572 524 555 q 473 591 473 583 q 475 596 473 593 q 516 660 495 627 q 557 728 538 694 l 500 729 l 488 729 q 472 730 478 729 q 466 736 466 731 l 466 737 q 470 783 469 766 q 473 809 472 800 q 474 822 473 818 q 474 829 474 826 q 475 838 475 833 q 476 854 475 842 q 478 885 477 865 q 483 939 480 905 q 487 970 484 961 q 503 980 490 979 q 566 980 533 980 q 632 981 600 981 q 697 981 665 981 q 760 981 730 981 q 771 965 771 981 l 759 800 q 755 774 757 784 q 752 755 753 764 q 748 739 750 747 q 742 720 745 730 q 728 695 738 710 q 707 662 719 680 q 681 626 694 644 q 656 592 668 608 q 636 565 645 576 q 625 549 627 553 q 620 542 623 547 q 612 533 616 538 q 604 526 608 529 q 594 522 599 522 q 587 524 591 522 m 230 524 q 218 530 222 528 q 206 536 214 532 q 183 548 198 540 q 138 572 168 555 q 117 591 117 583 q 119 596 117 593 q 160 660 138 627 q 201 728 181 694 l 143 729 l 131 729 q 115 730 121 729 q 109 736 109 731 l 109 737 q 114 783 112 766 q 116 809 115 800 q 117 822 117 818 q 118 829 117 826 q 118 838 118 833 q 119 854 119 842 q 122 885 120 865 q 126 939 123 905 q 131 970 127 961 q 146 980 134 979 q 210 980 176 980 q 276 981 243 981 q 341 981 309 981 q 403 981 373 981 q 414 965 414 981 l 402 800 q 398 774 400 784 q 395 755 397 764 q 391 739 393 747 q 385 720 389 730 q 372 695 381 710 q 350 662 362 680 q 325 626 338 644 q 300 592 311 608 q 279 565 288 576 q 268 549 271 553 q 263 542 266 547 q 256 533 260 538 q 247 526 252 529 q 237 522 242 522 q 230 524 234 522 z " - }, - "„": { - "ha": 781, - "x_min": 56, - "x_max": 745, - "o": "m 560 -225 q 548 -219 553 -221 q 536 -214 544 -218 q 513 -202 528 -210 q 469 -178 498 -194 q 447 -159 447 -166 q 449 -153 447 -157 q 490 -89 469 -123 q 531 -21 511 -56 l 473 -20 l 461 -20 q 446 -19 452 -20 q 439 -14 439 -18 l 439 -12 q 444 34 442 17 q 446 59 446 50 q 447 73 447 68 q 448 80 448 77 q 449 88 448 83 q 450 104 449 93 q 452 136 450 116 q 456 189 454 156 q 461 220 458 212 q 476 231 464 229 q 540 231 507 231 q 606 232 573 231 q 671 232 639 232 q 733 232 703 232 q 745 216 745 232 l 732 50 q 729 24 730 35 q 725 6 727 14 q 721 -11 724 -3 q 715 -30 719 -19 q 702 -55 711 -39 q 680 -87 692 -70 q 655 -123 668 -105 q 630 -157 642 -141 q 610 -184 618 -173 q 598 -200 601 -196 q 593 -207 596 -203 q 586 -216 590 -212 q 577 -224 582 -220 q 568 -227 572 -227 q 560 -225 564 -227 m 176 -225 q 164 -219 169 -221 q 152 -214 160 -218 q 129 -202 144 -210 q 85 -178 114 -194 q 63 -159 63 -166 q 65 -153 63 -157 q 106 -89 85 -123 q 147 -21 127 -56 l 90 -20 l 77 -20 q 62 -19 68 -20 q 56 -14 56 -18 l 56 -12 q 60 34 58 17 q 62 59 62 50 q 63 73 63 68 q 64 80 64 77 q 65 88 64 83 q 66 104 65 93 q 68 136 66 116 q 73 189 70 156 q 77 220 74 212 q 92 231 80 229 q 156 231 123 231 q 222 232 189 231 q 287 232 255 232 q 349 232 319 232 q 361 216 361 232 l 349 50 q 345 24 347 35 q 341 6 343 14 q 337 -11 340 -3 q 332 -30 335 -19 q 318 -55 328 -39 q 296 -87 309 -70 q 271 -123 284 -105 q 246 -157 258 -141 q 226 -184 235 -173 q 214 -200 217 -196 q 209 -207 212 -203 q 202 -216 206 -212 q 193 -224 198 -220 q 184 -227 189 -227 q 176 -225 180 -227 z " - }, - "†": { - "ha": 612, - "x_min": 91, - "x_max": 640, - "o": "m 437 623 l 406 96 q 406 87 406 91 q 406 81 406 83 q 403 73 406 75 q 389 66 400 70 l 309 68 q 299 67 307 68 q 283 66 292 67 q 267 65 275 66 q 255 65 258 65 q 245 69 250 65 q 241 84 241 73 l 241 87 q 244 144 242 117 q 248 199 245 172 q 252 253 250 226 q 256 311 254 281 q 261 382 258 342 q 265 465 263 422 q 270 547 267 507 q 274 621 272 588 l 190 621 l 172 621 q 110 624 128 621 q 91 638 91 627 q 93 659 91 646 q 97 687 94 672 q 102 718 99 703 q 109 745 106 733 q 119 754 115 750 q 140 760 123 759 l 222 762 q 238 763 222 762 q 279 764 254 764 l 292 933 q 295 961 293 954 q 304 971 296 968 q 451 979 380 975 q 454 980 452 980 q 459 974 459 980 l 446 768 q 551 769 513 768 q 608 771 589 771 q 624 768 616 770 q 635 761 630 765 q 640 747 640 756 q 638 721 640 739 q 633 686 636 703 l 627 640 q 626 633 627 636 q 621 629 625 631 q 611 626 618 627 q 594 625 605 625 q 585 624 594 625 q 558 624 575 624 q 518 624 541 624 q 468 623 495 623 l 437 623 z " - }, - "‡": { - "ha": 684, - "x_min": 68, - "x_max": 692, - "o": "m 465 236 l 457 109 q 457 101 457 104 q 458 94 458 97 q 455 86 458 89 q 441 79 452 83 l 333 20 q 321 15 328 18 q 307 11 314 11 q 297 15 301 11 q 292 30 292 19 q 296 135 292 86 q 304 235 300 184 l 168 234 q 92 237 115 233 q 68 250 68 241 q 73 267 68 256 q 85 291 77 278 q 102 319 92 304 q 122 346 111 334 q 144 365 133 357 q 165 374 155 373 l 248 375 q 265 376 248 376 q 311 378 283 377 q 318 503 314 439 q 326 621 322 566 l 194 621 q 118 624 141 620 q 94 637 94 627 q 99 653 94 642 q 111 678 103 665 q 127 706 118 691 q 148 732 137 720 q 170 752 159 744 q 191 760 181 760 l 273 762 q 289 763 273 762 q 331 764 305 764 l 336 892 q 339 920 338 912 q 349 930 341 928 q 426 951 387 941 q 503 979 464 962 q 506 980 504 980 q 511 974 511 980 l 498 768 q 603 769 565 768 q 659 771 640 771 q 675 768 668 770 q 687 761 682 765 q 692 747 692 756 q 690 721 692 739 q 685 686 688 703 l 679 640 q 677 633 678 636 q 673 629 676 631 q 663 626 669 627 q 646 625 656 625 q 636 624 646 625 q 610 624 627 624 q 570 624 593 624 q 519 623 547 624 l 489 623 l 474 381 q 577 384 539 382 q 633 385 615 385 q 650 381 642 384 q 661 374 656 378 q 666 361 666 370 q 664 334 666 352 q 659 299 662 317 l 653 254 q 651 247 652 250 q 647 242 650 244 q 637 239 644 240 q 620 238 631 238 q 610 238 620 238 q 584 237 601 237 q 544 237 567 237 q 494 236 521 237 l 465 236 z " - }, - "•": { - "ha": 663, - "x_min": 90, - "x_max": 656, - "o": "m 349 203 q 236 225 285 203 q 155 283 188 247 q 106 367 123 319 q 90 465 90 414 q 115 581 90 528 q 184 671 140 634 q 284 729 227 709 q 406 750 342 750 q 507 731 460 750 q 586 678 553 711 q 638 599 619 644 q 656 502 656 553 q 632 376 656 431 q 566 282 608 321 q 468 223 524 243 q 349 203 412 203 z " - }, - "…": { - "ha": 1174, - "x_min": 61, - "x_max": 1138, - "o": "m 61 -26 q 63 25 62 6 q 64 54 64 43 q 64 68 64 64 q 64 76 64 72 q 65 85 64 79 q 66 103 65 90 q 68 137 66 115 q 71 196 69 159 q 76 227 73 218 q 91 237 79 235 q 216 238 151 237 q 338 239 281 238 q 349 235 345 239 q 353 222 353 232 l 334 9 q 329 -21 331 -13 q 313 -31 326 -30 q 195 -33 256 -32 q 68 -33 134 -33 q 63 -33 64 -33 q 61 -28 61 -32 l 61 -26 m 454 -26 q 456 25 455 6 q 457 54 456 43 q 457 68 457 64 q 457 76 457 72 q 457 85 457 79 q 458 103 458 90 q 460 137 459 115 q 464 196 462 159 q 468 227 465 218 q 484 237 471 235 q 608 238 543 237 q 731 239 673 238 q 741 235 737 239 q 745 222 745 232 l 726 9 q 721 -21 724 -13 q 706 -31 719 -30 q 588 -33 648 -32 q 461 -33 527 -33 q 455 -33 457 -33 q 454 -28 454 -32 l 454 -26 m 846 -26 q 848 25 848 6 q 849 54 849 43 q 850 68 850 64 q 850 76 850 72 q 850 85 850 79 q 851 103 850 90 q 853 137 852 115 q 857 196 854 159 q 861 227 858 218 q 876 237 864 235 q 1001 238 936 237 q 1124 239 1066 238 q 1134 235 1130 239 q 1138 222 1138 232 l 1119 9 q 1114 -21 1116 -13 q 1099 -31 1112 -30 q 980 -33 1041 -32 q 854 -33 920 -33 q 848 -33 850 -33 q 846 -28 846 -32 l 846 -26 z " - }, - "‰": { - "ha": 2116, - "x_min": 103, - "x_max": 2104, - "o": "m 717 586 q 827 720 770 652 q 938 857 883 789 q 950 871 946 867 q 961 876 954 876 q 967 876 966 876 q 1032 825 1000 849 q 1096 782 1063 802 q 1110 775 1101 780 q 1118 766 1118 771 q 1116 761 1118 763 l 582 113 q 575 103 576 106 q 568 100 574 100 q 561 101 565 100 q 549 104 556 102 q 487 153 510 136 q 450 180 463 171 q 431 193 437 190 q 422 200 426 197 q 416 209 417 203 q 416 222 416 214 q 493 312 456 268 q 566 400 530 356 q 639 491 602 445 q 717 586 676 536 m 103 764 q 121 889 103 831 q 175 989 139 947 q 265 1056 211 1031 q 391 1080 319 1080 q 508 1056 458 1080 q 591 991 558 1031 q 639 899 623 951 q 654 791 654 846 q 634 661 654 718 q 576 564 614 604 q 487 503 539 524 q 372 482 435 482 q 263 502 313 482 q 178 559 214 522 q 123 648 142 595 q 103 764 103 700 m 277 778 q 281 724 277 751 q 296 675 285 697 q 326 639 307 653 q 375 625 345 625 q 428 641 407 625 q 461 682 449 657 q 479 735 474 706 q 484 793 484 765 q 479 842 484 816 q 463 890 474 868 q 433 927 452 913 q 387 942 414 942 q 334 927 355 942 q 300 888 313 912 q 282 836 287 865 q 277 778 277 806 m 924 247 q 942 372 924 314 q 996 472 960 429 q 1086 538 1032 514 q 1212 563 1140 563 q 1330 538 1280 563 q 1412 474 1379 514 q 1460 381 1444 433 q 1476 273 1476 329 q 1455 143 1476 201 q 1398 46 1435 86 q 1308 -14 1360 7 q 1193 -35 1256 -35 q 1084 -15 1134 -35 q 999 41 1035 5 q 944 130 964 78 q 924 247 924 182 m 1098 260 q 1102 207 1098 234 q 1117 158 1106 180 q 1147 122 1128 136 q 1196 108 1166 108 q 1249 124 1228 108 q 1283 164 1270 140 q 1300 218 1295 189 q 1305 275 1305 248 q 1300 325 1305 298 q 1284 373 1295 351 q 1254 410 1273 395 q 1208 425 1236 425 q 1155 410 1176 425 q 1121 371 1134 395 q 1103 318 1108 347 q 1098 260 1098 289 m 1553 247 q 1571 372 1553 314 q 1625 472 1589 429 q 1715 538 1661 514 q 1841 563 1769 563 q 1958 538 1908 563 q 2041 474 2008 514 q 2089 381 2073 433 q 2104 273 2104 329 q 2084 143 2104 201 q 2026 46 2064 86 q 1937 -14 1989 7 q 1822 -35 1885 -35 q 1713 -15 1763 -35 q 1628 41 1664 5 q 1573 130 1592 78 q 1553 247 1553 182 m 1727 260 q 1731 207 1727 234 q 1746 158 1735 180 q 1776 122 1757 136 q 1825 108 1795 108 q 1878 124 1857 108 q 1911 164 1899 140 q 1929 218 1924 189 q 1934 275 1934 248 q 1929 325 1934 298 q 1913 373 1924 351 q 1883 410 1902 395 q 1837 425 1864 425 q 1784 410 1805 425 q 1750 371 1763 395 q 1732 318 1737 347 q 1727 260 1727 289 z " - }, - "‹": { - "ha": 712, - "x_min": 70, - "x_max": 694, - "o": "m 689 220 q 694 212 694 216 q 693 204 694 208 q 646 100 665 153 q 608 -7 627 46 q 591 -20 604 -20 q 581 -18 586 -20 q 566 -12 575 -16 l 121 248 q 92 265 99 258 q 84 286 84 272 q 79 390 82 337 q 71 500 77 443 q 70 502 71 501 q 70 503 70 503 l 71 508 q 74 514 71 511 q 79 516 77 516 q 137 542 101 527 q 216 573 172 556 q 311 609 260 591 q 414 648 361 628 q 519 687 467 667 q 618 724 571 706 q 649 730 640 730 q 660 720 658 730 q 669 610 664 667 q 686 502 674 553 q 678 486 686 487 l 380 376 q 410 361 387 372 q 463 334 433 349 q 528 301 494 319 q 595 268 563 283 q 652 239 627 252 q 689 220 677 226 z " - }, - "›": { - "ha": 692, - "x_min": 78, - "x_max": 703, - "o": "m 83 220 q 120 239 95 226 q 178 268 146 252 q 244 301 210 283 q 309 334 279 319 q 362 361 340 349 q 393 376 385 372 l 94 486 q 86 502 86 487 q 103 610 98 553 q 113 720 109 667 q 123 730 115 730 q 154 724 132 730 q 254 687 201 706 q 358 648 306 667 q 461 609 411 628 q 556 573 512 591 q 636 542 600 556 q 694 516 671 527 q 699 514 696 516 q 702 508 701 511 l 703 503 q 702 502 703 503 q 702 500 702 501 q 693 390 696 443 q 688 286 690 337 q 681 265 688 272 q 652 248 673 258 l 207 -12 q 192 -18 197 -16 q 181 -20 186 -20 q 170 -17 174 -20 q 164 -7 167 -14 q 125 100 144 46 q 79 204 106 153 q 78 212 78 208 q 79 217 78 215 q 83 220 80 218 z " - }, - "⁄": { - "ha": 503, - "x_min": -6, - "x_max": 601, - "o": "m 256 640 q 336 819 298 729 q 414 1001 374 908 q 428 1028 423 1021 q 442 1036 433 1036 l 447 1036 q 519 1004 484 1021 q 591 980 555 987 q 598 977 595 979 q 601 971 601 975 l 601 969 l 166 10 q 162 -1 163 4 q 159 -11 161 -7 q 155 -17 157 -15 q 146 -20 152 -20 q 129 -15 138 -20 l 60 14 q 44 19 55 16 q 22 28 33 23 q 2 40 11 33 q -6 56 -6 47 q -3 68 -6 62 q 57 198 28 134 q 116 329 86 261 q 180 473 146 397 q 256 640 214 549 z " - }, - "⁴": { - "ha": 599, - "x_min": 43, - "x_max": 615, - "o": "m 602 562 q 592 513 597 538 q 590 503 591 506 q 584 499 590 500 q 562 498 578 498 q 515 497 547 498 l 507 418 q 506 410 507 414 q 500 405 505 406 q 486 399 497 404 q 460 389 475 395 q 428 377 445 383 q 395 366 410 371 q 367 357 379 360 q 351 353 355 353 q 340 356 345 353 q 336 369 336 359 q 338 421 336 389 q 343 495 340 454 q 270 495 307 495 q 203 494 234 494 q 149 494 172 494 q 114 494 125 494 q 59 496 75 494 q 43 509 43 499 q 43 514 43 511 q 47 520 44 517 q 61 544 51 527 q 85 585 71 562 q 117 637 100 609 q 152 694 134 666 l 241 843 q 271 897 258 870 q 299 945 283 923 q 336 982 315 966 q 392 1005 358 998 l 528 1041 q 534 1042 532 1042 q 540 1042 537 1042 q 548 1040 545 1042 q 551 1029 551 1037 l 551 1024 q 545 920 548 964 q 540 834 543 876 q 534 748 537 793 q 529 644 532 703 q 577 645 558 644 q 600 645 596 645 q 610 641 605 645 q 615 629 615 637 q 614 625 615 626 l 602 562 m 355 637 q 363 701 359 667 q 370 768 367 734 q 375 836 373 802 q 378 901 377 869 l 221 637 l 355 637 z " - }, - "€": { - "ha": 985, - "x_min": 72, - "x_max": 991, - "o": "m 659 638 q 670 637 666 638 q 675 633 673 635 q 677 629 677 631 q 679 624 677 627 q 687 593 684 610 q 689 558 689 575 q 686 525 689 536 q 671 509 682 514 q 639 503 660 503 q 583 502 618 502 l 488 502 q 486 478 487 490 q 486 452 486 465 l 659 447 q 675 438 669 447 q 685 418 682 430 q 688 392 688 406 q 689 367 689 378 q 686 334 689 345 q 671 317 682 323 q 639 311 660 312 q 583 311 618 311 l 513 311 q 578 226 536 258 q 682 195 621 195 q 751 197 721 195 q 806 206 781 200 q 857 222 832 212 q 910 248 882 233 q 917 249 912 249 q 923 245 922 249 q 925 230 925 241 q 925 171 925 205 q 925 105 925 136 q 924 51 924 73 q 922 28 923 28 q 856 -4 891 9 q 782 -23 820 -16 q 707 -33 745 -31 q 633 -35 669 -35 q 480 -11 552 -35 q 350 60 408 14 q 251 170 292 106 q 191 314 210 235 q 133 314 156 314 q 96 315 110 313 q 77 321 83 317 q 72 336 72 326 q 73 366 72 338 q 79 437 74 393 q 91 449 84 445 q 105 455 98 453 q 116 457 112 457 q 121 458 121 458 q 143 458 128 458 q 178 457 158 458 q 179 481 178 469 q 181 505 180 494 q 134 505 153 505 q 105 507 115 505 q 90 514 94 509 q 85 530 85 519 q 88 555 85 542 l 90 587 q 91 612 91 600 q 93 628 92 624 q 105 640 98 636 q 119 646 112 644 q 130 649 125 648 q 134 649 134 649 q 165 649 144 649 q 216 648 186 649 q 293 784 245 722 q 403 889 340 845 q 542 958 466 934 q 703 983 618 983 q 807 975 762 983 q 886 955 852 967 q 942 929 920 943 q 980 902 965 915 q 979 897 979 902 q 981 860 979 887 q 985 800 983 833 q 989 732 987 766 q 991 673 991 698 q 988 664 991 669 q 975 659 985 659 q 960 661 968 659 q 924 679 945 665 q 873 710 902 694 q 809 738 844 726 q 731 751 773 751 q 617 722 666 751 q 535 642 568 692 l 659 638 z " - }, - "™": { - "ha": 1327, - "x_min": 149, - "x_max": 1298, - "o": "m 262 376 l 296 822 q 235 823 269 823 q 155 823 202 823 q 150 826 151 823 q 149 833 149 830 l 149 836 l 195 948 q 194 949 194 948 l 194 950 q 210 955 194 952 q 252 960 226 958 q 314 965 279 963 q 387 970 349 968 q 463 975 425 972 q 536 979 502 977 q 596 982 570 981 q 638 984 623 983 q 649 983 644 984 q 654 974 654 981 q 654 972 654 972 q 654 970 654 971 q 631 908 640 937 q 608 845 621 879 q 606 842 607 845 q 602 834 604 838 q 595 826 600 829 q 585 821 591 822 q 576 822 581 822 q 565 822 572 822 l 466 822 q 462 782 464 801 q 458 740 460 762 q 453 691 456 718 q 447 629 450 665 l 427 422 q 426 415 427 419 q 420 410 425 412 l 303 368 q 291 363 298 366 q 277 361 283 361 q 267 364 271 361 q 262 374 262 367 l 262 376 m 1196 985 q 1200 986 1198 985 q 1204 986 1202 986 q 1216 981 1211 986 q 1222 964 1221 975 q 1226 929 1223 953 q 1233 880 1230 905 q 1240 834 1237 854 q 1244 809 1243 813 l 1257 730 q 1261 699 1259 714 q 1265 671 1263 684 q 1268 648 1267 658 q 1270 634 1270 638 l 1298 422 l 1294 410 q 1284 402 1293 407 q 1260 392 1274 397 q 1230 381 1246 387 q 1200 371 1214 376 q 1176 364 1186 367 q 1164 361 1166 361 q 1154 365 1158 361 q 1147 376 1149 368 q 1138 422 1142 397 q 1130 475 1134 447 q 1124 532 1126 503 q 1118 590 1121 562 l 1102 711 l 949 430 q 921 411 936 411 q 908 416 913 411 q 900 430 903 422 q 887 474 892 456 q 876 507 881 492 q 867 536 871 522 q 858 568 863 550 q 846 612 852 587 q 831 673 840 637 q 823 635 826 652 q 818 614 819 619 l 760 368 q 750 363 760 363 q 725 367 741 363 q 694 377 710 372 q 663 390 678 383 q 638 400 648 396 q 632 404 635 401 q 629 414 629 407 q 632 431 629 419 q 640 458 635 443 q 648 489 644 473 q 656 520 652 505 q 663 552 659 536 q 671 587 667 569 l 722 816 q 733 863 728 840 q 742 905 738 886 q 749 937 747 924 q 752 954 752 950 l 856 985 q 866 984 861 985 q 871 977 870 983 l 974 719 l 1067 950 l 1196 985 z " - }, - "−": { - "ha": 739, - "x_min": 102, - "x_max": 700, - "o": "m 202 351 q 126 354 149 351 q 102 367 102 357 q 107 384 102 372 q 119 408 111 395 q 136 436 126 421 q 156 462 145 450 q 178 482 167 474 q 199 490 189 490 l 438 497 q 466 497 446 497 q 509 498 485 498 q 561 499 534 498 q 610 500 587 500 q 649 501 633 500 q 667 501 665 501 q 684 498 676 500 q 695 491 690 495 q 700 477 700 486 q 698 451 700 469 q 693 416 696 433 l 687 370 q 685 363 686 366 q 681 359 684 361 q 671 356 677 357 q 654 355 665 355 l 571 355 q 536 355 554 355 q 500 354 517 355 q 466 354 482 354 q 436 354 449 354 l 202 351 z " - }, - "fi": { - "ha": 1046, - "x_min": 47, - "x_max": 1078, - "o": "m 751 523 l 475 523 q 461 382 468 452 q 448 251 454 313 q 437 142 442 190 q 430 68 433 94 q 429 61 429 66 q 430 56 429 58 q 430 53 430 54 q 426 43 430 47 q 403 35 421 39 l 224 -28 q 205 -35 217 -31 q 181 -39 193 -39 q 164 -35 172 -39 q 157 -18 157 -30 l 157 -14 q 160 18 158 -7 q 166 82 163 43 q 174 170 170 120 q 184 277 178 220 q 195 396 189 334 q 207 521 201 458 l 117 521 q 64 524 80 521 q 47 536 47 527 q 54 551 47 539 q 72 579 61 563 q 94 615 82 596 q 118 651 106 634 q 137 680 129 667 q 147 694 145 692 l 230 694 l 243 802 q 333 1037 261 960 q 543 1114 405 1114 q 572 1109 553 1114 q 611 1098 590 1105 q 655 1083 633 1092 q 695 1066 677 1075 q 724 1051 713 1058 q 735 1039 735 1044 q 730 1025 735 1034 q 703 963 712 987 q 688 924 693 939 q 679 904 682 909 q 669 898 675 898 q 659 904 664 903 q 647 905 654 905 q 620 916 633 911 q 594 921 608 921 q 542 902 564 921 q 507 830 519 883 q 495 764 499 800 q 486 694 490 729 l 796 694 q 910 708 851 694 q 1024 736 969 721 q 1030 736 1026 736 q 1036 731 1032 732 l 1038 730 l 977 80 q 971 49 974 58 q 957 38 969 41 q 837 -3 897 20 q 709 -46 777 -25 q 703 -44 704 -46 q 702 -39 702 -43 q 703 -20 702 -39 q 707 26 705 -2 q 712 91 709 55 q 718 163 715 127 q 724 232 721 199 q 728 288 726 264 l 751 523 m 1078 1120 q 1075 1076 1076 1091 q 1074 1052 1074 1060 q 1073 1042 1073 1044 q 1073 1039 1073 1040 q 1072 1035 1072 1038 q 1071 1022 1072 1032 q 1069 994 1070 1013 q 1065 941 1067 975 q 1060 910 1063 919 q 1045 899 1057 902 q 921 873 985 887 q 796 842 856 860 l 789 849 l 804 1035 q 809 1066 806 1057 q 823 1077 811 1074 q 943 1104 882 1088 q 1071 1134 1003 1120 q 1077 1130 1076 1134 q 1078 1120 1078 1126 z " - }, - "fl": { - "ha": 1181, - "x_min": 47, - "x_max": 1198, - "o": "m 157 -10 q 160 22 158 -3 q 166 85 163 47 q 174 172 170 123 q 184 278 178 221 q 195 396 189 334 q 207 521 201 458 l 117 521 q 64 524 80 521 q 47 536 47 527 q 54 551 47 539 q 72 579 61 563 q 94 615 82 596 q 118 651 106 634 q 137 680 129 667 q 147 694 145 692 l 230 694 l 243 802 q 278 946 253 888 q 339 1040 302 1004 q 424 1092 376 1076 q 526 1107 471 1107 q 638 1094 580 1107 q 757 1058 697 1081 q 776 1049 770 1053 q 783 1039 783 1045 q 778 1025 783 1034 q 746 957 756 983 q 729 916 735 931 q 719 896 723 901 q 707 891 715 891 q 698 893 703 891 q 688 898 694 895 q 640 914 664 907 q 594 921 616 921 q 542 902 564 921 q 507 830 519 883 q 494 764 499 800 q 486 694 490 729 l 663 694 q 674 691 669 694 q 679 678 679 687 q 671 654 679 675 q 648 599 663 633 l 623 544 q 613 529 618 534 q 593 523 608 524 l 475 523 q 461 383 468 452 q 448 253 454 314 q 437 145 442 193 q 430 73 433 98 q 429 65 429 71 q 430 60 429 62 q 430 57 430 58 q 426 47 430 51 q 403 39 421 43 l 224 -24 q 205 -31 217 -27 q 181 -35 193 -35 q 163 -30 170 -35 q 157 -10 157 -24 m 887 574 q 900 758 895 667 q 911 944 905 848 q 916 975 913 966 q 931 986 919 983 q 1058 1009 994 998 q 1185 1041 1121 1021 q 1191 1042 1187 1042 q 1198 1035 1198 1042 l 1110 66 l 1110 55 q 1105 45 1110 49 q 1083 37 1101 41 l 905 -28 q 886 -36 898 -32 q 862 -39 873 -39 q 845 -35 852 -39 q 838 -18 838 -30 l 838 -14 q 849 120 844 54 q 860 255 854 185 q 872 403 865 325 q 887 574 879 481 z " - } + "glyphs": { + "0": { + "ha": 1105, + "x_min": 94, + "x_max": 1096, + "o": "m 94 460 q 126 677 94 576 q 225 853 159 778 q 388 970 290 928 q 617 1013 486 1013 q 767 994 699 1013 q 888 940 835 975 q 980 859 941 906 q 1045 755 1019 811 q 1083 637 1071 699 q 1096 510 1096 574 q 1059 280 1096 382 q 954 109 1021 179 q 791 2 886 39 q 581 -35 696 -35 q 384 0 473 -35 q 230 99 294 35 q 130 255 165 164 q 94 460 94 347 m 387 486 q 395 376 387 432 q 426 275 404 321 q 487 201 448 230 q 587 173 526 173 q 663 188 630 173 q 721 228 696 203 q 762 287 745 254 q 789 359 779 321 q 804 437 800 397 q 808 514 808 477 q 804 578 808 545 q 790 646 800 612 q 765 710 781 680 q 728 763 749 740 q 677 800 706 787 q 610 814 648 814 q 533 800 566 814 q 474 762 499 786 q 432 707 449 739 q 406 638 416 675 q 391 563 395 602 q 387 486 387 524 z " }, - "familyName": "Carter One", - "ascender": 1535, - "descender": -604, - "underlinePosition": -104, - "underlineThickness": 69, - "boundingBox": { - "yMin": -604, - "xMin": -193, - "yMax": 1535, - "xMax": 2104 + "1": { + "ha": 468, + "x_min": 112, + "x_max": 441, + "o": "m 153 876 q 156 910 154 900 q 172 922 159 920 l 407 979 q 425 981 417 981 q 438 975 434 981 q 441 952 441 969 l 401 113 q 399 87 401 98 q 393 71 397 77 q 383 61 389 64 q 369 54 377 57 l 157 -8 q 141 -10 149 -10 q 121 -4 130 -10 q 112 20 112 3 q 112 22 112 20 q 113 35 112 24 q 114 67 113 45 q 117 130 115 90 q 122 232 119 170 q 129 384 125 294 q 139 595 134 474 q 153 876 145 717 z " }, - "resolution": 1000, - "original_font_information": { - "format": 0, - "copyright": "Copyright (c) 2011 by vernon adams. All rights reserved.", - "fontFamily": "Carter One", - "fontSubfamily": "Regular", - "uniqueID": "vernonadams: Carter One: 2011", - "fullName": "Carter One", - "version": "Version 1.000", - "postScriptName": "CarterOne", - "trademark": "Carter One is a trademark of vernon adams.", - "manufacturer": "vernon adams", - "designer": "vernon adams", - "description": "Copyright (c) 2011 by vernon adams. All rights reserved.", - "licenceURL": "http://scripts.sil.org/OFL" + "2": { + "ha": 768, + "x_min": 67, + "x_max": 758, + "o": "m 682 613 q 663 579 676 602 q 633 528 650 557 q 595 466 615 499 q 554 400 574 433 q 514 336 533 367 q 480 282 494 306 q 456 245 465 259 q 448 231 448 231 q 453 231 448 231 q 480 232 461 231 q 523 236 498 234 q 575 241 547 238 q 631 246 604 244 q 683 250 659 248 q 723 252 707 252 q 758 237 758 252 q 752 218 758 227 q 747 207 747 208 l 650 24 q 648 21 648 24 q 646 18 648 18 q 621 3 633 5 q 602 1 610 2 q 500 -1 544 0 q 420 -2 456 -1 q 356 -2 385 -2 q 299 -3 327 -3 q 244 -3 272 -3 q 183 -3 216 -3 q 93 7 118 -3 q 67 37 67 17 q 76 67 67 50 q 100 106 85 84 q 188 231 143 168 q 273 353 233 294 q 348 461 314 411 q 404 545 382 511 q 430 598 422 574 q 438 645 438 623 q 427 693 438 672 q 396 729 416 714 q 349 751 376 743 q 292 758 323 758 q 214 746 254 758 q 135 709 174 734 q 113 701 121 701 q 103 707 106 701 q 101 718 101 713 q 108 780 101 745 q 123 848 115 815 q 138 904 132 880 q 145 931 145 928 q 163 944 146 931 q 216 971 180 956 q 310 1000 252 987 q 450 1013 367 1013 q 548 992 498 1013 q 636 937 597 972 q 699 854 675 902 q 724 751 724 806 q 713 684 724 718 q 682 613 703 650 z " }, - "cssFontWeight": "normal", - "cssFontStyle": "normal" -} \ No newline at end of file + "3": { + "ha": 752, + "x_min": 65, + "x_max": 730, + "o": "m 441 -33 q 413 -35 427 -34 q 387 -35 399 -35 q 315 -31 349 -35 q 249 -17 281 -26 q 183 6 216 -7 q 111 35 149 19 q 97 44 102 37 q 91 58 93 50 q 89 75 90 66 q 88 90 89 83 q 84 120 87 98 q 78 167 81 142 q 71 213 75 191 q 66 243 68 235 q 65 249 65 245 q 72 264 65 258 q 87 270 79 270 q 93 269 90 270 q 142 237 117 254 q 195 208 167 221 q 256 186 224 195 q 329 177 289 177 q 406 198 380 177 q 431 271 431 220 q 428 308 431 288 q 414 345 425 328 q 383 374 404 362 q 330 386 363 386 l 208 386 q 210 405 208 389 q 215 443 212 420 q 221 489 218 465 q 228 535 224 514 q 233 572 231 557 q 236 588 235 587 q 244 617 240 610 q 253 625 249 625 q 278 620 265 621 q 304 618 291 618 q 377 644 351 618 q 404 717 404 669 q 399 749 404 733 q 384 776 394 764 q 357 795 373 788 q 319 803 341 803 q 269 800 294 803 q 219 792 243 797 q 171 781 194 787 q 129 768 148 774 q 131 802 131 781 q 131 823 131 812 q 130 845 130 833 q 132 888 130 866 q 138 928 133 909 q 151 960 142 946 q 176 978 160 973 q 241 997 214 990 q 292 1007 269 1004 q 340 1011 316 1010 q 394 1013 363 1013 q 507 998 450 1013 q 611 951 564 983 q 687 872 657 920 q 716 759 716 825 q 704 681 716 716 q 674 618 692 646 q 635 569 656 590 q 595 534 614 549 q 640 504 616 523 q 683 456 663 486 q 716 386 703 427 q 730 290 730 345 q 708 177 730 233 q 647 77 686 121 q 555 2 608 32 q 441 -33 503 -27 z " + }, + "4": { + "ha": 917, + "x_min": 16, + "x_max": 914, + "o": "m 913 387 q 910 372 912 382 q 905 348 907 361 q 900 319 903 335 q 894 289 897 304 l 878 212 q 873 196 876 201 q 858 189 869 191 q 823 187 846 187 q 758 187 800 187 l 746 63 q 743 51 745 57 q 734 42 741 45 q 712 33 730 40 q 671 18 695 26 q 621 -1 648 9 q 569 -19 593 -11 q 526 -33 545 -27 q 500 -38 507 -38 q 483 -33 490 -38 q 476 -14 476 -28 q 479 69 476 19 q 488 184 482 119 q 374 183 430 184 q 269 182 317 182 q 184 182 220 182 q 129 182 147 182 q 43 186 69 182 q 16 205 16 190 q 23 224 16 213 q 45 261 29 234 q 84 326 62 288 q 134 408 107 363 q 188 497 161 452 l 329 730 q 375 813 355 772 q 419 888 395 854 q 476 947 443 922 q 564 983 510 972 l 779 1040 q 797 1042 789 1042 q 809 1038 804 1042 q 813 1021 813 1034 l 813 1013 q 808 899 810 950 q 802 803 805 848 q 797 715 800 758 q 791 627 793 673 q 785 531 788 582 q 780 416 783 479 q 855 418 825 418 q 890 419 884 419 q 906 413 898 418 q 914 395 914 409 q 913 387 914 389 m 507 408 q 521 506 515 454 q 531 612 527 558 q 538 718 535 665 q 543 821 541 771 l 296 408 l 507 408 z " + }, + "5": { + "ha": 732, + "x_min": 41, + "x_max": 715, + "o": "m 96 188 q 103 195 98 191 q 116 199 108 199 l 120 199 q 169 194 146 195 q 223 193 192 193 q 291 198 258 193 q 349 216 323 203 q 391 255 375 230 q 406 320 406 280 q 388 394 406 367 q 340 433 370 420 q 276 449 311 446 q 206 452 241 452 q 182 452 193 452 q 163 452 172 452 q 134 455 142 452 q 126 471 126 458 q 127 482 126 476 q 129 496 127 488 q 139 619 131 557 q 157 742 146 680 q 178 864 167 803 q 198 986 189 925 q 452 1015 327 1001 q 707 1046 576 1029 q 715 1031 715 1046 q 713 1019 715 1024 q 709 1005 713 1017 q 701 976 706 994 q 690 937 696 958 q 679 893 684 915 q 667 853 673 872 q 658 821 662 833 q 635 785 651 798 q 596 766 618 772 q 549 757 574 759 q 496 755 523 755 q 452 755 475 755 q 409 755 429 755 q 382 753 393 755 q 363 744 371 751 q 353 722 356 736 q 349 684 349 708 q 493 660 427 680 q 609 601 559 640 q 687 503 659 562 q 715 360 715 444 q 693 223 715 283 q 634 120 671 164 q 548 46 597 76 q 441 -2 498 16 q 324 -27 385 -20 q 206 -35 264 -35 q 123 -31 163 -35 q 52 -10 83 -26 q 45 -5 49 -9 q 41 1 41 -1 l 96 188 z " + }, + "6": { + "ha": 873, + "x_min": 79, + "x_max": 875, + "o": "m 450 -35 q 287 -3 356 -35 q 171 82 217 28 q 101 208 124 136 q 79 361 79 280 q 95 484 79 425 q 139 596 111 542 q 202 702 166 650 q 278 802 239 753 q 357 899 317 851 q 432 994 397 946 q 443 1008 437 1000 q 456 1022 449 1016 q 470 1033 463 1029 q 487 1038 477 1038 l 657 1038 q 686 1033 674 1038 q 699 1018 699 1028 q 688 996 699 1008 q 579 848 628 926 q 487 685 530 770 q 534 694 511 692 q 581 697 556 697 q 711 668 656 697 q 803 592 766 639 q 857 488 839 546 q 875 372 875 430 q 848 206 875 281 q 767 78 821 131 q 634 -5 713 24 q 450 -35 554 -35 m 387 325 q 391 280 387 305 q 404 231 394 254 q 430 192 414 208 q 473 176 447 176 q 518 187 499 176 q 549 216 536 198 q 570 256 562 233 q 581 303 577 279 q 586 351 585 327 q 587 393 587 374 q 585 441 587 416 q 575 486 583 466 q 550 518 566 505 q 504 531 533 531 q 442 510 465 531 q 407 458 419 489 q 391 391 395 427 q 387 325 387 355 z " + }, + "7": { + "ha": 723, + "x_min": 69, + "x_max": 791, + "o": "m 770 897 l 621 517 q 561 366 591 441 q 505 222 531 290 q 457 102 478 155 q 425 21 436 50 q 410 -17 414 -3 q 401 -36 405 -30 q 393 -45 397 -43 q 380 -49 389 -47 q 326 -61 354 -55 q 271 -71 298 -66 q 219 -80 244 -76 q 174 -87 194 -84 q 167 -87 172 -87 q 150 -81 155 -87 q 144 -64 144 -74 q 151 -40 144 -54 q 174 16 157 -24 q 214 111 191 56 q 264 231 237 166 q 319 362 292 296 l 458 701 l 321 700 q 263 700 293 700 q 206 699 234 699 q 154 699 178 699 q 111 699 129 699 q 80 702 90 699 q 69 714 69 705 q 73 732 69 723 q 77 742 77 741 q 103 798 90 771 q 129 850 116 825 q 154 903 141 876 q 179 958 166 929 q 181 961 180 960 q 182 964 181 963 q 205 980 194 977 q 225 982 216 982 q 357 983 300 983 q 460 984 414 984 q 544 985 507 985 q 617 986 582 985 q 688 986 652 986 q 766 986 724 986 q 791 964 791 986 q 786 937 791 954 q 770 897 781 921 z " + }, + "8": { + "ha": 868, + "x_min": 76, + "x_max": 848, + "o": "m 425 -35 q 341 -28 383 -35 q 261 -6 300 -21 q 189 32 222 9 q 130 87 155 55 q 90 159 104 119 q 76 251 76 200 q 89 339 76 300 q 123 411 101 378 q 173 475 144 445 q 234 536 202 505 q 160 619 183 571 q 137 726 137 667 q 152 817 137 777 q 195 890 168 858 q 259 945 222 922 q 339 983 296 968 q 429 1006 382 998 q 526 1013 477 1013 q 626 997 575 1013 q 716 948 676 980 q 782 870 757 916 q 808 765 808 824 q 799 702 808 732 q 777 647 791 673 q 746 598 764 621 q 710 557 728 576 q 764 512 739 537 q 808 455 789 487 q 838 382 827 422 q 848 290 848 341 q 830 190 848 235 q 781 109 812 145 q 707 46 749 73 q 618 1 665 19 q 522 -26 572 -17 q 425 -35 472 -35 m 381 269 q 385 213 381 243 q 398 156 388 182 q 428 111 409 129 q 478 93 447 93 q 510 104 496 93 q 532 133 523 115 q 548 173 542 151 q 557 216 554 195 q 562 257 561 238 q 564 288 564 276 q 558 339 564 311 q 541 393 553 368 q 511 435 530 418 q 468 452 493 452 q 434 442 448 452 q 411 417 420 433 q 396 382 401 402 q 387 342 390 363 q 382 303 383 322 q 381 269 381 283 m 391 742 q 396 699 391 722 q 413 656 401 676 q 441 623 424 636 q 484 610 458 610 q 522 626 508 610 q 543 666 536 643 q 552 715 550 690 q 553 756 553 740 q 549 796 553 775 q 536 834 545 817 q 511 863 527 851 q 473 874 496 874 q 433 861 449 874 q 408 828 417 848 q 395 785 399 808 q 391 742 391 762 z " + }, + "9": { + "ha": 899, + "x_min": 74, + "x_max": 905, + "o": "m 417 -14 q 399 2 399 -9 q 406 18 399 9 q 444 80 426 47 q 478 149 463 113 q 506 218 493 184 q 527 283 518 253 q 456 267 492 273 q 384 261 419 261 q 261 289 318 261 q 163 362 205 316 q 98 468 121 408 q 74 592 74 528 q 93 714 74 657 q 147 817 113 770 q 228 900 181 863 q 328 961 274 937 q 439 999 381 986 q 557 1013 498 1013 q 700 977 636 1013 q 810 884 764 941 q 880 756 855 827 q 905 614 905 685 q 889 484 905 547 q 847 360 873 420 q 786 244 821 300 q 713 135 751 188 q 634 33 674 82 q 558 -62 595 -16 q 553 -66 556 -64 q 545 -68 550 -68 q 536 -66 541 -68 q 504 -49 518 -56 q 476 -35 490 -41 q 448 -24 463 -29 q 417 -14 434 -18 m 371 642 q 379 573 371 606 q 405 515 387 541 q 450 475 422 490 q 517 460 477 460 q 543 462 532 460 q 571 471 553 465 q 583 523 578 501 q 590 564 588 545 q 594 602 593 583 q 595 646 595 621 q 594 681 595 661 q 589 722 593 701 q 580 764 586 743 q 563 800 574 784 q 537 825 553 815 q 500 835 522 835 q 437 816 463 835 q 397 769 412 798 q 377 706 382 741 q 371 642 371 672 z " + }, + " ": { + "ha": 298, + "x_min": 0, + "x_max": 0, + "o": "" + }, + " ": { + "ha": 298, + "x_min": 0, + "x_max": 0, + "o": "" + }, + "!": { + "ha": 373, + "x_min": 49, + "x_max": 416, + "o": "m 362 793 q 320 582 340 688 q 281 369 299 477 q 277 338 280 347 q 262 327 274 329 q 210 317 235 322 q 155 304 184 311 q 149 306 150 304 q 148 311 148 307 l 141 981 q 146 1011 142 1002 q 161 1023 149 1020 q 277 1052 218 1036 q 402 1086 336 1069 q 408 1086 404 1086 q 416 1080 416 1086 q 413 1063 416 1079 q 406 1022 410 1047 q 396 965 401 997 q 385 902 391 934 q 373 842 378 871 q 362 793 367 813 m 338 232 q 335 187 336 203 q 334 164 334 172 q 333 154 333 156 q 333 151 333 152 q 332 147 332 150 q 331 134 332 144 q 329 105 330 124 q 325 53 328 86 q 320 22 323 31 q 305 11 317 14 q 184 -13 248 -1 q 62 -45 121 -26 q 56 -46 60 -46 l 50 -41 q 49 -39 49 -39 l 64 146 q 68 177 65 168 q 83 189 71 186 q 200 212 141 199 q 325 238 259 224 q 331 239 327 239 q 338 232 338 239 z " + }, + "\"": { + "ha": 747, + "x_min": 118, + "x_max": 802, + "o": "m 136 532 q 127 733 131 628 q 118 941 123 838 l 118 949 q 122 974 118 967 q 138 982 126 980 q 205 982 170 982 q 276 983 241 983 q 347 983 312 983 q 412 983 381 983 q 422 980 418 983 q 427 967 427 977 l 427 963 l 321 531 q 316 512 318 520 q 312 500 315 505 q 306 493 310 495 q 296 490 302 490 q 225 490 260 490 q 150 489 191 489 q 142 494 144 489 q 138 507 139 500 q 136 522 136 514 q 136 532 136 529 m 511 532 q 502 733 506 628 q 493 941 498 838 l 493 949 q 497 974 493 967 q 513 982 501 980 q 581 982 545 982 q 651 983 616 983 q 722 983 687 983 q 787 983 756 983 q 798 980 793 983 q 802 967 802 977 l 802 963 l 696 531 q 691 512 693 520 q 687 500 690 505 q 681 493 685 495 q 671 490 677 490 q 600 490 635 490 q 525 489 566 489 q 517 494 519 489 q 513 507 514 500 q 511 522 511 514 q 511 532 511 529 z " + }, + "#": { + "ha": 1114, + "x_min": 69, + "x_max": 1147, + "o": "m 275 474 l 296 561 l 202 561 q 141 564 161 561 q 121 578 121 568 q 128 601 121 583 q 144 640 134 618 q 165 684 153 661 q 186 724 176 707 q 200 737 194 731 q 221 744 206 743 l 341 742 q 371 871 357 807 q 399 1001 385 935 q 408 1028 404 1021 q 420 1036 411 1036 l 425 1036 q 478 1019 451 1028 q 531 1001 505 1009 q 584 985 558 992 q 635 973 610 977 q 643 969 640 972 q 647 962 647 967 l 591 739 l 709 736 q 739 868 724 802 q 769 1001 754 933 q 777 1028 774 1021 q 790 1036 781 1036 l 795 1036 q 847 1019 821 1028 q 901 1001 874 1009 q 954 985 928 992 q 1004 973 980 977 q 1013 969 1009 972 q 1017 962 1017 967 l 961 739 q 1017 746 990 743 q 1067 752 1044 750 q 1105 756 1089 755 q 1128 758 1121 758 q 1141 755 1134 758 q 1147 741 1147 751 q 1136 711 1147 735 q 1107 650 1125 687 l 1075 587 q 1061 572 1070 577 q 1034 566 1051 568 q 988 565 1016 565 q 918 566 960 566 l 896 473 q 980 485 943 481 q 1029 490 1017 490 q 1041 486 1034 490 q 1048 472 1048 483 q 1042 452 1048 468 q 1028 414 1037 437 q 1009 362 1020 391 q 989 305 999 334 q 978 290 984 295 q 951 285 971 285 l 924 285 q 891 285 910 285 q 850 286 873 285 l 780 3 q 777 -17 777 -7 q 766 -26 777 -26 q 748 -22 758 -26 l 619 14 q 601 19 614 16 q 576 28 589 23 q 553 42 563 34 q 543 60 543 50 q 545 68 543 62 q 560 126 553 99 q 574 181 567 154 q 587 234 581 208 q 601 288 594 260 q 541 289 570 288 q 481 290 511 289 l 410 3 q 407 -17 408 -7 q 397 -26 407 -26 q 378 -22 389 -26 l 250 14 q 232 19 244 16 q 206 28 219 23 q 183 42 193 34 q 174 60 174 50 q 175 68 174 62 q 205 182 191 130 q 232 292 218 235 q 156 292 187 292 q 106 294 125 292 q 78 298 87 295 q 69 309 69 302 q 77 332 69 315 q 96 371 84 349 q 122 415 108 393 q 148 456 136 438 q 161 469 155 463 q 182 475 168 475 l 275 474 m 644 468 q 655 516 649 492 q 667 564 661 540 q 607 563 636 564 q 549 563 578 563 l 526 470 l 644 468 z " + }, + "$": { + "ha": 673, + "x_min": 83, + "x_max": 676, + "o": "m 517 927 q 602 920 566 924 q 658 914 638 917 l 676 715 q 662 716 675 715 q 633 720 650 718 q 598 723 616 722 q 569 725 581 725 q 532 723 555 725 q 487 713 509 720 q 450 693 465 706 q 434 658 434 680 q 451 610 434 631 q 492 568 467 589 q 547 525 517 547 q 601 476 576 503 q 643 415 626 449 q 659 336 659 380 q 644 265 659 298 q 601 204 628 232 q 538 153 574 176 q 463 113 503 130 q 461 79 463 102 q 457 30 459 57 q 453 -27 455 2 q 450 -81 451 -56 l 396 -80 q 368 -81 387 -80 q 325 -84 349 -82 q 278 -86 302 -85 q 235 -87 254 -87 l 242 42 l 189 40 q 137 38 165 39 q 83 37 109 37 q 106 140 94 90 q 130 243 118 190 q 217 257 175 247 q 291 281 258 267 q 342 314 323 296 q 361 353 361 332 q 356 379 361 365 q 335 410 351 393 q 291 451 319 428 q 214 503 262 473 q 128 583 154 540 q 102 676 102 625 q 121 745 102 710 q 168 809 139 780 q 233 860 197 839 q 306 888 269 881 l 327 1017 q 329 1032 328 1026 q 330 1042 329 1038 q 332 1048 330 1046 q 340 1050 334 1050 q 438 1058 387 1054 q 538 1070 490 1063 q 544 1069 543 1070 q 545 1065 545 1067 q 542 1050 545 1064 q 535 1016 539 1036 q 526 972 530 996 q 517 927 521 948 z " + }, + "%": { + "ha": 1487, + "x_min": 103, + "x_max": 1476, + "o": "m 717 586 q 827 720 770 652 q 938 857 883 789 q 950 871 946 867 q 961 876 954 876 q 967 876 966 876 q 1032 825 1000 849 q 1096 782 1063 802 q 1110 775 1101 780 q 1118 766 1118 771 q 1116 761 1118 763 l 582 113 q 575 103 576 106 q 568 100 574 100 q 561 101 565 100 q 549 104 556 102 q 487 153 510 136 q 450 180 463 171 q 431 193 437 190 q 422 200 426 197 q 416 209 417 203 q 416 222 416 214 q 493 312 456 268 q 566 400 530 356 q 639 491 602 445 q 717 586 676 536 m 103 764 q 121 889 103 831 q 175 989 139 947 q 265 1056 211 1031 q 391 1080 319 1080 q 508 1056 458 1080 q 591 991 558 1031 q 639 899 623 951 q 654 791 654 846 q 634 661 654 718 q 576 564 614 604 q 487 503 539 524 q 372 482 435 482 q 263 502 313 482 q 178 559 214 522 q 123 648 142 595 q 103 764 103 700 m 277 778 q 281 724 277 751 q 296 675 285 697 q 326 639 307 653 q 375 625 345 625 q 428 641 407 625 q 461 682 449 657 q 479 735 474 706 q 484 793 484 765 q 479 842 484 816 q 463 890 474 868 q 433 927 452 913 q 387 942 414 942 q 334 927 355 942 q 300 888 313 912 q 282 836 287 865 q 277 778 277 806 m 924 247 q 942 372 924 314 q 996 472 960 429 q 1086 538 1032 514 q 1212 563 1140 563 q 1330 538 1280 563 q 1412 474 1379 514 q 1460 381 1444 433 q 1476 273 1476 329 q 1455 143 1476 201 q 1398 46 1435 86 q 1308 -14 1360 7 q 1193 -35 1256 -35 q 1084 -15 1134 -35 q 999 41 1035 5 q 944 130 964 78 q 924 247 924 182 m 1098 260 q 1102 207 1098 234 q 1117 158 1106 180 q 1147 122 1128 136 q 1196 108 1166 108 q 1249 124 1228 108 q 1283 164 1270 140 q 1300 218 1295 189 q 1305 275 1305 248 q 1300 325 1305 298 q 1284 373 1295 351 q 1254 410 1273 395 q 1208 425 1236 425 q 1155 410 1176 425 q 1121 371 1134 395 q 1103 318 1108 347 q 1098 260 1098 289 z " + }, + "&": { + "ha": 1058, + "x_min": 54, + "x_max": 1080, + "o": "m 54 201 q 56 242 54 222 q 65 281 58 261 q 89 324 73 302 q 132 373 104 346 q 202 433 160 400 q 306 509 245 467 q 243 623 263 566 q 222 736 222 681 q 247 831 222 787 q 317 910 271 876 q 432 963 364 943 q 589 982 500 982 q 631 978 608 982 q 679 964 654 973 q 726 939 703 954 q 767 900 749 923 q 796 848 785 878 q 807 779 807 818 q 795 714 807 743 q 759 656 783 686 q 698 593 735 627 q 611 515 661 559 l 772 385 q 787 372 780 378 q 802 367 794 366 q 809 373 806 372 q 817 374 813 374 l 971 517 q 1002 498 983 512 q 1038 466 1021 484 q 1067 430 1055 448 q 1080 398 1080 411 q 1077 385 1080 390 l 954 256 l 962 250 q 976 239 968 245 q 995 225 985 233 q 1018 209 1006 217 q 1042 192 1029 200 q 1050 182 1048 187 q 1051 175 1051 176 q 1043 151 1051 165 q 1022 121 1035 137 q 995 87 1010 104 q 964 55 979 70 q 937 27 949 39 q 917 8 924 14 q 903 1 910 1 q 893 5 897 1 l 757 89 q 636 28 688 52 q 539 -9 585 5 q 451 -29 494 -24 q 357 -35 408 -35 q 245 -20 300 -35 q 149 23 191 -6 q 80 97 106 53 q 54 201 54 141 m 349 245 q 353 215 349 230 q 367 187 357 199 q 395 166 377 174 q 440 158 412 158 q 465 159 449 158 q 500 167 480 161 q 544 185 519 173 q 594 220 568 198 l 433 377 q 403 359 418 369 q 376 333 388 349 q 356 297 363 318 q 349 245 349 275 m 536 823 q 499 817 515 823 q 473 799 483 810 q 457 773 463 787 q 452 742 452 758 q 464 691 452 717 q 496 645 475 665 q 572 714 549 680 q 595 773 595 747 q 579 810 595 796 q 536 823 564 823 z " + }, + "'": { + "ha": 372, + "x_min": 118, + "x_max": 427, + "o": "m 136 532 q 127 732 131 627 q 118 940 123 838 l 118 949 q 122 973 118 966 q 138 981 126 979 q 205 982 170 981 q 276 982 241 982 q 347 982 312 982 q 412 983 381 983 q 422 979 418 983 q 427 966 427 976 l 427 962 l 321 530 q 316 512 318 519 q 312 499 315 504 q 306 492 310 494 q 296 490 302 490 q 225 489 260 490 q 150 488 191 488 q 142 494 144 488 q 138 506 139 499 q 136 521 136 513 q 136 532 136 528 z " + }, + "(": { + "ha": 568, + "x_min": 68, + "x_max": 616, + "o": "m 524 63 q 516 13 520 35 q 507 -30 511 -9 q 497 -73 502 -51 q 487 -123 492 -94 q 473 -136 484 -136 q 471 -135 471 -136 q 469 -135 470 -135 q 287 -74 363 -119 q 162 37 211 -28 q 91 184 113 102 q 68 354 68 265 q 74 448 68 394 q 96 561 80 502 q 139 680 112 620 q 210 793 167 741 q 276 863 237 826 q 364 931 315 899 q 470 986 413 963 q 590 1015 528 1009 q 598 1011 593 1015 q 604 995 602 1008 q 606 974 604 995 q 610 923 608 952 q 614 861 612 893 q 616 808 616 829 q 612 792 616 796 q 596 785 607 788 q 498 729 543 770 q 421 633 454 689 q 370 510 389 577 q 351 373 351 442 q 360 283 351 327 q 388 201 369 239 q 438 137 408 164 q 511 96 469 109 q 521 90 517 95 q 525 74 525 85 q 525 69 525 71 q 524 63 525 66 z " + }, + ")": { + "ha": 569, + "x_min": 58, + "x_max": 574, + "o": "m 58 63 q 64 88 58 81 q 76 96 69 94 q 171 150 131 113 q 238 237 212 187 q 277 345 264 287 q 290 459 290 402 q 277 570 290 517 q 241 667 264 623 q 183 741 217 710 q 107 785 149 772 q 94 790 98 787 q 90 800 90 793 q 91 808 90 806 q 102 861 95 829 q 116 923 109 893 q 129 973 123 952 q 135 995 135 994 q 144 1011 138 1008 q 153 1015 149 1015 q 268 986 214 1009 q 364 931 321 963 q 440 863 408 899 q 494 793 473 826 q 532 720 517 758 q 556 641 547 681 q 570 562 566 602 q 574 486 574 522 q 561 345 574 414 q 523 210 549 275 q 456 88 496 145 q 361 -14 416 31 q 236 -91 307 -60 q 80 -135 166 -122 q 78 -135 79 -135 q 76 -136 77 -136 q 64 -123 64 -136 q 63 -81 64 -100 q 61 -44 62 -62 q 59 -10 60 -27 q 58 26 58 7 l 58 63 l 58 63 z " + }, + "*": { + "ha": 865, + "x_min": 79, + "x_max": 835, + "o": "m 294 347 l 224 397 q 115 468 152 444 q 79 507 79 493 q 82 517 79 511 q 92 534 85 524 q 109 561 98 545 q 136 599 120 576 l 174 654 q 181 660 178 658 q 190 663 185 663 q 213 650 199 663 l 260 610 q 309 570 282 592 q 365 524 336 547 l 368 553 q 379 671 374 629 q 387 734 383 713 q 396 761 391 755 q 409 768 401 766 l 421 768 q 450 767 429 768 q 495 766 471 766 q 539 765 518 766 q 569 765 561 765 l 573 765 q 587 758 583 762 q 592 741 592 753 q 592 736 592 739 q 591 730 592 733 l 581 669 q 572 606 576 641 q 564 532 568 570 q 613 579 588 555 q 660 624 638 604 q 699 656 682 644 q 724 669 715 669 q 732 667 728 669 q 740 661 736 665 l 778 606 q 803 568 793 584 q 821 542 814 553 q 831 525 828 531 q 835 514 835 518 q 832 504 835 509 q 822 493 830 499 q 800 476 814 486 q 762 449 786 466 q 703 408 738 433 q 618 347 667 383 l 798 208 q 819 188 813 195 q 826 176 825 181 q 821 163 826 170 q 808 144 815 157 q 781 106 800 132 q 726 32 762 81 q 712 24 721 24 q 689 35 701 24 l 539 153 l 526 -13 q 523 -37 525 -28 q 519 -50 522 -45 q 513 -56 517 -54 q 503 -57 509 -57 l 490 -57 q 481 -57 486 -57 q 469 -58 476 -58 q 423 -55 454 -58 q 340 -50 393 -53 q 327 -42 332 -50 q 321 -22 321 -35 l 340 149 l 218 62 q 205 54 211 57 q 195 52 200 52 q 180 59 186 52 q 129 115 147 96 q 106 144 111 134 q 93 163 98 157 q 87 176 87 170 q 94 188 87 181 q 116 208 100 195 l 294 347 z " + }, + "+": { + "ha": 652, + "x_min": 73, + "x_max": 654, + "o": "m 256 357 q 196 357 222 357 q 154 357 170 357 q 93 360 113 357 q 73 376 73 364 q 77 401 73 382 q 86 445 81 420 q 96 493 91 469 q 104 535 101 518 q 115 550 106 543 q 139 557 124 557 l 275 559 l 277 574 q 281 653 280 620 q 286 707 283 686 q 296 738 289 728 q 317 748 302 748 q 320 748 318 748 q 323 747 321 747 q 336 748 328 747 q 355 748 345 748 q 379 749 366 749 q 404 749 392 749 l 469 751 q 483 744 478 749 q 488 728 488 740 q 488 726 488 726 q 487 721 488 725 q 486 708 487 717 q 484 682 486 699 q 480 635 483 664 q 475 563 478 606 l 486 564 q 535 565 511 564 q 579 566 559 566 q 614 567 600 566 q 635 567 629 567 q 647 563 640 567 q 654 547 654 559 q 650 521 653 546 q 643 452 648 496 l 635 387 q 628 373 631 377 q 616 366 624 368 q 595 364 609 364 q 557 363 581 363 l 458 361 l 450 262 q 445 219 448 236 q 437 193 441 203 q 428 180 433 184 q 414 176 422 176 q 383 177 403 176 q 341 178 363 177 q 298 179 319 178 q 261 179 276 179 q 248 187 253 180 q 243 208 243 194 l 243 212 l 256 357 z " + }, + ",": { + "ha": 398, + "x_min": 56, + "x_max": 361, + "o": "m 176 -225 q 164 -219 169 -221 q 152 -214 160 -218 q 129 -202 144 -210 q 85 -178 114 -194 q 63 -159 63 -166 q 65 -153 63 -157 q 106 -89 85 -123 q 147 -21 127 -56 l 90 -20 l 77 -20 q 62 -19 68 -20 q 56 -14 56 -18 l 56 -12 q 60 34 58 17 q 62 59 62 50 q 63 73 63 68 q 64 80 64 77 q 65 88 64 83 q 66 104 65 93 q 68 136 66 116 q 73 189 70 156 q 77 220 74 212 q 92 231 80 229 q 156 231 123 231 q 222 232 189 231 q 287 232 255 232 q 349 232 319 232 q 361 216 361 232 l 349 50 q 345 24 347 35 q 341 6 343 14 q 337 -11 340 -3 q 332 -30 335 -19 q 318 -55 328 -39 q 296 -87 309 -70 q 271 -123 284 -105 q 246 -157 258 -141 q 226 -184 235 -173 q 214 -200 217 -196 q 209 -207 212 -203 q 202 -216 206 -212 q 193 -224 198 -220 q 184 -227 189 -227 q 176 -225 180 -227 z " + }, + "-": { + "ha": 650, + "x_min": 65, + "x_max": 659, + "o": "m 437 573 q 505 575 472 574 q 565 577 538 576 q 612 579 592 578 q 640 581 632 581 q 652 576 646 581 q 659 561 659 572 q 653 538 659 555 q 636 499 646 522 q 613 447 626 475 q 587 387 600 418 q 582 376 584 380 q 575 369 579 372 q 566 365 572 366 q 549 363 559 363 q 427 361 488 362 q 312 359 366 360 q 215 357 258 358 q 146 357 172 357 q 85 360 105 357 q 65 376 65 364 q 74 394 65 379 q 96 430 82 410 q 126 474 109 451 q 161 517 144 498 q 193 550 178 537 q 219 564 209 564 l 437 573 z " + }, + ".": { + "ha": 389, + "x_min": 61, + "x_max": 353, + "o": "m 61 -26 q 63 25 62 6 q 64 54 64 43 q 64 68 64 64 q 64 76 64 72 q 65 85 64 79 q 66 103 65 90 q 68 137 66 115 q 71 196 69 159 q 76 227 73 218 q 91 237 79 235 q 216 238 151 237 q 338 239 281 238 q 349 235 345 239 q 353 222 353 232 l 334 9 q 329 -21 331 -13 q 313 -31 326 -30 q 195 -33 256 -32 q 68 -33 134 -33 q 63 -33 64 -33 q 61 -28 61 -32 l 61 -26 z " + }, + "/": { + "ha": 591, + "x_min": 39, + "x_max": 646, + "o": "m 301 640 q 380 819 342 729 q 459 1001 418 908 q 473 1028 468 1021 q 487 1036 477 1036 l 492 1036 q 564 1004 528 1021 q 635 980 600 987 q 643 977 640 979 q 646 971 646 975 l 646 969 l 211 10 q 207 -1 208 4 q 204 -11 205 -7 q 199 -17 202 -15 q 191 -20 197 -20 q 174 -15 183 -20 l 105 14 q 89 19 100 16 q 67 28 78 23 q 47 40 56 33 q 39 56 39 47 q 42 68 39 62 q 102 198 73 134 q 161 329 131 261 q 225 473 191 397 q 301 640 259 549 z " + }, + ":": { + "ha": 453, + "x_min": 108, + "x_max": 413, + "o": "m 121 493 q 123 544 123 525 q 124 572 124 562 q 125 587 125 583 q 125 594 125 591 q 125 604 125 598 q 126 622 125 609 q 128 656 127 634 q 132 715 130 678 q 136 746 133 737 q 151 756 139 754 q 276 756 211 756 q 399 758 341 757 q 409 754 405 758 q 413 741 413 751 l 394 528 q 389 497 391 506 q 374 488 387 489 q 255 486 316 487 q 129 486 195 486 q 123 486 125 486 q 121 490 121 487 l 121 493 m 108 -26 q 110 25 109 6 q 111 54 111 43 q 111 68 111 64 q 111 76 111 72 q 112 85 111 79 q 113 103 112 90 q 115 137 113 115 q 118 196 116 159 q 122 227 119 218 q 138 237 125 235 q 262 238 197 237 q 385 239 328 238 q 395 235 391 239 q 399 222 399 232 l 380 9 q 375 -21 378 -13 q 360 -31 373 -30 q 242 -33 302 -32 q 115 -33 181 -33 q 110 -33 111 -33 q 108 -28 108 -32 l 108 -26 z " + }, + ";": { + "ha": 439, + "x_min": 95, + "x_max": 401, + "o": "m 216 -224 q 204 -218 208 -220 q 192 -212 199 -216 q 169 -200 184 -208 q 124 -176 153 -193 q 102 -157 102 -165 q 104 -152 102 -155 q 145 -88 124 -121 q 186 -20 167 -54 l 129 -19 l 117 -19 q 101 -18 107 -19 q 95 -12 95 -17 l 95 -11 q 99 35 98 18 q 102 61 101 52 q 103 74 102 70 q 103 81 103 78 q 104 90 104 85 q 105 106 104 94 q 107 137 106 117 q 112 191 109 157 q 116 222 113 213 q 132 232 119 231 q 195 232 162 232 q 261 233 229 233 q 327 233 294 233 q 389 233 359 233 q 400 217 400 233 l 388 52 q 384 26 386 36 q 381 7 382 16 q 377 -9 379 -1 q 371 -28 374 -18 q 357 -53 367 -38 q 336 -86 348 -68 q 310 -122 323 -104 q 286 -156 297 -140 q 265 -183 274 -172 q 254 -199 256 -195 q 249 -206 252 -201 q 241 -215 245 -210 q 233 -222 237 -219 q 223 -226 228 -226 q 216 -224 220 -226 m 110 492 q 112 543 111 524 q 113 572 113 562 q 113 586 113 582 q 113 594 113 590 q 114 603 113 597 q 115 621 114 608 q 117 655 115 633 q 120 714 118 677 q 124 745 121 736 q 140 755 127 753 q 264 756 199 755 q 387 757 330 756 q 397 753 393 757 q 401 741 401 750 l 382 528 q 377 497 380 505 q 362 487 375 488 q 244 486 304 486 q 117 485 183 485 q 112 486 113 485 q 110 490 110 486 l 110 492 z " + }, + "<": { + "ha": 730, + "x_min": 78, + "x_max": 703, + "o": "m 697 220 q 703 212 703 216 q 701 204 703 208 q 654 100 673 153 q 616 -7 635 46 q 600 -20 612 -20 q 589 -18 594 -20 q 574 -12 583 -16 l 129 248 q 100 265 107 258 q 92 286 92 272 q 87 390 90 337 q 79 500 85 443 q 78 502 79 501 q 78 503 78 503 l 79 508 q 82 514 79 511 q 87 516 85 516 q 145 542 109 527 q 224 573 180 556 q 319 609 269 591 q 422 648 370 628 q 527 687 475 667 q 627 724 579 706 q 657 730 648 730 q 668 720 666 730 q 677 610 672 667 q 694 502 682 553 q 686 486 694 487 l 388 376 q 418 361 395 372 q 471 334 441 349 q 536 301 502 319 q 603 268 571 283 q 660 239 635 252 q 697 220 686 226 z " + }, + "=": { + "ha": 720, + "x_min": 111, + "x_max": 671, + "o": "m 389 602 q 478 603 435 602 q 556 605 521 604 q 616 607 591 606 q 652 608 642 608 q 665 604 658 608 q 671 588 671 600 q 666 563 672 583 q 649 508 659 543 l 633 454 q 622 437 628 443 q 595 431 615 431 q 473 429 534 430 q 358 427 412 428 q 261 425 304 426 q 192 425 218 425 q 131 428 151 425 q 111 444 111 432 q 115 464 111 448 q 124 499 119 479 q 136 539 130 519 q 149 576 143 560 q 163 590 157 583 q 184 598 169 597 l 389 602 m 389 283 q 478 284 435 283 q 556 287 521 286 q 616 289 591 288 q 652 290 642 290 q 665 286 658 290 q 671 270 671 281 q 666 245 672 265 q 649 190 659 224 l 633 136 q 622 119 628 125 q 595 113 615 113 q 473 111 534 112 q 358 109 412 110 q 261 107 304 108 q 192 106 218 106 q 131 110 151 106 q 111 125 111 114 q 115 146 111 130 q 124 181 119 161 q 136 221 130 201 q 149 258 143 242 q 163 272 157 264 q 184 280 169 279 l 389 283 z " + }, + ">": { + "ha": 713, + "x_min": 90, + "x_max": 714, + "o": "m 95 220 q 132 239 106 226 q 189 268 157 252 q 256 301 221 283 q 321 334 290 319 q 374 361 351 349 q 404 376 397 372 l 106 486 q 98 502 98 487 q 115 610 110 553 q 124 720 120 667 q 135 730 126 730 q 165 724 144 730 q 265 687 213 706 q 370 648 317 667 q 473 609 422 628 q 568 573 524 591 q 647 542 612 556 q 705 516 683 527 q 710 514 707 516 q 713 508 713 511 l 714 503 q 714 502 714 503 q 713 500 713 501 q 705 390 707 443 q 700 286 702 337 q 692 265 700 272 q 663 248 685 258 l 218 -12 q 203 -18 209 -16 q 193 -20 198 -20 q 182 -17 185 -20 q 176 -7 178 -14 q 137 100 156 46 q 91 204 117 153 q 90 212 90 208 q 91 217 90 215 q 95 220 92 218 z " + }, + "?": { + "ha": 791, + "x_min": 98, + "x_max": 800, + "o": "m 294 406 q 383 469 340 431 q 457 549 425 507 q 508 634 489 591 q 526 711 526 676 q 505 773 526 749 q 436 797 484 797 q 391 790 409 797 q 363 774 374 784 q 349 751 353 764 q 345 728 345 739 q 349 699 345 712 q 354 682 354 686 q 345 675 354 677 q 314 669 335 673 q 257 660 292 666 q 170 639 222 653 q 140 631 151 633 q 123 629 129 629 q 110 640 115 629 q 102 664 105 650 q 99 692 100 677 q 98 717 98 707 q 129 828 98 779 q 209 911 159 878 q 320 963 258 945 q 445 981 382 981 q 591 957 526 981 q 703 893 656 932 q 774 805 749 854 q 800 710 800 757 q 786 634 800 671 q 750 560 773 596 q 697 490 728 524 q 634 425 667 456 q 567 366 601 394 q 500 312 532 337 q 495 308 499 310 q 488 306 492 306 q 483 307 486 306 q 478 309 479 307 q 432 330 452 321 q 391 348 411 340 q 351 362 372 356 q 305 374 330 369 q 291 381 296 376 q 287 390 287 385 q 293 398 292 393 q 294 406 294 404 m 296 -26 q 298 25 298 6 q 299 54 299 43 q 300 68 300 64 q 300 76 300 72 q 300 85 300 79 q 301 103 300 90 q 303 137 302 115 q 307 196 304 159 q 311 227 308 218 q 326 237 314 235 q 451 238 386 237 q 574 239 516 238 q 585 234 581 239 q 588 218 588 230 l 569 9 q 564 -21 566 -13 q 549 -31 562 -30 q 430 -33 491 -32 q 304 -33 370 -33 q 297 -32 298 -33 q 296 -26 296 -31 z " + }, + "@": { + "ha": 1207, + "x_min": 82, + "x_max": 1213, + "o": "m 710 330 q 723 413 718 378 q 731 471 728 447 q 735 510 734 494 q 738 536 737 526 q 711 556 728 546 q 676 567 695 567 q 645 558 658 567 q 622 534 631 549 q 606 503 612 520 q 596 468 600 485 q 591 435 593 450 q 590 410 590 420 q 606 329 590 355 q 650 304 621 304 q 677 311 662 304 q 710 330 693 318 m 732 236 q 665 181 699 199 q 598 164 631 164 q 520 180 557 164 q 454 227 483 197 q 407 300 425 257 q 390 397 390 343 q 412 521 390 465 q 472 618 435 578 q 558 681 510 659 q 659 703 607 703 q 715 691 690 703 q 763 659 741 678 q 767 679 766 671 q 769 690 768 686 q 775 696 771 694 q 789 698 780 697 q 861 692 825 692 q 937 691 897 691 l 892 364 q 892 356 892 361 q 892 347 892 351 q 896 313 892 328 q 906 285 899 297 q 921 267 912 273 q 939 260 930 260 q 969 272 953 260 q 999 312 985 284 q 1022 386 1013 340 q 1031 500 1031 432 q 1011 614 1031 559 q 950 710 991 669 q 845 776 909 751 q 696 801 782 801 q 567 780 624 801 q 467 724 510 759 q 394 645 424 690 q 345 555 363 601 q 317 465 326 509 q 308 386 308 420 q 334 243 308 302 q 413 147 361 184 q 543 92 465 109 q 723 75 621 75 q 741 69 734 75 q 747 43 747 63 q 744 14 747 31 q 736 -30 741 -4 q 725 -78 730 -60 q 714 -105 720 -96 q 701 -117 708 -115 q 684 -119 694 -119 q 432 -92 544 -119 q 243 -7 321 -64 q 124 136 165 50 q 82 338 82 222 q 107 525 82 437 q 176 687 132 613 q 282 819 220 760 q 419 918 345 878 q 580 981 494 959 q 756 1002 665 1002 q 950 962 865 1002 q 1094 853 1035 922 q 1183 693 1152 785 q 1213 500 1213 602 q 1191 361 1213 429 q 1129 241 1168 294 q 1040 157 1090 189 q 934 125 989 125 q 826 151 876 125 q 732 236 775 176 z " + }, + "A": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 z " + }, + "B": { + "ha": 970, + "x_min": 85, + "x_max": 971, + "o": "m 172 9 q 153 19 158 12 q 149 35 149 26 q 149 38 149 37 q 149 41 149 39 q 161 194 155 114 q 175 358 168 275 q 190 524 182 441 q 205 684 197 606 l 204 684 q 189 680 201 684 q 160 670 176 675 q 128 661 144 665 q 102 657 112 657 q 89 664 93 657 q 85 679 85 671 q 87 690 85 685 q 125 789 106 743 q 165 884 145 836 q 272 933 216 912 q 384 967 328 954 q 497 988 441 981 q 606 996 553 996 q 746 980 680 996 q 860 933 811 964 q 936 853 908 901 q 964 741 964 806 q 952 688 964 713 q 921 638 940 662 q 878 595 901 615 q 831 559 854 575 q 889 516 863 535 q 934 475 916 496 q 962 428 952 454 q 971 365 971 402 q 951 256 971 308 q 896 160 931 204 q 813 79 861 115 q 710 18 766 43 q 592 -21 654 -7 q 467 -35 530 -35 q 405 -31 444 -35 q 324 -19 366 -26 q 240 -5 281 -13 q 172 9 199 3 m 484 753 q 463 590 471 673 q 447 430 454 508 q 436 283 441 353 q 427 158 431 213 q 485 161 454 158 q 548 172 517 164 q 609 191 579 179 q 661 220 638 203 q 696 262 683 238 q 710 317 710 286 q 699 351 710 336 q 669 376 687 366 q 629 394 651 387 q 587 405 608 401 q 549 412 566 410 q 523 416 532 414 q 511 422 513 417 q 508 436 508 428 q 519 463 508 445 q 549 511 530 480 l 577 556 q 617 573 595 563 q 656 596 638 583 q 687 626 675 610 q 699 663 699 643 q 675 748 699 718 q 606 777 651 777 q 484 753 554 777 z " + }, + "C": { + "ha": 878, + "x_min": 85, + "x_max": 899, + "o": "m 85 458 q 103 602 85 533 q 155 730 121 671 q 235 839 188 790 q 340 923 282 888 q 467 977 399 958 q 610 996 535 996 q 715 988 670 996 q 794 968 760 980 q 850 942 827 956 q 888 915 873 928 q 887 910 887 915 q 889 873 887 900 q 893 812 890 846 q 897 745 895 779 q 899 686 899 711 q 896 676 899 682 q 882 671 893 671 q 867 673 876 671 q 831 692 853 677 q 781 723 810 707 q 716 751 752 739 q 639 764 681 764 q 538 742 583 764 q 460 681 492 720 q 411 589 429 642 q 393 473 393 536 q 406 367 393 417 q 443 278 418 316 q 504 217 467 240 q 590 195 541 195 q 659 197 629 195 q 714 206 688 200 q 765 222 740 212 q 818 248 789 233 q 825 249 819 249 q 831 245 829 249 q 833 230 833 241 l 833 149 q 832 105 833 126 q 832 66 832 83 q 831 39 831 50 q 830 28 831 28 q 763 -4 799 9 q 690 -23 728 -16 q 614 -33 652 -31 q 541 -35 576 -35 q 362 1 446 -35 q 217 102 279 37 q 121 258 156 168 q 85 458 85 349 z " + }, + "D": { + "ha": 1047, + "x_min": 79, + "x_max": 1055, + "o": "m 116 -35 q 105 -28 109 -34 q 102 -14 102 -22 q 104 -3 102 -8 l 188 156 q 190 177 189 159 q 194 223 192 195 q 198 284 196 250 q 203 351 201 318 q 209 415 206 385 q 213 465 211 445 q 215 490 214 473 q 218 528 216 507 q 221 575 219 550 q 225 625 223 600 l 235 767 q 197 759 216 763 q 158 751 177 754 q 123 745 140 747 q 94 743 106 743 q 83 749 87 743 q 79 764 79 756 q 83 777 79 772 l 256 937 q 297 968 277 956 q 347 987 318 980 q 419 996 376 994 q 526 998 461 998 q 724 975 637 998 q 869 909 810 952 q 948 846 913 879 q 1006 772 983 812 q 1042 683 1030 732 q 1055 574 1055 635 q 1020 368 1055 458 q 926 210 985 277 q 786 96 866 142 q 616 20 707 49 q 429 -22 526 -9 q 239 -35 332 -35 l 116 -35 m 510 781 l 502 699 q 493 608 498 656 q 485 510 489 559 q 477 411 481 460 q 469 321 473 363 q 463 245 466 279 q 458 193 460 212 l 456 172 q 595 199 538 172 q 687 272 652 225 q 738 380 722 318 q 754 515 754 443 q 740 614 754 566 q 699 705 726 662 q 632 770 671 749 q 543 792 593 792 q 526 788 535 792 q 510 781 516 785 z " + }, + "E": { + "ha": 799, + "x_min": 92, + "x_max": 856, + "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 z " + }, + "F": { + "ha": 817, + "x_min": 90, + "x_max": 907, + "o": "m 770 557 q 760 528 767 547 q 743 485 752 509 q 722 434 733 461 q 699 382 710 408 q 688 365 694 370 q 662 359 682 359 l 464 355 l 439 54 q 436 42 439 48 q 428 33 433 37 q 412 25 426 32 q 377 10 398 19 q 331 -9 356 1 q 281 -27 306 -19 q 237 -42 257 -36 q 205 -47 216 -47 q 180 -42 191 -47 q 169 -22 169 -37 q 171 53 168 12 q 176 137 173 94 q 184 220 180 179 q 191 295 188 261 l 195 352 q 114 355 138 352 q 90 371 90 358 q 100 394 90 380 q 132 441 114 414 q 166 496 150 469 q 196 543 183 522 q 212 568 208 563 l 224 754 q 202 754 212 754 q 185 753 193 753 q 170 752 177 753 q 156 752 163 752 q 110 756 123 752 q 96 770 96 760 q 104 789 96 774 q 124 824 112 804 q 150 864 136 843 q 174 904 163 886 l 215 973 l 524 984 q 642 988 583 986 q 751 993 701 991 q 837 997 801 995 q 887 999 873 998 q 891 999 888 999 q 897 997 894 998 q 904 991 901 995 q 907 979 907 987 q 897 952 907 975 q 870 884 888 929 l 840 805 q 829 787 836 793 q 804 781 823 781 q 757 779 781 780 q 708 776 733 777 l 502 766 q 496 726 498 739 q 494 705 494 713 q 494 688 494 696 q 493 661 494 680 q 491 640 492 648 q 489 622 490 631 q 487 604 488 614 q 486 581 486 595 q 573 583 530 582 q 653 586 616 585 q 715 588 689 587 q 753 589 742 589 q 765 585 758 589 q 772 570 772 581 q 770 557 772 564 z " + }, + "G": { + "ha": 992, + "x_min": 85, + "x_max": 1027, + "o": "m 85 438 q 103 588 85 516 q 154 721 121 659 q 234 834 187 783 q 340 921 281 884 q 466 977 398 957 q 610 996 534 996 q 714 988 669 996 q 793 969 760 981 q 849 943 827 957 q 887 916 872 928 q 886 911 886 916 q 888 873 886 901 q 892 813 890 846 q 896 746 895 780 q 898 686 898 711 q 895 677 898 682 q 882 672 892 672 q 867 674 876 672 q 831 693 852 678 q 780 723 809 707 q 716 752 751 739 q 638 764 680 764 q 537 741 583 764 q 460 676 492 718 q 410 577 428 634 q 393 452 393 519 q 404 342 393 393 q 436 253 414 290 q 491 193 458 215 q 568 172 524 172 q 665 190 610 172 l 680 286 l 551 286 q 576 414 566 368 q 597 485 587 461 q 616 515 606 509 q 640 521 627 521 l 997 521 q 1020 519 1013 521 q 1027 505 1027 517 q 1025 490 1027 498 q 1022 469 1024 481 l 988 355 q 978 322 982 334 q 968 304 974 310 q 951 297 962 298 q 921 296 941 296 q 908 288 910 296 q 905 269 906 279 q 897 210 901 239 q 889 155 892 180 q 881 110 885 130 q 873 82 877 91 q 789 31 827 53 q 714 -6 751 9 q 635 -28 677 -20 q 541 -35 594 -35 q 361 -1 445 -35 q 217 97 278 34 q 120 246 155 159 q 85 438 85 333 z " + }, + "H": { + "ha": 1010, + "x_min": 55, + "x_max": 1013, + "o": "m 722 893 q 727 927 722 918 q 745 939 731 936 l 978 996 q 996 998 987 998 q 1009 992 1006 998 q 1013 969 1013 987 l 1004 863 q 997 770 1001 816 q 985 689 993 724 l 972 593 q 962 500 967 550 q 952 389 958 450 l 920 54 q 918 42 920 48 q 909 33 916 36 q 887 24 904 31 q 846 9 869 18 q 795 -10 822 0 q 743 -28 768 -20 q 700 -41 719 -36 q 674 -47 681 -47 q 657 -42 665 -47 q 650 -22 650 -37 q 660 145 650 60 q 677 316 669 231 q 678 334 678 326 q 679 351 677 342 l 431 351 l 403 54 q 400 42 402 48 q 391 33 399 37 q 365 23 389 32 q 309 4 340 15 q 247 -19 277 -7 q 199 -36 216 -30 q 179 -43 191 -39 q 156 -47 168 -47 q 139 -41 146 -47 q 132 -22 132 -36 q 135 53 132 11 q 140 140 137 94 q 149 234 144 186 q 158 329 153 282 l 159 349 q 80 352 104 349 q 55 368 55 355 q 65 391 55 376 q 97 436 79 410 q 131 489 115 463 q 161 536 148 515 q 178 563 174 557 l 194 726 q 195 747 194 728 q 199 792 197 766 q 203 846 201 818 q 208 893 205 873 q 211 926 209 917 q 227 939 214 936 l 458 996 q 476 998 467 998 q 489 992 486 998 q 492 969 492 987 q 485 880 488 920 q 479 806 482 840 q 473 740 476 771 q 463 676 469 709 l 450 571 l 696 574 q 709 727 702 664 q 719 827 717 790 q 722 876 721 861 q 722 893 722 891 z " + }, + "I": { + "ha": 453, + "x_min": 94, + "x_max": 450, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 z " + }, + "J": { + "ha": 517, + "x_min": 37, + "x_max": 517, + "o": "m 228 893 q 229 913 229 905 q 232 927 230 922 q 237 935 233 932 q 248 939 240 938 l 482 996 q 500 998 491 998 q 513 992 509 998 q 517 969 517 986 l 496 751 l 484 621 q 476 533 480 576 q 468 454 472 490 q 462 390 465 418 q 458 345 459 361 l 456 325 q 427 177 451 248 q 363 53 403 106 q 269 -33 323 -1 q 148 -65 214 -65 q 97 -64 114 -65 q 74 -59 81 -62 q 65 -51 66 -56 q 59 -39 63 -46 l 37 126 q 41 132 37 127 q 48 138 45 136 q 96 159 73 147 q 139 188 120 172 q 169 228 157 205 q 182 281 181 250 l 228 893 z " + }, + "K": { + "ha": 957, + "x_min": 96, + "x_max": 983, + "o": "m 448 970 q 445 938 446 960 q 441 888 444 916 q 437 827 439 859 q 432 765 435 795 q 428 709 430 734 q 424 669 425 684 l 458 705 l 555 824 q 590 868 572 846 q 622 906 608 889 q 644 935 635 924 q 654 948 653 947 l 956 973 q 962 974 957 974 l 967 974 q 983 966 983 974 q 978 955 983 961 q 965 938 974 948 q 933 901 954 925 q 888 848 913 877 q 838 788 864 819 q 789 731 812 758 q 751 686 767 705 q 731 662 735 667 l 688 621 q 577 518 645 580 q 622 471 598 496 q 668 422 646 446 q 708 380 690 399 q 735 351 726 361 l 945 109 q 954 102 948 104 q 964 97 959 99 q 974 93 970 95 q 977 87 977 90 q 968 74 977 83 q 948 58 963 68 q 913 35 933 47 q 870 10 893 23 q 826 -13 847 -3 q 786 -31 804 -24 q 759 -37 768 -37 q 729 -25 745 -37 q 692 13 713 -12 q 640 78 670 39 q 568 170 610 117 q 521 230 544 201 q 477 286 498 260 q 440 333 457 312 q 413 366 424 353 q 401 356 408 361 q 390 345 395 351 l 366 54 q 364 42 366 48 q 355 33 362 36 l 163 -36 q 143 -43 155 -39 q 119 -47 131 -47 q 102 -41 109 -47 q 96 -22 96 -36 q 104 82 99 18 q 115 228 109 146 q 127 406 121 309 q 141 609 134 503 l 160 895 q 161 915 161 907 q 163 928 162 923 q 168 937 165 934 q 178 941 172 939 l 413 997 q 431 1000 422 1000 q 444 994 441 1000 q 448 970 448 988 z " + }, + "L": { + "ha": 693, + "x_min": 57, + "x_max": 719, + "o": "m 454 972 q 452 931 454 956 q 447 881 450 907 q 442 826 445 854 q 436 776 439 799 q 433 736 434 753 q 431 715 431 720 q 426 637 429 673 q 419 566 422 601 q 412 493 416 530 q 404 410 408 455 q 395 309 400 364 q 385 181 390 253 l 665 210 q 696 212 684 212 q 715 207 711 212 q 719 192 719 202 q 718 188 719 191 q 715 179 718 186 q 708 159 713 172 q 696 123 704 146 l 682 79 q 668 40 674 57 q 652 10 661 22 q 628 -10 642 -3 q 591 -20 614 -18 q 553 -22 577 -21 q 496 -24 528 -23 q 428 -26 465 -25 q 352 -30 391 -28 q 275 -32 314 -31 q 202 -33 237 -32 q 138 -34 168 -33 q 90 -35 109 -35 q 65 -33 73 -35 q 57 -24 57 -30 q 62 -2 57 -16 q 74 29 66 12 q 91 65 81 46 q 109 101 100 83 l 127 343 q 138 469 132 405 q 147 592 143 532 l 159 772 q 164 864 163 836 q 165 896 165 893 q 168 916 167 908 q 170 930 168 924 q 175 938 172 935 q 185 942 178 941 l 423 998 q 441 1001 431 1001 q 452 997 449 1001 q 455 980 455 992 q 455 976 455 979 q 454 972 454 974 z " + }, + "M": { + "ha": 1173, + "x_min": 43, + "x_max": 1141, + "o": "m 975 998 q 981 999 978 999 q 987 1000 984 1000 q 1006 992 999 1000 q 1017 964 1014 984 q 1021 930 1018 952 q 1028 881 1024 908 q 1036 826 1031 854 q 1044 773 1040 798 q 1050 732 1047 749 q 1053 710 1053 715 q 1080 517 1068 590 q 1096 410 1091 445 l 1141 43 l 1135 22 q 1117 11 1133 18 q 1078 -4 1101 4 q 1027 -19 1055 -12 q 977 -33 1000 -26 q 938 -42 954 -39 q 922 -46 922 -46 q 896 -22 905 -46 q 880 38 886 1 q 870 118 874 75 q 862 201 867 161 q 854 269 858 235 q 847 338 851 302 l 821 536 l 569 75 q 546 52 557 59 q 524 45 534 45 q 501 54 509 45 q 489 75 492 62 q 467 148 476 118 q 450 201 458 177 q 435 249 442 226 q 420 302 429 272 q 401 373 412 332 q 376 474 391 414 l 355 376 l 257 -38 q 240 -46 255 -46 q 201 -41 226 -46 q 150 -27 176 -35 q 97 -11 123 -20 q 57 4 72 -3 q 48 11 54 5 q 43 26 43 16 q 45 38 43 29 q 51 59 47 47 q 57 83 54 71 q 64 104 61 95 q 80 159 73 127 q 94 222 87 190 q 105 283 100 254 q 115 332 110 312 l 198 721 l 223 831 q 232 872 228 852 q 240 908 237 892 q 245 935 243 924 q 248 946 248 945 l 417 998 q 434 997 427 998 q 443 985 441 995 l 578 551 l 763 941 l 975 998 z " + }, + "N": { + "ha": 935, + "x_min": 102, + "x_max": 909, + "o": "m 672 909 q 682 941 677 931 q 699 955 686 951 l 875 996 q 892 999 883 999 q 905 993 901 999 q 909 970 909 987 q 903 920 905 954 q 899 846 900 886 q 897 766 897 806 q 896 696 896 726 l 896 659 q 895 567 896 616 q 893 467 895 517 q 891 366 892 416 q 888 273 890 317 l 884 157 q 884 151 884 154 q 884 146 884 149 l 884 136 q 884 116 884 124 q 884 102 884 109 q 883 90 884 96 q 878 80 882 85 q 867 69 874 75 q 848 56 860 64 q 825 42 841 51 q 791 21 810 33 q 751 -3 772 9 q 714 -25 731 -15 q 687 -41 697 -35 q 676 -47 676 -47 l 361 437 l 333 41 q 331 29 332 35 q 321 20 329 23 q 300 11 315 17 q 266 -2 286 5 q 223 -17 245 -9 q 182 -32 201 -25 q 147 -42 162 -38 q 126 -46 132 -46 q 109 -41 116 -46 q 102 -21 102 -35 q 118 164 109 64 q 135 369 127 264 q 150 579 143 474 q 162 778 157 684 q 154 796 162 781 q 135 829 145 811 q 116 863 124 847 q 107 883 107 879 q 112 892 107 888 q 129 903 117 896 l 310 1005 q 316 1006 312 1005 q 322 1006 319 1006 q 334 1005 330 1006 q 343 994 338 1003 l 672 401 l 672 909 z " + }, + "O": { + "ha": 1096, + "x_min": 81, + "x_max": 1098, + "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 z " + }, + "P": { + "ha": 910, + "x_min": 92, + "x_max": 950, + "o": "m 950 705 q 939 600 949 646 q 909 517 928 554 q 862 451 890 480 q 800 395 835 421 q 651 322 732 347 q 489 297 570 297 q 462 298 475 297 q 435 300 449 298 l 413 52 l 401 31 q 378 20 400 28 q 324 1 357 12 l 281 -13 q 245 -26 261 -20 q 216 -37 230 -33 q 190 -44 203 -42 q 163 -47 177 -47 q 148 -42 153 -47 q 142 -24 142 -37 l 150 92 q 155 162 152 127 q 161 241 158 197 l 174 404 q 181 503 178 453 q 188 597 184 552 q 194 681 191 642 q 199 749 197 720 q 140 737 162 741 q 106 733 118 733 q 92 745 92 733 q 110 810 102 779 q 125 866 117 838 q 138 915 133 895 q 146 933 142 927 q 158 944 151 940 q 176 950 165 947 q 203 959 187 954 q 240 968 216 963 q 293 978 263 973 q 359 988 323 983 q 430 997 394 993 q 502 1003 467 1000 q 568 1005 537 1005 q 715 991 646 1005 q 836 942 784 977 q 919 850 888 908 q 950 705 950 792 m 454 501 q 457 488 454 494 q 472 482 460 482 q 517 491 491 482 q 569 516 543 499 q 618 558 595 533 q 652 617 640 583 q 660 652 656 631 q 663 701 663 673 q 630 771 663 749 q 544 793 597 793 q 524 792 535 793 q 503 789 513 791 q 486 782 493 786 q 479 772 479 779 l 477 758 q 475 729 477 749 q 470 683 473 709 q 466 629 468 657 q 461 574 463 600 q 457 529 458 549 q 454 501 455 509 z " + }, + "Q": { + "ha": 1096, + "x_min": 81, + "x_max": 1100, + "o": "m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 990 498 979 q 508 1014 505 1000 q 514 1041 511 1028 q 524 1059 517 1054 q 844 985 763 1027 q 918 943 886 964 q 975 897 949 922 q 1020 839 1000 871 q 1061 761 1040 806 q 1092 643 1082 713 l 1093 635 q 1098 580 1096 609 q 1100 518 1100 551 q 1062 306 1100 401 q 956 140 1023 212 q 989 102 974 120 q 1017 71 1005 85 q 1035 46 1028 56 q 1042 31 1042 35 q 1030 13 1042 23 q 1000 -10 1018 2 q 961 -35 982 -22 q 922 -56 940 -47 q 890 -72 903 -66 q 876 -78 878 -78 q 866 -75 871 -78 q 859 -68 862 -72 l 775 15 q 657 -22 718 -9 q 529 -35 597 -35 l 513 -35 m 384 463 q 393 369 384 416 q 422 282 401 323 q 423 281 423 281 q 488 214 448 239 q 589 188 528 188 l 603 189 l 595 199 q 569 230 579 216 q 559 250 559 243 q 578 273 559 263 l 736 353 q 743 355 740 355 q 755 345 748 355 q 777 321 763 336 q 804 420 795 366 q 812 523 812 474 q 786 653 812 596 q 695 749 760 711 q 649 768 673 762 q 594 773 624 773 q 540 763 564 773 q 495 736 515 752 q 459 700 475 720 q 431 664 443 681 q 409 621 418 646 q 394 567 400 595 q 386 511 389 539 q 384 463 384 484 z " + }, + "R": { + "ha": 999, + "x_min": 83, + "x_max": 1026, + "o": "m 446 54 q 444 42 446 48 q 435 33 442 37 q 408 23 432 32 q 352 4 384 15 q 290 -19 321 -7 q 243 -36 259 -30 q 223 -43 235 -39 q 199 -47 211 -47 q 183 -42 190 -47 q 176 -24 176 -37 q 177 30 176 5 q 182 82 179 55 q 188 142 184 109 q 193 220 191 175 q 201 335 197 280 q 209 450 205 391 l 218 566 q 222 624 220 595 q 227 685 224 654 l 234 768 q 230 769 234 769 q 212 767 224 769 q 181 761 199 764 q 142 754 163 758 q 98 747 121 750 q 88 749 93 747 q 83 755 83 751 q 84 759 83 758 l 194 951 q 274 967 231 959 q 367 983 317 976 q 472 994 416 989 q 590 998 528 998 q 727 984 661 997 q 846 942 794 972 q 929 862 898 913 q 961 734 961 812 q 946 656 961 692 q 909 591 932 620 q 859 540 886 562 q 807 503 832 518 q 764 478 783 487 q 738 466 745 469 q 739 463 738 465 q 743 455 740 460 q 753 438 747 449 q 770 410 760 428 q 795 366 781 393 q 831 302 810 339 q 879 220 852 265 q 941 122 906 174 q 968 110 953 112 q 996 107 983 107 q 1017 105 1008 106 q 1026 97 1026 104 q 1015 84 1026 92 q 989 70 1004 77 q 959 56 974 62 q 935 45 943 49 q 901 29 919 37 q 863 13 884 22 q 818 -9 843 3 q 762 -38 793 -21 q 747 -44 754 -43 q 734 -46 740 -46 q 713 -40 722 -46 q 698 -26 704 -35 q 688 -10 692 -18 q 682 4 684 -1 l 479 430 l 446 54 m 488 513 q 559 531 522 513 q 627 576 597 549 q 677 640 658 604 q 697 711 697 675 q 579 809 697 809 q 542 806 557 809 q 515 802 527 803 l 488 513 z " + }, + "S": { + "ha": 745, + "x_min": 106, + "x_max": 732, + "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 z " + }, + "T": { + "ha": 786, + "x_min": 58, + "x_max": 886, + "o": "m 243 -22 q 250 74 246 28 q 256 163 253 120 l 280 484 q 287 550 284 520 q 291 609 290 581 q 295 668 293 638 q 298 733 296 697 q 251 734 276 734 q 199 734 227 734 l 68 734 q 59 740 61 734 q 58 750 58 745 l 58 755 l 132 951 l 132 954 q 136 959 132 957 q 156 963 140 962 q 337 974 250 968 q 511 983 425 979 q 683 991 597 987 q 859 998 768 995 q 877 996 867 998 q 886 981 886 994 q 885 979 886 980 q 884 976 884 977 q 864 923 873 948 q 846 873 855 898 q 828 824 838 849 q 808 771 819 799 q 806 765 808 770 q 800 752 804 759 q 789 739 795 745 q 772 732 782 732 q 765 732 768 732 q 758 732 762 732 l 576 732 q 570 659 573 698 q 563 584 567 621 l 513 54 q 511 42 513 48 q 502 33 509 36 l 310 -36 q 290 -43 302 -39 q 267 -47 278 -47 q 250 -42 257 -47 q 243 -24 243 -37 l 243 -22 z " + }, + "U": { + "ha": 935, + "x_min": 103, + "x_max": 937, + "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 z " + }, + "V": { + "ha": 885, + "x_min": 94, + "x_max": 962, + "o": "m 596 60 q 590 43 593 51 q 582 28 587 35 q 570 16 577 21 q 552 7 563 10 q 467 -17 509 -7 q 382 -41 425 -26 q 368 -45 374 -43 q 357 -46 362 -46 q 339 -40 345 -46 q 331 -24 334 -34 l 99 898 q 94 927 94 916 q 103 952 94 942 q 134 968 113 962 q 189 980 155 975 q 271 992 222 985 q 311 997 295 996 q 339 999 328 999 q 365 992 359 999 q 377 972 372 986 l 507 412 l 689 927 q 696 945 693 938 q 708 957 699 951 q 733 967 716 962 q 783 979 751 972 q 867 994 834 989 q 921 999 901 999 q 955 993 947 999 q 962 975 962 987 q 961 965 963 970 q 956 953 958 960 l 596 60 z " + }, + "W": { + "ha": 1242, + "x_min": 80, + "x_max": 1301, + "o": "m 1052 920 q 1059 940 1055 932 q 1078 951 1063 948 l 1278 998 q 1281 998 1279 998 q 1284 999 1283 999 q 1298 991 1294 999 q 1301 975 1301 983 q 1301 970 1301 974 q 1300 964 1301 966 l 1019 111 q 1001 66 1008 83 q 987 38 994 49 q 971 19 980 26 q 946 4 962 12 q 908 -13 931 -3 q 850 -40 885 -23 q 831 -46 838 -46 q 814 -38 820 -46 q 806 -20 809 -30 l 690 393 l 545 94 q 529 73 541 86 q 502 45 517 59 q 471 17 486 31 q 446 -4 456 4 q 428 -19 437 -12 q 408 -33 418 -26 q 388 -42 397 -39 q 371 -46 379 -46 q 348 -26 353 -46 l 85 901 q 82 912 83 907 q 80 922 80 918 q 88 951 80 939 q 117 970 96 962 q 171 984 137 979 q 257 992 205 989 q 298 997 281 996 q 326 998 315 998 q 352 992 346 998 q 363 972 358 986 l 503 434 l 618 633 l 572 838 q 568 862 568 854 q 576 887 568 878 q 604 903 585 897 q 653 913 623 909 q 729 924 684 918 q 763 928 749 927 q 787 930 777 930 q 815 924 808 930 q 826 904 823 918 l 918 486 l 1052 920 z " + }, + "X": { + "ha": 844, + "x_min": 56, + "x_max": 880, + "o": "m 302 978 q 308 979 308 979 l 314 979 q 336 971 326 979 q 358 945 347 964 q 379 905 366 931 q 410 848 393 878 q 442 786 426 817 q 471 733 458 755 l 583 927 l 852 981 q 858 982 855 982 q 865 983 861 983 q 880 971 880 983 q 878 961 880 967 q 872 947 876 954 l 749 728 l 701 644 q 654 566 679 608 q 608 486 629 524 q 630 447 620 466 q 649 412 641 428 q 664 385 658 397 q 673 368 669 374 l 838 55 l 836 30 q 827 22 836 28 q 803 9 818 16 q 770 -7 789 1 q 731 -22 751 -15 l 683 -38 q 664 -42 674 -38 q 642 -47 653 -47 q 624 -42 632 -47 q 606 -24 615 -38 q 572 28 591 -2 q 531 98 553 59 l 456 230 l 349 49 l 328 28 q 316 22 328 26 q 286 11 304 18 q 244 -3 267 5 q 198 -17 221 -10 q 155 -30 176 -24 q 120 -39 134 -35 q 97 -43 112 -39 q 70 -47 81 -47 q 60 -44 64 -47 q 56 -37 56 -42 q 62 -16 56 -31 q 78 19 68 -1 q 101 63 88 39 q 126 111 113 87 q 151 156 139 134 q 172 194 163 178 q 243 326 205 258 l 320 465 l 84 886 q 77 909 77 897 q 83 919 77 917 l 302 978 z " + }, + "Y": { + "ha": 756, + "x_min": 73, + "x_max": 861, + "o": "m 81 903 q 95 910 85 906 q 118 920 104 915 q 146 932 131 926 q 177 945 161 939 l 256 976 q 272 980 264 980 q 284 977 277 980 q 298 966 290 974 l 455 662 l 459 672 l 526 796 q 552 842 539 819 q 574 882 564 864 q 591 910 584 899 q 599 921 597 921 l 831 979 q 845 981 840 981 q 861 967 861 981 q 859 958 860 964 q 855 945 859 952 l 656 576 q 626 520 641 548 q 596 468 610 492 q 571 422 582 443 q 553 389 559 402 l 548 367 l 510 113 q 507 94 508 101 q 503 81 505 86 q 497 73 500 77 q 486 66 493 70 l 294 -35 q 271 -43 283 -40 q 248 -47 259 -47 q 229 -42 237 -47 q 220 -25 220 -37 l 220 -22 q 230 67 223 16 q 245 168 237 119 l 283 419 q 255 480 273 442 q 217 562 237 518 q 175 653 197 606 q 133 742 153 700 q 99 815 114 783 q 76 862 83 847 q 73 883 73 872 q 74 895 73 889 q 81 903 76 901 z " + }, + "Z": { + "ha": 847, + "x_min": 70, + "x_max": 854, + "o": "m 139 0 q 123 2 131 0 q 108 8 115 3 q 97 20 101 12 q 92 41 92 28 q 93 43 92 42 q 94 46 94 45 l 447 666 q 432 670 447 668 q 395 672 418 671 q 345 674 372 673 q 293 676 318 675 q 249 676 269 676 q 223 677 230 677 q 155 676 186 677 q 88 675 123 675 q 75 680 81 675 q 70 692 70 685 q 71 693 71 692 q 71 697 71 695 l 159 907 q 177 931 165 922 q 206 945 190 940 q 240 952 222 950 q 276 954 258 954 q 422 950 350 954 q 565 944 494 947 q 708 938 637 941 q 853 935 780 935 l 853 907 l 523 290 q 523 288 523 288 q 522 286 522 288 q 529 278 522 279 q 541 277 536 277 l 675 277 q 754 282 716 277 q 833 287 792 287 q 848 282 841 287 q 854 269 854 277 q 853 263 854 270 l 744 46 q 724 20 739 30 q 689 6 709 11 q 643 0 668 1 q 591 -1 618 -1 q 375 -1 485 -1 q 139 0 266 0 z " + }, + "[": { + "ha": 545, + "x_min": 85, + "x_max": 616, + "o": "m 153 897 q 157 922 154 913 q 165 936 161 931 q 174 942 169 941 q 182 944 178 943 l 597 983 q 601 983 597 983 q 607 981 604 983 q 613 975 610 979 q 616 964 616 971 q 607 929 616 960 q 580 852 597 898 l 550 774 q 542 759 547 764 q 524 750 537 753 q 488 745 511 747 q 422 739 464 743 q 418 697 421 730 q 410 616 414 664 q 400 513 406 569 q 388 401 394 456 l 365 120 l 496 121 q 504 114 504 121 q 502 104 504 110 q 496 94 499 99 q 489 75 495 92 q 474 35 482 58 q 456 -11 465 12 q 441 -49 447 -35 q 418 -72 431 -66 q 389 -77 406 -77 q 367 -76 378 -77 q 342 -74 355 -75 q 278 -71 311 -72 q 213 -67 245 -69 q 151 -63 181 -66 q 96 -54 121 -60 q 86 -46 88 -53 q 85 -31 85 -39 q 86 -2 85 -28 q 91 65 88 24 q 98 161 94 107 q 106 273 102 214 q 115 393 111 332 q 124 509 120 454 l 153 897 z " + }, + "\\": { + "ha": 742, + "x_min": 111, + "x_max": 719, + "o": "m 456 640 q 532 473 498 549 q 596 329 566 397 q 655 198 627 261 q 715 68 684 134 q 719 56 719 60 q 710 40 719 47 q 691 28 702 33 q 668 19 680 23 q 652 14 657 16 l 584 -15 q 566 -20 574 -20 q 554 -11 556 -20 q 547 10 551 -1 l 112 969 q 111 971 111 970 q 115 977 111 975 q 122 980 118 979 q 194 1004 158 987 q 266 1036 229 1021 l 270 1036 q 284 1028 279 1036 q 298 1001 290 1021 q 377 819 339 908 q 456 640 415 729 z " + }, + "]": { + "ha": 547, + "x_min": 20, + "x_max": 542, + "o": "m 470 1 q 465 -24 469 -15 q 458 -38 462 -33 q 449 -44 454 -43 q 441 -46 445 -45 l 258 -52 q 187 -55 222 -54 q 122 -57 152 -56 q 71 -58 92 -58 q 40 -58 49 -58 q 36 -58 39 -58 q 30 -56 33 -58 q 23 -50 26 -54 q 20 -39 20 -46 q 27 -11 20 -37 q 50 61 34 16 l 73 131 q 84 149 77 142 q 110 155 90 155 l 215 159 q 217 182 216 165 q 220 224 218 199 q 224 281 222 250 q 229 349 227 313 q 235 422 232 385 q 241 496 238 460 l 261 778 l 130 777 q 121 780 123 777 q 119 789 119 783 q 120 796 119 792 q 120 804 120 800 q 120 821 120 806 q 121 858 121 837 q 122 900 121 878 q 122 933 122 921 q 133 961 122 955 q 161 967 143 967 q 185 966 172 967 q 212 965 198 965 l 531 965 q 541 957 539 965 q 542 943 542 949 q 541 925 542 939 q 539 893 541 911 q 537 852 538 874 q 533 812 535 831 q 530 763 532 795 q 524 690 528 730 q 517 606 521 650 q 510 521 513 562 q 503 445 506 479 q 499 389 500 410 l 470 1 z " + }, + "^": { + "ha": 807, + "x_min": 28, + "x_max": 768, + "o": "m 507 62 q 496 98 503 73 q 481 153 490 122 q 463 216 472 183 q 446 279 454 250 q 432 329 437 308 q 424 358 426 351 l 267 60 q 250 52 264 52 q 199 62 226 58 q 145 69 172 66 q 90 74 117 72 q 37 78 62 76 q 28 87 28 80 q 39 119 28 95 q 92 219 64 167 q 147 324 119 271 q 202 427 175 376 q 252 522 229 478 q 296 602 276 566 q 332 659 317 637 q 335 664 332 661 q 341 667 338 667 l 346 668 q 347 668 347 668 q 349 667 348 667 q 457 658 404 661 q 562 654 511 655 q 572 652 568 654 q 580 646 576 650 q 587 635 584 642 q 594 617 590 628 l 765 145 q 767 133 766 138 q 768 123 768 127 q 753 102 768 107 q 637 83 696 93 q 522 58 579 73 q 513 57 517 57 q 507 62 508 57 z " + }, + "_": { + "ha": 706, + "x_min": 14, + "x_max": 672, + "o": "m 113 -39 q 37 -36 60 -39 q 14 -23 14 -33 q 18 -6 14 -18 q 30 18 22 5 q 47 46 37 31 q 67 72 56 60 q 89 92 78 84 q 111 100 100 100 l 349 107 q 383 107 359 107 q 439 108 408 108 q 505 109 471 109 q 568 110 538 110 q 617 111 597 111 q 640 111 637 111 q 656 108 648 111 q 667 101 662 105 q 672 87 672 96 q 670 61 672 79 q 665 26 668 43 l 659 -20 q 653 -31 658 -27 q 626 -35 648 -35 l 519 -35 q 474 -35 498 -35 q 428 -36 451 -35 q 385 -36 406 -36 q 347 -36 363 -36 l 113 -39 z " + }, + "`": { + "ha": 380, + "x_min": 17, + "x_max": 341, + "o": "m 117 968 q 90 1015 101 996 q 70 1051 79 1034 q 50 1087 60 1068 q 24 1135 39 1107 q 19 1149 20 1143 q 17 1162 18 1156 q 20 1174 17 1169 q 31 1181 24 1178 q 83 1210 56 1196 q 138 1240 111 1225 q 194 1272 166 1255 q 246 1305 221 1288 q 256 1309 253 1309 q 261 1303 260 1309 l 337 907 q 340 892 338 898 q 341 881 341 886 q 339 869 341 875 q 330 861 337 864 q 304 849 316 854 q 280 838 292 844 q 255 825 268 832 q 225 808 241 819 q 218 806 222 806 q 204 815 212 806 q 185 843 197 824 q 158 893 174 863 q 117 968 141 924 z " + }, + "a": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 z " + }, + "b": { + "ha": 895, + "x_min": 79, + "x_max": 888, + "o": "m 368 221 q 387 194 374 208 q 416 168 399 180 q 452 150 433 157 q 493 142 472 142 q 548 165 522 142 q 593 226 574 188 q 623 314 612 264 q 634 416 634 363 q 628 477 634 448 q 610 528 623 507 q 579 563 598 550 q 532 576 559 576 q 452 550 488 576 q 390 484 415 524 l 368 221 m 115 -33 q 100 -35 106 -35 q 79 -9 79 -35 q 79 -3 79 -6 q 80 5 79 1 l 159 964 q 159 968 159 966 q 159 972 159 970 q 159 977 159 975 q 159 980 159 979 q 163 990 159 986 q 186 998 168 994 l 376 1044 q 396 1050 384 1045 q 420 1055 408 1055 q 436 1050 429 1055 q 444 1035 444 1046 q 444 1032 444 1034 q 444 1029 444 1031 q 440 1000 443 1026 q 434 936 437 973 q 427 855 431 898 q 419 774 422 812 q 413 710 416 736 q 410 680 410 684 q 512 735 459 713 q 618 757 565 757 q 739 728 688 757 q 823 651 789 699 q 872 541 856 604 q 888 412 888 479 q 878 305 888 359 q 849 201 868 251 q 803 109 831 152 q 738 33 774 65 q 657 -17 702 1 q 560 -35 612 -35 q 445 -7 497 -35 q 348 64 393 20 q 346 39 347 48 q 341 24 345 29 q 330 16 338 19 q 308 9 323 13 q 282 3 300 7 q 237 -7 263 -1 q 179 -20 211 -13 q 115 -33 148 -26 z " + }, + "c": { + "ha": 714, + "x_min": 68, + "x_max": 736, + "o": "m 68 331 q 101 497 68 420 q 192 633 134 575 q 329 724 250 690 q 500 757 408 757 q 608 747 564 757 q 682 724 653 736 q 723 701 710 711 q 736 690 736 690 q 733 667 736 686 q 727 624 730 648 q 720 573 723 599 q 717 528 717 547 q 715 520 717 524 q 704 516 713 516 q 680 522 696 516 q 642 534 665 528 q 590 547 619 541 q 524 553 560 553 q 444 537 479 553 q 382 493 408 521 q 342 426 356 465 q 328 342 328 387 q 343 263 328 296 q 382 209 357 230 q 438 179 406 189 q 505 170 470 170 q 587 181 546 170 q 665 212 629 192 q 671 213 667 213 q 676 210 674 213 q 677 197 677 206 q 677 144 677 175 q 677 85 677 113 q 676 37 677 57 q 675 18 675 18 q 622 -9 650 1 q 563 -25 593 -19 q 503 -33 533 -31 q 444 -35 472 -35 q 296 -9 364 -35 q 177 66 227 18 q 97 181 126 114 q 68 331 68 249 z " + }, + "d": { + "ha": 901, + "x_min": 71, + "x_max": 920, + "o": "m 595 386 q 599 431 597 408 q 605 481 602 455 q 561 547 589 522 q 490 572 532 572 q 418 548 448 572 q 372 489 389 524 q 346 415 354 454 q 338 346 338 376 q 343 273 338 309 q 357 208 347 237 q 383 161 367 179 q 424 143 399 143 q 521 170 484 145 q 581 231 558 195 l 595 386 m 831 68 q 831 65 831 67 q 831 62 831 64 q 831 57 831 59 q 831 53 831 55 q 827 43 831 47 q 804 35 823 39 l 623 -24 q 603 -31 615 -27 q 579 -35 591 -35 q 563 -31 570 -35 q 555 -13 555 -26 q 556 7 555 -1 q 556 21 556 14 q 558 35 557 27 q 560 54 559 42 q 455 -11 509 14 q 342 -35 401 -35 q 226 -4 277 -35 q 141 78 176 26 q 89 197 106 130 q 71 336 71 264 q 101 508 71 431 q 185 641 132 586 q 309 727 238 696 q 458 757 379 757 q 540 734 501 757 q 614 677 579 712 q 618 749 616 710 q 624 828 621 788 q 629 908 627 869 q 634 980 632 947 q 638 990 634 986 q 661 998 643 994 l 852 1044 q 871 1050 859 1045 q 895 1055 884 1055 q 912 1050 904 1055 q 920 1035 920 1046 q 919 1029 920 1034 q 919 1023 919 1025 l 831 68 z " + }, + "e": { + "ha": 774, + "x_min": 68, + "x_max": 771, + "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 z " + }, + "f": { + "ha": 617, + "x_min": 47, + "x_max": 783, + "o": "m 157 -10 q 160 22 158 -3 q 166 85 163 47 q 174 172 170 123 q 184 278 178 221 q 195 396 189 334 q 207 521 201 458 l 117 521 q 64 524 80 521 q 47 536 47 527 q 54 551 47 539 q 72 579 61 563 q 94 615 82 596 q 118 651 106 634 q 137 680 129 667 q 147 694 145 692 l 230 694 l 243 802 q 278 946 253 888 q 339 1040 302 1004 q 424 1092 376 1076 q 526 1107 471 1107 q 638 1094 580 1107 q 757 1058 697 1081 q 776 1049 770 1053 q 783 1039 783 1045 q 778 1025 783 1034 q 746 957 756 983 q 729 916 735 931 q 719 896 723 901 q 707 891 715 891 q 698 893 703 891 q 688 898 694 895 q 640 914 664 907 q 594 921 616 921 q 542 902 564 921 q 507 830 519 883 q 494 764 499 800 q 486 694 490 729 l 663 694 q 674 691 669 694 q 679 678 679 687 q 671 654 679 675 q 648 599 663 633 l 623 544 q 613 529 618 534 q 593 523 608 524 l 475 523 q 461 383 468 452 q 448 253 454 314 q 437 145 442 193 q 430 73 433 98 q 429 65 429 71 q 430 60 429 62 q 430 57 430 58 q 426 47 430 51 q 403 39 421 43 l 224 -24 q 205 -31 217 -27 q 181 -35 193 -35 q 163 -30 170 -35 q 157 -10 157 -24 z " + }, + "g": { + "ha": 878, + "x_min": 69, + "x_max": 871, + "o": "m 576 484 q 557 515 569 499 q 530 545 545 532 q 496 567 514 559 q 457 576 477 576 q 405 553 429 576 q 362 491 380 530 q 333 404 344 453 q 323 302 323 355 q 329 240 323 269 q 347 190 334 212 q 378 155 359 168 q 425 142 397 142 q 499 168 465 142 q 557 234 533 193 q 559 268 557 248 q 562 316 560 288 q 567 382 564 344 q 575 473 570 420 l 576 484 m 800 74 q 770 -52 793 7 q 710 -158 746 -110 q 627 -245 673 -207 q 529 -310 581 -283 q 422 -350 477 -336 q 313 -364 367 -364 q 255 -362 285 -364 q 197 -354 225 -360 q 142 -338 168 -349 q 96 -311 117 -328 l 96 -311 q 101 -287 96 -307 q 114 -239 106 -267 q 129 -182 121 -212 q 142 -132 136 -153 q 147 -119 144 -123 q 153 -116 150 -116 q 158 -117 157 -116 q 195 -138 178 -130 q 232 -152 212 -146 q 274 -159 251 -157 q 328 -161 297 -161 q 412 -142 375 -161 q 475 -95 448 -124 q 517 -31 501 -66 q 539 38 533 4 q 440 -15 490 5 q 339 -35 390 -35 q 218 -7 269 -35 q 134 68 168 21 q 85 177 101 116 q 69 306 69 239 q 79 413 69 359 q 108 517 89 467 q 156 611 127 567 q 222 687 184 654 q 304 738 259 720 q 404 757 350 757 q 512 731 462 757 q 602 667 562 705 q 604 687 604 680 q 608 698 605 694 q 617 704 610 702 q 635 709 623 706 q 663 714 643 710 q 709 725 682 719 q 769 738 736 731 q 835 752 802 745 q 850 754 843 754 q 871 727 871 754 q 871 721 871 724 q 870 714 871 718 l 800 74 z " + }, + "h": { + "ha": 901, + "x_min": 81, + "x_max": 878, + "o": "m 159 986 q 158 994 159 990 q 158 1000 158 997 q 163 1011 158 1006 q 186 1020 168 1015 l 376 1065 q 396 1072 384 1067 q 420 1076 408 1076 q 444 1055 444 1076 q 441 1027 444 1053 q 436 961 439 1000 q 429 875 433 922 q 420 787 425 829 q 413 713 416 745 q 408 672 410 682 q 474 705 439 690 q 544 732 509 721 q 613 750 578 744 q 681 757 648 757 q 758 745 722 757 q 821 706 794 733 q 863 634 848 678 q 878 525 878 589 q 878 491 878 509 q 875 456 877 474 l 846 178 q 842 119 842 150 q 841 56 841 88 q 841 46 841 50 q 842 40 842 43 q 837 31 842 34 q 814 22 831 27 l 648 -24 q 628 -31 640 -26 q 604 -35 616 -35 q 587 -30 593 -35 q 581 -10 581 -25 q 588 72 585 41 q 593 122 591 103 q 596 150 595 140 q 598 168 597 160 q 600 185 599 176 q 603 214 602 195 q 608 264 605 233 q 616 347 611 296 q 622 400 618 374 q 625 450 625 427 q 622 502 625 478 q 611 542 618 525 q 589 568 603 558 q 555 577 576 577 q 512 570 539 577 q 459 548 486 564 q 411 507 432 532 q 388 444 391 481 q 379 359 382 392 q 374 304 376 326 q 371 269 372 282 q 370 245 370 256 q 368 229 369 242 q 364 197 366 216 q 360 158 362 179 q 356 119 358 138 q 354 88 355 101 q 353 71 353 75 q 353 62 353 66 q 353 55 353 58 q 348 46 353 50 q 326 37 343 42 l 149 -24 q 129 -31 141 -27 q 105 -35 117 -35 q 88 -30 95 -35 q 81 -10 81 -24 l 159 986 z " + }, + "i": { + "ha": 415, + "x_min": 73, + "x_max": 439, + "o": "m 99 288 q 117 471 108 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 91 q 342 60 345 68 q 328 49 340 52 q 211 9 270 31 q 86 -35 152 -12 q 80 -35 84 -35 q 73 -28 73 -35 q 74 -10 73 -28 q 78 35 75 7 q 83 98 80 63 q 89 167 85 132 q 94 233 92 201 q 99 288 97 265 m 150 829 q 153 873 152 858 q 155 897 154 889 q 155 907 155 905 q 156 910 155 909 q 156 914 156 911 q 157 927 157 917 q 159 956 158 937 q 163 1008 161 975 q 168 1039 165 1030 q 183 1050 171 1047 q 304 1074 241 1061 q 426 1106 367 1086 q 432 1107 428 1107 q 437 1101 434 1103 l 439 1100 l 425 914 q 419 883 422 892 q 405 872 416 874 q 288 848 347 861 q 163 823 229 836 q 157 822 161 822 q 150 829 150 822 z " + }, + "j": { + "ha": 420, + "x_min": -193, + "x_max": 441, + "o": "m 152 829 q 155 873 154 858 q 157 897 156 889 q 157 907 157 905 q 158 910 157 909 q 158 914 158 911 q 159 927 159 917 q 161 956 160 937 q 165 1008 163 975 q 170 1039 167 1030 q 185 1050 173 1047 q 306 1074 243 1061 q 428 1106 369 1086 q 434 1107 430 1107 q 439 1101 436 1103 l 441 1100 l 427 914 q 421 883 425 892 q 407 872 418 874 q 290 848 349 861 q 165 823 231 836 q 159 822 163 822 q 152 829 152 822 m 77 60 q 90 185 83 115 q 105 335 98 256 q 121 496 113 414 q 134 658 128 579 q 139 689 136 680 q 154 700 142 697 q 275 724 212 711 q 397 756 338 736 q 403 757 399 757 q 410 751 410 757 l 360 196 l 347 88 q 257 -146 329 -69 q 47 -223 184 -223 q 11 -219 34 -223 q -39 -209 -12 -216 q -93 -195 -65 -203 q -142 -178 -120 -186 q -178 -162 -164 -170 q -193 -149 -193 -155 q -188 -134 -193 -143 q -157 -69 -168 -95 q -140 -28 -146 -43 q -131 -7 -134 -13 q -119 -1 -127 -1 q -98 -7 -113 -1 q -51 -24 -74 -17 q -4 -31 -27 -31 q 23 -26 9 -31 q 47 -12 36 -22 q 65 16 58 -1 q 77 60 73 34 z " + }, + "k": { + "ha": 853, + "x_min": 77, + "x_max": 881, + "o": "m 447 1029 l 422 794 q 413 698 418 747 q 403 604 408 649 q 394 522 398 559 q 387 459 390 484 l 434 511 l 510 600 q 538 632 524 616 q 562 661 551 648 q 580 682 573 673 q 588 692 587 690 l 861 711 q 865 711 863 711 q 869 711 867 711 q 881 705 881 711 q 867 684 881 701 l 654 447 q 621 411 640 431 q 578 365 602 390 l 677 247 l 848 63 q 854 58 850 60 q 862 55 858 56 q 868 52 865 54 q 871 47 871 50 q 870 43 871 44 q 864 37 869 41 q 843 24 858 33 q 807 4 827 15 q 764 -18 787 -7 q 719 -38 741 -29 q 679 -53 697 -47 q 650 -59 661 -59 q 634 -55 642 -59 q 617 -40 627 -51 q 585 -1 604 -25 q 543 52 566 23 q 497 112 521 81 q 453 171 474 142 q 414 221 431 199 q 387 258 397 244 q 380 253 384 254 q 374 248 377 251 q 369 242 371 245 q 367 231 367 238 q 366 216 367 229 q 362 186 364 203 q 359 149 361 169 q 355 112 357 130 q 352 82 353 95 q 351 67 351 70 q 351 59 351 62 q 351 54 351 56 q 346 42 351 46 q 321 33 341 39 l 144 -24 q 124 -31 136 -27 q 100 -35 112 -35 q 84 -31 91 -35 q 77 -13 77 -26 l 162 964 q 161 971 162 968 q 161 977 161 974 q 166 988 161 983 q 189 998 171 994 l 380 1044 q 399 1050 387 1045 q 423 1055 412 1055 q 440 1050 432 1055 q 448 1035 448 1046 q 447 1032 448 1034 q 447 1029 447 1031 z " + }, + "l": { + "ha": 422, + "x_min": 79, + "x_max": 439, + "o": "m 128 574 q 141 758 136 667 q 153 944 146 848 q 157 975 154 966 q 172 986 160 983 q 299 1009 235 998 q 426 1041 362 1021 q 432 1042 428 1042 q 439 1035 439 1042 l 351 66 l 351 55 q 347 45 351 49 q 324 37 342 41 l 146 -28 q 127 -36 139 -32 q 103 -39 115 -39 q 86 -35 94 -39 q 79 -18 79 -30 l 79 -14 q 90 120 85 54 q 101 255 95 185 q 113 403 106 325 q 128 574 120 481 z " + }, + "m": { + "ha": 1322, + "x_min": 73, + "x_max": 1301, + "o": "m 1068 -24 q 1048 -31 1061 -26 q 1025 -35 1036 -35 q 1008 -31 1015 -35 q 1001 -14 1001 -26 l 1001 -10 q 1009 70 1006 39 q 1015 120 1013 101 q 1018 149 1017 139 q 1021 167 1019 159 q 1023 186 1022 176 q 1026 215 1024 196 q 1031 264 1028 233 q 1039 345 1034 295 q 1045 399 1042 372 q 1048 448 1048 426 q 1045 500 1048 477 q 1034 540 1042 524 q 1013 566 1026 557 q 978 576 999 576 q 944 570 965 576 q 903 551 924 565 q 865 514 882 537 q 843 457 848 492 l 843 454 q 828 320 835 377 q 817 223 822 264 q 809 155 812 182 q 804 110 806 128 q 801 79 802 91 q 800 56 800 66 q 801 46 800 50 q 801 40 801 43 q 796 31 801 35 q 773 22 791 27 l 614 -24 q 594 -31 606 -26 q 570 -35 582 -35 q 554 -31 561 -35 q 547 -14 547 -26 l 547 -10 q 554 70 551 39 q 560 120 557 101 q 564 149 562 139 q 566 167 565 159 q 568 186 567 176 q 571 215 570 196 q 576 264 573 233 q 584 345 579 295 q 590 399 587 372 q 593 448 593 426 q 590 500 593 477 q 580 540 587 524 q 561 566 573 557 q 530 576 549 576 q 493 569 516 576 q 446 547 469 562 q 405 506 422 531 q 384 443 387 480 q 375 360 378 393 q 370 308 372 328 q 367 274 368 287 q 365 251 366 262 q 363 236 364 248 q 360 206 361 223 q 356 169 358 189 q 353 131 355 149 q 351 101 352 114 q 350 86 350 89 l 350 74 q 349 62 350 67 q 345 54 349 58 q 335 46 342 50 q 317 39 329 43 l 140 -24 q 120 -31 132 -27 q 96 -35 108 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 134 677 q 139 708 136 700 q 154 720 142 717 q 280 744 216 732 q 406 777 345 757 q 413 775 412 777 q 414 770 414 773 l 405 671 q 461 699 430 684 q 527 727 492 714 q 596 748 561 740 q 666 757 632 757 q 752 735 713 757 q 818 665 792 714 q 883 701 848 684 q 952 730 917 718 q 1024 749 988 743 q 1094 756 1060 756 q 1175 744 1137 756 q 1241 704 1213 732 q 1285 632 1269 676 q 1301 524 1301 587 q 1301 490 1301 507 q 1298 454 1300 473 l 1267 164 q 1263 112 1263 136 q 1262 56 1262 87 q 1262 46 1262 50 q 1263 40 1263 43 q 1258 31 1263 34 q 1235 22 1253 27 l 1068 -24 z " + }, + "n": { + "ha": 897, + "x_min": 73, + "x_max": 876, + "o": "m 644 -24 q 625 -31 637 -26 q 601 -35 612 -35 q 584 -31 591 -35 q 577 -14 577 -26 l 577 -10 q 584 52 581 26 q 589 98 587 77 q 593 139 591 119 q 597 188 595 160 q 604 253 600 215 q 613 347 608 290 q 619 417 616 381 q 622 484 622 453 q 619 521 622 504 q 608 551 616 538 q 587 570 600 564 q 552 577 573 577 q 509 570 536 577 q 454 548 481 564 q 406 507 427 532 q 382 444 385 481 q 375 358 378 394 q 369 298 372 323 q 365 258 366 273 q 362 231 363 242 q 360 216 361 229 q 357 187 359 204 q 354 151 355 170 q 350 115 352 132 q 348 86 349 98 q 347 71 347 74 q 347 62 347 66 q 347 55 347 58 q 342 46 347 50 q 319 37 337 42 l 140 -24 q 120 -31 132 -27 q 96 -35 108 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 134 679 q 139 710 136 701 q 155 721 142 718 q 281 746 216 733 q 408 778 347 758 q 415 776 414 778 q 416 771 416 774 q 415 767 416 770 q 413 755 415 764 q 409 726 412 745 q 400 672 406 707 q 488 716 447 699 q 565 742 529 732 q 633 754 602 751 q 693 757 665 757 q 832 699 789 757 q 876 525 876 641 q 875 491 876 509 q 872 456 874 474 l 841 164 q 837 112 838 136 q 836 56 836 87 q 837 46 836 50 q 837 40 837 43 q 832 31 837 34 q 809 22 827 27 l 644 -24 z " + }, + "o": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 z " + }, + "p": { + "ha": 899, + "x_min": 50, + "x_max": 895, + "o": "m 385 473 q 377 368 380 408 q 372 301 374 327 q 369 261 370 276 q 367 234 368 247 q 413 168 382 193 q 486 142 444 142 q 552 166 524 142 q 598 227 580 189 q 627 310 617 264 q 636 401 636 356 q 630 471 636 439 q 610 526 623 503 q 578 563 597 549 q 532 576 559 576 q 489 567 511 576 q 448 546 468 559 q 413 516 429 532 q 387 484 397 499 l 385 473 m 398 672 q 517 734 455 711 q 648 757 580 757 q 758 731 711 757 q 835 660 804 705 q 880 558 865 616 q 895 437 895 500 q 884 326 895 382 q 852 217 873 270 q 800 119 831 165 q 728 38 768 73 q 638 -16 688 4 q 531 -35 589 -35 q 434 -15 480 -35 q 347 38 387 5 q 345 13 347 35 q 340 -39 343 -8 q 334 -104 338 -69 q 328 -170 331 -139 q 324 -221 326 -200 q 322 -246 322 -243 q 322 -255 322 -252 q 323 -262 323 -259 q 318 -272 323 -268 q 295 -280 313 -275 l 117 -326 q 97 -332 109 -328 q 73 -336 85 -336 q 57 -332 64 -336 q 50 -314 50 -327 l 132 679 q 137 710 134 701 q 153 721 140 718 q 279 746 214 733 q 406 778 345 758 q 413 776 412 778 q 414 771 414 774 q 413 767 414 770 q 411 755 413 764 q 407 726 410 745 q 398 672 404 707 z " + }, + "q": { + "ha": 884, + "x_min": 70, + "x_max": 871, + "o": "m 576 487 q 558 519 570 503 q 530 549 546 535 q 496 571 515 562 q 458 579 478 579 q 406 556 430 579 q 363 495 381 533 q 334 407 345 456 q 323 305 323 358 q 329 244 323 273 q 347 193 335 215 q 379 159 359 172 q 425 146 398 146 q 500 171 466 146 q 557 237 534 197 q 559 271 558 252 q 563 319 561 291 q 568 386 565 347 q 576 477 571 424 l 576 487 m 836 755 q 850 758 844 758 q 871 731 871 758 q 871 725 871 728 q 871 718 871 722 l 783 -222 q 783 -230 783 -224 q 783 -235 783 -233 q 783 -238 783 -237 q 779 -248 783 -244 q 756 -256 774 -252 l 576 -322 q 557 -329 569 -324 q 533 -333 545 -333 q 516 -329 524 -333 q 509 -314 509 -325 q 509 -308 509 -310 q 511 -289 510 -305 q 515 -249 513 -273 q 519 -195 517 -225 q 525 -133 522 -165 q 530 -72 527 -102 q 534 -17 532 -41 q 538 23 536 7 q 540 41 539 39 q 441 -13 491 9 q 340 -35 391 -35 q 219 -7 270 -35 q 135 70 168 22 q 86 179 102 117 q 70 309 70 241 q 80 416 70 362 q 109 520 90 470 q 157 613 128 570 q 222 688 185 656 q 305 739 260 720 q 404 757 351 757 q 513 733 464 757 q 603 671 562 709 q 605 690 604 683 q 608 701 606 697 q 617 707 611 705 q 636 712 624 709 q 663 718 644 713 q 710 728 683 722 q 770 741 737 734 q 836 755 802 748 z " + }, + "r": { + "ha": 613, + "x_min": 73, + "x_max": 678, + "o": "m 636 552 q 604 555 622 553 q 567 557 587 557 q 506 552 537 557 q 449 532 475 547 q 404 491 422 517 q 379 423 385 465 q 371 341 374 373 q 367 288 368 309 q 365 255 366 267 q 363 231 363 242 q 362 216 363 229 q 359 188 361 204 q 355 153 357 172 q 351 117 353 134 q 348 89 349 101 q 347 74 347 77 q 348 65 347 68 q 348 58 348 61 q 343 48 348 52 q 320 40 338 45 l 140 -24 q 121 -31 133 -27 q 97 -35 109 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 132 658 q 137 689 134 680 q 152 700 140 697 q 279 725 214 712 q 407 757 345 737 q 413 755 412 757 q 414 750 414 753 q 414 746 414 749 q 412 734 414 743 q 407 705 410 724 q 399 651 404 686 q 468 696 430 675 q 543 731 505 716 q 616 754 581 745 q 678 762 652 762 l 636 552 z " + }, + "s": { + "ha": 584, + "x_min": 84, + "x_max": 568, + "o": "m 85 187 q 84 188 85 188 q 84 189 84 189 q 94 198 84 198 q 104 193 100 198 q 166 151 132 168 q 242 135 201 135 q 267 137 253 135 q 294 145 281 140 q 316 160 307 151 q 324 182 324 169 q 317 210 324 197 q 297 231 309 222 q 273 247 290 235 q 237 273 256 259 q 200 298 218 286 q 176 316 183 311 q 128 363 146 339 q 100 412 110 387 q 88 465 91 437 q 85 524 85 493 q 111 614 85 572 q 177 688 136 656 q 270 738 218 720 q 376 757 322 757 q 465 743 421 757 q 545 697 508 730 q 550 613 549 654 q 554 526 551 572 q 550 514 554 517 q 541 511 546 511 q 532 515 536 511 q 500 544 517 530 q 466 570 484 559 q 428 588 448 581 q 385 595 408 595 q 356 593 370 595 q 330 584 342 591 q 312 567 319 578 q 304 539 304 556 q 309 505 304 519 q 332 477 314 491 l 458 392 q 514 346 492 368 q 547 300 535 323 q 564 256 559 278 q 568 212 568 234 q 540 105 568 151 q 467 27 512 58 q 366 -19 422 -3 q 252 -35 309 -35 q 169 -26 209 -35 q 94 2 128 -17 l 85 187 z " + }, + "t": { + "ha": 633, + "x_min": 51, + "x_max": 659, + "o": "m 447 523 q 429 381 437 452 q 418 248 420 310 q 422 204 418 222 q 434 176 427 186 q 453 162 442 166 q 477 157 464 157 q 525 164 499 157 q 576 180 551 170 q 590 185 585 184 q 600 187 596 187 q 609 181 607 187 q 614 160 612 175 q 621 119 616 144 q 637 54 626 93 q 638 48 637 50 q 638 43 638 45 q 631 30 638 34 q 608 20 624 26 q 549 1 580 11 q 488 -17 518 -9 q 430 -30 458 -25 q 381 -35 402 -35 q 216 21 268 -35 q 164 193 164 77 q 165 233 164 212 q 169 276 167 254 q 181 405 176 344 q 191 521 186 465 l 120 521 q 67 524 83 521 q 51 536 51 527 q 58 551 51 539 q 75 579 64 563 q 98 615 85 596 q 121 651 110 634 q 140 680 132 667 q 151 694 149 692 l 199 694 q 209 781 205 746 q 215 839 212 816 q 219 874 217 862 q 223 893 221 887 q 230 901 226 899 q 239 904 233 903 q 298 915 270 910 q 355 926 327 920 q 413 938 384 931 q 475 955 443 945 q 477 955 477 955 q 480 956 478 956 q 488 950 488 956 l 488 949 q 478 845 485 911 q 462 694 471 779 l 644 694 q 654 691 649 694 q 659 678 659 687 q 651 654 659 675 q 628 599 643 633 l 604 544 q 594 529 599 534 q 573 523 589 524 l 447 523 z " + }, + "u": { + "ha": 868, + "x_min": 79, + "x_max": 862, + "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 z " + }, + "v": { + "ha": 760, + "x_min": 69, + "x_max": 819, + "o": "m 580 750 q 590 757 583 757 q 593 756 591 757 q 595 756 594 756 q 700 724 646 736 q 806 700 753 711 q 819 685 819 697 q 811 658 819 676 l 532 64 q 522 44 526 52 q 514 32 518 37 q 505 25 510 27 q 494 22 500 23 q 389 -2 442 12 q 279 -35 336 -15 q 277 -35 278 -35 q 276 -35 277 -35 l 271 -35 q 266 -33 268 -35 q 263 -28 264 -31 q 240 47 253 1 q 211 150 227 93 q 178 271 195 207 q 144 402 161 336 q 109 534 126 469 q 75 658 92 600 q 69 688 69 679 q 80 700 69 697 q 190 724 133 711 q 298 756 247 736 q 304 757 300 757 q 313 750 313 757 l 403 294 q 414 324 406 302 q 434 375 422 345 q 459 441 446 405 q 488 514 473 477 q 517 588 503 551 q 544 657 531 625 q 566 713 556 689 q 580 750 575 738 z " + }, + "w": { + "ha": 1147, + "x_min": 77, + "x_max": 1185, + "o": "m 503 690 q 515 700 505 698 q 627 725 570 712 q 738 757 685 738 q 747 750 747 757 l 817 288 l 946 750 q 956 757 949 757 q 959 756 958 757 q 962 756 960 756 q 1066 724 1013 736 q 1173 700 1120 711 q 1185 685 1185 697 q 1177 658 1185 676 l 959 53 q 949 34 954 41 q 941 21 945 26 q 932 15 937 17 q 921 11 928 12 q 817 -13 869 0 q 707 -45 764 -26 q 705 -46 705 -45 q 703 -46 704 -46 l 699 -46 q 693 -44 695 -46 q 690 -39 691 -41 q 673 33 683 -10 q 653 130 664 77 q 630 243 642 182 q 605 367 618 303 l 519 64 q 512 44 515 52 q 503 32 508 36 q 493 25 498 27 q 481 22 488 23 q 376 -2 429 12 q 267 -35 323 -15 q 264 -35 265 -35 q 263 -35 264 -35 l 258 -35 q 253 -33 255 -35 q 250 -28 250 -31 q 229 47 241 1 q 202 150 216 93 q 174 271 189 206 q 143 401 159 335 q 112 533 127 468 q 83 658 97 599 q 77 676 78 669 q 77 688 77 683 q 87 700 77 697 q 197 724 140 711 q 305 756 254 736 q 311 757 307 757 q 321 750 320 757 l 397 281 l 503 690 z " + }, + "x": { + "ha": 726, + "x_min": 15, + "x_max": 773, + "o": "m 475 -39 q 465 -21 474 -39 q 441 23 456 -4 q 409 85 427 51 q 372 153 391 119 q 321 85 347 119 q 277 23 296 51 q 244 -21 257 -4 q 231 -39 231 -39 q 218 -46 226 -46 q 212 -45 214 -46 q 168 -27 192 -35 q 120 -13 144 -20 q 70 -1 95 -7 q 22 11 45 5 q 15 18 15 12 q 20 30 15 22 q 37 53 26 37 l 262 360 q 181 508 221 435 q 100 658 142 581 q 88 679 92 671 q 84 692 84 686 q 93 700 84 698 q 197 724 144 711 q 296 756 250 736 q 302 757 298 757 q 313 750 311 757 l 415 566 l 557 750 q 570 757 562 757 q 575 756 574 757 q 668 724 616 736 q 766 700 719 711 q 773 694 773 698 q 768 681 773 688 q 751 658 762 673 q 636 508 692 581 q 526 360 581 436 l 688 53 q 699 33 695 40 q 703 20 703 25 q 695 11 703 13 q 591 -13 644 -1 q 492 -45 538 -26 q 486 -46 490 -46 q 475 -39 479 -46 z " + }, + "y": { + "ha": 763, + "x_min": 77, + "x_max": 807, + "o": "m 370 -309 q 367 -314 369 -312 q 361 -315 366 -315 q 355 -315 357 -315 q 309 -300 331 -306 q 266 -289 288 -294 q 222 -279 245 -283 q 175 -269 200 -275 q 164 -265 168 -268 q 161 -254 161 -262 q 163 -244 161 -252 q 175 -213 165 -237 q 204 -143 184 -189 q 258 -20 224 -97 q 235 62 248 14 q 208 165 222 109 q 178 284 193 222 q 146 411 162 347 q 114 538 130 475 q 83 658 98 601 q 78 676 79 669 q 77 688 77 683 q 88 700 77 697 q 198 724 141 711 q 306 756 255 736 q 312 757 308 757 q 321 750 321 757 l 404 294 q 415 324 407 302 q 433 375 422 345 q 456 441 444 405 q 483 514 469 477 q 510 588 496 551 q 534 657 523 625 q 554 713 546 689 q 568 750 563 738 q 578 757 570 757 q 581 756 580 757 q 583 756 581 756 q 688 724 634 736 q 794 700 741 711 q 807 685 807 697 q 799 658 807 676 l 519 26 l 370 -309 z " + }, + "z": { + "ha": 673, + "x_min": 57, + "x_max": 667, + "o": "m 173 0 q 144 1 159 0 q 116 6 129 3 q 95 16 104 10 q 87 33 87 22 q 87 35 87 33 q 88 37 88 36 l 328 528 q 264 527 299 528 q 193 525 229 526 q 125 524 157 524 q 71 523 93 523 q 60 527 64 523 q 57 537 57 532 l 57 540 l 125 703 q 146 727 131 722 q 176 732 161 732 q 410 728 295 732 q 644 724 525 724 q 659 720 651 724 q 667 708 667 715 q 665 703 667 707 l 450 234 q 454 232 450 233 q 464 231 458 231 q 475 230 469 230 q 485 230 481 230 q 568 232 528 230 q 648 234 608 234 q 661 231 656 234 q 667 217 667 227 q 665 216 667 216 l 580 37 q 558 17 574 24 q 520 6 543 9 q 470 1 498 2 q 414 0 443 0 l 173 0 z " + }, + "{": { + "ha": 571, + "x_min": 39, + "x_max": 624, + "o": "m 113 630 q 178 657 151 636 q 227 709 205 678 q 265 776 248 739 q 302 851 283 813 q 347 927 322 890 q 407 993 372 964 q 492 1043 443 1023 q 609 1067 541 1063 l 612 1067 q 621 1065 618 1067 q 624 1055 624 1063 q 616 988 618 1017 q 610 932 613 959 q 604 876 608 905 q 591 808 600 846 q 583 783 589 789 q 569 775 576 776 q 516 750 535 771 q 486 701 498 730 q 464 638 473 671 q 437 574 454 604 q 392 522 420 545 q 316 493 364 500 q 409 418 380 458 q 439 330 439 377 q 438 312 439 321 q 438 294 438 302 q 458 181 438 222 q 513 123 478 141 q 522 118 518 122 q 526 103 526 113 q 525 97 526 100 q 524 90 525 94 q 512 40 518 62 q 501 -3 507 18 q 490 -45 496 -23 q 477 -96 484 -67 q 472 -106 475 -103 q 463 -109 468 -109 q 460 -108 461 -109 q 458 -108 460 -108 q 349 -73 404 -99 q 251 -1 294 -47 q 180 111 208 45 q 153 267 153 177 q 154 286 153 276 q 154 304 154 295 q 146 350 154 330 q 126 384 139 370 q 96 406 113 397 q 58 418 78 414 q 44 422 49 419 q 39 437 39 425 q 41 466 39 449 q 46 503 43 484 q 53 540 50 522 q 60 574 57 559 q 65 598 63 589 q 67 608 67 608 q 82 624 71 621 q 113 630 92 627 z " + }, + "|": { + "ha": 404, + "x_min": 82, + "x_max": 415, + "o": "m 131 574 q 148 771 141 673 q 162 971 155 869 q 166 1002 163 994 q 182 1013 170 1010 q 294 1022 239 1017 q 408 1035 350 1027 q 414 1033 413 1035 q 415 1028 415 1031 l 327 9 l 327 -6 q 322 -16 327 -12 q 300 -24 318 -20 l 149 -62 q 130 -69 142 -65 q 106 -73 117 -73 q 89 -68 96 -73 q 82 -52 82 -64 l 82 -48 q 92 94 87 25 q 102 236 97 163 q 115 391 108 309 q 131 574 122 473 z " + }, + "}": { + "ha": 571, + "x_min": 44, + "x_max": 616, + "o": "m 576 616 q 606 611 596 614 q 616 594 616 608 q 615 584 616 594 q 613 557 614 573 q 610 519 612 541 q 606 477 608 498 q 600 435 603 455 q 592 400 596 415 q 584 382 589 387 q 567 377 578 378 q 498 325 528 366 q 452 208 469 284 q 420 114 442 156 q 367 38 397 71 q 298 -21 336 4 q 220 -65 260 -47 q 139 -93 180 -83 q 60 -108 98 -104 q 58 -108 58 -108 q 56 -109 57 -109 q 44 -96 44 -109 q 44 -70 44 -82 q 45 -47 45 -58 q 44 -9 45 -26 q 44 31 44 7 q 45 60 44 45 q 48 89 45 75 q 55 112 50 102 q 67 123 59 121 q 111 155 90 138 q 148 197 131 173 q 179 256 165 222 q 202 336 193 290 q 245 424 214 383 q 336 500 277 465 q 275 520 298 505 q 239 556 252 535 q 222 601 227 576 q 215 652 217 626 q 211 702 213 677 q 202 746 210 726 q 181 779 195 766 q 138 795 166 792 q 129 801 133 797 q 124 817 124 806 q 124 823 124 820 q 125 829 125 825 q 131 890 127 863 q 139 942 134 917 q 148 994 143 967 q 159 1055 153 1021 q 164 1065 160 1063 q 174 1067 168 1067 l 177 1067 q 294 1042 248 1063 q 369 991 340 1021 q 413 922 397 960 q 439 845 429 884 q 457 767 450 805 q 479 697 465 728 q 515 644 492 666 q 576 616 537 623 z " + }, + "~": { + "ha": 735, + "x_min": 77, + "x_max": 753, + "o": "m 490 591 q 514 566 503 573 q 541 558 526 558 q 571 569 562 558 q 584 594 580 581 q 589 620 587 608 q 597 631 591 631 q 609 631 599 631 q 633 632 618 631 q 664 633 647 633 q 696 635 681 634 q 722 636 711 636 q 736 637 733 637 q 747 634 741 637 q 753 624 753 631 q 736 525 753 575 q 687 435 719 475 q 612 369 656 394 q 514 343 568 343 q 471 347 492 343 q 428 362 450 351 q 385 394 407 374 q 341 446 363 414 q 317 467 330 463 q 287 471 304 471 q 260 465 271 471 q 244 447 250 458 q 236 423 238 436 q 233 397 233 410 q 228 386 233 391 q 214 381 222 381 q 179 381 192 381 q 154 380 165 380 q 131 379 143 380 q 98 379 118 379 q 84 382 90 379 q 77 391 77 385 q 96 507 77 454 q 145 597 114 559 q 219 655 177 634 q 309 675 261 675 q 360 673 336 675 q 405 663 383 671 q 448 638 427 655 q 490 591 469 621 z " + }, + "¡": { + "ha": 373, + "x_min": 48, + "x_max": 415, + "o": "m 102 247 q 144 458 123 353 q 182 671 165 564 q 187 702 184 693 q 202 713 190 711 q 254 724 229 718 q 309 736 280 729 q 315 735 314 736 q 316 730 316 733 l 323 60 q 318 28 321 37 q 303 18 315 20 q 186 -13 245 4 q 62 -45 127 -29 q 56 -46 60 -46 q 48 -39 48 -46 q 51 -23 48 -39 q 58 18 54 -7 q 68 75 62 43 q 79 137 73 106 q 91 198 85 169 q 102 247 97 227 m 125 808 q 129 853 127 838 q 130 877 130 869 q 131 886 131 884 q 131 889 131 888 q 132 893 132 890 q 133 906 132 897 q 135 935 134 916 q 139 987 136 954 q 143 1018 140 1010 q 159 1029 146 1027 q 279 1054 216 1041 q 401 1086 342 1066 q 408 1086 404 1086 q 413 1081 410 1082 l 415 1080 l 400 894 q 395 863 398 871 q 380 852 392 854 q 264 828 323 841 q 139 802 205 815 q 133 802 137 802 q 125 808 125 802 z " + }, + "¢": { + "ha": 737, + "x_min": 68, + "x_max": 737, + "o": "m 68 331 q 98 491 68 416 q 179 624 127 566 q 302 718 231 682 q 458 763 374 755 l 465 840 q 468 871 466 863 q 477 883 469 880 q 506 883 493 883 q 530 884 518 884 q 555 885 542 884 q 585 885 568 885 q 598 880 592 885 q 605 857 605 875 l 596 757 q 660 740 633 750 q 704 721 686 730 q 729 705 721 711 q 737 697 737 698 q 734 674 737 693 q 727 631 731 656 q 721 580 724 606 q 718 535 718 554 q 715 528 718 532 q 705 524 713 524 q 687 527 698 524 q 660 536 675 531 q 624 547 644 542 q 579 556 604 553 l 545 146 q 605 159 578 150 q 666 188 632 169 q 671 189 667 189 q 676 185 675 189 q 678 172 678 182 q 678 120 678 151 q 678 61 678 89 q 677 13 677 33 q 675 -7 676 -7 q 606 -39 643 -28 q 528 -55 568 -50 l 522 -132 q 521 -145 521 -140 q 520 -154 521 -150 q 516 -160 519 -157 q 505 -166 513 -163 l 450 -171 l 399 -171 q 390 -166 393 -171 q 386 -151 386 -162 q 389 -102 386 -125 q 393 -56 391 -79 q 263 -16 323 -47 q 161 67 204 16 q 93 184 117 117 q 68 331 68 252 m 443 543 q 359 465 389 518 q 329 342 329 412 q 349 236 329 283 q 411 163 370 188 q 416 224 413 191 q 421 294 418 258 q 428 367 425 330 q 434 439 431 404 l 443 543 z " + }, + "£": { + "ha": 755, + "x_min": 59, + "x_max": 789, + "o": "m 194 -39 q 189 -39 190 -39 q 161 -39 173 -39 q 140 -39 149 -39 q 79 -36 99 -39 q 59 -20 59 -32 q 72 1 59 -15 q 103 38 84 18 q 143 81 121 59 q 183 119 165 102 q 198 271 189 186 q 217 446 207 356 l 147 446 q 94 449 111 446 q 78 462 78 452 q 83 476 78 465 q 97 505 89 488 q 116 541 106 522 q 134 576 125 559 q 150 605 143 593 q 157 620 156 617 l 240 620 l 250 762 q 276 883 257 826 q 330 982 295 939 q 419 1048 365 1024 q 549 1073 473 1073 q 640 1063 596 1073 q 716 1041 683 1053 q 769 1016 749 1028 q 789 998 789 1003 q 787 992 789 995 q 784 984 786 989 q 755 922 766 948 q 738 879 744 896 q 727 854 731 862 q 718 846 723 846 q 715 848 719 846 q 658 871 686 862 q 600 880 629 880 q 548 861 570 880 q 513 789 526 842 q 504 707 508 751 q 496 620 499 663 l 673 620 q 684 616 679 620 q 689 604 689 612 q 681 579 689 600 q 658 524 673 558 l 633 469 q 624 454 629 459 q 603 448 618 448 l 486 448 q 467 289 475 366 q 452 151 458 211 q 539 155 498 153 q 615 156 581 156 q 673 157 649 157 q 709 157 698 157 q 721 153 714 157 q 728 138 728 149 q 722 118 728 132 q 705 85 715 104 q 682 41 695 65 q 655 -9 669 17 q 644 -27 650 -21 q 618 -33 637 -33 q 593 -33 616 -33 q 534 -34 570 -33 q 453 -36 498 -35 q 362 -37 408 -37 q 272 -39 316 -38 q 194 -39 228 -39 z " + }, + "¤": { + "ha": 866, + "x_min": 119, + "x_max": 833, + "o": "m 119 555 q 139 669 119 617 q 197 763 160 720 l 172 790 q 153 812 160 803 q 146 829 146 821 q 155 842 146 837 q 170 854 157 844 q 198 878 182 865 q 227 903 213 891 q 245 918 241 914 q 259 924 252 924 q 269 921 265 924 l 273 918 l 327 859 q 412 888 368 878 q 503 898 456 898 q 583 889 546 898 q 652 863 620 880 l 703 918 q 717 924 709 924 q 730 918 724 924 q 749 903 735 914 q 778 878 763 891 q 806 854 793 865 q 821 842 819 844 q 829 829 829 837 q 813 800 829 817 l 802 788 q 774 758 791 777 q 815 673 801 718 q 829 580 829 629 q 813 468 829 518 q 768 376 798 417 l 822 317 q 830 304 827 311 q 833 292 833 298 q 828 277 833 282 q 800 248 815 262 q 772 224 785 235 q 751 208 760 214 q 741 202 742 202 q 709 221 730 202 q 653 277 688 239 q 450 229 565 229 q 372 237 408 229 q 304 258 336 244 l 295 248 q 235 202 253 203 q 227 205 230 202 q 209 218 222 208 q 181 243 196 229 q 155 270 166 256 q 143 292 143 283 q 146 304 143 298 q 154 317 149 311 l 184 351 q 135 446 151 394 q 119 555 119 498 m 483 725 q 422 710 449 725 q 378 670 396 694 q 350 615 359 646 q 340 553 340 584 q 349 497 340 524 q 373 450 357 471 q 416 417 390 430 q 476 405 441 405 q 537 419 511 405 q 581 458 563 434 q 607 512 598 481 q 616 572 616 542 q 608 629 616 602 q 584 678 600 656 q 542 712 567 699 q 483 725 517 725 z " + }, + "¥": { + "ha": 857, + "x_min": 120, + "x_max": 907, + "o": "m 296 491 q 266 558 282 522 q 232 632 249 595 q 197 705 214 669 q 166 772 180 741 q 140 826 151 803 q 122 862 128 850 l 121 867 q 120 878 120 869 q 121 890 120 884 q 127 903 123 897 q 141 910 132 906 q 164 920 151 915 q 193 932 178 926 q 224 945 208 939 l 302 976 q 318 980 311 980 q 330 977 323 980 q 345 966 336 974 l 501 662 l 505 672 l 572 796 q 598 842 585 819 q 620 882 610 864 q 637 910 630 899 q 645 921 644 921 l 878 979 q 891 981 886 981 q 907 967 907 981 q 905 958 906 964 q 901 945 905 952 l 776 711 l 661 500 q 702 501 684 500 q 728 501 720 501 q 745 498 737 500 q 756 491 751 495 q 761 477 761 486 q 759 451 761 469 q 754 416 757 433 l 748 370 q 746 363 747 366 q 742 359 745 361 q 732 356 739 357 q 715 355 726 355 q 664 353 693 353 q 591 353 634 353 l 582 296 q 654 298 623 297 q 696 298 684 298 q 712 295 705 298 q 723 288 718 292 q 728 275 728 283 q 726 248 728 266 q 722 213 724 231 l 715 168 q 714 161 715 163 q 709 156 713 158 q 700 153 706 154 q 682 152 693 152 q 630 151 661 151 q 556 151 600 151 l 543 71 q 539 52 541 59 q 535 40 537 45 q 529 31 532 35 q 519 24 525 28 l 340 -22 q 317 -31 329 -28 q 294 -35 305 -35 q 275 -30 283 -35 q 267 -13 267 -24 l 267 -10 q 274 64 269 22 q 286 148 279 105 l 231 148 q 155 151 179 148 q 131 164 131 155 q 135 181 131 170 q 147 205 140 192 q 164 233 155 218 q 184 259 174 248 q 207 279 195 271 q 228 288 218 287 l 310 289 q 311 294 310 293 l 319 351 l 263 351 q 188 354 212 351 q 163 367 163 357 q 168 384 163 372 q 180 408 172 395 q 197 436 187 421 q 217 462 206 450 q 239 482 228 474 q 260 490 250 490 l 296 491 z " + }, + "¦": { + "ha": 387, + "x_min": 70, + "x_max": 407, + "o": "m 122 566 q 129 664 126 628 q 133 720 132 701 q 135 748 134 740 q 136 761 136 755 q 138 775 137 767 q 141 805 139 784 q 145 866 142 827 q 154 971 149 905 q 158 1002 155 993 q 174 1013 161 1011 q 286 1032 231 1023 q 399 1055 342 1041 l 407 1048 l 367 616 l 367 601 q 362 591 367 595 q 340 583 357 587 l 192 549 q 171 544 184 548 q 146 541 157 541 q 129 545 136 541 q 122 562 122 550 l 122 566 m 70 -57 q 77 42 74 5 q 81 98 79 78 q 83 125 82 117 q 84 139 83 133 q 86 153 85 144 q 89 183 87 161 q 93 243 90 204 q 102 349 96 282 q 106 379 103 371 q 121 391 109 388 q 234 412 178 401 q 347 439 290 422 l 355 433 l 315 7 l 315 -8 q 310 -18 315 -15 q 288 -26 306 -21 l 137 -71 q 118 -78 130 -73 q 96 -82 107 -82 q 77 -78 85 -82 q 70 -61 70 -74 l 70 -57 z " + }, + "§": { + "ha": 720, + "x_min": 82, + "x_max": 713, + "o": "m 136 96 q 135 97 136 96 q 134 100 134 98 q 142 106 134 106 q 155 102 148 106 q 235 60 192 76 q 326 43 279 43 q 348 45 336 43 q 371 52 361 47 q 389 64 382 56 q 397 83 397 71 q 386 114 397 99 q 358 139 374 130 q 261 194 310 165 q 172 259 212 223 q 107 343 132 296 q 82 454 82 390 q 116 575 82 524 q 214 648 151 627 q 200 680 207 663 q 188 716 193 698 q 179 754 182 735 q 176 790 176 772 q 193 863 176 829 q 244 922 211 897 q 325 961 277 947 q 433 975 373 975 q 449 974 437 975 q 479 971 462 973 q 517 964 497 968 q 554 953 536 960 q 585 937 572 946 q 602 916 597 928 q 625 831 614 873 q 650 745 636 790 q 650 739 650 743 q 640 730 650 730 q 631 733 634 730 q 592 763 612 748 q 552 788 572 777 q 509 807 531 800 q 464 814 487 814 q 439 812 452 814 q 417 805 427 810 q 401 792 408 800 q 395 771 395 784 q 437 702 395 727 q 547 628 501 662 q 624 565 593 594 q 672 512 654 536 q 699 466 690 487 q 710 426 708 445 q 713 391 713 408 q 702 324 713 355 q 673 269 692 293 q 631 227 655 244 q 579 199 606 209 q 610 135 601 167 q 618 75 618 103 q 598 -8 618 28 q 545 -72 578 -45 q 470 -113 512 -98 q 382 -127 427 -127 q 282 -122 330 -127 q 189 -92 234 -117 l 136 96 m 423 477 q 384 492 404 486 q 342 498 364 498 q 318 496 330 498 q 296 489 305 494 q 280 476 286 484 q 274 456 274 468 q 278 429 274 443 q 290 406 283 416 q 355 372 321 385 q 426 359 389 359 q 449 361 436 359 q 472 368 461 363 q 490 380 483 372 q 498 399 498 388 q 491 424 498 412 q 474 444 484 435 l 456 456 l 423 477 z " + }, + "¨": { + "ha": 806, + "x_min": 60, + "x_max": 747, + "o": "m 60 833 q 63 889 62 871 q 64 913 64 906 q 64 924 64 921 q 65 936 64 926 q 66 966 65 945 q 69 1031 67 987 q 74 1060 71 1052 q 87 1069 77 1067 q 200 1069 140 1069 q 310 1070 259 1070 q 319 1066 317 1070 q 322 1053 322 1063 l 305 864 q 300 837 303 844 q 288 827 298 829 q 181 826 236 827 q 67 826 127 826 q 62 827 64 826 q 60 831 60 827 l 60 833 m 485 831 q 488 895 487 874 q 489 924 489 916 q 489 936 490 933 q 489 946 489 939 q 491 972 490 954 q 494 1031 492 991 q 498 1058 496 1050 q 511 1067 501 1066 q 624 1068 565 1067 q 734 1069 683 1068 q 743 1066 739 1069 q 747 1055 747 1063 l 730 863 q 725 836 728 843 q 711 827 723 828 q 604 825 659 826 q 488 825 549 825 q 486 825 486 825 q 485 829 485 825 l 485 831 z " + }, + "©": { + "ha": 1112, + "x_min": 90, + "x_max": 1105, + "o": "m 559 70 q 675 84 619 70 q 780 123 731 98 q 868 186 828 149 q 937 271 908 224 q 981 374 965 318 q 996 494 996 430 q 971 633 996 568 q 900 746 945 698 q 790 822 854 794 q 650 850 726 850 q 484 821 563 850 q 347 738 406 791 q 253 609 288 684 q 218 442 218 534 q 241 300 218 368 q 309 181 264 233 q 416 100 353 130 q 559 70 479 70 m 534 -43 q 349 -3 431 -43 q 209 103 267 36 q 121 258 151 170 q 90 443 90 346 q 136 661 90 563 q 258 828 181 758 q 438 936 336 898 q 654 974 541 974 q 837 938 754 974 q 979 839 920 901 q 1072 691 1039 776 q 1105 510 1105 606 q 1085 354 1105 427 q 1027 219 1065 280 q 938 109 990 157 q 823 27 886 60 q 686 -25 759 -7 q 534 -43 613 -43 m 299 438 q 325 576 299 512 q 396 689 351 641 q 505 764 442 736 q 640 791 567 791 q 708 786 679 791 q 760 773 738 781 q 796 756 781 766 q 820 739 810 747 l 820 736 q 821 712 820 729 q 824 673 822 694 q 826 629 825 651 q 827 590 827 606 q 825 584 827 587 q 813 581 823 581 q 791 590 805 581 q 758 611 777 600 q 713 631 739 622 q 659 641 688 641 q 593 626 623 641 q 543 586 564 612 q 510 525 522 560 q 499 447 499 489 q 507 383 499 413 q 531 330 515 353 q 571 293 547 307 q 627 279 595 279 q 671 281 652 279 q 707 287 690 283 q 740 298 724 291 q 774 315 756 304 q 782 313 780 315 q 785 302 785 312 q 785 264 785 286 q 784 221 785 241 q 784 186 784 201 q 783 172 783 172 q 739 151 762 159 q 692 138 716 142 q 643 132 667 134 q 595 130 618 130 q 478 153 532 130 q 385 216 425 175 q 322 313 345 256 q 299 438 299 370 z " + }, + "ª": { + "ha": 669, + "x_min": 92, + "x_max": 694, + "o": "m 639 505 q 643 480 639 490 q 652 464 647 470 q 661 453 657 457 q 665 447 665 450 q 650 433 665 439 l 509 372 q 505 372 508 372 q 496 379 500 372 q 488 398 492 387 q 480 422 484 409 q 474 446 477 435 q 402 390 441 408 q 326 372 363 372 q 239 392 281 372 q 164 447 197 411 q 112 535 132 484 q 92 650 92 586 q 114 787 92 725 q 173 894 136 850 q 260 963 211 939 q 366 988 310 988 q 440 972 406 988 q 508 931 475 956 q 511 957 511 947 q 514 971 512 966 q 522 978 516 977 q 539 981 527 980 q 615 991 578 987 q 694 998 652 996 l 639 505 m 481 705 q 487 742 484 724 q 490 776 489 760 l 492 810 q 474 823 484 816 q 452 836 464 830 q 428 846 441 842 q 402 850 415 850 q 354 831 374 850 q 323 786 335 812 q 306 729 311 759 q 301 675 301 699 q 323 553 301 592 q 385 515 345 515 q 419 524 400 515 q 459 548 439 532 l 481 705 z " + }, + "«": { + "ha": 1378, + "x_min": 73, + "x_max": 1361, + "o": "m 681 220 q 686 212 686 216 q 684 204 686 209 q 634 99 654 153 q 591 -7 613 45 q 574 -20 587 -20 q 563 -18 568 -20 q 548 -12 557 -16 l 114 248 q 85 265 92 258 q 79 286 79 272 q 78 390 79 337 q 74 500 78 443 q 74 502 74 501 q 73 503 73 503 l 75 508 q 78 514 75 511 q 83 516 81 516 q 142 542 106 527 q 223 573 178 556 q 319 609 268 590 q 424 647 371 628 q 530 686 477 667 q 631 724 583 706 q 662 730 652 730 q 673 720 671 730 q 676 610 674 667 q 690 502 679 553 q 687 490 690 494 q 681 486 685 487 l 378 376 q 408 361 386 372 q 460 334 430 349 q 524 301 490 318 q 589 267 558 283 q 645 238 621 251 q 681 220 669 226 m 1352 220 q 1358 212 1358 216 q 1356 204 1358 209 q 1305 99 1326 153 q 1263 -7 1284 45 q 1245 -20 1258 -20 q 1234 -18 1240 -20 q 1219 -12 1229 -16 l 785 248 q 757 265 764 258 q 750 286 750 272 q 750 390 750 337 q 745 500 749 443 q 745 502 745 501 q 745 503 745 503 l 746 508 q 749 514 747 511 q 754 516 752 516 q 813 542 777 527 q 895 573 850 556 q 991 609 939 590 q 1096 647 1042 628 q 1202 686 1149 667 q 1303 724 1255 706 q 1333 730 1324 730 q 1344 720 1342 730 q 1348 610 1345 667 q 1361 502 1350 553 q 1359 490 1361 494 q 1352 486 1356 487 l 1050 376 q 1079 361 1057 372 q 1131 334 1101 349 q 1195 301 1161 318 q 1261 267 1230 283 q 1316 238 1292 251 q 1352 220 1341 226 z " + }, + "¬": { + "ha": 718, + "x_min": 74, + "x_max": 671, + "o": "m 174 351 q 97 354 121 351 q 74 367 74 357 q 78 384 74 372 q 90 408 83 395 q 107 436 98 421 q 127 462 117 450 q 150 482 138 474 q 171 490 161 490 l 410 497 q 480 499 446 498 q 542 500 514 500 q 590 502 570 501 q 620 503 610 503 q 660 499 648 503 q 671 479 671 496 q 671 470 671 474 q 671 462 671 465 l 667 386 q 666 358 667 378 q 664 315 665 339 q 661 263 663 290 q 657 214 659 237 q 655 175 656 191 q 654 157 654 159 q 650 140 652 148 q 642 129 647 134 q 628 124 637 124 q 608 125 620 124 q 582 128 596 126 q 552 132 568 130 q 522 137 536 134 q 511 142 515 138 q 508 159 508 145 q 510 196 507 176 q 513 234 512 215 l 522 355 q 461 355 492 355 q 408 354 430 355 l 174 351 z " + }, + "®": { + "ha": 1112, + "x_min": 90, + "x_max": 1105, + "o": "m 553 242 q 551 235 552 239 q 546 230 550 231 q 529 223 541 227 q 502 213 517 218 q 471 203 487 208 q 441 193 455 197 q 419 186 428 189 q 410 183 410 183 q 400 186 404 183 q 395 196 395 189 q 397 235 395 208 q 401 299 399 262 q 407 378 404 335 q 415 467 411 422 q 422 556 418 512 q 429 640 426 601 q 427 641 429 641 q 399 637 420 641 q 351 628 377 633 q 342 633 342 628 q 342 635 342 634 l 406 746 q 507 765 451 755 q 635 774 564 774 q 715 766 676 774 q 784 739 754 758 q 832 691 814 721 q 850 616 850 661 q 842 573 850 593 q 820 538 833 554 q 791 510 807 522 q 761 489 775 498 q 736 475 747 480 q 722 467 725 469 q 723 464 722 467 q 728 455 724 462 q 740 435 732 448 q 761 400 748 422 q 793 346 774 378 q 839 267 812 313 q 854 260 846 262 q 870 259 863 259 q 883 258 878 258 q 888 253 888 257 q 882 245 888 250 q 867 237 876 241 q 849 229 858 233 q 836 222 840 224 q 816 214 826 218 q 794 204 806 210 q 768 192 783 199 q 735 175 753 184 q 726 171 730 172 q 719 170 722 170 q 706 174 711 170 q 698 181 701 177 q 692 191 694 186 q 689 199 690 195 l 572 446 l 553 242 m 576 494 q 618 505 597 494 q 658 531 640 515 q 687 564 675 546 q 698 596 698 581 q 629 664 698 664 q 615 663 622 664 q 604 662 609 663 l 592 660 l 576 494 m 559 70 q 675 84 619 70 q 780 123 731 98 q 868 186 828 149 q 937 271 908 224 q 981 374 965 318 q 996 494 996 430 q 971 633 996 568 q 900 746 945 698 q 790 822 854 794 q 650 850 726 850 q 484 821 563 850 q 347 738 406 791 q 253 609 288 684 q 218 442 218 534 q 241 300 218 368 q 309 181 264 233 q 416 100 353 130 q 559 70 479 70 m 534 -43 q 349 -3 431 -43 q 209 103 267 36 q 121 258 151 170 q 90 443 90 346 q 136 661 90 563 q 258 828 181 758 q 438 936 336 898 q 654 974 541 974 q 837 938 754 974 q 979 839 920 901 q 1072 691 1039 776 q 1105 510 1105 606 q 1085 354 1105 427 q 1027 219 1065 280 q 938 109 990 157 q 823 27 886 60 q 686 -25 759 -7 q 534 -43 613 -43 z " + }, + "°": { + "ha": 683, + "x_min": 89, + "x_max": 712, + "o": "m 398 378 q 276 398 333 378 q 178 455 220 418 q 113 548 136 493 q 89 671 89 602 q 114 791 89 734 q 183 890 139 848 q 287 957 227 932 q 418 982 347 982 q 533 962 479 982 q 627 905 587 942 q 689 817 667 869 q 712 702 712 765 q 690 584 712 642 q 628 480 669 526 q 529 406 587 434 q 398 378 471 378 m 513 672 q 514 684 513 677 q 514 696 514 690 q 509 739 514 716 q 494 780 505 762 q 465 811 483 799 q 420 823 447 823 q 357 810 384 823 q 314 775 331 797 q 288 728 296 754 q 279 674 279 701 q 283 630 279 653 q 299 587 288 606 q 329 554 310 567 q 378 540 348 541 q 434 552 410 540 q 475 583 458 564 q 500 625 491 602 q 513 672 509 648 z " + }, + "±": { + "ha": 709, + "x_min": 62, + "x_max": 684, + "o": "m 287 448 q 226 447 252 447 q 184 447 200 447 q 124 451 144 447 q 104 466 104 454 q 107 491 104 472 q 116 535 111 511 q 126 584 121 559 q 135 625 132 608 q 145 640 136 633 q 170 648 155 647 l 306 650 l 307 664 q 312 743 311 710 q 316 798 313 777 q 326 828 319 819 q 347 838 333 838 q 350 838 349 838 q 354 838 352 838 q 367 838 358 838 q 386 839 375 838 q 410 839 397 839 q 435 840 422 840 l 499 842 q 513 834 509 839 q 518 818 518 830 q 518 816 518 817 q 518 811 518 815 q 517 798 517 807 q 515 772 516 789 q 511 725 513 754 q 505 653 509 696 l 517 654 q 566 655 542 654 q 610 656 590 656 q 645 657 630 656 q 665 657 659 657 q 677 653 671 657 q 684 637 684 649 q 681 611 684 636 q 673 543 678 586 l 666 477 q 658 463 662 467 q 647 456 654 458 q 626 454 640 454 q 588 453 612 454 l 489 451 l 480 352 q 475 310 478 326 q 468 283 472 293 q 458 270 464 274 q 445 267 452 267 q 414 267 433 267 q 372 268 394 267 q 328 269 350 269 q 292 269 307 269 q 278 277 283 271 q 273 298 273 284 l 273 302 l 287 448 m 162 5 q 86 8 109 5 q 62 21 62 11 q 67 38 62 26 q 79 62 71 49 q 96 90 86 75 q 116 116 105 104 q 138 136 127 128 q 159 144 149 144 l 398 151 q 426 152 406 151 q 469 152 445 152 q 520 153 494 153 q 570 154 547 154 q 609 155 593 155 q 627 155 625 155 q 644 152 636 155 q 655 145 650 149 q 660 132 660 140 q 658 105 660 123 q 653 70 656 87 l 647 24 q 645 18 646 20 q 641 13 644 15 q 631 10 637 11 q 614 9 625 9 l 531 9 q 496 9 514 9 q 460 8 477 9 q 426 8 442 8 q 396 8 409 8 l 162 5 z " + }, + "²": { + "ha": 498, + "x_min": 90, + "x_max": 519, + "o": "m 472 764 q 461 742 469 756 q 442 710 453 728 q 418 672 431 692 q 393 631 406 651 l 326 526 q 327 525 326 525 l 328 525 q 356 527 335 525 q 404 532 378 529 q 456 536 430 534 q 498 538 482 538 q 519 529 519 538 q 516 517 519 524 q 513 511 513 511 l 452 397 q 451 395 452 397 q 450 393 451 393 q 435 384 442 385 q 422 382 428 383 q 333 381 369 382 q 269 380 297 380 q 217 380 241 380 q 162 380 193 380 q 105 386 121 380 q 90 405 90 393 q 95 424 90 413 q 110 448 101 434 l 190 561 q 286 699 251 644 q 321 783 321 753 q 314 813 321 800 q 294 835 307 826 q 266 849 282 844 q 230 854 249 854 q 181 846 206 854 q 132 823 155 839 q 118 818 122 818 q 112 822 113 818 q 111 829 111 826 q 115 868 111 846 q 124 910 119 890 q 134 945 130 930 q 138 962 138 960 q 149 969 139 962 q 182 987 159 977 q 240 1005 204 997 q 328 1013 275 1013 q 389 1000 358 1013 q 444 965 419 987 q 483 914 468 943 q 498 850 498 884 q 492 808 498 829 q 472 764 486 786 z " + }, + "³": { + "ha": 507, + "x_min": 101, + "x_max": 503, + "o": "m 328 368 q 295 366 311 366 q 252 369 272 366 q 212 377 232 372 q 172 391 192 382 q 128 408 151 399 q 117 424 121 410 q 112 455 114 437 q 107 495 109 474 q 101 534 105 517 q 114 550 101 550 q 117 549 117 550 q 147 531 132 541 q 179 513 162 521 q 217 499 197 505 q 260 494 237 494 q 307 507 291 494 q 322 551 322 520 q 320 569 322 559 q 312 586 318 578 q 293 600 305 594 q 261 605 281 605 l 187 605 q 189 616 187 607 q 192 639 190 626 q 196 667 193 652 q 200 695 198 682 q 203 717 201 708 q 204 727 204 726 q 209 745 207 741 q 214 750 212 750 q 233 748 224 750 q 251 746 241 746 q 291 763 277 746 q 305 805 305 779 q 293 841 305 825 q 254 857 281 857 q 193 850 224 857 q 139 836 163 844 q 140 845 140 840 q 140 857 140 850 q 140 870 140 863 q 140 884 140 877 q 141 909 140 897 q 144 933 142 922 q 153 952 147 944 q 168 963 158 960 q 207 974 191 970 q 238 980 224 978 q 267 983 253 983 q 300 984 281 984 q 368 975 334 984 q 431 947 403 966 q 477 899 459 928 q 494 831 494 870 q 487 783 494 804 q 469 745 480 762 q 446 716 458 728 q 422 694 433 703 q 450 678 435 688 q 476 652 464 667 q 495 614 488 636 q 503 563 503 592 q 490 494 503 528 q 453 433 477 460 q 398 388 430 406 q 328 368 366 370 z " + }, + "´": { + "ha": 431, + "x_min": 32, + "x_max": 415, + "o": "m 255 944 q 205 876 225 903 q 172 833 185 849 q 152 812 159 818 q 140 806 144 806 q 133 808 136 806 q 107 825 119 818 q 85 838 96 832 q 65 849 75 844 q 41 861 54 854 q 32 875 32 866 q 34 888 33 880 q 40 907 36 895 l 165 1271 q 172 1284 169 1280 q 180 1287 176 1287 q 186 1285 183 1287 q 193 1282 190 1284 q 299 1220 246 1246 q 403 1168 351 1195 q 415 1149 415 1160 q 404 1122 415 1139 q 360 1071 377 1091 q 327 1033 342 1051 q 296 994 312 1015 q 255 944 279 974 z " + }, + "µ": { + "ha": 888, + "x_min": 55, + "x_max": 890, + "o": "m 108 235 q 138 544 128 438 q 149 658 148 650 q 154 688 151 680 q 169 700 157 697 q 230 711 201 706 q 287 722 258 716 q 344 734 315 728 q 406 751 373 741 q 408 751 407 751 q 411 751 410 751 q 419 745 419 751 q 414 701 416 722 q 409 660 412 681 q 405 614 407 639 q 399 557 402 589 q 391 483 395 525 q 380 385 387 441 q 373 315 376 351 q 368 248 370 279 q 388 175 368 197 q 439 153 408 153 q 486 163 461 153 q 531 191 510 174 q 565 232 551 209 q 581 281 579 255 q 590 393 586 348 q 596 469 593 438 q 601 521 599 500 q 605 561 603 542 q 608 603 606 581 q 610 658 609 625 q 615 689 612 680 q 631 700 618 697 q 757 725 692 712 q 883 757 821 737 q 889 755 888 757 q 890 750 890 753 l 827 73 q 824 54 825 62 q 821 42 823 47 q 816 36 819 38 q 806 31 812 33 q 747 15 778 23 q 686 -2 717 7 q 624 -21 654 -11 q 564 -45 593 -32 q 558 -46 563 -46 q 552 -44 553 -46 q 551 -39 551 -42 q 551 -35 551 -38 q 552 -21 551 -31 q 555 8 553 -11 q 563 60 558 27 q 529 33 549 45 q 487 12 509 21 q 441 -1 465 3 q 397 -6 418 -6 q 351 2 370 -6 q 326 30 332 11 l 302 -168 q 301 -177 301 -170 l 301 -183 q 297 -193 301 -189 q 275 -201 293 -196 l 118 -222 q 99 -224 111 -223 q 77 -225 87 -225 q 62 -221 68 -225 q 55 -206 55 -217 q 56 -201 55 -202 q 82 12 68 -95 q 108 235 96 119 z " + }, + "μ": { + "ha": 888, + "x_min": 55, + "x_max": 890, + "o": "m 108 235 q 138 544 128 438 q 149 658 148 650 q 154 688 151 680 q 169 700 157 697 q 230 711 201 706 q 287 722 258 716 q 344 734 315 728 q 406 751 373 741 q 408 751 407 751 q 411 751 410 751 q 419 745 419 751 q 414 701 416 722 q 409 660 412 681 q 405 614 407 639 q 399 557 402 589 q 391 483 395 525 q 380 385 387 441 q 373 315 376 351 q 368 248 370 279 q 388 175 368 197 q 439 153 408 153 q 486 163 461 153 q 531 191 510 174 q 565 232 551 209 q 581 281 579 255 q 590 393 586 348 q 596 469 593 438 q 601 521 599 500 q 605 561 603 542 q 608 603 606 581 q 610 658 609 625 q 615 689 612 680 q 631 700 618 697 q 757 725 692 712 q 883 757 821 737 q 889 755 888 757 q 890 750 890 753 l 827 73 q 824 54 825 62 q 821 42 823 47 q 816 36 819 38 q 806 31 812 33 q 747 15 778 23 q 686 -2 717 7 q 624 -21 654 -11 q 564 -45 593 -32 q 558 -46 563 -46 q 552 -44 553 -46 q 551 -39 551 -42 q 551 -35 551 -38 q 552 -21 551 -31 q 555 8 553 -11 q 563 60 558 27 q 529 33 549 45 q 487 12 509 21 q 441 -1 465 3 q 397 -6 418 -6 q 351 2 370 -6 q 326 30 332 11 l 302 -168 q 301 -177 301 -170 l 301 -183 q 297 -193 301 -189 q 275 -201 293 -196 l 118 -222 q 99 -224 111 -223 q 77 -225 87 -225 q 62 -221 68 -225 q 55 -206 55 -217 q 56 -201 55 -202 q 82 12 68 -95 q 108 235 96 119 z " + }, + "¶": { + "ha": 896, + "x_min": 102, + "x_max": 920, + "o": "m 441 14 q 430 -4 439 1 q 399 -15 421 -9 q 386 -17 397 -16 q 361 -19 376 -18 q 329 -23 346 -21 q 296 -26 311 -24 q 270 -28 281 -27 q 255 -29 258 -29 q 237 -25 246 -29 q 229 -8 229 -21 q 229 -3 229 -4 l 306 479 q 221 518 259 495 q 157 570 183 541 q 116 635 130 599 q 102 713 102 671 q 119 803 102 764 q 165 872 136 843 q 233 923 194 902 q 317 956 273 943 q 410 975 362 969 q 505 981 458 981 q 606 977 552 981 q 711 968 661 973 q 801 958 761 963 q 859 948 841 952 q 885 940 874 943 q 902 933 895 937 q 911 923 908 929 q 914 904 913 916 q 916 873 915 891 q 917 837 916 856 q 918 800 917 818 q 919 767 918 781 q 919 743 919 752 q 920 734 920 734 q 903 722 916 722 q 814 724 881 722 q 791 585 804 663 q 762 404 778 506 q 740 250 750 323 q 731 185 736 218 q 722 121 726 152 q 714 62 718 90 q 707 14 710 34 q 696 -4 706 2 q 666 -15 687 -10 q 642 -18 663 -16 q 598 -23 622 -20 q 554 -27 574 -25 q 528 -29 533 -29 q 511 -24 519 -29 q 503 -6 503 -20 l 577 449 q 550 447 564 448 q 523 446 536 446 l 509 446 q 492 346 499 395 q 477 250 484 296 q 468 185 473 218 q 457 120 463 152 q 448 61 452 89 q 441 14 444 34 z " + }, + "·": { + "ha": 380, + "x_min": 106, + "x_max": 397, + "o": "m 106 553 q 108 603 107 585 q 109 632 109 622 q 109 646 109 642 q 109 654 109 650 q 110 663 109 658 q 111 681 110 669 q 113 716 111 694 q 116 774 114 738 q 120 805 117 797 q 136 816 123 814 q 260 816 195 816 q 383 817 326 817 q 393 814 389 817 q 397 801 397 810 l 378 588 q 373 557 376 566 q 358 547 371 549 q 240 546 300 547 q 113 545 179 545 q 107 546 109 545 q 106 550 106 547 l 106 553 z " + }, + "¸": { + "ha": 370, + "x_min": 43, + "x_max": 339, + "o": "m 336 -262 q 313 -320 330 -294 q 273 -365 296 -346 q 219 -394 249 -383 q 159 -404 190 -404 q 99 -400 130 -404 q 43 -382 67 -396 l 45 -383 q 44 -378 44 -382 q 45 -357 44 -370 q 48 -330 46 -345 q 52 -302 50 -315 q 57 -279 54 -288 l 60 -279 q 64 -281 64 -279 l 64 -281 q 84 -289 75 -286 q 104 -294 94 -292 q 127 -296 115 -296 q 157 -297 140 -297 q 201 -280 185 -297 q 216 -241 216 -263 q 204 -208 216 -221 q 170 -195 191 -195 q 106 -192 132 -195 q 69 -189 79 -189 q 63 -186 64 -189 q 62 -180 62 -184 q 70 -159 65 -174 q 79 -126 74 -144 q 88 -89 83 -109 q 96 -53 92 -69 q 102 -25 100 -36 q 104 -12 104 -14 l 117 -12 q 147 -12 129 -12 q 183 -12 165 -12 l 226 -12 l 193 -108 q 215 -105 205 -106 q 233 -104 224 -104 q 289 -116 268 -104 q 320 -144 309 -127 q 335 -184 332 -162 q 339 -230 339 -207 q 338 -246 339 -238 q 336 -262 338 -254 z " + }, + "¹": { + "ha": 349, + "x_min": 130, + "x_max": 338, + "o": "m 155 915 q 158 936 156 930 q 168 944 159 942 l 317 980 q 323 981 320 981 q 328 981 326 981 q 336 978 334 981 q 338 963 338 974 l 313 432 q 308 405 312 412 q 292 395 303 398 l 158 355 q 152 354 155 354 q 148 353 149 353 q 135 357 140 353 q 130 373 130 361 q 130 378 130 374 q 130 398 130 382 q 133 449 131 415 q 137 543 134 483 q 144 694 140 603 q 155 915 149 785 z " + }, + "º": { + "ha": 698, + "x_min": 88, + "x_max": 726, + "o": "m 390 370 q 259 395 315 370 q 164 459 202 419 q 107 552 126 500 q 88 662 88 605 q 107 770 88 719 q 159 862 125 821 q 238 929 192 902 q 341 966 285 956 q 349 970 349 966 q 348 981 349 975 q 347 989 347 986 q 349 997 347 995 q 354 999 351 999 q 525 976 454 999 q 641 913 596 953 q 705 820 685 873 q 726 704 726 766 q 699 563 726 625 q 627 458 673 500 q 520 393 581 415 q 390 370 459 370 m 292 668 q 298 611 292 640 q 318 561 304 583 q 355 524 332 538 q 412 510 378 510 q 471 532 448 512 q 507 581 494 553 q 525 642 520 610 q 530 699 530 673 q 522 753 530 726 q 498 800 514 779 q 459 832 482 820 q 404 845 435 845 q 351 826 372 845 q 316 780 330 807 q 297 722 303 752 q 292 668 292 691 z " + }, + "»": { + "ha": 1364, + "x_min": 78, + "x_max": 1374, + "o": "m 755 220 q 792 239 766 226 q 849 268 817 252 q 916 301 881 283 q 981 334 950 319 q 1034 361 1011 349 q 1064 376 1057 372 l 766 486 q 758 502 758 487 q 775 610 770 553 q 784 720 780 667 q 795 730 786 730 q 825 724 804 730 q 925 687 873 706 q 1030 648 977 667 q 1133 609 1082 628 q 1227 573 1183 591 q 1307 542 1272 556 q 1365 516 1343 527 q 1370 514 1367 516 q 1373 508 1373 511 l 1374 503 q 1374 502 1374 503 q 1373 500 1373 501 q 1364 390 1367 443 q 1360 286 1362 337 q 1352 265 1360 272 q 1323 248 1345 258 l 878 -12 q 863 -18 869 -16 q 852 -20 858 -20 q 842 -17 845 -20 q 836 -7 838 -14 q 797 100 816 46 q 751 204 777 153 q 749 212 749 208 q 750 217 749 215 q 755 220 751 218 m 83 220 q 120 239 95 226 q 178 268 146 252 q 244 301 210 283 q 309 334 279 319 q 362 361 340 349 q 393 376 385 372 l 94 486 q 86 502 86 487 q 103 610 98 553 q 113 720 109 667 q 123 730 115 730 q 154 724 132 730 q 254 687 201 706 q 358 648 306 667 q 461 609 411 628 q 556 573 512 591 q 636 542 600 556 q 694 516 671 527 q 699 514 696 516 q 702 508 701 511 l 703 503 q 702 502 703 503 q 702 500 702 501 q 693 390 696 443 q 688 286 690 337 q 681 265 688 272 q 652 248 673 258 l 207 -12 q 192 -18 197 -16 q 181 -20 186 -20 q 170 -17 174 -20 q 164 -7 167 -14 q 125 100 144 46 q 79 204 106 153 q 78 212 78 208 q 79 217 78 215 q 83 220 80 218 z " + }, + "¼": { + "ha": 1161, + "x_min": 121, + "x_max": 1151, + "o": "m 147 915 q 150 936 148 930 q 159 944 151 942 l 309 980 q 315 981 312 981 q 319 981 317 981 q 328 978 326 981 q 330 963 330 974 l 305 432 q 299 405 304 412 q 284 395 295 398 l 150 355 q 144 354 146 354 q 140 353 141 353 q 127 357 132 353 q 121 373 121 361 q 121 378 121 374 q 122 398 121 382 q 124 449 123 415 q 129 543 126 483 q 136 694 132 603 q 147 915 140 785 m 502 640 q 581 819 543 729 q 660 1001 619 908 q 673 1028 669 1021 q 688 1036 678 1036 l 692 1036 q 765 1004 729 1021 q 836 980 800 987 q 843 977 840 979 q 846 971 846 975 l 846 969 l 412 10 q 408 -1 409 4 q 405 -11 406 -7 q 400 -17 403 -15 q 392 -20 397 -20 q 374 -15 384 -20 l 306 14 q 290 19 300 16 q 268 28 279 23 q 248 40 256 33 q 239 56 239 47 q 243 68 239 62 q 303 198 274 134 q 362 329 332 261 q 426 473 392 397 q 502 640 460 549 m 1138 197 q 1128 147 1133 173 q 1126 137 1126 140 q 1120 133 1126 134 q 1098 132 1114 132 q 1051 132 1082 132 l 1043 52 q 1042 45 1043 49 q 1036 39 1040 41 q 1022 34 1033 38 q 996 23 1011 29 q 963 12 981 18 q 930 0 946 5 q 903 -9 915 -5 q 886 -12 890 -12 q 876 -9 880 -12 q 871 3 871 -6 q 873 56 871 24 q 879 130 876 88 q 806 129 842 130 q 739 129 770 129 q 685 129 708 129 q 650 128 661 128 q 595 131 611 128 q 578 143 578 134 q 579 148 578 145 q 583 155 580 151 q 597 179 587 161 q 621 220 607 196 q 653 272 635 243 q 688 329 670 300 l 777 477 q 806 531 793 505 q 835 579 819 557 q 872 617 850 601 q 928 640 894 633 l 1064 675 q 1070 676 1067 676 q 1076 677 1073 677 q 1084 674 1081 677 q 1086 663 1086 671 l 1086 659 q 1081 554 1084 599 q 1076 469 1078 510 q 1070 382 1073 427 q 1065 278 1067 338 q 1113 279 1094 279 q 1135 279 1132 279 q 1146 276 1141 279 q 1151 264 1151 272 q 1150 259 1151 260 l 1138 197 m 890 272 q 899 335 895 302 q 906 402 903 368 q 911 470 909 436 q 914 536 913 504 l 757 272 l 890 272 z " + }, + "½": { + "ha": 1185, + "x_min": 123, + "x_max": 1166, + "o": "m 149 915 q 151 936 149 930 q 161 944 153 942 l 310 980 q 316 981 313 981 q 321 981 319 981 q 329 978 327 981 q 332 963 332 974 l 307 432 q 301 405 305 412 q 286 395 296 398 l 151 355 q 145 354 148 354 q 141 353 142 353 q 128 357 134 353 q 123 373 123 361 q 123 378 123 374 q 123 398 123 382 q 126 449 124 415 q 130 543 127 483 q 137 694 133 603 q 149 915 142 785 m 503 640 q 583 819 545 729 q 661 1001 621 908 q 675 1028 670 1021 q 689 1036 680 1036 l 694 1036 q 766 1004 730 1021 q 838 980 802 987 q 845 977 842 979 q 848 971 848 975 l 848 969 l 413 10 q 409 -1 410 4 q 406 -11 408 -7 q 401 -17 404 -15 q 393 -20 399 -20 q 376 -15 385 -20 l 307 14 q 291 19 302 16 q 269 28 280 23 q 249 40 258 33 q 241 56 241 47 q 244 68 241 62 q 304 198 275 134 q 363 329 333 261 q 427 473 393 397 q 503 640 461 549 m 1118 382 q 1107 360 1115 374 q 1088 329 1099 347 q 1065 290 1078 311 q 1039 249 1052 269 l 972 144 q 973 143 972 143 l 975 143 q 1003 145 981 143 q 1050 150 1024 147 q 1102 155 1076 153 q 1144 157 1128 157 q 1166 147 1166 157 q 1163 136 1166 142 q 1160 129 1160 130 l 1099 15 q 1098 13 1098 15 q 1097 12 1097 12 q 1081 2 1088 3 q 1069 1 1074 1 q 979 -1 1015 0 q 916 -2 943 -1 q 863 -2 888 -2 q 808 -2 839 -2 q 752 4 768 -2 q 736 23 736 11 q 742 42 736 31 q 756 66 747 52 l 836 179 q 932 317 897 262 q 967 401 967 371 q 960 431 967 418 q 941 453 953 444 q 912 467 928 463 q 876 472 895 472 q 827 465 852 472 q 778 441 802 457 q 764 436 768 436 q 758 440 760 436 q 757 448 757 444 q 761 486 757 464 q 771 528 766 508 q 780 563 776 548 q 785 580 785 578 q 795 588 785 580 q 828 605 806 595 q 886 623 850 615 q 974 631 922 631 q 1035 618 1004 631 q 1090 584 1065 606 q 1129 532 1114 562 q 1145 468 1145 503 q 1138 426 1145 448 q 1118 382 1132 404 z " + }, + "¾": { + "ha": 1305, + "x_min": 92, + "x_max": 1294, + "o": "m 319 368 q 286 366 301 366 q 242 369 262 366 q 202 377 222 372 q 162 391 182 382 q 119 408 142 399 q 108 424 111 410 q 102 455 104 437 q 98 495 100 474 q 92 534 96 517 q 104 550 92 550 q 108 549 107 550 q 137 531 122 541 q 170 513 153 521 q 207 499 187 505 q 251 494 227 494 q 297 507 281 494 q 313 551 313 520 q 311 569 313 559 q 302 586 309 578 q 284 600 296 594 q 252 605 272 605 l 178 605 q 179 616 178 607 q 182 639 180 626 q 186 667 184 652 q 190 695 189 682 q 193 717 192 708 q 195 727 195 726 q 200 745 197 741 q 205 750 202 750 q 223 748 214 750 q 241 746 232 746 q 281 763 267 746 q 296 805 296 779 q 284 841 296 825 q 245 857 272 857 q 184 850 214 857 q 130 836 153 844 q 131 845 130 840 q 131 857 131 850 q 131 870 131 863 q 130 884 130 877 q 131 909 130 897 q 135 933 132 922 q 143 952 138 944 q 158 963 149 960 q 198 974 181 970 q 229 980 214 978 q 258 983 243 983 q 290 984 272 984 q 359 975 324 984 q 421 947 393 966 q 467 899 450 928 q 485 831 485 870 q 478 783 485 804 q 460 745 471 762 q 436 716 449 728 q 412 694 423 703 q 440 678 426 688 q 466 652 454 667 q 486 614 478 636 q 494 563 494 592 q 480 494 494 528 q 444 433 467 460 q 388 388 420 406 q 319 368 356 370 m 645 640 q 724 819 686 729 q 803 1001 762 908 q 817 1028 812 1021 q 831 1036 821 1036 l 836 1036 q 908 1004 872 1021 q 979 980 943 987 q 986 977 983 979 q 989 971 989 975 l 989 969 l 555 10 q 551 -1 552 4 q 548 -11 549 -7 q 543 -17 546 -15 q 535 -20 541 -20 q 517 -15 527 -20 l 449 14 q 433 19 444 16 q 411 28 422 23 q 391 40 399 33 q 382 56 382 47 q 386 68 382 62 q 446 198 417 134 q 505 329 475 261 q 569 473 535 397 q 645 640 603 549 m 1281 197 q 1271 147 1276 173 q 1269 137 1270 140 q 1263 133 1269 134 q 1241 132 1257 132 q 1194 132 1225 132 l 1186 52 q 1185 45 1186 49 q 1179 39 1183 41 q 1165 34 1176 38 q 1139 23 1154 29 q 1106 12 1124 18 q 1074 0 1089 5 q 1046 -9 1058 -5 q 1029 -12 1034 -12 q 1019 -9 1023 -12 q 1015 3 1015 -6 q 1017 56 1015 24 q 1022 130 1019 88 q 949 129 985 130 q 882 129 913 129 q 828 129 851 129 q 793 128 804 128 q 738 131 754 128 q 722 143 722 134 q 722 148 722 145 q 726 155 723 151 q 740 179 730 161 q 764 220 750 196 q 796 272 779 243 q 831 329 813 300 l 920 477 q 949 531 937 505 q 978 579 962 557 q 1015 617 994 601 q 1071 640 1037 633 l 1207 675 q 1213 676 1211 676 q 1219 677 1216 677 q 1227 674 1224 677 q 1230 663 1230 671 l 1230 659 q 1224 554 1227 599 q 1219 469 1221 510 q 1213 382 1216 427 q 1208 278 1211 338 q 1256 279 1237 279 q 1278 279 1275 279 q 1289 276 1284 279 q 1294 264 1294 272 q 1293 259 1294 260 l 1281 197 m 1034 272 q 1042 335 1038 302 q 1049 402 1046 368 q 1054 470 1052 436 q 1057 536 1056 504 l 900 272 l 1034 272 z " + }, + "¿": { + "ha": 791, + "x_min": 73, + "x_max": 776, + "o": "m 580 541 q 491 479 533 516 q 416 399 448 441 q 366 314 385 356 q 347 236 347 271 q 368 174 347 198 q 437 151 389 151 q 482 157 465 151 q 510 174 500 164 q 525 196 521 184 q 529 220 529 208 q 524 248 529 235 q 520 265 520 261 q 529 273 520 271 q 560 278 539 275 q 617 288 581 282 q 703 309 652 294 q 734 316 723 314 q 751 318 745 318 q 763 308 758 318 q 771 284 768 298 q 775 255 774 270 q 776 231 776 240 q 745 119 776 168 q 665 36 714 70 q 553 -16 615 2 q 429 -34 491 -34 q 283 -9 348 -34 q 171 55 217 16 q 99 142 124 94 q 74 237 74 191 q 87 314 74 276 q 123 387 101 351 q 176 457 146 423 q 240 522 206 491 q 307 582 273 553 q 373 636 341 610 q 378 640 374 638 q 386 642 382 642 q 391 641 388 642 q 395 639 394 640 q 442 617 421 627 q 482 600 463 608 q 523 585 502 591 q 568 573 543 579 q 582 567 578 571 q 587 558 587 562 q 581 549 581 554 q 580 541 580 544 m 577 973 q 575 923 576 941 q 574 894 574 904 q 574 880 574 884 q 574 872 574 876 q 573 863 574 868 q 572 845 573 857 q 570 810 572 832 q 567 751 569 788 q 563 721 566 729 q 547 710 560 712 q 423 710 488 710 q 300 709 357 709 q 289 713 292 709 q 286 729 286 718 l 305 938 q 310 969 307 960 q 325 979 312 977 q 443 980 383 979 q 570 981 504 981 q 576 980 575 981 q 577 973 577 979 z " + }, + "À": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 437 1194 q 410 1242 421 1223 q 390 1278 399 1261 q 370 1314 380 1295 q 344 1362 359 1333 q 339 1376 340 1369 q 337 1388 338 1383 q 340 1400 337 1396 q 351 1408 344 1404 q 403 1437 376 1422 q 458 1467 431 1451 q 514 1498 486 1482 q 566 1532 541 1514 q 576 1535 573 1535 q 581 1530 580 1535 l 657 1133 q 660 1119 659 1124 q 661 1107 661 1113 q 659 1096 661 1101 q 650 1087 657 1090 q 624 1076 636 1081 q 600 1064 612 1070 q 575 1052 588 1059 q 545 1035 562 1045 q 538 1032 543 1032 q 524 1041 532 1032 q 506 1070 517 1050 q 478 1120 494 1089 q 437 1194 461 1151 z " + }, + "Á": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 529 1171 q 479 1102 499 1129 q 446 1060 459 1076 q 426 1038 433 1044 q 414 1032 418 1032 q 407 1035 410 1032 q 381 1052 393 1044 q 359 1064 370 1059 q 339 1076 349 1070 q 315 1087 328 1081 q 306 1101 306 1093 q 308 1114 307 1107 q 314 1133 310 1122 l 439 1497 q 446 1510 443 1507 q 454 1514 450 1514 q 460 1512 457 1514 q 467 1508 464 1510 q 573 1447 520 1472 q 677 1394 625 1421 q 689 1376 689 1387 q 677 1348 689 1365 q 634 1298 651 1318 q 601 1259 616 1278 q 570 1221 586 1241 q 529 1171 553 1200 z " + }, + "Â": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 695 1354 q 721 1321 710 1335 q 739 1295 731 1307 q 754 1273 747 1284 q 769 1251 761 1263 q 782 1232 773 1244 q 801 1206 791 1220 q 817 1179 810 1192 q 824 1156 824 1165 q 811 1137 824 1147 q 779 1119 798 1128 q 742 1103 761 1110 q 713 1091 724 1095 q 692 1082 703 1088 q 670 1071 681 1076 q 649 1062 659 1065 q 635 1058 640 1058 q 624 1064 630 1058 q 610 1084 618 1069 l 522 1271 q 440 1167 481 1218 q 357 1064 399 1117 q 349 1059 355 1059 q 333 1065 345 1059 q 303 1079 320 1071 q 269 1095 286 1086 q 237 1110 251 1104 q 219 1119 230 1114 q 197 1129 208 1124 q 180 1140 187 1135 q 173 1150 173 1145 q 179 1166 173 1157 q 199 1187 185 1175 l 301 1303 q 376 1386 340 1345 q 450 1470 413 1427 q 468 1480 459 1479 q 485 1481 477 1481 l 588 1481 q 604 1480 596 1481 q 618 1469 612 1478 q 627 1455 618 1468 q 646 1426 635 1443 q 671 1389 658 1409 q 695 1354 684 1369 z " + }, + "Ã": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 574 1297 q 598 1272 587 1280 q 624 1265 609 1265 q 654 1276 645 1265 q 667 1301 663 1287 q 673 1326 671 1315 q 681 1337 675 1337 q 692 1338 682 1337 q 716 1339 702 1338 q 747 1340 730 1339 q 779 1342 764 1341 q 805 1343 794 1343 q 819 1343 817 1343 q 831 1341 825 1343 q 837 1331 837 1338 q 820 1232 837 1282 q 771 1141 802 1182 q 695 1075 739 1101 q 597 1050 651 1050 q 554 1054 576 1050 q 512 1069 533 1058 q 469 1100 490 1080 q 425 1153 447 1120 q 400 1174 413 1169 q 370 1178 388 1178 q 344 1171 354 1178 q 328 1154 334 1164 q 319 1129 321 1143 q 317 1103 317 1116 q 311 1093 317 1098 q 297 1088 306 1088 q 262 1087 275 1088 q 238 1087 249 1087 q 214 1086 227 1086 q 181 1086 201 1086 q 167 1088 174 1086 q 161 1097 161 1091 q 179 1214 161 1161 q 229 1303 197 1266 q 302 1361 260 1341 q 393 1382 345 1382 q 443 1380 420 1382 q 489 1370 467 1378 q 531 1345 511 1362 q 574 1297 552 1328 z " + }, + "Ä": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 155 1059 q 158 1115 157 1098 q 159 1140 159 1133 q 159 1150 159 1147 q 160 1162 159 1153 q 161 1193 160 1172 q 164 1258 162 1214 q 169 1286 165 1278 q 182 1295 172 1294 q 295 1296 235 1295 q 405 1297 354 1297 q 414 1293 412 1297 q 417 1279 417 1289 l 400 1090 q 395 1063 398 1071 q 382 1054 393 1055 q 276 1053 331 1053 q 162 1053 222 1053 q 157 1053 159 1053 q 155 1057 155 1054 l 155 1059 m 580 1058 q 583 1121 582 1101 q 584 1151 584 1142 q 584 1162 585 1160 q 584 1173 584 1165 q 586 1199 585 1181 q 589 1257 587 1217 q 593 1285 591 1277 q 606 1294 596 1293 q 719 1294 660 1294 q 829 1295 778 1295 q 838 1293 834 1295 q 842 1282 842 1290 l 825 1090 q 820 1062 823 1069 q 806 1053 818 1055 q 699 1052 754 1053 q 583 1051 644 1051 q 581 1052 581 1051 q 580 1055 580 1052 l 580 1058 z " + }, + "Å": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 496 1035 q 422 1047 456 1035 q 362 1082 387 1059 q 322 1139 336 1105 q 307 1215 307 1172 q 323 1288 307 1253 q 366 1348 338 1322 q 430 1389 393 1374 q 509 1404 467 1404 q 579 1392 547 1404 q 637 1358 612 1380 q 675 1303 661 1335 q 689 1233 689 1272 q 675 1161 689 1196 q 637 1097 662 1125 q 577 1052 612 1069 q 496 1035 541 1035 m 567 1215 q 568 1222 568 1219 q 568 1229 568 1225 q 565 1255 568 1241 q 555 1281 562 1269 q 538 1300 549 1293 q 511 1308 527 1308 q 472 1299 488 1308 q 445 1277 455 1291 q 429 1247 434 1264 q 424 1214 424 1231 q 427 1187 424 1201 q 436 1162 429 1173 q 454 1142 443 1150 q 484 1134 466 1135 q 519 1141 505 1134 q 544 1160 534 1148 q 559 1186 553 1172 q 567 1215 565 1201 z " + }, + "Æ": { + "ha": 1179, + "x_min": 10, + "x_max": 1197, + "o": "m 1063 549 q 1058 522 1061 539 q 1049 484 1054 505 q 1038 437 1044 462 q 1025 387 1031 412 q 1021 373 1023 377 q 1011 366 1018 368 q 991 364 1004 364 q 954 363 978 363 l 860 361 l 882 168 l 1188 189 q 1197 175 1197 189 q 1194 161 1197 167 q 1187 143 1194 160 q 1171 103 1181 126 q 1152 56 1162 80 q 1135 19 1141 33 q 1122 0 1130 7 q 1104 -11 1114 -7 q 1081 -15 1094 -14 q 1052 -16 1067 -16 q 946 -17 1001 -16 q 837 -19 891 -18 q 730 -22 782 -20 q 634 -26 678 -24 q 624 -28 629 -26 q 612 -29 619 -29 q 600 -23 603 -29 q 597 -12 597 -18 q 588 63 592 28 q 578 137 584 97 q 572 143 577 140 q 558 146 566 145 q 541 148 550 148 q 523 149 531 149 q 491 148 503 149 q 469 148 479 148 q 450 147 459 147 q 429 146 441 146 q 389 147 409 146 q 351 148 368 147 l 313 149 q 294 119 303 134 q 275 89 284 104 q 254 54 266 75 q 229 13 241 33 q 203 -22 216 -7 q 183 -36 191 -36 q 178 -35 179 -36 q 79 12 119 -12 q 10 56 39 35 q 37 96 23 74 q 63 137 52 118 l 90 182 q 65 248 77 210 q 54 326 54 285 q 57 353 54 342 q 68 356 57 355 q 95 357 79 357 q 129 358 111 358 q 164 359 148 359 q 191 359 180 359 q 201 360 201 359 q 217 388 201 359 q 259 464 233 417 q 319 570 286 511 q 388 691 352 629 q 457 812 423 753 q 519 916 492 871 q 531 929 524 923 q 547 939 539 935 q 563 945 555 943 q 575 949 570 948 q 596 951 578 949 q 637 956 614 954 q 684 960 661 958 q 722 962 708 962 l 901 972 q 970 977 936 975 q 1035 980 1005 979 q 1086 982 1064 981 q 1116 983 1107 983 q 1121 983 1117 983 q 1129 980 1125 983 q 1137 970 1133 977 q 1140 951 1140 964 q 1139 936 1140 946 q 1135 911 1137 925 q 1131 883 1133 898 q 1125 852 1128 867 l 1112 774 q 1105 756 1109 762 q 1080 749 1101 750 q 967 745 1029 748 q 822 739 904 742 l 838 573 q 905 576 872 574 q 964 578 937 577 q 1011 580 991 579 q 1039 581 1031 581 q 1043 580 1039 581 q 1051 577 1046 580 q 1059 568 1055 574 q 1063 549 1063 561 m 503 508 q 479 458 491 483 q 458 413 468 433 q 442 377 449 392 q 433 358 435 363 q 430 347 433 353 l 566 347 q 565 413 566 378 q 565 486 565 448 q 564 562 564 524 q 564 637 564 600 l 503 508 z " + }, + "Ç": { + "ha": 879, + "x_min": 87, + "x_max": 900, + "o": "m 87 458 q 105 602 87 533 q 156 730 123 671 q 236 839 189 790 q 342 923 283 888 q 468 977 400 958 q 612 996 536 996 q 716 988 671 996 q 795 968 762 980 q 851 942 829 956 q 889 915 874 928 q 888 910 888 915 q 890 873 888 900 q 894 812 892 846 q 898 745 897 779 q 900 686 900 711 q 897 676 900 682 q 884 671 895 671 q 869 673 878 671 q 833 692 854 677 q 782 723 811 707 q 718 751 753 739 q 640 764 682 764 q 539 742 585 764 q 462 681 494 720 q 412 589 430 642 q 395 473 395 536 q 407 367 395 417 q 444 278 419 316 q 506 217 469 240 q 591 195 543 195 q 660 197 630 195 q 715 206 690 200 q 766 222 741 212 q 819 248 791 233 q 826 249 821 249 q 832 245 831 249 q 834 230 834 241 l 834 149 q 834 105 834 126 q 833 66 833 83 q 832 39 833 50 q 831 28 832 28 q 765 -4 800 9 q 691 -23 729 -16 q 616 -33 654 -31 q 543 -35 578 -35 q 363 1 447 -35 q 219 102 280 37 q 122 258 157 168 q 87 458 87 349 m 643 -262 q 620 -320 637 -294 q 579 -365 603 -346 q 526 -394 555 -383 q 465 -404 496 -404 q 405 -400 437 -404 q 350 -382 374 -396 l 351 -383 q 351 -378 351 -382 q 352 -357 351 -370 q 354 -330 353 -345 q 358 -302 356 -315 q 363 -279 361 -288 l 367 -279 q 371 -281 371 -279 l 370 -281 q 391 -289 381 -286 q 411 -294 400 -292 q 434 -296 421 -296 q 463 -297 446 -297 q 507 -280 492 -297 q 523 -241 523 -263 q 510 -208 523 -221 q 476 -195 498 -195 q 412 -192 439 -195 q 376 -189 386 -189 q 369 -186 370 -189 q 368 -180 368 -184 q 376 -159 372 -174 q 385 -126 380 -144 q 394 -89 390 -109 q 402 -53 399 -69 q 409 -25 406 -36 q 411 -12 411 -14 l 424 -12 q 454 -12 435 -12 q 490 -12 472 -12 l 532 -12 l 500 -108 q 521 -105 511 -106 q 540 -104 531 -104 q 595 -116 574 -104 q 627 -144 616 -127 q 642 -184 638 -162 q 646 -230 646 -207 q 645 -246 646 -238 q 643 -262 644 -254 z " + }, + "È": { + "ha": 799, + "x_min": 92, + "x_max": 856, + "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 411 1194 q 385 1242 395 1223 q 364 1278 374 1261 q 344 1314 355 1295 q 318 1362 333 1333 q 313 1376 314 1369 q 311 1388 312 1383 q 315 1400 311 1396 q 325 1408 318 1404 q 377 1437 350 1422 q 433 1467 405 1451 q 488 1498 460 1482 q 541 1532 515 1514 q 550 1535 547 1535 q 555 1530 554 1535 l 631 1133 q 634 1119 633 1124 q 635 1107 635 1113 q 633 1096 635 1101 q 625 1087 631 1090 q 598 1076 610 1081 q 574 1064 586 1070 q 549 1052 562 1059 q 519 1035 536 1045 q 512 1032 517 1032 q 498 1041 506 1032 q 480 1070 491 1050 q 452 1120 469 1089 q 411 1194 435 1151 z " + }, + "É": { + "ha": 799, + "x_min": 92, + "x_max": 856, + "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 504 1171 q 454 1102 474 1129 q 421 1060 434 1076 q 401 1038 408 1044 q 389 1032 393 1032 q 382 1035 385 1032 q 356 1052 368 1044 q 334 1064 345 1059 q 314 1076 324 1070 q 290 1087 303 1081 q 281 1101 281 1093 q 283 1114 281 1107 q 289 1133 285 1122 l 414 1497 q 421 1510 418 1507 q 429 1514 425 1514 q 435 1512 432 1514 q 442 1508 439 1510 q 548 1447 495 1472 q 652 1394 600 1421 q 664 1376 664 1387 q 652 1348 664 1365 q 609 1298 626 1318 q 576 1259 591 1278 q 545 1221 561 1241 q 504 1171 528 1200 z " + }, + "Ê": { + "ha": 799, + "x_min": 92, + "x_max": 856, + "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 670 1354 q 695 1321 685 1335 q 714 1295 706 1307 q 729 1273 722 1284 q 744 1251 736 1263 q 757 1232 748 1244 q 775 1206 766 1220 q 792 1179 785 1192 q 799 1156 799 1165 q 786 1137 799 1147 q 754 1119 772 1128 q 717 1103 736 1110 q 688 1091 699 1095 q 667 1082 678 1088 q 645 1071 656 1076 q 624 1062 633 1065 q 610 1058 615 1058 q 599 1064 605 1058 q 585 1084 593 1069 l 497 1271 q 415 1167 456 1218 q 332 1064 374 1117 q 323 1059 330 1059 q 308 1065 320 1059 q 278 1079 295 1071 q 243 1095 261 1086 q 212 1110 226 1104 q 194 1119 205 1114 q 172 1129 182 1124 q 155 1140 162 1135 q 148 1150 148 1145 q 154 1166 148 1157 q 174 1187 160 1175 l 276 1303 q 351 1386 315 1345 q 425 1470 388 1427 q 443 1480 434 1479 q 460 1481 452 1481 l 563 1481 q 579 1480 571 1481 q 593 1469 587 1478 q 602 1455 593 1468 q 621 1426 610 1443 q 646 1389 633 1409 q 670 1354 659 1369 z " + }, + "Ë": { + "ha": 799, + "x_min": 92, + "x_max": 856, + "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 130 1059 q 132 1115 132 1098 q 133 1140 133 1133 q 134 1150 134 1147 q 134 1162 134 1153 q 135 1193 134 1172 q 138 1258 136 1214 q 143 1286 140 1278 q 157 1295 146 1294 q 269 1296 210 1295 q 379 1297 328 1297 q 389 1293 386 1297 q 391 1279 391 1289 l 374 1090 q 370 1063 372 1071 q 357 1054 367 1055 q 251 1053 305 1053 q 136 1053 196 1053 q 131 1053 133 1053 q 130 1057 130 1054 l 130 1059 m 554 1058 q 557 1121 556 1101 q 558 1151 558 1142 q 558 1162 559 1160 q 558 1173 558 1165 q 560 1199 559 1181 q 564 1257 561 1217 q 568 1285 565 1277 q 581 1294 570 1293 q 693 1294 634 1294 q 803 1295 752 1295 q 812 1293 808 1295 q 816 1282 816 1290 l 800 1090 q 794 1062 797 1069 q 781 1053 792 1055 q 673 1052 728 1053 q 557 1051 618 1051 q 555 1052 555 1051 q 554 1055 554 1052 l 554 1058 z " + }, + "Ì": { + "ha": 453, + "x_min": 94, + "x_max": 450, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 207 1194 q 180 1242 191 1223 q 160 1278 170 1261 q 140 1314 151 1295 q 114 1362 129 1333 q 109 1376 110 1369 q 107 1388 108 1383 q 111 1400 107 1396 q 121 1408 114 1404 q 173 1437 146 1422 q 229 1467 201 1451 q 284 1498 256 1482 q 336 1532 311 1514 q 346 1535 343 1535 q 351 1530 350 1535 l 427 1133 q 430 1119 429 1124 q 431 1107 431 1113 q 429 1096 431 1101 q 420 1087 427 1090 q 394 1076 406 1081 q 370 1064 382 1070 q 345 1052 358 1059 q 315 1035 332 1045 q 308 1032 313 1032 q 294 1041 302 1032 q 276 1070 287 1050 q 248 1120 264 1089 q 207 1194 231 1151 z " + }, + "Í": { + "ha": 453, + "x_min": 77, + "x_max": 460, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 300 1171 q 250 1102 270 1129 q 217 1060 230 1076 q 197 1038 204 1044 q 184 1032 189 1032 q 178 1035 180 1032 q 152 1052 163 1044 q 130 1064 140 1059 q 110 1076 120 1070 q 86 1087 99 1081 q 77 1101 77 1093 q 79 1114 77 1107 q 85 1133 81 1122 l 210 1497 q 217 1510 214 1507 q 224 1514 220 1514 q 231 1512 228 1514 q 238 1508 235 1510 q 343 1447 291 1472 q 448 1394 396 1421 q 460 1376 460 1387 q 448 1348 460 1365 q 405 1298 422 1318 q 372 1259 387 1278 q 340 1221 357 1241 q 300 1171 324 1200 z " + }, + "Î": { + "ha": 453, + "x_min": -54, + "x_max": 597, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 468 1354 q 493 1321 483 1335 q 512 1295 504 1307 q 527 1273 520 1284 q 542 1251 534 1263 q 555 1232 546 1244 q 573 1206 564 1220 q 590 1179 583 1192 q 597 1156 597 1165 q 584 1137 597 1147 q 552 1119 570 1128 q 515 1103 534 1110 q 486 1091 496 1095 q 465 1082 476 1088 q 443 1071 454 1076 q 422 1062 431 1065 q 408 1058 413 1058 q 397 1064 403 1058 q 382 1084 391 1069 l 295 1271 q 213 1167 254 1218 q 130 1064 172 1117 q 121 1059 127 1059 q 105 1065 118 1059 q 76 1079 93 1071 q 41 1095 59 1086 q 10 1110 24 1104 q -8 1119 3 1114 q -30 1129 -20 1124 q -47 1140 -40 1135 q -54 1150 -54 1145 q -48 1166 -54 1157 q -28 1187 -42 1175 l 74 1303 q 149 1386 113 1345 q 222 1470 186 1427 q 241 1480 232 1479 q 258 1481 250 1481 l 361 1481 q 377 1480 369 1481 q 391 1469 385 1478 q 399 1455 391 1468 q 419 1426 408 1443 q 444 1389 431 1409 q 468 1354 457 1369 z " + }, + "Ï": { + "ha": 453, + "x_min": -73, + "x_max": 614, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m -73 1059 q -70 1115 -71 1098 q -69 1140 -69 1133 q -68 1150 -68 1147 q -68 1162 -68 1153 q -67 1193 -68 1172 q -64 1258 -66 1214 q -59 1286 -62 1278 q -45 1295 -56 1294 q 67 1296 7 1295 q 177 1297 126 1297 q 186 1293 184 1297 q 189 1279 189 1289 l 172 1090 q 168 1063 170 1071 q 155 1054 165 1055 q 48 1053 103 1053 q -66 1053 -6 1053 q -71 1053 -69 1053 q -73 1057 -73 1054 l -73 1059 m 352 1058 q 355 1121 354 1101 q 356 1151 356 1142 q 356 1162 357 1160 q 356 1173 356 1165 q 358 1199 357 1181 q 361 1257 359 1217 q 366 1285 363 1277 q 378 1294 368 1293 q 491 1294 432 1294 q 601 1295 550 1295 q 610 1293 606 1295 q 614 1282 614 1290 l 597 1090 q 592 1062 595 1069 q 578 1053 590 1055 q 471 1052 526 1053 q 355 1051 416 1051 q 353 1052 353 1051 q 352 1055 352 1052 l 352 1058 z " + }, + "Ð": { + "ha": 1050, + "x_min": 39, + "x_max": 1058, + "o": "m 224 564 l 233 689 q 236 721 235 705 q 238 752 237 736 q 200 745 220 748 q 162 739 180 741 q 126 734 143 736 q 98 732 110 732 q 86 739 90 732 q 83 753 83 746 q 87 766 83 762 l 259 922 q 299 952 279 941 q 347 971 319 964 q 414 980 375 978 q 514 983 454 983 q 640 975 576 983 q 765 949 705 968 q 879 901 825 931 q 972 825 932 871 q 1035 718 1012 780 q 1058 574 1058 656 q 1023 369 1058 458 q 929 214 989 280 q 790 103 869 149 q 620 30 710 58 q 432 -13 529 1 q 243 -31 336 -27 l 119 -35 q 109 -27 112 -33 q 105 -14 105 -21 q 108 -3 105 -7 l 191 156 q 194 178 192 159 q 197 225 195 197 q 202 287 199 253 q 208 355 205 321 q 156 355 178 355 q 119 355 133 355 q 59 358 79 355 q 39 374 39 362 q 47 393 39 377 q 69 429 56 408 q 100 473 83 450 q 134 516 117 496 q 167 549 151 536 q 193 562 182 562 l 224 564 m 513 766 q 505 686 510 736 q 494 574 500 636 q 570 577 537 576 q 614 578 602 578 q 626 574 619 578 q 633 559 633 570 q 626 536 633 553 q 610 497 620 520 q 587 445 600 473 q 560 385 574 416 q 554 370 557 375 q 544 363 551 366 q 521 361 536 361 q 476 360 505 361 l 460 173 q 598 199 542 173 q 690 272 655 226 q 742 380 726 318 q 758 515 758 443 q 743 614 758 566 q 702 698 729 662 q 635 755 675 734 q 547 777 596 777 q 529 773 538 777 q 513 766 519 770 z " + }, + "Ñ": { + "ha": 935, + "x_min": 102, + "x_max": 909, + "o": "m 672 909 q 682 941 677 931 q 699 955 686 951 l 875 996 q 892 999 883 999 q 905 993 901 999 q 909 970 909 987 q 903 920 905 954 q 899 846 900 886 q 897 766 897 806 q 896 696 896 726 l 896 659 q 895 567 896 616 q 893 467 895 517 q 891 366 892 416 q 888 273 890 317 l 884 157 q 884 151 884 154 q 884 146 884 149 l 884 136 q 884 116 884 124 q 884 102 884 109 q 883 90 884 96 q 878 80 882 85 q 867 69 874 75 q 848 56 860 64 q 825 42 841 51 q 791 21 810 33 q 751 -3 772 9 q 714 -25 731 -15 q 687 -41 697 -35 q 676 -47 676 -47 l 361 437 l 333 41 q 331 29 332 35 q 321 20 329 23 q 300 11 315 17 q 266 -2 286 5 q 223 -17 245 -9 q 182 -32 201 -25 q 147 -42 162 -38 q 126 -46 132 -46 q 109 -41 116 -46 q 102 -21 102 -35 q 118 164 109 64 q 135 369 127 264 q 150 579 143 474 q 162 778 157 684 q 154 796 162 781 q 135 829 145 811 q 116 863 124 847 q 107 883 107 879 q 112 892 107 888 q 129 903 117 896 l 310 1005 q 316 1006 312 1005 q 322 1006 319 1006 q 334 1005 330 1006 q 343 994 338 1003 l 672 401 l 672 909 m 583 1297 q 607 1272 595 1280 q 633 1265 618 1265 q 663 1276 654 1265 q 676 1301 672 1287 q 682 1326 680 1315 q 690 1337 684 1337 q 701 1338 691 1337 q 725 1339 711 1338 q 756 1340 739 1339 q 788 1342 773 1341 q 814 1343 803 1343 q 828 1343 825 1343 q 840 1341 833 1343 q 846 1331 846 1338 q 828 1232 846 1282 q 780 1141 811 1182 q 704 1075 748 1101 q 606 1050 660 1050 q 563 1054 585 1050 q 520 1069 542 1058 q 477 1100 499 1080 q 433 1153 456 1120 q 409 1174 422 1169 q 379 1178 397 1178 q 353 1171 363 1178 q 336 1154 342 1164 q 328 1129 330 1143 q 326 1103 326 1116 q 320 1093 326 1098 q 306 1088 315 1088 q 271 1087 284 1088 q 247 1087 258 1087 q 223 1086 235 1086 q 190 1086 210 1086 q 176 1088 182 1086 q 170 1097 170 1091 q 188 1214 170 1161 q 238 1303 206 1266 q 311 1361 269 1341 q 401 1382 353 1382 q 452 1380 429 1382 q 497 1370 475 1378 q 540 1345 519 1362 q 583 1297 561 1328 z " + }, + "Ò": { + "ha": 1103, + "x_min": 85, + "x_max": 1101, + "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 534 1194 q 507 1242 518 1223 q 487 1278 496 1261 q 467 1314 477 1295 q 441 1362 456 1333 q 436 1376 437 1369 q 434 1388 435 1383 q 437 1400 434 1396 q 448 1408 441 1404 q 500 1437 473 1422 q 555 1467 528 1451 q 611 1498 583 1482 q 663 1532 638 1514 q 673 1535 670 1535 q 678 1530 677 1535 l 754 1133 q 757 1119 755 1124 q 758 1107 758 1113 q 756 1096 758 1101 q 747 1087 754 1090 q 721 1076 733 1081 q 697 1064 709 1070 q 672 1052 685 1059 q 642 1035 659 1045 q 635 1032 640 1032 q 621 1041 629 1032 q 603 1070 614 1050 q 575 1120 591 1089 q 534 1194 558 1151 z " + }, + "Ó": { + "ha": 1103, + "x_min": 85, + "x_max": 1101, + "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 626 1171 q 576 1102 596 1129 q 543 1060 556 1076 q 523 1038 530 1044 q 511 1032 515 1032 q 504 1035 507 1032 q 478 1052 490 1044 q 456 1064 467 1059 q 436 1076 446 1070 q 412 1087 425 1081 q 403 1101 403 1093 q 405 1114 404 1107 q 411 1133 407 1122 l 536 1497 q 543 1510 540 1507 q 551 1514 547 1514 q 557 1512 554 1514 q 564 1508 561 1510 q 670 1447 617 1472 q 774 1394 722 1421 q 786 1376 786 1387 q 774 1348 786 1365 q 731 1298 748 1318 q 698 1259 713 1278 q 667 1221 683 1241 q 626 1171 650 1200 z " + }, + "Ô": { + "ha": 1096, + "x_min": 81, + "x_max": 1098, + "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 m 789 1354 q 814 1321 804 1335 q 833 1295 825 1307 q 848 1273 841 1284 q 863 1251 854 1263 q 876 1232 867 1244 q 894 1206 885 1220 q 910 1179 903 1192 q 918 1156 918 1165 q 904 1137 918 1147 q 873 1119 891 1128 q 836 1103 854 1110 q 806 1091 817 1095 q 786 1082 797 1088 q 763 1071 774 1076 q 743 1062 752 1065 q 729 1058 734 1058 q 718 1064 724 1058 q 703 1084 712 1069 l 616 1271 q 533 1167 574 1218 q 451 1064 492 1117 q 442 1059 448 1059 q 426 1065 439 1059 q 397 1079 414 1071 q 362 1095 380 1086 q 331 1110 345 1104 q 312 1119 323 1114 q 291 1129 301 1124 q 274 1140 281 1135 q 267 1150 267 1145 q 273 1166 267 1157 q 292 1187 279 1175 l 395 1303 q 470 1386 433 1345 q 543 1470 507 1427 q 562 1480 553 1479 q 578 1481 571 1481 l 682 1481 q 698 1480 690 1481 q 711 1469 706 1478 q 720 1455 712 1468 q 740 1426 728 1443 q 765 1389 751 1409 q 789 1354 778 1369 z " + }, + "Õ": { + "ha": 1096, + "x_min": 81, + "x_max": 1098, + "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 m 667 1297 q 691 1272 680 1280 q 718 1265 703 1265 q 748 1276 739 1265 q 761 1301 757 1287 q 766 1326 764 1315 q 774 1337 768 1337 q 786 1338 776 1337 q 810 1339 795 1338 q 841 1340 824 1339 q 873 1342 858 1341 q 899 1343 888 1343 q 913 1343 910 1343 q 924 1341 918 1343 q 930 1331 930 1338 q 913 1232 930 1282 q 864 1141 896 1182 q 789 1075 833 1101 q 691 1050 745 1050 q 648 1054 669 1050 q 605 1069 627 1058 q 562 1100 584 1080 q 518 1153 541 1120 q 494 1174 507 1169 q 464 1178 481 1178 q 437 1171 448 1178 q 421 1154 427 1164 q 413 1129 415 1143 q 410 1103 410 1116 q 405 1093 410 1098 q 391 1088 399 1088 q 356 1087 369 1088 q 331 1087 342 1087 q 308 1086 320 1086 q 275 1086 295 1086 q 261 1088 267 1086 q 254 1097 254 1091 q 273 1214 254 1161 q 322 1303 291 1266 q 396 1361 354 1341 q 486 1382 438 1382 q 537 1380 513 1382 q 582 1370 560 1378 q 625 1345 604 1362 q 667 1297 646 1328 z " + }, + "Ö": { + "ha": 1096, + "x_min": 81, + "x_max": 1098, + "o": "m 380 463 q 391 365 380 414 q 426 276 401 315 q 490 212 450 237 q 589 188 530 188 q 669 207 635 191 q 728 248 703 222 q 769 306 753 273 q 795 375 785 339 q 808 450 804 412 q 812 523 812 488 q 799 616 812 571 q 760 696 786 661 q 696 751 734 730 q 607 772 658 772 q 535 758 567 772 q 477 718 503 743 q 434 661 452 693 q 405 594 416 629 q 387 526 393 560 q 380 463 381 492 m 513 -35 q 331 3 411 -35 q 196 105 251 41 q 111 255 140 170 q 81 435 81 340 q 112 632 81 542 q 196 791 142 722 q 325 908 250 861 q 490 979 400 956 q 502 992 498 979 q 510 1021 507 1005 q 518 1049 513 1036 q 532 1062 523 1062 q 768 1016 663 1048 q 947 922 873 983 q 1059 767 1020 861 q 1098 540 1098 674 q 1077 378 1098 454 q 1018 238 1056 302 q 927 123 980 174 q 808 37 873 73 q 668 -17 743 2 q 513 -35 593 -35 m 249 1059 q 252 1115 251 1098 q 253 1140 252 1133 q 253 1150 253 1147 q 253 1162 253 1153 q 255 1193 254 1172 q 258 1258 256 1214 q 262 1286 259 1278 q 276 1295 266 1294 q 388 1296 329 1295 q 498 1297 448 1297 q 508 1293 505 1297 q 511 1279 511 1289 l 494 1090 q 489 1063 492 1071 q 476 1054 486 1055 q 370 1053 425 1053 q 256 1053 315 1053 q 251 1053 252 1053 q 249 1057 249 1054 l 249 1059 m 673 1058 q 676 1121 675 1101 q 678 1151 677 1142 q 678 1162 678 1160 q 678 1173 677 1165 q 679 1199 678 1181 q 683 1257 680 1217 q 687 1285 684 1277 q 700 1294 690 1293 q 812 1294 753 1294 q 922 1295 871 1295 q 931 1293 928 1295 q 935 1282 935 1290 l 919 1090 q 914 1062 916 1069 q 900 1053 911 1055 q 792 1052 848 1053 q 677 1051 737 1051 q 674 1052 675 1051 q 673 1055 673 1052 l 673 1058 z " + }, + "×": { + "ha": 671, + "x_min": 106, + "x_max": 648, + "o": "m 372 313 q 306 244 332 272 q 262 198 279 216 q 233 173 244 180 q 213 165 222 165 q 205 168 208 165 q 194 181 202 170 q 176 207 186 192 q 154 240 165 222 q 133 273 142 257 q 117 300 123 288 q 111 316 111 312 q 114 329 111 322 q 123 343 116 336 l 242 465 l 233 476 q 139 584 172 546 q 106 633 106 623 q 109 643 106 637 q 120 657 113 648 q 141 679 127 665 q 175 714 155 692 l 219 761 q 233 766 229 766 q 244 762 239 766 q 257 749 250 758 l 292 711 q 332 668 309 692 q 380 612 354 643 l 388 621 q 485 722 450 685 q 529 758 519 758 q 538 754 534 758 q 549 742 543 751 q 561 727 553 737 q 579 704 569 717 q 601 676 590 690 q 622 651 612 663 q 637 633 631 640 q 643 625 643 625 q 646 616 645 621 q 648 608 648 612 q 632 582 648 598 q 598 547 616 566 l 512 458 l 600 357 q 632 314 622 332 q 644 286 643 296 q 641 278 644 281 q 630 267 639 276 q 608 244 621 257 q 580 217 595 231 q 551 190 565 202 q 527 170 538 178 q 513 162 517 162 q 501 165 507 162 q 489 176 495 168 l 372 313 z " + }, + "Ø": { + "ha": 1101, + "x_min": 83, + "x_max": 1099, + "o": "m 528 -35 q 452 -28 489 -35 l 408 -121 q 400 -141 402 -132 q 388 -151 398 -151 q 370 -146 380 -151 l 302 -117 q 286 -112 296 -115 q 263 -103 275 -108 q 244 -91 252 -98 q 235 -75 235 -84 q 240 -57 235 -69 q 253 -29 245 -45 q 269 3 260 -14 q 286 36 278 20 q 200 113 237 68 q 136 212 162 158 q 97 326 111 265 q 83 451 83 387 q 129 669 83 571 q 252 836 174 766 q 431 944 329 906 q 648 982 534 982 q 742 972 694 982 q 759 1008 751 989 q 775 1041 767 1026 q 790 1066 783 1056 q 803 1076 797 1076 l 808 1076 q 880 1043 844 1061 q 951 1019 916 1026 q 959 1016 956 1018 q 962 1010 962 1014 l 962 1008 l 909 901 q 988 829 953 870 q 1048 739 1023 787 q 1085 634 1072 690 q 1099 518 1099 578 q 1078 362 1099 435 q 1021 227 1058 288 q 931 117 983 165 q 816 35 880 68 q 679 -17 752 1 q 528 -35 606 -35 m 382 463 q 390 376 382 419 q 415 295 397 334 q 458 384 439 343 q 495 465 477 425 q 533 546 513 505 q 576 638 552 588 l 646 779 q 623 782 635 781 q 600 783 612 783 q 527 768 559 783 q 470 726 494 752 q 429 667 446 701 q 402 598 412 634 q 387 527 392 562 q 382 463 382 492 m 812 513 q 806 585 812 549 q 786 651 800 620 l 554 178 q 599 174 574 174 q 675 193 642 177 q 731 235 707 210 q 771 294 755 261 q 796 363 787 327 q 809 438 805 400 q 812 513 812 476 z " + }, + "Ù": { + "ha": 935, + "x_min": 103, + "x_max": 937, + "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 452 1194 q 426 1242 437 1223 q 406 1278 415 1261 q 385 1314 396 1295 q 359 1362 374 1333 q 354 1376 355 1369 q 353 1388 353 1383 q 356 1400 353 1396 q 366 1408 359 1404 q 419 1437 391 1422 q 474 1467 446 1451 q 529 1498 502 1482 q 582 1532 557 1514 q 591 1535 589 1535 q 597 1530 595 1535 l 673 1133 q 675 1119 674 1124 q 677 1107 677 1113 q 675 1096 677 1101 q 666 1087 673 1090 q 640 1076 652 1081 q 615 1064 627 1070 q 590 1052 604 1059 q 561 1035 577 1045 q 553 1032 558 1032 q 540 1041 547 1032 q 521 1070 532 1050 q 493 1120 510 1089 q 452 1194 477 1151 z " + }, + "Ú": { + "ha": 935, + "x_min": 103, + "x_max": 937, + "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 545 1171 q 495 1102 515 1129 q 463 1060 475 1076 q 442 1038 450 1044 q 430 1032 435 1032 q 423 1035 426 1032 q 397 1052 409 1044 q 376 1064 386 1059 q 355 1076 366 1070 q 332 1087 345 1081 q 322 1101 322 1093 q 325 1114 323 1107 q 330 1133 326 1122 l 456 1497 q 463 1510 459 1507 q 470 1514 466 1514 q 477 1512 473 1514 q 484 1508 480 1510 q 589 1447 536 1472 q 693 1394 642 1421 q 705 1376 705 1387 q 694 1348 705 1365 q 650 1298 667 1318 q 617 1259 633 1278 q 586 1221 602 1241 q 545 1171 570 1200 z " + }, + "Û": { + "ha": 935, + "x_min": 103, + "x_max": 937, + "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 711 1354 q 737 1321 726 1335 q 755 1295 747 1307 q 770 1273 764 1284 q 785 1251 777 1263 q 799 1232 789 1244 q 817 1206 808 1220 q 833 1179 826 1192 q 840 1156 840 1165 q 827 1137 840 1147 q 795 1119 814 1128 q 759 1103 777 1110 q 729 1091 740 1095 q 708 1082 720 1088 q 686 1071 697 1076 q 666 1062 675 1065 q 652 1058 656 1058 q 641 1064 646 1058 q 626 1084 635 1069 l 538 1271 q 456 1167 497 1218 q 374 1064 415 1117 q 365 1059 371 1059 q 349 1065 361 1059 q 319 1079 336 1071 q 285 1095 302 1086 q 254 1110 267 1104 q 235 1119 246 1114 q 214 1129 224 1124 q 196 1140 203 1135 q 189 1150 189 1145 q 195 1166 189 1157 q 215 1187 201 1175 l 317 1303 q 393 1386 356 1345 q 466 1470 429 1427 q 485 1480 475 1479 q 501 1481 494 1481 l 604 1481 q 621 1480 612 1481 q 634 1469 629 1478 q 643 1455 635 1468 q 663 1426 651 1443 q 687 1389 674 1409 q 711 1354 701 1369 z " + }, + "Ü": { + "ha": 935, + "x_min": 103, + "x_max": 937, + "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 171 1059 q 174 1115 173 1098 q 175 1140 174 1133 q 175 1150 175 1147 q 175 1162 175 1153 q 177 1193 176 1172 q 180 1258 178 1214 q 184 1286 181 1278 q 198 1295 188 1294 q 310 1296 251 1295 q 420 1297 370 1297 q 430 1293 427 1297 q 433 1279 433 1289 l 416 1090 q 411 1063 414 1071 q 398 1054 408 1055 q 292 1053 347 1053 q 178 1053 237 1053 q 173 1053 174 1053 q 171 1057 171 1054 l 171 1059 m 595 1058 q 598 1121 597 1101 q 600 1151 600 1142 q 600 1162 600 1160 q 600 1173 600 1165 q 601 1199 600 1181 q 605 1257 602 1217 q 609 1285 606 1277 q 622 1294 612 1293 q 734 1294 675 1294 q 844 1295 793 1295 q 853 1293 850 1295 q 857 1282 857 1290 l 841 1090 q 836 1062 838 1069 q 822 1053 833 1055 q 714 1052 770 1053 q 599 1051 659 1051 q 596 1052 597 1051 q 595 1055 595 1052 l 595 1058 z " + }, + "Ý": { + "ha": 756, + "x_min": 73, + "x_max": 861, + "o": "m 81 903 q 95 910 85 906 q 118 920 104 915 q 146 932 131 926 q 177 945 161 939 l 256 976 q 272 980 264 980 q 284 977 277 980 q 298 966 290 974 l 455 662 l 459 672 l 526 796 q 552 842 539 819 q 574 882 564 864 q 591 910 584 899 q 599 921 597 921 l 831 979 q 845 981 840 981 q 861 967 861 981 q 859 958 860 964 q 855 945 859 952 l 656 576 q 626 520 641 548 q 596 468 610 492 q 571 422 582 443 q 553 389 559 402 l 548 367 l 510 113 q 507 94 508 101 q 503 81 505 86 q 497 73 500 77 q 486 66 493 70 l 294 -35 q 271 -43 283 -40 q 248 -47 259 -47 q 229 -42 237 -47 q 220 -25 220 -37 l 220 -22 q 230 67 223 16 q 245 168 237 119 l 283 419 q 255 480 273 442 q 217 562 237 518 q 175 653 197 606 q 133 742 153 700 q 99 815 114 783 q 76 862 83 847 q 73 883 73 872 q 74 895 73 889 q 81 903 76 901 m 476 1171 q 426 1102 446 1129 q 393 1060 406 1076 q 373 1038 380 1044 q 361 1032 366 1032 q 354 1035 357 1032 q 328 1052 340 1044 q 307 1064 317 1059 q 286 1076 296 1070 q 262 1087 275 1081 q 253 1101 253 1093 q 255 1114 254 1107 q 261 1133 257 1122 l 387 1497 q 393 1510 390 1507 q 401 1514 397 1514 q 408 1512 404 1514 q 414 1508 411 1510 q 520 1447 467 1472 q 624 1394 572 1421 q 636 1376 636 1387 q 625 1348 636 1365 q 581 1298 598 1318 q 548 1259 564 1278 q 517 1221 533 1241 q 476 1171 500 1200 z " + }, + "Þ": { + "ha": 872, + "x_min": 104, + "x_max": 907, + "o": "m 907 630 q 888 515 907 568 q 836 420 869 463 q 758 345 802 378 q 662 291 713 313 q 555 258 610 269 q 447 247 500 247 q 420 248 433 247 q 393 250 407 248 l 375 64 l 363 43 q 352 36 363 41 q 324 26 341 32 q 286 13 307 20 q 244 -2 265 5 q 204 -15 223 -9 q 172 -26 184 -22 q 149 -33 162 -30 q 125 -35 136 -35 q 110 -31 115 -35 q 104 -12 104 -26 q 108 39 106 11 q 112 96 110 66 q 116 157 114 126 q 121 216 119 188 l 132 353 q 146 534 140 456 q 156 674 152 613 q 132 672 136 672 q 117 684 117 672 q 122 703 117 684 q 135 749 127 722 q 150 805 142 776 q 163 854 158 834 q 183 878 164 867 l 198 1016 l 210 1037 q 220 1043 210 1039 q 248 1054 231 1048 q 287 1066 265 1059 q 329 1081 308 1074 q 370 1095 351 1088 q 401 1106 389 1101 q 424 1112 410 1109 q 448 1115 437 1115 q 463 1110 458 1115 q 469 1092 469 1105 q 466 1055 467 1072 q 463 1020 465 1038 q 460 980 462 1002 q 456 928 458 958 q 526 930 495 930 q 672 916 603 930 q 793 868 741 902 q 877 775 846 833 q 907 630 907 718 m 412 451 q 415 438 412 444 q 430 432 418 432 q 465 437 445 432 q 506 453 485 443 q 548 480 528 464 q 584 518 568 496 q 610 567 600 540 q 620 627 620 594 q 587 696 620 674 q 501 719 554 719 q 480 718 492 719 q 460 714 469 717 q 444 708 450 711 q 436 698 437 704 q 435 683 436 698 q 431 646 433 669 q 427 596 429 624 q 421 541 424 568 q 416 490 418 513 q 412 451 414 466 z " + }, + "ß": { + "ha": 926, + "x_min": 83, + "x_max": 920, + "o": "m 91 115 q 102 287 98 203 q 109 449 105 371 q 121 596 113 526 q 146 725 130 665 q 192 831 163 784 q 267 912 221 879 q 378 964 313 946 q 534 982 444 982 q 674 963 609 982 q 786 910 739 943 q 861 833 834 877 q 888 742 888 790 q 855 638 888 691 q 745 538 821 586 q 818 494 786 514 q 873 452 850 474 q 907 404 895 431 q 920 338 920 376 q 902 225 920 279 q 852 125 884 172 q 777 42 821 79 q 680 -21 732 5 q 569 -62 628 -47 q 449 -76 510 -76 q 431 -71 437 -76 q 423 -55 426 -66 q 420 -23 420 -43 q 417 26 419 -3 q 414 63 416 47 q 412 92 412 79 q 418 120 412 110 q 441 133 424 130 q 524 152 484 140 q 593 185 563 163 q 641 238 623 206 q 659 317 659 271 q 646 352 659 337 q 613 377 633 366 q 569 394 593 387 q 522 405 545 401 q 480 412 499 410 q 451 416 460 414 q 439 422 442 417 q 436 435 436 428 q 447 460 436 445 q 477 503 457 475 l 505 543 q 545 559 524 549 q 585 583 566 570 q 615 613 603 596 q 627 649 627 629 q 603 734 627 705 q 534 764 579 764 q 499 759 521 764 q 456 740 477 753 q 417 703 434 726 q 397 642 400 679 q 381 507 387 571 q 373 385 376 443 q 368 274 370 327 q 361 172 366 221 l 349 -8 q 338 -22 348 -18 q 321 -26 329 -26 q 209 -10 265 -18 q 106 9 152 -2 q 88 20 93 12 q 83 35 83 27 q 86 75 83 59 q 91 115 89 92 z " + }, + "à": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 395 968 q 368 1015 379 996 q 348 1051 357 1034 q 328 1087 338 1068 q 302 1135 317 1107 q 297 1149 298 1143 q 295 1162 296 1156 q 298 1174 295 1169 q 309 1181 302 1178 q 361 1210 334 1196 q 416 1240 389 1225 q 472 1272 444 1255 q 524 1305 499 1288 q 534 1309 531 1309 q 539 1303 538 1309 l 615 907 q 618 892 616 898 q 619 881 619 886 q 617 869 619 875 q 608 861 615 864 q 582 849 594 854 q 558 838 570 844 q 533 825 546 832 q 503 808 519 819 q 496 806 500 806 q 482 815 490 806 q 464 843 475 824 q 436 893 452 863 q 395 968 419 924 z " + }, + "á": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 488 944 q 438 876 458 903 q 405 833 418 849 q 385 812 392 818 q 372 806 377 806 q 366 808 368 806 q 340 825 351 818 q 318 838 328 832 q 297 849 308 844 q 274 861 287 854 q 264 875 264 866 q 267 888 265 880 q 273 907 269 895 l 398 1271 q 405 1284 401 1280 q 412 1287 408 1287 q 419 1285 416 1287 q 426 1282 422 1284 q 531 1220 479 1246 q 635 1168 584 1195 q 648 1149 648 1160 q 636 1122 648 1139 q 592 1071 610 1091 q 560 1033 575 1051 q 528 994 545 1015 q 488 944 512 974 z " + }, + "â": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 654 1127 q 679 1095 669 1109 q 698 1069 690 1080 q 713 1047 706 1057 q 728 1024 720 1036 q 741 1006 732 1018 q 759 980 750 994 q 775 952 768 966 q 783 930 783 939 q 769 911 783 920 q 738 892 756 901 q 701 876 720 884 q 671 865 682 869 q 651 856 662 861 q 628 844 640 850 q 608 835 617 839 q 594 831 599 831 q 583 837 589 831 q 568 858 577 843 l 481 1044 q 398 941 439 991 q 316 838 357 890 q 307 833 313 833 q 291 839 304 833 q 262 852 279 844 q 227 869 245 860 q 196 884 210 878 q 177 892 189 887 q 156 903 166 897 q 139 913 146 908 q 132 924 132 919 q 138 939 132 930 q 157 961 144 948 l 260 1076 q 335 1160 298 1119 q 408 1243 372 1200 q 427 1254 418 1253 q 444 1255 436 1255 l 547 1255 q 563 1253 555 1255 q 576 1242 571 1252 q 585 1229 577 1241 q 605 1199 593 1217 q 630 1162 616 1182 q 654 1127 643 1143 z " + }, + "ã": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 532 1071 q 556 1046 545 1053 q 582 1038 567 1038 q 612 1049 603 1038 q 625 1075 621 1061 q 631 1100 629 1088 q 639 1111 633 1111 q 650 1111 640 1111 q 674 1112 660 1112 q 705 1114 688 1113 q 737 1115 722 1114 q 763 1117 752 1116 q 777 1117 774 1117 q 789 1114 783 1117 q 795 1104 795 1112 q 778 1005 795 1055 q 729 915 760 956 q 653 849 697 874 q 555 823 609 823 q 512 827 534 823 q 470 843 491 831 q 427 874 448 854 q 382 926 405 894 q 358 947 371 943 q 328 951 346 951 q 302 945 312 951 q 286 927 292 938 q 277 903 279 916 q 275 877 275 890 q 269 866 275 871 q 255 861 264 861 q 220 861 233 861 q 196 860 207 861 q 172 860 184 860 q 139 859 159 859 q 125 862 132 859 q 119 871 119 865 q 137 987 119 935 q 187 1077 155 1040 q 260 1135 218 1114 q 351 1156 302 1156 q 401 1154 378 1156 q 447 1143 425 1152 q 489 1118 469 1135 q 532 1071 510 1101 z " + }, + "ä": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 113 833 q 116 889 115 871 q 117 913 117 906 q 117 924 117 921 q 118 936 117 926 q 119 966 118 945 q 122 1031 120 987 q 127 1060 123 1052 q 140 1069 130 1067 q 253 1069 193 1069 q 363 1070 312 1070 q 372 1066 370 1070 q 375 1053 375 1063 l 358 864 q 353 837 356 844 q 340 827 351 829 q 234 826 289 827 q 120 826 180 826 q 115 827 117 826 q 113 831 113 827 l 113 833 m 538 831 q 541 895 540 874 q 542 924 542 916 q 542 936 543 933 q 542 946 542 939 q 544 972 543 954 q 547 1031 545 991 q 551 1058 549 1050 q 564 1067 554 1066 q 677 1068 618 1067 q 787 1069 736 1068 q 796 1066 792 1069 q 800 1055 800 1063 l 783 863 q 778 836 781 843 q 764 827 776 828 q 657 825 712 826 q 541 825 602 825 q 538 825 539 825 q 538 829 538 825 l 538 831 z " + }, + "å": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 455 808 q 380 821 415 808 q 320 856 346 833 q 280 912 295 879 q 266 988 266 945 q 281 1061 266 1027 q 324 1122 297 1096 q 388 1163 351 1147 q 468 1178 425 1178 q 538 1166 505 1178 q 595 1131 571 1154 q 634 1077 620 1109 q 648 1006 648 1045 q 634 934 648 970 q 596 870 621 899 q 535 825 571 842 q 455 808 500 808 m 526 989 q 526 996 526 992 q 526 1002 526 999 q 524 1028 526 1015 q 514 1054 521 1042 q 496 1074 507 1066 q 469 1081 486 1081 q 430 1073 447 1081 q 403 1051 414 1064 q 388 1021 393 1038 q 382 987 382 1004 q 385 961 382 975 q 395 935 388 947 q 413 916 401 924 q 443 907 425 908 q 478 915 463 907 q 502 933 492 922 q 518 960 512 945 q 526 989 524 975 z " + }, + "æ": { + "ha": 1300, + "x_min": 70, + "x_max": 1299, + "o": "m 734 604 q 858 716 787 675 q 1015 758 928 758 q 1080 748 1046 758 q 1145 720 1114 738 q 1205 675 1177 701 q 1254 617 1233 649 q 1286 548 1274 585 q 1299 471 1299 511 q 1295 422 1299 447 q 1284 372 1291 397 q 1275 342 1284 351 q 1243 329 1265 334 q 1186 321 1221 325 q 1099 306 1151 317 q 1033 294 1067 299 q 966 285 1000 290 q 899 275 932 280 q 833 261 865 269 q 851 208 836 231 q 892 171 867 186 q 947 150 916 157 q 1012 143 979 143 q 1075 150 1044 143 q 1133 166 1105 156 q 1186 189 1160 176 q 1235 215 1212 202 q 1245 217 1241 216 q 1254 218 1250 218 q 1254 207 1254 218 q 1253 175 1253 196 q 1253 125 1253 155 q 1252 61 1253 96 q 1255 49 1255 54 q 1252 40 1255 43 q 1244 34 1249 37 q 1190 8 1222 22 q 1120 -16 1158 -5 q 1044 -34 1083 -27 q 970 -41 1005 -41 q 889 -33 929 -41 q 812 -9 849 -25 q 742 29 775 6 q 682 82 709 52 q 606 27 646 50 q 527 -11 567 4 q 447 -34 486 -26 q 370 -41 407 -41 q 259 -16 313 -41 q 163 55 205 9 q 95 168 121 102 q 70 315 70 233 q 98 492 70 412 q 174 630 126 572 q 287 719 222 687 q 422 750 351 750 q 599 731 518 750 q 754 684 680 713 l 734 604 m 562 185 q 578 329 572 269 q 588 430 584 389 q 594 497 592 471 q 597 542 596 524 q 540 562 573 551 q 469 572 507 572 q 407 549 432 572 q 367 490 382 525 q 346 417 352 456 q 339 349 339 378 q 367 192 339 241 q 446 142 395 142 q 500 153 471 142 q 562 185 530 165 m 998 576 q 939 565 966 576 q 891 531 913 553 q 854 478 870 509 q 827 410 838 447 l 1105 465 q 1106 470 1105 467 q 1106 475 1106 473 q 1096 519 1106 500 q 1070 551 1086 538 q 1035 570 1055 564 q 998 576 1016 576 z " + }, + "ç": { + "ha": 716, + "x_min": 69, + "x_max": 738, + "o": "m 69 331 q 102 497 69 420 q 193 633 135 575 q 330 724 251 690 q 502 757 409 757 q 610 747 565 757 q 683 724 654 736 q 725 701 711 711 q 738 690 738 690 q 735 667 738 686 q 728 624 732 648 q 721 573 724 599 q 718 528 718 547 q 716 520 718 524 q 705 516 714 516 q 682 522 697 516 q 643 534 666 528 q 591 547 621 541 q 526 553 562 553 q 445 537 481 553 q 383 493 409 521 q 343 426 357 465 q 330 342 330 387 q 344 263 330 296 q 383 209 359 230 q 439 179 408 189 q 507 170 471 170 q 589 181 547 170 q 667 212 630 192 q 672 213 668 213 q 677 210 675 213 q 679 197 679 206 q 679 144 679 175 q 679 85 679 113 q 677 37 678 57 q 676 18 677 18 q 623 -9 652 1 q 565 -25 595 -19 q 504 -33 534 -31 q 445 -35 473 -35 q 297 -9 366 -35 q 178 66 229 18 q 98 181 127 114 q 69 331 69 249 m 552 -262 q 529 -320 546 -294 q 488 -365 512 -346 q 435 -394 465 -383 q 374 -404 406 -404 q 314 -400 346 -404 q 259 -382 283 -396 l 260 -383 q 260 -378 260 -382 q 261 -357 260 -370 q 263 -330 262 -345 q 268 -302 265 -315 q 273 -279 270 -288 l 276 -279 q 280 -281 280 -279 l 279 -281 q 300 -289 290 -286 q 320 -294 309 -292 q 343 -296 330 -296 q 372 -297 355 -297 q 416 -280 401 -297 q 432 -241 432 -263 q 419 -208 432 -221 q 385 -195 407 -195 q 321 -192 348 -195 q 285 -189 295 -189 q 278 -186 279 -189 q 277 -180 277 -184 q 285 -159 281 -174 q 294 -126 290 -144 q 303 -89 299 -109 q 312 -53 308 -69 q 318 -25 315 -36 q 320 -12 320 -14 l 333 -12 q 363 -12 345 -12 q 399 -12 381 -12 l 441 -12 l 409 -108 q 430 -105 420 -106 q 449 -104 440 -104 q 504 -116 484 -104 q 536 -144 525 -127 q 551 -184 547 -162 q 555 -230 555 -207 q 554 -246 555 -238 q 552 -262 553 -254 z " + }, + "è": { + "ha": 774, + "x_min": 68, + "x_max": 771, + "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 380 968 q 353 1015 364 996 q 333 1051 342 1034 q 313 1087 323 1068 q 287 1135 302 1107 q 282 1149 283 1143 q 280 1162 281 1156 q 283 1174 280 1169 q 294 1181 287 1178 q 346 1210 319 1196 q 401 1240 374 1225 q 457 1272 429 1255 q 509 1305 484 1288 q 519 1309 516 1309 q 524 1303 523 1309 l 600 907 q 603 892 602 898 q 604 881 604 886 q 602 869 604 875 q 593 861 600 864 q 567 849 579 854 q 543 838 555 844 q 518 825 531 832 q 488 808 505 819 q 481 806 486 806 q 467 815 475 806 q 449 843 460 824 q 421 893 437 863 q 380 968 404 924 z " + }, + "é": { + "ha": 774, + "x_min": 68, + "x_max": 771, + "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 473 944 q 423 876 443 903 q 390 833 403 849 q 370 812 377 818 q 357 806 362 806 q 351 808 353 806 q 325 825 336 818 q 303 838 313 832 q 282 849 293 844 q 259 861 272 854 q 250 875 250 866 q 252 888 250 880 q 258 907 254 895 l 383 1271 q 390 1284 387 1280 q 397 1287 393 1287 q 404 1285 401 1287 q 411 1282 408 1284 q 516 1220 464 1246 q 621 1168 569 1195 q 633 1149 633 1160 q 621 1122 633 1139 q 577 1071 595 1091 q 545 1033 560 1051 q 513 994 530 1015 q 473 944 497 974 z " + }, + "ê": { + "ha": 774, + "x_min": 68, + "x_max": 771, + "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 633 1127 q 658 1095 648 1109 q 677 1069 669 1080 q 692 1047 685 1057 q 707 1024 699 1036 q 720 1006 711 1018 q 738 980 729 994 q 754 952 747 966 q 762 930 762 939 q 748 911 762 920 q 717 892 735 901 q 680 876 699 884 q 650 865 661 869 q 630 856 641 861 q 607 844 618 850 q 587 835 596 839 q 573 831 578 831 q 562 837 568 831 q 547 858 556 843 l 460 1044 q 377 941 418 991 q 295 838 336 890 q 286 833 292 833 q 270 839 283 833 q 241 852 258 844 q 206 869 224 860 q 175 884 189 878 q 156 892 168 887 q 135 903 145 897 q 118 913 125 908 q 111 924 111 919 q 117 939 111 930 q 136 961 123 948 l 239 1076 q 314 1160 277 1119 q 387 1243 351 1200 q 406 1254 397 1253 q 422 1255 415 1255 l 526 1255 q 542 1253 534 1255 q 555 1242 550 1252 q 564 1229 556 1241 q 584 1199 572 1217 q 609 1162 595 1182 q 633 1127 622 1143 z " + }, + "ë": { + "ha": 774, + "x_min": 68, + "x_max": 785, + "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 98 833 q 101 889 100 871 q 102 913 102 906 q 102 924 102 921 q 103 936 102 926 q 104 966 103 945 q 107 1031 105 987 q 112 1060 109 1052 q 125 1069 115 1067 q 238 1069 178 1069 q 348 1070 297 1070 q 357 1066 355 1070 q 360 1053 360 1063 l 343 864 q 338 837 341 844 q 326 827 336 829 q 219 826 274 827 q 105 826 165 826 q 100 827 102 826 q 98 831 98 827 l 98 833 m 523 831 q 526 895 525 874 q 527 924 527 916 q 527 936 528 933 q 527 946 527 939 q 529 972 528 954 q 532 1031 530 991 q 536 1058 534 1050 q 549 1067 539 1066 q 662 1068 603 1067 q 772 1069 721 1068 q 781 1066 777 1069 q 785 1055 785 1063 l 768 863 q 763 836 766 843 q 749 827 761 828 q 642 825 697 826 q 526 825 587 825 q 524 825 524 825 q 523 829 523 825 l 523 831 z " + }, + "ì": { + "ha": 414, + "x_min": 73, + "x_max": 417, + "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 193 968 q 166 1015 177 996 q 146 1051 155 1034 q 125 1087 136 1068 q 100 1135 115 1107 q 95 1149 96 1143 q 93 1162 94 1156 q 96 1174 93 1169 q 106 1181 100 1178 q 159 1210 132 1196 q 214 1240 186 1225 q 270 1272 242 1255 q 322 1305 297 1288 q 332 1309 329 1309 q 337 1303 336 1309 l 413 907 q 416 892 414 898 q 417 881 417 886 q 415 869 417 875 q 406 861 413 864 q 380 849 392 854 q 356 838 368 844 q 331 825 344 832 q 301 808 317 819 q 294 806 298 806 q 280 815 288 806 q 261 843 273 824 q 234 893 250 863 q 193 968 217 924 z " + }, + "í": { + "ha": 414, + "x_min": 62, + "x_max": 446, + "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 286 944 q 236 876 256 903 q 203 833 216 849 q 182 812 190 818 q 170 806 175 806 q 163 808 166 806 q 138 825 149 818 q 116 838 126 832 q 95 849 106 844 q 72 861 85 854 q 62 875 62 866 q 65 888 63 880 q 71 907 66 895 l 196 1271 q 203 1284 199 1280 q 210 1287 206 1287 q 217 1285 214 1287 q 224 1282 220 1284 q 329 1220 277 1246 q 433 1168 382 1195 q 446 1149 446 1160 q 434 1122 446 1139 q 390 1071 408 1091 q 358 1033 373 1051 q 326 994 342 1015 q 286 944 310 974 z " + }, + "î": { + "ha": 414, + "x_min": -68, + "x_max": 583, + "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 454 1127 q 479 1095 469 1109 q 498 1069 490 1080 q 513 1047 506 1057 q 528 1024 519 1036 q 541 1006 532 1018 q 559 980 550 994 q 575 952 568 966 q 583 930 583 939 q 569 911 583 920 q 538 892 556 901 q 501 876 519 884 q 471 865 482 869 q 451 856 462 861 q 428 844 439 850 q 408 835 417 839 q 394 831 399 831 q 383 837 389 831 q 368 858 377 843 l 281 1044 q 198 941 239 991 q 116 838 157 890 q 107 833 113 833 q 91 839 104 833 q 62 852 79 844 q 27 869 45 860 q -4 884 9 878 q -23 892 -12 887 q -44 903 -34 897 q -61 913 -54 908 q -68 924 -68 919 q -62 939 -68 930 q -43 961 -56 948 l 60 1076 q 135 1160 98 1119 q 208 1243 172 1200 q 227 1254 218 1253 q 243 1255 236 1255 l 347 1255 q 363 1253 355 1255 q 376 1242 371 1252 q 385 1229 377 1241 q 405 1199 393 1217 q 430 1162 416 1182 q 454 1127 443 1143 z " + }, + "ï": { + "ha": 414, + "x_min": -87, + "x_max": 600, + "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m -87 833 q -84 889 -85 871 q -83 913 -83 906 q -83 924 -83 921 q -82 936 -83 926 q -81 966 -82 945 q -78 1031 -80 987 q -73 1060 -77 1052 q -60 1069 -70 1067 q 53 1069 -7 1069 q 163 1070 112 1070 q 172 1066 170 1070 q 175 1053 175 1063 l 158 864 q 153 837 156 844 q 140 827 151 829 q 34 826 89 827 q -80 826 -20 826 q -85 827 -83 826 q -87 831 -87 827 l -87 833 m 338 831 q 341 895 340 874 q 342 924 342 916 q 342 936 342 933 q 342 946 342 939 q 343 972 342 954 q 347 1031 345 991 q 351 1058 349 1050 q 364 1067 354 1066 q 477 1068 418 1067 q 587 1069 536 1068 q 596 1066 592 1069 q 600 1055 600 1063 l 583 863 q 578 836 581 843 q 564 827 576 828 q 457 825 512 826 q 341 825 401 825 q 338 825 339 825 q 338 829 338 825 l 338 831 z " + }, + "ð": { + "ha": 899, + "x_min": 72, + "x_max": 888, + "o": "m 373 747 q 362 745 367 745 q 337 755 352 745 q 308 779 322 766 q 283 804 294 792 q 273 821 273 817 q 332 853 273 832 l 399 873 q 381 902 391 886 q 360 933 370 918 q 343 960 351 948 q 336 976 336 972 q 353 991 336 986 q 384 1001 370 996 q 411 1012 398 1006 q 438 1026 425 1018 q 468 1043 452 1034 q 477 1046 473 1046 q 486 1044 482 1046 q 491 1040 489 1042 q 537 987 513 1014 q 585 931 561 960 l 681 961 q 699 965 693 965 q 708 963 705 965 q 715 957 712 960 l 741 922 q 767 884 759 897 q 777 867 776 871 q 772 858 777 862 q 765 854 767 854 l 674 824 q 755 712 717 770 q 824 593 794 654 q 871 467 853 532 q 888 336 888 403 q 877 245 888 290 q 843 159 866 200 q 786 82 821 117 q 703 21 751 47 q 595 -20 656 -5 q 461 -35 535 -35 q 296 -1 368 -35 q 174 87 224 33 q 98 210 124 142 q 72 347 72 278 q 91 474 72 412 q 149 585 110 536 q 249 662 189 633 q 391 692 309 692 q 455 684 430 692 q 492 667 479 676 q 474 715 484 690 q 453 766 465 740 l 373 747 m 356 336 q 367 271 358 305 q 393 208 376 237 q 436 161 410 180 q 500 142 463 142 q 542 156 526 142 q 567 191 558 170 q 579 238 576 212 q 582 288 582 264 q 580 348 582 323 q 573 395 578 373 q 559 442 568 418 q 537 500 550 466 q 511 508 521 506 q 488 511 501 511 q 427 498 452 511 q 386 465 401 486 q 362 416 370 444 q 355 357 355 388 q 355 347 355 352 q 356 336 355 341 z " + }, + "ñ": { + "ha": 897, + "x_min": 73, + "x_max": 876, + "o": "m 644 -24 q 625 -31 637 -26 q 601 -35 612 -35 q 584 -31 591 -35 q 577 -14 577 -26 l 577 -10 q 584 52 581 26 q 589 98 587 77 q 593 139 591 119 q 597 188 595 160 q 604 253 600 215 q 613 347 608 290 q 619 417 616 381 q 622 484 622 453 q 619 521 622 504 q 608 551 616 538 q 587 570 600 564 q 552 577 573 577 q 509 570 536 577 q 454 548 481 564 q 406 507 427 532 q 382 444 385 481 q 375 358 378 394 q 369 298 372 323 q 365 258 366 273 q 362 231 363 242 q 360 216 361 229 q 357 187 359 204 q 354 151 355 170 q 350 115 352 132 q 348 86 349 98 q 347 71 347 74 q 347 62 347 66 q 347 55 347 58 q 342 46 347 50 q 319 37 337 42 l 140 -24 q 120 -31 132 -27 q 96 -35 108 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 134 679 q 139 710 136 701 q 155 721 142 718 q 281 746 216 733 q 408 778 347 758 q 415 776 414 778 q 416 771 416 774 q 415 767 416 770 q 413 755 415 764 q 409 726 412 745 q 400 672 406 707 q 488 716 447 699 q 565 742 529 732 q 633 754 602 751 q 693 757 665 757 q 832 699 789 757 q 876 525 876 641 q 875 491 876 509 q 872 456 874 474 l 841 164 q 837 112 838 136 q 836 56 836 87 q 837 46 836 50 q 837 40 837 43 q 832 31 837 34 q 809 22 827 27 l 644 -24 m 547 1071 q 571 1046 560 1053 q 597 1038 583 1038 q 628 1049 618 1038 q 641 1075 637 1061 q 646 1100 644 1088 q 654 1111 648 1111 q 666 1111 656 1111 q 690 1112 675 1112 q 721 1114 704 1113 q 753 1115 738 1114 q 779 1117 768 1116 q 793 1117 790 1117 q 804 1114 798 1117 q 810 1104 810 1112 q 793 1005 810 1055 q 744 915 776 956 q 669 849 713 874 q 571 823 625 823 q 528 827 549 823 q 485 843 507 831 q 442 874 464 854 q 398 926 420 894 q 374 947 387 943 q 344 951 361 951 q 317 945 328 951 q 301 927 307 938 q 293 903 295 916 q 290 877 290 890 q 285 866 290 871 q 271 861 279 861 q 236 861 249 861 q 211 860 222 861 q 188 860 200 860 q 155 859 175 859 q 141 862 147 859 q 134 871 134 865 q 153 987 134 935 q 202 1077 171 1040 q 276 1135 234 1114 q 366 1156 318 1156 q 417 1154 393 1156 q 462 1143 440 1152 q 505 1118 484 1135 q 547 1071 526 1101 z " + }, + "ò": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 416 968 q 389 1015 400 996 q 369 1051 378 1034 q 349 1087 359 1068 q 323 1135 338 1107 q 318 1149 319 1143 q 316 1162 317 1156 q 319 1174 316 1169 q 330 1181 323 1178 q 382 1210 355 1196 q 437 1240 410 1225 q 493 1272 465 1255 q 545 1305 520 1288 q 555 1309 552 1309 q 560 1303 559 1309 l 636 907 q 639 892 637 898 q 640 881 640 886 q 638 869 640 875 q 629 861 636 864 q 603 849 615 854 q 579 838 591 844 q 554 825 567 832 q 524 808 541 819 q 517 806 522 806 q 503 815 511 806 q 485 843 496 824 q 457 893 473 863 q 416 968 440 924 z " + }, + "ó": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 508 944 q 458 876 478 903 q 425 833 438 849 q 405 812 412 818 q 393 806 397 806 q 386 808 389 806 q 360 825 372 818 q 338 838 349 832 q 318 849 328 844 q 294 861 307 854 q 285 875 285 866 q 287 888 286 880 q 293 907 289 895 l 418 1271 q 425 1284 422 1280 q 433 1287 429 1287 q 439 1285 436 1287 q 446 1282 443 1284 q 552 1220 499 1246 q 656 1168 604 1195 q 668 1149 668 1160 q 656 1122 668 1139 q 613 1071 630 1091 q 580 1033 595 1051 q 549 994 565 1015 q 508 944 532 974 z " + }, + "ô": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 672 1127 q 697 1095 687 1109 q 716 1069 708 1080 q 731 1047 724 1057 q 746 1024 738 1036 q 759 1006 750 1018 q 778 980 768 994 q 794 952 787 966 q 801 930 801 939 q 788 911 801 920 q 756 892 774 901 q 719 876 738 884 q 690 865 701 869 q 669 856 680 861 q 647 844 658 850 q 626 835 635 839 q 612 831 617 831 q 601 837 607 831 q 587 858 595 843 l 499 1044 q 417 941 458 991 q 334 838 376 890 q 326 833 332 833 q 310 839 322 833 q 280 852 297 844 q 245 869 263 860 q 214 884 228 878 q 196 892 207 887 q 174 903 184 897 q 157 913 164 908 q 150 924 150 919 q 156 939 150 930 q 176 961 162 948 l 278 1076 q 353 1160 317 1119 q 427 1243 390 1200 q 445 1254 436 1253 q 462 1255 454 1255 l 565 1255 q 581 1253 573 1255 q 595 1242 589 1252 q 604 1229 595 1241 q 623 1199 612 1217 q 648 1162 635 1182 q 672 1127 661 1143 z " + }, + "õ": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 553 1071 q 577 1046 566 1053 q 603 1038 588 1038 q 633 1049 624 1038 q 646 1075 642 1061 q 652 1100 650 1088 q 660 1111 654 1111 q 671 1111 661 1111 q 695 1112 681 1112 q 726 1114 709 1113 q 758 1115 743 1114 q 784 1117 773 1116 q 798 1117 795 1117 q 810 1114 804 1117 q 816 1104 816 1112 q 799 1005 816 1055 q 750 915 781 956 q 674 849 718 874 q 576 823 630 823 q 533 827 555 823 q 491 843 512 831 q 448 874 469 854 q 404 926 426 894 q 379 947 392 943 q 349 951 367 951 q 323 945 333 951 q 307 927 313 938 q 298 903 300 916 q 296 877 296 890 q 290 866 296 871 q 276 861 285 861 q 241 861 254 861 q 217 860 228 861 q 193 860 205 860 q 160 859 180 859 q 146 862 153 859 q 140 871 140 865 q 158 987 140 935 q 208 1077 176 1040 q 281 1135 239 1114 q 372 1156 323 1156 q 422 1154 399 1156 q 468 1143 446 1152 q 510 1118 490 1135 q 553 1071 531 1101 z " + }, + "ö": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 134 833 q 137 889 136 871 q 138 913 138 906 q 138 924 138 921 q 139 936 138 926 q 140 966 139 945 q 143 1031 141 987 q 148 1060 144 1052 q 161 1069 151 1067 q 274 1069 214 1069 q 384 1070 333 1070 q 393 1066 391 1070 q 396 1053 396 1063 l 379 864 q 374 837 377 844 q 361 827 372 829 q 255 826 310 827 q 141 826 201 826 q 136 827 138 826 q 134 831 134 827 l 134 833 m 559 831 q 562 895 561 874 q 563 924 563 916 q 563 936 564 933 q 563 946 563 939 q 565 972 564 954 q 568 1031 566 991 q 572 1058 570 1050 q 585 1067 575 1066 q 698 1068 639 1067 q 808 1069 757 1068 q 817 1066 813 1069 q 821 1055 821 1063 l 804 863 q 799 836 802 843 q 785 827 797 828 q 678 825 733 826 q 562 825 623 825 q 559 825 560 825 q 559 829 559 825 l 559 831 z " + }, + "÷": { + "ha": 924, + "x_min": 65, + "x_max": 928, + "o": "m 384 635 q 386 686 385 667 q 387 715 387 705 q 387 729 387 725 q 387 737 387 733 q 388 746 387 741 q 389 764 388 751 q 391 799 389 777 q 394 857 392 821 q 398 888 395 880 q 414 899 401 897 q 538 899 473 899 q 661 900 604 899 q 671 897 667 900 q 675 884 675 893 l 656 671 q 651 640 654 648 q 636 630 649 631 q 518 629 578 629 q 391 628 457 628 q 386 629 387 628 q 384 633 384 629 l 384 635 m 370 -26 q 372 25 372 6 q 373 54 373 43 q 374 68 374 64 q 374 76 374 72 q 374 85 374 79 q 375 103 374 90 q 377 137 376 115 q 380 196 378 159 q 385 227 382 218 q 400 237 388 235 q 525 238 460 237 q 648 239 590 238 q 658 235 654 239 q 662 222 662 232 l 643 9 q 638 -21 640 -13 q 623 -31 635 -30 q 504 -33 565 -32 q 378 -33 444 -33 q 372 -33 374 -33 q 370 -28 370 -32 l 370 -26 m 391 553 q 568 555 484 554 q 720 558 652 557 q 836 559 788 559 q 904 560 884 560 q 908 560 905 560 q 917 556 912 559 q 925 547 921 553 q 928 528 928 541 q 923 502 927 519 q 915 464 920 486 q 906 417 911 442 q 896 366 901 392 q 889 349 894 355 q 864 343 884 343 q 722 341 793 342 q 582 340 650 340 q 449 338 513 339 q 329 337 385 338 q 228 337 273 337 q 150 336 182 336 q 87 340 109 336 q 65 357 65 345 q 71 379 65 363 q 85 415 76 395 q 106 459 94 436 q 130 500 117 481 q 153 532 142 519 q 174 544 165 544 l 391 553 z " + }, + "ø": { + "ha": 888, + "x_min": 68, + "x_max": 886, + "o": "m 394 -39 q 379 -38 387 -39 q 365 -37 372 -38 l 318 -128 q 310 -147 313 -138 q 300 -156 307 -155 q 284 -150 294 -156 l 228 -115 q 215 -109 224 -113 q 197 -99 206 -104 q 182 -86 189 -93 q 175 -71 175 -79 q 179 -57 175 -64 l 217 15 q 153 76 180 41 q 106 153 125 111 q 78 242 87 195 q 68 338 68 290 q 105 507 68 431 q 204 637 142 583 q 349 721 267 691 q 524 750 432 750 q 592 744 559 750 l 629 817 q 644 842 638 835 q 655 850 649 849 q 661 849 659 850 q 690 830 675 840 q 720 811 705 821 q 749 794 734 802 q 779 781 764 786 q 784 778 782 780 q 787 773 787 777 q 786 771 787 772 q 786 770 786 771 l 741 683 q 801 627 774 659 q 847 558 828 595 q 876 479 866 522 q 886 392 886 437 q 868 267 886 325 q 818 160 850 208 q 741 76 785 113 q 641 13 696 39 q 524 -25 586 -12 q 394 -39 461 -39 m 330 346 q 332 300 330 323 q 342 256 335 278 q 381 333 360 293 q 424 413 402 373 q 466 493 445 454 q 505 569 487 533 q 474 572 488 572 q 406 548 433 572 q 361 489 378 524 q 337 415 345 454 q 330 346 330 376 m 635 386 q 624 459 635 422 l 460 144 q 467 143 463 143 q 473 143 470 143 q 532 155 507 143 q 575 186 557 167 q 604 231 593 206 q 623 283 616 256 q 633 337 630 311 q 635 386 635 363 z " + }, + "ù": { + "ha": 868, + "x_min": 79, + "x_max": 862, + "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 406 968 q 379 1015 390 996 q 359 1051 368 1034 q 338 1087 349 1068 q 313 1135 328 1107 q 308 1149 309 1143 q 306 1162 307 1156 q 309 1174 306 1169 q 319 1181 313 1178 q 372 1210 345 1196 q 427 1240 399 1225 q 483 1272 455 1255 q 535 1305 510 1288 q 545 1309 542 1309 q 550 1303 549 1309 l 626 907 q 629 892 627 898 q 630 881 630 886 q 628 869 630 875 q 619 861 626 864 q 593 849 605 854 q 569 838 581 844 q 544 825 557 832 q 514 808 530 819 q 507 806 511 806 q 493 815 500 806 q 474 843 486 824 q 447 893 463 863 q 406 968 430 924 z " + }, + "ú": { + "ha": 868, + "x_min": 79, + "x_max": 862, + "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 498 944 q 448 876 468 903 q 415 833 428 849 q 395 812 402 818 q 382 806 387 806 q 376 808 378 806 q 350 825 361 818 q 328 838 338 832 q 308 849 318 844 q 284 861 297 854 q 275 875 275 866 q 277 888 275 880 q 283 907 279 895 l 408 1271 q 415 1284 412 1280 q 422 1287 418 1287 q 429 1285 426 1287 q 436 1282 433 1284 q 542 1220 489 1246 q 646 1168 594 1195 q 658 1149 658 1160 q 646 1122 658 1139 q 603 1071 620 1091 q 570 1033 585 1051 q 538 994 555 1015 q 498 944 522 974 z " + }, + "û": { + "ha": 868, + "x_min": 79, + "x_max": 862, + "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 664 1127 q 689 1095 679 1109 q 708 1069 700 1080 q 723 1047 716 1057 q 738 1024 730 1036 q 751 1006 742 1018 q 769 980 760 994 q 786 952 779 966 q 793 930 793 939 q 780 911 793 920 q 748 892 766 901 q 711 876 730 884 q 682 865 692 869 q 661 856 672 861 q 638 844 650 850 q 618 835 627 839 q 604 831 609 831 q 593 837 599 831 q 578 858 587 843 l 491 1044 q 409 941 450 991 q 326 838 368 890 q 317 833 323 833 q 301 839 314 833 q 272 852 289 844 q 237 869 255 860 q 206 884 220 878 q 188 892 199 887 q 166 903 176 897 q 149 913 156 908 q 142 924 142 919 q 148 939 142 930 q 168 961 154 948 l 270 1076 q 345 1160 309 1119 q 418 1243 382 1200 q 437 1254 428 1253 q 454 1255 446 1255 l 557 1255 q 573 1253 565 1255 q 587 1242 581 1252 q 595 1229 587 1241 q 615 1199 604 1217 q 640 1162 627 1182 q 664 1127 653 1143 z " + }, + "ü": { + "ha": 868, + "x_min": 79, + "x_max": 862, + "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 124 833 q 127 889 126 871 q 128 913 127 906 q 128 924 128 921 q 129 936 128 926 q 130 966 129 945 q 133 1031 131 987 q 138 1060 134 1052 q 151 1069 141 1067 q 263 1069 204 1069 q 374 1070 323 1070 q 383 1066 380 1070 q 386 1053 386 1063 l 369 864 q 364 837 367 844 q 351 827 361 829 q 245 826 300 827 q 131 826 191 826 q 126 827 127 826 q 124 831 124 827 l 124 833 m 549 831 q 552 895 551 874 q 553 924 553 916 q 553 936 553 933 q 553 946 553 939 q 554 972 553 954 q 558 1031 555 991 q 562 1058 559 1050 q 575 1067 565 1066 q 688 1068 629 1067 q 798 1069 747 1068 q 807 1066 803 1069 q 810 1055 810 1063 l 794 863 q 789 836 791 843 q 775 827 787 828 q 668 825 723 826 q 552 825 612 825 q 549 825 550 825 q 549 829 549 825 l 549 831 z " + }, + "ý": { + "ha": 763, + "x_min": 77, + "x_max": 807, + "o": "m 370 -309 q 367 -314 369 -312 q 361 -315 366 -315 q 355 -315 357 -315 q 309 -300 331 -306 q 266 -289 288 -294 q 222 -279 245 -283 q 175 -269 200 -275 q 164 -265 168 -268 q 161 -254 161 -262 q 163 -244 161 -252 q 175 -213 165 -237 q 204 -143 184 -189 q 258 -20 224 -97 q 235 62 248 14 q 208 165 222 109 q 178 284 193 222 q 146 411 162 347 q 114 538 130 475 q 83 658 98 601 q 78 676 79 669 q 77 688 77 683 q 88 700 77 697 q 198 724 141 711 q 306 756 255 736 q 312 757 308 757 q 321 750 321 757 l 404 294 q 415 324 407 302 q 433 375 422 345 q 456 441 444 405 q 483 514 469 477 q 510 588 496 551 q 534 657 523 625 q 554 713 546 689 q 568 750 563 738 q 578 757 570 757 q 581 756 580 757 q 583 756 581 756 q 688 724 634 736 q 794 700 741 711 q 807 685 807 697 q 799 658 807 676 l 519 26 l 370 -309 m 460 944 q 411 876 431 903 q 378 833 391 849 q 357 812 365 818 q 345 806 350 806 q 338 808 341 806 q 313 825 324 818 q 291 838 301 832 q 270 849 281 844 q 247 861 260 854 q 237 875 237 866 q 240 888 238 880 q 245 907 241 895 l 371 1271 q 378 1284 374 1280 q 385 1287 381 1287 q 392 1285 389 1287 q 399 1282 395 1284 q 504 1220 452 1246 q 608 1168 557 1195 q 621 1149 621 1160 q 609 1122 621 1139 q 565 1071 583 1091 q 533 1033 548 1051 q 501 994 517 1015 q 460 944 485 974 z " + }, + "þ": { + "ha": 902, + "x_min": 53, + "x_max": 898, + "o": "m 388 471 q 381 365 384 406 q 376 299 378 324 q 372 259 374 273 q 370 231 371 244 q 416 165 386 191 q 490 140 447 140 q 555 163 527 140 q 602 224 583 186 q 630 307 621 261 q 640 399 640 353 q 633 468 640 436 q 614 523 627 500 q 582 560 601 547 q 536 573 562 573 q 493 565 514 573 q 452 543 471 556 q 416 513 432 530 q 390 481 400 496 l 388 471 m 406 665 q 523 727 463 703 q 651 751 583 751 q 761 725 715 751 q 838 656 808 699 q 883 555 869 612 q 898 435 898 498 q 887 323 898 380 q 855 215 876 267 q 803 116 834 162 q 731 36 772 70 q 642 -18 691 1 q 534 -38 592 -38 q 437 -18 484 -38 q 350 35 391 3 q 348 11 350 32 q 344 -41 347 -11 q 338 -107 341 -72 q 332 -172 334 -142 q 327 -224 329 -203 q 326 -249 326 -245 q 326 -258 326 -254 q 326 -265 326 -262 q 321 -274 326 -271 q 298 -283 316 -278 l 120 -328 q 100 -335 113 -330 q 77 -339 88 -339 q 60 -334 67 -339 q 53 -318 53 -330 l 134 658 q 136 679 134 661 q 140 722 138 696 q 145 775 142 747 q 151 829 149 804 q 155 871 153 854 q 157 892 157 889 q 156 902 157 898 q 155 908 155 905 q 160 918 155 914 q 184 926 165 922 l 362 972 q 382 978 370 974 q 406 983 394 982 q 422 978 415 983 q 429 962 429 973 l 429 958 l 406 665 z " + }, + "ÿ": { + "ha": 763, + "x_min": 77, + "x_max": 807, + "o": "m 370 -309 q 367 -314 369 -312 q 361 -315 366 -315 q 355 -315 357 -315 q 309 -300 331 -306 q 266 -289 288 -294 q 222 -279 245 -283 q 175 -269 200 -275 q 164 -265 168 -268 q 161 -254 161 -262 q 163 -244 161 -252 q 175 -213 165 -237 q 204 -143 184 -189 q 258 -20 224 -97 q 235 62 248 14 q 208 165 222 109 q 178 284 193 222 q 146 411 162 347 q 114 538 130 475 q 83 658 98 601 q 78 676 79 669 q 77 688 77 683 q 88 700 77 697 q 198 724 141 711 q 306 756 255 736 q 312 757 308 757 q 321 750 321 757 l 404 294 q 415 324 407 302 q 433 375 422 345 q 456 441 444 405 q 483 514 469 477 q 510 588 496 551 q 534 657 523 625 q 554 713 546 689 q 568 750 563 738 q 578 757 570 757 q 581 756 580 757 q 583 756 581 756 q 688 724 634 736 q 794 700 741 711 q 807 685 807 697 q 799 658 807 676 l 519 26 l 370 -309 m 87 833 q 90 889 89 871 q 91 913 90 906 q 91 924 91 921 q 91 936 91 926 q 93 966 92 945 q 96 1031 94 987 q 100 1060 97 1052 q 114 1069 104 1067 q 226 1069 167 1069 q 336 1070 286 1070 q 346 1066 343 1070 q 349 1053 349 1063 l 332 864 q 327 837 330 844 q 314 827 324 829 q 208 826 262 827 q 94 826 153 826 q 89 827 90 826 q 87 831 87 827 l 87 833 m 511 831 q 514 895 513 874 q 516 924 515 916 q 516 936 516 933 q 516 946 515 939 q 517 972 516 954 q 521 1031 518 991 q 525 1058 522 1050 q 538 1067 528 1066 q 650 1068 591 1067 q 760 1069 709 1068 q 769 1066 766 1069 q 773 1055 773 1063 l 757 863 q 752 836 754 843 q 738 827 749 828 q 630 825 686 826 q 515 825 575 825 q 512 825 513 825 q 511 829 511 825 l 511 831 z " + }, + "Ğ": { + "ha": 992, + "x_min": 85, + "x_max": 1027, + "o": "m 85 438 q 103 588 85 516 q 154 721 121 659 q 234 834 187 783 q 340 921 281 884 q 466 977 398 957 q 610 996 534 996 q 714 988 669 996 q 793 969 760 981 q 849 943 827 957 q 887 916 872 928 q 886 911 886 916 q 888 873 886 901 q 892 813 890 846 q 896 746 895 780 q 898 686 898 711 q 895 677 898 682 q 882 672 892 672 q 867 674 876 672 q 831 693 852 678 q 780 723 809 707 q 716 752 751 739 q 638 764 680 764 q 537 741 583 764 q 460 676 492 718 q 410 577 428 634 q 393 452 393 519 q 404 342 393 393 q 436 253 414 290 q 491 193 458 215 q 568 172 524 172 q 665 190 610 172 l 680 286 l 551 286 q 576 414 566 368 q 597 485 587 461 q 616 515 606 509 q 640 521 627 521 l 997 521 q 1020 519 1013 521 q 1027 505 1027 517 q 1025 490 1027 498 q 1022 469 1024 481 l 988 355 q 978 322 982 334 q 968 304 974 310 q 951 297 962 298 q 921 296 941 296 q 908 288 910 296 q 905 269 906 279 q 897 210 901 239 q 889 155 892 180 q 881 110 885 130 q 873 82 877 91 q 789 31 827 53 q 714 -6 751 9 q 635 -28 677 -20 q 541 -35 594 -35 q 361 -1 445 -35 q 217 97 278 34 q 120 246 155 159 q 85 438 85 333 m 633 1203 q 635 1211 633 1207 q 644 1216 637 1214 q 662 1220 650 1219 q 694 1221 674 1221 q 726 1220 714 1221 q 745 1217 739 1219 q 753 1212 751 1215 q 755 1204 755 1209 q 740 1140 755 1172 q 696 1083 724 1108 q 630 1043 668 1059 q 548 1027 592 1027 q 479 1036 512 1027 q 422 1060 447 1044 q 384 1098 398 1076 q 369 1151 369 1121 q 370 1164 369 1157 q 372 1180 371 1171 q 376 1197 374 1190 q 385 1209 378 1204 q 405 1216 391 1213 q 444 1218 418 1218 q 469 1217 460 1218 q 483 1214 478 1216 q 490 1210 488 1213 q 491 1204 491 1207 q 490 1198 491 1203 q 490 1187 490 1193 q 492 1168 490 1178 q 502 1151 495 1159 q 522 1138 509 1143 q 552 1133 534 1133 q 588 1139 572 1133 q 613 1154 603 1145 q 628 1174 623 1163 q 633 1194 633 1184 l 633 1203 l 633 1203 z " + }, + "ğ": { + "ha": 878, + "x_min": 69, + "x_max": 871, + "o": "m 576 484 q 557 515 569 499 q 530 545 545 532 q 496 567 514 559 q 457 576 477 576 q 405 553 429 576 q 362 491 380 530 q 333 404 344 453 q 323 302 323 355 q 329 240 323 269 q 347 190 334 212 q 378 155 359 168 q 425 142 397 142 q 499 168 465 142 q 557 234 533 193 q 559 268 557 248 q 562 316 560 288 q 567 382 564 344 q 575 473 570 420 l 576 484 m 800 74 q 770 -52 793 7 q 710 -158 746 -110 q 627 -245 673 -207 q 529 -310 581 -283 q 422 -350 477 -336 q 313 -364 367 -364 q 255 -362 285 -364 q 197 -354 225 -360 q 142 -338 168 -349 q 96 -311 117 -328 l 96 -311 q 101 -287 96 -307 q 114 -239 106 -267 q 129 -182 121 -212 q 142 -132 136 -153 q 147 -119 144 -123 q 153 -116 150 -116 q 158 -117 157 -116 q 195 -138 178 -130 q 232 -152 212 -146 q 274 -159 251 -157 q 328 -161 297 -161 q 412 -142 375 -161 q 475 -95 448 -124 q 517 -31 501 -66 q 539 38 533 4 q 440 -15 490 5 q 339 -35 390 -35 q 218 -7 269 -35 q 134 68 168 21 q 85 177 101 116 q 69 306 69 239 q 79 413 69 359 q 108 517 89 467 q 156 611 127 567 q 222 687 184 654 q 304 738 259 720 q 404 757 350 757 q 512 731 462 757 q 602 667 562 705 q 604 687 604 680 q 608 698 605 694 q 617 704 610 702 q 635 709 623 706 q 663 714 643 710 q 709 725 682 719 q 769 738 736 731 q 835 752 802 745 q 850 754 843 754 q 871 727 871 754 q 871 721 871 724 q 870 714 871 718 l 800 74 m 534 991 q 536 998 534 995 q 545 1004 538 1002 q 563 1008 551 1006 q 595 1009 575 1009 q 627 1008 615 1009 q 646 1005 640 1007 q 654 1000 652 1003 q 656 992 656 997 q 641 928 656 960 q 597 871 625 896 q 531 831 569 846 q 449 815 493 815 q 380 823 413 815 q 323 847 348 831 q 284 886 299 863 q 270 939 270 909 q 271 952 270 945 q 273 968 272 959 q 277 985 275 978 q 286 997 279 992 q 306 1003 292 1001 q 345 1006 319 1006 q 370 1005 361 1006 q 384 1002 379 1004 q 391 998 389 1000 q 392 992 392 995 q 391 986 392 991 q 391 975 391 981 q 393 956 391 966 q 403 939 396 947 q 422 926 410 931 q 453 921 435 921 q 489 927 473 921 q 514 942 504 932 q 529 961 524 951 q 534 982 534 972 l 534 991 l 534 991 z " + }, + "İ": { + "ha": 453, + "x_min": 94, + "x_max": 450, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 123 1162 q 125 1212 124 1194 q 126 1241 125 1231 q 126 1255 126 1251 q 126 1263 126 1259 q 126 1272 126 1267 q 127 1290 127 1278 q 130 1325 128 1303 q 133 1383 131 1347 q 137 1414 134 1406 q 153 1425 140 1423 q 277 1425 212 1425 q 400 1426 342 1426 q 410 1423 406 1426 q 414 1410 414 1419 l 395 1197 q 390 1166 393 1175 q 375 1156 388 1158 q 257 1155 317 1156 q 130 1154 196 1154 q 124 1155 126 1154 q 123 1159 123 1156 l 123 1162 z " + }, + "ı": { + "ha": 414, + "x_min": 73, + "x_max": 408, + "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 z " + }, + "Ł": { + "ha": 694, + "x_min": 57, + "x_max": 719, + "o": "m 454 972 q 452 931 454 956 q 447 881 450 907 q 442 826 445 854 q 436 776 439 799 q 433 736 434 753 q 431 715 431 720 q 426 637 429 673 q 419 566 422 601 q 412 493 416 530 q 404 410 408 455 q 395 309 400 364 q 385 181 390 253 l 665 210 q 696 212 684 212 q 715 207 711 212 q 719 192 719 202 q 718 188 719 191 q 715 179 718 186 q 708 159 713 172 q 696 123 704 146 l 682 79 q 668 40 674 57 q 652 10 661 22 q 628 -10 642 -3 q 591 -20 614 -18 q 553 -22 577 -21 q 496 -24 528 -23 q 428 -26 465 -25 q 352 -30 391 -28 q 275 -32 314 -31 q 202 -33 237 -32 q 138 -34 168 -33 q 90 -35 109 -35 q 65 -33 73 -35 q 57 -24 57 -30 q 62 -2 57 -16 q 74 29 66 12 q 91 65 81 46 q 109 101 100 83 l 127 343 q 138 469 132 405 q 147 592 143 532 l 159 772 q 164 864 163 836 q 165 896 165 893 q 168 916 167 908 q 170 930 168 924 q 175 938 172 935 q 185 942 178 941 l 423 998 q 441 1001 431 1001 q 452 997 449 1001 q 455 980 455 992 q 455 976 455 979 q 454 972 454 974 m 454 573 q 521 575 488 574 q 581 577 554 576 q 628 579 608 578 q 656 581 648 581 q 669 576 662 581 q 675 561 675 572 q 669 538 675 555 q 652 499 663 522 q 629 447 642 475 q 603 387 616 418 q 598 376 600 380 q 592 369 595 372 q 582 365 588 366 q 566 363 576 363 q 444 361 505 362 q 329 359 382 360 q 231 357 275 358 q 162 357 188 357 q 101 360 121 357 q 81 376 81 364 q 90 394 81 379 q 112 430 98 410 q 143 474 125 451 q 177 517 160 498 q 210 550 194 537 q 235 564 225 564 l 454 573 z " + }, + "ł": { + "ha": 585, + "x_min": 37, + "x_max": 631, + "o": "m 203 574 q 217 758 212 667 q 228 944 222 848 q 232 975 229 966 q 248 986 235 983 q 374 1009 311 998 q 501 1041 437 1021 q 507 1042 503 1042 q 515 1035 515 1042 l 427 66 l 427 55 q 422 45 427 49 q 399 37 417 41 l 222 -28 q 202 -36 214 -32 q 178 -39 190 -39 q 162 -35 169 -39 q 155 -18 155 -30 l 155 -14 q 165 120 160 54 q 176 255 170 185 q 189 403 182 325 q 203 574 195 481 m 410 573 q 477 575 444 574 q 537 577 510 576 q 584 579 564 578 q 612 581 604 581 q 625 576 618 581 q 631 561 631 572 q 625 538 631 555 q 608 499 618 522 q 585 447 598 475 q 559 387 572 418 q 554 376 556 380 q 548 369 551 372 q 538 365 544 366 q 522 363 532 363 q 399 361 460 362 q 284 359 338 360 q 187 357 231 358 q 118 357 144 357 q 57 360 77 357 q 37 376 37 364 q 46 394 37 379 q 68 430 54 410 q 99 474 81 451 q 133 517 116 498 q 165 550 150 537 q 191 564 181 564 l 410 573 z " + }, + "Œ": { + "ha": 1391, + "x_min": 86, + "x_max": 1438, + "o": "m 517 -35 q 336 5 416 -35 q 201 111 256 44 q 116 266 145 178 q 86 451 86 354 q 105 601 86 530 q 160 730 125 671 q 243 836 195 789 q 351 915 292 883 q 477 965 410 947 q 616 982 545 982 q 737 962 682 982 q 840 907 793 942 l 842 946 q 980 956 914 951 q 1106 964 1046 960 l 1419 983 q 1422 983 1419 983 q 1429 981 1426 983 q 1435 975 1432 979 q 1438 964 1438 971 q 1429 929 1438 960 q 1402 852 1419 898 l 1372 774 q 1361 756 1367 762 q 1335 749 1355 750 q 1239 745 1293 748 q 1116 739 1186 742 l 1097 573 q 1165 576 1132 574 q 1225 578 1198 577 q 1272 580 1252 579 q 1300 581 1292 581 q 1312 576 1305 581 q 1319 561 1319 572 q 1313 539 1319 555 q 1296 499 1306 523 q 1273 447 1286 476 q 1246 387 1260 418 q 1239 373 1242 377 q 1228 366 1236 368 q 1207 364 1221 364 q 1171 363 1194 363 l 1076 361 l 1058 169 l 1379 169 l 1379 141 q 1368 122 1378 140 q 1343 82 1358 105 q 1315 36 1329 60 q 1290 -1 1300 13 q 1274 -21 1283 -14 q 1255 -31 1265 -28 q 1232 -35 1244 -35 q 1204 -36 1219 -36 q 1095 -33 1152 -36 q 982 -26 1038 -31 q 873 -17 926 -22 q 775 -6 821 -12 q 767 -1 770 -5 q 763 10 763 4 q 764 16 763 11 l 772 56 q 651 -12 715 11 q 517 -35 587 -35 m 385 463 q 396 359 385 411 q 433 267 408 308 q 500 199 458 225 q 602 174 541 174 q 677 193 645 177 q 734 235 710 210 q 773 294 758 261 q 799 363 789 327 q 811 438 808 400 q 815 513 815 476 q 802 614 815 565 q 763 700 789 663 q 696 761 736 738 q 603 783 656 783 q 529 768 562 783 q 473 726 497 752 q 432 667 449 701 q 405 598 415 634 q 390 527 395 562 q 385 463 385 492 z " + }, + "œ": { + "ha": 1354, + "x_min": 69, + "x_max": 1358, + "o": "m 395 -39 q 254 -7 315 -39 q 152 77 193 24 q 90 198 111 130 q 69 338 69 266 q 105 507 69 431 q 201 637 140 583 q 341 721 261 691 q 511 750 422 750 q 648 720 585 750 q 758 636 710 689 q 889 730 815 696 q 1050 765 963 765 q 1167 742 1112 765 q 1265 679 1223 720 q 1333 581 1308 637 q 1358 457 1358 524 q 1344 358 1358 408 q 1335 325 1344 338 q 1304 305 1326 312 q 1247 295 1283 298 q 1159 292 1212 292 q 1023 288 1092 290 q 886 281 954 286 q 903 213 888 241 q 939 166 917 184 q 988 138 960 147 q 1044 130 1015 130 q 1109 137 1078 130 q 1169 155 1140 144 q 1224 181 1198 167 q 1274 208 1251 195 q 1276 209 1275 208 q 1277 209 1276 209 q 1284 195 1282 209 q 1288 161 1287 181 q 1290 120 1289 142 q 1290 82 1290 98 q 1289 46 1290 61 q 1284 27 1287 31 q 1234 -7 1265 9 q 1168 -36 1204 -24 q 1095 -55 1133 -47 q 1023 -62 1057 -62 q 930 -52 973 -62 q 851 -24 888 -43 q 782 20 814 -6 q 721 81 749 47 q 658 30 689 52 q 590 -8 627 7 q 506 -31 553 -23 q 395 -39 458 -39 m 330 346 q 338 273 330 309 q 364 208 346 237 q 411 161 382 179 q 484 143 440 143 q 533 157 512 144 q 570 190 555 170 q 596 235 586 210 q 612 287 606 260 q 620 339 618 313 q 623 386 623 365 q 613 455 623 421 q 585 515 604 489 q 538 556 566 541 q 475 572 511 572 q 406 548 434 572 q 362 489 378 524 q 338 415 345 454 q 330 346 330 376 m 1050 576 q 992 566 1019 576 q 944 536 966 555 q 907 490 923 517 q 880 430 890 463 l 1165 451 q 1165 456 1165 454 q 1166 462 1166 459 q 1155 512 1166 490 q 1127 548 1144 534 q 1090 569 1111 562 q 1050 576 1069 576 z " + }, + "Ş": { + "ha": 746, + "x_min": 106, + "x_max": 732, + "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 m 562 -262 q 539 -320 556 -294 q 498 -365 522 -346 q 445 -394 475 -383 q 385 -404 416 -404 q 325 -400 356 -404 q 269 -382 293 -396 l 271 -383 q 270 -378 270 -382 q 271 -357 270 -370 q 274 -330 272 -345 q 278 -302 275 -315 q 283 -279 280 -288 l 286 -279 q 290 -281 290 -279 l 290 -281 q 310 -289 300 -286 q 330 -294 319 -292 q 353 -296 340 -296 q 382 -297 366 -297 q 427 -280 411 -297 q 442 -241 442 -263 q 430 -208 442 -221 q 395 -195 417 -195 q 332 -192 358 -195 q 295 -189 305 -189 q 289 -186 290 -189 q 288 -180 288 -184 q 295 -159 291 -174 q 304 -126 300 -144 q 314 -89 309 -109 q 322 -53 318 -69 q 328 -25 326 -36 q 330 -12 330 -14 l 343 -12 q 373 -12 355 -12 q 409 -12 391 -12 l 452 -12 l 419 -108 q 440 -105 431 -106 q 459 -104 450 -104 q 514 -116 494 -104 q 546 -144 535 -127 q 561 -184 557 -162 q 565 -230 565 -207 q 564 -246 565 -238 q 562 -262 564 -254 z " + }, + "ş": { + "ha": 587, + "x_min": 85, + "x_max": 570, + "o": "m 86 187 q 86 188 86 188 q 85 189 85 189 q 95 198 85 198 q 106 193 101 198 q 168 151 133 168 q 243 135 203 135 q 269 137 254 135 q 296 145 283 140 q 317 160 309 151 q 326 182 326 169 q 318 210 326 197 q 298 231 311 222 q 275 247 292 235 q 238 273 258 259 q 202 298 219 286 q 178 316 184 311 q 129 363 147 339 q 102 412 111 387 q 90 465 92 437 q 87 524 87 493 q 112 614 87 572 q 178 688 137 656 q 271 738 219 720 q 378 757 323 757 q 466 743 422 757 q 547 697 509 730 q 551 613 550 654 q 555 526 553 572 q 551 514 555 517 q 542 511 547 511 q 534 515 537 511 q 502 544 518 530 q 468 570 486 559 q 429 588 450 581 q 386 595 409 595 q 357 593 372 595 q 332 584 343 591 q 313 567 320 578 q 306 539 306 556 q 311 505 306 519 q 333 477 315 491 l 459 392 q 515 346 494 368 q 549 300 536 323 q 565 256 561 278 q 570 212 570 234 q 542 105 570 151 q 469 27 513 58 q 367 -19 424 -3 q 254 -35 311 -35 q 170 -26 210 -35 q 95 2 130 -17 l 86 187 m 471 -262 q 448 -320 465 -294 q 407 -365 431 -346 q 354 -394 383 -383 q 293 -404 324 -404 q 233 -400 264 -404 q 178 -382 201 -396 l 179 -383 q 178 -378 178 -382 q 179 -357 178 -370 q 182 -330 180 -345 q 186 -302 184 -315 q 191 -279 189 -288 l 195 -279 q 199 -281 199 -279 l 198 -281 q 218 -289 209 -286 q 238 -294 228 -292 q 261 -296 249 -296 q 291 -297 274 -297 q 335 -280 319 -297 q 351 -241 351 -263 q 338 -208 351 -221 q 304 -195 326 -195 q 240 -192 267 -195 q 203 -189 214 -189 q 197 -186 198 -189 q 196 -180 196 -184 q 204 -159 199 -174 q 213 -126 208 -144 q 222 -89 218 -109 q 230 -53 227 -69 q 236 -25 234 -36 q 239 -12 239 -14 l 252 -12 q 281 -12 263 -12 q 317 -12 300 -12 l 360 -12 l 328 -108 q 349 -105 339 -106 q 368 -104 359 -104 q 423 -116 402 -104 q 455 -144 444 -127 q 470 -184 466 -162 q 473 -230 473 -207 q 473 -246 473 -238 q 471 -262 472 -254 z " + }, + "Š": { + "ha": 745, + "x_min": 92, + "x_max": 743, + "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 m 222 1194 q 186 1241 200 1223 q 161 1277 173 1260 q 137 1312 150 1293 q 104 1362 125 1331 q 95 1379 98 1371 q 92 1392 92 1386 q 114 1414 92 1401 q 166 1440 136 1427 q 226 1465 196 1453 q 273 1485 256 1476 q 280 1487 277 1487 q 290 1482 286 1487 q 301 1466 294 1477 l 400 1289 l 564 1482 q 570 1486 566 1486 q 582 1483 574 1485 q 605 1472 589 1480 q 671 1439 640 1453 q 736 1408 702 1426 q 743 1398 743 1405 q 737 1383 743 1392 q 718 1362 732 1374 q 590 1219 653 1290 q 465 1078 526 1147 q 450 1068 458 1070 q 437 1067 443 1067 l 427 1067 l 322 1067 q 310 1068 316 1067 q 300 1078 304 1070 q 291 1092 300 1079 q 271 1122 283 1104 q 246 1159 259 1139 q 222 1194 233 1179 z " + }, + "š": { + "ha": 585, + "x_min": 1, + "x_max": 652, + "o": "m 85 187 q 85 188 85 188 q 85 189 85 189 q 94 198 85 198 q 105 193 100 198 q 167 151 132 168 q 243 135 202 135 q 268 137 254 135 q 295 145 282 140 q 316 160 308 151 q 325 182 325 169 q 317 210 325 197 q 298 231 310 222 q 274 247 291 235 q 238 273 257 259 q 201 298 218 286 q 177 316 184 311 q 129 363 146 339 q 101 412 111 387 q 89 465 92 437 q 86 524 86 493 q 111 614 86 572 q 177 688 136 656 q 271 738 218 720 q 377 757 323 757 q 465 743 422 757 q 546 697 509 730 q 551 613 549 654 q 555 526 552 572 q 551 514 555 517 q 541 511 547 511 q 533 515 536 511 q 501 544 517 530 q 467 570 485 559 q 429 588 449 581 q 385 595 408 595 q 357 593 371 595 q 331 584 342 591 q 312 567 319 578 q 305 539 305 556 q 310 505 305 519 q 332 477 315 491 l 458 392 q 514 346 493 368 q 548 300 536 323 q 565 256 560 278 q 569 212 569 234 q 541 105 569 151 q 468 27 513 58 q 367 -19 423 -3 q 253 -35 310 -35 q 169 -26 210 -35 q 94 2 129 -17 l 85 187 m 132 968 q 96 1015 109 996 q 71 1050 82 1034 q 46 1086 59 1067 q 14 1135 34 1105 q 4 1152 7 1145 q 1 1165 1 1160 q 23 1187 1 1175 q 75 1213 45 1200 q 135 1238 105 1226 q 182 1258 165 1250 q 189 1260 186 1260 q 199 1255 195 1260 q 210 1239 203 1251 l 309 1063 l 473 1256 q 479 1259 475 1259 q 491 1256 483 1259 q 514 1245 498 1254 q 580 1213 549 1226 q 645 1181 611 1199 q 652 1171 652 1179 q 646 1156 652 1165 q 627 1135 641 1147 q 499 992 562 1063 q 374 851 435 921 q 359 842 367 844 q 346 840 352 840 l 336 840 l 231 840 q 219 842 225 840 q 210 851 214 844 q 200 865 209 852 q 180 895 192 878 q 155 932 168 913 q 132 968 142 952 z " + }, + "Ÿ": { + "ha": 756, + "x_min": 73, + "x_max": 861, + "o": "m 81 903 q 95 910 85 906 q 118 920 104 915 q 146 932 131 926 q 177 945 161 939 l 256 976 q 272 980 264 980 q 284 977 277 980 q 298 966 290 974 l 455 662 l 459 672 l 526 796 q 552 842 539 819 q 574 882 564 864 q 591 910 584 899 q 599 921 597 921 l 831 979 q 845 981 840 981 q 861 967 861 981 q 859 958 860 964 q 855 945 859 952 l 656 576 q 626 520 641 548 q 596 468 610 492 q 571 422 582 443 q 553 389 559 402 l 548 367 l 510 113 q 507 94 508 101 q 503 81 505 86 q 497 73 500 77 q 486 66 493 70 l 294 -35 q 271 -43 283 -40 q 248 -47 259 -47 q 229 -42 237 -47 q 220 -25 220 -37 l 220 -22 q 230 67 223 16 q 245 168 237 119 l 283 419 q 255 480 273 442 q 217 562 237 518 q 175 653 197 606 q 133 742 153 700 q 99 815 114 783 q 76 862 83 847 q 73 883 73 872 q 74 895 73 889 q 81 903 76 901 m 102 1059 q 105 1115 104 1098 q 106 1140 106 1133 q 106 1150 106 1147 q 107 1162 106 1153 q 108 1193 107 1172 q 111 1258 109 1214 q 116 1286 113 1278 q 130 1295 119 1294 q 242 1296 182 1295 q 352 1297 301 1297 q 361 1293 359 1297 q 364 1279 364 1289 l 347 1090 q 342 1063 345 1071 q 330 1054 340 1055 q 223 1053 278 1053 q 109 1053 169 1053 q 104 1053 106 1053 q 102 1057 102 1054 l 102 1059 m 527 1058 q 530 1121 529 1101 q 531 1151 531 1142 q 531 1162 532 1160 q 531 1173 531 1165 q 533 1199 532 1181 q 536 1257 534 1217 q 541 1285 538 1277 q 553 1294 543 1293 q 666 1294 607 1294 q 776 1295 725 1295 q 785 1293 781 1295 q 789 1282 789 1290 l 772 1090 q 767 1062 770 1069 q 753 1053 765 1055 q 646 1052 701 1053 q 530 1051 591 1051 q 528 1052 528 1051 q 527 1055 527 1052 l 527 1058 z " + }, + "Ž": { + "ha": 847, + "x_min": 70, + "x_max": 854, + "o": "m 139 0 q 123 2 131 0 q 108 8 115 3 q 97 20 101 12 q 92 41 92 28 q 93 43 92 42 q 94 46 94 45 l 447 666 q 432 670 447 668 q 395 672 418 671 q 345 674 372 673 q 293 676 318 675 q 249 676 269 676 q 223 677 230 677 q 155 676 186 677 q 88 675 123 675 q 75 680 81 675 q 70 692 70 685 q 71 693 71 692 q 71 697 71 695 l 159 907 q 177 931 165 922 q 206 945 190 940 q 240 952 222 950 q 276 954 258 954 q 422 950 350 954 q 565 944 494 947 q 708 938 637 941 q 853 935 780 935 l 853 907 l 523 290 q 523 288 523 288 q 522 286 522 288 q 529 278 522 279 q 541 277 536 277 l 675 277 q 754 282 716 277 q 833 287 792 287 q 848 282 841 287 q 854 269 854 277 q 853 263 854 270 l 744 46 q 724 20 739 30 q 689 6 709 11 q 643 0 668 1 q 591 -1 618 -1 q 375 -1 485 -1 q 139 0 266 0 m 261 1194 q 225 1241 239 1223 q 200 1277 212 1260 q 176 1312 189 1293 q 143 1362 163 1331 q 134 1379 136 1371 q 131 1392 131 1386 q 153 1414 131 1401 q 205 1440 175 1427 q 265 1465 235 1453 q 311 1485 295 1476 q 319 1487 315 1487 q 329 1482 324 1487 q 340 1466 333 1477 l 439 1289 l 602 1482 q 608 1486 604 1486 q 620 1483 612 1485 q 644 1472 628 1480 q 709 1439 678 1453 q 774 1408 741 1426 q 781 1398 781 1405 q 776 1383 781 1392 q 757 1362 770 1374 q 628 1219 692 1290 q 503 1078 565 1147 q 489 1068 496 1070 q 475 1067 481 1067 l 466 1067 l 361 1067 q 349 1068 355 1067 q 339 1078 343 1070 q 330 1092 338 1079 q 310 1122 321 1104 q 284 1159 298 1139 q 261 1194 271 1179 z " + }, + "ž": { + "ha": 673, + "x_min": 38, + "x_max": 688, + "o": "m 173 0 q 144 1 159 0 q 116 6 129 3 q 95 16 104 10 q 87 33 87 22 q 87 35 87 33 q 88 37 88 36 l 328 528 q 264 527 299 528 q 193 525 229 526 q 125 524 157 524 q 71 523 93 523 q 60 527 64 523 q 57 537 57 532 l 57 540 l 125 703 q 146 727 131 722 q 176 732 161 732 q 410 728 295 732 q 644 724 525 724 q 659 720 651 724 q 667 708 667 715 q 665 703 667 707 l 450 234 q 454 232 450 233 q 464 231 458 231 q 475 230 469 230 q 485 230 481 230 q 568 232 528 230 q 648 234 608 234 q 661 231 656 234 q 667 217 667 227 q 665 216 667 216 l 580 37 q 558 17 574 24 q 520 6 543 9 q 470 1 498 2 q 414 0 443 0 l 173 0 m 168 968 q 132 1015 146 996 q 107 1050 119 1034 q 83 1086 96 1067 q 50 1135 71 1105 q 41 1152 43 1145 q 38 1165 38 1160 q 60 1187 38 1175 q 112 1213 82 1200 q 172 1238 142 1226 q 218 1258 202 1250 q 226 1260 222 1260 q 236 1255 231 1260 q 247 1239 240 1251 l 346 1063 l 509 1256 q 515 1259 511 1259 q 527 1256 519 1259 q 551 1245 535 1254 q 616 1213 585 1226 q 682 1181 648 1199 q 688 1171 688 1179 q 683 1156 688 1165 q 664 1135 677 1147 q 535 992 599 1063 q 410 851 472 921 q 396 842 404 844 q 382 840 389 840 l 373 840 l 268 840 q 256 842 262 840 q 246 851 250 844 q 237 865 245 852 q 217 895 229 878 q 192 932 205 913 q 168 968 178 952 z " + }, + "ƒ": { + "ha": 623, + "x_min": -123, + "x_max": 785, + "o": "m 178 191 q 181 224 179 197 q 188 294 184 251 q 197 395 191 338 q 210 521 202 453 l 119 521 q 66 524 83 521 q 50 536 50 527 q 57 551 50 539 q 74 579 64 563 q 97 615 85 596 q 120 651 109 634 q 140 680 132 667 q 150 694 148 692 l 233 694 l 246 802 q 336 1037 264 960 q 546 1114 408 1114 q 582 1110 559 1114 q 631 1100 605 1106 q 685 1085 658 1093 q 735 1069 713 1077 q 771 1053 757 1061 q 785 1039 785 1045 q 781 1025 785 1034 q 749 958 760 984 q 732 917 739 932 q 722 897 726 902 q 710 891 718 891 q 702 893 707 890 q 690 898 698 895 q 643 914 667 907 q 597 921 618 921 q 544 902 566 921 q 509 830 522 883 q 497 764 502 800 q 489 694 493 729 l 666 694 q 676 691 671 694 q 682 678 682 687 q 673 654 682 675 q 650 599 665 633 l 626 544 q 616 529 621 534 q 595 523 611 524 l 478 523 q 453 311 465 420 q 425 81 441 202 q 392 -59 414 1 q 334 -157 370 -118 q 244 -216 297 -197 q 120 -235 192 -235 q 84 -231 107 -235 q 33 -221 60 -227 q -22 -207 6 -215 q -72 -190 -50 -198 q -109 -174 -95 -182 q -123 -159 -123 -165 q -119 -145 -123 -154 q -87 -79 -98 -105 q -71 -37 -77 -52 q -60 -15 -64 -21 q -49 -9 -56 -9 q -39 -15 -45 -14 q -26 -16 -34 -16 q 21 -32 -3 -25 q 68 -39 45 -39 q 110 -28 93 -39 q 138 2 127 -16 q 156 45 149 21 q 167 95 163 70 q 173 146 171 121 q 178 191 176 171 z " + }, + "Ȁ": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 613 1180 q 594 1227 602 1208 q 579 1264 586 1246 q 564 1300 572 1281 q 545 1348 556 1319 q 542 1359 543 1354 q 541 1369 541 1364 q 545 1384 541 1379 q 558 1394 549 1389 q 665 1452 609 1422 q 772 1518 721 1481 q 775 1519 772 1519 q 778 1520 778 1520 q 779 1521 779 1520 q 781 1521 780 1521 q 786 1516 786 1521 l 825 1119 q 825 1108 825 1113 q 825 1100 825 1103 q 823 1083 825 1088 q 811 1073 820 1078 q 783 1061 795 1067 q 757 1050 770 1056 q 730 1037 745 1044 q 698 1021 716 1030 q 690 1018 695 1018 q 677 1027 684 1018 q 663 1056 671 1036 q 643 1106 654 1075 q 613 1180 631 1137 m 274 1180 q 248 1227 258 1208 q 228 1263 237 1246 q 207 1300 218 1280 q 181 1348 196 1319 q 176 1362 177 1355 q 174 1374 174 1369 q 178 1386 174 1381 q 188 1394 181 1390 q 240 1422 213 1408 q 296 1452 268 1437 q 351 1484 323 1468 q 404 1518 378 1500 q 413 1521 410 1521 q 418 1516 417 1521 l 494 1119 q 497 1104 496 1110 q 498 1093 498 1099 q 496 1082 498 1087 q 488 1073 494 1076 q 461 1061 473 1067 q 437 1050 450 1056 q 412 1037 425 1044 q 382 1021 399 1030 q 375 1018 380 1018 q 361 1027 369 1018 q 343 1056 354 1036 q 315 1106 332 1075 q 274 1180 298 1137 z " + }, + "ȁ": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 576 968 q 556 1015 564 996 q 542 1052 549 1034 q 527 1088 534 1069 q 507 1135 519 1107 q 505 1147 506 1142 q 504 1156 504 1152 q 508 1172 504 1166 q 521 1181 512 1177 q 628 1239 572 1210 q 734 1305 684 1269 q 738 1307 734 1307 q 741 1308 741 1308 q 742 1309 741 1308 q 743 1309 743 1309 q 749 1303 749 1309 l 787 907 q 788 896 787 901 q 788 888 788 891 q 785 871 788 876 q 774 861 783 866 q 745 849 758 854 q 720 838 732 844 q 693 825 707 832 q 661 808 679 818 q 652 806 658 806 q 640 815 646 806 q 626 843 634 824 q 605 893 617 863 q 576 968 593 924 m 237 968 q 211 1015 221 996 q 190 1051 200 1034 q 170 1087 180 1068 q 144 1135 159 1107 q 138 1150 140 1143 q 137 1162 137 1157 q 140 1174 137 1169 q 151 1181 144 1178 q 203 1210 176 1196 q 258 1240 231 1225 q 314 1272 286 1255 q 366 1305 341 1288 q 376 1309 373 1309 q 381 1303 380 1309 l 457 907 q 460 892 458 898 q 461 881 461 886 q 459 869 461 875 q 450 861 457 864 q 424 849 436 854 q 400 838 412 844 q 375 825 388 832 q 345 808 361 818 q 338 806 342 806 q 324 815 332 806 q 306 843 317 824 q 278 893 294 863 q 237 968 261 924 z " + }, + "Ȃ": { + "ha": 940, + "x_min": 29, + "x_max": 965, + "o": "m 45 50 q 64 89 54 67 q 81 137 73 111 l 100 182 q 75 221 87 200 q 52 265 62 243 q 36 310 42 288 q 29 353 29 332 q 40 356 29 355 q 66 357 50 357 q 101 358 82 358 q 135 359 119 359 q 162 360 151 359 q 172 360 172 360 q 203 437 188 401 q 233 511 218 474 q 262 588 248 549 q 292 671 277 627 q 348 819 321 755 q 399 938 375 883 q 408 950 401 945 q 422 960 414 956 q 436 967 429 964 q 448 971 444 970 q 468 977 450 972 q 509 989 486 983 q 555 1000 532 995 q 591 1004 578 1004 l 604 1004 q 624 999 614 1004 q 637 979 634 994 q 707 797 670 896 q 779 580 744 699 q 817 459 798 516 q 853 348 835 402 q 890 239 871 294 q 928 127 909 185 q 941 89 935 103 q 953 66 947 75 q 962 55 958 58 q 965 47 965 51 q 952 39 965 43 l 806 -9 q 773 -21 790 -15 q 741 -32 756 -27 q 715 -40 726 -37 q 699 -43 704 -43 l 695 -43 q 682 -37 686 -43 q 676 -26 677 -31 q 663 15 669 -3 q 649 51 656 33 q 636 89 643 68 q 624 137 630 109 q 616 143 623 140 q 602 146 610 145 q 584 148 593 148 q 566 149 574 149 q 525 148 541 149 q 496 148 509 148 q 473 147 484 147 q 446 146 462 146 q 405 147 426 146 q 368 148 385 147 l 329 149 q 294 58 311 100 q 256 -31 276 15 q 249 -39 254 -36 q 239 -43 244 -43 q 234 -42 235 -43 q 123 5 168 -18 q 45 50 79 28 m 503 659 q 470 550 486 599 q 441 463 454 500 q 418 398 428 425 q 405 358 409 372 l 405 352 q 404 347 405 348 l 567 347 q 551 414 559 380 q 534 485 543 448 q 518 565 526 522 q 503 659 510 608 m 564 1046 q 565 1054 564 1049 q 566 1064 566 1059 q 549 1099 566 1082 q 496 1116 531 1116 q 459 1109 474 1116 q 436 1092 445 1102 q 424 1070 427 1082 q 420 1048 420 1059 q 421 1047 420 1048 q 421 1046 421 1047 q 419 1040 420 1043 q 412 1035 417 1037 q 397 1032 407 1033 q 371 1031 388 1031 q 335 1033 348 1031 q 316 1038 322 1034 q 308 1048 309 1042 q 307 1062 307 1054 q 322 1129 307 1100 q 367 1179 338 1159 q 432 1211 395 1200 q 513 1221 470 1221 q 592 1207 559 1221 q 646 1168 625 1192 q 676 1114 667 1144 q 686 1053 686 1084 q 685 1041 686 1046 q 676 1033 683 1036 q 656 1029 669 1030 q 621 1027 644 1027 q 591 1028 602 1027 q 573 1031 580 1029 q 565 1036 567 1033 q 563 1042 563 1038 q 563 1044 563 1043 q 564 1046 564 1044 z " + }, + "ȃ": { + "ha": 846, + "x_min": 71, + "x_max": 844, + "o": "m 774 136 q 773 131 773 134 q 773 127 773 129 q 779 99 773 110 q 790 80 784 87 q 802 69 797 73 q 808 61 808 64 q 787 43 808 52 l 605 -35 q 600 -35 604 -35 q 589 -26 595 -35 q 579 -2 584 -16 q 569 30 574 13 q 562 60 565 46 q 469 -12 519 11 q 371 -35 420 -35 q 260 -10 314 -35 q 163 61 205 15 q 96 174 121 108 q 71 321 71 239 q 99 498 71 418 q 175 636 127 578 q 287 725 223 694 q 423 757 351 757 q 519 736 474 757 q 606 683 565 715 q 610 715 610 703 q 613 734 611 728 q 623 744 616 741 q 645 747 629 746 q 742 760 694 754 q 844 768 791 766 l 774 136 m 571 392 q 580 465 578 431 q 584 528 583 499 q 561 545 573 536 q 533 561 548 553 q 503 574 519 569 q 469 578 487 578 q 408 555 433 578 q 368 496 383 531 q 346 423 353 462 q 340 355 340 385 q 368 198 340 248 q 446 148 396 148 q 492 159 467 148 q 543 191 517 171 l 571 392 m 526 833 q 527 842 526 837 q 528 852 528 846 q 511 887 528 870 q 458 903 493 903 q 421 897 436 903 q 398 880 407 890 q 386 858 389 869 q 382 836 382 846 q 383 835 382 836 q 383 834 383 835 q 381 828 382 831 q 374 823 379 825 q 359 820 369 821 q 333 819 350 819 q 297 820 310 819 q 278 826 284 822 q 270 836 271 830 q 269 850 269 842 q 284 917 269 888 q 329 967 300 947 q 394 998 357 987 q 475 1009 432 1009 q 554 995 521 1009 q 608 956 587 980 q 638 902 629 932 q 648 840 648 871 q 647 829 648 833 q 638 821 645 824 q 618 817 631 818 q 583 815 606 815 q 553 816 564 815 q 535 819 542 817 q 527 823 529 821 q 525 829 525 826 q 525 831 525 831 q 526 833 526 832 z " + }, + "Ȅ": { + "ha": 799, + "x_min": 92, + "x_max": 856, + "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 589 1180 q 570 1227 578 1208 q 555 1264 562 1246 q 540 1300 548 1281 q 521 1348 532 1319 q 518 1359 519 1354 q 517 1369 517 1364 q 522 1384 517 1379 q 534 1394 526 1389 q 641 1452 585 1422 q 748 1518 697 1481 q 751 1519 748 1519 q 754 1520 754 1520 q 755 1521 755 1520 q 757 1521 756 1521 q 762 1516 762 1521 l 801 1119 q 801 1108 801 1113 q 802 1100 802 1103 q 799 1083 802 1088 q 787 1073 796 1078 q 759 1061 772 1067 q 733 1050 746 1056 q 707 1037 721 1044 q 674 1021 692 1030 q 666 1018 671 1018 q 654 1027 660 1018 q 639 1056 648 1036 q 619 1106 631 1075 q 589 1180 607 1137 m 250 1180 q 224 1227 235 1208 q 204 1263 214 1246 q 183 1300 194 1280 q 157 1348 172 1319 q 152 1362 153 1355 q 151 1374 151 1369 q 154 1386 151 1381 q 164 1394 157 1390 q 217 1422 189 1408 q 272 1452 244 1437 q 327 1484 300 1468 q 380 1518 355 1500 q 389 1521 387 1521 q 395 1516 393 1521 l 471 1119 q 473 1104 472 1110 q 475 1093 475 1099 q 473 1082 475 1087 q 464 1073 471 1076 q 438 1061 450 1067 q 414 1050 426 1056 q 388 1037 401 1044 q 359 1021 375 1030 q 351 1018 356 1018 q 338 1027 345 1018 q 319 1056 330 1036 q 291 1106 308 1075 q 250 1180 275 1137 z " + }, + "ȅ": { + "ha": 774, + "x_min": 68, + "x_max": 771, + "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 536 968 q 517 1015 525 996 q 502 1052 509 1034 q 487 1088 495 1069 q 468 1135 479 1107 q 466 1147 467 1142 q 465 1156 465 1152 q 469 1172 465 1166 q 481 1181 473 1177 q 588 1239 532 1210 q 695 1305 644 1269 q 698 1307 695 1307 q 701 1308 701 1308 q 703 1309 702 1308 q 704 1309 703 1309 q 709 1303 709 1309 l 748 907 q 748 896 748 901 q 749 888 749 891 q 746 871 749 876 q 734 861 743 866 q 706 849 719 854 q 681 838 693 844 q 654 825 668 832 q 621 808 640 818 q 613 806 618 806 q 601 815 607 806 q 586 843 595 824 q 566 893 578 863 q 536 968 554 924 m 197 968 q 171 1015 182 996 q 151 1051 161 1034 q 130 1087 141 1068 q 104 1135 119 1107 q 99 1150 100 1143 q 98 1162 98 1157 q 101 1174 98 1169 q 111 1181 104 1178 q 164 1210 136 1196 q 219 1240 191 1225 q 274 1272 247 1255 q 327 1305 302 1288 q 336 1309 334 1309 q 342 1303 340 1309 l 418 907 q 420 892 419 898 q 422 881 422 886 q 420 869 422 875 q 411 861 418 864 q 385 849 397 854 q 361 838 373 844 q 335 825 349 832 q 306 808 322 818 q 298 806 303 806 q 285 815 292 806 q 266 843 277 824 q 238 893 255 863 q 197 968 222 924 z " + }, + "Ȇ": { + "ha": 799, + "x_min": 92, + "x_max": 856, + "o": "m 694 563 q 684 536 691 553 q 666 497 676 519 q 645 451 656 475 q 623 401 634 426 q 616 387 619 391 q 605 380 612 382 q 584 378 597 378 q 547 377 571 378 l 453 375 l 434 168 l 782 168 l 782 141 q 770 123 781 140 q 747 83 760 106 q 718 37 733 60 q 693 -1 703 14 q 677 -20 686 -13 q 658 -31 669 -27 q 635 -35 648 -34 q 608 -35 623 -35 q 480 -33 547 -35 q 349 -26 414 -30 q 220 -17 283 -22 q 104 -6 157 -12 q 95 -1 99 -5 q 92 10 92 4 q 95 22 89 10 q 113 52 102 33 q 139 93 125 70 q 165 140 153 117 l 176 293 q 181 351 179 332 q 182 371 182 370 q 122 375 142 372 q 102 390 102 378 q 112 410 102 395 q 136 445 121 425 q 166 485 150 464 q 194 524 182 506 l 211 754 l 209 754 q 182 753 194 753 q 159 753 170 753 q 113 756 127 753 q 99 770 99 760 q 107 790 99 775 q 127 824 115 805 q 153 865 140 844 q 178 905 167 886 l 218 974 l 502 974 l 836 998 q 840 998 837 998 q 846 996 843 998 q 853 990 850 994 q 856 979 856 986 l 846 943 q 834 912 841 928 q 819 878 827 895 l 789 799 q 779 781 785 787 q 753 774 772 775 q 638 770 701 773 q 492 764 574 767 q 490 749 490 755 q 488 727 490 743 l 485 696 q 481 649 484 674 q 474 587 478 624 q 542 590 509 589 q 602 592 574 591 q 649 594 629 593 q 677 595 669 595 q 689 591 682 595 q 696 575 696 587 q 694 563 696 570 m 539 1046 q 541 1054 540 1049 q 542 1064 542 1059 q 524 1099 542 1082 q 471 1116 507 1116 q 435 1109 450 1116 q 412 1092 420 1102 q 399 1070 403 1082 q 396 1048 396 1059 q 396 1047 396 1048 q 397 1046 397 1047 q 394 1040 396 1043 q 388 1035 393 1037 q 373 1032 382 1033 q 347 1031 363 1031 q 311 1033 323 1031 q 291 1038 298 1034 q 283 1048 285 1042 q 282 1062 282 1054 q 298 1129 282 1100 q 342 1179 314 1159 q 408 1211 370 1200 q 488 1221 446 1221 q 567 1207 534 1221 q 621 1168 600 1192 q 652 1114 642 1144 q 662 1053 662 1084 q 660 1041 662 1046 q 652 1033 659 1036 q 632 1029 645 1030 q 596 1027 619 1027 q 567 1028 578 1027 q 549 1031 555 1029 q 541 1036 543 1033 q 538 1042 538 1038 q 539 1044 538 1043 q 539 1046 539 1044 z " + }, + "ȇ": { + "ha": 774, + "x_min": 68, + "x_max": 771, + "o": "m 486 757 q 603 733 550 757 q 693 670 655 709 q 751 585 730 632 q 771 490 771 537 q 745 405 771 448 q 673 329 720 363 q 562 274 627 295 q 418 253 496 253 q 333 261 378 253 q 350 211 336 232 q 386 176 364 190 q 435 156 408 163 q 492 150 463 150 q 554 156 524 150 q 612 171 585 161 q 666 192 640 180 q 715 215 692 203 q 725 217 721 216 q 734 218 730 218 q 733 208 734 218 q 733 177 733 197 q 733 130 733 157 q 732 68 732 102 q 734 61 734 64 q 735 56 735 58 q 720 38 735 47 q 681 18 705 28 q 626 -1 657 8 q 564 -19 595 -11 q 502 -31 532 -26 q 450 -35 472 -35 q 308 -10 376 -35 q 185 63 239 16 q 100 178 132 111 q 68 331 68 246 q 99 497 68 420 q 185 633 130 575 q 317 724 240 690 q 486 757 393 757 m 477 576 q 426 565 450 576 q 384 531 403 553 q 350 478 364 509 q 327 410 336 447 q 443 435 397 422 q 517 463 489 449 q 556 491 545 477 q 568 517 568 505 q 558 541 568 530 q 536 559 549 551 q 506 572 522 568 q 477 576 490 576 m 486 833 q 488 842 487 837 q 489 852 489 846 q 471 887 489 870 q 418 903 454 903 q 382 897 397 903 q 359 880 368 890 q 347 858 350 869 q 343 836 343 846 q 343 835 343 836 q 344 834 344 835 q 341 828 343 831 q 335 823 340 825 q 320 820 330 821 q 294 819 311 819 q 258 820 271 819 q 238 826 245 822 q 231 836 232 830 q 229 850 229 842 q 245 917 229 888 q 289 967 261 947 q 355 998 317 987 q 435 1009 393 1009 q 514 995 481 1009 q 568 956 547 980 q 599 902 589 932 q 609 840 609 871 q 607 829 609 833 q 599 821 606 824 q 579 817 592 818 q 543 815 566 815 q 514 816 525 815 q 496 819 503 817 q 488 823 490 821 q 486 829 486 826 q 486 831 486 831 q 486 833 486 832 z " + }, + "Ȉ": { + "ha": 452, + "x_min": -54, + "x_max": 597, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 385 1180 q 366 1227 374 1208 q 351 1264 358 1246 q 336 1300 344 1281 q 317 1348 328 1319 q 314 1359 315 1354 q 313 1369 313 1364 q 317 1384 313 1379 q 330 1394 321 1389 q 437 1452 381 1422 q 544 1518 493 1481 q 547 1519 544 1519 q 550 1520 550 1520 q 551 1521 551 1520 q 553 1521 552 1521 q 558 1516 558 1521 l 597 1119 q 597 1108 597 1113 q 597 1100 597 1103 q 595 1083 597 1088 q 583 1073 592 1078 q 555 1061 568 1067 q 529 1050 542 1056 q 503 1037 517 1044 q 470 1021 488 1030 q 462 1018 467 1018 q 450 1027 456 1018 q 435 1056 444 1036 q 415 1106 427 1075 q 385 1180 403 1137 m 46 1180 q 20 1227 31 1208 q 0 1263 9 1246 q -21 1300 -10 1280 q -47 1348 -32 1319 q -52 1362 -51 1355 q -54 1374 -54 1369 q -50 1386 -54 1381 q -40 1394 -47 1390 q 13 1422 -15 1408 q 68 1452 40 1437 q 123 1484 96 1468 q 176 1518 151 1500 q 185 1521 182 1521 q 191 1516 189 1521 l 267 1119 q 269 1104 268 1110 q 271 1093 271 1099 q 269 1082 271 1087 q 260 1073 267 1076 q 234 1061 245 1067 q 210 1050 222 1056 q 184 1037 197 1044 q 155 1021 171 1030 q 147 1018 152 1018 q 134 1027 141 1018 q 115 1056 126 1036 q 87 1106 104 1075 q 46 1180 71 1137 z " + }, + "ȉ": { + "ha": 415, + "x_min": -66, + "x_max": 585, + "o": "m 99 288 q 117 471 109 380 q 132 658 125 562 q 137 689 134 680 q 152 700 140 697 q 273 724 210 711 q 395 756 336 736 q 401 757 397 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 328 38 340 41 q 211 -2 270 20 q 86 -45 152 -24 q 80 -46 84 -46 q 73 -39 73 -46 q 74 -20 73 -39 q 78 26 75 -2 q 83 91 80 55 q 89 163 85 127 q 94 232 92 199 q 99 288 97 264 m 372 968 q 353 1015 361 996 q 338 1052 345 1034 q 323 1088 331 1069 q 304 1135 315 1107 q 301 1147 302 1142 q 300 1156 300 1152 q 304 1172 300 1166 q 317 1181 309 1177 q 424 1239 368 1210 q 531 1305 480 1269 q 534 1307 531 1307 q 537 1308 537 1308 q 538 1309 538 1308 q 540 1309 539 1309 q 545 1303 545 1309 l 584 907 q 584 896 584 901 q 585 888 585 891 q 582 871 585 876 q 570 861 579 866 q 542 849 555 854 q 516 838 529 844 q 490 825 504 832 q 457 808 475 818 q 449 806 454 806 q 437 815 443 806 q 422 843 431 824 q 402 893 414 863 q 372 968 390 924 m 33 968 q 7 1015 18 996 q -13 1051 -3 1034 q -34 1087 -23 1068 q -60 1135 -45 1107 q -65 1150 -64 1143 q -66 1162 -66 1157 q -63 1174 -66 1169 q -53 1181 -60 1178 q 0 1210 -28 1196 q 55 1240 27 1225 q 110 1272 83 1255 q 163 1305 138 1288 q 172 1309 170 1309 q 178 1303 176 1309 l 254 907 q 256 892 255 898 q 258 881 258 886 q 256 869 258 875 q 247 861 254 864 q 221 849 233 854 q 197 838 209 844 q 171 825 184 832 q 142 808 158 818 q 134 806 139 806 q 121 815 128 806 q 102 843 113 824 q 74 893 91 863 q 33 968 58 924 z " + }, + "Ȋ": { + "ha": 452, + "x_min": 76, + "x_max": 456, + "o": "m 94 -22 l 128 442 q 153 785 145 675 q 161 893 161 894 q 163 913 162 905 q 165 927 163 922 q 171 935 168 932 q 181 939 174 938 l 416 996 q 434 998 425 998 q 447 992 444 998 q 450 969 450 987 q 443 890 446 927 q 438 821 440 854 q 435 756 437 787 q 432 695 434 726 q 425 629 428 662 q 419 560 422 595 q 413 485 416 524 q 406 398 410 445 l 376 41 q 374 29 376 35 q 365 20 372 23 q 357 17 364 20 q 337 10 349 14 q 309 1 325 5 q 274 -8 292 -4 q 221 -22 243 -15 q 180 -34 198 -28 q 148 -43 163 -40 q 118 -47 133 -47 q 101 -41 108 -47 q 94 -22 94 -36 m 333 1046 q 335 1054 334 1049 q 336 1064 336 1059 q 318 1099 336 1082 q 265 1116 300 1116 q 229 1109 243 1116 q 205 1092 214 1102 q 193 1070 197 1082 q 190 1048 190 1059 q 190 1047 190 1048 q 191 1046 191 1047 q 188 1040 190 1043 q 181 1035 186 1037 q 167 1032 176 1033 q 140 1031 157 1031 q 104 1033 117 1031 q 85 1038 92 1034 q 77 1048 79 1042 q 76 1062 76 1054 q 92 1129 76 1100 q 136 1179 108 1159 q 202 1211 164 1200 q 282 1221 239 1221 q 361 1207 328 1221 q 415 1168 394 1192 q 446 1114 436 1144 q 456 1053 456 1084 q 454 1041 456 1046 q 446 1033 452 1036 q 426 1029 439 1030 q 390 1027 413 1027 q 360 1028 372 1027 q 343 1031 349 1029 q 334 1036 336 1033 q 332 1042 332 1038 q 333 1044 332 1043 q 333 1046 333 1044 z " + }, + "ȋ": { + "ha": 414, + "x_min": 52, + "x_max": 432, + "o": "m 98 288 q 116 471 108 380 q 132 658 124 562 q 136 689 133 680 q 151 700 139 697 q 272 724 209 711 q 394 756 335 736 q 400 757 396 757 q 408 751 408 757 l 347 80 q 342 49 345 58 q 327 38 339 41 q 210 -2 269 20 q 85 -45 151 -24 q 79 -46 83 -46 q 72 -39 72 -46 q 73 -20 72 -39 q 77 26 75 -2 q 82 91 79 55 q 88 163 85 127 q 94 232 91 199 q 98 288 96 264 m 309 833 q 311 842 310 837 q 312 852 312 846 q 294 887 312 870 q 241 903 277 903 q 205 897 220 903 q 182 880 191 890 q 170 858 173 869 q 166 836 166 846 q 166 835 166 836 q 167 834 167 835 q 164 828 166 831 q 158 823 163 825 q 143 820 153 821 q 117 819 134 819 q 78 821 91 819 q 59 828 64 823 q 53 839 54 832 q 52 857 52 846 q 69 921 52 893 q 115 969 86 949 q 180 999 143 989 q 258 1009 218 1009 q 337 995 304 1009 q 391 956 370 980 q 422 902 412 932 q 432 840 432 871 q 430 829 432 833 q 422 821 429 824 q 402 817 415 818 q 366 815 389 815 q 337 816 348 815 q 319 819 326 817 q 311 823 313 821 q 309 829 309 826 q 309 831 309 831 q 309 833 309 832 z " + }, + "Ȍ": { + "ha": 1103, + "x_min": 85, + "x_max": 1101, + "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 709 1180 q 689 1227 697 1208 q 674 1264 682 1246 q 660 1300 667 1281 q 640 1348 652 1319 q 638 1359 639 1354 q 637 1369 637 1364 q 641 1384 637 1379 q 654 1394 645 1389 q 761 1452 705 1422 q 867 1518 817 1481 q 870 1519 867 1519 q 873 1520 873 1520 q 875 1521 874 1520 q 876 1521 876 1521 q 882 1516 882 1521 l 920 1119 q 921 1108 920 1113 q 921 1100 921 1103 q 918 1083 921 1088 q 907 1073 916 1078 q 878 1061 891 1067 q 853 1050 865 1056 q 826 1037 840 1044 q 793 1021 812 1030 q 785 1018 791 1018 q 773 1027 779 1018 q 759 1056 767 1036 q 738 1106 750 1075 q 709 1180 726 1137 m 370 1180 q 343 1227 354 1208 q 323 1263 333 1246 q 302 1300 313 1280 q 277 1348 292 1319 q 271 1362 273 1355 q 270 1374 270 1369 q 273 1386 270 1381 q 283 1394 277 1390 q 336 1422 309 1408 q 391 1452 363 1437 q 447 1484 419 1468 q 499 1518 474 1500 q 509 1521 506 1521 q 514 1516 513 1521 l 590 1119 q 593 1104 591 1110 q 594 1093 594 1099 q 592 1082 594 1087 q 583 1073 590 1076 q 557 1061 569 1067 q 533 1050 545 1056 q 508 1037 521 1044 q 478 1021 494 1030 q 471 1018 475 1018 q 457 1027 465 1018 q 438 1056 450 1036 q 411 1106 427 1075 q 370 1180 394 1137 z " + }, + "ȍ": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 592 968 q 573 1015 581 996 q 558 1052 565 1034 q 543 1088 551 1069 q 524 1135 535 1107 q 521 1147 522 1142 q 520 1156 520 1152 q 524 1172 520 1166 q 537 1181 528 1177 q 644 1239 588 1210 q 751 1305 700 1269 q 754 1307 751 1307 q 757 1308 757 1308 q 758 1309 758 1308 q 760 1309 759 1309 q 765 1303 765 1309 l 804 907 q 804 896 804 901 q 804 888 804 891 q 802 871 804 876 q 790 861 799 866 q 762 849 774 854 q 736 838 749 844 q 709 825 724 832 q 677 808 695 818 q 669 806 674 806 q 656 815 663 806 q 642 843 650 824 q 622 893 633 863 q 592 968 610 924 m 253 968 q 227 1015 237 996 q 207 1051 216 1034 q 186 1087 197 1068 q 160 1135 175 1107 q 155 1150 156 1143 q 153 1162 153 1157 q 157 1174 153 1169 q 167 1181 160 1178 q 219 1210 192 1196 q 275 1240 247 1225 q 330 1272 302 1255 q 382 1305 357 1288 q 392 1309 389 1309 q 397 1303 396 1309 l 473 907 q 476 892 475 898 q 477 881 477 886 q 475 869 477 875 q 467 861 473 864 q 440 849 452 854 q 416 838 429 844 q 391 825 404 832 q 361 808 378 818 q 354 806 359 806 q 340 815 348 806 q 322 843 333 824 q 294 893 311 863 q 253 968 277 924 z " + }, + "Ȏ": { + "ha": 1103, + "x_min": 85, + "x_max": 1101, + "o": "m 384 463 q 394 365 384 414 q 429 276 405 315 q 494 212 454 237 q 593 188 534 188 q 672 207 638 191 q 731 248 707 222 q 772 306 756 273 q 798 375 789 339 q 811 450 808 412 q 815 523 815 488 q 802 616 815 571 q 764 696 789 661 q 700 751 738 730 q 610 772 661 772 q 538 758 570 772 q 481 718 506 743 q 438 661 456 693 q 408 594 420 629 q 390 526 396 560 q 384 463 385 492 m 516 -35 q 334 3 414 -35 q 199 105 254 41 q 114 255 144 170 q 85 435 85 340 q 115 632 85 542 q 199 791 145 722 q 329 908 254 861 q 493 979 404 956 q 506 992 501 979 q 513 1021 510 1005 q 522 1049 517 1036 q 535 1062 526 1062 q 772 1016 667 1048 q 950 922 877 983 q 1062 767 1023 861 q 1101 540 1101 674 q 1080 378 1101 454 q 1021 238 1059 302 q 930 123 983 174 q 812 37 877 73 q 672 -17 747 2 q 516 -35 597 -35 m 659 1046 q 660 1054 659 1049 q 661 1064 661 1059 q 644 1099 661 1082 q 591 1116 626 1116 q 554 1109 569 1116 q 531 1092 540 1102 q 519 1070 522 1082 q 515 1048 515 1059 q 516 1047 515 1048 q 516 1046 516 1047 q 514 1040 515 1043 q 507 1035 512 1037 q 492 1032 502 1033 q 466 1031 483 1031 q 430 1033 443 1031 q 411 1038 417 1034 q 403 1048 404 1042 q 401 1062 401 1054 q 417 1129 401 1100 q 461 1179 433 1159 q 527 1211 490 1200 q 608 1221 565 1221 q 687 1207 654 1221 q 741 1168 720 1192 q 771 1114 762 1144 q 781 1053 781 1084 q 780 1041 781 1046 q 771 1033 778 1036 q 751 1029 764 1030 q 715 1027 739 1027 q 686 1028 697 1027 q 668 1031 675 1029 q 660 1036 662 1033 q 658 1042 658 1038 q 658 1044 658 1043 q 659 1046 659 1044 z " + }, + "ȏ": { + "ha": 890, + "x_min": 68, + "x_max": 885, + "o": "m 454 -35 q 287 -4 359 -35 q 165 79 214 27 q 92 198 117 131 q 68 338 68 266 q 92 476 68 411 q 158 594 115 542 q 260 681 201 646 q 392 728 320 715 q 403 732 403 728 q 401 746 403 740 q 399 758 399 753 q 402 768 399 765 q 408 770 405 770 q 629 741 538 770 q 777 661 720 711 q 859 541 833 610 q 885 392 885 471 q 851 212 885 291 q 759 77 817 132 q 622 -6 700 22 q 454 -35 543 -35 m 329 346 q 337 273 329 309 q 362 208 345 237 q 410 161 380 179 q 482 143 439 143 q 537 157 513 144 q 577 190 560 170 q 605 235 594 210 q 623 287 616 260 q 632 339 629 313 q 635 386 635 365 q 624 455 635 421 q 593 515 614 489 q 543 556 573 541 q 473 572 513 572 q 405 548 433 572 q 360 489 377 524 q 336 415 344 454 q 329 346 329 376 m 542 833 q 544 842 543 837 q 545 852 545 846 q 527 887 545 870 q 474 903 509 903 q 438 897 452 903 q 414 880 423 890 q 402 858 406 869 q 399 836 399 846 q 399 835 399 836 q 399 834 399 835 q 397 828 399 831 q 390 823 395 825 q 376 820 385 821 q 349 819 366 819 q 313 820 326 819 q 294 826 300 822 q 286 836 288 830 q 285 850 285 842 q 301 917 285 888 q 345 967 317 947 q 411 998 373 987 q 491 1009 448 1009 q 570 995 537 1009 q 624 956 603 980 q 655 902 645 932 q 665 840 665 871 q 663 829 665 833 q 654 821 661 824 q 635 817 648 818 q 599 815 622 815 q 569 816 581 815 q 552 819 558 817 q 543 823 545 821 q 541 829 541 826 q 542 831 541 831 q 542 833 542 832 z " + }, + "Ȑ": { + "ha": 999, + "x_min": 83, + "x_max": 1026, + "o": "m 446 54 q 444 42 446 48 q 435 33 442 37 q 408 23 432 32 q 352 4 384 15 q 290 -19 321 -7 q 243 -36 259 -30 q 223 -43 235 -39 q 199 -47 211 -47 q 183 -42 190 -47 q 176 -24 176 -37 q 177 30 176 5 q 182 82 179 55 q 188 142 184 109 q 193 220 191 175 q 201 335 197 280 q 209 450 205 391 l 218 566 q 222 624 220 595 q 227 685 224 654 l 234 768 q 230 769 234 769 q 212 767 224 769 q 181 761 199 764 q 142 754 163 758 q 98 747 121 750 q 88 749 93 747 q 83 755 83 751 q 84 759 83 758 l 194 951 q 274 967 231 959 q 367 983 317 976 q 472 994 416 989 q 590 998 528 998 q 727 984 661 997 q 846 942 794 972 q 929 862 898 913 q 961 734 961 812 q 946 656 961 692 q 909 591 932 620 q 859 540 886 562 q 807 503 832 518 q 764 478 783 487 q 738 466 745 469 q 739 463 738 465 q 743 455 740 460 q 753 438 747 449 q 770 410 760 428 q 795 366 781 393 q 831 302 810 339 q 879 220 852 265 q 941 122 906 174 q 968 110 953 112 q 996 107 983 107 q 1017 105 1008 106 q 1026 97 1026 104 q 1015 84 1026 92 q 989 70 1004 77 q 959 56 974 62 q 935 45 943 49 q 901 29 919 37 q 863 13 884 22 q 818 -9 843 3 q 762 -38 793 -21 q 747 -44 754 -43 q 734 -46 740 -46 q 713 -40 722 -46 q 698 -26 704 -35 q 688 -10 692 -18 q 682 4 684 -1 l 479 430 l 446 54 m 488 513 q 559 531 522 513 q 627 576 597 549 q 677 640 658 604 q 697 711 697 675 q 579 809 697 809 q 542 806 557 809 q 515 802 527 803 l 488 513 m 668 1180 q 649 1227 656 1208 q 634 1264 641 1246 q 619 1300 627 1281 q 600 1348 611 1319 q 597 1359 598 1354 q 596 1369 596 1364 q 600 1384 596 1379 q 613 1394 604 1389 q 720 1452 664 1422 q 827 1518 776 1481 q 830 1519 827 1519 q 833 1520 833 1520 q 834 1521 833 1520 q 836 1521 835 1521 q 841 1516 841 1521 l 880 1119 q 880 1108 880 1113 q 880 1100 880 1103 q 878 1083 880 1088 q 866 1073 875 1078 q 838 1061 850 1067 q 812 1050 825 1056 q 785 1037 800 1044 q 753 1021 771 1030 q 745 1018 750 1018 q 732 1027 739 1018 q 718 1056 726 1036 q 697 1106 709 1075 q 668 1180 686 1137 m 329 1180 q 303 1227 313 1208 q 282 1263 292 1246 q 262 1300 273 1280 q 236 1348 251 1319 q 231 1362 232 1355 q 229 1374 229 1369 q 233 1386 229 1381 q 243 1394 236 1390 q 295 1422 268 1408 q 351 1452 323 1437 q 406 1484 378 1468 q 458 1518 433 1500 q 468 1521 465 1521 q 473 1516 472 1521 l 549 1119 q 552 1104 551 1110 q 553 1093 553 1099 q 551 1082 553 1087 q 543 1073 549 1076 q 516 1061 528 1067 q 492 1050 505 1056 q 467 1037 480 1044 q 437 1021 454 1030 q 430 1018 435 1018 q 416 1027 424 1018 q 398 1056 409 1036 q 370 1106 387 1075 q 329 1180 353 1137 z " + }, + "ȑ": { + "ha": 613, + "x_min": 32, + "x_max": 683, + "o": "m 636 552 q 604 555 622 553 q 567 557 587 557 q 506 552 537 557 q 449 532 475 547 q 404 491 422 517 q 379 423 385 465 q 371 341 374 373 q 367 288 368 309 q 365 255 366 267 q 363 231 363 242 q 362 216 363 229 q 359 188 361 204 q 355 153 357 172 q 351 117 353 134 q 348 89 349 101 q 347 74 347 77 q 348 65 347 68 q 348 58 348 61 q 343 48 348 52 q 320 40 338 45 l 140 -24 q 121 -31 133 -27 q 97 -35 109 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 132 658 q 137 689 134 680 q 152 700 140 697 q 279 725 214 712 q 407 757 345 737 q 413 755 412 757 q 414 750 414 753 q 414 746 414 749 q 412 734 414 743 q 407 705 410 724 q 399 651 404 686 q 468 696 430 675 q 543 731 505 716 q 616 754 581 745 q 678 762 652 762 l 636 552 m 471 968 q 451 1015 459 996 q 436 1052 444 1034 q 421 1088 429 1069 q 402 1135 414 1107 q 400 1147 401 1142 q 399 1156 399 1152 q 403 1172 399 1166 q 416 1181 407 1177 q 523 1239 467 1210 q 629 1305 578 1269 q 632 1307 629 1307 q 635 1308 635 1308 q 637 1309 636 1308 q 638 1309 637 1309 q 644 1303 644 1309 l 682 907 q 683 896 682 901 q 683 888 683 891 q 680 871 683 876 q 669 861 677 866 q 640 849 653 854 q 615 838 627 844 q 588 825 602 832 q 555 808 574 818 q 547 806 553 806 q 535 815 541 806 q 520 843 529 824 q 500 893 512 863 q 471 968 488 924 m 132 968 q 105 1015 116 996 q 85 1051 95 1034 q 64 1087 75 1068 q 39 1135 54 1107 q 33 1150 35 1143 q 32 1162 32 1157 q 35 1174 32 1169 q 45 1181 39 1178 q 98 1210 71 1196 q 153 1240 125 1225 q 209 1272 181 1255 q 261 1305 236 1288 q 271 1309 268 1309 q 276 1303 275 1309 l 352 907 q 355 892 353 898 q 356 881 356 886 q 354 869 356 875 q 345 861 352 864 q 319 849 331 854 q 295 838 307 844 q 270 825 283 832 q 240 808 256 818 q 233 806 237 806 q 219 815 227 806 q 200 843 212 824 q 173 893 189 863 q 132 968 156 924 z " + }, + "Ȓ": { + "ha": 999, + "x_min": 83, + "x_max": 1026, + "o": "m 446 54 q 444 42 446 48 q 435 33 442 37 q 408 23 432 32 q 352 4 384 15 q 290 -19 321 -7 q 243 -36 259 -30 q 223 -43 235 -39 q 199 -47 211 -47 q 183 -42 190 -47 q 176 -24 176 -37 q 177 30 176 5 q 182 82 179 55 q 188 142 184 109 q 193 220 191 175 q 201 335 197 280 q 209 450 205 391 l 218 566 q 222 624 220 595 q 227 685 224 654 l 234 768 q 230 769 234 769 q 212 767 224 769 q 181 761 199 764 q 142 754 163 758 q 98 747 121 750 q 88 749 93 747 q 83 755 83 751 q 84 759 83 758 l 194 951 q 274 967 231 959 q 367 983 317 976 q 472 994 416 989 q 590 998 528 998 q 727 984 661 997 q 846 942 794 972 q 929 862 898 913 q 961 734 961 812 q 946 656 961 692 q 909 591 932 620 q 859 540 886 562 q 807 503 832 518 q 764 478 783 487 q 738 466 745 469 q 739 463 738 465 q 743 455 740 460 q 753 438 747 449 q 770 410 760 428 q 795 366 781 393 q 831 302 810 339 q 879 220 852 265 q 941 122 906 174 q 968 110 953 112 q 996 107 983 107 q 1017 105 1008 106 q 1026 97 1026 104 q 1015 84 1026 92 q 989 70 1004 77 q 959 56 974 62 q 935 45 943 49 q 901 29 919 37 q 863 13 884 22 q 818 -9 843 3 q 762 -38 793 -21 q 747 -44 754 -43 q 734 -46 740 -46 q 713 -40 722 -46 q 698 -26 704 -35 q 688 -10 692 -18 q 682 4 684 -1 l 479 430 l 446 54 m 488 513 q 559 531 522 513 q 627 576 597 549 q 677 640 658 604 q 697 711 697 675 q 579 809 697 809 q 542 806 557 809 q 515 802 527 803 l 488 513 m 618 1046 q 620 1054 619 1049 q 621 1064 621 1059 q 604 1099 621 1082 q 551 1116 586 1116 q 514 1109 529 1116 q 491 1092 500 1102 q 479 1070 482 1082 q 475 1048 475 1059 q 476 1047 475 1048 q 476 1046 476 1047 q 474 1040 475 1043 q 467 1035 472 1037 q 452 1032 462 1033 q 426 1031 443 1031 q 390 1033 403 1031 q 371 1038 377 1034 q 363 1048 364 1042 q 361 1062 361 1054 q 377 1129 361 1100 q 421 1179 393 1159 q 487 1211 450 1200 q 568 1221 525 1221 q 647 1207 614 1221 q 701 1168 680 1192 q 731 1114 722 1144 q 741 1053 741 1084 q 740 1041 741 1046 q 731 1033 738 1036 q 711 1029 724 1030 q 675 1027 699 1027 q 646 1028 657 1027 q 628 1031 635 1029 q 620 1036 622 1033 q 618 1042 618 1038 q 618 1044 618 1043 q 618 1046 618 1044 z " + }, + "ȓ": { + "ha": 613, + "x_min": 73, + "x_max": 678, + "o": "m 636 552 q 604 555 622 553 q 567 557 587 557 q 506 552 537 557 q 449 532 475 547 q 404 491 422 517 q 379 423 385 465 q 371 341 374 373 q 367 288 368 309 q 365 255 366 267 q 363 231 363 242 q 362 216 363 229 q 359 188 361 204 q 355 153 357 172 q 351 117 353 134 q 348 89 349 101 q 347 74 347 77 q 348 65 347 68 q 348 58 348 61 q 343 48 348 52 q 320 40 338 45 l 140 -24 q 121 -31 133 -27 q 97 -35 109 -35 q 80 -31 87 -35 q 73 -14 73 -26 l 132 658 q 137 689 134 680 q 152 700 140 697 q 279 725 214 712 q 407 757 345 737 q 413 755 412 757 q 414 750 414 753 q 414 746 414 749 q 412 734 414 743 q 407 705 410 724 q 399 651 404 686 q 468 696 430 675 q 543 731 505 716 q 616 754 581 745 q 678 762 652 762 l 636 552 m 420 833 q 422 842 421 837 q 423 852 423 846 q 406 887 423 870 q 353 903 388 903 q 316 897 331 903 q 293 880 302 890 q 281 858 284 869 q 277 836 277 846 q 278 835 277 836 q 278 834 278 835 q 276 828 277 831 q 269 823 274 825 q 254 820 264 821 q 228 819 245 819 q 192 820 205 819 q 173 826 179 822 q 165 836 166 830 q 163 850 163 842 q 179 917 163 888 q 223 967 195 947 q 289 998 252 987 q 370 1009 327 1009 q 449 995 416 1009 q 503 956 481 980 q 533 902 524 932 q 543 840 543 871 q 542 829 543 833 q 533 821 540 824 q 513 817 526 818 q 477 815 500 815 q 448 816 459 815 q 430 819 437 817 q 422 823 424 821 q 420 829 420 826 q 420 831 420 831 q 420 833 420 832 z " + }, + "Ȕ": { + "ha": 935, + "x_min": 103, + "x_max": 937, + "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 629 1180 q 610 1227 618 1208 q 595 1264 602 1246 q 580 1300 588 1281 q 561 1348 572 1319 q 558 1359 559 1354 q 557 1369 557 1364 q 562 1384 557 1379 q 574 1394 566 1389 q 681 1452 625 1422 q 788 1518 737 1481 q 791 1519 788 1519 q 794 1520 794 1520 q 795 1521 795 1520 q 797 1521 796 1521 q 802 1516 802 1521 l 841 1119 q 841 1108 841 1113 q 842 1100 842 1103 q 839 1083 842 1088 q 827 1073 836 1078 q 799 1061 812 1067 q 773 1050 786 1056 q 747 1037 761 1044 q 714 1021 732 1030 q 706 1018 711 1018 q 694 1027 700 1018 q 679 1056 688 1036 q 659 1106 671 1075 q 629 1180 647 1137 m 290 1180 q 264 1227 275 1208 q 244 1263 254 1246 q 223 1300 234 1280 q 197 1348 212 1319 q 192 1362 193 1355 q 191 1374 191 1369 q 194 1386 191 1381 q 204 1394 197 1390 q 257 1422 229 1408 q 312 1452 284 1437 q 367 1484 340 1468 q 420 1518 395 1500 q 429 1521 427 1521 q 435 1516 433 1521 l 511 1119 q 513 1104 512 1110 q 515 1093 515 1099 q 513 1082 515 1087 q 504 1073 511 1076 q 478 1061 490 1067 q 454 1050 466 1056 q 428 1037 441 1044 q 399 1021 415 1030 q 391 1018 396 1018 q 378 1027 385 1018 q 359 1056 370 1036 q 331 1106 348 1075 q 290 1180 315 1137 z " + }, + "ȕ": { + "ha": 868, + "x_min": 79, + "x_max": 862, + "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 582 968 q 563 1015 570 996 q 548 1052 555 1034 q 533 1088 541 1069 q 513 1135 525 1107 q 511 1147 512 1142 q 510 1156 510 1152 q 514 1172 510 1166 q 527 1181 518 1177 q 634 1239 578 1210 q 741 1305 690 1269 q 744 1307 741 1307 q 747 1308 747 1308 q 748 1309 747 1308 q 749 1309 749 1309 q 755 1303 755 1309 l 793 907 q 794 896 793 901 q 794 888 794 891 q 791 871 794 876 q 780 861 789 866 q 751 849 764 854 q 726 838 739 844 q 699 825 713 832 q 667 808 685 818 q 659 806 664 806 q 646 815 652 806 q 632 843 640 824 q 611 893 623 863 q 582 968 600 924 m 243 968 q 217 1015 227 996 q 196 1051 206 1034 q 176 1087 186 1068 q 150 1135 165 1107 q 144 1150 146 1143 q 143 1162 143 1157 q 146 1174 143 1169 q 157 1181 150 1178 q 209 1210 182 1196 q 264 1240 237 1225 q 320 1272 292 1255 q 372 1305 347 1288 q 382 1309 379 1309 q 387 1303 386 1309 l 463 907 q 466 892 465 898 q 467 881 467 886 q 465 869 467 875 q 456 861 463 864 q 430 849 442 854 q 406 838 418 844 q 381 825 394 832 q 351 808 368 818 q 344 806 349 806 q 330 815 338 806 q 312 843 323 824 q 284 893 300 863 q 243 968 267 924 z " + }, + "Ȗ": { + "ha": 935, + "x_min": 103, + "x_max": 937, + "o": "m 937 970 q 932 916 935 951 q 924 835 928 880 q 915 741 920 790 q 906 646 910 691 q 898 564 901 601 q 893 509 895 528 q 845 261 879 365 q 755 92 810 158 q 622 -4 699 26 q 442 -35 544 -35 q 311 -10 372 -35 q 203 62 249 16 q 130 173 157 108 q 103 317 103 237 q 105 354 103 327 q 110 419 106 380 q 116 507 113 458 q 124 612 120 556 l 132 724 q 138 827 136 786 q 143 893 140 868 q 150 930 145 918 q 165 945 155 941 l 396 996 q 414 999 405 999 q 429 993 425 999 q 433 970 433 987 l 381 435 q 376 384 380 412 q 373 327 373 356 q 377 288 373 309 q 393 249 382 267 q 425 217 405 230 q 477 205 445 205 q 539 221 515 205 q 577 266 563 238 q 598 328 591 293 q 608 399 604 363 q 616 500 612 442 q 626 623 621 557 l 646 894 q 647 914 647 906 q 649 928 648 922 q 655 936 650 933 q 669 940 659 939 l 900 996 q 918 999 909 999 q 932 993 928 999 q 937 970 937 987 m 579 1046 q 581 1054 580 1049 q 582 1064 582 1059 q 564 1099 582 1082 q 511 1116 547 1116 q 475 1109 490 1116 q 452 1092 460 1102 q 439 1070 443 1082 q 436 1048 436 1059 q 436 1047 436 1048 q 437 1046 437 1047 q 434 1040 436 1043 q 428 1035 433 1037 q 413 1032 422 1033 q 387 1031 404 1031 q 351 1033 363 1031 q 331 1038 338 1034 q 323 1048 325 1042 q 322 1062 322 1054 q 338 1129 322 1100 q 382 1179 354 1159 q 448 1211 410 1200 q 528 1221 486 1221 q 607 1207 574 1221 q 661 1168 640 1192 q 692 1114 682 1144 q 702 1053 702 1084 q 700 1041 702 1046 q 692 1033 699 1036 q 672 1029 685 1030 q 636 1027 659 1027 q 607 1028 618 1027 q 589 1031 595 1029 q 581 1036 583 1033 q 578 1042 578 1038 q 579 1044 578 1043 q 579 1046 579 1044 z " + }, + "ȗ": { + "ha": 868, + "x_min": 79, + "x_max": 862, + "o": "m 798 84 q 793 53 796 62 q 778 42 789 45 q 657 9 720 26 q 536 -35 595 -7 q 530 -35 534 -35 q 523 -33 524 -35 q 522 -26 522 -30 q 523 -22 522 -25 q 524 -9 523 -18 q 528 16 526 0 q 534 60 530 33 q 400 -13 458 10 q 296 -35 341 -35 q 131 19 182 -35 q 79 182 79 74 q 79 223 79 202 q 83 265 80 243 q 96 402 91 345 q 105 500 102 460 q 111 565 109 540 q 115 608 113 591 q 118 636 117 625 q 120 658 119 647 q 125 688 123 680 q 140 700 127 697 q 201 711 172 706 q 258 722 230 716 q 315 734 286 728 q 377 751 345 741 q 380 751 378 751 q 382 751 381 751 q 391 746 391 751 l 391 745 q 386 701 388 722 q 382 660 384 681 q 377 614 380 638 q 372 557 375 589 q 363 483 368 525 q 352 385 359 441 q 344 304 348 345 q 340 229 340 264 q 342 194 340 210 q 352 167 345 178 q 371 150 359 156 q 401 144 382 144 q 439 150 415 144 q 488 173 464 157 q 531 215 513 189 q 553 281 550 241 q 561 393 557 348 q 568 469 565 438 q 572 521 570 500 q 576 561 574 542 q 579 603 578 581 q 582 658 581 625 q 587 689 584 680 q 602 700 590 697 q 728 725 664 712 q 854 757 793 737 q 861 755 860 757 q 862 750 862 753 l 798 84 m 532 833 q 534 842 533 837 q 535 852 535 846 q 517 887 535 870 q 465 903 500 903 q 428 897 443 903 q 405 880 414 890 q 393 858 396 869 q 389 836 389 846 q 390 835 389 836 q 390 834 390 835 q 388 828 389 831 q 381 823 386 825 q 366 820 376 821 q 340 819 357 819 q 304 820 317 819 q 284 826 291 822 q 277 836 278 830 q 275 850 275 842 q 291 917 275 888 q 335 967 307 947 q 401 998 363 987 q 481 1009 439 1009 q 561 995 528 1009 q 614 956 593 980 q 645 902 635 932 q 655 840 655 871 q 653 829 655 833 q 645 821 652 824 q 625 817 638 818 q 589 815 612 815 q 560 816 571 815 q 542 819 549 817 q 534 823 536 821 q 532 829 532 826 q 532 831 532 831 q 532 833 532 832 z " + }, + "Ș": { + "ha": 745, + "x_min": 106, + "x_max": 732, + "o": "m 107 252 q 107 254 107 253 q 106 255 106 254 q 119 267 106 267 q 132 260 125 267 q 214 205 169 226 q 311 185 258 185 q 344 188 326 185 q 378 198 362 191 q 406 217 395 205 q 417 246 417 229 q 408 281 417 266 q 382 308 398 297 q 364 321 376 312 q 336 343 352 331 q 304 369 321 355 q 272 396 287 383 q 244 418 256 408 q 226 434 232 429 q 162 494 186 464 q 127 558 139 525 q 111 627 115 591 q 108 703 108 663 q 136 816 108 762 q 217 909 165 869 q 341 972 269 949 q 503 996 414 996 q 535 993 513 996 q 583 985 557 991 q 636 970 609 980 q 686 946 663 961 q 697 935 693 941 q 703 918 702 930 q 709 810 707 863 q 714 697 711 757 q 709 682 714 686 q 697 678 705 678 q 686 682 690 678 q 645 721 666 702 q 601 754 624 740 q 552 778 578 769 q 495 787 526 787 q 458 784 477 787 q 425 772 440 781 q 401 750 410 764 q 392 714 392 736 q 398 674 392 691 q 427 642 404 657 l 589 532 q 662 468 634 500 q 705 406 690 437 q 727 344 721 374 q 732 285 732 314 q 717 195 732 237 q 674 118 701 153 q 611 54 647 82 q 533 6 574 26 q 447 -25 492 -14 q 360 -35 403 -35 q 295 -34 327 -35 q 232 -29 262 -33 q 173 -15 201 -24 q 119 10 144 -6 l 107 252 m 342 -602 q 330 -596 334 -598 q 318 -591 326 -595 q 295 -579 310 -587 q 250 -555 279 -571 q 229 -536 229 -543 q 231 -530 229 -534 q 272 -466 250 -500 q 313 -398 293 -433 l 255 -397 l 243 -397 q 227 -396 233 -397 q 221 -391 221 -395 l 221 -389 q 225 -343 224 -360 q 228 -318 227 -327 q 229 -304 229 -309 q 230 -297 229 -300 q 230 -289 230 -294 q 231 -273 231 -284 q 234 -241 232 -261 q 238 -188 235 -221 q 242 -157 239 -165 q 258 -146 245 -148 q 321 -146 288 -146 q 388 -145 355 -146 q 453 -145 420 -145 q 515 -145 485 -145 q 526 -161 526 -145 l 514 -327 q 510 -353 512 -342 q 507 -371 509 -363 q 503 -388 505 -380 q 497 -407 500 -396 q 484 -432 493 -416 q 462 -465 474 -447 q 436 -500 450 -482 q 412 -534 423 -518 q 391 -562 400 -550 q 380 -577 382 -573 q 375 -584 378 -580 q 368 -593 372 -589 q 359 -601 363 -597 q 349 -604 354 -604 q 342 -602 346 -604 z " + }, + "ș": { + "ha": 584, + "x_min": 84, + "x_max": 568, + "o": "m 85 187 q 84 188 85 188 q 84 189 84 189 q 94 198 84 198 q 104 193 100 198 q 166 151 132 168 q 242 135 201 135 q 267 137 253 135 q 294 145 281 140 q 316 160 307 151 q 324 182 324 169 q 317 210 324 197 q 297 231 309 222 q 273 247 290 235 q 237 273 256 259 q 200 298 218 286 q 176 316 183 311 q 128 363 146 339 q 100 412 110 387 q 88 465 91 437 q 85 524 85 493 q 111 614 85 572 q 177 688 136 656 q 270 738 218 720 q 376 757 322 757 q 465 743 421 757 q 545 697 508 730 q 550 613 549 654 q 554 526 551 572 q 550 514 554 517 q 541 511 546 511 q 532 515 536 511 q 500 544 517 530 q 466 570 484 559 q 428 588 448 581 q 385 595 408 595 q 356 593 370 595 q 330 584 342 591 q 312 567 319 578 q 304 539 304 556 q 309 505 304 519 q 332 477 314 491 l 458 392 q 514 346 492 368 q 547 300 535 323 q 564 256 559 278 q 568 212 568 234 q 540 105 568 151 q 467 27 512 58 q 366 -19 422 -3 q 252 -35 309 -35 q 169 -26 209 -35 q 94 2 128 -17 l 85 187 m 260 -602 q 248 -596 252 -598 q 236 -591 243 -595 q 213 -579 228 -587 q 168 -555 197 -571 q 146 -536 146 -543 q 149 -530 146 -534 q 190 -466 168 -500 q 231 -398 211 -433 l 173 -397 l 161 -397 q 145 -396 151 -397 q 139 -391 139 -395 l 139 -389 q 143 -343 142 -360 q 146 -318 145 -327 q 147 -304 146 -309 q 148 -297 147 -300 q 148 -289 148 -294 q 149 -273 149 -284 q 152 -241 150 -261 q 156 -188 153 -221 q 160 -157 157 -165 q 176 -146 163 -148 q 239 -146 206 -146 q 306 -145 273 -146 q 371 -145 338 -145 q 433 -145 403 -145 q 444 -161 444 -145 l 432 -327 q 428 -353 430 -342 q 425 -371 427 -363 q 421 -388 423 -380 q 415 -407 418 -396 q 401 -432 411 -416 q 380 -465 392 -447 q 354 -500 368 -482 q 330 -534 341 -518 q 309 -562 318 -550 q 298 -577 300 -573 q 293 -584 296 -580 q 286 -593 290 -589 q 277 -601 281 -597 q 267 -604 272 -604 q 260 -602 264 -604 z " + }, + "Ț": { + "ha": 786, + "x_min": 58, + "x_max": 886, + "o": "m 243 -22 q 250 74 246 28 q 256 163 253 120 l 280 484 q 287 550 284 520 q 291 609 290 581 q 295 668 293 638 q 298 733 296 697 q 251 734 276 734 q 199 734 227 734 l 68 734 q 59 740 61 734 q 58 750 58 745 l 58 755 l 132 951 l 132 954 q 136 959 132 957 q 156 963 140 962 q 337 974 250 968 q 511 983 425 979 q 683 991 597 987 q 859 998 768 995 q 877 996 867 998 q 886 981 886 994 q 885 979 886 980 q 884 976 884 977 q 864 923 873 948 q 846 873 855 898 q 828 824 838 849 q 808 771 819 799 q 806 765 808 770 q 800 752 804 759 q 789 739 795 745 q 772 732 782 732 q 765 732 768 732 q 758 732 762 732 l 576 732 q 570 659 573 698 q 563 584 567 621 l 513 54 q 511 42 513 48 q 502 33 509 36 l 310 -36 q 290 -43 302 -39 q 267 -47 278 -47 q 250 -42 257 -47 q 243 -24 243 -37 l 243 -22 m 432 -602 q 420 -596 425 -598 q 408 -591 416 -595 q 385 -579 400 -587 q 340 -555 370 -571 q 319 -536 319 -543 q 321 -530 319 -534 q 362 -466 340 -500 q 403 -398 383 -433 l 345 -397 l 333 -397 q 317 -396 323 -397 q 311 -391 311 -395 l 311 -389 q 316 -343 314 -360 q 318 -318 317 -327 q 319 -304 319 -309 q 320 -297 319 -300 q 320 -289 320 -294 q 321 -273 321 -284 q 324 -241 322 -261 q 328 -188 326 -221 q 333 -157 330 -165 q 348 -146 336 -148 q 412 -146 378 -146 q 478 -145 445 -146 q 543 -145 511 -145 q 605 -145 575 -145 q 616 -161 616 -145 l 604 -327 q 601 -353 602 -342 q 597 -371 599 -363 q 593 -388 595 -380 q 587 -407 591 -396 q 574 -432 583 -416 q 552 -465 564 -447 q 527 -500 540 -482 q 502 -534 513 -518 q 481 -562 490 -550 q 470 -577 473 -573 q 465 -584 468 -580 q 458 -593 462 -589 q 449 -601 454 -597 q 439 -604 444 -604 q 432 -602 436 -604 z " + }, + "ț": { + "ha": 633, + "x_min": 51, + "x_max": 659, + "o": "m 447 523 q 429 381 437 452 q 418 248 420 310 q 422 204 418 222 q 434 176 427 186 q 453 162 442 166 q 477 157 464 157 q 525 164 499 157 q 576 180 551 170 q 590 185 585 184 q 600 187 596 187 q 609 181 607 187 q 614 160 612 175 q 621 119 616 144 q 637 54 626 93 q 638 48 637 50 q 638 43 638 45 q 631 30 638 34 q 608 20 624 26 q 549 1 580 11 q 488 -17 518 -9 q 430 -30 458 -25 q 381 -35 402 -35 q 216 21 268 -35 q 164 193 164 77 q 165 233 164 212 q 169 276 167 254 q 181 405 176 344 q 191 521 186 465 l 120 521 q 67 524 83 521 q 51 536 51 527 q 58 551 51 539 q 75 579 64 563 q 98 615 85 596 q 121 651 110 634 q 140 680 132 667 q 151 694 149 692 l 199 694 q 209 781 205 746 q 215 839 212 816 q 219 874 217 862 q 223 893 221 887 q 230 901 226 899 q 239 904 233 903 q 298 915 270 910 q 355 926 327 920 q 413 938 384 931 q 475 955 443 945 q 477 955 477 955 q 480 956 478 956 q 488 950 488 956 l 488 949 q 478 845 485 911 q 462 694 471 779 l 644 694 q 654 691 649 694 q 659 678 659 687 q 651 654 659 675 q 628 599 643 633 l 604 544 q 594 529 599 534 q 573 523 589 524 l 447 523 m 327 -602 q 315 -596 319 -598 q 303 -591 311 -595 q 280 -579 295 -587 q 235 -555 264 -571 q 214 -536 214 -543 q 216 -530 214 -534 q 257 -466 235 -500 q 298 -398 278 -433 l 240 -397 l 228 -397 q 212 -396 218 -397 q 206 -391 206 -395 l 206 -389 q 211 -343 209 -360 q 213 -318 212 -327 q 214 -304 214 -309 q 215 -297 214 -300 q 215 -289 215 -294 q 216 -273 216 -284 q 219 -241 217 -261 q 223 -188 220 -221 q 228 -157 224 -165 q 243 -146 231 -148 q 307 -146 273 -146 q 373 -145 340 -146 q 438 -145 406 -145 q 500 -145 470 -145 q 511 -161 511 -145 l 499 -327 q 495 -353 497 -342 q 492 -371 494 -363 q 488 -388 490 -380 q 482 -407 486 -396 q 469 -432 478 -416 q 447 -465 459 -447 q 421 -500 435 -482 q 397 -534 408 -518 q 376 -562 385 -550 q 365 -577 368 -573 q 360 -584 363 -580 q 353 -593 357 -589 q 344 -601 349 -597 q 334 -604 339 -604 q 327 -602 331 -604 z " + }, + "ˆ": { + "ha": 716, + "x_min": 27, + "x_max": 678, + "o": "m 549 1127 q 575 1095 564 1109 q 593 1069 585 1080 q 608 1047 602 1057 q 623 1024 615 1036 q 636 1006 627 1018 q 655 980 646 994 q 671 952 664 966 q 678 930 678 939 q 665 911 678 920 q 633 892 652 901 q 596 876 615 884 q 567 865 578 869 q 546 856 557 861 q 524 844 535 850 q 504 835 513 839 q 490 831 494 831 q 478 837 484 831 q 464 858 473 843 l 376 1044 q 294 941 335 991 q 212 838 253 890 q 203 833 209 833 q 187 839 199 833 q 157 852 174 844 q 123 869 140 860 q 92 884 105 878 q 73 892 84 887 q 52 903 62 897 q 34 913 41 908 q 27 924 27 919 q 33 939 27 930 q 53 961 39 948 l 155 1076 q 231 1160 194 1119 q 304 1243 267 1200 q 322 1254 313 1253 q 339 1255 332 1255 l 442 1255 q 458 1253 450 1255 q 472 1242 467 1252 q 481 1229 473 1241 q 500 1199 489 1217 q 525 1162 512 1182 q 549 1127 538 1143 z " + }, + "ˇ": { + "ha": 718, + "x_min": 38, + "x_max": 688, + "o": "m 168 968 q 132 1015 146 996 q 107 1050 119 1034 q 83 1086 96 1067 q 50 1135 71 1105 q 41 1152 43 1145 q 38 1165 38 1160 q 60 1187 38 1175 q 112 1213 82 1200 q 172 1238 142 1226 q 218 1258 202 1250 q 226 1260 222 1260 q 236 1255 231 1260 q 247 1239 240 1251 l 346 1063 l 509 1256 q 515 1259 511 1259 q 527 1256 519 1259 q 551 1245 535 1254 q 616 1213 585 1226 q 682 1181 648 1199 q 688 1171 688 1179 q 683 1156 688 1165 q 664 1135 677 1147 q 535 992 599 1063 q 410 851 472 921 q 396 842 404 844 q 382 840 389 840 l 373 840 l 268 840 q 256 842 262 840 q 246 851 250 844 q 237 865 245 852 q 217 895 229 878 q 192 932 205 913 q 168 968 178 952 z " + }, + "˘": { + "ha": 481, + "x_min": 51, + "x_max": 437, + "o": "m 315 991 q 317 998 315 995 q 326 1004 319 1002 q 344 1008 332 1006 q 376 1009 356 1009 q 408 1008 396 1009 q 427 1005 420 1007 q 435 1000 433 1003 q 437 992 437 997 q 421 928 437 960 q 378 871 406 896 q 312 831 350 846 q 230 815 274 815 q 161 823 194 815 q 104 847 129 831 q 65 886 80 863 q 51 939 51 909 q 52 952 51 945 q 54 968 53 959 q 58 985 56 978 q 66 997 60 992 q 87 1003 73 1001 q 126 1006 100 1006 q 151 1005 142 1006 q 165 1002 160 1004 q 172 998 170 1000 q 173 992 173 995 q 172 986 173 991 q 172 975 172 981 q 174 956 172 966 q 184 939 177 947 q 203 926 191 931 q 234 921 216 921 q 270 927 254 921 q 295 942 285 932 q 310 961 305 951 q 315 982 315 972 l 315 991 l 315 991 z " + }, + "˙": { + "ha": 393, + "x_min": 50, + "x_max": 341, + "o": "m 50 949 q 52 1000 51 981 q 53 1029 52 1019 q 53 1043 53 1039 q 53 1051 53 1047 q 53 1060 53 1055 q 54 1078 54 1065 q 56 1113 55 1090 q 60 1171 58 1135 q 64 1202 61 1194 q 79 1213 67 1211 q 204 1213 139 1213 q 327 1214 269 1213 q 337 1211 333 1214 q 341 1198 341 1207 l 322 985 q 317 954 319 962 q 302 944 315 945 q 183 943 244 943 q 57 942 123 942 q 51 943 53 942 q 50 947 50 943 l 50 949 z " + }, + "˚": { + "ha": 481, + "x_min": 50, + "x_max": 431, + "o": "m 239 808 q 164 821 199 808 q 104 856 130 833 q 64 912 79 879 q 50 988 50 945 q 65 1061 50 1027 q 108 1122 81 1096 q 172 1163 135 1147 q 252 1178 209 1178 q 322 1166 289 1178 q 379 1131 355 1154 q 417 1077 404 1109 q 431 1006 431 1045 q 418 934 431 970 q 379 870 404 899 q 319 825 355 842 q 239 808 283 808 m 309 989 q 310 996 310 992 q 310 1002 310 999 q 307 1028 310 1015 q 298 1054 304 1042 q 280 1074 291 1066 q 253 1081 269 1081 q 214 1073 231 1081 q 187 1051 197 1064 q 171 1021 176 1038 q 166 987 166 1004 q 169 961 166 975 q 178 935 172 947 q 197 916 185 924 q 227 907 208 908 q 261 915 247 907 q 286 933 276 922 q 301 960 296 945 q 309 989 307 975 z " + }, + "˛": { + "ha": 369, + "x_min": 34, + "x_max": 328, + "o": "m 34 -262 q 52 -185 37 -221 q 92 -117 68 -149 q 145 -60 115 -86 q 206 -12 175 -33 l 263 -12 q 304 -12 285 -12 q 328 -12 323 -12 q 279 -61 304 -36 q 230 -113 253 -85 q 187 -173 206 -141 q 159 -241 168 -204 q 157 -256 157 -249 q 169 -285 157 -273 q 205 -297 181 -297 q 236 -296 223 -297 q 261 -293 250 -295 q 284 -288 273 -291 q 309 -279 295 -284 q 307 -306 309 -289 q 304 -339 306 -322 q 299 -368 302 -355 q 295 -383 297 -381 l 296 -382 q 237 -400 270 -396 q 176 -404 204 -404 q 116 -394 142 -404 q 72 -365 90 -383 q 44 -320 54 -346 q 34 -262 34 -294 z " + }, + "˜": { + "ha": 760, + "x_min": 43, + "x_max": 719, + "o": "m 456 1071 q 480 1046 469 1053 q 506 1038 491 1038 q 536 1049 527 1038 q 549 1075 545 1061 q 555 1100 553 1088 q 563 1111 557 1111 q 574 1111 564 1111 q 598 1112 584 1112 q 629 1114 612 1113 q 661 1115 646 1114 q 687 1117 676 1116 q 701 1117 699 1117 q 713 1114 707 1117 q 719 1104 719 1112 q 702 1005 719 1055 q 653 915 684 956 q 577 849 621 874 q 479 823 533 823 q 436 827 458 823 q 394 843 415 831 q 351 874 372 854 q 307 926 329 894 q 282 947 295 943 q 252 951 270 951 q 226 945 236 951 q 210 927 216 938 q 201 903 203 916 q 199 877 199 890 q 193 866 199 871 q 179 861 188 861 q 144 861 157 861 q 120 860 131 861 q 96 860 109 860 q 63 859 83 859 q 49 862 56 859 q 43 871 43 865 q 61 987 43 935 q 111 1077 79 1040 q 184 1135 142 1114 q 275 1156 227 1156 q 325 1154 302 1156 q 371 1143 349 1152 q 413 1118 393 1135 q 456 1071 434 1101 z " + }, + "˝": { + "ha": 861, + "x_min": 32, + "x_max": 864, + "o": "m 255 944 q 205 876 225 903 q 172 833 185 849 q 152 812 159 818 q 140 806 144 806 q 133 808 136 806 q 107 825 119 818 q 85 838 96 832 q 65 849 75 844 q 41 861 54 854 q 32 875 32 866 q 34 888 33 880 q 40 907 36 895 l 165 1271 q 172 1284 169 1280 q 180 1287 176 1287 q 186 1285 183 1287 q 193 1282 190 1284 q 299 1221 246 1246 q 403 1168 351 1195 q 415 1149 415 1160 q 404 1122 415 1139 q 360 1071 377 1091 q 327 1033 342 1051 q 296 994 312 1015 q 255 944 279 974 m 667 944 q 605 876 630 903 q 564 833 580 849 q 540 812 549 818 q 527 806 532 806 q 521 808 523 806 q 494 827 506 819 q 472 842 482 836 q 450 854 461 848 q 425 867 439 861 q 418 879 418 873 q 421 892 418 884 q 432 913 425 900 l 608 1284 q 618 1297 613 1294 q 626 1301 623 1301 q 638 1295 631 1301 q 746 1227 690 1257 q 854 1168 802 1198 q 861 1161 859 1164 q 864 1153 864 1158 q 860 1139 864 1147 q 847 1122 857 1131 q 795 1070 816 1091 q 755 1032 774 1050 q 717 994 737 1014 q 667 944 696 974 z " + }, + "̏": { + "ha": 725, + "x_min": 30, + "x_max": 681, + "o": "m 469 968 q 449 1015 457 996 q 434 1052 441 1034 q 419 1088 427 1069 q 400 1135 412 1107 q 398 1147 399 1142 q 397 1156 397 1152 q 401 1172 397 1166 q 414 1181 405 1177 q 520 1239 465 1210 q 627 1305 576 1269 q 630 1307 627 1307 q 633 1308 633 1308 q 635 1309 634 1308 q 636 1309 635 1309 q 642 1303 642 1309 l 680 907 q 681 896 680 901 q 681 888 681 891 q 678 871 681 876 q 667 861 675 866 q 638 849 651 854 q 613 838 625 844 q 586 825 600 832 q 553 808 572 818 q 545 806 551 806 q 533 815 539 806 q 518 843 527 824 q 498 893 510 863 q 469 968 486 924 m 130 968 q 103 1015 114 996 q 83 1051 93 1034 q 62 1087 73 1068 q 37 1135 52 1107 q 31 1150 33 1143 q 30 1162 30 1157 q 33 1174 30 1169 q 43 1181 37 1178 q 96 1210 68 1196 q 151 1240 123 1225 q 207 1272 179 1255 q 259 1305 234 1288 q 269 1309 266 1309 q 274 1303 273 1309 l 350 907 q 353 892 351 898 q 354 881 354 886 q 352 869 354 875 q 343 861 350 864 q 317 849 329 854 q 293 838 305 844 q 268 825 281 832 q 238 808 254 818 q 231 806 235 806 q 217 815 224 806 q 198 843 210 824 q 171 893 187 863 q 130 968 154 924 z " + }, + "̑": { + "ha": 462, + "x_min": 39, + "x_max": 418, + "o": "m 296 833 q 297 842 296 837 q 298 852 298 846 q 281 887 298 870 q 228 903 263 903 q 192 897 206 903 q 168 880 177 890 q 156 858 159 869 q 153 836 153 846 q 153 835 153 836 q 153 834 153 835 q 151 828 153 831 q 144 823 149 825 q 130 820 139 821 q 103 819 120 819 q 67 820 80 819 q 48 826 54 822 q 40 836 41 830 q 39 850 39 842 q 55 917 39 888 q 99 967 71 947 q 164 998 127 987 q 245 1009 202 1009 q 324 995 291 1009 q 378 956 357 980 q 409 902 399 932 q 418 840 418 871 q 417 829 418 833 q 408 821 415 824 q 389 817 401 818 q 353 815 376 815 q 323 816 334 815 q 306 819 312 817 q 297 823 299 821 q 295 829 295 826 q 295 831 295 831 q 296 833 296 832 z " + }, + "̦": { + "ha": 379, + "x_min": 43, + "x_max": 349, + "o": "m 164 -602 q 152 -596 157 -598 q 140 -591 148 -595 q 117 -579 132 -587 q 73 -555 102 -571 q 51 -536 51 -543 q 53 -530 51 -534 q 94 -466 73 -500 q 135 -398 115 -433 l 77 -397 l 65 -397 q 50 -396 56 -397 q 43 -391 43 -395 l 43 -389 q 48 -343 46 -360 q 50 -318 50 -327 q 51 -304 51 -309 q 52 -297 52 -300 q 53 -289 52 -294 q 54 -273 53 -284 q 56 -241 54 -261 q 60 -188 58 -221 q 65 -157 62 -165 q 80 -146 68 -148 q 144 -146 111 -146 q 210 -145 177 -146 q 275 -145 243 -145 q 337 -145 307 -145 q 349 -161 349 -145 l 336 -327 q 333 -353 334 -342 q 329 -371 331 -363 q 325 -388 328 -380 q 319 -407 323 -396 q 306 -432 315 -416 q 284 -465 296 -447 q 259 -500 272 -482 q 234 -534 245 -518 q 214 -562 222 -550 q 202 -577 205 -573 q 197 -584 200 -580 q 190 -593 194 -589 q 181 -601 186 -597 q 172 -604 176 -604 q 164 -602 168 -604 z " + }, + "Δ": { + "ha": 868, + "x_min": 56, + "x_max": 838, + "o": "m 71 88 q 83 126 74 99 q 107 193 93 154 q 139 281 121 232 q 177 382 157 330 q 218 489 197 435 q 259 595 239 544 q 297 691 279 646 q 331 770 316 736 q 340 782 334 777 q 354 792 347 788 q 369 799 361 796 q 380 803 376 802 q 404 809 384 804 q 447 821 423 814 q 495 831 471 827 q 530 836 518 836 q 553 832 541 836 q 570 811 566 829 q 640 623 605 720 q 709 427 675 526 q 776 231 743 328 q 838 41 808 133 l 838 43 q 838 35 838 41 q 837 21 838 28 q 834 8 836 14 q 830 2 833 2 q 595 1 706 2 q 391 0 485 1 q 221 -2 297 -1 q 92 -4 146 -3 q 64 4 73 -2 q 56 25 56 10 q 71 88 56 46 m 435 532 l 389 384 q 371 327 380 355 q 355 275 362 299 q 343 235 348 252 q 337 212 338 218 q 337 206 337 208 q 336 200 337 203 l 499 200 q 483 276 492 235 q 466 360 475 317 q 450 447 458 404 q 435 532 441 491 z " + }, + "∆": { + "ha": 868, + "x_min": 56, + "x_max": 838, + "o": "m 71 88 q 83 126 74 99 q 107 193 93 154 q 139 281 121 232 q 177 382 157 330 q 218 489 197 435 q 259 595 239 544 q 297 691 279 646 q 331 770 316 736 q 340 782 334 777 q 354 792 347 788 q 369 799 361 796 q 380 803 376 802 q 404 809 384 804 q 447 821 423 814 q 495 831 471 827 q 530 836 518 836 q 553 832 541 836 q 570 811 566 829 q 640 623 605 720 q 709 427 675 526 q 776 231 743 328 q 838 41 808 133 l 838 43 q 838 35 838 41 q 837 21 838 28 q 834 8 836 14 q 830 2 833 2 q 595 1 706 2 q 391 0 485 1 q 221 -2 297 -1 q 92 -4 146 -3 q 64 4 73 -2 q 56 25 56 10 q 71 88 56 46 m 435 532 l 389 384 q 371 327 380 355 q 355 275 362 299 q 343 235 348 252 q 337 212 338 218 q 337 206 337 208 q 336 200 337 203 l 499 200 q 483 276 492 235 q 466 360 475 317 q 450 447 458 404 q 435 532 441 491 z " + }, + "–": { + "ha": 683, + "x_min": 76, + "x_max": 673, + "o": "m 176 351 q 99 354 123 351 q 76 367 76 357 q 80 384 76 372 q 92 408 85 395 q 109 436 100 421 q 130 462 119 450 q 152 482 140 474 q 173 490 163 490 l 412 497 q 439 497 420 497 q 483 498 458 498 q 534 499 507 498 q 584 500 561 500 q 622 501 606 500 q 641 501 638 501 q 657 498 650 500 q 668 491 663 495 q 673 477 673 486 q 671 451 673 469 q 667 416 669 433 l 661 370 q 659 363 660 366 q 654 359 658 361 q 645 356 651 357 q 627 355 638 355 l 545 355 q 509 355 528 355 q 473 354 491 355 q 439 354 456 354 q 410 354 422 354 l 176 351 z " + }, + "—": { + "ha": 926, + "x_min": 76, + "x_max": 917, + "o": "m 176 351 q 99 354 123 351 q 76 368 76 358 q 80 384 76 373 q 92 409 85 395 q 109 436 100 422 q 130 463 119 451 q 152 483 140 475 q 173 491 163 490 l 498 497 q 537 497 506 497 q 610 498 568 498 q 699 499 652 499 q 786 500 746 500 q 854 502 827 501 q 884 502 882 502 q 901 498 893 501 q 912 491 907 496 q 917 478 917 487 q 915 452 917 469 q 910 416 913 434 l 904 371 q 902 364 903 367 q 898 359 901 361 q 888 356 895 357 q 871 355 882 355 l 709 355 q 645 355 677 355 q 584 355 613 355 q 532 354 555 355 q 496 354 509 354 l 176 351 z " + }, + "‘": { + "ha": 389, + "x_min": 107, + "x_max": 412, + "o": "m 292 1056 q 303 1049 299 1051 q 315 1044 307 1047 q 338 1033 323 1040 q 383 1008 353 1025 q 405 989 405 997 q 403 984 405 987 q 362 920 383 954 q 321 852 340 886 l 378 851 q 401 851 391 851 q 412 844 412 850 l 412 843 q 407 787 409 804 q 405 762 406 769 q 404 751 404 754 q 403 739 404 748 q 400 707 402 729 q 395 642 399 686 q 390 610 393 619 q 376 600 387 602 q 312 600 345 600 q 246 599 279 600 q 180 599 213 599 q 119 599 148 599 q 107 615 107 599 l 119 781 q 123 806 121 796 q 126 825 125 817 q 131 842 128 833 q 136 861 133 850 q 150 885 140 870 q 171 918 159 901 q 196 954 183 936 q 221 988 209 972 q 241 1016 233 1004 q 254 1031 250 1027 q 259 1038 256 1033 q 266 1047 262 1042 q 274 1055 269 1051 q 284 1058 279 1058 q 292 1056 288 1058 z " + }, + "’": { + "ha": 370, + "x_min": 109, + "x_max": 414, + "o": "m 230 524 q 218 530 222 528 q 206 536 214 532 q 183 548 198 540 q 138 572 168 555 q 117 591 117 583 q 119 596 117 593 q 160 660 138 627 q 201 728 181 694 l 143 729 l 131 729 q 115 730 121 729 q 109 736 109 731 l 109 737 q 114 783 112 766 q 116 809 115 800 q 117 822 117 818 q 118 829 117 826 q 118 838 118 833 q 119 854 119 842 q 122 885 120 865 q 126 939 123 905 q 131 970 127 961 q 146 980 134 979 q 210 980 176 980 q 276 981 243 981 q 341 981 309 981 q 403 981 373 981 q 414 965 414 981 l 402 800 q 398 774 400 784 q 395 755 397 764 q 391 739 393 747 q 385 720 389 730 q 372 695 381 710 q 350 662 362 680 q 325 626 338 644 q 300 592 311 608 q 279 565 288 576 q 268 549 271 553 q 263 542 266 547 q 256 533 260 538 q 247 526 252 529 q 237 522 242 522 q 230 524 234 522 z " + }, + "‚": { + "ha": 398, + "x_min": 56, + "x_max": 361, + "o": "m 176 -225 q 164 -219 169 -221 q 152 -214 160 -218 q 129 -202 144 -210 q 85 -178 114 -194 q 63 -159 63 -166 q 65 -153 63 -157 q 106 -89 85 -123 q 147 -21 127 -56 l 90 -20 l 77 -20 q 62 -19 68 -20 q 56 -14 56 -18 l 56 -12 q 60 34 58 17 q 62 59 62 50 q 63 73 63 68 q 64 80 64 77 q 65 88 64 83 q 66 104 65 93 q 68 136 66 116 q 73 189 70 156 q 77 220 74 212 q 92 231 80 229 q 156 231 123 231 q 222 232 189 231 q 287 232 255 232 q 349 232 319 232 q 361 216 361 232 l 349 50 q 345 24 347 35 q 341 6 343 14 q 337 -11 340 -3 q 332 -30 335 -19 q 318 -55 328 -39 q 296 -87 309 -70 q 271 -123 284 -105 q 246 -157 258 -141 q 226 -184 235 -173 q 214 -200 217 -196 q 209 -207 212 -203 q 202 -216 206 -212 q 193 -224 198 -220 q 184 -227 189 -227 q 176 -225 180 -227 z " + }, + "“": { + "ha": 747, + "x_min": 107, + "x_max": 770, + "o": "m 649 1056 q 661 1049 656 1051 q 672 1044 665 1047 q 695 1033 680 1040 q 741 1008 711 1025 q 762 989 762 997 q 760 984 762 987 q 719 920 741 954 q 678 852 698 886 l 736 851 q 759 851 748 851 q 770 844 770 850 l 770 843 q 765 787 766 804 q 762 762 763 769 q 761 751 762 754 q 760 739 761 748 q 758 707 760 729 q 753 642 756 686 q 748 610 751 619 q 733 600 745 602 q 669 600 703 600 q 603 599 636 600 q 538 599 570 599 q 476 599 505 599 q 465 615 465 599 l 477 781 q 480 806 479 796 q 484 825 482 817 q 488 842 486 833 q 494 861 490 850 q 507 885 498 870 q 529 918 517 901 q 553 954 541 936 q 578 988 566 972 q 599 1016 590 1004 q 611 1031 608 1027 q 616 1038 613 1033 q 623 1047 619 1042 q 631 1055 627 1051 q 642 1058 636 1058 q 649 1056 645 1058 m 292 1056 q 303 1049 299 1051 q 315 1044 307 1047 q 338 1033 323 1040 q 383 1008 353 1025 q 405 989 405 997 q 403 984 405 987 q 362 920 383 954 q 321 852 340 886 l 378 851 q 401 851 391 851 q 412 844 412 850 l 412 843 q 407 787 409 804 q 405 762 406 769 q 404 751 404 754 q 403 739 404 748 q 400 707 402 729 q 395 642 399 686 q 390 610 393 619 q 376 600 387 602 q 312 600 345 600 q 246 599 279 600 q 180 599 213 599 q 119 599 148 599 q 107 615 107 599 l 119 781 q 123 806 121 796 q 126 825 125 817 q 131 842 128 833 q 136 861 133 850 q 150 885 140 870 q 171 918 159 901 q 196 954 183 936 q 221 988 209 972 q 241 1016 233 1004 q 254 1031 250 1027 q 259 1038 256 1033 q 266 1047 262 1042 q 274 1055 269 1051 q 284 1058 279 1058 q 292 1056 288 1058 z " + }, + "”": { + "ha": 727, + "x_min": 109, + "x_max": 771, + "o": "m 587 524 q 575 530 579 528 q 563 536 570 532 q 539 548 555 540 q 495 572 524 555 q 473 591 473 583 q 475 596 473 593 q 516 660 495 627 q 557 728 538 694 l 500 729 l 488 729 q 472 730 478 729 q 466 736 466 731 l 466 737 q 470 783 469 766 q 473 809 472 800 q 474 822 473 818 q 474 829 474 826 q 475 838 475 833 q 476 854 475 842 q 478 885 477 865 q 483 939 480 905 q 487 970 484 961 q 503 980 490 979 q 566 980 533 980 q 632 981 600 981 q 697 981 665 981 q 760 981 730 981 q 771 965 771 981 l 759 800 q 755 774 757 784 q 752 755 753 764 q 748 739 750 747 q 742 720 745 730 q 728 695 738 710 q 707 662 719 680 q 681 626 694 644 q 656 592 668 608 q 636 565 645 576 q 625 549 627 553 q 620 542 623 547 q 612 533 616 538 q 604 526 608 529 q 594 522 599 522 q 587 524 591 522 m 230 524 q 218 530 222 528 q 206 536 214 532 q 183 548 198 540 q 138 572 168 555 q 117 591 117 583 q 119 596 117 593 q 160 660 138 627 q 201 728 181 694 l 143 729 l 131 729 q 115 730 121 729 q 109 736 109 731 l 109 737 q 114 783 112 766 q 116 809 115 800 q 117 822 117 818 q 118 829 117 826 q 118 838 118 833 q 119 854 119 842 q 122 885 120 865 q 126 939 123 905 q 131 970 127 961 q 146 980 134 979 q 210 980 176 980 q 276 981 243 981 q 341 981 309 981 q 403 981 373 981 q 414 965 414 981 l 402 800 q 398 774 400 784 q 395 755 397 764 q 391 739 393 747 q 385 720 389 730 q 372 695 381 710 q 350 662 362 680 q 325 626 338 644 q 300 592 311 608 q 279 565 288 576 q 268 549 271 553 q 263 542 266 547 q 256 533 260 538 q 247 526 252 529 q 237 522 242 522 q 230 524 234 522 z " + }, + "„": { + "ha": 781, + "x_min": 56, + "x_max": 745, + "o": "m 560 -225 q 548 -219 553 -221 q 536 -214 544 -218 q 513 -202 528 -210 q 469 -178 498 -194 q 447 -159 447 -166 q 449 -153 447 -157 q 490 -89 469 -123 q 531 -21 511 -56 l 473 -20 l 461 -20 q 446 -19 452 -20 q 439 -14 439 -18 l 439 -12 q 444 34 442 17 q 446 59 446 50 q 447 73 447 68 q 448 80 448 77 q 449 88 448 83 q 450 104 449 93 q 452 136 450 116 q 456 189 454 156 q 461 220 458 212 q 476 231 464 229 q 540 231 507 231 q 606 232 573 231 q 671 232 639 232 q 733 232 703 232 q 745 216 745 232 l 732 50 q 729 24 730 35 q 725 6 727 14 q 721 -11 724 -3 q 715 -30 719 -19 q 702 -55 711 -39 q 680 -87 692 -70 q 655 -123 668 -105 q 630 -157 642 -141 q 610 -184 618 -173 q 598 -200 601 -196 q 593 -207 596 -203 q 586 -216 590 -212 q 577 -224 582 -220 q 568 -227 572 -227 q 560 -225 564 -227 m 176 -225 q 164 -219 169 -221 q 152 -214 160 -218 q 129 -202 144 -210 q 85 -178 114 -194 q 63 -159 63 -166 q 65 -153 63 -157 q 106 -89 85 -123 q 147 -21 127 -56 l 90 -20 l 77 -20 q 62 -19 68 -20 q 56 -14 56 -18 l 56 -12 q 60 34 58 17 q 62 59 62 50 q 63 73 63 68 q 64 80 64 77 q 65 88 64 83 q 66 104 65 93 q 68 136 66 116 q 73 189 70 156 q 77 220 74 212 q 92 231 80 229 q 156 231 123 231 q 222 232 189 231 q 287 232 255 232 q 349 232 319 232 q 361 216 361 232 l 349 50 q 345 24 347 35 q 341 6 343 14 q 337 -11 340 -3 q 332 -30 335 -19 q 318 -55 328 -39 q 296 -87 309 -70 q 271 -123 284 -105 q 246 -157 258 -141 q 226 -184 235 -173 q 214 -200 217 -196 q 209 -207 212 -203 q 202 -216 206 -212 q 193 -224 198 -220 q 184 -227 189 -227 q 176 -225 180 -227 z " + }, + "†": { + "ha": 612, + "x_min": 91, + "x_max": 640, + "o": "m 437 623 l 406 96 q 406 87 406 91 q 406 81 406 83 q 403 73 406 75 q 389 66 400 70 l 309 68 q 299 67 307 68 q 283 66 292 67 q 267 65 275 66 q 255 65 258 65 q 245 69 250 65 q 241 84 241 73 l 241 87 q 244 144 242 117 q 248 199 245 172 q 252 253 250 226 q 256 311 254 281 q 261 382 258 342 q 265 465 263 422 q 270 547 267 507 q 274 621 272 588 l 190 621 l 172 621 q 110 624 128 621 q 91 638 91 627 q 93 659 91 646 q 97 687 94 672 q 102 718 99 703 q 109 745 106 733 q 119 754 115 750 q 140 760 123 759 l 222 762 q 238 763 222 762 q 279 764 254 764 l 292 933 q 295 961 293 954 q 304 971 296 968 q 451 979 380 975 q 454 980 452 980 q 459 974 459 980 l 446 768 q 551 769 513 768 q 608 771 589 771 q 624 768 616 770 q 635 761 630 765 q 640 747 640 756 q 638 721 640 739 q 633 686 636 703 l 627 640 q 626 633 627 636 q 621 629 625 631 q 611 626 618 627 q 594 625 605 625 q 585 624 594 625 q 558 624 575 624 q 518 624 541 624 q 468 623 495 623 l 437 623 z " + }, + "‡": { + "ha": 684, + "x_min": 68, + "x_max": 692, + "o": "m 465 236 l 457 109 q 457 101 457 104 q 458 94 458 97 q 455 86 458 89 q 441 79 452 83 l 333 20 q 321 15 328 18 q 307 11 314 11 q 297 15 301 11 q 292 30 292 19 q 296 135 292 86 q 304 235 300 184 l 168 234 q 92 237 115 233 q 68 250 68 241 q 73 267 68 256 q 85 291 77 278 q 102 319 92 304 q 122 346 111 334 q 144 365 133 357 q 165 374 155 373 l 248 375 q 265 376 248 376 q 311 378 283 377 q 318 503 314 439 q 326 621 322 566 l 194 621 q 118 624 141 620 q 94 637 94 627 q 99 653 94 642 q 111 678 103 665 q 127 706 118 691 q 148 732 137 720 q 170 752 159 744 q 191 760 181 760 l 273 762 q 289 763 273 762 q 331 764 305 764 l 336 892 q 339 920 338 912 q 349 930 341 928 q 426 951 387 941 q 503 979 464 962 q 506 980 504 980 q 511 974 511 980 l 498 768 q 603 769 565 768 q 659 771 640 771 q 675 768 668 770 q 687 761 682 765 q 692 747 692 756 q 690 721 692 739 q 685 686 688 703 l 679 640 q 677 633 678 636 q 673 629 676 631 q 663 626 669 627 q 646 625 656 625 q 636 624 646 625 q 610 624 627 624 q 570 624 593 624 q 519 623 547 624 l 489 623 l 474 381 q 577 384 539 382 q 633 385 615 385 q 650 381 642 384 q 661 374 656 378 q 666 361 666 370 q 664 334 666 352 q 659 299 662 317 l 653 254 q 651 247 652 250 q 647 242 650 244 q 637 239 644 240 q 620 238 631 238 q 610 238 620 238 q 584 237 601 237 q 544 237 567 237 q 494 236 521 237 l 465 236 z " + }, + "•": { + "ha": 663, + "x_min": 90, + "x_max": 656, + "o": "m 349 203 q 236 225 285 203 q 155 283 188 247 q 106 367 123 319 q 90 465 90 414 q 115 581 90 528 q 184 671 140 634 q 284 729 227 709 q 406 750 342 750 q 507 731 460 750 q 586 678 553 711 q 638 599 619 644 q 656 502 656 553 q 632 376 656 431 q 566 282 608 321 q 468 223 524 243 q 349 203 412 203 z " + }, + "…": { + "ha": 1174, + "x_min": 61, + "x_max": 1138, + "o": "m 61 -26 q 63 25 62 6 q 64 54 64 43 q 64 68 64 64 q 64 76 64 72 q 65 85 64 79 q 66 103 65 90 q 68 137 66 115 q 71 196 69 159 q 76 227 73 218 q 91 237 79 235 q 216 238 151 237 q 338 239 281 238 q 349 235 345 239 q 353 222 353 232 l 334 9 q 329 -21 331 -13 q 313 -31 326 -30 q 195 -33 256 -32 q 68 -33 134 -33 q 63 -33 64 -33 q 61 -28 61 -32 l 61 -26 m 454 -26 q 456 25 455 6 q 457 54 456 43 q 457 68 457 64 q 457 76 457 72 q 457 85 457 79 q 458 103 458 90 q 460 137 459 115 q 464 196 462 159 q 468 227 465 218 q 484 237 471 235 q 608 238 543 237 q 731 239 673 238 q 741 235 737 239 q 745 222 745 232 l 726 9 q 721 -21 724 -13 q 706 -31 719 -30 q 588 -33 648 -32 q 461 -33 527 -33 q 455 -33 457 -33 q 454 -28 454 -32 l 454 -26 m 846 -26 q 848 25 848 6 q 849 54 849 43 q 850 68 850 64 q 850 76 850 72 q 850 85 850 79 q 851 103 850 90 q 853 137 852 115 q 857 196 854 159 q 861 227 858 218 q 876 237 864 235 q 1001 238 936 237 q 1124 239 1066 238 q 1134 235 1130 239 q 1138 222 1138 232 l 1119 9 q 1114 -21 1116 -13 q 1099 -31 1112 -30 q 980 -33 1041 -32 q 854 -33 920 -33 q 848 -33 850 -33 q 846 -28 846 -32 l 846 -26 z " + }, + "‰": { + "ha": 2116, + "x_min": 103, + "x_max": 2104, + "o": "m 717 586 q 827 720 770 652 q 938 857 883 789 q 950 871 946 867 q 961 876 954 876 q 967 876 966 876 q 1032 825 1000 849 q 1096 782 1063 802 q 1110 775 1101 780 q 1118 766 1118 771 q 1116 761 1118 763 l 582 113 q 575 103 576 106 q 568 100 574 100 q 561 101 565 100 q 549 104 556 102 q 487 153 510 136 q 450 180 463 171 q 431 193 437 190 q 422 200 426 197 q 416 209 417 203 q 416 222 416 214 q 493 312 456 268 q 566 400 530 356 q 639 491 602 445 q 717 586 676 536 m 103 764 q 121 889 103 831 q 175 989 139 947 q 265 1056 211 1031 q 391 1080 319 1080 q 508 1056 458 1080 q 591 991 558 1031 q 639 899 623 951 q 654 791 654 846 q 634 661 654 718 q 576 564 614 604 q 487 503 539 524 q 372 482 435 482 q 263 502 313 482 q 178 559 214 522 q 123 648 142 595 q 103 764 103 700 m 277 778 q 281 724 277 751 q 296 675 285 697 q 326 639 307 653 q 375 625 345 625 q 428 641 407 625 q 461 682 449 657 q 479 735 474 706 q 484 793 484 765 q 479 842 484 816 q 463 890 474 868 q 433 927 452 913 q 387 942 414 942 q 334 927 355 942 q 300 888 313 912 q 282 836 287 865 q 277 778 277 806 m 924 247 q 942 372 924 314 q 996 472 960 429 q 1086 538 1032 514 q 1212 563 1140 563 q 1330 538 1280 563 q 1412 474 1379 514 q 1460 381 1444 433 q 1476 273 1476 329 q 1455 143 1476 201 q 1398 46 1435 86 q 1308 -14 1360 7 q 1193 -35 1256 -35 q 1084 -15 1134 -35 q 999 41 1035 5 q 944 130 964 78 q 924 247 924 182 m 1098 260 q 1102 207 1098 234 q 1117 158 1106 180 q 1147 122 1128 136 q 1196 108 1166 108 q 1249 124 1228 108 q 1283 164 1270 140 q 1300 218 1295 189 q 1305 275 1305 248 q 1300 325 1305 298 q 1284 373 1295 351 q 1254 410 1273 395 q 1208 425 1236 425 q 1155 410 1176 425 q 1121 371 1134 395 q 1103 318 1108 347 q 1098 260 1098 289 m 1553 247 q 1571 372 1553 314 q 1625 472 1589 429 q 1715 538 1661 514 q 1841 563 1769 563 q 1958 538 1908 563 q 2041 474 2008 514 q 2089 381 2073 433 q 2104 273 2104 329 q 2084 143 2104 201 q 2026 46 2064 86 q 1937 -14 1989 7 q 1822 -35 1885 -35 q 1713 -15 1763 -35 q 1628 41 1664 5 q 1573 130 1592 78 q 1553 247 1553 182 m 1727 260 q 1731 207 1727 234 q 1746 158 1735 180 q 1776 122 1757 136 q 1825 108 1795 108 q 1878 124 1857 108 q 1911 164 1899 140 q 1929 218 1924 189 q 1934 275 1934 248 q 1929 325 1934 298 q 1913 373 1924 351 q 1883 410 1902 395 q 1837 425 1864 425 q 1784 410 1805 425 q 1750 371 1763 395 q 1732 318 1737 347 q 1727 260 1727 289 z " + }, + "‹": { + "ha": 712, + "x_min": 70, + "x_max": 694, + "o": "m 689 220 q 694 212 694 216 q 693 204 694 208 q 646 100 665 153 q 608 -7 627 46 q 591 -20 604 -20 q 581 -18 586 -20 q 566 -12 575 -16 l 121 248 q 92 265 99 258 q 84 286 84 272 q 79 390 82 337 q 71 500 77 443 q 70 502 71 501 q 70 503 70 503 l 71 508 q 74 514 71 511 q 79 516 77 516 q 137 542 101 527 q 216 573 172 556 q 311 609 260 591 q 414 648 361 628 q 519 687 467 667 q 618 724 571 706 q 649 730 640 730 q 660 720 658 730 q 669 610 664 667 q 686 502 674 553 q 678 486 686 487 l 380 376 q 410 361 387 372 q 463 334 433 349 q 528 301 494 319 q 595 268 563 283 q 652 239 627 252 q 689 220 677 226 z " + }, + "›": { + "ha": 692, + "x_min": 78, + "x_max": 703, + "o": "m 83 220 q 120 239 95 226 q 178 268 146 252 q 244 301 210 283 q 309 334 279 319 q 362 361 340 349 q 393 376 385 372 l 94 486 q 86 502 86 487 q 103 610 98 553 q 113 720 109 667 q 123 730 115 730 q 154 724 132 730 q 254 687 201 706 q 358 648 306 667 q 461 609 411 628 q 556 573 512 591 q 636 542 600 556 q 694 516 671 527 q 699 514 696 516 q 702 508 701 511 l 703 503 q 702 502 703 503 q 702 500 702 501 q 693 390 696 443 q 688 286 690 337 q 681 265 688 272 q 652 248 673 258 l 207 -12 q 192 -18 197 -16 q 181 -20 186 -20 q 170 -17 174 -20 q 164 -7 167 -14 q 125 100 144 46 q 79 204 106 153 q 78 212 78 208 q 79 217 78 215 q 83 220 80 218 z " + }, + "⁄": { + "ha": 503, + "x_min": -6, + "x_max": 601, + "o": "m 256 640 q 336 819 298 729 q 414 1001 374 908 q 428 1028 423 1021 q 442 1036 433 1036 l 447 1036 q 519 1004 484 1021 q 591 980 555 987 q 598 977 595 979 q 601 971 601 975 l 601 969 l 166 10 q 162 -1 163 4 q 159 -11 161 -7 q 155 -17 157 -15 q 146 -20 152 -20 q 129 -15 138 -20 l 60 14 q 44 19 55 16 q 22 28 33 23 q 2 40 11 33 q -6 56 -6 47 q -3 68 -6 62 q 57 198 28 134 q 116 329 86 261 q 180 473 146 397 q 256 640 214 549 z " + }, + "⁴": { + "ha": 599, + "x_min": 43, + "x_max": 615, + "o": "m 602 562 q 592 513 597 538 q 590 503 591 506 q 584 499 590 500 q 562 498 578 498 q 515 497 547 498 l 507 418 q 506 410 507 414 q 500 405 505 406 q 486 399 497 404 q 460 389 475 395 q 428 377 445 383 q 395 366 410 371 q 367 357 379 360 q 351 353 355 353 q 340 356 345 353 q 336 369 336 359 q 338 421 336 389 q 343 495 340 454 q 270 495 307 495 q 203 494 234 494 q 149 494 172 494 q 114 494 125 494 q 59 496 75 494 q 43 509 43 499 q 43 514 43 511 q 47 520 44 517 q 61 544 51 527 q 85 585 71 562 q 117 637 100 609 q 152 694 134 666 l 241 843 q 271 897 258 870 q 299 945 283 923 q 336 982 315 966 q 392 1005 358 998 l 528 1041 q 534 1042 532 1042 q 540 1042 537 1042 q 548 1040 545 1042 q 551 1029 551 1037 l 551 1024 q 545 920 548 964 q 540 834 543 876 q 534 748 537 793 q 529 644 532 703 q 577 645 558 644 q 600 645 596 645 q 610 641 605 645 q 615 629 615 637 q 614 625 615 626 l 602 562 m 355 637 q 363 701 359 667 q 370 768 367 734 q 375 836 373 802 q 378 901 377 869 l 221 637 l 355 637 z " + }, + "€": { + "ha": 985, + "x_min": 72, + "x_max": 991, + "o": "m 659 638 q 670 637 666 638 q 675 633 673 635 q 677 629 677 631 q 679 624 677 627 q 687 593 684 610 q 689 558 689 575 q 686 525 689 536 q 671 509 682 514 q 639 503 660 503 q 583 502 618 502 l 488 502 q 486 478 487 490 q 486 452 486 465 l 659 447 q 675 438 669 447 q 685 418 682 430 q 688 392 688 406 q 689 367 689 378 q 686 334 689 345 q 671 317 682 323 q 639 311 660 312 q 583 311 618 311 l 513 311 q 578 226 536 258 q 682 195 621 195 q 751 197 721 195 q 806 206 781 200 q 857 222 832 212 q 910 248 882 233 q 917 249 912 249 q 923 245 922 249 q 925 230 925 241 q 925 171 925 205 q 925 105 925 136 q 924 51 924 73 q 922 28 923 28 q 856 -4 891 9 q 782 -23 820 -16 q 707 -33 745 -31 q 633 -35 669 -35 q 480 -11 552 -35 q 350 60 408 14 q 251 170 292 106 q 191 314 210 235 q 133 314 156 314 q 96 315 110 313 q 77 321 83 317 q 72 336 72 326 q 73 366 72 338 q 79 437 74 393 q 91 449 84 445 q 105 455 98 453 q 116 457 112 457 q 121 458 121 458 q 143 458 128 458 q 178 457 158 458 q 179 481 178 469 q 181 505 180 494 q 134 505 153 505 q 105 507 115 505 q 90 514 94 509 q 85 530 85 519 q 88 555 85 542 l 90 587 q 91 612 91 600 q 93 628 92 624 q 105 640 98 636 q 119 646 112 644 q 130 649 125 648 q 134 649 134 649 q 165 649 144 649 q 216 648 186 649 q 293 784 245 722 q 403 889 340 845 q 542 958 466 934 q 703 983 618 983 q 807 975 762 983 q 886 955 852 967 q 942 929 920 943 q 980 902 965 915 q 979 897 979 902 q 981 860 979 887 q 985 800 983 833 q 989 732 987 766 q 991 673 991 698 q 988 664 991 669 q 975 659 985 659 q 960 661 968 659 q 924 679 945 665 q 873 710 902 694 q 809 738 844 726 q 731 751 773 751 q 617 722 666 751 q 535 642 568 692 l 659 638 z " + }, + "™": { + "ha": 1327, + "x_min": 149, + "x_max": 1298, + "o": "m 262 376 l 296 822 q 235 823 269 823 q 155 823 202 823 q 150 826 151 823 q 149 833 149 830 l 149 836 l 195 948 q 194 949 194 948 l 194 950 q 210 955 194 952 q 252 960 226 958 q 314 965 279 963 q 387 970 349 968 q 463 975 425 972 q 536 979 502 977 q 596 982 570 981 q 638 984 623 983 q 649 983 644 984 q 654 974 654 981 q 654 972 654 972 q 654 970 654 971 q 631 908 640 937 q 608 845 621 879 q 606 842 607 845 q 602 834 604 838 q 595 826 600 829 q 585 821 591 822 q 576 822 581 822 q 565 822 572 822 l 466 822 q 462 782 464 801 q 458 740 460 762 q 453 691 456 718 q 447 629 450 665 l 427 422 q 426 415 427 419 q 420 410 425 412 l 303 368 q 291 363 298 366 q 277 361 283 361 q 267 364 271 361 q 262 374 262 367 l 262 376 m 1196 985 q 1200 986 1198 985 q 1204 986 1202 986 q 1216 981 1211 986 q 1222 964 1221 975 q 1226 929 1223 953 q 1233 880 1230 905 q 1240 834 1237 854 q 1244 809 1243 813 l 1257 730 q 1261 699 1259 714 q 1265 671 1263 684 q 1268 648 1267 658 q 1270 634 1270 638 l 1298 422 l 1294 410 q 1284 402 1293 407 q 1260 392 1274 397 q 1230 381 1246 387 q 1200 371 1214 376 q 1176 364 1186 367 q 1164 361 1166 361 q 1154 365 1158 361 q 1147 376 1149 368 q 1138 422 1142 397 q 1130 475 1134 447 q 1124 532 1126 503 q 1118 590 1121 562 l 1102 711 l 949 430 q 921 411 936 411 q 908 416 913 411 q 900 430 903 422 q 887 474 892 456 q 876 507 881 492 q 867 536 871 522 q 858 568 863 550 q 846 612 852 587 q 831 673 840 637 q 823 635 826 652 q 818 614 819 619 l 760 368 q 750 363 760 363 q 725 367 741 363 q 694 377 710 372 q 663 390 678 383 q 638 400 648 396 q 632 404 635 401 q 629 414 629 407 q 632 431 629 419 q 640 458 635 443 q 648 489 644 473 q 656 520 652 505 q 663 552 659 536 q 671 587 667 569 l 722 816 q 733 863 728 840 q 742 905 738 886 q 749 937 747 924 q 752 954 752 950 l 856 985 q 866 984 861 985 q 871 977 870 983 l 974 719 l 1067 950 l 1196 985 z " + }, + "−": { + "ha": 739, + "x_min": 102, + "x_max": 700, + "o": "m 202 351 q 126 354 149 351 q 102 367 102 357 q 107 384 102 372 q 119 408 111 395 q 136 436 126 421 q 156 462 145 450 q 178 482 167 474 q 199 490 189 490 l 438 497 q 466 497 446 497 q 509 498 485 498 q 561 499 534 498 q 610 500 587 500 q 649 501 633 500 q 667 501 665 501 q 684 498 676 500 q 695 491 690 495 q 700 477 700 486 q 698 451 700 469 q 693 416 696 433 l 687 370 q 685 363 686 366 q 681 359 684 361 q 671 356 677 357 q 654 355 665 355 l 571 355 q 536 355 554 355 q 500 354 517 355 q 466 354 482 354 q 436 354 449 354 l 202 351 z " + }, + "fi": { + "ha": 1046, + "x_min": 47, + "x_max": 1078, + "o": "m 751 523 l 475 523 q 461 382 468 452 q 448 251 454 313 q 437 142 442 190 q 430 68 433 94 q 429 61 429 66 q 430 56 429 58 q 430 53 430 54 q 426 43 430 47 q 403 35 421 39 l 224 -28 q 205 -35 217 -31 q 181 -39 193 -39 q 164 -35 172 -39 q 157 -18 157 -30 l 157 -14 q 160 18 158 -7 q 166 82 163 43 q 174 170 170 120 q 184 277 178 220 q 195 396 189 334 q 207 521 201 458 l 117 521 q 64 524 80 521 q 47 536 47 527 q 54 551 47 539 q 72 579 61 563 q 94 615 82 596 q 118 651 106 634 q 137 680 129 667 q 147 694 145 692 l 230 694 l 243 802 q 333 1037 261 960 q 543 1114 405 1114 q 572 1109 553 1114 q 611 1098 590 1105 q 655 1083 633 1092 q 695 1066 677 1075 q 724 1051 713 1058 q 735 1039 735 1044 q 730 1025 735 1034 q 703 963 712 987 q 688 924 693 939 q 679 904 682 909 q 669 898 675 898 q 659 904 664 903 q 647 905 654 905 q 620 916 633 911 q 594 921 608 921 q 542 902 564 921 q 507 830 519 883 q 495 764 499 800 q 486 694 490 729 l 796 694 q 910 708 851 694 q 1024 736 969 721 q 1030 736 1026 736 q 1036 731 1032 732 l 1038 730 l 977 80 q 971 49 974 58 q 957 38 969 41 q 837 -3 897 20 q 709 -46 777 -25 q 703 -44 704 -46 q 702 -39 702 -43 q 703 -20 702 -39 q 707 26 705 -2 q 712 91 709 55 q 718 163 715 127 q 724 232 721 199 q 728 288 726 264 l 751 523 m 1078 1120 q 1075 1076 1076 1091 q 1074 1052 1074 1060 q 1073 1042 1073 1044 q 1073 1039 1073 1040 q 1072 1035 1072 1038 q 1071 1022 1072 1032 q 1069 994 1070 1013 q 1065 941 1067 975 q 1060 910 1063 919 q 1045 899 1057 902 q 921 873 985 887 q 796 842 856 860 l 789 849 l 804 1035 q 809 1066 806 1057 q 823 1077 811 1074 q 943 1104 882 1088 q 1071 1134 1003 1120 q 1077 1130 1076 1134 q 1078 1120 1078 1126 z " + }, + "fl": { + "ha": 1181, + "x_min": 47, + "x_max": 1198, + "o": "m 157 -10 q 160 22 158 -3 q 166 85 163 47 q 174 172 170 123 q 184 278 178 221 q 195 396 189 334 q 207 521 201 458 l 117 521 q 64 524 80 521 q 47 536 47 527 q 54 551 47 539 q 72 579 61 563 q 94 615 82 596 q 118 651 106 634 q 137 680 129 667 q 147 694 145 692 l 230 694 l 243 802 q 278 946 253 888 q 339 1040 302 1004 q 424 1092 376 1076 q 526 1107 471 1107 q 638 1094 580 1107 q 757 1058 697 1081 q 776 1049 770 1053 q 783 1039 783 1045 q 778 1025 783 1034 q 746 957 756 983 q 729 916 735 931 q 719 896 723 901 q 707 891 715 891 q 698 893 703 891 q 688 898 694 895 q 640 914 664 907 q 594 921 616 921 q 542 902 564 921 q 507 830 519 883 q 494 764 499 800 q 486 694 490 729 l 663 694 q 674 691 669 694 q 679 678 679 687 q 671 654 679 675 q 648 599 663 633 l 623 544 q 613 529 618 534 q 593 523 608 524 l 475 523 q 461 383 468 452 q 448 253 454 314 q 437 145 442 193 q 430 73 433 98 q 429 65 429 71 q 430 60 429 62 q 430 57 430 58 q 426 47 430 51 q 403 39 421 43 l 224 -24 q 205 -31 217 -27 q 181 -35 193 -35 q 163 -30 170 -35 q 157 -10 157 -24 m 887 574 q 900 758 895 667 q 911 944 905 848 q 916 975 913 966 q 931 986 919 983 q 1058 1009 994 998 q 1185 1041 1121 1021 q 1191 1042 1187 1042 q 1198 1035 1198 1042 l 1110 66 l 1110 55 q 1105 45 1110 49 q 1083 37 1101 41 l 905 -28 q 886 -36 898 -32 q 862 -39 873 -39 q 845 -35 852 -39 q 838 -18 838 -30 l 838 -14 q 849 120 844 54 q 860 255 854 185 q 872 403 865 325 q 887 574 879 481 z " + } + }, + "familyName": "Carter One", + "ascender": 1535, + "descender": -604, + "underlinePosition": -104, + "underlineThickness": 69, + "boundingBox": { + "yMin": -604, + "xMin": -193, + "yMax": 1535, + "xMax": 2104 + }, + "resolution": 1000, + "original_font_information": { + "format": 0, + "copyright": "Copyright (c) 2011 by vernon adams. All rights reserved.", + "fontFamily": "Carter One", + "fontSubfamily": "Regular", + "uniqueID": "vernonadams: Carter One: 2011", + "fullName": "Carter One", + "version": "Version 1.000", + "postScriptName": "CarterOne", + "trademark": "Carter One is a trademark of vernon adams.", + "manufacturer": "vernon adams", + "designer": "vernon adams", + "description": "Copyright (c) 2011 by vernon adams. All rights reserved.", + "licenceURL": "http://scripts.sil.org/OFL" + }, + "cssFontWeight": "normal", + "cssFontStyle": "normal" +} diff --git a/apps/artcraft-web-app/app/src/BuildEnvironment.ts b/apps/artcraft-web-app/app/src/BuildEnvironment.ts index 21b0b25e36..4d66cf0b1a 100644 --- a/apps/artcraft-web-app/app/src/BuildEnvironment.ts +++ b/apps/artcraft-web-app/app/src/BuildEnvironment.ts @@ -1,13 +1,12 @@ - /** * This is cached whenever vite/remix/whatever launches. * It's fed from an environment variable. */ export enum BuildEnvironmentType { - Dev, - DevProxy, - Staging, - Production, + Dev, + DevProxy, + Staging, + Production, } export class BuildEnvironment { @@ -20,10 +19,15 @@ export class BuildEnvironment { } // https://v2.vitejs.dev/guide/env-and-mode.html - console.log('Reading environment variable: `VITE_ENVIRONMENT_TYPE` to determine build environment.') - console.log(`Environment variable 'VITE_ENVIRONMENT_TYPE' = ${import.meta.env.VITE_ENVIRONMENT_TYPE}`) + console.log( + "Reading environment variable: `VITE_ENVIRONMENT_TYPE` to determine build environment.", + ); + console.log( + `Environment variable 'VITE_ENVIRONMENT_TYPE' = ${import.meta.env.VITE_ENVIRONMENT_TYPE}`, + ); - const environmentLabel : string | undefined = import.meta.env.VITE_ENVIRONMENT_TYPE; + const environmentLabel: string | undefined = import.meta.env + .VITE_ENVIRONMENT_TYPE; let environmentType = BuildEnvironmentType.Production; @@ -56,6 +60,6 @@ export class BuildEnvironment { } } -export function GetBuildEnvironment() : BuildEnvironment { +export function GetBuildEnvironment(): BuildEnvironment { return BuildEnvironment.getInstance(); } diff --git a/apps/artcraft-web-app/app/src/Classes/ApiHelpers.ts b/apps/artcraft-web-app/app/src/Classes/ApiHelpers.ts index 20ff1ba595..42993d4316 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiHelpers.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiHelpers.ts @@ -3,7 +3,8 @@ import { StorytellerApiHostStore } from "@storyteller/api"; export async function get_media_url(mediaId: string) { //This is for prod when we have the proper info on the url. - const apiSchemeAndHost = StorytellerApiHostStore.getInstance().getApiSchemeAndHost(); + const apiSchemeAndHost = + StorytellerApiHostStore.getInstance().getApiSchemeAndHost(); const url = `${apiSchemeAndHost}/v1/media_files/file/${mediaId}`; const response = await fetch(url); diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/ApiManager.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/ApiManager.ts index ccd50e77ca..8d90b81ba9 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/ApiManager.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/ApiManager.ts @@ -190,7 +190,9 @@ export class ApiManager { ); } - protected parseBodyValues(params: NonNullableObject): B { + protected parseBodyValues( + params: NonNullableObject, + ): B { return Object.entries(params).reduce((allParams, [key, value]) => { if (!value) { return allParams; diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/EngineApi.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/EngineApi.ts index 09723a3b13..e962ba25f4 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/EngineApi.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/EngineApi.ts @@ -85,5 +85,4 @@ export class EngineApi extends ApiManager { return result; } - } diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/JobsApi.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/JobsApi.ts index a9b4b8da65..1fee8d6d2f 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/JobsApi.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/JobsApi.ts @@ -40,7 +40,7 @@ export class JobsApi extends ApiManager { public ListRecentJobs(): Promise> { const endpoint = `${this.getApiSchemeAndHost()}/v1/jobs/session`; - + return this.get<{ success: boolean; jobs: Job[]; diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaFilesApi.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaFilesApi.ts index 658818925e..02c911bfdf 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaFilesApi.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaFilesApi.ts @@ -8,7 +8,11 @@ import { ApiManager, ApiResponse } from "./ApiManager"; import { authentication } from "~/signals"; import { Visibility } from "~/enums"; -import { FilterEngineCategories, FilterMediaClasses, FilterMediaType } from "~/enums"; +import { + FilterEngineCategories, + FilterMediaClasses, + FilterMediaType, +} from "~/enums"; interface ListMediaQuery { sort_ascending?: boolean; @@ -89,7 +93,9 @@ export class MediaFilesApi extends ApiManager { filter_media_classes: query.filter_media_classes ? query.filter_media_classes.join(",") : undefined, - filter_media_type: query.filter_media_type ? query.filter_media_type.join(",") : undefined, + filter_media_type: query.filter_media_type + ? query.filter_media_type.join(",") + : undefined, filter_engine_categories: query.filter_engine_categories ? query.filter_engine_categories.join(",") : undefined, @@ -121,7 +127,9 @@ export class MediaFilesApi extends ApiManager { filter_media_classes: query.filter_media_classes ? query.filter_media_classes.join(",") : undefined, - filter_media_type: query.filter_media_type ? query.filter_media_type.join(",") : undefined, + filter_media_type: query.filter_media_type + ? query.filter_media_type.join(",") + : undefined, filter_engine_categories: query.filter_engine_categories ? query.filter_engine_categories.join(",") : undefined, @@ -155,7 +163,9 @@ export class MediaFilesApi extends ApiManager { filter_media_classes: query.filter_media_classes ? query.filter_media_classes.join(",") : undefined, - filter_media_type: query.filter_media_type ? query.filter_media_type.join(",") : undefined, + filter_media_type: query.filter_media_type + ? query.filter_media_type.join(",") + : undefined, filter_engine_categories: query.filter_engine_categories ? query.filter_engine_categories.join(",") : undefined, @@ -187,7 +197,9 @@ export class MediaFilesApi extends ApiManager { filter_media_classes: query.filter_media_classes ? query.filter_media_classes.join(",") : undefined, - filter_media_type: query.filter_media_type ? query.filter_media_type.join(",") : undefined, + filter_media_type: query.filter_media_type + ? query.filter_media_type.join(",") + : undefined, filter_engine_categories: query.filter_engine_categories ? query.filter_engine_categories.join(",") : undefined, @@ -217,7 +229,9 @@ export class MediaFilesApi extends ApiManager { filter_media_classes: query.filter_media_classes ? query.filter_media_classes.join(",") : undefined, - filter_media_type: query.filter_media_type ? query.filter_media_type.join(",") : undefined, + filter_media_type: query.filter_media_type + ? query.filter_media_type.join(",") + : undefined, filter_engine_categories: query.filter_engine_categories ? query.filter_engine_categories.join(",") : undefined, diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaUploadApi.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaUploadApi.ts index 547d0357de..df898a62c1 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaUploadApi.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/MediaUploadApi.ts @@ -5,7 +5,9 @@ import { FilterEngineCategories, Visibility } from "~/enums"; export class MediaUploadApi extends ApiManager { private sessionToken?: string; - private async getSessionTokenForUploadStudioShot(): Promise> { + private async getSessionTokenForUploadStudioShot(): Promise< + ApiResponse + > { const endpoint = `${this.getApiSchemeAndHost()}/v1/session_token`; return await this.get<{ maybe_signed_session: string; @@ -177,7 +179,8 @@ export class MediaUploadApi extends ApiManager { }): Promise> { const endpoint = `${this.getApiSchemeAndHost()}/v1/media_files/upload/image`; const options: Record = { - is_intermediate_system_file: EIntermediateFile[is_intermediate_system_file], + is_intermediate_system_file: + EIntermediateFile[is_intermediate_system_file], maybe_title, maybe_visibility: maybe_visibility?.toString(), }; diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/StudioGen2Api.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/StudioGen2Api.ts index 9b4eb0cd46..b3cd70f5da 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/StudioGen2Api.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/StudioGen2Api.ts @@ -1,4 +1,3 @@ - import { ApiManager, ApiResponse } from "./ApiManager"; import { Visibility } from "~/enums"; diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/UserBookmarksApi.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/UserBookmarksApi.ts index 369b2bd50b..1456a5d545 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/UserBookmarksApi.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/UserBookmarksApi.ts @@ -85,5 +85,4 @@ export class UserBookmarksApi extends ApiManager { return { success: false, errorMessage: err.message }; }); } - } diff --git a/apps/artcraft-web-app/app/src/Classes/ApiManager/UsersApi.ts b/apps/artcraft-web-app/app/src/Classes/ApiManager/UsersApi.ts index daa147493b..0375d9cd9f 100644 --- a/apps/artcraft-web-app/app/src/Classes/ApiManager/UsersApi.ts +++ b/apps/artcraft-web-app/app/src/Classes/ApiManager/UsersApi.ts @@ -7,7 +7,7 @@ interface SignupRequest { password: string; password_confirmation: string; signup_source?: string; -}; +} export class UsersApi extends ApiManager { public GetSession(): Promise< diff --git a/apps/artcraft-web-app/app/src/Helpers/CanvasHelpers.ts b/apps/artcraft-web-app/app/src/Helpers/CanvasHelpers.ts index 929ab13416..1ad72d8f4a 100644 --- a/apps/artcraft-web-app/app/src/Helpers/CanvasHelpers.ts +++ b/apps/artcraft-web-app/app/src/Helpers/CanvasHelpers.ts @@ -1,5 +1,8 @@ - -export const normalizeCanvas = (canvas: HTMLCanvasElement, width: number, height: number): OffscreenCanvas => { +export const normalizeCanvas = ( + canvas: HTMLCanvasElement, + width: number, + height: number, +): OffscreenCanvas => { const newCanvas = new OffscreenCanvas(width, height); newCanvas.width = width; newCanvas.height = height; @@ -12,9 +15,13 @@ export const normalizeCanvas = (canvas: HTMLCanvasElement, width: number, height ctx.imageSmoothingEnabled = true; ctx.drawImage(canvas, 0, 0, width, height); return newCanvas; -} +}; -export const drawAlphaMask = (canvas: OffscreenCanvas, width: number, height: number) => { +export const drawAlphaMask = ( + canvas: OffscreenCanvas, + width: number, + height: number, +) => { const ctx = canvas.getContext("2d"); if (!ctx) { throw new Error("Failed to get canvas context"); @@ -26,4 +33,4 @@ export const drawAlphaMask = (canvas: OffscreenCanvas, width: number, height: nu ctx.fillStyle = "black"; ctx.fillRect(0, 0, width, height); ctx.restore(); -} +}; diff --git a/apps/artcraft-web-app/app/src/api/GetCdnOrigin.ts b/apps/artcraft-web-app/app/src/api/GetCdnOrigin.ts index 79e16f250c..2c8362840f 100644 --- a/apps/artcraft-web-app/app/src/api/GetCdnOrigin.ts +++ b/apps/artcraft-web-app/app/src/api/GetCdnOrigin.ts @@ -3,7 +3,7 @@ /** * Return the CDN origin (scheme + host + optional port, but no path) * See: https://web.dev/articles/url-parts - * + * * TODO(bt,2025-02-10): Make this easier to configure in development */ class CdnHostHelper { @@ -15,7 +15,7 @@ class CdnHostHelper { return CdnHostHelper.instance; } - const origin = 'https://cdn-2.fakeyou.com'; + const origin = "https://cdn-2.fakeyou.com"; const instance = new CdnHostHelper(origin); CdnHostHelper.instance = instance; @@ -32,6 +32,6 @@ class CdnHostHelper { } // TODO(bt,2025-02-10): Consolidate all of this logic. -export function GetCdnOrigin() : string { +export function GetCdnOrigin(): string { return CdnHostHelper.getInstance().getOrigin(); } diff --git a/apps/artcraft-web-app/app/src/api/SyncStorytellerApiConfig.ts b/apps/artcraft-web-app/app/src/api/SyncStorytellerApiConfig.ts index 04c63ee99e..50ba7e275b 100644 --- a/apps/artcraft-web-app/app/src/api/SyncStorytellerApiConfig.ts +++ b/apps/artcraft-web-app/app/src/api/SyncStorytellerApiConfig.ts @@ -21,7 +21,7 @@ class Cache { return instance; } - public canCall() : boolean { + public canCall(): boolean { if (this.lastFetchSuccess === undefined) { return true; } @@ -38,7 +38,7 @@ class Cache { * Runs any necessary user session functions if things change. */ export const SyncStorytellerApiConfig = async () => { - console.log("SyncStorytellerApiConfig()") + console.log("SyncStorytellerApiConfig()"); const cache = Cache.getInstance(); const oldValue = StorytellerApiHostStore.getInstance().getApiSchemeAndHost(); @@ -52,7 +52,7 @@ export const SyncStorytellerApiConfig = async () => { const schemeAndHost = appInfo.payload.storyteller_host; if (!schemeAndHost) { - return ; + return; } console.log(`Updating hostname to ${schemeAndHost}`); @@ -61,10 +61,10 @@ export const SyncStorytellerApiConfig = async () => { cache.setCallSuccess(); if (oldValue !== schemeAndHost) { - console.log("SyncStorytellerApiConfig() - force session refresh") - // NB: This is a hack that might prevent the login screen from being shown + console.log("SyncStorytellerApiConfig() - force session refresh"); + // NB: This is a hack that might prevent the login screen from being shown // if the user is working in development. await forceGetUserInfoAndSubcriptions(); } }); -} +}; diff --git a/apps/artcraft-web-app/app/src/components/GlobalFileDropHandler/GlobalFileDropHandler.tsx b/apps/artcraft-web-app/app/src/components/GlobalFileDropHandler/GlobalFileDropHandler.tsx index 368189837e..fcc49a4e71 100644 --- a/apps/artcraft-web-app/app/src/components/GlobalFileDropHandler/GlobalFileDropHandler.tsx +++ b/apps/artcraft-web-app/app/src/components/GlobalFileDropHandler/GlobalFileDropHandler.tsx @@ -51,7 +51,8 @@ export function GlobalFileDropHandler() { const setup = async () => { try { - const { getCurrentWebviewWindow } = await import("@tauri-apps/api/webviewWindow"); + const { getCurrentWebviewWindow } = + await import("@tauri-apps/api/webviewWindow"); const { convertFileSrc } = await import("@tauri-apps/api/core"); const appWindow = getCurrentWebviewWindow(); @@ -73,7 +74,9 @@ export function GlobalFileDropHandler() { // Find first path with a recognised extension let modalKind: ModalType = null; for (const p of payload.paths) { - modalKind = getModalTypeForFileName(p.split(/[/\\]/).pop() ?? ""); + modalKind = getModalTypeForFileName( + p.split(/[/\\]/).pop() ?? "", + ); if (modalKind) break; } if (!modalKind) return; @@ -88,7 +91,7 @@ export function GlobalFileDropHandler() { if (skippedCount > 0) { toast( `${skippedCount} file${skippedCount > 1 ? "s" : ""} skipped — unsupported or mixed types`, - { icon: "⚠️" } + { icon: "⚠️" }, ); } @@ -98,10 +101,11 @@ export function GlobalFileDropHandler() { const fileName = path.split(/[/\\]/).pop() ?? "file"; const assetUrl = convertFileSrc(path); const response = await fetch(assetUrl); - if (!response.ok) throw new Error(`HTTP ${response.status}`); + if (!response.ok) + throw new Error(`HTTP ${response.status}`); const blob = await response.blob(); return new File([blob], fileName); - }) + }), ); await appWindow.setFocus(); setModalType(modalKind); @@ -121,8 +125,9 @@ export function GlobalFileDropHandler() { }; setup(); - return () => { unlisteners.forEach((fn) => fn()); }; - + return () => { + unlisteners.forEach((fn) => fn()); + }; } else { // HTML5 path (browser dev mode) const handleDragEnter = (e: DragEvent) => { @@ -135,7 +140,10 @@ export function GlobalFileDropHandler() { const handleDragLeave = (e: DragEvent) => { if (!e.dataTransfer?.types.includes("Files")) return; dragCounter.current--; - if (dragCounter.current <= 0) { dragCounter.current = 0; setIsDragging(false); } + if (dragCounter.current <= 0) { + dragCounter.current = 0; + setIsDragging(false); + } }; const handleDragOver = (e: DragEvent) => { e.preventDefault(); @@ -161,14 +169,14 @@ export function GlobalFileDropHandler() { // Keep only files matching the detected modal type const matchingFiles = allFiles.filter( - (f) => getModalTypeForFileName(f.name) === modalKind + (f) => getModalTypeForFileName(f.name) === modalKind, ); const skippedCount = allFiles.length - matchingFiles.length; if (skippedCount > 0) { toast( `${skippedCount} file${skippedCount > 1 ? "s" : ""} skipped — unsupported or mixed types`, - { icon: "⚠️" } + { icon: "⚠️" }, ); } @@ -194,8 +202,12 @@ export function GlobalFileDropHandler() {
    -
    Drop to Upload
    -
    GLB, PNG, JPG, JPEG, SPZ
    +
    + Drop to Upload +
    +
    + GLB, PNG, JPG, JPEG, SPZ +
    )} diff --git a/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DExperience.tsx b/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DExperience.tsx index 797825d6f2..1a3414a2bd 100644 --- a/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DExperience.tsx +++ b/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DExperience.tsx @@ -31,7 +31,10 @@ import { useSelectedModel, useSelectedProviderForModel, } from "@storyteller/ui-model-selector"; -import { CostCalculatorButton, useCostBreakdownModalStore } from "@storyteller/ui-pricing-modal"; +import { + CostCalculatorButton, + useCostBreakdownModalStore, +} from "@storyteller/ui-pricing-modal"; import { HelpMenuButton } from "@storyteller/ui-help-menu"; import { CreateEmptyState } from "~/components/generation-feed/CreateEmptyState"; @@ -88,7 +91,8 @@ export const ImageTo3DExperience = ({ ); const selectedObjectModel = useSelectedModel(OBJECT_MODEL_PAGE); const selectedObjectModelId = - (selectedObjectModel?.id as EnqueueImageTo3dObjectModel | undefined) ?? DEFAULT_OBJECT_MODEL_ID; + (selectedObjectModel?.id as EnqueueImageTo3dObjectModel | undefined) ?? + DEFAULT_OBJECT_MODEL_ID; const worldCredits = useCostBreakdownModalStore( (s) => s.estimatedCreditsByPage[WORLD_MODEL_PAGE], ); @@ -112,7 +116,9 @@ export const ImageTo3DExperience = ({ const [selectedResultId, setSelectedResultId] = useState(null); const promptContentRef = useRef(null); const [promptHeight, setPromptHeight] = useState(400); - const [vh, setVh] = useState(typeof window !== "undefined" ? window.innerHeight : 800); + const [vh, setVh] = useState( + typeof window !== "undefined" ? window.innerHeight : 800, + ); const objectResults = useImageTo3DStore((s) => s.results); const objectStartGeneration = useImageTo3DStore((s) => s.startGeneration); @@ -123,16 +129,26 @@ export const ImageTo3DExperience = ({ const worldStartGeneration = useImageTo3DWorldStore((s) => s.startGeneration); const worldFailGeneration = useImageTo3DWorldStore((s) => s.failGeneration); const worldReset = useImageTo3DWorldStore((s) => s.reset); - const pendingExternalImage = useImageTo3DWorldStore((s) => s.pendingExternalImage); - const clearPendingExternalImage = useImageTo3DWorldStore((s) => s.clearPendingExternalImage); + const pendingExternalImage = useImageTo3DWorldStore( + (s) => s.pendingExternalImage, + ); + const clearPendingExternalImage = useImageTo3DWorldStore( + (s) => s.clearPendingExternalImage, + ); const pendingObjectImage = useImageTo3DStore((s) => s.pendingExternalImage); - const clearPendingObjectImage = useImageTo3DStore((s) => s.clearPendingExternalImage); + const clearPendingObjectImage = useImageTo3DStore( + (s) => s.clearPendingExternalImage, + ); const results = variant === "object" ? objectResults : worldResults; const resetResults = variant === "object" ? objectReset : worldReset; - const [uploadedMediaToken, setUploadedMediaToken] = useState(null); + const [uploadedMediaToken, setUploadedMediaToken] = useState( + null, + ); const [isGalleryModalOpen, setIsGalleryModalOpen] = useState(false); - const [selectedGalleryImages, setSelectedGalleryImages] = useState([]); + const [selectedGalleryImages, setSelectedGalleryImages] = useState( + [], + ); useEffect(() => { // Read from store directly to avoid Strict Mode double-execution adding the image twice @@ -256,7 +272,9 @@ export const ImageTo3DExperience = ({ const handleWorldFiles = async (files: File[]) => { const remaining = MAX_WORLD_IMAGES - worldImages.length; - const imageFiles = files.filter((f) => f.type.startsWith("image/")).slice(0, remaining); + const imageFiles = files + .filter((f) => f.type.startsWith("image/")) + .slice(0, remaining); await Promise.all( imageFiles.map(async (file) => { @@ -380,7 +398,8 @@ export const ImageTo3DExperience = ({ .filter((img) => img.mediaToken && !img.isUploading) .map((img) => img.mediaToken!); const note = - worldPrompt.trim() || `${worldImages.length} image${worldImages.length !== 1 ? "s" : ""}`; + worldPrompt.trim() || + `${worldImages.length} image${worldImages.length !== 1 ? "s" : ""}`; const firstPreview = worldImages[0]?.preview; worldStartGeneration("image", note, firstPreview, subscriberId); @@ -388,7 +407,9 @@ export const ImageTo3DExperience = ({ window.__storeTaskEnqueueMeta?.({ prompt: worldPrompt.trim() || undefined, - refImageUrls: worldImages.map((img) => img.preview).filter(Boolean) as string[], + refImageUrls: worldImages + .map((img) => img.preview) + .filter(Boolean) as string[], modelType: (selectedWorldModel as any)?.tauriId || (SPLAT_MODELS[0] as any)?.tauriId || @@ -408,9 +429,18 @@ export const ImageTo3DExperience = ({ const snapshotPrompt = prompt.trim(); const snapshotPreview = uploadedPreview || undefined; const snapshotName = uploadedName; - const note = activeMode === "text" ? snapshotPrompt : snapshotName || "Generated Model"; + const note = + activeMode === "text" + ? snapshotPrompt + : snapshotName || "Generated Model"; - objectStartGeneration(activeMode, note, snapshotPreview, false, subscriberId); + objectStartGeneration( + activeMode, + note, + snapshotPreview, + false, + subscriberId, + ); setSelectedResultId(subscriberId); window.__storeTaskEnqueueMeta?.({ @@ -423,7 +453,9 @@ export const ImageTo3DExperience = ({ await GenerateMesh({ prompt: snapshotPrompt || undefined, reference_image_media_tokens: - activeMode === "image" && uploadedMediaToken ? [uploadedMediaToken] : undefined, + activeMode === "image" && uploadedMediaToken + ? [uploadedMediaToken] + : undefined, model: selectedObjectModel?.tauriId ?? selectedObjectModelId, frontend_caller: "mini_app", frontend_subscriber_id: subscriberId, @@ -434,7 +466,10 @@ export const ImageTo3DExperience = ({ } } } catch (error) { - const errorMessage = commandErrorMessage(error, "An unexpected error occurred"); + const errorMessage = commandErrorMessage( + error, + "An unexpected error occurred", + ); toast.error(`Failed to generate 3D model: ${errorMessage}`); if (variant === "world") { worldFailGeneration(subscriberId); @@ -459,7 +494,15 @@ export const ImageTo3DExperience = ({ return prompt.trim().length > 3; } return true; - }, [variant, activeMode, uploadedMediaToken, prompt, isGenerating, isUploading, worldImages]); + }, [ + variant, + activeMode, + uploadedMediaToken, + prompt, + isGenerating, + isUploading, + worldImages, + ]); const hasResults = results.length > 0; const showPromptAtBottom = hasResults; @@ -471,7 +514,9 @@ export const ImageTo3DExperience = ({ const centerTop = vh / 2 - promptHeight / 2 + 80; const bottomTop = vh - bottomOffsetPx; - const targetTop = showPromptAtBottom ? Math.max(0, bottomTop) : Math.max(0, centerTop); + const targetTop = showPromptAtBottom + ? Math.max(0, bottomTop) + : Math.max(0, centerTop); const promptAnim = useSpring({ top: targetTop, @@ -539,7 +584,10 @@ export const ImageTo3DExperience = ({ }} > {!hasResults && ( @@ -663,7 +711,8 @@ export const ImageTo3DExperience = ({ onDragLeave={(e) => { e.preventDefault(); e.stopPropagation(); - if (!e.currentTarget.contains(e.relatedTarget as Node)) setDragActive(false); + if (!e.currentTarget.contains(e.relatedTarget as Node)) + setDragActive(false); }} onDrop={(e) => { e.preventDefault(); @@ -671,7 +720,9 @@ export const ImageTo3DExperience = ({ setDragActive(false); if (e.dataTransfer?.files) handleWorldFiles( - Array.from(e.dataTransfer.files).filter((f) => f.type.startsWith("image/")), + Array.from(e.dataTransfer.files).filter((f) => + f.type.startsWith("image/"), + ), ); }} onClick={() => worldFileInputRef.current?.click()} @@ -717,7 +768,10 @@ export const ImageTo3DExperience = ({ {img.name} {img.isUploading && (
    @@ -775,7 +829,10 @@ export const ImageTo3DExperience = ({ onClick={() => worldFileInputRef.current?.click()} > @@ -849,7 +906,8 @@ export const ImageTo3DExperience = ({ return renderImageMode(); }; - const activeResult = results.find((r) => r.id === selectedResultId) || results[0]; + const activeResult = + results.find((r) => r.id === selectedResultId) || results[0]; return (
    @@ -874,7 +932,11 @@ export const ImageTo3DExperience = ({
    {!hasResults && (
    - +
    )} @@ -929,11 +991,14 @@ export const ImageTo3DExperience = ({ variant="action" icon={BoxIcon} onClick={() => { - toast.promise(downloadFileFromUrl(activeResult.modelUrl!), { - loading: "Downloading GLB...", - success: "Downloaded GLB file", - error: "Failed to download file", - }); + toast.promise( + downloadFileFromUrl(activeResult.modelUrl!), + { + loading: "Downloading GLB...", + success: "Downloaded GLB file", + error: "Failed to download file", + }, + ); }} > GLB @@ -1000,7 +1065,9 @@ export const ImageTo3DExperience = ({
    {isPending ? ( - Generating… + + Generating… + ) : ( {formatTime(result.timestamp)} @@ -1021,13 +1088,21 @@ export const ImageTo3DExperience = ({
    -
    -
    {renderActiveMode()}
    +
    +
    + {renderActiveMode()} +
    @@ -1109,7 +1188,9 @@ export const ImageTo3DExperience = ({ mode="select" selectedItemIds={selectedGalleryImages} onSelectItem={handleImageSelect} - maxSelections={variant === "world" ? MAX_WORLD_IMAGES - worldImages.length : 1} + maxSelections={ + variant === "world" ? MAX_WORLD_IMAGES - worldImages.length : 1 + } onUseSelected={handleGallerySelect} onDownloadClicked={downloadFileFromUrl} forceFilter="image" diff --git a/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DStore.ts b/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DStore.ts index 9af3897109..2d4ef5a0c1 100644 --- a/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DStore.ts +++ b/apps/artcraft-web-app/app/src/components/experiences/ImageTo3DStore.ts @@ -31,4 +31,3 @@ export const useImageTo3DStore = create((set) => ({ })), reset: () => set({ results: [] }), })); - diff --git a/apps/artcraft-web-app/app/src/components/generation-feed/DesktopGenerationGallery.tsx b/apps/artcraft-web-app/app/src/components/generation-feed/DesktopGenerationGallery.tsx index 327031844a..dda61b7851 100644 --- a/apps/artcraft-web-app/app/src/components/generation-feed/DesktopGenerationGallery.tsx +++ b/apps/artcraft-web-app/app/src/components/generation-feed/DesktopGenerationGallery.tsx @@ -1,5 +1,12 @@ import { useCallback, useEffect, useMemo, useState } from "react"; -import { ArrowDownToLineIcon, CheckIcon, LinkIcon, LoaderCircleIcon, RotateCwIcon, VideoIcon } from "lucide-react"; +import { + ArrowDownToLineIcon, + CheckIcon, + LinkIcon, + LoaderCircleIcon, + RotateCwIcon, + VideoIcon, +} from "lucide-react"; import { DynamicIcon } from "@storyteller/icons"; import { Tooltip } from "@storyteller/ui-tooltip"; import { toast } from "@storyteller/ui-toaster"; @@ -271,7 +278,11 @@ function ItemActions({ if (!item.fullImage || isDownloading) return; setIsDownloading(true); try { - await downloadMediaFileToDisk(item.fullImage, item.mediaClass, item.modelId); + await downloadMediaFileToDisk( + item.fullImage, + item.mediaClass, + item.modelId, + ); } finally { setIsDownloading(false); } diff --git a/apps/artcraft-web-app/app/src/components/generation-feed/desktopMediaActions.ts b/apps/artcraft-web-app/app/src/components/generation-feed/desktopMediaActions.ts index 165580074f..83b2c87897 100644 --- a/apps/artcraft-web-app/app/src/components/generation-feed/desktopMediaActions.ts +++ b/apps/artcraft-web-app/app/src/components/generation-feed/desktopMediaActions.ts @@ -1,8 +1,5 @@ import toast from "react-hot-toast"; -import { - FilterMediaClasses, - PromptsApi, -} from "@storyteller/api"; +import { FilterMediaClasses, PromptsApi } from "@storyteller/api"; import type { Prompts } from "@storyteller/api"; import { DownloadUrl, @@ -47,7 +44,11 @@ import { useTabStore } from "~/pages/Stores/TabState"; export const SHARE_URL_BASE = "https://getartcraft.com/media/"; /** Download a media file, prompting for a location when configured to. */ -export async function downloadMediaFileToDisk(url: string, mediaClass?: string, model?: string) { +export async function downloadMediaFileToDisk( + url: string, + mediaClass?: string, + model?: string, +) { try { const chosenPath = await promptDownloadLocationIfNeeded(url, model); if (chosenPath === null) { @@ -127,7 +128,10 @@ export async function downloadMediaFilesToFolder( } /** Seed the video page with `url` as the starting image and switch to it. */ -export async function applyMakeVideoFromImage(url: string, mediaToken?: string) { +export async function applyMakeVideoFromImage( + url: string, + mediaToken?: string, +) { try { const referenceImage: RefImage = { id: Math.random().toString(36).substring(7), @@ -229,8 +233,13 @@ export function applyRecreateFromPromptData(data: { // Set model first so the UI syncs sizeOptions / durationOptions const videoModel = promptData.maybe_model_type - ? useModelsStore.getState().videoModels.find((model) => model.tauriId === promptData.maybe_model_type || model.id === promptData.maybe_model_type) - ?? VIDEO_MODELS_BY_ID.get(promptData.maybe_model_type) + ? (useModelsStore + .getState() + .videoModels.find( + (model) => + model.tauriId === promptData.maybe_model_type || + model.id === promptData.maybe_model_type, + ) ?? VIDEO_MODELS_BY_ID.get(promptData.maybe_model_type)) : undefined; if (videoModel) { modelStore.setSelectedModel(ModelPage.ImageToVideo, videoModel); @@ -263,7 +272,9 @@ export function applyRecreateFromPromptData(data: { // Map API resolution (like "one_k") → video store format (like "1080p") if (promptData.maybe_resolution && videoModel?.resolutionOptions) { const value = videoResolutionValue(promptData.maybe_resolution); - const option = videoModel.resolutionOptions.find((option) => videoResolutionValue(option) === value); + const option = videoModel.resolutionOptions.find( + (option) => videoResolutionValue(option) === value, + ); videoStore.setResolution(option ?? value); } @@ -289,8 +300,14 @@ export function applyRecreateFromPromptData(data: { } if (promptData.maybe_model_type) { - const model = useModelsStore.getState().imageModels.find((model) => model.tauriId === promptData.maybe_model_type || model.id === promptData.maybe_model_type) - ?? IMAGE_MODELS_BY_ID.get(promptData.maybe_model_type); + const model = + useModelsStore + .getState() + .imageModels.find( + (model) => + model.tauriId === promptData.maybe_model_type || + model.id === promptData.maybe_model_type, + ) ?? IMAGE_MODELS_BY_ID.get(promptData.maybe_model_type); if (model) modelStore.setSelectedModel(ModelPage.TextToImage, model); } useTabStore.getState().setActiveTab("IMAGE"); diff --git a/apps/artcraft-web-app/app/src/components/generation-feed/useDesktopGenerationFeed.ts b/apps/artcraft-web-app/app/src/components/generation-feed/useDesktopGenerationFeed.ts index e0923cbf03..510a0201db 100644 --- a/apps/artcraft-web-app/app/src/components/generation-feed/useDesktopGenerationFeed.ts +++ b/apps/artcraft-web-app/app/src/components/generation-feed/useDesktopGenerationFeed.ts @@ -85,7 +85,8 @@ export function useDesktopGenerationFeed(options: { try { const { tasks } = await GetTaskQueue(); const filtered = tasks.filter( - (t) => getTaskMediaType(t) === mediaType && !dismissedRef.current.has(t.id), + (t) => + getTaskMediaType(t) === mediaType && !dismissedRef.current.has(t.id), ); const newInProgress = filtered @@ -243,7 +244,10 @@ export function useDesktopGenerationFeed(options: { : undefined; // Without a preview or template, getMediaThumbnail would fall back to // the .mp4 itself, which an can't show. Try again next round. - if (!links?.maybe_video_previews?.animated && !links?.maybe_thumbnail_template) { + if ( + !links?.maybe_video_previews?.animated && + !links?.maybe_thumbnail_template + ) { continue; } const thumbnail = getMediaThumbnail(links, "video", { @@ -260,7 +264,10 @@ export function useDesktopGenerationFeed(options: { } }; - const intervalId = setInterval(lookUpMissingThumbnails, MISSING_THUMBNAIL_POLL_MS); + const intervalId = setInterval( + lookUpMissingThumbnails, + MISSING_THUMBNAIL_POLL_MS, + ); return () => { cancelled = true; clearInterval(intervalId); @@ -355,7 +362,9 @@ function getTaskMediaType(t: TaskQueueItem): "image" | "video" | "other" { function getTaskModelLabel(t: TaskQueueItem): string { const modelType = t.model_type ? String(t.model_type) : ""; - const modelDisplay = modelType ? findDesktopModel(modelType)?.fullName ?? getModelDisplayName(modelType) : undefined; + const modelDisplay = modelType + ? (findDesktopModel(modelType)?.fullName ?? getModelDisplayName(modelType)) + : undefined; const provider = t.provider ? getProviderDisplayName(String(t.provider).toLowerCase()) : undefined; diff --git a/apps/artcraft-web-app/app/src/components/reusable/ConfirmationModal.tsx b/apps/artcraft-web-app/app/src/components/reusable/ConfirmationModal.tsx index 02f09be486..3583caa980 100644 --- a/apps/artcraft-web-app/app/src/components/reusable/ConfirmationModal.tsx +++ b/apps/artcraft-web-app/app/src/components/reusable/ConfirmationModal.tsx @@ -1,7 +1,7 @@ import { Fragment, useCallback } from "react"; import { Dialog, Transition } from "@headlessui/react"; import { DoNotShow } from "~/constants"; -import { Button } from "@storyteller/ui-button" +import { Button } from "@storyteller/ui-button"; import { Checkbox } from "@storyteller/ui-checkbox"; interface Props { @@ -72,7 +72,9 @@ export const ConfirmationModal = ({ {title} -
    {text}
    +
    + {text} +
    {canHide && (
    @@ -106,4 +108,4 @@ export const ConfirmationModal = ({ ); -}; \ No newline at end of file +}; diff --git a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadFilesMedia.tsx b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadFilesMedia.tsx index b85e7b063b..cb1ee76b4a 100644 --- a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadFilesMedia.tsx +++ b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadFilesMedia.tsx @@ -80,11 +80,15 @@ export const UploadFilesMedia = ({ } }} /> - {assetFile.error &&
    {assetFile.error}
    } + {assetFile.error && ( +
    {assetFile.error}
    + )}
    {!assetFile.value && ( -
    File Preview
    +
    + File Preview +
    )} {assetFile.value && (assetFile.value.type === "video/mp4" ? ( diff --git a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadImageMedia.tsx b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadImageMedia.tsx index 9439af2ef7..487571559e 100644 --- a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadImageMedia.tsx +++ b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadImageMedia.tsx @@ -80,11 +80,15 @@ export const UploadImageMedia = ({ } }} /> - {assetFile.error &&
    {assetFile.error}
    } + {assetFile.error && ( +
    {assetFile.error}
    + )}
    {!assetFile.value && ( -
    File Preview
    +
    + File Preview +
    )} {assetFile.value && ( (initialUploaderState); +export function UploadImageMediaModal({ + isOpen, + onClose, + onSuccess, + title, + fileTypes, +}: Props) { + const [uploaderState, setUploaderState] = + useState(initialUploaderState); const updateUploaderState = (newState: UploaderState) => { console.debug("newState", newState); @@ -53,7 +60,9 @@ export function UploadImageMediaModal({ isOpen, onClose, onSuccess, title, fileT return ( <> -
    Uploading...
    +
    + Uploading... +
    ); case UploaderStates.success: diff --git a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadModalMedia.tsx b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadModalMedia.tsx index 9303304ddd..cdb882deca 100644 --- a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadModalMedia.tsx +++ b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/UploadModalMedia.tsx @@ -19,8 +19,15 @@ interface Props { }; } -export function UploadModalMedia({ isOpen, onClose, onSuccess, title, fileTypes }: Props) { - const [uploaderState, setUploaderState] = useState(initialUploaderState); +export function UploadModalMedia({ + isOpen, + onClose, + onSuccess, + title, + fileTypes, +}: Props) { + const [uploaderState, setUploaderState] = + useState(initialUploaderState); const updateUploaderState = (newState: UploaderState) => { setUploaderState(newState); @@ -52,7 +59,9 @@ export function UploadModalMedia({ isOpen, onClose, onSuccess, title, fileTypes return ( <> -
    Uploading...
    +
    + Uploading... +
    ); case UploaderStates.success: diff --git a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/uploadPlane.ts b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/uploadPlane.ts index 92c926a970..6224c2fcfb 100644 --- a/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/uploadPlane.ts +++ b/apps/artcraft-web-app/app/src/components/reusable/UploadModalMedia/uploadPlane.ts @@ -142,7 +142,9 @@ export const uploadPlaneFromMediaToken = async ({ if (!mediaFileResponse.success || !mediaFileResponse.data) { progressCallback({ status: UploaderStates.assetError, - errorMessage: mediaFileResponse.errorMessage || "Could not fetch media file by token.", + errorMessage: + mediaFileResponse.errorMessage || + "Could not fetch media file by token.", }); return; } @@ -156,7 +158,8 @@ export const uploadPlaneFromMediaToken = async ({ if (!renameResponse.success) { progressCallback({ status: UploaderStates.assetError, - errorMessage: renameResponse.errorMessage || "Could not rename media file.", + errorMessage: + renameResponse.errorMessage || "Could not rename media file.", }); return; } diff --git a/apps/artcraft-web-app/app/src/components/signaled/ErrorDialog.tsx b/apps/artcraft-web-app/app/src/components/signaled/ErrorDialog.tsx index 383b0c2305..a1e100ab4a 100644 --- a/apps/artcraft-web-app/app/src/components/signaled/ErrorDialog.tsx +++ b/apps/artcraft-web-app/app/src/components/signaled/ErrorDialog.tsx @@ -6,15 +6,19 @@ import { Button } from "@storyteller/ui-button"; import { usePageSceneStore } from "@storyteller/ui-pagescene"; export function ErrorDialog() { - const { showErrorDialog, errorDialogTitle, errorDialogMessage, setShowErrorDialog } = - usePageSceneStore( - useShallow((s) => ({ - showErrorDialog: s.showErrorDialog, - errorDialogTitle: s.errorDialogTitle, - errorDialogMessage: s.errorDialogMessage, - setShowErrorDialog: s.setShowErrorDialog, - })), - ); + const { + showErrorDialog, + errorDialogTitle, + errorDialogMessage, + setShowErrorDialog, + } = usePageSceneStore( + useShallow((s) => ({ + showErrorDialog: s.showErrorDialog, + errorDialogTitle: s.errorDialogTitle, + errorDialogMessage: s.errorDialogMessage, + setShowErrorDialog: s.setShowErrorDialog, + })), + ); return (
    - +
    {task.refImageUrls!.length > 1 && (
    @@ -220,10 +228,7 @@ const InProgressCard = ({
    ) : (
    - +
    ); @@ -244,9 +249,7 @@ const InProgressCard = ({ zIndex={50} delay={100} > - + )}
    @@ -410,10 +413,7 @@ const FailedCard = ({ />
    - +
    {task.refImageUrls!.length > 1 && (
    @@ -423,10 +423,7 @@ const FailedCard = ({
    ) : (
    - +
    ); @@ -664,7 +661,8 @@ export const TaskQueue = () => { } const modelDisplay = t.model_type - ? findDesktopModel(String(t.model_type))?.fullName ?? getModelDisplayName(String(t.model_type)) + ? (findDesktopModel(String(t.model_type))?.fullName ?? + getModelDisplayName(String(t.model_type))) : undefined; const title = kind || "Task"; @@ -1067,9 +1065,7 @@ export const TaskQueue = () => { className="text-xs tracking-wide text-red-400/70 transition-colors hover:text-red-300" onClick={() => handleClearFailed()} > - + Clear failed
    @@ -1092,9 +1088,7 @@ export const TaskQueue = () => { className="text-xs tracking-wide text-base-fg/50 transition-colors hover:text-base-fg/100" onClick={() => handleClearCompleted()} > - + Clear completed
    @@ -1171,28 +1165,28 @@ export const TaskQueue = () => { className="flex h-9 items-center justify-center bg-green-500/10 px-3 text-green-500 hover:bg-green-500/20" onClick={() => handleClearCompleted()} > - + Clear completed
    diff --git a/apps/artcraft-web-app/app/src/components/signaled/TopBar/TopBar.tsx b/apps/artcraft-web-app/app/src/components/signaled/TopBar/TopBar.tsx index 0aee614752..f9b8ebedf8 100644 --- a/apps/artcraft-web-app/app/src/components/signaled/TopBar/TopBar.tsx +++ b/apps/artcraft-web-app/app/src/components/signaled/TopBar/TopBar.tsx @@ -1,4 +1,18 @@ -import { CalculatorIcon, CheckIcon, ChevronRightIcon, CircleAlertIcon, CoinsIcon, GemIcon, HouseIcon, ImagesIcon, MinusIcon, PictureInPicture2Icon, SettingsIcon, SquareIcon, XIcon } from "lucide-react"; +import { + CalculatorIcon, + CheckIcon, + ChevronRightIcon, + CircleAlertIcon, + CoinsIcon, + GemIcon, + HouseIcon, + ImagesIcon, + MinusIcon, + PictureInPicture2Icon, + SettingsIcon, + SquareIcon, + XIcon, +} from "lucide-react"; import { DynamicIcon } from "@storyteller/icons"; import { signal } from "@preact/signals-react"; import { useSignals } from "@preact/signals-react/runtime"; @@ -75,12 +89,7 @@ interface Props { // Settings section type to match the SettingsModal component type SettingsSection = - | "general" - | "accounts" - | "alerts" - | "about" - | "provider_priority" - | "billing"; + "general" | "accounts" | "alerts" | "about" | "provider_priority" | "billing"; const SWITCHER_THROTTLE_TIME = 500; // milliseconds const CREDITS_POLL_INTERVAL = 60_000; // milliseconds diff --git a/apps/artcraft-web-app/app/src/components/signaled/TopBar/index.tsx b/apps/artcraft-web-app/app/src/components/signaled/TopBar/index.tsx index b8adf3c4f4..7cc3ff0450 100644 --- a/apps/artcraft-web-app/app/src/components/signaled/TopBar/index.tsx +++ b/apps/artcraft-web-app/app/src/components/signaled/TopBar/index.tsx @@ -1 +1 @@ -export { TopBar } from "./TopBar"; \ No newline at end of file +export { TopBar } from "./TopBar"; diff --git a/apps/artcraft-web-app/app/src/components/signaled/TopBar/taskEnqueueMeta.ts b/apps/artcraft-web-app/app/src/components/signaled/TopBar/taskEnqueueMeta.ts index 567ced7a99..a1dc8c3e70 100644 --- a/apps/artcraft-web-app/app/src/components/signaled/TopBar/taskEnqueueMeta.ts +++ b/apps/artcraft-web-app/app/src/components/signaled/TopBar/taskEnqueueMeta.ts @@ -84,7 +84,11 @@ function toBase64Thumb(url: string): Promise { img.onload = () => { try { const canvas = document.createElement("canvas"); - const scale = Math.min(THUMB_SIZE / img.width, THUMB_SIZE / img.height, 1); + const scale = Math.min( + THUMB_SIZE / img.width, + THUMB_SIZE / img.height, + 1, + ); canvas.width = Math.round(img.width * scale); canvas.height = Math.round(img.height * scale); const ctx = canvas.getContext("2d"); diff --git a/apps/artcraft-web-app/app/src/components/signaled/index.ts b/apps/artcraft-web-app/app/src/components/signaled/index.ts index 5ff3872039..49f9dba5ae 100644 --- a/apps/artcraft-web-app/app/src/components/signaled/index.ts +++ b/apps/artcraft-web-app/app/src/components/signaled/index.ts @@ -1,3 +1,2 @@ export * from "./ErrorDialog"; export * from "./TopBar"; - diff --git a/apps/artcraft-web-app/app/src/config/appMenu.tsx b/apps/artcraft-web-app/app/src/config/appMenu.tsx index 0e90686e62..af4bf255c7 100644 --- a/apps/artcraft-web-app/app/src/config/appMenu.tsx +++ b/apps/artcraft-web-app/app/src/config/appMenu.tsx @@ -1,4 +1,18 @@ -import { BoxIcon, CrosshairIcon, DropletIcon, FilmIcon, GlobeIcon, GroupIcon, ImageIcon, ImagesIcon, MusicIcon, PenToolIcon, PencilIcon, SparklesIcon, WandSparklesIcon } from "lucide-react"; +import { + BoxIcon, + CrosshairIcon, + DropletIcon, + FilmIcon, + GlobeIcon, + GroupIcon, + ImageIcon, + ImagesIcon, + MusicIcon, + PenToolIcon, + PencilIcon, + SparklesIcon, + WandSparklesIcon, +} from "lucide-react"; import type { LucideIcon } from "lucide-react"; import { useMemo } from "react"; import { diff --git a/apps/artcraft-web-app/app/src/configs.ts b/apps/artcraft-web-app/app/src/configs.ts index 2f4bc37bd2..e238f632b5 100644 --- a/apps/artcraft-web-app/app/src/configs.ts +++ b/apps/artcraft-web-app/app/src/configs.ts @@ -1,73 +1,74 @@ - // This file fixes some of the old Netlify/Environment variable cruft that was introduced. -// Rather than having 11+ env vars that live in Netlify's stupid UI, we should switch on +// Rather than having 11+ env vars that live in Netlify's stupid UI, we should switch on import { BuildEnvironmentType } from "./BuildEnvironment"; -// one environment var and use centralized and versioned configs. +// one environment var and use centralized and versioned configs. export enum Environment { - Dev, - DevProxy, - Staging, - Production, + Dev, + DevProxy, + Staging, + Production, } // TODO: Rename `EnvConfig` and allow a final override pass from env vars on a per-variable basis. export class Configs { - // API backend (protocol + hostname) - readonly baseApi: string = "https://api.storyteller.ai"; + // API backend (protocol + hostname) + readonly baseApi: string = "https://api.storyteller.ai"; - // CDN (protocol + hostname) - readonly cdnApi: string = "https://cdn.storyteller.ai"; + // CDN (protocol + hostname) + readonly cdnApi: string = "https://cdn.storyteller.ai"; - // Where we're deployed - readonly deployContext: string; + // Where we're deployed + readonly deployContext: string; - // ??? legacy setting ??? - readonly expressions: boolean = true; + // ??? legacy setting ??? + readonly expressions: boolean = true; - // I assume this is the preview server. - // TODO: Rename when confirmed. - readonly funnelApi: string = "https://style.storyteller.ai"; + // I assume this is the preview server. + // TODO: Rename when confirmed. + readonly funnelApi: string = "https://style.storyteller.ai"; - // Why the hell was this even introduced as a variable? - readonly googleApi: string = "https://storage.googleapis.com"; + // Why the hell was this even introduced as a variable? + readonly googleApi: string = "https://storage.googleapis.com"; - // Why the hell was this even introduced as a variable? - readonly gravatarApi: string = "https://www.gravatar.com"; + // Why the hell was this even introduced as a variable? + readonly gravatarApi: string = "https://www.gravatar.com"; - // Why the hell was this even introduced as a variable? - readonly mediaVideoApi: string = "https://storage.googleapis.com/vocodes-public"; + // Why the hell was this even introduced as a variable? + readonly mediaVideoApi: string = + "https://storage.googleapis.com/vocodes-public"; - // ??? Something seems to be locked behind this flag in production - readonly premiumLock: boolean = true; + // ??? Something seems to be locked behind this flag in production + readonly premiumLock: boolean = true; - readonly uploadApiVideo : string = "https://upload.storyteller.ai"; + readonly uploadApiVideo: string = "https://upload.storyteller.ai"; - // Why does this have almost the same name? Gross! - readonly uploadVideoApi : string = "https://api.storyteller.ai/v1/media_files/upload/new_video"; + // Why does this have almost the same name? Gross! + readonly uploadVideoApi: string = + "https://api.storyteller.ai/v1/media_files/upload/new_video"; - constructor(environment: BuildEnvironmentType) { - switch (environment) { - case BuildEnvironmentType.Dev: - this.deployContext = "DEVELOPMENT"; - this.uploadApiVideo = "http://localhost:12345"; - this.baseApi = "http://localhost:12345"; - break; - case BuildEnvironmentType.DevProxy: - this.deployContext = "DEVELOPMENT"; - break; - case BuildEnvironmentType.Staging: - this.deployContext = "STAGING"; - break; - case BuildEnvironmentType.Production: - this.deployContext = "PRODUCTION"; - this.premiumLock = false; - break; - } - - //console.debug(`Build environment type: ${environment}`); - //console.debug(`Deploy context: ${this.deployContext}`); - //console.debug(`Upload API: ${this.uploadApiVideo}`); + constructor(environment: BuildEnvironmentType) { + switch (environment) { + case BuildEnvironmentType.Dev: + this.deployContext = "DEVELOPMENT"; + this.uploadApiVideo = "http://localhost:12345"; + this.baseApi = "http://localhost:12345"; + break; + case BuildEnvironmentType.DevProxy: + this.deployContext = "DEVELOPMENT"; + break; + case BuildEnvironmentType.Staging: + this.deployContext = "STAGING"; + break; + case BuildEnvironmentType.Production: + this.deployContext = "PRODUCTION"; + this.premiumLock = false; + break; } -} \ No newline at end of file + + //console.debug(`Build environment type: ${environment}`); + //console.debug(`Deploy context: ${this.deployContext}`); + //console.debug(`Upload API: ${this.uploadApiVideo}`); + } +} diff --git a/apps/artcraft-web-app/app/src/enums/EIntermediateFile.ts b/apps/artcraft-web-app/app/src/enums/EIntermediateFile.ts index 81eadc84a4..6506909862 100644 --- a/apps/artcraft-web-app/app/src/enums/EIntermediateFile.ts +++ b/apps/artcraft-web-app/app/src/enums/EIntermediateFile.ts @@ -1,4 +1,4 @@ export enum EIntermediateFile { - "true", - "false" + true, + false, } diff --git a/apps/artcraft-web-app/app/src/enums/FileTypes.ts b/apps/artcraft-web-app/app/src/enums/FileTypes.ts index 319c28860d..2513e524e5 100644 --- a/apps/artcraft-web-app/app/src/enums/FileTypes.ts +++ b/apps/artcraft-web-app/app/src/enums/FileTypes.ts @@ -54,7 +54,7 @@ export enum CHARACTER_MMD_FILE_TYPE { export enum CHARACTER_MIXAMO_FILE_TYPE { GLB = "glb", -// FBX = "FBX", -// OBJ = "OBJ", -// ZIP = "ZIP", + // FBX = "FBX", + // OBJ = "OBJ", + // ZIP = "ZIP", } diff --git a/apps/artcraft-web-app/app/src/flags/DevConsoleFlags.ts b/apps/artcraft-web-app/app/src/flags/DevConsoleFlags.ts index 2f02578243..fedca6f781 100644 --- a/apps/artcraft-web-app/app/src/flags/DevConsoleFlags.ts +++ b/apps/artcraft-web-app/app/src/flags/DevConsoleFlags.ts @@ -1,4 +1,3 @@ - // This is used to do things such as disable job polling in the dev console. export const SetDevFlag = (flagName: string, value: any) => { @@ -6,31 +5,29 @@ export const SetDevFlag = (flagName: string, value: any) => { (window as any)._dev_flags = {}; } (window as any)._dev_flags[flagName] = value; -} +}; export const GetDevFlag = (flagName: string) => { if (!!(window as any)._dev_flags && flagName in (window as any)._dev_flags) { return (window as any)._dev_flags[flagName]; } return null; -} +}; export const DisableJobPolling = () => { SetDevFlag("disable_job_polling", true); -} +}; export const EnableJobPolling = () => { SetDevFlag("disable_job_polling", false); -} +}; -export const IsJobPollingDisabled = () : boolean => { +export const IsJobPollingDisabled = (): boolean => { return GetDevFlag("disable_job_polling") === true; -} +}; (window as any).setDevFlag = SetDevFlag; (window as any).getDevFlag = GetDevFlag; (window as any).disableJobPolling = DisableJobPolling; (window as any).enableJobPolling = EnableJobPolling; - - diff --git a/apps/artcraft-web-app/app/src/hoc/withProtectedRoute.tsx b/apps/artcraft-web-app/app/src/hoc/withProtectedRoute.tsx index 344061d8fb..d3da87d4b8 100644 --- a/apps/artcraft-web-app/app/src/hoc/withProtectedRoute.tsx +++ b/apps/artcraft-web-app/app/src/hoc/withProtectedRoute.tsx @@ -2,7 +2,9 @@ import type { ComponentType } from "react"; import { useSignals, useSignalEffect } from "@preact/signals-react/runtime"; import { persistLogin } from "~/signals"; -export const withProtectionRoute =

    (Component: ComponentType

    ) => +export const withProtectionRoute =

    ( + Component: ComponentType

    , +) => function ProtectionRoute(rest: P) { useSignals(); useSignalEffect(() => { diff --git a/apps/artcraft-web-app/app/src/index.tsx b/apps/artcraft-web-app/app/src/index.tsx index 2eb3ae60df..f8eb965cf2 100644 --- a/apps/artcraft-web-app/app/src/index.tsx +++ b/apps/artcraft-web-app/app/src/index.tsx @@ -61,10 +61,10 @@ const GlobalSettingsManager = ({ env }: { env: Record }) => { const theme = allowed.includes(value) ? (normalized as string) : "gray"; const root = document.documentElement; const toRemove: string[] = []; - root.classList.forEach(c => { + root.classList.forEach((c) => { if (c.startsWith("theme-")) toRemove.push(c); }); - toRemove.forEach(c => root.classList.remove(c)); + toRemove.forEach((c) => root.classList.remove(c)); root.classList.add(`theme-${theme}`); }, []); diff --git a/apps/artcraft-web-app/app/src/pages/MainApp.tsx b/apps/artcraft-web-app/app/src/pages/MainApp.tsx index b35bebd13a..71e5c4f07a 100644 --- a/apps/artcraft-web-app/app/src/pages/MainApp.tsx +++ b/apps/artcraft-web-app/app/src/pages/MainApp.tsx @@ -70,13 +70,19 @@ const TextToImage = lazy(() => import("./PageImage/TextToImage")); const ImageToVideo = lazy(() => import("./PageVideo/ImageToVideo")); const CreateAudio = lazy(() => import("./PageAudio/CreateAudio")); const VideoFrameExtractor = lazy(() => - import("./PageVideoFrameExtractor").then((m) => ({ default: m.VideoFrameExtractor })), + import("./PageVideoFrameExtractor").then((m) => ({ + default: m.VideoFrameExtractor, + })), ); const VideoWatermarkRemover = lazy(() => - import("./PageVideoWatermarkRemover").then((m) => ({ default: m.VideoWatermarkRemover })), + import("./PageVideoWatermarkRemover").then((m) => ({ + default: m.VideoWatermarkRemover, + })), ); const ImageWatermarkRemover = lazy(() => - import("./PageImageWatermarkRemover").then((m) => ({ default: m.ImageWatermarkRemover })), + import("./PageImageWatermarkRemover").then((m) => ({ + default: m.ImageWatermarkRemover, + })), ); const ImageTo3DObject = lazy(() => import("./PageImageTo3DObject").then((m) => ({ default: m.ImageTo3DObject })), @@ -85,7 +91,9 @@ const ImageTo3DWorld = lazy(() => import("./PageImageTo3DWorld").then((m) => ({ default: m.ImageTo3DWorld })), ); const RemoveBackground = lazy(() => - import("./PageRemoveBackground").then((m) => ({ default: m.RemoveBackground })), + import("./PageRemoveBackground").then((m) => ({ + default: m.RemoveBackground, + })), ); const Angles = lazy(() => import("./PageAngles").then((m) => ({ default: m.Angles })), @@ -94,7 +102,9 @@ const Storyboard = lazy(() => import("./PageStoryboard").then((m) => ({ default: m.Storyboard })), ); const PageBackgroundChange = lazy(() => - import("./PageBackgroundChange").then((m) => ({ default: m.PageBackgroundChange })), + import("./PageBackgroundChange").then((m) => ({ + default: m.PageBackgroundChange, + })), ); const PageScene = lazy(() => import("./PageScene").then((m) => ({ default: m.PageScene })), diff --git a/apps/artcraft-web-app/app/src/pages/PageAngles/Angles.tsx b/apps/artcraft-web-app/app/src/pages/PageAngles/Angles.tsx index 21517c8996..d1756d014b 100644 --- a/apps/artcraft-web-app/app/src/pages/PageAngles/Angles.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageAngles/Angles.tsx @@ -36,9 +36,16 @@ import { useSelectedModel, useSelectedProviderForModel, } from "@storyteller/ui-model-selector"; -import { CostCalculatorButton, useCostBreakdownModalStore } from "@storyteller/ui-pricing-modal"; +import { + CostCalculatorButton, + useCostBreakdownModalStore, +} from "@storyteller/ui-pricing-modal"; import { HelpMenuButton } from "@storyteller/ui-help-menu"; -import { HistoryStack, type ImageBundle, type BaseSelectorImage } from "@storyteller/ui-pagedraw"; +import { + HistoryStack, + type ImageBundle, + type BaseSelectorImage, +} from "@storyteller/ui-pagedraw"; const ANGLES_MODEL_PAGE = ModelPage.Angles; @@ -47,7 +54,9 @@ const ANGLES_MODEL_PAGE = ModelPage.Angles; export const Angles = () => { const anglesModelList = useAnglesPageModelList(); const [isGalleryModalOpen, setIsGalleryModalOpen] = useState(false); - const [selectedGalleryImages, setSelectedGalleryImages] = useState([]); + const [selectedGalleryImages, setSelectedGalleryImages] = useState( + [], + ); const [windowSize, setWindowSize] = useState({ width: window.innerWidth, height: window.innerHeight, @@ -57,7 +66,10 @@ export const Angles = () => { // Model selector const selectedModel = useSelectedModel(ANGLES_MODEL_PAGE); - const selectedProvider = useSelectedProviderForModel(ANGLES_MODEL_PAGE, selectedModel?.id); + const selectedProvider = useSelectedProviderForModel( + ANGLES_MODEL_PAGE, + selectedModel?.id, + ); // Cost estimation const anglesCredits = useCostBreakdownModalStore( @@ -67,7 +79,9 @@ export const Angles = () => { // State selectors (only re-render when specific values change) const sourceImageUrl = useAnglesStore((s) => s.sourceImageUrl); const sourceMediaToken = useAnglesStore((s) => s.sourceMediaToken); - const sourceThumbnailUrlTemplate = useAnglesStore((s) => s.sourceThumbnailUrlTemplate); + const sourceThumbnailUrlTemplate = useAnglesStore( + (s) => s.sourceThumbnailUrlTemplate, + ); const imageDimensions = useAnglesStore((s) => s.imageDimensions); const angleConfig = useAnglesStore((s) => s.angleConfig); // const generateFromBestAngles = useAnglesStore( @@ -196,8 +210,12 @@ export const Angles = () => { maybe_thumbnail_template?: string; } | undefined; - cdnUrl = links?.cdn_url || (mediaFile.data as any).public_bucket_url || objectUrl; - thumbnailUrlTemplate = links?.thumbnail_template || links?.maybe_thumbnail_template; + cdnUrl = + links?.cdn_url || + (mediaFile.data as any).public_bucket_url || + objectUrl; + thumbnailUrlTemplate = + links?.thumbnail_template || links?.maybe_thumbnail_template; } } catch { // Fall back to blob URL if fetching CDN info fails @@ -399,7 +417,8 @@ export const Angles = () => { const handleRotationStep = useCallback( (direction: 1 | -1) => { const idx = ROTATION_VALUES.indexOf(angleConfig.rotation); - const next = (idx + direction + ROTATION_VALUES.length) % ROTATION_VALUES.length; + const next = + (idx + direction + ROTATION_VALUES.length) % ROTATION_VALUES.length; setRotation(ROTATION_VALUES[next]); }, [angleConfig.rotation, setRotation], @@ -408,7 +427,10 @@ export const Angles = () => { const handleTiltStep = useCallback( (direction: 1 | -1) => { const idx = TILT_VALUES.indexOf(angleConfig.tilt); - const next = Math.max(0, Math.min(TILT_VALUES.length - 1, idx + direction)); + const next = Math.max( + 0, + Math.min(TILT_VALUES.length - 1, idx + direction), + ); setTilt(TILT_VALUES[next]); }, [angleConfig.tilt, setTilt], @@ -429,7 +451,12 @@ export const Angles = () => { ], }; return [sourceBundle, ...historyBundles]; - }, [sourceImageUrl, sourceMediaToken, sourceThumbnailUrlTemplate, historyBundles]); + }, [ + sourceImageUrl, + sourceMediaToken, + sourceThumbnailUrlTemplate, + historyBundles, + ]); const handleHistoryImageSelect = useCallback( (image: BaseSelectorImage) => { @@ -494,7 +521,10 @@ export const Angles = () => { {/* Full-bleed image display */}

    -
    +
    {activeAngle ? ( display < 0 ? display + 360 : display; /** Snap targets for the display-range rotation slider. */ -export const DISPLAY_ROTATION_VALUES = [-180, -135, -90, -45, 0, 45, 90, 135, 180]; +export const DISPLAY_ROTATION_VALUES = [ + -180, -135, -90, -45, 0, 45, 90, 135, 180, +]; interface AnglesState { // Source image @@ -62,7 +64,11 @@ interface AnglesState { isLoadingImage: boolean; // Actions - setSourceImage: (url: string, mediaToken: string | null, thumbnailUrlTemplate?: string | null) => void; + setSourceImage: ( + url: string, + mediaToken: string | null, + thumbnailUrlTemplate?: string | null, + ) => void; setImageDimensions: (dims: ImageDimensions | null) => void; setRotation: (value: number) => void; setTilt: (value: number) => void; @@ -108,7 +114,11 @@ export const useAnglesStore = create((set, get) => ({ isLoadingImage: false, setSourceImage: (url, mediaToken, thumbnailUrlTemplate) => { - set({ sourceImageUrl: url, sourceMediaToken: mediaToken, sourceThumbnailUrlTemplate: thumbnailUrlTemplate ?? null }); + set({ + sourceImageUrl: url, + sourceMediaToken: mediaToken, + sourceThumbnailUrlTemplate: thumbnailUrlTemplate ?? null, + }); }, setImageDimensions: (dims) => { diff --git a/apps/artcraft-web-app/app/src/pages/PageApps/AppsIndexPage.tsx b/apps/artcraft-web-app/app/src/pages/PageApps/AppsIndexPage.tsx index cead11f663..8c15696f97 100644 --- a/apps/artcraft-web-app/app/src/pages/PageApps/AppsIndexPage.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageApps/AppsIndexPage.tsx @@ -42,9 +42,7 @@ export const AppsIndexPage = () => { index === 0 ? "mt-8 sm:mt-10" : "mt-10", )} > -

    - {category.title} -

    +

    {category.title}

    {category.apps.map((app) => ( @@ -67,7 +65,9 @@ function AppCard({ app }: { app: FullAppItem }) { disabled={!enabled} className={twMerge( "group relative flex h-full rounded-[3px] border border-ui-border bg-white/5 p-5 text-left transition-colors duration-150 focus-visible:border-primary", - enabled ? twMerge("cursor-pointer", palette.hoverStyle) : "cursor-default opacity-60", + enabled + ? twMerge("cursor-pointer", palette.hoverStyle) + : "cursor-default opacity-60", )} >
    diff --git a/apps/artcraft-web-app/app/src/pages/PageAudio/CreateAudio.tsx b/apps/artcraft-web-app/app/src/pages/PageAudio/CreateAudio.tsx index 3987fa90f1..7aee5e282e 100644 --- a/apps/artcraft-web-app/app/src/pages/PageAudio/CreateAudio.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageAudio/CreateAudio.tsx @@ -7,7 +7,10 @@ import { UploadImageMedia, FilterMediaClasses, } from "@storyteller/api"; -import { useOmniGenAudioModels, useAudioCostEstimate } from "@storyteller/omni-gen"; +import { + useOmniGenAudioModels, + useAudioCostEstimate, +} from "@storyteller/omni-gen"; import { galleryModalLightboxImage, galleryModalLightboxMediaId, @@ -26,8 +29,10 @@ import { useDesktopUsername } from "~/components/generation-feed/useDesktopUsern import { DesktopCreatePageShell } from "~/components/generation-feed/DesktopCreatePageShell"; import { DesktopGenerationGallery } from "~/components/generation-feed/DesktopGenerationGallery"; -const generateAudio = async (request: OmniGenAudioRequest) => (await GenerateAudio(request)).payload; -const estimateAudio = async (request: OmniGenAudioRequest) => (await EstimateAudioCost(request)).payload; +const generateAudio = async (request: OmniGenAudioRequest) => + (await GenerateAudio(request)).payload; +const estimateAudio = async (request: OmniGenAudioRequest) => + (await EstimateAudioCost(request)).payload; const AUDIO_FILTER = [FilterMediaClasses.AUDIO]; @@ -48,14 +53,17 @@ const CreateAudio = () => { models[0], [models, selectedModelId], ); - const audioCredits = useAudioCostEstimate({ - model: selectedModel?.model ?? "", - audioReferenceCount: referenceAudios.length, - hasImageReference: referenceImages.length > 0, - sampleRateHz: selectedModel?.sample_rate_hz_options?.length - ? (selectedModel.sample_rate_hz_default ?? undefined) - : undefined, - }, estimateAudio); + const audioCredits = useAudioCostEstimate( + { + model: selectedModel?.model ?? "", + audioReferenceCount: referenceAudios.length, + hasImageReference: referenceImages.length > 0, + sampleRateHz: selectedModel?.sample_rate_hz_options?.length + ? (selectedModel.sample_rate_hz_default ?? undefined) + : undefined, + }, + estimateAudio, + ); // Track the promptbox height so the feed can pad past it. useEffect(() => { diff --git a/apps/artcraft-web-app/app/src/pages/PageDraw/BaseImageSelector.tsx b/apps/artcraft-web-app/app/src/pages/PageDraw/BaseImageSelector.tsx index 39a18ab615..06967a50b1 100644 --- a/apps/artcraft-web-app/app/src/pages/PageDraw/BaseImageSelector.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageDraw/BaseImageSelector.tsx @@ -10,7 +10,10 @@ import { HelpMenuButton } from "@storyteller/ui-help-menu"; import { CostCalculatorButton } from "@storyteller/ui-pricing-modal"; import { ModelPage } from "@storyteller/ui-model-selector"; import { UploadEntryCard } from "~/components/media/UploadEntryCard"; -import { BlankCanvasModal, type BaseSelectorImage } from "@storyteller/ui-pagedraw"; +import { + BlankCanvasModal, + type BaseSelectorImage, +} from "@storyteller/ui-pagedraw"; const MAX_GALLERY_SELECTIONS = 1; @@ -24,7 +27,9 @@ export const BaseImageSelector = ({ showLoading = false, }: BaseImageSelectorProps) => { const [isGalleryModalOpen, setIsGalleryModalOpen] = useState(false); - const [selectedGalleryImages, setSelectedGalleryImages] = useState([]); + const [selectedGalleryImages, setSelectedGalleryImages] = useState( + [], + ); const [isLoading, setIsLoading] = useState(false); const [isBlankCanvasModalOpen, setIsBlankCanvasModalOpen] = useState(false); @@ -37,7 +42,8 @@ export const BaseImageSelector = ({ const handleImageSelect = (mediaToken: string) => { setSelectedGalleryImages((prev) => { - if (prev.includes(mediaToken)) return prev.filter((x) => x !== mediaToken); + if (prev.includes(mediaToken)) + return prev.filter((x) => x !== mediaToken); if (prev.length >= MAX_GALLERY_SELECTIONS) { return MAX_GALLERY_SELECTIONS === 1 ? [mediaToken] : prev; } @@ -89,20 +95,29 @@ export const BaseImageSelector = ({ let thumbnailUrlTemplate = undefined; try { const api = new MediaFilesApi(); - const result = await api.GetMediaFileByToken({ mediaFileToken: mediaToken }); + const result = await api.GetMediaFileByToken({ + mediaFileToken: mediaToken, + }); if (result.success && result.data) { finalUrl = result.data.media_links?.cdn_url || result.data.public_bucket_url || finalUrl; const mediaLinks = result.data.media_links as - | { thumbnail_template?: string; maybe_thumbnail_template?: string } + | { + thumbnail_template?: string; + maybe_thumbnail_template?: string; + } | undefined; thumbnailUrlTemplate = - mediaLinks?.thumbnail_template || mediaLinks?.maybe_thumbnail_template; + mediaLinks?.thumbnail_template || + mediaLinks?.maybe_thumbnail_template; } } catch (e) { - console.warn("Falling back to data URL for uploaded image", e); + console.warn( + "Falling back to data URL for uploaded image", + e, + ); } const referenceImage: BaseSelectorImage = { mediaToken, diff --git a/apps/artcraft-web-app/app/src/pages/PageDraw/PageDraw.tsx b/apps/artcraft-web-app/app/src/pages/PageDraw/PageDraw.tsx index 431c2c6270..8b69fdb60d 100644 --- a/apps/artcraft-web-app/app/src/pages/PageDraw/PageDraw.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageDraw/PageDraw.tsx @@ -20,20 +20,29 @@ import { BaseImageSelector } from "./BaseImageSelector"; // ─── Aspect ratio / resolution mappers ──────────────────────────────────────── const mapAspectRatio = (ratio?: string): CommonAspectRatio | undefined => { switch (ratio) { - case "auto": return CommonAspectRatio.Auto; - case "wide": return CommonAspectRatio.Wide; - case "tall": return CommonAspectRatio.Tall; - case "square": return CommonAspectRatio.Square; - default: return undefined; + case "auto": + return CommonAspectRatio.Auto; + case "wide": + return CommonAspectRatio.Wide; + case "tall": + return CommonAspectRatio.Tall; + case "square": + return CommonAspectRatio.Square; + default: + return undefined; } }; const mapResolution = (res?: string): CommonResolution | undefined => { switch (res) { - case "1k": return CommonResolution.OneK; - case "2k": return CommonResolution.TwoK; - case "4k": return CommonResolution.FourK; - default: return undefined; + case "1k": + return CommonResolution.OneK; + case "2k": + return CommonResolution.TwoK; + case "4k": + return CommonResolution.FourK; + default: + return undefined; } }; @@ -117,7 +126,9 @@ const useTauriAdapter = (): PageDrawAdapter => { enqueueInpaint: async (req) => { const request: GenerateImageRequest = { model: req.model, - image_media_tokens: req.imageMediaToken ? [req.imageMediaToken] : undefined, + image_media_tokens: req.imageMediaToken + ? [req.imageMediaToken] + : undefined, inpainting_mask_image_raw_bytes: req.maskImageRawBytes, prompt: req.prompt, batch_size: req.imageCount, diff --git a/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DObject.tsx b/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DObject.tsx index 5071ef5ca2..54b0a75287 100644 --- a/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DObject.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DObject.tsx @@ -11,4 +11,3 @@ export const ImageTo3DObject = () => { }; export default ImageTo3DObject; - diff --git a/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DStore.ts b/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DStore.ts index 7471472c1c..7a9d01d8c5 100644 --- a/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DStore.ts +++ b/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/ImageTo3DStore.ts @@ -38,9 +38,19 @@ type ImageTo3DState = { meshOnly: boolean, subscriberId?: string, ) => string; - completeGeneration: (modelUrl: string, mediaToken: string, maybeSubscriberId?: string) => void; - uploadCoverImage: (mediaToken: string, thumbnailDataUrl: string) => Promise; - captureAndUploadCover: (modelUrl: string, mediaToken: string) => Promise; + completeGeneration: ( + modelUrl: string, + mediaToken: string, + maybeSubscriberId?: string, + ) => void; + uploadCoverImage: ( + mediaToken: string, + thumbnailDataUrl: string, + ) => Promise; + captureAndUploadCover: ( + modelUrl: string, + mediaToken: string, + ) => Promise; failGeneration: (subscriberId: string) => void; reset: () => void; }; @@ -79,7 +89,11 @@ export const useImageTo3DStore = create((set, get) => ({ set((s) => ({ results: [result, ...s.results] })); return id; }, - completeGeneration: (modelUrl: string, mediaToken: string, maybeSubscriberId?: string) => { + completeGeneration: ( + modelUrl: string, + mediaToken: string, + maybeSubscriberId?: string, + ) => { console.log("[ImageTo3DStore] completeGeneration", { modelUrl, mediaToken, @@ -96,7 +110,8 @@ export const useImageTo3DStore = create((set, get) => ({ : -1; if (targetIdx === -1) { - const generatedId = crypto.randomUUID?.() ?? Math.random().toString(36).slice(2); + const generatedId = + crypto.randomUUID?.() ?? Math.random().toString(36).slice(2); const result: ImageTo3DResult = { id: generatedId, subscriberId: generatedId, @@ -125,7 +140,10 @@ export const useImageTo3DStore = create((set, get) => ({ // Check if already uploaded const result = get().results.find((r) => r.mediaToken === mediaToken); if (result?.coverImageUploaded) { - console.log("[ImageTo3DStore] Cover image already uploaded for:", mediaToken); + console.log( + "[ImageTo3DStore] Cover image already uploaded for:", + mediaToken, + ); return; } @@ -167,7 +185,9 @@ export const useImageTo3DStore = create((set, get) => ({ // Mark as uploaded set((s) => ({ results: s.results.map((r) => - r.mediaToken === mediaToken ? { ...r, coverImageUploaded: true } : r, + r.mediaToken === mediaToken + ? { ...r, coverImageUploaded: true } + : r, ), })); // Emit event to trigger task queue refresh with the cover data @@ -177,7 +197,10 @@ export const useImageTo3DStore = create((set, get) => ({ }), ); } else { - console.error("[ImageTo3DStore] Failed to set cover image:", setCoverResult.errorMessage); + console.error( + "[ImageTo3DStore] Failed to set cover image:", + setCoverResult.errorMessage, + ); } } catch (error) { console.error("[ImageTo3DStore] Error uploading cover image:", error); diff --git a/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/index.ts b/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/index.ts index 3c9c2ee75d..126a0c86ce 100644 --- a/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/index.ts +++ b/apps/artcraft-web-app/app/src/pages/PageImageTo3DObject/index.ts @@ -1,3 +1 @@ export * from "./ImageTo3DObject"; - - diff --git a/apps/artcraft-web-app/app/src/pages/PageImageTo3DWorld/ImageTo3DWorldStore.ts b/apps/artcraft-web-app/app/src/pages/PageImageTo3DWorld/ImageTo3DWorldStore.ts index 1ac1b49610..7a41dfd323 100644 --- a/apps/artcraft-web-app/app/src/pages/PageImageTo3DWorld/ImageTo3DWorldStore.ts +++ b/apps/artcraft-web-app/app/src/pages/PageImageTo3DWorld/ImageTo3DWorldStore.ts @@ -31,7 +31,11 @@ type ImageTo3DWorldState = { previewUrl: string | undefined, subscriberId?: string, ) => string; - completeGeneration: (modelUrl: string, mediaToken: string, maybeSubscriberId?: string) => void; + completeGeneration: ( + modelUrl: string, + mediaToken: string, + maybeSubscriberId?: string, + ) => void; uploadCoverFromPreview: (mediaToken: string) => Promise; failGeneration: (subscriberId: string) => void; setPendingExternalImage: (url: string, mediaToken: string) => void; @@ -39,151 +43,174 @@ type ImageTo3DWorldState = { reset: () => void; }; -export const useImageTo3DWorldStore = create((set, get) => ({ - results: [], - pendingExternalImage: null, - startGeneration: ( - mode: "image" | "text", - note: string, - previewUrl: string | undefined, - subscriberId?: string, - ) => { - const id = subscriberId - ? subscriberId - : crypto.randomUUID - ? crypto.randomUUID() - : Math.random().toString(36).slice(2); - const result: ImageTo3DWorldResult = { - id, - mode, - timestamp: Date.now(), - note, - previewUrl, - status: "pending", - subscriberId: id, - }; - set((s) => ({ results: [result, ...s.results] })); - return id; - }, - completeGeneration: (modelUrl: string, mediaToken: string, maybeSubscriberId?: string) => { - console.log("[ImageTo3DWorldStore] completeGeneration", { - modelUrl, - mediaToken, - maybeSubscriberId, - }); - const pending = maybeSubscriberId - ? get().results.find((r) => r.subscriberId === maybeSubscriberId) - : get().results.find((r) => r.status === "pending"); +export const useImageTo3DWorldStore = create( + (set, get) => ({ + results: [], + pendingExternalImage: null, + startGeneration: ( + mode: "image" | "text", + note: string, + previewUrl: string | undefined, + subscriberId?: string, + ) => { + const id = subscriberId + ? subscriberId + : crypto.randomUUID + ? crypto.randomUUID() + : Math.random().toString(36).slice(2); + const result: ImageTo3DWorldResult = { + id, + mode, + timestamp: Date.now(), + note, + previewUrl, + status: "pending", + subscriberId: id, + }; + set((s) => ({ results: [result, ...s.results] })); + return id; + }, + completeGeneration: ( + modelUrl: string, + mediaToken: string, + maybeSubscriberId?: string, + ) => { + console.log("[ImageTo3DWorldStore] completeGeneration", { + modelUrl, + mediaToken, + maybeSubscriberId, + }); + const pending = maybeSubscriberId + ? get().results.find((r) => r.subscriberId === maybeSubscriberId) + : get().results.find((r) => r.status === "pending"); - set((s) => { - const results = [...s.results]; - const targetIdx = pending - ? results.findIndex((r) => r.subscriberId === pending.subscriberId) - : -1; + set((s) => { + const results = [...s.results]; + const targetIdx = pending + ? results.findIndex((r) => r.subscriberId === pending.subscriberId) + : -1; - if (targetIdx === -1) { - const generatedId = crypto.randomUUID?.() ?? Math.random().toString(36).slice(2); - const result: ImageTo3DWorldResult = { - id: generatedId, - subscriberId: generatedId, - mode: "image", - timestamp: Date.now(), - note: "Generated World", + if (targetIdx === -1) { + const generatedId = + crypto.randomUUID?.() ?? Math.random().toString(36).slice(2); + const result: ImageTo3DWorldResult = { + id: generatedId, + subscriberId: generatedId, + mode: "image", + timestamp: Date.now(), + note: "Generated World", + status: "completed", + modelUrl, + mediaToken, + }; + return { results: [result, ...results] }; + } + + results[targetIdx] = { + ...results[targetIdx], status: "completed", modelUrl, mediaToken, }; - return { results: [result, ...results] }; - } - results[targetIdx] = { - ...results[targetIdx], - status: "completed", - modelUrl, - mediaToken, - }; - - return { results }; - }); - }, - uploadCoverFromPreview: async (mediaToken: string) => { - try { - const result = get().results.find((r) => r.mediaToken === mediaToken); - if (!result) return; - if (result.coverImageUploaded) { - console.log("[ImageTo3DWorldStore] Cover image already uploaded for:", mediaToken); - return; - } - - if (!result.previewUrl) { - console.log("[ImageTo3DWorldStore] No preview URL available for cover"); - return; - } - - console.log("[ImageTo3DWorldStore] Uploading cover from preview for:", mediaToken); - - const response = await fetch(result.previewUrl); - const blob = await response.blob(); - - const mediaUploadApi = new MediaUploadApi(); - const uploadResult = await mediaUploadApi.UploadImage({ - blob, - fileName: `cover-${mediaToken}.png`, - uuid: crypto.randomUUID(), + return { results }; }); + }, + uploadCoverFromPreview: async (mediaToken: string) => { + try { + const result = get().results.find((r) => r.mediaToken === mediaToken); + if (!result) return; + if (result.coverImageUploaded) { + console.log( + "[ImageTo3DWorldStore] Cover image already uploaded for:", + mediaToken, + ); + return; + } - if (!uploadResult.success || !uploadResult.data) { - console.error("[ImageTo3DWorldStore] Failed to upload cover image"); - return; - } + if (!result.previewUrl) { + console.log( + "[ImageTo3DWorldStore] No preview URL available for cover", + ); + return; + } - const coverImageToken = uploadResult.data; - console.log("[ImageTo3DWorldStore] Cover image uploaded:", coverImageToken); - - const mediaFilesApi = new MediaFilesApi(); - const setCoverResult = await mediaFilesApi.UpdateCoverImage({ - mediaFileToken: mediaToken, - imageToken: coverImageToken, - }); - - if (setCoverResult.success) { - console.log("[ImageTo3DWorldStore] Cover image set successfully"); - - worldCoverImageCache.set(mediaToken, result.previewUrl); - - set((s) => ({ - results: s.results.map((r) => - r.mediaToken === mediaToken ? { ...r, coverImageUploaded: true } : r, - ), - })); - window.dispatchEvent( - new CustomEvent("cover-image-uploaded", { - detail: { mediaToken, thumbnailDataUrl: result.previewUrl }, - }), + console.log( + "[ImageTo3DWorldStore] Uploading cover from preview for:", + mediaToken, ); - } else { + + const response = await fetch(result.previewUrl); + const blob = await response.blob(); + + const mediaUploadApi = new MediaUploadApi(); + const uploadResult = await mediaUploadApi.UploadImage({ + blob, + fileName: `cover-${mediaToken}.png`, + uuid: crypto.randomUUID(), + }); + + if (!uploadResult.success || !uploadResult.data) { + console.error("[ImageTo3DWorldStore] Failed to upload cover image"); + return; + } + + const coverImageToken = uploadResult.data; + console.log( + "[ImageTo3DWorldStore] Cover image uploaded:", + coverImageToken, + ); + + const mediaFilesApi = new MediaFilesApi(); + const setCoverResult = await mediaFilesApi.UpdateCoverImage({ + mediaFileToken: mediaToken, + imageToken: coverImageToken, + }); + + if (setCoverResult.success) { + console.log("[ImageTo3DWorldStore] Cover image set successfully"); + + worldCoverImageCache.set(mediaToken, result.previewUrl); + + set((s) => ({ + results: s.results.map((r) => + r.mediaToken === mediaToken + ? { ...r, coverImageUploaded: true } + : r, + ), + })); + window.dispatchEvent( + new CustomEvent("cover-image-uploaded", { + detail: { mediaToken, thumbnailDataUrl: result.previewUrl }, + }), + ); + } else { + console.error( + "[ImageTo3DWorldStore] Failed to set cover image:", + setCoverResult.errorMessage, + ); + } + } catch (error) { console.error( - "[ImageTo3DWorldStore] Failed to set cover image:", - setCoverResult.errorMessage, + "[ImageTo3DWorldStore] Error uploading cover image:", + error, ); } - } catch (error) { - console.error("[ImageTo3DWorldStore] Error uploading cover image:", error); - } - }, - failGeneration: (subscriberId: string) => { - set((s) => ({ - results: s.results.filter((r) => r.subscriberId !== subscriberId), - })); - }, - setPendingExternalImage: (url: string, mediaToken: string) => { - set({ pendingExternalImage: { url, mediaToken } }); - }, - clearPendingExternalImage: () => { - set({ pendingExternalImage: null }); - }, - reset: () => set({ results: [], pendingExternalImage: null }), -})); + }, + failGeneration: (subscriberId: string) => { + set((s) => ({ + results: s.results.filter((r) => r.subscriberId !== subscriberId), + })); + }, + setPendingExternalImage: (url: string, mediaToken: string) => { + set({ pendingExternalImage: { url, mediaToken } }); + }, + clearPendingExternalImage: () => { + set({ pendingExternalImage: null }); + }, + reset: () => set({ results: [], pendingExternalImage: null }), + }), +); interface GaussianGenerationEvent { data: { @@ -196,23 +223,26 @@ interface GaussianGenerationEvent { }; } -listen("gaussian_generation_complete_event", (event) => { - const payload = event.payload?.data; - if (payload?.maybe_frontend_subscriber_id && payload?.generated_gaussian) { - console.log( - "[ImageTo3DWorldStore] Gaussian event received for subscriber:", - payload.maybe_frontend_subscriber_id, - ); - useImageTo3DWorldStore - .getState() - .completeGeneration( - payload.generated_gaussian.cdn_url, - payload.generated_gaussian.media_token, +listen( + "gaussian_generation_complete_event", + (event) => { + const payload = event.payload?.data; + if (payload?.maybe_frontend_subscriber_id && payload?.generated_gaussian) { + console.log( + "[ImageTo3DWorldStore] Gaussian event received for subscriber:", payload.maybe_frontend_subscriber_id, ); + useImageTo3DWorldStore + .getState() + .completeGeneration( + payload.generated_gaussian.cdn_url, + payload.generated_gaussian.media_token, + payload.maybe_frontend_subscriber_id, + ); - useImageTo3DWorldStore - .getState() - .uploadCoverFromPreview(payload.generated_gaussian.media_token); - } -}); + useImageTo3DWorldStore + .getState() + .uploadCoverFromPreview(payload.generated_gaussian.media_token); + } + }, +); diff --git a/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/ImageWatermarkRemover.tsx b/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/ImageWatermarkRemover.tsx index 6768e7ebbf..95e7425b2a 100644 --- a/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/ImageWatermarkRemover.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/ImageWatermarkRemover.tsx @@ -180,9 +180,7 @@ export const ImageWatermarkRemover = () => {
    - + Image Information
    {imageDimensions ? ( diff --git a/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/index.ts b/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/index.ts index d1a4270240..cb040c1f3d 100644 --- a/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/index.ts +++ b/apps/artcraft-web-app/app/src/pages/PageImageWatermarkRemover/index.ts @@ -1,2 +1 @@ export { ImageWatermarkRemover } from "./ImageWatermarkRemover"; - diff --git a/apps/artcraft-web-app/app/src/pages/PageMoodboard/desktopMoodboardAdapter.tsx b/apps/artcraft-web-app/app/src/pages/PageMoodboard/desktopMoodboardAdapter.tsx index f80fa883c7..d056c1a258 100644 --- a/apps/artcraft-web-app/app/src/pages/PageMoodboard/desktopMoodboardAdapter.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageMoodboard/desktopMoodboardAdapter.tsx @@ -40,7 +40,9 @@ const sendToGeneration = (refs: MoodboardReference[]): void => { mediaToken: r.mediaToken, })); const store = usePromptImageStore.getState(); - store.setReferenceImages(dedupeByToken([...store.referenceImages, ...newRefs])); + store.setReferenceImages( + dedupeByToken([...store.referenceImages, ...newRefs]), + ); void useTabStore.getState().setActiveTab("IMAGE"); toast.success( `${refs.length} reference${refs.length > 1 ? "s" : ""} added to the prompt`, diff --git a/apps/artcraft-web-app/app/src/pages/PageRemoveBackground/RemoveBackground.tsx b/apps/artcraft-web-app/app/src/pages/PageRemoveBackground/RemoveBackground.tsx index 39489f723d..38ff7bf272 100644 --- a/apps/artcraft-web-app/app/src/pages/PageRemoveBackground/RemoveBackground.tsx +++ b/apps/artcraft-web-app/app/src/pages/PageRemoveBackground/RemoveBackground.tsx @@ -11,7 +11,10 @@ import { Button } from "@storyteller/ui-button"; import { GalleryItem, GalleryModal } from "@storyteller/ui-gallery-modal"; import toast from "react-hot-toast"; import { UploadEntryCard } from "../../components/media/UploadEntryCard"; -import { useRemoveBackgroundStore, ProcessedImage } from "./RemoveBackgroundStore"; +import { + useRemoveBackgroundStore, + ProcessedImage, +} from "./RemoveBackgroundStore"; import { EnqueueImageBgRemoval, useCanvasBgRemovedEvent, @@ -38,7 +41,9 @@ const convertFileToBase64 = (file: File): Promise => { export const RemoveBackground = () => { const [isGalleryModalOpen, setIsGalleryModalOpen] = useState(false); - const [selectedGalleryImages, setSelectedGalleryImages] = useState([]); + const [selectedGalleryImages, setSelectedGalleryImages] = useState( + [], + ); const [windowSize, setWindowSize] = useState({ width: window.innerWidth, height: window.innerHeight, @@ -210,7 +215,8 @@ export const RemoveBackground = () => { } if (progressBarRef.current) { progressBarRef.current.style.left = `${progressPercent}%`; - progressBarRef.current.style.display = progressPercent < 100 ? "block" : "none"; + progressBarRef.current.style.display = + progressPercent < 100 ? "block" : "none"; } if (progress < 1) { @@ -581,11 +587,16 @@ export const RemoveBackground = () => { disabled={!activeImage || isProcessing} className={twMerge( "border-ui-controls-border select-none border px-6 py-2.5 text-sm font-semibold transition-all", - isHoldingCompare ? "border-white bg-white/10" : "border-ui-controls-border", - (!activeImage || isProcessing) && "cursor-not-allowed opacity-50", + isHoldingCompare + ? "border-white bg-white/10" + : "border-ui-controls-border", + (!activeImage || isProcessing) && + "cursor-not-allowed opacity-50", )} > - {isHoldingCompare ? "Showing Original" : "Hold to Compare"} + {isHoldingCompare + ? "Showing Original" + : "Hold to Compare"} - +
    +
    + Display Large (57px / 64px) +
    + Grand Titre Expressif +
    +
    +
    + Headline Medium (28px / 36px) +
    + Titre de Section M3 +
    +
    +
    + Title Medium (16px / 24px) +
    + Titre de Carte ou Volet +
    +
    +
    + Body Large (16px / 24px) +
    + Corps de texte principal optimisé pour la lisibilité sur écrans + denses. +
    +
    - - - - + + diff --git a/packages/m3/src/tailwind.ts b/packages/m3/src/tailwind.ts index a7231d262d..a5bbd97623 100644 --- a/packages/m3/src/tailwind.ts +++ b/packages/m3/src/tailwind.ts @@ -6,7 +6,8 @@ import { Scanner, type SourceEntry } from "@tailwindcss/oxide"; import type { BunPlugin } from "bun"; import { dirname } from "node:path"; -const TAILWIND_DIRECTIVE = /@import\s*(?:url\()?['"]tailwindcss(?:['"/]|$)|@(?:tailwind|apply|theme|source|utility|variant|custom-variant|config|plugin)\b/; +const TAILWIND_DIRECTIVE = + /@import\s*(?:url\()?['"]tailwindcss(?:['"/]|$)|@(?:tailwind|apply|theme|source|utility|variant|custom-variant|config|plugin)\b/; export function tailwindM3Plugin(): BunPlugin { return { @@ -21,12 +22,21 @@ export function tailwindM3Plugin(): BunPlugin { await defer(); const base = dirname(path); const compiler = await compile(input, { base, onDependency() {} }); - const sources: SourceEntry[] = compiler.root === "none" - ? [] - : compiler.root === null - ? [{ base: build.config?.root ?? base, pattern: "**/*", negated: false }] - : [{ ...compiler.root, negated: false }]; - sources.push(...compiler.sources.map((source) => ({ ...source, negated: false }))); + const sources: SourceEntry[] = + compiler.root === "none" + ? [] + : compiler.root === null + ? [ + { + base: build.config?.root ?? base, + pattern: "**/*", + negated: false, + }, + ] + : [{ ...compiler.root, negated: false }]; + sources.push( + ...compiler.sources.map((source) => ({ ...source, negated: false })), + ); const candidates = new Scanner({ sources }).scan(); return { contents: compiler.build(candidates), loader: "css" }; }); diff --git a/packages/m3/src/tokens.ts b/packages/m3/src/tokens.ts index 21a568a31b..f8109e111a 100644 --- a/packages/m3/src/tokens.ts +++ b/packages/m3/src/tokens.ts @@ -4,11 +4,22 @@ // replaces the former static `assets/design-system/m3` tree. import { copyFile, mkdir } from "node:fs/promises"; import { join } from "node:path"; -import { cssRequest, defaultM3Css, type M3CssConfig, type M3CssFn, type M3Sheet } from "./native.js"; +import { + cssRequest, + defaultM3Css, + type M3CssConfig, + type M3CssFn, + type M3Sheet, +} from "./native.js"; import { fontPaths, resolveRepoRoot, SYMBOL_STYLES } from "./paths.js"; import { fontsCss } from "./plugin.js"; -export const SHEETS: readonly M3Sheet[] = ["tokens", "tailwind", "spaceui", "scheme"]; +export const SHEETS: readonly M3Sheet[] = [ + "tokens", + "tailwind", + "spaceui", + "scheme", +]; export interface M3TokensOptions extends Omit { /** Sheet to emit (default `tokens`). */ @@ -24,7 +35,10 @@ export async function m3Tokens(options: M3TokensOptions = {}): Promise { return generate(cssRequest(sheet, rest)); } -export interface TokenBundleOptions extends Omit { +export interface TokenBundleOptions extends Omit< + M3TokensOptions, + "sheet" | "dark" +> { /** Aphrody OS checkout holding the fonts (default: discovered). */ root?: string; } @@ -50,7 +64,10 @@ export async function bundleFontsCss(root: string): Promise { const fonts = fontPaths(root); const symbols = await Bun.file(join(fonts.symbolsDir, "index.css")).text(); return [ - symbols.replaceAll('url("./material-symbols-', 'url("./fonts/material-symbols-'), + symbols.replaceAll( + 'url("./material-symbols-', + 'url("./fonts/material-symbols-', + ), fontsCss().replace('url("./GoogleSansFlex', 'url("./fonts/GoogleSansFlex'), ].join("\n"); } @@ -59,7 +76,10 @@ export async function bundleFontsCss(root: string): Promise { * Write the self-contained token bundle into `dir`: every sheet, light and dark schemes, the * fonts and a manifest. Returns the written files, relative to `dir`. */ -export async function writeTokenBundle(dir: string, options: TokenBundleOptions = {}): Promise { +export async function writeTokenBundle( + dir: string, + options: TokenBundleOptions = {}, +): Promise { const { root: rootOption, css, ...theme } = options; const root = resolveRepoRoot(rootOption); const generate = css ?? (await defaultM3Css()); @@ -70,21 +90,40 @@ export async function writeTokenBundle(dir: string, options: TokenBundleOptions "tokens.css": generate(cssRequest("tokens", theme)), "tailwind.css": generate(cssRequest("tailwind", theme)), "spaceui.css": generate(cssRequest("spaceui", theme)), - "scheme-light.css": generate(cssRequest("scheme", { ...theme, dark: false })), + "scheme-light.css": generate( + cssRequest("scheme", { ...theme, dark: false }), + ), "scheme-dark.css": generate(cssRequest("scheme", { ...theme, dark: true })), "fonts.css": await bundleFontsCss(root), "index.css": '@import "./fonts.css";\n@import "./tokens.css";\n', }; - await Promise.all(Object.entries(sheets).map(([name, text]) => Bun.write(join(dir, name), text))); + await Promise.all( + Object.entries(sheets).map(([name, text]) => + Bun.write(join(dir, name), text), + ), + ); await Promise.all([ ...SYMBOL_STYLES.map((style) => - copyFile(fonts.symbols[style], join(dir, "fonts", `material-symbols-${style}.woff2`)), + copyFile( + fonts.symbols[style], + join(dir, "fonts", `material-symbols-${style}.woff2`), + ), ), copyFile(fonts.sansFlex, join(dir, "fonts", "GoogleSansFlex-Variable.ttf")), copyFile(join(fonts.sansFlexDir, "OFL.txt"), join(dir, "fonts", "OFL.txt")), - copyFile(join(fonts.symbolsDir, "LICENSE"), join(dir, "fonts", "LICENSE-material-symbols.txt")), + copyFile( + join(fonts.symbolsDir, "LICENSE"), + join(dir, "fonts", "LICENSE-material-symbols.txt"), + ), ]); - const manifest = { generator: "@aphrody/m3", theme, files: BUNDLE_FILES.filter((f) => f !== "manifest.json") }; - await Bun.write(join(dir, "manifest.json"), `${JSON.stringify(manifest, null, 2)}\n`); + const manifest = { + generator: "@aphrody/m3", + theme, + files: BUNDLE_FILES.filter((f) => f !== "manifest.json"), + }; + await Bun.write( + join(dir, "manifest.json"), + `${JSON.stringify(manifest, null, 2)}\n`, + ); return [...BUNDLE_FILES]; } diff --git a/packages/m3/src/url-imports.ts b/packages/m3/src/url-imports.ts index 9513784c22..665ffd1b26 100644 --- a/packages/m3/src/url-imports.ts +++ b/packages/m3/src/url-imports.ts @@ -54,20 +54,29 @@ export const FILE_URL_EXTENSIONS: readonly string[] = [".svg"]; /** How a `?url` import of `path` is bundled. */ export function urlImportForm(path: string): "file" | "inline" { - return FILE_URL_EXTENSIONS.includes(extname(path).toLowerCase()) ? "file" : "inline"; + return FILE_URL_EXTENSIONS.includes(extname(path).toLowerCase()) + ? "file" + : "inline"; } /** Register the `?url` resolver and loaders on a plugin builder. */ export function setupUrlImports(build: PluginBuilder): void { build.onResolve({ filter: /\?url$/ }, (args) => { const spec = args.path.slice(0, -URL_SUFFIX.length); - const path = isAbsolute(spec) ? spec : resolve(dirname(args.importer), spec); + const path = isAbsolute(spec) + ? spec + : resolve(dirname(args.importer), spec); if (urlImportForm(path) === "file") return { path }; return { path: `${path}${URL_SUFFIX}`, namespace: URL_NAMESPACE }; }); build.onLoad({ filter: /.*/, namespace: URL_NAMESPACE }, async (args) => { - const path = args.path.endsWith(URL_SUFFIX) ? args.path.slice(0, -URL_SUFFIX.length) : args.path; - return { contents: `export default ${JSON.stringify(await dataUrlFor(path))};`, loader: "js" }; + const path = args.path.endsWith(URL_SUFFIX) + ? args.path.slice(0, -URL_SUFFIX.length) + : args.path; + return { + contents: `export default ${JSON.stringify(await dataUrlFor(path))};`, + loader: "js", + }; }); build.onLoad({ filter: /\.svg$/i, namespace: "file" }, async (args) => ({ contents: await Bun.file(args.path).bytes(), diff --git a/packages/m3/test/build.test.ts b/packages/m3/test/build.test.ts index 204e301b69..e3fbc8e804 100644 --- a/packages/m3/test/build.test.ts +++ b/packages/m3/test/build.test.ts @@ -18,7 +18,12 @@ describe("buildM3", () => { expect(result.outdir).toBe(uiDist); const top = (await readdir(uiDist)).toSorted(); expect(top).toEqual( - [TAURI_LAYOUT.style, TAURI_LAYOUT.script, TAURI_LAYOUT.fonts, TAURI_LAYOUT.html].toSorted(), + [ + TAURI_LAYOUT.style, + TAURI_LAYOUT.script, + TAURI_LAYOUT.fonts, + TAURI_LAYOUT.html, + ].toSorted(), ); expect((await readdir(join(uiDist, "fonts"))).toSorted()).toEqual([ "GoogleSansFlex-Variable.ttf", @@ -31,7 +36,9 @@ describe("buildM3", () => { expect(html).toContain('href="./app.css"'); expect(html).not.toContain("main"); const css = await Bun.file(join(uiDist, "app.css")).text(); - expect(css).toMatch(/url\("?\.\/fonts\/material-symbols-outlined\.woff2"?\)/); + expect(css).toMatch( + /url\("?\.\/fonts\/material-symbols-outlined\.woff2"?\)/, + ); expect(css).toContain("--fixture-primary"); expect(result.outputs.map((o) => o.path).toSorted()).toEqual([ "app.css", @@ -79,7 +86,8 @@ describe("buildM3", () => { new Uint8Array([0x89, 0x50, 0x4e, 0x47, icon.length]), ); } - const lines = (form: (icon: string) => string) => icons.map(form).join("\n"); + const lines = (form: (icon: string) => string) => + icons.map(form).join("\n"); await Bun.write( join(src, "plain.ts"), lines((i) => `export const ${i} = () => import("./${i}.svg");`), @@ -115,7 +123,12 @@ describe("buildM3", () => { entry: join(src, "index.html"), tauri: { uiDist }, cwd, - plugin: { css: fakeCss().css, theme: {}, root: REPO_ROOT, tailwind: false }, + plugin: { + css: fakeCss().css, + theme: {}, + root: REPO_ROOT, + tailwind: false, + }, }); // oxlint-disable-next-line no-await-in-loop -- Read this completed build before comparing the next independently ordered run. const js = await Bun.file(join(uiDist, TAURI_LAYOUT.script)).text(); @@ -126,21 +139,26 @@ describe("buildM3", () => { // The chosen forms: every svg is a fonts/ file, every png an inline data URL. expect(js).not.toContain("data:image/svg+xml"); for (const icon of icons) - expect(result.outputs.map((o) => o.path)).toContain(`fonts/${icon}.svg`); + expect(result.outputs.map((o) => o.path)).toContain( + `fonts/${icon}.svg`, + ); expect(js.match(/data:image\/png;base64,/g)?.length).toBe(icons.length); } for (const run of runs.slice(1)) expect(run).toEqual(runs[0]!); }); test("Tauri mode rejects several entries", async () => { - await expect(buildM3({ entry: ["a.html", "b.html"], tauri: { uiDist: "x" } })).rejects.toThrow( - "exactly one", - ); - await expect(buildM3({ entry: "a.ts", tauri: { uiDist: "x" } })).rejects.toThrow(".html"); + await expect( + buildM3({ entry: ["a.html", "b.html"], tauri: { uiDist: "x" } }), + ).rejects.toThrow("exactly one"); + await expect( + buildM3({ entry: "a.ts", tauri: { uiDist: "x" } }), + ).rejects.toThrow(".html"); }); test("rewriteHtmlReference touches src/href attributes only", () => { - const html = '

    main.js

    '; + const html = + '

    main.js

    '; expect(rewriteHtmlReference(html, "main.js", "app.js")).toBe( '

    main.js

    ', ); diff --git a/packages/m3/test/cli.test.ts b/packages/m3/test/cli.test.ts index e31b4203e7..918e673411 100644 --- a/packages/m3/test/cli.test.ts +++ b/packages/m3/test/cli.test.ts @@ -23,14 +23,24 @@ describe("parseArgs", () => { positionals: [], }); expect( - parseArgs(["tokens", "--seed=#ff0000", "--dark", "--sheet", "scheme", "-o", "out.css"]).flags, + parseArgs([ + "tokens", + "--seed=#ff0000", + "--dark", + "--sheet", + "scheme", + "-o", + "out.css", + ]).flags, ).toEqual({ seed: "#ff0000", dark: true, sheet: "scheme", out: "out.css", }); - expect(parseArgs(["tokens", "--bundle", "dir", "--contrast", "-0.5"]).flags).toEqual({ + expect( + parseArgs(["tokens", "--bundle", "dir", "--contrast", "-0.5"]).flags, + ).toEqual({ bundle: "dir", contrast: "-0.5", }); @@ -38,15 +48,23 @@ describe("parseArgs", () => { test("--tauri takes an optional directory", () => { expect(parseArgs(["build", "--tauri"]).flags).toEqual({ tauri: true }); - expect(parseArgs(["build", "--tauri", "--dev"]).flags).toEqual({ tauri: true, dev: true }); - expect(parseArgs(["build", "--tauri", "../ui-dist"]).flags).toEqual({ tauri: "../ui-dist" }); + expect(parseArgs(["build", "--tauri", "--dev"]).flags).toEqual({ + tauri: true, + dev: true, + }); + expect(parseArgs(["build", "--tauri", "../ui-dist"]).flags).toEqual({ + tauri: "../ui-dist", + }); }); test("help, version, errors and positionals", () => { expect(parseArgs([]).command).toBe("help"); expect(parseArgs(["build", "-h"]).command).toBe("help"); expect(parseArgs(["--version"]).command).toBe("version"); - expect(parseArgs(["check", "extra", "--", "--raw"]).positionals).toEqual(["extra", "--raw"]); + expect(parseArgs(["check", "extra", "--", "--raw"]).positionals).toEqual([ + "extra", + "--raw", + ]); expect(() => parseArgs(["deploy"])).toThrow("unknown command deploy"); expect(() => parseArgs(["dev", "--port"])).toThrow("--port needs a value"); }); @@ -72,7 +90,9 @@ describe("parseArgs", () => { test("--sheet validation", () => { expect(sheetFlag({})).toBe("tokens"); expect(sheetFlag({ sheet: "spaceui" })).toBe("spaceui"); - expect(() => sheetFlag({ sheet: "nope" })).toThrow("--sheet must be one of"); + expect(() => sheetFlag({ sheet: "nope" })).toThrow( + "--sheet must be one of", + ); }); }); @@ -82,7 +102,10 @@ describe("runCli", () => { const uiDist = join(tmp.dir, "ui"); // m3.plain.config.ts: the fixture without m3:theme.css (the CLI takes no generator injection). expect( - await runCli(["build", "--tauri", uiDist, "--config", "m3.plain.config.ts"], FIXTURE), + await runCli( + ["build", "--tauri", uiDist, "--config", "m3.plain.config.ts"], + FIXTURE, + ), ).toBe(0); expect((await readdir(uiDist)).toSorted()).toEqual([ "app.css", @@ -91,13 +114,20 @@ describe("runCli", () => { "index.html", ]); // plain.html became index.html. - expect(await Bun.file(join(uiDist, "index.html")).text()).toContain('src="./app.js"'); + expect(await Bun.file(join(uiDist, "index.html")).text()).toContain( + 'src="./app.js"', + ); }); test("m3 build --tauri without a directory needs tauri.uiDist", async () => { await using tmp = await tempDir(); - await Bun.write(join(tmp.dir, "m3.config.ts"), 'export default { entry: "index.html" };\n'); - await expect(runCli(["build", "--tauri"], tmp.dir)).rejects.toThrow("tauri.uiDist"); + await Bun.write( + join(tmp.dir, "m3.config.ts"), + 'export default { entry: "index.html" };\n', + ); + await expect(runCli(["build", "--tauri"], tmp.dir)).rejects.toThrow( + "tauri.uiDist", + ); }); test("help and version", async () => { @@ -114,7 +144,10 @@ describe("runCli", () => { join(tmp.dir, "package.json"), JSON.stringify({ scripts: { "bun:check": "true" } }), ); - await Bun.write(join(tmp.dir, "apps/app/package.json"), JSON.stringify({ name: "app" })); + await Bun.write( + join(tmp.dir, "apps/app/package.json"), + JSON.stringify({ name: "app" }), + ); expect(findWorkspaceRoot(join(tmp.dir, "apps/app"))).toBe(tmp.dir); expect( findWorkspaceRoot(FIXTURE) === undefined || @@ -150,10 +183,18 @@ describe("runCli", () => { scripts: { dev: "m3 dev", build: "m3 build" }, dependencies: { "@aphrody/m3": "workspace:*" }, }); - expect(await Bun.file(join(project, "bunfig.toml")).text()).toContain('"@aphrody/m3/plugin"'); - expect(await Bun.file(join(project, "m3.config.ts")).text()).toContain('entry: "index.html"'); - expect(await Bun.file(join(project, "index.html")).text()).toContain("./src/main.ts"); - expect(await Bun.file(join(project, "src/main.ts")).text()).toContain("m3:theme.css"); + expect(await Bun.file(join(project, "bunfig.toml")).text()).toContain( + '"@aphrody/m3/plugin"', + ); + expect(await Bun.file(join(project, "m3.config.ts")).text()).toContain( + 'entry: "index.html"', + ); + expect(await Bun.file(join(project, "index.html")).text()).toContain( + "./src/main.ts", + ); + expect(await Bun.file(join(project, "src/main.ts")).text()).toContain( + "m3:theme.css", + ); // Build the generated app; native FFI parity is separately covered by native.test.ts. const built = await buildM3({ entry: join(project, "index.html"), @@ -161,10 +202,18 @@ describe("runCli", () => { cwd: project, plugin: { css: fakeCss().css, root: REPO_ROOT }, }); - expect(built.outputs.some((output) => output.path === "index.html")).toBe(true); - await expect(runCli(["new", relativeProject], REPO_ROOT)).rejects.toThrow(); - expect((await Bun.file(join(project, "package.json")).json()).name).toBe(name); - await expect(runCli(["new"], REPO_ROOT)).rejects.toThrow("expected one project directory"); + expect(built.outputs.some((output) => output.path === "index.html")).toBe( + true, + ); + await expect( + runCli(["new", relativeProject], REPO_ROOT), + ).rejects.toThrow(); + expect((await Bun.file(join(project, "package.json")).json()).name).toBe( + name, + ); + await expect(runCli(["new"], REPO_ROOT)).rejects.toThrow( + "expected one project directory", + ); } finally { await rm(project, { recursive: true, force: true }); } @@ -174,12 +223,17 @@ describe("runCli", () => { await using tmp = await tempDir(); const outfile = join(tmp.dir, "test-bin"); expect( - await runCli(["compile", "--outfile", outfile, "--config", "m3.plain.config.ts"], FIXTURE), + await runCli( + ["compile", "--outfile", outfile, "--config", "m3.plain.config.ts"], + FIXTURE, + ), ).toBe(0); expect(existsSync(outfile)).toBe(true); // An executable of this platform (ELF, PE or Mach-O), carrying the Bun runtime: the old output was ~130 KB of HTML. - const magic = [...new Uint8Array(await Bun.file(outfile).slice(0, 4).arrayBuffer())]; + const magic = [ + ...new Uint8Array(await Bun.file(outfile).slice(0, 4).arrayBuffer()), + ]; const native = process.platform === "win32" ? [0x4d, 0x5a] @@ -188,7 +242,8 @@ describe("runCli", () => { : [0x7f, 0x45, 0x4c, 0x46]; expect(magic.slice(0, native.length)).toEqual(native); expect(statSync(outfile).size).toBeGreaterThan(10_000_000); - if (process.platform !== "win32") expect(statSync(outfile).mode & 0o111).not.toBe(0); + if (process.platform !== "win32") + expect(statSync(outfile).mode & 0o111).not.toBe(0); const probe = Bun.serve({ port: 0, fetch: () => new Response("") }); const port = probe.port; @@ -210,7 +265,9 @@ describe("runCli", () => { expect(page?.status).toBe(200); expect(page?.headers.get("content-type")).toStartWith("text/html"); expect(await page!.text()).toContain("m3 fixture"); - expect((await fetch(`http://127.0.0.1:${port}/healthz`)).status).toBe(200); + expect((await fetch(`http://127.0.0.1:${port}/healthz`)).status).toBe( + 200, + ); } finally { server.kill(); await server.exited; @@ -219,7 +276,10 @@ describe("runCli", () => { test("m3 desktop requires tauri config and builds webview", async () => { await using tmp = await tempDir(); - await Bun.write(join(tmp.dir, "m3.config.ts"), 'export default { entry: "index.html" };\n'); + await Bun.write( + join(tmp.dir, "m3.config.ts"), + 'export default { entry: "index.html" };\n', + ); await expect(runCli(["desktop"], tmp.dir)).rejects.toThrow("tauri.uiDist"); const uiDist = join(tmp.dir, "desktop-ui"); @@ -236,9 +296,14 @@ describe("token bundle", () => { test("writes every sheet, both schemes, the fonts and a manifest", async () => { await using tmp = await tempDir(); const { css, calls } = fakeCss(); - const files = await writeTokenBundle(tmp.dir, { css, seed: "#00ff00", root: REPO_ROOT }); + const files = await writeTokenBundle(tmp.dir, { + css, + seed: "#00ff00", + root: REPO_ROOT, + }); expect(files).toEqual([...BUNDLE_FILES]); - for (const file of files) expect(existsSync(join(tmp.dir, file))).toBe(true); + for (const file of files) + expect(existsSync(join(tmp.dir, file))).toBe(true); expect(calls).toEqual([ { sheet: "tokens", seed: "#00ff00" }, { sheet: "tailwind", seed: "#00ff00" }, diff --git a/packages/m3/test/config.test.ts b/packages/m3/test/config.test.ts index 17780aaf80..21a9974e46 100644 --- a/packages/m3/test/config.test.ts +++ b/packages/m3/test/config.test.ts @@ -1,7 +1,12 @@ // SPDX-License-Identifier: Apache-2.0 import { describe, expect, test } from "bun:test"; import { join } from "node:path"; -import { defineM3Config, findM3Config, loadM3Config, resolveM3Config } from "../src/config.ts"; +import { + defineM3Config, + findM3Config, + loadM3Config, + resolveM3Config, +} from "../src/config.ts"; import { FIXTURE, tempDir } from "./helpers.ts"; describe("m3.config.ts", () => { @@ -13,16 +18,25 @@ describe("m3.config.ts", () => { expect(config.outdir).toBe(join(FIXTURE, "dist")); expect(config.tauri?.uiDist).toBe(join(FIXTURE, "ui-dist")); expect(config.proxy).toEqual({ "/rpc": "http://127.0.0.1:9" }); - expect(config.theme).toEqual({ seed: "#336699", variant: "vibrant", contrast: 0.5 }); + expect(config.theme).toEqual({ + seed: "#336699", + variant: "vibrant", + contrast: 0.5, + }); expect(config.port).toBe(0); }); test("an explicit file wins over the lookup; .js configs load too", async () => { await using tmp = await tempDir(); - await Bun.write(join(tmp.dir, "custom.config.js"), 'export default { entry: "pages/main.html", pagesDir: "pages/react", routes: { "/about": "pages/about.html" } };\n'); + await Bun.write( + join(tmp.dir, "custom.config.js"), + 'export default { entry: "pages/main.html", pagesDir: "pages/react", routes: { "/about": "pages/about.html" } };\n', + ); const config = await loadM3Config(tmp.dir, "custom.config.js"); expect(config.entry).toBe(join(tmp.dir, "pages/main.html")); - expect(config.routes).toEqual({ "/about": join(tmp.dir, "pages/about.html") }); + expect(config.routes).toEqual({ + "/about": join(tmp.dir, "pages/about.html"), + }); expect(config.pagesDir).toBe(join(tmp.dir, "pages/react")); expect(config.outdir).toBe(join(tmp.dir, "dist")); expect(config.tauri).toBeUndefined(); @@ -32,15 +46,30 @@ describe("m3.config.ts", () => { await using tmp = await tempDir(); expect(findM3Config(tmp.dir)).toBeUndefined(); await expect(loadM3Config(tmp.dir)).rejects.toThrow("no m3.config.ts"); - await Bun.write(join(tmp.dir, "m3.config.mjs"), 'export default { entry: "a.html" };\n'); - await Bun.write(join(tmp.dir, "m3.config.ts"), 'export default { entry: "b.html" };\n'); + await Bun.write( + join(tmp.dir, "m3.config.mjs"), + 'export default { entry: "a.html" };\n', + ); + await Bun.write( + join(tmp.dir, "m3.config.ts"), + 'export default { entry: "b.html" };\n', + ); expect(findM3Config(tmp.dir)).toBe(join(tmp.dir, "m3.config.ts")); }); test("validation: entry, proxy prefix and target", () => { - expect(() => resolveM3Config({} as never, "/x")).toThrow("`entry` must be a non-empty string"); - expect(() => resolveM3Config({ entry: "a.html", proxy: { rpc: "http://h" } }, "/x")).toThrow('must start with "/"'); - expect(() => resolveM3Config({ entry: "a.html", proxy: { "/rpc": "not a url" } }, "/x")).toThrow("is not a URL"); + expect(() => resolveM3Config({} as never, "/x")).toThrow( + "`entry` must be a non-empty string", + ); + expect(() => + resolveM3Config({ entry: "a.html", proxy: { rpc: "http://h" } }, "/x"), + ).toThrow('must start with "/"'); + expect(() => + resolveM3Config( + { entry: "a.html", proxy: { "/rpc": "not a url" } }, + "/x", + ), + ).toThrow("is not a URL"); expect(defineM3Config({ entry: "a.html" })).toEqual({ entry: "a.html" }); }); }); diff --git a/packages/m3/test/fixtures/app/prism.scss b/packages/m3/test/fixtures/app/prism.scss index acf53b3e41..f7bc2c6f81 100644 --- a/packages/m3/test/fixtures/app/prism.scss +++ b/packages/m3/test/fixtures/app/prism.scss @@ -1,2 +1,4 @@ // A line comment the ?url loader strips. -code { color: #abcdef; } +code { + color: #abcdef; +} diff --git a/packages/m3/test/fixtures/pages/about.tsx b/packages/m3/test/fixtures/pages/about.tsx index 4ed7b68bfe..e999f88d9d 100644 --- a/packages/m3/test/fixtures/pages/about.tsx +++ b/packages/m3/test/fixtures/pages/about.tsx @@ -1,3 +1,9 @@ export default function About() { - return

    SSR about

    ; + return ( + + +

    SSR about

    + + + ); } diff --git a/packages/m3/test/fixtures/pages/health.tsx b/packages/m3/test/fixtures/pages/health.tsx index 10b043691d..1e22d5b23a 100644 --- a/packages/m3/test/fixtures/pages/health.tsx +++ b/packages/m3/test/fixtures/pages/health.tsx @@ -1,3 +1,7 @@ export default function Health() { - return SSR health; + return ( + + SSR health + + ); } diff --git a/packages/m3/test/fixtures/pages/index.tsx b/packages/m3/test/fixtures/pages/index.tsx index 54b2a269ba..19fa8ff167 100644 --- a/packages/m3/test/fixtures/pages/index.tsx +++ b/packages/m3/test/fixtures/pages/index.tsx @@ -1,3 +1,9 @@ export default function Home() { - return

    SSR home

    ; + return ( + + +

    SSR home

    + + + ); } diff --git a/packages/m3/test/fixtures/pages/rpc/echo.tsx b/packages/m3/test/fixtures/pages/rpc/echo.tsx index 679093d99c..f25159612c 100644 --- a/packages/m3/test/fixtures/pages/rpc/echo.tsx +++ b/packages/m3/test/fixtures/pages/rpc/echo.tsx @@ -1,3 +1,7 @@ export default function RpcEcho() { - return SSR rpc; + return ( + + SSR rpc + + ); } diff --git a/packages/m3/test/fixtures/pages/users/[id].tsx b/packages/m3/test/fixtures/pages/users/[id].tsx index b69a7f00a8..9479546207 100644 --- a/packages/m3/test/fixtures/pages/users/[id].tsx +++ b/packages/m3/test/fixtures/pages/users/[id].tsx @@ -1,5 +1,12 @@ import type { M3PageProps } from "../../../../src/server.ts"; export default function User({ params, request }: M3PageProps) { - return

    User {params.id}

    {new URL(request.url).searchParams.get("view")}

    ; + return ( + + +

    User {params.id}

    +

    {new URL(request.url).searchParams.get("view")}

    + + + ); } diff --git a/packages/m3/test/helpers.ts b/packages/m3/test/helpers.ts index 9afc51d79b..87d0a8b1a5 100644 --- a/packages/m3/test/helpers.ts +++ b/packages/m3/test/helpers.ts @@ -22,7 +22,12 @@ export function fakeCss() { } /** A fresh temporary directory, removed by the returned disposer. */ -export async function tempDir(prefix = "m3-test-"): Promise<{ dir: string; [Symbol.asyncDispose](): Promise }> { +export async function tempDir( + prefix = "m3-test-", +): Promise<{ dir: string; [Symbol.asyncDispose](): Promise }> { const dir = await mkdtemp(join(tmpdir(), prefix)); - return { dir, [Symbol.asyncDispose]: () => rm(dir, { recursive: true, force: true }) }; + return { + dir, + [Symbol.asyncDispose]: () => rm(dir, { recursive: true, force: true }), + }; } diff --git a/packages/m3/test/i18n.test.ts b/packages/m3/test/i18n.test.ts index dc5ba2d8f7..0ee42bf839 100644 --- a/packages/m3/test/i18n.test.ts +++ b/packages/m3/test/i18n.test.ts @@ -1,6 +1,12 @@ // SPDX-License-Identifier: Apache-2.0 import { describe, expect, test } from "bun:test"; -import { getLocale, setLocale, t, SUPPORTED_LOCALES, getCatalog } from "../src/i18n.ts"; +import { + getLocale, + setLocale, + t, + SUPPORTED_LOCALES, + getCatalog, +} from "../src/i18n.ts"; describe("M3 i18n localization contract", () => { test("supported locales are en and fr", () => { @@ -49,8 +55,12 @@ describe("M3 i18n localization contract", () => { expect(enKeys.toSorted()).toEqual(frKeys.toSorted()); for (const key of enKeys) { - expect((en[ns] as Record)[key].length).toBeGreaterThan(0); - expect((fr[ns] as Record)[key].length).toBeGreaterThan(0); + expect((en[ns] as Record)[key].length).toBeGreaterThan( + 0, + ); + expect((fr[ns] as Record)[key].length).toBeGreaterThan( + 0, + ); } } }); diff --git a/packages/m3/test/native.test.ts b/packages/m3/test/native.test.ts index a9ea9814f3..efc88a704a 100644 --- a/packages/m3/test/native.test.ts +++ b/packages/m3/test/native.test.ts @@ -16,7 +16,8 @@ const unavailable = ? "" : "this build of @aphrody/bun does not export m3Css; see docs/guides/NATIVE.md"; const hasM3Css = unavailable === ""; -if (!hasM3Css) console.warn(`[@aphrody/m3] native suite skipped: ${unavailable}`); +if (!hasM3Css) + console.warn(`[@aphrody/m3] native suite skipped: ${unavailable}`); describe("variant spelling", () => { test("camelCase SchemeVariant names become the Rust kebab-case names", () => { @@ -24,28 +25,50 @@ describe("variant spelling", () => { expect(normalizeVariant("tonal-spot")).toBe("tonal-spot"); expect(normalizeVariant("vibrant")).toBe("vibrant"); expect(normalizeVariant("fruitSalad")).toBe("fruit-salad"); - expect(cssRequest("scheme", { variant: "tonalSpot", dark: true })).toEqual({ sheet: "scheme", variant: "tonal-spot", dark: true }); - }); -}); - -describe.skipIf(!hasM3Css)(hasM3Css ? "m3Css through FFI" : `m3Css through FFI [skipped: ${unavailable}]`, () => { - test("m3Tokens renders a dark scheme from a seed", async () => { - const css = await m3Tokens({ sheet: "scheme", seed: "#6750a4", variant: "tonalSpot", dark: true }); - expect(css).toContain("color-scheme: dark"); - expect(css).toMatch(/--md-sys-color-primary: #[0-9a-f]{6};/); - }); - - test("m3:theme.css is generated by Rust in a real build", async () => { - await using tmp = await tempDir(); - const entry = join(tmp.dir, "entry.ts"); - await Bun.write(entry, 'import "m3:theme.css";\n'); - const result = await Bun.build({ - entrypoints: [entry], - outdir: join(tmp.dir, "out"), - plugins: [m3Plugin({ theme: { seed: "#336699", variant: "vibrant" }, root: REPO_ROOT, tailwind: false })], + expect(cssRequest("scheme", { variant: "tonalSpot", dark: true })).toEqual({ + sheet: "scheme", + variant: "tonal-spot", + dark: true, }); - expect(result.success).toBe(true); - const css = await result.outputs.find((o) => o.path.endsWith(".css"))!.text(); - expect(css).toContain("--md-sys-color-primary"); }); }); + +describe.skipIf(!hasM3Css)( + hasM3Css + ? "m3Css through FFI" + : `m3Css through FFI [skipped: ${unavailable}]`, + () => { + test("m3Tokens renders a dark scheme from a seed", async () => { + const css = await m3Tokens({ + sheet: "scheme", + seed: "#6750a4", + variant: "tonalSpot", + dark: true, + }); + expect(css).toContain("color-scheme: dark"); + expect(css).toMatch(/--md-sys-color-primary: #[0-9a-f]{6};/); + }); + + test("m3:theme.css is generated by Rust in a real build", async () => { + await using tmp = await tempDir(); + const entry = join(tmp.dir, "entry.ts"); + await Bun.write(entry, 'import "m3:theme.css";\n'); + const result = await Bun.build({ + entrypoints: [entry], + outdir: join(tmp.dir, "out"), + plugins: [ + m3Plugin({ + theme: { seed: "#336699", variant: "vibrant" }, + root: REPO_ROOT, + tailwind: false, + }), + ], + }); + expect(result.success).toBe(true); + const css = await result.outputs + .find((o) => o.path.endsWith(".css"))! + .text(); + expect(css).toContain("--md-sys-color-primary"); + }); + }, +); diff --git a/packages/m3/test/plugin.test.ts b/packages/m3/test/plugin.test.ts index 560cbe56d5..6d1e4de359 100644 --- a/packages/m3/test/plugin.test.ts +++ b/packages/m3/test/plugin.test.ts @@ -6,16 +6,30 @@ import { m3Plugin, M3_MODULES, fontsCss } from "../src/plugin.ts"; import { dataUrlFor, mimeFor, urlImportForm } from "../src/url-imports.ts"; import { FIXTURE, fakeCss, REPO_ROOT, tempDir } from "./helpers.ts"; -async function bundle(outdir: string, plugin: ReturnType, entry = join(FIXTURE, "index.html")) { - const result = await Bun.build({ entrypoints: [entry], outdir, target: "browser", plugins: [plugin] }); - if (!result.success) throw new AggregateError(result.logs, "fixture build failed"); +async function bundle( + outdir: string, + plugin: ReturnType, + entry = join(FIXTURE, "index.html"), +) { + const result = await Bun.build({ + entrypoints: [entry], + outdir, + target: "browser", + plugins: [plugin], + }); + if (!result.success) + throw new AggregateError(result.logs, "fixture build failed"); const files = await readdir(outdir, { recursive: true }); const read = async (ext: string) => { const name = files.find((file) => file.endsWith(ext)); if (!name) throw new Error(`no ${ext} output in ${files.join(", ")}`); return Bun.file(join(outdir, name)).text(); }; - return { files: files.map((f) => f.replaceAll("\\", "/")), css: await read(".css"), js: await read(".js") }; + return { + files: files.map((f) => f.replaceAll("\\", "/")), + css: await read(".css"), + js: await read(".js"), + }; } describe("m3Plugin virtual modules", () => { @@ -23,8 +37,18 @@ describe("m3Plugin virtual modules", () => { await using tmp = await tempDir(); const { css, calls } = fakeCss(); const theme = { seed: "#abcdef", variant: "expressive", contrast: 0.5 }; - const out = await bundle(tmp.dir, m3Plugin({ css, theme, root: REPO_ROOT })); - expect(calls).toEqual([{ sheet: "tokens", seed: "#abcdef", variant: "expressive", contrast: 0.5 }]); + const out = await bundle( + tmp.dir, + m3Plugin({ css, theme, root: REPO_ROOT }), + ); + expect(calls).toEqual([ + { + sheet: "tokens", + seed: "#abcdef", + variant: "expressive", + contrast: 0.5, + }, + ]); expect(out.css).toContain("--fixture-primary: #123456"); expect(out.css).toContain("expressive"); }); @@ -32,29 +56,47 @@ describe("m3Plugin virtual modules", () => { test("the theme defaults to m3.config.ts of configDir", async () => { await using tmp = await tempDir(); const { css, calls } = fakeCss(); - await bundle(tmp.dir, m3Plugin({ css, configDir: FIXTURE, root: REPO_ROOT })); - expect(calls).toEqual([{ sheet: "tokens", seed: "#336699", variant: "vibrant", contrast: 0.5 }]); + await bundle( + tmp.dir, + m3Plugin({ css, configDir: FIXTURE, root: REPO_ROOT }), + ); + expect(calls).toEqual([ + { sheet: "tokens", seed: "#336699", variant: "vibrant", contrast: 0.5 }, + ]); }); test("the generator runs once per sheet and build", async () => { await using tmp = await tempDir(); const { css, calls } = fakeCss(); const entry = join(tmp.dir, "entry.ts"); - await Bun.write(entry, 'import "m3:theme.css";\nimport "m3:tokens.css";\nimport "m3:tailwind.css";\n'); + await Bun.write( + entry, + 'import "m3:theme.css";\nimport "m3:tokens.css";\nimport "m3:tailwind.css";\n', + ); const result = await Bun.build({ entrypoints: [entry], outdir: join(tmp.dir, "out"), plugins: [m3Plugin({ css, theme: {}, root: REPO_ROOT, tailwind: false })], }); expect(result.success).toBe(true); - expect(calls.map((c) => c.sheet).toSorted()).toEqual(["tailwind", "tokens"]); + expect(calls.map((c) => c.sheet).toSorted()).toEqual([ + "tailwind", + "tokens", + ]); }); test("m3:symbols.css and m3:fonts.css ship the crate fonts as assets", async () => { await using tmp = await tempDir(); - const out = await bundle(tmp.dir, m3Plugin({ css: fakeCss().css, theme: {}, root: REPO_ROOT })); - expect(out.files.some((f) => /material-symbols-outlined.*\.woff2$/.test(f))).toBe(true); - expect(out.files.some((f) => /GoogleSansFlex-Variable.*\.ttf$/.test(f))).toBe(true); + const out = await bundle( + tmp.dir, + m3Plugin({ css: fakeCss().css, theme: {}, root: REPO_ROOT }), + ); + expect( + out.files.some((f) => /material-symbols-outlined.*\.woff2$/.test(f)), + ).toBe(true); + expect( + out.files.some((f) => /GoogleSansFlex-Variable.*\.ttf$/.test(f)), + ).toBe(true); expect(out.css).toMatch(/font-family: "?Material Symbols Outlined"?/); expect(out.css).toMatch(/font-family: "?Google Sans Flex"?/); expect(out.css).toContain(".material-symbols-outlined"); @@ -62,7 +104,10 @@ describe("m3Plugin virtual modules", () => { test("Tailwind v4 is composed: utilities from the HTML are generated", async () => { await using tmp = await tempDir(); - const out = await bundle(tmp.dir, m3Plugin({ css: fakeCss().css, theme: {}, root: REPO_ROOT })); + const out = await bundle( + tmp.dir, + m3Plugin({ css: fakeCss().css, theme: {}, root: REPO_ROOT }), + ); expect(out.css).toContain(".bg-primary"); expect(out.css).toContain(".p-4"); }); @@ -74,7 +119,9 @@ describe("m3Plugin virtual modules", () => { const result = await Bun.build({ entrypoints: [entry], outdir: join(tmp.dir, "out"), - plugins: [m3Plugin({ css: fakeCss().css, root: REPO_ROOT, tailwind: false })], + plugins: [ + m3Plugin({ css: fakeCss().css, root: REPO_ROOT, tailwind: false }), + ], throw: false, }); expect(result.success).toBe(false); @@ -91,8 +138,13 @@ describe("m3Plugin virtual modules", () => { describe("?url imports", () => { test(".svg is emitted as a file; other assets are inlined; .scss line comments are stripped", async () => { await using tmp = await tempDir(); - const out = await bundle(tmp.dir, m3Plugin({ css: fakeCss().css, theme: {}, root: REPO_ROOT })); - expect(out.files.some((file) => /^logo(-[a-z0-9]+)?\.svg$/.test(file))).toBe(true); + const out = await bundle( + tmp.dir, + m3Plugin({ css: fakeCss().css, theme: {}, root: REPO_ROOT }), + ); + expect( + out.files.some((file) => /^logo(-[a-z0-9]+)?\.svg$/.test(file)), + ).toBe(true); expect(out.js).not.toContain("data:image/svg+xml"); expect(urlImportForm("a.SVG")).toBe("file"); expect(urlImportForm("a.png")).toBe("inline"); diff --git a/packages/m3/test/proxy-boundary.test.ts b/packages/m3/test/proxy-boundary.test.ts index c7e58fe99f..1b0aaa7fe7 100644 --- a/packages/m3/test/proxy-boundary.test.ts +++ b/packages/m3/test/proxy-boundary.test.ts @@ -5,10 +5,16 @@ import { createProxy, resolvePort } from "../src/server.ts"; test("a protocol-relative request path cannot replace the configured proxy host", async () => { await using upstream = Bun.serve({ port: 0, - fetch: (request) => Response.json({ upstream: true, path: new URL(request.url).pathname }), + fetch: (request) => + Response.json({ upstream: true, path: new URL(request.url).pathname }), }); - await using other = Bun.serve({ port: 0, fetch: () => Response.json({ upstream: false }) }); - const request = new Request(`http://m3.test//127.0.0.1:${other.port}/secret?x=1`); + await using other = Bun.serve({ + port: 0, + fetch: () => Response.json({ upstream: false }), + }); + const request = new Request( + `http://m3.test//127.0.0.1:${other.port}/secret?x=1`, + ); const response = await createProxy(upstream.url.href)(request); const body = await response.json(); expect(body.upstream).toBe(true); @@ -31,14 +37,22 @@ test("proxy strips connection-specific headers and forwards cancellation", async const proxy = createProxy(upstream.url.href); const response = await proxy( new Request("http://m3.test/api", { - headers: { connection: "x-private-hop", "x-private-hop": "remove", "x-custom": "keep" }, + headers: { + connection: "x-private-hop", + "x-private-hop": "remove", + "x-custom": "keep", + }, }), ); expect(await response.json()).toEqual({ private: null, custom: "keep" }); const controller = new AbortController(); controller.abort(); expect( - (await proxy(new Request("http://m3.test/api", { signal: controller.signal }))).status, + ( + await proxy( + new Request("http://m3.test/api", { signal: controller.signal }), + ) + ).status, ).toBe(502); expect(requests).toBe(1); expect(() => createProxy("file:///private")).toThrow("HTTP or HTTPS"); diff --git a/packages/m3/test/server.test.ts b/packages/m3/test/server.test.ts index 066642994e..d3a5c4305d 100644 --- a/packages/m3/test/server.test.ts +++ b/packages/m3/test/server.test.ts @@ -2,7 +2,14 @@ import { afterAll, beforeAll, describe, expect, test } from "bun:test"; import type { Server } from "bun"; import { join } from "node:path"; -import { buildRoutes, createProxy, fileRoutes, proxyRoutes, resolvePort, serveM3 } from "../src/server.ts"; +import { + buildRoutes, + createProxy, + fileRoutes, + proxyRoutes, + resolvePort, + serveM3, +} from "../src/server.ts"; const SPA_HTML = join(import.meta.dir, "fixtures/spa/index.html"); const PAGES = join(import.meta.dir, "fixtures/pages"); @@ -39,9 +46,13 @@ describe("serveM3", () => { expect(root.status).toBe(200); const html = await root.text(); expect(html).toContain('id="spa-root"'); - const deep = await fetch(new URL("/some/client/route", server.url)).then((r) => r.text()); + const deep = await fetch(new URL("/some/client/route", server.url)).then( + (r) => r.text(), + ); expect(deep).toContain('id="spa-root"'); - expect(await fetch(new URL("/health", server.url)).then((r) => r.text())).toBe("ok"); + expect( + await fetch(new URL("/health", server.url)).then((r) => r.text()), + ).toBe("ok"); // The bundled client script referenced by the HTML is served too. const script = /src="([^"]+\.js)"/.exec(html)?.[1]; expect(script).toBeDefined(); @@ -62,25 +73,49 @@ describe("serveM3", () => { const home = await fetch(new URL("/", server.url)); expect(home.headers.get("content-type")).toContain("text/html"); expect(await home.text()).toContain("SSR home"); - expect(await fetch(new URL("/about", server.url)).then((res) => res.text())).toContain("SSR about"); - const user = await fetch(new URL("/users/%3Cadmin%3E?view=full", server.url)).then((res) => res.text()); + expect( + await fetch(new URL("/about", server.url)).then((res) => res.text()), + ).toContain("SSR about"); + const user = await fetch( + new URL("/users/%3Cadmin%3E?view=full", server.url), + ).then((res) => res.text()); expect(user).toContain("<admin>"); expect(user).toContain("full"); - expect(await fetch(new URL("/health", server.url)).then((res) => res.text())).toBe("explicit"); - expect(await fetch(new URL("/rpc/echo", server.url)).then((res) => res.json())).toMatchObject({ path: "/rpc/echo" }); - expect(await fetch(new URL("/client/route", server.url)).then((res) => res.text())).toContain('id="spa-root"'); + expect( + await fetch(new URL("/health", server.url)).then((res) => res.text()), + ).toBe("explicit"); + expect( + await fetch(new URL("/rpc/echo", server.url)).then((res) => res.json()), + ).toMatchObject({ path: "/rpc/echo" }); + expect( + await fetch(new URL("/client/route", server.url)).then((res) => + res.text(), + ), + ).toContain('id="spa-root"'); }); test("proxies a prefix and everything below it, keeping method, query, headers and body", async () => { - await using server = await serveM3({ proxy: { "/rpc": upstream.url.href }, port: 0, hmr: false }); - const exact = await fetch(new URL("/rpc", server.url)).then((r) => r.json()); + await using server = await serveM3({ + proxy: { "/rpc": upstream.url.href }, + port: 0, + hmr: false, + }); + const exact = await fetch(new URL("/rpc", server.url)).then((r) => + r.json(), + ); expect(exact).toMatchObject({ method: "GET", path: "/rpc" }); const nested = await fetch(new URL("/rpc/a/b?x=1", server.url), { method: "POST", body: "payload", headers: { "x-custom": "kept" }, }).then((r) => r.json()); - expect(nested).toMatchObject({ method: "POST", path: "/rpc/a/b", query: "?x=1", body: "payload", custom: "kept" }); + expect(nested).toMatchObject({ + method: "POST", + path: "/rpc/a/b", + query: "?x=1", + body: "payload", + custom: "kept", + }); expect(nested.host).toBe(new URL(upstream.url).host); // Unmatched paths without an index fall through to 404. expect((await fetch(new URL("/other", server.url))).status).toBe(404); @@ -90,14 +125,22 @@ describe("serveM3", () => { const dead = Bun.serve({ port: 0, fetch: () => new Response("") }); const target = dead.url.href; dead.stop(true); - await using server = await serveM3({ proxy: { "/api": target }, port: 0, hmr: false }); + await using server = await serveM3({ + proxy: { "/api": target }, + port: 0, + hmr: false, + }); const res = await fetch(new URL("/api/x", server.url)); expect(res.status).toBe(502); expect(await res.text()).toContain("upstream unreachable"); }); test("a custom fetch handles unmatched requests", async () => { - await using server = await serveM3({ port: 0, hmr: false, fetch: () => new Response("fallback", { status: 418 }) }); + await using server = await serveM3({ + port: 0, + hmr: false, + fetch: () => new Response("fallback", { status: 418 }), + }); const res = await fetch(new URL("/anything", server.url)); expect(res.status).toBe(418); }); @@ -105,27 +148,54 @@ describe("serveM3", () => { describe("routing helpers", () => { test("proxyRoutes maps each prefix to itself and prefix/*", () => { - const routes = proxyRoutes({ "/rpc/": "http://127.0.0.1:1", "/api": "http://127.0.0.1:2" }); - expect(Object.keys(routes).toSorted()).toEqual(["/api", "/api/*", "/rpc", "/rpc/*"]); - expect(() => proxyRoutes({ rpc: "http://127.0.0.1:1" })).toThrow("must start with"); + const routes = proxyRoutes({ + "/rpc/": "http://127.0.0.1:1", + "/api": "http://127.0.0.1:2", + }); + expect(Object.keys(routes).toSorted()).toEqual([ + "/api", + "/api/*", + "/rpc", + "/rpc/*", + ]); + expect(() => proxyRoutes({ rpc: "http://127.0.0.1:1" })).toThrow( + "must start with", + ); }); test("buildRoutes orders proxy, routes, then the /* fallback", async () => { - const routes = await buildRoutes({ proxy: { "/rpc": "http://127.0.0.1:1" }, routes: { "/a": new Response("a") }, index: SPA_HTML }); + const routes = await buildRoutes({ + proxy: { "/rpc": "http://127.0.0.1:1" }, + routes: { "/a": new Response("a") }, + index: SPA_HTML, + }); expect(Object.keys(routes)).toEqual(["/rpc", "/rpc/*", "/a", "/*"]); - await expect(buildRoutes({ index: "not-html.txt" })).rejects.toThrow("not an .html file"); + await expect(buildRoutes({ index: "not-html.txt" })).rejects.toThrow( + "not an .html file", + ); }); test("fileRoutes maps index, nested pages and dynamic segments", async () => { const routes = await fileRoutes(PAGES); - expect(Object.keys(routes).toSorted()).toEqual(["/", "/about", "/health", "/rpc/echo", "/users/:id"]); - await expect(fileRoutes(join(PAGES, "missing"))).rejects.toThrow("not a directory"); + expect(Object.keys(routes).toSorted()).toEqual([ + "/", + "/about", + "/health", + "/rpc/echo", + "/users/:id", + ]); + await expect(fileRoutes(join(PAGES, "missing"))).rejects.toThrow( + "not a directory", + ); }); test("createProxy keeps a base path of the target", async () => { const proxy = createProxy(new URL("/base/", upstream.url).href); const res = await proxy(new Request("http://localhost/rpc/x?y=2")); - expect(await res.json()).toMatchObject({ path: "/base/rpc/x", query: "?y=2" }); + expect(await res.json()).toMatchObject({ + path: "/base/rpc/x", + query: "?y=2", + }); }); test("resolvePort: explicit, then PORT, then 3000", () => { diff --git a/packages/m3/test/tailwind.test.ts b/packages/m3/test/tailwind.test.ts index 11506bd9ed..03dc662b15 100644 --- a/packages/m3/test/tailwind.test.ts +++ b/packages/m3/test/tailwind.test.ts @@ -4,19 +4,27 @@ import { join, relative } from "node:path"; import { tailwindM3Plugin } from "../src/tailwind.ts"; import { FIXTURE, tempDir } from "./helpers.ts"; -async function buildCss(source: string | null, usePlugin: boolean): Promise { +async function buildCss( + source: string | null, + usePlugin: boolean, +): Promise { await using tmp = await tempDir(); const entry = join(tmp.dir, "entry.ts"); - const cssPath = source === null ? join(FIXTURE, "app.css") : join(tmp.dir, "app.css"); + const cssPath = + source === null ? join(FIXTURE, "app.css") : join(tmp.dir, "app.css"); if (source !== null) await Bun.write(cssPath, source); const specifier = relative(tmp.dir, cssPath).replaceAll("\\", "/"); - await Bun.write(entry, `import ${JSON.stringify(specifier.startsWith(".") ? specifier : `./${specifier}`)};`); + await Bun.write( + entry, + `import ${JSON.stringify(specifier.startsWith(".") ? specifier : `./${specifier}`)};`, + ); const result = await Bun.build({ entrypoints: [entry], outdir: join(tmp.dir, "out"), plugins: usePlugin ? [tailwindM3Plugin()] : [], }); - if (!result.success) throw new AggregateError(result.logs, "CSS build failed"); + if (!result.success) + throw new AggregateError(result.logs, "CSS build failed"); const css = result.outputs.find((output) => output.path.endsWith(".css")); if (!css) throw new Error("CSS build produced no CSS output"); return (await css.text()).replace(/^\/\* .*app\.css \*\/\r?\n/, ""); diff --git a/packages/material-design-icons/README.md b/packages/material-design-icons/README.md index e6a3330183..41ce5a52a8 100644 --- a/packages/material-design-icons/README.md +++ b/packages/material-design-icons/README.md @@ -17,7 +17,11 @@ wanted blobs and writes them with an exact-path sparse checkout. | `bun run icons:ico --out src-tauri/icons` | `tauri icon` pipeline: `icon.ico`, `icon.icns`, PNG set (`yolo m3 svg-to-ico`; npm bin `m3-svg-to-ico`). | ```ts -import { symbolNames, readSymbolSvg, hasSymbol } from "@aphrody/material-design-icons"; +import { + symbolNames, + readSymbolSvg, + hasSymbol, +} from "@aphrody/material-design-icons"; symbolNames().length; // 4150 readSymbolSvg("home", "rounded", 400, true); diff --git a/packages/material-design-icons/scripts/export-theme.ts b/packages/material-design-icons/scripts/export-theme.ts index 43d85b0c7b..67a3674baf 100644 --- a/packages/material-design-icons/scripts/export-theme.ts +++ b/packages/material-design-icons/scripts/export-theme.ts @@ -7,7 +7,12 @@ // Usage: bun export-theme.ts --out dist/icons [--theme Aphrody-M3] [--styles outlined,rounded,sharp] import { mkdirSync } from "node:fs"; import { join, resolve } from "node:path"; -import { readSymbolSvg, symbolNames, hasSymbol, type SymbolStyle } from "../src/index.ts"; +import { + readSymbolSvg, + symbolNames, + hasSymbol, + type SymbolStyle, +} from "../src/index.ts"; const args = process.argv.slice(2); const flag = (n: string, d: string) => { @@ -16,10 +21,13 @@ const flag = (n: string, d: string) => { }; const out = resolve(flag("out", "dist/icons")); const theme = flag("theme", "Aphrody-M3"); -const styles = flag("styles", "outlined,rounded,sharp").split(",") as SymbolStyle[]; +const styles = flag("styles", "outlined,rounded,sharp").split( + ",", +) as SymbolStyle[]; const pending: Promise[] = []; -const write = (path: string, content: string): void => void pending.push(Bun.write(path, content)); +const write = (path: string, content: string): void => + void pending.push(Bun.write(path, content)); const names = symbolNames(); if (names.length === 0) { @@ -29,8 +37,10 @@ if (names.length === 0) { mkdirSync(out, { recursive: true }); await Bun.write(join(out, "names.json"), JSON.stringify(names)); -const inner = (svg: string) => svg.replace(/^[\s\S]*?]*>/, "").replace(/<\/svg>\s*$/, ""); -const viewBox = (svg: string) => /viewBox="([^"]+)"/.exec(svg)?.[1] ?? "0 -960 960 960"; +const inner = (svg: string) => + svg.replace(/^[\s\S]*?]*>/, "").replace(/<\/svg>\s*$/, ""); +const viewBox = (svg: string) => + /viewBox="([^"]+)"/.exec(svg)?.[1] ?? "0 -960 960 960"; let sprites = 0; for (const style of styles) { @@ -41,7 +51,9 @@ for (const style of styles) { if (!hasSymbol(name, style, 400, filled)) continue; const svg = readSymbolSvg(name, style, 400, filled); box = viewBox(svg); - symbols.push(`${inner(svg)}`); + symbols.push( + `${inner(svg)}`, + ); } write( join(out, `sprite-${style}${filled ? "-fill" : ""}.svg`), @@ -110,7 +122,10 @@ const dirs = new Set(["material"]); mkdirSync(join(root, "material"), { recursive: true }); for (const name of names) { if (hasSymbol(name, "outlined")) - write(join(root, "material", `${name}.svg`), readSymbolSvg(name, "outlined")); + write( + join(root, "material", `${name}.svg`), + readSymbolSvg(name, "outlined"), + ); } let mapped = 0; for (const [icon, [context, symbol]] of Object.entries(MAP)) { @@ -133,7 +148,8 @@ const ctx: Record = { const listed = [...dirs].map((d) => `scalable/${d}`); const sections = [...dirs] .map( - (d) => `[scalable/${d}]\nContext=${ctx[d]}\nSize=24\nMinSize=16\nMaxSize=512\nType=Scalable\n`, + (d) => + `[scalable/${d}]\nContext=${ctx[d]}\nSize=24\nMinSize=16\nMaxSize=512\nType=Scalable\n`, ) .join("\n"); await Bun.write( diff --git a/packages/material-design-icons/scripts/svg-to-ico.ts b/packages/material-design-icons/scripts/svg-to-ico.ts index 4a186be376..883f368f05 100644 --- a/packages/material-design-icons/scripts/svg-to-ico.ts +++ b/packages/material-design-icons/scripts/svg-to-ico.ts @@ -46,7 +46,10 @@ export function runSvgToIco(args: string[]): number { const fill = flag("fill"); if (fill) { const tmp = join(mkdtempSync(join(tmpdir(), "m3-icon-")), "icon.svg"); - writeFileSync(tmp, readFileSync(svg, "utf8").replace(/ { stdout: "pipe", stderr: "pipe", }); - if (r.exitCode !== 0) throw new Error(`git ${a.join(" ")}: ${r.stderr.toString().trim()}`); + if (r.exitCode !== 0) + throw new Error(`git ${a.join(" ")}: ${r.stderr.toString().trim()}`); return r.stdout.toString(); }; -if (!existsSync(join(FORK, ".git")) && !existsSync(join(FORK, "..", "..", ".git"))) { +if ( + !existsSync(join(FORK, ".git")) && + !existsSync(join(FORK, "..", "..", ".git")) +) { console.error( "vendor/material-design-icons is not vendored: clone aphrody-labs/material-design-icons (--no-checkout --filter=blob:none) there first", ); process.exit(1); } -const gradeTag = (g: string) => `grad${g.startsWith("-") ? `N${g.slice(1)}` : g}`; +const gradeTag = (g: string) => + `grad${g.startsWith("-") ? `N${g.slice(1)}` : g}`; const wanted = new Set(); const variants: string[] = []; for (const size of sizes) { @@ -44,7 +49,8 @@ for (const size of sizes) { for (const g of grades) variants.push(`_${gradeTag(g)}${fill}_${size}px`); for (const w of weights) { variants.push(`_wght${w}${fill}_${size}px`); - for (const g of grades) variants.push(`_wght${w}_${gradeTag(g)}${fill}_${size}px`); + for (const g of grades) + variants.push(`_wght${w}_${gradeTag(g)}${fill}_${size}px`); } } } @@ -94,27 +100,43 @@ for (let i = 0; i < oids.length; i += CHUNK) { "--filter=blob:none", "--stdin", ], - { windowsHide: true, stdin: new TextEncoder().encode(body), stdout: "pipe", stderr: "pipe" }, + { + windowsHide: true, + stdin: new TextEncoder().encode(body), + stdout: "pipe", + stderr: "pipe", + }, ); - if (r.exitCode !== 0) throw new Error(`fetch chunk ${i / CHUNK}: ${r.stderr.toString().trim()}`); + if (r.exitCode !== 0) + throw new Error(`fetch chunk ${i / CHUNK}: ${r.stderr.toString().trim()}`); } git("config", "core.sparseCheckoutCone", "false"); -const set = Bun.spawnSync(["git", "-C", FORK, "sparse-checkout", "set", "--no-cone", "--stdin"], { - windowsHide: true, - stdin: new TextEncoder().encode(patterns.join("\n") + "\n"), - stdout: "pipe", - stderr: "pipe", -}); -if (set.exitCode !== 0) throw new Error(`sparse-checkout: ${set.stderr.toString().trim()}`); +const set = Bun.spawnSync( + ["git", "-C", FORK, "sparse-checkout", "set", "--no-cone", "--stdin"], + { + windowsHide: true, + stdin: new TextEncoder().encode(patterns.join("\n") + "\n"), + stdout: "pipe", + stderr: "pipe", + }, +); +if (set.exitCode !== 0) + throw new Error(`sparse-checkout: ${set.stderr.toString().trim()}`); // `sparse-checkout set` leaves entries that were already in the index without writing them; write the gaps. const missing = [...wanted].filter((p) => !existsSync(join(FORK, p))); if (missing.length > 0) { - const w = Bun.spawnSync(["git", "-C", FORK, "checkout-index", "-f", "-q", "--stdin"], { - windowsHide: true, - stdin: new TextEncoder().encode(missing.join("\n") + "\n"), - stdout: "pipe", - stderr: "pipe", - }); - if (w.exitCode !== 0) throw new Error(`checkout-index: ${w.stderr.toString().trim()}`); + const w = Bun.spawnSync( + ["git", "-C", FORK, "checkout-index", "-f", "-q", "--stdin"], + { + windowsHide: true, + stdin: new TextEncoder().encode(missing.join("\n") + "\n"), + stdout: "pipe", + stderr: "pipe", + }, + ); + if (w.exitCode !== 0) + throw new Error(`checkout-index: ${w.stderr.toString().trim()}`); } -console.log(`materialised ${wanted.size} svg files for ${symbols.size} symbols in ${FORK}`); +console.log( + `materialised ${wanted.size} svg files for ${symbols.size} symbols in ${FORK}`, +); diff --git a/packages/material-design-icons/src/index.ts b/packages/material-design-icons/src/index.ts index cb1936f6ce..dafaf07679 100644 --- a/packages/material-design-icons/src/index.ts +++ b/packages/material-design-icons/src/index.ts @@ -3,7 +3,10 @@ import { join } from "node:path"; export type SymbolStyle = "outlined" | "rounded" | "sharp"; -export const SVG_ROOT = join(import.meta.dir, "../../../vendor/material-design-icons/symbols/web"); +export const SVG_ROOT = join( + import.meta.dir, + "../../../vendor/material-design-icons/symbols/web", +); /** Absolute path of a Material Symbols SVG from the forked catalogue. */ export function symbolSvgPath( @@ -13,7 +16,12 @@ export function symbolSvgPath( filled = false, ): string { const variant = `${weight === 400 ? "" : `_wght${weight}`}${filled ? (weight === 400 ? "_fill1" : "fill1") : ""}`; - return join(SVG_ROOT, name, `materialsymbols${style}`, `${name}${variant}_24px.svg`); + return join( + SVG_ROOT, + name, + `materialsymbols${style}`, + `${name}${variant}_24px.svg`, + ); } /** Every symbol name materialised by `scripts/sync-catalogue.ts` (sorted). */ diff --git a/packages/material-design-icons/test/catalogue.test.ts b/packages/material-design-icons/test/catalogue.test.ts index 9024921633..84b4b2fd0d 100644 --- a/packages/material-design-icons/test/catalogue.test.ts +++ b/packages/material-design-icons/test/catalogue.test.ts @@ -12,7 +12,9 @@ const svgPath = (...args: Parameters): string => symbolSvgPath(...args).replaceAll("\\", "/"); test("symbolSvgPath follows the fork naming (default, fill, weight)", () => { - expect(svgPath("home")).toEndWith("home/materialsymbolsoutlined/home_24px.svg"); + expect(svgPath("home")).toEndWith( + "home/materialsymbolsoutlined/home_24px.svg", + ); expect(svgPath("home", "rounded", 400, true)).toEndWith( "home/materialsymbolsrounded/home_fill1_24px.svg", ); @@ -43,9 +45,12 @@ test("searchSymbols ignores blank queries", () => { expect(searchSymbols(" ")).toEqual([]); }); -test.skipIf(!materialised)("searchSymbols ranks exact matches first and honours the limit", () => { - const hits = searchSymbols("home", 5); - expect(hits[0]).toBe("home"); - expect(hits.length).toBeLessThanOrEqual(5); - expect(searchSymbols("arrow back")).toContain("arrow_back"); -}); +test.skipIf(!materialised)( + "searchSymbols ranks exact matches first and honours the limit", + () => { + const hits = searchSymbols("home", 5); + expect(hits[0]).toBe("home"); + expect(hits.length).toBeLessThanOrEqual(5); + expect(searchSymbols("arrow back")).toContain("arrow_back"); + }, +); diff --git a/packages/package-converter/src/abi.ts b/packages/package-converter/src/abi.ts index a8f4e5f88d..21864571d3 100644 --- a/packages/package-converter/src/abi.ts +++ b/packages/package-converter/src/abi.ts @@ -4,8 +4,15 @@ import { type Abi } from "./types.ts"; /** Inspect actual executable headers, including PE import DLLs; extensions are not ABI evidence. */ export function abi(data: Uint8Array): Abi { const view = new DataView(data.buffer, data.byteOffset, data.byteLength); - if (data.length >= 20 && data[0] === 0x7f && data[1] === 69 && data[2] === 76 && data[3] === 70) { - if (![1, 2].includes(data[4]!) || ![1, 2].includes(data[5]!)) throw new Error("Invalid ELF class or endianness"); + if ( + data.length >= 20 && + data[0] === 0x7f && + data[1] === 69 && + data[2] === 76 && + data[3] === 70 + ) { + if (![1, 2].includes(data[4]!) || ![1, 2].includes(data[5]!)) + throw new Error("Invalid ELF class or endianness"); if (data.length < (data[4] === 1 ? 52 : 64) || data[6] !== 1) throw new Error("Truncated ELF header or unsupported version"); const machine = view.getUint16(18, data[5] === 1); @@ -15,32 +22,47 @@ export function abi(data: Uint8Array): Abi { runtime: data[7] === 3 ? "linux" : undefined, elfOsAbi: data[7], architecture: - ({ 3: "x86", 62: "x64", 40: "arm", 183: "arm64", 243: "riscv" } as Record)[machine] ?? - `elf-${machine}`, + ( + { + 3: "x86", + 62: "x64", + 40: "arm", + 183: "arm64", + 243: "riscv", + } as Record + )[machine] ?? `elf-${machine}`, }; } if (data.length >= 64 && data[0] === 77 && data[1] === 90) { const pe = view.getUint32(60, true); - if (pe > data.length - 24 || view.getUint32(pe, true) !== 0x4550) throw new Error("Invalid PE signature"); + if (pe > data.length - 24 || view.getUint32(pe, true) !== 0x4550) + throw new Error("Invalid PE signature"); const machine = view.getUint16(pe + 4, true); const count = view.getUint16(pe + 6, true); const characteristics = view.getUint16(pe + 22, true); const optionalSize = view.getUint16(pe + 20, true); const optional = pe + 24; - if (optionalSize < 96 || optionalSize > data.length - optional || count > 4096) + if ( + optionalSize < 96 || + optionalSize > data.length - optional || + count > 4096 + ) throw new Error("Truncated PE optional header"); const magic = view.getUint16(optional, true); - if (![0x10b, 0x20b].includes(magic)) throw new Error("Unsupported PE optional header"); + if (![0x10b, 0x20b].includes(magic)) + throw new Error("Unsupported PE optional header"); if ( ([0x14c, 0x1c4].includes(machine) && magic !== 0x10b) || ([0x8664, 0xaa64].includes(machine) && magic !== 0x20b) ) throw new Error("PE machine and optional-header class disagree"); - if (magic === 0x20b && optionalSize < 112) throw new Error("Truncated PE32+ optional header"); + if (magic === 0x20b && optionalSize < 112) + throw new Error("Truncated PE32+ optional header"); const directories = optional + (magic === 0x20b ? 112 : 96); const directoryCountOffset = optional + (magic === 0x20b ? 108 : 92); const sections = optional + optionalSize; - if (sections + count * 40 > data.length) throw new Error("Truncated PE section table"); + if (sections + count * 40 > data.length) + throw new Error("Truncated PE section table"); const rvaOffset = (rva: number): number => { for (let i = 0; i < count; i++) { const section = sections + i * 40; @@ -59,13 +81,18 @@ export function abi(data: Uint8Array): Abi { const offset = rvaOffset(rva); let end = offset; while (end < data.length && end - offset < 1024 && data[end] !== 0) end++; - if (end >= data.length || end - offset >= 1024) throw new Error("Unterminated PE import name"); - const name = new TextDecoder("ascii", { fatal: true }).decode(data.subarray(offset, end)).toLowerCase(); - if (!/^[a-z0-9_.+-]+$/.test(name)) throw new Error("Invalid PE import name"); + if (end >= data.length || end - offset >= 1024) + throw new Error("Unterminated PE import name"); + const name = new TextDecoder("ascii", { fatal: true }) + .decode(data.subarray(offset, end)) + .toLowerCase(); + if (!/^[a-z0-9_.+-]+$/.test(name)) + throw new Error("Invalid PE import name"); return name; }; if (view.getUint32(directoryCountOffset, true) > 1) { - if (directories + 16 > sections) throw new Error("Truncated PE import directory"); + if (directories + 16 > sections) + throw new Error("Truncated PE import directory"); const importRva = view.getUint32(directories + 8, true); const importSize = view.getUint32(directories + 12, true); if (importRva) { @@ -75,7 +102,7 @@ export function abi(data: Uint8Array): Abi { const entry = start + i * 20; if (entry + 20 > data.length || (importSize && i * 20 >= importSize)) throw new Error("Truncated PE import descriptors"); - if (data.subarray(entry, entry + 20).every(byte => !byte)) { + if (data.subarray(entry, entry + 20).every((byte) => !byte)) { ended = true; break; } @@ -85,7 +112,8 @@ export function abi(data: Uint8Array): Abi { } } if (view.getUint32(directoryCountOffset, true) > 13) { - if (directories + 112 > sections) throw new Error("Truncated PE delay import directory"); + if (directories + 112 > sections) + throw new Error("Truncated PE delay import directory"); const delayRva = view.getUint32(directories + 104, true); const delaySize = view.getUint32(directories + 108, true); if (delayRva) { @@ -95,12 +123,13 @@ export function abi(data: Uint8Array): Abi { const entry = start + i * 32; if (entry + 32 > data.length || (delaySize && i * 32 >= delaySize)) throw new Error("Truncated PE delay import descriptors"); - if (data.subarray(entry, entry + 32).every(byte => !byte)) { + if (data.subarray(entry, entry + 32).every((byte) => !byte)) { ended = true; break; } const flags = view.getUint32(entry, true); - if (flags !== 1) throw new Error("PE delay imports need RVA-based descriptors"); + if (flags !== 1) + throw new Error("PE delay imports need RVA-based descriptors"); imports.push(importName(view.getUint32(entry + 4, true))); } if (!ended) throw new Error("PE delay import count exceeds limit"); @@ -110,9 +139,19 @@ export function abi(data: Uint8Array): Abi { format: "pe", bits: magic === 0x20b ? 64 : 32, architecture: - ({ 0x14c: "x86", 0x8664: "x64", 0x1c4: "arm", 0xaa64: "arm64" } as Record)[machine] ?? - `pe-${machine}`, - runtime: imports.includes("cygwin1.dll") ? "cygwin" : imports.includes("msys-2.0.dll") ? "msys2" : "windows", + ( + { + 0x14c: "x86", + 0x8664: "x64", + 0x1c4: "arm", + 0xaa64: "arm64", + } as Record + )[machine] ?? `pe-${machine}`, + runtime: imports.includes("cygwin1.dll") + ? "cygwin" + : imports.includes("msys-2.0.dll") + ? "msys2" + : "windows", executable: !!(characteristics & 0x2) && !(characteristics & 0x2000), library: !!(characteristics & 0x2) && !!(characteristics & 0x2000), subsystem: view.getUint16(optional + 68, true), diff --git a/packages/package-converter/src/alpm.ts b/packages/package-converter/src/alpm.ts index 2d2d7c5da8..61187539e3 100644 --- a/packages/package-converter/src/alpm.ts +++ b/packages/package-converter/src/alpm.ts @@ -1,14 +1,21 @@ // SPDX-License-Identifier: MIT -import { decoder, LIMITS, type Ecosystem, type Fields, type PackageRecord } from "./types.ts"; +import { + decoder, + LIMITS, + type Ecosystem, + type Fields, + type PackageRecord, +} from "./types.ts"; import { required } from "./deb822.ts"; function assignments(data: Uint8Array): Array<[string, string]> { - if (data.length > LIMITS.metadata) throw new Error("ALPM metadata exceeds limit"); + if (data.length > LIMITS.metadata) + throw new Error("ALPM metadata exceeds limit"); return decoder .decode(data) .split(/\r?\n/) - .filter(line => line.trim() && !line.trimStart().startsWith("#")) - .map(line => { + .filter((line) => line.trim() && !line.trimStart().startsWith("#")) + .map((line) => { if (line.length > 65536) throw new Error("ALPM line exceeds limit"); const match = /^\s*([a-z][a-z0-9_]*)\s*=\s*(.*)$/.exec(line); if (!match) throw new Error("Invalid ALPM assignment"); @@ -20,13 +27,21 @@ function append(fields: Fields, key: string, value: string) { (fields[key] ??= []).push(value); } -function record(fields: Fields, ecosystem: Ecosystem, source: boolean): PackageRecord { +function record( + fields: Fields, + ecosystem: Ecosystem, + source: boolean, +): PackageRecord { const version = source ? `${fields.epoch?.[0] ? `${fields.epoch[0]}:` : ""}${required(fields, "pkgver")}-${required(fields, "pkgrel")}` : required(fields, "pkgver"); const dependencies: Record = Object.create(null); for (const [key, values] of Object.entries(fields)) { - if (/^(depend|optdepend|makedepend|checkdepend|provides|conflict|replaces)(_|$)/.test(key)) + if ( + /^(depend|optdepend|makedepend|checkdepend|provides|conflict|replaces)(_|$)/.test( + key, + ) + ) dependencies[key] = values; } const sources = Object.entries(fields) @@ -39,13 +54,18 @@ function record(fields: Fields, ecosystem: Ecosystem, source: boolean): PackageR return values.map((value, index) => { const separator = value.indexOf("::"); const url = separator < 0 ? value : value.slice(separator + 2); - const path = separator < 0 ? value.split("/").at(-1)! : value.slice(0, separator); + const path = + separator < 0 ? value.split("/").at(-1)! : value.slice(0, separator); const hash = checksums[index]; - if (hash && hash !== "SKIP" && !/^[a-fA-F0-9]{64}$/.test(hash)) throw new Error("Invalid ALPM SHA256"); + if (hash && hash !== "SKIP" && !/^[a-fA-F0-9]{64}$/.test(hash)) + throw new Error("Invalid ALPM SHA256"); return { path, url, - integrity: hash && hash !== "SKIP" ? `sha256:${hash.toLowerCase()}` : undefined, + integrity: + hash && hash !== "SKIP" + ? `sha256:${hash.toLowerCase()}` + : undefined, }; }); }); @@ -64,22 +84,30 @@ function record(fields: Fields, ecosystem: Ecosystem, source: boolean): PackageR }; } -export function pkginfo(data: Uint8Array, ecosystem: Ecosystem): PackageRecord[] { +export function pkginfo( + data: Uint8Array, + ecosystem: Ecosystem, +): PackageRecord[] { const fields: Fields = Object.create(null); for (const [key, value] of assignments(data)) append(fields, key, value); for (const key of ["pkgname", "pkgver", "arch"]) { - if (fields[key]?.length !== 1) throw new Error(`ALPM needs exactly one ${key}`); + if (fields[key]?.length !== 1) + throw new Error(`ALPM needs exactly one ${key}`); } return [record(fields, ecosystem, false)]; } /** .SRCINFO is parsed without executing PKGBUILD or its shell functions. */ -export function srcinfo(data: Uint8Array, ecosystem: Ecosystem): PackageRecord[] { +export function srcinfo( + data: Uint8Array, + ecosystem: Ecosystem, +): PackageRecord[] { const base: Fields = Object.create(null); const packages: Fields[] = []; let current = base; for (const [key, value] of assignments(data)) { - if (key === "pkgbase" && Object.keys(base).length) throw new Error("Repeated ALPM base section"); + if (key === "pkgbase" && Object.keys(base).length) + throw new Error("Repeated ALPM base section"); if (key === "pkgname") { current = Object.create(null); packages.push(current); @@ -88,5 +116,7 @@ export function srcinfo(data: Uint8Array, ecosystem: Ecosystem): PackageRecord[] } required(base, "pkgbase"); if (!packages.length) throw new Error("ALPM source has no package sections"); - return packages.map(fields => record({ ...base, ...fields }, ecosystem, true)); + return packages.map((fields) => + record({ ...base, ...fields }, ecosystem, true), + ); } diff --git a/packages/package-converter/src/ar.ts b/packages/package-converter/src/ar.ts index 8f31458f9b..6450997568 100644 --- a/packages/package-converter/src/ar.ts +++ b/packages/package-converter/src/ar.ts @@ -8,7 +8,10 @@ export interface ArMember { /** Debian uses the common ar format, decimal sizes and even-byte member alignment. */ export function ar(data: Uint8Array): ArMember[] { - if (data.length > LIMITS.packed || decoder.decode(data.subarray(0, 8)) !== "!\n") + if ( + data.length > LIMITS.packed || + decoder.decode(data.subarray(0, 8)) !== "!\n" + ) throw new Error("Invalid or oversized ar archive"); const members: ArMember[] = []; const names = new Set(); @@ -28,7 +31,8 @@ export function ar(data: Uint8Array): ArMember[] { throw new Error("Unsupported or duplicate ar member"); const size = Number(sizeText); const start = offset + 60; - if (!Number.isSafeInteger(size) || size > data.length - start) throw new Error("Truncated ar member"); + if (!Number.isSafeInteger(size) || size > data.length - start) + throw new Error("Truncated ar member"); names.add(name); members.push({ name, data: data.subarray(start, start + size) }); if (members.length > 1000) throw new Error("Too many ar members"); diff --git a/packages/package-converter/src/cli.ts b/packages/package-converter/src/cli.ts index c7f2b2ee30..44380675f9 100644 --- a/packages/package-converter/src/cli.ts +++ b/packages/package-converter/src/cli.ts @@ -13,7 +13,9 @@ Windows: --windows-artifact FILE.exe [--winget-id Publisher.Package --windows-ve Runtime imports: --runtime DLL=Publisher.Package or DLL=bun:package@VERSION (repeatable) Compression: --decoder NATIVE_7ZIP_EXECUTABLE for xz or bzip2 members`; -export async function runPackageCLI(args: string[] = Bun.argv.slice(2)): Promise { +export async function runPackageCLI( + args: string[] = Bun.argv.slice(2), +): Promise { args = [...args]; if (!args.length || args.includes("--help")) { console.log(USAGE); @@ -21,7 +23,8 @@ export async function runPackageCLI(args: string[] = Bun.argv.slice(2)): Promise } const command = args.shift(); const input = args.shift(); - if (!input || !["inspect", "convert"].includes(command ?? "")) throw new Error(USAGE); + if (!input || !["inspect", "convert"].includes(command ?? "")) + throw new Error(USAGE); const values: Record = Object.create(null); const runtimeDependencies: Record = Object.create(null); let extractSources = false; @@ -49,22 +52,51 @@ export async function runPackageCLI(args: string[] = Bun.argv.slice(2)): Promise } const key = flag.startsWith("--") ? flag.slice(2) : ""; const value = args.shift(); - if (!value || value.startsWith("--") || (!allowed.has(key) && key !== "runtime")) + if ( + !value || + value.startsWith("--") || + (!allowed.has(key) && key !== "runtime") + ) throw new Error(`Invalid option ${flag}`); if (key === "runtime") { const equal = value.indexOf("="); const dll = value.slice(0, equal).toLowerCase(); - if (equal < 1 || !/^[a-z0-9_.+-]+\.dll$/.test(dll) || runtimeDependencies[dll]) - throw new Error("Runtime mapping must be DLL=Publisher.Package once per DLL"); + if ( + equal < 1 || + !/^[a-z0-9_.+-]+\.dll$/.test(dll) || + runtimeDependencies[dll] + ) + throw new Error( + "Runtime mapping must be DLL=Publisher.Package once per DLL", + ); runtimeDependencies[dll] = value.slice(equal + 1); } else { if (values[key]) throw new Error(`Duplicate option ${flag}`); values[key] = value; } } - const formats: InputFormat[] = ["deb", "deb822", "pkginfo", "srcinfo", "cygwin", "alpm-archive", "source-archive"]; - const ecosystems: Ecosystem[] = ["debian", "ubuntu", "cosmic", "alpm", "msys2", "mingw", "cygwin"]; - if (!formats.includes(values.format as InputFormat) || !ecosystems.includes(values.ecosystem as Ecosystem)) + const formats: InputFormat[] = [ + "deb", + "deb822", + "pkginfo", + "srcinfo", + "cygwin", + "alpm-archive", + "source-archive", + ]; + const ecosystems: Ecosystem[] = [ + "debian", + "ubuntu", + "cosmic", + "alpm", + "msys2", + "mingw", + "cygwin", + ]; + if ( + !formats.includes(values.format as InputFormat) || + !ecosystems.includes(values.ecosystem as Ecosystem) + ) throw new Error(USAGE); const options: ConversionOptions = { format: values.format as InputFormat, @@ -84,15 +116,19 @@ export async function runPackageCLI(args: string[] = Bun.argv.slice(2)): Promise metadataFile: values.metadata, metadataFormat: values["metadata-format"] as InputFormat | undefined, }; - if (command === "inspect") console.log(JSON.stringify((await inspect(input, options)).inspection, null, 2)); + if (command === "inspect") + console.log( + JSON.stringify((await inspect(input, options)).inspection, null, 2), + ); else { - if (!options.out || !options.package) throw new Error("Conversion requires --out and --package"); + if (!options.out || !options.package) + throw new Error("Conversion requires --out and --package"); console.log(await convert(input, options)); } } if (import.meta.main) - runPackageCLI().catch(error => { + runPackageCLI().catch((error) => { console.error(error instanceof Error ? error.message : String(error)); process.exitCode = 1; }); diff --git a/packages/package-converter/src/compression.ts b/packages/package-converter/src/compression.ts index 49a3700216..21bc1c7083 100644 --- a/packages/package-converter/src/compression.ts +++ b/packages/package-converter/src/compression.ts @@ -3,7 +3,11 @@ import { LIMITS } from "./types.ts"; import { runProcess } from "@aphrody/bun-workspace/process"; import { boundedZstd } from "./zstd.ts"; -async function collect(stream: ReadableStream, limit: number, abort?: () => void): Promise { +async function collect( + stream: ReadableStream, + limit: number, + abort?: () => void, +): Promise { const reader = stream.getReader(); const chunks: Uint8Array[] = []; let length = 0; @@ -31,10 +35,19 @@ async function collect(stream: ReadableStream, limit: number, abort? return result; } -export async function decompress(data: Uint8Array, nativeDecoder?: string): Promise { +export async function decompress( + data: Uint8Array, + nativeDecoder?: string, +): Promise { let format: "gzip" | "zstd" | "xz" | "bzip2" | undefined; if (data[0] === 0x1f && data[1] === 0x8b) format = "gzip"; - else if (data[0] === 0x28 && data[1] === 0xb5 && data[2] === 0x2f && data[3] === 0xfd) format = "zstd"; + else if ( + data[0] === 0x28 && + data[1] === 0xb5 && + data[2] === 0x2f && + data[3] === 0xfd + ) + format = "zstd"; else if ( data[0] === 0xfd && data[1] === 0x37 && @@ -44,15 +57,20 @@ export async function decompress(data: Uint8Array, nativeDecoder?: string): Prom data[5] === 0 ) format = "xz"; - else if (data[0] === 0x42 && data[1] === 0x5a && data[2] === 0x68) format = "bzip2"; + else if (data[0] === 0x42 && data[1] === 0x5a && data[2] === 0x68) + format = "bzip2"; if (!format) return data; if (format === "zstd") return boundedZstd(data); if (format === "gzip") { - const stream = new Blob([new Uint8Array(data)]).stream().pipeThrough(new DecompressionStream("gzip")); + const stream = new Blob([new Uint8Array(data)]) + .stream() + .pipeThrough(new DecompressionStream("gzip")); return collect(stream, LIMITS.unpacked); } if (!nativeDecoder) - throw new Error(`${format} needs --decoder with an explicitly configured native 7-Zip executable`); + throw new Error( + `${format} needs --decoder with an explicitly configured native 7-Zip executable`, + ); // Native 7-Zip consumes the compressed member on stdin, returns bytes on stdout, writes no files. const chunks: Uint8Array[] = []; let length = 0; @@ -62,7 +80,18 @@ export async function decompress(data: Uint8Array, nativeDecoder?: string): Prom let result: Awaited>; try { result = await runProcess( - [nativeDecoder, "e", "-so", "-si", `-t${format}`, "-bd", "-bsp0", "-bso0", "-bse2", "-mmt1"], + [ + nativeDecoder, + "e", + "-so", + "-si", + `-t${format}`, + "-bd", + "-bsp0", + "-bso0", + "-bse2", + "-mmt1", + ], process.cwd(), { input: data, @@ -74,19 +103,25 @@ export async function decompress(data: Uint8Array, nativeDecoder?: string): Prom if (channel === "stderr") { errorLength += chunk.byteLength; if (errorLength > 65536) errorExceeded = true; - if (errorExceeded) throw new Error("Native decoder error output exceeds limit"); + if (errorExceeded) + throw new Error("Native decoder error output exceeds limit"); return; } length += chunk.byteLength; if (length > LIMITS.unpacked) outputExceeded = true; - if (outputExceeded) throw new Error("Decoded data exceeds byte limit"); + if (outputExceeded) + throw new Error("Decoded data exceeds byte limit"); chunks.push(chunk.slice()); }, }, ); } catch (error) { - if (outputExceeded) throw new Error("Decoded data exceeds byte limit", { cause: error }); - if (errorExceeded) throw new Error("Native decoder error output exceeds limit", { cause: error }); + if (outputExceeded) + throw new Error("Decoded data exceeds byte limit", { cause: error }); + if (errorExceeded) + throw new Error("Native decoder error output exceeds limit", { + cause: error, + }); throw error; } if (result.code !== 0) throw new Error(`Native ${format} decoder failed`); diff --git a/packages/package-converter/src/convert.ts b/packages/package-converter/src/convert.ts index e167b1caee..be20ca95a3 100644 --- a/packages/package-converter/src/convert.ts +++ b/packages/package-converter/src/convert.ts @@ -1,10 +1,29 @@ // SPDX-License-Identifier: MIT import { mkdir, lstat, link, symlink, writeFile } from "node:fs/promises"; -import { basename, dirname, isAbsolute, relative, resolve, sep } from "node:path"; +import { + basename, + dirname, + isAbsolute, + relative, + resolve, + sep, +} from "node:path"; import { abi } from "./abi.ts"; import { inspect, readBounded, type InputOptions } from "./metadata.ts"; -import { bunVersion, nativeAssets, runtimeDependencies, type RuntimeDependencies } from "./native-assets.ts"; -import { LIMITS, safePath, sha256, type Inspection, type PackageRecord, type PayloadEntry } from "./types.ts"; +import { + bunVersion, + nativeAssets, + runtimeDependencies, + type RuntimeDependencies, +} from "./native-assets.ts"; +import { + LIMITS, + safePath, + sha256, + type Inspection, + type PackageRecord, + type PayloadEntry, +} from "./types.ts"; export { inspect } from "./metadata.ts"; @@ -25,13 +44,16 @@ export interface ConversionOptions extends InputOptions { const yaml = (value: string) => JSON.stringify(value); function selected(inspection: Inspection, name: string): PackageRecord { - const matches = inspection.packages.filter(pkg => pkg.name === name); - if (matches.length !== 1) throw new Error("Choose a package name with exactly one version in this input"); + const matches = inspection.packages.filter((pkg) => pkg.name === name); + if (matches.length !== 1) + throw new Error( + "Choose a package name with exactly one version in this input", + ); return matches[0]!; } function sourceUrls(pkg: PackageRecord, base?: string) { - return pkg.sources.map(source => { + return pkg.sources.map((source) => { if (source.url || !base) return source; const directory = pkg.fields.directory?.[0]; const path = safePath(`${directory ? `${directory}/` : ""}${source.path}`); @@ -40,7 +62,8 @@ function sourceUrls(pkg: PackageRecord, base?: string) { throw new Error("Source base must be public HTTP(S)"); return { ...source, - url: new URL(path.split("/").map(encodeURIComponent).join("/"), root).href, + url: new URL(path.split("/").map(encodeURIComponent).join("/"), root) + .href, }; }); } @@ -48,7 +71,8 @@ function sourceUrls(pkg: PackageRecord, base?: string) { function targetPath(root: string, path: string): string { const target = resolve(root, safePath(path)); const rel = relative(root, target); - if (isAbsolute(rel) || rel === ".." || rel.startsWith(`..${sep}`)) throw new Error("Output path escapes root"); + if (isAbsolute(rel) || rel === ".." || rel.startsWith(`..${sep}`)) + throw new Error("Output path escapes root"); return target; } @@ -59,28 +83,37 @@ async function newFile(path: string, data: string | Uint8Array, mode?: number) { async function extract(root: string, entries: PayloadEntry[]) { const folded = new Set(); - const key = (value: string) => (process.platform === "win32" ? value.toLowerCase() : value); - const byPath = new Map(entries.map(entry => [key(entry.path), entry])); + const key = (value: string) => + process.platform === "win32" ? value.toLowerCase() : value; + const byPath = new Map(entries.map((entry) => [key(entry.path), entry])); for (const entry of entries) { - if (folded.has(key(entry.path))) throw new Error("Archive has colliding target paths"); + if (folded.has(key(entry.path))) + throw new Error("Archive has colliding target paths"); folded.add(key(entry.path)); if ( process.platform === "win32" && entry.path .split("/") - .some(part => /^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(part) || /[<>"|?*]|[ .]$/.test(part)) + .some( + (part) => + /^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(part) || + /[<>"|?*]|[ .]$/.test(part), + ) ) throw new Error("Archive path is not representable on Windows"); const parts = entry.path.split("/"); for (let count = 1; count < parts.length; count++) { const ancestor = byPath.get(key(parts.slice(0, count).join("/"))); - if (ancestor && ancestor.kind !== "directory") throw new Error("Archive entry traverses a file or link ancestor"); + if (ancestor && ancestor.kind !== "directory") + throw new Error("Archive entry traverses a file or link ancestor"); } } // Resolve the archive's complete link graph before creating any links or directories. // Lexical normalization alone misses paths which traverse an alias followed by '..'. const targets = new Map(); - for (const entry of entries.filter(entry => entry.kind === "symlink" || entry.kind === "hardlink")) { + for (const entry of entries.filter( + (entry) => entry.kind === "symlink" || entry.kind === "hardlink", + )) { if (!entry.link || isAbsolute(entry.link) || /[\\:\0]/.test(entry.link)) throw new Error("Payload link has an external target"); let parts = @@ -94,14 +127,16 @@ async function extract(root: string, entries: PayloadEntry[]) { const part = parts[offset++]!; if (!part || part === ".") continue; if (part === "..") { - if (!resolved.length) throw new Error("Payload link escapes output tree"); + if (!resolved.length) + throw new Error("Payload link escapes output tree"); resolved.pop(); continue; } resolved.push(part); const node = byPath.get(key(resolved.join("/"))); if (node?.kind === "symlink" || node?.kind === "hardlink") { - if (++expansions > 64) throw new Error("Payload link cycle or chain exceeds limit"); + if (++expansions > 64) + throw new Error("Payload link cycle or chain exceeds limit"); if (!node.link || isAbsolute(node.link) || /[\\:\0]/.test(node.link)) throw new Error("Payload link has an external target"); if (node.kind === "hardlink") resolved.length = 0; @@ -112,20 +147,26 @@ async function extract(root: string, entries: PayloadEntry[]) { throw new Error("Payload link traverses a regular file"); } const destination = resolved.join("/"); - if (entry.kind === "hardlink" && byPath.get(key(destination))?.kind !== "file") + if ( + entry.kind === "hardlink" && + byPath.get(key(destination))?.kind !== "file" + ) throw new Error("Payload hardlink needs a regular archive file target"); targets.set(entry.path, destination); } await mkdir(root); - for (const entry of entries.filter(entry => entry.kind === "directory")) + for (const entry of entries.filter((entry) => entry.kind === "directory")) await mkdir(targetPath(root, entry.path), { recursive: true }); - for (const entry of entries.filter(entry => entry.kind === "file")) + for (const entry of entries.filter((entry) => entry.kind === "file")) await newFile(targetPath(root, entry.path), entry.data, entry.mode & 0o777); // Links are created after all regular files; hardlink chains resolve to their regular file owner. - for (const entry of entries.filter(entry => entry.kind === "symlink" || entry.kind === "hardlink")) { + for (const entry of entries.filter( + (entry) => entry.kind === "symlink" || entry.kind === "hardlink", + )) { const destination = targetPath(root, entry.path); await mkdir(dirname(destination), { recursive: true }); - if (entry.kind === "hardlink") await link(targetPath(root, targets.get(entry.path)!), destination); + if (entry.kind === "hardlink") + await link(targetPath(root, targets.get(entry.path)!), destination); else await symlink(entry.link!, destination); } } @@ -137,35 +178,49 @@ function winget( architecture: string, dependencies: string[], ): string { - if (!options.wingetId || !/^[A-Za-z0-9][A-Za-z0-9+_-]*(?:\.[A-Za-z0-9][A-Za-z0-9+_-]*)+$/.test(options.wingetId)) + if ( + !options.wingetId || + !/^[A-Za-z0-9][A-Za-z0-9+_-]*(?:\.[A-Za-z0-9][A-Za-z0-9+_-]*)+$/.test( + options.wingetId, + ) + ) throw new Error("WinGet needs a Publisher.Package identifier"); if (!options.publisher || !options.license || !options.installerUrl) throw new Error("WinGet needs publisher, license and installer URL"); const url = new URL(options.installerUrl); - if (url.protocol !== "https:" || url.username || url.password) throw new Error("Installer URL must be public HTTPS"); - if (!["x86", "x64", "arm", "arm64"].includes(architecture)) throw new Error("Unsupported Windows architecture"); + if (url.protocol !== "https:" || url.username || url.password) + throw new Error("Installer URL must be public HTTPS"); + if (!["x86", "x64", "arm", "arm64"].includes(architecture)) + throw new Error("Unsupported Windows architecture"); const version = options.windowsVersion ?? pkg.version; if ( !version || version.length > 128 || /[\\/:*?"<>|]/.test(version) || - Array.from(version).some(character => character.charCodeAt(0) < 32) + Array.from(version).some((character) => character.charCodeAt(0) < 32) ) - throw new Error("WinGet version needs --windows-version when the source version uses unsupported characters"); + throw new Error( + "WinGet version needs --windows-version when the source version uses unsupported characters", + ); const deps = dependencies.length - ? `Dependencies:\n PackageDependencies:\n${dependencies.map(id => ` - PackageIdentifier: ${yaml(id)}\n`).join("")}` + ? `Dependencies:\n PackageDependencies:\n${dependencies.map((id) => ` - PackageIdentifier: ${yaml(id)}\n`).join("")}` : ""; return `# yaml-language-server: $schema=https://aka.ms/winget-manifest.singleton.1.12.0.schema.json\nPackageIdentifier: ${yaml(options.wingetId)}\nPackageVersion: ${yaml(version)}\nPackageLocale: en-US\nPublisher: ${yaml(options.publisher)}\nPackageName: ${yaml(pkg.name)}\nLicense: ${yaml(options.license)}\nShortDescription: ${yaml((pkg.description ?? pkg.name).split("\n")[0]!.slice(0, 256))}\n${deps}Installers:\n- Architecture: ${architecture}\n InstallerType: portable\n InstallerUrl: ${yaml(url.href)}\n InstallerSha256: ${hash.toUpperCase()}\n Commands:\n - ${yaml(pkg.name)}\nManifestType: singleton\nManifestVersion: 1.12.0\n`; } /** Preserve native PE payloads; foreign ABI inputs retain an explicit Windows rebuild contract. */ -export async function convert(path: string, options: ConversionOptions): Promise { +export async function convert( + path: string, + options: ConversionOptions, +): Promise { if (options.extractSources && options.format !== "source-archive") throw new Error("Source extraction requires --format source-archive"); const { inspection, entries } = await inspect(path, options); const pkg = selected(inspection, options.package); const sources = sourceUrls(pkg, options.sourceBase); - const assets = options.windowsArtifact ? undefined : nativeAssets(inspection, pkg, options.runtimeDependencies); + const assets = options.windowsArtifact + ? undefined + : nativeAssets(inspection, pkg, options.runtimeDependencies); let windows: | { bytes: Uint8Array; @@ -187,8 +242,13 @@ export async function convert(path: string, options: ConversionOptions): Promise !format.architecture || !options.windowsArtifact.toLowerCase().endsWith(".exe") ) - throw new Error("Windows export needs an actual PE executable, never an ELF archive, DLL or renamed data"); - const dependencies = runtimeDependencies(format.imports ?? [], options.runtimeDependencies); + throw new Error( + "Windows export needs an actual PE executable, never an ELF archive, DLL or renamed data", + ); + const dependencies = runtimeDependencies( + format.imports ?? [], + options.runtimeDependencies, + ); if (options.wingetId && Object.keys(dependencies.bun).length) throw new Error( "WinGet needs WinGet package owners for external DLLs; Bun package mappings do not resolve its dependencies", @@ -205,10 +265,18 @@ export async function convert(path: string, options: ConversionOptions): Promise } const manifest = windows && options.wingetId - ? winget(options, pkg, windows.hash, windows.architecture, windows.dependencies.winget) + ? winget( + options, + pkg, + windows.hash, + windows.architecture, + windows.dependencies.winget, + ) : undefined; if (options.wingetId && !windows) - throw new Error("WinGet output requires --windows-artifact with a real rebuilt PE executable"); + throw new Error( + "WinGet output requires --windows-artifact with a real rebuilt PE executable", + ); const root = resolve(options.out); try { await lstat(root); @@ -229,13 +297,24 @@ export async function convert(path: string, options: ConversionOptions): Promise name: `@bun-os/${npmName}`, version: bunVersion(options.windowsVersion ?? pkg.version), private: true, - license: options.license ?? (pkg.licenses.length === 1 ? pkg.licenses[0] : "UNLICENSED"), + license: + options.license ?? + (pkg.licenses.length === 1 ? pkg.licenses[0] : "UNLICENSED"), description: pkg.description, os: ["win32"], - cpu: [({ x64: "x64", x86: "ia32", arm64: "arm64", arm: "arm" } as Record)[windows.architecture]], + cpu: [ + ( + { x64: "x64", x86: "ia32", arm64: "arm64", arm: "arm" } as Record< + string, + string + > + )[windows.architecture], + ], bin: { [pkg.name]: `bin/${windows.file}` }, dependencies: windows.dependencies.bun, - systemDependencies: Object.fromEntries(windows.dependencies.winget.map(id => [`winget:${id}`, "*"])), + systemDependencies: Object.fromEntries( + windows.dependencies.winget.map((id) => [`winget:${id}`, "*"]), + ), bunOs: { schema: 1, upstreamVersion: pkg.version, @@ -251,7 +330,10 @@ export async function convert(path: string, options: ConversionOptions): Promise rebuildProvenance: "owner-supplied PE artifact", }, }; - await newFile(targetPath(root, "package.json"), `${JSON.stringify(packageJson, null, 2)}\n`); + await newFile( + targetPath(root, "package.json"), + `${JSON.stringify(packageJson, null, 2)}\n`, + ); if (manifest) await newFile(targetPath(root, "winget.yaml"), manifest); } else if (assets) { await extract(targetPath(root, "payload"), entries); @@ -264,12 +346,24 @@ export async function convert(path: string, options: ConversionOptions): Promise name: `@bun-os/${npmName}`, version: bunVersion(options.windowsVersion ?? pkg.version), private: true, - license: options.license ?? (pkg.licenses.length === 1 ? pkg.licenses[0] : "UNLICENSED"), + license: + options.license ?? + (pkg.licenses.length === 1 ? pkg.licenses[0] : "UNLICENSED"), description: pkg.description, os: ["win32"], - cpu: [({ x64: "x64", x86: "ia32", arm64: "arm64", arm: "arm" } as Record)[assets.architecture]], + cpu: [ + ( + { x64: "x64", x86: "ia32", arm64: "arm64", arm: "arm" } as Record< + string, + string + > + )[assets.architecture], + ], files: ["package-contract.json", "native-assets.json", "payload"], - exports: { "./native-assets": "./native-assets.json", "./payload/*": "./payload/*" }, + exports: { + "./native-assets": "./native-assets.json", + "./payload/*": "./payload/*", + }, dependencies: assets.dependencies, systemDependencies: assets.systemDependencies, bunOs: { @@ -282,20 +376,30 @@ export async function convert(path: string, options: ConversionOptions): Promise sources, dependencies: pkg.dependencies, sourceMetadataSha256: inspection.input.sha256, - rebuildProvenance: "original native PE archive payload; no rebuild performed", + rebuildProvenance: + "original native PE archive payload; no rebuild performed", runtimeQualified: false, }, }; - await newFile(targetPath(root, "package.json"), `${JSON.stringify(packageJson, null, 2)}\n`); + await newFile( + targetPath(root, "package.json"), + `${JSON.stringify(packageJson, null, 2)}\n`, + ); } else { const npmName = pkg.name.toLowerCase().replace(/[^a-z0-9._-]/g, "-"); const packageJson = { name: `@bun-os/${npmName}`, version: bunVersion(pkg.version), private: true, - license: options.license ?? (pkg.licenses.length === 1 ? pkg.licenses[0] : "UNLICENSED"), + license: + options.license ?? + (pkg.licenses.length === 1 ? pkg.licenses[0] : "UNLICENSED"), description: pkg.description, - files: ["package-contract.json", "port-job.json", ...(options.extractSources ? ["sources"] : [])], + files: [ + "package-contract.json", + "port-job.json", + ...(options.extractSources ? ["sources"] : []), + ], bunOs: { schema: 1, packageKind: "source-contract", @@ -307,7 +411,10 @@ export async function convert(path: string, options: ConversionOptions): Promise windowsArtifactProduced: false, }, }; - await newFile(targetPath(root, "package.json"), `${JSON.stringify(packageJson, null, 2)}\n`); + await newFile( + targetPath(root, "package.json"), + `${JSON.stringify(packageJson, null, 2)}\n`, + ); await newFile( targetPath(root, "port-job.json"), `${JSON.stringify( diff --git a/packages/package-converter/src/cygwin.ts b/packages/package-converter/src/cygwin.ts index 02d61f55d6..c19eeb72e7 100644 --- a/packages/package-converter/src/cygwin.ts +++ b/packages/package-converter/src/cygwin.ts @@ -1,9 +1,16 @@ // SPDX-License-Identifier: MIT -import { decoder, LIMITS, type Fields, type PackageRecord, type SourceArtifact } from "./types.ts"; +import { + decoder, + LIMITS, + type Fields, + type PackageRecord, + type SourceArtifact, +} from "./types.ts"; /** setup.ini retains current/previous/test versions and native dependency expressions. */ export function cygwin(data: Uint8Array): PackageRecord[] { - if (data.length > LIMITS.metadata) throw new Error("Cygwin metadata exceeds limit"); + if (data.length > LIMITS.metadata) + throw new Error("Cygwin metadata exceeds limit"); const packages: PackageRecord[] = []; let name = ""; let fields: Fields = Object.create(null); @@ -18,12 +25,20 @@ export function cygwin(data: Uint8Array): PackageRecord[] { for (const key of ["install", "source"]) { if (!all[key]) continue; const parts = all[key]![0]!.trim().split(/\s+/); - if (parts.length !== 3 || !/^\d+$/.test(parts[1]!) || !/^[a-fA-F0-9]+$/.test(parts[2]!)) + if ( + parts.length !== 3 || + !/^\d+$/.test(parts[1]!) || + !/^[a-fA-F0-9]+$/.test(parts[2]!) + ) throw new Error("Invalid Cygwin archive record"); - const algorithm = ({ 32: "md5", 40: "sha1", 64: "sha256", 128: "sha512" } as Record)[ - parts[2]!.length - ]; - if (!algorithm || !Number.isSafeInteger(Number(parts[1]))) throw new Error("Invalid Cygwin archive integrity"); + const algorithm = ( + { 32: "md5", 40: "sha1", 64: "sha256", 128: "sha512" } as Record< + number, + string + > + )[parts[2]!.length]; + if (!algorithm || !Number.isSafeInteger(Number(parts[1]))) + throw new Error("Invalid Cygwin archive integrity"); artifacts.push({ path: parts[0]!, size: Number(parts[1]), @@ -41,19 +56,28 @@ export function cygwin(data: Uint8Array): PackageRecord[] { licenses: all.license ?? [], sources: artifacts, dependencies: Object.fromEntries( - ["requires", "depends2", "provides", "conflicts", "obsoletes", "build-depends"] - .filter(key => all[key]) - .map(key => [key, all[key]!]), + [ + "requires", + "depends2", + "provides", + "conflicts", + "obsoletes", + "build-depends", + ] + .filter((key) => all[key]) + .map((key) => [key, all[key]!]), ), fields: { ...all, channel: [channel] }, }); - if (packages.length > LIMITS.entries) throw new Error("Too many Cygwin records"); + if (packages.length > LIMITS.entries) + throw new Error("Too many Cygwin records"); }; for (const line of decoder.decode(data).split(/\r?\n/)) { if (line.length > 65536) throw new Error("Cygwin line exceeds limit"); if (pending) { pending.value += `\n${line}`; - if (pending.value.length > LIMITS.metadata) throw new Error("Cygwin quoted field exceeds limit"); + if (pending.value.length > LIMITS.metadata) + throw new Error("Cygwin quoted field exceeds limit"); if (line.endsWith('"')) { fields[pending.key] = [pending.value.slice(1, -1)]; pending = undefined; @@ -67,7 +91,8 @@ export function cygwin(data: Uint8Array): PackageRecord[] { fields = Object.create(null); common = Object.create(null); channel = "current"; - if (!/^[a-zA-Z0-9][a-zA-Z0-9_.+-]*$/.test(name)) throw new Error("Invalid Cygwin package name"); + if (!/^[a-zA-Z0-9][a-zA-Z0-9_.+-]*$/.test(name)) + throw new Error("Invalid Cygwin package name"); } else if (/^\[(prev|test|curr)\]$/.test(line)) { emit(); common = { ...common, ...fields }; @@ -85,8 +110,12 @@ export function cygwin(data: Uint8Array): PackageRecord[] { } if (fields[match[1]!]) throw new Error("Duplicate Cygwin field"); const value = match[2]!; - if (value.startsWith('"') && !value.endsWith('"')) pending = { key: match[1]!, value }; - else fields[match[1]!] = [value.startsWith('"') ? value.slice(1, -1) : value]; + if (value.startsWith('"') && !value.endsWith('"')) + pending = { key: match[1]!, value }; + else + fields[match[1]!] = [ + value.startsWith('"') ? value.slice(1, -1) : value, + ]; } } if (pending) throw new Error("Unterminated Cygwin quoted field"); diff --git a/packages/package-converter/src/deb822.ts b/packages/package-converter/src/deb822.ts index 99db3b5582..87028de6ce 100644 --- a/packages/package-converter/src/deb822.ts +++ b/packages/package-converter/src/deb822.ts @@ -1,9 +1,17 @@ // SPDX-License-Identifier: MIT -import { decoder, LIMITS, type Ecosystem, type Fields, type PackageRecord, type SourceArtifact } from "./types.ts"; +import { + decoder, + LIMITS, + type Ecosystem, + type Fields, + type PackageRecord, + type SourceArtifact, +} from "./types.ts"; /** Debian control fields: case-insensitive names, folded values and blank-line stanzas. */ export function deb822(data: Uint8Array): Fields[] { - if (data.length > LIMITS.metadata) throw new Error("Debian metadata exceeds limit"); + if (data.length > LIMITS.metadata) + throw new Error("Debian metadata exceeds limit"); let text = decoder.decode(data); // .dsc files may carry a cleartext OpenPGP signature. Preserve its presence, never its trust claim. const signed = text.startsWith("-----BEGIN PGP SIGNED MESSAGE-----"); @@ -11,11 +19,15 @@ export function deb822(data: Uint8Array): Fields[] { const lines = text.split(/\r?\n/); const start = lines.indexOf(""); const end = lines.indexOf("-----BEGIN PGP SIGNATURE-----", start + 1); - if (start < 1 || end < start || !lines.includes("-----END PGP SIGNATURE-----")) + if ( + start < 1 || + end < start || + !lines.includes("-----END PGP SIGNATURE-----") + ) throw new Error("Malformed Debian cleartext signature"); text = lines .slice(start + 1, end) - .map(line => (line.startsWith("- ") ? line.slice(2) : line)) + .map((line) => (line.startsWith("- ") ? line.slice(2) : line)) .join("\n"); } const rows: Fields[] = []; @@ -25,13 +37,15 @@ export function deb822(data: Uint8Array): Fields[] { if (line.length > 65536) throw new Error("Debian field line exceeds limit"); if (!line.length) { if (Object.keys(row).length) rows.push(row); - if (rows.length > LIMITS.entries) throw new Error("Too many Debian stanzas"); + if (rows.length > LIMITS.entries) + throw new Error("Too many Debian stanzas"); row = Object.create(null); previous = ""; } else if (/^[ \t]/.test(line)) { if (!previous) throw new Error("Orphan Debian continuation"); const text = `${row[previous]![0]}\n${line.slice(1)}`; - if (text.length > 1024 * 1024) throw new Error("Debian field exceeds limit"); + if (text.length > 1024 * 1024) + throw new Error("Debian field exceeds limit"); row[previous] = [text]; } else if (!line.startsWith("#")) { const at = line.indexOf(":"); @@ -42,7 +56,9 @@ export function deb822(data: Uint8Array): Fields[] { previous = name; } } - if (signed) for (const fields of rows) fields["openpgp-clearsigned"] = ["present-unverified"]; + if (signed) + for (const fields of rows) + fields["openpgp-clearsigned"] = ["present-unverified"]; return rows; } @@ -59,7 +75,9 @@ function checksumFiles(fields: Fields): SourceArtifact[] { ["checksums-sha1", "sha1", 40], ["checksums-sha256", "sha256", 64], ] as const) { - for (const line of (fields[key]?.[0] ?? "").split("\n").filter(line => line.trim())) { + for (const line of (fields[key]?.[0] ?? "") + .split("\n") + .filter((line) => line.trim())) { const parts = line.trim().split(/\s+/); // Sources/.dsc use three columns; .changes may add section and priority columns. const [hash, size] = parts; @@ -74,32 +92,45 @@ function checksumFiles(fields: Fields): SourceArtifact[] { ) throw new Error("Invalid Debian source checksum"); const count = Number(size); - if (!Number.isSafeInteger(count)) throw new Error("Debian source size exceeds safe integer"); + if (!Number.isSafeInteger(count)) + throw new Error("Debian source size exceeds safe integer"); const old = byPath.get(path); - if (old && old.size !== count) throw new Error("Conflicting source artifact sizes"); - byPath.set(path, { path, size: count, integrity: `${algorithm}:${hash.toLowerCase()}` }); + if (old && old.size !== count) + throw new Error("Conflicting source artifact sizes"); + byPath.set(path, { + path, + size: count, + integrity: `${algorithm}:${hash.toLowerCase()}`, + }); } } return [...byPath.values()]; } -export function debianRecords(rows: Fields[], ecosystem: Ecosystem): PackageRecord[] { - return rows.map(fields => { +export function debianRecords( + rows: Fields[], + ecosystem: Ecosystem, +): PackageRecord[] { + return rows.map((fields) => { const name = fields.package?.[0] ?? required(fields, "source"); - if (!/^[a-z0-9][a-z0-9+.-]+$/.test(name)) throw new Error("Invalid Debian package name"); + if (!/^[a-z0-9][a-z0-9+.-]+$/.test(name)) + throw new Error("Invalid Debian package name"); const version = required(fields, "version"); - const source = !!fields.directory || !!fields["checksums-sha256"] || !!fields["binary"]; + const source = + !!fields.directory || !!fields["checksums-sha256"] || !!fields["binary"]; const sources = checksumFiles(fields); if (fields.filename) { const artifact: SourceArtifact = { path: required(fields, "filename") }; if (fields.size) { const size = required(fields, "size"); - if (!/^\d+$/.test(size) || !Number.isSafeInteger(Number(size))) throw new Error("Invalid Debian package size"); + if (!/^\d+$/.test(size) || !Number.isSafeInteger(Number(size))) + throw new Error("Invalid Debian package size"); artifact.size = Number(size); } if (fields.sha256) { const hash = required(fields, "sha256"); - if (!/^[a-fA-F0-9]{64}$/.test(hash)) throw new Error("Invalid Debian package SHA256"); + if (!/^[a-fA-F0-9]{64}$/.test(hash)) + throw new Error("Invalid Debian package SHA256"); artifact.integrity = `sha256:${hash.toLowerCase()}`; } sources.push(artifact); diff --git a/packages/package-converter/src/metadata.ts b/packages/package-converter/src/metadata.ts index 2595ead718..8e7996a030 100644 --- a/packages/package-converter/src/metadata.ts +++ b/packages/package-converter/src/metadata.ts @@ -26,27 +26,46 @@ export interface InputOptions { metadataFormat?: InputFormat; } -export async function readBounded(path: string, limit = LIMITS.packed): Promise { +export async function readBounded( + path: string, + limit = LIMITS.packed, +): Promise { const file = Bun.file(path); - if (!(await file.exists()) || file.size > limit) throw new Error(`Missing or oversized input: ${path}`); + if (!(await file.exists()) || file.size > limit) + throw new Error(`Missing or oversized input: ${path}`); const bytes = new Uint8Array(await file.arrayBuffer()); if (bytes.length > limit) throw new Error("Input grew beyond byte limit"); return bytes; } -function sourceMetadata(entries: PayloadEntry[], ecosystem: Ecosystem): PackageRecord[] { - const files = entries.filter(entry => entry.kind === "file"); - const srcinfos = files.filter(entry => basename(entry.path) === ".SRCINFO"); - if (srcinfos.length) return srcinfos.flatMap(entry => srcinfo(entry.data, ecosystem)); - const pkginfos = files.filter(entry => basename(entry.path) === ".PKGINFO"); - if (pkginfos.length) return pkginfos.flatMap(entry => pkginfo(entry.data, ecosystem)); - const descriptors = files.filter(entry => entry.path.endsWith(".dsc")); - if (descriptors.length) return descriptors.flatMap(entry => debianRecords(deb822(entry.data), ecosystem)); - const controls = files.filter(entry => /(^|\/)debian\/control$/.test(entry.path)); - return controls.flatMap(entry => { +function sourceMetadata( + entries: PayloadEntry[], + ecosystem: Ecosystem, +): PackageRecord[] { + const files = entries.filter((entry) => entry.kind === "file"); + const srcinfos = files.filter((entry) => basename(entry.path) === ".SRCINFO"); + if (srcinfos.length) + return srcinfos.flatMap((entry) => srcinfo(entry.data, ecosystem)); + const pkginfos = files.filter((entry) => basename(entry.path) === ".PKGINFO"); + if (pkginfos.length) + return pkginfos.flatMap((entry) => pkginfo(entry.data, ecosystem)); + const descriptors = files.filter((entry) => entry.path.endsWith(".dsc")); + if (descriptors.length) + return descriptors.flatMap((entry) => + debianRecords(deb822(entry.data), ecosystem), + ); + const controls = files.filter((entry) => + /(^|\/)debian\/control$/.test(entry.path), + ); + return controls.flatMap((entry) => { const prefix = entry.path.slice(0, -"debian/control".length); - const changelog = files.find(file => file.path === `${prefix}debian/changelog`); - if (!changelog) throw new Error("Debian source archive needs its changelog to preserve the source version"); + const changelog = files.find( + (file) => file.path === `${prefix}debian/changelog`, + ); + if (!changelog) + throw new Error( + "Debian source archive needs its changelog to preserve the source version", + ); const first = decoder.decode(changelog.data).split(/\r?\n/, 1)[0]!; const version = /^[^\s]+\s+\(([^)]+)\)/.exec(first)?.[1]; if (!version) throw new Error("Invalid Debian source changelog header"); @@ -55,7 +74,9 @@ function sourceMetadata(entries: PayloadEntry[], ecosystem: Ecosystem): PackageR rows.map((row, index) => ({ ...row, version: [version], - ...(index === 0 ? { binary: rows.slice(1).map(binary => binary.package?.[0] ?? "") } : {}), + ...(index === 0 + ? { binary: rows.slice(1).map((binary) => binary.package?.[0] ?? "") } + : {}), })), ecosystem, ); @@ -72,17 +93,25 @@ export async function inspect( : ["alpm", "msys2", "mingw"].includes(options.ecosystem) ? ["pkginfo", "srcinfo", "alpm-archive", "source-archive"] : ["deb", "deb822", "source-archive"]; - if (!formats.includes(options.format)) throw new Error("Input format and package ecosystem do not match"); + if (!formats.includes(options.format)) + throw new Error("Input format and package ecosystem do not match"); const data = await readBounded(path); let packages: PackageRecord[]; let entries: PayloadEntry[] = []; let companion: Inspection["companion"]; if (options.format === "deb") { const members = ar(data); - if (members[0]?.name !== "debian-binary" || !/^2\.\d+\n/.test(decoder.decode(members[0].data))) + if ( + members[0]?.name !== "debian-binary" || + !/^2\.\d+\n/.test(decoder.decode(members[0].data)) + ) throw new Error("Unsupported Debian binary format"); - const controls = members.filter(member => /^control\.tar(?:\.(?:gz|xz|zst|bz2))?$/.test(member.name)); - const payloads = members.filter(member => /^data\.tar(?:\.(?:gz|xz|zst|bz2))?$/.test(member.name)); + const controls = members.filter((member) => + /^control\.tar(?:\.(?:gz|xz|zst|bz2))?$/.test(member.name), + ); + const payloads = members.filter((member) => + /^data\.tar(?:\.(?:gz|xz|zst|bz2))?$/.test(member.name), + ); if ( controls.length !== 1 || payloads.length !== 1 || @@ -95,25 +124,36 @@ export async function inspect( if (index !== controlIndex && !members[index]!.name.startsWith("_")) throw new Error("Unknown Debian member before its data archive"); } - const control = tar(await decompress(controls[0]!.data, options.decoder)).find( - entry => entry.path === "control" && entry.kind === "file", - ); + const control = tar( + await decompress(controls[0]!.data, options.decoder), + ).find((entry) => entry.path === "control" && entry.kind === "file"); if (!control) throw new Error("Debian archive has no control file"); packages = debianRecords(deb822(control.data), options.ecosystem); - if (packages.length !== 1) throw new Error("Debian binary archive must have one control stanza"); + if (packages.length !== 1) + throw new Error("Debian binary archive must have one control stanza"); entries = tar(await decompress(payloads[0]!.data, options.decoder)); - } else if (options.format === "deb822") packages = debianRecords(deb822(data), options.ecosystem); - else if (options.format === "pkginfo") packages = pkginfo(data, options.ecosystem); - else if (options.format === "srcinfo") packages = srcinfo(data, options.ecosystem); + } else if (options.format === "deb822") + packages = debianRecords(deb822(data), options.ecosystem); + else if (options.format === "pkginfo") + packages = pkginfo(data, options.ecosystem); + else if (options.format === "srcinfo") + packages = srcinfo(data, options.ecosystem); else if (options.format === "cygwin") packages = cygwin(data); else { entries = tar(await decompress(data, options.decoder)); if (options.format === "alpm-archive") { - const metadata = entries.find(entry => entry.path === ".PKGINFO" && entry.kind === "file"); + const metadata = entries.find( + (entry) => entry.path === ".PKGINFO" && entry.kind === "file", + ); if (!metadata) throw new Error("ALPM archive has no root .PKGINFO"); packages = pkginfo(metadata.data, options.ecosystem); } else if (options.metadataFile) { - if (!options.metadataFormat || !["deb822", "pkginfo", "srcinfo", "cygwin"].includes(options.metadataFormat)) + if ( + !options.metadataFormat || + !["deb822", "pkginfo", "srcinfo", "cygwin"].includes( + options.metadataFormat, + ) + ) throw new Error("Source companion needs a metadata format"); const source = await inspect(options.metadataFile, { format: options.metadataFormat, @@ -130,16 +170,22 @@ export async function inspect( const [algorithm, expected] = artifact.integrity.split(":"); if (!["md5", "sha1", "sha256", "sha512"].includes(algorithm!)) throw new Error("Unsupported source checksum algorithm"); - const actual = new Bun.CryptoHasher(algorithm as "md5" | "sha1" | "sha256" | "sha512") + const actual = new Bun.CryptoHasher( + algorithm as "md5" | "sha1" | "sha256" | "sha512", + ) .update(data) .digest("hex"); - if (actual !== expected) throw new Error("Source archive checksum differs from companion metadata"); + if (actual !== expected) + throw new Error( + "Source archive checksum differs from companion metadata", + ); } } } else packages = sourceMetadata(entries, options.ecosystem); - if (!packages.length) throw new Error("Archive has no supported package source metadata"); + if (!packages.length) + throw new Error("Archive has no supported package source metadata"); } - const payload = entries.map(entry => ({ + const payload = entries.map((entry) => ({ path: entry.path, kind: entry.kind, mode: entry.mode, diff --git a/packages/package-converter/src/native-assets.ts b/packages/package-converter/src/native-assets.ts index 66d38d9267..4c581a042d 100644 --- a/packages/package-converter/src/native-assets.ts +++ b/packages/package-converter/src/native-assets.ts @@ -7,11 +7,16 @@ const PRERELEASE = "(?:0|[1-9][0-9]*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*)"; const VERSION = new RegExp( `^${NUMBER}\\.${NUMBER}\\.${NUMBER}(?:-${PRERELEASE}(?:\\.${PRERELEASE})*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$`, ); -export const bunVersion = (value: string) => (VERSION.test(value) ? value : "0.0.0"); -const WINGET_ID = /^[A-Za-z0-9][A-Za-z0-9+_-]*(?:\.[A-Za-z0-9][A-Za-z0-9+_-]*)+$/; -const BUN_OWNER = /^bun:((?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*)@(.+)$/; +export const bunVersion = (value: string) => + VERSION.test(value) ? value : "0.0.0"; +const WINGET_ID = + /^[A-Za-z0-9][A-Za-z0-9+_-]*(?:\.[A-Za-z0-9][A-Za-z0-9+_-]*)+$/; +const BUN_OWNER = + /^bun:((?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*)@(.+)$/; -export type RuntimeOwner = { kind: "winget"; id: string } | { kind: "bun"; name: string; version: string }; +export type RuntimeOwner = + | { kind: "winget"; id: string } + | { kind: "bun"; name: string; version: string }; export type ImportResolution = | { dll: string; kind: "system" } | { dll: string; kind: "bundled"; paths: string[] } @@ -31,11 +36,15 @@ export interface RuntimeDependencies { function runtimeOwner(value: string): RuntimeOwner { const bun = BUN_OWNER.exec(value); if (bun) { - if (!VERSION.test(bun[2]!)) throw new Error("Bun runtime dependency needs an exact semantic version"); + if (!VERSION.test(bun[2]!)) + throw new Error("Bun runtime dependency needs an exact semantic version"); return { kind: "bun", name: bun[1]!, version: bun[2]! }; } const id = value.startsWith("winget:") ? value.slice(7) : value; - if (!WINGET_ID.test(id)) throw new Error("Runtime owner must be Publisher.Package or bun:package@VERSION"); + if (!WINGET_ID.test(id)) + throw new Error( + "Runtime owner must be Publisher.Package or bun:package@VERSION", + ); return { kind: "winget", id }; } @@ -61,12 +70,20 @@ export function runtimeDependencies( } const files = bundled.get(dll); if (files?.length) { - if (new Set(files.map(file => file.sha256)).size !== 1) throw new Error(`Ambiguous bundled DLL ${dll}`); - resolutions.push({ dll, kind: "bundled", paths: files.map(file => file.path) }); + if (new Set(files.map((file) => file.sha256)).size !== 1) + throw new Error(`Ambiguous bundled DLL ${dll}`); + resolutions.push({ + dll, + kind: "bundled", + paths: files.map((file) => file.path), + }); continue; } const owner = owners.get(dll); - if (!owner) throw new Error(`Native PE imports ${dll}; configure its runtime package owner explicitly`); + if (!owner) + throw new Error( + `Native PE imports ${dll}; configure its runtime package owner explicitly`, + ); resolutions.push({ dll, kind: "external", owner }); if (owner.kind === "winget") winget.add(owner.id); else { @@ -78,14 +95,30 @@ export function runtimeDependencies( return { imports: resolutions, bun, winget: [...winget] }; } -export function nativeAssets(inspection: Inspection, pkg: PackageRecord, mappings?: Record) { - if (pkg.kind !== "binary" || inspection.payload.some(file => file.abi?.format === "elf")) return undefined; - const images = inspection.payload.filter(file => file.kind === "file" && file.abi?.format === "pe"); +export function nativeAssets( + inspection: Inspection, + pkg: PackageRecord, + mappings?: Record, +) { + if ( + pkg.kind !== "binary" || + inspection.payload.some((file) => file.abi?.format === "elf") + ) + return undefined; + const images = inspection.payload.filter( + (file) => file.kind === "file" && file.abi?.format === "pe", + ); if (!images.length) return undefined; - const architectures = new Set(images.map(file => file.abi!.architecture)); + const architectures = new Set(images.map((file) => file.abi!.architecture)); const architecture = images[0]!.abi!.architecture; - if (architectures.size !== 1 || !architecture || !["x86", "x64", "arm", "arm64"].includes(architecture)) - throw new Error("Native payload needs one supported, consistent PE architecture"); + if ( + architectures.size !== 1 || + !architecture || + !["x86", "x64", "arm", "arm64"].includes(architecture) + ) + throw new Error( + "Native payload needs one supported, consistent PE architecture", + ); const bundled = new Map(); for (const image of images) { if (!image.abi!.library && !image.abi!.executable) @@ -97,7 +130,7 @@ export function nativeAssets(inspection: Inspection, pkg: PackageRecord, mapping bundled.set(name, files); } } - const files = images.map(image => ({ + const files = images.map((image) => ({ path: `payload/${image.path}`, sha256: image.sha256!, abi: image.abi!, @@ -112,15 +145,23 @@ export function nativeAssets(inspection: Inspection, pkg: PackageRecord, mapping } return { schema: 1, - packageKind: images.every(image => image.abi!.library) ? "native-library" : "native-assets", + packageKind: images.every((image) => image.abi!.library) + ? "native-library" + : "native-assets", architecture, - runtime: [...new Set(images.map(image => image.abi!.runtime))], - libraries: files.filter(file => file.abi.library), + runtime: [...new Set(images.map((image) => image.abi!.runtime))], + libraries: files.filter((file) => file.abi.library), images: files, - payload: inspection.payload.map(file => ({ ...file, path: `payload/${file.path}` })), + payload: inspection.payload.map((file) => ({ + ...file, + path: `payload/${file.path}`, + })), dependencies, systemDependencies: Object.fromEntries( - [...new Set(files.flatMap(file => file.winget))].map(id => [`winget:${id}`, "*"]), + [...new Set(files.flatMap((file) => file.winget))].map((id) => [ + `winget:${id}`, + "*", + ]), ), upstreamDependencies: pkg.dependencies, inputArchiveSha256: inspection.input.sha256, diff --git a/packages/package-converter/src/tar.ts b/packages/package-converter/src/tar.ts index ace95642cc..044ddccc75 100644 --- a/packages/package-converter/src/tar.ts +++ b/packages/package-converter/src/tar.ts @@ -2,16 +2,20 @@ import { decoder, LIMITS, safePath, type PayloadEntry } from "./types.ts"; const string = (data: Uint8Array) => - decoder.decode(data.subarray(0, data.indexOf(0) < 0 ? data.length : data.indexOf(0))); + decoder.decode( + data.subarray(0, data.indexOf(0) < 0 ? data.length : data.indexOf(0)), + ); function number(data: Uint8Array): number { if (data[0]! & 0x80) { let value = BigInt(data[0]! & 0x7f); for (const byte of data.subarray(1)) value = value * 256n + BigInt(byte); - if (value > BigInt(Number.MAX_SAFE_INTEGER)) throw new Error("Tar integer exceeds limit"); + if (value > BigInt(Number.MAX_SAFE_INTEGER)) + throw new Error("Tar integer exceeds limit"); return Number(value); } const value = string(data).trim(); - if (value && !/^[0-7]+$/.test(value)) throw new Error("Invalid tar octal number"); + if (value && !/^[0-7]+$/.test(value)) + throw new Error("Invalid tar octal number"); return value ? Number.parseInt(value, 8) : 0; } @@ -30,7 +34,9 @@ function pax(data: Uint8Array): Record { data[offset + length - 1] !== 10 ) throw new Error("Truncated PAX record"); - const record = decoder.decode(data.subarray(space + 1, offset + length - 1)); + const record = decoder.decode( + data.subarray(space + 1, offset + length - 1), + ); const equal = record.indexOf("="); if (equal < 1) throw new Error("Invalid PAX field"); fields[record.slice(0, equal)] = record.slice(equal + 1); @@ -41,7 +47,8 @@ function pax(data: Uint8Array): Record { /** ustar, GNU long names and PAX metadata, without filesystem extraction. */ export function tar(data: Uint8Array): PayloadEntry[] { - if (data.length > LIMITS.unpacked) throw new Error("Tar exceeds unpacked byte limit"); + if (data.length > LIMITS.unpacked) + throw new Error("Tar exceeds unpacked byte limit"); const entries: PayloadEntry[] = []; const names = new Set(); let local: Record = Object.create(null); @@ -49,38 +56,60 @@ export function tar(data: Uint8Array): PayloadEntry[] { let terminated = false; for (let offset = 0; offset + 512 <= data.length;) { const header = data.subarray(offset, offset + 512); - if (header.every(byte => byte === 0)) { - if (offset + 1024 > data.length || !data.subarray(offset).every(byte => byte === 0)) + if (header.every((byte) => byte === 0)) { + if ( + offset + 1024 > data.length || + !data.subarray(offset).every((byte) => byte === 0) + ) throw new Error("Incomplete tar end marker or trailing payload"); terminated = true; break; } let checksum = 0; - for (let i = 0; i < 512; i++) checksum += i >= 148 && i < 156 ? 32 : header[i]!; - if (number(header.subarray(148, 156)) !== checksum) throw new Error("Tar header checksum mismatch"); + for (let i = 0; i < 512; i++) + checksum += i >= 148 && i < 156 ? 32 : header[i]!; + if (number(header.subarray(148, 156)) !== checksum) + throw new Error("Tar header checksum mismatch"); const attributes = { ...global, ...local }; - if (Object.keys(attributes).some(key => key.startsWith("GNU.sparse.") || key === "SCHILY.realsize")) + if ( + Object.keys(attributes).some( + (key) => key.startsWith("GNU.sparse.") || key === "SCHILY.realsize", + ) + ) throw new Error("Sparse tar payload needs a sparse-aware archive owner"); - const size = attributes.size === undefined ? number(header.subarray(124, 136)) : Number(attributes.size); + const size = + attributes.size === undefined + ? number(header.subarray(124, 136)) + : Number(attributes.size); const start = offset + 512; - if (!Number.isSafeInteger(size) || size < 0 || size > data.length - start) throw new Error("Truncated tar payload"); + if (!Number.isSafeInteger(size) || size < 0 || size > data.length - start) + throw new Error("Truncated tar payload"); const payload = data.subarray(start, start + size); const flag = header[156] ?? 0; offset = start + Math.ceil(size / 512) * 512; if (flag === 120 || flag === 103) { - if (size > LIMITS.metadata) throw new Error("Tar PAX metadata exceeds limit"); + if (size > LIMITS.metadata) + throw new Error("Tar PAX metadata exceeds limit"); if (flag === 103) global = { ...global, ...pax(payload) }; else local = { ...local, ...pax(payload) }; continue; } if (flag === 76 || flag === 75) { if (size > 65536) throw new Error("GNU tar name exceeds limit"); - local[flag === 76 ? "path" : "linkpath"] = string(payload).replace(/\n$/, ""); + local[flag === 76 ? "path" : "linkpath"] = string(payload).replace( + /\n$/, + "", + ); continue; } // Old GNU headers use this region for timestamps and sparse metadata, not the ustar prefix. - const prefix = decoder.decode(header.subarray(257, 263)) === "ustar\0" ? string(header.subarray(345, 500)) : ""; - const raw = attributes.path ?? `${prefix ? `${prefix}/` : ""}${string(header.subarray(0, 100))}`; + const prefix = + decoder.decode(header.subarray(257, 263)) === "ustar\0" + ? string(header.subarray(345, 500)) + : ""; + const raw = + attributes.path ?? + `${prefix ? `${prefix}/` : ""}${string(header.subarray(0, 100))}`; local = Object.create(null); if (raw === "." || raw === "./") continue; const path = safePath(raw); @@ -109,7 +138,8 @@ export function tar(data: Uint8Array): PayloadEntry[] { link, data: kind === "file" ? payload : new Uint8Array(), }); - if (entries.length > LIMITS.entries) throw new Error("Tar entry count exceeds limit"); + if (entries.length > LIMITS.entries) + throw new Error("Tar entry count exceeds limit"); } if (!terminated) throw new Error("Tar has no complete end marker"); return entries; diff --git a/packages/package-converter/src/types.ts b/packages/package-converter/src/types.ts index 4ce927bddc..f6205586cd 100644 --- a/packages/package-converter/src/types.ts +++ b/packages/package-converter/src/types.ts @@ -1,8 +1,16 @@ // SPDX-License-Identifier: MIT import { hashContent } from "@aphrody/bun-workspace/hash"; -export type Ecosystem = "debian" | "ubuntu" | "cosmic" | "alpm" | "msys2" | "mingw" | "cygwin"; -export type InputFormat = "deb" | "deb822" | "pkginfo" | "srcinfo" | "cygwin" | "alpm-archive" | "source-archive"; +export type Ecosystem = + "debian" | "ubuntu" | "cosmic" | "alpm" | "msys2" | "mingw" | "cygwin"; +export type InputFormat = + | "deb" + | "deb822" + | "pkginfo" + | "srcinfo" + | "cygwin" + | "alpm-archive" + | "source-archive"; export type Fields = Record; export interface SourceArtifact { @@ -49,9 +57,16 @@ export interface Abi { export interface Inspection { schema: 1; input: { path: string; sha256: string; size: number; format: InputFormat }; - companion?: { path: string; sha256: string; size: number; format: InputFormat }; + companion?: { + path: string; + sha256: string; + size: number; + format: InputFormat; + }; packages: PackageRecord[]; - payload: Array & { size: number; sha256?: string; abi?: Abi }>; + payload: Array< + Omit & { size: number; sha256?: string; abi?: Abi } + >; } export interface Limits { @@ -74,8 +89,10 @@ export const decoder = new TextDecoder("utf-8", { fatal: true }); export const sha256 = hashContent; export function safePath(value: string): string { - if (value.startsWith("/") || /[\\:\0\r\n]/.test(value)) throw new Error(`Unsafe archive path: ${value}`); - const parts = value.split("/").filter(part => part !== "." && part !== ""); - if (!parts.length || parts.some(part => part === "..")) throw new Error(`Unsafe archive path: ${value}`); + if (value.startsWith("/") || /[\\:\0\r\n]/.test(value)) + throw new Error(`Unsafe archive path: ${value}`); + const parts = value.split("/").filter((part) => part !== "." && part !== ""); + if (!parts.length || parts.some((part) => part === "..")) + throw new Error(`Unsafe archive path: ${value}`); return parts.join("/"); } diff --git a/packages/package-converter/src/zstd.ts b/packages/package-converter/src/zstd.ts index c14a222d25..fed539716f 100644 --- a/packages/package-converter/src/zstd.ts +++ b/packages/package-converter/src/zstd.ts @@ -16,7 +16,8 @@ export function boundedZstd(data: Uint8Array): Uint8Array { throw new Error("Expected one bounded Zstandard frame"); let offset = 4; const take = (size: number): Uint8Array => { - if (size > data.length - offset) throw new Error("Truncated Zstandard frame"); + if (size > data.length - offset) + throw new Error("Truncated Zstandard frame"); const bytes = data.subarray(offset, offset + size); offset += size; return bytes; @@ -24,11 +25,13 @@ export function boundedZstd(data: Uint8Array): Uint8Array { const integer = (size: number): bigint => { const bytes = take(size); let value = 0n; - for (let index = bytes.length - 1; index >= 0; index--) value = value * 256n + BigInt(bytes[index]!); + for (let index = bytes.length - 1; index >= 0; index--) + value = value * 256n + BigInt(bytes[index]!); return value; }; const descriptor = take(1)[0]!; - if (descriptor & 8) throw new Error("Reserved Zstandard frame descriptor bit"); + if (descriptor & 8) + throw new Error("Reserved Zstandard frame descriptor bit"); const single = !!(descriptor & 32); const contentFlag = descriptor >> 6; let window = 0; @@ -36,12 +39,17 @@ export function boundedZstd(data: Uint8Array): Uint8Array { const descriptor = take(1)[0]!; const base = 2 ** (10 + (descriptor >> 3)); window = base + (base / 8) * (descriptor & 7); - if (window > LIMITS.unpacked) throw new Error("Zstandard window exceeds byte limit"); + if (window > LIMITS.unpacked) + throw new Error("Zstandard window exceeds byte limit"); } const dictionarySize = [0, 1, 2, 4][descriptor & 3]!; - if (integer(dictionarySize) !== 0n) throw new Error("Zstandard dictionary is not configured"); - const contentSizeBytes = contentFlag === 0 ? (single ? 1 : 0) : [0, 2, 4, 8][contentFlag]!; - const contentSize = contentSizeBytes ? integer(contentSizeBytes) + (contentSizeBytes === 2 ? 256n : 0n) : undefined; + if (integer(dictionarySize) !== 0n) + throw new Error("Zstandard dictionary is not configured"); + const contentSizeBytes = + contentFlag === 0 ? (single ? 1 : 0) : [0, 2, 4, 8][contentFlag]!; + const contentSize = contentSizeBytes + ? integer(contentSizeBytes) + (contentSizeBytes === 2 ? 256n : 0n) + : undefined; if (contentSize !== undefined && contentSize > BigInt(LIMITS.unpacked)) throw new Error("Zstandard decoded size exceeds byte limit"); if (single) window = Number(contentSize); @@ -50,27 +58,37 @@ export function boundedZstd(data: Uint8Array): Uint8Array { let knownOutput = 0; let blocks = 0; for (;;) { - if (++blocks > LIMITS.entries) throw new Error("Zstandard block count exceeds limit"); + if (++blocks > LIMITS.entries) + throw new Error("Zstandard block count exceeds limit"); const header = take(3); const value = header[0]! + (header[1]! << 8) + (header[2]! << 16); const last = !!(value & 1); const type = (value >> 1) & 3; const size = value >>> 3; - if (type === 3 || size > blockMaximum) throw new Error("Invalid Zstandard block size or type"); + if (type === 3 || size > blockMaximum) + throw new Error("Invalid Zstandard block size or type"); worstOutput += type === 2 ? blockMaximum : size; if (type !== 2) knownOutput += size; - if (worstOutput > LIMITS.unpacked || (contentSize !== undefined && BigInt(knownOutput) > contentSize)) + if ( + worstOutput > LIMITS.unpacked || + (contentSize !== undefined && BigInt(knownOutput) > contentSize) + ) throw new Error("Zstandard blocks exceed decoded byte bound"); take(type === 1 ? 1 : size); if (last) break; } if (descriptor & 4) take(4); if (offset !== data.length) - throw new Error("Zstandard trailing data, skippable frames or multiple frames are not accepted"); + throw new Error( + "Zstandard trailing data, skippable frames or multiple frames are not accepted", + ); if (contentSize !== undefined && BigInt(worstOutput) < contentSize) throw new Error("Zstandard declared size exceeds its block output bound"); const decoded = Bun.zstdDecompressSync(data); - if (decoded.length > worstOutput || (contentSize !== undefined && decoded.length !== Number(contentSize))) + if ( + decoded.length > worstOutput || + (contentSize !== undefined && decoded.length !== Number(contentSize)) + ) throw new Error("Zstandard decoded size differs from its frame bounds"); return decoded; } diff --git a/packages/product/README.md b/packages/product/README.md index 60c6611b00..f93aa7ec59 100644 --- a/packages/product/README.md +++ b/packages/product/README.md @@ -1,4 +1,5 @@ + # Aphrody Un seul produit Aphrody possède les parcours d’installation, d’administration, diff --git a/packages/product/resources/creator/docs-challonge.md b/packages/product/resources/creator/docs-challonge.md index 479c44f666..a9afecfbc8 100644 --- a/packages/product/resources/creator/docs-challonge.md +++ b/packages/product/resources/creator/docs-challonge.md @@ -71,7 +71,12 @@ Variables d'environnement (prioritaires), puis fichier optionnel `~/.config/crea "communityId": "ma-communaute", "game": "Guilty Gear Strive", "announceWebhook": "https://discord.com/api/webhooks//", - "discord": { "appId": "…", "guildId": "…", "organiserRoleId": "…", "batchRegistrations": false } + "discord": { + "appId": "…", + "guildId": "…", + "organiserRoleId": "…", + "batchRegistrations": false + } } ``` diff --git a/packages/product/resources/creator/extensions/yt-subs-sorter/popup/popup.html b/packages/product/resources/creator/extensions/yt-subs-sorter/popup/popup.html index b8c02bd8a1..d9b03eecb9 100644 --- a/packages/product/resources/creator/extensions/yt-subs-sorter/popup/popup.html +++ b/packages/product/resources/creator/extensions/yt-subs-sorter/popup/popup.html @@ -11,7 +11,9 @@

    Mes groupes

      - +
      - +
      @@ -29,10 +35,12 @@

      Réglages

      Masquer les Shorts du + flux Masquer les vidéos déjà + vues Pastilles de groupe sur les + miniatures